diff --git a/AGENTS.md b/AGENTS.md index a34c8f6..6f201ef 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -57,3 +57,12 @@ You are an expert in TypeScript, Angular, and scalable web application developme - Use the `providedIn: 'root'` option for singleton services - Prefer the `@Service` decorator over `@Injectable({providedIn: 'root'})` for new singleton services (Angular v22+) - Use the `inject()` function instead of constructor injection + +## Serving Locally + +- **Demo app (SSR):** `pnpm build --configuration development && node dist/angular-devtools/server/server.mjs` → http://localhost:4000 +- **Devtools SPA (hot reload):** `pnpm devtools:dev` → http://localhost:5173 (requires the SSR server running for RPC data) +- **Demo app (SPA, no SSR):** `pnpm start` → http://localhost:4200 (runs `ng serve` with SSR and hot reload; devtools popup + RPC work without a separate server) +- The devtools popup appears on the demo app page; click it to open the inspector panel +- Changes to `app/src/` (devtools SPA) are only visible via `pnpm devtools:dev`; the SSR server serves the npm-published assets +- To publish updated SPA assets: update versions in `packages/ng-devtools/package.json` and `packages/ng-devtools-assets/package.json`, then run `pnpm devtools:publish` (builds and publishes both `ng-devtools` and `ng-devtools-assets` to npm) diff --git a/app/src/pages/component-tree.ts b/app/src/pages/component-tree.ts index f352650..d30c2de 100644 --- a/app/src/pages/component-tree.ts +++ b/app/src/pages/component-tree.ts @@ -40,62 +40,61 @@ interface ProviderEntry { } @else { } - - @if (selected()) { - - } `, styles: ` .toolbar { @@ -143,13 +142,26 @@ interface ProviderEntry { background: #18181b; border: 1px solid #27272a; border-radius: 8px; - padding: 12px 16px; - cursor: pointer; + padding: 0; transition: border-color 0.15s; } - .component-item:hover { + .component-item:has(.component-toggle:hover) { + border-color: var(--accent); + } + .component-item.expanded { border-color: var(--accent); } + .component-toggle { + display: block; + width: 100%; + padding: 12px 16px; + background: none; + border: none; + color: inherit; + text-align: left; + cursor: pointer; + font: inherit; + } .selector { font-family: monospace; font-size: 15px; @@ -169,18 +181,34 @@ interface ProviderEntry { .io .label { color: #71717a; } - .detail { - margin-top: 16px; - padding: 16px; - background: #18181b; - border: 1px solid #27272a; - border-radius: 8px; + .inline-detail { + padding: 0 16px 12px; + border-top: 1px solid #27272a; + margin-top: 0; + padding-top: 12px; } - .detail h3 { - font-family: monospace; - color: var(--accent); + .prop-list { + list-style: none; + padding: 0; + display: flex; + flex-wrap: wrap; + gap: 6px; margin-bottom: 12px; } + .prop-chip { + font-family: monospace; + font-size: 12px; + padding: 3px 8px; + border-radius: 4px; + } + .input-chip { + background: #1e3a5f; + color: #93c5fd; + } + .output-chip { + background: #3b1d1d; + color: #fca5a5; + } dl { display: grid; grid-template-columns: auto 1fr; @@ -279,14 +307,34 @@ export class ComponentTree { this.allProviders.set(providers); const sel = this.selected(); if (sel) { - this.selectedProviders.set(providers.filter((p) => p.file === sel.file)); + const refreshed = comps.find((c) => c.selector === sel.selector); + if (refreshed) { + this.selected.set(refreshed); + this.selectedProviders.set(providers.filter((p) => p.file === refreshed.file)); + } else { + this.selected.set(null); + this.selectedProviders.set([]); + } } } finally { this.loading.set(false); } } + isSelected(comp: ComponentInfo): boolean { + return this.selected()?.selector === comp.selector; + } + select(comp: ComponentInfo) { + if (this.isSelected(comp)) { + this.selected.set(null); + this.selectedProviders.set([]); + const client = this.rpc(); + if (client) { + client.scope('ng-devtools').rpc.callEvent('select-component', null); + } + return; + } this.selected.set(comp); this.selectedProviders.set(this.allProviders().filter((p) => p.file === comp.file)); const client = this.rpc(); diff --git a/extension/ui/assets/browser-agent-rpc-BXhoSh1z-C4PjrSs6.js b/extension/ui/assets/browser-agent-rpc-BXhoSh1z-CIejKvBJ.js similarity index 93% rename from extension/ui/assets/browser-agent-rpc-BXhoSh1z-C4PjrSs6.js rename to extension/ui/assets/browser-agent-rpc-BXhoSh1z-CIejKvBJ.js index 07fcfce..189f7ce 100644 --- a/extension/ui/assets/browser-agent-rpc-BXhoSh1z-C4PjrSs6.js +++ b/extension/ui/assets/browser-agent-rpc-BXhoSh1z-CIejKvBJ.js @@ -1 +1 @@ -import{t as e}from"./index-KMcCjGxa.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-BhFbvoaj.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-BhFbvoaj.js b/extension/ui/assets/index-BhFbvoaj.js new file mode 100644 index 0000000..dfd2e39 --- /dev/null +++ b/extension/ui/assets/index-BhFbvoaj.js @@ -0,0 +1,1170 @@ +(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var e=Object.defineProperty,t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,i=(t,n,r)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[n]=r,a=(e,a)=>{for(var o in a||={})n.call(a,o)&&i(e,o,a[o]);if(t)for(var o of t(a))r.call(a,o)&&i(e,o,a[o]);return e},o=(e,t,n)=>(i(e,typeof t==`symbol`?t:t+``,n),n),s=globalThis;function c(e){let t=s.__Zone_symbol_prefix;return(typeof t==`string`?t:`__zone_symbol__`)+e}function l(){let e=s.performance;function t(t){e&&e.mark&&e.mark(t)}function n(t,n){e&&e.measure&&e.measure(t,n)}t(`Zone`);let r=class e{constructor(e,t){o(this,`_parent`),o(this,`_name`),o(this,`_properties`),o(this,`_zoneDelegate`),this._parent=e,this._name=t?t.name||`unnamed`:``,this._properties=t&&t.properties||{},this._zoneDelegate=new l(this,this._parent&&this._parent._zoneDelegate,t)}static assertZonePatched(){if(s.Promise!==ae.ZoneAwarePromise)throw Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let t=e.current;for(;t.parent;)t=t.parent;return t}static get current(){return E.zone}static get currentTask(){return se}static __load_patch(r,i,a=!1){if(Object.hasOwn(ae,r)){let e=s[c(`forceDuplicateZoneCheck`)]===!0;if(!a&&e)throw Error(`Already loaded patch: `+r)}else if(!s[`__Zone_disable_`+r]){let a=`Zone:`+r;t(a),ae[r]=i(s,e,oe),n(a,a)}}get parent(){return this._parent}get name(){return this._name}get(e){let t=this.getZoneWith(e);if(t)return t._properties[e]}getZoneWith(e){let t=this;for(;t;){if(Object.hasOwn(t._properties,e))return t;t=t._parent}return null}fork(e){if(!e)throw Error(`ZoneSpec required!`);return this._zoneDelegate.fork(this,e)}wrap(e,t){if(typeof e!=`function`)throw Error(`Expecting function got: `+e);let n=this._zoneDelegate.intercept(this,e,t),r=this;return function(){return r.runGuarded(n,this,arguments,t)}}run(e,t,n,r){E={parent:E,zone:this};try{return this._zoneDelegate.invoke(this,e,t,n,r)}finally{E=E.parent}}runGuarded(e,t=null,n,r){E={parent:E,zone:this};try{try{return this._zoneDelegate.invoke(this,e,t,n,r)}catch(e){if(this._zoneDelegate.handleError(this,e))throw e}}finally{E=E.parent}}runTask(e,t,n){if(e.zone!=this)throw Error(`A task can only be run in the zone of creation! (Creation: `+(e.zone||ee).name+`; Execution: `+this.name+`)`);let r=e,{type:i,data:{isPeriodic:a=!1,isRefreshable:o=!1}={}}=e;if(e.state===te&&(i===T||i===ie))return;let s=e.state!=S;s&&r._transitionTo(S,x);let c=se;se=r,E={parent:E,zone:this};try{i==ie&&e.data&&!a&&!o&&(e.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,r,t,n)}catch(e){if(this._zoneDelegate.handleError(this,e))throw e}}finally{let t=e.state;if(t!==te&&t!==re){if(i==T||a||o&&t===ne)s&&r._transitionTo(x,S,ne);else{let e=r._zoneDelegates;this._updateTaskCount(r,-1),s&&r._transitionTo(te,S,te),o&&(r._zoneDelegates=e)}}E=E.parent,se=c}}scheduleTask(e){if(e.zone&&e.zone!==this){let t=this;for(;t;){if(t===e.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${e.zone.name}`);t=t.parent}}e._transitionTo(ne,te);let t=[];e._zoneDelegates=t,e._zone=this;try{e=this._zoneDelegate.scheduleTask(this,e)}catch(t){throw e._transitionTo(re,ne,te),this._zoneDelegate.handleError(this,t),t}return e._zoneDelegates===t&&this._updateTaskCount(e,1),e.state==ne&&e._transitionTo(x,ne),e}scheduleMicroTask(e,t,n,r){return this.scheduleTask(new u(w,e,t,n,r,void 0))}scheduleMacroTask(e,t,n,r,i){return this.scheduleTask(new u(ie,e,t,n,r,i))}scheduleEventTask(e,t,n,r,i){return this.scheduleTask(new u(T,e,t,n,r,i))}cancelTask(e){if(e.zone!=this)throw Error(`A task can only be cancelled in the zone of creation! (Creation: `+(e.zone||ee).name+`; Execution: `+this.name+`)`);if(e.state===x||e.state===S){e._transitionTo(C,x,S);try{this._zoneDelegate.cancelTask(this,e)}catch(t){throw e._transitionTo(re,C),this._zoneDelegate.handleError(this,t),t}return this._updateTaskCount(e,-1),e._transitionTo(te,C),e.runCount=-1,e}}_updateTaskCount(e,t){let n=e._zoneDelegates;t==-1&&(e._zoneDelegates=null);for(let r=0;re.hasTask(n,r),onScheduleTask:(e,t,n,r)=>e.scheduleTask(n,r),onInvokeTask:(e,t,n,r,i,a)=>e.invokeTask(n,r,i,a),onCancelTask:(e,t,n,r)=>e.cancelTask(n,r)};class l{constructor(e,t,n){o(this,`_zone`),o(this,`_taskCounts`,{microTask:0,macroTask:0,eventTask:0}),o(this,`_forkDlgt`),o(this,`_forkZS`),o(this,`_forkCurrZone`),o(this,`_interceptDlgt`),o(this,`_interceptZS`),o(this,`_interceptCurrZone`),o(this,`_invokeDlgt`),o(this,`_invokeZS`),o(this,`_invokeCurrZone`),o(this,`_handleErrorDlgt`),o(this,`_handleErrorZS`),o(this,`_handleErrorCurrZone`),o(this,`_scheduleTaskDlgt`),o(this,`_scheduleTaskZS`),o(this,`_scheduleTaskCurrZone`),o(this,`_invokeTaskDlgt`),o(this,`_invokeTaskZS`),o(this,`_invokeTaskCurrZone`),o(this,`_cancelTaskDlgt`),o(this,`_cancelTaskZS`),o(this,`_cancelTaskCurrZone`),o(this,`_hasTaskDlgt`),o(this,`_hasTaskDlgtOwner`),o(this,`_hasTaskZS`),o(this,`_hasTaskCurrZone`),this._zone=e,this._forkZS=n&&(n&&n.onFork?n:t._forkZS),this._forkDlgt=n&&(n.onFork?t:t._forkDlgt),this._forkCurrZone=n&&(n.onFork?this._zone:t._forkCurrZone),this._interceptZS=n&&(n.onIntercept?n:t._interceptZS),this._interceptDlgt=n&&(n.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=n&&(n.onIntercept?this._zone:t._interceptCurrZone),this._invokeZS=n&&(n.onInvoke?n:t._invokeZS),this._invokeDlgt=n&&(n.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=n&&(n.onInvoke?this._zone:t._invokeCurrZone),this._handleErrorZS=n&&(n.onHandleError?n:t._handleErrorZS),this._handleErrorDlgt=n&&(n.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=n&&(n.onHandleError?this._zone:t._handleErrorCurrZone),this._scheduleTaskZS=n&&(n.onScheduleTask?n:t._scheduleTaskZS),this._scheduleTaskDlgt=n&&(n.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=n&&(n.onScheduleTask?this._zone:t._scheduleTaskCurrZone),this._invokeTaskZS=n&&(n.onInvokeTask?n:t._invokeTaskZS),this._invokeTaskDlgt=n&&(n.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=n&&(n.onInvokeTask?this._zone:t._invokeTaskCurrZone),this._cancelTaskZS=n&&(n.onCancelTask?n:t._cancelTaskZS),this._cancelTaskDlgt=n&&(n.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=n&&(n.onCancelTask?this._zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;let r=n&&n.onHasTask,i=t&&t._hasTaskZS;(r||i)&&(this._hasTaskZS=r?n:a,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=this._zone,n.onScheduleTask||(this._scheduleTaskZS=a,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this._zone),n.onInvokeTask||(this._invokeTaskZS=a,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this._zone),n.onCancelTask||(this._cancelTaskZS=a,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this._zone))}get zone(){return this._zone}fork(e,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,e,t):new i(e,t)}intercept(e,t,n){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,e,t,n):t}invoke(e,t,n,r,i){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,e,t,n,r,i):t.apply(n,r)}handleError(e,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,e,t)}scheduleTask(e,t){let n=t;if(this._scheduleTaskZS)this._hasTaskZS&&n._zoneDelegates.push(this._hasTaskDlgtOwner),n=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,e,t),n||=t;else if(t.scheduleFn)t.scheduleFn(t);else if(t.type==w)y(t);else throw Error(`Task is missing scheduleFn.`);return n}invokeTask(e,t,n,r){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,e,t,n,r):t.callback.apply(n,r)}cancelTask(e,t){let n;if(this._cancelTaskZS)n=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,e,t);else{if(!t.cancelFn)throw Error(`Task is not cancelable`);n=t.cancelFn(t)}return n}hasTask(e,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,e,t)}catch(t){this.handleError(e,t)}}_updateTaskCount(e,t){let n=this._taskCounts,r=n[e],i=n[e]=r+t;if(i<0)throw Error(`More tasks executed then were scheduled.`);if(r==0||i==0){let t={microTask:n.microTask>0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:e};this.hasTask(this._zone,t)}}}class u{constructor(e,t,n,r,i,a){if(o(this,`type`),o(this,`source`),o(this,`invoke`),o(this,`callback`),o(this,`data`),o(this,`scheduleFn`),o(this,`cancelFn`),o(this,`_zone`,null),o(this,`runCount`,0),o(this,`_zoneDelegates`,null),o(this,`_state`,`notScheduled`),this.type=e,this.source=t,this.data=r,this.scheduleFn=i,this.cancelFn=a,!n)throw Error(`callback is not defined`);this.callback=n;let c=this;this.invoke=e===T&&r&&r.useG?u.invokeTask:function(){return u.invokeTask.call(s,c,this,arguments)}}static invokeTask(e,t,n){e||=this,ce++;try{return e.runCount++,e.zone.runTask(e,t,n)}finally{try{ce===1&&!s[m]&&b()}finally{ce--}}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(te,ne)}_transitionTo(e,t,n){if(this._state===t||this._state===n)this._state=e,e==te&&(this._zoneDelegates=null);else throw Error(`${this.type} '${this.source}': can not transition to '${e}', expecting state '${t}'${n?` or '`+n+`'`:``}, was '${this._state}'.`)}toString(){return this.data&&this.data.handleId!==void 0?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}let d=c(`setTimeout`),f=c(`Promise`),p=c(`then`),m=c(`enable_native_microtask_draining`),h=[],g=!1,_;function v(e){!_&&s[f]&&(_=s[f].resolve(0)),_?(_[p]??_.then).call(_,e):s[d](e,0)}function y(e){let t=s[m],n=t&&h.length===0&&!g,r=!t&&ce===0&&h.length===0;(n||r)&&v(b),e&&h.push(e)}function b(){if(!g){g=!0;try{for(;h.length;){let e=h;h=[];for(let t of e)try{t.zone.runTask(t,null,null)}catch(e){oe.onUnhandledError(e)}}}finally{if(s[m])g=!1,oe.microtaskDrainDone();else try{oe.microtaskDrainDone()}finally{g=!1}}}}let ee={name:`NO ZONE`},te=`notScheduled`,ne=`scheduling`,x=`scheduled`,S=`running`,C=`canceling`,re=`unknown`,w=`microTask`,ie=`macroTask`,T=`eventTask`,ae=Object.create(null),oe={symbol:c,currentZoneFrame:()=>E,onUnhandledError:le,microtaskDrainDone:le,scheduleMicroTask:y,showUncaughtError:()=>!i[c(`ignoreConsoleErrorUncaughtError`)],patchEventTarget:()=>[],patchOnProperties:le,patchMethod:()=>le,bindArguments:()=>[],patchThen:()=>le,patchMacroTask:()=>le,patchEventPrototype:()=>le,getGlobalObjects:()=>void 0,ObjectDefineProperty:()=>le,ObjectGetOwnPropertyDescriptor:()=>void 0,ObjectCreate:()=>void 0,ArraySlice:()=>[],patchClass:()=>le,wrapWithCurrentZone:()=>le,filterProperties:()=>[],attachOriginToPatched:()=>le,_redefineProperty:()=>le,patchCallbacks:()=>le,nativeScheduleMicroTask:v},E={parent:null,zone:new i(null,null)},se=null,ce=0;function le(){}return n(`Zone`,`Zone`),i}function u(){let e=globalThis,t=e[c(`forceDuplicateZoneCheck`)]===!0;if(e.Zone&&(t||typeof e.Zone.__symbol__!=`function`))throw Error(`Zone already loaded.`);return e.Zone??=l(),e.Zone}var d=Object.getOwnPropertyDescriptor,f=Object.defineProperty,p=Object.getPrototypeOf,m=Object.create,h=Array.prototype.slice,g=`addEventListener`,_=`removeEventListener`,v=c(g),y=c(_),b=`true`,ee=`false`,te=c(``);function ne(e,t){return Zone.current.wrap(e,t)}function x(e,t,n,r,i){return Zone.current.scheduleMacroTask(e,t,n,r,i)}var S=c,C=typeof window<`u`,re=C?window:void 0,w=C&&re||globalThis,ie=`removeAttribute`;function T(e,t){for(let n=e.length-1;n>=0;n--)typeof e[n]==`function`&&(e[n]=ne(e[n],t+`_`+n));return e}function ae(e,t){let n=e.constructor.name;for(let r=0;r{let t=function(){return e.apply(this,T(arguments,n+`.`+i))};return ye(t,e),t})(a)}}}function oe(e){return e?e.writable===!1?!1:typeof e.get!=`function`||e.set!==void 0:!0}var E=typeof WorkerGlobalScope<`u`&&self instanceof WorkerGlobalScope,se=!(`nw`in w)&&w.process!==void 0&&w.process.toString()===`[object process]`,ce=!se&&!E&&!!(C&&re.HTMLElement),le=w.process!==void 0&&w.process.toString()===`[object process]`&&!E&&!!(C&&re.HTMLElement),ue=Object.create(null),de=S(`enable_beforeunload`),fe=function(e){if(e||=w.event,!e)return;let t=ue[e.type];t||=ue[e.type]=S(`ON_PROPERTY`+e.type);let n=this||e.target||w,r=n[t],i;if(ce&&n===re&&e.type===`error`){let t=e;i=r&&r.call(this,t.message,t.filename,t.lineno,t.colno,t.error),i===!0&&e.preventDefault()}else i=r&&r.apply(this,arguments),e.type===`beforeunload`&&w[de]&&typeof i==`string`?e.returnValue=i:i!=null&&!i&&e.preventDefault();return i};function pe(e,t,n){let r=d(e,t);if(!r&&n&&d(n,t)&&(r={enumerable:!0,configurable:!0}),!r||!r.configurable)return;let i=S(`on`+t+`patched`);if(Object.hasOwn(e,i)&&e[i])return;delete r.writable,delete r.value;let a=r.get,o=r.set,s=t.slice(2),c=ue[s];c||=ue[s]=S(`ON_PROPERTY`+s),r.set=function(t){let n=this;!n&&e===w&&(n=w),n&&(typeof n[c]==`function`&&n.removeEventListener(s,fe),o?.call(n,null),n[c]=t,typeof t==`function`&&n.addEventListener(s,fe,!1))},r.get=function(){let n=this;if(!n&&e===w&&(n=w),!n)return null;let i=n[c];if(i)return i;if(a){let e=a.call(this);if(e)return r.set.call(this,e),typeof n[ie]==`function`&&n.removeAttribute(t),e}return null},f(e,t,r),e[i]=!0}function me(e,t,n){if(t)for(let r=0;rfunction(t,r){let a=n(t,r);return a.cbIdx>=0&&typeof r[a.cbIdx]==`function`?x(a.name,r[a.cbIdx],a,i):e.apply(t,r)})}function ye(e,t){e[S(`OriginalDelegate`)]=t}function be(e){return typeof e==`function`}function xe(e){return typeof e==`number`}var Se={useG:!0},Ce=Object.create(null),we={},Te=RegExp(`^`+te+`(\\w+)(true|false)$`),Ee=S(`propagationStopped`),De=[`capture`,`once`,`passive`,`signal`];function Oe(e,t){let n=(t?t(e):e)+ee,r=(t?t(e):e)+b,i=te+n,a=te+r;Ce[e]={[ee]:i,[b]:a}}function ke(e,t,n,r){let i=r&&r.add||g,o=r&&r.rm||_,s=r&&r.listeners||`eventListeners`,c=r&&r.rmAll||`removeAllListeners`,l=S(i),u=`.`+i+`:`,d=function(e,t,n){if(e.isRemoved)return;let r=e.callback;typeof r==`object`&&r.handleEvent&&(e.callback=e=>r.handleEvent(e),e.originalDelegate=r);let i;try{e.invoke(e,t,[n])}catch(e){i=e}let a=e.options;if(a&&typeof a==`object`&&a.once){let r=e.originalDelegate?e.originalDelegate:e.callback;t[o].call(t,n.type,r,a)}return i};function f(n,r,i){if(r||=e.event,!r)return;let a=n||r.target||e,o=a[Ce[r.type][i?b:ee]];if(o){let e=[];if(o.length===1){let t=d(o[0],a,r);t&&e.push(t)}else{let t=o.slice();for(let n=0;n{throw r})}}}let m=function(e){return f(this,e,!1)},h=function(e){return f(this,e,!0)};function v(t,n){if(!t)return!1;let r=!0;n&&n.useG!==void 0&&(r=n.useG);let d=n&&n.vh,f=!0;n&&n.chkDup!==void 0&&(f=n.chkDup);let g=!1;n&&n.rt!==void 0&&(g=n.rt);let _=t;for(;_&&!Object.hasOwn(_,i);)_=p(_);if(!_&&t[i]&&(_=t),!_||_[l])return!1;let v=n&&n.eventNameToString,y={},ne=_[l]=_[i],x=_[S(o)]=_[o],C=_[S(s)]=_[s],re=_[S(c)]=_[c],w;n&&n.prepend&&(w=_[S(n.prepend)]=_[n.prepend]);function ie(e,t){return t?typeof e==`boolean`?{capture:e,passive:!0}:e?(typeof e==`object`&&e.passive!==!1&&(e.passive=!0),e):{passive:!0}:e}let T=function(e){if(!y.isExisting)return ne.call(y.target,y.eventName,y.capture?h:m,y.options)},ae=function(e){if(!e.isRemoved){let t=Ce[e.eventName],n;t&&(n=t[e.capture?b:ee]);let r=n&&e.target[n];if(r){for(let t=0;tce.zone.cancelTask(ce);t.call(_,`abort`,e,{once:!0}),ce.removeAbortListener=()=>_.removeEventListener(`abort`,e)}if(y.target=null,E&&(E.taskData=null),ne&&(y.options.once=!0),typeof ce.options!=`boolean`&&(ce.options=g),ce.target=l,ce.capture=te,ce.eventName=u,m&&(ce.originalDelegate=p),c?re.unshift(ce):re.push(ce),s)return l}};return _[i]=he(ne,u,le,ue,g),w&&(_.prependListener=he(w,`.prependListener:`,E,ue,g,!0)),_[o]=function(){let t=this||e,r=arguments[0];n&&n.transferEventName&&(r=n.transferEventName(r));let i=arguments[2],a=i?typeof i==`boolean`||i.capture:!1,o=arguments[1];if(!o)return x.apply(this,arguments);if(d&&!d(x,o,t,arguments))return;let s=Ce[r],c;s&&(c=s[a?b:ee]);let l=c&&t[c];if(l)for(let e=0;efunction(t,n){t[Ee]=!0,e&&e.apply(t,n)})}function Me(e,t){t.patchMethod(e,`queueMicrotask`,e=>function(e,t){Zone.current.scheduleMicroTask(`queueMicrotask`,t[0])})}var Ne=S(`zoneTask`);function Pe(e,t,n,r){let i=null,a=null;t+=r,n+=r;let o={};function s(t){let n=t.data;n.args[0]=function(){return t.invoke.apply(this,arguments)};let r=i.apply(e,n.args);return xe(r)?n.handleId=r:(n.handle=r,n.isRefreshable=be(r?.refresh)),t}function c(t){let{handle:n,handleId:r}=t.data;return a.call(e,n??r)}i=_e(e,t,n=>function(i,a){if(be(a[0])){let e={isRefreshable:!1,isPeriodic:r===`Interval`,delay:r===`Timeout`||r===`Interval`?a[1]||0:void 0,args:a},n=a[0];a[0]=function(){try{return n.apply(this,arguments)}finally{let{handle:t,handleId:n,isPeriodic:r,isRefreshable:i}=e;!r&&!i&&(n?delete o[n]:t&&(t[Ne]=null))}};let i=x(t,a[0],e,s,c);if(!i)return i;let{handleId:l,handle:u,isRefreshable:d,isPeriodic:f}=i.data;if(l)o[l]=i;else if(u&&(u[Ne]=i,d&&!f)){let e=u.refresh;u.refresh=function(){let{zone:t,state:n}=i;return n===`notScheduled`?(i._state=`scheduled`,t._updateTaskCount(i,1)):n===`running`&&(i._state=`scheduling`),e.call(this)}}return u??l??i}return n.apply(e,a)}),a=_e(e,n,t=>function(n,r){let i=r[0],a;xe(i)?(a=o[i],delete o[i]):(a=i?.[Ne],a?i[Ne]=null:a=i),a?.type?a.cancelFn&&a.zone.cancelTask(a):t.apply(e,r)})}function Fe(e,t){let{isBrowser:n,isMix:r}=t.getGlobalObjects();(n||r)&&e.customElements&&`customElements`in e&&t.patchCallbacks(t,e.customElements,`customElements`,`define`,[`connectedCallback`,`disconnectedCallback`,`adoptedCallback`,`attributeChangedCallback`,`formAssociatedCallback`,`formDisabledCallback`,`formResetCallback`,`formStateRestoreCallback`])}function Ie(e,t){if(Zone[t.symbol(`patchEventTarget`)])return;let{eventNames:n,zoneSymbolEventNames:r,TRUE_STR:i,FALSE_STR:a,ZONE_SYMBOL_PREFIX:o}=t.getGlobalObjects();for(let e=0;et.target===e);if(r.length===0)return t;let i=r[0].ignoreProperties;return t.filter(e=>i.indexOf(e)===-1)}function ze(e,t,n,r){e&&me(e,Re(e,t,n),r)}function Be(e){return Object.getOwnPropertyNames(e).filter(e=>e.startsWith(`on`)&&e.length>2).map(e=>e.substring(2))}function Ve(e,t){if(se&&!le||Zone[e.symbol(`patchEvents`)])return;let n=t.__Zone_ignore_on_properties,r=[];if(ce){let e=window;r=r.concat([`Document`,`SVGElement`,`Element`,`HTMLElement`,`HTMLBodyElement`,`HTMLMediaElement`,`HTMLFrameSetElement`,`HTMLFrameElement`,`HTMLIFrameElement`,`HTMLMarqueeElement`,`Worker`]),ze(e,Be(e),n,p(e))}r=r.concat([`XMLHttpRequest`,`XMLHttpRequestEventTarget`,`IDBIndex`,`IDBRequest`,`IDBOpenDBRequest`,`IDBDatabase`,`IDBTransaction`,`IDBCursor`,`WebSocket`]);for(let e=0;e{let t=`clear`;Pe(e,`set`,t,`Timeout`),Pe(e,`set`,t,`Interval`),Pe(e,`set`,t,`Immediate`)}),e.__load_patch(`requestAnimationFrame`,e=>{Pe(e,`request`,`cancel`,`AnimationFrame`),Pe(e,`mozRequest`,`mozCancel`,`AnimationFrame`),Pe(e,`webkitRequest`,`webkitCancel`,`AnimationFrame`)}),e.__load_patch(`blocking`,(e,t)=>{let n=[`alert`,`prompt`,`confirm`];for(let r=0;rfunction(r,a){return t.current.run(n,e,a,i)})}}),e.__load_patch(`EventTarget`,(e,t,n)=>{Le(e,n),Ie(e,n);let r=e.XMLHttpRequestEventTarget;r&&r.prototype&&n.patchEventTarget(e,n,[r.prototype])}),e.__load_patch(`MutationObserver`,(e,t,n)=>{ge(`MutationObserver`),ge(`WebKitMutationObserver`)}),e.__load_patch(`IntersectionObserver`,(e,t,n)=>{ge(`IntersectionObserver`)}),e.__load_patch(`FileReader`,(e,t,n)=>{ge(`FileReader`)}),e.__load_patch(`on_property`,(e,t,n)=>{Ve(n,e)}),e.__load_patch(`customElements`,(e,t,n)=>{Fe(e,n)}),e.__load_patch(`XHR`,(e,t)=>{c(e);let n=S(`xhrTask`),r=S(`xhrSync`),i=S(`xhrListener`),a=S(`xhrScheduled`),o=S(`xhrURL`),s=S(`xhrErrorBeforeScheduled`);function c(e){let c=e.XMLHttpRequest;if(!c)return;let l=c.prototype;function u(e){return e[n]}let d=l[v],f=l[y];if(!d){let t=e.XMLHttpRequestEventTarget;if(t){let e=t.prototype;d=e[v],f=e[y]}}let p=`readystatechange`,m=`scheduled`;function h(e){let r=e.data,o=r.target;o[a]=!1,o[s]=!1;let c=o[i];d||(d=o[v],f=o[y]),c&&f.call(o,p,c);let l=o[i]=()=>{if(o.readyState===o.DONE){if(!r.aborted&&o[a]&&e.state===m){let n=o[t.__symbol__(`loadfalse`)];if(o.status!==0&&n&&n.length>0){let i=e.invoke;e.invoke=function(){let n=o[t.__symbol__(`loadfalse`)];for(let t=0;tfunction(e,t){return e[r]=t[2]==0,e[o]=t[1],b.apply(e,t)}),ee=S(`fetchTaskAborting`),te=S(`fetchTaskScheduling`),ne=_e(l,`send`,()=>function(e,n){if(t.current[te]===!0||e[r])return ne.apply(e,n);{let t={target:e,url:e[o],isPeriodic:!1,args:n,aborted:!1},r=x(`XMLHttpRequest.send`,g,t,h,_);e&&e[s]===!0&&!t.aborted&&r.state===m&&r.invoke()}}),C=_e(l,`abort`,()=>function(e,n){let r=u(e);if(r&&typeof r.type==`string`){if(r.cancelFn==null||r.data&&r.data.aborted)return;r.zone.cancelTask(r)}else if(t.current[ee]===!0)return C.apply(e,n)})}}),e.__load_patch(`geolocation`,e=>{e.navigator&&e.navigator.geolocation&&ae(e.navigator.geolocation,[`getCurrentPosition`,`watchPosition`])}),e.__load_patch(`PromiseRejectionEvent`,(e,t)=>{function n(t){return function(n){Ae(e,t).forEach(r=>{let i=e.PromiseRejectionEvent;if(i){let e=new i(t,{promise:n.promise,reason:n.rejection});r.invoke(e)}})}}e.PromiseRejectionEvent&&(t[S(`unhandledPromiseRejectionHandler`)]=n(`unhandledrejection`),t[S(`rejectionHandledHandler`)]=n(`rejectionhandled`))}),e.__load_patch(`queueMicrotask`,(e,t,n)=>{Me(e,n)})}function Ue(e){e.__load_patch(`ZoneAwarePromise`,(e,t,n)=>{let r=Object.getOwnPropertyDescriptor,i=Object.defineProperty;function a(e){return e&&e.toString===Object.prototype.toString?(e.constructor&&e.constructor.name||``)+`: `+JSON.stringify(e):e?e.toString():Object.prototype.toString.call(e)}let o=n.symbol,s=[],c=e[o(`DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION`)]!==!1,l=o(`Promise`),u=o(`then`);n.onUnhandledError=e=>{if(n.showUncaughtError()){let t=e&&e.rejection;t&&e.zone&&e.task?console.error(`Unhandled Promise rejection:`,t instanceof Error?t.message:t,`; Zone:`,e.zone.name,`; Task:`,e.task&&e.task.source,`; Value:`,t,t instanceof Error?t.stack:void 0):console.error(e)}},n.microtaskDrainDone=()=>{for(;s.length;){let e=s.shift();try{e.zone.runGuarded(()=>{throw e.throwOriginal?e.rejection:e})}catch(e){f(e)}}};let d=o(`unhandledPromiseRejectionHandler`);function f(e){n.onUnhandledError(e);try{let n=t[d];typeof n==`function`&&n.call(this,e)}catch{}}function p(e){return e&&typeof e.then==`function`}function m(e){return e}function h(e){return T.reject(e)}let g=o(`state`),_=o(`value`),v=o(`finally`),y=o(`parentPromiseValue`),b=o(`parentPromiseState`);function ee(e,t){return n=>{try{x(e,t,n)}catch(t){x(e,!1,t)}}}let te=function(){let e=!1;return function(t){return function(){e||(e=!0,t.apply(null,arguments))}}},ne=o(`currentTaskTrace`);function x(e,r,o){let l=te();if(e===o)throw TypeError(`Promise resolved with itself`);if(e[g]===null){let u=null;try{(typeof o==`object`||typeof o==`function`)&&(u=o&&o.then)}catch(t){return l(()=>{x(e,!1,t)})(),e}if(r!==!1&&o instanceof T&&Object.hasOwn(o,g)&&Object.hasOwn(o,_)&&o[g]!==null)C(o),x(e,o[g],o[_]);else if(r!==!1&&typeof u==`function`)try{u.call(o,l(ee(e,r)),l(ee(e,!1)))}catch(t){l(()=>{x(e,!1,t)})()}else{e[g]=r;let l=e[_];if(e[_]=o,e[v]===v&&r===!0&&(e[g]=e[b],e[_]=e[y]),r===!1&&o instanceof Error){let e=t.currentTask&&t.currentTask.data&&t.currentTask.data.__creationTrace__;e&&i(o,ne,{configurable:!0,enumerable:!1,writable:!0,value:e})}for(let t=0;t{try{let r=e[_],i=!!n&&v===n[v];i&&(n[y]=r,n[b]=a),x(n,!0,t.run(o,void 0,i&&o!==h&&o!==m?[]:[r]))}catch(e){x(n,!1,e)}},n)}let w=function(){},ie=e.AggregateError;class T{static toString(){return`function ZoneAwarePromise() { [native code] }`}static resolve(e){return e instanceof T?e:x(new this(null),!0,e)}static reject(e){return x(new this(null),!1,e)}static withResolvers(){let e={};return e.promise=new T((t,n)=>{e.resolve=t,e.reject=n}),e}static any(e){if(!e||typeof e[Symbol.iterator]!=`function`)return Promise.reject(new ie([],`All promises were rejected`));let t=[],n=0;try{for(let r of e)n++,t.push(T.resolve(r))}catch{return Promise.reject(new ie([],`All promises were rejected`))}if(n===0)return Promise.reject(new ie([],`All promises were rejected`));let r=!1,i=[];return new T((e,a)=>{for(let o=0;o{r||(r=!0,e(t))},e=>{i.push(e),n--,n===0&&(r=!0,a(new ie(i,`All promises were rejected`)))})})}static race(e){let t,n,r=new this((e,r)=>{t=e,n=r});function i(e){t(e)}function a(e){n(e)}for(let t of e)p(t)||(t=this.resolve(t)),t.then(i,a);return r}static all(e){return T.allWithCallback(e)}static allSettled(e){return(this&&this.prototype instanceof T?this:T).allWithCallback(e,{thenCallback:e=>({status:`fulfilled`,value:e}),errorCallback:e=>({status:`rejected`,reason:e})})}static allWithCallback(e,t){let n,r,i=new this((e,t)=>{n=e,r=t}),a=2,o=0,s=[];for(let i of e){p(i)||(i=this.resolve(i));let e=o;try{i.then(r=>{s[e]=t?t.thenCallback(r):r,a--,a===0&&n(s)},i=>{t?(s[e]=t.errorCallback(i),a--,a===0&&n(s)):r(i)})}catch(e){r(e)}a++,o++}return a-=2,a===0&&n(s),i}constructor(e){let t=this;if(!(t instanceof T))throw Error(`Must be an instanceof Promise.`);t[g]=null,t[_]=[];try{let n=te();e&&e(n(ee(t,!0)),n(ee(t,!1)))}catch(e){x(t,!1,e)}}get[Symbol.toStringTag](){return`Promise`}get[Symbol.species](){return T}then(e,n){let r=this.constructor?.[Symbol.species];(!r||typeof r!=`function`)&&(r=this.constructor||T);let i=new r(w),a=t.current;return this[g]==null?this[_].push(a,i,e,n):re(this,a,i,e,n),i}catch(e){return this.then(null,e)}finally(e){let n=this.constructor?.[Symbol.species];(!n||typeof n!=`function`)&&(n=T);let r=new n(w);r[v]=v;let i=t.current;return this[g]==null?this[_].push(i,r,e,e):re(this,i,r,e,e),r}}T.resolve=T.resolve,T.reject=T.reject,T.race=T.race,T.all=T.all;let ae=e[l]=e.Promise;e.Promise=T;let oe=o(`thenPatched`);function E(e){let t=e.prototype,n=r(t,`then`);if(n&&(n.writable===!1||!n.configurable))return;let i=t.then;t[u]=i,e.prototype.then=function(e,t){return new T((e,t)=>{i.call(this,e,t)}).then(e,t)},e[oe]=!0}n.patchThen=E;function se(e){return function(t,n){let r=e.apply(t,n);if(r instanceof T)return r;let i=r.constructor;return i[oe]||E(i),r}}if(ae){E(ae);let t=ae.try;t&&typeof t==`function`&&(T.try=t),_e(e,`fetch`,e=>se(e))}return Promise[t.__symbol__(`uncaughtPromiseErrors`)]=s,T})}function We(e){e.__load_patch(`toString`,e=>{let t=Function.prototype.toString,n=S(`OriginalDelegate`),r=S(`Promise`),i=S(`Error`),a=function(){if(typeof this==`function`){let a=this[n];if(a)return typeof a==`function`?t.call(a):Object.prototype.toString.call(a);if(this===Promise){let n=e[r];if(n)return t.call(n)}if(this===Error){let n=e[i];if(n)return t.call(n)}}return t.call(this)};a[n]=t,Function.prototype.toString=a;let o=Object.prototype.toString;Object.prototype.toString=function(){return typeof Promise==`function`&&this instanceof Promise?`[object Promise]`:o.call(this)}})}function Ge(e,t,n,r,i){let a=Zone.__symbol__(r);if(t[a])return;let o=t[a]=t[r];t[r]=function(a,s,c){return s&&s.prototype&&i.forEach(function(t){let i=`${n}.${r}::`+t,a=s.prototype;try{if(Object.hasOwn(a,t)){let n=e.ObjectGetOwnPropertyDescriptor(a,t);n&&n.value?(n.value=e.wrapWithCurrentZone(n.value,i),e._redefineProperty(s.prototype,t,n)):a[t]&&(a[t]=e.wrapWithCurrentZone(a[t],i))}else a[t]&&(a[t]=e.wrapWithCurrentZone(a[t],i))}catch{}}),o.call(t,a,s,c)},e.attachOriginToPatched(t[r],o)}function Ke(e){e.__load_patch(`util`,(e,t,n)=>{let r=Be(e);n.patchOnProperties=me,n.patchMethod=_e,n.bindArguments=T,n.patchMacroTask=ve;let i=t.__symbol__(`BLACK_LISTED_EVENTS`),a=t.__symbol__(`UNPATCHED_EVENTS`);e[a]&&(e[i]=e[a]),e[i]&&(t[i]=t[a]=e[i]),n.patchEventPrototype=je,n.patchEventTarget=ke,n.ObjectDefineProperty=f,n.ObjectGetOwnPropertyDescriptor=d,n.ObjectCreate=m,n.ArraySlice=h,n.patchClass=ge,n.wrapWithCurrentZone=ne,n.filterProperties=Re,n.attachOriginToPatched=ye,n._redefineProperty=Object.defineProperty,n.patchCallbacks=Ge,n.getGlobalObjects=()=>({globalSources:we,zoneSymbolEventNames:Ce,eventNames:r,isBrowser:ce,isMix:le,isNode:se,TRUE_STR:b,FALSE_STR:ee,ZONE_SYMBOL_PREFIX:te,ADD_EVENT_LISTENER_STR:g,REMOVE_EVENT_LISTENER_STR:_})})}function qe(e){Ue(e),We(e),Ke(e)}var Je=u();qe(Je),He(Je);var Ye=(function(e){return e[e.NONE=0]=`NONE`,e[e.HTML=1]=`HTML`,e[e.STYLE=2]=`STYLE`,e[e.SCRIPT=3]=`SCRIPT`,e[e.URL=4]=`URL`,e[e.RESOURCE_URL=5]=`RESOURCE_URL`,e[e.ATTRIBUTE_NO_BINDING=6]=`ATTRIBUTE_NO_BINDING`,e})(Ye||{}),Xe=(function(e){return e[e.None=0]=`None`,e[e.Const=1]=`Const`,e})(Xe||{}),Ze=class{modifiers;constructor(e=Xe.None){this.modifiers=e}hasModifier(e){return(this.modifiers&e)!==0}},Qe=(function(e){return e[e.Dynamic=0]=`Dynamic`,e[e.Bool=1]=`Bool`,e[e.String=2]=`String`,e[e.Int=3]=`Int`,e[e.Number=4]=`Number`,e[e.Function=5]=`Function`,e[e.Inferred=6]=`Inferred`,e[e.None=7]=`None`,e})(Qe||{}),$e=class extends Ze{name;constructor(e,t){super(t),this.name=e}visitType(e,t){return e.visitBuiltinType(this,t)}};Qe.Dynamic;var et=new $e(Qe.Inferred);Qe.Bool,Qe.Int,Qe.Number,Qe.String,Qe.Function,Qe.None;var D=(function(e){return e[e.Equals=0]=`Equals`,e[e.NotEquals=1]=`NotEquals`,e[e.Assign=2]=`Assign`,e[e.Identical=3]=`Identical`,e[e.NotIdentical=4]=`NotIdentical`,e[e.Minus=5]=`Minus`,e[e.Plus=6]=`Plus`,e[e.Divide=7]=`Divide`,e[e.Multiply=8]=`Multiply`,e[e.Modulo=9]=`Modulo`,e[e.And=10]=`And`,e[e.Or=11]=`Or`,e[e.BitwiseOr=12]=`BitwiseOr`,e[e.BitwiseAnd=13]=`BitwiseAnd`,e[e.Lower=14]=`Lower`,e[e.LowerEquals=15]=`LowerEquals`,e[e.Bigger=16]=`Bigger`,e[e.BiggerEquals=17]=`BiggerEquals`,e[e.NullishCoalesce=18]=`NullishCoalesce`,e[e.Exponentiation=19]=`Exponentiation`,e[e.In=20]=`In`,e[e.InstanceOf=21]=`InstanceOf`,e[e.AdditionAssignment=22]=`AdditionAssignment`,e[e.SubtractionAssignment=23]=`SubtractionAssignment`,e[e.MultiplicationAssignment=24]=`MultiplicationAssignment`,e[e.DivisionAssignment=25]=`DivisionAssignment`,e[e.RemainderAssignment=26]=`RemainderAssignment`,e[e.ExponentiationAssignment=27]=`ExponentiationAssignment`,e[e.AndAssignment=28]=`AndAssignment`,e[e.OrAssignment=29]=`OrAssignment`,e[e.NullishCoalesceAssignment=30]=`NullishCoalesceAssignment`,e})(D||{});function tt(e,t){return e==null||t==null?e==t:e.isEquivalent(t)}function nt(e,t,n){let r=e.length;if(r!==t.length)return!1;for(let i=0;ie.isEquivalent(t))}var it=class{leadingComments;type;sourceSpan;constructor(e,t,n){this.leadingComments=n,this.type=e||null,this.sourceSpan=t||null}prop(e,t){return new mt(this,e,null,t)}key(e,t,n){return new ht(this,e,t,n)}callFn(e,t,n,r){return new st(this,e,null,t,n,r)}instantiate(e,t,n,r){return new ct(this,e,t,n)}conditional(e,t=null,n,r){return new ft(this,e,t,null,n)}equals(e,t){return new pt(D.Equals,this,e,null,t)}notEquals(e,t){return new pt(D.NotEquals,this,e,null,t)}identical(e,t){return new pt(D.Identical,this,e,null,t)}notIdentical(e,t){return new pt(D.NotIdentical,this,e,null,t)}minus(e,t){return new pt(D.Minus,this,e,null,t)}plus(e,t){return new pt(D.Plus,this,e,null,t)}divide(e,t){return new pt(D.Divide,this,e,null,t)}multiply(e,t){return new pt(D.Multiply,this,e,null,t)}modulo(e,t){return new pt(D.Modulo,this,e,null,t)}power(e,t){return new pt(D.Exponentiation,this,e,null,t)}and(e,t){return new pt(D.And,this,e,null,t)}bitwiseOr(e,t){return new pt(D.BitwiseOr,this,e,null,t)}bitwiseAnd(e,t){return new pt(D.BitwiseAnd,this,e,null,t)}or(e,t){return new pt(D.Or,this,e,null,t)}lower(e,t){return new pt(D.Lower,this,e,null,t)}lowerEquals(e,t){return new pt(D.LowerEquals,this,e,null,t)}bigger(e,t){return new pt(D.Bigger,this,e,null,t)}biggerEquals(e,t){return new pt(D.BiggerEquals,this,e,null,t)}isBlank(e){return this.equals(bt,e)}nullishCoalesce(e,t){return new pt(D.NullishCoalesce,this,e,null,t)}toStmt(e){return new Ct(this,null,e)}},at=class e extends it{name;constructor(e,t,n,r){super(t,n,r),this.name=e}isEquivalent(t){return t instanceof e&&this.name===t.name}isConstant(){return!1}visitExpression(e,t){return e.visitReadVarExpr(this,t)}clone(){return new e(this.name,this.type,this.sourceSpan)}set(e){return new pt(D.Assign,this,e,null,this.sourceSpan)}},ot=class e extends it{expr;constructor(e,t,n,r){super(t,n,r),this.expr=e}visitExpression(e,t){return e.visitTypeofExpr(this,t)}isEquivalent(t){return t instanceof e&&t.expr.isEquivalent(this.expr)}isConstant(){return this.expr.isConstant()}clone(){return new e(this.expr.clone())}},st=class e extends it{fn;args;pure;isOptional;constructor(e,t,n,r,i=!1,a,o=!1){super(n,r,a),this.fn=e,this.args=t,this.pure=i,this.isOptional=o}get receiver(){return this.fn}isEquivalent(t){return t instanceof e&&this.fn.isEquivalent(t.fn)&&rt(this.args,t.args)&&this.pure===t.pure}isConstant(){return!1}visitExpression(e,t){return e.visitInvokeFunctionExpr(this,t)}clone(){return new e(this.fn.clone(),this.args.map(e=>e.clone()),this.type,this.sourceSpan,this.pure,[],this.isOptional)}},ct=class e extends it{classExpr;args;constructor(e,t,n,r,i){super(n,r,i),this.classExpr=e,this.args=t}isEquivalent(t){return t instanceof e&&this.classExpr.isEquivalent(t.classExpr)&&rt(this.args,t.args)}isConstant(){return!1}visitExpression(e,t){return e.visitInstantiateExpr(this,t)}clone(){return new e(this.classExpr.clone(),this.args.map(e=>e.clone()),this.type,this.sourceSpan)}},lt=class e extends it{body;flags;constructor(e,t,n,r){super(null,n,r),this.body=e,this.flags=t}isEquivalent(t){return t instanceof e&&this.body===t.body&&this.flags===t.flags}isConstant(){return!0}visitExpression(e,t){return e.visitRegularExpressionLiteral(this,t)}clone(){return new e(this.body,this.flags,this.sourceSpan)}},ut=class e extends it{value;constructor(e,t,n,r){super(t,n,r),this.value=e}isEquivalent(t){return t instanceof e&&this.value===t.value}isConstant(){return!0}visitExpression(e,t){return e.visitLiteralExpr(this,t)}clone(){return new e(this.value,this.type,this.sourceSpan)}},dt=class e extends it{value;typeParams;constructor(e,t,n=null,r,i){super(t,r,i),this.value=e,this.typeParams=n}isEquivalent(t){return t instanceof e&&this.value.name===t.value.name&&this.value.moduleName===t.value.moduleName}isConstant(){return!1}visitExpression(e,t){return e.visitExternalExpr(this,t)}clone(){return new e(this.value,this.type,this.typeParams,this.sourceSpan)}},ft=class e extends it{condition;falseCase;trueCase;constructor(e,t,n=null,r,i,a){super(r||t.type,i,a),this.condition=e,this.falseCase=n,this.trueCase=t}isEquivalent(t){return t instanceof e&&this.condition.isEquivalent(t.condition)&&this.trueCase.isEquivalent(t.trueCase)&&tt(this.falseCase,t.falseCase)}isConstant(){return!1}visitExpression(e,t){return e.visitConditionalExpr(this,t)}clone(){return new e(this.condition.clone(),this.trueCase.clone(),this.falseCase?.clone(),this.type,this.sourceSpan)}},pt=class e extends it{operator;rhs;lhs;constructor(e,t,n,r,i,a){super(r||t.type,i,a),this.operator=e,this.rhs=n,this.lhs=t}isEquivalent(t){return t instanceof e&&this.operator===t.operator&&this.lhs.isEquivalent(t.lhs)&&this.rhs.isEquivalent(t.rhs)}isConstant(){return!1}visitExpression(e,t){return e.visitBinaryOperatorExpr(this,t)}clone(){return new e(this.operator,this.lhs.clone(),this.rhs.clone(),this.type,this.sourceSpan)}isAssignment(){let e=this.operator;return e===D.Assign||e===D.AdditionAssignment||e===D.SubtractionAssignment||e===D.MultiplicationAssignment||e===D.DivisionAssignment||e===D.RemainderAssignment||e===D.ExponentiationAssignment||e===D.AndAssignment||e===D.OrAssignment||e===D.NullishCoalesceAssignment}},mt=class e extends it{receiver;name;isOptional;constructor(e,t,n,r,i,a=!1){super(n,r,i),this.receiver=e,this.name=t,this.isOptional=a}get index(){return this.name}isEquivalent(t){return t instanceof e&&this.receiver.isEquivalent(t.receiver)&&this.name===t.name&&this.isOptional===t.isOptional}isConstant(){return!1}visitExpression(e,t){return e.visitReadPropExpr(this,t)}set(e){return new pt(D.Assign,this.receiver.prop(this.name),e,null,this.sourceSpan)}clone(){return new e(this.receiver.clone(),this.name,this.type,this.sourceSpan,[],this.isOptional)}},ht=class e extends it{receiver;index;isOptional;constructor(e,t,n,r,i,a=!1){super(n,r,i),this.receiver=e,this.index=t,this.isOptional=a}isEquivalent(t){return t instanceof e&&this.receiver.isEquivalent(t.receiver)&&this.index.isEquivalent(t.index)&&this.isOptional===t.isOptional}isConstant(){return!1}visitExpression(e,t){return e.visitReadKeyExpr(this,t)}set(e){return new pt(D.Assign,this.receiver.key(this.index),e,null,this.sourceSpan)}clone(){return new e(this.receiver.clone(),this.index.clone(),this.type,this.sourceSpan,[],this.isOptional)}},gt=class e extends it{entries;constructor(e,t,n,r){super(t,n,r),this.entries=e}isConstant(){return this.entries.every(e=>e.isConstant())}isEquivalent(t){return t instanceof e&&rt(this.entries,t.entries)}visitExpression(e,t){return e.visitLiteralArrayExpr(this,t)}clone(){return new e(this.entries.map(e=>e.clone()),this.type,this.sourceSpan)}},_t=class e{expression;constructor(e){this.expression=e}isEquivalent(t){return t instanceof e&&this.expression.isEquivalent(t.expression)}clone(){return new e(this.expression.clone())}isConstant(){return this.expression.isConstant()}},vt=class e extends it{entries;valueType=null;constructor(e,t,n,r){super(t,n,r),this.entries=e,t&&(this.valueType=t.valueType)}isEquivalent(t){return t instanceof e&&rt(this.entries,t.entries)}isConstant(){return this.entries.every(e=>e.isConstant())}visitExpression(e,t){return e.visitLiteralMapExpr(this,t)}clone(){let t=this.entries.map(e=>e.clone());return new e(t,this.type,this.sourceSpan)}},yt=class e extends it{expression;constructor(e,t,n){super(null,t,n),this.expression=e}isEquivalent(t){return t instanceof e&&this.expression.isEquivalent(t.expression)}isConstant(){return this.expression.isConstant()}visitExpression(e,t){return e.visitSpreadElementExpr(this,t)}clone(){return new e(this.expression.clone(),this.sourceSpan)}},bt=new ut(null,et,null),xt=(function(e){return e[e.None=0]=`None`,e[e.Final=1]=`Final`,e[e.Private=2]=`Private`,e[e.Exported=4]=`Exported`,e[e.Static=8]=`Static`,e})(xt||{}),St=class{modifiers;sourceSpan;leadingComments;constructor(e=xt.None,t=null,n){this.modifiers=e,this.sourceSpan=t,this.leadingComments=n}hasModifier(e){return(this.modifiers&e)!==0}addLeadingComment(e){this.leadingComments=this.leadingComments??[],this.leadingComments.push(e)}},Ct=class e extends St{expr;constructor(e,t,n){super(xt.None,t,n),this.expr=e}isEquivalent(t){return t instanceof e&&this.expr.isEquivalent(t.expr)}visitStatement(e,t){return e.visitExpressionStmt(this,t)}};(class e{static INSTANCE=new e;keyOf(e){if(e instanceof ut&&typeof e.value==`string`)return`"${e.value}"`;if(e instanceof ut)return String(e.value);if(e instanceof lt)return`/${e.body}/${e.flags??``}`;if(e instanceof gt){let t=[];for(let n of e.entries)t.push(this.keyOf(n));return`[${t.join(`,`)}]`}if(e instanceof vt){let t=[];for(let n of e.entries)if(n instanceof _t)t.push(`...`+this.keyOf(n.expression));else{let e=n.key;n.quoted&&(e=`"${e}"`),t.push(e+`:`+this.keyOf(n.value))}return`{${t.join(`,`)}}`}if(e instanceof dt)return`import("${e.value.moduleName}", ${e.value.name})`;if(e instanceof at)return`read(${e.name})`;if(e instanceof ot)return`typeof(${this.keyOf(e.expr)})`;if(e instanceof yt)return`...${this.keyOf(e.expression)}`;throw Error(`${this.constructor.name} does not handle expressions of type ${e.constructor.name}`)}});var O=`@angular/core`,k=(()=>{class e{static core={name:null,moduleName:O};static namespaceHTML={name:`ɵɵnamespaceHTML`,moduleName:O};static namespaceMathML={name:`ɵɵnamespaceMathML`,moduleName:O};static namespaceSVG={name:`ɵɵnamespaceSVG`,moduleName:O};static element={name:`ɵɵelement`,moduleName:O};static elementStart={name:`ɵɵelementStart`,moduleName:O};static elementEnd={name:`ɵɵelementEnd`,moduleName:O};static foreignComponent={name:`ɵɵforeignComponent`,moduleName:O};static foreignContent={name:`ɵɵforeignContent`,moduleName:O};static foreignContentFn={name:`ɵɵforeignContentFn`,moduleName:O};static domElement={name:`ɵɵdomElement`,moduleName:O};static domElementStart={name:`ɵɵdomElementStart`,moduleName:O};static domElementEnd={name:`ɵɵdomElementEnd`,moduleName:O};static domElementContainer={name:`ɵɵdomElementContainer`,moduleName:O};static domElementContainerStart={name:`ɵɵdomElementContainerStart`,moduleName:O};static domElementContainerEnd={name:`ɵɵdomElementContainerEnd`,moduleName:O};static domTemplate={name:`ɵɵdomTemplate`,moduleName:O};static domListener={name:`ɵɵdomListener`,moduleName:O};static advance={name:`ɵɵadvance`,moduleName:O};static syntheticHostProperty={name:`ɵɵsyntheticHostProperty`,moduleName:O};static syntheticHostListener={name:`ɵɵsyntheticHostListener`,moduleName:O};static attribute={name:`ɵɵattribute`,moduleName:O};static classProp={name:`ɵɵclassProp`,moduleName:O};static elementContainerStart={name:`ɵɵelementContainerStart`,moduleName:O};static elementContainerEnd={name:`ɵɵelementContainerEnd`,moduleName:O};static elementContainer={name:`ɵɵelementContainer`,moduleName:O};static styleMap={name:`ɵɵstyleMap`,moduleName:O};static classMap={name:`ɵɵclassMap`,moduleName:O};static styleProp={name:`ɵɵstyleProp`,moduleName:O};static interpolate={name:`ɵɵinterpolate`,moduleName:O};static interpolate1={name:`ɵɵinterpolate1`,moduleName:O};static interpolate2={name:`ɵɵinterpolate2`,moduleName:O};static interpolate3={name:`ɵɵinterpolate3`,moduleName:O};static interpolate4={name:`ɵɵinterpolate4`,moduleName:O};static interpolate5={name:`ɵɵinterpolate5`,moduleName:O};static interpolate6={name:`ɵɵinterpolate6`,moduleName:O};static interpolate7={name:`ɵɵinterpolate7`,moduleName:O};static interpolate8={name:`ɵɵinterpolate8`,moduleName:O};static interpolateV={name:`ɵɵinterpolateV`,moduleName:O};static nextContext={name:`ɵɵnextContext`,moduleName:O};static resetView={name:`ɵɵresetView`,moduleName:O};static templateCreate={name:`ɵɵtemplate`,moduleName:O};static defer={name:`ɵɵdefer`,moduleName:O};static deferWhen={name:`ɵɵdeferWhen`,moduleName:O};static deferOnIdle={name:`ɵɵdeferOnIdle`,moduleName:O};static deferOnImmediate={name:`ɵɵdeferOnImmediate`,moduleName:O};static deferOnTimer={name:`ɵɵdeferOnTimer`,moduleName:O};static deferOnHover={name:`ɵɵdeferOnHover`,moduleName:O};static deferOnInteraction={name:`ɵɵdeferOnInteraction`,moduleName:O};static deferOnViewport={name:`ɵɵdeferOnViewport`,moduleName:O};static deferPrefetchWhen={name:`ɵɵdeferPrefetchWhen`,moduleName:O};static deferPrefetchOnIdle={name:`ɵɵdeferPrefetchOnIdle`,moduleName:O};static deferPrefetchOnImmediate={name:`ɵɵdeferPrefetchOnImmediate`,moduleName:O};static deferPrefetchOnTimer={name:`ɵɵdeferPrefetchOnTimer`,moduleName:O};static deferPrefetchOnHover={name:`ɵɵdeferPrefetchOnHover`,moduleName:O};static deferPrefetchOnInteraction={name:`ɵɵdeferPrefetchOnInteraction`,moduleName:O};static deferPrefetchOnViewport={name:`ɵɵdeferPrefetchOnViewport`,moduleName:O};static deferHydrateWhen={name:`ɵɵdeferHydrateWhen`,moduleName:O};static deferHydrateNever={name:`ɵɵdeferHydrateNever`,moduleName:O};static deferHydrateOnIdle={name:`ɵɵdeferHydrateOnIdle`,moduleName:O};static deferHydrateOnImmediate={name:`ɵɵdeferHydrateOnImmediate`,moduleName:O};static deferHydrateOnTimer={name:`ɵɵdeferHydrateOnTimer`,moduleName:O};static deferHydrateOnHover={name:`ɵɵdeferHydrateOnHover`,moduleName:O};static deferHydrateOnInteraction={name:`ɵɵdeferHydrateOnInteraction`,moduleName:O};static deferHydrateOnViewport={name:`ɵɵdeferHydrateOnViewport`,moduleName:O};static deferEnableTimerScheduling={name:`ɵɵdeferEnableTimerScheduling`,moduleName:O};static enableIncrementalHydrationRuntime={name:`ɵɵenableIncrementalHydrationRuntime`,moduleName:O};static conditionalCreate={name:`ɵɵconditionalCreate`,moduleName:O};static conditionalBranchCreate={name:`ɵɵconditionalBranchCreate`,moduleName:O};static conditional={name:`ɵɵconditional`,moduleName:O};static repeater={name:`ɵɵrepeater`,moduleName:O};static repeaterCreate={name:`ɵɵrepeaterCreate`,moduleName:O};static repeaterTrackByIndex={name:`ɵɵrepeaterTrackByIndex`,moduleName:O};static repeaterTrackByIdentity={name:`ɵɵrepeaterTrackByIdentity`,moduleName:O};static componentInstance={name:`ɵɵcomponentInstance`,moduleName:O};static text={name:`ɵɵtext`,moduleName:O};static enableBindings={name:`ɵɵenableBindings`,moduleName:O};static disableBindings={name:`ɵɵdisableBindings`,moduleName:O};static getCurrentView={name:`ɵɵgetCurrentView`,moduleName:O};static textInterpolate={name:`ɵɵtextInterpolate`,moduleName:O};static textInterpolate1={name:`ɵɵtextInterpolate1`,moduleName:O};static textInterpolate2={name:`ɵɵtextInterpolate2`,moduleName:O};static textInterpolate3={name:`ɵɵtextInterpolate3`,moduleName:O};static textInterpolate4={name:`ɵɵtextInterpolate4`,moduleName:O};static textInterpolate5={name:`ɵɵtextInterpolate5`,moduleName:O};static textInterpolate6={name:`ɵɵtextInterpolate6`,moduleName:O};static textInterpolate7={name:`ɵɵtextInterpolate7`,moduleName:O};static textInterpolate8={name:`ɵɵtextInterpolate8`,moduleName:O};static textInterpolateV={name:`ɵɵtextInterpolateV`,moduleName:O};static restoreView={name:`ɵɵrestoreView`,moduleName:O};static pureFunction0={name:`ɵɵpureFunction0`,moduleName:O};static pureFunction1={name:`ɵɵpureFunction1`,moduleName:O};static pureFunction2={name:`ɵɵpureFunction2`,moduleName:O};static pureFunction3={name:`ɵɵpureFunction3`,moduleName:O};static pureFunction4={name:`ɵɵpureFunction4`,moduleName:O};static pureFunction5={name:`ɵɵpureFunction5`,moduleName:O};static pureFunction6={name:`ɵɵpureFunction6`,moduleName:O};static pureFunction7={name:`ɵɵpureFunction7`,moduleName:O};static pureFunction8={name:`ɵɵpureFunction8`,moduleName:O};static pureFunctionV={name:`ɵɵpureFunctionV`,moduleName:O};static pipeBind1={name:`ɵɵpipeBind1`,moduleName:O};static pipeBind2={name:`ɵɵpipeBind2`,moduleName:O};static pipeBind3={name:`ɵɵpipeBind3`,moduleName:O};static pipeBind4={name:`ɵɵpipeBind4`,moduleName:O};static pipeBindV={name:`ɵɵpipeBindV`,moduleName:O};static domProperty={name:`ɵɵdomProperty`,moduleName:O};static ariaProperty={name:`ɵɵariaProperty`,moduleName:O};static property={name:`ɵɵproperty`,moduleName:O};static control={name:`ɵɵcontrol`,moduleName:O};static controlCreate={name:`ɵɵcontrolCreate`,moduleName:O};static animationEnterListener={name:`ɵɵanimateEnterListener`,moduleName:O};static animationLeaveListener={name:`ɵɵanimateLeaveListener`,moduleName:O};static animationEnter={name:`ɵɵanimateEnter`,moduleName:O};static animationLeave={name:`ɵɵanimateLeave`,moduleName:O};static i18n={name:`ɵɵi18n`,moduleName:O};static i18nAttributes={name:`ɵɵi18nAttributes`,moduleName:O};static i18nExp={name:`ɵɵi18nExp`,moduleName:O};static i18nStart={name:`ɵɵi18nStart`,moduleName:O};static i18nEnd={name:`ɵɵi18nEnd`,moduleName:O};static i18nApply={name:`ɵɵi18nApply`,moduleName:O};static i18nPostprocess={name:`ɵɵi18nPostprocess`,moduleName:O};static pipe={name:`ɵɵpipe`,moduleName:O};static projection={name:`ɵɵprojection`,moduleName:O};static projectionDef={name:`ɵɵprojectionDef`,moduleName:O};static reference={name:`ɵɵreference`,moduleName:O};static inject={name:`ɵɵinject`,moduleName:O};static injectAttribute={name:`ɵɵinjectAttribute`,moduleName:O};static directiveInject={name:`ɵɵdirectiveInject`,moduleName:O};static invalidFactory={name:`ɵɵinvalidFactory`,moduleName:O};static invalidFactoryDep={name:`ɵɵinvalidFactoryDep`,moduleName:O};static templateRefExtractor={name:`ɵɵtemplateRefExtractor`,moduleName:O};static forwardRef={name:`forwardRef`,moduleName:O};static resolveForwardRef={name:`resolveForwardRef`,moduleName:O};static replaceMetadata={name:`ɵɵreplaceMetadata`,moduleName:O};static getReplaceMetadataURL={name:`ɵɵgetReplaceMetadataURL`,moduleName:O};static ɵɵdefineInjectable={name:`ɵɵdefineInjectable`,moduleName:O};static declareInjectable={name:`ɵɵngDeclareInjectable`,moduleName:O};static InjectableDeclaration={name:`ɵɵInjectableDeclaration`,moduleName:O};static defineService={name:`ɵɵdefineService`,moduleName:O};static declareService={name:`ɵɵngDeclareService`,moduleName:O};static resolveWindow={name:`ɵɵresolveWindow`,moduleName:O};static resolveDocument={name:`ɵɵresolveDocument`,moduleName:O};static resolveBody={name:`ɵɵresolveBody`,moduleName:O};static getComponentDepsFactory={name:`ɵɵgetComponentDepsFactory`,moduleName:O};static defineComponent={name:`ɵɵdefineComponent`,moduleName:O};static declareComponent={name:`ɵɵngDeclareComponent`,moduleName:O};static setComponentScope={name:`ɵɵsetComponentScope`,moduleName:O};static ChangeDetectionStrategy={name:`ChangeDetectionStrategy`,moduleName:O};static ViewEncapsulation={name:`ViewEncapsulation`,moduleName:O};static ComponentDeclaration={name:`ɵɵComponentDeclaration`,moduleName:O};static FactoryDeclaration={name:`ɵɵFactoryDeclaration`,moduleName:O};static declareFactory={name:`ɵɵngDeclareFactory`,moduleName:O};static FactoryTarget={name:`ɵɵFactoryTarget`,moduleName:O};static defineDirective={name:`ɵɵdefineDirective`,moduleName:O};static declareDirective={name:`ɵɵngDeclareDirective`,moduleName:O};static DirectiveDeclaration={name:`ɵɵDirectiveDeclaration`,moduleName:O};static InjectorDef={name:`ɵɵInjectorDef`,moduleName:O};static InjectorDeclaration={name:`ɵɵInjectorDeclaration`,moduleName:O};static defineInjector={name:`ɵɵdefineInjector`,moduleName:O};static declareInjector={name:`ɵɵngDeclareInjector`,moduleName:O};static NgModuleDeclaration={name:`ɵɵNgModuleDeclaration`,moduleName:O};static ModuleWithProviders={name:`ModuleWithProviders`,moduleName:O};static defineNgModule={name:`ɵɵdefineNgModule`,moduleName:O};static declareNgModule={name:`ɵɵngDeclareNgModule`,moduleName:O};static setNgModuleScope={name:`ɵɵsetNgModuleScope`,moduleName:O};static registerNgModuleType={name:`ɵɵregisterNgModuleType`,moduleName:O};static PipeDeclaration={name:`ɵɵPipeDeclaration`,moduleName:O};static definePipe={name:`ɵɵdefinePipe`,moduleName:O};static declarePipe={name:`ɵɵngDeclarePipe`,moduleName:O};static declareClassMetadata={name:`ɵɵngDeclareClassMetadata`,moduleName:O};static declareClassMetadataAsync={name:`ɵɵngDeclareClassMetadataAsync`,moduleName:O};static setClassMetadata={name:`ɵsetClassMetadata`,moduleName:O};static setClassMetadataAsync={name:`ɵsetClassMetadataAsync`,moduleName:O};static setClassDebugInfo={name:`ɵsetClassDebugInfo`,moduleName:O};static queryRefresh={name:`ɵɵqueryRefresh`,moduleName:O};static viewQuery={name:`ɵɵviewQuery`,moduleName:O};static loadQuery={name:`ɵɵloadQuery`,moduleName:O};static contentQuery={name:`ɵɵcontentQuery`,moduleName:O};static viewQuerySignal={name:`ɵɵviewQuerySignal`,moduleName:O};static contentQuerySignal={name:`ɵɵcontentQuerySignal`,moduleName:O};static queryAdvance={name:`ɵɵqueryAdvance`,moduleName:O};static twoWayProperty={name:`ɵɵtwoWayProperty`,moduleName:O};static twoWayBindingSet={name:`ɵɵtwoWayBindingSet`,moduleName:O};static twoWayListener={name:`ɵɵtwoWayListener`,moduleName:O};static declareLet={name:`ɵɵdeclareLet`,moduleName:O};static storeLet={name:`ɵɵstoreLet`,moduleName:O};static readContextLet={name:`ɵɵreadContextLet`,moduleName:O};static arrowFunction={name:`ɵɵarrowFunction`,moduleName:O};static attachSourceLocations={name:`ɵɵattachSourceLocations`,moduleName:O};static NgOnChangesFeature={name:`ɵɵNgOnChangesFeature`,moduleName:O};static ControlFeature={name:`ɵɵControlFeature`,moduleName:O};static InheritDefinitionFeature={name:`ɵɵInheritDefinitionFeature`,moduleName:O};static ProvidersFeature={name:`ɵɵProvidersFeature`,moduleName:O};static HostDirectivesFeature={name:`ɵɵHostDirectivesFeature`,moduleName:O};static ExternalStylesFeature={name:`ɵɵExternalStylesFeature`,moduleName:O};static listener={name:`ɵɵlistener`,moduleName:O};static getInheritedFactory={name:`ɵɵgetInheritedFactory`,moduleName:O};static sanitizeHtml={name:`ɵɵsanitizeHtml`,moduleName:O};static sanitizeStyle={name:`ɵɵsanitizeStyle`,moduleName:O};static validateAttribute={name:`ɵɵvalidateAttribute`,moduleName:O};static sanitizeResourceUrl={name:`ɵɵsanitizeResourceUrl`,moduleName:O};static sanitizeScript={name:`ɵɵsanitizeScript`,moduleName:O};static sanitizeUrl={name:`ɵɵsanitizeUrl`,moduleName:O};static sanitizeUrlOrResourceUrl={name:`ɵɵsanitizeUrlOrResourceUrl`,moduleName:O};static trustConstantHtml={name:`ɵɵtrustConstantHtml`,moduleName:O};static trustConstantResourceUrl={name:`ɵɵtrustConstantResourceUrl`,moduleName:O};static inputDecorator={name:`Input`,moduleName:O};static outputDecorator={name:`Output`,moduleName:O};static viewChildDecorator={name:`ViewChild`,moduleName:O};static viewChildrenDecorator={name:`ViewChildren`,moduleName:O};static contentChildDecorator={name:`ContentChild`,moduleName:O};static contentChildrenDecorator={name:`ContentChildren`,moduleName:O};static InputSignalBrandWriteType={name:`ɵINPUT_SIGNAL_BRAND_WRITE_TYPE`,moduleName:O};static UnwrapDirectiveSignalInputs={name:`ɵUnwrapDirectiveSignalInputs`,moduleName:O};static unwrapWritableSignal={name:`ɵunwrapWritableSignal`,moduleName:O};static assertType={name:`ɵassertType`,moduleName:O}}return e})();D.And,D.Bigger,D.BiggerEquals,D.BitwiseOr,D.BitwiseAnd,D.Divide,D.Assign,D.Equals,D.Identical,D.Lower,D.LowerEquals,D.Minus,D.Modulo,D.Exponentiation,D.Multiply,D.NotEquals,D.NotIdentical,D.NullishCoalesce,D.Or,D.Plus,D.In,D.InstanceOf,D.AdditionAssignment,D.SubtractionAssignment,D.MultiplicationAssignment,D.DivisionAssignment,D.RemainderAssignment,D.ExponentiationAssignment,D.AndAssignment,D.OrAssignment,D.NullishCoalesceAssignment;var wt=class{span;sourceSpan;constructor(e,t){this.span=e,this.sourceSpan=t}toString(){return`AST`}},Tt=class extends wt{receiver;args;argumentSpan;constructor(e,t,n,r,i){super(e,t),this.receiver=n,this.args=r,this.argumentSpan=i}visit(e,t=null){return e.visitCall(this,t)}},Et=(function(e){return e[e.Property=0]=`Property`,e[e.Attribute=1]=`Attribute`,e[e.Class=2]=`Class`,e[e.Style=3]=`Style`,e[e.LegacyAnimation=4]=`LegacyAnimation`,e[e.TwoWay=5]=`TwoWay`,e[e.Animation=6]=`Animation`,e})(Et||{}),Dt=`(:(where|is)\\()?`,Ot=`-shadowcsshost`,kt=`-shadowcsscontext`,At=`[^)(]*`,jt=String.raw`(?:\(${At}\)|${At})+?`,Mt=String.raw`(?:\(${jt}\)|${At})+?`,Nt=String.raw`(?:\((${Mt})\))`;String.raw`(:nth-[-\w]+)`+Nt,Ot+Nt+``,`${Dt}`,kt+Nt+``;var A=(function(e){return e[e.ListEnd=0]=`ListEnd`,e[e.Statement=1]=`Statement`,e[e.Variable=2]=`Variable`,e[e.ElementStart=3]=`ElementStart`,e[e.Element=4]=`Element`,e[e.ForeignComponent=5]=`ForeignComponent`,e[e.Template=6]=`Template`,e[e.ElementEnd=7]=`ElementEnd`,e[e.ContainerStart=8]=`ContainerStart`,e[e.Container=9]=`Container`,e[e.ContainerEnd=10]=`ContainerEnd`,e[e.DisableBindings=11]=`DisableBindings`,e[e.ConditionalCreate=12]=`ConditionalCreate`,e[e.ConditionalBranchCreate=13]=`ConditionalBranchCreate`,e[e.Conditional=14]=`Conditional`,e[e.EnableBindings=15]=`EnableBindings`,e[e.Text=16]=`Text`,e[e.Listener=17]=`Listener`,e[e.InterpolateText=18]=`InterpolateText`,e[e.Binding=19]=`Binding`,e[e.Property=20]=`Property`,e[e.StyleProp=21]=`StyleProp`,e[e.ClassProp=22]=`ClassProp`,e[e.StyleMap=23]=`StyleMap`,e[e.ClassMap=24]=`ClassMap`,e[e.Advance=25]=`Advance`,e[e.Pipe=26]=`Pipe`,e[e.Attribute=27]=`Attribute`,e[e.ExtractedAttribute=28]=`ExtractedAttribute`,e[e.Defer=29]=`Defer`,e[e.DeferOn=30]=`DeferOn`,e[e.DeferWhen=31]=`DeferWhen`,e[e.I18nMessage=32]=`I18nMessage`,e[e.DomProperty=33]=`DomProperty`,e[e.Namespace=34]=`Namespace`,e[e.ProjectionDef=35]=`ProjectionDef`,e[e.EnableIncrementalHydrationRuntime=36]=`EnableIncrementalHydrationRuntime`,e[e.Projection=37]=`Projection`,e[e.Content=38]=`Content`,e[e.RepeaterCreate=39]=`RepeaterCreate`,e[e.Repeater=40]=`Repeater`,e[e.TwoWayProperty=41]=`TwoWayProperty`,e[e.TwoWayListener=42]=`TwoWayListener`,e[e.DeclareLet=43]=`DeclareLet`,e[e.StoreLet=44]=`StoreLet`,e[e.I18nStart=45]=`I18nStart`,e[e.I18n=46]=`I18n`,e[e.I18nEnd=47]=`I18nEnd`,e[e.I18nExpression=48]=`I18nExpression`,e[e.I18nApply=49]=`I18nApply`,e[e.IcuStart=50]=`IcuStart`,e[e.IcuEnd=51]=`IcuEnd`,e[e.IcuPlaceholder=52]=`IcuPlaceholder`,e[e.I18nContext=53]=`I18nContext`,e[e.I18nAttributes=54]=`I18nAttributes`,e[e.SourceLocation=55]=`SourceLocation`,e[e.Animation=56]=`Animation`,e[e.AnimationString=57]=`AnimationString`,e[e.AnimationBinding=58]=`AnimationBinding`,e[e.AnimationListener=59]=`AnimationListener`,e[e.Control=60]=`Control`,e[e.ControlCreate=61]=`ControlCreate`,e})(A||{}),Pt=(function(e){return e[e.LexicalRead=0]=`LexicalRead`,e[e.Context=1]=`Context`,e[e.TrackContext=2]=`TrackContext`,e[e.ReadVariable=3]=`ReadVariable`,e[e.NextContext=4]=`NextContext`,e[e.Reference=5]=`Reference`,e[e.StoreLet=6]=`StoreLet`,e[e.ContextLetReference=7]=`ContextLetReference`,e[e.GetCurrentView=8]=`GetCurrentView`,e[e.RestoreView=9]=`RestoreView`,e[e.ResetView=10]=`ResetView`,e[e.PureFunctionExpr=11]=`PureFunctionExpr`,e[e.PureFunctionParameterExpr=12]=`PureFunctionParameterExpr`,e[e.PipeBinding=13]=`PipeBinding`,e[e.PipeBindingVariadic=14]=`PipeBindingVariadic`,e[e.SafePropertyRead=15]=`SafePropertyRead`,e[e.SafeKeyedRead=16]=`SafeKeyedRead`,e[e.SafeNavigationMigration=17]=`SafeNavigationMigration`,e[e.SafeTernaryExpr=18]=`SafeTernaryExpr`,e[e.EmptyExpr=19]=`EmptyExpr`,e[e.AssignTemporaryExpr=20]=`AssignTemporaryExpr`,e[e.ReadTemporaryExpr=21]=`ReadTemporaryExpr`,e[e.SlotLiteralExpr=22]=`SlotLiteralExpr`,e[e.ConditionalCase=23]=`ConditionalCase`,e[e.ConstCollected=24]=`ConstCollected`,e[e.TwoWayBindingSet=25]=`TwoWayBindingSet`,e[e.ForeignContent=26]=`ForeignContent`,e[e.ArrowFunction=27]=`ArrowFunction`,e})(Pt||{}),Ft=(function(e){return e[e.None=0]=`None`,e[e.AlwaysInline=1]=`AlwaysInline`,e})(Ft||{}),It=(function(e){return e[e.Context=0]=`Context`,e[e.Identifier=1]=`Identifier`,e[e.SavedView=2]=`SavedView`,e[e.Alias=3]=`Alias`,e})(It||{}),Lt=(function(e){return e[e.Attribute=0]=`Attribute`,e[e.ClassName=1]=`ClassName`,e[e.StyleProperty=2]=`StyleProperty`,e[e.Property=3]=`Property`,e[e.Template=4]=`Template`,e[e.I18n=5]=`I18n`,e[e.LegacyAnimation=6]=`LegacyAnimation`,e[e.TwoWayProperty=7]=`TwoWayProperty`,e[e.Animation=8]=`Animation`,e})(Lt||{}),Rt=(function(e){return e[e.Creation=0]=`Creation`,e[e.Postproccessing=1]=`Postproccessing`,e})(Rt||{}),zt=(function(e){return e[e.I18nText=0]=`I18nText`,e[e.I18nAttribute=1]=`I18nAttribute`,e})(zt||{}),Bt=(function(e){return e[e.None=0]=`None`,e[e.ElementTag=1]=`ElementTag`,e[e.TemplateTag=2]=`TemplateTag`,e[e.OpenTag=4]=`OpenTag`,e[e.CloseTag=8]=`CloseTag`,e[e.ExpressionIndex=16]=`ExpressionIndex`,e})(Bt||{}),Vt=(function(e){return e[e.HTML=0]=`HTML`,e[e.SVG=1]=`SVG`,e[e.Math=2]=`Math`,e})(Vt||{}),Ht=(function(e){return e[e.Idle=0]=`Idle`,e[e.Immediate=1]=`Immediate`,e[e.Timer=2]=`Timer`,e[e.Hover=3]=`Hover`,e[e.Interaction=4]=`Interaction`,e[e.Viewport=5]=`Viewport`,e[e.Never=6]=`Never`,e})(Ht||{}),Ut=(function(e){return e[e.RootI18n=0]=`RootI18n`,e[e.Icu=1]=`Icu`,e[e.Attr=2]=`Attr`,e})(Ut||{}),Wt=(function(e){return e[e.NgTemplate=0]=`NgTemplate`,e[e.Structural=1]=`Structural`,e[e.Block=2]=`Block`,e})(Wt||{}),Gt=(function(e){return e[e.None=0]=`None`,e[e.InChildOperation=1]=`InChildOperation`,e[e.InArrowFunctionOperation=2]=`InArrowFunctionOperation`,e[e.InSafeNavigationMigration=4]=`InSafeNavigationMigration`,e})(Gt||{});A.Element,A.ElementStart,A.Container,A.ContainerStart,A.Template,A.RepeaterCreate,A.ConditionalCreate,A.ConditionalBranchCreate;var j=(function(e){return e[e.Tmpl=0]=`Tmpl`,e[e.Host=1]=`Host`,e[e.Both=2]=`Both`,e})(j||{}),Kt=(function(e){return e[e.Full=0]=`Full`,e[e.DomOnly=1]=`DomOnly`,e})(Kt||{});k.ariaProperty,k.ariaProperty,k.attribute,k.attribute,k.classProp,k.classProp,k.element,k.element,k.elementContainer,k.elementContainer,k.elementContainerEnd,k.elementContainerEnd,k.elementContainerStart,k.elementContainerStart,k.elementEnd,k.elementEnd,k.elementStart,k.elementStart,k.domProperty,k.domProperty,k.i18nExp,k.i18nExp,k.listener,k.listener,k.listener,k.listener,k.property,k.property,k.styleProp,k.styleProp,k.syntheticHostListener,k.syntheticHostListener,k.syntheticHostProperty,k.syntheticHostProperty,k.templateCreate,k.templateCreate,k.twoWayProperty,k.twoWayProperty,k.twoWayListener,k.twoWayListener,k.declareLet,k.declareLet,k.conditionalCreate,k.conditionalBranchCreate,k.conditionalBranchCreate,k.conditionalBranchCreate,k.domElement,k.domElement,k.domElementStart,k.domElementStart,k.domElementEnd,k.domElementEnd,k.domElementContainer,k.domElementContainer,k.domElementContainerStart,k.domElementContainerStart,k.domElementContainerEnd,k.domElementContainerEnd,k.domListener,k.domListener,k.domTemplate,k.domTemplate,k.animationEnter,k.animationEnter,k.animationLeave,k.animationLeave,k.animationEnterListener,k.animationEnterListener,k.animationLeaveListener,k.animationLeaveListener,D.And,D.Bigger,D.BiggerEquals,D.BitwiseOr,D.BitwiseAnd,D.Divide,D.Assign,D.Equals,D.Identical,D.Lower,D.LowerEquals,D.Minus,D.Modulo,D.Exponentiation,D.Multiply,D.NotEquals,D.NotIdentical,D.NullishCoalesce,D.Or,D.Plus,D.In,D.InstanceOf,D.AdditionAssignment,D.SubtractionAssignment,D.MultiplicationAssignment,D.DivisionAssignment,D.RemainderAssignment,D.ExponentiationAssignment,D.AndAssignment,D.OrAssignment,D.NullishCoalesceAssignment,A.Property,A.Property,A.Property,A.Attribute,A.Attribute,A.Property,A.TwoWayProperty,A.Container,A.ContainerStart,A.ContainerEnd,A.Element,A.ElementStart,A.ElementEnd,A.Template,A.ElementEnd,A.ElementStart,A.Element,A.ContainerEnd,A.ContainerStart,A.Container,A.I18nEnd,A.I18nStart,A.I18n,A.Pipe;var qt=` \f +\r \v ᠎ - \u2028\u2029   `;`${qt}`,`${qt}`;var Jt=(function(e){return e[e.Character=0]=`Character`,e[e.Identifier=1]=`Identifier`,e[e.PrivateIdentifier=2]=`PrivateIdentifier`,e[e.Keyword=3]=`Keyword`,e[e.String=4]=`String`,e[e.Operator=5]=`Operator`,e[e.Number=6]=`Number`,e[e.RegExpBody=7]=`RegExpBody`,e[e.RegExpFlags=8]=`RegExpFlags`,e[e.Error=9]=`Error`,e})(Jt||{}),Yt=(function(e){return e[e.Plain=0]=`Plain`,e[e.TemplateLiteralPart=1]=`TemplateLiteralPart`,e[e.TemplateLiteralEnd=2]=`TemplateLiteralEnd`,e})(Yt||{});Jt.Character,A.StyleMap,A.ClassMap,A.StyleProp,A.ClassProp,A.Attribute,A.Property,A.Attribute,A.Control,A.DomProperty,A.DomProperty,A.Attribute,A.StyleMap,A.ClassMap,A.StyleProp,A.ClassProp,A.Listener,A.TwoWayListener,A.AnimationListener,A.StyleMap,A.ClassMap,A.StyleProp,A.ClassProp,A.Property,A.TwoWayProperty,A.DomProperty,A.Attribute,A.Animation,A.Control,Ht.Idle,k.deferOnIdle,k.deferPrefetchOnIdle,k.deferHydrateOnIdle,Ht.Immediate,k.deferOnImmediate,k.deferPrefetchOnImmediate,k.deferHydrateOnImmediate,Ht.Timer,k.deferOnTimer,k.deferPrefetchOnTimer,k.deferHydrateOnTimer,Ht.Hover,k.deferOnHover,k.deferPrefetchOnHover,k.deferHydrateOnHover,Ht.Interaction,k.deferOnInteraction,k.deferPrefetchOnInteraction,k.deferHydrateOnInteraction,Ht.Viewport,k.deferOnViewport,k.deferPrefetchOnViewport,k.deferHydrateOnViewport,Ht.Never,k.deferHydrateNever,k.deferHydrateNever,k.deferHydrateNever,k.pipeBind1,k.pipeBind2,k.pipeBind3,k.pipeBind4,k.textInterpolate,k.textInterpolate1,k.textInterpolate2,k.textInterpolate3,k.textInterpolate4,k.textInterpolate5,k.textInterpolate6,k.textInterpolate7,k.textInterpolate8,k.textInterpolateV,k.interpolate,k.interpolate1,k.interpolate2,k.interpolate3,k.interpolate4,k.interpolate5,k.interpolate6,k.interpolate7,k.interpolate8,k.interpolateV,k.pureFunction0,k.pureFunction1,k.pureFunction2,k.pureFunction3,k.pureFunction4,k.pureFunction5,k.pureFunction6,k.pureFunction7,k.pureFunction8,k.pureFunctionV,k.resolveWindow,k.resolveDocument,k.resolveBody,Ye.HTML,k.sanitizeHtml,Ye.RESOURCE_URL,k.sanitizeResourceUrl,Ye.SCRIPT,k.sanitizeScript,Ye.STYLE,k.sanitizeStyle,Ye.URL,k.sanitizeUrl,Ye.ATTRIBUTE_NO_BINDING,k.validateAttribute,Ye.HTML,k.trustConstantHtml,Ye.RESOURCE_URL,k.trustConstantResourceUrl;var Xt=(function(e){return e[e.None=0]=`None`,e[e.ViewContextRead=1]=`ViewContextRead`,e[e.ViewContextWrite=2]=`ViewContextWrite`,e[e.SideEffectful=4]=`SideEffectful`,e})(Xt||{});j.Tmpl,j.Tmpl,j.Both,j.Host,j.Tmpl,j.Tmpl,j.Tmpl,j.Both,j.Both,j.Both,j.Tmpl,j.Both,j.Both,j.Tmpl,j.Both,j.Tmpl,j.Both,j.Both,j.Tmpl,j.Tmpl,j.Tmpl,j.Tmpl,j.Tmpl,j.Both,j.Both,j.Tmpl,j.Tmpl,j.Tmpl,j.Tmpl,j.Both,j.Both,j.Both,j.Tmpl,j.Tmpl,j.Both,j.Tmpl,j.Tmpl,j.Tmpl,j.Both,j.Both,j.Tmpl,j.Both,j.Both,j.Both,j.Both,j.Both,j.Tmpl,j.Tmpl,j.Tmpl,j.Tmpl,j.Tmpl,j.Tmpl,j.Tmpl,j.Tmpl,j.Tmpl,j.Tmpl,j.Tmpl,j.Tmpl,j.Both,j.Tmpl,j.Both,j.Tmpl,j.Both,j.Tmpl,j.Tmpl,j.Tmpl,j.Tmpl,j.Tmpl,j.Tmpl,j.Both,j.Both,j.Both,Et.Property,Lt.Property,Et.TwoWay,Lt.TwoWayProperty,Et.Attribute,Lt.Attribute,Et.Class,Lt.ClassName,Et.Style,Lt.StyleProperty,Et.LegacyAnimation,Lt.LegacyAnimation,Et.Animation,Lt.Animation;var Zt=`%COMP%`;`${Zt}`,`${Zt}`,class e{static SINGLETON=new e;static veWillInferAnyFor(t){let n=e.SINGLETON;return t instanceof Tt?t.visit(n):t.receiver.visit(n)}visitUnary(e){return e.expr.visit(this)}visitBinary(e){return e.left.visit(this)||e.right.visit(this)}visitChain(){return!1}visitConditional(e){return e.condition.visit(this)||e.trueExp.visit(this)||e.falseExp.visit(this)}visitCall(){return!0}visitSafeCall(){return!1}visitImplicitReceiver(){return!1}visitThisReceiver(){return!1}visitInterpolation(e){return e.expressions.some(e=>e.visit(this))}visitKeyedRead(){return!1}visitLiteralArray(){return!0}visitLiteralMap(){return!0}visitLiteralPrimitive(){return!1}visitPipe(){return!0}visitPrefixNot(e){return e.expression.visit(this)}visitTypeofExpression(e){return e.expression.visit(this)}visitVoidExpression(e){return e.expression.visit(this)}visitNonNullAssert(e){return e.expression.visit(this)}visitPropertyRead(){return!1}visitSafePropertyRead(){return!1}visitSafeKeyedRead(){return!1}visitTemplateLiteral(){return!1}visitTemplateLiteralElement(){return!1}visitTaggedTemplateLiteral(){return!1}visitParenthesizedExpression(e){return e.expression.visit(this)}visitRegularExpressionLiteral(){return!1}visitSpreadElement(e){return e.expression.visit(this)}visitArrowFunction(e,t){return!1}};var Qt=null,$t=!1,en=1,tn=null,nn=Symbol(`SIGNAL`);function M(e){let t=Qt;return Qt=e,t}function rn(){return Qt}var an={version:0,lastCleanEpoch:0,dirty:!1,producers:void 0,producersTail:void 0,consumers:void 0,consumersTail:void 0,recomputing:!1,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,kind:`unknown`,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function on(e){if($t)throw Error(``);if(Qt===null)return;Qt.consumerOnSignalRead(e);let t=Qt.producersTail;if(t!==void 0&&t.producer===e)return;let n,r=Qt.recomputing;if(r&&(n=t===void 0?Qt.producers:t.nextProducer,n!==void 0&&n.producer===e)){Qt.producersTail=n,n.lastReadVersion=e.version,n.knownValidAtEpoch=en;return}let i=e.consumersTail;if(i!==void 0&&i.consumer===Qt&&(!r||i.knownValidAtEpoch===en))return;let a=xn(Qt),o={producer:e,consumer:Qt,nextProducer:n,prevConsumer:void 0,knownValidAtEpoch:en,lastReadVersion:e.version,nextConsumer:void 0};Qt.producersTail=o,t===void 0?Qt.producers=o:t.nextProducer=o,a&&yn(e,o)}function sn(){en++}function cn(e){if((!xn(e)||e.dirty)&&(e.dirty||e.lastCleanEpoch!==en)){if(!e.producerMustRecompute(e)&&!_n(e)){fn(e);return}e.producerRecomputeValue(e),fn(e)}}function ln(e){if(e.consumers===void 0)return;let t=$t;$t=!0;try{for(let t=e.consumers;t!==void 0;t=t.nextConsumer){let e=t.consumer;e.dirty||dn(e)}}finally{$t=t}}function un(){return Qt?.consumerAllowSignalWrites!==!1}function dn(e){e.dirty=!0,ln(e),e.consumerMarkedDirty?.(e)}function fn(e){e.dirty=!1,e.lastCleanEpoch=en}function pn(e){return e&&mn(e),M(e)}function mn(e){if(e.producersTail?.knownValidAtEpoch===en){let t=e.producers;for(;t!==void 0;)t.knownValidAtEpoch=null,t=t.nextProducer}e.producersTail=void 0,e.recomputing=!0}function hn(e,t){M(t),e&&gn(e)}function gn(e){e.recomputing=!1;let t=e.producersTail,n=t===void 0?e.producers:t.nextProducer;if(n!==void 0){if(xn(e))do n=bn(n);while(n!==void 0);t===void 0?e.producers=void 0:t.nextProducer=void 0}}function _n(e){for(let t=e.producers;t!==void 0;t=t.nextProducer){let e=t.producer,n=t.lastReadVersion;if(n!==e.version||(cn(e),n!==e.version))return!0}return!1}function vn(e){if(xn(e)){let t=e.producers;for(;t!==void 0;)t=bn(t)}e.producers=void 0,e.producersTail=void 0,e.consumers=void 0,e.consumersTail=void 0}function yn(e,t){let n=e.consumersTail,r=xn(e);if(n===void 0?(t.nextConsumer=void 0,e.consumers=t):(t.nextConsumer=n.nextConsumer,n.nextConsumer=t),t.prevConsumer=n,e.consumersTail=t,!r)for(let t=e.producers;t!==void 0;t=t.nextProducer)yn(t.producer,t)}function bn(e){let t=e.producer,n=e.nextProducer,r=e.nextConsumer,i=e.prevConsumer;if(e.nextConsumer=void 0,e.prevConsumer=void 0,r===void 0?t.consumersTail=i:r.prevConsumer=i,i!==void 0)i.nextConsumer=r;else if(t.consumers=r,!xn(t)){let e=t.producers;for(;e!==void 0;)e=bn(e)}return n}function xn(e){return e.consumerIsAlwaysLive||e.consumers!==void 0}function Sn(e){tn?.(e)}function Cn(e,t){return Object.is(e,t)}function wn(e,t){let n=Object.create(On);n.computation=e,t!==void 0&&(n.equal=t);let r=()=>{if(cn(n),on(n),n.value===Dn)throw n.error;return n.value};return r[nn]=n,Sn(n),r}var Tn=Symbol(`UNSET`),En=Symbol(`COMPUTING`),Dn=Symbol(`ERRORED`),On={...an,value:Tn,dirty:!0,error:null,equal:Cn,kind:`computed`,producerMustRecompute(e){return e.value===Tn||e.value===En},producerRecomputeValue(e){if(e.value===En)throw Error(``);let t=e.value;e.value=En;let n=pn(e),r,i=!1;try{r=e.computation(),M(null),i=t!==Tn&&t!==Dn&&r!==Dn&&e.equal(t,r)}catch(t){r=Dn,e.error=t}finally{hn(e,n)}if(i){e.value=t;return}e.value=r,e.version++}};function kn(){throw Error()}var An=kn;function jn(e){An(e)}function Mn(e){An=e}var Nn=null;function Pn(e,t){let n=Object.create(Rn);n.value=e,t!==void 0&&(n.equal=t);let r=()=>Fn(n);return r[nn]=n,Sn(n),[r,e=>In(n,e),e=>Ln(n,e)]}function Fn(e){return on(e),e.value}function In(e,t){un()||jn(e),e.equal(e.value,t)||(e.value=t,zn(e))}function Ln(e,t){un()||jn(e),In(e,t(e.value))}var Rn={...an,equal:Cn,value:void 0,kind:`signal`};function zn(e){e.version++,sn(),ln(e),Nn?.(e)}var Bn={...an,consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!0,dirty:!0,kind:`effect`};function Vn(e){if(e.dirty=!1,e.version>0&&!_n(e))return;e.version++;let t=pn(e);try{e.cleanup(),e.fn()}finally{hn(e,t)}}var Hn=void 0;function Un(){return Hn}function Wn(e){let t=Hn;return Hn=e,t}var Gn=Symbol(`NotFound`);function Kn(e){return e===Gn||e?.name===`ɵNotFound`}var qn=function(e,t){return qn=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},qn(e,t)};function Jn(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Class extends value `+String(t)+` is not a constructor or null`);qn(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}function Yn(e){var t=typeof Symbol==`function`&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length==`number`)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw TypeError(t?`Object is not iterable.`:`Symbol.iterator is not defined.`)}function Xn(e,t){var n=typeof Symbol==`function`&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),i,a=[],o;try{for(;(t===void 0||t-->0)&&!(i=r.next()).done;)a.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return a}function Zn(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r0},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?rr:(this.currentObservers=null,a.push(e),new nr(function(){t.currentObservers=null,tr(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 kr;return e.source=this,e},t.create=function(e,t){return new zr(e,t)},t}(kr),zr=function(e){Jn(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)??rr},t}(Rr),Br=function(e){Jn(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}(Rr);function Vr(e,t){return Pr(function(n,r){var i=0;n.subscribe(Fr(r,function(n){r.next(e.call(t,n,i++))}))})}var Hr=`https://angular.dev/best-practices/security#preventing-cross-site-scripting-xss`,N=class extends Error{code;constructor(e,t){super(Wr(e,t)),this.code=e}};function Ur(e){return`NG0${Math.abs(e)}`}function Wr(e,t){return`${Ur(e)}${t?`: `+t:``}`}function P(e){for(let t in e)if(e[t]===P)return t;throw Error(``)}function Gr(e){if(typeof e==`string`)return e;if(Array.isArray(e))return`[${e.map(Gr).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 Kr(e,t){return e?t?`${e} ${t}`:e:t||``}var qr=P({__forward_ref__:P});function Jr(e){return e.__forward_ref__=Jr,e}function Yr(e){return Xr(e)?e():e}function Xr(e){return typeof e==`function`&&Object.hasOwn(e,qr)&&e.__forward_ref__===Jr}function Zr(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Qr(e){return $r(e,ni)}function $r(e,t){return Object.hasOwn(e,t)&&e[t]||null}function ei(e){return(e?.[ni]??null)||null}function ti(e){return e&&Object.hasOwn(e,ri)?e[ri]:null}var ni=P({ɵprov:P}),ri=P({ɵinj:P}),F=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=Zr({token:this,providedIn:t.providedIn||`root`,factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}};function ii(e){return e&&!!e.ɵproviders}var ai=P({ɵcmp:P}),oi=P({ɵdir:P}),si=P({ɵpipe:P}),ci=P({ɵfac:P}),li=P({__NG_ELEMENT_ID__:P}),ui=P({__NG_ENV_ID__:P});function di(e){return mi(e,`@Component`),e[ai]||null}function fi(e){return mi(e,`@Directive`),e[oi]||null}function pi(e){return mi(e,`@Pipe`),e[si]||null}function mi(e,t){if(e==null)throw new N(-919,!1)}function hi(e){return typeof e==`string`?e:e==null?``:String(e)}var gi=P({ngErrorCode:P}),_i=P({ngErrorMessage:P}),vi=P({ngTokenPath:P});function yi(e,t){return xi(``,-200,t)}function bi(e,t){throw new N(-201,!1)}function xi(e,t,n){let r=new N(t,e);return r[gi]=t,r[_i]=e,n&&(r[vi]=n),r}function Si(e){return e[gi]}var Ci;function wi(){return Ci}function Ti(e){let t=Ci;return Ci=e,t}function Ei(e,t,n){let r=Qr(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;bi(e,``)}var Di={},Oi=`__NG_DI_FLAG__`,ki=class{injector;constructor(e){this.injector=e}retrieve(e,t){let n=ji(t)||0;try{return this.injector.get(e,n&8?null:Di,n)}catch(e){if(Kn(e))return e;throw e}}};function Ai(e,t=0){let n=Un();if(n===void 0)throw new N(-203,!1);if(n===null)return Ei(e,void 0,t);{let r=Mi(t),i=n.retrieve(e,r);if(Kn(i)){if(r.optional)return null;throw i}return i}}function I(e,t=0){return(wi()||Ai)(Yr(e),t)}function L(e,t){return I(e,ji(t))}function ji(e){return e===void 0||typeof e==`number`?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Mi(e){return{optional:!!(e&8),host:!!(e&1),self:!!(e&2),skipSelf:!!(e&4)}}function Ni(e){let t=[];for(let n=0;nArray.isArray(e)?Ii(e,t):t(e))}function Li(e,t,n){t>=e.length?e.push(n):e.splice(t,0,n)}function Ri(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function zi(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 Bi(e,t,n){let r=Hi(e,t);return r>=0?e[r|1]=n:(r=~r,zi(e,r,t,n)),r}function Vi(e,t){let n=Hi(e,t);if(n>=0)return e[n|1]}function Hi(e,t){return Ui(e,t,1)}function Ui(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 Ii(t,e=>{let t=e;$i(t,a,[],r)&&(i||=[],i.push(t))}),i!==void 0&&Qi(i,a),n}function Qi(e,t){for(let n=0;n{t(e,r)})}}function $i(e,t,n,r){if(e=Yr(e),!e)return!1;let i=null,a=ti(e),o=!a&&di(e);if(!a&&!o){let t=e.ngModule;if(a=ti(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)$i(i,t,n,r)}}else if(a){if(a.imports!=null&&!s){r.add(i);let e;try{Ii(a.imports,i=>{$i(i,t,n,r)&&(e||=[],e.push(i))})}finally{}e!==void 0&&Qi(e,t)}if(!s){let e=Fi(i)||(()=>new i);t({provide:i,useFactory:e,deps:Gi},i),t({provide:Ji,useValue:i,multi:!0},i),t({provide:Ki,useValue:()=>I(i),multi:!0},i)}let o=a.providers;if(o!=null&&!s){let n=e;ea(o,e=>{t(e,n)})}}else return!1;return i!==e&&e.providers!==void 0}function ea(e,t){for(let n of e)ii(n)&&(n=n.ɵproviders),Array.isArray(n)?ea(n,t):t(n)}var ta=P({provide:String,useValue:P});function na(e){return typeof e==`object`&&!!e&&ta in e}function ra(e){return!!(e&&e.useExisting)}function ia(e){return!!(e&&e.useFactory)}function aa(e){return typeof e==`function`}var oa=new F(``),sa={},ca={},la=void 0;function ua(){return la===void 0&&(la=new Yi),la}var da=class{},fa=class extends da{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,Sa(e,e=>this.processProvider(e)),this.records.set(qi,va(void 0,this)),r.has(`environment`)&&this.records.set(da,va(void 0,this));let i=this.records.get(oa);i!=null&&typeof i.value==`string`&&this.scopes.add(i.value),this.injectorDefTypes=new Set(this.get(Ji,Gi,{self:!0}))}retrieve(e,t){let n=ji(t)||0;try{return this.get(e,Di,n)}catch(e){if(Kn(e))return e;throw e}}destroy(){_a(this),this._destroyed=!0;let e=M(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(),M(e)}}onDestroy(e){return _a(this),this._onDestroyHooks.push(e),()=>this.removeOnDestroy(e)}runInContext(e){_a(this);let t=Wn(this),n=Ti(void 0);try{return e()}finally{Wn(t),Ti(n)}}get(e,t=Di,n){if(_a(this),Object.hasOwn(e,ui))return e[ui](this);let r=ji(n),i=Wn(this),a=Ti(void 0);try{if(!(r&4)){let t=this.records.get(e);if(t===void 0){let n=xa(e)&&Qr(e);t=n&&this.injectableDefInScope(n)?va(pa(e),sa):null,this.records.set(e,t)}if(t!=null)return this.hydrate(e,t,r)}let n=r&2?ua():this.parent;return t=r&8&&t===Di?null:t,n.get(e,t)}catch(e){let t=Si(e);throw t===-200||t===-201?new N(t,null):e}finally{Ti(a),Wn(i)}}resolveInjectorInitializers(){let e=M(null),t=Wn(this),n=Ti(void 0);try{let e=this.get(Ki,Gi,{self:!0});for(let t of e)t()}finally{Wn(t),Ti(n),M(e)}}toString(){return`R3Injector[...]`}processProvider(e){e=Yr(e);let t=aa(e)?e:Yr(e&&e.provide),n=ha(e);if(!aa(e)&&e.multi===!0){let n=this.records.get(t);n||(n=va(void 0,sa,!0),n.factory=()=>Ni(n.multi),this.records.set(t,n)),t=e,n.multi.push(e)}this.records.set(t,n)}hydrate(e,t,n){let r=M(null);try{if(t.value===ca)throw yi(``);return t.value===sa&&(t.value=ca,t.value=t.factory(void 0,n)),typeof t.value==`object`&&t.value&&ba(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}finally{M(r)}}injectableDefInScope(e){if(!e.providedIn)return!1;let t=Yr(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 pa(e){let t=Qr(e),n=t===null?Fi(e):t.factory;if(n!==null)return n;if(e instanceof F)throw new N(-204,!1);if(e instanceof Function)return ma(e);throw new N(-204,!1)}function ma(e){if(e.length>0)throw new N(-204,!1);let t=ei(e);return t===null?()=>new e:()=>t.factory(e)}function ha(e){return na(e)?va(void 0,e.useValue):va(ga(e),sa)}function ga(e,t,n){let r;if(aa(e)){let t=Yr(e);return Fi(t)||pa(t)}if(na(e))r=()=>Yr(e.useValue);else if(ia(e))r=()=>e.useFactory(...Ni(e.deps||[]));else if(ra(e))r=(t,n)=>I(Yr(e.useExisting),n!==void 0&&n&8?8:void 0);else{let t=Yr(e&&(e.useClass||e.provide));if(ya(e))r=()=>new t(...Ni(e.deps));else return Fi(t)||pa(t)}return r}function _a(e){if(e.destroyed)throw new N(-205,!1)}function va(e,t,n=!1){return{factory:e,value:t,multi:n?[]:void 0}}function ya(e){return!!e.deps}function ba(e){return typeof e==`object`&&!!e&&typeof e.ngOnDestroy==`function`}function xa(e){return typeof e==`function`||typeof e==`object`&&e.ngMetadataName===`InjectionToken`}function Sa(e,t){for(let n of e)Array.isArray(n)?Sa(n,t):n&&ii(n)?Sa(n.ɵproviders,t):t(n)}function Ca(e,t){let n;e instanceof fa?(_a(e),n=e):n=new ki(e);let r=Wn(n),i=Ti(void 0);try{return t()}finally{Wn(r),Ti(i)}}function wa(){return wi()!==void 0||Un()!=null}var Ta=1;function Ea(e){return Array.isArray(e)&&typeof e[Ta]==`object`}function Da(e){return Array.isArray(e)&&e[Ta]===!0}function Oa(e){return!!(e.flags&4)}function ka(e){return e.componentOffset>-1}function Aa(e){return(e.flags&1)==1}function ja(e){return!!e.template}function Ma(e){return!!(e[2]&512)}function Na(e){return(e[2]&256)==256}var Pa=`math`;function Fa(e){for(;Array.isArray(e);)e=e[0];return e}function Ia(e,t){return Fa(t[e])}function La(e,t){return Fa(t[e.index])}function Ra(e,t){return e.data[t]}function za(e,t){return e[t]}function Ba(e,t,n,r){n>=e.data.length&&(e.data[n]=null,e.blueprint[n]=null),t[n]=r}function Va(e,t){let n=t[e];return Ea(n)?n:n[0]}function Ha(e){return(e[2]&128)==128}function Ua(e,t){return t==null?null:e[t]}function Wa(e){e[17]=0}function Ga(e){e[2]&1024||(e[2]|=1024,Ha(e)&&Ya(e))}function Ka(e,t){for(;e>0;)t=t[14],e--;return t}function qa(e){return!!(e[2]&9216||e[24]?.dirty)}function Ja(e){e[10].changeDetectionScheduler?.notify(8),e[2]&64&&(e[2]|=1024),qa(e)&&Ya(e)}function Ya(e){e[10].changeDetectionScheduler?.notify(0);let t=Qa(e);for(;t!==null&&!(t[2]&8192||(t[2]|=8192,!Ha(t)));)t=Qa(t)}function Xa(e,t){if(Na(e))throw new N(911,!1);e[21]===null&&(e[21]=[]),e[21].push(t)}function Za(e,t){if(e[21]===null)return;let n=e[21].indexOf(t);n!==-1&&e[21].splice(n,1)}function Qa(e){let t=e[3];return Da(t)?t[3]:t}function $a(e){return e[7]??=[]}function eo(e){return e.cleanup??=[]}var R={lFrame:Io(null),bindingsEnabled:!0,skipHydrationRootTNode:null},to=!1;function no(){return R.lFrame.elementDepthCount}function ro(){R.lFrame.elementDepthCount++}function io(){R.lFrame.elementDepthCount--}function ao(){return R.bindingsEnabled}function oo(){return R.skipHydrationRootTNode!==null}function so(e){return R.skipHydrationRootTNode===e}function co(){R.skipHydrationRootTNode=null}function z(){return R.lFrame.lView}function lo(){return R.lFrame.tView}function uo(e){return R.lFrame.contextLView=e,e[8]}function fo(e){return R.lFrame.contextLView=null,e}function po(){let e=mo();for(;e!==null&&e.type===64;)e=e.parent;return e}function mo(){return R.lFrame.currentTNode}function ho(){let e=R.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}function go(e,t){let n=R.lFrame;n.currentTNode=e,n.isParent=t}function _o(){return R.lFrame.isParent}function vo(){R.lFrame.isParent=!1}function yo(){return to}function bo(e){let t=to;return to=e,t}function xo(){let e=R.lFrame,t=e.bindingRootIndex;return t===-1&&(t=e.bindingRootIndex=e.tView.bindingStartIndex),t}function So(){return R.lFrame.bindingIndex}function Co(e){return R.lFrame.bindingIndex=e}function wo(){return R.lFrame.bindingIndex++}function To(e){let t=R.lFrame,n=t.bindingIndex;return t.bindingIndex+=e,n}function Eo(){return R.lFrame.inI18n}function Do(e,t){let n=R.lFrame;n.bindingIndex=n.bindingRootIndex=e,ko(t)}function Oo(){return R.lFrame.currentDirectiveIndex}function ko(e){R.lFrame.currentDirectiveIndex=e}function Ao(e){let t=R.lFrame.currentDirectiveIndex;return t===-1?null:e[t]}function jo(e){R.lFrame.currentQueryIndex=e}function Mo(e){let t=e[1];return t.type===2?t.declTNode:t.type===1?e[5]:null}function No(e,t,n){if(n&4){let r=t,i=e;for(;r=r.parent,r===null&&!(n&1)&&(r=Mo(i),!(r===null||(i=i[14],r.type&10))););if(r===null)return!1;t=r,e=i}let r=R.lFrame=Fo();return r.currentTNode=t,r.lView=e,!0}function Po(e){let t=Fo(),n=e[1];R.lFrame=t,t.currentTNode=n.firstChild,t.lView=e,t.tView=n,t.contextLView=e,t.bindingIndex=n.bindingStartIndex,t.inI18n=!1}function Fo(){let e=R.lFrame,t=e===null?null:e.child;return t===null?Io(e):t}function Io(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 Lo(){let e=R.lFrame;return R.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}var Ro=Lo;function zo(){let e=Lo();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 Bo(e){return(R.lFrame.contextLView=Ka(e,R.lFrame.contextLView))[8]}function Vo(){return R.lFrame.selectedIndex}function Ho(e){R.lFrame.selectedIndex=e}function Uo(){let e=R.lFrame;return Ra(e.tView,e.selectedIndex)}function Wo(){R.lFrame.currentNamespace=`svg`}function Go(){Ko()}function Ko(){R.lFrame.currentNamespace=null}function qo(){return R.lFrame.currentNamespace}var Jo=!0;function Yo(){return Jo}function Xo(e){Jo=e}function Zo(e,t=null,n=null,r){let i=Qo(e,t,n,r);return i.resolveInjectorInitializers(),i}function Qo(e,t=null,n=null,r,i=new Set){return new fa([n||Gi,Xi(e)],t||ua(),null,i)}var $o=class e{static THROW_IF_NOT_FOUND=Di;static NULL=new Yi;static create(e,t){if(Array.isArray(e))return Zo({name:``},t,e,``);{let t=e.name??``;return Zo({name:t},e.parent,e.providers,t)}}static ɵprov=Zr({token:e,providedIn:`any`,factory:()=>I(qi)});static __NG_ELEMENT_ID__=-1},es=new F(``),ts=class{static __NG_ELEMENT_ID__=rs;static __NG_ENV_ID__=e=>e},ns=class extends ts{_lView;constructor(e){super(),this._lView=e}get destroyed(){return Na(this._lView)}onDestroy(e){let t=this._lView;return Xa(t,e),()=>Za(t,e)}};function rs(){return new ns(z())}var is=new F(``),as=(()=>{class e{taskId=0;pendingTasks=new Set;destroyed=!1;pendingTask=new Br(!1);debugTaskTracker=L(is,{optional:!0});get hasPendingTasks(){return!this.destroyed&&this.pendingTask.value}get hasPendingTasksObservable(){return this.destroyed?new kr(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=Zr({token:e,providedIn:`root`,factory:()=>new e})}return e})(),os=class extends Rr{__isAsync;destroyRef=void 0;pendingTasks=void 0;constructor(e=!1){super(),this.__isAsync=e,wa()&&(this.destroyRef=L(ts,{optional:!0})??void 0,this.pendingTasks=L(as,{optional:!0})??void 0)}emit(e){let t=M(null);try{super.next(e)}finally{M(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 nr&&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 ss(...e){}function cs(e){let t,n;function r(){e=ss;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 ls(e){return queueMicrotask(()=>e()),()=>{e=ss}}var us=`isAngularZone`,ds=`isAngularZone_ID`,fs=0,ps=class e{hasPendingMacrotasks=!1;hasPendingMicrotasks=!1;isStable=!0;onUnstable=new os(!1);onMicrotaskEmpty=new os(!1);onStable=new os(!1);onError=new os(!1);constructor(e){let{enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:n=!1,shouldCoalesceRunChangeDetection:r=!1,scheduleInRootZone:i=!1}=e;if(typeof Zone>`u`)throw new N(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,_s(a)}static isInAngularZone(){return typeof Zone<`u`&&Zone.current.get(us)===!0}static assertInAngularZone(){if(!e.isInAngularZone())throw new N(909,!1)}static assertNotInAngularZone(){if(e.isInAngularZone())throw new N(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,ms,ss,ss);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)}},ms={};function hs(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 gs(e){if(e.isCheckStableRunning||e.callbackScheduled)return;e.callbackScheduled=!0;function t(){cs(()=>{e.callbackScheduled=!1,vs(e),e.isCheckStableRunning=!0,hs(e),e.isCheckStableRunning=!1})}e.scheduleInRootZone?Zone.root.run(()=>{t()}):e._outer.run(()=>{t()}),vs(e)}function _s(e){let t=()=>{gs(e)},n=fs++;e._inner=e._inner.fork({name:`angular`,properties:{[us]:!0,[ds]:n,[ds+n]:!0},onInvokeTask:(n,r,i,a,o,s)=>{if(Ss(s))return n.invokeTask(i,a,o,s);try{return ys(e),n.invokeTask(i,a,o,s)}finally{(e.shouldCoalesceEventChangeDetection&&a.type===`eventTask`||e.shouldCoalesceRunChangeDetection)&&t(),bs(e)}},onInvoke:(n,r,i,a,o,s,c)=>{try{return ys(e),n.invoke(i,a,o,s,c)}finally{e.shouldCoalesceRunChangeDetection&&!e.callbackScheduled&&!Cs(s)&&t(),bs(e)}},onHasTask:(t,n,r,i)=>{t.hasTask(r,i),n===r&&(i.change==`microTask`?(e._hasPendingMicrotasks=i.microTask,vs(e),hs(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 vs(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&e.callbackScheduled===!0)}function ys(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function bs(e){e._nesting--,hs(e)}var xs=class{hasPendingMicrotasks=!1;hasPendingMacrotasks=!1;isStable=!0;onUnstable=new os;onMicrotaskEmpty=new os;onStable=new os;onError=new os;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 Ss(e){return ws(e,`__ignore_ng_zone__`)}function Cs(e){return ws(e,`__scheduler_tick__`)}function ws(e,t){return!Array.isArray(e)||e.length!==1?!1:e[0]?.data?.[t]===!0}var Ts=class{_console=console;handleError(e){this._console.error(`ERROR`,e)}},Es=new F(``,{factory:()=>{let e=L(ps),t=L(da),n;return r=>{e.runOutsideAngular(()=>{t.destroyed&&!n?setTimeout(()=>{throw r}):(n??=t.get(Ts),n.handleError(r))})}}}),Ds={provide:Ki,useValue:()=>{L(Ts,{optional:!0})},multi:!0};function B(e,t){let[n,r,i]=Pn(e,t?.equal),a=n;return a[nn],a.set=r,a.update=i,a.asReadonly=Os.bind(a),a}function Os(){let e=this[nn];if(e.readonlyFn===void 0){let t=()=>this();t[nn]=e,e.readonlyFn=t}return e.readonlyFn}var ks=new F(``,{factory:()=>As}),As=`ng`,js=new F(``),Ms=new F(``,{providedIn:`platform`,factory:()=>`unknown`}),Ns=new F(``,{factory:()=>L(es).body?.querySelector(`[ngCspNonce]`)?.getAttribute(`ngCspNonce`)||null}),Ps=(()=>{class e{view;node;constructor(e,t){this.view=e,this.node=t}static __NG_ELEMENT_ID__=Fs}return e})();function Fs(){return new Ps(z(),po())}var Is=class{},Ls=new F(``,{factory:()=>!0}),Rs=new F(``),zs=(()=>{class e{static ɵprov=Zr({token:e,providedIn:`root`,factory:()=>new Bs})}return e})(),Bs=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}},Vs=class{[nn];constructor(e){this[nn]=e}destroy(){this[nn].destroy()}};function Hs(e,t){let n=t?.injector??L($o),r=t?.manualCleanup===!0?null:n.get(ts),i,a=n.get(Ps,null,{optional:!0}),o=n.get(Is);return a===null?i=qs(e,n.get(zs),o):(i=Ks(a.view,o,e),r instanceof ns&&r._lView===a.view&&(r=null)),i.injector=n,r!==null&&(i.onDestroyFns=[r.onDestroy(()=>i.destroy())]),new Vs(i)}var Us={...Bn,cleanupFns:void 0,zone:null,onDestroyFns:null,run(){let e=bo(!1);try{Vn(this)}finally{bo(e)}},cleanup(){if(!this.cleanupFns?.length)return;let e=M(null);try{for(;this.cleanupFns.length;)this.cleanupFns.pop()()}finally{this.cleanupFns=[],M(e)}}},Ws={...Us,consumerMarkedDirty(){this.scheduler.schedule(this),this.notifier.notify(12)},destroy(){if(vn(this),this.onDestroyFns!==null)for(let e of this.onDestroyFns)e();this.cleanup(),this.scheduler.remove(this)}},Gs={...Us,consumerMarkedDirty(){this.view[2]|=8192,Ya(this.view),this.notifier.notify(13)},destroy(){if(vn(this),this.onDestroyFns!==null)for(let e of this.onDestroyFns)e();this.cleanup(),this.view[23]?.delete(this)}};function Ks(e,t,n){let r=Object.create(Gs);return r.view=e,r.zone=typeof Zone<`u`?Zone.current:null,r.notifier=t,r.fn=Js(r,n),e[23]??=new Set,e[23].add(r),r.consumerMarkedDirty(r),r}function qs(e,t,n){let r=Object.create(Ws);return r.fn=Js(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 Js(e,t){return()=>{t(t=>(e.cleanupFns??=[]).push(t))}}var Ys=(()=>{class e{internalPendingTasks=L(as);scheduler=L(Is);errorHandler=L(Es);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=Zr({token:e,providedIn:`root`,factory:()=>new e})}return e})(),Xs=Symbol(`InputSignalNode#UNSET`),Zs={...Rn,transformFn:void 0,applyValueToInputSignal(e,t){In(e,t)}};function Qs(e){return{toString:e}.toString()}var V=(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})(V||{});function $s(e,t,n,r){t===null?e[n]=r:t.applyValueToInputSignal(t,r)}var ec=null;function tc(){return ec}var nc=[],H=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,lc(o,a)):lc(o,a)}var dc=-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 pc(e){return!!(e.flags&8)}function mc(e){return!!(e.flags&16)}function hc(e,t,n){let r=0;for(;rt){o=a-1;break}}}for(;a>16}function Cc(e,t){let n=Sc(e),r=t;for(;n>0;)r=r[14],n--;return r}var wc=!0;function Tc(e){let t=wc;return wc=e,t}var Ec=255,Dc=5,Oc=0,kc={};function Ac(e,t,n){let r;typeof n==`string`?r=n.charCodeAt(0)||0:Object.hasOwn(n,li)&&(r=n[li]),r??=n[li]=Oc++;let i=r&Ec,a=1<>Dc)]|=a}function jc(e,t){let n=Nc(e,t);if(n!==-1)return n;let r=t[1];r.firstCreatePass&&(e.injectorIndex=t.length,Mc(r.data,e),Mc(t,null),Mc(r.blueprint,null));let i=Pc(e,t),a=e.injectorIndex;if(bc(i)){let e=xc(i),n=Cc(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 Mc(e,t){e.push(0,0,0,0,0,0,0,0,t)}function Nc(e,t){return e.injectorIndex===-1||e.parent&&e.parent.injectorIndex===e.injectorIndex||t[e.injectorIndex+8]===null?-1:e.injectorIndex}function Pc(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=Yc(i),r===null)return dc;if(n++,i=i[14],r.injectorIndex!==-1)return r.injectorIndex|n<<16}return dc}function Fc(e,t,n){Ac(e,t,n)}function Ic(e,t,n){if(n&8||e!==void 0)return e;bi(t,`NodeInjector`)}function Lc(e,t,n,r){if(n&8&&r===void 0&&(r=null),!(n&3)){let i=e[9],a=Ti(void 0);try{return i?i.get(t,r,n&8):Ei(t,r,n&8)}finally{Ti(a)}}return Ic(r,t,n)}function Rc(e,t,n,r=0,i){if(e!==null){if(t[2]&2048&&!(r&2)){let i=Jc(e,t,n,r,kc);if(i!==kc)return i}let i=zc(e,t,n,r,kc);if(i!==kc)return i}return Lc(t,n,r,i)}function zc(e,t,n,r,i){let a=Uc(n);if(typeof a==`function`){if(!No(t,e,r))return r&1?Ic(i,n,r):Lc(t,n,r,i);try{let e;if(e=a(r),e==null&&!(r&8))bi(n);else return e}finally{Ro()}}else if(typeof a==`number`){let i=null,o=Nc(e,t),s=dc,c=r&1?t[15][5]:null;for((o===-1||r&4)&&(s=o===-1?Pc(e,t):t[o+8],s===dc||!Gc(r,!1)?o=-1:(i=t[1],o=xc(s),t=Cc(s,t)));o!==-1;){let e=t[1];if(Wc(a,o,e.data)){let e=Bc(o,t,n,i,r,c);if(e!==kc)return e}s=t[o+8],s!==dc&&Gc(r,t[1].data[o+8]===c)&&Wc(a,o,t)?(i=e,o=xc(s),t=Cc(s,t)):o=-1}}return i}function Bc(e,t,n,r,i,a){let o=t[1],s=o.data[e+8],c=Vc(s,o,n,r==null?ka(s)&&wc:r!=o&&!!(s.type&3),i&1&&a===s);return c===null?kc:Hc(t,o,c,s,i)}function Vc(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&&ja(e)&&e.type===n)return c}return null}function Hc(e,t,n,r,i){let a=e[n],o=t.data;if(a instanceof fc){let s=a;if(s.resolving)throw yi(``);let c=Tc(s.canSeeViewProviders);s.resolving=!0,o[n].type||o[n];let l=s.injectImpl?Ti(s.injectImpl):null;No(e,r,0);try{a=e[n]=s.factory(void 0,i,o,e,r),t.firstCreatePass&&n>=r.directiveStart&&rc(n,o[n],t)}finally{l!==null&&Ti(l),Tc(c),s.resolving=!1,Ro()}}return a}function Uc(e){if(typeof e==`string`)return e.charCodeAt(0)||0;let t=Object.hasOwn(e,li)?e[li]:void 0;return typeof t==`number`?t>=0?t&Ec:qc:t}function Wc(e,t,n){let r=1<>Dc)]&r)}function Gc(e,t){return!(e&2)&&!(e&1&&t)}var Kc=class{_tNode;_lView;constructor(e,t){this._tNode=e,this._lView=t}get(e,t,n){return Rc(this._tNode,this._lView,e,ji(n),t)}};function qc(){return new Kc(po(),z())}function Jc(e,t,n,r,i){let a=e,o=t;for(;a!==null&&o!==null&&o[2]&2048&&!Ma(o);){let e=zc(a,o,n,r|2,kc);if(e!==kc)return e;r&=-5;let t=a.parent;if(!t){let e=o[20];if(e){let t=e.get(n,kc,r);if(t!==kc)return t}t=Yc(o),o=o[14]}a=t}return i}function Yc(e){let t=e[1],n=t.type;return n===2?t.declTNode:n===1?e[5]:null}var Xc=()=>(typeof requestIdleCallback<`u`?requestIdleCallback:e=>setTimeout(e)).bind(globalThis),Zc=()=>(typeof requestIdleCallback<`u`?cancelIdleCallback:clearTimeout).bind(globalThis),Qc=new F(``,{factory:()=>new $c}),$c=class{requestIdleCallback=Xc();cancelIdleCallback=Zc();requestOnIdle(e,t){return this.requestIdleCallback(e,t)}cancelOnIdle(e){return this.cancelIdleCallback(e)}};function el(e){return{token:e.token,providedIn:e.autoProvided===!1?null:`root`,factory:e.factory,value:void 0}}function tl(){return nl(po(),z())}function nl(e,t){return new rl(La(e,t))}var rl=(()=>{class e{nativeElement;constructor(e){this.nativeElement=e}static __NG_ELEMENT_ID__=tl}return e})();function il(e){return(e.flags&128)==128}var al=(function(e){return e[e.OnPush=0]=`OnPush`,e[e.Eager=1]=`Eager`,e[e.Default=1]=`Default`,e})(al||{}),ol=new Map,sl=0;function cl(){return sl++}function ll(e){ol.set(e[19],e)}function ul(e){ol.delete(e[19])}var dl=`__ngContext__`;function fl(e,t){Ea(t)?(e[dl]=t[19],ll(t)):e[dl]=t}function pl(e){return hl(e[12])}function ml(e){return hl(e[4])}function hl(e){for(;e!==null&&!Da(e);)e=e[4];return e}var gl=void 0;function _l(e){gl=e}function vl(){if(gl!==void 0)return gl;if(typeof document<`u`)return document;throw new N(210,!1)}var yl=!1,bl=new F(``,{factory:()=>yl}),xl=new F(``),Sl=new WeakMap;function Cl(e,t){if(typeof e!=`object`||!e)return;let n=Sl.get(e);n||(n=new WeakSet,Sl.set(e,n)),n.add(t)}var wl=new F(``);function Tl(e){return(e.flags&32)==32}var El=()=>null;function Dl(e,t,n=!1){return El(e,t,n)}function Ol(e){return e.get(xl,!1,{optional:!0})}function kl(e,t){let n=e.contentQueries;if(n!==null){let r=M(null);try{for(let r=0;r|^->||--!>|)/g,Ll=`​$1​`;function Rl(e){return e.replace(Fl,e=>e.replace(Il,Ll))}function zl(e,t){return e.createText(t)}function Bl(e,t,n){e.setValue(t,n)}function Vl(e,t){return e.createComment(Rl(t))}function Hl(e,t,n){return e.createElement(t,n)}function Ul(e,t,n,r,i){e.insertBefore(t,n,r,i)}function Wl(e,t,n){e.appendChild(t,n)}function Gl(e,t,n,r,i){r===null?Wl(e,t,n):Ul(e,t,n,r,i)}function Kl(e,t,n,r){e.removeChild(null,t,n,r)}function ql(e,t,n){e.setAttribute(t,`style`,n)}function Jl(e,t,n){n===``?e.removeAttribute(t,`class`):e.setAttribute(t,`class`,n)}function Yl(e,t,n){let{mergedAttrs:r,classes:i,styles:a}=n;r!==null&&hc(e,t,r),i!==null&&Jl(e,t,i),a!==null&&ql(e,t,a)}function Xl(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 Zl=`ng-template`;function Ql(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(nu(r))return!1;o=!0}}}}}return nu(r)||o}function nu(e){return!(e&1)}function ru(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!==``&&!nu(o)&&(t+=su(a,i),i=``),r=o,a||=!nu(r);n++}return i!==``&&(t+=su(a,i)),t}function lu(e){return e.map(cu).join(`,`)}function uu(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 bu(e,t,n){let r=_u(n),i=gu.get(e);i?i.some(e=>e.el===t)||i.push({el:t,declarationView:r}):gu.set(e,[{el:t,declarationView:r}])}var xu=(function(e){return e[e.CHANGE_DETECTION=0]=`CHANGE_DETECTION`,e[e.AFTER_NEXT_RENDER=1]=`AFTER_NEXT_RENDER`,e})(xu||{}),Su=new F(``),Cu=new Set;function wu(e){Cu.has(e)||(Cu.add(e),performance?.mark?.(`mark_feature_usage`,{detail:{feature:e}}))}var Tu=(()=>{class e{impl=null;execute(){this.impl?.execute()}static ɵprov=Zr({token:e,providedIn:`root`,factory:()=>new e})}return e})(),Eu=new F(``,{factory:()=>{let e=L(da),t=new Set;return e.onDestroy(()=>t.clear()),{queue:t,isScheduled:!1,scheduler:null,injector:e}}});function Du(e,t,n){let r=e.get(Eu);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 Ou(e,t){let n=e.get(Eu);if(Array.isArray(t))for(let e of t)n.queue.delete(e);else n.queue.delete(t)}function ku(e,t){let n=e.get(Eu);if(t.detachedLeaveAnimationFns){for(let e of t.detachedLeaveAnimationFns)n.queue.delete(e);t.detachedLeaveAnimationFns=void 0}}function Au(e,t){for(let[n,r]of t)Du(e,r.animateFns)}function ju(e,t,n,r){let i=e?.[26]?.enter;t!==null&&i&&i.has(n.index)&&Au(r,i)}function Mu(e,t,n,r){try{n.get(qi)}catch{return r(!1)}let i=e?.[26];i?.enter?.has(t.index)&&Ou(n,i.enter.get(t.index).animateFns);let a=Nu(e,t,i);if(a.size===0){let n=!1;if(e){let r=[];Fu(e,t,r),n=r.length>0}if(!n)return r(!1)}e&&hu.add(e[19]),Du(n,()=>Pu(e,t,i||void 0,a,r),i||void 0)}function Nu(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 Pu(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&&Fu(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),Lu(e,t.running,i)}else Promise.allSettled(a).then(()=>{e&&hu.delete(e[19]),i(!0)})}else e&&hu.delete(e[19]),i(!1)}function Fu(e,t,n){if(t.type&12){let r=e[t.index];if(Da(r))for(let e=10;e{e[26]?.running===t&&(e[26].running=void 0,hu.delete(e[19])),n(!0)})}function Ru(e,t,n,r,i,a,o,s){if(i!=null){let c,l=!1;Da(i)?c=i:Ea(i)&&(l=!0,i=i[0]);let u=Fa(i);e===0&&r!==null?(ju(s,r,a,n),o==null?Wl(t,r,u):Ul(t,r,u,o||null,!0)):e===1&&r!==null?(ju(s,r,a,n),Ul(t,r,u,o||null,!0),yu(a,u,s)):e===2?(s?.[26]?.leave?.has(a.index)&&bu(a,u,s),vu.delete(u),Mu(s,a,n,e=>{if(vu.has(u)){vu.delete(u);return}Kl(t,u,l,e)})):e===3&&(vu.delete(u),Mu(s,a,n,()=>{t.destroyNode(u)})),c!=null&&sd(t,e,n,c,a,r,o)}}function zu(e,t){Vu(e,t),t[0]=null,t[5]=null}function Bu(e,t,n,r,i,a){r[0]=i,r[5]=t,id(e,r,n,1,i,a)}function Vu(e,t){t[10].changeDetectionScheduler?.notify(9),id(e,t,t[11],2,null,null)}function Hu(e){let t=e[12];if(!t)return Gu(e[1],e);for(;t;){let n=null;if(Ea(t))n=t[12];else{let e=t[10];e&&(n=e)}if(!n){for(;t&&!t[4]&&t!==e;)Ea(t)&&Gu(t[1],t),t=t[3];t===null&&(t=e),Ea(t)&&Gu(t[1],t),n=t&&t[4]}t=n}}function Uu(e,t){let n=e[9],r=n.indexOf(t);n.splice(r,1)}function Wu(e,t){if(Na(t))return;let n=t[11];n.destroyNode&&id(e,t,n,3,null,null),Hu(t)}function Gu(e,t){if(Na(t))return;let n=M(null);try{t[2]&=-129,t[2]|=256,t[24]&&vn(t[24]),qu(e,t),Ku(e,t),t[1].type===1&&t[11].destroy();let n=t[16];if(n!==null&&Da(t[3])){n!==t[3]&&Uu(n,t);let r=t[18];r!==null&&r.detachView(e)}ul(t)}finally{M(n)}}function Ku(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&&_d(e,t,27,!1),H(o?V.TemplateUpdateStart:V.TemplateCreateStart,i,n),n(r,i)}finally{Ho(a),H(o?V.TemplateUpdateEnd:V.TemplateCreateEnd,i,n)}}function xd(e,t,n){Od(e,t,n),(n.flags&64)==64&&kd(e,t,n)}function Sd(e,t,n=La){let r=t.localNames;if(r!==null){let i=t.index+1;for(let a=0;a{Ya(e.lView)},consumerOnSignalRead(){this.lView[24]=this}};function $d(e){let t=e[24]??Object.create(ef);return t.lView=e,t}var ef={...an,consumerIsAlwaysLive:!0,kind:`template`,consumerMarkedDirty:e=>{let t=Qa(e.lView);for(;t&&!tf(t[1]);)t=Qa(t);t&&Ga(t)},consumerOnSignalRead(){this.lView[24]=this}};function tf(e){return e.type!==2}function nf(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 rf=100;function af(e,t=0){let n=e[10].rendererFactory;n.begin?.();try{of(e,t)}finally{n.end?.()}}function of(e,t){let n=yo();try{bo(!0),ff(e,t);let n=0;for(;qa(e);){if(n===rf)throw new N(103,!1);n++,ff(e,1)}}finally{bo(n)}}function sf(e,t,n,r){if(Na(t))return;let i=t[2];Po(t);let a=!0,o=null,s=null;tf(e)?(s=Yd(t),o=pn(s)):rn()===null?(a=!1,s=$d(t),o=pn(s)):t[24]&&=(vn(t[24]),null);try{Wa(t),Co(e.bindingStartIndex),n!==null&&bd(e,t,n,2,r);let a=(i&3)==3;if(a){let n=e.preOrderCheckHooks;n!==null&&ac(t,n,null)}else{let n=e.preOrderHooks;n!==null&&oc(t,n,0,null),sc(t,0)}if(lf(t),nf(t),cf(t,0),e.contentQueries!==null&&kl(e,t),a){let n=e.contentCheckHooks;n!==null&&ac(t,n)}else{let n=e.contentHooks;n!==null&&oc(t,n,1),sc(t,1)}mf(e,t);let o=e.components;o!==null&&pf(t,o,0);let s=e.viewQuery;if(s!==null&&Al(2,s,r),a){let n=e.viewCheckHooks;n!==null&&ac(t,n)}else{let n=e.viewHooks;n!==null&&oc(t,n,2),sc(t,2)}if(e.firstUpdatePass===!0&&(e.firstUpdatePass=!1),t[22]){for(let e of t[22])e();t[22]=null}qd(t),t[2]&=-73}catch(e){throw Ya(t),e}finally{s!==null&&(hn(s,o),a&&Zd(s)),zo()}}function cf(e,t){for(let n=pl(e);n!==null;n=ml(n))for(let e=10;e0&&(e[n-1][4]=r[4]);let a=Ri(e,10+t);zu(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 xf(e,t,n,r){let i=10+r,a=n.length;r>0&&(n[i-1][4]=t),r-1&&(bf(e,n),Ri(t,n))}this._attachedToViewContainer=!1}Wu(this._lView[1],this._lView)}onDestroy(e){Xa(this._lView,e)}markForCheck(){hf(this._cdRefInjectingView||this._lView,4)}detach(){this._lView[2]&=-129}reattach(){Ja(this._lView),this._lView[2]|=128}detectChanges(){this._lView[2]|=1024,af(this._lView)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new N(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null;let e=Ma(this._lView),t=this._lView[16];t!==null&&!e&&Uu(t,this._lView),Vu(this._lView[1],this._lView)}attachToAppRef(e){if(this._attachedToViewContainer)throw new N(902,!1);this._appRef=e;let t=Ma(this._lView),n=this._lView[16];n!==null&&!t&&Sf(n,this._lView),Ja(this._lView)}};function wf(e,t,n,r,i){let a=e.data[t];if(a===null)a=Tf(e,t,n,r,i),Eo()&&(a.flags|=32);else if(a.type&64){a.type=n,a.value=r,a.attrs=i;let e=ho();a.injectorIndex=e===null?-1:e.injectorIndex}return go(a,!0),a}function Tf(e,t,n,r,i){let a=mo(),o=_o(),s=o?a:a&&a.parent,c=e.data[t]=Df(e,s,n,t,r,i);return Ef(e,c,a,o),c}function Ef(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 Df(e,t,n,r,i,a){let o=t?t.injectorIndex:-1,s=0;return oo()&&(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:qo(),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 Of(e){let t=e[6]??[],n=e[3][11],r=[];for(let e of t)e.data.di===void 0?kf(e,n):r.push(e);e[6]=r}function kf(e,t){let n=0,r=e.firstChild;if(r){let i=e.data.r;for(;nnull,jf=()=>null;function Mf(e,t){return Af(e,t)}function Nf(e,t,n){return jf(e,t,n)}var Pf=class{},Ff=class{},If=(()=>{class e{static ɵprov=Zr({token:e,providedIn:`root`,factory:()=>null})}return e})();function Lf(e){return e.debugInfo?.className||e.type.name||null}var Rf={},zf=class{injector;parentInjector;constructor(e,t){this.injector=e,this.parentInjector=t}get(e,t,n){let r=this.injector.get(e,Rf,n);return r!==Rf||t===Rf?r:this.parentInjector.get(e,t,n)}};function Bf(e,t,n){return e[t]=n}function Vf(e,t){return e[t]}function Hf(e,t,n){if(n===du)return!1;let r=e[t];return!Object.is(r,n)&&(e[t]=n,!0)}function Uf(e,t,n,r){let i=Hf(e,t,n);return Hf(e,t+1,r)||i}function Wf(e,t,n,r,i){let a=Uf(e,t,n,r);return Hf(e,t+2,i)||a}function Gf(e,t,n){return function r(i){let a=r.__ngNativeEl__;a!==void 0&&Cl(i,a),hf(ka(e)?Va(e.index,t):t,5);let o=t[8],s=Kf(t,o,n,i),c=r.__ngNextListenerFn__;for(;c;)s=Kf(t,o,c,i)&&s,c=c.__ngNextListenerFn__;return s}}function Kf(e,t,n,r){let i=M(null);try{return H(V.OutputStart,t,n),n(r)!==!1}catch(t){return Ld(e,t),!1}finally{H(V.OutputEnd,t,n),M(i)}}function qf(e,t,n,r,i,a,o,s){let c=Aa(e),l=!1,u=null;if(!r&&c&&(u=Yf(t,n,a,e.index)),u!==null){let e=u.__ngLastListenerFn__||u;e.__ngNextListenerFn__=o,u.__ngLastListenerFn__=o,l=!0}else{let o=La(e,n),c=r?r(o):o;r||(s.__ngNativeEl__=o);let l=i.listen(c,a,s);Jf(a)||Xf(r?t=>r(Fa(t[e.index])):e.index,t,n,a,s,l,!1)}return l}function Jf(e){return e.startsWith(`animation`)||e.startsWith(`transition`)}function Yf(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 Xf(e,t,n,r,i,a,o){let s=t.firstCreatePass?eo(t):null,c=$a(n),l=c.length;c.push(i,a),s&&s.push(r,e,l,(l+1)*(o?-1:1))}function Zf(e,t,n,r,i,a){let o=t[n],s=t[1],c=o[s.data[n].outputs[r]].subscribe(a);Xf(e.index,s,t,i,a,c,!0)}var Qf=Symbol(`BINDING`),$f=new F(``);function ep(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 mp(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 Sp(e){return Object.keys(e).map(t=>({propName:e[t],templateName:t}))}function Cp(e,t,n){let r=t instanceof da?t:t?.injector;return r&&e.getStandaloneInjector!==null&&(r=e.getStandaloneInjector(r)||r),r?new zf(n,r):n}function wp(e){let t=e.get(Ff,null);if(t===null)throw new N(407,!1);return{rendererFactory:t,sanitizer:e.get(If,null),changeDetectionScheduler:e.get(Is,null),ngReflect:!1,tracingService:e.get(Su,null,{optional:!0})}}function Tp(e,t,n){let r=Dp(e);return Hl(t,r,r===`svg`?`svg`:r===`math`?Pa:n)}function Ep(e){if((e&&`localName`in e&&typeof e.localName==`string`?e.localName:e?.tagName)?.toLowerCase()===`script`)throw new N(905,!1)}function Dp(e){return(e.selectors[0][0]||`div`).toLowerCase()}var Op=class{componentDef;ngModule;selector;componentType;ngContentSelectors;isBoundToModule;cachedInputs=null;cachedOutputs=null;get inputs(){return this.cachedInputs??=xp(this.componentDef.inputs),this.cachedInputs}get outputs(){return this.cachedOutputs??=Sp(this.componentDef.outputs),this.cachedOutputs}constructor(e,t){this.componentDef=e,this.ngModule=t,this.componentType=e.type,this.selector=lu(e.selectors),this.ngContentSelectors=e.ngContentSelectors??[],this.isBoundToModule=!!t}create(e,t,n,r,i,a,o){H(V.DynamicComponentStart);let s=M(null);try{let s=this.componentDef,c=Cp(s,r||this.ngModule,e),l=wp(c),u=l.tracingService;return u&&u.componentCreate?u.componentCreate(Lf(s),()=>this.createComponentRef(l,c,t,n,i,a,o)):this.createComponentRef(l,c,t,n,i,a,o)}finally{M(s)}}createComponentRef(e,t,n,r,i,a,o){let s=this.componentDef,c=kp(r,s,a,i),l=e.rendererFactory.createRenderer(null,s),u=r?Cd(l,r,s.encapsulation,t):Tp(s,l,o??null);Ep(u);let d=t.get($f,null),f=Ap(u,()=>t.get(es,null)??vl());d&&d.addHost(f);let p=a?.some(Mp)||i?.some(e=>typeof e!=`function`&&e.bindings.some(Mp)),m=fd(null,c,null,512|md(s),null,null,e,l,t,null,Dl(u,t,!0));d&&yp&&f instanceof ShadowRoot&&Xa(m,()=>{d.removeHost(f)}),m[27]=u,Po(m);let h=null;try{let e=gp(27,m,2,`#host`,()=>c.directiveRegistry,!0,0);Yl(l,u,e),fl(u,m),xd(c,m,e),jl(c,e,m),_p(c,e),n!==void 0&&Pp(e,this.ngContentSelectors,n),h=Va(e.index,m),m[8]=h[8],Vd(c,m,null)}catch(e){throw h!==null&&ul(h),ul(m),e}finally{H(V.DynamicComponentEnd),zo()}return new Np(this.componentType,m,!!p)}};function kp(e,t,n,r){let i=e?[`ng-version`,`22.1.7`]:uu(t.selectors[0]),a=null,o=null,s=0;if(n)for(let e of n)s+=e[Qf].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 Mp(e){let t=e[Qf].kind;return t===`input`||t===`twoWay`}var Np=class extends Pf{_rootLView;_hasInputBindings;instance;hostView;changeDetectorRef;componentType;location;previousInputValues=null;_tNode;constructor(e,t,n){super(),this._rootLView=t,this._hasInputBindings=n,this._tNode=Ra(t[1],27),this.location=nl(this._tNode,t),this.instance=Va(this._tNode.index,t)[8],this.hostView=this.changeDetectorRef=new Cf(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;Rd(n,r[1],r,e,t),this.previousInputValues.set(e,t),hf(Va(n.index,r),1)}get injector(){return new Kc(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}};function Pp(e,t,n){let r=e.projection=[];for(let e=0;e!1;function Ip(e,t,n){return Fp(e,t,n)}function Lp(e){return!!e&&typeof e.then==`function`}function Rp(e){return!!e&&typeof e.subscribe==`function`}var zp=class{},Bp=class extends zp{injector;instance=null;constructor(e){super();let t=new fa([...e.providers,{provide:zp,useValue:this}],e.parent||ua(),e.debugName,new Set([`environment`]));this.injector=t,e.runEnvironmentInitializers&&t.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(e){this.injector.onDestroy(e)}};function Vp(e,t,n=null){return new Bp({providers:e,parent:t,debugName:n,runEnvironmentInitializers:!0}).injector}var Hp=(()=>{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=Zi(!1,e.type),n=t.length>0?Vp([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=Zr({token:e,providedIn:`environment`,factory:()=>new e(I(da))})}return e})();function Up(e){return Qs(()=>{let t=Jp(e),n={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection!==al.Eager,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:t.standalone?e=>e.get(Hp).getOrCreateStandaloneInjector(n):null,getExternalStyles:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||Ml.Emulated,styles:e.styles||Gi,_:null,schemas:e.schemas||null,tView:null,id:``};t.standalone&&wu(`NgStandalone`),Yp(n);let r=e.dependencies;return n.directiveDefs=Xp(r,Wp),n.pipeDefs=Xp(r,pi),n.id=Zp(n),n})}function Wp(e){return di(e)||fi(e)}function Gp(e,t){if(e==null)return Wi;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 Kp(e){if(e==null)return Wi;let t={};for(let n in e)Object.hasOwn(e,n)&&(t[e[n]]=n);return t}function qp(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 Jp(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||Wi,exportAs:e.exportAs||null,standalone:e.standalone??!0,signals:e.signals===!0,selectors:e.selectors||Gi,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,resolveHostDirectives:null,hostDirectives:null,controlDef:null,signalFormsInputPresence:null,inputs:Gp(e.inputs,t),outputs:Kp(e.outputs),debugInfo:null}}function Yp(e){e.features?.forEach(t=>t(e))}function Xp(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 Zp(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 Qp=new F(``),$p=(()=>{class e{resolve;reject;initialized=!1;done=!1;donePromise=new Promise((e,t)=>{this.resolve=e,this.reject=t});appInits=L(Qp,{optional:!0})??[];injector=L($o);constructor(){}runInitializers(){if(this.initialized)return;let e=[];for(let t of this.appInits){let n=Ca(this.injector,t);if(Lp(n))e.push(n);else if(Rp(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=el({token:e,factory:e.ɵfac})}return e})();function em(e,t,n,r,i,a,o,s){if(n.firstCreatePass){e.mergedAttrs=vc(e.mergedAttrs,e.attrs);let t=e.tView=ld(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),go(e,!1);let c=rm(n,t,e,r);Yo()&&$u(n,t,c,e),fl(c,t);let l=gf(c,t,c,e);t[r+27]=l,gd(t,l),Ip(l,e,t)}function tm(e,t,n,r,i,a,o,s,c,l,u){let d=n+27,f;if(t.firstCreatePass){if(f=wf(t,d,4,o||null,s||null),l!=null){let e=Ua(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?Vp(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=Zr({token:e,providedIn:`environment`,factory:()=>new e})}return e})(),Nm=new F(``);function Pm(e,t,n){return e.get(Mm).getOrCreateInjector(t,e,n,``)}function Fm(e,t,n){if(e instanceof zf){let r=e.injector,i=e.parentInjector;return new zf(r,Pm(i,t,n))}let r=e.get(da);return r===e?Pm(e,t,n):new zf(e,Pm(r,t,n))}function Im(e,t,n,r=!1){let i=n[3],a=i[1];if(Na(i))return;let o=Cm(i,t),s=o[1],c=o[mm];if(!(c!==null&&ee.data.s===t[1])??-1;return{dehydratedView:n>-1?e[6][n]:null,dehydratedViewIx:n}}function Rm(e,t,n,r,i){H(V.DeferBlockStateStart);let a=Dm(e,i,r);if(a!==null){t[1]=e;let o=i[1],s=Ra(o,a+27);yf(n,0);let c;if(e===cm.Complete){let e=Tm(o,r),t=e.providers;t&&t.length>0&&(c=Fm(i[9],e,t))}let{dehydratedView:l,dehydratedViewIx:u}=Lm(n,t),d=Ud(i,s,null,{injector:c,dehydratedView:l});if(vf(n,d,0,Wd(s,l)),Ga(d),u>-1&&n[6]?.splice(u,1),(e===cm.Complete||e===cm.Error)&&Array.isArray(t[hm])){for(let e of t[hm])e();t[hm]=null}}H(V.DeferBlockStateEnd)}function zm(e,t){return e{e.loadingState===am.COMPLETE?Im(cm.Complete,t,n):e.loadingState===am.FAILED&&Im(cm.Error,t,n)})}var Hm=null;function Um(e,t){return t[9].get(Nm,null,{optional:!0})?.behavior!==_m.Manual}var Wm=new F(``),Gm=new F(``);function Km(){Mn(()=>{throw new N(600,``)})}var qm=10,Jm=(()=>{class e{_runningTick=!1;_destroyed=!1;_destroyListeners=[];_views=[];internalErrorHandler=L(Es);afterRenderManager=L(Tu);zonelessEnabled=L(Ls);rootEffectScheduler=L(zs);dirtyFlags=0;tracingSnapshot=null;allTestViews=new Set;autoDetectTestViews=new Set;includeAllTestViews=!1;afterTick=new Rr;get allViews(){return[...(this.includeAllTestViews?this.allTestViews:this.autoDetectTestViews).keys(),...this._views]}get destroyed(){return this._destroyed}componentTypes=[];components=[];internalPendingTask=L(as);get isStable(){return this.internalPendingTask.hasPendingTasksObservable.pipe(Vr(e=>!e))}constructor(){L(Su,{optional:!0})}whenStable(){let e;return new Promise(t=>{e=this.isStable.subscribe({next:e=>{e&&t()}})}).finally(()=>{e.unsubscribe()})}_injector=L(da);_rendererFactory=null;get injector(){return this._injector}bootstrap(e,t){return this.bootstrapImpl(e,t)}bootstrapImpl(e,t,n=$o.NULL){return this._injector.get(ps).run(()=>{if(H(V.BootstrapComponentStart),!this._injector.get($p).done)throw new N(405,``);let r=di(e),i=this._injector.get(zp),a=new Op(r,i);this.componentTypes.push(e);let{hostElement:o,directives:s,bindings:c}=Ym(t),l=o||a.selector,u=a.create(n,[],l,i.injector,s,c),d=u.location.nativeElement,f=u.injector.get(Wm,null);return f?.registerApplication(d),u.onDestroy(()=>{this.detachView(u.hostView),Xm(this.components,u),f?.unregisterApplication(d)}),this._loadComponent(u),H(V.BootstrapComponentEnd,u),u})}tick(){this.zonelessEnabled||(this.dirtyFlags|=1),this._tick()}_tick(){H(V.ChangeDetectionStart),this.tracingSnapshot===null?this.tickImpl():this.tracingSnapshot.run(xu.CHANGE_DETECTION,this.tickImpl)}tickImpl=()=>{if(this._runningTick)throw H(V.ChangeDetectionEnd),new N(101,!1);let e=M(null);try{this._runningTick=!0,this.synchronize()}finally{this._runningTick=!1,this.tracingSnapshot?.dispose(),this.tracingSnapshot=null,M(e),this.afterTick.next(),H(V.ChangeDetectionEnd)}};synchronize(){this._rendererFactory===null&&!this._injector.destroyed&&(this._rendererFactory=this._injector.get(Ff,null,{optional:!0}));let e=0;for(;this.dirtyFlags!==0&&e++qa(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;Xm(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(Gm,[]).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),()=>Xm(this._destroyListeners,e)}destroy(){if(this._destroyed)throw new N(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=el({token:e,factory:e.ɵfac})}return e})();function Ym(e){return e===void 0||typeof e==`string`||e instanceof Element?{hostElement:e}:e}function Xm(e,t){let n=e.indexOf(t);n>-1&&e.splice(n,1)}function Zm(e,t,n){let r=t.get($m);return r.add(e,n),()=>r.remove(e)}function Qm(e){return(t,n)=>Zm(t,n,e)}var $m=(()=>{class e{buckets=new Map;callbackBucket=new Map;applicationRef=L(Jm);ngZone=L(ps);idleService=L(Qc);add(e,t){let n=eh(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=eh(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=Zr({token:e,providedIn:`root`,factory:()=>new e})}return e})();function eh(e){return!e||e.timeout==null?``:`${e.timeout}`}function th(e){let t=z(),n=po();if(Bm(t,n),!Um(0,t))return;let r=t[9];vm(0,Cm(t,n),e(()=>rh(0,t,n),r))}function nh(e,t,n){let r=t[9],i=t[1];if(e.loadingState!==am.NOT_STARTED)return e.loadingPromise??Promise.resolve();let a=Cm(t,n),o=jm(i,e);e.loadingState=am.IN_PROGRESS,ym(1,a);let s=e.dependencyResolverFn,c=r.get(Ys).add();return s?(e.loadingPromise=Promise.allSettled(s()).then(n=>{let r=!1,i=[],a=[];for(let e=0;e0&&(t.directiveRegistry=Am(t.directiveRegistry,i),e.providers=Zi(!1,...i.map(e=>e.type))),a.length>0&&(t.pipeRegistry=Am(t.pipeRegistry,a))}}),e.loadingPromise.finally(()=>{e.loadingPromise=null,c()})):(e.loadingPromise=Promise.resolve().then(()=>{e.loadingPromise=null,e.loadingState=am.COMPLETE,c()}),e.loadingPromise)}function rh(e,t,n){let r=t[1],i=t[n.index];if(!Um(e,t))return;let a=Cm(t,n),o=Tm(r,n);switch(bm(a),o.loadingState){case am.NOT_STARTED:Im(cm.Loading,n,i),nh(o,t,n),o.loadingState===am.IN_PROGRESS&&Vm(o,n,i);break;case am.IN_PROGRESS:Im(cm.Loading,n,i),Vm(o,n,i);break;case am.COMPLETE:Im(cm.Complete,n,i);break;case am.FAILED:Im(cm.Error,n,i)}}function ih(e,t,n){return e===0?oh(t,n):e!==2||!oh(t,n)}function ah(e){return e!=null&&(e&1)==1}function oh(e,t){let n=e[9],r=Tm(e[1],t),i=Ol(n),a=ah(r.flags),o=Cm(e,t)[pm]!==null;return!(a&&o&&i)}function sh(e,t,n,r,i,a,o,s,c,l){let u=z(),d=lo(),f=e+27,p=tm(u,d,e,null,0,0),m=u[9],h=Ol(m);if(d.firstCreatePass){wu(`NgDefer`);let e={primaryTmplIndex:t,loadingTmplIndex:r??null,placeholderTmplIndex:i??null,errorTmplIndex:a??null,placeholderBlockConfig:null,loadingBlockConfig:null,dependencyResolverFn:n??null,loadingState:am.NOT_STARTED,loadingPromise:null,providers:null,hydrateTriggers:null,debug:null,flags:l??0};c?.(d,e,s,o),Em(d,f,e)}let g=u[f];Ip(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,lm.Initial,null,null,null,null,v,_,null,null];wm(u,f,y);let b=null;v!==null&&h&&(b=m.get(wl),b.add(v,{lView:u,tNode:p,lContainer:g}));let ee=()=>{bm(y),v!==null&&b?.cleanup([v])};vm(0,y,()=>Za(u,ee)),Xa(u,ee)}function ch(e){ih(0,z(),po())&&th(Qm({timeout:e}))}function lh(e,t,n,r){let i=z();return Hf(i,wo(),t)&&(lo(),Md(Uo(),i,e,t,n,r)),lh}var uh=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 dh(e,t,n,r,i){return e===n&&Object.is(t,r)?1:Object.is(i(e,t),i(n,r))?-1:0}function fh(e,t,n,r){let i,a,o=0,s=e.length-1;if(Array.isArray(t)){M(r);let c=t.length-1;for(M(null);o<=s&&o<=c;){let r=e.at(o),l=t[o],u=dh(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=dh(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 gh,a??=hh(e,o,s,n),ph(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;)mh(e,i,n,o,t[o]),o++}else if(t!=null){M(r);let c=t[Symbol.iterator]();M(null);let l=c.next();for(;!l.done&&o<=s;){let t=e.at(o),r=l.value,u=dh(o,t,o,r,n);if(u!==0)u<0&&e.updateValue(o,r),o++,l=c.next();else{i??=new gh,a??=hh(e,o,s,n);let u=n(o,r);if(ph(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;)mh(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 ph(e,t,n,r){return t!==void 0&&t.has(r)?(e.attach(n,t.get(r)),t.delete(r),!0):!1}function mh(e,t,n,r,i){if(ph(e,t,r,n(r,i)))e.updateValue(r,i);else{let t=e.create(r,i);e.attach(r,t)}}function hh(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 gh=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 W(e,t,n,r,i,a,o,s){wu(`NgControlFlow`);let c=z(),l=lo();return tm(c,l,e,t,n,r,i,Ua(l.consts,a),256,o,s),_h}function _h(e,t,n,r,i,a,o,s){wu(`NgControlFlow`);let c=z(),l=lo();return tm(c,l,e,t,n,r,i,Ua(l.consts,a),512,o,s),_h}function G(e,t){wu(`NgControlFlow`);let n=z(),r=wo(),i=n[r]===du?-1:n[r],a=i===-1?void 0:Ch(n,27+i);if(Hf(n,r,e)){let r=M(null);try{if(a!==void 0&&yf(a,0),e!==-1){let r=27+e,i=Ch(n,r),a=Oh(n[1],r),o=Nf(i,a,n);vf(i,Ud(n,a,t,{dehydratedView:o}),0,Wd(a,o))}}finally{M(r)}}else if(a!==void 0){let e=_f(a,0);e!==void 0&&(e[8]=t)}}var vh=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 yh(e){return e}function bh(e,t){return t}var xh=class{hasEmptyBlock;trackByFn;liveCollection;constructor(e,t,n){this.hasEmptyBlock=e,this.trackByFn=t,this.liveCollection=n}};function K(e,t,n,r,i,a,o,s,c,l,u,d,f){wu(`NgControlFlow`);let p=z(),m=lo(),h=c!==void 0,g=z(),_=new xh(h,s?o.bind(g[15][8]):o);g[27+e]=_,tm(p,m,e+1,t,n,r,i,Ua(m.consts,a),256),h&&tm(p,m,e+2,c,l,u,d,Ua(m.consts,f),512)}var Sh=class extends uh{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,Wd(this.templateTNode,n)),wh(this.lContainer,e)}detach(e){return this.needsIndexUpdate||=e!==this.length-1,Th(this.lContainer,e),Eh(this.lContainer,e)}create(e,t){let n=Mf(this.lContainer,this.templateTNode.tView.ssrId);return Ud(this.hostLView,this.templateTNode,new vh(this.lContainer,t,e),{dehydratedView:n})}destroy(e){Wu(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];ku(e,r),hu.delete(n[19]),r.detachedLeaveAnimationFns=void 0}}function Th(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 Eh(e,t){return bf(e,t)}function Dh(e,t){return _f(e,t)}function Oh(e,t){return Ra(e,t)}function kh(e,t,n){let r=z();return Hf(r,wo(),t)&&(lo(),Td(Uo(),r,e,t,r[11],n)),kh}function Ah(e,t,n,r,i){Rd(t,e,n,i?`class`:`style`,r)}function jh(e,t,n,r){let i=z(),a=i[1],o=e+27,s=a.firstCreatePass?gp(o,i,2,t,jd,ao(),n,r):a.data[o];if(ka(s)){let n=i[10].tracingService;if(n&&n.componentCreate){let o=a.data[s.directiveStart+s.componentOffset];return n.componentCreate(Lf(o),()=>(Mh(e,t,i,s,r),jh))}}return Mh(e,t,i,s,r),jh}function Mh(e,t,n,r,i){if(Fd(r,n,e,t,Ih),Aa(r)){let e=n[1];xd(e,n,r),jl(e,r,n)}i!=null&&Sd(n,r)}function Nh(){let e=lo(),t=Id(po());return e.firstCreatePass&&_p(e,t),so(t)&&co(),io(),t.classesWithoutHost!=null&&pc(t)&&Ah(e,t,z(),t.classesWithoutHost,!0),t.stylesWithoutHost!=null&&mc(t)&&Ah(e,t,z(),t.stylesWithoutHost,!1),Nh}function Ph(e,t,n,r){return jh(e,t,n,r),Nh(),Ph}function J(e,t,n,r){let i=z(),a=i[1],o=e+27,s=a.firstCreatePass?vp(o,a,2,t,n,r):a.data[o];return Fd(s,i,e,t,Ih),r!=null&&Sd(i,s),J}function Y(){return so(Id(po()))&&co(),io(),Y}function Fh(e,t,n,r){return J(e,t,n,r),Y(),Fh}var Ih=(e,t,n,r,i)=>(Xo(!0),Hl(t[11],r,qo()));function Lh(){let e=lo(),t=Id(po());return e.firstCreatePass&&_p(e,t),Lh}function Rh(e,t,n){let r=z(),i=r[1],a=e+27,o=i.firstCreatePass?vp(a,i,8,`ng-container`,t,n):i.data[a];return Fd(o,r,e,`ng-container`,Vh),n!=null&&Sd(r,o),Rh}function zh(){return Id(po()),Lh}function Bh(e,t,n){return Rh(e,t,n),zh(),Bh}var Vh=(e,t,n,r,i)=>(Xo(!0),Vl(t[11],``));function Hh(){return z()}function Uh(e,t,n){let r=z();return Hf(r,wo(),t)&&(lo(),Ed(Uo(),r,e,t,r[11],n)),Uh}var Wh=`en-US`;function Gh(e){typeof e==`string`&&e.toLowerCase().replace(/_/g,`-`)}function Kh(e,t,n){let r=z(),i=lo(),a=po();return Jh(i,r,r[11],a,e,t,n),Kh}function qh(e,t,n){let r=z(),i=lo(),a=po();return(a.type&3||n)&&qf(a,i,r,n,r[11],e,t,Gf(a,r,t)),qh}function Jh(e,t,n,r,i,a,o){let s=!0,c=null;if((r.type&3||o)&&(c??=Gf(r,t,a),qf(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 Zh(e){return(e&2)==2}function Qh(e,t){return e&131071|t<<17}function $h(e){return e|2}function eg(e){return(e&131068)>>2}function tg(e,t){return e&-131069|t<<2}function ng(e){return(e&1)==1}function rg(e){return e|1}function ig(e,t,n,r,i,a){let o=a?t.classBindings:t.styleBindings,s=Xh(o),c=eg(o);e[r]=n;let l=!1,u;if(Array.isArray(n)){let e=n;u=e[1],(u===null||Hi(e,u)>0)&&(l=!0)}else u=n;if(i){if(c!==0){let t=Xh(e[s+1]);e[r+1]=Yh(t,s),t!==0&&(e[t+1]=tg(e[t+1],r)),e[s+1]=Qh(e[s+1],r)}else e[r+1]=Yh(s,0),s!==0&&(e[s+1]=tg(e[s+1],r)),s=r}else e[r+1]=Yh(c,0),s===0?s=r:e[c+1]=tg(e[c+1],r),c=r;l&&(e[r+1]=$h(e[r+1])),og(e,u,r,!0),og(e,u,r,!1),ag(t,u,e,r,a),o=Yh(s,c),a?t.classBindings=o:t.styleBindings=o}function ag(e,t,n,r,i){let a=i?e.residualClasses:e.residualStyles;a!=null&&typeof t==`string`&&Hi(a,t)>=0&&(n[r+1]=rg(n[r+1]))}function og(e,t,n,r){let i=e[n+1],a=t===null,o=r?Xh(i):eg(i),s=!1;for(;o!==0&&(s===!1||a);){let n=e[o],i=e[o+1];sg(n,t)&&(s=!0,e[o+1]=r?rg(i):$h(i)),o=r?Xh(i):eg(i)}s&&(e[n+1]=r?$h(i):rg(i))}function sg(e,t){return e===null||t==null||(Array.isArray(e)?e[1]:e)===t?!0:Array.isArray(e)&&typeof t==`string`?Hi(e,t)>=0:!1}function cg(e,t,n){return ug(e,t,n,!1),cg}function lg(e,t){return ug(e,t,null,!0),lg}function ug(e,t,n,r){let i=z(),a=lo(),o=To(2);if(a.firstUpdatePass&&fg(a,e,o,r),t!==du&&Hf(i,o,t)){let s=a.data[Vo()];yg(a,s,i,i[11],e,i[o+1]=Sg(t,n),r,o)}}function dg(e,t){return t>=e.expandoStartIndex}function fg(e,t,n,r){let i=e.data;if(i[n+1]===null){let a=i[Vo()],o=dg(e,n);Cg(a,r)&&t===null&&!o&&(t=!1),t=pg(i,a,t,r),ig(i,a,t,n,o,r)}}function pg(e,t,n,r){let i=Ao(e),a=r?t.residualClasses:t.residualStyles;if(i===null)(r?t.classBindings:t.styleBindings)===0&&(n=_g(null,e,t,n,r),n=vg(n,t.attrs,r),a=null);else{let o=t.directiveStylingLast;if(o===-1||e[o]!==i){if(n=_g(i,e,t,n,r),a===null){let n=mg(e,t,r);n!==void 0&&Array.isArray(n)&&(n=_g(null,e,t,n[1],r),n=vg(n,t.attrs,r),hg(e,t,r,n))}else a=gg(e,t,r)}}return a!==void 0&&(r?t.residualClasses=a:t.residualStyles=a),n}function mg(e,t,n){let r=n?t.classBindings:t.styleBindings;if(eg(r)!==0)return e[Xh(r)]}function hg(e,t,n,r){let i=n?t.classBindings:t.styleBindings;e[Xh(i)]=r}function gg(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===du&&(u=l?Gi:void 0);let d=l?Vi(u,r):c===r?u:void 0;if(a&&!xg(d)&&(d=Vi(t,r)),xg(d)&&(s=d,o))return s;let f=e[i+1];i=o?Xh(f):eg(f)}if(t!==null){let e=a?t.residualClasses:t.residualStyles;e!=null&&(s=Vi(e,r))}return s}function xg(e){return e!==void 0}function Sg(e,t){return e==null||e===``||(typeof t==`string`?e=Pl(e)+t:typeof e==`object`&&(e=Gr(Pl(e)))),e}function Cg(e,t){return!!(e.flags&(t?8:16))}function Z(e,t=``){let n=z(),r=lo(),i=e+27,a=r.firstCreatePass?wf(r,i,1,t,null):r.data[i],o=wg(r,n,a,t);n[i]=o,Yo()&&$u(r,n,o,a),go(a,!1)}var wg=(e,t,n,r)=>(Xo(!0),zl(t[11],r));function Tg(e,t,n,r=``){return Hf(e,wo(),n)?t+hi(n)+r:du}function Eg(e,t,n,r,i,a=``){let o=Uf(e,So(),n,i);return To(2),o?t+hi(n)+r+hi(i)+a:du}function Dg(e,t,n,r,i,a,o,s=``){let c=Wf(e,So(),n,i,o);return To(3),c?t+hi(n)+r+hi(i)+a+hi(o)+s:du}function Q(e){return $(``,e),Q}function $(e,t,n){let r=z(),i=Tg(r,e,t,n);return i!==du&&Ag(r,Vo(),i),$}function Og(e,t,n,r,i){let a=z(),o=Eg(a,e,t,n,r,i);return o!==du&&Ag(a,Vo(),o),Og}function kg(e,t,n,r,i,a,o){let s=z(),c=Dg(s,e,t,n,r,i,a,o);return c!==du&&Ag(s,Vo(),c),kg}function Ag(e,t,n){let r=Ia(t,e);Bl(e[11],r,n)}function jg(e,t){let n=xo()+e,r=z();return r[n]===du?Bf(r,n,t()):Vf(r,n)}function Mg(e,t){let n=e[t];return n===du?void 0:n}function Ng(e,t,n,r,i,a){let o=t+n;return Hf(e,o,i)?Bf(e,o+1,a?r.call(a,i):r(i)):Mg(e,o+1)}function Pg(e,t){let n=lo(),r,i=e+27;n.firstCreatePass?(r=Fg(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=Fi(r.type,!0)),o=Ti(tp);try{let e=Tc(!1),t=a();return Tc(e),Ba(n,z(),i,t),t}finally{Ti(o)}}function Fg(e,t){if(t)for(let n=t.length-1;n>=0;n--){let r=t[n];if(e===r.name)return r}}function Ig(e,t,n){let r=e+27,i=z(),a=za(i,r);return Lg(i,r)?Ng(i,xo(),t,a.transform,n,a):a.transform(n)}function Lg(e,t){return e[1].data[t].pure}var Rg=(()=>{class e{applicationErrorHandler=L(Es);appRef=L(Jm);taskService=L(as);ngZone=L(ps);zonelessEnabled=L(Ls);tracing=L(Su,{optional:!0});zoneIsDefined=typeof Zone<`u`&&!!Zone.root.run;schedulerTickApplyArgs=[{data:{__scheduler_tick__:!0}}];subscriptions=new nr;angularZoneId=this.zoneIsDefined?this.ngZone._inner?.get(ds):null;scheduleInRootZone=!this.zonelessEnabled&&this.zoneIsDefined&&(L(Rs,{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?ls:cs;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=el({token:e,factory:e.ɵfac})}return e})();function zg(){return[{provide:Is,useExisting:Rg},{provide:ps,useClass:xs},{provide:Ls,useValue:!0}]}function Bg(){return typeof $localize<`u`&&$localize.locale||`en-US`}var Vg=new F(``,{factory:()=>L(Vg,{optional:!0,skipSelf:!0})||Bg()}),Hg=class{destroyed=!1;listeners=null;errorHandler=L(Ts,{optional:!0});isEmitting=!1;hasNullListeners=!1;destroyRef=L(ts);constructor(){this.destroyRef.onDestroy(()=>{this.destroyed=!0,this.listeners=null})}subscribe(e){if(this.destroyed)throw new N(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(Wr(953,!1));return}if(this.listeners===null)return;this.isEmitting=!0;let t=M(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&&Ug(this.listeners)),M(t),this.isEmitting=!1}}};function Ug(e){let t=e.length-1;for(;t>-1;)e[t]===null&&e.splice(t,1),t--}function Wg(e,t){return wn(e,t?.equal)}(class e extends Error{_brand;constructor(e){super(e)}static IDLE=new e(`IDLE`);static LOADING=new e(`LOADING`)});function Gg(e,t){let n=Object.create(Zs);n.value=e,n.transformFn=t?.transform;function r(){if(on(n),n.value===Xs)throw new N(-950,null);return n.value}return r[nn]=n,r}function Kg(e){return new Hg}function qg(e,t){return Gg(e,t)}function Jg(e){return Gg(Xs,e)}var Yg=(qg.required=Jg,qg),Xg=new F(``),Zg=new F(``);function Qg(e){return!e.moduleRef}function $g(e){let t=Qg(e)?e.r3Injector:e.moduleRef.injector,n=t.get(ps);return n.run(()=>{Qg(e)?e.r3Injector.resolveInjectorInitializers():e.moduleRef.resolveInjectorInitializers();let r=t.get(Es),i;if(n.runOutsideAngular(()=>{i=n.onError.subscribe({next:r})}),Qg(e)){let n=()=>t.destroy(),r=e.platformInjector.get(Xg);r.add(n),t.onDestroy(()=>{i.unsubscribe(),r.delete(n)})}else{let t=()=>e.moduleRef.destroy(),n=e.platformInjector.get(Xg);n.add(t),e.moduleRef.onDestroy(()=>{Xm(e.allPlatformModules,e.moduleRef),i.unsubscribe(),n.delete(t)})}return t_(r,n,()=>{let n=t.get(as),r=n.add(),i=t.get($p);return i.runInitializers(),i.donePromise.then(()=>{if(Gh(t.get(Vg,Wh)||`en-US`),!t.get(Zg,!0))return Qg(e)?t.get(Jm):(e.allPlatformModules.push(e.moduleRef),e.moduleRef);if(Qg(e)){let n=t.get(Jm);return e.rootComponent!==void 0&&n.bootstrap(e.rootComponent),n}return e_?.(e.moduleRef,e.allPlatformModules),e.moduleRef}).finally(()=>void n.remove(r))})})}var e_;function t_(e,t,n){try{let r=n();return Lp(r)?r.catch(n=>{throw t.runOutsideAngular(()=>e(n)),n}):r}catch(n){throw t.runOutsideAngular(()=>e(n)),n}}var n_=null;function r_(e=[],t){return $o.create({name:t,providers:[{provide:oa,useValue:`platform`},{provide:Xg,useValue:new Set([()=>n_=null])},...e]})}function i_(e=[]){if(n_)return n_;let t=r_(e);return n_=t,Km(),a_(t),t}function a_(e){let t=e.get(js,null);Ca(e,()=>{t?.forEach(e=>e())})}function o_(e){let{rootComponent:t,appProviders:n,platformProviders:r,platformRef:i}=e;H(V.BootstrapApplicationStart);try{let e=i?.injector??i_(r);return $g({r3Injector:new Bp({providers:[zg(),Ds,...n||[]],parent:e,debugName:``,runEnvironmentInitializers:!1}).injector,platformInjector:e,rootComponent:t})}catch(e){return Promise.reject(e)}finally{H(V.BootstrapApplicationEnd)}}var s_=null;function c_(){return s_}function l_(e){s_??=e}var u_=class{},d_=(()=>{class e{transform(e){return JSON.stringify(e,null,2)}static ɵfac=function(t){return new(t||e)};static ɵpipe=qp({name:`json`,type:e,pure:!1})}return e})();function f_(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 p_=`browser`,m_=class{_doc;constructor(e){this._doc=e}manager},h_=(()=>{class e extends m_{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)(I(es))};static ɵprov=Zr({token:e,factory:e.ɵfac})}return e})(),g_=new F(``),__=(()=>{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 h_));this._plugins=n.slice().reverse();let r=e.find(e=>e instanceof h_);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 N(-5101,!1);return this._eventNameToPlugin.set(e,t),t}static ɵfac=function(t){return new(t||e)(I(g_),I(ps))};static ɵprov=Zr({token:e,factory:e.ɵfac})}return e})(),v_=`ng-app-id`;function y_(e){for(let t of e)t.remove()}function b_(e,t){let n=t.createElement(`style`);return n.textContent=e,n}function x_(e,t,n,r){let i=e.head?.querySelectorAll(`style[${v_}="${t}"],link[${v_}="${t}"]`);if(!i||i.length===0)return!1;for(let e of i)e.removeAttribute(v_),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 S_(e,t){let n=t.createElement(`link`);return n.setAttribute(`rel`,`stylesheet`),n.setAttribute(`href`,e),n}var C_=(()=>{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,x_(e,t,this.inline,this.external)&&this.hosts.add(e.head)}addStyles(e,t){for(let t of e)this.addUsage(t,this.inline,b_);t?.forEach(e=>this.addUsage(e,this.external,S_))}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&&(y_(n.elements),t.delete(e)))}ngOnDestroy(){for(let[,{elements:e}]of[...this.inline,...this.external])y_(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,b_(t,this.doc)));for(let[t,{elements:n}]of this.external)n.push(this.addElement(e,S_(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)(I(es),I(ks),I(Ns,8),I(Ms))};static ɵprov=Zr({token:e,factory:e.ɵfac})}return e})(),w_={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`},T_=/%COMP%/g,E_=`%COMP%`,D_=`_nghost-${E_}`,O_=`_ngcontent-${E_}`,k_=!0,A_=new F(``,{factory:()=>k_}),j_=new F(``);function M_(e){return O_.replace(T_,e)}function N_(e){return D_.replace(T_,e)}function P_(e,t){return t.map(t=>t.replace(T_,e))}var F_=(()=>{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 I_(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 B_?n.applyToHost(e):n instanceof z_&&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 Ml.Emulated:r=new B_(o,s,t,this.appId,c,i,a,l,this.cssVarNamespace);break;case Ml.ShadowDom:return new R_(o,e,t,i,a,this.nonce,l,this.cssVarNamespace,s);case Ml.ExperimentalIsolatedShadowDom:return new R_(o,e,t,i,a,this.nonce,l,this.cssVarNamespace);default:r=new z_(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)(I(__),I($f),I(ks),I(A_),I(es),I(ps),I(Ns),I(Su,8),I(j_,8))};static ɵprov=Zr({token:e,factory:e.ɵfac})}return e})(),I_=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(w_[t]||t,e):this.doc.createElement(e)}createComment(e){return this.doc.createComment(e)}createText(e){return this.doc.createTextNode(e)}appendChild(e,t){(L_(e)?e.content:e).appendChild(t)}insertBefore(e,t,n){if(e){let r=L_(e)?e.content:e;if(n!=null&&n.parentNode!==r)throw new N(-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 N(-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=w_[r];i?e.setAttributeNS(i,t,n):e.setAttribute(t,n)}else e.setAttribute(t,n)}removeAttribute(e,t,n){if(n){let r=w_[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=c_().getGlobalEventTarget(this.doc,e),!e))throw new N(-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 L_(e){return e.tagName===`TEMPLATE`&&e.content!==void 0}var R_=class extends I_{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=P_(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=S_(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)}},z_=class extends I_{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?P_(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&&hu.size===0&&this.sharedStylesHost.removeStyles(this.styles,this.styleUrls)}},B_=class extends z_{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=M_(l),this.hostAttr=N_(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}},V_=class e extends u_{supportsDOMEvents=!0;static makeCurrent(){l_(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=U_();return t==null?null:W_(t)}resetBaseElement(){H_=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return f_(document.cookie,e)}},H_=null;function U_(){return H_||=document.head.querySelector(`base`),H_?H_.getAttribute(`href`):null}function W_(e){return new URL(e,document.baseURI).pathname}var G_=[`alt`,`control`,`meta`,`shift`],K_={"\b":`Backspace`," ":`Tab`,"":`Delete`,"\x1B":`Escape`,Del:`Delete`,Esc:`Escape`,Left:`ArrowLeft`,Right:`ArrowRight`,Up:`ArrowUp`,Down:`ArrowDown`,Menu:`ContextMenu`,Scroll:`ScrollLock`,Win:`OS`},q_={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey},J_=(()=>{class e extends m_{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(()=>c_().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.`),G_.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=K_[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`),G_.forEach(t=>{if(t!==n){let n=q_[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)(I(es))};static ɵprov=Zr({token:e,factory:e.ɵfac})}return e})();async function Y_(e,t,n){return o_({rootComponent:e,...X_(t,n)})}function X_(e,t){return{platformRef:t?.platformRef,appProviders:[...tv,...e?.providers??[]],platformProviders:ev}}function Z_(){V_.makeCurrent()}function Q_(){return new Ts}function $_(){return _l(document),document}var ev=[{provide:Ms,useValue:p_},{provide:js,useValue:Z_,multi:!0},{provide:es,useFactory:$_}],tv=[{provide:oa,useValue:`root`},{provide:Ts,useFactory:Q_},{provide:g_,useClass:h_,multi:!0},{provide:g_,useClass:J_,multi:!0},F_,{provide:$f,useClass:C_},{provide:C_,useExisting:$f},__,{provide:Ff,useExisting:F_},[]];function nv(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 ov({code:i,why:iv(a.why,e),fix:iv(a.fix,e),docs:o,cause:e.cause,sources:e.sources},s);for(let e of t)e(r,n);return r};n[i]=s}return n}function lv(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 hv=Math.random.bind(Math),gv=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`;function _v(e=21){let t=``,n=e;for(;n--;)t+=gv[hv()*64|0];return t}var vv=6e4,yv=e=>e,bv=yv,{clearTimeout:xv,setTimeout:Sv}=globalThis;function Cv(e,t){let{post:n,on:r,off:i=()=>{},eventNames:a=[],serialize:o=yv,deserialize:s=bv,resolver:c,bind:l=`rpc`,timeout:u=vv,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}=mv(),_=_v();s.i=_;let v;async function y(n=s){return u>=0&&(v=Sv(()=>{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{xv(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&&(xv(r.timeoutId),n?r.reject(n):r.resolve(t)),p.delete(e)}}return m=r(b),h}function wv(e,t){return t.safety?t.safety:e===`static`||e===`query`||e==null?`read`:`action`}var Tv=Object.freeze({type:`object`,additionalProperties:!0});function Ev(e){let t=e[`~standard`];if(t.jsonSchema)try{return t.jsonSchema.input({target:`draft-2020-12`})}catch{return Tv}return Tv}function Dv(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 kv(e,t){return Ov(e,t)??[e]}function Av(e){return typeof e==`string`?`'${e}'`:new Pv().serialize(e)}var jv=` _-,;:!?.'"()[]{}@*/\\&#%\`^+<=>|~$0123456789abcdefghijklmnopqrstuvwxyz`,Mv=(function(){let e=new Uint8Array(128);for(let t=0;t<69;t++)e[jv.charCodeAt(t)]=t+1;for(let t=65;t<=90;t++)e[t]=e[t+32];return e})();function Nv(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})(),Fv=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],Iv=[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],Lv=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`,Rv=[],zv=class{_data=new Bv;_hash=new Bv([...Fv]);_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)Rv[n]=e[t+n]|0;else{let e=Rv[n-15],t=(e<<25|e>>>7)^(e<<14|e>>>18)^e>>>3,r=Rv[n-2],i=(r<<15|r>>>17)^(r<<13|r>>>19)^r>>>10;Rv[n]=t+Rv[n-7]+i+Rv[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+Iv[n]+Rv[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=Bv.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 Vv(e){return new zv().finalize(e).toBase64()}function Hv(e){return Vv(Av(e))}function Uv(e){return Hv(e)}function Wv(){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 Gv=/^[\w+.-]{2,}:\/\//;function Kv(e){return e.endsWith(`/`)?e:`${e}/`}function qv(e){return(e.endsWith(`/`)?e.slice(0,-1):e)||`/`}function Jv(e,...t){let n=e;for(let e of t)e&&e!==`/`&&(n=n?Kv(n)+e.replace(/^\.?\//,``):e);return n}function Yv(e,t){if(!t||t===`/`||Gv.test(e))return e;let n=qv(t);return e.startsWith(n)?e:Jv(n,e)}function Xv(e,t){let n=e.match(Gv);return t+(n?e.slice(n[0].length):e)}var Zv=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`;function Qv(e=21){let t=``,n=e;for(;n--;)t+=Zv[Math.random()*64|0];return t}var $v=Symbol.for(`immer-nothing`),ey=Symbol.for(`immer-draftable`),ty=Symbol.for(`immer-state`),ny=[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 ry(e,...t){{let n=ny[e],r=Dy(n)?n.apply(null,t):n;throw Error(`[Immer] ${r}`)}}var iy=Object,ay=iy.getPrototypeOf,oy=`constructor`,sy=`prototype`,cy=`configurable`,ly=`enumerable`,uy=`writable`,dy=`value`,fy=e=>!!e&&!!e[ty];function py(e){return e?gy(e)||Cy(e)||!!e[ey]||!!e[oy]?.[ey]||wy(e)||Ty(e):!1}var my=iy[sy][oy].toString(),hy=new WeakMap;function gy(e){if(!e||!Ey(e))return!1;let t=ay(e);if(t===null||t===iy[sy])return!0;let n=iy.hasOwnProperty.call(t,oy)&&t[oy];if(n===Object)return!0;if(!Dy(n))return!1;let r=hy.get(n);return r===void 0&&(r=Function.toString.call(n),hy.set(n,r)),r===my}function _y(e,t,n=!0){vy(e)===0?(n?Reflect.ownKeys(e):iy.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function vy(e){let t=e[ty];return t?t.type_:Cy(e)?1:wy(e)?2:Ty(e)?3:0}var yy=(e,t,n=vy(e))=>n===2?e.has(t):iy[sy].hasOwnProperty.call(e,t),by=(e,t,n=vy(e))=>n===2?e.get(t):e[t],xy=(e,t,n,r=vy(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function Sy(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}var Cy=Array.isArray,wy=e=>e instanceof Map,Ty=e=>e instanceof Set,Ey=e=>typeof e==`object`,Dy=e=>typeof e==`function`,Oy=e=>typeof e==`boolean`;function ky(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var Ay=e=>Ey(e)?e?.[ty]:null,jy=e=>e.copy_||e.base_,My=e=>e.modified_?e.copy_:e.base_;function Ny(e,t){if(wy(e))return new Map(e);if(Ty(e))return new Set(e);if(Cy(e))return Array[sy].slice.call(e);let n=gy(e);if(t===!0||t===`class_only`&&!n){let t=iy.getOwnPropertyDescriptors(e);delete t[ty];let n=Reflect.ownKeys(t);for(let r=0;r1&&iy.defineProperties(e,{set:Iy,add:Iy,clear:Iy,delete:Iy}),iy.freeze(e),t&&_y(e,(e,t)=>{Py(t,!0)},!1),e)}function Fy(){ry(2)}var Iy={[dy]:Fy};function Ly(e){return e===null||!Ey(e)||iy.isFrozen(e)}var Ry=`MapSet`,zy=`Patches`,By=`ArrayMethods`,Vy={};function Hy(e){let t=Vy[e];return t||ry(0,e),t}var Uy=e=>!!Vy[e];function Wy(e,t){Vy[e]||(Vy[e]=t)}var Gy,Ky=()=>Gy,qy=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:Uy(Ry)?Hy(Ry):void 0,arrayMethodsPlugin_:Uy(By)?Hy(By):void 0});function Jy(e,t){t&&(e.patchPlugin_=Hy(zy),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Yy(e){Xy(e),e.drafts_.forEach(Qy),e.drafts_=null}function Xy(e){e===Gy&&(Gy=e.parent_)}var Zy=e=>Gy=qy(Gy,e);function Qy(e){let t=e[ty];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function $y(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(e!==void 0&&e!==n){n[ty].modified_&&(Yy(t),ry(4)),py(e)&&(e=eb(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[ty].base_,e,t)}else e=eb(t,n);return tb(t,e,!0),Yy(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===$v?void 0:e}function eb(e,t){if(Ly(t))return t;let n=t[ty];if(!n)return lb(t,e.handledSet_,e);if(!rb(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);sb(n,e)}return n.copy_}function tb(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Py(t,n)}function nb(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var rb=(e,t)=>e.scope_===t,ib=[];function ab(e,t,n,r){let i=jy(e),a=e.type_;if(r!==void 0&&by(i,r,a)===t){xy(i,r,n,a);return}if(!e.draftLocations_){let t=e.draftLocations_=new Map;_y(i,(e,n)=>{if(fy(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}let o=e.draftLocations_.get(t)??ib;for(let e of o)xy(i,e,n,a)}function ob(e,t,n){e.callbacks_.push(function(r){let i=t;if(!i||!rb(i,r))return;r.mapSetPlugin_?.fixSetContents(i);let a=My(i);ab(e,i.draft_??i,a,n),sb(i,r)})}function sb(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)}nb(e)}}function cb(e,t,n){let{scope_:r}=e;if(fy(n)){let i=n[ty];rb(i,r)&&i.callbacks_.push(function(){vb(e),ab(e,n,My(i),t)})}else py(n)&&e.callbacks_.push(function(){let i=jy(e);e.type_===3?i.has(n)&&lb(n,r.handledSet_,r):by(i,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&lb(by(e.copy_,t,e.type_),r.handledSet_,r)})}function lb(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||fy(e)||t.has(e)||!py(e)||Ly(e)?e:(t.add(e),_y(e,(r,i)=>{if(fy(i)){let t=i[ty];rb(t,n)&&(xy(e,r,My(t),e.type_),nb(t))}else py(i)&&lb(i,t,n)}),e)}function ub(e,t){let n=Cy(e),r={type_:+!!n,scope_:t?t.scope_:Ky(),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=db;n&&(i=[r],a=fb);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,[s,r]}var db={get(e,t){if(t===ty)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=jy(e);if(!yy(i,t,e.type_))return hb(e,i,t);let a=i[t];if(e.finalized_||!py(a)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&ky(t))return a;if(a===pb(e.base_,t)||mb(e,t,a)){vb(e);let n=e.type_===1?+t:t,r=bb(e.scope_,a,e,n);return e.copy_[n]=r}return a},has(e,t){return t in jy(e)},ownKeys(e){return Reflect.ownKeys(jy(e))},set(e,t,n){let r=gb(jy(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=pb(jy(e),t),i=r?.[ty];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(Sy(n,r)&&(n!==void 0||yy(e.base_,t,e.type_)))return!0;vb(e),_b(e)}return e.copy_[t]===n&&(n!==void 0||yy(e.copy_,t,e.type_))||Number.isNaN(n)&&Number.isNaN(e.copy_[t])?!0:(e.copy_[t]=n,e.assigned_.set(t,!0),cb(e,t,n),!0)},deleteProperty(e,t){return vb(e),pb(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),_b(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let n=jy(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[uy]:!0,[cy]:e.type_!==1||t!==`length`,[ly]:r[ly],[dy]:n[t]}},defineProperty(){ry(11)},getPrototypeOf(e){return ay(e.base_)},setPrototypeOf(){ry(12)}},fb={};for(let e in db){let t=db[e];fb[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}fb.deleteProperty=function(e,t){return isNaN(parseInt(t))&&ry(13),fb.set.call(this,e,t,void 0)},fb.set=function(e,t,n){return t!==`length`&&isNaN(parseInt(t))&&ry(14),db.set.call(this,e[0],t,n,e[0])};function pb(e,t){let n=e[ty];return(n?jy(n):e)[t]}function mb(e,t,n){return e.type_!==1||!e.allIndicesReassigned_||e.assigned_?.get(t)||!py(n)||n[ty]?!1:e.baseRefs_.has(n)}function hb(e,t,n){let r=gb(t,n);return r?dy in r?r[dy]:r.get?.call(e.draft_):void 0}function gb(e,t){if(!(t in e))return;let n=ay(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=ay(n)}}function _b(e){e.modified_||(e.modified_=!0,e.parent_&&_b(e.parent_))}function vb(e){e.copy_||=(e.assigned_=new Map,Ny(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var yb=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(Dy(e)&&!Dy(t)){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}Dy(t)||ry(6),n!==void 0&&!Dy(n)&&ry(7);let r;if(py(e)){let i=Zy(this),a=bb(i,e,void 0),o=!0;try{r=t(a),o=!1}finally{o?Yy(i):Xy(i)}return Jy(i,n),$y(r,i)}if(!e||!Ey(e)){if(r=t(e),r===void 0&&(r=e),r===$v&&(r=void 0),this.autoFreeze_&&Py(r,!0),n){let t=[],i=[];Hy(zy).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}ry(1,e)},this.produceWithPatches=(e,t)=>{if(Dy(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]},Oy(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Oy(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Oy(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){py(e)||ry(8),fy(e)&&(e=xb(e));let t=Zy(this),n=bb(t,e,void 0);return n[ty].isManual_=!0,Xy(t),n}finishDraft(e,t){let n=e&&e[ty];(!n||!n.isManual_)&&ry(9);let{scope_:r}=n;return Jy(r,t),$y(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=Hy(zy).applyPatches_;return fy(e)?r(e,t):this.produce(e,e=>r(e,t))}};function bb(e,t,n,r){let[i,a]=wy(t)?Hy(Ry).proxyMap_(t,n):Ty(t)?Hy(Ry).proxySet_(t,n):ub(t,n);return(n?.scope_??Ky()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?ob(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 xb(e){return fy(e)||ry(10,e),Sb(e)}function Sb(e){if(!py(e)||Ly(e))return e;let t=e[ty],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=Ny(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=Ny(e,!0);return _y(n,(e,t)=>{xy(n,e,Sb(t))},r),t&&(t.finalized_=!1),n}function Cb(){ny.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=Ay(by(e,n.key_)),i=by(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||yy(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=by(o,e,c),f=by(s,e,c),p=l?yy(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===$v?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(Ty(e))return new Set(Array.from(e).map(u));let t=Object.create(ay(e));for(let n in e)t[n]=u(e[n]);return yy(e,ey)&&(t[ey]=e[ey]),t}function d(e){return fy(e)?u(e):e}Wy(zy,{applyPatches_:l,generatePatches_:i,generateReplacementPatches_:c,getPath:e})}globalThis.Iterator?.from;var wb=new yb,Tb=wb.produce,Eb=wb.produceWithPatches.bind(wb),Db=wb.applyPatches.bind(wb),Ob=1e3;function kb(e,t){if(e.add(t),e.size>Ob){let t=e.values().next().value;t!==void 0&&e.delete(t)}}function Ab(e){let{enablePatches:t=!1}=e;t&&Cb();let n=Wv(),r=e.initialValue,i=new Set;return{on:n.on,value:()=>r,patch:(e,t=Qv())=>{i.has(t)||(Cb(),r=Db(r,e),kb(i,t),n.emit(`updated`,r,void 0,t))},mutate:(e,a=Qv())=>{if(!i.has(a)){if(kb(i,a),t){let[t,i]=Eb(r,e);if(t===r)return;r=t,n.emit(`updated`,r,i,a)}else{let t=Tb(r,e);if(t===r)return;r=t,n.emit(`updated`,r,void 0,a)}}},syncIds:i}}var jb=typeof self==`object`?self:globalThis,Mb=new Set([`Error`,`EvalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`,`AggregateError`]),Nb=new Set([`Boolean`,`Number`,`String`,`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float16Array`,`Float32Array`,`Float64Array`,`BigInt64Array`,`BigUint64Array`]);function Pb(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=Mb.has(e)?jb[e]:void 0;return n(new(r??jb.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`&&Nb.has(a))return n(new jb[a](o),i);throw TypeError(`unable to deserialize unsafe or unknown type: ${String(a)}`)};return r}function Fb(e){return Pb(new Map,e)(0)}var Ib=``,{toString:Lb}={},{keys:Rb}=Object;function zb(e){let t=typeof e;if(t!==`object`||!e)return[0,t];let n=Lb.call(e).slice(8,-1);switch(n){case`Array`:return[1,Ib];case`Object`:return[2,Ib];case`Date`:return[3,Ib];case`RegExp`:return[4,Ib];case`Map`:return[5,Ib];case`Set`:return[6,Ib];case`DataView`:return[1,n]}return n.includes(`Array`)?[1,n]:n.includes(`Error`)?[7,n]:[2,n]}function Bb([e,t]){return e===0&&(t===`function`||t===`symbol`)}function Vb(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]=zb(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 Rb(r))(e||!Bb(zb(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||!(Bb(zb(n))||Bb(zb(i))))&&t.push([a(n),a(i)]);return n}case 6:{let t=[],n=i([o,t],r);for(let n of r)(e||!Bb(zb(n)))&&t.push(a(n));return n}}let{message:c}=r;return i([o,{name:s,message:c}],r)};return a}function Hb(e,t={}){let n=[];return Vb(!(t.json||t.lossy),!!t.json,new Map,n)(e),n}var{parse:Ub,stringify:Wb}=JSON,Gb={json:!0,lossy:!0};function Kb(e){return Fb(Ub(e))}function qb(e){return Wb(Hb(e,Gb))}function Jb(e){return Fb(e)}function Yb(e){return qb(e)}function Xb(e){return Kb(e)}var Zb=256,Qb=class extends Error{name=`StreamClosedError`};function $b(e={}){let t=e.id??Qv(),n=Math.max(0,e.replayWindow??0),r=Wv(),i=new AbortController,a=[],o=!1,s=0;function c(e){if(o)throw new Qb(`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=tx(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 ex(e={}){let t=e.id??Qv(),n=Math.max(1,e.highWaterMark??Zb),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 tx(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 nx=128;function rx(e){return e.replace(/[^\w-]+/g,`_`).slice(0,nx)}var ix=`modulepreload`,ax=function(e,t){return new URL(e,t).href},ox={},sx=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=ax(t,n),t=s(t),t in ox)return;ox[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`:ix,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)})},cx=`__connection.json`,lx=`__DEVFRAME_CONNECTION__`,ux=`x-birpc-session`,dx=`__rpc-dump/index.json`,fx=`devframe:services`,px=`devframe_otp`,mx=`devframe_auth_token`;uv.postMessage.remoteAssetsError;var hx=class{cacheMap=new Map;options;keySerializer;constructor(e){this.options=e,this.keySerializer=e.keySerializer||(e=>Uv(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()}},gx=pv({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 _x(e){if(e.agent&&e.jsonSerializable===!1)throw gx.DF0019({name:e.name});e.agent&&!e.jsonSerializable&&(e.jsonSerializable=!0)}async function vx(e,t){let n=e[`~standard`].validate(t);return n instanceof Promise?await n:n}function yx(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 bx(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 Cx(e,t){let n=e.handler;if(!n){let r=await Sx(e,t);if(!r.handler)throw gx.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 bx(e.name,r,t),o=await a(...n);return await xx(e.name,i,o)}}var wx=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 Cx(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 gx.DF0021({name:e.name});_x(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 gx.DF0022({name:e.name});_x(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 Cx(this.definitions.get(e),this.context)}getSchema(e){let t=this.definitions.get(e);if(!t)throw gx.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 Tx(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 Dx(t,`undefined`,r,e);return n}return i!==null&&Ex(i,r,e,t),n})}function Ex(e,t,n,r){if(typeof e==`bigint`)throw Dx(r,`BigInt`,t,n);if(typeof e!=`object`)return;if(e instanceof Map)throw Dx(r,`Map`,t,n);if(e instanceof Set)throw Dx(r,`Set`,t,n);if(e instanceof Date)throw Dx(r,`Date`,t,n);if(Array.isArray(e))return;let i=Object.getPrototypeOf(e);if(i!==null&&i!==Object.prototype)throw Dx(r,e.constructor?.name??`class instance`,t,n)}function Dx(e,t,n,r){let i=Ox(n,r);return gx.DF0020({name:e||``,type:t,path:i})}function Ox(e,t){return Array.isArray(e)?`[${t}]`:t===``?``:t}var kx=`__DEVFRAME_CONNECTION_META__`,Ax=`__DEVFRAME_CONNECTION_AUTH_TOKEN__`;function jx(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 Mx(){return jx(lx)}function Nx(){return jx(kx)}function Px(e){if(e)return e;try{let e=localStorage.getItem(Ax);if(e)return e}catch{}return jx(Ax)}function Fx(e){globalThis[lx]=e,globalThis[kx]={...e.connectionMeta,baseUrl:e.metaBaseUrl},e.authToken&&Ix(e.authToken)}function Ix(e){try{localStorage.setItem(Ax,e)}catch{}globalThis[Ax]=e;let t=Mx();t&&(globalThis[lx]={...t,authToken:e})}function Lx(e){let t=Yv(cx,e);try{return new URL(t,globalThis.location?.href).href}catch{return t}}function Rx(e,t){return t&&t!==e.authToken?{...e,authToken:t}:e}function zx(){let e=Mx();if(e)return Rx(e,Px()??e.authToken??e.connectionMeta.authToken);let t=Nx();if(t)return{connectionMeta:t,metaBaseUrl:t.baseUrl??Lx(`./`),authToken:Px(t.authToken)}}async function Bx(e={}){if(e.connection){let t=Rx(e.connection,Px(e.authToken??e.connection.authToken??e.connection.connectionMeta.authToken));return Fx(t),t}let t=Array.isArray(e.baseURL)?e.baseURL:[e.baseURL??`./`];if(e.connectionMeta){let n={connectionMeta:e.connectionMeta,metaBaseUrl:Lx(t[0]??`./`),authToken:Px(e.authToken??e.connectionMeta.authToken)};return Fx(n),n}let n=zx();if(n){let t=Rx(n,Px(e.authToken??n.authToken??n.connectionMeta.authToken));return Fx(t),t}let r=[];for(let n of t){let t=Yv(cx,n),i=Lx(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:Px(e.authToken??r.authToken)};return Fx(o),o}catch(e){r.push(e)}}throw Error(`Failed to get connection meta from ${t.join(`, `)}`,{cause:r})}var Vx=class extends Error{name=`DevframeConnectionError`;kind;constructor(e,t,n){super(t,n),this.kind=e}};function Hx(e=px){try{let t=globalThis.location?.hash?.replace(/^#/,``)??``;return new URLSearchParams(t).get(e)||void 0}catch{return}}function Ux(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 Wx(e=px){let t=Hx(e);return t&&Ux(e),t}async function Gx(e,t={}){let n=Wx(t.param??`devframe_otp`);return n?e.isTrusted?!0:e.requestTrustWithCode(n):!1}function Kx(e){let t={},n=new WeakMap,r,i=()=>(r??=e.sharedState.get(fx,{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 qx(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:uv.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:uv.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=Ab({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(uv.client.isTrustedUpdated,e=>{e&&!n&&(n=!0,d())})}})}}}var Jx=new Map;function Yx(e=Jx){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?Tx(n,r??``):`s:${Yb(n)}`},deserialize:e=>{let n=e.startsWith(`s:`)?Xb(e.slice(2)):JSON.parse(e);return n.t===`q`&&n.i&&n.m&&t.set(n.i,n.m),n}}}function Xx(){}function Zx(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 Qx(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 $x(e){let{onConnected:t=Xx,onError:n=Xx,onDisconnected:r=Xx,definitions:i,fetch:a=globalThis.fetch.bind(globalThis)}=e,o=e.url;e.authToken&&(o=`${o}${o.includes(`?`)?`&`:`?`}${mx}=${encodeURIComponent(e.authToken)}`);let s=Yx(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=Zx(r);if(!e)break;r=e.rest;let{event:t,data:n}=Qx(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`,[ux]: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 eS(e,t){let{channel:n,rpcOptions:r={}}=t;return Cv(e,{...n,timeout:-1,...r,proxify:!1})}function tS(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(uv.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 Vx(`connection`,`[devframe] Not connected to the devframe server`,{cause:u??void 0}):l===`unauthorized`?new Vx(`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(uv.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 Vx(`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(uv.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(uv.client.connectionError,e),m(new Vx(`connection`,`[devframe] Connection to the devframe server failed`,{cause:e}))},onDisconnected(){l!==`error`&&f(`disconnected`),m(new Vx(`connection`,`[devframe] Disconnected from the devframe server`,{cause:u??void 0}))}}),y=eS(a.functions,{channel:v,rpcOptions:o});a.register({name:uv.broadcast.authRevoked,type:`event`,handler:()=>{c=!1;let e=new Vx(`auth`,`[devframe] The devframe server revoked this client's trust`);f(`unauthorized`,e),i.emit(uv.client.connectionError,e),m(e),i.emit(uv.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 Vx(`auth`,`[devframe] The devframe server refused this client's credentials`);f(`unauthorized`,e),i.emit(uv.client.connectionError,e)}return i.emit(uv.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(uv.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 x(){return c?!0:ee(b??``)}async function S(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:x,requestTrustWithToken:ee,requestTrustWithCode:te,requestAuthCode:ne,ensureTrusted:S,call:(...e)=>{let t=String(e[0]),n=h();return n?(i.emit(uv.client.error,n,t),Promise.reject(n)):g(y.$call(...e),t)},callEvent:(...e)=>{let t=h();if(t){i.emit(uv.client.error,t,String(e[0]));return}return y.$callEvent(...e)},callOptional:(...e)=>{let t=String(e[0]),n=h();return n?(i.emit(uv.client.error,n,t),Promise.reject(n)):g(y.$callOptional(...e),t)},close:()=>{v.close()}}}function nS(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 rS(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},sseOptions:s={},callTimeout:c=0}=e,l=nS(n.sse,r??`./`,location);return tS({transport:`sse`,authToken:t,connectionMeta:n,events:i,clientRpc:a,rpcOptions:o,callTimeout:c,createChannel:e=>$x({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 iS(e){let{name:t,message:n,cause:r,...i}=e,a=r instanceof Error?r:aS(r)?iS(r):r,o=a===void 0?Error(n):Error(n,{cause:a});return o.name=t,Object.assign(o,i),o}function aS(e){return typeof e==`object`&&!!e&&typeof e.message==`string`&&typeof e.name==`string`}function oS(e){return typeof e==`object`&&!!e&&e.type===`static`&&typeof e.path==`string`}function sS(e){return typeof e==`object`&&!!e&&e.type===`query`&&typeof e.records==`object`&&e.records!==null}function cS(e){return typeof e==`object`&&!!e&&(`output`in e||`error`in e)}function lS(e){if(e.error)throw iS(e.error);return e.output}function uS(e){return e.some(e=>e!=null)}function dS(e){return typeof e==`object`&&e&&`serialization`in e&&`data`in e?e.data:e}function fS(e,t){let n=new Map,r=new Map;function i(e,t){return t===`structured-clone`&&Array.isArray(e)?Jb(e):e}function a(e,t){return i(dS(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 cS(r)?lS(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(oS(r)){if(uS(n))throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`);return await o(r)}if(sS(r)){let e=Uv(n),i=r.records[e];if(i)return lS(await s(i,r.serialization));if(r.fallback)return lS(await s(r.fallback,r.serialization));throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}if(!uS(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 pS(e){let t=fS(await e.fetchJsonFromBases(dx),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 mS=``;function hS(e,t){return`${e}${mS}${t}`}function gS(e){let t=new Map,n=new Map;e.client.register({name:uv.broadcast.streamingChunk,type:`event`,handler(e,n,r,i){t.get(hS(e,n))?._push(r,i)}}),e.client.register({name:uv.broadcast.streamingEnd,type:`event`,handler(e,n,r){let i=hS(e,n),a=t.get(i);a&&(a._end(r),t.delete(i))}}),e.client.register({name:uv.broadcast.streamingUploadCancel,type:`event`,handler(e,t){let r=hS(e,t),i=n.get(r);i&&(i.abort(`server cancelled upload`),n.delete(r))}}),e.events.on(uv.client.isTrustedUpdated,n=>{if(n)for(let[n,r]of t){if(r.cancelled||r.done)continue;let t=n.indexOf(mS);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=hS(n,r),o=t.get(a);if(o)return o;let s=ex({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(uv.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=hS(t,r),a=n.get(i);if(a)return a;let o=$b({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 _S(){}var vS=new Map;function yS(e){let t=e.url;e.authToken&&(t=`${t}?${mx}=${encodeURIComponent(e.authToken)}`);let n=new WebSocket(t),{onConnected:r=_S,onError:i=_S,onDisconnected:a=_S,definitions:o=vS}=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=Yx(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 bS(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 Xv(a,/^https/i.test(a)?`wss://`:`ws://`);let o=new URL(a,r);return o.protocol=i,o.href}function xS(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},wsOptions:s={},callTimeout:c=0}=e,l=bS(n.websocket,r??`./`,location);return tS({transport:`websocket`,authToken:t,connectionMeta:n,events:i,clientRpc:a,rpcOptions:o,callTimeout:c,createChannel:e=>yS({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 SS(e){return e.includes(`:`)}function CS(e,t){return SS(t)?t:`${e}:${t}`}function wS(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 TS(e,t,n){let r=`devframe:settings:${n}:${t}`,i;function a(){return i||=e.sharedState.get(r,{initialValue:{}}),i}return wS(a)}function ES(e,t){return{global:TS(e,t,`global`),project:TS(e,t,`project`)}}function DS(e,t){return{namespace:t,base:e,rpc:{namespace:t,register(n){if(SS(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(CS(t,n),...r)),callEvent:((n,...r)=>e.callEvent(CS(t,n),...r)),callOptional:((n,...r)=>e.callOptional(CS(t,n),...r)),sharedState:((n,r)=>e.sharedState.get(CS(t,n),r)),streaming:{subscribe:(n,r,i)=>e.streaming.subscribe(CS(t,n),r,i),upload:(n,r)=>e.streaming.upload(CS(t,n),r)}},settings:ES(e,t),scope:e.scope}}function OS(){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 kS(e,t={}){let n=t.modelContext??OS();if(!n)return()=>{};let r=n,i=new Map,a=new Map;function o(t,n){let o=rx(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=wv(t.type,n),u=r.registerTool({name:o,description:n.description,inputSchema:Dv(t.args),annotations:{title:n.title??t.name,readOnlyHint:l===`read`,destructiveHint:l===`destructive`},execute:n=>AS(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 AS(e,t,n){try{let r=kv(n,e.args?.length);return{content:[{type:`text`,text:jS(await(await Cx(e,t))(...r))}]}}catch(e){return{isError:!0,content:[{type:`text`,text:MS(e)}]}}}function jS(e){return e===void 0?`undefined`:typeof e==`string`?e:JSON.stringify(e,null,2)}function MS(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 NS(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 PS(e={}){let{baseURL:t=`./`,rpcOptions:n={},cacheOptions:r=!1}=e,i=Wv(),a=Array.isArray(t)?t:[t],o=await Bx(e),{connectionMeta:s,metaBaseUrl:c,authToken:l}=o,u=a[0]??`./`;try{u=new URL(`.`,c).href}catch{}let d=new hx({functions:[],...typeof e.cacheOptions==`object`?e.cacheOptions:{}}),f={rpc:void 0},p=new wx(f),m=e.webmcp===!1?void 0:kS(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(Yv(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=NS(e.transport??`auto`,s),b=y===`static`?await pS({fetchJsonFromBases:_}):y===`sse`?rS({...v,sseOptions:e.sseOptions}):xS({...v,wsOptions:e.wsOptions}),ee;try{ee=new BroadcastChannel(`devframe-auth`)}catch{}let te,ne=!1;function x(e){return((...t)=>ne||!te?e(...t):te.then(()=>e(...t)))}function S(){g=!0;try{h?.(),m?.()}finally{try{ee?.close()}finally{b.close?.()}}}let C={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=>(Ix(e),o={...o,authToken:e},b.requestTrustWithToken(e)),requestTrustWithCode:async e=>{let t=await b.requestTrustWithCode(e);if(!t)return!1;Ix(t),o={...o,authToken:t};try{ee?.postMessage({type:`auth-update`,authToken:t})}catch{}return!0},requestAuthCode:e=>b.requestAuthCode(e),call:x(b.call),callEvent:x(b.callEvent),callOptional:x(b.callOptional),client:p,sharedState:void 0,services:void 0,streaming:void 0,cacheManager:d,scope:void 0,close:S};C.sharedState=qx(C),C.streaming=gS(C),C.services=Kx(C);let re=new Map;C.scope=(e=>{if(!e)return C;let t=re.get(e);return t||(t=DS(C,e),re.set(e,t)),t}),f.rpc=C;function w(){try{return typeof window<`u`&&window.self===window.top}catch{return!1}}async function ie(){if(e.simpleAuth!==!1&&w()&&typeof globalThis.prompt==`function`)for(await C.requestAuthCode().catch(()=>{});!C.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 C.requestTrustWithCode(t))return}}async function T(){let t=await b.requestTrust(),n=e.otpParam??`devframe_otp`,r=n?await Gx(C,{param:n}):!1;t||r||C.isTrusted||await ie()}return te=T().then(()=>{ne=!0},()=>{ne=!0}),s.mcp&&sx(async()=>{let{setupBrowserAgentRpcBridge:e}=await import(`./browser-agent-rpc-BXhoSh1z-CIejKvBJ.js`);return{setupBrowserAgentRpcBridge:e}},[],import.meta.url).then(({setupBrowserAgentRpcBridge:e})=>{g||(h=e(C))}).catch(()=>{}),ee&&(ee.onmessage=e=>{e.data?.type===`auth-update`&&e.data.authToken&&C.requestTrustWithToken(e.data.authToken)}),C}var FS=PS,IS=class e{rpc=Yg(null);navigate=Kg();meta=B(null);componentCount=B(0);routeCount=B(0);signalCount=B(0);providerCount=B(0);storeCount=B(0);constructor(){Hs(()=>{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(()=>{})})}static ɵfac=function(t){return new(t||e)};static ɵcmp=Up({type:e,selectors:[[`app-dashboard`]],inputs:{rpc:[1,`rpc`]},outputs:{navigate:`navigate`},decls:56,vars:9,consts:[[1,`grid`],[1,`card`],[1,`card`,`clickable`,3,`click`],[1,`big`],[1,`sub`]],template:function(e,t){e&1&&(J(0,`div`,0)(1,`div`,1)(2,`h2`),Z(3,`Project`),Y(),J(4,`dl`)(5,`dt`),Z(6,`Name`),Y(),J(7,`dd`),Z(8),Y(),J(9,`dt`),Z(10,`Angular`),Y(),J(11,`dd`),Z(12),Y(),J(13,`dt`),Z(14,`TypeScript`),Y(),J(15,`dd`),Z(16),Y(),J(17,`dt`),Z(18,`SSR`),Y(),J(19,`dd`),Z(20),Y()()(),J(21,`div`,2),qh(`click`,function(){return t.navigate.emit(`components`)}),J(22,`h2`),Z(23,`Components`),Y(),J(24,`p`,3),Z(25),Y(),J(26,`p`,4),Z(27,`discovered in source`),Y()(),J(28,`div`,2),qh(`click`,function(){return t.navigate.emit(`routes`)}),J(29,`h2`),Z(30,`Routes`),Y(),J(31,`p`,3),Z(32),Y(),J(33,`p`,4),Z(34,`registered paths`),Y()(),J(35,`div`,2),qh(`click`,function(){return t.navigate.emit(`signals`)}),J(36,`h2`),Z(37,`Signals`),Y(),J(38,`p`,3),Z(39),Y(),J(40,`p`,4),Z(41,`reactive primitives`),Y()(),J(42,`div`,2),qh(`click`,function(){return t.navigate.emit(`injectors`)}),J(43,`h2`),Z(44,`Injectors`),Y(),J(45,`p`,3),Z(46),Y(),J(47,`p`,4),Z(48,`DI providers`),Y()(),J(49,`div`,2),qh(`click`,function(){return t.navigate.emit(`store`)}),J(50,`h2`),Z(51,`NgRx Store`),Y(),J(52,`p`,3),Z(53),Y(),J(54,`p`,4),Z(55,`store entries`),Y()()()),e&2&&(U(8),Q(t.meta()?.projectName??`…`),U(4),Q(t.meta()?.angularVersion??`…`),U(4),Q(t.meta()?.typescript??`…`),U(4),Q(t.meta()?.ssr?`Yes`:`No`),U(5),Q(t.componentCount()),U(7),Q(t.routeCount()),U(7),Q(t.signalCount()),U(7),Q(t.providerCount()),U(7),Q(t.storeCount()))},styles:[`.grid[_ngcontent-%COMP%] { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); + gap: 16px; + } + .card[_ngcontent-%COMP%] { + background: #18181b; + border: 1px solid #27272a; + border-radius: 10px; + padding: 20px; + } + .card.clickable[_ngcontent-%COMP%] { + cursor: pointer; + transition: border-color 0.15s; + } + .card.clickable[_ngcontent-%COMP%]:hover { + border-color: var(--%NS%accent); + } + h2[_ngcontent-%COMP%] { + font-size: 13px; + text-transform: uppercase; + color: #71717a; + margin-bottom: 12px; + letter-spacing: 0.05em; + } + dl[_ngcontent-%COMP%] { + display: grid; + grid-template-columns: auto 1fr; + gap: 6px 12px; + font-size: 14px; + } + dt[_ngcontent-%COMP%] { + color: #a1a1aa; + } + dd[_ngcontent-%COMP%] { + color: #e4e4e7; + font-weight: 500; + } + .big[_ngcontent-%COMP%] { + font-size: 36px; + font-weight: 700; + color: var(--%NS%accent); + } + .sub[_ngcontent-%COMP%] { + font-size: 13px; + color: #71717a; + margin-top: 4px; + }`]})},LS=(e,t)=>t.selector,RS=(e,t)=>t.token+t.line;function zS(e,t){e&1&&(J(0,`p`,3),Z(1,`Scanning components…`),Y())}function BS(e,t){e&1&&(J(0,`p`,3),Z(1,`No components found.`),Y())}function VS(e,t){if(e&1&&(J(0,`li`,13),Z(1),Y()),e&2){let e=t.$implicit;U(),Q(e)}}function HS(e,t){if(e&1&&(J(0,`h4`),Z(1,`Inputs`),Y(),J(2,`ul`,12),K(3,VS,2,1,`li`,13,bh),Y()),e&2){let e=X(2).$implicit;U(3),q(e.inputs)}}function US(e,t){if(e&1&&(J(0,`li`,14),Z(1),Y()),e&2){let e=t.$implicit;U(),Q(e)}}function WS(e,t){if(e&1&&(J(0,`h4`),Z(1,`Outputs`),Y(),J(2,`ul`,12),K(3,US,2,1,`li`,14,bh),Y()),e&2){let e=X(2).$implicit;U(3),q(e.outputs)}}function GS(e,t){if(e&1&&(J(0,`span`,19),Z(1),Y()),e&2){let e=X().$implicit;U(),$(`→ `,e.source)}}function KS(e,t){if(e&1&&(J(0,`li`,16)(1,`span`,17),Z(2),Y(),J(3,`span`,18),Z(4),Y(),W(5,GS,2,1,`span`,19),Y()),e&2){let e=t.$implicit;U(2),Q(e.token),U(2),Q(e.type),U(),G(e.source&&e.source!==`class`&&e.source!==`providers array`?5:-1)}}function qS(e,t){if(e&1&&(J(0,`h4`),Z(1,`Injected Providers`),Y(),J(2,`ul`,15),K(3,KS,6,3,`li`,16,RS),Y()),e&2){let e=X(4);U(3),q(e.selectedProviders())}}function JS(e,t){e&1&&(J(0,`p`,11),Z(1,`No injected providers detected.`),Y())}function YS(e,t){if(e&1&&(J(0,`div`,10)(1,`dl`)(2,`dt`),Z(3,`File`),Y(),J(4,`dd`),Z(5),Y(),J(6,`dt`),Z(7,`Standalone`),Y(),J(8,`dd`),Z(9),Y()(),W(10,HS,5,0),W(11,WS,5,0),W(12,qS,5,0)(13,JS,2,0,`p`,11),Y()),e&2){let e=X().$implicit,t=X(2);U(5),Q(e.file),U(4),Q(e.isStandalone?`Yes`:`No`),U(),G(e.inputs.length?10:-1),U(),G(e.outputs.length?11:-1),U(),G(t.selectedProviders().length?12:13)}}function XS(e,t){if(e&1){let e=Hh();J(0,`li`,6)(1,`button`,7),qh(`click`,function(){let t=uo(e).$implicit;return fo(X(2).select(t))}),J(2,`div`,8),Z(3),Y(),J(4,`div`,9),Z(5),Y()(),W(6,YS,14,5,`div`,10),Y()}if(e&2){let e=t.$implicit,n=X(2);lg(`expanded`,n.isSelected(e)),U(),lh(`aria-expanded`,n.isSelected(e)),U(2),$(`<`,e.selector,`>`),U(2),Q(e.file),U(),G(n.isSelected(e)?6:-1)}}function ZS(e,t){if(e&1&&(J(0,`ul`,4),K(1,XS,7,6,`li`,5,LS),Y()),e&2){let e=X();U(),q(e.filtered())}}var QS=class e{rpc=Yg(null);components=B([]);allProviders=B([]);filter=B(``);loading=B(!1);selected=B(null);selectedProviders=B([]);filtered=B([]);constructor(){Hs(()=>{let e=this.filter().toLowerCase(),t=this.components();this.filtered.set(e?t.filter(t=>t.selector.includes(e)||t.file.includes(e)):t)}),Hs(()=>{this.rpc()&&this.refresh()})}async refresh(){let e=this.rpc();if(e){this.loading.set(!0);try{let t=e.scope(`ng-devtools`),[n,r]=await Promise.all([t.rpc.call(`get-components`),t.rpc.call(`get-providers`)]);this.components.set(n),this.allProviders.set(r);let i=this.selected();if(i){let e=n.find(e=>e.selector===i.selector);e?(this.selected.set(e),this.selectedProviders.set(r.filter(t=>t.file===e.file))):(this.selected.set(null),this.selectedProviders.set([]))}}finally{this.loading.set(!1)}}}isSelected(e){return this.selected()?.selector===e.selector}select(e){if(this.isSelected(e)){this.selected.set(null),this.selectedProviders.set([]);let e=this.rpc();e&&e.scope(`ng-devtools`).rpc.callEvent(`select-component`,null);return}this.selected.set(e),this.selectedProviders.set(this.allProviders().filter(t=>t.file===e.file));let t=this.rpc();t&&t.scope(`ng-devtools`).rpc.callEvent(`select-component`,e.selector)}static ɵfac=function(t){return new(t||e)};static ɵcmp=Up({type:e,selectors:[[`app-component-tree`]],inputs:{rpc:[1,`rpc`]},decls:7,vars:2,consts:[[1,`toolbar`],[`type`,`text`,`placeholder`,`Filter components…`,3,`input`,`value`],[3,`click`],[1,`muted`],[`role`,`list`,1,`component-list`],[1,`component-item`,3,`expanded`],[1,`component-item`],[1,`component-toggle`,3,`click`],[1,`selector`],[1,`file`],[1,`inline-detail`],[1,`no-providers`],[`role`,`list`,1,`prop-list`],[1,`prop-chip`,`input-chip`],[1,`prop-chip`,`output-chip`],[`role`,`list`,1,`provider-list`],[1,`provider-item`],[1,`provider-token`],[1,`provider-type`],[1,`provider-source`]],template:function(e,t){e&1&&(J(0,`div`,0)(1,`input`,1),qh(`input`,function(e){return t.filter.set(e.target.value)}),Y(),J(2,`button`,2),qh(`click`,function(){return t.refresh()}),Z(3,`Refresh`),Y()(),W(4,zS,2,0,`p`,3)(5,BS,2,0,`p`,3)(6,ZS,3,0,`ul`,4)),e&2&&(U(),Uh(`value`,t.filter()),U(3),G(t.loading()?4:t.filtered().length===0?5:6))},styles:[`.toolbar[_ngcontent-%COMP%] { + display: flex; + gap: 8px; + margin-bottom: 16px; + } + input[_ngcontent-%COMP%] { + flex: 1; + padding: 8px 12px; + background: #18181b; + border: 1px solid #27272a; + border-radius: 6px; + color: #e4e4e7; + font-size: 14px; + outline: none; + } + input[_ngcontent-%COMP%]:focus { + border-color: var(--%NS%accent); + } + button[_ngcontent-%COMP%] { + padding: 8px 16px; + background: #3f3f46; + border: none; + border-radius: 6px; + color: #e4e4e7; + cursor: pointer; + font-size: 13px; + } + button[_ngcontent-%COMP%]:hover { + background: #52525b; + } + .muted[_ngcontent-%COMP%] { + color: #71717a; + font-size: 14px; + } + .component-list[_ngcontent-%COMP%] { + list-style: none; + padding: 0; + display: flex; + flex-direction: column; + gap: 8px; + } + .component-item[_ngcontent-%COMP%] { + background: #18181b; + border: 1px solid #27272a; + border-radius: 8px; + padding: 0; + transition: border-color 0.15s; + } + .component-item[_ngcontent-%COMP%]:has(.component-toggle:hover) { + border-color: var(--%NS%accent); + } + .component-item.expanded[_ngcontent-%COMP%] { + border-color: var(--%NS%accent); + } + .component-toggle[_ngcontent-%COMP%] { + display: block; + width: 100%; + padding: 12px 16px; + background: none; + border: none; + color: inherit; + text-align: left; + cursor: pointer; + font: inherit; + } + .selector[_ngcontent-%COMP%] { + font-family: monospace; + font-size: 15px; + color: var(--%NS%accent); + font-weight: 600; + } + .file[_ngcontent-%COMP%] { + font-size: 12px; + color: #71717a; + margin-top: 2px; + } + .io[_ngcontent-%COMP%] { + font-size: 13px; + color: #a1a1aa; + margin-top: 4px; + } + .io[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] { + color: #71717a; + } + .inline-detail[_ngcontent-%COMP%] { + padding: 0 16px 12px; + border-top: 1px solid #27272a; + margin-top: 0; + padding-top: 12px; + } + .prop-list[_ngcontent-%COMP%] { + list-style: none; + padding: 0; + display: flex; + flex-wrap: wrap; + gap: 6px; + margin-bottom: 12px; + } + .prop-chip[_ngcontent-%COMP%] { + font-family: monospace; + font-size: 12px; + padding: 3px 8px; + border-radius: 4px; + } + .input-chip[_ngcontent-%COMP%] { + background: #1e3a5f; + color: #93c5fd; + } + .output-chip[_ngcontent-%COMP%] { + background: #3b1d1d; + color: #fca5a5; + } + dl[_ngcontent-%COMP%] { + display: grid; + grid-template-columns: auto 1fr; + gap: 4px 12px; + font-size: 13px; + margin-bottom: 16px; + } + dt[_ngcontent-%COMP%] { + color: #71717a; + } + dd[_ngcontent-%COMP%] { + color: #e4e4e7; + } + h4[_ngcontent-%COMP%] { + font-size: 12px; + text-transform: uppercase; + letter-spacing: 0.05em; + color: #71717a; + margin-bottom: 8px; + } + .provider-list[_ngcontent-%COMP%] { + list-style: none; + padding: 0; + display: flex; + flex-direction: column; + gap: 6px; + } + .provider-item[_ngcontent-%COMP%] { + display: flex; + align-items: center; + gap: 8px; + padding: 6px 10px; + background: #09090b; + border: 1px solid #27272a; + border-radius: 6px; + font-size: 13px; + } + .provider-token[_ngcontent-%COMP%] { + font-family: monospace; + color: #e4e4e7; + font-weight: 600; + } + .provider-type[_ngcontent-%COMP%] { + font-size: 11px; + padding: 1px 6px; + border-radius: 4px; + background: #3f3f46; + color: #a1a1aa; + } + .provider-source[_ngcontent-%COMP%] { + font-size: 12px; + color: #71717a; + } + .no-providers[_ngcontent-%COMP%] { + font-size: 13px; + color: #52525b; + }`]})};function $S(e,t){e&1&&(J(0,`p`,3),Z(1,`Scanning routes…`),Y())}function eC(e,t){e&1&&(J(0,`p`,3),Z(1,`No routes found.`),Y())}function tC(e,t){if(e&1&&(J(0,`span`,7),Z(1),Y()),e&2){let e=X().$implicit;U(),$(`➜ `,e.redirectTo)}}function nC(e,t){if(e&1&&Z(0),e&2){let e=X().$implicit;$(` `,e.component??`—`,` `)}}function rC(e,t){if(e&1&&(J(0,`tr`)(1,`td`,6),Z(2),Y(),J(3,`td`),W(4,tC,2,1,`span`,7)(5,nC,1,1),Y(),J(6,`td`),Z(7),Y(),J(8,`td`,8),Z(9),Y(),J(10,`td`),Z(11),Y()()),e&2){let e=t.$implicit;U(2),$(`/`,e.path),U(2),G(e.redirectTo===void 0?5:4),U(3),Q(e.title??`—`),U(2),Q(e.file),U(2),Q(e.hasChildren?`Yes`:`—`)}}function iC(e,t){if(e&1&&(J(0,`table`,4)(1,`thead`)(2,`tr`)(3,`th`,5),Z(4,`Path`),Y(),J(5,`th`,5),Z(6,`Component / Target`),Y(),J(7,`th`,5),Z(8,`Title`),Y(),J(9,`th`,5),Z(10,`File`),Y(),J(11,`th`,5),Z(12,`Children`),Y()()(),J(13,`tbody`),K(14,rC,12,5,`tr`,null,yh),Y()()),e&2){let e=X();U(14),q(e.filtered())}}var aC=class e{rpc=Yg(null);routes=B([]);filter=B(``);loading=B(!1);filtered=Wg(()=>{let e=this.filter().toLowerCase().trim(),t=this.routes();return e?t.filter(t=>t.path.toLowerCase().includes(e)||t.component&&t.component.toLowerCase().includes(e)||t.redirectTo&&t.redirectTo.toLowerCase().includes(e)||t.title&&t.title.toLowerCase().includes(e)||t.file.toLowerCase().includes(e)):t});constructor(){Hs(()=>{this.rpc()&&this.refresh()})}onFilterInput(e){let t=e.target;this.filter.set(t?.value??``)}async refresh(){let e=this.rpc();if(e){this.loading.set(!0);try{let t=await e.scope(`ng-devtools`).rpc.call(`get-routes`);this.routes.set(t)}finally{this.loading.set(!1)}}}static ɵfac=function(t){return new(t||e)};static ɵcmp=Up({type:e,selectors:[[`app-route-inspector`]],inputs:{rpc:[1,`rpc`]},decls:7,vars:2,consts:[[1,`toolbar`],[`type`,`text`,`aria-label`,`Filter routes`,`placeholder`,`Filter routes…`,3,`input`,`value`],[`type`,`button`,3,`click`],[1,`muted`],[`role`,`table`],[`scope`,`col`],[1,`path`],[1,`redirect`],[1,`file`]],template:function(e,t){e&1&&(J(0,`div`,0)(1,`input`,1),qh(`input`,function(e){return t.onFilterInput(e)}),Y(),J(2,`button`,2),qh(`click`,function(){return t.refresh()}),Z(3,`Refresh`),Y()(),W(4,$S,2,0,`p`,3)(5,eC,2,0,`p`,3)(6,iC,16,0,`table`,4)),e&2&&(U(),Uh(`value`,t.filter()),U(3),G(t.loading()?4:t.filtered().length===0?5:6))},styles:[`.toolbar[_ngcontent-%COMP%] { + display: flex; + gap: 8px; + margin-bottom: 16px; + } + input[_ngcontent-%COMP%] { + flex: 1; + padding: 8px 12px; + background: #18181b; + border: 1px solid #27272a; + border-radius: 6px; + color: #e4e4e7; + font-size: 14px; + outline: none; + } + input[_ngcontent-%COMP%]:focus { + border-color: var(--%NS%accent); + } + button[_ngcontent-%COMP%] { + padding: 8px 16px; + background: #3f3f46; + border: none; + border-radius: 6px; + color: #e4e4e7; + cursor: pointer; + font-size: 13px; + } + button[_ngcontent-%COMP%]:hover { + background: #52525b; + } + .muted[_ngcontent-%COMP%] { + color: #71717a; + font-size: 14px; + } + table[_ngcontent-%COMP%] { + width: 100%; + border-collapse: collapse; + font-size: 14px; + } + thead[_ngcontent-%COMP%] { + position: sticky; + top: 0; + } + th[_ngcontent-%COMP%] { + text-align: left; + padding: 8px 12px; + background: #18181b; + color: #71717a; + font-size: 12px; + text-transform: uppercase; + letter-spacing: 0.05em; + border-bottom: 1px solid #27272a; + } + td[_ngcontent-%COMP%] { + padding: 10px 12px; + border-bottom: 1px solid #1e1e22; + } + tr[_ngcontent-%COMP%]:hover td[_ngcontent-%COMP%] { + background: #18181b; + } + .path[_ngcontent-%COMP%] { + font-family: monospace; + color: var(--%NS%accent); + font-weight: 500; + } + .redirect[_ngcontent-%COMP%] { + font-family: monospace; + color: #38bdf8; + } + .file[_ngcontent-%COMP%] { + font-size: 12px; + color: #71717a; + }`]})},oC=(e,t)=>t.name+t.file+t.line,sC=(e,t)=>t.kind,cC=(e,t)=>t.id;function lC(e,t){e&1&&(J(0,`div`,3)(1,`p`,4),Z(2,`No signals found.`),Y(),J(3,`p`,5),Z(4,` No signal(), computed(), effect() calls found in source. Runtime graph requires Angular 19+ with the overlay connected. `),Y()())}function uC(e,t){if(e&1&&Z(0),e&2){let e=X().$implicit;$(` · in <`,e.component,`> `)}}function dC(e,t){if(e&1&&(J(0,`div`,8)(1,`div`,9)(2,`span`,10),Z(3),Y(),J(4,`span`,11),Z(5),Y()(),J(6,`div`,12),Z(7),W(8,uC,1,1),Y()()),e&2){let e=t.$implicit,n=X(2);U(2),cg(`background`,n.kindColor(e.kind)),U(),Q(e.kind),U(2),Q(e.name),U(2),Og(` `,e.file,`:`,e.line,` `),U(),G(e.component?8:-1)}}function fC(e,t){if(e&1&&(J(0,`p`,6),Z(1,`Signals from source scan (static analysis):`),Y(),J(2,`div`,7),K(3,dC,9,7,`div`,8,oC),Y()),e&2){let e=X();U(3),q(e.filteredSourceSignals())}}function pC(e,t){if(e&1&&(J(0,`span`,14),Fh(1,`span`,17),Z(2),Y()),e&2){let e=t.$implicit;U(),cg(`background`,e.color),U(),$(` `,e.kind,` `)}}function mC(e,t){e&1&&(J(0,`span`,19),Z(1,`watching`),Y())}function hC(e,t){if(e&1&&(J(0,`div`,20),Z(1),Pg(2,`json`),Y()),e&2){let e=X().$implicit;U(),Q(Ig(2,1,e.value))}}function gC(e,t){if(e&1&&Z(0),e&2){let e=X().$implicit;$(` · Deps: `,X(2).getDependencies(e).length,` `)}}function _C(e,t){if(e&1&&Z(0),e&2){let e=X().$implicit;$(` · Consumers: `,X(2).getConsumers(e).length,` `)}}function vC(e,t){if(e&1){let e=Hh();J(0,`div`,18),qh(`click`,function(){let t=uo(e).$implicit;return fo(X(2).selectNode(t))}),J(1,`div`,9)(2,`span`,10),Z(3),Y(),J(4,`span`,11),Z(5),Y(),W(6,mC,2,0,`span`,19),Y(),W(7,hC,3,3,`div`,20),J(8,`div`,12),Z(9),W(10,gC,1,1),W(11,_C,1,1),Y()()}if(e&2){let e=t.$implicit,n=X(2);lg(`selected`,n.selectedNode()?.id===e.id),U(2),cg(`background`,n.kindColor(e.kind)),U(),Q(e.kind),U(2),Q(e.label??`(unnamed)`),U(),G(e.watched?6:-1),U(),G(e.value===void 0?-1:7),U(2),$(` Epoch: `,e.epoch,` `),U(),G(n.getDependencies(e).length?10:-1),U(),G(n.getConsumers(e).length?11:-1)}}function yC(e,t){if(e&1&&(J(0,`dt`),Z(1,`Value`),Y(),J(2,`dd`)(3,`pre`),Z(4),Pg(5,`json`),Y()()),e&2){let e=X(3);U(4),Q(Ig(5,1,e.selectedNode().value))}}function bC(e,t){if(e&1&&(J(0,`li`)(1,`span`,21),Z(2),Y(),Z(3),Y()),e&2){let e=t.$implicit,n=X(4);U(),cg(`background`,n.kindColor(e.kind)),U(),Q(e.kind),U(),$(` `,e.label??e.id,` `)}}function xC(e,t){if(e&1&&(J(0,`h4`),Z(1,`Dependencies (producers)`),Y(),J(2,`ul`),K(3,bC,4,4,`li`,null,cC),Y()),e&2){let e=X(3);U(3),q(e.getDependencies(e.selectedNode()))}}function SC(e,t){if(e&1&&(J(0,`li`)(1,`span`,21),Z(2),Y(),Z(3),Y()),e&2){let e=t.$implicit,n=X(4);U(),cg(`background`,n.kindColor(e.kind)),U(),Q(e.kind),U(),$(` `,e.label??e.id,` `)}}function CC(e,t){if(e&1&&(J(0,`h4`),Z(1,`Consumers`),Y(),J(2,`ul`),K(3,SC,4,4,`li`,null,cC),Y()),e&2){let e=X(3);U(3),q(e.getConsumers(e.selectedNode()))}}function wC(e,t){if(e&1&&(J(0,`aside`,16)(1,`h3`),Z(2),Y(),J(3,`dl`)(4,`dt`),Z(5,`Kind`),Y(),J(6,`dd`),Z(7),Y(),J(8,`dt`),Z(9,`Epoch`),Y(),J(10,`dd`),Z(11),Y(),W(12,yC,6,3),Y(),W(13,xC,5,0),W(14,CC,5,0),Y()),e&2){let e=X(2);U(2),Q(e.selectedNode().label??e.selectedNode().id),U(5),Q(e.selectedNode().kind),U(4),Q(e.selectedNode().epoch),U(),G(e.selectedNode().value===void 0?-1:12),U(),G(e.getDependencies(e.selectedNode()).length?13:-1),U(),G(e.getConsumers(e.selectedNode()).length?14:-1)}}function TC(e,t){if(e&1&&(J(0,`div`,13),K(1,pC,3,3,`span`,14,sC),Y(),J(3,`div`,7),K(4,vC,12,11,`div`,15,cC),Y(),W(6,wC,15,6,`aside`,16)),e&2){let e=X();U(),q(e.kindLegend),U(3),q(e.filteredNodes()),U(2),G(e.selectedNode()?6:-1)}}var EC={signal:`#a78bfa`,computed:`#60a5fa`,linkedSignal:`#34d399`,effect:`#fb923c`,template:`#94a3b8`,afterRenderEffectPhase:`#f472b6`,childSignalProp:`#c084fc`,"input (signal)":`#f59e0b`,"input.required (signal)":`#f59e0b`,"output (signal)":`#ec4899`,"model (signal)":`#14b8a6`,"model.required (signal)":`#14b8a6`,"viewChild (signal)":`#8b5cf6`,"viewChild.required (signal)":`#8b5cf6`,"viewChildren (signal)":`#8b5cf6`,"contentChild (signal)":`#6366f1`,"contentChild.required (signal)":`#6366f1`,"contentChildren (signal)":`#6366f1`,resource:`#06b6d4`,unknown:`#71717a`},DC=class e{rpc=Yg(null);graph=B(null);sourceSignals=B([]);filter=B(``);selectedNode=B(null);kindLegend=Object.entries(EC).map(([e,t])=>({kind:e,color:t}));filteredNodes=Wg(()=>{let e=this.graph();if(!e)return[];let t=this.filter().toLowerCase();return t?e.nodes.filter(e=>(e.label??``).toLowerCase().includes(t)||e.kind.includes(t)):e.nodes});filteredSourceSignals=Wg(()=>{let e=this.filter().toLowerCase(),t=this.sourceSignals();return e?t.filter(t=>t.name.toLowerCase().includes(e)||t.kind.includes(e)||t.file.includes(e)):t});constructor(){Hs(()=>{let e=this.rpc();e&&(this.loadSignalGraph(e),this.loadSourceSignals(e))})}async loadSignalGraph(e){let t=await e.scope(`ng-devtools`).rpc.sharedState(`signal-graph`),n=t.value();n?.graph&&this.graph.set(n.graph),t.on(`updated`,e=>{e?.graph&&this.graph.set(e.graph)})}async loadSourceSignals(e){let t=e.scope(`ng-devtools`);try{let e=await t.rpc.call(`get-signals`);this.sourceSignals.set(e)}catch{}}selectNode(e){this.selectedNode.set(this.selectedNode()?.id===e.id?null:e)}kindColor(e){return EC[e]??EC.unknown}getDependencies(e){let t=this.graph();if(!t)return[];let n=t.nodes.findIndex(t=>t.id===e.id);return t.edges.filter(e=>e.consumer===n).map(e=>t.nodes[e.producer]).filter(Boolean)}getConsumers(e){let t=this.graph();if(!t)return[];let n=t.nodes.findIndex(t=>t.id===e.id);return t.edges.filter(e=>e.producer===n).map(e=>t.nodes[e.consumer]).filter(Boolean)}static ɵfac=function(t){return new(t||e)};static ɵcmp=Up({type:e,selectors:[[`app-signal-inspector`]],inputs:{rpc:[1,`rpc`]},decls:7,vars:5,consts:[[1,`toolbar`],[`type`,`text`,`placeholder`,`Filter by name or kind…`,3,`input`,`value`],[1,`label`],[1,`empty`],[1,`muted`],[1,`hint`],[1,`source-label`],[1,`nodes`],[1,`node-card`],[1,`node-header`],[1,`kind-badge`],[1,`node-label`],[1,`node-meta`],[1,`legend`],[1,`legend-item`],[1,`node-card`,3,`selected`],[1,`detail-panel`],[1,`dot`],[1,`node-card`,3,`click`],[1,`watched-badge`],[1,`node-value`],[1,`kind-badge`,`sm`]],template:function(e,t){e&1&&(J(0,`div`,0)(1,`input`,1),qh(`input`,function(e){return t.filter.set(e.target.value)}),Y(),J(2,`span`,2),Z(3),Y()(),W(4,lC,5,0,`div`,3),W(5,fC,5,0),W(6,TC,7,1)),e&2&&(U(),Uh(`value`,t.filter()),U(2),$(`Component: `,t.graph()?.componentSelector??`—`),U(),G(!t.graph()&&t.sourceSignals().length===0?4:-1),U(),G(!t.graph()&&t.sourceSignals().length>0?5:-1),U(),G(t.graph()?6:-1))},dependencies:[d_],styles:[`.toolbar[_ngcontent-%COMP%] { + display: flex; + gap: 12px; + align-items: center; + margin-bottom: 16px; + } + input[_ngcontent-%COMP%] { + flex: 1; + padding: 8px 12px; + background: #18181b; + border: 1px solid #27272a; + border-radius: 6px; + color: #e4e4e7; + font-size: 14px; + outline: none; + } + input[_ngcontent-%COMP%]:focus { + border-color: var(--%NS%accent); + } + .label[_ngcontent-%COMP%] { + font-size: 13px; + color: #71717a; + white-space: nowrap; + } + .empty[_ngcontent-%COMP%] { + text-align: center; + padding: 48px 16px; + } + .muted[_ngcontent-%COMP%] { + color: #71717a; + font-size: 14px; + } + .hint[_ngcontent-%COMP%] { + color: #52525b; + font-size: 12px; + margin-top: 8px; + } + .source-label[_ngcontent-%COMP%] { + font-size: 13px; + color: #71717a; + margin-bottom: 12px; + } + .legend[_ngcontent-%COMP%] { + display: flex; + gap: 12px; + flex-wrap: wrap; + margin-bottom: 16px; + } + .legend-item[_ngcontent-%COMP%] { + display: flex; + align-items: center; + gap: 4px; + font-size: 12px; + color: #a1a1aa; + } + .dot[_ngcontent-%COMP%] { + width: 8px; + height: 8px; + border-radius: 50%; + } + .nodes[_ngcontent-%COMP%] { + display: flex; + flex-direction: column; + gap: 8px; + } + .node-card[_ngcontent-%COMP%] { + background: #18181b; + border: 1px solid #27272a; + border-radius: 8px; + padding: 12px 16px; + cursor: pointer; + transition: border-color 0.15s; + } + .node-card[_ngcontent-%COMP%]:hover { + border-color: #3f3f46; + } + .node-card.selected[_ngcontent-%COMP%] { + border-color: var(--%NS%accent); + } + .node-header[_ngcontent-%COMP%] { + display: flex; + align-items: center; + gap: 8px; + } + .kind-badge[_ngcontent-%COMP%] { + font-size: 11px; + padding: 2px 8px; + border-radius: 4px; + color: #fff; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.05em; + } + .kind-badge.sm[_ngcontent-%COMP%] { + font-size: 10px; + padding: 1px 5px; + } + .node-label[_ngcontent-%COMP%] { + font-family: monospace; + font-size: 14px; + color: #e4e4e7; + } + .watched-badge[_ngcontent-%COMP%] { + font-size: 10px; + padding: 1px 6px; + border-radius: 4px; + background: #14532d; + color: #4ade80; + } + .node-value[_ngcontent-%COMP%] { + font-family: monospace; + font-size: 12px; + color: #a1a1aa; + margin-top: 4px; + max-height: 40px; + overflow: hidden; + } + .node-meta[_ngcontent-%COMP%] { + font-size: 11px; + color: #52525b; + margin-top: 4px; + } + .detail-panel[_ngcontent-%COMP%] { + margin-top: 16px; + padding: 16px; + background: #18181b; + border: 1px solid #27272a; + border-radius: 8px; + } + .detail-panel[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] { + font-family: monospace; + color: var(--%NS%accent); + margin-bottom: 12px; + } + .detail-panel[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] { + font-size: 12px; + color: #71717a; + margin: 12px 0 4px; + text-transform: uppercase; + letter-spacing: 0.05em; + } + dl[_ngcontent-%COMP%] { + display: grid; + grid-template-columns: auto 1fr; + gap: 4px 12px; + font-size: 13px; + } + dt[_ngcontent-%COMP%] { + color: #71717a; + } + dd[_ngcontent-%COMP%] { + color: #e4e4e7; + } + pre[_ngcontent-%COMP%] { + font-size: 12px; + white-space: pre-wrap; + margin: 0; + } + ul[_ngcontent-%COMP%] { + list-style: none; + padding: 0; + font-size: 13px; + } + li[_ngcontent-%COMP%] { + padding: 2px 0; + color: #a1a1aa; + display: flex; + align-items: center; + gap: 6px; + }`]})},OC=(e,t)=>t.type,kC=(e,t)=>t.token+t.file+t.line,AC=(e,t)=>t.injector.id,jC=(e,t)=>t.node.injector.id,MC=(e,t)=>t.token;function NC(e,t){e&1&&(J(0,`div`,4)(1,`p`,5),Z(2,`No DI data found.`),Y(),J(3,`p`,6),Z(4,` No providers, injectables, or inject() calls found. Runtime tree requires Angular 17+ with the overlay connected. `),Y()())}function PC(e,t){if(e&1&&(J(0,`span`,14),Z(1),Y()),e&2){let e=X().$implicit;U(),$(`providedIn: `,e.providedIn)}}function FC(e,t){if(e&1&&Z(0),e&2){let e=X().$implicit;$(` · as `,e.source,` `)}}function IC(e,t){if(e&1&&(J(0,`div`,11)(1,`div`,12)(2,`span`,13),Z(3),Y(),W(4,PC,2,1,`span`,14),Y(),J(5,`div`,15),Z(6),W(7,FC,1,1),Y()()),e&2){let e=t.$implicit;U(3),Q(e.token),U(),G(e.providedIn?4:-1),U(2),Og(` `,e.file,`:`,e.line,` `),U(),G(e.source!==`class`&&e.source!==`providers array`?7:-1)}}function LC(e,t){if(e&1&&(J(0,`div`,9)(1,`h3`),Z(2),Y(),J(3,`div`,10),K(4,IC,8,5,`div`,11,kC),Y()()),e&2){let e=t.$implicit;U(2),Og(``,e.label,` (`,e.items.length,`)`),U(2),q(e.items)}}function RC(e,t){if(e&1&&(J(0,`p`,7),Z(1,`DI from source scan (static analysis):`),Y(),J(2,`div`,8),K(3,LC,6,2,`div`,9,OC),Y()),e&2){let e=X();U(3),q(e.groupedProviders())}}function zC(e,t){e&1&&Bh(0)}function BC(e,t){if(e&1&&(J(0,`span`,24),Z(1),Y()),e&2){let e=X().$implicit;U(),$(``,e.node.injector.providerCount,` providers`)}}function VC(e,t){if(e&1){let e=Hh();J(0,`div`,21),qh(`click`,function(){let t=uo(e).$implicit;return fo(X(4).select(t.node))}),J(1,`span`,22),Z(2),Y(),J(3,`span`,23),Z(4),Y(),W(5,BC,2,1,`span`,24),Y()}if(e&2){let e=t.$implicit,n=X(4);cg(`padding-left`,e.depth*24+12,`px`),lg(`selected`,n.selectedId()===e.node.injector.id),U(),cg(`background`,n.typeColor(e.node.injector.type)),U(),$(` `,e.node.injector.type,` `),U(2),Q(e.node.injector.name),U(),G(e.node.injector.providerCount>0?5:-1)}}function HC(e,t){if(e&1&&(J(0,`div`,19),K(1,VC,6,9,`div`,20,jC),Y()),e&2){let e=X().$implicit,t=X(2);U(),q(t.flattenTree(e))}}function UC(e,t){e&1&&(nm(0,zC,1,0,`ng-container`,18)(1,HC,3,0),sh(2,1),ch()),e&2&&Uh(`ngTemplateOutlet`,void 0)}function WC(e,t){e&1&&(J(0,`p`,5),Z(1,`No providers configured on this injector.`),Y())}function GC(e,t){if(e&1&&(J(0,`tr`)(1,`td`,13),Z(2),Y(),J(3,`td`),Z(4),Y(),J(5,`td`),Z(6),Y()()),e&2){let e=t.$implicit;U(2),Q(e.token),U(2),Q(e.type),U(2),Q(e.isViewProvider?`Yes`:`—`)}}function KC(e,t){if(e&1&&(J(0,`table`,26)(1,`thead`)(2,`tr`)(3,`th`),Z(4,`Token`),Y(),J(5,`th`),Z(6,`Type`),Y(),J(7,`th`),Z(8,`View`),Y()()(),J(9,`tbody`),K(10,GC,7,3,`tr`,null,MC),Y()()),e&2){let e=X(3);U(10),q(e.selectedInjector().providers)}}function qC(e,t){if(e&1&&(J(0,`aside`,17)(1,`div`,25)(2,`span`,22),Z(3),Y(),J(4,`h3`),Z(5),Y()(),W(6,WC,2,0,`p`,5)(7,KC,12,0,`table`,26),Y()),e&2){let e=X(2);U(2),cg(`background`,e.typeColor(e.selectedInjector().injector.type)),U(),$(` `,e.selectedInjector().injector.type,` `),U(2),Q(e.selectedInjector().injector.name),U(),G(e.selectedInjector().providers.length===0?6:7)}}function JC(e,t){if(e&1&&(J(0,`div`,16),K(1,UC,4,1,null,null,AC),Y(),W(3,qC,8,5,`aside`,17)),e&2){let e=X();U(),q(e.filteredRoots()),U(2),G(e.selectedInjector()?3:-1)}}var YC={element:`#60a5fa`,environment:`#34d399`,null:`#71717a`},XC=class e{rpc=Yg(null);roots=B([]);sourceProviders=B([]);filter=B(``);hideEmpty=B(!1);selectedId=B(null);selectedInjector=Wg(()=>{let e=this.selectedId();return e?this.findNode(this.roots(),e):null});filteredRoots=Wg(()=>{let e=this.roots();this.hideEmpty()&&(e=this.filterEmpty(e));let t=this.filter().toLowerCase();return t&&(e=this.filterByQuery(e,t)),e});groupedProviders=Wg(()=>{let e=this.sourceProviders(),t=this.filter().toLowerCase(),n=t?e.filter(e=>e.token.toLowerCase().includes(t)||e.file.includes(t)):e,r=[{type:`root-provider`,label:`Root Providers (provide*)`,items:[]},{type:`injectable`,label:`Injectable Services`,items:[]},{type:`injection`,label:`inject() Calls`,items:[]},{type:`provider`,label:`Component Providers`,items:[]}];for(let e of n){let t=r.find(t=>t.type===e.type);t&&t.items.push(e)}return r.filter(e=>e.items.length>0)});constructor(){Hs(()=>{let e=this.rpc();e&&(this.loadInjectorTree(e),this.loadSourceProviders(e))})}async loadInjectorTree(e){let t=await e.scope(`ng-devtools`).rpc.sharedState(`injector-tree`),n=t.value();n?.roots?.length&&this.roots.set(n.roots),t.on(`updated`,e=>{e?.roots&&this.roots.set(e.roots)})}async loadSourceProviders(e){let t=e.scope(`ng-devtools`);try{let e=await t.rpc.call(`get-providers`);this.sourceProviders.set(e)}catch{}}select(e){this.selectedId.set(this.selectedId()===e.injector.id?null:e.injector.id)}typeColor(e){return YC[e]??YC.null}flattenTree(e){let t=[],n=(e,r)=>{t.push({node:e,depth:r});for(let t of e.children)n(t,r+1)};return n(e,0),t}findNode(e,t){for(let n of e){if(n.injector.id===t)return n;let e=this.findNode(n.children,t);if(e)return e}return null}filterEmpty(e){return e.map(e=>({...e,children:this.filterEmpty(e.children)})).filter(e=>e.injector.providerCount>0||e.children.length>0)}filterByQuery(e,t){return e.map(e=>({...e,children:this.filterByQuery(e.children,t)})).filter(e=>e.injector.name.toLowerCase().includes(t)||e.providers.some(e=>e.token.toLowerCase().includes(t))||e.children.length>0)}static ɵfac=function(t){return new(t||e)};static ɵcmp=Up({type:e,selectors:[[`app-di-inspector`]],inputs:{rpc:[1,`rpc`]},decls:8,vars:5,consts:[[1,`toolbar`],[`type`,`text`,`placeholder`,`Filter by injector name or token…`,3,`input`,`value`],[1,`checkbox`],[`type`,`checkbox`,3,`change`,`checked`],[1,`empty`],[1,`muted`],[1,`hint`],[1,`source-label`],[1,`source-providers`],[1,`provider-group`],[1,`provider-list`],[1,`provider-card`],[1,`provider-header`],[1,`token`],[1,`provided-in`],[1,`provider-meta`],[1,`tree-container`],[1,`detail-panel`],[4,`ngTemplateOutlet`],[1,`injector-tree`],[1,`injector-row`,3,`selected`,`paddingLeft`],[1,`injector-row`,3,`click`],[1,`type-badge`],[1,`name`],[1,`provider-count`],[1,`detail-header`],[`role`,`table`]],template:function(e,t){e&1&&(J(0,`div`,0)(1,`input`,1),qh(`input`,function(e){return t.filter.set(e.target.value)}),Y(),J(2,`label`,2)(3,`input`,3),qh(`change`,function(){return t.hideEmpty.set(!t.hideEmpty())}),Y(),Z(4,` Hide empty injectors `),Y()(),W(5,NC,5,0,`div`,4),W(6,RC,5,0),W(7,JC,4,1)),e&2&&(U(),Uh(`value`,t.filter()),U(2),Uh(`checked`,t.hideEmpty()),U(2),G(t.roots().length===0&&t.sourceProviders().length===0?5:-1),U(),G(t.roots().length===0&&t.sourceProviders().length>0?6:-1),U(),G(t.roots().length>0?7:-1))},styles:[`.toolbar[_ngcontent-%COMP%] { + display: flex; + gap: 12px; + align-items: center; + margin-bottom: 16px; + } + input[type='text'][_ngcontent-%COMP%] { + flex: 1; + padding: 8px 12px; + background: #18181b; + border: 1px solid #27272a; + border-radius: 6px; + color: #e4e4e7; + font-size: 14px; + outline: none; + } + input[type='text'][_ngcontent-%COMP%]:focus { + border-color: var(--%NS%accent); + } + .checkbox[_ngcontent-%COMP%] { + display: flex; + align-items: center; + gap: 6px; + font-size: 13px; + color: #a1a1aa; + white-space: nowrap; + cursor: pointer; + } + .empty[_ngcontent-%COMP%] { + text-align: center; + padding: 48px 16px; + } + .muted[_ngcontent-%COMP%] { + color: #71717a; + font-size: 14px; + } + .hint[_ngcontent-%COMP%] { + color: #52525b; + font-size: 12px; + margin-top: 8px; + } + .tree-container[_ngcontent-%COMP%] { + display: flex; + flex-direction: column; + } + .injector-row[_ngcontent-%COMP%] { + display: flex; + align-items: center; + gap: 8px; + padding: 8px 12px; + cursor: pointer; + border-bottom: 1px solid #1e1e22; + transition: background 0.1s; + } + .injector-row[_ngcontent-%COMP%]:hover { + background: #18181b; + } + .injector-row.selected[_ngcontent-%COMP%] { + background: color-mix(in srgb, var(--%NS%accent) 22%, transparent); + border-color: var(--%NS%accent); + } + .type-badge[_ngcontent-%COMP%] { + font-size: 10px; + padding: 2px 6px; + border-radius: 4px; + color: #fff; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.05em; + } + .name[_ngcontent-%COMP%] { + font-family: monospace; + font-size: 13px; + color: #e4e4e7; + } + .provider-count[_ngcontent-%COMP%] { + font-size: 11px; + color: #71717a; + margin-left: auto; + } + .detail-panel[_ngcontent-%COMP%] { + margin-top: 16px; + padding: 16px; + background: #18181b; + border: 1px solid #27272a; + border-radius: 8px; + } + .detail-header[_ngcontent-%COMP%] { + display: flex; + align-items: center; + gap: 8px; + margin-bottom: 12px; + } + .detail-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] { + font-family: monospace; + color: #e4e4e7; + margin: 0; + } + table[_ngcontent-%COMP%] { + width: 100%; + border-collapse: collapse; + font-size: 13px; + } + th[_ngcontent-%COMP%] { + text-align: left; + padding: 6px 10px; + background: #0f0f11; + color: #71717a; + font-size: 11px; + text-transform: uppercase; + letter-spacing: 0.05em; + border-bottom: 1px solid #27272a; + } + td[_ngcontent-%COMP%] { + padding: 8px 10px; + border-bottom: 1px solid #1e1e22; + } + .token[_ngcontent-%COMP%] { + font-family: monospace; + color: var(--%NS%accent); + } + .source-label[_ngcontent-%COMP%] { + font-size: 13px; + color: #71717a; + margin-bottom: 12px; + } + .source-providers[_ngcontent-%COMP%] { + display: flex; + flex-direction: column; + gap: 20px; + } + .provider-group[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] { + font-size: 13px; + color: #71717a; + text-transform: uppercase; + letter-spacing: 0.05em; + margin-bottom: 8px; + } + .provider-list[_ngcontent-%COMP%] { + display: flex; + flex-direction: column; + gap: 6px; + } + .provider-card[_ngcontent-%COMP%] { + background: #18181b; + border: 1px solid #27272a; + border-radius: 8px; + padding: 10px 14px; + } + .provider-header[_ngcontent-%COMP%] { + display: flex; + align-items: center; + gap: 8px; + } + .provider-header[_ngcontent-%COMP%] .token[_ngcontent-%COMP%] { + font-size: 14px; + font-weight: 500; + } + .provided-in[_ngcontent-%COMP%] { + font-size: 11px; + padding: 1px 6px; + border-radius: 4px; + background: #14532d; + color: #4ade80; + } + .provider-meta[_ngcontent-%COMP%] { + font-size: 11px; + color: #52525b; + margin-top: 4px; + }`]})},ZC=(e,t)=>t.kind,QC=(e,t)=>t.name+t.file+t.line;function $C(e,t){e&1&&Fh(0,`span`,4)}function ew(e,t){e&1&&(J(0,`div`,5)(1,`p`,6),Z(2,`No NgRx store patterns found.`),Y(),J(3,`p`,7),Z(4,` No createAction, createReducer, createEffect, createSelector, or createFeature calls found in source. Make sure your app uses @ngrx/store. `),Y()())}function tw(e,t){if(e&1&&(J(0,`span`,9),Fh(1,`span`,14),Z(2),Y()),e&2){let e=t.$implicit;U(),cg(`background`,e.color),U(),$(` `,e.kind,` `)}}function nw(e,t){if(e&1&&(J(0,`span`,15),Z(1),Y()),e&2){let e=t.$implicit;cg(`border-color`,X(3).kindColor(e.kind)),U(),kg(` `,e.count,` `,e.kind,``,e.count===1?``:`s`,` `)}}function rw(e,t){if(e&1&&Z(0),e&2){let e=X().$implicit;$(` · `,e.detail,` `)}}function iw(e,t){if(e&1&&(J(0,`div`,13)(1,`div`,16)(2,`span`,17),Z(3),Y(),J(4,`span`,18),Z(5),Y()(),J(6,`div`,19),Z(7),W(8,rw,1,1),Y()()),e&2){let e=t.$implicit,n=X(3);U(2),cg(`background`,n.kindColor(e.kind)),U(),$(` `,e.kind,` `),U(2),Q(e.name),U(2),Og(` `,e.file,`:`,e.line,` `),U(),G(e.detail?8:-1)}}function aw(e,t){if(e&1&&(J(0,`div`,8),K(1,tw,3,3,`span`,9,ZC),Y(),J(3,`div`,10),K(4,nw,2,5,`span`,11,ZC),Y(),J(6,`div`,12),K(7,iw,9,7,`div`,13,QC),Y()),e&2){let e=X(2);U(),q(e.kindLegend),U(3),q(e.groupedEntries()),U(3),q(e.filteredEntries())}}function ow(e,t){e&1&&W(0,ew,5,0,`div`,5)(1,aw,9,0),e&2&&G(X().sourceEntries().length===0?0:1)}function sw(e,t){e&1&&(J(0,`div`,5)(1,`p`,6),Z(2,`No NgRx store connection detected.`),Y(),J(3,`p`,7),Z(4,` Runtime inspection requires @ngrx/store-devtools to be configured in your app. The store devtools use the Redux DevTools protocol to expose state. `),Y()())}function cw(e,t){if(e&1){let e=Hh();J(0,`div`,28),qh(`click`,function(){let t=uo(e).$implicit;return fo(X(3).selectedAction.set(t))}),J(1,`div`,29),Z(2),Y(),J(3,`div`,30),Z(4),Y()()}if(e&2){let e=t.$implicit,n=X(3);lg(`selected`,n.selectedAction()===e),U(2),Q(e.type),U(2),Q(n.formatTime(e.timestamp))}}function lw(e,t){e&1&&(J(0,`p`,6),Z(1,`No actions dispatched yet.`),Y())}function uw(e,t){if(e&1&&(J(0,`dt`),Z(1,`Payload`),Y(),J(2,`dd`)(3,`pre`),Z(4),Pg(5,`json`),Y()()),e&2){let e=X(4);U(4),Q(Ig(5,1,e.selectedAction().payload))}}function dw(e,t){if(e&1&&(J(0,`aside`,27)(1,`h3`),Z(2),Y(),J(3,`dl`)(4,`dt`),Z(5,`Type`),Y(),J(6,`dd`),Z(7),Y(),J(8,`dt`),Z(9,`Time`),Y(),J(10,`dd`),Z(11),Y(),W(12,uw,6,3),Y()()),e&2){let e=X(3);U(2),Q(e.selectedAction().type),U(5),Q(e.selectedAction().type),U(4),Q(e.formatTime(e.selectedAction().timestamp)),U(),G(e.selectedAction().payload===void 0?-1:12)}}function fw(e,t){if(e&1&&(J(0,`div`,20)(1,`section`,21)(2,`h3`),Z(3,`Current State`),Y(),J(4,`pre`,22),Z(5),Pg(6,`json`),Y()(),J(7,`section`,23)(8,`h3`),Z(9,` Recent Actions `),J(10,`span`,24),Z(11),Y()(),J(12,`div`,25),K(13,cw,5,4,`div`,26,yh,!1,lw,2,0,`p`,6),Y()()(),W(16,dw,13,4,`aside`,27)),e&2){let e=X(2);U(5),Q(Ig(6,4,e.runtimeState()?.state)),U(6),Q(e.filteredActions().length),U(2),q(e.filteredActions()),U(3),G(e.selectedAction()?16:-1)}}function pw(e,t){e&1&&W(0,sw,5,0,`div`,5)(1,fw,17,6),e&2&&G(+!!X().runtimeState()?.connected)}var mw={action:`#f59e0b`,reducer:`#a78bfa`,effect:`#fb923c`,selector:`#60a5fa`,feature:`#34d399`,"store-setup":`#94a3b8`,"signal-store":`#e879f9`,"signal-state":`#22d3ee`,"signal-method":`#fb7185`},hw=class e{rpc=Yg(null);filter=B(``);mode=B(`source`);sourceEntries=B([]);runtimeState=B(null);selectedAction=B(null);kindLegend=Object.entries(mw).map(([e,t])=>({kind:e,color:t}));filteredEntries=Wg(()=>{let e=this.filter().toLowerCase();return this.sourceEntries().filter(t=>t.name.toLowerCase().includes(e)||t.kind.toLowerCase().includes(e))});groupedEntries=Wg(()=>{let e=this.sourceEntries(),t=new Map;for(let n of e)t.set(n.kind,(t.get(n.kind)??0)+1);return[...t.entries()].map(([e,t])=>({kind:e,count:t}))});filteredActions=Wg(()=>{let e=this.filter().toLowerCase(),t=[...this.runtimeState()?.actions??[]].reverse();return e?t.filter(t=>t.type.toLowerCase().includes(e)):t});constructor(){Hs(()=>{let e=this.rpc();if(!e)return;let t=e.scope(`ng-devtools`);t.rpc.call(`get-ngrx-store`).then(e=>{this.sourceEntries.set(e),e.length===0&&this.mode.set(`runtime`)}).catch(()=>this.sourceEntries.set([])),t.rpc.sharedState(`ngrx-store`).then(e=>{e?.subscribe&&e.subscribe(e=>this.runtimeState.set(e))})})}kindColor(e){return mw[e]??`#71717a`}formatTime(e){return new Date(e).toLocaleTimeString()}static ɵfac=function(t){return new(t||e)};static ɵcmp=Up({type:e,selectors:[[`app-store-inspector`]],inputs:{rpc:[1,`rpc`]},decls:10,vars:8,consts:[[1,`toolbar`],[`type`,`text`,`placeholder`,`Filter by name or kind…`,3,`input`,`value`],[1,`toggle-group`],[3,`click`],[1,`live-dot`],[1,`empty`],[1,`muted`],[1,`hint`],[1,`legend`],[1,`legend-item`],[1,`summary`],[1,`summary-badge`,3,`border-color`],[1,`nodes`],[1,`node-card`],[1,`dot`],[1,`summary-badge`],[1,`node-header`],[1,`kind-badge`],[1,`node-label`],[1,`node-meta`],[1,`runtime-layout`],[1,`state-panel`],[1,`state-tree`],[1,`actions-panel`],[1,`action-count`],[1,`action-list`],[1,`action-card`,3,`selected`],[1,`detail-panel`],[1,`action-card`,3,`click`],[1,`action-type`],[1,`action-time`]],template:function(e,t){e&1&&(J(0,`div`,0)(1,`input`,1),qh(`input`,function(e){return t.filter.set(e.target.value)}),Y(),J(2,`div`,2)(3,`button`,3),qh(`click`,function(){return t.mode.set(`source`)}),Z(4,`Source`),Y(),J(5,`button`,3),qh(`click`,function(){return t.mode.set(`runtime`)}),Z(6,` Runtime `),W(7,$C,1,0,`span`,4),Y()()(),W(8,ow,2,1),W(9,pw,2,1)),e&2&&(U(),Uh(`value`,t.filter()),U(2),lg(`active`,t.mode()===`source`),U(2),lg(`active`,t.mode()===`runtime`),U(2),G(t.runtimeState()?.connected?7:-1),U(),G(t.mode()===`source`?8:-1),U(),G(t.mode()===`runtime`?9:-1))},dependencies:[d_],styles:[`.toolbar[_ngcontent-%COMP%] { + display: flex; + gap: 12px; + align-items: center; + margin-bottom: 16px; + } + input[_ngcontent-%COMP%] { + flex: 1; + padding: 8px 12px; + background: #18181b; + border: 1px solid #27272a; + border-radius: 6px; + color: #e4e4e7; + font-size: 14px; + outline: none; + } + input[_ngcontent-%COMP%]:focus { + border-color: var(--%NS%accent); + } + .toggle-group[_ngcontent-%COMP%] { + display: flex; + border: 1px solid #27272a; + border-radius: 6px; + overflow: hidden; + } + .toggle-group[_ngcontent-%COMP%] button[_ngcontent-%COMP%] { + padding: 6px 14px; + border: none; + background: transparent; + color: #a1a1aa; + cursor: pointer; + font-size: 13px; + display: flex; + align-items: center; + gap: 6px; + } + .toggle-group[_ngcontent-%COMP%] button.active[_ngcontent-%COMP%] { + background: #3f3f46; + color: #fff; + } + .live-dot[_ngcontent-%COMP%] { + width: 6px; + height: 6px; + border-radius: 50%; + background: #4ade80; + animation: _ngcontent-%COMP%_pulse 2s infinite; + } + @keyframes _ngcontent-%COMP%_pulse { + 0%, + 100% { + opacity: 1; + } + 50% { + opacity: 0.4; + } + } + .empty[_ngcontent-%COMP%] { + text-align: center; + padding: 48px 16px; + } + .muted[_ngcontent-%COMP%] { + color: #71717a; + font-size: 14px; + } + .hint[_ngcontent-%COMP%] { + color: #52525b; + font-size: 12px; + margin-top: 8px; + } + .legend[_ngcontent-%COMP%] { + display: flex; + gap: 12px; + flex-wrap: wrap; + margin-bottom: 12px; + } + .legend-item[_ngcontent-%COMP%] { + display: flex; + align-items: center; + gap: 4px; + font-size: 12px; + color: #a1a1aa; + } + .dot[_ngcontent-%COMP%] { + width: 8px; + height: 8px; + border-radius: 50%; + } + .summary[_ngcontent-%COMP%] { + display: flex; + gap: 8px; + flex-wrap: wrap; + margin-bottom: 16px; + } + .summary-badge[_ngcontent-%COMP%] { + font-size: 12px; + padding: 3px 10px; + border-radius: 99px; + border: 1px solid; + color: #e4e4e7; + } + .nodes[_ngcontent-%COMP%] { + display: flex; + flex-direction: column; + gap: 8px; + } + .node-card[_ngcontent-%COMP%] { + background: #18181b; + border: 1px solid #27272a; + border-radius: 8px; + padding: 12px 16px; + transition: border-color 0.15s; + } + .node-card[_ngcontent-%COMP%]:hover { + border-color: #3f3f46; + } + .node-header[_ngcontent-%COMP%] { + display: flex; + align-items: center; + gap: 8px; + } + .kind-badge[_ngcontent-%COMP%] { + font-size: 11px; + padding: 2px 8px; + border-radius: 4px; + color: #fff; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.05em; + } + .node-label[_ngcontent-%COMP%] { + font-family: monospace; + font-size: 14px; + color: #e4e4e7; + } + .node-meta[_ngcontent-%COMP%] { + font-size: 12px; + color: #71717a; + margin-top: 4px; + } + .runtime-layout[_ngcontent-%COMP%] { + display: grid; + grid-template-columns: 1fr 1fr; + gap: 16px; + } + .state-panel[_ngcontent-%COMP%], + .actions-panel[_ngcontent-%COMP%] { + background: #18181b; + border: 1px solid #27272a; + border-radius: 10px; + padding: 16px; + } + h3[_ngcontent-%COMP%] { + font-size: 13px; + text-transform: uppercase; + color: #71717a; + margin-bottom: 12px; + letter-spacing: 0.05em; + display: flex; + align-items: center; + gap: 8px; + } + .action-count[_ngcontent-%COMP%] { + font-size: 11px; + padding: 1px 6px; + border-radius: 99px; + background: #3f3f46; + color: #a1a1aa; + } + .state-tree[_ngcontent-%COMP%] { + font-family: monospace; + font-size: 12px; + color: #a1a1aa; + white-space: pre-wrap; + word-break: break-all; + max-height: 500px; + overflow: auto; + } + .action-list[_ngcontent-%COMP%] { + display: flex; + flex-direction: column; + gap: 6px; + max-height: 500px; + overflow: auto; + } + .action-card[_ngcontent-%COMP%] { + display: flex; + justify-content: space-between; + align-items: center; + padding: 8px 12px; + background: #09090b; + border: 1px solid #27272a; + border-radius: 6px; + cursor: pointer; + transition: border-color 0.15s; + } + .action-card[_ngcontent-%COMP%]:hover { + border-color: #3f3f46; + } + .action-card.selected[_ngcontent-%COMP%] { + border-color: var(--%NS%accent); + } + .action-type[_ngcontent-%COMP%] { + font-family: monospace; + font-size: 13px; + color: #e4e4e7; + } + .action-time[_ngcontent-%COMP%] { + font-size: 11px; + color: #71717a; + } + .detail-panel[_ngcontent-%COMP%] { + margin-top: 16px; + background: #18181b; + border: 1px solid var(--%NS%accent); + border-radius: 10px; + padding: 16px; + } + dl[_ngcontent-%COMP%] { + display: grid; + grid-template-columns: auto 1fr; + gap: 6px 12px; + font-size: 14px; + } + dt[_ngcontent-%COMP%] { + color: #a1a1aa; + } + dd[_ngcontent-%COMP%] { + color: #e4e4e7; + } + pre[_ngcontent-%COMP%] { + font-family: monospace; + font-size: 12px; + white-space: pre-wrap; + word-break: break-all; + }`]})},gw=()=>[],_w=(e,t)=>t.id,vw=(e,t)=>t.node.path,yw=(e,t)=>t.formId+`#`+t.seq;function bw(e,t){e&1&&(J(0,`p`,0),Z(1,`Connecting…`),Y())}function xw(e,t){e&1&&(J(0,`p`,0),Z(1,`Could not load forms from the devtools server. Reload to try again.`),Y())}function Sw(e,t){e&1&&(J(0,`p`,0),Z(1,`Loading forms…`),Y())}function Cw(e,t){e&1&&(J(0,`div`,0)(1,`p`),Z(2,`No forms on the page yet.`),Y(),J(3,`p`,2),Z(4,` Open a page that renders a form. Signal Forms, reactive and template-driven forms all show up here, in development builds. `),Y()())}function ww(e,t){e&1&&(J(0,`span`,10),Z(1),J(2,`span`,9),Z(3,` errors`),Y()()),e&2&&(U(),Q(t))}function Tw(e,t){if(e&1){let e=Hh();J(0,`li`)(1,`button`,5),qh(`click`,function(){let t=uo(e).$implicit;return fo(X(2).selectForm(t.id))}),Fh(2,`span`,6),J(3,`span`,7),Z(4),Y(),J(5,`span`,8),Z(6),J(7,`span`,9),Z(8),Y()(),W(9,ww,4,1,`span`,10),Y()()}if(e&2){let e,n=t.$implicit,r=X(2);U(),lg(`active`,n.id===r.selected()?.id),lh(`aria-current`,n.id===r.selected()?.id?`true`:null),U(),lh(`data-status`,n.root.status),U(2),Q(n.label),U(2),Og(``,r.kindLabel(n.kind),` · `,n.id,` `),U(2),$(`, `,n.root.status),U(),G((e=r.counts().get(n.id)?.errors)?9:-1,e)}}function Ew(e,t){if(e&1&&(J(0,`span`),Z(1),Y()),e&2){let e=X();U(),Q(e.submitted?`submitted`:`not submitted`)}}function Dw(e,t){e&1&&(J(0,`span`),Z(1,`submitting`),Y())}function Ow(e,t){if(e&1&&(J(0,`div`,2),Z(1,` resets to `),J(2,`code`),Z(3),Pg(4,`json`),Y()()),e&2){let e=X(2).$implicit;U(3),Q(Ig(4,1,e.node.defaultValue))}}function kw(e,t){if(e&1&&(J(0,`code`),Z(1),Pg(2,`json`),Y(),W(3,Ow,5,3,`div`,2)),e&2){let e=X().$implicit;U(),Q(Ig(2,2,e.node.value)),U(2),G(e.node.defaultValue===void 0?-1:3)}}function Aw(e,t){e&1&&(J(0,`span`,2),Z(1,`not created yet`),Y())}function jw(e,t){if(e&1&&(J(0,`span`,12),Z(1),Y()),e&2){let e=X().$implicit;lh(`data-status`,e.node.status),U(),Q(e.node.status)}}function Mw(e,t){e&1&&(J(0,`span`),Z(1,`touched`),Y())}function Nw(e,t){e&1&&(J(0,`span`),Z(1,`dirty`),Y())}function Pw(e,t){e&1&&(J(0,`span`),Z(1,`required`),Y())}function Fw(e,t){e&1&&(J(0,`span`),Z(1,`readonly`),Y())}function Iw(e,t){e&1&&(J(0,`span`),Z(1,`hidden`),Y())}function Lw(e,t){if(e&1&&(J(0,`span`),Z(1),Y()),e&2){let e=X().$implicit;U(),$(`updates on `,e.node.updateOn)}}function Rw(e,t){e&1&&(J(0,`span`),Z(1,`debouncing`),Y())}function zw(e,t){e&1&&(J(0,`span`),Z(1,`validators`),Y())}function Bw(e,t){e&1&&(J(0,`span`),Z(1,`async validator`),Y())}function Vw(e,t){if(e&1&&(J(0,`span`),Z(1),Y()),e&2){let e=t.$implicit;U(),Q(e)}}function Hw(e,t){if(e&1&&(J(0,`span`),Z(1),Y()),e&2){let e=X().$implicit;U(),Q(e.node.accessor)}}function Uw(e,t){if(e&1&&(J(0,`span`),Z(1),Y()),e&2){let e=t.$implicit;U(),$(`disabled: `,e)}}function Ww(e,t){if(e&1&&(J(0,`div`),Z(1),J(2,`code`,25),Z(3),Y()()),e&2){let e=t.$implicit,n=X().$implicit,r=X(3);U(),$(` `,r.errorText(n.node,e),` `),U(2),Q(e.kind)}}function Gw(e,t){if(e&1&&(J(0,`tr`)(1,`td`,26),Z(2),Y()()),e&2){let e=X().$implicit;U(),cg(`padding-left`,24+e.depth*16,`px`),U(),Og(` `,e.node.truncated,` more fields under `,e.node.path||`the form`,` not shown `)}}function Kw(e,t){if(e&1){let e=Hh();J(0,`tr`,18),qh(`mouseenter`,function(){let t=uo(e).$implicit,n=X();return fo(X(2).highlight(n.id,t.node.path))})(`mouseleave`,function(){return uo(e),fo(X(3).highlight(null,``))}),J(1,`th`,19)(2,`button`,20),qh(`focus`,function(){let t=uo(e).$implicit,n=X();return fo(X(2).highlight(n.id,t.node.path))})(`blur`,function(){return uo(e),fo(X(3).highlight(null,``))}),Z(3),Y(),J(4,`span`,21),Z(5),Y()(),J(6,`td`,22),W(7,kw,4,4),Y(),J(8,`td`),W(9,Aw,2,0,`span`,2)(10,jw,2,2,`span`,12),Y(),J(11,`td`,23),W(12,Mw,2,0,`span`),W(13,Nw,2,0,`span`),W(14,Pw,2,0,`span`),W(15,Fw,2,0,`span`),W(16,Iw,2,0,`span`),W(17,Lw,2,1,`span`),W(18,Rw,2,0,`span`),W(19,zw,2,0,`span`),W(20,Bw,2,0,`span`),K(21,Vw,2,1,`span`,null,bh),W(23,Hw,2,1,`span`),K(24,Uw,2,1,`span`,null,yh),Y(),J(26,`td`,24),K(27,Ww,4,2,`div`,null,yh),Y()(),W(29,Gw,3,4,`tr`)}if(e&2){let e=t.$implicit,n=X(3);lg(`invalid`,e.node.errors.length),U(),cg(`padding-left`,8+e.depth*16,`px`),U(),lh(`aria-label`,`Highlight `+(e.node.path||`the form`)+` on the page`),U(),$(` `,e.node.key||`(form)`,` `),U(2),Q(e.node.type),U(2),G(e.node.type===`control`?7:-1),U(2),G(e.node.materialized===!1?9:10),U(3),G(e.node.touched?12:-1),U(),G(e.node.dirty?13:-1),U(),G(e.node.required?14:-1),U(),G(e.node.readonly?15:-1),U(),G(e.node.hidden?16:-1),U(),G(e.node.updateOn?17:-1),U(),G(e.node.debouncing?18:-1),U(),G(e.node.validators?.sync?19:-1),U(),G(e.node.validators?.async?20:-1),U(),q(n.constraintList(e.node)),U(2),G(e.node.accessor?23:-1),U(),q(e.node.disabledReasons??jg(20,gw)),U(3),q(e.node.errors),U(2),G(e.node.truncated?29:-1)}}function qw(e,t){if(e&1&&(J(0,`tr`)(1,`td`,26),Z(2),Y()()),e&2){let e=X(3);U(2),$(`No field path matches "`,e.filter(),`".`)}}function Jw(e,t){if(e&1&&(J(0,`span`,2),Z(1),Y()),e&2){let e=X().$implicit;U(),Q(e.detail)}}function Yw(e,t){if(e&1&&(J(0,`li`)(1,`time`),Z(2),Y(),J(3,`code`),Z(4),Y(),J(5,`span`,27),Z(6),Y(),W(7,Jw,2,1,`span`,2),Y()),e&2){let e=t.$implicit,n=X(4);U(2),Q(n.time(e.timestamp)),U(2),Q(e.path||`(form)`),U(2),Q(e.type),U(),G(e.detail?7:-1)}}function Xw(e,t){if(e&1&&(J(0,`ol`,17),K(1,Yw,8,4,`li`,null,yw),Y()),e&2){let e=X(3);U(),q(e.selectedEvents())}}function Zw(e,t){e&1&&(J(0,`p`,2),Z(1,`No changes yet. Type into the form to see them here.`),Y())}function Qw(e,t){if(e&1){let e=Hh();J(0,`section`,4)(1,`div`,11)(2,`span`,12),Z(3),Y(),J(4,`span`),Z(5),Y(),J(6,`span`),Z(7),Y(),W(8,Ew,2,1,`span`),W(9,Dw,2,0,`span`),J(10,`span`,2),Z(11),Y()(),J(12,`input`,13),qh(`input`,function(t){return uo(e),fo(X(2).onFilter(t))}),Y(),J(13,`div`,14)(14,`table`,15)(15,`thead`)(16,`tr`)(17,`th`,16),Z(18,`Field`),Y(),J(19,`th`,16),Z(20,`Value`),Y(),J(21,`th`,16),Z(22,`Status`),Y(),J(23,`th`,16),Z(24,`State`),Y(),J(25,`th`,16),Z(26,`Errors`),Y()()(),J(27,`tbody`),K(28,Kw,30,21,null,null,vw,!1,qw,3,1,`tr`),Y()()(),J(31,`h2`),Z(32,`Recent changes`),Y(),W(33,Xw,3,0,`ol`,17)(34,Zw,2,0,`p`,2),Y()}if(e&2){let e=t,n=X(2);lh(`aria-label`,e.label),U(2),lh(`data-status`,e.root.status),U(),Q(e.root.status),U(2),Q(e.root.dirty?`dirty`:`pristine`),U(2),Q(e.root.touched?`touched`:`untouched`),U(),G(e.submitted===void 0?-1:8),U(),G(e.root.submitting?9:-1),U(2),Og(``,n.counts().get(e.id)?.fields,` fields, `,n.counts().get(e.id)?.errors,` errors`),U(),Uh(`value`,n.filter()),U(16),q(n.rows()),U(5),G(n.selectedEvents().length?33:34)}}function $w(e,t){if(e&1&&(J(0,`div`,1)(1,`ul`,3),K(2,Tw,10,9,`li`,null,_w),Y(),W(4,Qw,35,12,`section`,4),Y()),e&2){let e,t=X();U(2),q(t.forms()),U(2),G((e=t.selected())?4:-1,e)}}var eT={signal:`Signal Forms`,reactive:`Reactive`,template:`Template-driven`};function tT(e){return e.errors.length+(e.children??[]).reduce((e,t)=>e+tT(t),0)}function nT(e){return 1+(e.children??[]).reduce((e,t)=>e+nT(t),0)}var rT=class e{rpc=Yg(null);forms=B([]);events=B([]);loading=B(!0);failed=B(!1);selectedId=B(null);filter=B(``);unsubscribe=null;destroyRef=L(ts);counts=Wg(()=>new Map(this.forms().map(e=>[e.id,{fields:nT(e.root),errors:tT(e.root)}])));selected=Wg(()=>{let e=this.forms();return e.find(e=>e.id===this.selectedId())??e[0]??null});rows=Wg(()=>{let e=this.selected();if(!e)return[];let t=this.filter().toLowerCase(),n=[],r=(e,i)=>{let a=n.length,o=!t||e.path.toLowerCase().includes(t);for(let t of e.children??[])o=r(t,i+1)||o;return o&&n.splice(a,0,{node:e,depth:i}),o};return r(e.root,0),n});selectedEvents=Wg(()=>{let e=this.selected()?.id;return this.events().filter(t=>t.formId===e).slice(-50).reverse()});constructor(){Hs(()=>{let e=this.rpc();e&&this.load(e)}),this.destroyRef.onDestroy(()=>{this.unsubscribe?.(),this.highlight(null,``)})}async load(e){this.loading.set(!0),this.failed.set(!1);try{let t=await e.scope(`ng-devtools`).rpc.sharedState(`forms`);if(this.destroyRef.destroyed)return;let n=e=>{let t=e;this.forms.set(t?.forms??[]),this.events.set(t?.events??[])};n(t.value()),this.unsubscribe?.(),this.unsubscribe=t.on(`updated`,n)}catch{this.failed.set(!0)}finally{this.loading.set(!1)}}selectForm(e){this.selectedId.set(e),this.filter.set(``)}onFilter(e){this.filter.set(e.target.value)}highlight(e,t){let n=this.rpc();n&&n.scope(`ng-devtools`).rpc.callEvent(`request-form-highlight`,e?{formId:e,path:t}:null)}kindLabel(e){return eT[e]}constraintList(e){return Object.entries(e.constraints??{}).map(([e,t])=>`${e} ${t}`)}errorText(e,t){return/^[a-z]/.test(t.message)?`${e.key||`The form`} ${t.message}`:t.message}time(e){return new Date(e).toLocaleTimeString()}static ɵfac=function(t){return new(t||e)};static ɵcmp=Up({type:e,selectors:[[`app-forms-inspector`]],inputs:{rpc:[1,`rpc`]},decls:5,vars:1,consts:[[1,`empty`],[1,`layout`],[1,`muted`],[`aria-label`,`Forms on the page`,1,`form-list`],[1,`detail`],[`type`,`button`,1,`form-item`,3,`click`],[`aria-hidden`,`true`,1,`dot`],[1,`label`],[1,`kind`],[1,`sr-only`],[1,`count`],[1,`summary`],[1,`badge`],[`type`,`search`,`placeholder`,`Filter fields by path`,`aria-label`,`Filter fields by path`,1,`filter`,3,`input`,`value`],[`role`,`region`,`aria-label`,`Fields`,`tabindex`,`0`,1,`table-scroll`],[1,`fields`],[`scope`,`col`],[1,`events`],[3,`mouseenter`,`mouseleave`],[`scope`,`row`],[`type`,`button`,1,`field`,3,`focus`,`blur`],[1,`type`],[1,`value`],[1,`flags`],[1,`errors`],[1,`kind-tag`],[`colspan`,`5`,1,`muted`],[1,`event-type`]],template:function(e,t){e&1&&W(0,bw,2,0,`p`,0)(1,xw,2,0,`p`,0)(2,Sw,2,0,`p`,0)(3,Cw,5,0,`div`,0)(4,$w,5,1,`div`,1),e&2&&G(t.rpc()?t.failed()?1:t.loading()?2:t.forms().length?4:3:0)},dependencies:[d_],styles:[`.layout[_ngcontent-%COMP%] { + display: grid; + grid-template-columns: minmax(200px, 260px) minmax(0, 1fr); + gap: 16px; + } + @media (max-width: 720px) { + .layout[_ngcontent-%COMP%] { + grid-template-columns: 1fr; + } + } + .form-list[_ngcontent-%COMP%] { + display: grid; + gap: 4px; + align-content: start; + margin: 0; + padding: 0; + list-style: none; + } + .form-item[_ngcontent-%COMP%] { + width: 100%; + display: grid; + grid-template-columns: auto 1fr auto; + grid-template-areas: 'dot label count' '. kind kind'; + gap: 2px 8px; + align-items: center; + padding: 8px 10px; + border: 1px solid #27272a; + border-radius: 6px; + background: transparent; + color: #e4e4e7; + text-align: left; + cursor: pointer; + } + .form-item.active[_ngcontent-%COMP%] { + border-color: var(--%NS%accent); + background: #18181b; + } + .form-item[_ngcontent-%COMP%] .dot[_ngcontent-%COMP%] { + grid-area: dot; + } + .form-item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] { + grid-area: label; + overflow-wrap: anywhere; + font-size: 13px; + } + .form-item[_ngcontent-%COMP%] .kind[_ngcontent-%COMP%] { + grid-area: kind; + color: #a1a1aa; + font-size: 12px; + } + .form-item[_ngcontent-%COMP%] .count[_ngcontent-%COMP%] { + grid-area: count; + padding: 0 6px; + border-radius: 999px; + background: #7f1d1d; + color: #fecaca; + font-size: 12px; + } + .dot[_ngcontent-%COMP%] { + width: 8px; + height: 8px; + border-radius: 50%; + background: #22c55e; + } + .dot[data-status='INVALID'][_ngcontent-%COMP%] { + background: #ef4444; + } + .dot[data-status='PENDING'][_ngcontent-%COMP%] { + background: #eab308; + } + .dot[data-status='DISABLED'][_ngcontent-%COMP%] { + background: #71717a; + } + .detail[_ngcontent-%COMP%] { + display: grid; + gap: 12px; + min-width: 0; + } + .summary[_ngcontent-%COMP%] { + display: flex; + flex-wrap: wrap; + gap: 8px 14px; + align-items: center; + color: #d4d4d8; + font-size: 13px; + } + .badge[_ngcontent-%COMP%] { + padding: 1px 6px; + border-radius: 4px; + background: #14532d; + color: #bbf7d0; + font-size: 11px; + font-weight: 600; + } + .badge[data-status='INVALID'][_ngcontent-%COMP%] { + background: #7f1d1d; + color: #fecaca; + } + .badge[data-status='PENDING'][_ngcontent-%COMP%] { + background: #713f12; + color: #fef08a; + } + .badge[data-status='DISABLED'][_ngcontent-%COMP%] { + background: #3f3f46; + color: #e4e4e7; + } + .filter[_ngcontent-%COMP%] { + padding: 8px 12px; + background: #18181b; + border: 1px solid #52525b; + border-radius: 6px; + color: #e4e4e7; + font-size: 14px; + } + .filter[_ngcontent-%COMP%]:focus-visible, + .form-item[_ngcontent-%COMP%]:focus-visible { + outline: 2px solid var(--%NS%accent); + outline-offset: 2px; + } + .table-scroll[_ngcontent-%COMP%] { + overflow-x: auto; + } + .table-scroll[_ngcontent-%COMP%]:focus-visible, + .field[_ngcontent-%COMP%]:focus-visible { + outline: 2px solid var(--%NS%accent); + outline-offset: 2px; + } + .field[_ngcontent-%COMP%] { + padding: 0; + border: none; + background: none; + color: inherit; + font: inherit; + cursor: pointer; + } + .sr-only[_ngcontent-%COMP%] { + position: absolute; + width: 1px; + height: 1px; + overflow: hidden; + clip-path: inset(50%); + white-space: nowrap; + } + .fields[_ngcontent-%COMP%] { + width: 100%; + border-collapse: collapse; + font-size: 13px; + } + .fields[_ngcontent-%COMP%] th[_ngcontent-%COMP%], + .fields[_ngcontent-%COMP%] td[_ngcontent-%COMP%] { + padding: 6px 8px; + border-bottom: 1px solid #27272a; + text-align: left; + vertical-align: top; + } + .fields[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th[_ngcontent-%COMP%] { + color: #a1a1aa; + font-weight: 500; + } + .fields[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] th[_ngcontent-%COMP%] { + color: #e4e4e7; + font-weight: 500; + white-space: nowrap; + } + .fields[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover { + background: #18181b; + } + .type[_ngcontent-%COMP%] { + margin-left: 6px; + color: #a1a1aa; + font-size: 11px; + font-weight: 400; + } + .value[_ngcontent-%COMP%] code[_ngcontent-%COMP%], + .errors[_ngcontent-%COMP%] code[_ngcontent-%COMP%], + .events[_ngcontent-%COMP%] code[_ngcontent-%COMP%] { + color: #c4b5fd; + overflow-wrap: anywhere; + } + .flags[_ngcontent-%COMP%] span[_ngcontent-%COMP%] { + display: inline-block; + margin: 0 4px 2px 0; + padding: 0 5px; + border: 1px solid #3f3f46; + border-radius: 4px; + color: #d4d4d8; + font-size: 11px; + } + .errors[_ngcontent-%COMP%] div[_ngcontent-%COMP%] { + color: #fca5a5; + } + .kind-tag[_ngcontent-%COMP%] { + margin-left: 6px; + color: #a1a1aa; + font-size: 11px; + } + h2[_ngcontent-%COMP%] { + margin: 8px 0 0; + color: #d4d4d8; + font-size: 14px; + } + .events[_ngcontent-%COMP%] { + display: grid; + gap: 4px; + margin: 0; + padding: 0; + list-style: none; + font-size: 13px; + } + .events[_ngcontent-%COMP%] li[_ngcontent-%COMP%] { + display: flex; + flex-wrap: wrap; + gap: 8px; + color: #d4d4d8; + } + .events[_ngcontent-%COMP%] time[_ngcontent-%COMP%] { + color: #a1a1aa; + font-variant-numeric: tabular-nums; + } + .event-type[_ngcontent-%COMP%] { + color: #93c5fd; + } + .muted[_ngcontent-%COMP%] { + color: #a1a1aa; + } + .empty[_ngcontent-%COMP%] { + padding: 32px; + text-align: center; + color: #d4d4d8; + }`]})},iT=(e,t)=>t.id;function aT(e,t){if(e&1){let e=Hh();jh(0,`button`,13),Kh(`click`,function(){let t=uo(e).$implicit;return fo(X().switchTab(t.id))}),Z(1),Nh()}if(e&2){let e=t.$implicit;lg(`active`,X().tab()===e.id),U(),Q(e.label)}}function oT(e,t){if(e&1){let e=Hh();jh(0,`app-dashboard`,14),Kh(`navigate`,function(t){return uo(e),fo(X().switchTab(t))}),Nh()}e&2&&kh(`rpc`,X().rpc())}function sT(e,t){e&1&&Ph(0,`app-component-tree`,12),e&2&&kh(`rpc`,X().rpc())}function cT(e,t){e&1&&Ph(0,`app-route-inspector`,12),e&2&&kh(`rpc`,X().rpc())}function lT(e,t){e&1&&Ph(0,`app-signal-inspector`,12),e&2&&kh(`rpc`,X().rpc())}function uT(e,t){e&1&&Ph(0,`app-di-inspector`,12),e&2&&kh(`rpc`,X().rpc())}function dT(e,t){e&1&&Ph(0,`app-store-inspector`,12),e&2&&kh(`rpc`,X().rpc())}function fT(e,t){e&1&&Ph(0,`app-forms-inspector`,12),e&2&&kh(`rpc`,X().rpc())}var pT=class e{tabs=[{id:`dashboard`,label:`Dashboard`},{id:`components`,label:`Components`},{id:`routes`,label:`Routes`},{id:`signals`,label:`Signals`},{id:`injectors`,label:`Injectors`},{id:`store`,label:`Store`},{id:`forms`,label:`Forms`}];tab=B(`dashboard`);rpc=B(null);connected=B(!1);ngOnInit(){let e=new URLSearchParams(location.hash.replace(/^#/,``)).get(`tab`);e&&this.tabs.some(t=>t.id===e)&&this.tab.set(e);let t=hT();FS(t?{baseURL:t}:{}).then(e=>{this.rpc.set(e),this.connected.set(!0),e.events.on(`connection:status`,e=>{this.connected.set(e===`connected`)})})}ngOnDestroy(){}switchTab(e){this.tab.set(e),history.replaceState(history.state,``,`#tab=${e}`)}static ɵfac=function(t){return new(t||e)};static ɵcmp=Up({type:e,selectors:[[`app-root`]],decls:27,vars:4,consts:[[1,`brand`],[`width`,`20`,`height`,`22`,`viewBox`,`0 0 223 236`,`fill`,`url(#ng-logo)`,`aria-hidden`,`true`],[`id`,`ng-logo`,`x1`,`49`,`x2`,`226`,`y1`,`214`,`y2`,`130`,`gradientUnits`,`userSpaceOnUse`],[`stop-color`,`#E40035`],[`offset`,`.24`,`stop-color`,`#F60A48`],[`offset`,`.352`,`stop-color`,`#F20755`],[`offset`,`.494`,`stop-color`,`#DC087D`],[`offset`,`.745`,`stop-color`,`#9717E7`],[`offset`,`1`,`stop-color`,`#6C00F5`],[`d`,`m222.077 39.192-8.019 125.923L137.387 0l84.69 39.192Zm-53.105 162.825-57.933 33.056-57.934-33.056 11.783-28.556h92.301l11.783 28.556ZM111.039 62.675l30.357 73.803H80.681l30.358-73.803ZM7.937 165.115 0 39.192 84.69 0 7.937 165.115Z`],[3,`active`],[1,`status`],[3,`rpc`],[3,`click`],[3,`navigate`,`rpc`]],template:function(e,t){if(e&1&&(jh(0,`header`)(1,`h1`,0),Wo(),jh(2,`svg`,1)(3,`defs`)(4,`linearGradient`,2),Ph(5,`stop`,3)(6,`stop`,4)(7,`stop`,5)(8,`stop`,6)(9,`stop`,7)(10,`stop`,8),Nh()(),Ph(11,`path`,9),Nh(),Go(),jh(12,`span`),Z(13,`Angular DevTools`),Nh()(),jh(14,`nav`),K(15,aT,2,3,`button`,10,iT),Nh(),jh(17,`span`,11),Z(18),Nh()(),jh(19,`main`),W(20,oT,1,1,`app-dashboard`,12)(21,sT,1,1,`app-component-tree`,12)(22,cT,1,1,`app-route-inspector`,12)(23,lT,1,1,`app-signal-inspector`,12)(24,uT,1,1,`app-di-inspector`,12)(25,dT,1,1,`app-store-inspector`,12)(26,fT,1,1,`app-forms-inspector`,12),Nh()),e&2){let e;U(15),q(t.tabs),U(2),lg(`connected`,t.connected()),U(),$(` `,t.connected()?`Connected`:`Connecting…`,` `),U(2),G((e=t.tab())===`dashboard`?20:e===`components`?21:e===`routes`?22:e===`signals`?23:e===`injectors`?24:e===`store`?25:e===`forms`?26:-1)}},dependencies:[IS,QS,aC,DC,XC,hw,rT],styles:[`[_nghost-%COMP%] { + display: flex; + flex-direction: column; + height: 100vh; + } + header[_ngcontent-%COMP%] { + display: flex; + flex-wrap: wrap; + align-items: center; + gap: 16px; + padding: 8px 16px; + background: #18181b; + border-bottom: 1px solid #27272a; + } + .brand[_ngcontent-%COMP%] { + margin: 0; + font-size: inherit; + display: flex; + align-items: center; + gap: 8px; + font-weight: 600; + color: var(--%NS%accent); + } + .brand[_ngcontent-%COMP%] span[_ngcontent-%COMP%] { + color: var(--%NS%accent); + white-space: nowrap; + } + nav[_ngcontent-%COMP%] { + display: flex; + flex-wrap: wrap; + gap: 4px; + flex: 1; + min-width: 0; + } + @media (max-width: 640px) { + nav[_ngcontent-%COMP%] { + order: 3; + flex-basis: 100%; + } + } + nav[_ngcontent-%COMP%] button[_ngcontent-%COMP%] { + padding: 6px 14px; + border: none; + border-radius: 6px; + background: transparent; + color: #a1a1aa; + cursor: pointer; + font-size: 13px; + transition: all 0.15s; + } + nav[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover { + background: #27272a; + color: #e4e4e7; + } + nav[_ngcontent-%COMP%] button.active[_ngcontent-%COMP%] { + background: #3f3f46; + color: #fff; + } + .status[_ngcontent-%COMP%] { + margin-left: auto; + font-size: 12px; + padding: 3px 10px; + border-radius: 99px; + background: #44403c; + color: #a8a29e; + } + .status.connected[_ngcontent-%COMP%] { + background: #14532d; + color: #4ade80; + } + main[_ngcontent-%COMP%] { + flex: 1; + overflow: auto; + padding: 16px; + }`]})};function mT(e){try{return new URL(e,location.href).origin===location.origin}catch{return!1}}function hT(){let e=new URLSearchParams(location.search).get(`baseURL`);if(e&&mT(e))return e;if(!location.pathname.includes(`__ng-devtools`))return`/__ng-devtools/`}Y_(pT).catch(console.error);export{Qv as t}; \ No newline at end of file diff --git a/extension/ui/assets/index-KMcCjGxa.js b/extension/ui/assets/index-KMcCjGxa.js deleted file mode 100644 index 445ef4c..0000000 --- a/extension/ui/assets/index-KMcCjGxa.js +++ /dev/null @@ -1,1141 +0,0 @@ -(function(){let e=document.createElement(`link`).relList;if(e&&e.supports&&e.supports(`modulepreload`))return;for(let e of document.querySelectorAll(`link[rel="modulepreload"]`))n(e);new MutationObserver(e=>{for(let t of e)if(t.type===`childList`)for(let e of t.addedNodes)e.tagName===`LINK`&&e.rel===`modulepreload`&&n(e)}).observe(document,{childList:!0,subtree:!0});function t(e){let t={};return e.integrity&&(t.integrity=e.integrity),e.referrerPolicy&&(t.referrerPolicy=e.referrerPolicy),t.credentials=e.crossOrigin===`use-credentials`?`include`:e.crossOrigin===`anonymous`?`omit`:`same-origin`,t}function n(e){if(e.ep)return;e.ep=!0;let n=t(e);fetch(e.href,n)}})();var e=Object.defineProperty,t=Object.getOwnPropertySymbols,n=Object.prototype.hasOwnProperty,r=Object.prototype.propertyIsEnumerable,i=(t,n,r)=>n in t?e(t,n,{enumerable:!0,configurable:!0,writable:!0,value:r}):t[n]=r,a=(e,a)=>{for(var o in a||={})n.call(a,o)&&i(e,o,a[o]);if(t)for(var o of t(a))r.call(a,o)&&i(e,o,a[o]);return e},o=(e,t,n)=>(i(e,typeof t==`symbol`?t:t+``,n),n),s=globalThis;function c(e){let t=s.__Zone_symbol_prefix;return(typeof t==`string`?t:`__zone_symbol__`)+e}function l(){let e=s.performance;function t(t){e&&e.mark&&e.mark(t)}function n(t,n){e&&e.measure&&e.measure(t,n)}t(`Zone`);let r=class e{constructor(e,t){o(this,`_parent`),o(this,`_name`),o(this,`_properties`),o(this,`_zoneDelegate`),this._parent=e,this._name=t?t.name||`unnamed`:``,this._properties=t&&t.properties||{},this._zoneDelegate=new l(this,this._parent&&this._parent._zoneDelegate,t)}static assertZonePatched(){if(s.Promise!==ie.ZoneAwarePromise)throw Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let t=e.current;for(;t.parent;)t=t.parent;return t}static get current(){return D.zone}static get currentTask(){return oe}static __load_patch(r,i,a=!1){if(Object.hasOwn(ie,r)){let e=s[c(`forceDuplicateZoneCheck`)]===!0;if(!a&&e)throw Error(`Already loaded patch: `+r)}else if(!s[`__Zone_disable_`+r]){let a=`Zone:`+r;t(a),ie[r]=i(s,e,ae),n(a,a)}}get parent(){return this._parent}get name(){return this._name}get(e){let t=this.getZoneWith(e);if(t)return t._properties[e]}getZoneWith(e){let t=this;for(;t;){if(Object.hasOwn(t._properties,e))return t;t=t._parent}return null}fork(e){if(!e)throw Error(`ZoneSpec required!`);return this._zoneDelegate.fork(this,e)}wrap(e,t){if(typeof e!=`function`)throw Error(`Expecting function got: `+e);let n=this._zoneDelegate.intercept(this,e,t),r=this;return function(){return r.runGuarded(n,this,arguments,t)}}run(e,t,n,r){D={parent:D,zone:this};try{return this._zoneDelegate.invoke(this,e,t,n,r)}finally{D=D.parent}}runGuarded(e,t=null,n,r){D={parent:D,zone:this};try{try{return this._zoneDelegate.invoke(this,e,t,n,r)}catch(e){if(this._zoneDelegate.handleError(this,e))throw e}}finally{D=D.parent}}runTask(e,t,n){if(e.zone!=this)throw Error(`A task can only be run in the zone of creation! (Creation: `+(e.zone||x).name+`; Execution: `+this.name+`)`);let r=e,{type:i,data:{isPeriodic:a=!1,isRefreshable:o=!1}={}}=e;if(e.state===ee&&(i===E||i===re))return;let s=e.state!=C;s&&r._transitionTo(C,S);let c=oe;oe=r,D={parent:D,zone:this};try{i==re&&e.data&&!a&&!o&&(e.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,r,t,n)}catch(e){if(this._zoneDelegate.handleError(this,e))throw e}}finally{let t=e.state;if(t!==ee&&t!==ne){if(i==E||a||o&&t===te)s&&r._transitionTo(S,C,te);else{let e=r._zoneDelegates;this._updateTaskCount(r,-1),s&&r._transitionTo(ee,C,ee),o&&(r._zoneDelegates=e)}}D=D.parent,oe=c}}scheduleTask(e){if(e.zone&&e.zone!==this){let t=this;for(;t;){if(t===e.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${e.zone.name}`);t=t.parent}}e._transitionTo(te,ee);let t=[];e._zoneDelegates=t,e._zone=this;try{e=this._zoneDelegate.scheduleTask(this,e)}catch(t){throw e._transitionTo(ne,te,ee),this._zoneDelegate.handleError(this,t),t}return e._zoneDelegates===t&&this._updateTaskCount(e,1),e.state==te&&e._transitionTo(S,te),e}scheduleMicroTask(e,t,n,r){return this.scheduleTask(new u(T,e,t,n,r,void 0))}scheduleMacroTask(e,t,n,r,i){return this.scheduleTask(new u(re,e,t,n,r,i))}scheduleEventTask(e,t,n,r,i){return this.scheduleTask(new u(E,e,t,n,r,i))}cancelTask(e){if(e.zone!=this)throw Error(`A task can only be cancelled in the zone of creation! (Creation: `+(e.zone||x).name+`; Execution: `+this.name+`)`);if(e.state===S||e.state===C){e._transitionTo(w,S,C);try{this._zoneDelegate.cancelTask(this,e)}catch(t){throw e._transitionTo(ne,w),this._zoneDelegate.handleError(this,t),t}return this._updateTaskCount(e,-1),e._transitionTo(ee,w),e.runCount=-1,e}}_updateTaskCount(e,t){let n=e._zoneDelegates;t==-1&&(e._zoneDelegates=null);for(let r=0;re.hasTask(n,r),onScheduleTask:(e,t,n,r)=>e.scheduleTask(n,r),onInvokeTask:(e,t,n,r,i,a)=>e.invokeTask(n,r,i,a),onCancelTask:(e,t,n,r)=>e.cancelTask(n,r)};class l{constructor(e,t,n){o(this,`_zone`),o(this,`_taskCounts`,{microTask:0,macroTask:0,eventTask:0}),o(this,`_forkDlgt`),o(this,`_forkZS`),o(this,`_forkCurrZone`),o(this,`_interceptDlgt`),o(this,`_interceptZS`),o(this,`_interceptCurrZone`),o(this,`_invokeDlgt`),o(this,`_invokeZS`),o(this,`_invokeCurrZone`),o(this,`_handleErrorDlgt`),o(this,`_handleErrorZS`),o(this,`_handleErrorCurrZone`),o(this,`_scheduleTaskDlgt`),o(this,`_scheduleTaskZS`),o(this,`_scheduleTaskCurrZone`),o(this,`_invokeTaskDlgt`),o(this,`_invokeTaskZS`),o(this,`_invokeTaskCurrZone`),o(this,`_cancelTaskDlgt`),o(this,`_cancelTaskZS`),o(this,`_cancelTaskCurrZone`),o(this,`_hasTaskDlgt`),o(this,`_hasTaskDlgtOwner`),o(this,`_hasTaskZS`),o(this,`_hasTaskCurrZone`),this._zone=e,this._forkZS=n&&(n&&n.onFork?n:t._forkZS),this._forkDlgt=n&&(n.onFork?t:t._forkDlgt),this._forkCurrZone=n&&(n.onFork?this._zone:t._forkCurrZone),this._interceptZS=n&&(n.onIntercept?n:t._interceptZS),this._interceptDlgt=n&&(n.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=n&&(n.onIntercept?this._zone:t._interceptCurrZone),this._invokeZS=n&&(n.onInvoke?n:t._invokeZS),this._invokeDlgt=n&&(n.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=n&&(n.onInvoke?this._zone:t._invokeCurrZone),this._handleErrorZS=n&&(n.onHandleError?n:t._handleErrorZS),this._handleErrorDlgt=n&&(n.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=n&&(n.onHandleError?this._zone:t._handleErrorCurrZone),this._scheduleTaskZS=n&&(n.onScheduleTask?n:t._scheduleTaskZS),this._scheduleTaskDlgt=n&&(n.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=n&&(n.onScheduleTask?this._zone:t._scheduleTaskCurrZone),this._invokeTaskZS=n&&(n.onInvokeTask?n:t._invokeTaskZS),this._invokeTaskDlgt=n&&(n.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=n&&(n.onInvokeTask?this._zone:t._invokeTaskCurrZone),this._cancelTaskZS=n&&(n.onCancelTask?n:t._cancelTaskZS),this._cancelTaskDlgt=n&&(n.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=n&&(n.onCancelTask?this._zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;let r=n&&n.onHasTask,i=t&&t._hasTaskZS;(r||i)&&(this._hasTaskZS=r?n:a,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=this._zone,n.onScheduleTask||(this._scheduleTaskZS=a,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this._zone),n.onInvokeTask||(this._invokeTaskZS=a,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this._zone),n.onCancelTask||(this._cancelTaskZS=a,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this._zone))}get zone(){return this._zone}fork(e,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,e,t):new i(e,t)}intercept(e,t,n){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,e,t,n):t}invoke(e,t,n,r,i){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,e,t,n,r,i):t.apply(n,r)}handleError(e,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,e,t)}scheduleTask(e,t){let n=t;if(this._scheduleTaskZS)this._hasTaskZS&&n._zoneDelegates.push(this._hasTaskDlgtOwner),n=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,e,t),n||=t;else if(t.scheduleFn)t.scheduleFn(t);else if(t.type==T)y(t);else throw Error(`Task is missing scheduleFn.`);return n}invokeTask(e,t,n,r){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,e,t,n,r):t.callback.apply(n,r)}cancelTask(e,t){let n;if(this._cancelTaskZS)n=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,e,t);else{if(!t.cancelFn)throw Error(`Task is not cancelable`);n=t.cancelFn(t)}return n}hasTask(e,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,e,t)}catch(t){this.handleError(e,t)}}_updateTaskCount(e,t){let n=this._taskCounts,r=n[e],i=n[e]=r+t;if(i<0)throw Error(`More tasks executed then were scheduled.`);if(r==0||i==0){let t={microTask:n.microTask>0,macroTask:n.macroTask>0,eventTask:n.eventTask>0,change:e};this.hasTask(this._zone,t)}}}class u{constructor(e,t,n,r,i,a){if(o(this,`type`),o(this,`source`),o(this,`invoke`),o(this,`callback`),o(this,`data`),o(this,`scheduleFn`),o(this,`cancelFn`),o(this,`_zone`,null),o(this,`runCount`,0),o(this,`_zoneDelegates`,null),o(this,`_state`,`notScheduled`),this.type=e,this.source=t,this.data=r,this.scheduleFn=i,this.cancelFn=a,!n)throw Error(`callback is not defined`);this.callback=n;let c=this;this.invoke=e===E&&r&&r.useG?u.invokeTask:function(){return u.invokeTask.call(s,c,this,arguments)}}static invokeTask(e,t,n){e||=this,se++;try{return e.runCount++,e.zone.runTask(e,t,n)}finally{try{se===1&&!s[m]&&b()}finally{se--}}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(ee,te)}_transitionTo(e,t,n){if(this._state===t||this._state===n)this._state=e,e==ee&&(this._zoneDelegates=null);else throw Error(`${this.type} '${this.source}': can not transition to '${e}', expecting state '${t}'${n?` or '`+n+`'`:``}, was '${this._state}'.`)}toString(){return this.data&&this.data.handleId!==void 0?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}let d=c(`setTimeout`),f=c(`Promise`),p=c(`then`),m=c(`enable_native_microtask_draining`),h=[],g=!1,_;function v(e){!_&&s[f]&&(_=s[f].resolve(0)),_?(_[p]??_.then).call(_,e):s[d](e,0)}function y(e){let t=s[m],n=t&&h.length===0&&!g,r=!t&&se===0&&h.length===0;(n||r)&&v(b),e&&h.push(e)}function b(){if(!g){g=!0;try{for(;h.length;){let e=h;h=[];for(let t of e)try{t.zone.runTask(t,null,null)}catch(e){ae.onUnhandledError(e)}}}finally{if(s[m])g=!1,ae.microtaskDrainDone();else try{ae.microtaskDrainDone()}finally{g=!1}}}}let x={name:`NO ZONE`},ee=`notScheduled`,te=`scheduling`,S=`scheduled`,C=`running`,w=`canceling`,ne=`unknown`,T=`microTask`,re=`macroTask`,E=`eventTask`,ie=Object.create(null),ae={symbol:c,currentZoneFrame:()=>D,onUnhandledError:ce,microtaskDrainDone:ce,scheduleMicroTask:y,showUncaughtError:()=>!i[c(`ignoreConsoleErrorUncaughtError`)],patchEventTarget:()=>[],patchOnProperties:ce,patchMethod:()=>ce,bindArguments:()=>[],patchThen:()=>ce,patchMacroTask:()=>ce,patchEventPrototype:()=>ce,getGlobalObjects:()=>void 0,ObjectDefineProperty:()=>ce,ObjectGetOwnPropertyDescriptor:()=>void 0,ObjectCreate:()=>void 0,ArraySlice:()=>[],patchClass:()=>ce,wrapWithCurrentZone:()=>ce,filterProperties:()=>[],attachOriginToPatched:()=>ce,_redefineProperty:()=>ce,patchCallbacks:()=>ce,nativeScheduleMicroTask:v},D={parent:null,zone:new i(null,null)},oe=null,se=0;function ce(){}return n(`Zone`,`Zone`),i}function u(){let e=globalThis,t=e[c(`forceDuplicateZoneCheck`)]===!0;if(e.Zone&&(t||typeof e.Zone.__symbol__!=`function`))throw Error(`Zone already loaded.`);return e.Zone??=l(),e.Zone}var d=Object.getOwnPropertyDescriptor,f=Object.defineProperty,p=Object.getPrototypeOf,m=Object.create,h=Array.prototype.slice,g=`addEventListener`,_=`removeEventListener`,v=c(g),y=c(_),b=`true`,x=`false`,ee=c(``);function te(e,t){return Zone.current.wrap(e,t)}function S(e,t,n,r,i){return Zone.current.scheduleMacroTask(e,t,n,r,i)}var C=c,w=typeof window<`u`,ne=w?window:void 0,T=w&&ne||globalThis,re=`removeAttribute`;function E(e,t){for(let n=e.length-1;n>=0;n--)typeof e[n]==`function`&&(e[n]=te(e[n],t+`_`+n));return e}function ie(e,t){let n=e.constructor.name;for(let r=0;r{let t=function(){return e.apply(this,E(arguments,n+`.`+i))};return ve(t,e),t})(a)}}}function ae(e){return e?e.writable===!1?!1:typeof e.get!=`function`||e.set!==void 0:!0}var D=typeof WorkerGlobalScope<`u`&&self instanceof WorkerGlobalScope,oe=!(`nw`in T)&&T.process!==void 0&&T.process.toString()===`[object process]`,se=!oe&&!D&&!!(w&&ne.HTMLElement),ce=T.process!==void 0&&T.process.toString()===`[object process]`&&!D&&!!(w&&ne.HTMLElement),le=Object.create(null),ue=C(`enable_beforeunload`),de=function(e){if(e||=T.event,!e)return;let t=le[e.type];t||=le[e.type]=C(`ON_PROPERTY`+e.type);let n=this||e.target||T,r=n[t],i;if(se&&n===ne&&e.type===`error`){let t=e;i=r&&r.call(this,t.message,t.filename,t.lineno,t.colno,t.error),i===!0&&e.preventDefault()}else i=r&&r.apply(this,arguments),e.type===`beforeunload`&&T[ue]&&typeof i==`string`?e.returnValue=i:i!=null&&!i&&e.preventDefault();return i};function fe(e,t,n){let r=d(e,t);if(!r&&n&&d(n,t)&&(r={enumerable:!0,configurable:!0}),!r||!r.configurable)return;let i=C(`on`+t+`patched`);if(Object.hasOwn(e,i)&&e[i])return;delete r.writable,delete r.value;let a=r.get,o=r.set,s=t.slice(2),c=le[s];c||=le[s]=C(`ON_PROPERTY`+s),r.set=function(t){let n=this;!n&&e===T&&(n=T),n&&(typeof n[c]==`function`&&n.removeEventListener(s,de),o?.call(n,null),n[c]=t,typeof t==`function`&&n.addEventListener(s,de,!1))},r.get=function(){let n=this;if(!n&&e===T&&(n=T),!n)return null;let i=n[c];if(i)return i;if(a){let e=a.call(this);if(e)return r.set.call(this,e),typeof n[re]==`function`&&n.removeAttribute(t),e}return null},f(e,t,r),e[i]=!0}function pe(e,t,n){if(t)for(let r=0;rfunction(t,r){let a=n(t,r);return a.cbIdx>=0&&typeof r[a.cbIdx]==`function`?S(a.name,r[a.cbIdx],a,i):e.apply(t,r)})}function ve(e,t){e[C(`OriginalDelegate`)]=t}function ye(e){return typeof e==`function`}function be(e){return typeof e==`number`}var xe={useG:!0},Se=Object.create(null),Ce={},we=RegExp(`^`+ee+`(\\w+)(true|false)$`),Te=C(`propagationStopped`),Ee=[`capture`,`once`,`passive`,`signal`];function De(e,t){let n=(t?t(e):e)+x,r=(t?t(e):e)+b,i=ee+n,a=ee+r;Se[e]={[x]:i,[b]:a}}function Oe(e,t,n,r){let i=r&&r.add||g,o=r&&r.rm||_,s=r&&r.listeners||`eventListeners`,c=r&&r.rmAll||`removeAllListeners`,l=C(i),u=`.`+i+`:`,d=function(e,t,n){if(e.isRemoved)return;let r=e.callback;typeof r==`object`&&r.handleEvent&&(e.callback=e=>r.handleEvent(e),e.originalDelegate=r);let i;try{e.invoke(e,t,[n])}catch(e){i=e}let a=e.options;if(a&&typeof a==`object`&&a.once){let r=e.originalDelegate?e.originalDelegate:e.callback;t[o].call(t,n.type,r,a)}return i};function f(n,r,i){if(r||=e.event,!r)return;let a=n||r.target||e,o=a[Se[r.type][i?b:x]];if(o){let e=[];if(o.length===1){let t=d(o[0],a,r);t&&e.push(t)}else{let t=o.slice();for(let n=0;n{throw r})}}}let m=function(e){return f(this,e,!1)},h=function(e){return f(this,e,!0)};function v(t,n){if(!t)return!1;let r=!0;n&&n.useG!==void 0&&(r=n.useG);let d=n&&n.vh,f=!0;n&&n.chkDup!==void 0&&(f=n.chkDup);let g=!1;n&&n.rt!==void 0&&(g=n.rt);let _=t;for(;_&&!Object.hasOwn(_,i);)_=p(_);if(!_&&t[i]&&(_=t),!_||_[l])return!1;let v=n&&n.eventNameToString,y={},te=_[l]=_[i],S=_[C(o)]=_[o],w=_[C(s)]=_[s],ne=_[C(c)]=_[c],T;n&&n.prepend&&(T=_[C(n.prepend)]=_[n.prepend]);function re(e,t){return t?typeof e==`boolean`?{capture:e,passive:!0}:e?(typeof e==`object`&&e.passive!==!1&&(e.passive=!0),e):{passive:!0}:e}let E=function(e){if(!y.isExisting)return te.call(y.target,y.eventName,y.capture?h:m,y.options)},ie=function(e){if(!e.isRemoved){let t=Se[e.eventName],n;t&&(n=t[e.capture?b:x]);let r=n&&e.target[n];if(r){for(let t=0;tse.zone.cancelTask(se);t.call(_,`abort`,e,{once:!0}),se.removeAbortListener=()=>_.removeEventListener(`abort`,e)}if(y.target=null,D&&(D.taskData=null),te&&(y.options.once=!0),typeof se.options!=`boolean`&&(se.options=g),se.target=l,se.capture=ee,se.eventName=u,m&&(se.originalDelegate=p),c?ne.unshift(se):ne.push(se),s)return l}};return _[i]=me(te,u,ce,le,g),T&&(_.prependListener=me(T,`.prependListener:`,D,le,g,!0)),_[o]=function(){let t=this||e,r=arguments[0];n&&n.transferEventName&&(r=n.transferEventName(r));let i=arguments[2],a=i?typeof i==`boolean`||i.capture:!1,o=arguments[1];if(!o)return S.apply(this,arguments);if(d&&!d(S,o,t,arguments))return;let s=Se[r],c;s&&(c=s[a?b:x]);let l=c&&t[c];if(l)for(let e=0;efunction(t,n){t[Te]=!0,e&&e.apply(t,n)})}function je(e,t){t.patchMethod(e,`queueMicrotask`,e=>function(e,t){Zone.current.scheduleMicroTask(`queueMicrotask`,t[0])})}var Me=C(`zoneTask`);function Ne(e,t,n,r){let i=null,a=null;t+=r,n+=r;let o={};function s(t){let n=t.data;n.args[0]=function(){return t.invoke.apply(this,arguments)};let r=i.apply(e,n.args);return be(r)?n.handleId=r:(n.handle=r,n.isRefreshable=ye(r?.refresh)),t}function c(t){let{handle:n,handleId:r}=t.data;return a.call(e,n??r)}i=ge(e,t,n=>function(i,a){if(ye(a[0])){let e={isRefreshable:!1,isPeriodic:r===`Interval`,delay:r===`Timeout`||r===`Interval`?a[1]||0:void 0,args:a},n=a[0];a[0]=function(){try{return n.apply(this,arguments)}finally{let{handle:t,handleId:n,isPeriodic:r,isRefreshable:i}=e;!r&&!i&&(n?delete o[n]:t&&(t[Me]=null))}};let i=S(t,a[0],e,s,c);if(!i)return i;let{handleId:l,handle:u,isRefreshable:d,isPeriodic:f}=i.data;if(l)o[l]=i;else if(u&&(u[Me]=i,d&&!f)){let e=u.refresh;u.refresh=function(){let{zone:t,state:n}=i;return n===`notScheduled`?(i._state=`scheduled`,t._updateTaskCount(i,1)):n===`running`&&(i._state=`scheduling`),e.call(this)}}return u??l??i}return n.apply(e,a)}),a=ge(e,n,t=>function(n,r){let i=r[0],a;be(i)?(a=o[i],delete o[i]):(a=i?.[Me],a?i[Me]=null:a=i),a?.type?a.cancelFn&&a.zone.cancelTask(a):t.apply(e,r)})}function Pe(e,t){let{isBrowser:n,isMix:r}=t.getGlobalObjects();(n||r)&&e.customElements&&`customElements`in e&&t.patchCallbacks(t,e.customElements,`customElements`,`define`,[`connectedCallback`,`disconnectedCallback`,`adoptedCallback`,`attributeChangedCallback`,`formAssociatedCallback`,`formDisabledCallback`,`formResetCallback`,`formStateRestoreCallback`])}function Fe(e,t){if(Zone[t.symbol(`patchEventTarget`)])return;let{eventNames:n,zoneSymbolEventNames:r,TRUE_STR:i,FALSE_STR:a,ZONE_SYMBOL_PREFIX:o}=t.getGlobalObjects();for(let e=0;et.target===e);if(r.length===0)return t;let i=r[0].ignoreProperties;return t.filter(e=>i.indexOf(e)===-1)}function Re(e,t,n,r){e&&pe(e,Le(e,t,n),r)}function ze(e){return Object.getOwnPropertyNames(e).filter(e=>e.startsWith(`on`)&&e.length>2).map(e=>e.substring(2))}function Be(e,t){if(oe&&!ce||Zone[e.symbol(`patchEvents`)])return;let n=t.__Zone_ignore_on_properties,r=[];if(se){let e=window;r=r.concat([`Document`,`SVGElement`,`Element`,`HTMLElement`,`HTMLBodyElement`,`HTMLMediaElement`,`HTMLFrameSetElement`,`HTMLFrameElement`,`HTMLIFrameElement`,`HTMLMarqueeElement`,`Worker`]),Re(e,ze(e),n,p(e))}r=r.concat([`XMLHttpRequest`,`XMLHttpRequestEventTarget`,`IDBIndex`,`IDBRequest`,`IDBOpenDBRequest`,`IDBDatabase`,`IDBTransaction`,`IDBCursor`,`WebSocket`]);for(let e=0;e{let t=`clear`;Ne(e,`set`,t,`Timeout`),Ne(e,`set`,t,`Interval`),Ne(e,`set`,t,`Immediate`)}),e.__load_patch(`requestAnimationFrame`,e=>{Ne(e,`request`,`cancel`,`AnimationFrame`),Ne(e,`mozRequest`,`mozCancel`,`AnimationFrame`),Ne(e,`webkitRequest`,`webkitCancel`,`AnimationFrame`)}),e.__load_patch(`blocking`,(e,t)=>{let n=[`alert`,`prompt`,`confirm`];for(let r=0;rfunction(r,a){return t.current.run(n,e,a,i)})}}),e.__load_patch(`EventTarget`,(e,t,n)=>{Ie(e,n),Fe(e,n);let r=e.XMLHttpRequestEventTarget;r&&r.prototype&&n.patchEventTarget(e,n,[r.prototype])}),e.__load_patch(`MutationObserver`,(e,t,n)=>{he(`MutationObserver`),he(`WebKitMutationObserver`)}),e.__load_patch(`IntersectionObserver`,(e,t,n)=>{he(`IntersectionObserver`)}),e.__load_patch(`FileReader`,(e,t,n)=>{he(`FileReader`)}),e.__load_patch(`on_property`,(e,t,n)=>{Be(n,e)}),e.__load_patch(`customElements`,(e,t,n)=>{Pe(e,n)}),e.__load_patch(`XHR`,(e,t)=>{c(e);let n=C(`xhrTask`),r=C(`xhrSync`),i=C(`xhrListener`),a=C(`xhrScheduled`),o=C(`xhrURL`),s=C(`xhrErrorBeforeScheduled`);function c(e){let c=e.XMLHttpRequest;if(!c)return;let l=c.prototype;function u(e){return e[n]}let d=l[v],f=l[y];if(!d){let t=e.XMLHttpRequestEventTarget;if(t){let e=t.prototype;d=e[v],f=e[y]}}let p=`readystatechange`,m=`scheduled`;function h(e){let r=e.data,o=r.target;o[a]=!1,o[s]=!1;let c=o[i];d||(d=o[v],f=o[y]),c&&f.call(o,p,c);let l=o[i]=()=>{if(o.readyState===o.DONE){if(!r.aborted&&o[a]&&e.state===m){let n=o[t.__symbol__(`loadfalse`)];if(o.status!==0&&n&&n.length>0){let i=e.invoke;e.invoke=function(){let n=o[t.__symbol__(`loadfalse`)];for(let t=0;tfunction(e,t){return e[r]=t[2]==0,e[o]=t[1],b.apply(e,t)}),x=C(`fetchTaskAborting`),ee=C(`fetchTaskScheduling`),te=ge(l,`send`,()=>function(e,n){if(t.current[ee]===!0||e[r])return te.apply(e,n);{let t={target:e,url:e[o],isPeriodic:!1,args:n,aborted:!1},r=S(`XMLHttpRequest.send`,g,t,h,_);e&&e[s]===!0&&!t.aborted&&r.state===m&&r.invoke()}}),w=ge(l,`abort`,()=>function(e,n){let r=u(e);if(r&&typeof r.type==`string`){if(r.cancelFn==null||r.data&&r.data.aborted)return;r.zone.cancelTask(r)}else if(t.current[x]===!0)return w.apply(e,n)})}}),e.__load_patch(`geolocation`,e=>{e.navigator&&e.navigator.geolocation&&ie(e.navigator.geolocation,[`getCurrentPosition`,`watchPosition`])}),e.__load_patch(`PromiseRejectionEvent`,(e,t)=>{function n(t){return function(n){ke(e,t).forEach(r=>{let i=e.PromiseRejectionEvent;if(i){let e=new i(t,{promise:n.promise,reason:n.rejection});r.invoke(e)}})}}e.PromiseRejectionEvent&&(t[C(`unhandledPromiseRejectionHandler`)]=n(`unhandledrejection`),t[C(`rejectionHandledHandler`)]=n(`rejectionhandled`))}),e.__load_patch(`queueMicrotask`,(e,t,n)=>{je(e,n)})}function He(e){e.__load_patch(`ZoneAwarePromise`,(e,t,n)=>{let r=Object.getOwnPropertyDescriptor,i=Object.defineProperty;function a(e){return e&&e.toString===Object.prototype.toString?(e.constructor&&e.constructor.name||``)+`: `+JSON.stringify(e):e?e.toString():Object.prototype.toString.call(e)}let o=n.symbol,s=[],c=e[o(`DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION`)]!==!1,l=o(`Promise`),u=o(`then`);n.onUnhandledError=e=>{if(n.showUncaughtError()){let t=e&&e.rejection;t&&e.zone&&e.task?console.error(`Unhandled Promise rejection:`,t instanceof Error?t.message:t,`; Zone:`,e.zone.name,`; Task:`,e.task&&e.task.source,`; Value:`,t,t instanceof Error?t.stack:void 0):console.error(e)}},n.microtaskDrainDone=()=>{for(;s.length;){let e=s.shift();try{e.zone.runGuarded(()=>{throw e.throwOriginal?e.rejection:e})}catch(e){f(e)}}};let d=o(`unhandledPromiseRejectionHandler`);function f(e){n.onUnhandledError(e);try{let n=t[d];typeof n==`function`&&n.call(this,e)}catch{}}function p(e){return e&&typeof e.then==`function`}function m(e){return e}function h(e){return E.reject(e)}let g=o(`state`),_=o(`value`),v=o(`finally`),y=o(`parentPromiseValue`),b=o(`parentPromiseState`);function x(e,t){return n=>{try{S(e,t,n)}catch(t){S(e,!1,t)}}}let ee=function(){let e=!1;return function(t){return function(){e||(e=!0,t.apply(null,arguments))}}},te=o(`currentTaskTrace`);function S(e,r,o){let l=ee();if(e===o)throw TypeError(`Promise resolved with itself`);if(e[g]===null){let u=null;try{(typeof o==`object`||typeof o==`function`)&&(u=o&&o.then)}catch(t){return l(()=>{S(e,!1,t)})(),e}if(r!==!1&&o instanceof E&&Object.hasOwn(o,g)&&Object.hasOwn(o,_)&&o[g]!==null)w(o),S(e,o[g],o[_]);else if(r!==!1&&typeof u==`function`)try{u.call(o,l(x(e,r)),l(x(e,!1)))}catch(t){l(()=>{S(e,!1,t)})()}else{e[g]=r;let l=e[_];if(e[_]=o,e[v]===v&&r===!0&&(e[g]=e[b],e[_]=e[y]),r===!1&&o instanceof Error){let e=t.currentTask&&t.currentTask.data&&t.currentTask.data.__creationTrace__;e&&i(o,te,{configurable:!0,enumerable:!1,writable:!0,value:e})}for(let t=0;t{try{let r=e[_],i=!!n&&v===n[v];i&&(n[y]=r,n[b]=a),S(n,!0,t.run(o,void 0,i&&o!==h&&o!==m?[]:[r]))}catch(e){S(n,!1,e)}},n)}let T=function(){},re=e.AggregateError;class E{static toString(){return`function ZoneAwarePromise() { [native code] }`}static resolve(e){return e instanceof E?e:S(new this(null),!0,e)}static reject(e){return S(new this(null),!1,e)}static withResolvers(){let e={};return e.promise=new E((t,n)=>{e.resolve=t,e.reject=n}),e}static any(e){if(!e||typeof e[Symbol.iterator]!=`function`)return Promise.reject(new re([],`All promises were rejected`));let t=[],n=0;try{for(let r of e)n++,t.push(E.resolve(r))}catch{return Promise.reject(new re([],`All promises were rejected`))}if(n===0)return Promise.reject(new re([],`All promises were rejected`));let r=!1,i=[];return new E((e,a)=>{for(let o=0;o{r||(r=!0,e(t))},e=>{i.push(e),n--,n===0&&(r=!0,a(new re(i,`All promises were rejected`)))})})}static race(e){let t,n,r=new this((e,r)=>{t=e,n=r});function i(e){t(e)}function a(e){n(e)}for(let t of e)p(t)||(t=this.resolve(t)),t.then(i,a);return r}static all(e){return E.allWithCallback(e)}static allSettled(e){return(this&&this.prototype instanceof E?this:E).allWithCallback(e,{thenCallback:e=>({status:`fulfilled`,value:e}),errorCallback:e=>({status:`rejected`,reason:e})})}static allWithCallback(e,t){let n,r,i=new this((e,t)=>{n=e,r=t}),a=2,o=0,s=[];for(let i of e){p(i)||(i=this.resolve(i));let e=o;try{i.then(r=>{s[e]=t?t.thenCallback(r):r,a--,a===0&&n(s)},i=>{t?(s[e]=t.errorCallback(i),a--,a===0&&n(s)):r(i)})}catch(e){r(e)}a++,o++}return a-=2,a===0&&n(s),i}constructor(e){let t=this;if(!(t instanceof E))throw Error(`Must be an instanceof Promise.`);t[g]=null,t[_]=[];try{let n=ee();e&&e(n(x(t,!0)),n(x(t,!1)))}catch(e){S(t,!1,e)}}get[Symbol.toStringTag](){return`Promise`}get[Symbol.species](){return E}then(e,n){let r=this.constructor?.[Symbol.species];(!r||typeof r!=`function`)&&(r=this.constructor||E);let i=new r(T),a=t.current;return this[g]==null?this[_].push(a,i,e,n):ne(this,a,i,e,n),i}catch(e){return this.then(null,e)}finally(e){let n=this.constructor?.[Symbol.species];(!n||typeof n!=`function`)&&(n=E);let r=new n(T);r[v]=v;let i=t.current;return this[g]==null?this[_].push(i,r,e,e):ne(this,i,r,e,e),r}}E.resolve=E.resolve,E.reject=E.reject,E.race=E.race,E.all=E.all;let ie=e[l]=e.Promise;e.Promise=E;let ae=o(`thenPatched`);function D(e){let t=e.prototype,n=r(t,`then`);if(n&&(n.writable===!1||!n.configurable))return;let i=t.then;t[u]=i,e.prototype.then=function(e,t){return new E((e,t)=>{i.call(this,e,t)}).then(e,t)},e[ae]=!0}n.patchThen=D;function oe(e){return function(t,n){let r=e.apply(t,n);if(r instanceof E)return r;let i=r.constructor;return i[ae]||D(i),r}}if(ie){D(ie);let t=ie.try;t&&typeof t==`function`&&(E.try=t),ge(e,`fetch`,e=>oe(e))}return Promise[t.__symbol__(`uncaughtPromiseErrors`)]=s,E})}function Ue(e){e.__load_patch(`toString`,e=>{let t=Function.prototype.toString,n=C(`OriginalDelegate`),r=C(`Promise`),i=C(`Error`),a=function(){if(typeof this==`function`){let a=this[n];if(a)return typeof a==`function`?t.call(a):Object.prototype.toString.call(a);if(this===Promise){let n=e[r];if(n)return t.call(n)}if(this===Error){let n=e[i];if(n)return t.call(n)}}return t.call(this)};a[n]=t,Function.prototype.toString=a;let o=Object.prototype.toString;Object.prototype.toString=function(){return typeof Promise==`function`&&this instanceof Promise?`[object Promise]`:o.call(this)}})}function We(e,t,n,r,i){let a=Zone.__symbol__(r);if(t[a])return;let o=t[a]=t[r];t[r]=function(a,s,c){return s&&s.prototype&&i.forEach(function(t){let i=`${n}.${r}::`+t,a=s.prototype;try{if(Object.hasOwn(a,t)){let n=e.ObjectGetOwnPropertyDescriptor(a,t);n&&n.value?(n.value=e.wrapWithCurrentZone(n.value,i),e._redefineProperty(s.prototype,t,n)):a[t]&&(a[t]=e.wrapWithCurrentZone(a[t],i))}else a[t]&&(a[t]=e.wrapWithCurrentZone(a[t],i))}catch{}}),o.call(t,a,s,c)},e.attachOriginToPatched(t[r],o)}function Ge(e){e.__load_patch(`util`,(e,t,n)=>{let r=ze(e);n.patchOnProperties=pe,n.patchMethod=ge,n.bindArguments=E,n.patchMacroTask=_e;let i=t.__symbol__(`BLACK_LISTED_EVENTS`),a=t.__symbol__(`UNPATCHED_EVENTS`);e[a]&&(e[i]=e[a]),e[i]&&(t[i]=t[a]=e[i]),n.patchEventPrototype=Ae,n.patchEventTarget=Oe,n.ObjectDefineProperty=f,n.ObjectGetOwnPropertyDescriptor=d,n.ObjectCreate=m,n.ArraySlice=h,n.patchClass=he,n.wrapWithCurrentZone=te,n.filterProperties=Le,n.attachOriginToPatched=ve,n._redefineProperty=Object.defineProperty,n.patchCallbacks=We,n.getGlobalObjects=()=>({globalSources:Ce,zoneSymbolEventNames:Se,eventNames:r,isBrowser:se,isMix:ce,isNode:oe,TRUE_STR:b,FALSE_STR:x,ZONE_SYMBOL_PREFIX:ee,ADD_EVENT_LISTENER_STR:g,REMOVE_EVENT_LISTENER_STR:_})})}function Ke(e){He(e),Ue(e),Ge(e)}var qe=u();Ke(qe),Ve(qe);var Je=(function(e){return e[e.NONE=0]=`NONE`,e[e.HTML=1]=`HTML`,e[e.STYLE=2]=`STYLE`,e[e.SCRIPT=3]=`SCRIPT`,e[e.URL=4]=`URL`,e[e.RESOURCE_URL=5]=`RESOURCE_URL`,e[e.ATTRIBUTE_NO_BINDING=6]=`ATTRIBUTE_NO_BINDING`,e})(Je||{}),Ye=(function(e){return e[e.None=0]=`None`,e[e.Const=1]=`Const`,e})(Ye||{}),Xe=class{modifiers;constructor(e=Ye.None){this.modifiers=e}hasModifier(e){return(this.modifiers&e)!==0}},Ze=(function(e){return e[e.Dynamic=0]=`Dynamic`,e[e.Bool=1]=`Bool`,e[e.String=2]=`String`,e[e.Int=3]=`Int`,e[e.Number=4]=`Number`,e[e.Function=5]=`Function`,e[e.Inferred=6]=`Inferred`,e[e.None=7]=`None`,e})(Ze||{}),Qe=class extends Xe{name;constructor(e,t){super(t),this.name=e}visitType(e,t){return e.visitBuiltinType(this,t)}};Ze.Dynamic;var $e=new Qe(Ze.Inferred);Ze.Bool,Ze.Int,Ze.Number,Ze.String,Ze.Function,Ze.None;var O=(function(e){return e[e.Equals=0]=`Equals`,e[e.NotEquals=1]=`NotEquals`,e[e.Assign=2]=`Assign`,e[e.Identical=3]=`Identical`,e[e.NotIdentical=4]=`NotIdentical`,e[e.Minus=5]=`Minus`,e[e.Plus=6]=`Plus`,e[e.Divide=7]=`Divide`,e[e.Multiply=8]=`Multiply`,e[e.Modulo=9]=`Modulo`,e[e.And=10]=`And`,e[e.Or=11]=`Or`,e[e.BitwiseOr=12]=`BitwiseOr`,e[e.BitwiseAnd=13]=`BitwiseAnd`,e[e.Lower=14]=`Lower`,e[e.LowerEquals=15]=`LowerEquals`,e[e.Bigger=16]=`Bigger`,e[e.BiggerEquals=17]=`BiggerEquals`,e[e.NullishCoalesce=18]=`NullishCoalesce`,e[e.Exponentiation=19]=`Exponentiation`,e[e.In=20]=`In`,e[e.InstanceOf=21]=`InstanceOf`,e[e.AdditionAssignment=22]=`AdditionAssignment`,e[e.SubtractionAssignment=23]=`SubtractionAssignment`,e[e.MultiplicationAssignment=24]=`MultiplicationAssignment`,e[e.DivisionAssignment=25]=`DivisionAssignment`,e[e.RemainderAssignment=26]=`RemainderAssignment`,e[e.ExponentiationAssignment=27]=`ExponentiationAssignment`,e[e.AndAssignment=28]=`AndAssignment`,e[e.OrAssignment=29]=`OrAssignment`,e[e.NullishCoalesceAssignment=30]=`NullishCoalesceAssignment`,e})(O||{});function et(e,t){return e==null||t==null?e==t:e.isEquivalent(t)}function tt(e,t,n){let r=e.length;if(r!==t.length)return!1;for(let i=0;ie.isEquivalent(t))}var rt=class{leadingComments;type;sourceSpan;constructor(e,t,n){this.leadingComments=n,this.type=e||null,this.sourceSpan=t||null}prop(e,t){return new pt(this,e,null,t)}key(e,t,n){return new mt(this,e,t,n)}callFn(e,t,n,r){return new ot(this,e,null,t,n,r)}instantiate(e,t,n,r){return new st(this,e,t,n)}conditional(e,t=null,n,r){return new dt(this,e,t,null,n)}equals(e,t){return new ft(O.Equals,this,e,null,t)}notEquals(e,t){return new ft(O.NotEquals,this,e,null,t)}identical(e,t){return new ft(O.Identical,this,e,null,t)}notIdentical(e,t){return new ft(O.NotIdentical,this,e,null,t)}minus(e,t){return new ft(O.Minus,this,e,null,t)}plus(e,t){return new ft(O.Plus,this,e,null,t)}divide(e,t){return new ft(O.Divide,this,e,null,t)}multiply(e,t){return new ft(O.Multiply,this,e,null,t)}modulo(e,t){return new ft(O.Modulo,this,e,null,t)}power(e,t){return new ft(O.Exponentiation,this,e,null,t)}and(e,t){return new ft(O.And,this,e,null,t)}bitwiseOr(e,t){return new ft(O.BitwiseOr,this,e,null,t)}bitwiseAnd(e,t){return new ft(O.BitwiseAnd,this,e,null,t)}or(e,t){return new ft(O.Or,this,e,null,t)}lower(e,t){return new ft(O.Lower,this,e,null,t)}lowerEquals(e,t){return new ft(O.LowerEquals,this,e,null,t)}bigger(e,t){return new ft(O.Bigger,this,e,null,t)}biggerEquals(e,t){return new ft(O.BiggerEquals,this,e,null,t)}isBlank(e){return this.equals(yt,e)}nullishCoalesce(e,t){return new ft(O.NullishCoalesce,this,e,null,t)}toStmt(e){return new St(this,null,e)}},it=class e extends rt{name;constructor(e,t,n,r){super(t,n,r),this.name=e}isEquivalent(t){return t instanceof e&&this.name===t.name}isConstant(){return!1}visitExpression(e,t){return e.visitReadVarExpr(this,t)}clone(){return new e(this.name,this.type,this.sourceSpan)}set(e){return new ft(O.Assign,this,e,null,this.sourceSpan)}},at=class e extends rt{expr;constructor(e,t,n,r){super(t,n,r),this.expr=e}visitExpression(e,t){return e.visitTypeofExpr(this,t)}isEquivalent(t){return t instanceof e&&t.expr.isEquivalent(this.expr)}isConstant(){return this.expr.isConstant()}clone(){return new e(this.expr.clone())}},ot=class e extends rt{fn;args;pure;isOptional;constructor(e,t,n,r,i=!1,a,o=!1){super(n,r,a),this.fn=e,this.args=t,this.pure=i,this.isOptional=o}get receiver(){return this.fn}isEquivalent(t){return t instanceof e&&this.fn.isEquivalent(t.fn)&&nt(this.args,t.args)&&this.pure===t.pure}isConstant(){return!1}visitExpression(e,t){return e.visitInvokeFunctionExpr(this,t)}clone(){return new e(this.fn.clone(),this.args.map(e=>e.clone()),this.type,this.sourceSpan,this.pure,[],this.isOptional)}},st=class e extends rt{classExpr;args;constructor(e,t,n,r,i){super(n,r,i),this.classExpr=e,this.args=t}isEquivalent(t){return t instanceof e&&this.classExpr.isEquivalent(t.classExpr)&&nt(this.args,t.args)}isConstant(){return!1}visitExpression(e,t){return e.visitInstantiateExpr(this,t)}clone(){return new e(this.classExpr.clone(),this.args.map(e=>e.clone()),this.type,this.sourceSpan)}},ct=class e extends rt{body;flags;constructor(e,t,n,r){super(null,n,r),this.body=e,this.flags=t}isEquivalent(t){return t instanceof e&&this.body===t.body&&this.flags===t.flags}isConstant(){return!0}visitExpression(e,t){return e.visitRegularExpressionLiteral(this,t)}clone(){return new e(this.body,this.flags,this.sourceSpan)}},lt=class e extends rt{value;constructor(e,t,n,r){super(t,n,r),this.value=e}isEquivalent(t){return t instanceof e&&this.value===t.value}isConstant(){return!0}visitExpression(e,t){return e.visitLiteralExpr(this,t)}clone(){return new e(this.value,this.type,this.sourceSpan)}},ut=class e extends rt{value;typeParams;constructor(e,t,n=null,r,i){super(t,r,i),this.value=e,this.typeParams=n}isEquivalent(t){return t instanceof e&&this.value.name===t.value.name&&this.value.moduleName===t.value.moduleName}isConstant(){return!1}visitExpression(e,t){return e.visitExternalExpr(this,t)}clone(){return new e(this.value,this.type,this.typeParams,this.sourceSpan)}},dt=class e extends rt{condition;falseCase;trueCase;constructor(e,t,n=null,r,i,a){super(r||t.type,i,a),this.condition=e,this.falseCase=n,this.trueCase=t}isEquivalent(t){return t instanceof e&&this.condition.isEquivalent(t.condition)&&this.trueCase.isEquivalent(t.trueCase)&&et(this.falseCase,t.falseCase)}isConstant(){return!1}visitExpression(e,t){return e.visitConditionalExpr(this,t)}clone(){return new e(this.condition.clone(),this.trueCase.clone(),this.falseCase?.clone(),this.type,this.sourceSpan)}},ft=class e extends rt{operator;rhs;lhs;constructor(e,t,n,r,i,a){super(r||t.type,i,a),this.operator=e,this.rhs=n,this.lhs=t}isEquivalent(t){return t instanceof e&&this.operator===t.operator&&this.lhs.isEquivalent(t.lhs)&&this.rhs.isEquivalent(t.rhs)}isConstant(){return!1}visitExpression(e,t){return e.visitBinaryOperatorExpr(this,t)}clone(){return new e(this.operator,this.lhs.clone(),this.rhs.clone(),this.type,this.sourceSpan)}isAssignment(){let e=this.operator;return e===O.Assign||e===O.AdditionAssignment||e===O.SubtractionAssignment||e===O.MultiplicationAssignment||e===O.DivisionAssignment||e===O.RemainderAssignment||e===O.ExponentiationAssignment||e===O.AndAssignment||e===O.OrAssignment||e===O.NullishCoalesceAssignment}},pt=class e extends rt{receiver;name;isOptional;constructor(e,t,n,r,i,a=!1){super(n,r,i),this.receiver=e,this.name=t,this.isOptional=a}get index(){return this.name}isEquivalent(t){return t instanceof e&&this.receiver.isEquivalent(t.receiver)&&this.name===t.name&&this.isOptional===t.isOptional}isConstant(){return!1}visitExpression(e,t){return e.visitReadPropExpr(this,t)}set(e){return new ft(O.Assign,this.receiver.prop(this.name),e,null,this.sourceSpan)}clone(){return new e(this.receiver.clone(),this.name,this.type,this.sourceSpan,[],this.isOptional)}},mt=class e extends rt{receiver;index;isOptional;constructor(e,t,n,r,i,a=!1){super(n,r,i),this.receiver=e,this.index=t,this.isOptional=a}isEquivalent(t){return t instanceof e&&this.receiver.isEquivalent(t.receiver)&&this.index.isEquivalent(t.index)&&this.isOptional===t.isOptional}isConstant(){return!1}visitExpression(e,t){return e.visitReadKeyExpr(this,t)}set(e){return new ft(O.Assign,this.receiver.key(this.index),e,null,this.sourceSpan)}clone(){return new e(this.receiver.clone(),this.index.clone(),this.type,this.sourceSpan,[],this.isOptional)}},ht=class e extends rt{entries;constructor(e,t,n,r){super(t,n,r),this.entries=e}isConstant(){return this.entries.every(e=>e.isConstant())}isEquivalent(t){return t instanceof e&&nt(this.entries,t.entries)}visitExpression(e,t){return e.visitLiteralArrayExpr(this,t)}clone(){return new e(this.entries.map(e=>e.clone()),this.type,this.sourceSpan)}},gt=class e{expression;constructor(e){this.expression=e}isEquivalent(t){return t instanceof e&&this.expression.isEquivalent(t.expression)}clone(){return new e(this.expression.clone())}isConstant(){return this.expression.isConstant()}},_t=class e extends rt{entries;valueType=null;constructor(e,t,n,r){super(t,n,r),this.entries=e,t&&(this.valueType=t.valueType)}isEquivalent(t){return t instanceof e&&nt(this.entries,t.entries)}isConstant(){return this.entries.every(e=>e.isConstant())}visitExpression(e,t){return e.visitLiteralMapExpr(this,t)}clone(){let t=this.entries.map(e=>e.clone());return new e(t,this.type,this.sourceSpan)}},vt=class e extends rt{expression;constructor(e,t,n){super(null,t,n),this.expression=e}isEquivalent(t){return t instanceof e&&this.expression.isEquivalent(t.expression)}isConstant(){return this.expression.isConstant()}visitExpression(e,t){return e.visitSpreadElementExpr(this,t)}clone(){return new e(this.expression.clone(),this.sourceSpan)}},yt=new lt(null,$e,null),bt=(function(e){return e[e.None=0]=`None`,e[e.Final=1]=`Final`,e[e.Private=2]=`Private`,e[e.Exported=4]=`Exported`,e[e.Static=8]=`Static`,e})(bt||{}),xt=class{modifiers;sourceSpan;leadingComments;constructor(e=bt.None,t=null,n){this.modifiers=e,this.sourceSpan=t,this.leadingComments=n}hasModifier(e){return(this.modifiers&e)!==0}addLeadingComment(e){this.leadingComments=this.leadingComments??[],this.leadingComments.push(e)}},St=class e extends xt{expr;constructor(e,t,n){super(bt.None,t,n),this.expr=e}isEquivalent(t){return t instanceof e&&this.expr.isEquivalent(t.expr)}visitStatement(e,t){return e.visitExpressionStmt(this,t)}};(class e{static INSTANCE=new e;keyOf(e){if(e instanceof lt&&typeof e.value==`string`)return`"${e.value}"`;if(e instanceof lt)return String(e.value);if(e instanceof ct)return`/${e.body}/${e.flags??``}`;if(e instanceof ht){let t=[];for(let n of e.entries)t.push(this.keyOf(n));return`[${t.join(`,`)}]`}if(e instanceof _t){let t=[];for(let n of e.entries)if(n instanceof gt)t.push(`...`+this.keyOf(n.expression));else{let e=n.key;n.quoted&&(e=`"${e}"`),t.push(e+`:`+this.keyOf(n.value))}return`{${t.join(`,`)}}`}if(e instanceof ut)return`import("${e.value.moduleName}", ${e.value.name})`;if(e instanceof it)return`read(${e.name})`;if(e instanceof at)return`typeof(${this.keyOf(e.expr)})`;if(e instanceof vt)return`...${this.keyOf(e.expression)}`;throw Error(`${this.constructor.name} does not handle expressions of type ${e.constructor.name}`)}});var k=`@angular/core`,A=(()=>{class e{static core={name:null,moduleName:k};static namespaceHTML={name:`ɵɵnamespaceHTML`,moduleName:k};static namespaceMathML={name:`ɵɵnamespaceMathML`,moduleName:k};static namespaceSVG={name:`ɵɵnamespaceSVG`,moduleName:k};static element={name:`ɵɵelement`,moduleName:k};static elementStart={name:`ɵɵelementStart`,moduleName:k};static elementEnd={name:`ɵɵelementEnd`,moduleName:k};static foreignComponent={name:`ɵɵforeignComponent`,moduleName:k};static foreignContent={name:`ɵɵforeignContent`,moduleName:k};static foreignContentFn={name:`ɵɵforeignContentFn`,moduleName:k};static domElement={name:`ɵɵdomElement`,moduleName:k};static domElementStart={name:`ɵɵdomElementStart`,moduleName:k};static domElementEnd={name:`ɵɵdomElementEnd`,moduleName:k};static domElementContainer={name:`ɵɵdomElementContainer`,moduleName:k};static domElementContainerStart={name:`ɵɵdomElementContainerStart`,moduleName:k};static domElementContainerEnd={name:`ɵɵdomElementContainerEnd`,moduleName:k};static domTemplate={name:`ɵɵdomTemplate`,moduleName:k};static domListener={name:`ɵɵdomListener`,moduleName:k};static advance={name:`ɵɵadvance`,moduleName:k};static syntheticHostProperty={name:`ɵɵsyntheticHostProperty`,moduleName:k};static syntheticHostListener={name:`ɵɵsyntheticHostListener`,moduleName:k};static attribute={name:`ɵɵattribute`,moduleName:k};static classProp={name:`ɵɵclassProp`,moduleName:k};static elementContainerStart={name:`ɵɵelementContainerStart`,moduleName:k};static elementContainerEnd={name:`ɵɵelementContainerEnd`,moduleName:k};static elementContainer={name:`ɵɵelementContainer`,moduleName:k};static styleMap={name:`ɵɵstyleMap`,moduleName:k};static classMap={name:`ɵɵclassMap`,moduleName:k};static styleProp={name:`ɵɵstyleProp`,moduleName:k};static interpolate={name:`ɵɵinterpolate`,moduleName:k};static interpolate1={name:`ɵɵinterpolate1`,moduleName:k};static interpolate2={name:`ɵɵinterpolate2`,moduleName:k};static interpolate3={name:`ɵɵinterpolate3`,moduleName:k};static interpolate4={name:`ɵɵinterpolate4`,moduleName:k};static interpolate5={name:`ɵɵinterpolate5`,moduleName:k};static interpolate6={name:`ɵɵinterpolate6`,moduleName:k};static interpolate7={name:`ɵɵinterpolate7`,moduleName:k};static interpolate8={name:`ɵɵinterpolate8`,moduleName:k};static interpolateV={name:`ɵɵinterpolateV`,moduleName:k};static nextContext={name:`ɵɵnextContext`,moduleName:k};static resetView={name:`ɵɵresetView`,moduleName:k};static templateCreate={name:`ɵɵtemplate`,moduleName:k};static defer={name:`ɵɵdefer`,moduleName:k};static deferWhen={name:`ɵɵdeferWhen`,moduleName:k};static deferOnIdle={name:`ɵɵdeferOnIdle`,moduleName:k};static deferOnImmediate={name:`ɵɵdeferOnImmediate`,moduleName:k};static deferOnTimer={name:`ɵɵdeferOnTimer`,moduleName:k};static deferOnHover={name:`ɵɵdeferOnHover`,moduleName:k};static deferOnInteraction={name:`ɵɵdeferOnInteraction`,moduleName:k};static deferOnViewport={name:`ɵɵdeferOnViewport`,moduleName:k};static deferPrefetchWhen={name:`ɵɵdeferPrefetchWhen`,moduleName:k};static deferPrefetchOnIdle={name:`ɵɵdeferPrefetchOnIdle`,moduleName:k};static deferPrefetchOnImmediate={name:`ɵɵdeferPrefetchOnImmediate`,moduleName:k};static deferPrefetchOnTimer={name:`ɵɵdeferPrefetchOnTimer`,moduleName:k};static deferPrefetchOnHover={name:`ɵɵdeferPrefetchOnHover`,moduleName:k};static deferPrefetchOnInteraction={name:`ɵɵdeferPrefetchOnInteraction`,moduleName:k};static deferPrefetchOnViewport={name:`ɵɵdeferPrefetchOnViewport`,moduleName:k};static deferHydrateWhen={name:`ɵɵdeferHydrateWhen`,moduleName:k};static deferHydrateNever={name:`ɵɵdeferHydrateNever`,moduleName:k};static deferHydrateOnIdle={name:`ɵɵdeferHydrateOnIdle`,moduleName:k};static deferHydrateOnImmediate={name:`ɵɵdeferHydrateOnImmediate`,moduleName:k};static deferHydrateOnTimer={name:`ɵɵdeferHydrateOnTimer`,moduleName:k};static deferHydrateOnHover={name:`ɵɵdeferHydrateOnHover`,moduleName:k};static deferHydrateOnInteraction={name:`ɵɵdeferHydrateOnInteraction`,moduleName:k};static deferHydrateOnViewport={name:`ɵɵdeferHydrateOnViewport`,moduleName:k};static deferEnableTimerScheduling={name:`ɵɵdeferEnableTimerScheduling`,moduleName:k};static enableIncrementalHydrationRuntime={name:`ɵɵenableIncrementalHydrationRuntime`,moduleName:k};static conditionalCreate={name:`ɵɵconditionalCreate`,moduleName:k};static conditionalBranchCreate={name:`ɵɵconditionalBranchCreate`,moduleName:k};static conditional={name:`ɵɵconditional`,moduleName:k};static repeater={name:`ɵɵrepeater`,moduleName:k};static repeaterCreate={name:`ɵɵrepeaterCreate`,moduleName:k};static repeaterTrackByIndex={name:`ɵɵrepeaterTrackByIndex`,moduleName:k};static repeaterTrackByIdentity={name:`ɵɵrepeaterTrackByIdentity`,moduleName:k};static componentInstance={name:`ɵɵcomponentInstance`,moduleName:k};static text={name:`ɵɵtext`,moduleName:k};static enableBindings={name:`ɵɵenableBindings`,moduleName:k};static disableBindings={name:`ɵɵdisableBindings`,moduleName:k};static getCurrentView={name:`ɵɵgetCurrentView`,moduleName:k};static textInterpolate={name:`ɵɵtextInterpolate`,moduleName:k};static textInterpolate1={name:`ɵɵtextInterpolate1`,moduleName:k};static textInterpolate2={name:`ɵɵtextInterpolate2`,moduleName:k};static textInterpolate3={name:`ɵɵtextInterpolate3`,moduleName:k};static textInterpolate4={name:`ɵɵtextInterpolate4`,moduleName:k};static textInterpolate5={name:`ɵɵtextInterpolate5`,moduleName:k};static textInterpolate6={name:`ɵɵtextInterpolate6`,moduleName:k};static textInterpolate7={name:`ɵɵtextInterpolate7`,moduleName:k};static textInterpolate8={name:`ɵɵtextInterpolate8`,moduleName:k};static textInterpolateV={name:`ɵɵtextInterpolateV`,moduleName:k};static restoreView={name:`ɵɵrestoreView`,moduleName:k};static pureFunction0={name:`ɵɵpureFunction0`,moduleName:k};static pureFunction1={name:`ɵɵpureFunction1`,moduleName:k};static pureFunction2={name:`ɵɵpureFunction2`,moduleName:k};static pureFunction3={name:`ɵɵpureFunction3`,moduleName:k};static pureFunction4={name:`ɵɵpureFunction4`,moduleName:k};static pureFunction5={name:`ɵɵpureFunction5`,moduleName:k};static pureFunction6={name:`ɵɵpureFunction6`,moduleName:k};static pureFunction7={name:`ɵɵpureFunction7`,moduleName:k};static pureFunction8={name:`ɵɵpureFunction8`,moduleName:k};static pureFunctionV={name:`ɵɵpureFunctionV`,moduleName:k};static pipeBind1={name:`ɵɵpipeBind1`,moduleName:k};static pipeBind2={name:`ɵɵpipeBind2`,moduleName:k};static pipeBind3={name:`ɵɵpipeBind3`,moduleName:k};static pipeBind4={name:`ɵɵpipeBind4`,moduleName:k};static pipeBindV={name:`ɵɵpipeBindV`,moduleName:k};static domProperty={name:`ɵɵdomProperty`,moduleName:k};static ariaProperty={name:`ɵɵariaProperty`,moduleName:k};static property={name:`ɵɵproperty`,moduleName:k};static control={name:`ɵɵcontrol`,moduleName:k};static controlCreate={name:`ɵɵcontrolCreate`,moduleName:k};static animationEnterListener={name:`ɵɵanimateEnterListener`,moduleName:k};static animationLeaveListener={name:`ɵɵanimateLeaveListener`,moduleName:k};static animationEnter={name:`ɵɵanimateEnter`,moduleName:k};static animationLeave={name:`ɵɵanimateLeave`,moduleName:k};static i18n={name:`ɵɵi18n`,moduleName:k};static i18nAttributes={name:`ɵɵi18nAttributes`,moduleName:k};static i18nExp={name:`ɵɵi18nExp`,moduleName:k};static i18nStart={name:`ɵɵi18nStart`,moduleName:k};static i18nEnd={name:`ɵɵi18nEnd`,moduleName:k};static i18nApply={name:`ɵɵi18nApply`,moduleName:k};static i18nPostprocess={name:`ɵɵi18nPostprocess`,moduleName:k};static pipe={name:`ɵɵpipe`,moduleName:k};static projection={name:`ɵɵprojection`,moduleName:k};static projectionDef={name:`ɵɵprojectionDef`,moduleName:k};static reference={name:`ɵɵreference`,moduleName:k};static inject={name:`ɵɵinject`,moduleName:k};static injectAttribute={name:`ɵɵinjectAttribute`,moduleName:k};static directiveInject={name:`ɵɵdirectiveInject`,moduleName:k};static invalidFactory={name:`ɵɵinvalidFactory`,moduleName:k};static invalidFactoryDep={name:`ɵɵinvalidFactoryDep`,moduleName:k};static templateRefExtractor={name:`ɵɵtemplateRefExtractor`,moduleName:k};static forwardRef={name:`forwardRef`,moduleName:k};static resolveForwardRef={name:`resolveForwardRef`,moduleName:k};static replaceMetadata={name:`ɵɵreplaceMetadata`,moduleName:k};static getReplaceMetadataURL={name:`ɵɵgetReplaceMetadataURL`,moduleName:k};static ɵɵdefineInjectable={name:`ɵɵdefineInjectable`,moduleName:k};static declareInjectable={name:`ɵɵngDeclareInjectable`,moduleName:k};static InjectableDeclaration={name:`ɵɵInjectableDeclaration`,moduleName:k};static defineService={name:`ɵɵdefineService`,moduleName:k};static declareService={name:`ɵɵngDeclareService`,moduleName:k};static resolveWindow={name:`ɵɵresolveWindow`,moduleName:k};static resolveDocument={name:`ɵɵresolveDocument`,moduleName:k};static resolveBody={name:`ɵɵresolveBody`,moduleName:k};static getComponentDepsFactory={name:`ɵɵgetComponentDepsFactory`,moduleName:k};static defineComponent={name:`ɵɵdefineComponent`,moduleName:k};static declareComponent={name:`ɵɵngDeclareComponent`,moduleName:k};static setComponentScope={name:`ɵɵsetComponentScope`,moduleName:k};static ChangeDetectionStrategy={name:`ChangeDetectionStrategy`,moduleName:k};static ViewEncapsulation={name:`ViewEncapsulation`,moduleName:k};static ComponentDeclaration={name:`ɵɵComponentDeclaration`,moduleName:k};static FactoryDeclaration={name:`ɵɵFactoryDeclaration`,moduleName:k};static declareFactory={name:`ɵɵngDeclareFactory`,moduleName:k};static FactoryTarget={name:`ɵɵFactoryTarget`,moduleName:k};static defineDirective={name:`ɵɵdefineDirective`,moduleName:k};static declareDirective={name:`ɵɵngDeclareDirective`,moduleName:k};static DirectiveDeclaration={name:`ɵɵDirectiveDeclaration`,moduleName:k};static InjectorDef={name:`ɵɵInjectorDef`,moduleName:k};static InjectorDeclaration={name:`ɵɵInjectorDeclaration`,moduleName:k};static defineInjector={name:`ɵɵdefineInjector`,moduleName:k};static declareInjector={name:`ɵɵngDeclareInjector`,moduleName:k};static NgModuleDeclaration={name:`ɵɵNgModuleDeclaration`,moduleName:k};static ModuleWithProviders={name:`ModuleWithProviders`,moduleName:k};static defineNgModule={name:`ɵɵdefineNgModule`,moduleName:k};static declareNgModule={name:`ɵɵngDeclareNgModule`,moduleName:k};static setNgModuleScope={name:`ɵɵsetNgModuleScope`,moduleName:k};static registerNgModuleType={name:`ɵɵregisterNgModuleType`,moduleName:k};static PipeDeclaration={name:`ɵɵPipeDeclaration`,moduleName:k};static definePipe={name:`ɵɵdefinePipe`,moduleName:k};static declarePipe={name:`ɵɵngDeclarePipe`,moduleName:k};static declareClassMetadata={name:`ɵɵngDeclareClassMetadata`,moduleName:k};static declareClassMetadataAsync={name:`ɵɵngDeclareClassMetadataAsync`,moduleName:k};static setClassMetadata={name:`ɵsetClassMetadata`,moduleName:k};static setClassMetadataAsync={name:`ɵsetClassMetadataAsync`,moduleName:k};static setClassDebugInfo={name:`ɵsetClassDebugInfo`,moduleName:k};static queryRefresh={name:`ɵɵqueryRefresh`,moduleName:k};static viewQuery={name:`ɵɵviewQuery`,moduleName:k};static loadQuery={name:`ɵɵloadQuery`,moduleName:k};static contentQuery={name:`ɵɵcontentQuery`,moduleName:k};static viewQuerySignal={name:`ɵɵviewQuerySignal`,moduleName:k};static contentQuerySignal={name:`ɵɵcontentQuerySignal`,moduleName:k};static queryAdvance={name:`ɵɵqueryAdvance`,moduleName:k};static twoWayProperty={name:`ɵɵtwoWayProperty`,moduleName:k};static twoWayBindingSet={name:`ɵɵtwoWayBindingSet`,moduleName:k};static twoWayListener={name:`ɵɵtwoWayListener`,moduleName:k};static declareLet={name:`ɵɵdeclareLet`,moduleName:k};static storeLet={name:`ɵɵstoreLet`,moduleName:k};static readContextLet={name:`ɵɵreadContextLet`,moduleName:k};static arrowFunction={name:`ɵɵarrowFunction`,moduleName:k};static attachSourceLocations={name:`ɵɵattachSourceLocations`,moduleName:k};static NgOnChangesFeature={name:`ɵɵNgOnChangesFeature`,moduleName:k};static ControlFeature={name:`ɵɵControlFeature`,moduleName:k};static InheritDefinitionFeature={name:`ɵɵInheritDefinitionFeature`,moduleName:k};static ProvidersFeature={name:`ɵɵProvidersFeature`,moduleName:k};static HostDirectivesFeature={name:`ɵɵHostDirectivesFeature`,moduleName:k};static ExternalStylesFeature={name:`ɵɵExternalStylesFeature`,moduleName:k};static listener={name:`ɵɵlistener`,moduleName:k};static getInheritedFactory={name:`ɵɵgetInheritedFactory`,moduleName:k};static sanitizeHtml={name:`ɵɵsanitizeHtml`,moduleName:k};static sanitizeStyle={name:`ɵɵsanitizeStyle`,moduleName:k};static validateAttribute={name:`ɵɵvalidateAttribute`,moduleName:k};static sanitizeResourceUrl={name:`ɵɵsanitizeResourceUrl`,moduleName:k};static sanitizeScript={name:`ɵɵsanitizeScript`,moduleName:k};static sanitizeUrl={name:`ɵɵsanitizeUrl`,moduleName:k};static sanitizeUrlOrResourceUrl={name:`ɵɵsanitizeUrlOrResourceUrl`,moduleName:k};static trustConstantHtml={name:`ɵɵtrustConstantHtml`,moduleName:k};static trustConstantResourceUrl={name:`ɵɵtrustConstantResourceUrl`,moduleName:k};static inputDecorator={name:`Input`,moduleName:k};static outputDecorator={name:`Output`,moduleName:k};static viewChildDecorator={name:`ViewChild`,moduleName:k};static viewChildrenDecorator={name:`ViewChildren`,moduleName:k};static contentChildDecorator={name:`ContentChild`,moduleName:k};static contentChildrenDecorator={name:`ContentChildren`,moduleName:k};static InputSignalBrandWriteType={name:`ɵINPUT_SIGNAL_BRAND_WRITE_TYPE`,moduleName:k};static UnwrapDirectiveSignalInputs={name:`ɵUnwrapDirectiveSignalInputs`,moduleName:k};static unwrapWritableSignal={name:`ɵunwrapWritableSignal`,moduleName:k};static assertType={name:`ɵassertType`,moduleName:k}}return e})();O.And,O.Bigger,O.BiggerEquals,O.BitwiseOr,O.BitwiseAnd,O.Divide,O.Assign,O.Equals,O.Identical,O.Lower,O.LowerEquals,O.Minus,O.Modulo,O.Exponentiation,O.Multiply,O.NotEquals,O.NotIdentical,O.NullishCoalesce,O.Or,O.Plus,O.In,O.InstanceOf,O.AdditionAssignment,O.SubtractionAssignment,O.MultiplicationAssignment,O.DivisionAssignment,O.RemainderAssignment,O.ExponentiationAssignment,O.AndAssignment,O.OrAssignment,O.NullishCoalesceAssignment;var Ct=class{span;sourceSpan;constructor(e,t){this.span=e,this.sourceSpan=t}toString(){return`AST`}},wt=class extends Ct{receiver;args;argumentSpan;constructor(e,t,n,r,i){super(e,t),this.receiver=n,this.args=r,this.argumentSpan=i}visit(e,t=null){return e.visitCall(this,t)}},Tt=(function(e){return e[e.Property=0]=`Property`,e[e.Attribute=1]=`Attribute`,e[e.Class=2]=`Class`,e[e.Style=3]=`Style`,e[e.LegacyAnimation=4]=`LegacyAnimation`,e[e.TwoWay=5]=`TwoWay`,e[e.Animation=6]=`Animation`,e})(Tt||{}),Et=`(:(where|is)\\()?`,Dt=`-shadowcsshost`,Ot=`-shadowcsscontext`,kt=`[^)(]*`,At=String.raw`(?:\(${kt}\)|${kt})+?`,jt=String.raw`(?:\(${At}\)|${kt})+?`,Mt=String.raw`(?:\((${jt})\))`;String.raw`(:nth-[-\w]+)`+Mt,Dt+Mt+``,`${Et}`,Ot+Mt+``;var j=(function(e){return e[e.ListEnd=0]=`ListEnd`,e[e.Statement=1]=`Statement`,e[e.Variable=2]=`Variable`,e[e.ElementStart=3]=`ElementStart`,e[e.Element=4]=`Element`,e[e.ForeignComponent=5]=`ForeignComponent`,e[e.Template=6]=`Template`,e[e.ElementEnd=7]=`ElementEnd`,e[e.ContainerStart=8]=`ContainerStart`,e[e.Container=9]=`Container`,e[e.ContainerEnd=10]=`ContainerEnd`,e[e.DisableBindings=11]=`DisableBindings`,e[e.ConditionalCreate=12]=`ConditionalCreate`,e[e.ConditionalBranchCreate=13]=`ConditionalBranchCreate`,e[e.Conditional=14]=`Conditional`,e[e.EnableBindings=15]=`EnableBindings`,e[e.Text=16]=`Text`,e[e.Listener=17]=`Listener`,e[e.InterpolateText=18]=`InterpolateText`,e[e.Binding=19]=`Binding`,e[e.Property=20]=`Property`,e[e.StyleProp=21]=`StyleProp`,e[e.ClassProp=22]=`ClassProp`,e[e.StyleMap=23]=`StyleMap`,e[e.ClassMap=24]=`ClassMap`,e[e.Advance=25]=`Advance`,e[e.Pipe=26]=`Pipe`,e[e.Attribute=27]=`Attribute`,e[e.ExtractedAttribute=28]=`ExtractedAttribute`,e[e.Defer=29]=`Defer`,e[e.DeferOn=30]=`DeferOn`,e[e.DeferWhen=31]=`DeferWhen`,e[e.I18nMessage=32]=`I18nMessage`,e[e.DomProperty=33]=`DomProperty`,e[e.Namespace=34]=`Namespace`,e[e.ProjectionDef=35]=`ProjectionDef`,e[e.EnableIncrementalHydrationRuntime=36]=`EnableIncrementalHydrationRuntime`,e[e.Projection=37]=`Projection`,e[e.Content=38]=`Content`,e[e.RepeaterCreate=39]=`RepeaterCreate`,e[e.Repeater=40]=`Repeater`,e[e.TwoWayProperty=41]=`TwoWayProperty`,e[e.TwoWayListener=42]=`TwoWayListener`,e[e.DeclareLet=43]=`DeclareLet`,e[e.StoreLet=44]=`StoreLet`,e[e.I18nStart=45]=`I18nStart`,e[e.I18n=46]=`I18n`,e[e.I18nEnd=47]=`I18nEnd`,e[e.I18nExpression=48]=`I18nExpression`,e[e.I18nApply=49]=`I18nApply`,e[e.IcuStart=50]=`IcuStart`,e[e.IcuEnd=51]=`IcuEnd`,e[e.IcuPlaceholder=52]=`IcuPlaceholder`,e[e.I18nContext=53]=`I18nContext`,e[e.I18nAttributes=54]=`I18nAttributes`,e[e.SourceLocation=55]=`SourceLocation`,e[e.Animation=56]=`Animation`,e[e.AnimationString=57]=`AnimationString`,e[e.AnimationBinding=58]=`AnimationBinding`,e[e.AnimationListener=59]=`AnimationListener`,e[e.Control=60]=`Control`,e[e.ControlCreate=61]=`ControlCreate`,e})(j||{}),Nt=(function(e){return e[e.LexicalRead=0]=`LexicalRead`,e[e.Context=1]=`Context`,e[e.TrackContext=2]=`TrackContext`,e[e.ReadVariable=3]=`ReadVariable`,e[e.NextContext=4]=`NextContext`,e[e.Reference=5]=`Reference`,e[e.StoreLet=6]=`StoreLet`,e[e.ContextLetReference=7]=`ContextLetReference`,e[e.GetCurrentView=8]=`GetCurrentView`,e[e.RestoreView=9]=`RestoreView`,e[e.ResetView=10]=`ResetView`,e[e.PureFunctionExpr=11]=`PureFunctionExpr`,e[e.PureFunctionParameterExpr=12]=`PureFunctionParameterExpr`,e[e.PipeBinding=13]=`PipeBinding`,e[e.PipeBindingVariadic=14]=`PipeBindingVariadic`,e[e.SafePropertyRead=15]=`SafePropertyRead`,e[e.SafeKeyedRead=16]=`SafeKeyedRead`,e[e.SafeNavigationMigration=17]=`SafeNavigationMigration`,e[e.SafeTernaryExpr=18]=`SafeTernaryExpr`,e[e.EmptyExpr=19]=`EmptyExpr`,e[e.AssignTemporaryExpr=20]=`AssignTemporaryExpr`,e[e.ReadTemporaryExpr=21]=`ReadTemporaryExpr`,e[e.SlotLiteralExpr=22]=`SlotLiteralExpr`,e[e.ConditionalCase=23]=`ConditionalCase`,e[e.ConstCollected=24]=`ConstCollected`,e[e.TwoWayBindingSet=25]=`TwoWayBindingSet`,e[e.ForeignContent=26]=`ForeignContent`,e[e.ArrowFunction=27]=`ArrowFunction`,e})(Nt||{}),Pt=(function(e){return e[e.None=0]=`None`,e[e.AlwaysInline=1]=`AlwaysInline`,e})(Pt||{}),Ft=(function(e){return e[e.Context=0]=`Context`,e[e.Identifier=1]=`Identifier`,e[e.SavedView=2]=`SavedView`,e[e.Alias=3]=`Alias`,e})(Ft||{}),It=(function(e){return e[e.Attribute=0]=`Attribute`,e[e.ClassName=1]=`ClassName`,e[e.StyleProperty=2]=`StyleProperty`,e[e.Property=3]=`Property`,e[e.Template=4]=`Template`,e[e.I18n=5]=`I18n`,e[e.LegacyAnimation=6]=`LegacyAnimation`,e[e.TwoWayProperty=7]=`TwoWayProperty`,e[e.Animation=8]=`Animation`,e})(It||{}),Lt=(function(e){return e[e.Creation=0]=`Creation`,e[e.Postproccessing=1]=`Postproccessing`,e})(Lt||{}),Rt=(function(e){return e[e.I18nText=0]=`I18nText`,e[e.I18nAttribute=1]=`I18nAttribute`,e})(Rt||{}),zt=(function(e){return e[e.None=0]=`None`,e[e.ElementTag=1]=`ElementTag`,e[e.TemplateTag=2]=`TemplateTag`,e[e.OpenTag=4]=`OpenTag`,e[e.CloseTag=8]=`CloseTag`,e[e.ExpressionIndex=16]=`ExpressionIndex`,e})(zt||{}),Bt=(function(e){return e[e.HTML=0]=`HTML`,e[e.SVG=1]=`SVG`,e[e.Math=2]=`Math`,e})(Bt||{}),Vt=(function(e){return e[e.Idle=0]=`Idle`,e[e.Immediate=1]=`Immediate`,e[e.Timer=2]=`Timer`,e[e.Hover=3]=`Hover`,e[e.Interaction=4]=`Interaction`,e[e.Viewport=5]=`Viewport`,e[e.Never=6]=`Never`,e})(Vt||{}),Ht=(function(e){return e[e.RootI18n=0]=`RootI18n`,e[e.Icu=1]=`Icu`,e[e.Attr=2]=`Attr`,e})(Ht||{}),Ut=(function(e){return e[e.NgTemplate=0]=`NgTemplate`,e[e.Structural=1]=`Structural`,e[e.Block=2]=`Block`,e})(Ut||{}),Wt=(function(e){return e[e.None=0]=`None`,e[e.InChildOperation=1]=`InChildOperation`,e[e.InArrowFunctionOperation=2]=`InArrowFunctionOperation`,e[e.InSafeNavigationMigration=4]=`InSafeNavigationMigration`,e})(Wt||{});j.Element,j.ElementStart,j.Container,j.ContainerStart,j.Template,j.RepeaterCreate,j.ConditionalCreate,j.ConditionalBranchCreate;var M=(function(e){return e[e.Tmpl=0]=`Tmpl`,e[e.Host=1]=`Host`,e[e.Both=2]=`Both`,e})(M||{}),Gt=(function(e){return e[e.Full=0]=`Full`,e[e.DomOnly=1]=`DomOnly`,e})(Gt||{});A.ariaProperty,A.ariaProperty,A.attribute,A.attribute,A.classProp,A.classProp,A.element,A.element,A.elementContainer,A.elementContainer,A.elementContainerEnd,A.elementContainerEnd,A.elementContainerStart,A.elementContainerStart,A.elementEnd,A.elementEnd,A.elementStart,A.elementStart,A.domProperty,A.domProperty,A.i18nExp,A.i18nExp,A.listener,A.listener,A.listener,A.listener,A.property,A.property,A.styleProp,A.styleProp,A.syntheticHostListener,A.syntheticHostListener,A.syntheticHostProperty,A.syntheticHostProperty,A.templateCreate,A.templateCreate,A.twoWayProperty,A.twoWayProperty,A.twoWayListener,A.twoWayListener,A.declareLet,A.declareLet,A.conditionalCreate,A.conditionalBranchCreate,A.conditionalBranchCreate,A.conditionalBranchCreate,A.domElement,A.domElement,A.domElementStart,A.domElementStart,A.domElementEnd,A.domElementEnd,A.domElementContainer,A.domElementContainer,A.domElementContainerStart,A.domElementContainerStart,A.domElementContainerEnd,A.domElementContainerEnd,A.domListener,A.domListener,A.domTemplate,A.domTemplate,A.animationEnter,A.animationEnter,A.animationLeave,A.animationLeave,A.animationEnterListener,A.animationEnterListener,A.animationLeaveListener,A.animationLeaveListener,O.And,O.Bigger,O.BiggerEquals,O.BitwiseOr,O.BitwiseAnd,O.Divide,O.Assign,O.Equals,O.Identical,O.Lower,O.LowerEquals,O.Minus,O.Modulo,O.Exponentiation,O.Multiply,O.NotEquals,O.NotIdentical,O.NullishCoalesce,O.Or,O.Plus,O.In,O.InstanceOf,O.AdditionAssignment,O.SubtractionAssignment,O.MultiplicationAssignment,O.DivisionAssignment,O.RemainderAssignment,O.ExponentiationAssignment,O.AndAssignment,O.OrAssignment,O.NullishCoalesceAssignment,j.Property,j.Property,j.Property,j.Attribute,j.Attribute,j.Property,j.TwoWayProperty,j.Container,j.ContainerStart,j.ContainerEnd,j.Element,j.ElementStart,j.ElementEnd,j.Template,j.ElementEnd,j.ElementStart,j.Element,j.ContainerEnd,j.ContainerStart,j.Container,j.I18nEnd,j.I18nStart,j.I18n,j.Pipe;var Kt=` \f -\r \v ᠎ - \u2028\u2029   `;`${Kt}`,`${Kt}`;var qt=(function(e){return e[e.Character=0]=`Character`,e[e.Identifier=1]=`Identifier`,e[e.PrivateIdentifier=2]=`PrivateIdentifier`,e[e.Keyword=3]=`Keyword`,e[e.String=4]=`String`,e[e.Operator=5]=`Operator`,e[e.Number=6]=`Number`,e[e.RegExpBody=7]=`RegExpBody`,e[e.RegExpFlags=8]=`RegExpFlags`,e[e.Error=9]=`Error`,e})(qt||{}),Jt=(function(e){return e[e.Plain=0]=`Plain`,e[e.TemplateLiteralPart=1]=`TemplateLiteralPart`,e[e.TemplateLiteralEnd=2]=`TemplateLiteralEnd`,e})(Jt||{});qt.Character,j.StyleMap,j.ClassMap,j.StyleProp,j.ClassProp,j.Attribute,j.Property,j.Attribute,j.Control,j.DomProperty,j.DomProperty,j.Attribute,j.StyleMap,j.ClassMap,j.StyleProp,j.ClassProp,j.Listener,j.TwoWayListener,j.AnimationListener,j.StyleMap,j.ClassMap,j.StyleProp,j.ClassProp,j.Property,j.TwoWayProperty,j.DomProperty,j.Attribute,j.Animation,j.Control,Vt.Idle,A.deferOnIdle,A.deferPrefetchOnIdle,A.deferHydrateOnIdle,Vt.Immediate,A.deferOnImmediate,A.deferPrefetchOnImmediate,A.deferHydrateOnImmediate,Vt.Timer,A.deferOnTimer,A.deferPrefetchOnTimer,A.deferHydrateOnTimer,Vt.Hover,A.deferOnHover,A.deferPrefetchOnHover,A.deferHydrateOnHover,Vt.Interaction,A.deferOnInteraction,A.deferPrefetchOnInteraction,A.deferHydrateOnInteraction,Vt.Viewport,A.deferOnViewport,A.deferPrefetchOnViewport,A.deferHydrateOnViewport,Vt.Never,A.deferHydrateNever,A.deferHydrateNever,A.deferHydrateNever,A.pipeBind1,A.pipeBind2,A.pipeBind3,A.pipeBind4,A.textInterpolate,A.textInterpolate1,A.textInterpolate2,A.textInterpolate3,A.textInterpolate4,A.textInterpolate5,A.textInterpolate6,A.textInterpolate7,A.textInterpolate8,A.textInterpolateV,A.interpolate,A.interpolate1,A.interpolate2,A.interpolate3,A.interpolate4,A.interpolate5,A.interpolate6,A.interpolate7,A.interpolate8,A.interpolateV,A.pureFunction0,A.pureFunction1,A.pureFunction2,A.pureFunction3,A.pureFunction4,A.pureFunction5,A.pureFunction6,A.pureFunction7,A.pureFunction8,A.pureFunctionV,A.resolveWindow,A.resolveDocument,A.resolveBody,Je.HTML,A.sanitizeHtml,Je.RESOURCE_URL,A.sanitizeResourceUrl,Je.SCRIPT,A.sanitizeScript,Je.STYLE,A.sanitizeStyle,Je.URL,A.sanitizeUrl,Je.ATTRIBUTE_NO_BINDING,A.validateAttribute,Je.HTML,A.trustConstantHtml,Je.RESOURCE_URL,A.trustConstantResourceUrl;var Yt=(function(e){return e[e.None=0]=`None`,e[e.ViewContextRead=1]=`ViewContextRead`,e[e.ViewContextWrite=2]=`ViewContextWrite`,e[e.SideEffectful=4]=`SideEffectful`,e})(Yt||{});M.Tmpl,M.Tmpl,M.Both,M.Host,M.Tmpl,M.Tmpl,M.Tmpl,M.Both,M.Both,M.Both,M.Tmpl,M.Both,M.Both,M.Tmpl,M.Both,M.Tmpl,M.Both,M.Both,M.Tmpl,M.Tmpl,M.Tmpl,M.Tmpl,M.Tmpl,M.Both,M.Both,M.Tmpl,M.Tmpl,M.Tmpl,M.Tmpl,M.Both,M.Both,M.Both,M.Tmpl,M.Tmpl,M.Both,M.Tmpl,M.Tmpl,M.Tmpl,M.Both,M.Both,M.Tmpl,M.Both,M.Both,M.Both,M.Both,M.Both,M.Tmpl,M.Tmpl,M.Tmpl,M.Tmpl,M.Tmpl,M.Tmpl,M.Tmpl,M.Tmpl,M.Tmpl,M.Tmpl,M.Tmpl,M.Tmpl,M.Both,M.Tmpl,M.Both,M.Tmpl,M.Both,M.Tmpl,M.Tmpl,M.Tmpl,M.Tmpl,M.Tmpl,M.Tmpl,M.Both,M.Both,M.Both,Tt.Property,It.Property,Tt.TwoWay,It.TwoWayProperty,Tt.Attribute,It.Attribute,Tt.Class,It.ClassName,Tt.Style,It.StyleProperty,Tt.LegacyAnimation,It.LegacyAnimation,Tt.Animation,It.Animation;var Xt=`%COMP%`;`${Xt}`,`${Xt}`,class e{static SINGLETON=new e;static veWillInferAnyFor(t){let n=e.SINGLETON;return t instanceof wt?t.visit(n):t.receiver.visit(n)}visitUnary(e){return e.expr.visit(this)}visitBinary(e){return e.left.visit(this)||e.right.visit(this)}visitChain(){return!1}visitConditional(e){return e.condition.visit(this)||e.trueExp.visit(this)||e.falseExp.visit(this)}visitCall(){return!0}visitSafeCall(){return!1}visitImplicitReceiver(){return!1}visitThisReceiver(){return!1}visitInterpolation(e){return e.expressions.some(e=>e.visit(this))}visitKeyedRead(){return!1}visitLiteralArray(){return!0}visitLiteralMap(){return!0}visitLiteralPrimitive(){return!1}visitPipe(){return!0}visitPrefixNot(e){return e.expression.visit(this)}visitTypeofExpression(e){return e.expression.visit(this)}visitVoidExpression(e){return e.expression.visit(this)}visitNonNullAssert(e){return e.expression.visit(this)}visitPropertyRead(){return!1}visitSafePropertyRead(){return!1}visitSafeKeyedRead(){return!1}visitTemplateLiteral(){return!1}visitTemplateLiteralElement(){return!1}visitTaggedTemplateLiteral(){return!1}visitParenthesizedExpression(e){return e.expression.visit(this)}visitRegularExpressionLiteral(){return!1}visitSpreadElement(e){return e.expression.visit(this)}visitArrowFunction(e,t){return!1}};var Zt=null,Qt=!1,$t=1,en=null,tn=Symbol(`SIGNAL`);function N(e){let t=Zt;return Zt=e,t}function nn(){return Zt}var rn={version:0,lastCleanEpoch:0,dirty:!1,producers:void 0,producersTail:void 0,consumers:void 0,consumersTail:void 0,recomputing:!1,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,kind:`unknown`,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function an(e){if(Qt)throw Error(``);if(Zt===null)return;Zt.consumerOnSignalRead(e);let t=Zt.producersTail;if(t!==void 0&&t.producer===e)return;let n,r=Zt.recomputing;if(r&&(n=t===void 0?Zt.producers:t.nextProducer,n!==void 0&&n.producer===e)){Zt.producersTail=n,n.lastReadVersion=e.version,n.knownValidAtEpoch=$t;return}let i=e.consumersTail;if(i!==void 0&&i.consumer===Zt&&(!r||i.knownValidAtEpoch===$t))return;let a=bn(Zt),o={producer:e,consumer:Zt,nextProducer:n,prevConsumer:void 0,knownValidAtEpoch:$t,lastReadVersion:e.version,nextConsumer:void 0};Zt.producersTail=o,t===void 0?Zt.producers=o:t.nextProducer=o,a&&vn(e,o)}function on(){$t++}function sn(e){if((!bn(e)||e.dirty)&&(e.dirty||e.lastCleanEpoch!==$t)){if(!e.producerMustRecompute(e)&&!gn(e)){dn(e);return}e.producerRecomputeValue(e),dn(e)}}function cn(e){if(e.consumers===void 0)return;let t=Qt;Qt=!0;try{for(let t=e.consumers;t!==void 0;t=t.nextConsumer){let e=t.consumer;e.dirty||un(e)}}finally{Qt=t}}function ln(){return Zt?.consumerAllowSignalWrites!==!1}function un(e){e.dirty=!0,cn(e),e.consumerMarkedDirty?.(e)}function dn(e){e.dirty=!1,e.lastCleanEpoch=$t}function fn(e){return e&&pn(e),N(e)}function pn(e){if(e.producersTail?.knownValidAtEpoch===$t){let t=e.producers;for(;t!==void 0;)t.knownValidAtEpoch=null,t=t.nextProducer}e.producersTail=void 0,e.recomputing=!0}function mn(e,t){N(t),e&&hn(e)}function hn(e){e.recomputing=!1;let t=e.producersTail,n=t===void 0?e.producers:t.nextProducer;if(n!==void 0){if(bn(e))do n=yn(n);while(n!==void 0);t===void 0?e.producers=void 0:t.nextProducer=void 0}}function gn(e){for(let t=e.producers;t!==void 0;t=t.nextProducer){let e=t.producer,n=t.lastReadVersion;if(n!==e.version||(sn(e),n!==e.version))return!0}return!1}function _n(e){if(bn(e)){let t=e.producers;for(;t!==void 0;)t=yn(t)}e.producers=void 0,e.producersTail=void 0,e.consumers=void 0,e.consumersTail=void 0}function vn(e,t){let n=e.consumersTail,r=bn(e);if(n===void 0?(t.nextConsumer=void 0,e.consumers=t):(t.nextConsumer=n.nextConsumer,n.nextConsumer=t),t.prevConsumer=n,e.consumersTail=t,!r)for(let t=e.producers;t!==void 0;t=t.nextProducer)vn(t.producer,t)}function yn(e){let t=e.producer,n=e.nextProducer,r=e.nextConsumer,i=e.prevConsumer;if(e.nextConsumer=void 0,e.prevConsumer=void 0,r===void 0?t.consumersTail=i:r.prevConsumer=i,i!==void 0)i.nextConsumer=r;else if(t.consumers=r,!bn(t)){let e=t.producers;for(;e!==void 0;)e=yn(e)}return n}function bn(e){return e.consumerIsAlwaysLive||e.consumers!==void 0}function xn(e){en?.(e)}function Sn(e,t){return Object.is(e,t)}function Cn(e,t){let n=Object.create(Dn);n.computation=e,t!==void 0&&(n.equal=t);let r=()=>{if(sn(n),an(n),n.value===En)throw n.error;return n.value};return r[tn]=n,xn(n),r}var wn=Symbol(`UNSET`),Tn=Symbol(`COMPUTING`),En=Symbol(`ERRORED`),Dn={...rn,value:wn,dirty:!0,error:null,equal:Sn,kind:`computed`,producerMustRecompute(e){return e.value===wn||e.value===Tn},producerRecomputeValue(e){if(e.value===Tn)throw Error(``);let t=e.value;e.value=Tn;let n=fn(e),r,i=!1;try{r=e.computation(),N(null),i=t!==wn&&t!==En&&r!==En&&e.equal(t,r)}catch(t){r=En,e.error=t}finally{mn(e,n)}if(i){e.value=t;return}e.value=r,e.version++}};function On(){throw Error()}var kn=On;function An(e){kn(e)}function jn(e){kn=e}var Mn=null;function Nn(e,t){let n=Object.create(Ln);n.value=e,t!==void 0&&(n.equal=t);let r=()=>Pn(n);return r[tn]=n,xn(n),[r,e=>Fn(n,e),e=>In(n,e)]}function Pn(e){return an(e),e.value}function Fn(e,t){ln()||An(e),e.equal(e.value,t)||(e.value=t,Rn(e))}function In(e,t){ln()||An(e),Fn(e,t(e.value))}var Ln={...rn,equal:Sn,value:void 0,kind:`signal`};function Rn(e){e.version++,on(),cn(e),Mn?.(e)}var zn={...rn,consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!0,dirty:!0,kind:`effect`};function Bn(e){if(e.dirty=!1,e.version>0&&!gn(e))return;e.version++;let t=fn(e);try{e.cleanup(),e.fn()}finally{mn(e,t)}}var Vn=void 0;function Hn(){return Vn}function Un(e){let t=Vn;return Vn=e,t}var Wn=Symbol(`NotFound`);function Gn(e){return e===Wn||e?.name===`ɵNotFound`}var Kn=function(e,t){return Kn=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(e,t){e.__proto__=t}||function(e,t){for(var n in t)Object.prototype.hasOwnProperty.call(t,n)&&(e[n]=t[n])},Kn(e,t)};function qn(e,t){if(typeof t!=`function`&&t!==null)throw TypeError(`Class extends value `+String(t)+` is not a constructor or null`);Kn(e,t);function n(){this.constructor=e}e.prototype=t===null?Object.create(t):(n.prototype=t.prototype,new n)}function Jn(e){var t=typeof Symbol==`function`&&Symbol.iterator,n=t&&e[t],r=0;if(n)return n.call(e);if(e&&typeof e.length==`number`)return{next:function(){return e&&r>=e.length&&(e=void 0),{value:e&&e[r++],done:!e}}};throw TypeError(t?`Object is not iterable.`:`Symbol.iterator is not defined.`)}function Yn(e,t){var n=typeof Symbol==`function`&&e[Symbol.iterator];if(!n)return e;var r=n.call(e),i,a=[],o;try{for(;(t===void 0||t-->0)&&!(i=r.next()).done;)a.push(i.value)}catch(e){o={error:e}}finally{try{i&&!i.done&&(n=r.return)&&n.call(r)}finally{if(o)throw o.error}}return a}function Xn(e,t,n){if(n||arguments.length===2)for(var r=0,i=t.length,a;r0},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?nr:(this.currentObservers=null,a.push(e),new tr(function(){t.currentObservers=null,er(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 Or;return e.source=this,e},t.create=function(e,t){return new Rr(e,t)},t}(Or),Rr=function(e){qn(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)??nr},t}(Lr),zr=function(e){qn(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}(Lr);function Br(e,t){return Nr(function(n,r){var i=0;n.subscribe(Pr(r,function(n){r.next(e.call(t,n,i++))}))})}var Vr=`https://angular.dev/best-practices/security#preventing-cross-site-scripting-xss`,P=class extends Error{code;constructor(e,t){super(Ur(e,t)),this.code=e}};function Hr(e){return`NG0${Math.abs(e)}`}function Ur(e,t){return`${Hr(e)}${t?`: `+t:``}`}function F(e){for(let t in e)if(e[t]===F)return t;throw Error(``)}function Wr(e){if(typeof e==`string`)return e;if(Array.isArray(e))return`[${e.map(Wr).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 Gr(e,t){return e?t?`${e} ${t}`:e:t||``}var Kr=F({__forward_ref__:F});function qr(e){return e.__forward_ref__=qr,e}function Jr(e){return Yr(e)?e():e}function Yr(e){return typeof e==`function`&&Object.hasOwn(e,Kr)&&e.__forward_ref__===qr}function Xr(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function Zr(e){return Qr(e,ti)}function Qr(e,t){return Object.hasOwn(e,t)&&e[t]||null}function $r(e){return(e?.[ti]??null)||null}function ei(e){return e&&Object.hasOwn(e,ni)?e[ni]:null}var ti=F({ɵprov:F}),ni=F({ɵinj:F}),I=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=Xr({token:this,providedIn:t.providedIn||`root`,factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}};function ri(e){return e&&!!e.ɵproviders}var ii=F({ɵcmp:F}),ai=F({ɵdir:F}),oi=F({ɵpipe:F}),si=F({ɵfac:F}),ci=F({__NG_ELEMENT_ID__:F}),li=F({__NG_ENV_ID__:F});function ui(e){return pi(e,`@Component`),e[ii]||null}function di(e){return pi(e,`@Directive`),e[ai]||null}function fi(e){return pi(e,`@Pipe`),e[oi]||null}function pi(e,t){if(e==null)throw new P(-919,!1)}function mi(e){return typeof e==`string`?e:e==null?``:String(e)}var hi=F({ngErrorCode:F}),gi=F({ngErrorMessage:F}),_i=F({ngTokenPath:F});function vi(e,t){return bi(``,-200,t)}function yi(e,t){throw new P(-201,!1)}function bi(e,t,n){let r=new P(t,e);return r[hi]=t,r[gi]=e,n&&(r[_i]=n),r}function xi(e){return e[hi]}var Si;function Ci(){return Si}function wi(e){let t=Si;return Si=e,t}function Ti(e,t,n){let r=Zr(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;yi(e,``)}var Ei={},Di=`__NG_DI_FLAG__`,Oi=class{injector;constructor(e){this.injector=e}retrieve(e,t){let n=Ai(t)||0;try{return this.injector.get(e,n&8?null:Ei,n)}catch(e){if(Gn(e))return e;throw e}}};function ki(e,t=0){let n=Hn();if(n===void 0)throw new P(-203,!1);if(n===null)return Ti(e,void 0,t);{let r=ji(t),i=n.retrieve(e,r);if(Gn(i)){if(r.optional)return null;throw i}return i}}function L(e,t=0){return(Ci()||ki)(Jr(e),t)}function R(e,t){return L(e,Ai(t))}function Ai(e){return e===void 0||typeof e==`number`?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function ji(e){return{optional:!!(e&8),host:!!(e&1),self:!!(e&2),skipSelf:!!(e&4)}}function Mi(e){let t=[];for(let n=0;nArray.isArray(e)?Fi(e,t):t(e))}function Ii(e,t,n){t>=e.length?e.push(n):e.splice(t,0,n)}function Li(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Ri(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 zi(e,t,n){let r=Vi(e,t);return r>=0?e[r|1]=n:(r=~r,Ri(e,r,t,n)),r}function Bi(e,t){let n=Vi(e,t);if(n>=0)return e[n|1]}function Vi(e,t){return Hi(e,t,1)}function Hi(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 Fi(t,e=>{let t=e;Qi(t,a,[],r)&&(i||=[],i.push(t))}),i!==void 0&&Zi(i,a),n}function Zi(e,t){for(let n=0;n{t(e,r)})}}function Qi(e,t,n,r){if(e=Jr(e),!e)return!1;let i=null,a=ei(e),o=!a&&ui(e);if(!a&&!o){let t=e.ngModule;if(a=ei(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)Qi(i,t,n,r)}}else if(a){if(a.imports!=null&&!s){r.add(i);let e;try{Fi(a.imports,i=>{Qi(i,t,n,r)&&(e||=[],e.push(i))})}finally{}e!==void 0&&Zi(e,t)}if(!s){let e=Pi(i)||(()=>new i);t({provide:i,useFactory:e,deps:Wi},i),t({provide:qi,useValue:i,multi:!0},i),t({provide:Gi,useValue:()=>L(i),multi:!0},i)}let o=a.providers;if(o!=null&&!s){let n=e;$i(o,e=>{t(e,n)})}}else return!1;return i!==e&&e.providers!==void 0}function $i(e,t){for(let n of e)ri(n)&&(n=n.ɵproviders),Array.isArray(n)?$i(n,t):t(n)}var ea=F({provide:String,useValue:F});function ta(e){return typeof e==`object`&&!!e&&ea in e}function na(e){return!!(e&&e.useExisting)}function ra(e){return!!(e&&e.useFactory)}function ia(e){return typeof e==`function`}var aa=new I(``),oa={},sa={},ca=void 0;function la(){return ca===void 0&&(ca=new Ji),ca}var ua=class{},da=class extends ua{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,xa(e,e=>this.processProvider(e)),this.records.set(Ki,_a(void 0,this)),r.has(`environment`)&&this.records.set(ua,_a(void 0,this));let i=this.records.get(aa);i!=null&&typeof i.value==`string`&&this.scopes.add(i.value),this.injectorDefTypes=new Set(this.get(qi,Wi,{self:!0}))}retrieve(e,t){let n=Ai(t)||0;try{return this.get(e,Ei,n)}catch(e){if(Gn(e))return e;throw e}}destroy(){ga(this),this._destroyed=!0;let e=N(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(),N(e)}}onDestroy(e){return ga(this),this._onDestroyHooks.push(e),()=>this.removeOnDestroy(e)}runInContext(e){ga(this);let t=Un(this),n=wi(void 0);try{return e()}finally{Un(t),wi(n)}}get(e,t=Ei,n){if(ga(this),Object.hasOwn(e,li))return e[li](this);let r=Ai(n),i=Un(this),a=wi(void 0);try{if(!(r&4)){let t=this.records.get(e);if(t===void 0){let n=ba(e)&&Zr(e);t=n&&this.injectableDefInScope(n)?_a(fa(e),oa):null,this.records.set(e,t)}if(t!=null)return this.hydrate(e,t,r)}let n=r&2?la():this.parent;return t=r&8&&t===Ei?null:t,n.get(e,t)}catch(e){let t=xi(e);throw t===-200||t===-201?new P(t,null):e}finally{wi(a),Un(i)}}resolveInjectorInitializers(){let e=N(null),t=Un(this),n=wi(void 0);try{let e=this.get(Gi,Wi,{self:!0});for(let t of e)t()}finally{Un(t),wi(n),N(e)}}toString(){return`R3Injector[...]`}processProvider(e){e=Jr(e);let t=ia(e)?e:Jr(e&&e.provide),n=ma(e);if(!ia(e)&&e.multi===!0){let n=this.records.get(t);n||(n=_a(void 0,oa,!0),n.factory=()=>Mi(n.multi),this.records.set(t,n)),t=e,n.multi.push(e)}this.records.set(t,n)}hydrate(e,t,n){let r=N(null);try{if(t.value===sa)throw vi(``);return t.value===oa&&(t.value=sa,t.value=t.factory(void 0,n)),typeof t.value==`object`&&t.value&&ya(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}finally{N(r)}}injectableDefInScope(e){if(!e.providedIn)return!1;let t=Jr(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 fa(e){let t=Zr(e),n=t===null?Pi(e):t.factory;if(n!==null)return n;if(e instanceof I)throw new P(-204,!1);if(e instanceof Function)return pa(e);throw new P(-204,!1)}function pa(e){if(e.length>0)throw new P(-204,!1);let t=$r(e);return t===null?()=>new e:()=>t.factory(e)}function ma(e){return ta(e)?_a(void 0,e.useValue):_a(ha(e),oa)}function ha(e,t,n){let r;if(ia(e)){let t=Jr(e);return Pi(t)||fa(t)}if(ta(e))r=()=>Jr(e.useValue);else if(ra(e))r=()=>e.useFactory(...Mi(e.deps||[]));else if(na(e))r=(t,n)=>L(Jr(e.useExisting),n!==void 0&&n&8?8:void 0);else{let t=Jr(e&&(e.useClass||e.provide));if(va(e))r=()=>new t(...Mi(e.deps));else return Pi(t)||fa(t)}return r}function ga(e){if(e.destroyed)throw new P(-205,!1)}function _a(e,t,n=!1){return{factory:e,value:t,multi:n?[]:void 0}}function va(e){return!!e.deps}function ya(e){return typeof e==`object`&&!!e&&typeof e.ngOnDestroy==`function`}function ba(e){return typeof e==`function`||typeof e==`object`&&e.ngMetadataName===`InjectionToken`}function xa(e,t){for(let n of e)Array.isArray(n)?xa(n,t):n&&ri(n)?xa(n.ɵproviders,t):t(n)}function Sa(e,t){let n;e instanceof da?(ga(e),n=e):n=new Oi(e);let r=Un(n),i=wi(void 0);try{return t()}finally{Un(r),wi(i)}}function Ca(){return Ci()!==void 0||Hn()!=null}var wa=1;function Ta(e){return Array.isArray(e)&&typeof e[wa]==`object`}function Ea(e){return Array.isArray(e)&&e[wa]===!0}function Da(e){return!!(e.flags&4)}function Oa(e){return e.componentOffset>-1}function ka(e){return(e.flags&1)==1}function Aa(e){return!!e.template}function ja(e){return!!(e[2]&512)}function Ma(e){return(e[2]&256)==256}var Na=`math`;function Pa(e){for(;Array.isArray(e);)e=e[0];return e}function Fa(e,t){return Pa(t[e])}function Ia(e,t){return Pa(t[e.index])}function La(e,t){return e.data[t]}function Ra(e,t){return e[t]}function za(e,t,n,r){n>=e.data.length&&(e.data[n]=null,e.blueprint[n]=null),t[n]=r}function Ba(e,t){let n=t[e];return Ta(n)?n:n[0]}function Va(e){return(e[2]&128)==128}function Ha(e,t){return t==null?null:e[t]}function Ua(e){e[17]=0}function Wa(e){e[2]&1024||(e[2]|=1024,Va(e)&&Ja(e))}function Ga(e,t){for(;e>0;)t=t[14],e--;return t}function Ka(e){return!!(e[2]&9216||e[24]?.dirty)}function qa(e){e[10].changeDetectionScheduler?.notify(8),e[2]&64&&(e[2]|=1024),Ka(e)&&Ja(e)}function Ja(e){e[10].changeDetectionScheduler?.notify(0);let t=Za(e);for(;t!==null&&!(t[2]&8192||(t[2]|=8192,!Va(t)));)t=Za(t)}function Ya(e,t){if(Ma(e))throw new P(911,!1);e[21]===null&&(e[21]=[]),e[21].push(t)}function Xa(e,t){if(e[21]===null)return;let n=e[21].indexOf(t);n!==-1&&e[21].splice(n,1)}function Za(e){let t=e[3];return Ea(t)?t[3]:t}function Qa(e){return e[7]??=[]}function $a(e){return e.cleanup??=[]}var z={lFrame:Fo(null),bindingsEnabled:!0,skipHydrationRootTNode:null},eo=!1;function to(){return z.lFrame.elementDepthCount}function no(){z.lFrame.elementDepthCount++}function ro(){z.lFrame.elementDepthCount--}function io(){return z.bindingsEnabled}function ao(){return z.skipHydrationRootTNode!==null}function oo(e){return z.skipHydrationRootTNode===e}function so(){z.skipHydrationRootTNode=null}function B(){return z.lFrame.lView}function co(){return z.lFrame.tView}function lo(e){return z.lFrame.contextLView=e,e[8]}function uo(e){return z.lFrame.contextLView=null,e}function fo(){let e=po();for(;e!==null&&e.type===64;)e=e.parent;return e}function po(){return z.lFrame.currentTNode}function mo(){let e=z.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}function ho(e,t){let n=z.lFrame;n.currentTNode=e,n.isParent=t}function go(){return z.lFrame.isParent}function _o(){z.lFrame.isParent=!1}function vo(){return eo}function yo(e){let t=eo;return eo=e,t}function bo(){let e=z.lFrame,t=e.bindingRootIndex;return t===-1&&(t=e.bindingRootIndex=e.tView.bindingStartIndex),t}function xo(){return z.lFrame.bindingIndex}function So(e){return z.lFrame.bindingIndex=e}function Co(){return z.lFrame.bindingIndex++}function wo(e){let t=z.lFrame,n=t.bindingIndex;return t.bindingIndex+=e,n}function To(){return z.lFrame.inI18n}function Eo(e,t){let n=z.lFrame;n.bindingIndex=n.bindingRootIndex=e,Oo(t)}function Do(){return z.lFrame.currentDirectiveIndex}function Oo(e){z.lFrame.currentDirectiveIndex=e}function ko(e){let t=z.lFrame.currentDirectiveIndex;return t===-1?null:e[t]}function Ao(e){z.lFrame.currentQueryIndex=e}function jo(e){let t=e[1];return t.type===2?t.declTNode:t.type===1?e[5]:null}function Mo(e,t,n){if(n&4){let r=t,i=e;for(;r=r.parent,r===null&&!(n&1)&&(r=jo(i),!(r===null||(i=i[14],r.type&10))););if(r===null)return!1;t=r,e=i}let r=z.lFrame=Po();return r.currentTNode=t,r.lView=e,!0}function No(e){let t=Po(),n=e[1];z.lFrame=t,t.currentTNode=n.firstChild,t.lView=e,t.tView=n,t.contextLView=e,t.bindingIndex=n.bindingStartIndex,t.inI18n=!1}function Po(){let e=z.lFrame,t=e===null?null:e.child;return t===null?Fo(e):t}function Fo(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 Io(){let e=z.lFrame;return z.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}var Lo=Io;function Ro(){let e=Io();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 zo(e){return(z.lFrame.contextLView=Ga(e,z.lFrame.contextLView))[8]}function Bo(){return z.lFrame.selectedIndex}function Vo(e){z.lFrame.selectedIndex=e}function Ho(){let e=z.lFrame;return La(e.tView,e.selectedIndex)}function Uo(){z.lFrame.currentNamespace=`svg`}function Wo(){Go()}function Go(){z.lFrame.currentNamespace=null}function Ko(){return z.lFrame.currentNamespace}var qo=!0;function Jo(){return qo}function Yo(e){qo=e}function Xo(e,t=null,n=null,r){let i=Zo(e,t,n,r);return i.resolveInjectorInitializers(),i}function Zo(e,t=null,n=null,r,i=new Set){return new da([n||Wi,Yi(e)],t||la(),null,i)}var Qo=class e{static THROW_IF_NOT_FOUND=Ei;static NULL=new Ji;static create(e,t){if(Array.isArray(e))return Xo({name:``},t,e,``);{let t=e.name??``;return Xo({name:t},e.parent,e.providers,t)}}static ɵprov=Xr({token:e,providedIn:`any`,factory:()=>L(Ki)});static __NG_ELEMENT_ID__=-1},$o=new I(``),es=class{static __NG_ELEMENT_ID__=ns;static __NG_ENV_ID__=e=>e},ts=class extends es{_lView;constructor(e){super(),this._lView=e}get destroyed(){return Ma(this._lView)}onDestroy(e){let t=this._lView;return Ya(t,e),()=>Xa(t,e)}};function ns(){return new ts(B())}var rs=new I(``),is=(()=>{class e{taskId=0;pendingTasks=new Set;destroyed=!1;pendingTask=new zr(!1);debugTaskTracker=R(rs,{optional:!0});get hasPendingTasks(){return!this.destroyed&&this.pendingTask.value}get hasPendingTasksObservable(){return this.destroyed?new Or(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=Xr({token:e,providedIn:`root`,factory:()=>new e})}return e})(),as=class extends Lr{__isAsync;destroyRef=void 0;pendingTasks=void 0;constructor(e=!1){super(),this.__isAsync=e,Ca()&&(this.destroyRef=R(es,{optional:!0})??void 0,this.pendingTasks=R(is,{optional:!0})??void 0)}emit(e){let t=N(null);try{super.next(e)}finally{N(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 tr&&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 os(...e){}function ss(e){let t,n;function r(){e=os;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 cs(e){return queueMicrotask(()=>e()),()=>{e=os}}var ls=`isAngularZone`,us=`isAngularZone_ID`,ds=0,fs=class e{hasPendingMacrotasks=!1;hasPendingMicrotasks=!1;isStable=!0;onUnstable=new as(!1);onMicrotaskEmpty=new as(!1);onStable=new as(!1);onError=new as(!1);constructor(e){let{enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:n=!1,shouldCoalesceRunChangeDetection:r=!1,scheduleInRootZone:i=!1}=e;if(typeof Zone>`u`)throw new P(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,gs(a)}static isInAngularZone(){return typeof Zone<`u`&&Zone.current.get(ls)===!0}static assertInAngularZone(){if(!e.isInAngularZone())throw new P(909,!1)}static assertNotInAngularZone(){if(e.isInAngularZone())throw new P(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,ps,os,os);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)}},ps={};function ms(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 hs(e){if(e.isCheckStableRunning||e.callbackScheduled)return;e.callbackScheduled=!0;function t(){ss(()=>{e.callbackScheduled=!1,_s(e),e.isCheckStableRunning=!0,ms(e),e.isCheckStableRunning=!1})}e.scheduleInRootZone?Zone.root.run(()=>{t()}):e._outer.run(()=>{t()}),_s(e)}function gs(e){let t=()=>{hs(e)},n=ds++;e._inner=e._inner.fork({name:`angular`,properties:{[ls]:!0,[us]:n,[us+n]:!0},onInvokeTask:(n,r,i,a,o,s)=>{if(xs(s))return n.invokeTask(i,a,o,s);try{return vs(e),n.invokeTask(i,a,o,s)}finally{(e.shouldCoalesceEventChangeDetection&&a.type===`eventTask`||e.shouldCoalesceRunChangeDetection)&&t(),ys(e)}},onInvoke:(n,r,i,a,o,s,c)=>{try{return vs(e),n.invoke(i,a,o,s,c)}finally{e.shouldCoalesceRunChangeDetection&&!e.callbackScheduled&&!Ss(s)&&t(),ys(e)}},onHasTask:(t,n,r,i)=>{t.hasTask(r,i),n===r&&(i.change==`microTask`?(e._hasPendingMicrotasks=i.microTask,_s(e),ms(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 _s(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&e.callbackScheduled===!0)}function vs(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function ys(e){e._nesting--,ms(e)}var bs=class{hasPendingMicrotasks=!1;hasPendingMacrotasks=!1;isStable=!0;onUnstable=new as;onMicrotaskEmpty=new as;onStable=new as;onError=new as;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 xs(e){return Cs(e,`__ignore_ng_zone__`)}function Ss(e){return Cs(e,`__scheduler_tick__`)}function Cs(e,t){return!Array.isArray(e)||e.length!==1?!1:e[0]?.data?.[t]===!0}var ws=class{_console=console;handleError(e){this._console.error(`ERROR`,e)}},Ts=new I(``,{factory:()=>{let e=R(fs),t=R(ua),n;return r=>{e.runOutsideAngular(()=>{t.destroyed&&!n?setTimeout(()=>{throw r}):(n??=t.get(ws),n.handleError(r))})}}}),Es={provide:Gi,useValue:()=>{R(ws,{optional:!0})},multi:!0};function V(e,t){let[n,r,i]=Nn(e,t?.equal),a=n;return a[tn],a.set=r,a.update=i,a.asReadonly=Ds.bind(a),a}function Ds(){let e=this[tn];if(e.readonlyFn===void 0){let t=()=>this();t[tn]=e,e.readonlyFn=t}return e.readonlyFn}var Os=new I(``,{factory:()=>ks}),ks=`ng`,As=new I(``),js=new I(``,{providedIn:`platform`,factory:()=>`unknown`}),Ms=new I(``,{factory:()=>R($o).body?.querySelector(`[ngCspNonce]`)?.getAttribute(`ngCspNonce`)||null}),Ns=(()=>{class e{view;node;constructor(e,t){this.view=e,this.node=t}static __NG_ELEMENT_ID__=Ps}return e})();function Ps(){return new Ns(B(),fo())}var Fs=class{},Is=new I(``,{factory:()=>!0}),Ls=new I(``),Rs=(()=>{class e{static ɵprov=Xr({token:e,providedIn:`root`,factory:()=>new zs})}return e})(),zs=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}},Bs=class{[tn];constructor(e){this[tn]=e}destroy(){this[tn].destroy()}};function Vs(e,t){let n=t?.injector??R(Qo),r=t?.manualCleanup===!0?null:n.get(es),i,a=n.get(Ns,null,{optional:!0}),o=n.get(Fs);return a===null?i=Ks(e,n.get(Rs),o):(i=Gs(a.view,o,e),r instanceof ts&&r._lView===a.view&&(r=null)),i.injector=n,r!==null&&(i.onDestroyFns=[r.onDestroy(()=>i.destroy())]),new Bs(i)}var Hs={...zn,cleanupFns:void 0,zone:null,onDestroyFns:null,run(){let e=yo(!1);try{Bn(this)}finally{yo(e)}},cleanup(){if(!this.cleanupFns?.length)return;let e=N(null);try{for(;this.cleanupFns.length;)this.cleanupFns.pop()()}finally{this.cleanupFns=[],N(e)}}},Us={...Hs,consumerMarkedDirty(){this.scheduler.schedule(this),this.notifier.notify(12)},destroy(){if(_n(this),this.onDestroyFns!==null)for(let e of this.onDestroyFns)e();this.cleanup(),this.scheduler.remove(this)}},Ws={...Hs,consumerMarkedDirty(){this.view[2]|=8192,Ja(this.view),this.notifier.notify(13)},destroy(){if(_n(this),this.onDestroyFns!==null)for(let e of this.onDestroyFns)e();this.cleanup(),this.view[23]?.delete(this)}};function Gs(e,t,n){let r=Object.create(Ws);return r.view=e,r.zone=typeof Zone<`u`?Zone.current:null,r.notifier=t,r.fn=qs(r,n),e[23]??=new Set,e[23].add(r),r.consumerMarkedDirty(r),r}function Ks(e,t,n){let r=Object.create(Us);return r.fn=qs(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 qs(e,t){return()=>{t(t=>(e.cleanupFns??=[]).push(t))}}var Js=(()=>{class e{internalPendingTasks=R(is);scheduler=R(Fs);errorHandler=R(Ts);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=Xr({token:e,providedIn:`root`,factory:()=>new e})}return e})(),Ys=Symbol(`InputSignalNode#UNSET`),Xs={...Ln,transformFn:void 0,applyValueToInputSignal(e,t){Fn(e,t)}};function Zs(e){return{toString:e}.toString()}var H=(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})(H||{});function Qs(e,t,n,r){t===null?e[n]=r:t.applyValueToInputSignal(t,r)}var $s=null;function ec(){return $s}var tc=[],U=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,cc(o,a)):cc(o,a)}var uc=-1,dc=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 fc(e){return!!(e.flags&8)}function pc(e){return!!(e.flags&16)}function mc(e,t,n){let r=0;for(;rt){o=a-1;break}}}for(;a>16}function Sc(e,t){let n=xc(e),r=t;for(;n>0;)r=r[14],n--;return r}var Cc=!0;function wc(e){let t=Cc;return Cc=e,t}var Tc=255,Ec=5,Dc=0,Oc={};function kc(e,t,n){let r;typeof n==`string`?r=n.charCodeAt(0)||0:Object.hasOwn(n,ci)&&(r=n[ci]),r??=n[ci]=Dc++;let i=r&Tc,a=1<>Ec)]|=a}function Ac(e,t){let n=Mc(e,t);if(n!==-1)return n;let r=t[1];r.firstCreatePass&&(e.injectorIndex=t.length,jc(r.data,e),jc(t,null),jc(r.blueprint,null));let i=Nc(e,t),a=e.injectorIndex;if(yc(i)){let e=bc(i),n=Sc(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 jc(e,t){e.push(0,0,0,0,0,0,0,0,t)}function Mc(e,t){return e.injectorIndex===-1||e.parent&&e.parent.injectorIndex===e.injectorIndex||t[e.injectorIndex+8]===null?-1:e.injectorIndex}function Nc(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=Jc(i),r===null)return uc;if(n++,i=i[14],r.injectorIndex!==-1)return r.injectorIndex|n<<16}return uc}function Pc(e,t,n){kc(e,t,n)}function Fc(e,t,n){if(n&8||e!==void 0)return e;yi(t,`NodeInjector`)}function Ic(e,t,n,r){if(n&8&&r===void 0&&(r=null),!(n&3)){let i=e[9],a=wi(void 0);try{return i?i.get(t,r,n&8):Ti(t,r,n&8)}finally{wi(a)}}return Fc(r,t,n)}function Lc(e,t,n,r=0,i){if(e!==null){if(t[2]&2048&&!(r&2)){let i=qc(e,t,n,r,Oc);if(i!==Oc)return i}let i=Rc(e,t,n,r,Oc);if(i!==Oc)return i}return Ic(t,n,r,i)}function Rc(e,t,n,r,i){let a=Hc(n);if(typeof a==`function`){if(!Mo(t,e,r))return r&1?Fc(i,n,r):Ic(t,n,r,i);try{let e;if(e=a(r),e==null&&!(r&8))yi(n);else return e}finally{Lo()}}else if(typeof a==`number`){let i=null,o=Mc(e,t),s=uc,c=r&1?t[15][5]:null;for((o===-1||r&4)&&(s=o===-1?Nc(e,t):t[o+8],s===uc||!Wc(r,!1)?o=-1:(i=t[1],o=bc(s),t=Sc(s,t)));o!==-1;){let e=t[1];if(Uc(a,o,e.data)){let e=zc(o,t,n,i,r,c);if(e!==Oc)return e}s=t[o+8],s!==uc&&Wc(r,t[1].data[o+8]===c)&&Uc(a,o,t)?(i=e,o=bc(s),t=Sc(s,t)):o=-1}}return i}function zc(e,t,n,r,i,a){let o=t[1],s=o.data[e+8],c=Bc(s,o,n,r==null?Oa(s)&&Cc:r!=o&&!!(s.type&3),i&1&&a===s);return c===null?Oc:Vc(t,o,c,s,i)}function Bc(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&&Aa(e)&&e.type===n)return c}return null}function Vc(e,t,n,r,i){let a=e[n],o=t.data;if(a instanceof dc){let s=a;if(s.resolving)throw vi(``);let c=wc(s.canSeeViewProviders);s.resolving=!0,o[n].type||o[n];let l=s.injectImpl?wi(s.injectImpl):null;Mo(e,r,0);try{a=e[n]=s.factory(void 0,i,o,e,r),t.firstCreatePass&&n>=r.directiveStart&&nc(n,o[n],t)}finally{l!==null&&wi(l),wc(c),s.resolving=!1,Lo()}}return a}function Hc(e){if(typeof e==`string`)return e.charCodeAt(0)||0;let t=Object.hasOwn(e,ci)?e[ci]:void 0;return typeof t==`number`?t>=0?t&Tc:Kc:t}function Uc(e,t,n){let r=1<>Ec)]&r)}function Wc(e,t){return!(e&2)&&!(e&1&&t)}var Gc=class{_tNode;_lView;constructor(e,t){this._tNode=e,this._lView=t}get(e,t,n){return Lc(this._tNode,this._lView,e,Ai(n),t)}};function Kc(){return new Gc(fo(),B())}function qc(e,t,n,r,i){let a=e,o=t;for(;a!==null&&o!==null&&o[2]&2048&&!ja(o);){let e=Rc(a,o,n,r|2,Oc);if(e!==Oc)return e;r&=-5;let t=a.parent;if(!t){let e=o[20];if(e){let t=e.get(n,Oc,r);if(t!==Oc)return t}t=Jc(o),o=o[14]}a=t}return i}function Jc(e){let t=e[1],n=t.type;return n===2?t.declTNode:n===1?e[5]:null}var Yc=()=>(typeof requestIdleCallback<`u`?requestIdleCallback:e=>setTimeout(e)).bind(globalThis),Xc=()=>(typeof requestIdleCallback<`u`?cancelIdleCallback:clearTimeout).bind(globalThis),Zc=new I(``,{factory:()=>new Qc}),Qc=class{requestIdleCallback=Yc();cancelIdleCallback=Xc();requestOnIdle(e,t){return this.requestIdleCallback(e,t)}cancelOnIdle(e){return this.cancelIdleCallback(e)}};function $c(e){return{token:e.token,providedIn:e.autoProvided===!1?null:`root`,factory:e.factory,value:void 0}}function el(){return tl(fo(),B())}function tl(e,t){return new nl(Ia(e,t))}var nl=(()=>{class e{nativeElement;constructor(e){this.nativeElement=e}static __NG_ELEMENT_ID__=el}return e})();function rl(e){return(e.flags&128)==128}var il=(function(e){return e[e.OnPush=0]=`OnPush`,e[e.Eager=1]=`Eager`,e[e.Default=1]=`Default`,e})(il||{}),al=new Map,ol=0;function sl(){return ol++}function cl(e){al.set(e[19],e)}function ll(e){al.delete(e[19])}var ul=`__ngContext__`;function dl(e,t){Ta(t)?(e[ul]=t[19],cl(t)):e[ul]=t}function fl(e){return ml(e[12])}function pl(e){return ml(e[4])}function ml(e){for(;e!==null&&!Ea(e);)e=e[4];return e}var hl=void 0;function gl(e){hl=e}function _l(){if(hl!==void 0)return hl;if(typeof document<`u`)return document;throw new P(210,!1)}var vl=!1,yl=new I(``,{factory:()=>vl}),bl=new I(``),xl=new WeakMap;function Sl(e,t){if(typeof e!=`object`||!e)return;let n=xl.get(e);n||(n=new WeakSet,xl.set(e,n)),n.add(t)}var Cl=new I(``);function wl(e){return(e.flags&32)==32}var Tl=()=>null;function El(e,t,n=!1){return Tl(e,t,n)}function Dl(e){return e.get(bl,!1,{optional:!0})}function Ol(e,t){let n=e.contentQueries;if(n!==null){let r=N(null);try{for(let r=0;r|^->||--!>|)/g,Il=`​$1​`;function Ll(e){return e.replace(Pl,e=>e.replace(Fl,Il))}function Rl(e,t){return e.createText(t)}function zl(e,t,n){e.setValue(t,n)}function Bl(e,t){return e.createComment(Ll(t))}function Vl(e,t,n){return e.createElement(t,n)}function Hl(e,t,n,r,i){e.insertBefore(t,n,r,i)}function Ul(e,t,n){e.appendChild(t,n)}function Wl(e,t,n,r,i){r===null?Ul(e,t,n):Hl(e,t,n,r,i)}function Gl(e,t,n,r){e.removeChild(null,t,n,r)}function Kl(e,t,n){e.setAttribute(t,`style`,n)}function ql(e,t,n){n===``?e.removeAttribute(t,`class`):e.setAttribute(t,`class`,n)}function Jl(e,t,n){let{mergedAttrs:r,classes:i,styles:a}=n;r!==null&&mc(e,t,r),i!==null&&ql(e,t,i),a!==null&&Kl(e,t,a)}function Yl(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 Xl=`ng-template`;function Zl(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 nu(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+=ou(a,i),i=``),r=o,a||=!tu(r);n++}return i!==``&&(t+=ou(a,i)),t}function cu(e){return e.map(su).join(`,`)}function lu(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),_u.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 yu(e,t,n){let r=gu(n),i=hu.get(e);i?i.some(e=>e.el===t)||i.push({el:t,declarationView:r}):hu.set(e,[{el:t,declarationView:r}])}var bu=(function(e){return e[e.CHANGE_DETECTION=0]=`CHANGE_DETECTION`,e[e.AFTER_NEXT_RENDER=1]=`AFTER_NEXT_RENDER`,e})(bu||{}),xu=new I(``),Su=new Set;function Cu(e){Su.has(e)||(Su.add(e),performance?.mark?.(`mark_feature_usage`,{detail:{feature:e}}))}var wu=(()=>{class e{impl=null;execute(){this.impl?.execute()}static ɵprov=Xr({token:e,providedIn:`root`,factory:()=>new e})}return e})(),Tu=new I(``,{factory:()=>{let e=R(ua),t=new Set;return e.onDestroy(()=>t.clear()),{queue:t,isScheduled:!1,scheduler:null,injector:e}}});function Eu(e,t,n){let r=e.get(Tu);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 Du(e,t){let n=e.get(Tu);if(Array.isArray(t))for(let e of t)n.queue.delete(e);else n.queue.delete(t)}function Ou(e,t){let n=e.get(Tu);if(t.detachedLeaveAnimationFns){for(let e of t.detachedLeaveAnimationFns)n.queue.delete(e);t.detachedLeaveAnimationFns=void 0}}function ku(e,t){for(let[n,r]of t)Eu(e,r.animateFns)}function Au(e,t,n,r){let i=e?.[26]?.enter;t!==null&&i&&i.has(n.index)&&ku(r,i)}function ju(e,t,n,r){try{n.get(Ki)}catch{return r(!1)}let i=e?.[26];i?.enter?.has(t.index)&&Du(n,i.enter.get(t.index).animateFns);let a=Mu(e,t,i);if(a.size===0){let n=!1;if(e){let r=[];Pu(e,t,r),n=r.length>0}if(!n)return r(!1)}e&&mu.add(e[19]),Eu(n,()=>Nu(e,t,i||void 0,a,r),i||void 0)}function Mu(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 Nu(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&&Pu(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),Iu(e,t.running,i)}else Promise.allSettled(a).then(()=>{e&&mu.delete(e[19]),i(!0)})}else e&&mu.delete(e[19]),i(!1)}function Pu(e,t,n){if(t.type&12){let r=e[t.index];if(Ea(r))for(let e=10;e{e[26]?.running===t&&(e[26].running=void 0,mu.delete(e[19])),n(!0)})}function Lu(e,t,n,r,i,a,o,s){if(i!=null){let c,l=!1;Ea(i)?c=i:Ta(i)&&(l=!0,i=i[0]);let u=Pa(i);e===0&&r!==null?(Au(s,r,a,n),o==null?Ul(t,r,u):Hl(t,r,u,o||null,!0)):e===1&&r!==null?(Au(s,r,a,n),Hl(t,r,u,o||null,!0),vu(a,u,s)):e===2?(s?.[26]?.leave?.has(a.index)&&yu(a,u,s),_u.delete(u),ju(s,a,n,e=>{if(_u.has(u)){_u.delete(u);return}Gl(t,u,l,e)})):e===3&&(_u.delete(u),ju(s,a,n,()=>{t.destroyNode(u)})),c!=null&&od(t,e,n,c,a,r,o)}}function Ru(e,t){Bu(e,t),t[0]=null,t[5]=null}function zu(e,t,n,r,i,a){r[0]=i,r[5]=t,rd(e,r,n,1,i,a)}function Bu(e,t){t[10].changeDetectionScheduler?.notify(9),rd(e,t,t[11],2,null,null)}function Vu(e){let t=e[12];if(!t)return Wu(e[1],e);for(;t;){let n=null;if(Ta(t))n=t[12];else{let e=t[10];e&&(n=e)}if(!n){for(;t&&!t[4]&&t!==e;)Ta(t)&&Wu(t[1],t),t=t[3];t===null&&(t=e),Ta(t)&&Wu(t[1],t),n=t&&t[4]}t=n}}function Hu(e,t){let n=e[9],r=n.indexOf(t);n.splice(r,1)}function Uu(e,t){if(Ma(t))return;let n=t[11];n.destroyNode&&rd(e,t,n,3,null,null),Vu(t)}function Wu(e,t){if(Ma(t))return;let n=N(null);try{t[2]&=-129,t[2]|=256,t[24]&&_n(t[24]),Ku(e,t),Gu(e,t),t[1].type===1&&t[11].destroy();let n=t[16];if(n!==null&&Ea(t[3])){n!==t[3]&&Hu(n,t);let r=t[18];r!==null&&r.detachView(e)}ll(t)}finally{N(n)}}function Gu(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&&gd(e,t,27,!1),U(o?H.TemplateUpdateStart:H.TemplateCreateStart,i,n),n(r,i)}finally{Vo(a),U(o?H.TemplateUpdateEnd:H.TemplateCreateEnd,i,n)}}function bd(e,t,n){Dd(e,t,n),(n.flags&64)==64&&Od(e,t,n)}function xd(e,t,n=Ia){let r=t.localNames;if(r!==null){let i=t.index+1;for(let a=0;a{Ja(e.lView)},consumerOnSignalRead(){this.lView[24]=this}};function Qd(e){let t=e[24]??Object.create($d);return t.lView=e,t}var $d={...rn,consumerIsAlwaysLive:!0,kind:`template`,consumerMarkedDirty:e=>{let t=Za(e.lView);for(;t&&!ef(t[1]);)t=Za(t);t&&Wa(t)},consumerOnSignalRead(){this.lView[24]=this}};function ef(e){return e.type!==2}function tf(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 nf=100;function rf(e,t=0){let n=e[10].rendererFactory;n.begin?.();try{af(e,t)}finally{n.end?.()}}function af(e,t){let n=vo();try{yo(!0),df(e,t);let n=0;for(;Ka(e);){if(n===nf)throw new P(103,!1);n++,df(e,1)}}finally{yo(n)}}function of(e,t,n,r){if(Ma(t))return;let i=t[2];No(t);let a=!0,o=null,s=null;ef(e)?(s=Jd(t),o=fn(s)):nn()===null?(a=!1,s=Qd(t),o=fn(s)):t[24]&&=(_n(t[24]),null);try{Ua(t),So(e.bindingStartIndex),n!==null&&yd(e,t,n,2,r);let a=(i&3)==3;if(a){let n=e.preOrderCheckHooks;n!==null&&ic(t,n,null)}else{let n=e.preOrderHooks;n!==null&&ac(t,n,0,null),oc(t,0)}if(cf(t),tf(t),sf(t,0),e.contentQueries!==null&&Ol(e,t),a){let n=e.contentCheckHooks;n!==null&&ic(t,n)}else{let n=e.contentHooks;n!==null&&ac(t,n,1),oc(t,1)}pf(e,t);let o=e.components;o!==null&&ff(t,o,0);let s=e.viewQuery;if(s!==null&&kl(2,s,r),a){let n=e.viewCheckHooks;n!==null&&ic(t,n)}else{let n=e.viewHooks;n!==null&&ac(t,n,2),oc(t,2)}if(e.firstUpdatePass===!0&&(e.firstUpdatePass=!1),t[22]){for(let e of t[22])e();t[22]=null}Kd(t),t[2]&=-73}catch(e){throw Ja(t),e}finally{s!==null&&(mn(s,o),a&&Xd(s)),Ro()}}function sf(e,t){for(let n=fl(e);n!==null;n=pl(n))for(let e=10;e0&&(e[n-1][4]=r[4]);let a=Li(e,10+t);Ru(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 bf(e,t,n,r){let i=10+r,a=n.length;r>0&&(n[i-1][4]=t),r-1&&(yf(e,n),Li(t,n))}this._attachedToViewContainer=!1}Uu(this._lView[1],this._lView)}onDestroy(e){Ya(this._lView,e)}markForCheck(){mf(this._cdRefInjectingView||this._lView,4)}detach(){this._lView[2]&=-129}reattach(){qa(this._lView),this._lView[2]|=128}detectChanges(){this._lView[2]|=1024,rf(this._lView)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new P(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null;let e=ja(this._lView),t=this._lView[16];t!==null&&!e&&Hu(t,this._lView),Bu(this._lView[1],this._lView)}attachToAppRef(e){if(this._attachedToViewContainer)throw new P(902,!1);this._appRef=e;let t=ja(this._lView),n=this._lView[16];n!==null&&!t&&xf(n,this._lView),qa(this._lView)}};function Cf(e,t,n,r,i){let a=e.data[t];if(a===null)a=wf(e,t,n,r,i),To()&&(a.flags|=32);else if(a.type&64){a.type=n,a.value=r,a.attrs=i;let e=mo();a.injectorIndex=e===null?-1:e.injectorIndex}return ho(a,!0),a}function wf(e,t,n,r,i){let a=po(),o=go(),s=o?a:a&&a.parent,c=e.data[t]=Ef(e,s,n,t,r,i);return Tf(e,c,a,o),c}function Tf(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 Ef(e,t,n,r,i,a){let o=t?t.injectorIndex:-1,s=0;return ao()&&(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:Ko(),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 Df(e){let t=e[6]??[],n=e[3][11],r=[];for(let e of t)e.data.di===void 0?Of(e,n):r.push(e);e[6]=r}function Of(e,t){let n=0,r=e.firstChild;if(r){let i=e.data.r;for(;nnull,Af=()=>null;function jf(e,t){return kf(e,t)}function Mf(e,t,n){return Af(e,t,n)}var Nf=class{},Pf=class{},Ff=(()=>{class e{static ɵprov=Xr({token:e,providedIn:`root`,factory:()=>null})}return e})();function If(e){return e.debugInfo?.className||e.type.name||null}var Lf={},Rf=class{injector;parentInjector;constructor(e,t){this.injector=e,this.parentInjector=t}get(e,t,n){let r=this.injector.get(e,Lf,n);return r!==Lf||t===Lf?r:this.parentInjector.get(e,t,n)}};function zf(e,t,n){return e[t]=n}function Bf(e,t){return e[t]}function Vf(e,t,n){if(n===uu)return!1;let r=e[t];return!Object.is(r,n)&&(e[t]=n,!0)}function Hf(e,t,n,r){let i=Vf(e,t,n);return Vf(e,t+1,r)||i}function Uf(e,t,n,r,i){let a=Hf(e,t,n,r);return Vf(e,t+2,i)||a}function Wf(e,t,n){return function r(i){let a=r.__ngNativeEl__;a!==void 0&&Sl(i,a),mf(Oa(e)?Ba(e.index,t):t,5);let o=t[8],s=Gf(t,o,n,i),c=r.__ngNextListenerFn__;for(;c;)s=Gf(t,o,c,i)&&s,c=c.__ngNextListenerFn__;return s}}function Gf(e,t,n,r){let i=N(null);try{return U(H.OutputStart,t,n),n(r)!==!1}catch(t){return Id(e,t),!1}finally{U(H.OutputEnd,t,n),N(i)}}function Kf(e,t,n,r,i,a,o,s){let c=ka(e),l=!1,u=null;if(!r&&c&&(u=Jf(t,n,a,e.index)),u!==null){let e=u.__ngLastListenerFn__||u;e.__ngNextListenerFn__=o,u.__ngLastListenerFn__=o,l=!0}else{let o=Ia(e,n),c=r?r(o):o;r||(s.__ngNativeEl__=o);let l=i.listen(c,a,s);qf(a)||Yf(r?t=>r(Pa(t[e.index])):e.index,t,n,a,s,l,!1)}return l}function qf(e){return e.startsWith(`animation`)||e.startsWith(`transition`)}function Jf(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 Yf(e,t,n,r,i,a,o){let s=t.firstCreatePass?$a(t):null,c=Qa(n),l=c.length;c.push(i,a),s&&s.push(r,e,l,(l+1)*(o?-1:1))}function Xf(e,t,n,r,i,a){let o=t[n],s=t[1],c=o[s.data[n].outputs[r]].subscribe(a);Yf(e.index,s,t,i,a,c,!0)}var Zf=Symbol(`BINDING`),Qf=new I(``);function $f(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 pp(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&_d.SignalBased)!==0};return i&&(a.transform=i),a})}function xp(e){return Object.keys(e).map(t=>({propName:e[t],templateName:t}))}function Sp(e,t,n){let r=t instanceof ua?t:t?.injector;return r&&e.getStandaloneInjector!==null&&(r=e.getStandaloneInjector(r)||r),r?new Rf(n,r):n}function Cp(e){let t=e.get(Pf,null);if(t===null)throw new P(407,!1);return{rendererFactory:t,sanitizer:e.get(Ff,null),changeDetectionScheduler:e.get(Fs,null),ngReflect:!1,tracingService:e.get(xu,null,{optional:!0})}}function wp(e,t,n){let r=Ep(e);return Vl(t,r,r===`svg`?`svg`:r===`math`?Na:n)}function Tp(e){if((e&&`localName`in e&&typeof e.localName==`string`?e.localName:e?.tagName)?.toLowerCase()===`script`)throw new P(905,!1)}function Ep(e){return(e.selectors[0][0]||`div`).toLowerCase()}var Dp=class{componentDef;ngModule;selector;componentType;ngContentSelectors;isBoundToModule;cachedInputs=null;cachedOutputs=null;get inputs(){return this.cachedInputs??=bp(this.componentDef.inputs),this.cachedInputs}get outputs(){return this.cachedOutputs??=xp(this.componentDef.outputs),this.cachedOutputs}constructor(e,t){this.componentDef=e,this.ngModule=t,this.componentType=e.type,this.selector=cu(e.selectors),this.ngContentSelectors=e.ngContentSelectors??[],this.isBoundToModule=!!t}create(e,t,n,r,i,a,o){U(H.DynamicComponentStart);let s=N(null);try{let s=this.componentDef,c=Sp(s,r||this.ngModule,e),l=Cp(c),u=l.tracingService;return u&&u.componentCreate?u.componentCreate(If(s),()=>this.createComponentRef(l,c,t,n,i,a,o)):this.createComponentRef(l,c,t,n,i,a,o)}finally{N(s)}}createComponentRef(e,t,n,r,i,a,o){let s=this.componentDef,c=Op(r,s,a,i),l=e.rendererFactory.createRenderer(null,s),u=r?Sd(l,r,s.encapsulation,t):wp(s,l,o??null);Tp(u);let d=t.get(Qf,null),f=kp(u,()=>t.get($o,null)??_l());d&&d.addHost(f);let p=a?.some(jp)||i?.some(e=>typeof e!=`function`&&e.bindings.some(jp)),m=dd(null,c,null,512|pd(s),null,null,e,l,t,null,El(u,t,!0));d&&vp&&f instanceof ShadowRoot&&Ya(m,()=>{d.removeHost(f)}),m[27]=u,No(m);let h=null;try{let e=hp(27,m,2,`#host`,()=>c.directiveRegistry,!0,0);Jl(l,u,e),dl(u,m),bd(c,m,e),Al(c,e,m),gp(c,e),n!==void 0&&Np(e,this.ngContentSelectors,n),h=Ba(e.index,m),m[8]=h[8],Bd(c,m,null)}catch(e){throw h!==null&&ll(h),ll(m),e}finally{U(H.DynamicComponentEnd),Ro()}return new Mp(this.componentType,m,!!p)}};function Op(e,t,n,r){let i=e?[`ng-version`,`22.1.7`]:lu(t.selectors[0]),a=null,o=null,s=0;if(n)for(let e of n)s+=e[Zf].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 jp(e){let t=e[Zf].kind;return t===`input`||t===`twoWay`}var Mp=class extends Nf{_rootLView;_hasInputBindings;instance;hostView;changeDetectorRef;componentType;location;previousInputValues=null;_tNode;constructor(e,t,n){super(),this._rootLView=t,this._hasInputBindings=n,this._tNode=La(t[1],27),this.location=tl(this._tNode,t),this.instance=Ba(this._tNode.index,t)[8],this.hostView=this.changeDetectorRef=new Sf(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;Ld(n,r[1],r,e,t),this.previousInputValues.set(e,t),mf(Ba(n.index,r),1)}get injector(){return new Gc(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(e){this.hostView.onDestroy(e)}};function Np(e,t,n){let r=e.projection=[];for(let e=0;e!1;function Fp(e,t,n){return Pp(e,t,n)}function Ip(e){return!!e&&typeof e.then==`function`}function Lp(e){return!!e&&typeof e.subscribe==`function`}var Rp=class{},zp=class extends Rp{injector;instance=null;constructor(e){super();let t=new da([...e.providers,{provide:Rp,useValue:this}],e.parent||la(),e.debugName,new Set([`environment`]));this.injector=t,e.runEnvironmentInitializers&&t.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(e){this.injector.onDestroy(e)}};function Bp(e,t,n=null){return new zp({providers:e,parent:t,debugName:n,runEnvironmentInitializers:!0}).injector}var Vp=(()=>{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=Xi(!1,e.type),n=t.length>0?Bp([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=Xr({token:e,providedIn:`environment`,factory:()=>new e(L(ua))})}return e})();function Hp(e){return Zs(()=>{let t=qp(e),n={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection!==il.Eager,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:t.standalone?e=>e.get(Vp).getOrCreateStandaloneInjector(n):null,getExternalStyles:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||jl.Emulated,styles:e.styles||Wi,_:null,schemas:e.schemas||null,tView:null,id:``};t.standalone&&Cu(`NgStandalone`),Jp(n);let r=e.dependencies;return n.directiveDefs=Yp(r,Up),n.pipeDefs=Yp(r,fi),n.id=Xp(n),n})}function Up(e){return ui(e)||di(e)}function Wp(e,t){if(e==null)return Ui;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=_d.None,c=null),n[a]=[r,s,c],t[a]=o}return n}function Gp(e){if(e==null)return Ui;let t={};for(let n in e)Object.hasOwn(e,n)&&(t[e[n]]=n);return t}function Kp(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 qp(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||Ui,exportAs:e.exportAs||null,standalone:e.standalone??!0,signals:e.signals===!0,selectors:e.selectors||Wi,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,resolveHostDirectives:null,hostDirectives:null,controlDef:null,signalFormsInputPresence:null,inputs:Wp(e.inputs,t),outputs:Gp(e.outputs),debugInfo:null}}function Jp(e){e.features?.forEach(t=>t(e))}function Yp(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 Xp(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 Zp=new I(``),Qp=(()=>{class e{resolve;reject;initialized=!1;done=!1;donePromise=new Promise((e,t)=>{this.resolve=e,this.reject=t});appInits=R(Zp,{optional:!0})??[];injector=R(Qo);constructor(){}runInitializers(){if(this.initialized)return;let e=[];for(let t of this.appInits){let n=Sa(this.injector,t);if(Ip(n))e.push(n);else if(Lp(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=$c({token:e,factory:e.ɵfac})}return e})();function $p(e,t,n,r,i,a,o,s){if(n.firstCreatePass){e.mergedAttrs=_c(e.mergedAttrs,e.attrs);let t=e.tView=cd(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),ho(e,!1);let c=nm(n,t,e,r);Jo()&&Qu(n,t,c,e),dl(c,t);let l=hf(c,t,c,e);t[r+27]=l,hd(t,l),Fp(l,e,t)}function em(e,t,n,r,i,a,o,s,c,l,u){let d=n+27,f;if(t.firstCreatePass){if(f=Cf(t,d,4,o||null,s||null),l!=null){let e=Ha(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?Bp(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=Xr({token:e,providedIn:`environment`,factory:()=>new e})}return e})(),Mm=new I(``);function Nm(e,t,n){return e.get(jm).getOrCreateInjector(t,e,n,``)}function Pm(e,t,n){if(e instanceof Rf){let r=e.injector,i=e.parentInjector;return new Rf(r,Nm(i,t,n))}let r=e.get(ua);return r===e?Nm(e,t,n):new Rf(e,Nm(r,t,n))}function Fm(e,t,n,r=!1){let i=n[3],a=i[1];if(Ma(i))return;let o=Sm(i,t),s=o[1],c=o[pm];if(!(c!==null&&ee.data.s===t[1])??-1;return{dehydratedView:n>-1?e[6][n]:null,dehydratedViewIx:n}}function Lm(e,t,n,r,i){U(H.DeferBlockStateStart);let a=Em(e,i,r);if(a!==null){t[1]=e;let o=i[1],s=La(o,a+27);vf(n,0);let c;if(e===sm.Complete){let e=wm(o,r),t=e.providers;t&&t.length>0&&(c=Pm(i[9],e,t))}let{dehydratedView:l,dehydratedViewIx:u}=Im(n,t),d=Hd(i,s,null,{injector:c,dehydratedView:l});if(_f(n,d,0,Ud(s,l)),Wa(d),u>-1&&n[6]?.splice(u,1),(e===sm.Complete||e===sm.Error)&&Array.isArray(t[mm])){for(let e of t[mm])e();t[mm]=null}}U(H.DeferBlockStateEnd)}function Rm(e,t){return e{e.loadingState===im.COMPLETE?Fm(sm.Complete,t,n):e.loadingState===im.FAILED&&Fm(sm.Error,t,n)})}var Vm=null;function Hm(e,t){return t[9].get(Mm,null,{optional:!0})?.behavior!==gm.Manual}var Um=new I(``),Wm=new I(``);function Gm(){jn(()=>{throw new P(600,``)})}var Km=10,qm=(()=>{class e{_runningTick=!1;_destroyed=!1;_destroyListeners=[];_views=[];internalErrorHandler=R(Ts);afterRenderManager=R(wu);zonelessEnabled=R(Is);rootEffectScheduler=R(Rs);dirtyFlags=0;tracingSnapshot=null;allTestViews=new Set;autoDetectTestViews=new Set;includeAllTestViews=!1;afterTick=new Lr;get allViews(){return[...(this.includeAllTestViews?this.allTestViews:this.autoDetectTestViews).keys(),...this._views]}get destroyed(){return this._destroyed}componentTypes=[];components=[];internalPendingTask=R(is);get isStable(){return this.internalPendingTask.hasPendingTasksObservable.pipe(Br(e=>!e))}constructor(){R(xu,{optional:!0})}whenStable(){let e;return new Promise(t=>{e=this.isStable.subscribe({next:e=>{e&&t()}})}).finally(()=>{e.unsubscribe()})}_injector=R(ua);_rendererFactory=null;get injector(){return this._injector}bootstrap(e,t){return this.bootstrapImpl(e,t)}bootstrapImpl(e,t,n=Qo.NULL){return this._injector.get(fs).run(()=>{if(U(H.BootstrapComponentStart),!this._injector.get(Qp).done)throw new P(405,``);let r=ui(e),i=this._injector.get(Rp),a=new Dp(r,i);this.componentTypes.push(e);let{hostElement:o,directives:s,bindings:c}=Jm(t),l=o||a.selector,u=a.create(n,[],l,i.injector,s,c),d=u.location.nativeElement,f=u.injector.get(Um,null);return f?.registerApplication(d),u.onDestroy(()=>{this.detachView(u.hostView),Ym(this.components,u),f?.unregisterApplication(d)}),this._loadComponent(u),U(H.BootstrapComponentEnd,u),u})}tick(){this.zonelessEnabled||(this.dirtyFlags|=1),this._tick()}_tick(){U(H.ChangeDetectionStart),this.tracingSnapshot===null?this.tickImpl():this.tracingSnapshot.run(bu.CHANGE_DETECTION,this.tickImpl)}tickImpl=()=>{if(this._runningTick)throw U(H.ChangeDetectionEnd),new P(101,!1);let e=N(null);try{this._runningTick=!0,this.synchronize()}finally{this._runningTick=!1,this.tracingSnapshot?.dispose(),this.tracingSnapshot=null,N(e),this.afterTick.next(),U(H.ChangeDetectionEnd)}};synchronize(){this._rendererFactory===null&&!this._injector.destroyed&&(this._rendererFactory=this._injector.get(Pf,null,{optional:!0}));let e=0;for(;this.dirtyFlags!==0&&e++Ka(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;Ym(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(Wm,[]).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),()=>Ym(this._destroyListeners,e)}destroy(){if(this._destroyed)throw new P(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=$c({token:e,factory:e.ɵfac})}return e})();function Jm(e){return e===void 0||typeof e==`string`||e instanceof Element?{hostElement:e}:e}function Ym(e,t){let n=e.indexOf(t);n>-1&&e.splice(n,1)}function Xm(e,t,n){let r=t.get(Qm);return r.add(e,n),()=>r.remove(e)}function Zm(e){return(t,n)=>Xm(t,n,e)}var Qm=(()=>{class e{buckets=new Map;callbackBucket=new Map;applicationRef=R(qm);ngZone=R(fs);idleService=R(Zc);add(e,t){let n=$m(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=$m(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=Xr({token:e,providedIn:`root`,factory:()=>new e})}return e})();function $m(e){return!e||e.timeout==null?``:`${e.timeout}`}function eh(e){let t=B(),n=fo();if(zm(t,n),!Hm(0,t))return;let r=t[9];_m(0,Sm(t,n),e(()=>nh(0,t,n),r))}function th(e,t,n){let r=t[9],i=t[1];if(e.loadingState!==im.NOT_STARTED)return e.loadingPromise??Promise.resolve();let a=Sm(t,n),o=Am(i,e);e.loadingState=im.IN_PROGRESS,vm(1,a);let s=e.dependencyResolverFn,c=r.get(Js).add();return s?(e.loadingPromise=Promise.allSettled(s()).then(n=>{let r=!1,i=[],a=[];for(let e=0;e0&&(t.directiveRegistry=km(t.directiveRegistry,i),e.providers=Xi(!1,...i.map(e=>e.type))),a.length>0&&(t.pipeRegistry=km(t.pipeRegistry,a))}}),e.loadingPromise.finally(()=>{e.loadingPromise=null,c()})):(e.loadingPromise=Promise.resolve().then(()=>{e.loadingPromise=null,e.loadingState=im.COMPLETE,c()}),e.loadingPromise)}function nh(e,t,n){let r=t[1],i=t[n.index];if(!Hm(e,t))return;let a=Sm(t,n),o=wm(r,n);switch(ym(a),o.loadingState){case im.NOT_STARTED:Fm(sm.Loading,n,i),th(o,t,n),o.loadingState===im.IN_PROGRESS&&Bm(o,n,i);break;case im.IN_PROGRESS:Fm(sm.Loading,n,i),Bm(o,n,i);break;case im.COMPLETE:Fm(sm.Complete,n,i);break;case im.FAILED:Fm(sm.Error,n,i)}}function rh(e,t,n){return e===0?ah(t,n):e!==2||!ah(t,n)}function ih(e){return e!=null&&(e&1)==1}function ah(e,t){let n=e[9],r=wm(e[1],t),i=Dl(n),a=ih(r.flags),o=Sm(e,t)[fm]!==null;return!(a&&o&&i)}function oh(e,t,n,r,i,a,o,s,c,l){let u=B(),d=co(),f=e+27,p=em(u,d,e,null,0,0),m=u[9],h=Dl(m);if(d.firstCreatePass){Cu(`NgDefer`);let e={primaryTmplIndex:t,loadingTmplIndex:r??null,placeholderTmplIndex:i??null,errorTmplIndex:a??null,placeholderBlockConfig:null,loadingBlockConfig:null,dependencyResolverFn:n??null,loadingState:im.NOT_STARTED,loadingPromise:null,providers:null,hydrateTriggers:null,debug:null,flags:l??0};c?.(d,e,s,o),Tm(d,f,e)}let g=u[f];Fp(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,cm.Initial,null,null,null,null,v,_,null,null];Cm(u,f,y);let b=null;v!==null&&h&&(b=m.get(Cl),b.add(v,{lView:u,tNode:p,lContainer:g}));let x=()=>{ym(y),v!==null&&b?.cleanup([v])};_m(0,y,()=>Xa(u,x)),Ya(u,x)}function sh(e){rh(0,B(),fo())&&eh(Zm({timeout:e}))}function ch(e,t,n,r){let i=B();return Vf(i,Co(),t)&&(co(),jd(Ho(),i,e,t,n,r)),ch}var lh=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 uh(e,t,n,r,i){return e===n&&Object.is(t,r)?1:Object.is(i(e,t),i(n,r))?-1:0}function dh(e,t,n,r){let i,a,o=0,s=e.length-1;if(Array.isArray(t)){N(r);let c=t.length-1;for(N(null);o<=s&&o<=c;){let r=e.at(o),l=t[o],u=uh(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=uh(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 hh,a??=mh(e,o,s,n),fh(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;)ph(e,i,n,o,t[o]),o++}else if(t!=null){N(r);let c=t[Symbol.iterator]();N(null);let l=c.next();for(;!l.done&&o<=s;){let t=e.at(o),r=l.value,u=uh(o,t,o,r,n);if(u!==0)u<0&&e.updateValue(o,r),o++,l=c.next();else{i??=new hh,a??=mh(e,o,s,n);let u=n(o,r);if(fh(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;)ph(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 fh(e,t,n,r){return t!==void 0&&t.has(r)?(e.attach(n,t.get(r)),t.delete(r),!0):!1}function ph(e,t,n,r,i){if(fh(e,t,r,n(r,i)))e.updateValue(r,i);else{let t=e.create(r,i);e.attach(r,t)}}function mh(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 hh=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 G(e,t,n,r,i,a,o,s){Cu(`NgControlFlow`);let c=B(),l=co();return em(c,l,e,t,n,r,i,Ha(l.consts,a),256,o,s),gh}function gh(e,t,n,r,i,a,o,s){Cu(`NgControlFlow`);let c=B(),l=co();return em(c,l,e,t,n,r,i,Ha(l.consts,a),512,o,s),gh}function K(e,t){Cu(`NgControlFlow`);let n=B(),r=Co(),i=n[r]===uu?-1:n[r],a=i===-1?void 0:wh(n,27+i);if(Vf(n,r,e)){let r=N(null);try{if(a!==void 0&&vf(a,0),e!==-1){let r=27+e,i=wh(n,r),a=kh(n[1],r),o=Mf(i,a,n);_f(i,Hd(n,a,t,{dehydratedView:o}),0,Ud(a,o))}}finally{N(r)}}else if(a!==void 0){let e=gf(a,0);e!==void 0&&(e[8]=t)}}var _h=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 vh(e){return e}function yh(e,t){return t}var bh=class{hasEmptyBlock;trackByFn;liveCollection;constructor(e,t,n){this.hasEmptyBlock=e,this.trackByFn=t,this.liveCollection=n}};function xh(e,t,n,r,i,a,o,s,c,l,u,d,f){Cu(`NgControlFlow`);let p=B(),m=co(),h=c!==void 0,g=B(),_=new bh(h,s?o.bind(g[15][8]):o);g[27+e]=_,em(p,m,e+1,t,n,r,i,Ha(m.consts,a),256),h&&em(p,m,e+2,c,l,u,d,Ha(m.consts,f),512)}var Sh=class extends lh{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,_f(this.lContainer,t,e,Ud(this.templateTNode,n)),Th(this.lContainer,e)}detach(e){return this.needsIndexUpdate||=e!==this.length-1,Eh(this.lContainer,e),Dh(this.lContainer,e)}create(e,t){let n=jf(this.lContainer,this.templateTNode.tView.ssrId);return Hd(this.hostLView,this.templateTNode,new _h(this.lContainer,t,e),{dehydratedView:n})}destroy(e){Uu(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];Ou(e,r),mu.delete(n[19]),r.detachedLeaveAnimationFns=void 0}}function Eh(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 Dh(e,t){return yf(e,t)}function Oh(e,t){return gf(e,t)}function kh(e,t){return La(e,t)}function Ah(e,t,n){let r=B();return Vf(r,Co(),t)&&(co(),wd(Ho(),r,e,t,r[11],n)),Ah}function jh(e,t,n,r,i){Ld(t,e,n,i?`class`:`style`,r)}function Mh(e,t,n,r){let i=B(),a=i[1],o=e+27,s=a.firstCreatePass?hp(o,i,2,t,Ad,io(),n,r):a.data[o];if(Oa(s)){let n=i[10].tracingService;if(n&&n.componentCreate){let o=a.data[s.directiveStart+s.componentOffset];return n.componentCreate(If(o),()=>(Nh(e,t,i,s,r),Mh))}}return Nh(e,t,i,s,r),Mh}function Nh(e,t,n,r,i){if(Pd(r,n,e,t,Lh),ka(r)){let e=n[1];bd(e,n,r),Al(e,r,n)}i!=null&&xd(n,r)}function Ph(){let e=co(),t=Fd(fo());return e.firstCreatePass&&gp(e,t),oo(t)&&so(),ro(),t.classesWithoutHost!=null&&fc(t)&&jh(e,t,B(),t.classesWithoutHost,!0),t.stylesWithoutHost!=null&&pc(t)&&jh(e,t,B(),t.stylesWithoutHost,!1),Ph}function Fh(e,t,n,r){return Mh(e,t,n,r),Ph(),Fh}function q(e,t,n,r){let i=B(),a=i[1],o=e+27,s=a.firstCreatePass?_p(o,a,2,t,n,r):a.data[o];return Pd(s,i,e,t,Lh),r!=null&&xd(i,s),q}function J(){return oo(Fd(fo()))&&so(),ro(),J}function Ih(e,t,n,r){return q(e,t,n,r),J(),Ih}var Lh=(e,t,n,r,i)=>(Yo(!0),Vl(t[11],r,Ko()));function Rh(){let e=co(),t=Fd(fo());return e.firstCreatePass&&gp(e,t),Rh}function zh(e,t,n){let r=B(),i=r[1],a=e+27,o=i.firstCreatePass?_p(a,i,8,`ng-container`,t,n):i.data[a];return Pd(o,r,e,`ng-container`,Hh),n!=null&&xd(r,o),zh}function Bh(){return Fd(fo()),Rh}function Vh(e,t,n){return zh(e,t,n),Bh(),Vh}var Hh=(e,t,n,r,i)=>(Yo(!0),Bl(t[11],``));function Uh(){return B()}function Wh(e,t,n){let r=B();return Vf(r,Co(),t)&&(co(),Td(Ho(),r,e,t,r[11],n)),Wh}var Gh=`en-US`;function Kh(e){typeof e==`string`&&e.toLowerCase().replace(/_/g,`-`)}function qh(e,t,n){let r=B(),i=co(),a=fo();return Jh(i,r,r[11],a,e,t,n),qh}function Y(e,t,n){let r=B(),i=co(),a=fo();return(a.type&3||n)&&Kf(a,i,r,n,r[11],e,t,Wf(a,r,t)),Y}function Jh(e,t,n,r,i,a,o){let s=!0,c=null;if((r.type&3||o)&&(c??=Wf(r,t,a),Kf(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 Zh(e){return(e&2)==2}function Qh(e,t){return e&131071|t<<17}function $h(e){return e|2}function eg(e){return(e&131068)>>2}function tg(e,t){return e&-131069|t<<2}function ng(e){return(e&1)==1}function rg(e){return e|1}function ig(e,t,n,r,i,a){let o=a?t.classBindings:t.styleBindings,s=Xh(o),c=eg(o);e[r]=n;let l=!1,u;if(Array.isArray(n)){let e=n;u=e[1],(u===null||Vi(e,u)>0)&&(l=!0)}else u=n;if(i){if(c!==0){let t=Xh(e[s+1]);e[r+1]=Yh(t,s),t!==0&&(e[t+1]=tg(e[t+1],r)),e[s+1]=Qh(e[s+1],r)}else e[r+1]=Yh(s,0),s!==0&&(e[s+1]=tg(e[s+1],r)),s=r}else e[r+1]=Yh(c,0),s===0?s=r:e[c+1]=tg(e[c+1],r),c=r;l&&(e[r+1]=$h(e[r+1])),og(e,u,r,!0),og(e,u,r,!1),ag(t,u,e,r,a),o=Yh(s,c),a?t.classBindings=o:t.styleBindings=o}function ag(e,t,n,r,i){let a=i?e.residualClasses:e.residualStyles;a!=null&&typeof t==`string`&&Vi(a,t)>=0&&(n[r+1]=rg(n[r+1]))}function og(e,t,n,r){let i=e[n+1],a=t===null,o=r?Xh(i):eg(i),s=!1;for(;o!==0&&(s===!1||a);){let n=e[o],i=e[o+1];sg(n,t)&&(s=!0,e[o+1]=r?rg(i):$h(i)),o=r?Xh(i):eg(i)}s&&(e[n+1]=r?$h(i):rg(i))}function sg(e,t){return e===null||t==null||(Array.isArray(e)?e[1]:e)===t?!0:Array.isArray(e)&&typeof t==`string`?Vi(e,t)>=0:!1}function cg(e,t,n){return ug(e,t,n,!1),cg}function lg(e,t){return ug(e,t,null,!0),lg}function ug(e,t,n,r){let i=B(),a=co(),o=wo(2);if(a.firstUpdatePass&&fg(a,e,o,r),t!==uu&&Vf(i,o,t)){let s=a.data[Bo()];yg(a,s,i,i[11],e,i[o+1]=Sg(t,n),r,o)}}function dg(e,t){return t>=e.expandoStartIndex}function fg(e,t,n,r){let i=e.data;if(i[n+1]===null){let a=i[Bo()],o=dg(e,n);Cg(a,r)&&t===null&&!o&&(t=!1),t=pg(i,a,t,r),ig(i,a,t,n,o,r)}}function pg(e,t,n,r){let i=ko(e),a=r?t.residualClasses:t.residualStyles;if(i===null)(r?t.classBindings:t.styleBindings)===0&&(n=_g(null,e,t,n,r),n=vg(n,t.attrs,r),a=null);else{let o=t.directiveStylingLast;if(o===-1||e[o]!==i){if(n=_g(i,e,t,n,r),a===null){let n=mg(e,t,r);n!==void 0&&Array.isArray(n)&&(n=_g(null,e,t,n[1],r),n=vg(n,t.attrs,r),hg(e,t,r,n))}else a=gg(e,t,r)}}return a!==void 0&&(r?t.residualClasses=a:t.residualStyles=a),n}function mg(e,t,n){let r=n?t.classBindings:t.styleBindings;if(eg(r)!==0)return e[Xh(r)]}function hg(e,t,n,r){let i=n?t.classBindings:t.styleBindings;e[Xh(i)]=r}function gg(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===uu&&(u=l?Wi:void 0);let d=l?Bi(u,r):c===r?u:void 0;if(a&&!xg(d)&&(d=Bi(t,r)),xg(d)&&(s=d,o))return s;let f=e[i+1];i=o?Xh(f):eg(f)}if(t!==null){let e=a?t.residualClasses:t.residualStyles;e!=null&&(s=Bi(e,r))}return s}function xg(e){return e!==void 0}function Sg(e,t){return e==null||e===``||(typeof t==`string`?e=Nl(e)+t:typeof e==`object`&&(e=Wr(Nl(e)))),e}function Cg(e,t){return!!(e.flags&(t?8:16))}function Z(e,t=``){let n=B(),r=co(),i=e+27,a=r.firstCreatePass?Cf(r,i,1,t,null):r.data[i],o=wg(r,n,a,t);n[i]=o,Jo()&&Qu(r,n,o,a),ho(a,!1)}var wg=(e,t,n,r)=>(Yo(!0),Rl(t[11],r));function Tg(e,t,n,r=``){return Vf(e,Co(),n)?t+mi(n)+r:uu}function Eg(e,t,n,r,i,a=``){let o=Hf(e,xo(),n,i);return wo(2),o?t+mi(n)+r+mi(i)+a:uu}function Dg(e,t,n,r,i,a,o,s=``){let c=Uf(e,xo(),n,i,o);return wo(3),c?t+mi(n)+r+mi(i)+a+mi(o)+s:uu}function Q(e){return $(``,e),Q}function $(e,t,n){let r=B(),i=Tg(r,e,t,n);return i!==uu&&Ag(r,Bo(),i),$}function Og(e,t,n,r,i){let a=B(),o=Eg(a,e,t,n,r,i);return o!==uu&&Ag(a,Bo(),o),Og}function kg(e,t,n,r,i,a,o){let s=B(),c=Dg(s,e,t,n,r,i,a,o);return c!==uu&&Ag(s,Bo(),c),kg}function Ag(e,t,n){let r=Fa(t,e);zl(e[11],r,n)}function jg(e,t){let n=bo()+e,r=B();return r[n]===uu?zf(r,n,t()):Bf(r,n)}function Mg(e,t){let n=e[t];return n===uu?void 0:n}function Ng(e,t,n,r,i,a){let o=t+n;return Vf(e,o,i)?zf(e,o+1,a?r.call(a,i):r(i)):Mg(e,o+1)}function Pg(e,t){let n=co(),r,i=e+27;n.firstCreatePass?(r=Fg(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=Pi(r.type,!0)),o=wi(ep);try{let e=wc(!1),t=a();return wc(e),za(n,B(),i,t),t}finally{wi(o)}}function Fg(e,t){if(t)for(let n=t.length-1;n>=0;n--){let r=t[n];if(e===r.name)return r}}function Ig(e,t,n){let r=e+27,i=B(),a=Ra(i,r);return Lg(i,r)?Ng(i,bo(),t,a.transform,n,a):a.transform(n)}function Lg(e,t){return e[1].data[t].pure}var Rg=(()=>{class e{applicationErrorHandler=R(Ts);appRef=R(qm);taskService=R(is);ngZone=R(fs);zonelessEnabled=R(Is);tracing=R(xu,{optional:!0});zoneIsDefined=typeof Zone<`u`&&!!Zone.root.run;schedulerTickApplyArgs=[{data:{__scheduler_tick__:!0}}];subscriptions=new tr;angularZoneId=this.zoneIsDefined?this.ngZone._inner?.get(us):null;scheduleInRootZone=!this.zonelessEnabled&&this.zoneIsDefined&&(R(Ls,{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?cs:ss;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=$c({token:e,factory:e.ɵfac})}return e})();function zg(){return[{provide:Fs,useExisting:Rg},{provide:fs,useClass:bs},{provide:Is,useValue:!0}]}function Bg(){return typeof $localize<`u`&&$localize.locale||`en-US`}var Vg=new I(``,{factory:()=>R(Vg,{optional:!0,skipSelf:!0})||Bg()}),Hg=class{destroyed=!1;listeners=null;errorHandler=R(ws,{optional:!0});isEmitting=!1;hasNullListeners=!1;destroyRef=R(es);constructor(){this.destroyRef.onDestroy(()=>{this.destroyed=!0,this.listeners=null})}subscribe(e){if(this.destroyed)throw new P(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(Ur(953,!1));return}if(this.listeners===null)return;this.isEmitting=!0;let t=N(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&&Ug(this.listeners)),N(t),this.isEmitting=!1}}};function Ug(e){let t=e.length-1;for(;t>-1;)e[t]===null&&e.splice(t,1),t--}function Wg(e,t){return Cn(e,t?.equal)}(class e extends Error{_brand;constructor(e){super(e)}static IDLE=new e(`IDLE`);static LOADING=new e(`LOADING`)});function Gg(e,t){let n=Object.create(Xs);n.value=e,n.transformFn=t?.transform;function r(){if(an(n),n.value===Ys)throw new P(-950,null);return n.value}return r[tn]=n,r}function Kg(e){return new Hg}function qg(e,t){return Gg(e,t)}function Jg(e){return Gg(Ys,e)}var Yg=(qg.required=Jg,qg),Xg=new I(``),Zg=new I(``);function Qg(e){return!e.moduleRef}function $g(e){let t=Qg(e)?e.r3Injector:e.moduleRef.injector,n=t.get(fs);return n.run(()=>{Qg(e)?e.r3Injector.resolveInjectorInitializers():e.moduleRef.resolveInjectorInitializers();let r=t.get(Ts),i;if(n.runOutsideAngular(()=>{i=n.onError.subscribe({next:r})}),Qg(e)){let n=()=>t.destroy(),r=e.platformInjector.get(Xg);r.add(n),t.onDestroy(()=>{i.unsubscribe(),r.delete(n)})}else{let t=()=>e.moduleRef.destroy(),n=e.platformInjector.get(Xg);n.add(t),e.moduleRef.onDestroy(()=>{Ym(e.allPlatformModules,e.moduleRef),i.unsubscribe(),n.delete(t)})}return t_(r,n,()=>{let n=t.get(is),r=n.add(),i=t.get(Qp);return i.runInitializers(),i.donePromise.then(()=>{if(Kh(t.get(Vg,Gh)||`en-US`),!t.get(Zg,!0))return Qg(e)?t.get(qm):(e.allPlatformModules.push(e.moduleRef),e.moduleRef);if(Qg(e)){let n=t.get(qm);return e.rootComponent!==void 0&&n.bootstrap(e.rootComponent),n}return e_?.(e.moduleRef,e.allPlatformModules),e.moduleRef}).finally(()=>void n.remove(r))})})}var e_;function t_(e,t,n){try{let r=n();return Ip(r)?r.catch(n=>{throw t.runOutsideAngular(()=>e(n)),n}):r}catch(n){throw t.runOutsideAngular(()=>e(n)),n}}var n_=null;function r_(e=[],t){return Qo.create({name:t,providers:[{provide:aa,useValue:`platform`},{provide:Xg,useValue:new Set([()=>n_=null])},...e]})}function i_(e=[]){if(n_)return n_;let t=r_(e);return n_=t,Gm(),a_(t),t}function a_(e){let t=e.get(As,null);Sa(e,()=>{t?.forEach(e=>e())})}function o_(e){let{rootComponent:t,appProviders:n,platformProviders:r,platformRef:i}=e;U(H.BootstrapApplicationStart);try{let e=i?.injector??i_(r);return $g({r3Injector:new zp({providers:[zg(),Es,...n||[]],parent:e,debugName:``,runEnvironmentInitializers:!1}).injector,platformInjector:e,rootComponent:t})}catch(e){return Promise.reject(e)}finally{U(H.BootstrapApplicationEnd)}}var s_=null;function c_(){return s_}function l_(e){s_??=e}var u_=class{},d_=(()=>{class e{transform(e){return JSON.stringify(e,null,2)}static ɵfac=function(t){return new(t||e)};static ɵpipe=Kp({name:`json`,type:e,pure:!1})}return e})();function f_(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 p_=`browser`,m_=class{_doc;constructor(e){this._doc=e}manager},h_=(()=>{class e extends m_{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)(L($o))};static ɵprov=Xr({token:e,factory:e.ɵfac})}return e})(),g_=new I(``),__=(()=>{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 h_));this._plugins=n.slice().reverse();let r=e.find(e=>e instanceof h_);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 P(-5101,!1);return this._eventNameToPlugin.set(e,t),t}static ɵfac=function(t){return new(t||e)(L(g_),L(fs))};static ɵprov=Xr({token:e,factory:e.ɵfac})}return e})(),v_=`ng-app-id`;function y_(e){for(let t of e)t.remove()}function b_(e,t){let n=t.createElement(`style`);return n.textContent=e,n}function x_(e,t,n,r){let i=e.head?.querySelectorAll(`style[${v_}="${t}"],link[${v_}="${t}"]`);if(!i||i.length===0)return!1;for(let e of i)e.removeAttribute(v_),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 S_(e,t){let n=t.createElement(`link`);return n.setAttribute(`rel`,`stylesheet`),n.setAttribute(`href`,e),n}var C_=(()=>{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,x_(e,t,this.inline,this.external)&&this.hosts.add(e.head)}addStyles(e,t){for(let t of e)this.addUsage(t,this.inline,b_);t?.forEach(e=>this.addUsage(e,this.external,S_))}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&&(y_(n.elements),t.delete(e)))}ngOnDestroy(){for(let[,{elements:e}]of[...this.inline,...this.external])y_(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,b_(t,this.doc)));for(let[t,{elements:n}]of this.external)n.push(this.addElement(e,S_(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)(L($o),L(Os),L(Ms,8),L(js))};static ɵprov=Xr({token:e,factory:e.ɵfac})}return e})(),w_={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`},T_=/%COMP%/g,E_=`%COMP%`,D_=`_nghost-${E_}`,O_=`_ngcontent-${E_}`,k_=!0,A_=new I(``,{factory:()=>k_}),j_=new I(``);function M_(e){return O_.replace(T_,e)}function N_(e){return D_.replace(T_,e)}function P_(e,t){return t.map(t=>t.replace(T_,e))}var F_=(()=>{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 I_(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 B_?n.applyToHost(e):n instanceof z_&&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 jl.Emulated:r=new B_(o,s,t,this.appId,c,i,a,l,this.cssVarNamespace);break;case jl.ShadowDom:return new R_(o,e,t,i,a,this.nonce,l,this.cssVarNamespace,s);case jl.ExperimentalIsolatedShadowDom:return new R_(o,e,t,i,a,this.nonce,l,this.cssVarNamespace);default:r=new z_(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)(L(__),L(Qf),L(Os),L(A_),L($o),L(fs),L(Ms),L(xu,8),L(j_,8))};static ɵprov=Xr({token:e,factory:e.ɵfac})}return e})(),I_=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(w_[t]||t,e):this.doc.createElement(e)}createComment(e){return this.doc.createComment(e)}createText(e){return this.doc.createTextNode(e)}appendChild(e,t){(L_(e)?e.content:e).appendChild(t)}insertBefore(e,t,n){if(e){let r=L_(e)?e.content:e;if(n!=null&&n.parentNode!==r)throw new P(-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 P(-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=w_[r];i?e.setAttributeNS(i,t,n):e.setAttribute(t,n)}else e.setAttribute(t,n)}removeAttribute(e,t,n){if(n){let r=w_[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&(du.DashCase|du.Important)?e.style.setProperty(t,n,r&du.Important?`important`:``):e.style[t]=n}removeStyle(e,t,n){let r=t.startsWith(`--`);r&&(t=t.replace(`%NS%`,this.cssVarNamespace)),r||n&du.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=c_().getGlobalEventTarget(this.doc,e),!e))throw new P(-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 L_(e){return e.tagName===`TEMPLATE`&&e.content!==void 0}var R_=class extends I_{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=P_(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=S_(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)}},z_=class extends I_{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?P_(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&&mu.size===0&&this.sharedStylesHost.removeStyles(this.styles,this.styleUrls)}},B_=class extends z_{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=M_(l),this.hostAttr=N_(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}},V_=class e extends u_{supportsDOMEvents=!0;static makeCurrent(){l_(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=U_();return t==null?null:W_(t)}resetBaseElement(){H_=null}getUserAgent(){return window.navigator.userAgent}getCookie(e){return f_(document.cookie,e)}},H_=null;function U_(){return H_||=document.head.querySelector(`base`),H_?H_.getAttribute(`href`):null}function W_(e){return new URL(e,document.baseURI).pathname}var G_=[`alt`,`control`,`meta`,`shift`],K_={"\b":`Backspace`," ":`Tab`,"":`Delete`,"\x1B":`Escape`,Del:`Delete`,Esc:`Escape`,Left:`ArrowLeft`,Right:`ArrowRight`,Up:`ArrowUp`,Down:`ArrowDown`,Menu:`ContextMenu`,Scroll:`ScrollLock`,Win:`OS`},q_={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey},J_=(()=>{class e extends m_{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(()=>c_().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.`),G_.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=K_[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`),G_.forEach(t=>{if(t!==n){let n=q_[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)(L($o))};static ɵprov=Xr({token:e,factory:e.ɵfac})}return e})();async function Y_(e,t,n){return o_({rootComponent:e,...X_(t,n)})}function X_(e,t){return{platformRef:t?.platformRef,appProviders:[...tv,...e?.providers??[]],platformProviders:ev}}function Z_(){V_.makeCurrent()}function Q_(){return new ws}function $_(){return gl(document),document}var ev=[{provide:js,useValue:p_},{provide:As,useValue:Z_,multi:!0},{provide:$o,useFactory:$_}],tv=[{provide:aa,useValue:`root`},{provide:ws,useFactory:Q_},{provide:g_,useClass:h_,multi:!0},{provide:g_,useClass:J_,multi:!0},F_,{provide:Qf,useClass:C_},{provide:C_,useExisting:Qf},__,{provide:Pf,useExisting:F_},[]];function nv(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 ov({code:i,why:iv(a.why,e),fix:iv(a.fix,e),docs:o,cause:e.cause,sources:e.sources},s);for(let e of t)e(r,n);return r};n[i]=s}return n}function lv(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 hv=Math.random.bind(Math),gv=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`;function _v(e=21){let t=``,n=e;for(;n--;)t+=gv[hv()*64|0];return t}var vv=6e4,yv=e=>e,bv=yv,{clearTimeout:xv,setTimeout:Sv}=globalThis;function Cv(e,t){let{post:n,on:r,off:i=()=>{},eventNames:a=[],serialize:o=yv,deserialize:s=bv,resolver:c,bind:l=`rpc`,timeout:u=vv,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}=mv(),_=_v();s.i=_;let v;async function y(n=s){return u>=0&&(v=Sv(()=>{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{xv(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&&(xv(r.timeoutId),n?r.reject(n):r.resolve(t)),p.delete(e)}}return m=r(b),h}function wv(e,t){return t.safety?t.safety:e===`static`||e===`query`||e==null?`read`:`action`}var Tv=Object.freeze({type:`object`,additionalProperties:!0});function Ev(e){let t=e[`~standard`];if(t.jsonSchema)try{return t.jsonSchema.input({target:`draft-2020-12`})}catch{return Tv}return Tv}function Dv(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 kv(e,t){return Ov(e,t)??[e]}function Av(e){return typeof e==`string`?`'${e}'`:new Pv().serialize(e)}var jv=` _-,;:!?.'"()[]{}@*/\\&#%\`^+<=>|~$0123456789abcdefghijklmnopqrstuvwxyz`,Mv=(function(){let e=new Uint8Array(128);for(let t=0;t<69;t++)e[jv.charCodeAt(t)]=t+1;for(let t=65;t<=90;t++)e[t]=e[t+32];return e})();function Nv(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})(),Fv=[1779033703,-1150833019,1013904242,-1521486534,1359893119,-1694144372,528734635,1541459225],Iv=[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],Lv=`ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-_`,Rv=[],zv=class{_data=new Bv;_hash=new Bv([...Fv]);_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)Rv[n]=e[t+n]|0;else{let e=Rv[n-15],t=(e<<25|e>>>7)^(e<<14|e>>>18)^e>>>3,r=Rv[n-2],i=(r<<15|r>>>17)^(r<<13|r>>>19)^r>>>10;Rv[n]=t+Rv[n-7]+i+Rv[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+Iv[n]+Rv[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=Bv.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 Vv(e){return new zv().finalize(e).toBase64()}function Hv(e){return Vv(Av(e))}function Uv(e){return Hv(e)}function Wv(){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 Gv=/^[\w+.-]{2,}:\/\//;function Kv(e){return e.endsWith(`/`)?e:`${e}/`}function qv(e){return(e.endsWith(`/`)?e.slice(0,-1):e)||`/`}function Jv(e,...t){let n=e;for(let e of t)e&&e!==`/`&&(n=n?Kv(n)+e.replace(/^\.?\//,``):e);return n}function Yv(e,t){if(!t||t===`/`||Gv.test(e))return e;let n=qv(t);return e.startsWith(n)?e:Jv(n,e)}function Xv(e,t){let n=e.match(Gv);return t+(n?e.slice(n[0].length):e)}var Zv=`useandom-26T198340PX75pxJACKVERYMINDBUSHWOLF_GQZbfghjklqvwyzrict`;function Qv(e=21){let t=``,n=e;for(;n--;)t+=Zv[Math.random()*64|0];return t}var $v=Symbol.for(`immer-nothing`),ey=Symbol.for(`immer-draftable`),ty=Symbol.for(`immer-state`),ny=[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 ry(e,...t){{let n=ny[e],r=Dy(n)?n.apply(null,t):n;throw Error(`[Immer] ${r}`)}}var iy=Object,ay=iy.getPrototypeOf,oy=`constructor`,sy=`prototype`,cy=`configurable`,ly=`enumerable`,uy=`writable`,dy=`value`,fy=e=>!!e&&!!e[ty];function py(e){return e?gy(e)||Cy(e)||!!e[ey]||!!e[oy]?.[ey]||wy(e)||Ty(e):!1}var my=iy[sy][oy].toString(),hy=new WeakMap;function gy(e){if(!e||!Ey(e))return!1;let t=ay(e);if(t===null||t===iy[sy])return!0;let n=iy.hasOwnProperty.call(t,oy)&&t[oy];if(n===Object)return!0;if(!Dy(n))return!1;let r=hy.get(n);return r===void 0&&(r=Function.toString.call(n),hy.set(n,r)),r===my}function _y(e,t,n=!0){vy(e)===0?(n?Reflect.ownKeys(e):iy.keys(e)).forEach(n=>{t(n,e[n],e)}):e.forEach((n,r)=>t(r,n,e))}function vy(e){let t=e[ty];return t?t.type_:Cy(e)?1:wy(e)?2:Ty(e)?3:0}var yy=(e,t,n=vy(e))=>n===2?e.has(t):iy[sy].hasOwnProperty.call(e,t),by=(e,t,n=vy(e))=>n===2?e.get(t):e[t],xy=(e,t,n,r=vy(e))=>{r===2?e.set(t,n):r===3?e.add(n):e[t]=n};function Sy(e,t){return e===t?e!==0||1/e==1/t:e!==e&&t!==t}var Cy=Array.isArray,wy=e=>e instanceof Map,Ty=e=>e instanceof Set,Ey=e=>typeof e==`object`,Dy=e=>typeof e==`function`,Oy=e=>typeof e==`boolean`;function ky(e){let t=+e;return Number.isInteger(t)&&String(t)===e}var Ay=e=>Ey(e)?e?.[ty]:null,jy=e=>e.copy_||e.base_,My=e=>e.modified_?e.copy_:e.base_;function Ny(e,t){if(wy(e))return new Map(e);if(Ty(e))return new Set(e);if(Cy(e))return Array[sy].slice.call(e);let n=gy(e);if(t===!0||t===`class_only`&&!n){let t=iy.getOwnPropertyDescriptors(e);delete t[ty];let n=Reflect.ownKeys(t);for(let r=0;r1&&iy.defineProperties(e,{set:Iy,add:Iy,clear:Iy,delete:Iy}),iy.freeze(e),t&&_y(e,(e,t)=>{Py(t,!0)},!1),e)}function Fy(){ry(2)}var Iy={[dy]:Fy};function Ly(e){return e===null||!Ey(e)||iy.isFrozen(e)}var Ry=`MapSet`,zy=`Patches`,By=`ArrayMethods`,Vy={};function Hy(e){let t=Vy[e];return t||ry(0,e),t}var Uy=e=>!!Vy[e];function Wy(e,t){Vy[e]||(Vy[e]=t)}var Gy,Ky=()=>Gy,qy=(e,t)=>({drafts_:[],parent_:e,immer_:t,canAutoFreeze_:!0,unfinalizedDrafts_:0,handledSet_:new Set,processedForPatches_:new Set,mapSetPlugin_:Uy(Ry)?Hy(Ry):void 0,arrayMethodsPlugin_:Uy(By)?Hy(By):void 0});function Jy(e,t){t&&(e.patchPlugin_=Hy(zy),e.patches_=[],e.inversePatches_=[],e.patchListener_=t)}function Yy(e){Xy(e),e.drafts_.forEach(Qy),e.drafts_=null}function Xy(e){e===Gy&&(Gy=e.parent_)}var Zy=e=>Gy=qy(Gy,e);function Qy(e){let t=e[ty];t.type_===0||t.type_===1?t.revoke_():t.revoked_=!0}function $y(e,t){t.unfinalizedDrafts_=t.drafts_.length;let n=t.drafts_[0];if(e!==void 0&&e!==n){n[ty].modified_&&(Yy(t),ry(4)),py(e)&&(e=eb(t,e));let{patchPlugin_:r}=t;r&&r.generateReplacementPatches_(n[ty].base_,e,t)}else e=eb(t,n);return tb(t,e,!0),Yy(t),t.patches_&&t.patchListener_(t.patches_,t.inversePatches_),e===$v?void 0:e}function eb(e,t){if(Ly(t))return t;let n=t[ty];if(!n)return lb(t,e.handledSet_,e);if(!rb(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);sb(n,e)}return n.copy_}function tb(e,t,n=!1){!e.parent_&&e.immer_.autoFreeze_&&e.canAutoFreeze_&&Py(t,n)}function nb(e){e.finalized_=!0,e.scope_.unfinalizedDrafts_--}var rb=(e,t)=>e.scope_===t,ib=[];function ab(e,t,n,r){let i=jy(e),a=e.type_;if(r!==void 0&&by(i,r,a)===t){xy(i,r,n,a);return}if(!e.draftLocations_){let t=e.draftLocations_=new Map;_y(i,(e,n)=>{if(fy(n)){let r=t.get(n)||[];r.push(e),t.set(n,r)}})}let o=e.draftLocations_.get(t)??ib;for(let e of o)xy(i,e,n,a)}function ob(e,t,n){e.callbacks_.push(function(r){let i=t;if(!i||!rb(i,r))return;r.mapSetPlugin_?.fixSetContents(i);let a=My(i);ab(e,i.draft_??i,a,n),sb(i,r)})}function sb(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)}nb(e)}}function cb(e,t,n){let{scope_:r}=e;if(fy(n)){let i=n[ty];rb(i,r)&&i.callbacks_.push(function(){vb(e),ab(e,n,My(i),t)})}else py(n)&&e.callbacks_.push(function(){let i=jy(e);e.type_===3?i.has(n)&&lb(n,r.handledSet_,r):by(i,t,e.type_)===n&&r.drafts_.length>1&&(e.assigned_.get(t)??!1)===!0&&e.copy_&&lb(by(e.copy_,t,e.type_),r.handledSet_,r)})}function lb(e,t,n){return!n.immer_.autoFreeze_&&n.unfinalizedDrafts_<1||fy(e)||t.has(e)||!py(e)||Ly(e)?e:(t.add(e),_y(e,(r,i)=>{if(fy(i)){let t=i[ty];rb(t,n)&&(xy(e,r,My(t),e.type_),nb(t))}else py(i)&&lb(i,t,n)}),e)}function ub(e,t){let n=Cy(e),r={type_:+!!n,scope_:t?t.scope_:Ky(),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=db;n&&(i=[r],a=fb);let{revoke:o,proxy:s}=Proxy.revocable(i,a);return r.draft_=s,r.revoke_=o,[s,r]}var db={get(e,t){if(t===ty)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=jy(e);if(!yy(i,t,e.type_))return hb(e,i,t);let a=i[t];if(e.finalized_||!py(a)||r&&e.operationMethod&&n?.isMutatingArrayMethod(e.operationMethod)&&ky(t))return a;if(a===pb(e.base_,t)||mb(e,t,a)){vb(e);let n=e.type_===1?+t:t,r=bb(e.scope_,a,e,n);return e.copy_[n]=r}return a},has(e,t){return t in jy(e)},ownKeys(e){return Reflect.ownKeys(jy(e))},set(e,t,n){let r=gb(jy(e),t);if(r?.set)return r.set.call(e.draft_,n),!0;if(!e.modified_){let r=pb(jy(e),t),i=r?.[ty];if(i&&i.base_===n)return e.copy_[t]=n,e.assigned_.set(t,!1),!0;if(Sy(n,r)&&(n!==void 0||yy(e.base_,t,e.type_)))return!0;vb(e),_b(e)}return e.copy_[t]===n&&(n!==void 0||yy(e.copy_,t,e.type_))||Number.isNaN(n)&&Number.isNaN(e.copy_[t])?!0:(e.copy_[t]=n,e.assigned_.set(t,!0),cb(e,t,n),!0)},deleteProperty(e,t){return vb(e),pb(e.base_,t)!==void 0||t in e.base_?(e.assigned_.set(t,!1),_b(e)):e.assigned_.delete(t),e.copy_&&delete e.copy_[t],!0},getOwnPropertyDescriptor(e,t){let n=jy(e),r=Reflect.getOwnPropertyDescriptor(n,t);return r&&{[uy]:!0,[cy]:e.type_!==1||t!==`length`,[ly]:r[ly],[dy]:n[t]}},defineProperty(){ry(11)},getPrototypeOf(e){return ay(e.base_)},setPrototypeOf(){ry(12)}},fb={};for(let e in db){let t=db[e];fb[e]=function(){let e=arguments;return e[0]=e[0][0],t.apply(this,e)}}fb.deleteProperty=function(e,t){return isNaN(parseInt(t))&&ry(13),fb.set.call(this,e,t,void 0)},fb.set=function(e,t,n){return t!==`length`&&isNaN(parseInt(t))&&ry(14),db.set.call(this,e[0],t,n,e[0])};function pb(e,t){let n=e[ty];return(n?jy(n):e)[t]}function mb(e,t,n){return e.type_!==1||!e.allIndicesReassigned_||e.assigned_?.get(t)||!py(n)||n[ty]?!1:e.baseRefs_.has(n)}function hb(e,t,n){let r=gb(t,n);return r?dy in r?r[dy]:r.get?.call(e.draft_):void 0}function gb(e,t){if(!(t in e))return;let n=ay(e);for(;n;){let e=Object.getOwnPropertyDescriptor(n,t);if(e)return e;n=ay(n)}}function _b(e){e.modified_||(e.modified_=!0,e.parent_&&_b(e.parent_))}function vb(e){e.copy_||=(e.assigned_=new Map,Ny(e.base_,e.scope_.immer_.useStrictShallowCopy_))}var yb=class{constructor(e){this.autoFreeze_=!0,this.useStrictShallowCopy_=!1,this.useStrictIteration_=!1,this.produce=(e,t,n)=>{if(Dy(e)&&!Dy(t)){let n=t;t=e;let r=this;return function(e=n,...i){return r.produce(e,e=>t.call(this,e,...i))}}Dy(t)||ry(6),n!==void 0&&!Dy(n)&&ry(7);let r;if(py(e)){let i=Zy(this),a=bb(i,e,void 0),o=!0;try{r=t(a),o=!1}finally{o?Yy(i):Xy(i)}return Jy(i,n),$y(r,i)}if(!e||!Ey(e)){if(r=t(e),r===void 0&&(r=e),r===$v&&(r=void 0),this.autoFreeze_&&Py(r,!0),n){let t=[],i=[];Hy(zy).generateReplacementPatches_(e,r,{patches_:t,inversePatches_:i}),n(t,i)}return r}ry(1,e)},this.produceWithPatches=(e,t)=>{if(Dy(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]},Oy(e?.autoFreeze)&&this.setAutoFreeze(e.autoFreeze),Oy(e?.useStrictShallowCopy)&&this.setUseStrictShallowCopy(e.useStrictShallowCopy),Oy(e?.useStrictIteration)&&this.setUseStrictIteration(e.useStrictIteration)}createDraft(e){py(e)||ry(8),fy(e)&&(e=xb(e));let t=Zy(this),n=bb(t,e,void 0);return n[ty].isManual_=!0,Xy(t),n}finishDraft(e,t){let n=e&&e[ty];(!n||!n.isManual_)&&ry(9);let{scope_:r}=n;return Jy(r,t),$y(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=Hy(zy).applyPatches_;return fy(e)?r(e,t):this.produce(e,e=>r(e,t))}};function bb(e,t,n,r){let[i,a]=wy(t)?Hy(Ry).proxyMap_(t,n):Ty(t)?Hy(Ry).proxySet_(t,n):ub(t,n);return(n?.scope_??Ky()).drafts_.push(i),a.callbacks_=n?.callbacks_??[],a.key_=r,n&&r!==void 0?ob(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 xb(e){return fy(e)||ry(10,e),Sb(e)}function Sb(e){if(!py(e)||Ly(e))return e;let t=e[ty],n,r=!0;if(t){if(!t.modified_)return t.base_;t.finalized_=!0,n=Ny(e,t.scope_.immer_.useStrictShallowCopy_),r=t.scope_.immer_.shouldUseStrictIteration()}else n=Ny(e,!0);return _y(n,(e,t)=>{xy(n,e,Sb(t))},r),t&&(t.finalized_=!1),n}function Cb(){ny.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=Ay(by(e,n.key_)),i=by(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||yy(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=by(o,e,c),f=by(s,e,c),p=l?yy(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===$v?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(Ty(e))return new Set(Array.from(e).map(u));let t=Object.create(ay(e));for(let n in e)t[n]=u(e[n]);return yy(e,ey)&&(t[ey]=e[ey]),t}function d(e){return fy(e)?u(e):e}Wy(zy,{applyPatches_:l,generatePatches_:i,generateReplacementPatches_:c,getPath:e})}globalThis.Iterator?.from;var wb=new yb,Tb=wb.produce,Eb=wb.produceWithPatches.bind(wb),Db=wb.applyPatches.bind(wb),Ob=1e3;function kb(e,t){if(e.add(t),e.size>Ob){let t=e.values().next().value;t!==void 0&&e.delete(t)}}function Ab(e){let{enablePatches:t=!1}=e;t&&Cb();let n=Wv(),r=e.initialValue,i=new Set;return{on:n.on,value:()=>r,patch:(e,t=Qv())=>{i.has(t)||(Cb(),r=Db(r,e),kb(i,t),n.emit(`updated`,r,void 0,t))},mutate:(e,a=Qv())=>{if(!i.has(a)){if(kb(i,a),t){let[t,i]=Eb(r,e);if(t===r)return;r=t,n.emit(`updated`,r,i,a)}else{let t=Tb(r,e);if(t===r)return;r=t,n.emit(`updated`,r,void 0,a)}}},syncIds:i}}var jb=typeof self==`object`?self:globalThis,Mb=new Set([`Error`,`EvalError`,`RangeError`,`ReferenceError`,`SyntaxError`,`TypeError`,`URIError`,`AggregateError`]),Nb=new Set([`Boolean`,`Number`,`String`,`Int8Array`,`Uint8Array`,`Uint8ClampedArray`,`Int16Array`,`Uint16Array`,`Int32Array`,`Uint32Array`,`Float16Array`,`Float32Array`,`Float64Array`,`BigInt64Array`,`BigUint64Array`]);function Pb(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=Mb.has(e)?jb[e]:void 0;return n(new(r??jb.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`&&Nb.has(a))return n(new jb[a](o),i);throw TypeError(`unable to deserialize unsafe or unknown type: ${String(a)}`)};return r}function Fb(e){return Pb(new Map,e)(0)}var Ib=``,{toString:Lb}={},{keys:Rb}=Object;function zb(e){let t=typeof e;if(t!==`object`||!e)return[0,t];let n=Lb.call(e).slice(8,-1);switch(n){case`Array`:return[1,Ib];case`Object`:return[2,Ib];case`Date`:return[3,Ib];case`RegExp`:return[4,Ib];case`Map`:return[5,Ib];case`Set`:return[6,Ib];case`DataView`:return[1,n]}return n.includes(`Array`)?[1,n]:n.includes(`Error`)?[7,n]:[2,n]}function Bb([e,t]){return e===0&&(t===`function`||t===`symbol`)}function Vb(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]=zb(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 Rb(r))(e||!Bb(zb(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||!(Bb(zb(n))||Bb(zb(i))))&&t.push([a(n),a(i)]);return n}case 6:{let t=[],n=i([o,t],r);for(let n of r)(e||!Bb(zb(n)))&&t.push(a(n));return n}}let{message:c}=r;return i([o,{name:s,message:c}],r)};return a}function Hb(e,t={}){let n=[];return Vb(!(t.json||t.lossy),!!t.json,new Map,n)(e),n}var{parse:Ub,stringify:Wb}=JSON,Gb={json:!0,lossy:!0};function Kb(e){return Fb(Ub(e))}function qb(e){return Wb(Hb(e,Gb))}function Jb(e){return Fb(e)}function Yb(e){return qb(e)}function Xb(e){return Kb(e)}var Zb=256,Qb=class extends Error{name=`StreamClosedError`};function $b(e={}){let t=e.id??Qv(),n=Math.max(0,e.replayWindow??0),r=Wv(),i=new AbortController,a=[],o=!1,s=0;function c(e){if(o)throw new Qb(`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=tx(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 ex(e={}){let t=e.id??Qv(),n=Math.max(1,e.highWaterMark??Zb),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 tx(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 nx=128;function rx(e){return e.replace(/[^\w-]+/g,`_`).slice(0,nx)}var ix=`modulepreload`,ax=function(e,t){return new URL(e,t).href},ox={},sx=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=ax(t,n),t=s(t),t in ox)return;ox[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`:ix,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)})},cx=`__connection.json`,lx=`__DEVFRAME_CONNECTION__`,ux=`x-birpc-session`,dx=`__rpc-dump/index.json`,fx=`devframe:services`,px=`devframe_otp`,mx=`devframe_auth_token`;uv.postMessage.remoteAssetsError;var hx=class{cacheMap=new Map;options;keySerializer;constructor(e){this.options=e,this.keySerializer=e.keySerializer||(e=>Uv(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()}},gx=pv({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 _x(e){if(e.agent&&e.jsonSerializable===!1)throw gx.DF0019({name:e.name});e.agent&&!e.jsonSerializable&&(e.jsonSerializable=!0)}async function vx(e,t){let n=e[`~standard`].validate(t);return n instanceof Promise?await n:n}function yx(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 bx(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 Cx(e,t){let n=e.handler;if(!n){let r=await Sx(e,t);if(!r.handler)throw gx.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 bx(e.name,r,t),o=await a(...n);return await xx(e.name,i,o)}}var wx=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 Cx(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 gx.DF0021({name:e.name});_x(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 gx.DF0022({name:e.name});_x(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 Cx(this.definitions.get(e),this.context)}getSchema(e){let t=this.definitions.get(e);if(!t)throw gx.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 Tx(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 Dx(t,`undefined`,r,e);return n}return i!==null&&Ex(i,r,e,t),n})}function Ex(e,t,n,r){if(typeof e==`bigint`)throw Dx(r,`BigInt`,t,n);if(typeof e!=`object`)return;if(e instanceof Map)throw Dx(r,`Map`,t,n);if(e instanceof Set)throw Dx(r,`Set`,t,n);if(e instanceof Date)throw Dx(r,`Date`,t,n);if(Array.isArray(e))return;let i=Object.getPrototypeOf(e);if(i!==null&&i!==Object.prototype)throw Dx(r,e.constructor?.name??`class instance`,t,n)}function Dx(e,t,n,r){let i=Ox(n,r);return gx.DF0020({name:e||``,type:t,path:i})}function Ox(e,t){return Array.isArray(e)?`[${t}]`:t===``?``:t}var kx=`__DEVFRAME_CONNECTION_META__`,Ax=`__DEVFRAME_CONNECTION_AUTH_TOKEN__`;function jx(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 Mx(){return jx(lx)}function Nx(){return jx(kx)}function Px(e){if(e)return e;try{let e=localStorage.getItem(Ax);if(e)return e}catch{}return jx(Ax)}function Fx(e){globalThis[lx]=e,globalThis[kx]={...e.connectionMeta,baseUrl:e.metaBaseUrl},e.authToken&&Ix(e.authToken)}function Ix(e){try{localStorage.setItem(Ax,e)}catch{}globalThis[Ax]=e;let t=Mx();t&&(globalThis[lx]={...t,authToken:e})}function Lx(e){let t=Yv(cx,e);try{return new URL(t,globalThis.location?.href).href}catch{return t}}function Rx(e,t){return t&&t!==e.authToken?{...e,authToken:t}:e}function zx(){let e=Mx();if(e)return Rx(e,Px()??e.authToken??e.connectionMeta.authToken);let t=Nx();if(t)return{connectionMeta:t,metaBaseUrl:t.baseUrl??Lx(`./`),authToken:Px(t.authToken)}}async function Bx(e={}){if(e.connection){let t=Rx(e.connection,Px(e.authToken??e.connection.authToken??e.connection.connectionMeta.authToken));return Fx(t),t}let t=Array.isArray(e.baseURL)?e.baseURL:[e.baseURL??`./`];if(e.connectionMeta){let n={connectionMeta:e.connectionMeta,metaBaseUrl:Lx(t[0]??`./`),authToken:Px(e.authToken??e.connectionMeta.authToken)};return Fx(n),n}let n=zx();if(n){let t=Rx(n,Px(e.authToken??n.authToken??n.connectionMeta.authToken));return Fx(t),t}let r=[];for(let n of t){let t=Yv(cx,n),i=Lx(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:Px(e.authToken??r.authToken)};return Fx(o),o}catch(e){r.push(e)}}throw Error(`Failed to get connection meta from ${t.join(`, `)}`,{cause:r})}var Vx=class extends Error{name=`DevframeConnectionError`;kind;constructor(e,t,n){super(t,n),this.kind=e}};function Hx(e=px){try{let t=globalThis.location?.hash?.replace(/^#/,``)??``;return new URLSearchParams(t).get(e)||void 0}catch{return}}function Ux(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 Wx(e=px){let t=Hx(e);return t&&Ux(e),t}async function Gx(e,t={}){let n=Wx(t.param??`devframe_otp`);return n?e.isTrusted?!0:e.requestTrustWithCode(n):!1}function Kx(e){let t={},n=new WeakMap,r,i=()=>(r??=e.sharedState.get(fx,{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 qx(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:uv.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:uv.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=Ab({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(uv.client.isTrustedUpdated,e=>{e&&!n&&(n=!0,d())})}})}}}var Jx=new Map;function Yx(e=Jx){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?Tx(n,r??``):`s:${Yb(n)}`},deserialize:e=>{let n=e.startsWith(`s:`)?Xb(e.slice(2)):JSON.parse(e);return n.t===`q`&&n.i&&n.m&&t.set(n.i,n.m),n}}}function Xx(){}function Zx(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 Qx(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 $x(e){let{onConnected:t=Xx,onError:n=Xx,onDisconnected:r=Xx,definitions:i,fetch:a=globalThis.fetch.bind(globalThis)}=e,o=e.url;e.authToken&&(o=`${o}${o.includes(`?`)?`&`:`?`}${mx}=${encodeURIComponent(e.authToken)}`);let s=Yx(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=Zx(r);if(!e)break;r=e.rest;let{event:t,data:n}=Qx(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`,[ux]: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 eS(e,t){let{channel:n,rpcOptions:r={}}=t;return Cv(e,{...n,timeout:-1,...r,proxify:!1})}function tS(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(uv.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 Vx(`connection`,`[devframe] Not connected to the devframe server`,{cause:u??void 0}):l===`unauthorized`?new Vx(`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(uv.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 Vx(`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(uv.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(uv.client.connectionError,e),m(new Vx(`connection`,`[devframe] Connection to the devframe server failed`,{cause:e}))},onDisconnected(){l!==`error`&&f(`disconnected`),m(new Vx(`connection`,`[devframe] Disconnected from the devframe server`,{cause:u??void 0}))}}),y=eS(a.functions,{channel:v,rpcOptions:o});a.register({name:uv.broadcast.authRevoked,type:`event`,handler:()=>{c=!1;let e=new Vx(`auth`,`[devframe] The devframe server revoked this client's trust`);f(`unauthorized`,e),i.emit(uv.client.connectionError,e),m(e),i.emit(uv.client.isTrustedUpdated,!1)}});let b=n;async function x(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 Vx(`auth`,`[devframe] The devframe server refused this client's credentials`);f(`unauthorized`,e),i.emit(uv.client.connectionError,e)}return i.emit(uv.client.isTrustedUpdated,c),t.isTrusted}async function ee(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(uv.client.isTrustedUpdated,!0)),t}async function te(e={}){await y.$call(`anonymous:devframe:auth:request-code`,{ua:navigator.userAgent,origin:location.origin,...e.reissue?{reissue:!0}:{}})}async function S(){return c?!0:x(b??``)}async function C(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:S,requestTrustWithToken:x,requestTrustWithCode:ee,requestAuthCode:te,ensureTrusted:C,call:(...e)=>{let t=String(e[0]),n=h();return n?(i.emit(uv.client.error,n,t),Promise.reject(n)):g(y.$call(...e),t)},callEvent:(...e)=>{let t=h();if(t){i.emit(uv.client.error,t,String(e[0]));return}return y.$callEvent(...e)},callOptional:(...e)=>{let t=String(e[0]),n=h();return n?(i.emit(uv.client.error,n,t),Promise.reject(n)):g(y.$callOptional(...e),t)},close:()=>{v.close()}}}function nS(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 rS(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},sseOptions:s={},callTimeout:c=0}=e,l=nS(n.sse,r??`./`,location);return tS({transport:`sse`,authToken:t,connectionMeta:n,events:i,clientRpc:a,rpcOptions:o,callTimeout:c,createChannel:e=>$x({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 iS(e){let{name:t,message:n,cause:r,...i}=e,a=r instanceof Error?r:aS(r)?iS(r):r,o=a===void 0?Error(n):Error(n,{cause:a});return o.name=t,Object.assign(o,i),o}function aS(e){return typeof e==`object`&&!!e&&typeof e.message==`string`&&typeof e.name==`string`}function oS(e){return typeof e==`object`&&!!e&&e.type===`static`&&typeof e.path==`string`}function sS(e){return typeof e==`object`&&!!e&&e.type===`query`&&typeof e.records==`object`&&e.records!==null}function cS(e){return typeof e==`object`&&!!e&&(`output`in e||`error`in e)}function lS(e){if(e.error)throw iS(e.error);return e.output}function uS(e){return e.some(e=>e!=null)}function dS(e){return typeof e==`object`&&e&&`serialization`in e&&`data`in e?e.data:e}function fS(e,t){let n=new Map,r=new Map;function i(e,t){return t===`structured-clone`&&Array.isArray(e)?Jb(e):e}function a(e,t){return i(dS(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 cS(r)?lS(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(oS(r)){if(uS(n))throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`);return await o(r)}if(sS(r)){let e=Uv(n),i=r.records[e];if(i)return lS(await s(i,r.serialization));if(r.fallback)return lS(await s(r.fallback,r.serialization));throw Error(`[devframe-rpc] No dump match for "${t}" with args: ${JSON.stringify(n)}`)}if(!uS(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 pS(e){let t=fS(await e.fetchJsonFromBases(dx),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 mS=``;function hS(e,t){return`${e}${mS}${t}`}function gS(e){let t=new Map,n=new Map;e.client.register({name:uv.broadcast.streamingChunk,type:`event`,handler(e,n,r,i){t.get(hS(e,n))?._push(r,i)}}),e.client.register({name:uv.broadcast.streamingEnd,type:`event`,handler(e,n,r){let i=hS(e,n),a=t.get(i);a&&(a._end(r),t.delete(i))}}),e.client.register({name:uv.broadcast.streamingUploadCancel,type:`event`,handler(e,t){let r=hS(e,t),i=n.get(r);i&&(i.abort(`server cancelled upload`),n.delete(r))}}),e.events.on(uv.client.isTrustedUpdated,n=>{if(n)for(let[n,r]of t){if(r.cancelled||r.done)continue;let t=n.indexOf(mS);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=hS(n,r),o=t.get(a);if(o)return o;let s=ex({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(uv.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=hS(t,r),a=n.get(i);if(a)return a;let o=$b({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 _S(){}var vS=new Map;function yS(e){let t=e.url;e.authToken&&(t=`${t}?${mx}=${encodeURIComponent(e.authToken)}`);let n=new WebSocket(t),{onConnected:r=_S,onError:i=_S,onDisconnected:a=_S,definitions:o=vS}=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=Yx(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 bS(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 Xv(a,/^https/i.test(a)?`wss://`:`ws://`);let o=new URL(a,r);return o.protocol=i,o.href}function xS(e){let{authToken:t,connectionMeta:n,metaBaseUrl:r,events:i,clientRpc:a,rpcOptions:o={},wsOptions:s={},callTimeout:c=0}=e,l=bS(n.websocket,r??`./`,location);return tS({transport:`websocket`,authToken:t,connectionMeta:n,events:i,clientRpc:a,rpcOptions:o,callTimeout:c,createChannel:e=>yS({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 SS(e){return e.includes(`:`)}function CS(e,t){return SS(t)?t:`${e}:${t}`}function wS(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 TS(e,t,n){let r=`devframe:settings:${n}:${t}`,i;function a(){return i||=e.sharedState.get(r,{initialValue:{}}),i}return wS(a)}function ES(e,t){return{global:TS(e,t,`global`),project:TS(e,t,`project`)}}function DS(e,t){return{namespace:t,base:e,rpc:{namespace:t,register(n){if(SS(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(CS(t,n),...r)),callEvent:((n,...r)=>e.callEvent(CS(t,n),...r)),callOptional:((n,...r)=>e.callOptional(CS(t,n),...r)),sharedState:((n,r)=>e.sharedState.get(CS(t,n),r)),streaming:{subscribe:(n,r,i)=>e.streaming.subscribe(CS(t,n),r,i),upload:(n,r)=>e.streaming.upload(CS(t,n),r)}},settings:ES(e,t),scope:e.scope}}function OS(){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 kS(e,t={}){let n=t.modelContext??OS();if(!n)return()=>{};let r=n,i=new Map,a=new Map;function o(t,n){let o=rx(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=wv(t.type,n),u=r.registerTool({name:o,description:n.description,inputSchema:Dv(t.args),annotations:{title:n.title??t.name,readOnlyHint:l===`read`,destructiveHint:l===`destructive`},execute:n=>AS(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 AS(e,t,n){try{let r=kv(n,e.args?.length);return{content:[{type:`text`,text:jS(await(await Cx(e,t))(...r))}]}}catch(e){return{isError:!0,content:[{type:`text`,text:MS(e)}]}}}function jS(e){return e===void 0?`undefined`:typeof e==`string`?e:JSON.stringify(e,null,2)}function MS(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 NS(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 PS(e={}){let{baseURL:t=`./`,rpcOptions:n={},cacheOptions:r=!1}=e,i=Wv(),a=Array.isArray(t)?t:[t],o=await Bx(e),{connectionMeta:s,metaBaseUrl:c,authToken:l}=o,u=a[0]??`./`;try{u=new URL(`.`,c).href}catch{}let d=new hx({functions:[],...typeof e.cacheOptions==`object`?e.cacheOptions:{}}),f={rpc:void 0},p=new wx(f),m=e.webmcp===!1?void 0:kS(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(Yv(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=NS(e.transport??`auto`,s),b=y===`static`?await pS({fetchJsonFromBases:_}):y===`sse`?rS({...v,sseOptions:e.sseOptions}):xS({...v,wsOptions:e.wsOptions}),x;try{x=new BroadcastChannel(`devframe-auth`)}catch{}let ee,te=!1;function S(e){return((...t)=>te||!ee?e(...t):ee.then(()=>e(...t)))}function C(){g=!0;try{h?.(),m?.()}finally{try{x?.close()}finally{b.close?.()}}}let w={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=>(Ix(e),o={...o,authToken:e},b.requestTrustWithToken(e)),requestTrustWithCode:async e=>{let t=await b.requestTrustWithCode(e);if(!t)return!1;Ix(t),o={...o,authToken:t};try{x?.postMessage({type:`auth-update`,authToken:t})}catch{}return!0},requestAuthCode:e=>b.requestAuthCode(e),call:S(b.call),callEvent:S(b.callEvent),callOptional:S(b.callOptional),client:p,sharedState:void 0,services:void 0,streaming:void 0,cacheManager:d,scope:void 0,close:C};w.sharedState=qx(w),w.streaming=gS(w),w.services=Kx(w);let ne=new Map;w.scope=(e=>{if(!e)return w;let t=ne.get(e);return t||(t=DS(w,e),ne.set(e,t)),t}),f.rpc=w;function T(){try{return typeof window<`u`&&window.self===window.top}catch{return!1}}async function re(){if(e.simpleAuth!==!1&&T()&&typeof globalThis.prompt==`function`)for(await w.requestAuthCode().catch(()=>{});!w.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 w.requestTrustWithCode(t))return}}async function E(){let t=await b.requestTrust(),n=e.otpParam??`devframe_otp`,r=n?await Gx(w,{param:n}):!1;t||r||w.isTrusted||await re()}return ee=E().then(()=>{te=!0},()=>{te=!0}),s.mcp&&sx(async()=>{let{setupBrowserAgentRpcBridge:e}=await import(`./browser-agent-rpc-BXhoSh1z-C4PjrSs6.js`);return{setupBrowserAgentRpcBridge:e}},[],import.meta.url).then(({setupBrowserAgentRpcBridge:e})=>{g||(h=e(w))}).catch(()=>{}),x&&(x.onmessage=e=>{e.data?.type===`auth-update`&&e.data.authToken&&w.requestTrustWithToken(e.data.authToken)}),w}var FS=PS,IS=class e{rpc=Yg(null);navigate=Kg();meta=V(null);componentCount=V(0);routeCount=V(0);signalCount=V(0);providerCount=V(0);storeCount=V(0);constructor(){Vs(()=>{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(()=>{})})}static ɵfac=function(t){return new(t||e)};static ɵcmp=Hp({type:e,selectors:[[`app-dashboard`]],inputs:{rpc:[1,`rpc`]},outputs:{navigate:`navigate`},decls:56,vars:9,consts:[[1,`grid`],[1,`card`],[1,`card`,`clickable`,3,`click`],[1,`big`],[1,`sub`]],template:function(e,t){e&1&&(q(0,`div`,0)(1,`div`,1)(2,`h2`),Z(3,`Project`),J(),q(4,`dl`)(5,`dt`),Z(6,`Name`),J(),q(7,`dd`),Z(8),J(),q(9,`dt`),Z(10,`Angular`),J(),q(11,`dd`),Z(12),J(),q(13,`dt`),Z(14,`TypeScript`),J(),q(15,`dd`),Z(16),J(),q(17,`dt`),Z(18,`SSR`),J(),q(19,`dd`),Z(20),J()()(),q(21,`div`,2),Y(`click`,function(){return t.navigate.emit(`components`)}),q(22,`h2`),Z(23,`Components`),J(),q(24,`p`,3),Z(25),J(),q(26,`p`,4),Z(27,`discovered in source`),J()(),q(28,`div`,2),Y(`click`,function(){return t.navigate.emit(`routes`)}),q(29,`h2`),Z(30,`Routes`),J(),q(31,`p`,3),Z(32),J(),q(33,`p`,4),Z(34,`registered paths`),J()(),q(35,`div`,2),Y(`click`,function(){return t.navigate.emit(`signals`)}),q(36,`h2`),Z(37,`Signals`),J(),q(38,`p`,3),Z(39),J(),q(40,`p`,4),Z(41,`reactive primitives`),J()(),q(42,`div`,2),Y(`click`,function(){return t.navigate.emit(`injectors`)}),q(43,`h2`),Z(44,`Injectors`),J(),q(45,`p`,3),Z(46),J(),q(47,`p`,4),Z(48,`DI providers`),J()(),q(49,`div`,2),Y(`click`,function(){return t.navigate.emit(`store`)}),q(50,`h2`),Z(51,`NgRx Store`),J(),q(52,`p`,3),Z(53),J(),q(54,`p`,4),Z(55,`store entries`),J()()()),e&2&&(W(8),Q(t.meta()?.projectName??`…`),W(4),Q(t.meta()?.angularVersion??`…`),W(4),Q(t.meta()?.typescript??`…`),W(4),Q(t.meta()?.ssr?`Yes`:`No`),W(5),Q(t.componentCount()),W(7),Q(t.routeCount()),W(7),Q(t.signalCount()),W(7),Q(t.providerCount()),W(7),Q(t.storeCount()))},styles:[`.grid[_ngcontent-%COMP%] { - display: grid; - grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); - gap: 16px; - } - .card[_ngcontent-%COMP%] { - background: #18181b; - border: 1px solid #27272a; - border-radius: 10px; - padding: 20px; - } - .card.clickable[_ngcontent-%COMP%] { - cursor: pointer; - transition: border-color 0.15s; - } - .card.clickable[_ngcontent-%COMP%]:hover { - border-color: var(--%NS%accent); - } - h2[_ngcontent-%COMP%] { - font-size: 13px; - text-transform: uppercase; - color: #71717a; - margin-bottom: 12px; - letter-spacing: 0.05em; - } - dl[_ngcontent-%COMP%] { - display: grid; - grid-template-columns: auto 1fr; - gap: 6px 12px; - font-size: 14px; - } - dt[_ngcontent-%COMP%] { - color: #a1a1aa; - } - dd[_ngcontent-%COMP%] { - color: #e4e4e7; - font-weight: 500; - } - .big[_ngcontent-%COMP%] { - font-size: 36px; - font-weight: 700; - color: var(--%NS%accent); - } - .sub[_ngcontent-%COMP%] { - font-size: 13px; - color: #71717a; - margin-top: 4px; - }`]})},LS=(e,t)=>t.selector,RS=(e,t)=>t.token+t.line;function zS(e,t){e&1&&(q(0,`p`,3),Z(1,`Scanning components…`),J())}function BS(e,t){e&1&&(q(0,`p`,3),Z(1,`No components found.`),J())}function VS(e,t){if(e&1&&(q(0,`div`,10)(1,`span`,11),Z(2,`Inputs:`),J(),Z(3),J()),e&2){let e=X().$implicit;W(3),$(` `,e.inputs.join(`, `),` `)}}function HS(e,t){if(e&1&&(q(0,`div`,10)(1,`span`,11),Z(2,`Outputs:`),J(),Z(3),J()),e&2){let e=X().$implicit;W(3),$(` `,e.outputs.join(`, `),` `)}}function US(e,t){if(e&1){let e=Uh();q(0,`li`,7),Y(`click`,function(){let t=lo(e).$implicit;return uo(X(2).select(t))}),q(1,`div`,8),Z(2),J(),q(3,`div`,9),Z(4),J(),G(5,VS,4,1,`div`,10),G(6,HS,4,1,`div`,10),J()}if(e&2){let e=t.$implicit;W(2),$(`<`,e.selector,`>`),W(2),Q(e.file),W(),K(e.inputs.length?5:-1),W(),K(e.outputs.length?6:-1)}}function WS(e,t){if(e&1&&(q(0,`ul`,4),xh(1,US,7,4,`li`,6,LS),J()),e&2){let e=X();W(),Ch(e.filtered())}}function GS(e,t){if(e&1&&(q(0,`dt`),Z(1,`Inputs`),J(),q(2,`dd`),Z(3),J()),e&2){let e=X(2);W(3),Q(e.selected().inputs.join(`, `))}}function KS(e,t){if(e&1&&(q(0,`dt`),Z(1,`Outputs`),J(),q(2,`dd`),Z(3),J()),e&2){let e=X(2);W(3),Q(e.selected().outputs.join(`, `))}}function qS(e,t){if(e&1&&(q(0,`span`,17),Z(1),J()),e&2){let e=X().$implicit;W(),$(`→ `,e.source)}}function JS(e,t){if(e&1&&(q(0,`li`,14)(1,`span`,15),Z(2),J(),q(3,`span`,16),Z(4),J(),G(5,qS,2,1,`span`,17),J()),e&2){let e=t.$implicit;W(2),Q(e.token),W(2),Q(e.type),W(),K(e.source&&e.source!==`class`&&e.source!==`providers array`?5:-1)}}function YS(e,t){if(e&1&&(q(0,`h4`),Z(1,`Injected Providers`),J(),q(2,`ul`,13),xh(3,JS,6,3,`li`,14,RS),J()),e&2){let e=X(2);W(3),Ch(e.selectedProviders())}}function XS(e,t){e&1&&(q(0,`p`,12),Z(1,`No injected providers detected.`),J())}function ZS(e,t){if(e&1&&(q(0,`aside`,5)(1,`h3`),Z(2),J(),q(3,`dl`)(4,`dt`),Z(5,`File`),J(),q(6,`dd`),Z(7),J(),G(8,GS,4,1),G(9,KS,4,1),q(10,`dt`),Z(11,`Standalone`),J(),q(12,`dd`),Z(13),J()(),G(14,YS,5,0)(15,XS,2,0,`p`,12),J()),e&2){let e=X();W(2),$(`<`,e.selected().selector,`>`),W(5),Q(e.selected().file),W(),K(e.selected().inputs.length?8:-1),W(),K(e.selected().outputs.length?9:-1),W(4),Q(e.selected().isStandalone?`Yes`:`No`),W(),K(e.selectedProviders().length?14:15)}}var QS=class e{rpc=Yg(null);components=V([]);allProviders=V([]);filter=V(``);loading=V(!1);selected=V(null);selectedProviders=V([]);filtered=V([]);constructor(){Vs(()=>{let e=this.filter().toLowerCase(),t=this.components();this.filtered.set(e?t.filter(t=>t.selector.includes(e)||t.file.includes(e)):t)}),Vs(()=>{this.rpc()&&this.refresh()})}async refresh(){let e=this.rpc();if(e){this.loading.set(!0);try{let t=e.scope(`ng-devtools`),[n,r]=await Promise.all([t.rpc.call(`get-components`),t.rpc.call(`get-providers`)]);this.components.set(n),this.allProviders.set(r);let i=this.selected();i&&this.selectedProviders.set(r.filter(e=>e.file===i.file))}finally{this.loading.set(!1)}}}select(e){this.selected.set(e),this.selectedProviders.set(this.allProviders().filter(t=>t.file===e.file));let t=this.rpc();t&&t.scope(`ng-devtools`).rpc.callEvent(`select-component`,e.selector)}static ɵfac=function(t){return new(t||e)};static ɵcmp=Hp({type:e,selectors:[[`app-component-tree`]],inputs:{rpc:[1,`rpc`]},decls:8,vars:3,consts:[[1,`toolbar`],[`type`,`text`,`placeholder`,`Filter components…`,3,`input`,`value`],[3,`click`],[1,`muted`],[`role`,`list`,1,`component-list`],[1,`detail`],[1,`component-item`],[1,`component-item`,3,`click`],[1,`selector`],[1,`file`],[1,`io`],[1,`label`],[1,`no-providers`],[`role`,`list`,1,`provider-list`],[1,`provider-item`],[1,`provider-token`],[1,`provider-type`],[1,`provider-source`]],template:function(e,t){e&1&&(q(0,`div`,0)(1,`input`,1),Y(`input`,function(e){return t.filter.set(e.target.value)}),J(),q(2,`button`,2),Y(`click`,function(){return t.refresh()}),Z(3,`Refresh`),J()(),G(4,zS,2,0,`p`,3)(5,BS,2,0,`p`,3)(6,WS,3,0,`ul`,4),G(7,ZS,16,6,`aside`,5)),e&2&&(W(),Wh(`value`,t.filter()),W(3),K(t.loading()?4:t.filtered().length===0?5:6),W(3),K(t.selected()?7:-1))},styles:[`.toolbar[_ngcontent-%COMP%] { - display: flex; - gap: 8px; - margin-bottom: 16px; - } - input[_ngcontent-%COMP%] { - flex: 1; - padding: 8px 12px; - background: #18181b; - border: 1px solid #27272a; - border-radius: 6px; - color: #e4e4e7; - font-size: 14px; - outline: none; - } - input[_ngcontent-%COMP%]:focus { - border-color: var(--%NS%accent); - } - button[_ngcontent-%COMP%] { - padding: 8px 16px; - background: #3f3f46; - border: none; - border-radius: 6px; - color: #e4e4e7; - cursor: pointer; - font-size: 13px; - } - button[_ngcontent-%COMP%]:hover { - background: #52525b; - } - .muted[_ngcontent-%COMP%] { - color: #71717a; - font-size: 14px; - } - .component-list[_ngcontent-%COMP%] { - list-style: none; - padding: 0; - display: flex; - flex-direction: column; - gap: 8px; - } - .component-item[_ngcontent-%COMP%] { - background: #18181b; - border: 1px solid #27272a; - border-radius: 8px; - padding: 12px 16px; - cursor: pointer; - transition: border-color 0.15s; - } - .component-item[_ngcontent-%COMP%]:hover { - border-color: var(--%NS%accent); - } - .selector[_ngcontent-%COMP%] { - font-family: monospace; - font-size: 15px; - color: var(--%NS%accent); - font-weight: 600; - } - .file[_ngcontent-%COMP%] { - font-size: 12px; - color: #71717a; - margin-top: 2px; - } - .io[_ngcontent-%COMP%] { - font-size: 13px; - color: #a1a1aa; - margin-top: 4px; - } - .io[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] { - color: #71717a; - } - .detail[_ngcontent-%COMP%] { - margin-top: 16px; - padding: 16px; - background: #18181b; - border: 1px solid #27272a; - border-radius: 8px; - } - .detail[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] { - font-family: monospace; - color: var(--%NS%accent); - margin-bottom: 12px; - } - dl[_ngcontent-%COMP%] { - display: grid; - grid-template-columns: auto 1fr; - gap: 4px 12px; - font-size: 13px; - margin-bottom: 16px; - } - dt[_ngcontent-%COMP%] { - color: #71717a; - } - dd[_ngcontent-%COMP%] { - color: #e4e4e7; - } - h4[_ngcontent-%COMP%] { - font-size: 12px; - text-transform: uppercase; - letter-spacing: 0.05em; - color: #71717a; - margin-bottom: 8px; - } - .provider-list[_ngcontent-%COMP%] { - list-style: none; - padding: 0; - display: flex; - flex-direction: column; - gap: 6px; - } - .provider-item[_ngcontent-%COMP%] { - display: flex; - align-items: center; - gap: 8px; - padding: 6px 10px; - background: #09090b; - border: 1px solid #27272a; - border-radius: 6px; - font-size: 13px; - } - .provider-token[_ngcontent-%COMP%] { - font-family: monospace; - color: #e4e4e7; - font-weight: 600; - } - .provider-type[_ngcontent-%COMP%] { - font-size: 11px; - padding: 1px 6px; - border-radius: 4px; - background: #3f3f46; - color: #a1a1aa; - } - .provider-source[_ngcontent-%COMP%] { - font-size: 12px; - color: #71717a; - } - .no-providers[_ngcontent-%COMP%] { - font-size: 13px; - color: #52525b; - }`]})};function $S(e,t){e&1&&(q(0,`p`,3),Z(1,`Scanning routes…`),J())}function eC(e,t){e&1&&(q(0,`p`,3),Z(1,`No routes found.`),J())}function tC(e,t){if(e&1&&(q(0,`span`,7),Z(1),J()),e&2){let e=X().$implicit;W(),$(`➜ `,e.redirectTo)}}function nC(e,t){if(e&1&&Z(0),e&2){let e=X().$implicit;$(` `,e.component??`—`,` `)}}function rC(e,t){if(e&1&&(q(0,`tr`)(1,`td`,6),Z(2),J(),q(3,`td`),G(4,tC,2,1,`span`,7)(5,nC,1,1),J(),q(6,`td`),Z(7),J(),q(8,`td`,8),Z(9),J(),q(10,`td`),Z(11),J()()),e&2){let e=t.$implicit;W(2),$(`/`,e.path),W(2),K(e.redirectTo===void 0?5:4),W(3),Q(e.title??`—`),W(2),Q(e.file),W(2),Q(e.hasChildren?`Yes`:`—`)}}function iC(e,t){if(e&1&&(q(0,`table`,4)(1,`thead`)(2,`tr`)(3,`th`,5),Z(4,`Path`),J(),q(5,`th`,5),Z(6,`Component / Target`),J(),q(7,`th`,5),Z(8,`Title`),J(),q(9,`th`,5),Z(10,`File`),J(),q(11,`th`,5),Z(12,`Children`),J()()(),q(13,`tbody`),xh(14,rC,12,5,`tr`,null,vh),J()()),e&2){let e=X();W(14),Ch(e.filtered())}}var aC=class e{rpc=Yg(null);routes=V([]);filter=V(``);loading=V(!1);filtered=Wg(()=>{let e=this.filter().toLowerCase().trim(),t=this.routes();return e?t.filter(t=>t.path.toLowerCase().includes(e)||t.component&&t.component.toLowerCase().includes(e)||t.redirectTo&&t.redirectTo.toLowerCase().includes(e)||t.title&&t.title.toLowerCase().includes(e)||t.file.toLowerCase().includes(e)):t});constructor(){Vs(()=>{this.rpc()&&this.refresh()})}onFilterInput(e){let t=e.target;this.filter.set(t?.value??``)}async refresh(){let e=this.rpc();if(e){this.loading.set(!0);try{let t=await e.scope(`ng-devtools`).rpc.call(`get-routes`);this.routes.set(t)}finally{this.loading.set(!1)}}}static ɵfac=function(t){return new(t||e)};static ɵcmp=Hp({type:e,selectors:[[`app-route-inspector`]],inputs:{rpc:[1,`rpc`]},decls:7,vars:2,consts:[[1,`toolbar`],[`type`,`text`,`aria-label`,`Filter routes`,`placeholder`,`Filter routes…`,3,`input`,`value`],[`type`,`button`,3,`click`],[1,`muted`],[`role`,`table`],[`scope`,`col`],[1,`path`],[1,`redirect`],[1,`file`]],template:function(e,t){e&1&&(q(0,`div`,0)(1,`input`,1),Y(`input`,function(e){return t.onFilterInput(e)}),J(),q(2,`button`,2),Y(`click`,function(){return t.refresh()}),Z(3,`Refresh`),J()(),G(4,$S,2,0,`p`,3)(5,eC,2,0,`p`,3)(6,iC,16,0,`table`,4)),e&2&&(W(),Wh(`value`,t.filter()),W(3),K(t.loading()?4:t.filtered().length===0?5:6))},styles:[`.toolbar[_ngcontent-%COMP%] { - display: flex; - gap: 8px; - margin-bottom: 16px; - } - input[_ngcontent-%COMP%] { - flex: 1; - padding: 8px 12px; - background: #18181b; - border: 1px solid #27272a; - border-radius: 6px; - color: #e4e4e7; - font-size: 14px; - outline: none; - } - input[_ngcontent-%COMP%]:focus { - border-color: var(--%NS%accent); - } - button[_ngcontent-%COMP%] { - padding: 8px 16px; - background: #3f3f46; - border: none; - border-radius: 6px; - color: #e4e4e7; - cursor: pointer; - font-size: 13px; - } - button[_ngcontent-%COMP%]:hover { - background: #52525b; - } - .muted[_ngcontent-%COMP%] { - color: #71717a; - font-size: 14px; - } - table[_ngcontent-%COMP%] { - width: 100%; - border-collapse: collapse; - font-size: 14px; - } - thead[_ngcontent-%COMP%] { - position: sticky; - top: 0; - } - th[_ngcontent-%COMP%] { - text-align: left; - padding: 8px 12px; - background: #18181b; - color: #71717a; - font-size: 12px; - text-transform: uppercase; - letter-spacing: 0.05em; - border-bottom: 1px solid #27272a; - } - td[_ngcontent-%COMP%] { - padding: 10px 12px; - border-bottom: 1px solid #1e1e22; - } - tr[_ngcontent-%COMP%]:hover td[_ngcontent-%COMP%] { - background: #18181b; - } - .path[_ngcontent-%COMP%] { - font-family: monospace; - color: var(--%NS%accent); - font-weight: 500; - } - .redirect[_ngcontent-%COMP%] { - font-family: monospace; - color: #38bdf8; - } - .file[_ngcontent-%COMP%] { - font-size: 12px; - color: #71717a; - }`]})},oC=(e,t)=>t.name+t.file+t.line,sC=(e,t)=>t.kind,cC=(e,t)=>t.id;function lC(e,t){e&1&&(q(0,`div`,3)(1,`p`,4),Z(2,`No signals found.`),J(),q(3,`p`,5),Z(4,` No signal(), computed(), effect() calls found in source. Runtime graph requires Angular 19+ with the overlay connected. `),J()())}function uC(e,t){if(e&1&&Z(0),e&2){let e=X().$implicit;$(` · in <`,e.component,`> `)}}function dC(e,t){if(e&1&&(q(0,`div`,8)(1,`div`,9)(2,`span`,10),Z(3),J(),q(4,`span`,11),Z(5),J()(),q(6,`div`,12),Z(7),G(8,uC,1,1),J()()),e&2){let e=t.$implicit,n=X(2);W(2),cg(`background`,n.kindColor(e.kind)),W(),Q(e.kind),W(2),Q(e.name),W(2),Og(` `,e.file,`:`,e.line,` `),W(),K(e.component?8:-1)}}function fC(e,t){if(e&1&&(q(0,`p`,6),Z(1,`Signals from source scan (static analysis):`),J(),q(2,`div`,7),xh(3,dC,9,7,`div`,8,oC),J()),e&2){let e=X();W(3),Ch(e.filteredSourceSignals())}}function pC(e,t){if(e&1&&(q(0,`span`,14),Ih(1,`span`,17),Z(2),J()),e&2){let e=t.$implicit;W(),cg(`background`,e.color),W(),$(` `,e.kind,` `)}}function mC(e,t){e&1&&(q(0,`span`,19),Z(1,`watching`),J())}function hC(e,t){if(e&1&&(q(0,`div`,20),Z(1),Pg(2,`json`),J()),e&2){let e=X().$implicit;W(),Q(Ig(2,1,e.value))}}function gC(e,t){if(e&1&&Z(0),e&2){let e=X().$implicit;$(` · Deps: `,X(2).getDependencies(e).length,` `)}}function _C(e,t){if(e&1&&Z(0),e&2){let e=X().$implicit;$(` · Consumers: `,X(2).getConsumers(e).length,` `)}}function vC(e,t){if(e&1){let e=Uh();q(0,`div`,18),Y(`click`,function(){let t=lo(e).$implicit;return uo(X(2).selectNode(t))}),q(1,`div`,9)(2,`span`,10),Z(3),J(),q(4,`span`,11),Z(5),J(),G(6,mC,2,0,`span`,19),J(),G(7,hC,3,3,`div`,20),q(8,`div`,12),Z(9),G(10,gC,1,1),G(11,_C,1,1),J()()}if(e&2){let e=t.$implicit,n=X(2);lg(`selected`,n.selectedNode()?.id===e.id),W(2),cg(`background`,n.kindColor(e.kind)),W(),Q(e.kind),W(2),Q(e.label??`(unnamed)`),W(),K(e.watched?6:-1),W(),K(e.value===void 0?-1:7),W(2),$(` Epoch: `,e.epoch,` `),W(),K(n.getDependencies(e).length?10:-1),W(),K(n.getConsumers(e).length?11:-1)}}function yC(e,t){if(e&1&&(q(0,`dt`),Z(1,`Value`),J(),q(2,`dd`)(3,`pre`),Z(4),Pg(5,`json`),J()()),e&2){let e=X(3);W(4),Q(Ig(5,1,e.selectedNode().value))}}function bC(e,t){if(e&1&&(q(0,`li`)(1,`span`,21),Z(2),J(),Z(3),J()),e&2){let e=t.$implicit,n=X(4);W(),cg(`background`,n.kindColor(e.kind)),W(),Q(e.kind),W(),$(` `,e.label??e.id,` `)}}function xC(e,t){if(e&1&&(q(0,`h4`),Z(1,`Dependencies (producers)`),J(),q(2,`ul`),xh(3,bC,4,4,`li`,null,cC),J()),e&2){let e=X(3);W(3),Ch(e.getDependencies(e.selectedNode()))}}function SC(e,t){if(e&1&&(q(0,`li`)(1,`span`,21),Z(2),J(),Z(3),J()),e&2){let e=t.$implicit,n=X(4);W(),cg(`background`,n.kindColor(e.kind)),W(),Q(e.kind),W(),$(` `,e.label??e.id,` `)}}function CC(e,t){if(e&1&&(q(0,`h4`),Z(1,`Consumers`),J(),q(2,`ul`),xh(3,SC,4,4,`li`,null,cC),J()),e&2){let e=X(3);W(3),Ch(e.getConsumers(e.selectedNode()))}}function wC(e,t){if(e&1&&(q(0,`aside`,16)(1,`h3`),Z(2),J(),q(3,`dl`)(4,`dt`),Z(5,`Kind`),J(),q(6,`dd`),Z(7),J(),q(8,`dt`),Z(9,`Epoch`),J(),q(10,`dd`),Z(11),J(),G(12,yC,6,3),J(),G(13,xC,5,0),G(14,CC,5,0),J()),e&2){let e=X(2);W(2),Q(e.selectedNode().label??e.selectedNode().id),W(5),Q(e.selectedNode().kind),W(4),Q(e.selectedNode().epoch),W(),K(e.selectedNode().value===void 0?-1:12),W(),K(e.getDependencies(e.selectedNode()).length?13:-1),W(),K(e.getConsumers(e.selectedNode()).length?14:-1)}}function TC(e,t){if(e&1&&(q(0,`div`,13),xh(1,pC,3,3,`span`,14,sC),J(),q(3,`div`,7),xh(4,vC,12,11,`div`,15,cC),J(),G(6,wC,15,6,`aside`,16)),e&2){let e=X();W(),Ch(e.kindLegend),W(3),Ch(e.filteredNodes()),W(2),K(e.selectedNode()?6:-1)}}var EC={signal:`#a78bfa`,computed:`#60a5fa`,linkedSignal:`#34d399`,effect:`#fb923c`,template:`#94a3b8`,afterRenderEffectPhase:`#f472b6`,childSignalProp:`#c084fc`,"input (signal)":`#f59e0b`,"input.required (signal)":`#f59e0b`,"output (signal)":`#ec4899`,"model (signal)":`#14b8a6`,"model.required (signal)":`#14b8a6`,"viewChild (signal)":`#8b5cf6`,"viewChild.required (signal)":`#8b5cf6`,"viewChildren (signal)":`#8b5cf6`,"contentChild (signal)":`#6366f1`,"contentChild.required (signal)":`#6366f1`,"contentChildren (signal)":`#6366f1`,resource:`#06b6d4`,unknown:`#71717a`},DC=class e{rpc=Yg(null);graph=V(null);sourceSignals=V([]);filter=V(``);selectedNode=V(null);kindLegend=Object.entries(EC).map(([e,t])=>({kind:e,color:t}));filteredNodes=Wg(()=>{let e=this.graph();if(!e)return[];let t=this.filter().toLowerCase();return t?e.nodes.filter(e=>(e.label??``).toLowerCase().includes(t)||e.kind.includes(t)):e.nodes});filteredSourceSignals=Wg(()=>{let e=this.filter().toLowerCase(),t=this.sourceSignals();return e?t.filter(t=>t.name.toLowerCase().includes(e)||t.kind.includes(e)||t.file.includes(e)):t});constructor(){Vs(()=>{let e=this.rpc();e&&(this.loadSignalGraph(e),this.loadSourceSignals(e))})}async loadSignalGraph(e){let t=await e.scope(`ng-devtools`).rpc.sharedState(`signal-graph`),n=t.value();n?.graph&&this.graph.set(n.graph),t.on(`updated`,e=>{e?.graph&&this.graph.set(e.graph)})}async loadSourceSignals(e){let t=e.scope(`ng-devtools`);try{let e=await t.rpc.call(`get-signals`);this.sourceSignals.set(e)}catch{}}selectNode(e){this.selectedNode.set(this.selectedNode()?.id===e.id?null:e)}kindColor(e){return EC[e]??EC.unknown}getDependencies(e){let t=this.graph();if(!t)return[];let n=t.nodes.findIndex(t=>t.id===e.id);return t.edges.filter(e=>e.consumer===n).map(e=>t.nodes[e.producer]).filter(Boolean)}getConsumers(e){let t=this.graph();if(!t)return[];let n=t.nodes.findIndex(t=>t.id===e.id);return t.edges.filter(e=>e.producer===n).map(e=>t.nodes[e.consumer]).filter(Boolean)}static ɵfac=function(t){return new(t||e)};static ɵcmp=Hp({type:e,selectors:[[`app-signal-inspector`]],inputs:{rpc:[1,`rpc`]},decls:7,vars:5,consts:[[1,`toolbar`],[`type`,`text`,`placeholder`,`Filter by name or kind…`,3,`input`,`value`],[1,`label`],[1,`empty`],[1,`muted`],[1,`hint`],[1,`source-label`],[1,`nodes`],[1,`node-card`],[1,`node-header`],[1,`kind-badge`],[1,`node-label`],[1,`node-meta`],[1,`legend`],[1,`legend-item`],[1,`node-card`,3,`selected`],[1,`detail-panel`],[1,`dot`],[1,`node-card`,3,`click`],[1,`watched-badge`],[1,`node-value`],[1,`kind-badge`,`sm`]],template:function(e,t){e&1&&(q(0,`div`,0)(1,`input`,1),Y(`input`,function(e){return t.filter.set(e.target.value)}),J(),q(2,`span`,2),Z(3),J()(),G(4,lC,5,0,`div`,3),G(5,fC,5,0),G(6,TC,7,1)),e&2&&(W(),Wh(`value`,t.filter()),W(2),$(`Component: `,t.graph()?.componentSelector??`—`),W(),K(!t.graph()&&t.sourceSignals().length===0?4:-1),W(),K(!t.graph()&&t.sourceSignals().length>0?5:-1),W(),K(t.graph()?6:-1))},dependencies:[d_],styles:[`.toolbar[_ngcontent-%COMP%] { - display: flex; - gap: 12px; - align-items: center; - margin-bottom: 16px; - } - input[_ngcontent-%COMP%] { - flex: 1; - padding: 8px 12px; - background: #18181b; - border: 1px solid #27272a; - border-radius: 6px; - color: #e4e4e7; - font-size: 14px; - outline: none; - } - input[_ngcontent-%COMP%]:focus { - border-color: var(--%NS%accent); - } - .label[_ngcontent-%COMP%] { - font-size: 13px; - color: #71717a; - white-space: nowrap; - } - .empty[_ngcontent-%COMP%] { - text-align: center; - padding: 48px 16px; - } - .muted[_ngcontent-%COMP%] { - color: #71717a; - font-size: 14px; - } - .hint[_ngcontent-%COMP%] { - color: #52525b; - font-size: 12px; - margin-top: 8px; - } - .source-label[_ngcontent-%COMP%] { - font-size: 13px; - color: #71717a; - margin-bottom: 12px; - } - .legend[_ngcontent-%COMP%] { - display: flex; - gap: 12px; - flex-wrap: wrap; - margin-bottom: 16px; - } - .legend-item[_ngcontent-%COMP%] { - display: flex; - align-items: center; - gap: 4px; - font-size: 12px; - color: #a1a1aa; - } - .dot[_ngcontent-%COMP%] { - width: 8px; - height: 8px; - border-radius: 50%; - } - .nodes[_ngcontent-%COMP%] { - display: flex; - flex-direction: column; - gap: 8px; - } - .node-card[_ngcontent-%COMP%] { - background: #18181b; - border: 1px solid #27272a; - border-radius: 8px; - padding: 12px 16px; - cursor: pointer; - transition: border-color 0.15s; - } - .node-card[_ngcontent-%COMP%]:hover { - border-color: #3f3f46; - } - .node-card.selected[_ngcontent-%COMP%] { - border-color: var(--%NS%accent); - } - .node-header[_ngcontent-%COMP%] { - display: flex; - align-items: center; - gap: 8px; - } - .kind-badge[_ngcontent-%COMP%] { - font-size: 11px; - padding: 2px 8px; - border-radius: 4px; - color: #fff; - font-weight: 600; - text-transform: uppercase; - letter-spacing: 0.05em; - } - .kind-badge.sm[_ngcontent-%COMP%] { - font-size: 10px; - padding: 1px 5px; - } - .node-label[_ngcontent-%COMP%] { - font-family: monospace; - font-size: 14px; - color: #e4e4e7; - } - .watched-badge[_ngcontent-%COMP%] { - font-size: 10px; - padding: 1px 6px; - border-radius: 4px; - background: #14532d; - color: #4ade80; - } - .node-value[_ngcontent-%COMP%] { - font-family: monospace; - font-size: 12px; - color: #a1a1aa; - margin-top: 4px; - max-height: 40px; - overflow: hidden; - } - .node-meta[_ngcontent-%COMP%] { - font-size: 11px; - color: #52525b; - margin-top: 4px; - } - .detail-panel[_ngcontent-%COMP%] { - margin-top: 16px; - padding: 16px; - background: #18181b; - border: 1px solid #27272a; - border-radius: 8px; - } - .detail-panel[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] { - font-family: monospace; - color: var(--%NS%accent); - margin-bottom: 12px; - } - .detail-panel[_ngcontent-%COMP%] h4[_ngcontent-%COMP%] { - font-size: 12px; - color: #71717a; - margin: 12px 0 4px; - text-transform: uppercase; - letter-spacing: 0.05em; - } - dl[_ngcontent-%COMP%] { - display: grid; - grid-template-columns: auto 1fr; - gap: 4px 12px; - font-size: 13px; - } - dt[_ngcontent-%COMP%] { - color: #71717a; - } - dd[_ngcontent-%COMP%] { - color: #e4e4e7; - } - pre[_ngcontent-%COMP%] { - font-size: 12px; - white-space: pre-wrap; - margin: 0; - } - ul[_ngcontent-%COMP%] { - list-style: none; - padding: 0; - font-size: 13px; - } - li[_ngcontent-%COMP%] { - padding: 2px 0; - color: #a1a1aa; - display: flex; - align-items: center; - gap: 6px; - }`]})},OC=(e,t)=>t.type,kC=(e,t)=>t.token+t.file+t.line,AC=(e,t)=>t.injector.id,jC=(e,t)=>t.node.injector.id,MC=(e,t)=>t.token;function NC(e,t){e&1&&(q(0,`div`,4)(1,`p`,5),Z(2,`No DI data found.`),J(),q(3,`p`,6),Z(4,` No providers, injectables, or inject() calls found. Runtime tree requires Angular 17+ with the overlay connected. `),J()())}function PC(e,t){if(e&1&&(q(0,`span`,14),Z(1),J()),e&2){let e=X().$implicit;W(),$(`providedIn: `,e.providedIn)}}function FC(e,t){if(e&1&&Z(0),e&2){let e=X().$implicit;$(` · as `,e.source,` `)}}function IC(e,t){if(e&1&&(q(0,`div`,11)(1,`div`,12)(2,`span`,13),Z(3),J(),G(4,PC,2,1,`span`,14),J(),q(5,`div`,15),Z(6),G(7,FC,1,1),J()()),e&2){let e=t.$implicit;W(3),Q(e.token),W(),K(e.providedIn?4:-1),W(2),Og(` `,e.file,`:`,e.line,` `),W(),K(e.source!==`class`&&e.source!==`providers array`?7:-1)}}function LC(e,t){if(e&1&&(q(0,`div`,9)(1,`h3`),Z(2),J(),q(3,`div`,10),xh(4,IC,8,5,`div`,11,kC),J()()),e&2){let e=t.$implicit;W(2),Og(``,e.label,` (`,e.items.length,`)`),W(2),Ch(e.items)}}function RC(e,t){if(e&1&&(q(0,`p`,7),Z(1,`DI from source scan (static analysis):`),J(),q(2,`div`,8),xh(3,LC,6,2,`div`,9,OC),J()),e&2){let e=X();W(3),Ch(e.groupedProviders())}}function zC(e,t){e&1&&Vh(0)}function BC(e,t){if(e&1&&(q(0,`span`,24),Z(1),J()),e&2){let e=X().$implicit;W(),$(``,e.node.injector.providerCount,` providers`)}}function VC(e,t){if(e&1){let e=Uh();q(0,`div`,21),Y(`click`,function(){let t=lo(e).$implicit;return uo(X(4).select(t.node))}),q(1,`span`,22),Z(2),J(),q(3,`span`,23),Z(4),J(),G(5,BC,2,1,`span`,24),J()}if(e&2){let e=t.$implicit,n=X(4);cg(`padding-left`,e.depth*24+12,`px`),lg(`selected`,n.selectedId()===e.node.injector.id),W(),cg(`background`,n.typeColor(e.node.injector.type)),W(),$(` `,e.node.injector.type,` `),W(2),Q(e.node.injector.name),W(),K(e.node.injector.providerCount>0?5:-1)}}function HC(e,t){if(e&1&&(q(0,`div`,19),xh(1,VC,6,9,`div`,20,jC),J()),e&2){let e=X().$implicit,t=X(2);W(),Ch(t.flattenTree(e))}}function UC(e,t){e&1&&(tm(0,zC,1,0,`ng-container`,18)(1,HC,3,0),oh(2,1),sh()),e&2&&Wh(`ngTemplateOutlet`,void 0)}function WC(e,t){e&1&&(q(0,`p`,5),Z(1,`No providers configured on this injector.`),J())}function GC(e,t){if(e&1&&(q(0,`tr`)(1,`td`,13),Z(2),J(),q(3,`td`),Z(4),J(),q(5,`td`),Z(6),J()()),e&2){let e=t.$implicit;W(2),Q(e.token),W(2),Q(e.type),W(2),Q(e.isViewProvider?`Yes`:`—`)}}function KC(e,t){if(e&1&&(q(0,`table`,26)(1,`thead`)(2,`tr`)(3,`th`),Z(4,`Token`),J(),q(5,`th`),Z(6,`Type`),J(),q(7,`th`),Z(8,`View`),J()()(),q(9,`tbody`),xh(10,GC,7,3,`tr`,null,MC),J()()),e&2){let e=X(3);W(10),Ch(e.selectedInjector().providers)}}function qC(e,t){if(e&1&&(q(0,`aside`,17)(1,`div`,25)(2,`span`,22),Z(3),J(),q(4,`h3`),Z(5),J()(),G(6,WC,2,0,`p`,5)(7,KC,12,0,`table`,26),J()),e&2){let e=X(2);W(2),cg(`background`,e.typeColor(e.selectedInjector().injector.type)),W(),$(` `,e.selectedInjector().injector.type,` `),W(2),Q(e.selectedInjector().injector.name),W(),K(e.selectedInjector().providers.length===0?6:7)}}function JC(e,t){if(e&1&&(q(0,`div`,16),xh(1,UC,4,1,null,null,AC),J(),G(3,qC,8,5,`aside`,17)),e&2){let e=X();W(),Ch(e.filteredRoots()),W(2),K(e.selectedInjector()?3:-1)}}var YC={element:`#60a5fa`,environment:`#34d399`,null:`#71717a`},XC=class e{rpc=Yg(null);roots=V([]);sourceProviders=V([]);filter=V(``);hideEmpty=V(!1);selectedId=V(null);selectedInjector=Wg(()=>{let e=this.selectedId();return e?this.findNode(this.roots(),e):null});filteredRoots=Wg(()=>{let e=this.roots();this.hideEmpty()&&(e=this.filterEmpty(e));let t=this.filter().toLowerCase();return t&&(e=this.filterByQuery(e,t)),e});groupedProviders=Wg(()=>{let e=this.sourceProviders(),t=this.filter().toLowerCase(),n=t?e.filter(e=>e.token.toLowerCase().includes(t)||e.file.includes(t)):e,r=[{type:`root-provider`,label:`Root Providers (provide*)`,items:[]},{type:`injectable`,label:`Injectable Services`,items:[]},{type:`injection`,label:`inject() Calls`,items:[]},{type:`provider`,label:`Component Providers`,items:[]}];for(let e of n){let t=r.find(t=>t.type===e.type);t&&t.items.push(e)}return r.filter(e=>e.items.length>0)});constructor(){Vs(()=>{let e=this.rpc();e&&(this.loadInjectorTree(e),this.loadSourceProviders(e))})}async loadInjectorTree(e){let t=await e.scope(`ng-devtools`).rpc.sharedState(`injector-tree`),n=t.value();n?.roots?.length&&this.roots.set(n.roots),t.on(`updated`,e=>{e?.roots&&this.roots.set(e.roots)})}async loadSourceProviders(e){let t=e.scope(`ng-devtools`);try{let e=await t.rpc.call(`get-providers`);this.sourceProviders.set(e)}catch{}}select(e){this.selectedId.set(this.selectedId()===e.injector.id?null:e.injector.id)}typeColor(e){return YC[e]??YC.null}flattenTree(e){let t=[],n=(e,r)=>{t.push({node:e,depth:r});for(let t of e.children)n(t,r+1)};return n(e,0),t}findNode(e,t){for(let n of e){if(n.injector.id===t)return n;let e=this.findNode(n.children,t);if(e)return e}return null}filterEmpty(e){return e.map(e=>({...e,children:this.filterEmpty(e.children)})).filter(e=>e.injector.providerCount>0||e.children.length>0)}filterByQuery(e,t){return e.map(e=>({...e,children:this.filterByQuery(e.children,t)})).filter(e=>e.injector.name.toLowerCase().includes(t)||e.providers.some(e=>e.token.toLowerCase().includes(t))||e.children.length>0)}static ɵfac=function(t){return new(t||e)};static ɵcmp=Hp({type:e,selectors:[[`app-di-inspector`]],inputs:{rpc:[1,`rpc`]},decls:8,vars:5,consts:[[1,`toolbar`],[`type`,`text`,`placeholder`,`Filter by injector name or token…`,3,`input`,`value`],[1,`checkbox`],[`type`,`checkbox`,3,`change`,`checked`],[1,`empty`],[1,`muted`],[1,`hint`],[1,`source-label`],[1,`source-providers`],[1,`provider-group`],[1,`provider-list`],[1,`provider-card`],[1,`provider-header`],[1,`token`],[1,`provided-in`],[1,`provider-meta`],[1,`tree-container`],[1,`detail-panel`],[4,`ngTemplateOutlet`],[1,`injector-tree`],[1,`injector-row`,3,`selected`,`paddingLeft`],[1,`injector-row`,3,`click`],[1,`type-badge`],[1,`name`],[1,`provider-count`],[1,`detail-header`],[`role`,`table`]],template:function(e,t){e&1&&(q(0,`div`,0)(1,`input`,1),Y(`input`,function(e){return t.filter.set(e.target.value)}),J(),q(2,`label`,2)(3,`input`,3),Y(`change`,function(){return t.hideEmpty.set(!t.hideEmpty())}),J(),Z(4,` Hide empty injectors `),J()(),G(5,NC,5,0,`div`,4),G(6,RC,5,0),G(7,JC,4,1)),e&2&&(W(),Wh(`value`,t.filter()),W(2),Wh(`checked`,t.hideEmpty()),W(2),K(t.roots().length===0&&t.sourceProviders().length===0?5:-1),W(),K(t.roots().length===0&&t.sourceProviders().length>0?6:-1),W(),K(t.roots().length>0?7:-1))},styles:[`.toolbar[_ngcontent-%COMP%] { - display: flex; - gap: 12px; - align-items: center; - margin-bottom: 16px; - } - input[type='text'][_ngcontent-%COMP%] { - flex: 1; - padding: 8px 12px; - background: #18181b; - border: 1px solid #27272a; - border-radius: 6px; - color: #e4e4e7; - font-size: 14px; - outline: none; - } - input[type='text'][_ngcontent-%COMP%]:focus { - border-color: var(--%NS%accent); - } - .checkbox[_ngcontent-%COMP%] { - display: flex; - align-items: center; - gap: 6px; - font-size: 13px; - color: #a1a1aa; - white-space: nowrap; - cursor: pointer; - } - .empty[_ngcontent-%COMP%] { - text-align: center; - padding: 48px 16px; - } - .muted[_ngcontent-%COMP%] { - color: #71717a; - font-size: 14px; - } - .hint[_ngcontent-%COMP%] { - color: #52525b; - font-size: 12px; - margin-top: 8px; - } - .tree-container[_ngcontent-%COMP%] { - display: flex; - flex-direction: column; - } - .injector-row[_ngcontent-%COMP%] { - display: flex; - align-items: center; - gap: 8px; - padding: 8px 12px; - cursor: pointer; - border-bottom: 1px solid #1e1e22; - transition: background 0.1s; - } - .injector-row[_ngcontent-%COMP%]:hover { - background: #18181b; - } - .injector-row.selected[_ngcontent-%COMP%] { - background: color-mix(in srgb, var(--%NS%accent) 22%, transparent); - border-color: var(--%NS%accent); - } - .type-badge[_ngcontent-%COMP%] { - font-size: 10px; - padding: 2px 6px; - border-radius: 4px; - color: #fff; - font-weight: 600; - text-transform: uppercase; - letter-spacing: 0.05em; - } - .name[_ngcontent-%COMP%] { - font-family: monospace; - font-size: 13px; - color: #e4e4e7; - } - .provider-count[_ngcontent-%COMP%] { - font-size: 11px; - color: #71717a; - margin-left: auto; - } - .detail-panel[_ngcontent-%COMP%] { - margin-top: 16px; - padding: 16px; - background: #18181b; - border: 1px solid #27272a; - border-radius: 8px; - } - .detail-header[_ngcontent-%COMP%] { - display: flex; - align-items: center; - gap: 8px; - margin-bottom: 12px; - } - .detail-header[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] { - font-family: monospace; - color: #e4e4e7; - margin: 0; - } - table[_ngcontent-%COMP%] { - width: 100%; - border-collapse: collapse; - font-size: 13px; - } - th[_ngcontent-%COMP%] { - text-align: left; - padding: 6px 10px; - background: #0f0f11; - color: #71717a; - font-size: 11px; - text-transform: uppercase; - letter-spacing: 0.05em; - border-bottom: 1px solid #27272a; - } - td[_ngcontent-%COMP%] { - padding: 8px 10px; - border-bottom: 1px solid #1e1e22; - } - .token[_ngcontent-%COMP%] { - font-family: monospace; - color: var(--%NS%accent); - } - .source-label[_ngcontent-%COMP%] { - font-size: 13px; - color: #71717a; - margin-bottom: 12px; - } - .source-providers[_ngcontent-%COMP%] { - display: flex; - flex-direction: column; - gap: 20px; - } - .provider-group[_ngcontent-%COMP%] h3[_ngcontent-%COMP%] { - font-size: 13px; - color: #71717a; - text-transform: uppercase; - letter-spacing: 0.05em; - margin-bottom: 8px; - } - .provider-list[_ngcontent-%COMP%] { - display: flex; - flex-direction: column; - gap: 6px; - } - .provider-card[_ngcontent-%COMP%] { - background: #18181b; - border: 1px solid #27272a; - border-radius: 8px; - padding: 10px 14px; - } - .provider-header[_ngcontent-%COMP%] { - display: flex; - align-items: center; - gap: 8px; - } - .provider-header[_ngcontent-%COMP%] .token[_ngcontent-%COMP%] { - font-size: 14px; - font-weight: 500; - } - .provided-in[_ngcontent-%COMP%] { - font-size: 11px; - padding: 1px 6px; - border-radius: 4px; - background: #14532d; - color: #4ade80; - } - .provider-meta[_ngcontent-%COMP%] { - font-size: 11px; - color: #52525b; - margin-top: 4px; - }`]})},ZC=(e,t)=>t.kind,QC=(e,t)=>t.name+t.file+t.line;function $C(e,t){e&1&&Ih(0,`span`,4)}function ew(e,t){e&1&&(q(0,`div`,5)(1,`p`,6),Z(2,`No NgRx store patterns found.`),J(),q(3,`p`,7),Z(4,` No createAction, createReducer, createEffect, createSelector, or createFeature calls found in source. Make sure your app uses @ngrx/store. `),J()())}function tw(e,t){if(e&1&&(q(0,`span`,9),Ih(1,`span`,14),Z(2),J()),e&2){let e=t.$implicit;W(),cg(`background`,e.color),W(),$(` `,e.kind,` `)}}function nw(e,t){if(e&1&&(q(0,`span`,15),Z(1),J()),e&2){let e=t.$implicit;cg(`border-color`,X(3).kindColor(e.kind)),W(),kg(` `,e.count,` `,e.kind,``,e.count===1?``:`s`,` `)}}function rw(e,t){if(e&1&&Z(0),e&2){let e=X().$implicit;$(` · `,e.detail,` `)}}function iw(e,t){if(e&1&&(q(0,`div`,13)(1,`div`,16)(2,`span`,17),Z(3),J(),q(4,`span`,18),Z(5),J()(),q(6,`div`,19),Z(7),G(8,rw,1,1),J()()),e&2){let e=t.$implicit,n=X(3);W(2),cg(`background`,n.kindColor(e.kind)),W(),$(` `,e.kind,` `),W(2),Q(e.name),W(2),Og(` `,e.file,`:`,e.line,` `),W(),K(e.detail?8:-1)}}function aw(e,t){if(e&1&&(q(0,`div`,8),xh(1,tw,3,3,`span`,9,ZC),J(),q(3,`div`,10),xh(4,nw,2,5,`span`,11,ZC),J(),q(6,`div`,12),xh(7,iw,9,7,`div`,13,QC),J()),e&2){let e=X(2);W(),Ch(e.kindLegend),W(3),Ch(e.groupedEntries()),W(3),Ch(e.filteredEntries())}}function ow(e,t){e&1&&G(0,ew,5,0,`div`,5)(1,aw,9,0),e&2&&K(X().sourceEntries().length===0?0:1)}function sw(e,t){e&1&&(q(0,`div`,5)(1,`p`,6),Z(2,`No NgRx store connection detected.`),J(),q(3,`p`,7),Z(4,` Runtime inspection requires @ngrx/store-devtools to be configured in your app. The store devtools use the Redux DevTools protocol to expose state. `),J()())}function cw(e,t){if(e&1){let e=Uh();q(0,`div`,28),Y(`click`,function(){let t=lo(e).$implicit;return uo(X(3).selectedAction.set(t))}),q(1,`div`,29),Z(2),J(),q(3,`div`,30),Z(4),J()()}if(e&2){let e=t.$implicit,n=X(3);lg(`selected`,n.selectedAction()===e),W(2),Q(e.type),W(2),Q(n.formatTime(e.timestamp))}}function lw(e,t){e&1&&(q(0,`p`,6),Z(1,`No actions dispatched yet.`),J())}function uw(e,t){if(e&1&&(q(0,`dt`),Z(1,`Payload`),J(),q(2,`dd`)(3,`pre`),Z(4),Pg(5,`json`),J()()),e&2){let e=X(4);W(4),Q(Ig(5,1,e.selectedAction().payload))}}function dw(e,t){if(e&1&&(q(0,`aside`,27)(1,`h3`),Z(2),J(),q(3,`dl`)(4,`dt`),Z(5,`Type`),J(),q(6,`dd`),Z(7),J(),q(8,`dt`),Z(9,`Time`),J(),q(10,`dd`),Z(11),J(),G(12,uw,6,3),J()()),e&2){let e=X(3);W(2),Q(e.selectedAction().type),W(5),Q(e.selectedAction().type),W(4),Q(e.formatTime(e.selectedAction().timestamp)),W(),K(e.selectedAction().payload===void 0?-1:12)}}function fw(e,t){if(e&1&&(q(0,`div`,20)(1,`section`,21)(2,`h3`),Z(3,`Current State`),J(),q(4,`pre`,22),Z(5),Pg(6,`json`),J()(),q(7,`section`,23)(8,`h3`),Z(9,` Recent Actions `),q(10,`span`,24),Z(11),J()(),q(12,`div`,25),xh(13,cw,5,4,`div`,26,vh,!1,lw,2,0,`p`,6),J()()(),G(16,dw,13,4,`aside`,27)),e&2){let e=X(2);W(5),Q(Ig(6,4,e.runtimeState()?.state)),W(6),Q(e.filteredActions().length),W(2),Ch(e.filteredActions()),W(3),K(e.selectedAction()?16:-1)}}function pw(e,t){e&1&&G(0,sw,5,0,`div`,5)(1,fw,17,6),e&2&&K(+!!X().runtimeState()?.connected)}var mw={action:`#f59e0b`,reducer:`#a78bfa`,effect:`#fb923c`,selector:`#60a5fa`,feature:`#34d399`,"store-setup":`#94a3b8`,"signal-store":`#e879f9`,"signal-state":`#22d3ee`,"signal-method":`#fb7185`},hw=class e{rpc=Yg(null);filter=V(``);mode=V(`source`);sourceEntries=V([]);runtimeState=V(null);selectedAction=V(null);kindLegend=Object.entries(mw).map(([e,t])=>({kind:e,color:t}));filteredEntries=Wg(()=>{let e=this.filter().toLowerCase();return this.sourceEntries().filter(t=>t.name.toLowerCase().includes(e)||t.kind.toLowerCase().includes(e))});groupedEntries=Wg(()=>{let e=this.sourceEntries(),t=new Map;for(let n of e)t.set(n.kind,(t.get(n.kind)??0)+1);return[...t.entries()].map(([e,t])=>({kind:e,count:t}))});filteredActions=Wg(()=>{let e=this.filter().toLowerCase(),t=[...this.runtimeState()?.actions??[]].reverse();return e?t.filter(t=>t.type.toLowerCase().includes(e)):t});constructor(){Vs(()=>{let e=this.rpc();if(!e)return;let t=e.scope(`ng-devtools`);t.rpc.call(`get-ngrx-store`).then(e=>{this.sourceEntries.set(e),e.length===0&&this.mode.set(`runtime`)}).catch(()=>this.sourceEntries.set([])),t.rpc.sharedState(`ngrx-store`).then(e=>{e?.subscribe&&e.subscribe(e=>this.runtimeState.set(e))})})}kindColor(e){return mw[e]??`#71717a`}formatTime(e){return new Date(e).toLocaleTimeString()}static ɵfac=function(t){return new(t||e)};static ɵcmp=Hp({type:e,selectors:[[`app-store-inspector`]],inputs:{rpc:[1,`rpc`]},decls:10,vars:8,consts:[[1,`toolbar`],[`type`,`text`,`placeholder`,`Filter by name or kind…`,3,`input`,`value`],[1,`toggle-group`],[3,`click`],[1,`live-dot`],[1,`empty`],[1,`muted`],[1,`hint`],[1,`legend`],[1,`legend-item`],[1,`summary`],[1,`summary-badge`,3,`border-color`],[1,`nodes`],[1,`node-card`],[1,`dot`],[1,`summary-badge`],[1,`node-header`],[1,`kind-badge`],[1,`node-label`],[1,`node-meta`],[1,`runtime-layout`],[1,`state-panel`],[1,`state-tree`],[1,`actions-panel`],[1,`action-count`],[1,`action-list`],[1,`action-card`,3,`selected`],[1,`detail-panel`],[1,`action-card`,3,`click`],[1,`action-type`],[1,`action-time`]],template:function(e,t){e&1&&(q(0,`div`,0)(1,`input`,1),Y(`input`,function(e){return t.filter.set(e.target.value)}),J(),q(2,`div`,2)(3,`button`,3),Y(`click`,function(){return t.mode.set(`source`)}),Z(4,`Source`),J(),q(5,`button`,3),Y(`click`,function(){return t.mode.set(`runtime`)}),Z(6,` Runtime `),G(7,$C,1,0,`span`,4),J()()(),G(8,ow,2,1),G(9,pw,2,1)),e&2&&(W(),Wh(`value`,t.filter()),W(2),lg(`active`,t.mode()===`source`),W(2),lg(`active`,t.mode()===`runtime`),W(2),K(t.runtimeState()?.connected?7:-1),W(),K(t.mode()===`source`?8:-1),W(),K(t.mode()===`runtime`?9:-1))},dependencies:[d_],styles:[`.toolbar[_ngcontent-%COMP%] { - display: flex; - gap: 12px; - align-items: center; - margin-bottom: 16px; - } - input[_ngcontent-%COMP%] { - flex: 1; - padding: 8px 12px; - background: #18181b; - border: 1px solid #27272a; - border-radius: 6px; - color: #e4e4e7; - font-size: 14px; - outline: none; - } - input[_ngcontent-%COMP%]:focus { - border-color: var(--%NS%accent); - } - .toggle-group[_ngcontent-%COMP%] { - display: flex; - border: 1px solid #27272a; - border-radius: 6px; - overflow: hidden; - } - .toggle-group[_ngcontent-%COMP%] button[_ngcontent-%COMP%] { - padding: 6px 14px; - border: none; - background: transparent; - color: #a1a1aa; - cursor: pointer; - font-size: 13px; - display: flex; - align-items: center; - gap: 6px; - } - .toggle-group[_ngcontent-%COMP%] button.active[_ngcontent-%COMP%] { - background: #3f3f46; - color: #fff; - } - .live-dot[_ngcontent-%COMP%] { - width: 6px; - height: 6px; - border-radius: 50%; - background: #4ade80; - animation: _ngcontent-%COMP%_pulse 2s infinite; - } - @keyframes _ngcontent-%COMP%_pulse { - 0%, - 100% { - opacity: 1; - } - 50% { - opacity: 0.4; - } - } - .empty[_ngcontent-%COMP%] { - text-align: center; - padding: 48px 16px; - } - .muted[_ngcontent-%COMP%] { - color: #71717a; - font-size: 14px; - } - .hint[_ngcontent-%COMP%] { - color: #52525b; - font-size: 12px; - margin-top: 8px; - } - .legend[_ngcontent-%COMP%] { - display: flex; - gap: 12px; - flex-wrap: wrap; - margin-bottom: 12px; - } - .legend-item[_ngcontent-%COMP%] { - display: flex; - align-items: center; - gap: 4px; - font-size: 12px; - color: #a1a1aa; - } - .dot[_ngcontent-%COMP%] { - width: 8px; - height: 8px; - border-radius: 50%; - } - .summary[_ngcontent-%COMP%] { - display: flex; - gap: 8px; - flex-wrap: wrap; - margin-bottom: 16px; - } - .summary-badge[_ngcontent-%COMP%] { - font-size: 12px; - padding: 3px 10px; - border-radius: 99px; - border: 1px solid; - color: #e4e4e7; - } - .nodes[_ngcontent-%COMP%] { - display: flex; - flex-direction: column; - gap: 8px; - } - .node-card[_ngcontent-%COMP%] { - background: #18181b; - border: 1px solid #27272a; - border-radius: 8px; - padding: 12px 16px; - transition: border-color 0.15s; - } - .node-card[_ngcontent-%COMP%]:hover { - border-color: #3f3f46; - } - .node-header[_ngcontent-%COMP%] { - display: flex; - align-items: center; - gap: 8px; - } - .kind-badge[_ngcontent-%COMP%] { - font-size: 11px; - padding: 2px 8px; - border-radius: 4px; - color: #fff; - font-weight: 600; - text-transform: uppercase; - letter-spacing: 0.05em; - } - .node-label[_ngcontent-%COMP%] { - font-family: monospace; - font-size: 14px; - color: #e4e4e7; - } - .node-meta[_ngcontent-%COMP%] { - font-size: 12px; - color: #71717a; - margin-top: 4px; - } - .runtime-layout[_ngcontent-%COMP%] { - display: grid; - grid-template-columns: 1fr 1fr; - gap: 16px; - } - .state-panel[_ngcontent-%COMP%], - .actions-panel[_ngcontent-%COMP%] { - background: #18181b; - border: 1px solid #27272a; - border-radius: 10px; - padding: 16px; - } - h3[_ngcontent-%COMP%] { - font-size: 13px; - text-transform: uppercase; - color: #71717a; - margin-bottom: 12px; - letter-spacing: 0.05em; - display: flex; - align-items: center; - gap: 8px; - } - .action-count[_ngcontent-%COMP%] { - font-size: 11px; - padding: 1px 6px; - border-radius: 99px; - background: #3f3f46; - color: #a1a1aa; - } - .state-tree[_ngcontent-%COMP%] { - font-family: monospace; - font-size: 12px; - color: #a1a1aa; - white-space: pre-wrap; - word-break: break-all; - max-height: 500px; - overflow: auto; - } - .action-list[_ngcontent-%COMP%] { - display: flex; - flex-direction: column; - gap: 6px; - max-height: 500px; - overflow: auto; - } - .action-card[_ngcontent-%COMP%] { - display: flex; - justify-content: space-between; - align-items: center; - padding: 8px 12px; - background: #09090b; - border: 1px solid #27272a; - border-radius: 6px; - cursor: pointer; - transition: border-color 0.15s; - } - .action-card[_ngcontent-%COMP%]:hover { - border-color: #3f3f46; - } - .action-card.selected[_ngcontent-%COMP%] { - border-color: var(--%NS%accent); - } - .action-type[_ngcontent-%COMP%] { - font-family: monospace; - font-size: 13px; - color: #e4e4e7; - } - .action-time[_ngcontent-%COMP%] { - font-size: 11px; - color: #71717a; - } - .detail-panel[_ngcontent-%COMP%] { - margin-top: 16px; - background: #18181b; - border: 1px solid var(--%NS%accent); - border-radius: 10px; - padding: 16px; - } - dl[_ngcontent-%COMP%] { - display: grid; - grid-template-columns: auto 1fr; - gap: 6px 12px; - font-size: 14px; - } - dt[_ngcontent-%COMP%] { - color: #a1a1aa; - } - dd[_ngcontent-%COMP%] { - color: #e4e4e7; - } - pre[_ngcontent-%COMP%] { - font-family: monospace; - font-size: 12px; - white-space: pre-wrap; - word-break: break-all; - }`]})},gw=()=>[],_w=(e,t)=>t.id,vw=(e,t)=>t.node.path,yw=(e,t)=>t.formId+`#`+t.seq;function bw(e,t){e&1&&(q(0,`p`,0),Z(1,`Connecting…`),J())}function xw(e,t){e&1&&(q(0,`p`,0),Z(1,`Could not load forms from the devtools server. Reload to try again.`),J())}function Sw(e,t){e&1&&(q(0,`p`,0),Z(1,`Loading forms…`),J())}function Cw(e,t){e&1&&(q(0,`div`,0)(1,`p`),Z(2,`No forms on the page yet.`),J(),q(3,`p`,2),Z(4,` Open a page that renders a form. Signal Forms, reactive and template-driven forms all show up here, in development builds. `),J()())}function ww(e,t){e&1&&(q(0,`span`,10),Z(1),q(2,`span`,9),Z(3,` errors`),J()()),e&2&&(W(),Q(t))}function Tw(e,t){if(e&1){let e=Uh();q(0,`li`)(1,`button`,5),Y(`click`,function(){let t=lo(e).$implicit;return uo(X(2).selectForm(t.id))}),Ih(2,`span`,6),q(3,`span`,7),Z(4),J(),q(5,`span`,8),Z(6),q(7,`span`,9),Z(8),J()(),G(9,ww,4,1,`span`,10),J()()}if(e&2){let e,n=t.$implicit,r=X(2);W(),lg(`active`,n.id===r.selected()?.id),ch(`aria-current`,n.id===r.selected()?.id?`true`:null),W(),ch(`data-status`,n.root.status),W(2),Q(n.label),W(2),Og(``,r.kindLabel(n.kind),` · `,n.id,` `),W(2),$(`, `,n.root.status),W(),K((e=r.counts().get(n.id)?.errors)?9:-1,e)}}function Ew(e,t){if(e&1&&(q(0,`span`),Z(1),J()),e&2){let e=X();W(),Q(e.submitted?`submitted`:`not submitted`)}}function Dw(e,t){e&1&&(q(0,`span`),Z(1,`submitting`),J())}function Ow(e,t){if(e&1&&(q(0,`div`,2),Z(1,` resets to `),q(2,`code`),Z(3),Pg(4,`json`),J()()),e&2){let e=X(2).$implicit;W(3),Q(Ig(4,1,e.node.defaultValue))}}function kw(e,t){if(e&1&&(q(0,`code`),Z(1),Pg(2,`json`),J(),G(3,Ow,5,3,`div`,2)),e&2){let e=X().$implicit;W(),Q(Ig(2,2,e.node.value)),W(2),K(e.node.defaultValue===void 0?-1:3)}}function Aw(e,t){e&1&&(q(0,`span`,2),Z(1,`not created yet`),J())}function jw(e,t){if(e&1&&(q(0,`span`,12),Z(1),J()),e&2){let e=X().$implicit;ch(`data-status`,e.node.status),W(),Q(e.node.status)}}function Mw(e,t){e&1&&(q(0,`span`),Z(1,`touched`),J())}function Nw(e,t){e&1&&(q(0,`span`),Z(1,`dirty`),J())}function Pw(e,t){e&1&&(q(0,`span`),Z(1,`required`),J())}function Fw(e,t){e&1&&(q(0,`span`),Z(1,`readonly`),J())}function Iw(e,t){e&1&&(q(0,`span`),Z(1,`hidden`),J())}function Lw(e,t){if(e&1&&(q(0,`span`),Z(1),J()),e&2){let e=X().$implicit;W(),$(`updates on `,e.node.updateOn)}}function Rw(e,t){e&1&&(q(0,`span`),Z(1,`debouncing`),J())}function zw(e,t){e&1&&(q(0,`span`),Z(1,`validators`),J())}function Bw(e,t){e&1&&(q(0,`span`),Z(1,`async validator`),J())}function Vw(e,t){if(e&1&&(q(0,`span`),Z(1),J()),e&2){let e=t.$implicit;W(),Q(e)}}function Hw(e,t){if(e&1&&(q(0,`span`),Z(1),J()),e&2){let e=X().$implicit;W(),Q(e.node.accessor)}}function Uw(e,t){if(e&1&&(q(0,`span`),Z(1),J()),e&2){let e=t.$implicit;W(),$(`disabled: `,e)}}function Ww(e,t){if(e&1&&(q(0,`div`),Z(1),q(2,`code`,25),Z(3),J()()),e&2){let e=t.$implicit,n=X().$implicit,r=X(3);W(),$(` `,r.errorText(n.node,e),` `),W(2),Q(e.kind)}}function Gw(e,t){if(e&1&&(q(0,`tr`)(1,`td`,26),Z(2),J()()),e&2){let e=X().$implicit;W(),cg(`padding-left`,24+e.depth*16,`px`),W(),Og(` `,e.node.truncated,` more fields under `,e.node.path||`the form`,` not shown `)}}function Kw(e,t){if(e&1){let e=Uh();q(0,`tr`,18),Y(`mouseenter`,function(){let t=lo(e).$implicit,n=X();return uo(X(2).highlight(n.id,t.node.path))})(`mouseleave`,function(){return lo(e),uo(X(3).highlight(null,``))}),q(1,`th`,19)(2,`button`,20),Y(`focus`,function(){let t=lo(e).$implicit,n=X();return uo(X(2).highlight(n.id,t.node.path))})(`blur`,function(){return lo(e),uo(X(3).highlight(null,``))}),Z(3),J(),q(4,`span`,21),Z(5),J()(),q(6,`td`,22),G(7,kw,4,4),J(),q(8,`td`),G(9,Aw,2,0,`span`,2)(10,jw,2,2,`span`,12),J(),q(11,`td`,23),G(12,Mw,2,0,`span`),G(13,Nw,2,0,`span`),G(14,Pw,2,0,`span`),G(15,Fw,2,0,`span`),G(16,Iw,2,0,`span`),G(17,Lw,2,1,`span`),G(18,Rw,2,0,`span`),G(19,zw,2,0,`span`),G(20,Bw,2,0,`span`),xh(21,Vw,2,1,`span`,null,yh),G(23,Hw,2,1,`span`),xh(24,Uw,2,1,`span`,null,vh),J(),q(26,`td`,24),xh(27,Ww,4,2,`div`,null,vh),J()(),G(29,Gw,3,4,`tr`)}if(e&2){let e=t.$implicit,n=X(3);lg(`invalid`,e.node.errors.length),W(),cg(`padding-left`,8+e.depth*16,`px`),W(),ch(`aria-label`,`Highlight `+(e.node.path||`the form`)+` on the page`),W(),$(` `,e.node.key||`(form)`,` `),W(2),Q(e.node.type),W(2),K(e.node.type===`control`?7:-1),W(2),K(e.node.materialized===!1?9:10),W(3),K(e.node.touched?12:-1),W(),K(e.node.dirty?13:-1),W(),K(e.node.required?14:-1),W(),K(e.node.readonly?15:-1),W(),K(e.node.hidden?16:-1),W(),K(e.node.updateOn?17:-1),W(),K(e.node.debouncing?18:-1),W(),K(e.node.validators?.sync?19:-1),W(),K(e.node.validators?.async?20:-1),W(),Ch(n.constraintList(e.node)),W(2),K(e.node.accessor?23:-1),W(),Ch(e.node.disabledReasons??jg(20,gw)),W(3),Ch(e.node.errors),W(2),K(e.node.truncated?29:-1)}}function qw(e,t){if(e&1&&(q(0,`tr`)(1,`td`,26),Z(2),J()()),e&2){let e=X(3);W(2),$(`No field path matches "`,e.filter(),`".`)}}function Jw(e,t){if(e&1&&(q(0,`span`,2),Z(1),J()),e&2){let e=X().$implicit;W(),Q(e.detail)}}function Yw(e,t){if(e&1&&(q(0,`li`)(1,`time`),Z(2),J(),q(3,`code`),Z(4),J(),q(5,`span`,27),Z(6),J(),G(7,Jw,2,1,`span`,2),J()),e&2){let e=t.$implicit,n=X(4);W(2),Q(n.time(e.timestamp)),W(2),Q(e.path||`(form)`),W(2),Q(e.type),W(),K(e.detail?7:-1)}}function Xw(e,t){if(e&1&&(q(0,`ol`,17),xh(1,Yw,8,4,`li`,null,yw),J()),e&2){let e=X(3);W(),Ch(e.selectedEvents())}}function Zw(e,t){e&1&&(q(0,`p`,2),Z(1,`No changes yet. Type into the form to see them here.`),J())}function Qw(e,t){if(e&1){let e=Uh();q(0,`section`,4)(1,`div`,11)(2,`span`,12),Z(3),J(),q(4,`span`),Z(5),J(),q(6,`span`),Z(7),J(),G(8,Ew,2,1,`span`),G(9,Dw,2,0,`span`),q(10,`span`,2),Z(11),J()(),q(12,`input`,13),Y(`input`,function(t){return lo(e),uo(X(2).onFilter(t))}),J(),q(13,`div`,14)(14,`table`,15)(15,`thead`)(16,`tr`)(17,`th`,16),Z(18,`Field`),J(),q(19,`th`,16),Z(20,`Value`),J(),q(21,`th`,16),Z(22,`Status`),J(),q(23,`th`,16),Z(24,`State`),J(),q(25,`th`,16),Z(26,`Errors`),J()()(),q(27,`tbody`),xh(28,Kw,30,21,null,null,vw,!1,qw,3,1,`tr`),J()()(),q(31,`h2`),Z(32,`Recent changes`),J(),G(33,Xw,3,0,`ol`,17)(34,Zw,2,0,`p`,2),J()}if(e&2){let e=t,n=X(2);ch(`aria-label`,e.label),W(2),ch(`data-status`,e.root.status),W(),Q(e.root.status),W(2),Q(e.root.dirty?`dirty`:`pristine`),W(2),Q(e.root.touched?`touched`:`untouched`),W(),K(e.submitted===void 0?-1:8),W(),K(e.root.submitting?9:-1),W(2),Og(``,n.counts().get(e.id)?.fields,` fields, `,n.counts().get(e.id)?.errors,` errors`),W(),Wh(`value`,n.filter()),W(16),Ch(n.rows()),W(5),K(n.selectedEvents().length?33:34)}}function $w(e,t){if(e&1&&(q(0,`div`,1)(1,`ul`,3),xh(2,Tw,10,9,`li`,null,_w),J(),G(4,Qw,35,12,`section`,4),J()),e&2){let e,t=X();W(2),Ch(t.forms()),W(2),K((e=t.selected())?4:-1,e)}}var eT={signal:`Signal Forms`,reactive:`Reactive`,template:`Template-driven`};function tT(e){return e.errors.length+(e.children??[]).reduce((e,t)=>e+tT(t),0)}function nT(e){return 1+(e.children??[]).reduce((e,t)=>e+nT(t),0)}var rT=class e{rpc=Yg(null);forms=V([]);events=V([]);loading=V(!0);failed=V(!1);selectedId=V(null);filter=V(``);unsubscribe=null;destroyRef=R(es);counts=Wg(()=>new Map(this.forms().map(e=>[e.id,{fields:nT(e.root),errors:tT(e.root)}])));selected=Wg(()=>{let e=this.forms();return e.find(e=>e.id===this.selectedId())??e[0]??null});rows=Wg(()=>{let e=this.selected();if(!e)return[];let t=this.filter().toLowerCase(),n=[],r=(e,i)=>{let a=n.length,o=!t||e.path.toLowerCase().includes(t);for(let t of e.children??[])o=r(t,i+1)||o;return o&&n.splice(a,0,{node:e,depth:i}),o};return r(e.root,0),n});selectedEvents=Wg(()=>{let e=this.selected()?.id;return this.events().filter(t=>t.formId===e).slice(-50).reverse()});constructor(){Vs(()=>{let e=this.rpc();e&&this.load(e)}),this.destroyRef.onDestroy(()=>{this.unsubscribe?.(),this.highlight(null,``)})}async load(e){this.loading.set(!0),this.failed.set(!1);try{let t=await e.scope(`ng-devtools`).rpc.sharedState(`forms`);if(this.destroyRef.destroyed)return;let n=e=>{let t=e;this.forms.set(t?.forms??[]),this.events.set(t?.events??[])};n(t.value()),this.unsubscribe?.(),this.unsubscribe=t.on(`updated`,n)}catch{this.failed.set(!0)}finally{this.loading.set(!1)}}selectForm(e){this.selectedId.set(e),this.filter.set(``)}onFilter(e){this.filter.set(e.target.value)}highlight(e,t){let n=this.rpc();n&&n.scope(`ng-devtools`).rpc.callEvent(`request-form-highlight`,e?{formId:e,path:t}:null)}kindLabel(e){return eT[e]}constraintList(e){return Object.entries(e.constraints??{}).map(([e,t])=>`${e} ${t}`)}errorText(e,t){return/^[a-z]/.test(t.message)?`${e.key||`The form`} ${t.message}`:t.message}time(e){return new Date(e).toLocaleTimeString()}static ɵfac=function(t){return new(t||e)};static ɵcmp=Hp({type:e,selectors:[[`app-forms-inspector`]],inputs:{rpc:[1,`rpc`]},decls:5,vars:1,consts:[[1,`empty`],[1,`layout`],[1,`muted`],[`aria-label`,`Forms on the page`,1,`form-list`],[1,`detail`],[`type`,`button`,1,`form-item`,3,`click`],[`aria-hidden`,`true`,1,`dot`],[1,`label`],[1,`kind`],[1,`sr-only`],[1,`count`],[1,`summary`],[1,`badge`],[`type`,`search`,`placeholder`,`Filter fields by path`,`aria-label`,`Filter fields by path`,1,`filter`,3,`input`,`value`],[`role`,`region`,`aria-label`,`Fields`,`tabindex`,`0`,1,`table-scroll`],[1,`fields`],[`scope`,`col`],[1,`events`],[3,`mouseenter`,`mouseleave`],[`scope`,`row`],[`type`,`button`,1,`field`,3,`focus`,`blur`],[1,`type`],[1,`value`],[1,`flags`],[1,`errors`],[1,`kind-tag`],[`colspan`,`5`,1,`muted`],[1,`event-type`]],template:function(e,t){e&1&&G(0,bw,2,0,`p`,0)(1,xw,2,0,`p`,0)(2,Sw,2,0,`p`,0)(3,Cw,5,0,`div`,0)(4,$w,5,1,`div`,1),e&2&&K(t.rpc()?t.failed()?1:t.loading()?2:t.forms().length?4:3:0)},dependencies:[d_],styles:[`.layout[_ngcontent-%COMP%] { - display: grid; - grid-template-columns: minmax(200px, 260px) minmax(0, 1fr); - gap: 16px; - } - @media (max-width: 720px) { - .layout[_ngcontent-%COMP%] { - grid-template-columns: 1fr; - } - } - .form-list[_ngcontent-%COMP%] { - display: grid; - gap: 4px; - align-content: start; - margin: 0; - padding: 0; - list-style: none; - } - .form-item[_ngcontent-%COMP%] { - width: 100%; - display: grid; - grid-template-columns: auto 1fr auto; - grid-template-areas: 'dot label count' '. kind kind'; - gap: 2px 8px; - align-items: center; - padding: 8px 10px; - border: 1px solid #27272a; - border-radius: 6px; - background: transparent; - color: #e4e4e7; - text-align: left; - cursor: pointer; - } - .form-item.active[_ngcontent-%COMP%] { - border-color: var(--%NS%accent); - background: #18181b; - } - .form-item[_ngcontent-%COMP%] .dot[_ngcontent-%COMP%] { - grid-area: dot; - } - .form-item[_ngcontent-%COMP%] .label[_ngcontent-%COMP%] { - grid-area: label; - overflow-wrap: anywhere; - font-size: 13px; - } - .form-item[_ngcontent-%COMP%] .kind[_ngcontent-%COMP%] { - grid-area: kind; - color: #a1a1aa; - font-size: 12px; - } - .form-item[_ngcontent-%COMP%] .count[_ngcontent-%COMP%] { - grid-area: count; - padding: 0 6px; - border-radius: 999px; - background: #7f1d1d; - color: #fecaca; - font-size: 12px; - } - .dot[_ngcontent-%COMP%] { - width: 8px; - height: 8px; - border-radius: 50%; - background: #22c55e; - } - .dot[data-status='INVALID'][_ngcontent-%COMP%] { - background: #ef4444; - } - .dot[data-status='PENDING'][_ngcontent-%COMP%] { - background: #eab308; - } - .dot[data-status='DISABLED'][_ngcontent-%COMP%] { - background: #71717a; - } - .detail[_ngcontent-%COMP%] { - display: grid; - gap: 12px; - min-width: 0; - } - .summary[_ngcontent-%COMP%] { - display: flex; - flex-wrap: wrap; - gap: 8px 14px; - align-items: center; - color: #d4d4d8; - font-size: 13px; - } - .badge[_ngcontent-%COMP%] { - padding: 1px 6px; - border-radius: 4px; - background: #14532d; - color: #bbf7d0; - font-size: 11px; - font-weight: 600; - } - .badge[data-status='INVALID'][_ngcontent-%COMP%] { - background: #7f1d1d; - color: #fecaca; - } - .badge[data-status='PENDING'][_ngcontent-%COMP%] { - background: #713f12; - color: #fef08a; - } - .badge[data-status='DISABLED'][_ngcontent-%COMP%] { - background: #3f3f46; - color: #e4e4e7; - } - .filter[_ngcontent-%COMP%] { - padding: 8px 12px; - background: #18181b; - border: 1px solid #52525b; - border-radius: 6px; - color: #e4e4e7; - font-size: 14px; - } - .filter[_ngcontent-%COMP%]:focus-visible, - .form-item[_ngcontent-%COMP%]:focus-visible { - outline: 2px solid var(--%NS%accent); - outline-offset: 2px; - } - .table-scroll[_ngcontent-%COMP%] { - overflow-x: auto; - } - .table-scroll[_ngcontent-%COMP%]:focus-visible, - .field[_ngcontent-%COMP%]:focus-visible { - outline: 2px solid var(--%NS%accent); - outline-offset: 2px; - } - .field[_ngcontent-%COMP%] { - padding: 0; - border: none; - background: none; - color: inherit; - font: inherit; - cursor: pointer; - } - .sr-only[_ngcontent-%COMP%] { - position: absolute; - width: 1px; - height: 1px; - overflow: hidden; - clip-path: inset(50%); - white-space: nowrap; - } - .fields[_ngcontent-%COMP%] { - width: 100%; - border-collapse: collapse; - font-size: 13px; - } - .fields[_ngcontent-%COMP%] th[_ngcontent-%COMP%], - .fields[_ngcontent-%COMP%] td[_ngcontent-%COMP%] { - padding: 6px 8px; - border-bottom: 1px solid #27272a; - text-align: left; - vertical-align: top; - } - .fields[_ngcontent-%COMP%] thead[_ngcontent-%COMP%] th[_ngcontent-%COMP%] { - color: #a1a1aa; - font-weight: 500; - } - .fields[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] th[_ngcontent-%COMP%] { - color: #e4e4e7; - font-weight: 500; - white-space: nowrap; - } - .fields[_ngcontent-%COMP%] tbody[_ngcontent-%COMP%] tr[_ngcontent-%COMP%]:hover { - background: #18181b; - } - .type[_ngcontent-%COMP%] { - margin-left: 6px; - color: #a1a1aa; - font-size: 11px; - font-weight: 400; - } - .value[_ngcontent-%COMP%] code[_ngcontent-%COMP%], - .errors[_ngcontent-%COMP%] code[_ngcontent-%COMP%], - .events[_ngcontent-%COMP%] code[_ngcontent-%COMP%] { - color: #c4b5fd; - overflow-wrap: anywhere; - } - .flags[_ngcontent-%COMP%] span[_ngcontent-%COMP%] { - display: inline-block; - margin: 0 4px 2px 0; - padding: 0 5px; - border: 1px solid #3f3f46; - border-radius: 4px; - color: #d4d4d8; - font-size: 11px; - } - .errors[_ngcontent-%COMP%] div[_ngcontent-%COMP%] { - color: #fca5a5; - } - .kind-tag[_ngcontent-%COMP%] { - margin-left: 6px; - color: #a1a1aa; - font-size: 11px; - } - h2[_ngcontent-%COMP%] { - margin: 8px 0 0; - color: #d4d4d8; - font-size: 14px; - } - .events[_ngcontent-%COMP%] { - display: grid; - gap: 4px; - margin: 0; - padding: 0; - list-style: none; - font-size: 13px; - } - .events[_ngcontent-%COMP%] li[_ngcontent-%COMP%] { - display: flex; - flex-wrap: wrap; - gap: 8px; - color: #d4d4d8; - } - .events[_ngcontent-%COMP%] time[_ngcontent-%COMP%] { - color: #a1a1aa; - font-variant-numeric: tabular-nums; - } - .event-type[_ngcontent-%COMP%] { - color: #93c5fd; - } - .muted[_ngcontent-%COMP%] { - color: #a1a1aa; - } - .empty[_ngcontent-%COMP%] { - padding: 32px; - text-align: center; - color: #d4d4d8; - }`]})},iT=(e,t)=>t.id;function aT(e,t){if(e&1){let e=Uh();Mh(0,`button`,13),qh(`click`,function(){let t=lo(e).$implicit;return uo(X().switchTab(t.id))}),Z(1),Ph()}if(e&2){let e=t.$implicit;lg(`active`,X().tab()===e.id),W(),Q(e.label)}}function oT(e,t){if(e&1){let e=Uh();Mh(0,`app-dashboard`,14),qh(`navigate`,function(t){return lo(e),uo(X().switchTab(t))}),Ph()}e&2&&Ah(`rpc`,X().rpc())}function sT(e,t){e&1&&Fh(0,`app-component-tree`,12),e&2&&Ah(`rpc`,X().rpc())}function cT(e,t){e&1&&Fh(0,`app-route-inspector`,12),e&2&&Ah(`rpc`,X().rpc())}function lT(e,t){e&1&&Fh(0,`app-signal-inspector`,12),e&2&&Ah(`rpc`,X().rpc())}function uT(e,t){e&1&&Fh(0,`app-di-inspector`,12),e&2&&Ah(`rpc`,X().rpc())}function dT(e,t){e&1&&Fh(0,`app-store-inspector`,12),e&2&&Ah(`rpc`,X().rpc())}function fT(e,t){e&1&&Fh(0,`app-forms-inspector`,12),e&2&&Ah(`rpc`,X().rpc())}var pT=class e{tabs=[{id:`dashboard`,label:`Dashboard`},{id:`components`,label:`Components`},{id:`routes`,label:`Routes`},{id:`signals`,label:`Signals`},{id:`injectors`,label:`Injectors`},{id:`store`,label:`Store`},{id:`forms`,label:`Forms`}];tab=V(`dashboard`);rpc=V(null);connected=V(!1);ngOnInit(){let e=new URLSearchParams(location.hash.replace(/^#/,``)).get(`tab`);e&&this.tabs.some(t=>t.id===e)&&this.tab.set(e);let t=hT();FS(t?{baseURL:t}:{}).then(e=>{this.rpc.set(e),this.connected.set(!0),e.events.on(`connection:status`,e=>{this.connected.set(e===`connected`)})})}ngOnDestroy(){}switchTab(e){this.tab.set(e),history.replaceState(history.state,``,`#tab=${e}`)}static ɵfac=function(t){return new(t||e)};static ɵcmp=Hp({type:e,selectors:[[`app-root`]],decls:27,vars:4,consts:[[1,`brand`],[`width`,`20`,`height`,`22`,`viewBox`,`0 0 223 236`,`fill`,`url(#ng-logo)`,`aria-hidden`,`true`],[`id`,`ng-logo`,`x1`,`49`,`x2`,`226`,`y1`,`214`,`y2`,`130`,`gradientUnits`,`userSpaceOnUse`],[`stop-color`,`#E40035`],[`offset`,`.24`,`stop-color`,`#F60A48`],[`offset`,`.352`,`stop-color`,`#F20755`],[`offset`,`.494`,`stop-color`,`#DC087D`],[`offset`,`.745`,`stop-color`,`#9717E7`],[`offset`,`1`,`stop-color`,`#6C00F5`],[`d`,`m222.077 39.192-8.019 125.923L137.387 0l84.69 39.192Zm-53.105 162.825-57.933 33.056-57.934-33.056 11.783-28.556h92.301l11.783 28.556ZM111.039 62.675l30.357 73.803H80.681l30.358-73.803ZM7.937 165.115 0 39.192 84.69 0 7.937 165.115Z`],[3,`active`],[1,`status`],[3,`rpc`],[3,`click`],[3,`navigate`,`rpc`]],template:function(e,t){if(e&1&&(Mh(0,`header`)(1,`h1`,0),Uo(),Mh(2,`svg`,1)(3,`defs`)(4,`linearGradient`,2),Fh(5,`stop`,3)(6,`stop`,4)(7,`stop`,5)(8,`stop`,6)(9,`stop`,7)(10,`stop`,8),Ph()(),Fh(11,`path`,9),Ph(),Wo(),Mh(12,`span`),Z(13,`Angular DevTools`),Ph()(),Mh(14,`nav`),xh(15,aT,2,3,`button`,10,iT),Ph(),Mh(17,`span`,11),Z(18),Ph()(),Mh(19,`main`),G(20,oT,1,1,`app-dashboard`,12)(21,sT,1,1,`app-component-tree`,12)(22,cT,1,1,`app-route-inspector`,12)(23,lT,1,1,`app-signal-inspector`,12)(24,uT,1,1,`app-di-inspector`,12)(25,dT,1,1,`app-store-inspector`,12)(26,fT,1,1,`app-forms-inspector`,12),Ph()),e&2){let e;W(15),Ch(t.tabs),W(2),lg(`connected`,t.connected()),W(),$(` `,t.connected()?`Connected`:`Connecting…`,` `),W(2),K((e=t.tab())===`dashboard`?20:e===`components`?21:e===`routes`?22:e===`signals`?23:e===`injectors`?24:e===`store`?25:e===`forms`?26:-1)}},dependencies:[IS,QS,aC,DC,XC,hw,rT],styles:[`[_nghost-%COMP%] { - display: flex; - flex-direction: column; - height: 100vh; - } - header[_ngcontent-%COMP%] { - display: flex; - flex-wrap: wrap; - align-items: center; - gap: 16px; - padding: 8px 16px; - background: #18181b; - border-bottom: 1px solid #27272a; - } - .brand[_ngcontent-%COMP%] { - margin: 0; - font-size: inherit; - display: flex; - align-items: center; - gap: 8px; - font-weight: 600; - color: var(--%NS%accent); - } - .brand[_ngcontent-%COMP%] span[_ngcontent-%COMP%] { - color: var(--%NS%accent); - white-space: nowrap; - } - nav[_ngcontent-%COMP%] { - display: flex; - flex-wrap: wrap; - gap: 4px; - flex: 1; - min-width: 0; - } - @media (max-width: 640px) { - nav[_ngcontent-%COMP%] { - order: 3; - flex-basis: 100%; - } - } - nav[_ngcontent-%COMP%] button[_ngcontent-%COMP%] { - padding: 6px 14px; - border: none; - border-radius: 6px; - background: transparent; - color: #a1a1aa; - cursor: pointer; - font-size: 13px; - transition: all 0.15s; - } - nav[_ngcontent-%COMP%] button[_ngcontent-%COMP%]:hover { - background: #27272a; - color: #e4e4e7; - } - nav[_ngcontent-%COMP%] button.active[_ngcontent-%COMP%] { - background: #3f3f46; - color: #fff; - } - .status[_ngcontent-%COMP%] { - margin-left: auto; - font-size: 12px; - padding: 3px 10px; - border-radius: 99px; - background: #44403c; - color: #a8a29e; - } - .status.connected[_ngcontent-%COMP%] { - background: #14532d; - color: #4ade80; - } - main[_ngcontent-%COMP%] { - flex: 1; - overflow: auto; - padding: 16px; - }`]})};function mT(e){try{return new URL(e,location.href).origin===location.origin}catch{return!1}}function hT(){let e=new URLSearchParams(location.search).get(`baseURL`);if(e&&mT(e))return e;if(!location.pathname.includes(`__ng-devtools`))return`/__ng-devtools/`}Y_(pT).catch(console.error);export{Qv as t}; \ No newline at end of file diff --git a/extension/ui/index.html b/extension/ui/index.html index fe62249..f5a9f1d 100644 --- a/extension/ui/index.html +++ b/extension/ui/index.html @@ -5,7 +5,7 @@ Angular DevTools - +