-
Notifications
You must be signed in to change notification settings - Fork 1
Expand file tree
/
Copy pathmain-3MPHCQ5Y.js
More file actions
24 lines (24 loc) · 320 KB
/
main-3MPHCQ5Y.js
File metadata and controls
24 lines (24 loc) · 320 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
var qm=Object.defineProperty,Wm=Object.defineProperties;var Zm=Object.getOwnPropertyDescriptors;var ii=Object.getOwnPropertySymbols;var Qc=Object.prototype.hasOwnProperty,Jc=Object.prototype.propertyIsEnumerable;var Yc=(e,n,t)=>n in e?qm(e,n,{enumerable:!0,configurable:!0,writable:!0,value:t}):e[n]=t,C=(e,n)=>{for(var t in n||={})Qc.call(n,t)&&Yc(e,t,n[t]);if(ii)for(var t of ii(n))Jc.call(n,t)&&Yc(e,t,n[t]);return e},Q=(e,n)=>Wm(e,Zm(n));var Kc=(e,n)=>{var t={};for(var r in e)Qc.call(e,r)&&n.indexOf(r)<0&&(t[r]=e[r]);if(e!=null&&ii)for(var r of ii(e))n.indexOf(r)<0&&Jc.call(e,r)&&(t[r]=e[r]);return t};var vs=null;var gs=1,Xc=Symbol("SIGNAL");function z(e){let n=vs;return vs=e,n}function eu(){return vs}var ys={version:0,lastCleanEpoch:0,dirty:!1,producerNode:void 0,producerLastReadVersion:void 0,producerIndexOfThis:void 0,nextProducerIndex:0,liveConsumerNode:void 0,liveConsumerIndexOfThis:void 0,consumerAllowSignalWrites:!1,consumerIsAlwaysLive:!1,producerMustRecompute:()=>!1,producerRecomputeValue:()=>{},consumerMarkedDirty:()=>{},consumerOnSignalRead:()=>{}};function Ym(e){if(!(Cs(e)&&!e.dirty)&&!(!e.dirty&&e.lastCleanEpoch===gs)){if(!e.producerMustRecompute(e)&&!bs(e)){e.dirty=!1,e.lastCleanEpoch=gs;return}e.producerRecomputeValue(e),e.dirty=!1,e.lastCleanEpoch=gs}}function Ds(e){return e&&(e.nextProducerIndex=0),z(e)}function tu(e,n){if(z(n),!(!e||e.producerNode===void 0||e.producerIndexOfThis===void 0||e.producerLastReadVersion===void 0)){if(Cs(e))for(let t=e.nextProducerIndex;t<e.producerNode.length;t++)Es(e.producerNode[t],e.producerIndexOfThis[t]);for(;e.producerNode.length>e.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}function bs(e){Is(e);for(let n=0;n<e.producerNode.length;n++){let t=e.producerNode[n],r=e.producerLastReadVersion[n];if(r!==t.version||(Ym(t),r!==t.version))return!0}return!1}function ws(e){if(Is(e),Cs(e))for(let n=0;n<e.producerNode.length;n++)Es(e.producerNode[n],e.producerIndexOfThis[n]);e.producerNode.length=e.producerLastReadVersion.length=e.producerIndexOfThis.length=0,e.liveConsumerNode&&(e.liveConsumerNode.length=e.liveConsumerIndexOfThis.length=0)}function Es(e,n){if(Qm(e),e.liveConsumerNode.length===1&&Jm(e))for(let r=0;r<e.producerNode.length;r++)Es(e.producerNode[r],e.producerIndexOfThis[r]);let t=e.liveConsumerNode.length-1;if(e.liveConsumerNode[n]=e.liveConsumerNode[t],e.liveConsumerIndexOfThis[n]=e.liveConsumerIndexOfThis[t],e.liveConsumerNode.length--,e.liveConsumerIndexOfThis.length--,n<e.liveConsumerNode.length){let r=e.liveConsumerIndexOfThis[n],i=e.liveConsumerNode[n];Is(i),i.producerIndexOfThis[r]=n}}function Cs(e){return e.consumerIsAlwaysLive||(e?.liveConsumerNode?.length??0)>0}function Is(e){e.producerNode??=[],e.producerIndexOfThis??=[],e.producerLastReadVersion??=[]}function Qm(e){e.liveConsumerNode??=[],e.liveConsumerIndexOfThis??=[]}function Jm(e){return e.producerNode!==void 0}function Km(){throw new Error}var Xm=Km;function nu(e){Xm=e}function k(e){return typeof e=="function"}function mn(e){let t=e(r=>{Error.call(r),r.stack=new Error().stack});return t.prototype=Object.create(Error.prototype),t.prototype.constructor=t,t}var oi=mn(e=>function(t){e(this),this.message=t?`${t.length} errors occurred during unsubscription:
${t.map((r,i)=>`${i+1}) ${r.toString()}`).join(`
`)}`:"",this.name="UnsubscriptionError",this.errors=t});function or(e,n){if(e){let t=e.indexOf(n);0<=t&&e.splice(t,1)}}var ee=class e{constructor(n){this.initialTeardown=n,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let n;if(!this.closed){this.closed=!0;let{_parentage:t}=this;if(t)if(this._parentage=null,Array.isArray(t))for(let o of t)o.remove(this);else t.remove(this);let{initialTeardown:r}=this;if(k(r))try{r()}catch(o){n=o instanceof oi?o.errors:[o]}let{_finalizers:i}=this;if(i){this._finalizers=null;for(let o of i)try{ru(o)}catch(s){n=n??[],s instanceof oi?n=[...n,...s.errors]:n.push(s)}}if(n)throw new oi(n)}}add(n){var t;if(n&&n!==this)if(this.closed)ru(n);else{if(n instanceof e){if(n.closed||n._hasParent(this))return;n._addParent(this)}(this._finalizers=(t=this._finalizers)!==null&&t!==void 0?t:[]).push(n)}}_hasParent(n){let{_parentage:t}=this;return t===n||Array.isArray(t)&&t.includes(n)}_addParent(n){let{_parentage:t}=this;this._parentage=Array.isArray(t)?(t.push(n),t):t?[t,n]:n}_removeParent(n){let{_parentage:t}=this;t===n?this._parentage=null:Array.isArray(t)&&or(t,n)}remove(n){let{_finalizers:t}=this;t&&or(t,n),n instanceof e&&n._removeParent(this)}};ee.EMPTY=(()=>{let e=new ee;return e.closed=!0,e})();var Ss=ee.EMPTY;function si(e){return e instanceof ee||e&&"closed"in e&&k(e.remove)&&k(e.add)&&k(e.unsubscribe)}function ru(e){k(e)?e():e.unsubscribe()}var Ue={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1};var gn={setTimeout(e,n,...t){let{delegate:r}=gn;return r?.setTimeout?r.setTimeout(e,n,...t):setTimeout(e,n,...t)},clearTimeout(e){let{delegate:n}=gn;return(n?.clearTimeout||clearTimeout)(e)},delegate:void 0};function ai(e){gn.setTimeout(()=>{let{onUnhandledError:n}=Ue;if(n)n(e);else throw e})}function sr(){}var iu=_s("C",void 0,void 0);function ou(e){return _s("E",void 0,e)}function su(e){return _s("N",e,void 0)}function _s(e,n,t){return{kind:e,value:n,error:t}}var $t=null;function vn(e){if(Ue.useDeprecatedSynchronousErrorHandling){let n=!$t;if(n&&($t={errorThrown:!1,error:null}),e(),n){let{errorThrown:t,error:r}=$t;if($t=null,t)throw r}}else e()}function au(e){Ue.useDeprecatedSynchronousErrorHandling&&$t&&($t.errorThrown=!0,$t.error=e)}var Ht=class extends ee{constructor(n){super(),this.isStopped=!1,n?(this.destination=n,si(n)&&n.add(this)):this.destination=ng}static create(n,t,r){return new yn(n,t,r)}next(n){this.isStopped?xs(su(n),this):this._next(n)}error(n){this.isStopped?xs(ou(n),this):(this.isStopped=!0,this._error(n))}complete(){this.isStopped?xs(iu,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(n){this.destination.next(n)}_error(n){try{this.destination.error(n)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}},eg=Function.prototype.bind;function Ms(e,n){return eg.call(e,n)}var Ts=class{constructor(n){this.partialObserver=n}next(n){let{partialObserver:t}=this;if(t.next)try{t.next(n)}catch(r){li(r)}}error(n){let{partialObserver:t}=this;if(t.error)try{t.error(n)}catch(r){li(r)}else li(n)}complete(){let{partialObserver:n}=this;if(n.complete)try{n.complete()}catch(t){li(t)}}},yn=class extends Ht{constructor(n,t,r){super();let i;if(k(n)||!n)i={next:n??void 0,error:t??void 0,complete:r??void 0};else{let o;this&&Ue.useDeprecatedNextContext?(o=Object.create(n),o.unsubscribe=()=>this.unsubscribe(),i={next:n.next&&Ms(n.next,o),error:n.error&&Ms(n.error,o),complete:n.complete&&Ms(n.complete,o)}):i=n}this.destination=new Ts(i)}};function li(e){Ue.useDeprecatedSynchronousErrorHandling?au(e):ai(e)}function tg(e){throw e}function xs(e,n){let{onStoppedNotification:t}=Ue;t&&gn.setTimeout(()=>t(e,n))}var ng={closed:!0,next:sr,error:tg,complete:sr};var Dn=typeof Symbol=="function"&&Symbol.observable||"@@observable";function Ie(e){return e}function As(...e){return ks(e)}function ks(e){return e.length===0?Ie:e.length===1?e[0]:function(t){return e.reduce((r,i)=>i(r),t)}}var q=(()=>{class e{constructor(t){t&&(this._subscribe=t)}lift(t){let r=new e;return r.source=this,r.operator=t,r}subscribe(t,r,i){let o=ig(t)?t:new yn(t,r,i);return vn(()=>{let{operator:s,source:a}=this;o.add(s?s.call(o,a):a?this._subscribe(o):this._trySubscribe(o))}),o}_trySubscribe(t){try{return this._subscribe(t)}catch(r){t.error(r)}}forEach(t,r){return r=lu(r),new r((i,o)=>{let s=new yn({next:a=>{try{t(a)}catch(l){o(l),s.unsubscribe()}},error:o,complete:i});this.subscribe(s)})}_subscribe(t){var r;return(r=this.source)===null||r===void 0?void 0:r.subscribe(t)}[Dn](){return this}pipe(...t){return ks(t)(this)}toPromise(t){return t=lu(t),new t((r,i)=>{let o;this.subscribe(s=>o=s,s=>i(s),()=>r(o))})}}return e.create=n=>new e(n),e})();function lu(e){var n;return(n=e??Ue.Promise)!==null&&n!==void 0?n:Promise}function rg(e){return e&&k(e.next)&&k(e.error)&&k(e.complete)}function ig(e){return e&&e instanceof Ht||rg(e)&&si(e)}function Ns(e){return k(e?.lift)}function U(e){return n=>{if(Ns(n))return n.lift(function(t){try{return e(t,this)}catch(r){this.error(r)}});throw new TypeError("Unable to lift unknown Observable type")}}function H(e,n,t,r,i){return new Rs(e,n,t,r,i)}var Rs=class extends Ht{constructor(n,t,r,i,o,s){super(n),this.onFinalize=o,this.shouldUnsubscribe=s,this._next=t?function(a){try{t(a)}catch(l){n.error(l)}}:super._next,this._error=i?function(a){try{i(a)}catch(l){n.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=r?function(){try{r()}catch(a){n.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var n;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){let{closed:t}=this;super.unsubscribe(),!t&&((n=this.onFinalize)===null||n===void 0||n.call(this))}}};function bn(){return U((e,n)=>{let t=null;e._refCount++;let r=H(n,void 0,void 0,void 0,()=>{if(!e||e._refCount<=0||0<--e._refCount){t=null;return}let i=e._connection,o=t;t=null,i&&(!o||i===o)&&i.unsubscribe(),n.unsubscribe()});e.subscribe(r),r.closed||(t=e.connect())})}var wn=class extends q{constructor(n,t){super(),this.source=n,this.subjectFactory=t,this._subject=null,this._refCount=0,this._connection=null,Ns(n)&&(this.lift=n.lift)}_subscribe(n){return this.getSubject().subscribe(n)}getSubject(){let n=this._subject;return(!n||n.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;let{_connection:n}=this;this._subject=this._connection=null,n?.unsubscribe()}connect(){let n=this._connection;if(!n){n=this._connection=new ee;let t=this.getSubject();n.add(this.source.subscribe(H(t,void 0,()=>{this._teardown(),t.complete()},r=>{this._teardown(),t.error(r)},()=>this._teardown()))),n.closed&&(this._connection=null,n=ee.EMPTY)}return n}refCount(){return bn()(this)}};var cu=mn(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});var me=(()=>{class e extends q{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(t){let r=new ci(this,this);return r.operator=t,r}_throwIfClosed(){if(this.closed)throw new cu}next(t){vn(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(let r of this.currentObservers)r.next(t)}})}error(t){vn(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=t;let{observers:r}=this;for(;r.length;)r.shift().error(t)}})}complete(){vn(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;let{observers:t}=this;for(;t.length;)t.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var t;return((t=this.observers)===null||t===void 0?void 0:t.length)>0}_trySubscribe(t){return this._throwIfClosed(),super._trySubscribe(t)}_subscribe(t){return this._throwIfClosed(),this._checkFinalizedStatuses(t),this._innerSubscribe(t)}_innerSubscribe(t){let{hasError:r,isStopped:i,observers:o}=this;return r||i?Ss:(this.currentObservers=null,o.push(t),new ee(()=>{this.currentObservers=null,or(o,t)}))}_checkFinalizedStatuses(t){let{hasError:r,thrownError:i,isStopped:o}=this;r?t.error(i):o&&t.complete()}asObservable(){let t=new q;return t.source=this,t}}return e.create=(n,t)=>new ci(n,t),e})(),ci=class extends me{constructor(n,t){super(),this.destination=n,this.source=t}next(n){var t,r;(r=(t=this.destination)===null||t===void 0?void 0:t.next)===null||r===void 0||r.call(t,n)}error(n){var t,r;(r=(t=this.destination)===null||t===void 0?void 0:t.error)===null||r===void 0||r.call(t,n)}complete(){var n,t;(t=(n=this.destination)===null||n===void 0?void 0:n.complete)===null||t===void 0||t.call(n)}_subscribe(n){var t,r;return(r=(t=this.source)===null||t===void 0?void 0:t.subscribe(n))!==null&&r!==void 0?r:Ss}};var oe=class extends me{constructor(n){super(),this._value=n}get value(){return this.getValue()}_subscribe(n){let t=super._subscribe(n);return!t.closed&&n.next(this._value),t}getValue(){let{hasError:n,thrownError:t,_value:r}=this;if(n)throw t;return this._throwIfClosed(),r}next(n){super.next(this._value=n)}};var Se=new q(e=>e.complete());function uu(e){return e&&k(e.schedule)}function du(e){return e[e.length-1]}function fu(e){return k(du(e))?e.pop():void 0}function _t(e){return uu(du(e))?e.pop():void 0}function hu(e,n,t,r){function i(o){return o instanceof t?o:new t(function(s){s(o)})}return new(t||(t=Promise))(function(o,s){function a(p){try{f(r.next(p))}catch(h){s(h)}}function l(p){try{f(r.throw(p))}catch(h){s(h)}}function f(p){p.done?o(p.value):i(p.value).then(a,l)}f((r=r.apply(e,n||[])).next())})}function pu(e){var n=typeof Symbol=="function"&&Symbol.iterator,t=n&&e[n],r=0;if(t)return t.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 new TypeError(n?"Object is not iterable.":"Symbol.iterator is not defined.")}function zt(e){return this instanceof zt?(this.v=e,this):new zt(e)}function mu(e,n,t){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r=t.apply(e,n||[]),i,o=[];return i=Object.create((typeof AsyncIterator=="function"?AsyncIterator:Object).prototype),a("next"),a("throw"),a("return",s),i[Symbol.asyncIterator]=function(){return this},i;function s(v){return function(b){return Promise.resolve(b).then(v,h)}}function a(v,b){r[v]&&(i[v]=function(M){return new Promise(function(B,O){o.push([v,M,B,O])>1||l(v,M)})},b&&(i[v]=b(i[v])))}function l(v,b){try{f(r[v](b))}catch(M){D(o[0][3],M)}}function f(v){v.value instanceof zt?Promise.resolve(v.value.v).then(p,h):D(o[0][2],v)}function p(v){l("next",v)}function h(v){l("throw",v)}function D(v,b){v(b),o.shift(),o.length&&l(o[0][0],o[0][1])}}function gu(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var n=e[Symbol.asyncIterator],t;return n?n.call(e):(e=typeof pu=="function"?pu(e):e[Symbol.iterator](),t={},r("next"),r("throw"),r("return"),t[Symbol.asyncIterator]=function(){return this},t);function r(o){t[o]=e[o]&&function(s){return new Promise(function(a,l){s=e[o](s),i(a,l,s.done,s.value)})}}function i(o,s,a,l){Promise.resolve(l).then(function(f){o({value:f,done:a})},s)}}var ui=e=>e&&typeof e.length=="number"&&typeof e!="function";function di(e){return k(e?.then)}function fi(e){return k(e[Dn])}function pi(e){return Symbol.asyncIterator&&k(e?.[Symbol.asyncIterator])}function hi(e){return new TypeError(`You provided ${e!==null&&typeof e=="object"?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}function og(){return typeof Symbol!="function"||!Symbol.iterator?"@@iterator":Symbol.iterator}var mi=og();function gi(e){return k(e?.[mi])}function vi(e){return mu(this,arguments,function*(){let t=e.getReader();try{for(;;){let{value:r,done:i}=yield zt(t.read());if(i)return yield zt(void 0);yield yield zt(r)}}finally{t.releaseLock()}})}function yi(e){return k(e?.getReader)}function le(e){if(e instanceof q)return e;if(e!=null){if(fi(e))return sg(e);if(ui(e))return ag(e);if(di(e))return lg(e);if(pi(e))return vu(e);if(gi(e))return cg(e);if(yi(e))return ug(e)}throw hi(e)}function sg(e){return new q(n=>{let t=e[Dn]();if(k(t.subscribe))return t.subscribe(n);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}function ag(e){return new q(n=>{for(let t=0;t<e.length&&!n.closed;t++)n.next(e[t]);n.complete()})}function lg(e){return new q(n=>{e.then(t=>{n.closed||(n.next(t),n.complete())},t=>n.error(t)).then(null,ai)})}function cg(e){return new q(n=>{for(let t of e)if(n.next(t),n.closed)return;n.complete()})}function vu(e){return new q(n=>{dg(e,n).catch(t=>n.error(t))})}function ug(e){return vu(vi(e))}function dg(e,n){var t,r,i,o;return hu(this,void 0,void 0,function*(){try{for(t=gu(e);r=yield t.next(),!r.done;){let s=r.value;if(n.next(s),n.closed)return}}catch(s){i={error:s}}finally{try{r&&!r.done&&(o=t.return)&&(yield o.call(t))}finally{if(i)throw i.error}}n.complete()})}function we(e,n,t,r=0,i=!1){let o=n.schedule(function(){t(),i?e.add(this.schedule(null,r)):this.unsubscribe()},r);if(e.add(o),!i)return o}function Di(e,n=0){return U((t,r)=>{t.subscribe(H(r,i=>we(r,e,()=>r.next(i),n),()=>we(r,e,()=>r.complete(),n),i=>we(r,e,()=>r.error(i),n)))})}function bi(e,n=0){return U((t,r)=>{r.add(e.schedule(()=>t.subscribe(r),n))})}function yu(e,n){return le(e).pipe(bi(n),Di(n))}function Du(e,n){return le(e).pipe(bi(n),Di(n))}function bu(e,n){return new q(t=>{let r=0;return n.schedule(function(){r===e.length?t.complete():(t.next(e[r++]),t.closed||this.schedule())})})}function wu(e,n){return new q(t=>{let r;return we(t,n,()=>{r=e[mi](),we(t,n,()=>{let i,o;try{({value:i,done:o}=r.next())}catch(s){t.error(s);return}o?t.complete():t.next(i)},0,!0)}),()=>k(r?.return)&&r.return()})}function wi(e,n){if(!e)throw new Error("Iterable cannot be null");return new q(t=>{we(t,n,()=>{let r=e[Symbol.asyncIterator]();we(t,n,()=>{r.next().then(i=>{i.done?t.complete():t.next(i.value)})},0,!0)})})}function Eu(e,n){return wi(vi(e),n)}function Cu(e,n){if(e!=null){if(fi(e))return yu(e,n);if(ui(e))return bu(e,n);if(di(e))return Du(e,n);if(pi(e))return wi(e,n);if(gi(e))return wu(e,n);if(yi(e))return Eu(e,n)}throw hi(e)}function te(e,n){return n?Cu(e,n):le(e)}function A(...e){let n=_t(e);return te(e,n)}function En(e,n){let t=k(e)?e:()=>e,r=i=>i.error(t());return new q(n?i=>n.schedule(r,0,i):r)}function Os(e){return!!e&&(e instanceof q||k(e.lift)&&k(e.subscribe))}var dt=mn(e=>function(){e(this),this.name="EmptyError",this.message="no elements in sequence"});function V(e,n){return U((t,r)=>{let i=0;t.subscribe(H(r,o=>{r.next(e.call(n,o,i++))}))})}var{isArray:fg}=Array;function pg(e,n){return fg(n)?e(...n):e(n)}function Iu(e){return V(n=>pg(e,n))}var{isArray:hg}=Array,{getPrototypeOf:mg,prototype:gg,keys:vg}=Object;function Su(e){if(e.length===1){let n=e[0];if(hg(n))return{args:n,keys:null};if(yg(n)){let t=vg(n);return{args:t.map(r=>n[r]),keys:t}}}return{args:e,keys:null}}function yg(e){return e&&typeof e=="object"&&mg(e)===gg}function _u(e,n){return e.reduce((t,r,i)=>(t[r]=n[i],t),{})}function Ei(...e){let n=_t(e),t=fu(e),{args:r,keys:i}=Su(e);if(r.length===0)return te([],n);let o=new q(Dg(r,n,i?s=>_u(i,s):Ie));return t?o.pipe(Iu(t)):o}function Dg(e,n,t=Ie){return r=>{Mu(n,()=>{let{length:i}=e,o=new Array(i),s=i,a=i;for(let l=0;l<i;l++)Mu(n,()=>{let f=te(e[l],n),p=!1;f.subscribe(H(r,h=>{o[l]=h,p||(p=!0,a--),a||r.next(t(o.slice()))},()=>{--s||r.complete()}))},r)},r)}}function Mu(e,n,t){e?we(t,e,n):n()}function xu(e,n,t,r,i,o,s,a){let l=[],f=0,p=0,h=!1,D=()=>{h&&!l.length&&!f&&n.complete()},v=M=>f<r?b(M):l.push(M),b=M=>{o&&n.next(M),f++;let B=!1;le(t(M,p++)).subscribe(H(n,O=>{i?.(O),o?v(O):n.next(O)},()=>{B=!0},void 0,()=>{if(B)try{for(f--;l.length&&f<r;){let O=l.shift();s?we(n,s,()=>b(O)):b(O)}D()}catch(O){n.error(O)}}))};return e.subscribe(H(n,v,()=>{h=!0,D()})),()=>{a?.()}}function se(e,n,t=1/0){return k(n)?se((r,i)=>V((o,s)=>n(r,o,i,s))(le(e(r,i))),t):(typeof n=="number"&&(t=n),U((r,i)=>xu(r,i,e,t)))}function Ps(e=1/0){return se(Ie,e)}function Tu(){return Ps(1)}function Cn(...e){return Tu()(te(e,_t(e)))}function Ci(e){return new q(n=>{le(e()).subscribe(n)})}function Ne(e,n){return U((t,r)=>{let i=0;t.subscribe(H(r,o=>e.call(n,o,i++)&&r.next(o)))})}function Mt(e){return U((n,t)=>{let r=null,i=!1,o;r=n.subscribe(H(t,void 0,void 0,s=>{o=le(e(s,Mt(e)(n))),r?(r.unsubscribe(),r=null,o.subscribe(t)):i=!0})),i&&(r.unsubscribe(),r=null,o.subscribe(t))})}function Au(e,n,t,r,i){return(o,s)=>{let a=t,l=n,f=0;o.subscribe(H(s,p=>{let h=f++;l=a?e(l,p,h):(a=!0,p),r&&s.next(l)},i&&(()=>{a&&s.next(l),s.complete()})))}}function Gt(e,n){return k(n)?se(e,n,1):se(e,1)}function xt(e){return U((n,t)=>{let r=!1;n.subscribe(H(t,i=>{r=!0,t.next(i)},()=>{r||t.next(e),t.complete()}))})}function ft(e){return e<=0?()=>Se:U((n,t)=>{let r=0;n.subscribe(H(t,i=>{++r<=e&&(t.next(i),e<=r&&t.complete())}))})}function Fs(e){return V(()=>e)}function Ii(e=bg){return U((n,t)=>{let r=!1;n.subscribe(H(t,i=>{r=!0,t.next(i)},()=>r?t.complete():t.error(e())))})}function bg(){return new dt}function In(e){return U((n,t)=>{try{n.subscribe(t)}finally{t.add(e)}})}function $e(e,n){let t=arguments.length>=2;return r=>r.pipe(e?Ne((i,o)=>e(i,o,r)):Ie,ft(1),t?xt(n):Ii(()=>new dt))}function Sn(e){return e<=0?()=>Se:U((n,t)=>{let r=[];n.subscribe(H(t,i=>{r.push(i),e<r.length&&r.shift()},()=>{for(let i of r)t.next(i);t.complete()},void 0,()=>{r=null}))})}function Ls(e,n){let t=arguments.length>=2;return r=>r.pipe(e?Ne((i,o)=>e(i,o,r)):Ie,Sn(1),t?xt(n):Ii(()=>new dt))}function js(e,n){return U(Au(e,n,arguments.length>=2,!0))}function Bs(...e){let n=_t(e);return U((t,r)=>{(n?Cn(e,t,n):Cn(e,t)).subscribe(r)})}function Re(e,n){return U((t,r)=>{let i=null,o=0,s=!1,a=()=>s&&!i&&r.complete();t.subscribe(H(r,l=>{i?.unsubscribe();let f=0,p=o++;le(e(l,p)).subscribe(i=H(r,h=>r.next(n?n(l,h,p,f++):h),()=>{i=null,a()}))},()=>{s=!0,a()}))})}function Vs(e){return U((n,t)=>{le(e).subscribe(H(t,()=>t.complete(),sr)),!t.closed&&n.subscribe(t)})}function ae(e,n,t){let r=k(e)||n||t?{next:e,error:n,complete:t}:e;return r?U((i,o)=>{var s;(s=r.subscribe)===null||s===void 0||s.call(r);let a=!0;i.subscribe(H(o,l=>{var f;(f=r.next)===null||f===void 0||f.call(r,l),o.next(l)},()=>{var l;a=!1,(l=r.complete)===null||l===void 0||l.call(r),o.complete()},l=>{var f;a=!1,(f=r.error)===null||f===void 0||f.call(r,l),o.error(l)},()=>{var l,f;a&&((l=r.unsubscribe)===null||l===void 0||l.call(r)),(f=r.finalize)===null||f===void 0||f.call(r)}))}):Ie}var Cd="https://g.co/ng/security#xss",S=class extends Error{constructor(n,t){super(fo(n,t)),this.code=n}};function fo(e,n){return`${`NG0${Math.abs(e)}`}${n?": "+n:""}`}function Dr(e){return{toString:e}.toString()}var Si="__parameters__";function wg(e){return function(...t){if(e){let r=e(...t);for(let i in r)this[i]=r[i]}}}function Id(e,n,t){return Dr(()=>{let r=wg(n);function i(...o){if(this instanceof i)return r.apply(this,o),this;let s=new i(...o);return a.annotation=s,a;function a(l,f,p){let h=l.hasOwnProperty(Si)?l[Si]:Object.defineProperty(l,Si,{value:[]})[Si];for(;h.length<=p;)h.push(null);return(h[p]=h[p]||[]).push(s),l}}return t&&(i.prototype=Object.create(t.prototype)),i.prototype.ngMetadataName=e,i.annotationCls=i,i})}var ur=globalThis;function Y(e){for(let n in e)if(e[n]===Y)return n;throw Error("Could not find renamed property on target object.")}function Ee(e){if(typeof e=="string")return e;if(Array.isArray(e))return"["+e.map(Ee).join(", ")+"]";if(e==null)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;let n=e.toString();if(n==null)return""+n;let t=n.indexOf(`
`);return t===-1?n:n.substring(0,t)}function ku(e,n){return e==null||e===""?n===null?"":n:n==null||n===""?e:e+" "+n}var Eg=Y({__forward_ref__:Y});function Sd(e){return e.__forward_ref__=Sd,e.toString=function(){return Ee(this())},e}function ge(e){return _d(e)?e():e}function _d(e){return typeof e=="function"&&e.hasOwnProperty(Eg)&&e.__forward_ref__===Sd}function _(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function po(e){return{providers:e.providers||[],imports:e.imports||[]}}function ho(e){return Nu(e,xd)||Nu(e,Td)}function Md(e){return ho(e)!==null}function Nu(e,n){return e.hasOwnProperty(n)?e[n]:null}function Cg(e){let n=e&&(e[xd]||e[Td]);return n||null}function Ru(e){return e&&(e.hasOwnProperty(Ou)||e.hasOwnProperty(Ig))?e[Ou]:null}var xd=Y({\u0275prov:Y}),Ou=Y({\u0275inj:Y}),Td=Y({ngInjectableDef:Y}),Ig=Y({ngInjectorDef:Y}),T=class{constructor(n,t){this._desc=n,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,typeof t=="number"?this.__NG_ELEMENT_ID__=t:t!==void 0&&(this.\u0275prov=_({token:this,providedIn:t.providedIn||"root",factory:t.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}};function Ad(e){return e&&!!e.\u0275providers}var Sg=Y({\u0275cmp:Y}),_g=Y({\u0275dir:Y}),Mg=Y({\u0275pipe:Y}),xg=Y({\u0275mod:Y}),ji=Y({\u0275fac:Y}),cr=Y({__NG_ELEMENT_ID__:Y}),Pu=Y({__NG_ENV_ID__:Y});function br(e){return typeof e=="string"?e:e==null?"":String(e)}function Tg(e){return typeof e=="function"?e.name||e.toString():typeof e=="object"&&e!=null&&typeof e.type=="function"?e.type.name||e.type.toString():br(e)}function Ag(e,n){let t=n?`. Dependency path: ${n.join(" > ")} > ${e}`:"";throw new S(-200,e)}function tl(e,n){throw new S(-201,!1)}var P=function(e){return e[e.Default=0]="Default",e[e.Host=1]="Host",e[e.Self=2]="Self",e[e.SkipSelf=4]="SkipSelf",e[e.Optional=8]="Optional",e}(P||{}),ea;function kd(){return ea}function Oe(e){let n=ea;return ea=e,n}function Nd(e,n,t){let r=ho(e);if(r&&r.providedIn=="root")return r.value===void 0?r.value=r.factory():r.value;if(t&P.Optional)return null;if(n!==void 0)return n;tl(e,"Injector")}var kg={},dr=kg,ta="__NG_DI_FLAG__",Bi="ngTempTokenPath",Ng="ngTokenPath",Rg=/\n/gm,Og="\u0275",Fu="__source",Tn;function Pg(){return Tn}function Tt(e){let n=Tn;return Tn=e,n}function Fg(e,n=P.Default){if(Tn===void 0)throw new S(-203,!1);return Tn===null?Nd(e,void 0,n):Tn.get(e,n&P.Optional?null:void 0,n)}function F(e,n=P.Default){return(kd()||Fg)(ge(e),n)}function w(e,n=P.Default){return F(e,mo(n))}function mo(e){return typeof e>"u"||typeof e=="number"?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function na(e){let n=[];for(let t=0;t<e.length;t++){let r=ge(e[t]);if(Array.isArray(r)){if(r.length===0)throw new S(900,!1);let i,o=P.Default;for(let s=0;s<r.length;s++){let a=r[s],l=Lg(a);typeof l=="number"?l===-1?i=a.token:o|=l:i=a}n.push(F(i,o))}else n.push(F(r))}return n}function Rd(e,n){return e[ta]=n,e.prototype[ta]=n,e}function Lg(e){return e[ta]}function jg(e,n,t,r){let i=e[Bi];throw n[Fu]&&i.unshift(n[Fu]),e.message=Bg(`
`+e.message,i,t,r),e[Ng]=i,e[Bi]=null,e}function Bg(e,n,t,r=null){e=e&&e.charAt(0)===`
`&&e.charAt(1)==Og?e.slice(2):e;let i=Ee(n);if(Array.isArray(n))i=n.map(Ee).join(" -> ");else if(typeof n=="object"){let o=[];for(let s in n)if(n.hasOwnProperty(s)){let a=n[s];o.push(s+":"+(typeof a=="string"?JSON.stringify(a):Ee(a)))}i=`{${o.join(", ")}}`}return`${t}${r?"("+r+")":""}[${i}]: ${e.replace(Rg,`
`)}`}var nl=Rd(Id("Optional"),8);var Od=Rd(Id("SkipSelf"),4);function kn(e,n){let t=e.hasOwnProperty(ji);return t?e[ji]:null}function rl(e,n){e.forEach(t=>Array.isArray(t)?rl(t,n):n(t))}function Pd(e,n,t){n>=e.length?e.push(t):e.splice(n,0,t)}function Vi(e,n){return n>=e.length-1?e.pop():e.splice(n,1)[0]}var fr={},ze=[],Wt=new T(""),Fd=new T("",-1),Ld=new T(""),Ui=class{get(n,t=dr){if(t===dr){let r=new Error(`NullInjectorError: No provider for ${Ee(n)}!`);throw r.name="NullInjectorError",r}return t}},jd=function(e){return e[e.OnPush=0]="OnPush",e[e.Default=1]="Default",e}(jd||{}),tt=function(e){return e[e.Emulated=0]="Emulated",e[e.None=2]="None",e[e.ShadowDom=3]="ShadowDom",e}(tt||{}),kt=function(e){return e[e.None=0]="None",e[e.SignalBased=1]="SignalBased",e[e.HasDecoratorInputTransform=2]="HasDecoratorInputTransform",e}(kt||{});function Vg(e,n,t){let r=e.length;for(;;){let i=e.indexOf(n,t);if(i===-1)return i;if(i===0||e.charCodeAt(i-1)<=32){let o=n.length;if(i+o===r||e.charCodeAt(i+o)<=32)return i}t=i+1}}function ra(e,n,t){let r=0;for(;r<t.length;){let i=t[r];if(typeof i=="number"){if(i!==0)break;r++;let o=t[r++],s=t[r++],a=t[r++];e.setAttribute(n,s,a,o)}else{let o=i,s=t[++r];$g(o)?e.setProperty(n,o,s):e.setAttribute(n,o,s),r++}}return r}function Ug(e){return e===3||e===4||e===6}function $g(e){return e.charCodeAt(0)===64}function il(e,n){if(!(n===null||n.length===0))if(e===null||e.length===0)e=n.slice();else{let t=-1;for(let r=0;r<n.length;r++){let i=n[r];typeof i=="number"?t=i:t===0||(t===-1||t===2?Lu(e,t,i,null,n[++r]):Lu(e,t,i,null,null))}}return e}function Lu(e,n,t,r,i){let o=0,s=e.length;if(n===-1)s=-1;else for(;o<e.length;){let a=e[o++];if(typeof a=="number"){if(a===n){s=-1;break}else if(a>n){s=o-1;break}}}for(;o<e.length;){let a=e[o];if(typeof a=="number")break;if(a===t){if(r===null){i!==null&&(e[o+1]=i);return}else if(r===e[o+1]){e[o+2]=i;return}}o++,r!==null&&o++,i!==null&&o++}s!==-1&&(e.splice(s,0,n),o=s+1),e.splice(o++,0,t),r!==null&&e.splice(o++,0,r),i!==null&&e.splice(o++,0,i)}var Bd="ng-template";function Hg(e,n,t,r){let i=0;if(r){for(;i<n.length&&typeof n[i]=="string";i+=2)if(n[i]==="class"&&Vg(n[i+1].toLowerCase(),t,0)!==-1)return!0}else if(ol(e))return!1;if(i=n.indexOf(1,i),i>-1){let o;for(;++i<n.length&&typeof(o=n[i])=="string";)if(o.toLowerCase()===t)return!0}return!1}function ol(e){return e.type===4&&e.value!==Bd}function zg(e,n,t){let r=e.type===4&&!t?Bd:e.value;return n===r}function Gg(e,n,t){let r=4,i=e.attrs,o=i!==null?Zg(i):0,s=!1;for(let a=0;a<n.length;a++){let l=n[a];if(typeof l=="number"){if(!s&&!He(r)&&!He(l))return!1;if(s&&He(l))continue;s=!1,r=l|r&1;continue}if(!s)if(r&4){if(r=2|r&1,l!==""&&!zg(e,l,t)||l===""&&n.length===1){if(He(r))return!1;s=!0}}else if(r&8){if(i===null||!Hg(e,i,l,t)){if(He(r))return!1;s=!0}}else{let f=n[++a],p=qg(l,i,ol(e),t);if(p===-1){if(He(r))return!1;s=!0;continue}if(f!==""){let h;if(p>o?h="":h=i[p+1].toLowerCase(),r&2&&f!==h){if(He(r))return!1;s=!0}}}}return He(r)||s}function He(e){return(e&1)===0}function qg(e,n,t,r){if(n===null)return-1;let i=0;if(r||!t){let o=!1;for(;i<n.length;){let s=n[i];if(s===e)return i;if(s===3||s===6)o=!0;else if(s===1||s===2){let a=n[++i];for(;typeof a=="string";)a=n[++i];continue}else{if(s===4)break;if(s===0){i+=4;continue}}i+=o?1:2}return-1}else return Yg(n,e)}function Wg(e,n,t=!1){for(let r=0;r<n.length;r++)if(Gg(e,n[r],t))return!0;return!1}function Zg(e){for(let n=0;n<e.length;n++){let t=e[n];if(Ug(t))return n}return e.length}function Yg(e,n){let t=e.indexOf(4);if(t>-1)for(t++;t<e.length;){let r=e[t];if(typeof r=="number")return-1;if(r===n)return t;t++}return-1}function ju(e,n){return e?":not("+n.trim()+")":n}function Qg(e){let n=e[0],t=1,r=2,i="",o=!1;for(;t<e.length;){let s=e[t];if(typeof s=="string")if(r&2){let a=e[++t];i+="["+s+(a.length>0?'="'+a+'"':"")+"]"}else r&8?i+="."+s:r&4&&(i+=" "+s);else i!==""&&!He(s)&&(n+=ju(o,i),i=""),r=s,o=o||!He(r);t++}return i!==""&&(n+=ju(o,i)),n}function Jg(e){return e.map(Qg).join(",")}function Kg(e){let n=[],t=[],r=1,i=2;for(;r<e.length;){let o=e[r];if(typeof o=="string")i===2?o!==""&&n.push(o,e[++r]):i===8&&t.push(o);else{if(!He(i))break;i=o}r++}return{attrs:n,classes:t}}function Le(e){return Dr(()=>{let n=zd(e),t=Q(C({},n),{decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===jd.OnPush,directiveDefs:null,pipeDefs:null,dependencies:n.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||tt.Emulated,styles:e.styles||ze,_:null,schemas:e.schemas||null,tView:null,id:""});Gd(t);let r=e.dependencies;return t.directiveDefs=Vu(r,!1),t.pipeDefs=Vu(r,!0),t.id=t0(t),t})}function Xg(e){return Zt(e)||Vd(e)}function e0(e){return e!==null}function go(e){return Dr(()=>({type:e.type,bootstrap:e.bootstrap||ze,declarations:e.declarations||ze,imports:e.imports||ze,exports:e.exports||ze,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function Bu(e,n){if(e==null)return fr;let t={};for(let r in e)if(e.hasOwnProperty(r)){let i=e[r],o,s,a=kt.None;Array.isArray(i)?(a=i[0],o=i[1],s=i[2]??o):(o=i,s=i),n?(t[o]=a!==kt.None?[r,a]:r,n[o]=s):t[o]=r}return t}function Vn(e){return Dr(()=>{let n=zd(e);return Gd(n),n})}function Zt(e){return e[Sg]||null}function Vd(e){return e[_g]||null}function Ud(e){return e[Mg]||null}function $d(e){let n=Zt(e)||Vd(e)||Ud(e);return n!==null?n.standalone:!1}function Hd(e,n){let t=e[xg]||null;if(!t&&n===!0)throw new Error(`Type ${Ee(e)} does not have '\u0275mod' property.`);return t}function zd(e){let n={};return{type:e.type,providersResolver:null,factory:null,hostBindings:e.hostBindings||null,hostVars:e.hostVars||0,hostAttrs:e.hostAttrs||null,contentQueries:e.contentQueries||null,declaredInputs:n,inputTransforms:null,inputConfig:e.inputs||fr,exportAs:e.exportAs||null,standalone:e.standalone===!0,signals:e.signals===!0,selectors:e.selectors||ze,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:Bu(e.inputs,n),outputs:Bu(e.outputs),debugInfo:null}}function Gd(e){e.features?.forEach(n=>n(e))}function Vu(e,n){if(!e)return null;let t=n?Ud:Xg;return()=>(typeof e=="function"?e():e).map(r=>t(r)).filter(e0)}function t0(e){let n=0,t=[e.selectors,e.ngContentSelectors,e.hostVars,e.hostAttrs,e.consts,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].join("|");for(let i of t)n=Math.imul(31,n)+i.charCodeAt(0)<<0;return n+=2147483648,"c"+n}function tn(e){return{\u0275providers:e}}function n0(...e){return{\u0275providers:qd(!0,e),\u0275fromNgModule:!0}}function qd(e,...n){let t=[],r=new Set,i,o=s=>{t.push(s)};return rl(n,s=>{let a=s;ia(a,o,[],r)&&(i||=[],i.push(a))}),i!==void 0&&Wd(i,o),t}function Wd(e,n){for(let t=0;t<e.length;t++){let{ngModule:r,providers:i}=e[t];sl(i,o=>{n(o,r)})}}function ia(e,n,t,r){if(e=ge(e),!e)return!1;let i=null,o=Ru(e),s=!o&&Zt(e);if(!o&&!s){let l=e.ngModule;if(o=Ru(l),o)i=l;else return!1}else{if(s&&!s.standalone)return!1;i=e}let a=r.has(i);if(s){if(a)return!1;if(r.add(i),s.dependencies){let l=typeof s.dependencies=="function"?s.dependencies():s.dependencies;for(let f of l)ia(f,n,t,r)}}else if(o){if(o.imports!=null&&!a){r.add(i);let f;try{rl(o.imports,p=>{ia(p,n,t,r)&&(f||=[],f.push(p))})}finally{}f!==void 0&&Wd(f,n)}if(!a){let f=kn(i)||(()=>new i);n({provide:i,useFactory:f,deps:ze},i),n({provide:Ld,useValue:i,multi:!0},i),n({provide:Wt,useValue:()=>F(i),multi:!0},i)}let l=o.providers;if(l!=null&&!a){let f=e;sl(l,p=>{n(p,f)})}}else return!1;return i!==e&&e.providers!==void 0}function sl(e,n){for(let t of e)Ad(t)&&(t=t.\u0275providers),Array.isArray(t)?sl(t,n):n(t)}var r0=Y({provide:String,useValue:Y});function Zd(e){return e!==null&&typeof e=="object"&&r0 in e}function i0(e){return!!(e&&e.useExisting)}function o0(e){return!!(e&&e.useFactory)}function Nn(e){return typeof e=="function"}function s0(e){return!!e.useClass}var vo=new T(""),Ri={},a0={},Us;function al(){return Us===void 0&&(Us=new Ui),Us}var Fe=class{},pr=class extends Fe{get destroyed(){return this._destroyed}constructor(n,t,r,i){super(),this.parent=t,this.source=r,this.scopes=i,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,sa(n,s=>this.processProvider(s)),this.records.set(Fd,_n(void 0,this)),i.has("environment")&&this.records.set(Fe,_n(void 0,this));let o=this.records.get(vo);o!=null&&typeof o.value=="string"&&this.scopes.add(o.value),this.injectorDefTypes=new Set(this.get(Ld,ze,P.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;let n=z(null);try{for(let r of this._ngOnDestroyHooks)r.ngOnDestroy();let t=this._onDestroyHooks;this._onDestroyHooks=[];for(let r of t)r()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),z(n)}}onDestroy(n){return this.assertNotDestroyed(),this._onDestroyHooks.push(n),()=>this.removeOnDestroy(n)}runInContext(n){this.assertNotDestroyed();let t=Tt(this),r=Oe(void 0),i;try{return n()}finally{Tt(t),Oe(r)}}get(n,t=dr,r=P.Default){if(this.assertNotDestroyed(),n.hasOwnProperty(Pu))return n[Pu](this);r=mo(r);let i,o=Tt(this),s=Oe(void 0);try{if(!(r&P.SkipSelf)){let l=this.records.get(n);if(l===void 0){let f=f0(n)&&ho(n);f&&this.injectableDefInScope(f)?l=_n(oa(n),Ri):l=null,this.records.set(n,l)}if(l!=null)return this.hydrate(n,l)}let a=r&P.Self?al():this.parent;return t=r&P.Optional&&t===dr?null:t,a.get(n,t)}catch(a){if(a.name==="NullInjectorError"){if((a[Bi]=a[Bi]||[]).unshift(Ee(n)),o)throw a;return jg(a,n,"R3InjectorError",this.source)}else throw a}finally{Oe(s),Tt(o)}}resolveInjectorInitializers(){let n=z(null),t=Tt(this),r=Oe(void 0),i;try{let o=this.get(Wt,ze,P.Self);for(let s of o)s()}finally{Tt(t),Oe(r),z(n)}}toString(){let n=[],t=this.records;for(let r of t.keys())n.push(Ee(r));return`R3Injector[${n.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new S(205,!1)}processProvider(n){n=ge(n);let t=Nn(n)?n:ge(n&&n.provide),r=c0(n);if(!Nn(n)&&n.multi===!0){let i=this.records.get(t);i||(i=_n(void 0,Ri,!0),i.factory=()=>na(i.multi),this.records.set(t,i)),t=n,i.multi.push(n)}this.records.set(t,r)}hydrate(n,t){let r=z(null);try{return t.value===Ri&&(t.value=a0,t.value=t.factory()),typeof t.value=="object"&&t.value&&d0(t.value)&&this._ngOnDestroyHooks.add(t.value),t.value}finally{z(r)}}injectableDefInScope(n){if(!n.providedIn)return!1;let t=ge(n.providedIn);return typeof t=="string"?t==="any"||this.scopes.has(t):this.injectorDefTypes.has(t)}removeOnDestroy(n){let t=this._onDestroyHooks.indexOf(n);t!==-1&&this._onDestroyHooks.splice(t,1)}};function oa(e){let n=ho(e),t=n!==null?n.factory:kn(e);if(t!==null)return t;if(e instanceof T)throw new S(204,!1);if(e instanceof Function)return l0(e);throw new S(204,!1)}function l0(e){if(e.length>0)throw new S(204,!1);let t=Cg(e);return t!==null?()=>t.factory(e):()=>new e}function c0(e){if(Zd(e))return _n(void 0,e.useValue);{let n=Yd(e);return _n(n,Ri)}}function Yd(e,n,t){let r;if(Nn(e)){let i=ge(e);return kn(i)||oa(i)}else if(Zd(e))r=()=>ge(e.useValue);else if(o0(e))r=()=>e.useFactory(...na(e.deps||[]));else if(i0(e))r=()=>F(ge(e.useExisting));else{let i=ge(e&&(e.useClass||e.provide));if(u0(e))r=()=>new i(...na(e.deps));else return kn(i)||oa(i)}return r}function _n(e,n,t=!1){return{factory:e,value:n,multi:t?[]:void 0}}function u0(e){return!!e.deps}function d0(e){return e!==null&&typeof e=="object"&&typeof e.ngOnDestroy=="function"}function f0(e){return typeof e=="function"||typeof e=="object"&&e instanceof T}function sa(e,n){for(let t of e)Array.isArray(t)?sa(t,n):t&&Ad(t)?sa(t.\u0275providers,n):n(t)}function rt(e,n){e instanceof pr&&e.assertNotDestroyed();let t,r=Tt(e),i=Oe(void 0);try{return n()}finally{Tt(r),Oe(i)}}function p0(){return kd()!==void 0||Pg()!=null}function h0(e){return typeof e=="function"}var _e=0,N=1,x=2,pe=3,Ge=4,Ye=5,We=6,$i=7,ye=8,Rn=9,nt=10,X=11,hr=12,Uu=13,Un=14,Me=15,On=16,Mn=17,Pn=18,yo=19,Qd=20,At=21,$s=22,Pe=23,De=25,Jd=1,mr=6,pt=7,Hi=8,zi=9,fe=10,Gi=function(e){return e[e.None=0]="None",e[e.HasTransplantedViews=2]="HasTransplantedViews",e}(Gi||{});function qe(e){return Array.isArray(e)&&typeof e[Jd]=="object"}function it(e){return Array.isArray(e)&&e[Jd]===!0}function Kd(e){return(e.flags&4)!==0}function wr(e){return e.componentOffset>-1}function ll(e){return(e.flags&1)===1}function $n(e){return!!e.template}function qi(e){return(e[x]&512)!==0}var aa=class{constructor(n,t,r){this.previousValue=n,this.currentValue=t,this.firstChange=r}isFirstChange(){return this.firstChange}};function Xd(e,n,t,r){n!==null?n.applyValueToInputSignal(n,r):e[t]=r}function Do(){return ef}function ef(e){return e.type.prototype.ngOnChanges&&(e.setInput=g0),m0}Do.ngInherit=!0;function m0(){let e=nf(this),n=e?.current;if(n){let t=e.previous;if(t===fr)e.previous=n;else for(let r in n)t[r]=n[r];e.current=null,this.ngOnChanges(n)}}function g0(e,n,t,r,i){let o=this.declaredInputs[r],s=nf(e)||v0(e,{previous:fr,current:null}),a=s.current||(s.current={}),l=s.previous,f=l[o];a[o]=new aa(f&&f.currentValue,t,l===fr),Xd(e,n,i,t)}var tf="__ngSimpleChanges__";function nf(e){return e[tf]||null}function v0(e,n){return e[tf]=n}var $u=null;var Xe=function(e,n,t){$u?.(e,n,t)},rf="svg",y0="math";function Ze(e){for(;Array.isArray(e);)e=e[_e];return e}function D0(e,n){return Ze(n[e])}function xe(e,n){return Ze(n[e.index])}function cl(e,n){return e.data[n]}function Ot(e,n){let t=n[e];return qe(t)?t:t[_e]}function ul(e){return(e[x]&128)===128}function b0(e){return it(e[pe])}function Fn(e,n){return n==null?null:e[n]}function of(e){e[Mn]=0}function sf(e){e[x]&1024||(e[x]|=1024,ul(e)&&wo(e))}function w0(e,n){for(;e>0;)n=n[Un],e--;return n}function bo(e){return!!(e[x]&9216||e[Pe]?.dirty)}function la(e){e[nt].changeDetectionScheduler?.notify(8),e[x]&64&&(e[x]|=1024),bo(e)&&wo(e)}function wo(e){e[nt].changeDetectionScheduler?.notify(0);let n=Yt(e);for(;n!==null&&!(n[x]&8192||(n[x]|=8192,!ul(n)));)n=Yt(n)}function af(e,n){if((e[x]&256)===256)throw new S(911,!1);e[At]===null&&(e[At]=[]),e[At].push(n)}function E0(e,n){if(e[At]===null)return;let t=e[At].indexOf(n);t!==-1&&e[At].splice(t,1)}function Yt(e){let n=e[pe];return it(n)?n[pe]:n}var L={lFrame:gf(null),bindingsEnabled:!0,skipHydrationRootTNode:null};var lf=!1;function C0(){return L.lFrame.elementDepthCount}function I0(){L.lFrame.elementDepthCount++}function S0(){L.lFrame.elementDepthCount--}function cf(){return L.bindingsEnabled}function Er(){return L.skipHydrationRootTNode!==null}function _0(e){return L.skipHydrationRootTNode===e}function M0(e){L.skipHydrationRootTNode=e}function x0(){L.skipHydrationRootTNode=null}function W(){return L.lFrame.lView}function Qe(){return L.lFrame.tView}function Pt(e){return L.lFrame.contextLView=e,e[ye]}function Ft(e){return L.lFrame.contextLView=null,e}function Te(){let e=uf();for(;e!==null&&e.type===64;)e=e.parent;return e}function uf(){return L.lFrame.currentTNode}function T0(){let e=L.lFrame,n=e.currentTNode;return e.isParent?n:n.parent}function Cr(e,n){let t=L.lFrame;t.currentTNode=e,t.isParent=n}function df(){return L.lFrame.isParent}function A0(){L.lFrame.isParent=!1}function ff(){return lf}function Hu(e){lf=e}function dl(){let e=L.lFrame,n=e.bindingRootIndex;return n===-1&&(n=e.bindingRootIndex=e.tView.bindingStartIndex),n}function k0(e){return L.lFrame.bindingIndex=e}function Eo(){return L.lFrame.bindingIndex++}function N0(){return L.lFrame.inI18n}function R0(e,n){let t=L.lFrame;t.bindingIndex=t.bindingRootIndex=e,ca(n)}function O0(){return L.lFrame.currentDirectiveIndex}function ca(e){L.lFrame.currentDirectiveIndex=e}function pf(e){L.lFrame.currentQueryIndex=e}function P0(e){let n=e[N];return n.type===2?n.declTNode:n.type===1?e[Ye]:null}function hf(e,n,t){if(t&P.SkipSelf){let i=n,o=e;for(;i=i.parent,i===null&&!(t&P.Host);)if(i=P0(o),i===null||(o=o[Un],i.type&10))break;if(i===null)return!1;n=i,e=o}let r=L.lFrame=mf();return r.currentTNode=n,r.lView=e,!0}function fl(e){let n=mf(),t=e[N];L.lFrame=n,n.currentTNode=t.firstChild,n.lView=e,n.tView=t,n.contextLView=e,n.bindingIndex=t.bindingStartIndex,n.inI18n=!1}function mf(){let e=L.lFrame,n=e===null?null:e.child;return n===null?gf(e):n}function gf(e){let n={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=n),n}function vf(){let e=L.lFrame;return L.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}var yf=vf;function pl(){let e=vf();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 F0(e){return(L.lFrame.contextLView=w0(e,L.lFrame.contextLView))[ye]}function Co(){return L.lFrame.selectedIndex}function Qt(e){L.lFrame.selectedIndex=e}function Df(){let e=L.lFrame;return cl(e.tView,e.selectedIndex)}function Ir(){L.lFrame.currentNamespace=rf}function Sr(){L0()}function L0(){L.lFrame.currentNamespace=null}function bf(){return L.lFrame.currentNamespace}var wf=!0;function hl(){return wf}function Lt(e){wf=e}function j0(e,n,t){let{ngOnChanges:r,ngOnInit:i,ngDoCheck:o}=n.type.prototype;if(r){let s=ef(n);(t.preOrderHooks??=[]).push(e,s),(t.preOrderCheckHooks??=[]).push(e,s)}i&&(t.preOrderHooks??=[]).push(0-e,i),o&&((t.preOrderHooks??=[]).push(e,o),(t.preOrderCheckHooks??=[]).push(e,o))}function ml(e,n){for(let t=n.directiveStart,r=n.directiveEnd;t<r;t++){let o=e.data[t].type.prototype,{ngAfterContentInit:s,ngAfterContentChecked:a,ngAfterViewInit:l,ngAfterViewChecked:f,ngOnDestroy:p}=o;s&&(e.contentHooks??=[]).push(-t,s),a&&((e.contentHooks??=[]).push(t,a),(e.contentCheckHooks??=[]).push(t,a)),l&&(e.viewHooks??=[]).push(-t,l),f&&((e.viewHooks??=[]).push(t,f),(e.viewCheckHooks??=[]).push(t,f)),p!=null&&(e.destroyHooks??=[]).push(t,p)}}function Oi(e,n,t){Ef(e,n,3,t)}function Pi(e,n,t,r){(e[x]&3)===t&&Ef(e,n,t,r)}function Hs(e,n){let t=e[x];(t&3)===n&&(t&=16383,t+=1,e[x]=t)}function Ef(e,n,t,r){let i=r!==void 0?e[Mn]&65535:0,o=r??-1,s=n.length-1,a=0;for(let l=i;l<s;l++)if(typeof n[l+1]=="number"){if(a=n[l],r!=null&&a>=r)break}else n[l]<0&&(e[Mn]+=65536),(a<o||o==-1)&&(B0(e,t,n,l),e[Mn]=(e[Mn]&4294901760)+l+2),l++}function zu(e,n){Xe(4,e,n);let t=z(null);try{n.call(e)}finally{z(t),Xe(5,e,n)}}function B0(e,n,t,r){let i=t[r]<0,o=t[r+1],s=i?-t[r]:t[r],a=e[s];i?e[x]>>14<e[Mn]>>16&&(e[x]&3)===n&&(e[x]+=16384,zu(a,o)):zu(a,o)}var An=-1,Jt=class{constructor(n,t,r){this.factory=n,this.resolving=!1,this.canSeeViewProviders=t,this.injectImpl=r}};function V0(e){return e instanceof Jt}function U0(e){return(e.flags&8)!==0}function $0(e){return(e.flags&16)!==0}var zs={},ua=class{constructor(n,t){this.injector=n,this.parentInjector=t}get(n,t,r){r=mo(r);let i=this.injector.get(n,zs,r);return i!==zs||t===zs?i:this.parentInjector.get(n,t,r)}};function Cf(e){return e!==An}function Wi(e){return e&32767}function H0(e){return e>>16}function Zi(e,n){let t=H0(e),r=n;for(;t>0;)r=r[Un],t--;return r}var da=!0;function Gu(e){let n=da;return da=e,n}var z0=256,If=z0-1,Sf=5,G0=0,et={};function q0(e,n,t){let r;typeof t=="string"?r=t.charCodeAt(0)||0:t.hasOwnProperty(cr)&&(r=t[cr]),r==null&&(r=t[cr]=G0++);let i=r&If,o=1<<i;n.data[e+(i>>Sf)]|=o}function Yi(e,n){let t=_f(e,n);if(t!==-1)return t;let r=n[N];r.firstCreatePass&&(e.injectorIndex=n.length,Gs(r.data,e),Gs(n,null),Gs(r.blueprint,null));let i=gl(e,n),o=e.injectorIndex;if(Cf(i)){let s=Wi(i),a=Zi(i,n),l=a[N].data;for(let f=0;f<8;f++)n[o+f]=a[s+f]|l[s+f]}return n[o+8]=i,o}function Gs(e,n){e.push(0,0,0,0,0,0,0,0,n)}function _f(e,n){return e.injectorIndex===-1||e.parent&&e.parent.injectorIndex===e.injectorIndex||n[e.injectorIndex+8]===null?-1:e.injectorIndex}function gl(e,n){if(e.parent&&e.parent.injectorIndex!==-1)return e.parent.injectorIndex;let t=0,r=null,i=n;for(;i!==null;){if(r=kf(i),r===null)return An;if(t++,i=i[Un],r.injectorIndex!==-1)return r.injectorIndex|t<<16}return An}function fa(e,n,t){q0(e,n,t)}function Mf(e,n,t){if(t&P.Optional||e!==void 0)return e;tl(n,"NodeInjector")}function xf(e,n,t,r){if(t&P.Optional&&r===void 0&&(r=null),!(t&(P.Self|P.Host))){let i=e[Rn],o=Oe(void 0);try{return i?i.get(n,r,t&P.Optional):Nd(n,r,t&P.Optional)}finally{Oe(o)}}return Mf(r,n,t)}function Tf(e,n,t,r=P.Default,i){if(e!==null){if(n[x]&2048&&!(r&P.Self)){let s=J0(e,n,t,r,et);if(s!==et)return s}let o=Af(e,n,t,r,et);if(o!==et)return o}return xf(n,t,r,i)}function Af(e,n,t,r,i){let o=Y0(t);if(typeof o=="function"){if(!hf(n,e,r))return r&P.Host?Mf(i,t,r):xf(n,t,r,i);try{let s;if(s=o(r),s==null&&!(r&P.Optional))tl(t);else return s}finally{yf()}}else if(typeof o=="number"){let s=null,a=_f(e,n),l=An,f=r&P.Host?n[Me][Ye]:null;for((a===-1||r&P.SkipSelf)&&(l=a===-1?gl(e,n):n[a+8],l===An||!Wu(r,!1)?a=-1:(s=n[N],a=Wi(l),n=Zi(l,n)));a!==-1;){let p=n[N];if(qu(o,a,p.data)){let h=W0(a,n,t,s,r,f);if(h!==et)return h}l=n[a+8],l!==An&&Wu(r,n[N].data[a+8]===f)&&qu(o,a,n)?(s=p,a=Wi(l),n=Zi(l,n)):a=-1}}return i}function W0(e,n,t,r,i,o){let s=n[N],a=s.data[e+8],l=r==null?wr(a)&&da:r!=s&&(a.type&3)!==0,f=i&P.Host&&o===a,p=Z0(a,s,t,l,f);return p!==null?Ln(n,s,p,a):et}function Z0(e,n,t,r,i){let o=e.providerIndexes,s=n.data,a=o&1048575,l=e.directiveStart,f=e.directiveEnd,p=o>>20,h=r?a:a+p,D=i?a+p:f;for(let v=h;v<D;v++){let b=s[v];if(v<l&&t===b||v>=l&&b.type===t)return v}if(i){let v=s[l];if(v&&$n(v)&&v.type===t)return l}return null}function Ln(e,n,t,r){let i=e[t],o=n.data;if(V0(i)){let s=i;s.resolving&&Ag(Tg(o[t]));let a=Gu(s.canSeeViewProviders);s.resolving=!0;let l,f=s.injectImpl?Oe(s.injectImpl):null,p=hf(e,r,P.Default);try{i=e[t]=s.factory(void 0,o,e,r),n.firstCreatePass&&t>=r.directiveStart&&j0(t,o[t],n)}finally{f!==null&&Oe(f),Gu(a),s.resolving=!1,yf()}}return i}function Y0(e){if(typeof e=="string")return e.charCodeAt(0)||0;let n=e.hasOwnProperty(cr)?e[cr]:void 0;return typeof n=="number"?n>=0?n&If:Q0:n}function qu(e,n,t){let r=1<<e;return!!(t[n+(e>>Sf)]&r)}function Wu(e,n){return!(e&P.Self)&&!(e&P.Host&&n)}var qt=class{constructor(n,t){this._tNode=n,this._lView=t}get(n,t,r){return Tf(this._tNode,this._lView,n,mo(r),t)}};function Q0(){return new qt(Te(),W())}function vl(e){return Dr(()=>{let n=e.prototype.constructor,t=n[ji]||pa(n),r=Object.prototype,i=Object.getPrototypeOf(e.prototype).constructor;for(;i&&i!==r;){let o=i[ji]||pa(i);if(o&&o!==t)return o;i=Object.getPrototypeOf(i)}return o=>new o})}function pa(e){return _d(e)?()=>{let n=pa(ge(e));return n&&n()}:kn(e)}function J0(e,n,t,r,i){let o=e,s=n;for(;o!==null&&s!==null&&s[x]&2048&&!(s[x]&512);){let a=Af(o,s,t,r|P.Self,et);if(a!==et)return a;let l=o.parent;if(!l){let f=s[Qd];if(f){let p=f.get(t,et,r);if(p!==et)return p}l=kf(s),s=s[Un]}o=l}return i}function kf(e){let n=e[N],t=n.type;return t===2?n.declTNode:t===1?e[Ye]:null}function Zu(e,n=null,t=null,r){let i=Nf(e,n,t,r);return i.resolveInjectorInitializers(),i}function Nf(e,n=null,t=null,r,i=new Set){let o=[t||ze,n0(e)];return r=r||(typeof e=="object"?void 0:Ee(e)),new pr(o,n||al(),r||null,i)}var ht=class e{static{this.THROW_IF_NOT_FOUND=dr}static{this.NULL=new Ui}static create(n,t){if(Array.isArray(n))return Zu({name:""},t,n,"");{let r=n.name??"";return Zu({name:r},n.parent,n.providers,r)}}static{this.\u0275prov=_({token:e,providedIn:"any",factory:()=>F(Fd)})}static{this.__NG_ELEMENT_ID__=-1}};var K0=new T("");K0.__NG_ELEMENT_ID__=e=>{let n=Te();if(n===null)throw new S(204,!1);if(n.type&2)return n.value;if(e&P.Optional)return null;throw new S(204,!1)};var X0="ngOriginalError";function qs(e){return e[X0]}var Rf=!0,Of=(()=>{class e{static{this.__NG_ELEMENT_ID__=ev}static{this.__NG_ENV_ID__=t=>t}}return e})(),ha=class extends Of{constructor(n){super(),this._lView=n}onDestroy(n){return af(this._lView,n),()=>E0(this._lView,n)}};function ev(){return new ha(W())}var nn=(()=>{class e{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new oe(!1)}get _hasPendingTasks(){return this.hasPendingTasks.value}add(){this._hasPendingTasks||this.hasPendingTasks.next(!0);let t=this.taskId++;return this.pendingTasks.add(t),t}remove(t){this.pendingTasks.delete(t),this.pendingTasks.size===0&&this._hasPendingTasks&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this._hasPendingTasks&&this.hasPendingTasks.next(!1)}static{this.\u0275prov=_({token:e,providedIn:"root",factory:()=>new e})}}return e})();var ma=class extends me{constructor(n=!1){super(),this.destroyRef=void 0,this.pendingTasks=void 0,this.__isAsync=n,p0()&&(this.destroyRef=w(Of,{optional:!0})??void 0,this.pendingTasks=w(nn,{optional:!0})??void 0)}emit(n){let t=z(null);try{super.next(n)}finally{z(t)}}subscribe(n,t,r){let i=n,o=t||(()=>null),s=r;if(n&&typeof n=="object"){let l=n;i=l.next?.bind(l),o=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(o=this.wrapInTimeout(o),i&&(i=this.wrapInTimeout(i)),s&&(s=this.wrapInTimeout(s)));let a=super.subscribe({next:i,error:o,complete:s});return n instanceof ee&&n.add(a),a}wrapInTimeout(n){return t=>{let r=this.pendingTasks?.add();setTimeout(()=>{n(t),r!==void 0&&this.pendingTasks?.remove(r)})}}},ve=ma;function Qi(...e){}function Pf(e){let n,t;function r(){e=Qi;try{t!==void 0&&typeof cancelAnimationFrame=="function"&&cancelAnimationFrame(t),n!==void 0&&clearTimeout(n)}catch{}}return n=setTimeout(()=>{e(),r()}),typeof requestAnimationFrame=="function"&&(t=requestAnimationFrame(()=>{e(),r()})),()=>r()}function Yu(e){return queueMicrotask(()=>e()),()=>{e=Qi}}var yl="isAngularZone",Ji=yl+"_ID",tv=0,K=class e{constructor(n){this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new ve(!1),this.onMicrotaskEmpty=new ve(!1),this.onStable=new ve(!1),this.onError=new ve(!1);let{enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:r=!1,shouldCoalesceRunChangeDetection:i=!1,scheduleInRootZone:o=Rf}=n;if(typeof Zone>"u")throw new S(908,!1);Zone.assertZonePatched();let s=this;s._nesting=0,s._outer=s._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(s._inner=s._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(s._inner=s._inner.fork(Zone.longStackTraceZoneSpec)),s.shouldCoalesceEventChangeDetection=!i&&r,s.shouldCoalesceRunChangeDetection=i,s.callbackScheduled=!1,s.scheduleInRootZone=o,iv(s)}static isInAngularZone(){return typeof Zone<"u"&&Zone.current.get(yl)===!0}static assertInAngularZone(){if(!e.isInAngularZone())throw new S(909,!1)}static assertNotInAngularZone(){if(e.isInAngularZone())throw new S(909,!1)}run(n,t,r){return this._inner.run(n,t,r)}runTask(n,t,r,i){let o=this._inner,s=o.scheduleEventTask("NgZoneEvent: "+i,n,nv,Qi,Qi);try{return o.runTask(s,t,r)}finally{o.cancelTask(s)}}runGuarded(n,t,r){return this._inner.runGuarded(n,t,r)}runOutsideAngular(n){return this._outer.run(n)}},nv={};function Dl(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 rv(e){if(e.isCheckStableRunning||e.callbackScheduled)return;e.callbackScheduled=!0;function n(){Pf(()=>{e.callbackScheduled=!1,ga(e),e.isCheckStableRunning=!0,Dl(e),e.isCheckStableRunning=!1})}e.scheduleInRootZone?Zone.root.run(()=>{n()}):e._outer.run(()=>{n()}),ga(e)}function iv(e){let n=()=>{rv(e)},t=tv++;e._inner=e._inner.fork({name:"angular",properties:{[yl]:!0,[Ji]:t,[Ji+t]:!0},onInvokeTask:(r,i,o,s,a,l)=>{if(ov(l))return r.invokeTask(o,s,a,l);try{return Qu(e),r.invokeTask(o,s,a,l)}finally{(e.shouldCoalesceEventChangeDetection&&s.type==="eventTask"||e.shouldCoalesceRunChangeDetection)&&n(),Ju(e)}},onInvoke:(r,i,o,s,a,l,f)=>{try{return Qu(e),r.invoke(o,s,a,l,f)}finally{e.shouldCoalesceRunChangeDetection&&!e.callbackScheduled&&!sv(l)&&n(),Ju(e)}},onHasTask:(r,i,o,s)=>{r.hasTask(o,s),i===o&&(s.change=="microTask"?(e._hasPendingMicrotasks=s.microTask,ga(e),Dl(e)):s.change=="macroTask"&&(e.hasPendingMacrotasks=s.macroTask))},onHandleError:(r,i,o,s)=>(r.handleError(o,s),e.runOutsideAngular(()=>e.onError.emit(s)),!1)})}function ga(e){e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&e.callbackScheduled===!0?e.hasPendingMicrotasks=!0:e.hasPendingMicrotasks=!1}function Qu(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function Ju(e){e._nesting--,Dl(e)}var va=class{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new ve,this.onMicrotaskEmpty=new ve,this.onStable=new ve,this.onError=new ve}run(n,t,r){return n.apply(t,r)}runGuarded(n,t,r){return n.apply(t,r)}runOutsideAngular(n){return n()}runTask(n,t,r,i){return n.apply(t,r)}};function ov(e){return Ff(e,"__ignore_ng_zone__")}function sv(e){return Ff(e,"__scheduler_tick__")}function Ff(e,n){return!Array.isArray(e)||e.length!==1?!1:e[0]?.data?.[n]===!0}var mt=class{constructor(){this._console=console}handleError(n){let t=this._findOriginalError(n);this._console.error("ERROR",n),t&&this._console.error("ORIGINAL ERROR",t)}_findOriginalError(n){let t=n&&qs(n);for(;t&&qs(t);)t=qs(t);return t||null}},av=new T("",{providedIn:"root",factory:()=>{let e=w(K),n=w(mt);return t=>e.runOutsideAngular(()=>n.handleError(t))}});function lv(){return Io(Te(),W())}function Io(e,n){return new _r(xe(e,n))}var _r=(()=>{class e{constructor(t){this.nativeElement=t}static{this.__NG_ELEMENT_ID__=lv}}return e})();var cv="ngSkipHydration",uv="ngskiphydration";function Lf(e){let n=e.mergedAttrs;if(n===null)return!1;for(let t=0;t<n.length;t+=2){let r=n[t];if(typeof r=="number")return!1;if(typeof r=="string"&&r.toLowerCase()===uv)return!0}return!1}function jf(e){return e.hasAttribute(cv)}function Ki(e){return(e.flags&128)===128}function dv(e){if(Ki(e))return!0;let n=e.parent;for(;n;){if(Ki(e)||Lf(n))return!0;n=n.parent}return!1}var Bf=new Map,fv=0;function pv(){return fv++}function hv(e){Bf.set(e[yo],e)}function ya(e){Bf.delete(e[yo])}var Ku="__ngContext__";function Kt(e,n){qe(n)?(e[Ku]=n[yo],hv(n)):e[Ku]=n}function Vf(e){return $f(e[hr])}function Uf(e){return $f(e[Ge])}function $f(e){for(;e!==null&&!it(e);)e=e[Ge];return e}var Da;function Hf(e){Da=e}function Mr(){if(Da!==void 0)return Da;if(typeof document<"u")return document;throw new S(210,!1)}var So=new T("",{providedIn:"root",factory:()=>mv}),mv="ng",bl=new T(""),ot=new T("",{providedIn:"platform",factory:()=>"unknown"});var wl=new T("",{providedIn:"root",factory:()=>Mr().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});function gv(){let e=new Hn;return w(ot)==="browser"&&(e.store=vv(Mr(),w(So))),e}var Hn=(()=>{class e{constructor(){this.store={},this.onSerializeCallbacks={}}static{this.\u0275prov=_({token:e,providedIn:"root",factory:gv})}get(t,r){return this.store[t]!==void 0?this.store[t]:r}set(t,r){this.store[t]=r}remove(t){delete this.store[t]}hasKey(t){return this.store.hasOwnProperty(t)}get isEmpty(){return Object.keys(this.store).length===0}onSerialize(t,r){this.onSerializeCallbacks[t]=r}toJson(){for(let t in this.onSerializeCallbacks)if(this.onSerializeCallbacks.hasOwnProperty(t))try{this.store[t]=this.onSerializeCallbacks[t]()}catch(r){console.warn("Exception in onSerialize callback: ",r)}return JSON.stringify(this.store).replace(/</g,"\\u003C")}}return e})();function vv(e,n){let t=e.getElementById(n+"-state");if(t?.textContent)try{return JSON.parse(t.textContent)}catch(r){console.warn("Exception while restoring TransferState for app "+n,r)}return{}}var zf="h",Gf="b",ba=function(e){return e.FirstChild="f",e.NextSibling="n",e}(ba||{}),yv="e",Dv="t",El="c",qf="x",Xi="r",bv="i",wv="n",Wf="d";var Ev="__nghData__",Zf=Ev,Ws="ngh",Cv="nghm",Yf=()=>null;function Iv(e,n,t=!1){let r=e.getAttribute(Ws);if(r==null)return null;let[i,o]=r.split("|");if(r=t?o:i,!r)return null;let s=o?`|${o}`:"",a=t?i:s,l={};if(r!==""){let p=n.get(Hn,null,{optional:!0});p!==null&&(l=p.get(Zf,[])[Number(r)])}let f={data:l,firstChild:e.firstChild??null};return t&&(f.firstChild=e,_o(f,0,e.nextSibling)),a?e.setAttribute(Ws,a):e.removeAttribute(Ws),f}function Sv(){Yf=Iv}function Cl(e,n,t=!1){return Yf(e,n,t)}function _v(e){let n=e._lView;return n[N].type===2?null:(qi(n)&&(n=n[De]),n)}function Mv(e){return e.textContent?.replace(/\s/gm,"")}function xv(e){let n=Mr(),t=n.createNodeIterator(e,NodeFilter.SHOW_COMMENT,{acceptNode(o){let s=Mv(o);return s==="ngetn"||s==="ngtns"?NodeFilter.FILTER_ACCEPT:NodeFilter.FILTER_REJECT}}),r,i=[];for(;r=t.nextNode();)i.push(r);for(let o of i)o.textContent==="ngetn"?o.replaceWith(n.createTextNode("")):o.remove()}function _o(e,n,t){e.segmentHeads??={},e.segmentHeads[n]=t}function wa(e,n){return e.segmentHeads?.[n]??null}function Tv(e,n){let t=e.data,r=t[yv]?.[n]??null;return r===null&&t[El]?.[n]&&(r=Il(e,n)),r}function Qf(e,n){return e.data[El]?.[n]??null}function Il(e,n){let t=Qf(e,n)??[],r=0;for(let i of t)r+=i[Xi]*(i[qf]??1);return r}function Av(e){if(typeof e.disconnectedNodes>"u"){let n=e.data[Wf];e.disconnectedNodes=n?new Set(n):null}return e.disconnectedNodes}function xr(e,n){if(typeof e.disconnectedNodes>"u"){let t=e.data[Wf];e.disconnectedNodes=t?new Set(t):null}return!!Av(e)?.has(n)}var _i=new T(""),Jf=!1,Kf=new T("",{providedIn:"root",factory:()=>Jf});var Mi;function Xf(){if(Mi===void 0&&(Mi=null,ur.trustedTypes))try{Mi=ur.trustedTypes.createPolicy("angular",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return Mi}function Mo(e){return Xf()?.createHTML(e)||e}function kv(e){return Xf()?.createScriptURL(e)||e}var xi;function ep(){if(xi===void 0&&(xi=null,ur.trustedTypes))try{xi=ur.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:e=>e,createScript:e=>e,createScriptURL:e=>e})}catch{}return xi}function Xu(e){return ep()?.createHTML(e)||e}function ed(e){return ep()?.createScriptURL(e)||e}var gt=class{constructor(n){this.changingThisBreaksApplicationSecurity=n}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Cd})`}},Ea=class extends gt{getTypeName(){return"HTML"}},Ca=class extends gt{getTypeName(){return"Style"}},Ia=class extends gt{getTypeName(){return"Script"}},Sa=class extends gt{getTypeName(){return"URL"}},_a=class extends gt{getTypeName(){return"ResourceURL"}};function st(e){return e instanceof gt?e.changingThisBreaksApplicationSecurity:e}function vt(e,n){let t=Nv(e);if(t!=null&&t!==n){if(t==="ResourceURL"&&n==="URL")return!0;throw new Error(`Required a safe ${n}, got a ${t} (see ${Cd})`)}return t===n}function Nv(e){return e instanceof gt&&e.getTypeName()||null}function tp(e){return new Ea(e)}function np(e){return new Ca(e)}function rp(e){return new Ia(e)}function ip(e){return new Sa(e)}function op(e){return new _a(e)}function Rv(e){let n=new xa(e);return Ov()?new Ma(n):n}var Ma=class{constructor(n){this.inertDocumentHelper=n}getInertBodyElement(n){n="<body><remove></remove>"+n;try{let t=new window.DOMParser().parseFromString(Mo(n),"text/html").body;return t===null?this.inertDocumentHelper.getInertBodyElement(n):(t.firstChild?.remove(),t)}catch{return null}}},xa=class{constructor(n){this.defaultDoc=n,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert")}getInertBodyElement(n){let t=this.inertDocument.createElement("template");return t.innerHTML=Mo(n),t}};function Ov(){try{return!!new window.DOMParser().parseFromString(Mo(""),"text/html")}catch{return!1}}var Pv=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;function xo(e){return e=String(e),e.match(Pv)?e:"unsafe:"+e}function yt(e){let n={};for(let t of e.split(","))n[t]=!0;return n}function Tr(...e){let n={};for(let t of e)for(let r in t)t.hasOwnProperty(r)&&(n[r]=!0);return n}var sp=yt("area,br,col,hr,img,wbr"),ap=yt("colgroup,dd,dt,li,p,tbody,td,tfoot,th,thead,tr"),lp=yt("rp,rt"),Fv=Tr(lp,ap),Lv=Tr(ap,yt("address,article,aside,blockquote,caption,center,del,details,dialog,dir,div,dl,figure,figcaption,footer,h1,h2,h3,h4,h5,h6,header,hgroup,hr,ins,main,map,menu,nav,ol,pre,section,summary,table,ul")),jv=Tr(lp,yt("a,abbr,acronym,audio,b,bdi,bdo,big,br,cite,code,del,dfn,em,font,i,img,ins,kbd,label,map,mark,picture,q,ruby,rp,rt,s,samp,small,source,span,strike,strong,sub,sup,time,track,tt,u,var,video")),td=Tr(sp,Lv,jv,Fv),cp=yt("background,cite,href,itemtype,longdesc,poster,src,xlink:href"),Bv=yt("abbr,accesskey,align,alt,autoplay,axis,bgcolor,border,cellpadding,cellspacing,class,clear,color,cols,colspan,compact,controls,coords,datetime,default,dir,download,face,headers,height,hidden,hreflang,hspace,ismap,itemscope,itemprop,kind,label,lang,language,loop,media,muted,nohref,nowrap,open,preload,rel,rev,role,rows,rowspan,rules,scope,scrolling,shape,size,sizes,span,srclang,srcset,start,summary,tabindex,target,title,translate,type,usemap,valign,value,vspace,width"),Vv=yt("aria-activedescendant,aria-atomic,aria-autocomplete,aria-busy,aria-checked,aria-colcount,aria-colindex,aria-colspan,aria-controls,aria-current,aria-describedby,aria-details,aria-disabled,aria-dropeffect,aria-errormessage,aria-expanded,aria-flowto,aria-grabbed,aria-haspopup,aria-hidden,aria-invalid,aria-keyshortcuts,aria-label,aria-labelledby,aria-level,aria-live,aria-modal,aria-multiline,aria-multiselectable,aria-orientation,aria-owns,aria-placeholder,aria-posinset,aria-pressed,aria-readonly,aria-relevant,aria-required,aria-roledescription,aria-rowcount,aria-rowindex,aria-rowspan,aria-selected,aria-setsize,aria-sort,aria-valuemax,aria-valuemin,aria-valuenow,aria-valuetext"),Uv=Tr(cp,Bv,Vv),$v=yt("script,style,template"),Ta=class{constructor(){this.sanitizedSomething=!1,this.buf=[]}sanitizeChildren(n){let t=n.firstChild,r=!0,i=[];for(;t;){if(t.nodeType===Node.ELEMENT_NODE?r=this.startElement(t):t.nodeType===Node.TEXT_NODE?this.chars(t.nodeValue):this.sanitizedSomething=!0,r&&t.firstChild){i.push(t),t=Gv(t);continue}for(;t;){t.nodeType===Node.ELEMENT_NODE&&this.endElement(t);let o=zv(t);if(o){t=o;break}t=i.pop()}}return this.buf.join("")}startElement(n){let t=nd(n).toLowerCase();if(!td.hasOwnProperty(t))return this.sanitizedSomething=!0,!$v.hasOwnProperty(t);this.buf.push("<"),this.buf.push(t);let r=n.attributes;for(let i=0;i<r.length;i++){let o=r.item(i),s=o.name,a=s.toLowerCase();if(!Uv.hasOwnProperty(a)){this.sanitizedSomething=!0;continue}let l=o.value;cp[a]&&(l=xo(l)),this.buf.push(" ",s,'="',rd(l),'"')}return this.buf.push(">"),!0}endElement(n){let t=nd(n).toLowerCase();td.hasOwnProperty(t)&&!sp.hasOwnProperty(t)&&(this.buf.push("</"),this.buf.push(t),this.buf.push(">"))}chars(n){this.buf.push(rd(n))}};function Hv(e,n){return(e.compareDocumentPosition(n)&Node.DOCUMENT_POSITION_CONTAINED_BY)!==Node.DOCUMENT_POSITION_CONTAINED_BY}function zv(e){let n=e.nextSibling;if(n&&e!==n.previousSibling)throw up(n);return n}function Gv(e){let n=e.firstChild;if(n&&Hv(e,n))throw up(n);return n}function nd(e){let n=e.nodeName;return typeof n=="string"?n:"FORM"}function up(e){return new Error(`Failed to sanitize html because the element is clobbered: ${e.outerHTML}`)}var qv=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Wv=/([^\#-~ |!])/g;function rd(e){return e.replace(/&/g,"&").replace(qv,function(n){let t=n.charCodeAt(0),r=n.charCodeAt(1);return"&#"+((t-55296)*1024+(r-56320)+65536)+";"}).replace(Wv,function(n){return"&#"+n.charCodeAt(0)+";"}).replace(/</g,"<").replace(/>/g,">")}var Ti;function Sl(e,n){let t=null;try{Ti=Ti||Rv(e);let r=n?String(n):"";t=Ti.getInertBodyElement(r);let i=5,o=r;do{if(i===0)throw new Error("Failed to sanitize html because the input is unstable");i--,r=o,o=t.innerHTML,t=Ti.getInertBodyElement(r)}while(r!==o);let a=new Ta().sanitizeChildren(id(t)||t);return Mo(a)}finally{if(t){let r=id(t)||t;for(;r.firstChild;)r.firstChild.remove()}}}function id(e){return"content"in e&&Zv(e)?e.content:null}function Zv(e){return e.nodeType===Node.ELEMENT_NODE&&e.nodeName==="TEMPLATE"}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}(Je||{});function dp(e){let n=xl();return n?Xu(n.sanitize(Je.HTML,e)||""):vt(e,"HTML")?Xu(st(e)):Sl(Mr(),br(e))}function je(e){let n=xl();return n?n.sanitize(Je.URL,e)||"":vt(e,"URL")?st(e):xo(br(e))}function _l(e){let n=xl();if(n)return ed(n.sanitize(Je.RESOURCE_URL,e)||"");if(vt(e,"ResourceURL"))return ed(st(e));throw new S(904,!1)}function Ml(e){return kv(e[0])}function xl(){let e=W();return e&&e[nt].sanitizer}var Yv=/^>|^->|<!--|-->|--!>|<!-$/g,Qv=/(<|>)/g,Jv="\u200B$1\u200B";function Kv(e){return e.replace(Yv,n=>n.replace(Qv,Jv))}function Xv(e){return e.ownerDocument.body}function fp(e){return e instanceof Function?e():e}function Ai(e){return(e??w(ht)).get(ot)==="browser"}var rn=function(e){return e[e.Important=1]="Important",e[e.DashCase=2]="DashCase",e}(rn||{}),ey;function Tl(e,n){return ey(e,n)}function xn(e,n,t,r,i){if(r!=null){let o,s=!1;it(r)?o=r:qe(r)&&(s=!0,r=r[_e]);let a=Ze(r);e===0&&t!==null?i==null?vp(n,t,a):eo(n,t,a,i||null,!0):e===1&&t!==null?eo(n,t,a,i||null,!0):e===2?Rl(n,a,s):e===3&&n.destroyNode(a),o!=null&&my(n,e,o,t,i)}}function pp(e,n){return e.createText(n)}function ty(e,n,t){e.setValue(n,t)}function hp(e,n){return e.createComment(Kv(n))}function Al(e,n,t){return e.createElement(n,t)}function ny(e,n){mp(e,n),n[_e]=null,n[Ye]=null}function ry(e,n,t,r,i,o){r[_e]=i,r[Ye]=n,Ao(e,r,t,1,i,o)}function mp(e,n){n[nt].changeDetectionScheduler?.notify(9),Ao(e,n,n[X],2,null,null)}function iy(e){let n=e[hr];if(!n)return Zs(e[N],e);for(;n;){let t=null;if(qe(n))t=n[hr];else{let r=n[fe];r&&(t=r)}if(!t){for(;n&&!n[Ge]&&n!==e;)qe(n)&&Zs(n[N],n),n=n[pe];n===null&&(n=e),qe(n)&&Zs(n[N],n),t=n&&n[Ge]}n=t}}function oy(e,n,t,r){let i=fe+r,o=t.length;r>0&&(t[i-1][Ge]=n),r<o-fe?(n[Ge]=t[i],Pd(t,fe+r,n)):(t.push(n),n[Ge]=null),n[pe]=t;let s=n[On];s!==null&&t!==s&&gp(s,n);let a=n[Pn];a!==null&&a.insertView(e),la(n),n[x]|=128}function gp(e,n){let t=e[zi],r=n[pe];if(qe(r))e[x]|=Gi.HasTransplantedViews;else{let i=r[pe][Me];n[Me]!==i&&(e[x]|=Gi.HasTransplantedViews)}t===null?e[zi]=[n]:t.push(n)}function kl(e,n){let t=e[zi],r=t.indexOf(n);t.splice(r,1)}function gr(e,n){if(e.length<=fe)return;let t=fe+n,r=e[t];if(r){let i=r[On];i!==null&&i!==e&&kl(i,r),n>0&&(e[t-1][Ge]=r[Ge]);let o=Vi(e,fe+n);ny(r[N],r);let s=o[Pn];s!==null&&s.detachView(o[N]),r[pe]=null,r[Ge]=null,r[x]&=-129}return r}function To(e,n){if(!(n[x]&256)){let t=n[X];t.destroyNode&&Ao(e,n,t,3,null,null),iy(n)}}function Zs(e,n){if(n[x]&256)return;let t=z(null);try{n[x]&=-129,n[x]|=256,n[Pe]&&ws(n[Pe]),ay(e,n),sy(e,n),n[N].type===1&&n[X].destroy();let r=n[On];if(r!==null&&it(n[pe])){r!==n[pe]&&kl(r,n);let i=n[Pn];i!==null&&i.detachView(e)}ya(n)}finally{z(t)}}function sy(e,n){let t=e.cleanup,r=n[$i];if(t!==null)for(let o=0;o<t.length-1;o+=2)if(typeof t[o]=="string"){let s=t[o+3];s>=0?r[s]():r[-s].unsubscribe(),o+=2}else{let s=r[t[o+1]];t[o].call(s)}r!==null&&(n[$i]=null);let i=n[At];if(i!==null){n[At]=null;for(let o=0;o<i.length;o++){let s=i[o];s()}}}function ay(e,n){let t;if(e!=null&&(t=e.destroyHooks)!=null)for(let r=0;r<t.length;r+=2){let i=n[t[r]];if(!(i instanceof Jt)){let o=t[r+1];if(Array.isArray(o))for(let s=0;s<o.length;s+=2){let a=i[o[s]],l=o[s+1];Xe(4,a,l);try{l.call(a)}finally{Xe(5,a,l)}}else{Xe(4,i,o);try{o.call(i)}finally{Xe(5,i,o)}}}}}function ly(e,n,t){return cy(e,n.parent,t)}function cy(e,n,t){let r=n;for(;r!==null&&r.type&168;)n=r,r=n.parent;if(r===null)return t[_e];{let{componentOffset:i}=r;if(i>-1){let{encapsulation:o}=e.data[r.directiveStart+i];if(o===tt.None||o===tt.Emulated)return null}return xe(r,t)}}function eo(e,n,t,r,i){e.insertBefore(n,t,r,i)}function vp(e,n,t){e.appendChild(n,t)}function od(e,n,t,r,i){r!==null?eo(e,n,t,r,i):vp(e,n,t)}function yp(e,n){return e.parentNode(n)}function uy(e,n){return e.nextSibling(n)}function dy(e,n,t){return py(e,n,t)}function fy(e,n,t){return e.type&40?xe(e,t):null}var py=fy,sd;function Nl(e,n,t,r){let i=ly(e,r,n),o=n[X],s=r.parent||n[Ye],a=dy(s,r,n);if(i!=null)if(Array.isArray(t))for(let l=0;l<t.length;l++)od(o,i,t[l],a,!1);else od(o,i,t,a,!1);sd!==void 0&&sd(o,r,n,t,i)}function ar(e,n){if(n!==null){let t=n.type;if(t&3)return xe(n,e);if(t&4)return Aa(-1,e[n.index]);if(t&8){let r=n.child;if(r!==null)return ar(e,r);{let i=e[n.index];return it(i)?Aa(-1,i):Ze(i)}}else{if(t&128)return ar(e,n.next);if(t&32)return Tl(n,e)()||Ze(e[n.index]);{let r=Dp(e,n);if(r!==null){if(Array.isArray(r))return r[0];let i=Yt(e[Me]);return ar(i,r)}else return ar(e,n.next)}}}return null}function Dp(e,n){if(n!==null){let r=e[Me][Ye],i=n.projection;return r.projection[i]}return null}function Aa(e,n){let t=fe+e+1;if(t<n.length){let r=n[t],i=r[N].firstChild;if(i!==null)return ar(r,i)}return n[pt]}function Rl(e,n,t){e.removeChild(null,n,t)}function bp(e){e.textContent=""}function Ol(e,n,t,r,i,o,s){for(;t!=null;){if(t.type===128){t=t.next;continue}let a=r[t.index],l=t.type;if(s&&n===0&&(a&&Kt(Ze(a),r),t.flags|=2),(t.flags&32)!==32)if(l&8)Ol(e,n,t.child,r,i,o,!1),xn(n,e,i,a,o);else if(l&32){let f=Tl(t,r),p;for(;p=f();)xn(n,e,i,p,o);xn(n,e,i,a,o)}else l&16?hy(e,n,r,t,i,o):xn(n,e,i,a,o);t=s?t.projectionNext:t.next}}function Ao(e,n,t,r,i,o){Ol(t,r,e.firstChild,n,i,o,!1)}function hy(e,n,t,r,i,o){let s=t[Me],l=s[Ye].projection[r.projection];if(Array.isArray(l))for(let f=0;f<l.length;f++){let p=l[f];xn(n,e,i,p,o)}else{let f=l,p=s[pe];Ki(r)&&(f.flags|=128),Ol(e,n,f,p,i,o,!0)}}function my(e,n,t,r,i){let o=t[pt],s=Ze(t);o!==s&&xn(n,e,r,o,i);for(let a=fe;a<t.length;a++){let l=t[a];Ao(l[N],l,e,n,r,o)}}function gy(e,n,t){e.setAttribute(n,"style",t)}function wp(e,n,t){t===""?e.removeAttribute(n,"class"):e.setAttribute(n,"class",t)}function Ep(e,n,t){let{mergedAttrs:r,classes:i,styles:o}=t;r!==null&&ra(e,n,r),i!==null&&wp(e,n,i),o!==null&&gy(e,n,o)}var Ar={};function m(e=1){Cp(Qe(),W(),Co()+e,!1)}function Cp(e,n,t,r){if(!r)if((n[x]&3)===3){let o=e.preOrderCheckHooks;o!==null&&Oi(n,o,t)}else{let o=e.preOrderHooks;o!==null&&Pi(n,o,0,t)}Qt(t)}function Z(e,n=P.Default){let t=W();if(t===null)return F(e,n);let r=Te();return Tf(r,t,ge(e),n)}function Ip(e,n,t,r,i,o){let s=z(null);try{let a=null;i&kt.SignalBased&&(a=n[r][Xc]),a!==null&&a.transformFn!==void 0&&(o=a.transformFn(o)),i&kt.HasDecoratorInputTransform&&(o=e.inputTransforms[r].call(n,o)),e.setInput!==null?e.setInput(n,a,o,t,r):Xd(n,a,r,o)}finally{z(s)}}function vy(e,n){let t=e.hostBindingOpCodes;if(t!==null)try{for(let r=0;r<t.length;r++){let i=t[r];if(i<0)Qt(~i);else{let o=i,s=t[++r],a=t[++r];R0(s,o);let l=n[o];a(2,l)}}}finally{Qt(-1)}}function ko(e,n,t,r,i,o,s,a,l,f,p){let h=n.blueprint.slice();return h[_e]=i,h[x]=r|4|128|8|64,(f!==null||e&&e[x]&2048)&&(h[x]|=2048),of(h),h[pe]=h[Un]=e,h[ye]=t,h[nt]=s||e&&e[nt],h[X]=a||e&&e[X],h[Rn]=l||e&&e[Rn]||null,h[Ye]=o,h[yo]=pv(),h[We]=p,h[Qd]=f,h[Me]=n.type==2?e[Me]:h,h}function No(e,n,t,r,i){let o=e.data[n];if(o===null)o=yy(e,n,t,r,i),N0()&&(o.flags|=32);else if(o.type&64){o.type=t,o.value=r,o.attrs=i;let s=T0();o.injectorIndex=s===null?-1:s.injectorIndex}return Cr(o,!0),o}function yy(e,n,t,r,i){let o=uf(),s=df(),a=s?o:o&&o.parent,l=e.data[n]=Iy(e,a,t,n,r,i);return e.firstChild===null&&(e.firstChild=l),o!==null&&(s?o.child==null&&l.parent!==null&&(o.child=l):o.next===null&&(o.next=l,l.prev=o)),l}function Sp(e,n,t,r){if(t===0)return-1;let i=n.length;for(let o=0;o<t;o++)n.push(r),e.blueprint.push(r),e.data.push(null);return i}function _p(e,n,t,r,i){let o=Co(),s=r&2;try{Qt(-1),s&&n.length>De&&Cp(e,n,De,!1),Xe(s?2:0,i),t(r,i)}finally{Qt(o),Xe(s?3:1,i)}}function Mp(e,n,t){if(Kd(n)){let r=z(null);try{let i=n.directiveStart,o=n.directiveEnd;for(let s=i;s<o;s++){let a=e.data[s];if(a.contentQueries){let l=t[s];a.contentQueries(1,l,s)}}}finally{z(r)}}}function xp(e,n,t){cf()&&(ky(e,n,t,xe(t,n)),(t.flags&64)===64&&Op(e,n,t))}function Tp(e,n,t=xe){let r=n.localNames;if(r!==null){let i=n.index+1;for(let o=0;o<r.length;o+=2){let s=r[o+1],a=s===-1?t(n,e):e[s];e[i++]=a}}}function Ap(e){let n=e.tView;return n===null||n.incompleteFirstPass?e.tView=Pl(1,null,e.template,e.decls,e.vars,e.directiveDefs,e.pipeDefs,e.viewQuery,e.schemas,e.consts,e.id):n}function Pl(e,n,t,r,i,o,s,a,l,f,p){let h=De+r,D=h+i,v=Dy(h,D),b=typeof f=="function"?f():f;return v[N]={type:e,blueprint:v,template:t,queries:null,viewQuery:a,declTNode:n,data:v.slice().fill(null,h),bindingStartIndex:h,expandoStartIndex:D,hostBindingOpCodes:null,firstCreatePass:!0,firstUpdatePass:!0,staticViewQueries:!1,staticContentQueries:!1,preOrderHooks:null,preOrderCheckHooks:null,contentHooks:null,contentCheckHooks:null,viewHooks:null,viewCheckHooks:null,destroyHooks:null,cleanup:null,contentQueries:null,components:null,directiveRegistry:typeof o=="function"?o():o,pipeRegistry:typeof s=="function"?s():s,firstChild:null,schemas:l,consts:b,incompleteFirstPass:!1,ssrId:p}}function Dy(e,n){let t=[];for(let r=0;r<n;r++)t.push(r<e?null:Ar);return t}function by(e,n,t,r){let o=r.get(Kf,Jf)||t===tt.ShadowDom,s=e.selectRootElement(n,o);return wy(s),s}function wy(e){kp(e)}var kp=()=>null;function Ey(e){jf(e)?bp(e):xv(e)}function Cy(){kp=Ey}function Iy(e,n,t,r,i,o){let s=n?n.injectorIndex:-1,a=0;return Er()&&(a|=128),{type:t,index:r,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:i,attrs:o,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:n,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}function ad(e,n,t,r,i){for(let o in n){if(!n.hasOwnProperty(o))continue;let s=n[o];if(s===void 0)continue;r??={};let a,l=kt.None;Array.isArray(s)?(a=s[0],l=s[1]):a=s;let f=o;if(i!==null){if(!i.hasOwnProperty(o))continue;f=i[o]}e===0?ld(r,t,f,a,l):ld(r,t,f,a)}return r}function ld(e,n,t,r,i){let o;e.hasOwnProperty(t)?(o=e[t]).push(n,r):o=e[t]=[n,r],i!==void 0&&o.push(i)}function Sy(e,n,t){let r=n.directiveStart,i=n.directiveEnd,o=e.data,s=n.attrs,a=[],l=null,f=null;for(let p=r;p<i;p++){let h=o[p],D=t?t.get(h):null,v=D?D.inputs:null,b=D?D.outputs:null;l=ad(0,h.inputs,p,l,v),f=ad(1,h.outputs,p,f,b);let M=l!==null&&s!==null&&!ol(n)?$y(l,p,s):null;a.push(M)}l!==null&&(l.hasOwnProperty("class")&&(n.flags|=8),l.hasOwnProperty("style")&&(n.flags|=16)),n.initialInputs=a,n.inputs=l,n.outputs=f}function _y(e){return e==="class"?"className":e==="for"?"htmlFor":e==="formaction"?"formAction":e==="innerHtml"?"innerHTML":e==="readonly"?"readOnly":e==="tabindex"?"tabIndex":e}function My(e,n,t,r,i,o,s,a){let l=xe(n,t),f=n.inputs,p;!a&&f!=null&&(p=f[r])?(Fl(e,t,p,r,i),wr(n)&&xy(t,n.index)):n.type&3?(r=_y(r),i=s!=null?s(i,n.value||"",r):i,o.setProperty(l,r,i)):n.type&12}function xy(e,n){let t=Ot(n,e);t[x]&16||(t[x]|=64)}function Np(e,n,t,r){if(cf()){let i=r===null?null:{"":-1},o=Ry(e,t),s,a;o===null?s=a=null:[s,a]=o,s!==null&&Rp(e,n,t,s,i,a),i&&Oy(t,r,i)}t.mergedAttrs=il(t.mergedAttrs,t.attrs)}function Rp(e,n,t,r,i,o){for(let f=0;f<r.length;f++)fa(Yi(t,n),e,r[f].type);Fy(t,e.data.length,r.length);for(let f=0;f<r.length;f++){let p=r[f];p.providersResolver&&p.providersResolver(p)}let s=!1,a=!1,l=Sp(e,n,r.length,null);for(let f=0;f<r.length;f++){let p=r[f];t.mergedAttrs=il(t.mergedAttrs,p.hostAttrs),Ly(e,t,n,l,p),Py(l,p,i),p.contentQueries!==null&&(t.flags|=4),(p.hostBindings!==null||p.hostAttrs!==null||p.hostVars!==0)&&(t.flags|=64);let h=p.type.prototype;!s&&(h.ngOnChanges||h.ngOnInit||h.ngDoCheck)&&((e.preOrderHooks??=[]).push(t.index),s=!0),!a&&(h.ngOnChanges||h.ngDoCheck)&&((e.preOrderCheckHooks??=[]).push(t.index),a=!0),l++}Sy(e,t,o)}function Ty(e,n,t,r,i){let o=i.hostBindings;if(o){let s=e.hostBindingOpCodes;s===null&&(s=e.hostBindingOpCodes=[]);let a=~n.index;Ay(s)!=a&&s.push(a),s.push(t,r,o)}}function Ay(e){let n=e.length;for(;n>0;){let t=e[--n];if(typeof t=="number"&&t<0)return t}return 0}function ky(e,n,t,r){let i=t.directiveStart,o=t.directiveEnd;wr(t)&&jy(n,t,e.data[i+t.componentOffset]),e.firstCreatePass||Yi(t,n),Kt(r,n);let s=t.initialInputs;for(let a=i;a<o;a++){let l=e.data[a],f=Ln(n,e,a,t);if(Kt(f,n),s!==null&&Uy(n,a-i,f,l,t,s),$n(l)){let p=Ot(t.index,n);p[ye]=Ln(n,e,a,t)}}}function Op(e,n,t){let r=t.directiveStart,i=t.directiveEnd,o=t.index,s=O0();try{Qt(o);for(let a=r;a<i;a++){let l=e.data[a],f=n[a];ca(a),(l.hostBindings!==null||l.hostVars!==0||l.hostAttrs!==null)&&Ny(l,f)}}finally{Qt(-1),ca(s)}}function Ny(e,n){e.hostBindings!==null&&e.hostBindings(1,n)}function Ry(e,n){let t=e.directiveRegistry,r=null,i=null;if(t)for(let o=0;o<t.length;o++){let s=t[o];if(Wg(n,s.selectors,!1))if(r||(r=[]),$n(s))if(s.findHostDirectiveDefs!==null){let a=[];i=i||new Map,s.findHostDirectiveDefs(s,a,i),r.unshift(...a,s);let l=a.length;ka(e,n,l)}else r.unshift(s),ka(e,n,0);else i=i||new Map,s.findHostDirectiveDefs?.(s,r,i),r.push(s)}return r===null?null:[r,i]}function ka(e,n,t){n.componentOffset=t,(e.components??=[]).push(n.index)}function Oy(e,n,t){if(n){let r=e.localNames=[];for(let i=0;i<n.length;i+=2){let o=t[n[i+1]];if(o==null)throw new S(-301,!1);r.push(n[i],o)}}}function Py(e,n,t){if(t){if(n.exportAs)for(let r=0;r<n.exportAs.length;r++)t[n.exportAs[r]]=e;$n(n)&&(t[""]=e)}}function Fy(e,n,t){e.flags|=1,e.directiveStart=n,e.directiveEnd=n+t,e.providerIndexes=n}function Ly(e,n,t,r,i){e.data[r]=i;let o=i.factory||(i.factory=kn(i.type,!0)),s=new Jt(o,$n(i),Z);e.blueprint[r]=s,t[r]=s,Ty(e,n,r,Sp(e,t,i.hostVars,Ar),i)}function jy(e,n,t){let r=xe(n,e),i=Ap(t),o=e[nt].rendererFactory,s=16;t.signals?s=4096:t.onPush&&(s=64);let a=Ro(e,ko(e,i,null,s,r,n,null,o.createRenderer(r,t),null,null,null));e[n.index]=a}function By(e,n,t,r,i,o){let s=xe(e,n);Vy(n[X],s,o,e.value,t,r,i)}function Vy(e,n,t,r,i,o,s){if(o==null)e.removeAttribute(n,i,t);else{let a=s==null?br(o):s(o,r||"",i);e.setAttribute(n,i,a,t)}}function Uy(e,n,t,r,i,o){let s=o[n];if(s!==null)for(let a=0;a<s.length;){let l=s[a++],f=s[a++],p=s[a++],h=s[a++];Ip(r,t,l,f,p,h)}}function $y(e,n,t){let r=null,i=0;for(;i<t.length;){let o=t[i];if(o===0){i+=4;continue}else if(o===5){i+=2;continue}if(typeof o=="number")break;if(e.hasOwnProperty(o)){r===null&&(r=[]);let s=e[o];for(let a=0;a<s.length;a+=3)if(s[a]===n){r.push(o,s[a+1],s[a+2],t[i+1]);break}}i+=2}return r}function Pp(e,n,t,r){return[e,!0,0,n,null,r,null,t,null,null]}function Fp(e,n){let t=e.contentQueries;if(t!==null){let r=z(null);try{for(let i=0;i<t.length;i+=2){let o=t[i],s=t[i+1];if(s!==-1){let a=e.data[s];pf(o),a.contentQueries(2,n[s],s)}}}finally{z(r)}}}function Ro(e,n){return e[hr]?e[Uu][Ge]=n:e[hr]=n,e[Uu]=n,n}function Na(e,n,t){pf(0);let r=z(null);try{n(e,t)}finally{z(r)}}function Hy(e){return e[$i]??=[]}function zy(e){return e.cleanup??=[]}function Lp(e,n){let t=e[Rn],r=t?t.get(mt,null):null;r&&r.handleError(n)}function Fl(e,n,t,r,i){for(let o=0;o<t.length;){let s=t[o++],a=t[o++],l=t[o++],f=n[s],p=e.data[s];Ip(p,f,r,a,l,i)}}function Gy(e,n,t){let r=D0(n,e);ty(e[X],r,t)}function qy(e,n){let t=Ot(n,e),r=t[N];Wy(r,t);let i=t[_e];i!==null&&t[We]===null&&(t[We]=Cl(i,t[Rn])),Ll(r,t,t[ye])}function Wy(e,n){for(let t=n.length;t<e.blueprint.length;t++)n.push(e.blueprint[t])}function Ll(e,n,t){fl(n);try{let r=e.viewQuery;r!==null&&Na(1,r,t);let i=e.template;i!==null&&_p(e,n,i,1,t),e.firstCreatePass&&(e.firstCreatePass=!1),n[Pn]?.finishViewCreation(e),e.staticContentQueries&&Fp(e,n),e.staticViewQueries&&Na(2,e.viewQuery,t);let o=e.components;o!==null&&Zy(n,o)}catch(r){throw e.firstCreatePass&&(e.incompleteFirstPass=!0,e.firstCreatePass=!1),r}finally{n[x]&=-5,pl()}}function Zy(e,n){for(let t=0;t<n.length;t++)qy(e,n[t])}function jl(e,n,t,r){let i=z(null);try{let o=n.tView,a=e[x]&4096?4096:16,l=ko(e,o,t,a,null,n,null,null,r?.injector??null,r?.embeddedViewInjector??null,r?.dehydratedView??null),f=e[n.index];l[On]=f;let p=e[Pn];return p!==null&&(l[Pn]=p.createEmbeddedView(o)),Ll(o,l,t),l}finally{z(i)}}function Yy(e,n){let t=fe+n;if(t<e.length)return e[t]}function to(e,n){return!n||n.firstChild===null||Ki(e)}function Bl(e,n,t,r=!0){let i=n[N];if(oy(i,n,e,t),r){let s=Aa(t,e),a=n[X],l=yp(a,e[pt]);l!==null&&ry(i,e[Ye],a,n,l,s)}let o=n[We];o!==null&&o.firstChild!==null&&(o.firstChild=null)}function Qy(e,n){let t=gr(e,n);return t!==void 0&&To(t[N],t),t}function no(e,n,t,r,i=!1){for(;t!==null;){if(t.type===128){t=i?t.projectionNext:t.next;continue}let o=n[t.index];o!==null&&r.push(Ze(o)),it(o)&&Jy(o,r);let s=t.type;if(s&8)no(e,n,t.child,r);else if(s&32){let a=Tl(t,n),l;for(;l=a();)r.push(l)}else if(s&16){let a=Dp(n,t);if(Array.isArray(a))r.push(...a);else{let l=Yt(n[Me]);no(l[N],l,a,r,!0)}}t=i?t.projectionNext:t.next}return r}function Jy(e,n){for(let t=fe;t<e.length;t++){let r=e[t],i=r[N].firstChild;i!==null&&no(r[N],r,i,n)}e[pt]!==e[_e]&&n.push(e[pt])}var jp=[];function Ky(e){return e[Pe]??Xy(e)}function Xy(e){let n=jp.pop()??Object.create(tD);return n.lView=e,n}function eD(e){e.lView[Pe]!==e&&(e.lView=null,jp.push(e))}var tD=Q(C({},ys),{consumerIsAlwaysLive:!0,consumerMarkedDirty:e=>{wo(e.lView)},consumerOnSignalRead(){this.lView[Pe]=this}});function nD(e){let n=e[Pe]??Object.create(rD);return n.lView=e,n}var rD=Q(C({},ys),{consumerIsAlwaysLive:!0,consumerMarkedDirty:e=>{let n=Yt(e.lView);for(;n&&!Bp(n[N]);)n=Yt(n);n&&sf(n)},consumerOnSignalRead(){this.lView[Pe]=this}});function Bp(e){return e.type!==2}var iD=100;function Vp(e,n=!0,t=0){let r=e[nt],i=r.rendererFactory,o=!1;o||i.begin?.();try{oD(e,t)}catch(s){throw n&&Lp(e,s),s}finally{o||(i.end?.(),r.inlineEffectRunner?.flush())}}function oD(e,n){let t=ff();try{Hu(!0),Ra(e,n);let r=0;for(;bo(e);){if(r===iD)throw new S(103,!1);r++,Ra(e,1)}}finally{Hu(t)}}function sD(e,n,t,r){let i=n[x];if((i&256)===256)return;let o=!1,s=!1;!o&&n[nt].inlineEffectRunner?.flush(),fl(n);let a=!0,l=null,f=null;o||(Bp(e)?(f=Ky(n),l=Ds(f)):eu()===null?(a=!1,f=nD(n),l=Ds(f)):n[Pe]&&(ws(n[Pe]),n[Pe]=null));try{of(n),k0(e.bindingStartIndex),t!==null&&_p(e,n,t,2,r);let p=(i&3)===3;if(!o)if(p){let v=e.preOrderCheckHooks;v!==null&&Oi(n,v,null)}else{let v=e.preOrderHooks;v!==null&&Pi(n,v,0,null),Hs(n,0)}if(s||aD(n),Up(n,0),e.contentQueries!==null&&Fp(e,n),!o)if(p){let v=e.contentCheckHooks;v!==null&&Oi(n,v)}else{let v=e.contentHooks;v!==null&&Pi(n,v,1),Hs(n,1)}vy(e,n);let h=e.components;h!==null&&Hp(n,h,0);let D=e.viewQuery;if(D!==null&&Na(2,D,r),!o)if(p){let v=e.viewCheckHooks;v!==null&&Oi(n,v)}else{let v=e.viewHooks;v!==null&&Pi(n,v,2),Hs(n,2)}if(e.firstUpdatePass===!0&&(e.firstUpdatePass=!1),n[$s]){for(let v of n[$s])v();n[$s]=null}o||(n[x]&=-73)}catch(p){throw o||wo(n),p}finally{f!==null&&(tu(f,l),a&&eD(f)),pl()}}function Up(e,n){for(let t=Vf(e);t!==null;t=Uf(t))for(let r=fe;r<t.length;r++){let i=t[r];$p(i,n)}}function aD(e){for(let n=Vf(e);n!==null;n=Uf(n)){if(!(n[x]&Gi.HasTransplantedViews))continue;let t=n[zi];for(let r=0;r<t.length;r++){let i=t[r];sf(i)}}}function lD(e,n,t){let r=Ot(n,e);$p(r,t)}function $p(e,n){ul(e)&&Ra(e,n)}function Ra(e,n){let r=e[N],i=e[x],o=e[Pe],s=!!(n===0&&i&16);if(s||=!!(i&64&&n===0),s||=!!(i&1024),s||=!!(o?.dirty&&bs(o)),s||=!1,o&&(o.dirty=!1),e[x]&=-9217,s)sD(r,e,r.template,e[ye]);else if(i&8192){Up(e,1);let a=r.components;a!==null&&Hp(e,a,1)}}function Hp(e,n,t){for(let r=0;r<n.length;r++)lD(e,n[r],t)}function Vl(e,n){let t=ff()?64:1088;for(e[nt].changeDetectionScheduler?.notify(n);e;){e[x]|=t;let r=Yt(e);if(qi(e)&&!r)return e;e=r}return null}var Xt=class{get rootNodes(){let n=this._lView,t=n[N];return no(t,n,t.firstChild,[])}constructor(n,t,r=!0){this._lView=n,this._cdRefInjectingView=t,this.notifyErrorHandler=r,this._appRef=null,this._attachedToViewContainer=!1}get context(){return this._lView[ye]}set context(n){this._lView[ye]=n}get destroyed(){return(this._lView[x]&256)===256}destroy(){if(this._appRef)this._appRef.detachView(this);else if(this._attachedToViewContainer){let n=this._lView[pe];if(it(n)){let t=n[Hi],r=t?t.indexOf(this):-1;r>-1&&(gr(n,r),Vi(t,r))}this._attachedToViewContainer=!1}To(this._lView[N],this._lView)}onDestroy(n){af(this._lView,n)}markForCheck(){Vl(this._cdRefInjectingView||this._lView,4)}detach(){this._lView[x]&=-129}reattach(){la(this._lView),this._lView[x]|=128}detectChanges(){this._lView[x]|=1024,Vp(this._lView,this.notifyErrorHandler)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new S(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null;let n=qi(this._lView),t=this._lView[On];t!==null&&!n&&kl(t,this._lView),mp(this._lView[N],this._lView)}attachToAppRef(n){if(this._attachedToViewContainer)throw new S(902,!1);this._appRef=n;let t=qi(this._lView),r=this._lView[On];r!==null&&!t&&gp(r,this._lView),la(this._lView)}},Oo=(()=>{class e{static{this.__NG_ELEMENT_ID__=dD}}return e})(),cD=Oo,uD=class extends cD{constructor(n,t,r){super(),this._declarationLView=n,this._declarationTContainer=t,this.elementRef=r}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(n,t){return this.createEmbeddedViewImpl(n,t)}createEmbeddedViewImpl(n,t,r){let i=jl(this._declarationLView,this._declarationTContainer,n,{embeddedViewInjector:t,dehydratedView:r});return new Xt(i)}};function dD(){return fD(Te(),W())}function fD(e,n){return e.type&4?new uD(n,e,Io(e,n)):null}var pD=new RegExp(`^(\\d+)*(${Gf}|${zf})*(.*)`);function hD(e){let n=e.match(pD),[t,r,i,o]=n,s=r?parseInt(r,10):i,a=[];for(let[l,f,p]of o.matchAll(/(f|n)(\d*)/g)){let h=parseInt(p,10)||1;a.push(f,h)}return[s,...a]}function mD(e){return!e.prev&&e.parent?.type===8}function Ys(e){return e.index-De}function gD(e,n){let t=e.i18nNodes;if(t)return t.get(n)}function Po(e,n,t,r){let i=Ys(r),o=gD(e,i);if(o===void 0){let s=e.data[wv];if(s?.[i])o=yD(s[i],t);else if(n.firstChild===r)o=e.firstChild;else{let a=r.prev===null,l=r.prev??r.parent;if(mD(r)){let f=Ys(r.parent);o=wa(e,f)}else{let f=xe(l,t);if(a)o=f.firstChild;else{let p=Ys(l),h=wa(e,p);if(l.type===2&&h){let v=Il(e,p)+1;o=Fo(v,h)}else o=f.nextSibling}}}}return o}function Fo(e,n){let t=n;for(let r=0;r<e;r++)t=t.nextSibling;return t}function vD(e,n){let t=e;for(let r=0;r<n.length;r+=2){let i=n[r],o=n[r+1];for(let s=0;s<o;s++)switch(i){case ba.FirstChild:t=t.firstChild;break;case ba.NextSibling:t=t.nextSibling;break}}return t}function yD(e,n){let[t,...r]=hD(e),i;if(t===zf)i=n[Me][_e];else if(t===Gf)i=Xv(n[Me][_e]);else{let o=Number(t);i=Ze(n[o+De])}return vD(i,r)}var DD=!1;function bD(e){DD=e}function wD(e){let n=e[We];if(n){let{i18nNodes:t,dehydratedIcuData:r}=n;if(t&&r){let i=e[X];for(let o of r.values())ED(i,t,o)}n.i18nNodes=void 0,n.dehydratedIcuData=void 0}}function ED(e,n,t){for(let r of t.node.cases[t.case]){let i=n.get(r.index-De);i&&Rl(e,i,!1)}}function zp(e){let n=e[mr]??[],r=e[pe][X];for(let i of n)CD(i,r);e[mr]=ze}function CD(e,n){let t=0,r=e.firstChild;if(r){let i=e.data[Xi];for(;t<i;){let o=r.nextSibling;Rl(n,r,!1),r=o,t++}}}function Gp(e){zp(e);let n=e[_e];qe(n)&&ro(n);for(let t=fe;t<e.length;t++)ro(e[t])}function ro(e){wD(e);let n=e[N];for(let t=De;t<n.bindingStartIndex;t++)if(it(e[t])){let r=e[t];Gp(r)}else qe(e[t])&&ro(e[t])}function ID(e){let n=e._views;for(let t of n){let r=_v(t);r!==null&&r[_e]!==null&&(qe(r)?ro(r):Gp(r))}}function SD(e,n){let t=[];for(let r of n)for(let i=0;i<(r[qf]??1);i++){let o={data:r,firstChild:null};r[Xi]>0&&(o.firstChild=e,e=Fo(r[Xi],e)),t.push(o)}return[e,t]}var qp=()=>null;function _D(e,n){let t=e[mr];return!n||t===null||t.length===0?null:t[0].data[bv]===n?t.shift():(zp(e),null)}function MD(){qp=_D}function io(e,n){return qp(e,n)}var jn=class{},Lo=new T("",{providedIn:"root",factory:()=>!1});var Wp=new T(""),Zp=new T(""),Oa=class{},oo=class{};function xD(e){let n=Error(`No component factory found for ${Ee(e)}.`);return n[TD]=e,n}var TD="ngComponent";var Pa=class{resolveComponentFactory(n){throw xD(n)}},Bn=class{static{this.NULL=new Pa}},Nt=class{},zn=(()=>{class e{constructor(){this.destroyNode=null}static{this.__NG_ELEMENT_ID__=()=>AD()}}return e})();function AD(){let e=W(),n=Te(),t=Ot(n.index,e);return(qe(t)?t:e)[X]}var kD=(()=>{class e{static{this.\u0275prov=_({token:e,providedIn:"root",factory:()=>null})}}return e})();function Fa(e,n,t){let r=t?e.styles:null,i=t?e.classes:null,o=0;if(n!==null)for(let s=0;s<n.length;s++){let a=n[s];if(typeof a=="number")o=a;else if(o==1)i=ku(i,a);else if(o==2){let l=a,f=n[++s];r=ku(r,l+": "+f+";")}}t?e.styles=r:e.stylesWithoutHost=r,t?e.classes=i:e.classesWithoutHost=i}var so=class extends Bn{constructor(n){super(),this.ngModule=n}resolveComponentFactory(n){let t=Zt(n);return new vr(t,this.ngModule)}};function cd(e,n){let t=[];for(let r in e){if(!e.hasOwnProperty(r))continue;let i=e[r];if(i===void 0)continue;let o=Array.isArray(i),s=o?i[0]:i,a=o?i[1]:kt.None;n?t.push({propName:s,templateName:r,isSignal:(a&kt.SignalBased)!==0}):t.push({propName:s,templateName:r})}return t}function ND(e){let n=e.toLowerCase();return n==="svg"?rf:n==="math"?y0:null}var vr=class extends oo{get inputs(){let n=this.componentDef,t=n.inputTransforms,r=cd(n.inputs,!0);if(t!==null)for(let i of r)t.hasOwnProperty(i.propName)&&(i.transform=t[i.propName]);return r}get outputs(){return cd(this.componentDef.outputs,!1)}constructor(n,t){super(),this.componentDef=n,this.ngModule=t,this.componentType=n.type,this.selector=Jg(n.selectors),this.ngContentSelectors=n.ngContentSelectors?n.ngContentSelectors:[],this.isBoundToModule=!!t}create(n,t,r,i){let o=z(null);try{i=i||this.ngModule;let s=i instanceof Fe?i:i?.injector;s&&this.componentDef.getStandaloneInjector!==null&&(s=this.componentDef.getStandaloneInjector(s)||s);let a=s?new ua(n,s):n,l=a.get(Nt,null);if(l===null)throw new S(407,!1);let f=a.get(kD,null),p=a.get(jn,null),h={rendererFactory:l,sanitizer:f,inlineEffectRunner:null,changeDetectionScheduler:p},D=l.createRenderer(null,this.componentDef),v=this.componentDef.selectors[0][0]||"div",b=r?by(D,r,this.componentDef.encapsulation,a):Al(D,v,ND(v)),M=512;this.componentDef.signals?M|=4096:this.componentDef.onPush||(M|=16);let B=null;b!==null&&(B=Cl(b,a,!0));let O=Pl(0,null,null,1,0,null,null,null,null,null,null),J=ko(null,O,null,M,null,null,h,D,a,null,B);fl(J);let de,he,St=null;try{let Ce=this.componentDef,hn,ms=null;Ce.findHostDirectiveDefs?(hn=[],ms=new Map,Ce.findHostDirectiveDefs(Ce,hn,ms),hn.push(Ce)):hn=[Ce];let Gm=RD(J,b);St=OD(Gm,b,Ce,hn,J,h,D),he=cl(O,De),b&&LD(D,Ce,b,r),t!==void 0&&jD(he,this.ngContentSelectors,t),de=FD(St,Ce,hn,ms,J,[BD]),Ll(O,J,null)}catch(Ce){throw St!==null&&ya(St),ya(J),Ce}finally{pl()}return new La(this.componentType,de,Io(he,J),J,he)}finally{z(o)}}},La=class extends Oa{constructor(n,t,r,i,o){super(),this.location=r,this._rootLView=i,this._tNode=o,this.previousInputValues=null,this.instance=t,this.hostView=this.changeDetectorRef=new Xt(i,void 0,!1),this.componentType=n}setInput(n,t){let r=this._tNode.inputs,i;if(r!==null&&(i=r[n])){if(this.previousInputValues??=new Map,this.previousInputValues.has(n)&&Object.is(this.previousInputValues.get(n),t))return;let o=this._rootLView;Fl(o[N],o,i,n,t),this.previousInputValues.set(n,t);let s=Ot(this._tNode.index,o);Vl(s,1)}}get injector(){return new qt(this._tNode,this._rootLView)}destroy(){this.hostView.destroy()}onDestroy(n){this.hostView.onDestroy(n)}};function RD(e,n){let t=e[N],r=De;return e[r]=n,No(t,r,2,"#host",null)}function OD(e,n,t,r,i,o,s){let a=i[N];PD(r,e,n,s);let l=null;n!==null&&(l=Cl(n,i[Rn]));let f=o.rendererFactory.createRenderer(n,t),p=16;t.signals?p=4096:t.onPush&&(p=64);let h=ko(i,Ap(t),null,p,i[e.index],e,o,f,null,null,l);return a.firstCreatePass&&ka(a,e,r.length-1),Ro(i,h),i[e.index]=h}function PD(e,n,t,r){for(let i of e)n.mergedAttrs=il(n.mergedAttrs,i.hostAttrs);n.mergedAttrs!==null&&(Fa(n,n.mergedAttrs,!0),t!==null&&Ep(r,t,n))}function FD(e,n,t,r,i,o){let s=Te(),a=i[N],l=xe(s,i);Rp(a,i,s,t,null,r);for(let p=0;p<t.length;p++){let h=s.directiveStart+p,D=Ln(i,a,h,s);Kt(D,i)}Op(a,i,s),l&&Kt(l,i);let f=Ln(i,a,s.directiveStart+s.componentOffset,s);if(e[ye]=i[ye]=f,o!==null)for(let p of o)p(f,n);return Mp(a,s,i),f}function LD(e,n,t,r){if(r)ra(e,t,["ng-version","18.2.13"]);else{let{attrs:i,classes:o}=Kg(n.selectors[0]);i&&ra(e,t,i),o&&o.length>0&&wp(e,t,o.join(" "))}}function jD(e,n,t){let r=e.projection=[];for(let i=0;i<n.length;i++){let o=t[i];r.push(o!=null?Array.from(o):null)}}function BD(){let e=Te();ml(W()[N],e)}var Gn=(()=>{class e{static{this.__NG_ELEMENT_ID__=VD}}return e})();function VD(){let e=Te();return $D(e,W())}var UD=Gn,Yp=class extends UD{constructor(n,t,r){super(),this._lContainer=n,this._hostTNode=t,this._hostLView=r}get element(){return Io(this._hostTNode,this._hostLView)}get injector(){return new qt(this._hostTNode,this._hostLView)}get parentInjector(){let n=gl(this._hostTNode,this._hostLView);if(Cf(n)){let t=Zi(n,this._hostLView),r=Wi(n),i=t[N].data[r+8];return new qt(i,t)}else return new qt(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(n){let t=ud(this._lContainer);return t!==null&&t[n]||null}get length(){return this._lContainer.length-fe}createEmbeddedView(n,t,r){let i,o;typeof r=="number"?i=r:r!=null&&(i=r.index,o=r.injector);let s=io(this._lContainer,n.ssrId),a=n.createEmbeddedViewImpl(t||{},o,s);return this.insertImpl(a,i,to(this._hostTNode,s)),a}createComponent(n,t,r,i,o){let s=n&&!h0(n),a;if(s)a=t;else{let b=t||{};a=b.index,r=b.injector,i=b.projectableNodes,o=b.environmentInjector||b.ngModuleRef}let l=s?n:new vr(Zt(n)),f=r||this.parentInjector;if(!o&&l.ngModule==null){let M=(s?f:this.parentInjector).get(Fe,null);M&&(o=M)}let p=Zt(l.componentType??{}),h=io(this._lContainer,p?.id??null),D=h?.firstChild??null,v=l.create(f,i,D,o);return this.insertImpl(v.hostView,a,to(this._hostTNode,h)),v}insert(n,t){return this.insertImpl(n,t,!0)}insertImpl(n,t,r){let i=n._lView;if(b0(i)){let a=this.indexOf(n);if(a!==-1)this.detach(a);else{let l=i[pe],f=new Yp(l,l[Ye],l[pe]);f.detach(f.indexOf(n))}}let o=this._adjustIndex(t),s=this._lContainer;return Bl(s,i,o,r),n.attachToViewContainerRef(),Pd(Qs(s),o,n),n}move(n,t){return this.insert(n,t)}indexOf(n){let t=ud(this._lContainer);return t!==null?t.indexOf(n):-1}remove(n){let t=this._adjustIndex(n,-1),r=gr(this._lContainer,t);r&&(Vi(Qs(this._lContainer),t),To(r[N],r))}detach(n){let t=this._adjustIndex(n,-1),r=gr(this._lContainer,t);return r&&Vi(Qs(this._lContainer),t)!=null?new Xt(r):null}_adjustIndex(n,t=0){return n??this.length+t}};function ud(e){return e[Hi]}function Qs(e){return e[Hi]||(e[Hi]=[])}function $D(e,n){let t,r=n[e.index];return it(r)?t=r:(t=Pp(r,n,null,e),n[e.index]=t,Ro(n,t)),Qp(t,n,e,r),new Yp(t,e,n)}function HD(e,n){let t=e[X],r=t.createComment(""),i=xe(n,e),o=yp(t,i);return eo(t,o,r,uy(t,i),!1),r}var Qp=Jp,Ul=()=>!1;function zD(e,n,t){return Ul(e,n,t)}function Jp(e,n,t,r){if(e[pt])return;let i;t.type&8?i=Ze(r):i=HD(n,t),e[pt]=i}function GD(e,n,t){if(e[pt]&&e[mr])return!0;let r=t[We],i=n.index-De;if(!r||dv(n)||xr(r,i))return!1;let s=wa(r,i),a=r.data[El]?.[i],[l,f]=SD(s,a);return e[pt]=l,e[mr]=f,!0}function qD(e,n,t,r){Ul(e,t,n)||Jp(e,n,t,r)}function WD(){Qp=qD,Ul=GD}var dd=new Set;function on(e){dd.has(e)||(dd.add(e),performance?.mark?.("mark_feature_usage",{detail:{feature:e}}))}var Rt=class{},yr=class{};var ja=class extends Rt{constructor(n,t,r,i=!0){super(),this.ngModuleType=n,this._parent=t,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new so(this);let o=Hd(n);this._bootstrapComponents=fp(o.bootstrap),this._r3Injector=Nf(n,t,[{provide:Rt,useValue:this},{provide:Bn,useValue:this.componentFactoryResolver},...r],Ee(n),new Set(["environment"])),i&&this.resolveInjectorInitializers()}resolveInjectorInitializers(){this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(this.ngModuleType)}get injector(){return this._r3Injector}destroy(){let n=this._r3Injector;!n.destroyed&&n.destroy(),this.destroyCbs.forEach(t=>t()),this.destroyCbs=null}onDestroy(n){this.destroyCbs.push(n)}},Ba=class extends yr{constructor(n){super(),this.moduleType=n}create(n){return new ja(this.moduleType,n,[])}};var ao=class extends Rt{constructor(n){super(),this.componentFactoryResolver=new so(this),this.instance=null;let t=new pr([...n.providers,{provide:Rt,useValue:this},{provide:Bn,useValue:this.componentFactoryResolver}],n.parent||al(),n.debugName,new Set(["environment"]));this.injector=t,n.runEnvironmentInitializers&&t.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(n){this.injector.onDestroy(n)}};function $l(e,n,t=null){return new ao({providers:e,parent:n,debugName:t,runEnvironmentInitializers:!0}).injector}function Kp(e){return YD(e)?Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e:!1}function ZD(e,n){if(Array.isArray(e))for(let t=0;t<e.length;t++)n(e[t]);else{let t=e[Symbol.iterator](),r;for(;!(r=t.next()).done;)n(r.value)}}function YD(e){return e!==null&&(typeof e=="function"||typeof e=="object")}function Hl(e,n,t){return e[n]=t}function en(e,n,t){let r=e[n];return Object.is(r,t)?!1:(e[n]=t,!0)}function Va(e,n,t,r){let i=en(e,n,t);return en(e,n+1,r)||i}function QD(e,n,t,r,i,o){let s=Va(e,n,t,r);return Va(e,n+2,i,o)||s}function kr(e){return(e.flags&32)===32}function JD(e,n,t,r,i,o,s,a,l){let f=n.consts,p=No(n,e,4,s||null,a||null);Np(n,t,p,Fn(f,l)),ml(n,p);let h=p.tView=Pl(2,p,r,i,o,n.directiveRegistry,n.pipeRegistry,null,n.schemas,f,null);return n.queries!==null&&(n.queries.template(n,p),h.queries=n.queries.embeddedTView(p)),p}function Ua(e,n,t,r,i,o,s,a,l,f){let p=t+De,h=n.firstCreatePass?JD(p,n,e,r,i,o,s,a,l):n.data[p];Cr(h,!1);let D=Xp(n,e,h,t);hl()&&Nl(n,e,D,h),Kt(D,e);let v=Pp(D,e,D,h);return e[p]=v,Ro(e,v),zD(v,h,e),ll(h)&&xp(n,e,h),l!=null&&Tp(e,h,f),h}function ne(e,n,t,r,i,o,s,a){let l=W(),f=Qe(),p=Fn(f.consts,o);return Ua(l,f,e,n,t,r,i,p,s,a),ne}var Xp=eh;function eh(e,n,t,r){return Lt(!0),n[X].createComment("")}function KD(e,n,t,r){let i=n[We],o=!i||Er()||kr(t)||xr(i,r);if(Lt(o),o)return eh(e,n,t,r);let s=i.data[Dv]?.[r]??null;s!==null&&t.tView!==null&&t.tView.ssrId===null&&(t.tView.ssrId=s);let a=Po(i,e,n,t);_o(i,r,a);let l=Il(i,r);return Fo(l,a)}function XD(){Xp=KD}var lr=function(e){return e[e.EarlyRead=0]="EarlyRead",e[e.Write=1]="Write",e[e.MixedReadWrite=2]="MixedReadWrite",e[e.Read=3]="Read",e}(lr||{}),eb=(()=>{class e{constructor(){this.impl=null}execute(){this.impl?.execute()}static{this.\u0275prov=_({token:e,providedIn:"root",factory:()=>new e})}}return e})(),fd=class e{constructor(){this.ngZone=w(K),this.scheduler=w(jn),this.errorHandler=w(mt,{optional:!0}),this.sequences=new Set,this.deferredRegistrations=new Set,this.executing=!1}static{this.PHASES=[lr.EarlyRead,lr.Write,lr.MixedReadWrite,lr.Read]}execute(){this.executing=!0;for(let n of e.PHASES)for(let t of this.sequences)if(!(t.erroredOrDestroyed||!t.hooks[n]))try{t.pipelinedValue=this.ngZone.runOutsideAngular(()=>t.hooks[n](t.pipelinedValue))}catch(r){t.erroredOrDestroyed=!0,this.errorHandler?.handleError(r)}this.executing=!1;for(let n of this.sequences)n.afterRun(),n.once&&(this.sequences.delete(n),n.destroy());for(let n of this.deferredRegistrations)this.sequences.add(n);this.deferredRegistrations.size>0&&this.scheduler.notify(7),this.deferredRegistrations.clear()}register(n){this.executing?this.deferredRegistrations.add(n):(this.sequences.add(n),this.scheduler.notify(6))}unregister(n){this.executing&&this.sequences.has(n)?(n.erroredOrDestroyed=!0,n.pipelinedValue=void 0,n.once=!0):(this.sequences.delete(n),this.deferredRegistrations.delete(n))}static{this.\u0275prov=_({token:e,providedIn:"root",factory:()=>new e})}};function re(e,n,t,r){let i=W(),o=Eo();if(en(i,o,n)){let s=Qe(),a=Df();By(a,i,e,n,t,r)}return re}function tb(e,n,t,r){return en(e,Eo(),t)?n+br(t)+r:Ar}function g(e,n,t){let r=W(),i=Eo();if(en(r,i,n)){let o=Qe(),s=Df();My(o,s,r,e,n,r[X],t,!1)}return g}function pd(e,n,t,r,i){let o=n.inputs,s=i?"class":"style";Fl(e,t,o[s],s,r)}var $a=class{destroy(n){}updateValue(n,t){}swap(n,t){let r=Math.min(n,t),i=Math.max(n,t),o=this.detach(i);if(i-r>1){let s=this.detach(r);this.attach(r,o),this.attach(i,s)}else this.attach(r,o)}move(n,t){this.attach(t,this.detach(n))}};function Js(e,n,t,r,i){return e===t&&Object.is(n,r)?1:Object.is(i(e,n),i(t,r))?-1:0}function nb(e,n,t){let r,i,o=0,s=e.length-1,a=void 0;if(Array.isArray(n)){let l=n.length-1;for(;o<=s&&o<=l;){let f=e.at(o),p=n[o],h=Js(o,f,o,p,t);if(h!==0){h<0&&e.updateValue(o,p),o++;continue}let D=e.at(s),v=n[l],b=Js(s,D,l,v,t);if(b!==0){b<0&&e.updateValue(s,v),s--,l--;continue}let M=t(o,f),B=t(s,D),O=t(o,p);if(Object.is(O,B)){let J=t(l,v);Object.is(J,M)?(e.swap(o,s),e.updateValue(s,v),l--,s--):e.move(s,o),e.updateValue(o,p),o++;continue}if(r??=new lo,i??=md(e,o,s,t),Ha(e,r,o,O))e.updateValue(o,p),o++,s++;else if(i.has(O))r.set(M,e.detach(o)),s--;else{let J=e.create(o,n[o]);e.attach(o,J),o++,s++}}for(;o<=l;)hd(e,r,t,o,n[o]),o++}else if(n!=null){let l=n[Symbol.iterator](),f=l.next();for(;!f.done&&o<=s;){let p=e.at(o),h=f.value,D=Js(o,p,o,h,t);if(D!==0)D<0&&e.updateValue(o,h),o++,f=l.next();else{r??=new lo,i??=md(e,o,s,t);let v=t(o,h);if(Ha(e,r,o,v))e.updateValue(o,h),o++,s++,f=l.next();else if(!i.has(v))e.attach(o,e.create(o,h)),o++,s++,f=l.next();else{let b=t(o,p);r.set(b,e.detach(o)),s--}}}for(;!f.done;)hd(e,r,t,e.length,f.value),f=l.next()}for(;o<=s;)e.destroy(e.detach(s--));r?.forEach(l=>{e.destroy(l)})}function Ha(e,n,t,r){return n!==void 0&&n.has(r)?(e.attach(t,n.get(r)),n.delete(r),!0):!1}function hd(e,n,t,r,i){if(Ha(e,n,r,t(r,i)))e.updateValue(r,i);else{let o=e.create(r,i);e.attach(r,o)}}function md(e,n,t,r){let i=new Set;for(let o=n;o<=t;o++)i.add(r(o,e.at(o)));return i}var lo=class{constructor(){this.kvMap=new Map,this._vMap=void 0}has(n){return this.kvMap.has(n)}delete(n){if(!this.has(n))return!1;let t=this.kvMap.get(n);return this._vMap!==void 0&&this._vMap.has(t)?(this.kvMap.set(n,this._vMap.get(t)),this._vMap.delete(t)):this.kvMap.delete(n),!0}get(n){return this.kvMap.get(n)}set(n,t){if(this.kvMap.has(n)){let r=this.kvMap.get(n);this._vMap===void 0&&(this._vMap=new Map);let i=this._vMap;for(;i.has(r);)r=i.get(r);i.set(r,t)}else this.kvMap.set(n,t)}forEach(n){for(let[t,r]of this.kvMap)if(n(r,t),this._vMap!==void 0){let i=this._vMap;for(;i.has(r);)r=i.get(r),n(r,t)}}};var za=class{constructor(n,t,r){this.lContainer=n,this.$implicit=t,this.$index=r}get $count(){return this.lContainer.length-fe}};function th(e,n){return n}var Ga=class{constructor(n,t,r){this.hasEmptyBlock=n,this.trackByFn=t,this.liveCollection=r}};function nh(e,n,t,r,i,o,s,a,l,f,p,h,D){on("NgControlFlow");let v=W(),b=Qe(),M=l!==void 0,B=W(),O=a?s.bind(B[Me][ye]):s,J=new Ga(M,O);B[De+e]=J,Ua(v,b,e+1,n,t,r,i,Fn(b.consts,o)),M&&Ua(v,b,e+2,l,f,p,h,Fn(b.consts,D))}var qa=class extends $a{constructor(n,t,r){super(),this.lContainer=n,this.hostLView=t,this.templateTNode=r,this.operationsCounter=void 0,this.needsIndexUpdate=!1}get length(){return this.lContainer.length-fe}at(n){return this.getLView(n)[ye].$implicit}attach(n,t){let r=t[We];this.needsIndexUpdate||=n!==this.length,Bl(this.lContainer,t,n,to(this.templateTNode,r))}detach(n){return this.needsIndexUpdate||=n!==this.length-1,rb(this.lContainer,n)}create(n,t){let r=io(this.lContainer,this.templateTNode.tView.ssrId),i=jl(this.hostLView,this.templateTNode,new za(this.lContainer,t,n),{dehydratedView:r});return this.operationsCounter?.recordCreate(),i}destroy(n){To(n[N],n),this.operationsCounter?.recordDestroy()}updateValue(n,t){this.getLView(n)[ye].$implicit=t}reset(){this.needsIndexUpdate=!1,this.operationsCounter?.reset()}updateIndexes(){if(this.needsIndexUpdate)for(let n=0;n<this.length;n++)this.getLView(n)[ye].$index=n}getLView(n){return ib(this.lContainer,n)}};function rh(e){let n=z(null),t=Co();try{let r=W(),i=r[N],o=r[t],s=t+1,a=gd(r,s);if(o.liveCollection===void 0){let f=vd(i,s);o.liveCollection=new qa(a,r,f)}else o.liveCollection.reset();let l=o.liveCollection;if(nb(l,e,o.trackByFn),l.updateIndexes(),o.hasEmptyBlock){let f=Eo(),p=l.length===0;if(en(r,f,p)){let h=t+2,D=gd(r,h);if(p){let v=vd(i,h),b=io(D,v.tView.ssrId),M=jl(r,v,void 0,{dehydratedView:b});Bl(D,M,0,to(v,b))}else Qy(D,0)}}}finally{z(n)}}function gd(e,n){return e[n]}function rb(e,n){return gr(e,n)}function ib(e,n){return Yy(e,n)}function vd(e,n){return cl(e,n)}function ob(e,n,t,r,i,o){let s=n.consts,a=Fn(s,i),l=No(n,e,2,r,a);return Np(n,t,l,Fn(s,o)),l.attrs!==null&&Fa(l,l.attrs,!1),l.mergedAttrs!==null&&Fa(l,l.mergedAttrs,!0),n.queries!==null&&n.queries.elementStart(n,l),l}function c(e,n,t,r){let i=W(),o=Qe(),s=De+e,a=i[X],l=o.firstCreatePass?ob(s,o,i,n,t,r):o.data[s],f=ih(o,i,l,a,n,e);i[s]=f;let p=ll(l);return Cr(l,!0),Ep(a,f,l),!kr(l)&&hl()&&Nl(o,i,f,l),C0()===0&&Kt(f,i),I0(),p&&(xp(o,i,l),Mp(o,l,i)),r!==null&&Tp(i,l),c}function u(){let e=Te();df()?A0():(e=e.parent,Cr(e,!1));let n=e;_0(n)&&x0(),S0();let t=Qe();return t.firstCreatePass&&(ml(t,e),Kd(e)&&t.queries.elementEnd(e)),n.classesWithoutHost!=null&&U0(n)&&pd(t,n,W(),n.classesWithoutHost,!0),n.stylesWithoutHost!=null&&$0(n)&&pd(t,n,W(),n.stylesWithoutHost,!1),u}function y(e,n,t,r){return c(e,n,t,r),u(),y}var ih=(e,n,t,r,i,o)=>(Lt(!0),Al(r,i,bf()));function sb(e,n,t,r,i,o){let s=n[We],a=!s||Er()||kr(t)||xr(s,o);if(Lt(a),a)return Al(r,i,bf());let l=Po(s,e,n,t);return Qf(s,o)&&_o(s,o,l.nextSibling),s&&(Lf(t)||jf(l))&&wr(t)&&(M0(t),bp(l)),l}function ab(){ih=sb}var lb=(e,n,t,r)=>(Lt(!0),hp(n[X],""));function cb(e,n,t,r){let i,o=n[We],s=!o||Er()||xr(o,r)||kr(t);if(Lt(s),s)return hp(n[X],"");let a=Po(o,e,n,t),l=Tv(o,r);return _o(o,r,a),i=Fo(l,a),i}function ub(){lb=cb}function jt(){return W()}var co="en-US";var db=co;function fb(e){typeof e=="string"&&(db=e.toLowerCase().replace(/_/g,"-"))}var pb=(e,n,t)=>{};function I(e,n,t,r){let i=W(),o=Qe(),s=Te();return mb(o,i,i[X],s,e,n,r),I}function hb(e,n,t,r){let i=e.cleanup;if(i!=null)for(let o=0;o<i.length-1;o+=2){let s=i[o];if(s===t&&i[o+1]===r){let a=n[$i],l=i[o+2];return a.length>l?a[l]:null}typeof s=="string"&&(o+=2)}return null}function mb(e,n,t,r,i,o,s){let a=ll(r),f=e.firstCreatePass&&zy(e),p=n[ye],h=Hy(n),D=!0;if(r.type&3||s){let M=xe(r,n),B=s?s(M):M,O=h.length,J=s?he=>s(Ze(he[r.index])):r.index,de=null;if(!s&&a&&(de=hb(e,n,i,r.index)),de!==null){let he=de.__ngLastListenerFn__||de;he.__ngNextListenerFn__=o,de.__ngLastListenerFn__=o,D=!1}else{o=Dd(r,n,p,o),pb(M,i,o);let he=t.listen(B,i,o);h.push(o,he),f&&f.push(i,J,O,O+1)}}else o=Dd(r,n,p,o);let v=r.outputs,b;if(D&&v!==null&&(b=v[i])){let M=b.length;if(M)for(let B=0;B<M;B+=2){let O=b[B],J=b[B+1],St=n[O][J].subscribe(o),Ce=h.length;h.push(o,St),f&&f.push(i,r.index,Ce,-(Ce+1))}}}function yd(e,n,t,r){let i=z(null);try{return Xe(6,n,t),t(r)!==!1}catch(o){return Lp(e,o),!1}finally{Xe(7,n,t),z(i)}}function Dd(e,n,t,r){return function i(o){if(o===Function)return r;let s=e.componentOffset>-1?Ot(e.index,n):n;Vl(s,5);let a=yd(n,t,r,o),l=i.__ngNextListenerFn__;for(;l;)a=yd(n,t,l,o)&&a,l=l.__ngNextListenerFn__;return a}}function ie(e=1){return F0(e)}function d(e,n=""){let t=W(),r=Qe(),i=e+De,o=r.firstCreatePass?No(r,i,1,n,null):r.data[i],s=oh(r,t,o,n,e);t[i]=s,hl()&&Nl(r,t,s,o),Cr(o,!1)}var oh=(e,n,t,r,i)=>(Lt(!0),pp(n[X],r));function gb(e,n,t,r,i){let o=n[We],s=!o||Er()||kr(t)||xr(o,i);return Lt(s),s?pp(n[X],r):Po(o,e,n,t)}function vb(){oh=gb}function sn(e){return at("",e,""),sn}function at(e,n,t){let r=W(),i=tb(r,e,n,t);return i!==Ar&&Gy(r,Co(),i),at}function yb(e,n,t){let r=Qe();if(r.firstCreatePass){let i=$n(e);Wa(t,r.data,r.blueprint,i,!0),Wa(n,r.data,r.blueprint,i,!1)}}function Wa(e,n,t,r,i){if(e=ge(e),Array.isArray(e))for(let o=0;o<e.length;o++)Wa(e[o],n,t,r,i);else{let o=Qe(),s=W(),a=Te(),l=Nn(e)?e:ge(e.provide),f=Yd(e),p=a.providerIndexes&1048575,h=a.directiveStart,D=a.providerIndexes>>20;if(Nn(e)||!e.multi){let v=new Jt(f,i,Z),b=Xs(l,n,i?p:p+D,h);b===-1?(fa(Yi(a,s),o,l),Ks(o,e,n.length),n.push(l),a.directiveStart++,a.directiveEnd++,i&&(a.providerIndexes+=1048576),t.push(v),s.push(v)):(t[b]=v,s[b]=v)}else{let v=Xs(l,n,p+D,h),b=Xs(l,n,p,p+D),M=v>=0&&t[v],B=b>=0&&t[b];if(i&&!B||!i&&!M){fa(Yi(a,s),o,l);let O=wb(i?bb:Db,t.length,i,r,f);!i&&B&&(t[b].providerFactory=O),Ks(o,e,n.length,0),n.push(l),a.directiveStart++,a.directiveEnd++,i&&(a.providerIndexes+=1048576),t.push(O),s.push(O)}else{let O=sh(t[i?b:v],f,!i&&r);Ks(o,e,v>-1?v:b,O)}!i&&r&&B&&t[b].componentProviders++}}}function Ks(e,n,t,r){let i=Nn(n),o=s0(n);if(i||o){let l=(o?ge(n.useClass):n).prototype.ngOnDestroy;if(l){let f=e.destroyHooks||(e.destroyHooks=[]);if(!i&&n.multi){let p=f.indexOf(t);p===-1?f.push(t,[r,l]):f[p+1].push(r,l)}else f.push(t,l)}}}function sh(e,n,t){return t&&e.componentProviders++,e.multi.push(n)-1}function Xs(e,n,t,r){for(let i=t;i<r;i++)if(n[i]===e)return i;return-1}function Db(e,n,t,r){return Za(this.multi,[])}function bb(e,n,t,r){let i=this.multi,o;if(this.providerFactory){let s=this.providerFactory.componentProviders,a=Ln(t,t[N],this.providerFactory.index,r);o=a.slice(0,s),Za(i,o);for(let l=s;l<a.length;l++)o.push(a[l])}else o=[],Za(i,o);return o}function Za(e,n){for(let t=0;t<e.length;t++){let r=e[t];n.push(r())}return n}function wb(e,n,t,r,i){let o=new Jt(e,t,Z);return o.multi=[],o.index=n,o.componentProviders=0,sh(o,i,r&&!t),o}function ah(e,n=[]){return t=>{t.providersResolver=(r,i)=>yb(r,i?i(e):e,n)}}var Eb=(()=>{class e{constructor(t){this._injector=t,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(t){if(!t.standalone)return null;if(!this.cachedInjectors.has(t)){let r=qd(!1,t.type),i=r.length>0?$l([r],this._injector,`Standalone[${t.type.name}]`):null;this.cachedInjectors.set(t,i)}return this.cachedInjectors.get(t)}ngOnDestroy(){try{for(let t of this.cachedInjectors.values())t!==null&&t.destroy()}finally{this.cachedInjectors.clear()}}static{this.\u0275prov=_({token:e,providedIn:"environment",factory:()=>new e(F(Fe))})}}return e})();function Be(e){on("NgStandalone"),e.getStandaloneInjector=n=>n.get(Eb).getOrCreateStandaloneInjector(e)}function lh(e,n,t,r){return Cb(W(),dl(),e,n,t,r)}function E(e,n,t,r,i){return Ib(W(),dl(),e,n,t,r,i)}function ch(e,n,t,r,i,o,s){return Sb(W(),dl(),e,n,t,r,i,o,s)}function zl(e,n){let t=e[n];return t===Ar?void 0:t}function Cb(e,n,t,r,i,o){let s=n+t;return en(e,s,i)?Hl(e,s+1,o?r.call(o,i):r(i)):zl(e,s+1)}function Ib(e,n,t,r,i,o,s){let a=n+t;return Va(e,a,i,o)?Hl(e,a+2,s?r.call(s,i,o):r(i,o)):zl(e,a+2)}function Sb(e,n,t,r,i,o,s,a,l){let f=n+t;return QD(e,f,i,o,s,a)?Hl(e,f+4,l?r.call(l,i,o,s,a):r(i,o,s,a)):zl(e,f+4)}var jo=(()=>{class e{log(t){console.log(t)}warn(t){console.warn(t)}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"platform"})}}return e})();var uh=new T("");function Nr(e){return!!e&&typeof e.then=="function"}function dh(e){return!!e&&typeof e.subscribe=="function"}var fh=new T(""),ph=(()=>{class e{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((t,r)=>{this.resolve=t,this.reject=r}),this.appInits=w(fh,{optional:!0})??[]}runInitializers(){if(this.initialized)return;let t=[];for(let i of this.appInits){let o=i();if(Nr(o))t.push(o);else if(dh(o)){let s=new Promise((a,l)=>{o.subscribe({complete:a,error:l})});t.push(s)}}let r=()=>{this.done=!0,this.resolve()};Promise.all(t).then(()=>{r()}).catch(i=>{this.reject(i)}),t.length===0&&r(),this.initialized=!0}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),qn=new T("");function _b(){nu(()=>{throw new S(600,!1)})}function Mb(e){return e.isBoundToModule}var xb=10;function Tb(e,n,t){try{let r=t();return Nr(r)?r.catch(i=>{throw n.runOutsideAngular(()=>e.handleError(i)),i}):r}catch(r){throw n.runOutsideAngular(()=>e.handleError(r)),r}}var lt=(()=>{class e{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=w(av),this.afterRenderManager=w(eb),this.zonelessEnabled=w(Lo),this.dirtyFlags=0,this.deferredDirtyFlags=0,this.externalTestViews=new Set,this.beforeRender=new me,this.afterTick=new me,this.componentTypes=[],this.components=[],this.isStable=w(nn).hasPendingTasks.pipe(V(t=>!t)),this._injector=w(Fe)}get allViews(){return[...this.externalTestViews.keys(),...this._views]}get destroyed(){return this._destroyed}whenStable(){let t;return new Promise(r=>{t=this.isStable.subscribe({next:i=>{i&&r()}})}).finally(()=>{t.unsubscribe()})}get injector(){return this._injector}bootstrap(t,r){let i=t instanceof oo;if(!this._injector.get(ph).done){let D=!i&&$d(t),v=!1;throw new S(405,v)}let s;i?s=t:s=this._injector.get(Bn).resolveComponentFactory(t),this.componentTypes.push(s.componentType);let a=Mb(s)?void 0:this._injector.get(Rt),l=r||s.selector,f=s.create(ht.NULL,[],l,a),p=f.location.nativeElement,h=f.injector.get(uh,null);return h?.registerApplication(p),f.onDestroy(()=>{this.detachView(f.hostView),Fi(this.components,f),h?.unregisterApplication(p)}),this._loadComponent(f),f}tick(){this.zonelessEnabled||(this.dirtyFlags|=1),this._tick()}_tick(){if(this._runningTick)throw new S(101,!1);let t=z(null);try{this._runningTick=!0,this.synchronize()}catch(r){this.internalErrorHandler(r)}finally{this._runningTick=!1,z(t),this.afterTick.next()}}synchronize(){let t=null;this._injector.destroyed||(t=this._injector.get(Nt,null,{optional:!0})),this.dirtyFlags|=this.deferredDirtyFlags,this.deferredDirtyFlags=0;let r=0;for(;this.dirtyFlags!==0&&r++<xb;)this.synchronizeOnce(t)}synchronizeOnce(t){if(this.dirtyFlags|=this.deferredDirtyFlags,this.deferredDirtyFlags=0,this.dirtyFlags&7){let r=!!(this.dirtyFlags&1);this.dirtyFlags&=-8,this.dirtyFlags|=8,this.beforeRender.next(r);for(let{_lView:i,notifyErrorHandler:o}of this._views)Ab(i,o,r,this.zonelessEnabled);if(this.dirtyFlags&=-5,this.syncDirtyFlagsWithViews(),this.dirtyFlags&7)return}else t?.begin?.(),t?.end?.();this.dirtyFlags&8&&(this.dirtyFlags&=-9,this.afterRenderManager.execute()),this.syncDirtyFlagsWithViews()}syncDirtyFlagsWithViews(){if(this.allViews.some(({_lView:t})=>bo(t))){this.dirtyFlags|=2;return}else this.dirtyFlags&=-8}attachView(t){let r=t;this._views.push(r),r.attachToAppRef(this)}detachView(t){let r=t;Fi(this._views,r),r.detachFromAppRef()}_loadComponent(t){this.attachView(t.hostView),this.tick(),this.components.push(t);let r=this._injector.get(qn,[]);[...this._bootstrapListeners,...r].forEach(i=>i(t))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(t=>t()),this._views.slice().forEach(t=>t.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(t){return this._destroyListeners.push(t),()=>Fi(this._destroyListeners,t)}destroy(){if(this._destroyed)throw new S(406,!1);let t=this._injector;t.destroy&&!t.destroyed&&t.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function Fi(e,n){let t=e.indexOf(n);t>-1&&e.splice(t,1)}var ki;function Bo(e){ki??=new WeakMap;let n=ki.get(e);if(n)return n;let t=e.isStable.pipe($e(r=>r)).toPromise().then(()=>{});return ki.set(e,t),e.onDestroy(()=>ki?.delete(e)),t}function Ab(e,n,t,r){if(!t&&!bo(e))return;Vp(e,n,t&&!r?0:1)}var Ya=class{constructor(n,t){this.ngModuleFactory=n,this.componentFactories=t}},Gl=(()=>{class e{compileModuleSync(t){return new Ba(t)}compileModuleAsync(t){return Promise.resolve(this.compileModuleSync(t))}compileModuleAndAllComponentsSync(t){let r=this.compileModuleSync(t),i=Hd(t),o=fp(i.declarations).reduce((s,a)=>{let l=Zt(a);return l&&s.push(new vr(l)),s},[]);return new Ya(r,o)}compileModuleAndAllComponentsAsync(t){return Promise.resolve(this.compileModuleAndAllComponentsSync(t))}clearCache(){}clearCacheFor(t){}getModuleId(t){}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();var kb=(()=>{class e{constructor(){this.zone=w(K),this.changeDetectionScheduler=w(jn),this.applicationRef=w(lt)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.changeDetectionScheduler.runningTick||this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),Nb=new T("",{factory:()=>!1});function hh({ngZoneFactory:e,ignoreChangesOutsideZone:n,scheduleInRootZone:t}){return e??=()=>new K(Q(C({},gh()),{scheduleInRootZone:t})),[{provide:K,useFactory:e},{provide:Wt,multi:!0,useFactory:()=>{let r=w(kb,{optional:!0});return()=>r.initialize()}},{provide:Wt,multi:!0,useFactory:()=>{let r=w(Rb);return()=>{r.initialize()}}},n===!0?{provide:Wp,useValue:!0}:[],{provide:Zp,useValue:t??Rf}]}function mh(e){let n=e?.ignoreChangesOutsideZone,t=e?.scheduleInRootZone,r=hh({ngZoneFactory:()=>{let i=gh(e);return i.scheduleInRootZone=t,i.shouldCoalesceEventChangeDetection&&on("NgZone_CoalesceEvent"),new K(i)},ignoreChangesOutsideZone:n,scheduleInRootZone:t});return tn([{provide:Nb,useValue:!0},{provide:Lo,useValue:!1},r])}function gh(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}var Rb=(()=>{class e{constructor(){this.subscription=new ee,this.initialized=!1,this.zone=w(K),this.pendingTasks=w(nn)}initialize(){if(this.initialized)return;this.initialized=!0;let t=null;!this.zone.isStable&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(t=this.pendingTasks.add()),this.zone.runOutsideAngular(()=>{this.subscription.add(this.zone.onStable.subscribe(()=>{K.assertNotInAngularZone(),queueMicrotask(()=>{t!==null&&!this.zone.hasPendingMacrotasks&&!this.zone.hasPendingMicrotasks&&(this.pendingTasks.remove(t),t=null)})}))}),this.subscription.add(this.zone.onUnstable.subscribe(()=>{K.assertInAngularZone(),t??=this.pendingTasks.add()}))}ngOnDestroy(){this.subscription.unsubscribe()}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();var Ob=(()=>{class e{constructor(){this.appRef=w(lt),this.taskService=w(nn),this.ngZone=w(K),this.zonelessEnabled=w(Lo),this.disableScheduling=w(Wp,{optional:!0})??!1,this.zoneIsDefined=typeof Zone<"u"&&!!Zone.root.run,this.schedulerTickApplyArgs=[{data:{__scheduler_tick__:!0}}],this.subscriptions=new ee,this.angularZoneId=this.zoneIsDefined?this.ngZone._inner?.get(Ji):null,this.scheduleInRootZone=!this.zonelessEnabled&&this.zoneIsDefined&&(w(Zp,{optional:!0})??!1),this.cancelScheduledCallback=null,this.useMicrotaskScheduler=!1,this.runningTick=!1,this.pendingRenderTaskId=null,this.subscriptions.add(this.appRef.afterTick.subscribe(()=>{this.runningTick||this.cleanup()})),this.subscriptions.add(this.ngZone.onUnstable.subscribe(()=>{this.runningTick||this.cleanup()})),this.disableScheduling||=!this.zonelessEnabled&&(this.ngZone instanceof va||!this.zoneIsDefined)}notify(t){if(!this.zonelessEnabled&&t===5)return;switch(t){case 0:{this.appRef.dirtyFlags|=2;break}case 3:case 2:case 4:case 5:case 1:{this.appRef.dirtyFlags|=4;break}case 7:{this.appRef.deferredDirtyFlags|=8;break}case 9:case 8:case 6:case 10:default:this.appRef.dirtyFlags|=8}if(!this.shouldScheduleTick())return;let r=this.useMicrotaskScheduler?Yu:Pf;this.pendingRenderTaskId=this.taskService.add(),this.scheduleInRootZone?this.cancelScheduledCallback=Zone.root.run(()=>r(()=>this.tick())):this.cancelScheduledCallback=this.ngZone.runOutsideAngular(()=>r(()=>this.tick()))}shouldScheduleTick(){return!(this.disableScheduling||this.pendingRenderTaskId!==null||this.runningTick||this.appRef._runningTick||!this.zonelessEnabled&&this.zoneIsDefined&&Zone.current.get(Ji+this.angularZoneId))}tick(){if(this.runningTick||this.appRef.destroyed)return;!this.zonelessEnabled&&this.appRef.dirtyFlags&7&&(this.appRef.dirtyFlags|=1);let t=this.taskService.add();try{this.ngZone.run(()=>{this.runningTick=!0,this.appRef._tick()},void 0,this.schedulerTickApplyArgs)}catch(r){throw this.taskService.remove(t),r}finally{this.cleanup()}this.useMicrotaskScheduler=!0,Yu(()=>{this.useMicrotaskScheduler=!1,this.taskService.remove(t)})}ngOnDestroy(){this.subscriptions.unsubscribe(),this.cleanup()}cleanup(){if(this.runningTick=!1,this.cancelScheduledCallback?.(),this.cancelScheduledCallback=null,this.pendingRenderTaskId!==null){let t=this.pendingRenderTaskId;this.pendingRenderTaskId=null,this.taskService.remove(t)}}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function Pb(){return typeof $localize<"u"&&$localize.locale||co}var ql=new T("",{providedIn:"root",factory:()=>w(ql,P.Optional|P.SkipSelf)||Pb()});var Qa=new T("");function Ni(e){return!e.moduleRef}function Fb(e){let n=Ni(e)?e.r3Injector:e.moduleRef.injector,t=n.get(K);return t.run(()=>{Ni(e)?e.r3Injector.resolveInjectorInitializers():e.moduleRef.resolveInjectorInitializers();let r=n.get(mt,null),i;if(t.runOutsideAngular(()=>{i=t.onError.subscribe({next:o=>{r.handleError(o)}})}),Ni(e)){let o=()=>n.destroy(),s=e.platformInjector.get(Qa);s.add(o),n.onDestroy(()=>{i.unsubscribe(),s.delete(o)})}else{let o=()=>e.moduleRef.destroy(),s=e.platformInjector.get(Qa);s.add(o),e.moduleRef.onDestroy(()=>{Fi(e.allPlatformModules,e.moduleRef),i.unsubscribe(),s.delete(o)})}return Tb(r,t,()=>{let o=n.get(ph);return o.runInitializers(),o.donePromise.then(()=>{let s=n.get(ql,co);if(fb(s||co),Ni(e)){let a=n.get(lt);return e.rootComponent!==void 0&&a.bootstrap(e.rootComponent),a}else return Lb(e.moduleRef,e.allPlatformModules),e.moduleRef})})})}function Lb(e,n){let t=e.injector.get(lt);if(e._bootstrapComponents.length>0)e._bootstrapComponents.forEach(r=>t.bootstrap(r));else if(e.instance.ngDoBootstrap)e.instance.ngDoBootstrap(t);else throw new S(-403,!1);n.push(e)}var Li=null;function jb(e=[],n){return ht.create({name:n,providers:[{provide:vo,useValue:"platform"},{provide:Qa,useValue:new Set([()=>Li=null])},...e]})}function Bb(e=[]){if(Li)return Li;let n=jb(e);return Li=n,_b(),Vb(n),n}function Vb(e){e.get(bl,null)?.forEach(t=>t())}var Rr=(()=>{class e{static{this.__NG_ELEMENT_ID__=Ub}}return e})();function Ub(e){return $b(Te(),W(),(e&16)===16)}function $b(e,n,t){if(wr(e)&&!t){let r=Ot(e.index,n);return new Xt(r,r)}else if(e.type&175){let r=n[Me];return new Xt(r,n)}return null}var Ja=class{constructor(){}supports(n){return Kp(n)}create(n){return new Ka(n)}},Hb=(e,n)=>n,Ka=class{constructor(n){this.length=0,this._linkedRecords=null,this._unlinkedRecords=null,this._previousItHead=null,this._itHead=null,this._itTail=null,this._additionsHead=null,this._additionsTail=null,this._movesHead=null,this._movesTail=null,this._removalsHead=null,this._removalsTail=null,this._identityChangesHead=null,this._identityChangesTail=null,this._trackByFn=n||Hb}forEachItem(n){let t;for(t=this._itHead;t!==null;t=t._next)n(t)}forEachOperation(n){let t=this._itHead,r=this._removalsHead,i=0,o=null;for(;t||r;){let s=!r||t&&t.currentIndex<bd(r,i,o)?t:r,a=bd(s,i,o),l=s.currentIndex;if(s===r)i--,r=r._nextRemoved;else if(t=t._next,s.previousIndex==null)i++;else{o||(o=[]);let f=a-i,p=l-i;if(f!=p){for(let D=0;D<f;D++){let v=D<o.length?o[D]:o[D]=0,b=v+D;p<=b&&b<f&&(o[D]=v+1)}let h=s.previousIndex;o[h]=p-f}}a!==l&&n(s,a,l)}}forEachPreviousItem(n){let t;for(t=this._previousItHead;t!==null;t=t._nextPrevious)n(t)}forEachAddedItem(n){let t;for(t=this._additionsHead;t!==null;t=t._nextAdded)n(t)}forEachMovedItem(n){let t;for(t=this._movesHead;t!==null;t=t._nextMoved)n(t)}forEachRemovedItem(n){let t;for(t=this._removalsHead;t!==null;t=t._nextRemoved)n(t)}forEachIdentityChange(n){let t;for(t=this._identityChangesHead;t!==null;t=t._nextIdentityChange)n(t)}diff(n){if(n==null&&(n=[]),!Kp(n))throw new S(900,!1);return this.check(n)?this:null}onDestroy(){}check(n){this._reset();let t=this._itHead,r=!1,i,o,s;if(Array.isArray(n)){this.length=n.length;for(let a=0;a<this.length;a++)o=n[a],s=this._trackByFn(a,o),t===null||!Object.is(t.trackById,s)?(t=this._mismatch(t,o,s,a),r=!0):(r&&(t=this._verifyReinsertion(t,o,s,a)),Object.is(t.item,o)||this._addIdentityChange(t,o)),t=t._next}else i=0,ZD(n,a=>{s=this._trackByFn(i,a),t===null||!Object.is(t.trackById,s)?(t=this._mismatch(t,a,s,i),r=!0):(r&&(t=this._verifyReinsertion(t,a,s,i)),Object.is(t.item,a)||this._addIdentityChange(t,a)),t=t._next,i++}),this.length=i;return this._truncate(t),this.collection=n,this.isDirty}get isDirty(){return this._additionsHead!==null||this._movesHead!==null||this._removalsHead!==null||this._identityChangesHead!==null}_reset(){if(this.isDirty){let n;for(n=this._previousItHead=this._itHead;n!==null;n=n._next)n._nextPrevious=n._next;for(n=this._additionsHead;n!==null;n=n._nextAdded)n.previousIndex=n.currentIndex;for(this._additionsHead=this._additionsTail=null,n=this._movesHead;n!==null;n=n._nextMoved)n.previousIndex=n.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(n,t,r,i){let o;return n===null?o=this._itTail:(o=n._prev,this._remove(n)),n=this._unlinkedRecords===null?null:this._unlinkedRecords.get(r,null),n!==null?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._reinsertAfter(n,o,i)):(n=this._linkedRecords===null?null:this._linkedRecords.get(r,i),n!==null?(Object.is(n.item,t)||this._addIdentityChange(n,t),this._moveAfter(n,o,i)):n=this._addAfter(new Xa(t,r),o,i)),n}_verifyReinsertion(n,t,r,i){let o=this._unlinkedRecords===null?null:this._unlinkedRecords.get(r,null);return o!==null?n=this._reinsertAfter(o,n._prev,i):n.currentIndex!=i&&(n.currentIndex=i,this._addToMoves(n,i)),n}_truncate(n){for(;n!==null;){let t=n._next;this._addToRemovals(this._unlink(n)),n=t}this._unlinkedRecords!==null&&this._unlinkedRecords.clear(),this._additionsTail!==null&&(this._additionsTail._nextAdded=null),this._movesTail!==null&&(this._movesTail._nextMoved=null),this._itTail!==null&&(this._itTail._next=null),this._removalsTail!==null&&(this._removalsTail._nextRemoved=null),this._identityChangesTail!==null&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(n,t,r){this._unlinkedRecords!==null&&this._unlinkedRecords.remove(n);let i=n._prevRemoved,o=n._nextRemoved;return i===null?this._removalsHead=o:i._nextRemoved=o,o===null?this._removalsTail=i:o._prevRemoved=i,this._insertAfter(n,t,r),this._addToMoves(n,r),n}_moveAfter(n,t,r){return this._unlink(n),this._insertAfter(n,t,r),this._addToMoves(n,r),n}_addAfter(n,t,r){return this._insertAfter(n,t,r),this._additionsTail===null?this._additionsTail=this._additionsHead=n:this._additionsTail=this._additionsTail._nextAdded=n,n}_insertAfter(n,t,r){let i=t===null?this._itHead:t._next;return n._next=i,n._prev=t,i===null?this._itTail=n:i._prev=n,t===null?this._itHead=n:t._next=n,this._linkedRecords===null&&(this._linkedRecords=new uo),this._linkedRecords.put(n),n.currentIndex=r,n}_remove(n){return this._addToRemovals(this._unlink(n))}_unlink(n){this._linkedRecords!==null&&this._linkedRecords.remove(n);let t=n._prev,r=n._next;return t===null?this._itHead=r:t._next=r,r===null?this._itTail=t:r._prev=t,n}_addToMoves(n,t){return n.previousIndex===t||(this._movesTail===null?this._movesTail=this._movesHead=n:this._movesTail=this._movesTail._nextMoved=n),n}_addToRemovals(n){return this._unlinkedRecords===null&&(this._unlinkedRecords=new uo),this._unlinkedRecords.put(n),n.currentIndex=null,n._nextRemoved=null,this._removalsTail===null?(this._removalsTail=this._removalsHead=n,n._prevRemoved=null):(n._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=n),n}_addIdentityChange(n,t){return n.item=t,this._identityChangesTail===null?this._identityChangesTail=this._identityChangesHead=n:this._identityChangesTail=this._identityChangesTail._nextIdentityChange=n,n}},Xa=class{constructor(n,t){this.item=n,this.trackById=t,this.currentIndex=null,this.previousIndex=null,this._nextPrevious=null,this._prev=null,this._next=null,this._prevDup=null,this._nextDup=null,this._prevRemoved=null,this._nextRemoved=null,this._nextAdded=null,this._nextMoved=null,this._nextIdentityChange=null}},el=class{constructor(){this._head=null,this._tail=null}add(n){this._head===null?(this._head=this._tail=n,n._nextDup=null,n._prevDup=null):(this._tail._nextDup=n,n._prevDup=this._tail,n._nextDup=null,this._tail=n)}get(n,t){let r;for(r=this._head;r!==null;r=r._nextDup)if((t===null||t<=r.currentIndex)&&Object.is(r.trackById,n))return r;return null}remove(n){let t=n._prevDup,r=n._nextDup;return t===null?this._head=r:t._nextDup=r,r===null?this._tail=t:r._prevDup=t,this._head===null}},uo=class{constructor(){this.map=new Map}put(n){let t=n.trackById,r=this.map.get(t);r||(r=new el,this.map.set(t,r)),r.add(n)}get(n,t){let r=n,i=this.map.get(r);return i?i.get(n,t):null}remove(n){let t=n.trackById;return this.map.get(t).remove(n)&&this.map.delete(t),n}get isEmpty(){return this.map.size===0}clear(){this.map.clear()}};function bd(e,n,t){let r=e.previousIndex;if(r===null)return r;let i=0;return t&&r<t.length&&(i=t[r]),r+n+i}function wd(){return new Wl([new Ja])}var Wl=(()=>{class e{static{this.\u0275prov=_({token:e,providedIn:"root",factory:wd})}constructor(t){this.factories=t}static create(t,r){if(r!=null){let i=r.factories.slice();t=t.concat(i)}return new e(t)}static extend(t){return{provide:e,useFactory:r=>e.create(t,r||wd()),deps:[[e,new Od,new nl]]}}find(t){let r=this.factories.find(i=>i.supports(t));if(r!=null)return r;throw new S(901,!1)}}return e})();function vh(e){try{let{rootComponent:n,appProviders:t,platformProviders:r}=e,i=Bb(r),o=[hh({}),{provide:jn,useExisting:Ob},...t||[]],s=new ao({providers:o,parent:i,debugName:"",runEnvironmentInitializers:!1});return Fb({r3Injector:s.injector,platformInjector:i,rootComponent:n})}catch(n){return Promise.reject(n)}}var Ed=!1;function zb(){Ed||(Ed=!0,Sv(),ab(),vb(),ub(),XD(),WD(),MD(),Cy())}function Gb(e,n){return Bo(e)}function yh(){return tn([{provide:_i,useFactory:()=>{let e=!0;return Ai()&&(e=!!w(Hn,{optional:!0})?.get(Zf,null)),e&&on("NgHydration"),e}},{provide:Wt,useValue:()=>{bD(!1),Ai()&&w(_i)&&(qb(),zb())},multi:!0},{provide:Kf,useFactory:()=>Ai()&&w(_i)},{provide:qn,useFactory:()=>{if(Ai()&&w(_i)){let e=w(lt),n=w(ht);return()=>{Gb(e,n).then(()=>{ID(e)})}}return()=>{}},multi:!0}])}function qb(){let e=Mr(),n;for(let t of e.body.childNodes)if(t.nodeType===Node.COMMENT_NODE&&t.textContent?.trim()===Cv){n=t;break}if(!n)throw new S(-507,!1)}var Sh=null;function ln(){return Sh}function _h(e){Sh??=e}var Vo=class{};var be=new T(""),Mh=(()=>{class e{historyGo(t){throw new Error("")}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275prov=_({token:e,factory:()=>w(Jb),providedIn:"platform"})}}return e})();var Jb=(()=>{class e extends Mh{constructor(){super(),this._doc=w(be),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return ln().getBaseHref(this._doc)}onPopState(t){let r=ln().getGlobalEventTarget(this._doc,"window");return r.addEventListener("popstate",t,!1),()=>r.removeEventListener("popstate",t)}onHashChange(t){let r=ln().getGlobalEventTarget(this._doc,"window");return r.addEventListener("hashchange",t,!1),()=>r.removeEventListener("hashchange",t)}get href(){return this._location.href}get protocol(){return this._location.protocol}get hostname(){return this._location.hostname}get port(){return this._location.port}get pathname(){return this._location.pathname}get search(){return this._location.search}get hash(){return this._location.hash}set pathname(t){this._location.pathname=t}pushState(t,r,i){this._history.pushState(t,r,i)}replaceState(t,r,i){this._history.replaceState(t,r,i)}forward(){this._history.forward()}back(){this._history.back()}historyGo(t=0){this._history.go(t)}getState(){return this._history.state}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275prov=_({token:e,factory:()=>new e,providedIn:"platform"})}}return e})();function xh(e,n){if(e.length==0)return n;if(n.length==0)return e;let t=0;return e.endsWith("/")&&t++,n.startsWith("/")&&t++,t==2?e+n.substring(1):t==1?e+n:e+"/"+n}function Dh(e){let n=e.match(/#|\?|$/),t=n&&n.index||e.length,r=t-(e[t-1]==="/"?1:0);return e.slice(0,r)+e.slice(t)}function an(e){return e&&e[0]!=="?"?"?"+e:e}var $o=(()=>{class e{historyGo(t){throw new Error("")}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275prov=_({token:e,factory:()=>w(Th),providedIn:"root"})}}return e})(),Kb=new T(""),Th=(()=>{class e extends $o{constructor(t,r){super(),this._platformLocation=t,this._removeListenerFns=[],this._baseHref=r??this._platformLocation.getBaseHrefFromDOM()??w(be).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(t){this._removeListenerFns.push(this._platformLocation.onPopState(t),this._platformLocation.onHashChange(t))}getBaseHref(){return this._baseHref}prepareExternalUrl(t){return xh(this._baseHref,t)}path(t=!1){let r=this._platformLocation.pathname+an(this._platformLocation.search),i=this._platformLocation.hash;return i&&t?`${r}${i}`:r}pushState(t,r,i,o){let s=this.prepareExternalUrl(i+an(o));this._platformLocation.pushState(t,r,s)}replaceState(t,r,i,o){let s=this.prepareExternalUrl(i+an(o));this._platformLocation.replaceState(t,r,s)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(t=0){this._platformLocation.historyGo?.(t)}static{this.\u0275fac=function(r){return new(r||e)(F(Mh),F(Kb,8))}}static{this.\u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();var cn=(()=>{class e{constructor(t){this._subject=new ve,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=t;let r=this._locationStrategy.getBaseHref();this._basePath=tw(Dh(bh(r))),this._locationStrategy.onPopState(i=>{this._subject.emit({url:this.path(!0),pop:!0,state:i.state,type:i.type})})}ngOnDestroy(){this._urlChangeSubscription?.unsubscribe(),this._urlChangeListeners=[]}path(t=!1){return this.normalize(this._locationStrategy.path(t))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(t,r=""){return this.path()==this.normalize(t+an(r))}normalize(t){return e.stripTrailingSlash(ew(this._basePath,bh(t)))}prepareExternalUrl(t){return t&&t[0]!=="/"&&(t="/"+t),this._locationStrategy.prepareExternalUrl(t)}go(t,r="",i=null){this._locationStrategy.pushState(i,"",t,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+an(r)),i)}replaceState(t,r="",i=null){this._locationStrategy.replaceState(i,"",t,r),this._notifyUrlChangeListeners(this.prepareExternalUrl(t+an(r)),i)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(t=0){this._locationStrategy.historyGo?.(t)}onUrlChange(t){return this._urlChangeListeners.push(t),this._urlChangeSubscription??=this.subscribe(r=>{this._notifyUrlChangeListeners(r.url,r.state)}),()=>{let r=this._urlChangeListeners.indexOf(t);this._urlChangeListeners.splice(r,1),this._urlChangeListeners.length===0&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(t="",r){this._urlChangeListeners.forEach(i=>i(t,r))}subscribe(t,r,i){return this._subject.subscribe({next:t,error:r,complete:i})}static{this.normalizeQueryParams=an}static{this.joinWithSlash=xh}static{this.stripTrailingSlash=Dh}static{this.\u0275fac=function(r){return new(r||e)(F($o))}}static{this.\u0275prov=_({token:e,factory:()=>Xb(),providedIn:"root"})}}return e})();function Xb(){return new cn(F($o))}function ew(e,n){if(!e||!n.startsWith(e))return n;let t=n.substring(e.length);return t===""||["/",";","?","#"].includes(t[0])?t:n}function bh(e){return e.replace(/\/index.html$/,"")}function tw(e){if(new RegExp("^(https?:)?//").test(e)){let[,t]=e.split(/\/\/[^\/]+/);return t}return e}function Jl(e,n){n=encodeURIComponent(n);for(let t of e.split(";")){let r=t.indexOf("="),[i,o]=r==-1?[t,""]:[t.slice(0,r),t.slice(r+1)];if(i.trim()===n)return decodeURIComponent(o)}return null}var Zl=/\s+/,wh=[],Wn=(()=>{class e{constructor(t,r){this._ngEl=t,this._renderer=r,this.initialClasses=wh,this.stateMap=new Map}set klass(t){this.initialClasses=t!=null?t.trim().split(Zl):wh}set ngClass(t){this.rawClass=typeof t=="string"?t.trim().split(Zl):t}ngDoCheck(){for(let r of this.initialClasses)this._updateState(r,!0);let t=this.rawClass;if(Array.isArray(t)||t instanceof Set)for(let r of t)this._updateState(r,!0);else if(t!=null)for(let r of Object.keys(t))this._updateState(r,!!t[r]);this._applyStateDiff()}_updateState(t,r){let i=this.stateMap.get(t);i!==void 0?(i.enabled!==r&&(i.changed=!0,i.enabled=r),i.touched=!0):this.stateMap.set(t,{enabled:r,changed:!0,touched:!0})}_applyStateDiff(){for(let t of this.stateMap){let r=t[0],i=t[1];i.changed?(this._toggleClass(r,i.enabled),i.changed=!1):i.touched||(i.enabled&&this._toggleClass(r,!1),this.stateMap.delete(r)),i.touched=!1}}_toggleClass(t,r){t=t.trim(),t.length>0&&t.split(Zl).forEach(i=>{r?this._renderer.addClass(this._ngEl.nativeElement,i):this._renderer.removeClass(this._ngEl.nativeElement,i)})}static{this.\u0275fac=function(r){return new(r||e)(Z(_r),Z(zn))}}static{this.\u0275dir=Vn({type:e,selectors:[["","ngClass",""]],inputs:{klass:[0,"class","klass"],ngClass:"ngClass"},standalone:!0})}}return e})();var Yl=class{constructor(n,t,r,i){this.$implicit=n,this.ngForOf=t,this.index=r,this.count=i}get first(){return this.index===0}get last(){return this.index===this.count-1}get even(){return this.index%2===0}get odd(){return!this.even}},Ho=(()=>{class e{set ngForOf(t){this._ngForOf=t,this._ngForOfDirty=!0}set ngForTrackBy(t){this._trackByFn=t}get ngForTrackBy(){return this._trackByFn}constructor(t,r,i){this._viewContainer=t,this._template=r,this._differs=i,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(t){t&&(this._template=t)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;let t=this._ngForOf;if(!this._differ&&t)if(0)try{}catch{}else this._differ=this._differs.find(t).create(this.ngForTrackBy)}if(this._differ){let t=this._differ.diff(this._ngForOf);t&&this._applyChanges(t)}}_applyChanges(t){let r=this._viewContainer;t.forEachOperation((i,o,s)=>{if(i.previousIndex==null)r.createEmbeddedView(this._template,new Yl(i.item,this._ngForOf,-1,-1),s===null?void 0:s);else if(s==null)r.remove(o===null?void 0:o);else if(o!==null){let a=r.get(o);r.move(a,s),Eh(a,i)}});for(let i=0,o=r.length;i<o;i++){let a=r.get(i).context;a.index=i,a.count=o,a.ngForOf=this._ngForOf}t.forEachIdentityChange(i=>{let o=r.get(i.currentIndex);Eh(o,i)})}static ngTemplateContextGuard(t,r){return!0}static{this.\u0275fac=function(r){return new(r||e)(Z(Gn),Z(Oo),Z(Wl))}}static{this.\u0275dir=Vn({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0})}}return e})();function Eh(e,n){e.context.$implicit=n.item}var zo=(()=>{class e{constructor(t,r){this._viewContainer=t,this._context=new Ql,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=r}set ngIf(t){this._context.$implicit=this._context.ngIf=t,this._updateView()}set ngIfThen(t){Ch("ngIfThen",t),this._thenTemplateRef=t,this._thenViewRef=null,this._updateView()}set ngIfElse(t){Ch("ngIfElse",t),this._elseTemplateRef=t,this._elseViewRef=null,this._updateView()}_updateView(){this._context.$implicit?this._thenViewRef||(this._viewContainer.clear(),this._elseViewRef=null,this._thenTemplateRef&&(this._thenViewRef=this._viewContainer.createEmbeddedView(this._thenTemplateRef,this._context))):this._elseViewRef||(this._viewContainer.clear(),this._thenViewRef=null,this._elseTemplateRef&&(this._elseViewRef=this._viewContainer.createEmbeddedView(this._elseTemplateRef,this._context)))}static ngTemplateContextGuard(t,r){return!0}static{this.\u0275fac=function(r){return new(r||e)(Z(Gn),Z(Oo))}}static{this.\u0275dir=Vn({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0})}}return e})(),Ql=class{constructor(){this.$implicit=null,this.ngIf=null}};function Ch(e,n){if(!!!(!n||n.createEmbeddedView))throw new Error(`${e} must be a TemplateRef, but received '${Ee(n)}'.`)}var bt=(()=>{class e{static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275mod=go({type:e})}static{this.\u0275inj=po({})}}return e})(),Ah="browser",nw="server";function Or(e){return e===nw}var Uo=class{};var qo=class e{constructor(n){this.normalizedNames=new Map,this.lazyUpdate=null,n?typeof n=="string"?this.lazyInit=()=>{this.headers=new Map,n.split(`
`).forEach(t=>{let r=t.indexOf(":");if(r>0){let i=t.slice(0,r),o=i.toLowerCase(),s=t.slice(r+1).trim();this.maybeSetNormalizedName(i,o),this.headers.has(o)?this.headers.get(o).push(s):this.headers.set(o,[s])}})}:typeof Headers<"u"&&n instanceof Headers?(this.headers=new Map,n.forEach((t,r)=>{this.setHeaderEntries(r,t)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(n).forEach(([t,r])=>{this.setHeaderEntries(t,r)})}:this.headers=new Map}has(n){return this.init(),this.headers.has(n.toLowerCase())}get(n){this.init();let t=this.headers.get(n.toLowerCase());return t&&t.length>0?t[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(n){return this.init(),this.headers.get(n.toLowerCase())||null}append(n,t){return this.clone({name:n,value:t,op:"a"})}set(n,t){return this.clone({name:n,value:t,op:"s"})}delete(n,t){return this.clone({name:n,value:t,op:"d"})}maybeSetNormalizedName(n,t){this.normalizedNames.has(t)||this.normalizedNames.set(t,n)}init(){this.lazyInit&&(this.lazyInit instanceof e?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(n=>this.applyUpdate(n)),this.lazyUpdate=null))}copyFrom(n){n.init(),Array.from(n.headers.keys()).forEach(t=>{this.headers.set(t,n.headers.get(t)),this.normalizedNames.set(t,n.normalizedNames.get(t))})}clone(n){let t=new e;return t.lazyInit=this.lazyInit&&this.lazyInit instanceof e?this.lazyInit:this,t.lazyUpdate=(this.lazyUpdate||[]).concat([n]),t}applyUpdate(n){let t=n.name.toLowerCase();switch(n.op){case"a":case"s":let r=n.value;if(typeof r=="string"&&(r=[r]),r.length===0)return;this.maybeSetNormalizedName(n.name,t);let i=(n.op==="a"?this.headers.get(t):void 0)||[];i.push(...r),this.headers.set(t,i);break;case"d":let o=n.value;if(!o)this.headers.delete(t),this.normalizedNames.delete(t);else{let s=this.headers.get(t);if(!s)return;s=s.filter(a=>o.indexOf(a)===-1),s.length===0?(this.headers.delete(t),this.normalizedNames.delete(t)):this.headers.set(t,s)}break}}setHeaderEntries(n,t){let r=(Array.isArray(t)?t:[t]).map(o=>o.toString()),i=n.toLowerCase();this.headers.set(i,r),this.maybeSetNormalizedName(n,i)}forEach(n){this.init(),Array.from(this.normalizedNames.keys()).forEach(t=>n(this.normalizedNames.get(t),this.headers.get(t)))}};var jh=function(e){return e[e.Sent=0]="Sent",e[e.UploadProgress=1]="UploadProgress",e[e.ResponseHeader=2]="ResponseHeader",e[e.DownloadProgress=3]="DownloadProgress",e[e.Response=4]="Response",e[e.User=5]="User",e}(jh||{}),Xl=class{constructor(n,t=200,r="OK"){this.headers=n.headers||new qo,this.status=n.status!==void 0?n.status:t,this.statusText=n.statusText||r,this.url=n.url||null,this.ok=this.status>=200&&this.status<300}};var Wo=class e extends Xl{constructor(n={}){super(n),this.type=jh.Response,this.body=n.body!==void 0?n.body:null}clone(n={}){return new e({body:n.body!==void 0?n.body:this.body,headers:n.headers||this.headers,status:n.status!==void 0?n.status:this.status,statusText:n.statusText||this.statusText,url:n.url||this.url||void 0})}};var rw=new T("");var iw=new T(""),kh="b",Nh="h",Rh="s",Oh="st",Ph="u",Fh="rt",Go=new T(""),ow=["GET","HEAD"];function sw(e,n){let v=w(Go),{isCacheActive:t}=v,r=Kc(v,["isCacheActive"]),{transferCache:i,method:o}=e;if(!t||i===!1||o==="POST"&&!r.includePostRequests&&!i||o!=="POST"&&!ow.includes(o)||!r.includeRequestsWithAuthHeaders&&aw(e)||r.filter?.(e)===!1)return n(e);let s=w(Hn),a=w(iw,{optional:!0}),l=Or(w(ot));if(a&&!l)throw new S(2803,!1);let f=l&&a?dw(e.url,a):e.url,p=cw(e,f),h=s.get(p,null),D=r.includeHeaders;if(typeof i=="object"&&i.includeHeaders&&(D=i.includeHeaders),h){let{[kh]:b,[Fh]:M,[Nh]:B,[Rh]:O,[Oh]:J,[Ph]:de}=h,he=b;switch(M){case"arraybuffer":he=new TextEncoder().encode(b).buffer;break;case"blob":he=new Blob([b]);break}let St=new qo(B);return A(new Wo({body:he,headers:St,status:O,statusText:J,url:de}))}return n(e).pipe(ae(b=>{b instanceof Wo&&l&&s.set(p,{[kh]:b.body,[Nh]:lw(b.headers,D),[Rh]:b.status,[Oh]:b.statusText,[Ph]:f,[Fh]:e.responseType})}))}function aw(e){return e.headers.has("authorization")||e.headers.has("proxy-authorization")}function lw(e,n){if(!n)return{};let t={};for(let r of n){let i=e.getAll(r);i!==null&&(t[r]=i)}return t}function Lh(e){return[...e.keys()].sort().map(n=>`${n}=${e.getAll(n)}`).join("&")}function cw(e,n){let{params:t,method:r,responseType:i}=e,o=Lh(t),s=e.serializeBody();s instanceof URLSearchParams?s=Lh(s):typeof s!="string"&&(s="");let a=[r,i,n,s,o].join("|"),l=uw(a);return l}function uw(e){let n=0;for(let t of e)n=Math.imul(31,n)+t.charCodeAt(0)<<0;return n+=2147483648,n.toString()}function Bh(e){return[{provide:Go,useFactory:()=>(on("NgHttpTransferCache"),C({isCacheActive:!0},e))},{provide:rw,useValue:sw,multi:!0,deps:[Hn,Go]},{provide:qn,multi:!0,useFactory:()=>{let n=w(lt),t=w(Go);return()=>{Bo(n).then(()=>{t.isCacheActive=!1})}}}]}function dw(e,n){let t=new URL(e,"resolve://").origin,r=n[t];return r?e.replace(t,r):e}var nc=class extends Vo{constructor(){super(...arguments),this.supportsDOMEvents=!0}},rc=class e extends nc{static makeCurrent(){_h(new e)}onAndCancel(n,t,r){return n.addEventListener(t,r),()=>{n.removeEventListener(t,r)}}dispatchEvent(n,t){n.dispatchEvent(t)}remove(n){n.remove()}createElement(n,t){return t=t||this.getDefaultDocument(),t.createElement(n)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(n){return n.nodeType===Node.ELEMENT_NODE}isShadowRoot(n){return n instanceof DocumentFragment}getGlobalEventTarget(n,t){return t==="window"?window:t==="document"?n:t==="body"?n.body:null}getBaseHref(n){let t=fw();return t==null?null:pw(t)}resetBaseElement(){Pr=null}getUserAgent(){return window.navigator.userAgent}getCookie(n){return Jl(document.cookie,n)}},Pr=null;function fw(){return Pr=Pr||document.querySelector("base"),Pr?Pr.getAttribute("href"):null}function pw(e){return new URL(e,document.baseURI).pathname}var hw=(()=>{class e{build(){return new XMLHttpRequest}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275prov=_({token:e,factory:e.\u0275fac})}}return e})(),ic=new T(""),Hh=(()=>{class e{constructor(t,r){this._zone=r,this._eventNameToPlugin=new Map,t.forEach(i=>{i.manager=this}),this._plugins=t.slice().reverse()}addEventListener(t,r,i){return this._findPluginFor(r).addEventListener(t,r,i)}getZone(){return this._zone}_findPluginFor(t){let r=this._eventNameToPlugin.get(t);if(r)return r;if(r=this._plugins.find(o=>o.supports(t)),!r)throw new S(5101,!1);return this._eventNameToPlugin.set(t,r),r}static{this.\u0275fac=function(r){return new(r||e)(F(ic),F(K))}}static{this.\u0275prov=_({token:e,factory:e.\u0275fac})}}return e})(),Zo=class{constructor(n){this._doc=n}},ec="ng-app-id",zh=(()=>{class e{constructor(t,r,i,o={}){this.doc=t,this.appId=r,this.nonce=i,this.platformId=o,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=Or(o),this.resetHostNodes()}addStyles(t){for(let r of t)this.changeUsageCount(r,1)===1&&this.onStyleAdded(r)}removeStyles(t){for(let r of t)this.changeUsageCount(r,-1)<=0&&this.onStyleRemoved(r)}ngOnDestroy(){let t=this.styleNodesInDOM;t&&(t.forEach(r=>r.remove()),t.clear());for(let r of this.getAllStyles())this.onStyleRemoved(r);this.resetHostNodes()}addHost(t){this.hostNodes.add(t);for(let r of this.getAllStyles())this.addStyleToHost(t,r)}removeHost(t){this.hostNodes.delete(t)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(t){for(let r of this.hostNodes)this.addStyleToHost(r,t)}onStyleRemoved(t){let r=this.styleRef;r.get(t)?.elements?.forEach(i=>i.remove()),r.delete(t)}collectServerRenderedStyles(){let t=this.doc.head?.querySelectorAll(`style[${ec}="${this.appId}"]`);if(t?.length){let r=new Map;return t.forEach(i=>{i.textContent!=null&&r.set(i.textContent,i)}),r}return null}changeUsageCount(t,r){let i=this.styleRef;if(i.has(t)){let o=i.get(t);return o.usage+=r,o.usage}return i.set(t,{usage:r,elements:[]}),r}getStyleElement(t,r){let i=this.styleNodesInDOM,o=i?.get(r);if(o?.parentNode===t)return i.delete(r),o.removeAttribute(ec),o;{let s=this.doc.createElement("style");return this.nonce&&s.setAttribute("nonce",this.nonce),s.textContent=r,this.platformIsServer&&s.setAttribute(ec,this.appId),t.appendChild(s),s}}addStyleToHost(t,r){let i=this.getStyleElement(t,r),o=this.styleRef,s=o.get(r)?.elements;s?s.push(i):o.set(r,{elements:[i],usage:1})}resetHostNodes(){let t=this.hostNodes;t.clear(),t.add(this.doc.head)}static{this.\u0275fac=function(r){return new(r||e)(F(be),F(So),F(wl,8),F(ot))}}static{this.\u0275prov=_({token:e,factory:e.\u0275fac})}}return e})(),tc={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"},ac=/%COMP%/g,Gh="%COMP%",mw=`_nghost-${Gh}`,gw=`_ngcontent-${Gh}`,vw=!0,yw=new T("",{providedIn:"root",factory:()=>vw});function Dw(e){return gw.replace(ac,e)}function bw(e){return mw.replace(ac,e)}function qh(e,n){return n.map(t=>t.replace(ac,e))}var Vh=(()=>{class e{constructor(t,r,i,o,s,a,l,f=null){this.eventManager=t,this.sharedStylesHost=r,this.appId=i,this.removeStylesOnCompDestroy=o,this.doc=s,this.platformId=a,this.ngZone=l,this.nonce=f,this.rendererByCompId=new Map,this.platformIsServer=Or(a),this.defaultRenderer=new Fr(t,s,l,this.platformIsServer)}createRenderer(t,r){if(!t||!r)return this.defaultRenderer;this.platformIsServer&&r.encapsulation===tt.ShadowDom&&(r=Q(C({},r),{encapsulation:tt.Emulated}));let i=this.getOrCreateRenderer(t,r);return i instanceof Yo?i.applyToHost(t):i instanceof Lr&&i.applyStyles(),i}getOrCreateRenderer(t,r){let i=this.rendererByCompId,o=i.get(r.id);if(!o){let s=this.doc,a=this.ngZone,l=this.eventManager,f=this.sharedStylesHost,p=this.removeStylesOnCompDestroy,h=this.platformIsServer;switch(r.encapsulation){case tt.Emulated:o=new Yo(l,f,r,this.appId,p,s,a,h);break;case tt.ShadowDom:return new oc(l,f,t,r,s,a,this.nonce,h);default:o=new Lr(l,f,r,p,s,a,h);break}i.set(r.id,o)}return o}ngOnDestroy(){this.rendererByCompId.clear()}static{this.\u0275fac=function(r){return new(r||e)(F(Hh),F(zh),F(So),F(yw),F(be),F(ot),F(K),F(wl))}}static{this.\u0275prov=_({token:e,factory:e.\u0275fac})}}return e})(),Fr=class{constructor(n,t,r,i){this.eventManager=n,this.doc=t,this.ngZone=r,this.platformIsServer=i,this.data=Object.create(null),this.throwOnSyntheticProps=!0,this.destroyNode=null}destroy(){}createElement(n,t){return t?this.doc.createElementNS(tc[t]||t,n):this.doc.createElement(n)}createComment(n){return this.doc.createComment(n)}createText(n){return this.doc.createTextNode(n)}appendChild(n,t){(Uh(n)?n.content:n).appendChild(t)}insertBefore(n,t,r){n&&(Uh(n)?n.content:n).insertBefore(t,r)}removeChild(n,t){t.remove()}selectRootElement(n,t){let r=typeof n=="string"?this.doc.querySelector(n):n;if(!r)throw new S(-5104,!1);return t||(r.textContent=""),r}parentNode(n){return n.parentNode}nextSibling(n){return n.nextSibling}setAttribute(n,t,r,i){if(i){t=i+":"+t;let o=tc[i];o?n.setAttributeNS(o,t,r):n.setAttribute(t,r)}else n.setAttribute(t,r)}removeAttribute(n,t,r){if(r){let i=tc[r];i?n.removeAttributeNS(i,t):n.removeAttribute(`${r}:${t}`)}else n.removeAttribute(t)}addClass(n,t){n.classList.add(t)}removeClass(n,t){n.classList.remove(t)}setStyle(n,t,r,i){i&(rn.DashCase|rn.Important)?n.style.setProperty(t,r,i&rn.Important?"important":""):n.style[t]=r}removeStyle(n,t,r){r&rn.DashCase?n.style.removeProperty(t):n.style[t]=""}setProperty(n,t,r){n!=null&&(n[t]=r)}setValue(n,t){n.nodeValue=t}listen(n,t,r){if(typeof n=="string"&&(n=ln().getGlobalEventTarget(this.doc,n),!n))throw new Error(`Unsupported event target ${n} for event ${t}`);return this.eventManager.addEventListener(n,t,this.decoratePreventDefault(r))}decoratePreventDefault(n){return t=>{if(t==="__ngUnwrap__")return n;(this.platformIsServer?this.ngZone.runGuarded(()=>n(t)):n(t))===!1&&t.preventDefault()}}};function Uh(e){return e.tagName==="TEMPLATE"&&e.content!==void 0}var oc=class extends Fr{constructor(n,t,r,i,o,s,a,l){super(n,o,s,l),this.sharedStylesHost=t,this.hostEl=r,this.shadowRoot=r.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);let f=qh(i.id,i.styles);for(let p of f){let h=document.createElement("style");a&&h.setAttribute("nonce",a),h.textContent=p,this.shadowRoot.appendChild(h)}}nodeOrShadowRoot(n){return n===this.hostEl?this.shadowRoot:n}appendChild(n,t){return super.appendChild(this.nodeOrShadowRoot(n),t)}insertBefore(n,t,r){return super.insertBefore(this.nodeOrShadowRoot(n),t,r)}removeChild(n,t){return super.removeChild(null,t)}parentNode(n){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(n)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}},Lr=class extends Fr{constructor(n,t,r,i,o,s,a,l){super(n,o,s,a),this.sharedStylesHost=t,this.removeStylesOnCompDestroy=i,this.styles=l?qh(l,r.styles):r.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}},Yo=class extends Lr{constructor(n,t,r,i,o,s,a,l){let f=i+"-"+r.id;super(n,t,r,o,s,a,l,f),this.contentAttr=Dw(f),this.hostAttr=bw(f)}applyToHost(n){this.applyStyles(),this.setAttribute(n,this.hostAttr,"")}createElement(n,t){let r=super.createElement(n,t);return super.setAttribute(r,this.contentAttr,""),r}},ww=(()=>{class e extends Zo{constructor(t){super(t)}supports(t){return!0}addEventListener(t,r,i){return t.addEventListener(r,i,!1),()=>this.removeEventListener(t,r,i)}removeEventListener(t,r,i){return t.removeEventListener(r,i)}static{this.\u0275fac=function(r){return new(r||e)(F(be))}}static{this.\u0275prov=_({token:e,factory:e.\u0275fac})}}return e})(),$h=["alt","control","meta","shift"],Ew={"\b":"Backspace"," ":"Tab","\x7F":"Delete","\x1B":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},Cw={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey},Iw=(()=>{class e extends Zo{constructor(t){super(t)}supports(t){return e.parseEventName(t)!=null}addEventListener(t,r,i){let o=e.parseEventName(r),s=e.eventCallback(o.fullKey,i,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ln().onAndCancel(t,o.domEventName,s))}static parseEventName(t){let r=t.toLowerCase().split("."),i=r.shift();if(r.length===0||!(i==="keydown"||i==="keyup"))return null;let o=e._normalizeKey(r.pop()),s="",a=r.indexOf("code");if(a>-1&&(r.splice(a,1),s="code."),$h.forEach(f=>{let p=r.indexOf(f);p>-1&&(r.splice(p,1),s+=f+".")}),s+=o,r.length!=0||o.length===0)return null;let l={};return l.domEventName=i,l.fullKey=s,l}static matchEventFullKeyCode(t,r){let i=Ew[t.key]||t.key,o="";return r.indexOf("code.")>-1&&(i=t.code,o="code."),i==null||!i?!1:(i=i.toLowerCase(),i===" "?i="space":i==="."&&(i="dot"),$h.forEach(s=>{if(s!==i){let a=Cw[s];a(t)&&(o+=s+".")}}),o+=i,o===r)}static eventCallback(t,r,i){return o=>{e.matchEventFullKeyCode(o,t)&&i.runGuarded(()=>r(o))}}static _normalizeKey(t){return t==="esc"?"escape":t}static{this.\u0275fac=function(r){return new(r||e)(F(be))}}static{this.\u0275prov=_({token:e,factory:e.\u0275fac})}}return e})();function Wh(e,n){return vh(C({rootComponent:e},Sw(n)))}function Sw(e){return{appProviders:[...Aw,...e?.providers??[]],platformProviders:Tw}}function _w(){rc.makeCurrent()}function Mw(){return new mt}function xw(){return Hf(document),document}var Tw=[{provide:ot,useValue:Ah},{provide:bl,useValue:_w,multi:!0},{provide:be,useFactory:xw,deps:[]}];var Aw=[{provide:vo,useValue:"root"},{provide:mt,useFactory:Mw,deps:[]},{provide:ic,useClass:ww,multi:!0,deps:[be,K,ot]},{provide:ic,useClass:Iw,multi:!0,deps:[be]},Vh,zh,Hh,{provide:Nt,useExisting:Vh},{provide:Uo,useClass:hw,deps:[]},[]];var Zh=(()=>{class e{constructor(t){this._doc=t,this._dom=ln()}addTag(t,r=!1){return t?this._getOrCreateElement(t,r):null}addTags(t,r=!1){return t?t.reduce((i,o)=>(o&&i.push(this._getOrCreateElement(o,r)),i),[]):[]}getTag(t){return t&&this._doc.querySelector(`meta[${t}]`)||null}getTags(t){if(!t)return[];let r=this._doc.querySelectorAll(`meta[${t}]`);return r?[].slice.call(r):[]}updateTag(t,r){if(!t)return null;r=r||this._parseSelector(t);let i=this.getTag(r);return i?this._setMetaElementAttributes(t,i):this._getOrCreateElement(t,!0)}removeTag(t){this.removeTagElement(this.getTag(t))}removeTagElement(t){t&&this._dom.remove(t)}_getOrCreateElement(t,r=!1){if(!r){let s=this._parseSelector(t),a=this.getTags(s).filter(l=>this._containsAttributes(t,l))[0];if(a!==void 0)return a}let i=this._dom.createElement("meta");return this._setMetaElementAttributes(t,i),this._doc.getElementsByTagName("head")[0].appendChild(i),i}_setMetaElementAttributes(t,r){return Object.keys(t).forEach(i=>r.setAttribute(this._getMetaKeyMap(i),t[i])),r}_parseSelector(t){let r=t.name?"name":"property";return`${r}="${t[r]}"`}_containsAttributes(t,r){return Object.keys(t).every(i=>r.getAttribute(this._getMetaKeyMap(i))===t[i])}_getMetaKeyMap(t){return kw[t]||t}static{this.\u0275fac=function(r){return new(r||e)(F(be))}}static{this.\u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),kw={httpEquiv:"http-equiv"},Qo=(()=>{class e{constructor(t){this._doc=t}getTitle(){return this._doc.title}setTitle(t){this._doc.title=t||""}static{this.\u0275fac=function(r){return new(r||e)(F(be))}}static{this.\u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();var lc=(()=>{class e{static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275prov=_({token:e,factory:function(r){let i=null;return r?i=new(r||e):i=F(Nw),i},providedIn:"root"})}}return e})(),Nw=(()=>{class e extends lc{constructor(t){super(),this._doc=t}sanitize(t,r){if(r==null)return null;switch(t){case Je.NONE:return r;case Je.HTML:return vt(r,"HTML")?st(r):Sl(this._doc,String(r)).toString();case Je.STYLE:return vt(r,"Style")?st(r):r;case Je.SCRIPT:if(vt(r,"Script"))return st(r);throw new S(5200,!1);case Je.URL:return vt(r,"URL")?st(r):xo(String(r));case Je.RESOURCE_URL:if(vt(r,"ResourceURL"))return st(r);throw new S(5201,!1);default:throw new S(5202,!1)}}bypassSecurityTrustHtml(t){return tp(t)}bypassSecurityTrustStyle(t){return np(t)}bypassSecurityTrustScript(t){return rp(t)}bypassSecurityTrustUrl(t){return ip(t)}bypassSecurityTrustResourceUrl(t){return op(t)}static{this.\u0275fac=function(r){return new(r||e)(F(be))}}static{this.\u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),sc=function(e){return e[e.NoHttpTransferCache=0]="NoHttpTransferCache",e[e.HttpTransferCacheOptions=1]="HttpTransferCacheOptions",e[e.I18nSupport=2]="I18nSupport",e[e.EventReplay=3]="EventReplay",e}(sc||{});function Yh(...e){let n=[],t=new Set,r=t.has(sc.HttpTransferCacheOptions);for(let{\u0275providers:i,\u0275kind:o}of e)t.add(o),i.length&&n.push(i);return tn([[],yh(),t.has(sc.NoHttpTransferCache)||r?[]:Bh({}),n])}var R="primary",ei=Symbol("RouteTitle"),pc=class{constructor(n){this.params=n||{}}has(n){return Object.prototype.hasOwnProperty.call(this.params,n)}get(n){if(this.has(n)){let t=this.params[n];return Array.isArray(t)?t[0]:t}return null}getAll(n){if(this.has(n)){let t=this.params[n];return Array.isArray(t)?t:[t]}return[]}get keys(){return Object.keys(this.params)}};function Xn(e){return new pc(e)}function Rw(e,n,t){let r=t.path.split("/");if(r.length>e.length||t.pathMatch==="full"&&(n.hasChildren()||r.length<e.length))return null;let i={};for(let o=0;o<r.length;o++){let s=r[o],a=e[o];if(s[0]===":")i[s.substring(1)]=a;else if(s!==a.path)return null}return{consumed:e.slice(0,r.length),posParams:i}}function Ow(e,n){if(e.length!==n.length)return!1;for(let t=0;t<e.length;++t)if(!ct(e[t],n[t]))return!1;return!0}function ct(e,n){let t=e?hc(e):void 0,r=n?hc(n):void 0;if(!t||!r||t.length!=r.length)return!1;let i;for(let o=0;o<t.length;o++)if(i=t[o],!im(e[i],n[i]))return!1;return!0}function hc(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e)]}function im(e,n){if(Array.isArray(e)&&Array.isArray(n)){if(e.length!==n.length)return!1;let t=[...e].sort(),r=[...n].sort();return t.every((i,o)=>r[o]===i)}else return e===n}function om(e){return e.length>0?e[e.length-1]:null}function Bt(e){return Os(e)?e:Nr(e)?te(Promise.resolve(e)):A(e)}var Pw={exact:am,subset:lm},sm={exact:Fw,subset:Lw,ignored:()=>!0};function Jh(e,n,t){return Pw[t.paths](e.root,n.root,t.matrixParams)&&sm[t.queryParams](e.queryParams,n.queryParams)&&!(t.fragment==="exact"&&e.fragment!==n.fragment)}function Fw(e,n){return ct(e,n)}function am(e,n,t){if(!dn(e.segments,n.segments)||!Xo(e.segments,n.segments,t)||e.numberOfChildren!==n.numberOfChildren)return!1;for(let r in n.children)if(!e.children[r]||!am(e.children[r],n.children[r],t))return!1;return!0}function Lw(e,n){return Object.keys(n).length<=Object.keys(e).length&&Object.keys(n).every(t=>im(e[t],n[t]))}function lm(e,n,t){return cm(e,n,n.segments,t)}function cm(e,n,t,r){if(e.segments.length>t.length){let i=e.segments.slice(0,t.length);return!(!dn(i,t)||n.hasChildren()||!Xo(i,t,r))}else if(e.segments.length===t.length){if(!dn(e.segments,t)||!Xo(e.segments,t,r))return!1;for(let i in n.children)if(!e.children[i]||!lm(e.children[i],n.children[i],r))return!1;return!0}else{let i=t.slice(0,e.segments.length),o=t.slice(e.segments.length);return!dn(e.segments,i)||!Xo(e.segments,i,r)||!e.children[R]?!1:cm(e.children[R],n,o,r)}}function Xo(e,n,t){return n.every((r,i)=>sm[t](e[i].parameters,r.parameters))}var Et=class{constructor(n=new G([],{}),t={},r=null){this.root=n,this.queryParams=t,this.fragment=r}get queryParamMap(){return this._queryParamMap??=Xn(this.queryParams),this._queryParamMap}toString(){return Vw.serialize(this)}},G=class{constructor(n,t){this.segments=n,this.children=t,this.parent=null,Object.values(t).forEach(r=>r.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return es(this)}},un=class{constructor(n,t){this.path=n,this.parameters=t}get parameterMap(){return this._parameterMap??=Xn(this.parameters),this._parameterMap}toString(){return dm(this)}};function jw(e,n){return dn(e,n)&&e.every((t,r)=>ct(t.parameters,n[r].parameters))}function dn(e,n){return e.length!==n.length?!1:e.every((t,r)=>t.path===n[r].path)}function Bw(e,n){let t=[];return Object.entries(e.children).forEach(([r,i])=>{r===R&&(t=t.concat(n(i,r)))}),Object.entries(e.children).forEach(([r,i])=>{r!==R&&(t=t.concat(n(i,r)))}),t}var Vc=(()=>{class e{static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275prov=_({token:e,factory:()=>new zr,providedIn:"root"})}}return e})(),zr=class{parse(n){let t=new gc(n);return new Et(t.parseRootSegment(),t.parseQueryParams(),t.parseFragment())}serialize(n){let t=`/${jr(n.root,!0)}`,r=Hw(n.queryParams),i=typeof n.fragment=="string"?`#${Uw(n.fragment)}`:"";return`${t}${r}${i}`}},Vw=new zr;function es(e){return e.segments.map(n=>dm(n)).join("/")}function jr(e,n){if(!e.hasChildren())return es(e);if(n){let t=e.children[R]?jr(e.children[R],!1):"",r=[];return Object.entries(e.children).forEach(([i,o])=>{i!==R&&r.push(`${i}:${jr(o,!1)}`)}),r.length>0?`${t}(${r.join("//")})`:t}else{let t=Bw(e,(r,i)=>i===R?[jr(e.children[R],!1)]:[`${i}:${jr(r,!1)}`]);return Object.keys(e.children).length===1&&e.children[R]!=null?`${es(e)}/${t[0]}`:`${es(e)}/(${t.join("//")})`}}function um(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Jo(e){return um(e).replace(/%3B/gi,";")}function Uw(e){return encodeURI(e)}function mc(e){return um(e).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function ts(e){return decodeURIComponent(e)}function Kh(e){return ts(e.replace(/\+/g,"%20"))}function dm(e){return`${mc(e.path)}${$w(e.parameters)}`}function $w(e){return Object.entries(e).map(([n,t])=>`;${mc(n)}=${mc(t)}`).join("")}function Hw(e){let n=Object.entries(e).map(([t,r])=>Array.isArray(r)?r.map(i=>`${Jo(t)}=${Jo(i)}`).join("&"):`${Jo(t)}=${Jo(r)}`).filter(t=>t);return n.length?`?${n.join("&")}`:""}var zw=/^[^\/()?;#]+/;function cc(e){let n=e.match(zw);return n?n[0]:""}var Gw=/^[^\/()?;=#]+/;function qw(e){let n=e.match(Gw);return n?n[0]:""}var Ww=/^[^=?&#]+/;function Zw(e){let n=e.match(Ww);return n?n[0]:""}var Yw=/^[^&#]+/;function Qw(e){let n=e.match(Yw);return n?n[0]:""}var gc=class{constructor(n){this.url=n,this.remaining=n}parseRootSegment(){return this.consumeOptional("/"),this.remaining===""||this.peekStartsWith("?")||this.peekStartsWith("#")?new G([],{}):new G([],this.parseChildren())}parseQueryParams(){let n={};if(this.consumeOptional("?"))do this.parseQueryParam(n);while(this.consumeOptional("&"));return n}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(this.remaining==="")return{};this.consumeOptional("/");let n=[];for(this.peekStartsWith("(")||n.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),n.push(this.parseSegment());let t={};this.peekStartsWith("/(")&&(this.capture("/"),t=this.parseParens(!0));let r={};return this.peekStartsWith("(")&&(r=this.parseParens(!1)),(n.length>0||Object.keys(t).length>0)&&(r[R]=new G(n,t)),r}parseSegment(){let n=cc(this.remaining);if(n===""&&this.peekStartsWith(";"))throw new S(4009,!1);return this.capture(n),new un(ts(n),this.parseMatrixParams())}parseMatrixParams(){let n={};for(;this.consumeOptional(";");)this.parseParam(n);return n}parseParam(n){let t=qw(this.remaining);if(!t)return;this.capture(t);let r="";if(this.consumeOptional("=")){let i=cc(this.remaining);i&&(r=i,this.capture(r))}n[ts(t)]=ts(r)}parseQueryParam(n){let t=Zw(this.remaining);if(!t)return;this.capture(t);let r="";if(this.consumeOptional("=")){let s=Qw(this.remaining);s&&(r=s,this.capture(r))}let i=Kh(t),o=Kh(r);if(n.hasOwnProperty(i)){let s=n[i];Array.isArray(s)||(s=[s],n[i]=s),s.push(o)}else n[i]=o}parseParens(n){let t={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){let r=cc(this.remaining),i=this.remaining[r.length];if(i!=="/"&&i!==")"&&i!==";")throw new S(4010,!1);let o;r.indexOf(":")>-1?(o=r.slice(0,r.indexOf(":")),this.capture(o),this.capture(":")):n&&(o=R);let s=this.parseChildren();t[o]=Object.keys(s).length===1?s[R]:new G([],s),this.consumeOptional("//")}return t}peekStartsWith(n){return this.remaining.startsWith(n)}consumeOptional(n){return this.peekStartsWith(n)?(this.remaining=this.remaining.substring(n.length),!0):!1}capture(n){if(!this.consumeOptional(n))throw new S(4011,!1)}};function fm(e){return e.segments.length>0?new G([],{[R]:e}):e}function pm(e){let n={};for(let[r,i]of Object.entries(e.children)){let o=pm(i);if(r===R&&o.segments.length===0&&o.hasChildren())for(let[s,a]of Object.entries(o.children))n[s]=a;else(o.segments.length>0||o.hasChildren())&&(n[r]=o)}let t=new G(e.segments,n);return Jw(t)}function Jw(e){if(e.numberOfChildren===1&&e.children[R]){let n=e.children[R];return new G(e.segments.concat(n.segments),n.children)}return e}function Gr(e){return e instanceof Et}function Kw(e,n,t=null,r=null){let i=hm(e);return mm(i,n,t,r)}function hm(e){let n;function t(o){let s={};for(let l of o.children){let f=t(l);s[l.outlet]=f}let a=new G(o.url,s);return o===e&&(n=a),a}let r=t(e.root),i=fm(r);return n??i}function mm(e,n,t,r){let i=e;for(;i.parent;)i=i.parent;if(n.length===0)return uc(i,i,i,t,r);let o=Xw(n);if(o.toRoot())return uc(i,i,new G([],{}),t,r);let s=eE(o,i,e),a=s.processChildren?Ur(s.segmentGroup,s.index,o.commands):vm(s.segmentGroup,s.index,o.commands);return uc(i,s.segmentGroup,a,t,r)}function ns(e){return typeof e=="object"&&e!=null&&!e.outlets&&!e.segmentPath}function qr(e){return typeof e=="object"&&e!=null&&e.outlets}function uc(e,n,t,r,i){let o={};r&&Object.entries(r).forEach(([l,f])=>{o[l]=Array.isArray(f)?f.map(p=>`${p}`):`${f}`});let s;e===n?s=t:s=gm(e,n,t);let a=fm(pm(s));return new Et(a,o,i)}function gm(e,n,t){let r={};return Object.entries(e.children).forEach(([i,o])=>{o===n?r[i]=t:r[i]=gm(o,n,t)}),new G(e.segments,r)}var rs=class{constructor(n,t,r){if(this.isAbsolute=n,this.numberOfDoubleDots=t,this.commands=r,n&&r.length>0&&ns(r[0]))throw new S(4003,!1);let i=r.find(qr);if(i&&i!==om(r))throw new S(4004,!1)}toRoot(){return this.isAbsolute&&this.commands.length===1&&this.commands[0]=="/"}};function Xw(e){if(typeof e[0]=="string"&&e.length===1&&e[0]==="/")return new rs(!0,0,e);let n=0,t=!1,r=e.reduce((i,o,s)=>{if(typeof o=="object"&&o!=null){if(o.outlets){let a={};return Object.entries(o.outlets).forEach(([l,f])=>{a[l]=typeof f=="string"?f.split("/"):f}),[...i,{outlets:a}]}if(o.segmentPath)return[...i,o.segmentPath]}return typeof o!="string"?[...i,o]:s===0?(o.split("/").forEach((a,l)=>{l==0&&a==="."||(l==0&&a===""?t=!0:a===".."?n++:a!=""&&i.push(a))}),i):[...i,o]},[]);return new rs(t,n,r)}var Qn=class{constructor(n,t,r){this.segmentGroup=n,this.processChildren=t,this.index=r}};function eE(e,n,t){if(e.isAbsolute)return new Qn(n,!0,0);if(!t)return new Qn(n,!1,NaN);if(t.parent===null)return new Qn(t,!0,0);let r=ns(e.commands[0])?0:1,i=t.segments.length-1+r;return tE(t,i,e.numberOfDoubleDots)}function tE(e,n,t){let r=e,i=n,o=t;for(;o>i;){if(o-=i,r=r.parent,!r)throw new S(4005,!1);i=r.segments.length}return new Qn(r,!1,i-o)}function nE(e){return qr(e[0])?e[0].outlets:{[R]:e}}function vm(e,n,t){if(e??=new G([],{}),e.segments.length===0&&e.hasChildren())return Ur(e,n,t);let r=rE(e,n,t),i=t.slice(r.commandIndex);if(r.match&&r.pathIndex<e.segments.length){let o=new G(e.segments.slice(0,r.pathIndex),{});return o.children[R]=new G(e.segments.slice(r.pathIndex),e.children),Ur(o,0,i)}else return r.match&&i.length===0?new G(e.segments,{}):r.match&&!e.hasChildren()?vc(e,n,t):r.match?Ur(e,0,i):vc(e,n,t)}function Ur(e,n,t){if(t.length===0)return new G(e.segments,{});{let r=nE(t),i={};if(Object.keys(r).some(o=>o!==R)&&e.children[R]&&e.numberOfChildren===1&&e.children[R].segments.length===0){let o=Ur(e.children[R],n,t);return new G(e.segments,o.children)}return Object.entries(r).forEach(([o,s])=>{typeof s=="string"&&(s=[s]),s!==null&&(i[o]=vm(e.children[o],n,s))}),Object.entries(e.children).forEach(([o,s])=>{r[o]===void 0&&(i[o]=s)}),new G(e.segments,i)}}function rE(e,n,t){let r=0,i=n,o={match:!1,pathIndex:0,commandIndex:0};for(;i<e.segments.length;){if(r>=t.length)return o;let s=e.segments[i],a=t[r];if(qr(a))break;let l=`${a}`,f=r<t.length-1?t[r+1]:null;if(i>0&&l===void 0)break;if(l&&f&&typeof f=="object"&&f.outlets===void 0){if(!em(l,f,s))return o;r+=2}else{if(!em(l,{},s))return o;r++}i++}return{match:!0,pathIndex:i,commandIndex:r}}function vc(e,n,t){let r=e.segments.slice(0,n),i=0;for(;i<t.length;){let o=t[i];if(qr(o)){let l=iE(o.outlets);return new G(r,l)}if(i===0&&ns(t[0])){let l=e.segments[n];r.push(new un(l.path,Xh(t[0]))),i++;continue}let s=qr(o)?o.outlets[R]:`${o}`,a=i<t.length-1?t[i+1]:null;s&&a&&ns(a)?(r.push(new un(s,Xh(a))),i+=2):(r.push(new un(s,{})),i++)}return new G(r,{})}function iE(e){let n={};return Object.entries(e).forEach(([t,r])=>{typeof r=="string"&&(r=[r]),r!==null&&(n[t]=vc(new G([],{}),0,r))}),n}function Xh(e){let n={};return Object.entries(e).forEach(([t,r])=>n[t]=`${r}`),n}function em(e,n,t){return e==t.path&&ct(n,t.parameters)}var $r="imperative",ue=function(e){return e[e.NavigationStart=0]="NavigationStart",e[e.NavigationEnd=1]="NavigationEnd",e[e.NavigationCancel=2]="NavigationCancel",e[e.NavigationError=3]="NavigationError",e[e.RoutesRecognized=4]="RoutesRecognized",e[e.ResolveStart=5]="ResolveStart",e[e.ResolveEnd=6]="ResolveEnd",e[e.GuardsCheckStart=7]="GuardsCheckStart",e[e.GuardsCheckEnd=8]="GuardsCheckEnd",e[e.RouteConfigLoadStart=9]="RouteConfigLoadStart",e[e.RouteConfigLoadEnd=10]="RouteConfigLoadEnd",e[e.ChildActivationStart=11]="ChildActivationStart",e[e.ChildActivationEnd=12]="ChildActivationEnd",e[e.ActivationStart=13]="ActivationStart",e[e.ActivationEnd=14]="ActivationEnd",e[e.Scroll=15]="Scroll",e[e.NavigationSkipped=16]="NavigationSkipped",e}(ue||{}),Ve=class{constructor(n,t){this.id=n,this.url=t}},Wr=class extends Ve{constructor(n,t,r="imperative",i=null){super(n,t),this.type=ue.NavigationStart,this.navigationTrigger=r,this.restoredState=i}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}},fn=class extends Ve{constructor(n,t,r){super(n,t),this.urlAfterRedirects=r,this.type=ue.NavigationEnd}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}},ke=function(e){return e[e.Redirect=0]="Redirect",e[e.SupersededByNewNavigation=1]="SupersededByNewNavigation",e[e.NoDataFromResolver=2]="NoDataFromResolver",e[e.GuardRejected=3]="GuardRejected",e}(ke||{}),yc=function(e){return e[e.IgnoredSameUrlNavigation=0]="IgnoredSameUrlNavigation",e[e.IgnoredByUrlHandlingStrategy=1]="IgnoredByUrlHandlingStrategy",e}(yc||{}),wt=class extends Ve{constructor(n,t,r,i){super(n,t),this.reason=r,this.code=i,this.type=ue.NavigationCancel}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}},pn=class extends Ve{constructor(n,t,r,i){super(n,t),this.reason=r,this.code=i,this.type=ue.NavigationSkipped}},Zr=class extends Ve{constructor(n,t,r,i){super(n,t),this.error=r,this.target=i,this.type=ue.NavigationError}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}},is=class extends Ve{constructor(n,t,r,i){super(n,t),this.urlAfterRedirects=r,this.state=i,this.type=ue.RoutesRecognized}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Dc=class extends Ve{constructor(n,t,r,i){super(n,t),this.urlAfterRedirects=r,this.state=i,this.type=ue.GuardsCheckStart}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},bc=class extends Ve{constructor(n,t,r,i,o){super(n,t),this.urlAfterRedirects=r,this.state=i,this.shouldActivate=o,this.type=ue.GuardsCheckEnd}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}},wc=class extends Ve{constructor(n,t,r,i){super(n,t),this.urlAfterRedirects=r,this.state=i,this.type=ue.ResolveStart}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Ec=class extends Ve{constructor(n,t,r,i){super(n,t),this.urlAfterRedirects=r,this.state=i,this.type=ue.ResolveEnd}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}},Cc=class{constructor(n){this.route=n,this.type=ue.RouteConfigLoadStart}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}},Ic=class{constructor(n){this.route=n,this.type=ue.RouteConfigLoadEnd}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}},Sc=class{constructor(n){this.snapshot=n,this.type=ue.ChildActivationStart}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},_c=class{constructor(n){this.snapshot=n,this.type=ue.ChildActivationEnd}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},Mc=class{constructor(n){this.snapshot=n,this.type=ue.ActivationStart}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}},xc=class{constructor(n){this.snapshot=n,this.type=ue.ActivationEnd}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}};var Yr=class{},er=class{constructor(n,t){this.url=n,this.navigationBehaviorOptions=t}};function oE(e,n){return e.providers&&!e._injector&&(e._injector=$l(e.providers,n,`Route: ${e.path}`)),e._injector??n}function Ke(e){return e.outlet||R}function sE(e,n){let t=e.filter(r=>Ke(r)===n);return t.push(...e.filter(r=>Ke(r)!==n)),t}function ti(e){if(!e)return null;if(e.routeConfig?._injector)return e.routeConfig._injector;for(let n=e.parent;n;n=n.parent){let t=n.routeConfig;if(t?._loadedInjector)return t._loadedInjector;if(t?._injector)return t._injector}return null}var Tc=class{get injector(){return ti(this.route?.snapshot)??this.rootInjector}set injector(n){}constructor(n){this.rootInjector=n,this.outlet=null,this.route=null,this.children=new ds(this.rootInjector),this.attachRef=null}},ds=(()=>{class e{constructor(t){this.rootInjector=t,this.contexts=new Map}onChildOutletCreated(t,r){let i=this.getOrCreateContext(t);i.outlet=r,this.contexts.set(t,i)}onChildOutletDestroyed(t){let r=this.getContext(t);r&&(r.outlet=null,r.attachRef=null)}onOutletDeactivated(){let t=this.contexts;return this.contexts=new Map,t}onOutletReAttached(t){this.contexts=t}getOrCreateContext(t){let r=this.getContext(t);return r||(r=new Tc(this.rootInjector),this.contexts.set(t,r)),r}getContext(t){return this.contexts.get(t)||null}static{this.\u0275fac=function(r){return new(r||e)(F(Fe))}}static{this.\u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),os=class{constructor(n){this._root=n}get root(){return this._root.value}parent(n){let t=this.pathFromRoot(n);return t.length>1?t[t.length-2]:null}children(n){let t=Ac(n,this._root);return t?t.children.map(r=>r.value):[]}firstChild(n){let t=Ac(n,this._root);return t&&t.children.length>0?t.children[0].value:null}siblings(n){let t=kc(n,this._root);return t.length<2?[]:t[t.length-2].children.map(i=>i.value).filter(i=>i!==n)}pathFromRoot(n){return kc(n,this._root).map(t=>t.value)}};function Ac(e,n){if(e===n.value)return n;for(let t of n.children){let r=Ac(e,t);if(r)return r}return null}function kc(e,n){if(e===n.value)return[n];for(let t of n.children){let r=kc(e,t);if(r.length)return r.unshift(n),r}return[]}var Ae=class{constructor(n,t){this.value=n,this.children=t}toString(){return`TreeNode(${this.value})`}};function Yn(e){let n={};return e&&e.children.forEach(t=>n[t.value.outlet]=t),n}var ss=class extends os{constructor(n,t){super(n),this.snapshot=t,Uc(this,n)}toString(){return this.snapshot.toString()}};function ym(e){let n=aE(e),t=new oe([new un("",{})]),r=new oe({}),i=new oe({}),o=new oe({}),s=new oe(""),a=new ut(t,r,o,s,i,R,e,n.root);return a.snapshot=n.root,new ss(new Ae(a,[]),n)}function aE(e){let n={},t={},r={},i="",o=new Jn([],n,r,i,t,R,e,null,{});return new ls("",new Ae(o,[]))}var ut=class{constructor(n,t,r,i,o,s,a,l){this.urlSubject=n,this.paramsSubject=t,this.queryParamsSubject=r,this.fragmentSubject=i,this.dataSubject=o,this.outlet=s,this.component=a,this._futureSnapshot=l,this.title=this.dataSubject?.pipe(V(f=>f[ei]))??A(void 0),this.url=n,this.params=t,this.queryParams=r,this.fragment=i,this.data=o}get routeConfig(){return this._futureSnapshot.routeConfig}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=this.params.pipe(V(n=>Xn(n))),this._paramMap}get queryParamMap(){return this._queryParamMap??=this.queryParams.pipe(V(n=>Xn(n))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}};function as(e,n,t="emptyOnly"){let r,{routeConfig:i}=e;return n!==null&&(t==="always"||i?.path===""||!n.component&&!n.routeConfig?.loadComponent)?r={params:C(C({},n.params),e.params),data:C(C({},n.data),e.data),resolve:C(C(C(C({},e.data),n.data),i?.data),e._resolvedData)}:r={params:C({},e.params),data:C({},e.data),resolve:C(C({},e.data),e._resolvedData??{})},i&&bm(i)&&(r.resolve[ei]=i.title),r}var Jn=class{get title(){return this.data?.[ei]}constructor(n,t,r,i,o,s,a,l,f){this.url=n,this.params=t,this.queryParams=r,this.fragment=i,this.data=o,this.outlet=s,this.component=a,this.routeConfig=l,this._resolve=f}get root(){return this._routerState.root}get parent(){return this._routerState.parent(this)}get firstChild(){return this._routerState.firstChild(this)}get children(){return this._routerState.children(this)}get pathFromRoot(){return this._routerState.pathFromRoot(this)}get paramMap(){return this._paramMap??=Xn(this.params),this._paramMap}get queryParamMap(){return this._queryParamMap??=Xn(this.queryParams),this._queryParamMap}toString(){let n=this.url.map(r=>r.toString()).join("/"),t=this.routeConfig?this.routeConfig.path:"";return`Route(url:'${n}', path:'${t}')`}},ls=class extends os{constructor(n,t){super(t),this.url=n,Uc(this,t)}toString(){return Dm(this._root)}};function Uc(e,n){n.value._routerState=e,n.children.forEach(t=>Uc(e,t))}function Dm(e){let n=e.children.length>0?` { ${e.children.map(Dm).join(", ")} } `:"";return`${e.value}${n}`}function dc(e){if(e.snapshot){let n=e.snapshot,t=e._futureSnapshot;e.snapshot=t,ct(n.queryParams,t.queryParams)||e.queryParamsSubject.next(t.queryParams),n.fragment!==t.fragment&&e.fragmentSubject.next(t.fragment),ct(n.params,t.params)||e.paramsSubject.next(t.params),Ow(n.url,t.url)||e.urlSubject.next(t.url),ct(n.data,t.data)||e.dataSubject.next(t.data)}else e.snapshot=e._futureSnapshot,e.dataSubject.next(e._futureSnapshot.data)}function Nc(e,n){let t=ct(e.params,n.params)&&jw(e.url,n.url),r=!e.parent!=!n.parent;return t&&!r&&(!e.parent||Nc(e.parent,n.parent))}function bm(e){return typeof e.title=="string"||e.title===null}var $c=(()=>{class e{constructor(){this.activated=null,this._activatedRoute=null,this.name=R,this.activateEvents=new ve,this.deactivateEvents=new ve,this.attachEvents=new ve,this.detachEvents=new ve,this.parentContexts=w(ds),this.location=w(Gn),this.changeDetector=w(Rr),this.inputBinder=w(Hc,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(t){if(t.name){let{firstChange:r,previousValue:i}=t.name;if(r)return;this.isTrackedInParentContexts(i)&&(this.deactivate(),this.parentContexts.onChildOutletDestroyed(i)),this.initializeOutletWithName()}}ngOnDestroy(){this.isTrackedInParentContexts(this.name)&&this.parentContexts.onChildOutletDestroyed(this.name),this.inputBinder?.unsubscribeFromRouteData(this)}isTrackedInParentContexts(t){return this.parentContexts.getContext(t)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;let t=this.parentContexts.getContext(this.name);t?.route&&(t.attachRef?this.attach(t.attachRef,t.route):this.activateWith(t.route,t.injector))}get isActivated(){return!!this.activated}get component(){if(!this.activated)throw new S(4012,!1);return this.activated.instance}get activatedRoute(){if(!this.activated)throw new S(4012,!1);return this._activatedRoute}get activatedRouteData(){return this._activatedRoute?this._activatedRoute.snapshot.data:{}}detach(){if(!this.activated)throw new S(4012,!1);this.location.detach();let t=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(t.instance),t}attach(t,r){this.activated=t,this._activatedRoute=r,this.location.insert(t.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(t.instance)}deactivate(){if(this.activated){let t=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(t)}}activateWith(t,r){if(this.isActivated)throw new S(4013,!1);this._activatedRoute=t;let i=this.location,s=t.snapshot.component,a=this.parentContexts.getOrCreateContext(this.name).children,l=new Rc(t,a,i.injector);this.activated=i.createComponent(s,{index:i.length,injector:l,environmentInjector:r}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275dir=Vn({type:e,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[Do]})}}return e})(),Rc=class e{__ngOutletInjector(n){return new e(this.route,this.childContexts,n)}constructor(n,t,r){this.route=n,this.childContexts=t,this.parent=r}get(n,t){return n===ut?this.route:n===ds?this.childContexts:this.parent.get(n,t)}},Hc=new T("");function lE(e,n,t){let r=Qr(e,n._root,t?t._root:void 0);return new ss(r,n)}function Qr(e,n,t){if(t&&e.shouldReuseRoute(n.value,t.value.snapshot)){let r=t.value;r._futureSnapshot=n.value;let i=cE(e,n,t);return new Ae(r,i)}else{if(e.shouldAttach(n.value)){let o=e.retrieve(n.value);if(o!==null){let s=o.route;return s.value._futureSnapshot=n.value,s.children=n.children.map(a=>Qr(e,a)),s}}let r=uE(n.value),i=n.children.map(o=>Qr(e,o));return new Ae(r,i)}}function cE(e,n,t){return n.children.map(r=>{for(let i of t.children)if(e.shouldReuseRoute(r.value,i.value.snapshot))return Qr(e,r,i);return Qr(e,r)})}function uE(e){return new ut(new oe(e.url),new oe(e.params),new oe(e.queryParams),new oe(e.fragment),new oe(e.data),e.outlet,e.component,e)}var Jr=class{constructor(n,t){this.redirectTo=n,this.navigationBehaviorOptions=t}},wm="ngNavigationCancelingError";function cs(e,n){let{redirectTo:t,navigationBehaviorOptions:r}=Gr(n)?{redirectTo:n,navigationBehaviorOptions:void 0}:n,i=Em(!1,ke.Redirect);return i.url=t,i.navigationBehaviorOptions=r,i}function Em(e,n){let t=new Error(`NavigationCancelingError: ${e||""}`);return t[wm]=!0,t.cancellationCode=n,t}function dE(e){return Cm(e)&&Gr(e.url)}function Cm(e){return!!e&&e[wm]}var fE=(e,n,t,r)=>V(i=>(new Oc(n,i.targetRouterState,i.currentRouterState,t,r).activate(e),i)),Oc=class{constructor(n,t,r,i,o){this.routeReuseStrategy=n,this.futureState=t,this.currState=r,this.forwardEvent=i,this.inputBindingEnabled=o}activate(n){let t=this.futureState._root,r=this.currState?this.currState._root:null;this.deactivateChildRoutes(t,r,n),dc(this.futureState.root),this.activateChildRoutes(t,r,n)}deactivateChildRoutes(n,t,r){let i=Yn(t);n.children.forEach(o=>{let s=o.value.outlet;this.deactivateRoutes(o,i[s],r),delete i[s]}),Object.values(i).forEach(o=>{this.deactivateRouteAndItsChildren(o,r)})}deactivateRoutes(n,t,r){let i=n.value,o=t?t.value:null;if(i===o)if(i.component){let s=r.getContext(i.outlet);s&&this.deactivateChildRoutes(n,t,s.children)}else this.deactivateChildRoutes(n,t,r);else o&&this.deactivateRouteAndItsChildren(t,r)}deactivateRouteAndItsChildren(n,t){n.value.component&&this.routeReuseStrategy.shouldDetach(n.value.snapshot)?this.detachAndStoreRouteSubtree(n,t):this.deactivateRouteAndOutlet(n,t)}detachAndStoreRouteSubtree(n,t){let r=t.getContext(n.value.outlet),i=r&&n.value.component?r.children:t,o=Yn(n);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,i);if(r&&r.outlet){let s=r.outlet.detach(),a=r.children.onOutletDeactivated();this.routeReuseStrategy.store(n.value.snapshot,{componentRef:s,route:n,contexts:a})}}deactivateRouteAndOutlet(n,t){let r=t.getContext(n.value.outlet),i=r&&n.value.component?r.children:t,o=Yn(n);for(let s of Object.values(o))this.deactivateRouteAndItsChildren(s,i);r&&(r.outlet&&(r.outlet.deactivate(),r.children.onOutletDeactivated()),r.attachRef=null,r.route=null)}activateChildRoutes(n,t,r){let i=Yn(t);n.children.forEach(o=>{this.activateRoutes(o,i[o.value.outlet],r),this.forwardEvent(new xc(o.value.snapshot))}),n.children.length&&this.forwardEvent(new _c(n.value.snapshot))}activateRoutes(n,t,r){let i=n.value,o=t?t.value:null;if(dc(i),i===o)if(i.component){let s=r.getOrCreateContext(i.outlet);this.activateChildRoutes(n,t,s.children)}else this.activateChildRoutes(n,t,r);else if(i.component){let s=r.getOrCreateContext(i.outlet);if(this.routeReuseStrategy.shouldAttach(i.snapshot)){let a=this.routeReuseStrategy.retrieve(i.snapshot);this.routeReuseStrategy.store(i.snapshot,null),s.children.onOutletReAttached(a.contexts),s.attachRef=a.componentRef,s.route=a.route.value,s.outlet&&s.outlet.attach(a.componentRef,a.route.value),dc(a.route.value),this.activateChildRoutes(n,null,s.children)}else s.attachRef=null,s.route=i,s.outlet&&s.outlet.activateWith(i,s.injector),this.activateChildRoutes(n,null,s.children)}else this.activateChildRoutes(n,null,r)}},us=class{constructor(n){this.path=n,this.route=this.path[this.path.length-1]}},Kn=class{constructor(n,t){this.component=n,this.route=t}};function pE(e,n,t){let r=e._root,i=n?n._root:null;return Br(r,i,t,[r.value])}function hE(e){let n=e.routeConfig?e.routeConfig.canActivateChild:null;return!n||n.length===0?null:{node:e,guards:n}}function nr(e,n){let t=Symbol(),r=n.get(e,t);return r===t?typeof e=="function"&&!Md(e)?e:n.get(e):r}function Br(e,n,t,r,i={canDeactivateChecks:[],canActivateChecks:[]}){let o=Yn(n);return e.children.forEach(s=>{mE(s,o[s.value.outlet],t,r.concat([s.value]),i),delete o[s.value.outlet]}),Object.entries(o).forEach(([s,a])=>Hr(a,t.getContext(s),i)),i}function mE(e,n,t,r,i={canDeactivateChecks:[],canActivateChecks:[]}){let o=e.value,s=n?n.value:null,a=t?t.getContext(e.value.outlet):null;if(s&&o.routeConfig===s.routeConfig){let l=gE(s,o,o.routeConfig.runGuardsAndResolvers);l?i.canActivateChecks.push(new us(r)):(o.data=s.data,o._resolvedData=s._resolvedData),o.component?Br(e,n,a?a.children:null,r,i):Br(e,n,t,r,i),l&&a&&a.outlet&&a.outlet.isActivated&&i.canDeactivateChecks.push(new Kn(a.outlet.component,s))}else s&&Hr(n,a,i),i.canActivateChecks.push(new us(r)),o.component?Br(e,null,a?a.children:null,r,i):Br(e,null,t,r,i);return i}function gE(e,n,t){if(typeof t=="function")return t(e,n);switch(t){case"pathParamsChange":return!dn(e.url,n.url);case"pathParamsOrQueryParamsChange":return!dn(e.url,n.url)||!ct(e.queryParams,n.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!Nc(e,n)||!ct(e.queryParams,n.queryParams);case"paramsChange":default:return!Nc(e,n)}}function Hr(e,n,t){let r=Yn(e),i=e.value;Object.entries(r).forEach(([o,s])=>{i.component?n?Hr(s,n.children.getContext(o),t):Hr(s,null,t):Hr(s,n,t)}),i.component?n&&n.outlet&&n.outlet.isActivated?t.canDeactivateChecks.push(new Kn(n.outlet.component,i)):t.canDeactivateChecks.push(new Kn(null,i)):t.canDeactivateChecks.push(new Kn(null,i))}function ni(e){return typeof e=="function"}function vE(e){return typeof e=="boolean"}function yE(e){return e&&ni(e.canLoad)}function DE(e){return e&&ni(e.canActivate)}function bE(e){return e&&ni(e.canActivateChild)}function wE(e){return e&&ni(e.canDeactivate)}function EE(e){return e&&ni(e.canMatch)}function Im(e){return e instanceof dt||e?.name==="EmptyError"}var Ko=Symbol("INITIAL_VALUE");function tr(){return Re(e=>Ei(e.map(n=>n.pipe(ft(1),Bs(Ko)))).pipe(V(n=>{for(let t of n)if(t!==!0){if(t===Ko)return Ko;if(t===!1||CE(t))return t}return!0}),Ne(n=>n!==Ko),ft(1)))}function CE(e){return Gr(e)||e instanceof Jr}function IE(e,n){return se(t=>{let{targetSnapshot:r,currentSnapshot:i,guards:{canActivateChecks:o,canDeactivateChecks:s}}=t;return s.length===0&&o.length===0?A(Q(C({},t),{guardsResult:!0})):SE(s,r,i,e).pipe(se(a=>a&&vE(a)?_E(r,o,e,n):A(a)),V(a=>Q(C({},t),{guardsResult:a})))})}function SE(e,n,t,r){return te(e).pipe(se(i=>kE(i.component,i.route,t,n,r)),$e(i=>i!==!0,!0))}function _E(e,n,t,r){return te(n).pipe(Gt(i=>Cn(xE(i.route.parent,r),ME(i.route,r),AE(e,i.path,t),TE(e,i.route,t))),$e(i=>i!==!0,!0))}function ME(e,n){return e!==null&&n&&n(new Mc(e)),A(!0)}function xE(e,n){return e!==null&&n&&n(new Sc(e)),A(!0)}function TE(e,n,t){let r=n.routeConfig?n.routeConfig.canActivate:null;if(!r||r.length===0)return A(!0);let i=r.map(o=>Ci(()=>{let s=ti(n)??t,a=nr(o,s),l=DE(a)?a.canActivate(n,e):rt(s,()=>a(n,e));return Bt(l).pipe($e())}));return A(i).pipe(tr())}function AE(e,n,t){let r=n[n.length-1],o=n.slice(0,n.length-1).reverse().map(s=>hE(s)).filter(s=>s!==null).map(s=>Ci(()=>{let a=s.guards.map(l=>{let f=ti(s.node)??t,p=nr(l,f),h=bE(p)?p.canActivateChild(r,e):rt(f,()=>p(r,e));return Bt(h).pipe($e())});return A(a).pipe(tr())}));return A(o).pipe(tr())}function kE(e,n,t,r,i){let o=n&&n.routeConfig?n.routeConfig.canDeactivate:null;if(!o||o.length===0)return A(!0);let s=o.map(a=>{let l=ti(n)??i,f=nr(a,l),p=wE(f)?f.canDeactivate(e,n,t,r):rt(l,()=>f(e,n,t,r));return Bt(p).pipe($e())});return A(s).pipe(tr())}function NE(e,n,t,r){let i=n.canLoad;if(i===void 0||i.length===0)return A(!0);let o=i.map(s=>{let a=nr(s,e),l=yE(a)?a.canLoad(n,t):rt(e,()=>a(n,t));return Bt(l)});return A(o).pipe(tr(),Sm(r))}function Sm(e){return As(ae(n=>{if(typeof n!="boolean")throw cs(e,n)}),V(n=>n===!0))}function RE(e,n,t,r){let i=n.canMatch;if(!i||i.length===0)return A(!0);let o=i.map(s=>{let a=nr(s,e),l=EE(a)?a.canMatch(n,t):rt(e,()=>a(n,t));return Bt(l)});return A(o).pipe(tr(),Sm(r))}var Kr=class{constructor(n){this.segmentGroup=n||null}},Xr=class extends Error{constructor(n){super(),this.urlTree=n}};function Zn(e){return En(new Kr(e))}function OE(e){return En(new S(4e3,!1))}function PE(e){return En(Em(!1,ke.GuardRejected))}var Pc=class{constructor(n,t){this.urlSerializer=n,this.urlTree=t}lineralizeSegments(n,t){let r=[],i=t.root;for(;;){if(r=r.concat(i.segments),i.numberOfChildren===0)return A(r);if(i.numberOfChildren>1||!i.children[R])return OE(`${n.redirectTo}`);i=i.children[R]}}applyRedirectCommands(n,t,r,i,o){if(typeof t!="string"){let a=t,{queryParams:l,fragment:f,routeConfig:p,url:h,outlet:D,params:v,data:b,title:M}=i,B=rt(o,()=>a({params:v,data:b,queryParams:l,fragment:f,routeConfig:p,url:h,outlet:D,title:M}));if(B instanceof Et)throw new Xr(B);t=B}let s=this.applyRedirectCreateUrlTree(t,this.urlSerializer.parse(t),n,r);if(t[0]==="/")throw new Xr(s);return s}applyRedirectCreateUrlTree(n,t,r,i){let o=this.createSegmentGroup(n,t.root,r,i);return new Et(o,this.createQueryParams(t.queryParams,this.urlTree.queryParams),t.fragment)}createQueryParams(n,t){let r={};return Object.entries(n).forEach(([i,o])=>{if(typeof o=="string"&&o[0]===":"){let a=o.substring(1);r[i]=t[a]}else r[i]=o}),r}createSegmentGroup(n,t,r,i){let o=this.createSegments(n,t.segments,r,i),s={};return Object.entries(t.children).forEach(([a,l])=>{s[a]=this.createSegmentGroup(n,l,r,i)}),new G(o,s)}createSegments(n,t,r,i){return t.map(o=>o.path[0]===":"?this.findPosParam(n,o,i):this.findOrReturn(o,r))}findPosParam(n,t,r){let i=r[t.path.substring(1)];if(!i)throw new S(4001,!1);return i}findOrReturn(n,t){let r=0;for(let i of t){if(i.path===n.path)return t.splice(r),i;r++}return n}},Fc={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function FE(e,n,t,r,i){let o=_m(e,n,t);return o.matched?(r=oE(n,r),RE(r,n,t,i).pipe(V(s=>s===!0?o:C({},Fc)))):A(o)}function _m(e,n,t){if(n.path==="**")return LE(t);if(n.path==="")return n.pathMatch==="full"&&(e.hasChildren()||t.length>0)?C({},Fc):{matched:!0,consumedSegments:[],remainingSegments:t,parameters:{},positionalParamSegments:{}};let i=(n.matcher||Rw)(t,e,n);if(!i)return C({},Fc);let o={};Object.entries(i.posParams??{}).forEach(([a,l])=>{o[a]=l.path});let s=i.consumed.length>0?C(C({},o),i.consumed[i.consumed.length-1].parameters):o;return{matched:!0,consumedSegments:i.consumed,remainingSegments:t.slice(i.consumed.length),parameters:s,positionalParamSegments:i.posParams??{}}}function LE(e){return{matched:!0,parameters:e.length>0?om(e).parameters:{},consumedSegments:e,remainingSegments:[],positionalParamSegments:{}}}function tm(e,n,t,r){return t.length>0&&VE(e,t,r)?{segmentGroup:new G(n,BE(r,new G(t,e.children))),slicedSegments:[]}:t.length===0&&UE(e,t,r)?{segmentGroup:new G(e.segments,jE(e,t,r,e.children)),slicedSegments:t}:{segmentGroup:new G(e.segments,e.children),slicedSegments:t}}function jE(e,n,t,r){let i={};for(let o of t)if(fs(e,n,o)&&!r[Ke(o)]){let s=new G([],{});i[Ke(o)]=s}return C(C({},r),i)}function BE(e,n){let t={};t[R]=n;for(let r of e)if(r.path===""&&Ke(r)!==R){let i=new G([],{});t[Ke(r)]=i}return t}function VE(e,n,t){return t.some(r=>fs(e,n,r)&&Ke(r)!==R)}function UE(e,n,t){return t.some(r=>fs(e,n,r))}function fs(e,n,t){return(e.hasChildren()||n.length>0)&&t.pathMatch==="full"?!1:t.path===""}function $E(e,n,t){return n.length===0&&!e.children[t]}var Lc=class{};function HE(e,n,t,r,i,o,s="emptyOnly"){return new jc(e,n,t,r,i,s,o).recognize()}var zE=31,jc=class{constructor(n,t,r,i,o,s,a){this.injector=n,this.configLoader=t,this.rootComponentType=r,this.config=i,this.urlTree=o,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.applyRedirects=new Pc(this.urlSerializer,this.urlTree),this.absoluteRedirectCount=0,this.allowRedirects=!0}noMatchError(n){return new S(4002,`'${n.segmentGroup}'`)}recognize(){let n=tm(this.urlTree.root,[],[],this.config).segmentGroup;return this.match(n).pipe(V(({children:t,rootSnapshot:r})=>{let i=new Ae(r,t),o=new ls("",i),s=Kw(r,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,o.url=this.urlSerializer.serialize(s),{state:o,tree:s}}))}match(n){let t=new Jn([],Object.freeze({}),Object.freeze(C({},this.urlTree.queryParams)),this.urlTree.fragment,Object.freeze({}),R,this.rootComponentType,null,{});return this.processSegmentGroup(this.injector,this.config,n,R,t).pipe(V(r=>({children:r,rootSnapshot:t})),Mt(r=>{if(r instanceof Xr)return this.urlTree=r.urlTree,this.match(r.urlTree.root);throw r instanceof Kr?this.noMatchError(r):r}))}processSegmentGroup(n,t,r,i,o){return r.segments.length===0&&r.hasChildren()?this.processChildren(n,t,r,o):this.processSegment(n,t,r,r.segments,i,!0,o).pipe(V(s=>s instanceof Ae?[s]:[]))}processChildren(n,t,r,i){let o=[];for(let s of Object.keys(r.children))s==="primary"?o.unshift(s):o.push(s);return te(o).pipe(Gt(s=>{let a=r.children[s],l=sE(t,s);return this.processSegmentGroup(n,l,a,s,i)}),js((s,a)=>(s.push(...a),s)),xt(null),Ls(),se(s=>{if(s===null)return Zn(r);let a=Mm(s);return GE(a),A(a)}))}processSegment(n,t,r,i,o,s,a){return te(t).pipe(Gt(l=>this.processSegmentAgainstRoute(l._injector??n,t,l,r,i,o,s,a).pipe(Mt(f=>{if(f instanceof Kr)return A(null);throw f}))),$e(l=>!!l),Mt(l=>{if(Im(l))return $E(r,i,o)?A(new Lc):Zn(r);throw l}))}processSegmentAgainstRoute(n,t,r,i,o,s,a,l){return Ke(r)!==s&&(s===R||!fs(i,o,r))?Zn(i):r.redirectTo===void 0?this.matchSegmentAgainstRoute(n,i,r,o,s,l):this.allowRedirects&&a?this.expandSegmentAgainstRouteUsingRedirect(n,i,t,r,o,s,l):Zn(i)}expandSegmentAgainstRouteUsingRedirect(n,t,r,i,o,s,a){let{matched:l,parameters:f,consumedSegments:p,positionalParamSegments:h,remainingSegments:D}=_m(t,i,o);if(!l)return Zn(t);typeof i.redirectTo=="string"&&i.redirectTo[0]==="/"&&(this.absoluteRedirectCount++,this.absoluteRedirectCount>zE&&(this.allowRedirects=!1));let v=new Jn(o,f,Object.freeze(C({},this.urlTree.queryParams)),this.urlTree.fragment,nm(i),Ke(i),i.component??i._loadedComponent??null,i,rm(i)),b=as(v,a,this.paramsInheritanceStrategy);v.params=Object.freeze(b.params),v.data=Object.freeze(b.data);let M=this.applyRedirects.applyRedirectCommands(p,i.redirectTo,h,v,n);return this.applyRedirects.lineralizeSegments(i,M).pipe(se(B=>this.processSegment(n,r,t,B.concat(D),s,!1,a)))}matchSegmentAgainstRoute(n,t,r,i,o,s){let a=FE(t,r,i,n,this.urlSerializer);return r.path==="**"&&(t.children={}),a.pipe(Re(l=>l.matched?(n=r._injector??n,this.getChildConfig(n,r,i).pipe(Re(({routes:f})=>{let p=r._loadedInjector??n,{parameters:h,consumedSegments:D,remainingSegments:v}=l,b=new Jn(D,h,Object.freeze(C({},this.urlTree.queryParams)),this.urlTree.fragment,nm(r),Ke(r),r.component??r._loadedComponent??null,r,rm(r)),M=as(b,s,this.paramsInheritanceStrategy);b.params=Object.freeze(M.params),b.data=Object.freeze(M.data);let{segmentGroup:B,slicedSegments:O}=tm(t,D,v,f);if(O.length===0&&B.hasChildren())return this.processChildren(p,f,B,b).pipe(V(de=>new Ae(b,de)));if(f.length===0&&O.length===0)return A(new Ae(b,[]));let J=Ke(r)===o;return this.processSegment(p,f,B,O,J?R:o,!0,b).pipe(V(de=>new Ae(b,de instanceof Ae?[de]:[])))}))):Zn(t)))}getChildConfig(n,t,r){return t.children?A({routes:t.children,injector:n}):t.loadChildren?t._loadedRoutes!==void 0?A({routes:t._loadedRoutes,injector:t._loadedInjector}):NE(n,t,r,this.urlSerializer).pipe(se(i=>i?this.configLoader.loadChildren(n,t).pipe(ae(o=>{t._loadedRoutes=o.routes,t._loadedInjector=o.injector})):PE(t))):A({routes:[],injector:n})}};function GE(e){e.sort((n,t)=>n.value.outlet===R?-1:t.value.outlet===R?1:n.value.outlet.localeCompare(t.value.outlet))}function qE(e){let n=e.value.routeConfig;return n&&n.path===""}function Mm(e){let n=[],t=new Set;for(let r of e){if(!qE(r)){n.push(r);continue}let i=n.find(o=>r.value.routeConfig===o.value.routeConfig);i!==void 0?(i.children.push(...r.children),t.add(i)):n.push(r)}for(let r of t){let i=Mm(r.children);n.push(new Ae(r.value,i))}return n.filter(r=>!t.has(r))}function nm(e){return e.data||{}}function rm(e){return e.resolve||{}}function WE(e,n,t,r,i,o){return se(s=>HE(e,n,t,r,s.extractedUrl,i,o).pipe(V(({state:a,tree:l})=>Q(C({},s),{targetSnapshot:a,urlAfterRedirects:l}))))}function ZE(e,n){return se(t=>{let{targetSnapshot:r,guards:{canActivateChecks:i}}=t;if(!i.length)return A(t);let o=new Set(i.map(l=>l.route)),s=new Set;for(let l of o)if(!s.has(l))for(let f of xm(l))s.add(f);let a=0;return te(s).pipe(Gt(l=>o.has(l)?YE(l,r,e,n):(l.data=as(l,l.parent,e).resolve,A(void 0))),ae(()=>a++),Sn(1),se(l=>a===s.size?A(t):Se))})}function xm(e){let n=e.children.map(t=>xm(t)).flat();return[e,...n]}function YE(e,n,t,r){let i=e.routeConfig,o=e._resolve;return i?.title!==void 0&&!bm(i)&&(o[ei]=i.title),QE(o,e,n,r).pipe(V(s=>(e._resolvedData=s,e.data=as(e,e.parent,t).resolve,null)))}function QE(e,n,t,r){let i=hc(e);if(i.length===0)return A({});let o={};return te(i).pipe(se(s=>JE(e[s],n,t,r).pipe($e(),ae(a=>{if(a instanceof Jr)throw cs(new zr,a);o[s]=a}))),Sn(1),Fs(o),Mt(s=>Im(s)?Se:En(s)))}function JE(e,n,t,r){let i=ti(n)??r,o=nr(e,i),s=o.resolve?o.resolve(n,t):rt(i,()=>o(n,t));return Bt(s)}function fc(e){return Re(n=>{let t=e(n);return t?te(t).pipe(V(()=>n)):A(n)})}var Tm=(()=>{class e{buildTitle(t){let r,i=t.root;for(;i!==void 0;)r=this.getResolvedTitleForRoute(i)??r,i=i.children.find(o=>o.outlet===R);return r}getResolvedTitleForRoute(t){return t.data[ei]}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275prov=_({token:e,factory:()=>w(KE),providedIn:"root"})}}return e})(),KE=(()=>{class e extends Tm{constructor(t){super(),this.title=t}updateTitle(t){let r=this.buildTitle(t);r!==void 0&&this.title.setTitle(r)}static{this.\u0275fac=function(r){return new(r||e)(F(Qo))}}static{this.\u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),zc=new T("",{providedIn:"root",factory:()=>({})}),XE=(()=>{class e{static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275cmp=Le({type:e,selectors:[["ng-component"]],standalone:!0,features:[Be],decls:1,vars:0,template:function(r,i){r&1&&y(0,"router-outlet")},dependencies:[$c],encapsulation:2})}}return e})();function Gc(e){let n=e.children&&e.children.map(Gc),t=n?Q(C({},e),{children:n}):C({},e);return!t.component&&!t.loadComponent&&(n||t.loadChildren)&&t.outlet&&t.outlet!==R&&(t.component=XE),t}var qc=new T(""),eC=(()=>{class e{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=w(Gl)}loadComponent(t){if(this.componentLoaders.get(t))return this.componentLoaders.get(t);if(t._loadedComponent)return A(t._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(t);let r=Bt(t.loadComponent()).pipe(V(Am),ae(o=>{this.onLoadEndListener&&this.onLoadEndListener(t),t._loadedComponent=o}),In(()=>{this.componentLoaders.delete(t)})),i=new wn(r,()=>new me).pipe(bn());return this.componentLoaders.set(t,i),i}loadChildren(t,r){if(this.childrenLoaders.get(r))return this.childrenLoaders.get(r);if(r._loadedRoutes)return A({routes:r._loadedRoutes,injector:r._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(r);let o=tC(r,this.compiler,t,this.onLoadEndListener).pipe(In(()=>{this.childrenLoaders.delete(r)})),s=new wn(o,()=>new me).pipe(bn());return this.childrenLoaders.set(r,s),s}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function tC(e,n,t,r){return Bt(e.loadChildren()).pipe(V(Am),se(i=>i instanceof yr||Array.isArray(i)?A(i):te(n.compileModuleAsync(i))),V(i=>{r&&r(e);let o,s,a=!1;return Array.isArray(i)?(s=i,a=!0):(o=i.create(t).injector,s=o.get(qc,[],{optional:!0,self:!0}).flat()),{routes:s.map(Gc),injector:o}}))}function nC(e){return e&&typeof e=="object"&&"default"in e}function Am(e){return nC(e)?e.default:e}var Wc=(()=>{class e{static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275prov=_({token:e,factory:()=>w(rC),providedIn:"root"})}}return e})(),rC=(()=>{class e{shouldProcessUrl(t){return!0}extract(t){return t}merge(t,r){return t}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),iC=new T("");var oC=new T(""),sC=(()=>{class e{get hasRequestedNavigation(){return this.navigationId!==0}constructor(){this.currentNavigation=null,this.currentTransition=null,this.lastSuccessfulNavigation=null,this.events=new me,this.transitionAbortSubject=new me,this.configLoader=w(eC),this.environmentInjector=w(Fe),this.urlSerializer=w(Vc),this.rootContexts=w(ds),this.location=w(cn),this.inputBindingEnabled=w(Hc,{optional:!0})!==null,this.titleStrategy=w(Tm),this.options=w(zc,{optional:!0})||{},this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlHandlingStrategy=w(Wc),this.createViewTransition=w(iC,{optional:!0}),this.navigationErrorHandler=w(oC,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>A(void 0),this.rootComponentType=null;let t=i=>this.events.next(new Cc(i)),r=i=>this.events.next(new Ic(i));this.configLoader.onLoadEndListener=r,this.configLoader.onLoadStartListener=t}complete(){this.transitions?.complete()}handleNavigationRequest(t){let r=++this.navigationId;this.transitions?.next(Q(C(C({},this.transitions.value),t),{id:r}))}setupNavigations(t,r,i){return this.transitions=new oe({id:0,currentUrlTree:r,currentRawUrl:r,extractedUrl:this.urlHandlingStrategy.extract(r),urlAfterRedirects:this.urlHandlingStrategy.extract(r),rawUrl:r,extras:{},resolve:()=>{},reject:()=>{},promise:Promise.resolve(!0),source:$r,restoredState:null,currentSnapshot:i.snapshot,targetSnapshot:null,currentRouterState:i,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(Ne(o=>o.id!==0),V(o=>Q(C({},o),{extractedUrl:this.urlHandlingStrategy.extract(o.rawUrl)})),Re(o=>{let s=!1,a=!1;return A(o).pipe(Re(l=>{if(this.navigationId>o.id)return this.cancelNavigationTransition(o,"",ke.SupersededByNewNavigation),Se;this.currentTransition=o,this.currentNavigation={id:l.id,initialUrl:l.rawUrl,extractedUrl:l.extractedUrl,targetBrowserUrl:typeof l.extras.browserUrl=="string"?this.urlSerializer.parse(l.extras.browserUrl):l.extras.browserUrl,trigger:l.source,extras:l.extras,previousNavigation:this.lastSuccessfulNavigation?Q(C({},this.lastSuccessfulNavigation),{previousNavigation:null}):null};let f=!t.navigated||this.isUpdatingInternalState()||this.isUpdatedBrowserUrl(),p=l.extras.onSameUrlNavigation??t.onSameUrlNavigation;if(!f&&p!=="reload"){let h="";return this.events.next(new pn(l.id,this.urlSerializer.serialize(l.rawUrl),h,yc.IgnoredSameUrlNavigation)),l.resolve(!1),Se}if(this.urlHandlingStrategy.shouldProcessUrl(l.rawUrl))return A(l).pipe(Re(h=>{let D=this.transitions?.getValue();return this.events.next(new Wr(h.id,this.urlSerializer.serialize(h.extractedUrl),h.source,h.restoredState)),D!==this.transitions?.getValue()?Se:Promise.resolve(h)}),WE(this.environmentInjector,this.configLoader,this.rootComponentType,t.config,this.urlSerializer,this.paramsInheritanceStrategy),ae(h=>{o.targetSnapshot=h.targetSnapshot,o.urlAfterRedirects=h.urlAfterRedirects,this.currentNavigation=Q(C({},this.currentNavigation),{finalUrl:h.urlAfterRedirects});let D=new is(h.id,this.urlSerializer.serialize(h.extractedUrl),this.urlSerializer.serialize(h.urlAfterRedirects),h.targetSnapshot);this.events.next(D)}));if(f&&this.urlHandlingStrategy.shouldProcessUrl(l.currentRawUrl)){let{id:h,extractedUrl:D,source:v,restoredState:b,extras:M}=l,B=new Wr(h,this.urlSerializer.serialize(D),v,b);this.events.next(B);let O=ym(this.rootComponentType).snapshot;return this.currentTransition=o=Q(C({},l),{targetSnapshot:O,urlAfterRedirects:D,extras:Q(C({},M),{skipLocationChange:!1,replaceUrl:!1})}),this.currentNavigation.finalUrl=D,A(o)}else{let h="";return this.events.next(new pn(l.id,this.urlSerializer.serialize(l.extractedUrl),h,yc.IgnoredByUrlHandlingStrategy)),l.resolve(!1),Se}}),ae(l=>{let f=new Dc(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects),l.targetSnapshot);this.events.next(f)}),V(l=>(this.currentTransition=o=Q(C({},l),{guards:pE(l.targetSnapshot,l.currentSnapshot,this.rootContexts)}),o)),IE(this.environmentInjector,l=>this.events.next(l)),ae(l=>{if(o.guardsResult=l.guardsResult,l.guardsResult&&typeof l.guardsResult!="boolean")throw cs(this.urlSerializer,l.guardsResult);let f=new bc(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects),l.targetSnapshot,!!l.guardsResult);this.events.next(f)}),Ne(l=>l.guardsResult?!0:(this.cancelNavigationTransition(l,"",ke.GuardRejected),!1)),fc(l=>{if(l.guards.canActivateChecks.length)return A(l).pipe(ae(f=>{let p=new wc(f.id,this.urlSerializer.serialize(f.extractedUrl),this.urlSerializer.serialize(f.urlAfterRedirects),f.targetSnapshot);this.events.next(p)}),Re(f=>{let p=!1;return A(f).pipe(ZE(this.paramsInheritanceStrategy,this.environmentInjector),ae({next:()=>p=!0,complete:()=>{p||this.cancelNavigationTransition(f,"",ke.NoDataFromResolver)}}))}),ae(f=>{let p=new Ec(f.id,this.urlSerializer.serialize(f.extractedUrl),this.urlSerializer.serialize(f.urlAfterRedirects),f.targetSnapshot);this.events.next(p)}))}),fc(l=>{let f=p=>{let h=[];p.routeConfig?.loadComponent&&!p.routeConfig._loadedComponent&&h.push(this.configLoader.loadComponent(p.routeConfig).pipe(ae(D=>{p.component=D}),V(()=>{})));for(let D of p.children)h.push(...f(D));return h};return Ei(f(l.targetSnapshot.root)).pipe(xt(null),ft(1))}),fc(()=>this.afterPreactivation()),Re(()=>{let{currentSnapshot:l,targetSnapshot:f}=o,p=this.createViewTransition?.(this.environmentInjector,l.root,f.root);return p?te(p).pipe(V(()=>o)):A(o)}),V(l=>{let f=lE(t.routeReuseStrategy,l.targetSnapshot,l.currentRouterState);return this.currentTransition=o=Q(C({},l),{targetRouterState:f}),this.currentNavigation.targetRouterState=f,o}),ae(()=>{this.events.next(new Yr)}),fE(this.rootContexts,t.routeReuseStrategy,l=>this.events.next(l),this.inputBindingEnabled),ft(1),ae({next:l=>{s=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new fn(l.id,this.urlSerializer.serialize(l.extractedUrl),this.urlSerializer.serialize(l.urlAfterRedirects))),this.titleStrategy?.updateTitle(l.targetRouterState.snapshot),l.resolve(!0)},complete:()=>{s=!0}}),Vs(this.transitionAbortSubject.pipe(ae(l=>{throw l}))),In(()=>{!s&&!a&&this.cancelNavigationTransition(o,"",ke.SupersededByNewNavigation),this.currentTransition?.id===o.id&&(this.currentNavigation=null,this.currentTransition=null)}),Mt(l=>{if(a=!0,Cm(l))this.events.next(new wt(o.id,this.urlSerializer.serialize(o.extractedUrl),l.message,l.cancellationCode)),dE(l)?this.events.next(new er(l.url,l.navigationBehaviorOptions)):o.resolve(!1);else{let f=new Zr(o.id,this.urlSerializer.serialize(o.extractedUrl),l,o.targetSnapshot??void 0);try{let p=rt(this.environmentInjector,()=>this.navigationErrorHandler?.(f));if(p instanceof Jr){let{message:h,cancellationCode:D}=cs(this.urlSerializer,p);this.events.next(new wt(o.id,this.urlSerializer.serialize(o.extractedUrl),h,D)),this.events.next(new er(p.redirectTo,p.navigationBehaviorOptions))}else{this.events.next(f);let h=t.errorHandler(l);o.resolve(!!h)}}catch(p){this.options.resolveNavigationPromiseOnError?o.resolve(!1):o.reject(p)}}return Se}))}))}cancelNavigationTransition(t,r,i){let o=new wt(t.id,this.urlSerializer.serialize(t.extractedUrl),r,i);this.events.next(o),t.resolve(!1)}isUpdatingInternalState(){return this.currentTransition?.extractedUrl.toString()!==this.currentTransition?.currentUrlTree.toString()}isUpdatedBrowserUrl(){let t=this.urlHandlingStrategy.extract(this.urlSerializer.parse(this.location.path(!0))),r=this.currentNavigation?.targetBrowserUrl??this.currentNavigation?.extractedUrl;return t.toString()!==r?.toString()&&!this.currentNavigation?.extras.skipLocationChange}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function aC(e){return e!==$r}var lC=(()=>{class e{static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275prov=_({token:e,factory:()=>w(cC),providedIn:"root"})}}return e})(),Bc=class{shouldDetach(n){return!1}store(n,t){}shouldAttach(n){return!1}retrieve(n){return null}shouldReuseRoute(n,t){return n.routeConfig===t.routeConfig}},cC=(()=>{class e extends Bc{static{this.\u0275fac=(()=>{let t;return function(i){return(t||(t=vl(e)))(i||e)}})()}static{this.\u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),km=(()=>{class e{static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275prov=_({token:e,factory:()=>w(uC),providedIn:"root"})}}return e})(),uC=(()=>{class e extends km{constructor(){super(...arguments),this.location=w(cn),this.urlSerializer=w(Vc),this.options=w(zc,{optional:!0})||{},this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.urlHandlingStrategy=w(Wc),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.currentUrlTree=new Et,this.rawUrlTree=this.currentUrlTree,this.currentPageId=0,this.lastSuccessfulId=-1,this.routerState=ym(null),this.stateMemento=this.createStateMemento()}getCurrentUrlTree(){return this.currentUrlTree}getRawUrlTree(){return this.rawUrlTree}restoredState(){return this.location.getState()}get browserPageId(){return this.canceledNavigationResolution!=="computed"?this.currentPageId:this.restoredState()?.\u0275routerPageId??this.currentPageId}getRouterState(){return this.routerState}createStateMemento(){return{rawUrlTree:this.rawUrlTree,currentUrlTree:this.currentUrlTree,routerState:this.routerState}}registerNonRouterCurrentEntryChangeListener(t){return this.location.subscribe(r=>{r.type==="popstate"&&t(r.url,r.state)})}handleRouterEvent(t,r){if(t instanceof Wr)this.stateMemento=this.createStateMemento();else if(t instanceof pn)this.rawUrlTree=r.initialUrl;else if(t instanceof is){if(this.urlUpdateStrategy==="eager"&&!r.extras.skipLocationChange){let i=this.urlHandlingStrategy.merge(r.finalUrl,r.initialUrl);this.setBrowserUrl(r.targetBrowserUrl??i,r)}}else t instanceof Yr?(this.currentUrlTree=r.finalUrl,this.rawUrlTree=this.urlHandlingStrategy.merge(r.finalUrl,r.initialUrl),this.routerState=r.targetRouterState,this.urlUpdateStrategy==="deferred"&&!r.extras.skipLocationChange&&this.setBrowserUrl(r.targetBrowserUrl??this.rawUrlTree,r)):t instanceof wt&&(t.code===ke.GuardRejected||t.code===ke.NoDataFromResolver)?this.restoreHistory(r):t instanceof Zr?this.restoreHistory(r,!0):t instanceof fn&&(this.lastSuccessfulId=t.id,this.currentPageId=this.browserPageId)}setBrowserUrl(t,r){let i=t instanceof Et?this.urlSerializer.serialize(t):t;if(this.location.isCurrentPathEqualTo(i)||r.extras.replaceUrl){let o=this.browserPageId,s=C(C({},r.extras.state),this.generateNgRouterState(r.id,o));this.location.replaceState(i,"",s)}else{let o=C(C({},r.extras.state),this.generateNgRouterState(r.id,this.browserPageId+1));this.location.go(i,"",o)}}restoreHistory(t,r=!1){if(this.canceledNavigationResolution==="computed"){let i=this.browserPageId,o=this.currentPageId-i;o!==0?this.location.historyGo(o):this.currentUrlTree===t.finalUrl&&o===0&&(this.resetState(t),this.resetUrlToCurrentUrlTree())}else this.canceledNavigationResolution==="replace"&&(r&&this.resetState(t),this.resetUrlToCurrentUrlTree())}resetState(t){this.routerState=this.stateMemento.routerState,this.currentUrlTree=this.stateMemento.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,t.finalUrl??this.rawUrlTree)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(t,r){return this.canceledNavigationResolution==="computed"?{navigationId:t,\u0275routerPageId:r}:{navigationId:t}}static{this.\u0275fac=(()=>{let t;return function(i){return(t||(t=vl(e)))(i||e)}})()}static{this.\u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})(),Vr=function(e){return e[e.COMPLETE=0]="COMPLETE",e[e.FAILED=1]="FAILED",e[e.REDIRECTING=2]="REDIRECTING",e}(Vr||{});function dC(e,n){e.events.pipe(Ne(t=>t instanceof fn||t instanceof wt||t instanceof Zr||t instanceof pn),V(t=>t instanceof fn||t instanceof pn?Vr.COMPLETE:(t instanceof wt?t.code===ke.Redirect||t.code===ke.SupersededByNewNavigation:!1)?Vr.REDIRECTING:Vr.FAILED),Ne(t=>t!==Vr.REDIRECTING),ft(1)).subscribe(()=>{n()})}function fC(e){throw e}var pC={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},hC={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"},ps=(()=>{class e{get currentUrlTree(){return this.stateManager.getCurrentUrlTree()}get rawUrlTree(){return this.stateManager.getRawUrlTree()}get events(){return this._events}get routerState(){return this.stateManager.getRouterState()}constructor(){this.disposed=!1,this.console=w(jo),this.stateManager=w(km),this.options=w(zc,{optional:!0})||{},this.pendingTasks=w(nn),this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.navigationTransitions=w(sC),this.urlSerializer=w(Vc),this.location=w(cn),this.urlHandlingStrategy=w(Wc),this._events=new me,this.errorHandler=this.options.errorHandler||fC,this.navigated=!1,this.routeReuseStrategy=w(lC),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.config=w(qc,{optional:!0})?.flat()??[],this.componentInputBindingEnabled=!!w(Hc,{optional:!0}),this.eventsSubscription=new ee,this.resetConfig(this.config),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe({error:t=>{this.console.warn(t)}}),this.subscribeToNavigationEvents()}subscribeToNavigationEvents(){let t=this.navigationTransitions.events.subscribe(r=>{try{let i=this.navigationTransitions.currentTransition,o=this.navigationTransitions.currentNavigation;if(i!==null&&o!==null){if(this.stateManager.handleRouterEvent(r,o),r instanceof wt&&r.code!==ke.Redirect&&r.code!==ke.SupersededByNewNavigation)this.navigated=!0;else if(r instanceof fn)this.navigated=!0;else if(r instanceof er){let s=r.navigationBehaviorOptions,a=this.urlHandlingStrategy.merge(r.url,i.currentRawUrl),l=C({browserUrl:i.extras.browserUrl,info:i.extras.info,skipLocationChange:i.extras.skipLocationChange,replaceUrl:i.extras.replaceUrl||this.urlUpdateStrategy==="eager"||aC(i.source)},s);this.scheduleNavigation(a,$r,null,l,{resolve:i.resolve,reject:i.reject,promise:i.promise})}}gC(r)&&this._events.next(r)}catch(i){this.navigationTransitions.transitionAbortSubject.next(i)}});this.eventsSubscription.add(t)}resetRootComponentType(t){this.routerState.root.component=t,this.navigationTransitions.rootComponentType=t}initialNavigation(){this.setUpLocationChangeListener(),this.navigationTransitions.hasRequestedNavigation||this.navigateToSyncWithBrowser(this.location.path(!0),$r,this.stateManager.restoredState())}setUpLocationChangeListener(){this.nonRouterCurrentEntryChangeSubscription??=this.stateManager.registerNonRouterCurrentEntryChangeListener((t,r)=>{setTimeout(()=>{this.navigateToSyncWithBrowser(t,"popstate",r)},0)})}navigateToSyncWithBrowser(t,r,i){let o={replaceUrl:!0},s=i?.navigationId?i:null;if(i){let l=C({},i);delete l.navigationId,delete l.\u0275routerPageId,Object.keys(l).length!==0&&(o.state=l)}let a=this.parseUrl(t);this.scheduleNavigation(a,r,s,o)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(t){this.config=t.map(Gc),this.navigated=!1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.nonRouterCurrentEntryChangeSubscription&&(this.nonRouterCurrentEntryChangeSubscription.unsubscribe(),this.nonRouterCurrentEntryChangeSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(t,r={}){let{relativeTo:i,queryParams:o,fragment:s,queryParamsHandling:a,preserveFragment:l}=r,f=l?this.currentUrlTree.fragment:s,p=null;switch(a??this.options.defaultQueryParamsHandling){case"merge":p=C(C({},this.currentUrlTree.queryParams),o);break;case"preserve":p=this.currentUrlTree.queryParams;break;default:p=o||null}p!==null&&(p=this.removeEmptyProps(p));let h;try{let D=i?i.snapshot:this.routerState.snapshot.root;h=hm(D)}catch{(typeof t[0]!="string"||t[0][0]!=="/")&&(t=[]),h=this.currentUrlTree.root}return mm(h,t,p,f??null)}navigateByUrl(t,r={skipLocationChange:!1}){let i=Gr(t)?t:this.parseUrl(t),o=this.urlHandlingStrategy.merge(i,this.rawUrlTree);return this.scheduleNavigation(o,$r,null,r)}navigate(t,r={skipLocationChange:!1}){return mC(t),this.navigateByUrl(this.createUrlTree(t,r),r)}serializeUrl(t){return this.urlSerializer.serialize(t)}parseUrl(t){try{return this.urlSerializer.parse(t)}catch{return this.urlSerializer.parse("/")}}isActive(t,r){let i;if(r===!0?i=C({},pC):r===!1?i=C({},hC):i=r,Gr(t))return Jh(this.currentUrlTree,t,i);let o=this.parseUrl(t);return Jh(this.currentUrlTree,o,i)}removeEmptyProps(t){return Object.entries(t).reduce((r,[i,o])=>(o!=null&&(r[i]=o),r),{})}scheduleNavigation(t,r,i,o,s){if(this.disposed)return Promise.resolve(!1);let a,l,f;s?(a=s.resolve,l=s.reject,f=s.promise):f=new Promise((h,D)=>{a=h,l=D});let p=this.pendingTasks.add();return dC(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(p))}),this.navigationTransitions.handleNavigationRequest({source:r,restoredState:i,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,rawUrl:t,extras:o,resolve:a,reject:l,promise:f,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),f.catch(h=>Promise.reject(h))}static{this.\u0275fac=function(r){return new(r||e)}}static{this.\u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}}return e})();function mC(e){for(let n=0;n<e.length;n++)if(e[n]==null)throw new S(4008,!1)}function gC(e){return!(e instanceof Yr)&&!(e instanceof er)}var vC=new T("");function Nm(e,...n){return tn([{provide:qc,multi:!0,useValue:e},[],{provide:ut,useFactory:yC,deps:[ps]},{provide:qn,multi:!0,useFactory:DC},n.map(t=>t.\u0275providers)])}function yC(e){return e.routerState.root}function DC(){let e=w(ht);return n=>{let t=e.get(lt);if(n!==t.components[0])return;let r=e.get(ps),i=e.get(bC);e.get(wC)===1&&r.initialNavigation(),e.get(EC,null,P.Optional)?.setUpPreloading(),e.get(vC,null,P.Optional)?.init(),r.resetRootComponentType(t.componentTypes[0]),i.closed||(i.next(),i.complete(),i.unsubscribe())}}var bC=new T("",{factory:()=>new me}),wC=new T("",{providedIn:"root",factory:()=>1});var EC=new T("");var Vt=(()=>{class e{darkModeSubject=new oe(!1);darkMode$=this.darkModeSubject.asObservable();ngOnInit(){console.log("abc");let t=localStorage.getItem("isDarkMode");if(t){let r=JSON.parse(t);this.darkModeSubject.next(r),this.applyDarkMode(r)}}setDarkMode(t){localStorage.setItem("isDarkMode",JSON.stringify(t)),this.darkModeSubject.next(t),this.applyDarkMode(t),t?this.trackEvent("click_darkmode_on"):this.trackEvent("click_darkmode_off")}applyDarkMode(t){console.log("applying darkmode or lightmode"),document.body.classList.toggle("dark-mode",t),document.body.classList.toggle("light-mode",!t)}trackEvent(t){gtag("event","click",{event_category:"jbaes_click",event_label:t,value:`Clicked on ${t}`})}constructor(){}static \u0275fac=function(r){return new(r||e)};static \u0275prov=_({token:e,factory:e.\u0275fac,providedIn:"root"})}return e})();var Rm=(()=>{class e{isDarkMode;static \u0275fac=function(r){return new(r||e)};static \u0275cmp=Le({type:e,selectors:[["app-modals"]],inputs:{isDarkMode:"isDarkMode"},standalone:!0,features:[Be],decls:177,vars:7,consts:[["id","modalIgnite","tabindex","-1","aria-labelledby","exampleModalLabel","aria-hidden","true",1,"modal","fade"],[1,"modal-dialog","modal-dialog-centered","modal-dialog-scrollable"],[1,"modal-content"],[1,"modal-header"],["id","exampleModalLabel",1,"modal-title","fs-5"],["type","button","data-bs-dismiss","modal","aria-label","Close",1,"btn-close"],[1,"modal-body"],[1,"small","text-muted"],["href","/assets/images/timeline/rsa2024-2.png","target","_blank"],["src","/assets/images/timeline/ignite-thumb-2.png","alt","...","loading","lazy","alt","Microsoft Ignite",1,"img-fluid","img-thumbnail","mb-3"],["href","https://www.linkedin.com/posts/jasper-baes_msignite-microsoft-ignite-activity-7264533908837253121-iBHZ?utm_source=share&utm_medium=member_desktop&rcm=ACoAACu1ctQBwrMlDr_Rk-HHWZ5I9zbYpP5Pztg","target","_blank"],[1,"btn","btn-primary","mb-4","me-3","text-light"],["href","https://www.linkedin.com/posts/jasper-baes_msignite-microsoft-ignite-activity-7265007906641567744-7JRl?utm_source=share&utm_medium=member_desktop&rcm=ACoAACu1ctQBwrMlDr_Rk-HHWZ5I9zbYpP5Pztg","target","_blank"],["href","https://www.linkedin.com/posts/jasper-baes_msignite-microsoft-ignite-activity-7265621574077104128-eb7Z?utm_source=share&utm_medium=member_desktop&rcm=ACoAACu1ctQBwrMlDr_Rk-HHWZ5I9zbYpP5Pztg","target","_blank"],["id","modalRSA","tabindex","-1","aria-labelledby","exampleModalLabel","aria-hidden","true",1,"modal","fade"],["href","/assets/images/timeline/rsa2024-1.png","target","_blank"],["src","/assets/images/timeline/rsa2024-1.png","alt","...","loading","lazy","alt","RSA Conference",1,"img-fluid","img-thumbnail","mb-3"],["src","/assets/images/timeline/rsa2024-2.png","alt","...","loading","lazy","alt","RSA Conference",1,"img-fluid","img-thumbnail","mb-3"],["id","modalGroupAnalyzer","tabindex","-1","aria-labelledby","exampleModalLabel","aria-hidden","true",1,"modal","fade"],[1,"text-decoration-underline"],["href","https://www.linkedin.com/feed/update/urn:li:activity:7157748584753319936/","target","_blank"],[1,"btn","btn-primary","mb-4","me-5","text-light","position-relative"],[1,"position-absolute","top-0","start-100","translate-middle","badge","rounded-pill","text-bg-dark"],["href","https://github.com/jasperbaes/Microsoft-Cloud-Group-Analyzer","target","_blank"],["src","/assets/images/timeline/mcga-example-report.png","alt","Microsoft Cloud Group Analyzer","loading","lazy",1,"img-fluid","img-thumbnail","mb-3"],["src","/assets/images/timeline/mcga.png","alt","Microsoft Cloud Group Analyzer","loading","lazy",1,"img-fluid","img-thumbnail","mb-3"],["id","modalSOP","tabindex","-1","aria-labelledby","exampleModalLabel","aria-hidden","true",1,"modal","fade"],["href","https://security.toreon.com","target","_blank"],["src","/assets/images/timeline/sop-2.png","alt","...","alt","Toreon Security Office Portal","loading","lazy",1,"img-fluid","img-thumbnail","mb-3"],["src","/assets/images/timeline/sop-3.png","alt","...","alt","Toreon Security Office Portal","loading","lazy",1,"img-fluid","img-thumbnail","mb-3"],["id","modalCA","tabindex","-1","aria-labelledby","exampleModalLabel","aria-hidden","true",1,"modal","fade"],["href","https://www.linkedin.com/feed/update/urn:li:activity:7136017579634040832/","target","_blank"],["src","/assets/images/timeline/ConditionalAccessSimulatorPreview.png","alt","CA Simulator","loading","lazy",1,"img-fluid","img-thumbnail","mb-3"],["id","modalGPT","tabindex","-1","aria-labelledby","exampleModalLabel","aria-hidden","true",1,"modal","fade"],["href","/assets/images/timeline/chatgpt.png","target","_blank"],["src","/assets/images/timeline/chatgpt.png","alt","chatgpt","loading","lazy",1,"img-fluid","img-thumbnail","mb-3"],["href","https://www.linkedin.com/feed/update/urn:li:activity:7094269426161577985/","target","_blank"],["href","/assets/images/timeline/story-7-1.png","target","_blank"],["src","/assets/images/timeline/story-7-1.png","alt","story","loading","lazy",1,"img-fluid","img-thumbnail","mb-3"],["href","/assets/images/timeline/story-7-2.png","target","_blank"],["src","/assets/images/timeline/story-7-2.png","alt","story","loading","lazy",1,"img-fluid","img-thumbnail","mb-3"],["href","/assets/images/timeline/story-7-3.png","target","_blank"],["src","/assets/images/timeline/story-7-3.png","alt","story","loading","lazy",1,"img-fluid","img-thumbnail","mb-3"],["href","/assets/images/timeline/story-7-4.png","target","_blank"],["src","/assets/images/timeline/story-7-4.png","alt","story","loading","lazy",1,"img-fluid","img-thumbnail","mb-3"],["href","/assets/images/timeline/story-7-5.png","target","_blank"],["src","/assets/images/timeline/story-7-5.png","alt","story","loading","lazy",1,"img-fluid","img-thumbnail","mb-3"],["href","/assets/images/timeline/story-7-6.png","target","_blank"],["src","/assets/images/timeline/story-7-6.png","alt","story","loading","lazy",1,"img-fluid","img-thumbnail","mb-3"],["id","modalTOTY","tabindex","-1","aria-labelledby","exampleModalLabel","aria-hidden","true",1,"modal","fade"],["href","/assets/images/timeline/toty2022.jpg","target","_blank"],["src","/assets/images/timeline/toty2022.jpg","alt","Toreonite of the year 2022","loading","lazy",1,"img-fluid","img-thumbnail","mb-3"]],template:function(r,i){r&1&&(c(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"h1",4)(5,"strong"),d(6,"Hello Chicago \u{1F44B}"),u()(),y(7,"button",5),u(),c(8,"div",6)(9,"p"),d(10,"Microsoft Ignite is an annual conference where Microsoft showcases its latest innovations, products, and services, and provides training and networking opportunities."),u(),c(11,"p"),d(12,"Happy to be part of the event "),c(13,"small",7),d(14,"(Nov 18 - Nov 22, 2024)"),u(),d(15,"! \u{1F64C}"),u(),c(16,"a",8),y(17,"img",9),u(),c(18,"a",10)(19,"button",11)(20,"strong"),d(21,"Vlog pre-day"),u()()(),c(22,"a",12)(23,"button",11)(24,"strong"),d(25,"Vlog day 1"),u()()(),c(26,"a",13)(27,"button",11)(28,"strong"),d(29,"Vlog day 2"),u()()()()()()(),c(30,"div",14)(31,"div",1)(32,"div",2)(33,"div",3)(34,"h1",4)(35,"strong"),d(36,"Hello San Francisco \u{1F44B}"),u()(),y(37,"button",5),u(),c(38,"div",6)(39,"p"),d(40,"Where some innovative tool ideas and lots of focused work have taken me? ... RSA Conference San Francisco apperently! \u{1F680}"),u(),c(41,"p"),d(42,"Together with Wouter Avondstondt, we're not only promoting our Microsoft Cloud Compliance tools, but also exploring new ways to enhance our Toreon services."),u(),c(43,"p"),d(44,"You can discover the capabilities of the Compliance Manager and Conditional Access Simulator at the Flanders booth! \u{1F64C}"),u(),c(45,"a",15),y(46,"img",16),u(),c(47,"a",8),y(48,"img",17),u()()()()(),c(49,"div",18)(50,"div",1)(51,"div",2)(52,"div",3)(53,"h1",4)(54,"strong"),d(55,"Microsoft Cloud Group Analyzer"),u()(),y(56,"button",5),u(),c(57,"div",6)(58,"p"),d(59,"Many IT and security admins struggle to keep track of where their Entra ID Groups are used. This is often in multiple locations in their environment and configured by multiple admins. Without continuously updating documentation or syncing with other admins, they\u2019re all using groups blindly, potentially causing "),c(60,"span",19),d(61,"unintended security or user impact"),u(),d(62," through changes in group memberships."),u(),c(63,"p"),d(64,"I\u2019ve created a small script giving you these insights, and I use it almost daily! Feel free to use, and to reach out for feedback or suggestions!"),u(),c(65,"p"),d(66,"The script output:"),u(),c(67,"a",20)(68,"button",21)(69,"strong"),d(70,"Open LinkedIn post"),u(),c(71,"span",22),d(72," 540+ \u{1F90D} "),u()()(),c(73,"a",23)(74,"button",11)(75,"strong"),d(76,"Open Github"),u()()(),c(77,"a",20),y(78,"img",24),u(),c(79,"a",20),y(80,"img",25),u()()()()(),c(81,"div",26)(82,"div",1)(83,"div",2)(84,"div",3)(85,"h1",4)(86,"strong"),d(87,"Security Office Portal"),u()(),y(88,"button",5),u(),c(89,"div",6)(90,"p"),d(91,"I've started building the Toreon Security Office Portal in 2023. The Security Office Portal is an online, continuous compliance scanning dashboard for M365, Azure, AWS and local AD."),u(),c(92,"p"),d(93,"I'm in the lead for development of this service. This tool is actively being used by clients of Toreon."),u(),c(94,"a",27)(95,"button",11)(96,"strong"),d(97,"Open Security Office Portal"),u()()(),c(98,"a",27),y(99,"img",28),u(),c(100,"a",27),y(101,"img",29),u()()()()(),c(102,"div",30)(103,"div",1)(104,"div",2)(105,"div",3)(106,"h1",4)(107,"strong"),d(108,"Conditional Access Simulator"),u()(),y(109,"button",5),u(),c(110,"div",6)(111,"p"),d(112,"With the Conditional Access Simulator, you can validate - in an automated way - what your access policies would permit or not in both common and more extraordinary situations - including potentially malicious access. This brings insights in your current attack surface and allows you to finetune existing policies. It can also help you to create new policies to fully suit your vision regarding access."),u(),c(113,"p"),d(114,"This service was years ahead of Microsoft and competitor tooling. Meanwhile, Microsoft is working on incorporating this method of validation into their own platform."),u(),c(115,"a",31)(116,"button",11)(117,"strong"),d(118,"Open Video"),u()()(),c(119,"a",31),y(120,"img",32),u()()()()(),c(121,"div",33)(122,"div",1)(123,"div",2)(124,"div",3)(125,"h1",4)(126,"strong"),d(127,"Business chatGPT \u2728"),u()(),y(128,"button",5),u(),c(129,"div",6)(130,"a",34),y(131,"img",35),u(),c(132,"p"),d(133,"Guess what? Blocking A.I. sites like ChatGPT doesn't stop your users from finding other ways to chat it up with the machines. Some of these alternatives might even be sketchier when it comes to protecting your (sensitive) data. But don't worry, this post got your back! \u{1F447}"),u(),c(134,"p"),d(135,"I've created up a simple guide that shows you how to create your very own private ChatGPT using Azure. No tech wizardry required \u2013 you can have it up and running in just 30 minutes! This setup makes sure your data takes a detour through a private AI model instance in Azure's OpenAI, so you're not sending your data through who-knows-where. Plus, authentication is provided with Azure AD. \u{1F6E1}\uFE0F"),u(),c(136,"p"),d(137,"\u{1F4B0}When it comes to costs, you may consider downsizing to an Azure CosmosDB Free Tier and utilizing a free/B1 Azure App Service."),u(),c(138,"a",36)(139,"button",11)(140,"strong"),d(141,"Open post"),u()()(),c(142,"p"),d(143,"Guide:"),u(),c(144,"a",37),y(145,"img",38),u(),c(146,"a",39),y(147,"img",40),u(),c(148,"a",41),y(149,"img",42),u(),c(150,"a",43),y(151,"img",44),u(),c(152,"a",45),y(153,"img",46),u(),c(154,"a",47),y(155,"img",48),u()()()()(),c(156,"div",49)(157,"div",1)(158,"div",2)(159,"div",3)(160,"h1",4)(161,"strong"),d(162,"Toreonite of the Year"),u()(),y(163,"button",5),u(),c(164,"div",6)(165,"p"),d(166,"At the Toreon Brainshare in October 2022, I received the award of "),c(167,"span",19),d(168,"Intrapreneur of the year"),u(),d(169," and was elected as "),c(170,"span",19),d(171,"Toreonite of the year"),u(),d(172," by my colleagues, which makes this even more special! \u{1F947}"),u(),c(173,"p"),d(174,"Receiving such accolades from my colleagues after just one year of working truly means a lot to me."),u(),c(175,"a",50),y(176,"img",51),u()()()()()),r&2&&(re("data-bs-theme",i.isDarkMode?"dark":"light"),m(30),re("data-bs-theme",i.isDarkMode?"dark":"light"),m(19),re("data-bs-theme",i.isDarkMode?"dark":"light"),m(32),re("data-bs-theme",i.isDarkMode?"dark":"light"),m(21),re("data-bs-theme",i.isDarkMode?"dark":"light"),m(19),re("data-bs-theme",i.isDarkMode?"dark":"light"),m(35),re("data-bs-theme",i.isDarkMode?"dark":"light"))}})}return e})();var IC=(e,n)=>({"bi-lightbulb text-white":e,"bi-lightbulb-fill text-lightorange":n}),Om=(e,n)=>({"bg-black":e,"bg-white":n}),Ut=(e,n)=>({"bg-darker hover-bg-lighter":e,"bg-lightgrey hover-bg-darker":n}),Ct=(e,n)=>({"text-white-50":e,"text-black-50":n}),It=(e,n)=>({"text-white-50":e,"text-dark-emphasis":n}),SC=(e,n)=>({"bg-darker":e,"bg-lightgrey":n}),_C=(e,n)=>({"text-white":e,"text-dark":n}),Pm=(()=>{class e{appComponent;global;title="Jasper Baes";timeline=[];isDarkMode;yearsExperience=Math.round((new Date().getTime()-new Date("2021-09-06").getTime())/(1e3*3600*24*365.25)*2)/2;projects=Math.round((new Date().getTime()-new Date("2021-09-06").getTime())/(1e3*3600*24*7)/2.5);constructor(t,r){this.appComponent=t,this.global=r}ngOnInit(){this.global.darkMode$.subscribe(r=>{this.isDarkMode=r});let t=localStorage.getItem("isDarkMode");t&&this.global.setDarkMode(JSON.parse(t))}receiveTimeline(t){this.timeline=t}toggleDarkMode(){this.global.setDarkMode(!this.isDarkMode)}trackEvent(t){this.global.trackEvent(t)}static \u0275fac=function(r){return new(r||e)(Z(rr),Z(Vt))};static \u0275cmp=Le({type:e,selectors:[["app-portfolio"]],standalone:!0,features:[Be],decls:204,vars:128,consts:[[1,"main"],[1,"content"],[1,"content","position-relative"],[1,"bi","fs-3","position-absolute","top-0","end-0","m-3","pointer",3,"click","ngClass"],[1,"row","d-block","d-sm-none","d-flex","align-items-center","justify-content-center"],[1,"p-0","mt-4","position-relative","border","border-white",2,"border-radius","1.5rem","width","85%",3,"ngClass"],[1,"d-flex","justify-content-center","position-absolute","w-100",2,"top","-2rem"],["src","assets/images/jasper.webp","alt","Jasper Baes",1,"rounded-circle",2,"width","40%"],[1,"col-10","col-xs-10","col-sm-8","col-md-8","py-4","mx-auto","text-center","mt-5"],[1,"mt-5","mb-0"],[1,"text-primary"],[1,"mt-3","mb-1"],[1,"badge","text-dark","rounded-pill","bg-grey","p-2","me-2"],[1,"badge","text-dark","rounded-pill","bg-grey","p-2","me-2","mt-1"],["href","#work",1,"btn","btn-primary","btn","mt-4","me-2","text-light","ps-2",3,"click"],["id","arrow-icon",1,"bi","bi-arrow-down","m-0","me-2"],["href","/posts#work",1,"btn","btn-outline-primary","btn","mt-4","me-2","text-primary","ps-2",3,"click"],["href","https://www.linkedin.com/in/jasper-baes/","target","_blank"],["src","assets/images/linkedin-logo.webp","alt","Logo LinkedIn",1,"ms-3","mt-4",2,"width","1.5rem",3,"click"],[1,"position-relative"],[1,"row","d-none","d-sm-block","d-flex","align-items-center","justify-content-center","mt-2"],[1,"col-12","d-flex","justify-content-center"],[1,"row","p-0","mt-5","my-auto","border","border-white",2,"border-radius","1.5rem","width","85%",3,"ngClass"],[1,"col-4","align-self-end","ps-1","pe-0",2,"position","relative","z-index","1"],["src","assets/images/jasper-transparant.webp","alt","Jasper Baes",1,"w-100",2,"margin-top","-50px"],[1,"col","pt-4","pb-3","pe-4"],[1,"mt-1","mb-0","poppins-regular"],[1,"mt-3","mb-0"],[1,"badge","text-dark","rounded-pill","bg-grey","p-2","me-2","mt-1","mb-2"],["href","#work",1,"btn","btn-primary","btn","mt-3","me-2","text-light","ps-2",3,"click"],["href","/posts",1,"btn","btn-outline-primary","btn","mt-3","me-2","text-primary","ps-2",3,"click"],["src","assets/images/linkedin-logo.webp","alt","Logo LinkedIn",1,"ms-3","mt-3",2,"width","1.3rem",3,"click"],[1,"mt-5","d-flex","flex-column","align-items-center","justify-content-center"],[1,"mt-5","fs-4","text-center"],[1,"text-black-100"],[1,"d-block","d-sm-none","p-3","mt-3","text-center",2,"border-radius","1.5rem"],["alt","Jasper Baes skills",1,"w-100",2,"border-radius","1.3rem",3,"src"],[1,"d-none","d-sm-block","p-3","mt-3","text-center",2,"border-radius","1.5rem"],["id","work",1,"mt-5","d-flex","flex-column","align-items-center","justify-content-center"],[1,"row","mt-3","gy-3","w-100"],[1,"col-12","col-sm-12","d-flex","align-items-stretch","pointer"],[1,"row","p-0","m-0","w-100",2,"border-radius","1.5rem",3,"ngClass"],[1,"col-12","col-md-7","pt-3","ps-3","pb-3","pe-1"],[1,"mt-1","poppins-medium",3,"ngClass"],[1,"mt-4","mb-0","poppins-bold"],[1,"mb-3","lh-sm",3,"ngClass"],["href","/attack-paths","target","_blank",1,"btn","btn-outline-primary","mt-0","me-2","ps-2",3,"click"],["id","arrow-icon-right",1,"bi","bi-arrow-right","m-0"],[1,"col-12","col-md-5","d-flex","align-items-center","justify-content-end","m-0","p-0"],[1,"col-2","col-md-0"],[1,"col-10","col-md-12"],["src","/assets/images/timeline/entra-id-attack-paths.webp","alt","Mockup Microsoft Cloud Group Analyzer",1,"w-100",2,"border-bottom-right-radius","1.5rem"],[1,"col-12","col-sm-8","d-flex","align-items-stretch"],[1,"col-12","col-md-4","d-flex","align-items-center","justify-content-end","m-0","p-0"],["src","/CAF/images/1.png","alt","Mockup Security Office Portal Toreon",1,"w-100",2,"border-bottom-right-radius","1.5rem"],["href","/Conditional-Access-Blueprint","target","_blank",1,"btn","btn-outline-primary","mt-0","me-2","ps-2",3,"click"],["data-bs-toggle","modal","data-bs-target","#modalIgnite",1,"col-12","col-sm-4","d-flex","align-items-stretch","pointer",3,"click"],[1,"p-3","w-100",2,"border-radius","1.5rem",3,"ngClass"],["src","/assets/images/timeline/microsoft-logo.png","alt","Logo Microsoft",1,"mt-3","mb-3",2,"width","6rem"],[1,"mt-3","mb-0","poppins-bold"],[1,"mb-1","lh-sm",3,"ngClass"],["data-bs-toggle","modal","data-bs-target","#modalRSA",1,"col-12","col-sm-4","d-flex","align-items-stretch","pointer",3,"click"],["alt","Logo RSA Conference",1,"mt-3","mb-3","w-50",3,"src"],[1,"mb-1","mb-0","lh-sm",3,"ngClass"],["data-bs-toggle","modal","data-bs-target","#modalGroupAnalyzer",1,"col-12","col-sm-8","d-flex","align-items-stretch","pointer",3,"click"],[1,"col-12","col-md-6","pt-3","ps-3","pb-3","pe-1"],["src","/assets/images/timeline/mcga-logo.webp","alt","Logo Microsoft Cloud Group Analyzer",1,"mt-1",2,"width","4rem"],[1,"col-12","col-md-6","d-flex","align-items-center","justify-content-end","m-0","p-0"],["src","/assets/images/timeline/mcga-mockup.webp","alt","Mockup Microsoft Cloud Group Analyzer",1,"w-100"],["data-bs-toggle","modal","data-bs-target","#modalSOP",1,"col-12","col-sm-8","d-flex","align-items-stretch","pointer",3,"click"],["src","assets/images/toreon-logo.png","alt","Logo Toreon",1,"mt-1",2,"width","1rem"],["src","/assets/images/timeline/sop-crop-1.webp","alt","Mockup Security Office Portal Toreon",1,"w-100",2,"border-bottom-right-radius","1.5rem"],["data-bs-toggle","modal","data-bs-target","#modalGPT",1,"col-12","col-sm-4","d-flex","align-items-stretch","pointer",3,"click"],[1,"mt-5","mb-0","poppins-bold"],["data-bs-toggle","modal","data-bs-target","#modalCA",1,"col-12","col-sm-4","d-flex","align-items-stretch","pointer",3,"click"],["data-bs-toggle","modal","data-bs-target","#modalTOTY",1,"col-12","col-sm-8","d-flex","align-items-stretch","pointer",3,"click"],[1,"text-decoration-underline"],["src","assets/images/toreoniteOfTheYear.webp","alt","Toreon Toreonite of the year Jasper Baes",1,"w-100"],[1,"fs-4","mt-5","text-center"],["href","/posts",1,"text-decoration-underline","position-relative","pointer","hover-lighter",3,"click","ngClass"],[1,"fs-4","mt-3","text-center"],["type","button",1,"btn","btn-primary","btn","me-2","text-light",3,"click"],[3,"isDarkMode"]],template:function(r,i){r&1&&(c(0,"main",0)(1,"div",1)(2,"div",2)(3,"i",3),I("click",function(){return i.toggleDarkMode()}),u()(),c(4,"div",4)(5,"div",5)(6,"div",6),y(7,"img",7),u(),c(8,"div",8)(9,"h3",9)(10,"strong"),d(11,"I'm Jasper Baes\u270C\u{1F3FC} a "),c(12,"span",10),d(13,"Microsoft Cloud Security Consultant"),u(),d(14," from Belgium"),u()(),c(15,"p",11),d(16,"I secure organizations with my expertise in:"),u(),c(17,"span",12),d(18,"Microsoft Cloud Security"),u(),c(19,"span",13),d(20,"Security Compliance"),u(),c(21,"span",13),d(22,"Building Security Tools"),u(),c(23,"a",14),I("click",function(){return i.trackEvent("click_discoverMyWork")}),y(24,"i",15),c(25,"strong"),d(26,"Discover my work"),u()(),c(27,"a",16),I("click",function(){return i.trackEvent("click_posts")}),c(28,"strong"),d(29,"Blog"),u()(),c(30,"a",17)(31,"img",18),I("click",function(){return i.trackEvent("click_linkedin")}),u()()()()(),c(32,"div",19)(33,"div",20)(34,"div",21)(35,"div",22)(36,"div",23),y(37,"img",24),u(),c(38,"div",25)(39,"h3",26)(40,"strong"),d(41,"I'm Jasper Baes\u270C\u{1F3FC}a "),c(42,"span",10),d(43,"Microsoft Cloud Security Consultant"),u(),d(44," from Belgium"),u()(),c(45,"p",27),d(46,"I secure organizations with my expertise in:"),u(),c(47,"span",13),d(48,"Microsoft Cloud Security"),u(),c(49,"span",13),d(50,"Security Compliance"),u(),c(51,"span",28),d(52,"Building Security Tools"),u(),c(53,"a",29),I("click",function(){return i.trackEvent("click_discoverMyWork")}),y(54,"i",15),c(55,"strong"),d(56,"Discover my work"),u()(),c(57,"a",30),I("click",function(){return i.trackEvent("click_posts")}),c(58,"strong"),d(59,"Blog"),u()(),c(60,"a",17)(61,"img",31),I("click",function(){return i.trackEvent("click_linkedin")}),u()()()()()()(),c(62,"div",32)(63,"p",33),d(64,"Here\u2019s the spread of my "),c(65,"span",34),d(66,"core skills"),u(),d(67,":"),u(),c(68,"div",35),y(69,"img",36),u(),c(70,"div",37),y(71,"img",36),u()(),c(72,"div",38)(73,"p",33),d(74,"Enough high-level stuff. Discover some of my key work:"),u(),c(75,"div",39)(76,"div",40)(77,"div",41)(78,"div",42)(79,"p",43)(80,"strong"),d(81,"2025"),u()(),c(82,"p",44),d(83,"Entra ID Attack Paths and privilege escalations"),u(),c(84,"p",45),d(85,"I build a website that visualizes attack paths and privilege escalations for Entra ID and Graph API. It also allows to run security assessments to view the actual status of Entra roles and Graph API permissions on a Microsoft tenant."),u(),c(86,"a",46),I("click",function(){return i.trackEvent("click_entraIDAttackPaths")}),y(87,"i",47),u()(),c(88,"div",48),y(89,"div",49),c(90,"div",50),y(91,"img",51),u()()()(),c(92,"div",52)(93,"div",41)(94,"div",53),y(95,"img",54),u(),c(96,"div",42)(97,"p",43)(98,"strong"),d(99,"2024"),u()(),c(100,"p",44),d(101,"Conditional Access Blueprint"),u(),c(102,"p",45),d(103,"I created a framework: 4 tools to streamline the creation and validation of organization's access strategy and policies"),u(),c(104,"a",55),I("click",function(){return i.trackEvent("click_CAB")}),y(105,"i",47),u()()()(),c(106,"div",56),I("click",function(){return i.trackEvent("click_post_Ignite")}),c(107,"div",57)(108,"p",43)(109,"strong"),d(110,"2024"),u()(),y(111,"img",58),c(112,"p",59),d(113,"I was at Microsoft Ignite \u2728"),u(),c(114,"p",60),d(115,"Exploring the latest Microsoft security innovations in Chicago!"),u()()(),c(116,"div",61),I("click",function(){return i.trackEvent("click_post_RSA")}),c(117,"div",57)(118,"p",43)(119,"strong"),d(120,"2024"),u()(),y(121,"img",62),c(122,"p",59),d(123,"Hi San Francisco \u{1F44B}"),u(),c(124,"p",63),d(125,"I promoted my tools at RSA, one of the biggest security conferences in the world"),u()()(),c(126,"div",64),I("click",function(){return i.trackEvent("click_post_GroupAnalyzer")}),c(127,"div",41)(128,"div",65)(129,"p",43)(130,"strong"),d(131,"2024"),u()(),y(132,"img",66),c(133,"p",59),d(134,"Microsoft Cloud Group Analyzer"),u(),c(135,"p",45),d(136,"I build a tool detecting where groups and users are configured within your Microsoft Cloud environment"),u()(),c(137,"div",67),y(138,"div",49),c(139,"div",50),y(140,"img",68),u()()()(),c(141,"div",69),I("click",function(){return i.trackEvent("click_post_SOP")}),c(142,"div",41)(143,"div",65)(144,"p",43)(145,"strong"),d(146,"2023"),u()(),y(147,"img",70),c(148,"p",59),d(149,"Security Office Portal"),u(),c(150,"p",60),d(151,"I build a security compliance scanning dashboard with 900+ checks, widely used by Toreon clients"),u()(),c(152,"div",67),y(153,"div",49),c(154,"div",50),y(155,"img",71),u()()()(),c(156,"div",72),I("click",function(){return i.trackEvent("click_post_GPT")}),c(157,"div",57)(158,"p",43)(159,"strong"),d(160,"2023"),u()(),c(161,"p",73),d(162,"Business chatGPT \u2728"),u(),c(163,"p",60),d(164,"I've created a chatGPT setup guide to interact with your ISMS policies, documentation or files"),u()()(),c(165,"div",74),I("click",function(){return i.trackEvent("click_post_CA")}),c(166,"div",57)(167,"p",43)(168,"strong"),d(169,"2022"),u()(),y(170,"img",70),c(171,"p",59),d(172,"Conditional Access Simulator"),u(),c(173,"p",60),d(174,"I made a tool simulating common and malicious access cases on your M365 environment"),u()()(),c(175,"div",75),I("click",function(){return i.trackEvent("click_post_TOTY")}),c(176,"div",41)(177,"div",65)(178,"p",43)(179,"strong"),d(180,"2022"),u()(),y(181,"img",70),c(182,"p",59),d(183,"Toreonite of the Year"),u(),c(184,"p",60),d(185,"After just 1 year of working at Toreon, my colleagues awarded me as "),c(186,"span",76),d(187,"Toreonite of the Year"),u()()(),c(188,"div",67),y(189,"div",49),c(190,"div",50),y(191,"img",77),u()()()()(),c(192,"p",78),d(193,"... and a bunch of other achievements you can find on my "),c(194,"a",79),I("click",function(){return i.trackEvent("click_posts")}),d(195," blog "),u()()(),c(196,"div",32)(197,"p",80),d(198,"If you'd like to learn more about me or my work, hit me up!"),u(),c(199,"a",17)(200,"button",81),I("click",function(){return i.trackEvent("click_linkedin")}),c(201,"strong"),d(202,"LinkedIn"),u()()()()()(),y(203,"app-modals",82)),r&2&&(m(3),g("ngClass",E(35,IC,i.isDarkMode,!i.isDarkMode)),m(2),g("ngClass",E(38,Om,i.isDarkMode,!i.isDarkMode)),m(30),g("ngClass",E(41,Om,i.isDarkMode,!i.isDarkMode)),m(34),g("src",i.isDarkMode?"assets/images/skills-vertical-dark.webp":"assets/images/skills-vertical.webp",je),m(2),g("src",i.isDarkMode?"assets/images/skills-dark.webp":"assets/images/skills.webp",je),m(6),g("ngClass",E(44,Ut,i.isDarkMode,!i.isDarkMode)),m(2),g("ngClass",E(47,Ct,i.isDarkMode,!i.isDarkMode)),m(5),g("ngClass",E(50,It,i.isDarkMode,!i.isDarkMode)),m(9),g("ngClass",E(53,SC,i.isDarkMode,!i.isDarkMode)),m(4),g("ngClass",E(56,Ct,i.isDarkMode,!i.isDarkMode)),m(5),g("ngClass",E(59,It,i.isDarkMode,!i.isDarkMode)),m(5),g("ngClass",E(62,Ut,i.isDarkMode,!i.isDarkMode)),m(),g("ngClass",E(65,Ct,i.isDarkMode,!i.isDarkMode)),m(6),g("ngClass",E(68,It,i.isDarkMode,!i.isDarkMode)),m(3),g("ngClass",E(71,Ut,i.isDarkMode,!i.isDarkMode)),m(),g("ngClass",E(74,Ct,i.isDarkMode,!i.isDarkMode)),m(3),g("src",i.isDarkMode?"/assets/images/timeline/rsa-logo-white.png":"/assets/images/timeline/rsa-logo-black.png",je),m(3),g("ngClass",E(77,It,i.isDarkMode,!i.isDarkMode)),m(3),g("ngClass",E(80,Ut,i.isDarkMode,!i.isDarkMode)),m(2),g("ngClass",E(83,Ct,i.isDarkMode,!i.isDarkMode)),m(6),g("ngClass",E(86,It,i.isDarkMode,!i.isDarkMode)),m(7),g("ngClass",E(89,Ut,i.isDarkMode,!i.isDarkMode)),m(2),g("ngClass",E(92,Ct,i.isDarkMode,!i.isDarkMode)),m(6),g("ngClass",E(95,It,i.isDarkMode,!i.isDarkMode)),m(7),g("ngClass",E(98,Ut,i.isDarkMode,!i.isDarkMode)),m(),g("ngClass",E(101,Ct,i.isDarkMode,!i.isDarkMode)),m(5),g("ngClass",E(104,It,i.isDarkMode,!i.isDarkMode)),m(3),g("ngClass",E(107,Ut,i.isDarkMode,!i.isDarkMode)),m(),g("ngClass",E(110,Ct,i.isDarkMode,!i.isDarkMode)),m(6),g("ngClass",E(113,It,i.isDarkMode,!i.isDarkMode)),m(3),g("ngClass",E(116,Ut,i.isDarkMode,!i.isDarkMode)),m(2),g("ngClass",E(119,Ct,i.isDarkMode,!i.isDarkMode)),m(6),g("ngClass",E(122,It,i.isDarkMode,!i.isDarkMode)),m(10),g("ngClass",E(125,_C,i.isDarkMode,!i.isDarkMode)),m(9),g("isDarkMode",i.isDarkMode))},dependencies:[bt,Wn,Rm],styles:["#arrow-icon[_ngcontent-%COMP%]{display:inline-block;margin-left:5px;animation:_ngcontent-%COMP%_moveDown 1s infinite}@keyframes _ngcontent-%COMP%_moveDown{0%,to{transform:translateY(0)}50%{transform:translateY(5px)}}#arrow-icon-right[_ngcontent-%COMP%]{display:inline-block;margin-left:5px;animation:_ngcontent-%COMP%_moveRight 1s infinite}@keyframes _ngcontent-%COMP%_moveRight{0%,to{transform:translate(0)}50%{transform:translate(5px)}}"]})}return e})();var MC=(e,n)=>({"bi-lightbulb text-white":e,"bi-lightbulb-fill text-lightorange":n}),Lm=(e,n)=>({"bg-black":e,"bg-white":n}),xC=(e,n)=>({"text-light":e,"text-dark":n}),jm=(e,n)=>({"btn-outline-light":e,"btn-outline-secondary":n}),Bm=(e,n)=>({"bg-dark":e,"bg-white":n}),Vm=(e,n)=>({"text-white":e,"text-dark":n}),TC=(e,n)=>({"text-light":e,"text-muted":n}),AC=(e,n,t,r)=>({"btn-light border border-white text-dark":e,"btn-outline-light border border-white text-white":n,"btn-primary text-light":t,"btn-outline-secondary":r}),kC=(e,n)=>({"text-white":e,"text-black":n}),NC=(e,n)=>({"text-white-50":e,"text-black-50":n}),RC=(e,n)=>({"text-bg-secondary":e,"bg-grey text-dark":n}),OC=(e,n)=>({"text-danger":e,"text-muted":n});function PC(e,n){if(e&1){let t=jt();c(0,"li",67)(1,"button",68),I("click",function(i){let o=Pt(t).$implicit;return ie().toggleTag(o),Ft(i.stopPropagation())}),d(2),u()()}if(e&2){let t=n.$implicit,r=ie();m(),g("ngClass",ch(2,AC,r.isDarkMode&&r.selectedTags.includes(t),r.isDarkMode&&!r.selectedTags.includes(t),!r.isDarkMode&&r.selectedTags.includes(t),!r.isDarkMode&&!r.selectedTags.includes(t))),m(),at(" ",t," ")}}function FC(e,n){if(e&1&&y(0,"img",77),e&2){let t=ie().$implicit;g("src",t.thumbnail,je)}}function LC(e,n){if(e&1&&(c(0,"span",78),d(1),u()),e&2){let t=n.$implicit,r=ie(2);g("ngClass",E(2,RC,r.isDarkMode,!r.isDarkMode)),m(),sn(t)}}function jC(e,n){if(e&1){let t=jt();c(0,"a",79),I("click",function(i){return Pt(t),Ft(i.stopPropagation())}),y(1,"i",80),c(2,"span",81),d(3),u()()}if(e&2){let t=ie().$implicit;g("href",t.likes.url,je)("ngClass",E(3,OC,t.likes.amount>0,t.likes.amount===0)),m(3),sn(t.likes.amount)}}function BC(e,n){if(e&1){let t=jt();c(0,"div",69)(1,"div",70),I("click",function(){let i=Pt(t).$implicit,o=ie();return Ft(o.clickModal(i.id))}),ne(2,FC,1,1,"img",71),c(3,"div",72)(4,"h5",73),d(5),ne(6,LC,2,5,"span",74),u(),c(7,"small",75),d(8),ne(9,jC,4,6,"a",76),u()()()()}if(e&2){let t=n.$implicit,r=ie();m(),g("id",t==null?null:t.id),m(),g("ngIf",t.thumbnail),m(2),g("ngClass",E(8,kC,r.isDarkMode,!r.isDarkMode)),m(),at(" ",t.title," "),m(),g("ngForOf",t==null?null:t.tags),m(),g("ngClass",E(11,NC,r.isDarkMode,!r.isDarkMode)),m(),at(" ",t.date," "),m(),g("ngIf",t.likes==null?null:t.likes.url)}}function VC(e,n){if(e&1&&y(0,"button",97),e&2){let t=n.index;re("data-bs-slide-to",t+1)}}function UC(e,n){if(e&1&&(c(0,"div",94),y(1,"button",95),ne(2,VC,1,1,"button",96),u()),e&2){let t=ie(2);m(2),g("ngForOf",t.selectedPost==null?null:t.selectedPost.images.slice(1))}}function $C(e,n){if(e&1&&(c(0,"div",98),y(1,"img",87),u()),e&2){let t=n.$implicit;m(),g("src",t==null?null:t.src,je)}}function HC(e,n){e&1&&(c(0,"button",99),y(1,"span",100),c(2,"span",101),d(3,"Previous"),u()())}function zC(e,n){e&1&&(c(0,"button",102),y(1,"span",103),c(2,"span",101),d(3,"Next"),u()())}function GC(e,n){if(e&1&&y(0,"button",106),e&2){let t=n.index;re("data-bs-slide-to",t+1)}}function qC(e,n){if(e&1&&(c(0,"div",94),y(1,"button",104),ne(2,GC,1,1,"button",105),u()),e&2){let t=ie(2);m(2),g("ngForOf",t.selectedPost==null?null:t.selectedPost.images.slice(1))}}function WC(e,n){if(e&1&&(c(0,"div",98),y(1,"img",87),u()),e&2){let t=n.$implicit;m(),g("src",t==null?null:t.src,je)}}function ZC(e,n){e&1&&(c(0,"button",107),y(1,"span",100),c(2,"span",101),d(3,"Previous"),u()())}function YC(e,n){e&1&&(c(0,"button",108),y(1,"span",103),c(2,"span",101),d(3,"Next"),u()())}function QC(e,n){if(e&1&&(c(0,"div",82)(1,"div",83),ne(2,UC,3,1,"div",84),c(3,"div",85)(4,"div",86),y(5,"img",87),u(),ne(6,$C,2,1,"div",88),u(),ne(7,HC,4,0,"button",89)(8,zC,4,0,"button",90),u(),c(9,"div",91),ne(10,qC,3,1,"div",84),c(11,"div",85)(12,"div",86),y(13,"img",87),u(),ne(14,WC,2,1,"div",88),u(),ne(15,ZC,4,0,"button",92)(16,YC,4,0,"button",93),u()()),e&2){let t=ie();g("id",t.selectedPost==null?null:t.selectedPost.id),m(2),g("ngIf",(t.selectedPost==null||t.selectedPost.images==null?null:t.selectedPost.images.length)>1),m(3),g("src",t.selectedPost==null||t.selectedPost.images[0]==null?null:t.selectedPost.images[0].src,je),m(),g("ngForOf",t.selectedPost==null||t.selectedPost.images==null?null:t.selectedPost.images.slice(1)),m(),g("ngIf",(t.selectedPost==null||t.selectedPost.images==null?null:t.selectedPost.images.length)>1),m(),g("ngIf",(t.selectedPost==null||t.selectedPost.images==null?null:t.selectedPost.images.length)>1),m(2),g("ngIf",(t.selectedPost==null||t.selectedPost.images==null?null:t.selectedPost.images.length)>1),m(3),g("src",t.selectedPost==null||t.selectedPost.images[0]==null?null:t.selectedPost.images[0].src,je),m(),g("ngForOf",t.selectedPost==null||t.selectedPost.images==null?null:t.selectedPost.images.slice(1)),m(),g("ngIf",(t.selectedPost==null||t.selectedPost.images==null?null:t.selectedPost.images.length)>1),m(),g("ngIf",(t.selectedPost==null||t.selectedPost.images==null?null:t.selectedPost.images.length)>1)}}function JC(e,n){if(e&1&&(c(0,"div",109)(1,"div",110),y(2,"iframe",111),u()()),e&2){let t=ie();m(2),g("src",t.getSafeUrl(t.selectedPost==null||t.selectedPost.videos[0]==null?null:t.selectedPost.videos[0].url),_l)}}function KC(e,n){if(e&1&&(c(0,"div",112)(1,"div",113),y(2,"iframe",114),u()()),e&2){let t=ie();m(2),g("src",t.getSafeUrl(t.selectedPost==null||t.selectedPost.videos[0]==null?null:t.selectedPost.videos[0].url),_l)}}function XC(e,n){if(e&1&&(c(0,"a",66)(1,"button",115)(2,"strong"),d(3),u()()()),e&2){let t=n.$implicit;g("href",t.URI,je),m(3),sn(t.text)}}var j=(()=>{class e{global;route;router;location;meta;titleService;sanitizer;isDarkMode=!1;posts=[];postsFiltered=[];selectedPost;activatedRoute=w(ut);showOnlyBlogs=!1;availableTags=["blog","video","tool","mention","concept","talk"];selectedTags=[];renderer;sortBy="newest";constructor(t,r,i,o,s,a,l,f){this.global=t,this.route=r,this.router=i,this.location=o,this.meta=s,this.titleService=a,this.sanitizer=f,this.renderer=l.createRenderer(null,null)}ngOnInit(){this.global.darkMode$.subscribe(r=>{this.isDarkMode=r});let t=localStorage.getItem("isDarkMode");t&&this.global.setDarkMode(JSON.parse(t)),fetch("assets/timeline.json").then(r=>r.json()).then(r=>{this.posts=r.timeline,this.postsFiltered=r.timeline,this.activatedRoute.snapshot.params&&this.activatedRoute.snapshot.params.id&&this.openModalFromUrl(this.activatedRoute.snapshot.params.id),this.applyFilters()}),$("#modal").on("hidden.bs.modal",()=>{this.router.navigate(["/posts"])})}toggleDarkMode(){this.global.setDarkMode(!this.isDarkMode)}clickModal(t){this.selectedPost=this.posts.find(r=>r.id===t),this.resetCarousel(),$("#modal").modal("show"),this.location.go(`/posts/${t}`),this.changeSEO()}openModalFromUrl(t){this.selectedPost=this.posts.find(r=>r.id===t),$("#modal").modal("show"),this.changeSEO()}changeSEO(){this.meta.removeTag("name='og:site_name'"),this.meta.removeTag("name='og:url'"),this.meta.removeTag("name='title'"),this.meta.removeTag("name='description'"),this.meta.removeTag("name='keywords'"),this.titleService.setTitle(`${this.selectedPost?.title} - Jasper Baes | Microsoft Cloud Security`),this.meta.updateTag({name:"title",content:this.selectedPost?.title}),this.meta.updateTag({name:"og:title",content:this.selectedPost?.title}),this.meta.updateTag({name:"description",content:this.selectedPost?.text}),this.meta.updateTag({name:"og:description",content:this.selectedPost?.text}),this.meta.updateTag({name:"keywords",content:this.selectedPost?.text}),this.meta.updateTag({name:"og:canonical",content:`https://jbaes.be/posts/${this.selectedPost.id}`}),this.meta.addTag({name:"canonical",content:`https://jbaes.be/posts/${this.selectedPost.id}`}),this.meta.addTag({property:"og:type",content:"article"}),this.meta.addTag({name:"author",content:"Jasper Baes"}),this.meta.addTag({name:"publisher",content:"jbaes.be"});let t=this.renderer.createElement("script");t.type="application/ld+json",t.text=`
{
"@context": "http://schema.org",
"@type": "BlogPosting",
"headline": "${this.selectedPost?.title}",
"description": "${this.selectedPost?.text}",
"author": {
"@type": "Person",
"name": "Jasper Baes"
},
"publisher": {
"@type": "Organization",
"name": "jbaes.be"
},
"url": "https://jbaes.be/posts/${this.selectedPost.id}"
}
`}resetCarousel(){let t=document.querySelector("#carouselExampleIndicators1");if(t){let i=t.querySelector(".carousel-item.active");i&&i.classList.remove("active");let o=t.querySelector(".carousel-item");o&&o.classList.add("active");let s=t.querySelector(".carousel-indicators .active");s&&s.classList.remove("active");let a=t.querySelector(".carousel-indicators button");a&&a.classList.add("active")}let r=document.querySelector("#carouselExampleIndicators2");if(r){let i=r.querySelector(".carousel-item.active");i&&i.classList.remove("active");let o=r.querySelector(".carousel-item");o&&o.classList.add("active");let s=r.querySelector(".carousel-indicators .active");s&&s.classList.remove("active");let a=r.querySelector(".carousel-indicators button");a&&a.classList.add("active")}}toggleShowOnlyBlogs(t){let r=t.target;this.showOnlyBlogs=r.checked,this.applyFilters()}toggleTag(t){this.selectedTags.includes(t)?this.selectedTags=this.selectedTags.filter(r=>r!==t):this.selectedTags=[...this.selectedTags,t],this.applyFilters()}setSort(t){this.sortBy=t,this.applyFilters()}applyFilters(){let t=this.posts;this.showOnlyBlogs&&(t=t.filter(r=>r.showAsBlog==!0)),this.selectedTags.length>0&&(t=t.filter(r=>r.tags&&r.tags.some(i=>this.selectedTags.includes(i)))),this.sortBy==="popular"?t=[...t].sort((r,i)=>(i.likes?.amount||0)-(r.likes?.amount||0)):this.sortBy==="newest"&&(t=[...t].sort((r,i)=>{let o=Date.parse(r.date)||0;return(Date.parse(i.date)||0)-o})),this.postsFiltered=t}getSafeUrl(t){return this.sanitizer.bypassSecurityTrustResourceUrl(t)}trackEvent(t){this.global.trackEvent(t)}static \u0275fac=function(r){return new(r||e)(Z(Vt),Z(ut),Z(ps),Z(cn),Z(Zh),Z(Qo),Z(Nt),Z(lc))};static \u0275cmp=Le({type:e,selectors:[["app-posts"]],standalone:!0,features:[Be],decls:114,vars:54,consts:[[1,"main"],[1,"content"],[1,"content","position-relative"],[1,"bi","fs-3","position-absolute","top-0","end-0","m-3","pointer",3,"click","ngClass"],[1,"row","d-block","d-sm-none","d-flex","align-items-center","justify-content-center"],[1,"p-0","mt-4","position-relative","border","border-white",2,"border-radius","1.5rem","width","85%",3,"ngClass"],[1,"d-flex","justify-content-center","position-absolute","w-100",2,"top","-2rem"],["src","assets/images/jasper.webp","alt","Jasper Baes",1,"rounded-circle",2,"width","40%"],[1,"col-10","col-xs-10","col-sm-8","col-md-8","py-4","mx-auto","text-center","mt-5"],[1,"mt-5","mb-0"],[1,"text-primary"],[1,"mt-3","mb-1"],[1,"badge","text-dark","rounded-pill","bg-grey","p-2","me-2"],[1,"badge","text-dark","rounded-pill","bg-grey","p-2","me-2","mt-1"],["href","/posts#work",1,"btn","btn-primary","btn","mt-4","me-2","text-light","ps-2",3,"click"],["id","arrow-icon",1,"bi","bi-arrow-down","m-0","me-2"],["href","/",1,"btn","btn-outline-primary","btn","mt-4","me-2","text-primary","ps-2",3,"click"],["href","https://www.linkedin.com/in/jasper-baes/","target","_blank"],["src","assets/images/linkedin-logo.webp","alt","Logo LinkedIn",1,"ms-3","mt-4",2,"width","1.5rem",3,"click"],[1,"position-relative"],[1,"row","d-none","d-sm-block","d-flex","align-items-center","justify-content-center","mt-2"],[1,"col-12","d-flex","justify-content-center"],[1,"row","p-0","mt-5","my-auto","border","border-white",2,"border-radius","1.5rem","width","85%",3,"ngClass"],[1,"col-4","align-self-end","ps-1","pe-0",2,"position","relative","z-index","1"],["src","assets/images/jasper-transparant.webp","alt","Jasper Baes",1,"w-100",2,"margin-top","-50px"],[1,"col","pt-4","pb-3","pe-4"],[1,"mt-1","mb-0","poppins-regular"],[1,"mt-3","mb-0"],[1,"badge","text-dark","rounded-pill","bg-grey","p-2","me-2","mt-1","mb-2"],["href","posts#work",1,"btn","btn-primary","btn","mt-3","me-2","text-light","ps-2",3,"click"],["href","/",1,"btn","btn-outline-primary","btn","mt-3","me-2","text-primary","ps-2",3,"click"],["src","assets/images/linkedin-logo.webp","alt","Logo LinkedIn",1,"ms-3","mt-3",2,"width","1.3rem",3,"click"],[1,"container"],[1,"container-fluid","container-xxl","mt-2","mb-3","text-center"],[1,"row","mb-0"],[1,"col-12","position-relative"],["id","work",1,"mb-0","mt-3","text-center",3,"ngClass"],[1,"mt-2","mb-0"],[1,"d-flex","flex-wrap","justify-content-end","align-items-center","mb-3","mt-0","gap-2"],[1,"form-check","form-switch","me-3"],["type","checkbox","role","switch","id","checkshowOnlyBlogs",1,"form-check-input",3,"change","checked"],["for","checkshowOnlyBlogs",1,"form-check-label"],[1,"dropdown","me-2"],["type","button","id","sortDropdown","data-bs-toggle","dropdown","aria-expanded","false",1,"btn","dropdown-toggle",3,"ngClass"],["aria-labelledby","sortDropdown",1,"dropdown-menu","dropdown-menu-end","p-2",2,"min-width","10rem",3,"ngClass"],["type","button",1,"dropdown-item",3,"click","ngClass"],[1,"dropdown"],["type","button","id","tagDropdown","data-bs-toggle","dropdown","aria-expanded","false",1,"btn","dropdown-toggle",3,"ngClass"],["aria-labelledby","tagDropdown",1,"dropdown-menu","dropdown-menu-end","p-2",2,"min-width","14rem",3,"ngClass"],["class","mb-1 d-inline-block me-2",4,"ngFor","ngForOf"],[1,"row","row-cols-1","row-cols-md-3","g-4"],["class","col pb-3",4,"ngFor","ngForOf"],[1,"text-center","mt-5","mb-5","small","pointer"],["href","/","target","_blank",1,"text-decoration-none",3,"ngClass"],["id","modal","tabindex","-1","aria-labelledby","exampleModalLabel","aria-hidden","true",1,"modal","fade"],[1,"modal-dialog","modal-xl","modal-dialog-centered","modal-dialog-scrollable"],[1,"modal-content"],[1,"modal-header"],["id","exampleModalLabel",1,"modal-title","fs-5"],[1,"text-muted"],["type","button","data-bs-dismiss","modal","aria-label","Close",1,"btn-close"],[1,"modal-body"],["class","row justify-content-center mb-5",3,"id",4,"ngIf"],["class","row d-block d-lg-none my-3",4,"ngIf"],["class","row d-none d-lg-block my-3",4,"ngIf"],[3,"innerHtml"],["target","_blank",3,"href"],[1,"mb-1","d-inline-block","me-2"],["type","button",1,"btn","btn-sm","rounded-pill","text-start",2,"font-size","0.95rem","min-width","unset",3,"click","ngClass"],[1,"col","pb-3"],[1,"card","h-100","border-0","pointer",2,"border-radius","20px","background-color","transparent !important",3,"click","id"],["alt","image","class","img-fluid mb-2 border border-light-subtle","loading","lazy","style","border-radius: 20px; min-height: 18rem; max-height: 18rem; object-fit: cover;",3,"src",4,"ngIf"],[1,"pt-2","pe-2","pb-2","ps-2"],[1,"card-title","mb-1",3,"ngClass"],["class","badge mx-1 fs-7",3,"ngClass",4,"ngFor","ngForOf"],[1,"small","d-flex","align-items-center","gap-2",3,"ngClass"],["target","_blank","class","ms-2 text-decoration-none small",3,"href","ngClass","click",4,"ngIf"],["alt","image","loading","lazy",1,"img-fluid","mb-2","border","border-light-subtle",2,"border-radius","20px","min-height","18rem","max-height","18rem","object-fit","cover",3,"src"],[1,"badge","mx-1","fs-7",3,"ngClass"],["target","_blank",1,"ms-2","text-decoration-none","small",3,"click","href","ngClass"],[1,"bi","bi-heart-fill","small"],[1,"ms-1"],[1,"row","justify-content-center","mb-5",3,"id"],["id","carouselExampleIndicators1","data-bs-config",'{"touch":true, "keyboard":true, "wrap":false}',1,"d-block","d-sm-none","col-7","carousel","carousel-dark","slide","w-75"],["class","carousel-indicators","style","bottom: -2.5rem;",4,"ngIf"],[1,"carousel-inner"],[1,"carousel-item","active"],["alt","...",1,"w-100",3,"src"],["class","carousel-item",4,"ngFor","ngForOf"],["class","carousel-control-prev","type","button","data-bs-target","#carouselExampleIndicators1","data-bs-slide","prev","style","left: -10%;",4,"ngIf"],["class","carousel-control-next","type","button","data-bs-target","#carouselExampleIndicators1","data-bs-slide","next","style","right: -10%;",4,"ngIf"],["id","carouselExampleIndicators2","data-bs-config",'{"touch":true, "keyboard":true, "wrap":false}',1,"d-none","d-sm-block","col-7","carousel","carousel-dark","slide","w-50"],["class","carousel-control-prev","type","button","data-bs-target","#carouselExampleIndicators2","data-bs-slide","prev","style","left: -10%;",4,"ngIf"],["class","carousel-control-next","type","button","data-bs-target","#carouselExampleIndicators2","data-bs-slide","next","style","right: -10%;",4,"ngIf"],[1,"carousel-indicators",2,"bottom","-2.5rem"],["type","button","data-bs-target","#carouselExampleIndicators1","data-bs-slide-to","0","aria-label","Slide",1,"active"],["type","button","data-bs-target","#carouselExampleIndicators1","aria-label","Slide",4,"ngFor","ngForOf"],["type","button","data-bs-target","#carouselExampleIndicators1","aria-label","Slide"],[1,"carousel-item"],["type","button","data-bs-target","#carouselExampleIndicators1","data-bs-slide","prev",1,"carousel-control-prev",2,"left","-10%"],["aria-hidden","true",1,"carousel-control-prev-icon"],[1,"visually-hidden"],["type","button","data-bs-target","#carouselExampleIndicators1","data-bs-slide","next",1,"carousel-control-next",2,"right","-10%"],["aria-hidden","true",1,"carousel-control-next-icon"],["type","button","data-bs-target","#carouselExampleIndicators2","data-bs-slide-to","0","aria-label","Slide",1,"active"],["type","button","data-bs-target","#carouselExampleIndicators2","aria-label","Slide",4,"ngFor","ngForOf"],["type","button","data-bs-target","#carouselExampleIndicators2","aria-label","Slide"],["type","button","data-bs-target","#carouselExampleIndicators2","data-bs-slide","prev",1,"carousel-control-prev",2,"left","-10%"],["type","button","data-bs-target","#carouselExampleIndicators2","data-bs-slide","next",1,"carousel-control-next",2,"right","-10%"],[1,"row","d-block","d-lg-none","my-3"],[1,"embed-responsive"],["frameborder","0","allow","fullscreen;","allowfullscreen","allowfullscreen","mozallowfullscreen","mozallowfullscreen","msallowfullscreen","msallowfullscreen","oallowfullscreen","oallowfullscreen","webkitallowfullscreen","webkitallowfullscreen","allowfullscreen","",1,"embed-responsive-item",2,"width","100%","height","12rem",3,"src"],[1,"row","d-none","d-lg-block","my-3"],[1,"my54","embed-responsive"],["frameborder","0","allow","fullscreen;","allowfullscreen","allowfullscreen","mozallowfullscreen","mozallowfullscreen","msallowfullscreen","msallowfullscreen","oallowfullscreen","oallowfullscreen","webkitallowfullscreen","webkitallowfullscreen","allowfullscreen","",1,"embed-responsive-item",2,"width","50% !important","height","25rem",3,"src"],[1,"btn","btn-primary","mb-4","me-3","text-light"]],template:function(r,i){r&1&&(c(0,"main",0)(1,"div",1)(2,"div",2)(3,"i",3),I("click",function(){return i.toggleDarkMode()}),u()(),c(4,"div",4)(5,"div",5)(6,"div",6),y(7,"img",7),u(),c(8,"div",8)(9,"h3",9)(10,"strong"),d(11,"I'm Jasper Baes\u270C\u{1F3FC} a "),c(12,"span",10),d(13,"Microsoft Cloud Security Consultant"),u(),d(14," from Belgium"),u()(),c(15,"p",11),d(16,"I secure organizations with my expertise in:"),u(),c(17,"span",12),d(18,"Microsoft Cloud Security"),u(),c(19,"span",13),d(20,"Security Compliance"),u(),c(21,"span",13),d(22,"Building Security Tools"),u(),c(23,"a",14),I("click",function(){return i.trackEvent("click_discoverMyWork")}),y(24,"i",15),c(25,"strong"),d(26,"Discover my posts"),u()(),c(27,"a",16),I("click",function(){return i.trackEvent("click_portfolio")}),c(28,"strong"),d(29,"About me"),u()(),c(30,"a",17)(31,"img",18),I("click",function(){return i.trackEvent("click_linkedin")}),u()()()()(),c(32,"div",19)(33,"div",20)(34,"div",21)(35,"div",22)(36,"div",23),y(37,"img",24),u(),c(38,"div",25)(39,"h3",26)(40,"strong"),d(41,"I'm Jasper Baes\u270C\u{1F3FC}a "),c(42,"span",10),d(43,"Microsoft Cloud Security Consultant"),u(),d(44," from Belgium"),u()(),c(45,"p",27),d(46,"I secure organizations with my expertise in:"),u(),c(47,"span",13),d(48,"Microsoft Cloud Security"),u(),c(49,"span",13),d(50,"Security Compliance"),u(),c(51,"span",28),d(52,"Building Security Tools"),u(),c(53,"a",29),I("click",function(){return i.trackEvent("click_posts")}),y(54,"i",15),c(55,"strong"),d(56,"Discover my posts"),u()(),c(57,"a",30),I("click",function(){return i.trackEvent("click_portfolio")}),c(58,"strong"),d(59,"About me"),u()(),c(60,"a",17)(61,"img",31),I("click",function(){return i.trackEvent("click_linkedin")}),u()()()()()()()()(),c(62,"div",32)(63,"div",33)(64,"div",34)(65,"div",35)(66,"h1",36)(67,"strong"),d(68,"Posts & blogs"),u()(),c(69,"p",37),d(70,"Quick reads, maximum insights. Stay informed, stay ahead."),u()()()(),c(71,"div",38)(72,"div",39)(73,"input",40),I("change",function(s){return i.toggleShowOnlyBlogs(s)}),u(),c(74,"label",41),d(75,"top picks only"),u()(),c(76,"div",42)(77,"button",43),d(78," Sort by "),u(),c(79,"ul",44)(80,"li")(81,"button",45),I("click",function(){return i.setSort("popular")}),d(82," Most popular "),u()(),c(83,"li")(84,"button",45),I("click",function(){return i.setSort("newest")}),d(85," Newest "),u()()()(),c(86,"div",46)(87,"button",47),d(88," Filter tags "),u(),c(89,"ul",48),ne(90,PC,3,7,"li",49),u()()(),c(91,"div",50),ne(92,BC,10,14,"div",51),u(),c(93,"p",52)(94,"a",53),d(95,"\u{1F449} https://jbaes.be"),u()()(),c(96,"div",54)(97,"div",55)(98,"div",56)(99,"div",57)(100,"div")(101,"h1",58)(102,"strong"),d(103),u()(),c(104,"small",59),d(105),u()(),y(106,"button",60),u(),c(107,"div",61),ne(108,QC,17,11,"div",62)(109,JC,3,1,"div",63)(110,KC,3,1,"div",64),y(111,"p",65),nh(112,XC,4,2,"a",66,th),u()()()()),r&2&&(m(3),g("ngClass",E(21,MC,i.isDarkMode,!i.isDarkMode)),m(2),g("ngClass",E(24,Lm,i.isDarkMode,!i.isDarkMode)),m(30),g("ngClass",E(27,Lm,i.isDarkMode,!i.isDarkMode)),m(31),g("ngClass",E(30,xC,i.isDarkMode,!i.isDarkMode)),m(7),g("checked",i.showOnlyBlogs),m(4),g("ngClass",E(33,jm,i.isDarkMode,!i.isDarkMode)),m(2),g("ngClass",E(36,Bm,i.isDarkMode,!i.isDarkMode)),m(2),g("ngClass",E(39,Vm,i.isDarkMode,!i.isDarkMode)),m(3),g("ngClass",E(42,Vm,i.isDarkMode,!i.isDarkMode)),m(3),g("ngClass",E(45,jm,i.isDarkMode,!i.isDarkMode)),m(2),g("ngClass",E(48,Bm,i.isDarkMode,!i.isDarkMode)),m(),g("ngForOf",i.availableTags),m(2),g("ngForOf",i.postsFiltered),m(2),g("ngClass",E(51,TC,i.isDarkMode,!i.isDarkMode)),m(2),re("data-bs-theme",i.isDarkMode?"dark":"light"),m(7),sn(i.selectedPost==null?null:i.selectedPost.title),m(2),sn(i.selectedPost==null?null:i.selectedPost.date),m(3),g("ngIf",(i.selectedPost==null?null:i.selectedPost.images.length)>0),m(),g("ngIf",(i.selectedPost==null||i.selectedPost.videos==null?null:i.selectedPost.videos.length)>0),m(),g("ngIf",(i.selectedPost==null||i.selectedPost.videos==null?null:i.selectedPost.videos.length)>0),m(),g("innerHtml",i.selectedPost==null?null:i.selectedPost.text,dp),m(),rh(i.selectedPost==null?null:i.selectedPost.buttons))},dependencies:[bt,Wn,Ho,zo]})}return e})();var rr=(()=>{class e{ngOnInit(){}static \u0275fac=function(r){return new(r||e)};static \u0275cmp=Le({type:e,selectors:[["app-root"]],standalone:!0,features:[ah([Vt]),Be],decls:1,vars:0,template:function(r,i){r&1&&y(0,"router-outlet")},dependencies:[$c,bt]})}return e})();var ir=(e,n)=>({"text-light":e,"text-dark":n}),eI=(e,n)=>({"bi-lightbulb text-white":e,"bi-lightbulb-fill text-lightinfo":n}),ce=(e,n)=>({"text-light":e,"text-secondary":n}),hs=(e,n)=>({"bg-darker hover-bg-lighter":e,"bg-lightgrey hover-bg-darkergrey":n}),Um=(e,n)=>({"text-light":e,"text-muted":n}),ri=(e,n)=>({"bg-black":e,"bg-grey":n}),tI=e=>({"d-none":e});function nI(e,n){if(e&1&&(c(0,"span",158)(1,"span",159),d(2),u()()),e&2){let t=n.$implicit;m(2),at("Tool ",t,"")}}function rI(e,n){if(e&1&&(c(0,"span"),ne(1,nI,3,1,"span",157),u()),e&2){let t=ie().$implicit;m(),g("ngForOf",t.toolsUsed)}}function iI(e,n){if(e&1){let t=jt();c(0,"div",153)(1,"input",154),I("change",function(){let i=Pt(t).$implicit,o=ie();return Ft(o.toggleCheck(i))}),u(),c(2,"label",155),d(3),ne(4,rI,2,1,"span",156),u()()}if(e&2){let t=n.$implicit,r=n.index,i=ie();g("ngClass",lh(6,tI,!i.checklistShowAll&&r>=5)),m(),g("id",t.id)("checked",t.checked),m(),g("for",t.id),m(),at(" ",t.text," "),m(),g("ngIf",t.toolsUsed.length>0)}}function oI(e,n){if(e&1){let t=jt();c(0,"p",160),I("click",function(){Pt(t);let i=ie();return Ft(i.toggleShowAll())}),d(1,"Show All "),c(2,"small"),d(3),u()()}if(e&2){let t=ie();m(3),at("(",t.checklist.length,")")}}function sI(e,n){if(e&1){let t=jt();c(0,"p",160),I("click",function(){Pt(t);let i=ie();return Ft(i.toggleShowAll())}),d(1,"Show Less"),u()}}var $m=(()=>{class e{appComponent;renderer;global;isDarkMode=!1;intervalId;executionCount=0;checklist=[{id:"93emsovs0",text:"Discover the Conditional Access Blueprint",checked:!0,toolsUsed:[]},{id:"i29danvk3",text:"Read the Conditional Access Blueprint",checked:!1,toolsUsed:[]},{id:"o3f9wedsf",text:"Define your personas in a table and hierarchy chart",checked:!1,toolsUsed:["1"]},{id:"i38riofsq",text:"Define persona owners",checked:!1,toolsUsed:["1"]},{id:"p9ikkwjep",text:"For each persona, loop over the flow diagram",checked:!1,toolsUsed:["1"]},{id:"kl9023ls2",text:"For each persona, document possible access restrictions",checked:!1,toolsUsed:["2"]},{id:"k02kldid1",text:"Translate your access restrictions to Conditional Access policies",checked:!1,toolsUsed:["2"]},{id:"po93ijsfd",text:"Make sure there is an Entra ID group for each persona",checked:!1,toolsUsed:["2"]},{id:"kd090e2dx",text:"Create (or update) your new Conditional Access policies (report-only mode)",checked:!1,toolsUsed:["2"]},{id:"93jf98wjd",text:"Assign the personas to the Conditional Access policies",checked:!1,toolsUsed:["2"]},{id:"kd82kw9fl",text:"Monitor, review and adjust for at least 14 days",checked:!1,toolsUsed:["2"]},{id:"pwofja390",text:"Generate the CA Impact Matrix",checked:!1,toolsUsed:["3"]},{id:"i9rjwd29d",text:"Review the CA Matrix output",checked:!1,toolsUsed:["3"]},{id:"k93alcrl2",text:"Monitor CA user impact changes",checked:!1,toolsUsed:["3"]},{id:"nmvb0a3kd",text:"Define simulations",checked:!1,toolsUsed:["4"]},{id:"93kd8ksdq",text:"Define expectations for each simulation (e.g. require MFA, require compliant device, ...)",checked:!1,toolsUsed:["4"]},{id:"kd82f0flk",text:"Review simulation results",checked:!1,toolsUsed:["4"]},{id:"nhghis92d",text:"Roll out gradually (by persona, by department, by location, ...)",checked:!1,toolsUsed:[]},{id:"093kdle3p",text:"Repeat tools:",checked:!1,toolsUsed:["3","4"]}];checklistShowAll=!1;constructor(t,r,i){this.appComponent=t,this.renderer=r,this.global=i}ngOnInit(){this.global.darkMode$.subscribe(r=>{this.isDarkMode=r});let t=localStorage.getItem("isDarkMode");t&&this.global.setDarkMode(JSON.parse(t)),this.loadChecklist()}toggleDarkMode(){this.global.setDarkMode(!this.isDarkMode)}trackEvent(t){this.global.trackEvent(t)}saveChecklist(){let t=this.checklist.map(r=>({id:r.id,checked:r.checked}));localStorage.setItem("checklist",JSON.stringify(t))}loadChecklist(){let t=localStorage.getItem("checklist");if(t){let r=JSON.parse(t);this.checklist=this.checklist.map(i=>{let o=r.find(s=>s.id===i.id);return o?Q(C({},i),{checked:o.checked}):i})}}toggleCheck(t){t.checked=!t.checked,this.saveChecklist()}toggleShowAll(){this.checklistShowAll=!this.checklistShowAll}static \u0275fac=function(r){return new(r||e)(Z(rr),Z(zn),Z(Vt))};static \u0275cmp=Le({type:e,selectors:[["app-caf"]],standalone:!0,features:[Be],decls:764,vars:152,consts:[[1,"container"],[1,"container-fluid","container-xxl","mt-4","mb-5","text-center"],[1,"row","mb-5"],[1,"col-12","position-relative"],[1,"mb-0","mt-5","text-center",3,"ngClass"],[1,"text-info","bg-info-opacity","rounded","px-2","py-0"],[1,"bi","fs-3","pointer","position-absolute","end-0","top-50","translate-middle-y","m-3",3,"click","ngClass"],[1,"mt-3","fs-5","mb-5","w-100",2,"margin","auto !important",3,"ngClass"],[1,"poppins-semibold"],[1,"row","d-block","d-lg-none","mt-5"],[1,"my-5","embed-responsive"],["src",Ml`https://www.youtube-nocookie.com/embed/deBfmVg1efs?modestbranding=1`,"allowfullscreen","",1,"embed-responsive-item",2,"width","100%","height","12rem"],[1,"row","d-none","d-lg-block","mt-5"],[1,"my54","embed-responsive"],["src",Ml`https://www.youtube-nocookie.com/embed/deBfmVg1efs?modestbranding=1`,"allowfullscreen","",1,"embed-responsive-item",2,"width","30% !important","height","12rem"],[1,"container-xxl","mt-4","mb-5"],[1,"d-none","d-sm-block"],[1,"row","text-center"],[1,"col","color-white","underline-primary","me-3","p-0"],[1,"py-o","m-o","text-grey","small",2,"margin-bottom","0.3rem"],[1,"bg-secondary","poppins-medium","px-3","py-1","rounded","my-0","text-light"],[1,"col","color-white","underline-primary","p-0"],[1,"row","gx-3"],["data-bs-toggle","modal","data-bs-target","#modal1",1,"col-12","col-sm-3","col-xs-12","position-relative","pointer","mt-3","h-100",3,"click"],[1,"position-absolute","top-0","end-0","me-3"],["xmlns","http://www.w3.org/2000/svg","width","15","height","15","fill","currentColor","viewBox","0 0 16 16","data-bs-toggle","modal","data-bs-target","#modal1",1,"bi","bi-arrow-up-right-square","text-grey","pointer"],["fill-rule","evenodd","d","M15 2a1 1 0 0 0-1-1H2a1 1 0 0 0-1 1v12a1 1 0 0 0 1 1h12a1 1 0 0 0 1-1zM0 2a2 2 0 0 1 2-2h12a2 2 0 0 1 2 2v12a2 2 0 0 1-2 2H2a2 2 0 0 1-2-2zm5.854 8.803a.5.5 0 1 1-.708-.707L9.243 6H6.475a.5.5 0 1 1 0-1h3.975a.5.5 0 0 1 .5.5v3.975a.5.5 0 1 1-1 0V6.707z"],[1,"p-3","service","border","border-white",3,"ngClass"],[1,"text-center"],[1,"fs-5","text-info","me-2","poppins-semibold"],[1,"fs-5","poppins-semibold"],[1,"fs-6","mt-2",3,"ngClass"],["src","/CAF/images/1.png","alt","Mockup",1,"w-100","mb-4"],["href","/CAF/CA-flow","target","_blank"],["type","button",1,"btn","btn-info","text-light",3,"click"],["data-bs-toggle","modal","data-bs-target","#modal1",1,"mt-3","mb-0","small","pointer"],["data-bs-toggle","modal","data-bs-target","#modal2",1,"col-12","col-sm-3","position-relative","mt-3","h-100",3,"click"],["xmlns","http://www.w3.org/2000/svg","width","15","height","15","fill","currentColor","viewBox","0 0 16 16","data-bs-toggle","modal","data-bs-target","#modal2",1,"bi","bi-arrow-up-right-square","text-grey","pointer"],[1,"p-3","service","border","border-white","pointer",3,"ngClass"],["src","/CAF/images/2.png","alt","Mockup",1,"w-100","mb-4"],["href","https://raw.githubusercontent.com/jasperbaes/jasperbaes.github.io/main/CAF/ConditionalAccessBlueprint-Template.xlsx","target","_blank",3,"click"],["type","button",1,"btn","btn-info","text-light"],["data-bs-toggle","modal","data-bs-target","#modal2",1,"mt-3","mb-0","small","pointer"],["data-bs-toggle","modal","data-bs-target","#modal3",1,"col-12","col-sm-3","position-relative","mt-3","h-100",3,"click"],["xmlns","http://www.w3.org/2000/svg","width","15","height","15","fill","currentColor","viewBox","0 0 16 16","data-bs-toggle","modal","data-bs-target","#modal3",1,"bi","bi-arrow-up-right-square","text-grey","pointer"],["src","/CAF/images/3.png","alt","Mockup",1,"w-100","mb-4"],["href","https://github.com/jasperbaes/Conditional-Access-Validator","target","_blank"],["data-bs-toggle","modal","data-bs-target","#modal3",1,"mt-3","mb-0","small","pointer"],["data-bs-toggle","modal","data-bs-target","#modal4",1,"col-12","col-sm-3","position-relative","mt-3","h-100",3,"click"],["xmlns","http://www.w3.org/2000/svg","width","15","height","15","fill","currentColor","viewBox","0 0 16 16","data-bs-toggle","modal","data-bs-target","#modal4",1,"bi","bi-arrow-up-right-square","text-grey","pointer"],[1,"p-3","service","3","border","border-white","pointer",3,"ngClass"],["src","/CAF/images/4.png","alt","Mockup",1,"w-100","mb-4"],["type","button","data-bs-toggle","modal","data-bs-target","#modal4",1,"btn","btn-info","text-light",3,"click"],["data-bs-toggle","modal","data-bs-target","#modal4",1,"mt-3","mb-0","small","pointer"],[1,"text-center","mt-5","mb-0"],[1,"poppins-bold",3,"ngClass"],["href","https://www.linkedin.com/in/jasper-baes","target","_blank",1,"text-info","poppins-bold","text-decoration-none",3,"click"],["data-bs-toggle","modal","data-bs-target","#support",1,"text-center","mt-2","mb-3","small","pointer",3,"click","ngClass"],[1,"text-center","mt-5","mb-5","small","pointer"],["href","/","target","_blank",1,"text-decoration-none",3,"click","ngClass"],[1,"row","justify-content-center"],[1,"col-8"],[1,"mt-5","mb-5","w-100"],["id","checklist",1,"container-xl","mt-5","mb-5"],[1,"col-12","col-sm-8"],[1,"fs-6"],["class","form-check ms-4",3,"ngClass",4,"ngFor","ngForOf"],["class","mt-3 ms-4 text-grey pointer",3,"click",4,"ngIf"],["id","feedback",1,"container-fluid","container-xxl","mt-5","mb-5"],[1,"row","d-block","d-sm-none","justify-content-center"],[1,"fs-5","mb-5","poppins-semibold"],["src","/CAF/images/feedback-mobile1.png","alt","Conditional Access Blueprint feedback",1,"w-100","m-1"],["src","/CAF/images/feedback-mobile2.png","alt","Conditional Access Blueprint feedback",1,"w-100","m-0"],["src","/CAF/images/feedback-mobile3.png","alt","Conditional Access Blueprint feedback",1,"w-100","m-0"],[1,"row","d-none","d-sm-block","justify-content-center"],["href","/CAF/images/feedback.png","target","_blank"],["src","/CAF/images/feedback.png","alt","Conditional Access Blueprint feedback",1,"w-100","mb-4"],["id","modal1","tabindex","-1","aria-labelledby","exampleModalLabel","aria-hidden","true",1,"modal","fade"],[1,"modal-dialog","modal-lg","modal-dialog-centered","modal-dialog-scrollable"],[1,"modal-content"],[1,"modal-header","bgcolor-primary"],["id","exampleModalLabel",1,"modal-title","poppins-bold","color-white"],["type","button","data-bs-dismiss","modal","aria-label","Close",1,"btn-close","color-white"],[1,"modal-body"],[1,"text-info","poppins-bold","mb-0","mt-2"],[1,"mt-0"],[1,"text-grey"],["href","/CAF/images/hierarchy-chart.png","target","_blank"],["src","/CAF/images/hierarchy-chart.png","alt","...",1,"img-fluid","w-100","my-1","border"],[1,"text-info","poppins-bold","mb-0","mt-3"],["type","button",1,"btn","btn-info","text-white","poppins-regular",3,"click"],["href","/CAF/images/CAF-flow.png","target","_blank"],["src","/CAF/images/CAF-flow.png","alt","...",1,"img-fluid","w-100","mt-3"],[1,"mt-3"],[1,"mt-0",3,"ngClass"],[1,"fs-6","text-grey"],["id","modal2","tabindex","-1","aria-labelledby","exampleModalLabel","aria-hidden","true",1,"modal","fade"],["role","alert",1,"alert","alert-light"],["type","button",1,"btn","btn-info","text-white","poppins-bold","mb-3"],["href","/CAF/images/template.png","target","_blank"],["src","/CAF/images/template.png","alt","...",1,"img-fluid","w-100"],["href","/CAF/images/template-arrows.png","target","_blank"],["src","/CAF/images/template-arrows.png","alt","...",1,"img-fluid","w-100","mb-2"],[1,"table"],["scope","col"],["href","https://www.joeyverlinden.com/conditional-access-framework-4/",1,"alert-link"],["href","https://learn.microsoft.com/en-us/azure/architecture/guide/security/conditional-access-framework",1,"alert-link"],["href","/CAF/images/balance-scale.png","target","_blank"],["src","/CAF/images/balance-scale.png","alt","...",1,"img-fluid","w-75","mb-2"],["id","modal3","tabindex","-1","aria-labelledby","exampleModalLabel","aria-hidden","true",1,"modal","fade"],[1,"modal-dialog","modal-xl","modal-dialog-centered","modal-dialog-scrollable"],["href","https://github.com/jasperbaes/Conditional-Access-Validator","target","_blank",3,"click"],["type","button",1,"btn","btn-info","text-white","poppins-bold","mt-2"],[1,"row","gx-3","mt-3","px-3"],[1,"col-12","col-sm-5","p-3","border-radius","mt-3","me-3","text-center","rounded",2,"height","100%",3,"ngClass"],[1,"poppins-bold"],["href","/CAF/images/matrix.png","target","_blank"],["src","/CAF/images/matrix.png","alt","...",1,"img-fluid","w-100","my-3","border"],[1,"col-12","col-sm-6","p-3","border-radius","mt-3","text-center","rounded",2,"height","100%",3,"ngClass"],["href","/CAF/images/impact.png","target","_blank"],["src","/CAF/images/impact.png","alt","...",1,"img-fluid","w-100","my-3","border"],["type","button",1,"btn","btn-info","text-white","poppins-bold","my-3"],["href","/CAF/images/terminal.png","target","_blank"],["src","/CAF/images/terminal.png","alt","...",1,"img-fluid","w-100","mt-3","border"],["id","modal4","tabindex","-1","aria-labelledby","exampleModalLabel","aria-hidden","true",1,"modal","fade"],[1,"modal-header","bgcolor-info"],[1,"col","p-3","mb-3","border-radius","me-3","text-center","rounded",2,"height","100%",3,"ngClass"],[1,"poppins-bold","mb-0"],[1,"small","poppins-light","mt-0"],[1,"text-decoration-underline"],["href","https://security.toreon.com","target","_blank",3,"click"],[1,"col","d-flex","flex-column","justify-content-between"],[1,"p-3","border-radius","mb-3","text-center","rounded",3,"ngClass"],["href","https://maester.dev","target","_blank",3,"click"],[1,"p-3","border-radius","text-center","rounded",3,"ngClass"],["href","/CAF/images/ConditionalAccessValidator.png","target","_blank"],["src","/CAF/images/ConditionalAccessValidator.png","alt","...",1,"img-fluid","w-100","mt-1","border"],[1,"mb-0","mt-3"],["href","/CAF/images/simlator-2.png","target","_blank"],["src","/CAF/images/simulator-2.png","alt","...",1,"img-fluid","w-100","mt-1","border"],["href","/CAF/images/simlator-1.png","target","_blank"],["src","/CAF/images/simulator-1.png","alt","...",1,"img-fluid","w-100","mt-1","border"],["href","/CAF/images/simlator-3.png","target","_blank"],["src","/CAF/images/simulator-3.png","alt","...",1,"img-fluid","w-100","mt-1","border"],["href","/CAF/images/maester-example.png","target","_blank"],["src","/CAF/images/maester-example.png","alt","...",1,"img-fluid","w-100","mt-1","border"],["id","support","tabindex","-1","aria-labelledby","exampleModalLabel","aria-hidden","true",1,"modal","fade"],[1,"poppins-regular",3,"ngClass"],["href","https://www.linkedin.com/in/jasper-baes","target","_blank",1,"poppins-bold",3,"click","ngClass"],[1,"mt-2"],["href","https://www.buymeacoffee.com/jasperbaes","target","_blank",1,"poppins-bold",3,"click"],[1,"small","text-grey"],[1,"mt-3","mb-3","w-100"],[1,"form-check","ms-4",3,"ngClass"],["type","checkbox",1,"form-check-input",3,"change","id","checked"],[1,"form-check-label",3,"for"],[4,"ngIf"],["aria-label","Tool selection",4,"ngFor","ngForOf"],["aria-label","Tool selection"],[1,"badge","border","border-secondary","text-secondary","me-2"],[1,"mt-3","ms-4","text-grey","pointer",3,"click"]],template:function(r,i){r&1&&(c(0,"div",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"h1",4)(5,"strong"),d(6,"Conditional Access "),c(7,"span",5),d(8,"Blueprint"),u()()(),c(9,"i",6),I("click",function(){return i.toggleDarkMode()}),u()()(),c(10,"p",7)(11,"span",8),d(12,"4 tools"),u(),d(13," to streamline the creation and validation of your organization's access policies and strategy"),u(),c(14,"div",9)(15,"div",10),y(16,"iframe",11),u()(),c(17,"div",12)(18,"div",13),y(19,"iframe",14),u()()(),c(20,"div",15)(21,"div",16)(22,"div",17)(23,"div",18)(24,"p",19),d(25,"2 tools for"),u(),c(26,"span",20),d(27,"building security"),u()(),c(28,"div",21)(29,"p",19),d(30,"2 tools for"),u(),c(31,"span",20),d(32,"verifying security"),u()()()(),c(33,"div",22)(34,"div",23),I("click",function(){return i.trackEvent("click_modal_PersonaFlow")}),c(35,"div",24),Ir(),c(36,"svg",25),y(37,"path",26),u()(),Sr(),c(38,"div",27)(39,"div",28)(40,"span",29),d(41,"#1"),u(),c(42,"span",30),d(43,"Persona Flow Diagram"),u(),c(44,"p",31),d(45,"A flow diagram to help you define access restrictions and actions for each user role"),u(),y(46,"img",32),c(47,"a",33)(48,"button",34),I("click",function(){return i.trackEvent("click_button_OpenPersonaFlow")}),d(49,"Open Persona Flow"),u()(),c(50,"p",35),d(51,"more info"),u()()()(),c(52,"div",36),I("click",function(){return i.trackEvent("click_modal_PersonaRequirements")}),c(53,"div",24),Ir(),c(54,"svg",37),y(55,"path",26),u()(),Sr(),c(56,"div",38)(57,"div",28)(58,"span",29),d(59,"#2"),u(),c(60,"span",30),d(61,"Policy Translator"),u(),c(62,"p",31),d(63,"An Excel that translates your personas to Conditional Access policies"),u(),y(64,"img",39),c(65,"a",40),I("click",function(){return i.trackEvent("click_button_downloadTemplate")}),c(66,"button",41),d(67,"Open template"),u()(),c(68,"p",42),d(69,"more info"),u()()()(),c(70,"div",43),I("click",function(){return i.trackEvent("click_modal_Matrix")}),c(71,"div",24),Ir(),c(72,"svg",44),y(73,"path",26),u()(),Sr(),c(74,"div",38)(75,"div",28)(76,"span",29),d(77,"#3"),u(),c(78,"span",30),d(79,"Impact Matrix"),u(),c(80,"p",31),d(81,"Spot CA misconfigurations and review user impact"),u(),y(82,"img",45),c(83,"a",46)(84,"button",34),I("click",function(){return i.trackEvent("click_button_openScript")}),d(85,"Open script"),u()(),c(86,"p",47),d(87,"more info"),u()()()(),c(88,"div",48),I("click",function(){return i.trackEvent("click_modal_Simualator")}),c(89,"div",24),Ir(),c(90,"svg",49),y(91,"path",26),u()(),Sr(),c(92,"div",50)(93,"div",28)(94,"span",29),d(95,"#4"),u(),c(96,"span",30),d(97,"Simulator"),u(),c(98,"p",31),d(99,"Simulate and validate your access policies in both common and malicious scenarios + predict impact"),u(),y(100,"img",51),c(101,"button",52),I("click",function(){return i.trackEvent("click_modal_Simualator")}),d(102,"Open Simulator"),u(),c(103,"p",53),d(104,"more info"),u()()()()(),c(105,"p",54),d(106,"the "),c(107,"span",55),d(108,"Conditional Access Blueprint"),u(),d(109,", made by "),c(110,"a",56),I("click",function(){return i.trackEvent("click_CAF_LinkedIn")}),d(111,"Jasper Baes"),u()(),c(112,"p",57),I("click",function(){return i.trackEvent("click_modal_support")}),d(113,"support or contribute?"),u(),c(114,"p",58)(115,"a",59),I("click",function(){return i.trackEvent("click_CAF_jbaes")}),d(116,"\u{1F449} https://jbaes.be"),u()(),c(117,"div",0)(118,"div",60)(119,"div",61),y(120,"hr",62),u()()(),c(121,"div",63)(122,"div",60)(123,"div",64)(124,"p",30),d(125,"Checklist"),u(),c(126,"p",65),d(127,"This checklist guides you through the Conditional Access Blueprint, and is conveniently saved in your browser local storage session."),u(),ne(128,iI,5,8,"div",66)(129,oI,4,1,"p",67)(130,sI,2,0,"p",67),u()()(),c(131,"div",0)(132,"div",60)(133,"div",61),y(134,"hr",62),u()()(),c(135,"div",68)(136,"div",69)(137,"div",28)(138,"p",70),d(139,"Some of your feedback \u{1F499}"),u(),y(140,"img",71)(141,"img",72)(142,"img",73),u()(),c(143,"div",74)(144,"div",28)(145,"p",70),d(146,"Some of your feedback \u{1F499}"),u(),c(147,"a",75),y(148,"img",76),u()()()()(),c(149,"div",77)(150,"div",78)(151,"div",79)(152,"div",80)(153,"h5",81),d(154,"#1 Persona Flow Diagram"),u(),y(155,"button",82),u(),c(156,"div",83)(157,"p"),d(158,"The first step in building your access security is defining what security restrictions can be applied to each persona in your environment."),u(),c(159,"p",84),d(160,"What's a persona, you ask?"),u(),c(161,"p",85),d(162,"A persona can be:"),u(),c(163,"ul")(164,"li")(165,"span",55),d(166,"a group of users/identities:"),u(),d(167," e.g. regular users, ADM users, DEV users, external users, Entra roles, a group of Service Principals, emergency accounts, C-level users, service accounts or non-interactive accounts "),c(168,"span",86),d(169,"(like Entra Connect sync accounts, phone service accounts, server service accounts, meeting room service accounts, ...)"),u()(),c(170,"li")(171,"span",55),d(172,"an individual user/identity:"),u(),d(173," e.g. a specific service account, a Tier 0 account, an Entra role, a Service Principal, ..."),u()(),c(174,"p"),d(175,"Begin by listing all existing personas in your environment. To visualize the relationships and structure, create a hierarchy chart. This will help in understanding how different personas interact and what their place is within the organization. Important to understand is that in this hierarchy chart, each node will inherite Conditional Access actions from the nodes above."),u(),c(176,"p"),d(177,"An example of personas in a tenant:"),u(),c(178,"a",87),y(179,"img",88),u(),c(180,"p"),d(181,"For most of the organizations, the hierarchy chart looks something like this. But depending on your organization, it might look a bit different, or different keywords are used. You can and you should go really detailled while defining your personas. Later on in the framework, you can delete what you don't need or what you think is overkill."),u(),c(182,"p",89),d(183,"What do you do with these personas?"),u(),c(184,"p"),d(185,"For each persona, you should define what access restrictions or actions can be applied. This can be done by simply following the persona flow from top to bottom ("),c(186,"a",33),d(187,"https://jbaes.be/CAF/CA-flow"),u(),d(188,"):"),u(),c(189,"a",33)(190,"button",90),I("click",function(){return i.trackEvent("click_button_OpenPersonaFlow")}),d(191,"Open Persona Flow"),u()(),c(192,"p",89),d(193,"Screenshot(s)"),u(),c(194,"a",91),y(195,"img",92),u(),c(196,"p",93),d(197,"Results can be documented in tool #2."),u(),c(198,"p",89),d(199,"Who needs to be involved?"),u(),c(200,"ul",94)(201,"li"),d(202,"Security or IT engineer"),u(),c(203,"li"),d(204,"Each persona owner "),c(205,"span",95),d(206,"(i.e. the person or team responsible for using the persona)"),u()(),c(207,"li"),d(208,"CISO "),c(209,"span",95),d(210,"(optional)"),u()()()()()()(),c(211,"div",96)(212,"div",78)(213,"div",79)(214,"div",80)(215,"h5",81),d(216,"#2 Policy Translator"),u(),y(217,"button",82),u(),c(218,"div",83)(219,"p"),d(220,"The second step in building your access security is documenting what security actions can be applied to each persona."),u(),y(221,"p"),c(222,"div",97),d(223," The "),c(224,"span",55),d(225,"primary goal"),u(),d(226," of this Conditional Access approach is to use a static set Conditional Access policies and only add/remove personas (=Entra groups) as needed. "),u(),c(227,"p",84),d(228,"Where do I start?"),u(),c(229,"p"),d(230,"Download the Excel template here:"),u(),c(231,"a",40),I("click",function(){return i.trackEvent("click_button_downloadTemplate")}),c(232,"button",98),d(233,"Download template"),u()(),c(234,"a",99),y(235,"img",100),u(),c(236,"p",93),d(237,"In this template, fill in your listed personas horizontally in the prepared cells."),u(),c(238,"p"),d(239,"For each security action (listed vertically), mark whether the action can be applied on the specific persona. To correctly do this, use tool #1 Flow Diagram."),u(),c(240,"p"),d(241,"For each marking, the template has whitespace for a small note. In the end, this makes it easier to group personas in Conditional Access policies. This small note can contain e.g.:"),u(),c(242,"ul")(243,"li"),d(244,"which Operating Systems should be blocked"),u(),c(245,"li"),d(246,"the device Extention Attribute"),u(),c(247,"li"),d(248,"the device property"),u(),c(249,"li"),d(250,"IP (ranges)"),u(),c(251,"li"),d(252,"the sign-in frequency"),u(),c(253,"li"),d(254,"the action on a identity risk"),u(),c(255,"li"),d(256,"..."),u()(),c(257,"p",84),d(258,"How will this help (re)creating my Conditional Access policies?"),u(),c(259,"p"),d(260,"With all security restrictions filled in for each persona, the next step is to group them. This guides you into creating (or adjusting) your Conditional Access policies. For each security restriction, you can "),c(261,"b")(262,"u"),d(263,"horizontally see which personas should be included in the policy that enforces this security action"),u()(),d(264,"."),u(),c(265,"a",101),y(266,"img",102),u(),c(267,"p"),d(268,"The goal is to create Conditional Access policies once and then simply add or remove personas (Entra groups) as needed."),u(),c(269,"p"),d(270,"Next, create or adjust your Conditional Access policies in report-only mode. Do this based on the different security restrictions in the template. For example:"),u(),c(271,"table",103)(272,"thead")(273,"tr")(274,"th",104),d(275,"CA Policy"),u(),c(276,"th",104),d(277,"Included personas"),u(),c(278,"th",104),d(279,"Excluded personas"),u()()(),c(280,"tbody")(281,"tr")(282,"td"),d(283,"CA001 \u2013 All Apps: Full block"),u(),c(284,"td"),d(285,"..."),u(),c(286,"td"),d(287,"..."),u()(),c(288,"tr")(289,"td"),d(290,"CA002 \u2013 All Apps: Block legacy authentication"),u(),c(291,"td"),d(292,"..."),u(),c(293,"td"),d(294,"..."),u()(),c(295,"tr")(296,"td"),d(297,"CA003 \u2013 All Apps: Block device code authentication"),u(),c(298,"td"),d(299,"..."),u(),c(300,"td"),d(301,"..."),u()(),c(302,"tr")(303,"td"),d(304,"CA004 \u2013 All Apps: Require MFA"),u(),c(305,"td"),d(306,"..."),u(),c(307,"td"),d(308,"..."),u()(),c(309,"tr")(310,"td"),d(311,"CA005 \u2013 All Apps: Require passwordless MFA"),u(),c(312,"td"),d(313,"..."),u(),c(314,"td"),d(315,"..."),u()(),c(316,"tr")(317,"td"),d(318,"CA006 \u2013 All Apps: Require phishing-resistant MFA"),u(),c(319,"td"),d(320,"..."),u(),c(321,"td"),d(322,"..."),u()(),c(323,"tr")(324,"td"),d(325,"CA007 \u2013 All Apps: Require phishing-resistant MFA with Authentication Context"),u(),c(326,"td"),d(327,"..."),u(),c(328,"td"),d(329,"..."),u()(),c(330,"tr")(331,"td"),d(332,"CA008 \u2013 All Apps: Sign-in frequency 60 days"),u(),c(333,"td"),d(334,"..."),u(),c(335,"td"),d(336,"..."),u()(),c(337,"tr")(338,"td"),d(339,"CA009 \u2013 All Apps: Sign-in frequency 14 days"),u(),c(340,"td"),d(341,"..."),u(),c(342,"td"),d(343,"..."),u()(),c(344,"tr")(345,"td"),d(346,"CA010 \u2013 All Apps: Sign-in frequency 10 hours"),u(),c(347,"td"),d(348,"..."),u(),c(349,"td"),d(350,"..."),u()(),c(351,"tr")(352,"td"),d(353,"CA011 \u2013 All Apps: Block on High sign-in risk"),u(),c(354,"td"),d(355,"..."),u(),c(356,"td"),d(357,"..."),u()(),c(358,"tr")(359,"td"),d(360,"CA012 \u2013 All Apps: Block on High user risk"),u(),c(361,"td"),d(362,"..."),u(),c(363,"td"),d(364,"..."),u()(),c(365,"tr")(366,"td"),d(367,"CA013 \u2013 All Apps: Require Password Reset on High user risk"),u(),c(368,"td"),d(369,"..."),u(),c(370,"td"),d(371,"..."),u()(),c(372,"tr")(373,"td"),d(374,"CA014 \u2013 All Apps: Require MFA on high Service Principal risk"),u(),c(375,"td"),d(376,"..."),u(),c(377,"td"),d(378,"..."),u()(),c(379,"tr")(380,"td"),d(381,"CA015 \u2013 All Apps: Require MFA on Elevated insider risk"),u(),c(382,"td"),d(383,"..."),u(),c(384,"td"),d(385,"..."),u()(),c(386,"tr")(387,"td"),d(388,"CA016 \u2013 All Apps: Require TAP on MFA registration"),u(),c(389,"td"),d(390,"..."),u(),c(391,"td"),d(392,"..."),u()(),c(393,"tr")(394,"td"),d(395,"CA017 \u2013 All Apps: Require MFA on device registration or join"),u(),c(396,"td"),d(397,"..."),u(),c(398,"td"),d(399,"..."),u()(),c(400,"tr")(401,"td"),d(402,"CA100 \u2013 All Apps: Require compliant device"),u(),c(403,"td"),d(404,"..."),u(),c(405,"td"),d(406,"..."),u()(),c(407,"tr")(408,"td"),d(409,"CA101 \u2013 All Apps: Require corporate-owned devices"),u(),c(410,"td"),d(411,"..."),u(),c(412,"td"),d(413,"..."),u()(),c(414,"tr")(415,"td"),d(416,"CA102 \u2013 All Apps: Allow deviceID for AD Sync accounts"),u(),c(417,"td"),d(418,"..."),u(),c(419,"td"),d(420,"..."),u()(),c(421,"tr")(422,"td"),d(423,"CA103 \u2013 All Apps: Block unknown Operating Systems"),u(),c(424,"td"),d(425,"..."),u(),c(426,"td"),d(427,"..."),u()(),c(428,"tr")(429,"td"),d(430,"CA104 \u2013 All Apps: Block all devices except Extension Attribute \u2018MeetingRoomDevices\u2019"),u(),c(431,"td"),d(432,"..."),u(),c(433,"td"),d(434,"..."),u()(),c(435,"tr")(436,"td"),d(437,"CA105 \u2013 All Apps: Only allow manufacturer X"),u(),c(438,"td"),d(439,"..."),u(),c(440,"td"),d(441,"..."),u()(),c(442,"tr")(443,"td"),d(444,"CA106 \u2013 All Apps: Block old Windows versions"),u(),c(445,"td"),d(446,"..."),u(),c(447,"td"),d(448,"..."),u()(),c(449,"tr")(450,"td"),d(451,"CA107 \u2013 All Apps: Require App Protection Policies (Android + iOS)"),u(),c(452,"td"),d(453,"..."),u(),c(454,"td"),d(455,"..."),u()(),c(456,"tr")(457,"td"),d(458,"CA108 \u2013 All Apps: Block Android and iOS"),u(),c(459,"td"),d(460,"..."),u(),c(461,"td"),d(462,"..."),u()(),c(463,"tr")(464,"td"),d(465,"CA200 \u2013 Azure: Block untrusted IP ranges"),u(),c(466,"td"),d(467,"..."),u(),c(468,"td"),d(469,"..."),u()(),c(470,"tr")(471,"td"),d(472,"CA201 \u2013 All Apps: Block all locations except USA and Europe"),u(),c(473,"td"),d(474,"..."),u(),c(475,"td"),d(476,"..."),u()(),c(477,"tr")(478,"td"),d(479,"CA202 \u2013 Azure: Block access outside serverroom"),u(),c(480,"td"),d(481,"..."),u(),c(482,"td"),d(483,"..."),u()(),c(484,"tr")(485,"td"),d(486,"CA203 \u2013 Azure: Block outside VPN IP address"),u(),c(487,"td"),d(488,"..."),u(),c(489,"td"),d(490,"..."),u()(),c(491,"tr")(492,"td"),d(493,"CA204 \u2013 All Apps: Require trusted location on MFA registration"),u(),c(494,"td"),d(495,"..."),u(),c(496,"td"),d(497,"..."),u()(),c(498,"tr")(499,"td"),d(500,"CA205 \u2013 Azure: Block access from desktop apps"),u(),c(501,"td"),d(502,"..."),u(),c(503,"td"),d(504,"..."),u()(),c(505,"tr")(506,"td"),d(507,"CA206 \u2013 Block downloads"),u(),c(508,"td"),d(509,"..."),u(),c(510,"td"),d(511,"..."),u()(),c(512,"tr")(513,"td"),d(514,"CA207 \u2013 All Apps: Token Protection (preview)"),u(),c(515,"td"),d(516,"..."),u(),c(517,"td"),d(518,"..."),u()(),c(519,"tr")(520,"td"),d(521,"..."),u(),c(522,"td"),d(523,"..."),u(),c(524,"td"),d(525,"..."),u()()()(),c(526,"p"),d(527,"By just "),c(528,"span",55),d(529,"adding or excluding personas"),u(),d(530," to these Conditional Access policies, your organization will have a strong, clear and well-documented access security setup. A setup based on your organization's personas and organization's use cases."),u(),c(531,"div",97),d(532," Do you need help with creating the Conditional Access policies? Check out the "),c(533,"a",105),d(534,"Conditional Access Framework"),u(),d(535," by Joey Verlinden and the "),c(536,"a",106),d(537,"Conditional Access Framework"),u(),d(538," by Claus Jespersen. They take a different approach. "),u(),c(539,"p"),d(540,"And here, you\u2019ll need to make a decision: do you prefer a higher level of security and being able to customize more with better exclusion catches, "),c(541,"b")(542,"u"),d(543,"or"),u()(),d(544," is having a less complex access setup a higher priority. The answer to this question depends on different factors like the type of organization, core business, the IT team, mentality and so on. It is not a binary decision but rather a balance you need to find."),u(),c(545,"a",107),y(546,"img",108),u(),c(547,"p",84),d(548,"Who needs to be involved?"),u(),c(549,"ul",94)(550,"li"),d(551,"Security or IT engineer"),u(),c(552,"li"),d(553,"Each persona owner "),c(554,"span",95),d(555,"(for validation)"),u()(),c(556,"li"),d(557,"CISO "),c(558,"span",95),d(559,"(for final approval)"),u()()()()()()(),c(560,"div",109)(561,"div",110)(562,"div",79)(563,"div",80)(564,"h5",81),d(565,"#3 Conditional Access Impact Matrix"),u(),y(566,"button",82),u(),c(567,"div",83)(568,"p"),d(569,"Now that you have a strong Conditional Access setup, verifying is vital."),u(),c(570,"p"),d(571,"This tool solves 2 problems:"),u(),c(572,"ul")(573,"li"),d(574,"What CA policies are applied to who (and are there conflicts)? "),c(575,"u"),d(576,"(deliverable 1)"),u()(),c(577,"li"),d(578,"What is the user impact of recent CA changes? "),c(579,"u"),d(580,"(deliverable 2)"),u()()(),c(581,"a",111),I("click",function(){return i.trackEvent("click_button_openScript")}),c(582,"button",112),d(583,"Open script (Github)"),u()(),c(584,"div",113)(585,"div",114)(586,"p",115),d(587,"Deliverable 1: Matrix"),u(),c(588,"a",116),y(589,"img",117),u(),c(590,"p"),d(591,"This Excel report allows to quickly filter and review the user accounts that are included or excluded from each of your Conditional Access policies."),u()(),c(592,"div",118)(593,"p",115),d(594,"Deliverable 2: Impact"),u(),c(595,"a",119),y(596,"img",120),u(),c(597,"p"),d(598,"This web report allow you to review the effects of your recent CA changes on users."),u()()(),c(599,"a",111),I("click",function(){return i.trackEvent("click_button_openScript")}),c(600,"button",121),d(601,"Open script (Github)"),u()(),c(602,"p",84),d(603,"Deliverable 1: Matrix"),u(),c(604,"p"),d(605,"Besides having these insights, periodic reviews or answering questions about access becomes much easier. Example questions you need (to have) answers on:"),u(),c(606,"ul")(607,"li"),d(608,"What user accounts are excluded from MFA?"),u(),c(609,"li"),d(610,"What service accounts can only access our environment from IP XXX.XXX.XXX.XXX?"),u(),c(611,"li"),d(612,"What user accounts are not blocked from accessing Azure Management applications?"),u(),c(613,"li"),d(614,"What users can use old legacy authentication methods?"),u(),c(615,"li"),d(616,"..."),u()(),c(617,"p",84),d(618,"Deliverable 2: Impact"),u(),c(619,"p"),d(620,"When specifying a previously generated report while calling the script, it calculates the impact of changes made in CA on users. These changes can result from group membership modifications, direct assignments, or deletions. Often, other admins are unaware of which groups are used in Conditional Access."),u(),c(621,"p",84),d(622,"Screenshot(s)"),u(),c(623,"a",122),y(624,"img",123),u(),c(625,"p",84),d(626,"Who needs to be involved?"),u(),c(627,"ul",94)(628,"li"),d(629,"Security or IT engineer"),u(),c(630,"li"),d(631,"CISO "),c(632,"span",95),d(633,"(optional)"),u()()()()()()(),c(634,"div",124)(635,"div",78)(636,"div",79)(637,"div",125)(638,"h5",81),d(639,"#4 Simulator"),u(),y(640,"button",82),u(),c(641,"div",83)(642,"p"),d(643,"Finally, you should continiously verify both common and malicious access situations. Key here is "),c(644,"u"),d(645,"compliance"),u(),d(646,"."),u(),c(647,"p",84),d(648,"Tools to simulate access:"),u(),c(649,"div",113)(650,"div",126)(651,"p",127),d(652,"Conditional Access Simulator"),u(),c(653,"p",128),d(654,"(made by me \u{1F609})"),u(),c(655,"p",31),d(656," The PoC was developed in February 2022 during my personal time, and the tool itself was further developed during work hours for my employer Toreon. Although it is currently "),c(657,"span",129),d(658,"closed-source and only available with consulting support"),u(),d(659,", I would have preferred to make it open source as well. "),u(),c(660,"a",130),I("click",function(){return i.trackEvent("click_button_openCASimulator")}),c(661,"button",98),d(662,"More info"),u()()(),c(663,"div",131)(664,"div",132)(665,"p",115),d(666,"\u{1F525} Maester"),u(),c(667,"p",31),d(668," In 2024, a good-looking and open-source PowerShell test automation tool was developed providing similar functionality. "),u(),c(669,"a",133),I("click",function(){return i.trackEvent("click_button_maester")}),c(670,"button",98),d(671,"More info"),u()()(),c(672,"div",134)(673,"p",115),d(674,"What If"),u(),c(675,"p",31),d(676," The built-in simulator in Conditional Access will get you started. Results are not compliance-based and simulations can't be saved. "),u()()()(),c(677,"p",84),d(678,"I develop a way to automatically generate tests for Conditional Access policies"),u(),c(679,"p"),d(680," In my mission to contribute to the open-source Maester project, I developed a script that automatically generates Maester tests based on the current Conditional Access setup of a tenant. "),u(),c(681,"a",111),I("click",function(){return i.trackEvent("click_button_openCAValidator")}),c(682,"button",98),d(683,"Open Github"),u()(),c(684,"a",135),y(685,"img",136),u(),c(686,"p",84),d(687,"The need for a Breach and Attack Simulator (BAS)"),u(),c(688,"p"),d(689,"Conditional Access is one of the most important security components of Entra, but complicated to setup and maintain. It can contain many policies, which can add up or exclude eachother. Also, misconfigurations happen often resulting in security gaps or incidents. Your access setup is partly a translation of the policies business has defined. So you should just be (continuously) checking if your Conditional Access setup meets these business defined policies. "),u(),c(690,"p"),d(691,"The easiest way to do this is with compliance. For each simulation you define what the expected outcome is (e.g. MFA, company device, password reset, block, ...). If the simulation matches the expected actions, you're good. If not, you have a misconfiguration or wrong configured Conditional Access policy."),u(),c(692,"p"),d(693,"You should only create simulations for user accounts you specifically want to test, or a random user from a persona."),u(),c(694,"p",84),d(695,"Screenshot(s)"),u(),c(696,"p",137),d(697,"Define simulations:"),u(),c(698,"a",138),y(699,"img",139),u(),c(700,"p",137),d(701,"Simulation results:"),u(),c(702,"a",140),y(703,"img",141),u(),c(704,"p",137),d(705,"Best practices:"),u(),c(706,"a",142),y(707,"img",143),u(),c(708,"p",137),d(709,"Maester example:"),u(),c(710,"a",144),y(711,"img",145),u(),c(712,"p",84),d(713,"Who needs to be involved?"),u(),c(714,"ul",94)(715,"li"),d(716,"Security or IT engineer"),u(),c(717,"li"),d(718,"CISO"),u()()()()()(),c(719,"div",146)(720,"div",78)(721,"div",79)(722,"div",125)(723,"h5",81),d(724,"How can you make a difference?"),u(),y(725,"button",82),u(),c(726,"div",83)(727,"p"),d(728,"The sole purpose of the Conditional Access Blueprint is to guide you towards a more secure access configurations. Here's how you can contribute to that mission:"),u(),c(729,"ul")(730,"li",84),d(731,"Use it: "),c(732,"span",147),d(733,"Use the tools and other referenced tools! That's why they were build. Use it in your own organization, or use it with your clients."),u()(),c(734,"li",84),d(735,"Talk about it: "),c(736,"span",147),d(737,"Engage in discussions about this, or invite me to spreak about the framework."),u()(),c(738,"li",84),d(739,"Feedback or share ideas: "),c(740,"span",147),d(741,"Have ideas or suggestions to improve this framework? Message me on "),c(742,"a",148),I("click",function(){return i.trackEvent("click_CAF_LinkedIn")}),d(743,"LinkedIn"),u(),d(744," (Jasper Baes)"),u()(),c(745,"li",84),d(746,"Contribute: "),c(747,"span",147),d(748,"Join efforts to improve the quality, code and usability of the Conditional Access Blueprint."),u()(),c(749,"li",84),d(750,"Donate: "),c(751,"span",147),d(752,"Consider supporting financially to cover costs (domain name, hosting, development costs, time, production costs, professional travel, ...) or future investments: donate on"),u(),c(753,"div",149)(754,"a",150),I("click",function(){return i.trackEvent("click_button_buyMeACoffee")}),c(755,"button",98),d(756,"\u2615 Buy Me A Coffee"),u()()()()(),c(757,"p",151),d(758,"The Conditional Access Blueprint was developed entirely on my own time, without any support or involvement from any organization or employer. For tool 4, a free alternative is available."),u(),y(759,"hr",152),c(760,"p",151),d(761,"Please be aware that the Conditional Access Blueprint is intended solely for individual administrators' personal use. It is not licensed for use by organizations seeking financial gain. This restriction is in place to ensure the responsible and fair use of the tools. Admins are encouraged to leverage this code to enhance their own understanding and management within their respective environments, but any commercial or organizational profit-driven usage is strictly prohibited."),u(),c(762,"p",151),d(763,"Thank you for respecting these usage terms and contributing to a fair and ethical software community. "),u()()()()()()),r&2&&(m(4),g("ngClass",E(44,ir,i.isDarkMode,!i.isDarkMode)),m(5),g("ngClass",E(47,eI,i.isDarkMode,!i.isDarkMode)),m(),g("ngClass",E(50,ce,i.isDarkMode,!i.isDarkMode)),m(28),g("ngClass",E(53,hs,i.isDarkMode,!i.isDarkMode)),m(6),g("ngClass",E(56,ce,i.isDarkMode,!i.isDarkMode)),m(12),g("ngClass",E(59,hs,i.isDarkMode,!i.isDarkMode)),m(6),g("ngClass",E(62,ce,i.isDarkMode,!i.isDarkMode)),m(12),g("ngClass",E(65,hs,i.isDarkMode,!i.isDarkMode)),m(6),g("ngClass",E(68,ce,i.isDarkMode,!i.isDarkMode)),m(12),g("ngClass",E(71,hs,i.isDarkMode,!i.isDarkMode)),m(6),g("ngClass",E(74,ce,i.isDarkMode,!i.isDarkMode)),m(9),g("ngClass",E(77,ce,i.isDarkMode,!i.isDarkMode)),m(5),g("ngClass",E(80,Um,i.isDarkMode,!i.isDarkMode)),m(3),g("ngClass",E(83,Um,i.isDarkMode,!i.isDarkMode)),m(13),g("ngForOf",i.checklist),m(),g("ngIf",!i.checklistShowAll),m(),g("ngIf",i.checklistShowAll),m(19),re("data-bs-theme",i.isDarkMode?"dark":"light"),m(16),g("ngClass",E(86,ce,i.isDarkMode,!i.isDarkMode)),m(6),g("ngClass",E(89,ce,i.isDarkMode,!i.isDarkMode)),m(29),g("ngClass",E(92,ce,i.isDarkMode,!i.isDarkMode)),m(11),re("data-bs-theme",i.isDarkMode?"dark":"light"),m(13),g("ngClass",E(95,ce,i.isDarkMode,!i.isDarkMode)),m(304),g("ngClass",E(98,ce,i.isDarkMode,!i.isDarkMode)),m(21),g("ngClass",E(101,ce,i.isDarkMode,!i.isDarkMode)),m(11),re("data-bs-theme",i.isDarkMode?"dark":"light"),m(25),g("ngClass",E(104,ri,i.isDarkMode,!i.isDarkMode)),m(7),g("ngClass",E(107,ri,i.isDarkMode,!i.isDarkMode)),m(35),g("ngClass",E(110,ce,i.isDarkMode,!i.isDarkMode)),m(7),re("data-bs-theme",i.isDarkMode?"dark":"light"),m(16),g("ngClass",E(113,ri,i.isDarkMode,!i.isDarkMode)),m(5),g("ngClass",E(116,ce,i.isDarkMode,!i.isDarkMode)),m(9),g("ngClass",E(119,ri,i.isDarkMode,!i.isDarkMode)),m(3),g("ngClass",E(122,ce,i.isDarkMode,!i.isDarkMode)),m(5),g("ngClass",E(125,ri,i.isDarkMode,!i.isDarkMode)),m(3),g("ngClass",E(128,ce,i.isDarkMode,!i.isDarkMode)),m(39),g("ngClass",E(131,ce,i.isDarkMode,!i.isDarkMode)),m(5),re("data-bs-theme",i.isDarkMode?"dark":"light"),m(13),g("ngClass",E(134,ir,i.isDarkMode,!i.isDarkMode)),m(4),g("ngClass",E(137,ir,i.isDarkMode,!i.isDarkMode)),m(4),g("ngClass",E(140,ir,i.isDarkMode,!i.isDarkMode)),m(2),g("ngClass",E(143,ce,i.isDarkMode,!i.isDarkMode)),m(5),g("ngClass",E(146,ir,i.isDarkMode,!i.isDarkMode)),m(4),g("ngClass",E(149,ir,i.isDarkMode,!i.isDarkMode)))},dependencies:[bt,Wn,Ho,zo],styles:[".service[_ngcontent-%COMP%]{border-radius:20px!important}.underline-primary[_ngcontent-%COMP%]{border-bottom:2px solid #27374d}.bg-primary-opacity[_ngcontent-%COMP%]{background-color:#ffe9db!important}.bg-info-opacity[_ngcontent-%COMP%]{background-color:#d7e6fb!important}.text-lightinfo[_ngcontent-%COMP%]{color:#afd0fd!important}"]})}return e})();var Hm=[{path:"",component:Pm,title:"Jasper Baes"},{path:"Conditional-Access-Blueprint",component:$m,title:"Conditional Access Blueprint - Jasper Baes"},{path:"Conditional-Access-Framework",redirectTo:"Conditional-Access-Blueprint",pathMatch:"full"},{path:"CAB",redirectTo:"Conditional-Access-Blueprint",pathMatch:"full"},{path:"cab",redirectTo:"Conditional-Access-Blueprint",pathMatch:"full"},{path:"posts",component:j,title:"Posts - Jasper Baes"},{path:"posts/:id",component:j,title:"Posts - Jasper Baes"},{path:"posts/entra-pim-concept",component:j,title:"Dear Entra PIM, you can do better - Jasper Baes"},{path:"posts/qr-code-auth",component:j,title:"\u26A1 Fast Facts about Entra QR Code Authentication - Jasper Baes"},{path:"posts/the-collective",component:j,title:"I started a new challenge - blog Jasper Baes"},{path:"posts/talk-m365-security-user-group",component:j,title:"Talk: Fortify Your Access Security with the Conditional Access Blueprint - blog Jasper Baes"},{path:"posts/group-impact-popup",component:j,title:"@Microsoft: Why is this feature not yet in the Portals? - blog Jasper Baes"},{path:"posts/group-analyzer-entra-news",component:j,title:"My tool is mentioned in Entra.news #79, IntuneQLinks and by KPMG - blog Jasper Baes"},{path:"posts/practical-365-a-practical-tool-to-prevent-misuse-of-entra-group-assignment",component:j,title:"Practical 365: A Practical Tool to Prevent Misuse of Entra Group Assignment - blog Jasper Baes"},{path:"posts/cockpit-concept",component:j,title:"CONCEPT VIDEO: Copilot Cockpit - blog Jasper Baes"},{path:"posts/ignite-day-2",component:j,title:"Microsoft Ignite: Day 2 - blog Jasper Baes"},{path:"posts/ignite-day-1",component:j,title:"Microsoft Ignite: Day 1 - blog Jasper Baes"},{path:"posts/ignite-day-0",component:j,title:"Microsoft Ignite: Pre-day - blog Jasper Baes"},{path:"posts/conditional-access-blueprint-entra-news",component:j,title:"My Conditional Access Blueprint framework is mentioned in Entra.news #64, #65, #69 and #70 - blog Jasper Baes"},{path:"posts/going-to-microsoft-ignite-2024",component:j,title:"Explained: the Microsoft Copilot and AI Marketing Push - blog Jasper Baes"},{path:"posts/practical-365-four-practical-tools-and-strategies-for-success-with-conditional-access-policies",component:j,title:"Practical 365: Four Practical Tools and Strategies for Success with Conditional Access Policies - blog Jasper Baes"},{path:"posts/your-positivity-and-feedback-fuels-me",component:j,title:"Your Positivity and Feedback Fuels Me! \u{1F525}- blog Jasper Baes"},{path:"posts/unlock-the-full-potential-of-conditional-access",component:j,title:"Unlock the full potential of Conditional Access! \u{1F513} - blog Jasper Baes"},{path:"posts/conditional-access-matrix",component:j,title:"\u{1F680} This tool is THE BEST way to report and monitor user impact on your Conditional Access policies! \u{1F680} - blog Jasper Baes"},{path:"posts/talk-cyber-coalition-belgium",component:j,title:"Talk: Cyber Security Coalition Belgium - Cloud Focus Group - blog Jasper Baes"},{path:"posts/released-conditional-access-blueprint",component:j,title:"I released my open-source security framework! - blog Jasper Baes"},{path:"posts/cybersec-europe-2024",component:j,title:"Representing Microsoft Security at the Cybersec Europe 2024! - blog Jasper Baes"},{path:"posts/rsa-2024",component:j,title:"At RSA Conference San Francisco! - blog Jasper Baes"},{path:"posts/entra-news-30",component:j,title:"My tool is in Entra.news #30 - blog Jasper Baes"},{path:"posts/group-analyzer",component:j,title:"Every Microsoft Cloud admin needs this! \u{1F4AA} - blog Jasper Baes"},{path:"posts/break-the-glass-strategy",component:j,title:"\u{1F6A8} What does an effective emergency account strategy look like? - blog Jasper Baes"},{path:"posts/conditional-access-insider-risk",component:j,title:"\u2757New \u201CInsider Risk\u201D condition in Azure Conditional Access? \u2757- blog Jasper Baes"},{path:"posts/cloud-apps-ip-allowlisting",component:j,title:"\u{1F50D} Easily detect Cloud applications eligible for IP allowlisting - blog Jasper Baes"},{path:"posts/private-chatgpt-guide",component:j,title:"Deploy your organization\u2019s private Copilot in just 30 minutes \u{1F680} - blog Jasper Baes"},{path:"posts/conditional-access-token-protection",component:j,title:"\u{1F6E1}\uFE0F Shield your tokens and safeguard your resources with Token Protection - blog Jasper Baes"},{path:"posts/claims-based-authentication",component:j,title:"Simplifying Entra Claims-Based Authorization - blog Jasper Baes"},{path:"posts/restricted-management-administrative-units",component:j,title:"Protect important accounts with Restricted Management Administrative Units - blog Jasper Baes"},{path:"posts/just-enough-access-with-copilot",component:j,title:"How just-enough-access will be even more important with Microsoft 365 Copilot - blog Jasper Baes"},{path:"posts/system-preferred-mfa",component:j,title:"System-preferred MFA will be enabled - blog Jasper Baes"},{path:"posts/entra-block-users-from-reading-their-bitlocker-keys",component:j,title:"Block your users from reading their BitLocker keys - blog Jasper Baes"},{path:"posts/cloud-security-for-cisos",component:j,title:"The Importance of Cloud Security: A Comprehensive Guide for CISOs - blog Jasper Baes"},{path:"posts/cybersec-europe-2023",component:j,title:"Cybersec Europe 2023 - blog Jasper Baes"}];var zm={providers:[mh({eventCoalescing:!0}),Nm(Hm),Yh()]};Wh(rr,zm).catch(e=>console.error(e));