diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml
index a2e4867a..c95c4514 100644
--- a/.github/workflows/ci.yml
+++ b/.github/workflows/ci.yml
@@ -6,8 +6,8 @@ env:
solution: 'src\ReportGenerator.sln'
buildPlatform: Any CPU
buildConfiguration: Release
- version: 5.1.26
- dotnetSDKVersion: 7.0.401
+ version: 5.2.0
+ dotnetSDKVersion: 8.0.100-rc.2.23502.2
nodeVersion: 18
jobs:
@@ -50,14 +50,6 @@ jobs:
- name: 'Compile Solution'
run: msbuild '${{ env.solution }}' /p:configuration='${{ env.buildConfiguration }}' /p:platform='${{ env.buildPlatform }}'
- - name: dotnet publish Console.NetCore 3.1
- run: dotnet publish -c ${{ env.BuildConfiguration }} -f netcoreapp3.1 ReportGenerator.Console.NetCore.csproj
- working-directory: src/ReportGenerator.Console.NetCore
-
- - name: dotnet publish Console.NetCore 5.0
- run: dotnet publish -c ${{ env.BuildConfiguration }} -f net5.0 ReportGenerator.Console.NetCore.csproj
- working-directory: src/ReportGenerator.Console.NetCore
-
- name: dotnet publish Console.NetCore 6.0
run: dotnet publish -c ${{ env.BuildConfiguration }} -f net6.0 ReportGenerator.Console.NetCore.csproj
working-directory: src/ReportGenerator.Console.NetCore
@@ -66,13 +58,9 @@ jobs:
run: dotnet publish -c ${{ env.BuildConfiguration }} -f net7.0 ReportGenerator.Console.NetCore.csproj
working-directory: src/ReportGenerator.Console.NetCore
- - name: dotnet publish DotnetGlobalTool 3.1
- run: dotnet publish -c ${{ env.BuildConfiguration }} -f netcoreapp3.1 ReportGenerator.DotnetGlobalTool.csproj
- working-directory: src/ReportGenerator.DotnetGlobalTool
-
- - name: dotnet publish DotnetGlobalTool 5.0
- run: dotnet publish -c ${{ env.BuildConfiguration }} -f net5.0 ReportGenerator.DotnetGlobalTool.csproj
- working-directory: src/ReportGenerator.DotnetGlobalTool
+ - name: dotnet publish Console.NetCore 8.0
+ run: dotnet publish -c ${{ env.BuildConfiguration }} -f net8.0 ReportGenerator.Console.NetCore.csproj
+ working-directory: src/ReportGenerator.Console.NetCore
- name: dotnet publish DotnetGlobalTool 6.0
run: dotnet publish -c ${{ env.BuildConfiguration }} -f net6.0 ReportGenerator.DotnetGlobalTool.csproj
@@ -82,6 +70,10 @@ jobs:
run: dotnet publish -c ${{ env.BuildConfiguration }} -f net7.0 ReportGenerator.DotnetGlobalTool.csproj
working-directory: src/ReportGenerator.DotnetGlobalTool
+ - name: dotnet publish DotnetGlobalTool 8.0
+ run: dotnet publish -c ${{ env.BuildConfiguration }} -f net8.0 ReportGenerator.DotnetGlobalTool.csproj
+ working-directory: src/ReportGenerator.DotnetGlobalTool
+
- name: Test
run: dotnet test src\ReportGenerator.Core.Test\ReportGenerator.Core.Test.csproj --configuration ${{ env.BuildConfiguration }} --no-build /p:CollectCoverage=true /p:DeterministicSourcePaths=true /p:IncludeTestAssembly=true /p:CoverletOutputFormat=opencover%2ccobertura /p:CoverletOutput=../target/reports/coverage/
@@ -106,8 +98,8 @@ jobs:
- name: 'Prepare VSIX release: NetCore'
run: |
- mkdir src/AzureDevopsTask/ReportGenerator/tools/netcoreapp3.1
- xcopy 'src\ReportGenerator.Console.NetCore\bin\Release\netcoreapp3.1\publish' 'src\AzureDevopsTask\ReportGenerator\tools\netcoreapp3.1' /s
+ mkdir src/AzureDevopsTask/ReportGenerator/tools/net6.0
+ xcopy 'src\ReportGenerator.Console.NetCore\bin\Release\net6.0\publish' 'src\AzureDevopsTask\ReportGenerator\tools\net6.0' /s
- name: 'Prepare VSIX release: Install TFS Cross Platform Command Line Interface (tfx-cli)'
run: npm install -g tfx-cli
@@ -128,10 +120,9 @@ jobs:
run: |
mkdir tmpzip
mkdir tmpzip\net47
- mkdir tmpzip\netcoreapp3.1
- mkdir tmpzip\net5.0
mkdir tmpzip\net6.0
mkdir tmpzip\net7.0
+ mkdir tmpzip\net8.0
- name: 'Prepare ZIP release'
run: |
@@ -141,10 +132,9 @@ jobs:
xcopy "src\ReportGenerator.Console\bin\Release\*.dll" "tmpzip\net47"
xcopy "src\ReportGenerator.Console\bin\Release\ReportGenerator.exe" "tmpzip\net47"
xcopy "src\ReportGenerator.Console\bin\Release\ReportGenerator.exe.config" "tmpzip\net47"
- xcopy 'src\ReportGenerator.Console.NetCore\bin\Release\netcoreapp3.1\publish\*' 'tmpzip\netcoreapp3.1' /s
- xcopy 'src\ReportGenerator.Console.NetCore\bin\Release\net5.0\publish\*' 'tmpzip\net5.0' /s
xcopy 'src\ReportGenerator.Console.NetCore\bin\Release\net6.0\publish\*' 'tmpzip\net6.0' /s
xcopy 'src\ReportGenerator.Console.NetCore\bin\Release\net7.0\publish\*' 'tmpzip\net7.0' /s
+ xcopy 'src\ReportGenerator.Console.NetCore\bin\Release\net8.0\publish\*' 'tmpzip\net8.0' /s
- name: 'Pack ZIP release'
run: Compress-Archive -Path tmpzip/* -DestinationPath src/target/packages/ReportGenerator_${{ env.Version }}.zip
@@ -199,7 +189,7 @@ jobs:
uses: softprops/action-gh-release@v1
with:
name: ReportGenerator_${{ env.Version }}
- body: This release requires .NET 4.7 or .NET Core 3.1/5.x/6.x/7.x.
+ body: This release requires .NET 4.7 or .NET Core 6.x/7.x/8.x.
tag_name: v${{ env.Version }}
files: ReportGenerator_${{ env.Version }}.zip
env:
diff --git a/README.md b/README.md
index 780ce70e..60b79eda 100644
--- a/README.md
+++ b/README.md
@@ -42,11 +42,11 @@ Use the online [configuration tool](https://reportgenerator.io/usage) to get sta
|**Package**|**Platforms**|**Installation/Usage**|
|:----------|:------------|:---------------------|
-|[ReportGenerator](https://www.nuget.org/packages/ReportGenerator)
[![Nuget](https://img.shields.io/nuget/v/ReportGenerator.svg?style=for-the-badge)![Nuget](https://img.shields.io/nuget/dt/ReportGenerator.svg?style=for-the-badge)](https://www.nuget.org/packages/ReportGenerator)|.NET Core >=3.1
.NET Framework 4.7|Use this package if your project is based on *.NET Framework* or *.NET Core* and you want to use *ReportGenerator* via the command line or a build script.
**Usage**
```dotnet $(UserProfile).nuget\packages\reportgenerator\x.y.z\tools\net6.0\ReportGenerator.dll [options]```
```$(UserProfile).nuget\packages\reportgenerator\x.y.z\tools\net6.0\ReportGenerator.exe [options]```
```$(UserProfile)\.nuget\packages\reportgenerator\x.y.z\tools\net47\ReportGenerator.exe [options]```|
-|[dotnet-reportgenerator-globaltool](https://www.nuget.org/packages/dotnet-reportgenerator-globaltool)
[![Nuget](https://img.shields.io/nuget/v/dotnet-reportgenerator-globaltool.svg?style=for-the-badge)![Nuget](https://img.shields.io/nuget/dt/dotnet-reportgenerator-globaltool.svg?style=for-the-badge)](https://www.nuget.org/packages/dotnet-reportgenerator-globaltool)|.NET Core >=3.1 |Use this package if your project is based on *.NET Core* and you want to use *ReportGenerator* as a (global) 'DotnetTool'.
**Installation**
```dotnet tool install -g dotnet-reportgenerator-globaltool```
```dotnet tool install dotnet-reportgenerator-globaltool --tool-path tools```
```dotnet new tool-manifest```
```dotnet tool install dotnet-reportgenerator-globaltool```
**Usage**
```reportgenerator [options]```
```tools\reportgenerator.exe [options]```
```dotnet reportgenerator [options]```|
+|[ReportGenerator](https://www.nuget.org/packages/ReportGenerator)
[![Nuget](https://img.shields.io/nuget/v/ReportGenerator.svg?style=for-the-badge)![Nuget](https://img.shields.io/nuget/dt/ReportGenerator.svg?style=for-the-badge)](https://www.nuget.org/packages/ReportGenerator)|.NET Core >=6.0
.NET Framework 4.7|Use this package if your project is based on *.NET Framework* or *.NET Core* and you want to use *ReportGenerator* via the command line or a build script.
**Usage**
```dotnet $(UserProfile).nuget\packages\reportgenerator\x.y.z\tools\net8.0\ReportGenerator.dll [options]```
```$(UserProfile).nuget\packages\reportgenerator\x.y.z\tools\net8.0\ReportGenerator.exe [options]```
```$(UserProfile)\.nuget\packages\reportgenerator\x.y.z\tools\net47\ReportGenerator.exe [options]```|
+|[dotnet-reportgenerator-globaltool](https://www.nuget.org/packages/dotnet-reportgenerator-globaltool)
[![Nuget](https://img.shields.io/nuget/v/dotnet-reportgenerator-globaltool.svg?style=for-the-badge)![Nuget](https://img.shields.io/nuget/dt/dotnet-reportgenerator-globaltool.svg?style=for-the-badge)](https://www.nuget.org/packages/dotnet-reportgenerator-globaltool)|.NET Core >=6.0 |Use this package if your project is based on *.NET Core* and you want to use *ReportGenerator* as a (global) 'DotnetTool'.
**Installation**
```dotnet tool install -g dotnet-reportgenerator-globaltool```
```dotnet tool install dotnet-reportgenerator-globaltool --tool-path tools```
```dotnet new tool-manifest```
```dotnet tool install dotnet-reportgenerator-globaltool```
**Usage**
```reportgenerator [options]```
```tools\reportgenerator.exe [options]```
```dotnet reportgenerator [options]```|
|[ReportGenerator.Core](https://www.nuget.org/packages/ReportGenerator.Core)
[![Nuget](https://img.shields.io/nuget/v/ReportGenerator.Core.svg?style=for-the-badge)![Nuget](https://img.shields.io/nuget/dt/ReportGenerator.Core.svg?style=for-the-badge)](https://www.nuget.org/packages/ReportGenerator.Core)|.NET Standard 2.0|Use this package if you want to write a custom **plugin** for *ReportGenerator* or if you want to call/execute *ReportGenerator* within your code base.
**Plugin development**
[Custom reports](https://github.com/danielpalme/ReportGenerator/wiki/Custom-reports)
[Custom history storage](https://github.com/danielpalme/ReportGenerator/wiki/Custom-history-storage)|
-|[Azure DevOps extension](https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator)
[![Visual Studio Marketplace Version](https://img.shields.io/visual-studio-marketplace/v/Palmmedia.reportgenerator.svg?style=for-the-badge)![Visual Studio Marketplace Installs - Azure DevOps Extension](https://img.shields.io/visual-studio-marketplace/azure-devops/installs/total/Palmmedia.reportgenerator.svg?style=for-the-badge)](https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator)|.NET Core >=3.1| Add the Azure DevOps extension to your build pipeline.
[Learn more](https://github.com/danielpalme/ReportGenerator/wiki/Integration#azure-devops-extension)|
-|[GitHub Actions](https://github.com/marketplace/actions/reportgenerator)|.NET Core >=3.1| Add the GitHub Action to your build pipeline.
[Learn more](https://github.com/danielpalme/ReportGenerator/wiki/Integration#github-actions)|
+|[Azure DevOps extension](https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator)
[![Visual Studio Marketplace Version](https://img.shields.io/visual-studio-marketplace/v/Palmmedia.reportgenerator.svg?style=for-the-badge)![Visual Studio Marketplace Installs - Azure DevOps Extension](https://img.shields.io/visual-studio-marketplace/azure-devops/installs/total/Palmmedia.reportgenerator.svg?style=for-the-badge)](https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator)|.NET Core >=6.0| Add the Azure DevOps extension to your build pipeline.
[Learn more](https://github.com/danielpalme/ReportGenerator/wiki/Integration#azure-devops-extension)|
+|[GitHub Actions](https://github.com/marketplace/actions/reportgenerator)|.NET Core >=6.0| Add the GitHub Action to your build pipeline.
[Learn more](https://github.com/danielpalme/ReportGenerator/wiki/Integration#github-actions)|
### Usage / Command line parameters
Use the online [configuration tool](https://reportgenerator.io/usage) to get started quickly.
diff --git a/docs/main.752a4eb1bf070a26.js b/docs/main.752a4eb1bf070a26.js
index b902a135..94a1faaa 100644
--- a/docs/main.752a4eb1bf070a26.js
+++ b/docs/main.752a4eb1bf070a26.js
@@ -1 +1 @@
-"use strict";(self.webpackChunkReportGenerator_io=self.webpackChunkReportGenerator_io||[]).push([[179],{603:()=>{function ue(e){return"function"==typeof e}function Wo(e){const r=e(n=>{Error.call(n),n.stack=(new Error).stack});return r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r}const Es=Wo(e=>function(r){e(this),this.message=r?`${r.length} errors occurred during unsubscription:\n${r.map((n,o)=>`${o+1}) ${n.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=r});function Zo(e,t){if(e){const r=e.indexOf(t);0<=r&&e.splice(r,1)}}class gt{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:r}=this;if(r)if(this._parentage=null,Array.isArray(r))for(const i of r)i.remove(this);else r.remove(this);const{initialTeardown:n}=this;if(ue(n))try{n()}catch(i){t=i instanceof Es?i.errors:[i]}const{_finalizers:o}=this;if(o){this._finalizers=null;for(const i of o)try{Vh(i)}catch(s){t=t??[],s instanceof Es?t=[...t,...s.errors]:t.push(s)}}if(t)throw new Es(t)}}add(t){var r;if(t&&t!==this)if(this.closed)Vh(t);else{if(t instanceof gt){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(r=this._finalizers)&&void 0!==r?r:[]).push(t)}}_hasParent(t){const{_parentage:r}=this;return r===t||Array.isArray(r)&&r.includes(t)}_addParent(t){const{_parentage:r}=this;this._parentage=Array.isArray(r)?(r.push(t),r):r?[r,t]:t}_removeParent(t){const{_parentage:r}=this;r===t?this._parentage=null:Array.isArray(r)&&Zo(r,t)}remove(t){const{_finalizers:r}=this;r&&Zo(r,t),t instanceof gt&&t._removeParent(this)}}gt.EMPTY=(()=>{const e=new gt;return e.closed=!0,e})();const Fh=gt.EMPTY;function Lh(e){return e instanceof gt||e&&"closed"in e&&ue(e.remove)&&ue(e.add)&&ue(e.unsubscribe)}function Vh(e){ue(e)?e():e.unsubscribe()}const ir={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Ms={setTimeout(e,t,...r){const{delegate:n}=Ms;return n?.setTimeout?n.setTimeout(e,t,...r):setTimeout(e,t,...r)},clearTimeout(e){const{delegate:t}=Ms;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function jh(e){Ms.setTimeout(()=>{const{onUnhandledError:t}=ir;if(!t)throw e;t(e)})}function lc(){}const ME=cc("C",void 0,void 0);function cc(e,t,r){return{kind:e,value:t,error:r}}let sr=null;function Is(e){if(ir.useDeprecatedSynchronousErrorHandling){const t=!sr;if(t&&(sr={errorThrown:!1,error:null}),e(),t){const{errorThrown:r,error:n}=sr;if(sr=null,r)throw n}}else e()}class uc extends gt{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,Lh(t)&&t.add(this)):this.destination=NE}static create(t,r,n){return new Ss(t,r,n)}next(t){this.isStopped?fc(function SE(e){return cc("N",e,void 0)}(t),this):this._next(t)}error(t){this.isStopped?fc(function IE(e){return cc("E",void 0,e)}(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?fc(ME,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const AE=Function.prototype.bind;function dc(e,t){return AE.call(e,t)}class xE{constructor(t){this.partialObserver=t}next(t){const{partialObserver:r}=this;if(r.next)try{r.next(t)}catch(n){Ts(n)}}error(t){const{partialObserver:r}=this;if(r.error)try{r.error(t)}catch(n){Ts(n)}else Ts(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(r){Ts(r)}}}class Ss extends uc{constructor(t,r,n){let o;if(super(),ue(t)||!t)o={next:t??void 0,error:r??void 0,complete:n??void 0};else{let i;this&&ir.useDeprecatedNextContext?(i=Object.create(t),i.unsubscribe=()=>this.unsubscribe(),o={next:t.next&&dc(t.next,i),error:t.error&&dc(t.error,i),complete:t.complete&&dc(t.complete,i)}):o=t}this.destination=new xE(o)}}function Ts(e){ir.useDeprecatedSynchronousErrorHandling?function TE(e){ir.useDeprecatedSynchronousErrorHandling&&sr&&(sr.errorThrown=!0,sr.error=e)}(e):jh(e)}function fc(e,t){const{onStoppedNotification:r}=ir;r&&Ms.setTimeout(()=>r(e,t))}const NE={closed:!0,next:lc,error:function RE(e){throw e},complete:lc},hc="function"==typeof Symbol&&Symbol.observable||"@@observable";function jn(e){return e}function Hh(e){return 0===e.length?jn:1===e.length?e[0]:function(r){return e.reduce((n,o)=>o(n),r)}}let Ie=(()=>{class e{constructor(r){r&&(this._subscribe=r)}lift(r){const n=new e;return n.source=this,n.operator=r,n}subscribe(r,n,o){const i=function kE(e){return e&&e instanceof uc||function PE(e){return e&&ue(e.next)&&ue(e.error)&&ue(e.complete)}(e)&&Lh(e)}(r)?r:new Ss(r,n,o);return Is(()=>{const{operator:s,source:a}=this;i.add(s?s.call(i,a):a?this._subscribe(i):this._trySubscribe(i))}),i}_trySubscribe(r){try{return this._subscribe(r)}catch(n){r.error(n)}}forEach(r,n){return new(n=Uh(n))((o,i)=>{const s=new Ss({next:a=>{try{r(a)}catch(l){i(l),s.unsubscribe()}},error:i,complete:o});this.subscribe(s)})}_subscribe(r){var n;return null===(n=this.source)||void 0===n?void 0:n.subscribe(r)}[hc](){return this}pipe(...r){return Hh(r)(this)}toPromise(r){return new(r=Uh(r))((n,o)=>{let i;this.subscribe(s=>i=s,s=>o(s),()=>n(i))})}}return e.create=t=>new e(t),e})();function Uh(e){var t;return null!==(t=e??ir.Promise)&&void 0!==t?t:Promise}const FE=Wo(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let Vt=(()=>{class e extends Ie{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(r){const n=new Bh(this,this);return n.operator=r,n}_throwIfClosed(){if(this.closed)throw new FE}next(r){Is(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const n of this.currentObservers)n.next(r)}})}error(r){Is(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=r;const{observers:n}=this;for(;n.length;)n.shift().error(r)}})}complete(){Is(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:r}=this;for(;r.length;)r.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var r;return(null===(r=this.observers)||void 0===r?void 0:r.length)>0}_trySubscribe(r){return this._throwIfClosed(),super._trySubscribe(r)}_subscribe(r){return this._throwIfClosed(),this._checkFinalizedStatuses(r),this._innerSubscribe(r)}_innerSubscribe(r){const{hasError:n,isStopped:o,observers:i}=this;return n||o?Fh:(this.currentObservers=null,i.push(r),new gt(()=>{this.currentObservers=null,Zo(i,r)}))}_checkFinalizedStatuses(r){const{hasError:n,thrownError:o,isStopped:i}=this;n?r.error(o):i&&r.complete()}asObservable(){const r=new Ie;return r.source=this,r}}return e.create=(t,r)=>new Bh(t,r),e})();class Bh extends Vt{constructor(t,r){super(),this.destination=t,this.source=r}next(t){var r,n;null===(n=null===(r=this.destination)||void 0===r?void 0:r.next)||void 0===n||n.call(r,t)}error(t){var r,n;null===(n=null===(r=this.destination)||void 0===r?void 0:r.error)||void 0===n||n.call(r,t)}complete(){var t,r;null===(r=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===r||r.call(t)}_subscribe(t){var r,n;return null!==(n=null===(r=this.source)||void 0===r?void 0:r.subscribe(t))&&void 0!==n?n:Fh}}function $h(e){return ue(e?.lift)}function Pe(e){return t=>{if($h(t))return t.lift(function(r){try{return e(r,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}function Re(e,t,r,n,o){return new LE(e,t,r,n,o)}class LE extends uc{constructor(t,r,n,o,i,s){super(t),this.onFinalize=i,this.shouldUnsubscribe=s,this._next=r?function(a){try{r(a)}catch(l){t.error(l)}}:super._next,this._error=o?function(a){try{o(a)}catch(l){t.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=n?function(){try{n()}catch(a){t.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:r}=this;super.unsubscribe(),!r&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}}}function ee(e,t){return Pe((r,n)=>{let o=0;r.subscribe(Re(n,i=>{n.next(e.call(t,i,o++))}))})}function Hn(e){return this instanceof Hn?(this.v=e,this):new Hn(e)}function Wh(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,t=e[Symbol.asyncIterator];return t?t.call(e):(e=function vc(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),r={},n("next"),n("throw"),n("return"),r[Symbol.asyncIterator]=function(){return this},r);function n(i){r[i]=e[i]&&function(s){return new Promise(function(a,l){!function o(i,s,a,l){Promise.resolve(l).then(function(c){i({value:c,done:a})},s)}(a,l,(s=e[i](s)).done,s.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Zh=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function Yh(e){return ue(e?.then)}function Qh(e){return ue(e[hc])}function Xh(e){return Symbol.asyncIterator&&ue(e?.[Symbol.asyncIterator])}function Jh(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const Kh=function i1(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function ep(e){return ue(e?.[Kh])}function tp(e){return function qh(e,t,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var o,n=r.apply(e,t||[]),i=[];return o={},s("next"),s("throw"),s("return"),o[Symbol.asyncIterator]=function(){return this},o;function s(g){n[g]&&(o[g]=function(m){return new Promise(function(y,C){i.push([g,m,y,C])>1||a(g,m)})})}function a(g,m){try{!function l(g){g.value instanceof Hn?Promise.resolve(g.value.v).then(c,u):d(i[0][2],g)}(n[g](m))}catch(y){d(i[0][3],y)}}function c(g){a("next",g)}function u(g){a("throw",g)}function d(g,m){g(m),i.shift(),i.length&&a(i[0][0],i[0][1])}}(this,arguments,function*(){const r=e.getReader();try{for(;;){const{value:n,done:o}=yield Hn(r.read());if(o)return yield Hn(void 0);yield yield Hn(n)}}finally{r.releaseLock()}})}function np(e){return ue(e?.getReader)}function jt(e){if(e instanceof Ie)return e;if(null!=e){if(Qh(e))return function s1(e){return new Ie(t=>{const r=e[hc]();if(ue(r.subscribe))return r.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Zh(e))return function a1(e){return new Ie(t=>{for(let r=0;r{e.then(r=>{t.closed||(t.next(r),t.complete())},r=>t.error(r)).then(null,jh)})}(e);if(Xh(e))return rp(e);if(ep(e))return function c1(e){return new Ie(t=>{for(const r of e)if(t.next(r),t.closed)return;t.complete()})}(e);if(np(e))return function u1(e){return rp(tp(e))}(e)}throw Jh(e)}function rp(e){return new Ie(t=>{(function d1(e,t){var r,n,o,i;return function Gh(e,t,r,n){return new(r||(r=Promise))(function(i,s){function a(u){try{c(n.next(u))}catch(d){s(d)}}function l(u){try{c(n.throw(u))}catch(d){s(d)}}function c(u){u.done?i(u.value):function o(i){return i instanceof r?i:new r(function(s){s(i)})}(u.value).then(a,l)}c((n=n.apply(e,t||[])).next())})}(this,void 0,void 0,function*(){try{for(r=Wh(e);!(n=yield r.next()).done;)if(t.next(n.value),t.closed)return}catch(s){o={error:s}}finally{try{n&&!n.done&&(i=r.return)&&(yield i.call(r))}finally{if(o)throw o.error}}t.complete()})})(e,t).catch(r=>t.error(r))})}function vn(e,t,r,n=0,o=!1){const i=t.schedule(function(){r(),o?e.add(this.schedule(null,n)):this.unsubscribe()},n);if(e.add(i),!o)return i}function Ve(e,t,r=1/0){return ue(t)?Ve((n,o)=>ee((i,s)=>t(n,i,o,s))(jt(e(n,o))),r):("number"==typeof t&&(r=t),Pe((n,o)=>function f1(e,t,r,n,o,i,s,a){const l=[];let c=0,u=0,d=!1;const g=()=>{d&&!l.length&&!c&&t.complete()},m=C=>c{i&&t.next(C),c++;let b=!1;jt(r(C,u++)).subscribe(Re(t,E=>{o?.(E),i?m(E):t.next(E)},()=>{b=!0},void 0,()=>{if(b)try{for(c--;l.length&&cy(E)):y(E)}g()}catch(E){t.error(E)}}))};return e.subscribe(Re(t,m,()=>{d=!0,g()})),()=>{a?.()}}(n,o,e,r)))}function Rr(e=1/0){return Ve(jn,e)}const Kt=new Ie(e=>e.complete());function yc(e){return e[e.length-1]}function op(e){return ue(yc(e))?e.pop():void 0}function Yo(e){return function p1(e){return e&&ue(e.schedule)}(yc(e))?e.pop():void 0}function ip(e,t=0){return Pe((r,n)=>{r.subscribe(Re(n,o=>vn(n,e,()=>n.next(o),t),()=>vn(n,e,()=>n.complete(),t),o=>vn(n,e,()=>n.error(o),t)))})}function sp(e,t=0){return Pe((r,n)=>{n.add(e.schedule(()=>r.subscribe(n),t))})}function ap(e,t){if(!e)throw new Error("Iterable cannot be null");return new Ie(r=>{vn(r,t,()=>{const n=e[Symbol.asyncIterator]();vn(r,t,()=>{n.next().then(o=>{o.done?r.complete():r.next(o.value)})},0,!0)})})}function Ne(e,t){return t?function D1(e,t){if(null!=e){if(Qh(e))return function m1(e,t){return jt(e).pipe(sp(t),ip(t))}(e,t);if(Zh(e))return function y1(e,t){return new Ie(r=>{let n=0;return t.schedule(function(){n===e.length?r.complete():(r.next(e[n++]),r.closed||this.schedule())})})}(e,t);if(Yh(e))return function v1(e,t){return jt(e).pipe(sp(t),ip(t))}(e,t);if(Xh(e))return ap(e,t);if(ep(e))return function _1(e,t){return new Ie(r=>{let n;return vn(r,t,()=>{n=e[Kh](),vn(r,t,()=>{let o,i;try{({value:o,done:i}=n.next())}catch(s){return void r.error(s)}i?r.complete():r.next(o)},0,!0)}),()=>ue(n?.return)&&n.return()})}(e,t);if(np(e))return function C1(e,t){return ap(tp(e),t)}(e,t)}throw Jh(e)}(e,t):jt(e)}class At extends Vt{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const r=super._subscribe(t);return!r.closed&&t.next(this._value),r}getValue(){const{hasError:t,thrownError:r,_value:n}=this;if(t)throw r;return this._throwIfClosed(),n}next(t){super.next(this._value=t)}}function V(...e){return Ne(e,Yo(e))}function ar(e){return e<=0?()=>Kt:Pe((t,r)=>{let n=0;t.subscribe(Re(r,o=>{++n<=e&&(r.next(o),e<=n&&r.complete())}))})}function lp(e={}){const{connector:t=(()=>new Vt),resetOnError:r=!0,resetOnComplete:n=!0,resetOnRefCountZero:o=!0}=e;return i=>{let s=null,a=null,l=null,c=0,u=!1,d=!1;const g=()=>{a?.unsubscribe(),a=null},m=()=>{g(),s=l=null,u=d=!1},y=()=>{const C=s;m(),C?.unsubscribe()};return Pe((C,b)=>{c++,!d&&!u&&g();const E=l=l??t();b.add(()=>{c--,0===c&&!d&&!u&&(a=_c(y,o))}),E.subscribe(b),s||(s=new Ss({next:D=>E.next(D),error:D=>{d=!0,g(),a=_c(m,r,D),E.error(D)},complete:()=>{u=!0,g(),a=_c(m,n),E.complete()}}),Ne(C).subscribe(s))})(i)}}function _c(e,t,...r){return!0===t?(e(),null):!1===t?null:t(...r).pipe(ar(1)).subscribe(()=>e())}function Ht(e,t){return Pe((r,n)=>{let o=null,i=0,s=!1;const a=()=>s&&!o&&n.complete();r.subscribe(Re(n,l=>{o?.unsubscribe();let c=0;const u=i++;jt(e(l,u)).subscribe(o=Re(n,d=>n.next(t?t(l,d,u,c++):d),()=>{o=null,a()}))},()=>{s=!0,a()}))})}function E1(e,t){return e===t}function ae(e){for(let t in e)if(e[t]===ae)return t;throw Error("Could not find renamed property on target object.")}function As(e,t){for(const r in t)t.hasOwnProperty(r)&&!e.hasOwnProperty(r)&&(e[r]=t[r])}function ke(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(ke).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const t=e.toString();if(null==t)return""+t;const r=t.indexOf("\n");return-1===r?t:t.substring(0,r)}function Cc(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}const M1=ae({__forward_ref__:ae});function fe(e){return e.__forward_ref__=fe,e.toString=function(){return ke(this())},e}function U(e){return Dc(e)?e():e}function Dc(e){return"function"==typeof e&&e.hasOwnProperty(M1)&&e.__forward_ref__===fe}function bc(e){return e&&!!e.\u0275providers}const cp="https://g.co/ng/security#xss";class S extends Error{constructor(t,r){super(function xs(e,t){return`NG0${Math.abs(e)}${t?": "+t:""}`}(t,r)),this.code=t}}function $(e){return"string"==typeof e?e:null==e?"":String(e)}function wc(e,t){throw new S(-201,!1)}function xt(e,t){null==e&&function j(e,t,r,n){throw new Error(`ASSERTION ERROR: ${e}`+(null==n?"":` [Expected=> ${r} ${n} ${t} <=Actual]`))}(t,e,null,"!=")}function L(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function en(e){return{providers:e.providers||[],imports:e.imports||[]}}function Rs(e){return up(e,Os)||up(e,dp)}function up(e,t){return e.hasOwnProperty(t)?e[t]:null}function Ns(e){return e&&(e.hasOwnProperty(Ec)||e.hasOwnProperty(O1))?e[Ec]:null}const Os=ae({\u0275prov:ae}),Ec=ae({\u0275inj:ae}),dp=ae({ngInjectableDef:ae}),O1=ae({ngInjectorDef:ae});var Y=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}(Y||{});let Mc;function it(e){const t=Mc;return Mc=e,t}function hp(e,t,r){const n=Rs(e);return n&&"root"==n.providedIn?void 0===n.value?n.value=n.factory():n.value:r&Y.Optional?null:void 0!==t?t:void wc(ke(e))}const he=globalThis,Qo={},xc="__NG_DI_FLAG__",Ps="ngTempTokenPath",F1=/\n/gm,gp="__source";let Nr;function Un(e){const t=Nr;return Nr=e,t}function j1(e,t=Y.Default){if(void 0===Nr)throw new S(-203,!1);return null===Nr?hp(e,void 0,t):Nr.get(e,t&Y.Optional?null:void 0,t)}function F(e,t=Y.Default){return(function fp(){return Mc}()||j1)(U(e),t)}function A(e,t=Y.Default){return F(e,ks(t))}function ks(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Rc(e){const t=[];for(let r=0;rt){s=i-1;break}}}for(;ii?"":o[d+1].toLowerCase();const m=8&n?g:null;if(m&&-1!==_p(m,c,0)||2&n&&c!==g){if(Bt(n))return!1;s=!0}}}}else{if(!s&&!Bt(n)&&!Bt(l))return!1;if(s&&Bt(l))continue;s=!1,n=l|1&n}}return Bt(n)||s}function Bt(e){return 0==(1&e)}function q1(e,t,r,n){if(null===t)return-1;let o=0;if(n||!r){let i=!1;for(;o-1)for(r++;r0?'="'+a+'"':"")+"]"}else 8&n?o+="."+s:4&n&&(o+=" "+s);else""!==o&&!Bt(s)&&(t+=Ip(i,o),o=""),n=s,i=i||!Bt(n);r++}return""!==o&&(t+=Ip(i,o)),t}function vt(e){return yn(()=>{const t=Tp(e),r={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===Fs.OnPush,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||Ut.Emulated,styles:e.styles||te,_:null,schemas:e.schemas||null,tView:null,id:""};Ap(r);const n=e.dependencies;return r.directiveDefs=Vs(n,!1),r.pipeDefs=Vs(n,!0),r.id=function s0(e){let t=0;const r=[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(const o of r)t=Math.imul(31,t)+o.charCodeAt(0)<<0;return t+=2147483648,"c"+t}(r),r})}function t0(e){return X(e)||je(e)}function n0(e){return null!==e}function Cn(e){return yn(()=>({type:e.type,bootstrap:e.bootstrap||te,declarations:e.declarations||te,imports:e.imports||te,exports:e.exports||te,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function Sp(e,t){if(null==e)return tn;const r={};for(const n in e)if(e.hasOwnProperty(n)){let o=e[n],i=o;Array.isArray(o)&&(i=o[1],o=o[0]),r[o]=n,t&&(t[o]=i)}return r}function B(e){return yn(()=>{const t=Tp(e);return Ap(t),t})}function X(e){return e[Ls]||null}function je(e){return e[Nc]||null}function Qe(e){return e[Oc]||null}function yt(e,t){const r=e[vp]||null;if(!r&&!0===t)throw new Error(`Type ${ke(e)} does not have '\u0275mod' property.`);return r}function Tp(e){const t={};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:t,inputTransforms:null,inputConfig:e.inputs||tn,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||te,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:Sp(e.inputs,t),outputs:Sp(e.outputs)}}function Ap(e){e.features?.forEach(t=>t(e))}function Vs(e,t){if(!e)return null;const r=t?Qe:t0;return()=>("function"==typeof e?e():e).map(n=>r(n)).filter(n0)}const we=0,T=1,q=2,_e=3,$t=4,ei=5,ze=6,Pr=7,Se=8,Bn=9,kr=10,G=11,ti=12,xp=13,Fr=14,Te=15,ni=16,Lr=17,nn=18,ri=19,Rp=20,$n=21,Dn=22,oi=23,ii=24,Q=25,kc=1,Np=2,rn=7,Vr=9,He=11;function at(e){return Array.isArray(e)&&"object"==typeof e[kc]}function Xe(e){return Array.isArray(e)&&!0===e[kc]}function Fc(e){return 0!=(4&e.flags)}function cr(e){return e.componentOffset>-1}function Hs(e){return 1==(1&e.flags)}function Gt(e){return!!e.template}function Lc(e){return 0!=(512&e[q])}function ur(e,t){return e.hasOwnProperty(_n)?e[_n]:null}let Ue=null,Us=!1;function Rt(e){const t=Ue;return Ue=e,t}const kp={version: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:()=>{}};function Lp(e){if(!ai(e)||e.dirty){if(!e.producerMustRecompute(e)&&!Hp(e))return void(e.dirty=!1);e.producerRecomputeValue(e),e.dirty=!1}}function jp(e){e.dirty=!0,function Vp(e){if(void 0===e.liveConsumerNode)return;const t=Us;Us=!0;try{for(const r of e.liveConsumerNode)r.dirty||jp(r)}finally{Us=t}}(e),e.consumerMarkedDirty?.(e)}function jc(e){return e&&(e.nextProducerIndex=0),Rt(e)}function Hc(e,t){if(Rt(t),e&&void 0!==e.producerNode&&void 0!==e.producerIndexOfThis&&void 0!==e.producerLastReadVersion){if(ai(e))for(let r=e.nextProducerIndex;re.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}function Hp(e){jr(e);for(let t=0;t0}function jr(e){e.producerNode??=[],e.producerIndexOfThis??=[],e.producerLastReadVersion??=[]}let Gp=null;const Zp=()=>{},_0=(()=>({...kp,consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!1,consumerMarkedDirty:e=>{e.schedule(e.ref)},hasRun:!1,cleanupFn:Zp}))();class C0{constructor(t,r,n){this.previousValue=t,this.currentValue=r,this.firstChange=n}isFirstChange(){return this.firstChange}}function Nt(){return Yp}function Yp(e){return e.type.prototype.ngOnChanges&&(e.setInput=b0),D0}function D0(){const e=Xp(this),t=e?.current;if(t){const r=e.previous;if(r===tn)e.previous=t;else for(let n in t)r[n]=t[n];e.current=null,this.ngOnChanges(t)}}function b0(e,t,r,n){const o=this.declaredInputs[r],i=Xp(e)||function w0(e,t){return e[Qp]=t}(e,{previous:tn,current:null}),s=i.current||(i.current={}),a=i.previous,l=a[o];s[o]=new C0(l&&l.currentValue,t,a===tn),e[n]=t}Nt.ngInherit=!0;const Qp="__ngSimpleChanges__";function Xp(e){return e[Qp]||null}const on=function(e,t,r){};function pe(e){for(;Array.isArray(e);)e=e[we];return e}function $s(e,t){return pe(t[e])}function lt(e,t){return pe(t[e.index])}function eg(e,t){return e.data[t]}function _t(e,t){const r=t[e];return at(r)?r:r[we]}function zn(e,t){return null==t?null:e[t]}function tg(e){e[Lr]=0}function A0(e){1024&e[q]||(e[q]|=1024,rg(e,1))}function ng(e){1024&e[q]&&(e[q]&=-1025,rg(e,-1))}function rg(e,t){let r=e[_e];if(null===r)return;r[ei]+=t;let n=r;for(r=r[_e];null!==r&&(1===t&&1===n[ei]||-1===t&&0===n[ei]);)r[ei]+=t,n=r,r=r[_e]}const H={lFrame:pg(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function sg(){return H.bindingsEnabled}function M(){return H.lFrame.lView}function J(){return H.lFrame.tView}function ne(e){return H.lFrame.contextLView=e,e[Se]}function re(e){return H.lFrame.contextLView=null,e}function Be(){let e=ag();for(;null!==e&&64===e.type;)e=e.parent;return e}function ag(){return H.lFrame.currentTNode}function sn(e,t){const r=H.lFrame;r.currentTNode=e,r.isParent=t}function zc(){return H.lFrame.isParent}function qc(){H.lFrame.isParent=!1}function Je(){const e=H.lFrame;let t=e.bindingRootIndex;return-1===t&&(t=e.bindingRootIndex=e.tView.bindingStartIndex),t}function Br(){return H.lFrame.bindingIndex++}function U0(e,t){const r=H.lFrame;r.bindingIndex=r.bindingRootIndex=e,Wc(t)}function Wc(e){H.lFrame.currentDirectiveIndex=e}function dg(){return H.lFrame.currentQueryIndex}function Yc(e){H.lFrame.currentQueryIndex=e}function $0(e){const t=e[T];return 2===t.type?t.declTNode:1===t.type?e[ze]:null}function fg(e,t,r){if(r&Y.SkipSelf){let o=t,i=e;for(;!(o=o.parent,null!==o||r&Y.Host||(o=$0(i),null===o||(i=i[Fr],10&o.type))););if(null===o)return!1;t=o,e=i}const n=H.lFrame=hg();return n.currentTNode=t,n.lView=e,!0}function Qc(e){const t=hg(),r=e[T];H.lFrame=t,t.currentTNode=r.firstChild,t.lView=e,t.tView=r,t.contextLView=e,t.bindingIndex=r.bindingStartIndex,t.inI18n=!1}function hg(){const e=H.lFrame,t=null===e?null:e.child;return null===t?pg(e):t}function pg(e){const t={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=t),t}function gg(){const e=H.lFrame;return H.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const mg=gg;function Xc(){const e=gg();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 Ke(){return H.lFrame.selectedIndex}function dr(e){H.lFrame.selectedIndex=e}function be(){const e=H.lFrame;return eg(e.tView,e.selectedIndex)}let yg=!0;function Gs(){return yg}function qn(e){yg=e}function zs(e,t){for(let r=t.directiveStart,n=t.directiveEnd;r=n)break}else t[l]<0&&(e[Lr]+=65536),(a>13>16&&(3&e[q])===t&&(e[q]+=8192,Cg(a,i)):Cg(a,i)}const $r=-1;class ci{constructor(t,r,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=r,this.injectImpl=n}}function eu(e){return e!==$r}function ui(e){return 32767&e}function di(e,t){let r=function tM(e){return e>>16}(e),n=t;for(;r>0;)n=n[Fr],r--;return n}let tu=!0;function Zs(e){const t=tu;return tu=e,t}const Dg=255,bg=5;let nM=0;const an={};function Ys(e,t){const r=wg(e,t);if(-1!==r)return r;const n=t[T];n.firstCreatePass&&(e.injectorIndex=t.length,nu(n.data,e),nu(t,null),nu(n.blueprint,null));const o=Qs(e,t),i=e.injectorIndex;if(eu(o)){const s=ui(o),a=di(o,t),l=a[T].data;for(let c=0;c<8;c++)t[i+c]=a[s+c]|l[s+c]}return t[i+8]=o,i}function nu(e,t){e.push(0,0,0,0,0,0,0,0,t)}function wg(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function Qs(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let r=0,n=null,o=t;for(;null!==o;){if(n=xg(o),null===n)return $r;if(r++,o=o[Fr],-1!==n.injectorIndex)return n.injectorIndex|r<<16}return $r}function ru(e,t,r){!function rM(e,t,r){let n;"string"==typeof r?n=r.charCodeAt(0)||0:r.hasOwnProperty(Jo)&&(n=r[Jo]),null==n&&(n=r[Jo]=nM++);const o=n&Dg;t.data[e+(o>>bg)]|=1<=0?t&Dg:lM:t}(r);if("function"==typeof i){if(!fg(t,e,n))return n&Y.Host?Eg(o,0,n):Mg(t,r,n,o);try{let s;if(s=i(n),null!=s||n&Y.Optional)return s;wc()}finally{mg()}}else if("number"==typeof i){let s=null,a=wg(e,t),l=$r,c=n&Y.Host?t[Te][ze]:null;for((-1===a||n&Y.SkipSelf)&&(l=-1===a?Qs(e,t):t[a+8],l!==$r&&Ag(n,!1)?(s=t[T],a=ui(l),t=di(l,t)):a=-1);-1!==a;){const u=t[T];if(Tg(i,a,u.data)){const d=iM(a,t,r,s,n,c);if(d!==an)return d}l=t[a+8],l!==$r&&Ag(n,t[T].data[a+8]===c)&&Tg(i,a,t)?(s=u,a=ui(l),t=di(l,t)):a=-1}}return o}function iM(e,t,r,n,o,i){const s=t[T],a=s.data[e+8],u=Xs(a,s,r,null==n?cr(a)&&tu:n!=s&&0!=(3&a.type),o&Y.Host&&i===a);return null!==u?fr(t,s,u,a):an}function Xs(e,t,r,n,o){const i=e.providerIndexes,s=t.data,a=1048575&i,l=e.directiveStart,u=i>>20,g=o?a+u:e.directiveEnd;for(let m=n?a:a+u;m=l&&y.type===r)return m}if(o){const m=s[l];if(m&&Gt(m)&&m.type===r)return l}return null}function fr(e,t,r,n){let o=e[r];const i=t.data;if(function J0(e){return e instanceof ci}(o)){const s=o;s.resolving&&function I1(e,t){const r=t?`. Dependency path: ${t.join(" > ")} > ${e}`:"";throw new S(-200,`Circular dependency in DI detected for ${e}${r}`)}(function se(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():$(e)}(i[r]));const a=Zs(s.canSeeViewProviders);s.resolving=!0;const c=s.injectImpl?it(s.injectImpl):null;fg(e,n,Y.Default);try{o=e[r]=s.factory(void 0,i,e,n),t.firstCreatePass&&r>=n.directiveStart&&function Q0(e,t,r){const{ngOnChanges:n,ngOnInit:o,ngDoCheck:i}=t.type.prototype;if(n){const s=Yp(t);(r.preOrderHooks??=[]).push(e,s),(r.preOrderCheckHooks??=[]).push(e,s)}o&&(r.preOrderHooks??=[]).push(0-e,o),i&&((r.preOrderHooks??=[]).push(e,i),(r.preOrderCheckHooks??=[]).push(e,i))}(r,i[r],t)}finally{null!==c&&it(c),Zs(a),s.resolving=!1,mg()}}return o}function Tg(e,t,r){return!!(r[t+(e>>bg)]&1<{const t=e.prototype.constructor,r=t[_n]||ou(t),n=Object.prototype;let o=Object.getPrototypeOf(e.prototype).constructor;for(;o&&o!==n;){const i=o[_n]||ou(o);if(i&&i!==r)return i;o=Object.getPrototypeOf(o)}return i=>new i})}function ou(e){return Dc(e)?()=>{const t=ou(U(e));return t&&t()}:ur(e)}function xg(e){const t=e[T],r=t.type;return 2===r?t.declTNode:1===r?e[ze]:null}const zr="__parameters__";function Wr(e,t,r){return yn(()=>{const n=function iu(e){return function(...r){if(e){const n=e(...r);for(const o in n)this[o]=n[o]}}}(t);function o(...i){if(this instanceof o)return n.apply(this,i),this;const s=new o(...i);return a.annotation=s,a;function a(l,c,u){const d=l.hasOwnProperty(zr)?l[zr]:Object.defineProperty(l,zr,{value:[]})[zr];for(;d.length<=u;)d.push(null);return(d[u]=d[u]||[]).push(s),l}}return r&&(o.prototype=Object.create(r.prototype)),o.prototype.ngMetadataName=e,o.annotationCls=o,o})}function Yr(e,t){e.forEach(r=>Array.isArray(r)?Yr(r,t):t(r))}function Ng(e,t,r){t>=e.length?e.push(r):e.splice(t,0,r)}function Ks(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Ct(e,t,r){let n=Qr(e,t);return n>=0?e[1|n]=r:(n=~n,function mM(e,t,r,n){let o=e.length;if(o==t)e.push(r,n);else if(1===o)e.push(n,e[0]),e[0]=r;else{for(o--,e.push(e[o-1],e[o]);o>t;)e[o]=e[o-2],o--;e[t]=r,e[t+1]=n}}(e,n,t,r)),n}function su(e,t){const r=Qr(e,t);if(r>=0)return e[1|r]}function Qr(e,t){return function Og(e,t,r){let n=0,o=e.length>>r;for(;o!==n;){const i=n+(o-n>>1),s=e[i<t?o=i:n=i+1}return~(o<|^->||--!>|)/g,jM="\u200b$1\u200b";const du=new Map;let HM=0;const hu="__ngContext__";function qe(e,t){at(t)?(e[hu]=t[ri],function BM(e){du.set(e[ri],e)}(t)):e[hu]=t}let pu;function gu(e,t){return pu(e,t)}function vi(e){const t=e[_e];return Xe(t)?t[_e]:t}function Kg(e){return tm(e[ti])}function em(e){return tm(e[$t])}function tm(e){for(;null!==e&&!Xe(e);)e=e[$t];return e}function Kr(e,t,r,n,o){if(null!=n){let i,s=!1;Xe(n)?i=n:at(n)&&(s=!0,n=n[we]);const a=pe(n);0===e&&null!==r?null==o?im(t,r,a):hr(t,r,a,o||null,!0):1===e&&null!==r?hr(t,r,a,o||null,!0):2===e?function pa(e,t,r){const n=fa(e,t);n&&function aI(e,t,r,n){e.removeChild(t,r,n)}(e,n,t,r)}(t,a,s):3===e&&t.destroyNode(a),null!=i&&function uI(e,t,r,n,o){const i=r[rn];i!==pe(r)&&Kr(t,e,n,i,o);for(let a=He;at.replace(VM,jM))}(t))}function ua(e,t,r){return e.createElement(t,r)}function rm(e,t){const r=e[Vr],n=r.indexOf(t);ng(t),r.splice(n,1)}function da(e,t){if(e.length<=He)return;const r=He+t,n=e[r];if(n){const o=n[ni];null!==o&&o!==e&&rm(o,n),t>0&&(e[r-1][$t]=n[$t]);const i=Ks(e,He+t);!function KM(e,t){_i(e,t,t[G],2,null,null),t[we]=null,t[ze]=null}(n[T],n);const s=i[nn];null!==s&&s.detachView(i[T]),n[_e]=null,n[$t]=null,n[q]&=-129}return n}function vu(e,t){if(!(256&t[q])){const r=t[G];t[oi]&&Up(t[oi]),t[ii]&&Up(t[ii]),r.destroyNode&&_i(e,t,r,3,null,null),function nI(e){let t=e[ti];if(!t)return yu(e[T],e);for(;t;){let r=null;if(at(t))r=t[ti];else{const n=t[He];n&&(r=n)}if(!r){for(;t&&!t[$t]&&t!==e;)at(t)&&yu(t[T],t),t=t[_e];null===t&&(t=e),at(t)&&yu(t[T],t),r=t&&t[$t]}t=r}}(t)}}function yu(e,t){if(!(256&t[q])){t[q]&=-129,t[q]|=256,function sI(e,t){let r;if(null!=e&&null!=(r=e.destroyHooks))for(let n=0;n=0?n[s]():n[-s].unsubscribe(),i+=2}else r[i].call(n[r[i+1]]);null!==n&&(t[Pr]=null);const o=t[$n];if(null!==o){t[$n]=null;for(let i=0;i-1){const{encapsulation:i}=e.data[n.directiveStart+o];if(i===Ut.None||i===Ut.Emulated)return null}return lt(n,r)}}(e,t.parent,r)}function hr(e,t,r,n,o){e.insertBefore(t,r,n,o)}function im(e,t,r){e.appendChild(t,r)}function sm(e,t,r,n,o){null!==n?hr(e,t,r,n,o):im(e,t,r)}function fa(e,t){return e.parentNode(t)}let Cu,Eu,ma,cm=function lm(e,t,r){return 40&e.type?lt(e,r):null};function ha(e,t,r,n){const o=_u(e,n,t),i=t[G],a=function am(e,t,r){return cm(e,t,r)}(n.parent||t[ze],n,t);if(null!=o)if(Array.isArray(r))for(let l=0;le,createScript:e=>e,createScriptURL:e=>e})}catch{}return ma}()?.createScriptURL(e)||e}class _m{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${cp})`}}function Zn(e){return e instanceof _m?e.changingThisBreaksApplicationSecurity:e}function Ci(e,t){const r=function bI(e){return e instanceof _m&&e.getTypeName()||null}(e);if(null!=r&&r!==t){if("ResourceURL"===r&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${r} (see ${cp})`)}return r===t}const II=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;var no=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}(no||{});function ro(e){const t=bi();return t?t.sanitize(no.URL,e)||"":Ci(e,"URL")?Zn(e):function Iu(e){return(e=String(e)).match(II)?e:"unsafe:"+e}($(e))}function Im(e){const t=bi();if(t)return ym(t.sanitize(no.RESOURCE_URL,e)||"");if(Ci(e,"ResourceURL"))return ym(Zn(e));throw new S(904,!1)}function bi(){const e=M();return e&&e[kr].sanitizer}class x{constructor(t,r){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof r?this.__NG_ELEMENT_ID__=r:void 0!==r&&(this.\u0275prov=L({token:this,providedIn:r.providedIn||"root",factory:r.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const wi=new x("ENVIRONMENT_INITIALIZER"),Tm=new x("INJECTOR",-1),Am=new x("INJECTOR_DEF_TYPES");class xu{get(t,r=Qo){if(r===Qo){const n=new Error(`NullInjectorError: No provider for ${ke(t)}!`);throw n.name="NullInjectorError",n}return r}}function Ru(e){return{\u0275providers:e}}function xm(...e){return{\u0275providers:Rm(0,e),\u0275fromNgModule:!0}}function Rm(e,...t){const r=[],n=new Set;let o;const i=s=>{r.push(s)};return Yr(t,s=>{const a=s;ya(a,i,[],n)&&(o||=[],o.push(a))}),void 0!==o&&Nm(o,i),r}function Nm(e,t){for(let r=0;r{t(i,n)})}}function ya(e,t,r,n){if(!(e=U(e)))return!1;let o=null,i=Ns(e);const s=!i&&X(e);if(i||s){if(s&&!s.standalone)return!1;o=e}else{const l=e.ngModule;if(i=Ns(l),!i)return!1;o=l}const a=n.has(o);if(s){if(a)return!1;if(n.add(o),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const c of l)ya(c,t,r,n)}}else{if(!i)return!1;{if(null!=i.imports&&!a){let c;n.add(o);try{Yr(i.imports,u=>{ya(u,t,r,n)&&(c||=[],c.push(u))})}finally{}void 0!==c&&Nm(c,t)}if(!a){const c=ur(o)||(()=>new o);t({provide:o,useFactory:c,deps:te},o),t({provide:Am,useValue:o,multi:!0},o),t({provide:wi,useValue:()=>F(o),multi:!0},o)}const l=i.providers;if(null!=l&&!a){const c=e;Nu(l,u=>{t(u,c)})}}}return o!==e&&void 0!==e.providers}function Nu(e,t){for(let r of e)bc(r)&&(r=r.\u0275providers),Array.isArray(r)?Nu(r,t):t(r)}const jI=ae({provide:String,useValue:ae});function Ou(e){return null!==e&&"object"==typeof e&&jI in e}function pr(e){return"function"==typeof e}const Pu=new x("Set Injector scope."),_a={},UI={};let ku;function Ca(){return void 0===ku&&(ku=new xu),ku}class Dt{}class Da extends Dt{get destroyed(){return this._destroyed}constructor(t,r,n,o){super(),this.parent=r,this.source=n,this.scopes=o,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,Lu(t,s=>this.processProvider(s)),this.records.set(Tm,oo(void 0,this)),o.has("environment")&&this.records.set(Dt,oo(void 0,this));const i=this.records.get(Pu);null!=i&&"string"==typeof i.value&&this.scopes.add(i.value),this.injectorDefTypes=new Set(this.get(Am.multi,te,Y.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const r of this._ngOnDestroyHooks)r.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const r of t)r()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(t){return this.assertNotDestroyed(),this._onDestroyHooks.push(t),()=>this.removeOnDestroy(t)}runInContext(t){this.assertNotDestroyed();const r=Un(this),n=it(void 0);try{return t()}finally{Un(r),it(n)}}get(t,r=Qo,n=Y.Default){if(this.assertNotDestroyed(),t.hasOwnProperty(yp))return t[yp](this);n=ks(n);const i=Un(this),s=it(void 0);try{if(!(n&Y.SkipSelf)){let l=this.records.get(t);if(void 0===l){const c=function qI(e){return"function"==typeof e||"object"==typeof e&&e instanceof x}(t)&&Rs(t);l=c&&this.injectableDefInScope(c)?oo(Fu(t),_a):null,this.records.set(t,l)}if(null!=l)return this.hydrate(t,l)}return(n&Y.Self?Ca():this.parent).get(t,r=n&Y.Optional&&r===Qo?null:r)}catch(a){if("NullInjectorError"===a.name){if((a[Ps]=a[Ps]||[]).unshift(ke(t)),i)throw a;return function U1(e,t,r,n){const o=e[Ps];throw t[gp]&&o.unshift(t[gp]),e.message=function B1(e,t,r,n=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let o=ke(t);if(Array.isArray(t))o=t.map(ke).join(" -> ");else if("object"==typeof t){let i=[];for(let s in t)if(t.hasOwnProperty(s)){let a=t[s];i.push(s+":"+("string"==typeof a?JSON.stringify(a):ke(a)))}o=`{${i.join(", ")}}`}return`${r}${n?"("+n+")":""}[${o}]: ${e.replace(F1,"\n ")}`}("\n"+e.message,o,r,n),e.ngTokenPath=o,e[Ps]=null,e}(a,t,"R3InjectorError",this.source)}throw a}finally{it(s),Un(i)}}resolveInjectorInitializers(){const t=Un(this),r=it(void 0);try{const o=this.get(wi.multi,te,Y.Self);for(const i of o)i()}finally{Un(t),it(r)}}toString(){const t=[],r=this.records;for(const n of r.keys())t.push(ke(n));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new S(205,!1)}processProvider(t){let r=pr(t=U(t))?t:U(t&&t.provide);const n=function $I(e){return Ou(e)?oo(void 0,e.useValue):oo(km(e),_a)}(t);if(pr(t)||!0!==t.multi)this.records.get(r);else{let o=this.records.get(r);o||(o=oo(void 0,_a,!0),o.factory=()=>Rc(o.multi),this.records.set(r,o)),r=t,o.multi.push(t)}this.records.set(r,n)}hydrate(t,r){return r.value===_a&&(r.value=UI,r.value=r.factory()),"object"==typeof r.value&&r.value&&function zI(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(r.value)&&this._ngOnDestroyHooks.add(r.value),r.value}injectableDefInScope(t){if(!t.providedIn)return!1;const r=U(t.providedIn);return"string"==typeof r?"any"===r||this.scopes.has(r):this.injectorDefTypes.has(r)}removeOnDestroy(t){const r=this._onDestroyHooks.indexOf(t);-1!==r&&this._onDestroyHooks.splice(r,1)}}function Fu(e){const t=Rs(e),r=null!==t?t.factory:ur(e);if(null!==r)return r;if(e instanceof x)throw new S(204,!1);if(e instanceof Function)return function BI(e){const t=e.length;if(t>0)throw function pi(e,t){const r=[];for(let n=0;nr.factory(e):()=>new e}(e);throw new S(204,!1)}function km(e,t,r){let n;if(pr(e)){const o=U(e);return ur(o)||Fu(o)}if(Ou(e))n=()=>U(e.useValue);else if(function Pm(e){return!(!e||!e.useFactory)}(e))n=()=>e.useFactory(...Rc(e.deps||[]));else if(function Om(e){return!(!e||!e.useExisting)}(e))n=()=>F(U(e.useExisting));else{const o=U(e&&(e.useClass||e.provide));if(!function GI(e){return!!e.deps}(e))return ur(o)||Fu(o);n=()=>new o(...Rc(e.deps))}return n}function oo(e,t,r=!1){return{factory:e,value:t,multi:r?[]:void 0}}function Lu(e,t){for(const r of e)Array.isArray(r)?Lu(r,t):r&&bc(r)?Lu(r.\u0275providers,t):t(r)}const ba=new x("AppId",{providedIn:"root",factory:()=>WI}),WI="ng",Fm=new x("Platform Initializer"),gr=new x("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),Lm=new x("CSP nonce",{providedIn:"root",factory:()=>function to(){if(void 0!==Eu)return Eu;if(typeof document<"u")return document;throw new S(210,!1)}().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Vm=(e,t,r)=>null;function zu(e,t,r=!1){return Vm(e,t,r)}class rS{}class Um{}class iS{resolveComponentFactory(t){throw function oS(e){const t=Error(`No component factory found for ${ke(e)}.`);return t.ngComponent=e,t}(t)}}let Ta=(()=>{class t{}return t.NULL=new iS,t})();function sS(){return ao(Be(),M())}function ao(e,t){return new bt(lt(e,t))}let bt=(()=>{class t{constructor(n){this.nativeElement=n}}return t.__NG_ELEMENT_ID__=sS,t})();function aS(e){return e instanceof bt?e.nativeElement:e}class $m{}let Mn=(()=>{class t{constructor(){this.destroyNode=null}}return t.__NG_ELEMENT_ID__=()=>function lS(){const e=M(),r=_t(Be().index,e);return(at(r)?r:e)[G]}(),t})(),cS=(()=>{var e;class t{}return(e=t).\u0275prov=L({token:e,providedIn:"root",factory:()=>null}),t})();class Ii{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const uS=new Ii("16.2.8"),Zu={};function Wm(e,t=null,r=null,n){const o=Zm(e,t,r,n);return o.resolveInjectorInitializers(),o}function Zm(e,t=null,r=null,n,o=new Set){const i=[r||te,xm(e)];return n=n||("object"==typeof e?void 0:ke(e)),new Da(i,t||Ca(),n||null,o)}let wt=(()=>{var e;class t{static create(n,o){if(Array.isArray(n))return Wm({name:""},o,n,"");{const i=n.name??"";return Wm({name:i},n.parent,n.providers,i)}}}return(e=t).THROW_IF_NOT_FOUND=Qo,e.NULL=new xu,e.\u0275prov=L({token:e,providedIn:"any",factory:()=>F(Tm)}),e.__NG_ELEMENT_ID__=-1,t})();function Qu(e){return e.ngOriginalError}class In{constructor(){this._console=console}handleError(t){const r=this._findOriginalError(t);this._console.error("ERROR",t),r&&this._console.error("ORIGINAL ERROR",r)}_findOriginalError(t){let r=t&&Qu(t);for(;r&&Qu(r);)r=Qu(r);return r||null}}function Ju(e){return t=>{setTimeout(e,void 0,t)}}const Ee=class vS extends Vt{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,r,n){let o=t,i=r||(()=>null),s=n;if(t&&"object"==typeof t){const l=t;o=l.next?.bind(l),i=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(i=Ju(i),o&&(o=Ju(o)),s&&(s=Ju(s)));const a=super.subscribe({next:o,error:i,complete:s});return t instanceof gt&&t.add(a),a}};function Qm(...e){}class ge{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:r=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Ee(!1),this.onMicrotaskEmpty=new Ee(!1),this.onStable=new Ee(!1),this.onError=new Ee(!1),typeof Zone>"u")throw new S(908,!1);Zone.assertZonePatched();const o=this;o._nesting=0,o._outer=o._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(o._inner=o._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(o._inner=o._inner.fork(Zone.longStackTraceZoneSpec)),o.shouldCoalesceEventChangeDetection=!n&&r,o.shouldCoalesceRunChangeDetection=n,o.lastRequestAnimationFrameId=-1,o.nativeRequestAnimationFrame=function yS(){const e="function"==typeof he.requestAnimationFrame;let t=he[e?"requestAnimationFrame":"setTimeout"],r=he[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&t&&r){const n=t[Zone.__symbol__("OriginalDelegate")];n&&(t=n);const o=r[Zone.__symbol__("OriginalDelegate")];o&&(r=o)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:r}}().nativeRequestAnimationFrame,function DS(e){const t=()=>{!function CS(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(he,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,ed(e),e.isCheckStableRunning=!0,Ku(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),ed(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(r,n,o,i,s,a)=>{if(function wS(e){return!(!Array.isArray(e)||1!==e.length)&&!0===e[0].data?.__ignore_ng_zone__}(a))return r.invokeTask(o,i,s,a);try{return Xm(e),r.invokeTask(o,i,s,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===i.type||e.shouldCoalesceRunChangeDetection)&&t(),Jm(e)}},onInvoke:(r,n,o,i,s,a,l)=>{try{return Xm(e),r.invoke(o,i,s,a,l)}finally{e.shouldCoalesceRunChangeDetection&&t(),Jm(e)}},onHasTask:(r,n,o,i)=>{r.hasTask(o,i),n===o&&("microTask"==i.change?(e._hasPendingMicrotasks=i.microTask,ed(e),Ku(e)):"macroTask"==i.change&&(e.hasPendingMacrotasks=i.macroTask))},onHandleError:(r,n,o,i)=>(r.handleError(o,i),e.runOutsideAngular(()=>e.onError.emit(i)),!1)})}(o)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!ge.isInAngularZone())throw new S(909,!1)}static assertNotInAngularZone(){if(ge.isInAngularZone())throw new S(909,!1)}run(t,r,n){return this._inner.run(t,r,n)}runTask(t,r,n,o){const i=this._inner,s=i.scheduleEventTask("NgZoneEvent: "+o,t,_S,Qm,Qm);try{return i.runTask(s,r,n)}finally{i.cancelTask(s)}}runGuarded(t,r,n){return this._inner.runGuarded(t,r,n)}runOutsideAngular(t){return this._outer.run(t)}}const _S={};function Ku(e){if(0==e._nesting&&!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 ed(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function Xm(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function Jm(e){e._nesting--,Ku(e)}const Km=new x("",{providedIn:"root",factory:ev});function ev(){const e=A(ge);let t=!0;return function b1(...e){const t=Yo(e),r=function g1(e,t){return"number"==typeof yc(e)?e.pop():t}(e,1/0),n=e;return n.length?1===n.length?jt(n[0]):Rr(r)(Ne(n,t)):Kt}(new Ie(o=>{t=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{o.next(t),o.complete()})}),new Ie(o=>{let i;e.runOutsideAngular(()=>{i=e.onStable.subscribe(()=>{ge.assertNotInAngularZone(),queueMicrotask(()=>{!t&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(t=!0,o.next(!0))})})});const s=e.onUnstable.subscribe(()=>{ge.assertInAngularZone(),t&&(t=!1,e.runOutsideAngular(()=>{o.next(!1)}))});return()=>{i.unsubscribe(),s.unsubscribe()}}).pipe(lp()))}function Sn(e){return e instanceof Function?e():e}let td=(()=>{var e;class t{constructor(){this.renderDepth=0,this.handler=null}begin(){this.handler?.validateBegin(),this.renderDepth++}end(){this.renderDepth--,0===this.renderDepth&&this.handler?.execute()}ngOnDestroy(){this.handler?.destroy(),this.handler=null}}return(e=t).\u0275prov=L({token:e,providedIn:"root",factory:()=>new e}),t})();function Si(e){for(;e;){e[q]|=64;const t=vi(e);if(Lc(e)&&!t)return e;e=t}return null}const iv=new x("",{providedIn:"root",factory:()=>!1});let xa=null;function cv(e,t){return e[t]??fv()}function uv(e,t){const r=fv();r.producerNode?.length&&(e[t]=xa,r.lView=e,xa=dv())}const OS={...kp,consumerIsAlwaysLive:!0,consumerMarkedDirty:e=>{Si(e.lView)},lView:null};function dv(){return Object.create(OS)}function fv(){return xa??=dv(),xa}const z={};function _(e){hv(J(),M(),Ke()+e,!1)}function hv(e,t,r,n){if(!n)if(3==(3&t[q])){const i=e.preOrderCheckHooks;null!==i&&qs(t,i,r)}else{const i=e.preOrderHooks;null!==i&&Ws(t,i,0,r)}dr(r)}function I(e,t=Y.Default){const r=M();return null===r?F(e,t):Ig(Be(),r,U(e),t)}function Ra(e,t,r,n,o,i,s,a,l,c,u){const d=t.blueprint.slice();return d[we]=o,d[q]=140|n,(null!==c||e&&2048&e[q])&&(d[q]|=2048),tg(d),d[_e]=d[Fr]=e,d[Se]=r,d[kr]=s||e&&e[kr],d[G]=a||e&&e[G],d[Bn]=l||e&&e[Bn]||null,d[ze]=i,d[ri]=function UM(){return HM++}(),d[Dn]=u,d[Rp]=c,d[Te]=2==t.type?e[Te]:d,d}function uo(e,t,r,n,o){let i=e.data[t];if(null===i)i=function nd(e,t,r,n,o){const i=ag(),s=zc(),l=e.data[t]=function US(e,t,r,n,o,i){let s=t?t.injectorIndex:-1,a=0;return function Ur(){return null!==H.skipHydrationRootTNode}()&&(a|=128),{type:r,index:n,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:o,attrs:i,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:t,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,s?i:i&&i.parent,r,t,n,o);return null===e.firstChild&&(e.firstChild=l),null!==i&&(s?null==i.child&&null!==l.parent&&(i.child=l):null===i.next&&(i.next=l,l.prev=i)),l}(e,t,r,n,o),function H0(){return H.lFrame.inI18n}()&&(i.flags|=32);else if(64&i.type){i.type=r,i.value=n,i.attrs=o;const s=function li(){const e=H.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}();i.injectorIndex=null===s?-1:s.injectorIndex}return sn(i,!0),i}function Ti(e,t,r,n){if(0===r)return-1;const o=t.length;for(let i=0;iQ&&hv(e,t,Q,!1),on(a?2:0,o);const c=a?i:null,u=jc(c);try{null!==c&&(c.dirty=!1),r(n,o)}finally{Hc(c,u)}}finally{a&&null===t[oi]&&uv(t,oi),dr(s),on(a?3:1,o)}}function rd(e,t,r){if(Fc(t)){const n=Rt(null);try{const i=t.directiveEnd;for(let s=t.directiveStart;snull;function yv(e,t,r,n){for(let o in e)if(e.hasOwnProperty(o)){r=null===r?{}:r;const i=e[o];null===n?_v(r,t,o,i):n.hasOwnProperty(o)&&_v(r,t,n[o],i)}return r}function _v(e,t,r,n){e.hasOwnProperty(r)?e[r].push(t,n):e[r]=[t,n]}function Et(e,t,r,n,o,i,s,a){const l=lt(t,r);let u,c=t.inputs;!a&&null!=c&&(u=c[n])?(dd(e,r,u,n,o),cr(t)&&function GS(e,t){const r=_t(t,e);16&r[q]||(r[q]|=64)}(r,t.index)):3&t.type&&(n=function $S(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(n),o=null!=s?s(o,t.value||"",n):o,i.setProperty(l,n,o))}function ad(e,t,r,n){if(sg()){const o=null===n?null:{"":-1},i=function QS(e,t){const r=e.directiveRegistry;let n=null,o=null;if(r)for(let i=0;i0;){const r=e[--t];if("number"==typeof r&&r<0)return r}return 0})(s)!=a&&s.push(a),s.push(r,n,i)}}(e,t,n,Ti(e,r,o.hostVars,z),o)}function ln(e,t,r,n,o,i){const s=lt(e,t);!function cd(e,t,r,n,o,i,s){if(null==i)e.removeAttribute(t,o,r);else{const a=null==s?$(i):s(i,n||"",o);e.setAttribute(t,o,a,r)}}(t[G],s,i,e.value,r,n,o)}function nT(e,t,r,n,o,i){const s=i[t];if(null!==s)for(let a=0;a{var e;class t{constructor(){this.all=new Set,this.queue=new Map}create(n,o,i){const s=typeof Zone>"u"?null:Zone.current,a=function y0(e,t,r){const n=Object.create(_0);r&&(n.consumerAllowSignalWrites=!0),n.fn=e,n.schedule=t;const o=s=>{n.cleanupFn=s};return n.ref={notify:()=>jp(n),run:()=>{if(n.dirty=!1,n.hasRun&&!Hp(n))return;n.hasRun=!0;const s=jc(n);try{n.cleanupFn(),n.cleanupFn=Zp,n.fn(o)}finally{Hc(n,s)}},cleanup:()=>n.cleanupFn()},n.ref}(n,u=>{this.all.has(u)&&this.queue.set(u,s)},i);let l;this.all.add(a),a.notify();const c=()=>{a.cleanup(),l?.(),this.all.delete(a),this.queue.delete(a)};return l=o?.onDestroy(c),{destroy:c}}flush(){if(0!==this.queue.size)for(const[n,o]of this.queue)this.queue.delete(n),o?o.run(()=>n.run()):n.run()}get isQueueEmpty(){return 0===this.queue.size}}return(e=t).\u0275prov=L({token:e,providedIn:"root",factory:()=>new e}),t})();function Oa(e,t,r){let n=r?e.styles:null,o=r?e.classes:null,i=0;if(null!==t)for(let s=0;s0){Nv(e,1);const o=r.components;null!==o&&Pv(e,o,1)}}function Pv(e,t,r){for(let n=0;n-1&&(da(t,n),Ks(r,n))}this._attachedToViewContainer=!1}vu(this._lView[T],this._lView)}onDestroy(t){!function og(e,t){if(256==(256&e[q]))throw new S(911,!1);null===e[$n]&&(e[$n]=[]),e[$n].push(t)}(this._lView,t)}markForCheck(){Si(this._cdRefInjectingView||this._lView)}detach(){this._lView[q]&=-129}reattach(){this._lView[q]|=128}detectChanges(){Pa(this._lView[T],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new S(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function tI(e,t){_i(e,t,t[G],2,null,null)}(this._lView[T],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new S(902,!1);this._appRef=t}}class dT extends xi{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;Pa(t[T],t,t[Se],!1)}checkNoChanges(){}get context(){return null}}class kv extends Ta{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const r=X(t);return new Ri(r,this.ngModule)}}function Fv(e){const t=[];for(let r in e)e.hasOwnProperty(r)&&t.push({propName:e[r],templateName:r});return t}class hT{constructor(t,r){this.injector=t,this.parentInjector=r}get(t,r,n){n=ks(n);const o=this.injector.get(t,Zu,n);return o!==Zu||r===Zu?o:this.parentInjector.get(t,r,n)}}class Ri extends Um{get inputs(){const t=this.componentDef,r=t.inputTransforms,n=Fv(t.inputs);if(null!==r)for(const o of n)r.hasOwnProperty(o.propName)&&(o.transform=r[o.propName]);return n}get outputs(){return Fv(this.componentDef.outputs)}constructor(t,r){super(),this.componentDef=t,this.ngModule=r,this.componentType=t.type,this.selector=function J1(e){return e.map(X1).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!r}create(t,r,n,o){let i=(o=o||this.ngModule)instanceof Dt?o:o?.injector;i&&null!==this.componentDef.getStandaloneInjector&&(i=this.componentDef.getStandaloneInjector(i)||i);const s=i?new hT(t,i):t,a=s.get($m,null);if(null===a)throw new S(407,!1);const d={rendererFactory:a,sanitizer:s.get(cS,null),effectManager:s.get(Av,null),afterRenderEventManager:s.get(td,null)},g=a.createRenderer(null,this.componentDef),m=this.componentDef.selectors[0][0]||"div",y=n?function FS(e,t,r,n){const i=n.get(iv,!1)||r===Ut.ShadowDom,s=e.selectRootElement(t,i);return function LS(e){vv(e)}(s),s}(g,n,this.componentDef.encapsulation,s):ua(g,m,function fT(e){const t=e.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(m)),E=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let D=null;null!==y&&(D=zu(y,s,!0));const O=sd(0,null,null,1,0,null,null,null,null,null,null),N=Ra(null,O,null,E,null,null,d,g,s,null,D);let Z,Ge;Qc(N);try{const Tt=this.componentDef;let xr,ac=null;Tt.findHostDirectiveDefs?(xr=[],ac=new Map,Tt.findHostDirectiveDefs(Tt,xr,ac),xr.push(Tt)):xr=[Tt];const Ij=function gT(e,t){const r=e[T],n=Q;return e[n]=t,uo(r,n,2,"#host",null)}(N,y),Sj=function mT(e,t,r,n,o,i,s){const a=o[T];!function vT(e,t,r,n){for(const o of e)t.mergedAttrs=Ko(t.mergedAttrs,o.hostAttrs);null!==t.mergedAttrs&&(Oa(t,t.mergedAttrs,!0),null!==r&&gm(n,r,t))}(n,e,t,s);let l=null;null!==t&&(l=zu(t,o[Bn]));const c=i.rendererFactory.createRenderer(t,r);let u=16;r.signals?u=4096:r.onPush&&(u=64);const d=Ra(o,mv(r),null,u,o[e.index],e,i,c,null,null,l);return a.firstCreatePass&&ld(a,e,n.length-1),Na(o,d),o[e.index]=d}(Ij,y,Tt,xr,N,d,g);Ge=eg(O,Q),y&&function _T(e,t,r,n){if(n)Pc(e,r,["ng-version",uS.full]);else{const{attrs:o,classes:i}=function K1(e){const t=[],r=[];let n=1,o=2;for(;n0&&pm(e,r,i.join(" "))}}(g,Tt,y,n),void 0!==r&&function CT(e,t,r){const n=e.projection=[];for(let o=0;o=0;n--){const o=e[n];o.hostVars=t+=o.hostVars,o.hostAttrs=Ko(o.hostAttrs,r=Ko(r,o.hostAttrs))}}(n)}function ka(e){return e===tn?{}:e===te?[]:e}function wT(e,t){const r=e.viewQuery;e.viewQuery=r?(n,o)=>{t(n,o),r(n,o)}:t}function ET(e,t){const r=e.contentQueries;e.contentQueries=r?(n,o,i)=>{t(n,o,i),r(n,o,i)}:t}function MT(e,t){const r=e.hostBindings;e.hostBindings=r?(n,o)=>{t(n,o),r(n,o)}:t}function Uv(e){const t=e.inputConfig,r={};for(const n in t)if(t.hasOwnProperty(n)){const o=t[n];Array.isArray(o)&&o[2]&&(r[n]=o[2])}e.inputTransforms=r}function Fa(e){return!!hd(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function hd(e){return null!==e&&("function"==typeof e||"object"==typeof e)}function cn(e,t,r){return e[t]=r}function We(e,t,r){return!Object.is(e[t],r)&&(e[t]=r,!0)}function zt(e,t,r,n){const o=M();return We(o,Br(),t)&&(J(),ln(be(),o,e,t,r,n)),zt}function ho(e,t,r,n){return We(e,Br(),r)?t+$(r)+n:z}function P(e,t,r,n,o,i,s,a){const l=M(),c=J(),u=e+Q,d=c.firstCreatePass?function QT(e,t,r,n,o,i,s,a,l){const c=t.consts,u=uo(t,e,4,s||null,zn(c,a));ad(t,r,u,zn(c,l)),zs(t,u);const d=u.tView=sd(2,u,n,o,i,t.directiveRegistry,t.pipeRegistry,null,t.schemas,c,null);return null!==t.queries&&(t.queries.template(t,u),d.queries=t.queries.embeddedTView(u)),u}(u,c,l,t,r,n,o,i,s):c.data[u];sn(d,!1);const g=ey(c,l,d,e);Gs()&&ha(c,l,g,d),qe(g,l),Na(l,l[u]=wv(g,l,g,d)),Hs(d)&&od(c,l,d),null!=s&&id(l,d,a)}let ey=function ty(e,t,r,n){return qn(!0),t[G].createComment("")};function _d(e){return function Hr(e,t){return e[t]}(function j0(){return H.lFrame.contextLView}(),Q+e)}function w(e,t,r){const n=M();return We(n,Br(),t)&&Et(J(),be(),n,e,t,n[G],r,!1),w}function Cd(e,t,r,n,o){const s=o?"class":"style";dd(e,r,t.inputs[s],s,n)}function h(e,t,r,n){const o=M(),i=J(),s=Q+e,a=o[G],l=i.firstCreatePass?function eA(e,t,r,n,o,i){const s=t.consts,l=uo(t,e,2,n,zn(s,o));return ad(t,r,l,zn(s,i)),null!==l.attrs&&Oa(l,l.attrs,!1),null!==l.mergedAttrs&&Oa(l,l.mergedAttrs,!0),null!==t.queries&&t.queries.elementStart(t,l),l}(s,i,o,t,r,n):i.data[s],c=ny(i,o,l,a,t,e);o[s]=c;const u=Hs(l);return sn(l,!0),gm(a,c,l),32!=(32&l.flags)&&Gs()&&ha(i,o,c,l),0===function R0(){return H.lFrame.elementDepthCount}()&&qe(c,o),function N0(){H.lFrame.elementDepthCount++}(),u&&(od(i,o,l),rd(i,l,o)),null!==n&&id(o,l),h}function p(){let e=Be();zc()?qc():(e=e.parent,sn(e,!1));const t=e;(function P0(e){return H.skipHydrationRootTNode===e})(t)&&function V0(){H.skipHydrationRootTNode=null}(),function O0(){H.lFrame.elementDepthCount--}();const r=J();return r.firstCreatePass&&(zs(r,e),Fc(e)&&r.queries.elementEnd(e)),null!=t.classesWithoutHost&&function K0(e){return 0!=(8&e.flags)}(t)&&Cd(r,t,M(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function eM(e){return 0!=(16&e.flags)}(t)&&Cd(r,t,M(),t.stylesWithoutHost,!1),p}function v(e,t,r,n){return h(e,t,r,n),p(),v}let ny=(e,t,r,n,o,i)=>(qn(!0),ua(n,o,function vg(){return H.lFrame.currentNamespace}()));function ut(e,t,r){const n=M(),o=J(),i=e+Q,s=o.firstCreatePass?function rA(e,t,r,n,o){const i=t.consts,s=zn(i,n),a=uo(t,e,8,"ng-container",s);return null!==s&&Oa(a,s,!0),ad(t,r,a,zn(i,o)),null!==t.queries&&t.queries.elementStart(t,a),a}(i,o,n,t,r):o.data[i];sn(s,!0);const a=oy(o,n,s,e);return n[i]=a,Gs()&&ha(o,n,a,s),qe(a,n),Hs(s)&&(od(o,n,s),rd(o,s,n)),null!=r&&id(n,s),ut}function dt(){let e=Be();const t=J();return zc()?qc():(e=e.parent,sn(e,!1)),t.firstCreatePass&&(zs(t,e),Fc(e)&&t.queries.elementEnd(e)),dt}let oy=(e,t,r,n)=>(qn(!0),mu(t[G],""));function Ae(){return M()}function Fi(e){return!!e&&"function"==typeof e.then}function iy(e){return!!e&&"function"==typeof e.subscribe}function R(e,t,r,n){const o=M(),i=J(),s=Be();return function ay(e,t,r,n,o,i,s){const a=Hs(n),c=e.firstCreatePass&&Iv(e),u=t[Se],d=Mv(t);let g=!0;if(3&n.type||s){const C=lt(n,t),b=s?s(C):C,E=d.length,D=s?N=>s(pe(N[n.index])):n.index;let O=null;if(!s&&a&&(O=function sA(e,t,r,n){const o=e.cleanup;if(null!=o)for(let i=0;il?a[l]:null}"string"==typeof s&&(i+=2)}return null}(e,t,o,n.index)),null!==O)(O.__ngLastListenerFn__||O).__ngNextListenerFn__=i,O.__ngLastListenerFn__=i,g=!1;else{i=cy(n,t,u,i,!1);const N=r.listen(b,o,i);d.push(i,N),c&&c.push(o,D,E,E+1)}}else i=cy(n,t,u,i,!1);const m=n.outputs;let y;if(g&&null!==m&&(y=m[o])){const C=y.length;if(C)for(let b=0;b-1?_t(e.index,t):t);let l=ly(t,r,n,s),c=i.__ngNextListenerFn__;for(;c;)l=ly(t,r,c,s)&&l,c=c.__ngNextListenerFn__;return o&&!1===l&&s.preventDefault(),l}}function k(e=1){return function G0(e){return(H.lFrame.contextLView=function z0(e,t){for(;e>0;)t=t[Fr],e--;return t}(e,H.lFrame.contextLView))[Se]}(e)}function An(e,t,r,n,o){const i=M(),s=ho(i,t,r,n);return s!==z&&Et(J(),be(),i,e,s,i[G],o,!1),An}function Ua(e,t){return e<<17|t<<2}function Yn(e){return e>>17&32767}function Dd(e){return 2|e}function vr(e){return(131068&e)>>2}function bd(e,t){return-131069&e|t<<2}function wd(e){return 1|e}function _y(e,t,r,n,o){const i=e[r+1],s=null===t;let a=n?Yn(i):vr(i),l=!1;for(;0!==a&&(!1===l||s);){const u=e[a+1];gA(e[a],t)&&(l=!0,e[a+1]=n?wd(u):Dd(u)),a=n?Yn(u):vr(u)}l&&(e[r+1]=n?Dd(i):wd(i))}function gA(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Qr(e,t)>=0}function Ba(e,t){return function qt(e,t,r,n){const o=M(),i=J(),s=function wn(e){const t=H.lFrame,r=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,r}(2);i.firstUpdatePass&&function Ty(e,t,r,n){const o=e.data;if(null===o[r+1]){const i=o[Ke()],s=function Sy(e,t){return t>=e.expandoStartIndex}(e,r);(function Ny(e,t){return 0!=(e.flags&(t?8:16))})(i,n)&&null===t&&!s&&(t=!1),t=function EA(e,t,r,n){const o=function Zc(e){const t=H.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}(e);let i=n?t.residualClasses:t.residualStyles;if(null===o)0===(n?t.classBindings:t.styleBindings)&&(r=Li(r=Ed(null,e,t,r,n),t.attrs,n),i=null);else{const s=t.directiveStylingLast;if(-1===s||e[s]!==o)if(r=Ed(o,e,t,r,n),null===i){let l=function MA(e,t,r){const n=r?t.classBindings:t.styleBindings;if(0!==vr(n))return e[Yn(n)]}(e,t,n);void 0!==l&&Array.isArray(l)&&(l=Ed(null,e,t,l[1],n),l=Li(l,t.attrs,n),function IA(e,t,r,n){e[Yn(r?t.classBindings:t.styleBindings)]=n}(e,t,n,l))}else i=function SA(e,t,r){let n;const o=t.directiveEnd;for(let i=1+t.directiveStylingLast;i0)&&(c=!0)):u=r,o)if(0!==l){const g=Yn(e[a+1]);e[n+1]=Ua(g,a),0!==g&&(e[g+1]=bd(e[g+1],n)),e[a+1]=function dA(e,t){return 131071&e|t<<17}(e[a+1],n)}else e[n+1]=Ua(a,0),0!==a&&(e[a+1]=bd(e[a+1],n)),a=n;else e[n+1]=Ua(l,0),0===a?a=n:e[l+1]=bd(e[l+1],n),l=n;c&&(e[n+1]=Dd(e[n+1])),_y(e,u,n,!0),_y(e,u,n,!1),function pA(e,t,r,n,o){const i=o?e.residualClasses:e.residualStyles;null!=i&&"string"==typeof t&&Qr(i,t)>=0&&(r[n+1]=wd(r[n+1]))}(t,u,e,n,i),s=Ua(a,l),i?t.classBindings=s:t.styleBindings=s}(o,i,t,r,s,n)}}(i,e,s,n),t!==z&&We(o,s,t)&&function xy(e,t,r,n,o,i,s,a){if(!(3&t.type))return;const l=e.data,c=l[a+1],u=function fA(e){return 1==(1&e)}(c)?Ry(l,t,r,o,vr(c),s):void 0;$a(u)||($a(i)||function uA(e){return 2==(2&e)}(c)&&(i=Ry(l,null,r,o,a,s)),function dI(e,t,r,n,o){if(t)o?e.addClass(r,n):e.removeClass(r,n);else{let i=-1===n.indexOf("-")?void 0:Wn.DashCase;null==o?e.removeStyle(r,n,i):("string"==typeof o&&o.endsWith("!important")&&(o=o.slice(0,-10),i|=Wn.Important),e.setStyle(r,n,o,i))}}(n,s,$s(Ke(),r),o,i))}(i,i.data[Ke()],o,o[G],e,o[s+1]=function RA(e,t){return null==e||""===e||("string"==typeof t?e+=t:"object"==typeof e&&(e=ke(Zn(e)))),e}(t,r),n,s)}(e,t,null,!0),Ba}function Ed(e,t,r,n,o){let i=null;const s=r.directiveEnd;let a=r.directiveStylingLast;for(-1===a?a=r.directiveStart:a++;a0;){const l=e[o],c=Array.isArray(l),u=c?l[1]:l,d=null===u;let g=r[o+1];g===z&&(g=d?te:void 0);let m=d?su(g,n):u===n?g:void 0;if(c&&!$a(m)&&(m=su(l,n)),$a(m)&&(a=m,s))return a;const y=e[o+1];o=s?Yn(y):vr(y)}if(null!==t){let l=i?t.residualClasses:t.residualStyles;null!=l&&(a=su(l,n))}return a}function $a(e){return void 0!==e}function f(e,t=""){const r=M(),n=J(),o=e+Q,i=n.firstCreatePass?uo(n,o,1,t,null):n.data[o],s=Oy(n,r,i,t,e);r[o]=s,Gs()&&ha(n,r,s,i),sn(i,!1)}let Oy=(e,t,r,n,o)=>(qn(!0),function ca(e,t){return e.createText(t)}(t[G],n));function Ce(e){return xn("",e,""),Ce}function xn(e,t,r){const n=M(),o=ho(n,e,t,r);return o!==z&&function Tn(e,t,r){const n=$s(t,e);!function nm(e,t,r){e.setValue(t,r)}(e[G],n,r)}(n,Ke(),o),xn}const wo="en-US";let t_=wo;function Sd(e,t,r,n,o){if(e=U(e),Array.isArray(e))for(let i=0;i>20;if(pr(e)||!e.multi){const m=new ci(c,o,I),y=Ad(l,t,o?u:u+g,d);-1===y?(ru(Ys(a,s),i,l),Td(i,e,t.length),t.push(l),a.directiveStart++,a.directiveEnd++,o&&(a.providerIndexes+=1048576),r.push(m),s.push(m)):(r[y]=m,s[y]=m)}else{const m=Ad(l,t,u+g,d),y=Ad(l,t,u,u+g),b=y>=0&&r[y];if(o&&!b||!o&&!(m>=0&&r[m])){ru(Ys(a,s),i,l);const E=function Jx(e,t,r,n,o){const i=new ci(e,r,I);return i.multi=[],i.index=t,i.componentProviders=0,I_(i,o,n&&!r),i}(o?Xx:Qx,r.length,o,n,c);!o&&b&&(r[y].providerFactory=E),Td(i,e,t.length,0),t.push(l),a.directiveStart++,a.directiveEnd++,o&&(a.providerIndexes+=1048576),r.push(E),s.push(E)}else Td(i,e,m>-1?m:y,I_(r[o?y:m],c,!o&&n));!o&&n&&b&&r[y].componentProviders++}}}function Td(e,t,r,n){const o=pr(t),i=function HI(e){return!!e.useClass}(t);if(o||i){const l=(i?U(t.useClass):t).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!o&&t.multi){const u=c.indexOf(r);-1===u?c.push(r,[n,l]):c[u+1].push(n,l)}else c.push(r,l)}}}function I_(e,t,r){return r&&e.componentProviders++,e.multi.push(t)-1}function Ad(e,t,r,n){for(let o=r;o{r.providersResolver=(n,o)=>function Yx(e,t,r){const n=J();if(n.firstCreatePass){const o=Gt(e);Sd(r,n.data,n.blueprint,o,!0),Sd(t,n.data,n.blueprint,o,!1)}}(n,o?o(e):e,t)}}class _r{}class S_{}class Rd extends _r{constructor(t,r,n){super(),this._parent=r,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new kv(this);const o=yt(t);this._bootstrapComponents=Sn(o.bootstrap),this._r3Injector=Zm(t,r,[{provide:_r,useValue:this},{provide:Ta,useValue:this.componentFactoryResolver},...n],ke(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(t)}get injector(){return this._r3Injector}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(r=>r()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class Nd extends S_{constructor(t){super(),this.moduleType=t}create(t){return new Rd(this.moduleType,t,[])}}class T_ extends _r{constructor(t){super(),this.componentFactoryResolver=new kv(this),this.instance=null;const r=new Da([...t.providers,{provide:_r,useValue:this},{provide:Ta,useValue:this.componentFactoryResolver}],t.parent||Ca(),t.debugName,new Set(["environment"]));this.injector=r,t.runEnvironmentInitializers&&r.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}function Od(e,t,r=null){return new T_({providers:e,parent:t,debugName:r,runEnvironmentInitializers:!0}).injector}let tR=(()=>{var e;class t{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){const o=Rm(0,n.type),i=o.length>0?Od([o],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n,i)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(const n of this.cachedInjectors.values())null!==n&&n.destroy()}finally{this.cachedInjectors.clear()}}}return(e=t).\u0275prov=L({token:e,providedIn:"environment",factory:()=>new e(F(Dt))}),t})();function Mt(e){e.getStandaloneInjector=t=>t.get(tR).getOrCreateStandaloneInjector(e)}function K(e,t,r){const n=Je()+e,o=M();return o[n]===z?cn(o,n,r?t.call(r):t()):function Ni(e,t){return e[t]}(o,n)}function $i(e,t,r,n){return function F_(e,t,r,n,o,i){const s=t+r;return We(e,s,o)?cn(e,s+1,i?n.call(i,o):n(o)):Gi(e,s+1)}(M(),Je(),e,t,r,n)}function k_(e,t,r,n,o){return function L_(e,t,r,n,o,i,s){const a=t+r;return function mr(e,t,r,n){const o=We(e,t,r);return We(e,t+1,n)||o}(e,a,o,i)?cn(e,a+2,s?n.call(s,o,i):n(o,i)):Gi(e,a+2)}(M(),Je(),e,t,r,n,o)}function Gi(e,t){const r=e[t];return r===z?void 0:r}function ER(){return this._results[Symbol.iterator]()}class kd{get changes(){return this._changes||(this._changes=new Ee)}constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const r=kd.prototype;r[Symbol.iterator]||(r[Symbol.iterator]=ER)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,r){return this._results.reduce(t,r)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,r){const n=this;n.dirty=!1;const o=function Ot(e){return e.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function pM(e,t,r){if(e.length!==t.length)return!1;for(let n=0;n0&&(r[o-1][$t]=t),n{class t{}return t.__NG_ELEMENT_ID__=AR,t})();const SR=Rn,TR=class extends SR{constructor(t,r,n){super(),this._declarationLView=t,this._declarationTContainer=r,this.elementRef=n}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,r){return this.createEmbeddedViewImpl(t,r)}createEmbeddedViewImpl(t,r,n){const o=function MR(e,t,r,n){const o=t.tView,a=Ra(e,o,r,4096&e[q]?4096:16,null,t,null,null,null,n?.injector??null,n?.hydrationInfo??null);a[ni]=e[t.index];const c=e[nn];return null!==c&&(a[nn]=c.createEmbeddedView(o)),fd(o,a,r),a}(this._declarationLView,this._declarationTContainer,t,{injector:r,hydrationInfo:n});return new xi(o)}};function AR(){return Za(Be(),M())}function Za(e,t){return 4&e.type?new TR(t,e,ao(e,t)):null}let Zt=(()=>{class t{}return t.__NG_ELEMENT_ID__=kR,t})();function kR(){return W_(Be(),M())}const FR=Zt,z_=class extends FR{constructor(t,r,n){super(),this._lContainer=t,this._hostTNode=r,this._hostLView=n}get element(){return ao(this._hostTNode,this._hostLView)}get injector(){return new et(this._hostTNode,this._hostLView)}get parentInjector(){const t=Qs(this._hostTNode,this._hostLView);if(eu(t)){const r=di(t,this._hostLView),n=ui(t);return new et(r[T].data[n+8],r)}return new et(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const r=q_(this._lContainer);return null!==r&&r[t]||null}get length(){return this._lContainer.length-He}createEmbeddedView(t,r,n){let o,i;"number"==typeof n?o=n:null!=n&&(o=n.index,i=n.injector);const a=t.createEmbeddedViewImpl(r||{},i,null);return this.insertImpl(a,o,false),a}createComponent(t,r,n,o,i){const s=t&&!function hi(e){return"function"==typeof e}(t);let a;if(s)a=r;else{const C=r||{};a=C.index,n=C.injector,o=C.projectableNodes,i=C.environmentInjector||C.ngModuleRef}const l=s?t:new Ri(X(t)),c=n||this.parentInjector;if(!i&&null==l.ngModule){const b=(s?c:this.parentInjector).get(Dt,null);b&&(i=b)}X(l.componentType??{});const m=l.create(c,o,null,i);return this.insertImpl(m.hostView,a,false),m}insert(t,r){return this.insertImpl(t,r,!1)}insertImpl(t,r,n){const o=t._lView;if(function T0(e){return Xe(e[_e])}(o)){const l=this.indexOf(t);if(-1!==l)this.detach(l);else{const c=o[_e],u=new z_(c,c[ze],c[_e]);u.detach(u.indexOf(t))}}const s=this._adjustIndex(r),a=this._lContainer;return IR(a,o,s,!n),t.attachToViewContainerRef(),Ng(Fd(a),s,t),t}move(t,r){return this.insert(t,r)}indexOf(t){const r=q_(this._lContainer);return null!==r?r.indexOf(t):-1}remove(t){const r=this._adjustIndex(t,-1),n=da(this._lContainer,r);n&&(Ks(Fd(this._lContainer),r),vu(n[T],n))}detach(t){const r=this._adjustIndex(t,-1),n=da(this._lContainer,r);return n&&null!=Ks(Fd(this._lContainer),r)?new xi(n):null}_adjustIndex(t,r=0){return t??this.length+r}};function q_(e){return e[8]}function Fd(e){return e[8]||(e[8]=[])}function W_(e,t){let r;const n=t[e.index];return Xe(n)?r=n:(r=wv(n,t,null,e),t[e.index]=r,Na(t,r)),Z_(r,t,e,n),new z_(r,e,t)}let Z_=function Y_(e,t,r,n){if(e[rn])return;let o;o=8&r.type?pe(n):function LR(e,t){const r=e[G],n=r.createComment(""),o=lt(t,e);return hr(r,fa(r,o),n,function lI(e,t){return e.nextSibling(t)}(r,o),!1),n}(t,r),e[rn]=o};class Ld{constructor(t){this.queryList=t,this.matches=null}clone(){return new Ld(this.queryList)}setDirty(){this.queryList.setDirty()}}class Vd{constructor(t=[]){this.queries=t}createEmbeddedView(t){const r=t.queries;if(null!==r){const n=null!==t.contentQueries?t.contentQueries[0]:r.length,o=[];for(let i=0;i0)n.push(s[a/2]);else{const c=i[a+1],u=t[-l];for(let d=He;d{var e;class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((n,o)=>{this.resolve=n,this.reject=o}),this.appInits=A(Wd,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const n=[];for(const i of this.appInits){const s=i();if(Fi(s))n.push(s);else if(iy(s)){const a=new Promise((l,c)=>{s.subscribe({complete:l,error:c})});n.push(a)}}const o=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{o()}).catch(i=>{this.reject(i)}),0===n.length&&o(),this.initialized=!0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),CC=(()=>{var e;class t{log(n){console.log(n)}warn(n){console.warn(n)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})();const Nn=new x("LocaleId",{providedIn:"root",factory:()=>A(Nn,Y.Optional|Y.SkipSelf)||function pN(){return typeof $localize<"u"&&$localize.locale||wo}()});let Xa=(()=>{var e;class t{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new At(!1)}add(){this.hasPendingTasks.next(!0);const n=this.taskId++;return this.pendingTasks.add(n),n}remove(n){this.pendingTasks.delete(n),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class vN{constructor(t,r){this.ngModuleFactory=t,this.componentFactories=r}}let DC=(()=>{var e;class t{compileModuleSync(n){return new Nd(n)}compileModuleAsync(n){return Promise.resolve(this.compileModuleSync(n))}compileModuleAndAllComponentsSync(n){const o=this.compileModuleSync(n),s=Sn(yt(n).declarations).reduce((a,l)=>{const c=X(l);return c&&a.push(new Ri(c)),a},[]);return new vN(o,s)}compileModuleAndAllComponentsAsync(n){return Promise.resolve(this.compileModuleAndAllComponentsSync(n))}clearCache(){}clearCacheFor(n){}getModuleId(n){}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const MC=new x(""),Ka=new x("");let Kd,Xd=(()=>{var e;class t{constructor(n,o,i){this._ngZone=n,this.registry=o,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Kd||(function LN(e){Kd=e}(i),i.addToWindow(o)),this._watchAngularEvents(),n.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{ge.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb(this._didWork)}this._didWork=!1});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(o=>!o.updateCb||!o.updateCb(n)||(clearTimeout(o.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,o,i){let s=-1;o&&o>0&&(s=setTimeout(()=>{this._callbacks=this._callbacks.filter(a=>a.timeoutId!==s),n(this._didWork,this.getPendingTasks())},o)),this._callbacks.push({doneCb:n,timeoutId:s,updateCb:i})}whenStable(n,o,i){if(i&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(n,o,i),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,o,i){return[]}}return(e=t).\u0275fac=function(n){return new(n||e)(F(ge),F(Jd),F(Ka))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),t})(),Jd=(()=>{var e;class t{constructor(){this._applications=new Map}registerApplication(n,o){this._applications.set(n,o)}unregisterApplication(n){this._applications.delete(n)}unregisterAllApplications(){this._applications.clear()}getTestability(n){return this._applications.get(n)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(n,o=!0){return Kd?.findTestabilityInTree(this,n,o)??null}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})(),Qn=null;const ef=new x("PlatformDestroyListeners"),tf=new x("appBootstrapListener");class TC{constructor(t,r){this.name=t,this.token=r}}function BN(e){try{const{rootComponent:t,appProviders:r,platformProviders:n}=e,o=function UN(e=[]){if(Qn)return Qn;const t=function xC(e=[],t){return wt.create({name:t,providers:[{provide:Pu,useValue:"platform"},{provide:ef,useValue:new Set([()=>Qn=null])},...e]})}(e);return Qn=t,function SC(){!function h0(e){Gp=e}(()=>{throw new S(600,!1)})}(),function AC(e){e.get(Fm,null)?.forEach(r=>r())}(t),t}(n),i=[WN(),...r||[]],a=new T_({providers:i,parent:o,debugName:"",runEnvironmentInitializers:!1}).injector,l=a.get(ge);return l.run(()=>{a.resolveInjectorInitializers();const c=a.get(In,null);let u;l.runOutsideAngular(()=>{u=l.onError.subscribe({next:m=>{c.handleError(m)}})});const d=()=>a.destroy(),g=o.get(ef);return g.add(d),a.onDestroy(()=>{u.unsubscribe(),g.delete(d)}),function OC(e,t,r){try{const n=r();return Fi(n)?n.catch(o=>{throw t.runOutsideAngular(()=>e.handleError(o)),o}):n}catch(n){throw t.runOutsideAngular(()=>e.handleError(n)),n}}(c,l,()=>{const m=a.get(Zd);return m.runInitializers(),m.donePromise.then(()=>{!function n_(e){xt(e,"Expected localeId to be defined"),"string"==typeof e&&(t_=e.toLowerCase().replace(/_/g,"-"))}(a.get(Nn,wo)||wo);const C=a.get(Io);return void 0!==t&&C.bootstrap(t),C})})})}catch(t){return Promise.reject(t)}}let Io=(()=>{var e;class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=A(FC),this.zoneIsStable=A(Km),this.componentTypes=[],this.components=[],this.isStable=A(Xa).hasPendingTasks.pipe(Ht(n=>n?V(!1):this.zoneIsStable),function w1(e,t=jn){return e=e??E1,Pe((r,n)=>{let o,i=!0;r.subscribe(Re(n,s=>{const a=t(s);(i||!e(o,a))&&(i=!1,o=a,n.next(s))}))})}(),lp()),this._injector=A(Dt)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,o){const i=n instanceof Um;if(!this._injector.get(Zd).done)throw!i&&function Or(e){const t=X(e)||je(e)||Qe(e);return null!==t&&t.standalone}(n),new S(405,!1);let a;a=i?n:this._injector.get(Ta).resolveComponentFactory(n),this.componentTypes.push(a.componentType);const l=function jN(e){return e.isBoundToModule}(a)?void 0:this._injector.get(_r),u=a.create(wt.NULL,[],o||a.selector,l),d=u.location.nativeElement,g=u.injector.get(MC,null);return g?.registerApplication(d),u.onDestroy(()=>{this.detachView(u.hostView),el(this.components,u),g?.unregisterApplication(d)}),this._loadComponent(u),u}tick(){if(this._runningTick)throw new S(101,!1);try{this._runningTick=!0;for(let n of this._views)n.detectChanges()}catch(n){this.internalErrorHandler(n)}finally{this._runningTick=!1}}attachView(n){const o=n;this._views.push(o),o.attachToAppRef(this)}detachView(n){const o=n;el(this._views,o),o.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n);const o=this._injector.get(tf,[]);o.push(...this._bootstrapListeners),o.forEach(i=>i(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>el(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new S(406,!1);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function el(e,t){const r=e.indexOf(t);r>-1&&e.splice(r,1)}const FC=new x("",{providedIn:"root",factory:()=>A(In).handleError.bind(void 0)});function zN(){const e=A(ge),t=A(In);return r=>e.runOutsideAngular(()=>t.handleError(r))}let qN=(()=>{var e;class t{constructor(){this.zone=A(ge),this.applicationRef=A(Io)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function LC(e){return[{provide:ge,useFactory:e},{provide:wi,multi:!0,useFactory:()=>{const t=A(qN,{optional:!0});return()=>t.initialize()}},{provide:FC,useFactory:zN},{provide:Km,useFactory:ev}]}function WN(e){return Ru([[],LC(()=>new ge(function NC(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}(e)))])}let tl=(()=>{class t{}return t.__NG_ELEMENT_ID__=ZN,t})();function ZN(e){return function YN(e,t,r){if(cr(e)&&!r){const n=_t(e.index,t);return new xi(n,n)}return 47&e.type?new xi(t[Te],t):null}(Be(),M(),16==(16&e))}class UC{constructor(){}supports(t){return Fa(t)}create(t){return new tO(t)}}const eO=(e,t)=>t;class tO{constructor(t){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=t||eO}forEachItem(t){let r;for(r=this._itHead;null!==r;r=r._next)t(r)}forEachOperation(t){let r=this._itHead,n=this._removalsHead,o=0,i=null;for(;r||n;){const s=!n||r&&r.currentIndex<$C(n,o,i)?r:n,a=$C(s,o,i),l=s.currentIndex;if(s===n)o--,n=n._nextRemoved;else if(r=r._next,null==s.previousIndex)o++;else{i||(i=[]);const c=a-o,u=l-o;if(c!=u){for(let g=0;g{s=this._trackByFn(o,a),null!==r&&Object.is(r.trackById,s)?(n&&(r=this._verifyReinsertion(r,a,s,o)),Object.is(r.item,a)||this._addIdentityChange(r,a)):(r=this._mismatch(r,a,s,o),n=!0),r=r._next,o++}),this.length=o;return this._truncate(r),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,r,n,o){let i;return null===t?i=this._itTail:(i=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Object.is(t.item,r)||this._addIdentityChange(t,r),this._reinsertAfter(t,i,o)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,o))?(Object.is(t.item,r)||this._addIdentityChange(t,r),this._moveAfter(t,i,o)):t=this._addAfter(new nO(r,n),i,o),t}_verifyReinsertion(t,r,n,o){let i=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==i?t=this._reinsertAfter(i,t._prev,o):t.currentIndex!=o&&(t.currentIndex=o,this._addToMoves(t,o)),t}_truncate(t){for(;null!==t;){const r=t._next;this._addToRemovals(this._unlink(t)),t=r}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,r,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const o=t._prevRemoved,i=t._nextRemoved;return null===o?this._removalsHead=i:o._nextRemoved=i,null===i?this._removalsTail=o:i._prevRemoved=o,this._insertAfter(t,r,n),this._addToMoves(t,n),t}_moveAfter(t,r,n){return this._unlink(t),this._insertAfter(t,r,n),this._addToMoves(t,n),t}_addAfter(t,r,n){return this._insertAfter(t,r,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,r,n){const o=null===r?this._itHead:r._next;return t._next=o,t._prev=r,null===o?this._itTail=t:o._prev=t,null===r?this._itHead=t:r._next=t,null===this._linkedRecords&&(this._linkedRecords=new BC),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const r=t._prev,n=t._next;return null===r?this._itHead=n:r._next=n,null===n?this._itTail=r:n._prev=r,t}_addToMoves(t,r){return t.previousIndex===r||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new BC),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,r){return t.item=r,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class nO{constructor(t,r){this.item=t,this.trackById=r,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}}class rO{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,r){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===r||r<=n.currentIndex)&&Object.is(n.trackById,t))return n;return null}remove(t){const r=t._prevDup,n=t._nextDup;return null===r?this._head=n:r._nextDup=n,null===n?this._tail=r:n._prevDup=r,null===this._head}}class BC{constructor(){this.map=new Map}put(t){const r=t.trackById;let n=this.map.get(r);n||(n=new rO,this.map.set(r,n)),n.add(t)}get(t,r){const o=this.map.get(t);return o?o.get(t,r):null}remove(t){const r=t.trackById;return this.map.get(r).remove(t)&&this.map.delete(r),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function $C(e,t,r){const n=e.previousIndex;if(null===n)return n;let o=0;return r&&n{if(r&&r.key===o)this._maybeAddToChanges(r,n),this._appendAfter=r,r=r._next;else{const i=this._getOrCreateRecordForKey(o,n);r=this._insertBeforeOrAppend(r,i)}}),r){r._prev&&(r._prev._next=null),this._removalsHead=r;for(let n=r;null!==n;n=n._nextRemoved)n===this._mapHead&&(this._mapHead=null),this._records.delete(n.key),n._nextRemoved=n._next,n.previousValue=n.currentValue,n.currentValue=null,n._prev=null,n._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,r){if(t){const n=t._prev;return r._next=t,r._prev=n,t._prev=r,n&&(n._next=r),t===this._mapHead&&(this._mapHead=r),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=r,r._prev=this._appendAfter):this._mapHead=r,this._appendAfter=r,null}_getOrCreateRecordForKey(t,r){if(this._records.has(t)){const o=this._records.get(t);this._maybeAddToChanges(o,r);const i=o._prev,s=o._next;return i&&(i._next=s),s&&(s._prev=i),o._next=null,o._prev=null,o}const n=new iO(t);return this._records.set(t,n),n.currentValue=r,this._addToAdditions(n),n}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,r){Object.is(r,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=r,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,r){t instanceof Map?t.forEach(r):Object.keys(t).forEach(n=>r(t[n],n))}}class iO{constructor(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function zC(){return new ol([new UC])}let ol=(()=>{var e;class t{constructor(n){this.factories=n}static create(n,o){if(null!=o){const i=o.factories.slice();n=n.concat(i)}return new t(n)}static extend(n){return{provide:t,useFactory:o=>t.create(n,o||zC()),deps:[[t,new na,new ta]]}}find(n){const o=this.factories.find(i=>i.supports(n));if(null!=o)return o;throw new S(901,!1)}}return(e=t).\u0275prov=L({token:e,providedIn:"root",factory:zC}),t})();function qC(){return new Zi([new GC])}let Zi=(()=>{var e;class t{constructor(n){this.factories=n}static create(n,o){if(o){const i=o.factories.slice();n=n.concat(i)}return new t(n)}static extend(n){return{provide:t,useFactory:o=>t.create(n,o||qC()),deps:[[t,new na,new ta]]}}find(n){const o=this.factories.find(i=>i.supports(n));if(o)return o;throw new S(901,!1)}}return(e=t).\u0275prov=L({token:e,providedIn:"root",factory:qC}),t})(),lO=(()=>{var e;class t{constructor(n){}}return(e=t).\u0275fac=function(n){return new(n||e)(F(Io))},e.\u0275mod=Cn({type:e}),e.\u0275inj=en({}),t})();function So(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}const ve_apiBaseUrl="https://www.palmmedia.de/api/";let uf=null;function Xn(){return uf}class bO{}const pt=new x("DocumentToken");let df=(()=>{var e;class t{historyGo(n){throw new Error("Not implemented")}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:function(){return A(EO)},providedIn:"platform"}),t})();const wO=new x("Location Initialized");let EO=(()=>{var e;class t extends df{constructor(){super(),this._doc=A(pt),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Xn().getBaseHref(this._doc)}onPopState(n){const o=Xn().getGlobalEventTarget(this._doc,"window");return o.addEventListener("popstate",n,!1),()=>o.removeEventListener("popstate",n)}onHashChange(n){const o=Xn().getGlobalEventTarget(this._doc,"window");return o.addEventListener("hashchange",n,!1),()=>o.removeEventListener("hashchange",n)}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(n){this._location.pathname=n}pushState(n,o,i){this._history.pushState(n,o,i)}replaceState(n,o,i){this._history.replaceState(n,o,i)}forward(){this._history.forward()}back(){this._history.back()}historyGo(n=0){this._history.go(n)}getState(){return this._history.state}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:function(){return new e},providedIn:"platform"}),t})();function ff(e,t){if(0==e.length)return t;if(0==t.length)return e;let r=0;return e.endsWith("/")&&r++,t.startsWith("/")&&r++,2==r?e+t.substring(1):1==r?e+t:e+"/"+t}function tD(e){const t=e.match(/#|\?|$/),r=t&&t.index||e.length;return e.slice(0,r-("/"===e[r-1]?1:0))+e.slice(r)}function On(e){return e&&"?"!==e[0]?"?"+e:e}let Dr=(()=>{var e;class t{historyGo(n){throw new Error("Not implemented")}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:function(){return A(rD)},providedIn:"root"}),t})();const nD=new x("appBaseHref");let rD=(()=>{var e;class t extends Dr{constructor(n,o){super(),this._platformLocation=n,this._removeListenerFns=[],this._baseHref=o??this._platformLocation.getBaseHrefFromDOM()??A(pt).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(n){this._removeListenerFns.push(this._platformLocation.onPopState(n),this._platformLocation.onHashChange(n))}getBaseHref(){return this._baseHref}prepareExternalUrl(n){return ff(this._baseHref,n)}path(n=!1){const o=this._platformLocation.pathname+On(this._platformLocation.search),i=this._platformLocation.hash;return i&&n?`${o}${i}`:o}pushState(n,o,i,s){const a=this.prepareExternalUrl(i+On(s));this._platformLocation.pushState(n,o,a)}replaceState(n,o,i,s){const a=this.prepareExternalUrl(i+On(s));this._platformLocation.replaceState(n,o,a)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(n=0){this._platformLocation.historyGo?.(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(F(df),F(nD,8))},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),MO=(()=>{var e;class t extends Dr{constructor(n,o){super(),this._platformLocation=n,this._baseHref="",this._removeListenerFns=[],null!=o&&(this._baseHref=o)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(n){this._removeListenerFns.push(this._platformLocation.onPopState(n),this._platformLocation.onHashChange(n))}getBaseHref(){return this._baseHref}path(n=!1){let o=this._platformLocation.hash;return null==o&&(o="#"),o.length>0?o.substring(1):o}prepareExternalUrl(n){const o=ff(this._baseHref,n);return o.length>0?"#"+o:o}pushState(n,o,i,s){let a=this.prepareExternalUrl(i+On(s));0==a.length&&(a=this._platformLocation.pathname),this._platformLocation.pushState(n,o,a)}replaceState(n,o,i,s){let a=this.prepareExternalUrl(i+On(s));0==a.length&&(a=this._platformLocation.pathname),this._platformLocation.replaceState(n,o,a)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(n=0){this._platformLocation.historyGo?.(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(F(df),F(nD,8))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),t})(),hf=(()=>{var e;class t{constructor(n){this._subject=new Ee,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=n;const o=this._locationStrategy.getBaseHref();this._basePath=function TO(e){if(new RegExp("^(https?:)?//").test(e)){const[,r]=e.split(/\/\/[^\/]+/);return r}return e}(tD(oD(o))),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(n=!1){return this.normalize(this._locationStrategy.path(n))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(n,o=""){return this.path()==this.normalize(n+On(o))}normalize(n){return t.stripTrailingSlash(function SO(e,t){if(!e||!t.startsWith(e))return t;const r=t.substring(e.length);return""===r||["/",";","?","#"].includes(r[0])?r:t}(this._basePath,oD(n)))}prepareExternalUrl(n){return n&&"/"!==n[0]&&(n="/"+n),this._locationStrategy.prepareExternalUrl(n)}go(n,o="",i=null){this._locationStrategy.pushState(i,"",n,o),this._notifyUrlChangeListeners(this.prepareExternalUrl(n+On(o)),i)}replaceState(n,o="",i=null){this._locationStrategy.replaceState(i,"",n,o),this._notifyUrlChangeListeners(this.prepareExternalUrl(n+On(o)),i)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(n=0){this._locationStrategy.historyGo?.(n)}onUrlChange(n){return this._urlChangeListeners.push(n),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(o=>{this._notifyUrlChangeListeners(o.url,o.state)})),()=>{const o=this._urlChangeListeners.indexOf(n);this._urlChangeListeners.splice(o,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(n="",o){this._urlChangeListeners.forEach(i=>i(n,o))}subscribe(n,o,i){return this._subject.subscribe({next:n,error:o,complete:i})}}return(e=t).normalizeQueryParams=On,e.joinWithSlash=ff,e.stripTrailingSlash=tD,e.\u0275fac=function(n){return new(n||e)(F(Dr))},e.\u0275prov=L({token:e,factory:function(){return function IO(){return new hf(F(Dr))}()},providedIn:"root"}),t})();function oD(e){return e.replace(/\/index.html$/,"")}function hD(e,t){t=encodeURIComponent(t);for(const r of e.split(";")){const n=r.indexOf("="),[o,i]=-1==n?[r,""]:[r.slice(0,n),r.slice(n+1)];if(o.trim()===t)return decodeURIComponent(i)}return null}const wf=/\s+/,pD=[];let ml=(()=>{var e;class t{constructor(n,o,i,s){this._iterableDiffers=n,this._keyValueDiffers=o,this._ngEl=i,this._renderer=s,this.initialClasses=pD,this.stateMap=new Map}set klass(n){this.initialClasses=null!=n?n.trim().split(wf):pD}set ngClass(n){this.rawClass="string"==typeof n?n.trim().split(wf):n}ngDoCheck(){for(const o of this.initialClasses)this._updateState(o,!0);const n=this.rawClass;if(Array.isArray(n)||n instanceof Set)for(const o of n)this._updateState(o,!0);else if(null!=n)for(const o of Object.keys(n))this._updateState(o,!!n[o]);this._applyStateDiff()}_updateState(n,o){const i=this.stateMap.get(n);void 0!==i?(i.enabled!==o&&(i.changed=!0,i.enabled=o),i.touched=!0):this.stateMap.set(n,{enabled:o,changed:!0,touched:!0})}_applyStateDiff(){for(const n of this.stateMap){const o=n[0],i=n[1];i.changed?(this._toggleClass(o,i.enabled),i.changed=!1):i.touched||(i.enabled&&this._toggleClass(o,!1),this.stateMap.delete(o)),i.touched=!1}}_toggleClass(n,o){(n=n.trim()).length>0&&n.split(wf).forEach(i=>{o?this._renderer.addClass(this._ngEl.nativeElement,i):this._renderer.removeClass(this._ngEl.nativeElement,i)})}}return(e=t).\u0275fac=function(n){return new(n||e)(I(ol),I(Zi),I(bt),I(Mn))},e.\u0275dir=B({type:e,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"},standalone:!0}),t})();class hP{constructor(t,r,n,o){this.$implicit=t,this.ngForOf=r,this.index=n,this.count=o}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let Ef=(()=>{var e;class t{set ngForOf(n){this._ngForOf=n,this._ngForOfDirty=!0}set ngForTrackBy(n){this._trackByFn=n}get ngForTrackBy(){return this._trackByFn}constructor(n,o,i){this._viewContainer=n,this._template=o,this._differs=i,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(n){n&&(this._template=n)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;!this._differ&&n&&(this._differ=this._differs.find(n).create(this.ngForTrackBy))}if(this._differ){const n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}}_applyChanges(n){const o=this._viewContainer;n.forEachOperation((i,s,a)=>{if(null==i.previousIndex)o.createEmbeddedView(this._template,new hP(i.item,this._ngForOf,-1,-1),null===a?void 0:a);else if(null==a)o.remove(null===s?void 0:s);else if(null!==s){const l=o.get(s);o.move(l,a),mD(l,i)}});for(let i=0,s=o.length;i{mD(o.get(i.currentIndex),i)})}static ngTemplateContextGuard(n,o){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(I(Zt),I(Rn),I(ol))},e.\u0275dir=B({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),t})();function mD(e,t){e.context.$implicit=t.item}let vl=(()=>{var e;class t{constructor(n,o){this._viewContainer=n,this._context=new pP,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=o}set ngIf(n){this._context.$implicit=this._context.ngIf=n,this._updateView()}set ngIfThen(n){vD("ngIfThen",n),this._thenTemplateRef=n,this._thenViewRef=null,this._updateView()}set ngIfElse(n){vD("ngIfElse",n),this._elseTemplateRef=n,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(n,o){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(I(Zt),I(Rn))},e.\u0275dir=B({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),t})();class pP{constructor(){this.$implicit=null,this.ngIf=null}}function vD(e,t){if(t&&!t.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${ke(t)}'.`)}let jP=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Cn({type:e}),e.\u0275inj=en({}),t})();function DD(e){return"server"===e}let $P=(()=>{var e;class t{}return(e=t).\u0275prov=L({token:e,providedIn:"root",factory:()=>new GP(F(pt),window)}),t})();class GP{constructor(t,r){this.document=t,this.window=r,this.offset=()=>[0,0]}setOffset(t){this.offset=Array.isArray(t)?()=>t:t}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(t){this.supportsScrolling()&&this.window.scrollTo(t[0],t[1])}scrollToAnchor(t){if(!this.supportsScrolling())return;const r=function zP(e,t){const r=e.getElementById(t)||e.getElementsByName(t)[0];if(r)return r;if("function"==typeof e.createTreeWalker&&e.body&&"function"==typeof e.body.attachShadow){const n=e.createTreeWalker(e.body,NodeFilter.SHOW_ELEMENT);let o=n.currentNode;for(;o;){const i=o.shadowRoot;if(i){const s=i.getElementById(t)||i.querySelector(`[name="${t}"]`);if(s)return s}o=n.nextNode()}}return null}(this.document,t);r&&(this.scrollToElement(r),r.focus())}setHistoryScrollRestoration(t){this.supportsScrolling()&&(this.window.history.scrollRestoration=t)}scrollToElement(t){const r=t.getBoundingClientRect(),n=r.left+this.window.pageXOffset,o=r.top+this.window.pageYOffset,i=this.offset();this.window.scrollTo(n-i[0],o-i[1])}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch{return!1}}}class bD{}const{isArray:gk}=Array,{getPrototypeOf:mk,prototype:vk,keys:yk}=Object;function SD(e){if(1===e.length){const t=e[0];if(gk(t))return{args:t,keys:null};if(function _k(e){return e&&"object"==typeof e&&mk(e)===vk}(t)){const r=yk(t);return{args:r.map(n=>t[n]),keys:r}}}return{args:e,keys:null}}const{isArray:Ck}=Array;function TD(e){return ee(t=>function Dk(e,t){return Ck(t)?e(...t):e(t)}(e,t))}function AD(e,t){return e.reduce((r,n,o)=>(r[n]=t[o],r),{})}function Rf(...e){const t=Yo(e),r=op(e),{args:n,keys:o}=SD(e);if(0===n.length)return Ne([],t);const i=new Ie(function bk(e,t,r=jn){return n=>{xD(t,()=>{const{length:o}=e,i=new Array(o);let s=o,a=o;for(let l=0;l{const c=Ne(e[l],t);let u=!1;c.subscribe(Re(n,d=>{i[l]=d,u||(u=!0,a--),a||n.next(r(i.slice()))},()=>{--s||n.complete()}))},n)},n)}}(n,t,o?s=>AD(o,s):jn));return r?i.pipe(TD(r)):i}function xD(e,t,r){e?vn(r,e,t):t()}const Cl=Wo(e=>function(){e(this),this.name="EmptyError",this.message="no elements in sequence"});function Nf(...e){return function wk(){return Rr(1)}()(Ne(e,Yo(e)))}function RD(e){return new Ie(t=>{jt(e()).subscribe(t)})}function Ji(e,t){const r=ue(e)?e:()=>e,n=o=>o.error(r());return new Ie(t?o=>t.schedule(n,0,o):n)}function Of(){return Pe((e,t)=>{let r=null;e._refCount++;const n=Re(t,void 0,void 0,void 0,()=>{if(!e||e._refCount<=0||0<--e._refCount)return void(r=null);const o=e._connection,i=r;r=null,o&&(!i||o===i)&&o.unsubscribe(),t.unsubscribe()});e.subscribe(n),n.closed||(r=e.connect())})}class ND extends Ie{constructor(t,r){super(),this.source=t,this.subjectFactory=r,this._subject=null,this._refCount=0,this._connection=null,$h(t)&&(this.lift=t.lift)}_subscribe(t){return this.getSubject().subscribe(t)}getSubject(){const t=this._subject;return(!t||t.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:t}=this;this._subject=this._connection=null,t?.unsubscribe()}connect(){let t=this._connection;if(!t){t=this._connection=new gt;const r=this.getSubject();t.add(this.source.subscribe(Re(r,void 0,()=>{this._teardown(),r.complete()},n=>{this._teardown(),r.error(n)},()=>this._teardown()))),t.closed&&(this._connection=null,t=gt.EMPTY)}return t}refCount(){return Of()(this)}}function Xt(e,t){return Pe((r,n)=>{let o=0;r.subscribe(Re(n,i=>e.call(t,i,o++)&&n.next(i)))})}function Dl(e){return Pe((t,r)=>{let n=!1;t.subscribe(Re(r,o=>{n=!0,r.next(o)},()=>{n||r.next(e),r.complete()}))})}function OD(e=Mk){return Pe((t,r)=>{let n=!1;t.subscribe(Re(r,o=>{n=!0,r.next(o)},()=>n?r.complete():r.error(e())))})}function Mk(){return new Cl}function br(e,t){const r=arguments.length>=2;return n=>n.pipe(e?Xt((o,i)=>e(o,i,n)):jn,ar(1),r?Dl(t):OD(()=>new Cl))}function Ao(e,t){return ue(t)?Ve(e,t,1):Ve(e,1)}function Ze(e,t,r){const n=ue(e)||t||r?{next:e,error:t,complete:r}:e;return n?Pe((o,i)=>{var s;null===(s=n.subscribe)||void 0===s||s.call(n);let a=!0;o.subscribe(Re(i,l=>{var c;null===(c=n.next)||void 0===c||c.call(n,l),i.next(l)},()=>{var l;a=!1,null===(l=n.complete)||void 0===l||l.call(n),i.complete()},l=>{var c;a=!1,null===(c=n.error)||void 0===c||c.call(n,l),i.error(l)},()=>{var l,c;a&&(null===(l=n.unsubscribe)||void 0===l||l.call(n)),null===(c=n.finalize)||void 0===c||c.call(n)}))}):jn}function wr(e){return Pe((t,r)=>{let i,n=null,o=!1;n=t.subscribe(Re(r,void 0,void 0,s=>{i=jt(e(s,wr(e)(t))),n?(n.unsubscribe(),n=null,i.subscribe(r)):o=!0})),o&&(n.unsubscribe(),n=null,i.subscribe(r))})}function Pf(e){return e<=0?()=>Kt:Pe((t,r)=>{let n=[];t.subscribe(Re(r,o=>{n.push(o),e{for(const o of n)r.next(o);r.complete()},void 0,()=>{n=null}))})}function Ki(e){return Pe((t,r)=>{try{t.subscribe(r)}finally{r.add(e)}})}class Rk extends bO{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class kf extends Rk{static makeCurrent(){!function DO(e){uf||(uf=e)}(new kf)}onAndCancel(t,r,n){return t.addEventListener(r,n),()=>{t.removeEventListener(r,n)}}dispatchEvent(t,r){t.dispatchEvent(r)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,r){return(r=r||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,r){return"window"===r?window:"document"===r?t:"body"===r?t.body:null}getBaseHref(t){const r=function Nk(){return es=es||document.querySelector("base"),es?es.getAttribute("href"):null}();return null==r?null:function Ok(e){bl=bl||document.createElement("a"),bl.setAttribute("href",e);const t=bl.pathname;return"/"===t.charAt(0)?t:`/${t}`}(r)}resetBaseElement(){es=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return hD(document.cookie,t)}}let bl,es=null,kk=(()=>{var e;class t{build(){return new XMLHttpRequest}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac}),t})();const Ff=new x("EventManagerPlugins");let PD=(()=>{var e;class t{constructor(n,o){this._zone=o,this._eventNameToPlugin=new Map,n.forEach(i=>{i.manager=this}),this._plugins=n.slice().reverse()}addEventListener(n,o,i){return this._findPluginFor(o).addEventListener(n,o,i)}getZone(){return this._zone}_findPluginFor(n){let o=this._eventNameToPlugin.get(n);if(o)return o;if(o=this._plugins.find(s=>s.supports(n)),!o)throw new S(5101,!1);return this._eventNameToPlugin.set(n,o),o}}return(e=t).\u0275fac=function(n){return new(n||e)(F(Ff),F(ge))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),t})();class kD{constructor(t){this._doc=t}}const Lf="ng-app-id";let FD=(()=>{var e;class t{constructor(n,o,i,s={}){this.doc=n,this.appId=o,this.nonce=i,this.platformId=s,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=DD(s),this.resetHostNodes()}addStyles(n){for(const o of n)1===this.changeUsageCount(o,1)&&this.onStyleAdded(o)}removeStyles(n){for(const o of n)this.changeUsageCount(o,-1)<=0&&this.onStyleRemoved(o)}ngOnDestroy(){const n=this.styleNodesInDOM;n&&(n.forEach(o=>o.remove()),n.clear());for(const o of this.getAllStyles())this.onStyleRemoved(o);this.resetHostNodes()}addHost(n){this.hostNodes.add(n);for(const o of this.getAllStyles())this.addStyleToHost(n,o)}removeHost(n){this.hostNodes.delete(n)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(n){for(const o of this.hostNodes)this.addStyleToHost(o,n)}onStyleRemoved(n){const o=this.styleRef;o.get(n)?.elements?.forEach(i=>i.remove()),o.delete(n)}collectServerRenderedStyles(){const n=this.doc.head?.querySelectorAll(`style[${Lf}="${this.appId}"]`);if(n?.length){const o=new Map;return n.forEach(i=>{null!=i.textContent&&o.set(i.textContent,i)}),o}return null}changeUsageCount(n,o){const i=this.styleRef;if(i.has(n)){const s=i.get(n);return s.usage+=o,s.usage}return i.set(n,{usage:o,elements:[]}),o}getStyleElement(n,o){const i=this.styleNodesInDOM,s=i?.get(o);if(s?.parentNode===n)return i.delete(o),s.removeAttribute(Lf),s;{const a=this.doc.createElement("style");return this.nonce&&a.setAttribute("nonce",this.nonce),a.textContent=o,this.platformIsServer&&a.setAttribute(Lf,this.appId),a}}addStyleToHost(n,o){const i=this.getStyleElement(n,o);n.appendChild(i);const s=this.styleRef,a=s.get(o)?.elements;a?a.push(i):s.set(o,{elements:[i],usage:1})}resetHostNodes(){const n=this.hostNodes;n.clear(),n.add(this.doc.head)}}return(e=t).\u0275fac=function(n){return new(n||e)(F(pt),F(ba),F(Lm,8),F(gr))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),t})();const Vf={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/MathML/"},jf=/%COMP%/g,jk=new x("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function VD(e,t){return t.map(r=>r.replace(jf,e))}let jD=(()=>{var e;class t{constructor(n,o,i,s,a,l,c,u=null){this.eventManager=n,this.sharedStylesHost=o,this.appId=i,this.removeStylesOnCompDestroy=s,this.doc=a,this.platformId=l,this.ngZone=c,this.nonce=u,this.rendererByCompId=new Map,this.platformIsServer=DD(l),this.defaultRenderer=new Hf(n,a,c,this.platformIsServer)}createRenderer(n,o){if(!n||!o)return this.defaultRenderer;this.platformIsServer&&o.encapsulation===Ut.ShadowDom&&(o={...o,encapsulation:Ut.Emulated});const i=this.getOrCreateRenderer(n,o);return i instanceof UD?i.applyToHost(n):i instanceof Uf&&i.applyStyles(),i}getOrCreateRenderer(n,o){const i=this.rendererByCompId;let s=i.get(o.id);if(!s){const a=this.doc,l=this.ngZone,c=this.eventManager,u=this.sharedStylesHost,d=this.removeStylesOnCompDestroy,g=this.platformIsServer;switch(o.encapsulation){case Ut.Emulated:s=new UD(c,u,o,this.appId,d,a,l,g);break;case Ut.ShadowDom:return new $k(c,u,n,o,a,l,this.nonce,g);default:s=new Uf(c,u,o,d,a,l,g)}i.set(o.id,s)}return s}ngOnDestroy(){this.rendererByCompId.clear()}}return(e=t).\u0275fac=function(n){return new(n||e)(F(PD),F(FD),F(ba),F(jk),F(pt),F(gr),F(ge),F(Lm))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),t})();class Hf{constructor(t,r,n,o){this.eventManager=t,this.doc=r,this.ngZone=n,this.platformIsServer=o,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,r){return r?this.doc.createElementNS(Vf[r]||r,t):this.doc.createElement(t)}createComment(t){return this.doc.createComment(t)}createText(t){return this.doc.createTextNode(t)}appendChild(t,r){(HD(t)?t.content:t).appendChild(r)}insertBefore(t,r,n){t&&(HD(t)?t.content:t).insertBefore(r,n)}removeChild(t,r){t&&t.removeChild(r)}selectRootElement(t,r){let n="string"==typeof t?this.doc.querySelector(t):t;if(!n)throw new S(-5104,!1);return r||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,r,n,o){if(o){r=o+":"+r;const i=Vf[o];i?t.setAttributeNS(i,r,n):t.setAttribute(r,n)}else t.setAttribute(r,n)}removeAttribute(t,r,n){if(n){const o=Vf[n];o?t.removeAttributeNS(o,r):t.removeAttribute(`${n}:${r}`)}else t.removeAttribute(r)}addClass(t,r){t.classList.add(r)}removeClass(t,r){t.classList.remove(r)}setStyle(t,r,n,o){o&(Wn.DashCase|Wn.Important)?t.style.setProperty(r,n,o&Wn.Important?"important":""):t.style[r]=n}removeStyle(t,r,n){n&Wn.DashCase?t.style.removeProperty(r):t.style[r]=""}setProperty(t,r,n){t[r]=n}setValue(t,r){t.nodeValue=r}listen(t,r,n){if("string"==typeof t&&!(t=Xn().getGlobalEventTarget(this.doc,t)))throw new Error(`Unsupported event target ${t} for event ${r}`);return this.eventManager.addEventListener(t,r,this.decoratePreventDefault(n))}decoratePreventDefault(t){return r=>{if("__ngUnwrap__"===r)return t;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>t(r)):t(r))&&r.preventDefault()}}}function HD(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class $k extends Hf{constructor(t,r,n,o,i,s,a,l){super(t,i,s,l),this.sharedStylesHost=r,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=VD(o.id,o.styles);for(const u of c){const d=document.createElement("style");a&&d.setAttribute("nonce",a),d.textContent=u,this.shadowRoot.appendChild(d)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}appendChild(t,r){return super.appendChild(this.nodeOrShadowRoot(t),r)}insertBefore(t,r,n){return super.insertBefore(this.nodeOrShadowRoot(t),r,n)}removeChild(t,r){return super.removeChild(this.nodeOrShadowRoot(t),r)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class Uf extends Hf{constructor(t,r,n,o,i,s,a,l){super(t,i,s,a),this.sharedStylesHost=r,this.removeStylesOnCompDestroy=o,this.styles=l?VD(l,n.styles):n.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class UD extends Uf{constructor(t,r,n,o,i,s,a,l){const c=o+"-"+n.id;super(t,r,n,i,s,a,l,c),this.contentAttr=function Hk(e){return"_ngcontent-%COMP%".replace(jf,e)}(c),this.hostAttr=function Uk(e){return"_nghost-%COMP%".replace(jf,e)}(c)}applyToHost(t){this.applyStyles(),this.setAttribute(t,this.hostAttr,"")}createElement(t,r){const n=super.createElement(t,r);return super.setAttribute(n,this.contentAttr,""),n}}let Gk=(()=>{var e;class t extends kD{constructor(n){super(n)}supports(n){return!0}addEventListener(n,o,i){return n.addEventListener(o,i,!1),()=>this.removeEventListener(n,o,i)}removeEventListener(n,o,i){return n.removeEventListener(o,i)}}return(e=t).\u0275fac=function(n){return new(n||e)(F(pt))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),t})();const BD=["alt","control","meta","shift"],zk={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},qk={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let Wk=(()=>{var e;class t extends kD{constructor(n){super(n)}supports(n){return null!=t.parseEventName(n)}addEventListener(n,o,i){const s=t.parseEventName(o),a=t.eventCallback(s.fullKey,i,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Xn().onAndCancel(n,s.domEventName,a))}static parseEventName(n){const o=n.toLowerCase().split("."),i=o.shift();if(0===o.length||"keydown"!==i&&"keyup"!==i)return null;const s=t._normalizeKey(o.pop());let a="",l=o.indexOf("code");if(l>-1&&(o.splice(l,1),a="code."),BD.forEach(u=>{const d=o.indexOf(u);d>-1&&(o.splice(d,1),a+=u+".")}),a+=s,0!=o.length||0===s.length)return null;const c={};return c.domEventName=i,c.fullKey=a,c}static matchEventFullKeyCode(n,o){let i=zk[n.key]||n.key,s="";return o.indexOf("code.")>-1&&(i=n.code,s="code."),!(null==i||!i)&&(i=i.toLowerCase()," "===i?i="space":"."===i&&(i="dot"),BD.forEach(a=>{a!==i&&(0,qk[a])(n)&&(s+=a+".")}),s+=i,s===o)}static eventCallback(n,o,i){return s=>{t.matchEventFullKeyCode(s,n)&&i.runGuarded(()=>o(s))}}static _normalizeKey(n){return"esc"===n?"escape":n}}return(e=t).\u0275fac=function(n){return new(n||e)(F(pt))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),t})();function $D(e){return{appProviders:[...zD,...e?.providers??[]],platformProviders:Jk}}const Jk=[{provide:gr,useValue:"browser"},{provide:Fm,useValue:function Yk(){kf.makeCurrent()},multi:!0},{provide:pt,useFactory:function Xk(){return function mI(e){Eu=e}(document),document},deps:[]}],Kk=new x(""),GD=[{provide:Ka,useClass:class Pk{addToWindow(t){he.getAngularTestability=(n,o=!0)=>{const i=t.findTestabilityInTree(n,o);if(null==i)throw new S(5103,!1);return i},he.getAllAngularTestabilities=()=>t.getAllTestabilities(),he.getAllAngularRootElements=()=>t.getAllRootElements(),he.frameworkStabilizers||(he.frameworkStabilizers=[]),he.frameworkStabilizers.push(n=>{const o=he.getAllAngularTestabilities();let i=o.length,s=!1;const a=function(l){s=s||l,i--,0==i&&n(s)};o.forEach(l=>{l.whenStable(a)})})}findTestabilityInTree(t,r,n){return null==r?null:t.getTestability(r)??(n?Xn().isShadowRoot(r)?this.findTestabilityInTree(t,r.host,!0):this.findTestabilityInTree(t,r.parentElement,!0):null)}},deps:[]},{provide:MC,useClass:Xd,deps:[ge,Jd,Ka]},{provide:Xd,useClass:Xd,deps:[ge,Jd,Ka]}],zD=[{provide:Pu,useValue:"root"},{provide:In,useFactory:function Qk(){return new In},deps:[]},{provide:Ff,useClass:Gk,multi:!0,deps:[pt,ge,gr]},{provide:Ff,useClass:Wk,multi:!0,deps:[pt]},jD,FD,PD,{provide:$m,useExisting:jD},{provide:bD,useClass:kk,deps:[]},[]];let eF=(()=>{var e;class t{constructor(n){}static withServerTransition(n){return{ngModule:t,providers:[{provide:ba,useValue:n.appId}]}}}return(e=t).\u0275fac=function(n){return new(n||e)(F(Kk,12))},e.\u0275mod=Cn({type:e}),e.\u0275inj=en({providers:[...zD,...GD],imports:[jP,lO]}),t})(),qD=(()=>{var e;class t{constructor(n){this._doc=n}getTitle(){return this._doc.title}setTitle(n){this._doc.title=n||""}}return(e=t).\u0275fac=function(n){return new(n||e)(F(pt))},e.\u0275prov=L({token:e,factory:function(n){let o=null;return o=n?new n:function nF(){return new qD(F(pt))}(),o},providedIn:"root"}),t})();typeof window<"u"&&window;const W="primary",ts=Symbol("RouteTitle");class aF{constructor(t){this.params=t||{}}has(t){return Object.prototype.hasOwnProperty.call(this.params,t)}get(t){if(this.has(t)){const r=this.params[t];return Array.isArray(r)?r[0]:r}return null}getAll(t){if(this.has(t)){const r=this.params[t];return Array.isArray(r)?r:[r]}return[]}get keys(){return Object.keys(this.params)}}function xo(e){return new aF(e)}function lF(e,t,r){const n=r.path.split("/");if(n.length>e.length||"full"===r.pathMatch&&(t.hasChildren()||n.lengthn[i]===o)}return e===t}function XD(e){return e.length>0?e[e.length-1]:null}function Kn(e){return function pk(e){return!!e&&(e instanceof Ie||ue(e.lift)&&ue(e.subscribe))}(e)?e:Fi(e)?Ne(Promise.resolve(e)):V(e)}const uF={exact:function eb(e,t,r){if(!Er(e.segments,t.segments)||!wl(e.segments,t.segments,r)||e.numberOfChildren!==t.numberOfChildren)return!1;for(const n in t.children)if(!e.children[n]||!eb(e.children[n],t.children[n],r))return!1;return!0},subset:tb},JD={exact:function dF(e,t){return fn(e,t)},subset:function fF(e,t){return Object.keys(t).length<=Object.keys(e).length&&Object.keys(t).every(r=>QD(e[r],t[r]))},ignored:()=>!0};function KD(e,t,r){return uF[r.paths](e.root,t.root,r.matrixParams)&&JD[r.queryParams](e.queryParams,t.queryParams)&&!("exact"===r.fragment&&e.fragment!==t.fragment)}function tb(e,t,r){return nb(e,t,t.segments,r)}function nb(e,t,r,n){if(e.segments.length>r.length){const o=e.segments.slice(0,r.length);return!(!Er(o,r)||t.hasChildren()||!wl(o,r,n))}if(e.segments.length===r.length){if(!Er(e.segments,r)||!wl(e.segments,r,n))return!1;for(const o in t.children)if(!e.children[o]||!tb(e.children[o],t.children[o],n))return!1;return!0}{const o=r.slice(0,e.segments.length),i=r.slice(e.segments.length);return!!(Er(e.segments,o)&&wl(e.segments,o,n)&&e.children[W])&&nb(e.children[W],t,i,n)}}function wl(e,t,r){return t.every((n,o)=>JD[r](e[o].parameters,n.parameters))}class Ro{constructor(t=new ce([],{}),r={},n=null){this.root=t,this.queryParams=r,this.fragment=n}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=xo(this.queryParams)),this._queryParamMap}toString(){return gF.serialize(this)}}class ce{constructor(t,r){this.segments=t,this.children=r,this.parent=null,Object.values(r).forEach(n=>n.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return El(this)}}class ns{constructor(t,r){this.path=t,this.parameters=r}get parameterMap(){return this._parameterMap||(this._parameterMap=xo(this.parameters)),this._parameterMap}toString(){return ib(this)}}function Er(e,t){return e.length===t.length&&e.every((r,n)=>r.path===t[n].path)}let rs=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:function(){return new $f},providedIn:"root"}),t})();class $f{parse(t){const r=new IF(t);return new Ro(r.parseRootSegment(),r.parseQueryParams(),r.parseFragment())}serialize(t){const r=`/${os(t.root,!0)}`,n=function yF(e){const t=Object.keys(e).map(r=>{const n=e[r];return Array.isArray(n)?n.map(o=>`${Ml(r)}=${Ml(o)}`).join("&"):`${Ml(r)}=${Ml(n)}`}).filter(r=>!!r);return t.length?`?${t.join("&")}`:""}(t.queryParams);return`${r}${n}${"string"==typeof t.fragment?`#${function mF(e){return encodeURI(e)}(t.fragment)}`:""}`}}const gF=new $f;function El(e){return e.segments.map(t=>ib(t)).join("/")}function os(e,t){if(!e.hasChildren())return El(e);if(t){const r=e.children[W]?os(e.children[W],!1):"",n=[];return Object.entries(e.children).forEach(([o,i])=>{o!==W&&n.push(`${o}:${os(i,!1)}`)}),n.length>0?`${r}(${n.join("//")})`:r}{const r=function pF(e,t){let r=[];return Object.entries(e.children).forEach(([n,o])=>{n===W&&(r=r.concat(t(o,n)))}),Object.entries(e.children).forEach(([n,o])=>{n!==W&&(r=r.concat(t(o,n)))}),r}(e,(n,o)=>o===W?[os(e.children[W],!1)]:[`${o}:${os(n,!1)}`]);return 1===Object.keys(e.children).length&&null!=e.children[W]?`${El(e)}/${r[0]}`:`${El(e)}/(${r.join("//")})`}}function rb(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Ml(e){return rb(e).replace(/%3B/gi,";")}function Gf(e){return rb(e).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Il(e){return decodeURIComponent(e)}function ob(e){return Il(e.replace(/\+/g,"%20"))}function ib(e){return`${Gf(e.path)}${function vF(e){return Object.keys(e).map(t=>`;${Gf(t)}=${Gf(e[t])}`).join("")}(e.parameters)}`}const _F=/^[^\/()?;#]+/;function zf(e){const t=e.match(_F);return t?t[0]:""}const CF=/^[^\/()?;=#]+/,bF=/^[^=?]+/,EF=/^[^]+/;class IF{constructor(t){this.url=t,this.remaining=t}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new ce([],{}):new ce([],this.parseChildren())}parseQueryParams(){const t={};if(this.consumeOptional("?"))do{this.parseQueryParam(t)}while(this.consumeOptional("&"));return t}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const t=[];for(this.peekStartsWith("(")||t.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),t.push(this.parseSegment());let r={};this.peekStartsWith("/(")&&(this.capture("/"),r=this.parseParens(!0));let n={};return this.peekStartsWith("(")&&(n=this.parseParens(!1)),(t.length>0||Object.keys(r).length>0)&&(n[W]=new ce(t,r)),n}parseSegment(){const t=zf(this.remaining);if(""===t&&this.peekStartsWith(";"))throw new S(4009,!1);return this.capture(t),new ns(Il(t),this.parseMatrixParams())}parseMatrixParams(){const t={};for(;this.consumeOptional(";");)this.parseParam(t);return t}parseParam(t){const r=function DF(e){const t=e.match(CF);return t?t[0]:""}(this.remaining);if(!r)return;this.capture(r);let n="";if(this.consumeOptional("=")){const o=zf(this.remaining);o&&(n=o,this.capture(n))}t[Il(r)]=Il(n)}parseQueryParam(t){const r=function wF(e){const t=e.match(bF);return t?t[0]:""}(this.remaining);if(!r)return;this.capture(r);let n="";if(this.consumeOptional("=")){const s=function MF(e){const t=e.match(EF);return t?t[0]:""}(this.remaining);s&&(n=s,this.capture(n))}const o=ob(r),i=ob(n);if(t.hasOwnProperty(o)){let s=t[o];Array.isArray(s)||(s=[s],t[o]=s),s.push(i)}else t[o]=i}parseParens(t){const r={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const n=zf(this.remaining),o=this.remaining[n.length];if("/"!==o&&")"!==o&&";"!==o)throw new S(4010,!1);let i;n.indexOf(":")>-1?(i=n.slice(0,n.indexOf(":")),this.capture(i),this.capture(":")):t&&(i=W);const s=this.parseChildren();r[i]=1===Object.keys(s).length?s[W]:new ce([],s),this.consumeOptional("//")}return r}peekStartsWith(t){return this.remaining.startsWith(t)}consumeOptional(t){return!!this.peekStartsWith(t)&&(this.remaining=this.remaining.substring(t.length),!0)}capture(t){if(!this.consumeOptional(t))throw new S(4011,!1)}}function sb(e){return e.segments.length>0?new ce([],{[W]:e}):e}function ab(e){const t={};for(const n of Object.keys(e.children)){const i=ab(e.children[n]);if(n===W&&0===i.segments.length&&i.hasChildren())for(const[s,a]of Object.entries(i.children))t[s]=a;else(i.segments.length>0||i.hasChildren())&&(t[n]=i)}return function SF(e){if(1===e.numberOfChildren&&e.children[W]){const t=e.children[W];return new ce(e.segments.concat(t.segments),t.children)}return e}(new ce(e.segments,t))}function Mr(e){return e instanceof Ro}function lb(e){let t;const o=sb(function r(i){const s={};for(const l of i.children){const c=r(l);s[l.outlet]=c}const a=new ce(i.url,s);return i===e&&(t=a),a}(e.root));return t??o}function cb(e,t,r,n){let o=e;for(;o.parent;)o=o.parent;if(0===t.length)return qf(o,o,o,r,n);const i=function AF(e){if("string"==typeof e[0]&&1===e.length&&"/"===e[0])return new db(!0,0,e);let t=0,r=!1;const n=e.reduce((o,i,s)=>{if("object"==typeof i&&null!=i){if(i.outlets){const a={};return Object.entries(i.outlets).forEach(([l,c])=>{a[l]="string"==typeof c?c.split("/"):c}),[...o,{outlets:a}]}if(i.segmentPath)return[...o,i.segmentPath]}return"string"!=typeof i?[...o,i]:0===s?(i.split("/").forEach((a,l)=>{0==l&&"."===a||(0==l&&""===a?r=!0:".."===a?t++:""!=a&&o.push(a))}),o):[...o,i]},[]);return new db(r,t,n)}(t);if(i.toRoot())return qf(o,o,new ce([],{}),r,n);const s=function xF(e,t,r){if(e.isAbsolute)return new Tl(t,!0,0);if(!r)return new Tl(t,!1,NaN);if(null===r.parent)return new Tl(r,!0,0);const n=Sl(e.commands[0])?0:1;return function RF(e,t,r){let n=e,o=t,i=r;for(;i>o;){if(i-=o,n=n.parent,!n)throw new S(4005,!1);o=n.segments.length}return new Tl(n,!1,o-i)}(r,r.segments.length-1+n,e.numberOfDoubleDots)}(i,o,e),a=s.processChildren?ss(s.segmentGroup,s.index,i.commands):fb(s.segmentGroup,s.index,i.commands);return qf(o,s.segmentGroup,a,r,n)}function Sl(e){return"object"==typeof e&&null!=e&&!e.outlets&&!e.segmentPath}function is(e){return"object"==typeof e&&null!=e&&e.outlets}function qf(e,t,r,n,o){let s,i={};n&&Object.entries(n).forEach(([l,c])=>{i[l]=Array.isArray(c)?c.map(u=>`${u}`):`${c}`}),s=e===t?r:ub(e,t,r);const a=sb(ab(s));return new Ro(a,i,o)}function ub(e,t,r){const n={};return Object.entries(e.children).forEach(([o,i])=>{n[o]=i===t?r:ub(i,t,r)}),new ce(e.segments,n)}class db{constructor(t,r,n){if(this.isAbsolute=t,this.numberOfDoubleDots=r,this.commands=n,t&&n.length>0&&Sl(n[0]))throw new S(4003,!1);const o=n.find(is);if(o&&o!==XD(n))throw new S(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class Tl{constructor(t,r,n){this.segmentGroup=t,this.processChildren=r,this.index=n}}function fb(e,t,r){if(e||(e=new ce([],{})),0===e.segments.length&&e.hasChildren())return ss(e,t,r);const n=function OF(e,t,r){let n=0,o=t;const i={match:!1,pathIndex:0,commandIndex:0};for(;o=r.length)return i;const s=e.segments[o],a=r[n];if(is(a))break;const l=`${a}`,c=n0&&void 0===l)break;if(l&&c&&"object"==typeof c&&void 0===c.outlets){if(!pb(l,c,s))return i;n+=2}else{if(!pb(l,{},s))return i;n++}o++}return{match:!0,pathIndex:o,commandIndex:n}}(e,t,r),o=r.slice(n.commandIndex);if(n.match&&n.pathIndexi!==W)&&e.children[W]&&1===e.numberOfChildren&&0===e.children[W].segments.length){const i=ss(e.children[W],t,r);return new ce(e.segments,i.children)}return Object.entries(n).forEach(([i,s])=>{"string"==typeof s&&(s=[s]),null!==s&&(o[i]=fb(e.children[i],t,s))}),Object.entries(e.children).forEach(([i,s])=>{void 0===n[i]&&(o[i]=s)}),new ce(e.segments,o)}}function Wf(e,t,r){const n=e.segments.slice(0,t);let o=0;for(;o{"string"==typeof n&&(n=[n]),null!==n&&(t[r]=Wf(new ce([],{}),0,n))}),t}function hb(e){const t={};return Object.entries(e).forEach(([r,n])=>t[r]=`${n}`),t}function pb(e,t,r){return e==r.path&&fn(t,r.parameters)}const as="imperative";class hn{constructor(t,r){this.id=t,this.url=r}}class Al extends hn{constructor(t,r,n="imperative",o=null){super(t,r),this.type=0,this.navigationTrigger=n,this.restoredState=o}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class Fn extends hn{constructor(t,r,n){super(t,r),this.urlAfterRedirects=n,this.type=1}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class ls extends hn{constructor(t,r,n,o){super(t,r),this.reason=n,this.code=o,this.type=2}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class No extends hn{constructor(t,r,n,o){super(t,r),this.reason=n,this.code=o,this.type=16}}class xl extends hn{constructor(t,r,n,o){super(t,r),this.error=n,this.target=o,this.type=3}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class gb extends hn{constructor(t,r,n,o){super(t,r),this.urlAfterRedirects=n,this.state=o,this.type=4}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class kF extends hn{constructor(t,r,n,o){super(t,r),this.urlAfterRedirects=n,this.state=o,this.type=7}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class FF extends hn{constructor(t,r,n,o,i){super(t,r),this.urlAfterRedirects=n,this.state=o,this.shouldActivate=i,this.type=8}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class LF extends hn{constructor(t,r,n,o){super(t,r),this.urlAfterRedirects=n,this.state=o,this.type=5}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class VF extends hn{constructor(t,r,n,o){super(t,r),this.urlAfterRedirects=n,this.state=o,this.type=6}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class jF{constructor(t){this.route=t,this.type=9}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class HF{constructor(t){this.route=t,this.type=10}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class UF{constructor(t){this.snapshot=t,this.type=11}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class BF{constructor(t){this.snapshot=t,this.type=12}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class $F{constructor(t){this.snapshot=t,this.type=13}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class GF{constructor(t){this.snapshot=t,this.type=14}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class mb{constructor(t,r,n){this.routerEvent=t,this.position=r,this.anchor=n,this.type=15}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class Zf{}class Yf{constructor(t){this.url=t}}class zF{constructor(){this.outlet=null,this.route=null,this.injector=null,this.children=new cs,this.attachRef=null}}let cs=(()=>{var e;class t{constructor(){this.contexts=new Map}onChildOutletCreated(n,o){const i=this.getOrCreateContext(n);i.outlet=o,this.contexts.set(n,i)}onChildOutletDestroyed(n){const o=this.getContext(n);o&&(o.outlet=null,o.attachRef=null)}onOutletDeactivated(){const n=this.contexts;return this.contexts=new Map,n}onOutletReAttached(n){this.contexts=n}getOrCreateContext(n){let o=this.getContext(n);return o||(o=new zF,this.contexts.set(n,o)),o}getContext(n){return this.contexts.get(n)||null}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class vb{constructor(t){this._root=t}get root(){return this._root.value}parent(t){const r=this.pathFromRoot(t);return r.length>1?r[r.length-2]:null}children(t){const r=Qf(t,this._root);return r?r.children.map(n=>n.value):[]}firstChild(t){const r=Qf(t,this._root);return r&&r.children.length>0?r.children[0].value:null}siblings(t){const r=Xf(t,this._root);return r.length<2?[]:r[r.length-2].children.map(o=>o.value).filter(o=>o!==t)}pathFromRoot(t){return Xf(t,this._root).map(r=>r.value)}}function Qf(e,t){if(e===t.value)return t;for(const r of t.children){const n=Qf(e,r);if(n)return n}return null}function Xf(e,t){if(e===t.value)return[t];for(const r of t.children){const n=Xf(e,r);if(n.length)return n.unshift(t),n}return[]}class Ln{constructor(t,r){this.value=t,this.children=r}toString(){return`TreeNode(${this.value})`}}function Oo(e){const t={};return e&&e.children.forEach(r=>t[r.value.outlet]=r),t}class yb extends vb{constructor(t,r){super(t),this.snapshot=r,Jf(this,t)}toString(){return this.snapshot.toString()}}function _b(e,t){const r=function qF(e,t){const s=new Rl([],{},{},"",{},W,t,null,{});return new Db("",new Ln(s,[]))}(0,t),n=new At([new ns("",{})]),o=new At({}),i=new At({}),s=new At({}),a=new At(""),l=new Ir(n,o,s,a,i,W,t,r.root);return l.snapshot=r.root,new yb(new Ln(l,[]),r)}class Ir{constructor(t,r,n,o,i,s,a,l){this.urlSubject=t,this.paramsSubject=r,this.queryParamsSubject=n,this.fragmentSubject=o,this.dataSubject=i,this.outlet=s,this.component=a,this._futureSnapshot=l,this.title=this.dataSubject?.pipe(ee(c=>c[ts]))??V(void 0),this.url=t,this.params=r,this.queryParams=n,this.fragment=o,this.data=i}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._paramMap=this.params.pipe(ee(t=>xo(t)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(ee(t=>xo(t)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function Cb(e,t="emptyOnly"){const r=e.pathFromRoot;let n=0;if("always"!==t)for(n=r.length-1;n>=1;){const o=r[n],i=r[n-1];if(o.routeConfig&&""===o.routeConfig.path)n--;else{if(i.component)break;n--}}return function WF(e){return e.reduce((t,r)=>({params:{...t.params,...r.params},data:{...t.data,...r.data},resolve:{...r.data,...t.resolve,...r.routeConfig?.data,...r._resolvedData}}),{params:{},data:{},resolve:{}})}(r.slice(n))}class Rl{get title(){return this.data?.[ts]}constructor(t,r,n,o,i,s,a,l,c){this.url=t,this.params=r,this.queryParams=n,this.fragment=o,this.data=i,this.outlet=s,this.component=a,this.routeConfig=l,this._resolve=c}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._paramMap=xo(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=xo(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(n=>n.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class Db extends vb{constructor(t,r){super(r),this.url=t,Jf(this,r)}toString(){return bb(this._root)}}function Jf(e,t){t.value._routerState=e,t.children.forEach(r=>Jf(e,r))}function bb(e){const t=e.children.length>0?` { ${e.children.map(bb).join(", ")} } `:"";return`${e.value}${t}`}function Kf(e){if(e.snapshot){const t=e.snapshot,r=e._futureSnapshot;e.snapshot=r,fn(t.queryParams,r.queryParams)||e.queryParamsSubject.next(r.queryParams),t.fragment!==r.fragment&&e.fragmentSubject.next(r.fragment),fn(t.params,r.params)||e.paramsSubject.next(r.params),function cF(e,t){if(e.length!==t.length)return!1;for(let r=0;rfn(r.parameters,t[n].parameters))}(e.url,t.url);return r&&!(!e.parent!=!t.parent)&&(!e.parent||eh(e.parent,t.parent))}let th=(()=>{var e;class t{constructor(){this.activated=null,this._activatedRoute=null,this.name=W,this.activateEvents=new Ee,this.deactivateEvents=new Ee,this.attachEvents=new Ee,this.detachEvents=new Ee,this.parentContexts=A(cs),this.location=A(Zt),this.changeDetector=A(tl),this.environmentInjector=A(Dt),this.inputBinder=A(Nl,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(n){if(n.name){const{firstChange:o,previousValue:i}=n.name;if(o)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(n){return this.parentContexts.getContext(n)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const n=this.parentContexts.getContext(this.name);n?.route&&(n.attachRef?this.attach(n.attachRef,n.route):this.activateWith(n.route,n.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();const n=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(n.instance),n}attach(n,o){this.activated=n,this._activatedRoute=o,this.location.insert(n.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(n.instance)}deactivate(){if(this.activated){const n=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(n)}}activateWith(n,o){if(this.isActivated)throw new S(4013,!1);this._activatedRoute=n;const i=this.location,a=n.snapshot.component,l=this.parentContexts.getOrCreateContext(this.name).children,c=new ZF(n,l,i.injector);this.activated=i.createComponent(a,{index:i.length,injector:c,environmentInjector:o??this.environmentInjector}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275dir=B({type:e,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[Nt]}),t})();class ZF{constructor(t,r,n){this.route=t,this.childContexts=r,this.parent=n}get(t,r){return t===Ir?this.route:t===cs?this.childContexts:this.parent.get(t,r)}}const Nl=new x("");let wb=(()=>{var e;class t{constructor(){this.outletDataSubscriptions=new Map}bindActivatedRouteToOutletComponent(n){this.unsubscribeFromRouteData(n),this.subscribeToRouteData(n)}unsubscribeFromRouteData(n){this.outletDataSubscriptions.get(n)?.unsubscribe(),this.outletDataSubscriptions.delete(n)}subscribeToRouteData(n){const{activatedRoute:o}=n,i=Rf([o.queryParams,o.params,o.data]).pipe(Ht(([s,a,l],c)=>(l={...s,...a,...l},0===c?V(l):Promise.resolve(l)))).subscribe(s=>{if(!n.isActivated||!n.activatedComponentRef||n.activatedRoute!==o||null===o.component)return void this.unsubscribeFromRouteData(n);const a=function CO(e){const t=X(e);if(!t)return null;const r=new Ri(t);return{get selector(){return r.selector},get type(){return r.componentType},get inputs(){return r.inputs},get outputs(){return r.outputs},get ngContentSelectors(){return r.ngContentSelectors},get isStandalone(){return t.standalone},get isSignal(){return t.signals}}}(o.component);if(a)for(const{templateName:l}of a.inputs)n.activatedComponentRef.setInput(l,s[l]);else this.unsubscribeFromRouteData(n)});this.outletDataSubscriptions.set(n,i)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac}),t})();function us(e,t,r){if(r&&e.shouldReuseRoute(t.value,r.value.snapshot)){const n=r.value;n._futureSnapshot=t.value;const o=function QF(e,t,r){return t.children.map(n=>{for(const o of r.children)if(e.shouldReuseRoute(n.value,o.value.snapshot))return us(e,n,o);return us(e,n)})}(e,t,r);return new Ln(n,o)}{if(e.shouldAttach(t.value)){const i=e.retrieve(t.value);if(null!==i){const s=i.route;return s.value._futureSnapshot=t.value,s.children=t.children.map(a=>us(e,a)),s}}const n=function XF(e){return new Ir(new At(e.url),new At(e.params),new At(e.queryParams),new At(e.fragment),new At(e.data),e.outlet,e.component,e)}(t.value),o=t.children.map(i=>us(e,i));return new Ln(n,o)}}const nh="ngNavigationCancelingError";function Eb(e,t){const{redirectTo:r,navigationBehaviorOptions:n}=Mr(t)?{redirectTo:t,navigationBehaviorOptions:void 0}:t,o=Mb(!1,0,t);return o.url=r,o.navigationBehaviorOptions=n,o}function Mb(e,t,r){const n=new Error("NavigationCancelingError: "+(e||""));return n[nh]=!0,n.cancellationCode=t,r&&(n.url=r),n}function Ib(e){return e&&e[nh]}let Sb=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275cmp=vt({type:e,selectors:[["ng-component"]],standalone:!0,features:[Mt],decls:1,vars:0,template:function(n,o){1&n&&v(0,"router-outlet")},dependencies:[th],encapsulation:2}),t})();function rh(e){const t=e.children&&e.children.map(rh),r=t?{...e,children:t}:{...e};return!r.component&&!r.loadComponent&&(t||r.loadChildren)&&r.outlet&&r.outlet!==W&&(r.component=Sb),r}function Jt(e){return e.outlet||W}function ds(e){if(!e)return null;if(e.routeConfig?._injector)return e.routeConfig._injector;for(let t=e.parent;t;t=t.parent){const r=t.routeConfig;if(r?._loadedInjector)return r._loadedInjector;if(r?._injector)return r._injector}return null}class i2{constructor(t,r,n,o,i){this.routeReuseStrategy=t,this.futureState=r,this.currState=n,this.forwardEvent=o,this.inputBindingEnabled=i}activate(t){const r=this.futureState._root,n=this.currState?this.currState._root:null;this.deactivateChildRoutes(r,n,t),Kf(this.futureState.root),this.activateChildRoutes(r,n,t)}deactivateChildRoutes(t,r,n){const o=Oo(r);t.children.forEach(i=>{const s=i.value.outlet;this.deactivateRoutes(i,o[s],n),delete o[s]}),Object.values(o).forEach(i=>{this.deactivateRouteAndItsChildren(i,n)})}deactivateRoutes(t,r,n){const o=t.value,i=r?r.value:null;if(o===i)if(o.component){const s=n.getContext(o.outlet);s&&this.deactivateChildRoutes(t,r,s.children)}else this.deactivateChildRoutes(t,r,n);else i&&this.deactivateRouteAndItsChildren(r,n)}deactivateRouteAndItsChildren(t,r){t.value.component&&this.routeReuseStrategy.shouldDetach(t.value.snapshot)?this.detachAndStoreRouteSubtree(t,r):this.deactivateRouteAndOutlet(t,r)}detachAndStoreRouteSubtree(t,r){const n=r.getContext(t.value.outlet),o=n&&t.value.component?n.children:r,i=Oo(t);for(const s of Object.keys(i))this.deactivateRouteAndItsChildren(i[s],o);if(n&&n.outlet){const s=n.outlet.detach(),a=n.children.onOutletDeactivated();this.routeReuseStrategy.store(t.value.snapshot,{componentRef:s,route:t,contexts:a})}}deactivateRouteAndOutlet(t,r){const n=r.getContext(t.value.outlet),o=n&&t.value.component?n.children:r,i=Oo(t);for(const s of Object.keys(i))this.deactivateRouteAndItsChildren(i[s],o);n&&(n.outlet&&(n.outlet.deactivate(),n.children.onOutletDeactivated()),n.attachRef=null,n.route=null)}activateChildRoutes(t,r,n){const o=Oo(r);t.children.forEach(i=>{this.activateRoutes(i,o[i.value.outlet],n),this.forwardEvent(new GF(i.value.snapshot))}),t.children.length&&this.forwardEvent(new BF(t.value.snapshot))}activateRoutes(t,r,n){const o=t.value,i=r?r.value:null;if(Kf(o),o===i)if(o.component){const s=n.getOrCreateContext(o.outlet);this.activateChildRoutes(t,r,s.children)}else this.activateChildRoutes(t,r,n);else if(o.component){const s=n.getOrCreateContext(o.outlet);if(this.routeReuseStrategy.shouldAttach(o.snapshot)){const a=this.routeReuseStrategy.retrieve(o.snapshot);this.routeReuseStrategy.store(o.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),Kf(a.route.value),this.activateChildRoutes(t,null,s.children)}else{const a=ds(o.snapshot);s.attachRef=null,s.route=o,s.injector=a,s.outlet&&s.outlet.activateWith(o,s.injector),this.activateChildRoutes(t,null,s.children)}}else this.activateChildRoutes(t,null,n)}}class Tb{constructor(t){this.path=t,this.route=this.path[this.path.length-1]}}class Ol{constructor(t,r){this.component=t,this.route=r}}function s2(e,t,r){const n=e._root;return fs(n,t?t._root:null,r,[n.value])}function Po(e,t){const r=Symbol(),n=t.get(e,r);return n===r?"function"!=typeof e||function R1(e){return null!==Rs(e)}(e)?t.get(e):e:n}function fs(e,t,r,n,o={canDeactivateChecks:[],canActivateChecks:[]}){const i=Oo(t);return e.children.forEach(s=>{(function l2(e,t,r,n,o={canDeactivateChecks:[],canActivateChecks:[]}){const i=e.value,s=t?t.value:null,a=r?r.getContext(e.value.outlet):null;if(s&&i.routeConfig===s.routeConfig){const l=function c2(e,t,r){if("function"==typeof r)return r(e,t);switch(r){case"pathParamsChange":return!Er(e.url,t.url);case"pathParamsOrQueryParamsChange":return!Er(e.url,t.url)||!fn(e.queryParams,t.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!eh(e,t)||!fn(e.queryParams,t.queryParams);default:return!eh(e,t)}}(s,i,i.routeConfig.runGuardsAndResolvers);l?o.canActivateChecks.push(new Tb(n)):(i.data=s.data,i._resolvedData=s._resolvedData),fs(e,t,i.component?a?a.children:null:r,n,o),l&&a&&a.outlet&&a.outlet.isActivated&&o.canDeactivateChecks.push(new Ol(a.outlet.component,s))}else s&&hs(t,a,o),o.canActivateChecks.push(new Tb(n)),fs(e,null,i.component?a?a.children:null:r,n,o)})(s,i[s.value.outlet],r,n.concat([s.value]),o),delete i[s.value.outlet]}),Object.entries(i).forEach(([s,a])=>hs(a,r.getContext(s),o)),o}function hs(e,t,r){const n=Oo(e),o=e.value;Object.entries(n).forEach(([i,s])=>{hs(s,o.component?t?t.children.getContext(i):null:t,r)}),r.canDeactivateChecks.push(new Ol(o.component&&t&&t.outlet&&t.outlet.isActivated?t.outlet.component:null,o))}function ps(e){return"function"==typeof e}function Ab(e){return e instanceof Cl||"EmptyError"===e?.name}const Pl=Symbol("INITIAL_VALUE");function ko(){return Ht(e=>Rf(e.map(t=>t.pipe(ar(1),function Ek(...e){const t=Yo(e);return Pe((r,n)=>{(t?Nf(e,r,t):Nf(e,r)).subscribe(n)})}(Pl)))).pipe(ee(t=>{for(const r of t)if(!0!==r){if(r===Pl)return Pl;if(!1===r||r instanceof Ro)return r}return!0}),Xt(t=>t!==Pl),ar(1)))}function xb(e){return function OE(...e){return Hh(e)}(Ze(t=>{if(Mr(t))throw Eb(0,t)}),ee(t=>!0===t))}class kl{constructor(t){this.segmentGroup=t||null}}class Rb{constructor(t){this.urlTree=t}}function Fo(e){return Ji(new kl(e))}function Nb(e){return Ji(new Rb(e))}class A2{constructor(t,r){this.urlSerializer=t,this.urlTree=r}noMatchError(t){return new S(4002,!1)}lineralizeSegments(t,r){let n=[],o=r.root;for(;;){if(n=n.concat(o.segments),0===o.numberOfChildren)return V(n);if(o.numberOfChildren>1||!o.children[W])return Ji(new S(4e3,!1));o=o.children[W]}}applyRedirectCommands(t,r,n){return this.applyRedirectCreateUrlTree(r,this.urlSerializer.parse(r),t,n)}applyRedirectCreateUrlTree(t,r,n,o){const i=this.createSegmentGroup(t,r.root,n,o);return new Ro(i,this.createQueryParams(r.queryParams,this.urlTree.queryParams),r.fragment)}createQueryParams(t,r){const n={};return Object.entries(t).forEach(([o,i])=>{if("string"==typeof i&&i.startsWith(":")){const a=i.substring(1);n[o]=r[a]}else n[o]=i}),n}createSegmentGroup(t,r,n,o){const i=this.createSegments(t,r.segments,n,o);let s={};return Object.entries(r.children).forEach(([a,l])=>{s[a]=this.createSegmentGroup(t,l,n,o)}),new ce(i,s)}createSegments(t,r,n,o){return r.map(i=>i.path.startsWith(":")?this.findPosParam(t,i,o):this.findOrReturn(i,n))}findPosParam(t,r,n){const o=n[r.path.substring(1)];if(!o)throw new S(4001,!1);return o}findOrReturn(t,r){let n=0;for(const o of r){if(o.path===t.path)return r.splice(n),o;n++}return t}}const oh={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function x2(e,t,r,n,o){const i=ih(e,t,r);return i.matched?(n=function KF(e,t){return e.providers&&!e._injector&&(e._injector=Od(e.providers,t,`Route: ${e.path}`)),e._injector??t}(t,n),function I2(e,t,r,n){const o=t.canMatch;return o&&0!==o.length?V(o.map(s=>{const a=Po(s,e);return Kn(function g2(e){return e&&ps(e.canMatch)}(a)?a.canMatch(t,r):e.runInContext(()=>a(t,r)))})).pipe(ko(),xb()):V(!0)}(n,t,r).pipe(ee(s=>!0===s?i:{...oh}))):V(i)}function ih(e,t,r){if(""===t.path)return"full"===t.pathMatch&&(e.hasChildren()||r.length>0)?{...oh}:{matched:!0,consumedSegments:[],remainingSegments:r,parameters:{},positionalParamSegments:{}};const o=(t.matcher||lF)(r,e,t);if(!o)return{...oh};const i={};Object.entries(o.posParams??{}).forEach(([a,l])=>{i[a]=l.path});const s=o.consumed.length>0?{...i,...o.consumed[o.consumed.length-1].parameters}:i;return{matched:!0,consumedSegments:o.consumed,remainingSegments:r.slice(o.consumed.length),parameters:s,positionalParamSegments:o.posParams??{}}}function Ob(e,t,r,n){return r.length>0&&function O2(e,t,r){return r.some(n=>Fl(e,t,n)&&Jt(n)!==W)}(e,r,n)?{segmentGroup:new ce(t,N2(n,new ce(r,e.children))),slicedSegments:[]}:0===r.length&&function P2(e,t,r){return r.some(n=>Fl(e,t,n))}(e,r,n)?{segmentGroup:new ce(e.segments,R2(e,0,r,n,e.children)),slicedSegments:r}:{segmentGroup:new ce(e.segments,e.children),slicedSegments:r}}function R2(e,t,r,n,o){const i={};for(const s of n)if(Fl(e,r,s)&&!o[Jt(s)]){const a=new ce([],{});i[Jt(s)]=a}return{...o,...i}}function N2(e,t){const r={};r[W]=t;for(const n of e)if(""===n.path&&Jt(n)!==W){const o=new ce([],{});r[Jt(n)]=o}return r}function Fl(e,t,r){return(!(e.hasChildren()||t.length>0)||"full"!==r.pathMatch)&&""===r.path}class V2{constructor(t,r,n,o,i,s,a){this.injector=t,this.configLoader=r,this.rootComponentType=n,this.config=o,this.urlTree=i,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.allowRedirects=!0,this.applyRedirects=new A2(this.urlSerializer,this.urlTree)}noMatchError(t){return new S(4002,!1)}recognize(){const t=Ob(this.urlTree.root,[],[],this.config).segmentGroup;return this.processSegmentGroup(this.injector,this.config,t,W).pipe(wr(r=>{if(r instanceof Rb)return this.allowRedirects=!1,this.urlTree=r.urlTree,this.match(r.urlTree);throw r instanceof kl?this.noMatchError(r):r}),ee(r=>{const n=new Rl([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},W,this.rootComponentType,null,{}),o=new Ln(n,r),i=new Db("",o),s=function TF(e,t,r=null,n=null){return cb(lb(e),t,r,n)}(n,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,i.url=this.urlSerializer.serialize(s),this.inheritParamsAndData(i._root),{state:i,tree:s}}))}match(t){return this.processSegmentGroup(this.injector,this.config,t.root,W).pipe(wr(n=>{throw n instanceof kl?this.noMatchError(n):n}))}inheritParamsAndData(t){const r=t.value,n=Cb(r,this.paramsInheritanceStrategy);r.params=Object.freeze(n.params),r.data=Object.freeze(n.data),t.children.forEach(o=>this.inheritParamsAndData(o))}processSegmentGroup(t,r,n,o){return 0===n.segments.length&&n.hasChildren()?this.processChildren(t,r,n):this.processSegment(t,r,n,n.segments,o,!0)}processChildren(t,r,n){const o=[];for(const i of Object.keys(n.children))"primary"===i?o.unshift(i):o.push(i);return Ne(o).pipe(Ao(i=>{const s=n.children[i],a=function r2(e,t){const r=e.filter(n=>Jt(n)===t);return r.push(...e.filter(n=>Jt(n)!==t)),r}(r,i);return this.processSegmentGroup(t,a,s,i)}),function Sk(e,t){return Pe(function Ik(e,t,r,n,o){return(i,s)=>{let a=r,l=t,c=0;i.subscribe(Re(s,u=>{const d=c++;l=a?e(l,u,d):(a=!0,u),n&&s.next(l)},o&&(()=>{a&&s.next(l),s.complete()})))}}(e,t,arguments.length>=2,!0))}((i,s)=>(i.push(...s),i)),Dl(null),function Tk(e,t){const r=arguments.length>=2;return n=>n.pipe(e?Xt((o,i)=>e(o,i,n)):jn,Pf(1),r?Dl(t):OD(()=>new Cl))}(),Ve(i=>{if(null===i)return Fo(n);const s=Pb(i);return function j2(e){e.sort((t,r)=>t.value.outlet===W?-1:r.value.outlet===W?1:t.value.outlet.localeCompare(r.value.outlet))}(s),V(s)}))}processSegment(t,r,n,o,i,s){return Ne(r).pipe(Ao(a=>this.processSegmentAgainstRoute(a._injector??t,r,a,n,o,i,s).pipe(wr(l=>{if(l instanceof kl)return V(null);throw l}))),br(a=>!!a),wr(a=>{if(Ab(a))return function F2(e,t,r){return 0===t.length&&!e.children[r]}(n,o,i)?V([]):Fo(n);throw a}))}processSegmentAgainstRoute(t,r,n,o,i,s,a){return function k2(e,t,r,n){return!!(Jt(e)===n||n!==W&&Fl(t,r,e))&&("**"===e.path||ih(t,e,r).matched)}(n,o,i,s)?void 0===n.redirectTo?this.matchSegmentAgainstRoute(t,o,n,i,s,a):a&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(t,o,r,n,i,s):Fo(o):Fo(o)}expandSegmentAgainstRouteUsingRedirect(t,r,n,o,i,s){return"**"===o.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(t,n,o,s):this.expandRegularSegmentAgainstRouteUsingRedirect(t,r,n,o,i,s)}expandWildCardWithParamsAgainstRouteUsingRedirect(t,r,n,o){const i=this.applyRedirects.applyRedirectCommands([],n.redirectTo,{});return n.redirectTo.startsWith("/")?Nb(i):this.applyRedirects.lineralizeSegments(n,i).pipe(Ve(s=>{const a=new ce(s,{});return this.processSegment(t,r,a,s,o,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(t,r,n,o,i,s){const{matched:a,consumedSegments:l,remainingSegments:c,positionalParamSegments:u}=ih(r,o,i);if(!a)return Fo(r);const d=this.applyRedirects.applyRedirectCommands(l,o.redirectTo,u);return o.redirectTo.startsWith("/")?Nb(d):this.applyRedirects.lineralizeSegments(o,d).pipe(Ve(g=>this.processSegment(t,n,r,g.concat(c),s,!1)))}matchSegmentAgainstRoute(t,r,n,o,i,s){let a;if("**"===n.path){const l=o.length>0?XD(o).parameters:{};a=V({snapshot:new Rl(o,l,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,kb(n),Jt(n),n.component??n._loadedComponent??null,n,Fb(n)),consumedSegments:[],remainingSegments:[]}),r.children={}}else a=x2(r,n,o,t).pipe(ee(({matched:l,consumedSegments:c,remainingSegments:u,parameters:d})=>l?{snapshot:new Rl(c,d,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,kb(n),Jt(n),n.component??n._loadedComponent??null,n,Fb(n)),consumedSegments:c,remainingSegments:u}:null));return a.pipe(Ht(l=>null===l?Fo(r):this.getChildConfig(t=n._injector??t,n,o).pipe(Ht(({routes:c})=>{const u=n._loadedInjector??t,{snapshot:d,consumedSegments:g,remainingSegments:m}=l,{segmentGroup:y,slicedSegments:C}=Ob(r,g,m,c);if(0===C.length&&y.hasChildren())return this.processChildren(u,c,y).pipe(ee(E=>null===E?null:[new Ln(d,E)]));if(0===c.length&&0===C.length)return V([new Ln(d,[])]);const b=Jt(n)===i;return this.processSegment(u,c,y,C,b?W:i,!0).pipe(ee(E=>[new Ln(d,E)]))}))))}getChildConfig(t,r,n){return r.children?V({routes:r.children,injector:t}):r.loadChildren?void 0!==r._loadedRoutes?V({routes:r._loadedRoutes,injector:r._loadedInjector}):function M2(e,t,r,n){const o=t.canLoad;return void 0===o||0===o.length?V(!0):V(o.map(s=>{const a=Po(s,e);return Kn(function d2(e){return e&&ps(e.canLoad)}(a)?a.canLoad(t,r):e.runInContext(()=>a(t,r)))})).pipe(ko(),xb())}(t,r,n).pipe(Ve(o=>o?this.configLoader.loadChildren(t,r).pipe(Ze(i=>{r._loadedRoutes=i.routes,r._loadedInjector=i.injector})):function T2(e){return Ji(Mb(!1,3))}())):V({routes:[],injector:t})}}function H2(e){const t=e.value.routeConfig;return t&&""===t.path}function Pb(e){const t=[],r=new Set;for(const n of e){if(!H2(n)){t.push(n);continue}const o=t.find(i=>n.value.routeConfig===i.value.routeConfig);void 0!==o?(o.children.push(...n.children),r.add(o)):t.push(n)}for(const n of r){const o=Pb(n.children);t.push(new Ln(n.value,o))}return t.filter(n=>!r.has(n))}function kb(e){return e.data||{}}function Fb(e){return e.resolve||{}}function Lb(e){return"string"==typeof e.title||null===e.title}function sh(e){return Ht(t=>{const r=e(t);return r?Ne(r).pipe(ee(()=>t)):V(t)})}const Lo=new x("ROUTES");let ah=(()=>{var e;class t{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=A(DC)}loadComponent(n){if(this.componentLoaders.get(n))return this.componentLoaders.get(n);if(n._loadedComponent)return V(n._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(n);const o=Kn(n.loadComponent()).pipe(ee(Vb),Ze(s=>{this.onLoadEndListener&&this.onLoadEndListener(n),n._loadedComponent=s}),Ki(()=>{this.componentLoaders.delete(n)})),i=new ND(o,()=>new Vt).pipe(Of());return this.componentLoaders.set(n,i),i}loadChildren(n,o){if(this.childrenLoaders.get(o))return this.childrenLoaders.get(o);if(o._loadedRoutes)return V({routes:o._loadedRoutes,injector:o._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(o);const s=function W2(e,t,r,n){return Kn(e.loadChildren()).pipe(ee(Vb),Ve(o=>o instanceof S_||Array.isArray(o)?V(o):Ne(t.compileModuleAsync(o))),ee(o=>{n&&n(e);let i,s,a=!1;return Array.isArray(o)?(s=o,!0):(i=o.create(r).injector,s=i.get(Lo,[],{optional:!0,self:!0}).flat()),{routes:s.map(rh),injector:i}}))}(o,this.compiler,n,this.onLoadEndListener).pipe(Ki(()=>{this.childrenLoaders.delete(o)})),a=new ND(s,()=>new Vt).pipe(Of());return this.childrenLoaders.set(o,a),a}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function Vb(e){return function Z2(e){return e&&"object"==typeof e&&"default"in e}(e)?e.default:e}let Ll=(()=>{var e;class t{get hasRequestedNavigation(){return 0!==this.navigationId}constructor(){this.currentNavigation=null,this.currentTransition=null,this.lastSuccessfulNavigation=null,this.events=new Vt,this.transitionAbortSubject=new Vt,this.configLoader=A(ah),this.environmentInjector=A(Dt),this.urlSerializer=A(rs),this.rootContexts=A(cs),this.inputBindingEnabled=null!==A(Nl,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>V(void 0),this.rootComponentType=null,this.configLoader.onLoadEndListener=i=>this.events.next(new HF(i)),this.configLoader.onLoadStartListener=i=>this.events.next(new jF(i))}complete(){this.transitions?.complete()}handleNavigationRequest(n){const o=++this.navigationId;this.transitions?.next({...this.transitions.value,...n,id:o})}setupNavigations(n,o,i){return this.transitions=new At({id:0,currentUrlTree:o,currentRawUrl:o,currentBrowserUrl:o,extractedUrl:n.urlHandlingStrategy.extract(o),urlAfterRedirects:n.urlHandlingStrategy.extract(o),rawUrl:o,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:as,restoredState:null,currentSnapshot:i.snapshot,targetSnapshot:null,currentRouterState:i,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(Xt(s=>0!==s.id),ee(s=>({...s,extractedUrl:n.urlHandlingStrategy.extract(s.rawUrl)})),Ht(s=>{this.currentTransition=s;let a=!1,l=!1;return V(s).pipe(Ze(c=>{this.currentNavigation={id:c.id,initialUrl:c.rawUrl,extractedUrl:c.extractedUrl,trigger:c.source,extras:c.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null}}),Ht(c=>{const u=c.currentBrowserUrl.toString(),d=!n.navigated||c.extractedUrl.toString()!==u||u!==c.currentUrlTree.toString();if(!d&&"reload"!==(c.extras.onSameUrlNavigation??n.onSameUrlNavigation)){const m="";return this.events.next(new No(c.id,this.urlSerializer.serialize(c.rawUrl),m,0)),c.resolve(null),Kt}if(n.urlHandlingStrategy.shouldProcessUrl(c.rawUrl))return V(c).pipe(Ht(m=>{const y=this.transitions?.getValue();return this.events.next(new Al(m.id,this.urlSerializer.serialize(m.extractedUrl),m.source,m.restoredState)),y!==this.transitions?.getValue()?Kt:Promise.resolve(m)}),function U2(e,t,r,n,o,i){return Ve(s=>function L2(e,t,r,n,o,i,s="emptyOnly"){return new V2(e,t,r,n,o,s,i).recognize()}(e,t,r,n,s.extractedUrl,o,i).pipe(ee(({state:a,tree:l})=>({...s,targetSnapshot:a,urlAfterRedirects:l}))))}(this.environmentInjector,this.configLoader,this.rootComponentType,n.config,this.urlSerializer,n.paramsInheritanceStrategy),Ze(m=>{s.targetSnapshot=m.targetSnapshot,s.urlAfterRedirects=m.urlAfterRedirects,this.currentNavigation={...this.currentNavigation,finalUrl:m.urlAfterRedirects};const y=new gb(m.id,this.urlSerializer.serialize(m.extractedUrl),this.urlSerializer.serialize(m.urlAfterRedirects),m.targetSnapshot);this.events.next(y)}));if(d&&n.urlHandlingStrategy.shouldProcessUrl(c.currentRawUrl)){const{id:m,extractedUrl:y,source:C,restoredState:b,extras:E}=c,D=new Al(m,this.urlSerializer.serialize(y),C,b);this.events.next(D);const O=_b(0,this.rootComponentType).snapshot;return this.currentTransition=s={...c,targetSnapshot:O,urlAfterRedirects:y,extras:{...E,skipLocationChange:!1,replaceUrl:!1}},V(s)}{const m="";return this.events.next(new No(c.id,this.urlSerializer.serialize(c.extractedUrl),m,1)),c.resolve(null),Kt}}),Ze(c=>{const u=new kF(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(u)}),ee(c=>(this.currentTransition=s={...c,guards:s2(c.targetSnapshot,c.currentSnapshot,this.rootContexts)},s)),function v2(e,t){return Ve(r=>{const{targetSnapshot:n,currentSnapshot:o,guards:{canActivateChecks:i,canDeactivateChecks:s}}=r;return 0===s.length&&0===i.length?V({...r,guardsResult:!0}):function y2(e,t,r,n){return Ne(e).pipe(Ve(o=>function E2(e,t,r,n,o){const i=t&&t.routeConfig?t.routeConfig.canDeactivate:null;return i&&0!==i.length?V(i.map(a=>{const l=ds(t)??o,c=Po(a,l);return Kn(function p2(e){return e&&ps(e.canDeactivate)}(c)?c.canDeactivate(e,t,r,n):l.runInContext(()=>c(e,t,r,n))).pipe(br())})).pipe(ko()):V(!0)}(o.component,o.route,r,t,n)),br(o=>!0!==o,!0))}(s,n,o,e).pipe(Ve(a=>a&&function u2(e){return"boolean"==typeof e}(a)?function _2(e,t,r,n){return Ne(t).pipe(Ao(o=>Nf(function D2(e,t){return null!==e&&t&&t(new UF(e)),V(!0)}(o.route.parent,n),function C2(e,t){return null!==e&&t&&t(new $F(e)),V(!0)}(o.route,n),function w2(e,t,r){const n=t[t.length-1],i=t.slice(0,t.length-1).reverse().map(s=>function a2(e){const t=e.routeConfig?e.routeConfig.canActivateChild:null;return t&&0!==t.length?{node:e,guards:t}:null}(s)).filter(s=>null!==s).map(s=>RD(()=>V(s.guards.map(l=>{const c=ds(s.node)??r,u=Po(l,c);return Kn(function h2(e){return e&&ps(e.canActivateChild)}(u)?u.canActivateChild(n,e):c.runInContext(()=>u(n,e))).pipe(br())})).pipe(ko())));return V(i).pipe(ko())}(e,o.path,r),function b2(e,t,r){const n=t.routeConfig?t.routeConfig.canActivate:null;if(!n||0===n.length)return V(!0);const o=n.map(i=>RD(()=>{const s=ds(t)??r,a=Po(i,s);return Kn(function f2(e){return e&&ps(e.canActivate)}(a)?a.canActivate(t,e):s.runInContext(()=>a(t,e))).pipe(br())}));return V(o).pipe(ko())}(e,o.route,r))),br(o=>!0!==o,!0))}(n,i,e,t):V(a)),ee(a=>({...r,guardsResult:a})))})}(this.environmentInjector,c=>this.events.next(c)),Ze(c=>{if(s.guardsResult=c.guardsResult,Mr(c.guardsResult))throw Eb(0,c.guardsResult);const u=new FF(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot,!!c.guardsResult);this.events.next(u)}),Xt(c=>!!c.guardsResult||(this.cancelNavigationTransition(c,"",3),!1)),sh(c=>{if(c.guards.canActivateChecks.length)return V(c).pipe(Ze(u=>{const d=new LF(u.id,this.urlSerializer.serialize(u.extractedUrl),this.urlSerializer.serialize(u.urlAfterRedirects),u.targetSnapshot);this.events.next(d)}),Ht(u=>{let d=!1;return V(u).pipe(function B2(e,t){return Ve(r=>{const{targetSnapshot:n,guards:{canActivateChecks:o}}=r;if(!o.length)return V(r);let i=0;return Ne(o).pipe(Ao(s=>function $2(e,t,r,n){const o=e.routeConfig,i=e._resolve;return void 0!==o?.title&&!Lb(o)&&(i[ts]=o.title),function G2(e,t,r,n){const o=function z2(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e)]}(e);if(0===o.length)return V({});const i={};return Ne(o).pipe(Ve(s=>function q2(e,t,r,n){const o=ds(t)??n,i=Po(e,o);return Kn(i.resolve?i.resolve(t,r):o.runInContext(()=>i(t,r)))}(e[s],t,r,n).pipe(br(),Ze(a=>{i[s]=a}))),Pf(1),function Ak(e){return ee(()=>e)}(i),wr(s=>Ab(s)?Kt:Ji(s)))}(i,e,t,n).pipe(ee(s=>(e._resolvedData=s,e.data=Cb(e,r).resolve,o&&Lb(o)&&(e.data[ts]=o.title),null)))}(s.route,n,e,t)),Ze(()=>i++),Pf(1),Ve(s=>i===o.length?V(r):Kt))})}(n.paramsInheritanceStrategy,this.environmentInjector),Ze({next:()=>d=!0,complete:()=>{d||this.cancelNavigationTransition(u,"",2)}}))}),Ze(u=>{const d=new VF(u.id,this.urlSerializer.serialize(u.extractedUrl),this.urlSerializer.serialize(u.urlAfterRedirects),u.targetSnapshot);this.events.next(d)}))}),sh(c=>{const u=d=>{const g=[];d.routeConfig?.loadComponent&&!d.routeConfig._loadedComponent&&g.push(this.configLoader.loadComponent(d.routeConfig).pipe(Ze(m=>{d.component=m}),ee(()=>{})));for(const m of d.children)g.push(...u(m));return g};return Rf(u(c.targetSnapshot.root)).pipe(Dl(),ar(1))}),sh(()=>this.afterPreactivation()),ee(c=>{const u=function YF(e,t,r){const n=us(e,t._root,r?r._root:void 0);return new yb(n,t)}(n.routeReuseStrategy,c.targetSnapshot,c.currentRouterState);return this.currentTransition=s={...c,targetRouterState:u},s}),Ze(()=>{this.events.next(new Zf)}),((e,t,r,n)=>ee(o=>(new i2(t,o.targetRouterState,o.currentRouterState,r,n).activate(e),o)))(this.rootContexts,n.routeReuseStrategy,c=>this.events.next(c),this.inputBindingEnabled),ar(1),Ze({next:c=>{a=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new Fn(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects))),n.titleStrategy?.updateTitle(c.targetRouterState.snapshot),c.resolve(!0)},complete:()=>{a=!0}}),function xk(e){return Pe((t,r)=>{jt(e).subscribe(Re(r,()=>r.complete(),lc)),!r.closed&&t.subscribe(r)})}(this.transitionAbortSubject.pipe(Ze(c=>{throw c}))),Ki(()=>{a||l||this.cancelNavigationTransition(s,"",1),this.currentNavigation?.id===s.id&&(this.currentNavigation=null)}),wr(c=>{if(l=!0,Ib(c))this.events.next(new ls(s.id,this.urlSerializer.serialize(s.extractedUrl),c.message,c.cancellationCode)),function JF(e){return Ib(e)&&Mr(e.url)}(c)?this.events.next(new Yf(c.url)):s.resolve(!1);else{this.events.next(new xl(s.id,this.urlSerializer.serialize(s.extractedUrl),c,s.targetSnapshot??void 0));try{s.resolve(n.errorHandler(c))}catch(u){s.reject(u)}}return Kt}))}))}cancelNavigationTransition(n,o,i){const s=new ls(n.id,this.urlSerializer.serialize(n.extractedUrl),o,i);this.events.next(s),n.resolve(!1)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function jb(e){return e!==as}let Hb=(()=>{var e;class t{buildTitle(n){let o,i=n.root;for(;void 0!==i;)o=this.getResolvedTitleForRoute(i)??o,i=i.children.find(s=>s.outlet===W);return o}getResolvedTitleForRoute(n){return n.data[ts]}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:function(){return A(Y2)},providedIn:"root"}),t})(),Y2=(()=>{var e;class t extends Hb{constructor(n){super(),this.title=n}updateTitle(n){const o=this.buildTitle(n);void 0!==o&&this.title.setTitle(o)}}return(e=t).\u0275fac=function(n){return new(n||e)(F(qD))},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Q2=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:function(){return A(J2)},providedIn:"root"}),t})();class X2{shouldDetach(t){return!1}store(t,r){}shouldAttach(t){return!1}retrieve(t){return null}shouldReuseRoute(t,r){return t.routeConfig===r.routeConfig}}let J2=(()=>{var e;class t extends X2{}return(e=t).\u0275fac=function(){let r;return function(o){return(r||(r=$e(e)))(o||e)}}(),e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const Vl=new x("",{providedIn:"root",factory:()=>({})});let K2=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:function(){return A(eL)},providedIn:"root"}),t})(),eL=(()=>{var e;class t{shouldProcessUrl(n){return!0}extract(n){return n}merge(n,o){return n}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();var gs=function(e){return e[e.COMPLETE=0]="COMPLETE",e[e.FAILED=1]="FAILED",e[e.REDIRECTING=2]="REDIRECTING",e}(gs||{});function Ub(e,t){e.events.pipe(Xt(r=>r instanceof Fn||r instanceof ls||r instanceof xl||r instanceof No),ee(r=>r instanceof Fn||r instanceof No?gs.COMPLETE:r instanceof ls&&(0===r.code||1===r.code)?gs.REDIRECTING:gs.FAILED),Xt(r=>r!==gs.REDIRECTING),ar(1)).subscribe(()=>{t()})}function tL(e){throw e}function nL(e,t,r){return t.parse("/")}const rL={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},oL={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let St=(()=>{var e;class t{get navigationId(){return this.navigationTransitions.navigationId}get browserPageId(){return"computed"!==this.canceledNavigationResolution?this.currentPageId:this.location.getState()?.\u0275routerPageId??this.currentPageId}get events(){return this._events}constructor(){this.disposed=!1,this.currentPageId=0,this.console=A(CC),this.isNgZoneEnabled=!1,this._events=new Vt,this.options=A(Vl,{optional:!0})||{},this.pendingTasks=A(Xa),this.errorHandler=this.options.errorHandler||tL,this.malformedUriErrorHandler=this.options.malformedUriErrorHandler||nL,this.navigated=!1,this.lastSuccessfulId=-1,this.urlHandlingStrategy=A(K2),this.routeReuseStrategy=A(Q2),this.titleStrategy=A(Hb),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.config=A(Lo,{optional:!0})?.flat()??[],this.navigationTransitions=A(Ll),this.urlSerializer=A(rs),this.location=A(hf),this.componentInputBindingEnabled=!!A(Nl,{optional:!0}),this.eventsSubscription=new gt,this.isNgZoneEnabled=A(ge)instanceof ge&&ge.isInAngularZone(),this.resetConfig(this.config),this.currentUrlTree=new Ro,this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.routerState=_b(0,null),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe(n=>{this.lastSuccessfulId=n.id,this.currentPageId=this.browserPageId},n=>{this.console.warn(`Unhandled Navigation Error: ${n}`)}),this.subscribeToNavigationEvents()}subscribeToNavigationEvents(){const n=this.navigationTransitions.events.subscribe(o=>{try{const{currentTransition:i}=this.navigationTransitions;if(null===i)return void(Bb(o)&&this._events.next(o));if(o instanceof Al)jb(i.source)&&(this.browserUrlTree=i.extractedUrl);else if(o instanceof No)this.rawUrlTree=i.rawUrl;else if(o instanceof gb){if("eager"===this.urlUpdateStrategy){if(!i.extras.skipLocationChange){const s=this.urlHandlingStrategy.merge(i.urlAfterRedirects,i.rawUrl);this.setBrowserUrl(s,i)}this.browserUrlTree=i.urlAfterRedirects}}else if(o instanceof Zf)this.currentUrlTree=i.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(i.urlAfterRedirects,i.rawUrl),this.routerState=i.targetRouterState,"deferred"===this.urlUpdateStrategy&&(i.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,i),this.browserUrlTree=i.urlAfterRedirects);else if(o instanceof ls)0!==o.code&&1!==o.code&&(this.navigated=!0),(3===o.code||2===o.code)&&this.restoreHistory(i);else if(o instanceof Yf){const s=this.urlHandlingStrategy.merge(o.url,i.currentRawUrl),a={skipLocationChange:i.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||jb(i.source)};this.scheduleNavigation(s,as,null,a,{resolve:i.resolve,reject:i.reject,promise:i.promise})}o instanceof xl&&this.restoreHistory(i,!0),o instanceof Fn&&(this.navigated=!0),Bb(o)&&this._events.next(o)}catch(i){this.navigationTransitions.transitionAbortSubject.next(i)}});this.eventsSubscription.add(n)}resetRootComponentType(n){this.routerState.root.component=n,this.navigationTransitions.rootComponentType=n}initialNavigation(){if(this.setUpLocationChangeListener(),!this.navigationTransitions.hasRequestedNavigation){const n=this.location.getState();this.navigateToSyncWithBrowser(this.location.path(!0),as,n)}}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(n=>{const o="popstate"===n.type?"popstate":"hashchange";"popstate"===o&&setTimeout(()=>{this.navigateToSyncWithBrowser(n.url,o,n.state)},0)}))}navigateToSyncWithBrowser(n,o,i){const s={replaceUrl:!0},a=i?.navigationId?i:null;if(i){const c={...i};delete c.navigationId,delete c.\u0275routerPageId,0!==Object.keys(c).length&&(s.state=c)}const l=this.parseUrl(n);this.scheduleNavigation(l,o,a,s)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(n){this.config=n.map(rh),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(n,o={}){const{relativeTo:i,queryParams:s,fragment:a,queryParamsHandling:l,preserveFragment:c}=o,u=c?this.currentUrlTree.fragment:a;let g,d=null;switch(l){case"merge":d={...this.currentUrlTree.queryParams,...s};break;case"preserve":d=this.currentUrlTree.queryParams;break;default:d=s||null}null!==d&&(d=this.removeEmptyProps(d));try{g=lb(i?i.snapshot:this.routerState.snapshot.root)}catch{("string"!=typeof n[0]||!n[0].startsWith("/"))&&(n=[]),g=this.currentUrlTree.root}return cb(g,n,d,u??null)}navigateByUrl(n,o={skipLocationChange:!1}){const i=Mr(n)?n:this.parseUrl(n),s=this.urlHandlingStrategy.merge(i,this.rawUrlTree);return this.scheduleNavigation(s,as,null,o)}navigate(n,o={skipLocationChange:!1}){return function iL(e){for(let t=0;t{const s=n[i];return null!=s&&(o[i]=s),o},{})}scheduleNavigation(n,o,i,s,a){if(this.disposed)return Promise.resolve(!1);let l,c,u;a?(l=a.resolve,c=a.reject,u=a.promise):u=new Promise((g,m)=>{l=g,c=m});const d=this.pendingTasks.add();return Ub(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(d))}),this.navigationTransitions.handleNavigationRequest({source:o,restoredState:i,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,currentBrowserUrl:this.browserUrlTree,rawUrl:n,extras:s,resolve:l,reject:c,promise:u,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),u.catch(g=>Promise.reject(g))}setBrowserUrl(n,o){const i=this.urlSerializer.serialize(n);if(this.location.isCurrentPathEqualTo(i)||o.extras.replaceUrl){const a={...o.extras.state,...this.generateNgRouterState(o.id,this.browserPageId)};this.location.replaceState(i,"",a)}else{const s={...o.extras.state,...this.generateNgRouterState(o.id,this.browserPageId+1)};this.location.go(i,"",s)}}restoreHistory(n,o=!1){if("computed"===this.canceledNavigationResolution){const s=this.currentPageId-this.browserPageId;0!==s?this.location.historyGo(s):this.currentUrlTree===this.getCurrentNavigation()?.finalUrl&&0===s&&(this.resetState(n),this.browserUrlTree=n.currentUrlTree,this.resetUrlToCurrentUrlTree())}else"replace"===this.canceledNavigationResolution&&(o&&this.resetState(n),this.resetUrlToCurrentUrlTree())}resetState(n){this.routerState=n.currentRouterState,this.currentUrlTree=n.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,n.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(n,o){return"computed"===this.canceledNavigationResolution?{navigationId:n,\u0275routerPageId:o}:{navigationId:n}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function Bb(e){return!(e instanceof Zf||e instanceof Yf)}let pn=(()=>{var e;class t{constructor(n,o,i,s,a,l){this.router=n,this.route=o,this.tabIndexAttribute=i,this.renderer=s,this.el=a,this.locationStrategy=l,this.href=null,this.commands=null,this.onChanges=new Vt,this.preserveFragment=!1,this.skipLocationChange=!1,this.replaceUrl=!1;const c=a.nativeElement.tagName?.toLowerCase();this.isAnchorElement="a"===c||"area"===c,this.isAnchorElement?this.subscription=n.events.subscribe(u=>{u instanceof Fn&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}setTabIndexIfNotOnNativeEl(n){null!=this.tabIndexAttribute||this.isAnchorElement||this.applyAttributeValue("tabindex",n)}ngOnChanges(n){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}set routerLink(n){null!=n?(this.commands=Array.isArray(n)?n:[n],this.setTabIndexIfNotOnNativeEl("0")):(this.commands=null,this.setTabIndexIfNotOnNativeEl(null))}onClick(n,o,i,s,a){return!!(null===this.urlTree||this.isAnchorElement&&(0!==n||o||i||s||a||"string"==typeof this.target&&"_self"!=this.target))||(this.router.navigateByUrl(this.urlTree,{skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state}),!this.isAnchorElement)}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){this.href=null!==this.urlTree&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(this.urlTree)):null;const n=null===this.href?null:function Sm(e,t,r){return function VI(e,t){return"src"===t&&("embed"===e||"frame"===e||"iframe"===e||"media"===e||"script"===e)||"href"===t&&("base"===e||"link"===e)?Im:ro}(t,r)(e)}(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",n)}applyAttributeValue(n,o){const i=this.renderer,s=this.el.nativeElement;null!==o?i.setAttribute(s,n,o):i.removeAttribute(s,n)}get urlTree(){return null===this.commands?null:this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}}return(e=t).\u0275fac=function(n){return new(n||e)(I(St),I(Ir),function Js(e){return function oM(e,t){if("class"===t)return e.classes;if("style"===t)return e.styles;const r=e.attrs;if(r){const n=r.length;let o=0;for(;o{var e;class t{get isActive(){return this._isActive}constructor(n,o,i,s,a){this.router=n,this.element=o,this.renderer=i,this.cdr=s,this.link=a,this.classes=[],this._isActive=!1,this.routerLinkActiveOptions={exact:!1},this.isActiveChange=new Ee,this.routerEventsSubscription=n.events.subscribe(l=>{l instanceof Fn&&this.update()})}ngAfterContentInit(){V(this.links.changes,V(null)).pipe(Rr()).subscribe(n=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){this.linkInputChangesSubscription?.unsubscribe();const n=[...this.links.toArray(),this.link].filter(o=>!!o).map(o=>o.onChanges);this.linkInputChangesSubscription=Ne(n).pipe(Rr()).subscribe(o=>{this._isActive!==this.isLinkActive(this.router)(o)&&this.update()})}set routerLinkActive(n){const o=Array.isArray(n)?n:n.split(" ");this.classes=o.filter(i=>!!i)}ngOnChanges(n){this.update()}ngOnDestroy(){this.routerEventsSubscription.unsubscribe(),this.linkInputChangesSubscription?.unsubscribe()}update(){!this.links||!this.router.navigated||queueMicrotask(()=>{const n=this.hasActiveLinks();this._isActive!==n&&(this._isActive=n,this.cdr.markForCheck(),this.classes.forEach(o=>{n?this.renderer.addClass(this.element.nativeElement,o):this.renderer.removeClass(this.element.nativeElement,o)}),n&&void 0!==this.ariaCurrentWhenActive?this.renderer.setAttribute(this.element.nativeElement,"aria-current",this.ariaCurrentWhenActive.toString()):this.renderer.removeAttribute(this.element.nativeElement,"aria-current"),this.isActiveChange.emit(n))})}isLinkActive(n){const o=function sL(e){return!!e.paths}(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return i=>!!i.urlTree&&n.isActive(i.urlTree,o)}hasActiveLinks(){const n=this.isLinkActive(this.router);return this.link&&n(this.link)||this.links.some(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(I(St),I(bt),I(Mn),I(tl),I(pn,8))},e.\u0275dir=B({type:e,selectors:[["","routerLinkActive",""]],contentQueries:function(n,o,i){if(1&n&&K_(i,pn,5),2&n){let s;J_(s=function eC(){return function zR(e,t){return e[nn].queries[t].queryList}(M(),dg())}())&&(o.links=s)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],standalone:!0,features:[Nt]}),t})();class Gb{}let aL=(()=>{var e;class t{constructor(n,o,i,s,a){this.router=n,this.injector=i,this.preloadingStrategy=s,this.loader=a}setUpPreloading(){this.subscription=this.router.events.pipe(Xt(n=>n instanceof Fn),Ao(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(n,o){const i=[];for(const s of o){s.providers&&!s._injector&&(s._injector=Od(s.providers,n,`Route: ${s.path}`));const a=s._injector??n,l=s._loadedInjector??a;(s.loadChildren&&!s._loadedRoutes&&void 0===s.canLoad||s.loadComponent&&!s._loadedComponent)&&i.push(this.preloadConfig(a,s)),(s.children||s._loadedRoutes)&&i.push(this.processRoutes(l,s.children??s._loadedRoutes))}return Ne(i).pipe(Rr())}preloadConfig(n,o){return this.preloadingStrategy.preload(o,()=>{let i;i=o.loadChildren&&void 0===o.canLoad?this.loader.loadChildren(n,o):V(null);const s=i.pipe(Ve(a=>null===a?V(void 0):(o._loadedRoutes=a.routes,o._loadedInjector=a.injector,this.processRoutes(a.injector??n,a.routes))));return o.loadComponent&&!o._loadedComponent?Ne([s,this.loader.loadComponent(o)]).pipe(Rr()):s})}}return(e=t).\u0275fac=function(n){return new(n||e)(F(St),F(DC),F(Dt),F(Gb),F(ah))},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const lh=new x("");let zb=(()=>{var e;class t{constructor(n,o,i,s,a={}){this.urlSerializer=n,this.transitions=o,this.viewportScroller=i,this.zone=s,this.options=a,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},a.scrollPositionRestoration=a.scrollPositionRestoration||"disabled",a.anchorScrolling=a.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(n=>{n instanceof Al?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=n.navigationTrigger,this.restoredId=n.restoredState?n.restoredState.navigationId:0):n instanceof Fn?(this.lastId=n.id,this.scheduleScrollEvent(n,this.urlSerializer.parse(n.urlAfterRedirects).fragment)):n instanceof No&&0===n.code&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(n,this.urlSerializer.parse(n.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(n=>{n instanceof mb&&(n.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(n.position):n.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(n.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(n,o){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new mb(n,"popstate"===this.lastSource?this.store[this.restoredId]:null,o))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}}return(e=t).\u0275fac=function(n){!function pv(){throw new Error("invalid")}()},e.\u0275prov=L({token:e,factory:e.\u0275fac}),t})();function Vn(e,t){return{\u0275kind:e,\u0275providers:t}}function Wb(){const e=A(wt);return t=>{const r=e.get(Io);if(t!==r.components[0])return;const n=e.get(St),o=e.get(Zb);1===e.get(ch)&&n.initialNavigation(),e.get(Yb,null,Y.Optional)?.setUpPreloading(),e.get(lh,null,Y.Optional)?.init(),n.resetRootComponentType(r.componentTypes[0]),o.closed||(o.next(),o.complete(),o.unsubscribe())}}const Zb=new x("",{factory:()=>new Vt}),ch=new x("",{providedIn:"root",factory:()=>1}),Yb=new x("");function dL(e){return Vn(0,[{provide:Yb,useExisting:aL},{provide:Gb,useExisting:e}])}const Qb=new x("ROUTER_FORROOT_GUARD"),hL=[hf,{provide:rs,useClass:$f},St,cs,{provide:Ir,useFactory:function qb(e){return e.routerState.root},deps:[St]},ah,[]];function pL(){return new TC("Router",St)}let Xb=(()=>{var e;class t{constructor(n){}static forRoot(n,o){return{ngModule:t,providers:[hL,[],{provide:Lo,multi:!0,useValue:n},{provide:Qb,useFactory:yL,deps:[[St,new ta,new na]]},{provide:Vl,useValue:o||{}},o?.useHash?{provide:Dr,useClass:MO}:{provide:Dr,useClass:rD},{provide:lh,useFactory:()=>{const e=A($P),t=A(ge),r=A(Vl),n=A(Ll),o=A(rs);return r.scrollOffset&&e.setOffset(r.scrollOffset),new zb(o,n,e,t,r)}},o?.preloadingStrategy?dL(o.preloadingStrategy).\u0275providers:[],{provide:TC,multi:!0,useFactory:pL},o?.initialNavigation?_L(o):[],o?.bindToComponentInputs?Vn(8,[wb,{provide:Nl,useExisting:wb}]).\u0275providers:[],[{provide:Jb,useFactory:Wb},{provide:tf,multi:!0,useExisting:Jb}]]}}static forChild(n){return{ngModule:t,providers:[{provide:Lo,multi:!0,useValue:n}]}}}return(e=t).\u0275fac=function(n){return new(n||e)(F(Qb,8))},e.\u0275mod=Cn({type:e}),e.\u0275inj=en({}),t})();function yL(e){return"guarded"}function _L(e){return["disabled"===e.initialNavigation?Vn(3,[{provide:Wd,multi:!0,useFactory:()=>{const t=A(St);return()=>{t.setUpLocationChangeListener()}}},{provide:ch,useValue:2}]).\u0275providers:[],"enabledBlocking"===e.initialNavigation?Vn(2,[{provide:ch,useValue:0},{provide:Wd,multi:!0,deps:[wt],useFactory:t=>{const r=t.get(wO,Promise.resolve());return()=>r.then(()=>new Promise(n=>{const o=t.get(St),i=t.get(Zb);Ub(o,()=>{n(!0)}),t.get(Ll).afterPreactivation=()=>(n(!0),i.closed?V(void 0):i),o.initialNavigation()}))}}]).\u0275providers:[]]}const Jb=new x(""),DL=function(){return["/pro"]};let bL=(()=>{var e;class t{constructor(){this.years=(new Date).getFullYear()-2009}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275cmp=vt({type:e,selectors:[["app-footer"]],standalone:!0,features:[Mt],decls:94,vars:3,consts:[[1,"container-fluid","mt-5"],[1,"p-5"],[1,"container"],[1,"row"],[1,"col-xs-12","col-md-4","text-center"],["src","resources/portrait_600.jpg","alt","Portrait",1,"img-fluid","img-thumbnail","mb-5",2,"max-height","300px"],[1,"col-xs-12","col-md-8"],[1,"fa-solid","fa-heart","githubheart"],["href","https://github.com/sponsors/danielpalme","target","_blank"],[3,"routerLink"],[1,"col-md-3","offset-md-2"],["href","https://github.com/danielpalme/ReportGenerator","target","_blank"],["href","https://github.com/danielpalme/ReportGenerator/wiki","target","_blank"],["href","https://github.com/danielpalme/ReportGenerator/wiki/FAQ","target","_blank"],[1,"col-md-4","mt-4","mt-md-0"],["href","https://www.nuget.org/packages/ReportGenerator","target","_blank"],["href","https://www.nuget.org/packages/dotnet-reportgenerator-globaltool","target","_blank"],["href","https://www.nuget.org/packages/ReportGenerator.Core","target","_blank"],["href","https://github.com/marketplace/actions/reportgenerator","target","_blank"],["href","https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator","target","_blank"],[1,"col-md-3","mt-4","mt-md-0"],[1,"fa-brands","fa-github"],["href","https://twitter.com/danielpalme","target","_blank"],[1,"fa-brands","fa-twitter"],["href","https://www.palmmedia.de/Privacy","target","_blank"],["href","https://www.palmmedia.de/Imprint","target","_blank"]],template:function(n,o){1&n&&(h(0,"footer",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"div",4),v(5,"img",5),p(),h(6,"div",6)(7,"h2"),f(8,"Who's behind"),p(),h(9,"p"),f(10,"My name is Daniel Palme. I'm a software developer from Germany."),p(),h(11,"p"),f(12," Back in 2009 I wanted to create a code coverage report based on "),h(13,"i"),f(14,"PartCover"),p(),f(15," files."),v(16,"br"),f(17," Since no existing tool was able to merge several coverage files and generate a visual appealing report, I decided to create my own."),v(18,"br"),f(19),h(20,"i"),f(21,"ReportGenerator"),p(),f(22,". "),p(),h(23,"p"),f(24," You can support the ongoing maintenance by becoming a "),v(25,"i",7),f(26,"\xa0"),h(27,"a",8),f(28,"GitHub sponsor"),p(),f(29," or by buying a "),h(30,"a",9),f(31,"PRO license"),p(),f(32,". "),p()()()()(),h(33,"div",2)(34,"div",3),v(35,"hr"),p()(),h(36,"div",1)(37,"div",2)(38,"div",3)(39,"div",10)(40,"p")(41,"b"),f(42,"GitHub"),p()(),h(43,"a",11),f(44,"Source code"),p(),v(45,"br"),h(46,"a",12),f(47,"Wiki"),p(),v(48,"br"),h(49,"a",13),f(50,"FAQ"),p()(),h(51,"div",14)(52,"p")(53,"b"),f(54,"Download"),p()(),h(55,"i"),f(56,"NuGet"),p(),v(57,"br"),h(58,"a",15),f(59,"ReportGenerator"),p(),v(60,"br"),h(61,"a",16),f(62,"dotnet-reportgenerator-globaltool"),p(),v(63,"br"),h(64,"a",17),f(65,"ReportGenerator.Core"),p(),v(66,"br")(67,"br"),h(68,"i"),f(69,"Integration"),p(),v(70,"br"),h(71,"a",18),f(72,"GitHub actions"),p(),v(73,"br"),h(74,"a",19),f(75,"Azure DevOps"),p()(),h(76,"div",20)(77,"p")(78,"b"),f(79,"Community"),p()(),h(80,"a",11),v(81,"i",21),f(82," GitHub"),p(),v(83,"br"),h(84,"a",22),v(85,"i",23),f(86," Twitter"),p(),v(87,"br")(88,"br"),h(89,"a",24),f(90,"Privacy"),p(),v(91,"br"),h(92,"a",25),f(93,"Imprint"),p()()()()()()),2&n&&(_(19),xn(" Fast forward ",o.years," years, I'm still maintaining "),_(11),w("routerLink",K(2,DL)))},dependencies:[pn],styles:["footer[_ngcontent-%COMP%]{background-color:#464646}footer[_ngcontent-%COMP%], a[_ngcontent-%COMP%]{color:#fff}"]}),t})();const Kb=function(){return["/"]},wL=function(e){return{show:e}},Vo=function(){return["link-active"]},ew=function(){return{exact:!0}},EL=function(){return["/features"]},ML=function(){return["/getstarted"]},IL=function(){return["/usage"]},SL=function(){return["/contact"]},TL=function(){return["/pro"]};let AL=(()=>{var e;class t{constructor(){this.isExpanded=!1}collapse(){this.isExpanded=!1}toggle(){this.isExpanded=!this.isExpanded}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275cmp=vt({type:e,selectors:[["app-nav-menu"]],standalone:!0,features:[Mt],decls:42,vars:34,consts:[[1,"mb-5"],[1,"navbar","fixed-top","navbar-expand-sm","navbar-toggleable-sm","navbar-light","bg-white","border-bottom","box-shadow","mb-3"],[1,"container-xxl","flex-wrap","flex-md-nowrap"],[1,"navbar-brand",3,"routerLink"],["src","resources/logo.svg","height","40","alt","Icon",1,"me-2"],[1,"d-sm-none","d-md-none","d-lg-inline","ms-2"],["type","button","data-toggle","collapse","data-target",".navbar-collapse","aria-label","Toggle navigation",1,"navbar-toggler",3,"click"],[1,"navbar-toggler-icon"],[1,"navbar-collapse","collapse","d-sm-inline-flex",3,"ngClass"],[1,"navbar-nav","flex-grow"],[1,"nav-item",3,"routerLinkActive","routerLinkActiveOptions"],[1,"nav-link","text-dark",3,"routerLink"],[1,"nav-item",3,"routerLinkActive"],[1,"nav-link","text-dark","text-nowrap",3,"routerLink"],[1,"pro-button"],[1,"d-md-none","text-secondary"],[1,"navbar-nav","flex-row","flex-wrap","ms-md-auto","d-sm-none","d-md-flex"],[1,"nav-item","col-6","col-md-auto"],["href","https://github.com/danielpalme/ReportGenerator","target","_blank","title","GitHub",1,"nav-link","text-dark"],[1,"fa-brands","fa-github"],[1,"d-inline","d-sm-none","ms-2"],["href","https://twitter.com/danielpalme","target","_blank","title","Twitter",1,"nav-link","text-dark"],[1,"fa-brands","fa-twitter"]],template:function(n,o){1&n&&(h(0,"header",0)(1,"nav",1)(2,"div",2)(3,"a",3),v(4,"img",4),h(5,"span",5),f(6,"ReportGenerator"),p()(),h(7,"button",6),R("click",function(){return o.toggle()}),v(8,"span",7),p(),h(9,"div",8)(10,"ul",9)(11,"li",10)(12,"a",11),f(13,"Home"),p()(),h(14,"li",10)(15,"a",11),f(16,"Features"),p()(),h(17,"li",12)(18,"a",13),f(19,"Get started"),p()(),h(20,"li",12)(21,"a",11),f(22,"Usage"),p()(),h(23,"li",12)(24,"a",11),f(25,"Contact"),p()(),h(26,"li",12)(27,"a",11)(28,"span",14),f(29,"PRO"),p()()()(),v(30,"hr",15),h(31,"ul",16)(32,"li",17)(33,"a",18),v(34,"i",19),h(35,"span",20),f(36,"GitHub"),p()()(),h(37,"li",17)(38,"a",21),v(39,"i",22),h(40,"span",20),f(41,"Twitter"),p()()()()()()()()),2&n&&(_(3),w("routerLink",K(17,Kb)),_(4),zt("aria-expanded",o.isExpanded),_(2),w("ngClass",$i(18,wL,o.isExpanded)),_(2),w("routerLinkActive",K(20,Vo))("routerLinkActiveOptions",K(21,ew)),_(1),w("routerLink",K(22,Kb)),_(2),w("routerLinkActive",K(23,Vo))("routerLinkActiveOptions",K(24,ew)),_(1),w("routerLink",K(25,EL)),_(2),w("routerLinkActive",K(26,Vo)),_(1),w("routerLink",K(27,ML)),_(2),w("routerLinkActive",K(28,Vo)),_(1),w("routerLink",K(29,IL)),_(2),w("routerLinkActive",K(30,Vo)),_(1),w("routerLink",K(31,SL)),_(2),w("routerLinkActive",K(32,Vo)),_(1),w("routerLink",K(33,TL)))},dependencies:[pn,ml,$b],styles:[".box-shadow[_ngcontent-%COMP%]{box-shadow:0 .25rem .75rem #0000000d}@keyframes _ngcontent-%COMP%_pro-button-animation{0%{background-color:var(--rg-primary-color);background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%)}50%{background-color:vvar(--rg-primary-hover-color);background-image:linear-gradient(50deg,var(--rg-gradient-hover-from) 0%,var(--rg-gradient-hover-from) 100%);box-shadow:0 0 6px 1px var(--rg-primary-color)}to{background-color:var(--rg-primary-color);background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%)}}.pro-button[_ngcontent-%COMP%]{animation-name:_ngcontent-%COMP%_pro-button-animation;animation-duration:2s;animation-iteration-count:2}.pro-button[_ngcontent-%COMP%]:hover, .link-active[_ngcontent-%COMP%] .pro-button[_ngcontent-%COMP%]{background-color:var(--rg-primary-hover-color);background-image:linear-gradient(50deg,var(--rg-gradient-hover-from) 0%,var(--rg-gradient-hover-from) 100%);box-shadow:0 0 6px 1px var(--rg-primary-color)}.nav-link[_ngcontent-%COMP%]{text-transform:uppercase;font-weight:500}.nav-link[_ngcontent-%COMP%]:hover{text-decoration:underline;text-underline-offset:2px}.link-active[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:var(--rg-primary-hover-color)!important;font-weight:400}"]}),t})(),xL=(()=>{var e;class t{constructor(n,o,i){this.dom=n,this.router=o,this.activatedRoute=i}ngOnInit(){this.router.events.pipe(Xt(n=>n instanceof Fn),ee(()=>this.activatedRoute),ee(n=>{for(;n.firstChild;)n=n.firstChild;return n}),Xt(n=>"primary"===n.outlet),Ve(n=>n.data)).subscribe(n=>{const o=`${window.location.protocol}//${window.location.hostname}`;this.updateCanonicalUrl(n.canonical?o+n.canonical:o+this.router.url)})}updateCanonicalUrl(n){const o=this.dom.getElementsByTagName("head")[0];var i=this.dom.querySelector("link[rel='canonical']")||null;null==i&&(i=this.dom.createElement("link"),o.appendChild(i)),i.setAttribute("rel","canonical"),i.setAttribute("href",n)}}return(e=t).\u0275fac=function(n){return new(n||e)(I(pt),I(St),I(Ir))},e.\u0275cmp=vt({type:e,selectors:[["app-root"]],standalone:!0,features:[Mt],decls:3,vars:0,template:function(n,o){1&n&&v(0,"app-nav-menu")(1,"router-outlet")(2,"app-footer")},dependencies:[AL,th,bL],encapsulation:2}),t})(),tw=(()=>{var e;class t{constructor(n,o){this._renderer=n,this._elementRef=o,this.onChange=i=>{},this.onTouched=()=>{}}setProperty(n,o){this._renderer.setProperty(this._elementRef.nativeElement,n,o)}registerOnTouched(n){this.onTouched=n}registerOnChange(n){this.onChange=n}setDisabledState(n){this.setProperty("disabled",n)}}return(e=t).\u0275fac=function(n){return new(n||e)(I(Mn),I(bt))},e.\u0275dir=B({type:e}),t})(),Sr=(()=>{var e;class t extends tw{}return(e=t).\u0275fac=function(){let r;return function(o){return(r||(r=$e(e)))(o||e)}}(),e.\u0275dir=B({type:e,features:[le]}),t})();const gn=new x("NgValueAccessor"),OL={provide:gn,useExisting:fe(()=>jo),multi:!0},kL=new x("CompositionEventMode");let jo=(()=>{var e;class t extends tw{constructor(n,o,i){super(n,o),this._compositionMode=i,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function PL(){const e=Xn()?Xn().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(n){this.setProperty("value",n??"")}_handleInput(n){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(n)}_compositionStart(){this._composing=!0}_compositionEnd(n){this._composing=!1,this._compositionMode&&this.onChange(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(I(Mn),I(bt),I(kL,8))},e.\u0275dir=B({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(n,o){1&n&&R("input",function(s){return o._handleInput(s.target.value)})("blur",function(){return o.onTouched()})("compositionstart",function(){return o._compositionStart()})("compositionend",function(s){return o._compositionEnd(s.target.value)})},features:[De([OL]),le]}),t})();function er(e){return null==e||("string"==typeof e||Array.isArray(e))&&0===e.length}const Ye=new x("NgValidators"),tr=new x("NgAsyncValidators"),FL=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;function sw(e){return er(e.value)?{required:!0}:null}function lw(e){return er(e.value)||FL.test(e.value)?null:{email:!0}}function jl(e){return null}function fw(e){return null!=e}function hw(e){return Fi(e)?Ne(e):e}function pw(e){let t={};return e.forEach(r=>{t=null!=r?{...t,...r}:t}),0===Object.keys(t).length?null:t}function gw(e,t){return t.map(r=>r(e))}function mw(e){return e.map(t=>function LL(e){return!e.validate}(t)?t:r=>t.validate(r))}function uh(e){return null!=e?function vw(e){if(!e)return null;const t=e.filter(fw);return 0==t.length?null:function(r){return pw(gw(r,t))}}(mw(e)):null}function dh(e){return null!=e?function yw(e){if(!e)return null;const t=e.filter(fw);return 0==t.length?null:function(r){return function RL(...e){const t=op(e),{args:r,keys:n}=SD(e),o=new Ie(i=>{const{length:s}=r;if(!s)return void i.complete();const a=new Array(s);let l=s,c=s;for(let u=0;u{d||(d=!0,c--),a[u]=g},()=>l--,void 0,()=>{(!l||!d)&&(c||i.next(n?AD(n,a):a),i.complete())}))}});return t?o.pipe(TD(t)):o}(gw(r,t).map(hw)).pipe(ee(pw))}}(mw(e)):null}function _w(e,t){return null===e?[t]:Array.isArray(e)?[...e,t]:[e,t]}function fh(e){return e?Array.isArray(e)?e:[e]:[]}function Hl(e,t){return Array.isArray(e)?e.includes(t):e===t}function bw(e,t){const r=fh(t);return fh(e).forEach(o=>{Hl(r,o)||r.push(o)}),r}function ww(e,t){return fh(t).filter(r=>!Hl(e,r))}class Ew{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(t){this._rawValidators=t||[],this._composedValidatorFn=uh(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=dh(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t=void 0){this.control&&this.control.reset(t)}hasError(t,r){return!!this.control&&this.control.hasError(t,r)}getError(t,r){return this.control?this.control.getError(t,r):null}}class ot extends Ew{get formDirective(){return null}get path(){return null}}class nr extends Ew{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class Mw{constructor(t){this._cd=t}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let Ul=(()=>{var e;class t extends Mw{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(I(nr,2))},e.\u0275dir=B({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(n,o){2&n&&Ba("ng-untouched",o.isUntouched)("ng-touched",o.isTouched)("ng-pristine",o.isPristine)("ng-dirty",o.isDirty)("ng-valid",o.isValid)("ng-invalid",o.isInvalid)("ng-pending",o.isPending)},features:[le]}),t})(),Bl=(()=>{var e;class t extends Mw{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(I(ot,10))},e.\u0275dir=B({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(n,o){2&n&&Ba("ng-untouched",o.isUntouched)("ng-touched",o.isTouched)("ng-pristine",o.isPristine)("ng-dirty",o.isDirty)("ng-valid",o.isValid)("ng-invalid",o.isInvalid)("ng-pending",o.isPending)("ng-submitted",o.isSubmitted)},features:[le]}),t})();const ms="VALID",Gl="INVALID",Ho="PENDING",vs="DISABLED";function gh(e){return(zl(e)?e.validators:e)||null}function mh(e,t){return(zl(t)?t.asyncValidators:e)||null}function zl(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}class Aw{constructor(t,r){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(t),this._assignAsyncValidators(r)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===ms}get invalid(){return this.status===Gl}get pending(){return this.status==Ho}get disabled(){return this.status===vs}get enabled(){return this.status!==vs}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(bw(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(bw(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(ww(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(ww(t,this._rawAsyncValidators))}hasValidator(t){return Hl(this._rawValidators,t)}hasAsyncValidator(t){return Hl(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(r=>{r.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(r=>{r.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=Ho,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const r=this._parentMarkedDirty(t.onlySelf);this.status=vs,this.errors=null,this._forEachChild(n=>{n.disable({...t,onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:r}),this._onDisabledChange.forEach(n=>n(!0))}enable(t={}){const r=this._parentMarkedDirty(t.onlySelf);this.status=ms,this._forEachChild(n=>{n.enable({...t,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:r}),this._onDisabledChange.forEach(n=>n(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===ms||this.status===Ho)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(r=>r._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?vs:ms}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=Ho,this._hasOwnPendingAsyncValidator=!0;const r=hw(this.asyncValidator(this));this._asyncValidationSubscription=r.subscribe(n=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(n,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,r={}){this.errors=t,this._updateControlsErrors(!1!==r.emitEvent)}get(t){let r=t;return null==r||(Array.isArray(r)||(r=r.split(".")),0===r.length)?null:r.reduce((n,o)=>n&&n._find(o),this)}getError(t,r){const n=r?this.get(r):this;return n&&n.errors?n.errors[t]:null}hasError(t,r){return!!this.getError(t,r)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Ee,this.statusChanges=new Ee}_calculateStatus(){return this._allControlsDisabled()?vs:this.errors?Gl:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(Ho)?Ho:this._anyControlsHaveStatus(Gl)?Gl:ms}_anyControlsHaveStatus(t){return this._anyControls(r=>r.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){zl(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=function UL(e){return Array.isArray(e)?uh(e):e||null}(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=function BL(e){return Array.isArray(e)?dh(e):e||null}(this._rawAsyncValidators)}}class vh extends Aw{constructor(t,r,n){super(gh(r),mh(n,r)),this.controls=t,this._initObservables(),this._setUpdateStrategy(r),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,r){return this.controls[t]?this.controls[t]:(this.controls[t]=r,r.setParent(this),r._registerOnCollectionChange(this._onCollectionChange),r)}addControl(t,r,n={}){this.registerControl(t,r),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(t,r={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:r.emitEvent}),this._onCollectionChange()}setControl(t,r,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],r&&this.registerControl(t,r),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,r={}){(function Tw(e,t,r){e._forEachChild((n,o)=>{if(void 0===r[o])throw new S(1002,"")})})(this,0,t),Object.keys(t).forEach(n=>{(function Sw(e,t,r){const n=e.controls;if(!(t?Object.keys(n):n).length)throw new S(1e3,"");if(!n[r])throw new S(1001,"")})(this,!0,n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:r.emitEvent})}),this.updateValueAndValidity(r)}patchValue(t,r={}){null!=t&&(Object.keys(t).forEach(n=>{const o=this.controls[n];o&&o.patchValue(t[n],{onlySelf:!0,emitEvent:r.emitEvent})}),this.updateValueAndValidity(r))}reset(t={},r={}){this._forEachChild((n,o)=>{n.reset(t[o],{onlySelf:!0,emitEvent:r.emitEvent})}),this._updatePristine(r),this._updateTouched(r),this.updateValueAndValidity(r)}getRawValue(){return this._reduceChildren({},(t,r,n)=>(t[n]=r.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(r,n)=>!!n._syncPendingControls()||r);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(r=>{const n=this.controls[r];n&&t(n,r)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const[r,n]of Object.entries(this.controls))if(this.contains(r)&&t(n))return!0;return!1}_reduceValue(){return this._reduceChildren({},(r,n,o)=>((n.enabled||this.disabled)&&(r[o]=n.value),r))}_reduceChildren(t,r){let n=t;return this._forEachChild((o,i)=>{n=r(n,o,i)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}}const Uo=new x("CallSetDisabledState",{providedIn:"root",factory:()=>ql}),ql="always";function ys(e,t,r=ql){yh(e,t),t.valueAccessor.writeValue(e.value),(e.disabled||"always"===r)&&t.valueAccessor.setDisabledState?.(e.disabled),function zL(e,t){t.valueAccessor.registerOnChange(r=>{e._pendingValue=r,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&xw(e,t)})}(e,t),function WL(e,t){const r=(n,o)=>{t.valueAccessor.writeValue(n),o&&t.viewToModelUpdate(n)};e.registerOnChange(r),t._registerOnDestroy(()=>{e._unregisterOnChange(r)})}(e,t),function qL(e,t){t.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&xw(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),function GL(e,t){if(t.valueAccessor.setDisabledState){const r=n=>{t.valueAccessor.setDisabledState(n)};e.registerOnDisabledChange(r),t._registerOnDestroy(()=>{e._unregisterOnDisabledChange(r)})}}(e,t)}function Yl(e,t){e.forEach(r=>{r.registerOnValidatorChange&&r.registerOnValidatorChange(t)})}function yh(e,t){const r=function Cw(e){return e._rawValidators}(e);null!==t.validator?e.setValidators(_w(r,t.validator)):"function"==typeof r&&e.setValidators([r]);const n=function Dw(e){return e._rawAsyncValidators}(e);null!==t.asyncValidator?e.setAsyncValidators(_w(n,t.asyncValidator)):"function"==typeof n&&e.setAsyncValidators([n]);const o=()=>e.updateValueAndValidity();Yl(t._rawValidators,o),Yl(t._rawAsyncValidators,o)}function xw(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}const JL={provide:ot,useExisting:fe(()=>Bo)},_s=(()=>Promise.resolve())();let Bo=(()=>{var e;class t extends ot{constructor(n,o,i){super(),this.callSetDisabledState=i,this.submitted=!1,this._directives=new Set,this.ngSubmit=new Ee,this.form=new vh({},uh(n),dh(o))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(n){_s.then(()=>{const o=this._findContainer(n.path);n.control=o.registerControl(n.name,n.control),ys(n.control,n,this.callSetDisabledState),n.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(n)})}getControl(n){return this.form.get(n.path)}removeControl(n){_s.then(()=>{const o=this._findContainer(n.path);o&&o.removeControl(n.name),this._directives.delete(n)})}addFormGroup(n){_s.then(()=>{const o=this._findContainer(n.path),i=new vh({});(function Rw(e,t){yh(e,t)})(i,n),o.registerControl(n.name,i),i.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(n){_s.then(()=>{const o=this._findContainer(n.path);o&&o.removeControl(n.name)})}getFormGroup(n){return this.form.get(n.path)}updateModel(n,o){_s.then(()=>{this.form.get(n.path).setValue(o)})}setValue(n){this.control.setValue(n)}onSubmit(n){return this.submitted=!0,function Nw(e,t){e._syncPendingControls(),t.forEach(r=>{const n=r.control;"submit"===n.updateOn&&n._pendingChange&&(r.viewToModelUpdate(n._pendingValue),n._pendingChange=!1)})}(this.form,this._directives),this.ngSubmit.emit(n),"dialog"===n?.target?.method}onReset(){this.resetForm()}resetForm(n=void 0){this.form.reset(n),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(n){return n.pop(),n.length?this.form.get(n):this.form}}return(e=t).\u0275fac=function(n){return new(n||e)(I(Ye,10),I(tr,10),I(Uo,8))},e.\u0275dir=B({type:e,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(n,o){1&n&&R("submit",function(s){return o.onSubmit(s)})("reset",function(){return o.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[De([JL]),le]}),t})();function Ow(e,t){const r=e.indexOf(t);r>-1&&e.splice(r,1)}function Pw(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const kw=class extends Aw{constructor(t=null,r,n){super(gh(r),mh(n,r)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(t),this._setUpdateStrategy(r),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),zl(r)&&(r.nonNullable||r.initialValueIsDefault)&&(this.defaultValue=Pw(t)?t.value:t)}setValue(t,r={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==r.emitModelToViewChange&&this._onChange.forEach(n=>n(this.value,!1!==r.emitViewToModelChange)),this.updateValueAndValidity(r)}patchValue(t,r={}){this.setValue(t,r)}reset(t=this.defaultValue,r={}){this._applyFormState(t),this.markAsPristine(r),this.markAsUntouched(r),this.setValue(this.value,r),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){Ow(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){Ow(this._onDisabledChange,t)}_forEachChild(t){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(t){Pw(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}},tV={provide:nr,useExisting:fe(()=>Cs)},Vw=(()=>Promise.resolve())();let Cs=(()=>{var e;class t extends nr{constructor(n,o,i,s,a,l){super(),this._changeDetectorRef=a,this.callSetDisabledState=l,this.control=new kw,this._registered=!1,this.name="",this.update=new Ee,this._parent=n,this._setValidators(o),this._setAsyncValidators(i),this.valueAccessor=function Dh(e,t){if(!t)return null;let r,n,o;return Array.isArray(t),t.forEach(i=>{i.constructor===jo?r=i:function QL(e){return Object.getPrototypeOf(e.constructor)===Sr}(i)?n=i:o=i}),o||n||r||null}(0,s)}ngOnChanges(n){if(this._checkForErrors(),!this._registered||"name"in n){if(this._registered&&(this._checkName(),this.formDirective)){const o=n.name.previousValue;this.formDirective.removeControl({name:o,path:this._getPath(o)})}this._setUpControl()}"isDisabled"in n&&this._updateDisabled(n),function Ch(e,t){if(!e.hasOwnProperty("model"))return!1;const r=e.model;return!!r.isFirstChange()||!Object.is(t,r.currentValue)}(n,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(n){this.viewModel=n,this.update.emit(n)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){ys(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(n){Vw.then(()=>{this.control.setValue(n,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(n){const o=n.isDisabled.currentValue,i=0!==o&&So(o);Vw.then(()=>{i&&!this.control.disabled?this.control.disable():!i&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(n){return this._parent?function Wl(e,t){return[...t.path,e]}(n,this._parent):[n]}}return(e=t).\u0275fac=function(n){return new(n||e)(I(ot,9),I(Ye,10),I(tr,10),I(gn,10),I(tl,8),I(Uo,8))},e.\u0275dir=B({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[De([tV]),le,Nt]}),t})(),Xl=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275dir=B({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})();const rV={provide:gn,useExisting:fe(()=>bh),multi:!0};let Hw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Cn({type:e}),e.\u0275inj=en({}),t})(),oV=(()=>{var e;class t{constructor(){this._accessors=[]}add(n,o){this._accessors.push([n,o])}remove(n){for(let o=this._accessors.length-1;o>=0;--o)if(this._accessors[o][1]===n)return void this._accessors.splice(o,1)}select(n){this._accessors.forEach(o=>{this._isSameGroup(o,n)&&o[1]!==n&&o[1].fireUncheck(n.value)})}_isSameGroup(n,o){return!!n[0].control&&n[0]._parent===o._control._parent&&n[1].name===o.name}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:Hw}),t})(),bh=(()=>{var e;class t extends Sr{constructor(n,o,i,s){super(n,o),this._registry=i,this._injector=s,this.setDisabledStateFired=!1,this.onChange=()=>{},this.callSetDisabledState=A(Uo,{optional:!0})??ql}ngOnInit(){this._control=this._injector.get(nr),this._checkName(),this._registry.add(this._control,this)}ngOnDestroy(){this._registry.remove(this)}writeValue(n){this._state=n===this.value,this.setProperty("checked",this._state)}registerOnChange(n){this._fn=n,this.onChange=()=>{n(this.value),this._registry.select(this)}}setDisabledState(n){(this.setDisabledStateFired||n||"whenDisabledForLegacyCode"===this.callSetDisabledState)&&this.setProperty("disabled",n),this.setDisabledStateFired=!0}fireUncheck(n){this.writeValue(n)}_checkName(){!this.name&&this.formControlName&&(this.name=this.formControlName)}}return(e=t).\u0275fac=function(n){return new(n||e)(I(Mn),I(bt),I(oV),I(wt))},e.\u0275dir=B({type:e,selectors:[["input","type","radio","formControlName",""],["input","type","radio","formControl",""],["input","type","radio","ngModel",""]],hostBindings:function(n,o){1&n&&R("change",function(){return o.onChange()})("blur",function(){return o.onTouched()})},inputs:{name:"name",formControlName:"formControlName",value:"value"},features:[De([rV]),le]}),t})();const dV={provide:gn,useExisting:fe(()=>Jl),multi:!0};function qw(e,t){return null==e?`${t}`:(t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let Jl=(()=>{var e;class t extends Sr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){this.value=n;const i=qw(this._getOptionId(n),n);this.setProperty("value",i)}registerOnChange(n){this.onChange=o=>{this.value=this._getOptionValue(o),n(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(n){for(const o of this._optionMap.keys())if(this._compareWith(this._optionMap.get(o),n))return o;return null}_getOptionValue(n){const o=function fV(e){return e.split(":")[0]}(n);return this._optionMap.has(o)?this._optionMap.get(o):n}}return(e=t).\u0275fac=function(){let r;return function(o){return(r||(r=$e(e)))(o||e)}}(),e.\u0275dir=B({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(n,o){1&n&&R("change",function(s){return o.onChange(s.target.value)})("blur",function(){return o.onTouched()})},inputs:{compareWith:"compareWith"},features:[De([dV]),le]}),t})(),Ww=(()=>{var e;class t{constructor(n,o,i){this._element=n,this._renderer=o,this._select=i,this._select&&(this.id=this._select._registerOption())}set ngValue(n){null!=this._select&&(this._select._optionMap.set(this.id,n),this._setElementValue(qw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._setElementValue(n),this._select&&this._select.writeValue(this._select.value)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(I(bt),I(Mn),I(Jl,9))},e.\u0275dir=B({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})();const hV={provide:gn,useExisting:fe(()=>Ih),multi:!0};function Zw(e,t){return null==e?`${t}`:("string"==typeof t&&(t=`'${t}'`),t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let Ih=(()=>{var e;class t extends Sr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){let o;if(this.value=n,Array.isArray(n)){const i=n.map(s=>this._getOptionId(s));o=(s,a)=>{s._setSelected(i.indexOf(a.toString())>-1)}}else o=(i,s)=>{i._setSelected(!1)};this._optionMap.forEach(o)}registerOnChange(n){this.onChange=o=>{const i=[],s=o.selectedOptions;if(void 0!==s){const a=s;for(let l=0;l{var e;class t{constructor(n,o,i){this._element=n,this._renderer=o,this._select=i,this._select&&(this.id=this._select._registerOption(this))}set ngValue(n){null!=this._select&&(this._value=n,this._setElementValue(Zw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._select?(this._value=n,this._setElementValue(Zw(this.id,n)),this._select.writeValue(this._select.value)):this._setElementValue(n)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}_setSelected(n){this._renderer.setProperty(this._element.nativeElement,"selected",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(I(bt),I(Mn),I(Ih,9))},e.\u0275dir=B({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})();let Tr=(()=>{var e;class t{constructor(){this._validator=jl}ngOnChanges(n){if(this.inputName in n){const o=this.normalizeInput(n[this.inputName].currentValue);this._enabled=this.enabled(o),this._validator=this._enabled?this.createValidator(o):jl,this._onChange&&this._onChange()}}validate(n){return this._validator(n)}registerOnValidatorChange(n){this._onChange=n}enabled(n){return null!=n}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275dir=B({type:e,features:[Nt]}),t})();const vV={provide:Ye,useExisting:fe(()=>$o),multi:!0};let $o=(()=>{var e;class t extends Tr{constructor(){super(...arguments),this.inputName="required",this.normalizeInput=So,this.createValidator=n=>sw}enabled(n){return n}}return(e=t).\u0275fac=function(){let r;return function(o){return(r||(r=$e(e)))(o||e)}}(),e.\u0275dir=B({type:e,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(n,o){2&n&&zt("required",o._enabled?"":null)},inputs:{required:"required"},features:[De([vV]),le]}),t})();const _V={provide:Ye,useExisting:fe(()=>Kl),multi:!0};let Kl=(()=>{var e;class t extends Tr{constructor(){super(...arguments),this.inputName="email",this.normalizeInput=So,this.createValidator=n=>lw}enabled(n){return n}}return(e=t).\u0275fac=function(){let r;return function(o){return(r||(r=$e(e)))(o||e)}}(),e.\u0275dir=B({type:e,selectors:[["","email","","formControlName",""],["","email","","formControl",""],["","email","","ngModel",""]],inputs:{email:"email"},features:[De([_V]),le]}),t})();const DV={provide:Ye,useExisting:fe(()=>Sh),multi:!0};let Sh=(()=>{var e;class t extends Tr{constructor(){super(...arguments),this.inputName="maxlength",this.normalizeInput=n=>function Qw(e){return"number"==typeof e?e:parseInt(e,10)}(n),this.createValidator=n=>function uw(e){return t=>function rw(e){return null!=e&&"number"==typeof e.length}(t.value)&&t.value.length>e?{maxlength:{requiredLength:e,actualLength:t.value.length}}:null}(n)}}return(e=t).\u0275fac=function(){let r;return function(o){return(r||(r=$e(e)))(o||e)}}(),e.\u0275dir=B({type:e,selectors:[["","maxlength","","formControlName",""],["","maxlength","","formControl",""],["","maxlength","","ngModel",""]],hostVars:1,hostBindings:function(n,o){2&n&&zt("maxlength",o._enabled?o.maxlength:null)},inputs:{maxlength:"maxlength"},features:[De([DV]),le]}),t})();const bV={provide:Ye,useExisting:fe(()=>Th),multi:!0};let Th=(()=>{var e;class t extends Tr{constructor(){super(...arguments),this.inputName="pattern",this.normalizeInput=n=>n,this.createValidator=n=>function dw(e){if(!e)return jl;let t,r;return"string"==typeof e?(r="","^"!==e.charAt(0)&&(r+="^"),r+=e,"$"!==e.charAt(e.length-1)&&(r+="$"),t=new RegExp(r)):(r=e.toString(),t=e),n=>{if(er(n.value))return null;const o=n.value;return t.test(o)?null:{pattern:{requiredPattern:r,actualValue:o}}}}(n)}}return(e=t).\u0275fac=function(){let r;return function(o){return(r||(r=$e(e)))(o||e)}}(),e.\u0275dir=B({type:e,selectors:[["","pattern","","formControlName",""],["","pattern","","formControl",""],["","pattern","","ngModel",""]],hostVars:1,hostBindings:function(n,o){2&n&&zt("pattern",o._enabled?o.pattern:null)},inputs:{pattern:"pattern"},features:[De([bV]),le]}),t})(),wV=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Cn({type:e}),e.\u0275inj=en({imports:[Hw]}),t})(),ec=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Uo,useValue:n.callSetDisabledState??ql}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Cn({type:e}),e.\u0275inj=en({imports:[wV]}),t})();class tc{}class nc{}class mn{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?"string"==typeof t?this.lazyInit=()=>{this.headers=new Map,t.split("\n").forEach(r=>{const n=r.indexOf(":");if(n>0){const o=r.slice(0,n),i=o.toLowerCase(),s=r.slice(n+1).trim();this.maybeSetNormalizedName(o,i),this.headers.has(i)?this.headers.get(i).push(s):this.headers.set(i,[s])}})}:typeof Headers<"u"&&t instanceof Headers?(this.headers=new Map,t.forEach((r,n)=>{this.setHeaderEntries(n,r)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(t).forEach(([r,n])=>{this.setHeaderEntries(r,n)})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const r=this.headers.get(t.toLowerCase());return r&&r.length>0?r[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,r){return this.clone({name:t,value:r,op:"a"})}set(t,r){return this.clone({name:t,value:r,op:"s"})}delete(t,r){return this.clone({name:t,value:r,op:"d"})}maybeSetNormalizedName(t,r){this.normalizedNames.has(r)||this.normalizedNames.set(r,t)}init(){this.lazyInit&&(this.lazyInit instanceof mn?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(r=>{this.headers.set(r,t.headers.get(r)),this.normalizedNames.set(r,t.normalizedNames.get(r))})}clone(t){const r=new mn;return r.lazyInit=this.lazyInit&&this.lazyInit instanceof mn?this.lazyInit:this,r.lazyUpdate=(this.lazyUpdate||[]).concat([t]),r}applyUpdate(t){const r=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,r);const o=("a"===t.op?this.headers.get(r):void 0)||[];o.push(...n),this.headers.set(r,o);break;case"d":const i=t.value;if(i){let s=this.headers.get(r);if(!s)return;s=s.filter(a=>-1===i.indexOf(a)),0===s.length?(this.headers.delete(r),this.normalizedNames.delete(r)):this.headers.set(r,s)}else this.headers.delete(r),this.normalizedNames.delete(r)}}setHeaderEntries(t,r){const n=(Array.isArray(r)?r:[r]).map(i=>i.toString()),o=t.toLowerCase();this.headers.set(o,n),this.maybeSetNormalizedName(t,o)}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(r=>t(this.normalizedNames.get(r),this.headers.get(r)))}}class MV{encodeKey(t){return nE(t)}encodeValue(t){return nE(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const SV=/%(\d[a-f0-9])/gi,TV={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function nE(e){return encodeURIComponent(e).replace(SV,(t,r)=>TV[r]??t)}function rc(e){return`${e}`}class rr{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new MV,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function IV(e,t){const r=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(o=>{const i=o.indexOf("="),[s,a]=-1==i?[t.decodeKey(o),""]:[t.decodeKey(o.slice(0,i)),t.decodeValue(o.slice(i+1))],l=r.get(s)||[];l.push(a),r.set(s,l)}),r}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(r=>{const n=t.fromObject[r],o=Array.isArray(n)?n.map(rc):[rc(n)];this.map.set(r,o)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const r=this.map.get(t);return r?r[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,r){return this.clone({param:t,value:r,op:"a"})}appendAll(t){const r=[];return Object.keys(t).forEach(n=>{const o=t[n];Array.isArray(o)?o.forEach(i=>{r.push({param:n,value:i,op:"a"})}):r.push({param:n,value:o,op:"a"})}),this.clone(r)}set(t,r){return this.clone({param:t,value:r,op:"s"})}delete(t,r){return this.clone({param:t,value:r,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const r=this.encoder.encodeKey(t);return this.map.get(t).map(n=>r+"="+this.encoder.encodeValue(n)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const r=new rr({encoder:this.encoder});return r.cloneFrom=this.cloneFrom||this,r.updates=(this.updates||[]).concat(t),r}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const r=("a"===t.op?this.map.get(t.param):void 0)||[];r.push(rc(t.value)),this.map.set(t.param,r);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let n=this.map.get(t.param)||[];const o=n.indexOf(rc(t.value));-1!==o&&n.splice(o,1),n.length>0?this.map.set(t.param,n):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class AV{constructor(){this.map=new Map}set(t,r){return this.map.set(t,r),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}}function rE(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function oE(e){return typeof Blob<"u"&&e instanceof Blob}function iE(e){return typeof FormData<"u"&&e instanceof FormData}class Ds{constructor(t,r,n,o){let i;if(this.url=r,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function xV(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||o?(this.body=void 0!==n?n:null,i=o):i=n,i&&(this.reportProgress=!!i.reportProgress,this.withCredentials=!!i.withCredentials,i.responseType&&(this.responseType=i.responseType),i.headers&&(this.headers=i.headers),i.context&&(this.context=i.context),i.params&&(this.params=i.params)),this.headers||(this.headers=new mn),this.context||(this.context=new AV),this.params){const s=this.params.toString();if(0===s.length)this.urlWithParams=r;else{const a=r.indexOf("?");this.urlWithParams=r+(-1===a?"?":ad.set(g,t.setHeaders[g]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((d,g)=>d.set(g,t.setParams[g]),c)),new Ds(r,n,i,{params:c,headers:l,context:u,reportProgress:a,responseType:o,withCredentials:s})}}var Go=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}(Go||{});class Ah{constructor(t,r=200,n="OK"){this.headers=t.headers||new mn,this.status=void 0!==t.status?t.status:r,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class xh extends Ah{constructor(t={}){super(t),this.type=Go.ResponseHeader}clone(t={}){return new xh({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class zo extends Ah{constructor(t={}){super(t),this.type=Go.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new zo({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class sE extends Ah{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function Rh(e,t){return{body:t,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let Nh=(()=>{var e;class t{constructor(n){this.handler=n}request(n,o,i={}){let s;if(n instanceof Ds)s=n;else{let c,u;c=i.headers instanceof mn?i.headers:new mn(i.headers),i.params&&(u=i.params instanceof rr?i.params:new rr({fromObject:i.params})),s=new Ds(n,o,void 0!==i.body?i.body:null,{headers:c,context:i.context,params:u,reportProgress:i.reportProgress,responseType:i.responseType||"json",withCredentials:i.withCredentials})}const a=V(s).pipe(Ao(c=>this.handler.handle(c)));if(n instanceof Ds||"events"===i.observe)return a;const l=a.pipe(Xt(c=>c instanceof zo));switch(i.observe||"body"){case"body":switch(s.responseType){case"arraybuffer":return l.pipe(ee(c=>{if(null!==c.body&&!(c.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return c.body}));case"blob":return l.pipe(ee(c=>{if(null!==c.body&&!(c.body instanceof Blob))throw new Error("Response is not a Blob.");return c.body}));case"text":return l.pipe(ee(c=>{if(null!==c.body&&"string"!=typeof c.body)throw new Error("Response is not a string.");return c.body}));default:return l.pipe(ee(c=>c.body))}case"response":return l;default:throw new Error(`Unreachable: unhandled observe type ${i.observe}}`)}}delete(n,o={}){return this.request("DELETE",n,o)}get(n,o={}){return this.request("GET",n,o)}head(n,o={}){return this.request("HEAD",n,o)}jsonp(n,o){return this.request("JSONP",n,{params:(new rr).append(o,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(n,o={}){return this.request("OPTIONS",n,o)}patch(n,o,i={}){return this.request("PATCH",n,Rh(i,o))}post(n,o,i={}){return this.request("POST",n,Rh(i,o))}put(n,o,i={}){return this.request("PUT",n,Rh(i,o))}}return(e=t).\u0275fac=function(n){return new(n||e)(F(tc))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),t})();function cE(e,t){return t(e)}function OV(e,t){return(r,n)=>t.intercept(r,{handle:o=>e(o,n)})}const kV=new x(""),bs=new x(""),uE=new x("");function FV(){let e=null;return(t,r)=>{null===e&&(e=(A(kV,{optional:!0})??[]).reduceRight(OV,cE));const n=A(Xa),o=n.add();return e(t,r).pipe(Ki(()=>n.remove(o)))}}let dE=(()=>{var e;class t extends tc{constructor(n,o){super(),this.backend=n,this.injector=o,this.chain=null,this.pendingTasks=A(Xa)}handle(n){if(null===this.chain){const i=Array.from(new Set([...this.injector.get(bs),...this.injector.get(uE,[])]));this.chain=i.reduceRight((s,a)=>function PV(e,t,r){return(n,o)=>r.runInContext(()=>t(n,i=>e(i,o)))}(s,a,this.injector),cE)}const o=this.pendingTasks.add();return this.chain(n,i=>this.backend.handle(i)).pipe(Ki(()=>this.pendingTasks.remove(o)))}}return(e=t).\u0275fac=function(n){return new(n||e)(F(nc),F(Dt))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),t})();const HV=/^\)\]\}',?\n/;let hE=(()=>{var e;class t{constructor(n){this.xhrFactory=n}handle(n){if("JSONP"===n.method)throw new S(-2800,!1);const o=this.xhrFactory;return(o.\u0275loadImpl?Ne(o.\u0275loadImpl()):V(null)).pipe(Ht(()=>new Ie(s=>{const a=o.build();if(a.open(n.method,n.urlWithParams),n.withCredentials&&(a.withCredentials=!0),n.headers.forEach((b,E)=>a.setRequestHeader(b,E.join(","))),n.headers.has("Accept")||a.setRequestHeader("Accept","application/json, text/plain, */*"),!n.headers.has("Content-Type")){const b=n.detectContentTypeHeader();null!==b&&a.setRequestHeader("Content-Type",b)}if(n.responseType){const b=n.responseType.toLowerCase();a.responseType="json"!==b?b:"text"}const l=n.serializeBody();let c=null;const u=()=>{if(null!==c)return c;const b=a.statusText||"OK",E=new mn(a.getAllResponseHeaders()),D=function UV(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(a)||n.url;return c=new xh({headers:E,status:a.status,statusText:b,url:D}),c},d=()=>{let{headers:b,status:E,statusText:D,url:O}=u(),N=null;204!==E&&(N=typeof a.response>"u"?a.responseText:a.response),0===E&&(E=N?200:0);let Z=E>=200&&E<300;if("json"===n.responseType&&"string"==typeof N){const Ge=N;N=N.replace(HV,"");try{N=""!==N?JSON.parse(N):null}catch(Tt){N=Ge,Z&&(Z=!1,N={error:Tt,text:N})}}Z?(s.next(new zo({body:N,headers:b,status:E,statusText:D,url:O||void 0})),s.complete()):s.error(new sE({error:N,headers:b,status:E,statusText:D,url:O||void 0}))},g=b=>{const{url:E}=u(),D=new sE({error:b,status:a.status||0,statusText:a.statusText||"Unknown Error",url:E||void 0});s.error(D)};let m=!1;const y=b=>{m||(s.next(u()),m=!0);let E={type:Go.DownloadProgress,loaded:b.loaded};b.lengthComputable&&(E.total=b.total),"text"===n.responseType&&a.responseText&&(E.partialText=a.responseText),s.next(E)},C=b=>{let E={type:Go.UploadProgress,loaded:b.loaded};b.lengthComputable&&(E.total=b.total),s.next(E)};return a.addEventListener("load",d),a.addEventListener("error",g),a.addEventListener("timeout",g),a.addEventListener("abort",g),n.reportProgress&&(a.addEventListener("progress",y),null!==l&&a.upload&&a.upload.addEventListener("progress",C)),a.send(l),s.next({type:Go.Sent}),()=>{a.removeEventListener("error",g),a.removeEventListener("abort",g),a.removeEventListener("load",d),a.removeEventListener("timeout",g),n.reportProgress&&(a.removeEventListener("progress",y),null!==l&&a.upload&&a.upload.removeEventListener("progress",C)),a.readyState!==a.DONE&&a.abort()}})))}}return(e=t).\u0275fac=function(n){return new(n||e)(F(bD))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),t})();const Oh=new x("XSRF_ENABLED"),pE=new x("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),gE=new x("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class mE{}let GV=(()=>{var e;class t{constructor(n,o,i){this.doc=n,this.platform=o,this.cookieName=i,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const n=this.doc.cookie||"";return n!==this.lastCookieString&&(this.parseCount++,this.lastToken=hD(n,this.cookieName),this.lastCookieString=n),this.lastToken}}return(e=t).\u0275fac=function(n){return new(n||e)(F(pt),F(gr),F(pE))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),t})();function zV(e,t){const r=e.url.toLowerCase();if(!A(Oh)||"GET"===e.method||"HEAD"===e.method||r.startsWith("http://")||r.startsWith("https://"))return t(e);const n=A(mE).getToken(),o=A(gE);return null!=n&&!e.headers.has(o)&&(e=e.clone({headers:e.headers.set(o,n)})),t(e)}var or=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(or||{});const vE=new x("LEGACY_INTERCEPTOR_FN");class KV{constructor(){this.name="",this.email="",this.message=""}}let yE=(()=>{var e;class t{constructor(n){this.httpClient=n}postContactForm(n){return this.httpClient.post(`${ve_apiBaseUrl}contact`,n)}}return(e=t).\u0275fac=function(n){return new(n||e)(F(Nh))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),t})();function e3(e,t){if(1&e){const r=Ae();h(0,"form",5,6),R("ngSubmit",function(){return ne(r),re(k().submit())}),h(2,"div",7)(3,"label",8),f(4,"Name "),h(5,"span",9),f(6,"*"),p()(),h(7,"input",10),R("ngModelChange",function(o){return ne(r),re(k().contactViewModel.name=o)}),p()(),h(8,"div",7)(9,"label",11),f(10,"Email address "),h(11,"span",9),f(12,"*"),p()(),h(13,"input",12),R("ngModelChange",function(o){return ne(r),re(k().contactViewModel.email=o)}),p()(),h(14,"div",7)(15,"label",13),f(16,"Message "),h(17,"span",9),f(18,"*"),p()(),h(19,"textarea",14),R("ngModelChange",function(o){return ne(r),re(k().contactViewModel.message=o)}),p()(),h(20,"button",15),f(21,"Submit"),p()()}if(2&e){const r=_d(1),n=k();_(7),w("ngModel",n.contactViewModel.name),_(6),w("ngModel",n.contactViewModel.email),_(6),w("ngModel",n.contactViewModel.message),_(1),w("disabled",!r.valid||n.enableFormCountDown>0)}}function t3(e,t){1&e&&(h(0,"p"),f(1,"Thanks for your message."),p())}function n3(e,t){1&e&&(h(0,"p",16),f(1,"Something went wrong. Please try again later."),p())}let r3=(()=>{var e;class t{constructor(n){this.contactService=n,this.contactViewModel=new KV,this.success=!1,this.error=!1,this.enableFormCountDown=100,this.intervalId=null}ngOnInit(){this.intervalId=setInterval(()=>{this.enableFormCountDown-=1,0===this.enableFormCountDown&&clearInterval(this.intervalId)},50)}ngOnDestroy(){this.intervalId&&clearInterval(this.intervalId)}submit(){this.contactService.postContactForm(this.contactViewModel).subscribe({next:n=>{console.log("Submitted form"),this.success=!0},error:n=>{console.error(n),this.error=!0},complete:()=>console.info("complete")})}}return(e=t).\u0275fac=function(n){return new(n||e)(I(yE))},e.\u0275cmp=vt({type:e,selectors:[["app-contact-component"]],standalone:!0,features:[Mt],decls:6,vars:3,consts:[[1,"container"],[1,"mb-4"],["method","post",3,"ngSubmit",4,"ngIf"],[4,"ngIf"],["class","text-danger",4,"ngIf"],["method","post",3,"ngSubmit"],["contactForm","ngForm"],[1,"mb-3"],["for","Name"],[1,"required"],["type","text","id","Name","name","Name","required","",1,"form-control",3,"ngModel","ngModelChange"],["for","Email"],["type","email","id","Email","name","Email","email","","required","",1,"form-control",3,"ngModel","ngModelChange"],["for","Message"],["rows","7","id","Message","name","Message","required","",1,"form-control",3,"ngModel","ngModelChange"],["type","submit",1,"btn","btn-primary",3,"disabled"],[1,"text-danger"]],template:function(n,o){1&n&&(h(0,"div",0)(1,"h1",1),f(2,"Contact"),p(),P(3,e3,22,4,"form",2),P(4,t3,2,0,"p",3),P(5,n3,2,0,"p",4),p()),2&n&&(_(3),w("ngIf",!o.success&&!o.error),_(1),w("ngIf",o.success),_(1),w("ngIf",o.error))},dependencies:[vl,ec,Xl,jo,Ul,Bl,$o,Kl,Cs,Bo]}),t})();const _E=function(){return["/pro"]};let o3=(()=>{var e;class t{scrollToAnchor(n){return document.querySelector(n)?.scrollIntoView(!0),!1}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275cmp=vt({type:e,selectors:[["app-features-component"]],standalone:!0,features:[Mt],decls:131,vars:4,consts:[[1,"container"],[1,"mb-4"],["id","coveragequota"],[1,"pro-text"],["href","https://en.wikipedia.org/wiki/Code_coverage","target","_blank"],[1,"fa-solid","fa-arrow-up-right-from-square"],[3,"routerLink"],[1,"pro-button","pro-button-tiny"],["loading","lazy","srcset","resources/features/quota@1x.webp 1x, resources/features/quota@2x.webp 2x","src","resources/features/quota1x.webp","alt","Coverage quotas",1,"img-fluid"],["id","coveragehistory",1,"mt-5"],["loading","lazy","srcset","resources/features/history@1x.webp 1x, resources/features/history@2x.webp 2x","src","resources/features/history@1x.webp","alt","Coverage history",1,"img-fluid"],["id","summary",1,"mt-5"],["loading","lazy","srcset","resources/features/summary@1x.webp 1x, resources/features/summary@2x.webp 2x","src","resources/features/summary.webp","alt","Summary table / Overview",1,"img-fluid"],["id","details",1,"mt-5"],["loading","lazy","srcset","resources/features/details@1x.webp 1x, resources/features/details@2x.webp 2x","src","resources/features/details.webp","alt","Details",1,"img-fluid"],["id","metrics",1,"mt-5"],["href","https://github.com/danielpalme/ReportGenerator/wiki/FAQ#which-coverage-tool-supports-which-features-in-the-html-report","target","_blank"],["href","",3,"click"],["loading","lazy","srcset","resources/features/metrics_details@1x.webp 1x, resources/features/metrics_details@2x.webp 2x","src","resources/features/metrics_details.webp","alt","Metrics - Details",1,"img-fluid"],["loading","lazy","srcset","resources/features/metrics_summary@1x.webp 1x, resources/features/metrics_summary@2x.webp 2x","src","resources/features/metrics_summary.webp","alt","Metrics - Summary",1,"img-fluid"],["id","riskhotspots",1,"mt-5"],["href","https://en.wikipedia.org/wiki/Cyclomatic_complexity","target","_blank"],["href","https://modess.io/npath-complexity-cyclomatic-complexity-explained","target","_blank"],["href","https://testing.googleblog.com/2011/02/this-code-is-crap.html","target","_blank"],["loading","lazy","srcset","resources/features/riskhotspots@1x.webp 1x, resources/features/riskhotspots@2x.webp 2x","src","resources/features/riskhotspots.webp","alt","Risk Hotspots",1,"img-fluid"]],template:function(n,o){1&n&&(h(0,"div",0)(1,"h1",1),f(2,"Features"),p(),h(3,"h2",2),f(4,"Coverage quotas"),p(),h(5,"p"),f(6," The overiew cards provide a quick "),h(7,"span",3),f(8,"overview"),p(),f(9," of your coverage quotas."),v(10,"br"),f(11," You can use them to get a glimpse into the different "),h(12,"a",4),f(13,"coverage metrics"),p(),f(14,"\xa0"),h(15,"a",4),v(16,"i",5),p(),f(17,": "),p(),h(18,"ul")(19,"li"),f(20,"Line coverage"),p(),h(21,"li"),f(22,"Branch coverage"),p(),h(23,"li"),f(24,"Method coverage "),h(25,"a",6)(26,"span",7),f(27,"PRO"),p()()()(),v(28,"img",8)(29,"br"),h(30,"h2",9),f(31,"Coverage history"),p(),h(32,"p"),f(33," The history chart helps you to understand how your coverage quotas are "),h(34,"span",3),f(35,"evolving over time"),p(),f(36,". "),p(),v(37,"img",10)(38,"br"),h(39,"h2",11),f(40,"Summary table / Overview"),p(),h(41,"p"),f(42," The summary table helps you to identify classes with "),h(43,"span",3),f(44,"low test coverage"),p(),f(45,"."),v(46,"br"),f(47," The table offers various "),h(48,"span",3),f(49,"filter and sorting"),p(),f(50," options for quick navigation. "),p(),v(51,"img",12)(52,"br"),h(53,"h2",13),f(54,"Details page"),p(),h(55,"p"),f(56," The details page visualizes your "),h(57,"span",3),f(58,"line and branch coverage"),p(),f(59,". "),p(),h(60,"ul")(61,"li"),f(62,"Colors indicate the coverage status of each line."),p(),h(63,"li"),f(64,"Branch indicators help you to identity uncovered conditions."),p()(),v(65,"img",14)(66,"br"),h(67,"h2",15),f(68,"Metrics"),p(),h(69,"p"),f(70," Depending on your "),h(71,"a",16),f(72,"coverage tool"),p(),f(73,", metrics are provided to get further insigths in your "),h(74,"span",3),f(75,"code quality"),p(),f(76,". "),p(),h(77,"ul")(78,"li"),f(79,"The "),h(80,"a",17),R("click",function(){return o.scrollToAnchor("#details")}),f(81,"details page"),p(),f(82," contains information about the metrics of all methods of a class."),p(),h(83,"li"),f(84,"The "),h(85,"a",17),R("click",function(){return o.scrollToAnchor("#summary")}),f(86,"summary table"),p(),f(87," shows the lowest metrics of all methods of a class "),h(88,"a",6)(89,"span",7),f(90,"PRO"),p()()()(),h(91,"b"),f(92,"Details page"),p(),v(93,"br")(94,"img",18)(95,"br")(96,"br"),h(97,"b"),f(98,"Summary table"),p(),v(99,"br")(100,"img",19)(101,"br"),h(102,"h2",20),f(103,"Risk Hotspots"),p(),h(104,"p"),f(105," Based on the "),h(106,"a",17),R("click",function(){return o.scrollToAnchor("#metrics")}),f(107,"metrics"),p(),f(108," you get a list of potential risk hotspots."),v(109,"br"),f(110," The following metrics are analyzed if available, the warning thresholds are configurable: "),p(),h(111,"ul")(112,"li")(113,"a",21),f(114,"Cyclomatic complexity"),p(),f(115,"\xa0"),h(116,"a",21),v(117,"i",5),p()(),h(118,"li")(119,"a",22),f(120,"NPath complexity"),p(),f(121,"\xa0"),h(122,"a",22),v(123,"i",5),p()(),h(124,"li")(125,"a",23),f(126,"Crap score"),p(),f(127,"\xa0"),h(128,"a",23),v(129,"i",5),p()()(),v(130,"img",24),p()),2&n&&(_(25),w("routerLink",K(2,_E)),_(63),w("routerLink",K(3,_E)))},dependencies:[pn]}),t})();const Lt={dotnetSDKVersion:"6.x",majorVersion:"5",version:"5.1.26"},i3=function(){return["/usage"]};let s3=(()=>{var e;class t{constructor(){this.versions=Lt}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275cmp=vt({type:e,selectors:[["app-getstarted"]],standalone:!0,features:[Mt],decls:72,vars:6,consts:[[1,"container"],[1,"mb-4"],[3,"routerLink"],["id","net",1,"mt-5"],["href","https://github.com/coverlet-coverage/coverlet"],["href","https://github.com/SteveGilham/altcover"],[1,"text-dark","bg-light","p-2","border"],["id","java",1,"mt-5"],["href","https://github.com/jacoco/jacoco"],["id","nodejs",1,"mt-5"],["href","https://github.com/istanbuljs/nyc"]],template:function(n,o){1&n&&(h(0,"div",0)(1,"h1",1),f(2,"Get started"),p(),h(3,"h2"),f(4,"General"),p(),h(5,"p"),f(6,"In general you need a tool that instruments your test code and collects coverage information."),v(7,"br"),f(8,"This information is typically stored in a XML file (e.g. in Cobertura format)."),v(9,"br"),h(10,"em"),f(11,"ReportGenerator"),p(),f(12," uses this file and generates a report in HTML format (other formats are available)."),p(),h(13,"p"),f(14,"Use the online "),h(15,"a",2),f(16,"configuration tool"),p(),f(17," to get started quickly."),p(),h(18,"h2",3),f(19,".NET"),p(),h(20,"p"),f(21,"For .NET you can use "),h(22,"a",4),f(23,"coverlet"),p(),f(24," or "),h(25,"a",5),f(26,"altcover"),p(),f(27," for instrumenting your test code."),p(),h(28,"p"),f(29,"After adding the dependencies to your project, you can execute your tests and generate the coverage report."),p(),h(30,"p")(31,"strong"),f(32,"Add dependencies to your "),h(33,"code"),f(34,"*.csproj"),p(),f(35," file:"),p()(),h(36,"pre",6),f(37),p(),h(38,"p")(39,"strong"),f(40,"Execute tests and create coverage report"),p()(),h(41,"pre",6),f(42),p(),h(43,"h2",7),f(44,"Java"),p(),h(45,"p"),f(46,"For Java you can use "),h(47,"a",8),f(48,"JaCoCo"),p(),f(49," for instrumenting your test code.\nAfter adding JaCoCo to your project (here with Maven), you can execute your tests and generate the coverage report."),p(),h(50,"p")(51,"strong"),f(52,"Add dependencies to your "),h(53,"code"),f(54,"pom.xml"),p(),f(55," file:"),p()(),h(56,"pre",6),f(57,"\n \n \n \n org.jacoco\n jacoco-maven-plugin\n 0.8.6\n \n \n \n prepare-agent\n \n \n \n report\n prepare-package\n \n report\n \n \n \n \n \n \n \n \n \n org.jacoco\n jacoco-maven-plugin\n \n \n \n report\n \n \n \n \n \n \n\n"),p(),h(58,"p")(59,"strong"),f(60,"Execute tests and create coverage report"),p()(),h(61,"pre",6),f(62),p(),h(63,"h2",9),f(64,"NodeJS"),p(),h(65,"p"),f(66,"For NodeJS you can use "),h(67,"a",10),f(68,"Istanbul"),p(),f(69," for instrumenting your test code.\nAfter installing Istanbul, you can execute your tests and generate the coverage report."),p(),h(70,"pre",6),f(71),p()()),2&n&&(_(15),w("routerLink",K(5,i3)),_(22),xn('\n \n runtime; build; native; contentfiles; analyzers; buildtransitive\n all\n \n \n \n \n all\n runtime; build; native; contentfiles; analyzers\n \n\n'),_(5),xn('dotnet test --collect:"XPlat Code Coverage"\n"%UserProfile%\\.nuget\\packages\\reportgenerator\\',o.versions.version,'\\tools\\net6.0\\ReportGenerator.exe" -reports:*\\TestResults\\*\\coverage.cobertura.xml -targetdir:coveragereport\n'),_(20),xn("mvn test jacoco:report\n\ndotnet tool update dotnet-reportgenerator-globaltool --tool-path tools --version ",o.versions.version,"\ntools\\reportgenerator -reports:target\\site\\jacoco\\jacoco.xml -targetdir:coveragereport -sourcedirs:src\\main\\java\n"),_(9),xn("npm i nyc --save-dev\nnyc --reporter=coberatura mocha\n\ndotnet tool update dotnet-reportgenerator-globaltool --tool-path tools --version ",o.versions.version,"\ntools\\reportgenerator -reports:coverage/cobertura-coverage.xml -targetdir:coveragereport\n"))},dependencies:[pn]}),t})(),CE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275cmp=vt({type:e,selectors:[["app-testimonials"]],standalone:!0,features:[Mt],decls:30,vars:0,consts:[[1,"container-fluid","mt-5","pt-5","pb-5","bg-light"],[1,"container"],[1,"text-center"],[1,"row","mt-5"],[1,"col","text-center"],[1,"fa-brands","fa-microsoft","h1","text-secondary"],["href","https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/code-coverage.md","target","_blank",1,"text-dark","d-none","d-lg-block"],[1,"fa-brands","fa-google","h1","text-secondary"],["href","https://github.com/GoogleCloudPlatform/iam-windows-authenticator","target","_blank",1,"text-dark","d-none","d-lg-block"],[1,"fa-brands","fa-aws","h1","text-secondary"],["href","https://github.com/aws/aws-encryption-sdk-dafny/blob/mainline/aws-encryption-sdk-net/README.md","target","_blank",1,"text-dark","d-none","d-lg-block"],[1,"col","text-center","d-none","d-lg-block"],[1,"fa-solid","fa-heart","h1","text-secondary"],["href","https://github.com/danielpalme/ReportGenerator/network/dependents","target","_blank",1,"text-dark"],["href","https://www.nuget.org/packages?q=ReportGenerator+danielpalme","target","_blank",1,"btn","btn-outline-secondary"],[1,"fa-solid","fa-download"]],template:function(n,o){1&n&&(h(0,"section",0)(1,"div",1)(2,"h2",2),f(3,"Trusted by"),p(),h(4,"div",3)(5,"div",4),v(6,"i",5)(7,"br"),h(8,"a",6),f(9,".NET Runtime"),p()(),h(10,"div",4),v(11,"i",7)(12,"br"),h(13,"a",8),f(14,"Google Cloud"),p()(),h(15,"div",4),v(16,"i",9)(17,"br"),h(18,"a",10),f(19,"AWS Encryption SDK"),p()(),h(20,"div",11),v(21,"i",12)(22,"br"),h(23,"a",13),f(24,"Many more"),p()()(),h(25,"div",3)(26,"div",4)(27,"a",14),v(28,"i",15),f(29," Over 50 million downloads on Nuget"),p()()()()())},encapsulation:2}),t})();const a3=function(){return["/pro"]},l3=function(){return["/usage"]},c3=function(){return["/getstarted"]},u3=function(){return["/features"]};let d3=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275cmp=vt({type:e,selectors:[["app-home"]],standalone:!0,features:[Mt],decls:114,vars:8,consts:[[1,"container"],[1,"row"],[1,"col-4","col-md-3"],["src","resources/logo.svg","alt","Logo ReportGenerator",1,"img-fluid"],[1,"col-xs-12","col-md-9","ps-4"],[1,"mt-5"],[1,"line","btn-primary"],[1,"mt-4","h5"],[1,"pro-text"],["href","resources/reports/Html/index.html","target","_blank",1,"btn","btn-primary","me-2","mb-2"],[1,"fa-solid","fa-eye"],[1,"row","mt-5"],[1,"col-sm-12","col-md-4"],[1,"icon"],[1,"fa-solid","fa-scale-balanced"],[1,"h5","ms-3","mt-3"],[1,"mt-3"],[3,"routerLink"],[1,"col-sm-12","col-md-4","mt-4","mt-md-0"],[1,"fa-solid","fa-lightbulb"],[1,"fa-solid","fa-plug"],["href","https://github.com/marketplace/actions/reportgenerator","target","_blank"],["href","https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator","target","_blank"],[1,"col"],[1,"btn","btn-primary","me-2","mb-2",3,"routerLink"],[1,"fa-solid","fa-wrench"],["href","https://github.com/danielpalme/ReportGenerator","target","_blank",1,"btn","btn-outline-dark","mb-2"],[1,"fa-brands","fa-github"],[1,"container-fluid","mt-5","pt-5","pb-5"],["href","resources/reports/Html/index.html","target","_blank"],["href","https://danielpalme.github.io/ReportGenerator/resources/SampleReports.zip"],[1,"col-sm-12","col-md-6","pb-2"],["href","resources/screenshot1@2x.webp"],["loading","lazy","srcset","resources/screenshot1.webp 1x, resources/screenshot1@2x.webp 2x","src","resources/screenshot1.webp","alt","Screenshot",1,"img-fluid"],[1,"col-sm-12","col-md-6"],["href","resources/screenshot2@2x.webp"],["loading","lazy","srcset","resources/screenshot2.webp 1x, resources/screenshot2@2x.webp 2x","src","resources/screenshot2.webp","alt","Screenshot",1,"img-fluid"]],template:function(n,o){1&n&&(h(0,"section",0)(1,"div",1)(2,"div",2),v(3,"img",3),p(),h(4,"div",4)(5,"h1"),f(6,"ReportGenerator"),p(),h(7,"h2",5),f(8,"Powerful code coverage visualization"),p(),h(9,"div",6),f(10,"\xa0"),p(),h(11,"div",7)(12,"p")(13,"i"),f(14,"ReportGenerator"),p(),f(15," converts "),h(16,"span",8),f(17,"coverage reports"),p(),f(18," generated by coverlet, OpenCover, dotCover, Visual Studio, NCover, Cobertura, JaCoCo, Clover, gcov or lcov into "),h(19,"span",8),f(20,"human readable reports in various formats"),p(),f(21,"."),p(),h(22,"p"),f(23,"The reports show the "),h(24,"span",8),f(25,"coverage quotas"),p(),f(26," and also visualize which lines of your source code have been covered."),p(),h(27,"p")(28,"a",9),v(29,"i",10),f(30," Browse example report"),p()()()()(),h(31,"div",11)(32,"div",12)(33,"div",13),v(34,"i",14),p(),h(35,"span",15),f(36,"Open source"),p(),h(37,"p",16)(38,"i"),f(39,"ReportGenerator"),p(),f(40," is open source under the permissive Apache License."),p(),h(41,"p"),f(42,"It's free to use."),v(43,"br"),f(44,"The "),h(45,"a",17),f(46,"PRO"),p(),f(47," version offers additional features."),p()(),h(48,"div",18)(49,"div",13),v(50,"i",19),p(),h(51,"span",15),f(52,"Easy to use"),p(),h(53,"p",16)(54,"i"),f(55,"ReportGenerator"),p(),f(56," is a command line tool which only requires a "),h(57,"a",17),f(58,"few parameters"),p(),f(59,"."),p(),h(60,"p"),f(61,"Integration into your build pipeline will only take a couple of minutes."),p()(),h(62,"div",18)(63,"div",13),v(64,"i",20),p(),h(65,"span",15),f(66,"Integration"),p(),h(67,"p",16)(68,"i"),f(69,"ReportGenerator"),p(),f(70," works on Windows, Linux and macOS."),p(),h(71,"p"),f(72,"Support for "),h(73,"a",21),f(74,"GitHub actions"),p(),f(75," and "),h(76,"a",22),f(77,"Azure DevOps"),p(),f(78," is available."),p()()(),h(79,"div",11)(80,"div",23)(81,"a",24),v(82,"i",25),f(83," Learn how to use"),p(),h(84,"a",26),v(85,"i",27),f(86," GitHub"),p()()()(),v(87,"app-testimonials"),h(88,"section",28)(89,"div",0)(90,"h2"),f(91,"Screenshots"),p(),h(92,"p"),f(93,"The screenshots show two snippets of the generated reports."),p(),h(94,"p"),f(95," Have a look the "),h(96,"a",17),f(97,"features page"),p(),f(98," to explore the elements in a coverage report or "),h(99,"a",29),f(100,"browse the example report"),p(),f(101,". "),v(102,"br"),f(103," You can also download "),h(104,"a",30),f(105,"sample reports"),p(),f(106," of all supported output formats."),p(),h(107,"div",1)(108,"div",31)(109,"a",32),v(110,"img",33),p()(),h(111,"div",34)(112,"a",35),v(113,"img",36),p()()()()()),2&n&&(_(45),w("routerLink",K(4,a3)),_(12),w("routerLink",K(5,l3)),_(24),w("routerLink",K(6,c3)),_(15),w("routerLink",K(7,u3)))},dependencies:[pn,CE],styles:[".h5[_ngcontent-%COMP%]{font-weight:300}section[_ngcontent-%COMP%]:first-of-type{padding-top:120px;min-height:calc(100vh - 171px)}.icon[_ngcontent-%COMP%]{background-color:#2e89df;background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%);height:50px;width:50px;border-radius:8px;text-align:center;color:#fff;line-height:50px;font-size:1.5rem;display:inline-block}@media (max-width: 767px){section[_ngcontent-%COMP%]:first-of-type{padding-top:40px}}"]}),t})(),f3=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275cmp=vt({type:e,selectors:[["app-not-found"]],standalone:!0,features:[Mt],decls:5,vars:0,consts:[[1,"container"],[1,"mb-4"],[1,"fa-solid","fa-triangle-exclamation","fs-1","me-4"]],template:function(n,o){1&n&&(h(0,"div",0)(1,"h1",1),f(2,"Not found"),p(),v(3,"i",2),f(4," The requested page does not exist.\n"),p())}}),t})();class DE{constructor(){this.error=null,this.licenses=[]}}class h3{constructor(){this.error=null,this.isSponsor=!1,this.license=null}}let bE=(()=>{var e;class t{initCodeFlow(){const i=`https://github.com/login/oauth/authorize?response_type=code&client_id=ecab9484932b59a12fd4&state=${this.createAndSaveNonce()}&redirect_uri=${window.location.origin}/pro`;console.log("Redirecting to: "+i),location.href=i}validateStateAndExtractCode(){let n=location.href;const o=n.indexOf("?");o>-1&&(n=n.substring(o+1));const i=this.parseQueryString(n);return i.state&&i.code&&this.validateNonce(i.state)?i.code:null}createAndSaveNonce(){const n=this.createNonce();return typeof window.localStorage<"u"&&localStorage.setItem("nonce",n),n}validateNonce(n){let o;return typeof window.localStorage<"u"&&(o=localStorage.getItem("nonce"),localStorage.removeItem("nonce")),o&&0!==o.length?o===n||(console.error("Validating nonce failed. Values do not match.",o,n),!1):(console.error("Validating nonce failed. No saved nonce available.",o,n),!1)}createNonce(){const n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~";let o=45,i="";const s=typeof self>"u"?null:self.crypto||self.msCrypto;if(s){let l=new Uint8Array(o);s.getRandomValues(l),l.map||(l.map=Array.prototype.map);const c=[];for(var a=0;a0&&(u=decodeURIComponent(l),d=decodeURIComponent(c),"/"===u.substring(0,1)&&(u=u.substring(1)),o[u]=d);return o}base64UrlEncode(n){return btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac}),t})(),wE=(()=>{var e;class t{constructor(n){this.httpClient=n}getLicense(n){return this.httpClient.get(`${ve_apiBaseUrl}reportgenerator/license?code=${encodeURIComponent(n)}`)}getTrialLicense(n){return this.httpClient.post(`${ve_apiBaseUrl}reportgenerator/triallicense`,n)}getPaddleLicense(n){return this.httpClient.post(`${ve_apiBaseUrl}reportgenerator/paddlelicense`,n)}}return(e=t).\u0275fac=function(n){return new(n||e)(F(Nh))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),t})(),p3=(()=>{var e;class t{constructor(){this.isActive=!1,this.isActive=new Date-1)}}function G3(e,t){if(1&e&&(h(0,"div")(1,"label",110),f(2,"Thank you! Please save your license key persistently:"),p(),P(3,$3,6,3,"div",111),p()),2&e){const r=k(3);_(3),w("ngForOf",r.paddleLicense.licenses)}}function z3(e,t){if(1&e&&(h(0,"div",109),P(1,H3,8,3,"div",34),P(2,G3,4,1,"div",34),p()),2&e){const r=k(2);_(1),w("ngIf",r.paddleLicense.error),_(1),w("ngIf",!r.paddleLicense.error)}}function q3(e,t){if(1&e&&(h(0,"div",2),P(1,j3,6,0,"ng-container",34),P(2,z3,3,2,"div",107),p()),2&e){const r=k();_(1),w("ngIf",r.paddleLicenseRequested&&!r.paddleLicense),_(1),w("ngIf",r.paddleLicense)}}function W3(e,t){1&e&&(h(0,"p")(1,"i"),f(2,"ReportGenerator"),p(),f(3," subscription based licences are provided with a 30 day money back guarantee."),p())}const qo=function(){return["/features"]};let Z3=(()=>{var e;class t{get lifetimeLicense(){return this._lifetimeLicense}set lifetimeLicense(n){this._lifetimeLicense=n,this.lifetimeLicenseChangeTracked||(this.lifetimeLicenseChangeTracked=!0,this.trackingService.track("Licensetype changed"))}constructor(n,o,i){this.oauthService=n,this.licenseService=o,this.trackingService=i,this.paddleIndividualLicensePrice="US$49",this.paddleTeamLicensePrice="US$149",this.paddleEnterpriseLicensePrice="US$299",this.paddleIndividualLifetimeLicensePrice="US$79",this.paddleTeamLifetimeLicensePrice="US$249",this.paddleEnterpriseLifetimeLicensePrice="US$449",this.licenseRequested=!1,this.licenseCopied=!1,this.license=null,this.enablePaddle=!0,this.trialDisabled=!1,this.requestTrialData={name:"",email:""},this.paddleLicenseRequested=!1,this.paddleLicense=null,this.copiedPaddledLicenses=[],this.self=this,this.lifetimeLicenseChangeTracked=!1,this._lifetimeLicense=!1,window.paddleCheckoutComplete=s=>{this.paddleCheckoutComplete(s)},window.Paddle.Setup({vendor:144162}),window.Paddle.Product.Prices(762579,s=>{this.paddleIndividualLicensePrice=s.recurring.price.gross}),window.Paddle.Product.Prices(762580,s=>{this.paddleTeamLicensePrice=s.recurring.price.gross}),window.Paddle.Product.Prices(762581,s=>{this.paddleEnterpriseLicensePrice=s.recurring.price.gross}),window.Paddle.Product.Prices(833943,s=>{this.paddleIndividualLifetimeLicensePrice=s.price.gross}),window.Paddle.Product.Prices(833944,s=>{this.paddleTeamLifetimeLicensePrice=s.price.gross}),window.Paddle.Product.Prices(833945,s=>{this.paddleEnterpriseLifetimeLicensePrice=s.price.gross})}ngOnInit(){const n=this.oauthService.validateStateAndExtractCode();null!==n?(console.log("Code received",n),this.licenseRequested=!0,this.licenseService.getLicense(n).subscribe({next:o=>{console.log("Received license response"),this.license=o,this.scrollToGithub()},error:o=>{console.error(o),this.license=new h3,this.license.error="Unable to generate license."},complete:()=>console.info("complete")})):console.log("No code available"),location.href.indexOf("?source=trial")>-1&&this.trackingService.track("Trial2Pro"),this.requestTrialModal=new window.bootstrap.Modal("#requestTrialModal");try{this.trialDisabled=null!==window.localStorage.getItem("trialRequested")}catch{}}requestLicense(){this.licenseRequested=!0,this.oauthService.initCodeFlow()}copy(){try{navigator.clipboard.writeText(this.license.license),this.licenseCopied=!0}catch(n){console.error("Failed to copy license",n)}}copyPaddle(n){try{navigator.clipboard.writeText(n),this.copiedPaddledLicenses.push(n)}catch(o){console.error("Failed to copy paddle license",o)}}scrollToGithub(){return document.querySelector("#github").scrollIntoView(!0),!1}scrollToPaddle(){return document.querySelector("#paddle").scrollIntoView(!0),!1}requestTrial(){this.requestTrialModal.show(),this.trackingService.track("Trial-Started")}completeTrial(){console.log("Trial completed"),this.requestTrialModal.hide(),this.paddleLicenseRequested=!0,this.licenseService.getTrialLicense(this.requestTrialData).subscribe({next:n=>{console.log("Received trial license response"),this.paddleLicense=n,this.scrollToPaddle();try{window.localStorage.setItem("trialRequested","true"),this.trialDisabled=!0}catch{}this.trackingService.track("Trial-Completed")},error:n=>{console.error(n),this.paddleLicense=new DE,this.paddleLicense.error="Unable to generate trial license."},complete:()=>{console.info("complete"),this.requestTrialData={name:"",email:""}}})}openPaddleCheckout(n){"enterprise"===n?window.Paddle.Checkout.open({product:this.lifetimeLicense?833945:762581,successCallback:"paddleCheckoutComplete"}):"team"===n?window.Paddle.Checkout.open({product:this.lifetimeLicense?833944:762580,successCallback:"paddleCheckoutComplete"}):window.Paddle.Checkout.open({product:this.lifetimeLicense?833943:762579,successCallback:"paddleCheckoutComplete"}),this.trackingService.track("Paddle-Started",{props:{product:n,lifetimeLicense:this.lifetimeLicense}})}paddleCheckoutComplete(n){console.log("Checkout completed",n),this.paddleLicenseRequested=!0,this.licenseService.getPaddleLicense(n).subscribe({next:o=>{console.log("Received paddle license response"),this.paddleLicense=o,this.scrollToPaddle(),this.trackingService.track("Paddle-Completed",{props:{product:n.product.name,lifetimeLicense:this.lifetimeLicense}})},error:o=>{console.error(o),this.paddleLicense=new DE,this.paddleLicense.error="Unable to generate Paddle license."},complete:()=>console.info("complete")})}}return(e=t).\u0275fac=function(n){return new(n||e)(I(bE),I(wE),I(p3))},e.\u0275cmp=vt({type:e,selectors:[["app-pro-component"]],standalone:!0,features:[Mt],decls:229,vars:25,consts:[[1,"container"],[1,"mb-4"],[1,"row"],[1,"col-xs-12","col-md-6","order-2","order-md-1"],[1,"table"],["scope","col"],["scope","col",1,"text-center"],[1,"pro-button"],["scope","row"],["fragment","metrics","title","Show feature details",3,"routerLink"],[1,"fa-solid","fa-circle-info","text-secondary"],[1,"text-center"],[1,"fa-solid","fa-circle-check","text-secondary"],["fragment","riskhotspots","title","Show feature details",3,"routerLink"],["title","Show feature details",3,"routerLink"],[1,"fa-solid","fa-circle-check","pro-text"],[1,"col-xs-12","col-md-6","order-1","order-md-2"],["href","",3,"click"],[3,"routerLink"],["id","github",1,"container-fluid","mt-5","pt-5","pb-5","bg-light"],[1,"col-xs-12","col-md-6","pb-3"],[1,"fs-2","me-3","number"],["href","https://github.com/sponsors/danielpalme","target","_blank",1,"btn","btn-outline-dark"],[1,"fa-solid","fa-heart","githubheart"],["type","button",1,"btn","btn-primary","me-3",3,"disabled","click"],[1,"fa-solid","fa-rocket"],["class","spinner-border text-info","role","status",4,"ngIf"],["class","col-md-6 pb-3 d-none d-lg-block","style","position: relative;",4,"ngIf"],["class","col-xs-12 col-md-6 pb-3",4,"ngIf"],["id","paddle",1,"container-fluid","mt-5","pt-5","pb-5","bg-light"],[1,"text-center","mb-3"],["class","togglecontainer",4,"ngIf"],["class","row",4,"ngIf"],[1,"mt-5"],[4,"ngIf"],[1,"container-fluid","mt-4","pt-5","pb-5","bg-light"],[1,"container","text-center"],[1,"row","mt-5",2,"max-width","550px","margin","auto"],["href","https://twitter.com/fredyfx/status/1642807795828543488","target","_blank"],["loading","lazy","src","resources/twitter_light.webp","alt","Testimonial",1,"img-fluid"],["id","faq",1,"container","mt-5","pt-5","pb-5"],["id","accordionFaq",1,"accordion","accordion-flush"],[1,"accordion-item"],["id","headingOne",1,"accordion-header"],["type","button","data-bs-toggle","collapse","data-bs-target","#collapseOne","aria-expanded","true","aria-controls","collapseOne",1,"accordion-button"],["id","collapseOne","aria-labelledby","headingOne","data-bs-parent","#accordionFaq",1,"accordion-collapse","collapse","show"],[1,"accordion-body"],["id","headingTwo",1,"accordion-header"],["type","button","data-bs-toggle","collapse","data-bs-target","#collapseTwo","aria-expanded","false","aria-controls","collapseTwo",1,"accordion-button","collapsed"],["id","collapseTwo","aria-labelledby","headingTwo","data-bs-parent","#accordionFaq",1,"accordion-collapse","collapse"],["id","headingThree",1,"accordion-header"],["type","button","data-bs-toggle","collapse","data-bs-target","#collapseThree","aria-expanded","false","aria-controls","collapseThree",1,"accordion-button","collapsed"],["id","collapseThree","aria-labelledby","headingThree","data-bs-parent","#accordionFaq",1,"accordion-collapse","collapse"],["tabindex","-1","id","requestTrialModal",1,"modal"],[1,"modal-dialog"],[1,"modal-content"],["method","post",3,"ngSubmit"],["trialForm","ngForm"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal","aria-label","Close",1,"btn-close"],[1,"modal-body"],[1,"form-floating","mb-3"],["type","text","id","name","name","name","required","","maxlength","150",1,"form-control",3,"ngModel","ngModelChange"],["for","floatingInput"],[1,"required"],["type","email","id","email","name","email","required","","email","","maxlength","150",1,"form-control",3,"ngModel","ngModelChange"],[1,"modal-footer"],["type","button","data-bs-dismiss","modal",1,"btn","btn-secondary"],["type","submit",1,"btn","btn-primary",3,"disabled"],["role","status",1,"spinner-border","text-info"],[1,"visually-hidden"],[1,"col-md-6","pb-3","d-none","d-lg-block",2,"position","relative"],[1,"fa-solid","fa-heart","githubheartlarge"],["href","https://github.com/sponsors/danielpalme","target","_blank"],["for","licensetext"],["id","licensetext","rows","5","readonly","",1,"form-control","mt-2"],[1,"btn","btn-outline-dark","mt-2",3,"click"],[1,"fa-solid","fa-copy"],[1,"fa-solid","fa-check","text-success"],[1,"togglecontainer"],[1,"option",3,"ngClass","click"],[1,"fa-solid","fa-rotate-right"],[1,"fa-solid","fa-infinity"],[1,"col-xs-12","col-md-6","col-lg-3","mt-0","pb-3","text-center","paddle-container"],[1,"paddle","trial"],["src","resources/trial.svg","alt","Trial",1,"img-fluid"],[1,"mt-3"],[1,"fa-solid","fa-magnifying-glass"],[1,"fa-solid","fa-calendar-days"],["type","button","class","btn btn-primary",3,"disabled","click",4,"ngIf"],["type","button","class","btn btn-primary","disabled","",4,"ngIf"],[1,"col-xs-12","col-md-6","col-lg-3","mt-4","mt-md-0","pb-3","text-center","paddle-container"],[1,"paddle"],["src","resources/individual.svg","alt","Individual",1,"img-fluid"],[1,"fa-solid","fa-user"],["type","button","class","btn btn-primary",3,"click",4,"ngIf"],[1,"col-xs-12","col-md-6","col-lg-3","mt-4","mt-lg-0","pb-3","text-center","paddle-container"],["src","resources/team.svg","alt","Team",1,"img-fluid"],[1,"fa-solid","fa-users"],[1,"col-xs-6","col-md-6","col-lg-3","mt-4","mt-lg-0","pb-3","text-center","paddle-container"],["src","resources/enterprise.svg","alt","Enterprise",1,"img-fluid"],[1,"fa-solid","fa-industry"],["type","button",1,"btn","btn-primary",3,"disabled","click"],["type","button","disabled","",1,"btn","btn-primary"],["type","button",1,"btn","btn-primary",3,"click"],[1,"fa-solid","fa-cart-shopping"],["class","col-xs-12 col-md-6",4,"ngIf"],[2,"position","relative","left","35px","top","-20px"],[1,"col-xs-12","col-md-6"],["for","paddlelicensetext"],["class","mt-2",4,"ngFor","ngForOf"],[1,"mt-2"],["id","paddlelicensetext","rows","5","readonly","",1,"form-control"]],template:function(n,o){if(1&n&&(h(0,"div",0)(1,"h1",1),f(2,"PRO"),p(),h(3,"div",2)(4,"div",3)(5,"table",4)(6,"thead")(7,"tr"),v(8,"th",5),h(9,"th",6),f(10,"Free"),p(),h(11,"th",6)(12,"span",7),f(13,"PRO"),p()()()(),h(14,"tbody")(15,"tr")(16,"th",8),f(17,"Metrics "),h(18,"a",9),v(19,"i",10),p()(),h(20,"td",11),v(21,"i",12),p(),h(22,"td",11),v(23,"i",12),p()(),h(24,"tr")(25,"th",8),f(26,"Risk Hotspots "),h(27,"a",13),v(28,"i",10),p()(),h(29,"td",11),v(30,"i",12),p(),h(31,"td",11),v(32,"i",12),p()(),h(33,"tr")(34,"th",8),f(35,"Line coverage "),h(36,"a",14),v(37,"i",10),p()(),h(38,"td",11),v(39,"i",12),p(),h(40,"td",11),v(41,"i",12),p()(),h(42,"tr")(43,"th",8),f(44,"Branch coverage "),h(45,"a",14),v(46,"i",10),p()(),h(47,"td",11),v(48,"i",12),p(),h(49,"td",11),v(50,"i",12),p()(),h(51,"tr")(52,"th",8),f(53,"Method coverage "),h(54,"a",14),v(55,"i",10),p()(),v(56,"td",11),h(57,"td",11),v(58,"i",15),p()(),h(59,"tr")(60,"th",8),f(61,"Metrics on summary page "),h(62,"a",9),v(63,"i",10),p()(),v(64,"td",11),h(65,"td",11),v(66,"i",15),p()(),h(67,"tr")(68,"th",8)(69,"i"),f(70,"OpenCover"),p(),f(71," output format"),p(),v(72,"td",11),h(73,"td",11),v(74,"i",15),p()()()()(),h(75,"div",16)(76,"p")(77,"i"),f(78,"ReportGenerator"),p(),f(79," is Open Source and free to use."),v(80,"br"),f(81," Some of the advanced features require a PRO license. "),p(),h(82,"p"),f(83," You can either become a "),h(84,"a",17),R("click",function(){return o.scrollToGithub()}),f(85,"GitHub sponsor"),p(),f(86," or you can "),h(87,"a",17),R("click",function(){return o.scrollToPaddle()}),f(88,"buy a license"),p(),f(89,"."),v(90,"br"),f(91," A "),h(92,"a",17),R("click",function(){return o.scrollToPaddle()}),f(93,"free trial version"),p(),f(94," is available too. "),p(),h(95,"p"),f(96," Get "),h(97,"a",18),f(98,"in touch"),p(),f(99," if you have any issues and we will figure it out. "),p()()()(),h(100,"section",19)(101,"div",0)(102,"h2",1),f(103,"Get your license as a GitHub sponsor"),p(),h(104,"div",2)(105,"div",20)(106,"p"),f(107,"You can obtain your license in two easy steps (no sign up required):"),p(),h(108,"span",21),f(109,"1."),p(),h(110,"a",22),v(111,"i",23),f(112," Become a GitHub sponsor"),p(),v(113,"br"),h(114,"span",21),f(115,"2."),p(),h(116,"button",24),R("click",function(){return o.requestLicense()}),v(117,"i",25),f(118," Get license"),p(),P(119,g3,3,0,"div",26),p(),P(120,m3,2,0,"div",27),P(121,b3,4,3,"div",28),p()()(),h(122,"section",29)(123,"div",0)(124,"h2",1),f(125,"Buy a license"),p(),h(126,"div",30),P(127,w3,7,6,"span",31),p(),P(128,V3,61,17,"div",32),P(129,q3,3,2,"div",32),h(130,"div",33),P(131,W3,4,0,"p",34),h(132,"p"),f(133,"The order process is conducted by Paddle.com. Paddle.com is the Merchant of Record for all orders. Paddle provides all customer service inquiries and handles returns."),p()()()(),v(134,"app-testimonials"),h(135,"section",35)(136,"div",36)(137,"h3"),f(138,"Customers"),p(),h(139,"div",37)(140,"a",38),v(141,"img",39),p()()()(),h(142,"section",40)(143,"h2",1),f(144,"Frequently Asked Questions"),p(),h(145,"div",41)(146,"div",42)(147,"h2",43)(148,"button",44),f(149," How do I use/activate my license? "),p()(),h(150,"div",45)(151,"div",46),f(152," Your license key is passed to "),h(153,"i"),f(154,"ReportGenerator"),p(),f(155," via a command line parameter: "),h(156,"i"),f(157,"-license:YOUR_KEY"),p()()()(),h(158,"div",42)(159,"h2",47)(160,"button",48),f(161," Are there limitations on number of users? "),p()(),h(162,"div",49)(163,"div",46)(164,"b"),f(165,"GitHub sponsors"),p(),v(166,"br"),h(167,"p"),f(168,"There's no enforced limit. Please pick a sponsor level that fits your company size and budget."),p(),h(169,"b"),f(170,"Bought license"),p(),v(171,"br"),h(172,"p"),f(173,"There's no enforced limit. Please choose a plan that matches the number of developers using "),h(174,"i"),f(175,"ReportGenerator"),p(),f(176,"."),p()()()(),h(177,"div",42)(178,"h2",50)(179,"button",51),f(180," Will my license expire? "),p()(),h(181,"div",52)(182,"div",46)(183,"b"),f(184,"GitHub sponsors"),p(),v(185,"br"),h(186,"p"),f(187,"Your license will not expire."),p(),h(188,"b"),f(189,"Bought license"),p(),v(190,"br"),h(191,"p")(192,"b"),f(193,"Annual subscription"),p(),f(194,": Your license may get revoked for new releases of "),h(195,"i"),f(196,"ReportGenerator"),p(),f(197,", if you cancel your subscription."),v(198,"br"),h(199,"b"),f(200,"Lifetime licenses"),p(),f(201,": Lifetime licenses will not expire. "),p()()()()()(),h(202,"div",53)(203,"div",54)(204,"div",55)(205,"form",56,57),R("ngSubmit",function(){return o.completeTrial()}),h(207,"div",58)(208,"h5",59),f(209,"Free Trial"),p(),v(210,"button",60),p(),h(211,"div",61)(212,"div",62)(213,"input",63),R("ngModelChange",function(s){return o.requestTrialData.name=s}),p(),h(214,"label",64),f(215,"Name "),h(216,"span",65),f(217,"*"),p()()(),h(218,"div",62)(219,"input",66),R("ngModelChange",function(s){return o.requestTrialData.email=s}),p(),h(220,"label",64),f(221,"Email address "),h(222,"span",65),f(223,"*"),p()()()(),h(224,"div",67)(225,"button",68),f(226,"Close"),p(),h(227,"button",69),f(228,"Get trial license"),p()()()()()()),2&n){const i=_d(206);_(18),w("routerLink",K(18,qo)),_(9),w("routerLink",K(19,qo)),_(9),w("routerLink",K(20,qo)),_(9),w("routerLink",K(21,qo)),_(9),w("routerLink",K(22,qo)),_(8),w("routerLink",K(23,qo)),_(35),w("routerLink",K(24,Ph)),_(19),w("disabled",o.licenseRequested),_(3),w("ngIf",o.licenseRequested&&!o.license),_(1),w("ngIf",!o.license),_(1),w("ngIf",o.license),_(6),w("ngIf",!o.paddleLicenseRequested),_(1),w("ngIf",!o.paddleLicenseRequested),_(1),w("ngIf",o.paddleLicenseRequested),_(2),w("ngIf",!o.lifetimeLicense),_(82),w("ngModel",o.requestTrialData.name),_(6),w("ngModel",o.requestTrialData.email),_(8),w("disabled",!i.valid)}},dependencies:[pn,Ef,vl,ml,ec,Xl,jo,Ul,Bl,$o,Sh,Kl,Cs,Bo,CE],styles:[".number[_ngcontent-%COMP%]{display:inline-block;position:relative;top:8px}.spinner-border[_ngcontent-%COMP%]{position:relative;top:9px}.paddle-container[_ngcontent-%COMP%]{padding:10px}.paddle[_ngcontent-%COMP%]{border:1px solid #8c8888;border-radius:20px;padding:20px;background-color:#d8e8f0}.trial[_ngcontent-%COMP%]{background-color:#b2cad7}.githubheartlarge[_ngcontent-%COMP%]{position:absolute;top:-120px;left:40%;font-size:20rem;color:#ffd2ed}.togglecontainer[_ngcontent-%COMP%]{background-color:#fff;display:inline-block;border-radius:20px;white-space:nowrap}.togglecontainer[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{background-color:#fff;padding:8px 15px;border-radius:20px;cursor:pointer;display:inline-block}.togglecontainer[_ngcontent-%COMP%] .option.active[_ngcontent-%COMP%]{color:#fff;background-color:var(--rg-primary-color);background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%)}@media only screen and (max-width: 400px){.togglecontainer[_ngcontent-%COMP%] .option[_ngcontent-%COMP%] .fa-solid[_ngcontent-%COMP%]{display:none}}"]}),t})();class ic{constructor(t,r,n,o,i,s){this.name=t,this.url=r,this.runtimes=n,this.description=o,this.installOptions=i,this.executables=s}formatExecutable(t){return t.tool}formatArgument(t,r){if(""===(r=r.trim()))return"";const n=r.indexOf(" ")>-1?'"':"";return`\r\n${n}-${t}:${r}${n}`}formatArguments(t,r){return this.formatArgument(t,r.filter(n=>null!=n&&0!==n.length&&0!==n.trim().length).join(";"))}}class Y3 extends ic{formatExecutable(t){let r=`- task: ${t.tool}@${Lt.majorVersion}`;return r+="\r\n displayName: ReportGenerator",r+="\r\n inputs:",console.log("hello",r),r}formatArgument(t,r){if(""===(r=r.trim()))return"";const n=r.indexOf(" ")>-1?"'":"";return`\r\n ${t}: ${n}${r}${n}`}}class Q3{constructor(){this.verbosities=["Verbose","Info","Warning","Error","Off"],this.types=["Html","Coverage tool","Json","Markdown","Xml","Text","Image"],this.reports=["cobertura.xml"],this.targetdir="coveragereport",this.reporttypes=[{name:"Html",types:["Html"],description:"The default output format. Creates a summary overview (index.html) and detailed reports for each class.",requiresHistoryDir:!1,checked:!0,sampleReport:"resources/reports/Html/index.html"},{name:"Html_Light",types:["Html"],description:"Same as Html but with a light theme.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_Light/index.html"},{name:"Html_Dark",types:["Html"],description:"Same as Html but with a dark theme.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_Dark/index.html"},{name:"Html_BlueRed",types:["Html"],description:"Same as Html but with the colors blue/red instead of green/red.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_BlueRed/index.html"},{name:"HtmlSummary",types:["Html"],description:"Creates a single HTML file (summary.html) without links.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlSummary/summary.html"},{name:"Html_BlueRed_Summary",types:["Html"],description:"Same as HtmlSummary but with the colors blue/red instead of green/red.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_BlueRed_Summary/summary.html"},{name:"HtmlChart",types:["Html"],description:"Creates a single HTML file containing a chart with historic coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/HtmlChart/CoverageHistory.html"},{name:"HtmlInline",types:["Html"],description:"Same as HTML but CSS and JavaScript is included in every HTML page. This results in larger file sizes, but can be useful for integration into build servers like Azure DevOps (VSTS), since they may block referenced CSS and JavaScript files.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlInline/index.html"},{name:"HtmlInline_AzurePipelines",types:["Html"],description:"Same as HtmlInline but with an adaptive light/dark theme matching the look and feel of Azure Pipelines",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlInline_AzurePipelines/index.html"},{name:"HtmlInline_AzurePipelines_Light",types:["Html"],description:"Same as HtmlInline but with a light theme matching the look and feel of Azure Pipelines.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlInline_AzurePipelines_Light/index.html"},{name:"HtmlInline_AzurePipelines_Dark",types:["Html"],description:"Same as HtmlInline but with a dark theme matching the look and feel of Azure Pipelines.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlInline_AzurePipelines_Dark/index.html"},{name:"MHtml",types:["Html"],description:"Same as HTML but packaged into a single MHTML file.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/MHtml/Summary.mht"},{name:"Clover",types:["Coverage tool"],description:"Creates a XML file in Clover format. This format integrates with tools like Atlassian Bamboo.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Clover/Clover.xml"},{name:"Cobertura",types:["Coverage tool"],description:"Creates a XML file in Cobertura format. This format integrates with tools like Azure DevOps (VSTS) or Jenkins.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Cobertura/Cobertura.xml"},{name:"OpenCover",types:["Coverage tool"],description:"Creates a XML file in OpenCover format (PRO version only).",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/OpenCover/OpenCover.xml"},{name:"SonarQube",types:["Coverage tool"],description:"Creates a XML file in SonarQube 'Generic Test Data' format.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/SonarQube/SonarQube.xml"},{name:"lcov",types:["Coverage tool"],description:"Creates a text file in 'lcov' format.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/lcov/lcov.info"},{name:"XML",types:["Xml"],description:"Creates a XML file containing a summary for all classes and detailed reports for each class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Xml/Summary.xml"},{name:"XMLSummary",types:["Xml"],description:"Creates a single XML file containing a summary for all classes.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/XmlSummary/Summary.xml"},{name:"JsonSummary",types:["Json"],description:"Creates a single JSON file containing a summary for all classes.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/JsonSummary/Summary.json"},{name:"Latex",types:["Text"],description:"Creates a single TEX file containing a summary for all classes and detailed reports for each class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Summary/Summary.tex"},{name:"LatexSummary",types:["Text"],description:"Creates a single TEX file containing a summary for all classes.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/LatexSummary/Summary.tex"},{name:"TeamCitySummary",types:["Coverage tool"],description:"Command line output interpreted by TeamCity.",requiresHistoryDir:!1,checked:!1,sampleReport:null},{name:"TextSummary",types:["Text"],description:"Creates a single TXT file containing coverage information per class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/TextSummary/Summary.txt"},{name:"TextDeltaSummary",types:["Text"],description:"Creates a single TXT file containing delta coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/TextDeltaSummary/DeltaSummary.txt"},{name:"CsvSummary",types:["Text"],description:"Creates a single CSV file containing coverage information per class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/CsvSummary/Summary.csv"},{name:"MarkdownSummary",types:["Text","Markdown"],description:"Creates a single Markdown file containing coverage information per class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/MarkdownSummary/Summary.md"},{name:"MarkdownSummaryGithub",types:["Text","Markdown"],description:"Creates a single Markdown file containing coverage information per class. The report is optimized for GitHub.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/MarkdownSummaryGithub/SummaryGithub.md"},{name:"MarkdownDeltaSummary",types:["Text","Markdown"],description:"Creates a single Markdown file containing delta coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/MarkdownDeltaSummary/DeltaSummary.md"},{name:"SvgChart",types:["Image"],description:"Creates a single SVG file containing a chart with historic coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/SvgChart/CoverageHistory.svg"},{name:"Badges",types:["Image"],description:"Creates SVG files that show line and/or branch coverage information.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Badges/index.html"}],this.sourcedirectories=[],this.historydir="",this.plugins=[],this.assemblyfilters=[],this.classfilters=[],this.filefilters=[],this.selectedverbosity=this.verbosities[1],this.selectedType=null,this.title="",this.tag="",this.license=""}addSourceDirectory(){return this.sourcedirectories.push(""),!1}removeSourceDirectory(t){return this.sourcedirectories.splice(t,1),!1}addReport(){return this.reports.push(""),!1}removeReport(t){return this.reports.splice(t,1),!1}addPlugin(){return this.plugins.push(""),!1}removePlugin(t){return this.plugins.splice(t,1),!1}addAssemblyFilter(){return this.assemblyfilters.push(""),!1}removeAssemblyFilter(t){return this.assemblyfilters.splice(t,1),!1}addClassFilter(){return this.classfilters.push(""),!1}removeClassFilter(t){return this.classfilters.splice(t,1),!1}addFileFilter(){return this.filefilters.push(""),!1}removeFileFilter(t){return this.filefilters.splice(t,1),!1}getUsage(t,r){const n=t.executables.find(a=>a.runtime==r);let o=void 0!==n?t.formatExecutable(n):"";o+=t.formatArguments("reports",this.reports),o+=t.formatArgument("targetdir",this.targetdir);for(var i="",s=0;s0&&(i+=";"),i+=this.reporttypes[s].name);return i.length>0&&"Html"!==i&&(o+=t.formatArgument("reporttypes",i)),o+=t.formatArguments("sourcedirs",this.sourcedirectories),o+=t.formatArgument("historydir",this.historydir),o+=t.formatArguments("plugins",this.plugins),o+=t.formatArguments("assemblyfilters",this.assemblyfilters),o+=t.formatArguments("classfilters",this.classfilters),o+=t.formatArguments("filefilters",this.filefilters),"Info"!==this.selectedverbosity&&(o+=t.formatArgument("verbosity",this.selectedverbosity)),o+=t.formatArgument("title",this.title),o+=t.formatArgument("tag",this.tag),o+=t.formatArgument("license",this.license),o}historyDirRequired(){for(let t=0;t-1?"'":"";return`\r\n ${t}: ${n}${r}${n}`}}class kh{constructor(t,r){this.tool=t,this.command=r}}function J3(e,t){if(1&e){const r=Ae();h(0,"div",35)(1,"label",36)(2,"input",37),R("ngModelChange",function(o){return ne(r),re(k().selectedEnvironment=o)})("ngModelChange",function(){return ne(r),re(k().selectedEnvironmentChanged())}),p(),h(3,"b"),f(4),p(),v(5,"br"),h(6,"div",38),f(7),p()()()}if(2&e){const r=t.$implicit,n=k();_(2),w("ngModel",n.selectedEnvironment)("value",r)("checked",n.selectedEnvironment.name===r.name),_(2),Ce(r.name),_(3),Ce(r.description)}}function K3(e,t){if(1&e){const r=Ae();h(0,"div",35)(1,"label",36)(2,"input",41),R("ngModelChange",function(o){return ne(r),re(k(3).selectedPackage=o)}),p(),h(3,"b"),f(4),p(),v(5,"br"),h(6,"div",38),f(7),p()()()}if(2&e){const r=k().$implicit,n=k(2);_(2),w("ngModel",n.selectedPackage)("value",r),_(2),Ce(r.name),_(3),Ce(r.description)}}function ej(e,t){if(1&e&&(ut(0),P(1,K3,8,4,"div",40),dt()),2&e){const r=t.$implicit,n=k(2);_(1),w("ngIf",r.runtimes.indexOf(n.selectedEnvironment.name)>-1)}}function tj(e,t){if(1&e&&(ut(0),h(1,"h4"),f(2,"NuGet Package"),p(),P(3,ej,2,1,"ng-container",39),dt()),2&e){const r=k();_(3),w("ngForOf",r.packages)}}function nj(e,t){if(1&e){const r=Ae();h(0,"span",45),R("click",function(){ne(r);const o=k().index;return re(k().configuration.removeReport(o))}),h(1,"a",46),v(2,"i",47),p()()}}const rj=function(e){return{"input-group":e}};function oj(e,t){if(1&e){const r=Ae();h(0,"div",38)(1,"div",42)(2,"input",43),R("ngModelChange",function(o){const s=ne(r).index;return re(k().configuration.reports[s]=o)}),p(),P(3,nj,3,0,"span",44),p()()}if(2&e){const r=t.index,n=k();_(1),w("ngClass",$i(4,rj,r>0)),_(1),An("name","report_",r,""),w("ngModel",n.configuration.reports[r]),_(1),w("ngIf",r>0)}}const ij=function(e,t){return{"btn-outline-primary":e,"btn-primary":t}};function sj(e,t){if(1&e){const r=Ae();h(0,"button",48),R("click",function(){const i=ne(r).$implicit,s=k();return re(s.configuration.selectedType=s.configuration.selectedType===i?null:i)}),f(1),p()}if(2&e){const r=t.$implicit,n=k();w("ngClass",k_(2,ij,r!==n.configuration.selectedType,r===n.configuration.selectedType)),_(1),Ce(r)}}function aj(e,t){if(1&e){const r=Ae();h(0,"span",53),v(1,"i",54),f(2," Please specify a "),h(3,"a",9),R("click",function(){return ne(r),re(k(3).scrollToHistoryDir())}),f(4,"history directory"),p()()}}function lj(e,t){if(1&e&&(ut(0),v(1,"br",55),h(2,"a",29),f(3,"Sample report"),p(),f(4,"\xa0"),h(5,"a",29),v(6,"i",56),p(),dt()),2&e){const r=k(2).$implicit;_(2),w("href",r.sampleReport,ro),_(3),w("href",r.sampleReport,ro)}}function cj(e,t){if(1&e){const r=Ae();h(0,"div",50)(1,"label",36)(2,"input",51),R("change",function(){ne(r);const o=k().$implicit;return re(o.checked=!o.checked)}),p(),h(3,"b"),f(4),p(),P(5,aj,5,0,"span",52),v(6,"br"),h(7,"div",38),f(8),P(9,lj,7,2,"ng-container",5),p()()()}if(2&e){const r=k().$implicit,n=k();_(2),w("checked",r.checked),_(2),Ce(r.name),_(1),w("ngIf",r.checked&&r.requiresHistoryDir&&!n.configuration.historydir),_(3),xn("",r.description," "),_(1),w("ngIf",r.sampleReport)}}function uj(e,t){if(1&e&&(ut(0),P(1,cj,10,5,"div",49),dt()),2&e){const r=t.$implicit,n=k();_(1),w("ngIf",!n.configuration.selectedType||r.types.indexOf(n.configuration.selectedType)>-1)}}function dj(e,t){if(1&e){const r=Ae();h(0,"div",8)(1,"div",57)(2,"input",58),R("ngModelChange",function(o){const s=ne(r).index;return re(k().configuration.sourcedirectories[s]=o)}),p(),h(3,"span",45),R("click",function(){const i=ne(r).index;return re(k().configuration.removeSourceDirectory(i))}),h(4,"a",46),v(5,"i",47),p()()()()}if(2&e){const r=t.index,n=k();_(2),An("name","sourcedir_",r,""),w("ngModel",n.configuration.sourcedirectories[r])}}function fj(e,t){if(1&e){const r=Ae();h(0,"div",8)(1,"div",57)(2,"input",59),R("ngModelChange",function(o){const s=ne(r).index;return re(k().configuration.plugins[s]=o)}),p(),h(3,"span",45),R("click",function(){const i=ne(r).index;return re(k().configuration.removePlugin(i))}),h(4,"a",46),v(5,"i",47),p()()()()}if(2&e){const r=t.index,n=k();_(2),An("name","plugin_",r,""),w("ngModel",n.configuration.plugins[r])}}function hj(e,t){if(1&e){const r=Ae();h(0,"div",8)(1,"div",57)(2,"input",60),R("ngModelChange",function(o){const s=ne(r).index;return re(k().configuration.assemblyfilters[s]=o)}),p(),h(3,"span",45),R("click",function(){const i=ne(r).index;return re(k().configuration.removeAssemblyFilter(i))}),h(4,"a",46),v(5,"i",47),p()()()()}if(2&e){const r=t.index,n=k();_(2),An("name","assemblyfilter_",r,""),w("ngModel",n.configuration.assemblyfilters[r])}}function pj(e,t){if(1&e){const r=Ae();h(0,"div",8)(1,"div",57)(2,"input",61),R("ngModelChange",function(o){const s=ne(r).index;return re(k().configuration.classfilters[s]=o)}),p(),h(3,"span",45),R("click",function(){const i=ne(r).index;return re(k().configuration.removeClassFilter(i))}),h(4,"a",46),v(5,"i",47),p()()()()}if(2&e){const r=t.index,n=k();_(2),An("name","classfilter_",r,""),w("ngModel",n.configuration.classfilters[r])}}function gj(e,t){if(1&e){const r=Ae();h(0,"div",8)(1,"div",57)(2,"input",62),R("ngModelChange",function(o){const s=ne(r).index;return re(k().configuration.filefilters[s]=o)}),p(),h(3,"span",45),R("click",function(){const i=ne(r).index;return re(k().configuration.removeFileFilter(i))}),h(4,"a",46),v(5,"i",47),p()()()()}if(2&e){const r=t.index,n=k();_(2),An("name","filefilter_",r,""),w("ngModel",n.configuration.filefilters[r])}}function mj(e,t){if(1&e&&(h(0,"option",63),f(1),p()),2&e){const r=t.$implicit;w("value",r),_(1),Ce(r)}}function vj(e,t){if(1&e&&(h(0,"div",64)(1,"b"),f(2),p(),v(3,"br"),h(4,"pre",32),f(5),p()()),2&e){const r=t.$implicit;_(2),Ce(r.tool),_(3),Ce(r.command)}}function yj(e,t){1&e&&(h(0,"span"),v(1,"i",65),f(2," Copy"),p())}function _j(e,t){1&e&&(h(0,"span"),v(1,"i",66),f(2," Copied"),p())}function Cj(e,t){if(1&e&&(h(0,"div",64)(1,"b"),f(2),p(),v(3,"br"),h(4,"pre",32),f(5),p()()),2&e){const r=t.$implicit;_(2),Ce(r.tool),_(3),Ce(r.command)}}function Dj(e,t){1&e&&(h(0,"span"),v(1,"i",65),f(2," Copy"),p())}function bj(e,t){1&e&&(h(0,"span"),v(1,"i",66),f(2," Copied"),p())}const wj=function(){return["/pro"]},Ej=[{path:"",component:d3,pathMatch:"full",title:"Home",data:{canonical:"/"}},{path:"features",component:o3,title:"Features",data:{canonical:"/features"}},{path:"features.html",redirectTo:"/features"},{path:"getstarted",component:s3,title:"Get started",data:{canonical:"/getstarted"}},{path:"getstarted.html",redirectTo:"/getstarted"},{path:"usage",component:(()=>{var e;class t{constructor(){this.versions=Lt,this.lastResult="",this.usageCopied=!1,this.configuration=new Q3,this.environments=[new sc(".NET Core",".NET Core"),new sc(".NET Framework","The full .NET framework"),new sc("Azure DevOps",null),new sc("Github Action",null)],this.packages=[new ic("ReportGenerator","https://www.nuget.org/packages/ReportGenerator",[".NET Framework",".NET Core"],"Use this package if your project is based on .NET Framework or .NET Core and you want to use ReportGenerator via the command line or a build script.",[new kh("Package Manager",`Install-Package ReportGenerator -Version ${Lt.version}`),new kh(".NET CLI",`dotnet add package ReportGenerator --version ${Lt.version}`)],[new ws(".NET Framework",`$(UserProfile)\\.nuget\\packages\\reportgenerator\\${Lt.version}\\tools\\net47\\ReportGenerator.exe`),new ws(".NET Core",`dotnet $(UserProfile)\\.nuget\\packages\\reportgenerator\\${Lt.version}\\tools\\net6.0\\ReportGenerator.dll`)]),new ic("dotnet-reportgenerator-globaltool","https://www.nuget.org/packages/dotnet-reportgenerator-globaltool",[".NET Core"],"Use this package if your project is based on .NET Core and you want to use ReportGenerator as a (global) 'DotnetTool'.",[new kh(".NET CLI",`dotnet tool install --global dotnet-reportgenerator-globaltool --version ${Lt.version}\r\n\r\ndotnet tool install dotnet-reportgenerator-globaltool --tool-path tools --version ${Lt.version}\r\n\r\ndotnet new tool-manifest\r\ndotnet tool install dotnet-reportgenerator-globaltool --version ${Lt.version}`)],[new ws(".NET Core","reportgenerator")]),new Y3("Azure DevOps","https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator",["Azure DevOps"],"Use this package within Azure DevOps",[],[new ws("Azure DevOps","reportgenerator")]),new X3("GitHub Action","https://github.com/marketplace/actions/reportgenerator",["Github Action"],"Use this package within Github Actions",[],[new ws("Github Action","danielpalme/ReportGenerator-GitHub-Action")])],this.selectedEnvironment=this.environments[0],this.selectedPackage=this.packages[0]}selectedEnvironmentChanged(){this.selectedPackage=this.packages.find(n=>n.runtimes.indexOf(this.selectedEnvironment.name)>-1)}severalPackagesAvailable(){return this.packages.filter(n=>n.runtimes.indexOf(this.selectedEnvironment.name)>-1).length>1}getUsage(){const n=this.configuration.getUsage(this.selectedPackage,this.selectedEnvironment.name);return this.lastResult!==n&&(this.lastResult=n,this.usageCopied=!1),n}copy(){try{navigator.clipboard.writeText(this.getUsage()),this.usageCopied=!0}catch(n){console.error("Failed to copy license",n)}}scrollToHistoryDir(){return document.querySelector("#historydir").scrollIntoView(!0),!1}trackByIndex(n,o){return n}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275cmp=vt({type:e,selectors:[["app-usage-component"]],standalone:!0,features:[Mt],decls:219,vars:41,consts:[[1,"container"],[1,"mb-4"],[1,"row"],[1,"col-md-7"],["class","form-check",4,"ngFor","ngForOf"],[4,"ngIf"],[1,"alert","alert-info"],["class","mb-3",4,"ngFor","ngForOf","ngForTrackBy"],[1,"input-group","mb-3"],["href","",3,"click"],[1,"fa","fa-plus-circle"],["type","text","name","targetdir","placeholder","The target directory","required","",1,"form-control",3,"ngModel","ngModelChange"],["href","https://danielpalme.github.io/ReportGenerator/resources/SampleReports.zip"],[1,"me-2"],["type","button","class","btn btn-sm me-1 mb-1",3,"ngClass","click",4,"ngFor","ngForOf","ngForTrackBy"],[4,"ngFor","ngForOf","ngForTrackBy"],["class","input-group mb-3",4,"ngFor","ngForOf","ngForTrackBy"],["id","historydir"],["type","text","name","historydir","placeholder","The history directory",1,"form-control",3,"ngModel","required","ngModelChange"],["href","https://github.com/danielpalme/ReportGenerator/wiki/Custom-reports"],["href","https://github.com/danielpalme/ReportGenerator/wiki/Custom-history-storage"],["name","verbosity",1,"form-select",3,"ngModel","ngModelChange"],[3,"value",4,"ngFor","ngForOf","ngForTrackBy"],["type","text","name","title","placeholder","Title",1,"form-control",3,"ngModel","ngModelChange"],["type","text","name","tag","placeholder","Optional tag or build version",1,"form-control",3,"ngModel","ngModelChange"],[3,"routerLink"],["type","text","name","license","placeholder","Optional license for PRO version","rows","4",1,"form-control",3,"ngModel","ngModelChange"],[1,"col-md-5"],[1,"d-md-none","mt-5"],["target","_blank",3,"href"],["class","mt-2",4,"ngFor","ngForOf"],[1,"mt-4"],[1,"text-dark","bg-light","p-2","border"],[1,"btn","btn-outline-dark","mt-2",3,"click"],[1,"d-none","d-md-block","sticky"],[1,"form-check"],[1,"form-check-label"],["type","radio","name","environment",1,"form-check-input",3,"ngModel","value","checked","ngModelChange"],[1,"mb-3"],[4,"ngFor","ngForOf"],["class","form-check",4,"ngIf"],["type","radio","name","package",1,"form-check-input",3,"ngModel","value","ngModelChange"],[3,"ngClass"],["type","text","placeholder","The path of the coverage file","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["class","input-group-text",3,"click",4,"ngIf"],[1,"input-group-text",3,"click"],["href",""],[1,"fa","fa-trash","text-danger"],["type","button",1,"btn","btn-sm","me-1","mb-1",3,"ngClass","click"],["class","form-check mt-1",4,"ngIf"],[1,"form-check","mt-1"],["type","checkbox","name","reporttype",1,"form-check-input",3,"checked","change"],["class","text-danger ms-2",4,"ngIf"],[1,"text-danger","ms-2"],[1,"fa-solid","fa-triangle-exclamation"],[1,"mt-1"],[1,"fa-solid","fa-arrow-up-right-from-square"],[1,"input-group"],["type","text","placeholder","The source directory","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["type","text","placeholder","The path of the plugin","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["type","text","placeholder","The include or exclude filter for assemlies","pattern","^[+-].+$","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["type","text","placeholder","The include or exclude filter for classes","pattern","^[+-].+$","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["type","text","placeholder","The include or exclude filter for files","pattern","^[+-].+$","required","",1,"form-control",3,"name","ngModel","ngModelChange"],[3,"value"],[1,"mt-2"],[1,"fa-solid","fa-copy"],[1,"fa-solid","fa-check","text-success"]],template:function(n,o){1&n&&(h(0,"div",0)(1,"h1",1),f(2,"Usage"),p(),h(3,"div",2)(4,"div",3)(5,"form")(6,"h3"),f(7,"Environment"),p(),P(8,J3,8,5,"div",4),v(9,"hr"),P(10,tj,4,1,"ng-container",5),v(11,"hr"),h(12,"h3"),f(13,"Reports"),p(),h(14,"div",6),f(15,"Path to the coverage report(s) that should be parsed."),v(16,"br"),f(17,"Globbing is supported."),p(),P(18,oj,4,6,"div",7),h(19,"div",8)(20,"a",9),R("click",function(){return o.configuration.addReport()}),v(21,"i",10),f(22," Add report"),p()(),v(23,"br"),h(24,"h3"),f(25,"Target directory"),p(),h(26,"div",6),f(27,"The directory where the generated report(s) should be saved."),p(),h(28,"div",8)(29,"input",11),R("ngModelChange",function(s){return o.configuration.targetdir=s}),p()(),v(30,"br"),h(31,"h3"),f(32,"Report types"),p(),h(33,"div",6),f(34,"Download "),h(35,"a",12),f(36,"sample reports"),p()(),h(37,"span",13),f(38,"Filter:"),p(),P(39,sj,2,5,"button",14),v(40,"br"),P(41,uj,2,1,"ng-container",15),h(42,"h3"),f(43,"Source directories"),p(),h(44,"div",6),f(45,"Optional directories which contain the corresponding source code."),v(46,"br"),f(47,"The source directories are used if coverage report contains classes without path information."),p(),P(48,dj,6,2,"div",16),h(49,"div",8)(50,"a",9),R("click",function(){return o.configuration.addSourceDirectory()}),v(51,"i",10),f(52," Add source directory"),p()(),v(53,"br"),h(54,"h3",17),f(55,"History directory"),p(),h(56,"div",6),f(57,"Optional directory for storing "),h(58,"b"),f(59,"persistent"),p(),f(60," coverage information. Choose a directory which does not get deleted between builds."),v(61,"br"),f(62,"Required to show the history chart in the HTML reports."),p(),h(63,"div",8)(64,"input",18),R("ngModelChange",function(s){return o.configuration.historydir=s}),p()(),v(65,"br"),h(66,"h3"),f(67,"Plugins"),p(),h(68,"div",6),f(69,"Optional plugin files for "),h(70,"a",19),f(71,"custom reports"),p(),f(72," or "),h(73,"a",20),f(74,"custom history storage"),p(),f(75,"."),p(),P(76,fj,6,2,"div",16),h(77,"div",8)(78,"a",9),R("click",function(){return o.configuration.addPlugin()}),v(79,"i",10),f(80," Add plugin"),p()(),v(81,"br"),h(82,"h3"),f(83,"Assembly filters"),p(),h(84,"div",6),f(85,"Optional list of "),h(86,"b"),f(87,"assemblies"),p(),f(88," that should be included or excluded in the report. "),v(89,"br"),f(90,"Exclusion filters take precedence over inclusion filters. "),v(91,"br"),f(92,"Wildcards are allowed."),v(93,"br"),h(94,"p"),f(95,"Examples:"),v(96,"br"),h(97,"code"),f(98,"+Included"),p(),v(99,"br"),h(100,"code"),f(101,"-Excluded"),p()()(),P(102,hj,6,2,"div",16),h(103,"div",8)(104,"a",9),R("click",function(){return o.configuration.addAssemblyFilter()}),v(105,"i",10),f(106," Add assembly filter"),p()(),v(107,"br"),h(108,"h3"),f(109,"Class filters"),p(),h(110,"div",6),f(111,"Optional list of "),h(112,"b"),f(113,"classes"),p(),f(114," that should be included or excluded in the report. "),v(115,"br"),f(116,"Exclusion filters take precedence over inclusion filters. "),v(117,"br"),f(118,"Wildcards are allowed."),v(119,"br"),h(120,"p"),f(121,"Examples:"),v(122,"br"),h(123,"code"),f(124,"+Included"),p(),v(125,"br"),h(126,"code"),f(127,"-Excluded"),p()()(),P(128,pj,6,2,"div",16),h(129,"div",8)(130,"a",9),R("click",function(){return o.configuration.addClassFilter()}),v(131,"i",10),f(132," Add class filter"),p()(),v(133,"br"),h(134,"h3"),f(135,"File filters"),p(),h(136,"div",6),f(137,"Optional list of "),h(138,"b"),f(139,"files"),p(),f(140," that should be included or excluded in the report. "),v(141,"br"),f(142,"Exclusion filters take precedence over inclusion filters. "),v(143,"br"),f(144,"Wildcards are allowed."),v(145,"br"),h(146,"p"),f(147,"Examples:"),v(148,"br"),h(149,"code"),f(150,"+Included"),p(),v(151,"br"),h(152,"code"),f(153,"-Excluded"),p()()(),P(154,gj,6,2,"div",16),h(155,"div",8)(156,"a",9),R("click",function(){return o.configuration.addFileFilter()}),v(157,"i",10),f(158," Add file filter"),p()(),v(159,"br"),h(160,"h3"),f(161,"Verbosity"),p(),h(162,"div",6),f(163,"The verbosity level of the log messages."),p(),h(164,"div",8)(165,"select",21),R("ngModelChange",function(s){return o.configuration.selectedverbosity=s}),P(166,mj,2,2,"option",22),p()(),v(167,"br"),h(168,"h3"),f(169,"Title"),p(),h(170,"div",6),f(171,"Optional title."),p(),h(172,"div",8)(173,"input",23),R("ngModelChange",function(s){return o.configuration.title=s}),p()(),v(174,"br"),h(175,"h3"),f(176,"Tag"),p(),h(177,"div",6),f(178,"Optional tag or build version."),p(),h(179,"div",8)(180,"input",24),R("ngModelChange",function(s){return o.configuration.tag=s}),p()(),v(181,"br"),h(182,"h3"),f(183,"License"),p(),h(184,"div",6),f(185,"Optional license. Get your license here: "),h(186,"a",25),f(187,"https://reportgenerator.io/pro"),p()(),h(188,"div",8)(189,"textarea",26),R("ngModelChange",function(s){return o.configuration.license=s}),p()()()(),h(190,"div",27)(191,"div",28)(192,"h3"),f(193,"Instructions"),p(),f(194," Install "),h(195,"a",29),f(196),p(),P(197,vj,6,2,"div",30),h(198,"h4",31),f(199,"Usage"),p(),h(200,"pre",32),f(201),p(),h(202,"button",33),R("click",function(){return o.copy()}),P(203,yj,3,0,"span",5),P(204,_j,3,0,"span",5),p()(),h(205,"div",34)(206,"h3"),f(207,"Instructions"),p(),f(208," Install "),h(209,"a",29),f(210),p(),P(211,Cj,6,2,"div",30),h(212,"h4",31),f(213,"Usage"),p(),h(214,"pre",32),f(215),p(),h(216,"button",33),R("click",function(){return o.copy()}),P(217,Dj,3,0,"span",5),P(218,bj,3,0,"span",5),p()()()()()),2&n&&(_(8),w("ngForOf",o.environments),_(2),w("ngIf",o.severalPackagesAvailable()),_(8),w("ngForOf",o.configuration.reports)("ngForTrackBy",o.trackByIndex),_(11),w("ngModel",o.configuration.targetdir),_(10),w("ngForOf",o.configuration.types)("ngForTrackBy",o.trackByIndex),_(2),w("ngForOf",o.configuration.reporttypes)("ngForTrackBy",o.trackByIndex),_(7),w("ngForOf",o.configuration.sourcedirectories)("ngForTrackBy",o.trackByIndex),_(16),w("ngModel",o.configuration.historydir)("required",o.configuration.historyDirRequired()),_(12),w("ngForOf",o.configuration.plugins)("ngForTrackBy",o.trackByIndex),_(26),w("ngForOf",o.configuration.assemblyfilters)("ngForTrackBy",o.trackByIndex),_(26),w("ngForOf",o.configuration.classfilters)("ngForTrackBy",o.trackByIndex),_(26),w("ngForOf",o.configuration.filefilters)("ngForTrackBy",o.trackByIndex),_(11),w("ngModel",o.configuration.selectedverbosity),_(1),w("ngForOf",o.configuration.verbosities)("ngForTrackBy",o.trackByIndex),_(7),w("ngModel",o.configuration.title),_(7),w("ngModel",o.configuration.tag),_(6),w("routerLink",K(40,wj)),_(3),w("ngModel",o.configuration.license),_(6),w("href",o.selectedPackage.url,ro),_(1),Ce(o.selectedPackage.name),_(1),w("ngForOf",o.selectedPackage.installOptions),_(4),Ce(o.getUsage()),_(2),w("ngIf",!o.usageCopied),_(1),w("ngIf",o.usageCopied),_(5),w("href",o.selectedPackage.url,ro),_(1),Ce(o.selectedPackage.name),_(1),w("ngForOf",o.selectedPackage.installOptions),_(4),Ce(o.getUsage()),_(2),w("ngIf",!o.usageCopied),_(1),w("ngIf",o.usageCopied))},dependencies:[ec,Xl,Ww,Yw,jo,Jl,bh,Ul,Bl,$o,Th,Cs,Bo,Ef,vl,ml,pn],styles:[".sticky[_ngcontent-%COMP%]{position:sticky;top:100px}"]}),t})(),title:"Usage",data:{canonical:"/usage"}},{path:"usage.html",redirectTo:"/usage"},{path:"pro",component:Z3,title:"PRO",data:{canonical:"/pro"}},{path:"pro.html",redirectTo:"/pro"},{path:"contact",component:r3,title:"Contact",data:{canonical:"/contact"}},{path:"contact.html",redirectTo:"/contact"},{path:"404",component:f3,title:"404 - Not found"},{path:"**",redirectTo:"/404"}];(function Zk(e,t){return BN({rootComponent:e,...$D(t)})})(xL,{providers:[xm(eF,(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Cn({type:e}),e.\u0275inj=en({imports:[Xb.forRoot(Ej,{scrollPositionRestoration:"enabled",scrollOffset:[0,0],anchorScrolling:"enabled"}),Xb]}),t})(),ec),bE,wE,yE,function qV(...e){const t=[Nh,hE,dE,{provide:tc,useExisting:dE},{provide:nc,useExisting:hE},{provide:bs,useValue:zV,multi:!0},{provide:Oh,useValue:!0},{provide:mE,useClass:GV}];for(const r of e)t.push(...r.\u0275providers);return Ru(t)}(function WV(){return function Ar(e,t){return{\u0275kind:e,\u0275providers:t}}(or.LegacyInterceptors,[{provide:vE,useFactory:FV},{provide:bs,useExisting:vE,multi:!0}])}())]}).catch(e=>console.error(e))}},ue=>{ue(ue.s=603)}]);
\ No newline at end of file
+"use strict";(self.webpackChunkReportGenerator_io=self.webpackChunkReportGenerator_io||[]).push([[179],{603:()=>{function ue(e){return"function"==typeof e}function Wo(e){const r=e(n=>{Error.call(n),n.stack=(new Error).stack});return r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r}const Es=Wo(e=>function(r){e(this),this.message=r?`${r.length} errors occurred during unsubscription:\n${r.map((n,o)=>`${o+1}) ${n.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=r});function Zo(e,t){if(e){const r=e.indexOf(t);0<=r&&e.splice(r,1)}}class gt{constructor(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}unsubscribe(){let t;if(!this.closed){this.closed=!0;const{_parentage:r}=this;if(r)if(this._parentage=null,Array.isArray(r))for(const i of r)i.remove(this);else r.remove(this);const{initialTeardown:n}=this;if(ue(n))try{n()}catch(i){t=i instanceof Es?i.errors:[i]}const{_finalizers:o}=this;if(o){this._finalizers=null;for(const i of o)try{Vh(i)}catch(s){t=t??[],s instanceof Es?t=[...t,...s.errors]:t.push(s)}}if(t)throw new Es(t)}}add(t){var r;if(t&&t!==this)if(this.closed)Vh(t);else{if(t instanceof gt){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=null!==(r=this._finalizers)&&void 0!==r?r:[]).push(t)}}_hasParent(t){const{_parentage:r}=this;return r===t||Array.isArray(r)&&r.includes(t)}_addParent(t){const{_parentage:r}=this;this._parentage=Array.isArray(r)?(r.push(t),r):r?[r,t]:t}_removeParent(t){const{_parentage:r}=this;r===t?this._parentage=null:Array.isArray(r)&&Zo(r,t)}remove(t){const{_finalizers:r}=this;r&&Zo(r,t),t instanceof gt&&t._removeParent(this)}}gt.EMPTY=(()=>{const e=new gt;return e.closed=!0,e})();const Fh=gt.EMPTY;function Lh(e){return e instanceof gt||e&&"closed"in e&&ue(e.remove)&&ue(e.add)&&ue(e.unsubscribe)}function Vh(e){ue(e)?e():e.unsubscribe()}const ir={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1},Ms={setTimeout(e,t,...r){const{delegate:n}=Ms;return n?.setTimeout?n.setTimeout(e,t,...r):setTimeout(e,t,...r)},clearTimeout(e){const{delegate:t}=Ms;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0};function jh(e){Ms.setTimeout(()=>{const{onUnhandledError:t}=ir;if(!t)throw e;t(e)})}function lc(){}const ME=cc("C",void 0,void 0);function cc(e,t,r){return{kind:e,value:t,error:r}}let sr=null;function Is(e){if(ir.useDeprecatedSynchronousErrorHandling){const t=!sr;if(t&&(sr={errorThrown:!1,error:null}),e(),t){const{errorThrown:r,error:n}=sr;if(sr=null,r)throw n}}else e()}class uc extends gt{constructor(t){super(),this.isStopped=!1,t?(this.destination=t,Lh(t)&&t.add(this)):this.destination=NE}static create(t,r,n){return new Ss(t,r,n)}next(t){this.isStopped?fc(function SE(e){return cc("N",e,void 0)}(t),this):this._next(t)}error(t){this.isStopped?fc(function IE(e){return cc("E",void 0,e)}(t),this):(this.isStopped=!0,this._error(t))}complete(){this.isStopped?fc(ME,this):(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe(),this.destination=null)}_next(t){this.destination.next(t)}_error(t){try{this.destination.error(t)}finally{this.unsubscribe()}}_complete(){try{this.destination.complete()}finally{this.unsubscribe()}}}const AE=Function.prototype.bind;function dc(e,t){return AE.call(e,t)}class xE{constructor(t){this.partialObserver=t}next(t){const{partialObserver:r}=this;if(r.next)try{r.next(t)}catch(n){Ts(n)}}error(t){const{partialObserver:r}=this;if(r.error)try{r.error(t)}catch(n){Ts(n)}else Ts(t)}complete(){const{partialObserver:t}=this;if(t.complete)try{t.complete()}catch(r){Ts(r)}}}class Ss extends uc{constructor(t,r,n){let o;if(super(),ue(t)||!t)o={next:t??void 0,error:r??void 0,complete:n??void 0};else{let i;this&&ir.useDeprecatedNextContext?(i=Object.create(t),i.unsubscribe=()=>this.unsubscribe(),o={next:t.next&&dc(t.next,i),error:t.error&&dc(t.error,i),complete:t.complete&&dc(t.complete,i)}):o=t}this.destination=new xE(o)}}function Ts(e){ir.useDeprecatedSynchronousErrorHandling?function TE(e){ir.useDeprecatedSynchronousErrorHandling&&sr&&(sr.errorThrown=!0,sr.error=e)}(e):jh(e)}function fc(e,t){const{onStoppedNotification:r}=ir;r&&Ms.setTimeout(()=>r(e,t))}const NE={closed:!0,next:lc,error:function RE(e){throw e},complete:lc},hc="function"==typeof Symbol&&Symbol.observable||"@@observable";function jn(e){return e}function Hh(e){return 0===e.length?jn:1===e.length?e[0]:function(r){return e.reduce((n,o)=>o(n),r)}}let Ie=(()=>{class e{constructor(r){r&&(this._subscribe=r)}lift(r){const n=new e;return n.source=this,n.operator=r,n}subscribe(r,n,o){const i=function kE(e){return e&&e instanceof uc||function PE(e){return e&&ue(e.next)&&ue(e.error)&&ue(e.complete)}(e)&&Lh(e)}(r)?r:new Ss(r,n,o);return Is(()=>{const{operator:s,source:a}=this;i.add(s?s.call(i,a):a?this._subscribe(i):this._trySubscribe(i))}),i}_trySubscribe(r){try{return this._subscribe(r)}catch(n){r.error(n)}}forEach(r,n){return new(n=Uh(n))((o,i)=>{const s=new Ss({next:a=>{try{r(a)}catch(l){i(l),s.unsubscribe()}},error:i,complete:o});this.subscribe(s)})}_subscribe(r){var n;return null===(n=this.source)||void 0===n?void 0:n.subscribe(r)}[hc](){return this}pipe(...r){return Hh(r)(this)}toPromise(r){return new(r=Uh(r))((n,o)=>{let i;this.subscribe(s=>i=s,s=>o(s),()=>n(i))})}}return e.create=t=>new e(t),e})();function Uh(e){var t;return null!==(t=e??ir.Promise)&&void 0!==t?t:Promise}const FE=Wo(e=>function(){e(this),this.name="ObjectUnsubscribedError",this.message="object unsubscribed"});let Vt=(()=>{class e extends Ie{constructor(){super(),this.closed=!1,this.currentObservers=null,this.observers=[],this.isStopped=!1,this.hasError=!1,this.thrownError=null}lift(r){const n=new Bh(this,this);return n.operator=r,n}_throwIfClosed(){if(this.closed)throw new FE}next(r){Is(()=>{if(this._throwIfClosed(),!this.isStopped){this.currentObservers||(this.currentObservers=Array.from(this.observers));for(const n of this.currentObservers)n.next(r)}})}error(r){Is(()=>{if(this._throwIfClosed(),!this.isStopped){this.hasError=this.isStopped=!0,this.thrownError=r;const{observers:n}=this;for(;n.length;)n.shift().error(r)}})}complete(){Is(()=>{if(this._throwIfClosed(),!this.isStopped){this.isStopped=!0;const{observers:r}=this;for(;r.length;)r.shift().complete()}})}unsubscribe(){this.isStopped=this.closed=!0,this.observers=this.currentObservers=null}get observed(){var r;return(null===(r=this.observers)||void 0===r?void 0:r.length)>0}_trySubscribe(r){return this._throwIfClosed(),super._trySubscribe(r)}_subscribe(r){return this._throwIfClosed(),this._checkFinalizedStatuses(r),this._innerSubscribe(r)}_innerSubscribe(r){const{hasError:n,isStopped:o,observers:i}=this;return n||o?Fh:(this.currentObservers=null,i.push(r),new gt(()=>{this.currentObservers=null,Zo(i,r)}))}_checkFinalizedStatuses(r){const{hasError:n,thrownError:o,isStopped:i}=this;n?r.error(o):i&&r.complete()}asObservable(){const r=new Ie;return r.source=this,r}}return e.create=(t,r)=>new Bh(t,r),e})();class Bh extends Vt{constructor(t,r){super(),this.destination=t,this.source=r}next(t){var r,n;null===(n=null===(r=this.destination)||void 0===r?void 0:r.next)||void 0===n||n.call(r,t)}error(t){var r,n;null===(n=null===(r=this.destination)||void 0===r?void 0:r.error)||void 0===n||n.call(r,t)}complete(){var t,r;null===(r=null===(t=this.destination)||void 0===t?void 0:t.complete)||void 0===r||r.call(t)}_subscribe(t){var r,n;return null!==(n=null===(r=this.source)||void 0===r?void 0:r.subscribe(t))&&void 0!==n?n:Fh}}function $h(e){return ue(e?.lift)}function Pe(e){return t=>{if($h(t))return t.lift(function(r){try{return e(r,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}function Re(e,t,r,n,o){return new LE(e,t,r,n,o)}class LE extends uc{constructor(t,r,n,o,i,s){super(t),this.onFinalize=i,this.shouldUnsubscribe=s,this._next=r?function(a){try{r(a)}catch(l){t.error(l)}}:super._next,this._error=o?function(a){try{o(a)}catch(l){t.error(l)}finally{this.unsubscribe()}}:super._error,this._complete=n?function(){try{n()}catch(a){t.error(a)}finally{this.unsubscribe()}}:super._complete}unsubscribe(){var t;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){const{closed:r}=this;super.unsubscribe(),!r&&(null===(t=this.onFinalize)||void 0===t||t.call(this))}}}function ee(e,t){return Pe((r,n)=>{let o=0;r.subscribe(Re(n,i=>{n.next(e.call(t,i,o++))}))})}function Hn(e){return this instanceof Hn?(this.v=e,this):new Hn(e)}function Wh(e){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var r,t=e[Symbol.asyncIterator];return t?t.call(e):(e=function vc(e){var t="function"==typeof Symbol&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&"number"==typeof e.length)return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}(e),r={},n("next"),n("throw"),n("return"),r[Symbol.asyncIterator]=function(){return this},r);function n(i){r[i]=e[i]&&function(s){return new Promise(function(a,l){!function o(i,s,a,l){Promise.resolve(l).then(function(c){i({value:c,done:a})},s)}(a,l,(s=e[i](s)).done,s.value)})}}}"function"==typeof SuppressedError&&SuppressedError;const Zh=e=>e&&"number"==typeof e.length&&"function"!=typeof e;function Yh(e){return ue(e?.then)}function Qh(e){return ue(e[hc])}function Xh(e){return Symbol.asyncIterator&&ue(e?.[Symbol.asyncIterator])}function Jh(e){return new TypeError(`You provided ${null!==e&&"object"==typeof e?"an invalid object":`'${e}'`} where a stream was expected. You can provide an Observable, Promise, ReadableStream, Array, AsyncIterable, or Iterable.`)}const Kh=function i1(){return"function"==typeof Symbol&&Symbol.iterator?Symbol.iterator:"@@iterator"}();function ep(e){return ue(e?.[Kh])}function tp(e){return function qh(e,t,r){if(!Symbol.asyncIterator)throw new TypeError("Symbol.asyncIterator is not defined.");var o,n=r.apply(e,t||[]),i=[];return o={},s("next"),s("throw"),s("return"),o[Symbol.asyncIterator]=function(){return this},o;function s(g){n[g]&&(o[g]=function(m){return new Promise(function(y,C){i.push([g,m,y,C])>1||a(g,m)})})}function a(g,m){try{!function l(g){g.value instanceof Hn?Promise.resolve(g.value.v).then(c,u):d(i[0][2],g)}(n[g](m))}catch(y){d(i[0][3],y)}}function c(g){a("next",g)}function u(g){a("throw",g)}function d(g,m){g(m),i.shift(),i.length&&a(i[0][0],i[0][1])}}(this,arguments,function*(){const r=e.getReader();try{for(;;){const{value:n,done:o}=yield Hn(r.read());if(o)return yield Hn(void 0);yield yield Hn(n)}}finally{r.releaseLock()}})}function np(e){return ue(e?.getReader)}function jt(e){if(e instanceof Ie)return e;if(null!=e){if(Qh(e))return function s1(e){return new Ie(t=>{const r=e[hc]();if(ue(r.subscribe))return r.subscribe(t);throw new TypeError("Provided object does not correctly implement Symbol.observable")})}(e);if(Zh(e))return function a1(e){return new Ie(t=>{for(let r=0;r{e.then(r=>{t.closed||(t.next(r),t.complete())},r=>t.error(r)).then(null,jh)})}(e);if(Xh(e))return rp(e);if(ep(e))return function c1(e){return new Ie(t=>{for(const r of e)if(t.next(r),t.closed)return;t.complete()})}(e);if(np(e))return function u1(e){return rp(tp(e))}(e)}throw Jh(e)}function rp(e){return new Ie(t=>{(function d1(e,t){var r,n,o,i;return function Gh(e,t,r,n){return new(r||(r=Promise))(function(i,s){function a(u){try{c(n.next(u))}catch(d){s(d)}}function l(u){try{c(n.throw(u))}catch(d){s(d)}}function c(u){u.done?i(u.value):function o(i){return i instanceof r?i:new r(function(s){s(i)})}(u.value).then(a,l)}c((n=n.apply(e,t||[])).next())})}(this,void 0,void 0,function*(){try{for(r=Wh(e);!(n=yield r.next()).done;)if(t.next(n.value),t.closed)return}catch(s){o={error:s}}finally{try{n&&!n.done&&(i=r.return)&&(yield i.call(r))}finally{if(o)throw o.error}}t.complete()})})(e,t).catch(r=>t.error(r))})}function vn(e,t,r,n=0,o=!1){const i=t.schedule(function(){r(),o?e.add(this.schedule(null,n)):this.unsubscribe()},n);if(e.add(i),!o)return i}function Ve(e,t,r=1/0){return ue(t)?Ve((n,o)=>ee((i,s)=>t(n,i,o,s))(jt(e(n,o))),r):("number"==typeof t&&(r=t),Pe((n,o)=>function f1(e,t,r,n,o,i,s,a){const l=[];let c=0,u=0,d=!1;const g=()=>{d&&!l.length&&!c&&t.complete()},m=C=>c{i&&t.next(C),c++;let b=!1;jt(r(C,u++)).subscribe(Re(t,E=>{o?.(E),i?m(E):t.next(E)},()=>{b=!0},void 0,()=>{if(b)try{for(c--;l.length&&cy(E)):y(E)}g()}catch(E){t.error(E)}}))};return e.subscribe(Re(t,m,()=>{d=!0,g()})),()=>{a?.()}}(n,o,e,r)))}function Rr(e=1/0){return Ve(jn,e)}const Kt=new Ie(e=>e.complete());function yc(e){return e[e.length-1]}function op(e){return ue(yc(e))?e.pop():void 0}function Yo(e){return function p1(e){return e&&ue(e.schedule)}(yc(e))?e.pop():void 0}function ip(e,t=0){return Pe((r,n)=>{r.subscribe(Re(n,o=>vn(n,e,()=>n.next(o),t),()=>vn(n,e,()=>n.complete(),t),o=>vn(n,e,()=>n.error(o),t)))})}function sp(e,t=0){return Pe((r,n)=>{n.add(e.schedule(()=>r.subscribe(n),t))})}function ap(e,t){if(!e)throw new Error("Iterable cannot be null");return new Ie(r=>{vn(r,t,()=>{const n=e[Symbol.asyncIterator]();vn(r,t,()=>{n.next().then(o=>{o.done?r.complete():r.next(o.value)})},0,!0)})})}function Ne(e,t){return t?function D1(e,t){if(null!=e){if(Qh(e))return function m1(e,t){return jt(e).pipe(sp(t),ip(t))}(e,t);if(Zh(e))return function y1(e,t){return new Ie(r=>{let n=0;return t.schedule(function(){n===e.length?r.complete():(r.next(e[n++]),r.closed||this.schedule())})})}(e,t);if(Yh(e))return function v1(e,t){return jt(e).pipe(sp(t),ip(t))}(e,t);if(Xh(e))return ap(e,t);if(ep(e))return function _1(e,t){return new Ie(r=>{let n;return vn(r,t,()=>{n=e[Kh](),vn(r,t,()=>{let o,i;try{({value:o,done:i}=n.next())}catch(s){return void r.error(s)}i?r.complete():r.next(o)},0,!0)}),()=>ue(n?.return)&&n.return()})}(e,t);if(np(e))return function C1(e,t){return ap(tp(e),t)}(e,t)}throw Jh(e)}(e,t):jt(e)}class At extends Vt{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const r=super._subscribe(t);return!r.closed&&t.next(this._value),r}getValue(){const{hasError:t,thrownError:r,_value:n}=this;if(t)throw r;return this._throwIfClosed(),n}next(t){super.next(this._value=t)}}function V(...e){return Ne(e,Yo(e))}function ar(e){return e<=0?()=>Kt:Pe((t,r)=>{let n=0;t.subscribe(Re(r,o=>{++n<=e&&(r.next(o),e<=n&&r.complete())}))})}function lp(e={}){const{connector:t=(()=>new Vt),resetOnError:r=!0,resetOnComplete:n=!0,resetOnRefCountZero:o=!0}=e;return i=>{let s=null,a=null,l=null,c=0,u=!1,d=!1;const g=()=>{a?.unsubscribe(),a=null},m=()=>{g(),s=l=null,u=d=!1},y=()=>{const C=s;m(),C?.unsubscribe()};return Pe((C,b)=>{c++,!d&&!u&&g();const E=l=l??t();b.add(()=>{c--,0===c&&!d&&!u&&(a=_c(y,o))}),E.subscribe(b),s||(s=new Ss({next:D=>E.next(D),error:D=>{d=!0,g(),a=_c(m,r,D),E.error(D)},complete:()=>{u=!0,g(),a=_c(m,n),E.complete()}}),Ne(C).subscribe(s))})(i)}}function _c(e,t,...r){return!0===t?(e(),null):!1===t?null:t(...r).pipe(ar(1)).subscribe(()=>e())}function Ht(e,t){return Pe((r,n)=>{let o=null,i=0,s=!1;const a=()=>s&&!o&&n.complete();r.subscribe(Re(n,l=>{o?.unsubscribe();let c=0;const u=i++;jt(e(l,u)).subscribe(o=Re(n,d=>n.next(t?t(l,d,u,c++):d),()=>{o=null,a()}))},()=>{s=!0,a()}))})}function E1(e,t){return e===t}function ae(e){for(let t in e)if(e[t]===ae)return t;throw Error("Could not find renamed property on target object.")}function As(e,t){for(const r in t)t.hasOwnProperty(r)&&!e.hasOwnProperty(r)&&(e[r]=t[r])}function ke(e){if("string"==typeof e)return e;if(Array.isArray(e))return"["+e.map(ke).join(", ")+"]";if(null==e)return""+e;if(e.overriddenName)return`${e.overriddenName}`;if(e.name)return`${e.name}`;const t=e.toString();if(null==t)return""+t;const r=t.indexOf("\n");return-1===r?t:t.substring(0,r)}function Cc(e,t){return null==e||""===e?null===t?"":t:null==t||""===t?e:e+" "+t}const M1=ae({__forward_ref__:ae});function fe(e){return e.__forward_ref__=fe,e.toString=function(){return ke(this())},e}function U(e){return Dc(e)?e():e}function Dc(e){return"function"==typeof e&&e.hasOwnProperty(M1)&&e.__forward_ref__===fe}function bc(e){return e&&!!e.\u0275providers}const cp="https://g.co/ng/security#xss";class S extends Error{constructor(t,r){super(function xs(e,t){return`NG0${Math.abs(e)}${t?": "+t:""}`}(t,r)),this.code=t}}function $(e){return"string"==typeof e?e:null==e?"":String(e)}function wc(e,t){throw new S(-201,!1)}function xt(e,t){null==e&&function j(e,t,r,n){throw new Error(`ASSERTION ERROR: ${e}`+(null==n?"":` [Expected=> ${r} ${n} ${t} <=Actual]`))}(t,e,null,"!=")}function L(e){return{token:e.token,providedIn:e.providedIn||null,factory:e.factory,value:void 0}}function en(e){return{providers:e.providers||[],imports:e.imports||[]}}function Rs(e){return up(e,Os)||up(e,dp)}function up(e,t){return e.hasOwnProperty(t)?e[t]:null}function Ns(e){return e&&(e.hasOwnProperty(Ec)||e.hasOwnProperty(O1))?e[Ec]:null}const Os=ae({\u0275prov:ae}),Ec=ae({\u0275inj:ae}),dp=ae({ngInjectableDef:ae}),O1=ae({ngInjectorDef:ae});var Y=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}(Y||{});let Mc;function it(e){const t=Mc;return Mc=e,t}function hp(e,t,r){const n=Rs(e);return n&&"root"==n.providedIn?void 0===n.value?n.value=n.factory():n.value:r&Y.Optional?null:void 0!==t?t:void wc(ke(e))}const he=globalThis,Qo={},xc="__NG_DI_FLAG__",Ps="ngTempTokenPath",F1=/\n/gm,gp="__source";let Nr;function Un(e){const t=Nr;return Nr=e,t}function j1(e,t=Y.Default){if(void 0===Nr)throw new S(-203,!1);return null===Nr?hp(e,void 0,t):Nr.get(e,t&Y.Optional?null:void 0,t)}function F(e,t=Y.Default){return(function fp(){return Mc}()||j1)(U(e),t)}function A(e,t=Y.Default){return F(e,ks(t))}function ks(e){return typeof e>"u"||"number"==typeof e?e:0|(e.optional&&8)|(e.host&&1)|(e.self&&2)|(e.skipSelf&&4)}function Rc(e){const t=[];for(let r=0;rt){s=i-1;break}}}for(;ii?"":o[d+1].toLowerCase();const m=8&n?g:null;if(m&&-1!==_p(m,c,0)||2&n&&c!==g){if(Bt(n))return!1;s=!0}}}}else{if(!s&&!Bt(n)&&!Bt(l))return!1;if(s&&Bt(l))continue;s=!1,n=l|1&n}}return Bt(n)||s}function Bt(e){return 0==(1&e)}function q1(e,t,r,n){if(null===t)return-1;let o=0;if(n||!r){let i=!1;for(;o-1)for(r++;r0?'="'+a+'"':"")+"]"}else 8&n?o+="."+s:4&n&&(o+=" "+s);else""!==o&&!Bt(s)&&(t+=Ip(i,o),o=""),n=s,i=i||!Bt(n);r++}return""!==o&&(t+=Ip(i,o)),t}function vt(e){return yn(()=>{const t=Tp(e),r={...t,decls:e.decls,vars:e.vars,template:e.template,consts:e.consts||null,ngContentSelectors:e.ngContentSelectors,onPush:e.changeDetection===Fs.OnPush,directiveDefs:null,pipeDefs:null,dependencies:t.standalone&&e.dependencies||null,getStandaloneInjector:null,signals:e.signals??!1,data:e.data||{},encapsulation:e.encapsulation||Ut.Emulated,styles:e.styles||te,_:null,schemas:e.schemas||null,tView:null,id:""};Ap(r);const n=e.dependencies;return r.directiveDefs=Vs(n,!1),r.pipeDefs=Vs(n,!0),r.id=function s0(e){let t=0;const r=[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(const o of r)t=Math.imul(31,t)+o.charCodeAt(0)<<0;return t+=2147483648,"c"+t}(r),r})}function t0(e){return X(e)||je(e)}function n0(e){return null!==e}function Cn(e){return yn(()=>({type:e.type,bootstrap:e.bootstrap||te,declarations:e.declarations||te,imports:e.imports||te,exports:e.exports||te,transitiveCompileScopes:null,schemas:e.schemas||null,id:e.id||null}))}function Sp(e,t){if(null==e)return tn;const r={};for(const n in e)if(e.hasOwnProperty(n)){let o=e[n],i=o;Array.isArray(o)&&(i=o[1],o=o[0]),r[o]=n,t&&(t[o]=i)}return r}function B(e){return yn(()=>{const t=Tp(e);return Ap(t),t})}function X(e){return e[Ls]||null}function je(e){return e[Nc]||null}function Qe(e){return e[Oc]||null}function yt(e,t){const r=e[vp]||null;if(!r&&!0===t)throw new Error(`Type ${ke(e)} does not have '\u0275mod' property.`);return r}function Tp(e){const t={};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:t,inputTransforms:null,inputConfig:e.inputs||tn,exportAs:e.exportAs||null,standalone:!0===e.standalone,signals:!0===e.signals,selectors:e.selectors||te,viewQuery:e.viewQuery||null,features:e.features||null,setInput:null,findHostDirectiveDefs:null,hostDirectives:null,inputs:Sp(e.inputs,t),outputs:Sp(e.outputs)}}function Ap(e){e.features?.forEach(t=>t(e))}function Vs(e,t){if(!e)return null;const r=t?Qe:t0;return()=>("function"==typeof e?e():e).map(n=>r(n)).filter(n0)}const we=0,T=1,q=2,_e=3,$t=4,ei=5,ze=6,Pr=7,Se=8,Bn=9,kr=10,G=11,ti=12,xp=13,Fr=14,Te=15,ni=16,Lr=17,nn=18,ri=19,Rp=20,$n=21,Dn=22,oi=23,ii=24,Q=25,kc=1,Np=2,rn=7,Vr=9,He=11;function at(e){return Array.isArray(e)&&"object"==typeof e[kc]}function Xe(e){return Array.isArray(e)&&!0===e[kc]}function Fc(e){return 0!=(4&e.flags)}function cr(e){return e.componentOffset>-1}function Hs(e){return 1==(1&e.flags)}function Gt(e){return!!e.template}function Lc(e){return 0!=(512&e[q])}function ur(e,t){return e.hasOwnProperty(_n)?e[_n]:null}let Ue=null,Us=!1;function Rt(e){const t=Ue;return Ue=e,t}const kp={version: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:()=>{}};function Lp(e){if(!ai(e)||e.dirty){if(!e.producerMustRecompute(e)&&!Hp(e))return void(e.dirty=!1);e.producerRecomputeValue(e),e.dirty=!1}}function jp(e){e.dirty=!0,function Vp(e){if(void 0===e.liveConsumerNode)return;const t=Us;Us=!0;try{for(const r of e.liveConsumerNode)r.dirty||jp(r)}finally{Us=t}}(e),e.consumerMarkedDirty?.(e)}function jc(e){return e&&(e.nextProducerIndex=0),Rt(e)}function Hc(e,t){if(Rt(t),e&&void 0!==e.producerNode&&void 0!==e.producerIndexOfThis&&void 0!==e.producerLastReadVersion){if(ai(e))for(let r=e.nextProducerIndex;re.nextProducerIndex;)e.producerNode.pop(),e.producerLastReadVersion.pop(),e.producerIndexOfThis.pop()}}function Hp(e){jr(e);for(let t=0;t0}function jr(e){e.producerNode??=[],e.producerIndexOfThis??=[],e.producerLastReadVersion??=[]}let Gp=null;const Zp=()=>{},_0=(()=>({...kp,consumerIsAlwaysLive:!0,consumerAllowSignalWrites:!1,consumerMarkedDirty:e=>{e.schedule(e.ref)},hasRun:!1,cleanupFn:Zp}))();class C0{constructor(t,r,n){this.previousValue=t,this.currentValue=r,this.firstChange=n}isFirstChange(){return this.firstChange}}function Nt(){return Yp}function Yp(e){return e.type.prototype.ngOnChanges&&(e.setInput=b0),D0}function D0(){const e=Xp(this),t=e?.current;if(t){const r=e.previous;if(r===tn)e.previous=t;else for(let n in t)r[n]=t[n];e.current=null,this.ngOnChanges(t)}}function b0(e,t,r,n){const o=this.declaredInputs[r],i=Xp(e)||function w0(e,t){return e[Qp]=t}(e,{previous:tn,current:null}),s=i.current||(i.current={}),a=i.previous,l=a[o];s[o]=new C0(l&&l.currentValue,t,a===tn),e[n]=t}Nt.ngInherit=!0;const Qp="__ngSimpleChanges__";function Xp(e){return e[Qp]||null}const on=function(e,t,r){};function pe(e){for(;Array.isArray(e);)e=e[we];return e}function $s(e,t){return pe(t[e])}function lt(e,t){return pe(t[e.index])}function eg(e,t){return e.data[t]}function _t(e,t){const r=t[e];return at(r)?r:r[we]}function zn(e,t){return null==t?null:e[t]}function tg(e){e[Lr]=0}function A0(e){1024&e[q]||(e[q]|=1024,rg(e,1))}function ng(e){1024&e[q]&&(e[q]&=-1025,rg(e,-1))}function rg(e,t){let r=e[_e];if(null===r)return;r[ei]+=t;let n=r;for(r=r[_e];null!==r&&(1===t&&1===n[ei]||-1===t&&0===n[ei]);)r[ei]+=t,n=r,r=r[_e]}const H={lFrame:pg(null),bindingsEnabled:!0,skipHydrationRootTNode:null};function sg(){return H.bindingsEnabled}function M(){return H.lFrame.lView}function J(){return H.lFrame.tView}function ne(e){return H.lFrame.contextLView=e,e[Se]}function re(e){return H.lFrame.contextLView=null,e}function Be(){let e=ag();for(;null!==e&&64===e.type;)e=e.parent;return e}function ag(){return H.lFrame.currentTNode}function sn(e,t){const r=H.lFrame;r.currentTNode=e,r.isParent=t}function zc(){return H.lFrame.isParent}function qc(){H.lFrame.isParent=!1}function Je(){const e=H.lFrame;let t=e.bindingRootIndex;return-1===t&&(t=e.bindingRootIndex=e.tView.bindingStartIndex),t}function Br(){return H.lFrame.bindingIndex++}function U0(e,t){const r=H.lFrame;r.bindingIndex=r.bindingRootIndex=e,Wc(t)}function Wc(e){H.lFrame.currentDirectiveIndex=e}function dg(){return H.lFrame.currentQueryIndex}function Yc(e){H.lFrame.currentQueryIndex=e}function $0(e){const t=e[T];return 2===t.type?t.declTNode:1===t.type?e[ze]:null}function fg(e,t,r){if(r&Y.SkipSelf){let o=t,i=e;for(;!(o=o.parent,null!==o||r&Y.Host||(o=$0(i),null===o||(i=i[Fr],10&o.type))););if(null===o)return!1;t=o,e=i}const n=H.lFrame=hg();return n.currentTNode=t,n.lView=e,!0}function Qc(e){const t=hg(),r=e[T];H.lFrame=t,t.currentTNode=r.firstChild,t.lView=e,t.tView=r,t.contextLView=e,t.bindingIndex=r.bindingStartIndex,t.inI18n=!1}function hg(){const e=H.lFrame,t=null===e?null:e.child;return null===t?pg(e):t}function pg(e){const t={currentTNode:null,isParent:!0,lView:null,tView:null,selectedIndex:-1,contextLView:null,elementDepthCount:0,currentNamespace:null,currentDirectiveIndex:-1,bindingRootIndex:-1,bindingIndex:-1,currentQueryIndex:0,parent:e,child:null,inI18n:!1};return null!==e&&(e.child=t),t}function gg(){const e=H.lFrame;return H.lFrame=e.parent,e.currentTNode=null,e.lView=null,e}const mg=gg;function Xc(){const e=gg();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 Ke(){return H.lFrame.selectedIndex}function dr(e){H.lFrame.selectedIndex=e}function be(){const e=H.lFrame;return eg(e.tView,e.selectedIndex)}let yg=!0;function Gs(){return yg}function qn(e){yg=e}function zs(e,t){for(let r=t.directiveStart,n=t.directiveEnd;r=n)break}else t[l]<0&&(e[Lr]+=65536),(a>13>16&&(3&e[q])===t&&(e[q]+=8192,Cg(a,i)):Cg(a,i)}const $r=-1;class ci{constructor(t,r,n){this.factory=t,this.resolving=!1,this.canSeeViewProviders=r,this.injectImpl=n}}function eu(e){return e!==$r}function ui(e){return 32767&e}function di(e,t){let r=function tM(e){return e>>16}(e),n=t;for(;r>0;)n=n[Fr],r--;return n}let tu=!0;function Zs(e){const t=tu;return tu=e,t}const Dg=255,bg=5;let nM=0;const an={};function Ys(e,t){const r=wg(e,t);if(-1!==r)return r;const n=t[T];n.firstCreatePass&&(e.injectorIndex=t.length,nu(n.data,e),nu(t,null),nu(n.blueprint,null));const o=Qs(e,t),i=e.injectorIndex;if(eu(o)){const s=ui(o),a=di(o,t),l=a[T].data;for(let c=0;c<8;c++)t[i+c]=a[s+c]|l[s+c]}return t[i+8]=o,i}function nu(e,t){e.push(0,0,0,0,0,0,0,0,t)}function wg(e,t){return-1===e.injectorIndex||e.parent&&e.parent.injectorIndex===e.injectorIndex||null===t[e.injectorIndex+8]?-1:e.injectorIndex}function Qs(e,t){if(e.parent&&-1!==e.parent.injectorIndex)return e.parent.injectorIndex;let r=0,n=null,o=t;for(;null!==o;){if(n=xg(o),null===n)return $r;if(r++,o=o[Fr],-1!==n.injectorIndex)return n.injectorIndex|r<<16}return $r}function ru(e,t,r){!function rM(e,t,r){let n;"string"==typeof r?n=r.charCodeAt(0)||0:r.hasOwnProperty(Jo)&&(n=r[Jo]),null==n&&(n=r[Jo]=nM++);const o=n&Dg;t.data[e+(o>>bg)]|=1<=0?t&Dg:lM:t}(r);if("function"==typeof i){if(!fg(t,e,n))return n&Y.Host?Eg(o,0,n):Mg(t,r,n,o);try{let s;if(s=i(n),null!=s||n&Y.Optional)return s;wc()}finally{mg()}}else if("number"==typeof i){let s=null,a=wg(e,t),l=$r,c=n&Y.Host?t[Te][ze]:null;for((-1===a||n&Y.SkipSelf)&&(l=-1===a?Qs(e,t):t[a+8],l!==$r&&Ag(n,!1)?(s=t[T],a=ui(l),t=di(l,t)):a=-1);-1!==a;){const u=t[T];if(Tg(i,a,u.data)){const d=iM(a,t,r,s,n,c);if(d!==an)return d}l=t[a+8],l!==$r&&Ag(n,t[T].data[a+8]===c)&&Tg(i,a,t)?(s=u,a=ui(l),t=di(l,t)):a=-1}}return o}function iM(e,t,r,n,o,i){const s=t[T],a=s.data[e+8],u=Xs(a,s,r,null==n?cr(a)&&tu:n!=s&&0!=(3&a.type),o&Y.Host&&i===a);return null!==u?fr(t,s,u,a):an}function Xs(e,t,r,n,o){const i=e.providerIndexes,s=t.data,a=1048575&i,l=e.directiveStart,u=i>>20,g=o?a+u:e.directiveEnd;for(let m=n?a:a+u;m=l&&y.type===r)return m}if(o){const m=s[l];if(m&&Gt(m)&&m.type===r)return l}return null}function fr(e,t,r,n){let o=e[r];const i=t.data;if(function J0(e){return e instanceof ci}(o)){const s=o;s.resolving&&function I1(e,t){const r=t?`. Dependency path: ${t.join(" > ")} > ${e}`:"";throw new S(-200,`Circular dependency in DI detected for ${e}${r}`)}(function se(e){return"function"==typeof e?e.name||e.toString():"object"==typeof e&&null!=e&&"function"==typeof e.type?e.type.name||e.type.toString():$(e)}(i[r]));const a=Zs(s.canSeeViewProviders);s.resolving=!0;const c=s.injectImpl?it(s.injectImpl):null;fg(e,n,Y.Default);try{o=e[r]=s.factory(void 0,i,e,n),t.firstCreatePass&&r>=n.directiveStart&&function Q0(e,t,r){const{ngOnChanges:n,ngOnInit:o,ngDoCheck:i}=t.type.prototype;if(n){const s=Yp(t);(r.preOrderHooks??=[]).push(e,s),(r.preOrderCheckHooks??=[]).push(e,s)}o&&(r.preOrderHooks??=[]).push(0-e,o),i&&((r.preOrderHooks??=[]).push(e,i),(r.preOrderCheckHooks??=[]).push(e,i))}(r,i[r],t)}finally{null!==c&&it(c),Zs(a),s.resolving=!1,mg()}}return o}function Tg(e,t,r){return!!(r[t+(e>>bg)]&1<{const t=e.prototype.constructor,r=t[_n]||ou(t),n=Object.prototype;let o=Object.getPrototypeOf(e.prototype).constructor;for(;o&&o!==n;){const i=o[_n]||ou(o);if(i&&i!==r)return i;o=Object.getPrototypeOf(o)}return i=>new i})}function ou(e){return Dc(e)?()=>{const t=ou(U(e));return t&&t()}:ur(e)}function xg(e){const t=e[T],r=t.type;return 2===r?t.declTNode:1===r?e[ze]:null}const zr="__parameters__";function Wr(e,t,r){return yn(()=>{const n=function iu(e){return function(...r){if(e){const n=e(...r);for(const o in n)this[o]=n[o]}}}(t);function o(...i){if(this instanceof o)return n.apply(this,i),this;const s=new o(...i);return a.annotation=s,a;function a(l,c,u){const d=l.hasOwnProperty(zr)?l[zr]:Object.defineProperty(l,zr,{value:[]})[zr];for(;d.length<=u;)d.push(null);return(d[u]=d[u]||[]).push(s),l}}return r&&(o.prototype=Object.create(r.prototype)),o.prototype.ngMetadataName=e,o.annotationCls=o,o})}function Yr(e,t){e.forEach(r=>Array.isArray(r)?Yr(r,t):t(r))}function Ng(e,t,r){t>=e.length?e.push(r):e.splice(t,0,r)}function Ks(e,t){return t>=e.length-1?e.pop():e.splice(t,1)[0]}function Ct(e,t,r){let n=Qr(e,t);return n>=0?e[1|n]=r:(n=~n,function mM(e,t,r,n){let o=e.length;if(o==t)e.push(r,n);else if(1===o)e.push(n,e[0]),e[0]=r;else{for(o--,e.push(e[o-1],e[o]);o>t;)e[o]=e[o-2],o--;e[t]=r,e[t+1]=n}}(e,n,t,r)),n}function su(e,t){const r=Qr(e,t);if(r>=0)return e[1|r]}function Qr(e,t){return function Og(e,t,r){let n=0,o=e.length>>r;for(;o!==n;){const i=n+(o-n>>1),s=e[i<t?o=i:n=i+1}return~(o<|^->||--!>|)/g,jM="\u200b$1\u200b";const du=new Map;let HM=0;const hu="__ngContext__";function qe(e,t){at(t)?(e[hu]=t[ri],function BM(e){du.set(e[ri],e)}(t)):e[hu]=t}let pu;function gu(e,t){return pu(e,t)}function vi(e){const t=e[_e];return Xe(t)?t[_e]:t}function Kg(e){return tm(e[ti])}function em(e){return tm(e[$t])}function tm(e){for(;null!==e&&!Xe(e);)e=e[$t];return e}function Kr(e,t,r,n,o){if(null!=n){let i,s=!1;Xe(n)?i=n:at(n)&&(s=!0,n=n[we]);const a=pe(n);0===e&&null!==r?null==o?im(t,r,a):hr(t,r,a,o||null,!0):1===e&&null!==r?hr(t,r,a,o||null,!0):2===e?function pa(e,t,r){const n=fa(e,t);n&&function aI(e,t,r,n){e.removeChild(t,r,n)}(e,n,t,r)}(t,a,s):3===e&&t.destroyNode(a),null!=i&&function uI(e,t,r,n,o){const i=r[rn];i!==pe(r)&&Kr(t,e,n,i,o);for(let a=He;at.replace(VM,jM))}(t))}function ua(e,t,r){return e.createElement(t,r)}function rm(e,t){const r=e[Vr],n=r.indexOf(t);ng(t),r.splice(n,1)}function da(e,t){if(e.length<=He)return;const r=He+t,n=e[r];if(n){const o=n[ni];null!==o&&o!==e&&rm(o,n),t>0&&(e[r-1][$t]=n[$t]);const i=Ks(e,He+t);!function KM(e,t){_i(e,t,t[G],2,null,null),t[we]=null,t[ze]=null}(n[T],n);const s=i[nn];null!==s&&s.detachView(i[T]),n[_e]=null,n[$t]=null,n[q]&=-129}return n}function vu(e,t){if(!(256&t[q])){const r=t[G];t[oi]&&Up(t[oi]),t[ii]&&Up(t[ii]),r.destroyNode&&_i(e,t,r,3,null,null),function nI(e){let t=e[ti];if(!t)return yu(e[T],e);for(;t;){let r=null;if(at(t))r=t[ti];else{const n=t[He];n&&(r=n)}if(!r){for(;t&&!t[$t]&&t!==e;)at(t)&&yu(t[T],t),t=t[_e];null===t&&(t=e),at(t)&&yu(t[T],t),r=t&&t[$t]}t=r}}(t)}}function yu(e,t){if(!(256&t[q])){t[q]&=-129,t[q]|=256,function sI(e,t){let r;if(null!=e&&null!=(r=e.destroyHooks))for(let n=0;n=0?n[s]():n[-s].unsubscribe(),i+=2}else r[i].call(n[r[i+1]]);null!==n&&(t[Pr]=null);const o=t[$n];if(null!==o){t[$n]=null;for(let i=0;i-1){const{encapsulation:i}=e.data[n.directiveStart+o];if(i===Ut.None||i===Ut.Emulated)return null}return lt(n,r)}}(e,t.parent,r)}function hr(e,t,r,n,o){e.insertBefore(t,r,n,o)}function im(e,t,r){e.appendChild(t,r)}function sm(e,t,r,n,o){null!==n?hr(e,t,r,n,o):im(e,t,r)}function fa(e,t){return e.parentNode(t)}let Cu,Eu,ma,cm=function lm(e,t,r){return 40&e.type?lt(e,r):null};function ha(e,t,r,n){const o=_u(e,n,t),i=t[G],a=function am(e,t,r){return cm(e,t,r)}(n.parent||t[ze],n,t);if(null!=o)if(Array.isArray(r))for(let l=0;le,createScript:e=>e,createScriptURL:e=>e})}catch{}return ma}()?.createScriptURL(e)||e}class _m{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${cp})`}}function Zn(e){return e instanceof _m?e.changingThisBreaksApplicationSecurity:e}function Ci(e,t){const r=function bI(e){return e instanceof _m&&e.getTypeName()||null}(e);if(null!=r&&r!==t){if("ResourceURL"===r&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${r} (see ${cp})`)}return r===t}const II=/^(?!javascript:)(?:[a-z0-9+.-]+:|[^&:\/?#]*(?:[\/?#]|$))/i;var no=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}(no||{});function ro(e){const t=bi();return t?t.sanitize(no.URL,e)||"":Ci(e,"URL")?Zn(e):function Iu(e){return(e=String(e)).match(II)?e:"unsafe:"+e}($(e))}function Im(e){const t=bi();if(t)return ym(t.sanitize(no.RESOURCE_URL,e)||"");if(Ci(e,"ResourceURL"))return ym(Zn(e));throw new S(904,!1)}function bi(){const e=M();return e&&e[kr].sanitizer}class x{constructor(t,r){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof r?this.__NG_ELEMENT_ID__=r:void 0!==r&&(this.\u0275prov=L({token:this,providedIn:r.providedIn||"root",factory:r.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}const wi=new x("ENVIRONMENT_INITIALIZER"),Tm=new x("INJECTOR",-1),Am=new x("INJECTOR_DEF_TYPES");class xu{get(t,r=Qo){if(r===Qo){const n=new Error(`NullInjectorError: No provider for ${ke(t)}!`);throw n.name="NullInjectorError",n}return r}}function Ru(e){return{\u0275providers:e}}function xm(...e){return{\u0275providers:Rm(0,e),\u0275fromNgModule:!0}}function Rm(e,...t){const r=[],n=new Set;let o;const i=s=>{r.push(s)};return Yr(t,s=>{const a=s;ya(a,i,[],n)&&(o||=[],o.push(a))}),void 0!==o&&Nm(o,i),r}function Nm(e,t){for(let r=0;r{t(i,n)})}}function ya(e,t,r,n){if(!(e=U(e)))return!1;let o=null,i=Ns(e);const s=!i&&X(e);if(i||s){if(s&&!s.standalone)return!1;o=e}else{const l=e.ngModule;if(i=Ns(l),!i)return!1;o=l}const a=n.has(o);if(s){if(a)return!1;if(n.add(o),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const c of l)ya(c,t,r,n)}}else{if(!i)return!1;{if(null!=i.imports&&!a){let c;n.add(o);try{Yr(i.imports,u=>{ya(u,t,r,n)&&(c||=[],c.push(u))})}finally{}void 0!==c&&Nm(c,t)}if(!a){const c=ur(o)||(()=>new o);t({provide:o,useFactory:c,deps:te},o),t({provide:Am,useValue:o,multi:!0},o),t({provide:wi,useValue:()=>F(o),multi:!0},o)}const l=i.providers;if(null!=l&&!a){const c=e;Nu(l,u=>{t(u,c)})}}}return o!==e&&void 0!==e.providers}function Nu(e,t){for(let r of e)bc(r)&&(r=r.\u0275providers),Array.isArray(r)?Nu(r,t):t(r)}const jI=ae({provide:String,useValue:ae});function Ou(e){return null!==e&&"object"==typeof e&&jI in e}function pr(e){return"function"==typeof e}const Pu=new x("Set Injector scope."),_a={},UI={};let ku;function Ca(){return void 0===ku&&(ku=new xu),ku}class Dt{}class Da extends Dt{get destroyed(){return this._destroyed}constructor(t,r,n,o){super(),this.parent=r,this.source=n,this.scopes=o,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,Lu(t,s=>this.processProvider(s)),this.records.set(Tm,oo(void 0,this)),o.has("environment")&&this.records.set(Dt,oo(void 0,this));const i=this.records.get(Pu);null!=i&&"string"==typeof i.value&&this.scopes.add(i.value),this.injectorDefTypes=new Set(this.get(Am.multi,te,Y.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const r of this._ngOnDestroyHooks)r.ngOnDestroy();const t=this._onDestroyHooks;this._onDestroyHooks=[];for(const r of t)r()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear()}}onDestroy(t){return this.assertNotDestroyed(),this._onDestroyHooks.push(t),()=>this.removeOnDestroy(t)}runInContext(t){this.assertNotDestroyed();const r=Un(this),n=it(void 0);try{return t()}finally{Un(r),it(n)}}get(t,r=Qo,n=Y.Default){if(this.assertNotDestroyed(),t.hasOwnProperty(yp))return t[yp](this);n=ks(n);const i=Un(this),s=it(void 0);try{if(!(n&Y.SkipSelf)){let l=this.records.get(t);if(void 0===l){const c=function qI(e){return"function"==typeof e||"object"==typeof e&&e instanceof x}(t)&&Rs(t);l=c&&this.injectableDefInScope(c)?oo(Fu(t),_a):null,this.records.set(t,l)}if(null!=l)return this.hydrate(t,l)}return(n&Y.Self?Ca():this.parent).get(t,r=n&Y.Optional&&r===Qo?null:r)}catch(a){if("NullInjectorError"===a.name){if((a[Ps]=a[Ps]||[]).unshift(ke(t)),i)throw a;return function U1(e,t,r,n){const o=e[Ps];throw t[gp]&&o.unshift(t[gp]),e.message=function B1(e,t,r,n=null){e=e&&"\n"===e.charAt(0)&&"\u0275"==e.charAt(1)?e.slice(2):e;let o=ke(t);if(Array.isArray(t))o=t.map(ke).join(" -> ");else if("object"==typeof t){let i=[];for(let s in t)if(t.hasOwnProperty(s)){let a=t[s];i.push(s+":"+("string"==typeof a?JSON.stringify(a):ke(a)))}o=`{${i.join(", ")}}`}return`${r}${n?"("+n+")":""}[${o}]: ${e.replace(F1,"\n ")}`}("\n"+e.message,o,r,n),e.ngTokenPath=o,e[Ps]=null,e}(a,t,"R3InjectorError",this.source)}throw a}finally{it(s),Un(i)}}resolveInjectorInitializers(){const t=Un(this),r=it(void 0);try{const o=this.get(wi.multi,te,Y.Self);for(const i of o)i()}finally{Un(t),it(r)}}toString(){const t=[],r=this.records;for(const n of r.keys())t.push(ke(n));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new S(205,!1)}processProvider(t){let r=pr(t=U(t))?t:U(t&&t.provide);const n=function $I(e){return Ou(e)?oo(void 0,e.useValue):oo(km(e),_a)}(t);if(pr(t)||!0!==t.multi)this.records.get(r);else{let o=this.records.get(r);o||(o=oo(void 0,_a,!0),o.factory=()=>Rc(o.multi),this.records.set(r,o)),r=t,o.multi.push(t)}this.records.set(r,n)}hydrate(t,r){return r.value===_a&&(r.value=UI,r.value=r.factory()),"object"==typeof r.value&&r.value&&function zI(e){return null!==e&&"object"==typeof e&&"function"==typeof e.ngOnDestroy}(r.value)&&this._ngOnDestroyHooks.add(r.value),r.value}injectableDefInScope(t){if(!t.providedIn)return!1;const r=U(t.providedIn);return"string"==typeof r?"any"===r||this.scopes.has(r):this.injectorDefTypes.has(r)}removeOnDestroy(t){const r=this._onDestroyHooks.indexOf(t);-1!==r&&this._onDestroyHooks.splice(r,1)}}function Fu(e){const t=Rs(e),r=null!==t?t.factory:ur(e);if(null!==r)return r;if(e instanceof x)throw new S(204,!1);if(e instanceof Function)return function BI(e){const t=e.length;if(t>0)throw function pi(e,t){const r=[];for(let n=0;nr.factory(e):()=>new e}(e);throw new S(204,!1)}function km(e,t,r){let n;if(pr(e)){const o=U(e);return ur(o)||Fu(o)}if(Ou(e))n=()=>U(e.useValue);else if(function Pm(e){return!(!e||!e.useFactory)}(e))n=()=>e.useFactory(...Rc(e.deps||[]));else if(function Om(e){return!(!e||!e.useExisting)}(e))n=()=>F(U(e.useExisting));else{const o=U(e&&(e.useClass||e.provide));if(!function GI(e){return!!e.deps}(e))return ur(o)||Fu(o);n=()=>new o(...Rc(e.deps))}return n}function oo(e,t,r=!1){return{factory:e,value:t,multi:r?[]:void 0}}function Lu(e,t){for(const r of e)Array.isArray(r)?Lu(r,t):r&&bc(r)?Lu(r.\u0275providers,t):t(r)}const ba=new x("AppId",{providedIn:"root",factory:()=>WI}),WI="ng",Fm=new x("Platform Initializer"),gr=new x("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),Lm=new x("CSP nonce",{providedIn:"root",factory:()=>function to(){if(void 0!==Eu)return Eu;if(typeof document<"u")return document;throw new S(210,!1)}().body?.querySelector("[ngCspNonce]")?.getAttribute("ngCspNonce")||null});let Vm=(e,t,r)=>null;function zu(e,t,r=!1){return Vm(e,t,r)}class rS{}class Um{}class iS{resolveComponentFactory(t){throw function oS(e){const t=Error(`No component factory found for ${ke(e)}.`);return t.ngComponent=e,t}(t)}}let Ta=(()=>{class t{}return t.NULL=new iS,t})();function sS(){return ao(Be(),M())}function ao(e,t){return new bt(lt(e,t))}let bt=(()=>{class t{constructor(n){this.nativeElement=n}}return t.__NG_ELEMENT_ID__=sS,t})();function aS(e){return e instanceof bt?e.nativeElement:e}class $m{}let Mn=(()=>{class t{constructor(){this.destroyNode=null}}return t.__NG_ELEMENT_ID__=()=>function lS(){const e=M(),r=_t(Be().index,e);return(at(r)?r:e)[G]}(),t})(),cS=(()=>{var e;class t{}return(e=t).\u0275prov=L({token:e,providedIn:"root",factory:()=>null}),t})();class Ii{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const uS=new Ii("16.2.8"),Zu={};function Wm(e,t=null,r=null,n){const o=Zm(e,t,r,n);return o.resolveInjectorInitializers(),o}function Zm(e,t=null,r=null,n,o=new Set){const i=[r||te,xm(e)];return n=n||("object"==typeof e?void 0:ke(e)),new Da(i,t||Ca(),n||null,o)}let wt=(()=>{var e;class t{static create(n,o){if(Array.isArray(n))return Wm({name:""},o,n,"");{const i=n.name??"";return Wm({name:i},n.parent,n.providers,i)}}}return(e=t).THROW_IF_NOT_FOUND=Qo,e.NULL=new xu,e.\u0275prov=L({token:e,providedIn:"any",factory:()=>F(Tm)}),e.__NG_ELEMENT_ID__=-1,t})();function Qu(e){return e.ngOriginalError}class In{constructor(){this._console=console}handleError(t){const r=this._findOriginalError(t);this._console.error("ERROR",t),r&&this._console.error("ORIGINAL ERROR",r)}_findOriginalError(t){let r=t&&Qu(t);for(;r&&Qu(r);)r=Qu(r);return r||null}}function Ju(e){return t=>{setTimeout(e,void 0,t)}}const Ee=class vS extends Vt{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,r,n){let o=t,i=r||(()=>null),s=n;if(t&&"object"==typeof t){const l=t;o=l.next?.bind(l),i=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(i=Ju(i),o&&(o=Ju(o)),s&&(s=Ju(s)));const a=super.subscribe({next:o,error:i,complete:s});return t instanceof gt&&t.add(a),a}};function Qm(...e){}class ge{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:r=!1,shouldCoalesceRunChangeDetection:n=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Ee(!1),this.onMicrotaskEmpty=new Ee(!1),this.onStable=new Ee(!1),this.onError=new Ee(!1),typeof Zone>"u")throw new S(908,!1);Zone.assertZonePatched();const o=this;o._nesting=0,o._outer=o._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(o._inner=o._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(o._inner=o._inner.fork(Zone.longStackTraceZoneSpec)),o.shouldCoalesceEventChangeDetection=!n&&r,o.shouldCoalesceRunChangeDetection=n,o.lastRequestAnimationFrameId=-1,o.nativeRequestAnimationFrame=function yS(){const e="function"==typeof he.requestAnimationFrame;let t=he[e?"requestAnimationFrame":"setTimeout"],r=he[e?"cancelAnimationFrame":"clearTimeout"];if(typeof Zone<"u"&&t&&r){const n=t[Zone.__symbol__("OriginalDelegate")];n&&(t=n);const o=r[Zone.__symbol__("OriginalDelegate")];o&&(r=o)}return{nativeRequestAnimationFrame:t,nativeCancelAnimationFrame:r}}().nativeRequestAnimationFrame,function DS(e){const t=()=>{!function CS(e){e.isCheckStableRunning||-1!==e.lastRequestAnimationFrameId||(e.lastRequestAnimationFrameId=e.nativeRequestAnimationFrame.call(he,()=>{e.fakeTopEventTask||(e.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{e.lastRequestAnimationFrameId=-1,ed(e),e.isCheckStableRunning=!0,Ku(e),e.isCheckStableRunning=!1},void 0,()=>{},()=>{})),e.fakeTopEventTask.invoke()}),ed(e))}(e)};e._inner=e._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(r,n,o,i,s,a)=>{if(function wS(e){return!(!Array.isArray(e)||1!==e.length)&&!0===e[0].data?.__ignore_ng_zone__}(a))return r.invokeTask(o,i,s,a);try{return Xm(e),r.invokeTask(o,i,s,a)}finally{(e.shouldCoalesceEventChangeDetection&&"eventTask"===i.type||e.shouldCoalesceRunChangeDetection)&&t(),Jm(e)}},onInvoke:(r,n,o,i,s,a,l)=>{try{return Xm(e),r.invoke(o,i,s,a,l)}finally{e.shouldCoalesceRunChangeDetection&&t(),Jm(e)}},onHasTask:(r,n,o,i)=>{r.hasTask(o,i),n===o&&("microTask"==i.change?(e._hasPendingMicrotasks=i.microTask,ed(e),Ku(e)):"macroTask"==i.change&&(e.hasPendingMacrotasks=i.macroTask))},onHandleError:(r,n,o,i)=>(r.handleError(o,i),e.runOutsideAngular(()=>e.onError.emit(i)),!1)})}(o)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!ge.isInAngularZone())throw new S(909,!1)}static assertNotInAngularZone(){if(ge.isInAngularZone())throw new S(909,!1)}run(t,r,n){return this._inner.run(t,r,n)}runTask(t,r,n,o){const i=this._inner,s=i.scheduleEventTask("NgZoneEvent: "+o,t,_S,Qm,Qm);try{return i.runTask(s,r,n)}finally{i.cancelTask(s)}}runGuarded(t,r,n){return this._inner.runGuarded(t,r,n)}runOutsideAngular(t){return this._outer.run(t)}}const _S={};function Ku(e){if(0==e._nesting&&!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 ed(e){e.hasPendingMicrotasks=!!(e._hasPendingMicrotasks||(e.shouldCoalesceEventChangeDetection||e.shouldCoalesceRunChangeDetection)&&-1!==e.lastRequestAnimationFrameId)}function Xm(e){e._nesting++,e.isStable&&(e.isStable=!1,e.onUnstable.emit(null))}function Jm(e){e._nesting--,Ku(e)}const Km=new x("",{providedIn:"root",factory:ev});function ev(){const e=A(ge);let t=!0;return function b1(...e){const t=Yo(e),r=function g1(e,t){return"number"==typeof yc(e)?e.pop():t}(e,1/0),n=e;return n.length?1===n.length?jt(n[0]):Rr(r)(Ne(n,t)):Kt}(new Ie(o=>{t=e.isStable&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks,e.runOutsideAngular(()=>{o.next(t),o.complete()})}),new Ie(o=>{let i;e.runOutsideAngular(()=>{i=e.onStable.subscribe(()=>{ge.assertNotInAngularZone(),queueMicrotask(()=>{!t&&!e.hasPendingMacrotasks&&!e.hasPendingMicrotasks&&(t=!0,o.next(!0))})})});const s=e.onUnstable.subscribe(()=>{ge.assertInAngularZone(),t&&(t=!1,e.runOutsideAngular(()=>{o.next(!1)}))});return()=>{i.unsubscribe(),s.unsubscribe()}}).pipe(lp()))}function Sn(e){return e instanceof Function?e():e}let td=(()=>{var e;class t{constructor(){this.renderDepth=0,this.handler=null}begin(){this.handler?.validateBegin(),this.renderDepth++}end(){this.renderDepth--,0===this.renderDepth&&this.handler?.execute()}ngOnDestroy(){this.handler?.destroy(),this.handler=null}}return(e=t).\u0275prov=L({token:e,providedIn:"root",factory:()=>new e}),t})();function Si(e){for(;e;){e[q]|=64;const t=vi(e);if(Lc(e)&&!t)return e;e=t}return null}const iv=new x("",{providedIn:"root",factory:()=>!1});let xa=null;function cv(e,t){return e[t]??fv()}function uv(e,t){const r=fv();r.producerNode?.length&&(e[t]=xa,r.lView=e,xa=dv())}const OS={...kp,consumerIsAlwaysLive:!0,consumerMarkedDirty:e=>{Si(e.lView)},lView:null};function dv(){return Object.create(OS)}function fv(){return xa??=dv(),xa}const z={};function _(e){hv(J(),M(),Ke()+e,!1)}function hv(e,t,r,n){if(!n)if(3==(3&t[q])){const i=e.preOrderCheckHooks;null!==i&&qs(t,i,r)}else{const i=e.preOrderHooks;null!==i&&Ws(t,i,0,r)}dr(r)}function I(e,t=Y.Default){const r=M();return null===r?F(e,t):Ig(Be(),r,U(e),t)}function Ra(e,t,r,n,o,i,s,a,l,c,u){const d=t.blueprint.slice();return d[we]=o,d[q]=140|n,(null!==c||e&&2048&e[q])&&(d[q]|=2048),tg(d),d[_e]=d[Fr]=e,d[Se]=r,d[kr]=s||e&&e[kr],d[G]=a||e&&e[G],d[Bn]=l||e&&e[Bn]||null,d[ze]=i,d[ri]=function UM(){return HM++}(),d[Dn]=u,d[Rp]=c,d[Te]=2==t.type?e[Te]:d,d}function uo(e,t,r,n,o){let i=e.data[t];if(null===i)i=function nd(e,t,r,n,o){const i=ag(),s=zc(),l=e.data[t]=function US(e,t,r,n,o,i){let s=t?t.injectorIndex:-1,a=0;return function Ur(){return null!==H.skipHydrationRootTNode}()&&(a|=128),{type:r,index:n,insertBeforeIndex:null,injectorIndex:s,directiveStart:-1,directiveEnd:-1,directiveStylingLast:-1,componentOffset:-1,propertyBindings:null,flags:a,providerIndexes:0,value:o,attrs:i,mergedAttrs:null,localNames:null,initialInputs:void 0,inputs:null,outputs:null,tView:null,next:null,prev:null,projectionNext:null,child:null,parent:t,projection:null,styles:null,stylesWithoutHost:null,residualStyles:void 0,classes:null,classesWithoutHost:null,residualClasses:void 0,classBindings:0,styleBindings:0}}(0,s?i:i&&i.parent,r,t,n,o);return null===e.firstChild&&(e.firstChild=l),null!==i&&(s?null==i.child&&null!==l.parent&&(i.child=l):null===i.next&&(i.next=l,l.prev=i)),l}(e,t,r,n,o),function H0(){return H.lFrame.inI18n}()&&(i.flags|=32);else if(64&i.type){i.type=r,i.value=n,i.attrs=o;const s=function li(){const e=H.lFrame,t=e.currentTNode;return e.isParent?t:t.parent}();i.injectorIndex=null===s?-1:s.injectorIndex}return sn(i,!0),i}function Ti(e,t,r,n){if(0===r)return-1;const o=t.length;for(let i=0;iQ&&hv(e,t,Q,!1),on(a?2:0,o);const c=a?i:null,u=jc(c);try{null!==c&&(c.dirty=!1),r(n,o)}finally{Hc(c,u)}}finally{a&&null===t[oi]&&uv(t,oi),dr(s),on(a?3:1,o)}}function rd(e,t,r){if(Fc(t)){const n=Rt(null);try{const i=t.directiveEnd;for(let s=t.directiveStart;snull;function yv(e,t,r,n){for(let o in e)if(e.hasOwnProperty(o)){r=null===r?{}:r;const i=e[o];null===n?_v(r,t,o,i):n.hasOwnProperty(o)&&_v(r,t,n[o],i)}return r}function _v(e,t,r,n){e.hasOwnProperty(r)?e[r].push(t,n):e[r]=[t,n]}function Et(e,t,r,n,o,i,s,a){const l=lt(t,r);let u,c=t.inputs;!a&&null!=c&&(u=c[n])?(dd(e,r,u,n,o),cr(t)&&function GS(e,t){const r=_t(t,e);16&r[q]||(r[q]|=64)}(r,t.index)):3&t.type&&(n=function $S(e){return"class"===e?"className":"for"===e?"htmlFor":"formaction"===e?"formAction":"innerHtml"===e?"innerHTML":"readonly"===e?"readOnly":"tabindex"===e?"tabIndex":e}(n),o=null!=s?s(o,t.value||"",n):o,i.setProperty(l,n,o))}function ad(e,t,r,n){if(sg()){const o=null===n?null:{"":-1},i=function QS(e,t){const r=e.directiveRegistry;let n=null,o=null;if(r)for(let i=0;i0;){const r=e[--t];if("number"==typeof r&&r<0)return r}return 0})(s)!=a&&s.push(a),s.push(r,n,i)}}(e,t,n,Ti(e,r,o.hostVars,z),o)}function ln(e,t,r,n,o,i){const s=lt(e,t);!function cd(e,t,r,n,o,i,s){if(null==i)e.removeAttribute(t,o,r);else{const a=null==s?$(i):s(i,n||"",o);e.setAttribute(t,o,a,r)}}(t[G],s,i,e.value,r,n,o)}function nT(e,t,r,n,o,i){const s=i[t];if(null!==s)for(let a=0;a{var e;class t{constructor(){this.all=new Set,this.queue=new Map}create(n,o,i){const s=typeof Zone>"u"?null:Zone.current,a=function y0(e,t,r){const n=Object.create(_0);r&&(n.consumerAllowSignalWrites=!0),n.fn=e,n.schedule=t;const o=s=>{n.cleanupFn=s};return n.ref={notify:()=>jp(n),run:()=>{if(n.dirty=!1,n.hasRun&&!Hp(n))return;n.hasRun=!0;const s=jc(n);try{n.cleanupFn(),n.cleanupFn=Zp,n.fn(o)}finally{Hc(n,s)}},cleanup:()=>n.cleanupFn()},n.ref}(n,u=>{this.all.has(u)&&this.queue.set(u,s)},i);let l;this.all.add(a),a.notify();const c=()=>{a.cleanup(),l?.(),this.all.delete(a),this.queue.delete(a)};return l=o?.onDestroy(c),{destroy:c}}flush(){if(0!==this.queue.size)for(const[n,o]of this.queue)this.queue.delete(n),o?o.run(()=>n.run()):n.run()}get isQueueEmpty(){return 0===this.queue.size}}return(e=t).\u0275prov=L({token:e,providedIn:"root",factory:()=>new e}),t})();function Oa(e,t,r){let n=r?e.styles:null,o=r?e.classes:null,i=0;if(null!==t)for(let s=0;s0){Nv(e,1);const o=r.components;null!==o&&Pv(e,o,1)}}function Pv(e,t,r){for(let n=0;n-1&&(da(t,n),Ks(r,n))}this._attachedToViewContainer=!1}vu(this._lView[T],this._lView)}onDestroy(t){!function og(e,t){if(256==(256&e[q]))throw new S(911,!1);null===e[$n]&&(e[$n]=[]),e[$n].push(t)}(this._lView,t)}markForCheck(){Si(this._cdRefInjectingView||this._lView)}detach(){this._lView[q]&=-129}reattach(){this._lView[q]|=128}detectChanges(){Pa(this._lView[T],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new S(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function tI(e,t){_i(e,t,t[G],2,null,null)}(this._lView[T],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new S(902,!1);this._appRef=t}}class dT extends xi{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;Pa(t[T],t,t[Se],!1)}checkNoChanges(){}get context(){return null}}class kv extends Ta{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const r=X(t);return new Ri(r,this.ngModule)}}function Fv(e){const t=[];for(let r in e)e.hasOwnProperty(r)&&t.push({propName:e[r],templateName:r});return t}class hT{constructor(t,r){this.injector=t,this.parentInjector=r}get(t,r,n){n=ks(n);const o=this.injector.get(t,Zu,n);return o!==Zu||r===Zu?o:this.parentInjector.get(t,r,n)}}class Ri extends Um{get inputs(){const t=this.componentDef,r=t.inputTransforms,n=Fv(t.inputs);if(null!==r)for(const o of n)r.hasOwnProperty(o.propName)&&(o.transform=r[o.propName]);return n}get outputs(){return Fv(this.componentDef.outputs)}constructor(t,r){super(),this.componentDef=t,this.ngModule=r,this.componentType=t.type,this.selector=function J1(e){return e.map(X1).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!r}create(t,r,n,o){let i=(o=o||this.ngModule)instanceof Dt?o:o?.injector;i&&null!==this.componentDef.getStandaloneInjector&&(i=this.componentDef.getStandaloneInjector(i)||i);const s=i?new hT(t,i):t,a=s.get($m,null);if(null===a)throw new S(407,!1);const d={rendererFactory:a,sanitizer:s.get(cS,null),effectManager:s.get(Av,null),afterRenderEventManager:s.get(td,null)},g=a.createRenderer(null,this.componentDef),m=this.componentDef.selectors[0][0]||"div",y=n?function FS(e,t,r,n){const i=n.get(iv,!1)||r===Ut.ShadowDom,s=e.selectRootElement(t,i);return function LS(e){vv(e)}(s),s}(g,n,this.componentDef.encapsulation,s):ua(g,m,function fT(e){const t=e.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(m)),E=this.componentDef.signals?4608:this.componentDef.onPush?576:528;let D=null;null!==y&&(D=zu(y,s,!0));const O=sd(0,null,null,1,0,null,null,null,null,null,null),N=Ra(null,O,null,E,null,null,d,g,s,null,D);let Z,Ge;Qc(N);try{const Tt=this.componentDef;let xr,ac=null;Tt.findHostDirectiveDefs?(xr=[],ac=new Map,Tt.findHostDirectiveDefs(Tt,xr,ac),xr.push(Tt)):xr=[Tt];const Ij=function gT(e,t){const r=e[T],n=Q;return e[n]=t,uo(r,n,2,"#host",null)}(N,y),Sj=function mT(e,t,r,n,o,i,s){const a=o[T];!function vT(e,t,r,n){for(const o of e)t.mergedAttrs=Ko(t.mergedAttrs,o.hostAttrs);null!==t.mergedAttrs&&(Oa(t,t.mergedAttrs,!0),null!==r&&gm(n,r,t))}(n,e,t,s);let l=null;null!==t&&(l=zu(t,o[Bn]));const c=i.rendererFactory.createRenderer(t,r);let u=16;r.signals?u=4096:r.onPush&&(u=64);const d=Ra(o,mv(r),null,u,o[e.index],e,i,c,null,null,l);return a.firstCreatePass&&ld(a,e,n.length-1),Na(o,d),o[e.index]=d}(Ij,y,Tt,xr,N,d,g);Ge=eg(O,Q),y&&function _T(e,t,r,n){if(n)Pc(e,r,["ng-version",uS.full]);else{const{attrs:o,classes:i}=function K1(e){const t=[],r=[];let n=1,o=2;for(;n0&&pm(e,r,i.join(" "))}}(g,Tt,y,n),void 0!==r&&function CT(e,t,r){const n=e.projection=[];for(let o=0;o=0;n--){const o=e[n];o.hostVars=t+=o.hostVars,o.hostAttrs=Ko(o.hostAttrs,r=Ko(r,o.hostAttrs))}}(n)}function ka(e){return e===tn?{}:e===te?[]:e}function wT(e,t){const r=e.viewQuery;e.viewQuery=r?(n,o)=>{t(n,o),r(n,o)}:t}function ET(e,t){const r=e.contentQueries;e.contentQueries=r?(n,o,i)=>{t(n,o,i),r(n,o,i)}:t}function MT(e,t){const r=e.hostBindings;e.hostBindings=r?(n,o)=>{t(n,o),r(n,o)}:t}function Uv(e){const t=e.inputConfig,r={};for(const n in t)if(t.hasOwnProperty(n)){const o=t[n];Array.isArray(o)&&o[2]&&(r[n]=o[2])}e.inputTransforms=r}function Fa(e){return!!hd(e)&&(Array.isArray(e)||!(e instanceof Map)&&Symbol.iterator in e)}function hd(e){return null!==e&&("function"==typeof e||"object"==typeof e)}function cn(e,t,r){return e[t]=r}function We(e,t,r){return!Object.is(e[t],r)&&(e[t]=r,!0)}function zt(e,t,r,n){const o=M();return We(o,Br(),t)&&(J(),ln(be(),o,e,t,r,n)),zt}function ho(e,t,r,n){return We(e,Br(),r)?t+$(r)+n:z}function P(e,t,r,n,o,i,s,a){const l=M(),c=J(),u=e+Q,d=c.firstCreatePass?function QT(e,t,r,n,o,i,s,a,l){const c=t.consts,u=uo(t,e,4,s||null,zn(c,a));ad(t,r,u,zn(c,l)),zs(t,u);const d=u.tView=sd(2,u,n,o,i,t.directiveRegistry,t.pipeRegistry,null,t.schemas,c,null);return null!==t.queries&&(t.queries.template(t,u),d.queries=t.queries.embeddedTView(u)),u}(u,c,l,t,r,n,o,i,s):c.data[u];sn(d,!1);const g=ey(c,l,d,e);Gs()&&ha(c,l,g,d),qe(g,l),Na(l,l[u]=wv(g,l,g,d)),Hs(d)&&od(c,l,d),null!=s&&id(l,d,a)}let ey=function ty(e,t,r,n){return qn(!0),t[G].createComment("")};function _d(e){return function Hr(e,t){return e[t]}(function j0(){return H.lFrame.contextLView}(),Q+e)}function w(e,t,r){const n=M();return We(n,Br(),t)&&Et(J(),be(),n,e,t,n[G],r,!1),w}function Cd(e,t,r,n,o){const s=o?"class":"style";dd(e,r,t.inputs[s],s,n)}function h(e,t,r,n){const o=M(),i=J(),s=Q+e,a=o[G],l=i.firstCreatePass?function eA(e,t,r,n,o,i){const s=t.consts,l=uo(t,e,2,n,zn(s,o));return ad(t,r,l,zn(s,i)),null!==l.attrs&&Oa(l,l.attrs,!1),null!==l.mergedAttrs&&Oa(l,l.mergedAttrs,!0),null!==t.queries&&t.queries.elementStart(t,l),l}(s,i,o,t,r,n):i.data[s],c=ny(i,o,l,a,t,e);o[s]=c;const u=Hs(l);return sn(l,!0),gm(a,c,l),32!=(32&l.flags)&&Gs()&&ha(i,o,c,l),0===function R0(){return H.lFrame.elementDepthCount}()&&qe(c,o),function N0(){H.lFrame.elementDepthCount++}(),u&&(od(i,o,l),rd(i,l,o)),null!==n&&id(o,l),h}function p(){let e=Be();zc()?qc():(e=e.parent,sn(e,!1));const t=e;(function P0(e){return H.skipHydrationRootTNode===e})(t)&&function V0(){H.skipHydrationRootTNode=null}(),function O0(){H.lFrame.elementDepthCount--}();const r=J();return r.firstCreatePass&&(zs(r,e),Fc(e)&&r.queries.elementEnd(e)),null!=t.classesWithoutHost&&function K0(e){return 0!=(8&e.flags)}(t)&&Cd(r,t,M(),t.classesWithoutHost,!0),null!=t.stylesWithoutHost&&function eM(e){return 0!=(16&e.flags)}(t)&&Cd(r,t,M(),t.stylesWithoutHost,!1),p}function v(e,t,r,n){return h(e,t,r,n),p(),v}let ny=(e,t,r,n,o,i)=>(qn(!0),ua(n,o,function vg(){return H.lFrame.currentNamespace}()));function ut(e,t,r){const n=M(),o=J(),i=e+Q,s=o.firstCreatePass?function rA(e,t,r,n,o){const i=t.consts,s=zn(i,n),a=uo(t,e,8,"ng-container",s);return null!==s&&Oa(a,s,!0),ad(t,r,a,zn(i,o)),null!==t.queries&&t.queries.elementStart(t,a),a}(i,o,n,t,r):o.data[i];sn(s,!0);const a=oy(o,n,s,e);return n[i]=a,Gs()&&ha(o,n,a,s),qe(a,n),Hs(s)&&(od(o,n,s),rd(o,s,n)),null!=r&&id(n,s),ut}function dt(){let e=Be();const t=J();return zc()?qc():(e=e.parent,sn(e,!1)),t.firstCreatePass&&(zs(t,e),Fc(e)&&t.queries.elementEnd(e)),dt}let oy=(e,t,r,n)=>(qn(!0),mu(t[G],""));function Ae(){return M()}function Fi(e){return!!e&&"function"==typeof e.then}function iy(e){return!!e&&"function"==typeof e.subscribe}function R(e,t,r,n){const o=M(),i=J(),s=Be();return function ay(e,t,r,n,o,i,s){const a=Hs(n),c=e.firstCreatePass&&Iv(e),u=t[Se],d=Mv(t);let g=!0;if(3&n.type||s){const C=lt(n,t),b=s?s(C):C,E=d.length,D=s?N=>s(pe(N[n.index])):n.index;let O=null;if(!s&&a&&(O=function sA(e,t,r,n){const o=e.cleanup;if(null!=o)for(let i=0;il?a[l]:null}"string"==typeof s&&(i+=2)}return null}(e,t,o,n.index)),null!==O)(O.__ngLastListenerFn__||O).__ngNextListenerFn__=i,O.__ngLastListenerFn__=i,g=!1;else{i=cy(n,t,u,i,!1);const N=r.listen(b,o,i);d.push(i,N),c&&c.push(o,D,E,E+1)}}else i=cy(n,t,u,i,!1);const m=n.outputs;let y;if(g&&null!==m&&(y=m[o])){const C=y.length;if(C)for(let b=0;b-1?_t(e.index,t):t);let l=ly(t,r,n,s),c=i.__ngNextListenerFn__;for(;c;)l=ly(t,r,c,s)&&l,c=c.__ngNextListenerFn__;return o&&!1===l&&s.preventDefault(),l}}function k(e=1){return function G0(e){return(H.lFrame.contextLView=function z0(e,t){for(;e>0;)t=t[Fr],e--;return t}(e,H.lFrame.contextLView))[Se]}(e)}function An(e,t,r,n,o){const i=M(),s=ho(i,t,r,n);return s!==z&&Et(J(),be(),i,e,s,i[G],o,!1),An}function Ua(e,t){return e<<17|t<<2}function Yn(e){return e>>17&32767}function Dd(e){return 2|e}function vr(e){return(131068&e)>>2}function bd(e,t){return-131069&e|t<<2}function wd(e){return 1|e}function _y(e,t,r,n,o){const i=e[r+1],s=null===t;let a=n?Yn(i):vr(i),l=!1;for(;0!==a&&(!1===l||s);){const u=e[a+1];gA(e[a],t)&&(l=!0,e[a+1]=n?wd(u):Dd(u)),a=n?Yn(u):vr(u)}l&&(e[r+1]=n?Dd(i):wd(i))}function gA(e,t){return null===e||null==t||(Array.isArray(e)?e[1]:e)===t||!(!Array.isArray(e)||"string"!=typeof t)&&Qr(e,t)>=0}function Ba(e,t){return function qt(e,t,r,n){const o=M(),i=J(),s=function wn(e){const t=H.lFrame,r=t.bindingIndex;return t.bindingIndex=t.bindingIndex+e,r}(2);i.firstUpdatePass&&function Ty(e,t,r,n){const o=e.data;if(null===o[r+1]){const i=o[Ke()],s=function Sy(e,t){return t>=e.expandoStartIndex}(e,r);(function Ny(e,t){return 0!=(e.flags&(t?8:16))})(i,n)&&null===t&&!s&&(t=!1),t=function EA(e,t,r,n){const o=function Zc(e){const t=H.lFrame.currentDirectiveIndex;return-1===t?null:e[t]}(e);let i=n?t.residualClasses:t.residualStyles;if(null===o)0===(n?t.classBindings:t.styleBindings)&&(r=Li(r=Ed(null,e,t,r,n),t.attrs,n),i=null);else{const s=t.directiveStylingLast;if(-1===s||e[s]!==o)if(r=Ed(o,e,t,r,n),null===i){let l=function MA(e,t,r){const n=r?t.classBindings:t.styleBindings;if(0!==vr(n))return e[Yn(n)]}(e,t,n);void 0!==l&&Array.isArray(l)&&(l=Ed(null,e,t,l[1],n),l=Li(l,t.attrs,n),function IA(e,t,r,n){e[Yn(r?t.classBindings:t.styleBindings)]=n}(e,t,n,l))}else i=function SA(e,t,r){let n;const o=t.directiveEnd;for(let i=1+t.directiveStylingLast;i0)&&(c=!0)):u=r,o)if(0!==l){const g=Yn(e[a+1]);e[n+1]=Ua(g,a),0!==g&&(e[g+1]=bd(e[g+1],n)),e[a+1]=function dA(e,t){return 131071&e|t<<17}(e[a+1],n)}else e[n+1]=Ua(a,0),0!==a&&(e[a+1]=bd(e[a+1],n)),a=n;else e[n+1]=Ua(l,0),0===a?a=n:e[l+1]=bd(e[l+1],n),l=n;c&&(e[n+1]=Dd(e[n+1])),_y(e,u,n,!0),_y(e,u,n,!1),function pA(e,t,r,n,o){const i=o?e.residualClasses:e.residualStyles;null!=i&&"string"==typeof t&&Qr(i,t)>=0&&(r[n+1]=wd(r[n+1]))}(t,u,e,n,i),s=Ua(a,l),i?t.classBindings=s:t.styleBindings=s}(o,i,t,r,s,n)}}(i,e,s,n),t!==z&&We(o,s,t)&&function xy(e,t,r,n,o,i,s,a){if(!(3&t.type))return;const l=e.data,c=l[a+1],u=function fA(e){return 1==(1&e)}(c)?Ry(l,t,r,o,vr(c),s):void 0;$a(u)||($a(i)||function uA(e){return 2==(2&e)}(c)&&(i=Ry(l,null,r,o,a,s)),function dI(e,t,r,n,o){if(t)o?e.addClass(r,n):e.removeClass(r,n);else{let i=-1===n.indexOf("-")?void 0:Wn.DashCase;null==o?e.removeStyle(r,n,i):("string"==typeof o&&o.endsWith("!important")&&(o=o.slice(0,-10),i|=Wn.Important),e.setStyle(r,n,o,i))}}(n,s,$s(Ke(),r),o,i))}(i,i.data[Ke()],o,o[G],e,o[s+1]=function RA(e,t){return null==e||""===e||("string"==typeof t?e+=t:"object"==typeof e&&(e=ke(Zn(e)))),e}(t,r),n,s)}(e,t,null,!0),Ba}function Ed(e,t,r,n,o){let i=null;const s=r.directiveEnd;let a=r.directiveStylingLast;for(-1===a?a=r.directiveStart:a++;a0;){const l=e[o],c=Array.isArray(l),u=c?l[1]:l,d=null===u;let g=r[o+1];g===z&&(g=d?te:void 0);let m=d?su(g,n):u===n?g:void 0;if(c&&!$a(m)&&(m=su(l,n)),$a(m)&&(a=m,s))return a;const y=e[o+1];o=s?Yn(y):vr(y)}if(null!==t){let l=i?t.residualClasses:t.residualStyles;null!=l&&(a=su(l,n))}return a}function $a(e){return void 0!==e}function f(e,t=""){const r=M(),n=J(),o=e+Q,i=n.firstCreatePass?uo(n,o,1,t,null):n.data[o],s=Oy(n,r,i,t,e);r[o]=s,Gs()&&ha(n,r,s,i),sn(i,!1)}let Oy=(e,t,r,n,o)=>(qn(!0),function ca(e,t){return e.createText(t)}(t[G],n));function Ce(e){return xn("",e,""),Ce}function xn(e,t,r){const n=M(),o=ho(n,e,t,r);return o!==z&&function Tn(e,t,r){const n=$s(t,e);!function nm(e,t,r){e.setValue(t,r)}(e[G],n,r)}(n,Ke(),o),xn}const wo="en-US";let t_=wo;function Sd(e,t,r,n,o){if(e=U(e),Array.isArray(e))for(let i=0;i>20;if(pr(e)||!e.multi){const m=new ci(c,o,I),y=Ad(l,t,o?u:u+g,d);-1===y?(ru(Ys(a,s),i,l),Td(i,e,t.length),t.push(l),a.directiveStart++,a.directiveEnd++,o&&(a.providerIndexes+=1048576),r.push(m),s.push(m)):(r[y]=m,s[y]=m)}else{const m=Ad(l,t,u+g,d),y=Ad(l,t,u,u+g),b=y>=0&&r[y];if(o&&!b||!o&&!(m>=0&&r[m])){ru(Ys(a,s),i,l);const E=function Jx(e,t,r,n,o){const i=new ci(e,r,I);return i.multi=[],i.index=t,i.componentProviders=0,I_(i,o,n&&!r),i}(o?Xx:Qx,r.length,o,n,c);!o&&b&&(r[y].providerFactory=E),Td(i,e,t.length,0),t.push(l),a.directiveStart++,a.directiveEnd++,o&&(a.providerIndexes+=1048576),r.push(E),s.push(E)}else Td(i,e,m>-1?m:y,I_(r[o?y:m],c,!o&&n));!o&&n&&b&&r[y].componentProviders++}}}function Td(e,t,r,n){const o=pr(t),i=function HI(e){return!!e.useClass}(t);if(o||i){const l=(i?U(t.useClass):t).prototype.ngOnDestroy;if(l){const c=e.destroyHooks||(e.destroyHooks=[]);if(!o&&t.multi){const u=c.indexOf(r);-1===u?c.push(r,[n,l]):c[u+1].push(n,l)}else c.push(r,l)}}}function I_(e,t,r){return r&&e.componentProviders++,e.multi.push(t)-1}function Ad(e,t,r,n){for(let o=r;o{r.providersResolver=(n,o)=>function Yx(e,t,r){const n=J();if(n.firstCreatePass){const o=Gt(e);Sd(r,n.data,n.blueprint,o,!0),Sd(t,n.data,n.blueprint,o,!1)}}(n,o?o(e):e,t)}}class _r{}class S_{}class Rd extends _r{constructor(t,r,n){super(),this._parent=r,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new kv(this);const o=yt(t);this._bootstrapComponents=Sn(o.bootstrap),this._r3Injector=Zm(t,r,[{provide:_r,useValue:this},{provide:Ta,useValue:this.componentFactoryResolver},...n],ke(t),new Set(["environment"])),this._r3Injector.resolveInjectorInitializers(),this.instance=this._r3Injector.get(t)}get injector(){return this._r3Injector}destroy(){const t=this._r3Injector;!t.destroyed&&t.destroy(),this.destroyCbs.forEach(r=>r()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class Nd extends S_{constructor(t){super(),this.moduleType=t}create(t){return new Rd(this.moduleType,t,[])}}class T_ extends _r{constructor(t){super(),this.componentFactoryResolver=new kv(this),this.instance=null;const r=new Da([...t.providers,{provide:_r,useValue:this},{provide:Ta,useValue:this.componentFactoryResolver}],t.parent||Ca(),t.debugName,new Set(["environment"]));this.injector=r,t.runEnvironmentInitializers&&r.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}function Od(e,t,r=null){return new T_({providers:e,parent:t,debugName:r,runEnvironmentInitializers:!0}).injector}let tR=(()=>{var e;class t{constructor(n){this._injector=n,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(n){if(!n.standalone)return null;if(!this.cachedInjectors.has(n)){const o=Rm(0,n.type),i=o.length>0?Od([o],this._injector,`Standalone[${n.type.name}]`):null;this.cachedInjectors.set(n,i)}return this.cachedInjectors.get(n)}ngOnDestroy(){try{for(const n of this.cachedInjectors.values())null!==n&&n.destroy()}finally{this.cachedInjectors.clear()}}}return(e=t).\u0275prov=L({token:e,providedIn:"environment",factory:()=>new e(F(Dt))}),t})();function Mt(e){e.getStandaloneInjector=t=>t.get(tR).getOrCreateStandaloneInjector(e)}function K(e,t,r){const n=Je()+e,o=M();return o[n]===z?cn(o,n,r?t.call(r):t()):function Ni(e,t){return e[t]}(o,n)}function $i(e,t,r,n){return function F_(e,t,r,n,o,i){const s=t+r;return We(e,s,o)?cn(e,s+1,i?n.call(i,o):n(o)):Gi(e,s+1)}(M(),Je(),e,t,r,n)}function k_(e,t,r,n,o){return function L_(e,t,r,n,o,i,s){const a=t+r;return function mr(e,t,r,n){const o=We(e,t,r);return We(e,t+1,n)||o}(e,a,o,i)?cn(e,a+2,s?n.call(s,o,i):n(o,i)):Gi(e,a+2)}(M(),Je(),e,t,r,n,o)}function Gi(e,t){const r=e[t];return r===z?void 0:r}function ER(){return this._results[Symbol.iterator]()}class kd{get changes(){return this._changes||(this._changes=new Ee)}constructor(t=!1){this._emitDistinctChangesOnly=t,this.dirty=!0,this._results=[],this._changesDetected=!1,this._changes=null,this.length=0,this.first=void 0,this.last=void 0;const r=kd.prototype;r[Symbol.iterator]||(r[Symbol.iterator]=ER)}get(t){return this._results[t]}map(t){return this._results.map(t)}filter(t){return this._results.filter(t)}find(t){return this._results.find(t)}reduce(t,r){return this._results.reduce(t,r)}forEach(t){this._results.forEach(t)}some(t){return this._results.some(t)}toArray(){return this._results.slice()}toString(){return this._results.toString()}reset(t,r){const n=this;n.dirty=!1;const o=function Ot(e){return e.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function pM(e,t,r){if(e.length!==t.length)return!1;for(let n=0;n0&&(r[o-1][$t]=t),n{class t{}return t.__NG_ELEMENT_ID__=AR,t})();const SR=Rn,TR=class extends SR{constructor(t,r,n){super(),this._declarationLView=t,this._declarationTContainer=r,this.elementRef=n}get ssrId(){return this._declarationTContainer.tView?.ssrId||null}createEmbeddedView(t,r){return this.createEmbeddedViewImpl(t,r)}createEmbeddedViewImpl(t,r,n){const o=function MR(e,t,r,n){const o=t.tView,a=Ra(e,o,r,4096&e[q]?4096:16,null,t,null,null,null,n?.injector??null,n?.hydrationInfo??null);a[ni]=e[t.index];const c=e[nn];return null!==c&&(a[nn]=c.createEmbeddedView(o)),fd(o,a,r),a}(this._declarationLView,this._declarationTContainer,t,{injector:r,hydrationInfo:n});return new xi(o)}};function AR(){return Za(Be(),M())}function Za(e,t){return 4&e.type?new TR(t,e,ao(e,t)):null}let Zt=(()=>{class t{}return t.__NG_ELEMENT_ID__=kR,t})();function kR(){return W_(Be(),M())}const FR=Zt,z_=class extends FR{constructor(t,r,n){super(),this._lContainer=t,this._hostTNode=r,this._hostLView=n}get element(){return ao(this._hostTNode,this._hostLView)}get injector(){return new et(this._hostTNode,this._hostLView)}get parentInjector(){const t=Qs(this._hostTNode,this._hostLView);if(eu(t)){const r=di(t,this._hostLView),n=ui(t);return new et(r[T].data[n+8],r)}return new et(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const r=q_(this._lContainer);return null!==r&&r[t]||null}get length(){return this._lContainer.length-He}createEmbeddedView(t,r,n){let o,i;"number"==typeof n?o=n:null!=n&&(o=n.index,i=n.injector);const a=t.createEmbeddedViewImpl(r||{},i,null);return this.insertImpl(a,o,false),a}createComponent(t,r,n,o,i){const s=t&&!function hi(e){return"function"==typeof e}(t);let a;if(s)a=r;else{const C=r||{};a=C.index,n=C.injector,o=C.projectableNodes,i=C.environmentInjector||C.ngModuleRef}const l=s?t:new Ri(X(t)),c=n||this.parentInjector;if(!i&&null==l.ngModule){const b=(s?c:this.parentInjector).get(Dt,null);b&&(i=b)}X(l.componentType??{});const m=l.create(c,o,null,i);return this.insertImpl(m.hostView,a,false),m}insert(t,r){return this.insertImpl(t,r,!1)}insertImpl(t,r,n){const o=t._lView;if(function T0(e){return Xe(e[_e])}(o)){const l=this.indexOf(t);if(-1!==l)this.detach(l);else{const c=o[_e],u=new z_(c,c[ze],c[_e]);u.detach(u.indexOf(t))}}const s=this._adjustIndex(r),a=this._lContainer;return IR(a,o,s,!n),t.attachToViewContainerRef(),Ng(Fd(a),s,t),t}move(t,r){return this.insert(t,r)}indexOf(t){const r=q_(this._lContainer);return null!==r?r.indexOf(t):-1}remove(t){const r=this._adjustIndex(t,-1),n=da(this._lContainer,r);n&&(Ks(Fd(this._lContainer),r),vu(n[T],n))}detach(t){const r=this._adjustIndex(t,-1),n=da(this._lContainer,r);return n&&null!=Ks(Fd(this._lContainer),r)?new xi(n):null}_adjustIndex(t,r=0){return t??this.length+r}};function q_(e){return e[8]}function Fd(e){return e[8]||(e[8]=[])}function W_(e,t){let r;const n=t[e.index];return Xe(n)?r=n:(r=wv(n,t,null,e),t[e.index]=r,Na(t,r)),Z_(r,t,e,n),new z_(r,e,t)}let Z_=function Y_(e,t,r,n){if(e[rn])return;let o;o=8&r.type?pe(n):function LR(e,t){const r=e[G],n=r.createComment(""),o=lt(t,e);return hr(r,fa(r,o),n,function lI(e,t){return e.nextSibling(t)}(r,o),!1),n}(t,r),e[rn]=o};class Ld{constructor(t){this.queryList=t,this.matches=null}clone(){return new Ld(this.queryList)}setDirty(){this.queryList.setDirty()}}class Vd{constructor(t=[]){this.queries=t}createEmbeddedView(t){const r=t.queries;if(null!==r){const n=null!==t.contentQueries?t.contentQueries[0]:r.length,o=[];for(let i=0;i0)n.push(s[a/2]);else{const c=i[a+1],u=t[-l];for(let d=He;d{var e;class t{constructor(){this.initialized=!1,this.done=!1,this.donePromise=new Promise((n,o)=>{this.resolve=n,this.reject=o}),this.appInits=A(Wd,{optional:!0})??[]}runInitializers(){if(this.initialized)return;const n=[];for(const i of this.appInits){const s=i();if(Fi(s))n.push(s);else if(iy(s)){const a=new Promise((l,c)=>{s.subscribe({complete:l,error:c})});n.push(a)}}const o=()=>{this.done=!0,this.resolve()};Promise.all(n).then(()=>{o()}).catch(i=>{this.reject(i)}),0===n.length&&o(),this.initialized=!0}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),CC=(()=>{var e;class t{log(n){console.log(n)}warn(n){console.warn(n)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})();const Nn=new x("LocaleId",{providedIn:"root",factory:()=>A(Nn,Y.Optional|Y.SkipSelf)||function pN(){return typeof $localize<"u"&&$localize.locale||wo}()});let Xa=(()=>{var e;class t{constructor(){this.taskId=0,this.pendingTasks=new Set,this.hasPendingTasks=new At(!1)}add(){this.hasPendingTasks.next(!0);const n=this.taskId++;return this.pendingTasks.add(n),n}remove(n){this.pendingTasks.delete(n),0===this.pendingTasks.size&&this.hasPendingTasks.next(!1)}ngOnDestroy(){this.pendingTasks.clear(),this.hasPendingTasks.next(!1)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class vN{constructor(t,r){this.ngModuleFactory=t,this.componentFactories=r}}let DC=(()=>{var e;class t{compileModuleSync(n){return new Nd(n)}compileModuleAsync(n){return Promise.resolve(this.compileModuleSync(n))}compileModuleAndAllComponentsSync(n){const o=this.compileModuleSync(n),s=Sn(yt(n).declarations).reduce((a,l)=>{const c=X(l);return c&&a.push(new Ri(c)),a},[]);return new vN(o,s)}compileModuleAndAllComponentsAsync(n){return Promise.resolve(this.compileModuleAndAllComponentsSync(n))}clearCache(){}clearCacheFor(n){}getModuleId(n){}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const MC=new x(""),Ka=new x("");let Kd,Xd=(()=>{var e;class t{constructor(n,o,i){this._ngZone=n,this.registry=o,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Kd||(function LN(e){Kd=e}(i),i.addToWindow(o)),this._watchAngularEvents(),n.run(()=>{this.taskTrackingZone=typeof Zone>"u"?null:Zone.current.get("TaskTrackingZone")})}_watchAngularEvents(){this._ngZone.onUnstable.subscribe({next:()=>{this._didWork=!0,this._isZoneStable=!1}}),this._ngZone.runOutsideAngular(()=>{this._ngZone.onStable.subscribe({next:()=>{ge.assertNotInAngularZone(),queueMicrotask(()=>{this._isZoneStable=!0,this._runCallbacksIfReady()})}})})}increasePendingRequestCount(){return this._pendingCount+=1,this._didWork=!0,this._pendingCount}decreasePendingRequestCount(){if(this._pendingCount-=1,this._pendingCount<0)throw new Error("pending async requests below zero");return this._runCallbacksIfReady(),this._pendingCount}isStable(){return this._isZoneStable&&0===this._pendingCount&&!this._ngZone.hasPendingMacrotasks}_runCallbacksIfReady(){if(this.isStable())queueMicrotask(()=>{for(;0!==this._callbacks.length;){let n=this._callbacks.pop();clearTimeout(n.timeoutId),n.doneCb(this._didWork)}this._didWork=!1});else{let n=this.getPendingTasks();this._callbacks=this._callbacks.filter(o=>!o.updateCb||!o.updateCb(n)||(clearTimeout(o.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(n=>({source:n.source,creationLocation:n.creationLocation,data:n.data})):[]}addCallback(n,o,i){let s=-1;o&&o>0&&(s=setTimeout(()=>{this._callbacks=this._callbacks.filter(a=>a.timeoutId!==s),n(this._didWork,this.getPendingTasks())},o)),this._callbacks.push({doneCb:n,timeoutId:s,updateCb:i})}whenStable(n,o,i){if(i&&!this.taskTrackingZone)throw new Error('Task tracking zone is required when passing an update callback to whenStable(). Is "zone.js/plugins/task-tracking" loaded?');this.addCallback(n,o,i),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(n){this.registry.registerApplication(n,this)}unregisterApplication(n){this.registry.unregisterApplication(n)}findProviders(n,o,i){return[]}}return(e=t).\u0275fac=function(n){return new(n||e)(F(ge),F(Jd),F(Ka))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),t})(),Jd=(()=>{var e;class t{constructor(){this._applications=new Map}registerApplication(n,o){this._applications.set(n,o)}unregisterApplication(n){this._applications.delete(n)}unregisterAllApplications(){this._applications.clear()}getTestability(n){return this._applications.get(n)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(n,o=!0){return Kd?.findTestabilityInTree(this,n,o)??null}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"platform"}),t})(),Qn=null;const ef=new x("PlatformDestroyListeners"),tf=new x("appBootstrapListener");class TC{constructor(t,r){this.name=t,this.token=r}}function BN(e){try{const{rootComponent:t,appProviders:r,platformProviders:n}=e,o=function UN(e=[]){if(Qn)return Qn;const t=function xC(e=[],t){return wt.create({name:t,providers:[{provide:Pu,useValue:"platform"},{provide:ef,useValue:new Set([()=>Qn=null])},...e]})}(e);return Qn=t,function SC(){!function h0(e){Gp=e}(()=>{throw new S(600,!1)})}(),function AC(e){e.get(Fm,null)?.forEach(r=>r())}(t),t}(n),i=[WN(),...r||[]],a=new T_({providers:i,parent:o,debugName:"",runEnvironmentInitializers:!1}).injector,l=a.get(ge);return l.run(()=>{a.resolveInjectorInitializers();const c=a.get(In,null);let u;l.runOutsideAngular(()=>{u=l.onError.subscribe({next:m=>{c.handleError(m)}})});const d=()=>a.destroy(),g=o.get(ef);return g.add(d),a.onDestroy(()=>{u.unsubscribe(),g.delete(d)}),function OC(e,t,r){try{const n=r();return Fi(n)?n.catch(o=>{throw t.runOutsideAngular(()=>e.handleError(o)),o}):n}catch(n){throw t.runOutsideAngular(()=>e.handleError(n)),n}}(c,l,()=>{const m=a.get(Zd);return m.runInitializers(),m.donePromise.then(()=>{!function n_(e){xt(e,"Expected localeId to be defined"),"string"==typeof e&&(t_=e.toLowerCase().replace(/_/g,"-"))}(a.get(Nn,wo)||wo);const C=a.get(Io);return void 0!==t&&C.bootstrap(t),C})})})}catch(t){return Promise.reject(t)}}let Io=(()=>{var e;class t{constructor(){this._bootstrapListeners=[],this._runningTick=!1,this._destroyed=!1,this._destroyListeners=[],this._views=[],this.internalErrorHandler=A(FC),this.zoneIsStable=A(Km),this.componentTypes=[],this.components=[],this.isStable=A(Xa).hasPendingTasks.pipe(Ht(n=>n?V(!1):this.zoneIsStable),function w1(e,t=jn){return e=e??E1,Pe((r,n)=>{let o,i=!0;r.subscribe(Re(n,s=>{const a=t(s);(i||!e(o,a))&&(i=!1,o=a,n.next(s))}))})}(),lp()),this._injector=A(Dt)}get destroyed(){return this._destroyed}get injector(){return this._injector}bootstrap(n,o){const i=n instanceof Um;if(!this._injector.get(Zd).done)throw!i&&function Or(e){const t=X(e)||je(e)||Qe(e);return null!==t&&t.standalone}(n),new S(405,!1);let a;a=i?n:this._injector.get(Ta).resolveComponentFactory(n),this.componentTypes.push(a.componentType);const l=function jN(e){return e.isBoundToModule}(a)?void 0:this._injector.get(_r),u=a.create(wt.NULL,[],o||a.selector,l),d=u.location.nativeElement,g=u.injector.get(MC,null);return g?.registerApplication(d),u.onDestroy(()=>{this.detachView(u.hostView),el(this.components,u),g?.unregisterApplication(d)}),this._loadComponent(u),u}tick(){if(this._runningTick)throw new S(101,!1);try{this._runningTick=!0;for(let n of this._views)n.detectChanges()}catch(n){this.internalErrorHandler(n)}finally{this._runningTick=!1}}attachView(n){const o=n;this._views.push(o),o.attachToAppRef(this)}detachView(n){const o=n;el(this._views,o),o.detachFromAppRef()}_loadComponent(n){this.attachView(n.hostView),this.tick(),this.components.push(n);const o=this._injector.get(tf,[]);o.push(...this._bootstrapListeners),o.forEach(i=>i(n))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(n=>n()),this._views.slice().forEach(n=>n.destroy())}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(n){return this._destroyListeners.push(n),()=>el(this._destroyListeners,n)}destroy(){if(this._destroyed)throw new S(406,!1);const n=this._injector;n.destroy&&!n.destroyed&&n.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function el(e,t){const r=e.indexOf(t);r>-1&&e.splice(r,1)}const FC=new x("",{providedIn:"root",factory:()=>A(In).handleError.bind(void 0)});function zN(){const e=A(ge),t=A(In);return r=>e.runOutsideAngular(()=>t.handleError(r))}let qN=(()=>{var e;class t{constructor(){this.zone=A(ge),this.applicationRef=A(Io)}initialize(){this._onMicrotaskEmptySubscription||(this._onMicrotaskEmptySubscription=this.zone.onMicrotaskEmpty.subscribe({next:()=>{this.zone.run(()=>{this.applicationRef.tick()})}}))}ngOnDestroy(){this._onMicrotaskEmptySubscription?.unsubscribe()}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function LC(e){return[{provide:ge,useFactory:e},{provide:wi,multi:!0,useFactory:()=>{const t=A(qN,{optional:!0});return()=>t.initialize()}},{provide:FC,useFactory:zN},{provide:Km,useFactory:ev}]}function WN(e){return Ru([[],LC(()=>new ge(function NC(e){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:e?.eventCoalescing??!1,shouldCoalesceRunChangeDetection:e?.runCoalescing??!1}}(e)))])}let tl=(()=>{class t{}return t.__NG_ELEMENT_ID__=ZN,t})();function ZN(e){return function YN(e,t,r){if(cr(e)&&!r){const n=_t(e.index,t);return new xi(n,n)}return 47&e.type?new xi(t[Te],t):null}(Be(),M(),16==(16&e))}class UC{constructor(){}supports(t){return Fa(t)}create(t){return new tO(t)}}const eO=(e,t)=>t;class tO{constructor(t){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=t||eO}forEachItem(t){let r;for(r=this._itHead;null!==r;r=r._next)t(r)}forEachOperation(t){let r=this._itHead,n=this._removalsHead,o=0,i=null;for(;r||n;){const s=!n||r&&r.currentIndex<$C(n,o,i)?r:n,a=$C(s,o,i),l=s.currentIndex;if(s===n)o--,n=n._nextRemoved;else if(r=r._next,null==s.previousIndex)o++;else{i||(i=[]);const c=a-o,u=l-o;if(c!=u){for(let g=0;g{s=this._trackByFn(o,a),null!==r&&Object.is(r.trackById,s)?(n&&(r=this._verifyReinsertion(r,a,s,o)),Object.is(r.item,a)||this._addIdentityChange(r,a)):(r=this._mismatch(r,a,s,o),n=!0),r=r._next,o++}),this.length=o;return this._truncate(r),this.collection=t,this.isDirty}get isDirty(){return null!==this._additionsHead||null!==this._movesHead||null!==this._removalsHead||null!==this._identityChangesHead}_reset(){if(this.isDirty){let t;for(t=this._previousItHead=this._itHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._additionsHead;null!==t;t=t._nextAdded)t.previousIndex=t.currentIndex;for(this._additionsHead=this._additionsTail=null,t=this._movesHead;null!==t;t=t._nextMoved)t.previousIndex=t.currentIndex;this._movesHead=this._movesTail=null,this._removalsHead=this._removalsTail=null,this._identityChangesHead=this._identityChangesTail=null}}_mismatch(t,r,n,o){let i;return null===t?i=this._itTail:(i=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null))?(Object.is(t.item,r)||this._addIdentityChange(t,r),this._reinsertAfter(t,i,o)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(n,o))?(Object.is(t.item,r)||this._addIdentityChange(t,r),this._moveAfter(t,i,o)):t=this._addAfter(new nO(r,n),i,o),t}_verifyReinsertion(t,r,n,o){let i=null===this._unlinkedRecords?null:this._unlinkedRecords.get(n,null);return null!==i?t=this._reinsertAfter(i,t._prev,o):t.currentIndex!=o&&(t.currentIndex=o,this._addToMoves(t,o)),t}_truncate(t){for(;null!==t;){const r=t._next;this._addToRemovals(this._unlink(t)),t=r}null!==this._unlinkedRecords&&this._unlinkedRecords.clear(),null!==this._additionsTail&&(this._additionsTail._nextAdded=null),null!==this._movesTail&&(this._movesTail._nextMoved=null),null!==this._itTail&&(this._itTail._next=null),null!==this._removalsTail&&(this._removalsTail._nextRemoved=null),null!==this._identityChangesTail&&(this._identityChangesTail._nextIdentityChange=null)}_reinsertAfter(t,r,n){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const o=t._prevRemoved,i=t._nextRemoved;return null===o?this._removalsHead=i:o._nextRemoved=i,null===i?this._removalsTail=o:i._prevRemoved=o,this._insertAfter(t,r,n),this._addToMoves(t,n),t}_moveAfter(t,r,n){return this._unlink(t),this._insertAfter(t,r,n),this._addToMoves(t,n),t}_addAfter(t,r,n){return this._insertAfter(t,r,n),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,r,n){const o=null===r?this._itHead:r._next;return t._next=o,t._prev=r,null===o?this._itTail=t:o._prev=t,null===r?this._itHead=t:r._next=t,null===this._linkedRecords&&(this._linkedRecords=new BC),this._linkedRecords.put(t),t.currentIndex=n,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const r=t._prev,n=t._next;return null===r?this._itHead=n:r._next=n,null===n?this._itTail=r:n._prev=r,t}_addToMoves(t,r){return t.previousIndex===r||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new BC),this._unlinkedRecords.put(t),t.currentIndex=null,t._nextRemoved=null,null===this._removalsTail?(this._removalsTail=this._removalsHead=t,t._prevRemoved=null):(t._prevRemoved=this._removalsTail,this._removalsTail=this._removalsTail._nextRemoved=t),t}_addIdentityChange(t,r){return t.item=r,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class nO{constructor(t,r){this.item=t,this.trackById=r,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}}class rO{constructor(){this._head=null,this._tail=null}add(t){null===this._head?(this._head=this._tail=t,t._nextDup=null,t._prevDup=null):(this._tail._nextDup=t,t._prevDup=this._tail,t._nextDup=null,this._tail=t)}get(t,r){let n;for(n=this._head;null!==n;n=n._nextDup)if((null===r||r<=n.currentIndex)&&Object.is(n.trackById,t))return n;return null}remove(t){const r=t._prevDup,n=t._nextDup;return null===r?this._head=n:r._nextDup=n,null===n?this._tail=r:n._prevDup=r,null===this._head}}class BC{constructor(){this.map=new Map}put(t){const r=t.trackById;let n=this.map.get(r);n||(n=new rO,this.map.set(r,n)),n.add(t)}get(t,r){const o=this.map.get(t);return o?o.get(t,r):null}remove(t){const r=t.trackById;return this.map.get(r).remove(t)&&this.map.delete(r),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function $C(e,t,r){const n=e.previousIndex;if(null===n)return n;let o=0;return r&&n{if(r&&r.key===o)this._maybeAddToChanges(r,n),this._appendAfter=r,r=r._next;else{const i=this._getOrCreateRecordForKey(o,n);r=this._insertBeforeOrAppend(r,i)}}),r){r._prev&&(r._prev._next=null),this._removalsHead=r;for(let n=r;null!==n;n=n._nextRemoved)n===this._mapHead&&(this._mapHead=null),this._records.delete(n.key),n._nextRemoved=n._next,n.previousValue=n.currentValue,n.currentValue=null,n._prev=null,n._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,r){if(t){const n=t._prev;return r._next=t,r._prev=n,t._prev=r,n&&(n._next=r),t===this._mapHead&&(this._mapHead=r),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=r,r._prev=this._appendAfter):this._mapHead=r,this._appendAfter=r,null}_getOrCreateRecordForKey(t,r){if(this._records.has(t)){const o=this._records.get(t);this._maybeAddToChanges(o,r);const i=o._prev,s=o._next;return i&&(i._next=s),s&&(s._prev=i),o._next=null,o._prev=null,o}const n=new iO(t);return this._records.set(t,n),n.currentValue=r,this._addToAdditions(n),n}_reset(){if(this.isDirty){let t;for(this._previousMapHead=this._mapHead,t=this._previousMapHead;null!==t;t=t._next)t._nextPrevious=t._next;for(t=this._changesHead;null!==t;t=t._nextChanged)t.previousValue=t.currentValue;for(t=this._additionsHead;null!=t;t=t._nextAdded)t.previousValue=t.currentValue;this._changesHead=this._changesTail=null,this._additionsHead=this._additionsTail=null,this._removalsHead=null}}_maybeAddToChanges(t,r){Object.is(r,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=r,this._addToChanges(t))}_addToAdditions(t){null===this._additionsHead?this._additionsHead=this._additionsTail=t:(this._additionsTail._nextAdded=t,this._additionsTail=t)}_addToChanges(t){null===this._changesHead?this._changesHead=this._changesTail=t:(this._changesTail._nextChanged=t,this._changesTail=t)}_forEach(t,r){t instanceof Map?t.forEach(r):Object.keys(t).forEach(n=>r(t[n],n))}}class iO{constructor(t){this.key=t,this.previousValue=null,this.currentValue=null,this._nextPrevious=null,this._next=null,this._prev=null,this._nextAdded=null,this._nextRemoved=null,this._nextChanged=null}}function zC(){return new ol([new UC])}let ol=(()=>{var e;class t{constructor(n){this.factories=n}static create(n,o){if(null!=o){const i=o.factories.slice();n=n.concat(i)}return new t(n)}static extend(n){return{provide:t,useFactory:o=>t.create(n,o||zC()),deps:[[t,new na,new ta]]}}find(n){const o=this.factories.find(i=>i.supports(n));if(null!=o)return o;throw new S(901,!1)}}return(e=t).\u0275prov=L({token:e,providedIn:"root",factory:zC}),t})();function qC(){return new Zi([new GC])}let Zi=(()=>{var e;class t{constructor(n){this.factories=n}static create(n,o){if(o){const i=o.factories.slice();n=n.concat(i)}return new t(n)}static extend(n){return{provide:t,useFactory:o=>t.create(n,o||qC()),deps:[[t,new na,new ta]]}}find(n){const o=this.factories.find(i=>i.supports(n));if(o)return o;throw new S(901,!1)}}return(e=t).\u0275prov=L({token:e,providedIn:"root",factory:qC}),t})(),lO=(()=>{var e;class t{constructor(n){}}return(e=t).\u0275fac=function(n){return new(n||e)(F(Io))},e.\u0275mod=Cn({type:e}),e.\u0275inj=en({}),t})();function So(e){return"boolean"==typeof e?e:null!=e&&"false"!==e}const ve_apiBaseUrl="https://www.palmmedia.de/api/";let uf=null;function Xn(){return uf}class bO{}const pt=new x("DocumentToken");let df=(()=>{var e;class t{historyGo(n){throw new Error("Not implemented")}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:function(){return A(EO)},providedIn:"platform"}),t})();const wO=new x("Location Initialized");let EO=(()=>{var e;class t extends df{constructor(){super(),this._doc=A(pt),this._location=window.location,this._history=window.history}getBaseHrefFromDOM(){return Xn().getBaseHref(this._doc)}onPopState(n){const o=Xn().getGlobalEventTarget(this._doc,"window");return o.addEventListener("popstate",n,!1),()=>o.removeEventListener("popstate",n)}onHashChange(n){const o=Xn().getGlobalEventTarget(this._doc,"window");return o.addEventListener("hashchange",n,!1),()=>o.removeEventListener("hashchange",n)}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(n){this._location.pathname=n}pushState(n,o,i){this._history.pushState(n,o,i)}replaceState(n,o,i){this._history.replaceState(n,o,i)}forward(){this._history.forward()}back(){this._history.back()}historyGo(n=0){this._history.go(n)}getState(){return this._history.state}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:function(){return new e},providedIn:"platform"}),t})();function ff(e,t){if(0==e.length)return t;if(0==t.length)return e;let r=0;return e.endsWith("/")&&r++,t.startsWith("/")&&r++,2==r?e+t.substring(1):1==r?e+t:e+"/"+t}function tD(e){const t=e.match(/#|\?|$/),r=t&&t.index||e.length;return e.slice(0,r-("/"===e[r-1]?1:0))+e.slice(r)}function On(e){return e&&"?"!==e[0]?"?"+e:e}let Dr=(()=>{var e;class t{historyGo(n){throw new Error("Not implemented")}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:function(){return A(rD)},providedIn:"root"}),t})();const nD=new x("appBaseHref");let rD=(()=>{var e;class t extends Dr{constructor(n,o){super(),this._platformLocation=n,this._removeListenerFns=[],this._baseHref=o??this._platformLocation.getBaseHrefFromDOM()??A(pt).location?.origin??""}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(n){this._removeListenerFns.push(this._platformLocation.onPopState(n),this._platformLocation.onHashChange(n))}getBaseHref(){return this._baseHref}prepareExternalUrl(n){return ff(this._baseHref,n)}path(n=!1){const o=this._platformLocation.pathname+On(this._platformLocation.search),i=this._platformLocation.hash;return i&&n?`${o}${i}`:o}pushState(n,o,i,s){const a=this.prepareExternalUrl(i+On(s));this._platformLocation.pushState(n,o,a)}replaceState(n,o,i,s){const a=this.prepareExternalUrl(i+On(s));this._platformLocation.replaceState(n,o,a)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(n=0){this._platformLocation.historyGo?.(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(F(df),F(nD,8))},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),MO=(()=>{var e;class t extends Dr{constructor(n,o){super(),this._platformLocation=n,this._baseHref="",this._removeListenerFns=[],null!=o&&(this._baseHref=o)}ngOnDestroy(){for(;this._removeListenerFns.length;)this._removeListenerFns.pop()()}onPopState(n){this._removeListenerFns.push(this._platformLocation.onPopState(n),this._platformLocation.onHashChange(n))}getBaseHref(){return this._baseHref}path(n=!1){let o=this._platformLocation.hash;return null==o&&(o="#"),o.length>0?o.substring(1):o}prepareExternalUrl(n){const o=ff(this._baseHref,n);return o.length>0?"#"+o:o}pushState(n,o,i,s){let a=this.prepareExternalUrl(i+On(s));0==a.length&&(a=this._platformLocation.pathname),this._platformLocation.pushState(n,o,a)}replaceState(n,o,i,s){let a=this.prepareExternalUrl(i+On(s));0==a.length&&(a=this._platformLocation.pathname),this._platformLocation.replaceState(n,o,a)}forward(){this._platformLocation.forward()}back(){this._platformLocation.back()}getState(){return this._platformLocation.getState()}historyGo(n=0){this._platformLocation.historyGo?.(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(F(df),F(nD,8))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),t})(),hf=(()=>{var e;class t{constructor(n){this._subject=new Ee,this._urlChangeListeners=[],this._urlChangeSubscription=null,this._locationStrategy=n;const o=this._locationStrategy.getBaseHref();this._basePath=function TO(e){if(new RegExp("^(https?:)?//").test(e)){const[,r]=e.split(/\/\/[^\/]+/);return r}return e}(tD(oD(o))),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(n=!1){return this.normalize(this._locationStrategy.path(n))}getState(){return this._locationStrategy.getState()}isCurrentPathEqualTo(n,o=""){return this.path()==this.normalize(n+On(o))}normalize(n){return t.stripTrailingSlash(function SO(e,t){if(!e||!t.startsWith(e))return t;const r=t.substring(e.length);return""===r||["/",";","?","#"].includes(r[0])?r:t}(this._basePath,oD(n)))}prepareExternalUrl(n){return n&&"/"!==n[0]&&(n="/"+n),this._locationStrategy.prepareExternalUrl(n)}go(n,o="",i=null){this._locationStrategy.pushState(i,"",n,o),this._notifyUrlChangeListeners(this.prepareExternalUrl(n+On(o)),i)}replaceState(n,o="",i=null){this._locationStrategy.replaceState(i,"",n,o),this._notifyUrlChangeListeners(this.prepareExternalUrl(n+On(o)),i)}forward(){this._locationStrategy.forward()}back(){this._locationStrategy.back()}historyGo(n=0){this._locationStrategy.historyGo?.(n)}onUrlChange(n){return this._urlChangeListeners.push(n),this._urlChangeSubscription||(this._urlChangeSubscription=this.subscribe(o=>{this._notifyUrlChangeListeners(o.url,o.state)})),()=>{const o=this._urlChangeListeners.indexOf(n);this._urlChangeListeners.splice(o,1),0===this._urlChangeListeners.length&&(this._urlChangeSubscription?.unsubscribe(),this._urlChangeSubscription=null)}}_notifyUrlChangeListeners(n="",o){this._urlChangeListeners.forEach(i=>i(n,o))}subscribe(n,o,i){return this._subject.subscribe({next:n,error:o,complete:i})}}return(e=t).normalizeQueryParams=On,e.joinWithSlash=ff,e.stripTrailingSlash=tD,e.\u0275fac=function(n){return new(n||e)(F(Dr))},e.\u0275prov=L({token:e,factory:function(){return function IO(){return new hf(F(Dr))}()},providedIn:"root"}),t})();function oD(e){return e.replace(/\/index.html$/,"")}function hD(e,t){t=encodeURIComponent(t);for(const r of e.split(";")){const n=r.indexOf("="),[o,i]=-1==n?[r,""]:[r.slice(0,n),r.slice(n+1)];if(o.trim()===t)return decodeURIComponent(i)}return null}const wf=/\s+/,pD=[];let ml=(()=>{var e;class t{constructor(n,o,i,s){this._iterableDiffers=n,this._keyValueDiffers=o,this._ngEl=i,this._renderer=s,this.initialClasses=pD,this.stateMap=new Map}set klass(n){this.initialClasses=null!=n?n.trim().split(wf):pD}set ngClass(n){this.rawClass="string"==typeof n?n.trim().split(wf):n}ngDoCheck(){for(const o of this.initialClasses)this._updateState(o,!0);const n=this.rawClass;if(Array.isArray(n)||n instanceof Set)for(const o of n)this._updateState(o,!0);else if(null!=n)for(const o of Object.keys(n))this._updateState(o,!!n[o]);this._applyStateDiff()}_updateState(n,o){const i=this.stateMap.get(n);void 0!==i?(i.enabled!==o&&(i.changed=!0,i.enabled=o),i.touched=!0):this.stateMap.set(n,{enabled:o,changed:!0,touched:!0})}_applyStateDiff(){for(const n of this.stateMap){const o=n[0],i=n[1];i.changed?(this._toggleClass(o,i.enabled),i.changed=!1):i.touched||(i.enabled&&this._toggleClass(o,!1),this.stateMap.delete(o)),i.touched=!1}}_toggleClass(n,o){(n=n.trim()).length>0&&n.split(wf).forEach(i=>{o?this._renderer.addClass(this._ngEl.nativeElement,i):this._renderer.removeClass(this._ngEl.nativeElement,i)})}}return(e=t).\u0275fac=function(n){return new(n||e)(I(ol),I(Zi),I(bt),I(Mn))},e.\u0275dir=B({type:e,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"},standalone:!0}),t})();class hP{constructor(t,r,n,o){this.$implicit=t,this.ngForOf=r,this.index=n,this.count=o}get first(){return 0===this.index}get last(){return this.index===this.count-1}get even(){return this.index%2==0}get odd(){return!this.even}}let Ef=(()=>{var e;class t{set ngForOf(n){this._ngForOf=n,this._ngForOfDirty=!0}set ngForTrackBy(n){this._trackByFn=n}get ngForTrackBy(){return this._trackByFn}constructor(n,o,i){this._viewContainer=n,this._template=o,this._differs=i,this._ngForOf=null,this._ngForOfDirty=!0,this._differ=null}set ngForTemplate(n){n&&(this._template=n)}ngDoCheck(){if(this._ngForOfDirty){this._ngForOfDirty=!1;const n=this._ngForOf;!this._differ&&n&&(this._differ=this._differs.find(n).create(this.ngForTrackBy))}if(this._differ){const n=this._differ.diff(this._ngForOf);n&&this._applyChanges(n)}}_applyChanges(n){const o=this._viewContainer;n.forEachOperation((i,s,a)=>{if(null==i.previousIndex)o.createEmbeddedView(this._template,new hP(i.item,this._ngForOf,-1,-1),null===a?void 0:a);else if(null==a)o.remove(null===s?void 0:s);else if(null!==s){const l=o.get(s);o.move(l,a),mD(l,i)}});for(let i=0,s=o.length;i{mD(o.get(i.currentIndex),i)})}static ngTemplateContextGuard(n,o){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(I(Zt),I(Rn),I(ol))},e.\u0275dir=B({type:e,selectors:[["","ngFor","","ngForOf",""]],inputs:{ngForOf:"ngForOf",ngForTrackBy:"ngForTrackBy",ngForTemplate:"ngForTemplate"},standalone:!0}),t})();function mD(e,t){e.context.$implicit=t.item}let vl=(()=>{var e;class t{constructor(n,o){this._viewContainer=n,this._context=new pP,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=o}set ngIf(n){this._context.$implicit=this._context.ngIf=n,this._updateView()}set ngIfThen(n){vD("ngIfThen",n),this._thenTemplateRef=n,this._thenViewRef=null,this._updateView()}set ngIfElse(n){vD("ngIfElse",n),this._elseTemplateRef=n,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(n,o){return!0}}return(e=t).\u0275fac=function(n){return new(n||e)(I(Zt),I(Rn))},e.\u0275dir=B({type:e,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),t})();class pP{constructor(){this.$implicit=null,this.ngIf=null}}function vD(e,t){if(t&&!t.createEmbeddedView)throw new Error(`${e} must be a TemplateRef, but received '${ke(t)}'.`)}let jP=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Cn({type:e}),e.\u0275inj=en({}),t})();function DD(e){return"server"===e}let $P=(()=>{var e;class t{}return(e=t).\u0275prov=L({token:e,providedIn:"root",factory:()=>new GP(F(pt),window)}),t})();class GP{constructor(t,r){this.document=t,this.window=r,this.offset=()=>[0,0]}setOffset(t){this.offset=Array.isArray(t)?()=>t:t}getScrollPosition(){return this.supportsScrolling()?[this.window.pageXOffset,this.window.pageYOffset]:[0,0]}scrollToPosition(t){this.supportsScrolling()&&this.window.scrollTo(t[0],t[1])}scrollToAnchor(t){if(!this.supportsScrolling())return;const r=function zP(e,t){const r=e.getElementById(t)||e.getElementsByName(t)[0];if(r)return r;if("function"==typeof e.createTreeWalker&&e.body&&"function"==typeof e.body.attachShadow){const n=e.createTreeWalker(e.body,NodeFilter.SHOW_ELEMENT);let o=n.currentNode;for(;o;){const i=o.shadowRoot;if(i){const s=i.getElementById(t)||i.querySelector(`[name="${t}"]`);if(s)return s}o=n.nextNode()}}return null}(this.document,t);r&&(this.scrollToElement(r),r.focus())}setHistoryScrollRestoration(t){this.supportsScrolling()&&(this.window.history.scrollRestoration=t)}scrollToElement(t){const r=t.getBoundingClientRect(),n=r.left+this.window.pageXOffset,o=r.top+this.window.pageYOffset,i=this.offset();this.window.scrollTo(n-i[0],o-i[1])}supportsScrolling(){try{return!!this.window&&!!this.window.scrollTo&&"pageXOffset"in this.window}catch{return!1}}}class bD{}const{isArray:gk}=Array,{getPrototypeOf:mk,prototype:vk,keys:yk}=Object;function SD(e){if(1===e.length){const t=e[0];if(gk(t))return{args:t,keys:null};if(function _k(e){return e&&"object"==typeof e&&mk(e)===vk}(t)){const r=yk(t);return{args:r.map(n=>t[n]),keys:r}}}return{args:e,keys:null}}const{isArray:Ck}=Array;function TD(e){return ee(t=>function Dk(e,t){return Ck(t)?e(...t):e(t)}(e,t))}function AD(e,t){return e.reduce((r,n,o)=>(r[n]=t[o],r),{})}function Rf(...e){const t=Yo(e),r=op(e),{args:n,keys:o}=SD(e);if(0===n.length)return Ne([],t);const i=new Ie(function bk(e,t,r=jn){return n=>{xD(t,()=>{const{length:o}=e,i=new Array(o);let s=o,a=o;for(let l=0;l{const c=Ne(e[l],t);let u=!1;c.subscribe(Re(n,d=>{i[l]=d,u||(u=!0,a--),a||n.next(r(i.slice()))},()=>{--s||n.complete()}))},n)},n)}}(n,t,o?s=>AD(o,s):jn));return r?i.pipe(TD(r)):i}function xD(e,t,r){e?vn(r,e,t):t()}const Cl=Wo(e=>function(){e(this),this.name="EmptyError",this.message="no elements in sequence"});function Nf(...e){return function wk(){return Rr(1)}()(Ne(e,Yo(e)))}function RD(e){return new Ie(t=>{jt(e()).subscribe(t)})}function Ji(e,t){const r=ue(e)?e:()=>e,n=o=>o.error(r());return new Ie(t?o=>t.schedule(n,0,o):n)}function Of(){return Pe((e,t)=>{let r=null;e._refCount++;const n=Re(t,void 0,void 0,void 0,()=>{if(!e||e._refCount<=0||0<--e._refCount)return void(r=null);const o=e._connection,i=r;r=null,o&&(!i||o===i)&&o.unsubscribe(),t.unsubscribe()});e.subscribe(n),n.closed||(r=e.connect())})}class ND extends Ie{constructor(t,r){super(),this.source=t,this.subjectFactory=r,this._subject=null,this._refCount=0,this._connection=null,$h(t)&&(this.lift=t.lift)}_subscribe(t){return this.getSubject().subscribe(t)}getSubject(){const t=this._subject;return(!t||t.isStopped)&&(this._subject=this.subjectFactory()),this._subject}_teardown(){this._refCount=0;const{_connection:t}=this;this._subject=this._connection=null,t?.unsubscribe()}connect(){let t=this._connection;if(!t){t=this._connection=new gt;const r=this.getSubject();t.add(this.source.subscribe(Re(r,void 0,()=>{this._teardown(),r.complete()},n=>{this._teardown(),r.error(n)},()=>this._teardown()))),t.closed&&(this._connection=null,t=gt.EMPTY)}return t}refCount(){return Of()(this)}}function Xt(e,t){return Pe((r,n)=>{let o=0;r.subscribe(Re(n,i=>e.call(t,i,o++)&&n.next(i)))})}function Dl(e){return Pe((t,r)=>{let n=!1;t.subscribe(Re(r,o=>{n=!0,r.next(o)},()=>{n||r.next(e),r.complete()}))})}function OD(e=Mk){return Pe((t,r)=>{let n=!1;t.subscribe(Re(r,o=>{n=!0,r.next(o)},()=>n?r.complete():r.error(e())))})}function Mk(){return new Cl}function br(e,t){const r=arguments.length>=2;return n=>n.pipe(e?Xt((o,i)=>e(o,i,n)):jn,ar(1),r?Dl(t):OD(()=>new Cl))}function Ao(e,t){return ue(t)?Ve(e,t,1):Ve(e,1)}function Ze(e,t,r){const n=ue(e)||t||r?{next:e,error:t,complete:r}:e;return n?Pe((o,i)=>{var s;null===(s=n.subscribe)||void 0===s||s.call(n);let a=!0;o.subscribe(Re(i,l=>{var c;null===(c=n.next)||void 0===c||c.call(n,l),i.next(l)},()=>{var l;a=!1,null===(l=n.complete)||void 0===l||l.call(n),i.complete()},l=>{var c;a=!1,null===(c=n.error)||void 0===c||c.call(n,l),i.error(l)},()=>{var l,c;a&&(null===(l=n.unsubscribe)||void 0===l||l.call(n)),null===(c=n.finalize)||void 0===c||c.call(n)}))}):jn}function wr(e){return Pe((t,r)=>{let i,n=null,o=!1;n=t.subscribe(Re(r,void 0,void 0,s=>{i=jt(e(s,wr(e)(t))),n?(n.unsubscribe(),n=null,i.subscribe(r)):o=!0})),o&&(n.unsubscribe(),n=null,i.subscribe(r))})}function Pf(e){return e<=0?()=>Kt:Pe((t,r)=>{let n=[];t.subscribe(Re(r,o=>{n.push(o),e{for(const o of n)r.next(o);r.complete()},void 0,()=>{n=null}))})}function Ki(e){return Pe((t,r)=>{try{t.subscribe(r)}finally{r.add(e)}})}class Rk extends bO{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class kf extends Rk{static makeCurrent(){!function DO(e){uf||(uf=e)}(new kf)}onAndCancel(t,r,n){return t.addEventListener(r,n),()=>{t.removeEventListener(r,n)}}dispatchEvent(t,r){t.dispatchEvent(r)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,r){return(r=r||this.getDefaultDocument()).createElement(t)}createHtmlDocument(){return document.implementation.createHTMLDocument("fakeTitle")}getDefaultDocument(){return document}isElementNode(t){return t.nodeType===Node.ELEMENT_NODE}isShadowRoot(t){return t instanceof DocumentFragment}getGlobalEventTarget(t,r){return"window"===r?window:"document"===r?t:"body"===r?t.body:null}getBaseHref(t){const r=function Nk(){return es=es||document.querySelector("base"),es?es.getAttribute("href"):null}();return null==r?null:function Ok(e){bl=bl||document.createElement("a"),bl.setAttribute("href",e);const t=bl.pathname;return"/"===t.charAt(0)?t:`/${t}`}(r)}resetBaseElement(){es=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return hD(document.cookie,t)}}let bl,es=null,kk=(()=>{var e;class t{build(){return new XMLHttpRequest}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac}),t})();const Ff=new x("EventManagerPlugins");let PD=(()=>{var e;class t{constructor(n,o){this._zone=o,this._eventNameToPlugin=new Map,n.forEach(i=>{i.manager=this}),this._plugins=n.slice().reverse()}addEventListener(n,o,i){return this._findPluginFor(o).addEventListener(n,o,i)}getZone(){return this._zone}_findPluginFor(n){let o=this._eventNameToPlugin.get(n);if(o)return o;if(o=this._plugins.find(s=>s.supports(n)),!o)throw new S(5101,!1);return this._eventNameToPlugin.set(n,o),o}}return(e=t).\u0275fac=function(n){return new(n||e)(F(Ff),F(ge))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),t})();class kD{constructor(t){this._doc=t}}const Lf="ng-app-id";let FD=(()=>{var e;class t{constructor(n,o,i,s={}){this.doc=n,this.appId=o,this.nonce=i,this.platformId=s,this.styleRef=new Map,this.hostNodes=new Set,this.styleNodesInDOM=this.collectServerRenderedStyles(),this.platformIsServer=DD(s),this.resetHostNodes()}addStyles(n){for(const o of n)1===this.changeUsageCount(o,1)&&this.onStyleAdded(o)}removeStyles(n){for(const o of n)this.changeUsageCount(o,-1)<=0&&this.onStyleRemoved(o)}ngOnDestroy(){const n=this.styleNodesInDOM;n&&(n.forEach(o=>o.remove()),n.clear());for(const o of this.getAllStyles())this.onStyleRemoved(o);this.resetHostNodes()}addHost(n){this.hostNodes.add(n);for(const o of this.getAllStyles())this.addStyleToHost(n,o)}removeHost(n){this.hostNodes.delete(n)}getAllStyles(){return this.styleRef.keys()}onStyleAdded(n){for(const o of this.hostNodes)this.addStyleToHost(o,n)}onStyleRemoved(n){const o=this.styleRef;o.get(n)?.elements?.forEach(i=>i.remove()),o.delete(n)}collectServerRenderedStyles(){const n=this.doc.head?.querySelectorAll(`style[${Lf}="${this.appId}"]`);if(n?.length){const o=new Map;return n.forEach(i=>{null!=i.textContent&&o.set(i.textContent,i)}),o}return null}changeUsageCount(n,o){const i=this.styleRef;if(i.has(n)){const s=i.get(n);return s.usage+=o,s.usage}return i.set(n,{usage:o,elements:[]}),o}getStyleElement(n,o){const i=this.styleNodesInDOM,s=i?.get(o);if(s?.parentNode===n)return i.delete(o),s.removeAttribute(Lf),s;{const a=this.doc.createElement("style");return this.nonce&&a.setAttribute("nonce",this.nonce),a.textContent=o,this.platformIsServer&&a.setAttribute(Lf,this.appId),a}}addStyleToHost(n,o){const i=this.getStyleElement(n,o);n.appendChild(i);const s=this.styleRef,a=s.get(o)?.elements;a?a.push(i):s.set(o,{elements:[i],usage:1})}resetHostNodes(){const n=this.hostNodes;n.clear(),n.add(this.doc.head)}}return(e=t).\u0275fac=function(n){return new(n||e)(F(pt),F(ba),F(Lm,8),F(gr))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),t})();const Vf={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/MathML/"},jf=/%COMP%/g,jk=new x("RemoveStylesOnCompDestroy",{providedIn:"root",factory:()=>!1});function VD(e,t){return t.map(r=>r.replace(jf,e))}let jD=(()=>{var e;class t{constructor(n,o,i,s,a,l,c,u=null){this.eventManager=n,this.sharedStylesHost=o,this.appId=i,this.removeStylesOnCompDestroy=s,this.doc=a,this.platformId=l,this.ngZone=c,this.nonce=u,this.rendererByCompId=new Map,this.platformIsServer=DD(l),this.defaultRenderer=new Hf(n,a,c,this.platformIsServer)}createRenderer(n,o){if(!n||!o)return this.defaultRenderer;this.platformIsServer&&o.encapsulation===Ut.ShadowDom&&(o={...o,encapsulation:Ut.Emulated});const i=this.getOrCreateRenderer(n,o);return i instanceof UD?i.applyToHost(n):i instanceof Uf&&i.applyStyles(),i}getOrCreateRenderer(n,o){const i=this.rendererByCompId;let s=i.get(o.id);if(!s){const a=this.doc,l=this.ngZone,c=this.eventManager,u=this.sharedStylesHost,d=this.removeStylesOnCompDestroy,g=this.platformIsServer;switch(o.encapsulation){case Ut.Emulated:s=new UD(c,u,o,this.appId,d,a,l,g);break;case Ut.ShadowDom:return new $k(c,u,n,o,a,l,this.nonce,g);default:s=new Uf(c,u,o,d,a,l,g)}i.set(o.id,s)}return s}ngOnDestroy(){this.rendererByCompId.clear()}}return(e=t).\u0275fac=function(n){return new(n||e)(F(PD),F(FD),F(ba),F(jk),F(pt),F(gr),F(ge),F(Lm))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),t})();class Hf{constructor(t,r,n,o){this.eventManager=t,this.doc=r,this.ngZone=n,this.platformIsServer=o,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,r){return r?this.doc.createElementNS(Vf[r]||r,t):this.doc.createElement(t)}createComment(t){return this.doc.createComment(t)}createText(t){return this.doc.createTextNode(t)}appendChild(t,r){(HD(t)?t.content:t).appendChild(r)}insertBefore(t,r,n){t&&(HD(t)?t.content:t).insertBefore(r,n)}removeChild(t,r){t&&t.removeChild(r)}selectRootElement(t,r){let n="string"==typeof t?this.doc.querySelector(t):t;if(!n)throw new S(-5104,!1);return r||(n.textContent=""),n}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,r,n,o){if(o){r=o+":"+r;const i=Vf[o];i?t.setAttributeNS(i,r,n):t.setAttribute(r,n)}else t.setAttribute(r,n)}removeAttribute(t,r,n){if(n){const o=Vf[n];o?t.removeAttributeNS(o,r):t.removeAttribute(`${n}:${r}`)}else t.removeAttribute(r)}addClass(t,r){t.classList.add(r)}removeClass(t,r){t.classList.remove(r)}setStyle(t,r,n,o){o&(Wn.DashCase|Wn.Important)?t.style.setProperty(r,n,o&Wn.Important?"important":""):t.style[r]=n}removeStyle(t,r,n){n&Wn.DashCase?t.style.removeProperty(r):t.style[r]=""}setProperty(t,r,n){t[r]=n}setValue(t,r){t.nodeValue=r}listen(t,r,n){if("string"==typeof t&&!(t=Xn().getGlobalEventTarget(this.doc,t)))throw new Error(`Unsupported event target ${t} for event ${r}`);return this.eventManager.addEventListener(t,r,this.decoratePreventDefault(n))}decoratePreventDefault(t){return r=>{if("__ngUnwrap__"===r)return t;!1===(this.platformIsServer?this.ngZone.runGuarded(()=>t(r)):t(r))&&r.preventDefault()}}}function HD(e){return"TEMPLATE"===e.tagName&&void 0!==e.content}class $k extends Hf{constructor(t,r,n,o,i,s,a,l){super(t,i,s,l),this.sharedStylesHost=r,this.hostEl=n,this.shadowRoot=n.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const c=VD(o.id,o.styles);for(const u of c){const d=document.createElement("style");a&&d.setAttribute("nonce",a),d.textContent=u,this.shadowRoot.appendChild(d)}}nodeOrShadowRoot(t){return t===this.hostEl?this.shadowRoot:t}appendChild(t,r){return super.appendChild(this.nodeOrShadowRoot(t),r)}insertBefore(t,r,n){return super.insertBefore(this.nodeOrShadowRoot(t),r,n)}removeChild(t,r){return super.removeChild(this.nodeOrShadowRoot(t),r)}parentNode(t){return this.nodeOrShadowRoot(super.parentNode(this.nodeOrShadowRoot(t)))}destroy(){this.sharedStylesHost.removeHost(this.shadowRoot)}}class Uf extends Hf{constructor(t,r,n,o,i,s,a,l){super(t,i,s,a),this.sharedStylesHost=r,this.removeStylesOnCompDestroy=o,this.styles=l?VD(l,n.styles):n.styles}applyStyles(){this.sharedStylesHost.addStyles(this.styles)}destroy(){this.removeStylesOnCompDestroy&&this.sharedStylesHost.removeStyles(this.styles)}}class UD extends Uf{constructor(t,r,n,o,i,s,a,l){const c=o+"-"+n.id;super(t,r,n,i,s,a,l,c),this.contentAttr=function Hk(e){return"_ngcontent-%COMP%".replace(jf,e)}(c),this.hostAttr=function Uk(e){return"_nghost-%COMP%".replace(jf,e)}(c)}applyToHost(t){this.applyStyles(),this.setAttribute(t,this.hostAttr,"")}createElement(t,r){const n=super.createElement(t,r);return super.setAttribute(n,this.contentAttr,""),n}}let Gk=(()=>{var e;class t extends kD{constructor(n){super(n)}supports(n){return!0}addEventListener(n,o,i){return n.addEventListener(o,i,!1),()=>this.removeEventListener(n,o,i)}removeEventListener(n,o,i){return n.removeEventListener(o,i)}}return(e=t).\u0275fac=function(n){return new(n||e)(F(pt))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),t})();const BD=["alt","control","meta","shift"],zk={"\b":"Backspace","\t":"Tab","\x7f":"Delete","\x1b":"Escape",Del:"Delete",Esc:"Escape",Left:"ArrowLeft",Right:"ArrowRight",Up:"ArrowUp",Down:"ArrowDown",Menu:"ContextMenu",Scroll:"ScrollLock",Win:"OS"},qk={alt:e=>e.altKey,control:e=>e.ctrlKey,meta:e=>e.metaKey,shift:e=>e.shiftKey};let Wk=(()=>{var e;class t extends kD{constructor(n){super(n)}supports(n){return null!=t.parseEventName(n)}addEventListener(n,o,i){const s=t.parseEventName(o),a=t.eventCallback(s.fullKey,i,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>Xn().onAndCancel(n,s.domEventName,a))}static parseEventName(n){const o=n.toLowerCase().split("."),i=o.shift();if(0===o.length||"keydown"!==i&&"keyup"!==i)return null;const s=t._normalizeKey(o.pop());let a="",l=o.indexOf("code");if(l>-1&&(o.splice(l,1),a="code."),BD.forEach(u=>{const d=o.indexOf(u);d>-1&&(o.splice(d,1),a+=u+".")}),a+=s,0!=o.length||0===s.length)return null;const c={};return c.domEventName=i,c.fullKey=a,c}static matchEventFullKeyCode(n,o){let i=zk[n.key]||n.key,s="";return o.indexOf("code.")>-1&&(i=n.code,s="code."),!(null==i||!i)&&(i=i.toLowerCase()," "===i?i="space":"."===i&&(i="dot"),BD.forEach(a=>{a!==i&&(0,qk[a])(n)&&(s+=a+".")}),s+=i,s===o)}static eventCallback(n,o,i){return s=>{t.matchEventFullKeyCode(s,n)&&i.runGuarded(()=>o(s))}}static _normalizeKey(n){return"esc"===n?"escape":n}}return(e=t).\u0275fac=function(n){return new(n||e)(F(pt))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),t})();function $D(e){return{appProviders:[...zD,...e?.providers??[]],platformProviders:Jk}}const Jk=[{provide:gr,useValue:"browser"},{provide:Fm,useValue:function Yk(){kf.makeCurrent()},multi:!0},{provide:pt,useFactory:function Xk(){return function mI(e){Eu=e}(document),document},deps:[]}],Kk=new x(""),GD=[{provide:Ka,useClass:class Pk{addToWindow(t){he.getAngularTestability=(n,o=!0)=>{const i=t.findTestabilityInTree(n,o);if(null==i)throw new S(5103,!1);return i},he.getAllAngularTestabilities=()=>t.getAllTestabilities(),he.getAllAngularRootElements=()=>t.getAllRootElements(),he.frameworkStabilizers||(he.frameworkStabilizers=[]),he.frameworkStabilizers.push(n=>{const o=he.getAllAngularTestabilities();let i=o.length,s=!1;const a=function(l){s=s||l,i--,0==i&&n(s)};o.forEach(l=>{l.whenStable(a)})})}findTestabilityInTree(t,r,n){return null==r?null:t.getTestability(r)??(n?Xn().isShadowRoot(r)?this.findTestabilityInTree(t,r.host,!0):this.findTestabilityInTree(t,r.parentElement,!0):null)}},deps:[]},{provide:MC,useClass:Xd,deps:[ge,Jd,Ka]},{provide:Xd,useClass:Xd,deps:[ge,Jd,Ka]}],zD=[{provide:Pu,useValue:"root"},{provide:In,useFactory:function Qk(){return new In},deps:[]},{provide:Ff,useClass:Gk,multi:!0,deps:[pt,ge,gr]},{provide:Ff,useClass:Wk,multi:!0,deps:[pt]},jD,FD,PD,{provide:$m,useExisting:jD},{provide:bD,useClass:kk,deps:[]},[]];let eF=(()=>{var e;class t{constructor(n){}static withServerTransition(n){return{ngModule:t,providers:[{provide:ba,useValue:n.appId}]}}}return(e=t).\u0275fac=function(n){return new(n||e)(F(Kk,12))},e.\u0275mod=Cn({type:e}),e.\u0275inj=en({providers:[...zD,...GD],imports:[jP,lO]}),t})(),qD=(()=>{var e;class t{constructor(n){this._doc=n}getTitle(){return this._doc.title}setTitle(n){this._doc.title=n||""}}return(e=t).\u0275fac=function(n){return new(n||e)(F(pt))},e.\u0275prov=L({token:e,factory:function(n){let o=null;return o=n?new n:function nF(){return new qD(F(pt))}(),o},providedIn:"root"}),t})();typeof window<"u"&&window;const W="primary",ts=Symbol("RouteTitle");class aF{constructor(t){this.params=t||{}}has(t){return Object.prototype.hasOwnProperty.call(this.params,t)}get(t){if(this.has(t)){const r=this.params[t];return Array.isArray(r)?r[0]:r}return null}getAll(t){if(this.has(t)){const r=this.params[t];return Array.isArray(r)?r:[r]}return[]}get keys(){return Object.keys(this.params)}}function xo(e){return new aF(e)}function lF(e,t,r){const n=r.path.split("/");if(n.length>e.length||"full"===r.pathMatch&&(t.hasChildren()||n.lengthn[i]===o)}return e===t}function XD(e){return e.length>0?e[e.length-1]:null}function Kn(e){return function pk(e){return!!e&&(e instanceof Ie||ue(e.lift)&&ue(e.subscribe))}(e)?e:Fi(e)?Ne(Promise.resolve(e)):V(e)}const uF={exact:function eb(e,t,r){if(!Er(e.segments,t.segments)||!wl(e.segments,t.segments,r)||e.numberOfChildren!==t.numberOfChildren)return!1;for(const n in t.children)if(!e.children[n]||!eb(e.children[n],t.children[n],r))return!1;return!0},subset:tb},JD={exact:function dF(e,t){return fn(e,t)},subset:function fF(e,t){return Object.keys(t).length<=Object.keys(e).length&&Object.keys(t).every(r=>QD(e[r],t[r]))},ignored:()=>!0};function KD(e,t,r){return uF[r.paths](e.root,t.root,r.matrixParams)&&JD[r.queryParams](e.queryParams,t.queryParams)&&!("exact"===r.fragment&&e.fragment!==t.fragment)}function tb(e,t,r){return nb(e,t,t.segments,r)}function nb(e,t,r,n){if(e.segments.length>r.length){const o=e.segments.slice(0,r.length);return!(!Er(o,r)||t.hasChildren()||!wl(o,r,n))}if(e.segments.length===r.length){if(!Er(e.segments,r)||!wl(e.segments,r,n))return!1;for(const o in t.children)if(!e.children[o]||!tb(e.children[o],t.children[o],n))return!1;return!0}{const o=r.slice(0,e.segments.length),i=r.slice(e.segments.length);return!!(Er(e.segments,o)&&wl(e.segments,o,n)&&e.children[W])&&nb(e.children[W],t,i,n)}}function wl(e,t,r){return t.every((n,o)=>JD[r](e[o].parameters,n.parameters))}class Ro{constructor(t=new ce([],{}),r={},n=null){this.root=t,this.queryParams=r,this.fragment=n}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=xo(this.queryParams)),this._queryParamMap}toString(){return gF.serialize(this)}}class ce{constructor(t,r){this.segments=t,this.children=r,this.parent=null,Object.values(r).forEach(n=>n.parent=this)}hasChildren(){return this.numberOfChildren>0}get numberOfChildren(){return Object.keys(this.children).length}toString(){return El(this)}}class ns{constructor(t,r){this.path=t,this.parameters=r}get parameterMap(){return this._parameterMap||(this._parameterMap=xo(this.parameters)),this._parameterMap}toString(){return ib(this)}}function Er(e,t){return e.length===t.length&&e.every((r,n)=>r.path===t[n].path)}let rs=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:function(){return new $f},providedIn:"root"}),t})();class $f{parse(t){const r=new IF(t);return new Ro(r.parseRootSegment(),r.parseQueryParams(),r.parseFragment())}serialize(t){const r=`/${os(t.root,!0)}`,n=function yF(e){const t=Object.keys(e).map(r=>{const n=e[r];return Array.isArray(n)?n.map(o=>`${Ml(r)}=${Ml(o)}`).join("&"):`${Ml(r)}=${Ml(n)}`}).filter(r=>!!r);return t.length?`?${t.join("&")}`:""}(t.queryParams);return`${r}${n}${"string"==typeof t.fragment?`#${function mF(e){return encodeURI(e)}(t.fragment)}`:""}`}}const gF=new $f;function El(e){return e.segments.map(t=>ib(t)).join("/")}function os(e,t){if(!e.hasChildren())return El(e);if(t){const r=e.children[W]?os(e.children[W],!1):"",n=[];return Object.entries(e.children).forEach(([o,i])=>{o!==W&&n.push(`${o}:${os(i,!1)}`)}),n.length>0?`${r}(${n.join("//")})`:r}{const r=function pF(e,t){let r=[];return Object.entries(e.children).forEach(([n,o])=>{n===W&&(r=r.concat(t(o,n)))}),Object.entries(e.children).forEach(([n,o])=>{n!==W&&(r=r.concat(t(o,n)))}),r}(e,(n,o)=>o===W?[os(e.children[W],!1)]:[`${o}:${os(n,!1)}`]);return 1===Object.keys(e.children).length&&null!=e.children[W]?`${El(e)}/${r[0]}`:`${El(e)}/(${r.join("//")})`}}function rb(e){return encodeURIComponent(e).replace(/%40/g,"@").replace(/%3A/gi,":").replace(/%24/g,"$").replace(/%2C/gi,",")}function Ml(e){return rb(e).replace(/%3B/gi,";")}function Gf(e){return rb(e).replace(/\(/g,"%28").replace(/\)/g,"%29").replace(/%26/gi,"&")}function Il(e){return decodeURIComponent(e)}function ob(e){return Il(e.replace(/\+/g,"%20"))}function ib(e){return`${Gf(e.path)}${function vF(e){return Object.keys(e).map(t=>`;${Gf(t)}=${Gf(e[t])}`).join("")}(e.parameters)}`}const _F=/^[^\/()?;#]+/;function zf(e){const t=e.match(_F);return t?t[0]:""}const CF=/^[^\/()?;=#]+/,bF=/^[^=?]+/,EF=/^[^]+/;class IF{constructor(t){this.url=t,this.remaining=t}parseRootSegment(){return this.consumeOptional("/"),""===this.remaining||this.peekStartsWith("?")||this.peekStartsWith("#")?new ce([],{}):new ce([],this.parseChildren())}parseQueryParams(){const t={};if(this.consumeOptional("?"))do{this.parseQueryParam(t)}while(this.consumeOptional("&"));return t}parseFragment(){return this.consumeOptional("#")?decodeURIComponent(this.remaining):null}parseChildren(){if(""===this.remaining)return{};this.consumeOptional("/");const t=[];for(this.peekStartsWith("(")||t.push(this.parseSegment());this.peekStartsWith("/")&&!this.peekStartsWith("//")&&!this.peekStartsWith("/(");)this.capture("/"),t.push(this.parseSegment());let r={};this.peekStartsWith("/(")&&(this.capture("/"),r=this.parseParens(!0));let n={};return this.peekStartsWith("(")&&(n=this.parseParens(!1)),(t.length>0||Object.keys(r).length>0)&&(n[W]=new ce(t,r)),n}parseSegment(){const t=zf(this.remaining);if(""===t&&this.peekStartsWith(";"))throw new S(4009,!1);return this.capture(t),new ns(Il(t),this.parseMatrixParams())}parseMatrixParams(){const t={};for(;this.consumeOptional(";");)this.parseParam(t);return t}parseParam(t){const r=function DF(e){const t=e.match(CF);return t?t[0]:""}(this.remaining);if(!r)return;this.capture(r);let n="";if(this.consumeOptional("=")){const o=zf(this.remaining);o&&(n=o,this.capture(n))}t[Il(r)]=Il(n)}parseQueryParam(t){const r=function wF(e){const t=e.match(bF);return t?t[0]:""}(this.remaining);if(!r)return;this.capture(r);let n="";if(this.consumeOptional("=")){const s=function MF(e){const t=e.match(EF);return t?t[0]:""}(this.remaining);s&&(n=s,this.capture(n))}const o=ob(r),i=ob(n);if(t.hasOwnProperty(o)){let s=t[o];Array.isArray(s)||(s=[s],t[o]=s),s.push(i)}else t[o]=i}parseParens(t){const r={};for(this.capture("(");!this.consumeOptional(")")&&this.remaining.length>0;){const n=zf(this.remaining),o=this.remaining[n.length];if("/"!==o&&")"!==o&&";"!==o)throw new S(4010,!1);let i;n.indexOf(":")>-1?(i=n.slice(0,n.indexOf(":")),this.capture(i),this.capture(":")):t&&(i=W);const s=this.parseChildren();r[i]=1===Object.keys(s).length?s[W]:new ce([],s),this.consumeOptional("//")}return r}peekStartsWith(t){return this.remaining.startsWith(t)}consumeOptional(t){return!!this.peekStartsWith(t)&&(this.remaining=this.remaining.substring(t.length),!0)}capture(t){if(!this.consumeOptional(t))throw new S(4011,!1)}}function sb(e){return e.segments.length>0?new ce([],{[W]:e}):e}function ab(e){const t={};for(const n of Object.keys(e.children)){const i=ab(e.children[n]);if(n===W&&0===i.segments.length&&i.hasChildren())for(const[s,a]of Object.entries(i.children))t[s]=a;else(i.segments.length>0||i.hasChildren())&&(t[n]=i)}return function SF(e){if(1===e.numberOfChildren&&e.children[W]){const t=e.children[W];return new ce(e.segments.concat(t.segments),t.children)}return e}(new ce(e.segments,t))}function Mr(e){return e instanceof Ro}function lb(e){let t;const o=sb(function r(i){const s={};for(const l of i.children){const c=r(l);s[l.outlet]=c}const a=new ce(i.url,s);return i===e&&(t=a),a}(e.root));return t??o}function cb(e,t,r,n){let o=e;for(;o.parent;)o=o.parent;if(0===t.length)return qf(o,o,o,r,n);const i=function AF(e){if("string"==typeof e[0]&&1===e.length&&"/"===e[0])return new db(!0,0,e);let t=0,r=!1;const n=e.reduce((o,i,s)=>{if("object"==typeof i&&null!=i){if(i.outlets){const a={};return Object.entries(i.outlets).forEach(([l,c])=>{a[l]="string"==typeof c?c.split("/"):c}),[...o,{outlets:a}]}if(i.segmentPath)return[...o,i.segmentPath]}return"string"!=typeof i?[...o,i]:0===s?(i.split("/").forEach((a,l)=>{0==l&&"."===a||(0==l&&""===a?r=!0:".."===a?t++:""!=a&&o.push(a))}),o):[...o,i]},[]);return new db(r,t,n)}(t);if(i.toRoot())return qf(o,o,new ce([],{}),r,n);const s=function xF(e,t,r){if(e.isAbsolute)return new Tl(t,!0,0);if(!r)return new Tl(t,!1,NaN);if(null===r.parent)return new Tl(r,!0,0);const n=Sl(e.commands[0])?0:1;return function RF(e,t,r){let n=e,o=t,i=r;for(;i>o;){if(i-=o,n=n.parent,!n)throw new S(4005,!1);o=n.segments.length}return new Tl(n,!1,o-i)}(r,r.segments.length-1+n,e.numberOfDoubleDots)}(i,o,e),a=s.processChildren?ss(s.segmentGroup,s.index,i.commands):fb(s.segmentGroup,s.index,i.commands);return qf(o,s.segmentGroup,a,r,n)}function Sl(e){return"object"==typeof e&&null!=e&&!e.outlets&&!e.segmentPath}function is(e){return"object"==typeof e&&null!=e&&e.outlets}function qf(e,t,r,n,o){let s,i={};n&&Object.entries(n).forEach(([l,c])=>{i[l]=Array.isArray(c)?c.map(u=>`${u}`):`${c}`}),s=e===t?r:ub(e,t,r);const a=sb(ab(s));return new Ro(a,i,o)}function ub(e,t,r){const n={};return Object.entries(e.children).forEach(([o,i])=>{n[o]=i===t?r:ub(i,t,r)}),new ce(e.segments,n)}class db{constructor(t,r,n){if(this.isAbsolute=t,this.numberOfDoubleDots=r,this.commands=n,t&&n.length>0&&Sl(n[0]))throw new S(4003,!1);const o=n.find(is);if(o&&o!==XD(n))throw new S(4004,!1)}toRoot(){return this.isAbsolute&&1===this.commands.length&&"/"==this.commands[0]}}class Tl{constructor(t,r,n){this.segmentGroup=t,this.processChildren=r,this.index=n}}function fb(e,t,r){if(e||(e=new ce([],{})),0===e.segments.length&&e.hasChildren())return ss(e,t,r);const n=function OF(e,t,r){let n=0,o=t;const i={match:!1,pathIndex:0,commandIndex:0};for(;o=r.length)return i;const s=e.segments[o],a=r[n];if(is(a))break;const l=`${a}`,c=n0&&void 0===l)break;if(l&&c&&"object"==typeof c&&void 0===c.outlets){if(!pb(l,c,s))return i;n+=2}else{if(!pb(l,{},s))return i;n++}o++}return{match:!0,pathIndex:o,commandIndex:n}}(e,t,r),o=r.slice(n.commandIndex);if(n.match&&n.pathIndexi!==W)&&e.children[W]&&1===e.numberOfChildren&&0===e.children[W].segments.length){const i=ss(e.children[W],t,r);return new ce(e.segments,i.children)}return Object.entries(n).forEach(([i,s])=>{"string"==typeof s&&(s=[s]),null!==s&&(o[i]=fb(e.children[i],t,s))}),Object.entries(e.children).forEach(([i,s])=>{void 0===n[i]&&(o[i]=s)}),new ce(e.segments,o)}}function Wf(e,t,r){const n=e.segments.slice(0,t);let o=0;for(;o{"string"==typeof n&&(n=[n]),null!==n&&(t[r]=Wf(new ce([],{}),0,n))}),t}function hb(e){const t={};return Object.entries(e).forEach(([r,n])=>t[r]=`${n}`),t}function pb(e,t,r){return e==r.path&&fn(t,r.parameters)}const as="imperative";class hn{constructor(t,r){this.id=t,this.url=r}}class Al extends hn{constructor(t,r,n="imperative",o=null){super(t,r),this.type=0,this.navigationTrigger=n,this.restoredState=o}toString(){return`NavigationStart(id: ${this.id}, url: '${this.url}')`}}class Fn extends hn{constructor(t,r,n){super(t,r),this.urlAfterRedirects=n,this.type=1}toString(){return`NavigationEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}')`}}class ls extends hn{constructor(t,r,n,o){super(t,r),this.reason=n,this.code=o,this.type=2}toString(){return`NavigationCancel(id: ${this.id}, url: '${this.url}')`}}class No extends hn{constructor(t,r,n,o){super(t,r),this.reason=n,this.code=o,this.type=16}}class xl extends hn{constructor(t,r,n,o){super(t,r),this.error=n,this.target=o,this.type=3}toString(){return`NavigationError(id: ${this.id}, url: '${this.url}', error: ${this.error})`}}class gb extends hn{constructor(t,r,n,o){super(t,r),this.urlAfterRedirects=n,this.state=o,this.type=4}toString(){return`RoutesRecognized(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class kF extends hn{constructor(t,r,n,o){super(t,r),this.urlAfterRedirects=n,this.state=o,this.type=7}toString(){return`GuardsCheckStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class FF extends hn{constructor(t,r,n,o,i){super(t,r),this.urlAfterRedirects=n,this.state=o,this.shouldActivate=i,this.type=8}toString(){return`GuardsCheckEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state}, shouldActivate: ${this.shouldActivate})`}}class LF extends hn{constructor(t,r,n,o){super(t,r),this.urlAfterRedirects=n,this.state=o,this.type=5}toString(){return`ResolveStart(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class VF extends hn{constructor(t,r,n,o){super(t,r),this.urlAfterRedirects=n,this.state=o,this.type=6}toString(){return`ResolveEnd(id: ${this.id}, url: '${this.url}', urlAfterRedirects: '${this.urlAfterRedirects}', state: ${this.state})`}}class jF{constructor(t){this.route=t,this.type=9}toString(){return`RouteConfigLoadStart(path: ${this.route.path})`}}class HF{constructor(t){this.route=t,this.type=10}toString(){return`RouteConfigLoadEnd(path: ${this.route.path})`}}class UF{constructor(t){this.snapshot=t,this.type=11}toString(){return`ChildActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class BF{constructor(t){this.snapshot=t,this.type=12}toString(){return`ChildActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class $F{constructor(t){this.snapshot=t,this.type=13}toString(){return`ActivationStart(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class GF{constructor(t){this.snapshot=t,this.type=14}toString(){return`ActivationEnd(path: '${this.snapshot.routeConfig&&this.snapshot.routeConfig.path||""}')`}}class mb{constructor(t,r,n){this.routerEvent=t,this.position=r,this.anchor=n,this.type=15}toString(){return`Scroll(anchor: '${this.anchor}', position: '${this.position?`${this.position[0]}, ${this.position[1]}`:null}')`}}class Zf{}class Yf{constructor(t){this.url=t}}class zF{constructor(){this.outlet=null,this.route=null,this.injector=null,this.children=new cs,this.attachRef=null}}let cs=(()=>{var e;class t{constructor(){this.contexts=new Map}onChildOutletCreated(n,o){const i=this.getOrCreateContext(n);i.outlet=o,this.contexts.set(n,i)}onChildOutletDestroyed(n){const o=this.getContext(n);o&&(o.outlet=null,o.attachRef=null)}onOutletDeactivated(){const n=this.contexts;return this.contexts=new Map,n}onOutletReAttached(n){this.contexts=n}getOrCreateContext(n){let o=this.getContext(n);return o||(o=new zF,this.contexts.set(n,o)),o}getContext(n){return this.contexts.get(n)||null}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();class vb{constructor(t){this._root=t}get root(){return this._root.value}parent(t){const r=this.pathFromRoot(t);return r.length>1?r[r.length-2]:null}children(t){const r=Qf(t,this._root);return r?r.children.map(n=>n.value):[]}firstChild(t){const r=Qf(t,this._root);return r&&r.children.length>0?r.children[0].value:null}siblings(t){const r=Xf(t,this._root);return r.length<2?[]:r[r.length-2].children.map(o=>o.value).filter(o=>o!==t)}pathFromRoot(t){return Xf(t,this._root).map(r=>r.value)}}function Qf(e,t){if(e===t.value)return t;for(const r of t.children){const n=Qf(e,r);if(n)return n}return null}function Xf(e,t){if(e===t.value)return[t];for(const r of t.children){const n=Xf(e,r);if(n.length)return n.unshift(t),n}return[]}class Ln{constructor(t,r){this.value=t,this.children=r}toString(){return`TreeNode(${this.value})`}}function Oo(e){const t={};return e&&e.children.forEach(r=>t[r.value.outlet]=r),t}class yb extends vb{constructor(t,r){super(t),this.snapshot=r,Jf(this,t)}toString(){return this.snapshot.toString()}}function _b(e,t){const r=function qF(e,t){const s=new Rl([],{},{},"",{},W,t,null,{});return new Db("",new Ln(s,[]))}(0,t),n=new At([new ns("",{})]),o=new At({}),i=new At({}),s=new At({}),a=new At(""),l=new Ir(n,o,s,a,i,W,t,r.root);return l.snapshot=r.root,new yb(new Ln(l,[]),r)}class Ir{constructor(t,r,n,o,i,s,a,l){this.urlSubject=t,this.paramsSubject=r,this.queryParamsSubject=n,this.fragmentSubject=o,this.dataSubject=i,this.outlet=s,this.component=a,this._futureSnapshot=l,this.title=this.dataSubject?.pipe(ee(c=>c[ts]))??V(void 0),this.url=t,this.params=r,this.queryParams=n,this.fragment=o,this.data=i}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._paramMap=this.params.pipe(ee(t=>xo(t)))),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=this.queryParams.pipe(ee(t=>xo(t)))),this._queryParamMap}toString(){return this.snapshot?this.snapshot.toString():`Future(${this._futureSnapshot})`}}function Cb(e,t="emptyOnly"){const r=e.pathFromRoot;let n=0;if("always"!==t)for(n=r.length-1;n>=1;){const o=r[n],i=r[n-1];if(o.routeConfig&&""===o.routeConfig.path)n--;else{if(i.component)break;n--}}return function WF(e){return e.reduce((t,r)=>({params:{...t.params,...r.params},data:{...t.data,...r.data},resolve:{...r.data,...t.resolve,...r.routeConfig?.data,...r._resolvedData}}),{params:{},data:{},resolve:{}})}(r.slice(n))}class Rl{get title(){return this.data?.[ts]}constructor(t,r,n,o,i,s,a,l,c){this.url=t,this.params=r,this.queryParams=n,this.fragment=o,this.data=i,this.outlet=s,this.component=a,this.routeConfig=l,this._resolve=c}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._paramMap=xo(this.params)),this._paramMap}get queryParamMap(){return this._queryParamMap||(this._queryParamMap=xo(this.queryParams)),this._queryParamMap}toString(){return`Route(url:'${this.url.map(n=>n.toString()).join("/")}', path:'${this.routeConfig?this.routeConfig.path:""}')`}}class Db extends vb{constructor(t,r){super(r),this.url=t,Jf(this,r)}toString(){return bb(this._root)}}function Jf(e,t){t.value._routerState=e,t.children.forEach(r=>Jf(e,r))}function bb(e){const t=e.children.length>0?` { ${e.children.map(bb).join(", ")} } `:"";return`${e.value}${t}`}function Kf(e){if(e.snapshot){const t=e.snapshot,r=e._futureSnapshot;e.snapshot=r,fn(t.queryParams,r.queryParams)||e.queryParamsSubject.next(r.queryParams),t.fragment!==r.fragment&&e.fragmentSubject.next(r.fragment),fn(t.params,r.params)||e.paramsSubject.next(r.params),function cF(e,t){if(e.length!==t.length)return!1;for(let r=0;rfn(r.parameters,t[n].parameters))}(e.url,t.url);return r&&!(!e.parent!=!t.parent)&&(!e.parent||eh(e.parent,t.parent))}let th=(()=>{var e;class t{constructor(){this.activated=null,this._activatedRoute=null,this.name=W,this.activateEvents=new Ee,this.deactivateEvents=new Ee,this.attachEvents=new Ee,this.detachEvents=new Ee,this.parentContexts=A(cs),this.location=A(Zt),this.changeDetector=A(tl),this.environmentInjector=A(Dt),this.inputBinder=A(Nl,{optional:!0}),this.supportsBindingToComponentInputs=!0}get activatedComponentRef(){return this.activated}ngOnChanges(n){if(n.name){const{firstChange:o,previousValue:i}=n.name;if(o)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(n){return this.parentContexts.getContext(n)?.outlet===this}ngOnInit(){this.initializeOutletWithName()}initializeOutletWithName(){if(this.parentContexts.onChildOutletCreated(this.name,this),this.activated)return;const n=this.parentContexts.getContext(this.name);n?.route&&(n.attachRef?this.attach(n.attachRef,n.route):this.activateWith(n.route,n.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();const n=this.activated;return this.activated=null,this._activatedRoute=null,this.detachEvents.emit(n.instance),n}attach(n,o){this.activated=n,this._activatedRoute=o,this.location.insert(n.hostView),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.attachEvents.emit(n.instance)}deactivate(){if(this.activated){const n=this.component;this.activated.destroy(),this.activated=null,this._activatedRoute=null,this.deactivateEvents.emit(n)}}activateWith(n,o){if(this.isActivated)throw new S(4013,!1);this._activatedRoute=n;const i=this.location,a=n.snapshot.component,l=this.parentContexts.getOrCreateContext(this.name).children,c=new ZF(n,l,i.injector);this.activated=i.createComponent(a,{index:i.length,injector:c,environmentInjector:o??this.environmentInjector}),this.changeDetector.markForCheck(),this.inputBinder?.bindActivatedRouteToOutletComponent(this),this.activateEvents.emit(this.activated.instance)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275dir=B({type:e,selectors:[["router-outlet"]],inputs:{name:"name"},outputs:{activateEvents:"activate",deactivateEvents:"deactivate",attachEvents:"attach",detachEvents:"detach"},exportAs:["outlet"],standalone:!0,features:[Nt]}),t})();class ZF{constructor(t,r,n){this.route=t,this.childContexts=r,this.parent=n}get(t,r){return t===Ir?this.route:t===cs?this.childContexts:this.parent.get(t,r)}}const Nl=new x("");let wb=(()=>{var e;class t{constructor(){this.outletDataSubscriptions=new Map}bindActivatedRouteToOutletComponent(n){this.unsubscribeFromRouteData(n),this.subscribeToRouteData(n)}unsubscribeFromRouteData(n){this.outletDataSubscriptions.get(n)?.unsubscribe(),this.outletDataSubscriptions.delete(n)}subscribeToRouteData(n){const{activatedRoute:o}=n,i=Rf([o.queryParams,o.params,o.data]).pipe(Ht(([s,a,l],c)=>(l={...s,...a,...l},0===c?V(l):Promise.resolve(l)))).subscribe(s=>{if(!n.isActivated||!n.activatedComponentRef||n.activatedRoute!==o||null===o.component)return void this.unsubscribeFromRouteData(n);const a=function CO(e){const t=X(e);if(!t)return null;const r=new Ri(t);return{get selector(){return r.selector},get type(){return r.componentType},get inputs(){return r.inputs},get outputs(){return r.outputs},get ngContentSelectors(){return r.ngContentSelectors},get isStandalone(){return t.standalone},get isSignal(){return t.signals}}}(o.component);if(a)for(const{templateName:l}of a.inputs)n.activatedComponentRef.setInput(l,s[l]);else this.unsubscribeFromRouteData(n)});this.outletDataSubscriptions.set(n,i)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac}),t})();function us(e,t,r){if(r&&e.shouldReuseRoute(t.value,r.value.snapshot)){const n=r.value;n._futureSnapshot=t.value;const o=function QF(e,t,r){return t.children.map(n=>{for(const o of r.children)if(e.shouldReuseRoute(n.value,o.value.snapshot))return us(e,n,o);return us(e,n)})}(e,t,r);return new Ln(n,o)}{if(e.shouldAttach(t.value)){const i=e.retrieve(t.value);if(null!==i){const s=i.route;return s.value._futureSnapshot=t.value,s.children=t.children.map(a=>us(e,a)),s}}const n=function XF(e){return new Ir(new At(e.url),new At(e.params),new At(e.queryParams),new At(e.fragment),new At(e.data),e.outlet,e.component,e)}(t.value),o=t.children.map(i=>us(e,i));return new Ln(n,o)}}const nh="ngNavigationCancelingError";function Eb(e,t){const{redirectTo:r,navigationBehaviorOptions:n}=Mr(t)?{redirectTo:t,navigationBehaviorOptions:void 0}:t,o=Mb(!1,0,t);return o.url=r,o.navigationBehaviorOptions=n,o}function Mb(e,t,r){const n=new Error("NavigationCancelingError: "+(e||""));return n[nh]=!0,n.cancellationCode=t,r&&(n.url=r),n}function Ib(e){return e&&e[nh]}let Sb=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275cmp=vt({type:e,selectors:[["ng-component"]],standalone:!0,features:[Mt],decls:1,vars:0,template:function(n,o){1&n&&v(0,"router-outlet")},dependencies:[th],encapsulation:2}),t})();function rh(e){const t=e.children&&e.children.map(rh),r=t?{...e,children:t}:{...e};return!r.component&&!r.loadComponent&&(t||r.loadChildren)&&r.outlet&&r.outlet!==W&&(r.component=Sb),r}function Jt(e){return e.outlet||W}function ds(e){if(!e)return null;if(e.routeConfig?._injector)return e.routeConfig._injector;for(let t=e.parent;t;t=t.parent){const r=t.routeConfig;if(r?._loadedInjector)return r._loadedInjector;if(r?._injector)return r._injector}return null}class i2{constructor(t,r,n,o,i){this.routeReuseStrategy=t,this.futureState=r,this.currState=n,this.forwardEvent=o,this.inputBindingEnabled=i}activate(t){const r=this.futureState._root,n=this.currState?this.currState._root:null;this.deactivateChildRoutes(r,n,t),Kf(this.futureState.root),this.activateChildRoutes(r,n,t)}deactivateChildRoutes(t,r,n){const o=Oo(r);t.children.forEach(i=>{const s=i.value.outlet;this.deactivateRoutes(i,o[s],n),delete o[s]}),Object.values(o).forEach(i=>{this.deactivateRouteAndItsChildren(i,n)})}deactivateRoutes(t,r,n){const o=t.value,i=r?r.value:null;if(o===i)if(o.component){const s=n.getContext(o.outlet);s&&this.deactivateChildRoutes(t,r,s.children)}else this.deactivateChildRoutes(t,r,n);else i&&this.deactivateRouteAndItsChildren(r,n)}deactivateRouteAndItsChildren(t,r){t.value.component&&this.routeReuseStrategy.shouldDetach(t.value.snapshot)?this.detachAndStoreRouteSubtree(t,r):this.deactivateRouteAndOutlet(t,r)}detachAndStoreRouteSubtree(t,r){const n=r.getContext(t.value.outlet),o=n&&t.value.component?n.children:r,i=Oo(t);for(const s of Object.keys(i))this.deactivateRouteAndItsChildren(i[s],o);if(n&&n.outlet){const s=n.outlet.detach(),a=n.children.onOutletDeactivated();this.routeReuseStrategy.store(t.value.snapshot,{componentRef:s,route:t,contexts:a})}}deactivateRouteAndOutlet(t,r){const n=r.getContext(t.value.outlet),o=n&&t.value.component?n.children:r,i=Oo(t);for(const s of Object.keys(i))this.deactivateRouteAndItsChildren(i[s],o);n&&(n.outlet&&(n.outlet.deactivate(),n.children.onOutletDeactivated()),n.attachRef=null,n.route=null)}activateChildRoutes(t,r,n){const o=Oo(r);t.children.forEach(i=>{this.activateRoutes(i,o[i.value.outlet],n),this.forwardEvent(new GF(i.value.snapshot))}),t.children.length&&this.forwardEvent(new BF(t.value.snapshot))}activateRoutes(t,r,n){const o=t.value,i=r?r.value:null;if(Kf(o),o===i)if(o.component){const s=n.getOrCreateContext(o.outlet);this.activateChildRoutes(t,r,s.children)}else this.activateChildRoutes(t,r,n);else if(o.component){const s=n.getOrCreateContext(o.outlet);if(this.routeReuseStrategy.shouldAttach(o.snapshot)){const a=this.routeReuseStrategy.retrieve(o.snapshot);this.routeReuseStrategy.store(o.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),Kf(a.route.value),this.activateChildRoutes(t,null,s.children)}else{const a=ds(o.snapshot);s.attachRef=null,s.route=o,s.injector=a,s.outlet&&s.outlet.activateWith(o,s.injector),this.activateChildRoutes(t,null,s.children)}}else this.activateChildRoutes(t,null,n)}}class Tb{constructor(t){this.path=t,this.route=this.path[this.path.length-1]}}class Ol{constructor(t,r){this.component=t,this.route=r}}function s2(e,t,r){const n=e._root;return fs(n,t?t._root:null,r,[n.value])}function Po(e,t){const r=Symbol(),n=t.get(e,r);return n===r?"function"!=typeof e||function R1(e){return null!==Rs(e)}(e)?t.get(e):e:n}function fs(e,t,r,n,o={canDeactivateChecks:[],canActivateChecks:[]}){const i=Oo(t);return e.children.forEach(s=>{(function l2(e,t,r,n,o={canDeactivateChecks:[],canActivateChecks:[]}){const i=e.value,s=t?t.value:null,a=r?r.getContext(e.value.outlet):null;if(s&&i.routeConfig===s.routeConfig){const l=function c2(e,t,r){if("function"==typeof r)return r(e,t);switch(r){case"pathParamsChange":return!Er(e.url,t.url);case"pathParamsOrQueryParamsChange":return!Er(e.url,t.url)||!fn(e.queryParams,t.queryParams);case"always":return!0;case"paramsOrQueryParamsChange":return!eh(e,t)||!fn(e.queryParams,t.queryParams);default:return!eh(e,t)}}(s,i,i.routeConfig.runGuardsAndResolvers);l?o.canActivateChecks.push(new Tb(n)):(i.data=s.data,i._resolvedData=s._resolvedData),fs(e,t,i.component?a?a.children:null:r,n,o),l&&a&&a.outlet&&a.outlet.isActivated&&o.canDeactivateChecks.push(new Ol(a.outlet.component,s))}else s&&hs(t,a,o),o.canActivateChecks.push(new Tb(n)),fs(e,null,i.component?a?a.children:null:r,n,o)})(s,i[s.value.outlet],r,n.concat([s.value]),o),delete i[s.value.outlet]}),Object.entries(i).forEach(([s,a])=>hs(a,r.getContext(s),o)),o}function hs(e,t,r){const n=Oo(e),o=e.value;Object.entries(n).forEach(([i,s])=>{hs(s,o.component?t?t.children.getContext(i):null:t,r)}),r.canDeactivateChecks.push(new Ol(o.component&&t&&t.outlet&&t.outlet.isActivated?t.outlet.component:null,o))}function ps(e){return"function"==typeof e}function Ab(e){return e instanceof Cl||"EmptyError"===e?.name}const Pl=Symbol("INITIAL_VALUE");function ko(){return Ht(e=>Rf(e.map(t=>t.pipe(ar(1),function Ek(...e){const t=Yo(e);return Pe((r,n)=>{(t?Nf(e,r,t):Nf(e,r)).subscribe(n)})}(Pl)))).pipe(ee(t=>{for(const r of t)if(!0!==r){if(r===Pl)return Pl;if(!1===r||r instanceof Ro)return r}return!0}),Xt(t=>t!==Pl),ar(1)))}function xb(e){return function OE(...e){return Hh(e)}(Ze(t=>{if(Mr(t))throw Eb(0,t)}),ee(t=>!0===t))}class kl{constructor(t){this.segmentGroup=t||null}}class Rb{constructor(t){this.urlTree=t}}function Fo(e){return Ji(new kl(e))}function Nb(e){return Ji(new Rb(e))}class A2{constructor(t,r){this.urlSerializer=t,this.urlTree=r}noMatchError(t){return new S(4002,!1)}lineralizeSegments(t,r){let n=[],o=r.root;for(;;){if(n=n.concat(o.segments),0===o.numberOfChildren)return V(n);if(o.numberOfChildren>1||!o.children[W])return Ji(new S(4e3,!1));o=o.children[W]}}applyRedirectCommands(t,r,n){return this.applyRedirectCreateUrlTree(r,this.urlSerializer.parse(r),t,n)}applyRedirectCreateUrlTree(t,r,n,o){const i=this.createSegmentGroup(t,r.root,n,o);return new Ro(i,this.createQueryParams(r.queryParams,this.urlTree.queryParams),r.fragment)}createQueryParams(t,r){const n={};return Object.entries(t).forEach(([o,i])=>{if("string"==typeof i&&i.startsWith(":")){const a=i.substring(1);n[o]=r[a]}else n[o]=i}),n}createSegmentGroup(t,r,n,o){const i=this.createSegments(t,r.segments,n,o);let s={};return Object.entries(r.children).forEach(([a,l])=>{s[a]=this.createSegmentGroup(t,l,n,o)}),new ce(i,s)}createSegments(t,r,n,o){return r.map(i=>i.path.startsWith(":")?this.findPosParam(t,i,o):this.findOrReturn(i,n))}findPosParam(t,r,n){const o=n[r.path.substring(1)];if(!o)throw new S(4001,!1);return o}findOrReturn(t,r){let n=0;for(const o of r){if(o.path===t.path)return r.splice(n),o;n++}return t}}const oh={matched:!1,consumedSegments:[],remainingSegments:[],parameters:{},positionalParamSegments:{}};function x2(e,t,r,n,o){const i=ih(e,t,r);return i.matched?(n=function KF(e,t){return e.providers&&!e._injector&&(e._injector=Od(e.providers,t,`Route: ${e.path}`)),e._injector??t}(t,n),function I2(e,t,r,n){const o=t.canMatch;return o&&0!==o.length?V(o.map(s=>{const a=Po(s,e);return Kn(function g2(e){return e&&ps(e.canMatch)}(a)?a.canMatch(t,r):e.runInContext(()=>a(t,r)))})).pipe(ko(),xb()):V(!0)}(n,t,r).pipe(ee(s=>!0===s?i:{...oh}))):V(i)}function ih(e,t,r){if(""===t.path)return"full"===t.pathMatch&&(e.hasChildren()||r.length>0)?{...oh}:{matched:!0,consumedSegments:[],remainingSegments:r,parameters:{},positionalParamSegments:{}};const o=(t.matcher||lF)(r,e,t);if(!o)return{...oh};const i={};Object.entries(o.posParams??{}).forEach(([a,l])=>{i[a]=l.path});const s=o.consumed.length>0?{...i,...o.consumed[o.consumed.length-1].parameters}:i;return{matched:!0,consumedSegments:o.consumed,remainingSegments:r.slice(o.consumed.length),parameters:s,positionalParamSegments:o.posParams??{}}}function Ob(e,t,r,n){return r.length>0&&function O2(e,t,r){return r.some(n=>Fl(e,t,n)&&Jt(n)!==W)}(e,r,n)?{segmentGroup:new ce(t,N2(n,new ce(r,e.children))),slicedSegments:[]}:0===r.length&&function P2(e,t,r){return r.some(n=>Fl(e,t,n))}(e,r,n)?{segmentGroup:new ce(e.segments,R2(e,0,r,n,e.children)),slicedSegments:r}:{segmentGroup:new ce(e.segments,e.children),slicedSegments:r}}function R2(e,t,r,n,o){const i={};for(const s of n)if(Fl(e,r,s)&&!o[Jt(s)]){const a=new ce([],{});i[Jt(s)]=a}return{...o,...i}}function N2(e,t){const r={};r[W]=t;for(const n of e)if(""===n.path&&Jt(n)!==W){const o=new ce([],{});r[Jt(n)]=o}return r}function Fl(e,t,r){return(!(e.hasChildren()||t.length>0)||"full"!==r.pathMatch)&&""===r.path}class V2{constructor(t,r,n,o,i,s,a){this.injector=t,this.configLoader=r,this.rootComponentType=n,this.config=o,this.urlTree=i,this.paramsInheritanceStrategy=s,this.urlSerializer=a,this.allowRedirects=!0,this.applyRedirects=new A2(this.urlSerializer,this.urlTree)}noMatchError(t){return new S(4002,!1)}recognize(){const t=Ob(this.urlTree.root,[],[],this.config).segmentGroup;return this.processSegmentGroup(this.injector,this.config,t,W).pipe(wr(r=>{if(r instanceof Rb)return this.allowRedirects=!1,this.urlTree=r.urlTree,this.match(r.urlTree);throw r instanceof kl?this.noMatchError(r):r}),ee(r=>{const n=new Rl([],Object.freeze({}),Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,{},W,this.rootComponentType,null,{}),o=new Ln(n,r),i=new Db("",o),s=function TF(e,t,r=null,n=null){return cb(lb(e),t,r,n)}(n,[],this.urlTree.queryParams,this.urlTree.fragment);return s.queryParams=this.urlTree.queryParams,i.url=this.urlSerializer.serialize(s),this.inheritParamsAndData(i._root),{state:i,tree:s}}))}match(t){return this.processSegmentGroup(this.injector,this.config,t.root,W).pipe(wr(n=>{throw n instanceof kl?this.noMatchError(n):n}))}inheritParamsAndData(t){const r=t.value,n=Cb(r,this.paramsInheritanceStrategy);r.params=Object.freeze(n.params),r.data=Object.freeze(n.data),t.children.forEach(o=>this.inheritParamsAndData(o))}processSegmentGroup(t,r,n,o){return 0===n.segments.length&&n.hasChildren()?this.processChildren(t,r,n):this.processSegment(t,r,n,n.segments,o,!0)}processChildren(t,r,n){const o=[];for(const i of Object.keys(n.children))"primary"===i?o.unshift(i):o.push(i);return Ne(o).pipe(Ao(i=>{const s=n.children[i],a=function r2(e,t){const r=e.filter(n=>Jt(n)===t);return r.push(...e.filter(n=>Jt(n)!==t)),r}(r,i);return this.processSegmentGroup(t,a,s,i)}),function Sk(e,t){return Pe(function Ik(e,t,r,n,o){return(i,s)=>{let a=r,l=t,c=0;i.subscribe(Re(s,u=>{const d=c++;l=a?e(l,u,d):(a=!0,u),n&&s.next(l)},o&&(()=>{a&&s.next(l),s.complete()})))}}(e,t,arguments.length>=2,!0))}((i,s)=>(i.push(...s),i)),Dl(null),function Tk(e,t){const r=arguments.length>=2;return n=>n.pipe(e?Xt((o,i)=>e(o,i,n)):jn,Pf(1),r?Dl(t):OD(()=>new Cl))}(),Ve(i=>{if(null===i)return Fo(n);const s=Pb(i);return function j2(e){e.sort((t,r)=>t.value.outlet===W?-1:r.value.outlet===W?1:t.value.outlet.localeCompare(r.value.outlet))}(s),V(s)}))}processSegment(t,r,n,o,i,s){return Ne(r).pipe(Ao(a=>this.processSegmentAgainstRoute(a._injector??t,r,a,n,o,i,s).pipe(wr(l=>{if(l instanceof kl)return V(null);throw l}))),br(a=>!!a),wr(a=>{if(Ab(a))return function F2(e,t,r){return 0===t.length&&!e.children[r]}(n,o,i)?V([]):Fo(n);throw a}))}processSegmentAgainstRoute(t,r,n,o,i,s,a){return function k2(e,t,r,n){return!!(Jt(e)===n||n!==W&&Fl(t,r,e))&&("**"===e.path||ih(t,e,r).matched)}(n,o,i,s)?void 0===n.redirectTo?this.matchSegmentAgainstRoute(t,o,n,i,s,a):a&&this.allowRedirects?this.expandSegmentAgainstRouteUsingRedirect(t,o,r,n,i,s):Fo(o):Fo(o)}expandSegmentAgainstRouteUsingRedirect(t,r,n,o,i,s){return"**"===o.path?this.expandWildCardWithParamsAgainstRouteUsingRedirect(t,n,o,s):this.expandRegularSegmentAgainstRouteUsingRedirect(t,r,n,o,i,s)}expandWildCardWithParamsAgainstRouteUsingRedirect(t,r,n,o){const i=this.applyRedirects.applyRedirectCommands([],n.redirectTo,{});return n.redirectTo.startsWith("/")?Nb(i):this.applyRedirects.lineralizeSegments(n,i).pipe(Ve(s=>{const a=new ce(s,{});return this.processSegment(t,r,a,s,o,!1)}))}expandRegularSegmentAgainstRouteUsingRedirect(t,r,n,o,i,s){const{matched:a,consumedSegments:l,remainingSegments:c,positionalParamSegments:u}=ih(r,o,i);if(!a)return Fo(r);const d=this.applyRedirects.applyRedirectCommands(l,o.redirectTo,u);return o.redirectTo.startsWith("/")?Nb(d):this.applyRedirects.lineralizeSegments(o,d).pipe(Ve(g=>this.processSegment(t,n,r,g.concat(c),s,!1)))}matchSegmentAgainstRoute(t,r,n,o,i,s){let a;if("**"===n.path){const l=o.length>0?XD(o).parameters:{};a=V({snapshot:new Rl(o,l,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,kb(n),Jt(n),n.component??n._loadedComponent??null,n,Fb(n)),consumedSegments:[],remainingSegments:[]}),r.children={}}else a=x2(r,n,o,t).pipe(ee(({matched:l,consumedSegments:c,remainingSegments:u,parameters:d})=>l?{snapshot:new Rl(c,d,Object.freeze({...this.urlTree.queryParams}),this.urlTree.fragment,kb(n),Jt(n),n.component??n._loadedComponent??null,n,Fb(n)),consumedSegments:c,remainingSegments:u}:null));return a.pipe(Ht(l=>null===l?Fo(r):this.getChildConfig(t=n._injector??t,n,o).pipe(Ht(({routes:c})=>{const u=n._loadedInjector??t,{snapshot:d,consumedSegments:g,remainingSegments:m}=l,{segmentGroup:y,slicedSegments:C}=Ob(r,g,m,c);if(0===C.length&&y.hasChildren())return this.processChildren(u,c,y).pipe(ee(E=>null===E?null:[new Ln(d,E)]));if(0===c.length&&0===C.length)return V([new Ln(d,[])]);const b=Jt(n)===i;return this.processSegment(u,c,y,C,b?W:i,!0).pipe(ee(E=>[new Ln(d,E)]))}))))}getChildConfig(t,r,n){return r.children?V({routes:r.children,injector:t}):r.loadChildren?void 0!==r._loadedRoutes?V({routes:r._loadedRoutes,injector:r._loadedInjector}):function M2(e,t,r,n){const o=t.canLoad;return void 0===o||0===o.length?V(!0):V(o.map(s=>{const a=Po(s,e);return Kn(function d2(e){return e&&ps(e.canLoad)}(a)?a.canLoad(t,r):e.runInContext(()=>a(t,r)))})).pipe(ko(),xb())}(t,r,n).pipe(Ve(o=>o?this.configLoader.loadChildren(t,r).pipe(Ze(i=>{r._loadedRoutes=i.routes,r._loadedInjector=i.injector})):function T2(e){return Ji(Mb(!1,3))}())):V({routes:[],injector:t})}}function H2(e){const t=e.value.routeConfig;return t&&""===t.path}function Pb(e){const t=[],r=new Set;for(const n of e){if(!H2(n)){t.push(n);continue}const o=t.find(i=>n.value.routeConfig===i.value.routeConfig);void 0!==o?(o.children.push(...n.children),r.add(o)):t.push(n)}for(const n of r){const o=Pb(n.children);t.push(new Ln(n.value,o))}return t.filter(n=>!r.has(n))}function kb(e){return e.data||{}}function Fb(e){return e.resolve||{}}function Lb(e){return"string"==typeof e.title||null===e.title}function sh(e){return Ht(t=>{const r=e(t);return r?Ne(r).pipe(ee(()=>t)):V(t)})}const Lo=new x("ROUTES");let ah=(()=>{var e;class t{constructor(){this.componentLoaders=new WeakMap,this.childrenLoaders=new WeakMap,this.compiler=A(DC)}loadComponent(n){if(this.componentLoaders.get(n))return this.componentLoaders.get(n);if(n._loadedComponent)return V(n._loadedComponent);this.onLoadStartListener&&this.onLoadStartListener(n);const o=Kn(n.loadComponent()).pipe(ee(Vb),Ze(s=>{this.onLoadEndListener&&this.onLoadEndListener(n),n._loadedComponent=s}),Ki(()=>{this.componentLoaders.delete(n)})),i=new ND(o,()=>new Vt).pipe(Of());return this.componentLoaders.set(n,i),i}loadChildren(n,o){if(this.childrenLoaders.get(o))return this.childrenLoaders.get(o);if(o._loadedRoutes)return V({routes:o._loadedRoutes,injector:o._loadedInjector});this.onLoadStartListener&&this.onLoadStartListener(o);const s=function W2(e,t,r,n){return Kn(e.loadChildren()).pipe(ee(Vb),Ve(o=>o instanceof S_||Array.isArray(o)?V(o):Ne(t.compileModuleAsync(o))),ee(o=>{n&&n(e);let i,s,a=!1;return Array.isArray(o)?(s=o,!0):(i=o.create(r).injector,s=i.get(Lo,[],{optional:!0,self:!0}).flat()),{routes:s.map(rh),injector:i}}))}(o,this.compiler,n,this.onLoadEndListener).pipe(Ki(()=>{this.childrenLoaders.delete(o)})),a=new ND(s,()=>new Vt).pipe(Of());return this.childrenLoaders.set(o,a),a}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function Vb(e){return function Z2(e){return e&&"object"==typeof e&&"default"in e}(e)?e.default:e}let Ll=(()=>{var e;class t{get hasRequestedNavigation(){return 0!==this.navigationId}constructor(){this.currentNavigation=null,this.currentTransition=null,this.lastSuccessfulNavigation=null,this.events=new Vt,this.transitionAbortSubject=new Vt,this.configLoader=A(ah),this.environmentInjector=A(Dt),this.urlSerializer=A(rs),this.rootContexts=A(cs),this.inputBindingEnabled=null!==A(Nl,{optional:!0}),this.navigationId=0,this.afterPreactivation=()=>V(void 0),this.rootComponentType=null,this.configLoader.onLoadEndListener=i=>this.events.next(new HF(i)),this.configLoader.onLoadStartListener=i=>this.events.next(new jF(i))}complete(){this.transitions?.complete()}handleNavigationRequest(n){const o=++this.navigationId;this.transitions?.next({...this.transitions.value,...n,id:o})}setupNavigations(n,o,i){return this.transitions=new At({id:0,currentUrlTree:o,currentRawUrl:o,currentBrowserUrl:o,extractedUrl:n.urlHandlingStrategy.extract(o),urlAfterRedirects:n.urlHandlingStrategy.extract(o),rawUrl:o,extras:{},resolve:null,reject:null,promise:Promise.resolve(!0),source:as,restoredState:null,currentSnapshot:i.snapshot,targetSnapshot:null,currentRouterState:i,targetRouterState:null,guards:{canActivateChecks:[],canDeactivateChecks:[]},guardsResult:null}),this.transitions.pipe(Xt(s=>0!==s.id),ee(s=>({...s,extractedUrl:n.urlHandlingStrategy.extract(s.rawUrl)})),Ht(s=>{this.currentTransition=s;let a=!1,l=!1;return V(s).pipe(Ze(c=>{this.currentNavigation={id:c.id,initialUrl:c.rawUrl,extractedUrl:c.extractedUrl,trigger:c.source,extras:c.extras,previousNavigation:this.lastSuccessfulNavigation?{...this.lastSuccessfulNavigation,previousNavigation:null}:null}}),Ht(c=>{const u=c.currentBrowserUrl.toString(),d=!n.navigated||c.extractedUrl.toString()!==u||u!==c.currentUrlTree.toString();if(!d&&"reload"!==(c.extras.onSameUrlNavigation??n.onSameUrlNavigation)){const m="";return this.events.next(new No(c.id,this.urlSerializer.serialize(c.rawUrl),m,0)),c.resolve(null),Kt}if(n.urlHandlingStrategy.shouldProcessUrl(c.rawUrl))return V(c).pipe(Ht(m=>{const y=this.transitions?.getValue();return this.events.next(new Al(m.id,this.urlSerializer.serialize(m.extractedUrl),m.source,m.restoredState)),y!==this.transitions?.getValue()?Kt:Promise.resolve(m)}),function U2(e,t,r,n,o,i){return Ve(s=>function L2(e,t,r,n,o,i,s="emptyOnly"){return new V2(e,t,r,n,o,s,i).recognize()}(e,t,r,n,s.extractedUrl,o,i).pipe(ee(({state:a,tree:l})=>({...s,targetSnapshot:a,urlAfterRedirects:l}))))}(this.environmentInjector,this.configLoader,this.rootComponentType,n.config,this.urlSerializer,n.paramsInheritanceStrategy),Ze(m=>{s.targetSnapshot=m.targetSnapshot,s.urlAfterRedirects=m.urlAfterRedirects,this.currentNavigation={...this.currentNavigation,finalUrl:m.urlAfterRedirects};const y=new gb(m.id,this.urlSerializer.serialize(m.extractedUrl),this.urlSerializer.serialize(m.urlAfterRedirects),m.targetSnapshot);this.events.next(y)}));if(d&&n.urlHandlingStrategy.shouldProcessUrl(c.currentRawUrl)){const{id:m,extractedUrl:y,source:C,restoredState:b,extras:E}=c,D=new Al(m,this.urlSerializer.serialize(y),C,b);this.events.next(D);const O=_b(0,this.rootComponentType).snapshot;return this.currentTransition=s={...c,targetSnapshot:O,urlAfterRedirects:y,extras:{...E,skipLocationChange:!1,replaceUrl:!1}},V(s)}{const m="";return this.events.next(new No(c.id,this.urlSerializer.serialize(c.extractedUrl),m,1)),c.resolve(null),Kt}}),Ze(c=>{const u=new kF(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot);this.events.next(u)}),ee(c=>(this.currentTransition=s={...c,guards:s2(c.targetSnapshot,c.currentSnapshot,this.rootContexts)},s)),function v2(e,t){return Ve(r=>{const{targetSnapshot:n,currentSnapshot:o,guards:{canActivateChecks:i,canDeactivateChecks:s}}=r;return 0===s.length&&0===i.length?V({...r,guardsResult:!0}):function y2(e,t,r,n){return Ne(e).pipe(Ve(o=>function E2(e,t,r,n,o){const i=t&&t.routeConfig?t.routeConfig.canDeactivate:null;return i&&0!==i.length?V(i.map(a=>{const l=ds(t)??o,c=Po(a,l);return Kn(function p2(e){return e&&ps(e.canDeactivate)}(c)?c.canDeactivate(e,t,r,n):l.runInContext(()=>c(e,t,r,n))).pipe(br())})).pipe(ko()):V(!0)}(o.component,o.route,r,t,n)),br(o=>!0!==o,!0))}(s,n,o,e).pipe(Ve(a=>a&&function u2(e){return"boolean"==typeof e}(a)?function _2(e,t,r,n){return Ne(t).pipe(Ao(o=>Nf(function D2(e,t){return null!==e&&t&&t(new UF(e)),V(!0)}(o.route.parent,n),function C2(e,t){return null!==e&&t&&t(new $F(e)),V(!0)}(o.route,n),function w2(e,t,r){const n=t[t.length-1],i=t.slice(0,t.length-1).reverse().map(s=>function a2(e){const t=e.routeConfig?e.routeConfig.canActivateChild:null;return t&&0!==t.length?{node:e,guards:t}:null}(s)).filter(s=>null!==s).map(s=>RD(()=>V(s.guards.map(l=>{const c=ds(s.node)??r,u=Po(l,c);return Kn(function h2(e){return e&&ps(e.canActivateChild)}(u)?u.canActivateChild(n,e):c.runInContext(()=>u(n,e))).pipe(br())})).pipe(ko())));return V(i).pipe(ko())}(e,o.path,r),function b2(e,t,r){const n=t.routeConfig?t.routeConfig.canActivate:null;if(!n||0===n.length)return V(!0);const o=n.map(i=>RD(()=>{const s=ds(t)??r,a=Po(i,s);return Kn(function f2(e){return e&&ps(e.canActivate)}(a)?a.canActivate(t,e):s.runInContext(()=>a(t,e))).pipe(br())}));return V(o).pipe(ko())}(e,o.route,r))),br(o=>!0!==o,!0))}(n,i,e,t):V(a)),ee(a=>({...r,guardsResult:a})))})}(this.environmentInjector,c=>this.events.next(c)),Ze(c=>{if(s.guardsResult=c.guardsResult,Mr(c.guardsResult))throw Eb(0,c.guardsResult);const u=new FF(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects),c.targetSnapshot,!!c.guardsResult);this.events.next(u)}),Xt(c=>!!c.guardsResult||(this.cancelNavigationTransition(c,"",3),!1)),sh(c=>{if(c.guards.canActivateChecks.length)return V(c).pipe(Ze(u=>{const d=new LF(u.id,this.urlSerializer.serialize(u.extractedUrl),this.urlSerializer.serialize(u.urlAfterRedirects),u.targetSnapshot);this.events.next(d)}),Ht(u=>{let d=!1;return V(u).pipe(function B2(e,t){return Ve(r=>{const{targetSnapshot:n,guards:{canActivateChecks:o}}=r;if(!o.length)return V(r);let i=0;return Ne(o).pipe(Ao(s=>function $2(e,t,r,n){const o=e.routeConfig,i=e._resolve;return void 0!==o?.title&&!Lb(o)&&(i[ts]=o.title),function G2(e,t,r,n){const o=function z2(e){return[...Object.keys(e),...Object.getOwnPropertySymbols(e)]}(e);if(0===o.length)return V({});const i={};return Ne(o).pipe(Ve(s=>function q2(e,t,r,n){const o=ds(t)??n,i=Po(e,o);return Kn(i.resolve?i.resolve(t,r):o.runInContext(()=>i(t,r)))}(e[s],t,r,n).pipe(br(),Ze(a=>{i[s]=a}))),Pf(1),function Ak(e){return ee(()=>e)}(i),wr(s=>Ab(s)?Kt:Ji(s)))}(i,e,t,n).pipe(ee(s=>(e._resolvedData=s,e.data=Cb(e,r).resolve,o&&Lb(o)&&(e.data[ts]=o.title),null)))}(s.route,n,e,t)),Ze(()=>i++),Pf(1),Ve(s=>i===o.length?V(r):Kt))})}(n.paramsInheritanceStrategy,this.environmentInjector),Ze({next:()=>d=!0,complete:()=>{d||this.cancelNavigationTransition(u,"",2)}}))}),Ze(u=>{const d=new VF(u.id,this.urlSerializer.serialize(u.extractedUrl),this.urlSerializer.serialize(u.urlAfterRedirects),u.targetSnapshot);this.events.next(d)}))}),sh(c=>{const u=d=>{const g=[];d.routeConfig?.loadComponent&&!d.routeConfig._loadedComponent&&g.push(this.configLoader.loadComponent(d.routeConfig).pipe(Ze(m=>{d.component=m}),ee(()=>{})));for(const m of d.children)g.push(...u(m));return g};return Rf(u(c.targetSnapshot.root)).pipe(Dl(),ar(1))}),sh(()=>this.afterPreactivation()),ee(c=>{const u=function YF(e,t,r){const n=us(e,t._root,r?r._root:void 0);return new yb(n,t)}(n.routeReuseStrategy,c.targetSnapshot,c.currentRouterState);return this.currentTransition=s={...c,targetRouterState:u},s}),Ze(()=>{this.events.next(new Zf)}),((e,t,r,n)=>ee(o=>(new i2(t,o.targetRouterState,o.currentRouterState,r,n).activate(e),o)))(this.rootContexts,n.routeReuseStrategy,c=>this.events.next(c),this.inputBindingEnabled),ar(1),Ze({next:c=>{a=!0,this.lastSuccessfulNavigation=this.currentNavigation,this.events.next(new Fn(c.id,this.urlSerializer.serialize(c.extractedUrl),this.urlSerializer.serialize(c.urlAfterRedirects))),n.titleStrategy?.updateTitle(c.targetRouterState.snapshot),c.resolve(!0)},complete:()=>{a=!0}}),function xk(e){return Pe((t,r)=>{jt(e).subscribe(Re(r,()=>r.complete(),lc)),!r.closed&&t.subscribe(r)})}(this.transitionAbortSubject.pipe(Ze(c=>{throw c}))),Ki(()=>{a||l||this.cancelNavigationTransition(s,"",1),this.currentNavigation?.id===s.id&&(this.currentNavigation=null)}),wr(c=>{if(l=!0,Ib(c))this.events.next(new ls(s.id,this.urlSerializer.serialize(s.extractedUrl),c.message,c.cancellationCode)),function JF(e){return Ib(e)&&Mr(e.url)}(c)?this.events.next(new Yf(c.url)):s.resolve(!1);else{this.events.next(new xl(s.id,this.urlSerializer.serialize(s.extractedUrl),c,s.targetSnapshot??void 0));try{s.resolve(n.errorHandler(c))}catch(u){s.reject(u)}}return Kt}))}))}cancelNavigationTransition(n,o,i){const s=new ls(n.id,this.urlSerializer.serialize(n.extractedUrl),o,i);this.events.next(s),n.resolve(!1)}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function jb(e){return e!==as}let Hb=(()=>{var e;class t{buildTitle(n){let o,i=n.root;for(;void 0!==i;)o=this.getResolvedTitleForRoute(i)??o,i=i.children.find(s=>s.outlet===W);return o}getResolvedTitleForRoute(n){return n.data[ts]}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:function(){return A(Y2)},providedIn:"root"}),t})(),Y2=(()=>{var e;class t extends Hb{constructor(n){super(),this.title=n}updateTitle(n){const o=this.buildTitle(n);void 0!==o&&this.title.setTitle(o)}}return(e=t).\u0275fac=function(n){return new(n||e)(F(qD))},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),t})(),Q2=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:function(){return A(J2)},providedIn:"root"}),t})();class X2{shouldDetach(t){return!1}store(t,r){}shouldAttach(t){return!1}retrieve(t){return null}shouldReuseRoute(t,r){return t.routeConfig===r.routeConfig}}let J2=(()=>{var e;class t extends X2{}return(e=t).\u0275fac=function(){let r;return function(o){return(r||(r=$e(e)))(o||e)}}(),e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const Vl=new x("",{providedIn:"root",factory:()=>({})});let K2=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:function(){return A(eL)},providedIn:"root"}),t})(),eL=(()=>{var e;class t{shouldProcessUrl(n){return!0}extract(n){return n}merge(n,o){return n}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();var gs=function(e){return e[e.COMPLETE=0]="COMPLETE",e[e.FAILED=1]="FAILED",e[e.REDIRECTING=2]="REDIRECTING",e}(gs||{});function Ub(e,t){e.events.pipe(Xt(r=>r instanceof Fn||r instanceof ls||r instanceof xl||r instanceof No),ee(r=>r instanceof Fn||r instanceof No?gs.COMPLETE:r instanceof ls&&(0===r.code||1===r.code)?gs.REDIRECTING:gs.FAILED),Xt(r=>r!==gs.REDIRECTING),ar(1)).subscribe(()=>{t()})}function tL(e){throw e}function nL(e,t,r){return t.parse("/")}const rL={paths:"exact",fragment:"ignored",matrixParams:"ignored",queryParams:"exact"},oL={paths:"subset",fragment:"ignored",matrixParams:"ignored",queryParams:"subset"};let St=(()=>{var e;class t{get navigationId(){return this.navigationTransitions.navigationId}get browserPageId(){return"computed"!==this.canceledNavigationResolution?this.currentPageId:this.location.getState()?.\u0275routerPageId??this.currentPageId}get events(){return this._events}constructor(){this.disposed=!1,this.currentPageId=0,this.console=A(CC),this.isNgZoneEnabled=!1,this._events=new Vt,this.options=A(Vl,{optional:!0})||{},this.pendingTasks=A(Xa),this.errorHandler=this.options.errorHandler||tL,this.malformedUriErrorHandler=this.options.malformedUriErrorHandler||nL,this.navigated=!1,this.lastSuccessfulId=-1,this.urlHandlingStrategy=A(K2),this.routeReuseStrategy=A(Q2),this.titleStrategy=A(Hb),this.onSameUrlNavigation=this.options.onSameUrlNavigation||"ignore",this.paramsInheritanceStrategy=this.options.paramsInheritanceStrategy||"emptyOnly",this.urlUpdateStrategy=this.options.urlUpdateStrategy||"deferred",this.canceledNavigationResolution=this.options.canceledNavigationResolution||"replace",this.config=A(Lo,{optional:!0})?.flat()??[],this.navigationTransitions=A(Ll),this.urlSerializer=A(rs),this.location=A(hf),this.componentInputBindingEnabled=!!A(Nl,{optional:!0}),this.eventsSubscription=new gt,this.isNgZoneEnabled=A(ge)instanceof ge&&ge.isInAngularZone(),this.resetConfig(this.config),this.currentUrlTree=new Ro,this.rawUrlTree=this.currentUrlTree,this.browserUrlTree=this.currentUrlTree,this.routerState=_b(0,null),this.navigationTransitions.setupNavigations(this,this.currentUrlTree,this.routerState).subscribe(n=>{this.lastSuccessfulId=n.id,this.currentPageId=this.browserPageId},n=>{this.console.warn(`Unhandled Navigation Error: ${n}`)}),this.subscribeToNavigationEvents()}subscribeToNavigationEvents(){const n=this.navigationTransitions.events.subscribe(o=>{try{const{currentTransition:i}=this.navigationTransitions;if(null===i)return void(Bb(o)&&this._events.next(o));if(o instanceof Al)jb(i.source)&&(this.browserUrlTree=i.extractedUrl);else if(o instanceof No)this.rawUrlTree=i.rawUrl;else if(o instanceof gb){if("eager"===this.urlUpdateStrategy){if(!i.extras.skipLocationChange){const s=this.urlHandlingStrategy.merge(i.urlAfterRedirects,i.rawUrl);this.setBrowserUrl(s,i)}this.browserUrlTree=i.urlAfterRedirects}}else if(o instanceof Zf)this.currentUrlTree=i.urlAfterRedirects,this.rawUrlTree=this.urlHandlingStrategy.merge(i.urlAfterRedirects,i.rawUrl),this.routerState=i.targetRouterState,"deferred"===this.urlUpdateStrategy&&(i.extras.skipLocationChange||this.setBrowserUrl(this.rawUrlTree,i),this.browserUrlTree=i.urlAfterRedirects);else if(o instanceof ls)0!==o.code&&1!==o.code&&(this.navigated=!0),(3===o.code||2===o.code)&&this.restoreHistory(i);else if(o instanceof Yf){const s=this.urlHandlingStrategy.merge(o.url,i.currentRawUrl),a={skipLocationChange:i.extras.skipLocationChange,replaceUrl:"eager"===this.urlUpdateStrategy||jb(i.source)};this.scheduleNavigation(s,as,null,a,{resolve:i.resolve,reject:i.reject,promise:i.promise})}o instanceof xl&&this.restoreHistory(i,!0),o instanceof Fn&&(this.navigated=!0),Bb(o)&&this._events.next(o)}catch(i){this.navigationTransitions.transitionAbortSubject.next(i)}});this.eventsSubscription.add(n)}resetRootComponentType(n){this.routerState.root.component=n,this.navigationTransitions.rootComponentType=n}initialNavigation(){if(this.setUpLocationChangeListener(),!this.navigationTransitions.hasRequestedNavigation){const n=this.location.getState();this.navigateToSyncWithBrowser(this.location.path(!0),as,n)}}setUpLocationChangeListener(){this.locationSubscription||(this.locationSubscription=this.location.subscribe(n=>{const o="popstate"===n.type?"popstate":"hashchange";"popstate"===o&&setTimeout(()=>{this.navigateToSyncWithBrowser(n.url,o,n.state)},0)}))}navigateToSyncWithBrowser(n,o,i){const s={replaceUrl:!0},a=i?.navigationId?i:null;if(i){const c={...i};delete c.navigationId,delete c.\u0275routerPageId,0!==Object.keys(c).length&&(s.state=c)}const l=this.parseUrl(n);this.scheduleNavigation(l,o,a,s)}get url(){return this.serializeUrl(this.currentUrlTree)}getCurrentNavigation(){return this.navigationTransitions.currentNavigation}get lastSuccessfulNavigation(){return this.navigationTransitions.lastSuccessfulNavigation}resetConfig(n){this.config=n.map(rh),this.navigated=!1,this.lastSuccessfulId=-1}ngOnDestroy(){this.dispose()}dispose(){this.navigationTransitions.complete(),this.locationSubscription&&(this.locationSubscription.unsubscribe(),this.locationSubscription=void 0),this.disposed=!0,this.eventsSubscription.unsubscribe()}createUrlTree(n,o={}){const{relativeTo:i,queryParams:s,fragment:a,queryParamsHandling:l,preserveFragment:c}=o,u=c?this.currentUrlTree.fragment:a;let g,d=null;switch(l){case"merge":d={...this.currentUrlTree.queryParams,...s};break;case"preserve":d=this.currentUrlTree.queryParams;break;default:d=s||null}null!==d&&(d=this.removeEmptyProps(d));try{g=lb(i?i.snapshot:this.routerState.snapshot.root)}catch{("string"!=typeof n[0]||!n[0].startsWith("/"))&&(n=[]),g=this.currentUrlTree.root}return cb(g,n,d,u??null)}navigateByUrl(n,o={skipLocationChange:!1}){const i=Mr(n)?n:this.parseUrl(n),s=this.urlHandlingStrategy.merge(i,this.rawUrlTree);return this.scheduleNavigation(s,as,null,o)}navigate(n,o={skipLocationChange:!1}){return function iL(e){for(let t=0;t{const s=n[i];return null!=s&&(o[i]=s),o},{})}scheduleNavigation(n,o,i,s,a){if(this.disposed)return Promise.resolve(!1);let l,c,u;a?(l=a.resolve,c=a.reject,u=a.promise):u=new Promise((g,m)=>{l=g,c=m});const d=this.pendingTasks.add();return Ub(this,()=>{queueMicrotask(()=>this.pendingTasks.remove(d))}),this.navigationTransitions.handleNavigationRequest({source:o,restoredState:i,currentUrlTree:this.currentUrlTree,currentRawUrl:this.currentUrlTree,currentBrowserUrl:this.browserUrlTree,rawUrl:n,extras:s,resolve:l,reject:c,promise:u,currentSnapshot:this.routerState.snapshot,currentRouterState:this.routerState}),u.catch(g=>Promise.reject(g))}setBrowserUrl(n,o){const i=this.urlSerializer.serialize(n);if(this.location.isCurrentPathEqualTo(i)||o.extras.replaceUrl){const a={...o.extras.state,...this.generateNgRouterState(o.id,this.browserPageId)};this.location.replaceState(i,"",a)}else{const s={...o.extras.state,...this.generateNgRouterState(o.id,this.browserPageId+1)};this.location.go(i,"",s)}}restoreHistory(n,o=!1){if("computed"===this.canceledNavigationResolution){const s=this.currentPageId-this.browserPageId;0!==s?this.location.historyGo(s):this.currentUrlTree===this.getCurrentNavigation()?.finalUrl&&0===s&&(this.resetState(n),this.browserUrlTree=n.currentUrlTree,this.resetUrlToCurrentUrlTree())}else"replace"===this.canceledNavigationResolution&&(o&&this.resetState(n),this.resetUrlToCurrentUrlTree())}resetState(n){this.routerState=n.currentRouterState,this.currentUrlTree=n.currentUrlTree,this.rawUrlTree=this.urlHandlingStrategy.merge(this.currentUrlTree,n.rawUrl)}resetUrlToCurrentUrlTree(){this.location.replaceState(this.urlSerializer.serialize(this.rawUrlTree),"",this.generateNgRouterState(this.lastSuccessfulId,this.currentPageId))}generateNgRouterState(n,o){return"computed"===this.canceledNavigationResolution?{navigationId:n,\u0275routerPageId:o}:{navigationId:n}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();function Bb(e){return!(e instanceof Zf||e instanceof Yf)}let pn=(()=>{var e;class t{constructor(n,o,i,s,a,l){this.router=n,this.route=o,this.tabIndexAttribute=i,this.renderer=s,this.el=a,this.locationStrategy=l,this.href=null,this.commands=null,this.onChanges=new Vt,this.preserveFragment=!1,this.skipLocationChange=!1,this.replaceUrl=!1;const c=a.nativeElement.tagName?.toLowerCase();this.isAnchorElement="a"===c||"area"===c,this.isAnchorElement?this.subscription=n.events.subscribe(u=>{u instanceof Fn&&this.updateHref()}):this.setTabIndexIfNotOnNativeEl("0")}setTabIndexIfNotOnNativeEl(n){null!=this.tabIndexAttribute||this.isAnchorElement||this.applyAttributeValue("tabindex",n)}ngOnChanges(n){this.isAnchorElement&&this.updateHref(),this.onChanges.next(this)}set routerLink(n){null!=n?(this.commands=Array.isArray(n)?n:[n],this.setTabIndexIfNotOnNativeEl("0")):(this.commands=null,this.setTabIndexIfNotOnNativeEl(null))}onClick(n,o,i,s,a){return!!(null===this.urlTree||this.isAnchorElement&&(0!==n||o||i||s||a||"string"==typeof this.target&&"_self"!=this.target))||(this.router.navigateByUrl(this.urlTree,{skipLocationChange:this.skipLocationChange,replaceUrl:this.replaceUrl,state:this.state}),!this.isAnchorElement)}ngOnDestroy(){this.subscription?.unsubscribe()}updateHref(){this.href=null!==this.urlTree&&this.locationStrategy?this.locationStrategy?.prepareExternalUrl(this.router.serializeUrl(this.urlTree)):null;const n=null===this.href?null:function Sm(e,t,r){return function VI(e,t){return"src"===t&&("embed"===e||"frame"===e||"iframe"===e||"media"===e||"script"===e)||"href"===t&&("base"===e||"link"===e)?Im:ro}(t,r)(e)}(this.href,this.el.nativeElement.tagName.toLowerCase(),"href");this.applyAttributeValue("href",n)}applyAttributeValue(n,o){const i=this.renderer,s=this.el.nativeElement;null!==o?i.setAttribute(s,n,o):i.removeAttribute(s,n)}get urlTree(){return null===this.commands?null:this.router.createUrlTree(this.commands,{relativeTo:void 0!==this.relativeTo?this.relativeTo:this.route,queryParams:this.queryParams,fragment:this.fragment,queryParamsHandling:this.queryParamsHandling,preserveFragment:this.preserveFragment})}}return(e=t).\u0275fac=function(n){return new(n||e)(I(St),I(Ir),function Js(e){return function oM(e,t){if("class"===t)return e.classes;if("style"===t)return e.styles;const r=e.attrs;if(r){const n=r.length;let o=0;for(;o{var e;class t{get isActive(){return this._isActive}constructor(n,o,i,s,a){this.router=n,this.element=o,this.renderer=i,this.cdr=s,this.link=a,this.classes=[],this._isActive=!1,this.routerLinkActiveOptions={exact:!1},this.isActiveChange=new Ee,this.routerEventsSubscription=n.events.subscribe(l=>{l instanceof Fn&&this.update()})}ngAfterContentInit(){V(this.links.changes,V(null)).pipe(Rr()).subscribe(n=>{this.update(),this.subscribeToEachLinkOnChanges()})}subscribeToEachLinkOnChanges(){this.linkInputChangesSubscription?.unsubscribe();const n=[...this.links.toArray(),this.link].filter(o=>!!o).map(o=>o.onChanges);this.linkInputChangesSubscription=Ne(n).pipe(Rr()).subscribe(o=>{this._isActive!==this.isLinkActive(this.router)(o)&&this.update()})}set routerLinkActive(n){const o=Array.isArray(n)?n:n.split(" ");this.classes=o.filter(i=>!!i)}ngOnChanges(n){this.update()}ngOnDestroy(){this.routerEventsSubscription.unsubscribe(),this.linkInputChangesSubscription?.unsubscribe()}update(){!this.links||!this.router.navigated||queueMicrotask(()=>{const n=this.hasActiveLinks();this._isActive!==n&&(this._isActive=n,this.cdr.markForCheck(),this.classes.forEach(o=>{n?this.renderer.addClass(this.element.nativeElement,o):this.renderer.removeClass(this.element.nativeElement,o)}),n&&void 0!==this.ariaCurrentWhenActive?this.renderer.setAttribute(this.element.nativeElement,"aria-current",this.ariaCurrentWhenActive.toString()):this.renderer.removeAttribute(this.element.nativeElement,"aria-current"),this.isActiveChange.emit(n))})}isLinkActive(n){const o=function sL(e){return!!e.paths}(this.routerLinkActiveOptions)?this.routerLinkActiveOptions:this.routerLinkActiveOptions.exact||!1;return i=>!!i.urlTree&&n.isActive(i.urlTree,o)}hasActiveLinks(){const n=this.isLinkActive(this.router);return this.link&&n(this.link)||this.links.some(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(I(St),I(bt),I(Mn),I(tl),I(pn,8))},e.\u0275dir=B({type:e,selectors:[["","routerLinkActive",""]],contentQueries:function(n,o,i){if(1&n&&K_(i,pn,5),2&n){let s;J_(s=function eC(){return function zR(e,t){return e[nn].queries[t].queryList}(M(),dg())}())&&(o.links=s)}},inputs:{routerLinkActiveOptions:"routerLinkActiveOptions",ariaCurrentWhenActive:"ariaCurrentWhenActive",routerLinkActive:"routerLinkActive"},outputs:{isActiveChange:"isActiveChange"},exportAs:["routerLinkActive"],standalone:!0,features:[Nt]}),t})();class Gb{}let aL=(()=>{var e;class t{constructor(n,o,i,s,a){this.router=n,this.injector=i,this.preloadingStrategy=s,this.loader=a}setUpPreloading(){this.subscription=this.router.events.pipe(Xt(n=>n instanceof Fn),Ao(()=>this.preload())).subscribe(()=>{})}preload(){return this.processRoutes(this.injector,this.router.config)}ngOnDestroy(){this.subscription&&this.subscription.unsubscribe()}processRoutes(n,o){const i=[];for(const s of o){s.providers&&!s._injector&&(s._injector=Od(s.providers,n,`Route: ${s.path}`));const a=s._injector??n,l=s._loadedInjector??a;(s.loadChildren&&!s._loadedRoutes&&void 0===s.canLoad||s.loadComponent&&!s._loadedComponent)&&i.push(this.preloadConfig(a,s)),(s.children||s._loadedRoutes)&&i.push(this.processRoutes(l,s.children??s._loadedRoutes))}return Ne(i).pipe(Rr())}preloadConfig(n,o){return this.preloadingStrategy.preload(o,()=>{let i;i=o.loadChildren&&void 0===o.canLoad?this.loader.loadChildren(n,o):V(null);const s=i.pipe(Ve(a=>null===a?V(void 0):(o._loadedRoutes=a.routes,o._loadedInjector=a.injector,this.processRoutes(a.injector??n,a.routes))));return o.loadComponent&&!o._loadedComponent?Ne([s,this.loader.loadComponent(o)]).pipe(Rr()):s})}}return(e=t).\u0275fac=function(n){return new(n||e)(F(St),F(DC),F(Dt),F(Gb),F(ah))},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:"root"}),t})();const lh=new x("");let zb=(()=>{var e;class t{constructor(n,o,i,s,a={}){this.urlSerializer=n,this.transitions=o,this.viewportScroller=i,this.zone=s,this.options=a,this.lastId=0,this.lastSource="imperative",this.restoredId=0,this.store={},a.scrollPositionRestoration=a.scrollPositionRestoration||"disabled",a.anchorScrolling=a.anchorScrolling||"disabled"}init(){"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.setHistoryScrollRestoration("manual"),this.routerEventsSubscription=this.createScrollEvents(),this.scrollEventsSubscription=this.consumeScrollEvents()}createScrollEvents(){return this.transitions.events.subscribe(n=>{n instanceof Al?(this.store[this.lastId]=this.viewportScroller.getScrollPosition(),this.lastSource=n.navigationTrigger,this.restoredId=n.restoredState?n.restoredState.navigationId:0):n instanceof Fn?(this.lastId=n.id,this.scheduleScrollEvent(n,this.urlSerializer.parse(n.urlAfterRedirects).fragment)):n instanceof No&&0===n.code&&(this.lastSource=void 0,this.restoredId=0,this.scheduleScrollEvent(n,this.urlSerializer.parse(n.url).fragment))})}consumeScrollEvents(){return this.transitions.events.subscribe(n=>{n instanceof mb&&(n.position?"top"===this.options.scrollPositionRestoration?this.viewportScroller.scrollToPosition([0,0]):"enabled"===this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition(n.position):n.anchor&&"enabled"===this.options.anchorScrolling?this.viewportScroller.scrollToAnchor(n.anchor):"disabled"!==this.options.scrollPositionRestoration&&this.viewportScroller.scrollToPosition([0,0]))})}scheduleScrollEvent(n,o){this.zone.runOutsideAngular(()=>{setTimeout(()=>{this.zone.run(()=>{this.transitions.events.next(new mb(n,"popstate"===this.lastSource?this.store[this.restoredId]:null,o))})},0)})}ngOnDestroy(){this.routerEventsSubscription?.unsubscribe(),this.scrollEventsSubscription?.unsubscribe()}}return(e=t).\u0275fac=function(n){!function pv(){throw new Error("invalid")}()},e.\u0275prov=L({token:e,factory:e.\u0275fac}),t})();function Vn(e,t){return{\u0275kind:e,\u0275providers:t}}function Wb(){const e=A(wt);return t=>{const r=e.get(Io);if(t!==r.components[0])return;const n=e.get(St),o=e.get(Zb);1===e.get(ch)&&n.initialNavigation(),e.get(Yb,null,Y.Optional)?.setUpPreloading(),e.get(lh,null,Y.Optional)?.init(),n.resetRootComponentType(r.componentTypes[0]),o.closed||(o.next(),o.complete(),o.unsubscribe())}}const Zb=new x("",{factory:()=>new Vt}),ch=new x("",{providedIn:"root",factory:()=>1}),Yb=new x("");function dL(e){return Vn(0,[{provide:Yb,useExisting:aL},{provide:Gb,useExisting:e}])}const Qb=new x("ROUTER_FORROOT_GUARD"),hL=[hf,{provide:rs,useClass:$f},St,cs,{provide:Ir,useFactory:function qb(e){return e.routerState.root},deps:[St]},ah,[]];function pL(){return new TC("Router",St)}let Xb=(()=>{var e;class t{constructor(n){}static forRoot(n,o){return{ngModule:t,providers:[hL,[],{provide:Lo,multi:!0,useValue:n},{provide:Qb,useFactory:yL,deps:[[St,new ta,new na]]},{provide:Vl,useValue:o||{}},o?.useHash?{provide:Dr,useClass:MO}:{provide:Dr,useClass:rD},{provide:lh,useFactory:()=>{const e=A($P),t=A(ge),r=A(Vl),n=A(Ll),o=A(rs);return r.scrollOffset&&e.setOffset(r.scrollOffset),new zb(o,n,e,t,r)}},o?.preloadingStrategy?dL(o.preloadingStrategy).\u0275providers:[],{provide:TC,multi:!0,useFactory:pL},o?.initialNavigation?_L(o):[],o?.bindToComponentInputs?Vn(8,[wb,{provide:Nl,useExisting:wb}]).\u0275providers:[],[{provide:Jb,useFactory:Wb},{provide:tf,multi:!0,useExisting:Jb}]]}}static forChild(n){return{ngModule:t,providers:[{provide:Lo,multi:!0,useValue:n}]}}}return(e=t).\u0275fac=function(n){return new(n||e)(F(Qb,8))},e.\u0275mod=Cn({type:e}),e.\u0275inj=en({}),t})();function yL(e){return"guarded"}function _L(e){return["disabled"===e.initialNavigation?Vn(3,[{provide:Wd,multi:!0,useFactory:()=>{const t=A(St);return()=>{t.setUpLocationChangeListener()}}},{provide:ch,useValue:2}]).\u0275providers:[],"enabledBlocking"===e.initialNavigation?Vn(2,[{provide:ch,useValue:0},{provide:Wd,multi:!0,deps:[wt],useFactory:t=>{const r=t.get(wO,Promise.resolve());return()=>r.then(()=>new Promise(n=>{const o=t.get(St),i=t.get(Zb);Ub(o,()=>{n(!0)}),t.get(Ll).afterPreactivation=()=>(n(!0),i.closed?V(void 0):i),o.initialNavigation()}))}}]).\u0275providers:[]]}const Jb=new x(""),DL=function(){return["/pro"]};let bL=(()=>{var e;class t{constructor(){this.years=(new Date).getFullYear()-2009}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275cmp=vt({type:e,selectors:[["app-footer"]],standalone:!0,features:[Mt],decls:94,vars:3,consts:[[1,"container-fluid","mt-5"],[1,"p-5"],[1,"container"],[1,"row"],[1,"col-xs-12","col-md-4","text-center"],["src","resources/portrait_600.jpg","alt","Portrait",1,"img-fluid","img-thumbnail","mb-5",2,"max-height","300px"],[1,"col-xs-12","col-md-8"],[1,"fa-solid","fa-heart","githubheart"],["href","https://github.com/sponsors/danielpalme","target","_blank"],[3,"routerLink"],[1,"col-md-3","offset-md-2"],["href","https://github.com/danielpalme/ReportGenerator","target","_blank"],["href","https://github.com/danielpalme/ReportGenerator/wiki","target","_blank"],["href","https://github.com/danielpalme/ReportGenerator/wiki/FAQ","target","_blank"],[1,"col-md-4","mt-4","mt-md-0"],["href","https://www.nuget.org/packages/ReportGenerator","target","_blank"],["href","https://www.nuget.org/packages/dotnet-reportgenerator-globaltool","target","_blank"],["href","https://www.nuget.org/packages/ReportGenerator.Core","target","_blank"],["href","https://github.com/marketplace/actions/reportgenerator","target","_blank"],["href","https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator","target","_blank"],[1,"col-md-3","mt-4","mt-md-0"],[1,"fa-brands","fa-github"],["href","https://twitter.com/danielpalme","target","_blank"],[1,"fa-brands","fa-twitter"],["href","https://www.palmmedia.de/Privacy","target","_blank"],["href","https://www.palmmedia.de/Imprint","target","_blank"]],template:function(n,o){1&n&&(h(0,"footer",0)(1,"div",1)(2,"div",2)(3,"div",3)(4,"div",4),v(5,"img",5),p(),h(6,"div",6)(7,"h2"),f(8,"Who's behind"),p(),h(9,"p"),f(10,"My name is Daniel Palme. I'm a software developer from Germany."),p(),h(11,"p"),f(12," Back in 2009 I wanted to create a code coverage report based on "),h(13,"i"),f(14,"PartCover"),p(),f(15," files."),v(16,"br"),f(17," Since no existing tool was able to merge several coverage files and generate a visual appealing report, I decided to create my own."),v(18,"br"),f(19),h(20,"i"),f(21,"ReportGenerator"),p(),f(22,". "),p(),h(23,"p"),f(24," You can support the ongoing maintenance by becoming a "),v(25,"i",7),f(26,"\xa0"),h(27,"a",8),f(28,"GitHub sponsor"),p(),f(29," or by buying a "),h(30,"a",9),f(31,"PRO license"),p(),f(32,". "),p()()()()(),h(33,"div",2)(34,"div",3),v(35,"hr"),p()(),h(36,"div",1)(37,"div",2)(38,"div",3)(39,"div",10)(40,"p")(41,"b"),f(42,"GitHub"),p()(),h(43,"a",11),f(44,"Source code"),p(),v(45,"br"),h(46,"a",12),f(47,"Wiki"),p(),v(48,"br"),h(49,"a",13),f(50,"FAQ"),p()(),h(51,"div",14)(52,"p")(53,"b"),f(54,"Download"),p()(),h(55,"i"),f(56,"NuGet"),p(),v(57,"br"),h(58,"a",15),f(59,"ReportGenerator"),p(),v(60,"br"),h(61,"a",16),f(62,"dotnet-reportgenerator-globaltool"),p(),v(63,"br"),h(64,"a",17),f(65,"ReportGenerator.Core"),p(),v(66,"br")(67,"br"),h(68,"i"),f(69,"Integration"),p(),v(70,"br"),h(71,"a",18),f(72,"GitHub actions"),p(),v(73,"br"),h(74,"a",19),f(75,"Azure DevOps"),p()(),h(76,"div",20)(77,"p")(78,"b"),f(79,"Community"),p()(),h(80,"a",11),v(81,"i",21),f(82," GitHub"),p(),v(83,"br"),h(84,"a",22),v(85,"i",23),f(86," Twitter"),p(),v(87,"br")(88,"br"),h(89,"a",24),f(90,"Privacy"),p(),v(91,"br"),h(92,"a",25),f(93,"Imprint"),p()()()()()()),2&n&&(_(19),xn(" Fast forward ",o.years," years, I'm still maintaining "),_(11),w("routerLink",K(2,DL)))},dependencies:[pn],styles:["footer[_ngcontent-%COMP%]{background-color:#464646}footer[_ngcontent-%COMP%], a[_ngcontent-%COMP%]{color:#fff}"]}),t})();const Kb=function(){return["/"]},wL=function(e){return{show:e}},Vo=function(){return["link-active"]},ew=function(){return{exact:!0}},EL=function(){return["/features"]},ML=function(){return["/getstarted"]},IL=function(){return["/usage"]},SL=function(){return["/contact"]},TL=function(){return["/pro"]};let AL=(()=>{var e;class t{constructor(){this.isExpanded=!1}collapse(){this.isExpanded=!1}toggle(){this.isExpanded=!this.isExpanded}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275cmp=vt({type:e,selectors:[["app-nav-menu"]],standalone:!0,features:[Mt],decls:42,vars:34,consts:[[1,"mb-5"],[1,"navbar","fixed-top","navbar-expand-sm","navbar-toggleable-sm","navbar-light","bg-white","border-bottom","box-shadow","mb-3"],[1,"container-xxl","flex-wrap","flex-md-nowrap"],[1,"navbar-brand",3,"routerLink"],["src","resources/logo.svg","height","40","alt","Icon",1,"me-2"],[1,"d-sm-none","d-md-none","d-lg-inline","ms-2"],["type","button","data-toggle","collapse","data-target",".navbar-collapse","aria-label","Toggle navigation",1,"navbar-toggler",3,"click"],[1,"navbar-toggler-icon"],[1,"navbar-collapse","collapse","d-sm-inline-flex",3,"ngClass"],[1,"navbar-nav","flex-grow"],[1,"nav-item",3,"routerLinkActive","routerLinkActiveOptions"],[1,"nav-link","text-dark",3,"routerLink"],[1,"nav-item",3,"routerLinkActive"],[1,"nav-link","text-dark","text-nowrap",3,"routerLink"],[1,"pro-button"],[1,"d-md-none","text-secondary"],[1,"navbar-nav","flex-row","flex-wrap","ms-md-auto","d-sm-none","d-md-flex"],[1,"nav-item","col-6","col-md-auto"],["href","https://github.com/danielpalme/ReportGenerator","target","_blank","title","GitHub",1,"nav-link","text-dark"],[1,"fa-brands","fa-github"],[1,"d-inline","d-sm-none","ms-2"],["href","https://twitter.com/danielpalme","target","_blank","title","Twitter",1,"nav-link","text-dark"],[1,"fa-brands","fa-twitter"]],template:function(n,o){1&n&&(h(0,"header",0)(1,"nav",1)(2,"div",2)(3,"a",3),v(4,"img",4),h(5,"span",5),f(6,"ReportGenerator"),p()(),h(7,"button",6),R("click",function(){return o.toggle()}),v(8,"span",7),p(),h(9,"div",8)(10,"ul",9)(11,"li",10)(12,"a",11),f(13,"Home"),p()(),h(14,"li",10)(15,"a",11),f(16,"Features"),p()(),h(17,"li",12)(18,"a",13),f(19,"Get started"),p()(),h(20,"li",12)(21,"a",11),f(22,"Usage"),p()(),h(23,"li",12)(24,"a",11),f(25,"Contact"),p()(),h(26,"li",12)(27,"a",11)(28,"span",14),f(29,"PRO"),p()()()(),v(30,"hr",15),h(31,"ul",16)(32,"li",17)(33,"a",18),v(34,"i",19),h(35,"span",20),f(36,"GitHub"),p()()(),h(37,"li",17)(38,"a",21),v(39,"i",22),h(40,"span",20),f(41,"Twitter"),p()()()()()()()()),2&n&&(_(3),w("routerLink",K(17,Kb)),_(4),zt("aria-expanded",o.isExpanded),_(2),w("ngClass",$i(18,wL,o.isExpanded)),_(2),w("routerLinkActive",K(20,Vo))("routerLinkActiveOptions",K(21,ew)),_(1),w("routerLink",K(22,Kb)),_(2),w("routerLinkActive",K(23,Vo))("routerLinkActiveOptions",K(24,ew)),_(1),w("routerLink",K(25,EL)),_(2),w("routerLinkActive",K(26,Vo)),_(1),w("routerLink",K(27,ML)),_(2),w("routerLinkActive",K(28,Vo)),_(1),w("routerLink",K(29,IL)),_(2),w("routerLinkActive",K(30,Vo)),_(1),w("routerLink",K(31,SL)),_(2),w("routerLinkActive",K(32,Vo)),_(1),w("routerLink",K(33,TL)))},dependencies:[pn,ml,$b],styles:[".box-shadow[_ngcontent-%COMP%]{box-shadow:0 .25rem .75rem #0000000d}@keyframes _ngcontent-%COMP%_pro-button-animation{0%{background-color:var(--rg-primary-color);background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%)}50%{background-color:vvar(--rg-primary-hover-color);background-image:linear-gradient(50deg,var(--rg-gradient-hover-from) 0%,var(--rg-gradient-hover-from) 100%);box-shadow:0 0 6px 1px var(--rg-primary-color)}to{background-color:var(--rg-primary-color);background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%)}}.pro-button[_ngcontent-%COMP%]{animation-name:_ngcontent-%COMP%_pro-button-animation;animation-duration:2s;animation-iteration-count:2}.pro-button[_ngcontent-%COMP%]:hover, .link-active[_ngcontent-%COMP%] .pro-button[_ngcontent-%COMP%]{background-color:var(--rg-primary-hover-color);background-image:linear-gradient(50deg,var(--rg-gradient-hover-from) 0%,var(--rg-gradient-hover-from) 100%);box-shadow:0 0 6px 1px var(--rg-primary-color)}.nav-link[_ngcontent-%COMP%]{text-transform:uppercase;font-weight:500}.nav-link[_ngcontent-%COMP%]:hover{text-decoration:underline;text-underline-offset:2px}.link-active[_ngcontent-%COMP%] a[_ngcontent-%COMP%]{color:var(--rg-primary-hover-color)!important;font-weight:400}"]}),t})(),xL=(()=>{var e;class t{constructor(n,o,i){this.dom=n,this.router=o,this.activatedRoute=i}ngOnInit(){this.router.events.pipe(Xt(n=>n instanceof Fn),ee(()=>this.activatedRoute),ee(n=>{for(;n.firstChild;)n=n.firstChild;return n}),Xt(n=>"primary"===n.outlet),Ve(n=>n.data)).subscribe(n=>{const o=`${window.location.protocol}//${window.location.hostname}`;this.updateCanonicalUrl(n.canonical?o+n.canonical:o+this.router.url)})}updateCanonicalUrl(n){const o=this.dom.getElementsByTagName("head")[0];var i=this.dom.querySelector("link[rel='canonical']")||null;null==i&&(i=this.dom.createElement("link"),o.appendChild(i)),i.setAttribute("rel","canonical"),i.setAttribute("href",n)}}return(e=t).\u0275fac=function(n){return new(n||e)(I(pt),I(St),I(Ir))},e.\u0275cmp=vt({type:e,selectors:[["app-root"]],standalone:!0,features:[Mt],decls:3,vars:0,template:function(n,o){1&n&&v(0,"app-nav-menu")(1,"router-outlet")(2,"app-footer")},dependencies:[AL,th,bL],encapsulation:2}),t})(),tw=(()=>{var e;class t{constructor(n,o){this._renderer=n,this._elementRef=o,this.onChange=i=>{},this.onTouched=()=>{}}setProperty(n,o){this._renderer.setProperty(this._elementRef.nativeElement,n,o)}registerOnTouched(n){this.onTouched=n}registerOnChange(n){this.onChange=n}setDisabledState(n){this.setProperty("disabled",n)}}return(e=t).\u0275fac=function(n){return new(n||e)(I(Mn),I(bt))},e.\u0275dir=B({type:e}),t})(),Sr=(()=>{var e;class t extends tw{}return(e=t).\u0275fac=function(){let r;return function(o){return(r||(r=$e(e)))(o||e)}}(),e.\u0275dir=B({type:e,features:[le]}),t})();const gn=new x("NgValueAccessor"),OL={provide:gn,useExisting:fe(()=>jo),multi:!0},kL=new x("CompositionEventMode");let jo=(()=>{var e;class t extends tw{constructor(n,o,i){super(n,o),this._compositionMode=i,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function PL(){const e=Xn()?Xn().getUserAgent():"";return/android (\d+)/.test(e.toLowerCase())}())}writeValue(n){this.setProperty("value",n??"")}_handleInput(n){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(n)}_compositionStart(){this._composing=!0}_compositionEnd(n){this._composing=!1,this._compositionMode&&this.onChange(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(I(Mn),I(bt),I(kL,8))},e.\u0275dir=B({type:e,selectors:[["input","formControlName","",3,"type","checkbox"],["textarea","formControlName",""],["input","formControl","",3,"type","checkbox"],["textarea","formControl",""],["input","ngModel","",3,"type","checkbox"],["textarea","ngModel",""],["","ngDefaultControl",""]],hostBindings:function(n,o){1&n&&R("input",function(s){return o._handleInput(s.target.value)})("blur",function(){return o.onTouched()})("compositionstart",function(){return o._compositionStart()})("compositionend",function(s){return o._compositionEnd(s.target.value)})},features:[De([OL]),le]}),t})();function er(e){return null==e||("string"==typeof e||Array.isArray(e))&&0===e.length}const Ye=new x("NgValidators"),tr=new x("NgAsyncValidators"),FL=/^(?=.{1,254}$)(?=.{1,64}@)[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-zA-Z0-9!#$%&'*+/=?^_`{|}~-]+)*@[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)*$/;function sw(e){return er(e.value)?{required:!0}:null}function lw(e){return er(e.value)||FL.test(e.value)?null:{email:!0}}function jl(e){return null}function fw(e){return null!=e}function hw(e){return Fi(e)?Ne(e):e}function pw(e){let t={};return e.forEach(r=>{t=null!=r?{...t,...r}:t}),0===Object.keys(t).length?null:t}function gw(e,t){return t.map(r=>r(e))}function mw(e){return e.map(t=>function LL(e){return!e.validate}(t)?t:r=>t.validate(r))}function uh(e){return null!=e?function vw(e){if(!e)return null;const t=e.filter(fw);return 0==t.length?null:function(r){return pw(gw(r,t))}}(mw(e)):null}function dh(e){return null!=e?function yw(e){if(!e)return null;const t=e.filter(fw);return 0==t.length?null:function(r){return function RL(...e){const t=op(e),{args:r,keys:n}=SD(e),o=new Ie(i=>{const{length:s}=r;if(!s)return void i.complete();const a=new Array(s);let l=s,c=s;for(let u=0;u{d||(d=!0,c--),a[u]=g},()=>l--,void 0,()=>{(!l||!d)&&(c||i.next(n?AD(n,a):a),i.complete())}))}});return t?o.pipe(TD(t)):o}(gw(r,t).map(hw)).pipe(ee(pw))}}(mw(e)):null}function _w(e,t){return null===e?[t]:Array.isArray(e)?[...e,t]:[e,t]}function fh(e){return e?Array.isArray(e)?e:[e]:[]}function Hl(e,t){return Array.isArray(e)?e.includes(t):e===t}function bw(e,t){const r=fh(t);return fh(e).forEach(o=>{Hl(r,o)||r.push(o)}),r}function ww(e,t){return fh(t).filter(r=>!Hl(e,r))}class Ew{constructor(){this._rawValidators=[],this._rawAsyncValidators=[],this._onDestroyCallbacks=[]}get value(){return this.control?this.control.value:null}get valid(){return this.control?this.control.valid:null}get invalid(){return this.control?this.control.invalid:null}get pending(){return this.control?this.control.pending:null}get disabled(){return this.control?this.control.disabled:null}get enabled(){return this.control?this.control.enabled:null}get errors(){return this.control?this.control.errors:null}get pristine(){return this.control?this.control.pristine:null}get dirty(){return this.control?this.control.dirty:null}get touched(){return this.control?this.control.touched:null}get status(){return this.control?this.control.status:null}get untouched(){return this.control?this.control.untouched:null}get statusChanges(){return this.control?this.control.statusChanges:null}get valueChanges(){return this.control?this.control.valueChanges:null}get path(){return null}_setValidators(t){this._rawValidators=t||[],this._composedValidatorFn=uh(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=dh(this._rawAsyncValidators)}get validator(){return this._composedValidatorFn||null}get asyncValidator(){return this._composedAsyncValidatorFn||null}_registerOnDestroy(t){this._onDestroyCallbacks.push(t)}_invokeOnDestroyCallbacks(){this._onDestroyCallbacks.forEach(t=>t()),this._onDestroyCallbacks=[]}reset(t=void 0){this.control&&this.control.reset(t)}hasError(t,r){return!!this.control&&this.control.hasError(t,r)}getError(t,r){return this.control?this.control.getError(t,r):null}}class ot extends Ew{get formDirective(){return null}get path(){return null}}class nr extends Ew{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class Mw{constructor(t){this._cd=t}get isTouched(){return!!this._cd?.control?.touched}get isUntouched(){return!!this._cd?.control?.untouched}get isPristine(){return!!this._cd?.control?.pristine}get isDirty(){return!!this._cd?.control?.dirty}get isValid(){return!!this._cd?.control?.valid}get isInvalid(){return!!this._cd?.control?.invalid}get isPending(){return!!this._cd?.control?.pending}get isSubmitted(){return!!this._cd?.submitted}}let Ul=(()=>{var e;class t extends Mw{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(I(nr,2))},e.\u0275dir=B({type:e,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(n,o){2&n&&Ba("ng-untouched",o.isUntouched)("ng-touched",o.isTouched)("ng-pristine",o.isPristine)("ng-dirty",o.isDirty)("ng-valid",o.isValid)("ng-invalid",o.isInvalid)("ng-pending",o.isPending)},features:[le]}),t})(),Bl=(()=>{var e;class t extends Mw{constructor(n){super(n)}}return(e=t).\u0275fac=function(n){return new(n||e)(I(ot,10))},e.\u0275dir=B({type:e,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(n,o){2&n&&Ba("ng-untouched",o.isUntouched)("ng-touched",o.isTouched)("ng-pristine",o.isPristine)("ng-dirty",o.isDirty)("ng-valid",o.isValid)("ng-invalid",o.isInvalid)("ng-pending",o.isPending)("ng-submitted",o.isSubmitted)},features:[le]}),t})();const ms="VALID",Gl="INVALID",Ho="PENDING",vs="DISABLED";function gh(e){return(zl(e)?e.validators:e)||null}function mh(e,t){return(zl(t)?t.asyncValidators:e)||null}function zl(e){return null!=e&&!Array.isArray(e)&&"object"==typeof e}class Aw{constructor(t,r){this._pendingDirty=!1,this._hasOwnPendingAsyncValidator=!1,this._pendingTouched=!1,this._onCollectionChange=()=>{},this._parent=null,this.pristine=!0,this.touched=!1,this._onDisabledChange=[],this._assignValidators(t),this._assignAsyncValidators(r)}get validator(){return this._composedValidatorFn}set validator(t){this._rawValidators=this._composedValidatorFn=t}get asyncValidator(){return this._composedAsyncValidatorFn}set asyncValidator(t){this._rawAsyncValidators=this._composedAsyncValidatorFn=t}get parent(){return this._parent}get valid(){return this.status===ms}get invalid(){return this.status===Gl}get pending(){return this.status==Ho}get disabled(){return this.status===vs}get enabled(){return this.status!==vs}get dirty(){return!this.pristine}get untouched(){return!this.touched}get updateOn(){return this._updateOn?this._updateOn:this.parent?this.parent.updateOn:"change"}setValidators(t){this._assignValidators(t)}setAsyncValidators(t){this._assignAsyncValidators(t)}addValidators(t){this.setValidators(bw(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(bw(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(ww(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(ww(t,this._rawAsyncValidators))}hasValidator(t){return Hl(this._rawValidators,t)}hasAsyncValidator(t){return Hl(this._rawAsyncValidators,t)}clearValidators(){this.validator=null}clearAsyncValidators(){this.asyncValidator=null}markAsTouched(t={}){this.touched=!0,this._parent&&!t.onlySelf&&this._parent.markAsTouched(t)}markAllAsTouched(){this.markAsTouched({onlySelf:!0}),this._forEachChild(t=>t.markAllAsTouched())}markAsUntouched(t={}){this.touched=!1,this._pendingTouched=!1,this._forEachChild(r=>{r.markAsUntouched({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}markAsDirty(t={}){this.pristine=!1,this._parent&&!t.onlySelf&&this._parent.markAsDirty(t)}markAsPristine(t={}){this.pristine=!0,this._pendingDirty=!1,this._forEachChild(r=>{r.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=Ho,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const r=this._parentMarkedDirty(t.onlySelf);this.status=vs,this.errors=null,this._forEachChild(n=>{n.disable({...t,onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:r}),this._onDisabledChange.forEach(n=>n(!0))}enable(t={}){const r=this._parentMarkedDirty(t.onlySelf);this.status=ms,this._forEachChild(n=>{n.enable({...t,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:r}),this._onDisabledChange.forEach(n=>n(!1))}_updateAncestors(t){this._parent&&!t.onlySelf&&(this._parent.updateValueAndValidity(t),t.skipPristineCheck||this._parent._updatePristine(),this._parent._updateTouched())}setParent(t){this._parent=t}getRawValue(){return this.value}updateValueAndValidity(t={}){this._setInitialStatus(),this._updateValue(),this.enabled&&(this._cancelExistingSubscription(),this.errors=this._runValidator(),this.status=this._calculateStatus(),(this.status===ms||this.status===Ho)&&this._runAsyncValidator(t.emitEvent)),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._parent&&!t.onlySelf&&this._parent.updateValueAndValidity(t)}_updateTreeValidity(t={emitEvent:!0}){this._forEachChild(r=>r._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?vs:ms}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=Ho,this._hasOwnPendingAsyncValidator=!0;const r=hw(this.asyncValidator(this));this._asyncValidationSubscription=r.subscribe(n=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(n,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,r={}){this.errors=t,this._updateControlsErrors(!1!==r.emitEvent)}get(t){let r=t;return null==r||(Array.isArray(r)||(r=r.split(".")),0===r.length)?null:r.reduce((n,o)=>n&&n._find(o),this)}getError(t,r){const n=r?this.get(r):this;return n&&n.errors?n.errors[t]:null}hasError(t,r){return!!this.getError(t,r)}get root(){let t=this;for(;t._parent;)t=t._parent;return t}_updateControlsErrors(t){this.status=this._calculateStatus(),t&&this.statusChanges.emit(this.status),this._parent&&this._parent._updateControlsErrors(t)}_initObservables(){this.valueChanges=new Ee,this.statusChanges=new Ee}_calculateStatus(){return this._allControlsDisabled()?vs:this.errors?Gl:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(Ho)?Ho:this._anyControlsHaveStatus(Gl)?Gl:ms}_anyControlsHaveStatus(t){return this._anyControls(r=>r.status===t)}_anyControlsDirty(){return this._anyControls(t=>t.dirty)}_anyControlsTouched(){return this._anyControls(t=>t.touched)}_updatePristine(t={}){this.pristine=!this._anyControlsDirty(),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}_updateTouched(t={}){this.touched=this._anyControlsTouched(),this._parent&&!t.onlySelf&&this._parent._updateTouched(t)}_registerOnCollectionChange(t){this._onCollectionChange=t}_setUpdateStrategy(t){zl(t)&&null!=t.updateOn&&(this._updateOn=t.updateOn)}_parentMarkedDirty(t){return!t&&!(!this._parent||!this._parent.dirty)&&!this._parent._anyControlsDirty()}_find(t){return null}_assignValidators(t){this._rawValidators=Array.isArray(t)?t.slice():t,this._composedValidatorFn=function UL(e){return Array.isArray(e)?uh(e):e||null}(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=function BL(e){return Array.isArray(e)?dh(e):e||null}(this._rawAsyncValidators)}}class vh extends Aw{constructor(t,r,n){super(gh(r),mh(n,r)),this.controls=t,this._initObservables(),this._setUpdateStrategy(r),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,r){return this.controls[t]?this.controls[t]:(this.controls[t]=r,r.setParent(this),r._registerOnCollectionChange(this._onCollectionChange),r)}addControl(t,r,n={}){this.registerControl(t,r),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}removeControl(t,r={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:r.emitEvent}),this._onCollectionChange()}setControl(t,r,n={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],r&&this.registerControl(t,r),this.updateValueAndValidity({emitEvent:n.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,r={}){(function Tw(e,t,r){e._forEachChild((n,o)=>{if(void 0===r[o])throw new S(1002,"")})})(this,0,t),Object.keys(t).forEach(n=>{(function Sw(e,t,r){const n=e.controls;if(!(t?Object.keys(n):n).length)throw new S(1e3,"");if(!n[r])throw new S(1001,"")})(this,!0,n),this.controls[n].setValue(t[n],{onlySelf:!0,emitEvent:r.emitEvent})}),this.updateValueAndValidity(r)}patchValue(t,r={}){null!=t&&(Object.keys(t).forEach(n=>{const o=this.controls[n];o&&o.patchValue(t[n],{onlySelf:!0,emitEvent:r.emitEvent})}),this.updateValueAndValidity(r))}reset(t={},r={}){this._forEachChild((n,o)=>{n.reset(t[o],{onlySelf:!0,emitEvent:r.emitEvent})}),this._updatePristine(r),this._updateTouched(r),this.updateValueAndValidity(r)}getRawValue(){return this._reduceChildren({},(t,r,n)=>(t[n]=r.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(r,n)=>!!n._syncPendingControls()||r);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(r=>{const n=this.controls[r];n&&t(n,r)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const[r,n]of Object.entries(this.controls))if(this.contains(r)&&t(n))return!0;return!1}_reduceValue(){return this._reduceChildren({},(r,n,o)=>((n.enabled||this.disabled)&&(r[o]=n.value),r))}_reduceChildren(t,r){let n=t;return this._forEachChild((o,i)=>{n=r(n,o,i)}),n}_allControlsDisabled(){for(const t of Object.keys(this.controls))if(this.controls[t].enabled)return!1;return Object.keys(this.controls).length>0||this.disabled}_find(t){return this.controls.hasOwnProperty(t)?this.controls[t]:null}}const Uo=new x("CallSetDisabledState",{providedIn:"root",factory:()=>ql}),ql="always";function ys(e,t,r=ql){yh(e,t),t.valueAccessor.writeValue(e.value),(e.disabled||"always"===r)&&t.valueAccessor.setDisabledState?.(e.disabled),function zL(e,t){t.valueAccessor.registerOnChange(r=>{e._pendingValue=r,e._pendingChange=!0,e._pendingDirty=!0,"change"===e.updateOn&&xw(e,t)})}(e,t),function WL(e,t){const r=(n,o)=>{t.valueAccessor.writeValue(n),o&&t.viewToModelUpdate(n)};e.registerOnChange(r),t._registerOnDestroy(()=>{e._unregisterOnChange(r)})}(e,t),function qL(e,t){t.valueAccessor.registerOnTouched(()=>{e._pendingTouched=!0,"blur"===e.updateOn&&e._pendingChange&&xw(e,t),"submit"!==e.updateOn&&e.markAsTouched()})}(e,t),function GL(e,t){if(t.valueAccessor.setDisabledState){const r=n=>{t.valueAccessor.setDisabledState(n)};e.registerOnDisabledChange(r),t._registerOnDestroy(()=>{e._unregisterOnDisabledChange(r)})}}(e,t)}function Yl(e,t){e.forEach(r=>{r.registerOnValidatorChange&&r.registerOnValidatorChange(t)})}function yh(e,t){const r=function Cw(e){return e._rawValidators}(e);null!==t.validator?e.setValidators(_w(r,t.validator)):"function"==typeof r&&e.setValidators([r]);const n=function Dw(e){return e._rawAsyncValidators}(e);null!==t.asyncValidator?e.setAsyncValidators(_w(n,t.asyncValidator)):"function"==typeof n&&e.setAsyncValidators([n]);const o=()=>e.updateValueAndValidity();Yl(t._rawValidators,o),Yl(t._rawAsyncValidators,o)}function xw(e,t){e._pendingDirty&&e.markAsDirty(),e.setValue(e._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(e._pendingValue),e._pendingChange=!1}const JL={provide:ot,useExisting:fe(()=>Bo)},_s=(()=>Promise.resolve())();let Bo=(()=>{var e;class t extends ot{constructor(n,o,i){super(),this.callSetDisabledState=i,this.submitted=!1,this._directives=new Set,this.ngSubmit=new Ee,this.form=new vh({},uh(n),dh(o))}ngAfterViewInit(){this._setUpdateStrategy()}get formDirective(){return this}get control(){return this.form}get path(){return[]}get controls(){return this.form.controls}addControl(n){_s.then(()=>{const o=this._findContainer(n.path);n.control=o.registerControl(n.name,n.control),ys(n.control,n,this.callSetDisabledState),n.control.updateValueAndValidity({emitEvent:!1}),this._directives.add(n)})}getControl(n){return this.form.get(n.path)}removeControl(n){_s.then(()=>{const o=this._findContainer(n.path);o&&o.removeControl(n.name),this._directives.delete(n)})}addFormGroup(n){_s.then(()=>{const o=this._findContainer(n.path),i=new vh({});(function Rw(e,t){yh(e,t)})(i,n),o.registerControl(n.name,i),i.updateValueAndValidity({emitEvent:!1})})}removeFormGroup(n){_s.then(()=>{const o=this._findContainer(n.path);o&&o.removeControl(n.name)})}getFormGroup(n){return this.form.get(n.path)}updateModel(n,o){_s.then(()=>{this.form.get(n.path).setValue(o)})}setValue(n){this.control.setValue(n)}onSubmit(n){return this.submitted=!0,function Nw(e,t){e._syncPendingControls(),t.forEach(r=>{const n=r.control;"submit"===n.updateOn&&n._pendingChange&&(r.viewToModelUpdate(n._pendingValue),n._pendingChange=!1)})}(this.form,this._directives),this.ngSubmit.emit(n),"dialog"===n?.target?.method}onReset(){this.resetForm()}resetForm(n=void 0){this.form.reset(n),this.submitted=!1}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.form._updateOn=this.options.updateOn)}_findContainer(n){return n.pop(),n.length?this.form.get(n):this.form}}return(e=t).\u0275fac=function(n){return new(n||e)(I(Ye,10),I(tr,10),I(Uo,8))},e.\u0275dir=B({type:e,selectors:[["form",3,"ngNoForm","",3,"formGroup",""],["ng-form"],["","ngForm",""]],hostBindings:function(n,o){1&n&&R("submit",function(s){return o.onSubmit(s)})("reset",function(){return o.onReset()})},inputs:{options:["ngFormOptions","options"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[De([JL]),le]}),t})();function Ow(e,t){const r=e.indexOf(t);r>-1&&e.splice(r,1)}function Pw(e){return"object"==typeof e&&null!==e&&2===Object.keys(e).length&&"value"in e&&"disabled"in e}const kw=class extends Aw{constructor(t=null,r,n){super(gh(r),mh(n,r)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(t),this._setUpdateStrategy(r),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),zl(r)&&(r.nonNullable||r.initialValueIsDefault)&&(this.defaultValue=Pw(t)?t.value:t)}setValue(t,r={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==r.emitModelToViewChange&&this._onChange.forEach(n=>n(this.value,!1!==r.emitViewToModelChange)),this.updateValueAndValidity(r)}patchValue(t,r={}){this.setValue(t,r)}reset(t=this.defaultValue,r={}){this._applyFormState(t),this.markAsPristine(r),this.markAsUntouched(r),this.setValue(this.value,r),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){Ow(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){Ow(this._onDisabledChange,t)}_forEachChild(t){}_syncPendingControls(){return!("submit"!==this.updateOn||(this._pendingDirty&&this.markAsDirty(),this._pendingTouched&&this.markAsTouched(),!this._pendingChange)||(this.setValue(this._pendingValue,{onlySelf:!0,emitModelToViewChange:!1}),0))}_applyFormState(t){Pw(t)?(this.value=this._pendingValue=t.value,t.disabled?this.disable({onlySelf:!0,emitEvent:!1}):this.enable({onlySelf:!0,emitEvent:!1})):this.value=this._pendingValue=t}},tV={provide:nr,useExisting:fe(()=>Cs)},Vw=(()=>Promise.resolve())();let Cs=(()=>{var e;class t extends nr{constructor(n,o,i,s,a,l){super(),this._changeDetectorRef=a,this.callSetDisabledState=l,this.control=new kw,this._registered=!1,this.name="",this.update=new Ee,this._parent=n,this._setValidators(o),this._setAsyncValidators(i),this.valueAccessor=function Dh(e,t){if(!t)return null;let r,n,o;return Array.isArray(t),t.forEach(i=>{i.constructor===jo?r=i:function QL(e){return Object.getPrototypeOf(e.constructor)===Sr}(i)?n=i:o=i}),o||n||r||null}(0,s)}ngOnChanges(n){if(this._checkForErrors(),!this._registered||"name"in n){if(this._registered&&(this._checkName(),this.formDirective)){const o=n.name.previousValue;this.formDirective.removeControl({name:o,path:this._getPath(o)})}this._setUpControl()}"isDisabled"in n&&this._updateDisabled(n),function Ch(e,t){if(!e.hasOwnProperty("model"))return!1;const r=e.model;return!!r.isFirstChange()||!Object.is(t,r.currentValue)}(n,this.viewModel)&&(this._updateValue(this.model),this.viewModel=this.model)}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}get path(){return this._getPath(this.name)}get formDirective(){return this._parent?this._parent.formDirective:null}viewToModelUpdate(n){this.viewModel=n,this.update.emit(n)}_setUpControl(){this._setUpdateStrategy(),this._isStandalone()?this._setUpStandalone():this.formDirective.addControl(this),this._registered=!0}_setUpdateStrategy(){this.options&&null!=this.options.updateOn&&(this.control._updateOn=this.options.updateOn)}_isStandalone(){return!this._parent||!(!this.options||!this.options.standalone)}_setUpStandalone(){ys(this.control,this,this.callSetDisabledState),this.control.updateValueAndValidity({emitEvent:!1})}_checkForErrors(){this._isStandalone()||this._checkParentType(),this._checkName()}_checkParentType(){}_checkName(){this.options&&this.options.name&&(this.name=this.options.name),this._isStandalone()}_updateValue(n){Vw.then(()=>{this.control.setValue(n,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(n){const o=n.isDisabled.currentValue,i=0!==o&&So(o);Vw.then(()=>{i&&!this.control.disabled?this.control.disable():!i&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(n){return this._parent?function Wl(e,t){return[...t.path,e]}(n,this._parent):[n]}}return(e=t).\u0275fac=function(n){return new(n||e)(I(ot,9),I(Ye,10),I(tr,10),I(gn,10),I(tl,8),I(Uo,8))},e.\u0275dir=B({type:e,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[De([tV]),le,Nt]}),t})(),Xl=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275dir=B({type:e,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),t})();const rV={provide:gn,useExisting:fe(()=>bh),multi:!0};let Hw=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Cn({type:e}),e.\u0275inj=en({}),t})(),oV=(()=>{var e;class t{constructor(){this._accessors=[]}add(n,o){this._accessors.push([n,o])}remove(n){for(let o=this._accessors.length-1;o>=0;--o)if(this._accessors[o][1]===n)return void this._accessors.splice(o,1)}select(n){this._accessors.forEach(o=>{this._isSameGroup(o,n)&&o[1]!==n&&o[1].fireUncheck(n.value)})}_isSameGroup(n,o){return!!n[0].control&&n[0]._parent===o._control._parent&&n[1].name===o.name}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac,providedIn:Hw}),t})(),bh=(()=>{var e;class t extends Sr{constructor(n,o,i,s){super(n,o),this._registry=i,this._injector=s,this.setDisabledStateFired=!1,this.onChange=()=>{},this.callSetDisabledState=A(Uo,{optional:!0})??ql}ngOnInit(){this._control=this._injector.get(nr),this._checkName(),this._registry.add(this._control,this)}ngOnDestroy(){this._registry.remove(this)}writeValue(n){this._state=n===this.value,this.setProperty("checked",this._state)}registerOnChange(n){this._fn=n,this.onChange=()=>{n(this.value),this._registry.select(this)}}setDisabledState(n){(this.setDisabledStateFired||n||"whenDisabledForLegacyCode"===this.callSetDisabledState)&&this.setProperty("disabled",n),this.setDisabledStateFired=!0}fireUncheck(n){this.writeValue(n)}_checkName(){!this.name&&this.formControlName&&(this.name=this.formControlName)}}return(e=t).\u0275fac=function(n){return new(n||e)(I(Mn),I(bt),I(oV),I(wt))},e.\u0275dir=B({type:e,selectors:[["input","type","radio","formControlName",""],["input","type","radio","formControl",""],["input","type","radio","ngModel",""]],hostBindings:function(n,o){1&n&&R("change",function(){return o.onChange()})("blur",function(){return o.onTouched()})},inputs:{name:"name",formControlName:"formControlName",value:"value"},features:[De([rV]),le]}),t})();const dV={provide:gn,useExisting:fe(()=>Jl),multi:!0};function qw(e,t){return null==e?`${t}`:(t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let Jl=(()=>{var e;class t extends Sr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){this.value=n;const i=qw(this._getOptionId(n),n);this.setProperty("value",i)}registerOnChange(n){this.onChange=o=>{this.value=this._getOptionValue(o),n(this.value)}}_registerOption(){return(this._idCounter++).toString()}_getOptionId(n){for(const o of this._optionMap.keys())if(this._compareWith(this._optionMap.get(o),n))return o;return null}_getOptionValue(n){const o=function fV(e){return e.split(":")[0]}(n);return this._optionMap.has(o)?this._optionMap.get(o):n}}return(e=t).\u0275fac=function(){let r;return function(o){return(r||(r=$e(e)))(o||e)}}(),e.\u0275dir=B({type:e,selectors:[["select","formControlName","",3,"multiple",""],["select","formControl","",3,"multiple",""],["select","ngModel","",3,"multiple",""]],hostBindings:function(n,o){1&n&&R("change",function(s){return o.onChange(s.target.value)})("blur",function(){return o.onTouched()})},inputs:{compareWith:"compareWith"},features:[De([dV]),le]}),t})(),Ww=(()=>{var e;class t{constructor(n,o,i){this._element=n,this._renderer=o,this._select=i,this._select&&(this.id=this._select._registerOption())}set ngValue(n){null!=this._select&&(this._select._optionMap.set(this.id,n),this._setElementValue(qw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._setElementValue(n),this._select&&this._select.writeValue(this._select.value)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(I(bt),I(Mn),I(Jl,9))},e.\u0275dir=B({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})();const hV={provide:gn,useExisting:fe(()=>Ih),multi:!0};function Zw(e,t){return null==e?`${t}`:("string"==typeof t&&(t=`'${t}'`),t&&"object"==typeof t&&(t="Object"),`${e}: ${t}`.slice(0,50))}let Ih=(()=>{var e;class t extends Sr{constructor(){super(...arguments),this._optionMap=new Map,this._idCounter=0,this._compareWith=Object.is}set compareWith(n){this._compareWith=n}writeValue(n){let o;if(this.value=n,Array.isArray(n)){const i=n.map(s=>this._getOptionId(s));o=(s,a)=>{s._setSelected(i.indexOf(a.toString())>-1)}}else o=(i,s)=>{i._setSelected(!1)};this._optionMap.forEach(o)}registerOnChange(n){this.onChange=o=>{const i=[],s=o.selectedOptions;if(void 0!==s){const a=s;for(let l=0;l{var e;class t{constructor(n,o,i){this._element=n,this._renderer=o,this._select=i,this._select&&(this.id=this._select._registerOption(this))}set ngValue(n){null!=this._select&&(this._value=n,this._setElementValue(Zw(this.id,n)),this._select.writeValue(this._select.value))}set value(n){this._select?(this._value=n,this._setElementValue(Zw(this.id,n)),this._select.writeValue(this._select.value)):this._setElementValue(n)}_setElementValue(n){this._renderer.setProperty(this._element.nativeElement,"value",n)}_setSelected(n){this._renderer.setProperty(this._element.nativeElement,"selected",n)}ngOnDestroy(){this._select&&(this._select._optionMap.delete(this.id),this._select.writeValue(this._select.value))}}return(e=t).\u0275fac=function(n){return new(n||e)(I(bt),I(Mn),I(Ih,9))},e.\u0275dir=B({type:e,selectors:[["option"]],inputs:{ngValue:"ngValue",value:"value"}}),t})();let Tr=(()=>{var e;class t{constructor(){this._validator=jl}ngOnChanges(n){if(this.inputName in n){const o=this.normalizeInput(n[this.inputName].currentValue);this._enabled=this.enabled(o),this._validator=this._enabled?this.createValidator(o):jl,this._onChange&&this._onChange()}}validate(n){return this._validator(n)}registerOnValidatorChange(n){this._onChange=n}enabled(n){return null!=n}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275dir=B({type:e,features:[Nt]}),t})();const vV={provide:Ye,useExisting:fe(()=>$o),multi:!0};let $o=(()=>{var e;class t extends Tr{constructor(){super(...arguments),this.inputName="required",this.normalizeInput=So,this.createValidator=n=>sw}enabled(n){return n}}return(e=t).\u0275fac=function(){let r;return function(o){return(r||(r=$e(e)))(o||e)}}(),e.\u0275dir=B({type:e,selectors:[["","required","","formControlName","",3,"type","checkbox"],["","required","","formControl","",3,"type","checkbox"],["","required","","ngModel","",3,"type","checkbox"]],hostVars:1,hostBindings:function(n,o){2&n&&zt("required",o._enabled?"":null)},inputs:{required:"required"},features:[De([vV]),le]}),t})();const _V={provide:Ye,useExisting:fe(()=>Kl),multi:!0};let Kl=(()=>{var e;class t extends Tr{constructor(){super(...arguments),this.inputName="email",this.normalizeInput=So,this.createValidator=n=>lw}enabled(n){return n}}return(e=t).\u0275fac=function(){let r;return function(o){return(r||(r=$e(e)))(o||e)}}(),e.\u0275dir=B({type:e,selectors:[["","email","","formControlName",""],["","email","","formControl",""],["","email","","ngModel",""]],inputs:{email:"email"},features:[De([_V]),le]}),t})();const DV={provide:Ye,useExisting:fe(()=>Sh),multi:!0};let Sh=(()=>{var e;class t extends Tr{constructor(){super(...arguments),this.inputName="maxlength",this.normalizeInput=n=>function Qw(e){return"number"==typeof e?e:parseInt(e,10)}(n),this.createValidator=n=>function uw(e){return t=>function rw(e){return null!=e&&"number"==typeof e.length}(t.value)&&t.value.length>e?{maxlength:{requiredLength:e,actualLength:t.value.length}}:null}(n)}}return(e=t).\u0275fac=function(){let r;return function(o){return(r||(r=$e(e)))(o||e)}}(),e.\u0275dir=B({type:e,selectors:[["","maxlength","","formControlName",""],["","maxlength","","formControl",""],["","maxlength","","ngModel",""]],hostVars:1,hostBindings:function(n,o){2&n&&zt("maxlength",o._enabled?o.maxlength:null)},inputs:{maxlength:"maxlength"},features:[De([DV]),le]}),t})();const bV={provide:Ye,useExisting:fe(()=>Th),multi:!0};let Th=(()=>{var e;class t extends Tr{constructor(){super(...arguments),this.inputName="pattern",this.normalizeInput=n=>n,this.createValidator=n=>function dw(e){if(!e)return jl;let t,r;return"string"==typeof e?(r="","^"!==e.charAt(0)&&(r+="^"),r+=e,"$"!==e.charAt(e.length-1)&&(r+="$"),t=new RegExp(r)):(r=e.toString(),t=e),n=>{if(er(n.value))return null;const o=n.value;return t.test(o)?null:{pattern:{requiredPattern:r,actualValue:o}}}}(n)}}return(e=t).\u0275fac=function(){let r;return function(o){return(r||(r=$e(e)))(o||e)}}(),e.\u0275dir=B({type:e,selectors:[["","pattern","","formControlName",""],["","pattern","","formControl",""],["","pattern","","ngModel",""]],hostVars:1,hostBindings:function(n,o){2&n&&zt("pattern",o._enabled?o.pattern:null)},inputs:{pattern:"pattern"},features:[De([bV]),le]}),t})(),wV=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Cn({type:e}),e.\u0275inj=en({imports:[Hw]}),t})(),ec=(()=>{var e;class t{static withConfig(n){return{ngModule:t,providers:[{provide:Uo,useValue:n.callSetDisabledState??ql}]}}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Cn({type:e}),e.\u0275inj=en({imports:[wV]}),t})();class tc{}class nc{}class mn{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?"string"==typeof t?this.lazyInit=()=>{this.headers=new Map,t.split("\n").forEach(r=>{const n=r.indexOf(":");if(n>0){const o=r.slice(0,n),i=o.toLowerCase(),s=r.slice(n+1).trim();this.maybeSetNormalizedName(o,i),this.headers.has(i)?this.headers.get(i).push(s):this.headers.set(i,[s])}})}:typeof Headers<"u"&&t instanceof Headers?(this.headers=new Map,t.forEach((r,n)=>{this.setHeaderEntries(n,r)})):this.lazyInit=()=>{this.headers=new Map,Object.entries(t).forEach(([r,n])=>{this.setHeaderEntries(r,n)})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const r=this.headers.get(t.toLowerCase());return r&&r.length>0?r[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,r){return this.clone({name:t,value:r,op:"a"})}set(t,r){return this.clone({name:t,value:r,op:"s"})}delete(t,r){return this.clone({name:t,value:r,op:"d"})}maybeSetNormalizedName(t,r){this.normalizedNames.has(r)||this.normalizedNames.set(r,t)}init(){this.lazyInit&&(this.lazyInit instanceof mn?this.copyFrom(this.lazyInit):this.lazyInit(),this.lazyInit=null,this.lazyUpdate&&(this.lazyUpdate.forEach(t=>this.applyUpdate(t)),this.lazyUpdate=null))}copyFrom(t){t.init(),Array.from(t.headers.keys()).forEach(r=>{this.headers.set(r,t.headers.get(r)),this.normalizedNames.set(r,t.normalizedNames.get(r))})}clone(t){const r=new mn;return r.lazyInit=this.lazyInit&&this.lazyInit instanceof mn?this.lazyInit:this,r.lazyUpdate=(this.lazyUpdate||[]).concat([t]),r}applyUpdate(t){const r=t.name.toLowerCase();switch(t.op){case"a":case"s":let n=t.value;if("string"==typeof n&&(n=[n]),0===n.length)return;this.maybeSetNormalizedName(t.name,r);const o=("a"===t.op?this.headers.get(r):void 0)||[];o.push(...n),this.headers.set(r,o);break;case"d":const i=t.value;if(i){let s=this.headers.get(r);if(!s)return;s=s.filter(a=>-1===i.indexOf(a)),0===s.length?(this.headers.delete(r),this.normalizedNames.delete(r)):this.headers.set(r,s)}else this.headers.delete(r),this.normalizedNames.delete(r)}}setHeaderEntries(t,r){const n=(Array.isArray(r)?r:[r]).map(i=>i.toString()),o=t.toLowerCase();this.headers.set(o,n),this.maybeSetNormalizedName(t,o)}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(r=>t(this.normalizedNames.get(r),this.headers.get(r)))}}class MV{encodeKey(t){return nE(t)}encodeValue(t){return nE(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const SV=/%(\d[a-f0-9])/gi,TV={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function nE(e){return encodeURIComponent(e).replace(SV,(t,r)=>TV[r]??t)}function rc(e){return`${e}`}class rr{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new MV,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function IV(e,t){const r=new Map;return e.length>0&&e.replace(/^\?/,"").split("&").forEach(o=>{const i=o.indexOf("="),[s,a]=-1==i?[t.decodeKey(o),""]:[t.decodeKey(o.slice(0,i)),t.decodeValue(o.slice(i+1))],l=r.get(s)||[];l.push(a),r.set(s,l)}),r}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(r=>{const n=t.fromObject[r],o=Array.isArray(n)?n.map(rc):[rc(n)];this.map.set(r,o)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const r=this.map.get(t);return r?r[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,r){return this.clone({param:t,value:r,op:"a"})}appendAll(t){const r=[];return Object.keys(t).forEach(n=>{const o=t[n];Array.isArray(o)?o.forEach(i=>{r.push({param:n,value:i,op:"a"})}):r.push({param:n,value:o,op:"a"})}),this.clone(r)}set(t,r){return this.clone({param:t,value:r,op:"s"})}delete(t,r){return this.clone({param:t,value:r,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const r=this.encoder.encodeKey(t);return this.map.get(t).map(n=>r+"="+this.encoder.encodeValue(n)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const r=new rr({encoder:this.encoder});return r.cloneFrom=this.cloneFrom||this,r.updates=(this.updates||[]).concat(t),r}init(){null===this.map&&(this.map=new Map),null!==this.cloneFrom&&(this.cloneFrom.init(),this.cloneFrom.keys().forEach(t=>this.map.set(t,this.cloneFrom.map.get(t))),this.updates.forEach(t=>{switch(t.op){case"a":case"s":const r=("a"===t.op?this.map.get(t.param):void 0)||[];r.push(rc(t.value)),this.map.set(t.param,r);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let n=this.map.get(t.param)||[];const o=n.indexOf(rc(t.value));-1!==o&&n.splice(o,1),n.length>0?this.map.set(t.param,n):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class AV{constructor(){this.map=new Map}set(t,r){return this.map.set(t,r),this}get(t){return this.map.has(t)||this.map.set(t,t.defaultValue()),this.map.get(t)}delete(t){return this.map.delete(t),this}has(t){return this.map.has(t)}keys(){return this.map.keys()}}function rE(e){return typeof ArrayBuffer<"u"&&e instanceof ArrayBuffer}function oE(e){return typeof Blob<"u"&&e instanceof Blob}function iE(e){return typeof FormData<"u"&&e instanceof FormData}class Ds{constructor(t,r,n,o){let i;if(this.url=r,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function xV(e){switch(e){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||o?(this.body=void 0!==n?n:null,i=o):i=n,i&&(this.reportProgress=!!i.reportProgress,this.withCredentials=!!i.withCredentials,i.responseType&&(this.responseType=i.responseType),i.headers&&(this.headers=i.headers),i.context&&(this.context=i.context),i.params&&(this.params=i.params)),this.headers||(this.headers=new mn),this.context||(this.context=new AV),this.params){const s=this.params.toString();if(0===s.length)this.urlWithParams=r;else{const a=r.indexOf("?");this.urlWithParams=r+(-1===a?"?":ad.set(g,t.setHeaders[g]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((d,g)=>d.set(g,t.setParams[g]),c)),new Ds(r,n,i,{params:c,headers:l,context:u,reportProgress:a,responseType:o,withCredentials:s})}}var Go=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}(Go||{});class Ah{constructor(t,r=200,n="OK"){this.headers=t.headers||new mn,this.status=void 0!==t.status?t.status:r,this.statusText=t.statusText||n,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class xh extends Ah{constructor(t={}){super(t),this.type=Go.ResponseHeader}clone(t={}){return new xh({headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class zo extends Ah{constructor(t={}){super(t),this.type=Go.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new zo({body:void 0!==t.body?t.body:this.body,headers:t.headers||this.headers,status:void 0!==t.status?t.status:this.status,statusText:t.statusText||this.statusText,url:t.url||this.url||void 0})}}class sE extends Ah{constructor(t){super(t,0,"Unknown Error"),this.name="HttpErrorResponse",this.ok=!1,this.message=this.status>=200&&this.status<300?`Http failure during parsing for ${t.url||"(unknown url)"}`:`Http failure response for ${t.url||"(unknown url)"}: ${t.status} ${t.statusText}`,this.error=t.error||null}}function Rh(e,t){return{body:t,headers:e.headers,context:e.context,observe:e.observe,params:e.params,reportProgress:e.reportProgress,responseType:e.responseType,withCredentials:e.withCredentials}}let Nh=(()=>{var e;class t{constructor(n){this.handler=n}request(n,o,i={}){let s;if(n instanceof Ds)s=n;else{let c,u;c=i.headers instanceof mn?i.headers:new mn(i.headers),i.params&&(u=i.params instanceof rr?i.params:new rr({fromObject:i.params})),s=new Ds(n,o,void 0!==i.body?i.body:null,{headers:c,context:i.context,params:u,reportProgress:i.reportProgress,responseType:i.responseType||"json",withCredentials:i.withCredentials})}const a=V(s).pipe(Ao(c=>this.handler.handle(c)));if(n instanceof Ds||"events"===i.observe)return a;const l=a.pipe(Xt(c=>c instanceof zo));switch(i.observe||"body"){case"body":switch(s.responseType){case"arraybuffer":return l.pipe(ee(c=>{if(null!==c.body&&!(c.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return c.body}));case"blob":return l.pipe(ee(c=>{if(null!==c.body&&!(c.body instanceof Blob))throw new Error("Response is not a Blob.");return c.body}));case"text":return l.pipe(ee(c=>{if(null!==c.body&&"string"!=typeof c.body)throw new Error("Response is not a string.");return c.body}));default:return l.pipe(ee(c=>c.body))}case"response":return l;default:throw new Error(`Unreachable: unhandled observe type ${i.observe}}`)}}delete(n,o={}){return this.request("DELETE",n,o)}get(n,o={}){return this.request("GET",n,o)}head(n,o={}){return this.request("HEAD",n,o)}jsonp(n,o){return this.request("JSONP",n,{params:(new rr).append(o,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(n,o={}){return this.request("OPTIONS",n,o)}patch(n,o,i={}){return this.request("PATCH",n,Rh(i,o))}post(n,o,i={}){return this.request("POST",n,Rh(i,o))}put(n,o,i={}){return this.request("PUT",n,Rh(i,o))}}return(e=t).\u0275fac=function(n){return new(n||e)(F(tc))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),t})();function cE(e,t){return t(e)}function OV(e,t){return(r,n)=>t.intercept(r,{handle:o=>e(o,n)})}const kV=new x(""),bs=new x(""),uE=new x("");function FV(){let e=null;return(t,r)=>{null===e&&(e=(A(kV,{optional:!0})??[]).reduceRight(OV,cE));const n=A(Xa),o=n.add();return e(t,r).pipe(Ki(()=>n.remove(o)))}}let dE=(()=>{var e;class t extends tc{constructor(n,o){super(),this.backend=n,this.injector=o,this.chain=null,this.pendingTasks=A(Xa)}handle(n){if(null===this.chain){const i=Array.from(new Set([...this.injector.get(bs),...this.injector.get(uE,[])]));this.chain=i.reduceRight((s,a)=>function PV(e,t,r){return(n,o)=>r.runInContext(()=>t(n,i=>e(i,o)))}(s,a,this.injector),cE)}const o=this.pendingTasks.add();return this.chain(n,i=>this.backend.handle(i)).pipe(Ki(()=>this.pendingTasks.remove(o)))}}return(e=t).\u0275fac=function(n){return new(n||e)(F(nc),F(Dt))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),t})();const HV=/^\)\]\}',?\n/;let hE=(()=>{var e;class t{constructor(n){this.xhrFactory=n}handle(n){if("JSONP"===n.method)throw new S(-2800,!1);const o=this.xhrFactory;return(o.\u0275loadImpl?Ne(o.\u0275loadImpl()):V(null)).pipe(Ht(()=>new Ie(s=>{const a=o.build();if(a.open(n.method,n.urlWithParams),n.withCredentials&&(a.withCredentials=!0),n.headers.forEach((b,E)=>a.setRequestHeader(b,E.join(","))),n.headers.has("Accept")||a.setRequestHeader("Accept","application/json, text/plain, */*"),!n.headers.has("Content-Type")){const b=n.detectContentTypeHeader();null!==b&&a.setRequestHeader("Content-Type",b)}if(n.responseType){const b=n.responseType.toLowerCase();a.responseType="json"!==b?b:"text"}const l=n.serializeBody();let c=null;const u=()=>{if(null!==c)return c;const b=a.statusText||"OK",E=new mn(a.getAllResponseHeaders()),D=function UV(e){return"responseURL"in e&&e.responseURL?e.responseURL:/^X-Request-URL:/m.test(e.getAllResponseHeaders())?e.getResponseHeader("X-Request-URL"):null}(a)||n.url;return c=new xh({headers:E,status:a.status,statusText:b,url:D}),c},d=()=>{let{headers:b,status:E,statusText:D,url:O}=u(),N=null;204!==E&&(N=typeof a.response>"u"?a.responseText:a.response),0===E&&(E=N?200:0);let Z=E>=200&&E<300;if("json"===n.responseType&&"string"==typeof N){const Ge=N;N=N.replace(HV,"");try{N=""!==N?JSON.parse(N):null}catch(Tt){N=Ge,Z&&(Z=!1,N={error:Tt,text:N})}}Z?(s.next(new zo({body:N,headers:b,status:E,statusText:D,url:O||void 0})),s.complete()):s.error(new sE({error:N,headers:b,status:E,statusText:D,url:O||void 0}))},g=b=>{const{url:E}=u(),D=new sE({error:b,status:a.status||0,statusText:a.statusText||"Unknown Error",url:E||void 0});s.error(D)};let m=!1;const y=b=>{m||(s.next(u()),m=!0);let E={type:Go.DownloadProgress,loaded:b.loaded};b.lengthComputable&&(E.total=b.total),"text"===n.responseType&&a.responseText&&(E.partialText=a.responseText),s.next(E)},C=b=>{let E={type:Go.UploadProgress,loaded:b.loaded};b.lengthComputable&&(E.total=b.total),s.next(E)};return a.addEventListener("load",d),a.addEventListener("error",g),a.addEventListener("timeout",g),a.addEventListener("abort",g),n.reportProgress&&(a.addEventListener("progress",y),null!==l&&a.upload&&a.upload.addEventListener("progress",C)),a.send(l),s.next({type:Go.Sent}),()=>{a.removeEventListener("error",g),a.removeEventListener("abort",g),a.removeEventListener("load",d),a.removeEventListener("timeout",g),n.reportProgress&&(a.removeEventListener("progress",y),null!==l&&a.upload&&a.upload.removeEventListener("progress",C)),a.readyState!==a.DONE&&a.abort()}})))}}return(e=t).\u0275fac=function(n){return new(n||e)(F(bD))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),t})();const Oh=new x("XSRF_ENABLED"),pE=new x("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>"XSRF-TOKEN"}),gE=new x("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>"X-XSRF-TOKEN"});class mE{}let GV=(()=>{var e;class t{constructor(n,o,i){this.doc=n,this.platform=o,this.cookieName=i,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const n=this.doc.cookie||"";return n!==this.lastCookieString&&(this.parseCount++,this.lastToken=hD(n,this.cookieName),this.lastCookieString=n),this.lastToken}}return(e=t).\u0275fac=function(n){return new(n||e)(F(pt),F(gr),F(pE))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),t})();function zV(e,t){const r=e.url.toLowerCase();if(!A(Oh)||"GET"===e.method||"HEAD"===e.method||r.startsWith("http://")||r.startsWith("https://"))return t(e);const n=A(mE).getToken(),o=A(gE);return null!=n&&!e.headers.has(o)&&(e=e.clone({headers:e.headers.set(o,n)})),t(e)}var or=function(e){return e[e.Interceptors=0]="Interceptors",e[e.LegacyInterceptors=1]="LegacyInterceptors",e[e.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",e[e.NoXsrfProtection=3]="NoXsrfProtection",e[e.JsonpSupport=4]="JsonpSupport",e[e.RequestsMadeViaParent=5]="RequestsMadeViaParent",e[e.Fetch=6]="Fetch",e}(or||{});const vE=new x("LEGACY_INTERCEPTOR_FN");class KV{constructor(){this.name="",this.email="",this.message=""}}let yE=(()=>{var e;class t{constructor(n){this.httpClient=n}postContactForm(n){return this.httpClient.post(`${ve_apiBaseUrl}contact`,n)}}return(e=t).\u0275fac=function(n){return new(n||e)(F(Nh))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),t})();function e3(e,t){if(1&e){const r=Ae();h(0,"form",5,6),R("ngSubmit",function(){return ne(r),re(k().submit())}),h(2,"div",7)(3,"label",8),f(4,"Name "),h(5,"span",9),f(6,"*"),p()(),h(7,"input",10),R("ngModelChange",function(o){return ne(r),re(k().contactViewModel.name=o)}),p()(),h(8,"div",7)(9,"label",11),f(10,"Email address "),h(11,"span",9),f(12,"*"),p()(),h(13,"input",12),R("ngModelChange",function(o){return ne(r),re(k().contactViewModel.email=o)}),p()(),h(14,"div",7)(15,"label",13),f(16,"Message "),h(17,"span",9),f(18,"*"),p()(),h(19,"textarea",14),R("ngModelChange",function(o){return ne(r),re(k().contactViewModel.message=o)}),p()(),h(20,"button",15),f(21,"Submit"),p()()}if(2&e){const r=_d(1),n=k();_(7),w("ngModel",n.contactViewModel.name),_(6),w("ngModel",n.contactViewModel.email),_(6),w("ngModel",n.contactViewModel.message),_(1),w("disabled",!r.valid||n.enableFormCountDown>0)}}function t3(e,t){1&e&&(h(0,"p"),f(1,"Thanks for your message."),p())}function n3(e,t){1&e&&(h(0,"p",16),f(1,"Something went wrong. Please try again later."),p())}let r3=(()=>{var e;class t{constructor(n){this.contactService=n,this.contactViewModel=new KV,this.success=!1,this.error=!1,this.enableFormCountDown=100,this.intervalId=null}ngOnInit(){this.intervalId=setInterval(()=>{this.enableFormCountDown-=1,0===this.enableFormCountDown&&clearInterval(this.intervalId)},50)}ngOnDestroy(){this.intervalId&&clearInterval(this.intervalId)}submit(){this.contactService.postContactForm(this.contactViewModel).subscribe({next:n=>{console.log("Submitted form"),this.success=!0},error:n=>{console.error(n),this.error=!0},complete:()=>console.info("complete")})}}return(e=t).\u0275fac=function(n){return new(n||e)(I(yE))},e.\u0275cmp=vt({type:e,selectors:[["app-contact-component"]],standalone:!0,features:[Mt],decls:6,vars:3,consts:[[1,"container"],[1,"mb-4"],["method","post",3,"ngSubmit",4,"ngIf"],[4,"ngIf"],["class","text-danger",4,"ngIf"],["method","post",3,"ngSubmit"],["contactForm","ngForm"],[1,"mb-3"],["for","Name"],[1,"required"],["type","text","id","Name","name","Name","required","",1,"form-control",3,"ngModel","ngModelChange"],["for","Email"],["type","email","id","Email","name","Email","email","","required","",1,"form-control",3,"ngModel","ngModelChange"],["for","Message"],["rows","7","id","Message","name","Message","required","",1,"form-control",3,"ngModel","ngModelChange"],["type","submit",1,"btn","btn-primary",3,"disabled"],[1,"text-danger"]],template:function(n,o){1&n&&(h(0,"div",0)(1,"h1",1),f(2,"Contact"),p(),P(3,e3,22,4,"form",2),P(4,t3,2,0,"p",3),P(5,n3,2,0,"p",4),p()),2&n&&(_(3),w("ngIf",!o.success&&!o.error),_(1),w("ngIf",o.success),_(1),w("ngIf",o.error))},dependencies:[vl,ec,Xl,jo,Ul,Bl,$o,Kl,Cs,Bo]}),t})();const _E=function(){return["/pro"]};let o3=(()=>{var e;class t{scrollToAnchor(n){return document.querySelector(n)?.scrollIntoView(!0),!1}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275cmp=vt({type:e,selectors:[["app-features-component"]],standalone:!0,features:[Mt],decls:131,vars:4,consts:[[1,"container"],[1,"mb-4"],["id","coveragequota"],[1,"pro-text"],["href","https://en.wikipedia.org/wiki/Code_coverage","target","_blank"],[1,"fa-solid","fa-arrow-up-right-from-square"],[3,"routerLink"],[1,"pro-button","pro-button-tiny"],["loading","lazy","srcset","resources/features/quota@1x.webp 1x, resources/features/quota@2x.webp 2x","src","resources/features/quota1x.webp","alt","Coverage quotas",1,"img-fluid"],["id","coveragehistory",1,"mt-5"],["loading","lazy","srcset","resources/features/history@1x.webp 1x, resources/features/history@2x.webp 2x","src","resources/features/history@1x.webp","alt","Coverage history",1,"img-fluid"],["id","summary",1,"mt-5"],["loading","lazy","srcset","resources/features/summary@1x.webp 1x, resources/features/summary@2x.webp 2x","src","resources/features/summary.webp","alt","Summary table / Overview",1,"img-fluid"],["id","details",1,"mt-5"],["loading","lazy","srcset","resources/features/details@1x.webp 1x, resources/features/details@2x.webp 2x","src","resources/features/details.webp","alt","Details",1,"img-fluid"],["id","metrics",1,"mt-5"],["href","https://github.com/danielpalme/ReportGenerator/wiki/FAQ#which-coverage-tool-supports-which-features-in-the-html-report","target","_blank"],["href","",3,"click"],["loading","lazy","srcset","resources/features/metrics_details@1x.webp 1x, resources/features/metrics_details@2x.webp 2x","src","resources/features/metrics_details.webp","alt","Metrics - Details",1,"img-fluid"],["loading","lazy","srcset","resources/features/metrics_summary@1x.webp 1x, resources/features/metrics_summary@2x.webp 2x","src","resources/features/metrics_summary.webp","alt","Metrics - Summary",1,"img-fluid"],["id","riskhotspots",1,"mt-5"],["href","https://en.wikipedia.org/wiki/Cyclomatic_complexity","target","_blank"],["href","https://modess.io/npath-complexity-cyclomatic-complexity-explained","target","_blank"],["href","https://testing.googleblog.com/2011/02/this-code-is-crap.html","target","_blank"],["loading","lazy","srcset","resources/features/riskhotspots@1x.webp 1x, resources/features/riskhotspots@2x.webp 2x","src","resources/features/riskhotspots.webp","alt","Risk Hotspots",1,"img-fluid"]],template:function(n,o){1&n&&(h(0,"div",0)(1,"h1",1),f(2,"Features"),p(),h(3,"h2",2),f(4,"Coverage quotas"),p(),h(5,"p"),f(6," The overiew cards provide a quick "),h(7,"span",3),f(8,"overview"),p(),f(9," of your coverage quotas."),v(10,"br"),f(11," You can use them to get a glimpse into the different "),h(12,"a",4),f(13,"coverage metrics"),p(),f(14,"\xa0"),h(15,"a",4),v(16,"i",5),p(),f(17,": "),p(),h(18,"ul")(19,"li"),f(20,"Line coverage"),p(),h(21,"li"),f(22,"Branch coverage"),p(),h(23,"li"),f(24,"Method coverage "),h(25,"a",6)(26,"span",7),f(27,"PRO"),p()()()(),v(28,"img",8)(29,"br"),h(30,"h2",9),f(31,"Coverage history"),p(),h(32,"p"),f(33," The history chart helps you to understand how your coverage quotas are "),h(34,"span",3),f(35,"evolving over time"),p(),f(36,". "),p(),v(37,"img",10)(38,"br"),h(39,"h2",11),f(40,"Summary table / Overview"),p(),h(41,"p"),f(42," The summary table helps you to identify classes with "),h(43,"span",3),f(44,"low test coverage"),p(),f(45,"."),v(46,"br"),f(47," The table offers various "),h(48,"span",3),f(49,"filter and sorting"),p(),f(50," options for quick navigation. "),p(),v(51,"img",12)(52,"br"),h(53,"h2",13),f(54,"Details page"),p(),h(55,"p"),f(56," The details page visualizes your "),h(57,"span",3),f(58,"line and branch coverage"),p(),f(59,". "),p(),h(60,"ul")(61,"li"),f(62,"Colors indicate the coverage status of each line."),p(),h(63,"li"),f(64,"Branch indicators help you to identity uncovered conditions."),p()(),v(65,"img",14)(66,"br"),h(67,"h2",15),f(68,"Metrics"),p(),h(69,"p"),f(70," Depending on your "),h(71,"a",16),f(72,"coverage tool"),p(),f(73,", metrics are provided to get further insigths in your "),h(74,"span",3),f(75,"code quality"),p(),f(76,". "),p(),h(77,"ul")(78,"li"),f(79,"The "),h(80,"a",17),R("click",function(){return o.scrollToAnchor("#details")}),f(81,"details page"),p(),f(82," contains information about the metrics of all methods of a class."),p(),h(83,"li"),f(84,"The "),h(85,"a",17),R("click",function(){return o.scrollToAnchor("#summary")}),f(86,"summary table"),p(),f(87," shows the lowest metrics of all methods of a class "),h(88,"a",6)(89,"span",7),f(90,"PRO"),p()()()(),h(91,"b"),f(92,"Details page"),p(),v(93,"br")(94,"img",18)(95,"br")(96,"br"),h(97,"b"),f(98,"Summary table"),p(),v(99,"br")(100,"img",19)(101,"br"),h(102,"h2",20),f(103,"Risk Hotspots"),p(),h(104,"p"),f(105," Based on the "),h(106,"a",17),R("click",function(){return o.scrollToAnchor("#metrics")}),f(107,"metrics"),p(),f(108," you get a list of potential risk hotspots."),v(109,"br"),f(110," The following metrics are analyzed if available, the warning thresholds are configurable: "),p(),h(111,"ul")(112,"li")(113,"a",21),f(114,"Cyclomatic complexity"),p(),f(115,"\xa0"),h(116,"a",21),v(117,"i",5),p()(),h(118,"li")(119,"a",22),f(120,"NPath complexity"),p(),f(121,"\xa0"),h(122,"a",22),v(123,"i",5),p()(),h(124,"li")(125,"a",23),f(126,"Crap score"),p(),f(127,"\xa0"),h(128,"a",23),v(129,"i",5),p()()(),v(130,"img",24),p()),2&n&&(_(25),w("routerLink",K(2,_E)),_(63),w("routerLink",K(3,_E)))},dependencies:[pn]}),t})();const Lt={dotnetSDKVersion:"8.x",majorVersion:"5",version:"5.2.0"},i3=function(){return["/usage"]};let s3=(()=>{var e;class t{constructor(){this.versions=Lt}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275cmp=vt({type:e,selectors:[["app-getstarted"]],standalone:!0,features:[Mt],decls:72,vars:6,consts:[[1,"container"],[1,"mb-4"],[3,"routerLink"],["id","net",1,"mt-5"],["href","https://github.com/coverlet-coverage/coverlet"],["href","https://github.com/SteveGilham/altcover"],[1,"text-dark","bg-light","p-2","border"],["id","java",1,"mt-5"],["href","https://github.com/jacoco/jacoco"],["id","nodejs",1,"mt-5"],["href","https://github.com/istanbuljs/nyc"]],template:function(n,o){1&n&&(h(0,"div",0)(1,"h1",1),f(2,"Get started"),p(),h(3,"h2"),f(4,"General"),p(),h(5,"p"),f(6,"In general you need a tool that instruments your test code and collects coverage information."),v(7,"br"),f(8,"This information is typically stored in a XML file (e.g. in Cobertura format)."),v(9,"br"),h(10,"em"),f(11,"ReportGenerator"),p(),f(12," uses this file and generates a report in HTML format (other formats are available)."),p(),h(13,"p"),f(14,"Use the online "),h(15,"a",2),f(16,"configuration tool"),p(),f(17," to get started quickly."),p(),h(18,"h2",3),f(19,".NET"),p(),h(20,"p"),f(21,"For .NET you can use "),h(22,"a",4),f(23,"coverlet"),p(),f(24," or "),h(25,"a",5),f(26,"altcover"),p(),f(27," for instrumenting your test code."),p(),h(28,"p"),f(29,"After adding the dependencies to your project, you can execute your tests and generate the coverage report."),p(),h(30,"p")(31,"strong"),f(32,"Add dependencies to your "),h(33,"code"),f(34,"*.csproj"),p(),f(35," file:"),p()(),h(36,"pre",6),f(37),p(),h(38,"p")(39,"strong"),f(40,"Execute tests and create coverage report"),p()(),h(41,"pre",6),f(42),p(),h(43,"h2",7),f(44,"Java"),p(),h(45,"p"),f(46,"For Java you can use "),h(47,"a",8),f(48,"JaCoCo"),p(),f(49," for instrumenting your test code.\nAfter adding JaCoCo to your project (here with Maven), you can execute your tests and generate the coverage report."),p(),h(50,"p")(51,"strong"),f(52,"Add dependencies to your "),h(53,"code"),f(54,"pom.xml"),p(),f(55," file:"),p()(),h(56,"pre",6),f(57,"\n \n \n \n org.jacoco\n jacoco-maven-plugin\n 0.8.6\n \n \n \n prepare-agent\n \n \n \n report\n prepare-package\n \n report\n \n \n \n \n \n \n \n \n \n org.jacoco\n jacoco-maven-plugin\n \n \n \n report\n \n \n \n \n \n \n\n"),p(),h(58,"p")(59,"strong"),f(60,"Execute tests and create coverage report"),p()(),h(61,"pre",6),f(62),p(),h(63,"h2",9),f(64,"NodeJS"),p(),h(65,"p"),f(66,"For NodeJS you can use "),h(67,"a",10),f(68,"Istanbul"),p(),f(69," for instrumenting your test code.\nAfter installing Istanbul, you can execute your tests and generate the coverage report."),p(),h(70,"pre",6),f(71),p()()),2&n&&(_(15),w("routerLink",K(5,i3)),_(22),xn('\n \n runtime; build; native; contentfiles; analyzers; buildtransitive\n all\n \n \n \n \n all\n runtime; build; native; contentfiles; analyzers\n \n\n'),_(5),xn('dotnet test --collect:"XPlat Code Coverage"\n"%UserProfile%\\.nuget\\packages\\reportgenerator\\',o.versions.version,'\\tools\\net6.0\\ReportGenerator.exe" -reports:*\\TestResults\\*\\coverage.cobertura.xml -targetdir:coveragereport\n'),_(20),xn("mvn test jacoco:report\n\ndotnet tool update dotnet-reportgenerator-globaltool --tool-path tools --version ",o.versions.version,"\ntools\\reportgenerator -reports:target\\site\\jacoco\\jacoco.xml -targetdir:coveragereport -sourcedirs:src\\main\\java\n"),_(9),xn("npm i nyc --save-dev\nnyc --reporter=coberatura mocha\n\ndotnet tool update dotnet-reportgenerator-globaltool --tool-path tools --version ",o.versions.version,"\ntools\\reportgenerator -reports:coverage/cobertura-coverage.xml -targetdir:coveragereport\n"))},dependencies:[pn]}),t})(),CE=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275cmp=vt({type:e,selectors:[["app-testimonials"]],standalone:!0,features:[Mt],decls:30,vars:0,consts:[[1,"container-fluid","mt-5","pt-5","pb-5","bg-light"],[1,"container"],[1,"text-center"],[1,"row","mt-5"],[1,"col","text-center"],[1,"fa-brands","fa-microsoft","h1","text-secondary"],["href","https://github.com/dotnet/runtime/blob/main/docs/workflow/building/libraries/code-coverage.md","target","_blank",1,"text-dark","d-none","d-lg-block"],[1,"fa-brands","fa-google","h1","text-secondary"],["href","https://github.com/GoogleCloudPlatform/iam-windows-authenticator","target","_blank",1,"text-dark","d-none","d-lg-block"],[1,"fa-brands","fa-aws","h1","text-secondary"],["href","https://github.com/aws/aws-encryption-sdk-dafny/blob/mainline/aws-encryption-sdk-net/README.md","target","_blank",1,"text-dark","d-none","d-lg-block"],[1,"col","text-center","d-none","d-lg-block"],[1,"fa-solid","fa-heart","h1","text-secondary"],["href","https://github.com/danielpalme/ReportGenerator/network/dependents","target","_blank",1,"text-dark"],["href","https://www.nuget.org/packages?q=ReportGenerator+danielpalme","target","_blank",1,"btn","btn-outline-secondary"],[1,"fa-solid","fa-download"]],template:function(n,o){1&n&&(h(0,"section",0)(1,"div",1)(2,"h2",2),f(3,"Trusted by"),p(),h(4,"div",3)(5,"div",4),v(6,"i",5)(7,"br"),h(8,"a",6),f(9,".NET Runtime"),p()(),h(10,"div",4),v(11,"i",7)(12,"br"),h(13,"a",8),f(14,"Google Cloud"),p()(),h(15,"div",4),v(16,"i",9)(17,"br"),h(18,"a",10),f(19,"AWS Encryption SDK"),p()(),h(20,"div",11),v(21,"i",12)(22,"br"),h(23,"a",13),f(24,"Many more"),p()()(),h(25,"div",3)(26,"div",4)(27,"a",14),v(28,"i",15),f(29," Over 50 million downloads on Nuget"),p()()()()())},encapsulation:2}),t})();const a3=function(){return["/pro"]},l3=function(){return["/usage"]},c3=function(){return["/getstarted"]},u3=function(){return["/features"]};let d3=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275cmp=vt({type:e,selectors:[["app-home"]],standalone:!0,features:[Mt],decls:114,vars:8,consts:[[1,"container"],[1,"row"],[1,"col-4","col-md-3"],["src","resources/logo.svg","alt","Logo ReportGenerator",1,"img-fluid"],[1,"col-xs-12","col-md-9","ps-4"],[1,"mt-5"],[1,"line","btn-primary"],[1,"mt-4","h5"],[1,"pro-text"],["href","resources/reports/Html/index.html","target","_blank",1,"btn","btn-primary","me-2","mb-2"],[1,"fa-solid","fa-eye"],[1,"row","mt-5"],[1,"col-sm-12","col-md-4"],[1,"icon"],[1,"fa-solid","fa-scale-balanced"],[1,"h5","ms-3","mt-3"],[1,"mt-3"],[3,"routerLink"],[1,"col-sm-12","col-md-4","mt-4","mt-md-0"],[1,"fa-solid","fa-lightbulb"],[1,"fa-solid","fa-plug"],["href","https://github.com/marketplace/actions/reportgenerator","target","_blank"],["href","https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator","target","_blank"],[1,"col"],[1,"btn","btn-primary","me-2","mb-2",3,"routerLink"],[1,"fa-solid","fa-wrench"],["href","https://github.com/danielpalme/ReportGenerator","target","_blank",1,"btn","btn-outline-dark","mb-2"],[1,"fa-brands","fa-github"],[1,"container-fluid","mt-5","pt-5","pb-5"],["href","resources/reports/Html/index.html","target","_blank"],["href","https://danielpalme.github.io/ReportGenerator/resources/SampleReports.zip"],[1,"col-sm-12","col-md-6","pb-2"],["href","resources/screenshot1@2x.webp"],["loading","lazy","srcset","resources/screenshot1.webp 1x, resources/screenshot1@2x.webp 2x","src","resources/screenshot1.webp","alt","Screenshot",1,"img-fluid"],[1,"col-sm-12","col-md-6"],["href","resources/screenshot2@2x.webp"],["loading","lazy","srcset","resources/screenshot2.webp 1x, resources/screenshot2@2x.webp 2x","src","resources/screenshot2.webp","alt","Screenshot",1,"img-fluid"]],template:function(n,o){1&n&&(h(0,"section",0)(1,"div",1)(2,"div",2),v(3,"img",3),p(),h(4,"div",4)(5,"h1"),f(6,"ReportGenerator"),p(),h(7,"h2",5),f(8,"Powerful code coverage visualization"),p(),h(9,"div",6),f(10,"\xa0"),p(),h(11,"div",7)(12,"p")(13,"i"),f(14,"ReportGenerator"),p(),f(15," converts "),h(16,"span",8),f(17,"coverage reports"),p(),f(18," generated by coverlet, OpenCover, dotCover, Visual Studio, NCover, Cobertura, JaCoCo, Clover, gcov or lcov into "),h(19,"span",8),f(20,"human readable reports in various formats"),p(),f(21,"."),p(),h(22,"p"),f(23,"The reports show the "),h(24,"span",8),f(25,"coverage quotas"),p(),f(26," and also visualize which lines of your source code have been covered."),p(),h(27,"p")(28,"a",9),v(29,"i",10),f(30," Browse example report"),p()()()()(),h(31,"div",11)(32,"div",12)(33,"div",13),v(34,"i",14),p(),h(35,"span",15),f(36,"Open source"),p(),h(37,"p",16)(38,"i"),f(39,"ReportGenerator"),p(),f(40," is open source under the permissive Apache License."),p(),h(41,"p"),f(42,"It's free to use."),v(43,"br"),f(44,"The "),h(45,"a",17),f(46,"PRO"),p(),f(47," version offers additional features."),p()(),h(48,"div",18)(49,"div",13),v(50,"i",19),p(),h(51,"span",15),f(52,"Easy to use"),p(),h(53,"p",16)(54,"i"),f(55,"ReportGenerator"),p(),f(56," is a command line tool which only requires a "),h(57,"a",17),f(58,"few parameters"),p(),f(59,"."),p(),h(60,"p"),f(61,"Integration into your build pipeline will only take a couple of minutes."),p()(),h(62,"div",18)(63,"div",13),v(64,"i",20),p(),h(65,"span",15),f(66,"Integration"),p(),h(67,"p",16)(68,"i"),f(69,"ReportGenerator"),p(),f(70," works on Windows, Linux and macOS."),p(),h(71,"p"),f(72,"Support for "),h(73,"a",21),f(74,"GitHub actions"),p(),f(75," and "),h(76,"a",22),f(77,"Azure DevOps"),p(),f(78," is available."),p()()(),h(79,"div",11)(80,"div",23)(81,"a",24),v(82,"i",25),f(83," Learn how to use"),p(),h(84,"a",26),v(85,"i",27),f(86," GitHub"),p()()()(),v(87,"app-testimonials"),h(88,"section",28)(89,"div",0)(90,"h2"),f(91,"Screenshots"),p(),h(92,"p"),f(93,"The screenshots show two snippets of the generated reports."),p(),h(94,"p"),f(95," Have a look the "),h(96,"a",17),f(97,"features page"),p(),f(98," to explore the elements in a coverage report or "),h(99,"a",29),f(100,"browse the example report"),p(),f(101,". "),v(102,"br"),f(103," You can also download "),h(104,"a",30),f(105,"sample reports"),p(),f(106," of all supported output formats."),p(),h(107,"div",1)(108,"div",31)(109,"a",32),v(110,"img",33),p()(),h(111,"div",34)(112,"a",35),v(113,"img",36),p()()()()()),2&n&&(_(45),w("routerLink",K(4,a3)),_(12),w("routerLink",K(5,l3)),_(24),w("routerLink",K(6,c3)),_(15),w("routerLink",K(7,u3)))},dependencies:[pn,CE],styles:[".h5[_ngcontent-%COMP%]{font-weight:300}section[_ngcontent-%COMP%]:first-of-type{padding-top:120px;min-height:calc(100vh - 171px)}.icon[_ngcontent-%COMP%]{background-color:#2e89df;background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%);height:50px;width:50px;border-radius:8px;text-align:center;color:#fff;line-height:50px;font-size:1.5rem;display:inline-block}@media (max-width: 767px){section[_ngcontent-%COMP%]:first-of-type{padding-top:40px}}"]}),t})(),f3=(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275cmp=vt({type:e,selectors:[["app-not-found"]],standalone:!0,features:[Mt],decls:5,vars:0,consts:[[1,"container"],[1,"mb-4"],[1,"fa-solid","fa-triangle-exclamation","fs-1","me-4"]],template:function(n,o){1&n&&(h(0,"div",0)(1,"h1",1),f(2,"Not found"),p(),v(3,"i",2),f(4," The requested page does not exist.\n"),p())}}),t})();class DE{constructor(){this.error=null,this.licenses=[]}}class h3{constructor(){this.error=null,this.isSponsor=!1,this.license=null}}let bE=(()=>{var e;class t{initCodeFlow(){const i=`https://github.com/login/oauth/authorize?response_type=code&client_id=ecab9484932b59a12fd4&state=${this.createAndSaveNonce()}&redirect_uri=${window.location.origin}/pro`;console.log("Redirecting to: "+i),location.href=i}validateStateAndExtractCode(){let n=location.href;const o=n.indexOf("?");o>-1&&(n=n.substring(o+1));const i=this.parseQueryString(n);return i.state&&i.code&&this.validateNonce(i.state)?i.code:null}createAndSaveNonce(){const n=this.createNonce();return typeof window.localStorage<"u"&&localStorage.setItem("nonce",n),n}validateNonce(n){let o;return typeof window.localStorage<"u"&&(o=localStorage.getItem("nonce"),localStorage.removeItem("nonce")),o&&0!==o.length?o===n||(console.error("Validating nonce failed. Values do not match.",o,n),!1):(console.error("Validating nonce failed. No saved nonce available.",o,n),!1)}createNonce(){const n="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789-._~";let o=45,i="";const s=typeof self>"u"?null:self.crypto||self.msCrypto;if(s){let l=new Uint8Array(o);s.getRandomValues(l),l.map||(l.map=Array.prototype.map);const c=[];for(var a=0;a0&&(u=decodeURIComponent(l),d=decodeURIComponent(c),"/"===u.substring(0,1)&&(u=u.substring(1)),o[u]=d);return o}base64UrlEncode(n){return btoa(n).replace(/\+/g,"-").replace(/\//g,"_").replace(/=/g,"")}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275prov=L({token:e,factory:e.\u0275fac}),t})(),wE=(()=>{var e;class t{constructor(n){this.httpClient=n}getLicense(n){return this.httpClient.get(`${ve_apiBaseUrl}reportgenerator/license?code=${encodeURIComponent(n)}`)}getTrialLicense(n){return this.httpClient.post(`${ve_apiBaseUrl}reportgenerator/triallicense`,n)}getPaddleLicense(n){return this.httpClient.post(`${ve_apiBaseUrl}reportgenerator/paddlelicense`,n)}}return(e=t).\u0275fac=function(n){return new(n||e)(F(Nh))},e.\u0275prov=L({token:e,factory:e.\u0275fac}),t})(),p3=(()=>{var e;class t{constructor(){this.isActive=!1,this.isActive=new Date-1)}}function G3(e,t){if(1&e&&(h(0,"div")(1,"label",110),f(2,"Thank you! Please save your license key persistently:"),p(),P(3,$3,6,3,"div",111),p()),2&e){const r=k(3);_(3),w("ngForOf",r.paddleLicense.licenses)}}function z3(e,t){if(1&e&&(h(0,"div",109),P(1,H3,8,3,"div",34),P(2,G3,4,1,"div",34),p()),2&e){const r=k(2);_(1),w("ngIf",r.paddleLicense.error),_(1),w("ngIf",!r.paddleLicense.error)}}function q3(e,t){if(1&e&&(h(0,"div",2),P(1,j3,6,0,"ng-container",34),P(2,z3,3,2,"div",107),p()),2&e){const r=k();_(1),w("ngIf",r.paddleLicenseRequested&&!r.paddleLicense),_(1),w("ngIf",r.paddleLicense)}}function W3(e,t){1&e&&(h(0,"p")(1,"i"),f(2,"ReportGenerator"),p(),f(3," subscription based licences are provided with a 30 day money back guarantee."),p())}const qo=function(){return["/features"]};let Z3=(()=>{var e;class t{get lifetimeLicense(){return this._lifetimeLicense}set lifetimeLicense(n){this._lifetimeLicense=n,this.lifetimeLicenseChangeTracked||(this.lifetimeLicenseChangeTracked=!0,this.trackingService.track("Licensetype changed"))}constructor(n,o,i){this.oauthService=n,this.licenseService=o,this.trackingService=i,this.paddleIndividualLicensePrice="US$49",this.paddleTeamLicensePrice="US$149",this.paddleEnterpriseLicensePrice="US$299",this.paddleIndividualLifetimeLicensePrice="US$79",this.paddleTeamLifetimeLicensePrice="US$249",this.paddleEnterpriseLifetimeLicensePrice="US$449",this.licenseRequested=!1,this.licenseCopied=!1,this.license=null,this.enablePaddle=!0,this.trialDisabled=!1,this.requestTrialData={name:"",email:""},this.paddleLicenseRequested=!1,this.paddleLicense=null,this.copiedPaddledLicenses=[],this.self=this,this.lifetimeLicenseChangeTracked=!1,this._lifetimeLicense=!1,window.paddleCheckoutComplete=s=>{this.paddleCheckoutComplete(s)},window.Paddle.Setup({vendor:144162}),window.Paddle.Product.Prices(762579,s=>{this.paddleIndividualLicensePrice=s.recurring.price.gross}),window.Paddle.Product.Prices(762580,s=>{this.paddleTeamLicensePrice=s.recurring.price.gross}),window.Paddle.Product.Prices(762581,s=>{this.paddleEnterpriseLicensePrice=s.recurring.price.gross}),window.Paddle.Product.Prices(833943,s=>{this.paddleIndividualLifetimeLicensePrice=s.price.gross}),window.Paddle.Product.Prices(833944,s=>{this.paddleTeamLifetimeLicensePrice=s.price.gross}),window.Paddle.Product.Prices(833945,s=>{this.paddleEnterpriseLifetimeLicensePrice=s.price.gross})}ngOnInit(){const n=this.oauthService.validateStateAndExtractCode();null!==n?(console.log("Code received",n),this.licenseRequested=!0,this.licenseService.getLicense(n).subscribe({next:o=>{console.log("Received license response"),this.license=o,this.scrollToGithub()},error:o=>{console.error(o),this.license=new h3,this.license.error="Unable to generate license."},complete:()=>console.info("complete")})):console.log("No code available"),location.href.indexOf("?source=trial")>-1&&this.trackingService.track("Trial2Pro"),this.requestTrialModal=new window.bootstrap.Modal("#requestTrialModal");try{this.trialDisabled=null!==window.localStorage.getItem("trialRequested")}catch{}}requestLicense(){this.licenseRequested=!0,this.oauthService.initCodeFlow()}copy(){try{navigator.clipboard.writeText(this.license.license),this.licenseCopied=!0}catch(n){console.error("Failed to copy license",n)}}copyPaddle(n){try{navigator.clipboard.writeText(n),this.copiedPaddledLicenses.push(n)}catch(o){console.error("Failed to copy paddle license",o)}}scrollToGithub(){return document.querySelector("#github").scrollIntoView(!0),!1}scrollToPaddle(){return document.querySelector("#paddle").scrollIntoView(!0),!1}requestTrial(){this.requestTrialModal.show(),this.trackingService.track("Trial-Started")}completeTrial(){console.log("Trial completed"),this.requestTrialModal.hide(),this.paddleLicenseRequested=!0,this.licenseService.getTrialLicense(this.requestTrialData).subscribe({next:n=>{console.log("Received trial license response"),this.paddleLicense=n,this.scrollToPaddle();try{window.localStorage.setItem("trialRequested","true"),this.trialDisabled=!0}catch{}this.trackingService.track("Trial-Completed")},error:n=>{console.error(n),this.paddleLicense=new DE,this.paddleLicense.error="Unable to generate trial license."},complete:()=>{console.info("complete"),this.requestTrialData={name:"",email:""}}})}openPaddleCheckout(n){"enterprise"===n?window.Paddle.Checkout.open({product:this.lifetimeLicense?833945:762581,successCallback:"paddleCheckoutComplete"}):"team"===n?window.Paddle.Checkout.open({product:this.lifetimeLicense?833944:762580,successCallback:"paddleCheckoutComplete"}):window.Paddle.Checkout.open({product:this.lifetimeLicense?833943:762579,successCallback:"paddleCheckoutComplete"}),this.trackingService.track("Paddle-Started",{props:{product:n,lifetimeLicense:this.lifetimeLicense}})}paddleCheckoutComplete(n){console.log("Checkout completed",n),this.paddleLicenseRequested=!0,this.licenseService.getPaddleLicense(n).subscribe({next:o=>{console.log("Received paddle license response"),this.paddleLicense=o,this.scrollToPaddle(),this.trackingService.track("Paddle-Completed",{props:{product:n.product.name,lifetimeLicense:this.lifetimeLicense}})},error:o=>{console.error(o),this.paddleLicense=new DE,this.paddleLicense.error="Unable to generate Paddle license."},complete:()=>console.info("complete")})}}return(e=t).\u0275fac=function(n){return new(n||e)(I(bE),I(wE),I(p3))},e.\u0275cmp=vt({type:e,selectors:[["app-pro-component"]],standalone:!0,features:[Mt],decls:229,vars:25,consts:[[1,"container"],[1,"mb-4"],[1,"row"],[1,"col-xs-12","col-md-6","order-2","order-md-1"],[1,"table"],["scope","col"],["scope","col",1,"text-center"],[1,"pro-button"],["scope","row"],["fragment","metrics","title","Show feature details",3,"routerLink"],[1,"fa-solid","fa-circle-info","text-secondary"],[1,"text-center"],[1,"fa-solid","fa-circle-check","text-secondary"],["fragment","riskhotspots","title","Show feature details",3,"routerLink"],["title","Show feature details",3,"routerLink"],[1,"fa-solid","fa-circle-check","pro-text"],[1,"col-xs-12","col-md-6","order-1","order-md-2"],["href","",3,"click"],[3,"routerLink"],["id","github",1,"container-fluid","mt-5","pt-5","pb-5","bg-light"],[1,"col-xs-12","col-md-6","pb-3"],[1,"fs-2","me-3","number"],["href","https://github.com/sponsors/danielpalme","target","_blank",1,"btn","btn-outline-dark"],[1,"fa-solid","fa-heart","githubheart"],["type","button",1,"btn","btn-primary","me-3",3,"disabled","click"],[1,"fa-solid","fa-rocket"],["class","spinner-border text-info","role","status",4,"ngIf"],["class","col-md-6 pb-3 d-none d-lg-block","style","position: relative;",4,"ngIf"],["class","col-xs-12 col-md-6 pb-3",4,"ngIf"],["id","paddle",1,"container-fluid","mt-5","pt-5","pb-5","bg-light"],[1,"text-center","mb-3"],["class","togglecontainer",4,"ngIf"],["class","row",4,"ngIf"],[1,"mt-5"],[4,"ngIf"],[1,"container-fluid","mt-4","pt-5","pb-5","bg-light"],[1,"container","text-center"],[1,"row","mt-5",2,"max-width","550px","margin","auto"],["href","https://twitter.com/fredyfx/status/1642807795828543488","target","_blank"],["loading","lazy","src","resources/twitter_light.webp","alt","Testimonial",1,"img-fluid"],["id","faq",1,"container","mt-5","pt-5","pb-5"],["id","accordionFaq",1,"accordion","accordion-flush"],[1,"accordion-item"],["id","headingOne",1,"accordion-header"],["type","button","data-bs-toggle","collapse","data-bs-target","#collapseOne","aria-expanded","true","aria-controls","collapseOne",1,"accordion-button"],["id","collapseOne","aria-labelledby","headingOne","data-bs-parent","#accordionFaq",1,"accordion-collapse","collapse","show"],[1,"accordion-body"],["id","headingTwo",1,"accordion-header"],["type","button","data-bs-toggle","collapse","data-bs-target","#collapseTwo","aria-expanded","false","aria-controls","collapseTwo",1,"accordion-button","collapsed"],["id","collapseTwo","aria-labelledby","headingTwo","data-bs-parent","#accordionFaq",1,"accordion-collapse","collapse"],["id","headingThree",1,"accordion-header"],["type","button","data-bs-toggle","collapse","data-bs-target","#collapseThree","aria-expanded","false","aria-controls","collapseThree",1,"accordion-button","collapsed"],["id","collapseThree","aria-labelledby","headingThree","data-bs-parent","#accordionFaq",1,"accordion-collapse","collapse"],["tabindex","-1","id","requestTrialModal",1,"modal"],[1,"modal-dialog"],[1,"modal-content"],["method","post",3,"ngSubmit"],["trialForm","ngForm"],[1,"modal-header"],[1,"modal-title"],["type","button","data-bs-dismiss","modal","aria-label","Close",1,"btn-close"],[1,"modal-body"],[1,"form-floating","mb-3"],["type","text","id","name","name","name","required","","maxlength","150",1,"form-control",3,"ngModel","ngModelChange"],["for","floatingInput"],[1,"required"],["type","email","id","email","name","email","required","","email","","maxlength","150",1,"form-control",3,"ngModel","ngModelChange"],[1,"modal-footer"],["type","button","data-bs-dismiss","modal",1,"btn","btn-secondary"],["type","submit",1,"btn","btn-primary",3,"disabled"],["role","status",1,"spinner-border","text-info"],[1,"visually-hidden"],[1,"col-md-6","pb-3","d-none","d-lg-block",2,"position","relative"],[1,"fa-solid","fa-heart","githubheartlarge"],["href","https://github.com/sponsors/danielpalme","target","_blank"],["for","licensetext"],["id","licensetext","rows","5","readonly","",1,"form-control","mt-2"],[1,"btn","btn-outline-dark","mt-2",3,"click"],[1,"fa-solid","fa-copy"],[1,"fa-solid","fa-check","text-success"],[1,"togglecontainer"],[1,"option",3,"ngClass","click"],[1,"fa-solid","fa-rotate-right"],[1,"fa-solid","fa-infinity"],[1,"col-xs-12","col-md-6","col-lg-3","mt-0","pb-3","text-center","paddle-container"],[1,"paddle","trial"],["src","resources/trial.svg","alt","Trial",1,"img-fluid"],[1,"mt-3"],[1,"fa-solid","fa-magnifying-glass"],[1,"fa-solid","fa-calendar-days"],["type","button","class","btn btn-primary",3,"disabled","click",4,"ngIf"],["type","button","class","btn btn-primary","disabled","",4,"ngIf"],[1,"col-xs-12","col-md-6","col-lg-3","mt-4","mt-md-0","pb-3","text-center","paddle-container"],[1,"paddle"],["src","resources/individual.svg","alt","Individual",1,"img-fluid"],[1,"fa-solid","fa-user"],["type","button","class","btn btn-primary",3,"click",4,"ngIf"],[1,"col-xs-12","col-md-6","col-lg-3","mt-4","mt-lg-0","pb-3","text-center","paddle-container"],["src","resources/team.svg","alt","Team",1,"img-fluid"],[1,"fa-solid","fa-users"],[1,"col-xs-6","col-md-6","col-lg-3","mt-4","mt-lg-0","pb-3","text-center","paddle-container"],["src","resources/enterprise.svg","alt","Enterprise",1,"img-fluid"],[1,"fa-solid","fa-industry"],["type","button",1,"btn","btn-primary",3,"disabled","click"],["type","button","disabled","",1,"btn","btn-primary"],["type","button",1,"btn","btn-primary",3,"click"],[1,"fa-solid","fa-cart-shopping"],["class","col-xs-12 col-md-6",4,"ngIf"],[2,"position","relative","left","35px","top","-20px"],[1,"col-xs-12","col-md-6"],["for","paddlelicensetext"],["class","mt-2",4,"ngFor","ngForOf"],[1,"mt-2"],["id","paddlelicensetext","rows","5","readonly","",1,"form-control"]],template:function(n,o){if(1&n&&(h(0,"div",0)(1,"h1",1),f(2,"PRO"),p(),h(3,"div",2)(4,"div",3)(5,"table",4)(6,"thead")(7,"tr"),v(8,"th",5),h(9,"th",6),f(10,"Free"),p(),h(11,"th",6)(12,"span",7),f(13,"PRO"),p()()()(),h(14,"tbody")(15,"tr")(16,"th",8),f(17,"Metrics "),h(18,"a",9),v(19,"i",10),p()(),h(20,"td",11),v(21,"i",12),p(),h(22,"td",11),v(23,"i",12),p()(),h(24,"tr")(25,"th",8),f(26,"Risk Hotspots "),h(27,"a",13),v(28,"i",10),p()(),h(29,"td",11),v(30,"i",12),p(),h(31,"td",11),v(32,"i",12),p()(),h(33,"tr")(34,"th",8),f(35,"Line coverage "),h(36,"a",14),v(37,"i",10),p()(),h(38,"td",11),v(39,"i",12),p(),h(40,"td",11),v(41,"i",12),p()(),h(42,"tr")(43,"th",8),f(44,"Branch coverage "),h(45,"a",14),v(46,"i",10),p()(),h(47,"td",11),v(48,"i",12),p(),h(49,"td",11),v(50,"i",12),p()(),h(51,"tr")(52,"th",8),f(53,"Method coverage "),h(54,"a",14),v(55,"i",10),p()(),v(56,"td",11),h(57,"td",11),v(58,"i",15),p()(),h(59,"tr")(60,"th",8),f(61,"Metrics on summary page "),h(62,"a",9),v(63,"i",10),p()(),v(64,"td",11),h(65,"td",11),v(66,"i",15),p()(),h(67,"tr")(68,"th",8)(69,"i"),f(70,"OpenCover"),p(),f(71," output format"),p(),v(72,"td",11),h(73,"td",11),v(74,"i",15),p()()()()(),h(75,"div",16)(76,"p")(77,"i"),f(78,"ReportGenerator"),p(),f(79," is Open Source and free to use."),v(80,"br"),f(81," Some of the advanced features require a PRO license. "),p(),h(82,"p"),f(83," You can either become a "),h(84,"a",17),R("click",function(){return o.scrollToGithub()}),f(85,"GitHub sponsor"),p(),f(86," or you can "),h(87,"a",17),R("click",function(){return o.scrollToPaddle()}),f(88,"buy a license"),p(),f(89,"."),v(90,"br"),f(91," A "),h(92,"a",17),R("click",function(){return o.scrollToPaddle()}),f(93,"free trial version"),p(),f(94," is available too. "),p(),h(95,"p"),f(96," Get "),h(97,"a",18),f(98,"in touch"),p(),f(99," if you have any issues and we will figure it out. "),p()()()(),h(100,"section",19)(101,"div",0)(102,"h2",1),f(103,"Get your license as a GitHub sponsor"),p(),h(104,"div",2)(105,"div",20)(106,"p"),f(107,"You can obtain your license in two easy steps (no sign up required):"),p(),h(108,"span",21),f(109,"1."),p(),h(110,"a",22),v(111,"i",23),f(112," Become a GitHub sponsor"),p(),v(113,"br"),h(114,"span",21),f(115,"2."),p(),h(116,"button",24),R("click",function(){return o.requestLicense()}),v(117,"i",25),f(118," Get license"),p(),P(119,g3,3,0,"div",26),p(),P(120,m3,2,0,"div",27),P(121,b3,4,3,"div",28),p()()(),h(122,"section",29)(123,"div",0)(124,"h2",1),f(125,"Buy a license"),p(),h(126,"div",30),P(127,w3,7,6,"span",31),p(),P(128,V3,61,17,"div",32),P(129,q3,3,2,"div",32),h(130,"div",33),P(131,W3,4,0,"p",34),h(132,"p"),f(133,"The order process is conducted by Paddle.com. Paddle.com is the Merchant of Record for all orders. Paddle provides all customer service inquiries and handles returns."),p()()()(),v(134,"app-testimonials"),h(135,"section",35)(136,"div",36)(137,"h3"),f(138,"Customers"),p(),h(139,"div",37)(140,"a",38),v(141,"img",39),p()()()(),h(142,"section",40)(143,"h2",1),f(144,"Frequently Asked Questions"),p(),h(145,"div",41)(146,"div",42)(147,"h2",43)(148,"button",44),f(149," How do I use/activate my license? "),p()(),h(150,"div",45)(151,"div",46),f(152," Your license key is passed to "),h(153,"i"),f(154,"ReportGenerator"),p(),f(155," via a command line parameter: "),h(156,"i"),f(157,"-license:YOUR_KEY"),p()()()(),h(158,"div",42)(159,"h2",47)(160,"button",48),f(161," Are there limitations on number of users? "),p()(),h(162,"div",49)(163,"div",46)(164,"b"),f(165,"GitHub sponsors"),p(),v(166,"br"),h(167,"p"),f(168,"There's no enforced limit. Please pick a sponsor level that fits your company size and budget."),p(),h(169,"b"),f(170,"Bought license"),p(),v(171,"br"),h(172,"p"),f(173,"There's no enforced limit. Please choose a plan that matches the number of developers using "),h(174,"i"),f(175,"ReportGenerator"),p(),f(176,"."),p()()()(),h(177,"div",42)(178,"h2",50)(179,"button",51),f(180," Will my license expire? "),p()(),h(181,"div",52)(182,"div",46)(183,"b"),f(184,"GitHub sponsors"),p(),v(185,"br"),h(186,"p"),f(187,"Your license will not expire."),p(),h(188,"b"),f(189,"Bought license"),p(),v(190,"br"),h(191,"p")(192,"b"),f(193,"Annual subscription"),p(),f(194,": Your license may get revoked for new releases of "),h(195,"i"),f(196,"ReportGenerator"),p(),f(197,", if you cancel your subscription."),v(198,"br"),h(199,"b"),f(200,"Lifetime licenses"),p(),f(201,": Lifetime licenses will not expire. "),p()()()()()(),h(202,"div",53)(203,"div",54)(204,"div",55)(205,"form",56,57),R("ngSubmit",function(){return o.completeTrial()}),h(207,"div",58)(208,"h5",59),f(209,"Free Trial"),p(),v(210,"button",60),p(),h(211,"div",61)(212,"div",62)(213,"input",63),R("ngModelChange",function(s){return o.requestTrialData.name=s}),p(),h(214,"label",64),f(215,"Name "),h(216,"span",65),f(217,"*"),p()()(),h(218,"div",62)(219,"input",66),R("ngModelChange",function(s){return o.requestTrialData.email=s}),p(),h(220,"label",64),f(221,"Email address "),h(222,"span",65),f(223,"*"),p()()()(),h(224,"div",67)(225,"button",68),f(226,"Close"),p(),h(227,"button",69),f(228,"Get trial license"),p()()()()()()),2&n){const i=_d(206);_(18),w("routerLink",K(18,qo)),_(9),w("routerLink",K(19,qo)),_(9),w("routerLink",K(20,qo)),_(9),w("routerLink",K(21,qo)),_(9),w("routerLink",K(22,qo)),_(8),w("routerLink",K(23,qo)),_(35),w("routerLink",K(24,Ph)),_(19),w("disabled",o.licenseRequested),_(3),w("ngIf",o.licenseRequested&&!o.license),_(1),w("ngIf",!o.license),_(1),w("ngIf",o.license),_(6),w("ngIf",!o.paddleLicenseRequested),_(1),w("ngIf",!o.paddleLicenseRequested),_(1),w("ngIf",o.paddleLicenseRequested),_(2),w("ngIf",!o.lifetimeLicense),_(82),w("ngModel",o.requestTrialData.name),_(6),w("ngModel",o.requestTrialData.email),_(8),w("disabled",!i.valid)}},dependencies:[pn,Ef,vl,ml,ec,Xl,jo,Ul,Bl,$o,Sh,Kl,Cs,Bo,CE],styles:[".number[_ngcontent-%COMP%]{display:inline-block;position:relative;top:8px}.spinner-border[_ngcontent-%COMP%]{position:relative;top:9px}.paddle-container[_ngcontent-%COMP%]{padding:10px}.paddle[_ngcontent-%COMP%]{border:1px solid #8c8888;border-radius:20px;padding:20px;background-color:#d8e8f0}.trial[_ngcontent-%COMP%]{background-color:#b2cad7}.githubheartlarge[_ngcontent-%COMP%]{position:absolute;top:-120px;left:40%;font-size:20rem;color:#ffd2ed}.togglecontainer[_ngcontent-%COMP%]{background-color:#fff;display:inline-block;border-radius:20px;white-space:nowrap}.togglecontainer[_ngcontent-%COMP%] .option[_ngcontent-%COMP%]{background-color:#fff;padding:8px 15px;border-radius:20px;cursor:pointer;display:inline-block}.togglecontainer[_ngcontent-%COMP%] .option.active[_ngcontent-%COMP%]{color:#fff;background-color:var(--rg-primary-color);background-image:linear-gradient(50deg,var(--rg-gradient-from) 0%,var(--rg-gradient-to) 100%)}@media only screen and (max-width: 400px){.togglecontainer[_ngcontent-%COMP%] .option[_ngcontent-%COMP%] .fa-solid[_ngcontent-%COMP%]{display:none}}"]}),t})();class ic{constructor(t,r,n,o,i,s){this.name=t,this.url=r,this.runtimes=n,this.description=o,this.installOptions=i,this.executables=s}formatExecutable(t){return t.tool}formatArgument(t,r){if(""===(r=r.trim()))return"";const n=r.indexOf(" ")>-1?'"':"";return`\r\n${n}-${t}:${r}${n}`}formatArguments(t,r){return this.formatArgument(t,r.filter(n=>null!=n&&0!==n.length&&0!==n.trim().length).join(";"))}}class Y3 extends ic{formatExecutable(t){let r=`- task: ${t.tool}@${Lt.majorVersion}`;return r+="\r\n displayName: ReportGenerator",r+="\r\n inputs:",console.log("hello",r),r}formatArgument(t,r){if(""===(r=r.trim()))return"";const n=r.indexOf(" ")>-1?"'":"";return`\r\n ${t}: ${n}${r}${n}`}}class Q3{constructor(){this.verbosities=["Verbose","Info","Warning","Error","Off"],this.types=["Html","Coverage tool","Json","Markdown","Xml","Text","Image"],this.reports=["cobertura.xml"],this.targetdir="coveragereport",this.reporttypes=[{name:"Html",types:["Html"],description:"The default output format. Creates a summary overview (index.html) and detailed reports for each class.",requiresHistoryDir:!1,checked:!0,sampleReport:"resources/reports/Html/index.html"},{name:"Html_Light",types:["Html"],description:"Same as Html but with a light theme.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_Light/index.html"},{name:"Html_Dark",types:["Html"],description:"Same as Html but with a dark theme.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_Dark/index.html"},{name:"Html_BlueRed",types:["Html"],description:"Same as Html but with the colors blue/red instead of green/red.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_BlueRed/index.html"},{name:"HtmlSummary",types:["Html"],description:"Creates a single HTML file (summary.html) without links.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlSummary/summary.html"},{name:"Html_BlueRed_Summary",types:["Html"],description:"Same as HtmlSummary but with the colors blue/red instead of green/red.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Html_BlueRed_Summary/summary.html"},{name:"HtmlChart",types:["Html"],description:"Creates a single HTML file containing a chart with historic coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/HtmlChart/CoverageHistory.html"},{name:"HtmlInline",types:["Html"],description:"Same as HTML but CSS and JavaScript is included in every HTML page. This results in larger file sizes, but can be useful for integration into build servers like Azure DevOps (VSTS), since they may block referenced CSS and JavaScript files.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlInline/index.html"},{name:"HtmlInline_AzurePipelines",types:["Html"],description:"Same as HtmlInline but with an adaptive light/dark theme matching the look and feel of Azure Pipelines",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlInline_AzurePipelines/index.html"},{name:"HtmlInline_AzurePipelines_Light",types:["Html"],description:"Same as HtmlInline but with a light theme matching the look and feel of Azure Pipelines.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlInline_AzurePipelines_Light/index.html"},{name:"HtmlInline_AzurePipelines_Dark",types:["Html"],description:"Same as HtmlInline but with a dark theme matching the look and feel of Azure Pipelines.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/HtmlInline_AzurePipelines_Dark/index.html"},{name:"MHtml",types:["Html"],description:"Same as HTML but packaged into a single MHTML file.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/MHtml/Summary.mht"},{name:"Clover",types:["Coverage tool"],description:"Creates a XML file in Clover format. This format integrates with tools like Atlassian Bamboo.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Clover/Clover.xml"},{name:"Cobertura",types:["Coverage tool"],description:"Creates a XML file in Cobertura format. This format integrates with tools like Azure DevOps (VSTS) or Jenkins.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Cobertura/Cobertura.xml"},{name:"OpenCover",types:["Coverage tool"],description:"Creates a XML file in OpenCover format (PRO version only).",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/OpenCover/OpenCover.xml"},{name:"SonarQube",types:["Coverage tool"],description:"Creates a XML file in SonarQube 'Generic Test Data' format.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/SonarQube/SonarQube.xml"},{name:"lcov",types:["Coverage tool"],description:"Creates a text file in 'lcov' format.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/lcov/lcov.info"},{name:"XML",types:["Xml"],description:"Creates a XML file containing a summary for all classes and detailed reports for each class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Xml/Summary.xml"},{name:"XMLSummary",types:["Xml"],description:"Creates a single XML file containing a summary for all classes.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/XmlSummary/Summary.xml"},{name:"JsonSummary",types:["Json"],description:"Creates a single JSON file containing a summary for all classes.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/JsonSummary/Summary.json"},{name:"Latex",types:["Text"],description:"Creates a single TEX file containing a summary for all classes and detailed reports for each class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Summary/Summary.tex"},{name:"LatexSummary",types:["Text"],description:"Creates a single TEX file containing a summary for all classes.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/LatexSummary/Summary.tex"},{name:"TeamCitySummary",types:["Coverage tool"],description:"Command line output interpreted by TeamCity.",requiresHistoryDir:!1,checked:!1,sampleReport:null},{name:"TextSummary",types:["Text"],description:"Creates a single TXT file containing coverage information per class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/TextSummary/Summary.txt"},{name:"TextDeltaSummary",types:["Text"],description:"Creates a single TXT file containing delta coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/TextDeltaSummary/DeltaSummary.txt"},{name:"CsvSummary",types:["Text"],description:"Creates a single CSV file containing coverage information per class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/CsvSummary/Summary.csv"},{name:"MarkdownSummary",types:["Text","Markdown"],description:"Creates a single Markdown file containing coverage information per class.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/MarkdownSummary/Summary.md"},{name:"MarkdownSummaryGithub",types:["Text","Markdown"],description:"Creates a single Markdown file containing coverage information per class. The report is optimized for GitHub.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/MarkdownSummaryGithub/SummaryGithub.md"},{name:"MarkdownDeltaSummary",types:["Text","Markdown"],description:"Creates a single Markdown file containing delta coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/MarkdownDeltaSummary/DeltaSummary.md"},{name:"SvgChart",types:["Image"],description:"Creates a single SVG file containing a chart with historic coverage information.",requiresHistoryDir:!0,checked:!1,sampleReport:"resources/reports/SvgChart/CoverageHistory.svg"},{name:"Badges",types:["Image"],description:"Creates SVG files that show line and/or branch coverage information.",requiresHistoryDir:!1,checked:!1,sampleReport:"resources/reports/Badges/index.html"}],this.sourcedirectories=[],this.historydir="",this.plugins=[],this.assemblyfilters=[],this.classfilters=[],this.filefilters=[],this.selectedverbosity=this.verbosities[1],this.selectedType=null,this.title="",this.tag="",this.license=""}addSourceDirectory(){return this.sourcedirectories.push(""),!1}removeSourceDirectory(t){return this.sourcedirectories.splice(t,1),!1}addReport(){return this.reports.push(""),!1}removeReport(t){return this.reports.splice(t,1),!1}addPlugin(){return this.plugins.push(""),!1}removePlugin(t){return this.plugins.splice(t,1),!1}addAssemblyFilter(){return this.assemblyfilters.push(""),!1}removeAssemblyFilter(t){return this.assemblyfilters.splice(t,1),!1}addClassFilter(){return this.classfilters.push(""),!1}removeClassFilter(t){return this.classfilters.splice(t,1),!1}addFileFilter(){return this.filefilters.push(""),!1}removeFileFilter(t){return this.filefilters.splice(t,1),!1}getUsage(t,r){const n=t.executables.find(a=>a.runtime==r);let o=void 0!==n?t.formatExecutable(n):"";o+=t.formatArguments("reports",this.reports),o+=t.formatArgument("targetdir",this.targetdir);for(var i="",s=0;s0&&(i+=";"),i+=this.reporttypes[s].name);return i.length>0&&"Html"!==i&&(o+=t.formatArgument("reporttypes",i)),o+=t.formatArguments("sourcedirs",this.sourcedirectories),o+=t.formatArgument("historydir",this.historydir),o+=t.formatArguments("plugins",this.plugins),o+=t.formatArguments("assemblyfilters",this.assemblyfilters),o+=t.formatArguments("classfilters",this.classfilters),o+=t.formatArguments("filefilters",this.filefilters),"Info"!==this.selectedverbosity&&(o+=t.formatArgument("verbosity",this.selectedverbosity)),o+=t.formatArgument("title",this.title),o+=t.formatArgument("tag",this.tag),o+=t.formatArgument("license",this.license),o}historyDirRequired(){for(let t=0;t-1?"'":"";return`\r\n ${t}: ${n}${r}${n}`}}class kh{constructor(t,r){this.tool=t,this.command=r}}function J3(e,t){if(1&e){const r=Ae();h(0,"div",35)(1,"label",36)(2,"input",37),R("ngModelChange",function(o){return ne(r),re(k().selectedEnvironment=o)})("ngModelChange",function(){return ne(r),re(k().selectedEnvironmentChanged())}),p(),h(3,"b"),f(4),p(),v(5,"br"),h(6,"div",38),f(7),p()()()}if(2&e){const r=t.$implicit,n=k();_(2),w("ngModel",n.selectedEnvironment)("value",r)("checked",n.selectedEnvironment.name===r.name),_(2),Ce(r.name),_(3),Ce(r.description)}}function K3(e,t){if(1&e){const r=Ae();h(0,"div",35)(1,"label",36)(2,"input",41),R("ngModelChange",function(o){return ne(r),re(k(3).selectedPackage=o)}),p(),h(3,"b"),f(4),p(),v(5,"br"),h(6,"div",38),f(7),p()()()}if(2&e){const r=k().$implicit,n=k(2);_(2),w("ngModel",n.selectedPackage)("value",r),_(2),Ce(r.name),_(3),Ce(r.description)}}function ej(e,t){if(1&e&&(ut(0),P(1,K3,8,4,"div",40),dt()),2&e){const r=t.$implicit,n=k(2);_(1),w("ngIf",r.runtimes.indexOf(n.selectedEnvironment.name)>-1)}}function tj(e,t){if(1&e&&(ut(0),h(1,"h4"),f(2,"NuGet Package"),p(),P(3,ej,2,1,"ng-container",39),dt()),2&e){const r=k();_(3),w("ngForOf",r.packages)}}function nj(e,t){if(1&e){const r=Ae();h(0,"span",45),R("click",function(){ne(r);const o=k().index;return re(k().configuration.removeReport(o))}),h(1,"a",46),v(2,"i",47),p()()}}const rj=function(e){return{"input-group":e}};function oj(e,t){if(1&e){const r=Ae();h(0,"div",38)(1,"div",42)(2,"input",43),R("ngModelChange",function(o){const s=ne(r).index;return re(k().configuration.reports[s]=o)}),p(),P(3,nj,3,0,"span",44),p()()}if(2&e){const r=t.index,n=k();_(1),w("ngClass",$i(4,rj,r>0)),_(1),An("name","report_",r,""),w("ngModel",n.configuration.reports[r]),_(1),w("ngIf",r>0)}}const ij=function(e,t){return{"btn-outline-primary":e,"btn-primary":t}};function sj(e,t){if(1&e){const r=Ae();h(0,"button",48),R("click",function(){const i=ne(r).$implicit,s=k();return re(s.configuration.selectedType=s.configuration.selectedType===i?null:i)}),f(1),p()}if(2&e){const r=t.$implicit,n=k();w("ngClass",k_(2,ij,r!==n.configuration.selectedType,r===n.configuration.selectedType)),_(1),Ce(r)}}function aj(e,t){if(1&e){const r=Ae();h(0,"span",53),v(1,"i",54),f(2," Please specify a "),h(3,"a",9),R("click",function(){return ne(r),re(k(3).scrollToHistoryDir())}),f(4,"history directory"),p()()}}function lj(e,t){if(1&e&&(ut(0),v(1,"br",55),h(2,"a",29),f(3,"Sample report"),p(),f(4,"\xa0"),h(5,"a",29),v(6,"i",56),p(),dt()),2&e){const r=k(2).$implicit;_(2),w("href",r.sampleReport,ro),_(3),w("href",r.sampleReport,ro)}}function cj(e,t){if(1&e){const r=Ae();h(0,"div",50)(1,"label",36)(2,"input",51),R("change",function(){ne(r);const o=k().$implicit;return re(o.checked=!o.checked)}),p(),h(3,"b"),f(4),p(),P(5,aj,5,0,"span",52),v(6,"br"),h(7,"div",38),f(8),P(9,lj,7,2,"ng-container",5),p()()()}if(2&e){const r=k().$implicit,n=k();_(2),w("checked",r.checked),_(2),Ce(r.name),_(1),w("ngIf",r.checked&&r.requiresHistoryDir&&!n.configuration.historydir),_(3),xn("",r.description," "),_(1),w("ngIf",r.sampleReport)}}function uj(e,t){if(1&e&&(ut(0),P(1,cj,10,5,"div",49),dt()),2&e){const r=t.$implicit,n=k();_(1),w("ngIf",!n.configuration.selectedType||r.types.indexOf(n.configuration.selectedType)>-1)}}function dj(e,t){if(1&e){const r=Ae();h(0,"div",8)(1,"div",57)(2,"input",58),R("ngModelChange",function(o){const s=ne(r).index;return re(k().configuration.sourcedirectories[s]=o)}),p(),h(3,"span",45),R("click",function(){const i=ne(r).index;return re(k().configuration.removeSourceDirectory(i))}),h(4,"a",46),v(5,"i",47),p()()()()}if(2&e){const r=t.index,n=k();_(2),An("name","sourcedir_",r,""),w("ngModel",n.configuration.sourcedirectories[r])}}function fj(e,t){if(1&e){const r=Ae();h(0,"div",8)(1,"div",57)(2,"input",59),R("ngModelChange",function(o){const s=ne(r).index;return re(k().configuration.plugins[s]=o)}),p(),h(3,"span",45),R("click",function(){const i=ne(r).index;return re(k().configuration.removePlugin(i))}),h(4,"a",46),v(5,"i",47),p()()()()}if(2&e){const r=t.index,n=k();_(2),An("name","plugin_",r,""),w("ngModel",n.configuration.plugins[r])}}function hj(e,t){if(1&e){const r=Ae();h(0,"div",8)(1,"div",57)(2,"input",60),R("ngModelChange",function(o){const s=ne(r).index;return re(k().configuration.assemblyfilters[s]=o)}),p(),h(3,"span",45),R("click",function(){const i=ne(r).index;return re(k().configuration.removeAssemblyFilter(i))}),h(4,"a",46),v(5,"i",47),p()()()()}if(2&e){const r=t.index,n=k();_(2),An("name","assemblyfilter_",r,""),w("ngModel",n.configuration.assemblyfilters[r])}}function pj(e,t){if(1&e){const r=Ae();h(0,"div",8)(1,"div",57)(2,"input",61),R("ngModelChange",function(o){const s=ne(r).index;return re(k().configuration.classfilters[s]=o)}),p(),h(3,"span",45),R("click",function(){const i=ne(r).index;return re(k().configuration.removeClassFilter(i))}),h(4,"a",46),v(5,"i",47),p()()()()}if(2&e){const r=t.index,n=k();_(2),An("name","classfilter_",r,""),w("ngModel",n.configuration.classfilters[r])}}function gj(e,t){if(1&e){const r=Ae();h(0,"div",8)(1,"div",57)(2,"input",62),R("ngModelChange",function(o){const s=ne(r).index;return re(k().configuration.filefilters[s]=o)}),p(),h(3,"span",45),R("click",function(){const i=ne(r).index;return re(k().configuration.removeFileFilter(i))}),h(4,"a",46),v(5,"i",47),p()()()()}if(2&e){const r=t.index,n=k();_(2),An("name","filefilter_",r,""),w("ngModel",n.configuration.filefilters[r])}}function mj(e,t){if(1&e&&(h(0,"option",63),f(1),p()),2&e){const r=t.$implicit;w("value",r),_(1),Ce(r)}}function vj(e,t){if(1&e&&(h(0,"div",64)(1,"b"),f(2),p(),v(3,"br"),h(4,"pre",32),f(5),p()()),2&e){const r=t.$implicit;_(2),Ce(r.tool),_(3),Ce(r.command)}}function yj(e,t){1&e&&(h(0,"span"),v(1,"i",65),f(2," Copy"),p())}function _j(e,t){1&e&&(h(0,"span"),v(1,"i",66),f(2," Copied"),p())}function Cj(e,t){if(1&e&&(h(0,"div",64)(1,"b"),f(2),p(),v(3,"br"),h(4,"pre",32),f(5),p()()),2&e){const r=t.$implicit;_(2),Ce(r.tool),_(3),Ce(r.command)}}function Dj(e,t){1&e&&(h(0,"span"),v(1,"i",65),f(2," Copy"),p())}function bj(e,t){1&e&&(h(0,"span"),v(1,"i",66),f(2," Copied"),p())}const wj=function(){return["/pro"]},Ej=[{path:"",component:d3,pathMatch:"full",title:"Home",data:{canonical:"/"}},{path:"features",component:o3,title:"Features",data:{canonical:"/features"}},{path:"features.html",redirectTo:"/features"},{path:"getstarted",component:s3,title:"Get started",data:{canonical:"/getstarted"}},{path:"getstarted.html",redirectTo:"/getstarted"},{path:"usage",component:(()=>{var e;class t{constructor(){this.versions=Lt,this.lastResult="",this.usageCopied=!1,this.configuration=new Q3,this.environments=[new sc(".NET Core",".NET Core"),new sc(".NET Framework","The full .NET framework"),new sc("Azure DevOps",null),new sc("Github Action",null)],this.packages=[new ic("ReportGenerator","https://www.nuget.org/packages/ReportGenerator",[".NET Framework",".NET Core"],"Use this package if your project is based on .NET Framework or .NET Core and you want to use ReportGenerator via the command line or a build script.",[new kh("Package Manager",`Install-Package ReportGenerator -Version ${Lt.version}`),new kh(".NET CLI",`dotnet add package ReportGenerator --version ${Lt.version}`)],[new ws(".NET Framework",`$(UserProfile)\\.nuget\\packages\\reportgenerator\\${Lt.version}\\tools\\net47\\ReportGenerator.exe`),new ws(".NET Core",`dotnet $(UserProfile)\\.nuget\\packages\\reportgenerator\\${Lt.version}\\tools\\net6.0\\ReportGenerator.dll`)]),new ic("dotnet-reportgenerator-globaltool","https://www.nuget.org/packages/dotnet-reportgenerator-globaltool",[".NET Core"],"Use this package if your project is based on .NET Core and you want to use ReportGenerator as a (global) 'DotnetTool'.",[new kh(".NET CLI",`dotnet tool install --global dotnet-reportgenerator-globaltool --version ${Lt.version}\r\n\r\ndotnet tool install dotnet-reportgenerator-globaltool --tool-path tools --version ${Lt.version}\r\n\r\ndotnet new tool-manifest\r\ndotnet tool install dotnet-reportgenerator-globaltool --version ${Lt.version}`)],[new ws(".NET Core","reportgenerator")]),new Y3("Azure DevOps","https://marketplace.visualstudio.com/items?itemName=Palmmedia.reportgenerator",["Azure DevOps"],"Use this package within Azure DevOps",[],[new ws("Azure DevOps","reportgenerator")]),new X3("GitHub Action","https://github.com/marketplace/actions/reportgenerator",["Github Action"],"Use this package within Github Actions",[],[new ws("Github Action","danielpalme/ReportGenerator-GitHub-Action")])],this.selectedEnvironment=this.environments[0],this.selectedPackage=this.packages[0]}selectedEnvironmentChanged(){this.selectedPackage=this.packages.find(n=>n.runtimes.indexOf(this.selectedEnvironment.name)>-1)}severalPackagesAvailable(){return this.packages.filter(n=>n.runtimes.indexOf(this.selectedEnvironment.name)>-1).length>1}getUsage(){const n=this.configuration.getUsage(this.selectedPackage,this.selectedEnvironment.name);return this.lastResult!==n&&(this.lastResult=n,this.usageCopied=!1),n}copy(){try{navigator.clipboard.writeText(this.getUsage()),this.usageCopied=!0}catch(n){console.error("Failed to copy license",n)}}scrollToHistoryDir(){return document.querySelector("#historydir").scrollIntoView(!0),!1}trackByIndex(n,o){return n}}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275cmp=vt({type:e,selectors:[["app-usage-component"]],standalone:!0,features:[Mt],decls:219,vars:41,consts:[[1,"container"],[1,"mb-4"],[1,"row"],[1,"col-md-7"],["class","form-check",4,"ngFor","ngForOf"],[4,"ngIf"],[1,"alert","alert-info"],["class","mb-3",4,"ngFor","ngForOf","ngForTrackBy"],[1,"input-group","mb-3"],["href","",3,"click"],[1,"fa","fa-plus-circle"],["type","text","name","targetdir","placeholder","The target directory","required","",1,"form-control",3,"ngModel","ngModelChange"],["href","https://danielpalme.github.io/ReportGenerator/resources/SampleReports.zip"],[1,"me-2"],["type","button","class","btn btn-sm me-1 mb-1",3,"ngClass","click",4,"ngFor","ngForOf","ngForTrackBy"],[4,"ngFor","ngForOf","ngForTrackBy"],["class","input-group mb-3",4,"ngFor","ngForOf","ngForTrackBy"],["id","historydir"],["type","text","name","historydir","placeholder","The history directory",1,"form-control",3,"ngModel","required","ngModelChange"],["href","https://github.com/danielpalme/ReportGenerator/wiki/Custom-reports"],["href","https://github.com/danielpalme/ReportGenerator/wiki/Custom-history-storage"],["name","verbosity",1,"form-select",3,"ngModel","ngModelChange"],[3,"value",4,"ngFor","ngForOf","ngForTrackBy"],["type","text","name","title","placeholder","Title",1,"form-control",3,"ngModel","ngModelChange"],["type","text","name","tag","placeholder","Optional tag or build version",1,"form-control",3,"ngModel","ngModelChange"],[3,"routerLink"],["type","text","name","license","placeholder","Optional license for PRO version","rows","4",1,"form-control",3,"ngModel","ngModelChange"],[1,"col-md-5"],[1,"d-md-none","mt-5"],["target","_blank",3,"href"],["class","mt-2",4,"ngFor","ngForOf"],[1,"mt-4"],[1,"text-dark","bg-light","p-2","border"],[1,"btn","btn-outline-dark","mt-2",3,"click"],[1,"d-none","d-md-block","sticky"],[1,"form-check"],[1,"form-check-label"],["type","radio","name","environment",1,"form-check-input",3,"ngModel","value","checked","ngModelChange"],[1,"mb-3"],[4,"ngFor","ngForOf"],["class","form-check",4,"ngIf"],["type","radio","name","package",1,"form-check-input",3,"ngModel","value","ngModelChange"],[3,"ngClass"],["type","text","placeholder","The path of the coverage file","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["class","input-group-text",3,"click",4,"ngIf"],[1,"input-group-text",3,"click"],["href",""],[1,"fa","fa-trash","text-danger"],["type","button",1,"btn","btn-sm","me-1","mb-1",3,"ngClass","click"],["class","form-check mt-1",4,"ngIf"],[1,"form-check","mt-1"],["type","checkbox","name","reporttype",1,"form-check-input",3,"checked","change"],["class","text-danger ms-2",4,"ngIf"],[1,"text-danger","ms-2"],[1,"fa-solid","fa-triangle-exclamation"],[1,"mt-1"],[1,"fa-solid","fa-arrow-up-right-from-square"],[1,"input-group"],["type","text","placeholder","The source directory","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["type","text","placeholder","The path of the plugin","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["type","text","placeholder","The include or exclude filter for assemlies","pattern","^[+-].+$","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["type","text","placeholder","The include or exclude filter for classes","pattern","^[+-].+$","required","",1,"form-control",3,"name","ngModel","ngModelChange"],["type","text","placeholder","The include or exclude filter for files","pattern","^[+-].+$","required","",1,"form-control",3,"name","ngModel","ngModelChange"],[3,"value"],[1,"mt-2"],[1,"fa-solid","fa-copy"],[1,"fa-solid","fa-check","text-success"]],template:function(n,o){1&n&&(h(0,"div",0)(1,"h1",1),f(2,"Usage"),p(),h(3,"div",2)(4,"div",3)(5,"form")(6,"h3"),f(7,"Environment"),p(),P(8,J3,8,5,"div",4),v(9,"hr"),P(10,tj,4,1,"ng-container",5),v(11,"hr"),h(12,"h3"),f(13,"Reports"),p(),h(14,"div",6),f(15,"Path to the coverage report(s) that should be parsed."),v(16,"br"),f(17,"Globbing is supported."),p(),P(18,oj,4,6,"div",7),h(19,"div",8)(20,"a",9),R("click",function(){return o.configuration.addReport()}),v(21,"i",10),f(22," Add report"),p()(),v(23,"br"),h(24,"h3"),f(25,"Target directory"),p(),h(26,"div",6),f(27,"The directory where the generated report(s) should be saved."),p(),h(28,"div",8)(29,"input",11),R("ngModelChange",function(s){return o.configuration.targetdir=s}),p()(),v(30,"br"),h(31,"h3"),f(32,"Report types"),p(),h(33,"div",6),f(34,"Download "),h(35,"a",12),f(36,"sample reports"),p()(),h(37,"span",13),f(38,"Filter:"),p(),P(39,sj,2,5,"button",14),v(40,"br"),P(41,uj,2,1,"ng-container",15),h(42,"h3"),f(43,"Source directories"),p(),h(44,"div",6),f(45,"Optional directories which contain the corresponding source code."),v(46,"br"),f(47,"The source directories are used if coverage report contains classes without path information."),p(),P(48,dj,6,2,"div",16),h(49,"div",8)(50,"a",9),R("click",function(){return o.configuration.addSourceDirectory()}),v(51,"i",10),f(52," Add source directory"),p()(),v(53,"br"),h(54,"h3",17),f(55,"History directory"),p(),h(56,"div",6),f(57,"Optional directory for storing "),h(58,"b"),f(59,"persistent"),p(),f(60," coverage information. Choose a directory which does not get deleted between builds."),v(61,"br"),f(62,"Required to show the history chart in the HTML reports."),p(),h(63,"div",8)(64,"input",18),R("ngModelChange",function(s){return o.configuration.historydir=s}),p()(),v(65,"br"),h(66,"h3"),f(67,"Plugins"),p(),h(68,"div",6),f(69,"Optional plugin files for "),h(70,"a",19),f(71,"custom reports"),p(),f(72," or "),h(73,"a",20),f(74,"custom history storage"),p(),f(75,"."),p(),P(76,fj,6,2,"div",16),h(77,"div",8)(78,"a",9),R("click",function(){return o.configuration.addPlugin()}),v(79,"i",10),f(80," Add plugin"),p()(),v(81,"br"),h(82,"h3"),f(83,"Assembly filters"),p(),h(84,"div",6),f(85,"Optional list of "),h(86,"b"),f(87,"assemblies"),p(),f(88," that should be included or excluded in the report. "),v(89,"br"),f(90,"Exclusion filters take precedence over inclusion filters. "),v(91,"br"),f(92,"Wildcards are allowed."),v(93,"br"),h(94,"p"),f(95,"Examples:"),v(96,"br"),h(97,"code"),f(98,"+Included"),p(),v(99,"br"),h(100,"code"),f(101,"-Excluded"),p()()(),P(102,hj,6,2,"div",16),h(103,"div",8)(104,"a",9),R("click",function(){return o.configuration.addAssemblyFilter()}),v(105,"i",10),f(106," Add assembly filter"),p()(),v(107,"br"),h(108,"h3"),f(109,"Class filters"),p(),h(110,"div",6),f(111,"Optional list of "),h(112,"b"),f(113,"classes"),p(),f(114," that should be included or excluded in the report. "),v(115,"br"),f(116,"Exclusion filters take precedence over inclusion filters. "),v(117,"br"),f(118,"Wildcards are allowed."),v(119,"br"),h(120,"p"),f(121,"Examples:"),v(122,"br"),h(123,"code"),f(124,"+Included"),p(),v(125,"br"),h(126,"code"),f(127,"-Excluded"),p()()(),P(128,pj,6,2,"div",16),h(129,"div",8)(130,"a",9),R("click",function(){return o.configuration.addClassFilter()}),v(131,"i",10),f(132," Add class filter"),p()(),v(133,"br"),h(134,"h3"),f(135,"File filters"),p(),h(136,"div",6),f(137,"Optional list of "),h(138,"b"),f(139,"files"),p(),f(140," that should be included or excluded in the report. "),v(141,"br"),f(142,"Exclusion filters take precedence over inclusion filters. "),v(143,"br"),f(144,"Wildcards are allowed."),v(145,"br"),h(146,"p"),f(147,"Examples:"),v(148,"br"),h(149,"code"),f(150,"+Included"),p(),v(151,"br"),h(152,"code"),f(153,"-Excluded"),p()()(),P(154,gj,6,2,"div",16),h(155,"div",8)(156,"a",9),R("click",function(){return o.configuration.addFileFilter()}),v(157,"i",10),f(158," Add file filter"),p()(),v(159,"br"),h(160,"h3"),f(161,"Verbosity"),p(),h(162,"div",6),f(163,"The verbosity level of the log messages."),p(),h(164,"div",8)(165,"select",21),R("ngModelChange",function(s){return o.configuration.selectedverbosity=s}),P(166,mj,2,2,"option",22),p()(),v(167,"br"),h(168,"h3"),f(169,"Title"),p(),h(170,"div",6),f(171,"Optional title."),p(),h(172,"div",8)(173,"input",23),R("ngModelChange",function(s){return o.configuration.title=s}),p()(),v(174,"br"),h(175,"h3"),f(176,"Tag"),p(),h(177,"div",6),f(178,"Optional tag or build version."),p(),h(179,"div",8)(180,"input",24),R("ngModelChange",function(s){return o.configuration.tag=s}),p()(),v(181,"br"),h(182,"h3"),f(183,"License"),p(),h(184,"div",6),f(185,"Optional license. Get your license here: "),h(186,"a",25),f(187,"https://reportgenerator.io/pro"),p()(),h(188,"div",8)(189,"textarea",26),R("ngModelChange",function(s){return o.configuration.license=s}),p()()()(),h(190,"div",27)(191,"div",28)(192,"h3"),f(193,"Instructions"),p(),f(194," Install "),h(195,"a",29),f(196),p(),P(197,vj,6,2,"div",30),h(198,"h4",31),f(199,"Usage"),p(),h(200,"pre",32),f(201),p(),h(202,"button",33),R("click",function(){return o.copy()}),P(203,yj,3,0,"span",5),P(204,_j,3,0,"span",5),p()(),h(205,"div",34)(206,"h3"),f(207,"Instructions"),p(),f(208," Install "),h(209,"a",29),f(210),p(),P(211,Cj,6,2,"div",30),h(212,"h4",31),f(213,"Usage"),p(),h(214,"pre",32),f(215),p(),h(216,"button",33),R("click",function(){return o.copy()}),P(217,Dj,3,0,"span",5),P(218,bj,3,0,"span",5),p()()()()()),2&n&&(_(8),w("ngForOf",o.environments),_(2),w("ngIf",o.severalPackagesAvailable()),_(8),w("ngForOf",o.configuration.reports)("ngForTrackBy",o.trackByIndex),_(11),w("ngModel",o.configuration.targetdir),_(10),w("ngForOf",o.configuration.types)("ngForTrackBy",o.trackByIndex),_(2),w("ngForOf",o.configuration.reporttypes)("ngForTrackBy",o.trackByIndex),_(7),w("ngForOf",o.configuration.sourcedirectories)("ngForTrackBy",o.trackByIndex),_(16),w("ngModel",o.configuration.historydir)("required",o.configuration.historyDirRequired()),_(12),w("ngForOf",o.configuration.plugins)("ngForTrackBy",o.trackByIndex),_(26),w("ngForOf",o.configuration.assemblyfilters)("ngForTrackBy",o.trackByIndex),_(26),w("ngForOf",o.configuration.classfilters)("ngForTrackBy",o.trackByIndex),_(26),w("ngForOf",o.configuration.filefilters)("ngForTrackBy",o.trackByIndex),_(11),w("ngModel",o.configuration.selectedverbosity),_(1),w("ngForOf",o.configuration.verbosities)("ngForTrackBy",o.trackByIndex),_(7),w("ngModel",o.configuration.title),_(7),w("ngModel",o.configuration.tag),_(6),w("routerLink",K(40,wj)),_(3),w("ngModel",o.configuration.license),_(6),w("href",o.selectedPackage.url,ro),_(1),Ce(o.selectedPackage.name),_(1),w("ngForOf",o.selectedPackage.installOptions),_(4),Ce(o.getUsage()),_(2),w("ngIf",!o.usageCopied),_(1),w("ngIf",o.usageCopied),_(5),w("href",o.selectedPackage.url,ro),_(1),Ce(o.selectedPackage.name),_(1),w("ngForOf",o.selectedPackage.installOptions),_(4),Ce(o.getUsage()),_(2),w("ngIf",!o.usageCopied),_(1),w("ngIf",o.usageCopied))},dependencies:[ec,Xl,Ww,Yw,jo,Jl,bh,Ul,Bl,$o,Th,Cs,Bo,Ef,vl,ml,pn],styles:[".sticky[_ngcontent-%COMP%]{position:sticky;top:100px}"]}),t})(),title:"Usage",data:{canonical:"/usage"}},{path:"usage.html",redirectTo:"/usage"},{path:"pro",component:Z3,title:"PRO",data:{canonical:"/pro"}},{path:"pro.html",redirectTo:"/pro"},{path:"contact",component:r3,title:"Contact",data:{canonical:"/contact"}},{path:"contact.html",redirectTo:"/contact"},{path:"404",component:f3,title:"404 - Not found"},{path:"**",redirectTo:"/404"}];(function Zk(e,t){return BN({rootComponent:e,...$D(t)})})(xL,{providers:[xm(eF,(()=>{var e;class t{}return(e=t).\u0275fac=function(n){return new(n||e)},e.\u0275mod=Cn({type:e}),e.\u0275inj=en({imports:[Xb.forRoot(Ej,{scrollPositionRestoration:"enabled",scrollOffset:[0,0],anchorScrolling:"enabled"}),Xb]}),t})(),ec),bE,wE,yE,function qV(...e){const t=[Nh,hE,dE,{provide:tc,useExisting:dE},{provide:nc,useExisting:hE},{provide:bs,useValue:zV,multi:!0},{provide:Oh,useValue:!0},{provide:mE,useClass:GV}];for(const r of e)t.push(...r.\u0275providers);return Ru(t)}(function WV(){return function Ar(e,t){return{\u0275kind:e,\u0275providers:t}}(or.LegacyInterceptors,[{provide:vE,useFactory:FV},{provide:bs,useExisting:vE,multi:!0}])}())]}).catch(e=>console.error(e))}},ue=>{ue(ue.s=603)}]);
\ No newline at end of file
diff --git a/global.json b/global.json
index 01bc6de4..4ba42b95 100644
--- a/global.json
+++ b/global.json
@@ -1,6 +1,6 @@
{
"sdk": {
- "version": "7.0.401",
+ "version": "8.0.100-rc.2.23502.2",
"rollForward": "latestMajor"
}
}
\ No newline at end of file
diff --git a/src/AzureDevopsTask/ReportGenerator/reportgenerator.ts b/src/AzureDevopsTask/ReportGenerator/reportgenerator.ts
index efe58fcf..5a12b801 100644
--- a/src/AzureDevopsTask/ReportGenerator/reportgenerator.ts
+++ b/src/AzureDevopsTask/ReportGenerator/reportgenerator.ts
@@ -3,7 +3,7 @@ import tl = require('azure-pipelines-task-lib/task');
async function executeReportGenerator(): Promise {
var tool = tl.tool('dotnet')
- .arg(path.join(__dirname, 'tools/netcoreapp3.1/ReportGenerator.dll'))
+ .arg(path.join(__dirname, 'tools/net6.0/ReportGenerator.dll'))
.arg('-reports:' + (tl.getInput('reports') || ''))
.arg('-targetdir:' + (tl.getInput('targetdir') || ''))
.arg('-reporttypes:' + (tl.getInput('reporttypes') || ''))
diff --git a/src/AzureDevopsTask/ReportGenerator/task.json b/src/AzureDevopsTask/ReportGenerator/task.json
index cef1813c..0c8e4e19 100644
--- a/src/AzureDevopsTask/ReportGenerator/task.json
+++ b/src/AzureDevopsTask/ReportGenerator/task.json
@@ -12,8 +12,8 @@
"author": "Palmmedia",
"version": {
"Major": 5,
- "Minor": 1,
- "Patch": 26
+ "Minor": 2,
+ "Patch": 0
},
"instanceNameFormat": "ReportGenerator",
"groups": [
diff --git a/src/AzureDevopsTask/vss-extension.json b/src/AzureDevopsTask/vss-extension.json
index e1032db8..be6429a0 100644
--- a/src/AzureDevopsTask/vss-extension.json
+++ b/src/AzureDevopsTask/vss-extension.json
@@ -2,7 +2,7 @@
"manifestVersion": 1,
"id": "reportgenerator",
"name": "ReportGenerator",
- "version": "5.1.26",
+ "version": "5.2.0",
"publisher": "Palmmedia",
"public": true,
"targets": [
diff --git a/src/Deployment/chocolatey/reportgenerator.portable.nuspec b/src/Deployment/chocolatey/reportgenerator.portable.nuspec
index 34dba008..f45af775 100644
--- a/src/Deployment/chocolatey/reportgenerator.portable.nuspec
+++ b/src/Deployment/chocolatey/reportgenerator.portable.nuspec
@@ -24,18 +24,15 @@
-
-
-
-
-
-
+
+
+
diff --git a/src/Deployment/nuget/Readme_ReportGenerator.md b/src/Deployment/nuget/Readme_ReportGenerator.md
index b8d12729..0b358b26 100644
--- a/src/Deployment/nuget/Readme_ReportGenerator.md
+++ b/src/Deployment/nuget/Readme_ReportGenerator.md
@@ -13,13 +13,13 @@ ReportGenerator converts coverage reports generated by coverlet, OpenCover, dotC
### .NET Core
```
-dotnet $(UserProfile)\.nuget\packages\reportgenerator\5.1.26\tools\net6.0\ReportGenerator.dll [options]
-$(UserProfile)\.nuget\packages\reportgenerator\5.1.26\tools\net6.0\ReportGenerator.exe [options]
+dotnet $(UserProfile)\.nuget\packages\reportgenerator\5.2.0\tools\net8.0\ReportGenerator.dll [options]
+$(UserProfile)\.nuget\packages\reportgenerator\5.2.0\tools\net8.0\ReportGenerator.exe [options]
```
### .NET Framework
```
-$(UserProfile)\.nuget\packages\reportgenerator\5.1.26\tools\net47\ReportGenerator.exe [options]
+$(UserProfile)\.nuget\packages\reportgenerator\5.2.0\tools\net47\ReportGenerator.exe [options]
```
## Additional information
diff --git a/src/Deployment/nuget/Readme_dotnet-reportgenerator-globaltool.md b/src/Deployment/nuget/Readme_dotnet-reportgenerator-globaltool.md
index d543df81..85727010 100644
--- a/src/Deployment/nuget/Readme_dotnet-reportgenerator-globaltool.md
+++ b/src/Deployment/nuget/Readme_dotnet-reportgenerator-globaltool.md
@@ -13,12 +13,12 @@ ReportGenerator converts coverage reports generated by coverlet, OpenCover, dotC
### Installation
```
-dotnet tool install --global dotnet-reportgenerator-globaltool --version 5.1.26
+dotnet tool install --global dotnet-reportgenerator-globaltool --version 5.2.0
-dotnet tool install dotnet-reportgenerator-globaltool --tool-path tools --version 5.1.26
+dotnet tool install dotnet-reportgenerator-globaltool --tool-path tools --version 5.2.0
dotnet new tool-manifest
-dotnet tool install dotnet-reportgenerator-globaltool --version 5.1.26
+dotnet tool install dotnet-reportgenerator-globaltool --version 5.2.0
```
### Execution
diff --git a/src/Deployment/nuget/ReportGenerator.Core.nuspec b/src/Deployment/nuget/ReportGenerator.Core.nuspec
index a0b60e09..1b2b886c 100644
--- a/src/Deployment/nuget/ReportGenerator.Core.nuspec
+++ b/src/Deployment/nuget/ReportGenerator.Core.nuspec
@@ -52,22 +52,6 @@ https://github.com/danielpalme/ReportGenerator/wiki/Custom-history-storage
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
@@ -83,6 +67,14 @@ https://github.com/danielpalme/ReportGenerator/wiki/Custom-history-storage
+
+
+
+
+
+
+
+
diff --git a/src/Deployment/nuget/ReportGenerator.nuspec b/src/Deployment/nuget/ReportGenerator.nuspec
index f78c7f97..b0766adc 100644
--- a/src/Deployment/nuget/ReportGenerator.nuspec
+++ b/src/Deployment/nuget/ReportGenerator.nuspec
@@ -17,8 +17,8 @@
Use this package if your project is based on .NET Framework or .NET Core and you want to use ReportGenerator via the command line or a build script.
Usage:
-dotnet $(UserProfile)\.nuget\packages\reportgenerator\x.y.z\tools\net6.0\ReportGenerator.dll [options]
-$(UserProfile)\.nuget\packages\reportgenerator\x.y.z\tools\net6.0\ReportGenerator.exe [options]
+dotnet $(UserProfile)\.nuget\packages\reportgenerator\x.y.z\tools\net8.0\ReportGenerator.dll [options]
+$(UserProfile)\.nuget\packages\reportgenerator\x.y.z\tools\net8.0\ReportGenerator.exe [options]
$(UserProfile)\.nuget\packages\reportgenerator\x.y.z\tools\net47\ReportGenerator.exe [options]
Readme.md
en-US
@@ -34,17 +34,14 @@ $(UserProfile)\.nuget\packages\reportgenerator\x.y.z\tools\net47\ReportGenerator
-
-
-
-
-
-
-
+
+
+
+
diff --git a/src/Deployment/nuget/ReportGenerator.props b/src/Deployment/nuget/ReportGenerator.props
index c6141fc6..21342a1d 100644
--- a/src/Deployment/nuget/ReportGenerator.props
+++ b/src/Deployment/nuget/ReportGenerator.props
@@ -1,7 +1,7 @@
- $(MSBuildThisFileDirectory)..\..\tools\netcoreapp3.1\ReportGenerator.MSBuild.dll
+ $(MSBuildThisFileDirectory)..\..\tools\net6.0\ReportGenerator.MSBuild.dll
$(MSBuildThisFileDirectory)..\..\tools\net47\ReportGenerator.MSBuild.dll
diff --git a/src/Deployment/nuget/dotnet-reportgenerator-globaltool.nuspec b/src/Deployment/nuget/dotnet-reportgenerator-globaltool.nuspec
index 37952a58..14b232a9 100644
--- a/src/Deployment/nuget/dotnet-reportgenerator-globaltool.nuspec
+++ b/src/Deployment/nuget/dotnet-reportgenerator-globaltool.nuspec
@@ -41,15 +41,7 @@ dotnet reportgenerator [options]
-
-
-
-
-
-
-
-
-
+
@@ -57,5 +49,9 @@ dotnet reportgenerator [options]
+
+
+
+
diff --git a/src/Readme.txt b/src/Readme.txt
index 403a8944..e0fb6e9a 100644
--- a/src/Readme.txt
+++ b/src/Readme.txt
@@ -67,8 +67,9 @@ For further details take a look at LICENSE.txt.
CHANGELOG
-5.1.27.0
+5.2.0.0
+ * New: Added support for .NET 8. Dropped support for .NET 3.1 and .NET 5.0
* New: #629 Visual Studio Coverage: Added support for partial line coverage
5.1.26.0
diff --git a/src/ReportGenerator.Console.NetCore/ReportGenerator.Console.NetCore.csproj b/src/ReportGenerator.Console.NetCore/ReportGenerator.Console.NetCore.csproj
index 7fa9826d..ce464596 100644
--- a/src/ReportGenerator.Console.NetCore/ReportGenerator.Console.NetCore.csproj
+++ b/src/ReportGenerator.Console.NetCore/ReportGenerator.Console.NetCore.csproj
@@ -2,13 +2,13 @@
Exe
- netcoreapp3.1;net5.0;net6.0;net7.0
+ net6.0;net7.0;net8.0
ProgramIcon.ico
ReportGenerator
Palmmedia.ReportGenerator
Palmmedia.ReportGenerator.Console.NetCore.Program
- 5.1.26.0
- 5.1.26.0
+ 5.2.0.0
+ 5.2.0.0
diff --git a/src/ReportGenerator.Console/ReportGenerator.Console.Net.csproj b/src/ReportGenerator.Console/ReportGenerator.Console.Net.csproj
index c6c3858e..aba5f25f 100644
--- a/src/ReportGenerator.Console/ReportGenerator.Console.Net.csproj
+++ b/src/ReportGenerator.Console/ReportGenerator.Console.Net.csproj
@@ -8,8 +8,8 @@
ReportGenerator.Console
ReportGenerator.Console
Copyright © 2022
- 5.1.26.0
- 5.1.26.0
+ 5.2.0.0
+ 5.2.0.0
bin\$(Configuration)\
false
diff --git a/src/ReportGenerator.Core.Test/Parser/CoverageReportParserTest.cs b/src/ReportGenerator.Core.Test/Parser/CoverageReportParserTest.cs
index 70126557..b1ff1953 100644
--- a/src/ReportGenerator.Core.Test/Parser/CoverageReportParserTest.cs
+++ b/src/ReportGenerator.Core.Test/Parser/CoverageReportParserTest.cs
@@ -43,65 +43,65 @@ public void ParseFiles_SingleReportFileWithSingleReport_CorrectParserIsReturned(
string filePath = Path.Combine(FileManager.GetCSharpReportDirectory(), "NCover1.5.8.xml");
var parserResult = new CoverageReportParser(1, 1, new string[] { "C:\\somedirectory" }, this.filterMock.Object, this.filterMock.Object, this.filterMock.Object).ParseFiles(new string[] { filePath });
Assert.Equal("NCover", parserResult.ParserName);
- Assert.Equal(0, parserResult.SourceDirectories.Count);
+ Assert.Empty(parserResult.SourceDirectories);
filePath = Path.Combine(FileManager.GetCSharpReportDirectory(), "OpenCover.xml");
parserResult = new CoverageReportParser(1, 1, new string[] { "C:\\somedirectory" }, this.filterMock.Object, this.filterMock.Object, this.filterMock.Object).ParseFiles(new string[] { filePath });
Assert.Equal("OpenCover", parserResult.ParserName);
- Assert.Equal(0, parserResult.SourceDirectories.Count);
+ Assert.Empty(parserResult.SourceDirectories);
filePath = Path.Combine(FileManager.GetCSharpReportDirectory(), "dotCover.xml");
parserResult = new CoverageReportParser(1, 1, new string[] { "C:\\somedirectory" }, this.filterMock.Object, this.filterMock.Object, this.filterMock.Object).ParseFiles(new string[] { filePath });
Assert.Equal("DotCover", parserResult.ParserName);
- Assert.Equal(0, parserResult.SourceDirectories.Count);
+ Assert.Empty(parserResult.SourceDirectories);
filePath = Path.Combine(FileManager.GetCSharpReportDirectory(), "VisualStudio2010.coveragexml");
parserResult = new CoverageReportParser(1, 1, new string[] { "C:\\somedirectory" }, this.filterMock.Object, this.filterMock.Object, this.filterMock.Object).ParseFiles(new string[] { filePath });
Assert.Equal("VisualStudio", parserResult.ParserName);
- Assert.Equal(0, parserResult.SourceDirectories.Count);
+ Assert.Empty(parserResult.SourceDirectories);
filePath = Path.Combine(FileManager.GetCSharpReportDirectory(), "DynamicCodeCoverage.xml");
parserResult = new CoverageReportParser(1, 1, new string[] { "C:\\somedirectory" }, this.filterMock.Object, this.filterMock.Object, this.filterMock.Object).ParseFiles(new string[] { filePath });
Assert.Equal("DynamicCodeCoverage", parserResult.ParserName);
- Assert.Equal(0, parserResult.SourceDirectories.Count);
+ Assert.Empty(parserResult.SourceDirectories);
filePath = Path.Combine(FileManager.GetCSharpReportDirectory(), "mprof-report.xml");
parserResult = new CoverageReportParser(1, 1, new string[] { "C:\\somedirectory" }, this.filterMock.Object, this.filterMock.Object, this.filterMock.Object).ParseFiles(new string[] { filePath });
Assert.Equal("MProf", parserResult.ParserName);
- Assert.Equal(0, parserResult.SourceDirectories.Count);
+ Assert.Empty(parserResult.SourceDirectories);
filePath = Path.Combine(FileManager.GetJavaReportDirectory(), "Cobertura2.1.1.xml");
parserResult = new CoverageReportParser(1, 1, new string[] { "C:\\somedirectory" }, this.filterMock.Object, this.filterMock.Object, this.filterMock.Object).ParseFiles(new string[] { filePath });
Assert.Equal("Cobertura", parserResult.ParserName);
- Assert.Equal(1, parserResult.SourceDirectories.Count);
+ Assert.Single(parserResult.SourceDirectories);
Assert.Equal("C:/temp", parserResult.SourceDirectories.First());
filePath = Path.Combine(FileManager.GetCPlusPlusReportDirectory(), "Cobertura_CPPCoverage.xml");
parserResult = new CoverageReportParser(1, 1, new string[] { "C:\\somedirectory" }, this.filterMock.Object, this.filterMock.Object, this.filterMock.Object).ParseFiles(new string[] { filePath });
Assert.Equal("Cobertura", parserResult.ParserName);
- Assert.Equal(0, parserResult.SourceDirectories.Count);
+ Assert.Empty(parserResult.SourceDirectories);
filePath = Path.Combine(FileManager.GetJavaReportDirectory(), "JaCoCo0.8.3.xml");
parserResult = new CoverageReportParser(1, 1, new string[] { "C:\\somedirectory" }, this.filterMock.Object, this.filterMock.Object, this.filterMock.Object).ParseFiles(new string[] { filePath });
Assert.Equal("JaCoCo", parserResult.ParserName);
- Assert.Equal(1, parserResult.SourceDirectories.Count);
+ Assert.Single(parserResult.SourceDirectories);
Assert.Equal("C:\\somedirectory", parserResult.SourceDirectories.First());
filePath = Path.Combine(FileManager.GetJavaReportDirectory(), "Clover_OpenClover4.3.1.xml");
parserResult = new CoverageReportParser(1, 1, new string[] { "C:\\somedirectory" }, this.filterMock.Object, this.filterMock.Object, this.filterMock.Object).ParseFiles(new string[] { filePath });
Assert.Equal("Clover", parserResult.ParserName);
- Assert.Equal(1, parserResult.SourceDirectories.Count);
+ Assert.Single(parserResult.SourceDirectories);
Assert.Equal("C:\\somedirectory", parserResult.SourceDirectories.First());
filePath = Path.Combine(FileManager.GetCSharpReportDirectory(), "lcov.info");
parserResult = new CoverageReportParser(1, 1, new string[] { "C:\\somedirectory" }, this.filterMock.Object, this.filterMock.Object, this.filterMock.Object).ParseFiles(new string[] { filePath });
Assert.Equal("LCov", parserResult.ParserName);
- Assert.Equal(0, parserResult.SourceDirectories.Count);
+ Assert.Empty(parserResult.SourceDirectories);
filePath = Path.Combine(FileManager.GetCPlusPlusReportDirectory(), "gcov", "basic", "main.cpp.gcov");
parserResult = new CoverageReportParser(1, 1, new string[] { "C:\\somedirectory" }, this.filterMock.Object, this.filterMock.Object, this.filterMock.Object).ParseFiles(new string[] { filePath });
Assert.Equal("GCov", parserResult.ParserName);
- Assert.Equal(1, parserResult.SourceDirectories.Count);
+ Assert.Single(parserResult.SourceDirectories);
Assert.Equal("C:\\somedirectory", parserResult.SourceDirectories.First());
}
diff --git a/src/ReportGenerator.Core.Test/Parser/ParserResultTest.cs b/src/ReportGenerator.Core.Test/Parser/ParserResultTest.cs
index 4ea1507e..c6f93993 100644
--- a/src/ReportGenerator.Core.Test/Parser/ParserResultTest.cs
+++ b/src/ReportGenerator.Core.Test/Parser/ParserResultTest.cs
@@ -65,7 +65,7 @@ public void SupportsBranchCoverage()
public void SourceDirectories()
{
var parserResult1 = new ParserResult();
- Assert.Equal(0, parserResult1.SourceDirectories.Count);
+ Assert.Empty(parserResult1.SourceDirectories);
parserResult1.AddSourceDirectory("C:\\temp1");
parserResult1.AddSourceDirectory("C:\\temp2");
diff --git a/src/ReportGenerator.Core.Test/ReportConfigurationTest.cs b/src/ReportGenerator.Core.Test/ReportConfigurationTest.cs
index 8a017e0d..fb6bfca8 100644
--- a/src/ReportGenerator.Core.Test/ReportConfigurationTest.cs
+++ b/src/ReportGenerator.Core.Test/ReportConfigurationTest.cs
@@ -41,8 +41,8 @@ public void InitByConstructor_AllDefaultValuesApplied()
Assert.NotNull(configuration.ClassFilters);
Assert.True(configuration.VerbosityLevelValid);
- Assert.Equal(0, configuration.InvalidReportFilePatterns.Count);
- Assert.Equal(0, configuration.SourceDirectories.Count);
+ Assert.Empty(configuration.InvalidReportFilePatterns);
+ Assert.Empty(configuration.SourceDirectories);
}
[Fact]
@@ -81,7 +81,7 @@ public void InitByConstructor_AllPropertiesApplied()
Assert.Equal("CustomTag", configuration.Tag);
Assert.True(configuration.VerbosityLevelValid);
- Assert.Equal(0, configuration.InvalidReportFilePatterns.Count);
+ Assert.Empty(configuration.InvalidReportFilePatterns);
}
[Fact]
diff --git a/src/ReportGenerator.Core.Test/ReportGenerator.Core.Test.csproj b/src/ReportGenerator.Core.Test/ReportGenerator.Core.Test.csproj
index c0a6a4ab..4c9924ef 100644
--- a/src/ReportGenerator.Core.Test/ReportGenerator.Core.Test.csproj
+++ b/src/ReportGenerator.Core.Test/ReportGenerator.Core.Test.csproj
@@ -4,8 +4,8 @@
net7.0
false
Palmmedia.ReportGenerator.Core.Test
- 5.1.26.0
- 5.1.26.0
+ 5.2.0.0
+ 5.2.0.0
false
diff --git a/src/ReportGenerator.Core/ReportGenerator.Core.csproj b/src/ReportGenerator.Core/ReportGenerator.Core.csproj
index 04a059b8..d50aa835 100644
--- a/src/ReportGenerator.Core/ReportGenerator.Core.csproj
+++ b/src/ReportGenerator.Core/ReportGenerator.Core.csproj
@@ -7,8 +7,8 @@
false
true
ReportGenerator.Core
- 5.1.26.0
- 5.1.26.0
+ 5.2.0.0
+ 5.2.0.0
diff --git a/src/ReportGenerator.DotnetCorePluginLoader/ReportGenerator.DotnetCorePluginLoader.csproj b/src/ReportGenerator.DotnetCorePluginLoader/ReportGenerator.DotnetCorePluginLoader.csproj
index 6d05b50e..812d64e7 100644
--- a/src/ReportGenerator.DotnetCorePluginLoader/ReportGenerator.DotnetCorePluginLoader.csproj
+++ b/src/ReportGenerator.DotnetCorePluginLoader/ReportGenerator.DotnetCorePluginLoader.csproj
@@ -1,9 +1,9 @@
- netcoreapp3.1;net5.0;net6.0;net7.0
+ net6.0;net7.0;net8.0
ReportGenerator.DotnetCorePluginLoader
- 5.1.26.0
- 5.1.26.0
+ 5.2.0.0
+ 5.2.0.0
True
diff --git a/src/ReportGenerator.DotnetGlobalTool/ReportGenerator.DotnetGlobalTool.csproj b/src/ReportGenerator.DotnetGlobalTool/ReportGenerator.DotnetGlobalTool.csproj
index d15a5db8..9a3158df 100644
--- a/src/ReportGenerator.DotnetGlobalTool/ReportGenerator.DotnetGlobalTool.csproj
+++ b/src/ReportGenerator.DotnetGlobalTool/ReportGenerator.DotnetGlobalTool.csproj
@@ -2,13 +2,13 @@
Exe
- netcoreapp3.1;net5.0;net6.0;net7.0
+ net6.0;net7.0;net8.0
ProgramIcon.ico
ReportGenerator
Palmmedia.ReportGenerator
Palmmedia.ReportGenerator.DotnetGlobalTool.Program
- 5.1.26.0
- 5.1.26.0
+ 5.2.0.0
+ 5.2.0.0
diff --git a/src/ReportGenerator.MSBuild/ReportGenerator.MSBuild.csproj b/src/ReportGenerator.MSBuild/ReportGenerator.MSBuild.csproj
index 31a7fefb..4e36fc2a 100644
--- a/src/ReportGenerator.MSBuild/ReportGenerator.MSBuild.csproj
+++ b/src/ReportGenerator.MSBuild/ReportGenerator.MSBuild.csproj
@@ -5,8 +5,8 @@
Palmmedia.ReportGenerator.MSBuild
false
true
- 5.1.26.0
- 5.1.26.0
+ 5.2.0.0
+ 5.2.0.0
diff --git a/src/build.proj b/src/build.proj
index 248c1042..24441f3c 100644
--- a/src/build.proj
+++ b/src/build.proj
@@ -22,7 +22,7 @@
- 5.1.26
+ 5.2.0
@@ -52,15 +52,13 @@
-
-
+
-
-
+
@@ -83,10 +81,9 @@
-
-
+
@@ -94,10 +91,9 @@
-
-
+
@@ -105,9 +101,9 @@
-
-
-
+
+
+