diff --git a/core-web/apps/contenttype-fields-builder/src/app/app.module.ts b/core-web/apps/contenttype-fields-builder/src/app/app.module.ts
index 7b21f428746a..d8d3ae9e1387 100644
--- a/core-web/apps/contenttype-fields-builder/src/app/app.module.ts
+++ b/core-web/apps/contenttype-fields-builder/src/app/app.module.ts
@@ -1,5 +1,6 @@
import { MonacoEditorModule } from '@materia-ui/ngx-monaco-editor';
+import { HttpClientModule } from '@angular/common/http';
import { DoBootstrap, Injector, NgModule, Type } from '@angular/core';
import { createCustomElement } from '@angular/elements';
import { BrowserModule } from '@angular/platform-browser';
@@ -24,7 +25,13 @@ const CONTENTTYPE_FIELDS: ContenttypeFieldElement[] = [
@NgModule({
declarations: [AppComponent],
- imports: [BrowserModule, BrowserAnimationsModule, DotBinaryFieldComponent, MonacoEditorModule],
+ imports: [
+ BrowserModule,
+ BrowserAnimationsModule,
+ HttpClientModule,
+ DotBinaryFieldComponent,
+ MonacoEditorModule
+ ],
providers: [DotMessageService, DotUploadService]
})
export class AppModule implements DoBootstrap {
diff --git a/core-web/apps/dotcms-ui/src/stories/primeng/button/Button.stories.ts b/core-web/apps/dotcms-ui/src/stories/primeng/button/Button.stories.ts
index cbee162a00f0..88895396c815 100644
--- a/core-web/apps/dotcms-ui/src/stories/primeng/button/Button.stories.ts
+++ b/core-web/apps/dotcms-ui/src/stories/primeng/button/Button.stories.ts
@@ -28,7 +28,7 @@ export default {
control: { type: 'select' }
},
type: {
- options: ['-', 'p-button-text', 'p-button-outlined'],
+ options: ['-', 'p-button-text', 'p-button-outlined', 'p-button-link'],
control: { type: 'select' }
},
iconPos: {
diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.html b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.html
index afa89c32534f..d0e63196fb45 100644
--- a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.html
+++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.html
@@ -2,11 +2,11 @@
class="binary-field__container"
*ngIf="vm$ | async as vm"
[ngClass]="{
- 'binary-field__container--uploading': vm.status === BINARY_FIELD_STATUS.UPLOADING
+ 'binary-field__container--uploading': vm.status === BinaryFieldStatus.UPLOADING
}">
-
+
-
-
-
- {{ vm.tempFile.fileName }}
-
-
-
-
+
+
-
+ [styleClass]="vm.mode === BinaryFieldMode.EDITOR ? 'screen-cover' : ''">
+
-
{{ helperText }}
diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.scss b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.scss
index fc96c08fecf0..4e2002a84ce9 100644
--- a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.scss
+++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.scss
@@ -7,6 +7,18 @@
min-width: 40rem;
min-height: 40rem;
}
+ p-dialog {
+ .p-dialog-mask.p-component-overlay {
+ background-color: transparent;
+ -webkit-backdrop-filter: blur($blur-md);
+ backdrop-filter: blur($blur-md);
+ }
+ }
+}
+
+dot-drop-zone {
+ height: 100%;
+ width: 100%;
}
.binary-field__container {
@@ -14,22 +26,18 @@
justify-content: center;
align-items: center;
width: 100%;
- gap: $spacing-3;
border-radius: $border-radius-md;
border: $field-border-size solid $color-palette-gray-300;
padding: $spacing-1;
margin-bottom: $spacing-1;
- height: 10rem;
+ height: 12.5rem;
+ min-width: 17.5rem;
}
.binary-field__container--uploading {
border: $field-border-size dashed $color-palette-gray-300;
}
-.binary-field__helper-icon {
- color: $color-palette-gray-600;
-}
-
.binary-field__helper {
display: flex;
justify-content: flex-start;
@@ -39,20 +47,24 @@
font-weight: $font-size-sm;
}
+.binary-field__helper-icon {
+ color: $color-palette-gray-600;
+}
+
.binary-field__actions {
display: flex;
flex-direction: column;
gap: $spacing-3;
justify-content: center;
align-items: flex-start;
+}
- ::ng-deep .p-button {
- display: inline-flex;
- user-select: none;
- align-items: center;
- vertical-align: bottom;
- text-align: center;
- }
+.binary-field__actions .p-button {
+ display: inline-flex;
+ user-select: none;
+ align-items: center;
+ vertical-align: bottom;
+ text-align: center;
}
.binary-field__actions ::ng-deep {
@@ -82,20 +94,19 @@
justify-content: center;
align-items: center;
border-radius: $border-radius-md;
- user-select: none;
cursor: default;
flex-grow: 1;
height: 100%;
+}
- .binary-field__drop-zone-btn {
- border: none;
- background: none;
- color: $color-palette-primary-500;
- text-decoration: underline;
- font-size: $font-size-md;
- font-family: $font-default;
- padding: revert;
- }
+.binary-field__drop-zone-btn {
+ border: none;
+ background: none;
+ color: $color-palette-primary-500;
+ text-decoration: underline;
+ font-size: $font-size-md;
+ font-family: $font-default;
+ padding: revert;
}
.binary-field__drop-zone--active {
@@ -105,11 +116,6 @@
box-shadow: $md-shadow-6;
}
-.binary-field__drop-zone dot-drop-zone {
- height: 100%;
- width: 100%;
-}
-
.binary-field__input {
display: none;
}
@@ -119,11 +125,3 @@
display: block;
height: 25rem;
}
-
-p-dialog ::ng-deep {
- .p-dialog-mask.p-component-overlay {
- background-color: transparent;
- -webkit-backdrop-filter: blur($blur-md);
- backdrop-filter: blur($blur-md);
- }
-}
diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.spec.ts b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.spec.ts
index 26b583fc4030..e8fac9f8b262 100644
--- a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.spec.ts
+++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.spec.ts
@@ -1,28 +1,29 @@
import { expect, it } from '@jest/globals';
import { MonacoEditorModule } from '@materia-ui/ngx-monaco-editor';
import { byTestId, createComponentFactory, Spectator } from '@ngneat/spectator';
+import { of } from 'rxjs';
import { HttpClientTestingModule } from '@angular/common/http/testing';
+import { NgZone } from '@angular/core';
+import { fakeAsync, tick } from '@angular/core/testing';
import { By } from '@angular/platform-browser';
import { NoopAnimationsModule } from '@angular/platform-browser/animations';
import { ButtonModule } from 'primeng/button';
import { DialogModule } from 'primeng/dialog';
-import { DotMessageService, DotUploadService } from '@dotcms/data-access';
+import { DotLicenseService, DotMessageService, DotUploadService } from '@dotcms/data-access';
import { DotCMSTempFile } from '@dotcms/dotcms-models';
-import { DropZoneFileEvent } from '@dotcms/ui';
+import { DropZoneErrorType, DropZoneFileEvent } from '@dotcms/ui';
import { DotBinaryFieldComponent } from './binary-field.component';
import { DotBinaryFieldUiMessageComponent } from './components/dot-binary-field-ui-message/dot-binary-field-ui-message.component';
-import {
- BINARY_FIELD_MODE,
- BINARY_FIELD_STATUS,
- DotBinaryFieldStore
-} from './store/binary-field.store';
+import { BinaryFieldMode, BinaryFieldStatus } from './interfaces';
+import { DotBinaryFieldEditImageService } from './service/dot-binary-field-edit-image/dot-binary-field-edit-image.service';
+import { DotBinaryFieldStore } from './store/binary-field.store';
import { getUiMessage } from '../../utils/binary-field-utils';
-import { CONTENTTYPE_FIELDS_MESSAGE_MOCK } from '../../utils/mock';
+import { CONTENTTYPE_FIELDS_MESSAGE_MOCK, FIELD } from '../../utils/mock';
const TEMP_FILE_MOCK: DotCMSTempFile = {
fileName: 'image.png',
@@ -30,7 +31,8 @@ const TEMP_FILE_MOCK: DotCMSTempFile = {
id: '12345',
image: true,
length: 1000,
- referenceUrl: '/reference/url',
+ referenceUrl:
+ 'https://images.unsplash.com/photo-1575936123452-b67c3203c357?auto=format&fit=crop&q=80&w=1000&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8aW1hZ2V8ZW58MHx8MHx8fDA%3D',
thumbnailUrl: 'image.png',
mimeType: 'mimeType'
};
@@ -40,7 +42,8 @@ const validity = {
valid: true,
fileTypeMismatch: false,
maxFileSizeExceeded: false,
- multipleFilesDropped: false
+ multipleFilesDropped: false,
+ errorsType: [DropZoneErrorType.FILE_TYPE_MISMATCH]
};
const DROP_ZONE_FILE_EVENT: DropZoneFileEvent = {
@@ -52,6 +55,9 @@ describe('DotBinaryFieldComponent', () => {
let spectator: Spectator
;
let store: DotBinaryFieldStore;
+ let dotBinaryFieldEditImageService: DotBinaryFieldEditImageService;
+ let ngZone: NgZone;
+
const createComponent = createComponentFactory({
component: DotBinaryFieldComponent,
imports: [
@@ -64,6 +70,13 @@ describe('DotBinaryFieldComponent', () => {
],
componentProviders: [DotBinaryFieldStore],
providers: [
+ DotBinaryFieldEditImageService,
+ {
+ provide: DotLicenseService,
+ useValue: {
+ isEnterprise: () => of(true)
+ }
+ },
{
provide: DotUploadService,
useValue: {
@@ -87,12 +100,13 @@ describe('DotBinaryFieldComponent', () => {
spectator = createComponent({
detectChanges: false,
props: {
- accept: ['image/*'],
- maxFileSize: 1000,
- helperText: 'helper text'
+ field: FIELD,
+ contentlet: null
}
});
store = spectator.inject(DotBinaryFieldStore, true);
+ dotBinaryFieldEditImageService = spectator.inject(DotBinaryFieldEditImageService, true);
+ ngZone = spectator.inject(NgZone);
});
it('should emit temp file', () => {
@@ -104,9 +118,10 @@ describe('DotBinaryFieldComponent', () => {
describe('Dropzone', () => {
beforeEach(async () => {
- store.setStatus(BINARY_FIELD_STATUS.INIT);
spectator.detectChanges();
+ store.setStatus(BinaryFieldStatus.INIT);
await spectator.fixture.whenStable();
+ spectator.detectChanges();
});
it('should show dropzone when statust is INIT', () => {
@@ -139,7 +154,7 @@ describe('DotBinaryFieldComponent', () => {
});
expect(spyInvalidFile).toHaveBeenCalledWith(
- getUiMessage('FILE_TYPE_MISMATCH', 'image/*')
+ getUiMessage('FILE_TYPE_MISMATCH', 'image/*, .html, .ts')
);
expect(spyUploadFile).not.toHaveBeenCalled();
});
@@ -185,21 +200,24 @@ describe('DotBinaryFieldComponent', () => {
describe('Preview', () => {
beforeEach(async () => {
- store.setStatus(BINARY_FIELD_STATUS.PREVIEW);
+ store.setStatus(BinaryFieldStatus.PREVIEW);
store.setTempFile(TEMP_FILE_MOCK);
spectator.detectChanges();
await spectator.fixture.whenStable();
});
- it('should remove file and set INIT status when clickin on remove button', async () => {
+ it('should remove file and set INIT status when remove file ', async () => {
const spyRemoveFile = jest.spyOn(store, 'removeFile');
- const remove = spectator.query(byTestId('action-remove-btn')) as HTMLButtonElement;
- remove.click();
+ const dotBinarPreviewFile = spectator.fixture.debugElement.query(
+ By.css('[data-testId="preview"]')
+ );
+
+ dotBinarPreviewFile.componentInstance.removeFile.emit();
store.vm$.subscribe((state) => {
expect(state).toEqual({
...state,
- status: BINARY_FIELD_STATUS.INIT,
+ status: BinaryFieldStatus.INIT,
tempFile: null,
file: null
});
@@ -213,6 +231,43 @@ describe('DotBinaryFieldComponent', () => {
expect(dropZone).toBeTruthy();
expect(spyRemoveFile).toHaveBeenCalled();
});
+
+ describe('Edit Image', () => {
+ it('should open edit image dialog when click on edit image button', () => {
+ const spy = jest.spyOn(dotBinaryFieldEditImageService, 'openImageEditor');
+ const dotBinaryFieldPreviewComponent = spectator.fixture.debugElement.query(
+ By.css('dot-binary-field-preview')
+ );
+ dotBinaryFieldPreviewComponent.triggerEventHandler('editImage');
+ expect(spy).toHaveBeenCalled();
+ });
+
+ it('should emit the tempId of the edited image', () => {
+ // Needed because the openImageEditor method is using a DOM custom event
+ ngZone.run(
+ fakeAsync(() => {
+ const spy = jest.spyOn(dotBinaryFieldEditImageService, 'openImageEditor');
+ const spyTempFile = jest.spyOn(store, 'setTempFile');
+ const dotBinaryFieldPreviewComponent = spectator.fixture.debugElement.query(
+ By.css('dot-binary-field-preview')
+ );
+ dotBinaryFieldPreviewComponent.triggerEventHandler('editImage');
+ const customEvent = new CustomEvent(
+ `binaryField-tempfile-${FIELD.variable}`,
+ {
+ detail: { tempFile: TEMP_FILE_MOCK }
+ }
+ );
+ document.dispatchEvent(customEvent);
+
+ tick(1000);
+
+ expect(spy).toHaveBeenCalled();
+ expect(spyTempFile).toHaveBeenCalledWith(TEMP_FILE_MOCK);
+ })
+ );
+ });
+ });
});
describe('Template', () => {
@@ -221,21 +276,21 @@ describe('DotBinaryFieldComponent', () => {
});
it('should show dropzone when status is INIT', async () => {
- store.setStatus(BINARY_FIELD_STATUS.INIT);
+ store.setStatus(BinaryFieldStatus.INIT);
spectator.detectChanges();
await spectator.fixture.whenStable();
expect(spectator.query(byTestId('dropzone'))).toBeTruthy();
});
it('should show loading when status is UPLOADING', async () => {
- store.setStatus(BINARY_FIELD_STATUS.UPLOADING);
+ store.setStatus(BinaryFieldStatus.UPLOADING);
spectator.detectChanges();
await spectator.fixture.whenStable();
expect(spectator.query(byTestId('loading'))).toBeTruthy();
});
it('should show preview when status is PREVIEW', async () => {
- store.setStatus(BINARY_FIELD_STATUS.PREVIEW);
+ store.setStatus(BinaryFieldStatus.PREVIEW);
store.setTempFile(TEMP_FILE_MOCK);
spectator.detectChanges();
@@ -245,12 +300,17 @@ describe('DotBinaryFieldComponent', () => {
});
it('should show helper text', () => {
- expect(spectator.query(byTestId('helper-text')).innerHTML).toBe('helper text');
+ expect(spectator.query(byTestId('helper-text')).innerHTML).toBe(
+ 'Helper label to be displayed below the field'
+ );
});
});
describe('Dialog', () => {
- beforeEach(() => {
+ beforeEach(async () => {
+ jest.spyOn(store, 'setFileAndContent').mockReturnValue(of(null).subscribe());
+ spectator.detectChanges();
+ await spectator.fixture.whenStable();
spectator.detectChanges();
});
@@ -267,7 +327,7 @@ describe('DotBinaryFieldComponent', () => {
expect(editorElement).toBeTruthy();
expect(isDialogOpen).toBeTruthy();
- expect(spySetMode).toHaveBeenCalledWith(BINARY_FIELD_MODE.EDITOR);
+ expect(spySetMode).toHaveBeenCalledWith(BinaryFieldMode.EDITOR);
});
it('should open dialog with url componet component when click on url button', async () => {
@@ -283,7 +343,7 @@ describe('DotBinaryFieldComponent', () => {
expect(urlElement).toBeTruthy();
expect(isDialogOpen).toBeTruthy();
- expect(spySetMode).toHaveBeenCalledWith(BINARY_FIELD_MODE.URL);
+ expect(spySetMode).toHaveBeenCalledWith(BinaryFieldMode.URL);
});
});
diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.stories.ts b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.stories.ts
index d10f1e67ef1d..ad356d535a14 100644
--- a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.stories.ts
+++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.stories.ts
@@ -1,5 +1,6 @@
import { MonacoEditorModule } from '@materia-ui/ngx-monaco-editor';
import { moduleMetadata, Story, Meta } from '@storybook/angular';
+import { of } from 'rxjs';
import { CommonModule } from '@angular/common';
import { HttpClientModule } from '@angular/common/http';
@@ -9,8 +10,12 @@ import { ButtonModule } from 'primeng/button';
import { DialogModule } from 'primeng/dialog';
import { InputTextModule } from 'primeng/inputtext';
-import { DotMessageService, DotUploadService } from '@dotcms/data-access';
+import { delay } from 'rxjs/operators';
+
+import { DotLicenseService, DotMessageService, DotUploadService } from '@dotcms/data-access';
+import { CoreWebService, CoreWebServiceMock } from '@dotcms/dotcms-js';
import {
+ DotContentThumbnailComponent,
DotDropZoneComponent,
DotFieldValidationMessageComponent,
DotMessagePipe,
@@ -18,11 +23,17 @@ import {
} from '@dotcms/ui';
import { DotBinaryFieldComponent } from './binary-field.component';
+import { DotBinaryFieldPreviewComponent } from './components/dot-binary-field-preview/dot-binary-field-preview.component';
import { DotBinaryFieldUiMessageComponent } from './components/dot-binary-field-ui-message/dot-binary-field-ui-message.component';
import { DotBinaryFieldUrlModeComponent } from './components/dot-binary-field-url-mode/dot-binary-field-url-mode.component';
import { DotBinaryFieldStore } from './store/binary-field.store';
-import { CONTENTTYPE_FIELDS_MESSAGE_MOCK } from '../../utils/mock';
+import {
+ CONTENTLET,
+ CONTENTTYPE_FIELDS_MESSAGE_MOCK,
+ FIELD,
+ TEMP_FILES_MOCK
+} from '../../utils/mock';
export default {
title: 'Library / Contenttype Fields / DotBinaryFieldComponent',
@@ -42,27 +53,29 @@ export default {
DotSpinnerModule,
InputTextModule,
DotBinaryFieldUrlModeComponent,
- DotFieldValidationMessageComponent
+ DotBinaryFieldPreviewComponent,
+ DotFieldValidationMessageComponent,
+ DotContentThumbnailComponent
],
providers: [
+ { provide: CoreWebService, useClass: CoreWebServiceMock },
DotBinaryFieldStore,
+ {
+ provide: DotLicenseService,
+ useValue: {
+ isEnterprise: () => of(true).pipe(delay(1000))
+ }
+ },
{
provide: DotUploadService,
useValue: {
uploadFile: () => {
return new Promise((resolve, _reject) => {
setTimeout(() => {
- resolve({
- fileName: 'Image.jpg',
- folder: 'folder',
- id: 'tempFileId',
- image: true,
- length: 10000,
- mimeType: 'mimeType',
- referenceUrl: 'referenceUrl',
- thumbnailUrl: 'thumbnailUrl'
- });
- }, 4000);
+ const index = Math.floor(Math.random() * 3);
+ const TEMP_FILE = TEMP_FILES_MOCK[index];
+ resolve(TEMP_FILE); // TEMP_FILES_MOCK is imported from utils/mock.ts
+ }, 2000);
});
}
}
@@ -75,25 +88,19 @@ export default {
})
],
args: {
- accept: ['image/*', '.ts'],
- maxFileSize: 1000000,
- helperText: 'This field accepts only images with a maximum size of 1MB.'
+ contentlet: CONTENTLET,
+ field: FIELD
},
argTypes: {
- accept: {
- defaultValue: ['image/*'],
+ contentlet: {
+ defaultValue: CONTENTLET,
control: 'object',
- description: 'Accepted file types'
- },
- maxFileSize: {
- defaultValue: 1000000,
- control: 'number',
- description: 'Maximum file size in bytes'
+ description: 'Contentlet Object'
},
- helperText: {
- defaultValue: 'This field accepts only images with a maximum size of 1MB.',
- control: 'text',
- description: 'Helper label to be displayed below the field'
+ field: {
+ defaultValue: FIELD,
+ control: 'Object',
+ description: 'Content Type Field Object'
}
}
} as Meta;
@@ -101,9 +108,8 @@ export default {
const Template: Story = (args: DotBinaryFieldComponent) => ({
props: args,
template: ``
});
diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.ts b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.ts
index 54c824ae9d6b..09cedb7212f3 100644
--- a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.ts
+++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/binary-field.component.ts
@@ -3,11 +3,14 @@ import { MonacoEditorModule } from '@materia-ui/ngx-monaco-editor';
import { CommonModule } from '@angular/common';
import { HttpClientModule } from '@angular/common/http';
import {
+ AfterViewInit,
ChangeDetectionStrategy,
+ ChangeDetectorRef,
Component,
ElementRef,
EventEmitter,
Input,
+ OnDestroy,
OnInit,
Output,
ViewChild
@@ -17,38 +20,28 @@ import { ButtonModule } from 'primeng/button';
import { DialogModule } from 'primeng/dialog';
import { InputTextModule } from 'primeng/inputtext';
-import { skip } from 'rxjs/operators';
+import { delay, filter, skip, tap } from 'rxjs/operators';
-import { DotMessageService } from '@dotcms/data-access';
-import { DotCMSTempFile } from '@dotcms/dotcms-models';
+import { DotLicenseService, DotMessageService } from '@dotcms/data-access';
+import { DotCMSContentTypeField, DotCMSContentlet, DotCMSTempFile } from '@dotcms/dotcms-models';
import {
DotDropZoneComponent,
DotMessagePipe,
DotSpinnerModule,
+ DropZoneErrorType,
DropZoneFileEvent,
DropZoneFileValidity
} from '@dotcms/ui';
import { DotBinaryFieldEditorComponent } from './components/dot-binary-field-editor/dot-binary-field-editor.component';
+import { DotBinaryFieldPreviewComponent } from './components/dot-binary-field-preview/dot-binary-field-preview.component';
import { DotBinaryFieldUiMessageComponent } from './components/dot-binary-field-ui-message/dot-binary-field-ui-message.component';
import { DotBinaryFieldUrlModeComponent } from './components/dot-binary-field-url-mode/dot-binary-field-url-mode.component';
-import {
- BINARY_FIELD_MODE,
- BINARY_FIELD_STATUS,
- BinaryFieldState,
- DotBinaryFieldStore
-} from './store/binary-field.store';
-
-import { UI_MESSAGE_KEYS, UiMessageI, getUiMessage } from '../../utils/binary-field-utils';
-
-const initialState: BinaryFieldState = {
- file: null,
- tempFile: null,
- mode: BINARY_FIELD_MODE.DROPZONE,
- status: BINARY_FIELD_STATUS.INIT,
- dropZoneActive: false,
- UiMessage: getUiMessage(UI_MESSAGE_KEYS.DEFAULT)
-};
+import { BinaryFieldMode, BinaryFieldStatus } from './interfaces';
+import { DotBinaryFieldEditImageService } from './service/dot-binary-field-edit-image/dot-binary-field-edit-image.service';
+import { DotBinaryFieldStore } from './store/binary-field.store';
+
+import { getUiMessage } from '../../utils/binary-field-utils';
@Component({
selector: 'dot-binary-field',
@@ -65,95 +58,87 @@ const initialState: BinaryFieldState = {
HttpClientModule,
DotBinaryFieldEditorComponent,
InputTextModule,
- DotBinaryFieldUrlModeComponent
+ DotBinaryFieldUrlModeComponent,
+ DotBinaryFieldPreviewComponent
],
- providers: [DotBinaryFieldStore],
+ providers: [DotBinaryFieldStore, DotLicenseService, DotBinaryFieldEditImageService],
templateUrl: './binary-field.component.html',
styleUrls: ['./binary-field.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush
})
-export class DotBinaryFieldComponent implements OnInit {
- //Inputs
- @Input() accept: string[] = [];
- @Input() maxFileSize: number;
- @Input() helperText: string;
-
- @ViewChild('inputFile') inputFile: ElementRef;
-
+export class DotBinaryFieldComponent implements OnInit, AfterViewInit, OnDestroy {
+ @Input() field: DotCMSContentTypeField;
+ @Input() contentlet: DotCMSContentlet;
@Output() tempFile = new EventEmitter();
-
- @Input() contentlet;
+ @ViewChild('inputFile') inputFile: ElementRef;
readonly dialogHeaderMap = {
- [BINARY_FIELD_MODE.URL]: 'dot.binary.field.dialog.import.from.url.header',
- [BINARY_FIELD_MODE.EDITOR]: 'dot.binary.field.dialog.create.new.file.header'
+ [BinaryFieldMode.URL]: 'dot.binary.field.dialog.import.from.url.header',
+ [BinaryFieldMode.EDITOR]: 'dot.binary.field.dialog.create.new.file.header'
};
- readonly BINARY_FIELD_STATUS = BINARY_FIELD_STATUS;
- readonly BINARY_FIELD_MODE = BINARY_FIELD_MODE;
+ readonly BinaryFieldStatus = BinaryFieldStatus;
+ readonly BinaryFieldMode = BinaryFieldMode;
readonly vm$ = this.dotBinaryFieldStore.vm$;
+ private tempId = '';
dialogOpen = false;
+ accept: string[] = [];
+ maxFileSize: number;
+ helperText: string;
constructor(
private readonly dotBinaryFieldStore: DotBinaryFieldStore,
- private readonly dotMessageService: DotMessageService
+ private readonly dotMessageService: DotMessageService,
+ private readonly dotBinaryFieldEditImageService: DotBinaryFieldEditImageService,
+ private readonly cd: ChangeDetectorRef
) {
- // WIP - This will receive the contentlet from the parent component (PREVIEW MODE)
- this.dotBinaryFieldStore.setState(initialState);
this.dotMessageService.init();
}
ngOnInit() {
- this.dotBinaryFieldStore.tempFile$
- .pipe(skip(1)) // Skip initial state
- .subscribe((tempFile) => {
- this.tempFile.emit(tempFile);
- });
+ this.dotBinaryFieldStore.tempFile$.pipe(skip(1)).subscribe((tempFile) => {
+ this.tempId = tempFile?.id;
+ this.tempFile.emit(tempFile);
+ });
- this.dotBinaryFieldStore.setMaxFileSize(this.maxFileSize);
- }
+ this.dotBinaryFieldEditImageService
+ .editedImage()
+ .pipe(
+ filter((tempFile) => !!tempFile),
+ tap(() => this.dotBinaryFieldStore.setStatus(BinaryFieldStatus.UPLOADING)),
+ delay(500) // Loading animation
+ )
+ .subscribe((tempFile) => this.setTempFile(tempFile));
- /**
- * Set drop zone active state
- *
- * @param {boolean} value
- * @memberof DotBinaryFieldComponent
- */
- setDropZoneActiveState(value: boolean) {
- this.dotBinaryFieldStore.setDropZoneActive(value);
+ this.dotBinaryFieldStore.setMaxFileSize(this.maxFileSize);
}
- /**
- * Handle file dropped
- *
- * @param {DropZoneFileEvent} { validity }
- * @return {*}
- * @memberof BinaryFieldComponent
- */
- handleFileDrop({ validity, file }: DropZoneFileEvent) {
- if (!validity.valid) {
- const uiMessage = this.handleFileDropError(validity);
- this.dotBinaryFieldStore.invalidFile(uiMessage);
-
- return;
+ ngAfterViewInit() {
+ this.setFieldVariables();
+ if (this.contentlet) {
+ this.setPreviewFile();
}
- this.dotBinaryFieldStore.handleUploadFile(file);
+ this.cd.detectChanges();
+ }
+
+ ngOnDestroy() {
+ this.dotBinaryFieldEditImageService.removeListener();
}
/**
- * Open dialog
+ * Open dialog to create new file or import from url
*
- * @param {BINARY_FIELD_MODE} mode
+ * @param {BinaryFieldMode} mode
* @memberof DotBinaryFieldComponent
*/
- openDialog(mode: BINARY_FIELD_MODE) {
+ openDialog(mode: BinaryFieldMode) {
this.dialogOpen = true;
this.dotBinaryFieldStore.setMode(mode);
}
/**
- * Close Dialog
+ * Close dialog
*
* @memberof DotBinaryFieldComponent
*/
@@ -162,16 +147,7 @@ export class DotBinaryFieldComponent implements OnInit {
}
/**
- * Listen to dialog close event
- *
- * @memberof DotBinaryFieldComponent
- */
- afterDialogClose() {
- this.dotBinaryFieldStore.setMode(null);
- }
-
- /**
- * Open file picker dialog
+ * Open file picker
*
* @memberof DotBinaryFieldComponent
*/
@@ -200,36 +176,132 @@ export class DotBinaryFieldComponent implements OnInit {
this.dotBinaryFieldStore.removeFile();
}
+ /**
+ * Set temp file
+ *
+ * @param {DotCMSTempFile} tempFile
+ * @memberof DotBinaryFieldComponent
+ */
setTempFile(tempFile: DotCMSTempFile) {
this.dotBinaryFieldStore.setTempFile(tempFile);
- this.dialogOpen = false;
+ this.closeDialog();
}
- isEditorMode(mode: BINARY_FIELD_MODE): boolean {
- return mode === BINARY_FIELD_MODE.EDITOR;
+ /**
+ * Open Dialog to edit file in editor
+ *
+ * @memberof DotBinaryFieldComponent
+ */
+ onEditFile() {
+ this.openDialog(BinaryFieldMode.EDITOR);
}
/**
- * Handle file drop error
+ * Open Image Editor
*
- * @private
- * @param {DropZoneFileValidity} { fileTypeMismatch, maxFileSizeExceeded }
- * @memberof DotBinaryFieldStore
+ * @memberof DotBinaryFieldComponent
+ */
+ onEditImage() {
+ this.dotBinaryFieldEditImageService.openImageEditor({
+ inode: this.contentlet?.inode,
+ tempId: this.tempId,
+ variable: this.field.variable
+ });
+ }
+
+ /**
+ * Set drop zone active state
+ *
+ * @param {boolean} value
+ * @memberof DotBinaryFieldComponent
+ */
+ setDropZoneActiveState(value: boolean) {
+ this.dotBinaryFieldStore.setDropZoneActive(value);
+ }
+
+ /**
+ * Handle file drop
+ *
+ * @param {DropZoneFileEvent} { validity, file }
+ * @return {*}
+ * @memberof DotBinaryFieldComponent
*/
- private handleFileDropError({
- fileTypeMismatch,
- maxFileSizeExceeded
- }: DropZoneFileValidity): UiMessageI {
- const acceptedTypes = this.accept.join(', ');
- const maxSize = `${this.maxFileSize} bytes`;
- let uiMessage: UiMessageI;
-
- if (fileTypeMismatch) {
- uiMessage = getUiMessage(UI_MESSAGE_KEYS.FILE_TYPE_MISMATCH, acceptedTypes);
- } else if (maxFileSizeExceeded) {
- uiMessage = getUiMessage(UI_MESSAGE_KEYS.MAX_FILE_SIZE_EXCEEDED, maxSize);
+ handleFileDrop({ validity, file }: DropZoneFileEvent) {
+ if (!validity.valid) {
+ this.handleFileDropError(validity);
+
+ return;
}
- return uiMessage;
+ this.dotBinaryFieldStore.handleUploadFile(file);
+ }
+
+ /**
+ * Set preview file
+ *
+ * @private
+ * @memberof DotBinaryFieldComponent
+ */
+ private setPreviewFile() {
+ const variable = this.field.variable;
+ const metaDataKey = variable + 'MetaData';
+ const { titleImage, inode, [metaDataKey]: metadata } = this.contentlet;
+ const { contentType: mimeType } = metadata;
+
+ this.dotBinaryFieldStore.setFileAndContent({
+ inode,
+ titleImage,
+ mimeType,
+ url: this.contentlet[variable],
+ ...metadata
+ });
+ }
+
+ /**
+ * Set field variables
+ *
+ * @private
+ * @memberof DotBinaryFieldComponent
+ */
+ private setFieldVariables() {
+ const { accept, maxFileSize = 0, helperText } = this.getFieldVariables();
+ this.accept = accept ? accept.split(',') : [];
+ this.maxFileSize = Number(maxFileSize);
+ this.helperText = helperText;
+ }
+
+ /**
+ * Get field variables
+ *
+ * @private
+ * @return {*} {Record}
+ * @memberof DotBinaryFieldComponent
+ */
+ private getFieldVariables(): Record {
+ return this.field.fieldVariables.reduce(
+ (prev, { key, value }) => ({
+ ...prev,
+ [key]: value
+ }),
+ {}
+ );
+ }
+
+ /**
+ * Handle file drop error
+ *
+ * @private
+ * @param {DropZoneFileValidity} { errorsType }
+ * @memberof DotBinaryFieldComponent
+ */
+ private handleFileDropError({ errorsType }: DropZoneFileValidity): void {
+ const messageArgs = {
+ [DropZoneErrorType.FILE_TYPE_MISMATCH]: this.accept.join(', '),
+ [DropZoneErrorType.MAX_FILE_SIZE_EXCEEDED]: `${this.maxFileSize} bytes`
+ };
+ const errorType = errorsType[0];
+ const uiMessage = getUiMessage(errorType, messageArgs[errorType]);
+
+ this.dotBinaryFieldStore.invalidFile(uiMessage);
}
}
diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-editor/dot-binary-field-editor.component.spec.ts b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-editor/dot-binary-field-editor.component.spec.ts
index 7d90c9b16f34..f17c62bf2f1b 100644
--- a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-editor/dot-binary-field-editor.component.spec.ts
+++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-editor/dot-binary-field-editor.component.spec.ts
@@ -98,10 +98,6 @@ describe('DotBinaryFieldEditorComponent', () => {
spectator.detectChanges();
});
- it('should create', () => {
- expect(component).toBeTruthy();
- });
-
describe('Editor', () => {
it('should set editor language', fakeAsync(() => {
component.form.setValue({
diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-editor/dot-binary-field-editor.component.ts b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-editor/dot-binary-field-editor.component.ts
index 63bd3d093f9d..56525d99c4a9 100644
--- a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-editor/dot-binary-field-editor.component.ts
+++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-editor/dot-binary-field-editor.component.ts
@@ -68,6 +68,8 @@ const EDITOR_CONFIG: MonacoEditorConstructionOptions = {
})
export class DotBinaryFieldEditorComponent implements OnInit, AfterViewInit {
@Input() accept: string[];
+ @Input() fileName = '';
+ @Input() fileContent = '';
@Output() readonly tempFileUploaded = new EventEmitter();
@Output() readonly cancel = new EventEmitter();
@@ -98,6 +100,7 @@ export class DotBinaryFieldEditorComponent implements OnInit, AfterViewInit {
}
ngOnInit(): void {
+ this.setFormValues();
this.name.valueChanges
.pipe(debounceTime(350))
.subscribe((name) => this.setEditorLanguage(name));
@@ -109,13 +112,14 @@ export class DotBinaryFieldEditorComponent implements OnInit, AfterViewInit {
ngAfterViewInit(): void {
this.editor = this.editorRef.editor;
+ if (this.fileName) {
+ this.setEditorLanguage(this.fileName);
+ }
}
onSubmit(): void {
- if (this.form.invalid) {
- if (!this.name.dirty) {
- this.markControlInvalid(this.name);
- }
+ if (this.name.invalid) {
+ this.markControlInvalid(this.name);
return;
}
@@ -126,6 +130,11 @@ export class DotBinaryFieldEditorComponent implements OnInit, AfterViewInit {
this.uploadFile(file);
}
+ private setFormValues(): void {
+ this.name.setValue(this.fileName);
+ this.content.setValue(this.fileContent);
+ }
+
private markControlInvalid(control: FormControl): void {
control.markAsDirty();
control.updateValueAndValidity();
@@ -137,7 +146,10 @@ export class DotBinaryFieldEditorComponent implements OnInit, AfterViewInit {
this.disableEditor();
obs$.subscribe((tempFile) => {
this.enableEditor();
- this.tempFileUploaded.emit(tempFile);
+ this.tempFileUploaded.emit({
+ ...tempFile,
+ content: this.content.value
+ });
});
}
diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-preview/dot-binary-field-preview.component.html b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-preview/dot-binary-field-preview.component.html
new file mode 100644
index 000000000000..fde4953d7ed5
--- /dev/null
+++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-preview/dot-binary-field-preview.component.html
@@ -0,0 +1,77 @@
+
+
+ {{ file.content }}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-preview/dot-binary-field-preview.component.scss b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-preview/dot-binary-field-preview.component.scss
new file mode 100644
index 000000000000..1b70bd071094
--- /dev/null
+++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-preview/dot-binary-field-preview.component.scss
@@ -0,0 +1,141 @@
+@use "variables" as *;
+
+:host {
+ display: block;
+ width: 100%;
+ height: 100%;
+}
+
+.preview-container {
+ display: flex;
+ gap: $spacing-1;
+ align-items: flex-start;
+ justify-content: center;
+ height: 100%;
+ width: 100%;
+ position: relative;
+ container-type: inline-size;
+ container-name: preview;
+
+ &:only-child {
+ gap: 0; // Remove gap if only one preview
+ }
+}
+
+.preview-code_container {
+ display: flex;
+ align-items: center;
+ justify-content: center;
+ height: 100%;
+ width: 100%;
+ user-select: none;
+}
+
+.preview-image__container {
+ height: 100%;
+ width: 100%;
+ display: flex;
+ justify-content: center;
+ align-items: center;
+ background: $color-palette-gray-200;
+}
+
+.preview-container--fade::after {
+ content: "";
+ background: linear-gradient(0deg, rgba(255, 255, 255, 1) 0%, rgba(255, 255, 255, 0) 100%);
+ position: absolute;
+ width: 100%;
+ height: 50%;
+ bottom: 0;
+ left: 0;
+ border-radius: $border-radius-md;
+}
+
+.preview-metadata__container,
+.preview-metadata__responsive {
+ flex-grow: 1;
+ padding: $spacing-1;
+ display: none;
+ justify-content: top;
+ flex-direction: column;
+ height: 100%;
+ min-width: 8rem;
+ overflow: hidden;
+ text-overflow: ellipsis;
+ white-space: nowrap;
+ gap: $spacing-2;
+
+ .preview-metadata_header {
+ font-size: $font-size-md;
+ font-weight: $font-weight-bold;
+ margin: 0;
+ color: $black;
+ }
+
+ span {
+ color: $color-palette-gray-700;
+ }
+}
+
+.preview-metadata__responsive {
+ display: flex;
+ padding: 0;
+ max-width: 20rem;
+}
+
+.preview-metadata {
+ display: flex;
+ justify-content: flex-start;
+ align-items: center;
+ gap: $spacing-1;
+}
+
+.preview-metadata__actions {
+ position: absolute;
+ bottom: $spacing-1;
+ right: $spacing-1;
+ display: none;
+ justify-content: flex-end;
+ align-items: center;
+ gap: $spacing-1;
+ width: 100%;
+ z-index: 100;
+}
+
+.preview-metadata__action--responsive {
+ position: absolute;
+ bottom: $spacing-1;
+ right: $spacing-1;
+ display: flex;
+ flex-direction: column;
+ gap: $spacing-1;
+}
+
+code {
+ background: $white;
+ color: $color-palette-primary-500;
+ height: 100%;
+ width: 100%;
+ white-space: pre-wrap;
+ overflow: hidden;
+}
+
+@container preview (min-width: 22rem) {
+ .preview-metadata__container,
+ .preview-metadata__actions {
+ display: flex;
+ }
+
+ .preview-metadata__action--responsive {
+ display: none;
+ }
+
+ .preview-image__container {
+ height: 100%;
+ max-width: 17.5rem;
+ }
+
+ .preview-overlay__container {
+ display: none;
+ }
+}
diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-preview/dot-binary-field-preview.component.spec.ts b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-preview/dot-binary-field-preview.component.spec.ts
new file mode 100644
index 000000000000..bfd7cccfc5e2
--- /dev/null
+++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-preview/dot-binary-field-preview.component.spec.ts
@@ -0,0 +1,137 @@
+import { Spectator, byTestId, createComponentFactory } from '@ngneat/spectator';
+
+import { HttpClientTestingModule } from '@angular/common/http/testing';
+
+import { DotBinaryFieldPreviewComponent } from './dot-binary-field-preview.component';
+
+import { BinaryFile } from '../../interfaces';
+
+const fileImage: BinaryFile = {
+ mimeType: 'image/png',
+ name: 'test.png',
+ fileSize: 1234,
+ content: 'data:image/png;base64,iVBORw0KGg...',
+ url: 'http://example.com/test.png',
+ inode: '123',
+ titleImage: 'Test Image',
+ width: '100',
+ height: '100'
+};
+
+const fileText: BinaryFile = {
+ mimeType: 'text/plain',
+ name: 'test.txt',
+ fileSize: 1234,
+ content: 'This is a text file',
+ url: 'http://example.com/test.txt',
+ inode: '123'
+};
+
+describe('DotBinaryFieldPreviewComponent', () => {
+ let spectator: Spectator;
+ const createComponent = createComponentFactory({
+ component: DotBinaryFieldPreviewComponent,
+ imports: [HttpClientTestingModule]
+ });
+
+ beforeEach(() => {
+ spectator = createComponent({
+ props: {
+ file: fileImage,
+ editableImage: true
+ }
+ });
+ });
+
+ it('should set isEditable to true for image files', () => {
+ expect(spectator.component.isEditable).toBe(true);
+ });
+
+ it('should emit removeFile event when remove button is clicked', () => {
+ const spy = jest.spyOn(spectator.component.removeFile, 'emit');
+ const removeButton = spectator.query(byTestId('remove-button'));
+ spectator.click(removeButton);
+ expect(spy).toHaveBeenCalled();
+ });
+
+ describe('onEdit', () => {
+ describe('when file is an image', () => {
+ it('should emit editImage event', () => {
+ const spy = jest.spyOn(spectator.component.editImage, 'emit');
+ const editButton = spectator.query(byTestId('edit-button'));
+ spectator.click(editButton);
+ expect(spy).toHaveBeenCalled();
+ });
+ });
+
+ describe('when file is a text file', () => {
+ beforeEach(() => {
+ spectator.setInput('file', fileText);
+ spectator.detectChanges();
+ });
+
+ it('should emit editFile event when edit button is clicked', () => {
+ const spy = jest.spyOn(spectator.component.editFile, 'emit');
+ const editButton = spectator.query(byTestId('edit-button'));
+ spectator.click(editButton);
+ expect(spy).toHaveBeenCalled();
+ });
+ });
+ });
+
+ describe('editableImage', () => {
+ describe('when is true', () => {
+ it('should set isEditable to true', () => {
+ const editButton = spectator.query(byTestId('edit-button'));
+ expect(editButton).toBeTruthy();
+ });
+ });
+
+ describe('when is false', () => {
+ beforeEach(async () => {
+ spectator.setInput('editableImage', false);
+ spectator.detectChanges();
+ await spectator.fixture.whenStable();
+ });
+
+ it('should set isEditable to false', () => {
+ const editButton = spectator.query(byTestId('edit-button'));
+ expect(editButton).not.toBeTruthy();
+ });
+ });
+ });
+
+ describe('responsive', () => {
+ it('should emit removeFile event when remove button is clicked', () => {
+ const spy = jest.spyOn(spectator.component.removeFile, 'emit');
+ const removeButton = spectator.query(byTestId('remove-button-responsive'));
+ spectator.click(removeButton);
+ expect(spy).toHaveBeenCalled();
+ });
+
+ describe('onEdit', () => {
+ describe('when file is an image', () => {
+ it('should emit editImage event', () => {
+ const spy = jest.spyOn(spectator.component.editImage, 'emit');
+ const editButton = spectator.query(byTestId('edit-button-responsive'));
+ spectator.click(editButton);
+ expect(spy).toHaveBeenCalled();
+ });
+ });
+
+ describe('when file is a text file', () => {
+ beforeEach(() => {
+ spectator.setInput('file', fileText);
+ spectator.detectChanges();
+ });
+
+ it('should emit editFile event when edit button is clicked', () => {
+ const spy = jest.spyOn(spectator.component.editFile, 'emit');
+ const editButton = spectator.query(byTestId('edit-button-responsive'));
+ spectator.click(editButton);
+ expect(spy).toHaveBeenCalled();
+ });
+ });
+ });
+ });
+});
diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-preview/dot-binary-field-preview.component.stories.ts b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-preview/dot-binary-field-preview.component.stories.ts
new file mode 100644
index 000000000000..d9c2144d16de
--- /dev/null
+++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-preview/dot-binary-field-preview.component.stories.ts
@@ -0,0 +1,152 @@
+import { action } from '@storybook/addon-actions';
+import { moduleMetadata, Story, Meta } from '@storybook/angular';
+
+import { CommonModule } from '@angular/common';
+import { HttpClientModule } from '@angular/common/http';
+import { BrowserAnimationsModule } from '@angular/platform-browser/animations';
+
+import { ButtonModule } from 'primeng/button';
+
+import { DotContentThumbnailComponent, DotSpinnerModule } from '@dotcms/ui';
+
+import { DotBinaryFieldPreviewComponent } from './dot-binary-field-preview.component';
+
+const previewImage = {
+ type: 'image',
+ resolution: {
+ width: '400',
+ height: '400'
+ },
+ fileSize: 8000,
+ content: '',
+ mimeType: 'image/png',
+ inode: '123456789',
+ titleImage: 'true',
+ name: 'image.jpg',
+ title: 'image.jpg',
+
+ contentType: 'image/png',
+ contentTypeIcon: 'image'
+};
+
+const previewVideo = {
+ type: 'image',
+ fileSize: 8000,
+ content: '',
+ mimeType: 'video/png',
+ inode: '123456789',
+ titlevideo: 'true',
+ name: 'video.jpg',
+ title: 'video.jpg',
+
+ contentType: 'video/png'
+};
+
+const previewFile = {
+ type: 'file',
+ fileSize: 8000,
+ mimeType: 'text/html',
+ inode: '123456789',
+ titlevideo: 'true',
+ name: 'template.html',
+ title: 'template.html',
+
+ contentType: 'text/html',
+ content: `
+
+
+
+
+ Document
+
+
+ I have styles
+
+ `
+};
+
+export default {
+ title: 'Library / Contenttype Fields / Component / DotBinaryFieldPreviewComponent',
+ component: DotBinaryFieldPreviewComponent,
+ decorators: [
+ moduleMetadata({
+ imports: [
+ BrowserAnimationsModule,
+ CommonModule,
+ ButtonModule,
+ DotContentThumbnailComponent,
+ DotSpinnerModule,
+ HttpClientModule
+ ],
+ providers: []
+ })
+ ],
+ parameters: {
+ actions: {
+ handles: ['editFile', 'removeFile']
+ }
+ },
+ args: {
+ file: previewImage,
+ variableName: 'binaryField'
+ },
+ argTypes: {
+ file: {
+ defaultValue: previewImage,
+ control: 'object',
+ description: 'Preview object'
+ },
+ variableName: {
+ defaultValue: 'binaryField',
+ control: 'text',
+ description: 'Field variable name'
+ }
+ }
+} as Meta;
+
+const Template: Story = (args: DotBinaryFieldPreviewComponent) => ({
+ props: {
+ ...args,
+ // https://storybook.js.org/docs/6.5/angular/essentials/actions#action-args
+ editFile: action('editFile'),
+ removeFile: action('removeFile')
+ },
+ styles: [
+ `
+ .container {
+ width: 100%;
+ max-width: 36rem;
+ height: 12.5rem;
+ border: 1px solid #f2f2f2;
+ border-radius: 4px;
+ padding: 0.5rem;
+ }
+ `
+ ],
+ template: `
+
+
+
+ `
+});
+
+export const Image = Template.bind({});
+
+export const Video = Template.bind({});
+
+Video.args = {
+ file: previewVideo,
+ variableName: 'binaryField'
+};
+
+export const file = Template.bind({});
+
+file.args = {
+ file: previewFile,
+ variableName: 'binaryField'
+};
diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-preview/dot-binary-field-preview.component.ts b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-preview/dot-binary-field-preview.component.ts
new file mode 100644
index 000000000000..a674702686f8
--- /dev/null
+++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-preview/dot-binary-field-preview.component.ts
@@ -0,0 +1,98 @@
+import { CommonModule } from '@angular/common';
+import {
+ ChangeDetectionStrategy,
+ Component,
+ EventEmitter,
+ Input,
+ OnChanges,
+ Output
+} from '@angular/core';
+
+import { ButtonModule } from 'primeng/button';
+import { OverlayPanelModule } from 'primeng/overlaypanel';
+
+import {
+ DotContentThumbnailComponent,
+ DotMessagePipe,
+ DotSpinnerModule,
+ DotThumbnailOptions
+} from '@dotcms/ui';
+
+import { BinaryFile } from '../../interfaces';
+
+export enum EDITABLE_FILE {
+ image = 'image',
+ text = 'text'
+}
+
+type EDITABLE_FILE_FUNCTION_MAP = {
+ [key in EDITABLE_FILE]: () => boolean;
+};
+
+@Component({
+ selector: 'dot-binary-field-preview',
+ standalone: true,
+ imports: [
+ CommonModule,
+ ButtonModule,
+ DotContentThumbnailComponent,
+ DotSpinnerModule,
+ OverlayPanelModule,
+ DotMessagePipe
+ ],
+ templateUrl: './dot-binary-field-preview.component.html',
+ styleUrls: ['./dot-binary-field-preview.component.scss'],
+ changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class DotBinaryFieldPreviewComponent implements OnChanges {
+ @Input() file: BinaryFile;
+ @Input() editableImage: boolean;
+
+ @Output() editImage: EventEmitter = new EventEmitter();
+ @Output() editFile: EventEmitter = new EventEmitter();
+ @Output() removeFile: EventEmitter = new EventEmitter();
+
+ private readonly EDITABLE_FILE_FUNCTION_MAP: EDITABLE_FILE_FUNCTION_MAP = {
+ [EDITABLE_FILE.image]: () => this.editableImage,
+ [EDITABLE_FILE.text]: () => !!this.file?.content
+ };
+ private contenttype: EDITABLE_FILE;
+ isEditable = true;
+
+ get dotThumbnailOptions(): DotThumbnailOptions {
+ return {
+ tempUrl: this.file.url,
+ inode: this.file.inode,
+ name: this.file.name,
+ contentType: this.file.mimeType,
+ iconSize: '48px',
+ titleImage: this.file.name
+ };
+ }
+
+ ngOnChanges(): void {
+ this.setIsEditable();
+ }
+
+ /**
+ * Emits event to remove the file
+ *
+ * @return {*} {void}
+ * @memberof DotBinaryFieldPreviewComponent
+ */
+ onEdit(): void {
+ if (this.contenttype === EDITABLE_FILE.image) {
+ this.editImage.emit();
+
+ return;
+ }
+
+ this.editFile.emit();
+ }
+
+ private setIsEditable() {
+ const type = this.file.mimeType?.split('/')[0];
+ this.contenttype = EDITABLE_FILE[type];
+ this.isEditable = this.EDITABLE_FILE_FUNCTION_MAP[this.contenttype]?.();
+ }
+}
diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-ui-message/dot-binary-field-ui-message.component.html b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-ui-message/dot-binary-field-ui-message.component.html
index 27c84d6d4aeb..48c5af144ae6 100644
--- a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-ui-message/dot-binary-field-ui-message.component.html
+++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-ui-message/dot-binary-field-ui-message.component.html
@@ -1,6 +1,10 @@
-
-
+
+
-
+
diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-ui-message/dot-binary-field-ui-message.component.spec.ts b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-ui-message/dot-binary-field-ui-message.component.spec.ts
index 82196d6c2b4d..dbe3dfbd57d0 100644
--- a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-ui-message/dot-binary-field-ui-message.component.spec.ts
+++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-ui-message/dot-binary-field-ui-message.component.spec.ts
@@ -1,6 +1,9 @@
import { SpectatorHost, byTestId, createHostFactory } from '@ngneat/spectator';
import { CommonModule } from '@angular/common';
+import { HttpClientTestingModule } from '@angular/common/http/testing';
+
+import { DotMessagePipe } from '@dotcms/ui';
import { DotBinaryFieldUiMessageComponent } from './dot-binary-field-ui-message.component';
@@ -9,20 +12,22 @@ describe('DotBinaryFieldUiMessageComponent', () => {
const createHost = createHostFactory({
component: DotBinaryFieldUiMessageComponent,
- imports: [CommonModule],
+ imports: [CommonModule, DotMessagePipe, HttpClientTestingModule],
providers: []
});
beforeEach(async () => {
spectator = createHost(
- `
+ `
`,
{
hostProps: {
- message: 'Drag and Drop File',
- icon: 'pi pi-upload',
- severity: 'info'
+ uiMessage: {
+ message: 'Drag and Drop File',
+ icon: 'pi pi-upload',
+ severity: 'info'
+ }
}
}
);
diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-ui-message/dot-binary-field-ui-message.component.ts b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-ui-message/dot-binary-field-ui-message.component.ts
index 69cdf4796221..21279aaf5f76 100644
--- a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-ui-message/dot-binary-field-ui-message.component.ts
+++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-ui-message/dot-binary-field-ui-message.component.ts
@@ -1,16 +1,18 @@
import { CommonModule } from '@angular/common';
import { ChangeDetectionStrategy, Component, Input } from '@angular/core';
+import { DotMessagePipe } from '@dotcms/ui';
+
+import { UiMessageI } from '../../interfaces';
+
@Component({
selector: 'dot-binary-field-ui-message',
standalone: true,
- imports: [CommonModule],
+ imports: [CommonModule, DotMessagePipe],
templateUrl: './dot-binary-field-ui-message.component.html',
styleUrls: ['./dot-binary-field-ui-message.component.scss'],
changeDetection: ChangeDetectionStrategy.OnPush
})
export class DotBinaryFieldUiMessageComponent {
- @Input() message: string;
- @Input() icon: string;
- @Input() severity: string;
+ @Input() uiMessage: UiMessageI;
}
diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-url-mode/dot-binary-field-url-mode.component.html b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-url-mode/dot-binary-field-url-mode.component.html
index a8d27c1f86b6..b216760bf030 100644
--- a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-url-mode/dot-binary-field-url-mode.component.html
+++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-url-mode/dot-binary-field-url-mode.component.html
@@ -8,7 +8,7 @@
diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-url-mode/dot-binary-field-url-mode.component.ts b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-url-mode/dot-binary-field-url-mode.component.ts
index b6a58941b5cf..eaf609b45bdc 100644
--- a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-url-mode/dot-binary-field-url-mode.component.ts
+++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/components/dot-binary-field-url-mode/dot-binary-field-url-mode.component.ts
@@ -8,7 +8,8 @@ import {
Input,
OnDestroy,
OnInit,
- Output
+ Output,
+ inject
} from '@angular/core';
import {
FormGroup,
@@ -21,7 +22,7 @@ import {
import { ButtonModule } from 'primeng/button';
import { InputTextModule } from 'primeng/inputtext';
-import { takeUntil, tap } from 'rxjs/operators';
+import { filter, takeUntil, tap } from 'rxjs/operators';
import { DotCMSTempFile } from '@dotcms/dotcms-models';
import { DotFieldValidationMessageComponent, DotMessagePipe } from '@dotcms/ui';
@@ -52,29 +53,34 @@ export class DotBinaryFieldUrlModeComponent implements OnInit, OnDestroy {
@Output() tempFileUploaded: EventEmitter = new EventEmitter();
@Output() cancel: EventEmitter = new EventEmitter();
- private readonly destroy$ = new Subject();
+ private readonly store = inject(DotBinaryFieldUrlModeStore);
+
+ // Form
private readonly validators = [
Validators.required,
Validators.pattern(/^(ftp|http|https):\/\/[^ "]+$/)
];
-
- readonly invalidError = 'dot.binary.field.action.import.from.url.error.message';
- readonly vm$ = this.store.vm$.pipe(tap(({ isLoading }) => this.toggleForm(isLoading)));
- readonly tempFileChanged$ = this.store.tempFile$;
readonly form = new FormGroup({
url: new FormControl('', this.validators)
});
- private abortController: AbortController;
+ // Observables
+ readonly vm$ = this.store.vm$.pipe(tap(({ isLoading }) => this.toggleForm(isLoading)));
+ readonly tempFileChanged$ = this.store.tempFile$;
- constructor(private readonly store: DotBinaryFieldUrlModeStore) {
- this.tempFileChanged$.pipe(takeUntil(this.destroy$)).subscribe((tempFile) => {
- this.tempFileUploaded.emit(tempFile);
- });
- }
+ private readonly destroy$ = new Subject();
+ private abortController: AbortController;
ngOnInit(): void {
this.store.setMaxFileSize(this.maxFileSize);
+ this.tempFileChanged$
+ .pipe(
+ takeUntil(this.destroy$),
+ filter((tempFile) => tempFile !== null)
+ )
+ .subscribe((tempFile) => {
+ this.tempFileUploaded.emit(tempFile);
+ });
}
ngOnDestroy(): void {
@@ -83,29 +89,41 @@ export class DotBinaryFieldUrlModeComponent implements OnInit, OnDestroy {
this.abortController?.abort(); // Abort fetch request if component is destroyed
}
+ /**
+ * Submit form
+ *
+ * @return {*} {void}
+ * @memberof DotBinaryFieldUrlModeComponent
+ */
onSubmit(): void {
- const control = this.form.get('url');
-
if (this.form.invalid) {
return;
}
- const url = control.value;
+ const url = this.form.get('url').value;
this.abortController = new AbortController();
this.store.uploadFileByUrl({ url, signal: this.abortController.signal });
this.form.reset({ url }); // Reset form to initial state
}
+ /**
+ * Cancel upload
+ *
+ * @memberof DotBinaryFieldUrlModeComponent
+ */
cancelUpload(): void {
this.abortController?.abort();
this.cancel.emit();
}
- resetError(isError: boolean): void {
- if (isError) {
- this.store.setError('');
- }
+ /**
+ * Handle focus event and clear server error message
+ *
+ * @memberof DotBinaryFieldUrlModeComponent
+ */
+ handleFocus(): void {
+ this.store.setError(''); // Clear server error message when user focus on input
}
private toggleForm(isLoading: boolean): void {
diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/interfaces/index.ts b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/interfaces/index.ts
new file mode 100644
index 000000000000..93a8040db865
--- /dev/null
+++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/interfaces/index.ts
@@ -0,0 +1,43 @@
+import { DropZoneErrorType } from '@dotcms/ui';
+
+export enum BinaryFieldMode {
+ DROPZONE = 'DROPZONE',
+ URL = 'URL',
+ EDITOR = 'EDITOR'
+}
+
+export enum BinaryFieldStatus {
+ INIT = 'INIT',
+ UPLOADING = 'UPLOADING',
+ PREVIEW = 'PREVIEW'
+}
+
+export interface BinaryFile {
+ mimeType: string;
+ name: string;
+ fileSize: number;
+ url?: string;
+ inode?: string;
+ content?: string;
+ width?: string;
+ height?: string;
+ titleImage?: string;
+}
+
+export enum UI_MESSAGE_KEYS {
+ DEFAULT = 'DEFAULT',
+ SERVER_ERROR = 'SERVER_ERROR'
+}
+
+type BINARY_FIELD_MESSAGE_KEY = UI_MESSAGE_KEYS | DropZoneErrorType;
+
+export type UiMessageMap = {
+ [key in BINARY_FIELD_MESSAGE_KEY]: UiMessageI;
+};
+
+export interface UiMessageI {
+ message: string;
+ severity: string;
+ icon: string;
+ args?: string[];
+}
diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/service/dot-binary-field-edit-image/dot-binary-field-edit-image.service.spec.ts b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/service/dot-binary-field-edit-image/dot-binary-field-edit-image.service.spec.ts
new file mode 100644
index 000000000000..b434def8b22e
--- /dev/null
+++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/service/dot-binary-field-edit-image/dot-binary-field-edit-image.service.spec.ts
@@ -0,0 +1,121 @@
+import { expect } from '@jest/globals';
+import { SpectatorService, createServiceFactory } from '@ngneat/spectator';
+
+import { skip } from 'rxjs/operators';
+
+import { DotBinaryFieldEditImageService } from './dot-binary-field-edit-image.service';
+
+describe('DotBinaryFieldEditImageService', () => {
+ let spectator: SpectatorService;
+
+ const createService = createServiceFactory({
+ service: DotBinaryFieldEditImageService
+ });
+
+ let spyDispatchEvent: jest.SpyInstance;
+ let spyAddEventListener: jest.SpyInstance;
+ let spyRemoveEventListener: jest.SpyInstance;
+
+ beforeEach(() => {
+ spyDispatchEvent = jest.spyOn(document, 'dispatchEvent');
+ spyAddEventListener = jest.spyOn(document, 'addEventListener');
+ spyRemoveEventListener = jest.spyOn(document, 'removeEventListener');
+ spectator = createService();
+ });
+
+ it('should listen to edited image', () => {
+ const detail = {
+ variable: 'test',
+ inode: '456',
+ tempId: '789'
+ };
+
+ const tempEventName = `binaryField-tempfile-${detail.variable}`;
+ const openEditorEventName = `binaryField-open-image-editor-${detail.variable}`;
+ const openImageCustomEvent = new CustomEvent(openEditorEventName, { detail });
+
+ spectator.service.openImageEditor(detail);
+ expect(spyDispatchEvent).toHaveBeenCalledWith(openImageCustomEvent);
+ expect(spyAddEventListener).toHaveBeenCalledWith(tempEventName, expect.any(Function));
+ });
+ it('should listen to edited image 2', () => {
+ const detail = {
+ variable: 'test',
+ inode: '456',
+ tempId: '789'
+ };
+
+ const tempEventName = `binaryField-tempfile-${detail.variable}`;
+ const openEditorEventName = `binaryField-open-image-editor-${detail.variable}`;
+ const openImageCustomEvent = new CustomEvent(openEditorEventName, { detail });
+
+ spectator.service.openImageEditor(detail);
+ expect(spyDispatchEvent).toHaveBeenCalledWith(openImageCustomEvent);
+ expect(spyAddEventListener).toHaveBeenCalledWith(tempEventName, expect.any(Function));
+ });
+
+ it('should listen to edited image 3', () => {
+ const detail = {
+ variable: 'test',
+ inode: '456',
+ tempId: '789'
+ };
+
+ const tempEventName = `binaryField-tempfile-${detail.variable}`;
+ const openEditorEventName = `binaryField-open-image-editor-${detail.variable}`;
+ const openImageCustomEvent = new CustomEvent(openEditorEventName, { detail });
+
+ spectator.service.openImageEditor(detail);
+ expect(spyDispatchEvent).toHaveBeenCalledWith(openImageCustomEvent);
+ expect(spyAddEventListener).toHaveBeenCalledWith(tempEventName, expect.any(Function));
+ });
+
+ it('should emit edited image and remove listener', (done) => {
+ const tempFile = { id: '123', url: 'http://example.com/image.jpg' };
+ const data = {
+ variable: 'test',
+ inode: '456',
+ tempId: '789'
+ };
+
+ spectator.service
+ .editedImage()
+ .pipe(skip(1))
+ .subscribe((file) => {
+ expect(file).toEqual(tempFile);
+ done();
+ });
+
+ const tempEventName = `binaryField-tempfile-${data.variable}`;
+ const closeEventName = `binaryField-close-image-editor-${data.variable}`;
+
+ spectator.service.openImageEditor(data);
+ document.dispatchEvent(new CustomEvent(tempEventName, { detail: { tempFile } }));
+
+ expect(spyRemoveEventListener.mock.calls[0]).toEqual([tempEventName, expect.any(Function)]);
+ expect(spyRemoveEventListener.mock.calls[1]).toEqual([
+ closeEventName,
+ expect.any(Function)
+ ]);
+ });
+
+ it('should listen to close image editor and remove listeners', () => {
+ const data = {
+ variable: 'test',
+ inode: '456',
+ tempId: '789'
+ };
+
+ const tempEventName = `binaryField-tempfile-${data.variable}`;
+ const closeEventName = `binaryField-close-image-editor-${data.variable}`;
+
+ spectator.service.openImageEditor(data);
+
+ document.dispatchEvent(new CustomEvent(closeEventName, {}));
+ expect(spyRemoveEventListener.mock.calls[0]).toEqual([tempEventName, expect.any(Function)]);
+ expect(spyRemoveEventListener.mock.calls[1]).toEqual([
+ closeEventName,
+ expect.any(Function)
+ ]);
+ });
+});
diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/service/dot-binary-field-edit-image/dot-binary-field-edit-image.service.ts b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/service/dot-binary-field-edit-image/dot-binary-field-edit-image.service.ts
new file mode 100644
index 000000000000..e590d1ad3d1a
--- /dev/null
+++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/service/dot-binary-field-edit-image/dot-binary-field-edit-image.service.ts
@@ -0,0 +1,94 @@
+import { BehaviorSubject, Observable } from 'rxjs';
+
+import { Injectable } from '@angular/core';
+
+import { DotCMSTempFile } from '@dotcms/dotcms-models';
+
+interface ImageEditorProps {
+ inode: string;
+ tempId: string;
+ variable: string;
+}
+
+@Injectable()
+export class DotBinaryFieldEditImageService {
+ private subject: BehaviorSubject = new BehaviorSubject(null);
+ private variable: string;
+
+ editedImage(): Observable {
+ return this.subject.asObservable();
+ }
+
+ /**
+ * Open the dojo image editor modal and listen to the edited image
+ *
+ * @param {ImageEditorProps} { inode, tempId, variable }
+ * @memberof DotBinaryFieldEditImageService
+ */
+ openImageEditor({ inode, tempId, variable }: ImageEditorProps): void {
+ this.variable = variable;
+ const customEvent = new CustomEvent(`binaryField-open-image-editor-${variable}`, {
+ detail: {
+ inode,
+ tempId,
+ variable
+ }
+ });
+ document.dispatchEvent(customEvent);
+ this.listenToEditedImage();
+ this.listenToCloseImageEditor();
+ }
+
+ /**
+ * Listen to the edited image
+ *
+ * @memberof DotBinaryFieldEditImageService
+ */
+ listenToEditedImage(): void {
+ document.addEventListener(
+ `binaryField-tempfile-${this.variable}`,
+ this.handleNewImage.bind(this)
+ );
+ }
+
+ /**
+ * Listen to the close image editor event
+ *
+ * @memberof DotBinaryFieldEditImageService
+ */
+ listenToCloseImageEditor(): void {
+ document.addEventListener(
+ `binaryField-close-image-editor-${this.variable}`,
+ this.removeListener.bind(this)
+ );
+ }
+
+ /**
+ * Remove the listener to the edited image
+ *
+ * @memberof DotBinaryFieldEditImageService
+ */
+ removeListener(): void {
+ document.removeEventListener(
+ `binaryField-tempfile-${this.variable}`,
+ this.handleNewImage.bind(this)
+ );
+
+ document.removeEventListener(
+ `binaryField-close-image-editor-${this.variable}`,
+ this.removeListener.bind(this)
+ );
+ }
+
+ /**
+ * Handle the edited image
+ *
+ * @private
+ * @param {*} { detail }
+ * @memberof DotBinaryFieldEditImageService
+ */
+ private handleNewImage({ detail }): void {
+ this.subject.next(detail.tempFile);
+ this.removeListener();
+ }
+}
diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/store/binary-field.store.spec.ts b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/store/binary-field.store.spec.ts
index 4ba76cee27a5..bbd9e63385de 100644
--- a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/store/binary-field.store.spec.ts
+++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/store/binary-field.store.spec.ts
@@ -1,30 +1,32 @@
import { expect, describe } from '@jest/globals';
import { SpectatorService, createServiceFactory } from '@ngneat/spectator';
+import { of } from 'rxjs';
+
+import { HttpClientTestingModule } from '@angular/common/http/testing';
import { skip } from 'rxjs/operators';
-import { DotUploadService } from '@dotcms/data-access';
+import { DotLicenseService, DotUploadService } from '@dotcms/data-access';
import { DotCMSTempFile } from '@dotcms/dotcms-models';
+import { DropZoneErrorType } from '@dotcms/ui';
-import {
- BINARY_FIELD_MODE,
- BINARY_FIELD_STATUS,
- BinaryFieldState,
- DotBinaryFieldStore
-} from './binary-field.store';
+import { BinaryFieldState, DotBinaryFieldStore } from './binary-field.store';
-import { UI_MESSAGE_KEYS, getUiMessage } from '../../../utils/binary-field-utils';
+import { getUiMessage } from '../../../utils/binary-field-utils';
+import { BinaryFieldMode, BinaryFieldStatus, UI_MESSAGE_KEYS } from '../interfaces';
const INITIAL_STATE: BinaryFieldState = {
file: null,
tempFile: null,
- mode: BINARY_FIELD_MODE.DROPZONE,
- status: BINARY_FIELD_STATUS.INIT,
- UiMessage: getUiMessage(UI_MESSAGE_KEYS.DEFAULT),
- dropZoneActive: false
+ mode: BinaryFieldMode.DROPZONE,
+ status: BinaryFieldStatus.INIT,
+ uiMessage: getUiMessage(UI_MESSAGE_KEYS.DEFAULT),
+ dropZoneActive: false,
+ isEnterprise: false
};
export const TEMP_FILE_MOCK: DotCMSTempFile = {
+ content: 'test',
fileName: 'image.png',
folder: '/images',
id: '12345',
@@ -44,7 +46,14 @@ describe('DotBinaryFieldStore', () => {
const createStoreService = createServiceFactory({
service: DotBinaryFieldStore,
+ imports: [HttpClientTestingModule],
providers: [
+ {
+ provide: DotLicenseService,
+ useValue: {
+ isEnterprise: () => of(true)
+ }
+ },
{
provide: DotUploadService,
useValue: {
@@ -77,11 +86,21 @@ describe('DotBinaryFieldStore', () => {
describe('Updaters', () => {
it('should set File', (done) => {
- const mockFile = new File([''], 'filename');
+ const mockFile = {
+ mimeType: 'mimeType',
+ name: 'name',
+ fileSize: 100000,
+ content: 'content',
+ url: 'url',
+ inode: 'inode',
+ titleImage: 'titleImage',
+ width: '20',
+ height: '20'
+ };
store.setFile(mockFile);
- store.file$.subscribe((file) => {
- expect(file).toEqual(mockFile);
+ store.vm$.subscribe((state) => {
+ expect(state.file).toEqual(mockFile);
done();
});
});
@@ -93,28 +112,28 @@ describe('DotBinaryFieldStore', () => {
done();
});
});
- it('should set UiMessage', (done) => {
- const uiMessage = getUiMessage(UI_MESSAGE_KEYS.FILE_TYPE_MISMATCH);
+ it('should set uiMessage', (done) => {
+ const uiMessage = getUiMessage(DropZoneErrorType.FILE_TYPE_MISMATCH);
store.setUiMessage(uiMessage);
store.vm$.subscribe((state) => {
- expect(state.UiMessage).toEqual(uiMessage);
+ expect(state.uiMessage).toEqual(uiMessage);
done();
});
});
it('should set Mode', (done) => {
- store.setMode(BINARY_FIELD_MODE.EDITOR);
+ store.setMode(BinaryFieldMode.EDITOR);
store.vm$.subscribe((state) => {
- expect(state.mode).toBe(BINARY_FIELD_MODE.EDITOR);
+ expect(state.mode).toBe(BinaryFieldMode.EDITOR);
done();
});
});
it('should set Status', (done) => {
- store.setStatus(BINARY_FIELD_STATUS.PREVIEW);
+ store.setStatus(BinaryFieldStatus.PREVIEW);
store.vm$.subscribe((state) => {
- expect(state.status).toBe(BINARY_FIELD_STATUS.PREVIEW);
+ expect(state.status).toBe(BinaryFieldStatus.PREVIEW);
done();
});
});
diff --git a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/store/binary-field.store.ts b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/store/binary-field.store.ts
index 3218e9990a9a..2c5f9244dbd9 100644
--- a/core-web/libs/contenttype-fields/src/lib/fields/binary-field/store/binary-field.store.ts
+++ b/core-web/libs/contenttype-fields/src/lib/fields/binary-field/store/binary-field.store.ts
@@ -1,51 +1,52 @@
import { ComponentStore, tapResponse } from '@ngrx/component-store';
-import { Observable, from } from 'rxjs';
+import { from, Observable, of } from 'rxjs';
+import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { switchMap, tap } from 'rxjs/operators';
-import { DotUploadService } from '@dotcms/data-access';
+import { DotLicenseService, DotUploadService } from '@dotcms/data-access';
import { DotCMSTempFile } from '@dotcms/dotcms-models';
-import { UI_MESSAGE_KEYS, UiMessageI, getUiMessage } from '../../../utils/binary-field-utils';
+import { getUiMessage } from '../../../utils/binary-field-utils';
+import {
+ BinaryFieldMode,
+ BinaryFieldStatus,
+ BinaryFile,
+ UI_MESSAGE_KEYS,
+ UiMessageI
+} from '../interfaces/index';
export interface BinaryFieldState {
- file: File;
+ file?: BinaryFile;
tempFile: DotCMSTempFile;
- mode: BINARY_FIELD_MODE;
- status: BINARY_FIELD_STATUS;
- UiMessage: UiMessageI;
+ mode: BinaryFieldMode;
+ status: BinaryFieldStatus;
+ uiMessage: UiMessageI;
dropZoneActive: boolean;
+ isEnterprise: boolean;
}
-export enum BINARY_FIELD_MODE {
- DROPZONE = 'DROPZONE',
- URL = 'URL',
- EDITOR = 'EDITOR'
-}
-
-export enum BINARY_FIELD_STATUS {
- INIT = 'INIT',
- UPLOADING = 'UPLOADING',
- PREVIEW = 'PREVIEW',
- ERROR = 'ERROR'
-}
+const initialState: BinaryFieldState = {
+ file: null,
+ tempFile: null,
+ mode: BinaryFieldMode.DROPZONE,
+ status: BinaryFieldStatus.INIT,
+ dropZoneActive: false,
+ uiMessage: getUiMessage(UI_MESSAGE_KEYS.DEFAULT),
+ isEnterprise: false
+};
@Injectable()
export class DotBinaryFieldStore extends ComponentStore {
- private _maxFileSizeInMB: number;
+ private _maxFileSizeInMB = 0;
// Selectors
- readonly vm$ = this.select((state) => {
- return {
- ...state,
- isLoading: state.status === BINARY_FIELD_STATUS.UPLOADING
- };
- });
-
- // File state
- readonly file$ = this.select((state) => state.file);
+ readonly vm$ = this.select((state) => ({
+ ...state,
+ isLoading: state.status === BinaryFieldStatus.UPLOADING
+ }));
// Temp file state
readonly tempFile$ = this.select((state) => state.tempFile);
@@ -53,16 +54,17 @@ export class DotBinaryFieldStore extends ComponentStore {
// Mode state
readonly mode$ = this.select((state) => state.mode);
- constructor(private readonly dotUploadService: DotUploadService) {
- super();
+ constructor(
+ private readonly dotUploadService: DotUploadService,
+ private readonly dotLicenseService: DotLicenseService,
+ private readonly http: HttpClient
+ ) {
+ super(initialState);
+ this.dotLicenseService.isEnterprise().subscribe((isEnterprise) => {
+ this.setIsEnterprise(isEnterprise);
+ });
}
- // Updaters
- readonly setFile = this.updater((state, file) => ({
- ...state,
- file
- }));
-
readonly setDropZoneActive = this.updater((state, dropZoneActive) => ({
...state,
dropZoneActive
@@ -70,88 +72,155 @@ export class DotBinaryFieldStore extends ComponentStore {
readonly setTempFile = this.updater((state, tempFile) => ({
...state,
- status: BINARY_FIELD_STATUS.PREVIEW,
+ status: BinaryFieldStatus.PREVIEW,
+ file: this.fileFromTempFile(tempFile),
tempFile
}));
- readonly setUiMessage = this.updater((state, UiMessage) => ({
+ readonly setFile = this.updater((state, file) => ({
+ ...state,
+ status: BinaryFieldStatus.PREVIEW,
+ file
+ }));
+
+ readonly setUiMessage = this.updater((state, uiMessage) => ({
...state,
- UiMessage
+ uiMessage
}));
- readonly setMode = this.updater((state, mode) => ({
+ readonly setMode = this.updater((state, mode) => ({
...state,
mode
}));
- readonly setStatus = this.updater((state, status) => ({
+ readonly setStatus = this.updater((state, status) => ({
...state,
status
}));
+ readonly setIsEnterprise = this.updater((state, isEnterprise) => ({
+ ...state,
+ isEnterprise
+ }));
+
readonly setUploading = this.updater((state) => ({
...state,
dropZoneActive: false,
uiMessage: getUiMessage(UI_MESSAGE_KEYS.DEFAULT),
- status: BINARY_FIELD_STATUS.UPLOADING
+ status: BinaryFieldStatus.UPLOADING
}));
- readonly setError = this.updater((state, UiMessage) => ({
+ readonly setError = this.updater((state, uiMessage) => ({
...state,
- UiMessage,
- status: BINARY_FIELD_STATUS.ERROR,
+ uiMessage,
+ status: BinaryFieldStatus.INIT,
tempFile: null
}));
- readonly invalidFile = this.updater((state, UiMessage) => ({
+ readonly invalidFile = this.updater((state, uiMessage) => ({
...state,
dropZoneActive: false,
- UiMessage,
- status: BINARY_FIELD_STATUS.ERROR
+ uiMessage,
+ status: BinaryFieldStatus.INIT
}));
readonly removeFile = this.updater((state) => ({
...state,
file: null,
tempFile: null,
- status: BINARY_FIELD_STATUS.INIT
+ status: BinaryFieldStatus.INIT
}));
- // Effects
- readonly handleUploadFile = this.effect((event$) => {
- return event$.pipe(
+ // Effects
+ readonly handleUploadFile = this.effect((file$: Observable) =>
+ file$.pipe(
+ tap(() => this.setUploading()),
+ switchMap((file) =>
+ from(
+ this.dotUploadService.uploadFile({
+ file,
+ maxSize: this._maxFileSizeInMB ? `${this._maxFileSizeInMB}MB` : '',
+ signal: null
+ })
+ ).pipe(
+ tapResponse(
+ (tempFile) => this.setTempFile(tempFile),
+ () => this.setError(getUiMessage(UI_MESSAGE_KEYS.SERVER_ERROR))
+ )
+ )
+ )
+ )
+ );
+
+ /**
+ * Set the file and the content
+ *
+ * @memberof DotBinaryFieldStore
+ */
+ readonly setFileAndContent = this.effect((file$: Observable) => {
+ return file$.pipe(
tap(() => this.setUploading()),
- switchMap((file) => this.uploadTempFile(file))
+ switchMap((file) => {
+ const { url, mimeType } = file;
+ // TODO: This should be done in the serverside
+ const obs$ = mimeType.includes('text') ? this.getFileContent(url) : of('');
+
+ return obs$.pipe(
+ tap((content) => {
+ this.setFile({
+ ...file,
+ content
+ });
+ })
+ );
+ })
);
});
- readonly handleCreateFile = this.effect<{ name: string; code: string }>((fileDetails$) => {
- /* To be implemented */
- return fileDetails$.pipe();
- });
+ /**
+ * Set the max file size in bytes
+ *
+ * @param bytes The max file size in bytes
+ */
+ setMaxFileSize(bytes: number): void {
+ // Convert bytes to MB
+ this._maxFileSizeInMB = bytes / (1024 * 1024);
+ }
/**
- * Set the max file size in Bytes
+ * Get the file content
*
- * @param {number} bytes
+ * @private
+ * @param {string} url
+ * @return {*} {Observable}
* @memberof DotBinaryFieldStore
*/
- setMaxFileSize(bytes: number) {
- this._maxFileSizeInMB = bytes / (1024 * 1024);
+ private getFileContent(url: string): Observable {
+ return this.http.get(url, { responseType: 'text' });
}
- private uploadTempFile(file: File): Observable {
- return from(
- this.dotUploadService.uploadFile({
- file,
- maxSize: this._maxFileSizeInMB ? `${this._maxFileSizeInMB}MB` : '',
- signal: null
- })
- ).pipe(
- tapResponse(
- (tempFile) => this.setTempFile(tempFile),
- () => this.setError(getUiMessage(UI_MESSAGE_KEYS.SERVER_ERROR))
- )
- );
+ /**
+ * Create a BinaryFile from a DotCMSTempFile
+ *
+ * @private
+ * @param {DotCMSTempFile} tempFile
+ * @return {*} {BinaryFile}
+ * @memberof DotBinaryFieldStore
+ */
+ private fileFromTempFile({
+ length,
+ thumbnailUrl,
+ referenceUrl,
+ fileName,
+ mimeType,
+ content = ''
+ }: DotCMSTempFile): BinaryFile {
+ return {
+ url: thumbnailUrl || referenceUrl,
+ fileSize: length,
+ mimeType,
+ name: fileName,
+ content
+ };
}
}
diff --git a/core-web/libs/contenttype-fields/src/lib/utils/binary-field-utils.ts b/core-web/libs/contenttype-fields/src/lib/utils/binary-field-utils.ts
index c9073294cc2f..b0c9d4075f03 100644
--- a/core-web/libs/contenttype-fields/src/lib/utils/binary-field-utils.ts
+++ b/core-web/libs/contenttype-fields/src/lib/utils/binary-field-utils.ts
@@ -1,20 +1,4 @@
-export enum UI_MESSAGE_KEYS {
- DEFAULT = 'DEFAULT',
- SERVER_ERROR = 'SERVER_ERROR',
- FILE_TYPE_MISMATCH = 'FILE_TYPE_MISMATCH',
- MAX_FILE_SIZE_EXCEEDED = 'MAX_FILE_SIZE_EXCEEDED'
-}
-
-export interface UiMessageI {
- message: string;
- severity: string;
- icon: string;
- args?: string[];
-}
-
-type UiMessageMap = {
- [key in UI_MESSAGE_KEYS]: UiMessageI;
-};
+import { UiMessageI, UiMessageMap } from '../fields/binary-field/interfaces';
const UiMessageMap: UiMessageMap = {
DEFAULT: {
@@ -36,16 +20,17 @@ const UiMessageMap: UiMessageMap = {
message: 'dot.binary.field.drag.and.drop.error.file.maxsize.exceeded.message',
severity: 'error',
icon: 'pi pi-exclamation-triangle'
+ },
+ MULTIPLE_FILES_DROPPED: {
+ message: 'dot.binary.field.drag.and.drop.error.multiple.files.dropped.message',
+ severity: 'error',
+ icon: 'pi pi-exclamation-triangle'
}
};
export const getUiMessage = (messageKey: string, ...args: string[]): UiMessageI => {
- const { message, severity, icon } = UiMessageMap[messageKey];
-
return {
- message,
- severity,
- icon,
+ ...UiMessageMap[messageKey],
args
};
};
diff --git a/core-web/libs/contenttype-fields/src/lib/utils/mock.ts b/core-web/libs/contenttype-fields/src/lib/utils/mock.ts
index 2adbd829a2a4..4c179ade1512 100644
--- a/core-web/libs/contenttype-fields/src/lib/utils/mock.ts
+++ b/core-web/libs/contenttype-fields/src/lib/utils/mock.ts
@@ -3,28 +3,163 @@ import { MockDotMessageService } from '@dotcms/utils-testing';
const MESSAGES_MOCK = {
'dot.binary.field.action.choose.file': 'Choose File',
'dot.binary.field.action.create.new.file': 'Create New File',
- 'dot.binary.field.action.import.from.url': 'Import from URL',
'dot.binary.field.action.import.from.url.error.message':
'The URL you requested is not valid. Please try again.',
+ 'dot.binary.field.action.import.from.url': 'Import from URL',
'dot.binary.field.action.remove': 'Remove',
'dot.binary.field.dialog.create.new.file.header': 'File Details',
'dot.binary.field.dialog.import.from.url.header': 'URL',
- 'dot.binary.field.drag.and.drop.message': 'Drag and Drop or',
'dot.binary.field.drag.and.drop.error.could.not.load.message':
- 'Couldn't load the file. Please try again or
',
+ 'Couldn't load the file. Please try again or',
+ 'dot.binary.field.drag.and.drop.error.file.maxsize.exceeded.message':
+ 'The file weight exceeds the limits of {0}, please reduce size before uploading.',
'dot.binary.field.drag.and.drop.error.file.not.supported.message':
- 'This type of file is not supported, Please select a
{0} file.',
+ 'This type of file is not supported, Please select a {0} file.',
+ 'dot.binary.field.drag.and.drop.error.multiple.files.dropped.message':
+ 'You can only upload one file at a time.',
+ 'dot.binary.field.drag.and.drop.error.server.error.message':
+ 'Something went wrong, please try again or contact our support team.',
+ 'dot.binary.field.drag.and.drop.message': 'Drag and Drop or',
+ 'dot.binary.field.error.type.file.not.extension': "Please add the file's extension",
'dot.binary.field.error.type.file.not.supported.message':
'This type of file is not supported. Please use a {0} file.',
- 'dot.binary.field.error.type.file.not.extension': "Please add the file's extension",
- 'dot.binary.field.drag.and.drop.error.file.maxsize.exceeded.message':
- 'The file weight exceeds the limits of {0}, please
reduce size before uploading.',
- 'dot.binary.field.drag.and.drop.error.server.error.message':
- 'Something went wrong, please try again or
contact our support team.',
+ 'dot.binary.field.file.bytes': 'Bytes',
+ 'dot.binary.field.file.dimension': 'Dimension',
+ 'dot.binary.field.file.size': 'File Size',
'dot.common.cancel': 'Cancel',
+ 'dot.common.edit': 'Edit',
'dot.common.import': 'Import',
+ 'dot.common.remove': 'Remove',
'dot.common.save': 'Save',
'error.form.validator.required': 'This field is required'
};
export const CONTENTTYPE_FIELDS_MESSAGE_MOCK = new MockDotMessageService(MESSAGES_MOCK);
+
+const TEMP_IMAGE_MOCK = {
+ fileName: 'Image.jpg',
+ folder: 'folder',
+ id: 'tempFileId',
+ image: true,
+ length: 10000,
+ mimeType: 'image/jpeg',
+ referenceUrl: '',
+ thumbnailUrl:
+ 'https://images.unsplash.com/photo-1575936123452-b67c3203c357?auto=format&fit=crop&q=80&w=1000&ixlib=rb-4.0.3&ixid=M3wxMjA3fDB8MHxzZWFyY2h8Mnx8aW1hZ2V8ZW58MHx8MHx8fDA%3D'
+};
+
+const TEMP_VIDEO_MOCK = {
+ fileName: 'video.mp4',
+ folder: 'folder',
+ id: 'tempFileId',
+ image: false,
+ length: 10000,
+ mimeType: 'video/mp4',
+ referenceUrl: 'https://www.w3schools.com/tags/movie.mp4',
+ thumbnailUrl: ''
+};
+
+const TEMP_FILE_MOCK = {
+ fileName: 'template.html',
+ folder: 'folder',
+ id: 'tempFileId',
+ image: false,
+ length: 10000,
+ mimeType: 'text/html',
+ referenceUrl: 'https://raw.githubusercontent.com/angular/angular/master/README.md',
+ thumbnailUrl: '',
+ content: 'HOLA'
+};
+
+export const TEMP_FILES_MOCK = [TEMP_IMAGE_MOCK, TEMP_VIDEO_MOCK, TEMP_FILE_MOCK];
+
+export const CONTENTLET = {
+ publishDate: '2023-10-24 13:21:49.682',
+ inode: 'b22aa2f3-12af-4ea8-9d7d-164f98ea30b1',
+ binaryField2: '/dA/af9294c29906dea7f4a58d845f569219/binaryField2/New-Image.png',
+ host: '48190c8c-42c4-46af-8d1a-0cd5db894797',
+ binaryField2Version: '/dA/b22aa2f3-12af-4ea8-9d7d-164f98ea30b1/binaryField2/New-Image.png',
+ locked: false,
+ stInode: 'd1901a41d38b6686dd5ed8f910346d7a',
+ contentType: 'BinaryField',
+ identifier: 'af9294c29906dea7f4a58d845f569219',
+ folder: 'SYSTEM_FOLDER',
+ hasTitleImage: true,
+ sortOrder: 0,
+ binaryField2MetaData: {
+ modDate: 1698153707197,
+ sha256: 'e84030fe91978e483e34242f0631a81903cf53a945475d8dcfbb72da484a28d5',
+ length: 29848,
+ title: 'New-Image.png',
+ version: 20220201,
+ isImage: true,
+ fileSize: 29848,
+ name: 'New-Image.png',
+ width: 738,
+ contentType: 'image/png',
+ height: 435
+ },
+ hostName: 'demo.dotcms.com',
+ modDate: '2023-10-24 13:21:49.682',
+ title: 'af9294c29906dea7f4a58d845f569219',
+ baseType: 'CONTENT',
+ archived: false,
+ working: true,
+ live: true,
+ owner: 'dotcms.org.1',
+ binaryField2ContentAsset: 'af9294c29906dea7f4a58d845f569219/binaryField2',
+ languageId: 1,
+ url: '/content.b22aa2f3-12af-4ea8-9d7d-164f98ea30b1',
+ titleImage: 'binaryField2',
+ modUserName: 'Admin User',
+ hasLiveVersion: true,
+ modUser: 'dotcms.org.1',
+ __icon__: 'contentIcon',
+ contentTypeIcon: 'event_note',
+ variant: 'DEFAULT'
+};
+
+export const FIELD = {
+ clazz: 'com.dotcms.contenttype.model.field.ImmutableBinaryField',
+ contentTypeId: 'd1901a41d38b6686dd5ed8f910346d7a',
+ dataType: 'SYSTEM',
+ fieldType: 'Binary',
+ fieldTypeLabel: 'Binary',
+ fieldVariables: [
+ {
+ clazz: 'com.dotcms.contenttype.model.field.ImmutableFieldVariable',
+ fieldId: '5df3f8fc49177c195740bcdc02ec2db7',
+ id: '1ff1ff05-b9fb-4239-ad3d-b2cfaa9a8406',
+ key: 'accept',
+ value: 'image/*,.html,.ts'
+ },
+ {
+ clazz: 'com.dotcms.contenttype.model.field.ImmutableFieldVariable',
+ fieldId: '5df3f8fc49177c195740bcdc02ec2db7',
+ id: '1ff1ff05-b9fb-4239-ad3d-b2cfaa9a8406',
+ key: 'maxFileSize',
+ value: '50000'
+ },
+ {
+ clazz: 'com.dotcms.contenttype.model.field.ImmutableFieldVariable',
+ fieldId: '5df3f8fc49177c195740bcdc02ec2db7',
+ id: '1ff1ff05-b9fb-4239-ad3d-b2cfaa9a8406',
+ key: 'helperText',
+ value: 'Helper label to be displayed below the field'
+ }
+ ],
+ fixed: false,
+ forceIncludeInApi: false,
+ iDate: 1698153564000,
+ id: '5df3f8fc49177c195740bcdc02ec2db7',
+ indexed: false,
+ listed: false,
+ modDate: 1698153564000,
+ name: 'Binary Field2',
+ readOnly: false,
+ required: false,
+ searchable: false,
+ sortOrder: 2,
+ unique: false,
+ variable: 'binaryField2'
+};
diff --git a/core-web/libs/data-access/src/lib/dot-license/dot-license.service.spec.ts b/core-web/libs/data-access/src/lib/dot-license/dot-license.service.spec.ts
index c7ba40855022..7ef6f5bec63c 100644
--- a/core-web/libs/data-access/src/lib/dot-license/dot-license.service.spec.ts
+++ b/core-web/libs/data-access/src/lib/dot-license/dot-license.service.spec.ts
@@ -3,9 +3,6 @@ import { of } from 'rxjs';
import { HttpTestingController, HttpClientTestingModule } from '@angular/common/http/testing';
import { TestBed, getTestBed } from '@angular/core/testing';
-import { CoreWebService } from '@dotcms/dotcms-js';
-import { CoreWebServiceMock } from '@dotcms/utils-testing';
-
import { DotLicenseService } from './dot-license.service';
describe('DotLicenseService', () => {
@@ -16,10 +13,7 @@ describe('DotLicenseService', () => {
beforeEach(() => {
TestBed.configureTestingModule({
imports: [HttpClientTestingModule],
- providers: [
- { provide: CoreWebService, useClass: CoreWebServiceMock },
- DotLicenseService
- ]
+ providers: [DotLicenseService]
});
injector = getTestBed();
dotLicenseService = injector.get(DotLicenseService);
@@ -29,7 +23,7 @@ describe('DotLicenseService', () => {
it('should call the BE with correct endpoint url and method', () => {
dotLicenseService.isEnterprise().subscribe();
- const req = httpMock.expectOne('v1/appconfiguration');
+ const req = httpMock.expectOne('/api/v1/appconfiguration');
expect(req.request.method).toBe('GET');
req.flush({
entity: {
@@ -47,7 +41,7 @@ describe('DotLicenseService', () => {
expect(result).toBe(false);
});
- const req = httpMock.expectOne('v1/appconfiguration');
+ const req = httpMock.expectOne('/api/v1/appconfiguration');
expect(req.request.method).toBe('GET');
req.flush({
entity: {
@@ -65,7 +59,7 @@ describe('DotLicenseService', () => {
expect(result).toBe(true);
});
- const req = httpMock.expectOne('v1/appconfiguration');
+ const req = httpMock.expectOne('/api/v1/appconfiguration');
expect(req.request.method).toBe('GET');
req.flush({
entity: {
@@ -83,7 +77,7 @@ describe('DotLicenseService', () => {
expect(result).toBe(true);
});
- const req = httpMock.expectOne('v1/appconfiguration');
+ const req = httpMock.expectOne('/api/v1/appconfiguration');
expect(req.request.method).toBe('GET');
req.flush({
entity: {
@@ -147,13 +141,13 @@ describe('DotLicenseService', () => {
expect(result).toBe(true);
});
- httpMock.expectNone('v1/appconfiguration');
+ httpMock.expectNone('/api/v1/appconfiguration');
});
it('should fetch the license when calling updateLicense', () => {
dotLicenseService.updateLicense();
- const req = httpMock.expectOne('v1/appconfiguration');
+ const req = httpMock.expectOne('/api/v1/appconfiguration');
expect(req.request.method).toBe('GET');
req.flush({
entity: {
diff --git a/core-web/libs/data-access/src/lib/dot-license/dot-license.service.ts b/core-web/libs/data-access/src/lib/dot-license/dot-license.service.ts
index ab2f58fa4d06..fb78b820b308 100644
--- a/core-web/libs/data-access/src/lib/dot-license/dot-license.service.ts
+++ b/core-web/libs/data-access/src/lib/dot-license/dot-license.service.ts
@@ -1,10 +1,11 @@
import { Observable, Subject, BehaviorSubject, of } from 'rxjs';
+import { HttpClient } from '@angular/common/http';
import { Injectable } from '@angular/core';
import { pluck, map, take, tap } from 'rxjs/operators';
-import { CoreWebService } from '@dotcms/dotcms-js';
+import { ResponseView } from '@dotcms/dotcms-js';
import { DotLicense } from '@dotcms/dotcms-models';
export interface DotUnlicensedPortletData {
@@ -82,8 +83,8 @@ export class DotLicenseService {
private license?: DotLicense;
- constructor(private coreWebService: CoreWebService) {
- this.licenseURL = 'v1/appconfiguration';
+ constructor(private readonly http: HttpClient) {
+ this.licenseURL = '/api/v1/appconfiguration';
}
/**
@@ -128,16 +129,12 @@ export class DotLicenseService {
private getLicense(): Observable {
if (this.license) return of(this.license);
- return this.coreWebService
- .requestView({
- url: this.licenseURL
+ return this.http.get(this.licenseURL).pipe(
+ pluck('entity', 'config', 'license'),
+ tap((license) => {
+ this.setLicense(license);
})
- .pipe(
- pluck('entity', 'config', 'license'),
- tap((license) => {
- this.setLicense(license);
- })
- );
+ );
}
/**
@@ -146,10 +143,8 @@ export class DotLicenseService {
* @memberof DotLicenseService
*/
updateLicense(): void {
- this.coreWebService
- .requestView({
- url: this.licenseURL
- })
+ this.http
+ .get(this.licenseURL)
.pipe(pluck('entity', 'config', 'license'))
.subscribe((license) => {
this.setLicense(license);
diff --git a/core-web/libs/dotcms-models/src/lib/dot-temp-file.model.ts b/core-web/libs/dotcms-models/src/lib/dot-temp-file.model.ts
index 8b9cae64e8eb..3625cb54c6d2 100644
--- a/core-web/libs/dotcms-models/src/lib/dot-temp-file.model.ts
+++ b/core-web/libs/dotcms-models/src/lib/dot-temp-file.model.ts
@@ -12,4 +12,5 @@ export interface DotCMSTempFile {
mimeType: string;
referenceUrl: string;
thumbnailUrl: string;
+ content?: string;
}
diff --git a/core-web/libs/dotcms-scss/angular/dotcms-theme/components/_overlaypanel.scss b/core-web/libs/dotcms-scss/angular/dotcms-theme/components/_overlaypanel.scss
index d0d2a4b8c9cd..a774f2eb1d5a 100644
--- a/core-web/libs/dotcms-scss/angular/dotcms-theme/components/_overlaypanel.scss
+++ b/core-web/libs/dotcms-scss/angular/dotcms-theme/components/_overlaypanel.scss
@@ -4,7 +4,7 @@
background: $white;
color: $black;
border: 0 none;
- border-radius: $border-radius-xs;
+ border-radius: $border-radius-md;
box-shadow: 0 11px 15px -7px $color-palette-black-op-20,
0 24px 38px 3px $color-palette-black-op-10, 0 9px 46px 8px $color-palette-black-op-10;
}
diff --git a/core-web/libs/dotcms-scss/angular/dotcms-theme/components/buttons/_button.scss b/core-web/libs/dotcms-scss/angular/dotcms-theme/components/buttons/_button.scss
index a7e0a4d233ec..672965fb32c8 100644
--- a/core-web/libs/dotcms-scss/angular/dotcms-theme/components/buttons/_button.scss
+++ b/core-web/libs/dotcms-scss/angular/dotcms-theme/components/buttons/_button.scss
@@ -55,16 +55,17 @@
.p-button.p-fileupload-choose {
@extend #main-primary-severity;
- &.p-button-secondary {
- @extend #main-secondary-severity;
- }
-
// Button Links
&.p-button-link {
color: $color-palette-primary;
background: transparent;
border: transparent;
}
+
+ &.p-button-link.p-button-secondary {
+ @extend #outlined-secondary-severity;
+ border: transparent;
+ }
}
// Severity for outlined button
diff --git a/core-web/libs/dotcms-scss/angular/dotcms-theme/components/buttons/common.scss b/core-web/libs/dotcms-scss/angular/dotcms-theme/components/buttons/common.scss
index 46a19d63df00..b7683eb0eb91 100644
--- a/core-web/libs/dotcms-scss/angular/dotcms-theme/components/buttons/common.scss
+++ b/core-web/libs/dotcms-scss/angular/dotcms-theme/components/buttons/common.scss
@@ -152,6 +152,10 @@
background-color: transparent;
color: $black;
+ &.p-button-semi-transparent {
+ background-color: rgba(255, 255, 255, 0.65);
+ }
+
.p-button-label {
color: inherit;
}
@@ -161,6 +165,13 @@
color: $color-palette-secondary;
}
+ &.p-button-icon-only {
+ .p-button-icon,
+ .pi {
+ color: $black;
+ }
+ }
+
&:hover {
background-color: $color-palette-secondary-op-10;
}
diff --git a/core-web/libs/ui/src/index.ts b/core-web/libs/ui/src/index.ts
index 5e5999ec981b..ffc8b6a8df18 100644
--- a/core-web/libs/ui/src/index.ts
+++ b/core-web/libs/ui/src/index.ts
@@ -9,6 +9,8 @@ export * from './lib/components/dot-empty-container/dot-empty-container.componen
export * from './lib/dot-tab-buttons/dot-tab-buttons.component';
export * from './lib/components/dot-field-validation-message/dot-field-validation-message.component';
export * from './lib/components/dot-copy-button/dot-copy-button.component';
+export * from './lib/components/dot-content-thumbnail/dot-content-thumbnail.component';
+
// Directives
export * from './lib/dot-field-required/dot-field-required.directive';
export * from './lib/dot-remove-confirm-popup/dot-remove-confirm-popup.directive';
diff --git a/core-web/libs/ui/src/lib/components/dot-content-thumbnail/dot-content-thumbnail.component.html b/core-web/libs/ui/src/lib/components/dot-content-thumbnail/dot-content-thumbnail.component.html
new file mode 100644
index 000000000000..ba4499623a2e
--- /dev/null
+++ b/core-web/libs/ui/src/lib/components/dot-content-thumbnail/dot-content-thumbnail.component.html
@@ -0,0 +1,23 @@
+
+
+
+
+
+
+
diff --git a/core-web/libs/ui/src/lib/components/dot-content-thumbnail/dot-content-thumbnail.component.scss b/core-web/libs/ui/src/lib/components/dot-content-thumbnail/dot-content-thumbnail.component.scss
new file mode 100644
index 000000000000..23991308dafe
--- /dev/null
+++ b/core-web/libs/ui/src/lib/components/dot-content-thumbnail/dot-content-thumbnail.component.scss
@@ -0,0 +1,23 @@
+@use "variables" as *;
+
+:host {
+ width: 100%;
+ height: 100%;
+ justify-content: center;
+ align-items: center;
+ display: flex;
+
+ img,
+ video {
+ width: 100%;
+ height: 100%;
+ }
+
+ img {
+ object-fit: cover;
+ }
+
+ i {
+ color: $color-palette-secondary-400;
+ }
+}
diff --git a/core-web/libs/ui/src/lib/components/dot-content-thumbnail/dot-content-thumbnail.component.spec.ts b/core-web/libs/ui/src/lib/components/dot-content-thumbnail/dot-content-thumbnail.component.spec.ts
new file mode 100644
index 000000000000..f1934211ffde
--- /dev/null
+++ b/core-web/libs/ui/src/lib/components/dot-content-thumbnail/dot-content-thumbnail.component.spec.ts
@@ -0,0 +1,95 @@
+import { Spectator, byTestId, createComponentFactory } from '@ngneat/spectator';
+
+import {
+ DotContentThumbnailComponent,
+ CONTENT_THUMBNAIL_TYPE
+} from './dot-content-thumbnail.component';
+
+const mockDotThumbnailOptions = {
+ tempUrl: '',
+ inode: '123-456',
+ name: 'name',
+ contentType: 'video/mp4',
+ iconSize: '74',
+ titleImage: ''
+};
+
+describe('DotContentThumbnailComponent', () => {
+ let spectator: Spectator;
+ const createComponent = createComponentFactory(DotContentThumbnailComponent);
+
+ describe('video', () => {
+ beforeEach(async () => {
+ spectator = createComponent({
+ props: {
+ dotThumbanilOptions: mockDotThumbnailOptions
+ }
+ });
+ spectator.detectChanges();
+ await spectator.fixture.whenStable();
+ });
+
+ it('should set thumbnailType to video when contentType is video/*', () => {
+ const videoElement = spectator.query(byTestId('thumbail-video'));
+ const sourceElement = videoElement.querySelector('source');
+
+ expect(spectator.component.thumbnailType).toBe(CONTENT_THUMBNAIL_TYPE.video);
+ expect(spectator.component.src).toBe('/dA/123-456');
+ expect(sourceElement.getAttribute('src')).toBe('/dA/123-456');
+ expect(sourceElement).toBeTruthy();
+ expect(videoElement).toBeTruthy();
+ });
+ });
+
+ describe('image', () => {
+ beforeEach(async () => {
+ spectator = createComponent({
+ props: {
+ dotThumbanilOptions: {
+ ...mockDotThumbnailOptions,
+ name: 'image.png',
+ contentType: 'image/png'
+ }
+ }
+ });
+ spectator.detectChanges();
+ await spectator.fixture.whenStable();
+ });
+
+ it('should set thumbnailType to video when contentType is video/*', () => {
+ const imageElement = spectator.query(byTestId('thumbail-image'));
+
+ expect(spectator.component.thumbnailType).toBe(CONTENT_THUMBNAIL_TYPE.image);
+ expect(spectator.component.src).toBe('/dA/123-456/500w/50q');
+ expect(imageElement.getAttribute('src')).toBe('/dA/123-456/500w/50q');
+ expect(imageElement.getAttribute('title')).toBe('image.png');
+ expect(imageElement.getAttribute('alt')).toBe('image.png');
+ expect(imageElement).toBeTruthy();
+ });
+ });
+
+ describe('icon', () => {
+ beforeEach(async () => {
+ spectator = createComponent({
+ props: {
+ dotThumbanilOptions: {
+ ...mockDotThumbnailOptions,
+ name: 'name',
+ contentType: 'unknown'
+ }
+ }
+ });
+ spectator.detectChanges();
+ await spectator.fixture.whenStable();
+ });
+
+ it('should set thumbnailType to video when contentType is video/*', () => {
+ const iconElement = spectator.query(byTestId('thumbail-icon'));
+
+ expect(spectator.component.thumbnailType).toBe(CONTENT_THUMBNAIL_TYPE.icon);
+ expect(spectator.component.src).not.toBeDefined();
+ expect(iconElement.getAttribute('class')).toBe('pi pi-file');
+ expect(iconElement).toBeTruthy();
+ });
+ });
+});
diff --git a/core-web/libs/ui/src/lib/components/dot-content-thumbnail/dot-content-thumbnail.component.ts b/core-web/libs/ui/src/lib/components/dot-content-thumbnail/dot-content-thumbnail.component.ts
new file mode 100644
index 000000000000..10963f0738dd
--- /dev/null
+++ b/core-web/libs/ui/src/lib/components/dot-content-thumbnail/dot-content-thumbnail.component.ts
@@ -0,0 +1,164 @@
+import { CommonModule } from '@angular/common';
+import { ChangeDetectionStrategy, Component, Input, OnInit } from '@angular/core';
+
+const ICON_MAP = {
+ html: 'pi-file',
+ pdf: 'pi-file-pdf',
+ image: 'pi-image',
+ video: 'pi-video',
+ msword: 'pi-file-word',
+ doc: 'pi-file-word',
+ docx: 'pi-file-word'
+};
+
+export enum CONTENT_THUMBNAIL_TYPE {
+ image = 'image',
+ video = 'video',
+ icon = 'icon'
+}
+
+export interface DotThumbnailOptions {
+ tempUrl?: string;
+ inode?: string;
+ name?: string;
+ contentType?: string;
+ iconSize?: string;
+ titleImage?: string;
+}
+
+@Component({
+ selector: 'dot-content-thumbnail',
+ standalone: true,
+ imports: [CommonModule],
+ templateUrl: './dot-content-thumbnail.component.html',
+ styleUrls: ['./dot-content-thumbnail.component.scss'],
+ changeDetection: ChangeDetectionStrategy.OnPush
+})
+export class DotContentThumbnailComponent implements OnInit {
+ src: string;
+ thumbnailIcon: string;
+ thumbnailType: CONTENT_THUMBNAIL_TYPE;
+
+ @Input() dotThumbanilOptions: DotThumbnailOptions;
+
+ private _type: string;
+ private _tempUrl: string;
+ private _inode: string;
+ private _contentType: string;
+ private _titleImage: string;
+ private _name: string;
+ private _iconSize: string;
+ readonly CONTENT_THUMBNAIL_TYPE = CONTENT_THUMBNAIL_TYPE;
+
+ private readonly DEFAULT_ICON = 'pi-file';
+ private readonly thumbnailUrlMap = {
+ image: this.getImageThumbnailUrl.bind(this),
+ video: this.getVideoThumbnailUrl.bind(this),
+ pdf: this.getPdfThumbnailUrl.bind(this)
+ };
+
+ get iconSize(): string {
+ return this._iconSize || '1rem';
+ }
+
+ get name(): string {
+ return this._name || '';
+ }
+
+ ngOnInit(): void {
+ this.buildThumbnail();
+ }
+
+ /**
+ * Handle error when image/video is not found
+ * Set thumbnail type to icon
+ *
+ * @memberof DotContentThumbnailComponent
+ */
+ handleError() {
+ this.thumbnailType = this.CONTENT_THUMBNAIL_TYPE.icon;
+ }
+
+ private setProperties(): void {
+ const { tempUrl, inode, name, contentType, titleImage, iconSize } =
+ this.dotThumbanilOptions;
+ this._tempUrl = tempUrl;
+ this._inode = inode;
+ this._name = name;
+ this._contentType = contentType;
+ this._titleImage = titleImage;
+ this._iconSize = iconSize;
+ this._type = this._contentType.split('/')[0];
+ }
+
+ private buildThumbnail(): void {
+ this.setProperties();
+ this.setSrc();
+ this.setThumbnailType();
+ this.setThumbnailIcon();
+ }
+
+ /**
+ * Set thumbnail type
+ *
+ * @private
+ * @memberof DotContentThumbnailComponent
+ */
+ private setThumbnailType(): void {
+ this.thumbnailType = CONTENT_THUMBNAIL_TYPE[this._type] || CONTENT_THUMBNAIL_TYPE.icon;
+ }
+
+ /**
+ * Set thumbnail src
+ *
+ * @private
+ * @memberof DotContentThumbnailComponent
+ */
+ private setSrc(): void {
+ this.src = this._tempUrl || this.thumbnailUrlMap[this._type]?.();
+ }
+
+ /**
+ * Set thumbnail icon
+ *
+ * @private
+ * @memberof DotContentThumbnailComponent
+ */
+ private setThumbnailIcon(): void {
+ const extension = this._name.split('.').pop();
+ this.thumbnailIcon = ICON_MAP[extension] || this.DEFAULT_ICON;
+ }
+
+ /**
+ * Get pdf thumbnail url
+ *
+ * @private
+ * @return {*} {string}
+ * @memberof DotContentThumbnailComponent
+ */
+ private getPdfThumbnailUrl(): string {
+ return `/contentAsset/image/${this._inode}/${this._titleImage}/pdf_page/1/resize_w/250/quality_q/45`;
+ }
+
+ /**
+ * Get image thumbnail url
+ *
+ * @private
+ * @return {*} {string}
+ * @memberof DotContentThumbnailComponent
+ */
+ private getImageThumbnailUrl(): string {
+ return `/dA/${this._inode}/500w/50q`;
+ }
+
+ /**
+ * Get video thumbnail url
+ *
+ * @private
+ * @return {*} {string}
+ * @memberof DotContentThumbnailComponent
+ */
+ private getVideoThumbnailUrl(): string {
+ return `/dA/${this._inode}`;
+ }
+}
diff --git a/core-web/libs/ui/src/lib/components/dot-drop-zone/dot-drop-zone.component.spec.ts b/core-web/libs/ui/src/lib/components/dot-drop-zone/dot-drop-zone.component.spec.ts
index 3801ef418d1c..f518a7551643 100644
--- a/core-web/libs/ui/src/lib/components/dot-drop-zone/dot-drop-zone.component.spec.ts
+++ b/core-web/libs/ui/src/lib/components/dot-drop-zone/dot-drop-zone.component.spec.ts
@@ -2,12 +2,17 @@ import { SpectatorHost, createHostFactory } from '@ngneat/spectator';
import { CommonModule } from '@angular/common';
-import { DotDropZoneComponent } from './dot-drop-zone.component';
+import {
+ DotDropZoneComponent,
+ DropZoneErrorType,
+ DropZoneFileValidity
+} from './dot-drop-zone.component';
-const MOCK_VALIDITY = {
+const MOCK_VALIDITY: DropZoneFileValidity = {
fileTypeMismatch: false,
maxFileSizeExceeded: false,
multipleFilesDropped: false,
+ errorsType: [],
valid: true
};
@@ -119,6 +124,7 @@ describe('DotDropZoneComponent', () => {
file: null,
validity: {
...MOCK_VALIDITY,
+ errorsType: [DropZoneErrorType.MULTIPLE_FILES_DROPPED],
multipleFilesDropped: true,
valid: false
}
@@ -144,6 +150,7 @@ describe('DotDropZoneComponent', () => {
file: mockFile,
validity: {
...MOCK_VALIDITY,
+ errorsType: [DropZoneErrorType.FILE_TYPE_MISMATCH],
fileTypeMismatch: true,
valid: false
}
@@ -166,6 +173,7 @@ describe('DotDropZoneComponent', () => {
file: mockFile,
validity: {
...MOCK_VALIDITY,
+ errorsType: [DropZoneErrorType.MAX_FILE_SIZE_EXCEEDED],
maxFileSizeExceeded: true,
valid: false
}
diff --git a/core-web/libs/ui/src/lib/components/dot-drop-zone/dot-drop-zone.component.ts b/core-web/libs/ui/src/lib/components/dot-drop-zone/dot-drop-zone.component.ts
index 290a5318fa79..7a71de84cb51 100644
--- a/core-web/libs/ui/src/lib/components/dot-drop-zone/dot-drop-zone.component.ts
+++ b/core-web/libs/ui/src/lib/components/dot-drop-zone/dot-drop-zone.component.ts
@@ -13,13 +13,17 @@ export interface DropZoneFileEvent {
validity: DropZoneFileValidity;
}
-export type DropZoneErrorType = 'fileTypeMismatch' | 'maxFileSizeExceeded';
+export enum DropZoneErrorType {
+ FILE_TYPE_MISMATCH = 'FILE_TYPE_MISMATCH',
+ MAX_FILE_SIZE_EXCEEDED = 'MAX_FILE_SIZE_EXCEEDED',
+ MULTIPLE_FILES_DROPPED = 'MULTIPLE_FILES_DROPPED'
+}
export interface DropZoneFileValidity {
fileTypeMismatch: boolean;
maxFileSizeExceeded: boolean;
multipleFilesDropped: boolean;
- errorType?: DropZoneErrorType;
+ errorsType: DropZoneErrorType[];
valid: boolean;
}
@@ -53,10 +57,12 @@ export class DotDropZoneComponent {
}
private _accept: string[] = [];
+ private errorsType: DropZoneErrorType[] = [];
private _validity: DropZoneFileValidity = {
fileTypeMismatch: false,
maxFileSizeExceeded: false,
multipleFilesDropped: false,
+ errorsType: [],
valid: true
};
@@ -127,6 +133,10 @@ export class DotDropZoneComponent {
(type) => mimeType.includes(type) || type.includes(`.${extension}`)
);
+ if (!isValidType) {
+ this.errorsType.push(DropZoneErrorType.FILE_TYPE_MISMATCH);
+ }
+
return isValidType;
}
@@ -163,7 +173,31 @@ export class DotDropZoneComponent {
return false;
}
- return file.size > this.maxFileSize;
+ const isTooLong = file.size > this.maxFileSize;
+
+ if (isTooLong) {
+ this.errorsType.push(DropZoneErrorType.MAX_FILE_SIZE_EXCEEDED);
+ }
+
+ return isTooLong;
+ }
+
+ /**
+ * Check if multiple files were dropped
+ *
+ * @private
+ * @param {File[]} files
+ * @return {*} {boolean}
+ * @memberof DotDropZoneComponent
+ */
+ private multipleFilesDropped(files: File[]): boolean {
+ const multipleFilesDropped = files.length > 1;
+
+ if (multipleFilesDropped) {
+ this.errorsType.push(DropZoneErrorType.MULTIPLE_FILES_DROPPED);
+ }
+
+ return multipleFilesDropped;
}
/**
@@ -174,8 +208,9 @@ export class DotDropZoneComponent {
* @memberof DotDropZoneComponent
*/
private setValidity(files: File[]): void {
+ this.errorsType = []; // Reset the errors type
const file = files[0]; // Only one file is allowed
- const multipleFilesDropped = files.length > 1;
+ const multipleFilesDropped = this.multipleFilesDropped(files);
const fileTypeMismatch = !this.typeMatch(file);
const maxFileSizeExceeded = this.isFileTooLong(file);
const valid = !fileTypeMismatch && !maxFileSizeExceeded && !multipleFilesDropped;
@@ -185,6 +220,7 @@ export class DotDropZoneComponent {
multipleFilesDropped,
fileTypeMismatch,
maxFileSizeExceeded,
+ errorsType: this.errorsType,
valid
};
}
diff --git a/dotCMS/src/main/webapp/WEB-INF/messages/Language.properties b/dotCMS/src/main/webapp/WEB-INF/messages/Language.properties
index 721db098159d..2a13fdd18bd9 100644
--- a/dotCMS/src/main/webapp/WEB-INF/messages/Language.properties
+++ b/dotCMS/src/main/webapp/WEB-INF/messages/Language.properties
@@ -1152,16 +1152,22 @@ dot.binary.field.action.remove=Remove
dot.binary.field.dialog.create.new.file.header=File Details
dot.binary.field.dialog.import.from.url.header=URL
dot.binary.field.drag.and.drop.message=Drag and Drop or
-dot.binary.field.drag.and.drop.error.could.not.load.message=Couldn't load the file. Please try again or
-dot.binary.field.drag.and.drop.error.file.not.supported.message=This type of file is not supported, Please select a
{0} file.
+dot.binary.field.drag.and.drop.error.could.not.load.message=Couldn't load the file. Please try again or
+dot.binary.field.drag.and.drop.error.file.not.supported.message=This type of file is not supported, Please select a {0} file.
+dot.binary.field.drag.and.drop.error.multiple.files.dropped.message=You can only upload one file at a time.
+dot.binary.field.drag.and.drop.error.file.maxsize.exceeded.message=The file weight exceeds the limits of {0}, please reduce size before uploading.
+dot.binary.field.drag.and.drop.error.server.error.message=Something went wrong, please try again or contact our support team.
dot.binary.field.error.type.file.not.supported.message=This type of file is not supported. Please use a {0} file.
dot.binary.field.error.type.file.not.extension=Please add the file's extension
-dot.binary.field.drag.and.drop.error.file.maxsize.exceeded.message=The file weight exceeds the limits of {0}, please
reduce size before uploading.
-dot.binary.field.drag.and.drop.error.server.error.message=Something went wrong, please try again or
contact our support team.
+dot.binary.field.file.size=File Size
+dot.binary.field.file.dimension=Dimension
+dot.binary.field.file.bytes=Bytes
dot.common.apply=Apply
dot.common.archived=Archived
dot.common.cancel=Cancel
+dot.common.edit=Edit
dot.common.import=Import
+dot.common.remove=Remove
dot.common.save=Save
dot.common.content.search=Content Search
dot.common.dialog.accept=Accept
diff --git a/dotCMS/src/main/webapp/html/binary-field.js b/dotCMS/src/main/webapp/html/binary-field.js
index 7cdcf8aa034a..e67162b357e5 100644
--- a/dotCMS/src/main/webapp/html/binary-field.js
+++ b/dotCMS/src/main/webapp/html/binary-field.js
@@ -1 +1 @@
-var runtime=function(c){"use strict";var l,M=Object.prototype,p=M.hasOwnProperty,w=Object.defineProperty||function(r,t,e){r[t]=e.value},O="function"==typeof Symbol?Symbol:{},L=O.iterator||"@@iterator",z=O.asyncIterator||"@@asyncIterator",_=O.toStringTag||"@@toStringTag";function v(r,t,e){return Object.defineProperty(r,t,{value:e,enumerable:!0,configurable:!0,writable:!0}),r[t]}try{v({},"")}catch{v=function(t,e,o){return t[e]=o}}function R(r,t,e,o){var i=Object.create((t&&t.prototype instanceof j?t:j).prototype),a=new I(o||[]);return w(i,"_invoke",{value:H(r,e,a)}),i}function k(r,t,e){try{return{type:"normal",arg:r.call(t,e)}}catch(o){return{type:"throw",arg:o}}}c.wrap=R;var Y="suspendedStart",q="executing",b="completed",s={};function j(){}function S(){}function d(){}var N={};v(N,L,function(){return this});var T=Object.getPrototypeOf,E=T&&T(T(A([])));E&&E!==M&&p.call(E,L)&&(N=E);var g=d.prototype=j.prototype=Object.create(N);function D(r){["next","throw","return"].forEach(function(t){v(r,t,function(e){return this._invoke(t,e)})})}function G(r,t){function e(i,a,u,h){var f=k(r[i],r,a);if("throw"!==f.type){var C=f.arg,m=C.value;return m&&"object"==typeof m&&p.call(m,"__await")?t.resolve(m.__await).then(function(y){e("next",y,u,h)},function(y){e("throw",y,u,h)}):t.resolve(m).then(function(y){C.value=y,u(C)},function(y){return e("throw",y,u,h)})}h(f.arg)}var o;w(this,"_invoke",{value:function n(i,a){function u(){return new t(function(h,f){e(i,a,h,f)})}return o=o?o.then(u,u):u()}})}function H(r,t,e){var o=Y;return function(i,a){if(o===q)throw new Error("Generator is already running");if(o===b){if("throw"===i)throw a;return $()}for(e.method=i,e.arg=a;;){var u=e.delegate;if(u){var h=W(u,e);if(h){if(h===s)continue;return h}}if("next"===e.method)e.sent=e._sent=e.arg;else if("throw"===e.method){if(o===Y)throw o=b,e.arg;e.dispatchException(e.arg)}else"return"===e.method&&e.abrupt("return",e.arg);o=q;var f=k(r,t,e);if("normal"===f.type){if(o=e.done?b:"suspendedYield",f.arg===s)continue;return{value:f.arg,done:e.done}}"throw"===f.type&&(o=b,e.method="throw",e.arg=f.arg)}}}function W(r,t){var e=t.method,o=r.iterator[e];if(o===l)return t.delegate=null,"throw"===e&&r.iterator.return&&(t.method="return",t.arg=l,W(r,t),"throw"===t.method)||"return"!==e&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+e+"' method")),s;var n=k(o,r.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,s;var i=n.arg;return i?i.done?(t[r.resultName]=i.value,t.next=r.nextLoc,"return"!==t.method&&(t.method="next",t.arg=l),t.delegate=null,s):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,s)}function J(r){var t={tryLoc:r[0]};1 in r&&(t.catchLoc=r[1]),2 in r&&(t.finallyLoc=r[2],t.afterLoc=r[3]),this.tryEntries.push(t)}function P(r){var t=r.completion||{};t.type="normal",delete t.arg,r.completion=t}function I(r){this.tryEntries=[{tryLoc:"root"}],r.forEach(J,this),this.reset(!0)}function A(r){if(r){var t=r[L];if(t)return t.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var e=-1,o=function n(){for(;++e=0;--o){var n=this.tryEntries[o],i=n.completion;if("root"===n.tryLoc)return e("end");if(n.tryLoc<=this.prev){var a=p.call(n,"catchLoc"),u=p.call(n,"finallyLoc");if(a&&u){if(this.prev=0;--e){var o=this.tryEntries[e];if(o.tryLoc<=this.prev&&p.call(o,"finallyLoc")&&this.prev=0;--t){var e=this.tryEntries[t];if(e.finallyLoc===r)return this.complete(e.completion,e.afterLoc),P(e),s}},catch:function(r){for(var t=this.tryEntries.length-1;t>=0;--t){var e=this.tryEntries[t];if(e.tryLoc===r){var o=e.completion;if("throw"===o.type){var n=o.arg;P(e)}return n}}throw new Error("illegal catch attempt")},delegateYield:function(r,t,e){return this.delegate={iterator:A(r),resultName:t,nextLoc:e},"next"===this.method&&(this.arg=l),s}},c}("object"==typeof module?module.exports:{});try{regeneratorRuntime=runtime}catch{"object"==typeof globalThis?globalThis.regeneratorRuntime=runtime:Function("r","regeneratorRuntime = r")(runtime)}(()=>{"use strict";var e,m={},_={};function r(e){var i=_[e];if(void 0!==i)return i.exports;var t=_[e]={exports:{}};return m[e](t,t.exports,r),t.exports}r.m=m,e=[],r.O=(i,t,a,f)=>{if(!t){var n=1/0;for(o=0;o=f)&&Object.keys(r.O).every(b=>r.O[b](t[u]))?t.splice(u--,1):(s=!1,f0&&e[o-1][2]>f;o--)e[o]=e[o-1];e[o]=[t,a,f]},(()=>{var i,e=Object.getPrototypeOf?t=>Object.getPrototypeOf(t):t=>t.__proto__;r.t=function(t,a){if(1&a&&(t=this(t)),8&a||"object"==typeof t&&t&&(4&a&&t.__esModule||16&a&&"function"==typeof t.then))return t;var f=Object.create(null);r.r(f);var o={};i=i||[null,e({}),e([]),e(e)];for(var n=2&a&&t;"object"==typeof n&&!~i.indexOf(n);n=e(n))Object.getOwnPropertyNames(n).forEach(s=>o[s]=()=>t[s]);return o.default=()=>t,r.d(f,o),f}})(),r.d=(e,i)=>{for(var t in i)r.o(i,t)&&!r.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:i[t]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((i,t)=>(r.f[t](e,i),i),[])),r.u=e=>(8592===e?"common":e)+".js",r.miniCssF=e=>{},r.o=(e,i)=>Object.prototype.hasOwnProperty.call(e,i),(()=>{var e={},i="contenttype-fields-builder:";r.l=(t,a,f,o)=>{if(e[t])e[t].push(a);else{var n,s;if(void 0!==f)for(var u=document.getElementsByTagName("script"),l=0;l{n.onerror=n.onload=null,clearTimeout(p);var y=e[t];if(delete e[t],n.parentNode&&n.parentNode.removeChild(n),y&&y.forEach(g=>g(b)),v)return v(b)},p=setTimeout(c.bind(null,void 0,{type:"timeout",target:n}),12e4);n.onerror=c.bind(null,n.onerror),n.onload=c.bind(null,n.onload),s&&document.head.appendChild(n)}}})(),r.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.tt=()=>(void 0===e&&(e={createScriptURL:i=>i},typeof trustedTypes<"u"&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e)})(),r.tu=e=>r.tt().createScriptURL(e),r.p="",(()=>{var e={3666:0};r.f.j=(a,f)=>{var o=r.o(e,a)?e[a]:void 0;if(0!==o)if(o)f.push(o[2]);else if(3666!=a){var n=new Promise((d,c)=>o=e[a]=[d,c]);f.push(o[2]=n);var s=r.p+r.u(a),u=new Error;r.l(s,d=>{if(r.o(e,a)&&(0!==(o=e[a])&&(e[a]=void 0),o)){var c=d&&("load"===d.type?"missing":d.type),p=d&&d.target&&d.target.src;u.message="Loading chunk "+a+" failed.\n("+c+": "+p+")",u.name="ChunkLoadError",u.type=c,u.request=p,o[1](u)}},"chunk-"+a,a)}else e[a]=0},r.O.j=a=>0===e[a];var i=(a,f)=>{var u,l,[o,n,s]=f,d=0;if(o.some(p=>0!==e[p])){for(u in n)r.o(n,u)&&(r.m[u]=n[u]);if(s)var c=s(r)}for(a&&a(f);d{!function(e){const n=e.performance;function i(I){n&&n.mark&&n.mark(I)}function r(I,_){n&&n.measure&&n.measure(I,_)}i("Zone");const c=e.__Zone_symbol_prefix||"__zone_symbol__";function u(I){return c+I}const f=!0===e[u("forceDuplicateZoneCheck")];if(e.Zone){if(f||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}let p=(()=>{class I{constructor(t,o){this._parent=t,this._name=o?o.name||"unnamed":"",this._properties=o&&o.properties||{},this._zoneDelegate=new T(this,this._parent&&this._parent._zoneDelegate,o)}static assertZonePatched(){if(e.Promise!==K.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let t=I.current;for(;t.parent;)t=t.parent;return t}static get current(){return G.zone}static get currentTask(){return te}static __load_patch(t,o,y=!1){if(K.hasOwnProperty(t)){if(!y&&f)throw Error("Already loaded patch: "+t)}else if(!e["__Zone_disable_"+t]){const P="Zone:"+t;i(P),K[t]=o(e,I,le),r(P,P)}}get parent(){return this._parent}get name(){return this._name}get(t){const o=this.getZoneWith(t);if(o)return o._properties[t]}getZoneWith(t){let o=this;for(;o;){if(o._properties.hasOwnProperty(t))return o;o=o._parent}return null}fork(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)}wrap(t,o){if("function"!=typeof t)throw new Error("Expecting function got: "+t);const y=this._zoneDelegate.intercept(this,t,o),P=this;return function(){return P.runGuarded(y,this,arguments,o)}}run(t,o,y,P){G={parent:G,zone:this};try{return this._zoneDelegate.invoke(this,t,o,y,P)}finally{G=G.parent}}runGuarded(t,o=null,y,P){G={parent:G,zone:this};try{try{return this._zoneDelegate.invoke(this,t,o,y,P)}catch(J){if(this._zoneDelegate.handleError(this,J))throw J}}finally{G=G.parent}}runTask(t,o,y){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||z).name+"; Execution: "+this.name+")");if(t.state===H&&(t.type===R||t.type===M))return;const P=t.state!=X;P&&t._transitionTo(X,Z),t.runCount++;const J=te;te=t,G={parent:G,zone:this};try{t.type==M&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,o,y)}catch(l){if(this._zoneDelegate.handleError(this,l))throw l}}finally{t.state!==H&&t.state!==Y&&(t.type==R||t.data&&t.data.isPeriodic?P&&t._transitionTo(Z,X):(t.runCount=0,this._updateTaskCount(t,-1),P&&t._transitionTo(H,X,H))),G=G.parent,te=J}}scheduleTask(t){if(t.zone&&t.zone!==this){let y=this;for(;y;){if(y===t.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${t.zone.name}`);y=y.parent}}t._transitionTo(W,H);const o=[];t._zoneDelegates=o,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(y){throw t._transitionTo(Y,W,H),this._zoneDelegate.handleError(this,y),y}return t._zoneDelegates===o&&this._updateTaskCount(t,1),t.state==W&&t._transitionTo(Z,W),t}scheduleMicroTask(t,o,y,P){return this.scheduleTask(new m(v,t,o,y,P,void 0))}scheduleMacroTask(t,o,y,P,J){return this.scheduleTask(new m(M,t,o,y,P,J))}scheduleEventTask(t,o,y,P,J){return this.scheduleTask(new m(R,t,o,y,P,J))}cancelTask(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||z).name+"; Execution: "+this.name+")");t._transitionTo(A,Z,X);try{this._zoneDelegate.cancelTask(this,t)}catch(o){throw t._transitionTo(Y,A),this._zoneDelegate.handleError(this,o),o}return this._updateTaskCount(t,-1),t._transitionTo(H,A),t.runCount=0,t}_updateTaskCount(t,o){const y=t._zoneDelegates;-1==o&&(t._zoneDelegates=null);for(let P=0;PI.hasTask(t,o),onScheduleTask:(I,_,t,o)=>I.scheduleTask(t,o),onInvokeTask:(I,_,t,o,y,P)=>I.invokeTask(t,o,y,P),onCancelTask:(I,_,t,o)=>I.cancelTask(t,o)};class T{constructor(_,t,o){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=_,this._parentDelegate=t,this._forkZS=o&&(o&&o.onFork?o:t._forkZS),this._forkDlgt=o&&(o.onFork?t:t._forkDlgt),this._forkCurrZone=o&&(o.onFork?this.zone:t._forkCurrZone),this._interceptZS=o&&(o.onIntercept?o:t._interceptZS),this._interceptDlgt=o&&(o.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=o&&(o.onIntercept?this.zone:t._interceptCurrZone),this._invokeZS=o&&(o.onInvoke?o:t._invokeZS),this._invokeDlgt=o&&(o.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=o&&(o.onInvoke?this.zone:t._invokeCurrZone),this._handleErrorZS=o&&(o.onHandleError?o:t._handleErrorZS),this._handleErrorDlgt=o&&(o.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=o&&(o.onHandleError?this.zone:t._handleErrorCurrZone),this._scheduleTaskZS=o&&(o.onScheduleTask?o:t._scheduleTaskZS),this._scheduleTaskDlgt=o&&(o.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=o&&(o.onScheduleTask?this.zone:t._scheduleTaskCurrZone),this._invokeTaskZS=o&&(o.onInvokeTask?o:t._invokeTaskZS),this._invokeTaskDlgt=o&&(o.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=o&&(o.onInvokeTask?this.zone:t._invokeTaskCurrZone),this._cancelTaskZS=o&&(o.onCancelTask?o:t._cancelTaskZS),this._cancelTaskDlgt=o&&(o.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=o&&(o.onCancelTask?this.zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const y=o&&o.onHasTask;(y||t&&t._hasTaskZS)&&(this._hasTaskZS=y?o:g,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=_,o.onScheduleTask||(this._scheduleTaskZS=g,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),o.onInvokeTask||(this._invokeTaskZS=g,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),o.onCancelTask||(this._cancelTaskZS=g,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}fork(_,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,_,t):new p(_,t)}intercept(_,t,o){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,_,t,o):t}invoke(_,t,o,y,P){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,_,t,o,y,P):t.apply(o,y)}handleError(_,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,_,t)}scheduleTask(_,t){let o=t;if(this._scheduleTaskZS)this._hasTaskZS&&o._zoneDelegates.push(this._hasTaskDlgtOwner),o=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,_,t),o||(o=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=v)throw new Error("Task is missing scheduleFn.");d(t)}return o}invokeTask(_,t,o,y){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,_,t,o,y):t.callback.apply(o,y)}cancelTask(_,t){let o;if(this._cancelTaskZS)o=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,_,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");o=t.cancelFn(t)}return o}hasTask(_,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,_,t)}catch(o){this.handleError(_,o)}}_updateTaskCount(_,t){const o=this._taskCounts,y=o[_],P=o[_]=y+t;if(P<0)throw new Error("More tasks executed then were scheduled.");0!=y&&0!=P||this.hasTask(this.zone,{microTask:o.microTask>0,macroTask:o.macroTask>0,eventTask:o.eventTask>0,change:_})}}class m{constructor(_,t,o,y,P,J){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=_,this.source=t,this.data=y,this.scheduleFn=P,this.cancelFn=J,!o)throw new Error("callback is not defined");this.callback=o;const l=this;this.invoke=_===R&&y&&y.useG?m.invokeTask:function(){return m.invokeTask.call(e,l,this,arguments)}}static invokeTask(_,t,o){_||(_=this),re++;try{return _.runCount++,_.zone.runTask(_,t,o)}finally{1==re&&L(),re--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(H,W)}_transitionTo(_,t,o){if(this._state!==t&&this._state!==o)throw new Error(`${this.type} '${this.source}': can not transition to '${_}', expecting state '${t}'${o?" or '"+o+"'":""}, was '${this._state}'.`);this._state=_,_==H&&(this._zoneDelegates=null)}toString(){return this.data&&typeof this.data.handleId<"u"?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const D=u("setTimeout"),S=u("Promise"),O=u("then");let E,F=[],V=!1;function d(I){if(0===re&&0===F.length)if(E||e[S]&&(E=e[S].resolve(0)),E){let _=E[O];_||(_=E.then),_.call(E,L)}else e[D](L,0);I&&F.push(I)}function L(){if(!V){for(V=!0;F.length;){const I=F;F=[];for(let _=0;_G,onUnhandledError:B,microtaskDrainDone:B,scheduleMicroTask:d,showUncaughtError:()=>!p[u("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:B,patchMethod:()=>B,bindArguments:()=>[],patchThen:()=>B,patchMacroTask:()=>B,patchEventPrototype:()=>B,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>B,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>B,wrapWithCurrentZone:()=>B,filterProperties:()=>[],attachOriginToPatched:()=>B,_redefineProperty:()=>B,patchCallbacks:()=>B};let G={parent:null,zone:new p(null,null)},te=null,re=0;function B(){}r("Zone","Zone"),e.Zone=p}(typeof window<"u"&&window||typeof self<"u"&&self||global);const fe=Object.getOwnPropertyDescriptor,be=Object.defineProperty,ye=Object.getPrototypeOf,lt=Object.create,ut=Array.prototype.slice,De="addEventListener",Ze="removeEventListener",Oe=Zone.__symbol__(De),Ie=Zone.__symbol__(Ze),se="true",ie="false",ge=Zone.__symbol__("");function Le(e,n){return Zone.current.wrap(e,n)}function Me(e,n,i,r,c){return Zone.current.scheduleMacroTask(e,n,i,r,c)}const x=Zone.__symbol__,we=typeof window<"u",de=we?window:void 0,$=we&&de||"object"==typeof self&&self||global,ht=[null];function Ae(e,n){for(let i=e.length-1;i>=0;i--)"function"==typeof e[i]&&(e[i]=Le(e[i],n+"_"+i));return e}function Fe(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&typeof e.set>"u")}const Be=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,Pe=!("nw"in $)&&typeof $.process<"u"&&"[object process]"==={}.toString.call($.process),He=!Pe&&!Be&&!(!we||!de.HTMLElement),Ue=typeof $.process<"u"&&"[object process]"==={}.toString.call($.process)&&!Be&&!(!we||!de.HTMLElement),Re={},qe=function(e){if(!(e=e||$.event))return;let n=Re[e.type];n||(n=Re[e.type]=x("ON_PROPERTY"+e.type));const i=this||e.target||$,r=i[n];let c;return He&&i===de&&"error"===e.type?(c=r&&r.call(this,e.message,e.filename,e.lineno,e.colno,e.error),!0===c&&e.preventDefault()):(c=r&&r.apply(this,arguments),null!=c&&!c&&e.preventDefault()),c};function We(e,n,i){let r=fe(e,n);if(!r&&i&&fe(i,n)&&(r={enumerable:!0,configurable:!0}),!r||!r.configurable)return;const c=x("on"+n+"patched");if(e.hasOwnProperty(c)&&e[c])return;delete r.writable,delete r.value;const u=r.get,f=r.set,p=n.substr(2);let g=Re[p];g||(g=Re[p]=x("ON_PROPERTY"+p)),r.set=function(T){let m=this;!m&&e===$&&(m=$),m&&(m[g]&&m.removeEventListener(p,qe),f&&f.apply(m,ht),"function"==typeof T?(m[g]=T,m.addEventListener(p,qe,!1)):m[g]=null)},r.get=function(){let T=this;if(!T&&e===$&&(T=$),!T)return null;const m=T[g];if(m)return m;if(u){let D=u&&u.call(this);if(D)return r.set.call(this,D),"function"==typeof T.removeAttribute&&T.removeAttribute(n),D}return null},be(e,n,r),e[c]=!0}function Xe(e,n,i){if(n)for(let r=0;rfunction(f,p){const g=i(f,p);return g.cbIdx>=0&&"function"==typeof p[g.cbIdx]?Me(g.name,p[g.cbIdx],g,c):u.apply(f,p)})}function ae(e,n){e[x("OriginalDelegate")]=n}let Ye=!1,je=!1;function mt(){if(Ye)return je;Ye=!0;try{const e=de.navigator.userAgent;(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/"))&&(je=!0)}catch{}return je}Zone.__load_patch("ZoneAwarePromise",(e,n,i)=>{const r=Object.getOwnPropertyDescriptor,c=Object.defineProperty,f=i.symbol,p=[],g=!0===e[f("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],T=f("Promise"),m=f("then");i.onUnhandledError=l=>{if(i.showUncaughtError()){const s=l&&l.rejection;s?console.error("Unhandled Promise rejection:",s instanceof Error?s.message:s,"; Zone:",l.zone.name,"; Task:",l.task&&l.task.source,"; Value:",s,s instanceof Error?s.stack:void 0):console.error(l)}},i.microtaskDrainDone=()=>{for(;p.length;){const l=p.shift();try{l.zone.runGuarded(()=>{throw l.throwOriginal?l.rejection:l})}catch(s){O(s)}}};const S=f("unhandledPromiseRejectionHandler");function O(l){i.onUnhandledError(l);try{const s=n[S];"function"==typeof s&&s.call(this,l)}catch{}}function F(l){return l&&l.then}function V(l){return l}function E(l){return t.reject(l)}const d=f("state"),L=f("value"),z=f("finally"),H=f("parentPromiseValue"),W=f("parentPromiseState"),X=null,A=!0,Y=!1;function M(l,s){return a=>{try{G(l,s,a)}catch(h){G(l,!1,h)}}}const le=f("currentTaskTrace");function G(l,s,a){const h=function(){let l=!1;return function(a){return function(){l||(l=!0,a.apply(null,arguments))}}}();if(l===a)throw new TypeError("Promise resolved with itself");if(l[d]===X){let w=null;try{("object"==typeof a||"function"==typeof a)&&(w=a&&a.then)}catch(N){return h(()=>{G(l,!1,N)})(),l}if(s!==Y&&a instanceof t&&a.hasOwnProperty(d)&&a.hasOwnProperty(L)&&a[d]!==X)re(a),G(l,a[d],a[L]);else if(s!==Y&&"function"==typeof w)try{w.call(a,h(M(l,s)),h(M(l,!1)))}catch(N){h(()=>{G(l,!1,N)})()}else{l[d]=s;const N=l[L];if(l[L]=a,l[z]===z&&s===A&&(l[d]=l[W],l[L]=l[H]),s===Y&&a instanceof Error){const k=n.currentTask&&n.currentTask.data&&n.currentTask.data.__creationTrace__;k&&c(a,le,{configurable:!0,enumerable:!1,writable:!0,value:k})}for(let k=0;k{try{const b=l[L],C=!!a&&z===a[z];C&&(a[H]=b,a[W]=N);const j=s.run(k,void 0,C&&k!==E&&k!==V?[]:[b]);G(a,!0,j)}catch(b){G(a,!1,b)}},a)}const _=function(){};class t{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(s){return G(new this(null),A,s)}static reject(s){return G(new this(null),Y,s)}static race(s){let a,h,w=new this((b,C)=>{a=b,h=C});function N(b){a(b)}function k(b){h(b)}for(let b of s)F(b)||(b=this.resolve(b)),b.then(N,k);return w}static all(s){return t.allWithCallback(s)}static allSettled(s){return(this&&this.prototype instanceof t?this:t).allWithCallback(s,{thenCallback:h=>({status:"fulfilled",value:h}),errorCallback:h=>({status:"rejected",reason:h})})}static allWithCallback(s,a){let h,w,N=new this((j,U)=>{h=j,w=U}),k=2,b=0;const C=[];for(let j of s){F(j)||(j=this.resolve(j));const U=b;try{j.then(Q=>{C[U]=a?a.thenCallback(Q):Q,k--,0===k&&h(C)},Q=>{a?(C[U]=a.errorCallback(Q),k--,0===k&&h(C)):w(Q)})}catch(Q){w(Q)}k++,b++}return k-=2,0===k&&h(C),N}constructor(s){const a=this;if(!(a instanceof t))throw new Error("Must be an instanceof Promise.");a[d]=X,a[L]=[];try{s&&s(M(a,A),M(a,Y))}catch(h){G(a,!1,h)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return t}then(s,a){let h=this.constructor[Symbol.species];(!h||"function"!=typeof h)&&(h=this.constructor||t);const w=new h(_),N=n.current;return this[d]==X?this[L].push(N,w,s,a):B(this,N,w,s,a),w}catch(s){return this.then(null,s)}finally(s){let a=this.constructor[Symbol.species];(!a||"function"!=typeof a)&&(a=t);const h=new a(_);h[z]=z;const w=n.current;return this[d]==X?this[L].push(w,h,s,s):B(this,w,h,s,s),h}}t.resolve=t.resolve,t.reject=t.reject,t.race=t.race,t.all=t.all;const o=e[T]=e.Promise;e.Promise=t;const y=f("thenPatched");function P(l){const s=l.prototype,a=r(s,"then");if(a&&(!1===a.writable||!a.configurable))return;const h=s.then;s[m]=h,l.prototype.then=function(w,N){return new t((b,C)=>{h.call(this,b,C)}).then(w,N)},l[y]=!0}return i.patchThen=P,o&&(P(o),ce(e,"fetch",l=>function J(l){return function(s,a){let h=l.apply(s,a);if(h instanceof t)return h;let w=h.constructor;return w[y]||P(w),h}}(l))),Promise[n.__symbol__("uncaughtPromiseErrors")]=p,t}),Zone.__load_patch("toString",e=>{const n=Function.prototype.toString,i=x("OriginalDelegate"),r=x("Promise"),c=x("Error"),u=function(){if("function"==typeof this){const T=this[i];if(T)return"function"==typeof T?n.call(T):Object.prototype.toString.call(T);if(this===Promise){const m=e[r];if(m)return n.call(m)}if(this===Error){const m=e[c];if(m)return n.call(m)}}return n.call(this)};u[i]=n,Function.prototype.toString=u;const f=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":f.call(this)}});let pe=!1;if(typeof window<"u")try{const e=Object.defineProperty({},"passive",{get:function(){pe=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch{pe=!1}const Et={useG:!0},ee={},$e={},Je=new RegExp("^"+ge+"(\\w+)(true|false)$"),xe=x("propagationStopped");function Ke(e,n){const i=(n?n(e):e)+ie,r=(n?n(e):e)+se,c=ge+i,u=ge+r;ee[e]={},ee[e][ie]=c,ee[e][se]=u}function Tt(e,n,i){const r=i&&i.add||De,c=i&&i.rm||Ze,u=i&&i.listeners||"eventListeners",f=i&&i.rmAll||"removeAllListeners",p=x(r),g="."+r+":",T="prependListener",m="."+T+":",D=function(E,d,L){if(E.isRemoved)return;const z=E.callback;"object"==typeof z&&z.handleEvent&&(E.callback=W=>z.handleEvent(W),E.originalDelegate=z),E.invoke(E,d,[L]);const H=E.options;H&&"object"==typeof H&&H.once&&d[c].call(d,L.type,E.originalDelegate?E.originalDelegate:E.callback,H)},S=function(E){if(!(E=E||e.event))return;const d=this||E.target||e,L=d[ee[E.type][ie]];if(L)if(1===L.length)D(L[0],d,E);else{const z=L.slice();for(let H=0;Hfunction(c,u){c[xe]=!0,r&&r.apply(c,u)})}function gt(e,n,i,r,c){const u=Zone.__symbol__(r);if(n[u])return;const f=n[u]=n[r];n[r]=function(p,g,T){return g&&g.prototype&&c.forEach(function(m){const D=`${i}.${r}::`+m,S=g.prototype;if(S.hasOwnProperty(m)){const O=e.ObjectGetOwnPropertyDescriptor(S,m);O&&O.value?(O.value=e.wrapWithCurrentZone(O.value,D),e._redefineProperty(g.prototype,m,O)):S[m]&&(S[m]=e.wrapWithCurrentZone(S[m],D))}else S[m]&&(S[m]=e.wrapWithCurrentZone(S[m],D))}),f.call(n,p,g,T)},e.attachOriginToPatched(n[r],f)}const Ve=["absolutedeviceorientation","afterinput","afterprint","appinstalled","beforeinstallprompt","beforeprint","beforeunload","devicelight","devicemotion","deviceorientation","deviceorientationabsolute","deviceproximity","hashchange","languagechange","message","mozbeforepaint","offline","online","paint","pageshow","pagehide","popstate","rejectionhandled","storage","unhandledrejection","unload","userproximity","vrdisplayconnected","vrdisplaydisconnected","vrdisplaypresentchange"],wt=["encrypted","waitingforkey","msneedkey","mozinterruptbegin","mozinterruptend"],et=["load"],tt=["blur","error","focus","load","resize","scroll","messageerror"],St=["bounce","finish","start"],nt=["loadstart","progress","abort","error","load","progress","timeout","loadend","readystatechange"],_e=["upgradeneeded","complete","abort","success","error","blocked","versionchange","close"],Dt=["close","error","open","message"],Zt=["error","message"],me=["abort","animationcancel","animationend","animationiteration","auxclick","beforeinput","blur","cancel","canplay","canplaythrough","change","compositionstart","compositionupdate","compositionend","cuechange","click","close","contextmenu","curechange","dblclick","drag","dragend","dragenter","dragexit","dragleave","dragover","drop","durationchange","emptied","ended","error","focus","focusin","focusout","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadstart","loadeddata","loadedmetadata","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","orientationchange","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointerlockchange","mozpointerlockchange","webkitpointerlockerchange","pointerlockerror","mozpointerlockerror","webkitpointerlockerror","pointermove","pointout","pointerover","pointerup","progress","ratechange","reset","resize","scroll","seeked","seeking","select","selectionchange","selectstart","show","sort","stalled","submit","suspend","timeupdate","volumechange","touchcancel","touchmove","touchstart","touchend","transitioncancel","transitionend","waiting","wheel"].concat(["webglcontextrestored","webglcontextlost","webglcontextcreationerror"],["autocomplete","autocompleteerror"],["toggle"],["afterscriptexecute","beforescriptexecute","DOMContentLoaded","freeze","fullscreenchange","mozfullscreenchange","webkitfullscreenchange","msfullscreenchange","fullscreenerror","mozfullscreenerror","webkitfullscreenerror","msfullscreenerror","readystatechange","visibilitychange","resume"],Ve,["beforecopy","beforecut","beforepaste","copy","cut","paste","dragstart","loadend","animationstart","search","transitionrun","transitionstart","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend"],["activate","afterupdate","ariarequest","beforeactivate","beforedeactivate","beforeeditfocus","beforeupdate","cellchange","controlselect","dataavailable","datasetchanged","datasetcomplete","errorupdate","filterchange","layoutcomplete","losecapture","move","moveend","movestart","propertychange","resizeend","resizestart","rowenter","rowexit","rowsdelete","rowsinserted","command","compassneedscalibration","deactivate","help","mscontentzoom","msmanipulationstatechanged","msgesturechange","msgesturedoubletap","msgestureend","msgesturehold","msgesturestart","msgesturetap","msgotpointercapture","msinertiastart","mslostpointercapture","mspointercancel","mspointerdown","mspointerenter","mspointerhover","mspointerleave","mspointermove","mspointerout","mspointerover","mspointerup","pointerout","mssitemodejumplistitemremoved","msthumbnailclick","stop","storagecommit"]);function rt(e,n,i){if(!i||0===i.length)return n;const r=i.filter(u=>u.target===e);if(!r||0===r.length)return n;const c=r[0].ignoreProperties;return n.filter(u=>-1===c.indexOf(u))}function q(e,n,i,r){e&&Xe(e,rt(e,n,i),r)}Zone.__load_patch("util",(e,n,i)=>{i.patchOnProperties=Xe,i.patchMethod=ce,i.bindArguments=Ae,i.patchMacroTask=pt;const r=n.__symbol__("BLACK_LISTED_EVENTS"),c=n.__symbol__("UNPATCHED_EVENTS");e[c]&&(e[r]=e[c]),e[r]&&(n[r]=n[c]=e[r]),i.patchEventPrototype=yt,i.patchEventTarget=Tt,i.isIEOrEdge=mt,i.ObjectDefineProperty=be,i.ObjectGetOwnPropertyDescriptor=fe,i.ObjectCreate=lt,i.ArraySlice=ut,i.patchClass=ke,i.wrapWithCurrentZone=Le,i.filterProperties=rt,i.attachOriginToPatched=ae,i._redefineProperty=Object.defineProperty,i.patchCallbacks=gt,i.getGlobalObjects=()=>({globalSources:$e,zoneSymbolEventNames:ee,eventNames:me,isBrowser:He,isMix:Ue,isNode:Pe,TRUE_STR:se,FALSE_STR:ie,ZONE_SYMBOL_PREFIX:ge,ADD_EVENT_LISTENER_STR:De,REMOVE_EVENT_LISTENER_STR:Ze})});const Ne=x("zoneTask");function Ee(e,n,i,r){let c=null,u=null;i+=r;const f={};function p(T){const m=T.data;return m.args[0]=function(){return T.invoke.apply(this,arguments)},m.handleId=c.apply(e,m.args),T}function g(T){return u.call(e,T.data.handleId)}c=ce(e,n+=r,T=>function(m,D){if("function"==typeof D[0]){const S={isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?D[1]||0:void 0,args:D},O=D[0];D[0]=function(){try{return O.apply(this,arguments)}finally{S.isPeriodic||("number"==typeof S.handleId?delete f[S.handleId]:S.handleId&&(S.handleId[Ne]=null))}};const F=Me(n,D[0],S,p,g);if(!F)return F;const V=F.data.handleId;return"number"==typeof V?f[V]=F:V&&(V[Ne]=F),V&&V.ref&&V.unref&&"function"==typeof V.ref&&"function"==typeof V.unref&&(F.ref=V.ref.bind(V),F.unref=V.unref.bind(V)),"number"==typeof V||V?V:F}return T.apply(e,D)}),u=ce(e,i,T=>function(m,D){const S=D[0];let O;"number"==typeof S?O=f[S]:(O=S&&S[Ne],O||(O=S)),O&&"string"==typeof O.type?"notScheduled"!==O.state&&(O.cancelFn&&O.data.isPeriodic||0===O.runCount)&&("number"==typeof S?delete f[S]:S&&(S[Ne]=null),O.zone.cancelTask(O)):T.apply(e,D)})}Zone.__load_patch("legacy",e=>{const n=e[Zone.__symbol__("legacyPatch")];n&&n()}),Zone.__load_patch("queueMicrotask",(e,n,i)=>{i.patchMethod(e,"queueMicrotask",r=>function(c,u){n.current.scheduleMicroTask("queueMicrotask",u[0])})}),Zone.__load_patch("timers",e=>{const n="set",i="clear";Ee(e,n,i,"Timeout"),Ee(e,n,i,"Interval"),Ee(e,n,i,"Immediate")}),Zone.__load_patch("requestAnimationFrame",e=>{Ee(e,"request","cancel","AnimationFrame"),Ee(e,"mozRequest","mozCancel","AnimationFrame"),Ee(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(e,n)=>{const i=["alert","prompt","confirm"];for(let r=0;rfunction(g,T){return n.current.run(u,e,T,p)})}),Zone.__load_patch("EventTarget",(e,n,i)=>{(function Mt(e,n){n.patchEventPrototype(e,n)})(e,i),function Lt(e,n){if(Zone[n.symbol("patchEventTarget")])return;const{eventNames:i,zoneSymbolEventNames:r,TRUE_STR:c,FALSE_STR:u,ZONE_SYMBOL_PREFIX:f}=n.getGlobalObjects();for(let g=0;g{ke("MutationObserver"),ke("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(e,n,i)=>{ke("IntersectionObserver")}),Zone.__load_patch("FileReader",(e,n,i)=>{ke("FileReader")}),Zone.__load_patch("on_property",(e,n,i)=>{!function Ot(e,n){if(Pe&&!Ue||Zone[e.symbol("patchEvents")])return;const i=typeof WebSocket<"u",r=n.__Zone_ignore_on_properties;if(He){const f=window,p=function _t(){try{const e=de.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch{}return!1}()?[{target:f,ignoreProperties:["error"]}]:[];q(f,me.concat(["messageerror"]),r&&r.concat(p),ye(f)),q(Document.prototype,me,r),typeof f.SVGElement<"u"&&q(f.SVGElement.prototype,me,r),q(Element.prototype,me,r),q(HTMLElement.prototype,me,r),q(HTMLMediaElement.prototype,wt,r),q(HTMLFrameSetElement.prototype,Ve.concat(tt),r),q(HTMLBodyElement.prototype,Ve.concat(tt),r),q(HTMLFrameElement.prototype,et,r),q(HTMLIFrameElement.prototype,et,r);const g=f.HTMLMarqueeElement;g&&q(g.prototype,St,r);const T=f.Worker;T&&q(T.prototype,Zt,r)}const c=n.XMLHttpRequest;c&&q(c.prototype,nt,r);const u=n.XMLHttpRequestEventTarget;u&&q(u&&u.prototype,nt,r),typeof IDBIndex<"u"&&(q(IDBIndex.prototype,_e,r),q(IDBRequest.prototype,_e,r),q(IDBOpenDBRequest.prototype,_e,r),q(IDBDatabase.prototype,_e,r),q(IDBTransaction.prototype,_e,r),q(IDBCursor.prototype,_e,r)),i&&q(WebSocket.prototype,Dt,r)}(i,e)}),Zone.__load_patch("customElements",(e,n,i)=>{!function It(e,n){const{isBrowser:i,isMix:r}=n.getGlobalObjects();(i||r)&&e.customElements&&"customElements"in e&&n.patchCallbacks(n,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,i)}),Zone.__load_patch("XHR",(e,n)=>{!function g(T){const m=T.XMLHttpRequest;if(!m)return;const D=m.prototype;let O=D[Oe],F=D[Ie];if(!O){const v=T.XMLHttpRequestEventTarget;if(v){const M=v.prototype;O=M[Oe],F=M[Ie]}}const V="readystatechange",E="scheduled";function d(v){const M=v.data,R=M.target;R[u]=!1,R[p]=!1;const K=R[c];O||(O=R[Oe],F=R[Ie]),K&&F.call(R,V,K);const le=R[c]=()=>{if(R.readyState===R.DONE)if(!M.aborted&&R[u]&&v.state===E){const te=R[n.__symbol__("loadfalse")];if(0!==R.status&&te&&te.length>0){const re=v.invoke;v.invoke=function(){const B=R[n.__symbol__("loadfalse")];for(let I=0;Ifunction(v,M){return v[r]=0==M[2],v[f]=M[1],H.apply(v,M)}),Z=x("fetchTaskAborting"),X=x("fetchTaskScheduling"),A=ce(D,"send",()=>function(v,M){if(!0===n.current[X]||v[r])return A.apply(v,M);{const R={target:v,url:v[f],isPeriodic:!1,args:M,aborted:!1},K=Me("XMLHttpRequest.send",L,R,d,z);v&&!0===v[p]&&!R.aborted&&K.state===E&&K.invoke()}}),Y=ce(D,"abort",()=>function(v,M){const R=function S(v){return v[i]}(v);if(R&&"string"==typeof R.type){if(null==R.cancelFn||R.data&&R.data.aborted)return;R.zone.cancelTask(R)}else if(!0===n.current[Z])return Y.apply(v,M)})}(e);const i=x("xhrTask"),r=x("xhrSync"),c=x("xhrListener"),u=x("xhrScheduled"),f=x("xhrURL"),p=x("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",e=>{e.navigator&&e.navigator.geolocation&&function dt(e,n){const i=e.constructor.name;for(let r=0;r{const g=function(){return p.apply(this,Ae(arguments,i+"."+c))};return ae(g,p),g})(u)}}}(e.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(e,n)=>{function i(r){return function(c){Qe(e,r).forEach(f=>{const p=e.PromiseRejectionEvent;if(p){const g=new p(r,{promise:c.promise,reason:c.rejection});f.invoke(g)}})}}e.PromiseRejectionEvent&&(n[x("unhandledPromiseRejectionHandler")]=i("unhandledrejection"),n[x("rejectionHandledHandler")]=i("rejectionhandled"))})}},Se=>{Se(Se.s=88583)}]);(self.webpackChunkcontenttype_fields_builder=self.webpackChunkcontenttype_fields_builder||[]).push([[179],{44579:(mi,rs,In)=>{"use strict";function rt(n){return"function"==typeof n}let qt=!1;const Le={Promise:void 0,set useDeprecatedSynchronousErrorHandling(n){if(n){const t=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+t.stack)}else qt&&console.log("RxJS: Back to a better error behavior. Thank you. <3");qt=n},get useDeprecatedSynchronousErrorHandling(){return qt}};function bt(n){setTimeout(()=>{throw n},0)}const Kn={closed:!0,next(n){},error(n){if(Le.useDeprecatedSynchronousErrorHandling)throw n;bt(n)},complete(){}},Kt=Array.isArray||(n=>n&&"number"==typeof n.length);function Tl(n){return null!==n&&"object"==typeof n}const os=(()=>{function n(t){return Error.call(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((e,i)=>`${i+1}) ${e.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t,this}return n.prototype=Object.create(Error.prototype),n})();class _e{constructor(t){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,t&&(this._ctorUnsubscribe=!0,this._unsubscribe=t)}unsubscribe(){let t;if(this.closed)return;let{_parentOrParents:e,_ctorUnsubscribe:i,_unsubscribe:r,_subscriptions:o}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,e instanceof _e)e.remove(this);else if(null!==e)for(let s=0;st.concat(e instanceof os?e.errors:e),[])}_e.EMPTY=((n=new _e).closed=!0,n);const ss="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class Se extends _e{constructor(t,e,i){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=Kn;break;case 1:if(!t){this.destination=Kn;break}if("object"==typeof t){t instanceof Se?(this.syncErrorThrowable=t.syncErrorThrowable,this.destination=t,t.add(this)):(this.syncErrorThrowable=!0,this.destination=new Gf(this,t));break}default:this.syncErrorThrowable=!0,this.destination=new Gf(this,t,e,i)}}[ss](){return this}static create(t,e,i){const r=new Se(t,e,i);return r.syncErrorThrowable=!1,r}next(t){this.isStopped||this._next(t)}error(t){this.isStopped||(this.isStopped=!0,this._error(t))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(t){this.destination.next(t)}_error(t){this.destination.error(t),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:t}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=t,this}}class Gf extends Se{constructor(t,e,i,r){super(),this._parentSubscriber=t;let o,s=this;rt(e)?o=e:e&&(o=e.next,i=e.error,r=e.complete,e!==Kn&&(s=Object.create(e),rt(s.unsubscribe)&&this.add(s.unsubscribe.bind(s)),s.unsubscribe=this.unsubscribe.bind(this))),this._context=s,this._next=o,this._error=i,this._complete=r}next(t){if(!this.isStopped&&this._next){const{_parentSubscriber:e}=this;Le.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}}error(t){if(!this.isStopped){const{_parentSubscriber:e}=this,{useDeprecatedSynchronousErrorHandling:i}=Le;if(this._error)i&&e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else if(e.syncErrorThrowable)i?(e.syncErrorValue=t,e.syncErrorThrown=!0):bt(t),this.unsubscribe();else{if(this.unsubscribe(),i)throw t;bt(t)}}}complete(){if(!this.isStopped){const{_parentSubscriber:t}=this;if(this._complete){const e=()=>this._complete.call(this._context);Le.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?(this.__tryOrSetError(t,e),this.unsubscribe()):(this.__tryOrUnsub(e),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(t,e){try{t.call(this._context,e)}catch(i){if(this.unsubscribe(),Le.useDeprecatedSynchronousErrorHandling)throw i;bt(i)}}__tryOrSetError(t,e,i){if(!Le.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{e.call(this._context,i)}catch(r){return Le.useDeprecatedSynchronousErrorHandling?(t.syncErrorValue=r,t.syncErrorThrown=!0,!0):(bt(r),!0)}return!1}_unsubscribe(){const{_parentSubscriber:t}=this;this._context=null,this._parentSubscriber=null,t.unsubscribe()}}const $r="function"==typeof Symbol&&Symbol.observable||"@@observable";function qf(n){return n}let ve=(()=>{class n{constructor(e){this._isScalar=!1,e&&(this._subscribe=e)}lift(e){const i=new n;return i.source=this,i.operator=e,i}subscribe(e,i,r){const{operator:o}=this,s=function OE(n,t,e){if(n){if(n instanceof Se)return n;if(n[ss])return n[ss]()}return n||t||e?new Se(n,t,e):new Se(Kn)}(e,i,r);if(s.add(o?o.call(s,this.source):this.source||Le.useDeprecatedSynchronousErrorHandling&&!s.syncErrorThrowable?this._subscribe(s):this._trySubscribe(s)),Le.useDeprecatedSynchronousErrorHandling&&s.syncErrorThrowable&&(s.syncErrorThrowable=!1,s.syncErrorThrown))throw s.syncErrorValue;return s}_trySubscribe(e){try{return this._subscribe(e)}catch(i){Le.useDeprecatedSynchronousErrorHandling&&(e.syncErrorThrown=!0,e.syncErrorValue=i),function PE(n){for(;n;){const{closed:t,destination:e,isStopped:i}=n;if(t||i)return!1;n=e&&e instanceof Se?e:null}return!0}(e)?e.error(i):console.warn(i)}}forEach(e,i){return new(i=Qf(i))((r,o)=>{let s;s=this.subscribe(a=>{try{e(a)}catch(l){o(l),s&&s.unsubscribe()}},o,r)})}_subscribe(e){const{source:i}=this;return i&&i.subscribe(e)}[$r](){return this}pipe(...e){return 0===e.length?this:function Kf(n){return 0===n.length?qf:1===n.length?n[0]:function(e){return n.reduce((i,r)=>r(i),e)}}(e)(this)}toPromise(e){return new(e=Qf(e))((i,r)=>{let o;this.subscribe(s=>o=s,s=>r(s),()=>i(o))})}}return n.create=t=>new n(t),n})();function Qf(n){if(n||(n=Le.Promise||Promise),!n)throw new Error("no Promise impl found");return n}const gi=(()=>{function n(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return n.prototype=Object.create(Error.prototype),n})();class Yf extends _e{constructor(t,e){super(),this.subject=t,this.subscriber=e,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const t=this.subject,e=t.observers;if(this.subject=null,!e||0===e.length||t.isStopped||t.closed)return;const i=e.indexOf(this.subscriber);-1!==i&&e.splice(i,1)}}class Zf extends Se{constructor(t){super(t),this.destination=t}}let Tn=(()=>{class n extends ve{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[ss](){return new Zf(this)}lift(e){const i=new Xf(this,this);return i.operator=e,i}next(e){if(this.closed)throw new gi;if(!this.isStopped){const{observers:i}=this,r=i.length,o=i.slice();for(let s=0;snew Xf(t,e),n})();class Xf extends Tn{constructor(t,e){super(),this.destination=t,this.source=e}next(t){const{destination:e}=this;e&&e.next&&e.next(t)}error(t){const{destination:e}=this;e&&e.error&&this.destination.error(t)}complete(){const{destination:t}=this;t&&t.complete&&this.destination.complete()}_subscribe(t){const{source:e}=this;return e?this.source.subscribe(t):_e.EMPTY}}function Ml(n){return n&&"function"==typeof n.schedule}function mt(n,t){return function(i){if("function"!=typeof n)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return i.lift(new NE(n,t))}}class NE{constructor(t,e){this.project=t,this.thisArg=e}call(t,e){return e.subscribe(new RE(t,this.project,this.thisArg))}}class RE extends Se{constructor(t,e,i){super(t),this.project=e,this.count=0,this.thisArg=i||this}_next(t){let e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(i){return void this.destination.error(i)}this.destination.next(e)}}const Jf=n=>t=>{for(let e=0,i=n.length;en&&"number"==typeof n.length&&"function"!=typeof n;function th(n){return!!n&&"function"!=typeof n.subscribe&&"function"==typeof n.then}const Al=n=>{if(n&&"function"==typeof n[$r])return(n=>t=>{const e=n[$r]();if("function"!=typeof e.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return e.subscribe(t)})(n);if(eh(n))return Jf(n);if(th(n))return(n=>t=>(n.then(e=>{t.closed||(t.next(e),t.complete())},e=>t.error(e)).then(null,bt),t))(n);if(n&&"function"==typeof n[as])return(n=>t=>{const e=n[as]();for(;;){let i;try{i=e.next()}catch(r){return t.error(r),t}if(i.done){t.complete();break}if(t.next(i.value),t.closed)break}return"function"==typeof e.return&&t.add(()=>{e.return&&e.return()}),t})(n);{const e=`You provided ${Tl(n)?"an invalid object":`'${n}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(e)}};function xl(n,t){return new ve(e=>{const i=new _e;let r=0;return i.add(t.schedule(function(){r!==n.length?(e.next(n[r++]),e.closed||i.add(this.schedule())):e.complete()})),i})}function nh(n,t){if(null!=n){if(function UE(n){return n&&"function"==typeof n[$r]}(n))return function VE(n,t){return new ve(e=>{const i=new _e;return i.add(t.schedule(()=>{const r=n[$r]();i.add(r.subscribe({next(o){i.add(t.schedule(()=>e.next(o)))},error(o){i.add(t.schedule(()=>e.error(o)))},complete(){i.add(t.schedule(()=>e.complete()))}}))})),i})}(n,t);if(th(n))return function BE(n,t){return new ve(e=>{const i=new _e;return i.add(t.schedule(()=>n.then(r=>{i.add(t.schedule(()=>{e.next(r),i.add(t.schedule(()=>e.complete()))}))},r=>{i.add(t.schedule(()=>e.error(r)))}))),i})}(n,t);if(eh(n))return xl(n,t);if(function $E(n){return n&&"function"==typeof n[as]}(n)||"string"==typeof n)return function HE(n,t){if(!n)throw new Error("Iterable cannot be null");return new ve(e=>{const i=new _e;let r;return i.add(()=>{r&&"function"==typeof r.return&&r.return()}),i.add(t.schedule(()=>{r=n[as](),i.add(t.schedule(function(){if(e.closed)return;let o,s;try{const a=r.next();o=a.value,s=a.done}catch(a){return void e.error(a)}s?e.complete():(e.next(o),this.schedule())}))})),i})}(n,t)}throw new TypeError((null!==n&&typeof n||n)+" is not observable")}function yi(n,t){return t?nh(n,t):n instanceof ve?n:new ve(Al(n))}class ls extends Se{constructor(t){super(),this.parent=t}_next(t){this.parent.notifyNext(t)}_error(t){this.parent.notifyError(t),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class cs extends Se{notifyNext(t){this.destination.next(t)}notifyError(t){this.destination.error(t)}notifyComplete(){this.destination.complete()}}function us(n,t){if(t.closed)return;if(n instanceof ve)return n.subscribe(t);let e;try{e=Al(n)(t)}catch(i){t.error(i)}return e}function Pl(n,t,e=Number.POSITIVE_INFINITY){return"function"==typeof t?i=>i.pipe(Pl((r,o)=>yi(n(r,o)).pipe(mt((s,a)=>t(r,s,o,a))),e)):("number"==typeof t&&(e=t),i=>i.lift(new zE(n,e)))}class zE{constructor(t,e=Number.POSITIVE_INFINITY){this.project=t,this.concurrent=e}call(t,e){return e.subscribe(new WE(t,this.project,this.concurrent))}}class WE extends cs{constructor(t,e,i=Number.POSITIVE_INFINITY){super(t),this.project=e,this.concurrent=i,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(t){this.active0?this._next(t.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function Ol(n,t){return t?xl(n,t):new ve(Jf(n))}function ih(...n){let t=Number.POSITIVE_INFINITY,e=null,i=n[n.length-1];return Ml(i)?(e=n.pop(),n.length>1&&"number"==typeof n[n.length-1]&&(t=n.pop())):"number"==typeof i&&(t=n.pop()),null===e&&1===n.length&&n[0]instanceof ve?n[0]:function GE(n=Number.POSITIVE_INFINITY){return Pl(qf,n)}(t)(Ol(n,e))}function rh(){return function(t){return t.lift(new qE(t))}}class qE{constructor(t){this.connectable=t}call(t,e){const{connectable:i}=this;i._refCount++;const r=new KE(t,i),o=e.subscribe(r);return r.closed||(r.connection=i.connect()),o}}class KE extends Se{constructor(t,e){super(t),this.connectable=e}_unsubscribe(){const{connectable:t}=this;if(!t)return void(this.connection=null);this.connectable=null;const e=t._refCount;if(e<=0)return void(this.connection=null);if(t._refCount=e-1,e>1)return void(this.connection=null);const{connection:i}=this,r=t._connection;this.connection=null,r&&(!i||r===i)&&r.unsubscribe()}}class QE extends ve{constructor(t,e){super(),this.source=t,this.subjectFactory=e,this._refCount=0,this._isComplete=!1}_subscribe(t){return this.getSubject().subscribe(t)}getSubject(){const t=this._subject;return(!t||t.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let t=this._connection;return t||(this._isComplete=!1,t=this._connection=new _e,t.add(this.source.subscribe(new ZE(this.getSubject(),this))),t.closed&&(this._connection=null,t=_e.EMPTY)),t}refCount(){return rh()(this)}}const YE=(()=>{const n=QE.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:n._subscribe},_isComplete:{value:n._isComplete,writable:!0},getSubject:{value:n.getSubject},connect:{value:n.connect},refCount:{value:n.refCount}}})();class ZE extends Zf{constructor(t,e){super(t),this.connectable=e}_error(t){this._unsubscribe(),super._error(t)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const t=this.connectable;if(t){this.connectable=null;const e=t._connection;t._refCount=0,t._subject=null,t._connection=null,e&&e.unsubscribe()}}}class eS{constructor(t,e){this.subjectFactory=t,this.selector=e}call(t,e){const{selector:i}=this,r=this.subjectFactory(),o=i(r).subscribe(t);return o.add(e.subscribe(r)),o}}function tS(){return new Tn}function ue(n){for(let t in n)if(n[t]===ue)return t;throw Error("Could not find renamed property on target object.")}function Nl(n,t){for(const e in t)t.hasOwnProperty(e)&&!n.hasOwnProperty(e)&&(n[e]=t[e])}function fe(n){if("string"==typeof n)return n;if(Array.isArray(n))return"["+n.map(fe).join(", ")+"]";if(null==n)return""+n;if(n.overriddenName)return`${n.overriddenName}`;if(n.name)return`${n.name}`;const t=n.toString();if(null==t)return""+t;const e=t.indexOf("\n");return-1===e?t:t.substring(0,e)}function Rl(n,t){return null==n||""===n?null===t?"":t:null==t||""===t?n:n+" "+t}const iS=ue({__forward_ref__:ue});function ce(n){return n.__forward_ref__=ce,n.toString=function(){return fe(this())},n}function N(n){return Fl(n)?n():n}function Fl(n){return"function"==typeof n&&n.hasOwnProperty(iS)&&n.__forward_ref__===ce}function Ll(n){return n&&!!n.\u0275providers}const oh="https://g.co/ng/security#xss";class D extends Error{constructor(t,e){super(function ds(n,t){return`NG0${Math.abs(n)}${t?": "+t.trim():""}`}(t,e)),this.code=t}}function B(n){return"string"==typeof n?n:null==n?"":String(n)}function fs(n,t){throw new D(-201,!1)}function Nt(n,t){null==n&&function oe(n,t,e,i){throw new Error(`ASSERTION ERROR: ${n}`+(null==i?"":` [Expected=> ${e} ${i} ${t} <=Actual]`))}(t,n,null,"!=")}function $(n){return{token:n.token,providedIn:n.providedIn||null,factory:n.factory,value:void 0}}function xe(n){return{providers:n.providers||[],imports:n.imports||[]}}function hs(n){return sh(n,ps)||sh(n,lh)}function sh(n,t){return n.hasOwnProperty(t)?n[t]:null}function ah(n){return n&&(n.hasOwnProperty(kl)||n.hasOwnProperty(dS))?n[kl]:null}const ps=ue({\u0275prov:ue}),kl=ue({\u0275inj:ue}),lh=ue({ngInjectableDef:ue}),dS=ue({ngInjectorDef:ue});var V=(()=>((V=V||{})[V.Default=0]="Default",V[V.Host=1]="Host",V[V.Self=2]="Self",V[V.SkipSelf=4]="SkipSelf",V[V.Optional=8]="Optional",V))();let jl;function Rt(n){const t=jl;return jl=n,t}function ch(n,t,e){const i=hs(n);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:e&V.Optional?null:void 0!==t?t:void fs(fe(n))}const he=(()=>typeof globalThis<"u"&&globalThis||typeof global<"u"&&global||typeof window<"u"&&window||typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&self)(),zr={},Vl="__NG_DI_FLAG__",ms="ngTempTokenPath",pS=/\n/gm,uh="__source";let Wr;function qi(n){const t=Wr;return Wr=n,t}function gS(n,t=V.Default){if(void 0===Wr)throw new D(-203,!1);return null===Wr?ch(n,void 0,t):Wr.get(n,t&V.Optional?null:void 0,t)}function A(n,t=V.Default){return(function fS(){return jl}()||gS)(N(n),t)}function Yn(n,t=V.Default){return A(n,gs(t))}function gs(n){return typeof n>"u"||"number"==typeof n?n:0|(n.optional&&8)|(n.host&&1)|(n.self&&2)|(n.skipSelf&&4)}function Bl(n){const t=[];for(let e=0;e((Qt=Qt||{})[Qt.OnPush=0]="OnPush",Qt[Qt.Default=1]="Default",Qt))(),Yt=(()=>(function(n){n[n.Emulated=0]="Emulated",n[n.None=2]="None",n[n.ShadowDom=3]="ShadowDom"}(Yt||(Yt={})),Yt))();const Mn={},ie=[],ys=ue({\u0275cmp:ue}),Hl=ue({\u0275dir:ue}),Ul=ue({\u0275pipe:ue}),fh=ue({\u0275mod:ue}),An=ue({\u0275fac:ue}),qr=ue({__NG_ELEMENT_ID__:ue});let bS=0;function gt(n){return Zn(()=>{const e=!0===n.standalone,i={},r={type:n.type,providersResolver:null,decls:n.decls,vars:n.vars,factory:null,template:n.template||null,consts:n.consts||null,ngContentSelectors:n.ngContentSelectors,hostBindings:n.hostBindings||null,hostVars:n.hostVars||0,hostAttrs:n.hostAttrs||null,contentQueries:n.contentQueries||null,declaredInputs:i,inputs:null,outputs:null,exportAs:n.exportAs||null,onPush:n.changeDetection===Qt.OnPush,directiveDefs:null,pipeDefs:null,standalone:e,dependencies:e&&n.dependencies||null,getStandaloneInjector:null,selectors:n.selectors||ie,viewQuery:n.viewQuery||null,features:n.features||null,data:n.data||{},encapsulation:n.encapsulation||Yt.Emulated,id:"c"+bS++,styles:n.styles||ie,_:null,setInput:null,schemas:n.schemas||null,tView:null,findHostDirectiveDefs:null,hostDirectives:null},o=n.dependencies,s=n.features;return r.inputs=mh(n.inputs,i),r.outputs=mh(n.outputs),s&&s.forEach(a=>a(r)),r.directiveDefs=o?()=>("function"==typeof o?o():o).map(hh).filter(ph):null,r.pipeDefs=o?()=>("function"==typeof o?o():o).map(st).filter(ph):null,r})}function hh(n){return se(n)||qe(n)}function ph(n){return null!==n}function ke(n){return Zn(()=>({type:n.type,bootstrap:n.bootstrap||ie,declarations:n.declarations||ie,imports:n.imports||ie,exports:n.exports||ie,transitiveCompileScopes:null,schemas:n.schemas||null,id:n.id||null}))}function mh(n,t){if(null==n)return Mn;const e={};for(const i in n)if(n.hasOwnProperty(i)){let r=n[i],o=r;Array.isArray(r)&&(o=r[1],r=r[0]),e[r]=i,t&&(t[r]=o)}return e}const k=gt;function ot(n){return{type:n.type,name:n.name,factory:null,pure:!1!==n.pure,standalone:!0===n.standalone,onDestroy:n.type.prototype.ngOnDestroy||null}}function se(n){return n[ys]||null}function qe(n){return n[Hl]||null}function st(n){return n[Ul]||null}const q=11;function St(n){return Array.isArray(n)&&"object"==typeof n[1]}function Xt(n){return Array.isArray(n)&&!0===n[1]}function Wl(n){return 0!=(4&n.flags)}function Xr(n){return n.componentOffset>-1}function Es(n){return 1==(1&n.flags)}function Jt(n){return null!==n.template}function SS(n){return 0!=(256&n[2])}function vi(n,t){return n.hasOwnProperty(An)?n[An]:null}class Dh{constructor(t,e,i){this.previousValue=t,this.currentValue=e,this.firstChange=i}isFirstChange(){return this.firstChange}}function hn(){return Eh}function Eh(n){return n.type.prototype.ngOnChanges&&(n.setInput=TS),IS}function IS(){const n=Ch(this),t=n?.current;if(t){const e=n.previous;if(e===Mn)n.previous=t;else for(let i in t)e[i]=t[i];n.current=null,this.ngOnChanges(t)}}function TS(n,t,e,i){const r=this.declaredInputs[e],o=Ch(n)||function MS(n,t){return n[Sh]=t}(n,{previous:Mn,current:null}),s=o.current||(o.current={}),a=o.previous,l=a[r];s[r]=new Dh(l&&l.currentValue,t,a===Mn),n[i]=t}hn.ngInherit=!0;const Sh="__ngSimpleChanges__";function Ch(n){return n[Sh]||null}function $e(n){for(;Array.isArray(n);)n=n[0];return n}function Ss(n,t){return $e(t[n])}function Ct(n,t){return $e(t[n.index])}function Th(n,t){return n.data[t]}function Xi(n,t){return n[t]}function wt(n,t){const e=t[n];return St(e)?e:e[0]}function Cs(n){return 64==(64&n[2])}function Xn(n,t){return null==t?null:n[t]}function Mh(n){n[18]=0}function ql(n,t){n[5]+=t;let e=n,i=n[3];for(;null!==i&&(1===t&&1===e[5]||-1===t&&0===e[5]);)i[5]+=t,e=i,i=i[3]}const H={lFrame:jh(null),bindingsEnabled:!0};function xh(){return H.bindingsEnabled}function v(){return H.lFrame.lView}function X(){return H.lFrame.tView}function pe(n){return H.lFrame.contextLView=n,n[8]}function me(n){return H.lFrame.contextLView=null,n}function ze(){let n=Ph();for(;null!==n&&64===n.type;)n=n.parent;return n}function Ph(){return H.lFrame.currentTNode}function pn(n,t){const e=H.lFrame;e.currentTNode=n,e.isParent=t}function Kl(){return H.lFrame.isParent}function Ql(){H.lFrame.isParent=!1}function lt(){const n=H.lFrame;let t=n.bindingRootIndex;return-1===t&&(t=n.bindingRootIndex=n.tView.bindingStartIndex),t}function Ji(){return H.lFrame.bindingIndex++}function On(n){const t=H.lFrame,e=t.bindingIndex;return t.bindingIndex=t.bindingIndex+n,e}function HS(n,t){const e=H.lFrame;e.bindingIndex=e.bindingRootIndex=n,Yl(t)}function Yl(n){H.lFrame.currentDirectiveIndex=n}function Fh(){return H.lFrame.currentQueryIndex}function Xl(n){H.lFrame.currentQueryIndex=n}function $S(n){const t=n[1];return 2===t.type?t.declTNode:1===t.type?n[6]:null}function Lh(n,t,e){if(e&V.SkipSelf){let r=t,o=n;for(;!(r=r.parent,null!==r||e&V.Host||(r=$S(o),null===r||(o=o[15],10&r.type))););if(null===r)return!1;t=r,n=o}const i=H.lFrame=kh();return i.currentTNode=t,i.lView=n,!0}function Jl(n){const t=kh(),e=n[1];H.lFrame=t,t.currentTNode=e.firstChild,t.lView=n,t.tView=e,t.contextLView=n,t.bindingIndex=e.bindingStartIndex,t.inI18n=!1}function kh(){const n=H.lFrame,t=null===n?null:n.child;return null===t?jh(n):t}function jh(n){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:n,child:null,inI18n:!1};return null!==n&&(n.child=t),t}function Vh(){const n=H.lFrame;return H.lFrame=n.parent,n.currentTNode=null,n.lView=null,n}const Bh=Vh;function ec(){const n=Vh();n.isParent=!0,n.tView=null,n.selectedIndex=-1,n.contextLView=null,n.elementDepthCount=0,n.currentDirectiveIndex=-1,n.currentNamespace=null,n.bindingRootIndex=-1,n.bindingIndex=-1,n.currentQueryIndex=0}function ct(){return H.lFrame.selectedIndex}function bi(n){H.lFrame.selectedIndex=n}function be(){const n=H.lFrame;return Th(n.tView,n.selectedIndex)}function ws(n,t){for(let e=t.directiveStart,i=t.directiveEnd;e=i)break}else t[l]<0&&(n[18]+=65536),(a>11>16&&(3&n[2])===t){n[2]+=2048;try{o.call(a)}finally{}}}else try{o.call(a)}finally{}}class eo{constructor(t,e,i){this.factory=t,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=i}}function ic(n,t,e){let i=0;for(;it){s=o-1;break}}}for(;o>16}(n),i=t;for(;e>0;)i=i[15],e--;return i}let rc=!0;function xs(n){const t=rc;return rc=n,t}let iC=0;const mn={};function Ps(n,t){const e=Kh(n,t);if(-1!==e)return e;const i=t[1];i.firstCreatePass&&(n.injectorIndex=t.length,oc(i.data,n),oc(t,null),oc(i.blueprint,null));const r=sc(n,t),o=n.injectorIndex;if(Wh(r)){const s=Ms(r),a=As(r,t),l=a[1].data;for(let c=0;c<8;c++)t[o+c]=a[s+c]|l[s+c]}return t[o+8]=r,o}function oc(n,t){n.push(0,0,0,0,0,0,0,0,t)}function Kh(n,t){return-1===n.injectorIndex||n.parent&&n.parent.injectorIndex===n.injectorIndex||null===t[n.injectorIndex+8]?-1:n.injectorIndex}function sc(n,t){if(n.parent&&-1!==n.parent.injectorIndex)return n.parent.injectorIndex;let e=0,i=null,r=t;for(;null!==r;){if(i=tp(r),null===i)return-1;if(e++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|e<<16}return-1}function ac(n,t,e){!function rC(n,t,e){let i;"string"==typeof e?i=e.charCodeAt(0)||0:e.hasOwnProperty(qr)&&(i=e[qr]),null==i&&(i=e[qr]=iC++);const r=255&i;t.data[n+(r>>5)]|=1<=0?255&t:lC:t}(e);if("function"==typeof o){if(!Lh(t,n,i))return i&V.Host?Qh(r,0,i):Yh(t,e,i,r);try{const s=o(i);if(null!=s||i&V.Optional)return s;fs()}finally{Bh()}}else if("number"==typeof o){let s=null,a=Kh(n,t),l=-1,c=i&V.Host?t[16][6]:null;for((-1===a||i&V.SkipSelf)&&(l=-1===a?sc(n,t):t[a+8],-1!==l&&ep(i,!1)?(s=t[1],a=Ms(l),t=As(l,t)):a=-1);-1!==a;){const u=t[1];if(Jh(o,a,u.data)){const d=sC(a,t,e,s,i,c);if(d!==mn)return d}l=t[a+8],-1!==l&&ep(i,t[1].data[a+8]===c)&&Jh(o,a,t)?(s=u,a=Ms(l),t=As(l,t)):a=-1}}return r}function sC(n,t,e,i,r,o){const s=t[1],a=s.data[n+8],u=Os(a,s,e,null==i?Xr(a)&&rc:i!=s&&0!=(3&a.type),r&V.Host&&o===a);return null!==u?Di(t,s,u,a):mn}function Os(n,t,e,i,r){const o=n.providerIndexes,s=t.data,a=1048575&o,l=n.directiveStart,u=o>>20,f=r?a+u:n.directiveEnd;for(let h=i?a:a+u;h=l&&p.type===e)return h}if(r){const h=s[l];if(h&&Jt(h)&&h.type===e)return l}return null}function Di(n,t,e,i){let r=n[e];const o=t.data;if(function JS(n){return n instanceof eo}(r)){const s=r;s.resolving&&function rS(n,t){const e=t?`. Dependency path: ${t.join(" > ")} > ${n}`:"";throw new D(-200,`Circular dependency in DI detected for ${n}${e}`)}(function re(n){return"function"==typeof n?n.name||n.toString():"object"==typeof n&&null!=n&&"function"==typeof n.type?n.type.name||n.type.toString():B(n)}(o[e]));const a=xs(s.canSeeViewProviders);s.resolving=!0;const l=s.injectImpl?Rt(s.injectImpl):null;Lh(n,i,V.Default);try{r=n[e]=s.factory(void 0,o,n,i),t.firstCreatePass&&e>=i.directiveStart&&function ZS(n,t,e){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:o}=t.type.prototype;if(i){const s=Eh(t);(e.preOrderHooks||(e.preOrderHooks=[])).push(n,s),(e.preOrderCheckHooks||(e.preOrderCheckHooks=[])).push(n,s)}r&&(e.preOrderHooks||(e.preOrderHooks=[])).push(0-n,r),o&&((e.preOrderHooks||(e.preOrderHooks=[])).push(n,o),(e.preOrderCheckHooks||(e.preOrderCheckHooks=[])).push(n,o))}(e,o[e],t)}finally{null!==l&&Rt(l),xs(a),s.resolving=!1,Bh()}}return r}function Jh(n,t,e){return!!(e[t+(n>>5)]&1<{const t=lc(N(n));return t&&t()}:vi(n)}function tp(n){const t=n[1],e=t.type;return 2===e?t.declTNode:1===e?n[6]:null}const ir="__parameters__";function or(n,t,e){return Zn(()=>{const i=function uc(n){return function(...e){if(n){const i=n(...e);for(const r in i)this[r]=i[r]}}}(t);function r(...o){if(this instanceof r)return i.apply(this,o),this;const s=new r(...o);return a.annotation=s,a;function a(l,c,u){const d=l.hasOwnProperty(ir)?l[ir]:Object.defineProperty(l,ir,{value:[]})[ir];for(;d.length<=u;)d.push(null);return(d[u]=d[u]||[]).push(s),l}}return e&&(r.prototype=Object.create(e.prototype)),r.prototype.ngMetadataName=n,r.annotationCls=r,r})}class P{constructor(t,e){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof e?this.__NG_ELEMENT_ID__=e:void 0!==e&&(this.\u0275prov=$({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}function Ei(n,t){n.forEach(e=>Array.isArray(e)?Ei(e,t):t(e))}function ip(n,t,e){t>=n.length?n.push(e):n.splice(t,0,e)}function Ns(n,t){return t>=n.length-1?n.pop():n.splice(t,1)[0]}function ro(n,t){const e=[];for(let i=0;i=0?n[1|i]=e:(i=~i,function hC(n,t,e,i){let r=n.length;if(r==t)n.push(e,i);else if(1===r)n.push(i,n[0]),n[0]=e;else{for(r--,n.push(n[r-1],n[r]);r>t;)n[r]=n[r-2],r--;n[t]=e,n[t+1]=i}}(n,i,t,e)),i}function fc(n,t){const e=sr(n,t);if(e>=0)return n[1|e]}function sr(n,t){return function rp(n,t,e){let i=0,r=n.length>>e;for(;r!==i;){const o=i+(r-i>>1),s=n[o<t?r=o:i=o+1}return~(r<({token:n})),-1),Ls=Gr(or("Optional"),8),ks=Gr(or("SkipSelf"),4);var yt=(()=>((yt=yt||{})[yt.Important=1]="Important",yt[yt.DashCase=2]="DashCase",yt))();const yc=new Map;let FC=0;const vc="__ngContext__";function Ze(n,t){St(t)?(n[vc]=t[20],function kC(n){yc.set(n[20],n)}(t)):n[vc]=t}function Dc(n,t){return undefined(n,t)}function lo(n){const t=n[3];return Xt(t)?t[3]:t}function Ec(n){return Cp(n[13])}function Sc(n){return Cp(n[4])}function Cp(n){for(;null!==n&&!Xt(n);)n=n[4];return n}function lr(n,t,e,i,r){if(null!=i){let o,s=!1;Xt(i)?o=i:St(i)&&(s=!0,i=i[0]);const a=$e(i);0===n&&null!==e?null==r?xp(t,e,a):Si(t,e,a,r||null,!0):1===n&&null!==e?Si(t,e,a,r||null,!0):2===n?function xc(n,t,e){const i=Bs(n,t);i&&function iw(n,t,e,i){n.removeChild(t,e,i)}(n,i,t,e)}(t,a,s):3===n&&t.destroyNode(a),null!=o&&function sw(n,t,e,i,r){const o=e[7];o!==$e(e)&&lr(t,n,i,o,r);for(let a=10;a0&&(n[e-1][4]=i[4]);const o=Ns(n,10+t);!function QC(n,t){co(n,t,t[q],2,null,null),t[0]=null,t[6]=null}(i[1],i);const s=o[19];null!==s&&s.detachView(o[1]),i[3]=null,i[4]=null,i[2]&=-65}return i}function Tp(n,t){if(!(128&t[2])){const e=t[q];e.destroyNode&&co(n,t,e,3,null,null),function XC(n){let t=n[13];if(!t)return Tc(n[1],n);for(;t;){let e=null;if(St(t))e=t[13];else{const i=t[10];i&&(e=i)}if(!e){for(;t&&!t[4]&&t!==n;)St(t)&&Tc(t[1],t),t=t[3];null===t&&(t=n),St(t)&&Tc(t[1],t),e=t&&t[4]}t=e}}(t)}}function Tc(n,t){if(!(128&t[2])){t[2]&=-65,t[2]|=128,function nw(n,t){let e;if(null!=n&&null!=(e=n.destroyHooks))for(let i=0;i=0?i[r=s]():i[r=-s].unsubscribe(),o+=2}else{const s=i[r=e[o+1]];e[o].call(s)}if(null!==i){for(let o=r+1;o-1){const{encapsulation:o}=n.data[i.directiveStart+r];if(o===Yt.None||o===Yt.Emulated)return null}return Ct(i,e)}}(n,t.parent,e)}function Si(n,t,e,i,r){n.insertBefore(t,e,i,r)}function xp(n,t,e){n.appendChild(t,e)}function Pp(n,t,e,i,r){null!==i?Si(n,t,e,i,r):xp(n,t,e)}function Bs(n,t){return n.parentNode(t)}function Op(n,t,e){return Rp(n,t,e)}let $s,Nc,zs,Rp=function Np(n,t,e){return 40&n.type?Ct(n,e):null};function Hs(n,t,e,i){const r=Mp(n,i,t),o=t[q],a=Op(i.parent||t[6],i,t);if(null!=r)if(Array.isArray(e))for(let l=0;ln,createScript:n=>n,createScriptURL:n=>n})}catch{}return $s}()?.createHTML(n)||n}function Hp(n){return function Rc(){if(void 0===zs&&(zs=null,he.trustedTypes))try{zs=he.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:n=>n,createScript:n=>n,createScriptURL:n=>n})}catch{}return zs}()?.createHTML(n)||n}class zp{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${oh})`}}function Jn(n){return n instanceof zp?n.changingThisBreaksApplicationSecurity:n}class vw{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const e=(new window.DOMParser).parseFromString(Ci(t),"text/html").body;return null===e?this.inertDocumentHelper.getInertBodyElement(t):(e.removeChild(e.firstChild),e)}catch{return null}}}class bw{constructor(t){if(this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const e=this.inertDocument.createElement("html");this.inertDocument.appendChild(e);const i=this.inertDocument.createElement("body");e.appendChild(i)}}getInertBodyElement(t){const e=this.inertDocument.createElement("template");if("content"in e)return e.innerHTML=Ci(t),e;const i=this.inertDocument.createElement("body");return i.innerHTML=Ci(t),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(i),i}stripCustomNsAttrs(t){const e=t.attributes;for(let r=e.length-1;0"),!0}endElement(t){const e=t.nodeName.toLowerCase();Lc.hasOwnProperty(e)&&!Gp.hasOwnProperty(e)&&(this.buf.push(""),this.buf.push(e),this.buf.push(">"))}chars(t){this.buf.push(Yp(t))}checkClobberedElement(t,e){if(e&&(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return e}}const ww=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Iw=/([^\#-~ |!])/g;function Yp(n){return n.replace(/&/g,"&").replace(ww,function(t){return""+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(Iw,function(t){return""+t.charCodeAt(0)+";"}).replace(//g,">")}let Ws;function jc(n){return"content"in n&&function Mw(n){return n.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===n.nodeName}(n)?n.content:null}var Pe=(()=>((Pe=Pe||{})[Pe.NONE=0]="NONE",Pe[Pe.HTML=1]="HTML",Pe[Pe.STYLE=2]="STYLE",Pe[Pe.SCRIPT=3]="SCRIPT",Pe[Pe.URL=4]="URL",Pe[Pe.RESOURCE_URL=5]="RESOURCE_URL",Pe))();function Zp(n){const t=function ho(){const n=v();return n&&n[12]}();return t?Hp(t.sanitize(Pe.HTML,n)||""):function uo(n,t){const e=function _w(n){return n instanceof zp&&n.getTypeName()||null}(n);if(null!=e&&e!==t){if("ResourceURL"===e&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${e} (see ${oh})`)}return e===t}(n,"HTML")?Hp(Jn(n)):function Tw(n,t){let e=null;try{Ws=Ws||function Wp(n){const t=new bw(n);return function Dw(){try{return!!(new window.DOMParser).parseFromString(Ci(""),"text/html")}catch{return!1}}()?new vw(t):t}(n);let i=t?String(t):"";e=Ws.getInertBodyElement(i);let r=5,o=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=o,o=e.innerHTML,e=Ws.getInertBodyElement(i)}while(i!==o);return Ci((new Cw).sanitizeChildren(jc(e)||e))}finally{if(e){const i=jc(e)||e;for(;i.firstChild;)i.removeChild(i.firstChild)}}}(function Bp(){return void 0!==Nc?Nc:typeof document<"u"?document:void 0}(),B(n))}const em=new P("ENVIRONMENT_INITIALIZER"),tm=new P("INJECTOR",-1),nm=new P("INJECTOR_DEF_TYPES");class im{get(t,e=zr){if(e===zr){const i=new Error(`NullInjectorError: No provider for ${fe(t)}!`);throw i.name="NullInjectorError",i}return e}}function Lw(...n){return{\u0275providers:rm(0,n),\u0275fromNgModule:!0}}function rm(n,...t){const e=[],i=new Set;let r;return Ei(t,o=>{const s=o;Vc(s,e,[],i)&&(r||(r=[]),r.push(s))}),void 0!==r&&om(r,e),e}function om(n,t){for(let e=0;e{t.push(o)})}}function Vc(n,t,e,i){if(!(n=N(n)))return!1;let r=null,o=ah(n);const s=!o&&se(n);if(o||s){if(s&&!s.standalone)return!1;r=n}else{const l=n.ngModule;if(o=ah(l),!o)return!1;r=l}const a=i.has(r);if(s){if(a)return!1;if(i.add(r),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const c of l)Vc(c,t,e,i)}}else{if(!o)return!1;{if(null!=o.imports&&!a){let c;i.add(r);try{Ei(o.imports,u=>{Vc(u,t,e,i)&&(c||(c=[]),c.push(u))})}finally{}void 0!==c&&om(c,t)}if(!a){const c=vi(r)||(()=>new r);t.push({provide:r,useFactory:c,deps:ie},{provide:nm,useValue:r,multi:!0},{provide:em,useValue:()=>A(r),multi:!0})}const l=o.providers;null==l||a||Bc(l,u=>{t.push(u)})}}return r!==n&&void 0!==n.providers}function Bc(n,t){for(let e of n)Ll(e)&&(e=e.\u0275providers),Array.isArray(e)?Bc(e,t):t(e)}const kw=ue({provide:String,useValue:ue});function Hc(n){return null!==n&&"object"==typeof n&&kw in n}function wi(n){return"function"==typeof n}const Uc=new P("Set Injector scope."),Gs={},Vw={};let $c;function qs(){return void 0===$c&&($c=new im),$c}class Ii{}class lm extends Ii{get destroyed(){return this._destroyed}constructor(t,e,i,r){super(),this.parent=e,this.source=i,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,Wc(t,s=>this.processProvider(s)),this.records.set(tm,cr(void 0,this)),r.has("environment")&&this.records.set(Ii,cr(void 0,this));const o=this.records.get(Uc);null!=o&&"string"==typeof o.value&&this.scopes.add(o.value),this.injectorDefTypes=new Set(this.get(nm.multi,ie,V.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const t of this._ngOnDestroyHooks)t.ngOnDestroy();for(const t of this._onDestroyHooks)t()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),this._onDestroyHooks.length=0}}onDestroy(t){this._onDestroyHooks.push(t)}runInContext(t){this.assertNotDestroyed();const e=qi(this),i=Rt(void 0);try{return t()}finally{qi(e),Rt(i)}}get(t,e=zr,i=V.Default){this.assertNotDestroyed(),i=gs(i);const r=qi(this),o=Rt(void 0);try{if(!(i&V.SkipSelf)){let a=this.records.get(t);if(void 0===a){const l=function zw(n){return"function"==typeof n||"object"==typeof n&&n instanceof P}(t)&&hs(t);a=l&&this.injectableDefInScope(l)?cr(zc(t),Gs):null,this.records.set(t,a)}if(null!=a)return this.hydrate(t,a)}return(i&V.Self?qs():this.parent).get(t,e=i&V.Optional&&e===zr?null:e)}catch(s){if("NullInjectorError"===s.name){if((s[ms]=s[ms]||[]).unshift(fe(t)),r)throw s;return function _S(n,t,e,i){const r=n[ms];throw t[uh]&&r.unshift(t[uh]),n.message=function vS(n,t,e,i=null){n=n&&"\n"===n.charAt(0)&&"\u0275"==n.charAt(1)?n.slice(2):n;let r=fe(t);if(Array.isArray(t))r=t.map(fe).join(" -> ");else if("object"==typeof t){let o=[];for(let s in t)if(t.hasOwnProperty(s)){let a=t[s];o.push(s+":"+("string"==typeof a?JSON.stringify(a):fe(a)))}r=`{${o.join(", ")}}`}return`${e}${i?"("+i+")":""}[${r}]: ${n.replace(pS,"\n ")}`}("\n"+n.message,r,e,i),n.ngTokenPath=r,n[ms]=null,n}(s,t,"R3InjectorError",this.source)}throw s}finally{Rt(o),qi(r)}}resolveInjectorInitializers(){const t=qi(this),e=Rt(void 0);try{const i=this.get(em.multi,ie,V.Self);for(const r of i)r()}finally{qi(t),Rt(e)}}toString(){const t=[],e=this.records;for(const i of e.keys())t.push(fe(i));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new D(205,!1)}processProvider(t){let e=wi(t=N(t))?t:N(t&&t.provide);const i=function Hw(n){return Hc(n)?cr(void 0,n.useValue):cr(cm(n),Gs)}(t);if(wi(t)||!0!==t.multi)this.records.get(e);else{let r=this.records.get(e);r||(r=cr(void 0,Gs,!0),r.factory=()=>Bl(r.multi),this.records.set(e,r)),e=t,r.multi.push(t)}this.records.set(e,i)}hydrate(t,e){return e.value===Gs&&(e.value=Vw,e.value=e.factory()),"object"==typeof e.value&&e.value&&function $w(n){return null!==n&&"object"==typeof n&&"function"==typeof n.ngOnDestroy}(e.value)&&this._ngOnDestroyHooks.add(e.value),e.value}injectableDefInScope(t){if(!t.providedIn)return!1;const e=N(t.providedIn);return"string"==typeof e?"any"===e||this.scopes.has(e):this.injectorDefTypes.has(e)}}function zc(n){const t=hs(n),e=null!==t?t.factory:vi(n);if(null!==e)return e;if(n instanceof P)throw new D(204,!1);if(n instanceof Function)return function Bw(n){const t=n.length;if(t>0)throw ro(t,"?"),new D(204,!1);const e=function cS(n){const t=n&&(n[ps]||n[lh]);if(t){const e=function uS(n){if(n.hasOwnProperty("name"))return n.name;const t=(""+n).match(/^function\s*([^\s(]+)/);return null===t?"":t[1]}(n);return console.warn(`DEPRECATED: DI is instantiating a token "${e}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${e}" class.`),t}return null}(n);return null!==e?()=>e.factory(n):()=>new n}(n);throw new D(204,!1)}function cm(n,t,e){let i;if(wi(n)){const r=N(n);return vi(r)||zc(r)}if(Hc(n))i=()=>N(n.useValue);else if(function am(n){return!(!n||!n.useFactory)}(n))i=()=>n.useFactory(...Bl(n.deps||[]));else if(function sm(n){return!(!n||!n.useExisting)}(n))i=()=>A(N(n.useExisting));else{const r=N(n&&(n.useClass||n.provide));if(!function Uw(n){return!!n.deps}(n))return vi(r)||zc(r);i=()=>new r(...Bl(n.deps))}return i}function cr(n,t,e=!1){return{factory:n,value:t,multi:e?[]:void 0}}function Wc(n,t){for(const e of n)Array.isArray(e)?Wc(e,t):e&&Ll(e)?Wc(e.\u0275providers,t):t(e)}class Ww{}class um{}class qw{resolveComponentFactory(t){throw function Gw(n){const t=Error(`No component factory found for ${fe(n)}. Did you add it to @NgModule.entryComponents?`);return t.ngComponent=n,t}(t)}}let ur=(()=>{class n{}return n.NULL=new qw,n})();function Kw(){return dr(ze(),v())}function dr(n,t){return new ut(Ct(n,t))}let ut=(()=>{class n{constructor(e){this.nativeElement=e}}return n.__NG_ELEMENT_ID__=Kw,n})();function Qw(n){return n instanceof ut?n.nativeElement:n}class po{}let ei=(()=>{class n{}return n.__NG_ELEMENT_ID__=()=>function Yw(){const n=v(),e=wt(ze().index,n);return(St(e)?e:n)[q]}(),n})(),Zw=(()=>{class n{}return n.\u0275prov=$({token:n,providedIn:"root",factory:()=>null}),n})();class mo{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const Xw=new mo("15.1.1"),Gc={};function Kc(n){return n.ngOriginalError}class fr{constructor(){this._console=console}handleError(t){const e=this._findOriginalError(t);this._console.error("ERROR",t),e&&this._console.error("ORIGINAL ERROR",e)}_findOriginalError(t){let e=t&&Kc(t);for(;e&&Kc(e);)e=Kc(e);return e||null}}function hm(n,t,e){let i=n.length;for(;;){const r=n.indexOf(t,e);if(-1===r)return r;if(0===r||n.charCodeAt(r-1)<=32){const o=t.length;if(r+o===i||n.charCodeAt(r+o)<=32)return r}e=r+1}}const pm="ng-template";function cI(n,t,e){let i=0;for(;io?"":r[d+1].toLowerCase();const h=8&i?f:null;if(h&&-1!==hm(h,c,0)||2&i&&c!==f){if(en(i))return!1;s=!0}}}}else{if(!s&&!en(i)&&!en(l))return!1;if(s&&en(l))continue;s=!1,i=l|1&i}}return en(i)||s}function en(n){return 0==(1&n)}function fI(n,t,e,i){if(null===t)return-1;let r=0;if(i||!e){let o=!1;for(;r-1)for(e++;e0?'="'+a+'"':"")+"]"}else 8&i?r+="."+s:4&i&&(r+=" "+s);else""!==r&&!en(s)&&(t+=ym(o,r),r=""),i=s,o=o||!en(i);e++}return""!==r&&(t+=ym(o,r)),t}const U={};function M(n){_m(X(),v(),ct()+n,!1)}function _m(n,t,e,i){if(!i)if(3==(3&t[2])){const o=n.preOrderCheckHooks;null!==o&&Is(t,o,e)}else{const o=n.preOrderHooks;null!==o&&Ts(t,o,0,e)}bi(e)}function Em(n,t=null,e=null,i){const r=Sm(n,t,e,i);return r.resolveInjectorInitializers(),r}function Sm(n,t=null,e=null,i,r=new Set){const o=[e||ie,Lw(n)];return i=i||("object"==typeof n?void 0:fe(n)),new lm(o,t||qs(),i||null,r)}let gn=(()=>{class n{static create(e,i){if(Array.isArray(e))return Em({name:""},i,e,"");{const r=e.name??"";return Em({name:r},e.parent,e.providers,r)}}}return n.THROW_IF_NOT_FOUND=zr,n.NULL=new im,n.\u0275prov=$({token:n,providedIn:"any",factory:()=>A(tm)}),n.__NG_ELEMENT_ID__=-1,n})();function b(n,t=V.Default){const e=v();return null===e?A(n,t):Zh(ze(),e,N(n),t)}function xm(n,t){const e=n.contentQueries;if(null!==e)for(let i=0;i22&&_m(n,t,22,!1),e(i,r)}finally{bi(o)}}function tu(n,t,e){if(Wl(t)){const r=t.directiveEnd;for(let o=t.directiveStart;o0;){const e=n[--t];if("number"==typeof e&&e<0)return e}return 0})(s)!=a&&s.push(a),s.push(e,i,o)}}(n,t,i,go(n,e,r.hostVars,U),r)}function yn(n,t,e,i,r,o){const s=Ct(n,t);!function au(n,t,e,i,r,o,s){if(null==o)n.removeAttribute(t,r,e);else{const a=null==s?B(o):s(o,i||"",r);n.setAttribute(t,r,a,e)}}(t[q],s,o,n.value,e,i,r)}function o0(n,t,e,i,r,o){const s=o[t];if(null!==s){const a=i.setInput;for(let l=0;l0&&lu(e)}}function lu(n){for(let i=Ec(n);null!==i;i=Sc(i))for(let r=10;r0&&lu(o)}const e=n[1].components;if(null!==e)for(let i=0;i0&&lu(r)}}function u0(n,t){const e=wt(t,n),i=e[1];(function d0(n,t){for(let e=t.length;e-1&&(Ic(t,i),Ns(e,i))}this._attachedToViewContainer=!1}Tp(this._lView[1],this._lView)}onDestroy(t){Nm(this._lView[1],this._lView,null,t)}markForCheck(){cu(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-65}reattach(){this._lView[2]|=64}detectChanges(){Xs(this._lView[1],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new D(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function ZC(n,t){co(n,t,t[q],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new D(902,!1);this._appRef=t}}class f0 extends yo{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;Xs(t[1],t,t[8],!1)}checkNoChanges(){}get context(){return null}}class zm extends ur{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const e=se(t);return new _o(e,this.ngModule)}}function Wm(n){const t=[];for(let e in n)n.hasOwnProperty(e)&&t.push({propName:n[e],templateName:e});return t}class p0{constructor(t,e){this.injector=t,this.parentInjector=e}get(t,e,i){i=gs(i);const r=this.injector.get(t,Gc,i);return r!==Gc||e===Gc?r:this.parentInjector.get(t,e,i)}}class _o extends um{get inputs(){return Wm(this.componentDef.inputs)}get outputs(){return Wm(this.componentDef.outputs)}constructor(t,e){super(),this.componentDef=t,this.ngModule=e,this.componentType=t.type,this.selector=function _I(n){return n.map(yI).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!e}create(t,e,i,r){let o=(r=r||this.ngModule)instanceof Ii?r:r?.injector;o&&null!==this.componentDef.getStandaloneInjector&&(o=this.componentDef.getStandaloneInjector(o)||o);const s=o?new p0(t,o):t,a=s.get(po,null);if(null===a)throw new D(407,!1);const l=s.get(Zw,null),c=a.createRenderer(null,this.componentDef),u=this.componentDef.selectors[0][0]||"div",d=i?function $I(n,t,e){return n.selectRootElement(t,e===Yt.ShadowDom)}(c,i,this.componentDef.encapsulation):wc(c,u,function h0(n){const t=n.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(u)),f=this.componentDef.onPush?288:272,h=ru(0,null,null,1,0,null,null,null,null,null),p=Qs(null,h,null,f,null,null,a,c,l,s,null);let m,y;Jl(p);try{const _=this.componentDef;let E,g=null;_.findHostDirectiveDefs?(E=[],g=new Map,_.findHostDirectiveDefs(_,E,g),E.push(_)):E=[_];const C=function g0(n,t){const e=n[1];return n[22]=t,mr(e,22,2,"#host",null)}(p,d),ee=function y0(n,t,e,i,r,o,s,a){const l=r[1];!function _0(n,t,e,i){for(const r of n)t.mergedAttrs=to(t.mergedAttrs,r.hostAttrs);null!==t.mergedAttrs&&(Js(t,t.mergedAttrs,!0),null!==e&&Vp(i,e,t))}(i,n,t,s);const c=o.createRenderer(t,e),u=Qs(r,Om(e),null,e.onPush?32:16,r[n.index],n,o,c,a||null,null,null);return l.firstCreatePass&&su(l,n,i.length-1),Zs(r,u),r[n.index]=u}(C,d,_,E,p,a,c);y=Th(h,22),d&&function b0(n,t,e,i){if(i)ic(n,e,["ng-version",Xw.full]);else{const{attrs:r,classes:o}=function vI(n){const t=[],e=[];let i=1,r=2;for(;i0&&jp(n,e,o.join(" "))}}(c,_,d,i),void 0!==e&&function D0(n,t,e){const i=n.projection=[];for(let r=0;r=0;i--){const r=n[i];r.hostVars=t+=r.hostVars,r.hostAttrs=to(r.hostAttrs,e=to(e,r.hostAttrs))}}(i)}function fu(n){return n===Mn?{}:n===ie?[]:n}function C0(n,t){const e=n.viewQuery;n.viewQuery=e?(i,r)=>{t(i,r),e(i,r)}:t}function w0(n,t){const e=n.contentQueries;n.contentQueries=e?(i,r,o)=>{t(i,r,o),e(i,r,o)}:t}function I0(n,t){const e=n.hostBindings;n.hostBindings=e?(i,r)=>{t(i,r),e(i,r)}:t}let ta=null;function Ti(){if(!ta){const n=he.Symbol;if(n&&n.iterator)ta=n.iterator;else{const t=Object.getOwnPropertyNames(Map.prototype);for(let e=0;es($e(C[i.index])):i.index;let g=null;if(!s&&a&&(g=function B0(n,t,e,i){const r=n.cleanup;if(null!=r)for(let o=0;ol?a[l]:null}"string"==typeof s&&(o+=2)}return null}(n,t,r,i.index)),null!==g)(g.__ngLastListenerFn__||g).__ngNextListenerFn__=o,g.__ngLastListenerFn__=o,f=!1;else{o=ug(i,t,u,o,!1);const C=e.listen(y,r,o);d.push(o,C),c&&c.push(r,E,_,_+1)}}else o=ug(i,t,u,o,!1);const h=i.outputs;let p;if(f&&null!==h&&(p=h[r])){const m=p.length;if(m)for(let y=0;y-1?wt(n.index,t):t);let l=cg(t,0,i,s),c=o.__ngNextListenerFn__;for(;c;)l=cg(t,0,c,s)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&(s.preventDefault(),s.returnValue=!1),l}}function j(n=1){return function zS(n){return(H.lFrame.contextLView=function WS(n,t){for(;n>0;)t=t[15],n--;return t}(n,H.lFrame.contextLView))[8]}(n)}function H0(n,t){let e=null;const i=function hI(n){const t=n.attrs;if(null!=t){const e=t.indexOf(5);if(!(1&e))return t[e+1]}return null}(n);for(let r=0;r>17&32767}function yu(n){return 2|n}function xi(n){return(131068&n)>>2}function _u(n,t){return-131069&n|t<<2}function vu(n){return 1|n}function bg(n,t,e,i,r){const o=n[e+1],s=null===t;let a=i?ti(o):xi(o),l=!1;for(;0!==a&&(!1===l||s);){const u=n[a+1];q0(n[a],t)&&(l=!0,n[a+1]=i?vu(u):yu(u)),a=i?ti(u):xi(u)}l&&(n[e+1]=i?yu(o):vu(o))}function q0(n,t){return null===n||null==t||(Array.isArray(n)?n[1]:n)===t||!(!Array.isArray(n)||"string"!=typeof t)&&sr(n,t)>=0}const Ve={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Dg(n){return n.substring(Ve.key,Ve.keyEnd)}function K0(n){return n.substring(Ve.value,Ve.valueEnd)}function Eg(n,t){const e=Ve.textEnd;return e===t?-1:(t=Ve.keyEnd=function Z0(n,t,e){for(;t32;)t++;return t}(n,Ve.key=t,e),Mr(n,t,e))}function Sg(n,t){const e=Ve.textEnd;let i=Ve.key=Mr(n,t,e);return e===i?-1:(i=Ve.keyEnd=function X0(n,t,e){let i;for(;t=65&&(-33&i)<=90||i>=48&&i<=57);)t++;return t}(n,i,e),i=wg(n,i,e),i=Ve.value=Mr(n,i,e),i=Ve.valueEnd=function J0(n,t,e){let i=-1,r=-1,o=-1,s=t,a=s;for(;s32&&(a=s),o=r,r=i,i=-33&l}return a}(n,i,e),wg(n,i,e))}function Cg(n){Ve.key=0,Ve.keyEnd=0,Ve.value=0,Ve.valueEnd=0,Ve.textEnd=n.length}function Mr(n,t,e){for(;t=0;e=Sg(t,e))xg(n,Dg(t),K0(t))}function Pi(n){rn(It,vn,n,!0)}function vn(n,t){for(let e=function Q0(n){return Cg(n),Eg(n,Mr(n,0,Ve.textEnd))}(t);e>=0;e=Eg(t,e))It(n,Dg(t),!0)}function rn(n,t,e,i){const r=X(),o=On(2);r.firstUpdatePass&&Ag(r,null,o,i);const s=v();if(e!==U&&Xe(s,o,e)){const a=r.data[ct()];if(Ng(a,i)&&!Mg(r,o)){let l=i?a.classesWithoutHost:a.stylesWithoutHost;null!==l&&(e=Rl(l,e||"")),mu(r,a,s,e,i)}else!function sT(n,t,e,i,r,o,s,a){r===U&&(r=ie);let l=0,c=0,u=0=n.expandoStartIndex}function Ag(n,t,e,i){const r=n.data;if(null===r[e+1]){const o=r[ct()],s=Mg(n,e);Ng(o,i)&&null===t&&!s&&(t=!1),t=function tT(n,t,e,i){const r=function Zl(n){const t=H.lFrame.currentDirectiveIndex;return-1===t?null:n[t]}(n);let o=i?t.residualClasses:t.residualStyles;if(null===r)0===(i?t.classBindings:t.styleBindings)&&(e=Do(e=bu(null,n,t,e,i),t.attrs,i),o=null);else{const s=t.directiveStylingLast;if(-1===s||n[s]!==r)if(e=bu(r,n,t,e,i),null===o){let l=function nT(n,t,e){const i=e?t.classBindings:t.styleBindings;if(0!==xi(i))return n[ti(i)]}(n,t,i);void 0!==l&&Array.isArray(l)&&(l=bu(null,n,t,l[1],i),l=Do(l,t.attrs,i),function iT(n,t,e,i){n[ti(e?t.classBindings:t.styleBindings)]=i}(n,t,i,l))}else o=function rT(n,t,e){let i;const r=t.directiveEnd;for(let o=1+t.directiveStylingLast;o0)&&(c=!0)):u=e,r)if(0!==l){const f=ti(n[a+1]);n[i+1]=oa(f,a),0!==f&&(n[f+1]=_u(n[f+1],i)),n[a+1]=function $0(n,t){return 131071&n|t<<17}(n[a+1],i)}else n[i+1]=oa(a,0),0!==a&&(n[a+1]=_u(n[a+1],i)),a=i;else n[i+1]=oa(l,0),0===a?a=i:n[l+1]=_u(n[l+1],i),l=i;c&&(n[i+1]=yu(n[i+1])),bg(n,u,i,!0),bg(n,u,i,!1),function G0(n,t,e,i,r){const o=r?n.residualClasses:n.residualStyles;null!=o&&"string"==typeof t&&sr(o,t)>=0&&(e[i+1]=vu(e[i+1]))}(t,u,n,i,o),s=oa(a,l),o?t.classBindings=s:t.styleBindings=s}(r,o,t,e,s,i)}}function bu(n,t,e,i,r){let o=null;const s=e.directiveEnd;let a=e.directiveStylingLast;for(-1===a?a=e.directiveStart:a++;a0;){const l=n[r],c=Array.isArray(l),u=c?l[1]:l,d=null===u;let f=e[r+1];f===U&&(f=d?ie:void 0);let h=d?fc(f,i):u===i?f:void 0;if(c&&!sa(h)&&(h=fc(l,i)),sa(h)&&(a=h,s))return a;const p=n[r+1];r=s?ti(p):xi(p)}if(null!==t){let l=o?t.residualClasses:t.residualStyles;null!=l&&(a=fc(l,i))}return a}function sa(n){return void 0!==n}function Ng(n,t){return 0!=(n.flags&(t?8:16))}function Vt(n,t=""){const e=v(),i=X(),r=n+22,o=i.firstCreatePass?mr(i,r,1,t,null):i.data[r],s=e[r]=function Cc(n,t){return n.createText(t)}(e[q],t);Hs(i,e,s,o),pn(o,!1)}function Oi(n){return ni("",n,""),Oi}function ni(n,t,e){const i=v(),r=function yr(n,t,e,i){return Xe(n,Ji(),e)?t+B(e)+i:U}(i,n,t,e);return r!==U&&function Fn(n,t,e){const i=Ss(t,n);!function wp(n,t,e){n.setValue(t,e)}(n[q],i,e)}(i,ct(),r),ni}const xr="en-US";let ty=xr;function Su(n,t,e,i,r){if(n=N(n),Array.isArray(n))for(let o=0;o>20;if(wi(n)||!n.multi){const h=new eo(l,r,b),p=wu(a,t,r?u:u+f,d);-1===p?(ac(Ps(c,s),o,a),Cu(o,n,t.length),t.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),e.push(h),s.push(h)):(e[p]=h,s[p]=h)}else{const h=wu(a,t,u+f,d),p=wu(a,t,u,u+f),y=p>=0&&e[p];if(r&&!y||!r&&!(h>=0&&e[h])){ac(Ps(c,s),o,a);const _=function wM(n,t,e,i,r){const o=new eo(n,e,b);return o.multi=[],o.index=t,o.componentProviders=0,Iy(o,r,i&&!e),o}(r?CM:SM,e.length,r,i,l);!r&&y&&(e[p].providerFactory=_),Cu(o,n,t.length,0),t.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),e.push(_),s.push(_)}else Cu(o,n,h>-1?h:p,Iy(e[r?p:h],l,!r&&i));!r&&i&&y&&e[p].componentProviders++}}}function Cu(n,t,e,i){const r=wi(t),o=function jw(n){return!!n.useClass}(t);if(r||o){const l=(o?N(t.useClass):t).prototype.ngOnDestroy;if(l){const c=n.destroyHooks||(n.destroyHooks=[]);if(!r&&t.multi){const u=c.indexOf(e);-1===u?c.push(e,[i,l]):c[u+1].push(i,l)}else c.push(e,l)}}}function Iy(n,t,e){return e&&n.componentProviders++,n.multi.push(t)-1}function wu(n,t,e,i){for(let r=e;r{e.providersResolver=(i,r)=>function EM(n,t,e){const i=X();if(i.firstCreatePass){const r=Jt(n);Su(e,i.data,i.blueprint,r,!0),Su(t,i.data,i.blueprint,r,!1)}}(i,r?r(n):n,t)}}class Pr{}class IM{}class Ty extends Pr{constructor(t,e){super(),this._parent=e,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new zm(this);const i=function Et(n,t){const e=n[fh]||null;if(!e&&!0===t)throw new Error(`Type ${fe(n)} does not have '\u0275mod' property.`);return e}(t);this._bootstrapComponents=function Rn(n){return n instanceof Function?n():n}(i.bootstrap),this._r3Injector=Sm(t,e,[{provide:Pr,useValue:this},{provide:ur,useValue:this.componentFactoryResolver}],fe(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(e=>e()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class Tu extends IM{constructor(t){super(),this.moduleType=t}create(t){return new Ty(this.moduleType,t)}}class MM extends Pr{constructor(t,e,i){super(),this.componentFactoryResolver=new zm(this),this.instance=null;const r=new lm([...t,{provide:Pr,useValue:this},{provide:ur,useValue:this.componentFactoryResolver}],e||qs(),i,new Set(["environment"]));this.injector=r,r.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}let AM=(()=>{class n{constructor(e){this._injector=e,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(e){if(!e.standalone)return null;if(!this.cachedInjectors.has(e.id)){const i=rm(0,e.type),r=i.length>0?function My(n,t,e=null){return new MM(n,t,e).injector}([i],this._injector,`Standalone[${e.type.name}]`):null;this.cachedInjectors.set(e.id,r)}return this.cachedInjectors.get(e.id)}ngOnDestroy(){try{for(const e of this.cachedInjectors.values())null!==e&&e.destroy()}finally{this.cachedInjectors.clear()}}}return n.\u0275prov=$({token:n,providedIn:"environment",factory:()=>new n(A(Ii))}),n})();function Ri(n){n.getStandaloneInjector=t=>t.get(AM).getOrCreateStandaloneInjector(n)}function da(n,t,e){const i=lt()+n,r=v();return r[i]===U?_n(r,i,e?t.call(e):t()):vo(r,i)}function Or(n,t,e,i){return Vy(v(),lt(),n,t,e,i)}function Ly(n,t,e,i,r,o){return function Hy(n,t,e,i,r,o,s,a){const l=t+e;return function ia(n,t,e,i,r){const o=Mi(n,t,e,i);return Xe(n,t+2,r)||o}(n,l,r,o,s)?_n(n,l+3,a?i.call(a,r,o,s):i(r,o,s)):To(n,l+3)}(v(),lt(),n,t,e,i,r,o)}function Au(n,t,e,i,r,o,s){return function Uy(n,t,e,i,r,o,s,a,l){const c=t+e;return kt(n,c,r,o,s,a)?_n(n,c+4,l?i.call(l,r,o,s,a):i(r,o,s,a)):To(n,c+4)}(v(),lt(),n,t,e,i,r,o,s)}function jy(n,t,e,i){return function $y(n,t,e,i,r,o){let s=t+e,a=!1;for(let l=0;l=0;e--){const i=t[e];if(n===i.name)return i}}(t,e.pipeRegistry),e.data[r]=i,i.onDestroy&&(e.destroyHooks||(e.destroyHooks=[])).push(r,i.onDestroy)):i=e.data[r];const o=i.factory||(i.factory=vi(i.type)),s=Rt(b);try{const a=xs(!1),l=o();return xs(a),function k0(n,t,e,i){e>=n.data.length&&(n.data[e]=null,n.blueprint[e]=null),t[e]=i}(e,v(),r,l),l}finally{Rt(s)}}function et(n,t,e){const i=n+22,r=v(),o=Xi(r,i);return Mo(r,i)?Vy(r,lt(),t,o.transform,e,o):o.transform(e)}function Mo(n,t){return n[1].data[t].pure}function xu(n){return t=>{setTimeout(n,void 0,t)}}const Y=class WM extends Tn{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,e,i){let r=t,o=e||(()=>null),s=i;if(t&&"object"==typeof t){const l=t;r=l.next?.bind(l),o=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(o=xu(o),r&&(r=xu(r)),s&&(s=xu(s)));const a=super.subscribe({next:r,error:o,complete:s});return t instanceof _e&&t.add(a),a}};function GM(){return this._results[Ti()]()}class Pu{get changes(){return this._changes||(this._changes=new Y)}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 e=Ti(),i=Pu.prototype;i[e]||(i[e]=GM)}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,e){return this._results.reduce(t,e)}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,e){const i=this;i.dirty=!1;const r=function Lt(n){return n.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function dC(n,t,e){if(n.length!==t.length)return!1;for(let i=0;i{class n{}return n.__NG_ELEMENT_ID__=QM,n})();const qM=bn,KM=class extends qM{constructor(t,e,i){super(),this._declarationLView=t,this._declarationTContainer=e,this.elementRef=i}createEmbeddedView(t,e){const i=this._declarationTContainer.tViews,r=Qs(this._declarationLView,i,t,16,null,i.declTNode,null,null,null,null,e||null);r[17]=this._declarationLView[this._declarationTContainer.index];const s=this._declarationLView[19];return null!==s&&(r[19]=s.createEmbeddedView(i)),eu(i,r,t),new yo(r)}};function QM(){return fa(ze(),v())}function fa(n,t){return 4&n.type?new KM(t,n,dr(n,t)):null}let Dn=(()=>{class n{}return n.__NG_ELEMENT_ID__=YM,n})();function YM(){return qy(ze(),v())}const ZM=Dn,Wy=class extends ZM{constructor(t,e,i){super(),this._lContainer=t,this._hostTNode=e,this._hostLView=i}get element(){return dr(this._hostTNode,this._hostLView)}get injector(){return new tr(this._hostTNode,this._hostLView)}get parentInjector(){const t=sc(this._hostTNode,this._hostLView);if(Wh(t)){const e=As(t,this._hostLView),i=Ms(t);return new tr(e[1].data[i+8],e)}return new tr(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const e=Gy(this._lContainer);return null!==e&&e[t]||null}get length(){return this._lContainer.length-10}createEmbeddedView(t,e,i){let r,o;"number"==typeof i?r=i:null!=i&&(r=i.index,o=i.injector);const s=t.createEmbeddedView(e||{},o);return this.insert(s,r),s}createComponent(t,e,i,r,o){const s=t&&!function io(n){return"function"==typeof n}(t);let a;if(s)a=e;else{const d=e||{};a=d.index,i=d.injector,r=d.projectableNodes,o=d.environmentInjector||d.ngModuleRef}const l=s?t:new _o(se(t)),c=i||this.parentInjector;if(!o&&null==l.ngModule){const f=(s?c:this.parentInjector).get(Ii,null);f&&(o=f)}const u=l.create(c,r,void 0,o);return this.insert(u.hostView,a),u}insert(t,e){const i=t._lView,r=i[1];if(function NS(n){return Xt(n[3])}(i)){const u=this.indexOf(t);if(-1!==u)this.detach(u);else{const d=i[3],f=new Wy(d,d[6],d[3]);f.detach(f.indexOf(t))}}const o=this._adjustIndex(e),s=this._lContainer;!function JC(n,t,e,i){const r=10+i,o=e.length;i>0&&(e[r-1][4]=t),i0)i.push(s[a/2]);else{const c=o[a+1],u=t[-l];for(let d=10;d{class n{constructor(e){this.appInits=e,this.resolve=pa,this.reject=pa,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,r)=>{this.resolve=i,this.reject=r})}runInitializers(){if(this.initialized)return;const e=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let r=0;r{o.subscribe({complete:a,error:l})});e.push(s)}}Promise.all(e).then(()=>{i()}).catch(r=>{this.reject(r)}),0===e.length&&i(),this.initialized=!0}}return n.\u0275fac=function(e){return new(e||n)(A(y_,8))},n.\u0275prov=$({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const Po=new P("AppId",{providedIn:"root",factory:function __(){return`${$u()}${$u()}${$u()}`}});function $u(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const v_=new P("Platform Initializer"),zu=new P("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),SA=new P("appBootstrapListener"),b_=new P("AnimationModuleType"),kn=new P("LocaleId",{providedIn:"root",factory:()=>Yn(kn,V.Optional|V.SkipSelf)||function CA(){return typeof $localize<"u"&&$localize.locale||xr}()}),AA=(()=>Promise.resolve(0))();function Wu(n){typeof Zone>"u"?AA.then(()=>{n&&n.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",n)}class Ie{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:e=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Y(!1),this.onMicrotaskEmpty=new Y(!1),this.onStable=new Y(!1),this.onError=new Y(!1),typeof Zone>"u")throw new D(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&e,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function xA(){let n=he.requestAnimationFrame,t=he.cancelAnimationFrame;if(typeof Zone<"u"&&n&&t){const e=n[Zone.__symbol__("OriginalDelegate")];e&&(n=e);const i=t[Zone.__symbol__("OriginalDelegate")];i&&(t=i)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:t}}().nativeRequestAnimationFrame,function NA(n){const t=()=>{!function OA(n){n.isCheckStableRunning||-1!==n.lastRequestAnimationFrameId||(n.lastRequestAnimationFrameId=n.nativeRequestAnimationFrame.call(he,()=>{n.fakeTopEventTask||(n.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{n.lastRequestAnimationFrameId=-1,qu(n),n.isCheckStableRunning=!0,Gu(n),n.isCheckStableRunning=!1},void 0,()=>{},()=>{})),n.fakeTopEventTask.invoke()}),qu(n))}(n)};n._inner=n._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(e,i,r,o,s,a)=>{try{return S_(n),e.invokeTask(r,o,s,a)}finally{(n.shouldCoalesceEventChangeDetection&&"eventTask"===o.type||n.shouldCoalesceRunChangeDetection)&&t(),C_(n)}},onInvoke:(e,i,r,o,s,a,l)=>{try{return S_(n),e.invoke(r,o,s,a,l)}finally{n.shouldCoalesceRunChangeDetection&&t(),C_(n)}},onHasTask:(e,i,r,o)=>{e.hasTask(r,o),i===r&&("microTask"==o.change?(n._hasPendingMicrotasks=o.microTask,qu(n),Gu(n)):"macroTask"==o.change&&(n.hasPendingMacrotasks=o.macroTask))},onHandleError:(e,i,r,o)=>(e.handleError(r,o),n.runOutsideAngular(()=>n.onError.emit(o)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Ie.isInAngularZone())throw new D(909,!1)}static assertNotInAngularZone(){if(Ie.isInAngularZone())throw new D(909,!1)}run(t,e,i){return this._inner.run(t,e,i)}runTask(t,e,i,r){const o=this._inner,s=o.scheduleEventTask("NgZoneEvent: "+r,t,PA,pa,pa);try{return o.runTask(s,e,i)}finally{o.cancelTask(s)}}runGuarded(t,e,i){return this._inner.runGuarded(t,e,i)}runOutsideAngular(t){return this._outer.run(t)}}const PA={};function Gu(n){if(0==n._nesting&&!n.hasPendingMicrotasks&&!n.isStable)try{n._nesting++,n.onMicrotaskEmpty.emit(null)}finally{if(n._nesting--,!n.hasPendingMicrotasks)try{n.runOutsideAngular(()=>n.onStable.emit(null))}finally{n.isStable=!0}}}function qu(n){n.hasPendingMicrotasks=!!(n._hasPendingMicrotasks||(n.shouldCoalesceEventChangeDetection||n.shouldCoalesceRunChangeDetection)&&-1!==n.lastRequestAnimationFrameId)}function S_(n){n._nesting++,n.isStable&&(n.isStable=!1,n.onUnstable.emit(null))}function C_(n){n._nesting--,Gu(n)}class RA{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Y,this.onMicrotaskEmpty=new Y,this.onStable=new Y,this.onError=new Y}run(t,e,i){return t.apply(e,i)}runGuarded(t,e,i){return t.apply(e,i)}runOutsideAngular(t){return t()}runTask(t,e,i,r){return t.apply(e,i)}}const w_=new P(""),ga=new P("");let Yu,Ku=(()=>{class n{constructor(e,i,r){this._ngZone=e,this.registry=i,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,Yu||(function FA(n){Yu=n}(r),r.addToWindow(i)),this._watchAngularEvents(),e.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:()=>{Ie.assertNotInAngularZone(),Wu(()=>{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())Wu(()=>{for(;0!==this._callbacks.length;){let e=this._callbacks.pop();clearTimeout(e.timeoutId),e.doneCb(this._didWork)}this._didWork=!1});else{let e=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(e)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(e=>({source:e.source,creationLocation:e.creationLocation,data:e.data})):[]}addCallback(e,i,r){let o=-1;i&&i>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==o),e(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:e,timeoutId:o,updateCb:r})}whenStable(e,i,r){if(r&&!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(e,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(e){this.registry.registerApplication(e,this)}unregisterApplication(e){this.registry.unregisterApplication(e)}findProviders(e,i,r){return[]}}return n.\u0275fac=function(e){return new(e||n)(A(Ie),A(Qu),A(ga))},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})(),Qu=(()=>{class n{constructor(){this._applications=new Map}registerApplication(e,i){this._applications.set(e,i)}unregisterApplication(e){this._applications.delete(e)}unregisterAllApplications(){this._applications.clear()}getTestability(e){return this._applications.get(e)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(e,i=!0){return Yu?.findTestabilityInTree(this,e,i)??null}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=$({token:n,factory:n.\u0275fac,providedIn:"platform"}),n})(),ii=null;const I_=new P("AllowMultipleToken"),Zu=new P("PlatformDestroyListeners");function M_(n,t,e=[]){const i=`Platform: ${t}`,r=new P(i);return(o=[])=>{let s=Xu();if(!s||s.injector.get(I_,!1)){const a=[...e,...o,{provide:r,useValue:!0}];n?n(a):function jA(n){if(ii&&!ii.get(I_,!1))throw new D(400,!1);ii=n;const t=n.get(x_);(function T_(n){const t=n.get(v_,null);t&&t.forEach(e=>e())})(n)}(function A_(n=[],t){return gn.create({name:t,providers:[{provide:Uc,useValue:"platform"},{provide:Zu,useValue:new Set([()=>ii=null])},...n]})}(a,i))}return function BA(n){const t=Xu();if(!t)throw new D(401,!1);return t}()}}function Xu(){return ii?.get(x_)??null}let x_=(()=>{class n{constructor(e){this._injector=e,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(e,i){const r=function O_(n,t){let e;return e="noop"===n?new RA:("zone.js"===n?void 0:n)||new Ie(t),e}(i?.ngZone,function P_(n){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:!(!n||!n.ngZoneEventCoalescing)||!1,shouldCoalesceRunChangeDetection:!(!n||!n.ngZoneRunCoalescing)||!1}}(i)),o=[{provide:Ie,useValue:r}];return r.run(()=>{const s=gn.create({providers:o,parent:this.injector,name:e.moduleType.name}),a=e.create(s),l=a.injector.get(fr,null);if(!l)throw new D(402,!1);return r.runOutsideAngular(()=>{const c=r.onError.subscribe({next:u=>{l.handleError(u)}});a.onDestroy(()=>{ya(this._modules,a),c.unsubscribe()})}),function N_(n,t,e){try{const i=e();return ra(i)?i.catch(r=>{throw t.runOutsideAngular(()=>n.handleError(r)),r}):i}catch(i){throw t.runOutsideAngular(()=>n.handleError(i)),i}}(l,r,()=>{const c=a.injector.get(ma);return c.runInitializers(),c.donePromise.then(()=>(function ny(n){Nt(n,"Expected localeId to be defined"),"string"==typeof n&&(ty=n.toLowerCase().replace(/_/g,"-"))}(a.injector.get(kn,xr)||xr),this._moduleDoBootstrap(a),a))})})}bootstrapModule(e,i=[]){const r=R_({},i);return function LA(n,t,e){const i=new Tu(e);return Promise.resolve(i)}(0,0,e).then(o=>this.bootstrapModuleFactory(o,r))}_moduleDoBootstrap(e){const i=e.injector.get(Oo);if(e._bootstrapComponents.length>0)e._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!e.instance.ngDoBootstrap)throw new D(-403,!1);e.instance.ngDoBootstrap(i)}this._modules.push(e)}onDestroy(e){this._destroyListeners.push(e)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new D(404,!1);this._modules.slice().forEach(i=>i.destroy()),this._destroyListeners.forEach(i=>i());const e=this._injector.get(Zu,null);e&&(e.forEach(i=>i()),e.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return n.\u0275fac=function(e){return new(e||n)(A(gn))},n.\u0275prov=$({token:n,factory:n.\u0275fac,providedIn:"platform"}),n})();function R_(n,t){return Array.isArray(t)?t.reduce(R_,n):{...n,...t}}let Oo=(()=>{class n{get destroyed(){return this._destroyed}get injector(){return this._injector}constructor(e,i,r){this._zone=e,this._injector=i,this._exceptionHandler=r,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this._destroyed=!1,this._destroyListeners=[],this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const o=new ve(a=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{a.next(this._stable),a.complete()})}),s=new ve(a=>{let l;this._zone.runOutsideAngular(()=>{l=this._zone.onStable.subscribe(()=>{Ie.assertNotInAngularZone(),Wu(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,a.next(!0))})})});const c=this._zone.onUnstable.subscribe(()=>{Ie.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{a.next(!1)}))});return()=>{l.unsubscribe(),c.unsubscribe()}});this.isStable=ih(o,s.pipe(function nS(){return n=>rh()(function JE(n,t){return function(i){let r;if(r="function"==typeof n?n:function(){return n},"function"==typeof t)return i.lift(new eS(r,t));const o=Object.create(i,YE);return o.source=i,o.subjectFactory=r,o}}(tS)(n))}()))}bootstrap(e,i){const r=e instanceof um;if(!this._injector.get(ma).done)throw!r&&function Kr(n){const t=se(n)||qe(n)||st(n);return null!==t&&t.standalone}(e),new D(405,false);let s;s=r?e:this._injector.get(ur).resolveComponentFactory(e),this.componentTypes.push(s.componentType);const a=function kA(n){return n.isBoundToModule}(s)?void 0:this._injector.get(Pr),c=s.create(gn.NULL,[],i||s.selector,a),u=c.location.nativeElement,d=c.injector.get(w_,null);return d?.registerApplication(u),c.onDestroy(()=>{this.detachView(c.hostView),ya(this.components,c),d?.unregisterApplication(u)}),this._loadComponent(c),c}tick(){if(this._runningTick)throw new D(101,!1);try{this._runningTick=!0;for(let e of this._views)e.detectChanges()}catch(e){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(e))}finally{this._runningTick=!1}}attachView(e){const i=e;this._views.push(i),i.attachToAppRef(this)}detachView(e){const i=e;ya(this._views,i),i.detachFromAppRef()}_loadComponent(e){this.attachView(e.hostView),this.tick(),this.components.push(e);const i=this._injector.get(SA,[]);i.push(...this._bootstrapListeners),i.forEach(r=>r(e))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(e=>e()),this._views.slice().forEach(e=>e.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(e){return this._destroyListeners.push(e),()=>ya(this._destroyListeners,e)}destroy(){if(this._destroyed)throw new D(406,!1);const e=this._injector;e.destroy&&!e.destroyed&&e.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return n.\u0275fac=function(e){return new(e||n)(A(Ie),A(Ii),A(fr))},n.\u0275prov=$({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();function ya(n,t){const e=n.indexOf(t);e>-1&&n.splice(e,1)}let Li=(()=>{class n{}return n.__NG_ELEMENT_ID__=$A,n})();function $A(n){return function zA(n,t,e){if(Xr(n)&&!e){const i=wt(n.index,t);return new yo(i,i)}return 47&n.type?new yo(t[16],t):null}(ze(),v(),16==(16&n))}class V_{constructor(){}supports(t){return na(t)}create(t){return new YA(t)}}const QA=(n,t)=>t;class YA{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||QA}forEachItem(t){let e;for(e=this._itHead;null!==e;e=e._next)t(e)}forEachOperation(t){let e=this._itHead,i=this._removalsHead,r=0,o=null;for(;e||i;){const s=!i||e&&e.currentIndex{s=this._trackByFn(r,a),null!==e&&Object.is(e.trackById,s)?(i&&(e=this._verifyReinsertion(e,a,s,r)),Object.is(e.item,a)||this._addIdentityChange(e,a)):(e=this._mismatch(e,a,s,r),i=!0),e=e._next,r++}),this.length=r;return this._truncate(e),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,e,i,r){let o;return null===t?o=this._itTail:(o=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._reinsertAfter(t,o,r)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._moveAfter(t,o,r)):t=this._addAfter(new ZA(e,i),o,r),t}_verifyReinsertion(t,e,i,r){let o=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==o?t=this._reinsertAfter(o,t._prev,r):t.currentIndex!=r&&(t.currentIndex=r,this._addToMoves(t,r)),t}_truncate(t){for(;null!==t;){const e=t._next;this._addToRemovals(this._unlink(t)),t=e}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,e,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const r=t._prevRemoved,o=t._nextRemoved;return null===r?this._removalsHead=o:r._nextRemoved=o,null===o?this._removalsTail=r:o._prevRemoved=r,this._insertAfter(t,e,i),this._addToMoves(t,i),t}_moveAfter(t,e,i){return this._unlink(t),this._insertAfter(t,e,i),this._addToMoves(t,i),t}_addAfter(t,e,i){return this._insertAfter(t,e,i),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,e,i){const r=null===e?this._itHead:e._next;return t._next=r,t._prev=e,null===r?this._itTail=t:r._prev=t,null===e?this._itHead=t:e._next=t,null===this._linkedRecords&&(this._linkedRecords=new B_),this._linkedRecords.put(t),t.currentIndex=i,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const e=t._prev,i=t._next;return null===e?this._itHead=i:e._next=i,null===i?this._itTail=e:i._prev=e,t}_addToMoves(t,e){return t.previousIndex===e||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new B_),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,e){return t.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class ZA{constructor(t,e){this.item=t,this.trackById=e,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 XA{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,e){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===e||e<=i.currentIndex)&&Object.is(i.trackById,t))return i;return null}remove(t){const e=t._prevDup,i=t._nextDup;return null===e?this._head=i:e._nextDup=i,null===i?this._tail=e:i._prevDup=e,null===this._head}}class B_{constructor(){this.map=new Map}put(t){const e=t.trackById;let i=this.map.get(e);i||(i=new XA,this.map.set(e,i)),i.add(t)}get(t,e){const r=this.map.get(t);return r?r.get(t,e):null}remove(t){const e=t.trackById;return this.map.get(e).remove(t)&&this.map.delete(e),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function H_(n,t,e){const i=n.previousIndex;if(null===i)return i;let r=0;return e&&i{if(e&&e.key===r)this._maybeAddToChanges(e,i),this._appendAfter=e,e=e._next;else{const o=this._getOrCreateRecordForKey(r,i);e=this._insertBeforeOrAppend(e,o)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let i=e;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,e){if(t){const i=t._prev;return e._next=t,e._prev=i,t._prev=e,i&&(i._next=e),t===this._mapHead&&(this._mapHead=e),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=e,e._prev=this._appendAfter):this._mapHead=e,this._appendAfter=e,null}_getOrCreateRecordForKey(t,e){if(this._records.has(t)){const r=this._records.get(t);this._maybeAddToChanges(r,e);const o=r._prev,s=r._next;return o&&(o._next=s),s&&(s._prev=o),r._next=null,r._prev=null,r}const i=new ex(t);return this._records.set(t,i),i.currentValue=e,this._addToAdditions(i),i}_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,e){Object.is(e,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=e,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,e){t instanceof Map?t.forEach(e):Object.keys(t).forEach(i=>e(t[i],i))}}class ex{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 $_(){return new ba([new V_])}let ba=(()=>{class n{constructor(e){this.factories=e}static create(e,i){if(null!=i){const r=i.factories.slice();e=e.concat(r)}return new n(e)}static extend(e){return{provide:n,useFactory:i=>n.create(e,i||$_()),deps:[[n,new ks,new Ls]]}}find(e){const i=this.factories.find(r=>r.supports(e));if(null!=i)return i;throw new D(901,!1)}}return n.\u0275prov=$({token:n,providedIn:"root",factory:$_}),n})();function z_(){return new No([new U_])}let No=(()=>{class n{constructor(e){this.factories=e}static create(e,i){if(i){const r=i.factories.slice();e=e.concat(r)}return new n(e)}static extend(e){return{provide:n,useFactory:i=>n.create(e,i||z_()),deps:[[n,new ks,new Ls]]}}find(e){const i=this.factories.find(r=>r.supports(e));if(i)return i;throw new D(901,!1)}}return n.\u0275prov=$({token:n,providedIn:"root",factory:z_}),n})();const ix=M_(null,"core",[]);let rx=(()=>{class n{constructor(e){}}return n.\u0275fac=function(e){return new(e||n)(A(Oo))},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({}),n})();let rd=null;function ji(){return rd}class ax{}const Bt=new P("DocumentToken");function ev(n,t){t=encodeURIComponent(t);for(const e of n.split(";")){const i=e.indexOf("="),[r,o]=-1==i?[e,""]:[e.slice(0,i),e.slice(i+1)];if(r.trim()===t)return decodeURIComponent(o)}return null}const pd=/\s+/,tv=[];let Fr=(()=>{class n{constructor(e,i,r,o){this._iterableDiffers=e,this._keyValueDiffers=i,this._ngEl=r,this._renderer=o,this.initialClasses=tv,this.stateMap=new Map}set klass(e){this.initialClasses=null!=e?e.trim().split(pd):tv}set ngClass(e){this.rawClass="string"==typeof e?e.trim().split(pd):e}ngDoCheck(){for(const i of this.initialClasses)this._updateState(i,!0);const e=this.rawClass;if(Array.isArray(e)||e instanceof Set)for(const i of e)this._updateState(i,!0);else if(null!=e)for(const i of Object.keys(e))this._updateState(i,Boolean(e[i]));this._applyStateDiff()}_updateState(e,i){const r=this.stateMap.get(e);void 0!==r?(r.enabled!==i&&(r.changed=!0,r.enabled=i),r.touched=!0):this.stateMap.set(e,{enabled:i,changed:!0,touched:!0})}_applyStateDiff(){for(const e of this.stateMap){const i=e[0],r=e[1];r.changed?(this._toggleClass(i,r.enabled),r.changed=!1):r.touched||(r.enabled&&this._toggleClass(i,!1),this.stateMap.delete(i)),r.touched=!1}}_toggleClass(e,i){(e=e.trim()).length>0&&e.split(pd).forEach(r=>{i?this._renderer.addClass(this._ngEl.nativeElement,r):this._renderer.removeClass(this._ngEl.nativeElement,r)})}}return n.\u0275fac=function(e){return new(e||n)(b(ba),b(No),b(ut),b(ei))},n.\u0275dir=k({type:n,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"},standalone:!0}),n})(),Lr=(()=>{class n{constructor(e,i){this._viewContainer=e,this._context=new Yx,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(e){this._context.$implicit=this._context.ngIf=e,this._updateView()}set ngIfThen(e){ov("ngIfThen",e),this._thenTemplateRef=e,this._thenViewRef=null,this._updateView()}set ngIfElse(e){ov("ngIfElse",e),this._elseTemplateRef=e,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(e,i){return!0}}return n.\u0275fac=function(e){return new(e||n)(b(Dn),b(bn))},n.\u0275dir=k({type:n,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),n})();class Yx{constructor(){this.$implicit=null,this.ngIf=null}}function ov(n,t){if(t&&!t.createEmbeddedView)throw new Error(`${n} must be a TemplateRef, but received '${fe(t)}'.`)}class md{constructor(t,e){this._viewContainerRef=t,this._templateRef=e,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(t){t&&!this._created?this.create():!t&&this._created&&this.destroy()}}let xa=(()=>{class n{constructor(){this._defaultViews=[],this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(e){this._ngSwitch=e,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(e){this._defaultViews.push(e)}_matchCase(e){const i=e==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||i,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),i}_updateDefaultCases(e){if(this._defaultViews.length>0&&e!==this._defaultUsed){this._defaultUsed=e;for(const i of this._defaultViews)i.enforceState(e)}}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275dir=k({type:n,selectors:[["","ngSwitch",""]],inputs:{ngSwitch:"ngSwitch"},standalone:!0}),n})(),sv=(()=>{class n{constructor(e,i,r){this.ngSwitch=r,r._addCase(),this._view=new md(e,i)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}}return n.\u0275fac=function(e){return new(e||n)(b(Dn),b(bn),b(xa,9))},n.\u0275dir=k({type:n,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"},standalone:!0}),n})(),Pa=(()=>{class n{constructor(e,i,r){this._ngEl=e,this._differs=i,this._renderer=r,this._ngStyle=null,this._differ=null}set ngStyle(e){this._ngStyle=e,!this._differ&&e&&(this._differ=this._differs.find(e).create())}ngDoCheck(){if(this._differ){const e=this._differ.diff(this._ngStyle);e&&this._applyChanges(e)}}_setStyle(e,i){const[r,o]=e.split("."),s=-1===r.indexOf("-")?void 0:yt.DashCase;null!=i?this._renderer.setStyle(this._ngEl.nativeElement,r,o?`${i}${o}`:i,s):this._renderer.removeStyle(this._ngEl.nativeElement,r,s)}_applyChanges(e){e.forEachRemovedItem(i=>this._setStyle(i.key,null)),e.forEachAddedItem(i=>this._setStyle(i.key,i.currentValue)),e.forEachChangedItem(i=>this._setStyle(i.key,i.currentValue))}}return n.\u0275fac=function(e){return new(e||n)(b(ut),b(No),b(ei))},n.\u0275dir=k({type:n,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"},standalone:!0}),n})(),gd=(()=>{class n{constructor(e){this._viewContainerRef=e,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null,this.ngTemplateOutletInjector=null}ngOnChanges(e){if(e.ngTemplateOutlet||e.ngTemplateOutletInjector){const i=this._viewContainerRef;if(this._viewRef&&i.remove(i.indexOf(this._viewRef)),this.ngTemplateOutlet){const{ngTemplateOutlet:r,ngTemplateOutletContext:o,ngTemplateOutletInjector:s}=this;this._viewRef=i.createEmbeddedView(r,o,s?{injector:s}:void 0)}else this._viewRef=null}else this._viewRef&&e.ngTemplateOutletContext&&this.ngTemplateOutletContext&&(this._viewRef.context=this.ngTemplateOutletContext)}}return n.\u0275fac=function(e){return new(e||n)(b(Dn))},n.\u0275dir=k({type:n,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},standalone:!0,features:[hn]}),n})();class Jx{createSubscription(t,e){return t.subscribe({next:e,error:i=>{throw i}})}dispose(t){t.unsubscribe()}}class eP{createSubscription(t,e){return t.then(e,i=>{throw i})}dispose(t){}}const tP=new eP,nP=new Jx;let yd=(()=>{class n{constructor(e){this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null,this._ref=e}ngOnDestroy(){this._subscription&&this._dispose(),this._ref=null}transform(e){return this._obj?e!==this._obj?(this._dispose(),this.transform(e)):this._latestValue:(e&&this._subscribe(e),this._latestValue)}_subscribe(e){this._obj=e,this._strategy=this._selectStrategy(e),this._subscription=this._strategy.createSubscription(e,i=>this._updateLatestValue(e,i))}_selectStrategy(e){if(ra(e))return tP;if(og(e))return nP;throw function cn(n,t){return new D(2100,!1)}()}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(e,i){e===this._obj&&(this._latestValue=i,this._ref.markForCheck())}}return n.\u0275fac=function(e){return new(e||n)(b(Li,16))},n.\u0275pipe=ot({name:"async",type:n,pure:!1,standalone:!0}),n})(),Mt=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({}),n})();class dv{}class YP extends ax{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class Ed extends YP{static makeCurrent(){!function sx(n){rd||(rd=n)}(new Ed)}onAndCancel(t,e,i){return t.addEventListener(e,i,!1),()=>{t.removeEventListener(e,i,!1)}}dispatchEvent(t,e){t.dispatchEvent(e)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,e){return(e=e||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,e){return"window"===e?window:"document"===e?t:"body"===e?t.body:null}getBaseHref(t){const e=function ZP(){return ko=ko||document.querySelector("base"),ko?ko.getAttribute("href"):null}();return null==e?null:function XP(n){Na=Na||document.createElement("a"),Na.setAttribute("href",n);const t=Na.pathname;return"/"===t.charAt(0)?t:`/${t}`}(e)}resetBaseElement(){ko=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return ev(document.cookie,t)}}let Na,ko=null;const yv=new P("TRANSITION_ID"),e1=[{provide:y_,useFactory:function JP(n,t,e){return()=>{e.get(ma).donePromise.then(()=>{const i=ji(),r=t.querySelectorAll(`style[ng-transition="${n}"]`);for(let o=0;o{class n{build(){return new XMLHttpRequest}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})();const Ra=new P("EventManagerPlugins");let Fa=(()=>{class n{constructor(e,i){this._zone=i,this._eventNameToPlugin=new Map,e.forEach(r=>r.manager=this),this._plugins=e.slice().reverse()}addEventListener(e,i,r){return this._findPluginFor(i).addEventListener(e,i,r)}addGlobalEventListener(e,i,r){return this._findPluginFor(i).addGlobalEventListener(e,i,r)}getZone(){return this._zone}_findPluginFor(e){const i=this._eventNameToPlugin.get(e);if(i)return i;const r=this._plugins;for(let o=0;o{class n{constructor(){this._stylesSet=new Set}addStyles(e){const i=new Set;e.forEach(r=>{this._stylesSet.has(r)||(this._stylesSet.add(r),i.add(r))}),this.onStylesAdded(i)}onStylesAdded(e){}getAllStyles(){return Array.from(this._stylesSet)}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})(),jo=(()=>{class n extends vv{constructor(e){super(),this._doc=e,this._hostNodes=new Map,this._hostNodes.set(e.head,[])}_addStylesToHost(e,i,r){e.forEach(o=>{const s=this._doc.createElement("style");s.textContent=o,r.push(i.appendChild(s))})}addHost(e){const i=[];this._addStylesToHost(this._stylesSet,e,i),this._hostNodes.set(e,i)}removeHost(e){const i=this._hostNodes.get(e);i&&i.forEach(bv),this._hostNodes.delete(e)}onStylesAdded(e){this._hostNodes.forEach((i,r)=>{this._addStylesToHost(e,r,i)})}ngOnDestroy(){this._hostNodes.forEach(e=>e.forEach(bv))}}return n.\u0275fac=function(e){return new(e||n)(A(Bt))},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})();function bv(n){ji().remove(n)}const Sd={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/"},Cd=/%COMP%/g;function wd(n,t){return t.flat(100).map(e=>e.replace(Cd,n))}function Sv(n){return t=>{if("__ngUnwrap__"===t)return n;!1===n(t)&&(t.preventDefault(),t.returnValue=!1)}}let La=(()=>{class n{constructor(e,i,r){this.eventManager=e,this.sharedStylesHost=i,this.appId=r,this.rendererByCompId=new Map,this.defaultRenderer=new Id(e)}createRenderer(e,i){if(!e||!i)return this.defaultRenderer;switch(i.encapsulation){case Yt.Emulated:{let r=this.rendererByCompId.get(i.id);return r||(r=new c1(this.eventManager,this.sharedStylesHost,i,this.appId),this.rendererByCompId.set(i.id,r)),r.applyToHost(e),r}case Yt.ShadowDom:return new u1(this.eventManager,this.sharedStylesHost,e,i);default:if(!this.rendererByCompId.has(i.id)){const r=wd(i.id,i.styles);this.sharedStylesHost.addStyles(r),this.rendererByCompId.set(i.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return n.\u0275fac=function(e){return new(e||n)(A(Fa),A(jo),A(Po))},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})();class Id{constructor(t){this.eventManager=t,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,e){return e?document.createElementNS(Sd[e]||e,t):document.createElement(t)}createComment(t){return document.createComment(t)}createText(t){return document.createTextNode(t)}appendChild(t,e){(wv(t)?t.content:t).appendChild(e)}insertBefore(t,e,i){t&&(wv(t)?t.content:t).insertBefore(e,i)}removeChild(t,e){t&&t.removeChild(e)}selectRootElement(t,e){let i="string"==typeof t?document.querySelector(t):t;if(!i)throw new Error(`The selector "${t}" did not match any elements`);return e||(i.textContent=""),i}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,e,i,r){if(r){e=r+":"+e;const o=Sd[r];o?t.setAttributeNS(o,e,i):t.setAttribute(e,i)}else t.setAttribute(e,i)}removeAttribute(t,e,i){if(i){const r=Sd[i];r?t.removeAttributeNS(r,e):t.removeAttribute(`${i}:${e}`)}else t.removeAttribute(e)}addClass(t,e){t.classList.add(e)}removeClass(t,e){t.classList.remove(e)}setStyle(t,e,i,r){r&(yt.DashCase|yt.Important)?t.style.setProperty(e,i,r&yt.Important?"important":""):t.style[e]=i}removeStyle(t,e,i){i&yt.DashCase?t.style.removeProperty(e):t.style[e]=""}setProperty(t,e,i){t[e]=i}setValue(t,e){t.nodeValue=e}listen(t,e,i){return"string"==typeof t?this.eventManager.addGlobalEventListener(t,e,Sv(i)):this.eventManager.addEventListener(t,e,Sv(i))}}function wv(n){return"TEMPLATE"===n.tagName&&void 0!==n.content}class c1 extends Id{constructor(t,e,i,r){super(t),this.component=i;const o=wd(r+"-"+i.id,i.styles);e.addStyles(o),this.contentAttr=function s1(n){return"_ngcontent-%COMP%".replace(Cd,n)}(r+"-"+i.id),this.hostAttr=function a1(n){return"_nghost-%COMP%".replace(Cd,n)}(r+"-"+i.id)}applyToHost(t){super.setAttribute(t,this.hostAttr,"")}createElement(t,e){const i=super.createElement(t,e);return super.setAttribute(i,this.contentAttr,""),i}}class u1 extends Id{constructor(t,e,i,r){super(t),this.sharedStylesHost=e,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const o=wd(r.id,r.styles);for(let s=0;s{class n extends _v{constructor(e){super(e)}supports(e){return!0}addEventListener(e,i,r){return e.addEventListener(i,r,!1),()=>this.removeEventListener(e,i,r)}removeEventListener(e,i,r){return e.removeEventListener(i,r)}}return n.\u0275fac=function(e){return new(e||n)(A(Bt))},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})();const Iv=["alt","control","meta","shift"],f1={"\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"},h1={alt:n=>n.altKey,control:n=>n.ctrlKey,meta:n=>n.metaKey,shift:n=>n.shiftKey};let p1=(()=>{class n extends _v{constructor(e){super(e)}supports(e){return null!=n.parseEventName(e)}addEventListener(e,i,r){const o=n.parseEventName(i),s=n.eventCallback(o.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>ji().onAndCancel(e,o.domEventName,s))}static parseEventName(e){const i=e.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const o=n._normalizeKey(i.pop());let s="",a=i.indexOf("code");if(a>-1&&(i.splice(a,1),s="code."),Iv.forEach(c=>{const u=i.indexOf(c);u>-1&&(i.splice(u,1),s+=c+".")}),s+=o,0!=i.length||0===o.length)return null;const l={};return l.domEventName=r,l.fullKey=s,l}static matchEventFullKeyCode(e,i){let r=f1[e.key]||e.key,o="";return i.indexOf("code.")>-1&&(r=e.code,o="code."),!(null==r||!r)&&(r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),Iv.forEach(s=>{s!==r&&(0,h1[s])(e)&&(o+=s+".")}),o+=r,o===i)}static eventCallback(e,i,r){return o=>{n.matchEventFullKeyCode(o,e)&&r.runGuarded(()=>i(o))}}static _normalizeKey(e){return"esc"===e?"escape":e}}return n.\u0275fac=function(e){return new(e||n)(A(Bt))},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})();const Mv=[{provide:zu,useValue:"browser"},{provide:v_,useValue:function m1(){Ed.makeCurrent()},multi:!0},{provide:Bt,useFactory:function y1(){return function fw(n){Nc=n}(document),document},deps:[]}],_1=M_(ix,"browser",Mv),Av=new P(""),xv=[{provide:ga,useClass:class t1{addToWindow(t){he.getAngularTestability=(i,r=!0)=>{const o=t.findTestabilityInTree(i,r);if(null==o)throw new Error("Could not find testability for element.");return o},he.getAllAngularTestabilities=()=>t.getAllTestabilities(),he.getAllAngularRootElements=()=>t.getAllRootElements(),he.frameworkStabilizers||(he.frameworkStabilizers=[]),he.frameworkStabilizers.push(i=>{const r=he.getAllAngularTestabilities();let o=r.length,s=!1;const a=function(l){s=s||l,o--,0==o&&i(s)};r.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(t,e,i){return null==e?null:t.getTestability(e)??(i?ji().isShadowRoot(e)?this.findTestabilityInTree(t,e.host,!0):this.findTestabilityInTree(t,e.parentElement,!0):null)}},deps:[]},{provide:w_,useClass:Ku,deps:[Ie,Qu,ga]},{provide:Ku,useClass:Ku,deps:[Ie,Qu,ga]}],Pv=[{provide:Uc,useValue:"root"},{provide:fr,useFactory:function g1(){return new fr},deps:[]},{provide:Ra,useClass:d1,multi:!0,deps:[Bt,Ie,zu]},{provide:Ra,useClass:p1,multi:!0,deps:[Bt]},{provide:La,useClass:La,deps:[Fa,jo,Po]},{provide:po,useExisting:La},{provide:vv,useExisting:jo},{provide:jo,useClass:jo,deps:[Bt]},{provide:Fa,useClass:Fa,deps:[Ra,Ie]},{provide:dv,useClass:n1,deps:[]},[]];let Ov=(()=>{class n{constructor(e){}static withServerTransition(e){return{ngModule:n,providers:[{provide:Po,useValue:e.appId},{provide:yv,useExisting:Po},e1]}}}return n.\u0275fac=function(e){return new(e||n)(A(Av,12))},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({providers:[...Pv,...xv],imports:[Mt,rx]}),n})();function Ad(n,t){return function(i){return i.lift(new M1(n,t))}}typeof window<"u"&&window;class M1{constructor(t,e){this.predicate=t,this.thisArg=e}call(t,e){return e.subscribe(new A1(t,this.predicate,this.thisArg))}}class A1 extends Se{constructor(t,e,i){super(t),this.predicate=e,this.thisArg=i,this.count=0}_next(t){let e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(i){return void this.destination.error(i)}e&&this.destination.next(t)}}const x1=(()=>{function n(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return n.prototype=Object.create(Error.prototype),n})(),xd=new ve(n=>n.complete());function Fv(n){return n?function P1(n){return new ve(t=>n.schedule(()=>t.complete()))}(n):xd}function Pd(n){return t=>0===n?Fv():t.lift(new O1(n))}class O1{constructor(t){if(this.total=t,this.total<0)throw new x1}call(t,e){return e.subscribe(new N1(t,this.total))}}class N1 extends Se{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){const e=this.total,i=++this.count;i<=e&&(this.destination.next(t),i===e&&(this.destination.complete(),this.unsubscribe()))}}class R1 extends Tn{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const e=super._subscribe(t);return e&&!e.closed&&t.next(this._value),e}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new gi;return this._value}next(t){super.next(this._value=t)}}function ka(n,t){return new ve(e=>{const i=n.length;if(0===i)return void e.complete();const r=new Array(i);let o=0,s=0;for(let a=0;a{c||(c=!0,s++),r[a]=u},error:u=>e.error(u),complete:()=>{o++,(o===i||!c)&&(s===i&&e.next(t?t.reduce((u,d,f)=>(u[d]=r[f],u),{}):r),e.complete())}}))}})}let Lv=(()=>{class n{constructor(e,i){this._renderer=e,this._elementRef=i,this.onChange=r=>{},this.onTouched=()=>{}}setProperty(e,i){this._renderer.setProperty(this._elementRef.nativeElement,e,i)}registerOnTouched(e){this.onTouched=e}registerOnChange(e){this.onChange=e}setDisabledState(e){this.setProperty("disabled",e)}}return n.\u0275fac=function(e){return new(e||n)(b(ei),b(ut))},n.\u0275dir=k({type:n}),n})(),Vi=(()=>{class n extends Lv{}return n.\u0275fac=function(){let t;return function(i){return(t||(t=function Ye(n){return Zn(()=>{const t=n.prototype.constructor,e=t[An]||lc(t),i=Object.prototype;let r=Object.getPrototypeOf(n.prototype).constructor;for(;r&&r!==i;){const o=r[An]||lc(r);if(o&&o!==e)return o;r=Object.getPrototypeOf(r)}return o=>new o})}(n)))(i||n)}}(),n.\u0275dir=k({type:n,features:[le]}),n})();const un=new P("NgValueAccessor"),k1={provide:un,useExisting:ce(()=>Vo),multi:!0},V1=new P("CompositionEventMode");let Vo=(()=>{class n extends Lv{constructor(e,i,r){super(e,i),this._compositionMode=r,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function j1(){const n=ji()?ji().getUserAgent():"";return/android (\d+)/.test(n.toLowerCase())}())}writeValue(e){this.setProperty("value",e??"")}_handleInput(e){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(e)}_compositionStart(){this._composing=!0}_compositionEnd(e){this._composing=!1,this._compositionMode&&this.onChange(e)}}return n.\u0275fac=function(e){return new(e||n)(b(ei),b(ut),b(V1,8))},n.\u0275dir=k({type:n,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(e,i){1&e&&J("input",function(o){return i._handleInput(o.target.value)})("blur",function(){return i.onTouched()})("compositionstart",function(){return i._compositionStart()})("compositionend",function(o){return i._compositionEnd(o.target.value)})},features:[de([k1]),le]}),n})();function oi(n){return null==n||("string"==typeof n||Array.isArray(n))&&0===n.length}function jv(n){return null!=n&&"number"==typeof n.length}const Ge=new P("NgValidators"),si=new P("NgAsyncValidators"),H1=/^(?=.{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])?)*$/;class ja{static min(t){return function Vv(n){return t=>{if(oi(t.value)||oi(n))return null;const e=parseFloat(t.value);return!isNaN(e)&&e{if(oi(t.value)||oi(n))return null;const e=parseFloat(t.value);return!isNaN(e)&&e>n?{max:{max:n,actual:t.value}}:null}}(t)}static required(t){return function Hv(n){return oi(n.value)?{required:!0}:null}(t)}static requiredTrue(t){return function Uv(n){return!0===n.value?null:{required:!0}}(t)}static email(t){return function $v(n){return oi(n.value)||H1.test(n.value)?null:{email:!0}}(t)}static minLength(t){return function zv(n){return t=>oi(t.value)||!jv(t.value)?null:t.value.lengthjv(t.value)&&t.value.length>n?{maxlength:{requiredLength:n,actualLength:t.value.length}}:null}(t)}static pattern(t){return function Gv(n){if(!n)return Va;let t,e;return"string"==typeof n?(e="","^"!==n.charAt(0)&&(e+="^"),e+=n,"$"!==n.charAt(n.length-1)&&(e+="$"),t=new RegExp(e)):(e=n.toString(),t=n),i=>{if(oi(i.value))return null;const r=i.value;return t.test(r)?null:{pattern:{requiredPattern:e,actualValue:r}}}}(t)}static nullValidator(t){return null}static compose(t){return Xv(t)}static composeAsync(t){return Jv(t)}}function Va(n){return null}function qv(n){return null!=n}function Kv(n){return ra(n)?yi(n):n}function Qv(n){let t={};return n.forEach(e=>{t=null!=e?{...t,...e}:t}),0===Object.keys(t).length?null:t}function Yv(n,t){return t.map(e=>e(n))}function Zv(n){return n.map(t=>function U1(n){return!n.validate}(t)?t:e=>t.validate(e))}function Xv(n){if(!n)return null;const t=n.filter(qv);return 0==t.length?null:function(e){return Qv(Yv(e,t))}}function Od(n){return null!=n?Xv(Zv(n)):null}function Jv(n){if(!n)return null;const t=n.filter(qv);return 0==t.length?null:function(e){return function F1(...n){if(1===n.length){const t=n[0];if(Kt(t))return ka(t,null);if(Tl(t)&&Object.getPrototypeOf(t)===Object.prototype){const e=Object.keys(t);return ka(e.map(i=>t[i]),e)}}if("function"==typeof n[n.length-1]){const t=n.pop();return ka(n=1===n.length&&Kt(n[0])?n[0]:n,null).pipe(mt(e=>t(...e)))}return ka(n,null)}(Yv(e,t).map(Kv)).pipe(mt(Qv))}}function Nd(n){return null!=n?Jv(Zv(n)):null}function eb(n,t){return null===n?[t]:Array.isArray(n)?[...n,t]:[n,t]}function tb(n){return n._rawValidators}function nb(n){return n._rawAsyncValidators}function Rd(n){return n?Array.isArray(n)?n:[n]:[]}function Ba(n,t){return Array.isArray(n)?n.includes(t):n===t}function ib(n,t){const e=Rd(t);return Rd(n).forEach(r=>{Ba(e,r)||e.push(r)}),e}function rb(n,t){return Rd(t).filter(e=>!Ba(n,e))}class ob{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=Od(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=Nd(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){this.control&&this.control.reset(t)}hasError(t,e){return!!this.control&&this.control.hasError(t,e)}getError(t,e){return this.control?this.control.getError(t,e):null}}class ht extends ob{get formDirective(){return null}get path(){return null}}class ai extends ob{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class sb{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 Fd=(()=>{class n extends sb{constructor(e){super(e)}}return n.\u0275fac=function(e){return new(e||n)(b(ai,2))},n.\u0275dir=k({type:n,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(e,i){2&e&&bo("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)},features:[le]}),n})(),Ld=(()=>{class n extends sb{constructor(e){super(e)}}return n.\u0275fac=function(e){return new(e||n)(b(ht,10))},n.\u0275dir=k({type:n,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(e,i){2&e&&bo("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)("ng-submitted",i.isSubmitted)},features:[le]}),n})();const Bo="VALID",Ua="INVALID",kr="PENDING",Ho="DISABLED";function Bd(n){return($a(n)?n.validators:n)||null}function Hd(n,t){return($a(t)?t.asyncValidators:n)||null}function $a(n){return null!=n&&!Array.isArray(n)&&"object"==typeof n}class ub{constructor(t,e){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(e)}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===Bo}get invalid(){return this.status===Ua}get pending(){return this.status==kr}get disabled(){return this.status===Ho}get enabled(){return this.status!==Ho}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(ib(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(ib(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(rb(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(rb(t,this._rawAsyncValidators))}hasValidator(t){return Ba(this._rawValidators,t)}hasAsyncValidator(t){return Ba(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(e=>{e.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(e=>{e.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=kr,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=Ho,this.errors=null,this._forEachChild(i=>{i.disable({...t,onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:e}),this._onDisabledChange.forEach(i=>i(!0))}enable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=Bo,this._forEachChild(i=>{i.enable({...t,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:e}),this._onDisabledChange.forEach(i=>i(!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===Bo||this.status===kr)&&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(e=>e._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Ho:Bo}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=kr,this._hasOwnPendingAsyncValidator=!0;const e=Kv(this.asyncValidator(this));this._asyncValidationSubscription=e.subscribe(i=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(i,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,e={}){this.errors=t,this._updateControlsErrors(!1!==e.emitEvent)}get(t){let e=t;return null==e||(Array.isArray(e)||(e=e.split(".")),0===e.length)?null:e.reduce((i,r)=>i&&i._find(r),this)}getError(t,e){const i=e?this.get(e):this;return i&&i.errors?i.errors[t]:null}hasError(t,e){return!!this.getError(t,e)}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 Y,this.statusChanges=new Y}_calculateStatus(){return this._allControlsDisabled()?Ho:this.errors?Ua:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(kr)?kr:this._anyControlsHaveStatus(Ua)?Ua:Bo}_anyControlsHaveStatus(t){return this._anyControls(e=>e.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){$a(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 Q1(n){return Array.isArray(n)?Od(n):n||null}(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=function Y1(n){return Array.isArray(n)?Nd(n):n||null}(this._rawAsyncValidators)}}class Uo extends ub{constructor(t,e,i){super(Bd(e),Hd(i,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(t,e,i={}){this.registerControl(t,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(t,e,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,e={}){(function cb(n,t,e){n._forEachChild((i,r)=>{if(void 0===e[r])throw new D(1002,"")})})(this,0,t),Object.keys(t).forEach(i=>{(function lb(n,t,e){const i=n.controls;if(!(t?Object.keys(i):i).length)throw new D(1e3,"");if(!i[e])throw new D(1001,"")})(this,!0,i),this.controls[i].setValue(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){null!=t&&(Object.keys(t).forEach(i=>{const r=this.controls[i];r&&r.patchValue(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t={},e={}){this._forEachChild((i,r)=>{i.reset(t[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(t,e,i)=>(t[i]=e.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(e,i)=>!!i._syncPendingControls()||e);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(e=>{const i=this.controls[e];i&&t(i,e)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const[e,i]of Object.entries(this.controls))if(this.contains(e)&&t(i))return!0;return!1}_reduceValue(){return this._reduceChildren({},(e,i,r)=>((i.enabled||this.disabled)&&(e[r]=i.value),e))}_reduceChildren(t,e){let i=t;return this._forEachChild((r,o)=>{i=e(i,r,o)}),i}_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 jr=new P("CallSetDisabledState",{providedIn:"root",factory:()=>za}),za="always";function Wa(n,t){return[...t.path,n]}function $o(n,t,e=za){Ud(n,t),t.valueAccessor.writeValue(n.value),(n.disabled||"always"===e)&&t.valueAccessor.setDisabledState?.(n.disabled),function J1(n,t){t.valueAccessor.registerOnChange(e=>{n._pendingValue=e,n._pendingChange=!0,n._pendingDirty=!0,"change"===n.updateOn&&db(n,t)})}(n,t),function tO(n,t){const e=(i,r)=>{t.valueAccessor.writeValue(i),r&&t.viewToModelUpdate(i)};n.registerOnChange(e),t._registerOnDestroy(()=>{n._unregisterOnChange(e)})}(n,t),function eO(n,t){t.valueAccessor.registerOnTouched(()=>{n._pendingTouched=!0,"blur"===n.updateOn&&n._pendingChange&&db(n,t),"submit"!==n.updateOn&&n.markAsTouched()})}(n,t),function X1(n,t){if(t.valueAccessor.setDisabledState){const e=i=>{t.valueAccessor.setDisabledState(i)};n.registerOnDisabledChange(e),t._registerOnDestroy(()=>{n._unregisterOnDisabledChange(e)})}}(n,t)}function Ga(n,t,e=!0){const i=()=>{};t.valueAccessor&&(t.valueAccessor.registerOnChange(i),t.valueAccessor.registerOnTouched(i)),Ka(n,t),n&&(t._invokeOnDestroyCallbacks(),n._registerOnCollectionChange(()=>{}))}function qa(n,t){n.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(t)})}function Ud(n,t){const e=tb(n);null!==t.validator?n.setValidators(eb(e,t.validator)):"function"==typeof e&&n.setValidators([e]);const i=nb(n);null!==t.asyncValidator?n.setAsyncValidators(eb(i,t.asyncValidator)):"function"==typeof i&&n.setAsyncValidators([i]);const r=()=>n.updateValueAndValidity();qa(t._rawValidators,r),qa(t._rawAsyncValidators,r)}function Ka(n,t){let e=!1;if(null!==n){if(null!==t.validator){const r=tb(n);if(Array.isArray(r)&&r.length>0){const o=r.filter(s=>s!==t.validator);o.length!==r.length&&(e=!0,n.setValidators(o))}}if(null!==t.asyncValidator){const r=nb(n);if(Array.isArray(r)&&r.length>0){const o=r.filter(s=>s!==t.asyncValidator);o.length!==r.length&&(e=!0,n.setAsyncValidators(o))}}}const i=()=>{};return qa(t._rawValidators,i),qa(t._rawAsyncValidators,i),e}function db(n,t){n._pendingDirty&&n.markAsDirty(),n.setValue(n._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(n._pendingValue),n._pendingChange=!1}function zd(n,t){if(!n.hasOwnProperty("model"))return!1;const e=n.model;return!!e.isFirstChange()||!Object.is(t,e.currentValue)}function Wd(n,t){if(!t)return null;let e,i,r;return Array.isArray(t),t.forEach(o=>{o.constructor===Vo?e=o:function rO(n){return Object.getPrototypeOf(n.constructor)===Vi}(o)?i=o:r=o}),r||i||e||null}function pb(n,t){const e=n.indexOf(t);e>-1&&n.splice(e,1)}function mb(n){return"object"==typeof n&&null!==n&&2===Object.keys(n).length&&"value"in n&&"disabled"in n}const Wo=class extends ub{constructor(t=null,e,i){super(Bd(e),Hd(i,e)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(t),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),$a(e)&&(e.nonNullable||e.initialValueIsDefault)&&(this.defaultValue=mb(t)?t.value:t)}setValue(t,e={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==e.emitViewToModelChange)),this.updateValueAndValidity(e)}patchValue(t,e={}){this.setValue(t,e)}reset(t=this.defaultValue,e={}){this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){pb(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){pb(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){mb(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}},cO={provide:ai,useExisting:ce(()=>qd)},_b=(()=>Promise.resolve())();let qd=(()=>{class n extends ai{constructor(e,i,r,o,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this.control=new Wo,this._registered=!1,this.update=new Y,this._parent=e,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=Wd(0,o)}ngOnChanges(e){if(this._checkForErrors(),!this._registered||"name"in e){if(this._registered&&(this._checkName(),this.formDirective)){const i=e.name.previousValue;this.formDirective.removeControl({name:i,path:this._getPath(i)})}this._setUpControl()}"isDisabled"in e&&this._updateDisabled(e),zd(e,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(e){this.viewModel=e,this.update.emit(e)}_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(){$o(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(e){_b.then(()=>{this.control.setValue(e,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(e){const i=e.isDisabled.currentValue,r=0!==i&&function id(n){return"boolean"==typeof n?n:null!=n&&"false"!==n}(i);_b.then(()=>{r&&!this.control.disabled?this.control.disable():!r&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(e){return this._parent?Wa(e,this._parent):[e]}}return n.\u0275fac=function(e){return new(e||n)(b(ht,9),b(Ge,10),b(si,10),b(un,10),b(Li,8),b(jr,8))},n.\u0275dir=k({type:n,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([cO]),le,hn]}),n})(),Kd=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275dir=k({type:n,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),n})(),bb=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({}),n})();const Qd=new P("NgModelWithFormControlWarning"),mO={provide:ht,useExisting:ce(()=>Go)};let Go=(()=>{class n extends ht{constructor(e,i,r){super(),this.callSetDisabledState=r,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Y,this._setValidators(e),this._setAsyncValidators(i)}ngOnChanges(e){this._checkFormPresent(),e.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(Ka(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(e){const i=this.form.get(e.path);return $o(i,e,this.callSetDisabledState),i.updateValueAndValidity({emitEvent:!1}),this.directives.push(e),i}getControl(e){return this.form.get(e.path)}removeControl(e){Ga(e.control||null,e,!1),function oO(n,t){const e=n.indexOf(t);e>-1&&n.splice(e,1)}(this.directives,e)}addFormGroup(e){this._setUpFormContainer(e)}removeFormGroup(e){this._cleanUpFormContainer(e)}getFormGroup(e){return this.form.get(e.path)}addFormArray(e){this._setUpFormContainer(e)}removeFormArray(e){this._cleanUpFormContainer(e)}getFormArray(e){return this.form.get(e.path)}updateModel(e,i){this.form.get(e.path).setValue(i)}onSubmit(e){return this.submitted=!0,function hb(n,t){n._syncPendingControls(),t.forEach(e=>{const i=e.control;"submit"===i.updateOn&&i._pendingChange&&(e.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(e),"dialog"===e?.target?.method}onReset(){this.resetForm()}resetForm(e){this.form.reset(e),this.submitted=!1}_updateDomValue(){this.directives.forEach(e=>{const i=e.control,r=this.form.get(e.path);i!==r&&(Ga(i||null,e),(n=>n instanceof Wo)(r)&&($o(r,e,this.callSetDisabledState),e.control=r))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(e){const i=this.form.get(e.path);(function fb(n,t){Ud(n,t)})(i,e),i.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(e){if(this.form){const i=this.form.get(e.path);i&&function nO(n,t){return Ka(n,t)}(i,e)&&i.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){Ud(this.form,this),this._oldForm&&Ka(this._oldForm,this)}_checkFormPresent(){}}return n.\u0275fac=function(e){return new(e||n)(b(Ge,10),b(si,10),b(jr,8))},n.\u0275dir=k({type:n,selectors:[["","formGroup",""]],hostBindings:function(e,i){1&e&&J("submit",function(o){return i.onSubmit(o)})("reset",function(){return i.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[de([mO]),le,hn]}),n})();const _O={provide:ai,useExisting:ce(()=>Qa)};let Qa=(()=>{class n extends ai{set isDisabled(e){}constructor(e,i,r,o,s){super(),this._ngModelWarningConfig=s,this._added=!1,this.update=new Y,this._ngModelWarningSent=!1,this._parent=e,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=Wd(0,o)}ngOnChanges(e){this._added||this._setUpControl(),zd(e,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}get path(){return Wa(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}}return n._ngModelWarningSentOnce=!1,n.\u0275fac=function(e){return new(e||n)(b(ht,13),b(Ge,10),b(si,10),b(un,10),b(Qd,8))},n.\u0275dir=k({type:n,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[de([_O]),le,hn]}),n})(),Lb=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({imports:[bb]}),n})(),kb=(()=>{class n{static withConfig(e){return{ngModule:n,providers:[{provide:jr,useValue:e.callSetDisabledState??za}]}}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({imports:[Lb]}),n})(),jb=(()=>{class n{static withConfig(e){return{ngModule:n,providers:[{provide:Qd,useValue:e.warnOnNgModelWithFormControl??"always"},{provide:jr,useValue:e.callSetDisabledState??za}]}}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({imports:[Lb]}),n})();const RO=["editor"];let LO=(()=>{class n{constructor(e,i){this.ngZone=e,this.monacoPathConfig=i,this.isMonacoLoaded$=new R1(!1),this._monacoPath="assets/monaco-editor/min/vs",window.monacoEditorAlreadyInitialized?e.run(()=>this.isMonacoLoaded$.next(!0)):(window.monacoEditorAlreadyInitialized=!0,this.monacoPathConfig&&(this.monacoPath=this.monacoPathConfig),this.loadMonaco())}set monacoPath(e){e&&(this._monacoPath=e)}loadMonaco(){const e=()=>{let s=this._monacoPath;window.amdRequire=window.require;const a=!!this.nodeRequire,l=s.includes("http");a&&(window.require=this.nodeRequire,l||(s=window.require("path").resolve(window.__dirname,this._monacoPath))),window.amdRequire.config({paths:{vs:s}}),window.amdRequire(["vs/editor/editor.main"],()=>{this.ngZone.run(()=>this.isMonacoLoaded$.next(!0))},c=>console.error("Error loading monaco-editor: ",c))};if(window.amdRequire)return e();window.require&&(this.addElectronFixScripts(),this.nodeRequire=window.require);const o=document.createElement("script");o.type="text/javascript",o.src=`${this._monacoPath}/loader.js`,o.addEventListener("load",e),document.body.appendChild(o)}addElectronFixScripts(){const e=document.createElement("script"),i=document.createTextNode("self.module = undefined;"),r=document.createTextNode("self.process.browser = true;");e.appendChild(i),e.appendChild(r),document.body.appendChild(e)}}return n.\u0275fac=function(e){return new(e||n)(A(Ie),A("MONACO_PATH",8))},n.\u0275prov=$({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),kO=(()=>{class n{constructor(e){this.monacoLoader=e,this.init=new Y,this.onTouched=()=>{},this.onErrorStatusChange=()=>{},this.propagateChange=()=>{}}get model(){return this.editor&&this.editor.getModel()}get modelMarkers(){return this.model&&monaco.editor.getModelMarkers({resource:this.model.uri})}ngOnInit(){this.monacoLoader.isMonacoLoaded$.pipe(Ad(e=>e),Pd(1)).subscribe(()=>{this.initEditor()})}ngOnChanges(e){if(this.editor&&e.options&&!e.options.firstChange){const{language:i,theme:r,...o}=e.options.currentValue,{language:s,theme:a}=e.options.previousValue;s!==i&&monaco.editor.setModelLanguage(this.editor.getModel(),this.options&&this.options.language?this.options.language:"text"),a!==r&&monaco.editor.setTheme(r),this.editor.updateOptions(o)}if(this.editor&&e.uri){const i=e.uri.currentValue,r=e.uri.previousValue;if(r&&!i||!r&&i||i&&r&&i.path!==r.path){const o=this.editor.getValue();let s;this.modelUriInstance&&this.modelUriInstance.dispose(),i&&(s=monaco.editor.getModels().find(a=>a.uri.path===i.path)),this.modelUriInstance=s||monaco.editor.createModel(o,this.options.language||"text",this.uri),this.editor.setModel(this.modelUriInstance)}}}writeValue(e){this.value=e,this.editor&&e?this.editor.setValue(e):this.editor&&this.editor.setValue("")}registerOnChange(e){this.propagateChange=e}registerOnTouched(e){this.onTouched=e}validate(){return this.parsedError?{monaco:{value:this.parsedError.split("|")}}:null}registerOnValidatorChange(e){this.onErrorStatusChange=e}initEditor(){const e={value:[this.value].join("\n"),language:"text",automaticLayout:!0,scrollBeyondLastLine:!1,theme:"vc"};this.editor=monaco.editor.create(this.editorContent.nativeElement,this.options?{...e,...this.options}:e),this.registerEditorListeners(),this.init.emit(this.editor)}registerEditorListeners(){this.editor.onDidChangeModelContent(()=>{this.propagateChange(this.editor.getValue())}),this.editor.onDidChangeModelDecorations(()=>{const e=this.modelMarkers.map(({message:r})=>r).join("|");this.parsedError!==e&&(this.parsedError=e,this.onErrorStatusChange())}),this.editor.onDidBlurEditorText(()=>{this.onTouched()})}ngOnDestroy(){this.editor&&this.editor.dispose()}}return n.\u0275fac=function(e){return new(e||n)(b(LO))},n.\u0275cmp=gt({type:n,selectors:[["ngx-monaco-editor"]],viewQuery:function(e,i){if(1&e&&Fi(RO,7),2&e){let r;on(r=sn())&&(i.editorContent=r.first)}},inputs:{options:"options",uri:"uri"},outputs:{init:"init"},features:[de([{provide:un,useExisting:ce(()=>n),multi:!0},{provide:Ge,useExisting:ce(()=>n),multi:!0}]),hn],decls:4,vars:0,consts:[["fxFlex","",1,"editor-container"],["container",""],[1,"monaco-editor"],["editor",""]],template:function(e,i){1&e&&(R(0,"div",0,1),Oe(2,"div",2,3),W())},styles:[".monaco-editor[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:0;right:0}.editor-container[_ngcontent-%COMP%]{overflow:hidden;position:relative;display:table;width:100%;height:100%;min-width:0}"],changeDetection:0}),n})(),tf=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({imports:[[]]}),n})();class jO extends _e{constructor(t,e){super()}schedule(t,e=0){return this}}class nf extends jO{constructor(t,e){super(t,e),this.scheduler=t,this.work=e,this.pending=!1}schedule(t,e=0){if(this.closed)return this;this.state=t;const i=this.id,r=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(r,i,e)),this.pending=!0,this.delay=e,this.id=this.id||this.requestAsyncId(r,this.id,e),this}requestAsyncId(t,e,i=0){return setInterval(t.flush.bind(t,this),i)}recycleAsyncId(t,e,i=0){if(null!==i&&this.delay===i&&!1===this.pending)return e;clearInterval(e)}execute(t,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(t,e);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,e){let r,i=!1;try{this.work(t)}catch(o){i=!0,r=!!o&&o||new Error(o)}if(i)return this.unsubscribe(),r}_unsubscribe(){const t=this.id,e=this.scheduler,i=e.actions,r=i.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&i.splice(r,1),null!=t&&(this.id=this.recycleAsyncId(e,t,null)),this.delay=null}}let Vb=(()=>{class n{constructor(e,i=n.now){this.SchedulerAction=e,this.now=i}schedule(e,i=0,r){return new this.SchedulerAction(this,e).schedule(r,i)}}return n.now=()=>Date.now(),n})();class En extends Vb{constructor(t,e=Vb.now){super(t,()=>En.delegate&&En.delegate!==this?En.delegate.now():e()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(t,e=0,i){return En.delegate&&En.delegate!==this?En.delegate.schedule(t,e,i):super.schedule(t,e,i)}flush(t){const{actions:e}=this;if(this.active)return void e.push(t);let i;this.active=!0;do{if(i=t.execute(t.state,t.delay))break}while(t=e.shift());if(this.active=!1,i){for(;t=e.shift();)t.unsubscribe();throw i}}}const rf=new class BO extends En{}(class VO extends nf{constructor(t,e){super(t,e),this.scheduler=t,this.work=e}schedule(t,e=0){return e>0?super.schedule(t,e):(this.delay=e,this.state=t,this.scheduler.flush(this),this)}execute(t,e){return e>0||this.closed?super.execute(t,e):this._execute(t,e)}requestAsyncId(t,e,i=0){return null!==i&&i>0||null===i&&this.delay>0?super.requestAsyncId(t,e,i):t.flush(this)}}),HO=rf;function Ya(...n){let t=n[n.length-1];return Ml(t)?(n.pop(),xl(n,t)):Ol(n)}function Bb(n,t){return new ve(t?e=>t.schedule(UO,0,{error:n,subscriber:e}):e=>e.error(n))}function UO({error:n,subscriber:t}){t.error(n)}class $t{constructor(t,e,i){this.kind=t,this.value=e,this.error=i,this.hasValue="N"===t}observe(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}}do(t,e,i){switch(this.kind){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return i&&i()}}accept(t,e,i){return t&&"function"==typeof t.next?this.observe(t):this.do(t,e,i)}toObservable(){switch(this.kind){case"N":return Ya(this.value);case"E":return Bb(this.error);case"C":return Fv()}throw new Error("unexpected notification kind value")}static createNext(t){return typeof t<"u"?new $t("N",t):$t.undefinedValueNotification}static createError(t){return new $t("E",void 0,t)}static createComplete(){return $t.completeNotification}}$t.completeNotification=new $t("C"),$t.undefinedValueNotification=new $t("N",void 0);class zO{constructor(t,e=0){this.scheduler=t,this.delay=e}call(t,e){return e.subscribe(new Za(t,this.scheduler,this.delay))}}class Za extends Se{constructor(t,e,i=0){super(t),this.scheduler=e,this.delay=i}static dispatch(t){const{notification:e,destination:i}=t;e.observe(i),this.unsubscribe()}scheduleMessage(t){this.destination.add(this.scheduler.schedule(Za.dispatch,this.delay,new WO(t,this.destination)))}_next(t){this.scheduleMessage($t.createNext(t))}_error(t){this.scheduleMessage($t.createError(t)),this.unsubscribe()}_complete(){this.scheduleMessage($t.createComplete()),this.unsubscribe()}}class WO{constructor(t,e){this.notification=t,this.destination=e}}class Xa extends Tn{constructor(t=Number.POSITIVE_INFINITY,e=Number.POSITIVE_INFINITY,i){super(),this.scheduler=i,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=t<1?1:t,this._windowTime=e<1?1:e,e===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(t){if(!this.isStopped){const e=this._events;e.push(t),e.length>this._bufferSize&&e.shift()}super.next(t)}nextTimeWindow(t){this.isStopped||(this._events.push(new GO(this._getNow(),t)),this._trimBufferThenGetEvents()),super.next(t)}_subscribe(t){const e=this._infiniteTimeWindow,i=e?this._events:this._trimBufferThenGetEvents(),r=this.scheduler,o=i.length;let s;if(this.closed)throw new gi;if(this.isStopped||this.hasError?s=_e.EMPTY:(this.observers.push(t),s=new Yf(this,t)),r&&t.add(t=new Za(t,r)),e)for(let a=0;ae&&(s=Math.max(s,o-e)),s>0&&r.splice(0,s),r}}class GO{constructor(t,e){this.time=t,this.value=e}}function Ja(n,t){return"function"==typeof t?e=>e.pipe(Ja((i,r)=>yi(n(i,r)).pipe(mt((o,s)=>t(i,o,r,s))))):e=>e.lift(new qO(n))}class qO{constructor(t){this.project=t}call(t,e){return e.subscribe(new KO(t,this.project))}}class KO extends cs{constructor(t,e){super(t),this.project=e,this.index=0}_next(t){let e;const i=this.index++;try{e=this.project(t,i)}catch(r){return void this.destination.error(r)}this._innerSub(e)}_innerSub(t){const e=this.innerSubscription;e&&e.unsubscribe();const i=new ls(this),r=this.destination;r.add(i),this.innerSubscription=us(t,i),this.innerSubscription!==i&&r.add(this.innerSubscription)}_complete(){const{innerSubscription:t}=this;(!t||t.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(t){this.destination.next(t)}}const el={schedule(n,t){const e=setTimeout(n,t);return()=>clearTimeout(e)},scheduleBeforeRender(n){if(typeof window>"u")return el.schedule(n,0);if(typeof window.requestAnimationFrame>"u")return el.schedule(n,16);const t=window.requestAnimationFrame(n);return()=>window.cancelAnimationFrame(t)}};let sf;function iN(n,t,e){let i=e;return function YO(n){return!!n&&n.nodeType===Node.ELEMENT_NODE}(n)&&t.some((r,o)=>!("*"===r||!function XO(n,t){if(!sf){const e=Element.prototype;sf=e.matches||e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector}return n.nodeType===Node.ELEMENT_NODE&&sf.call(n,t)}(n,r)||(i=o,0))),i}class oN{constructor(t,e){this.componentFactory=e.get(ur).resolveComponentFactory(t)}create(t){return new sN(this.componentFactory,t)}}class sN{constructor(t,e){this.componentFactory=t,this.injector=e,this.eventEmitters=new Xa(1),this.events=this.eventEmitters.pipe(Ja(i=>ih(...i))),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(({propName:i})=>i)),this.ngZone=this.injector.get(Ie),this.elementZone=typeof Zone>"u"?null:this.ngZone.run(()=>Zone.current)}connect(t){this.runInZone(()=>{if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);null===this.componentRef&&this.initializeComponent(t)})}disconnect(){this.runInZone(()=>{null===this.componentRef||null!==this.scheduledDestroyFn||(this.scheduledDestroyFn=el.schedule(()=>{null!==this.componentRef&&(this.componentRef.destroy(),this.componentRef=null,this.viewChangeDetectorRef=null)},10))})}getInputValue(t){return this.runInZone(()=>null===this.componentRef?this.initialInputValues.get(t):this.componentRef.instance[t])}setInputValue(t,e){this.runInZone(()=>{null!==this.componentRef?function JO(n,t){return n===t||n!=n&&t!=t}(e,this.getInputValue(t))&&(void 0!==e||!this.unchangedInputs.has(t))||(this.recordInputChange(t,e),this.unchangedInputs.delete(t),this.hasInputChanges=!0,this.componentRef.instance[t]=e,this.scheduleDetectChanges()):this.initialInputValues.set(t,e)})}initializeComponent(t){const e=gn.create({providers:[],parent:this.injector}),i=function nN(n,t){const e=n.childNodes,i=t.map(()=>[]);let r=-1;t.some((o,s)=>"*"===o&&(r=s,!0));for(let o=0,s=e.length;o{this.initialInputValues.has(t)&&this.setInputValue(t,this.initialInputValues.get(t))}),this.initialInputValues.clear()}initializeOutputs(t){const e=this.componentFactory.outputs.map(({propName:i,templateName:r})=>t.instance[i].pipe(mt(s=>({name:r,value:s}))));this.eventEmitters.next(e)}callNgOnChanges(t){if(!this.implementsOnChanges||null===this.inputChanges)return;const e=this.inputChanges;this.inputChanges=null,t.instance.ngOnChanges(e)}markViewForCheck(t){this.hasInputChanges&&(this.hasInputChanges=!1,t.markForCheck())}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=el.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(t,e){if(!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const i=this.inputChanges[t];if(i)return void(i.currentValue=e);const r=this.unchangedInputs.has(t),o=r?void 0:this.getInputValue(t);this.inputChanges[t]=new Dh(o,e,r)}detectChanges(){null!==this.componentRef&&(this.callNgOnChanges(this.componentRef),this.markViewForCheck(this.viewChangeDetectorRef),this.componentRef.changeDetectorRef.detectChanges())}runInZone(t){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(t):t()}}class aN extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}class Hb{}class cN{}const Bn="*";function uN(n,t){return{type:7,name:n,definitions:t,options:{}}}function Ub(n,t=null){return{type:4,styles:t,timings:n}}function $b(n,t=null){return{type:2,steps:n,options:t}}function tl(n){return{type:6,styles:n,offset:null}}function zb(n,t,e=null){return{type:1,expr:n,animation:t,options:e}}function Wb(n,t=null){return{type:8,animation:n,options:t}}function Gb(n,t=null){return{type:10,animation:n,options:t}}function qb(n){Promise.resolve().then(n)}class qo{constructor(t=0,e=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._originalOnDoneFns=[],this._originalOnStartFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=t+e}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}onStart(t){this._originalOnStartFns.push(t),this._onStartFns.push(t)}onDone(t){this._originalOnDoneFns.push(t),this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){qb(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(t){this._position=this.totalTime?t*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}class Kb{constructor(t){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=t;let e=0,i=0,r=0;const o=this.players.length;0==o?qb(()=>this._onFinish()):this.players.forEach(s=>{s.onDone(()=>{++e==o&&this._onFinish()}),s.onDestroy(()=>{++i==o&&this._onDestroy()}),s.onStart(()=>{++r==o&&this._onStart()})}),this.totalTime=this.players.reduce((s,a)=>Math.max(s,a.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this.players.forEach(t=>t.init())}onStart(t){this._onStartFns.push(t)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(t=>t()),this._onStartFns=[])}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(t=>t.play())}pause(){this.players.forEach(t=>t.pause())}restart(){this.players.forEach(t=>t.restart())}finish(){this._onFinish(),this.players.forEach(t=>t.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(t=>t.destroy()),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this.players.forEach(t=>t.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(t){const e=t*this.totalTime;this.players.forEach(i=>{const r=i.totalTime?Math.min(1,e/i.totalTime):1;i.setPosition(r)})}getPosition(){const t=this.players.reduce((e,i)=>null===e||i.totalTime>e.totalTime?i:e,null);return null!=t?t.getPosition():0}beforeDestroy(){this.players.forEach(t=>{t.beforeDestroy&&t.beforeDestroy()})}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}function Qb(n){return new D(3e3,!1)}function WN(){return typeof window<"u"&&typeof window.document<"u"}function lf(){return typeof process<"u"&&"[object process]"==={}.toString.call(process)}function li(n){switch(n.length){case 0:return new qo;case 1:return n[0];default:return new Kb(n)}}function Yb(n,t,e,i,r=new Map,o=new Map){const s=[],a=[];let l=-1,c=null;if(i.forEach(u=>{const d=u.get("offset"),f=d==l,h=f&&c||new Map;u.forEach((p,m)=>{let y=m,_=p;if("offset"!==m)switch(y=t.normalizePropertyName(y,s),_){case"!":_=r.get(m);break;case Bn:_=o.get(m);break;default:_=t.normalizeStyleValue(m,y,_,s)}h.set(y,_)}),f||a.push(h),c=h,l=d}),s.length)throw function NN(n){return new D(3502,!1)}();return a}function cf(n,t,e,i){switch(t){case"start":n.onStart(()=>i(e&&uf(e,"start",n)));break;case"done":n.onDone(()=>i(e&&uf(e,"done",n)));break;case"destroy":n.onDestroy(()=>i(e&&uf(e,"destroy",n)))}}function uf(n,t,e){const o=df(n.element,n.triggerName,n.fromState,n.toState,t||n.phaseName,e.totalTime??n.totalTime,!!e.disabled),s=n._data;return null!=s&&(o._data=s),o}function df(n,t,e,i,r="",o=0,s){return{element:n,triggerName:t,fromState:e,toState:i,phaseName:r,totalTime:o,disabled:!!s}}function At(n,t,e){let i=n.get(t);return i||n.set(t,i=e),i}function Zb(n){const t=n.indexOf(":");return[n.substring(1,t),n.slice(t+1)]}let ff=(n,t)=>!1,Xb=(n,t,e)=>[],Jb=null;function hf(n){const t=n.parentNode||n.host;return t===Jb?null:t}(lf()||typeof Element<"u")&&(WN()?(Jb=(()=>document.documentElement)(),ff=(n,t)=>{for(;t;){if(t===n)return!0;t=hf(t)}return!1}):ff=(n,t)=>n.contains(t),Xb=(n,t,e)=>{if(e)return Array.from(n.querySelectorAll(t));const i=n.querySelector(t);return i?[i]:[]});let Hi=null,eD=!1;const tD=ff,nD=Xb;let iD=(()=>{class n{validateStyleProperty(e){return function qN(n){Hi||(Hi=function KN(){return typeof document<"u"?document.body:null}()||{},eD=!!Hi.style&&"WebkitAppearance"in Hi.style);let t=!0;return Hi.style&&!function GN(n){return"ebkit"==n.substring(1,6)}(n)&&(t=n in Hi.style,!t&&eD&&(t="Webkit"+n.charAt(0).toUpperCase()+n.slice(1)in Hi.style)),t}(e)}matchesElement(e,i){return!1}containsElement(e,i){return tD(e,i)}getParentElement(e){return hf(e)}query(e,i,r){return nD(e,i,r)}computeStyle(e,i,r){return r||""}animate(e,i,r,o,s,a=[],l){return new qo(r,o)}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})(),pf=(()=>{class n{}return n.NOOP=new iD,n})();const mf="ng-enter",nl="ng-leave",il="ng-trigger",rl=".ng-trigger",oD="ng-animating",gf=".ng-animating";function Hn(n){if("number"==typeof n)return n;const t=n.match(/^(-?[\.\d]+)(m?s)/);return!t||t.length<2?0:yf(parseFloat(t[1]),t[2])}function yf(n,t){return"s"===t?1e3*n:n}function ol(n,t,e){return n.hasOwnProperty("duration")?n:function ZN(n,t,e){let r,o=0,s="";if("string"==typeof n){const a=n.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===a)return t.push(Qb()),{duration:0,delay:0,easing:""};r=yf(parseFloat(a[1]),a[2]);const l=a[3];null!=l&&(o=yf(parseFloat(l),a[4]));const c=a[5];c&&(s=c)}else r=n;if(!e){let a=!1,l=t.length;r<0&&(t.push(function dN(){return new D(3100,!1)}()),a=!0),o<0&&(t.push(function fN(){return new D(3101,!1)}()),a=!0),a&&t.splice(l,0,Qb())}return{duration:r,delay:o,easing:s}}(n,t,e)}function Ko(n,t={}){return Object.keys(n).forEach(e=>{t[e]=n[e]}),t}function sD(n){const t=new Map;return Object.keys(n).forEach(e=>{t.set(e,n[e])}),t}function ci(n,t=new Map,e){if(e)for(let[i,r]of e)t.set(i,r);for(let[i,r]of n)t.set(i,r);return t}function lD(n,t,e){return e?t+":"+e+";":""}function cD(n){let t="";for(let e=0;e{const o=vf(r);e&&!e.has(r)&&e.set(r,n.style[o]),n.style[o]=i}),lf()&&cD(n))}function Ui(n,t){n.style&&(t.forEach((e,i)=>{const r=vf(i);n.style[r]=""}),lf()&&cD(n))}function Qo(n){return Array.isArray(n)?1==n.length?n[0]:$b(n):n}const _f=new RegExp("{{\\s*(.+?)\\s*}}","g");function uD(n){let t=[];if("string"==typeof n){let e;for(;e=_f.exec(n);)t.push(e[1]);_f.lastIndex=0}return t}function Yo(n,t,e){const i=n.toString(),r=i.replace(_f,(o,s)=>{let a=t[s];return null==a&&(e.push(function pN(n){return new D(3003,!1)}()),a=""),a.toString()});return r==i?n:r}function sl(n){const t=[];let e=n.next();for(;!e.done;)t.push(e.value),e=n.next();return t}const eR=/-+([a-z0-9])/g;function vf(n){return n.replace(eR,(...t)=>t[1].toUpperCase())}function tR(n){return n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function xt(n,t,e){switch(t.type){case 7:return n.visitTrigger(t,e);case 0:return n.visitState(t,e);case 1:return n.visitTransition(t,e);case 2:return n.visitSequence(t,e);case 3:return n.visitGroup(t,e);case 4:return n.visitAnimate(t,e);case 5:return n.visitKeyframes(t,e);case 6:return n.visitStyle(t,e);case 8:return n.visitReference(t,e);case 9:return n.visitAnimateChild(t,e);case 10:return n.visitAnimateRef(t,e);case 11:return n.visitQuery(t,e);case 12:return n.visitStagger(t,e);default:throw function mN(n){return new D(3004,!1)}()}}function dD(n,t){return window.getComputedStyle(n)[t]}function aR(n,t){const e=[];return"string"==typeof n?n.split(/\s*,\s*/).forEach(i=>function lR(n,t,e){if(":"==n[0]){const l=function cR(n,t){switch(n){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(e,i)=>parseFloat(i)>parseFloat(e);case":decrement":return(e,i)=>parseFloat(i) *"}}(n,e);if("function"==typeof l)return void t.push(l);n=l}const i=n.match(/^(\*|[-\w]+)\s*([=-]>)\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return e.push(function MN(n){return new D(3015,!1)}()),t;const r=i[1],o=i[2],s=i[3];t.push(fD(r,s));"<"==o[0]&&!("*"==r&&"*"==s)&&t.push(fD(s,r))}(i,e,t)):e.push(n),e}const ul=new Set(["true","1"]),dl=new Set(["false","0"]);function fD(n,t){const e=ul.has(n)||dl.has(n),i=ul.has(t)||dl.has(t);return(r,o)=>{let s="*"==n||n==r,a="*"==t||t==o;return!s&&e&&"boolean"==typeof r&&(s=r?ul.has(n):dl.has(n)),!a&&i&&"boolean"==typeof o&&(a=o?ul.has(t):dl.has(t)),s&&a}}const uR=new RegExp("s*:selfs*,?","g");function bf(n,t,e,i){return new dR(n).build(t,e,i)}class dR{constructor(t){this._driver=t}build(t,e,i){const r=new pR(e);return this._resetContextStyleTimingState(r),xt(this,Qo(t),r)}_resetContextStyleTimingState(t){t.currentQuerySelector="",t.collectedStyles=new Map,t.collectedStyles.set("",new Map),t.currentTime=0}visitTrigger(t,e){let i=e.queryCount=0,r=e.depCount=0;const o=[],s=[];return"@"==t.name.charAt(0)&&e.errors.push(function yN(){return new D(3006,!1)}()),t.definitions.forEach(a=>{if(this._resetContextStyleTimingState(e),0==a.type){const l=a,c=l.name;c.toString().split(/\s*,\s*/).forEach(u=>{l.name=u,o.push(this.visitState(l,e))}),l.name=c}else if(1==a.type){const l=this.visitTransition(a,e);i+=l.queryCount,r+=l.depCount,s.push(l)}else e.errors.push(function _N(){return new D(3007,!1)}())}),{type:7,name:t.name,states:o,transitions:s,queryCount:i,depCount:r,options:null}}visitState(t,e){const i=this.visitStyle(t.styles,e),r=t.options&&t.options.params||null;if(i.containsDynamicStyles){const o=new Set,s=r||{};i.styles.forEach(a=>{a instanceof Map&&a.forEach(l=>{uD(l).forEach(c=>{s.hasOwnProperty(c)||o.add(c)})})}),o.size&&(sl(o.values()),e.errors.push(function vN(n,t){return new D(3008,!1)}()))}return{type:0,name:t.name,style:i,options:r?{params:r}:null}}visitTransition(t,e){e.queryCount=0,e.depCount=0;const i=xt(this,Qo(t.animation),e);return{type:1,matchers:aR(t.expr,e.errors),animation:i,queryCount:e.queryCount,depCount:e.depCount,options:$i(t.options)}}visitSequence(t,e){return{type:2,steps:t.steps.map(i=>xt(this,i,e)),options:$i(t.options)}}visitGroup(t,e){const i=e.currentTime;let r=0;const o=t.steps.map(s=>{e.currentTime=i;const a=xt(this,s,e);return r=Math.max(r,e.currentTime),a});return e.currentTime=r,{type:3,steps:o,options:$i(t.options)}}visitAnimate(t,e){const i=function gR(n,t){if(n.hasOwnProperty("duration"))return n;if("number"==typeof n)return Df(ol(n,t).duration,0,"");const e=n;if(e.split(/\s+/).some(o=>"{"==o.charAt(0)&&"{"==o.charAt(1))){const o=Df(0,0,"");return o.dynamic=!0,o.strValue=e,o}const r=ol(e,t);return Df(r.duration,r.delay,r.easing)}(t.timings,e.errors);e.currentAnimateTimings=i;let r,o=t.styles?t.styles:tl({});if(5==o.type)r=this.visitKeyframes(o,e);else{let s=t.styles,a=!1;if(!s){a=!0;const c={};i.easing&&(c.easing=i.easing),s=tl(c)}e.currentTime+=i.duration+i.delay;const l=this.visitStyle(s,e);l.isEmptyStep=a,r=l}return e.currentAnimateTimings=null,{type:4,timings:i,style:r,options:null}}visitStyle(t,e){const i=this._makeStyleAst(t,e);return this._validateStyleAst(i,e),i}_makeStyleAst(t,e){const i=[],r=Array.isArray(t.styles)?t.styles:[t.styles];for(let a of r)"string"==typeof a?a===Bn?i.push(a):e.errors.push(new D(3002,!1)):i.push(sD(a));let o=!1,s=null;return i.forEach(a=>{if(a instanceof Map&&(a.has("easing")&&(s=a.get("easing"),a.delete("easing")),!o))for(let l of a.values())if(l.toString().indexOf("{{")>=0){o=!0;break}}),{type:6,styles:i,easing:s,offset:t.offset,containsDynamicStyles:o,options:null}}_validateStyleAst(t,e){const i=e.currentAnimateTimings;let r=e.currentTime,o=e.currentTime;i&&o>0&&(o-=i.duration+i.delay),t.styles.forEach(s=>{"string"!=typeof s&&s.forEach((a,l)=>{const c=e.collectedStyles.get(e.currentQuerySelector),u=c.get(l);let d=!0;u&&(o!=r&&o>=u.startTime&&r<=u.endTime&&(e.errors.push(function DN(n,t,e,i,r){return new D(3010,!1)}()),d=!1),o=u.startTime),d&&c.set(l,{startTime:o,endTime:r}),e.options&&function JN(n,t,e){const i=t.params||{},r=uD(n);r.length&&r.forEach(o=>{i.hasOwnProperty(o)||e.push(function hN(n){return new D(3001,!1)}())})}(a,e.options,e.errors)})})}visitKeyframes(t,e){const i={type:5,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push(function EN(){return new D(3011,!1)}()),i;let o=0;const s=[];let a=!1,l=!1,c=0;const u=t.steps.map(_=>{const E=this._makeStyleAst(_,e);let g=null!=E.offset?E.offset:function mR(n){if("string"==typeof n)return null;let t=null;if(Array.isArray(n))n.forEach(e=>{if(e instanceof Map&&e.has("offset")){const i=e;t=parseFloat(i.get("offset")),i.delete("offset")}});else if(n instanceof Map&&n.has("offset")){const e=n;t=parseFloat(e.get("offset")),e.delete("offset")}return t}(E.styles),C=0;return null!=g&&(o++,C=E.offset=g),l=l||C<0||C>1,a=a||C0&&o{const g=f>0?E==h?1:f*E:s[E],C=g*y;e.currentTime=p+m.delay+C,m.duration=C,this._validateStyleAst(_,e),_.offset=g,i.styles.push(_)}),i}visitReference(t,e){return{type:8,animation:xt(this,Qo(t.animation),e),options:$i(t.options)}}visitAnimateChild(t,e){return e.depCount++,{type:9,options:$i(t.options)}}visitAnimateRef(t,e){return{type:10,animation:this.visitReference(t.animation,e),options:$i(t.options)}}visitQuery(t,e){const i=e.currentQuerySelector,r=t.options||{};e.queryCount++,e.currentQuery=t;const[o,s]=function fR(n){const t=!!n.split(/\s*,\s*/).find(e=>":self"==e);return t&&(n=n.replace(uR,"")),n=n.replace(/@\*/g,rl).replace(/@\w+/g,e=>rl+"-"+e.slice(1)).replace(/:animating/g,gf),[n,t]}(t.selector);e.currentQuerySelector=i.length?i+" "+o:o,At(e.collectedStyles,e.currentQuerySelector,new Map);const a=xt(this,Qo(t.animation),e);return e.currentQuery=null,e.currentQuerySelector=i,{type:11,selector:o,limit:r.limit||0,optional:!!r.optional,includeSelf:s,animation:a,originalSelector:t.selector,options:$i(t.options)}}visitStagger(t,e){e.currentQuery||e.errors.push(function IN(){return new D(3013,!1)}());const i="full"===t.timings?{duration:0,delay:0,easing:"full"}:ol(t.timings,e.errors,!0);return{type:12,animation:xt(this,Qo(t.animation),e),timings:i,options:null}}}class pR{constructor(t){this.errors=t,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles=new Map,this.options=null,this.unsupportedCSSPropertiesFound=new Set}}function $i(n){return n?(n=Ko(n)).params&&(n.params=function hR(n){return n?Ko(n):null}(n.params)):n={},n}function Df(n,t,e){return{duration:n,delay:t,easing:e}}function Ef(n,t,e,i,r,o,s=null,a=!1){return{type:1,element:n,keyframes:t,preStyleProps:e,postStyleProps:i,duration:r,delay:o,totalTime:r+o,easing:s,subTimeline:a}}class fl{constructor(){this._map=new Map}get(t){return this._map.get(t)||[]}append(t,e){let i=this._map.get(t);i||this._map.set(t,i=[]),i.push(...e)}has(t){return this._map.has(t)}clear(){this._map.clear()}}const vR=new RegExp(":enter","g"),DR=new RegExp(":leave","g");function Sf(n,t,e,i,r,o=new Map,s=new Map,a,l,c=[]){return(new ER).buildKeyframes(n,t,e,i,r,o,s,a,l,c)}class ER{buildKeyframes(t,e,i,r,o,s,a,l,c,u=[]){c=c||new fl;const d=new Cf(t,e,c,r,o,u,[]);d.options=l;const f=l.delay?Hn(l.delay):0;d.currentTimeline.delayNextStep(f),d.currentTimeline.setStyles([s],null,d.errors,l),xt(this,i,d);const h=d.timelines.filter(p=>p.containsAnimation());if(h.length&&a.size){let p;for(let m=h.length-1;m>=0;m--){const y=h[m];if(y.element===e){p=y;break}}p&&!p.allowOnlyTimelineStyles()&&p.setStyles([a],null,d.errors,l)}return h.length?h.map(p=>p.buildKeyframes()):[Ef(e,[],[],[],0,f,"",!1)]}visitTrigger(t,e){}visitState(t,e){}visitTransition(t,e){}visitAnimateChild(t,e){const i=e.subInstructions.get(e.element);if(i){const r=e.createSubContext(t.options),o=e.currentTimeline.currentTime,s=this._visitSubInstructions(i,r,r.options);o!=s&&e.transformIntoNewTimeline(s)}e.previousNode=t}visitAnimateRef(t,e){const i=e.createSubContext(t.options);i.transformIntoNewTimeline(),this._applyAnimationRefDelays([t.options,t.animation.options],e,i),this.visitReference(t.animation,i),e.transformIntoNewTimeline(i.currentTimeline.currentTime),e.previousNode=t}_applyAnimationRefDelays(t,e,i){for(const r of t){const o=r?.delay;if(o){const s="number"==typeof o?o:Hn(Yo(o,r?.params??{},e.errors));i.delayNextStep(s)}}}_visitSubInstructions(t,e,i){let o=e.currentTimeline.currentTime;const s=null!=i.duration?Hn(i.duration):null,a=null!=i.delay?Hn(i.delay):null;return 0!==s&&t.forEach(l=>{const c=e.appendInstructionToTimeline(l,s,a);o=Math.max(o,c.duration+c.delay)}),o}visitReference(t,e){e.updateOptions(t.options,!0),xt(this,t.animation,e),e.previousNode=t}visitSequence(t,e){const i=e.subContextCount;let r=e;const o=t.options;if(o&&(o.params||o.delay)&&(r=e.createSubContext(o),r.transformIntoNewTimeline(),null!=o.delay)){6==r.previousNode.type&&(r.currentTimeline.snapshotCurrentStyles(),r.previousNode=hl);const s=Hn(o.delay);r.delayNextStep(s)}t.steps.length&&(t.steps.forEach(s=>xt(this,s,r)),r.currentTimeline.applyStylesToKeyframe(),r.subContextCount>i&&r.transformIntoNewTimeline()),e.previousNode=t}visitGroup(t,e){const i=[];let r=e.currentTimeline.currentTime;const o=t.options&&t.options.delay?Hn(t.options.delay):0;t.steps.forEach(s=>{const a=e.createSubContext(t.options);o&&a.delayNextStep(o),xt(this,s,a),r=Math.max(r,a.currentTimeline.currentTime),i.push(a.currentTimeline)}),i.forEach(s=>e.currentTimeline.mergeTimelineCollectedStyles(s)),e.transformIntoNewTimeline(r),e.previousNode=t}_visitTiming(t,e){if(t.dynamic){const i=t.strValue;return ol(e.params?Yo(i,e.params,e.errors):i,e.errors)}return{duration:t.duration,delay:t.delay,easing:t.easing}}visitAnimate(t,e){const i=e.currentAnimateTimings=this._visitTiming(t.timings,e),r=e.currentTimeline;i.delay&&(e.incrementTime(i.delay),r.snapshotCurrentStyles());const o=t.style;5==o.type?this.visitKeyframes(o,e):(e.incrementTime(i.duration),this.visitStyle(o,e),r.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=t}visitStyle(t,e){const i=e.currentTimeline,r=e.currentAnimateTimings;!r&&i.hasCurrentStyleProperties()&&i.forwardFrame();const o=r&&r.easing||t.easing;t.isEmptyStep?i.applyEmptyStep(o):i.setStyles(t.styles,o,e.errors,e.options),e.previousNode=t}visitKeyframes(t,e){const i=e.currentAnimateTimings,r=e.currentTimeline.duration,o=i.duration,a=e.createSubContext().currentTimeline;a.easing=i.easing,t.styles.forEach(l=>{a.forwardTime((l.offset||0)*o),a.setStyles(l.styles,l.easing,e.errors,e.options),a.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(a),e.transformIntoNewTimeline(r+o),e.previousNode=t}visitQuery(t,e){const i=e.currentTimeline.currentTime,r=t.options||{},o=r.delay?Hn(r.delay):0;o&&(6===e.previousNode.type||0==i&&e.currentTimeline.hasCurrentStyleProperties())&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=hl);let s=i;const a=e.invokeQuery(t.selector,t.originalSelector,t.limit,t.includeSelf,!!r.optional,e.errors);e.currentQueryTotal=a.length;let l=null;a.forEach((c,u)=>{e.currentQueryIndex=u;const d=e.createSubContext(t.options,c);o&&d.delayNextStep(o),c===e.element&&(l=d.currentTimeline),xt(this,t.animation,d),d.currentTimeline.applyStylesToKeyframe(),s=Math.max(s,d.currentTimeline.currentTime)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(s),l&&(e.currentTimeline.mergeTimelineCollectedStyles(l),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=t}visitStagger(t,e){const i=e.parentContext,r=e.currentTimeline,o=t.timings,s=Math.abs(o.duration),a=s*(e.currentQueryTotal-1);let l=s*e.currentQueryIndex;switch(o.duration<0?"reverse":o.easing){case"reverse":l=a-l;break;case"full":l=i.currentStaggerTime}const u=e.currentTimeline;l&&u.delayNextStep(l);const d=u.currentTime;xt(this,t.animation,e),e.previousNode=t,i.currentStaggerTime=r.currentTime-d+(r.startTime-i.currentTimeline.startTime)}}const hl={};class Cf{constructor(t,e,i,r,o,s,a,l){this._driver=t,this.element=e,this.subInstructions=i,this._enterClassName=r,this._leaveClassName=o,this.errors=s,this.timelines=a,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=hl,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=l||new pl(this._driver,e,0),a.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(t,e){if(!t)return;const i=t;let r=this.options;null!=i.duration&&(r.duration=Hn(i.duration)),null!=i.delay&&(r.delay=Hn(i.delay));const o=i.params;if(o){let s=r.params;s||(s=this.options.params={}),Object.keys(o).forEach(a=>{(!e||!s.hasOwnProperty(a))&&(s[a]=Yo(o[a],s,this.errors))})}}_copyOptions(){const t={};if(this.options){const e=this.options.params;if(e){const i=t.params={};Object.keys(e).forEach(r=>{i[r]=e[r]})}}return t}createSubContext(t=null,e,i){const r=e||this.element,o=new Cf(this._driver,r,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(r,i||0));return o.previousNode=this.previousNode,o.currentAnimateTimings=this.currentAnimateTimings,o.options=this._copyOptions(),o.updateOptions(t),o.currentQueryIndex=this.currentQueryIndex,o.currentQueryTotal=this.currentQueryTotal,o.parentContext=this,this.subContextCount++,o}transformIntoNewTimeline(t){return this.previousNode=hl,this.currentTimeline=this.currentTimeline.fork(this.element,t),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(t,e,i){const r={duration:e??t.duration,delay:this.currentTimeline.currentTime+(i??0)+t.delay,easing:""},o=new SR(this._driver,t.element,t.keyframes,t.preStyleProps,t.postStyleProps,r,t.stretchStartingKeyframe);return this.timelines.push(o),r}incrementTime(t){this.currentTimeline.forwardTime(this.currentTimeline.duration+t)}delayNextStep(t){t>0&&this.currentTimeline.delayNextStep(t)}invokeQuery(t,e,i,r,o,s){let a=[];if(r&&a.push(this.element),t.length>0){t=(t=t.replace(vR,"."+this._enterClassName)).replace(DR,"."+this._leaveClassName);let c=this._driver.query(this.element,t,1!=i);0!==i&&(c=i<0?c.slice(c.length+i,c.length):c.slice(0,i)),a.push(...c)}return!o&&0==a.length&&s.push(function TN(n){return new D(3014,!1)}()),a}}class pl{constructor(t,e,i,r){this._driver=t,this.element=e,this.startTime=i,this._elementTimelineStylesLookup=r,this.duration=0,this._previousKeyframe=new Map,this._currentKeyframe=new Map,this._keyframes=new Map,this._styleSummary=new Map,this._localTimelineStyles=new Map,this._pendingStyles=new Map,this._backFill=new Map,this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.hasCurrentStyleProperties();default:return!0}}hasCurrentStyleProperties(){return this._currentKeyframe.size>0}get currentTime(){return this.startTime+this.duration}delayNextStep(t){const e=1===this._keyframes.size&&this._pendingStyles.size;this.duration||e?(this.forwardTime(this.currentTime+t),e&&this.snapshotCurrentStyles()):this.startTime+=t}fork(t,e){return this.applyStylesToKeyframe(),new pl(this._driver,t,e||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=new Map,this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(t){this.applyStylesToKeyframe(),this.duration=t,this._loadKeyframe()}_updateStyle(t,e){this._localTimelineStyles.set(t,e),this._globalTimelineStyles.set(t,e),this._styleSummary.set(t,{time:this.currentTime,value:e})}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(t){t&&this._previousKeyframe.set("easing",t);for(let[e,i]of this._globalTimelineStyles)this._backFill.set(e,i||Bn),this._currentKeyframe.set(e,Bn);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(t,e,i,r){e&&this._previousKeyframe.set("easing",e);const o=r&&r.params||{},s=function CR(n,t){const e=new Map;let i;return n.forEach(r=>{if("*"===r){i=i||t.keys();for(let o of i)e.set(o,Bn)}else ci(r,e)}),e}(t,this._globalTimelineStyles);for(let[a,l]of s){const c=Yo(l,o,i);this._pendingStyles.set(a,c),this._localTimelineStyles.has(a)||this._backFill.set(a,this._globalTimelineStyles.get(a)??Bn),this._updateStyle(a,c)}}applyStylesToKeyframe(){0!=this._pendingStyles.size&&(this._pendingStyles.forEach((t,e)=>{this._currentKeyframe.set(e,t)}),this._pendingStyles.clear(),this._localTimelineStyles.forEach((t,e)=>{this._currentKeyframe.has(e)||this._currentKeyframe.set(e,t)}))}snapshotCurrentStyles(){for(let[t,e]of this._localTimelineStyles)this._pendingStyles.set(t,e),this._updateStyle(t,e)}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const t=[];for(let e in this._currentKeyframe)t.push(e);return t}mergeTimelineCollectedStyles(t){t._styleSummary.forEach((e,i)=>{const r=this._styleSummary.get(i);(!r||e.time>r.time)&&this._updateStyle(i,e.value)})}buildKeyframes(){this.applyStylesToKeyframe();const t=new Set,e=new Set,i=1===this._keyframes.size&&0===this.duration;let r=[];this._keyframes.forEach((a,l)=>{const c=ci(a,new Map,this._backFill);c.forEach((u,d)=>{"!"===u?t.add(d):u===Bn&&e.add(d)}),i||c.set("offset",l/this.duration),r.push(c)});const o=t.size?sl(t.values()):[],s=e.size?sl(e.values()):[];if(i){const a=r[0],l=new Map(a);a.set("offset",0),l.set("offset",1),r=[a,l]}return Ef(this.element,r,o,s,this.duration,this.startTime,this.easing,!1)}}class SR extends pl{constructor(t,e,i,r,o,s,a=!1){super(t,e,s.delay),this.keyframes=i,this.preStyleProps=r,this.postStyleProps=o,this._stretchStartingKeyframe=a,this.timings={duration:s.duration,delay:s.delay,easing:s.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let t=this.keyframes,{delay:e,duration:i,easing:r}=this.timings;if(this._stretchStartingKeyframe&&e){const o=[],s=i+e,a=e/s,l=ci(t[0]);l.set("offset",0),o.push(l);const c=ci(t[0]);c.set("offset",mD(a)),o.push(c);const u=t.length-1;for(let d=1;d<=u;d++){let f=ci(t[d]);const h=f.get("offset");f.set("offset",mD((e+h*i)/s)),o.push(f)}i=s,e=0,r="",t=o}return Ef(this.element,t,this.preStyleProps,this.postStyleProps,i,e,r,!0)}}function mD(n,t=3){const e=Math.pow(10,t-1);return Math.round(n*e)/e}class wf{}const wR=new Set(["width","height","minWidth","minHeight","maxWidth","maxHeight","left","top","bottom","right","fontSize","outlineWidth","outlineOffset","paddingTop","paddingLeft","paddingBottom","paddingRight","marginTop","marginLeft","marginBottom","marginRight","borderRadius","borderWidth","borderTopWidth","borderLeftWidth","borderRightWidth","borderBottomWidth","textIndent","perspective"]);class IR extends wf{normalizePropertyName(t,e){return vf(t)}normalizeStyleValue(t,e,i,r){let o="";const s=i.toString().trim();if(wR.has(e)&&0!==i&&"0"!==i)if("number"==typeof i)o="px";else{const a=i.match(/^[+-]?[\d\.]+([a-z]*)$/);a&&0==a[1].length&&r.push(function gN(n,t){return new D(3005,!1)}())}return s+o}}function gD(n,t,e,i,r,o,s,a,l,c,u,d,f){return{type:0,element:n,triggerName:t,isRemovalTransition:r,fromState:e,fromStyles:o,toState:i,toStyles:s,timelines:a,queriedElements:l,preStyleProps:c,postStyleProps:u,totalTime:d,errors:f}}const If={};class yD{constructor(t,e,i){this._triggerName=t,this.ast=e,this._stateStyles=i}match(t,e,i,r){return function TR(n,t,e,i,r){return n.some(o=>o(t,e,i,r))}(this.ast.matchers,t,e,i,r)}buildStyles(t,e,i){let r=this._stateStyles.get("*");return void 0!==t&&(r=this._stateStyles.get(t?.toString())||r),r?r.buildStyles(e,i):new Map}build(t,e,i,r,o,s,a,l,c,u){const d=[],f=this.ast.options&&this.ast.options.params||If,p=this.buildStyles(i,a&&a.params||If,d),m=l&&l.params||If,y=this.buildStyles(r,m,d),_=new Set,E=new Map,g=new Map,C="void"===r,ee={params:MR(m,f),delay:this.ast.options?.delay},ne=u?[]:Sf(t,e,this.ast.animation,o,s,p,y,ee,c,d);let nt=0;if(ne.forEach(Gn=>{nt=Math.max(Gn.duration+Gn.delay,nt)}),d.length)return gD(e,this._triggerName,i,r,C,p,y,[],[],E,g,nt,d);ne.forEach(Gn=>{const qn=Gn.element,TE=At(E,qn,new Set);Gn.preStyleProps.forEach(Wi=>TE.add(Wi));const is=At(g,qn,new Set);Gn.postStyleProps.forEach(Wi=>is.add(Wi)),qn!==e&&_.add(qn)});const Wn=sl(_.values());return gD(e,this._triggerName,i,r,C,p,y,ne,Wn,E,g,nt)}}function MR(n,t){const e=Ko(t);for(const i in n)n.hasOwnProperty(i)&&null!=n[i]&&(e[i]=n[i]);return e}class AR{constructor(t,e,i){this.styles=t,this.defaultParams=e,this.normalizer=i}buildStyles(t,e){const i=new Map,r=Ko(this.defaultParams);return Object.keys(t).forEach(o=>{const s=t[o];null!==s&&(r[o]=s)}),this.styles.styles.forEach(o=>{"string"!=typeof o&&o.forEach((s,a)=>{s&&(s=Yo(s,r,e));const l=this.normalizer.normalizePropertyName(a,e);s=this.normalizer.normalizeStyleValue(a,l,s,e),i.set(a,s)})}),i}}class PR{constructor(t,e,i){this.name=t,this.ast=e,this._normalizer=i,this.transitionFactories=[],this.states=new Map,e.states.forEach(r=>{this.states.set(r.name,new AR(r.style,r.options&&r.options.params||{},i))}),_D(this.states,"true","1"),_D(this.states,"false","0"),e.transitions.forEach(r=>{this.transitionFactories.push(new yD(t,r,this.states))}),this.fallbackTransition=function OR(n,t,e){return new yD(n,{type:1,animation:{type:2,steps:[],options:null},matchers:[(s,a)=>!0],options:null,queryCount:0,depCount:0},t)}(t,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(t,e,i,r){return this.transitionFactories.find(s=>s.match(t,e,i,r))||null}matchStyles(t,e,i){return this.fallbackTransition.buildStyles(t,e,i)}}function _D(n,t,e){n.has(t)?n.has(e)||n.set(e,n.get(t)):n.has(e)&&n.set(t,n.get(e))}const NR=new fl;class RR{constructor(t,e,i){this.bodyNode=t,this._driver=e,this._normalizer=i,this._animations=new Map,this._playersById=new Map,this.players=[]}register(t,e){const i=[],o=bf(this._driver,e,i,[]);if(i.length)throw function RN(n){return new D(3503,!1)}();this._animations.set(t,o)}_buildPlayer(t,e,i){const r=t.element,o=Yb(0,this._normalizer,0,t.keyframes,e,i);return this._driver.animate(r,o,t.duration,t.delay,t.easing,[],!0)}create(t,e,i={}){const r=[],o=this._animations.get(t);let s;const a=new Map;if(o?(s=Sf(this._driver,e,o,mf,nl,new Map,new Map,i,NR,r),s.forEach(u=>{const d=At(a,u.element,new Map);u.postStyleProps.forEach(f=>d.set(f,null))})):(r.push(function FN(){return new D(3300,!1)}()),s=[]),r.length)throw function LN(n){return new D(3504,!1)}();a.forEach((u,d)=>{u.forEach((f,h)=>{u.set(h,this._driver.computeStyle(d,h,Bn))})});const c=li(s.map(u=>{const d=a.get(u.element);return this._buildPlayer(u,new Map,d)}));return this._playersById.set(t,c),c.onDestroy(()=>this.destroy(t)),this.players.push(c),c}destroy(t){const e=this._getPlayer(t);e.destroy(),this._playersById.delete(t);const i=this.players.indexOf(e);i>=0&&this.players.splice(i,1)}_getPlayer(t){const e=this._playersById.get(t);if(!e)throw function kN(n){return new D(3301,!1)}();return e}listen(t,e,i,r){const o=df(e,"","","");return cf(this._getPlayer(t),i,o,r),()=>{}}command(t,e,i,r){if("register"==i)return void this.register(t,r[0]);if("create"==i)return void this.create(t,e,r[0]||{});const o=this._getPlayer(t);switch(i){case"play":o.play();break;case"pause":o.pause();break;case"reset":o.reset();break;case"restart":o.restart();break;case"finish":o.finish();break;case"init":o.init();break;case"setPosition":o.setPosition(parseFloat(r[0]));break;case"destroy":this.destroy(t)}}}const vD="ng-animate-queued",Tf="ng-animate-disabled",VR=[],bD={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},BR={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},zt="__ng_removed";class Mf{get params(){return this.options.params}constructor(t,e=""){this.namespaceId=e;const i=t&&t.hasOwnProperty("value");if(this.value=function zR(n){return n??null}(i?t.value:t),i){const o=Ko(t);delete o.value,this.options=o}else this.options={};this.options.params||(this.options.params={})}absorbOptions(t){const e=t.params;if(e){const i=this.options.params;Object.keys(e).forEach(r=>{null==i[r]&&(i[r]=e[r])})}}}const Zo="void",Af=new Mf(Zo);class HR{constructor(t,e,i){this.id=t,this.hostElement=e,this._engine=i,this.players=[],this._triggers=new Map,this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,Wt(e,this._hostClassName)}listen(t,e,i,r){if(!this._triggers.has(e))throw function jN(n,t){return new D(3302,!1)}();if(null==i||0==i.length)throw function VN(n){return new D(3303,!1)}();if(!function WR(n){return"start"==n||"done"==n}(i))throw function BN(n,t){return new D(3400,!1)}();const o=At(this._elementListeners,t,[]),s={name:e,phase:i,callback:r};o.push(s);const a=At(this._engine.statesByElement,t,new Map);return a.has(e)||(Wt(t,il),Wt(t,il+"-"+e),a.set(e,Af)),()=>{this._engine.afterFlush(()=>{const l=o.indexOf(s);l>=0&&o.splice(l,1),this._triggers.has(e)||a.delete(e)})}}register(t,e){return!this._triggers.has(t)&&(this._triggers.set(t,e),!0)}_getTrigger(t){const e=this._triggers.get(t);if(!e)throw function HN(n){return new D(3401,!1)}();return e}trigger(t,e,i,r=!0){const o=this._getTrigger(e),s=new xf(this.id,e,t);let a=this._engine.statesByElement.get(t);a||(Wt(t,il),Wt(t,il+"-"+e),this._engine.statesByElement.set(t,a=new Map));let l=a.get(e);const c=new Mf(i,this.id);if(!(i&&i.hasOwnProperty("value"))&&l&&c.absorbOptions(l.options),a.set(e,c),l||(l=Af),c.value!==Zo&&l.value===c.value){if(!function KR(n,t){const e=Object.keys(n),i=Object.keys(t);if(e.length!=i.length)return!1;for(let r=0;r{Ui(t,y),Sn(t,_)})}return}const f=At(this._engine.playersByElement,t,[]);f.forEach(m=>{m.namespaceId==this.id&&m.triggerName==e&&m.queued&&m.destroy()});let h=o.matchTransition(l.value,c.value,t,c.params),p=!1;if(!h){if(!r)return;h=o.fallbackTransition,p=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:e,transition:h,fromState:l,toState:c,player:s,isFallbackTransition:p}),p||(Wt(t,vD),s.onStart(()=>{Vr(t,vD)})),s.onDone(()=>{let m=this.players.indexOf(s);m>=0&&this.players.splice(m,1);const y=this._engine.playersByElement.get(t);if(y){let _=y.indexOf(s);_>=0&&y.splice(_,1)}}),this.players.push(s),f.push(s),s}deregister(t){this._triggers.delete(t),this._engine.statesByElement.forEach(e=>e.delete(t)),this._elementListeners.forEach((e,i)=>{this._elementListeners.set(i,e.filter(r=>r.name!=t))})}clearElementCache(t){this._engine.statesByElement.delete(t),this._elementListeners.delete(t);const e=this._engine.playersByElement.get(t);e&&(e.forEach(i=>i.destroy()),this._engine.playersByElement.delete(t))}_signalRemovalForInnerTriggers(t,e){const i=this._engine.driver.query(t,rl,!0);i.forEach(r=>{if(r[zt])return;const o=this._engine.fetchNamespacesByElement(r);o.size?o.forEach(s=>s.triggerLeaveAnimation(r,e,!1,!0)):this.clearElementCache(r)}),this._engine.afterFlushAnimationsDone(()=>i.forEach(r=>this.clearElementCache(r)))}triggerLeaveAnimation(t,e,i,r){const o=this._engine.statesByElement.get(t),s=new Map;if(o){const a=[];if(o.forEach((l,c)=>{if(s.set(c,l.value),this._triggers.has(c)){const u=this.trigger(t,c,Zo,r);u&&a.push(u)}}),a.length)return this._engine.markElementAsRemoved(this.id,t,!0,e,s),i&&li(a).onDone(()=>this._engine.processLeaveNode(t)),!0}return!1}prepareLeaveAnimationListeners(t){const e=this._elementListeners.get(t),i=this._engine.statesByElement.get(t);if(e&&i){const r=new Set;e.forEach(o=>{const s=o.name;if(r.has(s))return;r.add(s);const l=this._triggers.get(s).fallbackTransition,c=i.get(s)||Af,u=new Mf(Zo),d=new xf(this.id,s,t);this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:s,transition:l,fromState:c,toState:u,player:d,isFallbackTransition:!0})})}}removeNode(t,e){const i=this._engine;if(t.childElementCount&&this._signalRemovalForInnerTriggers(t,e),this.triggerLeaveAnimation(t,e,!0))return;let r=!1;if(i.totalAnimations){const o=i.players.length?i.playersByQueriedElement.get(t):[];if(o&&o.length)r=!0;else{let s=t;for(;s=s.parentNode;)if(i.statesByElement.get(s)){r=!0;break}}}if(this.prepareLeaveAnimationListeners(t),r)i.markElementAsRemoved(this.id,t,!1,e);else{const o=t[zt];(!o||o===bD)&&(i.afterFlush(()=>this.clearElementCache(t)),i.destroyInnerAnimations(t),i._onRemovalComplete(t,e))}}insertNode(t,e){Wt(t,this._hostClassName)}drainQueuedTransitions(t){const e=[];return this._queue.forEach(i=>{const r=i.player;if(r.destroyed)return;const o=i.element,s=this._elementListeners.get(o);s&&s.forEach(a=>{if(a.name==i.triggerName){const l=df(o,i.triggerName,i.fromState.value,i.toState.value);l._data=t,cf(i.player,a.phase,l,a.callback)}}),r.markedForDestroy?this._engine.afterFlush(()=>{r.destroy()}):e.push(i)}),this._queue=[],e.sort((i,r)=>{const o=i.transition.ast.depCount,s=r.transition.ast.depCount;return 0==o||0==s?o-s:this._engine.driver.containsElement(i.element,r.element)?1:-1})}destroy(t){this.players.forEach(e=>e.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,t)}elementContainsData(t){let e=!1;return this._elementListeners.has(t)&&(e=!0),e=!!this._queue.find(i=>i.element===t)||e,e}}class UR{_onRemovalComplete(t,e){this.onRemovalComplete(t,e)}constructor(t,e,i){this.bodyNode=t,this.driver=e,this._normalizer=i,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(r,o)=>{}}get queuedPlayers(){const t=[];return this._namespaceList.forEach(e=>{e.players.forEach(i=>{i.queued&&t.push(i)})}),t}createNamespace(t,e){const i=new HR(t,e,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,e)?this._balanceNamespaceList(i,e):(this.newHostElements.set(e,i),this.collectEnterElement(e)),this._namespaceLookup[t]=i}_balanceNamespaceList(t,e){const i=this._namespaceList,r=this.namespacesByHostElement;if(i.length-1>=0){let s=!1,a=this.driver.getParentElement(e);for(;a;){const l=r.get(a);if(l){const c=i.indexOf(l);i.splice(c+1,0,t),s=!0;break}a=this.driver.getParentElement(a)}s||i.unshift(t)}else i.push(t);return r.set(e,t),t}register(t,e){let i=this._namespaceLookup[t];return i||(i=this.createNamespace(t,e)),i}registerTrigger(t,e,i){let r=this._namespaceLookup[t];r&&r.register(e,i)&&this.totalAnimations++}destroy(t,e){if(!t)return;const i=this._fetchNamespace(t);this.afterFlush(()=>{this.namespacesByHostElement.delete(i.hostElement),delete this._namespaceLookup[t];const r=this._namespaceList.indexOf(i);r>=0&&this._namespaceList.splice(r,1)}),this.afterFlushAnimationsDone(()=>i.destroy(e))}_fetchNamespace(t){return this._namespaceLookup[t]}fetchNamespacesByElement(t){const e=new Set,i=this.statesByElement.get(t);if(i)for(let r of i.values())if(r.namespaceId){const o=this._fetchNamespace(r.namespaceId);o&&e.add(o)}return e}trigger(t,e,i,r){if(ml(e)){const o=this._fetchNamespace(t);if(o)return o.trigger(e,i,r),!0}return!1}insertNode(t,e,i,r){if(!ml(e))return;const o=e[zt];if(o&&o.setForRemoval){o.setForRemoval=!1,o.setForMove=!0;const s=this.collectedLeaveElements.indexOf(e);s>=0&&this.collectedLeaveElements.splice(s,1)}if(t){const s=this._fetchNamespace(t);s&&s.insertNode(e,i)}r&&this.collectEnterElement(e)}collectEnterElement(t){this.collectedEnterElements.push(t)}markElementAsDisabled(t,e){e?this.disabledNodes.has(t)||(this.disabledNodes.add(t),Wt(t,Tf)):this.disabledNodes.has(t)&&(this.disabledNodes.delete(t),Vr(t,Tf))}removeNode(t,e,i,r){if(ml(e)){const o=t?this._fetchNamespace(t):null;if(o?o.removeNode(e,r):this.markElementAsRemoved(t,e,!1,r),i){const s=this.namespacesByHostElement.get(e);s&&s.id!==t&&s.removeNode(e,r)}}else this._onRemovalComplete(e,r)}markElementAsRemoved(t,e,i,r,o){this.collectedLeaveElements.push(e),e[zt]={namespaceId:t,setForRemoval:r,hasAnimation:i,removedBeforeQueried:!1,previousTriggersValues:o}}listen(t,e,i,r,o){return ml(e)?this._fetchNamespace(t).listen(e,i,r,o):()=>{}}_buildInstruction(t,e,i,r,o){return t.transition.build(this.driver,t.element,t.fromState.value,t.toState.value,i,r,t.fromState.options,t.toState.options,e,o)}destroyInnerAnimations(t){let e=this.driver.query(t,rl,!0);e.forEach(i=>this.destroyActiveAnimationsForElement(i)),0!=this.playersByQueriedElement.size&&(e=this.driver.query(t,gf,!0),e.forEach(i=>this.finishActiveQueriedAnimationOnElement(i)))}destroyActiveAnimationsForElement(t){const e=this.playersByElement.get(t);e&&e.forEach(i=>{i.queued?i.markedForDestroy=!0:i.destroy()})}finishActiveQueriedAnimationOnElement(t){const e=this.playersByQueriedElement.get(t);e&&e.forEach(i=>i.finish())}whenRenderingDone(){return new Promise(t=>{if(this.players.length)return li(this.players).onDone(()=>t());t()})}processLeaveNode(t){const e=t[zt];if(e&&e.setForRemoval){if(t[zt]=bD,e.namespaceId){this.destroyInnerAnimations(t);const i=this._fetchNamespace(e.namespaceId);i&&i.clearElementCache(t)}this._onRemovalComplete(t,e.setForRemoval)}t.classList?.contains(Tf)&&this.markElementAsDisabled(t,!1),this.driver.query(t,".ng-animate-disabled",!0).forEach(i=>{this.markElementAsDisabled(i,!1)})}flush(t=-1){let e=[];if(this.newHostElements.size&&(this.newHostElements.forEach((i,r)=>this._balanceNamespaceList(i,r)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let i=0;ii()),this._flushFns=[],this._whenQuietFns.length){const i=this._whenQuietFns;this._whenQuietFns=[],e.length?li(e).onDone(()=>{i.forEach(r=>r())}):i.forEach(r=>r())}}reportError(t){throw function UN(n){return new D(3402,!1)}()}_flushAnimations(t,e){const i=new fl,r=[],o=new Map,s=[],a=new Map,l=new Map,c=new Map,u=new Set;this.disabledNodes.forEach(T=>{u.add(T);const x=this.driver.query(T,".ng-animate-queued",!0);for(let L=0;L{const L=mf+m++;p.set(x,L),T.forEach(te=>Wt(te,L))});const y=[],_=new Set,E=new Set;for(let T=0;T_.add(te)):E.add(x))}const g=new Map,C=SD(f,Array.from(_));C.forEach((T,x)=>{const L=nl+m++;g.set(x,L),T.forEach(te=>Wt(te,L))}),t.push(()=>{h.forEach((T,x)=>{const L=p.get(x);T.forEach(te=>Vr(te,L))}),C.forEach((T,x)=>{const L=g.get(x);T.forEach(te=>Vr(te,L))}),y.forEach(T=>{this.processLeaveNode(T)})});const ee=[],ne=[];for(let T=this._namespaceList.length-1;T>=0;T--)this._namespaceList[T].drainQueuedTransitions(e).forEach(L=>{const te=L.player,Ue=L.element;if(ee.push(te),this.collectedEnterElements.length){const it=Ue[zt];if(it&&it.setForMove){if(it.previousTriggersValues&&it.previousTriggersValues.has(L.triggerName)){const Gi=it.previousTriggersValues.get(L.triggerName),Gt=this.statesByElement.get(L.element);if(Gt&&Gt.has(L.triggerName)){const Il=Gt.get(L.triggerName);Il.value=Gi,Gt.set(L.triggerName,Il)}}return void te.destroy()}}const wn=!d||!this.driver.containsElement(d,Ue),Ot=g.get(Ue),pi=p.get(Ue),Ee=this._buildInstruction(L,i,pi,Ot,wn);if(Ee.errors&&Ee.errors.length)return void ne.push(Ee);if(wn)return te.onStart(()=>Ui(Ue,Ee.fromStyles)),te.onDestroy(()=>Sn(Ue,Ee.toStyles)),void r.push(te);if(L.isFallbackTransition)return te.onStart(()=>Ui(Ue,Ee.fromStyles)),te.onDestroy(()=>Sn(Ue,Ee.toStyles)),void r.push(te);const xE=[];Ee.timelines.forEach(it=>{it.stretchStartingKeyframe=!0,this.disabledNodes.has(it.element)||xE.push(it)}),Ee.timelines=xE,i.append(Ue,Ee.timelines),s.push({instruction:Ee,player:te,element:Ue}),Ee.queriedElements.forEach(it=>At(a,it,[]).push(te)),Ee.preStyleProps.forEach((it,Gi)=>{if(it.size){let Gt=l.get(Gi);Gt||l.set(Gi,Gt=new Set),it.forEach((Il,zf)=>Gt.add(zf))}}),Ee.postStyleProps.forEach((it,Gi)=>{let Gt=c.get(Gi);Gt||c.set(Gi,Gt=new Set),it.forEach((Il,zf)=>Gt.add(zf))})});if(ne.length){const T=[];ne.forEach(x=>{T.push(function $N(n,t){return new D(3505,!1)}())}),ee.forEach(x=>x.destroy()),this.reportError(T)}const nt=new Map,Wn=new Map;s.forEach(T=>{const x=T.element;i.has(x)&&(Wn.set(x,x),this._beforeAnimationBuild(T.player.namespaceId,T.instruction,nt))}),r.forEach(T=>{const x=T.element;this._getPreviousPlayers(x,!1,T.namespaceId,T.triggerName,null).forEach(te=>{At(nt,x,[]).push(te),te.destroy()})});const Gn=y.filter(T=>wD(T,l,c)),qn=new Map;ED(qn,this.driver,E,c,Bn).forEach(T=>{wD(T,l,c)&&Gn.push(T)});const is=new Map;h.forEach((T,x)=>{ED(is,this.driver,new Set(T),l,"!")}),Gn.forEach(T=>{const x=qn.get(T),L=is.get(T);qn.set(T,new Map([...Array.from(x?.entries()??[]),...Array.from(L?.entries()??[])]))});const Wi=[],ME=[],AE={};s.forEach(T=>{const{element:x,player:L,instruction:te}=T;if(i.has(x)){if(u.has(x))return L.onDestroy(()=>Sn(x,te.toStyles)),L.disabled=!0,L.overrideTotalTime(te.totalTime),void r.push(L);let Ue=AE;if(Wn.size>1){let Ot=x;const pi=[];for(;Ot=Ot.parentNode;){const Ee=Wn.get(Ot);if(Ee){Ue=Ee;break}pi.push(Ot)}pi.forEach(Ee=>Wn.set(Ee,Ue))}const wn=this._buildAnimation(L.namespaceId,te,nt,o,is,qn);if(L.setRealPlayer(wn),Ue===AE)Wi.push(L);else{const Ot=this.playersByElement.get(Ue);Ot&&Ot.length&&(L.parentPlayer=li(Ot)),r.push(L)}}else Ui(x,te.fromStyles),L.onDestroy(()=>Sn(x,te.toStyles)),ME.push(L),u.has(x)&&r.push(L)}),ME.forEach(T=>{const x=o.get(T.element);if(x&&x.length){const L=li(x);T.setRealPlayer(L)}}),r.forEach(T=>{T.parentPlayer?T.syncPlayerEvents(T.parentPlayer):T.destroy()});for(let T=0;T!wn.destroyed);Ue.length?GR(this,x,Ue):this.processLeaveNode(x)}return y.length=0,Wi.forEach(T=>{this.players.push(T),T.onDone(()=>{T.destroy();const x=this.players.indexOf(T);this.players.splice(x,1)}),T.play()}),Wi}elementContainsData(t,e){let i=!1;const r=e[zt];return r&&r.setForRemoval&&(i=!0),this.playersByElement.has(e)&&(i=!0),this.playersByQueriedElement.has(e)&&(i=!0),this.statesByElement.has(e)&&(i=!0),this._fetchNamespace(t).elementContainsData(e)||i}afterFlush(t){this._flushFns.push(t)}afterFlushAnimationsDone(t){this._whenQuietFns.push(t)}_getPreviousPlayers(t,e,i,r,o){let s=[];if(e){const a=this.playersByQueriedElement.get(t);a&&(s=a)}else{const a=this.playersByElement.get(t);if(a){const l=!o||o==Zo;a.forEach(c=>{c.queued||!l&&c.triggerName!=r||s.push(c)})}}return(i||r)&&(s=s.filter(a=>!(i&&i!=a.namespaceId||r&&r!=a.triggerName))),s}_beforeAnimationBuild(t,e,i){const o=e.element,s=e.isRemovalTransition?void 0:t,a=e.isRemovalTransition?void 0:e.triggerName;for(const l of e.timelines){const c=l.element,u=c!==o,d=At(i,c,[]);this._getPreviousPlayers(c,u,s,a,e.toState).forEach(h=>{const p=h.getRealPlayer();p.beforeDestroy&&p.beforeDestroy(),h.destroy(),d.push(h)})}Ui(o,e.fromStyles)}_buildAnimation(t,e,i,r,o,s){const a=e.triggerName,l=e.element,c=[],u=new Set,d=new Set,f=e.timelines.map(p=>{const m=p.element;u.add(m);const y=m[zt];if(y&&y.removedBeforeQueried)return new qo(p.duration,p.delay);const _=m!==l,E=function qR(n){const t=[];return CD(n,t),t}((i.get(m)||VR).map(nt=>nt.getRealPlayer())).filter(nt=>!!nt.element&&nt.element===m),g=o.get(m),C=s.get(m),ee=Yb(0,this._normalizer,0,p.keyframes,g,C),ne=this._buildPlayer(p,ee,E);if(p.subTimeline&&r&&d.add(m),_){const nt=new xf(t,a,m);nt.setRealPlayer(ne),c.push(nt)}return ne});c.forEach(p=>{At(this.playersByQueriedElement,p.element,[]).push(p),p.onDone(()=>function $R(n,t,e){let i=n.get(t);if(i){if(i.length){const r=i.indexOf(e);i.splice(r,1)}0==i.length&&n.delete(t)}return i}(this.playersByQueriedElement,p.element,p))}),u.forEach(p=>Wt(p,oD));const h=li(f);return h.onDestroy(()=>{u.forEach(p=>Vr(p,oD)),Sn(l,e.toStyles)}),d.forEach(p=>{At(r,p,[]).push(h)}),h}_buildPlayer(t,e,i){return e.length>0?this.driver.animate(t.element,e,t.duration,t.delay,t.easing,i):new qo(t.duration,t.delay)}}class xf{constructor(t,e,i){this.namespaceId=t,this.triggerName=e,this.element=i,this._player=new qo,this._containsRealPlayer=!1,this._queuedCallbacks=new Map,this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(t){this._containsRealPlayer||(this._player=t,this._queuedCallbacks.forEach((e,i)=>{e.forEach(r=>cf(t,i,void 0,r))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(t.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(t){this.totalTime=t}syncPlayerEvents(t){const e=this._player;e.triggerCallback&&t.onStart(()=>e.triggerCallback("start")),t.onDone(()=>this.finish()),t.onDestroy(()=>this.destroy())}_queueEvent(t,e){At(this._queuedCallbacks,t,[]).push(e)}onDone(t){this.queued&&this._queueEvent("done",t),this._player.onDone(t)}onStart(t){this.queued&&this._queueEvent("start",t),this._player.onStart(t)}onDestroy(t){this.queued&&this._queueEvent("destroy",t),this._player.onDestroy(t)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(t){this.queued||this._player.setPosition(t)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(t){const e=this._player;e.triggerCallback&&e.triggerCallback(t)}}function ml(n){return n&&1===n.nodeType}function DD(n,t){const e=n.style.display;return n.style.display=t??"none",e}function ED(n,t,e,i,r){const o=[];e.forEach(l=>o.push(DD(l)));const s=[];i.forEach((l,c)=>{const u=new Map;l.forEach(d=>{const f=t.computeStyle(c,d,r);u.set(d,f),(!f||0==f.length)&&(c[zt]=BR,s.push(c))}),n.set(c,u)});let a=0;return e.forEach(l=>DD(l,o[a++])),s}function SD(n,t){const e=new Map;if(n.forEach(a=>e.set(a,[])),0==t.length)return e;const r=new Set(t),o=new Map;function s(a){if(!a)return 1;let l=o.get(a);if(l)return l;const c=a.parentNode;return l=e.has(c)?c:r.has(c)?1:s(c),o.set(a,l),l}return t.forEach(a=>{const l=s(a);1!==l&&e.get(l).push(a)}),e}function Wt(n,t){n.classList?.add(t)}function Vr(n,t){n.classList?.remove(t)}function GR(n,t,e){li(e).onDone(()=>n.processLeaveNode(t))}function CD(n,t){for(let e=0;er.add(o)):t.set(n,i),e.delete(n),!0}class gl{constructor(t,e,i){this.bodyNode=t,this._driver=e,this._normalizer=i,this._triggerCache={},this.onRemovalComplete=(r,o)=>{},this._transitionEngine=new UR(t,e,i),this._timelineEngine=new RR(t,e,i),this._transitionEngine.onRemovalComplete=(r,o)=>this.onRemovalComplete(r,o)}registerTrigger(t,e,i,r,o){const s=t+"-"+r;let a=this._triggerCache[s];if(!a){const l=[],u=bf(this._driver,o,l,[]);if(l.length)throw function ON(n,t){return new D(3404,!1)}();a=function xR(n,t,e){return new PR(n,t,e)}(r,u,this._normalizer),this._triggerCache[s]=a}this._transitionEngine.registerTrigger(e,r,a)}register(t,e){this._transitionEngine.register(t,e)}destroy(t,e){this._transitionEngine.destroy(t,e)}onInsert(t,e,i,r){this._transitionEngine.insertNode(t,e,i,r)}onRemove(t,e,i,r){this._transitionEngine.removeNode(t,e,r||!1,i)}disableAnimations(t,e){this._transitionEngine.markElementAsDisabled(t,e)}process(t,e,i,r){if("@"==i.charAt(0)){const[o,s]=Zb(i);this._timelineEngine.command(o,e,s,r)}else this._transitionEngine.trigger(t,e,i,r)}listen(t,e,i,r,o){if("@"==i.charAt(0)){const[s,a]=Zb(i);return this._timelineEngine.listen(s,e,a,o)}return this._transitionEngine.listen(t,e,i,r,o)}flush(t=-1){this._transitionEngine.flush(t)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}let YR=(()=>{class n{constructor(e,i,r){this._element=e,this._startStyles=i,this._endStyles=r,this._state=0;let o=n.initialStylesByElement.get(e);o||n.initialStylesByElement.set(e,o=new Map),this._initialStyles=o}start(){this._state<1&&(this._startStyles&&Sn(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(Sn(this._element,this._initialStyles),this._endStyles&&(Sn(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(n.initialStylesByElement.delete(this._element),this._startStyles&&(Ui(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Ui(this._element,this._endStyles),this._endStyles=null),Sn(this._element,this._initialStyles),this._state=3)}}return n.initialStylesByElement=new WeakMap,n})();function Pf(n){let t=null;return n.forEach((e,i)=>{(function ZR(n){return"display"===n||"position"===n})(i)&&(t=t||new Map,t.set(i,e))}),t}class ID{constructor(t,e,i,r){this.element=t,this.keyframes=e,this.options=i,this._specialStyles=r,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this._originalOnDoneFns=[],this._originalOnStartFns=[],this.time=0,this.parentPlayer=null,this.currentSnapshot=new Map,this._duration=i.duration,this._delay=i.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const t=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,t,this.options),this._finalKeyframe=t.length?t[t.length-1]:new Map,this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_convertKeyframesToObject(t){const e=[];return t.forEach(i=>{e.push(Object.fromEntries(i))}),e}_triggerWebAnimation(t,e,i){return t.animate(this._convertKeyframesToObject(e),i)}onStart(t){this._originalOnStartFns.push(t),this._onStartFns.push(t)}onDone(t){this._originalOnDoneFns.push(t),this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(t=>t()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}setPosition(t){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=t*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const t=new Map;this.hasStarted()&&this._finalKeyframe.forEach((i,r)=>{"offset"!==r&&t.set(r,this._finished?i:dD(this.element,r))}),this.currentSnapshot=t}triggerCallback(t){const e="start"===t?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}class XR{validateStyleProperty(t){return!0}validateAnimatableStyleProperty(t){return!0}matchesElement(t,e){return!1}containsElement(t,e){return tD(t,e)}getParentElement(t){return hf(t)}query(t,e,i){return nD(t,e,i)}computeStyle(t,e,i){return window.getComputedStyle(t)[e]}animate(t,e,i,r,o,s=[]){const l={duration:i,delay:r,fill:0==r?"both":"forwards"};o&&(l.easing=o);const c=new Map,u=s.filter(h=>h instanceof ID);(function nR(n,t){return 0===n||0===t})(i,r)&&u.forEach(h=>{h.currentSnapshot.forEach((p,m)=>c.set(m,p))});let d=function XN(n){return n.length?n[0]instanceof Map?n:n.map(t=>sD(t)):[]}(e).map(h=>ci(h));d=function iR(n,t,e){if(e.size&&t.length){let i=t[0],r=[];if(e.forEach((o,s)=>{i.has(s)||r.push(s),i.set(s,o)}),r.length)for(let o=1;os.set(a,dD(n,a)))}}return t}(t,d,c);const f=function QR(n,t){let e=null,i=null;return Array.isArray(t)&&t.length?(e=Pf(t[0]),t.length>1&&(i=Pf(t[t.length-1]))):t instanceof Map&&(e=Pf(t)),e||i?new YR(n,e,i):null}(t,d);return new ID(t,d,l,f)}}let JR=(()=>{class n extends Hb{constructor(e,i){super(),this._nextAnimationId=0,this._renderer=e.createRenderer(i.body,{id:"0",encapsulation:Yt.None,styles:[],data:{animation:[]}})}build(e){const i=this._nextAnimationId.toString();this._nextAnimationId++;const r=Array.isArray(e)?$b(e):e;return TD(this._renderer,null,i,"register",[r]),new eF(i,this._renderer)}}return n.\u0275fac=function(e){return new(e||n)(A(po),A(Bt))},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})();class eF extends cN{constructor(t,e){super(),this._id=t,this._renderer=e}create(t,e){return new tF(this._id,t,e||{},this._renderer)}}class tF{constructor(t,e,i,r){this.id=t,this.element=e,this._renderer=r,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",i)}_listen(t,e){return this._renderer.listen(this.element,`@@${this.id}:${t}`,e)}_command(t,...e){return TD(this._renderer,this.element,this.id,t,e)}onDone(t){this._listen("done",t)}onStart(t){this._listen("start",t)}onDestroy(t){this._listen("destroy",t)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset"),this._started=!1}setPosition(t){this._command("setPosition",t)}getPosition(){return this._renderer.engine.players[+this.id]?.getPosition()??0}}function TD(n,t,e,i,r){return n.setProperty(t,`@@${e}:${i}`,r)}const MD="@.disabled";let nF=(()=>{class n{constructor(e,i,r){this.delegate=e,this.engine=i,this._zone=r,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),i.onRemovalComplete=(o,s)=>{const a=s?.parentNode(o);a&&s.removeChild(a,o)}}createRenderer(e,i){const o=this.delegate.createRenderer(e,i);if(!(e&&i&&i.data&&i.data.animation)){let u=this._rendererCache.get(o);return u||(u=new AD("",o,this.engine,()=>this._rendererCache.delete(o)),this._rendererCache.set(o,u)),u}const s=i.id,a=i.id+"-"+this._currentId;this._currentId++,this.engine.register(a,e);const l=u=>{Array.isArray(u)?u.forEach(l):this.engine.registerTrigger(s,a,e,u.name,u)};return i.data.animation.forEach(l),new iF(this,a,o,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(e,i,r){e>=0&&ei(r)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(o=>{const[s,a]=o;s(a)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([i,r]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}return n.\u0275fac=function(e){return new(e||n)(A(po),A(gl),A(Ie))},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})();class AD{constructor(t,e,i,r){this.namespaceId=t,this.delegate=e,this.engine=i,this._onDestroy=r,this.destroyNode=this.delegate.destroyNode?o=>e.destroyNode(o):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy(),this._onDestroy?.()}createElement(t,e){return this.delegate.createElement(t,e)}createComment(t){return this.delegate.createComment(t)}createText(t){return this.delegate.createText(t)}appendChild(t,e){this.delegate.appendChild(t,e),this.engine.onInsert(this.namespaceId,e,t,!1)}insertBefore(t,e,i,r=!0){this.delegate.insertBefore(t,e,i),this.engine.onInsert(this.namespaceId,e,t,r)}removeChild(t,e,i){this.engine.onRemove(this.namespaceId,e,this.delegate,i)}selectRootElement(t,e){return this.delegate.selectRootElement(t,e)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setAttribute(t,e,i,r){this.delegate.setAttribute(t,e,i,r)}removeAttribute(t,e,i){this.delegate.removeAttribute(t,e,i)}addClass(t,e){this.delegate.addClass(t,e)}removeClass(t,e){this.delegate.removeClass(t,e)}setStyle(t,e,i,r){this.delegate.setStyle(t,e,i,r)}removeStyle(t,e,i){this.delegate.removeStyle(t,e,i)}setProperty(t,e,i){"@"==e.charAt(0)&&e==MD?this.disableAnimations(t,!!i):this.delegate.setProperty(t,e,i)}setValue(t,e){this.delegate.setValue(t,e)}listen(t,e,i){return this.delegate.listen(t,e,i)}disableAnimations(t,e){this.engine.disableAnimations(t,e)}}class iF extends AD{constructor(t,e,i,r,o){super(e,i,r,o),this.factory=t,this.namespaceId=e}setProperty(t,e,i){"@"==e.charAt(0)?"."==e.charAt(1)&&e==MD?this.disableAnimations(t,i=void 0===i||!!i):this.engine.process(this.namespaceId,t,e.slice(1),i):this.delegate.setProperty(t,e,i)}listen(t,e,i){if("@"==e.charAt(0)){const r=function rF(n){switch(n){case"body":return document.body;case"document":return document;case"window":return window;default:return n}}(t);let o=e.slice(1),s="";return"@"!=o.charAt(0)&&([o,s]=function oF(n){const t=n.indexOf(".");return[n.substring(0,t),n.slice(t+1)]}(o)),this.engine.listen(this.namespaceId,r,o,s,a=>{this.factory.scheduleListenerCallback(a._data||-1,i,a)})}return this.delegate.listen(t,e,i)}}let sF=(()=>{class n extends gl{constructor(e,i,r,o){super(e.body,i,r)}ngOnDestroy(){this.flush()}}return n.\u0275fac=function(e){return new(e||n)(A(Bt),A(pf),A(wf),A(Oo))},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})();const xD=[{provide:Hb,useClass:JR},{provide:wf,useFactory:function aF(){return new IR}},{provide:gl,useClass:sF},{provide:po,useFactory:function lF(n,t,e){return new nF(n,t,e)},deps:[La,gl,Ie]}],Of=[{provide:pf,useFactory:()=>new XR},{provide:b_,useValue:"BrowserAnimations"},...xD],PD=[{provide:pf,useClass:iD},{provide:b_,useValue:"NoopAnimations"},...xD];let cF=(()=>{class n{static withConfig(e){return{ngModule:n,providers:e.disableAnimations?PD:Of}}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({providers:Of,imports:[Ov]}),n})();class _l{}class Nf{}class Un{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?this.lazyInit="string"==typeof t?()=>{this.headers=new Map,t.split("\n").forEach(e=>{const i=e.indexOf(":");if(i>0){const r=e.slice(0,i),o=r.toLowerCase(),s=e.slice(i+1).trim();this.maybeSetNormalizedName(r,o),this.headers.has(o)?this.headers.get(o).push(s):this.headers.set(o,[s])}})}:()=>{this.headers=new Map,Object.keys(t).forEach(e=>{let i=t[e];const r=e.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(this.headers.set(r,i),this.maybeSetNormalizedName(e,r))})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const e=this.headers.get(t.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,e){return this.clone({name:t,value:e,op:"a"})}set(t,e){return this.clone({name:t,value:e,op:"s"})}delete(t,e){return this.clone({name:t,value:e,op:"d"})}maybeSetNormalizedName(t,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,t)}init(){this.lazyInit&&(this.lazyInit instanceof Un?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(e=>{this.headers.set(e,t.headers.get(e)),this.normalizedNames.set(e,t.normalizedNames.get(e))})}clone(t){const e=new Un;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof Un?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([t]),e}applyUpdate(t){const e=t.name.toLowerCase();switch(t.op){case"a":case"s":let i=t.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(t.name,e);const r=("a"===t.op?this.headers.get(e):void 0)||[];r.push(...i),this.headers.set(e,r);break;case"d":const o=t.value;if(o){let s=this.headers.get(e);if(!s)return;s=s.filter(a=>-1===o.indexOf(a)),0===s.length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,s)}else this.headers.delete(e),this.normalizedNames.delete(e)}}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>t(this.normalizedNames.get(e),this.headers.get(e)))}}class dF{encodeKey(t){return OD(t)}encodeValue(t){return OD(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const hF=/%(\d[a-f0-9])/gi,pF={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function OD(n){return encodeURIComponent(n).replace(hF,(t,e)=>pF[e]??t)}function vl(n){return`${n}`}class ui{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new dF,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function fF(n,t){const e=new Map;return n.length>0&&n.replace(/^\?/,"").split("&").forEach(r=>{const o=r.indexOf("="),[s,a]=-1==o?[t.decodeKey(r),""]:[t.decodeKey(r.slice(0,o)),t.decodeValue(r.slice(o+1))],l=e.get(s)||[];l.push(a),e.set(s,l)}),e}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(e=>{const i=t.fromObject[e],r=Array.isArray(i)?i.map(vl):[vl(i)];this.map.set(e,r)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const e=this.map.get(t);return e?e[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,e){return this.clone({param:t,value:e,op:"a"})}appendAll(t){const e=[];return Object.keys(t).forEach(i=>{const r=t[i];Array.isArray(r)?r.forEach(o=>{e.push({param:i,value:o,op:"a"})}):e.push({param:i,value:r,op:"a"})}),this.clone(e)}set(t,e){return this.clone({param:t,value:e,op:"s"})}delete(t,e){return this.clone({param:t,value:e,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const e=this.encoder.encodeKey(t);return this.map.get(t).map(i=>e+"="+this.encoder.encodeValue(i)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const e=new ui({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(t),e}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 e=("a"===t.op?this.map.get(t.param):void 0)||[];e.push(vl(t.value)),this.map.set(t.param,e);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let i=this.map.get(t.param)||[];const r=i.indexOf(vl(t.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(t.param,i):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class mF{constructor(){this.map=new Map}set(t,e){return this.map.set(t,e),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 ND(n){return typeof ArrayBuffer<"u"&&n instanceof ArrayBuffer}function RD(n){return typeof Blob<"u"&&n instanceof Blob}function FD(n){return typeof FormData<"u"&&n instanceof FormData}class Xo{constructor(t,e,i,r){let o;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function gF(n){switch(n){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,o=r):o=i,o&&(this.reportProgress=!!o.reportProgress,this.withCredentials=!!o.withCredentials,o.responseType&&(this.responseType=o.responseType),o.headers&&(this.headers=o.headers),o.context&&(this.context=o.context),o.params&&(this.params=o.params)),this.headers||(this.headers=new Un),this.context||(this.context=new mF),this.params){const s=this.params.toString();if(0===s.length)this.urlWithParams=e;else{const a=e.indexOf("?");this.urlWithParams=e+(-1===a?"?":ad.set(f,t.setHeaders[f]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((d,f)=>d.set(f,t.setParams[f]),c)),new Xo(e,i,o,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:s})}}var Fe=(()=>((Fe=Fe||{})[Fe.Sent=0]="Sent",Fe[Fe.UploadProgress=1]="UploadProgress",Fe[Fe.ResponseHeader=2]="ResponseHeader",Fe[Fe.DownloadProgress=3]="DownloadProgress",Fe[Fe.Response=4]="Response",Fe[Fe.User=5]="User",Fe))();class Rf{constructor(t,e=200,i="OK"){this.headers=t.headers||new Un,this.status=void 0!==t.status?t.status:e,this.statusText=t.statusText||i,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class Ff extends Rf{constructor(t={}){super(t),this.type=Fe.ResponseHeader}clone(t={}){return new Ff({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 bl extends Rf{constructor(t={}){super(t),this.type=Fe.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new bl({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 LD extends Rf{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 Lf(n,t){return{body:t,headers:n.headers,context:n.context,observe:n.observe,params:n.params,reportProgress:n.reportProgress,responseType:n.responseType,withCredentials:n.withCredentials}}let kD=(()=>{class n{constructor(e){this.handler=e}request(e,i,r={}){let o;if(e instanceof Xo)o=e;else{let l,c;l=r.headers instanceof Un?r.headers:new Un(r.headers),r.params&&(c=r.params instanceof ui?r.params:new ui({fromObject:r.params})),o=new Xo(e,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const s=Ya(o).pipe(function uF(n,t){return Pl(n,t,1)}(l=>this.handler.handle(l)));if(e instanceof Xo||"events"===r.observe)return s;const a=s.pipe(Ad(l=>l instanceof bl));switch(r.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return a.pipe(mt(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(mt(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(mt(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));default:return a.pipe(mt(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(e,i={}){return this.request("DELETE",e,i)}get(e,i={}){return this.request("GET",e,i)}head(e,i={}){return this.request("HEAD",e,i)}jsonp(e,i){return this.request("JSONP",e,{params:(new ui).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(e,i={}){return this.request("OPTIONS",e,i)}patch(e,i,r={}){return this.request("PATCH",e,Lf(r,i))}post(e,i,r={}){return this.request("POST",e,Lf(r,i))}put(e,i,r={}){return this.request("PUT",e,Lf(r,i))}}return n.\u0275fac=function(e){return new(e||n)(A(_l))},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})();function jD(n,t){return t(n)}function _F(n,t){return(e,i)=>t.intercept(e,{handle:r=>n(r,i)})}const bF=new P("HTTP_INTERCEPTORS"),Jo=new P("HTTP_INTERCEPTOR_FNS");function DF(){let n=null;return(t,e)=>(null===n&&(n=(Yn(bF,{optional:!0})??[]).reduceRight(_F,jD)),n(t,e))}let VD=(()=>{class n extends _l{constructor(e,i){super(),this.backend=e,this.injector=i,this.chain=null}handle(e){if(null===this.chain){const i=Array.from(new Set(this.injector.get(Jo)));this.chain=i.reduceRight((r,o)=>function vF(n,t,e){return(i,r)=>e.runInContext(()=>t(i,o=>n(o,r)))}(r,o,this.injector),jD)}return this.chain(e,i=>this.backend.handle(i))}}return n.\u0275fac=function(e){return new(e||n)(A(Nf),A(Ii))},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})();const wF=/^\)\]\}',?\n/;let HD=(()=>{class n{constructor(e){this.xhrFactory=e}handle(e){if("JSONP"===e.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new ve(i=>{const r=this.xhrFactory.build();if(r.open(e.method,e.urlWithParams),e.withCredentials&&(r.withCredentials=!0),e.headers.forEach((h,p)=>r.setRequestHeader(h,p.join(","))),e.headers.has("Accept")||r.setRequestHeader("Accept","application/json, text/plain, */*"),!e.headers.has("Content-Type")){const h=e.detectContentTypeHeader();null!==h&&r.setRequestHeader("Content-Type",h)}if(e.responseType){const h=e.responseType.toLowerCase();r.responseType="json"!==h?h:"text"}const o=e.serializeBody();let s=null;const a=()=>{if(null!==s)return s;const h=r.statusText||"OK",p=new Un(r.getAllResponseHeaders()),m=function IF(n){return"responseURL"in n&&n.responseURL?n.responseURL:/^X-Request-URL:/m.test(n.getAllResponseHeaders())?n.getResponseHeader("X-Request-URL"):null}(r)||e.url;return s=new Ff({headers:p,status:r.status,statusText:h,url:m}),s},l=()=>{let{headers:h,status:p,statusText:m,url:y}=a(),_=null;204!==p&&(_=typeof r.response>"u"?r.responseText:r.response),0===p&&(p=_?200:0);let E=p>=200&&p<300;if("json"===e.responseType&&"string"==typeof _){const g=_;_=_.replace(wF,"");try{_=""!==_?JSON.parse(_):null}catch(C){_=g,E&&(E=!1,_={error:C,text:_})}}E?(i.next(new bl({body:_,headers:h,status:p,statusText:m,url:y||void 0})),i.complete()):i.error(new LD({error:_,headers:h,status:p,statusText:m,url:y||void 0}))},c=h=>{const{url:p}=a(),m=new LD({error:h,status:r.status||0,statusText:r.statusText||"Unknown Error",url:p||void 0});i.error(m)};let u=!1;const d=h=>{u||(i.next(a()),u=!0);let p={type:Fe.DownloadProgress,loaded:h.loaded};h.lengthComputable&&(p.total=h.total),"text"===e.responseType&&r.responseText&&(p.partialText=r.responseText),i.next(p)},f=h=>{let p={type:Fe.UploadProgress,loaded:h.loaded};h.lengthComputable&&(p.total=h.total),i.next(p)};return r.addEventListener("load",l),r.addEventListener("error",c),r.addEventListener("timeout",c),r.addEventListener("abort",c),e.reportProgress&&(r.addEventListener("progress",d),null!==o&&r.upload&&r.upload.addEventListener("progress",f)),r.send(o),i.next({type:Fe.Sent}),()=>{r.removeEventListener("error",c),r.removeEventListener("abort",c),r.removeEventListener("load",l),r.removeEventListener("timeout",c),e.reportProgress&&(r.removeEventListener("progress",d),null!==o&&r.upload&&r.upload.removeEventListener("progress",f)),r.readyState!==r.DONE&&r.abort()}})}}return n.\u0275fac=function(e){return new(e||n)(A(dv))},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})();const kf=new P("XSRF_ENABLED"),UD="XSRF-TOKEN",$D=new P("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>UD}),zD="X-XSRF-TOKEN",WD=new P("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>zD});class GD{}let TF=(()=>{class n{constructor(e,i,r){this.doc=e,this.platform=i,this.cookieName=r,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const e=this.doc.cookie||"";return e!==this.lastCookieString&&(this.parseCount++,this.lastToken=ev(e,this.cookieName),this.lastCookieString=e),this.lastToken}}return n.\u0275fac=function(e){return new(e||n)(A(Bt),A(zu),A($D))},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})();function MF(n,t){const e=n.url.toLowerCase();if(!Yn(kf)||"GET"===n.method||"HEAD"===n.method||e.startsWith("http://")||e.startsWith("https://"))return t(n);const i=Yn(GD).getToken(),r=Yn(WD);return null!=i&&!n.headers.has(r)&&(n=n.clone({headers:n.headers.set(r,i)})),t(n)}var Ae=(()=>((Ae=Ae||{})[Ae.Interceptors=0]="Interceptors",Ae[Ae.LegacyInterceptors=1]="LegacyInterceptors",Ae[Ae.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",Ae[Ae.NoXsrfProtection=3]="NoXsrfProtection",Ae[Ae.JsonpSupport=4]="JsonpSupport",Ae[Ae.RequestsMadeViaParent=5]="RequestsMadeViaParent",Ae))();function Br(n,t){return{\u0275kind:n,\u0275providers:t}}function AF(...n){const t=[kD,HD,VD,{provide:_l,useExisting:VD},{provide:Nf,useExisting:HD},{provide:Jo,useValue:MF,multi:!0},{provide:kf,useValue:!0},{provide:GD,useClass:TF}];for(const e of n)t.push(...e.\u0275providers);return function Fw(n){return{\u0275providers:n}}(t)}const qD=new P("LEGACY_INTERCEPTOR_FN");function PF({cookieName:n,headerName:t}){const e=[];return void 0!==n&&e.push({provide:$D,useValue:n}),void 0!==t&&e.push({provide:WD,useValue:t}),Br(Ae.CustomXsrfConfiguration,e)}let OF=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({providers:[AF(Br(Ae.LegacyInterceptors,[{provide:qD,useFactory:DF},{provide:Jo,useExisting:qD,multi:!0}]),PF({cookieName:UD,headerName:zD}))]}),n})();const KD=["*"];let tt=(()=>{class n{}return n.STARTS_WITH="startsWith",n.CONTAINS="contains",n.NOT_CONTAINS="notContains",n.ENDS_WITH="endsWith",n.EQUALS="equals",n.NOT_EQUALS="notEquals",n.IN="in",n.LESS_THAN="lt",n.LESS_THAN_OR_EQUAL_TO="lte",n.GREATER_THAN="gt",n.GREATER_THAN_OR_EQUAL_TO="gte",n.BETWEEN="between",n.IS="is",n.IS_NOT="isNot",n.BEFORE="before",n.AFTER="after",n.DATE_IS="dateIs",n.DATE_IS_NOT="dateIsNot",n.DATE_BEFORE="dateBefore",n.DATE_AFTER="dateAfter",n})(),QD=(()=>{class n{constructor(){this.ripple=!1,this.overlayOptions={},this.filterMatchModeOptions={text:[tt.STARTS_WITH,tt.CONTAINS,tt.NOT_CONTAINS,tt.ENDS_WITH,tt.EQUALS,tt.NOT_EQUALS],numeric:[tt.EQUALS,tt.NOT_EQUALS,tt.LESS_THAN,tt.LESS_THAN_OR_EQUAL_TO,tt.GREATER_THAN,tt.GREATER_THAN_OR_EQUAL_TO],date:[tt.DATE_IS,tt.DATE_IS_NOT,tt.DATE_BEFORE,tt.DATE_AFTER]},this.translation={startsWith:"Starts with",contains:"Contains",notContains:"Not contains",endsWith:"Ends with",equals:"Equals",notEquals:"Not equals",noFilter:"No Filter",lt:"Less than",lte:"Less than or equal to",gt:"Greater than",gte:"Greater than or equal to",is:"Is",isNot:"Is not",before:"Before",after:"After",dateIs:"Date is",dateIsNot:"Date is not",dateBefore:"Date is before",dateAfter:"Date is after",clear:"Clear",apply:"Apply",matchAll:"Match All",matchAny:"Match Any",addRule:"Add Rule",removeRule:"Remove Rule",accept:"Yes",reject:"No",choose:"Choose",upload:"Upload",cancel:"Cancel",dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dateFormat:"mm/dd/yy",firstDayOfWeek:0,today:"Today",weekHeader:"Wk",weak:"Weak",medium:"Medium",strong:"Strong",passwordPrompt:"Enter a password",emptyMessage:"No results found",emptyFilterMessage:"No results found"},this.zIndex={modal:1100,overlay:1e3,menu:1e3,tooltip:1100},this.translationSource=new Tn,this.translationObserver=this.translationSource.asObservable()}getTranslation(e){return this.translation[e]}setTranslation(e){this.translation={...this.translation,...e},this.translationSource.next(this.translation)}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=$({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),NF=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=gt({type:n,selectors:[["p-header"]],ngContentSelectors:KD,decls:1,vars:0,template:function(e,i){1&e&&(Ai(),Ln(0))},encapsulation:2}),n})(),RF=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=gt({type:n,selectors:[["p-footer"]],ngContentSelectors:KD,decls:1,vars:0,template:function(e,i){1&e&&(Ai(),Ln(0))},encapsulation:2}),n})(),YD=(()=>{class n{constructor(e){this.template=e}getType(){return this.name}}return n.\u0275fac=function(e){return new(e||n)(b(bn))},n.\u0275dir=k({type:n,selectors:[["","pTemplate",""]],inputs:{type:"type",name:["pTemplate","name"]}}),n})(),FF=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({imports:[Mt]}),n})(),K=(()=>{class n{static addClass(e,i){e&&i&&(e.classList?e.classList.add(i):e.className+=" "+i)}static addMultipleClasses(e,i){if(e&&i)if(e.classList){let r=i.trim().split(" ");for(let o=0;o{if(m)return"relative"===getComputedStyle(m).getPropertyValue("position")?m:r(m.parentElement)},o=e.offsetParent?{width:e.offsetWidth,height:e.offsetHeight}:this.getHiddenElementDimensions(e),s=i.offsetHeight,a=i.getBoundingClientRect(),l=this.getWindowScrollTop(),c=this.getWindowScrollLeft(),u=this.getViewport(),f=r(e)?.getBoundingClientRect()||{top:-1*l,left:-1*c};let h,p;a.top+s+o.height>u.height?(h=a.top-f.top-o.height,e.style.transformOrigin="bottom",a.top+h<0&&(h=-1*a.top)):(h=s+a.top-f.top,e.style.transformOrigin="top"),p=o.width>u.width?-1*(a.left-f.left):a.left-f.left+o.width>u.width?-1*(a.left-f.left+o.width-u.width):a.left-f.left,e.style.top=h+"px",e.style.left=p+"px"}static absolutePosition(e,i){const r=e.offsetParent?{width:e.offsetWidth,height:e.offsetHeight}:this.getHiddenElementDimensions(e),o=r.height,s=r.width,a=i.offsetHeight,l=i.offsetWidth,c=i.getBoundingClientRect(),u=this.getWindowScrollTop(),d=this.getWindowScrollLeft(),f=this.getViewport();let h,p;c.top+a+o>f.height?(h=c.top+u-o,e.style.transformOrigin="bottom",h<0&&(h=u)):(h=a+c.top+u,e.style.transformOrigin="top"),p=c.left+s>f.width?Math.max(0,c.left+d+l-s):c.left+d,e.style.top=h+"px",e.style.left=p+"px"}static getParents(e,i=[]){return null===e.parentNode?i:this.getParents(e.parentNode,i.concat([e.parentNode]))}static getScrollableParents(e){let i=[];if(e){let r=this.getParents(e);const o=/(auto|scroll)/,s=a=>{let l=window.getComputedStyle(a,null);return o.test(l.getPropertyValue("overflow"))||o.test(l.getPropertyValue("overflowX"))||o.test(l.getPropertyValue("overflowY"))};for(let a of r){let l=1===a.nodeType&&a.dataset.scrollselectors;if(l){let c=l.split(",");for(let u of c){let d=this.findSingle(a,u);d&&s(d)&&i.push(d)}}9!==a.nodeType&&s(a)&&i.push(a)}}return i}static getHiddenElementOuterHeight(e){e.style.visibility="hidden",e.style.display="block";let i=e.offsetHeight;return e.style.display="none",e.style.visibility="visible",i}static getHiddenElementOuterWidth(e){e.style.visibility="hidden",e.style.display="block";let i=e.offsetWidth;return e.style.display="none",e.style.visibility="visible",i}static getHiddenElementDimensions(e){let i={};return e.style.visibility="hidden",e.style.display="block",i.width=e.offsetWidth,i.height=e.offsetHeight,e.style.display="none",e.style.visibility="visible",i}static scrollInView(e,i){let r=getComputedStyle(e).getPropertyValue("borderTopWidth"),o=r?parseFloat(r):0,s=getComputedStyle(e).getPropertyValue("paddingTop"),a=s?parseFloat(s):0,l=e.getBoundingClientRect(),u=i.getBoundingClientRect().top+document.body.scrollTop-(l.top+document.body.scrollTop)-o-a,d=e.scrollTop,f=e.clientHeight,h=this.getOuterHeight(i);u<0?e.scrollTop=d+u:u+h>f&&(e.scrollTop=d+u-f+h)}static fadeIn(e,i){e.style.opacity=0;let r=+new Date,o=0,s=function(){o=+e.style.opacity.replace(",",".")+((new Date).getTime()-r)/i,e.style.opacity=o,r=+new Date,+o<1&&(window.requestAnimationFrame&&requestAnimationFrame(s)||setTimeout(s,16))};s()}static fadeOut(e,i){var r=1,a=50/i;let l=setInterval(()=>{(r-=a)<=0&&(r=0,clearInterval(l)),e.style.opacity=r},50)}static getWindowScrollTop(){let e=document.documentElement;return(window.pageYOffset||e.scrollTop)-(e.clientTop||0)}static getWindowScrollLeft(){let e=document.documentElement;return(window.pageXOffset||e.scrollLeft)-(e.clientLeft||0)}static matches(e,i){var r=Element.prototype;return(r.matches||r.webkitMatchesSelector||r.mozMatchesSelector||r.msMatchesSelector||function(s){return-1!==[].indexOf.call(document.querySelectorAll(s),this)}).call(e,i)}static getOuterWidth(e,i){let r=e.offsetWidth;if(i){let o=getComputedStyle(e);r+=parseFloat(o.marginLeft)+parseFloat(o.marginRight)}return r}static getHorizontalPadding(e){let i=getComputedStyle(e);return parseFloat(i.paddingLeft)+parseFloat(i.paddingRight)}static getHorizontalMargin(e){let i=getComputedStyle(e);return parseFloat(i.marginLeft)+parseFloat(i.marginRight)}static innerWidth(e){let i=e.offsetWidth,r=getComputedStyle(e);return i+=parseFloat(r.paddingLeft)+parseFloat(r.paddingRight),i}static width(e){let i=e.offsetWidth,r=getComputedStyle(e);return i-=parseFloat(r.paddingLeft)+parseFloat(r.paddingRight),i}static getInnerHeight(e){let i=e.offsetHeight,r=getComputedStyle(e);return i+=parseFloat(r.paddingTop)+parseFloat(r.paddingBottom),i}static getOuterHeight(e,i){let r=e.offsetHeight;if(i){let o=getComputedStyle(e);r+=parseFloat(o.marginTop)+parseFloat(o.marginBottom)}return r}static getHeight(e){let i=e.offsetHeight,r=getComputedStyle(e);return i-=parseFloat(r.paddingTop)+parseFloat(r.paddingBottom)+parseFloat(r.borderTopWidth)+parseFloat(r.borderBottomWidth),i}static getWidth(e){let i=e.offsetWidth,r=getComputedStyle(e);return i-=parseFloat(r.paddingLeft)+parseFloat(r.paddingRight)+parseFloat(r.borderLeftWidth)+parseFloat(r.borderRightWidth),i}static getViewport(){let e=window,i=document,r=i.documentElement,o=i.getElementsByTagName("body")[0];return{width:e.innerWidth||r.clientWidth||o.clientWidth,height:e.innerHeight||r.clientHeight||o.clientHeight}}static getOffset(e){var i=e.getBoundingClientRect();return{top:i.top+(window.pageYOffset||document.documentElement.scrollTop||document.body.scrollTop||0),left:i.left+(window.pageXOffset||document.documentElement.scrollLeft||document.body.scrollLeft||0)}}static replaceElementWith(e,i){let r=e.parentNode;if(!r)throw"Can't replace element";return r.replaceChild(i,e)}static getUserAgent(){return navigator.userAgent}static isIE(){var e=window.navigator.userAgent;return e.indexOf("MSIE ")>0||(e.indexOf("Trident/")>0?(e.indexOf("rv:"),!0):e.indexOf("Edge/")>0)}static isIOS(){return/iPad|iPhone|iPod/.test(navigator.userAgent)&&!window.MSStream}static isAndroid(){return/(android)/i.test(navigator.userAgent)}static isTouchDevice(){return"ontouchstart"in window||navigator.maxTouchPoints>0}static appendChild(e,i){if(this.isElement(i))i.appendChild(e);else{if(!i.el||!i.el.nativeElement)throw"Cannot append "+i+" to "+e;i.el.nativeElement.appendChild(e)}}static removeChild(e,i){if(this.isElement(i))i.removeChild(e);else{if(!i.el||!i.el.nativeElement)throw"Cannot remove "+e+" from "+i;i.el.nativeElement.removeChild(e)}}static removeElement(e){"remove"in Element.prototype?e.remove():e.parentNode.removeChild(e)}static isElement(e){return"object"==typeof HTMLElement?e instanceof HTMLElement:e&&"object"==typeof e&&null!==e&&1===e.nodeType&&"string"==typeof e.nodeName}static calculateScrollbarWidth(e){if(e){let i=getComputedStyle(e);return e.offsetWidth-e.clientWidth-parseFloat(i.borderLeftWidth)-parseFloat(i.borderRightWidth)}{if(null!==this.calculatedScrollbarWidth)return this.calculatedScrollbarWidth;let i=document.createElement("div");i.className="p-scrollbar-measure",document.body.appendChild(i);let r=i.offsetWidth-i.clientWidth;return document.body.removeChild(i),this.calculatedScrollbarWidth=r,r}}static calculateScrollbarHeight(){if(null!==this.calculatedScrollbarHeight)return this.calculatedScrollbarHeight;let e=document.createElement("div");e.className="p-scrollbar-measure",document.body.appendChild(e);let i=e.offsetHeight-e.clientHeight;return document.body.removeChild(e),this.calculatedScrollbarWidth=i,i}static invokeElementMethod(e,i,r){e[i].apply(e,r)}static clearSelection(){if(window.getSelection)window.getSelection().empty?window.getSelection().empty():window.getSelection().removeAllRanges&&window.getSelection().rangeCount>0&&window.getSelection().getRangeAt(0).getClientRects().length>0&&window.getSelection().removeAllRanges();else if(document.selection&&document.selection.empty)try{document.selection.empty()}catch{}}static getBrowser(){if(!this.browser){let e=this.resolveUserAgent();this.browser={},e.browser&&(this.browser[e.browser]=!0,this.browser.version=e.version),this.browser.chrome?this.browser.webkit=!0:this.browser.webkit&&(this.browser.safari=!0)}return this.browser}static resolveUserAgent(){let e=navigator.userAgent.toLowerCase(),i=/(chrome)[ \/]([\w.]+)/.exec(e)||/(webkit)[ \/]([\w.]+)/.exec(e)||/(opera)(?:.*version|)[ \/]([\w.]+)/.exec(e)||/(msie) ([\w.]+)/.exec(e)||e.indexOf("compatible")<0&&/(mozilla)(?:.*? rv:([\w.]+)|)/.exec(e)||[];return{browser:i[1]||"",version:i[2]||"0"}}static isInteger(e){return Number.isInteger?Number.isInteger(e):"number"==typeof e&&isFinite(e)&&Math.floor(e)===e}static isHidden(e){return!e||null===e.offsetParent}static isVisible(e){return e&&null!=e.offsetParent}static isExist(e){return null!==e&&typeof e<"u"&&e.nodeName&&e.parentNode}static focus(e,i){e&&document.activeElement!==e&&e.focus(i)}static getFocusableElements(e){let i=n.find(e,'button:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden]),\n [href][clientHeight][clientWidth]:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden]),\n input:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden]), select:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden]),\n textarea:not([tabindex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden]), [tabIndex]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden]),\n [contenteditable]:not([tabIndex = "-1"]):not([disabled]):not([style*="display:none"]):not([hidden]):not(.p-disabled)'),r=[];for(let o of i)(o.offsetWidth||o.offsetHeight||o.getClientRects().length)&&r.push(o);return r}static getNextFocusableElement(e,i=!1){const r=n.getFocusableElements(e);let o=0;if(r&&r.length>0){const s=r.indexOf(r[0].ownerDocument.activeElement);i?o=-1==s||0===s?r.length-1:s-1:-1!=s&&s!==r.length-1&&(o=s+1)}return r[o]}static generateZIndex(){return this.zindex=this.zindex||999,++this.zindex}static getSelection(){return window.getSelection?window.getSelection().toString():document.getSelection?document.getSelection().toString():document.selection?document.selection.createRange().text:null}static getTargetElement(e,i){if(!e)return null;switch(e){case"document":return document;case"window":return window;case"@next":return i?.nextElementSibling;case"@prev":return i?.previousElementSibling;case"@parent":return i?.parentElement;case"@grandparent":return i?.parentElement.parentElement;default:const r=typeof e;if("string"===r)return document.querySelector(e);if("object"===r&&e.hasOwnProperty("nativeElement"))return this.isExist(e.nativeElement)?e.nativeElement:void 0;const s=(a=e)&&a.constructor&&a.call&&a.apply?e():e;return s&&9===s.nodeType||this.isExist(s)?s:null}var a}}return n.zindex=1e3,n.calculatedScrollbarWidth=null,n.calculatedScrollbarHeight=null,n})(),ZD=(()=>{class n{constructor(e,i,r){this.el=e,this.zone=i,this.config=r}ngAfterViewInit(){this.config&&this.config.ripple&&this.zone.runOutsideAngular(()=>{this.create(),this.mouseDownListener=this.onMouseDown.bind(this),this.el.nativeElement.addEventListener("mousedown",this.mouseDownListener)})}onMouseDown(e){let i=this.getInk();if(!i||"none"===getComputedStyle(i,null).display)return;if(K.removeClass(i,"p-ink-active"),!K.getHeight(i)&&!K.getWidth(i)){let a=Math.max(K.getOuterWidth(this.el.nativeElement),K.getOuterHeight(this.el.nativeElement));i.style.height=a+"px",i.style.width=a+"px"}let r=K.getOffset(this.el.nativeElement),o=e.pageX-r.left+document.body.scrollTop-K.getWidth(i)/2,s=e.pageY-r.top+document.body.scrollLeft-K.getHeight(i)/2;i.style.top=s+"px",i.style.left=o+"px",K.addClass(i,"p-ink-active"),this.timeout=setTimeout(()=>{let a=this.getInk();a&&K.removeClass(a,"p-ink-active")},401)}getInk(){const e=this.el.nativeElement.children;for(let i=0;i{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({imports:[Mt]}),n})();function LF(n,t){1&n&&Tr(0)}const kF=function(n,t,e,i){return{"p-button-icon":!0,"p-button-icon-left":n,"p-button-icon-right":t,"p-button-icon-top":e,"p-button-icon-bottom":i}};function jF(n,t){if(1&n&&Oe(0,"span",4),2&n){const e=j();Pi(e.loading?"p-button-loading-icon "+e.loadingIcon:e.icon),I("ngClass",Au(4,kF,"left"===e.iconPos&&e.label,"right"===e.iconPos&&e.label,"top"===e.iconPos&&e.label,"bottom"===e.iconPos&&e.label)),Je("aria-hidden",!0)}}function VF(n,t){if(1&n&&(R(0,"span",5),Vt(1),W()),2&n){const e=j();Je("aria-hidden",e.icon&&!e.label),M(1),Oi(e.label)}}function BF(n,t){if(1&n&&(R(0,"span",4),Vt(1),W()),2&n){const e=j();Pi(e.badgeClass),I("ngClass",e.badgeStyleClass()),M(1),Oi(e.badge)}}const HF=function(n,t,e,i,r){return{"p-button p-component":!0,"p-button-icon-only":n,"p-button-vertical":t,"p-disabled":e,"p-button-loading":i,"p-button-loading-label-only":r}},UF=["*"];let jf=(()=>{class n{constructor(){this.type="button",this.iconPos="left",this.loading=!1,this.loadingIcon="pi pi-spinner pi-spin",this.onClick=new Y,this.onFocus=new Y,this.onBlur=new Y}ngAfterContentInit(){this.templates.forEach(e=>{e.getType(),this.contentTemplate=e.template})}badgeStyleClass(){return{"p-badge p-component":!0,"p-badge-no-gutter":this.badge&&1===String(this.badge).length}}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=gt({type:n,selectors:[["p-button"]],contentQueries:function(e,i,r){if(1&e&&Ao(r,YD,4),2&e){let o;on(o=sn())&&(i.templates=o)}},hostAttrs:[1,"p-element"],inputs:{type:"type",iconPos:"iconPos",icon:"icon",badge:"badge",label:"label",disabled:"disabled",loading:"loading",loadingIcon:"loadingIcon",style:"style",styleClass:"styleClass",badgeClass:"badgeClass",ariaLabel:"ariaLabel"},outputs:{onClick:"onClick",onFocus:"onFocus",onBlur:"onBlur"},ngContentSelectors:UF,decls:6,vars:17,consts:[["pRipple","",3,"ngStyle","disabled","ngClass","click","focus","blur"],[4,"ngTemplateOutlet"],[3,"ngClass","class",4,"ngIf"],["class","p-button-label",4,"ngIf"],[3,"ngClass"],[1,"p-button-label"]],template:function(e,i){1&e&&(Ai(),R(0,"button",0),J("click",function(o){return i.onClick.emit(o)})("focus",function(o){return i.onFocus.emit(o)})("blur",function(o){return i.onBlur.emit(o)}),Ln(1),ae(2,LF,1,0,"ng-container",1),ae(3,jF,1,9,"span",2),ae(4,VF,2,2,"span",3),ae(5,BF,2,4,"span",2),W()),2&e&&(Pi(i.styleClass),I("ngStyle",i.style)("disabled",i.disabled||i.loading)("ngClass",function ky(n,t,e,i,r,o,s,a){const l=lt()+n,c=v(),u=kt(c,l,e,i,r,o);return Xe(c,l+4,s)||u?_n(c,l+5,a?t.call(a,e,i,r,o,s):t(e,i,r,o,s)):vo(c,l+5)}(11,HF,i.icon&&!i.label,("top"===i.iconPos||"bottom"===i.iconPos)&&i.label,i.disabled||i.loading,i.loading,i.loading&&!i.icon&&i.label)),Je("type",i.type)("aria-label",i.ariaLabel),M(2),I("ngTemplateOutlet",i.contentTemplate),M(1),I("ngIf",!i.contentTemplate&&(i.icon||i.loading)),M(1),I("ngIf",!i.contentTemplate&&i.label),M(1),I("ngIf",!i.contentTemplate&&i.badge))},dependencies:[Fr,Lr,gd,Pa,ZD],encapsulation:2,changeDetection:0}),n})(),Vf=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({imports:[Mt,XD]}),n})(),$F=(()=>{class n{constructor(e){this.el=e}onkeydown(e){if(!0!==this.pFocusTrapDisabled){e.preventDefault();const i=K.getNextFocusableElement(this.el.nativeElement,e.shiftKey);i&&(i.focus(),i.select?.())}}}return n.\u0275fac=function(e){return new(e||n)(b(ut))},n.\u0275dir=k({type:n,selectors:[["","pFocusTrap",""]],hostAttrs:[1,"p-element"],hostBindings:function(e,i){1&e&&J("keydown.tab",function(o){return i.onkeydown(o)})("keydown.shift.tab",function(o){return i.onkeydown(o)})},inputs:{pFocusTrapDisabled:"pFocusTrapDisabled"}}),n})(),zF=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({imports:[Mt]}),n})();var eE=0,tE=function GF(){let n=[];const r=o=>o&&parseInt(o.style.zIndex,10)||0;return{get:r,set:(o,s,a)=>{s&&(s.style.zIndex=String(((o,s)=>{let a=n.length>0?n[n.length-1]:{key:o,value:s},l=a.value+(a.key===o?0:s)+1;return n.push({key:o,value:l}),l})(o,a)))},clear:o=>{o&&((o=>{n=n.filter(s=>s.value!==o)})(r(o)),o.style.zIndex="")},getCurrent:()=>n.length>0?n[n.length-1].value:0}}();const qF=["titlebar"],KF=["content"],QF=["footer"];function YF(n,t){if(1&n){const e=jt();R(0,"div",11),J("mousedown",function(r){return pe(e),me(j(3).initResize(r))}),W()}}function ZF(n,t){if(1&n&&(R(0,"span",18),Vt(1),W()),2&n){const e=j(4);Je("id",e.id+"-label"),M(1),Oi(e.header)}}function XF(n,t){1&n&&(R(0,"span",18),Ln(1,1),W()),2&n&&Je("id",j(4).id+"-label")}function JF(n,t){1&n&&Tr(0)}const eL=function(){return{"p-dialog-header-icon p-dialog-header-maximize p-link":!0}};function tL(n,t){if(1&n){const e=jt();R(0,"button",19),J("click",function(){return pe(e),me(j(4).maximize())})("keydown.enter",function(){return pe(e),me(j(4).maximize())}),Oe(1,"span",20),W()}if(2&n){const e=j(4);I("ngClass",da(2,eL)),M(1),I("ngClass",e.maximized?e.minimizeIcon:e.maximizeIcon)}}const nL=function(){return{"p-dialog-header-icon p-dialog-header-close p-link":!0}};function iL(n,t){if(1&n){const e=jt();R(0,"button",21),J("click",function(r){return pe(e),me(j(4).close(r))})("keydown.enter",function(r){return pe(e),me(j(4).close(r))}),Oe(1,"span",22),W()}if(2&n){const e=j(4);I("ngClass",da(4,nL)),Je("aria-label",e.closeAriaLabel)("tabindex",e.closeTabindex),M(1),I("ngClass",e.closeIcon)}}function rL(n,t){if(1&n){const e=jt();R(0,"div",12,13),J("mousedown",function(r){return pe(e),me(j(3).initDrag(r))}),ae(2,ZF,2,2,"span",14),ae(3,XF,2,1,"span",14),ae(4,JF,1,0,"ng-container",9),R(5,"div",15),ae(6,tL,2,3,"button",16),ae(7,iL,2,5,"button",17),W()()}if(2&n){const e=j(3);M(2),I("ngIf",!e.headerFacet&&!e.headerTemplate),M(1),I("ngIf",e.headerFacet),M(1),I("ngTemplateOutlet",e.headerTemplate),M(2),I("ngIf",e.maximizable),M(1),I("ngIf",e.closable)}}function oL(n,t){1&n&&Tr(0)}function sL(n,t){1&n&&Tr(0)}function aL(n,t){if(1&n&&(R(0,"div",23,24),Ln(2,2),ae(3,sL,1,0,"ng-container",9),W()),2&n){const e=j(3);M(3),I("ngTemplateOutlet",e.footerTemplate)}}const lL=function(n,t,e,i){return{"p-dialog p-component":!0,"p-dialog-rtl":n,"p-dialog-draggable":t,"p-dialog-resizable":e,"p-dialog-maximized":i}},cL=function(n,t){return{transform:n,transition:t}},uL=function(n){return{value:"visible",params:n}};function dL(n,t){if(1&n){const e=jt();R(0,"div",3,4),J("@animation.start",function(r){return pe(e),me(j(2).onAnimationStart(r))})("@animation.done",function(r){return pe(e),me(j(2).onAnimationEnd(r))}),ae(2,YF,1,0,"div",5),ae(3,rL,8,5,"div",6),R(4,"div",7,8),Ln(6),ae(7,oL,1,0,"ng-container",9),W(),ae(8,aL,4,1,"div",10),W()}if(2&n){const e=j(2);Pi(e.styleClass),I("ngClass",Au(15,lL,e.rtl,e.draggable,e.resizable,e.maximized))("ngStyle",e.style)("pFocusTrapDisabled",!1===e.focusTrap)("@animation",Or(23,uL,function Fy(n,t,e,i,r){return By(v(),lt(),n,t,e,i,r)}(20,cL,e.transformOptions,e.transitionOptions))),Je("aria-labelledby",e.id+"-label"),M(2),I("ngIf",e.resizable),M(1),I("ngIf",e.showHeader),M(1),Pi(e.contentStyleClass),I("ngClass","p-dialog-content")("ngStyle",e.contentStyle),M(3),I("ngTemplateOutlet",e.contentTemplate),M(1),I("ngIf",e.footerFacet||e.footerTemplate)}}const fL=function(n,t,e,i,r,o,s,a,l,c){return{"p-dialog-mask":!0,"p-component-overlay p-component-overlay-enter":n,"p-dialog-mask-scrollblocker":t,"p-dialog-left":e,"p-dialog-right":i,"p-dialog-top":r,"p-dialog-top-left":o,"p-dialog-top-right":s,"p-dialog-bottom":a,"p-dialog-bottom-left":l,"p-dialog-bottom-right":c}};function hL(n,t){if(1&n&&(R(0,"div",1),ae(1,dL,9,25,"div",2),W()),2&n){const e=j();Pi(e.maskStyleClass),I("ngClass",jy(4,fL,[e.modal,e.modal||e.blockScroll,"left"===e.position,"right"===e.position,"top"===e.position,"topleft"===e.position||"top-left"===e.position,"topright"===e.position||"top-right"===e.position,"bottom"===e.position,"bottomleft"===e.position||"bottom-left"===e.position,"bottomright"===e.position||"bottom-right"===e.position])),M(1),I("ngIf",e.visible)}}const pL=["*",[["p-header"]],[["p-footer"]]],mL=["*","p-header","p-footer"],gL=Wb([tl({transform:"{{transform}}",opacity:0}),Ub("{{transition}}")]),yL=Wb([Ub("{{transition}}",tl({transform:"{{transform}}",opacity:0}))]);let _L=(()=>{class n{constructor(e,i,r,o,s){this.el=e,this.renderer=i,this.zone=r,this.cd=o,this.config=s,this.draggable=!0,this.resizable=!0,this.closeOnEscape=!0,this.closable=!0,this.showHeader=!0,this.blockScroll=!1,this.autoZIndex=!0,this.baseZIndex=0,this.minX=0,this.minY=0,this.focusOnShow=!0,this.keepInViewport=!0,this.focusTrap=!0,this.transitionOptions="150ms cubic-bezier(0, 0, 0.2, 1)",this.closeIcon="pi pi-times",this.closeTabindex="-1",this.minimizeIcon="pi pi-window-minimize",this.maximizeIcon="pi pi-window-maximize",this.onShow=new Y,this.onHide=new Y,this.visibleChange=new Y,this.onResizeInit=new Y,this.onResizeEnd=new Y,this.onDragEnd=new Y,this.onMaximize=new Y,this.id=function WF(){return"pr_id_"+ ++eE}(),this._style={},this._position="center",this.transformOptions="scale(0.7)"}get positionLeft(){return 0}set positionLeft(e){console.log("positionLeft property is deprecated.")}get positionTop(){return 0}set positionTop(e){console.log("positionTop property is deprecated.")}get responsive(){return!1}set responsive(e){console.log("Responsive property is deprecated.")}get breakpoint(){return 649}set breakpoint(e){console.log("Breakpoint property is not utilized and deprecated, use breakpoints or CSS media queries instead.")}ngAfterContentInit(){this.templates.forEach(e=>{switch(e.getType()){case"header":this.headerTemplate=e.template;break;case"content":default:this.contentTemplate=e.template;break;case"footer":this.footerTemplate=e.template}})}ngOnInit(){this.breakpoints&&this.createStyle()}get visible(){return this._visible}set visible(e){this._visible=e,this._visible&&!this.maskVisible&&(this.maskVisible=!0)}get style(){return this._style}set style(e){e&&(this._style={...e},this.originalStyle=e)}get position(){return this._position}set position(e){switch(this._position=e,e){case"topleft":case"bottomleft":case"left":this.transformOptions="translate3d(-100%, 0px, 0px)";break;case"topright":case"bottomright":case"right":this.transformOptions="translate3d(100%, 0px, 0px)";break;case"bottom":this.transformOptions="translate3d(0px, 100%, 0px)";break;case"top":this.transformOptions="translate3d(0px, -100%, 0px)";break;default:this.transformOptions="scale(0.7)"}}focus(){let e=K.findSingle(this.container,"[autofocus]");e&&this.zone.runOutsideAngular(()=>{setTimeout(()=>e.focus(),5)})}close(e){this.visibleChange.emit(!1),e.preventDefault()}enableModality(){this.closable&&this.dismissableMask&&(this.maskClickListener=this.renderer.listen(this.wrapper,"mousedown",e=>{this.wrapper&&this.wrapper.isSameNode(e.target)&&this.close(e)})),this.modal&&K.addClass(document.body,"p-overflow-hidden")}disableModality(){this.wrapper&&(this.dismissableMask&&this.unbindMaskClickListener(),this.modal&&K.removeClass(document.body,"p-overflow-hidden"),this.cd.destroyed||this.cd.detectChanges())}maximize(){this.maximized=!this.maximized,!this.modal&&!this.blockScroll&&(this.maximized?K.addClass(document.body,"p-overflow-hidden"):K.removeClass(document.body,"p-overflow-hidden")),this.onMaximize.emit({maximized:this.maximized})}unbindMaskClickListener(){this.maskClickListener&&(this.maskClickListener(),this.maskClickListener=null)}moveOnTop(){this.autoZIndex&&(tE.set("modal",this.container,this.baseZIndex+this.config.zIndex.modal),this.wrapper.style.zIndex=String(parseInt(this.container.style.zIndex,10)-1))}createStyle(){if(!this.styleElement){this.styleElement=document.createElement("style"),this.styleElement.type="text/css",document.head.appendChild(this.styleElement);let e="";for(let i in this.breakpoints)e+=`\n @media screen and (max-width: ${i}) {\n .p-dialog[${this.id}] {\n width: ${this.breakpoints[i]} !important;\n }\n }\n `;this.styleElement.innerHTML=e}}initDrag(e){K.hasClass(e.target,"p-dialog-header-icon")||K.hasClass(e.target.parentElement,"p-dialog-header-icon")||this.draggable&&(this.dragging=!0,this.lastPageX=e.pageX,this.lastPageY=e.pageY,this.container.style.margin="0",K.addClass(document.body,"p-unselectable-text"))}onKeydown(e){if(this.focusTrap&&9===e.which){e.preventDefault();let i=K.getFocusableElements(this.container);if(i&&i.length>0)if(i[0].ownerDocument.activeElement){let r=i.indexOf(i[0].ownerDocument.activeElement);e.shiftKey?-1==r||0===r?i[i.length-1].focus():i[r-1].focus():-1==r||r===i.length-1?i[0].focus():i[r+1].focus()}else i[0].focus()}}onDrag(e){if(this.dragging){let i=K.getOuterWidth(this.container),r=K.getOuterHeight(this.container),o=e.pageX-this.lastPageX,s=e.pageY-this.lastPageY,a=this.container.getBoundingClientRect(),l=a.left+o,c=a.top+s,u=K.getViewport();this.container.style.position="fixed",this.keepInViewport?(l>=this.minX&&l+i=this.minY&&c+rparseInt(u))&&f.left+lparseInt(d))&&f.top+c{this.documentDragListener=this.onDrag.bind(this),window.document.addEventListener("mousemove",this.documentDragListener)})}unbindDocumentDragListener(){this.documentDragListener&&(window.document.removeEventListener("mousemove",this.documentDragListener),this.documentDragListener=null)}bindDocumentDragEndListener(){this.zone.runOutsideAngular(()=>{this.documentDragEndListener=this.endDrag.bind(this),window.document.addEventListener("mouseup",this.documentDragEndListener)})}unbindDocumentDragEndListener(){this.documentDragEndListener&&(window.document.removeEventListener("mouseup",this.documentDragEndListener),this.documentDragEndListener=null)}bindDocumentResizeListeners(){this.zone.runOutsideAngular(()=>{this.documentResizeListener=this.onResize.bind(this),this.documentResizeEndListener=this.resizeEnd.bind(this),window.document.addEventListener("mousemove",this.documentResizeListener),window.document.addEventListener("mouseup",this.documentResizeEndListener)})}unbindDocumentResizeListeners(){this.documentResizeListener&&this.documentResizeEndListener&&(window.document.removeEventListener("mousemove",this.documentResizeListener),window.document.removeEventListener("mouseup",this.documentResizeEndListener),this.documentResizeListener=null,this.documentResizeEndListener=null)}bindDocumentEscapeListener(){this.documentEscapeListener=this.renderer.listen(this.el?this.el.nativeElement.ownerDocument:"document","keydown",i=>{27==i.which&&this.close(i)})}unbindDocumentEscapeListener(){this.documentEscapeListener&&(this.documentEscapeListener(),this.documentEscapeListener=null)}appendContainer(){this.appendTo&&("body"===this.appendTo?document.body.appendChild(this.wrapper):K.appendChild(this.wrapper,this.appendTo))}restoreAppend(){this.container&&this.appendTo&&this.el.nativeElement.appendChild(this.wrapper)}onAnimationStart(e){switch(e.toState){case"visible":this.container=e.element,this.wrapper=this.container.parentElement,this.appendContainer(),this.moveOnTop(),this.bindGlobalListeners(),this.container.setAttribute(this.id,""),this.modal&&this.enableModality(),!this.modal&&this.blockScroll&&K.addClass(document.body,"p-overflow-hidden"),this.focusOnShow&&this.focus();break;case"void":this.wrapper&&this.modal&&K.addClass(this.wrapper,"p-component-overlay-leave")}}onAnimationEnd(e){switch(e.toState){case"void":this.onContainerDestroy(),this.onHide.emit({}),this.cd.markForCheck();break;case"visible":this.onShow.emit({})}}onContainerDestroy(){this.unbindGlobalListeners(),this.dragging=!1,this.maskVisible=!1,this.maximized&&(K.removeClass(document.body,"p-overflow-hidden"),this.maximized=!1),this.modal&&this.disableModality(),this.blockScroll&&K.removeClass(document.body,"p-overflow-hidden"),this.container&&this.autoZIndex&&tE.clear(this.container),this.container=null,this.wrapper=null,this._style=this.originalStyle?{...this.originalStyle}:{}}destroyStyle(){this.styleElement&&(document.head.removeChild(this.styleElement),this.styleElement=null)}ngOnDestroy(){this.container&&(this.restoreAppend(),this.onContainerDestroy()),this.destroyStyle()}}return n.\u0275fac=function(e){return new(e||n)(b(ut),b(ei),b(Ie),b(Li),b(QD))},n.\u0275cmp=gt({type:n,selectors:[["p-dialog"]],contentQueries:function(e,i,r){if(1&e&&(Ao(r,NF,5),Ao(r,RF,5),Ao(r,YD,4)),2&e){let o;on(o=sn())&&(i.headerFacet=o.first),on(o=sn())&&(i.footerFacet=o.first),on(o=sn())&&(i.templates=o)}},viewQuery:function(e,i){if(1&e&&(Fi(qF,5),Fi(KF,5),Fi(QF,5)),2&e){let r;on(r=sn())&&(i.headerViewChild=r.first),on(r=sn())&&(i.contentViewChild=r.first),on(r=sn())&&(i.footerViewChild=r.first)}},hostAttrs:[1,"p-element"],inputs:{header:"header",draggable:"draggable",resizable:"resizable",positionLeft:"positionLeft",positionTop:"positionTop",contentStyle:"contentStyle",contentStyleClass:"contentStyleClass",modal:"modal",closeOnEscape:"closeOnEscape",dismissableMask:"dismissableMask",rtl:"rtl",closable:"closable",responsive:"responsive",appendTo:"appendTo",breakpoints:"breakpoints",styleClass:"styleClass",maskStyleClass:"maskStyleClass",showHeader:"showHeader",breakpoint:"breakpoint",blockScroll:"blockScroll",autoZIndex:"autoZIndex",baseZIndex:"baseZIndex",minX:"minX",minY:"minY",focusOnShow:"focusOnShow",maximizable:"maximizable",keepInViewport:"keepInViewport",focusTrap:"focusTrap",transitionOptions:"transitionOptions",closeIcon:"closeIcon",closeAriaLabel:"closeAriaLabel",closeTabindex:"closeTabindex",minimizeIcon:"minimizeIcon",maximizeIcon:"maximizeIcon",visible:"visible",style:"style",position:"position"},outputs:{onShow:"onShow",onHide:"onHide",visibleChange:"visibleChange",onResizeInit:"onResizeInit",onResizeEnd:"onResizeEnd",onDragEnd:"onDragEnd",onMaximize:"onMaximize"},ngContentSelectors:mL,decls:1,vars:1,consts:[[3,"class","ngClass",4,"ngIf"],[3,"ngClass"],["pFocusTrap","","role","dialog",3,"ngClass","ngStyle","class","pFocusTrapDisabled",4,"ngIf"],["pFocusTrap","","role","dialog",3,"ngClass","ngStyle","pFocusTrapDisabled"],["container",""],["class","p-resizable-handle","style","z-index: 90;",3,"mousedown",4,"ngIf"],["class","p-dialog-header",3,"mousedown",4,"ngIf"],[3,"ngClass","ngStyle"],["content",""],[4,"ngTemplateOutlet"],["class","p-dialog-footer",4,"ngIf"],[1,"p-resizable-handle",2,"z-index","90",3,"mousedown"],[1,"p-dialog-header",3,"mousedown"],["titlebar",""],["class","p-dialog-title",4,"ngIf"],[1,"p-dialog-header-icons"],["type","button","tabindex","-1","pRipple","",3,"ngClass","click","keydown.enter",4,"ngIf"],["type","button","pRipple","",3,"ngClass","click","keydown.enter",4,"ngIf"],[1,"p-dialog-title"],["type","button","tabindex","-1","pRipple","",3,"ngClass","click","keydown.enter"],[1,"p-dialog-header-maximize-icon",3,"ngClass"],["type","button","pRipple","",3,"ngClass","click","keydown.enter"],[1,"p-dialog-header-close-icon",3,"ngClass"],[1,"p-dialog-footer"],["footer",""]],template:function(e,i){1&e&&(Ai(pL),ae(0,hL,2,15,"div",0)),2&e&&I("ngIf",i.maskVisible)},dependencies:[Fr,Lr,gd,Pa,$F,ZD],styles:[".p-dialog-mask{position:fixed;top:0;left:0;width:100%;height:100%;display:flex;justify-content:center;align-items:center;pointer-events:none}.p-dialog-mask.p-component-overlay{pointer-events:auto}.p-dialog{display:flex;flex-direction:column;pointer-events:auto;max-height:90%;transform:scale(1);position:relative}.p-dialog-content{overflow-y:auto;flex-grow:1}.p-dialog-header{display:flex;align-items:center;justify-content:space-between;flex-shrink:0}.p-dialog-draggable .p-dialog-header{cursor:move}.p-dialog-footer{flex-shrink:0}.p-dialog .p-dialog-header-icons{display:flex;align-items:center}.p-dialog .p-dialog-header-icon{display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative}.p-fluid .p-dialog-footer .p-button{width:auto}.p-dialog-top .p-dialog,.p-dialog-bottom .p-dialog,.p-dialog-left .p-dialog,.p-dialog-right .p-dialog,.p-dialog-top-left .p-dialog,.p-dialog-top-right .p-dialog,.p-dialog-bottom-left .p-dialog,.p-dialog-bottom-right .p-dialog{margin:.75rem;transform:translateZ(0)}.p-dialog-maximized{transition:none;transform:none;width:100vw!important;height:100vh!important;top:0!important;left:0!important;max-height:100%;height:100%}.p-dialog-maximized .p-dialog-content{flex-grow:1}.p-dialog-left{justify-content:flex-start}.p-dialog-right{justify-content:flex-end}.p-dialog-top{align-items:flex-start}.p-dialog-top-left{justify-content:flex-start;align-items:flex-start}.p-dialog-top-right{justify-content:flex-end;align-items:flex-start}.p-dialog-bottom{align-items:flex-end}.p-dialog-bottom-left{justify-content:flex-start;align-items:flex-end}.p-dialog-bottom-right{justify-content:flex-end;align-items:flex-end}.p-dialog .p-resizable-handle{position:absolute;font-size:.1px;display:block;cursor:se-resize;width:12px;height:12px;right:1px;bottom:1px}.p-confirm-dialog .p-dialog-content{display:flex;align-items:center}\n"],encapsulation:2,data:{animation:[uN("animation",[zb("void => visible",[Gb(gL)]),zb("visible => void",[Gb(yL)])])]},changeDetection:0}),n})(),vL=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({imports:[Mt,zF,XD,FF]}),n})(),nE=(()=>{class n{constructor(e,i,r){this.el=e,this.ngModel=i,this.cd=r}ngAfterViewInit(){this.updateFilledState(),this.cd.detectChanges()}ngDoCheck(){this.updateFilledState()}onInput(e){this.updateFilledState()}updateFilledState(){this.filled=this.el.nativeElement.value&&this.el.nativeElement.value.length||this.ngModel&&this.ngModel.model}}return n.\u0275fac=function(e){return new(e||n)(b(ut),b(qd,8),b(Li))},n.\u0275dir=k({type:n,selectors:[["","pInputText",""]],hostAttrs:[1,"p-inputtext","p-component","p-element"],hostVars:2,hostBindings:function(e,i){1&e&&J("input",function(o){return i.onInput(o)}),2&e&&bo("p-filled",i.filled)}}),n})(),Bf=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({imports:[Mt]}),n})();class DL{constructor(t){this.total=t}call(t,e){return e.subscribe(new EL(t,this.total))}}class EL extends Se{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){++this.count>this.total&&this.destination.next(t)}}getComputedStyle(document.body).getPropertyValue("--color-palette-black-op-20"),getComputedStyle(document.body).getPropertyValue("--color-palette-black-op-30"),getComputedStyle(document.body).getPropertyValue("--color-palette-black-op-50"),getComputedStyle(document.body).getPropertyValue("--color-palette-black-op-70");let ML=(()=>{class n{constructor(){this.iconPath="./src/assets/images/icons",this.dotCMSURLKey="siteURLJWT"}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})(),es=class{constructor(t){this.iconPath=t.iconPath}displayErrorMessage(t){this.displayMessage("Error",t,"error")}displaySuccessMessage(t){this.displayMessage("Success",t,"success")}displayInfoMessage(t){this.displayMessage("Info",t,"info")}displayMessage(t,e,i){let r;return r=new Notification(i,{body:e,icon:this.iconPath+"/"+i+".png"}),r}};function aE(n,t,e,i){return rt(e)&&(i=e,e=void 0),i?aE(n,t,e).pipe(mt(r=>Kt(r)?i(...r):i(r))):new ve(r=>{lE(n,t,function o(s){r.next(arguments.length>1?Array.prototype.slice.call(arguments):s)},r,e)})}function lE(n,t,e,i,r){let o;if(function LL(n){return n&&"function"==typeof n.addEventListener&&"function"==typeof n.removeEventListener}(n)){const s=n;n.addEventListener(t,e,r),o=()=>s.removeEventListener(t,e,r)}else if(function FL(n){return n&&"function"==typeof n.on&&"function"==typeof n.off}(n)){const s=n;n.on(t,e),o=()=>s.off(t,e)}else if(function RL(n){return n&&"function"==typeof n.addListener&&"function"==typeof n.removeListener}(n)){const s=n;n.addListener(t,e),o=()=>s.removeListener(t,e)}else{if(!n||!n.length)throw new TypeError("Invalid event target");for(let s=0,a=n.length;s=0;a--)(s=n[a])&&(o=(r<3?s(o):r>3?s(t,e,o):s(t,e))||o);return r>3&&o&&Object.defineProperty(t,e,o),o}([Fs("config"),function wL(n,t){if("object"==typeof Reflect&&"function"==typeof Reflect.metadata)return Reflect.metadata(n,t)}("design:paramtypes",[ML])],es);const cE=n=>{const t=parseInt(n,0);if(t)return t;try{return JSON.parse(n)}catch{return n}};let kL=(()=>{class n{setItem(e,i){let r;r="object"==typeof i?JSON.stringify(i):i,localStorage.setItem(e,r)}getItem(e){const i=localStorage.getItem(e);return cE(i)}removeItem(e){localStorage.removeItem(e)}clear(){localStorage.clear()}listen(e){return aE(window,"storage").pipe(Ad(({key:i})=>i===e),mt(i=>cE(i.newValue)))}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=$({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),ts=(()=>{class n{constructor(e,i){this.http=e,this.dotLocalstorageService=i,this.messageMap={},this.MESSAGES_LOCALSTORAGE_KEY="dotMessagesKeys",this.BUILDATE_LOCALSTORAGE_KEY="buildDate"}init(e){if(e&&(this.dotLocalstorageService.getItem(this.BUILDATE_LOCALSTORAGE_KEY)!==e?.buildDate||e.language))this.getAll(e.language||"default"),e.buildDate&&this.dotLocalstorageService.setItem(this.BUILDATE_LOCALSTORAGE_KEY,e.buildDate);else{const i=this.dotLocalstorageService.getItem(this.MESSAGES_LOCALSTORAGE_KEY);i?this.messageMap=i:this.getAll(e?.language||"default")}}get(e,...i){return this.messageMap[e]?i.length?function PL(n,t){return n.replace(/{(\d+)}/g,(e,i)=>typeof t[i]<"u"?t[i]:e)}(this.messageMap[e],i):this.messageMap[e]:e}getAll(e){this.http.get(this.geti18nURL(e)).pipe(Pd(1),function OL(...n){const t=n.length;if(0===t)throw new Error("list of properties cannot be empty.");return e=>mt(function NL(n,t){return i=>{let r=i;for(let o=0;o{this.messageMap=i,this.dotLocalstorageService.setItem(this.MESSAGES_LOCALSTORAGE_KEY,this.messageMap)})}geti18nURL(e){return`/api/v2/languages/${e||"default"}/keys`}}return n.\u0275fac=function(e){return new(e||n)(A(kD),A(kL))},n.\u0275prov=$({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();function uE(n,t,e,i,r,o,s){try{var a=n[o](s),l=a.value}catch(c){return void e(c)}a.done?t(l):Promise.resolve(l).then(i,r)}function dE(n){return function(){var t=this,e=arguments;return new Promise(function(i,r){var o=n.apply(t,e);function s(l){uE(o,i,r,s,a,"next",l)}function a(l){uE(o,i,r,s,a,"throw",l)}s(void 0)})}}const jL={500:"500 Internal Server Error",400:"400 Bad Request",401:"401 Unauthorized Error"};let El=(()=>{class n{uploadFile({file:e,maxSize:i,signal:r}){return"string"==typeof e?this.uploadFileByURL(e,r):this.uploadBinaryFile({file:e,maxSize:i,signal:r})}uploadFileByURL(e,i){return fetch("/api/v1/temp/byUrl",{method:"POST",signal:i,headers:{"Content-Type":"application/json",Origin:window.location.hostname},body:JSON.stringify({remoteUrl:e})}).then(function(){var o=dE(function*(s){if(200===s.status)return(yield s.json()).tempFiles[0];throw{message:(yield s.json()).message,status:s.status}});return function(s){return o.apply(this,arguments)}}()).catch(o=>{const{message:s,response:a}=o,l="string"==typeof a?JSON.parse(a):a;throw this.errorHandler(l||{message:s},o.status)})}uploadBinaryFile({file:e,maxSize:i,signal:r}){let o="/api/v1/temp";o+=i?`?maxFileLength=${i}`:"";const s=new FormData;return s.append("file",e),fetch(o,{method:"POST",signal:r,headers:{Origin:window.location.hostname},body:s}).then(function(){var a=dE(function*(l){if(200===l.status)return(yield l.json()).tempFiles[0];throw{message:(yield l.json()).message,status:l.status}});return function(l){return a.apply(this,arguments)}}()).catch(a=>{throw this.errorHandler(JSON.parse(a.response),a.status)})}errorHandler(e,i){let r="";try{r=e.message||e.errors[0].message}catch{r=jL[i||500]}return{message:r,status:500|i}}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=$({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),VL=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({imports:[Mt]}),n})();const BL=["*"];let HL=(()=>{class n{constructor(){this.fileDropped=new Y,this.fileDragEnter=new Y,this.fileDragOver=new Y,this.fileDragLeave=new Y,this._accept=[],this._validity={fileTypeMismatch:!1,maxFileSizeExceeded:!1,multipleFilesDropped:!1,valid:!0}}set accept(e){this._accept=e?.filter(i=>"*/*"!==i).map(i=>i.toLowerCase().replace(/\*/g,""))}get validity(){return this._validity}onDrop(e){e.stopPropagation(),e.preventDefault();const{dataTransfer:i}=e,r=this.getFiles(i),o=1===r?.length?r[0]:null;0!==r.length&&(this.setValidity(r),i.items?.clear(),i.clearData(),this.fileDropped.emit({file:o,validity:this._validity}))}onDragEnter(e){e.stopPropagation(),e.preventDefault(),this.fileDragEnter.emit(!0)}onDragOver(e){e.stopPropagation(),e.preventDefault(),this.fileDragOver.emit(!0)}onDragLeave(e){e.stopPropagation(),e.preventDefault(),this.fileDragLeave.emit(!0)}typeMatch(e){if(!this._accept.length)return!0;const i=e.name.split(".").pop().toLowerCase(),r=e.type.toLowerCase();return this._accept.some(s=>r.includes(s)||s.includes(`.${i}`))}getFiles(e){const{items:i,files:r}=e;return i?Array.from(i).filter(o=>"file"===o.kind).map(o=>o.getAsFile()):Array.from(r)||[]}isFileTooLong(e){return!!this.maxFileSize&&e.size>this.maxFileSize}setValidity(e){const i=e[0],r=e.length>1,o=!this.typeMatch(i),s=this.isFileTooLong(i);this._validity={...this._validity,multipleFilesDropped:r,fileTypeMismatch:o,maxFileSizeExceeded:s,valid:!o&&!s&&!r}}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=gt({type:n,selectors:[["dot-drop-zone"]],hostBindings:function(e,i){1&e&&J("drop",function(o){return i.onDrop(o)})("dragenter",function(o){return i.onDragEnter(o)})("dragover",function(o){return i.onDragOver(o)})("dragleave",function(o){return i.onDragLeave(o)})},inputs:{maxFileSize:"maxFileSize",accept:"accept"},outputs:{fileDropped:"fileDropped",fileDragEnter:"fileDragEnter",fileDragOver:"fileDragOver",fileDragLeave:"fileDragLeave"},standalone:!0,features:[Ri],ngContentSelectors:BL,decls:1,vars:0,template:function(e,i){1&e&&(Ai(),Ln(0))},dependencies:[Mt],changeDetection:0}),n})(),Sl=(()=>{class n{constructor(e){this.dotMessageService=e}transform(e,i=[]){return e?this.dotMessageService.get(e,...i):""}}return n.\u0275fac=function(e){return new(e||n)(b(ts,16))},n.\u0275pipe=ot({name:"dm",type:n,pure:!0,standalone:!0}),n})();function Hr(n){return t=>t.lift(new YL(n))}class YL{constructor(t){this.notifier=t}call(t,e){const i=new ZL(t),r=us(this.notifier,new ls(i));return r&&!i.seenValue?(i.add(r),e.subscribe(i)):i}}class ZL extends cs{constructor(t){super(t),this.seenValue=!1}notifyNext(){this.seenValue=!0,this.complete()}notifyComplete(){}}function XL(n,t){if(1&n&&(R(0,"small",1),Vt(1),We(2,"dm"),W()),2&n){const e=j();M(1),ni(" ",et(2,1,e.errorMsg),"\n")}}const Cl={maxlength:"error.form.validator.maxlength",required:"error.form.validator.required",pattern:"error.form.validator.pattern"};let fE=(()=>{class n{constructor(e,i){this.cd=e,this.dotMessageService=i,this.errorMsg="",this.destroy$=new Tn}set message(e){this.defaultMessage=e,this.cd.markForCheck()}set field(e){e&&(this._field=e,e.statusChanges.pipe(Hr(this.destroy$)).subscribe(()=>{this.errorMsg=this.getErrors(e.errors),this.cd.detectChanges()}))}ngOnDestroy(){this.destroy$.next(!0),this.destroy$.complete()}getErrors(e){let i=[];return e&&(i=[...this.getMsgDefaultValidators(e),...this.getMsgCustomsValidators(e)]),this.defaultMessage?this.defaultMessage:i.slice(0,1)[0]}getMsgDefaultValidators(e){let i=[];return Object.entries(e).forEach(([r,o])=>{if(r in Cl){let s="";const{requiredLength:a,requiredPattern:l}=o;switch(r){case"maxlength":s=this.dotMessageService.get(Cl[r],a);break;case"pattern":s=this.dotMessageService.get(this.patternErrorMessage||Cl[r],l);break;default:s=Cl[r]}i=[...i,s]}}),i}getMsgCustomsValidators(e){let i=[];return Object.entries(e).forEach(([,r])=>{"string"==typeof r&&(i=[...i,r])}),i}}return n.\u0275fac=function(e){return new(e||n)(b(Li),b(ts))},n.\u0275cmp=gt({type:n,selectors:[["dot-field-validation-message"]],inputs:{patternErrorMessage:"patternErrorMessage",message:"message",field:"field"},standalone:!0,features:[Ri],decls:1,vars:1,consts:[["class","p-invalid","data-testId","error-msg",4,"ngIf"],["data-testId","error-msg",1,"p-invalid"]],template:function(e,i){1&e&&ae(0,XL,3,3,"small",0),2&e&&I("ngIf",i._field&&i._field.enabled&&i._field.dirty&&!i._field.valid)},dependencies:[Lr,Sl],encapsulation:2,changeDetection:0}),n})();const JL=new En(nf);class tk{constructor(t,e){this.dueTime=t,this.scheduler=e}call(t,e){return e.subscribe(new nk(t,this.dueTime,this.scheduler))}}class nk extends Se{constructor(t,e,i){super(t),this.dueTime=e,this.scheduler=i,this.debouncedSubscription=null,this.lastValue=null,this.hasValue=!1}_next(t){this.clearDebounce(),this.lastValue=t,this.hasValue=!0,this.add(this.debouncedSubscription=this.scheduler.schedule(ik,this.dueTime,this))}_complete(){this.debouncedNext(),this.destination.complete()}debouncedNext(){if(this.clearDebounce(),this.hasValue){const{lastValue:t}=this;this.lastValue=null,this.hasValue=!1,this.destination.next(t)}}clearDebounce(){const t=this.debouncedSubscription;null!==t&&(this.remove(t),t.unsubscribe(),this.debouncedSubscription=null)}}function ik(n){n.debouncedNext()}const rk=["editorRef"],ok=function(n){return{"binary-field__code-editor--disabled":n}},sk=function(n){return{"editor-mode__helper--visible":n}},ak={theme:"vs",minimap:{enabled:!1},cursorBlinking:"solid",overviewRulerBorder:!1,mouseWheelZoom:!1,lineNumbers:"on",roundedSelection:!1,automaticLayout:!0,language:"text"};let lk=(()=>{class n{constructor(){this.tempFileUploaded=new Y,this.cancel=new Y,this.cd=Yn(Li),this.dotUploadService=Yn(El),this.dotMessageService=Yn(ts),this.extension="",this.invalidFileMessage="",this.form=new Uo({name:new Wo("",[ja.required,ja.pattern(/^.+\..+$/)]),content:new Wo("")}),this.editorOptions=ak,this.mimeType=""}get name(){return this.form.get("name")}get content(){return this.form.get("content")}ngOnInit(){this.name.valueChanges.pipe(function ek(n,t=JL){return e=>e.lift(new tk(n,t))}(350)).subscribe(e=>this.setEditorLanguage(e)),this.invalidFileMessage=this.dotMessageService.get("dot.binary.field.error.type.file.not.supported.message",this.accept.join(", "))}ngAfterViewInit(){this.editor=this.editorRef.editor}onSubmit(){if(this.form.invalid)return void this.markControlInvalid(this.name);const e=new File([this.content.value],this.name.value,{type:this.mimeType});this.uploadFile(e)}markControlInvalid(e){e.markAsDirty(),e.updateValueAndValidity(),this.cd.detectChanges()}uploadFile(e){const i=yi(this.dotUploadService.uploadFile({file:e}));this.disableEditor(),i.subscribe(r=>{this.enableEditor(),this.tempFileUploaded.emit(r)})}setEditorLanguage(e=""){const i=e?.split(".").pop(),{id:r,mimetypes:o,extensions:s}=this.getLanguage(i)||{};this.mimeType=o?.[0],this.extension=s?.[0],this.isValidType()||this.name.setErrors({invalidExtension:this.invalidFileMessage}),this.updateEditorLanguage(r),this.cd.detectChanges()}getLanguage(e){return monaco.languages.getLanguages().find(i=>i.extensions?.includes(`.${e}`))}updateEditorLanguage(e="text"){this.editorOptions={...this.editorOptions,language:e}}disableEditor(){this.form.disable(),this.editor.updateOptions({readOnly:!0})}enableEditor(){this.form.enable(),this.editor.updateOptions({readOnly:!1})}isValidType(){return 0===this.accept?.length||this.accept?.includes(this.extension)||this.accept?.includes(this.mimeType)}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=gt({type:n,selectors:[["dot-dot-binary-field-editor"]],viewQuery:function(e,i){if(1&e&&Fi(rk,7),2&e){let r;on(r=sn())&&(i.editorRef=r.first)}},inputs:{accept:"accept"},outputs:{tempFileUploaded:"tempFileUploaded",cancel:"cancel"},standalone:!0,features:[Ri],decls:20,vars:17,consts:[[1,"editor-mode__form",3,"formGroup","ngSubmit"],[1,"editor-mode__input-container"],["for","file-name",1,"editor-mode__label"],[1,"editor-mode__label-text"],["id","file-name","type","text","pInputText","","formControlName","name","autocomplete","off","pInputText","","placeholder","Ex. template.html"],[1,"error-message"],["data-testId","error-message",3,"patternErrorMessage","field"],[1,"binary-field__editor-container"],["formControlName","content","data-testId","code-editor",1,"binary-field__code-editor",3,"ngClass","options"],["editorRef",""],[1,"editor-mode__helper",3,"ngClass"],[1,"pi","pi-info-circle"],[1,"editor-mode__actions"],["styleClass","p-button-outlined","type","button","aria-label","Cancel button","data-testId","cancel-button",3,"label","click"],["type","submit","aria-label","Import button","data-testId","import-button",3,"label"]],template:function(e,i){1&e&&(R(0,"form",0),J("ngSubmit",function(){return i.onSubmit()}),R(1,"div",1)(2,"label",2)(3,"span",3),Vt(4,"File Name"),W()(),Oe(5,"input",4),R(6,"div",5),Oe(7,"dot-field-validation-message",6),W()(),R(8,"div",7),Oe(9,"ngx-monaco-editor",8,9),R(11,"div",10),Oe(12,"i",11),R(13,"small"),Vt(14),W()()(),R(15,"div",12)(16,"p-button",13),J("click",function(){return i.cancel.emit()}),We(17,"dm"),W(),Oe(18,"p-button",14),We(19,"dm"),W()()),2&e&&(I("formGroup",i.form),M(7),I("patternErrorMessage","dot.binary.field.error.type.file.not.extension")("field",i.form.get("name")),M(2),I("ngClass",Or(13,ok,i.form.disabled))("options",i.editorOptions),M(2),I("ngClass",Or(15,sk,i.mimeType)),M(3),ni("Mime Type: ",i.mimeType,""),M(2),I("label",et(17,9,"dot.common.cancel")),M(2),I("label",et(19,11,"dot.common.save")))},dependencies:[Mt,Fr,tf,kO,kb,Kd,Vo,Fd,Ld,jb,Go,Qa,Bf,nE,Vf,jf,Sl,fE],styles:[".binary-field__editor-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:flex-start;flex-direction:column;flex:1;width:100%;gap:.5rem}.binary-field__code-editor[_ngcontent-%COMP%]{border:1px solid #d1d4db;display:block;flex-grow:1;width:100%;min-height:20rem;border-radius:.375rem;overflow:auto}.binary-field__code-editor--disabled[_ngcontent-%COMP%]{background-color:#f3f3f4;opacity:.5}.binary-field__code-editor--disabled[_ngcontent-%COMP%] .monaco-mouse-cursor-text, .binary-field__code-editor--disabled[_ngcontent-%COMP%] .overflow-guard{cursor:not-allowed}.editor-mode__form[_ngcontent-%COMP%]{height:100%;display:flex;flex-direction:column;justify-content:center;align-items:flex-start}.editor-mode__input-container[_ngcontent-%COMP%]{width:100%;display:flex;gap:.5rem;flex-direction:column}.editor-mode__input[_ngcontent-%COMP%]{width:100%;display:flex;flex-direction:column}.editor-mode__actions[_ngcontent-%COMP%]{width:100%;display:flex;gap:.5rem;align-items:center;justify-content:flex-end}.editor-mode__helper[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:center;gap:.5rem;color:#6c7389;font-weight:.813rem;visibility:hidden}.editor-mode__helper--visible[_ngcontent-%COMP%]{visibility:visible}.error-message[_ngcontent-%COMP%]{min-height:1.5rem;justify-content:flex-start;display:flex}"],changeDetection:0}),n})();const ck=["*"];let uk=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=gt({type:n,selectors:[["dot-binary-field-ui-message"]],inputs:{message:"message",icon:"icon",severity:"severity"},standalone:!0,features:[Ri],ngContentSelectors:ck,decls:5,vars:3,consts:[["data-testId","ui-message-icon-container",1,"icon-container",3,"ngClass"],["data-testId","ui-message-icon",2,"font-size","2rem","width","auto",3,"ngClass"],[1,"text"],["data-testId","ui-message-span",3,"innerHTML"]],template:function(e,i){1&e&&(Ai(),R(0,"div",0),Oe(1,"i",1),W(),R(2,"div",2),Oe(3,"span",3),Ln(4),W()),2&e&&(I("ngClass",i.severity),M(1),I("ngClass",i.icon),M(2),I("innerHTML",i.message,Zp))},dependencies:[Mt,Fr],styles:["[_nghost-%COMP%]{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1rem;height:100%;padding:1rem}.icon-container[_ngcontent-%COMP%]{border-radius:50%;padding:1rem}.icon-container.info[_ngcontent-%COMP%]{color:var(--color-palette-secondary-500);background:var(--color-palette-secondary-200)}.icon-container.error[_ngcontent-%COMP%]{color:#ffb444;background:#fff8ec}.text[_ngcontent-%COMP%]{text-align:center;line-height:140%}"],changeDetection:0}),n})();function di(){}function Ur(n,t,e){return function(r){return r.lift(new dk(n,t,e))}}class dk{constructor(t,e,i){this.nextOrObserver=t,this.error=e,this.complete=i}call(t,e){return e.subscribe(new fk(t,this.nextOrObserver,this.error,this.complete))}}class fk extends Se{constructor(t,e,i,r){super(t),this._tapNext=di,this._tapError=di,this._tapComplete=di,this._tapError=i||di,this._tapComplete=r||di,rt(e)?(this._context=this,this._tapNext=e):e&&(this._context=e,this._tapNext=e.next||di,this._tapError=e.error||di,this._tapComplete=e.complete||di)}_next(t){try{this._tapNext.call(this._context,t)}catch(e){return void this.destination.error(e)}this.destination.next(t)}_error(t){try{this._tapError.call(this._context,t)}catch(e){return void this.destination.error(e)}this.destination.error(t)}_complete(){try{this._tapComplete.call(this._context)}catch(t){return void this.destination.error(t)}return this.destination.complete()}}let hk=1;const pk=Promise.resolve(),wl={};function hE(n){return n in wl&&(delete wl[n],!0)}const pE={setImmediate(n){const t=hk++;return wl[t]=!0,pk.then(()=>hE(t)&&n()),t},clearImmediate(n){hE(n)}},mE=new class gk extends En{flush(t){this.active=!0,this.scheduled=void 0;const{actions:e}=this;let i,r=-1,o=e.length;t=t||e.shift();do{if(i=t.execute(t.state,t.delay))break}while(++r0?super.requestAsyncId(t,e,i):(t.actions.push(this),t.scheduled||(t.scheduled=pE.setImmediate(t.flush.bind(t,null))))}recycleAsyncId(t,e,i=0){if(null!==i&&i>0||null===i&&this.delay>0)return super.recycleAsyncId(t,e,i);0===t.actions.length&&(pE.clearImmediate(e),t.scheduled=void 0)}});function gE(n){return!!n&&(n instanceof ve||"function"==typeof n.lift&&"function"==typeof n.subscribe)}class yE extends Se{notifyNext(t,e,i,r,o){this.destination.next(e)}notifyError(t,e){this.destination.error(t)}notifyComplete(t){this.destination.complete()}}class yk extends Se{constructor(t,e,i){super(),this.parent=t,this.outerValue=e,this.outerIndex=i,this.index=0}_next(t){this.parent.notifyNext(this.outerValue,t,this.outerIndex,this.index++,this)}_error(t){this.parent.notifyError(t,this),this.unsubscribe()}_complete(){this.parent.notifyComplete(this),this.unsubscribe()}}function _E(n,t,e,i,r=new yk(n,e,i)){if(!r.closed)return t instanceof ve?t.subscribe(r):Al(t)(r)}const vE={};class vk{constructor(t){this.resultSelector=t}call(t,e){return e.subscribe(new bk(t,this.resultSelector))}}class bk extends yE{constructor(t,e){super(t),this.resultSelector=e,this.active=0,this.values=[],this.observables=[]}_next(t){this.values.push(vE),this.observables.push(t)}_complete(){const t=this.observables,e=t.length;if(0===e)this.destination.complete();else{this.active=e,this.toRespond=e;for(let i=0;i0){const o=r.indexOf(i);-1!==o&&r.splice(o,1)}}notifyComplete(){}_next(t){if(0===this.toRespond.length){const e=[t,...this.values];this.project?this._tryProject(e):this.destination.next(e)}}_tryProject(t){let e;try{e=this.project.apply(this,t)}catch(i){return void this.destination.error(i)}this.destination.next(e)}}function bE(n){return function(e){const i=new Ck(n),r=e.lift(i);return i.caught=r}}class Ck{constructor(t){this.selector=t}call(t,e){return e.subscribe(new wk(t,this.selector,this.caught))}}class wk extends cs{constructor(t,e,i){super(t),this.selector=e,this.caught=i}error(t){if(!this.isStopped){let e;try{e=this.selector(t,this.caught)}catch(o){return void super.error(o)}this._unsubscribeAndRecycle();const i=new ls(this);this.add(i);const r=us(e,i);r!==i&&this.add(r)}}}class Tk{constructor(t,e){this.compare=t,this.keySelector=e}call(t,e){return e.subscribe(new Mk(t,this.compare,this.keySelector))}}class Mk extends Se{constructor(t,e,i){super(t),this.keySelector=i,this.hasKey=!1,"function"==typeof e&&(this.compare=e)}compare(t,e){return t===e}_next(t){let e;try{const{keySelector:r}=this;e=r?r(t):t}catch(r){return this.destination.error(r)}let i=!1;if(this.hasKey)try{const{compare:r}=this;i=r(this.key,e)}catch(r){return this.destination.error(r)}else this.hasKey=!0;i||(this.key=e,this.destination.next(t))}}const Ok=new P("@ngrx/component-store Initial State");let DE=(()=>{class n{constructor(e){this.destroySubject$=new Xa(1),this.destroy$=this.destroySubject$.asObservable(),this.stateSubject$=new Xa(1),this.isInitialized=!1,this.state$=this.select(i=>i),this.\u0275hasProvider=!1,e&&this.initState(e),this.checkProviderForHooks()}ngOnDestroy(){this.stateSubject$.complete(),this.destroySubject$.next()}updater(e){return i=>{let o,r=!0;const a=(gE(i)?i:Ya(i)).pipe(function $O(n,t=0){return function(i){return i.lift(new zO(n,t))}}(rf),Ur(()=>this.assertStateIsInitialized()),function Dk(...n){return t=>{let e;return"function"==typeof n[n.length-1]&&(e=n.pop()),t.lift(new Ek(n,e))}}(this.stateSubject$),mt(([l,c])=>e(c,l)),Ur(l=>this.stateSubject$.next(l)),bE(l=>r?(o=l,xd):Bb(()=>l)),Hr(this.destroy$)).subscribe();if(o)throw o;return r=!1,a}}initState(e){nh([e],rf).subscribe(i=>{this.isInitialized=!0,this.stateSubject$.next(i)})}setState(e){"function"!=typeof e?this.initState(e):this.updater(e)()}patchState(e){const i="function"==typeof e?e(this.get()):e;this.updater((r,o)=>({...r,...o}))(i)}get(e){let i;return this.assertStateIsInitialized(),this.stateSubject$.pipe(Pd(1)).subscribe(r=>{i=e?e(r):r}),i}select(...e){const{observablesOrSelectorsObject:i,projector:r,config:o}=function Nk(n){const t=Array.from(n);let e={debounce:!1};if(function Rk(n){return typeof n.debounce<"u"}(t[t.length-1])&&(e={...e,...t.pop()}),1===t.length&&"function"!=typeof t[0])return{observablesOrSelectorsObject:t[0],projector:void 0,config:e};const i=t.pop();return{observablesOrSelectorsObject:t,projector:i,config:e}}(e);return(function Fk(n,t){return Array.isArray(n)&&0===n.length&&t}(i,r)?this.stateSubject$:function _k(...n){let t,e;return Ml(n[n.length-1])&&(e=n.pop()),"function"==typeof n[n.length-1]&&(t=n.pop()),1===n.length&&Kt(n[0])&&(n=n[0]),Ol(n,e).lift(new vk(t))}(i)).pipe(o.debounce?function Pk(){return n=>new ve(t=>{let e,i;const r=new _e;return r.add(n.subscribe({complete:()=>{e&&t.next(i),t.complete()},error:o=>{t.error(o)},next:o=>{i=o,e||(e=mE.schedule(()=>{t.next(i),e=void 0}),r.add(e))}})),r})}():n=>n,r?mt(a=>i.length>0&&Array.isArray(a)?r(...a):r(a)):n=>n,function Ik(n,t){return e=>e.lift(new Tk(n,t))}(),function Ak(n,t,e){let i;return i=n&&"object"==typeof n?n:{bufferSize:n,windowTime:t,refCount:!1,scheduler:e},r=>r.lift(function xk({bufferSize:n=Number.POSITIVE_INFINITY,windowTime:t=Number.POSITIVE_INFINITY,refCount:e,scheduler:i}){let r,s,o=0,a=!1,l=!1;return function(u){let d;o++,!r||a?(a=!1,r=new Xa(n,t,i),d=r.subscribe(this),s=u.subscribe({next(f){r.next(f)},error(f){a=!0,r.error(f)},complete(){l=!0,s=void 0,r.complete()}}),l&&(s=void 0)):d=r.subscribe(this),this.add(()=>{o--,d.unsubscribe(),d=void 0,s&&!l&&e&&0===o&&(s.unsubscribe(),s=void 0,r=void 0)})}}(i))}({refCount:!0,bufferSize:1}),Hr(this.destroy$))}effect(e){const i=new Tn;return e(i).pipe(Hr(this.destroy$)).subscribe(),r=>(gE(r)?r:Ya(r)).pipe(Hr(this.destroy$)).subscribe(s=>{i.next(s)})}checkProviderForHooks(){mE.schedule(()=>{})}assertStateIsInitialized(){if(!this.isInitialized)throw new Error(`${this.constructor.name} has not been initialized yet. Please make sure it is initialized before updating/getting.`)}}return n.\u0275fac=function(e){return new(e||n)(A(Ok,8))},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})();function SE(n,t,e){return i=>i.pipe(Ur({next:n,complete:e}),bE(r=>(t(r),xd)))}let CE=(()=>{class n extends DE{constructor(e){super({tempFile:null,isLoading:!1,error:""}),this.dotUploadService=e,this.vm$=this.select(i=>i),this.tempFile$=this.select(({tempFile:i})=>i),this.error$=this.select(({error:i})=>i),this.setTempFile=this.updater((i,r)=>({...i,tempFile:r,isLoading:!1,error:""})),this.setIsLoading=this.updater((i,r)=>({...i,isLoading:r})),this.setError=this.updater((i,r)=>({...i,isLoading:!1,error:r})),this.uploadFileByUrl=this.effect(i=>i.pipe(Ur(()=>this.setIsLoading(!0)),Ja(({url:r,signal:o})=>this.uploadTempFile(r,o))))}setMaxFileSize(e){this._maxFileSize=e/1048576}uploadTempFile(e,i){return yi(this.dotUploadService.uploadFile({file:e,maxSize:this._maxFileSize?`${this._maxFileSize}MB`:"",signal:i})).pipe(SE(r=>this.setTempFile(r),r=>{i.aborted?this.setIsLoading(!1):this.setError(r.message)}))}}return n.\u0275fac=function(e){return new(e||n)(A(El))},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})();function Lk(n,t){if(1&n&&(Oe(0,"dot-field-validation-message",12),We(1,"dm")),2&n){const e=j(2);I("message",et(1,2,e.invalidError))("field",e.form.get("url"))}}function kk(n,t){if(1&n&&(R(0,"small",13),Vt(1),We(2,"dm"),W()),2&n){const e=j().ngIf;M(1),ni(" ",et(2,1,e.error)," ")}}function jk(n,t){1&n&&(Oe(0,"p-button",14),We(1,"dm")),2&n&&I("label",et(1,2,"dot.common.import"))("icon","pi pi-download")}function Vk(n,t){1&n&&Oe(0,"p-button",15),2&n&&I("icon","pi pi-spin pi-spinner")}const Bk=function(){return{width:"6.85rem"}};function Hk(n,t){if(1&n){const e=jt();R(0,"form",1),J("ngSubmit",function(){return pe(e),me(j().onSubmit())}),R(1,"div",2)(2,"label",3),Vt(3),We(4,"dm"),W(),R(5,"input",4),J("focus",function(){const o=pe(e).ngIf;return me(j().resetError(!!o.error))}),W(),R(6,"div",5),ae(7,Lk,2,4,"dot-field-validation-message",6),ae(8,kk,3,3,"ng-template",null,7,ju),W()(),R(10,"div",8)(11,"p-button",9),J("click",function(){return pe(e),me(j().cancelUpload())}),We(12,"dm"),W(),R(13,"div"),ae(14,jk,2,4,"p-button",10),ae(15,Vk,1,1,"ng-template",null,11,ju),W()()()}if(2&n){const e=t.ngIf,i=pu(9),r=pu(16);I("formGroup",j().form),M(3),Oi(et(4,9,"dot.binary.field.action.import.from.url")),M(4),I("ngIf",!e.error)("ngIfElse",i),M(4),I("label",et(12,11,"dot.common.cancel")),M(2),function tn(n){rn(xg,eT,n,!1)}(da(13,Bk)),M(1),I("ngIf",!e.isLoading)("ngIfElse",r)}}let Uk=(()=>{class n{constructor(e){this.store=e,this.tempFileUploaded=new Y,this.cancel=new Y,this.destroy$=new Tn,this.validators=[ja.required,ja.pattern(/^(ftp|http|https):\/\/[^ "]+$/)],this.invalidError="dot.binary.field.action.import.from.url.error.message",this.vm$=this.store.vm$.pipe(Ur(({isLoading:i})=>this.toggleForm(i))),this.tempFileChanged$=this.store.tempFile$,this.form=new Uo({url:new Wo("",this.validators)}),this.tempFileChanged$.pipe(Hr(this.destroy$)).subscribe(i=>{this.tempFileUploaded.emit(i)})}ngOnInit(){this.store.setMaxFileSize(this.maxFileSize)}ngOnDestroy(){this.destroy$.next(),this.destroy$.complete(),this.abortController?.abort()}onSubmit(){const e=this.form.get("url");if(this.form.invalid)return;const i=e.value;this.abortController=new AbortController,this.store.uploadFileByUrl({url:i,signal:this.abortController.signal}),this.form.reset({url:i})}cancelUpload(){this.abortController?.abort(),this.cancel.emit()}resetError(e){e&&this.store.setError("")}toggleForm(e){e?this.form.disable():this.form.enable()}}return n.\u0275fac=function(e){return new(e||n)(b(CE))},n.\u0275cmp=gt({type:n,selectors:[["dot-dot-binary-field-url-mode"]],inputs:{maxFileSize:"maxFileSize",accept:"accept"},outputs:{tempFileUploaded:"tempFileUploaded",cancel:"cancel"},standalone:!0,features:[de([CE]),Ri],decls:2,vars:3,consts:[["class","url-mode__form","data-testId","form",3,"formGroup","ngSubmit",4,"ngIf"],["data-testId","form",1,"url-mode__form",3,"formGroup","ngSubmit"],[1,"url-mode__input-container"],["for","url-input"],["id","url-input","type","text","autocomplete","off","formControlName","url","pInputText","","placeholder","https://www.dotcms.com/image.png","aria-label","URL input field","data-testId","url-input",3,"focus"],[1,"error-messsage__container"],["data-testId","error-message",3,"message","field",4,"ngIf","ngIfElse"],["serverError",""],[1,"url-mode__actions"],["styleClass","p-button-outlined","type","button","aria-label","Cancel button","data-testId","cancel-button",3,"label","click"],["type","submit","aria-label","Import button","data-testId","import-button",3,"label","icon",4,"ngIf","ngIfElse"],["loadingButton",""],["data-testId","error-message",3,"message","field"],["data-testId","error-msg",1,"p-invalid"],["type","submit","aria-label","Import button","data-testId","import-button",3,"label","icon"],["type","button","aria-label","Loading button","data-testId","loading-button",3,"icon"]],template:function(e,i){1&e&&(ae(0,Hk,17,14,"form",0),We(1,"async")),2&e&&I("ngIf",et(1,1,i.vm$))},dependencies:[Mt,Lr,yd,kb,Kd,Vo,Fd,Ld,jb,Go,Qa,Vf,jf,Bf,nE,Sl,fE],styles:["[_nghost-%COMP%] {display:block;width:32rem}[_nghost-%COMP%] .p-button{width:100%}[_nghost-%COMP%] .error-messsage__container{min-height:1.5rem}.url-mode__form[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem;justify-content:center;align-items:flex-start}.url-mode__input-container[_ngcontent-%COMP%]{width:100%;display:flex;gap:.5rem;flex-direction:column}.url-mode__actions[_ngcontent-%COMP%]{width:100%;display:flex;gap:.5rem;align-items:center;justify-content:flex-end}"],changeDetection:0}),n})();var fi=(()=>(function(n){n.DEFAULT="DEFAULT",n.SERVER_ERROR="SERVER_ERROR",n.FILE_TYPE_MISMATCH="FILE_TYPE_MISMATCH",n.MAX_FILE_SIZE_EXCEEDED="MAX_FILE_SIZE_EXCEEDED"}(fi||(fi={})),fi))();const $k={DEFAULT:{message:"dot.binary.field.drag.and.drop.message",severity:"info",icon:"pi pi-upload"},SERVER_ERROR:{message:"dot.binary.field.drag.and.drop.error.server.error.message",severity:"error",icon:"pi pi-exclamation-triangle"},FILE_TYPE_MISMATCH:{message:"dot.binary.field.drag.and.drop.error.file.not.supported.message",severity:"error",icon:"pi pi-exclamation-triangle"},MAX_FILE_SIZE_EXCEEDED:{message:"dot.binary.field.drag.and.drop.error.file.maxsize.exceeded.message",severity:"error",icon:"pi pi-exclamation-triangle"}},ns=(n,...t)=>{const{message:e,severity:i,icon:r}=$k[n];return{message:e,severity:i,icon:r,args:t}};var hi=(()=>(function(n){n.DROPZONE="DROPZONE",n.URL="URL",n.EDITOR="EDITOR"}(hi||(hi={})),hi))(),dn=(()=>(function(n){n.INIT="INIT",n.UPLOADING="UPLOADING",n.PREVIEW="PREVIEW",n.ERROR="ERROR"}(dn||(dn={})),dn))();let wE=(()=>{class n extends DE{constructor(e){super(),this.dotUploadService=e,this.vm$=this.select(i=>({...i,isLoading:i.status===dn.UPLOADING})),this.file$=this.select(i=>i.file),this.tempFile$=this.select(i=>i.tempFile),this.mode$=this.select(i=>i.mode),this.setFile=this.updater((i,r)=>({...i,file:r})),this.setDropZoneActive=this.updater((i,r)=>({...i,dropZoneActive:r})),this.setTempFile=this.updater((i,r)=>({...i,status:dn.PREVIEW,tempFile:r})),this.setUiMessage=this.updater((i,r)=>({...i,UiMessage:r})),this.setMode=this.updater((i,r)=>({...i,mode:r})),this.setStatus=this.updater((i,r)=>({...i,status:r})),this.setUploading=this.updater(i=>({...i,dropZoneActive:!1,uiMessage:ns(fi.DEFAULT),status:dn.UPLOADING})),this.setError=this.updater((i,r)=>({...i,UiMessage:r,status:dn.ERROR,tempFile:null})),this.invalidFile=this.updater((i,r)=>({...i,dropZoneActive:!1,UiMessage:r,status:dn.ERROR})),this.removeFile=this.updater(i=>({...i,file:null,tempFile:null,status:dn.INIT})),this.handleUploadFile=this.effect(i=>i.pipe(Ur(()=>this.setUploading()),Ja(r=>this.uploadTempFile(r)))),this.handleCreateFile=this.effect(i=>i.pipe())}setMaxFileSize(e){this._maxFileSizeInMB=e/1048576}uploadTempFile(e){return yi(this.dotUploadService.uploadFile({file:e,maxSize:this._maxFileSizeInMB?`${this._maxFileSizeInMB}MB`:"",signal:null})).pipe(SE(i=>this.setTempFile(i),()=>this.setError(ns(fi.SERVER_ERROR))))}}return n.\u0275fac=function(e){return new(e||n)(A(El))},n.\u0275prov=$({token:n,factory:n.\u0275fac}),n})();const zk=function(n,t,e){return{"border-width":n,width:t,height:e}};let Wk=(()=>{class n{constructor(){this.borderSize="",this.size=""}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=gt({type:n,selectors:[["dot-spinner"]],inputs:{borderSize:"borderSize",size:"size"},decls:1,vars:5,consts:[[3,"ngStyle"]],template:function(e,i){1&e&&Oe(0,"div",0),2&e&&I("ngStyle",Ly(1,zk,i.borderSize,i.size,i.size))},dependencies:[Pa],styles:["div[_ngcontent-%COMP%]{border-radius:50%;width:2.5rem;height:2.5rem;display:inline-block;vertical-align:middle;font-size:10px;position:relative;text-indent:-9999em;border:.5rem solid var(--color-palette-primary-op-20);border-left-color:var(--color-palette-primary-500);transform:translateZ(0);animation:_ngcontent-%COMP%_load8 1.1s infinite linear;overflow:hidden}.edit-page-variant-mode [_nghost-%COMP%] div[_ngcontent-%COMP%]{border:.5rem solid var(--color-palette-white-op-20);border-left-color:var(--color-palette-white-op-90)}@keyframes _ngcontent-%COMP%_load8{0%{transform:rotate(0)}to{transform:rotate(360deg)}}"]}),n})();const Gk=["inputFile"],qk=function(n){return{"binary-field__drop-zone--active":n}};function Kk(n,t){if(1&n){const e=jt();R(0,"div",10)(1,"div",11)(2,"dot-drop-zone",12),J("fileDragOver",function(){return pe(e),me(j(2).setDropZoneActiveState(!0))})("fileDragLeave",function(){return pe(e),me(j(2).setDropZoneActiveState(!1))})("fileDropped",function(r){return pe(e),me(j(2).handleFileDrop(r))}),R(3,"dot-binary-field-ui-message",13),We(4,"dm"),R(5,"button",14),J("click",function(){return pe(e),me(j(2).openFilePicker())}),Vt(6),We(7,"dm"),W()()(),R(8,"input",15,16),J("change",function(r){return pe(e),me(j(2).handleFileSelection(r))}),W()(),R(10,"div",17)(11,"p-button",18),J("click",function(){pe(e);const r=j(2);return me(r.openDialog(r.BINARY_FIELD_MODE.URL))}),We(12,"dm"),W(),R(13,"p-button",19),J("click",function(){pe(e);const r=j(2);return me(r.openDialog(r.BINARY_FIELD_MODE.EDITOR))}),We(14,"dm"),W()()()}if(2&n){const e=j().ngIf,i=j();M(1),I("ngClass",Or(19,qk,e.dropZoneActive)),M(1),I("accept",i.accept)("maxFileSize",i.maxFileSize),M(1),I("message",function zy(n,t,e,i){const r=n+22,o=v(),s=Xi(o,r);return Mo(o,r)?By(o,lt(),t,s.transform,e,i,s):s.transform(e,i)}(4,10,e.UiMessage.message,e.UiMessage.args))("icon",e.UiMessage.icon)("severity",e.UiMessage.severity),M(3),ni(" ",et(7,13,"dot.binary.field.action.choose.file")," "),M(2),I("accept",i.accept.join(",")),M(3),I("label",et(12,15,"dot.binary.field.action.import.from.url")),M(2),I("label",et(14,17,"dot.binary.field.action.create.new.file"))}}function Qk(n,t){1&n&&Oe(0,"dot-spinner",20)}function Yk(n,t){if(1&n){const e=jt();R(0,"div",21)(1,"span"),Vt(2),W(),Oe(3,"br"),R(4,"p-button",22),J("click",function(){return pe(e),me(j(2).removeFile())}),We(5,"dm"),W()()}if(2&n){const e=j().ngIf;M(2),ni(" ",e.tempFile.fileName," "),M(2),I("label",et(5,2,"dot.binary.field.action.remove"))}}function Zk(n,t){if(1&n){const e=jt();wr(0,23),R(1,"dot-dot-binary-field-url-mode",24),J("tempFileUploaded",function(r){return pe(e),me(j(2).setTempFile(r))})("cancel",function(){return pe(e),me(j(2).closeDialog())}),W(),Ir()}if(2&n){const e=j(2);M(1),I("accept",e.accept)("maxFileSize",e.maxFileSize)}}function Xk(n,t){if(1&n){const e=jt();wr(0,25),R(1,"dot-dot-binary-field-editor",26),J("tempFileUploaded",function(r){return pe(e),me(j(2).setTempFile(r))})("cancel",function(){return pe(e),me(j(2).closeDialog())}),W(),Ir()}if(2&n){const e=j(2);M(1),I("accept",e.accept)}}const Jk=function(n){return{"binary-field__container--uploading":n}};function e2(n,t){if(1&n){const e=jt();R(0,"div",2),ae(1,Kk,15,21,"div",3),ae(2,Qk,1,0,"dot-spinner",4),ae(3,Yk,6,4,"div",5),R(4,"p-dialog",6),J("visibleChange",function(r){return pe(e),me(j().dialogOpen=r)})("onHide",function(){return pe(e),me(j().afterDialogClose())}),We(5,"dm"),wr(6,7),ae(7,Zk,2,2,"ng-container",8),ae(8,Xk,2,1,"ng-container",9),Ir(),W()()}if(2&n){const e=t.ngIf,i=j();I("ngClass",Or(16,Jk,e.status===i.BINARY_FIELD_STATUS.UPLOADING)),M(1),I("ngIf",e.status===i.BINARY_FIELD_STATUS.INIT||e.status===i.BINARY_FIELD_STATUS.ERROR),M(1),I("ngIf",e.status===i.BINARY_FIELD_STATUS.UPLOADING),M(1),I("ngIf",e.status===i.BINARY_FIELD_STATUS.PREVIEW),M(1),I("visible",i.dialogOpen)("modal",!0)("header",et(5,14,i.dialogHeaderMap[e.mode]))("draggable",!1)("resizable",!1)("closeOnEscape",!1)("styleClass",i.isEditorMode(e.mode)?"screen-cover":""),M(2),I("ngSwitch",e.mode),M(1),I("ngSwitchCase",i.BINARY_FIELD_MODE.URL),M(1),I("ngSwitchCase",i.BINARY_FIELD_MODE.EDITOR)}}function t2(n,t){if(1&n&&(R(0,"div",27),Oe(1,"i",28),R(2,"span",29),Vt(3),W()()),2&n){const e=j();M(3),Oi(e.helperText)}}const n2={file:null,tempFile:null,mode:hi.DROPZONE,status:dn.INIT,dropZoneActive:!1,UiMessage:ns(fi.DEFAULT)};let IE=(()=>{class n{constructor(e,i){this.dotBinaryFieldStore=e,this.dotMessageService=i,this.accept=[],this.tempFile=new Y,this.dialogHeaderMap={[hi.URL]:"dot.binary.field.dialog.import.from.url.header",[hi.EDITOR]:"dot.binary.field.dialog.create.new.file.header"},this.BINARY_FIELD_STATUS=dn,this.BINARY_FIELD_MODE=hi,this.vm$=this.dotBinaryFieldStore.vm$,this.dialogOpen=!1,this.dotBinaryFieldStore.setState(n2),this.dotMessageService.init()}ngOnInit(){this.dotBinaryFieldStore.tempFile$.pipe(function bL(n){return t=>t.lift(new DL(n))}(1)).subscribe(e=>{this.tempFile.emit(e)}),this.dotBinaryFieldStore.setMaxFileSize(this.maxFileSize)}setDropZoneActiveState(e){this.dotBinaryFieldStore.setDropZoneActive(e)}handleFileDrop({validity:e,file:i}){if(e.valid)this.dotBinaryFieldStore.handleUploadFile(i);else{const r=this.handleFileDropError(e);this.dotBinaryFieldStore.invalidFile(r)}}openDialog(e){this.dialogOpen=!0,this.dotBinaryFieldStore.setMode(e)}closeDialog(){this.dialogOpen=!1}afterDialogClose(){this.dotBinaryFieldStore.setMode(null)}openFilePicker(){this.inputFile.nativeElement.click()}handleFileSelection(e){this.dotBinaryFieldStore.handleUploadFile(e.target.files[0])}removeFile(){this.dotBinaryFieldStore.removeFile()}setTempFile(e){this.dotBinaryFieldStore.setTempFile(e),this.dialogOpen=!1}isEditorMode(e){return e===hi.EDITOR}handleFileDropError({fileTypeMismatch:e,maxFileSizeExceeded:i}){const r=this.accept.join(", "),o=`${this.maxFileSize} bytes`;let s;return e?s=ns(fi.FILE_TYPE_MISMATCH,r):i&&(s=ns(fi.MAX_FILE_SIZE_EXCEEDED,o)),s}}return n.\u0275fac=function(e){return new(e||n)(b(wE),b(ts))},n.\u0275cmp=gt({type:n,selectors:[["dot-binary-field"]],viewQuery:function(e,i){if(1&e&&Fi(Gk,5),2&e){let r;on(r=sn())&&(i.inputFile=r.first)}},inputs:{accept:"accept",maxFileSize:"maxFileSize",helperText:"helperText",contentlet:"contentlet"},outputs:{tempFile:"tempFile"},standalone:!0,features:[de([wE]),Ri],decls:3,vars:4,consts:[["class","binary-field__container",3,"ngClass",4,"ngIf"],["class","binary-field__helper",4,"ngIf"],[1,"binary-field__container",3,"ngClass"],["class","binary-field__drop-zone-container","data-testId","binary-field__drop-zone-container",4,"ngIf"],["data-testId","loading",4,"ngIf"],["data-testId","preview",4,"ngIf"],[3,"visible","modal","header","draggable","resizable","closeOnEscape","styleClass","visibleChange","onHide"],[3,"ngSwitch"],["data-testId","url",4,"ngSwitchCase"],["data-testId","editor",4,"ngSwitchCase"],["data-testId","binary-field__drop-zone-container",1,"binary-field__drop-zone-container"],[1,"binary-field__drop-zone",3,"ngClass"],["data-testId","dropzone",3,"accept","maxFileSize","fileDragOver","fileDragLeave","fileDropped"],[3,"message","icon","severity"],["data-testId","choose-file-btn",1,"binary-field__drop-zone-btn",3,"click"],["type","file","data-testId","binary-field__file-input",1,"binary-field__input",3,"accept","change"],["inputFile",""],[1,"binary-field__actions"],["data-testId","action-url-btn","styleClass","p-button-link","icon","pi pi-link",3,"label","click"],["data-testId","action-editor-btn","styleClass","p-button-link","icon","pi pi-code",3,"label","click"],["data-testId","loading"],["data-testId","preview"],["data-testId","action-remove-btn","icon","pi pi-trash",1,"p-button-outlined",3,"label","click"],["data-testId","url"],["data-testId","url-mode",3,"accept","maxFileSize","tempFileUploaded","cancel"],["data-testId","editor"],["data-testId","editor-mode",3,"accept","tempFileUploaded","cancel"],[1,"binary-field__helper"],[1,"pi","pi-info-circle","binary-field__helper-icon"],["data-testId","helper-text"]],template:function(e,i){1&e&&(ae(0,e2,9,18,"div",0),We(1,"async"),ae(2,t2,4,1,"div",1)),2&e&&(I("ngIf",et(1,2,i.vm$)),M(2),I("ngIf",i.helperText))},dependencies:[Mt,Fr,Lr,xa,sv,yd,Vf,jf,vL,_L,HL,tf,Sl,uk,VL,Wk,OF,lk,Bf,Uk],styles:[".screen-cover{width:90vw;height:90vh;min-width:40rem;min-height:40rem}.binary-field__container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;width:100%;gap:1rem;border-radius:.375rem;border:1.5px solid #ebecef;padding:.5rem;margin-bottom:.5rem;height:10rem}.binary-field__container--uploading[_ngcontent-%COMP%]{border:1.5px dashed #ebecef}.binary-field__helper-icon[_ngcontent-%COMP%]{color:#8d92a5}.binary-field__helper[_ngcontent-%COMP%]{display:flex;justify-content:flex-start;align-items:center;gap:.5rem;color:#6c7389;font-weight:.813rem}.binary-field__actions[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:1rem;justify-content:center;align-items:flex-start}.binary-field__actions[_ngcontent-%COMP%] .p-button{display:inline-flex;-webkit-user-select:none;user-select:none;align-items:center;vertical-align:bottom;text-align:center}.binary-field__actions[_ngcontent-%COMP%] .p-button-link .p-button-label{color:#14151a}.binary-field__actions[_ngcontent-%COMP%] .p-button-link .p-button-icon{color:var(--color-palette-secondary-500)}.binary-field__drop-zone-container[_ngcontent-%COMP%]{display:flex;justify-content:center;align-items:center;height:100%;width:100%}.binary-field__drop-zone[_ngcontent-%COMP%]{border:1.5px dashed #afb3c0;display:flex;flex-direction:column;justify-content:center;align-items:center;border-radius:.375rem;-webkit-user-select:none;user-select:none;cursor:default;flex-grow:1;height:100%}.binary-field__drop-zone[_ngcontent-%COMP%] .binary-field__drop-zone-btn[_ngcontent-%COMP%]{border:none;background:none;color:var(--color-palette-primary-500);text-decoration:underline;font-size:1rem;font-family:Assistant,Helvetica Neue,Helvetica,Arial,Lucida Grande,sans-serif;padding:revert}.binary-field__drop-zone--active[_ngcontent-%COMP%]{border-radius:.375rem;border-color:var(--color-palette-secondary-500);background:#ffffff;box-shadow:0 0 4px #14151a0a,0 8px 16px #14151a14}.binary-field__drop-zone[_ngcontent-%COMP%] dot-drop-zone[_ngcontent-%COMP%]{height:100%;width:100%}.binary-field__input[_ngcontent-%COMP%]{display:none}.binary-field__code-editor[_ngcontent-%COMP%]{border:1px solid #afb3c0;display:block;height:25rem}p-dialog[_ngcontent-%COMP%] .p-dialog-mask.p-component-overlay{background-color:transparent;-webkit-backdrop-filter:blur(.375rem);backdrop-filter:blur(.375rem)}"],changeDetection:0}),n})();const r2=[{tag:"dotcms-binary-field",component:IE}];let o2=(()=>{class n{constructor(e){this.injector=e}ngDoBootstrap(){try{r2.forEach(({tag:e,component:i})=>{if(customElements.get(e))return;const r=function lN(n,t){const e=function tN(n,t){return t.get(ur).resolveComponentFactory(n).inputs}(n,t.injector),i=t.strategyFactory||new oN(n,t.injector),r=function eN(n){const t={};return n.forEach(({propName:e,templateName:i})=>{t[function QO(n){return n.replace(/[A-Z]/g,t=>`-${t.toLowerCase()}`)}(i)]=e}),t}(e);class o extends aN{get ngElementStrategy(){if(!this._ngElementStrategy){const a=this._ngElementStrategy=i.create(this.injector||t.injector);e.forEach(({propName:l})=>{if(!this.hasOwnProperty(l))return;const c=this[l];delete this[l],a.setInputValue(l,c)})}return this._ngElementStrategy}constructor(a){super(),this.injector=a}attributeChangedCallback(a,l,c,u){this.ngElementStrategy.setInputValue(r[a],c)}connectedCallback(){let a=!1;this.ngElementStrategy.events&&(this.subscribeToEvents(),a=!0),this.ngElementStrategy.connect(this),a||this.subscribeToEvents()}disconnectedCallback(){this._ngElementStrategy&&this._ngElementStrategy.disconnect(),this.ngElementEventsSubscription&&(this.ngElementEventsSubscription.unsubscribe(),this.ngElementEventsSubscription=null)}subscribeToEvents(){this.ngElementEventsSubscription=this.ngElementStrategy.events.subscribe(a=>{const l=new CustomEvent(a.name,{detail:a.value});this.dispatchEvent(l)})}}return o.observedAttributes=Object.keys(r),e.forEach(({propName:s})=>{Object.defineProperty(o.prototype,s,{get(){return this.ngElementStrategy.getInputValue(s)},set(a){this.ngElementStrategy.setInputValue(s,a)},configurable:!0,enumerable:!0})}),o}(i,{injector:this.injector});customElements.define(e,r)})}catch(e){console.error(e)}}}return n.\u0275fac=function(e){return new(e||n)(A(gn))},n.\u0275mod=ke({type:n}),n.\u0275inj=xe({providers:[ts,El],imports:[Ov,cF,IE,tf]}),n})();_1().bootstrapModule(o2).catch(n=>console.error(n))},13131:(mi,rs,In)=>{var rt={"./ar-DZ/_lib/formatDistance/index.js":[28066,8592],"./ar-DZ/_lib/formatLong/index.js":[86369,8592,9493],"./ar-DZ/_lib/formatRelative/index.js":[89786,8592],"./ar-DZ/_lib/localize/index.js":[36207,8592,4373],"./ar-DZ/_lib/match/index.js":[53371,8592,2877],"./ar-DZ/index.js":[76327,8592,4288],"./ar-EG/_lib/formatDistance/index.js":[95932,8592],"./ar-EG/_lib/formatLong/index.js":[46023,8592,3639],"./ar-EG/_lib/formatRelative/index.js":[74621,8592],"./ar-EG/_lib/localize/index.js":[93376,8592,1378],"./ar-EG/_lib/match/index.js":[76456,8592,9284],"./ar-EG/index.js":[30830,8592,8477],"./ar-MA/_lib/formatDistance/index.js":[25565,8592],"./ar-MA/_lib/formatLong/index.js":[81783,8592,7236],"./ar-MA/_lib/formatRelative/index.js":[90030,8592],"./ar-MA/_lib/localize/index.js":[60503,8592,7995],"./ar-MA/_lib/match/index.js":[83427,8592,8213],"./ar-MA/index.js":[96094,8592,9736],"./ar-SA/_lib/formatDistance/index.js":[3797,8592],"./ar-SA/_lib/formatLong/index.js":[73212,8592,9090],"./ar-SA/_lib/formatRelative/index.js":[79009,8592],"./ar-SA/_lib/localize/index.js":[12535,8592,124],"./ar-SA/_lib/match/index.js":[14710,8592,2912],"./ar-SA/index.js":[54370,8592,6562],"./ar-TN/_lib/formatDistance/index.js":[56566,8592],"./ar-TN/_lib/formatLong/index.js":[4585,8592,3753],"./ar-TN/_lib/formatRelative/index.js":[5374,8592],"./ar-TN/_lib/localize/index.js":[85963,8592,4843],"./ar-TN/_lib/match/index.js":[13401,8592,2581],"./ar-TN/index.js":[37373,8592,6426],"./be-tarask/_lib/formatDistance/index.js":[82665,8592],"./be-tarask/_lib/formatLong/index.js":[9662,8592,5806],"./be-tarask/_lib/formatRelative/index.js":[4653,4,8592],"./be-tarask/_lib/localize/index.js":[40591,8592,1283],"./be-tarask/_lib/match/index.js":[34412,8592,9938],"./be-tarask/index.js":[27840,4,8592,7840],"./de-AT/_lib/localize/index.js":[44821,8592,8300],"./de-AT/index.js":[21782,8592,243],"./en-AU/_lib/formatLong/index.js":[65493,8592,6237],"./en-AU/index.js":[87747,8592,1128],"./en-CA/_lib/formatDistance/index.js":[80780,8592],"./en-CA/_lib/formatLong/index.js":[26153,8592,7747],"./en-CA/index.js":[21413,8592,7555],"./en-GB/_lib/formatLong/index.js":[33819,8592,4547],"./en-GB/index.js":[33035,8592,1228],"./en-IE/index.js":[61959,8592,463],"./en-IN/_lib/formatLong/index.js":[20862,8592,3191],"./en-IN/index.js":[82873,8592,8757],"./en-NZ/_lib/formatLong/index.js":[36336,8592,3197],"./en-NZ/index.js":[26041,8592,5966],"./en-US/_lib/formatDistance/index.js":[39563,9563],"./en-US/_lib/formatLong/index.js":[66929,6929],"./en-US/_lib/formatRelative/index.js":[21656,1656],"./en-US/_lib/localize/index.js":[31098,9350],"./en-US/_lib/match/index.js":[53239,3239],"./en-US/index.js":[33338,3338],"./en-ZA/_lib/formatLong/index.js":[9221,8592,6951],"./en-ZA/index.js":[11543,8592,4093],"./fa-IR/_lib/formatDistance/index.js":[76726,8592],"./fa-IR/_lib/formatLong/index.js":[10749,8592,7612],"./fa-IR/_lib/formatRelative/index.js":[7220,8592],"./fa-IR/_lib/localize/index.js":[72441,8592,9371],"./fa-IR/_lib/match/index.js":[81488,8592,7743],"./fa-IR/index.js":[84996,8592,5974],"./fr-CA/_lib/formatLong/index.js":[85947,8592,4367],"./fr-CA/index.js":[73723,8592,1688],"./fr-CH/_lib/formatLong/index.js":[27414,8592,3603],"./fr-CH/_lib/formatRelative/index.js":[66155,8592],"./fr-CH/index.js":[24565,8592,4087],"./it-CH/_lib/formatLong/index.js":[31519,8592,6685],"./it-CH/index.js":[87736,8592,2324],"./ja-Hira/_lib/formatDistance/index.js":[84703,8592],"./ja-Hira/_lib/formatLong/index.js":[56574,8592,7336],"./ja-Hira/_lib/formatRelative/index.js":[93381,8592],"./ja-Hira/_lib/localize/index.js":[35710,8592,3665],"./ja-Hira/_lib/match/index.js":[69417,8592,3148],"./ja-Hira/index.js":[12944,8592,1464],"./nl-BE/_lib/formatDistance/index.js":[16129,8592],"./nl-BE/_lib/formatLong/index.js":[17657,8592,3039],"./nl-BE/_lib/formatRelative/index.js":[89811,8592],"./nl-BE/_lib/localize/index.js":[58816,8592,1681],"./nl-BE/_lib/match/index.js":[28333,8592,2237],"./nl-BE/index.js":[70296,8592,4862],"./pt-BR/_lib/formatDistance/index.js":[52638,8592],"./pt-BR/_lib/formatLong/index.js":[33247,8592,4753],"./pt-BR/_lib/formatRelative/index.js":[25492,8592],"./pt-BR/_lib/localize/index.js":[81046,8592,2258],"./pt-BR/_lib/match/index.js":[63770,8592,9792],"./pt-BR/index.js":[47569,8592,1100],"./sr-Latn/_lib/formatDistance/index.js":[69014,8592],"./sr-Latn/_lib/formatLong/index.js":[99257,8592,275],"./sr-Latn/_lib/formatRelative/index.js":[42428,8592],"./sr-Latn/_lib/localize/index.js":[92773,8592,7136],"./sr-Latn/_lib/match/index.js":[7766,8592,3177],"./sr-Latn/index.js":[99064,8592,2152],"./uz-Cyrl/_lib/formatDistance/index.js":[67778,8592],"./uz-Cyrl/_lib/formatLong/index.js":[64095,8592,160],"./uz-Cyrl/_lib/formatRelative/index.js":[83734,8592],"./uz-Cyrl/_lib/localize/index.js":[17670,8592,2654],"./uz-Cyrl/_lib/match/index.js":[75798,8592,1360],"./uz-Cyrl/index.js":[14527,8592,8932],"./zh-CN/_lib/formatDistance/index.js":[33437,8592],"./zh-CN/_lib/formatLong/index.js":[91583,8592,485],"./zh-CN/_lib/formatRelative/index.js":[95629,8592,5441],"./zh-CN/_lib/localize/index.js":[17939,8592,9169],"./zh-CN/_lib/match/index.js":[71362,8592,7103],"./zh-CN/index.js":[86335,8592,8664],"./zh-HK/_lib/formatDistance/index.js":[37348,8592],"./zh-HK/_lib/formatLong/index.js":[60924,8592,3215],"./zh-HK/_lib/formatRelative/index.js":[22164,8592],"./zh-HK/_lib/localize/index.js":[39264,8592,1780],"./zh-HK/_lib/match/index.js":[50358,8592,5641],"./zh-HK/index.js":[59277,8592,2336],"./zh-TW/_lib/formatDistance/index.js":[31613,8592],"./zh-TW/_lib/formatLong/index.js":[1239,8592,248],"./zh-TW/_lib/formatRelative/index.js":[13240,8592],"./zh-TW/_lib/localize/index.js":[29850,8592,9886],"./zh-TW/_lib/match/index.js":[38819,8592,8041],"./zh-TW/index.js":[74565,8592,8978]};function qt(Le){if(!In.o(rt,Le))return Promise.resolve().then(()=>{var Kt=new Error("Cannot find module '"+Le+"'");throw Kt.code="MODULE_NOT_FOUND",Kt});var bt=rt[Le],Kn=bt[0];return Promise.all(bt.slice(1).map(In.e)).then(()=>In.t(Kn,23))}qt.keys=()=>Object.keys(rt),qt.id=13131,mi.exports=qt},71213:(mi,rs,In)=>{var rt={"./_lib/buildFormatLongFn/index.js":[88995,7,8995],"./_lib/buildLocalizeFn/index.js":[77579,7,7579],"./_lib/buildMatchFn/index.js":[84728,7,4728],"./_lib/buildMatchPatternFn/index.js":[27223,7,7223],"./af/_lib/formatDistance/index.js":[55864,7,8592],"./af/_lib/formatLong/index.js":[25358,7,8592,9848],"./af/_lib/formatRelative/index.js":[25892,7,8592],"./af/_lib/localize/index.js":[18874,7,8592,459],"./af/_lib/match/index.js":[22146,7,8592,4568],"./af/index.js":[72399,7,8592,6595],"./ar-DZ/_lib/formatDistance/index.js":[28066,7,8592],"./ar-DZ/_lib/formatLong/index.js":[86369,7,8592,9493],"./ar-DZ/_lib/formatRelative/index.js":[89786,7,8592],"./ar-DZ/_lib/localize/index.js":[36207,7,8592,4373],"./ar-DZ/_lib/match/index.js":[53371,7,8592,2877],"./ar-DZ/index.js":[76327,7,8592,4288],"./ar-EG/_lib/formatDistance/index.js":[95932,7,8592],"./ar-EG/_lib/formatLong/index.js":[46023,7,8592,3639],"./ar-EG/_lib/formatRelative/index.js":[74621,7,8592],"./ar-EG/_lib/localize/index.js":[93376,7,8592,1378],"./ar-EG/_lib/match/index.js":[76456,7,8592,9284],"./ar-EG/index.js":[30830,7,8592,8477],"./ar-MA/_lib/formatDistance/index.js":[25565,7,8592],"./ar-MA/_lib/formatLong/index.js":[81783,7,8592,7236],"./ar-MA/_lib/formatRelative/index.js":[90030,7,8592],"./ar-MA/_lib/localize/index.js":[60503,7,8592,7995],"./ar-MA/_lib/match/index.js":[83427,7,8592,8213],"./ar-MA/index.js":[96094,7,8592,9736],"./ar-SA/_lib/formatDistance/index.js":[3797,7,8592],"./ar-SA/_lib/formatLong/index.js":[73212,7,8592,9090],"./ar-SA/_lib/formatRelative/index.js":[79009,7,8592],"./ar-SA/_lib/localize/index.js":[12535,7,8592,124],"./ar-SA/_lib/match/index.js":[14710,7,8592,2912],"./ar-SA/index.js":[54370,7,8592,6562],"./ar-TN/_lib/formatDistance/index.js":[56566,7,8592],"./ar-TN/_lib/formatLong/index.js":[4585,7,8592,3753],"./ar-TN/_lib/formatRelative/index.js":[5374,7,8592],"./ar-TN/_lib/localize/index.js":[85963,7,8592,4843],"./ar-TN/_lib/match/index.js":[13401,7,8592,2581],"./ar-TN/index.js":[37373,7,8592,6426],"./ar/_lib/formatDistance/index.js":[91118,7,8592],"./ar/_lib/formatLong/index.js":[90899,7,8592,319],"./ar/_lib/formatRelative/index.js":[18739,7,8592],"./ar/_lib/localize/index.js":[64620,7,8592,9521],"./ar/_lib/match/index.js":[32101,7,8592,6574],"./ar/index.js":[91780,7,8592,7519],"./az/_lib/formatDistance/index.js":[2541,7,8592],"./az/_lib/formatLong/index.js":[6246,7,8592,1481],"./az/_lib/formatRelative/index.js":[33557,7,8592],"./az/_lib/localize/index.js":[89347,7,8592,38],"./az/_lib/match/index.js":[75242,7,8592,5991],"./az/index.js":[170,7,8592,6265],"./be-tarask/_lib/formatDistance/index.js":[82665,7,8592],"./be-tarask/_lib/formatLong/index.js":[9662,7,8592,5806],"./be-tarask/_lib/formatRelative/index.js":[4653,7,4,8592],"./be-tarask/_lib/localize/index.js":[40591,7,8592,1283],"./be-tarask/_lib/match/index.js":[34412,7,8592,9938],"./be-tarask/index.js":[27840,7,4,8592,7840],"./be/_lib/formatDistance/index.js":[9006,7,8592],"./be/_lib/formatLong/index.js":[58343,7,8592,193],"./be/_lib/formatRelative/index.js":[20369,7,4,8592],"./be/_lib/localize/index.js":[30768,7,8592,36],"./be/_lib/match/index.js":[35637,7,8592,7910],"./be/index.js":[94646,7,4,8592,4646],"./bg/_lib/formatDistance/index.js":[54037,7,8592],"./bg/_lib/formatLong/index.js":[44221,7,8592,8416],"./bg/_lib/formatRelative/index.js":[24925,7,8592,9491],"./bg/_lib/localize/index.js":[60958,7,8592,7265],"./bg/_lib/match/index.js":[99124,7,8592,4480],"./bg/index.js":[90948,7,8592,6516],"./bn/_lib/formatDistance/index.js":[5190,7,8592,9310],"./bn/_lib/formatLong/index.js":[10846,7,8592,6590],"./bn/_lib/formatRelative/index.js":[90009,7,8592],"./bn/_lib/localize/index.js":[32143,9,8592,6288],"./bn/_lib/match/index.js":[71701,7,8592,9531],"./bn/index.js":[76982,7,8592,1832],"./bs/_lib/formatDistance/index.js":[3504,7,8592],"./bs/_lib/formatLong/index.js":[47625,7,8592,8960],"./bs/_lib/formatRelative/index.js":[69642,7,8592],"./bs/_lib/localize/index.js":[19781,7,8592,5350],"./bs/_lib/match/index.js":[98469,7,8592,7403],"./bs/index.js":[21670,7,8592,6919],"./ca/_lib/formatDistance/index.js":[78470,7,8592],"./ca/_lib/formatLong/index.js":[37682,7,8592,1927],"./ca/_lib/formatRelative/index.js":[73019,7,8592],"./ca/_lib/localize/index.js":[94354,7,8592,6716],"./ca/_lib/match/index.js":[87821,7,8592,4111],"./ca/index.js":[59800,7,8592,2376],"./cs/_lib/formatDistance/index.js":[84712,7,8592],"./cs/_lib/formatLong/index.js":[25366,7,8592,3353],"./cs/_lib/formatRelative/index.js":[30404,7,8592],"./cs/_lib/localize/index.js":[1944,7,8592,7884],"./cs/_lib/match/index.js":[8302,7,8592,4925],"./cs/index.js":[27463,7,8592,9494],"./cy/_lib/formatDistance/index.js":[53860,7,8592],"./cy/_lib/formatLong/index.js":[5355,7,8592,6718],"./cy/_lib/formatRelative/index.js":[11612,7,8592],"./cy/_lib/localize/index.js":[79008,7,8592,6502],"./cy/_lib/match/index.js":[69946,7,8592,9797],"./cy/index.js":[87955,7,8592,7039],"./da/_lib/formatDistance/index.js":[32439,7,8592],"./da/_lib/formatLong/index.js":[40114,7,8592,8688],"./da/_lib/formatRelative/index.js":[33452,7,8592],"./da/_lib/localize/index.js":[22653,7,8592,2710],"./da/_lib/match/index.js":[1416,7,8592,7195],"./da/index.js":[11295,7,8592,2630],"./de-AT/_lib/localize/index.js":[44821,7,8592,8300],"./de-AT/index.js":[21782,7,8592,243],"./de/_lib/formatDistance/index.js":[98815,7,8592],"./de/_lib/formatLong/index.js":[47173,7,8592,4801],"./de/_lib/formatRelative/index.js":[5278,7,8592],"./de/_lib/localize/index.js":[54552,7,8592,6131],"./de/_lib/match/index.js":[31871,7,8592,5131],"./de/index.js":[94086,7,8592,9616],"./el/_lib/formatDistance/index.js":[39298,7,8592],"./el/_lib/formatLong/index.js":[94460,7,8592,2027],"./el/_lib/formatRelative/index.js":[72435,7,8592],"./el/_lib/localize/index.js":[674,7,8592,7538],"./el/_lib/match/index.js":[40588,7,8592,2187],"./el/index.js":[26106,7,8592,5382],"./en-AU/_lib/formatLong/index.js":[65493,7,8592,6237],"./en-AU/index.js":[87747,7,8592,1128],"./en-CA/_lib/formatDistance/index.js":[80780,7,8592],"./en-CA/_lib/formatLong/index.js":[26153,7,8592,7747],"./en-CA/index.js":[21413,7,8592,7555],"./en-GB/_lib/formatLong/index.js":[33819,7,8592,4547],"./en-GB/index.js":[33035,7,8592,1228],"./en-IE/index.js":[61959,7,8592,463],"./en-IN/_lib/formatLong/index.js":[20862,7,8592,3191],"./en-IN/index.js":[82873,7,8592,8757],"./en-NZ/_lib/formatLong/index.js":[36336,7,8592,3197],"./en-NZ/index.js":[26041,7,8592,5966],"./en-US/_lib/formatDistance/index.js":[39563,7,9563],"./en-US/_lib/formatLong/index.js":[66929,7,6929],"./en-US/_lib/formatRelative/index.js":[21656,7,1656],"./en-US/_lib/localize/index.js":[31098,7,9350],"./en-US/_lib/match/index.js":[53239,7,3239],"./en-US/index.js":[33338,7,3338],"./en-ZA/_lib/formatLong/index.js":[9221,7,8592,6951],"./en-ZA/index.js":[11543,7,8592,4093],"./eo/_lib/formatDistance/index.js":[43549,7,8592],"./eo/_lib/formatLong/index.js":[25567,7,8592,8118],"./eo/_lib/formatRelative/index.js":[30410,7,8592],"./eo/_lib/localize/index.js":[27249,7,8592,1634],"./eo/_lib/match/index.js":[75687,7,8592,8199],"./eo/index.js":[63574,7,8592,1411],"./es/_lib/formatDistance/index.js":[66660,7,8592],"./es/_lib/formatLong/index.js":[39055,7,8592,8248],"./es/_lib/formatRelative/index.js":[63774,7,8592],"./es/_lib/localize/index.js":[38835,7,8592,7568],"./es/_lib/match/index.js":[38662,7,8592,6331],"./es/index.js":[23413,7,8592,7412],"./et/_lib/formatDistance/index.js":[64334,7,8592],"./et/_lib/formatLong/index.js":[32045,7,8592,7372],"./et/_lib/formatRelative/index.js":[47074,7,8592],"./et/_lib/localize/index.js":[42462,7,8592,6778],"./et/_lib/match/index.js":[85999,7,8592,7670],"./et/index.js":[65861,7,8592,8138],"./eu/_lib/formatDistance/index.js":[91793,7,8592],"./eu/_lib/formatLong/index.js":[17350,7,8592,2069],"./eu/_lib/formatRelative/index.js":[25688,7,8592],"./eu/_lib/localize/index.js":[28061,7,8592,8759],"./eu/_lib/match/index.js":[11113,7,8592,7462],"./eu/index.js":[29618,7,8592,7969],"./fa-IR/_lib/formatDistance/index.js":[76726,7,8592],"./fa-IR/_lib/formatLong/index.js":[10749,7,8592,7612],"./fa-IR/_lib/formatRelative/index.js":[7220,7,8592],"./fa-IR/_lib/localize/index.js":[72441,7,8592,9371],"./fa-IR/_lib/match/index.js":[81488,7,8592,7743],"./fa-IR/index.js":[84996,7,8592,5974],"./fi/_lib/formatDistance/index.js":[97929,7,8592],"./fi/_lib/formatLong/index.js":[63741,7,8592,694],"./fi/_lib/formatRelative/index.js":[23234,7,8592],"./fi/_lib/localize/index.js":[5936,7,8592,1090],"./fi/_lib/match/index.js":[157,7,8592,5464],"./fi/index.js":[3596,7,8592,4420],"./fr-CA/_lib/formatLong/index.js":[85947,7,8592,4367],"./fr-CA/index.js":[73723,7,8592,1688],"./fr-CH/_lib/formatLong/index.js":[27414,7,8592,3603],"./fr-CH/_lib/formatRelative/index.js":[66155,7,8592],"./fr-CH/index.js":[24565,7,8592,4087],"./fr/_lib/formatDistance/index.js":[26839,7,8592],"./fr/_lib/formatLong/index.js":[32554,7,8592,7586],"./fr/_lib/formatRelative/index.js":[15328,7,8592],"./fr/_lib/localize/index.js":[29821,7,8592,6409],"./fr/_lib/match/index.js":[57047,7,8592,7405],"./fr/index.js":[34153,7,8592,5146],"./fy/_lib/formatDistance/index.js":[60373,7,8592],"./fy/_lib/formatLong/index.js":[97771,7,8592,7654],"./fy/_lib/formatRelative/index.js":[33851,7,8592],"./fy/_lib/localize/index.js":[86993,7,8592,6579],"./fy/_lib/match/index.js":[48603,7,8592,5284],"./fy/index.js":[73434,7,8592,7176],"./gd/_lib/formatDistance/index.js":[45690,7,8592],"./gd/_lib/formatLong/index.js":[2660,7,8592,2e3],"./gd/_lib/formatRelative/index.js":[30700,7,8592],"./gd/_lib/localize/index.js":[40751,7,8592,8987],"./gd/_lib/match/index.js":[40421,7,8592,8809],"./gd/index.js":[48569,7,8592,296],"./gl/_lib/formatDistance/index.js":[35871,7,8592],"./gl/_lib/formatLong/index.js":[30449,7,8592,359],"./gl/_lib/formatRelative/index.js":[95563,7,8592],"./gl/_lib/localize/index.js":[61905,7,8592,594],"./gl/_lib/match/index.js":[33150,7,8592,5012],"./gl/index.js":[96508,7,8592,4612],"./gu/_lib/formatDistance/index.js":[88210,7,8592],"./gu/_lib/formatLong/index.js":[63333,7,8592,7308],"./gu/_lib/formatRelative/index.js":[89348,7,8592],"./gu/_lib/localize/index.js":[50143,7,8592,6108],"./gu/_lib/match/index.js":[50932,7,8592,7091],"./gu/index.js":[75732,7,8592,6971],"./he/_lib/formatDistance/index.js":[42191,7,8592],"./he/_lib/formatLong/index.js":[13925,7,8592,7992],"./he/_lib/formatRelative/index.js":[11481,7,8592],"./he/_lib/localize/index.js":[19661,7,8592,5989],"./he/_lib/match/index.js":[41291,7,8592,5362],"./he/index.js":[86517,7,8592,340],"./hi/_lib/formatDistance/index.js":[52573,7,8592,9170],"./hi/_lib/formatLong/index.js":[30535,7,8592,9664],"./hi/_lib/formatRelative/index.js":[65379,7,8592],"./hi/_lib/localize/index.js":[35423,9,8592,383],"./hi/_lib/match/index.js":[78198,7,8592,652],"./hi/index.js":[29562,7,8592,2592],"./hr/_lib/formatDistance/index.js":[7652,7,8592],"./hr/_lib/formatLong/index.js":[29577,7,8592,6290],"./hr/_lib/formatRelative/index.js":[27603,7,8592],"./hr/_lib/localize/index.js":[12512,7,8592,5734],"./hr/_lib/match/index.js":[83880,7,8592,8808],"./hr/index.js":[41499,7,8592,9108],"./ht/_lib/formatDistance/index.js":[17743,7,8592],"./ht/_lib/formatLong/index.js":[50596,7,8592,1669],"./ht/_lib/formatRelative/index.js":[66473,7,8592],"./ht/_lib/localize/index.js":[98942,7,8592,5217],"./ht/_lib/match/index.js":[18649,7,8592,4042],"./ht/index.js":[91792,7,8592,6132],"./hu/_lib/formatDistance/index.js":[74406,7,8592],"./hu/_lib/formatLong/index.js":[53971,7,8592,7275],"./hu/_lib/formatRelative/index.js":[48580,7,8592],"./hu/_lib/localize/index.js":[6998,7,8592,8730],"./hu/_lib/match/index.js":[69897,7,8592,4330],"./hu/index.js":[85980,7,8592,7955],"./hy/_lib/formatDistance/index.js":[50897,7,8592],"./hy/_lib/formatLong/index.js":[11837,7,8592,1408],"./hy/_lib/formatRelative/index.js":[3543,7,8592],"./hy/_lib/localize/index.js":[90151,7,8592,81],"./hy/_lib/match/index.js":[97177,7,8592,4931],"./hy/index.js":[83268,7,8592,5803],"./id/_lib/formatDistance/index.js":[70846,7,8592],"./id/_lib/formatLong/index.js":[53405,7,8592,7106],"./id/_lib/formatRelative/index.js":[97180,7,8592],"./id/_lib/localize/index.js":[35645,7,8592,4320],"./id/_lib/match/index.js":[87601,7,8592,3434],"./id/index.js":[90146,7,8592,3963],"./is/_lib/formatDistance/index.js":[2370,7,8592],"./is/_lib/formatLong/index.js":[74096,7,8592,1427],"./is/_lib/formatRelative/index.js":[42141,7,8592],"./is/_lib/localize/index.js":[12161,7,8592,5221],"./is/_lib/match/index.js":[20798,7,8592,4321],"./is/index.js":[84111,7,8592,5121],"./it-CH/_lib/formatLong/index.js":[31519,7,8592,6685],"./it-CH/index.js":[87736,7,8592,2324],"./it/_lib/formatDistance/index.js":[40358,7,8592],"./it/_lib/formatLong/index.js":[29588,7,8592,7173],"./it/_lib/formatRelative/index.js":[91403,7,8592,5096],"./it/_lib/localize/index.js":[62007,7,8592,5232],"./it/_lib/match/index.js":[94070,7,8592,4604],"./it/index.js":[93722,7,8592,6815],"./ja-Hira/_lib/formatDistance/index.js":[84703,7,8592],"./ja-Hira/_lib/formatLong/index.js":[56574,7,8592,7336],"./ja-Hira/_lib/formatRelative/index.js":[93381,7,8592],"./ja-Hira/_lib/localize/index.js":[35710,7,8592,3665],"./ja-Hira/_lib/match/index.js":[69417,7,8592,3148],"./ja-Hira/index.js":[12944,7,8592,1464],"./ja/_lib/formatDistance/index.js":[68018,7,8592],"./ja/_lib/formatLong/index.js":[45602,7,8592,1264],"./ja/_lib/formatRelative/index.js":[65297,7,8592],"./ja/_lib/localize/index.js":[77420,7,8592,800],"./ja/_lib/match/index.js":[83926,7,8592,4403],"./ja/index.js":[89251,7,8592,6422],"./ka/_lib/formatDistance/index.js":[39442,7,8592],"./ka/_lib/formatLong/index.js":[960,7,8592,6634],"./ka/_lib/formatRelative/index.js":[18861,7,8592],"./ka/_lib/localize/index.js":[85798,7,8592,599],"./ka/_lib/match/index.js":[55077,7,8592,3545],"./ka/index.js":[34010,7,8592,1289],"./kk/_lib/formatDistance/index.js":[44502,7,8592],"./kk/_lib/formatLong/index.js":[79591,7,8592,1473],"./kk/_lib/formatRelative/index.js":[80876,7,8592,1098],"./kk/_lib/localize/index.js":[16163,7,8592,9023],"./kk/_lib/match/index.js":[11079,7,8592,1038],"./kk/index.js":[61615,7,8592,9444],"./km/_lib/formatDistance/index.js":[69355,7,8592],"./km/_lib/formatLong/index.js":[64335,7,8592,5713],"./km/_lib/formatRelative/index.js":[68462,7,8592],"./km/_lib/localize/index.js":[32885,7,8592,5727],"./km/_lib/match/index.js":[49242,7,8592,3286],"./km/index.js":[98510,7,8592,2044],"./kn/_lib/formatDistance/index.js":[93557,7,8592],"./kn/_lib/formatLong/index.js":[19335,7,8592,2367],"./kn/_lib/formatRelative/index.js":[19080,7,8592],"./kn/_lib/localize/index.js":[83848,7,8592,61],"./kn/_lib/match/index.js":[36809,7,8592,4054],"./kn/index.js":[99517,7,8592,1417],"./ko/_lib/formatDistance/index.js":[21540,7,8592],"./ko/_lib/formatLong/index.js":[47237,7,8592,5780],"./ko/_lib/formatRelative/index.js":[91078,7,8592],"./ko/_lib/localize/index.js":[89409,7,8592,1075],"./ko/_lib/match/index.js":[38567,7,8592,9545],"./ko/index.js":[15058,7,8592,404],"./lb/_lib/formatDistance/index.js":[81904,7,8592],"./lb/_lib/formatLong/index.js":[53103,7,8592,5735],"./lb/_lib/formatRelative/index.js":[64861,7,8592],"./lb/_lib/localize/index.js":[13317,7,8592,8947],"./lb/_lib/match/index.js":[72652,7,8592,6123],"./lb/index.js":[61953,7,8592,9937],"./lt/_lib/formatDistance/index.js":[55348,7,8592],"./lt/_lib/formatLong/index.js":[18290,7,8592,5214],"./lt/_lib/formatRelative/index.js":[53257,7,8592],"./lt/_lib/localize/index.js":[62395,7,8592,6006],"./lt/_lib/match/index.js":[5825,7,8592,8766],"./lt/index.js":[35901,7,8592,1422],"./lv/_lib/formatDistance/index.js":[28910,7,8592],"./lv/_lib/formatLong/index.js":[86421,7,8592,2624],"./lv/_lib/formatRelative/index.js":[60151,7,8592,3746],"./lv/_lib/localize/index.js":[44960,7,8592,406],"./lv/_lib/match/index.js":[4876,7,8592,4139],"./lv/index.js":[82008,7,8592,2537],"./mk/_lib/formatDistance/index.js":[38992,7,8592],"./mk/_lib/formatLong/index.js":[7479,7,8592,6156],"./mk/_lib/formatRelative/index.js":[41655,7,8592,903],"./mk/_lib/localize/index.js":[23458,7,8592,4893],"./mk/_lib/match/index.js":[82975,7,8592,9858],"./mk/index.js":[21880,7,8592,2683],"./mn/_lib/formatDistance/index.js":[61341,7,8592],"./mn/_lib/formatLong/index.js":[19732,7,8592,5992],"./mn/_lib/formatRelative/index.js":[98225,7,8592],"./mn/_lib/localize/index.js":[89576,7,8592,4261],"./mn/_lib/match/index.js":[33306,7,8592,5055],"./mn/index.js":[31937,7,8592,4446],"./ms/_lib/formatDistance/index.js":[97808,7,8592],"./ms/_lib/formatLong/index.js":[61962,7,8592,6623],"./ms/_lib/formatRelative/index.js":[68530,7,8592],"./ms/_lib/localize/index.js":[13241,7,8592,3368],"./ms/_lib/match/index.js":[67079,7,8592,9302],"./ms/index.js":[25098,7,8592,5705],"./mt/_lib/formatDistance/index.js":[14611,7,8592],"./mt/_lib/formatLong/index.js":[65011,7,8592,1161],"./mt/_lib/formatRelative/index.js":[44521,7,8592],"./mt/_lib/localize/index.js":[69408,7,8592,6433],"./mt/_lib/match/index.js":[29726,7,8592,4216],"./mt/index.js":[12811,7,8592,1911],"./nb/_lib/formatDistance/index.js":[59968,7,8592],"./nb/_lib/formatLong/index.js":[20511,7,8592,5168],"./nb/_lib/formatRelative/index.js":[11639,7,8592],"./nb/_lib/localize/index.js":[94249,7,8592,4378],"./nb/_lib/match/index.js":[63498,7,8592,9691],"./nb/index.js":[61295,7,8592,2392],"./nl-BE/_lib/formatDistance/index.js":[16129,7,8592],"./nl-BE/_lib/formatLong/index.js":[17657,7,8592,3039],"./nl-BE/_lib/formatRelative/index.js":[89811,7,8592],"./nl-BE/_lib/localize/index.js":[58816,7,8592,1681],"./nl-BE/_lib/match/index.js":[28333,7,8592,2237],"./nl-BE/index.js":[70296,7,8592,4862],"./nl/_lib/formatDistance/index.js":[57117,7,8592],"./nl/_lib/formatLong/index.js":[57197,7,8592,2377],"./nl/_lib/formatRelative/index.js":[62818,7,8592],"./nl/_lib/localize/index.js":[67706,7,8592,3283],"./nl/_lib/match/index.js":[61430,7,8592,9229],"./nl/index.js":[80775,7,8592,9354],"./nn/_lib/formatDistance/index.js":[4563,7,8592],"./nn/_lib/formatLong/index.js":[89212,7,8592,169],"./nn/_lib/formatRelative/index.js":[2565,7,8592],"./nn/_lib/localize/index.js":[28456,7,8592,4340],"./nn/_lib/match/index.js":[51571,7,8592,9185],"./nn/index.js":[34632,7,8592,7506],"./oc/_lib/formatDistance/index.js":[16585,7,8592],"./oc/_lib/formatLong/index.js":[96725,7,8592,415],"./oc/_lib/formatRelative/index.js":[7548,7,8592],"./oc/_lib/localize/index.js":[93417,7,8592,5746],"./oc/_lib/match/index.js":[18145,7,8592,7829],"./oc/index.js":[68311,7,8592,7250],"./pl/_lib/formatDistance/index.js":[62056,7,8592],"./pl/_lib/formatLong/index.js":[47448,7,8592,5539],"./pl/_lib/formatRelative/index.js":[65991,7,8592,6160],"./pl/_lib/localize/index.js":[4306,7,8592,3498],"./pl/_lib/match/index.js":[76075,7,8592,7768],"./pl/index.js":[8554,7,8592,9134],"./pt-BR/_lib/formatDistance/index.js":[52638,7,8592],"./pt-BR/_lib/formatLong/index.js":[33247,7,8592,4753],"./pt-BR/_lib/formatRelative/index.js":[25492,7,8592],"./pt-BR/_lib/localize/index.js":[81046,7,8592,2258],"./pt-BR/_lib/match/index.js":[63770,7,8592,9792],"./pt-BR/index.js":[47569,7,8592,1100],"./pt/_lib/formatDistance/index.js":[55488,7,8592],"./pt/_lib/formatLong/index.js":[5133,7,8592,2741],"./pt/_lib/formatRelative/index.js":[7493,7,8592],"./pt/_lib/localize/index.js":[58360,7,8592,3713],"./pt/_lib/match/index.js":[37200,7,8592,7033],"./pt/index.js":[24239,7,8592,3530],"./ro/_lib/formatDistance/index.js":[18199,7,8592],"./ro/_lib/formatLong/index.js":[84311,7,8592,173],"./ro/_lib/formatRelative/index.js":[97974,7,8592],"./ro/_lib/localize/index.js":[64729,7,8592,470],"./ro/_lib/match/index.js":[9202,7,8592,9975],"./ro/index.js":[51055,7,8592,5563],"./ru/_lib/formatDistance/index.js":[90650,7,8592],"./ru/_lib/formatLong/index.js":[12580,7,8592,9390],"./ru/_lib/formatRelative/index.js":[15994,7,8592,1338],"./ru/_lib/localize/index.js":[66943,7,8592,6325],"./ru/_lib/match/index.js":[86374,7,8592,7339],"./ru/index.js":[27413,7,8592,9896],"./sk/_lib/formatDistance/index.js":[32882,7,8592],"./sk/_lib/formatLong/index.js":[95087,7,8592,6050],"./sk/_lib/formatRelative/index.js":[35507,7,8592,3951],"./sk/_lib/localize/index.js":[37369,7,8592,3264],"./sk/_lib/match/index.js":[74329,7,8592,9460],"./sk/index.js":[17065,7,8592,5064],"./sl/_lib/formatDistance/index.js":[57613,7,8592],"./sl/_lib/formatLong/index.js":[66302,7,8592,2857],"./sl/_lib/formatRelative/index.js":[92131,7,8592],"./sl/_lib/localize/index.js":[2942,7,8592,6363],"./sl/_lib/match/index.js":[36326,7,8592,7341],"./sl/index.js":[62166,7,8592,2157],"./sq/_lib/formatDistance/index.js":[82569,7,8592],"./sq/_lib/formatLong/index.js":[32784,7,8592,314],"./sq/_lib/formatRelative/index.js":[44390,7,8592],"./sq/_lib/localize/index.js":[26425,7,8592,9930],"./sq/_lib/match/index.js":[72140,7,8592,1445],"./sq/index.js":[70797,7,8592,8556],"./sr-Latn/_lib/formatDistance/index.js":[69014,7,8592],"./sr-Latn/_lib/formatLong/index.js":[99257,7,8592,275],"./sr-Latn/_lib/formatRelative/index.js":[42428,7,8592],"./sr-Latn/_lib/localize/index.js":[92773,7,8592,7136],"./sr-Latn/_lib/match/index.js":[7766,7,8592,3177],"./sr-Latn/index.js":[99064,7,8592,2152],"./sr/_lib/formatDistance/index.js":[55503,7,8592],"./sr/_lib/formatLong/index.js":[13465,7,8592,232],"./sr/_lib/formatRelative/index.js":[25743,7,8592],"./sr/_lib/localize/index.js":[30172,7,8592,5864],"./sr/_lib/match/index.js":[81613,7,8592,7316],"./sr/index.js":[15930,7,8592,5831],"./sv/_lib/formatDistance/index.js":[81387,7,8592],"./sv/_lib/formatLong/index.js":[20660,7,8592,5204],"./sv/_lib/formatRelative/index.js":[43502,7,8592],"./sv/_lib/localize/index.js":[32384,7,8592,4345],"./sv/_lib/match/index.js":[69940,7,8592,7105],"./sv/index.js":[81413,7,8592,5396],"./ta/_lib/formatDistance/index.js":[66840,7,8592],"./ta/_lib/formatLong/index.js":[49391,7,8592,5892],"./ta/_lib/formatRelative/index.js":[99284,7,8592],"./ta/_lib/localize/index.js":[61290,7,8592,6239],"./ta/_lib/match/index.js":[33749,7,8592,4720],"./ta/index.js":[21486,7,8592,7983],"./te/_lib/formatDistance/index.js":[38,7,8592],"./te/_lib/formatLong/index.js":[34703,7,8592,4094],"./te/_lib/formatRelative/index.js":[46611,7,8592],"./te/_lib/localize/index.js":[86184,7,8592,118],"./te/_lib/match/index.js":[17208,7,8592,7193],"./te/index.js":[52492,7,8592,7183],"./th/_lib/formatDistance/index.js":[32939,7,8592],"./th/_lib/formatLong/index.js":[96146,7,8592,8475],"./th/_lib/formatRelative/index.js":[97294,7,8592],"./th/_lib/localize/index.js":[44204,7,8592,6203],"./th/_lib/match/index.js":[59829,7,8592,2626],"./th/index.js":[74785,7,8592,4008],"./tr/_lib/formatDistance/index.js":[77216,7,8592],"./tr/_lib/formatLong/index.js":[68379,7,8592,5102],"./tr/_lib/formatRelative/index.js":[93999,7,8592],"./tr/_lib/localize/index.js":[8830,7,8592,7157],"./tr/_lib/match/index.js":[58828,7,8592,3128],"./tr/index.js":[63131,7,8592,8302],"./ug/_lib/formatDistance/index.js":[69442,7,8592],"./ug/_lib/formatLong/index.js":[36922,7,8592,5002],"./ug/_lib/formatRelative/index.js":[20290,7,8592],"./ug/_lib/localize/index.js":[82490,7,8592,6604],"./ug/_lib/match/index.js":[85282,7,8592,8004],"./ug/index.js":[60182,7,8592,6934],"./uk/_lib/formatDistance/index.js":[10017,7,8592],"./uk/_lib/formatLong/index.js":[26136,7,8592,8806],"./uk/_lib/formatRelative/index.js":[88271,7,4,8592],"./uk/_lib/localize/index.js":[10954,7,8592,1193],"./uk/_lib/match/index.js":[71680,7,8592,6954],"./uk/index.js":[12509,7,4,8592,2509],"./uz-Cyrl/_lib/formatDistance/index.js":[67778,7,8592],"./uz-Cyrl/_lib/formatLong/index.js":[64095,7,8592,160],"./uz-Cyrl/_lib/formatRelative/index.js":[83734,7,8592],"./uz-Cyrl/_lib/localize/index.js":[17670,7,8592,2654],"./uz-Cyrl/_lib/match/index.js":[75798,7,8592,1360],"./uz-Cyrl/index.js":[14527,7,8592,8932],"./uz/_lib/formatDistance/index.js":[27197,7,8592],"./uz/_lib/formatLong/index.js":[27810,7,8592,4328],"./uz/_lib/formatRelative/index.js":[22175,7,8592],"./uz/_lib/localize/index.js":[6881,7,8592,6425],"./uz/_lib/match/index.js":[19263,7,8592,2880],"./uz/index.js":[44203,7,8592,6896],"./vi/_lib/formatDistance/index.js":[61664,7,8592],"./vi/_lib/formatLong/index.js":[42296,7,8592,3405],"./vi/_lib/formatRelative/index.js":[55191,7,8592],"./vi/_lib/localize/index.js":[67431,7,8592,5843],"./vi/_lib/match/index.js":[98442,7,8592,3319],"./vi/index.js":[48875,7,8592,6677],"./zh-CN/_lib/formatDistance/index.js":[33437,7,8592],"./zh-CN/_lib/formatLong/index.js":[91583,7,8592,485],"./zh-CN/_lib/formatRelative/index.js":[95629,7,8592,5441],"./zh-CN/_lib/localize/index.js":[17939,7,8592,9169],"./zh-CN/_lib/match/index.js":[71362,7,8592,7103],"./zh-CN/index.js":[86335,7,8592,8664],"./zh-HK/_lib/formatDistance/index.js":[37348,7,8592],"./zh-HK/_lib/formatLong/index.js":[60924,7,8592,3215],"./zh-HK/_lib/formatRelative/index.js":[22164,7,8592],"./zh-HK/_lib/localize/index.js":[39264,7,8592,1780],"./zh-HK/_lib/match/index.js":[50358,7,8592,5641],"./zh-HK/index.js":[59277,7,8592,2336],"./zh-TW/_lib/formatDistance/index.js":[31613,7,8592],"./zh-TW/_lib/formatLong/index.js":[1239,7,8592,248],"./zh-TW/_lib/formatRelative/index.js":[13240,7,8592],"./zh-TW/_lib/localize/index.js":[29850,7,8592,9886],"./zh-TW/_lib/match/index.js":[38819,7,8592,8041],"./zh-TW/index.js":[74565,7,8592,8978]};function qt(Le){if(!In.o(rt,Le))return Promise.resolve().then(()=>{var Kt=new Error("Cannot find module '"+Le+"'");throw Kt.code="MODULE_NOT_FOUND",Kt});var bt=rt[Le],Kn=bt[0];return Promise.all(bt.slice(2).map(In.e)).then(()=>In.t(Kn,16|bt[1]))}qt.keys=()=>Object.keys(rt),qt.id=71213,mi.exports=qt}},mi=>{mi(mi.s=44579)}]);
\ No newline at end of file
+var runtime=function(c){"use strict";var l,M=Object.prototype,p=M.hasOwnProperty,w=Object.defineProperty||function(r,t,e){r[t]=e.value},O="function"==typeof Symbol?Symbol:{},L=O.iterator||"@@iterator",z=O.asyncIterator||"@@asyncIterator",_=O.toStringTag||"@@toStringTag";function v(r,t,e){return Object.defineProperty(r,t,{value:e,enumerable:!0,configurable:!0,writable:!0}),r[t]}try{v({},"")}catch{v=function(t,e,o){return t[e]=o}}function R(r,t,e,o){var i=Object.create((t&&t.prototype instanceof j?t:j).prototype),a=new I(o||[]);return w(i,"_invoke",{value:H(r,e,a)}),i}function k(r,t,e){try{return{type:"normal",arg:r.call(t,e)}}catch(o){return{type:"throw",arg:o}}}c.wrap=R;var Y="suspendedStart",q="executing",b="completed",s={};function j(){}function S(){}function d(){}var N={};v(N,L,function(){return this});var T=Object.getPrototypeOf,E=T&&T(T(A([])));E&&E!==M&&p.call(E,L)&&(N=E);var g=d.prototype=j.prototype=Object.create(N);function D(r){["next","throw","return"].forEach(function(t){v(r,t,function(e){return this._invoke(t,e)})})}function G(r,t){function e(i,a,u,h){var f=k(r[i],r,a);if("throw"!==f.type){var C=f.arg,m=C.value;return m&&"object"==typeof m&&p.call(m,"__await")?t.resolve(m.__await).then(function(y){e("next",y,u,h)},function(y){e("throw",y,u,h)}):t.resolve(m).then(function(y){C.value=y,u(C)},function(y){return e("throw",y,u,h)})}h(f.arg)}var o;w(this,"_invoke",{value:function n(i,a){function u(){return new t(function(h,f){e(i,a,h,f)})}return o=o?o.then(u,u):u()}})}function H(r,t,e){var o=Y;return function(i,a){if(o===q)throw new Error("Generator is already running");if(o===b){if("throw"===i)throw a;return $()}for(e.method=i,e.arg=a;;){var u=e.delegate;if(u){var h=W(u,e);if(h){if(h===s)continue;return h}}if("next"===e.method)e.sent=e._sent=e.arg;else if("throw"===e.method){if(o===Y)throw o=b,e.arg;e.dispatchException(e.arg)}else"return"===e.method&&e.abrupt("return",e.arg);o=q;var f=k(r,t,e);if("normal"===f.type){if(o=e.done?b:"suspendedYield",f.arg===s)continue;return{value:f.arg,done:e.done}}"throw"===f.type&&(o=b,e.method="throw",e.arg=f.arg)}}}function W(r,t){var e=t.method,o=r.iterator[e];if(o===l)return t.delegate=null,"throw"===e&&r.iterator.return&&(t.method="return",t.arg=l,W(r,t),"throw"===t.method)||"return"!==e&&(t.method="throw",t.arg=new TypeError("The iterator does not provide a '"+e+"' method")),s;var n=k(o,r.iterator,t.arg);if("throw"===n.type)return t.method="throw",t.arg=n.arg,t.delegate=null,s;var i=n.arg;return i?i.done?(t[r.resultName]=i.value,t.next=r.nextLoc,"return"!==t.method&&(t.method="next",t.arg=l),t.delegate=null,s):i:(t.method="throw",t.arg=new TypeError("iterator result is not an object"),t.delegate=null,s)}function J(r){var t={tryLoc:r[0]};1 in r&&(t.catchLoc=r[1]),2 in r&&(t.finallyLoc=r[2],t.afterLoc=r[3]),this.tryEntries.push(t)}function P(r){var t=r.completion||{};t.type="normal",delete t.arg,r.completion=t}function I(r){this.tryEntries=[{tryLoc:"root"}],r.forEach(J,this),this.reset(!0)}function A(r){if(r){var t=r[L];if(t)return t.call(r);if("function"==typeof r.next)return r;if(!isNaN(r.length)){var e=-1,o=function n(){for(;++e=0;--o){var n=this.tryEntries[o],i=n.completion;if("root"===n.tryLoc)return e("end");if(n.tryLoc<=this.prev){var a=p.call(n,"catchLoc"),u=p.call(n,"finallyLoc");if(a&&u){if(this.prev=0;--e){var o=this.tryEntries[e];if(o.tryLoc<=this.prev&&p.call(o,"finallyLoc")&&this.prev=0;--t){var e=this.tryEntries[t];if(e.finallyLoc===r)return this.complete(e.completion,e.afterLoc),P(e),s}},catch:function(r){for(var t=this.tryEntries.length-1;t>=0;--t){var e=this.tryEntries[t];if(e.tryLoc===r){var o=e.completion;if("throw"===o.type){var n=o.arg;P(e)}return n}}throw new Error("illegal catch attempt")},delegateYield:function(r,t,e){return this.delegate={iterator:A(r),resultName:t,nextLoc:e},"next"===this.method&&(this.arg=l),s}},c}("object"==typeof module?module.exports:{});try{regeneratorRuntime=runtime}catch{"object"==typeof globalThis?globalThis.regeneratorRuntime=runtime:Function("r","regeneratorRuntime = r")(runtime)}(()=>{"use strict";var e,m={},_={};function r(e){var i=_[e];if(void 0!==i)return i.exports;var t=_[e]={exports:{}};return m[e](t,t.exports,r),t.exports}r.m=m,e=[],r.O=(i,t,a,f)=>{if(!t){var n=1/0;for(o=0;o=f)&&Object.keys(r.O).every(b=>r.O[b](t[u]))?t.splice(u--,1):(s=!1,f0&&e[o-1][2]>f;o--)e[o]=e[o-1];e[o]=[t,a,f]},(()=>{var i,e=Object.getPrototypeOf?t=>Object.getPrototypeOf(t):t=>t.__proto__;r.t=function(t,a){if(1&a&&(t=this(t)),8&a||"object"==typeof t&&t&&(4&a&&t.__esModule||16&a&&"function"==typeof t.then))return t;var f=Object.create(null);r.r(f);var o={};i=i||[null,e({}),e([]),e(e)];for(var n=2&a&&t;"object"==typeof n&&!~i.indexOf(n);n=e(n))Object.getOwnPropertyNames(n).forEach(s=>o[s]=()=>t[s]);return o.default=()=>t,r.d(f,o),f}})(),r.d=(e,i)=>{for(var t in i)r.o(i,t)&&!r.o(e,t)&&Object.defineProperty(e,t,{enumerable:!0,get:i[t]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce((i,t)=>(r.f[t](e,i),i),[])),r.u=e=>(8592===e?"common":e)+".js",r.miniCssF=e=>{},r.o=(e,i)=>Object.prototype.hasOwnProperty.call(e,i),(()=>{var e={},i="contenttype-fields-builder:";r.l=(t,a,f,o)=>{if(e[t])e[t].push(a);else{var n,s;if(void 0!==f)for(var u=document.getElementsByTagName("script"),l=0;l{n.onerror=n.onload=null,clearTimeout(p);var y=e[t];if(delete e[t],n.parentNode&&n.parentNode.removeChild(n),y&&y.forEach(g=>g(b)),v)return v(b)},p=setTimeout(c.bind(null,void 0,{type:"timeout",target:n}),12e4);n.onerror=c.bind(null,n.onerror),n.onload=c.bind(null,n.onload),s&&document.head.appendChild(n)}}})(),r.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},(()=>{var e;r.tt=()=>(void 0===e&&(e={createScriptURL:i=>i},typeof trustedTypes<"u"&&trustedTypes.createPolicy&&(e=trustedTypes.createPolicy("angular#bundler",e))),e)})(),r.tu=e=>r.tt().createScriptURL(e),r.p="",(()=>{var e={3666:0};r.f.j=(a,f)=>{var o=r.o(e,a)?e[a]:void 0;if(0!==o)if(o)f.push(o[2]);else if(3666!=a){var n=new Promise((d,c)=>o=e[a]=[d,c]);f.push(o[2]=n);var s=r.p+r.u(a),u=new Error;r.l(s,d=>{if(r.o(e,a)&&(0!==(o=e[a])&&(e[a]=void 0),o)){var c=d&&("load"===d.type?"missing":d.type),p=d&&d.target&&d.target.src;u.message="Loading chunk "+a+" failed.\n("+c+": "+p+")",u.name="ChunkLoadError",u.type=c,u.request=p,o[1](u)}},"chunk-"+a,a)}else e[a]=0},r.O.j=a=>0===e[a];var i=(a,f)=>{var u,l,[o,n,s]=f,d=0;if(o.some(p=>0!==e[p])){for(u in n)r.o(n,u)&&(r.m[u]=n[u]);if(s)var c=s(r)}for(a&&a(f);d{!function(e){const n=e.performance;function i(I){n&&n.mark&&n.mark(I)}function r(I,_){n&&n.measure&&n.measure(I,_)}i("Zone");const c=e.__Zone_symbol_prefix||"__zone_symbol__";function u(I){return c+I}const f=!0===e[u("forceDuplicateZoneCheck")];if(e.Zone){if(f||"function"!=typeof e.Zone.__symbol__)throw new Error("Zone already loaded.");return e.Zone}let p=(()=>{class I{constructor(t,o){this._parent=t,this._name=o?o.name||"unnamed":"",this._properties=o&&o.properties||{},this._zoneDelegate=new T(this,this._parent&&this._parent._zoneDelegate,o)}static assertZonePatched(){if(e.Promise!==K.ZoneAwarePromise)throw new Error("Zone.js has detected that ZoneAwarePromise `(window|global).Promise` has been overwritten.\nMost likely cause is that a Promise polyfill has been loaded after Zone.js (Polyfilling Promise api is not necessary when zone.js is loaded. If you must load one, do so before loading zone.js.)")}static get root(){let t=I.current;for(;t.parent;)t=t.parent;return t}static get current(){return G.zone}static get currentTask(){return te}static __load_patch(t,o,y=!1){if(K.hasOwnProperty(t)){if(!y&&f)throw Error("Already loaded patch: "+t)}else if(!e["__Zone_disable_"+t]){const P="Zone:"+t;i(P),K[t]=o(e,I,le),r(P,P)}}get parent(){return this._parent}get name(){return this._name}get(t){const o=this.getZoneWith(t);if(o)return o._properties[t]}getZoneWith(t){let o=this;for(;o;){if(o._properties.hasOwnProperty(t))return o;o=o._parent}return null}fork(t){if(!t)throw new Error("ZoneSpec required!");return this._zoneDelegate.fork(this,t)}wrap(t,o){if("function"!=typeof t)throw new Error("Expecting function got: "+t);const y=this._zoneDelegate.intercept(this,t,o),P=this;return function(){return P.runGuarded(y,this,arguments,o)}}run(t,o,y,P){G={parent:G,zone:this};try{return this._zoneDelegate.invoke(this,t,o,y,P)}finally{G=G.parent}}runGuarded(t,o=null,y,P){G={parent:G,zone:this};try{try{return this._zoneDelegate.invoke(this,t,o,y,P)}catch(J){if(this._zoneDelegate.handleError(this,J))throw J}}finally{G=G.parent}}runTask(t,o,y){if(t.zone!=this)throw new Error("A task can only be run in the zone of creation! (Creation: "+(t.zone||z).name+"; Execution: "+this.name+")");if(t.state===H&&(t.type===R||t.type===M))return;const P=t.state!=X;P&&t._transitionTo(X,Z),t.runCount++;const J=te;te=t,G={parent:G,zone:this};try{t.type==M&&t.data&&!t.data.isPeriodic&&(t.cancelFn=void 0);try{return this._zoneDelegate.invokeTask(this,t,o,y)}catch(l){if(this._zoneDelegate.handleError(this,l))throw l}}finally{t.state!==H&&t.state!==Y&&(t.type==R||t.data&&t.data.isPeriodic?P&&t._transitionTo(Z,X):(t.runCount=0,this._updateTaskCount(t,-1),P&&t._transitionTo(H,X,H))),G=G.parent,te=J}}scheduleTask(t){if(t.zone&&t.zone!==this){let y=this;for(;y;){if(y===t.zone)throw Error(`can not reschedule task to ${this.name} which is descendants of the original zone ${t.zone.name}`);y=y.parent}}t._transitionTo(W,H);const o=[];t._zoneDelegates=o,t._zone=this;try{t=this._zoneDelegate.scheduleTask(this,t)}catch(y){throw t._transitionTo(Y,W,H),this._zoneDelegate.handleError(this,y),y}return t._zoneDelegates===o&&this._updateTaskCount(t,1),t.state==W&&t._transitionTo(Z,W),t}scheduleMicroTask(t,o,y,P){return this.scheduleTask(new m(v,t,o,y,P,void 0))}scheduleMacroTask(t,o,y,P,J){return this.scheduleTask(new m(M,t,o,y,P,J))}scheduleEventTask(t,o,y,P,J){return this.scheduleTask(new m(R,t,o,y,P,J))}cancelTask(t){if(t.zone!=this)throw new Error("A task can only be cancelled in the zone of creation! (Creation: "+(t.zone||z).name+"; Execution: "+this.name+")");t._transitionTo(A,Z,X);try{this._zoneDelegate.cancelTask(this,t)}catch(o){throw t._transitionTo(Y,A),this._zoneDelegate.handleError(this,o),o}return this._updateTaskCount(t,-1),t._transitionTo(H,A),t.runCount=0,t}_updateTaskCount(t,o){const y=t._zoneDelegates;-1==o&&(t._zoneDelegates=null);for(let P=0;PI.hasTask(t,o),onScheduleTask:(I,_,t,o)=>I.scheduleTask(t,o),onInvokeTask:(I,_,t,o,y,P)=>I.invokeTask(t,o,y,P),onCancelTask:(I,_,t,o)=>I.cancelTask(t,o)};class T{constructor(_,t,o){this._taskCounts={microTask:0,macroTask:0,eventTask:0},this.zone=_,this._parentDelegate=t,this._forkZS=o&&(o&&o.onFork?o:t._forkZS),this._forkDlgt=o&&(o.onFork?t:t._forkDlgt),this._forkCurrZone=o&&(o.onFork?this.zone:t._forkCurrZone),this._interceptZS=o&&(o.onIntercept?o:t._interceptZS),this._interceptDlgt=o&&(o.onIntercept?t:t._interceptDlgt),this._interceptCurrZone=o&&(o.onIntercept?this.zone:t._interceptCurrZone),this._invokeZS=o&&(o.onInvoke?o:t._invokeZS),this._invokeDlgt=o&&(o.onInvoke?t:t._invokeDlgt),this._invokeCurrZone=o&&(o.onInvoke?this.zone:t._invokeCurrZone),this._handleErrorZS=o&&(o.onHandleError?o:t._handleErrorZS),this._handleErrorDlgt=o&&(o.onHandleError?t:t._handleErrorDlgt),this._handleErrorCurrZone=o&&(o.onHandleError?this.zone:t._handleErrorCurrZone),this._scheduleTaskZS=o&&(o.onScheduleTask?o:t._scheduleTaskZS),this._scheduleTaskDlgt=o&&(o.onScheduleTask?t:t._scheduleTaskDlgt),this._scheduleTaskCurrZone=o&&(o.onScheduleTask?this.zone:t._scheduleTaskCurrZone),this._invokeTaskZS=o&&(o.onInvokeTask?o:t._invokeTaskZS),this._invokeTaskDlgt=o&&(o.onInvokeTask?t:t._invokeTaskDlgt),this._invokeTaskCurrZone=o&&(o.onInvokeTask?this.zone:t._invokeTaskCurrZone),this._cancelTaskZS=o&&(o.onCancelTask?o:t._cancelTaskZS),this._cancelTaskDlgt=o&&(o.onCancelTask?t:t._cancelTaskDlgt),this._cancelTaskCurrZone=o&&(o.onCancelTask?this.zone:t._cancelTaskCurrZone),this._hasTaskZS=null,this._hasTaskDlgt=null,this._hasTaskDlgtOwner=null,this._hasTaskCurrZone=null;const y=o&&o.onHasTask;(y||t&&t._hasTaskZS)&&(this._hasTaskZS=y?o:g,this._hasTaskDlgt=t,this._hasTaskDlgtOwner=this,this._hasTaskCurrZone=_,o.onScheduleTask||(this._scheduleTaskZS=g,this._scheduleTaskDlgt=t,this._scheduleTaskCurrZone=this.zone),o.onInvokeTask||(this._invokeTaskZS=g,this._invokeTaskDlgt=t,this._invokeTaskCurrZone=this.zone),o.onCancelTask||(this._cancelTaskZS=g,this._cancelTaskDlgt=t,this._cancelTaskCurrZone=this.zone))}fork(_,t){return this._forkZS?this._forkZS.onFork(this._forkDlgt,this.zone,_,t):new p(_,t)}intercept(_,t,o){return this._interceptZS?this._interceptZS.onIntercept(this._interceptDlgt,this._interceptCurrZone,_,t,o):t}invoke(_,t,o,y,P){return this._invokeZS?this._invokeZS.onInvoke(this._invokeDlgt,this._invokeCurrZone,_,t,o,y,P):t.apply(o,y)}handleError(_,t){return!this._handleErrorZS||this._handleErrorZS.onHandleError(this._handleErrorDlgt,this._handleErrorCurrZone,_,t)}scheduleTask(_,t){let o=t;if(this._scheduleTaskZS)this._hasTaskZS&&o._zoneDelegates.push(this._hasTaskDlgtOwner),o=this._scheduleTaskZS.onScheduleTask(this._scheduleTaskDlgt,this._scheduleTaskCurrZone,_,t),o||(o=t);else if(t.scheduleFn)t.scheduleFn(t);else{if(t.type!=v)throw new Error("Task is missing scheduleFn.");d(t)}return o}invokeTask(_,t,o,y){return this._invokeTaskZS?this._invokeTaskZS.onInvokeTask(this._invokeTaskDlgt,this._invokeTaskCurrZone,_,t,o,y):t.callback.apply(o,y)}cancelTask(_,t){let o;if(this._cancelTaskZS)o=this._cancelTaskZS.onCancelTask(this._cancelTaskDlgt,this._cancelTaskCurrZone,_,t);else{if(!t.cancelFn)throw Error("Task is not cancelable");o=t.cancelFn(t)}return o}hasTask(_,t){try{this._hasTaskZS&&this._hasTaskZS.onHasTask(this._hasTaskDlgt,this._hasTaskCurrZone,_,t)}catch(o){this.handleError(_,o)}}_updateTaskCount(_,t){const o=this._taskCounts,y=o[_],P=o[_]=y+t;if(P<0)throw new Error("More tasks executed then were scheduled.");0!=y&&0!=P||this.hasTask(this.zone,{microTask:o.microTask>0,macroTask:o.macroTask>0,eventTask:o.eventTask>0,change:_})}}class m{constructor(_,t,o,y,P,J){if(this._zone=null,this.runCount=0,this._zoneDelegates=null,this._state="notScheduled",this.type=_,this.source=t,this.data=y,this.scheduleFn=P,this.cancelFn=J,!o)throw new Error("callback is not defined");this.callback=o;const l=this;this.invoke=_===R&&y&&y.useG?m.invokeTask:function(){return m.invokeTask.call(e,l,this,arguments)}}static invokeTask(_,t,o){_||(_=this),re++;try{return _.runCount++,_.zone.runTask(_,t,o)}finally{1==re&&L(),re--}}get zone(){return this._zone}get state(){return this._state}cancelScheduleRequest(){this._transitionTo(H,W)}_transitionTo(_,t,o){if(this._state!==t&&this._state!==o)throw new Error(`${this.type} '${this.source}': can not transition to '${_}', expecting state '${t}'${o?" or '"+o+"'":""}, was '${this._state}'.`);this._state=_,_==H&&(this._zoneDelegates=null)}toString(){return this.data&&typeof this.data.handleId<"u"?this.data.handleId.toString():Object.prototype.toString.call(this)}toJSON(){return{type:this.type,state:this.state,source:this.source,zone:this.zone.name,runCount:this.runCount}}}const D=u("setTimeout"),S=u("Promise"),O=u("then");let E,F=[],V=!1;function d(I){if(0===re&&0===F.length)if(E||e[S]&&(E=e[S].resolve(0)),E){let _=E[O];_||(_=E.then),_.call(E,L)}else e[D](L,0);I&&F.push(I)}function L(){if(!V){for(V=!0;F.length;){const I=F;F=[];for(let _=0;_G,onUnhandledError:B,microtaskDrainDone:B,scheduleMicroTask:d,showUncaughtError:()=>!p[u("ignoreConsoleErrorUncaughtError")],patchEventTarget:()=>[],patchOnProperties:B,patchMethod:()=>B,bindArguments:()=>[],patchThen:()=>B,patchMacroTask:()=>B,patchEventPrototype:()=>B,isIEOrEdge:()=>!1,getGlobalObjects:()=>{},ObjectDefineProperty:()=>B,ObjectGetOwnPropertyDescriptor:()=>{},ObjectCreate:()=>{},ArraySlice:()=>[],patchClass:()=>B,wrapWithCurrentZone:()=>B,filterProperties:()=>[],attachOriginToPatched:()=>B,_redefineProperty:()=>B,patchCallbacks:()=>B};let G={parent:null,zone:new p(null,null)},te=null,re=0;function B(){}r("Zone","Zone"),e.Zone=p}(typeof window<"u"&&window||typeof self<"u"&&self||global);const fe=Object.getOwnPropertyDescriptor,be=Object.defineProperty,ye=Object.getPrototypeOf,lt=Object.create,ut=Array.prototype.slice,De="addEventListener",Ze="removeEventListener",Oe=Zone.__symbol__(De),Ie=Zone.__symbol__(Ze),se="true",ie="false",ge=Zone.__symbol__("");function Le(e,n){return Zone.current.wrap(e,n)}function Me(e,n,i,r,c){return Zone.current.scheduleMacroTask(e,n,i,r,c)}const x=Zone.__symbol__,we=typeof window<"u",de=we?window:void 0,$=we&&de||"object"==typeof self&&self||global,ht=[null];function Ae(e,n){for(let i=e.length-1;i>=0;i--)"function"==typeof e[i]&&(e[i]=Le(e[i],n+"_"+i));return e}function Fe(e){return!e||!1!==e.writable&&!("function"==typeof e.get&&typeof e.set>"u")}const Be=typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope,Pe=!("nw"in $)&&typeof $.process<"u"&&"[object process]"==={}.toString.call($.process),He=!Pe&&!Be&&!(!we||!de.HTMLElement),Ue=typeof $.process<"u"&&"[object process]"==={}.toString.call($.process)&&!Be&&!(!we||!de.HTMLElement),Re={},qe=function(e){if(!(e=e||$.event))return;let n=Re[e.type];n||(n=Re[e.type]=x("ON_PROPERTY"+e.type));const i=this||e.target||$,r=i[n];let c;return He&&i===de&&"error"===e.type?(c=r&&r.call(this,e.message,e.filename,e.lineno,e.colno,e.error),!0===c&&e.preventDefault()):(c=r&&r.apply(this,arguments),null!=c&&!c&&e.preventDefault()),c};function We(e,n,i){let r=fe(e,n);if(!r&&i&&fe(i,n)&&(r={enumerable:!0,configurable:!0}),!r||!r.configurable)return;const c=x("on"+n+"patched");if(e.hasOwnProperty(c)&&e[c])return;delete r.writable,delete r.value;const u=r.get,f=r.set,p=n.substr(2);let g=Re[p];g||(g=Re[p]=x("ON_PROPERTY"+p)),r.set=function(T){let m=this;!m&&e===$&&(m=$),m&&(m[g]&&m.removeEventListener(p,qe),f&&f.apply(m,ht),"function"==typeof T?(m[g]=T,m.addEventListener(p,qe,!1)):m[g]=null)},r.get=function(){let T=this;if(!T&&e===$&&(T=$),!T)return null;const m=T[g];if(m)return m;if(u){let D=u&&u.call(this);if(D)return r.set.call(this,D),"function"==typeof T.removeAttribute&&T.removeAttribute(n),D}return null},be(e,n,r),e[c]=!0}function Xe(e,n,i){if(n)for(let r=0;rfunction(f,p){const g=i(f,p);return g.cbIdx>=0&&"function"==typeof p[g.cbIdx]?Me(g.name,p[g.cbIdx],g,c):u.apply(f,p)})}function ae(e,n){e[x("OriginalDelegate")]=n}let Ye=!1,je=!1;function mt(){if(Ye)return je;Ye=!0;try{const e=de.navigator.userAgent;(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/")||-1!==e.indexOf("Edge/"))&&(je=!0)}catch{}return je}Zone.__load_patch("ZoneAwarePromise",(e,n,i)=>{const r=Object.getOwnPropertyDescriptor,c=Object.defineProperty,f=i.symbol,p=[],g=!0===e[f("DISABLE_WRAPPING_UNCAUGHT_PROMISE_REJECTION")],T=f("Promise"),m=f("then");i.onUnhandledError=l=>{if(i.showUncaughtError()){const s=l&&l.rejection;s?console.error("Unhandled Promise rejection:",s instanceof Error?s.message:s,"; Zone:",l.zone.name,"; Task:",l.task&&l.task.source,"; Value:",s,s instanceof Error?s.stack:void 0):console.error(l)}},i.microtaskDrainDone=()=>{for(;p.length;){const l=p.shift();try{l.zone.runGuarded(()=>{throw l.throwOriginal?l.rejection:l})}catch(s){O(s)}}};const S=f("unhandledPromiseRejectionHandler");function O(l){i.onUnhandledError(l);try{const s=n[S];"function"==typeof s&&s.call(this,l)}catch{}}function F(l){return l&&l.then}function V(l){return l}function E(l){return t.reject(l)}const d=f("state"),L=f("value"),z=f("finally"),H=f("parentPromiseValue"),W=f("parentPromiseState"),X=null,A=!0,Y=!1;function M(l,s){return a=>{try{G(l,s,a)}catch(h){G(l,!1,h)}}}const le=f("currentTaskTrace");function G(l,s,a){const h=function(){let l=!1;return function(a){return function(){l||(l=!0,a.apply(null,arguments))}}}();if(l===a)throw new TypeError("Promise resolved with itself");if(l[d]===X){let w=null;try{("object"==typeof a||"function"==typeof a)&&(w=a&&a.then)}catch(N){return h(()=>{G(l,!1,N)})(),l}if(s!==Y&&a instanceof t&&a.hasOwnProperty(d)&&a.hasOwnProperty(L)&&a[d]!==X)re(a),G(l,a[d],a[L]);else if(s!==Y&&"function"==typeof w)try{w.call(a,h(M(l,s)),h(M(l,!1)))}catch(N){h(()=>{G(l,!1,N)})()}else{l[d]=s;const N=l[L];if(l[L]=a,l[z]===z&&s===A&&(l[d]=l[W],l[L]=l[H]),s===Y&&a instanceof Error){const k=n.currentTask&&n.currentTask.data&&n.currentTask.data.__creationTrace__;k&&c(a,le,{configurable:!0,enumerable:!1,writable:!0,value:k})}for(let k=0;k{try{const b=l[L],C=!!a&&z===a[z];C&&(a[H]=b,a[W]=N);const j=s.run(k,void 0,C&&k!==E&&k!==V?[]:[b]);G(a,!0,j)}catch(b){G(a,!1,b)}},a)}const _=function(){};class t{static toString(){return"function ZoneAwarePromise() { [native code] }"}static resolve(s){return G(new this(null),A,s)}static reject(s){return G(new this(null),Y,s)}static race(s){let a,h,w=new this((b,C)=>{a=b,h=C});function N(b){a(b)}function k(b){h(b)}for(let b of s)F(b)||(b=this.resolve(b)),b.then(N,k);return w}static all(s){return t.allWithCallback(s)}static allSettled(s){return(this&&this.prototype instanceof t?this:t).allWithCallback(s,{thenCallback:h=>({status:"fulfilled",value:h}),errorCallback:h=>({status:"rejected",reason:h})})}static allWithCallback(s,a){let h,w,N=new this((j,U)=>{h=j,w=U}),k=2,b=0;const C=[];for(let j of s){F(j)||(j=this.resolve(j));const U=b;try{j.then(Q=>{C[U]=a?a.thenCallback(Q):Q,k--,0===k&&h(C)},Q=>{a?(C[U]=a.errorCallback(Q),k--,0===k&&h(C)):w(Q)})}catch(Q){w(Q)}k++,b++}return k-=2,0===k&&h(C),N}constructor(s){const a=this;if(!(a instanceof t))throw new Error("Must be an instanceof Promise.");a[d]=X,a[L]=[];try{s&&s(M(a,A),M(a,Y))}catch(h){G(a,!1,h)}}get[Symbol.toStringTag](){return"Promise"}get[Symbol.species](){return t}then(s,a){let h=this.constructor[Symbol.species];(!h||"function"!=typeof h)&&(h=this.constructor||t);const w=new h(_),N=n.current;return this[d]==X?this[L].push(N,w,s,a):B(this,N,w,s,a),w}catch(s){return this.then(null,s)}finally(s){let a=this.constructor[Symbol.species];(!a||"function"!=typeof a)&&(a=t);const h=new a(_);h[z]=z;const w=n.current;return this[d]==X?this[L].push(w,h,s,s):B(this,w,h,s,s),h}}t.resolve=t.resolve,t.reject=t.reject,t.race=t.race,t.all=t.all;const o=e[T]=e.Promise;e.Promise=t;const y=f("thenPatched");function P(l){const s=l.prototype,a=r(s,"then");if(a&&(!1===a.writable||!a.configurable))return;const h=s.then;s[m]=h,l.prototype.then=function(w,N){return new t((b,C)=>{h.call(this,b,C)}).then(w,N)},l[y]=!0}return i.patchThen=P,o&&(P(o),ce(e,"fetch",l=>function J(l){return function(s,a){let h=l.apply(s,a);if(h instanceof t)return h;let w=h.constructor;return w[y]||P(w),h}}(l))),Promise[n.__symbol__("uncaughtPromiseErrors")]=p,t}),Zone.__load_patch("toString",e=>{const n=Function.prototype.toString,i=x("OriginalDelegate"),r=x("Promise"),c=x("Error"),u=function(){if("function"==typeof this){const T=this[i];if(T)return"function"==typeof T?n.call(T):Object.prototype.toString.call(T);if(this===Promise){const m=e[r];if(m)return n.call(m)}if(this===Error){const m=e[c];if(m)return n.call(m)}}return n.call(this)};u[i]=n,Function.prototype.toString=u;const f=Object.prototype.toString;Object.prototype.toString=function(){return"function"==typeof Promise&&this instanceof Promise?"[object Promise]":f.call(this)}});let pe=!1;if(typeof window<"u")try{const e=Object.defineProperty({},"passive",{get:function(){pe=!0}});window.addEventListener("test",e,e),window.removeEventListener("test",e,e)}catch{pe=!1}const Et={useG:!0},ee={},$e={},Je=new RegExp("^"+ge+"(\\w+)(true|false)$"),xe=x("propagationStopped");function Ke(e,n){const i=(n?n(e):e)+ie,r=(n?n(e):e)+se,c=ge+i,u=ge+r;ee[e]={},ee[e][ie]=c,ee[e][se]=u}function Tt(e,n,i){const r=i&&i.add||De,c=i&&i.rm||Ze,u=i&&i.listeners||"eventListeners",f=i&&i.rmAll||"removeAllListeners",p=x(r),g="."+r+":",T="prependListener",m="."+T+":",D=function(E,d,L){if(E.isRemoved)return;const z=E.callback;"object"==typeof z&&z.handleEvent&&(E.callback=W=>z.handleEvent(W),E.originalDelegate=z),E.invoke(E,d,[L]);const H=E.options;H&&"object"==typeof H&&H.once&&d[c].call(d,L.type,E.originalDelegate?E.originalDelegate:E.callback,H)},S=function(E){if(!(E=E||e.event))return;const d=this||E.target||e,L=d[ee[E.type][ie]];if(L)if(1===L.length)D(L[0],d,E);else{const z=L.slice();for(let H=0;Hfunction(c,u){c[xe]=!0,r&&r.apply(c,u)})}function gt(e,n,i,r,c){const u=Zone.__symbol__(r);if(n[u])return;const f=n[u]=n[r];n[r]=function(p,g,T){return g&&g.prototype&&c.forEach(function(m){const D=`${i}.${r}::`+m,S=g.prototype;if(S.hasOwnProperty(m)){const O=e.ObjectGetOwnPropertyDescriptor(S,m);O&&O.value?(O.value=e.wrapWithCurrentZone(O.value,D),e._redefineProperty(g.prototype,m,O)):S[m]&&(S[m]=e.wrapWithCurrentZone(S[m],D))}else S[m]&&(S[m]=e.wrapWithCurrentZone(S[m],D))}),f.call(n,p,g,T)},e.attachOriginToPatched(n[r],f)}const Ve=["absolutedeviceorientation","afterinput","afterprint","appinstalled","beforeinstallprompt","beforeprint","beforeunload","devicelight","devicemotion","deviceorientation","deviceorientationabsolute","deviceproximity","hashchange","languagechange","message","mozbeforepaint","offline","online","paint","pageshow","pagehide","popstate","rejectionhandled","storage","unhandledrejection","unload","userproximity","vrdisplayconnected","vrdisplaydisconnected","vrdisplaypresentchange"],wt=["encrypted","waitingforkey","msneedkey","mozinterruptbegin","mozinterruptend"],et=["load"],tt=["blur","error","focus","load","resize","scroll","messageerror"],St=["bounce","finish","start"],nt=["loadstart","progress","abort","error","load","progress","timeout","loadend","readystatechange"],_e=["upgradeneeded","complete","abort","success","error","blocked","versionchange","close"],Dt=["close","error","open","message"],Zt=["error","message"],me=["abort","animationcancel","animationend","animationiteration","auxclick","beforeinput","blur","cancel","canplay","canplaythrough","change","compositionstart","compositionupdate","compositionend","cuechange","click","close","contextmenu","curechange","dblclick","drag","dragend","dragenter","dragexit","dragleave","dragover","drop","durationchange","emptied","ended","error","focus","focusin","focusout","gotpointercapture","input","invalid","keydown","keypress","keyup","load","loadstart","loadeddata","loadedmetadata","lostpointercapture","mousedown","mouseenter","mouseleave","mousemove","mouseout","mouseover","mouseup","mousewheel","orientationchange","pause","play","playing","pointercancel","pointerdown","pointerenter","pointerleave","pointerlockchange","mozpointerlockchange","webkitpointerlockerchange","pointerlockerror","mozpointerlockerror","webkitpointerlockerror","pointermove","pointout","pointerover","pointerup","progress","ratechange","reset","resize","scroll","seeked","seeking","select","selectionchange","selectstart","show","sort","stalled","submit","suspend","timeupdate","volumechange","touchcancel","touchmove","touchstart","touchend","transitioncancel","transitionend","waiting","wheel"].concat(["webglcontextrestored","webglcontextlost","webglcontextcreationerror"],["autocomplete","autocompleteerror"],["toggle"],["afterscriptexecute","beforescriptexecute","DOMContentLoaded","freeze","fullscreenchange","mozfullscreenchange","webkitfullscreenchange","msfullscreenchange","fullscreenerror","mozfullscreenerror","webkitfullscreenerror","msfullscreenerror","readystatechange","visibilitychange","resume"],Ve,["beforecopy","beforecut","beforepaste","copy","cut","paste","dragstart","loadend","animationstart","search","transitionrun","transitionstart","webkitanimationend","webkitanimationiteration","webkitanimationstart","webkittransitionend"],["activate","afterupdate","ariarequest","beforeactivate","beforedeactivate","beforeeditfocus","beforeupdate","cellchange","controlselect","dataavailable","datasetchanged","datasetcomplete","errorupdate","filterchange","layoutcomplete","losecapture","move","moveend","movestart","propertychange","resizeend","resizestart","rowenter","rowexit","rowsdelete","rowsinserted","command","compassneedscalibration","deactivate","help","mscontentzoom","msmanipulationstatechanged","msgesturechange","msgesturedoubletap","msgestureend","msgesturehold","msgesturestart","msgesturetap","msgotpointercapture","msinertiastart","mslostpointercapture","mspointercancel","mspointerdown","mspointerenter","mspointerhover","mspointerleave","mspointermove","mspointerout","mspointerover","mspointerup","pointerout","mssitemodejumplistitemremoved","msthumbnailclick","stop","storagecommit"]);function rt(e,n,i){if(!i||0===i.length)return n;const r=i.filter(u=>u.target===e);if(!r||0===r.length)return n;const c=r[0].ignoreProperties;return n.filter(u=>-1===c.indexOf(u))}function q(e,n,i,r){e&&Xe(e,rt(e,n,i),r)}Zone.__load_patch("util",(e,n,i)=>{i.patchOnProperties=Xe,i.patchMethod=ce,i.bindArguments=Ae,i.patchMacroTask=pt;const r=n.__symbol__("BLACK_LISTED_EVENTS"),c=n.__symbol__("UNPATCHED_EVENTS");e[c]&&(e[r]=e[c]),e[r]&&(n[r]=n[c]=e[r]),i.patchEventPrototype=yt,i.patchEventTarget=Tt,i.isIEOrEdge=mt,i.ObjectDefineProperty=be,i.ObjectGetOwnPropertyDescriptor=fe,i.ObjectCreate=lt,i.ArraySlice=ut,i.patchClass=ke,i.wrapWithCurrentZone=Le,i.filterProperties=rt,i.attachOriginToPatched=ae,i._redefineProperty=Object.defineProperty,i.patchCallbacks=gt,i.getGlobalObjects=()=>({globalSources:$e,zoneSymbolEventNames:ee,eventNames:me,isBrowser:He,isMix:Ue,isNode:Pe,TRUE_STR:se,FALSE_STR:ie,ZONE_SYMBOL_PREFIX:ge,ADD_EVENT_LISTENER_STR:De,REMOVE_EVENT_LISTENER_STR:Ze})});const Ne=x("zoneTask");function Ee(e,n,i,r){let c=null,u=null;i+=r;const f={};function p(T){const m=T.data;return m.args[0]=function(){return T.invoke.apply(this,arguments)},m.handleId=c.apply(e,m.args),T}function g(T){return u.call(e,T.data.handleId)}c=ce(e,n+=r,T=>function(m,D){if("function"==typeof D[0]){const S={isPeriodic:"Interval"===r,delay:"Timeout"===r||"Interval"===r?D[1]||0:void 0,args:D},O=D[0];D[0]=function(){try{return O.apply(this,arguments)}finally{S.isPeriodic||("number"==typeof S.handleId?delete f[S.handleId]:S.handleId&&(S.handleId[Ne]=null))}};const F=Me(n,D[0],S,p,g);if(!F)return F;const V=F.data.handleId;return"number"==typeof V?f[V]=F:V&&(V[Ne]=F),V&&V.ref&&V.unref&&"function"==typeof V.ref&&"function"==typeof V.unref&&(F.ref=V.ref.bind(V),F.unref=V.unref.bind(V)),"number"==typeof V||V?V:F}return T.apply(e,D)}),u=ce(e,i,T=>function(m,D){const S=D[0];let O;"number"==typeof S?O=f[S]:(O=S&&S[Ne],O||(O=S)),O&&"string"==typeof O.type?"notScheduled"!==O.state&&(O.cancelFn&&O.data.isPeriodic||0===O.runCount)&&("number"==typeof S?delete f[S]:S&&(S[Ne]=null),O.zone.cancelTask(O)):T.apply(e,D)})}Zone.__load_patch("legacy",e=>{const n=e[Zone.__symbol__("legacyPatch")];n&&n()}),Zone.__load_patch("queueMicrotask",(e,n,i)=>{i.patchMethod(e,"queueMicrotask",r=>function(c,u){n.current.scheduleMicroTask("queueMicrotask",u[0])})}),Zone.__load_patch("timers",e=>{const n="set",i="clear";Ee(e,n,i,"Timeout"),Ee(e,n,i,"Interval"),Ee(e,n,i,"Immediate")}),Zone.__load_patch("requestAnimationFrame",e=>{Ee(e,"request","cancel","AnimationFrame"),Ee(e,"mozRequest","mozCancel","AnimationFrame"),Ee(e,"webkitRequest","webkitCancel","AnimationFrame")}),Zone.__load_patch("blocking",(e,n)=>{const i=["alert","prompt","confirm"];for(let r=0;rfunction(g,T){return n.current.run(u,e,T,p)})}),Zone.__load_patch("EventTarget",(e,n,i)=>{(function Mt(e,n){n.patchEventPrototype(e,n)})(e,i),function Lt(e,n){if(Zone[n.symbol("patchEventTarget")])return;const{eventNames:i,zoneSymbolEventNames:r,TRUE_STR:c,FALSE_STR:u,ZONE_SYMBOL_PREFIX:f}=n.getGlobalObjects();for(let g=0;g{ke("MutationObserver"),ke("WebKitMutationObserver")}),Zone.__load_patch("IntersectionObserver",(e,n,i)=>{ke("IntersectionObserver")}),Zone.__load_patch("FileReader",(e,n,i)=>{ke("FileReader")}),Zone.__load_patch("on_property",(e,n,i)=>{!function Ot(e,n){if(Pe&&!Ue||Zone[e.symbol("patchEvents")])return;const i=typeof WebSocket<"u",r=n.__Zone_ignore_on_properties;if(He){const f=window,p=function _t(){try{const e=de.navigator.userAgent;if(-1!==e.indexOf("MSIE ")||-1!==e.indexOf("Trident/"))return!0}catch{}return!1}()?[{target:f,ignoreProperties:["error"]}]:[];q(f,me.concat(["messageerror"]),r&&r.concat(p),ye(f)),q(Document.prototype,me,r),typeof f.SVGElement<"u"&&q(f.SVGElement.prototype,me,r),q(Element.prototype,me,r),q(HTMLElement.prototype,me,r),q(HTMLMediaElement.prototype,wt,r),q(HTMLFrameSetElement.prototype,Ve.concat(tt),r),q(HTMLBodyElement.prototype,Ve.concat(tt),r),q(HTMLFrameElement.prototype,et,r),q(HTMLIFrameElement.prototype,et,r);const g=f.HTMLMarqueeElement;g&&q(g.prototype,St,r);const T=f.Worker;T&&q(T.prototype,Zt,r)}const c=n.XMLHttpRequest;c&&q(c.prototype,nt,r);const u=n.XMLHttpRequestEventTarget;u&&q(u&&u.prototype,nt,r),typeof IDBIndex<"u"&&(q(IDBIndex.prototype,_e,r),q(IDBRequest.prototype,_e,r),q(IDBOpenDBRequest.prototype,_e,r),q(IDBDatabase.prototype,_e,r),q(IDBTransaction.prototype,_e,r),q(IDBCursor.prototype,_e,r)),i&&q(WebSocket.prototype,Dt,r)}(i,e)}),Zone.__load_patch("customElements",(e,n,i)=>{!function It(e,n){const{isBrowser:i,isMix:r}=n.getGlobalObjects();(i||r)&&e.customElements&&"customElements"in e&&n.patchCallbacks(n,e.customElements,"customElements","define",["connectedCallback","disconnectedCallback","adoptedCallback","attributeChangedCallback"])}(e,i)}),Zone.__load_patch("XHR",(e,n)=>{!function g(T){const m=T.XMLHttpRequest;if(!m)return;const D=m.prototype;let O=D[Oe],F=D[Ie];if(!O){const v=T.XMLHttpRequestEventTarget;if(v){const M=v.prototype;O=M[Oe],F=M[Ie]}}const V="readystatechange",E="scheduled";function d(v){const M=v.data,R=M.target;R[u]=!1,R[p]=!1;const K=R[c];O||(O=R[Oe],F=R[Ie]),K&&F.call(R,V,K);const le=R[c]=()=>{if(R.readyState===R.DONE)if(!M.aborted&&R[u]&&v.state===E){const te=R[n.__symbol__("loadfalse")];if(0!==R.status&&te&&te.length>0){const re=v.invoke;v.invoke=function(){const B=R[n.__symbol__("loadfalse")];for(let I=0;Ifunction(v,M){return v[r]=0==M[2],v[f]=M[1],H.apply(v,M)}),Z=x("fetchTaskAborting"),X=x("fetchTaskScheduling"),A=ce(D,"send",()=>function(v,M){if(!0===n.current[X]||v[r])return A.apply(v,M);{const R={target:v,url:v[f],isPeriodic:!1,args:M,aborted:!1},K=Me("XMLHttpRequest.send",L,R,d,z);v&&!0===v[p]&&!R.aborted&&K.state===E&&K.invoke()}}),Y=ce(D,"abort",()=>function(v,M){const R=function S(v){return v[i]}(v);if(R&&"string"==typeof R.type){if(null==R.cancelFn||R.data&&R.data.aborted)return;R.zone.cancelTask(R)}else if(!0===n.current[Z])return Y.apply(v,M)})}(e);const i=x("xhrTask"),r=x("xhrSync"),c=x("xhrListener"),u=x("xhrScheduled"),f=x("xhrURL"),p=x("xhrErrorBeforeScheduled")}),Zone.__load_patch("geolocation",e=>{e.navigator&&e.navigator.geolocation&&function dt(e,n){const i=e.constructor.name;for(let r=0;r{const g=function(){return p.apply(this,Ae(arguments,i+"."+c))};return ae(g,p),g})(u)}}}(e.navigator.geolocation,["getCurrentPosition","watchPosition"])}),Zone.__load_patch("PromiseRejectionEvent",(e,n)=>{function i(r){return function(c){Qe(e,r).forEach(f=>{const p=e.PromiseRejectionEvent;if(p){const g=new p(r,{promise:c.promise,reason:c.rejection});f.invoke(g)}})}}e.PromiseRejectionEvent&&(n[x("unhandledPromiseRejectionHandler")]=i("unhandledrejection"),n[x("rejectionHandledHandler")]=i("rejectionhandled"))})}},Se=>{Se(Se.s=88583)}]);(self.webpackChunkcontenttype_fields_builder=self.webpackChunkcontenttype_fields_builder||[]).push([[179],{65790:(Ci,gs,Pn)=>{"use strict";function ut(n){return"function"==typeof n}let Yt=!1;const Be={Promise:void 0,set useDeprecatedSynchronousErrorHandling(n){if(n){const t=new Error;console.warn("DEPRECATED! RxJS was set to use deprecated synchronous error handling behavior by code at: \n"+t.stack)}else Yt&&console.log("RxJS: Back to a better error behavior. Thank you. <3");Yt=n},get useDeprecatedSynchronousErrorHandling(){return Yt}};function Ct(n){setTimeout(()=>{throw n},0)}const ii={closed:!0,next(n){},error(n){if(Be.useDeprecatedSynchronousErrorHandling)throw n;Ct(n)},complete(){}},Zt=Array.isArray||(n=>n&&"number"==typeof n.length);function zl(n){return null!==n&&"object"==typeof n}const ys=(()=>{function n(t){return Error.call(this),this.message=t?`${t.length} errors occurred during unsubscription:\n${t.map((e,i)=>`${i+1}) ${e.toString()}`).join("\n ")}`:"",this.name="UnsubscriptionError",this.errors=t,this}return n.prototype=Object.create(Error.prototype),n})();class ve{constructor(t){this.closed=!1,this._parentOrParents=null,this._subscriptions=null,t&&(this._ctorUnsubscribe=!0,this._unsubscribe=t)}unsubscribe(){let t;if(this.closed)return;let{_parentOrParents:e,_ctorUnsubscribe:i,_unsubscribe:r,_subscriptions:o}=this;if(this.closed=!0,this._parentOrParents=null,this._subscriptions=null,e instanceof ve)e.remove(this);else if(null!==e)for(let s=0;st.concat(e instanceof ys?e.errors:e),[])}ve.EMPTY=((n=new ve).closed=!0,n);const _s="function"==typeof Symbol?Symbol("rxSubscriber"):"@@rxSubscriber_"+Math.random();class De extends ve{constructor(t,e,i){switch(super(),this.syncErrorValue=null,this.syncErrorThrown=!1,this.syncErrorThrowable=!1,this.isStopped=!1,arguments.length){case 0:this.destination=ii;break;case 1:if(!t){this.destination=ii;break}if("object"==typeof t){t instanceof De?(this.syncErrorThrowable=t.syncErrorThrowable,this.destination=t,t.add(this)):(this.syncErrorThrowable=!0,this.destination=new hh(this,t));break}default:this.syncErrorThrowable=!0,this.destination=new hh(this,t,e,i)}}[_s](){return this}static create(t,e,i){const r=new De(t,e,i);return r.syncErrorThrowable=!1,r}next(t){this.isStopped||this._next(t)}error(t){this.isStopped||(this.isStopped=!0,this._error(t))}complete(){this.isStopped||(this.isStopped=!0,this._complete())}unsubscribe(){this.closed||(this.isStopped=!0,super.unsubscribe())}_next(t){this.destination.next(t)}_error(t){this.destination.error(t),this.unsubscribe()}_complete(){this.destination.complete(),this.unsubscribe()}_unsubscribeAndRecycle(){const{_parentOrParents:t}=this;return this._parentOrParents=null,this.unsubscribe(),this.closed=!1,this.isStopped=!1,this._parentOrParents=t,this}}class hh extends De{constructor(t,e,i,r){super(),this._parentSubscriber=t;let o,s=this;ut(e)?o=e:e&&(o=e.next,i=e.error,r=e.complete,e!==ii&&(s=Object.create(e),ut(s.unsubscribe)&&this.add(s.unsubscribe.bind(s)),s.unsubscribe=this.unsubscribe.bind(this))),this._context=s,this._next=o,this._error=i,this._complete=r}next(t){if(!this.isStopped&&this._next){const{_parentSubscriber:e}=this;Be.useDeprecatedSynchronousErrorHandling&&e.syncErrorThrowable?this.__tryOrSetError(e,this._next,t)&&this.unsubscribe():this.__tryOrUnsub(this._next,t)}}error(t){if(!this.isStopped){const{_parentSubscriber:e}=this,{useDeprecatedSynchronousErrorHandling:i}=Be;if(this._error)i&&e.syncErrorThrowable?(this.__tryOrSetError(e,this._error,t),this.unsubscribe()):(this.__tryOrUnsub(this._error,t),this.unsubscribe());else if(e.syncErrorThrowable)i?(e.syncErrorValue=t,e.syncErrorThrown=!0):Ct(t),this.unsubscribe();else{if(this.unsubscribe(),i)throw t;Ct(t)}}}complete(){if(!this.isStopped){const{_parentSubscriber:t}=this;if(this._complete){const e=()=>this._complete.call(this._context);Be.useDeprecatedSynchronousErrorHandling&&t.syncErrorThrowable?(this.__tryOrSetError(t,e),this.unsubscribe()):(this.__tryOrUnsub(e),this.unsubscribe())}else this.unsubscribe()}}__tryOrUnsub(t,e){try{t.call(this._context,e)}catch(i){if(this.unsubscribe(),Be.useDeprecatedSynchronousErrorHandling)throw i;Ct(i)}}__tryOrSetError(t,e,i){if(!Be.useDeprecatedSynchronousErrorHandling)throw new Error("bad call");try{e.call(this._context,i)}catch(r){return Be.useDeprecatedSynchronousErrorHandling?(t.syncErrorValue=r,t.syncErrorThrown=!0,!0):(Ct(r),!0)}return!1}_unsubscribe(){const{_parentSubscriber:t}=this;this._context=null,this._parentSubscriber=null,t.unsubscribe()}}const Qr="function"==typeof Symbol&&Symbol.observable||"@@observable";function ph(n){return n}let be=(()=>{class n{constructor(e){this._isScalar=!1,e&&(this._subscribe=e)}lift(e){const i=new n;return i.source=this,i.operator=e,i}subscribe(e,i,r){const{operator:o}=this,s=function KE(n,t,e){if(n){if(n instanceof De)return n;if(n[_s])return n[_s]()}return n||t||e?new De(n,t,e):new De(ii)}(e,i,r);if(s.add(o?o.call(s,this.source):this.source||Be.useDeprecatedSynchronousErrorHandling&&!s.syncErrorThrowable?this._subscribe(s):this._trySubscribe(s)),Be.useDeprecatedSynchronousErrorHandling&&s.syncErrorThrowable&&(s.syncErrorThrowable=!1,s.syncErrorThrown))throw s.syncErrorValue;return s}_trySubscribe(e){try{return this._subscribe(e)}catch(i){Be.useDeprecatedSynchronousErrorHandling&&(e.syncErrorThrown=!0,e.syncErrorValue=i),function qE(n){for(;n;){const{closed:t,destination:e,isStopped:i}=n;if(t||i)return!1;n=e&&e instanceof De?e:null}return!0}(e)?e.error(i):console.warn(i)}}forEach(e,i){return new(i=gh(i))((r,o)=>{let s;s=this.subscribe(a=>{try{e(a)}catch(l){o(l),s&&s.unsubscribe()}},o,r)})}_subscribe(e){const{source:i}=this;return i&&i.subscribe(e)}[Qr](){return this}pipe(...e){return 0===e.length?this:function mh(n){return 0===n.length?ph:1===n.length?n[0]:function(e){return n.reduce((i,r)=>r(i),e)}}(e)(this)}toPromise(e){return new(e=gh(e))((i,r)=>{let o;this.subscribe(s=>o=s,s=>r(s),()=>i(o))})}}return n.create=t=>new n(t),n})();function gh(n){if(n||(n=Be.Promise||Promise),!n)throw new Error("no Promise impl found");return n}const wi=(()=>{function n(){return Error.call(this),this.message="object unsubscribed",this.name="ObjectUnsubscribedError",this}return n.prototype=Object.create(Error.prototype),n})();class yh extends ve{constructor(t,e){super(),this.subject=t,this.subscriber=e,this.closed=!1}unsubscribe(){if(this.closed)return;this.closed=!0;const t=this.subject,e=t.observers;if(this.subject=null,!e||0===e.length||t.isStopped||t.closed)return;const i=e.indexOf(this.subscriber);-1!==i&&e.splice(i,1)}}class _h extends De{constructor(t){super(t),this.destination=t}}let hn=(()=>{class n extends be{constructor(){super(),this.observers=[],this.closed=!1,this.isStopped=!1,this.hasError=!1,this.thrownError=null}[_s](){return new _h(this)}lift(e){const i=new vh(this,this);return i.operator=e,i}next(e){if(this.closed)throw new wi;if(!this.isStopped){const{observers:i}=this,r=i.length,o=i.slice();for(let s=0;snew vh(t,e),n})();class vh extends hn{constructor(t,e){super(),this.destination=t,this.source=e}next(t){const{destination:e}=this;e&&e.next&&e.next(t)}error(t){const{destination:e}=this;e&&e.error&&this.destination.error(t)}complete(){const{destination:t}=this;t&&t.complete&&this.destination.complete()}_subscribe(t){const{source:e}=this;return e?this.source.subscribe(t):ve.EMPTY}}function Wl(n){return n&&"function"==typeof n.schedule}function Xe(n,t){return function(i){if("function"!=typeof n)throw new TypeError("argument is not a function. Are you looking for `mapTo()`?");return i.lift(new QE(n,t))}}class QE{constructor(t,e){this.project=t,this.thisArg=e}call(t,e){return e.subscribe(new YE(t,this.project,this.thisArg))}}class YE extends De{constructor(t,e,i){super(t),this.project=e,this.count=0,this.thisArg=i||this}_next(t){let e;try{e=this.project.call(this.thisArg,t,this.count++)}catch(i){return void this.destination.error(i)}this.destination.next(e)}}const bh=n=>t=>{for(let e=0,i=n.length;en&&"number"==typeof n.length&&"function"!=typeof n;function Eh(n){return!!n&&"function"!=typeof n.subscribe&&"function"==typeof n.then}const Gl=n=>{if(n&&"function"==typeof n[Qr])return(n=>t=>{const e=n[Qr]();if("function"!=typeof e.subscribe)throw new TypeError("Provided object does not correctly implement Symbol.observable");return e.subscribe(t)})(n);if(Dh(n))return bh(n);if(Eh(n))return(n=>t=>(n.then(e=>{t.closed||(t.next(e),t.complete())},e=>t.error(e)).then(null,Ct),t))(n);if(n&&"function"==typeof n[vs])return(n=>t=>{const e=n[vs]();for(;;){let i;try{i=e.next()}catch(r){return t.error(r),t}if(i.done){t.complete();break}if(t.next(i.value),t.closed)break}return"function"==typeof e.return&&t.add(()=>{e.return&&e.return()}),t})(n);{const e=`You provided ${zl(n)?"an invalid object":`'${n}'`} where a stream was expected. You can provide an Observable, Promise, Array, or Iterable.`;throw new TypeError(e)}};function ql(n,t){return new be(e=>{const i=new ve;let r=0;return i.add(t.schedule(function(){r!==n.length?(e.next(n[r++]),e.closed||i.add(this.schedule())):e.complete()})),i})}function Sh(n,t){if(null!=n){if(function rS(n){return n&&"function"==typeof n[Qr]}(n))return function tS(n,t){return new be(e=>{const i=new ve;return i.add(t.schedule(()=>{const r=n[Qr]();i.add(r.subscribe({next(o){i.add(t.schedule(()=>e.next(o)))},error(o){i.add(t.schedule(()=>e.error(o)))},complete(){i.add(t.schedule(()=>e.complete()))}}))})),i})}(n,t);if(Eh(n))return function nS(n,t){return new be(e=>{const i=new ve;return i.add(t.schedule(()=>n.then(r=>{i.add(t.schedule(()=>{e.next(r),i.add(t.schedule(()=>e.complete()))}))},r=>{i.add(t.schedule(()=>e.error(r)))}))),i})}(n,t);if(Dh(n))return ql(n,t);if(function oS(n){return n&&"function"==typeof n[vs]}(n)||"string"==typeof n)return function iS(n,t){if(!n)throw new Error("Iterable cannot be null");return new be(e=>{const i=new ve;let r;return i.add(()=>{r&&"function"==typeof r.return&&r.return()}),i.add(t.schedule(()=>{r=n[vs](),i.add(t.schedule(function(){if(e.closed)return;let o,s;try{const a=r.next();o=a.value,s=a.done}catch(a){return void e.error(a)}s?e.complete():(e.next(o),this.schedule())}))})),i})}(n,t)}throw new TypeError((null!==n&&typeof n||n)+" is not observable")}function Ii(n,t){return t?Sh(n,t):n instanceof be?n:new be(Gl(n))}class bs extends De{constructor(t){super(),this.parent=t}_next(t){this.parent.notifyNext(t)}_error(t){this.parent.notifyError(t),this.unsubscribe()}_complete(){this.parent.notifyComplete(),this.unsubscribe()}}class Ds extends De{notifyNext(t){this.destination.next(t)}notifyError(t){this.destination.error(t)}notifyComplete(){this.destination.complete()}}function Es(n,t){if(t.closed)return;if(n instanceof be)return n.subscribe(t);let e;try{e=Gl(n)(t)}catch(i){t.error(i)}return e}function Kl(n,t,e=Number.POSITIVE_INFINITY){return"function"==typeof t?i=>i.pipe(Kl((r,o)=>Ii(n(r,o)).pipe(Xe((s,a)=>t(r,s,o,a))),e)):("number"==typeof t&&(e=t),i=>i.lift(new sS(n,e)))}class sS{constructor(t,e=Number.POSITIVE_INFINITY){this.project=t,this.concurrent=e}call(t,e){return e.subscribe(new aS(t,this.project,this.concurrent))}}class aS extends Ds{constructor(t,e,i=Number.POSITIVE_INFINITY){super(t),this.project=e,this.concurrent=i,this.hasCompleted=!1,this.buffer=[],this.active=0,this.index=0}_next(t){this.active0?this._next(t.shift()):0===this.active&&this.hasCompleted&&this.destination.complete()}}function Ql(n,t){return t?ql(n,t):new be(bh(n))}function Ch(...n){let t=Number.POSITIVE_INFINITY,e=null,i=n[n.length-1];return Wl(i)?(e=n.pop(),n.length>1&&"number"==typeof n[n.length-1]&&(t=n.pop())):"number"==typeof i&&(t=n.pop()),null===e&&1===n.length&&n[0]instanceof be?n[0]:function lS(n=Number.POSITIVE_INFINITY){return Kl(ph,n)}(t)(Ql(n,e))}function wh(){return function(t){return t.lift(new cS(t))}}class cS{constructor(t){this.connectable=t}call(t,e){const{connectable:i}=this;i._refCount++;const r=new uS(t,i),o=e.subscribe(r);return r.closed||(r.connection=i.connect()),o}}class uS extends De{constructor(t,e){super(t),this.connectable=e}_unsubscribe(){const{connectable:t}=this;if(!t)return void(this.connection=null);this.connectable=null;const e=t._refCount;if(e<=0)return void(this.connection=null);if(t._refCount=e-1,e>1)return void(this.connection=null);const{connection:i}=this,r=t._connection;this.connection=null,r&&(!i||r===i)&&r.unsubscribe()}}class dS extends be{constructor(t,e){super(),this.source=t,this.subjectFactory=e,this._refCount=0,this._isComplete=!1}_subscribe(t){return this.getSubject().subscribe(t)}getSubject(){const t=this._subject;return(!t||t.isStopped)&&(this._subject=this.subjectFactory()),this._subject}connect(){let t=this._connection;return t||(this._isComplete=!1,t=this._connection=new ve,t.add(this.source.subscribe(new hS(this.getSubject(),this))),t.closed&&(this._connection=null,t=ve.EMPTY)),t}refCount(){return wh()(this)}}const fS=(()=>{const n=dS.prototype;return{operator:{value:null},_refCount:{value:0,writable:!0},_subject:{value:null,writable:!0},_connection:{value:null,writable:!0},_subscribe:{value:n._subscribe},_isComplete:{value:n._isComplete,writable:!0},getSubject:{value:n.getSubject},connect:{value:n.connect},refCount:{value:n.refCount}}})();class hS extends _h{constructor(t,e){super(t),this.connectable=e}_error(t){this._unsubscribe(),super._error(t)}_complete(){this.connectable._isComplete=!0,this._unsubscribe(),super._complete()}_unsubscribe(){const t=this.connectable;if(t){this.connectable=null;const e=t._connection;t._refCount=0,t._subject=null,t._connection=null,e&&e.unsubscribe()}}}class gS{constructor(t,e){this.subjectFactory=t,this.selector=e}call(t,e){const{selector:i}=this,r=this.subjectFactory(),o=i(r).subscribe(t);return o.add(e.subscribe(r)),o}}function yS(){return new hn}function fe(n){for(let t in n)if(n[t]===fe)return t;throw Error("Could not find renamed property on target object.")}function Yl(n,t){for(const e in t)t.hasOwnProperty(e)&&!n.hasOwnProperty(e)&&(n[e]=t[e])}function pe(n){if("string"==typeof n)return n;if(Array.isArray(n))return"["+n.map(pe).join(", ")+"]";if(null==n)return""+n;if(n.overriddenName)return`${n.overriddenName}`;if(n.name)return`${n.name}`;const t=n.toString();if(null==t)return""+t;const e=t.indexOf("\n");return-1===e?t:t.substring(0,e)}function Zl(n,t){return null==n||""===n?null===t?"":t:null==t||""===t?n:n+" "+t}const vS=fe({__forward_ref__:fe});function de(n){return n.__forward_ref__=de,n.toString=function(){return pe(this())},n}function L(n){return Xl(n)?n():n}function Xl(n){return"function"==typeof n&&n.hasOwnProperty(vS)&&n.__forward_ref__===de}function Jl(n){return n&&!!n.\u0275providers}const Ih="https://g.co/ng/security#xss";class D extends Error{constructor(t,e){super(function Ss(n,t){return`NG0${Math.abs(n)}${t?": "+t.trim():""}`}(t,e)),this.code=t}}function $(n){return"string"==typeof n?n:null==n?"":String(n)}function Cs(n,t){throw new D(-201,!1)}function kt(n,t){null==n&&function le(n,t,e,i){throw new Error(`ASSERTION ERROR: ${n}`+(null==i?"":` [Expected=> ${e} ${i} ${t} <=Actual]`))}(t,n,null,"!=")}function H(n){return{token:n.token,providedIn:n.providedIn||null,factory:n.factory,value:void 0}}function Ae(n){return{providers:n.providers||[],imports:n.imports||[]}}function ws(n){return Th(n,Is)||Th(n,Ah)}function Th(n,t){return n.hasOwnProperty(t)?n[t]:null}function Mh(n){return n&&(n.hasOwnProperty(ec)||n.hasOwnProperty(TS))?n[ec]:null}const Is=fe({\u0275prov:fe}),ec=fe({\u0275inj:fe}),Ah=fe({ngInjectableDef:fe}),TS=fe({ngInjectorDef:fe});var U=(()=>((U=U||{})[U.Default=0]="Default",U[U.Host=1]="Host",U[U.Self=2]="Self",U[U.SkipSelf=4]="SkipSelf",U[U.Optional=8]="Optional",U))();let tc;function jt(n){const t=tc;return tc=n,t}function xh(n,t,e){const i=ws(n);return i&&"root"==i.providedIn?void 0===i.value?i.value=i.factory():i.value:e&U.Optional?null:void 0!==t?t:void Cs(pe(n))}const me=(()=>typeof globalThis<"u"&&globalThis||typeof global<"u"&&global||typeof window<"u"&&window||typeof self<"u"&&typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope&&self)(),Yr={},nc="__NG_DI_FLAG__",Ts="ngTempTokenPath",xS=/\n/gm,Ph="__source";let Zr;function er(n){const t=Zr;return Zr=n,t}function OS(n,t=U.Default){if(void 0===Zr)throw new D(-203,!1);return null===Zr?xh(n,void 0,t):Zr.get(n,t&U.Optional?null:void 0,t)}function O(n,t=U.Default){return(function MS(){return tc}()||OS)(L(n),t)}function On(n,t=U.Default){return O(n,Ms(t))}function Ms(n){return typeof n>"u"||"number"==typeof n?n:0|(n.optional&&8)|(n.host&&1)|(n.self&&2)|(n.skipSelf&&4)}function ic(n){const t=[];for(let e=0;e((Xt=Xt||{})[Xt.OnPush=0]="OnPush",Xt[Xt.Default=1]="Default",Xt))(),Jt=(()=>(function(n){n[n.Emulated=0]="Emulated",n[n.None=2]="None",n[n.ShadowDom=3]="ShadowDom"}(Jt||(Jt={})),Jt))();const Nn={},se=[],As=fe({\u0275cmp:fe}),rc=fe({\u0275dir:fe}),oc=fe({\u0275pipe:fe}),Nh=fe({\u0275mod:fe}),Fn=fe({\u0275fac:fe}),Jr=fe({__NG_ELEMENT_ID__:fe});let LS=0;function qe(n){return oi(()=>{const e=!0===n.standalone,i={},r={type:n.type,providersResolver:null,decls:n.decls,vars:n.vars,factory:null,template:n.template||null,consts:n.consts||null,ngContentSelectors:n.ngContentSelectors,hostBindings:n.hostBindings||null,hostVars:n.hostVars||0,hostAttrs:n.hostAttrs||null,contentQueries:n.contentQueries||null,declaredInputs:i,inputs:null,outputs:null,exportAs:n.exportAs||null,onPush:n.changeDetection===Xt.OnPush,directiveDefs:null,pipeDefs:null,standalone:e,dependencies:e&&n.dependencies||null,getStandaloneInjector:null,selectors:n.selectors||se,viewQuery:n.viewQuery||null,features:n.features||null,data:n.data||{},encapsulation:n.encapsulation||Jt.Emulated,id:"c"+LS++,styles:n.styles||se,_:null,setInput:null,schemas:n.schemas||null,tView:null,findHostDirectiveDefs:null,hostDirectives:null},o=n.dependencies,s=n.features;return r.inputs=Lh(n.inputs,i),r.outputs=Lh(n.outputs),s&&s.forEach(a=>a(r)),r.directiveDefs=o?()=>("function"==typeof o?o():o).map(Fh).filter(Rh):null,r.pipeDefs=o?()=>("function"==typeof o?o():o).map(ft).filter(Rh):null,r})}function Fh(n){return ce(n)||Je(n)}function Rh(n){return null!==n}function Ne(n){return oi(()=>({type:n.type,bootstrap:n.bootstrap||se,declarations:n.declarations||se,imports:n.imports||se,exports:n.exports||se,transitiveCompileScopes:null,schemas:n.schemas||null,id:n.id||null}))}function Lh(n,t){if(null==n)return Nn;const e={};for(const i in n)if(n.hasOwnProperty(i)){let r=n[i],o=r;Array.isArray(r)&&(o=r[1],r=r[0]),e[r]=i,t&&(t[r]=o)}return e}const V=qe;function dt(n){return{type:n.type,name:n.name,factory:null,pure:!1!==n.pure,standalone:!0===n.standalone,onDestroy:n.type.prototype.ngOnDestroy||null}}function ce(n){return n[As]||null}function Je(n){return n[rc]||null}function ft(n){return n[oc]||null}const Z=11;function Tt(n){return Array.isArray(n)&&"object"==typeof n[1]}function tn(n){return Array.isArray(n)&&!0===n[1]}function lc(n){return 0!=(4&n.flags)}function ro(n){return n.componentOffset>-1}function Fs(n){return 1==(1&n.flags)}function nn(n){return null!==n.template}function VS(n){return 0!=(256&n[2])}function Mi(n,t){return n.hasOwnProperty(Fn)?n[Fn]:null}class Uh{constructor(t,e,i){this.previousValue=t,this.currentValue=e,this.firstChange=i}isFirstChange(){return this.firstChange}}function rn(){return $h}function $h(n){return n.type.prototype.ngOnChanges&&(n.setInput=$S),US}function US(){const n=Wh(this),t=n?.current;if(t){const e=n.previous;if(e===Nn)n.previous=t;else for(let i in t)e[i]=t[i];n.current=null,this.ngOnChanges(t)}}function $S(n,t,e,i){const r=this.declaredInputs[e],o=Wh(n)||function zS(n,t){return n[zh]=t}(n,{previous:Nn,current:null}),s=o.current||(o.current={}),a=o.previous,l=a[r];s[r]=new Uh(l&&l.currentValue,t,a===Nn),n[i]=t}rn.ngInherit=!0;const zh="__ngSimpleChanges__";function Wh(n){return n[zh]||null}function Ke(n){for(;Array.isArray(n);)n=n[0];return n}function Rs(n,t){return Ke(t[n])}function Mt(n,t){return Ke(t[n.index])}function Kh(n,t){return n.data[t]}function or(n,t){return n[t]}function At(n,t){const e=t[n];return Tt(e)?e:e[0]}function Ls(n){return 64==(64&n[2])}function si(n,t){return null==t?null:n[t]}function Qh(n){n[18]=0}function uc(n,t){n[5]+=t;let e=n,i=n[3];for(;null!==i&&(1===t&&1===e[5]||-1===t&&0===e[5]);)i[5]+=t,e=i,i=i[3]}const z={lFrame:op(null),bindingsEnabled:!0};function Zh(){return z.bindingsEnabled}function b(){return z.lFrame.lView}function ne(){return z.lFrame.tView}function X(n){return z.lFrame.contextLView=n,n[8]}function J(n){return z.lFrame.contextLView=null,n}function Qe(){let n=Xh();for(;null!==n&&64===n.type;)n=n.parent;return n}function Xh(){return z.lFrame.currentTNode}function mn(n,t){const e=z.lFrame;e.currentTNode=n,e.isParent=t}function dc(){return z.lFrame.isParent}function fc(){z.lFrame.isParent=!1}function pt(){const n=z.lFrame;let t=n.bindingRootIndex;return-1===t&&(t=n.bindingRootIndex=n.tView.bindingStartIndex),t}function sr(){return z.lFrame.bindingIndex++}function kn(n){const t=z.lFrame,e=t.bindingIndex;return t.bindingIndex=t.bindingIndex+n,e}function iC(n,t){const e=z.lFrame;e.bindingIndex=e.bindingRootIndex=n,hc(t)}function hc(n){z.lFrame.currentDirectiveIndex=n}function np(){return z.lFrame.currentQueryIndex}function mc(n){z.lFrame.currentQueryIndex=n}function oC(n){const t=n[1];return 2===t.type?t.declTNode:1===t.type?n[6]:null}function ip(n,t,e){if(e&U.SkipSelf){let r=t,o=n;for(;!(r=r.parent,null!==r||e&U.Host||(r=oC(o),null===r||(o=o[15],10&r.type))););if(null===r)return!1;t=r,n=o}const i=z.lFrame=rp();return i.currentTNode=t,i.lView=n,!0}function gc(n){const t=rp(),e=n[1];z.lFrame=t,t.currentTNode=e.firstChild,t.lView=n,t.tView=e,t.contextLView=n,t.bindingIndex=e.bindingStartIndex,t.inI18n=!1}function rp(){const n=z.lFrame,t=null===n?null:n.child;return null===t?op(n):t}function op(n){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:n,child:null,inI18n:!1};return null!==n&&(n.child=t),t}function sp(){const n=z.lFrame;return z.lFrame=n.parent,n.currentTNode=null,n.lView=null,n}const ap=sp;function yc(){const n=sp();n.isParent=!0,n.tView=null,n.selectedIndex=-1,n.contextLView=null,n.elementDepthCount=0,n.currentDirectiveIndex=-1,n.currentNamespace=null,n.bindingRootIndex=-1,n.bindingIndex=-1,n.currentQueryIndex=0}function mt(){return z.lFrame.selectedIndex}function Ai(n){z.lFrame.selectedIndex=n}function Ee(){const n=z.lFrame;return Kh(n.tView,n.selectedIndex)}function ks(n,t){for(let e=t.directiveStart,i=t.directiveEnd;e=i)break}else t[l]<0&&(n[18]+=65536),(a>11>16&&(3&n[2])===t){n[2]+=2048;try{o.call(a)}finally{}}}else try{o.call(a)}finally{}}class so{constructor(t,e,i){this.factory=t,this.resolving=!1,this.canSeeViewProviders=e,this.injectImpl=i}}function bc(n,t,e){let i=0;for(;it){s=o-1;break}}}for(;o>16}(n),i=t;for(;e>0;)i=i[15],e--;return i}let Dc=!0;function Us(n){const t=Dc;return Dc=n,t}let vC=0;const gn={};function $s(n,t){const e=mp(n,t);if(-1!==e)return e;const i=t[1];i.firstCreatePass&&(n.injectorIndex=t.length,Ec(i.data,n),Ec(t,null),Ec(i.blueprint,null));const r=Sc(n,t),o=n.injectorIndex;if(fp(r)){const s=Bs(r),a=Hs(r,t),l=a[1].data;for(let c=0;c<8;c++)t[o+c]=a[s+c]|l[s+c]}return t[o+8]=r,o}function Ec(n,t){n.push(0,0,0,0,0,0,0,0,t)}function mp(n,t){return-1===n.injectorIndex||n.parent&&n.parent.injectorIndex===n.injectorIndex||null===t[n.injectorIndex+8]?-1:n.injectorIndex}function Sc(n,t){if(n.parent&&-1!==n.parent.injectorIndex)return n.parent.injectorIndex;let e=0,i=null,r=t;for(;null!==r;){if(i=Ep(r),null===i)return-1;if(e++,r=r[15],-1!==i.injectorIndex)return i.injectorIndex|e<<16}return-1}function Cc(n,t,e){!function bC(n,t,e){let i;"string"==typeof e?i=e.charCodeAt(0)||0:e.hasOwnProperty(Jr)&&(i=e[Jr]),null==i&&(i=e[Jr]=vC++);const r=255&i;t.data[n+(r>>5)]|=1<=0?255&t:CC:t}(e);if("function"==typeof o){if(!ip(t,n,i))return i&U.Host?gp(r,0,i):yp(t,e,i,r);try{const s=o(i);if(null!=s||i&U.Optional)return s;Cs()}finally{ap()}}else if("number"==typeof o){let s=null,a=mp(n,t),l=-1,c=i&U.Host?t[16][6]:null;for((-1===a||i&U.SkipSelf)&&(l=-1===a?Sc(n,t):t[a+8],-1!==l&&Dp(i,!1)?(s=t[1],a=Bs(l),t=Hs(l,t)):a=-1);-1!==a;){const u=t[1];if(bp(o,a,u.data)){const d=EC(a,t,e,s,i,c);if(d!==gn)return d}l=t[a+8],-1!==l&&Dp(i,t[1].data[a+8]===c)&&bp(o,a,t)?(s=u,a=Bs(l),t=Hs(l,t)):a=-1}}return r}function EC(n,t,e,i,r,o){const s=t[1],a=s.data[n+8],u=zs(a,s,e,null==i?ro(a)&&Dc:i!=s&&0!=(3&a.type),r&U.Host&&o===a);return null!==u?xi(t,s,u,a):gn}function zs(n,t,e,i,r){const o=n.providerIndexes,s=t.data,a=1048575&o,l=n.directiveStart,u=o>>20,f=r?a+u:n.directiveEnd;for(let h=i?a:a+u;h=l&&p.type===e)return h}if(r){const h=s[l];if(h&&nn(h)&&h.type===e)return l}return null}function xi(n,t,e,i){let r=n[e];const o=t.data;if(function mC(n){return n instanceof so}(r)){const s=r;s.resolving&&function bS(n,t){const e=t?`. Dependency path: ${t.join(" > ")} > ${n}`:"";throw new D(-200,`Circular dependency in DI detected for ${n}${e}`)}(function ae(n){return"function"==typeof n?n.name||n.toString():"object"==typeof n&&null!=n&&"function"==typeof n.type?n.type.name||n.type.toString():$(n)}(o[e]));const a=Us(s.canSeeViewProviders);s.resolving=!0;const l=s.injectImpl?jt(s.injectImpl):null;ip(n,i,U.Default);try{r=n[e]=s.factory(void 0,o,n,i),t.firstCreatePass&&e>=i.directiveStart&&function hC(n,t,e){const{ngOnChanges:i,ngOnInit:r,ngDoCheck:o}=t.type.prototype;if(i){const s=$h(t);(e.preOrderHooks||(e.preOrderHooks=[])).push(n,s),(e.preOrderCheckHooks||(e.preOrderCheckHooks=[])).push(n,s)}r&&(e.preOrderHooks||(e.preOrderHooks=[])).push(0-n,r),o&&((e.preOrderHooks||(e.preOrderHooks=[])).push(n,o),(e.preOrderCheckHooks||(e.preOrderCheckHooks=[])).push(n,o))}(e,o[e],t)}finally{null!==l&&jt(l),Us(a),s.resolving=!1,ap()}}return r}function bp(n,t,e){return!!(e[t+(n>>5)]&1<{const t=wc(L(n));return t&&t()}:Mi(n)}function Ep(n){const t=n[1],e=t.type;return 2===e?t.declTNode:1===e?n[6]:null}const ur="__parameters__";function fr(n,t,e){return oi(()=>{const i=function Tc(n){return function(...e){if(n){const i=n(...e);for(const r in i)this[r]=i[r]}}}(t);function r(...o){if(this instanceof r)return i.apply(this,o),this;const s=new r(...o);return a.annotation=s,a;function a(l,c,u){const d=l.hasOwnProperty(ur)?l[ur]:Object.defineProperty(l,ur,{value:[]})[ur];for(;d.length<=u;)d.push(null);return(d[u]=d[u]||[]).push(s),l}}return e&&(r.prototype=Object.create(e.prototype)),r.prototype.ngMetadataName=n,r.annotationCls=r,r})}class F{constructor(t,e){this._desc=t,this.ngMetadataName="InjectionToken",this.\u0275prov=void 0,"number"==typeof e?this.__NG_ELEMENT_ID__=e:void 0!==e&&(this.\u0275prov=H({token:this,providedIn:e.providedIn||"root",factory:e.factory}))}get multi(){return this}toString(){return`InjectionToken ${this._desc}`}}function Pi(n,t){n.forEach(e=>Array.isArray(e)?Pi(e,t):t(e))}function Cp(n,t,e){t>=n.length?n.push(e):n.splice(t,0,e)}function Ws(n,t){return t>=n.length-1?n.pop():n.splice(t,1)[0]}function uo(n,t){const e=[];for(let i=0;i=0?n[1|i]=e:(i=~i,function AC(n,t,e,i){let r=n.length;if(r==t)n.push(e,i);else if(1===r)n.push(i,n[0]),n[0]=e;else{for(r--,n.push(n[r-1],n[r]);r>t;)n[r]=n[r-2],r--;n[t]=e,n[t+1]=i}}(n,i,t,e)),i}function Ac(n,t){const e=hr(n,t);if(e>=0)return n[1|e]}function hr(n,t){return function wp(n,t,e){let i=0,r=n.length>>e;for(;r!==i;){const o=i+(r-i>>1),s=n[o<t?r=o:i=o+1}return~(r<({token:n})),-1),Ks=Xr(fr("Optional"),8),Qs=Xr(fr("SkipSelf"),4);var bt=(()=>((bt=bt||{})[bt.Important=1]="Important",bt[bt.DashCase=2]="DashCase",bt))();const Fc=new Map;let ZC=0;const Lc="__ngContext__";function it(n,t){Tt(t)?(n[Lc]=t[20],function JC(n){Fc.set(n[20],n)}(t)):n[Lc]=t}function jc(n,t){return undefined(n,t)}function mo(n){const t=n[3];return tn(t)?t[3]:t}function Vc(n){return Wp(n[13])}function Bc(n){return Wp(n[4])}function Wp(n){for(;null!==n&&!tn(n);)n=n[4];return n}function mr(n,t,e,i,r){if(null!=i){let o,s=!1;tn(i)?o=i:Tt(i)&&(s=!0,i=i[0]);const a=Ke(i);0===n&&null!==e?null==r?Zp(t,e,a):Oi(t,e,a,r||null,!0):1===n&&null!==e?Oi(t,e,a,r||null,!0):2===n?function qc(n,t,e){const i=Xs(n,t);i&&function vw(n,t,e,i){n.removeChild(t,e,i)}(n,i,t,e)}(t,a,s):3===n&&t.destroyNode(a),null!=o&&function Ew(n,t,e,i,r){const o=e[7];o!==Ke(e)&&mr(t,n,i,o,r);for(let a=10;a0&&(n[e-1][4]=i[4]);const o=Ws(n,10+t);!function dw(n,t){go(n,t,t[Z],2,null,null),t[0]=null,t[6]=null}(i[1],i);const s=o[19];null!==s&&s.detachView(o[1]),i[3]=null,i[4]=null,i[2]&=-65}return i}function Kp(n,t){if(!(128&t[2])){const e=t[Z];e.destroyNode&&go(n,t,e,3,null,null),function pw(n){let t=n[13];if(!t)return zc(n[1],n);for(;t;){let e=null;if(Tt(t))e=t[13];else{const i=t[10];i&&(e=i)}if(!e){for(;t&&!t[4]&&t!==n;)Tt(t)&&zc(t[1],t),t=t[3];null===t&&(t=n),Tt(t)&&zc(t[1],t),e=t&&t[4]}t=e}}(t)}}function zc(n,t){if(!(128&t[2])){t[2]&=-65,t[2]|=128,function _w(n,t){let e;if(null!=n&&null!=(e=n.destroyHooks))for(let i=0;i=0?i[r=s]():i[r=-s].unsubscribe(),o+=2}else{const s=i[r=e[o+1]];e[o].call(s)}if(null!==i){for(let o=r+1;o-1){const{encapsulation:o}=n.data[i.directiveStart+r];if(o===Jt.None||o===Jt.Emulated)return null}return Mt(i,e)}}(n,t.parent,e)}function Oi(n,t,e,i,r){n.insertBefore(t,e,i,r)}function Zp(n,t,e){n.appendChild(t,e)}function Xp(n,t,e,i,r){null!==i?Oi(n,t,e,i,r):Zp(n,t,e)}function Xs(n,t){return n.parentNode(t)}function Jp(n,t,e){return tm(n,t,e)}let ta,Yc,na,tm=function em(n,t,e){return 40&n.type?Mt(n,e):null};function Js(n,t,e,i){const r=Qp(n,i,t),o=t[Z],a=Jp(i.parent||t[6],i,t);if(null!=r)if(Array.isArray(e))for(let l=0;ln,createScript:n=>n,createScriptURL:n=>n})}catch{}return ta}()?.createHTML(n)||n}function lm(n){return function Zc(){if(void 0===na&&(na=null,me.trustedTypes))try{na=me.trustedTypes.createPolicy("angular#unsafe-bypass",{createHTML:n=>n,createScript:n=>n,createScriptURL:n=>n})}catch{}return na}()?.createHTML(n)||n}class dm{constructor(t){this.changingThisBreaksApplicationSecurity=t}toString(){return`SafeValue must use [property]=binding: ${this.changingThisBreaksApplicationSecurity} (see ${Ih})`}}function ai(n){return n instanceof dm?n.changingThisBreaksApplicationSecurity:n}function yo(n,t){const e=function Fw(n){return n instanceof dm&&n.getTypeName()||null}(n);if(null!=e&&e!==t){if("ResourceURL"===e&&"URL"===t)return!0;throw new Error(`Required a safe ${t}, got a ${e} (see ${Ih})`)}return e===t}class Rw{constructor(t){this.inertDocumentHelper=t}getInertBodyElement(t){t=""+t;try{const e=(new window.DOMParser).parseFromString(Ni(t),"text/html").body;return null===e?this.inertDocumentHelper.getInertBodyElement(t):(e.removeChild(e.firstChild),e)}catch{return null}}}class Lw{constructor(t){if(this.defaultDoc=t,this.inertDocument=this.defaultDoc.implementation.createHTMLDocument("sanitization-inert"),null==this.inertDocument.body){const e=this.inertDocument.createElement("html");this.inertDocument.appendChild(e);const i=this.inertDocument.createElement("body");e.appendChild(i)}}getInertBodyElement(t){const e=this.inertDocument.createElement("template");if("content"in e)return e.innerHTML=Ni(t),e;const i=this.inertDocument.createElement("body");return i.innerHTML=Ni(t),this.defaultDoc.documentMode&&this.stripCustomNsAttrs(i),i}stripCustomNsAttrs(t){const e=t.attributes;for(let r=e.length-1;0"),!0}endElement(t){const e=t.nodeName.toLowerCase();Jc.hasOwnProperty(e)&&!hm.hasOwnProperty(e)&&(this.buf.push(""),this.buf.push(e),this.buf.push(">"))}chars(t){this.buf.push(ym(t))}checkClobberedElement(t,e){if(e&&(t.compareDocumentPosition(e)&Node.DOCUMENT_POSITION_CONTAINED_BY)===Node.DOCUMENT_POSITION_CONTAINED_BY)throw new Error(`Failed to sanitize html because the element is clobbered: ${t.outerHTML}`);return e}}const Hw=/[\uD800-\uDBFF][\uDC00-\uDFFF]/g,Uw=/([^\#-~ |!])/g;function ym(n){return n.replace(/&/g,"&").replace(Hw,function(t){return""+(1024*(t.charCodeAt(0)-55296)+(t.charCodeAt(1)-56320)+65536)+";"}).replace(Uw,function(t){return""+t.charCodeAt(0)+";"}).replace(//g,">")}let ia;function tu(n){return"content"in n&&function zw(n){return n.nodeType===Node.ELEMENT_NODE&&"TEMPLATE"===n.nodeName}(n)?n.content:null}var Fe=(()=>((Fe=Fe||{})[Fe.NONE=0]="NONE",Fe[Fe.HTML=1]="HTML",Fe[Fe.STYLE=2]="STYLE",Fe[Fe.SCRIPT=3]="SCRIPT",Fe[Fe.URL=4]="URL",Fe[Fe.RESOURCE_URL=5]="RESOURCE_URL",Fe))();function _m(n){const t=vo();return t?lm(t.sanitize(Fe.HTML,n)||""):yo(n,"HTML")?lm(ai(n)):function $w(n,t){let e=null;try{ia=ia||function fm(n){const t=new Lw(n);return function kw(){try{return!!(new window.DOMParser).parseFromString(Ni(""),"text/html")}catch{return!1}}()?new Rw(t):t}(n);let i=t?String(t):"";e=ia.getInertBodyElement(i);let r=5,o=i;do{if(0===r)throw new Error("Failed to sanitize html because the input is unstable");r--,i=o,o=e.innerHTML,e=ia.getInertBodyElement(i)}while(i!==o);return Ni((new Bw).sanitizeChildren(tu(e)||e))}finally{if(e){const i=tu(e)||e;for(;i.firstChild;)i.removeChild(i.firstChild)}}}(function am(){return void 0!==Yc?Yc:typeof document<"u"?document:void 0}(),$(n))}function ra(n){const t=vo();return t?t.sanitize(Fe.URL,n)||"":yo(n,"URL")?ai(n):Xc($(n))}function vo(){const n=b();return n&&n[12]}const bm=new F("ENVIRONMENT_INITIALIZER"),Dm=new F("INJECTOR",-1),Em=new F("INJECTOR_DEF_TYPES");class Sm{get(t,e=Yr){if(e===Yr){const i=new Error(`NullInjectorError: No provider for ${pe(t)}!`);throw i.name="NullInjectorError",i}return e}}function Xw(...n){return{\u0275providers:Cm(0,n),\u0275fromNgModule:!0}}function Cm(n,...t){const e=[],i=new Set;let r;return Pi(t,o=>{const s=o;nu(s,e,[],i)&&(r||(r=[]),r.push(s))}),void 0!==r&&wm(r,e),e}function wm(n,t){for(let e=0;e{t.push(o)})}}function nu(n,t,e,i){if(!(n=L(n)))return!1;let r=null,o=Mh(n);const s=!o&&ce(n);if(o||s){if(s&&!s.standalone)return!1;r=n}else{const l=n.ngModule;if(o=Mh(l),!o)return!1;r=l}const a=i.has(r);if(s){if(a)return!1;if(i.add(r),s.dependencies){const l="function"==typeof s.dependencies?s.dependencies():s.dependencies;for(const c of l)nu(c,t,e,i)}}else{if(!o)return!1;{if(null!=o.imports&&!a){let c;i.add(r);try{Pi(o.imports,u=>{nu(u,t,e,i)&&(c||(c=[]),c.push(u))})}finally{}void 0!==c&&wm(c,t)}if(!a){const c=Mi(r)||(()=>new r);t.push({provide:r,useFactory:c,deps:se},{provide:Em,useValue:r,multi:!0},{provide:bm,useValue:()=>O(r),multi:!0})}const l=o.providers;null==l||a||iu(l,u=>{t.push(u)})}}return r!==n&&void 0!==n.providers}function iu(n,t){for(let e of n)Jl(e)&&(e=e.\u0275providers),Array.isArray(e)?iu(e,t):t(e)}const Jw=fe({provide:String,useValue:fe});function ru(n){return null!==n&&"object"==typeof n&&Jw in n}function Fi(n){return"function"==typeof n}const ou=new F("Set Injector scope."),oa={},t0={};let su;function sa(){return void 0===su&&(su=new Sm),su}class Ri{}class Mm extends Ri{get destroyed(){return this._destroyed}constructor(t,e,i,r){super(),this.parent=e,this.source=i,this.scopes=r,this.records=new Map,this._ngOnDestroyHooks=new Set,this._onDestroyHooks=[],this._destroyed=!1,lu(t,s=>this.processProvider(s)),this.records.set(Dm,gr(void 0,this)),r.has("environment")&&this.records.set(Ri,gr(void 0,this));const o=this.records.get(ou);null!=o&&"string"==typeof o.value&&this.scopes.add(o.value),this.injectorDefTypes=new Set(this.get(Em.multi,se,U.Self))}destroy(){this.assertNotDestroyed(),this._destroyed=!0;try{for(const t of this._ngOnDestroyHooks)t.ngOnDestroy();for(const t of this._onDestroyHooks)t()}finally{this.records.clear(),this._ngOnDestroyHooks.clear(),this.injectorDefTypes.clear(),this._onDestroyHooks.length=0}}onDestroy(t){this._onDestroyHooks.push(t)}runInContext(t){this.assertNotDestroyed();const e=er(this),i=jt(void 0);try{return t()}finally{er(e),jt(i)}}get(t,e=Yr,i=U.Default){this.assertNotDestroyed(),i=Ms(i);const r=er(this),o=jt(void 0);try{if(!(i&U.SkipSelf)){let a=this.records.get(t);if(void 0===a){const l=function a0(n){return"function"==typeof n||"object"==typeof n&&n instanceof F}(t)&&ws(t);a=l&&this.injectableDefInScope(l)?gr(au(t),oa):null,this.records.set(t,a)}if(null!=a)return this.hydrate(t,a)}return(i&U.Self?sa():this.parent).get(t,e=i&U.Optional&&e===Yr?null:e)}catch(s){if("NullInjectorError"===s.name){if((s[Ts]=s[Ts]||[]).unshift(pe(t)),r)throw s;return function FS(n,t,e,i){const r=n[Ts];throw t[Ph]&&r.unshift(t[Ph]),n.message=function RS(n,t,e,i=null){n=n&&"\n"===n.charAt(0)&&"\u0275"==n.charAt(1)?n.slice(2):n;let r=pe(t);if(Array.isArray(t))r=t.map(pe).join(" -> ");else if("object"==typeof t){let o=[];for(let s in t)if(t.hasOwnProperty(s)){let a=t[s];o.push(s+":"+("string"==typeof a?JSON.stringify(a):pe(a)))}r=`{${o.join(", ")}}`}return`${e}${i?"("+i+")":""}[${r}]: ${n.replace(xS,"\n ")}`}("\n"+n.message,r,e,i),n.ngTokenPath=r,n[Ts]=null,n}(s,t,"R3InjectorError",this.source)}throw s}finally{jt(o),er(r)}}resolveInjectorInitializers(){const t=er(this),e=jt(void 0);try{const i=this.get(bm.multi,se,U.Self);for(const r of i)r()}finally{er(t),jt(e)}}toString(){const t=[],e=this.records;for(const i of e.keys())t.push(pe(i));return`R3Injector[${t.join(", ")}]`}assertNotDestroyed(){if(this._destroyed)throw new D(205,!1)}processProvider(t){let e=Fi(t=L(t))?t:L(t&&t.provide);const i=function r0(n){return ru(n)?gr(void 0,n.useValue):gr(Am(n),oa)}(t);if(Fi(t)||!0!==t.multi)this.records.get(e);else{let r=this.records.get(e);r||(r=gr(void 0,oa,!0),r.factory=()=>ic(r.multi),this.records.set(e,r)),e=t,r.multi.push(t)}this.records.set(e,i)}hydrate(t,e){return e.value===oa&&(e.value=t0,e.value=e.factory()),"object"==typeof e.value&&e.value&&function s0(n){return null!==n&&"object"==typeof n&&"function"==typeof n.ngOnDestroy}(e.value)&&this._ngOnDestroyHooks.add(e.value),e.value}injectableDefInScope(t){if(!t.providedIn)return!1;const e=L(t.providedIn);return"string"==typeof e?"any"===e||this.scopes.has(e):this.injectorDefTypes.has(e)}}function au(n){const t=ws(n),e=null!==t?t.factory:Mi(n);if(null!==e)return e;if(n instanceof F)throw new D(204,!1);if(n instanceof Function)return function n0(n){const t=n.length;if(t>0)throw uo(t,"?"),new D(204,!1);const e=function wS(n){const t=n&&(n[Is]||n[Ah]);if(t){const e=function IS(n){if(n.hasOwnProperty("name"))return n.name;const t=(""+n).match(/^function\s*([^\s(]+)/);return null===t?"":t[1]}(n);return console.warn(`DEPRECATED: DI is instantiating a token "${e}" that inherits its @Injectable decorator but does not provide one itself.\nThis will become an error in a future version of Angular. Please add @Injectable() to the "${e}" class.`),t}return null}(n);return null!==e?()=>e.factory(n):()=>new n}(n);throw new D(204,!1)}function Am(n,t,e){let i;if(Fi(n)){const r=L(n);return Mi(r)||au(r)}if(ru(n))i=()=>L(n.useValue);else if(function Tm(n){return!(!n||!n.useFactory)}(n))i=()=>n.useFactory(...ic(n.deps||[]));else if(function Im(n){return!(!n||!n.useExisting)}(n))i=()=>O(L(n.useExisting));else{const r=L(n&&(n.useClass||n.provide));if(!function o0(n){return!!n.deps}(n))return Mi(r)||au(r);i=()=>new r(...ic(n.deps))}return i}function gr(n,t,e=!1){return{factory:n,value:t,multi:e?[]:void 0}}function lu(n,t){for(const e of n)Array.isArray(e)?lu(e,t):e&&Jl(e)?lu(e.\u0275providers,t):t(e)}class l0{}class xm{}class u0{resolveComponentFactory(t){throw function c0(n){const t=Error(`No component factory found for ${pe(n)}. Did you add it to @NgModule.entryComponents?`);return t.ngComponent=n,t}(t)}}let yr=(()=>{class n{}return n.NULL=new u0,n})();function d0(){return _r(Qe(),b())}function _r(n,t){return new rt(Mt(n,t))}let rt=(()=>{class n{constructor(e){this.nativeElement=e}}return n.__NG_ELEMENT_ID__=d0,n})();function f0(n){return n instanceof rt?n.nativeElement:n}class bo{}let Vn=(()=>{class n{}return n.__NG_ELEMENT_ID__=()=>function h0(){const n=b(),e=At(Qe().index,n);return(Tt(e)?e:n)[Z]}(),n})(),p0=(()=>{class n{}return n.\u0275prov=H({token:n,providedIn:"root",factory:()=>null}),n})();class Do{constructor(t){this.full=t,this.major=t.split(".")[0],this.minor=t.split(".")[1],this.patch=t.split(".").slice(2).join(".")}}const m0=new Do("15.1.1"),cu={};function du(n){return n.ngOriginalError}class vr{constructor(){this._console=console}handleError(t){const e=this._findOriginalError(t);this._console.error("ERROR",t),e&&this._console.error("ORIGINAL ERROR",e)}_findOriginalError(t){let e=t&&du(t);for(;e&&du(e);)e=du(e);return e||null}}function Nm(n,t,e){let i=n.length;for(;;){const r=n.indexOf(t,e);if(-1===r)return r;if(0===r||n.charCodeAt(r-1)<=32){const o=t.length;if(r+o===i||n.charCodeAt(r+o)<=32)return r}e=r+1}}const Fm="ng-template";function I0(n,t,e){let i=0;for(;io?"":r[d+1].toLowerCase();const h=8&i?f:null;if(h&&-1!==Nm(h,c,0)||2&i&&c!==f){if(on(i))return!1;s=!0}}}}else{if(!s&&!on(i)&&!on(l))return!1;if(s&&on(l))continue;s=!1,i=l|1&i}}return on(i)||s}function on(n){return 0==(1&n)}function A0(n,t,e,i){if(null===t)return-1;let r=0;if(i||!e){let o=!1;for(;r-1)for(e++;e0?'="'+a+'"':"")+"]"}else 8&i?r+="."+s:4&i&&(r+=" "+s);else""!==r&&!on(s)&&(t+=km(o,r),r=""),i=s,o=o||!on(i);e++}return""!==r&&(t+=km(o,r)),t}const W={};function C(n){jm(ne(),b(),mt()+n,!1)}function jm(n,t,e,i){if(!i)if(3==(3&t[2])){const o=n.preOrderCheckHooks;null!==o&&js(t,o,e)}else{const o=n.preOrderHooks;null!==o&&Vs(t,o,0,e)}Ai(e)}function Um(n,t=null,e=null,i){const r=$m(n,t,e,i);return r.resolveInjectorInitializers(),r}function $m(n,t=null,e=null,i,r=new Set){const o=[e||se,Xw(n)];return i=i||("object"==typeof n?void 0:pe(n)),new Mm(o,t||sa(),i||null,r)}let yn=(()=>{class n{static create(e,i){if(Array.isArray(e))return Um({name:""},i,e,"");{const r=e.name??"";return Um({name:r},e.parent,e.providers,r)}}}return n.THROW_IF_NOT_FOUND=Yr,n.NULL=new Sm,n.\u0275prov=H({token:n,providedIn:"any",factory:()=>O(Dm)}),n.__NG_ELEMENT_ID__=-1,n})();function v(n,t=U.Default){const e=b();return null===e?O(n,t):_p(Qe(),e,L(n),t)}function Ym(n,t){const e=n.contentQueries;if(null!==e)for(let i=0;i22&&jm(n,t,22,!1),e(i,r)}finally{Ai(o)}}function _u(n,t,e){if(lc(t)){const r=t.directiveEnd;for(let o=t.directiveStart;o0;){const e=n[--t];if("number"==typeof e&&e<0)return e}return 0})(s)!=a&&s.push(a),s.push(e,i,o)}}(n,t,i,Eo(n,e,r.hostVars,W),r)}function _n(n,t,e,i,r,o){const s=Mt(n,t);!function Cu(n,t,e,i,r,o,s){if(null==o)n.removeAttribute(t,r,e);else{const a=null==s?$(o):s(o,i||"",r);n.setAttribute(t,r,a,e)}}(t[Z],s,o,n.value,e,i,r)}function DI(n,t,e,i,r,o){const s=o[t];if(null!==s){const a=i.setInput;for(let l=0;l0&&wu(e)}}function wu(n){for(let i=Vc(n);null!==i;i=Bc(i))for(let r=10;r0&&wu(o)}const e=n[1].components;if(null!==e)for(let i=0;i0&&wu(r)}}function II(n,t){const e=At(t,n),i=e[1];(function TI(n,t){for(let e=t.length;e-1&&($c(t,i),Ws(e,i))}this._attachedToViewContainer=!1}Kp(this._lView[1],this._lView)}onDestroy(t){Jm(this._lView[1],this._lView,null,t)}markForCheck(){Iu(this._cdRefInjectingView||this._lView)}detach(){this._lView[2]&=-65}reattach(){this._lView[2]|=64}detectChanges(){da(this._lView[1],this._lView,this.context)}checkNoChanges(){}attachToViewContainerRef(){if(this._appRef)throw new D(902,!1);this._attachedToViewContainer=!0}detachFromAppRef(){this._appRef=null,function hw(n,t){go(n,t,t[Z],2,null,null)}(this._lView[1],this._lView)}attachToAppRef(t){if(this._attachedToViewContainer)throw new D(902,!1);this._appRef=t}}class MI extends So{constructor(t){super(t),this._view=t}detectChanges(){const t=this._view;da(t[1],t,t[8],!1)}checkNoChanges(){}get context(){return null}}class ug extends yr{constructor(t){super(),this.ngModule=t}resolveComponentFactory(t){const e=ce(t);return new Co(e,this.ngModule)}}function dg(n){const t=[];for(let e in n)n.hasOwnProperty(e)&&t.push({propName:n[e],templateName:e});return t}class xI{constructor(t,e){this.injector=t,this.parentInjector=e}get(t,e,i){i=Ms(i);const r=this.injector.get(t,cu,i);return r!==cu||e===cu?r:this.parentInjector.get(t,e,i)}}class Co extends xm{get inputs(){return dg(this.componentDef.inputs)}get outputs(){return dg(this.componentDef.outputs)}constructor(t,e){super(),this.componentDef=t,this.ngModule=e,this.componentType=t.type,this.selector=function R0(n){return n.map(F0).join(",")}(t.selectors),this.ngContentSelectors=t.ngContentSelectors?t.ngContentSelectors:[],this.isBoundToModule=!!e}create(t,e,i,r){let o=(r=r||this.ngModule)instanceof Ri?r:r?.injector;o&&null!==this.componentDef.getStandaloneInjector&&(o=this.componentDef.getStandaloneInjector(o)||o);const s=o?new xI(t,o):t,a=s.get(bo,null);if(null===a)throw new D(407,!1);const l=s.get(p0,null),c=a.createRenderer(null,this.componentDef),u=this.componentDef.selectors[0][0]||"div",d=i?function sI(n,t,e){return n.selectRootElement(t,e===Jt.ShadowDom)}(c,i,this.componentDef.encapsulation):Uc(c,u,function AI(n){const t=n.toLowerCase();return"svg"===t?"svg":"math"===t?"math":null}(u)),f=this.componentDef.onPush?288:272,h=Du(0,null,null,1,0,null,null,null,null,null),p=la(null,h,null,f,null,null,a,c,l,s,null);let m,y;gc(p);try{const _=this.componentDef;let S,g=null;_.findHostDirectiveDefs?(S=[],g=new Map,_.findHostDirectiveDefs(_,S,g),S.push(_)):S=[_];const M=function OI(n,t){const e=n[1];return n[22]=t,Er(e,22,2,"#host",null)}(p,d),ie=function NI(n,t,e,i,r,o,s,a){const l=r[1];!function FI(n,t,e,i){for(const r of n)t.mergedAttrs=ao(t.mergedAttrs,r.hostAttrs);null!==t.mergedAttrs&&(fa(t,t.mergedAttrs,!0),null!==e&&sm(i,e,t))}(i,n,t,s);const c=o.createRenderer(t,e),u=la(r,Xm(e),null,e.onPush?32:16,r[n.index],n,o,c,a||null,null,null);return l.firstCreatePass&&Su(l,n,i.length-1),ua(r,u),r[n.index]=u}(M,d,_,S,p,a,c);y=Kh(h,22),d&&function LI(n,t,e,i){if(i)bc(n,e,["ng-version",m0.full]);else{const{attrs:r,classes:o}=function L0(n){const t=[],e=[];let i=1,r=2;for(;i0&&om(n,e,o.join(" "))}}(c,_,d,i),void 0!==e&&function kI(n,t,e){const i=n.projection=[];for(let r=0;r=0;i--){const r=n[i];r.hostVars=t+=r.hostVars,r.hostAttrs=ao(r.hostAttrs,e=ao(e,r.hostAttrs))}}(i)}function Au(n){return n===Nn?{}:n===se?[]:n}function BI(n,t){const e=n.viewQuery;n.viewQuery=e?(i,r)=>{t(i,r),e(i,r)}:t}function HI(n,t){const e=n.contentQueries;n.contentQueries=e?(i,r,o)=>{t(i,r,o),e(i,r,o)}:t}function UI(n,t){const e=n.hostBindings;n.hostBindings=e?(i,r)=>{t(i,r),e(i,r)}:t}let pa=null;function Li(){if(!pa){const n=me.Symbol;if(n&&n.iterator)pa=n.iterator;else{const t=Object.getOwnPropertyNames(Map.prototype);for(let e=0;es(Ke(M[i.index])):i.index;let g=null;if(!s&&a&&(g=function nT(n,t,e,i){const r=n.cleanup;if(null!=r)for(let o=0;ol?a[l]:null}"string"==typeof s&&(o+=2)}return null}(n,t,r,i.index)),null!==g)(g.__ngLastListenerFn__||g).__ngNextListenerFn__=o,g.__ngLastListenerFn__=o,f=!1;else{o=xg(i,t,u,o,!1);const M=e.listen(y,r,o);d.push(o,M),c&&c.push(r,S,_,_+1)}}else o=xg(i,t,u,o,!1);const h=i.outputs;let p;if(f&&null!==h&&(p=h[r])){const m=p.length;if(m)for(let y=0;y-1?At(n.index,t):t);let l=Ag(t,0,i,s),c=o.__ngNextListenerFn__;for(;c;)l=Ag(t,0,c,s)&&l,c=c.__ngNextListenerFn__;return r&&!1===l&&(s.preventDefault(),s.returnValue=!1),l}}function w(n=1){return function sC(n){return(z.lFrame.contextLView=function aC(n,t){for(;n>0;)t=t[15],n--;return t}(n,z.lFrame.contextLView))[8]}(n)}function iT(n,t){let e=null;const i=function x0(n){const t=n.attrs;if(null!=t){const e=t.indexOf(5);if(!(1&e))return t[e+1]}return null}(n);for(let r=0;r>17&32767}function Nu(n){return 2|n}function Vi(n){return(131068&n)>>2}function Fu(n,t){return-131069&n|t<<2}function Ru(n){return 1|n}function Bg(n,t,e,i,r){const o=n[e+1],s=null===t;let a=i?ci(o):Vi(o),l=!1;for(;0!==a&&(!1===l||s);){const u=n[a+1];cT(n[a],t)&&(l=!0,n[a+1]=i?Ru(u):Nu(u)),a=i?ci(u):Vi(u)}l&&(n[e+1]=i?Nu(o):Ru(o))}function cT(n,t){return null===n||null==t||(Array.isArray(n)?n[1]:n)===t||!(!Array.isArray(n)||"string"!=typeof t)&&hr(n,t)>=0}const $e={textEnd:0,key:0,keyEnd:0,value:0,valueEnd:0};function Hg(n){return n.substring($e.key,$e.keyEnd)}function uT(n){return n.substring($e.value,$e.valueEnd)}function Ug(n,t){const e=$e.textEnd;return e===t?-1:(t=$e.keyEnd=function hT(n,t,e){for(;t32;)t++;return t}(n,$e.key=t,e),Or(n,t,e))}function $g(n,t){const e=$e.textEnd;let i=$e.key=Or(n,t,e);return e===i?-1:(i=$e.keyEnd=function pT(n,t,e){let i;for(;t=65&&(-33&i)<=90||i>=48&&i<=57);)t++;return t}(n,i,e),i=Wg(n,i,e),i=$e.value=Or(n,i,e),i=$e.valueEnd=function mT(n,t,e){let i=-1,r=-1,o=-1,s=t,a=s;for(;s32&&(a=s),o=r,r=i,i=-33&l}return a}(n,i,e),Wg(n,i,e))}function zg(n){$e.key=0,$e.keyEnd=0,$e.value=0,$e.valueEnd=0,$e.textEnd=n.length}function Or(n,t,e){for(;t=0;e=$g(t,e))Yg(n,Hg(t),uT(t))}function ui(n){ln(xt,Dn,n,!0)}function Dn(n,t){for(let e=function dT(n){return zg(n),Ug(n,Or(n,0,$e.textEnd))}(t);e>=0;e=Ug(t,e))xt(n,Hg(t),!0)}function ln(n,t,e,i){const r=ne(),o=kn(2);r.firstUpdatePass&&Qg(r,null,o,i);const s=b();if(e!==W&&ot(s,o,e)){const a=r.data[mt()];if(Jg(a,i)&&!Kg(r,o)){let l=i?a.classesWithoutHost:a.stylesWithoutHost;null!==l&&(e=Zl(l,e||"")),Pu(r,a,s,e,i)}else!function ET(n,t,e,i,r,o,s,a){r===W&&(r=se);let l=0,c=0,u=0=n.expandoStartIndex}function Qg(n,t,e,i){const r=n.data;if(null===r[e+1]){const o=r[mt()],s=Kg(n,e);Jg(o,i)&&null===t&&!s&&(t=!1),t=function yT(n,t,e,i){const r=function pc(n){const t=z.lFrame.currentDirectiveIndex;return-1===t?null:n[t]}(n);let o=i?t.residualClasses:t.residualStyles;if(null===r)0===(i?t.classBindings:t.styleBindings)&&(e=xo(e=Lu(null,n,t,e,i),t.attrs,i),o=null);else{const s=t.directiveStylingLast;if(-1===s||n[s]!==r)if(e=Lu(r,n,t,e,i),null===o){let l=function _T(n,t,e){const i=e?t.classBindings:t.styleBindings;if(0!==Vi(i))return n[ci(i)]}(n,t,i);void 0!==l&&Array.isArray(l)&&(l=Lu(null,n,t,l[1],i),l=xo(l,t.attrs,i),function vT(n,t,e,i){n[ci(e?t.classBindings:t.styleBindings)]=i}(n,t,i,l))}else o=function bT(n,t,e){let i;const r=t.directiveEnd;for(let o=1+t.directiveStylingLast;o0)&&(c=!0)):u=e,r)if(0!==l){const f=ci(n[a+1]);n[i+1]=_a(f,a),0!==f&&(n[f+1]=Fu(n[f+1],i)),n[a+1]=function oT(n,t){return 131071&n|t<<17}(n[a+1],i)}else n[i+1]=_a(a,0),0!==a&&(n[a+1]=Fu(n[a+1],i)),a=i;else n[i+1]=_a(l,0),0===a?a=i:n[l+1]=Fu(n[l+1],i),l=i;c&&(n[i+1]=Nu(n[i+1])),Bg(n,u,i,!0),Bg(n,u,i,!1),function lT(n,t,e,i,r){const o=r?n.residualClasses:n.residualStyles;null!=o&&"string"==typeof t&&hr(o,t)>=0&&(e[i+1]=Ru(e[i+1]))}(t,u,n,i,o),s=_a(a,l),o?t.classBindings=s:t.styleBindings=s}(r,o,t,e,s,i)}}function Lu(n,t,e,i,r){let o=null;const s=e.directiveEnd;let a=e.directiveStylingLast;for(-1===a?a=e.directiveStart:a++;a0;){const l=n[r],c=Array.isArray(l),u=c?l[1]:l,d=null===u;let f=e[r+1];f===W&&(f=d?se:void 0);let h=d?Ac(f,i):u===i?f:void 0;if(c&&!va(h)&&(h=Ac(l,i)),va(h)&&(a=h,s))return a;const p=n[r+1];r=s?ci(p):Vi(p)}if(null!==t){let l=o?t.residualClasses:t.residualStyles;null!=l&&(a=Ac(l,i))}return a}function va(n){return void 0!==n}function Jg(n,t){return 0!=(n.flags&(t?8:16))}function Re(n,t=""){const e=b(),i=ne(),r=n+22,o=i.firstCreatePass?Er(i,r,1,t,null):i.data[r],s=e[r]=function Hc(n,t){return n.createText(t)}(e[Z],t);Js(i,e,s,o),mn(o,!1)}function En(n){return Sn("",n,""),En}function Sn(n,t,e){const i=b(),r=function Cr(n,t,e,i){return ot(n,sr(),e)?t+$(e)+i:W}(i,n,t,e);return r!==W&&Hn(i,mt(),r),Sn}function Po(n,t,e,i,r){const o=b(),s=wr(o,n,t,e,i,r);return s!==W&&Hn(o,mt(),s),Po}const Bi=void 0;var $T=["en",[["a","p"],["AM","PM"],Bi],[["AM","PM"],Bi,Bi],[["S","M","T","W","T","F","S"],["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],["Su","Mo","Tu","We","Th","Fr","Sa"]],Bi,[["J","F","M","A","M","J","J","A","S","O","N","D"],["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],["January","February","March","April","May","June","July","August","September","October","November","December"]],Bi,[["B","A"],["BC","AD"],["Before Christ","Anno Domini"]],0,[6,0],["M/d/yy","MMM d, y","MMMM d, y","EEEE, MMMM d, y"],["h:mm a","h:mm:ss a","h:mm:ss a z","h:mm:ss a zzzz"],["{1}, {0}",Bi,"{1} 'at' {0}",Bi],[".",",",";","%","+","-","E","\xd7","\u2030","\u221e","NaN",":"],["#,##0.###","#,##0%","\xa4#,##0.00","#E0"],"USD","$","US Dollar",{},"ltr",function UT(n){const e=Math.floor(Math.abs(n)),i=n.toString().replace(/^[^.]*\.?/,"").length;return 1===e&&0===i?1:5}];let Nr={};function gt(n){const t=function zT(n){return n.toLowerCase().replace(/_/g,"-")}(n);let e=vy(t);if(e)return e;const i=t.split("-")[0];if(e=vy(i),e)return e;if("en"===i)return $T;throw new D(701,!1)}function vy(n){return n in Nr||(Nr[n]=me.ng&&me.ng.common&&me.ng.common.locales&&me.ng.common.locales[n]),Nr[n]}var I=(()=>((I=I||{})[I.LocaleId=0]="LocaleId",I[I.DayPeriodsFormat=1]="DayPeriodsFormat",I[I.DayPeriodsStandalone=2]="DayPeriodsStandalone",I[I.DaysFormat=3]="DaysFormat",I[I.DaysStandalone=4]="DaysStandalone",I[I.MonthsFormat=5]="MonthsFormat",I[I.MonthsStandalone=6]="MonthsStandalone",I[I.Eras=7]="Eras",I[I.FirstDayOfWeek=8]="FirstDayOfWeek",I[I.WeekendRange=9]="WeekendRange",I[I.DateFormat=10]="DateFormat",I[I.TimeFormat=11]="TimeFormat",I[I.DateTimeFormat=12]="DateTimeFormat",I[I.NumberSymbols=13]="NumberSymbols",I[I.NumberFormats=14]="NumberFormats",I[I.CurrencyCode=15]="CurrencyCode",I[I.CurrencySymbol=16]="CurrencySymbol",I[I.CurrencyName=17]="CurrencyName",I[I.Currencies=18]="Currencies",I[I.Directionality=19]="Directionality",I[I.PluralCase=20]="PluralCase",I[I.ExtraData=21]="ExtraData",I))();const Fr="en-US";let by=Fr;function Vu(n,t,e,i,r){if(n=L(n),Array.isArray(n))for(let o=0;o>20;if(Fi(n)||!n.multi){const h=new so(l,r,v),p=Hu(a,t,r?u:u+f,d);-1===p?(Cc($s(c,s),o,a),Bu(o,n,t.length),t.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),e.push(h),s.push(h)):(e[p]=h,s[p]=h)}else{const h=Hu(a,t,u+f,d),p=Hu(a,t,u,u+f),y=p>=0&&e[p];if(r&&!y||!r&&!(h>=0&&e[h])){Cc($s(c,s),o,a);const _=function HM(n,t,e,i,r){const o=new so(n,e,v);return o.multi=[],o.index=t,o.componentProviders=0,Wy(o,r,i&&!e),o}(r?BM:VM,e.length,r,i,l);!r&&y&&(e[p].providerFactory=_),Bu(o,n,t.length,0),t.push(a),c.directiveStart++,c.directiveEnd++,r&&(c.providerIndexes+=1048576),e.push(_),s.push(_)}else Bu(o,n,h>-1?h:p,Wy(e[r?p:h],l,!r&&i));!r&&i&&y&&e[p].componentProviders++}}}function Bu(n,t,e,i){const r=Fi(t),o=function e0(n){return!!n.useClass}(t);if(r||o){const l=(o?L(t.useClass):t).prototype.ngOnDestroy;if(l){const c=n.destroyHooks||(n.destroyHooks=[]);if(!r&&t.multi){const u=c.indexOf(e);-1===u?c.push(e,[i,l]):c[u+1].push(i,l)}else c.push(e,l)}}}function Wy(n,t,e){return e&&n.componentProviders++,n.multi.push(t)-1}function Hu(n,t,e,i){for(let r=e;r{e.providersResolver=(i,r)=>function jM(n,t,e){const i=ne();if(i.firstCreatePass){const r=nn(n);Vu(e,i.data,i.blueprint,r,!0),Vu(t,i.data,i.blueprint,r,!1)}}(i,r?r(n):n,t)}}class Rr{}class UM{}class Gy extends Rr{constructor(t,e){super(),this._parent=e,this._bootstrapComponents=[],this.destroyCbs=[],this.componentFactoryResolver=new ug(this);const i=function It(n,t){const e=n[Nh]||null;if(!e&&!0===t)throw new Error(`Type ${pe(n)} does not have '\u0275mod' property.`);return e}(t);this._bootstrapComponents=function Bn(n){return n instanceof Function?n():n}(i.bootstrap),this._r3Injector=$m(t,e,[{provide:Rr,useValue:this},{provide:yr,useValue:this.componentFactoryResolver}],pe(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(e=>e()),this.destroyCbs=null}onDestroy(t){this.destroyCbs.push(t)}}class $u extends UM{constructor(t){super(),this.moduleType=t}create(t){return new Gy(this.moduleType,t)}}class zM extends Rr{constructor(t,e,i){super(),this.componentFactoryResolver=new ug(this),this.instance=null;const r=new Mm([...t,{provide:Rr,useValue:this},{provide:yr,useValue:this.componentFactoryResolver}],e||sa(),i,new Set(["environment"]));this.injector=r,r.resolveInjectorInitializers()}destroy(){this.injector.destroy()}onDestroy(t){this.injector.onDestroy(t)}}let WM=(()=>{class n{constructor(e){this._injector=e,this.cachedInjectors=new Map}getOrCreateStandaloneInjector(e){if(!e.standalone)return null;if(!this.cachedInjectors.has(e.id)){const i=Cm(0,e.type),r=i.length>0?function qy(n,t,e=null){return new zM(n,t,e).injector}([i],this._injector,`Standalone[${e.type.name}]`):null;this.cachedInjectors.set(e.id,r)}return this.cachedInjectors.get(e.id)}ngOnDestroy(){try{for(const e of this.cachedInjectors.values())null!==e&&e.destroy()}finally{this.cachedInjectors.clear()}}}return n.\u0275prov=H({token:n,providedIn:"environment",factory:()=>new n(O(Ri))}),n})();function Un(n){n.getStandaloneInjector=t=>t.get(WM).getOrCreateStandaloneInjector(n)}function Ca(n,t,e){const i=pt()+n,r=b();return r[i]===W?vn(r,i,e?t.call(e):t()):wo(r,i)}function $n(n,t,e,i){return i_(b(),pt(),n,t,e,i)}function wa(n,t,e,i,r){return r_(b(),pt(),n,t,e,i,r)}function e_(n,t,e,i,r,o){return function o_(n,t,e,i,r,o,s,a){const l=t+e;return function ga(n,t,e,i,r){const o=ki(n,t,e,i);return ot(n,t+2,r)||o}(n,l,r,o,s)?vn(n,l+3,a?i.call(a,r,o,s):i(r,o,s)):ko(n,l+3)}(b(),pt(),n,t,e,i,r,o)}function Wu(n,t,e,i,r,o,s){return function s_(n,t,e,i,r,o,s,a,l){const c=t+e;return Ht(n,c,r,o,s,a)?vn(n,c+4,l?i.call(l,r,o,s,a):i(r,o,s,a)):ko(n,c+4)}(b(),pt(),n,t,e,i,r,o,s)}function n_(n,t,e,i){return function a_(n,t,e,i,r,o){let s=t+e,a=!1;for(let l=0;l=0;e--){const i=t[e];if(n===i.name)return i}}(t,e.pipeRegistry),e.data[r]=i,i.onDestroy&&(e.destroyHooks||(e.destroyHooks=[])).push(r,i.onDestroy)):i=e.data[r];const o=i.factory||(i.factory=Mi(i.type)),s=jt(v);try{const a=Us(!1),l=o();return Us(a),function JI(n,t,e,i){e>=n.data.length&&(n.data[e]=null,n.blueprint[e]=null),t[e]=i}(e,b(),r,l),l}finally{jt(s)}}function Le(n,t,e){const i=n+22,r=b(),o=or(r,i);return jo(r,i)?i_(r,pt(),t,o.transform,e,o):o.transform(e)}function Gu(n,t,e,i){const r=n+22,o=b(),s=or(o,r);return jo(o,r)?r_(o,pt(),t,s.transform,e,i,s):s.transform(e,i)}function jo(n,t){return n[1].data[t].pure}function qu(n){return t=>{setTimeout(n,void 0,t)}}const Q=class aA extends hn{constructor(t=!1){super(),this.__isAsync=t}emit(t){super.next(t)}subscribe(t,e,i){let r=t,o=e||(()=>null),s=i;if(t&&"object"==typeof t){const l=t;r=l.next?.bind(l),o=l.error?.bind(l),s=l.complete?.bind(l)}this.__isAsync&&(o=qu(o),r&&(r=qu(r)),s&&(s=qu(s)));const a=super.subscribe({next:r,error:o,complete:s});return t instanceof ve&&t.add(a),a}};function lA(){return this._results[Li()]()}class Ku{get changes(){return this._changes||(this._changes=new Q)}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 e=Li(),i=Ku.prototype;i[e]||(i[e]=lA)}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,e){return this._results.reduce(t,e)}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,e){const i=this;i.dirty=!1;const r=function Bt(n){return n.flat(Number.POSITIVE_INFINITY)}(t);(this._changesDetected=!function TC(n,t,e){if(n.length!==t.length)return!1;for(let i=0;i{class n{}return n.__NG_ELEMENT_ID__=dA,n})();const cA=Cn,uA=class extends cA{constructor(t,e,i){super(),this._declarationLView=t,this._declarationTContainer=e,this.elementRef=i}createEmbeddedView(t,e){const i=this._declarationTContainer.tViews,r=la(this._declarationLView,i,t,16,null,i.declTNode,null,null,null,null,e||null);r[17]=this._declarationLView[this._declarationTContainer.index];const s=this._declarationLView[19];return null!==s&&(r[19]=s.createEmbeddedView(i)),yu(i,r,t),new So(r)}};function dA(){return Ia(Qe(),b())}function Ia(n,t){return 4&n.type?new uA(t,n,_r(n,t)):null}let wn=(()=>{class n{}return n.__NG_ELEMENT_ID__=fA,n})();function fA(){return u_(Qe(),b())}const hA=wn,l_=class extends hA{constructor(t,e,i){super(),this._lContainer=t,this._hostTNode=e,this._hostLView=i}get element(){return _r(this._hostTNode,this._hostLView)}get injector(){return new lr(this._hostTNode,this._hostLView)}get parentInjector(){const t=Sc(this._hostTNode,this._hostLView);if(fp(t)){const e=Hs(t,this._hostLView),i=Bs(t);return new lr(e[1].data[i+8],e)}return new lr(null,this._hostLView)}clear(){for(;this.length>0;)this.remove(this.length-1)}get(t){const e=c_(this._lContainer);return null!==e&&e[t]||null}get length(){return this._lContainer.length-10}createEmbeddedView(t,e,i){let r,o;"number"==typeof i?r=i:null!=i&&(r=i.index,o=i.injector);const s=t.createEmbeddedView(e||{},o);return this.insert(s,r),s}createComponent(t,e,i,r,o){const s=t&&!function co(n){return"function"==typeof n}(t);let a;if(s)a=e;else{const d=e||{};a=d.index,i=d.injector,r=d.projectableNodes,o=d.environmentInjector||d.ngModuleRef}const l=s?t:new Co(ce(t)),c=i||this.parentInjector;if(!o&&null==l.ngModule){const f=(s?c:this.parentInjector).get(Ri,null);f&&(o=f)}const u=l.create(c,r,void 0,o);return this.insert(u.hostView,a),u}insert(t,e){const i=t._lView,r=i[1];if(function QS(n){return tn(n[3])}(i)){const u=this.indexOf(t);if(-1!==u)this.detach(u);else{const d=i[3],f=new l_(d,d[6],d[3]);f.detach(f.indexOf(t))}}const o=this._adjustIndex(e),s=this._lContainer;!function mw(n,t,e,i){const r=10+i,o=e.length;i>0&&(e[r-1][4]=t),i0)i.push(s[a/2]);else{const c=o[a+1],u=t[-l];for(let d=10;d{class n{constructor(e){this.appInits=e,this.resolve=Aa,this.reject=Aa,this.initialized=!1,this.done=!1,this.donePromise=new Promise((i,r)=>{this.resolve=i,this.reject=r})}runInitializers(){if(this.initialized)return;const e=[],i=()=>{this.done=!0,this.resolve()};if(this.appInits)for(let r=0;r{o.subscribe({complete:a,error:l})});e.push(s)}}Promise.all(e).then(()=>{i()}).catch(r=>{this.reject(r)}),0===e.length&&i(),this.initialized=!0}}return n.\u0275fac=function(e){return new(e||n)(O(F_,8))},n.\u0275prov=H({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();const Bo=new F("AppId",{providedIn:"root",factory:function R_(){return`${od()}${od()}${od()}`}});function od(){return String.fromCharCode(97+Math.floor(25*Math.random()))}const L_=new F("Platform Initializer"),sd=new F("Platform ID",{providedIn:"platform",factory:()=>"unknown"}),VA=new F("appBootstrapListener"),k_=new F("AnimationModuleType"),zn=new F("LocaleId",{providedIn:"root",factory:()=>On(zn,U.Optional|U.SkipSelf)||function BA(){return typeof $localize<"u"&&$localize.locale||Fr}()}),WA=(()=>Promise.resolve(0))();function ad(n){typeof Zone>"u"?WA.then(()=>{n&&n.apply(null,null)}):Zone.current.scheduleMicroTask("scheduleMicrotask",n)}class Se{constructor({enableLongStackTrace:t=!1,shouldCoalesceEventChangeDetection:e=!1,shouldCoalesceRunChangeDetection:i=!1}){if(this.hasPendingMacrotasks=!1,this.hasPendingMicrotasks=!1,this.isStable=!0,this.onUnstable=new Q(!1),this.onMicrotaskEmpty=new Q(!1),this.onStable=new Q(!1),this.onError=new Q(!1),typeof Zone>"u")throw new D(908,!1);Zone.assertZonePatched();const r=this;r._nesting=0,r._outer=r._inner=Zone.current,Zone.TaskTrackingZoneSpec&&(r._inner=r._inner.fork(new Zone.TaskTrackingZoneSpec)),t&&Zone.longStackTraceZoneSpec&&(r._inner=r._inner.fork(Zone.longStackTraceZoneSpec)),r.shouldCoalesceEventChangeDetection=!i&&e,r.shouldCoalesceRunChangeDetection=i,r.lastRequestAnimationFrameId=-1,r.nativeRequestAnimationFrame=function GA(){let n=me.requestAnimationFrame,t=me.cancelAnimationFrame;if(typeof Zone<"u"&&n&&t){const e=n[Zone.__symbol__("OriginalDelegate")];e&&(n=e);const i=t[Zone.__symbol__("OriginalDelegate")];i&&(t=i)}return{nativeRequestAnimationFrame:n,nativeCancelAnimationFrame:t}}().nativeRequestAnimationFrame,function QA(n){const t=()=>{!function KA(n){n.isCheckStableRunning||-1!==n.lastRequestAnimationFrameId||(n.lastRequestAnimationFrameId=n.nativeRequestAnimationFrame.call(me,()=>{n.fakeTopEventTask||(n.fakeTopEventTask=Zone.root.scheduleEventTask("fakeTopEventTask",()=>{n.lastRequestAnimationFrameId=-1,cd(n),n.isCheckStableRunning=!0,ld(n),n.isCheckStableRunning=!1},void 0,()=>{},()=>{})),n.fakeTopEventTask.invoke()}),cd(n))}(n)};n._inner=n._inner.fork({name:"angular",properties:{isAngularZone:!0},onInvokeTask:(e,i,r,o,s,a)=>{try{return B_(n),e.invokeTask(r,o,s,a)}finally{(n.shouldCoalesceEventChangeDetection&&"eventTask"===o.type||n.shouldCoalesceRunChangeDetection)&&t(),H_(n)}},onInvoke:(e,i,r,o,s,a,l)=>{try{return B_(n),e.invoke(r,o,s,a,l)}finally{n.shouldCoalesceRunChangeDetection&&t(),H_(n)}},onHasTask:(e,i,r,o)=>{e.hasTask(r,o),i===r&&("microTask"==o.change?(n._hasPendingMicrotasks=o.microTask,cd(n),ld(n)):"macroTask"==o.change&&(n.hasPendingMacrotasks=o.macroTask))},onHandleError:(e,i,r,o)=>(e.handleError(r,o),n.runOutsideAngular(()=>n.onError.emit(o)),!1)})}(r)}static isInAngularZone(){return typeof Zone<"u"&&!0===Zone.current.get("isAngularZone")}static assertInAngularZone(){if(!Se.isInAngularZone())throw new D(909,!1)}static assertNotInAngularZone(){if(Se.isInAngularZone())throw new D(909,!1)}run(t,e,i){return this._inner.run(t,e,i)}runTask(t,e,i,r){const o=this._inner,s=o.scheduleEventTask("NgZoneEvent: "+r,t,qA,Aa,Aa);try{return o.runTask(s,e,i)}finally{o.cancelTask(s)}}runGuarded(t,e,i){return this._inner.runGuarded(t,e,i)}runOutsideAngular(t){return this._outer.run(t)}}const qA={};function ld(n){if(0==n._nesting&&!n.hasPendingMicrotasks&&!n.isStable)try{n._nesting++,n.onMicrotaskEmpty.emit(null)}finally{if(n._nesting--,!n.hasPendingMicrotasks)try{n.runOutsideAngular(()=>n.onStable.emit(null))}finally{n.isStable=!0}}}function cd(n){n.hasPendingMicrotasks=!!(n._hasPendingMicrotasks||(n.shouldCoalesceEventChangeDetection||n.shouldCoalesceRunChangeDetection)&&-1!==n.lastRequestAnimationFrameId)}function B_(n){n._nesting++,n.isStable&&(n.isStable=!1,n.onUnstable.emit(null))}function H_(n){n._nesting--,ld(n)}class YA{constructor(){this.hasPendingMicrotasks=!1,this.hasPendingMacrotasks=!1,this.isStable=!0,this.onUnstable=new Q,this.onMicrotaskEmpty=new Q,this.onStable=new Q,this.onError=new Q}run(t,e,i){return t.apply(e,i)}runGuarded(t,e,i){return t.apply(e,i)}runOutsideAngular(t){return t()}runTask(t,e,i,r){return t.apply(e,i)}}const U_=new F(""),Pa=new F("");let fd,ud=(()=>{class n{constructor(e,i,r){this._ngZone=e,this.registry=i,this._pendingCount=0,this._isZoneStable=!0,this._didWork=!1,this._callbacks=[],this.taskTrackingZone=null,fd||(function ZA(n){fd=n}(r),r.addToWindow(i)),this._watchAngularEvents(),e.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:()=>{Se.assertNotInAngularZone(),ad(()=>{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())ad(()=>{for(;0!==this._callbacks.length;){let e=this._callbacks.pop();clearTimeout(e.timeoutId),e.doneCb(this._didWork)}this._didWork=!1});else{let e=this.getPendingTasks();this._callbacks=this._callbacks.filter(i=>!i.updateCb||!i.updateCb(e)||(clearTimeout(i.timeoutId),!1)),this._didWork=!0}}getPendingTasks(){return this.taskTrackingZone?this.taskTrackingZone.macroTasks.map(e=>({source:e.source,creationLocation:e.creationLocation,data:e.data})):[]}addCallback(e,i,r){let o=-1;i&&i>0&&(o=setTimeout(()=>{this._callbacks=this._callbacks.filter(s=>s.timeoutId!==o),e(this._didWork,this.getPendingTasks())},i)),this._callbacks.push({doneCb:e,timeoutId:o,updateCb:r})}whenStable(e,i,r){if(r&&!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(e,i,r),this._runCallbacksIfReady()}getPendingRequestCount(){return this._pendingCount}registerApplication(e){this.registry.registerApplication(e,this)}unregisterApplication(e){this.registry.unregisterApplication(e)}findProviders(e,i,r){return[]}}return n.\u0275fac=function(e){return new(e||n)(O(Se),O(dd),O(Pa))},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})(),dd=(()=>{class n{constructor(){this._applications=new Map}registerApplication(e,i){this._applications.set(e,i)}unregisterApplication(e){this._applications.delete(e)}unregisterAllApplications(){this._applications.clear()}getTestability(e){return this._applications.get(e)||null}getAllTestabilities(){return Array.from(this._applications.values())}getAllRootElements(){return Array.from(this._applications.keys())}findTestabilityInTree(e,i=!0){return fd?.findTestabilityInTree(this,e,i)??null}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=H({token:n,factory:n.\u0275fac,providedIn:"platform"}),n})(),di=null;const $_=new F("AllowMultipleToken"),hd=new F("PlatformDestroyListeners");function W_(n,t,e=[]){const i=`Platform: ${t}`,r=new F(i);return(o=[])=>{let s=pd();if(!s||s.injector.get($_,!1)){const a=[...e,...o,{provide:r,useValue:!0}];n?n(a):function ex(n){if(di&&!di.get($_,!1))throw new D(400,!1);di=n;const t=n.get(q_);(function z_(n){const t=n.get(L_,null);t&&t.forEach(e=>e())})(n)}(function G_(n=[],t){return yn.create({name:t,providers:[{provide:ou,useValue:"platform"},{provide:hd,useValue:new Set([()=>di=null])},...n]})}(a,i))}return function nx(n){const t=pd();if(!t)throw new D(401,!1);return t}()}}function pd(){return di?.get(q_)??null}let q_=(()=>{class n{constructor(e){this._injector=e,this._modules=[],this._destroyListeners=[],this._destroyed=!1}bootstrapModuleFactory(e,i){const r=function Q_(n,t){let e;return e="noop"===n?new YA:("zone.js"===n?void 0:n)||new Se(t),e}(i?.ngZone,function K_(n){return{enableLongStackTrace:!1,shouldCoalesceEventChangeDetection:!(!n||!n.ngZoneEventCoalescing)||!1,shouldCoalesceRunChangeDetection:!(!n||!n.ngZoneRunCoalescing)||!1}}(i)),o=[{provide:Se,useValue:r}];return r.run(()=>{const s=yn.create({providers:o,parent:this.injector,name:e.moduleType.name}),a=e.create(s),l=a.injector.get(vr,null);if(!l)throw new D(402,!1);return r.runOutsideAngular(()=>{const c=r.onError.subscribe({next:u=>{l.handleError(u)}});a.onDestroy(()=>{Oa(this._modules,a),c.unsubscribe()})}),function Y_(n,t,e){try{const i=e();return ya(i)?i.catch(r=>{throw t.runOutsideAngular(()=>n.handleError(r)),r}):i}catch(i){throw t.runOutsideAngular(()=>n.handleError(i)),i}}(l,r,()=>{const c=a.injector.get(xa);return c.runInitializers(),c.donePromise.then(()=>(function Dy(n){kt(n,"Expected localeId to be defined"),"string"==typeof n&&(by=n.toLowerCase().replace(/_/g,"-"))}(a.injector.get(zn,Fr)||Fr),this._moduleDoBootstrap(a),a))})})}bootstrapModule(e,i=[]){const r=Z_({},i);return function XA(n,t,e){const i=new $u(e);return Promise.resolve(i)}(0,0,e).then(o=>this.bootstrapModuleFactory(o,r))}_moduleDoBootstrap(e){const i=e.injector.get(Ho);if(e._bootstrapComponents.length>0)e._bootstrapComponents.forEach(r=>i.bootstrap(r));else{if(!e.instance.ngDoBootstrap)throw new D(-403,!1);e.instance.ngDoBootstrap(i)}this._modules.push(e)}onDestroy(e){this._destroyListeners.push(e)}get injector(){return this._injector}destroy(){if(this._destroyed)throw new D(404,!1);this._modules.slice().forEach(i=>i.destroy()),this._destroyListeners.forEach(i=>i());const e=this._injector.get(hd,null);e&&(e.forEach(i=>i()),e.clear()),this._destroyed=!0}get destroyed(){return this._destroyed}}return n.\u0275fac=function(e){return new(e||n)(O(yn))},n.\u0275prov=H({token:n,factory:n.\u0275fac,providedIn:"platform"}),n})();function Z_(n,t){return Array.isArray(t)?t.reduce(Z_,n):{...n,...t}}let Ho=(()=>{class n{get destroyed(){return this._destroyed}get injector(){return this._injector}constructor(e,i,r){this._zone=e,this._injector=i,this._exceptionHandler=r,this._bootstrapListeners=[],this._views=[],this._runningTick=!1,this._stable=!0,this._destroyed=!1,this._destroyListeners=[],this.componentTypes=[],this.components=[],this._onMicrotaskEmptySubscription=this._zone.onMicrotaskEmpty.subscribe({next:()=>{this._zone.run(()=>{this.tick()})}});const o=new be(a=>{this._stable=this._zone.isStable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks,this._zone.runOutsideAngular(()=>{a.next(this._stable),a.complete()})}),s=new be(a=>{let l;this._zone.runOutsideAngular(()=>{l=this._zone.onStable.subscribe(()=>{Se.assertNotInAngularZone(),ad(()=>{!this._stable&&!this._zone.hasPendingMacrotasks&&!this._zone.hasPendingMicrotasks&&(this._stable=!0,a.next(!0))})})});const c=this._zone.onUnstable.subscribe(()=>{Se.assertInAngularZone(),this._stable&&(this._stable=!1,this._zone.runOutsideAngular(()=>{a.next(!1)}))});return()=>{l.unsubscribe(),c.unsubscribe()}});this.isStable=Ch(o,s.pipe(function _S(){return n=>wh()(function mS(n,t){return function(i){let r;if(r="function"==typeof n?n:function(){return n},"function"==typeof t)return i.lift(new gS(r,t));const o=Object.create(i,fS);return o.source=i,o.subjectFactory=r,o}}(yS)(n))}()))}bootstrap(e,i){const r=e instanceof xm;if(!this._injector.get(xa).done)throw!r&&function eo(n){const t=ce(n)||Je(n)||ft(n);return null!==t&&t.standalone}(e),new D(405,false);let s;s=r?e:this._injector.get(yr).resolveComponentFactory(e),this.componentTypes.push(s.componentType);const a=function JA(n){return n.isBoundToModule}(s)?void 0:this._injector.get(Rr),c=s.create(yn.NULL,[],i||s.selector,a),u=c.location.nativeElement,d=c.injector.get(U_,null);return d?.registerApplication(u),c.onDestroy(()=>{this.detachView(c.hostView),Oa(this.components,c),d?.unregisterApplication(u)}),this._loadComponent(c),c}tick(){if(this._runningTick)throw new D(101,!1);try{this._runningTick=!0;for(let e of this._views)e.detectChanges()}catch(e){this._zone.runOutsideAngular(()=>this._exceptionHandler.handleError(e))}finally{this._runningTick=!1}}attachView(e){const i=e;this._views.push(i),i.attachToAppRef(this)}detachView(e){const i=e;Oa(this._views,i),i.detachFromAppRef()}_loadComponent(e){this.attachView(e.hostView),this.tick(),this.components.push(e);const i=this._injector.get(VA,[]);i.push(...this._bootstrapListeners),i.forEach(r=>r(e))}ngOnDestroy(){if(!this._destroyed)try{this._destroyListeners.forEach(e=>e()),this._views.slice().forEach(e=>e.destroy()),this._onMicrotaskEmptySubscription.unsubscribe()}finally{this._destroyed=!0,this._views=[],this._bootstrapListeners=[],this._destroyListeners=[]}}onDestroy(e){return this._destroyListeners.push(e),()=>Oa(this._destroyListeners,e)}destroy(){if(this._destroyed)throw new D(406,!1);const e=this._injector;e.destroy&&!e.destroyed&&e.destroy()}get viewCount(){return this._views.length}warnIfDestroyed(){}}return n.\u0275fac=function(e){return new(e||n)(O(Se),O(Ri),O(vr))},n.\u0275prov=H({token:n,factory:n.\u0275fac,providedIn:"root"}),n})();function Oa(n,t){const e=n.indexOf(t);e>-1&&n.splice(e,1)}let Gn=(()=>{class n{}return n.__NG_ELEMENT_ID__=ox,n})();function ox(n){return function sx(n,t,e){if(ro(n)&&!e){const i=At(n.index,t);return new So(i,i)}return 47&n.type?new So(t[16],t):null}(Qe(),b(),16==(16&n))}class nv{constructor(){}supports(t){return ma(t)}create(t){return new fx(t)}}const dx=(n,t)=>t;class fx{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||dx}forEachItem(t){let e;for(e=this._itHead;null!==e;e=e._next)t(e)}forEachOperation(t){let e=this._itHead,i=this._removalsHead,r=0,o=null;for(;e||i;){const s=!i||e&&e.currentIndex{s=this._trackByFn(r,a),null!==e&&Object.is(e.trackById,s)?(i&&(e=this._verifyReinsertion(e,a,s,r)),Object.is(e.item,a)||this._addIdentityChange(e,a)):(e=this._mismatch(e,a,s,r),i=!0),e=e._next,r++}),this.length=r;return this._truncate(e),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,e,i,r){let o;return null===t?o=this._itTail:(o=t._prev,this._remove(t)),null!==(t=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._reinsertAfter(t,o,r)):null!==(t=null===this._linkedRecords?null:this._linkedRecords.get(i,r))?(Object.is(t.item,e)||this._addIdentityChange(t,e),this._moveAfter(t,o,r)):t=this._addAfter(new hx(e,i),o,r),t}_verifyReinsertion(t,e,i,r){let o=null===this._unlinkedRecords?null:this._unlinkedRecords.get(i,null);return null!==o?t=this._reinsertAfter(o,t._prev,r):t.currentIndex!=r&&(t.currentIndex=r,this._addToMoves(t,r)),t}_truncate(t){for(;null!==t;){const e=t._next;this._addToRemovals(this._unlink(t)),t=e}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,e,i){null!==this._unlinkedRecords&&this._unlinkedRecords.remove(t);const r=t._prevRemoved,o=t._nextRemoved;return null===r?this._removalsHead=o:r._nextRemoved=o,null===o?this._removalsTail=r:o._prevRemoved=r,this._insertAfter(t,e,i),this._addToMoves(t,i),t}_moveAfter(t,e,i){return this._unlink(t),this._insertAfter(t,e,i),this._addToMoves(t,i),t}_addAfter(t,e,i){return this._insertAfter(t,e,i),this._additionsTail=null===this._additionsTail?this._additionsHead=t:this._additionsTail._nextAdded=t,t}_insertAfter(t,e,i){const r=null===e?this._itHead:e._next;return t._next=r,t._prev=e,null===r?this._itTail=t:r._prev=t,null===e?this._itHead=t:e._next=t,null===this._linkedRecords&&(this._linkedRecords=new iv),this._linkedRecords.put(t),t.currentIndex=i,t}_remove(t){return this._addToRemovals(this._unlink(t))}_unlink(t){null!==this._linkedRecords&&this._linkedRecords.remove(t);const e=t._prev,i=t._next;return null===e?this._itHead=i:e._next=i,null===i?this._itTail=e:i._prev=e,t}_addToMoves(t,e){return t.previousIndex===e||(this._movesTail=null===this._movesTail?this._movesHead=t:this._movesTail._nextMoved=t),t}_addToRemovals(t){return null===this._unlinkedRecords&&(this._unlinkedRecords=new iv),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,e){return t.item=e,this._identityChangesTail=null===this._identityChangesTail?this._identityChangesHead=t:this._identityChangesTail._nextIdentityChange=t,t}}class hx{constructor(t,e){this.item=t,this.trackById=e,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 px{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,e){let i;for(i=this._head;null!==i;i=i._nextDup)if((null===e||e<=i.currentIndex)&&Object.is(i.trackById,t))return i;return null}remove(t){const e=t._prevDup,i=t._nextDup;return null===e?this._head=i:e._nextDup=i,null===i?this._tail=e:i._prevDup=e,null===this._head}}class iv{constructor(){this.map=new Map}put(t){const e=t.trackById;let i=this.map.get(e);i||(i=new px,this.map.set(e,i)),i.add(t)}get(t,e){const r=this.map.get(t);return r?r.get(t,e):null}remove(t){const e=t.trackById;return this.map.get(e).remove(t)&&this.map.delete(e),t}get isEmpty(){return 0===this.map.size}clear(){this.map.clear()}}function rv(n,t,e){const i=n.previousIndex;if(null===i)return i;let r=0;return e&&i{if(e&&e.key===r)this._maybeAddToChanges(e,i),this._appendAfter=e,e=e._next;else{const o=this._getOrCreateRecordForKey(r,i);e=this._insertBeforeOrAppend(e,o)}}),e){e._prev&&(e._prev._next=null),this._removalsHead=e;for(let i=e;null!==i;i=i._nextRemoved)i===this._mapHead&&(this._mapHead=null),this._records.delete(i.key),i._nextRemoved=i._next,i.previousValue=i.currentValue,i.currentValue=null,i._prev=null,i._next=null}return this._changesTail&&(this._changesTail._nextChanged=null),this._additionsTail&&(this._additionsTail._nextAdded=null),this.isDirty}_insertBeforeOrAppend(t,e){if(t){const i=t._prev;return e._next=t,e._prev=i,t._prev=e,i&&(i._next=e),t===this._mapHead&&(this._mapHead=e),this._appendAfter=t,t}return this._appendAfter?(this._appendAfter._next=e,e._prev=this._appendAfter):this._mapHead=e,this._appendAfter=e,null}_getOrCreateRecordForKey(t,e){if(this._records.has(t)){const r=this._records.get(t);this._maybeAddToChanges(r,e);const o=r._prev,s=r._next;return o&&(o._next=s),s&&(s._prev=o),r._next=null,r._prev=null,r}const i=new gx(t);return this._records.set(t,i),i.currentValue=e,this._addToAdditions(i),i}_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,e){Object.is(e,t.currentValue)||(t.previousValue=t.currentValue,t.currentValue=e,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,e){t instanceof Map?t.forEach(e):Object.keys(t).forEach(i=>e(t[i],i))}}class gx{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 sv(){return new Ra([new nv])}let Ra=(()=>{class n{constructor(e){this.factories=e}static create(e,i){if(null!=i){const r=i.factories.slice();e=e.concat(r)}return new n(e)}static extend(e){return{provide:n,useFactory:i=>n.create(e,i||sv()),deps:[[n,new Qs,new Ks]]}}find(e){const i=this.factories.find(r=>r.supports(e));if(null!=i)return i;throw new D(901,!1)}}return n.\u0275prov=H({token:n,providedIn:"root",factory:sv}),n})();function av(){return new Uo([new ov])}let Uo=(()=>{class n{constructor(e){this.factories=e}static create(e,i){if(i){const r=i.factories.slice();e=e.concat(r)}return new n(e)}static extend(e){return{provide:n,useFactory:i=>n.create(e,i||av()),deps:[[n,new Qs,new Ks]]}}find(e){const i=this.factories.find(r=>r.supports(e));if(i)return i;throw new D(901,!1)}}return n.\u0275prov=H({token:n,providedIn:"root",factory:av}),n})();const vx=W_(null,"core",[]);let bx=(()=>{class n{constructor(e){}}return n.\u0275fac=function(e){return new(e||n)(O(Ho))},n.\u0275mod=Ne({type:n}),n.\u0275inj=Ae({}),n})();let bd=null;function $i(){return bd}class Sx{}const zt=new F("DocumentToken");var Et=(()=>((Et=Et||{})[Et.Decimal=0]="Decimal",Et[Et.Percent=1]="Percent",Et[Et.Currency=2]="Currency",Et[Et.Scientific=3]="Scientific",Et))(),R=(()=>((R=R||{})[R.Decimal=0]="Decimal",R[R.Group=1]="Group",R[R.List=2]="List",R[R.PercentSign=3]="PercentSign",R[R.PlusSign=4]="PlusSign",R[R.MinusSign=5]="MinusSign",R[R.Exponential=6]="Exponential",R[R.SuperscriptingExponent=7]="SuperscriptingExponent",R[R.PerMille=8]="PerMille",R[R.Infinity=9]="Infinity",R[R.NaN=10]="NaN",R[R.TimeSeparator=11]="TimeSeparator",R[R.CurrencyDecimal=12]="CurrencyDecimal",R[R.CurrencyGroup=13]="CurrencyGroup",R))();function Wt(n,t){const e=gt(n),i=e[I.NumberSymbols][t];if(typeof i>"u"){if(t===R.CurrencyDecimal)return e[I.NumberSymbols][R.Decimal];if(t===R.CurrencyGroup)return e[I.NumberSymbols][R.Group]}return i}const Zx=/^(\d+)?\.((\d+)(-(\d+))?)?$/;function Md(n){const t=parseInt(n);if(isNaN(t))throw new Error("Invalid integer literal when parsing "+n);return t}function yv(n,t){t=encodeURIComponent(t);for(const e of n.split(";")){const i=e.indexOf("="),[r,o]=-1==i?[e,""]:[e.slice(0,i),e.slice(i+1)];if(r.trim()===t)return decodeURIComponent(o)}return null}const xd=/\s+/,_v=[];let Kn=(()=>{class n{constructor(e,i,r,o){this._iterableDiffers=e,this._keyValueDiffers=i,this._ngEl=r,this._renderer=o,this.initialClasses=_v,this.stateMap=new Map}set klass(e){this.initialClasses=null!=e?e.trim().split(xd):_v}set ngClass(e){this.rawClass="string"==typeof e?e.trim().split(xd):e}ngDoCheck(){for(const i of this.initialClasses)this._updateState(i,!0);const e=this.rawClass;if(Array.isArray(e)||e instanceof Set)for(const i of e)this._updateState(i,!0);else if(null!=e)for(const i of Object.keys(e))this._updateState(i,Boolean(e[i]));this._applyStateDiff()}_updateState(e,i){const r=this.stateMap.get(e);void 0!==r?(r.enabled!==i&&(r.changed=!0,r.enabled=i),r.touched=!0):this.stateMap.set(e,{enabled:i,changed:!0,touched:!0})}_applyStateDiff(){for(const e of this.stateMap){const i=e[0],r=e[1];r.changed?(this._toggleClass(i,r.enabled),r.changed=!1):r.touched||(r.enabled&&this._toggleClass(i,!1),this.stateMap.delete(i)),r.touched=!1}}_toggleClass(e,i){(e=e.trim()).length>0&&e.split(xd).forEach(r=>{i?this._renderer.addClass(this._ngEl.nativeElement,r):this._renderer.removeClass(this._ngEl.nativeElement,r)})}}return n.\u0275fac=function(e){return new(e||n)(v(Ra),v(Uo),v(rt),v(Vn))},n.\u0275dir=V({type:n,selectors:[["","ngClass",""]],inputs:{klass:["class","klass"],ngClass:"ngClass"},standalone:!0}),n})(),fi=(()=>{class n{constructor(e,i){this._viewContainer=e,this._context=new h1,this._thenTemplateRef=null,this._elseTemplateRef=null,this._thenViewRef=null,this._elseViewRef=null,this._thenTemplateRef=i}set ngIf(e){this._context.$implicit=this._context.ngIf=e,this._updateView()}set ngIfThen(e){Ev("ngIfThen",e),this._thenTemplateRef=e,this._thenViewRef=null,this._updateView()}set ngIfElse(e){Ev("ngIfElse",e),this._elseTemplateRef=e,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(e,i){return!0}}return n.\u0275fac=function(e){return new(e||n)(v(wn),v(Cn))},n.\u0275dir=V({type:n,selectors:[["","ngIf",""]],inputs:{ngIf:"ngIf",ngIfThen:"ngIfThen",ngIfElse:"ngIfElse"},standalone:!0}),n})();class h1{constructor(){this.$implicit=null,this.ngIf=null}}function Ev(n,t){if(t&&!t.createEmbeddedView)throw new Error(`${n} must be a TemplateRef, but received '${pe(t)}'.`)}class Pd{constructor(t,e){this._viewContainerRef=t,this._templateRef=e,this._created=!1}create(){this._created=!0,this._viewContainerRef.createEmbeddedView(this._templateRef)}destroy(){this._created=!1,this._viewContainerRef.clear()}enforceState(t){t&&!this._created?this.create():!t&&this._created&&this.destroy()}}let Wo=(()=>{class n{constructor(){this._defaultViews=[],this._defaultUsed=!1,this._caseCount=0,this._lastCaseCheckIndex=0,this._lastCasesMatched=!1}set ngSwitch(e){this._ngSwitch=e,0===this._caseCount&&this._updateDefaultCases(!0)}_addCase(){return this._caseCount++}_addDefault(e){this._defaultViews.push(e)}_matchCase(e){const i=e==this._ngSwitch;return this._lastCasesMatched=this._lastCasesMatched||i,this._lastCaseCheckIndex++,this._lastCaseCheckIndex===this._caseCount&&(this._updateDefaultCases(!this._lastCasesMatched),this._lastCaseCheckIndex=0,this._lastCasesMatched=!1),i}_updateDefaultCases(e){if(this._defaultViews.length>0&&e!==this._defaultUsed){this._defaultUsed=e;for(const i of this._defaultViews)i.enforceState(e)}}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275dir=V({type:n,selectors:[["","ngSwitch",""]],inputs:{ngSwitch:"ngSwitch"},standalone:!0}),n})(),Od=(()=>{class n{constructor(e,i,r){this.ngSwitch=r,r._addCase(),this._view=new Pd(e,i)}ngDoCheck(){this._view.enforceState(this.ngSwitch._matchCase(this.ngSwitchCase))}}return n.\u0275fac=function(e){return new(e||n)(v(wn),v(Cn),v(Wo,9))},n.\u0275dir=V({type:n,selectors:[["","ngSwitchCase",""]],inputs:{ngSwitchCase:"ngSwitchCase"},standalone:!0}),n})(),Sv=(()=>{class n{constructor(e,i,r){r._addDefault(new Pd(e,i))}}return n.\u0275fac=function(e){return new(e||n)(v(wn),v(Cn),v(Wo,9))},n.\u0275dir=V({type:n,selectors:[["","ngSwitchDefault",""]],standalone:!0}),n})(),Vr=(()=>{class n{constructor(e,i,r){this._ngEl=e,this._differs=i,this._renderer=r,this._ngStyle=null,this._differ=null}set ngStyle(e){this._ngStyle=e,!this._differ&&e&&(this._differ=this._differs.find(e).create())}ngDoCheck(){if(this._differ){const e=this._differ.diff(this._ngStyle);e&&this._applyChanges(e)}}_setStyle(e,i){const[r,o]=e.split("."),s=-1===r.indexOf("-")?void 0:bt.DashCase;null!=i?this._renderer.setStyle(this._ngEl.nativeElement,r,o?`${i}${o}`:i,s):this._renderer.removeStyle(this._ngEl.nativeElement,r,s)}_applyChanges(e){e.forEachRemovedItem(i=>this._setStyle(i.key,null)),e.forEachAddedItem(i=>this._setStyle(i.key,i.currentValue)),e.forEachChangedItem(i=>this._setStyle(i.key,i.currentValue))}}return n.\u0275fac=function(e){return new(e||n)(v(rt),v(Uo),v(Vn))},n.\u0275dir=V({type:n,selectors:[["","ngStyle",""]],inputs:{ngStyle:"ngStyle"},standalone:!0}),n})(),Wa=(()=>{class n{constructor(e){this._viewContainerRef=e,this._viewRef=null,this.ngTemplateOutletContext=null,this.ngTemplateOutlet=null,this.ngTemplateOutletInjector=null}ngOnChanges(e){if(e.ngTemplateOutlet||e.ngTemplateOutletInjector){const i=this._viewContainerRef;if(this._viewRef&&i.remove(i.indexOf(this._viewRef)),this.ngTemplateOutlet){const{ngTemplateOutlet:r,ngTemplateOutletContext:o,ngTemplateOutletInjector:s}=this;this._viewRef=i.createEmbeddedView(r,o,s?{injector:s}:void 0)}else this._viewRef=null}else this._viewRef&&e.ngTemplateOutletContext&&this.ngTemplateOutletContext&&(this._viewRef.context=this.ngTemplateOutletContext)}}return n.\u0275fac=function(e){return new(e||n)(v(wn))},n.\u0275dir=V({type:n,selectors:[["","ngTemplateOutlet",""]],inputs:{ngTemplateOutletContext:"ngTemplateOutletContext",ngTemplateOutlet:"ngTemplateOutlet",ngTemplateOutletInjector:"ngTemplateOutletInjector"},standalone:!0,features:[rn]}),n})();function dn(n,t){return new D(2100,!1)}class m1{createSubscription(t,e){return t.subscribe({next:e,error:i=>{throw i}})}dispose(t){t.unsubscribe()}}class g1{createSubscription(t,e){return t.then(e,i=>{throw i})}dispose(t){}}const y1=new g1,_1=new m1;let Nd=(()=>{class n{constructor(e){this._latestValue=null,this._subscription=null,this._obj=null,this._strategy=null,this._ref=e}ngOnDestroy(){this._subscription&&this._dispose(),this._ref=null}transform(e){return this._obj?e!==this._obj?(this._dispose(),this.transform(e)):this._latestValue:(e&&this._subscribe(e),this._latestValue)}_subscribe(e){this._obj=e,this._strategy=this._selectStrategy(e),this._subscription=this._strategy.createSubscription(e,i=>this._updateLatestValue(e,i))}_selectStrategy(e){if(ya(e))return y1;if(wg(e))return _1;throw dn()}_dispose(){this._strategy.dispose(this._subscription),this._latestValue=null,this._subscription=null,this._obj=null}_updateLatestValue(e,i){e===this._obj&&(this._latestValue=i,this._ref.markForCheck())}}return n.\u0275fac=function(e){return new(e||n)(v(Gn,16))},n.\u0275pipe=dt({name:"async",type:n,pure:!1,standalone:!0}),n})(),Iv=(()=>{class n{constructor(e){this._locale=e}transform(e,i,r){if(!function Fd(n){return!(null==n||""===n||n!=n)}(e))return null;r=r||this._locale;try{return function r1(n,t,e){return function Id(n,t,e,i,r,o,s=!1){let a="",l=!1;if(isFinite(n)){let c=function s1(n){let i,r,o,s,a,t=Math.abs(n)+"",e=0;for((r=t.indexOf("."))>-1&&(t=t.replace(".","")),(o=t.search(/e/i))>0?(r<0&&(r=o),r+=+t.slice(o+1),t=t.substring(0,o)):r<0&&(r=t.length),o=0;"0"===t.charAt(o);o++);if(o===(a=t.length))i=[0],r=1;else{for(a--;"0"===t.charAt(a);)a--;for(r-=o,i=[],s=0;o<=a;o++,s++)i[s]=Number(t.charAt(o))}return r>22&&(i=i.splice(0,21),e=r-1,r=1),{digits:i,exponent:e,integerLen:r}}(n);s&&(c=function o1(n){if(0===n.digits[0])return n;const t=n.digits.length-n.integerLen;return n.exponent?n.exponent+=2:(0===t?n.digits.push(0,0):1===t&&n.digits.push(0),n.integerLen+=2),n}(c));let u=t.minInt,d=t.minFrac,f=t.maxFrac;if(o){const S=o.match(Zx);if(null===S)throw new Error(`${o} is not a valid digit info`);const g=S[1],M=S[3],ie=S[5];null!=g&&(u=Md(g)),null!=M&&(d=Md(M)),null!=ie?f=Md(ie):null!=M&&d>f&&(f=d)}!function a1(n,t,e){if(t>e)throw new Error(`The minimum number of digits after fraction (${t}) is higher than the maximum (${e}).`);let i=n.digits,r=i.length-n.integerLen;const o=Math.min(Math.max(t,r),e);let s=o+n.integerLen,a=i[s];if(s>0){i.splice(Math.max(n.integerLen,s));for(let d=s;d=5)if(s-1<0){for(let d=0;d>s;d--)i.unshift(0),n.integerLen++;i.unshift(1),n.integerLen++}else i[s-1]++;for(;r=c?p.pop():l=!1),f>=10?1:0},0);u&&(i.unshift(u),n.integerLen++)}(c,d,f);let h=c.digits,p=c.integerLen;const m=c.exponent;let y=[];for(l=h.every(S=>!S);p0?y=h.splice(p,h.length):(y=h,h=[0]);const _=[];for(h.length>=t.lgSize&&_.unshift(h.splice(-t.lgSize,h.length).join(""));h.length>t.gSize;)_.unshift(h.splice(-t.gSize,h.length).join(""));h.length&&_.unshift(h.join("")),a=_.join(Wt(e,i)),y.length&&(a+=Wt(e,r)+y.join("")),m&&(a+=Wt(e,R.Exponential)+"+"+m)}else a=Wt(e,R.Infinity);return a=n<0&&!l?t.negPre+a+t.negSuf:t.posPre+a+t.posSuf,a}(n,function Td(n,t="-"){const e={minInt:1,minFrac:0,maxFrac:0,posPre:"",posSuf:"",negPre:"",negSuf:"",gSize:0,lgSize:0},i=n.split(";"),r=i[0],o=i[1],s=-1!==r.indexOf(".")?r.split("."):[r.substring(0,r.lastIndexOf("0")+1),r.substring(r.lastIndexOf("0")+1)],a=s[0],l=s[1]||"";e.posPre=a.substring(0,a.indexOf("#"));for(let u=0;u{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Ne({type:n}),n.\u0275inj=Ae({}),n})();class Av{}class dP extends Sx{constructor(){super(...arguments),this.supportsDOMEvents=!0}}class jd extends dP{static makeCurrent(){!function Ex(n){bd||(bd=n)}(new jd)}onAndCancel(t,e,i){return t.addEventListener(e,i,!1),()=>{t.removeEventListener(e,i,!1)}}dispatchEvent(t,e){t.dispatchEvent(e)}remove(t){t.parentNode&&t.parentNode.removeChild(t)}createElement(t,e){return(e=e||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,e){return"window"===e?window:"document"===e?t:"body"===e?t.body:null}getBaseHref(t){const e=function fP(){return qo=qo||document.querySelector("base"),qo?qo.getAttribute("href"):null}();return null==e?null:function hP(n){qa=qa||document.createElement("a"),qa.setAttribute("href",n);const t=qa.pathname;return"/"===t.charAt(0)?t:`/${t}`}(e)}resetBaseElement(){qo=null}getUserAgent(){return window.navigator.userAgent}getCookie(t){return yv(document.cookie,t)}}let qa,qo=null;const Rv=new F("TRANSITION_ID"),mP=[{provide:F_,useFactory:function pP(n,t,e){return()=>{e.get(xa).donePromise.then(()=>{const i=$i(),r=t.querySelectorAll(`style[ng-transition="${n}"]`);for(let o=0;o{class n{build(){return new XMLHttpRequest}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})();const Ka=new F("EventManagerPlugins");let Qa=(()=>{class n{constructor(e,i){this._zone=i,this._eventNameToPlugin=new Map,e.forEach(r=>r.manager=this),this._plugins=e.slice().reverse()}addEventListener(e,i,r){return this._findPluginFor(i).addEventListener(e,i,r)}addGlobalEventListener(e,i,r){return this._findPluginFor(i).addGlobalEventListener(e,i,r)}getZone(){return this._zone}_findPluginFor(e){const i=this._eventNameToPlugin.get(e);if(i)return i;const r=this._plugins;for(let o=0;o{class n{constructor(){this._stylesSet=new Set}addStyles(e){const i=new Set;e.forEach(r=>{this._stylesSet.has(r)||(this._stylesSet.add(r),i.add(r))}),this.onStylesAdded(i)}onStylesAdded(e){}getAllStyles(){return Array.from(this._stylesSet)}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})(),Ko=(()=>{class n extends kv{constructor(e){super(),this._doc=e,this._hostNodes=new Map,this._hostNodes.set(e.head,[])}_addStylesToHost(e,i,r){e.forEach(o=>{const s=this._doc.createElement("style");s.textContent=o,r.push(i.appendChild(s))})}addHost(e){const i=[];this._addStylesToHost(this._stylesSet,e,i),this._hostNodes.set(e,i)}removeHost(e){const i=this._hostNodes.get(e);i&&i.forEach(jv),this._hostNodes.delete(e)}onStylesAdded(e){this._hostNodes.forEach((i,r)=>{this._addStylesToHost(e,r,i)})}ngOnDestroy(){this._hostNodes.forEach(e=>e.forEach(jv))}}return n.\u0275fac=function(e){return new(e||n)(O(zt))},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})();function jv(n){$i().remove(n)}const Vd={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/"},Bd=/%COMP%/g;function Hd(n,t){return t.flat(100).map(e=>e.replace(Bd,n))}function Hv(n){return t=>{if("__ngUnwrap__"===t)return n;!1===n(t)&&(t.preventDefault(),t.returnValue=!1)}}let Ya=(()=>{class n{constructor(e,i,r){this.eventManager=e,this.sharedStylesHost=i,this.appId=r,this.rendererByCompId=new Map,this.defaultRenderer=new Ud(e)}createRenderer(e,i){if(!e||!i)return this.defaultRenderer;switch(i.encapsulation){case Jt.Emulated:{let r=this.rendererByCompId.get(i.id);return r||(r=new SP(this.eventManager,this.sharedStylesHost,i,this.appId),this.rendererByCompId.set(i.id,r)),r.applyToHost(e),r}case Jt.ShadowDom:return new CP(this.eventManager,this.sharedStylesHost,e,i);default:if(!this.rendererByCompId.has(i.id)){const r=Hd(i.id,i.styles);this.sharedStylesHost.addStyles(r),this.rendererByCompId.set(i.id,this.defaultRenderer)}return this.defaultRenderer}}begin(){}end(){}}return n.\u0275fac=function(e){return new(e||n)(O(Qa),O(Ko),O(Bo))},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})();class Ud{constructor(t){this.eventManager=t,this.data=Object.create(null),this.destroyNode=null}destroy(){}createElement(t,e){return e?document.createElementNS(Vd[e]||e,t):document.createElement(t)}createComment(t){return document.createComment(t)}createText(t){return document.createTextNode(t)}appendChild(t,e){($v(t)?t.content:t).appendChild(e)}insertBefore(t,e,i){t&&($v(t)?t.content:t).insertBefore(e,i)}removeChild(t,e){t&&t.removeChild(e)}selectRootElement(t,e){let i="string"==typeof t?document.querySelector(t):t;if(!i)throw new Error(`The selector "${t}" did not match any elements`);return e||(i.textContent=""),i}parentNode(t){return t.parentNode}nextSibling(t){return t.nextSibling}setAttribute(t,e,i,r){if(r){e=r+":"+e;const o=Vd[r];o?t.setAttributeNS(o,e,i):t.setAttribute(e,i)}else t.setAttribute(e,i)}removeAttribute(t,e,i){if(i){const r=Vd[i];r?t.removeAttributeNS(r,e):t.removeAttribute(`${i}:${e}`)}else t.removeAttribute(e)}addClass(t,e){t.classList.add(e)}removeClass(t,e){t.classList.remove(e)}setStyle(t,e,i,r){r&(bt.DashCase|bt.Important)?t.style.setProperty(e,i,r&bt.Important?"important":""):t.style[e]=i}removeStyle(t,e,i){i&bt.DashCase?t.style.removeProperty(e):t.style[e]=""}setProperty(t,e,i){t[e]=i}setValue(t,e){t.nodeValue=e}listen(t,e,i){return"string"==typeof t?this.eventManager.addGlobalEventListener(t,e,Hv(i)):this.eventManager.addEventListener(t,e,Hv(i))}}function $v(n){return"TEMPLATE"===n.tagName&&void 0!==n.content}class SP extends Ud{constructor(t,e,i,r){super(t),this.component=i;const o=Hd(r+"-"+i.id,i.styles);e.addStyles(o),this.contentAttr=function bP(n){return"_ngcontent-%COMP%".replace(Bd,n)}(r+"-"+i.id),this.hostAttr=function DP(n){return"_nghost-%COMP%".replace(Bd,n)}(r+"-"+i.id)}applyToHost(t){super.setAttribute(t,this.hostAttr,"")}createElement(t,e){const i=super.createElement(t,e);return super.setAttribute(i,this.contentAttr,""),i}}class CP extends Ud{constructor(t,e,i,r){super(t),this.sharedStylesHost=e,this.hostEl=i,this.shadowRoot=i.attachShadow({mode:"open"}),this.sharedStylesHost.addHost(this.shadowRoot);const o=Hd(r.id,r.styles);for(let s=0;s{class n extends Lv{constructor(e){super(e)}supports(e){return!0}addEventListener(e,i,r){return e.addEventListener(i,r,!1),()=>this.removeEventListener(e,i,r)}removeEventListener(e,i,r){return e.removeEventListener(i,r)}}return n.\u0275fac=function(e){return new(e||n)(O(zt))},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})();const zv=["alt","control","meta","shift"],IP={"\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"},TP={alt:n=>n.altKey,control:n=>n.ctrlKey,meta:n=>n.metaKey,shift:n=>n.shiftKey};let MP=(()=>{class n extends Lv{constructor(e){super(e)}supports(e){return null!=n.parseEventName(e)}addEventListener(e,i,r){const o=n.parseEventName(i),s=n.eventCallback(o.fullKey,r,this.manager.getZone());return this.manager.getZone().runOutsideAngular(()=>$i().onAndCancel(e,o.domEventName,s))}static parseEventName(e){const i=e.toLowerCase().split("."),r=i.shift();if(0===i.length||"keydown"!==r&&"keyup"!==r)return null;const o=n._normalizeKey(i.pop());let s="",a=i.indexOf("code");if(a>-1&&(i.splice(a,1),s="code."),zv.forEach(c=>{const u=i.indexOf(c);u>-1&&(i.splice(u,1),s+=c+".")}),s+=o,0!=i.length||0===o.length)return null;const l={};return l.domEventName=r,l.fullKey=s,l}static matchEventFullKeyCode(e,i){let r=IP[e.key]||e.key,o="";return i.indexOf("code.")>-1&&(r=e.code,o="code."),!(null==r||!r)&&(r=r.toLowerCase()," "===r?r="space":"."===r&&(r="dot"),zv.forEach(s=>{s!==r&&(0,TP[s])(e)&&(o+=s+".")}),o+=r,o===i)}static eventCallback(e,i,r){return o=>{n.matchEventFullKeyCode(o,e)&&r.runGuarded(()=>i(o))}}static _normalizeKey(e){return"esc"===e?"escape":e}}return n.\u0275fac=function(e){return new(e||n)(O(zt))},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})();const Gv=[{provide:sd,useValue:"browser"},{provide:L_,useValue:function AP(){jd.makeCurrent()},multi:!0},{provide:zt,useFactory:function PP(){return function Mw(n){Yc=n}(document),document},deps:[]}],OP=W_(vx,"browser",Gv),qv=new F(""),Kv=[{provide:Pa,useClass:class gP{addToWindow(t){me.getAngularTestability=(i,r=!0)=>{const o=t.findTestabilityInTree(i,r);if(null==o)throw new Error("Could not find testability for element.");return o},me.getAllAngularTestabilities=()=>t.getAllTestabilities(),me.getAllAngularRootElements=()=>t.getAllRootElements(),me.frameworkStabilizers||(me.frameworkStabilizers=[]),me.frameworkStabilizers.push(i=>{const r=me.getAllAngularTestabilities();let o=r.length,s=!1;const a=function(l){s=s||l,o--,0==o&&i(s)};r.forEach(function(l){l.whenStable(a)})})}findTestabilityInTree(t,e,i){return null==e?null:t.getTestability(e)??(i?$i().isShadowRoot(e)?this.findTestabilityInTree(t,e.host,!0):this.findTestabilityInTree(t,e.parentElement,!0):null)}},deps:[]},{provide:U_,useClass:ud,deps:[Se,dd,Pa]},{provide:ud,useClass:ud,deps:[Se,dd,Pa]}],Qv=[{provide:ou,useValue:"root"},{provide:vr,useFactory:function xP(){return new vr},deps:[]},{provide:Ka,useClass:wP,multi:!0,deps:[zt,Se,sd]},{provide:Ka,useClass:MP,multi:!0,deps:[zt]},{provide:Ya,useClass:Ya,deps:[Qa,Ko,Bo]},{provide:bo,useExisting:Ya},{provide:kv,useExisting:Ko},{provide:Ko,useClass:Ko,deps:[zt]},{provide:Qa,useClass:Qa,deps:[Ka,Se]},{provide:Av,useClass:yP,deps:[]},[]];let Yv=(()=>{class n{constructor(e){}static withServerTransition(e){return{ngModule:n,providers:[{provide:Bo,useValue:e.appId},{provide:Rv,useExisting:Bo},mP]}}}return n.\u0275fac=function(e){return new(e||n)(O(qv,12))},n.\u0275mod=Ne({type:n}),n.\u0275inj=Ae({providers:[...Qv,...Kv],imports:[st,bx]}),n})();function Qo(n,t){return function(i){return i.lift(new UP(n,t))}}typeof window<"u"&&window;class UP{constructor(t,e){this.predicate=t,this.thisArg=e}call(t,e){return e.subscribe(new $P(t,this.predicate,this.thisArg))}}class $P extends De{constructor(t,e,i){super(t),this.predicate=e,this.thisArg=i,this.count=0}_next(t){let e;try{e=this.predicate.call(this.thisArg,t,this.count++)}catch(i){return void this.destination.error(i)}e&&this.destination.next(t)}}const zP=(()=>{function n(){return Error.call(this),this.message="argument out of range",this.name="ArgumentOutOfRangeError",this}return n.prototype=Object.create(Error.prototype),n})(),Wd=new be(n=>n.complete());function Jv(n){return n?function WP(n){return new be(t=>n.schedule(()=>t.complete()))}(n):Wd}function Za(n){return t=>0===n?Jv():t.lift(new GP(n))}class GP{constructor(t){if(this.total=t,this.total<0)throw new zP}call(t,e){return e.subscribe(new qP(t,this.total))}}class qP extends De{constructor(t,e){super(t),this.total=e,this.count=0}_next(t){const e=this.total,i=++this.count;i<=e&&(this.destination.next(t),i===e&&(this.destination.complete(),this.unsubscribe()))}}class Gd extends hn{constructor(t){super(),this._value=t}get value(){return this.getValue()}_subscribe(t){const e=super._subscribe(t);return e&&!e.closed&&t.next(this._value),e}getValue(){if(this.hasError)throw this.thrownError;if(this.closed)throw new wi;return this._value}next(t){super.next(this._value=t)}}function Xa(n,t){return new be(e=>{const i=n.length;if(0===i)return void e.complete();const r=new Array(i);let o=0,s=0;for(let a=0;a{c||(c=!0,s++),r[a]=u},error:u=>e.error(u),complete:()=>{o++,(o===i||!c)&&(s===i&&e.next(t?t.reduce((u,d,f)=>(u[d]=r[f],u),{}):r),e.complete())}}))}})}let eb=(()=>{class n{constructor(e,i){this._renderer=e,this._elementRef=i,this.onChange=r=>{},this.onTouched=()=>{}}setProperty(e,i){this._renderer.setProperty(this._elementRef.nativeElement,e,i)}registerOnTouched(e){this.onTouched=e}registerOnChange(e){this.onChange=e}setDisabledState(e){this.setProperty("disabled",e)}}return n.\u0275fac=function(e){return new(e||n)(v(Vn),v(rt))},n.\u0275dir=V({type:n}),n})(),zi=(()=>{class n extends eb{}return n.\u0275fac=function(){let t;return function(i){return(t||(t=function nt(n){return oi(()=>{const t=n.prototype.constructor,e=t[Fn]||wc(t),i=Object.prototype;let r=Object.getPrototypeOf(n.prototype).constructor;for(;r&&r!==i;){const o=r[Fn]||wc(r);if(o&&o!==e)return o;r=Object.getPrototypeOf(r)}return o=>new o})}(n)))(i||n)}}(),n.\u0275dir=V({type:n,features:[ue]}),n})();const fn=new F("NgValueAccessor"),YP={provide:fn,useExisting:de(()=>Yo),multi:!0},XP=new F("CompositionEventMode");let Yo=(()=>{class n extends eb{constructor(e,i,r){super(e,i),this._compositionMode=r,this._composing=!1,null==this._compositionMode&&(this._compositionMode=!function ZP(){const n=$i()?$i().getUserAgent():"";return/android (\d+)/.test(n.toLowerCase())}())}writeValue(e){this.setProperty("value",e??"")}_handleInput(e){(!this._compositionMode||this._compositionMode&&!this._composing)&&this.onChange(e)}_compositionStart(){this._composing=!0}_compositionEnd(e){this._composing=!1,this._compositionMode&&this.onChange(e)}}return n.\u0275fac=function(e){return new(e||n)(v(Vn),v(rt),v(XP,8))},n.\u0275dir=V({type:n,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(e,i){1&e&&q("input",function(o){return i._handleInput(o.target.value)})("blur",function(){return i.onTouched()})("compositionstart",function(){return i._compositionStart()})("compositionend",function(o){return i._compositionEnd(o.target.value)})},features:[he([YP]),ue]}),n})();function pi(n){return null==n||("string"==typeof n||Array.isArray(n))&&0===n.length}function nb(n){return null!=n&&"number"==typeof n.length}const Ze=new F("NgValidators"),mi=new F("NgAsyncValidators"),eO=/^(?=.{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])?)*$/;class Ja{static min(t){return function ib(n){return t=>{if(pi(t.value)||pi(n))return null;const e=parseFloat(t.value);return!isNaN(e)&&e{if(pi(t.value)||pi(n))return null;const e=parseFloat(t.value);return!isNaN(e)&&e>n?{max:{max:n,actual:t.value}}:null}}(t)}static required(t){return function ob(n){return pi(n.value)?{required:!0}:null}(t)}static requiredTrue(t){return function sb(n){return!0===n.value?null:{required:!0}}(t)}static email(t){return function ab(n){return pi(n.value)||eO.test(n.value)?null:{email:!0}}(t)}static minLength(t){return function lb(n){return t=>pi(t.value)||!nb(t.value)?null:t.value.lengthnb(t.value)&&t.value.length>n?{maxlength:{requiredLength:n,actualLength:t.value.length}}:null}(t)}static pattern(t){return function ub(n){if(!n)return el;let t,e;return"string"==typeof n?(e="","^"!==n.charAt(0)&&(e+="^"),e+=n,"$"!==n.charAt(n.length-1)&&(e+="$"),t=new RegExp(e)):(e=n.toString(),t=n),i=>{if(pi(i.value))return null;const r=i.value;return t.test(r)?null:{pattern:{requiredPattern:e,actualValue:r}}}}(t)}static nullValidator(t){return null}static compose(t){return gb(t)}static composeAsync(t){return yb(t)}}function el(n){return null}function db(n){return null!=n}function fb(n){return ya(n)?Ii(n):n}function hb(n){let t={};return n.forEach(e=>{t=null!=e?{...t,...e}:t}),0===Object.keys(t).length?null:t}function pb(n,t){return t.map(e=>e(n))}function mb(n){return n.map(t=>function tO(n){return!n.validate}(t)?t:e=>t.validate(e))}function gb(n){if(!n)return null;const t=n.filter(db);return 0==t.length?null:function(e){return hb(pb(e,t))}}function qd(n){return null!=n?gb(mb(n)):null}function yb(n){if(!n)return null;const t=n.filter(db);return 0==t.length?null:function(e){return function KP(...n){if(1===n.length){const t=n[0];if(Zt(t))return Xa(t,null);if(zl(t)&&Object.getPrototypeOf(t)===Object.prototype){const e=Object.keys(t);return Xa(e.map(i=>t[i]),e)}}if("function"==typeof n[n.length-1]){const t=n.pop();return Xa(n=1===n.length&&Zt(n[0])?n[0]:n,null).pipe(Xe(e=>t(...e)))}return Xa(n,null)}(pb(e,t).map(fb)).pipe(Xe(hb))}}function Kd(n){return null!=n?yb(mb(n)):null}function _b(n,t){return null===n?[t]:Array.isArray(n)?[...n,t]:[n,t]}function vb(n){return n._rawValidators}function bb(n){return n._rawAsyncValidators}function Qd(n){return n?Array.isArray(n)?n:[n]:[]}function tl(n,t){return Array.isArray(n)?n.includes(t):n===t}function Db(n,t){const e=Qd(t);return Qd(n).forEach(r=>{tl(e,r)||e.push(r)}),e}function Eb(n,t){return Qd(t).filter(e=>!tl(n,e))}class Sb{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=qd(this._rawValidators)}_setAsyncValidators(t){this._rawAsyncValidators=t||[],this._composedAsyncValidatorFn=Kd(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){this.control&&this.control.reset(t)}hasError(t,e){return!!this.control&&this.control.hasError(t,e)}getError(t,e){return this.control?this.control.getError(t,e):null}}class _t extends Sb{get formDirective(){return null}get path(){return null}}class gi extends Sb{constructor(){super(...arguments),this._parent=null,this.name=null,this.valueAccessor=null}}class Cb{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 Yd=(()=>{class n extends Cb{constructor(e){super(e)}}return n.\u0275fac=function(e){return new(e||n)(v(gi,2))},n.\u0275dir=V({type:n,selectors:[["","formControlName",""],["","ngModel",""],["","formControl",""]],hostVars:14,hostBindings:function(e,i){2&e&&Ao("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)},features:[ue]}),n})(),Zd=(()=>{class n extends Cb{constructor(e){super(e)}}return n.\u0275fac=function(e){return new(e||n)(v(_t,10))},n.\u0275dir=V({type:n,selectors:[["","formGroupName",""],["","formArrayName",""],["","ngModelGroup",""],["","formGroup",""],["form",3,"ngNoForm",""],["","ngForm",""]],hostVars:16,hostBindings:function(e,i){2&e&&Ao("ng-untouched",i.isUntouched)("ng-touched",i.isTouched)("ng-pristine",i.isPristine)("ng-dirty",i.isDirty)("ng-valid",i.isValid)("ng-invalid",i.isInvalid)("ng-pending",i.isPending)("ng-submitted",i.isSubmitted)},features:[ue]}),n})();const Zo="VALID",il="INVALID",Br="PENDING",Xo="DISABLED";function tf(n){return(rl(n)?n.validators:n)||null}function nf(n,t){return(rl(t)?t.asyncValidators:n)||null}function rl(n){return null!=n&&!Array.isArray(n)&&"object"==typeof n}class Mb{constructor(t,e){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(e)}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===Zo}get invalid(){return this.status===il}get pending(){return this.status==Br}get disabled(){return this.status===Xo}get enabled(){return this.status!==Xo}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(Db(t,this._rawValidators))}addAsyncValidators(t){this.setAsyncValidators(Db(t,this._rawAsyncValidators))}removeValidators(t){this.setValidators(Eb(t,this._rawValidators))}removeAsyncValidators(t){this.setAsyncValidators(Eb(t,this._rawAsyncValidators))}hasValidator(t){return tl(this._rawValidators,t)}hasAsyncValidator(t){return tl(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(e=>{e.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(e=>{e.markAsPristine({onlySelf:!0})}),this._parent&&!t.onlySelf&&this._parent._updatePristine(t)}markAsPending(t={}){this.status=Br,!1!==t.emitEvent&&this.statusChanges.emit(this.status),this._parent&&!t.onlySelf&&this._parent.markAsPending(t)}disable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=Xo,this.errors=null,this._forEachChild(i=>{i.disable({...t,onlySelf:!0})}),this._updateValue(),!1!==t.emitEvent&&(this.valueChanges.emit(this.value),this.statusChanges.emit(this.status)),this._updateAncestors({...t,skipPristineCheck:e}),this._onDisabledChange.forEach(i=>i(!0))}enable(t={}){const e=this._parentMarkedDirty(t.onlySelf);this.status=Zo,this._forEachChild(i=>{i.enable({...t,onlySelf:!0})}),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent}),this._updateAncestors({...t,skipPristineCheck:e}),this._onDisabledChange.forEach(i=>i(!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===Zo||this.status===Br)&&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(e=>e._updateTreeValidity(t)),this.updateValueAndValidity({onlySelf:!0,emitEvent:t.emitEvent})}_setInitialStatus(){this.status=this._allControlsDisabled()?Xo:Zo}_runValidator(){return this.validator?this.validator(this):null}_runAsyncValidator(t){if(this.asyncValidator){this.status=Br,this._hasOwnPendingAsyncValidator=!0;const e=fb(this.asyncValidator(this));this._asyncValidationSubscription=e.subscribe(i=>{this._hasOwnPendingAsyncValidator=!1,this.setErrors(i,{emitEvent:t})})}}_cancelExistingSubscription(){this._asyncValidationSubscription&&(this._asyncValidationSubscription.unsubscribe(),this._hasOwnPendingAsyncValidator=!1)}setErrors(t,e={}){this.errors=t,this._updateControlsErrors(!1!==e.emitEvent)}get(t){let e=t;return null==e||(Array.isArray(e)||(e=e.split(".")),0===e.length)?null:e.reduce((i,r)=>i&&i._find(r),this)}getError(t,e){const i=e?this.get(e):this;return i&&i.errors?i.errors[t]:null}hasError(t,e){return!!this.getError(t,e)}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 Q,this.statusChanges=new Q}_calculateStatus(){return this._allControlsDisabled()?Xo:this.errors?il:this._hasOwnPendingAsyncValidator||this._anyControlsHaveStatus(Br)?Br:this._anyControlsHaveStatus(il)?il:Zo}_anyControlsHaveStatus(t){return this._anyControls(e=>e.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){rl(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 lO(n){return Array.isArray(n)?qd(n):n||null}(this._rawValidators)}_assignAsyncValidators(t){this._rawAsyncValidators=Array.isArray(t)?t.slice():t,this._composedAsyncValidatorFn=function cO(n){return Array.isArray(n)?Kd(n):n||null}(this._rawAsyncValidators)}}class Jo extends Mb{constructor(t,e,i){super(tf(e),nf(i,e)),this.controls=t,this._initObservables(),this._setUpdateStrategy(e),this._setUpControls(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator})}registerControl(t,e){return this.controls[t]?this.controls[t]:(this.controls[t]=e,e.setParent(this),e._registerOnCollectionChange(this._onCollectionChange),e)}addControl(t,e,i={}){this.registerControl(t,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}removeControl(t,e={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],this.updateValueAndValidity({emitEvent:e.emitEvent}),this._onCollectionChange()}setControl(t,e,i={}){this.controls[t]&&this.controls[t]._registerOnCollectionChange(()=>{}),delete this.controls[t],e&&this.registerControl(t,e),this.updateValueAndValidity({emitEvent:i.emitEvent}),this._onCollectionChange()}contains(t){return this.controls.hasOwnProperty(t)&&this.controls[t].enabled}setValue(t,e={}){(function Tb(n,t,e){n._forEachChild((i,r)=>{if(void 0===e[r])throw new D(1002,"")})})(this,0,t),Object.keys(t).forEach(i=>{(function Ib(n,t,e){const i=n.controls;if(!(t?Object.keys(i):i).length)throw new D(1e3,"");if(!i[e])throw new D(1001,"")})(this,!0,i),this.controls[i].setValue(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e)}patchValue(t,e={}){null!=t&&(Object.keys(t).forEach(i=>{const r=this.controls[i];r&&r.patchValue(t[i],{onlySelf:!0,emitEvent:e.emitEvent})}),this.updateValueAndValidity(e))}reset(t={},e={}){this._forEachChild((i,r)=>{i.reset(t[r],{onlySelf:!0,emitEvent:e.emitEvent})}),this._updatePristine(e),this._updateTouched(e),this.updateValueAndValidity(e)}getRawValue(){return this._reduceChildren({},(t,e,i)=>(t[i]=e.getRawValue(),t))}_syncPendingControls(){let t=this._reduceChildren(!1,(e,i)=>!!i._syncPendingControls()||e);return t&&this.updateValueAndValidity({onlySelf:!0}),t}_forEachChild(t){Object.keys(this.controls).forEach(e=>{const i=this.controls[e];i&&t(i,e)})}_setUpControls(){this._forEachChild(t=>{t.setParent(this),t._registerOnCollectionChange(this._onCollectionChange)})}_updateValue(){this.value=this._reduceValue()}_anyControls(t){for(const[e,i]of Object.entries(this.controls))if(this.contains(e)&&t(i))return!0;return!1}_reduceValue(){return this._reduceChildren({},(e,i,r)=>((i.enabled||this.disabled)&&(e[r]=i.value),e))}_reduceChildren(t,e){let i=t;return this._forEachChild((r,o)=>{i=e(i,r,o)}),i}_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 Hr=new F("CallSetDisabledState",{providedIn:"root",factory:()=>ol}),ol="always";function sl(n,t){return[...t.path,n]}function es(n,t,e=ol){rf(n,t),t.valueAccessor.writeValue(n.value),(n.disabled||"always"===e)&&t.valueAccessor.setDisabledState?.(n.disabled),function fO(n,t){t.valueAccessor.registerOnChange(e=>{n._pendingValue=e,n._pendingChange=!0,n._pendingDirty=!0,"change"===n.updateOn&&Ab(n,t)})}(n,t),function pO(n,t){const e=(i,r)=>{t.valueAccessor.writeValue(i),r&&t.viewToModelUpdate(i)};n.registerOnChange(e),t._registerOnDestroy(()=>{n._unregisterOnChange(e)})}(n,t),function hO(n,t){t.valueAccessor.registerOnTouched(()=>{n._pendingTouched=!0,"blur"===n.updateOn&&n._pendingChange&&Ab(n,t),"submit"!==n.updateOn&&n.markAsTouched()})}(n,t),function dO(n,t){if(t.valueAccessor.setDisabledState){const e=i=>{t.valueAccessor.setDisabledState(i)};n.registerOnDisabledChange(e),t._registerOnDestroy(()=>{n._unregisterOnDisabledChange(e)})}}(n,t)}function al(n,t,e=!0){const i=()=>{};t.valueAccessor&&(t.valueAccessor.registerOnChange(i),t.valueAccessor.registerOnTouched(i)),cl(n,t),n&&(t._invokeOnDestroyCallbacks(),n._registerOnCollectionChange(()=>{}))}function ll(n,t){n.forEach(e=>{e.registerOnValidatorChange&&e.registerOnValidatorChange(t)})}function rf(n,t){const e=vb(n);null!==t.validator?n.setValidators(_b(e,t.validator)):"function"==typeof e&&n.setValidators([e]);const i=bb(n);null!==t.asyncValidator?n.setAsyncValidators(_b(i,t.asyncValidator)):"function"==typeof i&&n.setAsyncValidators([i]);const r=()=>n.updateValueAndValidity();ll(t._rawValidators,r),ll(t._rawAsyncValidators,r)}function cl(n,t){let e=!1;if(null!==n){if(null!==t.validator){const r=vb(n);if(Array.isArray(r)&&r.length>0){const o=r.filter(s=>s!==t.validator);o.length!==r.length&&(e=!0,n.setValidators(o))}}if(null!==t.asyncValidator){const r=bb(n);if(Array.isArray(r)&&r.length>0){const o=r.filter(s=>s!==t.asyncValidator);o.length!==r.length&&(e=!0,n.setAsyncValidators(o))}}}const i=()=>{};return ll(t._rawValidators,i),ll(t._rawAsyncValidators,i),e}function Ab(n,t){n._pendingDirty&&n.markAsDirty(),n.setValue(n._pendingValue,{emitModelToViewChange:!1}),t.viewToModelUpdate(n._pendingValue),n._pendingChange=!1}function af(n,t){if(!n.hasOwnProperty("model"))return!1;const e=n.model;return!!e.isFirstChange()||!Object.is(t,e.currentValue)}function lf(n,t){if(!t)return null;let e,i,r;return Array.isArray(t),t.forEach(o=>{o.constructor===Yo?e=o:function yO(n){return Object.getPrototypeOf(n.constructor)===zi}(o)?i=o:r=o}),r||i||e||null}function Ob(n,t){const e=n.indexOf(t);e>-1&&n.splice(e,1)}function Nb(n){return"object"==typeof n&&null!==n&&2===Object.keys(n).length&&"value"in n&&"disabled"in n}const ns=class extends Mb{constructor(t=null,e,i){super(tf(e),nf(i,e)),this.defaultValue=null,this._onChange=[],this._pendingChange=!1,this._applyFormState(t),this._setUpdateStrategy(e),this._initObservables(),this.updateValueAndValidity({onlySelf:!0,emitEvent:!!this.asyncValidator}),rl(e)&&(e.nonNullable||e.initialValueIsDefault)&&(this.defaultValue=Nb(t)?t.value:t)}setValue(t,e={}){this.value=this._pendingValue=t,this._onChange.length&&!1!==e.emitModelToViewChange&&this._onChange.forEach(i=>i(this.value,!1!==e.emitViewToModelChange)),this.updateValueAndValidity(e)}patchValue(t,e={}){this.setValue(t,e)}reset(t=this.defaultValue,e={}){this._applyFormState(t),this.markAsPristine(e),this.markAsUntouched(e),this.setValue(this.value,e),this._pendingChange=!1}_updateValue(){}_anyControls(t){return!1}_allControlsDisabled(){return this.disabled}registerOnChange(t){this._onChange.push(t)}_unregisterOnChange(t){Ob(this._onChange,t)}registerOnDisabledChange(t){this._onDisabledChange.push(t)}_unregisterOnDisabledChange(t){Ob(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){Nb(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}},EO={provide:gi,useExisting:de(()=>uf)},Lb=(()=>Promise.resolve())();let uf=(()=>{class n extends gi{constructor(e,i,r,o,s,a){super(),this._changeDetectorRef=s,this.callSetDisabledState=a,this.control=new ns,this._registered=!1,this.update=new Q,this._parent=e,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=lf(0,o)}ngOnChanges(e){if(this._checkForErrors(),!this._registered||"name"in e){if(this._registered&&(this._checkName(),this.formDirective)){const i=e.name.previousValue;this.formDirective.removeControl({name:i,path:this._getPath(i)})}this._setUpControl()}"isDisabled"in e&&this._updateDisabled(e),af(e,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(e){this.viewModel=e,this.update.emit(e)}_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(){es(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(e){Lb.then(()=>{this.control.setValue(e,{emitViewToModelChange:!1}),this._changeDetectorRef?.markForCheck()})}_updateDisabled(e){const i=e.isDisabled.currentValue,r=0!==i&&function vd(n){return"boolean"==typeof n?n:null!=n&&"false"!==n}(i);Lb.then(()=>{r&&!this.control.disabled?this.control.disable():!r&&this.control.disabled&&this.control.enable(),this._changeDetectorRef?.markForCheck()})}_getPath(e){return this._parent?sl(e,this._parent):[e]}}return n.\u0275fac=function(e){return new(e||n)(v(_t,9),v(Ze,10),v(mi,10),v(fn,10),v(Gn,8),v(Hr,8))},n.\u0275dir=V({type:n,selectors:[["","ngModel","",3,"formControlName","",3,"formControl",""]],inputs:{name:"name",isDisabled:["disabled","isDisabled"],model:["ngModel","model"],options:["ngModelOptions","options"]},outputs:{update:"ngModelChange"},exportAs:["ngModel"],features:[he([EO]),ue,rn]}),n})(),df=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275dir=V({type:n,selectors:[["form",3,"ngNoForm","",3,"ngNativeValidate",""]],hostAttrs:["novalidate",""]}),n})(),jb=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Ne({type:n}),n.\u0275inj=Ae({}),n})();const ff=new F("NgModelWithFormControlWarning"),MO={provide:_t,useExisting:de(()=>is)};let is=(()=>{class n extends _t{constructor(e,i,r){super(),this.callSetDisabledState=r,this.submitted=!1,this._onCollectionChange=()=>this._updateDomValue(),this.directives=[],this.form=null,this.ngSubmit=new Q,this._setValidators(e),this._setAsyncValidators(i)}ngOnChanges(e){this._checkFormPresent(),e.hasOwnProperty("form")&&(this._updateValidators(),this._updateDomValue(),this._updateRegistrations(),this._oldForm=this.form)}ngOnDestroy(){this.form&&(cl(this.form,this),this.form._onCollectionChange===this._onCollectionChange&&this.form._registerOnCollectionChange(()=>{}))}get formDirective(){return this}get control(){return this.form}get path(){return[]}addControl(e){const i=this.form.get(e.path);return es(i,e,this.callSetDisabledState),i.updateValueAndValidity({emitEvent:!1}),this.directives.push(e),i}getControl(e){return this.form.get(e.path)}removeControl(e){al(e.control||null,e,!1),function _O(n,t){const e=n.indexOf(t);e>-1&&n.splice(e,1)}(this.directives,e)}addFormGroup(e){this._setUpFormContainer(e)}removeFormGroup(e){this._cleanUpFormContainer(e)}getFormGroup(e){return this.form.get(e.path)}addFormArray(e){this._setUpFormContainer(e)}removeFormArray(e){this._cleanUpFormContainer(e)}getFormArray(e){return this.form.get(e.path)}updateModel(e,i){this.form.get(e.path).setValue(i)}onSubmit(e){return this.submitted=!0,function Pb(n,t){n._syncPendingControls(),t.forEach(e=>{const i=e.control;"submit"===i.updateOn&&i._pendingChange&&(e.viewToModelUpdate(i._pendingValue),i._pendingChange=!1)})}(this.form,this.directives),this.ngSubmit.emit(e),"dialog"===e?.target?.method}onReset(){this.resetForm()}resetForm(e){this.form.reset(e),this.submitted=!1}_updateDomValue(){this.directives.forEach(e=>{const i=e.control,r=this.form.get(e.path);i!==r&&(al(i||null,e),(n=>n instanceof ns)(r)&&(es(r,e,this.callSetDisabledState),e.control=r))}),this.form._updateTreeValidity({emitEvent:!1})}_setUpFormContainer(e){const i=this.form.get(e.path);(function xb(n,t){rf(n,t)})(i,e),i.updateValueAndValidity({emitEvent:!1})}_cleanUpFormContainer(e){if(this.form){const i=this.form.get(e.path);i&&function mO(n,t){return cl(n,t)}(i,e)&&i.updateValueAndValidity({emitEvent:!1})}}_updateRegistrations(){this.form._registerOnCollectionChange(this._onCollectionChange),this._oldForm&&this._oldForm._registerOnCollectionChange(()=>{})}_updateValidators(){rf(this.form,this),this._oldForm&&cl(this._oldForm,this)}_checkFormPresent(){}}return n.\u0275fac=function(e){return new(e||n)(v(Ze,10),v(mi,10),v(Hr,8))},n.\u0275dir=V({type:n,selectors:[["","formGroup",""]],hostBindings:function(e,i){1&e&&q("submit",function(o){return i.onSubmit(o)})("reset",function(){return i.onReset()})},inputs:{form:["formGroup","form"]},outputs:{ngSubmit:"ngSubmit"},exportAs:["ngForm"],features:[he([MO]),ue,rn]}),n})();const PO={provide:gi,useExisting:de(()=>ul)};let ul=(()=>{class n extends gi{set isDisabled(e){}constructor(e,i,r,o,s){super(),this._ngModelWarningConfig=s,this._added=!1,this.update=new Q,this._ngModelWarningSent=!1,this._parent=e,this._setValidators(i),this._setAsyncValidators(r),this.valueAccessor=lf(0,o)}ngOnChanges(e){this._added||this._setUpControl(),af(e,this.viewModel)&&(this.viewModel=this.model,this.formDirective.updateModel(this,this.model))}ngOnDestroy(){this.formDirective&&this.formDirective.removeControl(this)}viewToModelUpdate(e){this.viewModel=e,this.update.emit(e)}get path(){return sl(null==this.name?this.name:this.name.toString(),this._parent)}get formDirective(){return this._parent?this._parent.formDirective:null}_checkParentType(){}_setUpControl(){this._checkParentType(),this.control=this.formDirective.addControl(this),this._added=!0}}return n._ngModelWarningSentOnce=!1,n.\u0275fac=function(e){return new(e||n)(v(_t,13),v(Ze,10),v(mi,10),v(fn,10),v(ff,8))},n.\u0275dir=V({type:n,selectors:[["","formControlName",""]],inputs:{name:["formControlName","name"],isDisabled:["disabled","isDisabled"],model:["ngModel","model"]},outputs:{update:"ngModelChange"},features:[he([PO]),ue,rn]}),n})(),eD=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Ne({type:n}),n.\u0275inj=Ae({imports:[jb]}),n})(),tD=(()=>{class n{static withConfig(e){return{ngModule:n,providers:[{provide:Hr,useValue:e.callSetDisabledState??ol}]}}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Ne({type:n}),n.\u0275inj=Ae({imports:[eD]}),n})(),nD=(()=>{class n{static withConfig(e){return{ngModule:n,providers:[{provide:ff,useValue:e.warnOnNgModelWithFormControl??"always"},{provide:Hr,useValue:e.callSetDisabledState??ol}]}}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Ne({type:n}),n.\u0275inj=Ae({imports:[eD]}),n})();const qO=["editor"];let QO=(()=>{class n{constructor(e,i){this.ngZone=e,this.monacoPathConfig=i,this.isMonacoLoaded$=new Gd(!1),this._monacoPath="assets/monaco-editor/min/vs",window.monacoEditorAlreadyInitialized?e.run(()=>this.isMonacoLoaded$.next(!0)):(window.monacoEditorAlreadyInitialized=!0,this.monacoPathConfig&&(this.monacoPath=this.monacoPathConfig),this.loadMonaco())}set monacoPath(e){e&&(this._monacoPath=e)}loadMonaco(){const e=()=>{let s=this._monacoPath;window.amdRequire=window.require;const a=!!this.nodeRequire,l=s.includes("http");a&&(window.require=this.nodeRequire,l||(s=window.require("path").resolve(window.__dirname,this._monacoPath))),window.amdRequire.config({paths:{vs:s}}),window.amdRequire(["vs/editor/editor.main"],()=>{this.ngZone.run(()=>this.isMonacoLoaded$.next(!0))},c=>console.error("Error loading monaco-editor: ",c))};if(window.amdRequire)return e();window.require&&(this.addElectronFixScripts(),this.nodeRequire=window.require);const o=document.createElement("script");o.type="text/javascript",o.src=`${this._monacoPath}/loader.js`,o.addEventListener("load",e),document.body.appendChild(o)}addElectronFixScripts(){const e=document.createElement("script"),i=document.createTextNode("self.module = undefined;"),r=document.createTextNode("self.process.browser = true;");e.appendChild(i),e.appendChild(r),document.body.appendChild(e)}}return n.\u0275fac=function(e){return new(e||n)(O(Se),O("MONACO_PATH",8))},n.\u0275prov=H({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),YO=(()=>{class n{constructor(e){this.monacoLoader=e,this.init=new Q,this.onTouched=()=>{},this.onErrorStatusChange=()=>{},this.propagateChange=()=>{}}get model(){return this.editor&&this.editor.getModel()}get modelMarkers(){return this.model&&monaco.editor.getModelMarkers({resource:this.model.uri})}ngOnInit(){this.monacoLoader.isMonacoLoaded$.pipe(Qo(e=>e),Za(1)).subscribe(()=>{this.initEditor()})}ngOnChanges(e){if(this.editor&&e.options&&!e.options.firstChange){const{language:i,theme:r,...o}=e.options.currentValue,{language:s,theme:a}=e.options.previousValue;s!==i&&monaco.editor.setModelLanguage(this.editor.getModel(),this.options&&this.options.language?this.options.language:"text"),a!==r&&monaco.editor.setTheme(r),this.editor.updateOptions(o)}if(this.editor&&e.uri){const i=e.uri.currentValue,r=e.uri.previousValue;if(r&&!i||!r&&i||i&&r&&i.path!==r.path){const o=this.editor.getValue();let s;this.modelUriInstance&&this.modelUriInstance.dispose(),i&&(s=monaco.editor.getModels().find(a=>a.uri.path===i.path)),this.modelUriInstance=s||monaco.editor.createModel(o,this.options.language||"text",this.uri),this.editor.setModel(this.modelUriInstance)}}}writeValue(e){this.value=e,this.editor&&e?this.editor.setValue(e):this.editor&&this.editor.setValue("")}registerOnChange(e){this.propagateChange=e}registerOnTouched(e){this.onTouched=e}validate(){return this.parsedError?{monaco:{value:this.parsedError.split("|")}}:null}registerOnValidatorChange(e){this.onErrorStatusChange=e}initEditor(){const e={value:[this.value].join("\n"),language:"text",automaticLayout:!0,scrollBeyondLastLine:!1,theme:"vc"};this.editor=monaco.editor.create(this.editorContent.nativeElement,this.options?{...e,...this.options}:e),this.registerEditorListeners(),this.init.emit(this.editor)}registerEditorListeners(){this.editor.onDidChangeModelContent(()=>{this.propagateChange(this.editor.getValue())}),this.editor.onDidChangeModelDecorations(()=>{const e=this.modelMarkers.map(({message:r})=>r).join("|");this.parsedError!==e&&(this.parsedError=e,this.onErrorStatusChange())}),this.editor.onDidBlurEditorText(()=>{this.onTouched()})}ngOnDestroy(){this.editor&&this.editor.dispose()}}return n.\u0275fac=function(e){return new(e||n)(v(QO))},n.\u0275cmp=qe({type:n,selectors:[["ngx-monaco-editor"]],viewQuery:function(e,i){if(1&e&&Hi(qO,7),2&e){let r;Ut(r=$t())&&(i.editorContent=r.first)}},inputs:{options:"options",uri:"uri"},outputs:{init:"init"},features:[he([{provide:fn,useExisting:de(()=>n),multi:!0},{provide:Ze,useExisting:de(()=>n),multi:!0}]),rn],decls:4,vars:0,consts:[["fxFlex","",1,"editor-container"],["container",""],[1,"monaco-editor"],["editor",""]],template:function(e,i){1&e&&(T(0,"div",0,1),_e(2,"div",2,3),P())},styles:[".monaco-editor[_ngcontent-%COMP%]{position:absolute;top:0;bottom:0;left:0;right:0}.editor-container[_ngcontent-%COMP%]{overflow:hidden;position:relative;display:table;width:100%;height:100%;min-width:0}"],changeDetection:0}),n})(),_f=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Ne({type:n}),n.\u0275inj=Ae({imports:[[]]}),n})();function Ur(...n){let t=n[n.length-1];return Wl(t)?(n.pop(),ql(n,t)):Ql(n)}class dl{}class vf{}class Qn{constructor(t){this.normalizedNames=new Map,this.lazyUpdate=null,t?this.lazyInit="string"==typeof t?()=>{this.headers=new Map,t.split("\n").forEach(e=>{const i=e.indexOf(":");if(i>0){const r=e.slice(0,i),o=r.toLowerCase(),s=e.slice(i+1).trim();this.maybeSetNormalizedName(r,o),this.headers.has(o)?this.headers.get(o).push(s):this.headers.set(o,[s])}})}:()=>{this.headers=new Map,Object.keys(t).forEach(e=>{let i=t[e];const r=e.toLowerCase();"string"==typeof i&&(i=[i]),i.length>0&&(this.headers.set(r,i),this.maybeSetNormalizedName(e,r))})}:this.headers=new Map}has(t){return this.init(),this.headers.has(t.toLowerCase())}get(t){this.init();const e=this.headers.get(t.toLowerCase());return e&&e.length>0?e[0]:null}keys(){return this.init(),Array.from(this.normalizedNames.values())}getAll(t){return this.init(),this.headers.get(t.toLowerCase())||null}append(t,e){return this.clone({name:t,value:e,op:"a"})}set(t,e){return this.clone({name:t,value:e,op:"s"})}delete(t,e){return this.clone({name:t,value:e,op:"d"})}maybeSetNormalizedName(t,e){this.normalizedNames.has(e)||this.normalizedNames.set(e,t)}init(){this.lazyInit&&(this.lazyInit instanceof Qn?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(e=>{this.headers.set(e,t.headers.get(e)),this.normalizedNames.set(e,t.normalizedNames.get(e))})}clone(t){const e=new Qn;return e.lazyInit=this.lazyInit&&this.lazyInit instanceof Qn?this.lazyInit:this,e.lazyUpdate=(this.lazyUpdate||[]).concat([t]),e}applyUpdate(t){const e=t.name.toLowerCase();switch(t.op){case"a":case"s":let i=t.value;if("string"==typeof i&&(i=[i]),0===i.length)return;this.maybeSetNormalizedName(t.name,e);const r=("a"===t.op?this.headers.get(e):void 0)||[];r.push(...i),this.headers.set(e,r);break;case"d":const o=t.value;if(o){let s=this.headers.get(e);if(!s)return;s=s.filter(a=>-1===o.indexOf(a)),0===s.length?(this.headers.delete(e),this.normalizedNames.delete(e)):this.headers.set(e,s)}else this.headers.delete(e),this.normalizedNames.delete(e)}}forEach(t){this.init(),Array.from(this.normalizedNames.keys()).forEach(e=>t(this.normalizedNames.get(e),this.headers.get(e)))}}class XO{encodeKey(t){return iD(t)}encodeValue(t){return iD(t)}decodeKey(t){return decodeURIComponent(t)}decodeValue(t){return decodeURIComponent(t)}}const eN=/%(\d[a-f0-9])/gi,tN={40:"@","3A":":",24:"$","2C":",","3B":";","3D":"=","3F":"?","2F":"/"};function iD(n){return encodeURIComponent(n).replace(eN,(t,e)=>tN[e]??t)}function fl(n){return`${n}`}class yi{constructor(t={}){if(this.updates=null,this.cloneFrom=null,this.encoder=t.encoder||new XO,t.fromString){if(t.fromObject)throw new Error("Cannot specify both fromString and fromObject.");this.map=function JO(n,t){const e=new Map;return n.length>0&&n.replace(/^\?/,"").split("&").forEach(r=>{const o=r.indexOf("="),[s,a]=-1==o?[t.decodeKey(r),""]:[t.decodeKey(r.slice(0,o)),t.decodeValue(r.slice(o+1))],l=e.get(s)||[];l.push(a),e.set(s,l)}),e}(t.fromString,this.encoder)}else t.fromObject?(this.map=new Map,Object.keys(t.fromObject).forEach(e=>{const i=t.fromObject[e],r=Array.isArray(i)?i.map(fl):[fl(i)];this.map.set(e,r)})):this.map=null}has(t){return this.init(),this.map.has(t)}get(t){this.init();const e=this.map.get(t);return e?e[0]:null}getAll(t){return this.init(),this.map.get(t)||null}keys(){return this.init(),Array.from(this.map.keys())}append(t,e){return this.clone({param:t,value:e,op:"a"})}appendAll(t){const e=[];return Object.keys(t).forEach(i=>{const r=t[i];Array.isArray(r)?r.forEach(o=>{e.push({param:i,value:o,op:"a"})}):e.push({param:i,value:r,op:"a"})}),this.clone(e)}set(t,e){return this.clone({param:t,value:e,op:"s"})}delete(t,e){return this.clone({param:t,value:e,op:"d"})}toString(){return this.init(),this.keys().map(t=>{const e=this.encoder.encodeKey(t);return this.map.get(t).map(i=>e+"="+this.encoder.encodeValue(i)).join("&")}).filter(t=>""!==t).join("&")}clone(t){const e=new yi({encoder:this.encoder});return e.cloneFrom=this.cloneFrom||this,e.updates=(this.updates||[]).concat(t),e}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 e=("a"===t.op?this.map.get(t.param):void 0)||[];e.push(fl(t.value)),this.map.set(t.param,e);break;case"d":if(void 0===t.value){this.map.delete(t.param);break}{let i=this.map.get(t.param)||[];const r=i.indexOf(fl(t.value));-1!==r&&i.splice(r,1),i.length>0?this.map.set(t.param,i):this.map.delete(t.param)}}}),this.cloneFrom=this.updates=null)}}class nN{constructor(){this.map=new Map}set(t,e){return this.map.set(t,e),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 rD(n){return typeof ArrayBuffer<"u"&&n instanceof ArrayBuffer}function oD(n){return typeof Blob<"u"&&n instanceof Blob}function sD(n){return typeof FormData<"u"&&n instanceof FormData}class rs{constructor(t,e,i,r){let o;if(this.url=e,this.body=null,this.reportProgress=!1,this.withCredentials=!1,this.responseType="json",this.method=t.toUpperCase(),function iN(n){switch(n){case"DELETE":case"GET":case"HEAD":case"OPTIONS":case"JSONP":return!1;default:return!0}}(this.method)||r?(this.body=void 0!==i?i:null,o=r):o=i,o&&(this.reportProgress=!!o.reportProgress,this.withCredentials=!!o.withCredentials,o.responseType&&(this.responseType=o.responseType),o.headers&&(this.headers=o.headers),o.context&&(this.context=o.context),o.params&&(this.params=o.params)),this.headers||(this.headers=new Qn),this.context||(this.context=new nN),this.params){const s=this.params.toString();if(0===s.length)this.urlWithParams=e;else{const a=e.indexOf("?");this.urlWithParams=e+(-1===a?"?":ad.set(f,t.setHeaders[f]),l)),t.setParams&&(c=Object.keys(t.setParams).reduce((d,f)=>d.set(f,t.setParams[f]),c)),new rs(e,i,o,{params:c,headers:l,context:u,reportProgress:a,responseType:r,withCredentials:s})}}var Ve=(()=>((Ve=Ve||{})[Ve.Sent=0]="Sent",Ve[Ve.UploadProgress=1]="UploadProgress",Ve[Ve.ResponseHeader=2]="ResponseHeader",Ve[Ve.DownloadProgress=3]="DownloadProgress",Ve[Ve.Response=4]="Response",Ve[Ve.User=5]="User",Ve))();class bf{constructor(t,e=200,i="OK"){this.headers=t.headers||new Qn,this.status=void 0!==t.status?t.status:e,this.statusText=t.statusText||i,this.url=t.url||null,this.ok=this.status>=200&&this.status<300}}class Df extends bf{constructor(t={}){super(t),this.type=Ve.ResponseHeader}clone(t={}){return new Df({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 hl extends bf{constructor(t={}){super(t),this.type=Ve.Response,this.body=void 0!==t.body?t.body:null}clone(t={}){return new hl({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 aD extends bf{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 Ef(n,t){return{body:t,headers:n.headers,context:n.context,observe:n.observe,params:n.params,reportProgress:n.reportProgress,responseType:n.responseType,withCredentials:n.withCredentials}}let pl=(()=>{class n{constructor(e){this.handler=e}request(e,i,r={}){let o;if(e instanceof rs)o=e;else{let l,c;l=r.headers instanceof Qn?r.headers:new Qn(r.headers),r.params&&(c=r.params instanceof yi?r.params:new yi({fromObject:r.params})),o=new rs(e,i,void 0!==r.body?r.body:null,{headers:l,context:r.context,params:c,reportProgress:r.reportProgress,responseType:r.responseType||"json",withCredentials:r.withCredentials})}const s=Ur(o).pipe(function ZO(n,t){return Kl(n,t,1)}(l=>this.handler.handle(l)));if(e instanceof rs||"events"===r.observe)return s;const a=s.pipe(Qo(l=>l instanceof hl));switch(r.observe||"body"){case"body":switch(o.responseType){case"arraybuffer":return a.pipe(Xe(l=>{if(null!==l.body&&!(l.body instanceof ArrayBuffer))throw new Error("Response is not an ArrayBuffer.");return l.body}));case"blob":return a.pipe(Xe(l=>{if(null!==l.body&&!(l.body instanceof Blob))throw new Error("Response is not a Blob.");return l.body}));case"text":return a.pipe(Xe(l=>{if(null!==l.body&&"string"!=typeof l.body)throw new Error("Response is not a string.");return l.body}));default:return a.pipe(Xe(l=>l.body))}case"response":return a;default:throw new Error(`Unreachable: unhandled observe type ${r.observe}}`)}}delete(e,i={}){return this.request("DELETE",e,i)}get(e,i={}){return this.request("GET",e,i)}head(e,i={}){return this.request("HEAD",e,i)}jsonp(e,i){return this.request("JSONP",e,{params:(new yi).append(i,"JSONP_CALLBACK"),observe:"body",responseType:"json"})}options(e,i={}){return this.request("OPTIONS",e,i)}patch(e,i,r={}){return this.request("PATCH",e,Ef(r,i))}post(e,i,r={}){return this.request("POST",e,Ef(r,i))}put(e,i,r={}){return this.request("PUT",e,Ef(r,i))}}return n.\u0275fac=function(e){return new(e||n)(O(dl))},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})();function lD(n,t){return t(n)}function oN(n,t){return(e,i)=>t.intercept(e,{handle:r=>n(r,i)})}const aN=new F("HTTP_INTERCEPTORS"),os=new F("HTTP_INTERCEPTOR_FNS");function lN(){let n=null;return(t,e)=>(null===n&&(n=(On(aN,{optional:!0})??[]).reduceRight(oN,lD)),n(t,e))}let cD=(()=>{class n extends dl{constructor(e,i){super(),this.backend=e,this.injector=i,this.chain=null}handle(e){if(null===this.chain){const i=Array.from(new Set(this.injector.get(os)));this.chain=i.reduceRight((r,o)=>function sN(n,t,e){return(i,r)=>e.runInContext(()=>t(i,o=>n(o,r)))}(r,o,this.injector),lD)}return this.chain(e,i=>this.backend.handle(i))}}return n.\u0275fac=function(e){return new(e||n)(O(vf),O(Ri))},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})();const fN=/^\)\]\}',?\n/;let dD=(()=>{class n{constructor(e){this.xhrFactory=e}handle(e){if("JSONP"===e.method)throw new Error("Attempted to construct Jsonp request without HttpClientJsonpModule installed.");return new be(i=>{const r=this.xhrFactory.build();if(r.open(e.method,e.urlWithParams),e.withCredentials&&(r.withCredentials=!0),e.headers.forEach((h,p)=>r.setRequestHeader(h,p.join(","))),e.headers.has("Accept")||r.setRequestHeader("Accept","application/json, text/plain, */*"),!e.headers.has("Content-Type")){const h=e.detectContentTypeHeader();null!==h&&r.setRequestHeader("Content-Type",h)}if(e.responseType){const h=e.responseType.toLowerCase();r.responseType="json"!==h?h:"text"}const o=e.serializeBody();let s=null;const a=()=>{if(null!==s)return s;const h=r.statusText||"OK",p=new Qn(r.getAllResponseHeaders()),m=function hN(n){return"responseURL"in n&&n.responseURL?n.responseURL:/^X-Request-URL:/m.test(n.getAllResponseHeaders())?n.getResponseHeader("X-Request-URL"):null}(r)||e.url;return s=new Df({headers:p,status:r.status,statusText:h,url:m}),s},l=()=>{let{headers:h,status:p,statusText:m,url:y}=a(),_=null;204!==p&&(_=typeof r.response>"u"?r.responseText:r.response),0===p&&(p=_?200:0);let S=p>=200&&p<300;if("json"===e.responseType&&"string"==typeof _){const g=_;_=_.replace(fN,"");try{_=""!==_?JSON.parse(_):null}catch(M){_=g,S&&(S=!1,_={error:M,text:_})}}S?(i.next(new hl({body:_,headers:h,status:p,statusText:m,url:y||void 0})),i.complete()):i.error(new aD({error:_,headers:h,status:p,statusText:m,url:y||void 0}))},c=h=>{const{url:p}=a(),m=new aD({error:h,status:r.status||0,statusText:r.statusText||"Unknown Error",url:p||void 0});i.error(m)};let u=!1;const d=h=>{u||(i.next(a()),u=!0);let p={type:Ve.DownloadProgress,loaded:h.loaded};h.lengthComputable&&(p.total=h.total),"text"===e.responseType&&r.responseText&&(p.partialText=r.responseText),i.next(p)},f=h=>{let p={type:Ve.UploadProgress,loaded:h.loaded};h.lengthComputable&&(p.total=h.total),i.next(p)};return r.addEventListener("load",l),r.addEventListener("error",c),r.addEventListener("timeout",c),r.addEventListener("abort",c),e.reportProgress&&(r.addEventListener("progress",d),null!==o&&r.upload&&r.upload.addEventListener("progress",f)),r.send(o),i.next({type:Ve.Sent}),()=>{r.removeEventListener("error",c),r.removeEventListener("abort",c),r.removeEventListener("load",l),r.removeEventListener("timeout",c),e.reportProgress&&(r.removeEventListener("progress",d),null!==o&&r.upload&&r.upload.removeEventListener("progress",f)),r.readyState!==r.DONE&&r.abort()}})}}return n.\u0275fac=function(e){return new(e||n)(O(Av))},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})();const Sf=new F("XSRF_ENABLED"),fD="XSRF-TOKEN",hD=new F("XSRF_COOKIE_NAME",{providedIn:"root",factory:()=>fD}),pD="X-XSRF-TOKEN",mD=new F("XSRF_HEADER_NAME",{providedIn:"root",factory:()=>pD});class gD{}let pN=(()=>{class n{constructor(e,i,r){this.doc=e,this.platform=i,this.cookieName=r,this.lastCookieString="",this.lastToken=null,this.parseCount=0}getToken(){if("server"===this.platform)return null;const e=this.doc.cookie||"";return e!==this.lastCookieString&&(this.parseCount++,this.lastToken=yv(e,this.cookieName),this.lastCookieString=e),this.lastToken}}return n.\u0275fac=function(e){return new(e||n)(O(zt),O(sd),O(hD))},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})();function mN(n,t){const e=n.url.toLowerCase();if(!On(Sf)||"GET"===n.method||"HEAD"===n.method||e.startsWith("http://")||e.startsWith("https://"))return t(n);const i=On(gD).getToken(),r=On(mD);return null!=i&&!n.headers.has(r)&&(n=n.clone({headers:n.headers.set(r,i)})),t(n)}var Oe=(()=>((Oe=Oe||{})[Oe.Interceptors=0]="Interceptors",Oe[Oe.LegacyInterceptors=1]="LegacyInterceptors",Oe[Oe.CustomXsrfConfiguration=2]="CustomXsrfConfiguration",Oe[Oe.NoXsrfProtection=3]="NoXsrfProtection",Oe[Oe.JsonpSupport=4]="JsonpSupport",Oe[Oe.RequestsMadeViaParent=5]="RequestsMadeViaParent",Oe))();function $r(n,t){return{\u0275kind:n,\u0275providers:t}}function gN(...n){const t=[pl,dD,cD,{provide:dl,useExisting:cD},{provide:vf,useExisting:dD},{provide:os,useValue:mN,multi:!0},{provide:Sf,useValue:!0},{provide:gD,useClass:pN}];for(const e of n)t.push(...e.\u0275providers);return function Zw(n){return{\u0275providers:n}}(t)}const yD=new F("LEGACY_INTERCEPTOR_FN");function _N({cookieName:n,headerName:t}){const e=[];return void 0!==n&&e.push({provide:hD,useValue:n}),void 0!==t&&e.push({provide:mD,useValue:t}),$r(Oe.CustomXsrfConfiguration,e)}let _D=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Ne({type:n}),n.\u0275inj=Ae({providers:[gN($r(Oe.LegacyInterceptors,[{provide:yD,useFactory:lN},{provide:os,useExisting:yD,multi:!0}]),_N({cookieName:fD,headerName:pD}))]}),n})();class vN extends ve{constructor(t,e){super()}schedule(t,e=0){return this}}class Cf extends vN{constructor(t,e){super(t,e),this.scheduler=t,this.work=e,this.pending=!1}schedule(t,e=0){if(this.closed)return this;this.state=t;const i=this.id,r=this.scheduler;return null!=i&&(this.id=this.recycleAsyncId(r,i,e)),this.pending=!0,this.delay=e,this.id=this.id||this.requestAsyncId(r,this.id,e),this}requestAsyncId(t,e,i=0){return setInterval(t.flush.bind(t,this),i)}recycleAsyncId(t,e,i=0){if(null!==i&&this.delay===i&&!1===this.pending)return e;clearInterval(e)}execute(t,e){if(this.closed)return new Error("executing a cancelled action");this.pending=!1;const i=this._execute(t,e);if(i)return i;!1===this.pending&&null!=this.id&&(this.id=this.recycleAsyncId(this.scheduler,this.id,null))}_execute(t,e){let r,i=!1;try{this.work(t)}catch(o){i=!0,r=!!o&&o||new Error(o)}if(i)return this.unsubscribe(),r}_unsubscribe(){const t=this.id,e=this.scheduler,i=e.actions,r=i.indexOf(this);this.work=null,this.state=null,this.pending=!1,this.scheduler=null,-1!==r&&i.splice(r,1),null!=t&&(this.id=this.recycleAsyncId(e,t,null)),this.delay=null}}let vD=(()=>{class n{constructor(e,i=n.now){this.SchedulerAction=e,this.now=i}schedule(e,i=0,r){return new this.SchedulerAction(this,e).schedule(r,i)}}return n.now=()=>Date.now(),n})();class In extends vD{constructor(t,e=vD.now){super(t,()=>In.delegate&&In.delegate!==this?In.delegate.now():e()),this.actions=[],this.active=!1,this.scheduled=void 0}schedule(t,e=0,i){return In.delegate&&In.delegate!==this?In.delegate.schedule(t,e,i):super.schedule(t,e,i)}flush(t){const{actions:e}=this;if(this.active)return void e.push(t);let i;this.active=!0;do{if(i=t.execute(t.state,t.delay))break}while(t=e.shift());if(this.active=!1,i){for(;t=e.shift();)t.unsubscribe();throw i}}}const wf=new class DN extends In{}(class bN extends Cf{constructor(t,e){super(t,e),this.scheduler=t,this.work=e}schedule(t,e=0){return e>0?super.schedule(t,e):(this.delay=e,this.state=t,this.scheduler.flush(this),this)}execute(t,e){return e>0||this.closed?super.execute(t,e):this._execute(t,e)}requestAsyncId(t,e,i=0){return null!==i&&i>0||null===i&&this.delay>0?super.requestAsyncId(t,e,i):t.flush(this)}}),EN=wf;function bD(n,t){return new be(t?e=>t.schedule(SN,0,{error:n,subscriber:e}):e=>e.error(n))}function SN({error:n,subscriber:t}){t.error(n)}class St{constructor(t,e,i){this.kind=t,this.value=e,this.error=i,this.hasValue="N"===t}observe(t){switch(this.kind){case"N":return t.next&&t.next(this.value);case"E":return t.error&&t.error(this.error);case"C":return t.complete&&t.complete()}}do(t,e,i){switch(this.kind){case"N":return t&&t(this.value);case"E":return e&&e(this.error);case"C":return i&&i()}}accept(t,e,i){return t&&"function"==typeof t.next?this.observe(t):this.do(t,e,i)}toObservable(){switch(this.kind){case"N":return Ur(this.value);case"E":return bD(this.error);case"C":return Jv()}throw new Error("unexpected notification kind value")}static createNext(t){return typeof t<"u"?new St("N",t):St.undefinedValueNotification}static createError(t){return new St("E",void 0,t)}static createComplete(){return St.completeNotification}}St.completeNotification=new St("C"),St.undefinedValueNotification=new St("N",void 0);class wN{constructor(t,e=0){this.scheduler=t,this.delay=e}call(t,e){return e.subscribe(new ml(t,this.scheduler,this.delay))}}class ml extends De{constructor(t,e,i=0){super(t),this.scheduler=e,this.delay=i}static dispatch(t){const{notification:e,destination:i}=t;e.observe(i),this.unsubscribe()}scheduleMessage(t){this.destination.add(this.scheduler.schedule(ml.dispatch,this.delay,new IN(t,this.destination)))}_next(t){this.scheduleMessage(St.createNext(t))}_error(t){this.scheduleMessage(St.createError(t)),this.unsubscribe()}_complete(){this.scheduleMessage(St.createComplete()),this.unsubscribe()}}class IN{constructor(t,e){this.notification=t,this.destination=e}}class gl extends hn{constructor(t=Number.POSITIVE_INFINITY,e=Number.POSITIVE_INFINITY,i){super(),this.scheduler=i,this._events=[],this._infiniteTimeWindow=!1,this._bufferSize=t<1?1:t,this._windowTime=e<1?1:e,e===Number.POSITIVE_INFINITY?(this._infiniteTimeWindow=!0,this.next=this.nextInfiniteTimeWindow):this.next=this.nextTimeWindow}nextInfiniteTimeWindow(t){if(!this.isStopped){const e=this._events;e.push(t),e.length>this._bufferSize&&e.shift()}super.next(t)}nextTimeWindow(t){this.isStopped||(this._events.push(new TN(this._getNow(),t)),this._trimBufferThenGetEvents()),super.next(t)}_subscribe(t){const e=this._infiniteTimeWindow,i=e?this._events:this._trimBufferThenGetEvents(),r=this.scheduler,o=i.length;let s;if(this.closed)throw new wi;if(this.isStopped||this.hasError?s=ve.EMPTY:(this.observers.push(t),s=new yh(this,t)),r&&t.add(t=new ml(t,r)),e)for(let a=0;ae&&(s=Math.max(s,o-e)),s>0&&r.splice(0,s),r}}class TN{constructor(t,e){this.time=t,this.value=e}}function ss(n,t){return"function"==typeof t?e=>e.pipe(ss((i,r)=>Ii(n(i,r)).pipe(Xe((o,s)=>t(i,o,r,s))))):e=>e.lift(new MN(n))}class MN{constructor(t){this.project=t}call(t,e){return e.subscribe(new AN(t,this.project))}}class AN extends Ds{constructor(t,e){super(t),this.project=e,this.index=0}_next(t){let e;const i=this.index++;try{e=this.project(t,i)}catch(r){return void this.destination.error(r)}this._innerSub(e)}_innerSub(t){const e=this.innerSubscription;e&&e.unsubscribe();const i=new bs(this),r=this.destination;r.add(i),this.innerSubscription=Es(t,i),this.innerSubscription!==i&&r.add(this.innerSubscription)}_complete(){const{innerSubscription:t}=this;(!t||t.closed)&&super._complete(),this.unsubscribe()}_unsubscribe(){this.innerSubscription=void 0}notifyComplete(){this.innerSubscription=void 0,this.isStopped&&super._complete()}notifyNext(t){this.destination.next(t)}}const yl={schedule(n,t){const e=setTimeout(n,t);return()=>clearTimeout(e)},scheduleBeforeRender(n){if(typeof window>"u")return yl.schedule(n,0);if(typeof window.requestAnimationFrame>"u")return yl.schedule(n,16);const t=window.requestAnimationFrame(n);return()=>window.cancelAnimationFrame(t)}};let If;function jN(n,t,e){let i=e;return function PN(n){return!!n&&n.nodeType===Node.ELEMENT_NODE}(n)&&t.some((r,o)=>!("*"===r||!function NN(n,t){if(!If){const e=Element.prototype;If=e.matches||e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector}return n.nodeType===Node.ELEMENT_NODE&&If.call(n,t)}(n,r)||(i=o,0))),i}class BN{constructor(t,e){this.componentFactory=e.get(yr).resolveComponentFactory(t)}create(t){return new HN(this.componentFactory,t)}}class HN{constructor(t,e){this.componentFactory=t,this.injector=e,this.eventEmitters=new gl(1),this.events=this.eventEmitters.pipe(ss(i=>Ch(...i))),this.componentRef=null,this.viewChangeDetectorRef=null,this.inputChanges=null,this.hasInputChanges=!1,this.implementsOnChanges=!1,this.scheduledChangeDetectionFn=null,this.scheduledDestroyFn=null,this.initialInputValues=new Map,this.unchangedInputs=new Set(this.componentFactory.inputs.map(({propName:i})=>i)),this.ngZone=this.injector.get(Se),this.elementZone=typeof Zone>"u"?null:this.ngZone.run(()=>Zone.current)}connect(t){this.runInZone(()=>{if(null!==this.scheduledDestroyFn)return this.scheduledDestroyFn(),void(this.scheduledDestroyFn=null);null===this.componentRef&&this.initializeComponent(t)})}disconnect(){this.runInZone(()=>{null===this.componentRef||null!==this.scheduledDestroyFn||(this.scheduledDestroyFn=yl.schedule(()=>{null!==this.componentRef&&(this.componentRef.destroy(),this.componentRef=null,this.viewChangeDetectorRef=null)},10))})}getInputValue(t){return this.runInZone(()=>null===this.componentRef?this.initialInputValues.get(t):this.componentRef.instance[t])}setInputValue(t,e){this.runInZone(()=>{null!==this.componentRef?function FN(n,t){return n===t||n!=n&&t!=t}(e,this.getInputValue(t))&&(void 0!==e||!this.unchangedInputs.has(t))||(this.recordInputChange(t,e),this.unchangedInputs.delete(t),this.hasInputChanges=!0,this.componentRef.instance[t]=e,this.scheduleDetectChanges()):this.initialInputValues.set(t,e)})}initializeComponent(t){const e=yn.create({providers:[],parent:this.injector}),i=function kN(n,t){const e=n.childNodes,i=t.map(()=>[]);let r=-1;t.some((o,s)=>"*"===o&&(r=s,!0));for(let o=0,s=e.length;o{this.initialInputValues.has(t)&&this.setInputValue(t,this.initialInputValues.get(t))}),this.initialInputValues.clear()}initializeOutputs(t){const e=this.componentFactory.outputs.map(({propName:i,templateName:r})=>t.instance[i].pipe(Xe(s=>({name:r,value:s}))));this.eventEmitters.next(e)}callNgOnChanges(t){if(!this.implementsOnChanges||null===this.inputChanges)return;const e=this.inputChanges;this.inputChanges=null,t.instance.ngOnChanges(e)}markViewForCheck(t){this.hasInputChanges&&(this.hasInputChanges=!1,t.markForCheck())}scheduleDetectChanges(){this.scheduledChangeDetectionFn||(this.scheduledChangeDetectionFn=yl.scheduleBeforeRender(()=>{this.scheduledChangeDetectionFn=null,this.detectChanges()}))}recordInputChange(t,e){if(!this.implementsOnChanges)return;null===this.inputChanges&&(this.inputChanges={});const i=this.inputChanges[t];if(i)return void(i.currentValue=e);const r=this.unchangedInputs.has(t),o=r?void 0:this.getInputValue(t);this.inputChanges[t]=new Uh(o,e,r)}detectChanges(){null!==this.componentRef&&(this.callNgOnChanges(this.componentRef),this.markViewForCheck(this.viewChangeDetectorRef),this.componentRef.changeDetectorRef.detectChanges())}runInZone(t){return this.elementZone&&Zone.current!==this.elementZone?this.ngZone.run(t):t()}}class UN extends HTMLElement{constructor(){super(...arguments),this.ngElementEventsSubscription=null}}class DD{}class zN{}const Yn="*";function ED(n,t){return{type:7,name:n,definitions:t,options:{}}}function _l(n,t=null){return{type:4,styles:t,timings:n}}function SD(n,t=null){return{type:2,steps:n,options:t}}function Gi(n){return{type:6,styles:n,offset:null}}function Tf(n,t,e){return{type:0,name:n,styles:t,options:e}}function vl(n,t,e=null){return{type:1,expr:n,animation:t,options:e}}function CD(n,t=null){return{type:8,animation:n,options:t}}function wD(n,t=null){return{type:10,animation:n,options:t}}function ID(n){Promise.resolve().then(n)}class as{constructor(t=0,e=0){this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._originalOnDoneFns=[],this._originalOnStartFns=[],this._started=!1,this._destroyed=!1,this._finished=!1,this._position=0,this.parentPlayer=null,this.totalTime=t+e}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}onStart(t){this._originalOnStartFns.push(t),this._onStartFns.push(t)}onDone(t){this._originalOnDoneFns.push(t),this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}init(){}play(){this.hasStarted()||(this._onStart(),this.triggerMicrotask()),this._started=!0}triggerMicrotask(){ID(()=>this._onFinish())}_onStart(){this._onStartFns.forEach(t=>t()),this._onStartFns=[]}pause(){}restart(){}finish(){this._onFinish()}destroy(){this._destroyed||(this._destroyed=!0,this.hasStarted()||this._onStart(),this.finish(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this._started=!1,this._finished=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}setPosition(t){this._position=this.totalTime?t*this.totalTime:1}getPosition(){return this.totalTime?this._position/this.totalTime:1}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}class TD{constructor(t){this._onDoneFns=[],this._onStartFns=[],this._finished=!1,this._started=!1,this._destroyed=!1,this._onDestroyFns=[],this.parentPlayer=null,this.totalTime=0,this.players=t;let e=0,i=0,r=0;const o=this.players.length;0==o?ID(()=>this._onFinish()):this.players.forEach(s=>{s.onDone(()=>{++e==o&&this._onFinish()}),s.onDestroy(()=>{++i==o&&this._onDestroy()}),s.onStart(()=>{++r==o&&this._onStart()})}),this.totalTime=this.players.reduce((s,a)=>Math.max(s,a.totalTime),0)}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this.players.forEach(t=>t.init())}onStart(t){this._onStartFns.push(t)}_onStart(){this.hasStarted()||(this._started=!0,this._onStartFns.forEach(t=>t()),this._onStartFns=[])}onDone(t){this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}hasStarted(){return this._started}play(){this.parentPlayer||this.init(),this._onStart(),this.players.forEach(t=>t.play())}pause(){this.players.forEach(t=>t.pause())}restart(){this.players.forEach(t=>t.restart())}finish(){this._onFinish(),this.players.forEach(t=>t.finish())}destroy(){this._onDestroy()}_onDestroy(){this._destroyed||(this._destroyed=!0,this._onFinish(),this.players.forEach(t=>t.destroy()),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}reset(){this.players.forEach(t=>t.reset()),this._destroyed=!1,this._finished=!1,this._started=!1}setPosition(t){const e=t*this.totalTime;this.players.forEach(i=>{const r=i.totalTime?Math.min(1,e/i.totalTime):1;i.setPosition(r)})}getPosition(){const t=this.players.reduce((e,i)=>null===e||i.totalTime>e.totalTime?i:e,null);return null!=t?t.getPosition():0}beforeDestroy(){this.players.forEach(t=>{t.beforeDestroy&&t.beforeDestroy()})}triggerCallback(t){const e="start"==t?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}function MD(n){return new D(3e3,!1)}function wF(){return typeof window<"u"&&typeof window.document<"u"}function Af(){return typeof process<"u"&&"[object process]"==={}.toString.call(process)}function _i(n){switch(n.length){case 0:return new as;case 1:return n[0];default:return new TD(n)}}function AD(n,t,e,i,r=new Map,o=new Map){const s=[],a=[];let l=-1,c=null;if(i.forEach(u=>{const d=u.get("offset"),f=d==l,h=f&&c||new Map;u.forEach((p,m)=>{let y=m,_=p;if("offset"!==m)switch(y=t.normalizePropertyName(y,s),_){case"!":_=r.get(m);break;case Yn:_=o.get(m);break;default:_=t.normalizeStyleValue(m,y,_,s)}h.set(y,_)}),f||a.push(h),c=h,l=d}),s.length)throw function hF(n){return new D(3502,!1)}();return a}function xf(n,t,e,i){switch(t){case"start":n.onStart(()=>i(e&&Pf(e,"start",n)));break;case"done":n.onDone(()=>i(e&&Pf(e,"done",n)));break;case"destroy":n.onDestroy(()=>i(e&&Pf(e,"destroy",n)))}}function Pf(n,t,e){const o=Of(n.element,n.triggerName,n.fromState,n.toState,t||n.phaseName,e.totalTime??n.totalTime,!!e.disabled),s=n._data;return null!=s&&(o._data=s),o}function Of(n,t,e,i,r="",o=0,s){return{element:n,triggerName:t,fromState:e,toState:i,phaseName:r,totalTime:o,disabled:!!s}}function Ot(n,t,e){let i=n.get(t);return i||n.set(t,i=e),i}function xD(n){const t=n.indexOf(":");return[n.substring(1,t),n.slice(t+1)]}let Nf=(n,t)=>!1,PD=(n,t,e)=>[],OD=null;function Ff(n){const t=n.parentNode||n.host;return t===OD?null:t}(Af()||typeof Element<"u")&&(wF()?(OD=(()=>document.documentElement)(),Nf=(n,t)=>{for(;t;){if(t===n)return!0;t=Ff(t)}return!1}):Nf=(n,t)=>n.contains(t),PD=(n,t,e)=>{if(e)return Array.from(n.querySelectorAll(t));const i=n.querySelector(t);return i?[i]:[]});let qi=null,ND=!1;const FD=Nf,RD=PD;let LD=(()=>{class n{validateStyleProperty(e){return function TF(n){qi||(qi=function MF(){return typeof document<"u"?document.body:null}()||{},ND=!!qi.style&&"WebkitAppearance"in qi.style);let t=!0;return qi.style&&!function IF(n){return"ebkit"==n.substring(1,6)}(n)&&(t=n in qi.style,!t&&ND&&(t="Webkit"+n.charAt(0).toUpperCase()+n.slice(1)in qi.style)),t}(e)}matchesElement(e,i){return!1}containsElement(e,i){return FD(e,i)}getParentElement(e){return Ff(e)}query(e,i,r){return RD(e,i,r)}computeStyle(e,i,r){return r||""}animate(e,i,r,o,s,a=[],l){return new as(r,o)}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})(),Rf=(()=>{class n{}return n.NOOP=new LD,n})();const Lf="ng-enter",bl="ng-leave",Dl="ng-trigger",El=".ng-trigger",jD="ng-animating",kf=".ng-animating";function Zn(n){if("number"==typeof n)return n;const t=n.match(/^(-?[\.\d]+)(m?s)/);return!t||t.length<2?0:jf(parseFloat(t[1]),t[2])}function jf(n,t){return"s"===t?1e3*n:n}function Sl(n,t,e){return n.hasOwnProperty("duration")?n:function PF(n,t,e){let r,o=0,s="";if("string"==typeof n){const a=n.match(/^(-?[\.\d]+)(m?s)(?:\s+(-?[\.\d]+)(m?s))?(?:\s+([-a-z]+(?:\(.+?\))?))?$/i);if(null===a)return t.push(MD()),{duration:0,delay:0,easing:""};r=jf(parseFloat(a[1]),a[2]);const l=a[3];null!=l&&(o=jf(parseFloat(l),a[4]));const c=a[5];c&&(s=c)}else r=n;if(!e){let a=!1,l=t.length;r<0&&(t.push(function WN(){return new D(3100,!1)}()),a=!0),o<0&&(t.push(function GN(){return new D(3101,!1)}()),a=!0),a&&t.splice(l,0,MD())}return{duration:r,delay:o,easing:s}}(n,t,e)}function ls(n,t={}){return Object.keys(n).forEach(e=>{t[e]=n[e]}),t}function VD(n){const t=new Map;return Object.keys(n).forEach(e=>{t.set(e,n[e])}),t}function vi(n,t=new Map,e){if(e)for(let[i,r]of e)t.set(i,r);for(let[i,r]of n)t.set(i,r);return t}function HD(n,t,e){return e?t+":"+e+";":""}function UD(n){let t="";for(let e=0;e{const o=Bf(r);e&&!e.has(r)&&e.set(r,n.style[o]),n.style[o]=i}),Af()&&UD(n))}function Ki(n,t){n.style&&(t.forEach((e,i)=>{const r=Bf(i);n.style[r]=""}),Af()&&UD(n))}function cs(n){return Array.isArray(n)?1==n.length?n[0]:SD(n):n}const Vf=new RegExp("{{\\s*(.+?)\\s*}}","g");function $D(n){let t=[];if("string"==typeof n){let e;for(;e=Vf.exec(n);)t.push(e[1]);Vf.lastIndex=0}return t}function us(n,t,e){const i=n.toString(),r=i.replace(Vf,(o,s)=>{let a=t[s];return null==a&&(e.push(function KN(n){return new D(3003,!1)}()),a=""),a.toString()});return r==i?n:r}function Cl(n){const t=[];let e=n.next();for(;!e.done;)t.push(e.value),e=n.next();return t}const FF=/-+([a-z0-9])/g;function Bf(n){return n.replace(FF,(...t)=>t[1].toUpperCase())}function RF(n){return n.replace(/([a-z])([A-Z])/g,"$1-$2").toLowerCase()}function Nt(n,t,e){switch(t.type){case 7:return n.visitTrigger(t,e);case 0:return n.visitState(t,e);case 1:return n.visitTransition(t,e);case 2:return n.visitSequence(t,e);case 3:return n.visitGroup(t,e);case 4:return n.visitAnimate(t,e);case 5:return n.visitKeyframes(t,e);case 6:return n.visitStyle(t,e);case 8:return n.visitReference(t,e);case 9:return n.visitAnimateChild(t,e);case 10:return n.visitAnimateRef(t,e);case 11:return n.visitQuery(t,e);case 12:return n.visitStagger(t,e);default:throw function QN(n){return new D(3004,!1)}()}}function zD(n,t){return window.getComputedStyle(n)[t]}function HF(n,t){const e=[];return"string"==typeof n?n.split(/\s*,\s*/).forEach(i=>function UF(n,t,e){if(":"==n[0]){const l=function $F(n,t){switch(n){case":enter":return"void => *";case":leave":return"* => void";case":increment":return(e,i)=>parseFloat(i)>parseFloat(e);case":decrement":return(e,i)=>parseFloat(i) *"}}(n,e);if("function"==typeof l)return void t.push(l);n=l}const i=n.match(/^(\*|[-\w]+)\s*([=-]>)\s*(\*|[-\w]+)$/);if(null==i||i.length<4)return e.push(function lF(n){return new D(3015,!1)}()),t;const r=i[1],o=i[2],s=i[3];t.push(WD(r,s));"<"==o[0]&&!("*"==r&&"*"==s)&&t.push(WD(s,r))}(i,e,t)):e.push(n),e}const Ml=new Set(["true","1"]),Al=new Set(["false","0"]);function WD(n,t){const e=Ml.has(n)||Al.has(n),i=Ml.has(t)||Al.has(t);return(r,o)=>{let s="*"==n||n==r,a="*"==t||t==o;return!s&&e&&"boolean"==typeof r&&(s=r?Ml.has(n):Al.has(n)),!a&&i&&"boolean"==typeof o&&(a=o?Ml.has(t):Al.has(t)),s&&a}}const zF=new RegExp("s*:selfs*,?","g");function Hf(n,t,e,i){return new WF(n).build(t,e,i)}class WF{constructor(t){this._driver=t}build(t,e,i){const r=new KF(e);return this._resetContextStyleTimingState(r),Nt(this,cs(t),r)}_resetContextStyleTimingState(t){t.currentQuerySelector="",t.collectedStyles=new Map,t.collectedStyles.set("",new Map),t.currentTime=0}visitTrigger(t,e){let i=e.queryCount=0,r=e.depCount=0;const o=[],s=[];return"@"==t.name.charAt(0)&&e.errors.push(function ZN(){return new D(3006,!1)}()),t.definitions.forEach(a=>{if(this._resetContextStyleTimingState(e),0==a.type){const l=a,c=l.name;c.toString().split(/\s*,\s*/).forEach(u=>{l.name=u,o.push(this.visitState(l,e))}),l.name=c}else if(1==a.type){const l=this.visitTransition(a,e);i+=l.queryCount,r+=l.depCount,s.push(l)}else e.errors.push(function XN(){return new D(3007,!1)}())}),{type:7,name:t.name,states:o,transitions:s,queryCount:i,depCount:r,options:null}}visitState(t,e){const i=this.visitStyle(t.styles,e),r=t.options&&t.options.params||null;if(i.containsDynamicStyles){const o=new Set,s=r||{};i.styles.forEach(a=>{a instanceof Map&&a.forEach(l=>{$D(l).forEach(c=>{s.hasOwnProperty(c)||o.add(c)})})}),o.size&&(Cl(o.values()),e.errors.push(function JN(n,t){return new D(3008,!1)}()))}return{type:0,name:t.name,style:i,options:r?{params:r}:null}}visitTransition(t,e){e.queryCount=0,e.depCount=0;const i=Nt(this,cs(t.animation),e);return{type:1,matchers:HF(t.expr,e.errors),animation:i,queryCount:e.queryCount,depCount:e.depCount,options:Qi(t.options)}}visitSequence(t,e){return{type:2,steps:t.steps.map(i=>Nt(this,i,e)),options:Qi(t.options)}}visitGroup(t,e){const i=e.currentTime;let r=0;const o=t.steps.map(s=>{e.currentTime=i;const a=Nt(this,s,e);return r=Math.max(r,e.currentTime),a});return e.currentTime=r,{type:3,steps:o,options:Qi(t.options)}}visitAnimate(t,e){const i=function YF(n,t){if(n.hasOwnProperty("duration"))return n;if("number"==typeof n)return Uf(Sl(n,t).duration,0,"");const e=n;if(e.split(/\s+/).some(o=>"{"==o.charAt(0)&&"{"==o.charAt(1))){const o=Uf(0,0,"");return o.dynamic=!0,o.strValue=e,o}const r=Sl(e,t);return Uf(r.duration,r.delay,r.easing)}(t.timings,e.errors);e.currentAnimateTimings=i;let r,o=t.styles?t.styles:Gi({});if(5==o.type)r=this.visitKeyframes(o,e);else{let s=t.styles,a=!1;if(!s){a=!0;const c={};i.easing&&(c.easing=i.easing),s=Gi(c)}e.currentTime+=i.duration+i.delay;const l=this.visitStyle(s,e);l.isEmptyStep=a,r=l}return e.currentAnimateTimings=null,{type:4,timings:i,style:r,options:null}}visitStyle(t,e){const i=this._makeStyleAst(t,e);return this._validateStyleAst(i,e),i}_makeStyleAst(t,e){const i=[],r=Array.isArray(t.styles)?t.styles:[t.styles];for(let a of r)"string"==typeof a?a===Yn?i.push(a):e.errors.push(new D(3002,!1)):i.push(VD(a));let o=!1,s=null;return i.forEach(a=>{if(a instanceof Map&&(a.has("easing")&&(s=a.get("easing"),a.delete("easing")),!o))for(let l of a.values())if(l.toString().indexOf("{{")>=0){o=!0;break}}),{type:6,styles:i,easing:s,offset:t.offset,containsDynamicStyles:o,options:null}}_validateStyleAst(t,e){const i=e.currentAnimateTimings;let r=e.currentTime,o=e.currentTime;i&&o>0&&(o-=i.duration+i.delay),t.styles.forEach(s=>{"string"!=typeof s&&s.forEach((a,l)=>{const c=e.collectedStyles.get(e.currentQuerySelector),u=c.get(l);let d=!0;u&&(o!=r&&o>=u.startTime&&r<=u.endTime&&(e.errors.push(function tF(n,t,e,i,r){return new D(3010,!1)}()),d=!1),o=u.startTime),d&&c.set(l,{startTime:o,endTime:r}),e.options&&function NF(n,t,e){const i=t.params||{},r=$D(n);r.length&&r.forEach(o=>{i.hasOwnProperty(o)||e.push(function qN(n){return new D(3001,!1)}())})}(a,e.options,e.errors)})})}visitKeyframes(t,e){const i={type:5,styles:[],options:null};if(!e.currentAnimateTimings)return e.errors.push(function nF(){return new D(3011,!1)}()),i;let o=0;const s=[];let a=!1,l=!1,c=0;const u=t.steps.map(_=>{const S=this._makeStyleAst(_,e);let g=null!=S.offset?S.offset:function QF(n){if("string"==typeof n)return null;let t=null;if(Array.isArray(n))n.forEach(e=>{if(e instanceof Map&&e.has("offset")){const i=e;t=parseFloat(i.get("offset")),i.delete("offset")}});else if(n instanceof Map&&n.has("offset")){const e=n;t=parseFloat(e.get("offset")),e.delete("offset")}return t}(S.styles),M=0;return null!=g&&(o++,M=S.offset=g),l=l||M<0||M>1,a=a||M0&&o{const g=f>0?S==h?1:f*S:s[S],M=g*y;e.currentTime=p+m.delay+M,m.duration=M,this._validateStyleAst(_,e),_.offset=g,i.styles.push(_)}),i}visitReference(t,e){return{type:8,animation:Nt(this,cs(t.animation),e),options:Qi(t.options)}}visitAnimateChild(t,e){return e.depCount++,{type:9,options:Qi(t.options)}}visitAnimateRef(t,e){return{type:10,animation:this.visitReference(t.animation,e),options:Qi(t.options)}}visitQuery(t,e){const i=e.currentQuerySelector,r=t.options||{};e.queryCount++,e.currentQuery=t;const[o,s]=function GF(n){const t=!!n.split(/\s*,\s*/).find(e=>":self"==e);return t&&(n=n.replace(zF,"")),n=n.replace(/@\*/g,El).replace(/@\w+/g,e=>El+"-"+e.slice(1)).replace(/:animating/g,kf),[n,t]}(t.selector);e.currentQuerySelector=i.length?i+" "+o:o,Ot(e.collectedStyles,e.currentQuerySelector,new Map);const a=Nt(this,cs(t.animation),e);return e.currentQuery=null,e.currentQuerySelector=i,{type:11,selector:o,limit:r.limit||0,optional:!!r.optional,includeSelf:s,animation:a,originalSelector:t.selector,options:Qi(t.options)}}visitStagger(t,e){e.currentQuery||e.errors.push(function sF(){return new D(3013,!1)}());const i="full"===t.timings?{duration:0,delay:0,easing:"full"}:Sl(t.timings,e.errors,!0);return{type:12,animation:Nt(this,cs(t.animation),e),timings:i,options:null}}}class KF{constructor(t){this.errors=t,this.queryCount=0,this.depCount=0,this.currentTransition=null,this.currentQuery=null,this.currentQuerySelector=null,this.currentAnimateTimings=null,this.currentTime=0,this.collectedStyles=new Map,this.options=null,this.unsupportedCSSPropertiesFound=new Set}}function Qi(n){return n?(n=ls(n)).params&&(n.params=function qF(n){return n?ls(n):null}(n.params)):n={},n}function Uf(n,t,e){return{duration:n,delay:t,easing:e}}function $f(n,t,e,i,r,o,s=null,a=!1){return{type:1,element:n,keyframes:t,preStyleProps:e,postStyleProps:i,duration:r,delay:o,totalTime:r+o,easing:s,subTimeline:a}}class xl{constructor(){this._map=new Map}get(t){return this._map.get(t)||[]}append(t,e){let i=this._map.get(t);i||this._map.set(t,i=[]),i.push(...e)}has(t){return this._map.has(t)}clear(){this._map.clear()}}const JF=new RegExp(":enter","g"),tR=new RegExp(":leave","g");function zf(n,t,e,i,r,o=new Map,s=new Map,a,l,c=[]){return(new nR).buildKeyframes(n,t,e,i,r,o,s,a,l,c)}class nR{buildKeyframes(t,e,i,r,o,s,a,l,c,u=[]){c=c||new xl;const d=new Wf(t,e,c,r,o,u,[]);d.options=l;const f=l.delay?Zn(l.delay):0;d.currentTimeline.delayNextStep(f),d.currentTimeline.setStyles([s],null,d.errors,l),Nt(this,i,d);const h=d.timelines.filter(p=>p.containsAnimation());if(h.length&&a.size){let p;for(let m=h.length-1;m>=0;m--){const y=h[m];if(y.element===e){p=y;break}}p&&!p.allowOnlyTimelineStyles()&&p.setStyles([a],null,d.errors,l)}return h.length?h.map(p=>p.buildKeyframes()):[$f(e,[],[],[],0,f,"",!1)]}visitTrigger(t,e){}visitState(t,e){}visitTransition(t,e){}visitAnimateChild(t,e){const i=e.subInstructions.get(e.element);if(i){const r=e.createSubContext(t.options),o=e.currentTimeline.currentTime,s=this._visitSubInstructions(i,r,r.options);o!=s&&e.transformIntoNewTimeline(s)}e.previousNode=t}visitAnimateRef(t,e){const i=e.createSubContext(t.options);i.transformIntoNewTimeline(),this._applyAnimationRefDelays([t.options,t.animation.options],e,i),this.visitReference(t.animation,i),e.transformIntoNewTimeline(i.currentTimeline.currentTime),e.previousNode=t}_applyAnimationRefDelays(t,e,i){for(const r of t){const o=r?.delay;if(o){const s="number"==typeof o?o:Zn(us(o,r?.params??{},e.errors));i.delayNextStep(s)}}}_visitSubInstructions(t,e,i){let o=e.currentTimeline.currentTime;const s=null!=i.duration?Zn(i.duration):null,a=null!=i.delay?Zn(i.delay):null;return 0!==s&&t.forEach(l=>{const c=e.appendInstructionToTimeline(l,s,a);o=Math.max(o,c.duration+c.delay)}),o}visitReference(t,e){e.updateOptions(t.options,!0),Nt(this,t.animation,e),e.previousNode=t}visitSequence(t,e){const i=e.subContextCount;let r=e;const o=t.options;if(o&&(o.params||o.delay)&&(r=e.createSubContext(o),r.transformIntoNewTimeline(),null!=o.delay)){6==r.previousNode.type&&(r.currentTimeline.snapshotCurrentStyles(),r.previousNode=Pl);const s=Zn(o.delay);r.delayNextStep(s)}t.steps.length&&(t.steps.forEach(s=>Nt(this,s,r)),r.currentTimeline.applyStylesToKeyframe(),r.subContextCount>i&&r.transformIntoNewTimeline()),e.previousNode=t}visitGroup(t,e){const i=[];let r=e.currentTimeline.currentTime;const o=t.options&&t.options.delay?Zn(t.options.delay):0;t.steps.forEach(s=>{const a=e.createSubContext(t.options);o&&a.delayNextStep(o),Nt(this,s,a),r=Math.max(r,a.currentTimeline.currentTime),i.push(a.currentTimeline)}),i.forEach(s=>e.currentTimeline.mergeTimelineCollectedStyles(s)),e.transformIntoNewTimeline(r),e.previousNode=t}_visitTiming(t,e){if(t.dynamic){const i=t.strValue;return Sl(e.params?us(i,e.params,e.errors):i,e.errors)}return{duration:t.duration,delay:t.delay,easing:t.easing}}visitAnimate(t,e){const i=e.currentAnimateTimings=this._visitTiming(t.timings,e),r=e.currentTimeline;i.delay&&(e.incrementTime(i.delay),r.snapshotCurrentStyles());const o=t.style;5==o.type?this.visitKeyframes(o,e):(e.incrementTime(i.duration),this.visitStyle(o,e),r.applyStylesToKeyframe()),e.currentAnimateTimings=null,e.previousNode=t}visitStyle(t,e){const i=e.currentTimeline,r=e.currentAnimateTimings;!r&&i.hasCurrentStyleProperties()&&i.forwardFrame();const o=r&&r.easing||t.easing;t.isEmptyStep?i.applyEmptyStep(o):i.setStyles(t.styles,o,e.errors,e.options),e.previousNode=t}visitKeyframes(t,e){const i=e.currentAnimateTimings,r=e.currentTimeline.duration,o=i.duration,a=e.createSubContext().currentTimeline;a.easing=i.easing,t.styles.forEach(l=>{a.forwardTime((l.offset||0)*o),a.setStyles(l.styles,l.easing,e.errors,e.options),a.applyStylesToKeyframe()}),e.currentTimeline.mergeTimelineCollectedStyles(a),e.transformIntoNewTimeline(r+o),e.previousNode=t}visitQuery(t,e){const i=e.currentTimeline.currentTime,r=t.options||{},o=r.delay?Zn(r.delay):0;o&&(6===e.previousNode.type||0==i&&e.currentTimeline.hasCurrentStyleProperties())&&(e.currentTimeline.snapshotCurrentStyles(),e.previousNode=Pl);let s=i;const a=e.invokeQuery(t.selector,t.originalSelector,t.limit,t.includeSelf,!!r.optional,e.errors);e.currentQueryTotal=a.length;let l=null;a.forEach((c,u)=>{e.currentQueryIndex=u;const d=e.createSubContext(t.options,c);o&&d.delayNextStep(o),c===e.element&&(l=d.currentTimeline),Nt(this,t.animation,d),d.currentTimeline.applyStylesToKeyframe(),s=Math.max(s,d.currentTimeline.currentTime)}),e.currentQueryIndex=0,e.currentQueryTotal=0,e.transformIntoNewTimeline(s),l&&(e.currentTimeline.mergeTimelineCollectedStyles(l),e.currentTimeline.snapshotCurrentStyles()),e.previousNode=t}visitStagger(t,e){const i=e.parentContext,r=e.currentTimeline,o=t.timings,s=Math.abs(o.duration),a=s*(e.currentQueryTotal-1);let l=s*e.currentQueryIndex;switch(o.duration<0?"reverse":o.easing){case"reverse":l=a-l;break;case"full":l=i.currentStaggerTime}const u=e.currentTimeline;l&&u.delayNextStep(l);const d=u.currentTime;Nt(this,t.animation,e),e.previousNode=t,i.currentStaggerTime=r.currentTime-d+(r.startTime-i.currentTimeline.startTime)}}const Pl={};class Wf{constructor(t,e,i,r,o,s,a,l){this._driver=t,this.element=e,this.subInstructions=i,this._enterClassName=r,this._leaveClassName=o,this.errors=s,this.timelines=a,this.parentContext=null,this.currentAnimateTimings=null,this.previousNode=Pl,this.subContextCount=0,this.options={},this.currentQueryIndex=0,this.currentQueryTotal=0,this.currentStaggerTime=0,this.currentTimeline=l||new Ol(this._driver,e,0),a.push(this.currentTimeline)}get params(){return this.options.params}updateOptions(t,e){if(!t)return;const i=t;let r=this.options;null!=i.duration&&(r.duration=Zn(i.duration)),null!=i.delay&&(r.delay=Zn(i.delay));const o=i.params;if(o){let s=r.params;s||(s=this.options.params={}),Object.keys(o).forEach(a=>{(!e||!s.hasOwnProperty(a))&&(s[a]=us(o[a],s,this.errors))})}}_copyOptions(){const t={};if(this.options){const e=this.options.params;if(e){const i=t.params={};Object.keys(e).forEach(r=>{i[r]=e[r]})}}return t}createSubContext(t=null,e,i){const r=e||this.element,o=new Wf(this._driver,r,this.subInstructions,this._enterClassName,this._leaveClassName,this.errors,this.timelines,this.currentTimeline.fork(r,i||0));return o.previousNode=this.previousNode,o.currentAnimateTimings=this.currentAnimateTimings,o.options=this._copyOptions(),o.updateOptions(t),o.currentQueryIndex=this.currentQueryIndex,o.currentQueryTotal=this.currentQueryTotal,o.parentContext=this,this.subContextCount++,o}transformIntoNewTimeline(t){return this.previousNode=Pl,this.currentTimeline=this.currentTimeline.fork(this.element,t),this.timelines.push(this.currentTimeline),this.currentTimeline}appendInstructionToTimeline(t,e,i){const r={duration:e??t.duration,delay:this.currentTimeline.currentTime+(i??0)+t.delay,easing:""},o=new iR(this._driver,t.element,t.keyframes,t.preStyleProps,t.postStyleProps,r,t.stretchStartingKeyframe);return this.timelines.push(o),r}incrementTime(t){this.currentTimeline.forwardTime(this.currentTimeline.duration+t)}delayNextStep(t){t>0&&this.currentTimeline.delayNextStep(t)}invokeQuery(t,e,i,r,o,s){let a=[];if(r&&a.push(this.element),t.length>0){t=(t=t.replace(JF,"."+this._enterClassName)).replace(tR,"."+this._leaveClassName);let c=this._driver.query(this.element,t,1!=i);0!==i&&(c=i<0?c.slice(c.length+i,c.length):c.slice(0,i)),a.push(...c)}return!o&&0==a.length&&s.push(function aF(n){return new D(3014,!1)}()),a}}class Ol{constructor(t,e,i,r){this._driver=t,this.element=e,this.startTime=i,this._elementTimelineStylesLookup=r,this.duration=0,this._previousKeyframe=new Map,this._currentKeyframe=new Map,this._keyframes=new Map,this._styleSummary=new Map,this._localTimelineStyles=new Map,this._pendingStyles=new Map,this._backFill=new Map,this._currentEmptyStepKeyframe=null,this._elementTimelineStylesLookup||(this._elementTimelineStylesLookup=new Map),this._globalTimelineStyles=this._elementTimelineStylesLookup.get(e),this._globalTimelineStyles||(this._globalTimelineStyles=this._localTimelineStyles,this._elementTimelineStylesLookup.set(e,this._localTimelineStyles)),this._loadKeyframe()}containsAnimation(){switch(this._keyframes.size){case 0:return!1;case 1:return this.hasCurrentStyleProperties();default:return!0}}hasCurrentStyleProperties(){return this._currentKeyframe.size>0}get currentTime(){return this.startTime+this.duration}delayNextStep(t){const e=1===this._keyframes.size&&this._pendingStyles.size;this.duration||e?(this.forwardTime(this.currentTime+t),e&&this.snapshotCurrentStyles()):this.startTime+=t}fork(t,e){return this.applyStylesToKeyframe(),new Ol(this._driver,t,e||this.currentTime,this._elementTimelineStylesLookup)}_loadKeyframe(){this._currentKeyframe&&(this._previousKeyframe=this._currentKeyframe),this._currentKeyframe=this._keyframes.get(this.duration),this._currentKeyframe||(this._currentKeyframe=new Map,this._keyframes.set(this.duration,this._currentKeyframe))}forwardFrame(){this.duration+=1,this._loadKeyframe()}forwardTime(t){this.applyStylesToKeyframe(),this.duration=t,this._loadKeyframe()}_updateStyle(t,e){this._localTimelineStyles.set(t,e),this._globalTimelineStyles.set(t,e),this._styleSummary.set(t,{time:this.currentTime,value:e})}allowOnlyTimelineStyles(){return this._currentEmptyStepKeyframe!==this._currentKeyframe}applyEmptyStep(t){t&&this._previousKeyframe.set("easing",t);for(let[e,i]of this._globalTimelineStyles)this._backFill.set(e,i||Yn),this._currentKeyframe.set(e,Yn);this._currentEmptyStepKeyframe=this._currentKeyframe}setStyles(t,e,i,r){e&&this._previousKeyframe.set("easing",e);const o=r&&r.params||{},s=function rR(n,t){const e=new Map;let i;return n.forEach(r=>{if("*"===r){i=i||t.keys();for(let o of i)e.set(o,Yn)}else vi(r,e)}),e}(t,this._globalTimelineStyles);for(let[a,l]of s){const c=us(l,o,i);this._pendingStyles.set(a,c),this._localTimelineStyles.has(a)||this._backFill.set(a,this._globalTimelineStyles.get(a)??Yn),this._updateStyle(a,c)}}applyStylesToKeyframe(){0!=this._pendingStyles.size&&(this._pendingStyles.forEach((t,e)=>{this._currentKeyframe.set(e,t)}),this._pendingStyles.clear(),this._localTimelineStyles.forEach((t,e)=>{this._currentKeyframe.has(e)||this._currentKeyframe.set(e,t)}))}snapshotCurrentStyles(){for(let[t,e]of this._localTimelineStyles)this._pendingStyles.set(t,e),this._updateStyle(t,e)}getFinalKeyframe(){return this._keyframes.get(this.duration)}get properties(){const t=[];for(let e in this._currentKeyframe)t.push(e);return t}mergeTimelineCollectedStyles(t){t._styleSummary.forEach((e,i)=>{const r=this._styleSummary.get(i);(!r||e.time>r.time)&&this._updateStyle(i,e.value)})}buildKeyframes(){this.applyStylesToKeyframe();const t=new Set,e=new Set,i=1===this._keyframes.size&&0===this.duration;let r=[];this._keyframes.forEach((a,l)=>{const c=vi(a,new Map,this._backFill);c.forEach((u,d)=>{"!"===u?t.add(d):u===Yn&&e.add(d)}),i||c.set("offset",l/this.duration),r.push(c)});const o=t.size?Cl(t.values()):[],s=e.size?Cl(e.values()):[];if(i){const a=r[0],l=new Map(a);a.set("offset",0),l.set("offset",1),r=[a,l]}return $f(this.element,r,o,s,this.duration,this.startTime,this.easing,!1)}}class iR extends Ol{constructor(t,e,i,r,o,s,a=!1){super(t,e,s.delay),this.keyframes=i,this.preStyleProps=r,this.postStyleProps=o,this._stretchStartingKeyframe=a,this.timings={duration:s.duration,delay:s.delay,easing:s.easing}}containsAnimation(){return this.keyframes.length>1}buildKeyframes(){let t=this.keyframes,{delay:e,duration:i,easing:r}=this.timings;if(this._stretchStartingKeyframe&&e){const o=[],s=i+e,a=e/s,l=vi(t[0]);l.set("offset",0),o.push(l);const c=vi(t[0]);c.set("offset",KD(a)),o.push(c);const u=t.length-1;for(let d=1;d<=u;d++){let f=vi(t[d]);const h=f.get("offset");f.set("offset",KD((e+h*i)/s)),o.push(f)}i=s,e=0,r="",t=o}return $f(this.element,t,this.preStyleProps,this.postStyleProps,i,e,r,!0)}}function KD(n,t=3){const e=Math.pow(10,t-1);return Math.round(n*e)/e}class Gf{}const oR=new Set(["width","height","minWidth","minHeight","maxWidth","maxHeight","left","top","bottom","right","fontSize","outlineWidth","outlineOffset","paddingTop","paddingLeft","paddingBottom","paddingRight","marginTop","marginLeft","marginBottom","marginRight","borderRadius","borderWidth","borderTopWidth","borderLeftWidth","borderRightWidth","borderBottomWidth","textIndent","perspective"]);class sR extends Gf{normalizePropertyName(t,e){return Bf(t)}normalizeStyleValue(t,e,i,r){let o="";const s=i.toString().trim();if(oR.has(e)&&0!==i&&"0"!==i)if("number"==typeof i)o="px";else{const a=i.match(/^[+-]?[\d\.]+([a-z]*)$/);a&&0==a[1].length&&r.push(function YN(n,t){return new D(3005,!1)}())}return s+o}}function QD(n,t,e,i,r,o,s,a,l,c,u,d,f){return{type:0,element:n,triggerName:t,isRemovalTransition:r,fromState:e,fromStyles:o,toState:i,toStyles:s,timelines:a,queriedElements:l,preStyleProps:c,postStyleProps:u,totalTime:d,errors:f}}const qf={};class YD{constructor(t,e,i){this._triggerName=t,this.ast=e,this._stateStyles=i}match(t,e,i,r){return function aR(n,t,e,i,r){return n.some(o=>o(t,e,i,r))}(this.ast.matchers,t,e,i,r)}buildStyles(t,e,i){let r=this._stateStyles.get("*");return void 0!==t&&(r=this._stateStyles.get(t?.toString())||r),r?r.buildStyles(e,i):new Map}build(t,e,i,r,o,s,a,l,c,u){const d=[],f=this.ast.options&&this.ast.options.params||qf,p=this.buildStyles(i,a&&a.params||qf,d),m=l&&l.params||qf,y=this.buildStyles(r,m,d),_=new Set,S=new Map,g=new Map,M="void"===r,ie={params:lR(m,f),delay:this.ast.options?.delay},oe=u?[]:zf(t,e,this.ast.animation,o,s,p,y,ie,c,d);let lt=0;if(oe.forEach(ti=>{lt=Math.max(ti.duration+ti.delay,lt)}),d.length)return QD(e,this._triggerName,i,r,M,p,y,[],[],S,g,lt,d);oe.forEach(ti=>{const ni=ti.element,$E=Ot(S,ni,new Set);ti.preStyleProps.forEach(Xi=>$E.add(Xi));const ms=Ot(g,ni,new Set);ti.postStyleProps.forEach(Xi=>ms.add(Xi)),ni!==e&&_.add(ni)});const ei=Cl(_.values());return QD(e,this._triggerName,i,r,M,p,y,oe,ei,S,g,lt)}}function lR(n,t){const e=ls(t);for(const i in n)n.hasOwnProperty(i)&&null!=n[i]&&(e[i]=n[i]);return e}class cR{constructor(t,e,i){this.styles=t,this.defaultParams=e,this.normalizer=i}buildStyles(t,e){const i=new Map,r=ls(this.defaultParams);return Object.keys(t).forEach(o=>{const s=t[o];null!==s&&(r[o]=s)}),this.styles.styles.forEach(o=>{"string"!=typeof o&&o.forEach((s,a)=>{s&&(s=us(s,r,e));const l=this.normalizer.normalizePropertyName(a,e);s=this.normalizer.normalizeStyleValue(a,l,s,e),i.set(a,s)})}),i}}class dR{constructor(t,e,i){this.name=t,this.ast=e,this._normalizer=i,this.transitionFactories=[],this.states=new Map,e.states.forEach(r=>{this.states.set(r.name,new cR(r.style,r.options&&r.options.params||{},i))}),ZD(this.states,"true","1"),ZD(this.states,"false","0"),e.transitions.forEach(r=>{this.transitionFactories.push(new YD(t,r,this.states))}),this.fallbackTransition=function fR(n,t,e){return new YD(n,{type:1,animation:{type:2,steps:[],options:null},matchers:[(s,a)=>!0],options:null,queryCount:0,depCount:0},t)}(t,this.states)}get containsQueries(){return this.ast.queryCount>0}matchTransition(t,e,i,r){return this.transitionFactories.find(s=>s.match(t,e,i,r))||null}matchStyles(t,e,i){return this.fallbackTransition.buildStyles(t,e,i)}}function ZD(n,t,e){n.has(t)?n.has(e)||n.set(e,n.get(t)):n.has(e)&&n.set(t,n.get(e))}const hR=new xl;class pR{constructor(t,e,i){this.bodyNode=t,this._driver=e,this._normalizer=i,this._animations=new Map,this._playersById=new Map,this.players=[]}register(t,e){const i=[],o=Hf(this._driver,e,i,[]);if(i.length)throw function pF(n){return new D(3503,!1)}();this._animations.set(t,o)}_buildPlayer(t,e,i){const r=t.element,o=AD(0,this._normalizer,0,t.keyframes,e,i);return this._driver.animate(r,o,t.duration,t.delay,t.easing,[],!0)}create(t,e,i={}){const r=[],o=this._animations.get(t);let s;const a=new Map;if(o?(s=zf(this._driver,e,o,Lf,bl,new Map,new Map,i,hR,r),s.forEach(u=>{const d=Ot(a,u.element,new Map);u.postStyleProps.forEach(f=>d.set(f,null))})):(r.push(function mF(){return new D(3300,!1)}()),s=[]),r.length)throw function gF(n){return new D(3504,!1)}();a.forEach((u,d)=>{u.forEach((f,h)=>{u.set(h,this._driver.computeStyle(d,h,Yn))})});const c=_i(s.map(u=>{const d=a.get(u.element);return this._buildPlayer(u,new Map,d)}));return this._playersById.set(t,c),c.onDestroy(()=>this.destroy(t)),this.players.push(c),c}destroy(t){const e=this._getPlayer(t);e.destroy(),this._playersById.delete(t);const i=this.players.indexOf(e);i>=0&&this.players.splice(i,1)}_getPlayer(t){const e=this._playersById.get(t);if(!e)throw function yF(n){return new D(3301,!1)}();return e}listen(t,e,i,r){const o=Of(e,"","","");return xf(this._getPlayer(t),i,o,r),()=>{}}command(t,e,i,r){if("register"==i)return void this.register(t,r[0]);if("create"==i)return void this.create(t,e,r[0]||{});const o=this._getPlayer(t);switch(i){case"play":o.play();break;case"pause":o.pause();break;case"reset":o.reset();break;case"restart":o.restart();break;case"finish":o.finish();break;case"init":o.init();break;case"setPosition":o.setPosition(parseFloat(r[0]));break;case"destroy":this.destroy(t)}}}const XD="ng-animate-queued",Kf="ng-animate-disabled",vR=[],JD={namespaceId:"",setForRemoval:!1,setForMove:!1,hasAnimation:!1,removedBeforeQueried:!1},bR={namespaceId:"",setForMove:!1,setForRemoval:!1,hasAnimation:!1,removedBeforeQueried:!0},qt="__ng_removed";class Qf{get params(){return this.options.params}constructor(t,e=""){this.namespaceId=e;const i=t&&t.hasOwnProperty("value");if(this.value=function CR(n){return n??null}(i?t.value:t),i){const o=ls(t);delete o.value,this.options=o}else this.options={};this.options.params||(this.options.params={})}absorbOptions(t){const e=t.params;if(e){const i=this.options.params;Object.keys(e).forEach(r=>{null==i[r]&&(i[r]=e[r])})}}}const ds="void",Yf=new Qf(ds);class DR{constructor(t,e,i){this.id=t,this.hostElement=e,this._engine=i,this.players=[],this._triggers=new Map,this._queue=[],this._elementListeners=new Map,this._hostClassName="ng-tns-"+t,Kt(e,this._hostClassName)}listen(t,e,i,r){if(!this._triggers.has(e))throw function _F(n,t){return new D(3302,!1)}();if(null==i||0==i.length)throw function vF(n){return new D(3303,!1)}();if(!function wR(n){return"start"==n||"done"==n}(i))throw function bF(n,t){return new D(3400,!1)}();const o=Ot(this._elementListeners,t,[]),s={name:e,phase:i,callback:r};o.push(s);const a=Ot(this._engine.statesByElement,t,new Map);return a.has(e)||(Kt(t,Dl),Kt(t,Dl+"-"+e),a.set(e,Yf)),()=>{this._engine.afterFlush(()=>{const l=o.indexOf(s);l>=0&&o.splice(l,1),this._triggers.has(e)||a.delete(e)})}}register(t,e){return!this._triggers.has(t)&&(this._triggers.set(t,e),!0)}_getTrigger(t){const e=this._triggers.get(t);if(!e)throw function DF(n){return new D(3401,!1)}();return e}trigger(t,e,i,r=!0){const o=this._getTrigger(e),s=new Zf(this.id,e,t);let a=this._engine.statesByElement.get(t);a||(Kt(t,Dl),Kt(t,Dl+"-"+e),this._engine.statesByElement.set(t,a=new Map));let l=a.get(e);const c=new Qf(i,this.id);if(!(i&&i.hasOwnProperty("value"))&&l&&c.absorbOptions(l.options),a.set(e,c),l||(l=Yf),c.value!==ds&&l.value===c.value){if(!function MR(n,t){const e=Object.keys(n),i=Object.keys(t);if(e.length!=i.length)return!1;for(let r=0;r{Ki(t,y),Tn(t,_)})}return}const f=Ot(this._engine.playersByElement,t,[]);f.forEach(m=>{m.namespaceId==this.id&&m.triggerName==e&&m.queued&&m.destroy()});let h=o.matchTransition(l.value,c.value,t,c.params),p=!1;if(!h){if(!r)return;h=o.fallbackTransition,p=!0}return this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:e,transition:h,fromState:l,toState:c,player:s,isFallbackTransition:p}),p||(Kt(t,XD),s.onStart(()=>{zr(t,XD)})),s.onDone(()=>{let m=this.players.indexOf(s);m>=0&&this.players.splice(m,1);const y=this._engine.playersByElement.get(t);if(y){let _=y.indexOf(s);_>=0&&y.splice(_,1)}}),this.players.push(s),f.push(s),s}deregister(t){this._triggers.delete(t),this._engine.statesByElement.forEach(e=>e.delete(t)),this._elementListeners.forEach((e,i)=>{this._elementListeners.set(i,e.filter(r=>r.name!=t))})}clearElementCache(t){this._engine.statesByElement.delete(t),this._elementListeners.delete(t);const e=this._engine.playersByElement.get(t);e&&(e.forEach(i=>i.destroy()),this._engine.playersByElement.delete(t))}_signalRemovalForInnerTriggers(t,e){const i=this._engine.driver.query(t,El,!0);i.forEach(r=>{if(r[qt])return;const o=this._engine.fetchNamespacesByElement(r);o.size?o.forEach(s=>s.triggerLeaveAnimation(r,e,!1,!0)):this.clearElementCache(r)}),this._engine.afterFlushAnimationsDone(()=>i.forEach(r=>this.clearElementCache(r)))}triggerLeaveAnimation(t,e,i,r){const o=this._engine.statesByElement.get(t),s=new Map;if(o){const a=[];if(o.forEach((l,c)=>{if(s.set(c,l.value),this._triggers.has(c)){const u=this.trigger(t,c,ds,r);u&&a.push(u)}}),a.length)return this._engine.markElementAsRemoved(this.id,t,!0,e,s),i&&_i(a).onDone(()=>this._engine.processLeaveNode(t)),!0}return!1}prepareLeaveAnimationListeners(t){const e=this._elementListeners.get(t),i=this._engine.statesByElement.get(t);if(e&&i){const r=new Set;e.forEach(o=>{const s=o.name;if(r.has(s))return;r.add(s);const l=this._triggers.get(s).fallbackTransition,c=i.get(s)||Yf,u=new Qf(ds),d=new Zf(this.id,s,t);this._engine.totalQueuedPlayers++,this._queue.push({element:t,triggerName:s,transition:l,fromState:c,toState:u,player:d,isFallbackTransition:!0})})}}removeNode(t,e){const i=this._engine;if(t.childElementCount&&this._signalRemovalForInnerTriggers(t,e),this.triggerLeaveAnimation(t,e,!0))return;let r=!1;if(i.totalAnimations){const o=i.players.length?i.playersByQueriedElement.get(t):[];if(o&&o.length)r=!0;else{let s=t;for(;s=s.parentNode;)if(i.statesByElement.get(s)){r=!0;break}}}if(this.prepareLeaveAnimationListeners(t),r)i.markElementAsRemoved(this.id,t,!1,e);else{const o=t[qt];(!o||o===JD)&&(i.afterFlush(()=>this.clearElementCache(t)),i.destroyInnerAnimations(t),i._onRemovalComplete(t,e))}}insertNode(t,e){Kt(t,this._hostClassName)}drainQueuedTransitions(t){const e=[];return this._queue.forEach(i=>{const r=i.player;if(r.destroyed)return;const o=i.element,s=this._elementListeners.get(o);s&&s.forEach(a=>{if(a.name==i.triggerName){const l=Of(o,i.triggerName,i.fromState.value,i.toState.value);l._data=t,xf(i.player,a.phase,l,a.callback)}}),r.markedForDestroy?this._engine.afterFlush(()=>{r.destroy()}):e.push(i)}),this._queue=[],e.sort((i,r)=>{const o=i.transition.ast.depCount,s=r.transition.ast.depCount;return 0==o||0==s?o-s:this._engine.driver.containsElement(i.element,r.element)?1:-1})}destroy(t){this.players.forEach(e=>e.destroy()),this._signalRemovalForInnerTriggers(this.hostElement,t)}elementContainsData(t){let e=!1;return this._elementListeners.has(t)&&(e=!0),e=!!this._queue.find(i=>i.element===t)||e,e}}class ER{_onRemovalComplete(t,e){this.onRemovalComplete(t,e)}constructor(t,e,i){this.bodyNode=t,this.driver=e,this._normalizer=i,this.players=[],this.newHostElements=new Map,this.playersByElement=new Map,this.playersByQueriedElement=new Map,this.statesByElement=new Map,this.disabledNodes=new Set,this.totalAnimations=0,this.totalQueuedPlayers=0,this._namespaceLookup={},this._namespaceList=[],this._flushFns=[],this._whenQuietFns=[],this.namespacesByHostElement=new Map,this.collectedEnterElements=[],this.collectedLeaveElements=[],this.onRemovalComplete=(r,o)=>{}}get queuedPlayers(){const t=[];return this._namespaceList.forEach(e=>{e.players.forEach(i=>{i.queued&&t.push(i)})}),t}createNamespace(t,e){const i=new DR(t,e,this);return this.bodyNode&&this.driver.containsElement(this.bodyNode,e)?this._balanceNamespaceList(i,e):(this.newHostElements.set(e,i),this.collectEnterElement(e)),this._namespaceLookup[t]=i}_balanceNamespaceList(t,e){const i=this._namespaceList,r=this.namespacesByHostElement;if(i.length-1>=0){let s=!1,a=this.driver.getParentElement(e);for(;a;){const l=r.get(a);if(l){const c=i.indexOf(l);i.splice(c+1,0,t),s=!0;break}a=this.driver.getParentElement(a)}s||i.unshift(t)}else i.push(t);return r.set(e,t),t}register(t,e){let i=this._namespaceLookup[t];return i||(i=this.createNamespace(t,e)),i}registerTrigger(t,e,i){let r=this._namespaceLookup[t];r&&r.register(e,i)&&this.totalAnimations++}destroy(t,e){if(!t)return;const i=this._fetchNamespace(t);this.afterFlush(()=>{this.namespacesByHostElement.delete(i.hostElement),delete this._namespaceLookup[t];const r=this._namespaceList.indexOf(i);r>=0&&this._namespaceList.splice(r,1)}),this.afterFlushAnimationsDone(()=>i.destroy(e))}_fetchNamespace(t){return this._namespaceLookup[t]}fetchNamespacesByElement(t){const e=new Set,i=this.statesByElement.get(t);if(i)for(let r of i.values())if(r.namespaceId){const o=this._fetchNamespace(r.namespaceId);o&&e.add(o)}return e}trigger(t,e,i,r){if(Nl(e)){const o=this._fetchNamespace(t);if(o)return o.trigger(e,i,r),!0}return!1}insertNode(t,e,i,r){if(!Nl(e))return;const o=e[qt];if(o&&o.setForRemoval){o.setForRemoval=!1,o.setForMove=!0;const s=this.collectedLeaveElements.indexOf(e);s>=0&&this.collectedLeaveElements.splice(s,1)}if(t){const s=this._fetchNamespace(t);s&&s.insertNode(e,i)}r&&this.collectEnterElement(e)}collectEnterElement(t){this.collectedEnterElements.push(t)}markElementAsDisabled(t,e){e?this.disabledNodes.has(t)||(this.disabledNodes.add(t),Kt(t,Kf)):this.disabledNodes.has(t)&&(this.disabledNodes.delete(t),zr(t,Kf))}removeNode(t,e,i,r){if(Nl(e)){const o=t?this._fetchNamespace(t):null;if(o?o.removeNode(e,r):this.markElementAsRemoved(t,e,!1,r),i){const s=this.namespacesByHostElement.get(e);s&&s.id!==t&&s.removeNode(e,r)}}else this._onRemovalComplete(e,r)}markElementAsRemoved(t,e,i,r,o){this.collectedLeaveElements.push(e),e[qt]={namespaceId:t,setForRemoval:r,hasAnimation:i,removedBeforeQueried:!1,previousTriggersValues:o}}listen(t,e,i,r,o){return Nl(e)?this._fetchNamespace(t).listen(e,i,r,o):()=>{}}_buildInstruction(t,e,i,r,o){return t.transition.build(this.driver,t.element,t.fromState.value,t.toState.value,i,r,t.fromState.options,t.toState.options,e,o)}destroyInnerAnimations(t){let e=this.driver.query(t,El,!0);e.forEach(i=>this.destroyActiveAnimationsForElement(i)),0!=this.playersByQueriedElement.size&&(e=this.driver.query(t,kf,!0),e.forEach(i=>this.finishActiveQueriedAnimationOnElement(i)))}destroyActiveAnimationsForElement(t){const e=this.playersByElement.get(t);e&&e.forEach(i=>{i.queued?i.markedForDestroy=!0:i.destroy()})}finishActiveQueriedAnimationOnElement(t){const e=this.playersByQueriedElement.get(t);e&&e.forEach(i=>i.finish())}whenRenderingDone(){return new Promise(t=>{if(this.players.length)return _i(this.players).onDone(()=>t());t()})}processLeaveNode(t){const e=t[qt];if(e&&e.setForRemoval){if(t[qt]=JD,e.namespaceId){this.destroyInnerAnimations(t);const i=this._fetchNamespace(e.namespaceId);i&&i.clearElementCache(t)}this._onRemovalComplete(t,e.setForRemoval)}t.classList?.contains(Kf)&&this.markElementAsDisabled(t,!1),this.driver.query(t,".ng-animate-disabled",!0).forEach(i=>{this.markElementAsDisabled(i,!1)})}flush(t=-1){let e=[];if(this.newHostElements.size&&(this.newHostElements.forEach((i,r)=>this._balanceNamespaceList(i,r)),this.newHostElements.clear()),this.totalAnimations&&this.collectedEnterElements.length)for(let i=0;ii()),this._flushFns=[],this._whenQuietFns.length){const i=this._whenQuietFns;this._whenQuietFns=[],e.length?_i(e).onDone(()=>{i.forEach(r=>r())}):i.forEach(r=>r())}}reportError(t){throw function EF(n){return new D(3402,!1)}()}_flushAnimations(t,e){const i=new xl,r=[],o=new Map,s=[],a=new Map,l=new Map,c=new Map,u=new Set;this.disabledNodes.forEach(x=>{u.add(x);const N=this.driver.query(x,".ng-animate-queued",!0);for(let j=0;j{const j=Lf+m++;p.set(N,j),x.forEach(re=>Kt(re,j))});const y=[],_=new Set,S=new Set;for(let x=0;x_.add(re)):S.add(N))}const g=new Map,M=nE(f,Array.from(_));M.forEach((x,N)=>{const j=bl+m++;g.set(N,j),x.forEach(re=>Kt(re,j))}),t.push(()=>{h.forEach((x,N)=>{const j=p.get(N);x.forEach(re=>zr(re,j))}),M.forEach((x,N)=>{const j=g.get(N);x.forEach(re=>zr(re,j))}),y.forEach(x=>{this.processLeaveNode(x)})});const ie=[],oe=[];for(let x=this._namespaceList.length-1;x>=0;x--)this._namespaceList[x].drainQueuedTransitions(e).forEach(j=>{const re=j.player,Ge=j.element;if(ie.push(re),this.collectedEnterElements.length){const ct=Ge[qt];if(ct&&ct.setForMove){if(ct.previousTriggersValues&&ct.previousTriggersValues.has(j.triggerName)){const Ji=ct.previousTriggersValues.get(j.triggerName),Qt=this.statesByElement.get(j.element);if(Qt&&Qt.has(j.triggerName)){const $l=Qt.get(j.triggerName);$l.value=Ji,Qt.set(j.triggerName,$l)}}return void re.destroy()}}const xn=!d||!this.driver.containsElement(d,Ge),Lt=g.get(Ge),Si=p.get(Ge),we=this._buildInstruction(j,i,Si,Lt,xn);if(we.errors&&we.errors.length)return void oe.push(we);if(xn)return re.onStart(()=>Ki(Ge,we.fromStyles)),re.onDestroy(()=>Tn(Ge,we.toStyles)),void r.push(re);if(j.isFallbackTransition)return re.onStart(()=>Ki(Ge,we.fromStyles)),re.onDestroy(()=>Tn(Ge,we.toStyles)),void r.push(re);const GE=[];we.timelines.forEach(ct=>{ct.stretchStartingKeyframe=!0,this.disabledNodes.has(ct.element)||GE.push(ct)}),we.timelines=GE,i.append(Ge,we.timelines),s.push({instruction:we,player:re,element:Ge}),we.queriedElements.forEach(ct=>Ot(a,ct,[]).push(re)),we.preStyleProps.forEach((ct,Ji)=>{if(ct.size){let Qt=l.get(Ji);Qt||l.set(Ji,Qt=new Set),ct.forEach(($l,dh)=>Qt.add(dh))}}),we.postStyleProps.forEach((ct,Ji)=>{let Qt=c.get(Ji);Qt||c.set(Ji,Qt=new Set),ct.forEach(($l,dh)=>Qt.add(dh))})});if(oe.length){const x=[];oe.forEach(N=>{x.push(function SF(n,t){return new D(3505,!1)}())}),ie.forEach(N=>N.destroy()),this.reportError(x)}const lt=new Map,ei=new Map;s.forEach(x=>{const N=x.element;i.has(N)&&(ei.set(N,N),this._beforeAnimationBuild(x.player.namespaceId,x.instruction,lt))}),r.forEach(x=>{const N=x.element;this._getPreviousPlayers(N,!1,x.namespaceId,x.triggerName,null).forEach(re=>{Ot(lt,N,[]).push(re),re.destroy()})});const ti=y.filter(x=>rE(x,l,c)),ni=new Map;tE(ni,this.driver,S,c,Yn).forEach(x=>{rE(x,l,c)&&ti.push(x)});const ms=new Map;h.forEach((x,N)=>{tE(ms,this.driver,new Set(x),l,"!")}),ti.forEach(x=>{const N=ni.get(x),j=ms.get(x);ni.set(x,new Map([...Array.from(N?.entries()??[]),...Array.from(j?.entries()??[])]))});const Xi=[],zE=[],WE={};s.forEach(x=>{const{element:N,player:j,instruction:re}=x;if(i.has(N)){if(u.has(N))return j.onDestroy(()=>Tn(N,re.toStyles)),j.disabled=!0,j.overrideTotalTime(re.totalTime),void r.push(j);let Ge=WE;if(ei.size>1){let Lt=N;const Si=[];for(;Lt=Lt.parentNode;){const we=ei.get(Lt);if(we){Ge=we;break}Si.push(Lt)}Si.forEach(we=>ei.set(we,Ge))}const xn=this._buildAnimation(j.namespaceId,re,lt,o,ms,ni);if(j.setRealPlayer(xn),Ge===WE)Xi.push(j);else{const Lt=this.playersByElement.get(Ge);Lt&&Lt.length&&(j.parentPlayer=_i(Lt)),r.push(j)}}else Ki(N,re.fromStyles),j.onDestroy(()=>Tn(N,re.toStyles)),zE.push(j),u.has(N)&&r.push(j)}),zE.forEach(x=>{const N=o.get(x.element);if(N&&N.length){const j=_i(N);x.setRealPlayer(j)}}),r.forEach(x=>{x.parentPlayer?x.syncPlayerEvents(x.parentPlayer):x.destroy()});for(let x=0;x!xn.destroyed);Ge.length?IR(this,N,Ge):this.processLeaveNode(N)}return y.length=0,Xi.forEach(x=>{this.players.push(x),x.onDone(()=>{x.destroy();const N=this.players.indexOf(x);this.players.splice(N,1)}),x.play()}),Xi}elementContainsData(t,e){let i=!1;const r=e[qt];return r&&r.setForRemoval&&(i=!0),this.playersByElement.has(e)&&(i=!0),this.playersByQueriedElement.has(e)&&(i=!0),this.statesByElement.has(e)&&(i=!0),this._fetchNamespace(t).elementContainsData(e)||i}afterFlush(t){this._flushFns.push(t)}afterFlushAnimationsDone(t){this._whenQuietFns.push(t)}_getPreviousPlayers(t,e,i,r,o){let s=[];if(e){const a=this.playersByQueriedElement.get(t);a&&(s=a)}else{const a=this.playersByElement.get(t);if(a){const l=!o||o==ds;a.forEach(c=>{c.queued||!l&&c.triggerName!=r||s.push(c)})}}return(i||r)&&(s=s.filter(a=>!(i&&i!=a.namespaceId||r&&r!=a.triggerName))),s}_beforeAnimationBuild(t,e,i){const o=e.element,s=e.isRemovalTransition?void 0:t,a=e.isRemovalTransition?void 0:e.triggerName;for(const l of e.timelines){const c=l.element,u=c!==o,d=Ot(i,c,[]);this._getPreviousPlayers(c,u,s,a,e.toState).forEach(h=>{const p=h.getRealPlayer();p.beforeDestroy&&p.beforeDestroy(),h.destroy(),d.push(h)})}Ki(o,e.fromStyles)}_buildAnimation(t,e,i,r,o,s){const a=e.triggerName,l=e.element,c=[],u=new Set,d=new Set,f=e.timelines.map(p=>{const m=p.element;u.add(m);const y=m[qt];if(y&&y.removedBeforeQueried)return new as(p.duration,p.delay);const _=m!==l,S=function TR(n){const t=[];return iE(n,t),t}((i.get(m)||vR).map(lt=>lt.getRealPlayer())).filter(lt=>!!lt.element&<.element===m),g=o.get(m),M=s.get(m),ie=AD(0,this._normalizer,0,p.keyframes,g,M),oe=this._buildPlayer(p,ie,S);if(p.subTimeline&&r&&d.add(m),_){const lt=new Zf(t,a,m);lt.setRealPlayer(oe),c.push(lt)}return oe});c.forEach(p=>{Ot(this.playersByQueriedElement,p.element,[]).push(p),p.onDone(()=>function SR(n,t,e){let i=n.get(t);if(i){if(i.length){const r=i.indexOf(e);i.splice(r,1)}0==i.length&&n.delete(t)}return i}(this.playersByQueriedElement,p.element,p))}),u.forEach(p=>Kt(p,jD));const h=_i(f);return h.onDestroy(()=>{u.forEach(p=>zr(p,jD)),Tn(l,e.toStyles)}),d.forEach(p=>{Ot(r,p,[]).push(h)}),h}_buildPlayer(t,e,i){return e.length>0?this.driver.animate(t.element,e,t.duration,t.delay,t.easing,i):new as(t.duration,t.delay)}}class Zf{constructor(t,e,i){this.namespaceId=t,this.triggerName=e,this.element=i,this._player=new as,this._containsRealPlayer=!1,this._queuedCallbacks=new Map,this.destroyed=!1,this.markedForDestroy=!1,this.disabled=!1,this.queued=!0,this.totalTime=0}setRealPlayer(t){this._containsRealPlayer||(this._player=t,this._queuedCallbacks.forEach((e,i)=>{e.forEach(r=>xf(t,i,void 0,r))}),this._queuedCallbacks.clear(),this._containsRealPlayer=!0,this.overrideTotalTime(t.totalTime),this.queued=!1)}getRealPlayer(){return this._player}overrideTotalTime(t){this.totalTime=t}syncPlayerEvents(t){const e=this._player;e.triggerCallback&&t.onStart(()=>e.triggerCallback("start")),t.onDone(()=>this.finish()),t.onDestroy(()=>this.destroy())}_queueEvent(t,e){Ot(this._queuedCallbacks,t,[]).push(e)}onDone(t){this.queued&&this._queueEvent("done",t),this._player.onDone(t)}onStart(t){this.queued&&this._queueEvent("start",t),this._player.onStart(t)}onDestroy(t){this.queued&&this._queueEvent("destroy",t),this._player.onDestroy(t)}init(){this._player.init()}hasStarted(){return!this.queued&&this._player.hasStarted()}play(){!this.queued&&this._player.play()}pause(){!this.queued&&this._player.pause()}restart(){!this.queued&&this._player.restart()}finish(){this._player.finish()}destroy(){this.destroyed=!0,this._player.destroy()}reset(){!this.queued&&this._player.reset()}setPosition(t){this.queued||this._player.setPosition(t)}getPosition(){return this.queued?0:this._player.getPosition()}triggerCallback(t){const e=this._player;e.triggerCallback&&e.triggerCallback(t)}}function Nl(n){return n&&1===n.nodeType}function eE(n,t){const e=n.style.display;return n.style.display=t??"none",e}function tE(n,t,e,i,r){const o=[];e.forEach(l=>o.push(eE(l)));const s=[];i.forEach((l,c)=>{const u=new Map;l.forEach(d=>{const f=t.computeStyle(c,d,r);u.set(d,f),(!f||0==f.length)&&(c[qt]=bR,s.push(c))}),n.set(c,u)});let a=0;return e.forEach(l=>eE(l,o[a++])),s}function nE(n,t){const e=new Map;if(n.forEach(a=>e.set(a,[])),0==t.length)return e;const r=new Set(t),o=new Map;function s(a){if(!a)return 1;let l=o.get(a);if(l)return l;const c=a.parentNode;return l=e.has(c)?c:r.has(c)?1:s(c),o.set(a,l),l}return t.forEach(a=>{const l=s(a);1!==l&&e.get(l).push(a)}),e}function Kt(n,t){n.classList?.add(t)}function zr(n,t){n.classList?.remove(t)}function IR(n,t,e){_i(e).onDone(()=>n.processLeaveNode(t))}function iE(n,t){for(let e=0;er.add(o)):t.set(n,i),e.delete(n),!0}class Fl{constructor(t,e,i){this.bodyNode=t,this._driver=e,this._normalizer=i,this._triggerCache={},this.onRemovalComplete=(r,o)=>{},this._transitionEngine=new ER(t,e,i),this._timelineEngine=new pR(t,e,i),this._transitionEngine.onRemovalComplete=(r,o)=>this.onRemovalComplete(r,o)}registerTrigger(t,e,i,r,o){const s=t+"-"+r;let a=this._triggerCache[s];if(!a){const l=[],u=Hf(this._driver,o,l,[]);if(l.length)throw function fF(n,t){return new D(3404,!1)}();a=function uR(n,t,e){return new dR(n,t,e)}(r,u,this._normalizer),this._triggerCache[s]=a}this._transitionEngine.registerTrigger(e,r,a)}register(t,e){this._transitionEngine.register(t,e)}destroy(t,e){this._transitionEngine.destroy(t,e)}onInsert(t,e,i,r){this._transitionEngine.insertNode(t,e,i,r)}onRemove(t,e,i,r){this._transitionEngine.removeNode(t,e,r||!1,i)}disableAnimations(t,e){this._transitionEngine.markElementAsDisabled(t,e)}process(t,e,i,r){if("@"==i.charAt(0)){const[o,s]=xD(i);this._timelineEngine.command(o,e,s,r)}else this._transitionEngine.trigger(t,e,i,r)}listen(t,e,i,r,o){if("@"==i.charAt(0)){const[s,a]=xD(i);return this._timelineEngine.listen(s,e,a,o)}return this._transitionEngine.listen(t,e,i,r,o)}flush(t=-1){this._transitionEngine.flush(t)}get players(){return this._transitionEngine.players.concat(this._timelineEngine.players)}whenRenderingDone(){return this._transitionEngine.whenRenderingDone()}}let xR=(()=>{class n{constructor(e,i,r){this._element=e,this._startStyles=i,this._endStyles=r,this._state=0;let o=n.initialStylesByElement.get(e);o||n.initialStylesByElement.set(e,o=new Map),this._initialStyles=o}start(){this._state<1&&(this._startStyles&&Tn(this._element,this._startStyles,this._initialStyles),this._state=1)}finish(){this.start(),this._state<2&&(Tn(this._element,this._initialStyles),this._endStyles&&(Tn(this._element,this._endStyles),this._endStyles=null),this._state=1)}destroy(){this.finish(),this._state<3&&(n.initialStylesByElement.delete(this._element),this._startStyles&&(Ki(this._element,this._startStyles),this._endStyles=null),this._endStyles&&(Ki(this._element,this._endStyles),this._endStyles=null),Tn(this._element,this._initialStyles),this._state=3)}}return n.initialStylesByElement=new WeakMap,n})();function Xf(n){let t=null;return n.forEach((e,i)=>{(function PR(n){return"display"===n||"position"===n})(i)&&(t=t||new Map,t.set(i,e))}),t}class oE{constructor(t,e,i,r){this.element=t,this.keyframes=e,this.options=i,this._specialStyles=r,this._onDoneFns=[],this._onStartFns=[],this._onDestroyFns=[],this._initialized=!1,this._finished=!1,this._started=!1,this._destroyed=!1,this._originalOnDoneFns=[],this._originalOnStartFns=[],this.time=0,this.parentPlayer=null,this.currentSnapshot=new Map,this._duration=i.duration,this._delay=i.delay||0,this.time=this._duration+this._delay}_onFinish(){this._finished||(this._finished=!0,this._onDoneFns.forEach(t=>t()),this._onDoneFns=[])}init(){this._buildPlayer(),this._preparePlayerBeforeStart()}_buildPlayer(){if(this._initialized)return;this._initialized=!0;const t=this.keyframes;this.domPlayer=this._triggerWebAnimation(this.element,t,this.options),this._finalKeyframe=t.length?t[t.length-1]:new Map,this.domPlayer.addEventListener("finish",()=>this._onFinish())}_preparePlayerBeforeStart(){this._delay?this._resetDomPlayerState():this.domPlayer.pause()}_convertKeyframesToObject(t){const e=[];return t.forEach(i=>{e.push(Object.fromEntries(i))}),e}_triggerWebAnimation(t,e,i){return t.animate(this._convertKeyframesToObject(e),i)}onStart(t){this._originalOnStartFns.push(t),this._onStartFns.push(t)}onDone(t){this._originalOnDoneFns.push(t),this._onDoneFns.push(t)}onDestroy(t){this._onDestroyFns.push(t)}play(){this._buildPlayer(),this.hasStarted()||(this._onStartFns.forEach(t=>t()),this._onStartFns=[],this._started=!0,this._specialStyles&&this._specialStyles.start()),this.domPlayer.play()}pause(){this.init(),this.domPlayer.pause()}finish(){this.init(),this._specialStyles&&this._specialStyles.finish(),this._onFinish(),this.domPlayer.finish()}reset(){this._resetDomPlayerState(),this._destroyed=!1,this._finished=!1,this._started=!1,this._onStartFns=this._originalOnStartFns,this._onDoneFns=this._originalOnDoneFns}_resetDomPlayerState(){this.domPlayer&&this.domPlayer.cancel()}restart(){this.reset(),this.play()}hasStarted(){return this._started}destroy(){this._destroyed||(this._destroyed=!0,this._resetDomPlayerState(),this._onFinish(),this._specialStyles&&this._specialStyles.destroy(),this._onDestroyFns.forEach(t=>t()),this._onDestroyFns=[])}setPosition(t){void 0===this.domPlayer&&this.init(),this.domPlayer.currentTime=t*this.time}getPosition(){return this.domPlayer.currentTime/this.time}get totalTime(){return this._delay+this._duration}beforeDestroy(){const t=new Map;this.hasStarted()&&this._finalKeyframe.forEach((i,r)=>{"offset"!==r&&t.set(r,this._finished?i:zD(this.element,r))}),this.currentSnapshot=t}triggerCallback(t){const e="start"===t?this._onStartFns:this._onDoneFns;e.forEach(i=>i()),e.length=0}}class OR{validateStyleProperty(t){return!0}validateAnimatableStyleProperty(t){return!0}matchesElement(t,e){return!1}containsElement(t,e){return FD(t,e)}getParentElement(t){return Ff(t)}query(t,e,i){return RD(t,e,i)}computeStyle(t,e,i){return window.getComputedStyle(t)[e]}animate(t,e,i,r,o,s=[]){const l={duration:i,delay:r,fill:0==r?"both":"forwards"};o&&(l.easing=o);const c=new Map,u=s.filter(h=>h instanceof oE);(function LF(n,t){return 0===n||0===t})(i,r)&&u.forEach(h=>{h.currentSnapshot.forEach((p,m)=>c.set(m,p))});let d=function OF(n){return n.length?n[0]instanceof Map?n:n.map(t=>VD(t)):[]}(e).map(h=>vi(h));d=function kF(n,t,e){if(e.size&&t.length){let i=t[0],r=[];if(e.forEach((o,s)=>{i.has(s)||r.push(s),i.set(s,o)}),r.length)for(let o=1;os.set(a,zD(n,a)))}}return t}(t,d,c);const f=function AR(n,t){let e=null,i=null;return Array.isArray(t)&&t.length?(e=Xf(t[0]),t.length>1&&(i=Xf(t[t.length-1]))):t instanceof Map&&(e=Xf(t)),e||i?new xR(n,e,i):null}(t,d);return new oE(t,d,l,f)}}let NR=(()=>{class n extends DD{constructor(e,i){super(),this._nextAnimationId=0,this._renderer=e.createRenderer(i.body,{id:"0",encapsulation:Jt.None,styles:[],data:{animation:[]}})}build(e){const i=this._nextAnimationId.toString();this._nextAnimationId++;const r=Array.isArray(e)?SD(e):e;return sE(this._renderer,null,i,"register",[r]),new FR(i,this._renderer)}}return n.\u0275fac=function(e){return new(e||n)(O(bo),O(zt))},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})();class FR extends zN{constructor(t,e){super(),this._id=t,this._renderer=e}create(t,e){return new RR(this._id,t,e||{},this._renderer)}}class RR{constructor(t,e,i,r){this.id=t,this.element=e,this._renderer=r,this.parentPlayer=null,this._started=!1,this.totalTime=0,this._command("create",i)}_listen(t,e){return this._renderer.listen(this.element,`@@${this.id}:${t}`,e)}_command(t,...e){return sE(this._renderer,this.element,this.id,t,e)}onDone(t){this._listen("done",t)}onStart(t){this._listen("start",t)}onDestroy(t){this._listen("destroy",t)}init(){this._command("init")}hasStarted(){return this._started}play(){this._command("play"),this._started=!0}pause(){this._command("pause")}restart(){this._command("restart")}finish(){this._command("finish")}destroy(){this._command("destroy")}reset(){this._command("reset"),this._started=!1}setPosition(t){this._command("setPosition",t)}getPosition(){return this._renderer.engine.players[+this.id]?.getPosition()??0}}function sE(n,t,e,i,r){return n.setProperty(t,`@@${e}:${i}`,r)}const aE="@.disabled";let LR=(()=>{class n{constructor(e,i,r){this.delegate=e,this.engine=i,this._zone=r,this._currentId=0,this._microtaskId=1,this._animationCallbacksBuffer=[],this._rendererCache=new Map,this._cdRecurDepth=0,this.promise=Promise.resolve(0),i.onRemovalComplete=(o,s)=>{const a=s?.parentNode(o);a&&s.removeChild(a,o)}}createRenderer(e,i){const o=this.delegate.createRenderer(e,i);if(!(e&&i&&i.data&&i.data.animation)){let u=this._rendererCache.get(o);return u||(u=new lE("",o,this.engine,()=>this._rendererCache.delete(o)),this._rendererCache.set(o,u)),u}const s=i.id,a=i.id+"-"+this._currentId;this._currentId++,this.engine.register(a,e);const l=u=>{Array.isArray(u)?u.forEach(l):this.engine.registerTrigger(s,a,e,u.name,u)};return i.data.animation.forEach(l),new kR(this,a,o,this.engine)}begin(){this._cdRecurDepth++,this.delegate.begin&&this.delegate.begin()}_scheduleCountTask(){this.promise.then(()=>{this._microtaskId++})}scheduleListenerCallback(e,i,r){e>=0&&ei(r)):(0==this._animationCallbacksBuffer.length&&Promise.resolve(null).then(()=>{this._zone.run(()=>{this._animationCallbacksBuffer.forEach(o=>{const[s,a]=o;s(a)}),this._animationCallbacksBuffer=[]})}),this._animationCallbacksBuffer.push([i,r]))}end(){this._cdRecurDepth--,0==this._cdRecurDepth&&this._zone.runOutsideAngular(()=>{this._scheduleCountTask(),this.engine.flush(this._microtaskId)}),this.delegate.end&&this.delegate.end()}whenRenderingDone(){return this.engine.whenRenderingDone()}}return n.\u0275fac=function(e){return new(e||n)(O(bo),O(Fl),O(Se))},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})();class lE{constructor(t,e,i,r){this.namespaceId=t,this.delegate=e,this.engine=i,this._onDestroy=r,this.destroyNode=this.delegate.destroyNode?o=>e.destroyNode(o):null}get data(){return this.delegate.data}destroy(){this.engine.destroy(this.namespaceId,this.delegate),this.delegate.destroy(),this._onDestroy?.()}createElement(t,e){return this.delegate.createElement(t,e)}createComment(t){return this.delegate.createComment(t)}createText(t){return this.delegate.createText(t)}appendChild(t,e){this.delegate.appendChild(t,e),this.engine.onInsert(this.namespaceId,e,t,!1)}insertBefore(t,e,i,r=!0){this.delegate.insertBefore(t,e,i),this.engine.onInsert(this.namespaceId,e,t,r)}removeChild(t,e,i){this.engine.onRemove(this.namespaceId,e,this.delegate,i)}selectRootElement(t,e){return this.delegate.selectRootElement(t,e)}parentNode(t){return this.delegate.parentNode(t)}nextSibling(t){return this.delegate.nextSibling(t)}setAttribute(t,e,i,r){this.delegate.setAttribute(t,e,i,r)}removeAttribute(t,e,i){this.delegate.removeAttribute(t,e,i)}addClass(t,e){this.delegate.addClass(t,e)}removeClass(t,e){this.delegate.removeClass(t,e)}setStyle(t,e,i,r){this.delegate.setStyle(t,e,i,r)}removeStyle(t,e,i){this.delegate.removeStyle(t,e,i)}setProperty(t,e,i){"@"==e.charAt(0)&&e==aE?this.disableAnimations(t,!!i):this.delegate.setProperty(t,e,i)}setValue(t,e){this.delegate.setValue(t,e)}listen(t,e,i){return this.delegate.listen(t,e,i)}disableAnimations(t,e){this.engine.disableAnimations(t,e)}}class kR extends lE{constructor(t,e,i,r,o){super(e,i,r,o),this.factory=t,this.namespaceId=e}setProperty(t,e,i){"@"==e.charAt(0)?"."==e.charAt(1)&&e==aE?this.disableAnimations(t,i=void 0===i||!!i):this.engine.process(this.namespaceId,t,e.slice(1),i):this.delegate.setProperty(t,e,i)}listen(t,e,i){if("@"==e.charAt(0)){const r=function jR(n){switch(n){case"body":return document.body;case"document":return document;case"window":return window;default:return n}}(t);let o=e.slice(1),s="";return"@"!=o.charAt(0)&&([o,s]=function VR(n){const t=n.indexOf(".");return[n.substring(0,t),n.slice(t+1)]}(o)),this.engine.listen(this.namespaceId,r,o,s,a=>{this.factory.scheduleListenerCallback(a._data||-1,i,a)})}return this.delegate.listen(t,e,i)}}let BR=(()=>{class n extends Fl{constructor(e,i,r,o){super(e.body,i,r)}ngOnDestroy(){this.flush()}}return n.\u0275fac=function(e){return new(e||n)(O(zt),O(Rf),O(Gf),O(Ho))},n.\u0275prov=H({token:n,factory:n.\u0275fac}),n})();const cE=[{provide:DD,useClass:NR},{provide:Gf,useFactory:function HR(){return new sR}},{provide:Fl,useClass:BR},{provide:bo,useFactory:function UR(n,t,e){return new LR(n,t,e)},deps:[Ya,Fl,Se]}],Jf=[{provide:Rf,useFactory:()=>new OR},{provide:k_,useValue:"BrowserAnimations"},...cE],uE=[{provide:Rf,useClass:LD},{provide:k_,useValue:"NoopAnimations"},...cE];let $R=(()=>{class n{static withConfig(e){return{ngModule:n,providers:e.disableAnimations?uE:Jf}}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Ne({type:n}),n.\u0275inj=Ae({providers:Jf,imports:[Yv]}),n})();const dE=["*"];let at=(()=>{class n{}return n.STARTS_WITH="startsWith",n.CONTAINS="contains",n.NOT_CONTAINS="notContains",n.ENDS_WITH="endsWith",n.EQUALS="equals",n.NOT_EQUALS="notEquals",n.IN="in",n.LESS_THAN="lt",n.LESS_THAN_OR_EQUAL_TO="lte",n.GREATER_THAN="gt",n.GREATER_THAN_OR_EQUAL_TO="gte",n.BETWEEN="between",n.IS="is",n.IS_NOT="isNot",n.BEFORE="before",n.AFTER="after",n.DATE_IS="dateIs",n.DATE_IS_NOT="dateIsNot",n.DATE_BEFORE="dateBefore",n.DATE_AFTER="dateAfter",n})(),zR=(()=>{class n{constructor(){this.clickSource=new hn,this.clickObservable=this.clickSource.asObservable()}add(e){e&&this.clickSource.next(e)}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=H({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),eh=(()=>{class n{constructor(){this.ripple=!1,this.overlayOptions={},this.filterMatchModeOptions={text:[at.STARTS_WITH,at.CONTAINS,at.NOT_CONTAINS,at.ENDS_WITH,at.EQUALS,at.NOT_EQUALS],numeric:[at.EQUALS,at.NOT_EQUALS,at.LESS_THAN,at.LESS_THAN_OR_EQUAL_TO,at.GREATER_THAN,at.GREATER_THAN_OR_EQUAL_TO],date:[at.DATE_IS,at.DATE_IS_NOT,at.DATE_BEFORE,at.DATE_AFTER]},this.translation={startsWith:"Starts with",contains:"Contains",notContains:"Not contains",endsWith:"Ends with",equals:"Equals",notEquals:"Not equals",noFilter:"No Filter",lt:"Less than",lte:"Less than or equal to",gt:"Greater than",gte:"Greater than or equal to",is:"Is",isNot:"Is not",before:"Before",after:"After",dateIs:"Date is",dateIsNot:"Date is not",dateBefore:"Date is before",dateAfter:"Date is after",clear:"Clear",apply:"Apply",matchAll:"Match All",matchAny:"Match Any",addRule:"Add Rule",removeRule:"Remove Rule",accept:"Yes",reject:"No",choose:"Choose",upload:"Upload",cancel:"Cancel",dayNames:["Sunday","Monday","Tuesday","Wednesday","Thursday","Friday","Saturday"],dayNamesShort:["Sun","Mon","Tue","Wed","Thu","Fri","Sat"],dayNamesMin:["Su","Mo","Tu","We","Th","Fr","Sa"],monthNames:["January","February","March","April","May","June","July","August","September","October","November","December"],monthNamesShort:["Jan","Feb","Mar","Apr","May","Jun","Jul","Aug","Sep","Oct","Nov","Dec"],dateFormat:"mm/dd/yy",firstDayOfWeek:0,today:"Today",weekHeader:"Wk",weak:"Weak",medium:"Medium",strong:"Strong",passwordPrompt:"Enter a password",emptyMessage:"No results found",emptyFilterMessage:"No results found"},this.zIndex={modal:1100,overlay:1e3,menu:1e3,tooltip:1100},this.translationSource=new hn,this.translationObserver=this.translationSource.asObservable()}getTranslation(e){return this.translation[e]}setTranslation(e){this.translation={...this.translation,...e},this.translationSource.next(this.translation)}}return n.\u0275fac=function(e){return new(e||n)},n.\u0275prov=H({token:n,factory:n.\u0275fac,providedIn:"root"}),n})(),WR=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=qe({type:n,selectors:[["p-header"]],ngContentSelectors:dE,decls:1,vars:0,template:function(e,i){1&e&&(li(),bn(0))},encapsulation:2}),n})(),GR=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275cmp=qe({type:n,selectors:[["p-footer"]],ngContentSelectors:dE,decls:1,vars:0,template:function(e,i){1&e&&(li(),bn(0))},encapsulation:2}),n})(),th=(()=>{class n{constructor(e){this.template=e}getType(){return this.name}}return n.\u0275fac=function(e){return new(e||n)(v(Cn))},n.\u0275dir=V({type:n,selectors:[["","pTemplate",""]],inputs:{type:"type",name:["pTemplate","name"]}}),n})(),nh=(()=>{class n{}return n.\u0275fac=function(e){return new(e||n)},n.\u0275mod=Ne({type:n}),n.\u0275inj=Ae({imports:[st]}),n})(),B=(()=>{class n{static addClass(e,i){e&&i&&(e.classList?e.classList.add(i):e.className+=" "+i)}static addMultipleClasses(e,i){if(e&&i)if(e.classList){let r=i.trim().split(" ");for(let o=0;o