bpm-core 0.0.53 → 0.0.54
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/app-component-sections/activities/activities.component.mjs +6 -3
- package/esm2022/lib/components/app-component-sections/approvals/approvals.component.mjs +3 -6
- package/esm2022/lib/components/app-component-sections/approvals-workflow/approvals-workflow.component.mjs +69 -56
- package/esm2022/lib/components/app-component-sections/faqs/faqs.component.mjs +1 -1
- package/esm2022/lib/components/app-component-sections/feedback-section/feedback-section.component.mjs +5 -6
- package/esm2022/lib/components/shared-components/form-field/add-attachment-section/add-attachment-section.component.mjs +2 -2
- package/esm2022/lib/components/shared-components/form-field/attachment-section/attachment-section.component.mjs +6 -4
- package/esm2022/lib/components/shared-components/form-field/checkbox/checkbox.component.mjs +8 -7
- package/esm2022/lib/components/shared-components/form-field/control-value-accessor.directive.mjs +21 -5
- package/esm2022/lib/components/shared-components/form-field/custom-searchable-autocomplete/custom-searchable.component.mjs +14 -18
- package/esm2022/lib/components/shared-components/form-field/date-picker/date-picker.component.mjs +15 -18
- package/esm2022/lib/components/shared-components/form-field/date-range-picker/date-range-picker.component.mjs +12 -13
- package/esm2022/lib/components/shared-components/form-field/doc-uploader/docs-uploader.component.mjs +7 -11
- package/esm2022/lib/components/shared-components/form-field/form-label/form-label.component.mjs +9 -9
- package/esm2022/lib/components/shared-components/form-field/input/input.component.mjs +19 -33
- package/esm2022/lib/components/shared-components/form-field/input-currency/input-currency.component.mjs +16 -26
- package/esm2022/lib/components/shared-components/form-field/input-email/input-email.component.mjs +16 -27
- package/esm2022/lib/components/shared-components/form-field/input-mask/input-mask.component.mjs +3 -6
- package/esm2022/lib/components/shared-components/form-field/input-number/input-number.component.mjs +16 -24
- package/esm2022/lib/components/shared-components/form-field/input-telephone/input-telephone.component.mjs +11 -12
- package/esm2022/lib/components/shared-components/form-field/radio/radio.component.mjs +9 -11
- package/esm2022/lib/components/shared-components/form-field/search-employee/search-employee.component.mjs +11 -18
- package/esm2022/lib/components/shared-components/form-field/select/select.component.mjs +2 -2
- package/esm2022/lib/components/shared-components/form-field/shared-imports.mjs +19 -1
- package/esm2022/lib/components/shared-components/form-field/textarea/textarea.component.mjs +17 -29
- package/esm2022/lib/components/shared-components/form-field/toggle-button/toggle-button.component.mjs +11 -20
- package/esm2022/lib/i18n/ar.mjs +2 -2
- package/esm2022/lib/i18n/en.mjs +2 -2
- package/esm2022/lib/services/i18n.service.mjs +2 -2
- package/esm2022/lib/testComponent/general-approver-section/general-approver-section.component.mjs +2 -2
- package/esm2022/lib/testComponent/request-details-section/request-details-section.component.mjs +300 -33
- package/fesm2022/bpm-core.mjs +753 -545
- package/fesm2022/bpm-core.mjs.map +1 -1
- package/lib/components/app-component-sections/activities/activities.component.d.ts +2 -0
- package/lib/components/app-component-sections/approvals/approvals.component.d.ts +1 -1
- package/lib/components/app-component-sections/approvals-workflow/approvals-workflow.component.d.ts +19 -5
- package/lib/components/app-component-sections/feedback-section/feedback-section.component.d.ts +1 -1
- package/lib/components/shared-components/action-buttons/action-buttons.component.d.ts +1 -1
- package/lib/components/shared-components/form-field/control-value-accessor.directive.d.ts +2 -1
- package/lib/components/shared-components/form-field/date-picker/date-picker.component.d.ts +1 -2
- package/lib/components/shared-components/form-field/doc-uploader/docs-uploader.component.d.ts +1 -3
- package/lib/components/shared-components/form-field/form-label/form-label.component.d.ts +2 -3
- package/lib/components/shared-components/form-field/input/input.component.d.ts +1 -2
- package/lib/components/shared-components/form-field/input-currency/input-currency.component.d.ts +1 -2
- package/lib/components/shared-components/form-field/input-email/input-email.component.d.ts +1 -2
- package/lib/components/shared-components/form-field/input-mask/input-mask.component.d.ts +1 -2
- package/lib/components/shared-components/form-field/input-number/input-number.component.d.ts +1 -2
- package/lib/components/shared-components/form-field/search-employee/search-employee.component.d.ts +1 -3
- package/lib/components/shared-components/form-field/shared-imports.d.ts +11 -2
- package/lib/components/shared-components/form-field/textarea/textarea.component.d.ts +0 -3
- package/lib/components/shared-components/form-field/toggle-button/toggle-button.component.d.ts +1 -3
- package/lib/i18n/ar.d.ts +1 -1
- package/lib/i18n/en.d.ts +1 -1
- package/lib/testComponent/request-details-section/request-details-section.component.d.ts +40 -0
- package/package.json +2 -2
- package/src/lib/assets/scss/_upgrade.scss +2 -0
- package/esm2022/lib/environments/environment.local.mjs +0 -27
- package/lib/environments/environment.local.d.ts +0 -26
|
@@ -1,4 +1,5 @@
|
|
|
1
|
-
import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
|
1
|
+
import { Component, CUSTOM_ELEMENTS_SCHEMA, DestroyRef, inject } from '@angular/core';
|
|
2
|
+
import { takeUntilDestroyed } from "@angular/core/rxjs-interop";
|
|
2
3
|
import * as i0 from "@angular/core";
|
|
3
4
|
import * as i1 from "../../../services";
|
|
4
5
|
export class ActivitiesComponent {
|
|
@@ -6,6 +7,7 @@ export class ActivitiesComponent {
|
|
|
6
7
|
i18n;
|
|
7
8
|
coreService;
|
|
8
9
|
parsedData;
|
|
10
|
+
destroyRef = inject(DestroyRef);
|
|
9
11
|
constructor(sidenavService, i18n, coreService) {
|
|
10
12
|
this.sidenavService = sidenavService;
|
|
11
13
|
this.i18n = i18n;
|
|
@@ -15,7 +17,7 @@ export class ActivitiesComponent {
|
|
|
15
17
|
downloadFile(event) {
|
|
16
18
|
console.log(event.detail.value);
|
|
17
19
|
const placeholder = event.target.nextElementSibling;
|
|
18
|
-
this.coreService.loadFile(event.detail.value.id).subscribe((responseObject) => {
|
|
20
|
+
this.coreService.loadFile(event.detail.value.id).pipe(takeUntilDestroyed(this.destroyRef)).subscribe((responseObject) => {
|
|
19
21
|
const fileInformation = responseObject.body;
|
|
20
22
|
const fileBlob = this.coreService.dataURItoBlob(fileInformation.fileContents);
|
|
21
23
|
const file = new File([fileBlob], fileInformation.fileName, { type: fileInformation.mimeType });
|
|
@@ -23,6 +25,7 @@ export class ActivitiesComponent {
|
|
|
23
25
|
placeholder.download = file.name;
|
|
24
26
|
placeholder.click();
|
|
25
27
|
}, error => {
|
|
28
|
+
console.error('Error loading file:', error);
|
|
26
29
|
});
|
|
27
30
|
}
|
|
28
31
|
closeSidenav() {
|
|
@@ -35,4 +38,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
35
38
|
type: Component,
|
|
36
39
|
args: [{ selector: 'app-activities', standalone: true, imports: [], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<section class=\"main-sidenav\">\r\n <div class=\"sidenav-title\">\r\n <h3>{{ i18n.translate('commentHistory') }}</h3>\r\n\r\n <ds-button (click)=\"closeSidenav()\" icon>\r\n <ds-icon icon=\"close\" class=\"fs-20 fc-black\"></ds-icon>\r\n </ds-button>\r\n\r\n </div>\r\n <div class=\"sidenav-body\">\r\n @if (coreService.activities) {\r\n <ds-activity-log activitiesData=\"{{parsedData}}\" readOnly (downloadEvent)=\"downloadFile($event)\">\r\n </ds-activity-log>\r\n } @else {\r\n <ds-message label=\"{{i18n.translate('NoData1')}}\"></ds-message>\r\n }\r\n </div>\r\n</section>\r\n" }]
|
|
37
40
|
}], ctorParameters: () => [{ type: i1.SidenavService }, { type: i1.CoreI18nService }, { type: i1.CoreService }] });
|
|
38
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
41
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aXZpdGllcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icG0tY29yZS9zcmMvbGliL2NvbXBvbmVudHMvYXBwLWNvbXBvbmVudC1zZWN0aW9ucy9hY3Rpdml0aWVzL2FjdGl2aXRpZXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvYWN0aXZpdGllcy9hY3Rpdml0aWVzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUVwRixPQUFPLEVBQUUsa0JBQWtCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQzs7O0FBV2hFLE1BQU0sT0FBTyxtQkFBbUI7SUFLWDtJQUNWO0lBQ0E7SUFOVCxVQUFVLENBQVM7SUFDbkIsVUFBVSxHQUFHLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQztJQUVoQyxZQUNtQixjQUE4QixFQUN4QyxJQUFxQixFQUNyQixXQUF3QjtRQUZkLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUN4QyxTQUFJLEdBQUosSUFBSSxDQUFpQjtRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtRQUUvQixJQUFJLENBQUMsVUFBVSxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUMvRCxDQUFDO0lBRUQsWUFBWSxDQUFDLEtBQVU7UUFDckIsT0FBTyxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsTUFBTSxDQUFDLEtBQUssQ0FBQyxDQUFBO1FBQy9CLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUM7UUFFcEQsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsRUFBRSxDQUFDLENBQUMsSUFBSSxDQUNuRCxrQkFBa0IsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQ3BDLENBQUMsU0FBUyxDQUNULENBQUMsY0FBOEIsRUFBRSxFQUFFO1lBQ2pDLE1BQU0sZUFBZSxHQUFHLGNBQWMsQ0FBQyxJQUFJLENBQUM7WUFDNUMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLFdBQVcsQ0FBQyxhQUFhLENBQUMsZUFBZSxDQUFDLFlBQVksQ0FBQyxDQUFDO1lBQzlFLE1BQU0sSUFBSSxHQUFHLElBQUksSUFBSSxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUUsZUFBZSxDQUFDLFFBQVEsRUFBRSxFQUFFLElBQUksRUFBRSxlQUFlLENBQUMsUUFBUSxFQUFFLENBQUMsQ0FBQztZQUNoRyxXQUFXLENBQUMsSUFBSSxHQUFHLEdBQUcsQ0FBQyxlQUFlLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDN0MsV0FBVyxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUMsSUFBSSxDQUFDO1lBQ2pDLFdBQVcsQ0FBQyxLQUFLLEVBQUUsQ0FBQztRQUN0QixDQUFDLEVBQ0QsS0FBSyxDQUFDLEVBQUU7WUFDTixPQUFPLENBQUMsS0FBSyxDQUFDLHFCQUFxQixFQUFFLEtBQUssQ0FBQyxDQUFDO1FBQzlDLENBQUMsQ0FDRixDQUFDO0lBRUosQ0FBQztJQUdELFlBQVk7UUFDVixJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxPQUFPLEVBQUUsSUFBSSxDQUFDLENBQUM7SUFDN0MsQ0FBQzt1R0FyQ1UsbUJBQW1COzJGQUFuQixtQkFBbUIsMEVDYmhDLGtuQkFrQkE7OzJGRExhLG1CQUFtQjtrQkFSL0IsU0FBUzsrQkFDRSxnQkFBZ0IsY0FHZCxJQUFJLFdBQ1AsRUFBRSxXQUNGLENBQUMsc0JBQXNCLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge0NvbXBvbmVudCwgQ1VTVE9NX0VMRU1FTlRTX1NDSEVNQSwgRGVzdHJveVJlZiwgaW5qZWN0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb3JlSTE4blNlcnZpY2UsIENvcmVTZXJ2aWNlLCBTaWRlbmF2U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQgeyB0YWtlVW50aWxEZXN0cm95ZWQgfSBmcm9tIFwiQGFuZ3VsYXIvY29yZS9yeGpzLWludGVyb3BcIjtcclxuXHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1hY3Rpdml0aWVzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aXZpdGllcy5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vYWN0aXZpdGllcy5jb21wb25lbnQuc2NzcyddLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW10sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY3Rpdml0aWVzQ29tcG9uZW50IHtcclxuICBwYXJzZWREYXRhOiBzdHJpbmc7XHJcbiAgZGVzdHJveVJlZiA9IGluamVjdChEZXN0cm95UmVmKTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNpZGVuYXZTZXJ2aWNlOiBTaWRlbmF2U2VydmljZSxcclxuICAgIHB1YmxpYyBpMThuOiBDb3JlSTE4blNlcnZpY2UsXHJcbiAgICBwdWJsaWMgY29yZVNlcnZpY2U6IENvcmVTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLnBhcnNlZERhdGEgPSBKU09OLnN0cmluZ2lmeSh0aGlzLmNvcmVTZXJ2aWNlLmFjdGl2aXRpZXMpXHJcbiAgfVxyXG5cclxuICBkb3dubG9hZEZpbGUoZXZlbnQ6IGFueSkge1xyXG4gICAgY29uc29sZS5sb2coZXZlbnQuZGV0YWlsLnZhbHVlKVxyXG4gICAgY29uc3QgcGxhY2Vob2xkZXIgPSBldmVudC50YXJnZXQubmV4dEVsZW1lbnRTaWJsaW5nO1xyXG5cclxuICAgIHRoaXMuY29yZVNlcnZpY2UubG9hZEZpbGUoZXZlbnQuZGV0YWlsLnZhbHVlLmlkKS5waXBlKFxyXG4gICAgICB0YWtlVW50aWxEZXN0cm95ZWQodGhpcy5kZXN0cm95UmVmKVxyXG4gICAgKS5zdWJzY3JpYmUoXHJcbiAgICAgIChyZXNwb25zZU9iamVjdDogeyBib2R5OiBhbnk7IH0pID0+IHtcclxuICAgICAgICBjb25zdCBmaWxlSW5mb3JtYXRpb24gPSByZXNwb25zZU9iamVjdC5ib2R5O1xyXG4gICAgICAgIGNvbnN0IGZpbGVCbG9iID0gdGhpcy5jb3JlU2VydmljZS5kYXRhVVJJdG9CbG9iKGZpbGVJbmZvcm1hdGlvbi5maWxlQ29udGVudHMpO1xyXG4gICAgICAgIGNvbnN0IGZpbGUgPSBuZXcgRmlsZShbZmlsZUJsb2JdLCBmaWxlSW5mb3JtYXRpb24uZmlsZU5hbWUsIHsgdHlwZTogZmlsZUluZm9ybWF0aW9uLm1pbWVUeXBlIH0pO1xyXG4gICAgICAgIHBsYWNlaG9sZGVyLmhyZWYgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGUpO1xyXG4gICAgICAgIHBsYWNlaG9sZGVyLmRvd25sb2FkID0gZmlsZS5uYW1lO1xyXG4gICAgICAgIHBsYWNlaG9sZGVyLmNsaWNrKCk7XHJcbiAgICAgIH0sXHJcbiAgICAgIGVycm9yID0+IHtcclxuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBsb2FkaW5nIGZpbGU6JywgZXJyb3IpO1xyXG4gICAgICB9XHJcbiAgICApO1xyXG5cclxuICB9XHJcblxyXG5cclxuICBjbG9zZVNpZGVuYXYoKSB7XHJcbiAgICB0aGlzLnNpZGVuYXZTZXJ2aWNlLnB1Ymxpc2goJ2Nsb3NlJywgbnVsbCk7XHJcbiAgfVxyXG59XHJcbiIsIjxzZWN0aW9uIGNsYXNzPVwibWFpbi1zaWRlbmF2XCI+XHJcbiAgPGRpdiBjbGFzcz1cInNpZGVuYXYtdGl0bGVcIj5cclxuICAgIDxoMz57eyBpMThuLnRyYW5zbGF0ZSgnY29tbWVudEhpc3RvcnknKSB9fTwvaDM+XHJcblxyXG4gICAgPGRzLWJ1dHRvbiAoY2xpY2spPVwiY2xvc2VTaWRlbmF2KClcIiBpY29uPlxyXG4gICAgICA8ZHMtaWNvbiBpY29uPVwiY2xvc2VcIiBjbGFzcz1cImZzLTIwIGZjLWJsYWNrXCI+PC9kcy1pY29uPlxyXG4gICAgPC9kcy1idXR0b24+XHJcblxyXG4gIDwvZGl2PlxyXG4gIDxkaXYgY2xhc3M9XCJzaWRlbmF2LWJvZHlcIj5cclxuICAgIEBpZiAoY29yZVNlcnZpY2UuYWN0aXZpdGllcykge1xyXG4gICAgICA8ZHMtYWN0aXZpdHktbG9nIGFjdGl2aXRpZXNEYXRhPVwie3twYXJzZWREYXRhfX1cIiByZWFkT25seSAoZG93bmxvYWRFdmVudCk9XCJkb3dubG9hZEZpbGUoJGV2ZW50KVwiPlxyXG4gICAgICA8L2RzLWFjdGl2aXR5LWxvZz5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICA8ZHMtbWVzc2FnZSBsYWJlbD1cInt7aTE4bi50cmFuc2xhdGUoJ05vRGF0YTEnKX19XCI+PC9kcy1tZXNzYWdlPlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG48L3NlY3Rpb24+XHJcbiJdfQ==
|
|
@@ -1,5 +1,4 @@
|
|
|
1
1
|
import { Component, CUSTOM_ELEMENTS_SCHEMA } from '@angular/core';
|
|
2
|
-
import { NgIf } from '@angular/common';
|
|
3
2
|
import * as i0 from "@angular/core";
|
|
4
3
|
import * as i1 from "../../../services";
|
|
5
4
|
export class ApprovalsComponent {
|
|
@@ -15,12 +14,10 @@ export class ApprovalsComponent {
|
|
|
15
14
|
this.sidenavService.publish('close', null);
|
|
16
15
|
}
|
|
17
16
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ApprovalsComponent, deps: [{ token: i1.SidenavService }, { token: i1.CoreI18nService }, { token: i1.CoreService }], target: i0.ɵɵFactoryTarget.Component });
|
|
18
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "
|
|
17
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: ApprovalsComponent, isStandalone: true, selector: "app-approvals", ngImport: i0, template: "<section class=\"main-sidenav\">\r\n <div class=\"sidenav-title\">\r\n <h3>{{ i18n.translate('approvalCycle') }}</h3>\r\n <ds-button (click)=\"closeSidenav()\" icon>\r\n <ds-icon icon=\"close\" class=\"fs-20 fc-black\"></ds-icon>\r\n </ds-button>\r\n </div>\r\n <div class=\"sidenav-body p-4\">\r\n @if (coreService.approvals) {\r\n <ds-approvals approvalsData=\"{{coreService.approvals}}\"></ds-approvals>\r\n } @else {\r\n <ds-message label=\"{{i18n.translate('NoData2')}}\"></ds-message>\r\n }\r\n </div>\r\n</section>\r\n", styles: [""] });
|
|
19
18
|
}
|
|
20
19
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ApprovalsComponent, decorators: [{
|
|
21
20
|
type: Component,
|
|
22
|
-
args: [{ selector: 'app-approvals', standalone: true, schemas: [CUSTOM_ELEMENTS_SCHEMA], imports: [
|
|
23
|
-
NgIf
|
|
24
|
-
], template: "<section class=\"main-sidenav\">\r\n\r\n <div class=\"sidenav-title\">\r\n <h3>{{ i18n.translate('approvalcycle') }}</h3>\r\n\r\n <ds-button (click)=\"closeSidenav()\" icon>\r\n <ds-icon icon=\"close\" class=\"fs-20 fc-black\"></ds-icon>\r\n </ds-button>\r\n\r\n </div>\r\n <div class=\"sidenav-body p-4\">\r\n <ds-approvals *ngIf=\"coreService.approvals\" approvalsData=\"{{coreService.approvals}}\"></ds-approvals>\r\n <ds-message *ngIf=\"!coreService.approvals\" label=\"{{i18n.translate('NoData2')}}\"></ds-message>\r\n </div>\r\n</section>\r\n" }]
|
|
21
|
+
args: [{ selector: 'app-approvals', standalone: true, schemas: [CUSTOM_ELEMENTS_SCHEMA], imports: [], template: "<section class=\"main-sidenav\">\r\n <div class=\"sidenav-title\">\r\n <h3>{{ i18n.translate('approvalCycle') }}</h3>\r\n <ds-button (click)=\"closeSidenav()\" icon>\r\n <ds-icon icon=\"close\" class=\"fs-20 fc-black\"></ds-icon>\r\n </ds-button>\r\n </div>\r\n <div class=\"sidenav-body p-4\">\r\n @if (coreService.approvals) {\r\n <ds-approvals approvalsData=\"{{coreService.approvals}}\"></ds-approvals>\r\n } @else {\r\n <ds-message label=\"{{i18n.translate('NoData2')}}\"></ds-message>\r\n }\r\n </div>\r\n</section>\r\n" }]
|
|
25
22
|
}], ctorParameters: () => [{ type: i1.SidenavService }, { type: i1.CoreI18nService }, { type: i1.CoreService }] });
|
|
26
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
23
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwcm92YWxzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9hcHAtY29tcG9uZW50LXNlY3Rpb25zL2FwcHJvdmFscy9hcHByb3ZhbHMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvYXBwcm92YWxzL2FwcHJvdmFscy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLHNCQUFzQixFQUFDLE1BQU0sZUFBZSxDQUFDOzs7QUFXaEUsTUFBTSxPQUFPLGtCQUFrQjtJQUVBO0lBQ1Y7SUFDQTtJQUZuQixZQUE2QixjQUE4QixFQUN4QyxJQUFxQixFQUNyQixXQUF3QjtRQUZkLG1CQUFjLEdBQWQsY0FBYyxDQUFnQjtRQUN4QyxTQUFJLEdBQUosSUFBSSxDQUFpQjtRQUNyQixnQkFBVyxHQUFYLFdBQVcsQ0FBYTtJQUN2QyxDQUFDO0lBSUwsWUFBWTtRQUNWLElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLE9BQU8sRUFBRSxJQUFJLENBQUMsQ0FBQztJQUM3QyxDQUFDO3VHQVhVLGtCQUFrQjsyRkFBbEIsa0JBQWtCLHlFQ1gvQixvakJBZUE7OzJGREphLGtCQUFrQjtrQkFSOUIsU0FBUzsrQkFDRSxlQUFlLGNBR2IsSUFBSSxXQUNQLENBQUMsc0JBQXNCLENBQUMsV0FDeEIsRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHtDb3JlSTE4blNlcnZpY2UsIENvcmVTZXJ2aWNlLCBTaWRlbmF2U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtYXBwcm92YWxzJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYXBwcm92YWxzLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9hcHByb3ZhbHMuY29tcG9uZW50LnNjc3MnXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXSxcclxuICBpbXBvcnRzOiBbXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBwcm92YWxzQ29tcG9uZW50ICB7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcmVhZG9ubHkgc2lkZW5hdlNlcnZpY2U6IFNpZGVuYXZTZXJ2aWNlLFxyXG4gICAgICAgICAgICAgIHB1YmxpYyBpMThuOiBDb3JlSTE4blNlcnZpY2UsXHJcbiAgICAgICAgICAgICAgcHVibGljIGNvcmVTZXJ2aWNlOiBDb3JlU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG5cclxuXHJcbiAgY2xvc2VTaWRlbmF2KCkge1xyXG4gICAgdGhpcy5zaWRlbmF2U2VydmljZS5wdWJsaXNoKCdjbG9zZScsIG51bGwpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPHNlY3Rpb24gY2xhc3M9XCJtYWluLXNpZGVuYXZcIj5cclxuICA8ZGl2IGNsYXNzPVwic2lkZW5hdi10aXRsZVwiPlxyXG4gICAgPGgzPnt7IGkxOG4udHJhbnNsYXRlKCdhcHByb3ZhbEN5Y2xlJykgfX08L2gzPlxyXG4gICAgPGRzLWJ1dHRvbiAoY2xpY2spPVwiY2xvc2VTaWRlbmF2KClcIiBpY29uPlxyXG4gICAgICA8ZHMtaWNvbiBpY29uPVwiY2xvc2VcIiBjbGFzcz1cImZzLTIwIGZjLWJsYWNrXCI+PC9kcy1pY29uPlxyXG4gICAgPC9kcy1idXR0b24+XHJcbiAgPC9kaXY+XHJcbiAgPGRpdiBjbGFzcz1cInNpZGVuYXYtYm9keSBwLTRcIj5cclxuICAgIEBpZiAoY29yZVNlcnZpY2UuYXBwcm92YWxzKSB7XHJcbiAgICAgIDxkcy1hcHByb3ZhbHMgYXBwcm92YWxzRGF0YT1cInt7Y29yZVNlcnZpY2UuYXBwcm92YWxzfX1cIj48L2RzLWFwcHJvdmFscz5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICA8ZHMtbWVzc2FnZSBsYWJlbD1cInt7aTE4bi50cmFuc2xhdGUoJ05vRGF0YTInKX19XCI+PC9kcy1tZXNzYWdlPlxyXG4gICAgfVxyXG4gIDwvZGl2PlxyXG48L3NlY3Rpb24+XHJcbiJdfQ==
|
|
@@ -2,10 +2,21 @@ import { Component, CUSTOM_ELEMENTS_SCHEMA, Input } from '@angular/core';
|
|
|
2
2
|
import * as Constants from '../../../constants/constants';
|
|
3
3
|
import { ApprovalsComponent } from '../approvals/approvals.component';
|
|
4
4
|
import { SatPopoverModule } from "@ncstate/sat-popover";
|
|
5
|
-
import { NgIf } from "@angular/common";
|
|
6
5
|
import * as i0 from "@angular/core";
|
|
7
6
|
import * as i1 from "../../../services";
|
|
8
7
|
import * as i2 from "ngx-toastr";
|
|
8
|
+
const dangerStatusValues = [
|
|
9
|
+
Constants.FORM_STATUS_REJECTED,
|
|
10
|
+
Constants.FORM_STATUS_CANCELLED,
|
|
11
|
+
'deny',
|
|
12
|
+
'reject',
|
|
13
|
+
'unsatisfied',
|
|
14
|
+
'cancel'
|
|
15
|
+
];
|
|
16
|
+
const warningStatusValues = [
|
|
17
|
+
Constants.FORM_STATUS_PENDING,
|
|
18
|
+
'pending'
|
|
19
|
+
];
|
|
9
20
|
export class ApprovalsWorkflowComponent {
|
|
10
21
|
i18n;
|
|
11
22
|
sidenavService;
|
|
@@ -21,78 +32,80 @@ export class ApprovalsWorkflowComponent {
|
|
|
21
32
|
this.coreService = coreService;
|
|
22
33
|
this.toasterService = toasterService;
|
|
23
34
|
}
|
|
24
|
-
|
|
25
|
-
if (
|
|
26
|
-
|
|
27
|
-
this.loading = true;
|
|
28
|
-
this.coreService.perspectiveApproves(this.section.body.details).subscribe((response) => {
|
|
29
|
-
this.loading = false;
|
|
30
|
-
if (response) {
|
|
31
|
-
const resultData = [];
|
|
32
|
-
for (let index = 0; index < response['approvals'].length; index++) {
|
|
33
|
-
const element = response['approvals'][index];
|
|
34
|
-
const stageDetails = this.form.sections.find((stage) => {
|
|
35
|
-
return stage.id == ((element?.role)?.toLowerCase() + 'Approval');
|
|
36
|
-
});
|
|
37
|
-
const obj = {
|
|
38
|
-
id: 1,
|
|
39
|
-
name: element.value,
|
|
40
|
-
// title: element.role ? this.i18n.translate((element?.role).toLowerCase() + 'Role') : '',
|
|
41
|
-
title: element.key,
|
|
42
|
-
image: '/group/i-gate/wm-bpm/forms/-/proxy/portrait?email=' + element.key,
|
|
43
|
-
status: stageDetails ? this.statusClass(stageDetails.header.status) : '',
|
|
44
|
-
statusLabel: stageDetails ? this.statusClass(stageDetails.header.status) : ''
|
|
45
|
-
// status: '',
|
|
46
|
-
// statusLabel: ''
|
|
47
|
-
};
|
|
48
|
-
resultData.push(obj);
|
|
49
|
-
}
|
|
50
|
-
this.approvals = resultData;
|
|
51
|
-
this.showProspectiveApprovals();
|
|
52
|
-
}
|
|
53
|
-
}, (err) => {
|
|
54
|
-
this.loading = false;
|
|
55
|
-
err?.error?.meta?.messages?.forEach((msg) => {
|
|
56
|
-
this.toasterService.error(msg.message);
|
|
57
|
-
});
|
|
58
|
-
});
|
|
35
|
+
getApprovals() {
|
|
36
|
+
if (this.isLoading()) {
|
|
37
|
+
return;
|
|
59
38
|
}
|
|
39
|
+
this.initializeApprovals();
|
|
40
|
+
this.coreService.perspectiveApproves(this.section.body.details).subscribe(response => this.handleResponse(response), err => this.handleError(err));
|
|
60
41
|
}
|
|
61
|
-
|
|
62
|
-
|
|
42
|
+
isLoading() {
|
|
43
|
+
return this.loading;
|
|
44
|
+
}
|
|
45
|
+
initializeApprovals() {
|
|
46
|
+
this.approvals = [];
|
|
47
|
+
this.loading = true;
|
|
48
|
+
}
|
|
49
|
+
handleResponse(response) {
|
|
50
|
+
this.loading = false;
|
|
51
|
+
if (response?.approvals) {
|
|
52
|
+
this.approvals = response.approvals.map(approval => this.createApprovalObject(approval));
|
|
53
|
+
this.showProspectiveApprovals();
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
createApprovalObject(approval) {
|
|
57
|
+
const stageDetails = this.getStageDetails(approval);
|
|
58
|
+
const status = stageDetails ? this.getClassBasedOnStatus(stageDetails.header.status) : '';
|
|
59
|
+
return {
|
|
60
|
+
id: 1,
|
|
61
|
+
name: approval.value,
|
|
62
|
+
title: approval.key,
|
|
63
|
+
image: `/group/i-gate/wm-bpm/forms/-/proxy/portrait?email=${approval.key}`,
|
|
64
|
+
status,
|
|
65
|
+
statusLabel: status
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
getStageDetails(approval) {
|
|
69
|
+
return this.form.sections.find(stage => stage.id === `${(approval?.role)?.toLowerCase()}Approval`);
|
|
70
|
+
}
|
|
71
|
+
handleError(err) {
|
|
72
|
+
this.loading = false;
|
|
73
|
+
err?.error?.meta?.messages?.forEach(msg => {
|
|
74
|
+
this.toasterService.error(msg.message);
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
transformStatus(status) {
|
|
78
|
+
return status?.toLowerCase() || '';
|
|
79
|
+
}
|
|
80
|
+
getClassBasedOnStatus(status) {
|
|
81
|
+
const lowerStatus = this.transformStatus(status);
|
|
82
|
+
if (!status ||
|
|
83
|
+
warningStatusValues.includes(lowerStatus)) {
|
|
63
84
|
return 'success';
|
|
64
85
|
}
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
return 'danger';
|
|
71
|
-
}
|
|
72
|
-
else if (status === Constants.FORM_STATUS_PENDING || status?.toLowerCase() === 'pending') {
|
|
73
|
-
return 'warning';
|
|
74
|
-
}
|
|
75
|
-
else {
|
|
76
|
-
return 'success';
|
|
77
|
-
}
|
|
86
|
+
if (dangerStatusValues.find(value => lowerStatus.includes(value))) {
|
|
87
|
+
return 'danger';
|
|
88
|
+
}
|
|
89
|
+
if (warningStatusValues.find(value => lowerStatus.includes(value))) {
|
|
90
|
+
return 'warning';
|
|
78
91
|
}
|
|
92
|
+
return 'success';
|
|
79
93
|
}
|
|
80
94
|
showProspectiveApprovals() {
|
|
81
95
|
this.coreService.approvals = JSON.stringify(this.approvals);
|
|
82
96
|
this.sidenavService.publish('open', ApprovalsComponent);
|
|
83
97
|
}
|
|
84
98
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ApprovalsWorkflowComponent, deps: [{ token: i1.CoreI18nService }, { token: i1.SidenavService }, { token: i1.CoreService }, { token: i2.ToastrService }], target: i0.ɵɵFactoryTarget.Component });
|
|
85
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: ApprovalsWorkflowComponent, isStandalone: true, selector: "lib-approvals-workflow", inputs: { section: "section", form: "form" }, ngImport: i0, template: "<ds-button\r\n color=\"white\" shape=\"text\" square size=\"small\"\r\n (click)=\"
|
|
99
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "17.0.0", version: "18.2.8", type: ApprovalsWorkflowComponent, isStandalone: true, selector: "lib-approvals-workflow", inputs: { section: "section", form: "form" }, ngImport: i0, template: "<ds-button\r\n color=\"white\" shape=\"text\" square size=\"small\"\r\n (click)=\"getApprovals()\">\r\n <slot name=\"prefix\">\r\n @if (loading) {\r\n <ds-icon class=\"sfi sfi-spinner d-inline-block spin fc-coral fs-30-imp\"></ds-icon>\r\n } @else {\r\n <ds-icon icon=\"workflow\" class=\"fs-24\"></ds-icon>\r\n }\r\n </slot>\r\n</ds-button>\r\n", styles: ["::ng-deep .sat-popover-container.sat-popover-before .default-popover:before{display:none}\n"], dependencies: [{ kind: "ngmodule", type: SatPopoverModule }] });
|
|
86
100
|
}
|
|
87
101
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: ApprovalsWorkflowComponent, decorators: [{
|
|
88
102
|
type: Component,
|
|
89
103
|
args: [{ selector: 'lib-approvals-workflow', standalone: true, imports: [
|
|
90
|
-
SatPopoverModule
|
|
91
|
-
|
|
92
|
-
], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<ds-button\r\n color=\"white\" shape=\"text\" square size=\"small\"\r\n (click)=\"getApproves()\">\r\n <slot name=\"prefix\">\r\n @if (loading) {\r\n <ds-icon class=\"sfi sfi-spinner d-inline-block spin fc-coral fs-30-imp\"></ds-icon>\r\n } @else {\r\n <ds-icon icon=\"workflow\" class=\"fs-24\"></ds-icon>\r\n }\r\n </slot>\r\n</ds-button>\r\n", styles: ["::ng-deep .sat-popover-container.sat-popover-before .default-popover:before{display:none}\n"] }]
|
|
104
|
+
SatPopoverModule
|
|
105
|
+
], schemas: [CUSTOM_ELEMENTS_SCHEMA], template: "<ds-button\r\n color=\"white\" shape=\"text\" square size=\"small\"\r\n (click)=\"getApprovals()\">\r\n <slot name=\"prefix\">\r\n @if (loading) {\r\n <ds-icon class=\"sfi sfi-spinner d-inline-block spin fc-coral fs-30-imp\"></ds-icon>\r\n } @else {\r\n <ds-icon icon=\"workflow\" class=\"fs-24\"></ds-icon>\r\n }\r\n </slot>\r\n</ds-button>\r\n", styles: ["::ng-deep .sat-popover-container.sat-popover-before .default-popover:before{display:none}\n"] }]
|
|
93
106
|
}], ctorParameters: () => [{ type: i1.CoreI18nService }, { type: i1.SidenavService }, { type: i1.CoreService }, { type: i2.ToastrService }], propDecorators: { section: [{
|
|
94
107
|
type: Input
|
|
95
108
|
}], form: [{
|
|
96
109
|
type: Input
|
|
97
110
|
}] } });
|
|
98
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwcm92YWxzLXdvcmtmbG93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9hcHAtY29tcG9uZW50LXNlY3Rpb25zL2FwcHJvdmFscy13b3JrZmxvdy9hcHByb3ZhbHMtd29ya2Zsb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvYXBwcm92YWxzLXdvcmtmbG93L2FwcHJvdmFscy13b3JrZmxvdy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLHNCQUFzQixFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEtBQUssU0FBUyxNQUFNLDhCQUE4QixDQUFDO0FBRzFELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBRXBFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDO0FBQ3RELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQWFyQyxNQUFNLE9BQU8sMEJBQTBCO0lBTzVCO0lBQ0M7SUFDQTtJQUNBO0lBVEQsT0FBTyxDQUFVO0lBQ2pCLElBQUksQ0FBTztJQUNwQixTQUFTLEdBQWMsRUFBRSxDQUFDO0lBQzFCLE9BQU8sR0FBRyxLQUFLLENBQUM7SUFFaEIsWUFDUyxJQUFxQixFQUNwQixjQUE4QixFQUM5QixXQUF3QixFQUN4QixjQUE2QjtRQUg5QixTQUFJLEdBQUosSUFBSSxDQUFpQjtRQUNwQixtQkFBYyxHQUFkLGNBQWMsQ0FBZ0I7UUFDOUIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsbUJBQWMsR0FBZCxjQUFjLENBQWU7SUFDbkMsQ0FBQztJQUVMLFdBQVc7UUFDVCxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxDQUFDO1lBQ2xCLElBQUksQ0FBQyxTQUFTLEdBQUcsRUFBRSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxPQUFPLEdBQUcsSUFBSSxDQUFDO1lBQ3BCLElBQUksQ0FBQyxXQUFXLENBQUMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsT0FBTyxDQUFDLENBQUMsU0FBUyxDQUN2RSxDQUFDLFFBQWEsRUFBRSxFQUFFO2dCQUNoQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQztnQkFDckIsSUFBSSxRQUFRLEVBQUUsQ0FBQztvQkFDYixNQUFNLFVBQVUsR0FBRyxFQUFFLENBQUM7b0JBQ3RCLEtBQUssSUFBSSxLQUFLLEdBQUcsQ0FBQyxFQUFFLEtBQUssR0FBRyxRQUFRLENBQUMsV0FBVyxDQUFDLENBQUMsTUFBTSxFQUFFLEtBQUssRUFBRSxFQUFFLENBQUM7d0JBQ2xFLE1BQU0sT0FBTyxHQUFHLFFBQVEsQ0FBQyxXQUFXLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQzt3QkFDN0MsTUFBTSxZQUFZLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLENBQUMsS0FBSyxFQUFFLEVBQUU7NEJBQ3JELE9BQU8sS0FBSyxDQUFDLEVBQUUsSUFBSSxDQUFDLENBQUMsT0FBTyxFQUFFLElBQUksQ0FBQyxFQUFFLFdBQVcsRUFBRSxHQUFHLFVBQVUsQ0FBQyxDQUFDO3dCQUNuRSxDQUFDLENBQUMsQ0FBQzt3QkFDSCxNQUFNLEdBQUcsR0FBRzs0QkFDVixFQUFFLEVBQUUsQ0FBQzs0QkFDTCxJQUFJLEVBQUUsT0FBTyxDQUFDLEtBQUs7NEJBQ25CLDBGQUEwRjs0QkFDMUYsS0FBSyxFQUFFLE9BQU8sQ0FBQyxHQUFHOzRCQUNsQixLQUFLLEVBQUUsb0RBQW9ELEdBQUcsT0FBTyxDQUFDLEdBQUc7NEJBQ3pFLE1BQU0sRUFBRSxZQUFZLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsWUFBWSxDQUFDLE1BQU0sQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRTs0QkFDeEUsV0FBVyxFQUFFLFlBQVksQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxZQUFZLENBQUMsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFOzRCQUM3RSxjQUFjOzRCQUNkLGtCQUFrQjt5QkFDbkIsQ0FBQzt3QkFDRixVQUFVLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDO29CQUN2QixDQUFDO29CQUNELElBQUksQ0FBQyxTQUFTLEdBQUcsVUFBVSxDQUFDO29CQUM1QixJQUFJLENBQUMsd0JBQXdCLEVBQUUsQ0FBQztnQkFDbEMsQ0FBQztZQUNILENBQUMsRUFDRCxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNYLElBQUksQ0FBQyxPQUFPLEdBQUcsS0FBSyxDQUFDO2dCQUNyQixHQUFHLEVBQUUsS0FBSyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsT0FBTyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7b0JBQzFDLElBQUksQ0FBQyxjQUFjLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFDekMsQ0FBQyxDQUFDLENBQUM7WUFDTCxDQUFDLENBQ0YsQ0FBQztRQUNKLENBQUM7SUFDSCxDQUFDO0lBRUQsV0FBVyxDQUFDLE1BQWM7UUFDeEIsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1lBQ1osT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQzthQUFNLENBQUM7WUFDTixJQUNFLE1BQU0sS0FBSyxTQUFTLENBQUMsb0JBQW9CLElBQUksTUFBTSxLQUFLLFNBQVMsQ0FBQyxxQkFBcUI7bUJBQ3BGLE1BQU0sRUFBRSxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDO21CQUN0QyxNQUFNLEVBQUUsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQzttQkFDeEMsTUFBTSxFQUFFLFdBQVcsRUFBRSxLQUFLLFFBQVEsSUFBSSxNQUFNLEVBQUUsV0FBVyxFQUFFLEtBQUssYUFBYSxJQUFJLE1BQU0sRUFBRSxXQUFXLEVBQUUsS0FBSyxRQUFRLEVBQ3RILENBQUM7Z0JBQ0QsT0FBTyxRQUFRLENBQUM7WUFDbEIsQ0FBQztpQkFBTSxJQUFJLE1BQU0sS0FBSyxTQUFTLENBQUMsbUJBQW1CLElBQUksTUFBTSxFQUFFLFdBQVcsRUFBRSxLQUFLLFNBQVMsRUFBRSxDQUFDO2dCQUMzRixPQUFPLFNBQVMsQ0FBQztZQUNuQixDQUFDO2lCQUFNLENBQUM7Z0JBQ04sT0FBTyxTQUFTLENBQUM7WUFDbkIsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsd0JBQXdCO1FBQ3RCLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxHQUFHLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDO1FBQzVELElBQUksQ0FBQyxjQUFjLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxrQkFBa0IsQ0FBQyxDQUFDO0lBQzFELENBQUM7dUdBNUVVLDBCQUEwQjsyRkFBMUIsMEJBQTBCLGdJQ3BCdkMsaVhBV0Esb0pESUksZ0JBQWdCOzsyRkFLUCwwQkFBMEI7a0JBWHRDLFNBQVM7K0JBQ0Usd0JBQXdCLGNBR3RCLElBQUksV0FDUDt3QkFDUCxnQkFBZ0I7d0JBQ2hCLElBQUk7cUJBQ0wsV0FDUSxDQUFDLHNCQUFzQixDQUFDO3VLQUd4QixPQUFPO3NCQUFmLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtDb21wb25lbnQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIElucHV0fSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0ICogYXMgQ29uc3RhbnRzIGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9jb25zdGFudHMnO1xyXG5pbXBvcnQge0NvcmVJMThuU2VydmljZSwgQ29yZVNlcnZpY2UsIFNpZGVuYXZTZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7Rm9ybSwgU2VjdGlvbn0gZnJvbSAnLi4vLi4vLi4vaW50ZXJmYWNlcyc7XHJcbmltcG9ydCB7QXBwcm92YWxzQ29tcG9uZW50fSBmcm9tICcuLi9hcHByb3ZhbHMvYXBwcm92YWxzLmNvbXBvbmVudCc7XHJcbmltcG9ydCB7VG9hc3RyU2VydmljZX0gZnJvbSBcIm5neC10b2FzdHJcIjtcclxuaW1wb3J0IHtTYXRQb3BvdmVyTW9kdWxlfSBmcm9tIFwiQG5jc3RhdGUvc2F0LXBvcG92ZXJcIjtcclxuaW1wb3J0IHtOZ0lmfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uXCI7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1hcHByb3ZhbHMtd29ya2Zsb3cnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hcHByb3ZhbHMtd29ya2Zsb3cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2FwcHJvdmFscy13b3JrZmxvdy5jb21wb25lbnQuc2NzcyddLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgU2F0UG9wb3Zlck1vZHVsZSxcclxuICAgIE5nSWZcclxuICBdLFxyXG4gIHNjaGVtYXM6IFtDVVNUT01fRUxFTUVOVFNfU0NIRU1BXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgQXBwcm92YWxzV29ya2Zsb3dDb21wb25lbnQge1xyXG4gIEBJbnB1dCgpIHNlY3Rpb246IFNlY3Rpb247XHJcbiAgQElucHV0KCkgZm9ybTogRm9ybTtcclxuICBhcHByb3ZhbHM6IHVua25vd25bXSA9IFtdO1xyXG4gIGxvYWRpbmcgPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgaTE4bjogQ29yZUkxOG5TZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBzaWRlbmF2U2VydmljZTogU2lkZW5hdlNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNvcmVTZXJ2aWNlOiBDb3JlU2VydmljZSxcclxuICAgIHByaXZhdGUgdG9hc3RlclNlcnZpY2U6IFRvYXN0clNlcnZpY2VcclxuICApIHsgfVxyXG5cclxuICBnZXRBcHByb3ZlcygpIHtcclxuICAgIGlmICghdGhpcy5sb2FkaW5nKSB7XHJcbiAgICAgIHRoaXMuYXBwcm92YWxzID0gW107XHJcbiAgICAgIHRoaXMubG9hZGluZyA9IHRydWU7XHJcbiAgICAgIHRoaXMuY29yZVNlcnZpY2UucGVyc3BlY3RpdmVBcHByb3Zlcyh0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzKS5zdWJzY3JpYmUoXHJcbiAgICAgICAgKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgaWYgKHJlc3BvbnNlKSB7XHJcbiAgICAgICAgICAgIGNvbnN0IHJlc3VsdERhdGEgPSBbXTtcclxuICAgICAgICAgICAgZm9yIChsZXQgaW5kZXggPSAwOyBpbmRleCA8IHJlc3BvbnNlWydhcHByb3ZhbHMnXS5sZW5ndGg7IGluZGV4KyspIHtcclxuICAgICAgICAgICAgICBjb25zdCBlbGVtZW50ID0gcmVzcG9uc2VbJ2FwcHJvdmFscyddW2luZGV4XTtcclxuICAgICAgICAgICAgICBjb25zdCBzdGFnZURldGFpbHMgPSB0aGlzLmZvcm0uc2VjdGlvbnMuZmluZCgoc3RhZ2UpID0+IHtcclxuICAgICAgICAgICAgICAgIHJldHVybiBzdGFnZS5pZCA9PSAoKGVsZW1lbnQ/LnJvbGUpPy50b0xvd2VyQ2FzZSgpICsgJ0FwcHJvdmFsJyk7XHJcbiAgICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgICAgY29uc3Qgb2JqID0ge1xyXG4gICAgICAgICAgICAgICAgaWQ6IDEsXHJcbiAgICAgICAgICAgICAgICBuYW1lOiBlbGVtZW50LnZhbHVlLFxyXG4gICAgICAgICAgICAgICAgLy8gdGl0bGU6IGVsZW1lbnQucm9sZSA/IHRoaXMuaTE4bi50cmFuc2xhdGUoKGVsZW1lbnQ/LnJvbGUpLnRvTG93ZXJDYXNlKCkgKyAnUm9sZScpIDogJycsXHJcbiAgICAgICAgICAgICAgICB0aXRsZTogZWxlbWVudC5rZXksXHJcbiAgICAgICAgICAgICAgICBpbWFnZTogJy9ncm91cC9pLWdhdGUvd20tYnBtL2Zvcm1zLy0vcHJveHkvcG9ydHJhaXQ/ZW1haWw9JyArIGVsZW1lbnQua2V5LFxyXG4gICAgICAgICAgICAgICAgc3RhdHVzOiBzdGFnZURldGFpbHMgPyB0aGlzLnN0YXR1c0NsYXNzKHN0YWdlRGV0YWlscy5oZWFkZXIuc3RhdHVzKSA6ICcnLFxyXG4gICAgICAgICAgICAgICAgc3RhdHVzTGFiZWw6IHN0YWdlRGV0YWlscyA/IHRoaXMuc3RhdHVzQ2xhc3Moc3RhZ2VEZXRhaWxzLmhlYWRlci5zdGF0dXMpIDogJydcclxuICAgICAgICAgICAgICAgIC8vIHN0YXR1czogJycsXHJcbiAgICAgICAgICAgICAgICAvLyBzdGF0dXNMYWJlbDogJydcclxuICAgICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICAgIHJlc3VsdERhdGEucHVzaChvYmopO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICAgIHRoaXMuYXBwcm92YWxzID0gcmVzdWx0RGF0YTtcclxuICAgICAgICAgICAgdGhpcy5zaG93UHJvc3BlY3RpdmVBcHByb3ZhbHMoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIChlcnI6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICBlcnI/LmVycm9yPy5tZXRhPy5tZXNzYWdlcz8uZm9yRWFjaCgobXNnKSA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMudG9hc3RlclNlcnZpY2UuZXJyb3IobXNnLm1lc3NhZ2UpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgfVxyXG4gICAgICApO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdHVzQ2xhc3Moc3RhdHVzOiBzdHJpbmcpIHtcclxuICAgIGlmICghc3RhdHVzKSB7XHJcbiAgICAgIHJldHVybiAnc3VjY2Vzcyc7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICBpZiAoXHJcbiAgICAgICAgc3RhdHVzID09PSBDb25zdGFudHMuRk9STV9TVEFUVVNfUkVKRUNURUQgfHwgc3RhdHVzID09PSBDb25zdGFudHMuRk9STV9TVEFUVVNfQ0FOQ0VMTEVEXHJcbiAgICAgICAgfHwgc3RhdHVzPy50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKCdkZW55JylcclxuICAgICAgICB8fCBzdGF0dXM/LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoJ3JlamVjdCcpXHJcbiAgICAgICAgfHwgc3RhdHVzPy50b0xvd2VyQ2FzZSgpID09PSAncmVqZWN0JyB8fCBzdGF0dXM/LnRvTG93ZXJDYXNlKCkgPT09ICd1bnNhdGlzZmllZCcgfHwgc3RhdHVzPy50b0xvd2VyQ2FzZSgpID09PSAnY2FuY2VsJ1xyXG4gICAgICApIHtcclxuICAgICAgICByZXR1cm4gJ2Rhbmdlcic7XHJcbiAgICAgIH0gZWxzZSBpZiAoc3RhdHVzID09PSBDb25zdGFudHMuRk9STV9TVEFUVVNfUEVORElORyB8fCBzdGF0dXM/LnRvTG93ZXJDYXNlKCkgPT09ICdwZW5kaW5nJykge1xyXG4gICAgICAgIHJldHVybiAnd2FybmluZyc7XHJcbiAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgcmV0dXJuICdzdWNjZXNzJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2hvd1Byb3NwZWN0aXZlQXBwcm92YWxzKCkge1xyXG4gICAgdGhpcy5jb3JlU2VydmljZS5hcHByb3ZhbHMgPSBKU09OLnN0cmluZ2lmeSh0aGlzLmFwcHJvdmFscyk7XHJcbiAgICB0aGlzLnNpZGVuYXZTZXJ2aWNlLnB1Ymxpc2goJ29wZW4nLCBBcHByb3ZhbHNDb21wb25lbnQpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRzLWJ1dHRvblxyXG4gIGNvbG9yPVwid2hpdGVcIiBzaGFwZT1cInRleHRcIiBzcXVhcmUgc2l6ZT1cInNtYWxsXCJcclxuICAoY2xpY2spPVwiZ2V0QXBwcm92ZXMoKVwiPlxyXG4gIDxzbG90IG5hbWU9XCJwcmVmaXhcIj5cclxuICAgIEBpZiAobG9hZGluZykge1xyXG4gICAgICA8ZHMtaWNvbiBjbGFzcz1cInNmaSBzZmktc3Bpbm5lciBkLWlubGluZS1ibG9jayBzcGluIGZjLWNvcmFsIGZzLTMwLWltcFwiPjwvZHMtaWNvbj5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICA8ZHMtaWNvbiBpY29uPVwid29ya2Zsb3dcIiBjbGFzcz1cImZzLTI0XCI+PC9kcy1pY29uPlxyXG4gICAgfVxyXG4gIDwvc2xvdD5cclxuPC9kcy1idXR0b24+XHJcbiJdfQ==
|
|
111
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwcm92YWxzLXdvcmtmbG93LmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2JwbS1jb3JlL3NyYy9saWIvY29tcG9uZW50cy9hcHAtY29tcG9uZW50LXNlY3Rpb25zL2FwcHJvdmFscy13b3JrZmxvdy9hcHByb3ZhbHMtd29ya2Zsb3cuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvYXBwcm92YWxzLXdvcmtmbG93L2FwcHJvdmFscy13b3JrZmxvdy5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUMsU0FBUyxFQUFFLHNCQUFzQixFQUFFLEtBQUssRUFBQyxNQUFNLGVBQWUsQ0FBQztBQUN2RSxPQUFPLEtBQUssU0FBUyxNQUFNLDhCQUE4QixDQUFDO0FBRzFELE9BQU8sRUFBQyxrQkFBa0IsRUFBQyxNQUFNLGtDQUFrQyxDQUFDO0FBRXBFLE9BQU8sRUFBQyxnQkFBZ0IsRUFBQyxNQUFNLHNCQUFzQixDQUFDOzs7O0FBRXRELE1BQU0sa0JBQWtCLEdBQUc7SUFDekIsU0FBUyxDQUFDLG9CQUFvQjtJQUM5QixTQUFTLENBQUMscUJBQXFCO0lBQy9CLE1BQU07SUFDTixRQUFRO0lBQ1IsYUFBYTtJQUNiLFFBQVE7Q0FDVCxDQUFDO0FBRUYsTUFBTSxtQkFBbUIsR0FBRztJQUMxQixTQUFTLENBQUMsbUJBQW1CO0lBQzdCLFNBQVM7Q0FDVixDQUFDO0FBWUYsTUFBTSxPQUFPLDBCQUEwQjtJQU81QjtJQUNVO0lBQ0E7SUFDQTtJQVRWLE9BQU8sQ0FBVTtJQUNqQixJQUFJLENBQU87SUFDcEIsU0FBUyxHQUFjLEVBQUUsQ0FBQztJQUMxQixPQUFPLEdBQUcsS0FBSyxDQUFDO0lBRWhCLFlBQ1MsSUFBcUIsRUFD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ZUFBZSxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBRWpELElBQUksQ0FBQyxNQUFNO1lBQ1QsbUJBQW1CLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFLENBQUM7WUFDNUMsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELElBQUksa0JBQWtCLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDbEUsT0FBTyxRQUFRLENBQUM7UUFDbEIsQ0FBQztRQUVELElBQUksbUJBQW1CLENBQUMsSUFBSSxDQUFDLEtBQUssQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7WUFDbkUsT0FBTyxTQUFTLENBQUM7UUFDbkIsQ0FBQztRQUVELE9BQU8sU0FBUyxDQUFDO0lBQ25CLENBQUM7SUFFRCx3QkFBd0I7UUFDdEIsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7UUFDNUQsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLENBQUMsTUFBTSxFQUFFLGtCQUFrQixDQUFDLENBQUM7SUFDMUQsQ0FBQzt1R0E5RlUsMEJBQTBCOzJGQUExQiwwQkFBMEIsZ0lDaEN2QyxrWEFXQSxvSkRpQkksZ0JBQWdCOzsyRkFJUCwwQkFBMEI7a0JBVnRDLFNBQVM7K0JBQ0Usd0JBQXdCLGNBR3RCLElBQUksV0FDUDt3QkFDUCxnQkFBZ0I7cUJBQ2pCLFdBQ1EsQ0FBQyxzQkFBc0IsQ0FBQzt1S0FHeEIsT0FBTztzQkFBZixLQUFLO2dCQUNHLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7Q29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBJbnB1dH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCAqIGFzIENvbnN0YW50cyBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvY29uc3RhbnRzJztcclxuaW1wb3J0IHtDb3JlSTE4blNlcnZpY2UsIENvcmVTZXJ2aWNlLCBTaWRlbmF2U2VydmljZX0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMnO1xyXG5pbXBvcnQge0Zvcm0sIFNlY3Rpb259IGZyb20gJy4uLy4uLy4uL2ludGVyZmFjZXMnO1xyXG5pbXBvcnQge0FwcHJvdmFsc0NvbXBvbmVudH0gZnJvbSAnLi4vYXBwcm92YWxzL2FwcHJvdmFscy5jb21wb25lbnQnO1xyXG5pbXBvcnQge1RvYXN0clNlcnZpY2V9IGZyb20gXCJuZ3gtdG9hc3RyXCI7XHJcbmltcG9ydCB7U2F0UG9wb3Zlck1vZHVsZX0gZnJvbSBcIkBuY3N0YXRlL3NhdC1wb3BvdmVyXCI7XHJcblxyXG5jb25zdCBkYW5nZXJTdGF0dXNWYWx1ZXMgPSBbXHJcbiAgQ29uc3RhbnRzLkZPUk1fU1RBVFVTX1JFSkVDVEVELFxyXG4gIENvbnN0YW50cy5GT1JNX1NUQVRVU19DQU5DRUxMRUQsXHJcbiAgJ2RlbnknLFxyXG4gICdyZWplY3QnLFxyXG4gICd1bnNhdGlzZmllZCcsXHJcbiAgJ2NhbmNlbCdcclxuXTtcclxuXHJcbmNvbnN0IHdhcm5pbmdTdGF0dXNWYWx1ZXMgPSBbXHJcbiAgQ29uc3RhbnRzLkZPUk1fU1RBVFVTX1BFTkRJTkcsXHJcbiAgJ3BlbmRpbmcnXHJcbl07XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1hcHByb3ZhbHMtd29ya2Zsb3cnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hcHByb3ZhbHMtd29ya2Zsb3cuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2FwcHJvdmFscy13b3JrZmxvdy5jb21wb25lbnQuc2NzcyddLFxyXG4gIHN0YW5kYWxvbmU6IHRydWUsXHJcbiAgaW1wb3J0czogW1xyXG4gICAgU2F0UG9wb3Zlck1vZHVsZVxyXG4gIF0sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBcHByb3ZhbHNXb3JrZmxvd0NvbXBvbmVudCB7XHJcbiAgQElucHV0KCkgc2VjdGlvbjogU2VjdGlvbjtcclxuICBASW5wdXQoKSBmb3JtOiBGb3JtO1xyXG4gIGFwcHJvdmFsczogdW5rbm93bltdID0gW107XHJcbiAgbG9hZGluZyA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBpMThuOiBDb3JlSTE4blNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IHNpZGVuYXZTZXJ2aWNlOiBTaWRlbmF2U2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgY29yZVNlcnZpY2U6IENvcmVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSB0b2FzdGVyU2VydmljZTogVG9hc3RyU2VydmljZVxyXG4gICkgeyB9XHJcblxyXG4gIGdldEFwcHJvdmFscygpIHtcclxuICAgIGlmICh0aGlzLmlzTG9hZGluZygpKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuXHJcbiAgICB0aGlzLmluaXRpYWxpemVBcHByb3ZhbHMoKTtcclxuICAgIHRoaXMuY29yZVNlcnZpY2UucGVyc3BlY3RpdmVBcHByb3Zlcyh0aGlzLnNlY3Rpb24uYm9keS5kZXRhaWxzKS5zdWJzY3JpYmUoXHJcbiAgICAgIHJlc3BvbnNlID0+IHRoaXMuaGFuZGxlUmVzcG9uc2UocmVzcG9uc2UpLFxyXG4gICAgICBlcnIgPT4gdGhpcy5oYW5kbGVFcnJvcihlcnIpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgaXNMb2FkaW5nKCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIHRoaXMubG9hZGluZztcclxuICB9XHJcblxyXG4gIGluaXRpYWxpemVBcHByb3ZhbHMoKSB7XHJcbiAgICB0aGlzLmFwcHJvdmFscyA9IFtdO1xyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIGhhbmRsZVJlc3BvbnNlKHJlc3BvbnNlOiBhbnkpIHtcclxuICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgaWYgKHJlc3BvbnNlPy5hcHByb3ZhbHMpIHtcclxuICAgICAgdGhpcy5hcHByb3ZhbHMgPSByZXNwb25zZS5hcHByb3ZhbHMubWFwKGFwcHJvdmFsID0+IHRoaXMuY3JlYXRlQXBwcm92YWxPYmplY3QoYXBwcm92YWwpKTtcclxuICAgICAgdGhpcy5zaG93UHJvc3BlY3RpdmVBcHByb3ZhbHMoKTtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIGNyZWF0ZUFwcHJvdmFsT2JqZWN0KGFwcHJvdmFsKSB7XHJcbiAgICBjb25zdCBzdGFnZURldGFpbHMgPSB0aGlzLmdldFN0YWdlRGV0YWlscyhhcHByb3ZhbCk7XHJcbiAgICBjb25zdCBzdGF0dXMgPSBzdGFnZURldGFpbHMgPyB0aGlzLmdldENsYXNzQmFzZWRPblN0YXR1cyhzdGFnZURldGFpbHMuaGVhZGVyLnN0YXR1cykgOiAnJztcclxuICAgIHJldHVybiB7XHJcbiAgICAgIGlkOiAxLFxyXG4gICAgICBuYW1lOiBhcHByb3ZhbC52YWx1ZSxcclxuICAgICAgdGl0bGU6IGFwcHJvdmFsLmtleSxcclxuICAgICAgaW1hZ2U6IGAvZ3JvdXAvaS1nYXRlL3dtLWJwbS9mb3Jtcy8tL3Byb3h5L3BvcnRyYWl0P2VtYWlsPSR7YXBwcm92YWwua2V5fWAsXHJcbiAgICAgIHN0YXR1cyxcclxuICAgICAgc3RhdHVzTGFiZWw6IHN0YXR1c1xyXG4gICAgfTtcclxuICB9XHJcblxyXG4gIGdldFN0YWdlRGV0YWlscyhhcHByb3ZhbCkge1xyXG4gICAgcmV0dXJuIHRoaXMuZm9ybS5zZWN0aW9ucy5maW5kKHN0YWdlID0+XHJcbiAgICAgIHN0YWdlLmlkID09PSBgJHsoYXBwcm92YWw/LnJvbGUpPy50b0xvd2VyQ2FzZSgpfUFwcHJvdmFsYFxyXG4gICAgKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUVycm9yKGVycjogYW55KSB7XHJcbiAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgIGVycj8uZXJyb3I/Lm1ldGE/Lm1lc3NhZ2VzPy5mb3JFYWNoKG1zZyA9PiB7XHJcbiAgICAgIHRoaXMudG9hc3RlclNlcnZpY2UuZXJyb3IobXNnLm1lc3NhZ2UpO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICB0cmFuc2Zvcm1TdGF0dXMoc3RhdHVzOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgcmV0dXJuIHN0YXR1cz8udG9Mb3dlckNhc2UoKSB8fCAnJztcclxuICB9XHJcblxyXG4gIGdldENsYXNzQmFzZWRPblN0YXR1cyhzdGF0dXM6IHN0cmluZykge1xyXG4gICAgY29uc3QgbG93ZXJTdGF0dXMgPSB0aGlzLnRyYW5zZm9ybVN0YXR1cyhzdGF0dXMpO1xyXG5cclxuICAgIGlmICghc3RhdHVzIHx8XHJcbiAgICAgIHdhcm5pbmdTdGF0dXNWYWx1ZXMuaW5jbHVkZXMobG93ZXJTdGF0dXMpKSB7XHJcbiAgICAgIHJldHVybiAnc3VjY2Vzcyc7XHJcbiAgICB9XHJcblxyXG4gICAgaWYgKGRhbmdlclN0YXR1c1ZhbHVlcy5maW5kKHZhbHVlID0+IGxvd2VyU3RhdHVzLmluY2x1ZGVzKHZhbHVlKSkpIHtcclxuICAgICAgcmV0dXJuICdkYW5nZXInO1xyXG4gICAgfVxyXG5cclxuICAgIGlmICh3YXJuaW5nU3RhdHVzVmFsdWVzLmZpbmQodmFsdWUgPT4gbG93ZXJTdGF0dXMuaW5jbHVkZXModmFsdWUpKSkge1xyXG4gICAgICByZXR1cm4gJ3dhcm5pbmcnO1xyXG4gICAgfVxyXG5cclxuICAgIHJldHVybiAnc3VjY2Vzcyc7XHJcbiAgfVxyXG5cclxuICBzaG93UHJvc3BlY3RpdmVBcHByb3ZhbHMoKSB7XHJcbiAgICB0aGlzLmNvcmVTZXJ2aWNlLmFwcHJvdmFscyA9IEpTT04uc3RyaW5naWZ5KHRoaXMuYXBwcm92YWxzKTtcclxuICAgIHRoaXMuc2lkZW5hdlNlcnZpY2UucHVibGlzaCgnb3BlbicsIEFwcHJvdmFsc0NvbXBvbmVudCk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZHMtYnV0dG9uXHJcbiAgY29sb3I9XCJ3aGl0ZVwiIHNoYXBlPVwidGV4dFwiIHNxdWFyZSBzaXplPVwic21hbGxcIlxyXG4gIChjbGljayk9XCJnZXRBcHByb3ZhbHMoKVwiPlxyXG4gIDxzbG90IG5hbWU9XCJwcmVmaXhcIj5cclxuICAgIEBpZiAobG9hZGluZykge1xyXG4gICAgICA8ZHMtaWNvbiBjbGFzcz1cInNmaSBzZmktc3Bpbm5lciBkLWlubGluZS1ibG9jayBzcGluIGZjLWNvcmFsIGZzLTMwLWltcFwiPjwvZHMtaWNvbj5cclxuICAgIH0gQGVsc2Uge1xyXG4gICAgICA8ZHMtaWNvbiBpY29uPVwid29ya2Zsb3dcIiBjbGFzcz1cImZzLTI0XCI+PC9kcy1pY29uPlxyXG4gICAgfVxyXG4gIDwvc2xvdD5cclxuPC9kcy1idXR0b24+XHJcbiJdfQ==
|
|
@@ -24,4 +24,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
24
24
|
}], faqs: [{
|
|
25
25
|
type: Input
|
|
26
26
|
}] } });
|
|
27
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmFxcy5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icG0tY29yZS9zcmMvbGliL2NvbXBvbmVudHMvYXBwLWNvbXBvbmVudC1zZWN0aW9ucy9mYXFzL2ZhcXMuY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvZmFxcy9mYXFzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsS0FBSyxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBRXpFLE9BQU8sRUFBRSxZQUFZLEVBQUUsaUJBQWlCLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQzs7O0FBbUJ0RyxNQUFNLE9BQU8sYUFBYTtJQUlMO0lBSFYsU0FBUyxHQUFHLEtBQUssQ0FBQztJQUNsQixJQUFJLENBQVE7SUFFckIsWUFBbUIsSUFBcUI7UUFBckIsU0FBSSxHQUFKLElBQUksQ0FBaUI7SUFBSSxDQUFDO3VHQUpsQyxhQUFhOzJGQUFiLGFBQWEsc0hDckIxQiw0NUJBc0JBLHFjRFBJLFlBQVksK0lBQ1osaUJBQWlCLHNMQUNqQixzQkFBc0I7OzJGQUliLGFBQWE7a0JBWnpCLFNBQVM7K0JBQ0UsVUFBVSxjQUdSLElBQUksV0FDUDt3QkFDUCxZQUFZO3dCQUNaLGlCQUFpQjt3QkFDakIsc0JBQXNCO3FCQUN2QixXQUNRLENBQUMsc0JBQXNCLENBQUM7b0ZBR3hCLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBDb3JlSTE4blNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7IE1hdEFjY29yZGlvbiwgTWF0RXhwYW5zaW9uUGFuZWwsIE1hdEV4cGFuc2lvblBhbmVsVGl0bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9leHBhbnNpb24nO1xyXG5cclxuaW50ZXJmYWNlIEZBUSB7XHJcbiAgdGl0bGU6IHN0cmluZyxcclxuICBjb250ZW50OiBzdHJpbmdcclxufVxyXG5cclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdhcHAtZmFxcycsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2ZhcXMuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2ZhcXMuY29tcG9uZW50LnNjc3MnXSxcclxuICBzdGFuZGFsb25lOiB0cnVlLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE1hdEFjY29yZGlvbixcclxuICAgIE1hdEV4cGFuc2lvblBhbmVsLFxyXG4gICAgTWF0RXhwYW5zaW9uUGFuZWxUaXRsZVxyXG4gIF0sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBGYXFzQ29tcG9uZW50IHtcclxuICBASW5wdXQoKSBhZG1pblZpZXcgPSBmYWxzZTtcclxuICBASW5wdXQoKSBmYXFzOiBGQVFbXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHVibGljIGkxOG46IENvcmVJMThuU2VydmljZSkgeyB9XHJcblxyXG5cclxufVxyXG4iLCI8bWF0LWFjY29yZGlvbiBjbGFzcz1cInByaW1hcnktYWNjb3JkaW9uXCI+XHJcbiAgQGZvciAoaXRlbSBvZiBmYXFzOyB0cmFjayAkaW5kZXgpIHtcclxuICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsIFtleHBhbmRlZF09XCIkaW5kZXg9PTBcIiBjbGFzcz1cIm1iLTRcIiBoaWRlVG9nZ2xlICNleHBhbnNpb25QYW5lbD1cIm1hdEV4cGFuc2lvblBhbmVsXCI+XHJcbiAgICAgIEBpZiAoaXRlbS50aXRsZSkge1xyXG4gICAgICAgIDxtYXQtZXhwYW5zaW9uLXBhbmVsLWhlYWRlciBjbGFzcz1cImV4cGFuc2lvbi1oZWFkZXJcIj5cclxuICAgICAgICAgIDxtYXQtcGFuZWwtdGl0bGU+XHJcbiAgICAgICAgICAgIDxoMyBjbGFzcz1cImZzLTE0IGZ3LW1lZGl1bSBmYy1ibGFjayBtYi0wIGZsZXgtZ3Jvdy0xIGFsaWduLXNlbGYtY2VudGVyXCI+e3sgaXRlbS50aXRsZSB9fTwvaDM+XHJcbiAgICAgICAgICAgIEBpZiAoZXhwYW5zaW9uUGFuZWwuZXhwYW5kZWQpIHtcclxuICAgICAgICAgICAgICA8ZHMtaWNvbiBpY29uPVwibWludXNcIiBjbGFzcz1cImZzLTIwIGZjLWRhcmstZ3JheVwiPjwvZHMtaWNvbj5cclxuICAgICAgICAgICAgfSBAZWxzZSB7XHJcbiAgICAgICAgICAgICAgPGRzLWljb24gaWNvbj1cInBsdXMtMVwiIGNsYXNzPVwiZnMtMjAgZmMtY29yYWxcIj48L2RzLWljb24+XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIDwvbWF0LXBhbmVsLXRpdGxlPlxyXG5cclxuICAgICAgICA8L21hdC1leHBhbnNpb24tcGFuZWwtaGVhZGVyPlxyXG4gICAgICB9XHJcbiAgICAgIDxwIGNsYXNzPVwiZnMtMTQgZmMtZGFyay1ncmF5XCI+XHJcbiAgICAgICAge3sgaXRlbS5jb250ZW50IH19XHJcbiAgICAgIDwvcD5cclxuICAgIDwvbWF0LWV4cGFuc2lvbi1wYW5lbD5cclxuICB9XHJcbjwvbWF0LWFjY29yZGlvbj5cclxuIl19
|
|
@@ -5,8 +5,7 @@ import * as Constants from '../../../constants/constants';
|
|
|
5
5
|
import { NgIf } from '@angular/common';
|
|
6
6
|
import { InfoItemComponent, SearchEmployeeComponent, TextareaComponent } from "../../shared-components";
|
|
7
7
|
import * as i0 from "@angular/core";
|
|
8
|
-
import * as i1 from "../../../services
|
|
9
|
-
import * as i2 from "../../../services";
|
|
8
|
+
import * as i1 from "../../../services";
|
|
10
9
|
export class FeedbackSectionComponent {
|
|
11
10
|
feedBackService;
|
|
12
11
|
i18n;
|
|
@@ -211,8 +210,8 @@ export class FeedbackSectionComponent {
|
|
|
211
210
|
this.isFeedbackValidated = false;
|
|
212
211
|
}
|
|
213
212
|
}
|
|
214
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FeedbackSectionComponent, deps: [{ token: i1.FeedBackService }, { token:
|
|
215
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: FeedbackSectionComponent, isStandalone: true, selector: "app-feedback-section", inputs: { inboxItem: "inboxItem", profile: "profile" }, ngImport: i0, template: "<div class=\"popup-container\">\r\n <div class=\"d-flex align-items-center justify-content-between\" mat-dialog-title>\r\n <h3>{{i18n.translate('requestFeedback')}}</h3>\r\n <ds-button square icon matDialogClose>\r\n <ds-icon icon=\"close\" class=\"fs-20 fc-black\"></ds-icon>\r\n </ds-button>\r\n </div>\r\n <mat-dialog-content>\r\n <div class=\"d-flex flex-column align-items-center justify-content-center py-4\" *ngIf=\"submitted\">\r\n <div class=\"text-center mb-4\">\r\n <svg width=\"79\" height=\"76\" viewBox=\"0 0 79 76\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M59.9804 0.0998676L1.39239 19.2479C1.02223 19.3692 0.69498 19.5948 0.44999 19.8976C0.205 20.2005 0.0526985 20.5676 0.0113985 20.955C-0.0299016 21.3423 0.0415576 21.7333 0.217184 22.081C0.39281 22.4287 0.665128 22.7183 1.00139 22.9149L23.1454 35.7899C23.487 35.9886 23.8794 36.0828 24.274 36.0608C24.6686 36.0388 25.0481 35.9014 25.3654 35.6659L31.5894 31.0439L26.9674 37.2679C26.7318 37.5852 26.5944 37.9646 26.5722 38.3591C26.5499 38.7537 26.6439 39.1461 26.8424 39.4879L39.7174 61.6289C39.9138 61.9652 40.2031 62.2377 40.5506 62.4135C40.8981 62.5894 41.289 62.6611 41.6763 62.6201C42.0636 62.5791 42.4308 62.4272 42.7338 62.1825C43.0369 61.9378 43.2628 61.6108 43.3844 61.2409L62.5294 2.65187C62.6458 2.29686 62.6615 1.91654 62.5749 1.55313C62.4883 1.18971 62.3026 0.857401 62.0386 0.593071C61.7746 0.328741 61.4425 0.142726 61.0792 0.0556665C60.7159 -0.0313933 60.3355 -0.0160937 59.9804 0.0998676ZM40.9434 55.6999L31.0014 38.6069L42.9894 22.4689C43.2797 22.0798 43.4202 21.5993 43.3852 21.1152C43.3502 20.631 43.142 20.1757 42.7988 19.8325C42.4556 19.4893 42.0002 19.2811 41.5161 19.2461C41.032 19.2111 40.5514 19.3516 40.1624 19.6419L24.0254 31.6279L6.93339 21.6889L57.4514 5.18087L40.9434 55.6999ZM21.2134 44.2759L7.80139 57.6909C7.42253 58.0701 6.90853 58.2833 6.37246 58.2836C5.83638 58.2839 5.32215 58.0712 4.94289 57.6924C4.56363 57.3135 4.35041 56.7995 4.35013 56.2634C4.34985 55.7274 4.56253 55.2131 4.94139 54.8339L18.3564 41.4189C18.7353 41.04 19.2491 40.8272 19.7849 40.8272C20.3207 40.8272 20.8345 41.04 21.2134 41.4189C21.5923 41.7977 21.8051 42.3116 21.8051 42.8474C21.8051 43.3832 21.5923 43.897 21.2134 44.2759ZM3.49139 44.7839C3.30378 44.5963 3.15495 44.3736 3.05341 44.1285C2.95187 43.8834 2.89961 43.6207 2.89961 43.3554C2.89961 43.0901 2.95187 42.8274 3.05341 42.5823C3.15495 42.3371 3.30378 42.1144 3.49139 41.9269L8.78439 36.6339C9.16326 36.255 9.6771 36.0422 10.2129 36.0422C10.7487 36.0422 11.2625 36.255 11.6414 36.6339C12.0203 37.0127 12.2331 37.5266 12.2331 38.0624C12.2331 38.5982 12.0203 39.112 11.6414 39.4909L6.34939 44.7839C6.1618 44.9716 5.93903 45.1206 5.69384 45.2222C5.44864 45.3238 5.18582 45.3762 4.92039 45.3762C4.65497 45.3762 4.39215 45.3238 4.14695 45.2222C3.90176 45.1206 3.67899 44.9716 3.49139 44.7839ZM26.0014 50.9899C26.189 51.1774 26.3378 51.4001 26.4394 51.6453C26.5409 51.8904 26.5932 52.1531 26.5932 52.4184C26.5932 52.6837 26.5409 52.9464 26.4394 53.1915C26.3378 53.4366 26.189 53.6593 26.0014 53.8469L20.7014 59.1409C20.3225 59.5197 19.8087 59.7326 19.2729 59.7326C18.7371 59.7326 18.2233 59.5197 17.8444 59.1409C17.4655 58.762 17.2527 58.2482 17.2527 57.7124C17.2527 57.1766 17.4655 56.6627 17.8444 56.2839L23.1374 50.9909C23.325 50.8032 23.5477 50.6544 23.7928 50.5529C24.0379 50.4513 24.3006 50.3991 24.5659 50.3991C24.8312 50.3991 25.0939 50.4513 25.339 50.5529C25.5841 50.6544 25.8068 50.8032 25.9944 50.9909L26.0014 50.9899Z\"\r\n fill=\"#8E9AA0\" />\r\n <path\r\n d=\"M58.0015 75.3119C69.0472 75.3119 78.0015 66.3576 78.0015 55.3119C78.0015 44.2662 69.0472 35.3119 58.0015 35.3119C46.9558 35.3119 38.0015 44.2662 38.0015 55.3119C38.0015 66.3576 46.9558 75.3119 58.0015 75.3119Z\"\r\n fill=\"#00C48C\" />\r\n <path\r\n d=\"M56.8804 57.3183L54.0346 54.4725L52.9743 55.5336L56.8774 59.4367L65.8354 50.5267L65.4927 50.0138C63.8557 47.5812 61.1134 46.002 58.0015 46.002C53.0313 46.002 49.0015 50.031 49.0015 55.002C49.0015 59.9729 53.0305 64.002 58.0015 64.002C62.9716 64.002 67.0007 59.9729 67.0015 55.0035H65.5017C65.5017 55.005 65.5017 55.0072 65.5017 55.0095C65.5017 59.1503 62.1453 62.5067 58.0045 62.5067C53.8637 62.5067 50.5072 59.1503 50.5072 55.0095C50.5072 50.8686 53.8637 47.5122 58.0045 47.5122C60.3793 47.5122 62.4962 48.6168 63.87 50.3392L63.882 50.3542L56.8804 57.3183Z\"\r\n fill=\"white\" />\r\n </svg>\r\n\r\n </div>\r\n <h2 class=\"fs-16 fw-medium fc-black mb-4 text-center\">\r\n {{i18n.translate('submittedSuccessfully')}}\r\n </h2>\r\n </div>\r\n\r\n <ng-container *ngIf=\"!submitted\">\r\n <div class=\"mb-3\" *ngIf=\"feedBackService.feedbackForm \">\r\n <app-search-employee #employee label=\"{{i18n.translate('requestTo')}}\" [field]=\"searchEmp\"\r\n [labelTextReadMode]=\"i18n.translate('requestTo')\" [labelTextWriteMode]=\"i18n.translate('requestTo')\"\r\n [name]=\"'searchEmp'\" (emitedValue)=\"handleUserSelected($event)\">\r\n </app-search-employee>\r\n <app-textarea #request [field]=\"employeeInput\" name=\"employeeInput\" label=\"{{i18n.translate('feedback')}}\"\r\n [required]=\"true\" [minLength]='1' (emitedValue)=\"handleFeedbackQuestion($event)\" [maxLength]='500'\r\n [errorMessage]=\"i18n.translate('lenghtMin1Max500')\">\r\n </app-textarea>\r\n </div>\r\n\r\n <div class=\"info-section\" *ngIf=\"!feedBackService.feedbackForm\">\r\n <ng-container *ngIf=\"feedBackService.responderForm\">\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('requestFrom')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.requestFrom}}\"></app-info-item>\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('requestTo')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.requestTo}}\"></app-info-item>\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('feedbackQuestion')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.requestFeedback}}\"></app-info-item>\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('feedback')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.responseFeedback}}\"></app-info-item>\r\n <app-textarea #request class=\"full mx-3 mt-3 section-item\" [field]=\"employeeInput\" name=\"employeeInput\"\r\n label=\"{{i18n.translate('feedback')}}\" [required]=\"true\" [minLength]='1'\r\n (emitedValue)=\"handleFeedbackResponse($event)\" [maxLength]='500'\r\n [errorMessage]=\"i18n.translate('lenghtMin1Max500')\">\r\n </app-textarea>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"feedBackService.pendingForm\" id=\"responce_form\">\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('requestFrom')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.requestFrom}}\"></app-info-item>\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('requestTo')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.requestTo}}\"></app-info-item>\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('feedbackQuestion')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.requestFeedback}}\"></app-info-item>\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('feedback')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.responseFeedback}}\"></app-info-item>\r\n\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"d-flex align-items-center justify-content-center w-100 gap-3\" *ngIf=\"!submitted\">\r\n <ds-button shape=\"outline\" matDialogClose>\r\n {{i18n.translate('Cancel')}}\r\n </ds-button>\r\n <ds-button *ngIf=\"feedBackService.feedbackForm\" (click)=\"addFeedback()\"\r\n disabled=\"{{!(isFeedbackValidated)}}\">\r\n {{i18n.translate('submit')}}\r\n </ds-button>\r\n <ds-button *ngIf=\"!feedBackService.feedbackForm && feedBackService.responderForm\"\r\n disabled=\"{{!(isResponseValidated)}}\" (click)=\"addResponse()\">\r\n {{i18n.translate('submit')}}\r\n </ds-button>\r\n </div>\r\n </ng-container>\r\n\r\n </mat-dialog-content>\r\n\r\n</div>\r\n", styles: ["::ng-deep .main-popup{--popup-max-width: 700px !important;--popup-width: 100% !important}\n"], dependencies: [{ kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SearchEmployeeComponent, selector: "app-search-employee", inputs: ["valueName", "tooltip", "className", "showLabel", "optional", "data", "floatLabel", "error", "showEdit", "arrayList", "isUniqueUsers"], outputs: ["selectedEmp", "onInputChange", "editDirectManger", "deleteDirectManger", "emitedDeletedValue"] }, { kind: "component", type: TextareaComponent, selector: "app-textarea", inputs: ["className", "preventSpecailChar"] }, { kind: "component", type: InfoItemComponent, selector: "app-info-item", inputs: ["label", "value", "name", "type", "dateType", "multiple", "insideTable", "hasLabel", "arrayList", "actionType", "download"] }, { kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }] });
|
|
213
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FeedbackSectionComponent, deps: [{ token: i1.FeedBackService }, { token: i1.CoreI18nService }, { token: MAT_DIALOG_DATA }], target: i0.ɵɵFactoryTarget.Component });
|
|
214
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "18.2.8", type: FeedbackSectionComponent, isStandalone: true, selector: "app-feedback-section", inputs: { inboxItem: "inboxItem", profile: "profile" }, ngImport: i0, template: "<div class=\"popup-container\">\r\n <div class=\"d-flex align-items-center justify-content-between\" mat-dialog-title>\r\n <h3>{{i18n.translate('requestFeedback')}}</h3>\r\n <ds-button square icon matDialogClose>\r\n <ds-icon icon=\"close\" class=\"fs-20 fc-black\"></ds-icon>\r\n </ds-button>\r\n </div>\r\n <mat-dialog-content>\r\n <div class=\"d-flex flex-column align-items-center justify-content-center py-4\" *ngIf=\"submitted\">\r\n <div class=\"text-center mb-4\">\r\n <svg width=\"79\" height=\"76\" viewBox=\"0 0 79 76\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M59.9804 0.0998676L1.39239 19.2479C1.02223 19.3692 0.69498 19.5948 0.44999 19.8976C0.205 20.2005 0.0526985 20.5676 0.0113985 20.955C-0.0299016 21.3423 0.0415576 21.7333 0.217184 22.081C0.39281 22.4287 0.665128 22.7183 1.00139 22.9149L23.1454 35.7899C23.487 35.9886 23.8794 36.0828 24.274 36.0608C24.6686 36.0388 25.0481 35.9014 25.3654 35.6659L31.5894 31.0439L26.9674 37.2679C26.7318 37.5852 26.5944 37.9646 26.5722 38.3591C26.5499 38.7537 26.6439 39.1461 26.8424 39.4879L39.7174 61.6289C39.9138 61.9652 40.2031 62.2377 40.5506 62.4135C40.8981 62.5894 41.289 62.6611 41.6763 62.6201C42.0636 62.5791 42.4308 62.4272 42.7338 62.1825C43.0369 61.9378 43.2628 61.6108 43.3844 61.2409L62.5294 2.65187C62.6458 2.29686 62.6615 1.91654 62.5749 1.55313C62.4883 1.18971 62.3026 0.857401 62.0386 0.593071C61.7746 0.328741 61.4425 0.142726 61.0792 0.0556665C60.7159 -0.0313933 60.3355 -0.0160937 59.9804 0.0998676ZM40.9434 55.6999L31.0014 38.6069L42.9894 22.4689C43.2797 22.0798 43.4202 21.5993 43.3852 21.1152C43.3502 20.631 43.142 20.1757 42.7988 19.8325C42.4556 19.4893 42.0002 19.2811 41.5161 19.2461C41.032 19.2111 40.5514 19.3516 40.1624 19.6419L24.0254 31.6279L6.93339 21.6889L57.4514 5.18087L40.9434 55.6999ZM21.2134 44.2759L7.80139 57.6909C7.42253 58.0701 6.90853 58.2833 6.37246 58.2836C5.83638 58.2839 5.32215 58.0712 4.94289 57.6924C4.56363 57.3135 4.35041 56.7995 4.35013 56.2634C4.34985 55.7274 4.56253 55.2131 4.94139 54.8339L18.3564 41.4189C18.7353 41.04 19.2491 40.8272 19.7849 40.8272C20.3207 40.8272 20.8345 41.04 21.2134 41.4189C21.5923 41.7977 21.8051 42.3116 21.8051 42.8474C21.8051 43.3832 21.5923 43.897 21.2134 44.2759ZM3.49139 44.7839C3.30378 44.5963 3.15495 44.3736 3.05341 44.1285C2.95187 43.8834 2.89961 43.6207 2.89961 43.3554C2.89961 43.0901 2.95187 42.8274 3.05341 42.5823C3.15495 42.3371 3.30378 42.1144 3.49139 41.9269L8.78439 36.6339C9.16326 36.255 9.6771 36.0422 10.2129 36.0422C10.7487 36.0422 11.2625 36.255 11.6414 36.6339C12.0203 37.0127 12.2331 37.5266 12.2331 38.0624C12.2331 38.5982 12.0203 39.112 11.6414 39.4909L6.34939 44.7839C6.1618 44.9716 5.93903 45.1206 5.69384 45.2222C5.44864 45.3238 5.18582 45.3762 4.92039 45.3762C4.65497 45.3762 4.39215 45.3238 4.14695 45.2222C3.90176 45.1206 3.67899 44.9716 3.49139 44.7839ZM26.0014 50.9899C26.189 51.1774 26.3378 51.4001 26.4394 51.6453C26.5409 51.8904 26.5932 52.1531 26.5932 52.4184C26.5932 52.6837 26.5409 52.9464 26.4394 53.1915C26.3378 53.4366 26.189 53.6593 26.0014 53.8469L20.7014 59.1409C20.3225 59.5197 19.8087 59.7326 19.2729 59.7326C18.7371 59.7326 18.2233 59.5197 17.8444 59.1409C17.4655 58.762 17.2527 58.2482 17.2527 57.7124C17.2527 57.1766 17.4655 56.6627 17.8444 56.2839L23.1374 50.9909C23.325 50.8032 23.5477 50.6544 23.7928 50.5529C24.0379 50.4513 24.3006 50.3991 24.5659 50.3991C24.8312 50.3991 25.0939 50.4513 25.339 50.5529C25.5841 50.6544 25.8068 50.8032 25.9944 50.9909L26.0014 50.9899Z\"\r\n fill=\"#8E9AA0\" />\r\n <path\r\n d=\"M58.0015 75.3119C69.0472 75.3119 78.0015 66.3576 78.0015 55.3119C78.0015 44.2662 69.0472 35.3119 58.0015 35.3119C46.9558 35.3119 38.0015 44.2662 38.0015 55.3119C38.0015 66.3576 46.9558 75.3119 58.0015 75.3119Z\"\r\n fill=\"#00C48C\" />\r\n <path\r\n d=\"M56.8804 57.3183L54.0346 54.4725L52.9743 55.5336L56.8774 59.4367L65.8354 50.5267L65.4927 50.0138C63.8557 47.5812 61.1134 46.002 58.0015 46.002C53.0313 46.002 49.0015 50.031 49.0015 55.002C49.0015 59.9729 53.0305 64.002 58.0015 64.002C62.9716 64.002 67.0007 59.9729 67.0015 55.0035H65.5017C65.5017 55.005 65.5017 55.0072 65.5017 55.0095C65.5017 59.1503 62.1453 62.5067 58.0045 62.5067C53.8637 62.5067 50.5072 59.1503 50.5072 55.0095C50.5072 50.8686 53.8637 47.5122 58.0045 47.5122C60.3793 47.5122 62.4962 48.6168 63.87 50.3392L63.882 50.3542L56.8804 57.3183Z\"\r\n fill=\"white\" />\r\n </svg>\r\n\r\n </div>\r\n <h2 class=\"fs-16 fw-medium fc-black mb-4 text-center\">\r\n {{i18n.translate('submittedSuccessfully')}}\r\n </h2>\r\n </div>\r\n\r\n <ng-container *ngIf=\"!submitted\">\r\n <div class=\"mb-3\" *ngIf=\"feedBackService.feedbackForm \">\r\n <app-search-employee #employee label=\"{{i18n.translate('requestTo')}}\" [field]=\"searchEmp\"\r\n [labelTextReadMode]=\"i18n.translate('requestTo')\" [labelTextWriteMode]=\"i18n.translate('requestTo')\"\r\n [name]=\"'searchEmp'\" (emitedValue)=\"handleUserSelected($event)\">\r\n </app-search-employee>\r\n <app-textarea #request [field]=\"employeeInput\" name=\"employeeInput\" label=\"{{i18n.translate('feedback')}}\"\r\n [required]=\"true\" [minLength]='1' (emitedValue)=\"handleFeedbackQuestion($event)\" [maxLength]='500'\r\n [errorMessage]=\"i18n.translate('lenghtMin1Max500')\">\r\n </app-textarea>\r\n </div>\r\n\r\n <div class=\"info-section\" *ngIf=\"!feedBackService.feedbackForm\">\r\n <ng-container *ngIf=\"feedBackService.responderForm\">\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('requestFrom')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.requestFrom}}\"></app-info-item>\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('requestTo')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.requestTo}}\"></app-info-item>\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('feedbackQuestion')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.requestFeedback}}\"></app-info-item>\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('feedback')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.responseFeedback}}\"></app-info-item>\r\n <app-textarea #request class=\"full mx-3 mt-3 section-item\" [field]=\"employeeInput\" name=\"employeeInput\"\r\n label=\"{{i18n.translate('feedback')}}\" [required]=\"true\" [minLength]='1'\r\n (emitedValue)=\"handleFeedbackResponse($event)\" [maxLength]='500'\r\n [errorMessage]=\"i18n.translate('lenghtMin1Max500')\">\r\n </app-textarea>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"feedBackService.pendingForm\" id=\"responce_form\">\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('requestFrom')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.requestFrom}}\"></app-info-item>\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('requestTo')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.requestTo}}\"></app-info-item>\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('feedbackQuestion')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.requestFeedback}}\"></app-info-item>\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('feedback')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.responseFeedback}}\"></app-info-item>\r\n\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"d-flex align-items-center justify-content-center w-100 gap-3\" *ngIf=\"!submitted\">\r\n <ds-button shape=\"outline\" matDialogClose>\r\n {{i18n.translate('Cancel')}}\r\n </ds-button>\r\n <ds-button *ngIf=\"feedBackService.feedbackForm\" (click)=\"addFeedback()\"\r\n disabled=\"{{!(isFeedbackValidated)}}\">\r\n {{i18n.translate('submit')}}\r\n </ds-button>\r\n <ds-button *ngIf=\"!feedBackService.feedbackForm && feedBackService.responderForm\"\r\n disabled=\"{{!(isResponseValidated)}}\" (click)=\"addResponse()\">\r\n {{i18n.translate('submit')}}\r\n </ds-button>\r\n </div>\r\n </ng-container>\r\n\r\n </mat-dialog-content>\r\n\r\n</div>\r\n", styles: ["::ng-deep .main-popup{--popup-max-width: 700px !important;--popup-width: 100% !important}\n"], dependencies: [{ kind: "directive", type: MatDialogContent, selector: "[mat-dialog-content], mat-dialog-content, [matDialogContent]" }, { kind: "directive", type: NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: SearchEmployeeComponent, selector: "app-search-employee", inputs: ["valueName", "className", "optional", "data", "floatLabel", "error", "showEdit", "arrayList", "isUniqueUsers"], outputs: ["selectedEmp", "onInputChange", "editDirectManger", "deleteDirectManger", "emitedDeletedValue"] }, { kind: "component", type: TextareaComponent, selector: "app-textarea", inputs: ["className", "preventSpecailChar"] }, { kind: "component", type: InfoItemComponent, selector: "app-info-item", inputs: ["label", "value", "name", "type", "dateType", "multiple", "insideTable", "hasLabel", "arrayList", "actionType", "download"] }, { kind: "directive", type: MatDialogTitle, selector: "[mat-dialog-title], [matDialogTitle]", inputs: ["id"], exportAs: ["matDialogTitle"] }, { kind: "directive", type: MatDialogClose, selector: "[mat-dialog-close], [matDialogClose]", inputs: ["aria-label", "type", "mat-dialog-close", "matDialogClose"], exportAs: ["matDialogClose"] }] });
|
|
216
215
|
}
|
|
217
216
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImport: i0, type: FeedbackSectionComponent, decorators: [{
|
|
218
217
|
type: Component,
|
|
@@ -225,7 +224,7 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
225
224
|
MatDialogTitle,
|
|
226
225
|
MatDialogClose
|
|
227
226
|
], standalone: true, template: "<div class=\"popup-container\">\r\n <div class=\"d-flex align-items-center justify-content-between\" mat-dialog-title>\r\n <h3>{{i18n.translate('requestFeedback')}}</h3>\r\n <ds-button square icon matDialogClose>\r\n <ds-icon icon=\"close\" class=\"fs-20 fc-black\"></ds-icon>\r\n </ds-button>\r\n </div>\r\n <mat-dialog-content>\r\n <div class=\"d-flex flex-column align-items-center justify-content-center py-4\" *ngIf=\"submitted\">\r\n <div class=\"text-center mb-4\">\r\n <svg width=\"79\" height=\"76\" viewBox=\"0 0 79 76\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path\r\n d=\"M59.9804 0.0998676L1.39239 19.2479C1.02223 19.3692 0.69498 19.5948 0.44999 19.8976C0.205 20.2005 0.0526985 20.5676 0.0113985 20.955C-0.0299016 21.3423 0.0415576 21.7333 0.217184 22.081C0.39281 22.4287 0.665128 22.7183 1.00139 22.9149L23.1454 35.7899C23.487 35.9886 23.8794 36.0828 24.274 36.0608C24.6686 36.0388 25.0481 35.9014 25.3654 35.6659L31.5894 31.0439L26.9674 37.2679C26.7318 37.5852 26.5944 37.9646 26.5722 38.3591C26.5499 38.7537 26.6439 39.1461 26.8424 39.4879L39.7174 61.6289C39.9138 61.9652 40.2031 62.2377 40.5506 62.4135C40.8981 62.5894 41.289 62.6611 41.6763 62.6201C42.0636 62.5791 42.4308 62.4272 42.7338 62.1825C43.0369 61.9378 43.2628 61.6108 43.3844 61.2409L62.5294 2.65187C62.6458 2.29686 62.6615 1.91654 62.5749 1.55313C62.4883 1.18971 62.3026 0.857401 62.0386 0.593071C61.7746 0.328741 61.4425 0.142726 61.0792 0.0556665C60.7159 -0.0313933 60.3355 -0.0160937 59.9804 0.0998676ZM40.9434 55.6999L31.0014 38.6069L42.9894 22.4689C43.2797 22.0798 43.4202 21.5993 43.3852 21.1152C43.3502 20.631 43.142 20.1757 42.7988 19.8325C42.4556 19.4893 42.0002 19.2811 41.5161 19.2461C41.032 19.2111 40.5514 19.3516 40.1624 19.6419L24.0254 31.6279L6.93339 21.6889L57.4514 5.18087L40.9434 55.6999ZM21.2134 44.2759L7.80139 57.6909C7.42253 58.0701 6.90853 58.2833 6.37246 58.2836C5.83638 58.2839 5.32215 58.0712 4.94289 57.6924C4.56363 57.3135 4.35041 56.7995 4.35013 56.2634C4.34985 55.7274 4.56253 55.2131 4.94139 54.8339L18.3564 41.4189C18.7353 41.04 19.2491 40.8272 19.7849 40.8272C20.3207 40.8272 20.8345 41.04 21.2134 41.4189C21.5923 41.7977 21.8051 42.3116 21.8051 42.8474C21.8051 43.3832 21.5923 43.897 21.2134 44.2759ZM3.49139 44.7839C3.30378 44.5963 3.15495 44.3736 3.05341 44.1285C2.95187 43.8834 2.89961 43.6207 2.89961 43.3554C2.89961 43.0901 2.95187 42.8274 3.05341 42.5823C3.15495 42.3371 3.30378 42.1144 3.49139 41.9269L8.78439 36.6339C9.16326 36.255 9.6771 36.0422 10.2129 36.0422C10.7487 36.0422 11.2625 36.255 11.6414 36.6339C12.0203 37.0127 12.2331 37.5266 12.2331 38.0624C12.2331 38.5982 12.0203 39.112 11.6414 39.4909L6.34939 44.7839C6.1618 44.9716 5.93903 45.1206 5.69384 45.2222C5.44864 45.3238 5.18582 45.3762 4.92039 45.3762C4.65497 45.3762 4.39215 45.3238 4.14695 45.2222C3.90176 45.1206 3.67899 44.9716 3.49139 44.7839ZM26.0014 50.9899C26.189 51.1774 26.3378 51.4001 26.4394 51.6453C26.5409 51.8904 26.5932 52.1531 26.5932 52.4184C26.5932 52.6837 26.5409 52.9464 26.4394 53.1915C26.3378 53.4366 26.189 53.6593 26.0014 53.8469L20.7014 59.1409C20.3225 59.5197 19.8087 59.7326 19.2729 59.7326C18.7371 59.7326 18.2233 59.5197 17.8444 59.1409C17.4655 58.762 17.2527 58.2482 17.2527 57.7124C17.2527 57.1766 17.4655 56.6627 17.8444 56.2839L23.1374 50.9909C23.325 50.8032 23.5477 50.6544 23.7928 50.5529C24.0379 50.4513 24.3006 50.3991 24.5659 50.3991C24.8312 50.3991 25.0939 50.4513 25.339 50.5529C25.5841 50.6544 25.8068 50.8032 25.9944 50.9909L26.0014 50.9899Z\"\r\n fill=\"#8E9AA0\" />\r\n <path\r\n d=\"M58.0015 75.3119C69.0472 75.3119 78.0015 66.3576 78.0015 55.3119C78.0015 44.2662 69.0472 35.3119 58.0015 35.3119C46.9558 35.3119 38.0015 44.2662 38.0015 55.3119C38.0015 66.3576 46.9558 75.3119 58.0015 75.3119Z\"\r\n fill=\"#00C48C\" />\r\n <path\r\n d=\"M56.8804 57.3183L54.0346 54.4725L52.9743 55.5336L56.8774 59.4367L65.8354 50.5267L65.4927 50.0138C63.8557 47.5812 61.1134 46.002 58.0015 46.002C53.0313 46.002 49.0015 50.031 49.0015 55.002C49.0015 59.9729 53.0305 64.002 58.0015 64.002C62.9716 64.002 67.0007 59.9729 67.0015 55.0035H65.5017C65.5017 55.005 65.5017 55.0072 65.5017 55.0095C65.5017 59.1503 62.1453 62.5067 58.0045 62.5067C53.8637 62.5067 50.5072 59.1503 50.5072 55.0095C50.5072 50.8686 53.8637 47.5122 58.0045 47.5122C60.3793 47.5122 62.4962 48.6168 63.87 50.3392L63.882 50.3542L56.8804 57.3183Z\"\r\n fill=\"white\" />\r\n </svg>\r\n\r\n </div>\r\n <h2 class=\"fs-16 fw-medium fc-black mb-4 text-center\">\r\n {{i18n.translate('submittedSuccessfully')}}\r\n </h2>\r\n </div>\r\n\r\n <ng-container *ngIf=\"!submitted\">\r\n <div class=\"mb-3\" *ngIf=\"feedBackService.feedbackForm \">\r\n <app-search-employee #employee label=\"{{i18n.translate('requestTo')}}\" [field]=\"searchEmp\"\r\n [labelTextReadMode]=\"i18n.translate('requestTo')\" [labelTextWriteMode]=\"i18n.translate('requestTo')\"\r\n [name]=\"'searchEmp'\" (emitedValue)=\"handleUserSelected($event)\">\r\n </app-search-employee>\r\n <app-textarea #request [field]=\"employeeInput\" name=\"employeeInput\" label=\"{{i18n.translate('feedback')}}\"\r\n [required]=\"true\" [minLength]='1' (emitedValue)=\"handleFeedbackQuestion($event)\" [maxLength]='500'\r\n [errorMessage]=\"i18n.translate('lenghtMin1Max500')\">\r\n </app-textarea>\r\n </div>\r\n\r\n <div class=\"info-section\" *ngIf=\"!feedBackService.feedbackForm\">\r\n <ng-container *ngIf=\"feedBackService.responderForm\">\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('requestFrom')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.requestFrom}}\"></app-info-item>\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('requestTo')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.requestTo}}\"></app-info-item>\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('feedbackQuestion')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.requestFeedback}}\"></app-info-item>\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('feedback')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.responseFeedback}}\"></app-info-item>\r\n <app-textarea #request class=\"full mx-3 mt-3 section-item\" [field]=\"employeeInput\" name=\"employeeInput\"\r\n label=\"{{i18n.translate('feedback')}}\" [required]=\"true\" [minLength]='1'\r\n (emitedValue)=\"handleFeedbackResponse($event)\" [maxLength]='500'\r\n [errorMessage]=\"i18n.translate('lenghtMin1Max500')\">\r\n </app-textarea>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"feedBackService.pendingForm\" id=\"responce_form\">\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('requestFrom')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.requestFrom}}\"></app-info-item>\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('requestTo')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.requestTo}}\"></app-info-item>\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('feedbackQuestion')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.requestFeedback}}\"></app-info-item>\r\n <app-info-item class=\"info-item w-100\" label=\"{{i18n.translate('feedback')}}\"\r\n value=\"{{feedBackService?.feedbackResponse?.responseFeedback}}\"></app-info-item>\r\n\r\n </ng-container>\r\n </div>\r\n\r\n <div class=\"d-flex align-items-center justify-content-center w-100 gap-3\" *ngIf=\"!submitted\">\r\n <ds-button shape=\"outline\" matDialogClose>\r\n {{i18n.translate('Cancel')}}\r\n </ds-button>\r\n <ds-button *ngIf=\"feedBackService.feedbackForm\" (click)=\"addFeedback()\"\r\n disabled=\"{{!(isFeedbackValidated)}}\">\r\n {{i18n.translate('submit')}}\r\n </ds-button>\r\n <ds-button *ngIf=\"!feedBackService.feedbackForm && feedBackService.responderForm\"\r\n disabled=\"{{!(isResponseValidated)}}\" (click)=\"addResponse()\">\r\n {{i18n.translate('submit')}}\r\n </ds-button>\r\n </div>\r\n </ng-container>\r\n\r\n </mat-dialog-content>\r\n\r\n</div>\r\n", styles: ["::ng-deep .main-popup{--popup-max-width: 700px !important;--popup-width: 100% !important}\n"] }]
|
|
228
|
-
}], ctorParameters: () => [{ type: i1.FeedBackService }, { type:
|
|
227
|
+
}], ctorParameters: () => [{ type: i1.FeedBackService }, { type: i1.CoreI18nService }, { type: undefined, decorators: [{
|
|
229
228
|
type: Inject,
|
|
230
229
|
args: [MAT_DIALOG_DATA]
|
|
231
230
|
}] }], propDecorators: { inboxItem: [{
|
|
@@ -233,4 +232,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "18.2.8", ngImpor
|
|
|
233
232
|
}], profile: [{
|
|
234
233
|
type: Input
|
|
235
234
|
}] } });
|
|
236
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlZGJhY2stc2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icG0tY29yZS9zcmMvbGliL2NvbXBvbmVudHMvYXBwLWNvbXBvbmVudC1zZWN0aW9ucy9mZWVkYmFjay1zZWN0aW9uL2ZlZWRiYWNrLXNlY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvZmVlZGJhY2stc2VjdGlvbi9mZWVkYmFjay1zZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzNHLE9BQU8sRUFBQyxTQUFTLEVBQUUsc0JBQXNCLEVBQVUsTUFBTSxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUUvRixPQUFPLEVBQUMsSUFBSSxFQUFhLFFBQVEsRUFBa0IsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRSxPQUFPLEtBQUssU0FBUyxNQUFNLDhCQUE4QixDQUFDO0FBQzFELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNyQyxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7OztBQTRCdEcsTUFBTSxPQUFPLHdCQUF3QjtJQWUxQjtJQUNBO0lBQ3lCO0lBaEJ6QixTQUFTLENBQVk7SUFDckIsT0FBTyxDQUFrQjtJQUNsQyxJQUFJLENBQU87SUFDWCxTQUFTLENBQU07SUFDZixTQUFTLEdBQUcsS0FBSyxDQUFDO0lBQ2xCLGNBQWMsR0FBVyxJQUFJLENBQUM7SUFDOUIsZ0JBQWdCLEdBQVcsSUFBSSxD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RyxLQUFLLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7SUFFRCx3QkFBd0I7UUFDdEIsSUFDRSxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxJQUFJLENBQUM7WUFDakMsSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sR0FBRyxHQUFHO1lBQ2xDLElBQUksQ0FBQyxTQUFTLENBQUMsV0FBVyxFQUMxQixDQUFDO1lBQ0QsSUFBSSxDQUFDLG1CQUFtQixHQUFHLElBQUksQ0FBQztRQUNsQyxDQUFDO2FBQU0sQ0FBQztZQUNOLElBQUksQ0FBQyxtQkFBbUIsR0FBRyxLQUFLLENBQUM7UUFDbkMsQ0FBQztJQUNILENBQUM7dUdBdE9VLHdCQUF3QixnRkFpQnpCLGVBQWU7MkZBakJkLHdCQUF3Qix3SUNsQ3JDLDZ6UUF3RkEscUpEdkVJLGdCQUFnQix5R0FDaEIsSUFBSSw2RkFDSix1QkFBdUIsNFRBQ3ZCLGlCQUFpQixzR0FDakIsaUJBQWlCLGdNQUNqQixjQUFjLCtIQUNkLGNBQWM7OzJGQVdMLHdCQUF3QjtrQkF2QnBDLFNBQVM7K0JBQ0Usc0JBQXNCLFdBR3ZCLENBQUMsc0JBQXNCLENBQUMsV0FDeEI7d0JBQ1AsZ0JBQWdCO3dCQUNoQixJQUFJO3dCQUNKLHVCQUF1Qjt3QkFDdkIsaUJBQWlCO3dCQUNqQixpQkFBaUI7d0JBQ2pCLGNBQWM7d0JBQ2QsY0FBYztxQkFDZixjQUNXLElBQUk7OzBCQTBCYixNQUFNOzJCQUFDLGVBQWU7eUNBaEJoQixTQUFTO3NCQUFqQixLQUFLO2dCQUNHLE9BQU87c0JBQWYsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7TUFUX0RJQUxPR19EQVRBLCBNYXREaWFsb2dDbG9zZSwgTWF0RGlhbG9nQ29udGVudCwgTWF0RGlhbG9nVGl0bGV9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2RpYWxvZyc7XHJcbmltcG9ydCB7Q29tcG9uZW50LCBDVVNUT01fRUxFTUVOVFNfU0NIRU1BLCBlZmZlY3QsIEluamVjdCwgSW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29yZUkxOG5TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7Rm9ybSwgSW5ib3hJdGVtLCBNZXNzYWdlcywgUHJvZmlsZUluZm9Ecm9wfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0ICogYXMgQ29uc3RhbnRzIGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9jb25zdGFudHMnO1xyXG5pbXBvcnQge05nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7SW5mb0l0ZW1Db21wb25lbnQsIFNlYXJjaEVtcGxveWVlQ29tcG9uZW50LCBUZXh0YXJlYUNvbXBvbmVudH0gZnJvbSBcIi4uLy4uL3NoYXJlZC1jb21wb25lbnRzXCI7XHJcbmltcG9ydCB7RmVlZEJhY2tTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXMvZmVlZEJhY2suc2VydmljZVwiO1xyXG5pbXBvcnQge01ZX0xJQl9DT05GSUdfVE9LRU59IGZyb20gXCIuLi8uLi8uLi8uLi9wdWJsaWMtYXBpXCI7XHJcbmltcG9ydCB7ZW52aXJvbm1lbnR9IGZyb20gXCIuLi8uLi8uLi9lbnZpcm9ubWVudHMvZW52aXJvbm1lbnQubG9jYWxcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWZlZWRiYWNrLXNlY3Rpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mZWVkYmFjay1zZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mZWVkYmFjay1zZWN0aW9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE1hdERpYWxvZ0NvbnRlbnQsXHJcbiAgICBOZ0lmLFxyXG4gICAgU2VhcmNoRW1wbG95ZWVDb21wb25lbnQsXHJcbiAgICBUZXh0YXJlYUNvbXBvbmVudCxcclxuICAgIEluZm9JdGVtQ29tcG9uZW50LFxyXG4gICAgTWF0RGlhbG9nVGl0bGUsXHJcbiAgICBNYXREaWFsb2dDbG9zZVxyXG4gIF0sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxuLyogIHByb3ZpZGVyczogW1xyXG4gICAgRmVlZEJhY2tTZXJ2aWNlLFxyXG4gICAge1xyXG4gICAgICBwcm92aWRlOiBNWV9MSUJfQ09ORklHX1RPS0VOLFxyXG4gICAgICB1c2VWYWx1ZTogZW52aXJvbm1lbnRcclxuICAgIH1cclxuICBdKi9cclxufSlcclxuZXhwb3J0IGNsYXNzIEZlZWRiYWNrU2VjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgaW5ib3hJdGVtOiBJbmJveEl0ZW07XHJcbiAgQElucHV0KCkgcHJvZmlsZTogUHJvZmlsZUluZm9Ecm9wO1xyXG4gIGZvcm06IEZvcm07XHJcbiAgc2VhcmNoRW1wOiBhbnk7XHJcbiAgc3VibWl0dGVkID0gZmFsc2U7XHJcbiAgZmVlZGJhY2tTdGF0dXM6IHN0cmluZyA9IG51bGw7XHJcbiAgZmVlZEJhY2tRdWVzdGlvbjogc3RyaW5nID0gbnVsbDtcclxuICBmZWVkQmFja1Jlc3BvbnNlOiBzdHJpbmcgPSBudWxsO1xyXG4gIGlzRmVlZGJhY2tWYWxpZGF0ZWQgPSBmYWxzZTtcclxuICBpc1Jlc3BvbnNlVmFsaWRhdGVkID0gZmFsc2U7XHJcbiAgZW1wbG95ZWVJbnB1dDogc3RyaW5nID0gbnVsbDtcclxuICBmZWVkYmFja0lkOiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBmZWVkQmFja1NlcnZpY2U6IEZlZWRCYWNrU2VydmljZSxcclxuICAgIHB1YmxpYyBpMThuOiBDb3JlSTE4blNlcnZpY2UsXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IGFueVxyXG4gICkge1xyXG4gICAgdGhpcy5wcm9maWxlID0gZGF0YS5wcm9maWxlO1xyXG4gICAgdGhpcy5pbmJveEl0ZW0gPSBkYXRhLmluYm94SXRlbTtcclxuICAgIHRoaXMuZm9ybSA9IGRhdGEuZm9ybTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKCF0aGlzLmZlZWRCYWNrU2VydmljZS5mZWVkQmFja1NlbnQpIHtcclxuICAgICAgY29uc3QgaXRlbSA9IHRoaXMuaW5ib3hJdGVtO1xyXG4gICAgICBpZiAoaXRlbT8uY2FuUmVxdWVzdEZlZWRiYWNrID09PSAndHJ1ZScpIHtcclxuICAgICAgICB0aGlzLmZlZWRiYWNrU3RhdHVzID0gQ29uc3RhbnRzLkZFRURCQUNLX1NUQVRVU19SRVFVRVNUO1xyXG4gICAgICAgIHRoaXMuZmVlZEJhY2tTZXJ2aWNlLmZlZWRiYWNrRm9ybSA9IHRydWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChcclxuICAgICAgICBpdGVtLmlzUmVxdWVzdGVkID09PSAndHJ1ZScgJiZcclxuICAgICAgICBpdGVtLmhhc0ZlZWRiYWNrID09PSAndHJ1ZScgJiZcclxuICAgICAgICBpdGVtLmlzUGVuZGluZyA9PT0gJ2ZhbHNlJyAmJlxyXG4gICAgICAgIGl0ZW0uaXNSZXNwb25kZWQgPT09ICdmYWxzZSdcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5mZWVkYmFja1N0YXR1cyA9IENvbnN0YW50cy5GRUVEQkFDS19TVEFUVVNfV0FJVElORztcclxuICAgICAgICB0aGlzLmZlZWRCYWNrU2VydmljZS5wZW5kaW5nRm9ybSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5nZXRGZWVkQmFjaygpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgaXRlbS5pc1JlcXVlc3RlZCA9PT0gJ2ZhbHNlJyAmJlxyXG4gICAgICAgIGl0ZW0uaGFzRmVlZGJhY2sgPT09ICd0cnVlJyAmJlxyXG4gICAgICAgIGl0ZW0uaXNQZW5kaW5nID09PSAndHJ1ZScgJiZcclxuICAgICAgICBpdGVtLmlzUmVzcG9uZGVkID09PSAnZmFsc2UnXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuZmVlZGJhY2tTdGF0dXMgPSBDb25zdGFudHMuRkVFREJBQ0tfU1RBVFVTX1JFU1BPTkQ7XHJcbiAgICAgICAgdGhpcy5mZWVkQmFja1NlcnZpY2UucmVzcG9uZGVyRm9ybSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5nZXRGZWVkQmFjaygpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgaXRlbS5pc1JlcXVlc3RlZCA9PT0gJ3RydWUnICYmXHJcbiAgICAgICAgaXRlbS5oYXNGZWVkYmFjayA9PT0gJ3RydWUnICYmXHJcbiAgICAgICAgaXRlbS5pc1BlbmRpbmcgPT09ICdmYWxzZScgJiZcclxuICAgICAgICBpdGVtLmlzUmVzcG9uZGVkID09PSAndHJ1ZSdcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5mZWVkYmFja1N0YXR1cyA9IENvbnN0YW50cy5GRUVEQkFDS19TVEFUVVNfUkVTUE9OREVEO1xyXG4gICAgICAgIHRoaXMuZmVlZEJhY2tTZXJ2aWNlLnBlbmRpbmdGb3JtID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmdldEZlZWRCYWNrKCk7XHJcbiAgICAgIH1cclxuICAgICAgLyogICAgICBjb25zdCBvYmogPSB7XHJcbiAgICAgICAgICAgICAgbmFtZTogJ2NoYW5nZUZlZWRiYWNrU3RhdHVzJyxcclxuICAgICAgICAgICAgICBkYXRhOiB0aGlzLmZlZWRiYWNrU3RhdHVzIVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB0aGlzLl9saXN0ZW5lclNlcnZpY2UuZmlsdGVyKG9iaik7Ki9cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEZlZWRCYWNrKCkge1xyXG4gICAgdGhpcy5mZWVkQmFja1NlcnZpY2UuZ2V0RmVlZGJhY2sodGhpcy5wcm9maWxlLmVtcGxveWVlRW1haWwpLnN1YnNjcmliZSgoUmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoUmVzcG9uc2UpIHtcclxuICAgICAgICBpZiAoUmVzcG9uc2UgaW5zdGFuY2VvZiBNZXNzYWdlcykge1xyXG4gICAgICAgICAgdGhpcy5zaG93RXJyb3IoUmVzcG9uc2UpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCByZXNwID0gUmVzcG9uc2VbJ2l0ZW1zJ11bMF07XHJcbiAgICAgICAgICB0aGlzLmZlZWRCYWNrU2VydmljZS5mZWVkYmFja1Jlc3BvbnNlLnJlcXVlc3RGcm9tID1cclxuICAgICAgICAgICAgcmVzcC5mcm9tWydmaXJzdE5hbWUnXSArXHJcbiAgICAgICAgICAgICcgJyArXHJcbiAgICAgICAgICAgIHJlc3AuZnJvbVsnbWlkZGxlTmFtZSddICtcclxuICAgICAgICAgICAgJyAnICtcclxuICAgICAgICAgICAgcmVzcC5mcm9tWydmYW1pbHlOYW1lJ107XHJcbiAgICAgICAgICB0aGlzLmZlZWRCYWNrU2VydmljZS5mZWVkYmFja1Jlc3BvbnNlLnJlcXVlc3RUbyA9XHJcbiAgICAgICAgICAgIHJlc3AudG9bJ2ZpcnN0TmFtZSddICtcclxuICAgICAgICAgICAgJyAnICtcclxuICAgICAgICAgICAgcmVzcC50b1snbWlkZGxlTmFtZSddICtcclxuICAgICAgICAgICAgJyAnICtcclxuICAgICAgICAgICAgcmVzcC50b1snZmFtaWx5TmFtZSddO1xyXG4gICAgICAgICAgdGhpcy5mZWVkQmFja1NlcnZpY2UuZmVlZGJhY2tSZXNwb25zZS5yZXF1ZXN0RmVlZGJhY2sgPVxyXG4gICAgICAgICAgICByZXNwLnF1ZXJ5O1xyXG4gICAgICAgICAgdGhpcy5mZWVkQmFja1NlcnZpY2UuZmVlZGJhY2tSZXNwb25zZS5yZXNwb25zZUZlZWRiYWNrID1cclxuICAgICAgICAgICAgcmVzcC5yZXNwb25zZTtcclxuICAgICAgICAgIHRoaXMuZmVlZGJhY2tJZCA9IHJlc3AuaWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgYWRkRmVlZGJhY2soKSB7XHJcbiAgICBpZiAodGhpcy5pc0ZlZWRiYWNrVmFsaWRhdGVkKSB7XHJcbiAgICAgIGNvbnN0IGVtYWlsID0gdGhpcy5zZWFyY2hFbXAucGVyc29uRW1haWwsXHJcbiAgICAgICAgcXVlc3Rpb24gPSB0aGlzLmZlZWRCYWNrUXVlc3Rpb247XHJcbiAgICAgIHRoaXMuZmVlZEJhY2tTZXJ2aWNlLnN1Ym1pdEZlZWRiYWNrKHtlbWFpbCwgcXVlc3Rpb259KS5zdWJzY3JpYmUoKFJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoUmVzcG9uc2UpIHtcclxuICAgICAgICAgIGlmIChSZXNwb25zZSBpbnN0YW5jZW9mIE1lc3NhZ2VzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd0Vycm9yKFJlc3BvbnNlKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3VibWl0dGVkID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuZmVlZGJhY2tTdGF0dXMgPSBDb25zdGFudHMuRkVFREJBQ0tfU1RBVFVTX1dBSVRJTkc7XHJcbiAgICAgICAgICAgIC8vIGNvbnN0IG9iaiA9IHtcclxuICAgICAgICAgICAgLy8gICBuYW1lOiAnY2hhbmdlRmVlZGJhY2tTdGF0dXMnLFxyXG4gICAgICAgICAgICAvLyAgIGRhdGE6IHRoaXMuZmVlZGJhY2tTdGF0dXNcclxuICAgICAgICAgICAgLy8gfTtcclxuICAgICAgICAgICAgLy8gdGhpcy5fbGlzdGVuZXJTZXJ2aWNlLmZpbHRlcihvYmopO1xyXG4gICAgICAgICAgICB0aGlzLmZlZWRCYWNrU2VydmljZS5mZWVkYmFja0Zvcm0gPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5mZWVkQmFja1NlcnZpY2UucGVuZGluZ0Zvcm0gPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmZlZWRCYWNrU2VydmljZS5mZWVkQmFja1NlbnQgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmZlZWRCYWNrU2VydmljZS5mZWVkYmFja1Jlc3BvbnNlLnJlcXVlc3RGcm9tID1cclxuICAgICAgICAgICAgICB0aGlzLnByb2ZpbGUuZnVsbE5hbWU7XHJcbiAgICAgICAgICAgIHRoaXMuZmVlZEJhY2tTZXJ2aWNlLmZlZWRiYWNrUmVzcG9uc2UucmVxdWVzdFRvID1cclxuICAgICAgICAgICAgICB0aGlzLnNlYXJjaEVtcC5wZXJzb25OYW1lO1xyXG4gICAgICAgICAgICB0aGlzLmZlZWRCYWNrU2VydmljZS5mZWVkYmFja1Jlc3BvbnNlLnJlcXVlc3RGZWVkYmFjayA9XHJcbiAgICAgICAgICAgICAgdGhpcy5mZWVkQmFja1F1ZXN0aW9uO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnN1Ym1pdHRlZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIGFkZFJlc3BvbnNlKCkge1xyXG4gICAgaWYgKHRoaXMuaXNGZWVkYmFja1ZhbGlkYXRlZCkge1xyXG4gICAgICBjb25zdCBmZWVkYmFja0lkID0gdGhpcy5mZWVkYmFja0lkLFxyXG4gICAgICAgIGZlZWRiYWNrUmVzcG9uc2UgPSB0aGlzLmZlZWRCYWNrUmVzcG9uc2U7XHJcbiAgICAgIHRoaXMuZmVlZEJhY2tTZXJ2aWNlLmFkZFJlc3BvbnNlKHtmZWVkYmFja0lkLCBmZWVkYmFja1Jlc3BvbnNlfSkuc3Vic2NyaWJlKChSZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKFJlc3BvbnNlKSB7XHJcbiAgICAgICAgICBpZiAoUmVzcG9uc2UgaW5zdGFuY2VvZiBNZXNzYWdlcykge1xyXG4gICAgICAgICAgICB0aGlzLnNob3dFcnJvcihSZXNwb25zZSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnN1Ym1pdHRlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuZmVlZGJhY2tTdGF0dXMgPSBDb25zdGFudHMuRkVFREJBQ0tfU1RBVFVTX1JFU1BPTkRFRDtcclxuICAgICAgICAgICAgLypjb25zdCBvYmogPSB7XHJcbiAgICAgICAgICAgICAgbmFtZTogJ2NoYW5nZUZlZWRiYWNrU3RhdHVzJyxcclxuICAgICAgICAgICAgICBkYXRhOiB0aGlzLmZlZWRiYWNrU3RhdHVzXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRoaXMuX2xpc3RlbmVyU2VydmljZS5maWx0ZXIob2JqKTsqL1xyXG4gICAgICAgICAgICB0aGlzLmZlZWRCYWNrU2VydmljZS5yZXNwb25kZXJGb3JtID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuZmVlZEJhY2tTZXJ2aWNlLmZlZWRCYWNrU2VudCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuZmVlZEJhY2tTZXJ2aWNlLnBlbmRpbmdGb3JtID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5mZWVkQmFja1NlcnZpY2UuZmVlZGJhY2tSZXNwb25zZS5yZXNwb25zZUZlZWRiYWNrID1cclxuICAgICAgICAgICAgICB0aGlzLmZlZWRCYWNrUmVzcG9uc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc3VibWl0dGVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBlcnJvck9jY3VyZWQgPSBmYWxzZTtcclxuICBpc1N1Ym1pdGluZyA9IGZhbHNlO1xyXG4gIGVycm9yTXNnID0gJyc7XHJcblxyXG4gIHNob3dFcnJvcihSZXNwb25zZTogYW55KSB7XHJcbiAgICBpZiAoIXRoaXMuZm9ybSkge1xyXG4gICAgICB0aGlzLmZvcm0gPSBuZXcgRm9ybShcclxuICAgICAgICBDb25zdGFudHMuTk9fVkFMVUUsXHJcbiAgICAgICAgQ29uc3RhbnRzLk5PX1ZBTFVFLFxyXG4gICAgICAgIENvbnN0YW50cy5OT19WQUxVRSxcclxuICAgICAgICBDb25zdGFudHMuTk9fVkFMVUUsXHJcbiAgICAgICAgQ29uc3RhbnRzLk5PX1ZBTFVFLFxyXG4gICAgICAgIENvbnN0YW50cy5OT19WQUxVRSxcclxuICAgICAgICBSZXNwb25zZVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5lcnJvck9jY3VyZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLmVycm9yTXNnID0gUmVzcG9uc2U/LmVycm9yWzBdO1xyXG4gICAgICAvLyB0aGlzLmZvcm0ubWVzc2FnZXMgPSBSZXNwb25zZTtcclxuICAgIH1cclxuICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUZlZWRiYWNrUXVlc3Rpb24oZXZlbnQpIHtcclxuICAgIHRoaXMuZmVlZEJhY2tRdWVzdGlvbiA9IGV2ZW50O1xyXG4gICAgdGhpcy5oYW5kbGVGZWVkYmFja1ZhbGlkYXRpb24oKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUZlZWRiYWNrUmVzcG9uc2UoZXZlbnQpIHtcclxuICAgIHRoaXMuZmVlZEJhY2tSZXNwb25zZSA9IGV2ZW50O1xyXG4gICAgdGhpcy5oYW5kbGVSZXNwb25zZVZhbGlkYXRpb24oKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZVVzZXJTZWxlY3RlZChldmVudCkge1xyXG4gICAgdGhpcy5zZWFyY2hFbXAgPSB7XHJcbiAgICAgIHBlcnNvbkVtYWlsOiBldmVudC5wZXJzb25FbWFpbCxcclxuICAgICAgcGVyc29uTmFtZTogZXZlbnQucGVyc29uTmFtZVxyXG4gICAgfTtcclxuICAgIGlmICghdGhpcy5mZWVkQmFja1F1ZXN0aW9uKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuaGFuZGxlRmVlZGJhY2tWYWxpZGF0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVSZXNwb25zZVZhbGlkYXRpb24oKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuZmVlZEJhY2tSZXNwb25zZS5sZW5ndGggPj0gMSAmJlxyXG4gICAgICB0aGlzLmZlZWRCYWNrUmVzcG9uc2UubGVuZ3RoIDwgNTAwXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5pc1Jlc3BvbnNlVmFsaWRhdGVkID0gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaXNSZXNwb25zZVZhbGlkYXRlZCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlRmVlZGJhY2tWYWxpZGF0aW9uKCkge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmZlZWRCYWNrUXVlc3Rpb24ubGVuZ3RoID49IDEgJiZcclxuICAgICAgdGhpcy5mZWVkQmFja1F1ZXN0aW9uLmxlbmd0aCA8IDUwMCAmJlxyXG4gICAgICB0aGlzLnNlYXJjaEVtcC5wZXJzb25FbWFpbFxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuaXNGZWVkYmFja1ZhbGlkYXRlZCA9IHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmlzRmVlZGJhY2tWYWxpZGF0ZWQgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInBvcHVwLWNvbnRhaW5lclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCIgbWF0LWRpYWxvZy10aXRsZT5cclxuICAgIDxoMz57e2kxOG4udHJhbnNsYXRlKCdyZXF1ZXN0RmVlZGJhY2snKX19PC9oMz5cclxuICAgIDxkcy1idXR0b24gc3F1YXJlIGljb24gbWF0RGlhbG9nQ2xvc2U+XHJcbiAgICAgIDxkcy1pY29uIGljb249XCJjbG9zZVwiIGNsYXNzPVwiZnMtMjAgZmMtYmxhY2tcIj48L2RzLWljb24+XHJcbiAgICA8L2RzLWJ1dHRvbj5cclxuICA8L2Rpdj5cclxuICA8bWF0LWRpYWxvZy1jb250ZW50PlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBweS00XCIgKm5nSWY9XCJzdWJtaXR0ZWRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIG1iLTRcIj5cclxuICAgICAgICA8c3ZnIHdpZHRoPVwiNzlcIiBoZWlnaHQ9XCI3NlwiIHZpZXdCb3g9XCIwIDAgNzkgNzZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgIGQ9XCJNNTkuOTgwNCAwLjA5OTg2NzZMMS4zOTIzOSAxOS4yNDc5QzEuMDIyMjMgMTkuMzY5MiAwLjY5NDk4IDE5LjU5NDggMC40NDk5OSAxOS44OTc2QzAuMjA1IDIwLjIwMDUgMC4wNTI2OTg1IDIwLjU2NzYgMC4wMTEzOTg1IDIwLjk1NUMtMC4wMjk5MDE2IDIxLjM0MjMgMC4wNDE1NTc2IDIxLjczMzMgMC4yMTcxODQgMjIuMDgxQzAuMzkyODEgMjIuNDI4NyAwLjY2NTEyOCAyMi43MTgzIDEuMDAxMzkgMjIuOTE0OUwyMy4xNDU0IDM1Ljc4OTlDMjMuNDg3IDM1Ljk4ODYgMjMuODc5NCAzNi4wODI4IDI0LjI3NCAzNi4wNjA4QzI0LjY2ODYgMzYuMDM4OCAyNS4wNDgxIDM1LjkwMTQgMjUuMzY1NCAzNS42NjU5TDMxLjU4OTQgMzEuMDQzOUwyNi45Njc0IDM3LjI2NzlDMjYuNzMxOCAzNy41ODUyIDI2LjU5NDQgMzcuOTY0NiAyNi41NzIyIDM4LjM1OTFDMjYuNTQ5OSAzOC43NTM3IDI2LjY0MzkgMzkuMTQ2MSAyNi44NDI0IDM5LjQ4NzlMMzkuNzE3NCA2MS42Mjg5QzM5LjkxMzggNjEuOTY1MiA0MC4yMDMxIDYyLjIzNzcgNDAuNTUwNiA2Mi40MTM1QzQwLjg5ODEgNjIuNTg5NCA0MS4yODkgNjIuNjYxMSA0MS42NzYzIDYyLjYyMDFDNDIuMDYzNiA2Mi41NzkxIDQyLjQzMDggNjIuNDI3MiA0Mi43MzM4IDYyLjE4MjVDNDMuMDM2OSA2MS45Mzc4IDQzLjI2MjggNjEuNjEwOCA0My4zODQ0IDYxLjI0MDlMNjIuNTI5NCAyLjY1MTg3QzYyLjY0NTggMi4yOTY4NiA2Mi42NjE1IDEuOTE2NTQgNjIuNTc0OSAxLjU1MzEzQzYyLjQ4ODMgMS4xODk3MSA2Mi4zMDI2IDAuODU3NDAxIDYyLjAzODYgMC41OTMwNzFDNjEuNzc0NiAwLjMyODc0MSA2MS40NDI1IDAuMTQyNzI2IDYxLjA3OTIgMC4wNTU2NjY1QzYwLjcxNTkgLTAuMDMxMzkzMyA2MC4zMzU1IC0wLjAxNjA5MzcgNTkuOTgwNCAwLjA5OTg2NzZaTTQwLjk0MzQgNTUuNjk5OUwzMS4wMDE0IDM4LjYwNjlMNDIuOTg5NCAyMi40Njg5QzQzLjI3OTcgMjIuMDc5OCA0My40MjAyIDIxLjU5OTMgNDMuMzg1MiAyMS4xMTUyQzQzLjM1MDIgMjAuNjMxIDQzLjE0MiAyMC4xNzU3IDQyLjc5ODggMTkuODMyNUM0Mi40NTU2IDE5LjQ4OTMgNDIuMDAwMiAxOS4yODExIDQxLjUxNjEgMTkuMjQ2MUM0MS4wMzIgMTkuMjExMSA0MC41NTE0IDE5LjM1MTYgNDAuMTYyNCAxOS42NDE5TDI0LjAyNTQgMzEuNjI3OUw2LjkzMzM5IDIxLjY4ODlMNTcuNDUxNCA1LjE4MDg3TDQwLjk0MzQgNTUuNjk5OVpNMjEuMjEzNCA0NC4yNzU5TDcuODAxMzkgNTcuNjkwOUM3LjQyMjUzIDU4LjA3MDEgNi45MDg1MyA1OC4yODMzIDYuMzcyNDYgNTguMjgzNkM1LjgzNjM4IDU4LjI4MzkgNS4zMjIxNSA1OC4wNzEyIDQuOTQyODkgNTcuNjkyNEM0LjU2MzYzIDU3LjMxMzUgNC4zNTA0MSA1Ni43OTk1IDQuMzUwMTMgNTYuMjYzNEM0LjM0OTg1IDU1LjcyNzQgNC41NjI1MyA1NS4yMTMxIDQuOTQxMzkgNTQuODMzOUwxOC4zNTY0IDQxLjQxODlDMTguNzM1MyA0MS4wNCAxOS4yNDkxIDQwLjgyNzIgMTkuNzg0OSA0MC44MjcyQzIwLjMyMDcgNDAuODI3MiAyMC44MzQ1IDQxLjA0IDIxLjIxMzQgNDEuNDE4OUMyMS41OTIzIDQxLjc5NzcgMjEuODA1MSA0Mi4zMTE2IDIxLjgwNTEgNDIuODQ3NEMyMS44MDUxIDQzLjM4MzIgMjEuNTkyMyA0My44OTcgMjEuMjEzNCA0NC4yNzU5Wk0zLjQ5MTM5IDQ0Ljc4MzlDMy4zMDM3OCA0NC41OTYzIDMuMTU0OTUgNDQuMzczNiAzLjA1MzQxIDQ0LjEyODVDMi45NTE4NyA0My44ODM0IDIuODk5NjEgNDMuNjIwNyAyLjg5OTYxIDQzLjM1NTRDMi44OTk2MSA0My4wOTAxIDIuOTUxODcgNDIuODI3NCAzLjA1MzQxIDQyLjU4MjNDMy4xNTQ5NSA0Mi4zMzcxIDMuMzAzNzggNDIuMTE0NCAzLjQ5MTM5IDQxLjkyNjlMOC43ODQzOSAzNi42MzM5QzkuMTYzMjYgMzYuMjU1IDkuNjc3MSAzNi4wNDIyIDEwLjIxMjkgMzYuMDQyMkMxMC43NDg3IDM2LjA0MjIgMTEuMjYyNSAzNi4yNTUgMTEuNjQxNCAzNi42MzM5QzEyLjAyMDMgMzcuMDEyNyAxMi4yMzMxIDM3LjUyNjYgMTIuMjMzMSAzOC4wNjI0QzEyLjIzMzEgMzguNTk4MiAxMi4wMjAzIDM5LjExMiAxMS42NDE0IDM5LjQ5MDlMNi4zNDkzOSA0NC43ODM5QzYuMTYxOCA0NC45NzE2IDUuOTM5MDMgNDUuMTIwNiA1LjY5Mzg0IDQ1LjIyMjJDNS40NDg2NCA0NS4zMjM4IDUuMTg1ODIgNDUuMzc2MiA0LjkyMDM5IDQ1LjM3NjJDNC42NTQ5NyA0NS4zNzYyIDQuMzkyMTUgNDUuMzIzOCA0LjE0Njk1IDQ1LjIyMjJDMy45MDE3NiA0NS4xMjA2IDMuNjc4OTkgNDQuOTcxNiAzLjQ5MTM5IDQ0Ljc4MzlaTTI2LjAwMTQgNTAuOTg5OUMyNi4xODkgNTEuMTc3NCAyNi4zMzc4IDUxLjQwMDEgMjYuNDM5NCA1MS42NDUzQzI2LjU0MDkgNTEuODkwNCAyNi41OTMyIDUyLjE1MzEgMjYuNTkzMiA1Mi40MTg0QzI2LjU5MzIgNTIuNjgzNyAyNi41NDA5IDUyLjk0NjQgMjYuNDM5NCA1My4xOTE1QzI2LjMzNzggNTMuNDM2NiAyNi4xODkgNTMuNjU5MyAyNi4wMDE0IDUzLjg0NjlMMjAuNzAxNCA1OS4xNDA5QzIwLjMyMjUgNTkuNTE5NyAxOS44MDg3IDU5LjczMjYgMTkuMjcyOSA1OS43MzI2QzE4LjczNzEgNTkuNzMyNiAxOC4yMjMzIDU5LjUxOTcgMTcuODQ0NCA1OS4xNDA5QzE3LjQ2NTUgNTguNzYyIDE3LjI1MjcgNTguMjQ4MiAxNy4yNTI3IDU3LjcxMjRDMTcuMjUyNyA1Ny4xNzY2IDE3LjQ2NTUgNTYuNjYyNyAxNy44NDQ0IDU2LjI4MzlMMjMuMTM3NCA1MC45OTA5QzIzLjMyNSA1MC44MDMyIDIzLjU0NzcgNTAuNjU0NCAyMy43OTI4IDUwLjU1MjlDMjQuMDM3OSA1MC40NTEzIDI0LjMwMDYgNTAuMzk5MSAyNC41NjU5IDUwLjM5OTFDMjQuODMxMiA1MC4zOTkxIDI1LjA5MzkgNTAuNDUxMyAyNS4zMzkgNTAuNTUyOUMyNS41ODQxIDUwLjY1NDQgMjUuODA2OCA1MC44MDMyIDI1Ljk5NDQgNTAuOTkwOUwyNi4wMDE0IDUwLjk4OTlaXCJcclxuICAgICAgICAgICAgZmlsbD1cIiM4RTlBQTBcIiAvPlxyXG4gICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgZD1cIk01OC4wMDE1IDc1LjMxMTlDNjkuMDQ3MiA3NS4zMTE5IDc4LjAwMTUgNjYuMzU3NiA3OC4wMDE1IDU1LjMxMTlDNzguMDAxNSA0NC4yNjYyIDY5LjA0NzIgMzUuMzExOSA1OC4wMDE1IDM1LjMxMTlDNDYuOTU1OCAzNS4zMTE5IDM4LjAwMTUgNDQuMjY2MiAzOC4wMDE1IDU1LjMxMTlDMzguMDAxNSA2Ni4zNTc2IDQ2Ljk1NTggNzUuMzExOSA1OC4wMDE1IDc1LjMxMTlaXCJcclxuICAgICAgICAgICAgZmlsbD1cIiMwMEM0OENcIiAvPlxyXG4gICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgZD1cIk01Ni44ODA0IDU3LjMxODNMNTQuMDM0NiA1NC40NzI1TDUyLjk3NDMgNTUuNTMzNkw1Ni44Nzc0IDU5LjQzNjdMNjUuODM1NCA1MC41MjY3TDY1LjQ5MjcgNTAuMDEzOEM2My44NTU3IDQ3LjU4MTIgNjEuMTEzNCA0Ni4wMDIgNTguMDAxNSA0Ni4wMDJDNTMuMDMxMyA0Ni4wMDIgNDkuMDAxNSA1MC4wMzEgNDkuMDAxNSA1NS4wMDJDNDkuMDAxNSA1OS45NzI5IDUzLjAzMDUgNjQuMDAyIDU4LjAwMTUgNjQuMDAyQzYyLjk3MTYgNjQuMDAyIDY3LjAwMDcgNTkuOTcyOSA2Ny4wMDE1IDU1LjAwMzVINjUuNTAxN0M2NS41MDE3IDU1LjAwNSA2NS41MDE3IDU1LjAwNzIgNjUuNTAxNyA1NS4wMDk1QzY1LjUwMTcgNTkuMTUwMyA2Mi4xNDUzIDYyLjUwNjcgNTguMDA0NSA2Mi41MDY3QzUzLjg2MzcgNjIuNTA2NyA1MC41MDcyIDU5LjE1MDMgNTAuNTA3MiA1NS4wMDk1QzUwLjUwNzIgNTAuODY4NiA1My44NjM3IDQ3LjUxMjIgNTguMDA0NSA0Ny41MTIyQzYwLjM3OTMgNDcuNTEyMiA2Mi40OTYyIDQ4LjYxNjggNjMuODcgNTAuMzM5Mkw2My44ODIgNTAuMzU0Mkw1Ni44ODA0IDU3LjMxODNaXCJcclxuICAgICAgICAgICAgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICA8L3N2Zz5cclxuXHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8aDIgY2xhc3M9XCJmcy0xNiBmdy1tZWRpdW0gZmMtYmxhY2sgbWItNCB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgIHt7aTE4bi50cmFuc2xhdGUoJ3N1Ym1pdHRlZFN1Y2Nlc3NmdWxseScpfX1cclxuICAgICAgPC9oMj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc3VibWl0dGVkXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCIgKm5nSWY9XCJmZWVkQmFja1NlcnZpY2UuZmVlZGJhY2tGb3JtIFwiPlxyXG4gICAgICAgIDxhcHAtc2VhcmNoLWVtcGxveWVlICNlbXBsb3llZSBsYWJlbD1cInt7aTE4bi50cmFuc2xhdGUoJ3JlcXVlc3RUbycpfX1cIiBbZmllbGRdPVwic2VhcmNoRW1wXCJcclxuICAgICAgICAgIFtsYWJlbFRleHRSZWFkTW9kZV09XCJpMThuLnRyYW5zbGF0ZSgncmVxdWVzdFRvJylcIiBbbGFiZWxUZXh0V3JpdGVNb2RlXT1cImkxOG4udHJhbnNsYXRlKCdyZXF1ZXN0VG8nKVwiXHJcbiAgICAgICAgICBbbmFtZV09XCInc2VhcmNoRW1wJ1wiIChlbWl0ZWRWYWx1ZSk9XCJoYW5kbGVVc2VyU2VsZWN0ZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvYXBwLXNlYXJjaC1lbXBsb3llZT5cclxuICAgICAgICA8YXBwLXRleHRhcmVhICNyZXF1ZXN0IFtmaWVsZF09XCJlbXBsb3llZUlucHV0XCIgbmFtZT1cImVtcGxveWVlSW5wdXRcIiBsYWJlbD1cInt7aTE4bi50cmFuc2xhdGUoJ2ZlZWRiYWNrJyl9fVwiXHJcbiAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiIFttaW5MZW5ndGhdPScxJyAoZW1pdGVkVmFsdWUpPVwiaGFuZGxlRmVlZGJhY2tRdWVzdGlvbigkZXZlbnQpXCIgW21heExlbmd0aF09JzUwMCdcclxuICAgICAgICAgIFtlcnJvck1lc3NhZ2VdPVwiaTE4bi50cmFuc2xhdGUoJ2xlbmdodE1pbjFNYXg1MDAnKVwiPlxyXG4gICAgICAgIDwvYXBwLXRleHRhcmVhPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLXNlY3Rpb25cIiAqbmdJZj1cIiFmZWVkQmFja1NlcnZpY2UuZmVlZGJhY2tGb3JtXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZlZWRCYWNrU2VydmljZS5yZXNwb25kZXJGb3JtXCI+XHJcbiAgICAgICAgICA8YXBwLWluZm8taXRlbSBjbGFzcz1cImluZm8taXRlbSB3LTEwMFwiIGxhYmVsPVwie3tpMThuLnRyYW5zbGF0ZSgncmVxdWVzdEZyb20nKX19XCJcclxuICAgICAgICAgICAgdmFsdWU9XCJ7e2ZlZWRCYWNrU2VydmljZT8uZmVlZGJhY2tSZXNwb25zZT8ucmVxdWVzdEZyb219fVwiPjwvYXBwLWluZm8taXRlbT5cclxuICAgICAgICAgIDxhcHAtaW5mby1pdGVtIGNsYXNzPVwiaW5mby1pdGVtIHctMTAwXCIgbGFiZWw9XCJ7e2kxOG4udHJhbnNsYXRlKCdyZXF1ZXN0VG8nKX19XCJcclxuICAgICAgICAgICAgdmFsdWU9XCJ7e2ZlZWRCYWNrU2VydmljZT8uZmVlZGJhY2tSZXNwb25zZT8ucmVxdWVzdFRvfX1cIj48L2FwcC1pbmZvLWl0ZW0+XHJcbiAgICAgICAgICA8YXBwLWluZm8taXRlbSBjbGFzcz1cImluZm8taXRlbSB3LTEwMFwiIGxhYmVsPVwie3tpMThuLnRyYW5zbGF0ZSgnZmVlZGJhY2tRdWVzdGlvbicpfX1cIlxyXG4gICAgICAgICAgICB2YWx1ZT1cInt7ZmVlZEJhY2tTZXJ2aWNlPy5mZWVkYmFja1Jlc3BvbnNlPy5yZXF1ZXN0RmVlZGJhY2t9fVwiPjwvYXBwLWluZm8taXRlbT5cclxuICAgICAgICAgIDxhcHAtaW5mby1pdGVtIGNsYXNzPVwiaW5mby1pdGVtIHctMTAwXCIgbGFiZWw9XCJ7e2kxOG4udHJhbnNsYXRlKCdmZWVkYmFjaycpfX1cIlxyXG4gICAgICAgICAgICB2YWx1ZT1cInt7ZmVlZEJhY2tTZXJ2aWNlPy5mZWVkYmFja1Jlc3BvbnNlPy5yZXNwb25zZUZlZWRiYWNrfX1cIj48L2FwcC1pbmZvLWl0ZW0+XHJcbiAgICAgICAgICA8YXBwLXRleHRhcmVhICNyZXF1ZXN0IGNsYXNzPVwiZnVsbCBteC0zIG10LTMgc2VjdGlvbi1pdGVtXCIgW2ZpZWxkXT1cImVtcGxveWVlSW5wdXRcIiBuYW1lPVwiZW1wbG95ZWVJbnB1dFwiXHJcbiAgICAgICAgICAgIGxhYmVsPVwie3tpMThuLnRyYW5zbGF0ZSgnZmVlZGJhY2snKX19XCIgW3JlcXVpcmVkXT1cInRydWVcIiBbbWluTGVuZ3RoXT0nMSdcclxuICAgICAgICAgICAgKGVtaXRlZFZhbHVlKT1cImhhbmRsZUZlZWRiYWNrUmVzcG9uc2UoJGV2ZW50KVwiIFttYXhMZW5ndGhdPSc1MDAnXHJcbiAgICAgICAgICAgIFtlcnJvck1lc3NhZ2VdPVwiaTE4bi50cmFuc2xhdGUoJ2xlbmdodE1pbjFNYXg1MDAnKVwiPlxyXG4gICAgICAgICAgPC9hcHAtdGV4dGFyZWE+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmZWVkQmFja1NlcnZpY2UucGVuZGluZ0Zvcm1cIiBpZD1cInJlc3BvbmNlX2Zvcm1cIj5cclxuICAgICAgICAgIDxhcHAtaW5mby1pdGVtIGNsYXNzPVwiaW5mby1pdGVtIHctMTAwXCIgbGFiZWw9XCJ7e2kxOG4udHJhbnNsYXRlKCdyZXF1ZXN0RnJvbScpfX1cIlxyXG4gICAgICAgICAgICB2YWx1ZT1cInt7ZmVlZEJhY2tTZXJ2aWNlPy5mZWVkYmFja1Jlc3BvbnNlPy5yZXF1ZXN0RnJvbX19XCI+PC9hcHAtaW5mby1pdGVtPlxyXG4gICAgICAgICAgPGFwcC1pbmZvLWl0ZW0gY2xhc3M9XCJpbmZvLWl0ZW0gdy0xMDBcIiBsYWJlbD1cInt7aTE4bi50cmFuc2xhdGUoJ3JlcXVlc3RUbycpfX1cIlxyXG4gICAgICAgICAgICB2YWx1ZT1cInt7ZmVlZEJhY2tTZXJ2aWNlPy5mZWVkYmFja1Jlc3BvbnNlPy5yZXF1ZXN0VG99fVwiPjwvYXBwLWluZm8taXRlbT5cclxuICAgICAgICAgIDxhcHAtaW5mby1pdGVtIGNsYXNzPVwiaW5mby1pdGVtIHctMTAwXCIgbGFiZWw9XCJ7e2kxOG4udHJhbnNsYXRlKCdmZWVkYmFja1F1ZXN0aW9uJyl9fVwiXHJcbiAgICAgICAgICAgIHZhbHVlPVwie3tmZWVkQmFja1NlcnZpY2U/LmZlZWRiYWNrUmVzcG9uc2U/LnJlcXVlc3RGZWVkYmFja319XCI+PC9hcHAtaW5mby1pdGVtPlxyXG4gICAgICAgICAgPGFwcC1pbmZvLWl0ZW0gY2xhc3M9XCJpbmZvLWl0ZW0gdy0xMDBcIiBsYWJlbD1cInt7aTE4bi50cmFuc2xhdGUoJ2ZlZWRiYWNrJyl9fVwiXHJcbiAgICAgICAgICAgIHZhbHVlPVwie3tmZWVkQmFja1NlcnZpY2U/LmZlZWRiYWNrUmVzcG9uc2U/LnJlc3BvbnNlRmVlZGJhY2t9fVwiPjwvYXBwLWluZm8taXRlbT5cclxuXHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciB3LTEwMCBnYXAtM1wiICpuZ0lmPVwiIXN1Ym1pdHRlZFwiPlxyXG4gICAgICAgIDxkcy1idXR0b24gc2hhcGU9XCJvdXRsaW5lXCIgbWF0RGlhbG9nQ2xvc2U+XHJcbiAgICAgICAgICB7e2kxOG4udHJhbnNsYXRlKCdDYW5jZWwnKX19XHJcbiAgICAgICAgPC9kcy1idXR0b24+XHJcbiAgICAgICAgPGRzLWJ1dHRvbiAqbmdJZj1cImZlZWRCYWNrU2VydmljZS5mZWVkYmFja0Zvcm1cIiAoY2xpY2spPVwiYWRkRmVlZGJhY2soKVwiXHJcbiAgICAgICAgICBkaXNhYmxlZD1cInt7IShpc0ZlZWRiYWNrVmFsaWRhdGVkKX19XCI+XHJcbiAgICAgICAgICB7e2kxOG4udHJhbnNsYXRlKCdzdWJtaXQnKX19XHJcbiAgICAgICAgPC9kcy1idXR0b24+XHJcbiAgICAgICAgPGRzLWJ1dHRvbiAqbmdJZj1cIiFmZWVkQmFja1NlcnZpY2UuZmVlZGJhY2tGb3JtICYmIGZlZWRCYWNrU2VydmljZS5yZXNwb25kZXJGb3JtXCJcclxuICAgICAgICAgIGRpc2FibGVkPVwie3shKGlzUmVzcG9uc2VWYWxpZGF0ZWQpfX1cIiAoY2xpY2spPVwiYWRkUmVzcG9uc2UoKVwiPlxyXG4gICAgICAgICAge3tpMThuLnRyYW5zbGF0ZSgnc3VibWl0Jyl9fVxyXG4gICAgICAgIDwvZHMtYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8L21hdC1kaWFsb2ctY29udGVudD5cclxuXHJcbjwvZGl2PlxyXG4iXX0=
|
|
235
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZmVlZGJhY2stc2VjdGlvbi5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9icG0tY29yZS9zcmMvbGliL2NvbXBvbmVudHMvYXBwLWNvbXBvbmVudC1zZWN0aW9ucy9mZWVkYmFjay1zZWN0aW9uL2ZlZWRiYWNrLXNlY3Rpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvYnBtLWNvcmUvc3JjL2xpYi9jb21wb25lbnRzL2FwcC1jb21wb25lbnQtc2VjdGlvbnMvZmVlZGJhY2stc2VjdGlvbi9mZWVkYmFjay1zZWN0aW9uLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBQyxlQUFlLEVBQUUsY0FBYyxFQUFFLGdCQUFnQixFQUFFLGNBQWMsRUFBQyxNQUFNLDBCQUEwQixDQUFDO0FBQzNHLE9BQU8sRUFBQyxTQUFTLEVBQUUsc0JBQXNCLEVBQUUsTUFBTSxFQUFFLEtBQUssRUFBUyxNQUFNLGVBQWUsQ0FBQztBQUV2RixPQUFPLEVBQUMsSUFBSSxFQUFhLFFBQVEsRUFBa0IsTUFBTSxxQkFBcUIsQ0FBQztBQUMvRSxPQUFPLEtBQUssU0FBUyxNQUFNLDhCQUE4QixDQUFDO0FBQzFELE9BQU8sRUFBQyxJQUFJLEVBQUMsTUFBTSxpQkFBaUIsQ0FBQztBQUNyQyxPQUFPLEVBQUMsaUJBQWlCLEVBQUUsdUJBQXVCLEVBQUUsaUJBQWlCLEVBQUMsTUFBTSx5QkFBeUIsQ0FBQzs7O0FBbUJ0RyxNQUFNLE9BQU8sd0JBQXdCO0lBZTFCO0lBQ0E7SUFDeUI7SUFoQnpCLFNBQVMsQ0FBWTtJQUNyQixPQUFPLENBQWtCO0lBQ2xDLElBQUksQ0FBTztJQUNYLFNBQVMsQ0FBTTtJQUNmLFNBQVMsR0FBRyxLQUFLLENBQUM7SUFDbEIsY0FBYyxHQUFXLElBQUksQ0FBQztJQUM5QixnQkFBZ0IsR0FBVyxJQUFJLENB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LEtBQUssQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQztJQUVELHdCQUF3QjtRQUN0QixJQUNFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLElBQUksQ0FBQztZQUNqQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsTUFBTSxHQUFHLEdBQUc7WUFDbEMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxXQUFXLEVBQzFCLENBQUM7WUFDRCxJQUFJLENBQUMsbUJBQW1CLEdBQUcsSUFBSSxDQUFDO1FBQ2xDLENBQUM7YUFBTSxDQUFDO1lBQ04sSUFBSSxDQUFDLG1CQUFtQixHQUFHLEtBQUssQ0FBQztRQUNuQyxDQUFDO0lBQ0gsQ0FBQzt1R0F0T1Usd0JBQXdCLGdGQWlCekIsZUFBZTsyRkFqQmQsd0JBQXdCLHdJQ3pCckMsNnpRQXdGQSxxSkR6RUksZ0JBQWdCLHlHQUNoQixJQUFJLDZGQUNKLHVCQUF1QixvU0FDdkIsaUJBQWlCLHNHQUNqQixpQkFBaUIsZ01BQ2pCLGNBQWMsK0hBQ2QsY0FBYzs7MkZBSUwsd0JBQXdCO2tCQWhCcEMsU0FBUzsrQkFDRSxzQkFBc0IsV0FHdkIsQ0FBQyxzQkFBc0IsQ0FBQyxXQUN4Qjt3QkFDUCxnQkFBZ0I7d0JBQ2hCLElBQUk7d0JBQ0osdUJBQXVCO3dCQUN2QixpQkFBaUI7d0JBQ2pCLGlCQUFpQjt3QkFDakIsY0FBYzt3QkFDZCxjQUFjO3FCQUNmLGNBQ1csSUFBSTs7MEJBbUJiLE1BQU07MkJBQUMsZUFBZTt5Q0FoQmhCLFNBQVM7c0JBQWpCLEtBQUs7Z0JBQ0csT0FBTztzQkFBZixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtNQVRfRElBTE9HX0RBVEEsIE1hdERpYWxvZ0Nsb3NlLCBNYXREaWFsb2dDb250ZW50LCBNYXREaWFsb2dUaXRsZX0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcclxuaW1wb3J0IHtDb21wb25lbnQsIENVU1RPTV9FTEVNRU5UU19TQ0hFTUEsIEluamVjdCwgSW5wdXQsIE9uSW5pdH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7Q29yZUkxOG5TZXJ2aWNlfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcyc7XHJcbmltcG9ydCB7Rm9ybSwgSW5ib3hJdGVtLCBNZXNzYWdlcywgUHJvZmlsZUluZm9Ecm9wfSBmcm9tICcuLi8uLi8uLi9pbnRlcmZhY2VzJztcclxuaW1wb3J0ICogYXMgQ29uc3RhbnRzIGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9jb25zdGFudHMnO1xyXG5pbXBvcnQge05nSWZ9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7SW5mb0l0ZW1Db21wb25lbnQsIFNlYXJjaEVtcGxveWVlQ29tcG9uZW50LCBUZXh0YXJlYUNvbXBvbmVudH0gZnJvbSBcIi4uLy4uL3NoYXJlZC1jb21wb25lbnRzXCI7XHJcbmltcG9ydCB7RmVlZEJhY2tTZXJ2aWNlfSBmcm9tIFwiLi4vLi4vLi4vc2VydmljZXNcIjtcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLWZlZWRiYWNrLXNlY3Rpb24nLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9mZWVkYmFjay1zZWN0aW9uLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9mZWVkYmFjay1zZWN0aW9uLmNvbXBvbmVudC5zY3NzJ10sXHJcbiAgc2NoZW1hczogW0NVU1RPTV9FTEVNRU5UU19TQ0hFTUFdLFxyXG4gIGltcG9ydHM6IFtcclxuICAgIE1hdERpYWxvZ0NvbnRlbnQsXHJcbiAgICBOZ0lmLFxyXG4gICAgU2VhcmNoRW1wbG95ZWVDb21wb25lbnQsXHJcbiAgICBUZXh0YXJlYUNvbXBvbmVudCxcclxuICAgIEluZm9JdGVtQ29tcG9uZW50LFxyXG4gICAgTWF0RGlhbG9nVGl0bGUsXHJcbiAgICBNYXREaWFsb2dDbG9zZVxyXG4gIF0sXHJcbiAgc3RhbmRhbG9uZTogdHJ1ZSxcclxufSlcclxuZXhwb3J0IGNsYXNzIEZlZWRiYWNrU2VjdGlvbkNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgQElucHV0KCkgaW5ib3hJdGVtOiBJbmJveEl0ZW07XHJcbiAgQElucHV0KCkgcHJvZmlsZTogUHJvZmlsZUluZm9Ecm9wO1xyXG4gIGZvcm06IEZvcm07XHJcbiAgc2VhcmNoRW1wOiBhbnk7XHJcbiAgc3VibWl0dGVkID0gZmFsc2U7XHJcbiAgZmVlZGJhY2tTdGF0dXM6IHN0cmluZyA9IG51bGw7XHJcbiAgZmVlZEJhY2tRdWVzdGlvbjogc3RyaW5nID0gbnVsbDtcclxuICBmZWVkQmFja1Jlc3BvbnNlOiBzdHJpbmcgPSBudWxsO1xyXG4gIGlzRmVlZGJhY2tWYWxpZGF0ZWQgPSBmYWxzZTtcclxuICBpc1Jlc3BvbnNlVmFsaWRhdGVkID0gZmFsc2U7XHJcbiAgZW1wbG95ZWVJbnB1dDogc3RyaW5nID0gbnVsbDtcclxuICBmZWVkYmFja0lkOiBzdHJpbmcgPSBudWxsO1xyXG5cclxuICBjb25zdHJ1Y3RvcihcclxuICAgIHB1YmxpYyBmZWVkQmFja1NlcnZpY2U6IEZlZWRCYWNrU2VydmljZSxcclxuICAgIHB1YmxpYyBpMThuOiBDb3JlSTE4blNlcnZpY2UsXHJcbiAgICBASW5qZWN0KE1BVF9ESUFMT0dfREFUQSkgcHVibGljIGRhdGE6IGFueVxyXG4gICkge1xyXG4gICAgdGhpcy5wcm9maWxlID0gZGF0YS5wcm9maWxlO1xyXG4gICAgdGhpcy5pbmJveEl0ZW0gPSBkYXRhLmluYm94SXRlbTtcclxuICAgIHRoaXMuZm9ybSA9IGRhdGEuZm9ybTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCkge1xyXG4gICAgaWYgKCF0aGlzLmZlZWRCYWNrU2VydmljZS5mZWVkQmFja1NlbnQpIHtcclxuICAgICAgY29uc3QgaXRlbSA9IHRoaXMuaW5ib3hJdGVtO1xyXG4gICAgICBpZiAoaXRlbT8uY2FuUmVxdWVzdEZlZWRiYWNrID09PSAndHJ1ZScpIHtcclxuICAgICAgICB0aGlzLmZlZWRiYWNrU3RhdHVzID0gQ29uc3RhbnRzLkZFRURCQUNLX1NUQVRVU19SRVFVRVNUO1xyXG4gICAgICAgIHRoaXMuZmVlZEJhY2tTZXJ2aWNlLmZlZWRiYWNrRm9ybSA9IHRydWU7XHJcbiAgICAgIH1cclxuXHJcbiAgICAgIGlmIChcclxuICAgICAgICBpdGVtLmlzUmVxdWVzdGVkID09PSAndHJ1ZScgJiZcclxuICAgICAgICBpdGVtLmhhc0ZlZWRiYWNrID09PSAndHJ1ZScgJiZcclxuICAgICAgICBpdGVtLmlzUGVuZGluZyA9PT0gJ2ZhbHNlJyAmJlxyXG4gICAgICAgIGl0ZW0uaXNSZXNwb25kZWQgPT09ICdmYWxzZSdcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5mZWVkYmFja1N0YXR1cyA9IENvbnN0YW50cy5GRUVEQkFDS19TVEFUVVNfV0FJVElORztcclxuICAgICAgICB0aGlzLmZlZWRCYWNrU2VydmljZS5wZW5kaW5nRm9ybSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5nZXRGZWVkQmFjaygpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgaXRlbS5pc1JlcXVlc3RlZCA9PT0gJ2ZhbHNlJyAmJlxyXG4gICAgICAgIGl0ZW0uaGFzRmVlZGJhY2sgPT09ICd0cnVlJyAmJlxyXG4gICAgICAgIGl0ZW0uaXNQZW5kaW5nID09PSAndHJ1ZScgJiZcclxuICAgICAgICBpdGVtLmlzUmVzcG9uZGVkID09PSAnZmFsc2UnXHJcbiAgICAgICkge1xyXG4gICAgICAgIHRoaXMuZmVlZGJhY2tTdGF0dXMgPSBDb25zdGFudHMuRkVFREJBQ0tfU1RBVFVTX1JFU1BPTkQ7XHJcbiAgICAgICAgdGhpcy5mZWVkQmFja1NlcnZpY2UucmVzcG9uZGVyRm9ybSA9IHRydWU7XHJcbiAgICAgICAgdGhpcy5nZXRGZWVkQmFjaygpO1xyXG4gICAgICB9XHJcblxyXG4gICAgICBpZiAoXHJcbiAgICAgICAgaXRlbS5pc1JlcXVlc3RlZCA9PT0gJ3RydWUnICYmXHJcbiAgICAgICAgaXRlbS5oYXNGZWVkYmFjayA9PT0gJ3RydWUnICYmXHJcbiAgICAgICAgaXRlbS5pc1BlbmRpbmcgPT09ICdmYWxzZScgJiZcclxuICAgICAgICBpdGVtLmlzUmVzcG9uZGVkID09PSAndHJ1ZSdcclxuICAgICAgKSB7XHJcbiAgICAgICAgdGhpcy5mZWVkYmFja1N0YXR1cyA9IENvbnN0YW50cy5GRUVEQkFDS19TVEFUVVNfUkVTUE9OREVEO1xyXG4gICAgICAgIHRoaXMuZmVlZEJhY2tTZXJ2aWNlLnBlbmRpbmdGb3JtID0gdHJ1ZTtcclxuICAgICAgICB0aGlzLmdldEZlZWRCYWNrKCk7XHJcbiAgICAgIH1cclxuICAgICAgLyogICAgICBjb25zdCBvYmogPSB7XHJcbiAgICAgICAgICAgICAgbmFtZTogJ2NoYW5nZUZlZWRiYWNrU3RhdHVzJyxcclxuICAgICAgICAgICAgICBkYXRhOiB0aGlzLmZlZWRiYWNrU3RhdHVzIVxyXG4gICAgICAgICAgICB9O1xyXG4gICAgICAgICAgICB0aGlzLl9saXN0ZW5lclNlcnZpY2UuZmlsdGVyKG9iaik7Ki9cclxuICAgIH1cclxuICB9XHJcblxyXG4gIGdldEZlZWRCYWNrKCkge1xyXG4gICAgdGhpcy5mZWVkQmFja1NlcnZpY2UuZ2V0RmVlZGJhY2sodGhpcy5wcm9maWxlLmVtcGxveWVlRW1haWwpLnN1YnNjcmliZSgoUmVzcG9uc2U6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoUmVzcG9uc2UpIHtcclxuICAgICAgICBpZiAoUmVzcG9uc2UgaW5zdGFuY2VvZiBNZXNzYWdlcykge1xyXG4gICAgICAgICAgdGhpcy5zaG93RXJyb3IoUmVzcG9uc2UpO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICBjb25zdCByZXNwID0gUmVzcG9uc2VbJ2l0ZW1zJ11bMF07XHJcbiAgICAgICAgICB0aGlzLmZlZWRCYWNrU2VydmljZS5mZWVkYmFja1Jlc3BvbnNlLnJlcXVlc3RGcm9tID1cclxuICAgICAgICAgICAgcmVzcC5mcm9tWydmaXJzdE5hbWUnXSArXHJcbiAgICAgICAgICAgICcgJyArXHJcbiAgICAgICAgICAgIHJlc3AuZnJvbVsnbWlkZGxlTmFtZSddICtcclxuICAgICAgICAgICAgJyAnICtcclxuICAgICAgICAgICAgcmVzcC5mcm9tWydmYW1pbHlOYW1lJ107XHJcbiAgICAgICAgICB0aGlzLmZlZWRCYWNrU2VydmljZS5mZWVkYmFja1Jlc3BvbnNlLnJlcXVlc3RUbyA9XHJcbiAgICAgICAgICAgIHJlc3AudG9bJ2ZpcnN0TmFtZSddICtcclxuICAgICAgICAgICAgJyAnICtcclxuICAgICAgICAgICAgcmVzcC50b1snbWlkZGxlTmFtZSddICtcclxuICAgICAgICAgICAgJyAnICtcclxuICAgICAgICAgICAgcmVzcC50b1snZmFtaWx5TmFtZSddO1xyXG4gICAgICAgICAgdGhpcy5mZWVkQmFja1NlcnZpY2UuZmVlZGJhY2tSZXNwb25zZS5yZXF1ZXN0RmVlZGJhY2sgPVxyXG4gICAgICAgICAgICByZXNwLnF1ZXJ5O1xyXG4gICAgICAgICAgdGhpcy5mZWVkQmFja1NlcnZpY2UuZmVlZGJhY2tSZXNwb25zZS5yZXNwb25zZUZlZWRiYWNrID1cclxuICAgICAgICAgICAgcmVzcC5yZXNwb25zZTtcclxuICAgICAgICAgIHRoaXMuZmVlZGJhY2tJZCA9IHJlc3AuaWQ7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgYWRkRmVlZGJhY2soKSB7XHJcbiAgICBpZiAodGhpcy5pc0ZlZWRiYWNrVmFsaWRhdGVkKSB7XHJcbiAgICAgIGNvbnN0IGVtYWlsID0gdGhpcy5zZWFyY2hFbXAucGVyc29uRW1haWwsXHJcbiAgICAgICAgcXVlc3Rpb24gPSB0aGlzLmZlZWRCYWNrUXVlc3Rpb247XHJcbiAgICAgIHRoaXMuZmVlZEJhY2tTZXJ2aWNlLnN1Ym1pdEZlZWRiYWNrKHtlbWFpbCwgcXVlc3Rpb259KS5zdWJzY3JpYmUoKFJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoUmVzcG9uc2UpIHtcclxuICAgICAgICAgIGlmIChSZXNwb25zZSBpbnN0YW5jZW9mIE1lc3NhZ2VzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuc2hvd0Vycm9yKFJlc3BvbnNlKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuc3VibWl0dGVkID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICAgIHRoaXMuZmVlZGJhY2tTdGF0dXMgPSBDb25zdGFudHMuRkVFREJBQ0tfU1RBVFVTX1dBSVRJTkc7XHJcbiAgICAgICAgICAgIC8vIGNvbnN0IG9iaiA9IHtcclxuICAgICAgICAgICAgLy8gICBuYW1lOiAnY2hhbmdlRmVlZGJhY2tTdGF0dXMnLFxyXG4gICAgICAgICAgICAvLyAgIGRhdGE6IHRoaXMuZmVlZGJhY2tTdGF0dXNcclxuICAgICAgICAgICAgLy8gfTtcclxuICAgICAgICAgICAgLy8gdGhpcy5fbGlzdGVuZXJTZXJ2aWNlLmZpbHRlcihvYmopO1xyXG4gICAgICAgICAgICB0aGlzLmZlZWRCYWNrU2VydmljZS5mZWVkYmFja0Zvcm0gPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5mZWVkQmFja1NlcnZpY2UucGVuZGluZ0Zvcm0gPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmZlZWRCYWNrU2VydmljZS5mZWVkQmFja1NlbnQgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmZlZWRCYWNrU2VydmljZS5mZWVkYmFja1Jlc3BvbnNlLnJlcXVlc3RGcm9tID1cclxuICAgICAgICAgICAgICB0aGlzLnByb2ZpbGUuZnVsbE5hbWU7XHJcbiAgICAgICAgICAgIHRoaXMuZmVlZEJhY2tTZXJ2aWNlLmZlZWRiYWNrUmVzcG9uc2UucmVxdWVzdFRvID1cclxuICAgICAgICAgICAgICB0aGlzLnNlYXJjaEVtcC5wZXJzb25OYW1lO1xyXG4gICAgICAgICAgICB0aGlzLmZlZWRCYWNrU2VydmljZS5mZWVkYmFja1Jlc3BvbnNlLnJlcXVlc3RGZWVkYmFjayA9XHJcbiAgICAgICAgICAgICAgdGhpcy5mZWVkQmFja1F1ZXN0aW9uO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnN1Ym1pdHRlZCA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgfVxyXG4gIH1cclxuXHJcblxyXG4gIGFkZFJlc3BvbnNlKCkge1xyXG4gICAgaWYgKHRoaXMuaXNGZWVkYmFja1ZhbGlkYXRlZCkge1xyXG4gICAgICBjb25zdCBmZWVkYmFja0lkID0gdGhpcy5mZWVkYmFja0lkLFxyXG4gICAgICAgIGZlZWRiYWNrUmVzcG9uc2UgPSB0aGlzLmZlZWRCYWNrUmVzcG9uc2U7XHJcbiAgICAgIHRoaXMuZmVlZEJhY2tTZXJ2aWNlLmFkZFJlc3BvbnNlKHtmZWVkYmFja0lkLCBmZWVkYmFja1Jlc3BvbnNlfSkuc3Vic2NyaWJlKChSZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKFJlc3BvbnNlKSB7XHJcbiAgICAgICAgICBpZiAoUmVzcG9uc2UgaW5zdGFuY2VvZiBNZXNzYWdlcykge1xyXG4gICAgICAgICAgICB0aGlzLnNob3dFcnJvcihSZXNwb25zZSk7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnN1Ym1pdHRlZCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuZmVlZGJhY2tTdGF0dXMgPSBDb25zdGFudHMuRkVFREJBQ0tfU1RBVFVTX1JFU1BPTkRFRDtcclxuICAgICAgICAgICAgLypjb25zdCBvYmogPSB7XHJcbiAgICAgICAgICAgICAgbmFtZTogJ2NoYW5nZUZlZWRiYWNrU3RhdHVzJyxcclxuICAgICAgICAgICAgICBkYXRhOiB0aGlzLmZlZWRiYWNrU3RhdHVzXHJcbiAgICAgICAgICAgIH07XHJcbiAgICAgICAgICAgIHRoaXMuX2xpc3RlbmVyU2VydmljZS5maWx0ZXIob2JqKTsqL1xyXG4gICAgICAgICAgICB0aGlzLmZlZWRCYWNrU2VydmljZS5yZXNwb25kZXJGb3JtID0gZmFsc2U7XHJcbiAgICAgICAgICAgIHRoaXMuZmVlZEJhY2tTZXJ2aWNlLmZlZWRCYWNrU2VudCA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuZmVlZEJhY2tTZXJ2aWNlLnBlbmRpbmdGb3JtID0gdHJ1ZTtcclxuICAgICAgICAgICAgdGhpcy5mZWVkQmFja1NlcnZpY2UuZmVlZGJhY2tSZXNwb25zZS5yZXNwb25zZUZlZWRiYWNrID1cclxuICAgICAgICAgICAgICB0aGlzLmZlZWRCYWNrUmVzcG9uc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgIHRoaXMuc3VibWl0dGVkID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pXHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBlcnJvck9jY3VyZWQgPSBmYWxzZTtcclxuICBpc1N1Ym1pdGluZyA9IGZhbHNlO1xyXG4gIGVycm9yTXNnID0gJyc7XHJcblxyXG4gIHNob3dFcnJvcihSZXNwb25zZTogYW55KSB7XHJcbiAgICBpZiAoIXRoaXMuZm9ybSkge1xyXG4gICAgICB0aGlzLmZvcm0gPSBuZXcgRm9ybShcclxuICAgICAgICBDb25zdGFudHMuTk9fVkFMVUUsXHJcbiAgICAgICAgQ29uc3RhbnRzLk5PX1ZBTFVFLFxyXG4gICAgICAgIENvbnN0YW50cy5OT19WQUxVRSxcclxuICAgICAgICBDb25zdGFudHMuTk9fVkFMVUUsXHJcbiAgICAgICAgQ29uc3RhbnRzLk5PX1ZBTFVFLFxyXG4gICAgICAgIENvbnN0YW50cy5OT19WQUxVRSxcclxuICAgICAgICBSZXNwb25zZVxyXG4gICAgICApO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5lcnJvck9jY3VyZWQgPSB0cnVlO1xyXG4gICAgICB0aGlzLmVycm9yTXNnID0gUmVzcG9uc2U/LmVycm9yWzBdO1xyXG4gICAgICAvLyB0aGlzLmZvcm0ubWVzc2FnZXMgPSBSZXNwb25zZTtcclxuICAgIH1cclxuICAgIHdpbmRvdy5zY3JvbGxUbygwLCAwKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUZlZWRiYWNrUXVlc3Rpb24oZXZlbnQpIHtcclxuICAgIHRoaXMuZmVlZEJhY2tRdWVzdGlvbiA9IGV2ZW50O1xyXG4gICAgdGhpcy5oYW5kbGVGZWVkYmFja1ZhbGlkYXRpb24oKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZUZlZWRiYWNrUmVzcG9uc2UoZXZlbnQpIHtcclxuICAgIHRoaXMuZmVlZEJhY2tSZXNwb25zZSA9IGV2ZW50O1xyXG4gICAgdGhpcy5oYW5kbGVSZXNwb25zZVZhbGlkYXRpb24oKTtcclxuICB9XHJcblxyXG4gIGhhbmRsZVVzZXJTZWxlY3RlZChldmVudCkge1xyXG4gICAgdGhpcy5zZWFyY2hFbXAgPSB7XHJcbiAgICAgIHBlcnNvbkVtYWlsOiBldmVudC5wZXJzb25FbWFpbCxcclxuICAgICAgcGVyc29uTmFtZTogZXZlbnQucGVyc29uTmFtZVxyXG4gICAgfTtcclxuICAgIGlmICghdGhpcy5mZWVkQmFja1F1ZXN0aW9uKSB7XHJcbiAgICAgIHJldHVybjtcclxuICAgIH1cclxuICAgIHRoaXMuaGFuZGxlRmVlZGJhY2tWYWxpZGF0aW9uKCk7XHJcbiAgfVxyXG5cclxuICBoYW5kbGVSZXNwb25zZVZhbGlkYXRpb24oKSB7XHJcbiAgICBpZiAoXHJcbiAgICAgIHRoaXMuZmVlZEJhY2tSZXNwb25zZS5sZW5ndGggPj0gMSAmJlxyXG4gICAgICB0aGlzLmZlZWRCYWNrUmVzcG9uc2UubGVuZ3RoIDwgNTAwXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5pc1Jlc3BvbnNlVmFsaWRhdGVkID0gdHJ1ZTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuaXNSZXNwb25zZVZhbGlkYXRlZCA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgaGFuZGxlRmVlZGJhY2tWYWxpZGF0aW9uKCkge1xyXG4gICAgaWYgKFxyXG4gICAgICB0aGlzLmZlZWRCYWNrUXVlc3Rpb24ubGVuZ3RoID49IDEgJiZcclxuICAgICAgdGhpcy5mZWVkQmFja1F1ZXN0aW9uLmxlbmd0aCA8IDUwMCAmJlxyXG4gICAgICB0aGlzLnNlYXJjaEVtcC5wZXJzb25FbWFpbFxyXG4gICAgKSB7XHJcbiAgICAgIHRoaXMuaXNGZWVkYmFja1ZhbGlkYXRlZCA9IHRydWU7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLmlzRmVlZGJhY2tWYWxpZGF0ZWQgPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInBvcHVwLWNvbnRhaW5lclwiPlxyXG4gIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCIgbWF0LWRpYWxvZy10aXRsZT5cclxuICAgIDxoMz57e2kxOG4udHJhbnNsYXRlKCdyZXF1ZXN0RmVlZGJhY2snKX19PC9oMz5cclxuICAgIDxkcy1idXR0b24gc3F1YXJlIGljb24gbWF0RGlhbG9nQ2xvc2U+XHJcbiAgICAgIDxkcy1pY29uIGljb249XCJjbG9zZVwiIGNsYXNzPVwiZnMtMjAgZmMtYmxhY2tcIj48L2RzLWljb24+XHJcbiAgICA8L2RzLWJ1dHRvbj5cclxuICA8L2Rpdj5cclxuICA8bWF0LWRpYWxvZy1jb250ZW50PlxyXG4gICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LWNvbHVtbiBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBweS00XCIgKm5nSWY9XCJzdWJtaXR0ZWRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIG1iLTRcIj5cclxuICAgICAgICA8c3ZnIHdpZHRoPVwiNzlcIiBoZWlnaHQ9XCI3NlwiIHZpZXdCb3g9XCIwIDAgNzkgNzZcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgIGQ9XCJNNTkuOTgwNCAwLjA5OTg2NzZMMS4zOTIzOSAxOS4yNDc5QzEuMDIyMjMgMTkuMzY5MiAwLjY5NDk4IDE5LjU5NDggMC40NDk5OSAxOS44OTc2QzAuMjA1IDIwLjIwMDUgMC4wNTI2OTg1IDIwLjU2NzYgMC4wMTEzOTg1IDIwLjk1NUMtMC4wMjk5MDE2IDIxLjM0MjMgMC4wNDE1NTc2IDIxLjczMzMgMC4yMTcxODQgMjIuMDgxQzAuMzkyODEgMjIuNDI4NyAwLjY2NTEyOCAyMi43MTgzIDEuMDAxMzkgMjIuOTE0OUwyMy4xNDU0IDM1Ljc4OTlDMjMuNDg3IDM1Ljk4ODYgMjMuODc5NCAzNi4wODI4IDI0LjI3NCAzNi4wNjA4QzI0LjY2ODYgMzYuMDM4OCAyNS4wNDgxIDM1LjkwMTQgMjUuMzY1NCAzNS42NjU5TDMxLjU4OTQgMzEuMDQzOUwyNi45Njc0IDM3LjI2NzlDMjYuNzMxOCAzNy41ODUyIDI2LjU5NDQgMzcuOTY0NiAyNi41NzIyIDM4LjM1OTFDMjYuNTQ5OSAzOC43NTM3IDI2LjY0MzkgMzkuMTQ2MSAyNi44NDI0IDM5LjQ4NzlMMzkuNzE3NCA2MS42Mjg5QzM5LjkxMzggNjEuOTY1MiA0MC4yMDMxIDYyLjIzNzcgNDAuNTUwNiA2Mi40MTM1QzQwLjg5ODEgNjIuNTg5NCA0MS4yODkgNjIuNjYxMSA0MS42NzYzIDYyLjYyMDFDNDIuMDYzNiA2Mi41NzkxIDQyLjQzMDggNjIuNDI3MiA0Mi43MzM4IDYyLjE4MjVDNDMuMDM2OSA2MS45Mzc4IDQzLjI2MjggNjEuNjEwOCA0My4zODQ0IDYxLjI0MDlMNjIuNTI5NCAyLjY1MTg3QzYyLjY0NTggMi4yOTY4NiA2Mi42NjE1IDEuOTE2NTQgNjIuNTc0OSAxLjU1MzEzQzYyLjQ4ODMgMS4xODk3MSA2Mi4zMDI2IDAuODU3NDAxIDYyLjAzODYgMC41OTMwNzFDNjEuNzc0NiAwLjMyODc0MSA2MS40NDI1IDAuMTQyNzI2IDYxLjA3OTIgMC4wNTU2NjY1QzYwLjcxNTkgLTAuMDMxMzkzMyA2MC4zMzU1IC0wLjAxNjA5MzcgNTkuOTgwNCAwLjA5OTg2NzZaTTQwLjk0MzQgNTUuNjk5OUwzMS4wMDE0IDM4LjYwNjlMNDIuOTg5NCAyMi40Njg5QzQzLjI3OTcgMjIuMDc5OCA0My40MjAyIDIxLjU5OTMgNDMuMzg1MiAyMS4xMTUyQzQzLjM1MDIgMjAuNjMxIDQzLjE0MiAyMC4xNzU3IDQyLjc5ODggMTkuODMyNUM0Mi40NTU2IDE5LjQ4OTMgNDIuMDAwMiAxOS4yODExIDQxLjUxNjEgMTkuMjQ2MUM0MS4wMzIgMTkuMjExMSA0MC41NTE0IDE5LjM1MTYgNDAuMTYyNCAxOS42NDE5TDI0LjAyNTQgMzEuNjI3OUw2LjkzMzM5IDIxLjY4ODlMNTcuNDUxNCA1LjE4MDg3TDQwLjk0MzQgNTUuNjk5OVpNMjEuMjEzNCA0NC4yNzU5TDcuODAxMzkgNTcuNjkwOUM3LjQyMjUzIDU4LjA3MDEgNi45MDg1MyA1OC4yODMzIDYuMzcyNDYgNTguMjgzNkM1LjgzNjM4IDU4LjI4MzkgNS4zMjIxNSA1OC4wNzEyIDQuOTQyODkgNTcuNjkyNEM0LjU2MzYzIDU3LjMxMzUgNC4zNTA0MSA1Ni43OTk1IDQuMzUwMTMgNTYuMjYzNEM0LjM0OTg1IDU1LjcyNzQgNC41NjI1MyA1NS4yMTMxIDQuOTQxMzkgNTQuODMzOUwxOC4zNTY0IDQxLjQxODlDMTguNzM1MyA0MS4wNCAxOS4yNDkxIDQwLjgyNzIgMTkuNzg0OSA0MC44MjcyQzIwLjMyMDcgNDAuODI3MiAyMC44MzQ1IDQxLjA0IDIxLjIxMzQgNDEuNDE4OUMyMS41OTIzIDQxLjc5NzcgMjEuODA1MSA0Mi4zMTE2IDIxLjgwNTEgNDIuODQ3NEMyMS44MDUxIDQzLjM4MzIgMjEuNTkyMyA0My44OTcgMjEuMjEzNCA0NC4yNzU5Wk0zLjQ5MTM5IDQ0Ljc4MzlDMy4zMDM3OCA0NC41OTYzIDMuMTU0OTUgNDQuMzczNiAzLjA1MzQxIDQ0LjEyODVDMi45NTE4NyA0My44ODM0IDIuODk5NjEgNDMuNjIwNyAyLjg5OTYxIDQzLjM1NTRDMi44OTk2MSA0My4wOTAxIDIuOTUxODcgNDIuODI3NCAzLjA1MzQxIDQyLjU4MjNDMy4xNTQ5NSA0Mi4zMzcxIDMuMzAzNzggNDIuMTE0NCAzLjQ5MTM5IDQxLjkyNjlMOC43ODQzOSAzNi42MzM5QzkuMTYzMjYgMzYuMjU1IDkuNjc3MSAzNi4wNDIyIDEwLjIxMjkgMzYuMDQyMkMxMC43NDg3IDM2LjA0MjIgMTEuMjYyNSAzNi4yNTUgMTEuNjQxNCAzNi42MzM5QzEyLjAyMDMgMzcuMDEyNyAxMi4yMzMxIDM3LjUyNjYgMTIuMjMzMSAzOC4wNjI0QzEyLjIzMzEgMzguNTk4MiAxMi4wMjAzIDM5LjExMiAxMS42NDE0IDM5LjQ5MDlMNi4zNDkzOSA0NC43ODM5QzYuMTYxOCA0NC45NzE2IDUuOTM5MDMgNDUuMTIwNiA1LjY5Mzg0IDQ1LjIyMjJDNS40NDg2NCA0NS4zMjM4IDUuMTg1ODIgNDUuMzc2MiA0LjkyMDM5IDQ1LjM3NjJDNC42NTQ5NyA0NS4zNzYyIDQuMzkyMTUgNDUuMzIzOCA0LjE0Njk1IDQ1LjIyMjJDMy45MDE3NiA0NS4xMjA2IDMuNjc4OTkgNDQuOTcxNiAzLjQ5MTM5IDQ0Ljc4MzlaTTI2LjAwMTQgNTAuOTg5OUMyNi4xODkgNTEuMTc3NCAyNi4zMzc4IDUxLjQwMDEgMjYuNDM5NCA1MS42NDUzQzI2LjU0MDkgNTEuODkwNCAyNi41OTMyIDUyLjE1MzEgMjYuNTkzMiA1Mi40MTg0QzI2LjU5MzIgNTIuNjgzNyAyNi41NDA5IDUyLjk0NjQgMjYuNDM5NCA1My4xOTE1QzI2LjMzNzggNTMuNDM2NiAyNi4xODkgNTMuNjU5MyAyNi4wMDE0IDUzLjg0NjlMMjAuNzAxNCA1OS4xNDA5QzIwLjMyMjUgNTkuNTE5NyAxOS44MDg3IDU5LjczMjYgMTkuMjcyOSA1OS43MzI2QzE4LjczNzEgNTkuNzMyNiAxOC4yMjMzIDU5LjUxOTcgMTcuODQ0NCA1OS4xNDA5QzE3LjQ2NTUgNTguNzYyIDE3LjI1MjcgNTguMjQ4MiAxNy4yNTI3IDU3LjcxMjRDMTcuMjUyNyA1Ny4xNzY2IDE3LjQ2NTUgNTYuNjYyNyAxNy44NDQ0IDU2LjI4MzlMMjMuMTM3NCA1MC45OTA5QzIzLjMyNSA1MC44MDMyIDIzLjU0NzcgNTAuNjU0NCAyMy43OTI4IDUwLjU1MjlDMjQuMDM3OSA1MC40NTEzIDI0LjMwMDYgNTAuMzk5MSAyNC41NjU5IDUwLjM5OTFDMjQuODMxMiA1MC4zOTkxIDI1LjA5MzkgNTAuNDUxMyAyNS4zMzkgNTAuNTUyOUMyNS41ODQxIDUwLjY1NDQgMjUuODA2OCA1MC44MDMyIDI1Ljk5NDQgNTAuOTkwOUwyNi4wMDE0IDUwLjk4OTlaXCJcclxuICAgICAgICAgICAgZmlsbD1cIiM4RTlBQTBcIiAvPlxyXG4gICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgZD1cIk01OC4wMDE1IDc1LjMxMTlDNjkuMDQ3MiA3NS4zMTE5IDc4LjAwMTUgNjYuMzU3NiA3OC4wMDE1IDU1LjMxMTlDNzguMDAxNSA0NC4yNjYyIDY5LjA0NzIgMzUuMzExOSA1OC4wMDE1IDM1LjMxMTlDNDYuOTU1OCAzNS4zMTE5IDM4LjAwMTUgNDQuMjY2MiAzOC4wMDE1IDU1LjMxMTlDMzguMDAxNSA2Ni4zNTc2IDQ2Ljk1NTggNzUuMzExOSA1OC4wMDE1IDc1LjMxMTlaXCJcclxuICAgICAgICAgICAgZmlsbD1cIiMwMEM0OENcIiAvPlxyXG4gICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgZD1cIk01Ni44ODA0IDU3LjMxODNMNTQuMDM0NiA1NC40NzI1TDUyLjk3NDMgNTUuNTMzNkw1Ni44Nzc0IDU5LjQzNjdMNjUuODM1NCA1MC41MjY3TDY1LjQ5MjcgNTAuMDEzOEM2My44NTU3IDQ3LjU4MTIgNjEuMTEzNCA0Ni4wMDIgNTguMDAxNSA0Ni4wMDJDNTMuMDMxMyA0Ni4wMDIgNDkuMDAxNSA1MC4wMzEgNDkuMDAxNSA1NS4wMDJDNDkuMDAxNSA1OS45NzI5IDUzLjAzMDUgNjQuMDAyIDU4LjAwMTUgNjQuMDAyQzYyLjk3MTYgNjQuMDAyIDY3LjAwMDcgNTkuOTcyOSA2Ny4wMDE1IDU1LjAwMzVINjUuNTAxN0M2NS41MDE3IDU1LjAwNSA2NS41MDE3IDU1LjAwNzIgNjUuNTAxNyA1NS4wMDk1QzY1LjUwMTcgNTkuMTUwMyA2Mi4xNDUzIDYyLjUwNjcgNTguMDA0NSA2Mi41MDY3QzUzLjg2MzcgNjIuNTA2NyA1MC41MDcyIDU5LjE1MDMgNTAuNTA3MiA1NS4wMDk1QzUwLjUwNzIgNTAuODY4NiA1My44NjM3IDQ3LjUxMjIgNTguMDA0NSA0Ny41MTIyQzYwLjM3OTMgNDcuNTEyMiA2Mi40OTYyIDQ4LjYxNjggNjMuODcgNTAuMzM5Mkw2My44ODIgNTAuMzU0Mkw1Ni44ODA0IDU3LjMxODNaXCJcclxuICAgICAgICAgICAgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICA8L3N2Zz5cclxuXHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8aDIgY2xhc3M9XCJmcy0xNiBmdy1tZWRpdW0gZmMtYmxhY2sgbWItNCB0ZXh0LWNlbnRlclwiPlxyXG4gICAgICAgIHt7aTE4bi50cmFuc2xhdGUoJ3N1Ym1pdHRlZFN1Y2Nlc3NmdWxseScpfX1cclxuICAgICAgPC9oMj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCIhc3VibWl0dGVkXCI+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtYi0zXCIgKm5nSWY9XCJmZWVkQmFja1NlcnZpY2UuZmVlZGJhY2tGb3JtIFwiPlxyXG4gICAgICAgIDxhcHAtc2VhcmNoLWVtcGxveWVlICNlbXBsb3llZSBsYWJlbD1cInt7aTE4bi50cmFuc2xhdGUoJ3JlcXVlc3RUbycpfX1cIiBbZmllbGRdPVwic2VhcmNoRW1wXCJcclxuICAgICAgICAgIFtsYWJlbFRleHRSZWFkTW9kZV09XCJpMThuLnRyYW5zbGF0ZSgncmVxdWVzdFRvJylcIiBbbGFiZWxUZXh0V3JpdGVNb2RlXT1cImkxOG4udHJhbnNsYXRlKCdyZXF1ZXN0VG8nKVwiXHJcbiAgICAgICAgICBbbmFtZV09XCInc2VhcmNoRW1wJ1wiIChlbWl0ZWRWYWx1ZSk9XCJoYW5kbGVVc2VyU2VsZWN0ZWQoJGV2ZW50KVwiPlxyXG4gICAgICAgIDwvYXBwLXNlYXJjaC1lbXBsb3llZT5cclxuICAgICAgICA8YXBwLXRleHRhcmVhICNyZXF1ZXN0IFtmaWVsZF09XCJlbXBsb3llZUlucHV0XCIgbmFtZT1cImVtcGxveWVlSW5wdXRcIiBsYWJlbD1cInt7aTE4bi50cmFuc2xhdGUoJ2ZlZWRiYWNrJyl9fVwiXHJcbiAgICAgICAgICBbcmVxdWlyZWRdPVwidHJ1ZVwiIFttaW5MZW5ndGhdPScxJyAoZW1pdGVkVmFsdWUpPVwiaGFuZGxlRmVlZGJhY2tRdWVzdGlvbigkZXZlbnQpXCIgW21heExlbmd0aF09JzUwMCdcclxuICAgICAgICAgIFtlcnJvck1lc3NhZ2VdPVwiaTE4bi50cmFuc2xhdGUoJ2xlbmdodE1pbjFNYXg1MDAnKVwiPlxyXG4gICAgICAgIDwvYXBwLXRleHRhcmVhPlxyXG4gICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDxkaXYgY2xhc3M9XCJpbmZvLXNlY3Rpb25cIiAqbmdJZj1cIiFmZWVkQmFja1NlcnZpY2UuZmVlZGJhY2tGb3JtXCI+XHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImZlZWRCYWNrU2VydmljZS5yZXNwb25kZXJGb3JtXCI+XHJcbiAgICAgICAgICA8YXBwLWluZm8taXRlbSBjbGFzcz1cImluZm8taXRlbSB3LTEwMFwiIGxhYmVsPVwie3tpMThuLnRyYW5zbGF0ZSgncmVxdWVzdEZyb20nKX19XCJcclxuICAgICAgICAgICAgdmFsdWU9XCJ7e2ZlZWRCYWNrU2VydmljZT8uZmVlZGJhY2tSZXNwb25zZT8ucmVxdWVzdEZyb219fVwiPjwvYXBwLWluZm8taXRlbT5cclxuICAgICAgICAgIDxhcHAtaW5mby1pdGVtIGNsYXNzPVwiaW5mby1pdGVtIHctMTAwXCIgbGFiZWw9XCJ7e2kxOG4udHJhbnNsYXRlKCdyZXF1ZXN0VG8nKX19XCJcclxuICAgICAgICAgICAgdmFsdWU9XCJ7e2ZlZWRCYWNrU2VydmljZT8uZmVlZGJhY2tSZXNwb25zZT8ucmVxdWVzdFRvfX1cIj48L2FwcC1pbmZvLWl0ZW0+XHJcbiAgICAgICAgICA8YXBwLWluZm8taXRlbSBjbGFzcz1cImluZm8taXRlbSB3LTEwMFwiIGxhYmVsPVwie3tpMThuLnRyYW5zbGF0ZSgnZmVlZGJhY2tRdWVzdGlvbicpfX1cIlxyXG4gICAgICAgICAgICB2YWx1ZT1cInt7ZmVlZEJhY2tTZXJ2aWNlPy5mZWVkYmFja1Jlc3BvbnNlPy5yZXF1ZXN0RmVlZGJhY2t9fVwiPjwvYXBwLWluZm8taXRlbT5cclxuICAgICAgICAgIDxhcHAtaW5mby1pdGVtIGNsYXNzPVwiaW5mby1pdGVtIHctMTAwXCIgbGFiZWw9XCJ7e2kxOG4udHJhbnNsYXRlKCdmZWVkYmFjaycpfX1cIlxyXG4gICAgICAgICAgICB2YWx1ZT1cInt7ZmVlZEJhY2tTZXJ2aWNlPy5mZWVkYmFja1Jlc3BvbnNlPy5yZXNwb25zZUZlZWRiYWNrfX1cIj48L2FwcC1pbmZvLWl0ZW0+XHJcbiAgICAgICAgICA8YXBwLXRleHRhcmVhICNyZXF1ZXN0IGNsYXNzPVwiZnVsbCBteC0zIG10LTMgc2VjdGlvbi1pdGVtXCIgW2ZpZWxkXT1cImVtcGxveWVlSW5wdXRcIiBuYW1lPVwiZW1wbG95ZWVJbnB1dFwiXHJcbiAgICAgICAgICAgIGxhYmVsPVwie3tpMThuLnRyYW5zbGF0ZSgnZmVlZGJhY2snKX19XCIgW3JlcXVpcmVkXT1cInRydWVcIiBbbWluTGVuZ3RoXT0nMSdcclxuICAgICAgICAgICAgKGVtaXRlZFZhbHVlKT1cImhhbmRsZUZlZWRiYWNrUmVzcG9uc2UoJGV2ZW50KVwiIFttYXhMZW5ndGhdPSc1MDAnXHJcbiAgICAgICAgICAgIFtlcnJvck1lc3NhZ2VdPVwiaTE4bi50cmFuc2xhdGUoJ2xlbmdodE1pbjFNYXg1MDAnKVwiPlxyXG4gICAgICAgICAgPC9hcHAtdGV4dGFyZWE+XHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJmZWVkQmFja1NlcnZpY2UucGVuZGluZ0Zvcm1cIiBpZD1cInJlc3BvbmNlX2Zvcm1cIj5cclxuICAgICAgICAgIDxhcHAtaW5mby1pdGVtIGNsYXNzPVwiaW5mby1pdGVtIHctMTAwXCIgbGFiZWw9XCJ7e2kxOG4udHJhbnNsYXRlKCdyZXF1ZXN0RnJvbScpfX1cIlxyXG4gICAgICAgICAgICB2YWx1ZT1cInt7ZmVlZEJhY2tTZXJ2aWNlPy5mZWVkYmFja1Jlc3BvbnNlPy5yZXF1ZXN0RnJvbX19XCI+PC9hcHAtaW5mby1pdGVtPlxyXG4gICAgICAgICAgPGFwcC1pbmZvLWl0ZW0gY2xhc3M9XCJpbmZvLWl0ZW0gdy0xMDBcIiBsYWJlbD1cInt7aTE4bi50cmFuc2xhdGUoJ3JlcXVlc3RUbycpfX1cIlxyXG4gICAgICAgICAgICB2YWx1ZT1cInt7ZmVlZEJhY2tTZXJ2aWNlPy5mZWVkYmFja1Jlc3BvbnNlPy5yZXF1ZXN0VG99fVwiPjwvYXBwLWluZm8taXRlbT5cclxuICAgICAgICAgIDxhcHAtaW5mby1pdGVtIGNsYXNzPVwiaW5mby1pdGVtIHctMTAwXCIgbGFiZWw9XCJ7e2kxOG4udHJhbnNsYXRlKCdmZWVkYmFja1F1ZXN0aW9uJyl9fVwiXHJcbiAgICAgICAgICAgIHZhbHVlPVwie3tmZWVkQmFja1NlcnZpY2U/LmZlZWRiYWNrUmVzcG9uc2U/LnJlcXVlc3RGZWVkYmFja319XCI+PC9hcHAtaW5mby1pdGVtPlxyXG4gICAgICAgICAgPGFwcC1pbmZvLWl0ZW0gY2xhc3M9XCJpbmZvLWl0ZW0gdy0xMDBcIiBsYWJlbD1cInt7aTE4bi50cmFuc2xhdGUoJ2ZlZWRiYWNrJyl9fVwiXHJcbiAgICAgICAgICAgIHZhbHVlPVwie3tmZWVkQmFja1NlcnZpY2U/LmZlZWRiYWNrUmVzcG9uc2U/LnJlc3BvbnNlRmVlZGJhY2t9fVwiPjwvYXBwLWluZm8taXRlbT5cclxuXHJcbiAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciB3LTEwMCBnYXAtM1wiICpuZ0lmPVwiIXN1Ym1pdHRlZFwiPlxyXG4gICAgICAgIDxkcy1idXR0b24gc2hhcGU9XCJvdXRsaW5lXCIgbWF0RGlhbG9nQ2xvc2U+XHJcbiAgICAgICAgICB7e2kxOG4udHJhbnNsYXRlKCdDYW5jZWwnKX19XHJcbiAgICAgICAgPC9kcy1idXR0b24+XHJcbiAgICAgICAgPGRzLWJ1dHRvbiAqbmdJZj1cImZlZWRCYWNrU2VydmljZS5mZWVkYmFja0Zvcm1cIiAoY2xpY2spPVwiYWRkRmVlZGJhY2soKVwiXHJcbiAgICAgICAgICBkaXNhYmxlZD1cInt7IShpc0ZlZWRiYWNrVmFsaWRhdGVkKX19XCI+XHJcbiAgICAgICAgICB7e2kxOG4udHJhbnNsYXRlKCdzdWJtaXQnKX19XHJcbiAgICAgICAgPC9kcy1idXR0b24+XHJcbiAgICAgICAgPGRzLWJ1dHRvbiAqbmdJZj1cIiFmZWVkQmFja1NlcnZpY2UuZmVlZGJhY2tGb3JtICYmIGZlZWRCYWNrU2VydmljZS5yZXNwb25kZXJGb3JtXCJcclxuICAgICAgICAgIGRpc2FibGVkPVwie3shKGlzUmVzcG9uc2VWYWxpZGF0ZWQpfX1cIiAoY2xpY2spPVwiYWRkUmVzcG9uc2UoKVwiPlxyXG4gICAgICAgICAge3tpMThuLnRyYW5zbGF0ZSgnc3VibWl0Jyl9fVxyXG4gICAgICAgIDwvZHMtYnV0dG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICA8L21hdC1kaWFsb2ctY29udGVudD5cclxuXHJcbjwvZGl2PlxyXG4iXX0=
|