tango-app-ui-shared 3.0.62-dev → 3.0.64-dev
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/modules/layout/components/csm-assign-confirmation/csm-assign-confirmation.component.mjs +31 -0
- package/esm2022/lib/modules/layout/content/content.component.mjs +70 -6
- package/esm2022/lib/modules/layout/header/navbar/navbar.component.mjs +64 -13
- package/esm2022/lib/modules/layout/layout.module.mjs +5 -2
- package/esm2022/lib/modules/layout/toolbar/toolbar.component.mjs +3 -3
- package/esm2022/lib/modules/notification/notification/notification.component.mjs +21 -11
- package/esm2022/lib/services/auth.service.mjs +10 -1
- package/esm2022/lib/services/notification.service.mjs +7 -3
- package/fesm2022/{tango-app-ui-shared-notification.module-UNDnJK8t.mjs → tango-app-ui-shared-notification.module-DpeHv1cF.mjs} +23 -12
- package/fesm2022/tango-app-ui-shared-notification.module-DpeHv1cF.mjs.map +1 -0
- package/fesm2022/tango-app-ui-shared.mjs +181 -28
- package/fesm2022/tango-app-ui-shared.mjs.map +1 -1
- package/lib/modules/layout/components/csm-assign-confirmation/csm-assign-confirmation.component.d.ts +13 -0
- package/lib/modules/layout/content/content.component.d.ts +10 -1
- package/lib/modules/layout/header/navbar/navbar.component.d.ts +2 -0
- package/lib/modules/layout/layout.module.d.ts +11 -10
- package/lib/modules/notification/notification/notification.component.d.ts +0 -1
- package/lib/services/auth.service.d.ts +3 -0
- package/lib/services/notification.service.d.ts +2 -1
- package/package.json +1 -1
- package/fesm2022/tango-app-ui-shared-notification.module-UNDnJK8t.mjs.map +0 -1
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { Component, Input } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
import * as i1 from "@ng-bootstrap/ng-bootstrap";
|
|
4
|
+
export class CsmAssignConfirmationComponent {
|
|
5
|
+
activeModal;
|
|
6
|
+
clientId;
|
|
7
|
+
email;
|
|
8
|
+
mobile;
|
|
9
|
+
name;
|
|
10
|
+
constructor(activeModal) {
|
|
11
|
+
this.activeModal = activeModal;
|
|
12
|
+
}
|
|
13
|
+
onSubmit(value) {
|
|
14
|
+
this.activeModal.close({ clientId: this.clientId, action: value });
|
|
15
|
+
}
|
|
16
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: CsmAssignConfirmationComponent, deps: [{ token: i1.NgbActiveModal }], target: i0.ɵɵFactoryTarget.Component });
|
|
17
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: CsmAssignConfirmationComponent, selector: "lib-csm-assign-confirmation", inputs: { clientId: "clientId", email: "email", mobile: "mobile", name: "name" }, ngImport: i0, template: "<span class=\"mb-5\">\r\n <svg width=\"56\" height=\"56\" viewBox=\"0 0 56 56\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#FEF0C7\" />\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" stroke=\"#FFFAEB\" stroke-width=\"8\" />\r\n <path\r\n d=\"M27.9998 24V28M27.9998 32H28.0098M26.2898 18.86L17.8198 33C17.6451 33.3024 17.5527 33.6453 17.5518 33.9945C17.5508 34.3437 17.6413 34.6871 17.8142 34.9905C17.9871 35.2939 18.2365 35.5467 18.5375 35.7238C18.8385 35.9009 19.1806 35.9961 19.5298 36H36.4698C36.819 35.9961 37.1611 35.9009 37.4621 35.7238C37.7631 35.5467 38.0124 35.2939 38.1854 34.9905C38.3583 34.6871 38.4488 34.3437 38.4478 33.9945C38.4468 33.6453 38.3544 33.3024 38.1798 33L29.7098 18.86C29.5315 18.5661 29.2805 18.3231 28.981 18.1544C28.6814 17.9858 28.3435 17.8972 27.9998 17.8972C27.656 17.8972 27.3181 17.9858 27.0186 18.1544C26.7191 18.3231 26.468 18.5661 26.2898 18.86Z\"\r\n stroke=\"#DC6803\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</span>\r\n\r\n<span class=\"mb-3 title\">\r\n {{name}} Assigned as Your CSM\r\n</span>\r\n\r\n<span class=\"mb-5 description\">\r\n {{name}} has been assigned as your Customer Success Manager (CSM). For inquiries about data management, store\r\n operations, or user management, please contact {{name}}.\r\n</span>\r\n\r\n<span class=\"mb-5 sub-title\">\r\n Contact Information:\r\n</span>\r\n\r\n<span class=\"mb-5 description\">\r\n <ul>\r\n <li>\r\n Phone: {{mobile}}\r\n </li>\r\n <li>\r\n Email: {{email}}\r\n </li>\r\n </ul>\r\n</span>\r\n\r\n<span class=\"mb-10 description\">\r\n Please approve {{name}}'s access to your data dashboard.\r\n</span>\r\n\r\n<div class=\"d-flex align-items-center justify-content-center\" >\r\n <button (click)=\"onSubmit('decline')\" class=\"btn btn-outline btn-cust me-5\">Decline</button>\r\n\r\n <button (click)=\"onSubmit('approve')\" class=\"btn btn-primary btn-cust\">Approve</button>\r\n\r\n</div>", styles: [":host{padding:24px}.title{color:#101828;font-size:18px;font-weight:600;line-height:28px}.sub-title{color:#667085;font-size:14px;font-weight:600;line-height:20px}.description{color:#667085;font-size:14px;font-weight:400;line-height:20px}.btn-cust{width:25%}\n"] });
|
|
18
|
+
}
|
|
19
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: CsmAssignConfirmationComponent, decorators: [{
|
|
20
|
+
type: Component,
|
|
21
|
+
args: [{ selector: 'lib-csm-assign-confirmation', template: "<span class=\"mb-5\">\r\n <svg width=\"56\" height=\"56\" viewBox=\"0 0 56 56\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" fill=\"#FEF0C7\" />\r\n <rect x=\"4\" y=\"4\" width=\"48\" height=\"48\" rx=\"24\" stroke=\"#FFFAEB\" stroke-width=\"8\" />\r\n <path\r\n d=\"M27.9998 24V28M27.9998 32H28.0098M26.2898 18.86L17.8198 33C17.6451 33.3024 17.5527 33.6453 17.5518 33.9945C17.5508 34.3437 17.6413 34.6871 17.8142 34.9905C17.9871 35.2939 18.2365 35.5467 18.5375 35.7238C18.8385 35.9009 19.1806 35.9961 19.5298 36H36.4698C36.819 35.9961 37.1611 35.9009 37.4621 35.7238C37.7631 35.5467 38.0124 35.2939 38.1854 34.9905C38.3583 34.6871 38.4488 34.3437 38.4478 33.9945C38.4468 33.6453 38.3544 33.3024 38.1798 33L29.7098 18.86C29.5315 18.5661 29.2805 18.3231 28.981 18.1544C28.6814 17.9858 28.3435 17.8972 27.9998 17.8972C27.656 17.8972 27.3181 17.9858 27.0186 18.1544C26.7191 18.3231 26.468 18.5661 26.2898 18.86Z\"\r\n stroke=\"#DC6803\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n</span>\r\n\r\n<span class=\"mb-3 title\">\r\n {{name}} Assigned as Your CSM\r\n</span>\r\n\r\n<span class=\"mb-5 description\">\r\n {{name}} has been assigned as your Customer Success Manager (CSM). For inquiries about data management, store\r\n operations, or user management, please contact {{name}}.\r\n</span>\r\n\r\n<span class=\"mb-5 sub-title\">\r\n Contact Information:\r\n</span>\r\n\r\n<span class=\"mb-5 description\">\r\n <ul>\r\n <li>\r\n Phone: {{mobile}}\r\n </li>\r\n <li>\r\n Email: {{email}}\r\n </li>\r\n </ul>\r\n</span>\r\n\r\n<span class=\"mb-10 description\">\r\n Please approve {{name}}'s access to your data dashboard.\r\n</span>\r\n\r\n<div class=\"d-flex align-items-center justify-content-center\" >\r\n <button (click)=\"onSubmit('decline')\" class=\"btn btn-outline btn-cust me-5\">Decline</button>\r\n\r\n <button (click)=\"onSubmit('approve')\" class=\"btn btn-primary btn-cust\">Approve</button>\r\n\r\n</div>", styles: [":host{padding:24px}.title{color:#101828;font-size:18px;font-weight:600;line-height:28px}.sub-title{color:#667085;font-size:14px;font-weight:600;line-height:20px}.description{color:#667085;font-size:14px;font-weight:400;line-height:20px}.btn-cust{width:25%}\n"] }]
|
|
22
|
+
}], ctorParameters: () => [{ type: i1.NgbActiveModal }], propDecorators: { clientId: [{
|
|
23
|
+
type: Input
|
|
24
|
+
}], email: [{
|
|
25
|
+
type: Input
|
|
26
|
+
}], mobile: [{
|
|
27
|
+
type: Input
|
|
28
|
+
}], name: [{
|
|
29
|
+
type: Input
|
|
30
|
+
}] } });
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3NtLWFzc2lnbi1jb25maXJtYXRpb24uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvbGliL21vZHVsZXMvbGF5b3V0L2NvbXBvbmVudHMvY3NtLWFzc2lnbi1jb25maXJtYXRpb24vY3NtLWFzc2lnbi1jb25maXJtYXRpb24uY29tcG9uZW50LnRzIiwiLi4vLi4vLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYXBwLXNoYXJlZC9zcmMvbGliL21vZHVsZXMvbGF5b3V0L2NvbXBvbmVudHMvY3NtLWFzc2lnbi1jb25maXJtYXRpb24vY3NtLWFzc2lnbi1jb25maXJtYXRpb24uY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQUUsTUFBTSxlQUFlLENBQUM7OztBQVFqRCxNQUFNLE9BQU8sOEJBQThCO0lBT3JCO0lBTFgsUUFBUSxDQUFPO0lBQ2YsS0FBSyxDQUFPO0lBQ1osTUFBTSxDQUFPO0lBQ2IsSUFBSSxDQUFPO0lBRXBCLFlBQW9CLFdBQTBCO1FBQTFCLGdCQUFXLEdBQVgsV0FBVyxDQUFlO0lBRTlDLENBQUM7SUFFRCxRQUFRLENBQUMsS0FBWTtRQUNuQixJQUFJLENBQUMsV0FBVyxDQUFDLEtBQUssQ0FBQyxFQUFDLFFBQVEsRUFBQyxJQUFJLENBQUMsUUFBUSxFQUFFLE1BQU0sRUFBQyxLQUFLLEVBQUMsQ0FBQyxDQUFBO0lBQ2hFLENBQUM7d0dBYlUsOEJBQThCOzRGQUE5Qiw4QkFBOEIscUpDUjNDLDBuRUEyQ007OzRGRG5DTyw4QkFBOEI7a0JBTDFDLFNBQVM7K0JBQ0UsNkJBQTZCO21GQU05QixRQUFRO3NCQUFoQixLQUFLO2dCQUNHLEtBQUs7c0JBQWIsS0FBSztnQkFDRyxNQUFNO3NCQUFkLEtBQUs7Z0JBQ0csSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOZ2JBY3RpdmVNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWNzbS1hc3NpZ24tY29uZmlybWF0aW9uJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vY3NtLWFzc2lnbi1jb25maXJtYXRpb24uY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi9jc20tYXNzaWduLWNvbmZpcm1hdGlvbi5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIENzbUFzc2lnbkNvbmZpcm1hdGlvbkNvbXBvbmVudCB7XHJcblxyXG4gIEBJbnB1dCgpIGNsaWVudElkOnN0cmluZ1xyXG4gIEBJbnB1dCgpIGVtYWlsOnN0cmluZ1xyXG4gIEBJbnB1dCgpIG1vYmlsZTpzdHJpbmdcclxuICBASW5wdXQoKSBuYW1lOnN0cmluZ1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFjdGl2ZU1vZGFsOk5nYkFjdGl2ZU1vZGFsKXtcclxuXHJcbiAgfVxyXG5cclxuICBvblN1Ym1pdCh2YWx1ZTpzdHJpbmcpe1xyXG4gICAgdGhpcy5hY3RpdmVNb2RhbC5jbG9zZSh7Y2xpZW50SWQ6dGhpcy5jbGllbnRJZCwgYWN0aW9uOnZhbHVlfSlcclxuICB9XHJcblxyXG59XHJcbiIsIjxzcGFuIGNsYXNzPVwibWItNVwiPlxyXG4gICAgPHN2ZyB3aWR0aD1cIjU2XCIgaGVpZ2h0PVwiNTZcIiB2aWV3Qm94PVwiMCAwIDU2IDU2XCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgPHJlY3QgeD1cIjRcIiB5PVwiNFwiIHdpZHRoPVwiNDhcIiBoZWlnaHQ9XCI0OFwiIHJ4PVwiMjRcIiBmaWxsPVwiI0ZFRjBDN1wiIC8+XHJcbiAgICAgICAgPHJlY3QgeD1cIjRcIiB5PVwiNFwiIHdpZHRoPVwiNDhcIiBoZWlnaHQ9XCI0OFwiIHJ4PVwiMjRcIiBzdHJva2U9XCIjRkZGQUVCXCIgc3Ryb2tlLXdpZHRoPVwiOFwiIC8+XHJcbiAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgZD1cIk0yNy45OTk4IDI0VjI4TTI3Ljk5OTggMzJIMjguMDA5OE0yNi4yODk4IDE4Ljg2TDE3LjgxOTggMzNDMTcuNjQ1MSAzMy4zMDI0IDE3LjU1MjcgMzMuNjQ1MyAxNy41NTE4IDMzLjk5NDVDMTcuNTUwOCAzNC4zNDM3IDE3LjY0MTMgMzQuNjg3MSAxNy44MTQyIDM0Ljk5MDVDMTcuOTg3MSAzNS4yOTM5IDE4LjIzNjUgMzUuNTQ2NyAxOC41Mzc1IDM1LjcyMzhDMTguODM4NSAzNS45MDA5IDE5LjE4MDYgMzUuOTk2MSAxOS41Mjk4IDM2SDM2LjQ2OThDMzYuODE5IDM1Ljk5NjEgMzcuMTYxMSAzNS45MDA5IDM3LjQ2MjEgMzUuNzIzOEMzNy43NjMxIDM1LjU0NjcgMzguMDEyNCAzNS4yOTM5IDM4LjE4NTQgMzQuOTkwNUMzOC4zNTgzIDM0LjY4NzEgMzguNDQ4OCAzNC4zNDM3IDM4LjQ0NzggMzMuOTk0NUMzOC40NDY4IDMzLjY0NTMgMzguMzU0NCAzMy4zMDI0IDM4LjE3OTggMzNMMjkuNzA5OCAxOC44NkMyOS41MzE1IDE4LjU2NjEgMjkuMjgwNSAxOC4zMjMxIDI4Ljk4MSAxOC4xNTQ0QzI4LjY4MTQgMTcuOTg1OCAyOC4zNDM1IDE3Ljg5NzIgMjcuOTk5OCAxNy44OTcyQzI3LjY1NiAxNy44OTcyIDI3LjMxODEgMTcuOTg1OCAyNy4wMTg2IDE4LjE1NDRDMjYuNzE5MSAxOC4zMjMxIDI2LjQ2OCAxOC41NjYxIDI2LjI4OTggMTguODZaXCJcclxuICAgICAgICAgICAgc3Ryb2tlPVwiI0RDNjgwM1wiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgPC9zdmc+XHJcbjwvc3Bhbj5cclxuXHJcbjxzcGFuIGNsYXNzPVwibWItMyB0aXRsZVwiPlxyXG4gICAge3tuYW1lfX0gQXNzaWduZWQgYXMgWW91ciBDU01cclxuPC9zcGFuPlxyXG5cclxuPHNwYW4gY2xhc3M9XCJtYi01IGRlc2NyaXB0aW9uXCI+XHJcbiAgICB7e25hbWV9fSBoYXMgYmVlbiBhc3NpZ25lZCBhcyB5b3VyIEN1c3RvbWVyIFN1Y2Nlc3MgTWFuYWdlciAoQ1NNKS4gRm9yIGlucXVpcmllcyBhYm91dCBkYXRhIG1hbmFnZW1lbnQsIHN0b3JlXHJcbiAgICBvcGVyYXRpb25zLCBvciB1c2VyIG1hbmFnZW1lbnQsIHBsZWFzZSBjb250YWN0IHt7bmFtZX19LlxyXG48L3NwYW4+XHJcblxyXG48c3BhbiBjbGFzcz1cIm1iLTUgc3ViLXRpdGxlXCI+XHJcbiAgICBDb250YWN0IEluZm9ybWF0aW9uOlxyXG48L3NwYW4+XHJcblxyXG48c3BhbiBjbGFzcz1cIm1iLTUgZGVzY3JpcHRpb25cIj5cclxuICAgIDx1bD5cclxuICAgICAgICA8bGk+XHJcbiAgICAgICAgICAgIFBob25lOiB7e21vYmlsZX19XHJcbiAgICAgICAgPC9saT5cclxuICAgICAgICA8bGk+XHJcbiAgICAgICAgICAgIEVtYWlsOiB7e2VtYWlsfX1cclxuICAgICAgICA8L2xpPlxyXG4gICAgPC91bD5cclxuPC9zcGFuPlxyXG5cclxuPHNwYW4gY2xhc3M9XCJtYi0xMCBkZXNjcmlwdGlvblwiPlxyXG4gICAgUGxlYXNlIGFwcHJvdmUge3tuYW1lfX0ncyBhY2Nlc3MgdG8geW91ciBkYXRhIGRhc2hib2FyZC5cclxuPC9zcGFuPlxyXG5cclxuPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlclwiID5cclxuICAgICAgICA8YnV0dG9uIChjbGljayk9XCJvblN1Ym1pdCgnZGVjbGluZScpXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgYnRuLWN1c3QgbWUtNVwiPkRlY2xpbmU8L2J1dHRvbj5cclxuXHJcbiAgICAgICAgPGJ1dHRvbiAoY2xpY2spPVwib25TdWJtaXQoJ2FwcHJvdmUnKVwiIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IGJ0bi1jdXN0XCI+QXBwcm92ZTwvYnV0dG9uPlxyXG5cclxuPC9kaXY+Il19
|
|
@@ -1,20 +1,31 @@
|
|
|
1
1
|
import { Component, Input } from '@angular/core';
|
|
2
2
|
import { NavigationCancel, NavigationEnd } from '@angular/router';
|
|
3
|
+
import { CsmAssignConfirmationComponent } from '../components/csm-assign-confirmation/csm-assign-confirmation.component';
|
|
3
4
|
import * as i0 from "@angular/core";
|
|
4
5
|
import * as i1 from "@angular/router";
|
|
5
|
-
import * as i2 from "@
|
|
6
|
+
import * as i2 from "@ng-bootstrap/ng-bootstrap";
|
|
7
|
+
import * as i3 from "../../../services/auth.service";
|
|
8
|
+
import * as i4 from "../../../services/toast.service";
|
|
9
|
+
import * as i5 from "@angular/common";
|
|
6
10
|
// import { DrawerComponent } from '../../../kt/components';
|
|
7
11
|
export class ContentComponent {
|
|
8
12
|
router;
|
|
13
|
+
modalService;
|
|
14
|
+
authService;
|
|
15
|
+
toastService;
|
|
9
16
|
contentContainerCSSClass = '';
|
|
10
17
|
appContentContiner;
|
|
11
18
|
appContentContainerClass = '';
|
|
12
19
|
unsubscribe = [];
|
|
13
|
-
constructor(router) {
|
|
20
|
+
constructor(router, modalService, authService, toastService) {
|
|
14
21
|
this.router = router;
|
|
22
|
+
this.modalService = modalService;
|
|
23
|
+
this.authService = authService;
|
|
24
|
+
this.toastService = toastService;
|
|
15
25
|
}
|
|
16
26
|
ngOnInit() {
|
|
17
27
|
this.routingChanges();
|
|
28
|
+
this.getAssignedUsers();
|
|
18
29
|
}
|
|
19
30
|
routingChanges() {
|
|
20
31
|
const routerSubscription = this.router.events.subscribe((event) => {
|
|
@@ -27,17 +38,70 @@ export class ContentComponent {
|
|
|
27
38
|
ngOnDestroy() {
|
|
28
39
|
this.unsubscribe.forEach((sb) => sb.unsubscribe());
|
|
29
40
|
}
|
|
30
|
-
|
|
31
|
-
|
|
41
|
+
confirmCsmAssign(clientId, email, mobile, name) {
|
|
42
|
+
const modalRef = this.modalService.open(CsmAssignConfirmationComponent, {
|
|
43
|
+
centered: true, size: 'md', scrollable: true,
|
|
44
|
+
});
|
|
45
|
+
modalRef.componentInstance.clientId = clientId;
|
|
46
|
+
modalRef.componentInstance.email = email;
|
|
47
|
+
modalRef.componentInstance.mobile = mobile;
|
|
48
|
+
modalRef.componentInstance.name = name;
|
|
49
|
+
modalRef.result.then((result) => {
|
|
50
|
+
if (result.action === 'approve' || result.action === 'decline') {
|
|
51
|
+
let data = {
|
|
52
|
+
action: result.action
|
|
53
|
+
};
|
|
54
|
+
this.authService.csmAssignClientAction(result.clientId, data).subscribe({
|
|
55
|
+
next: (e) => {
|
|
56
|
+
this.toastService.getSuccessToast(e.message);
|
|
57
|
+
},
|
|
58
|
+
error: (e) => {
|
|
59
|
+
this.toastService.getErrorToast('Update failed');
|
|
60
|
+
}
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
getAssignedUsers() {
|
|
66
|
+
let userData = localStorage.getItem('user-info');
|
|
67
|
+
if (userData) {
|
|
68
|
+
userData = JSON.parse(userData);
|
|
69
|
+
if (userData.role === 'superadmin' && userData.userType === 'client') {
|
|
70
|
+
this.authService.checkToShowPopup(userData?.clientId).subscribe({
|
|
71
|
+
next: (res) => {
|
|
72
|
+
if (res.data.notifyCsmAssign) {
|
|
73
|
+
this.getCsmDetail(userData?.clientId);
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
});
|
|
77
|
+
}
|
|
78
|
+
}
|
|
79
|
+
}
|
|
80
|
+
getCsmDetail(clientId) {
|
|
81
|
+
this.authService.getAssignedUsers(clientId).subscribe({
|
|
82
|
+
next: (e) => {
|
|
83
|
+
if (e?.data?.result?.length) {
|
|
84
|
+
e?.data?.result.forEach((element) => {
|
|
85
|
+
if (element.tangoUserType === 'csm') {
|
|
86
|
+
const csm = element?.assignedUser?.[0];
|
|
87
|
+
this.confirmCsmAssign(clientId, csm?.email, csm?.mobileNumber, csm?.userName);
|
|
88
|
+
}
|
|
89
|
+
});
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
});
|
|
93
|
+
}
|
|
94
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: ContentComponent, deps: [{ token: i1.Router }, { token: i2.NgbModal }, { token: i3.AuthService }, { token: i4.ToastService }], target: i0.ɵɵFactoryTarget.Component });
|
|
95
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: ContentComponent, selector: "lib-content", inputs: { contentContainerCSSClass: "contentContainerCSSClass", appContentContiner: "appContentContiner", appContentContainerClass: "appContentContainerClass" }, ngImport: i0, template: "<ng-container *ngIf=\"appContentContiner\">\r\n <!--begin::Content container-->\r\n <div id=\"kt_app_content_container\" class=\"app-container\"\r\n [ngClass]=\"appContentContainerClass + ' ' + contentContainerCSSClass\"\r\n [ngClass]=\"{'container-xxl': appContentContiner === 'fixed', 'container-fluid': appContentContiner === 'fluid'}\">\r\n <router-outlet></router-outlet>\r\n </div>\r\n <!--end::Content container-->\r\n</ng-container>\r\n<ng-container *ngIf=\"!appContentContiner\">\r\n <router-outlet></router-outlet>\r\n</ng-container>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i1.RouterOutlet, selector: "router-outlet", inputs: ["name"], outputs: ["activate", "deactivate", "attach", "detach"], exportAs: ["outlet"] }] });
|
|
32
96
|
}
|
|
33
97
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: ContentComponent, decorators: [{
|
|
34
98
|
type: Component,
|
|
35
99
|
args: [{ selector: 'lib-content', template: "<ng-container *ngIf=\"appContentContiner\">\r\n <!--begin::Content container-->\r\n <div id=\"kt_app_content_container\" class=\"app-container\"\r\n [ngClass]=\"appContentContainerClass + ' ' + contentContainerCSSClass\"\r\n [ngClass]=\"{'container-xxl': appContentContiner === 'fixed', 'container-fluid': appContentContiner === 'fluid'}\">\r\n <router-outlet></router-outlet>\r\n </div>\r\n <!--end::Content container-->\r\n</ng-container>\r\n<ng-container *ngIf=\"!appContentContiner\">\r\n <router-outlet></router-outlet>\r\n</ng-container>\r\n" }]
|
|
36
|
-
}], ctorParameters: () => [{ type: i1.Router }], propDecorators: { contentContainerCSSClass: [{
|
|
100
|
+
}], ctorParameters: () => [{ type: i1.Router }, { type: i2.NgbModal }, { type: i3.AuthService }, { type: i4.ToastService }], propDecorators: { contentContainerCSSClass: [{
|
|
37
101
|
type: Input
|
|
38
102
|
}], appContentContiner: [{
|
|
39
103
|
type: Input
|
|
40
104
|
}], appContentContainerClass: [{
|
|
41
105
|
type: Input
|
|
42
106
|
}] } });
|
|
43
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvbW9kdWxlcy9sYXlvdXQvY29udGVudC9jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC9jb250ZW50L2NvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQzs7OztBQUUxRSw0REFBNEQ7QUFNNUQsTUFBTSxPQUFPLGdCQUFnQjtJQU9QO0lBTlgsd0JBQXdCLEdBQVcsRUFBRSxDQUFDO0lBQ3RDLGtCQUFrQixDQUFxQjtJQUN2Qyx3QkFBd0IsR0FBVyxFQUFFLENBQUM7SUFFdkMsV0FBVyxHQUFtQixFQUFFLENBQUM7SUFFekMsWUFBb0IsTUFBYztRQUFkLFdBQU0sR0FBTixNQUFNLENBQVE7SUFBRyxDQUFDO0lBRXRDLFFBQVE7UUFDTixJQUFJLENBQUMsY0FBYyxFQUFFLENBQUM7SUFDeEIsQ0FBQztJQUVELGNBQWM7UUFDWixNQUFNLGtCQUFrQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEtBQUssRUFBRSxFQUFFO1lBQ2hFLElBQUksS0FBSyxZQUFZLGFBQWEsSUFBSSxLQUFLLFlBQVksZ0JBQWdCLEVBQUU7Z0JBQ3ZFLDZCQUE2QjthQUM5QjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUM1QyxDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsRUFBRSxFQUFFLEVBQUUsQ0FBQyxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsQ0FBQztJQUNyRCxDQUFDO3dHQXhCVSxnQkFBZ0I7NEZBQWhCLGdCQUFnQixxTkNUN0IsbWpCQVlBOzs0RkRIYSxnQkFBZ0I7a0JBTDVCLFNBQVM7K0JBQ0UsYUFBYTsyRUFLZCx3QkFBd0I7c0JBQWhDLEtBQUs7Z0JBQ0csa0JBQWtCO3NCQUExQixLQUFLO2dCQUNHLHdCQUF3QjtzQkFBaEMsS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5hdmlnYXRpb25DYW5jZWwsIE5hdmlnYXRpb25FbmQsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMvaW50ZXJuYWwvU3Vic2NyaXB0aW9uJztcclxuLy8gaW1wb3J0IHsgRHJhd2VyQ29tcG9uZW50IH0gZnJvbSAnLi4vLi4vLi4va3QvY29tcG9uZW50cyc7XHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWNvbnRlbnQnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9jb250ZW50LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9jb250ZW50LmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBDb250ZW50Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIGNvbnRlbnRDb250YWluZXJDU1NDbGFzczogc3RyaW5nID0gJyc7XHJcbiAgQElucHV0KCkgYXBwQ29udGVudENvbnRpbmVyPzogJ2ZpeGVkJyB8ICdmbHVpZCc7XHJcbiAgQElucHV0KCkgYXBwQ29udGVudENvbnRhaW5lckNsYXNzOiBzdHJpbmcgPSAnJztcclxuXHJcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZTogU3Vic2NyaXB0aW9uW10gPSBbXTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZXI6IFJvdXRlcikge31cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLnJvdXRpbmdDaGFuZ2VzKCk7XHJcbiAgfVxyXG5cclxuICByb3V0aW5nQ2hhbmdlcygpIHtcclxuICAgIGNvbnN0IHJvdXRlclN1YnNjcmlwdGlvbiA9IHRoaXMucm91dGVyLmV2ZW50cy5zdWJzY3JpYmUoKGV2ZW50KSA9PiB7XHJcbiAgICAgIGlmIChldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25FbmQgfHwgZXZlbnQgaW5zdGFuY2VvZiBOYXZpZ2F0aW9uQ2FuY2VsKSB7XHJcbiAgICAgICAgLy8gRHJhd2VyQ29tcG9uZW50LmhpZGVBbGwoKTtcclxuICAgICAgfVxyXG4gICAgfSk7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlLnB1c2gocm91dGVyU3Vic2NyaXB0aW9uKTtcclxuICB9XHJcblxyXG4gIG5nT25EZXN0cm95KCkge1xyXG4gICAgdGhpcy51bnN1YnNjcmliZS5mb3JFYWNoKChzYikgPT4gc2IudW5zdWJzY3JpYmUoKSk7XHJcbiAgfVxyXG59XHJcbiIsIjxuZy1jb250YWluZXIgKm5nSWY9XCJhcHBDb250ZW50Q29udGluZXJcIj5cclxuICA8IS0tYmVnaW46OkNvbnRlbnQgY29udGFpbmVyLS0+XHJcbiAgPGRpdiBpZD1cImt0X2FwcF9jb250ZW50X2NvbnRhaW5lclwiIGNsYXNzPVwiYXBwLWNvbnRhaW5lclwiXHJcbiAgICBbbmdDbGFzc109XCJhcHBDb250ZW50Q29udGFpbmVyQ2xhc3MgKyAnICcgKyBjb250ZW50Q29udGFpbmVyQ1NTQ2xhc3NcIlxyXG4gICAgW25nQ2xhc3NdPVwieydjb250YWluZXIteHhsJzogYXBwQ29udGVudENvbnRpbmVyID09PSAnZml4ZWQnLCAnY29udGFpbmVyLWZsdWlkJzogYXBwQ29udGVudENvbnRpbmVyID09PSAnZmx1aWQnfVwiPlxyXG4gICAgPHJvdXRlci1vdXRsZXQ+PC9yb3V0ZXItb3V0bGV0PlxyXG4gIDwvZGl2PlxyXG4gIDwhLS1lbmQ6OkNvbnRlbnQgY29udGFpbmVyLS0+XHJcbjwvbmctY29udGFpbmVyPlxyXG48bmctY29udGFpbmVyICpuZ0lmPVwiIWFwcENvbnRlbnRDb250aW5lclwiPlxyXG4gIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cclxuPC9uZy1jb250YWluZXI+XHJcbiJdfQ==
|
|
107
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGVudC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvbW9kdWxlcy9sYXlvdXQvY29udGVudC9jb250ZW50LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC9jb250ZW50L2NvbnRlbnQuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQXFCLE1BQU0sZUFBZSxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxhQUFhLEVBQVUsTUFBTSxpQkFBaUIsQ0FBQztBQUcxRSxPQUFPLEVBQUUsOEJBQThCLEVBQUUsTUFBTSx5RUFBeUUsQ0FBQzs7Ozs7OztBQUd6SCw0REFBNEQ7QUFNNUQsTUFBTSxPQUFPLGdCQUFnQjtJQU9QO0lBQXdCO0lBQWdDO0lBQWlDO0lBTnBHLHdCQUF3QixHQUFXLEVBQUUsQ0FBQztJQUN0QyxrQkFBa0IsQ0FBcUI7SUFDdkMsd0JBQXdCLEdBQVcsRUFBRSxDQUFDO0lBRXZDLFdBQVcsR0FBbUIsRUFBRSxDQUFDO0lBRXpDLFlBQW9CLE1BQWMsRUFBVSxZQUFzQixFQUFVLFdBQXVCLEVBQVUsWUFBeUI7UUFBbEgsV0FBTSxHQUFOLE1BQU0sQ0FBUTtRQUFVLGlCQUFZLEdBQVosWUFBWSxDQUFVO1FBQVUsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFBVSxpQkFBWSxHQUFaLFlBQVksQ0FBYTtJQUFJLENBQUM7SUFFM0ksUUFBUTtRQUNOLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQztRQUN0QixJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQTtJQUN6QixDQUFDO0lBRUQsY0FBYztRQUNaLE1BQU0sa0JBQWtCLEdBQUcsSUFB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QUksRUFBQyxDQUFDLENBQUMsRUFBQyxFQUFFO2dCQUNSLElBQUcsQ0FBQyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFDO29CQUN6QixDQUFDLEVBQUUsSUFBSSxFQUFFLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxPQUFXLEVBQUUsRUFBRTt3QkFDdEMsSUFBRyxPQUFPLENBQUMsYUFBYSxLQUFLLEtBQUssRUFBQzs0QkFDakMsTUFBTSxHQUFHLEdBQUcsT0FBTyxFQUFFLFlBQVksRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBOzRCQUN0QyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsUUFBUSxFQUFFLEdBQUcsRUFBRSxLQUFLLEVBQUUsR0FBRyxFQUFFLFlBQVksRUFBRSxHQUFHLEVBQUUsUUFBUSxDQUFDLENBQUE7eUJBQzlFO29CQUNILENBQUMsQ0FBQyxDQUFDO2lCQUNKO1lBQ0gsQ0FBQztTQUNGLENBQUMsQ0FBQTtJQUNKLENBQUM7d0dBdkZVLGdCQUFnQjs0RkFBaEIsZ0JBQWdCLHFOQ2I3QixtakJBWUE7OzRGRENhLGdCQUFnQjtrQkFMNUIsU0FBUzsrQkFDRSxhQUFhO3VKQUtkLHdCQUF3QjtzQkFBaEMsS0FBSztnQkFDRyxrQkFBa0I7c0JBQTFCLEtBQUs7Z0JBQ0csd0JBQXdCO3NCQUFoQyxLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgTmF2aWdhdGlvbkNhbmNlbCwgTmF2aWdhdGlvbkVuZCwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTmdiTW9kYWwgfSBmcm9tICdAbmctYm9vdHN0cmFwL25nLWJvb3RzdHJhcCc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMvaW50ZXJuYWwvU3Vic2NyaXB0aW9uJztcclxuaW1wb3J0IHsgQ3NtQXNzaWduQ29uZmlybWF0aW9uQ29tcG9uZW50IH0gZnJvbSAnLi4vY29tcG9uZW50cy9jc20tYXNzaWduLWNvbmZpcm1hdGlvbi9jc20tYXNzaWduLWNvbmZpcm1hdGlvbi5jb21wb25lbnQnO1xyXG5pbXBvcnQgeyBBdXRoU2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL2F1dGguc2VydmljZSc7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3RvYXN0LnNlcnZpY2UnO1xyXG4vLyBpbXBvcnQgeyBEcmF3ZXJDb21wb25lbnQgfSBmcm9tICcuLi8uLi8uLi9rdC9jb21wb25lbnRzJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItY29udGVudCcsXHJcbiAgdGVtcGxhdGVVcmw6ICcuL2NvbnRlbnQuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL2NvbnRlbnQuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIENvbnRlbnRDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQsIE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgY29udGVudENvbnRhaW5lckNTU0NsYXNzOiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBhcHBDb250ZW50Q29udGluZXI/OiAnZml4ZWQnIHwgJ2ZsdWlkJztcclxuICBASW5wdXQoKSBhcHBDb250ZW50Q29udGFpbmVyQ2xhc3M6IHN0cmluZyA9ICcnO1xyXG5cclxuICBwcml2YXRlIHVuc3Vic2NyaWJlOiBTdWJzY3JpcHRpb25bXSA9IFtdO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIHJvdXRlcjogUm91dGVyLCBwcml2YXRlIG1vZGFsU2VydmljZTogTmdiTW9kYWwsIHByaXZhdGUgYXV0aFNlcnZpY2U6QXV0aFNlcnZpY2UsIHByaXZhdGUgdG9hc3RTZXJ2aWNlOlRvYXN0U2VydmljZSkgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yb3V0aW5nQ2hhbmdlcygpO1xyXG4gICAgdGhpcy5nZXRBc3NpZ25lZFVzZXJzKClcclxuICB9XHJcblxyXG4gIHJvdXRpbmdDaGFuZ2VzKCkge1xyXG4gICAgY29uc3Qgcm91dGVyU3Vic2NyaXB0aW9uID0gdGhpcy5yb3V0ZXIuZXZlbnRzLnN1YnNjcmliZSgoZXZlbnQpID0+IHtcclxuICAgICAgaWYgKGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCB8fCBldmVudCBpbnN0YW5jZW9mIE5hdmlnYXRpb25DYW5jZWwpIHtcclxuICAgICAgICAvLyBEcmF3ZXJDb21wb25lbnQuaGlkZUFsbCgpO1xyXG4gICAgICB9XHJcbiAgICB9KTtcclxuICAgIHRoaXMudW5zdWJzY3JpYmUucHVzaChyb3V0ZXJTdWJzY3JpcHRpb24pO1xyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKSB7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlLmZvckVhY2goKHNiKSA9PiBzYi51bnN1YnNjcmliZSgpKTtcclxuICB9XHJcblxyXG4gIGNvbmZpcm1Dc21Bc3NpZ24oY2xpZW50SWQ6c3RyaW5nLCBlbWFpbD86c3RyaW5nLCBtb2JpbGU/OnN0cmluZywgbmFtZT86c3RyaW5nICkge1xyXG4gICAgY29uc3QgbW9kYWxSZWYgPSB0aGlzLm1vZGFsU2VydmljZS5vcGVuKENzbUFzc2lnbkNvbmZpcm1hdGlvbkNvbXBvbmVudCwge1xyXG4gICAgICBjZW50ZXJlZDogdHJ1ZSwgc2l6ZTogJ21kJywgc2Nyb2xsYWJsZTogdHJ1ZSxcclxuICAgIH0pO1xyXG5cclxuICAgIG1vZGFsUmVmLmNvbXBvbmVudEluc3RhbmNlLmNsaWVudElkID0gY2xpZW50SWQ7XHJcbiAgICBtb2RhbFJlZi5jb21wb25lbnRJbnN0YW5jZS5lbWFpbCA9IGVtYWlsO1xyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UubW9iaWxlID0gbW9iaWxlO1xyXG4gICAgbW9kYWxSZWYuY29tcG9uZW50SW5zdGFuY2UubmFtZSA9IG5hbWU7XHJcblxyXG4gICAgbW9kYWxSZWYucmVzdWx0LnRoZW4oKHJlc3VsdDogYW55KSA9PiB7XHJcbiAgICAgIGlmKHJlc3VsdC5hY3Rpb24gPT09ICdhcHByb3ZlJyB8fCByZXN1bHQuYWN0aW9uID09PSAnZGVjbGluZScpe1xyXG4gICAgICAgIGxldCBkYXRhID0ge1xyXG4gICAgICAgICAgYWN0aW9uOiByZXN1bHQuYWN0aW9uXHJcbiAgICAgICAgfVxyXG5cclxuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmNzbUFzc2lnbkNsaWVudEFjdGlvbihyZXN1bHQuY2xpZW50SWQsIGRhdGEpLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OihlKT0+e1xyXG4gICAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5nZXRTdWNjZXNzVG9hc3QoZS5tZXNzYWdlKVxyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGVycm9yOihlKT0+e1xyXG4gICAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5nZXRFcnJvclRvYXN0KCdVcGRhdGUgZmFpbGVkJylcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0QXNzaWduZWRVc2Vycygpe1xyXG4gICAgbGV0IHVzZXJEYXRhOmFueSA9IGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VyLWluZm8nKVxyXG4gICAgaWYgKHVzZXJEYXRhKSB7XHJcbiAgICAgIHVzZXJEYXRhID0gSlNPTi5wYXJzZSh1c2VyRGF0YSlcclxuICAgICAgaWYgKHVzZXJEYXRhLnJvbGUgPT09ICdzdXBlcmFkbWluJyAmJiB1c2VyRGF0YS51c2VyVHlwZSA9PT0gJ2NsaWVudCcpIHtcclxuICAgICAgICB0aGlzLmF1dGhTZXJ2aWNlLmNoZWNrVG9TaG93UG9wdXAodXNlckRhdGE/LmNsaWVudElkKS5zdWJzY3JpYmUoe1xyXG4gICAgICAgICAgbmV4dDoocmVzKT0+e1xyXG4gICAgICAgICAgICBpZihyZXMuZGF0YS5ub3RpZnlDc21Bc3NpZ24pe1xyXG4gICAgICAgICAgICAgIHRoaXMuZ2V0Q3NtRGV0YWlsKHVzZXJEYXRhPy5jbGllbnRJZClcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgICBcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KVxyXG4gICAgICB9XHJcblxyXG4gICAgfVxyXG5cclxuICB9XHJcblxyXG4gIGdldENzbURldGFpbChjbGllbnRJZDpzdHJpbmcpe1xyXG4gICAgdGhpcy5hdXRoU2VydmljZS5nZXRBc3NpZ25lZFVzZXJzKGNsaWVudElkKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OihlKT0+e1xyXG4gICAgICAgIGlmKGU/LmRhdGE/LnJlc3VsdD8ubGVuZ3RoKXtcclxuICAgICAgICAgIGU/LmRhdGE/LnJlc3VsdC5mb3JFYWNoKChlbGVtZW50OmFueSkgPT4ge1xyXG4gICAgICAgICAgICBpZihlbGVtZW50LnRhbmdvVXNlclR5cGUgPT09ICdjc20nKXtcclxuICAgICAgICAgICAgICBjb25zdCBjc20gPSBlbGVtZW50Py5hc3NpZ25lZFVzZXI/LlswXVxyXG4gICAgICAgICAgICAgIHRoaXMuY29uZmlybUNzbUFzc2lnbihjbGllbnRJZCwgY3NtPy5lbWFpbCwgY3NtPy5tb2JpbGVOdW1iZXIsIGNzbT8udXNlck5hbWUpXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgIH0gICAgICAgIFxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxufVxyXG4iLCI8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwQ29udGVudENvbnRpbmVyXCI+XHJcbiAgPCEtLWJlZ2luOjpDb250ZW50IGNvbnRhaW5lci0tPlxyXG4gIDxkaXYgaWQ9XCJrdF9hcHBfY29udGVudF9jb250YWluZXJcIiBjbGFzcz1cImFwcC1jb250YWluZXJcIlxyXG4gICAgW25nQ2xhc3NdPVwiYXBwQ29udGVudENvbnRhaW5lckNsYXNzICsgJyAnICsgY29udGVudENvbnRhaW5lckNTU0NsYXNzXCJcclxuICAgIFtuZ0NsYXNzXT1cInsnY29udGFpbmVyLXh4bCc6IGFwcENvbnRlbnRDb250aW5lciA9PT0gJ2ZpeGVkJywgJ2NvbnRhaW5lci1mbHVpZCc6IGFwcENvbnRlbnRDb250aW5lciA9PT0gJ2ZsdWlkJ31cIj5cclxuICAgIDxyb3V0ZXItb3V0bGV0Pjwvcm91dGVyLW91dGxldD5cclxuICA8L2Rpdj5cclxuICA8IS0tZW5kOjpDb250ZW50IGNvbnRhaW5lci0tPlxyXG48L25nLWNvbnRhaW5lcj5cclxuPG5nLWNvbnRhaW5lciAqbmdJZj1cIiFhcHBDb250ZW50Q29udGluZXJcIj5cclxuICA8cm91dGVyLW91dGxldD48L3JvdXRlci1vdXRsZXQ+XHJcbjwvbmctY29udGFpbmVyPlxyXG4iXX0=
|
|
@@ -1,11 +1,38 @@
|
|
|
1
1
|
import { Component, HostListener, Input } from '@angular/core';
|
|
2
|
+
import { filter } from 'rxjs';
|
|
3
|
+
import { NavigationEnd } from '@angular/router';
|
|
2
4
|
import { Subject, takeUntil } from "rxjs";
|
|
5
|
+
import { trigger, style, transition, animate } from '@angular/animations';
|
|
3
6
|
import * as i0 from "@angular/core";
|
|
4
7
|
import * as i1 from "../../../../services/notification.service";
|
|
5
8
|
import * as i2 from "@angular/router";
|
|
6
9
|
import * as i3 from "../../../../services/toast.service";
|
|
7
10
|
import * as i4 from "@angular/common";
|
|
8
11
|
import * as i5 from "../../../../pipes/customDate.pipe";
|
|
12
|
+
const enterTransition = transition(':enter', [
|
|
13
|
+
style({
|
|
14
|
+
opacity: 0,
|
|
15
|
+
transform: 'translateX(50px)'
|
|
16
|
+
}),
|
|
17
|
+
animate('1s ease-in', style({
|
|
18
|
+
opacity: 1
|
|
19
|
+
}))
|
|
20
|
+
]);
|
|
21
|
+
const leaveTrans = transition(':leave', [
|
|
22
|
+
style({
|
|
23
|
+
opacity: 1,
|
|
24
|
+
transform: 'translateX(-50px)'
|
|
25
|
+
}),
|
|
26
|
+
animate('1s ease-out', style({
|
|
27
|
+
opacity: 0,
|
|
28
|
+
}))
|
|
29
|
+
]);
|
|
30
|
+
const fadeIn = trigger('fadeIn', [
|
|
31
|
+
enterTransition
|
|
32
|
+
]);
|
|
33
|
+
const fadeOut = trigger('fadeOut', [
|
|
34
|
+
leaveTrans
|
|
35
|
+
]);
|
|
9
36
|
export class NavbarComponent {
|
|
10
37
|
service;
|
|
11
38
|
router;
|
|
@@ -28,7 +55,6 @@ export class NavbarComponent {
|
|
|
28
55
|
url;
|
|
29
56
|
showNotification = true;
|
|
30
57
|
showDropdown = false;
|
|
31
|
-
// notificationReceived = false;
|
|
32
58
|
subscription;
|
|
33
59
|
notificationDropDownClass = true;
|
|
34
60
|
constructor(service, router, toast, cd) {
|
|
@@ -42,15 +68,19 @@ export class NavbarComponent {
|
|
|
42
68
|
this.destroy$.complete();
|
|
43
69
|
}
|
|
44
70
|
ngOnInit() {
|
|
45
|
-
this.router.events.pipe(takeUntil(this.destroy$)).subscribe(() => {
|
|
46
|
-
|
|
47
|
-
if (url.includes('notifications')) {
|
|
48
|
-
this.showNotification = false;
|
|
49
|
-
}
|
|
50
|
-
else {
|
|
51
|
-
this.showNotification = true;
|
|
52
|
-
}
|
|
71
|
+
this.router.events.pipe(filter(event => event instanceof NavigationEnd), takeUntil(this.destroy$)).subscribe(() => {
|
|
72
|
+
this.showNotificationIcon();
|
|
53
73
|
});
|
|
74
|
+
this.showNotificationIcon();
|
|
75
|
+
}
|
|
76
|
+
showNotificationIcon() {
|
|
77
|
+
let url = this.router.url.split('/');
|
|
78
|
+
if (url.includes('notifications')) {
|
|
79
|
+
this.showNotification = false;
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
this.showNotification = true;
|
|
83
|
+
}
|
|
54
84
|
this.notificationList();
|
|
55
85
|
}
|
|
56
86
|
toggleUserDropDown() {
|
|
@@ -75,6 +105,13 @@ export class NavbarComponent {
|
|
|
75
105
|
this.noData = false;
|
|
76
106
|
this.notification = res.data.result.slice(0, 5);
|
|
77
107
|
this.pushNotificationList = res.data.result.filter((item) => item._source.showPushNotification);
|
|
108
|
+
this.pushNotificationList.forEach((item) => {
|
|
109
|
+
item._score = true;
|
|
110
|
+
setTimeout(() => {
|
|
111
|
+
item._score = false;
|
|
112
|
+
this.notificationPushUpdate(item);
|
|
113
|
+
}, 6000);
|
|
114
|
+
});
|
|
78
115
|
}
|
|
79
116
|
else {
|
|
80
117
|
this.notification = [];
|
|
@@ -89,11 +126,19 @@ export class NavbarComponent {
|
|
|
89
126
|
}
|
|
90
127
|
});
|
|
91
128
|
}
|
|
129
|
+
notificationPushUpdate(data) {
|
|
130
|
+
this.service.notificationPushUpdate(data).pipe(takeUntil(this.destroy$)).subscribe((res) => {
|
|
131
|
+
if (res && res.code == 200) {
|
|
132
|
+
setTimeout(() => {
|
|
133
|
+
this.notificationList();
|
|
134
|
+
}, 1000);
|
|
135
|
+
}
|
|
136
|
+
});
|
|
137
|
+
}
|
|
92
138
|
handleNotification() {
|
|
93
139
|
this.service.updateNotificationReceived(true);
|
|
94
140
|
}
|
|
95
141
|
viewAll(type) {
|
|
96
|
-
// this.dataKtMenu = 'false';
|
|
97
142
|
this.router.navigateByUrl('/notifications/alerts');
|
|
98
143
|
}
|
|
99
144
|
updateNotification(data, url) {
|
|
@@ -117,11 +162,17 @@ export class NavbarComponent {
|
|
|
117
162
|
}
|
|
118
163
|
}
|
|
119
164
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: NavbarComponent, deps: [{ token: i1.NotificationService }, { token: i2.Router }, { token: i3.ToastService }, { token: i0.ChangeDetectorRef }], target: i0.ɵɵFactoryTarget.Component });
|
|
120
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: NavbarComponent, selector: "lib-navbar", inputs: { appHeaderDefaulMenuDisplay: "appHeaderDefaulMenuDisplay", isRtl: "isRtl" }, host: { listeners: { "document:click": "onClick($event)" } }, ngImport: i0, template: "<!--begin::Notifications-->\r\n<div class=\"app-navbar-item\" [ngClass]=\"itemClass\" *ngIf=\"showNotification\">\r\n <!--begin::Menu- wrapper-->\r\n <div [ngClass]=\"btnClass\" (click)=\"showDropdown = !showDropdown\">\r\n <span *ngIf=\"!notification.length\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"24\" viewBox=\"0 0 20 24\" fill=\"none\">\r\n <path\r\n d=\"M10.6779 2.4V3.00688L11.2715 3.1335C14.1674 3.75125 16.3919 6.45842 16.3919 9.75V10.6313C16.3919 13.0131 17.2249 15.3087 18.7338 17.0963L18.7352 17.0979L19.0636 17.4846C19.0639 17.485 19.0642 17.4853 19.0645 17.4857C19.2557 17.7136 19.3048 18.0393 19.185 18.3174C19.0641 18.5983 18.8153 18.75 18.5704 18.75H1.42848C1.1825 18.75 0.933931 18.5974 0.815017 18.3193C0.695108 18.0388 0.744592 17.7123 0.933996 17.4853C0.934445 17.4848 0.934894 17.4843 0.935344 17.4837L1.26312 17.0985L1.26473 17.0966C2.77599 15.3086 3.60697 13.0127 3.60697 10.6313V9.75C3.60697 6.45434 5.79488 3.75145 8.72559 3.13388L9.32094 3.00843V2.4V1.5C9.32094 1.05052 9.65806 0.75 9.99944 0.75C10.3408 0.75 10.6779 1.05052 10.6779 1.5V2.4ZM9.99944 23.25C9.44983 23.25 8.91726 23.023 8.52034 22.6062C8.29649 22.3712 8.12457 22.0708 8.01769 21.75H11.9812C11.8743 22.0708 11.7024 22.3712 11.4785 22.6062C11.0856 23.0188 10.5146 23.25 9.99944 23.25Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.5\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"notification.length\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"24\" viewBox=\"0 0 20 24\" fill=\"none\">\r\n <path\r\n d=\"M11.4279 2.4V1.5C11.4279 0.671719 10.7896 0 9.99944 0C9.2093 0 8.57094 0.671719 8.57094 1.5V2.4C5.27202 3.09516 2.85697 6.12188 2.85697 9.75V10.6313C2.85697 12.8391 2.08648 14.9625 0.691915 16.6125L0.360862 17.0016C-0.0128805 17.4469 -0.10505 18.075 0.125384 18.6141C0.355818 19.1531 0.866013 19.5 1.42848 19.5H18.5704C19.1329 19.5 19.6418 19.1531 19.8739 18.6141C20.106 18.075 20.0123 17.4469 19.6373 17.0016L19.307 16.6125C17.9142 14.9625 17.1419 12.8391 17.1419 10.6313V9.75C17.1419 9.39947 17.119 9.05455 17.0746 8.71681C16.5845 8.8999 16.054 9 15.5 9C13.0147 9 11 6.98528 11 4.5C11 3.74877 11.1841 3.04054 11.5096 2.41795C11.4824 2.4118 11.4552 2.40582 11.4279 2.4Z\"\r\n fill=\"#00A3FF\" />\r\n <path\r\n d=\"M7.97723 23.1234C8.51291 23.6859 9.24055 24 9.99944 24C10.7181 24 11.486 23.6859 12.0216 23.1234C12.5573 22.5609 12.8564 21.7547 12.8564 21H7.14245C7.14245 21.7547 7.44154 22.5609 7.97723 23.1234Z\"\r\n fill=\"#00A3FF\" />\r\n <circle cx=\"16\" cy=\"4\" r=\"4\" fill=\"#F04438\" />\r\n </svg>\r\n </span>\r\n <div class=\"menu menu-sub menu-sub-dropdown menu-column w-450px w-lg-425px notificationMenu\" *ngIf=\"showDropdown\">\r\n <div class=\"card topbar\">\r\n <div class=\"card-header\">\r\n <h3 class=\"title-notify mt-10 mb-6\">\r\n Notifications\r\n </h3>\r\n </div>\r\n <ng-container *ngIf=\"loading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData && !loading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/noNotification.svg\" alt=\"\">\r\n <span class=\"notificationAlign mt-10\">No New Notification</span>\r\n <span class=\"noNotification mt-2\">Any new notification will be shown here.</span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n \r\n <div class=\"alertscroll\" *ngIf=\"notification.length\">\r\n <div *ngFor=\"let item of notification\" class=\"mh-200px ng-star-inserted\" style=\"overflow: auto;\">\r\n <div class=\"d-flex flex-stack py-3 mx-4 ng-star-inserted\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"symbol symbol-35px me-4\"><span class=\"symbol-label bg-light-primary\"><span\r\n class=\"svg-icon svg-icon-2 svg-icon-primary\"></span><span\r\n class=\"svg-icon svg-icon-2 svg-icon-primary\"><svg xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\"\r\n version=\"1.1\" class=\"ng-star-inserted\">\r\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n <polygon points=\"0 0 24 0 24 24 0 24\"></polygon>\r\n <path\r\n d=\"M12,11 C9.790861,11 8,9.209139 8,7 C8,4.790861 9.790861,3 12,3 C14.209139,3 16,4.790861 16,7 C16,9.209139 14.209139,11 12,11 Z\"\r\n fill=\"#009EF7\" fill-rule=\"nonzero\" opacity=\"0.3\"></path>\r\n <path\r\n d=\"M3.00065168,20.1992055 C3.38825852,15.4265159 7.26191235,13 11.9833413,13 C16.7712164,13 20.7048837,15.2931929 20.9979143,20.2 C21.0095879,20.3954741 20.9979143,21 20.2466999,21 C16.541124,21 11.0347247,21 3.72750223,21 C3.47671215,21 2.97953825,20.45918 3.00065168,20.1992055 Z\"\r\n fill=\"#009EF7\" fill-rule=\"nonzero\"></path>\r\n </g>\r\n </svg></span></span></div>\r\n <div class=\"mb-0 me-2\" style=\"text-align: left;\">\r\n <div class=\"alert-title\">{{ item._source.title }}</div>\r\n <div class=\"alt-desc\">{{ item._source.description }}</div>\r\n </div>\r\n </div><span class=\"badge badge-light fs-9\">{{ item._source.date|customDateFormat }}</span>\r\n \r\n \r\n </div>\r\n \r\n </div>\r\n <div class=\"text-center border-top\">\r\n <a (click)=\"viewAll('alerts')\" class=\"btn btn-color-gray-600 btn-active-color-primary my-2\">\r\n View All\r\n </a>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"w-450px position-absolute end-0 top-0 pushlist d-none\">\r\n <div class=\"alertbg\">\r\n <div class=\"card pushnotification rounded-2 mt-4\" *ngFor=\"let item of pushNotificationList\">\r\n <div class=\"row\">\r\n <div class=\"col-1 align-items-start mt-1\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_12254_112653)\">\r\n <path\r\n d=\"M9.99935 13.3334V10M9.99935 6.66669H10.0077M18.3327 10C18.3327 14.6024 14.6017 18.3334 9.99935 18.3334C5.39698 18.3334 1.66602 14.6024 1.66602 10C1.66602 5.39765 5.39698 1.66669 9.99935 1.66669C14.6017 1.66669 18.3327 5.39765 18.3327 10Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_12254_112653\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n </div>\r\n <div class=\"col-10 align-items-start\">\r\n <span class=\"alert-title\">\r\n Notification\r\n </span>\r\n <div>\r\n {{item._source.description}}\r\n </div>\r\n </div>\r\n <div class=\"col-1 align-items-start\">\r\n <!-- <span class=\"btn btn-sm btn-icon btn-active-color-primary\"> -->\r\n <span><svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M15 5L5 15M5 5L15 15\" stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n <!-- </span> -->\r\n </span>\r\n </div>\r\n <div class=\"d-flex\" *ngFor=\"let button of item._source?.alertCta\">\r\n <button *ngIf=\"button.redirectionUrl !== 'cancel'\" (click)=\"updateNotification(item,button.redirectionUrl)\"\r\n class=\"btn btn-md btn-primary\">{{ button.buttonName }}</button>\r\n <button *ngIf=\"button.redirectionUrl === 'cancel'\" (click)=\"updateNotification(item,'')\"\r\n class=\"text-primary mx-6 remindlatertext cursor-pointer\">{{ button.buttonName }}</button>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n</div>\r\n\r\n \r\n\r\n<!--end::Notifications-->\r\n<!-- <div class=\"app-navbar-item\" [ngClass]=\"itemClass\"> -->\r\n <!--begin::Drawer toggle-->\r\n <!-- <div [ngClass]=\"btnClass\" id=\"kt_activities_toggle\"> -->\r\n <!-- <img src=\"./assets/tango/layout/bell.svg\" alt=\"\"> -->\r\n <!-- </div> -->\r\n <!--end::Drawer toggle-->\r\n<!-- </div> -->\r\n<!--end::Activities-->\r\n\r\n\r\n\r\n\r\n\r\n", styles: [".nav-line-tabs .nav-item .nav-link.active{border-radius:6px!important;background:var(--Primary-50, #EAF8FF)!important;padding:10px 14px!important;border-bottom:none!important;width:100%!important}.nav-line-tabs.nav-line-tabs-2x{background:var(--Gray-50, #F9FAFB)!important;padding:6px!important;border-radius:8px!important;border:1px solid var(--Gray-100, #F2F4F7)!important}.title-name{color:var(--Primary-700, #009BF3)!important;font-size:14px!important;font-weight:500!important;line-height:20px}.title-desc{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400!important;line-height:20px}.title-notify{color:var(--Gray-900, #101828)!important;font-size:20px!important;font-weight:500!important;line-height:30px}.alert-title{color:var(--Gray-900, #101828);font-size:14px;font-style:normal;font-weight:600;line-height:28px;text-align:left}.alt-desc{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400!important;line-height:20px;width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alertscroll{max-height:300px;overflow-y:scroll}.loader .title{width:65%}.loader .link{width:85%}.loader .description{width:95%}.loader .shimmer{padding:15px;width:95%;height:120px;margin:10px auto;background:#fff}.loader .shimmer .image-card{height:90px;width:90px;float:right;border-radius:8px}.loader .stroke{height:15px;background:#777;margin-top:20px}.loader .wrapper{width:0px;animation:fullView .5s forwards linear}@keyframes fullView{to{width:100%}}.loader .animate{animation:shimmer 3s;animation-iteration-count:infinite;background:linear-gradient(to right,#e6e6e6 5%,#ccc 25%,#e6e6e6 35%);background-size:1000px 100%}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.notificationAlign{color:var(--Gray-900, #101828);text-align:center;font-size:16px;font-style:normal;font-weight:600;line-height:24px}.noNotification{color:var(--Gray-500, #667085);text-align:center;font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.border-value{padding:16px!important;border-radius:12px!important;border:1.095px solid var(--Gray-200, #EAECF0)!important;background:var(--White, #FFF)!important}.buttonsec{border-radius:8px;margin:0;background:var(--gray-50, white);width:100%;height:fit-content;padding:5px}.submenu{background:var(--gray-50, white)!important;color:var(--gray-500, #667085)!important;font-size:16px!important;font-weight:500!important;outline:none!important}.text-primary{color:var(--primary-700, #009BF3)!important;font-size:16px;font-weight:500}.alertdot{color:var(--Gray-500, #667085);font-size:12px;font-weight:400;line-height:18px}.remindlatertext{color:var(--Primary-700, #009BF3);font-size:16px;font-weight:600;line-height:24px;text-decoration-line:underline;text-transform:capitalize}.alerticon{margin-bottom:35%!important}.alertbg{gap:0px;opacity:0px;border-left:7px solid var(--Primary-500, #33B5FF);border-top-left-radius:15px;border-bottom-left-radius:15px;height:100px}.pushnotification{padding:16px}.pushlist{overflow-y:scroll;height:570px}.notificationMenu{display:block!important;z-index:105;position:fixed;inset:0 0 auto auto;margin:0;transform:translate3d(-30.2222px,72.8889px,0)}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i5.CustomDateFormatPipe, name: "customDateFormat" }] });
|
|
165
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.10", type: NavbarComponent, selector: "lib-navbar", inputs: { appHeaderDefaulMenuDisplay: "appHeaderDefaulMenuDisplay", isRtl: "isRtl" }, host: { listeners: { "document:click": "onClick($event)" } }, ngImport: i0, template: "<!--begin::Notifications-->\r\n<div class=\"app-navbar-item\" [ngClass]=\"itemClass\" *ngIf=\"showNotification\">\r\n <!--begin::Menu- wrapper-->\r\n <div [ngClass]=\"btnClass\" (click)=\"showDropdown = !showDropdown\">\r\n <span *ngIf=\"!notification.length\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"24\" viewBox=\"0 0 20 24\" fill=\"none\">\r\n <path\r\n d=\"M10.6779 2.4V3.00688L11.2715 3.1335C14.1674 3.75125 16.3919 6.45842 16.3919 9.75V10.6313C16.3919 13.0131 17.2249 15.3087 18.7338 17.0963L18.7352 17.0979L19.0636 17.4846C19.0639 17.485 19.0642 17.4853 19.0645 17.4857C19.2557 17.7136 19.3048 18.0393 19.185 18.3174C19.0641 18.5983 18.8153 18.75 18.5704 18.75H1.42848C1.1825 18.75 0.933931 18.5974 0.815017 18.3193C0.695108 18.0388 0.744592 17.7123 0.933996 17.4853C0.934445 17.4848 0.934894 17.4843 0.935344 17.4837L1.26312 17.0985L1.26473 17.0966C2.77599 15.3086 3.60697 13.0127 3.60697 10.6313V9.75C3.60697 6.45434 5.79488 3.75145 8.72559 3.13388L9.32094 3.00843V2.4V1.5C9.32094 1.05052 9.65806 0.75 9.99944 0.75C10.3408 0.75 10.6779 1.05052 10.6779 1.5V2.4ZM9.99944 23.25C9.44983 23.25 8.91726 23.023 8.52034 22.6062C8.29649 22.3712 8.12457 22.0708 8.01769 21.75H11.9812C11.8743 22.0708 11.7024 22.3712 11.4785 22.6062C11.0856 23.0188 10.5146 23.25 9.99944 23.25Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.5\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"notification.length\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"24\" viewBox=\"0 0 20 24\" fill=\"none\">\r\n <path\r\n d=\"M11.4279 2.4V1.5C11.4279 0.671719 10.7896 0 9.99944 0C9.2093 0 8.57094 0.671719 8.57094 1.5V2.4C5.27202 3.09516 2.85697 6.12188 2.85697 9.75V10.6313C2.85697 12.8391 2.08648 14.9625 0.691915 16.6125L0.360862 17.0016C-0.0128805 17.4469 -0.10505 18.075 0.125384 18.6141C0.355818 19.1531 0.866013 19.5 1.42848 19.5H18.5704C19.1329 19.5 19.6418 19.1531 19.8739 18.6141C20.106 18.075 20.0123 17.4469 19.6373 17.0016L19.307 16.6125C17.9142 14.9625 17.1419 12.8391 17.1419 10.6313V9.75C17.1419 9.39947 17.119 9.05455 17.0746 8.71681C16.5845 8.8999 16.054 9 15.5 9C13.0147 9 11 6.98528 11 4.5C11 3.74877 11.1841 3.04054 11.5096 2.41795C11.4824 2.4118 11.4552 2.40582 11.4279 2.4Z\"\r\n fill=\"#00A3FF\" />\r\n <path\r\n d=\"M7.97723 23.1234C8.51291 23.6859 9.24055 24 9.99944 24C10.7181 24 11.486 23.6859 12.0216 23.1234C12.5573 22.5609 12.8564 21.7547 12.8564 21H7.14245C7.14245 21.7547 7.44154 22.5609 7.97723 23.1234Z\"\r\n fill=\"#00A3FF\" />\r\n <circle cx=\"16\" cy=\"4\" r=\"4\" fill=\"#F04438\" />\r\n </svg>\r\n </span>\r\n <div class=\"menu menu-sub menu-sub-dropdown menu-column w-450px w-lg-425px notificationMenu\" *ngIf=\"showDropdown\">\r\n <div class=\"card topbar\">\r\n <div class=\"card-header\">\r\n <h3 class=\"title-notify mt-10 mb-6\">\r\n Notifications\r\n </h3>\r\n </div>\r\n <ng-container *ngIf=\"loading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData && !loading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/noNotification.svg\" alt=\"\">\r\n <span class=\"notificationAlign mt-10\">No New Notification</span>\r\n <span class=\"noNotification mt-2\">Any new notification will be shown here.</span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"alertscroll\" *ngIf=\"notification.length\">\r\n <div *ngFor=\"let item of notification\" class=\"mh-200px ng-star-inserted\" style=\"overflow: auto;\">\r\n <div class=\"d-flex flex-stack py-3 mx-4 ng-star-inserted\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"symbol symbol-35px me-4\"><span class=\"symbol-label bg-light-primary\"><span\r\n class=\"svg-icon svg-icon-2 svg-icon-primary\"></span><span\r\n class=\"svg-icon svg-icon-2 svg-icon-primary\"><svg xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\"\r\n version=\"1.1\" class=\"ng-star-inserted\">\r\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n <polygon points=\"0 0 24 0 24 24 0 24\"></polygon>\r\n <path\r\n d=\"M12,11 C9.790861,11 8,9.209139 8,7 C8,4.790861 9.790861,3 12,3 C14.209139,3 16,4.790861 16,7 C16,9.209139 14.209139,11 12,11 Z\"\r\n fill=\"#009EF7\" fill-rule=\"nonzero\" opacity=\"0.3\"></path>\r\n <path\r\n d=\"M3.00065168,20.1992055 C3.38825852,15.4265159 7.26191235,13 11.9833413,13 C16.7712164,13 20.7048837,15.2931929 20.9979143,20.2 C21.0095879,20.3954741 20.9979143,21 20.2466999,21 C16.541124,21 11.0347247,21 3.72750223,21 C3.47671215,21 2.97953825,20.45918 3.00065168,20.1992055 Z\"\r\n fill=\"#009EF7\" fill-rule=\"nonzero\"></path>\r\n </g>\r\n </svg></span></span></div>\r\n <div class=\"mb-0 me-2\" style=\"text-align: left;\">\r\n <div class=\"alert-title\">{{ item._source.title }}</div>\r\n <div class=\"alt-desc\">{{ item._source.description }}</div>\r\n </div>\r\n </div><span class=\"badge badge-light fs-9\">{{ item._source.date|customDateFormat }}</span>\r\n </div>\r\n </div>\r\n <div class=\"text-center border-top\">\r\n <a (click)=\"viewAll('alerts')\" class=\"btn btn-color-gray-600 btn-active-color-primary my-2\">\r\n View All\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"w-450px position-fixed end-0 bottom-0 transition\">\r\n <div class=\"mb-4\" *ngFor=\"let item of pushNotificationList;let i = index\">\r\n <div class=\"alertbg card\" *ngIf=\"item._score\" @fadeIn @fadeOut>\r\n <div class=\"row m-2\">\r\n <div class=\"col-1 align-items-start mt-1\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_12254_112653)\">\r\n <path\r\n d=\"M9.99935 13.3334V10M9.99935 6.66669H10.0077M18.3327 10C18.3327 14.6024 14.6017 18.3334 9.99935 18.3334C5.39698 18.3334 1.66602 14.6024 1.66602 10C1.66602 5.39765 5.39698 1.66669 9.99935 1.66669C14.6017 1.66669 18.3327 5.39765 18.3327 10Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_12254_112653\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n </div>\r\n <div class=\"col-10 align-items-start\">\r\n <span class=\"alert-title\">\r\n Notification\r\n </span>\r\n <div>\r\n {{item._source.description}}\r\n </div>\r\n </div>\r\n <div class=\"col-1 align-items-start cursor-pointer\" (click)=\"notificationPushUpdate(item)\">\r\n <span><svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M15 5L5 15M5 5L15 15\" stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n <div class=\"d-flex my-2\" style=\"justify-content: space-around;\">\r\n <div [ngClass]=\"button.redirectionUrl !== 'remind' ? '' : 'mt-2'\" *ngFor=\"let button of item._source?.alertCta\">\r\n <button *ngIf=\"button.redirectionUrl !== 'remind'\" (click)=\"updateNotification(item,button.redirectionUrl)\"\r\n type=\"button\" tabindex=\"0\" class=\"btn btn-sm btn-primary mx-4 ng-star-inserted w-100\"\r\n style=\"white-space: nowrap;\"><span class=\"submit\">{{ button.buttonName }} </span></button>\r\n <span *ngIf=\"button.redirectionUrl === 'remind'\" (click)=\"updateNotification(item,'')\"\r\n class=\"text-primary mx-6 remindlatertext cursor-pointer\">{{ button.buttonName }} </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".nav-line-tabs .nav-item .nav-link.active{border-radius:6px!important;background:var(--Primary-50, #EAF8FF)!important;padding:10px 14px!important;border-bottom:none!important;width:100%!important}.nav-line-tabs.nav-line-tabs-2x{background:var(--Gray-50, #F9FAFB)!important;padding:6px!important;border-radius:8px!important;border:1px solid var(--Gray-100, #F2F4F7)!important}.title-name{color:var(--Primary-700, #009BF3)!important;font-size:14px!important;font-weight:500!important;line-height:20px}.title-desc{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400!important;line-height:20px}.title-notify{color:var(--Gray-900, #101828)!important;font-size:20px!important;font-weight:500!important;line-height:30px}.alert-title{color:var(--Gray-900, #101828);font-size:14px;font-style:normal;font-weight:600;line-height:28px;text-align:left}.alt-desc{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400!important;line-height:20px;width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alertscroll{max-height:300px;overflow-y:scroll}.loader .title{width:65%}.loader .link{width:85%}.loader .description{width:95%}.loader .shimmer{padding:15px;width:95%;height:120px;margin:10px auto;background:#fff}.loader .shimmer .image-card{height:90px;width:90px;float:right;border-radius:8px}.loader .stroke{height:15px;background:#777;margin-top:20px}.loader .wrapper{width:0px;animation:fullView .5s forwards linear}@keyframes fullView{to{width:100%}}.loader .animate{animation:shimmer 3s;animation-iteration-count:infinite;background:linear-gradient(to right,#e6e6e6 5%,#ccc 25%,#e6e6e6 35%);background-size:1000px 100%}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.notificationAlign{color:var(--Gray-900, #101828);text-align:center;font-size:16px;font-style:normal;font-weight:600;line-height:24px}.noNotification{color:var(--Gray-500, #667085);text-align:center;font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.border-value{padding:16px!important;border-radius:12px!important;border:1.095px solid var(--Gray-200, #EAECF0)!important;background:var(--White, #FFF)!important}.buttonsec{border-radius:8px;margin:0;background:var(--gray-50, white);width:100%;height:fit-content;padding:5px}.submenu{background:var(--gray-50, white)!important;color:var(--gray-500, #667085)!important;font-size:16px!important;font-weight:500!important;outline:none!important}.text-primary{color:var(--primary-700, #009BF3)!important;font-size:16px;font-weight:500}.alertdot{color:var(--Gray-500, #667085);font-size:12px;font-weight:400;line-height:18px}.remindlatertext{color:var(--Primary-700, #009BF3);font-size:16px;font-weight:600;line-height:24px;text-decoration-line:underline;text-transform:capitalize}.submit{font-size:16px;font-weight:600;line-height:24px;text-align:left;color:#fff}.alerticon{margin-bottom:35%!important}.alertbg{gap:0px;opacity:0px;border-left:7px solid var(--Primary-500, #33B5FF);border-top-left-radius:15px;border-bottom-left-radius:15px}.notificationMenu{display:block!important;z-index:105;position:fixed;inset:0 0 auto auto;margin:0;transform:translate3d(-30.2222px,72.8889px,0)}.transition{transition:5s ease-in!important;right:-450px}\n"], dependencies: [{ kind: "directive", type: i4.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i4.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i4.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "pipe", type: i5.CustomDateFormatPipe, name: "customDateFormat" }], animations: [
|
|
166
|
+
fadeIn,
|
|
167
|
+
fadeOut
|
|
168
|
+
] });
|
|
121
169
|
}
|
|
122
170
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImport: i0, type: NavbarComponent, decorators: [{
|
|
123
171
|
type: Component,
|
|
124
|
-
args: [{ selector: 'lib-navbar', template: "<!--begin::Notifications-->\r\n<div class=\"app-navbar-item\" [ngClass]=\"itemClass\" *ngIf=\"showNotification\">\r\n <!--begin::Menu- wrapper-->\r\n <div [ngClass]=\"btnClass\" (click)=\"showDropdown = !showDropdown\">\r\n <span *ngIf=\"!notification.length\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"24\" viewBox=\"0 0 20 24\" fill=\"none\">\r\n <path\r\n d=\"M10.6779 2.4V3.00688L11.2715 3.1335C14.1674 3.75125 16.3919 6.45842 16.3919 9.75V10.6313C16.3919 13.0131 17.2249 15.3087 18.7338 17.0963L18.7352 17.0979L19.0636 17.4846C19.0639 17.485 19.0642 17.4853 19.0645 17.4857C19.2557 17.7136 19.3048 18.0393 19.185 18.3174C19.0641 18.5983 18.8153 18.75 18.5704 18.75H1.42848C1.1825 18.75 0.933931 18.5974 0.815017 18.3193C0.695108 18.0388 0.744592 17.7123 0.933996 17.4853C0.934445 17.4848 0.934894 17.4843 0.935344 17.4837L1.26312 17.0985L1.26473 17.0966C2.77599 15.3086 3.60697 13.0127 3.60697 10.6313V9.75C3.60697 6.45434 5.79488 3.75145 8.72559 3.13388L9.32094 3.00843V2.4V1.5C9.32094 1.05052 9.65806 0.75 9.99944 0.75C10.3408 0.75 10.6779 1.05052 10.6779 1.5V2.4ZM9.99944 23.25C9.44983 23.25 8.91726 23.023 8.52034 22.6062C8.29649 22.3712 8.12457 22.0708 8.01769 21.75H11.9812C11.8743 22.0708 11.7024 22.3712 11.4785 22.6062C11.0856 23.0188 10.5146 23.25 9.99944 23.25Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.5\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"notification.length\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"24\" viewBox=\"0 0 20 24\" fill=\"none\">\r\n <path\r\n d=\"M11.4279 2.4V1.5C11.4279 0.671719 10.7896 0 9.99944 0C9.2093 0 8.57094 0.671719 8.57094 1.5V2.4C5.27202 3.09516 2.85697 6.12188 2.85697 9.75V10.6313C2.85697 12.8391 2.08648 14.9625 0.691915 16.6125L0.360862 17.0016C-0.0128805 17.4469 -0.10505 18.075 0.125384 18.6141C0.355818 19.1531 0.866013 19.5 1.42848 19.5H18.5704C19.1329 19.5 19.6418 19.1531 19.8739 18.6141C20.106 18.075 20.0123 17.4469 19.6373 17.0016L19.307 16.6125C17.9142 14.9625 17.1419 12.8391 17.1419 10.6313V9.75C17.1419 9.39947 17.119 9.05455 17.0746 8.71681C16.5845 8.8999 16.054 9 15.5 9C13.0147 9 11 6.98528 11 4.5C11 3.74877 11.1841 3.04054 11.5096 2.41795C11.4824 2.4118 11.4552 2.40582 11.4279 2.4Z\"\r\n fill=\"#00A3FF\" />\r\n <path\r\n d=\"M7.97723 23.1234C8.51291 23.6859 9.24055 24 9.99944 24C10.7181 24 11.486 23.6859 12.0216 23.1234C12.5573 22.5609 12.8564 21.7547 12.8564 21H7.14245C7.14245 21.7547 7.44154 22.5609 7.97723 23.1234Z\"\r\n fill=\"#00A3FF\" />\r\n <circle cx=\"16\" cy=\"4\" r=\"4\" fill=\"#F04438\" />\r\n </svg>\r\n </span>\r\n <div class=\"menu menu-sub menu-sub-dropdown menu-column w-450px w-lg-425px notificationMenu\" *ngIf=\"showDropdown\">\r\n <div class=\"card topbar\">\r\n <div class=\"card-header\">\r\n <h3 class=\"title-notify mt-10 mb-6\">\r\n Notifications\r\n </h3>\r\n </div>\r\n <ng-container *ngIf=\"loading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData && !loading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/noNotification.svg\" alt=\"\">\r\n <span class=\"notificationAlign mt-10\">No New Notification</span>\r\n <span class=\"noNotification mt-2\">Any new notification will be shown here.</span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n \r\n <div class=\"alertscroll\" *ngIf=\"notification.length\">\r\n <div *ngFor=\"let item of notification\" class=\"mh-200px ng-star-inserted\" style=\"overflow: auto;\">\r\n <div class=\"d-flex flex-stack py-3 mx-4 ng-star-inserted\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"symbol symbol-35px me-4\"><span class=\"symbol-label bg-light-primary\"><span\r\n class=\"svg-icon svg-icon-2 svg-icon-primary\"></span><span\r\n class=\"svg-icon svg-icon-2 svg-icon-primary\"><svg xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\"\r\n version=\"1.1\" class=\"ng-star-inserted\">\r\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n <polygon points=\"0 0 24 0 24 24 0 24\"></polygon>\r\n <path\r\n d=\"M12,11 C9.790861,11 8,9.209139 8,7 C8,4.790861 9.790861,3 12,3 C14.209139,3 16,4.790861 16,7 C16,9.209139 14.209139,11 12,11 Z\"\r\n fill=\"#009EF7\" fill-rule=\"nonzero\" opacity=\"0.3\"></path>\r\n <path\r\n d=\"M3.00065168,20.1992055 C3.38825852,15.4265159 7.26191235,13 11.9833413,13 C16.7712164,13 20.7048837,15.2931929 20.9979143,20.2 C21.0095879,20.3954741 20.9979143,21 20.2466999,21 C16.541124,21 11.0347247,21 3.72750223,21 C3.47671215,21 2.97953825,20.45918 3.00065168,20.1992055 Z\"\r\n fill=\"#009EF7\" fill-rule=\"nonzero\"></path>\r\n </g>\r\n </svg></span></span></div>\r\n <div class=\"mb-0 me-2\" style=\"text-align: left;\">\r\n <div class=\"alert-title\">{{ item._source.title }}</div>\r\n <div class=\"alt-desc\">{{ item._source.description }}</div>\r\n </div>\r\n </div><span class=\"badge badge-light fs-9\">{{ item._source.date|customDateFormat }}</span>\r\n \r\n \r\n </div>\r\n \r\n </div>\r\n <div class=\"text-center border-top\">\r\n <a (click)=\"viewAll('alerts')\" class=\"btn btn-color-gray-600 btn-active-color-primary my-2\">\r\n View All\r\n </a>\r\n </div>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"w-450px position-absolute end-0 top-0 pushlist d-none\">\r\n <div class=\"alertbg\">\r\n <div class=\"card pushnotification rounded-2 mt-4\" *ngFor=\"let item of pushNotificationList\">\r\n <div class=\"row\">\r\n <div class=\"col-1 align-items-start mt-1\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_12254_112653)\">\r\n <path\r\n d=\"M9.99935 13.3334V10M9.99935 6.66669H10.0077M18.3327 10C18.3327 14.6024 14.6017 18.3334 9.99935 18.3334C5.39698 18.3334 1.66602 14.6024 1.66602 10C1.66602 5.39765 5.39698 1.66669 9.99935 1.66669C14.6017 1.66669 18.3327 5.39765 18.3327 10Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_12254_112653\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n </div>\r\n <div class=\"col-10 align-items-start\">\r\n <span class=\"alert-title\">\r\n Notification\r\n </span>\r\n <div>\r\n {{item._source.description}}\r\n </div>\r\n </div>\r\n <div class=\"col-1 align-items-start\">\r\n <!-- <span class=\"btn btn-sm btn-icon btn-active-color-primary\"> -->\r\n <span><svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M15 5L5 15M5 5L15 15\" stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n <!-- </span> -->\r\n </span>\r\n </div>\r\n <div class=\"d-flex\" *ngFor=\"let button of item._source?.alertCta\">\r\n <button *ngIf=\"button.redirectionUrl !== 'cancel'\" (click)=\"updateNotification(item,button.redirectionUrl)\"\r\n class=\"btn btn-md btn-primary\">{{ button.buttonName }}</button>\r\n <button *ngIf=\"button.redirectionUrl === 'cancel'\" (click)=\"updateNotification(item,'')\"\r\n class=\"text-primary mx-6 remindlatertext cursor-pointer\">{{ button.buttonName }}</button>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n</div>\r\n</div>\r\n\r\n \r\n\r\n<!--end::Notifications-->\r\n<!-- <div class=\"app-navbar-item\" [ngClass]=\"itemClass\"> -->\r\n <!--begin::Drawer toggle-->\r\n <!-- <div [ngClass]=\"btnClass\" id=\"kt_activities_toggle\"> -->\r\n <!-- <img src=\"./assets/tango/layout/bell.svg\" alt=\"\"> -->\r\n <!-- </div> -->\r\n <!--end::Drawer toggle-->\r\n<!-- </div> -->\r\n<!--end::Activities-->\r\n\r\n\r\n\r\n\r\n\r\n", styles: [".nav-line-tabs .nav-item .nav-link.active{border-radius:6px!important;background:var(--Primary-50, #EAF8FF)!important;padding:10px 14px!important;border-bottom:none!important;width:100%!important}.nav-line-tabs.nav-line-tabs-2x{background:var(--Gray-50, #F9FAFB)!important;padding:6px!important;border-radius:8px!important;border:1px solid var(--Gray-100, #F2F4F7)!important}.title-name{color:var(--Primary-700, #009BF3)!important;font-size:14px!important;font-weight:500!important;line-height:20px}.title-desc{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400!important;line-height:20px}.title-notify{color:var(--Gray-900, #101828)!important;font-size:20px!important;font-weight:500!important;line-height:30px}.alert-title{color:var(--Gray-900, #101828);font-size:14px;font-style:normal;font-weight:600;line-height:28px;text-align:left}.alt-desc{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400!important;line-height:20px;width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alertscroll{max-height:300px;overflow-y:scroll}.loader .title{width:65%}.loader .link{width:85%}.loader .description{width:95%}.loader .shimmer{padding:15px;width:95%;height:120px;margin:10px auto;background:#fff}.loader .shimmer .image-card{height:90px;width:90px;float:right;border-radius:8px}.loader .stroke{height:15px;background:#777;margin-top:20px}.loader .wrapper{width:0px;animation:fullView .5s forwards linear}@keyframes fullView{to{width:100%}}.loader .animate{animation:shimmer 3s;animation-iteration-count:infinite;background:linear-gradient(to right,#e6e6e6 5%,#ccc 25%,#e6e6e6 35%);background-size:1000px 100%}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.notificationAlign{color:var(--Gray-900, #101828);text-align:center;font-size:16px;font-style:normal;font-weight:600;line-height:24px}.noNotification{color:var(--Gray-500, #667085);text-align:center;font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.border-value{padding:16px!important;border-radius:12px!important;border:1.095px solid var(--Gray-200, #EAECF0)!important;background:var(--White, #FFF)!important}.buttonsec{border-radius:8px;margin:0;background:var(--gray-50, white);width:100%;height:fit-content;padding:5px}.submenu{background:var(--gray-50, white)!important;color:var(--gray-500, #667085)!important;font-size:16px!important;font-weight:500!important;outline:none!important}.text-primary{color:var(--primary-700, #009BF3)!important;font-size:16px;font-weight:500}.alertdot{color:var(--Gray-500, #667085);font-size:12px;font-weight:400;line-height:18px}.remindlatertext{color:var(--Primary-700, #009BF3);font-size:16px;font-weight:600;line-height:24px;text-decoration-line:underline;text-transform:capitalize}.alerticon{margin-bottom:35%!important}.alertbg{gap:0px;opacity:0px;border-left:7px solid var(--Primary-500, #33B5FF);border-top-left-radius:15px;border-bottom-left-radius:15px;height:100px}.pushnotification{padding:16px}.pushlist{overflow-y:scroll;height:570px}.notificationMenu{display:block!important;z-index:105;position:fixed;inset:0 0 auto auto;margin:0;transform:translate3d(-30.2222px,72.8889px,0)}\n"] }]
|
|
172
|
+
args: [{ selector: 'lib-navbar', animations: [
|
|
173
|
+
fadeIn,
|
|
174
|
+
fadeOut
|
|
175
|
+
], template: "<!--begin::Notifications-->\r\n<div class=\"app-navbar-item\" [ngClass]=\"itemClass\" *ngIf=\"showNotification\">\r\n <!--begin::Menu- wrapper-->\r\n <div [ngClass]=\"btnClass\" (click)=\"showDropdown = !showDropdown\">\r\n <span *ngIf=\"!notification.length\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"24\" viewBox=\"0 0 20 24\" fill=\"none\">\r\n <path\r\n d=\"M10.6779 2.4V3.00688L11.2715 3.1335C14.1674 3.75125 16.3919 6.45842 16.3919 9.75V10.6313C16.3919 13.0131 17.2249 15.3087 18.7338 17.0963L18.7352 17.0979L19.0636 17.4846C19.0639 17.485 19.0642 17.4853 19.0645 17.4857C19.2557 17.7136 19.3048 18.0393 19.185 18.3174C19.0641 18.5983 18.8153 18.75 18.5704 18.75H1.42848C1.1825 18.75 0.933931 18.5974 0.815017 18.3193C0.695108 18.0388 0.744592 17.7123 0.933996 17.4853C0.934445 17.4848 0.934894 17.4843 0.935344 17.4837L1.26312 17.0985L1.26473 17.0966C2.77599 15.3086 3.60697 13.0127 3.60697 10.6313V9.75C3.60697 6.45434 5.79488 3.75145 8.72559 3.13388L9.32094 3.00843V2.4V1.5C9.32094 1.05052 9.65806 0.75 9.99944 0.75C10.3408 0.75 10.6779 1.05052 10.6779 1.5V2.4ZM9.99944 23.25C9.44983 23.25 8.91726 23.023 8.52034 22.6062C8.29649 22.3712 8.12457 22.0708 8.01769 21.75H11.9812C11.8743 22.0708 11.7024 22.3712 11.4785 22.6062C11.0856 23.0188 10.5146 23.25 9.99944 23.25Z\"\r\n stroke=\"#00A3FF\" stroke-width=\"1.5\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"notification.length\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"24\" viewBox=\"0 0 20 24\" fill=\"none\">\r\n <path\r\n d=\"M11.4279 2.4V1.5C11.4279 0.671719 10.7896 0 9.99944 0C9.2093 0 8.57094 0.671719 8.57094 1.5V2.4C5.27202 3.09516 2.85697 6.12188 2.85697 9.75V10.6313C2.85697 12.8391 2.08648 14.9625 0.691915 16.6125L0.360862 17.0016C-0.0128805 17.4469 -0.10505 18.075 0.125384 18.6141C0.355818 19.1531 0.866013 19.5 1.42848 19.5H18.5704C19.1329 19.5 19.6418 19.1531 19.8739 18.6141C20.106 18.075 20.0123 17.4469 19.6373 17.0016L19.307 16.6125C17.9142 14.9625 17.1419 12.8391 17.1419 10.6313V9.75C17.1419 9.39947 17.119 9.05455 17.0746 8.71681C16.5845 8.8999 16.054 9 15.5 9C13.0147 9 11 6.98528 11 4.5C11 3.74877 11.1841 3.04054 11.5096 2.41795C11.4824 2.4118 11.4552 2.40582 11.4279 2.4Z\"\r\n fill=\"#00A3FF\" />\r\n <path\r\n d=\"M7.97723 23.1234C8.51291 23.6859 9.24055 24 9.99944 24C10.7181 24 11.486 23.6859 12.0216 23.1234C12.5573 22.5609 12.8564 21.7547 12.8564 21H7.14245C7.14245 21.7547 7.44154 22.5609 7.97723 23.1234Z\"\r\n fill=\"#00A3FF\" />\r\n <circle cx=\"16\" cy=\"4\" r=\"4\" fill=\"#F04438\" />\r\n </svg>\r\n </span>\r\n <div class=\"menu menu-sub menu-sub-dropdown menu-column w-450px w-lg-425px notificationMenu\" *ngIf=\"showDropdown\">\r\n <div class=\"card topbar\">\r\n <div class=\"card-header\">\r\n <h3 class=\"title-notify mt-10 mb-6\">\r\n Notifications\r\n </h3>\r\n </div>\r\n <ng-container *ngIf=\"loading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData && !loading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src w-25\" src=\"./assets/tango/Icons/noNotification.svg\" alt=\"\">\r\n <span class=\"notificationAlign mt-10\">No New Notification</span>\r\n <span class=\"noNotification mt-2\">Any new notification will be shown here.</span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n <div class=\"alertscroll\" *ngIf=\"notification.length\">\r\n <div *ngFor=\"let item of notification\" class=\"mh-200px ng-star-inserted\" style=\"overflow: auto;\">\r\n <div class=\"d-flex flex-stack py-3 mx-4 ng-star-inserted\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"symbol symbol-35px me-4\"><span class=\"symbol-label bg-light-primary\"><span\r\n class=\"svg-icon svg-icon-2 svg-icon-primary\"></span><span\r\n class=\"svg-icon svg-icon-2 svg-icon-primary\"><svg xmlns=\"http://www.w3.org/2000/svg\"\r\n xmlns:xlink=\"http://www.w3.org/1999/xlink\" width=\"24px\" height=\"24px\" viewBox=\"0 0 24 24\"\r\n version=\"1.1\" class=\"ng-star-inserted\">\r\n <g stroke=\"none\" stroke-width=\"1\" fill=\"none\" fill-rule=\"evenodd\">\r\n <polygon points=\"0 0 24 0 24 24 0 24\"></polygon>\r\n <path\r\n d=\"M12,11 C9.790861,11 8,9.209139 8,7 C8,4.790861 9.790861,3 12,3 C14.209139,3 16,4.790861 16,7 C16,9.209139 14.209139,11 12,11 Z\"\r\n fill=\"#009EF7\" fill-rule=\"nonzero\" opacity=\"0.3\"></path>\r\n <path\r\n d=\"M3.00065168,20.1992055 C3.38825852,15.4265159 7.26191235,13 11.9833413,13 C16.7712164,13 20.7048837,15.2931929 20.9979143,20.2 C21.0095879,20.3954741 20.9979143,21 20.2466999,21 C16.541124,21 11.0347247,21 3.72750223,21 C3.47671215,21 2.97953825,20.45918 3.00065168,20.1992055 Z\"\r\n fill=\"#009EF7\" fill-rule=\"nonzero\"></path>\r\n </g>\r\n </svg></span></span></div>\r\n <div class=\"mb-0 me-2\" style=\"text-align: left;\">\r\n <div class=\"alert-title\">{{ item._source.title }}</div>\r\n <div class=\"alt-desc\">{{ item._source.description }}</div>\r\n </div>\r\n </div><span class=\"badge badge-light fs-9\">{{ item._source.date|customDateFormat }}</span>\r\n </div>\r\n </div>\r\n <div class=\"text-center border-top\">\r\n <a (click)=\"viewAll('alerts')\" class=\"btn btn-color-gray-600 btn-active-color-primary my-2\">\r\n View All\r\n </a>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n\r\n<div class=\"w-450px position-fixed end-0 bottom-0 transition\">\r\n <div class=\"mb-4\" *ngFor=\"let item of pushNotificationList;let i = index\">\r\n <div class=\"alertbg card\" *ngIf=\"item._score\" @fadeIn @fadeOut>\r\n <div class=\"row m-2\">\r\n <div class=\"col-1 align-items-start mt-1\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_12254_112653)\">\r\n <path\r\n d=\"M9.99935 13.3334V10M9.99935 6.66669H10.0077M18.3327 10C18.3327 14.6024 14.6017 18.3334 9.99935 18.3334C5.39698 18.3334 1.66602 14.6024 1.66602 10C1.66602 5.39765 5.39698 1.66669 9.99935 1.66669C14.6017 1.66669 18.3327 5.39765 18.3327 10Z\"\r\n stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_12254_112653\">\r\n <rect width=\"20\" height=\"20\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n </span>\r\n </div>\r\n <div class=\"col-10 align-items-start\">\r\n <span class=\"alert-title\">\r\n Notification\r\n </span>\r\n <div>\r\n {{item._source.description}}\r\n </div>\r\n </div>\r\n <div class=\"col-1 align-items-start cursor-pointer\" (click)=\"notificationPushUpdate(item)\">\r\n <span><svg width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M15 5L5 15M5 5L15 15\" stroke=\"#667085\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n <div class=\"d-flex my-2\" style=\"justify-content: space-around;\">\r\n <div [ngClass]=\"button.redirectionUrl !== 'remind' ? '' : 'mt-2'\" *ngFor=\"let button of item._source?.alertCta\">\r\n <button *ngIf=\"button.redirectionUrl !== 'remind'\" (click)=\"updateNotification(item,button.redirectionUrl)\"\r\n type=\"button\" tabindex=\"0\" class=\"btn btn-sm btn-primary mx-4 ng-star-inserted w-100\"\r\n style=\"white-space: nowrap;\"><span class=\"submit\">{{ button.buttonName }} </span></button>\r\n <span *ngIf=\"button.redirectionUrl === 'remind'\" (click)=\"updateNotification(item,'')\"\r\n class=\"text-primary mx-6 remindlatertext cursor-pointer\">{{ button.buttonName }} </span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n</div>\r\n", styles: [".nav-line-tabs .nav-item .nav-link.active{border-radius:6px!important;background:var(--Primary-50, #EAF8FF)!important;padding:10px 14px!important;border-bottom:none!important;width:100%!important}.nav-line-tabs.nav-line-tabs-2x{background:var(--Gray-50, #F9FAFB)!important;padding:6px!important;border-radius:8px!important;border:1px solid var(--Gray-100, #F2F4F7)!important}.title-name{color:var(--Primary-700, #009BF3)!important;font-size:14px!important;font-weight:500!important;line-height:20px}.title-desc{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400!important;line-height:20px}.title-notify{color:var(--Gray-900, #101828)!important;font-size:20px!important;font-weight:500!important;line-height:30px}.alert-title{color:var(--Gray-900, #101828);font-size:14px;font-style:normal;font-weight:600;line-height:28px;text-align:left}.alt-desc{color:var(--Gray-500, #667085)!important;font-size:14px!important;font-weight:400!important;line-height:20px;width:200px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.alertscroll{max-height:300px;overflow-y:scroll}.loader .title{width:65%}.loader .link{width:85%}.loader .description{width:95%}.loader .shimmer{padding:15px;width:95%;height:120px;margin:10px auto;background:#fff}.loader .shimmer .image-card{height:90px;width:90px;float:right;border-radius:8px}.loader .stroke{height:15px;background:#777;margin-top:20px}.loader .wrapper{width:0px;animation:fullView .5s forwards linear}@keyframes fullView{to{width:100%}}.loader .animate{animation:shimmer 3s;animation-iteration-count:infinite;background:linear-gradient(to right,#e6e6e6 5%,#ccc 25%,#e6e6e6 35%);background-size:1000px 100%}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}.notificationAlign{color:var(--Gray-900, #101828);text-align:center;font-size:16px;font-style:normal;font-weight:600;line-height:24px}.noNotification{color:var(--Gray-500, #667085);text-align:center;font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.border-value{padding:16px!important;border-radius:12px!important;border:1.095px solid var(--Gray-200, #EAECF0)!important;background:var(--White, #FFF)!important}.buttonsec{border-radius:8px;margin:0;background:var(--gray-50, white);width:100%;height:fit-content;padding:5px}.submenu{background:var(--gray-50, white)!important;color:var(--gray-500, #667085)!important;font-size:16px!important;font-weight:500!important;outline:none!important}.text-primary{color:var(--primary-700, #009BF3)!important;font-size:16px;font-weight:500}.alertdot{color:var(--Gray-500, #667085);font-size:12px;font-weight:400;line-height:18px}.remindlatertext{color:var(--Primary-700, #009BF3);font-size:16px;font-weight:600;line-height:24px;text-decoration-line:underline;text-transform:capitalize}.submit{font-size:16px;font-weight:600;line-height:24px;text-align:left;color:#fff}.alerticon{margin-bottom:35%!important}.alertbg{gap:0px;opacity:0px;border-left:7px solid var(--Primary-500, #33B5FF);border-top-left-radius:15px;border-bottom-left-radius:15px}.notificationMenu{display:block!important;z-index:105;position:fixed;inset:0 0 auto auto;margin:0;transform:translate3d(-30.2222px,72.8889px,0)}.transition{transition:5s ease-in!important;right:-450px}\n"] }]
|
|
125
176
|
}], ctorParameters: () => [{ type: i1.NotificationService }, { type: i2.Router }, { type: i3.ToastService }, { type: i0.ChangeDetectorRef }], propDecorators: { appHeaderDefaulMenuDisplay: [{
|
|
126
177
|
type: Input
|
|
127
178
|
}], isRtl: [{
|
|
@@ -130,4 +181,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.10", ngImpo
|
|
|
130
181
|
type: HostListener,
|
|
131
182
|
args: ['document:click', ['$event']]
|
|
132
183
|
}] } });
|
|
133
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC9oZWFkZXIvbmF2YmFyL25hdmJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvbW9kdWxlcy9sYXlvdXQvaGVhZGVyL25hdmJhci9uYXZiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFJckcsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7QUFPMUMsTUFBTSxPQUFPLGVBQWU7SUF3Qk47SUFBb0M7SUFBc0I7SUFBMkI7SUF2QmhHLDBCQUEwQixDQUFVO0lBQ3BDLEtBQUssQ0FBVTtJQUNQLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBRTFDLFNBQVMsR0FBVyxjQUFjLENBQUM7SUFDbkMsUUFBUSxHQUFXLG9IQUFvSCxDQUFDO0lBQ3hJLFNBQVMsQ0FBUztJQUNsQixlQUFlLEdBQVcsNEJBQTRCLENBQUM7SUFDdkQsWUFBWSxHQUFXLGNBQWMsQ0FBQztJQUN0QyxvQkFBb0IsR0FBWSxLQUFLLENBQUM7SUFDdEMsWUFBWSxHQUFPLEVBQUUsQ0FBQztJQUN0QixvQkFBb0IsR0FBTyxFQUFFLENBQUM7SUFDOUIsV0FBVyxHQUFVLFFBQVEsQ0FBQztJQUM5QixPQUFPLEdBQVcsSUFBSSxDQUFDO0lBQ3ZCLE1BQU0sR0FBVyxLQUFLLENBQUM7SUFDdkIsR0FBRyxDQUFLO0lBQ1IsZ0JBQWdCLEdBQVcsSUFBSSxDQUFDO0lBQ2hDLFlBQVksR0FBVyxLQUFLLENBQUM7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LEdBQUcsS0FBSyxDQUFDO1NBQzNCO0lBQ0gsQ0FBQzt3R0FqSFUsZUFBZTs0RkFBZixlQUFlLHNNQ1g1Qix1MVRBcUtBOzs0RkQxSmEsZUFBZTtrQkFMM0IsU0FBUzsrQkFDRSxZQUFZO3dLQUtiLDBCQUEwQjtzQkFBbEMsS0FBSztnQkFDRyxLQUFLO3NCQUFiLEtBQUs7Z0JBMEdOLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENoYW5nZURldGVjdG9yUmVmLCBDb21wb25lbnQsIEhvc3RMaXN0ZW5lciwgSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy9ub3RpZmljYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFN1YnNjcmlwdGlvbiB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBSb3V0ZXIsQWN0aXZhdGVkUm91dGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tICcuLi8uLi8uLi8uLi9zZXJ2aWNlcy90b2FzdC5zZXJ2aWNlJztcclxuQENvbXBvbmVudCh7XHJcbiAgc2VsZWN0b3I6ICdsaWItbmF2YmFyJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbmF2YmFyLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9uYXZiYXIuY29tcG9uZW50LnNjc3MnXSxcclxufSlcclxuZXhwb3J0IGNsYXNzIE5hdmJhckNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCxPbkRlc3Ryb3kge1xyXG4gIEBJbnB1dCgpIGFwcEhlYWRlckRlZmF1bE1lbnVEaXNwbGF5OiBib29sZWFuO1xyXG4gIEBJbnB1dCgpIGlzUnRsOiBib29sZWFuO1xyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBpdGVtQ2xhc3M6IHN0cmluZyA9ICdtcy0xIG1zLWxnLTMnO1xyXG4gIGJ0bkNsYXNzOiBzdHJpbmcgPSAnYnRuIGJ0bi1pY29uIGJ0bi1jdXN0b20gYnRuLWljb24tbXV0ZWQgYnRuLWFjdGl2ZS1saWdodCBidG4tYWN0aXZlLWNvbG9yLXByaW1hcnkgdy0zNXB4IGgtMzVweCB3LW1kLTQwcHggaC1tZC00MHB4JztcclxuICBidG5DbGFzczE6IHN0cmluZztcclxuICB1c2VyQXZhdGFyQ2xhc3M6IHN0cmluZyA9ICdzeW1ib2wtMzVweCBzeW1ib2wtbWQtNDBweCc7XHJcbiAgYnRuSWNvbkNsYXNzOiBzdHJpbmcgPSAnZnMtMiBmcy1tZC0xJztcclxuICBub3RpZmljYXRpb25SZWNlaXZlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIG5vdGlmaWNhdGlvbjphbnkgPSBbXTtcclxuICBwdXNoTm90aWZpY2F0aW9uTGlzdDphbnkgPSBbXTtcclxuICBhY3RpdmVUYWJJZDpzdHJpbmcgPSAnYWxlcnRzJztcclxuICBsb2FkaW5nOmJvb2xlYW4gPSB0cnVlO1xyXG4gIG5vRGF0YTpib29sZWFuID0gZmFsc2U7XHJcbiAgdXJsOmFueTtcclxuICBzaG93Tm90aWZpY2F0aW9uOmJvb2xlYW4gPSB0cnVlO1xyXG4gIHNob3dEcm9wZG93bjpib29sZWFuID0gZmFsc2U7XHJcblxyXG4gIC8vIG5vdGlmaWNhdGlvblJlY2VpdmVkID0gZmFsc2U7XHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICBub3RpZmljYXRpb25Ecm9wRG93bkNsYXNzOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzZXJ2aWNlOk5vdGlmaWNhdGlvblNlcnZpY2UscHJpdmF0ZSByb3V0ZXI6Um91dGVyLHByaXZhdGUgdG9hc3Q6VG9hc3RTZXJ2aWNlLHByaXZhdGUgY2Q6Q2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgIFxyXG4gIH1cclxuXHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMucm91dGVyLmV2ZW50cy5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKCgpID0+IHtcclxuICAgICAgbGV0IHVybCA9IHRoaXMucm91dGVyLnVybC5zcGxpdCgnLycpO1xyXG4gICAgICBpZih1cmwuaW5jbHVkZXMoJ25vdGlmaWNhdGlvbnMnKSkge1xyXG4gICAgICAgIHRoaXMuc2hvd05vdGlmaWNhdGlvbiA9IGZhbHNlO1xyXG4gICAgICB9XHJcbiAgICAgIGVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2hvd05vdGlmaWNhdGlvbiA9IHRydWU7XHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gICAgdGhpcy5ub3RpZmljYXRpb25MaXN0KCk7XHJcbiAgfVxyXG4gIHRvZ2dsZVVzZXJEcm9wRG93bigpIHtcclxuICAgIHRoaXMubm90aWZpY2F0aW9uRHJvcERvd25DbGFzcyA9ICF0aGlzLm5vdGlmaWNhdGlvbkRyb3BEb3duQ2xhc3M7XHJcbiAgfVxyXG4gIHNldEFjdGl2ZVRhYklkKHRhYklkOiBhbnkpIHtcclxuICAgIHRoaXMuYWN0aXZlVGFiSWQgPSB0YWJJZDtcclxuICB9XHJcblxyXG4gIG5vdGlmaWNhdGlvbkxpc3QoKSB7XHJcbiAgICB0aGlzLnB1c2hOb3RpZmljYXRpb25MaXN0ID0gW107IFxyXG4gICAgdGhpcy5sb2FkaW5nID0gdHJ1ZTtcclxuICAgIGxldCBkYXRhID0ge1xyXG4gICAgICBsaW1pdDogMTAsXHJcbiAgICAgIG9mZnNldDogMVxyXG4gICAgfTtcclxuICAgIHRoaXMuc2VydmljZS5ub3RpZmljYXRpb25MaXN0KGRhdGEpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb24gPSByZXMuZGF0YS5yZXN1bHQuc2xpY2UoMCw1KTtcclxuICAgICAgICAgICAgdGhpcy5wdXNoTm90aWZpY2F0aW9uTGlzdCA9IHJlcy5kYXRhLnJlc3VsdC5maWx0ZXIoKGl0ZW06YW55KSA9PiBpdGVtLl9zb3VyY2Uuc2hvd1B1c2hOb3RpZmljYXRpb24pO1xyXG4gICAgICAgICAgICBcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uID0gW107IFxyXG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5ub0RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uID0gW107IFxyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIGhhbmRsZU5vdGlmaWNhdGlvbigpIHtcclxuICAgIHRoaXMuc2VydmljZS51cGRhdGVOb3RpZmljYXRpb25SZWNlaXZlZCh0cnVlKTtcclxuICB9XHJcblxyXG4gIHZpZXdBbGwodHlwZTphbnkpe1xyXG4gICAgLy8gdGhpcy5kYXRhS3RNZW51ID0gJ2ZhbHNlJztcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoJy9ub3RpZmljYXRpb25zL2FsZXJ0cycpXHJcbiAgfVxyXG5cclxuICB1cGRhdGVOb3RpZmljYXRpb24oZGF0YTogYW55LCB1cmw6IGFueSk6IHZvaWQge1xyXG4gICAgdGhpcy5zZXJ2aWNlLm5vdGlmaWNhdGlvblVwZGF0ZShkYXRhLl9pZCkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgocmVzOiBhbnkpID0+IHtcclxuICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PSAyMDApIHtcclxuICAgICAgICB0aGlzLnRvYXN0LmdldFByaW1hcnlUb2FzdChyZXMubWVzc2FnZSk7XHJcbiAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbkxpc3QoKTtcclxuICAgICAgICB9LDEwMDApO1xyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIGlmKHVybCAhPSAnJykge1xyXG4gICAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCh1cmwpO1xyXG4gICAgICAgIH1cclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoJ2RvY3VtZW50OmNsaWNrJywgWyckZXZlbnQnXSlcclxuICBvbkNsaWNrIChldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgaWYoIXRhcmdldC5jbG9zZXN0KCcuYXBwLW5hdmJhcicpKSB7XHJcbiAgICAgIHRoaXMuc2hvd0Ryb3Bkb3duID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG59XHJcbiIsIjwhLS1iZWdpbjo6Tm90aWZpY2F0aW9ucy0tPlxyXG48ZGl2IGNsYXNzPVwiYXBwLW5hdmJhci1pdGVtXCIgIFtuZ0NsYXNzXT1cIml0ZW1DbGFzc1wiICpuZ0lmPVwic2hvd05vdGlmaWNhdGlvblwiPlxyXG4gIDwhLS1iZWdpbjo6TWVudS0gd3JhcHBlci0tPlxyXG4gICAgPGRpdiBbbmdDbGFzc109XCJidG5DbGFzc1wiIChjbGljayk9XCJzaG93RHJvcGRvd24gPSAhc2hvd0Ryb3Bkb3duXCI+XHJcbiAgICAgIDxzcGFuICpuZ0lmPVwiIW5vdGlmaWNhdGlvbi5sZW5ndGhcIj5cclxuICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDIwIDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgIGQ9XCJNMTAuNjc3OSAyLjRWMy4wMDY4OEwxMS4yNzE1IDMuMTMzNUMxNC4xNjc0IDMuNzUxMjUgMTYuMzkxOSA2LjQ1ODQyIDE2LjM5MTkgOS43NVYxMC42MzEzQzE2LjM5MTkgMTMuMDEzMSAxNy4yMjQ5IDE1LjMwODcgMTguNzMzOCAxNy4wOTYzTDE4LjczNTIgMTcuMDk3OUwxOS4wNjM2IDE3LjQ4NDZDMTkuMDYzOSAxNy40ODUgMTkuMDY0MiAxNy40ODUzIDE5LjA2NDUgMTcuNDg1N0MxOS4yNTU3IDE3LjcxMzYgMTkuMzA0OCAxOC4wMzkzIDE5LjE4NSAxOC4zMTc0QzE5LjA2NDEgMTguNTk4MyAxOC44MTUzIDE4Ljc1IDE4LjU3MDQgMTguNzVIMS40Mjg0OEMxLjE4MjUgMTguNzUgMC45MzM5MzEgMTguNTk3NCAwLjgxNTAxNyAxOC4zMTkzQzAuNjk1MTA4IDE4LjAzODggMC43NDQ1OTIgMTcuNzEyMyAwLjkzMzk5NiAxNy40ODUzQzAuOTM0NDQ1IDE3LjQ4NDggMC45MzQ4OTQgMTcuNDg0MyAwLjkzNTM0NCAxNy40ODM3TDEuMjYzMTIgMTcuMDk4NUwxLjI2NDczIDE3LjA5NjZDMi43NzU5OSAxNS4zMDg2IDMuNjA2OTcgMTMuMDEyNyAzLjYwNjk3IDEwLjYzMTNWOS43NUMzLjYwNjk3IDYuNDU0MzQgNS43OTQ4OCAzLjc1MTQ1IDguNzI1NTkgMy4xMzM4OEw5LjMyMDk0IDMuMDA4NDNWMi40VjEuNUM5LjMyMDk0IDEuMDUwNTIgOS42NTgwNiAwLjc1IDkuOTk5NDQgMC43NUMxMC4zNDA4IDAuNzUgMTAuNjc3OSAxLjA1MDUyIDEwLjY3NzkgMS41VjIuNFpNOS45OTk0NCAyMy4yNUM5LjQ0OTgzIDIzLjI1IDguOTE3MjYgMjMuMDIzIDguNTIwMzQgMjIuNjA2MkM4LjI5NjQ5IDIyLjM3MTIgOC4xMjQ1NyAyMi4wNzA4IDguMDE3NjkgMjEuNzVIMTEuOTgxMkMxMS44NzQzIDIyLjA3MDggMTEuNzAyNCAyMi4zNzEyIDExLjQ3ODUgMjIuNjA2MkMxMS4wODU2IDIzLjAxODggMTAuNTE0NiAyMy4yNSA5Ljk5OTQ0IDIzLjI1WlwiXHJcbiAgICAgICAgICAgIHN0cm9rZT1cIiMwMEEzRkZcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiAvPlxyXG4gICAgICAgIDwvc3ZnPlxyXG4gICAgICA8L3NwYW4+XHJcbiAgICAgIDxzcGFuICpuZ0lmPVwibm90aWZpY2F0aW9uLmxlbmd0aFwiPlxyXG4gICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjAgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgZD1cIk0xMS40Mjc5IDIuNFYxLjVDMTEuNDI3OSAwLjY3MTcxOSAxMC43ODk2IDAgOS45OTk0NCAwQzkuMjA5MyAwIDguNTcwOTQgMC42NzE3MTkgOC41NzA5NCAxLjVWMi40QzUuMjcyMDIgMy4wOTUxNiAyLjg1Njk3IDYuMTIxODggMi44NTY5NyA5Ljc1VjEwLjYzMTNDMi44NTY5NyAxMi44MzkxIDIuMDg2NDggMTQuOTYyNSAwLjY5MTkxNSAxNi42MTI1TDAuMzYwODYyIDE3LjAwMTZDLTAuMDEyODgwNSAxNy40NDY5IC0wLjEwNTA1IDE4LjA3NSAwLjEyNTM4NCAxOC42MTQxQzAuMzU1ODE4IDE5LjE1MzEgMC44NjYwMTMgMTkuNSAxLjQyODQ4IDE5LjVIMTguNTcwNEMxOS4xMzI5IDE5LjUgMTkuNjQxOCAxOS4xNTMxIDE5Ljg3MzkgMTguNjE0MUMyMC4xMDYgMTguMDc1IDIwLjAxMjMgMTcuNDQ2OSAxOS42MzczIDE3LjAwMTZMMTkuMzA3IDE2LjYxMjVDMTcuOTE0MiAxNC45NjI1IDE3LjE0MTkgMTIuODM5MSAxNy4xNDE5IDEwLjYzMTNWOS43NUMxNy4xNDE5IDkuMzk5NDcgMTcuMTE5IDkuMDU0NTUgMTcuMDc0NiA4LjcxNjgxQzE2LjU4NDUgOC44OTk5IDE2LjA1NCA5IDE1LjUgOUMxMy4wMTQ3IDkgMTEgNi45ODUyOCAxMSA0LjVDMTEgMy43NDg3NyAxMS4xODQxIDMuMDQwNTQgMTEuNTA5NiAyLjQxNzk1QzExLjQ4MjQgMi40MTE4IDExLjQ1NTIgMi40MDU4MiAxMS40Mjc5IDIuNFpcIlxyXG4gICAgICAgICAgICBmaWxsPVwiIzAwQTNGRlwiIC8+XHJcbiAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICBkPVwiTTcuOTc3MjMgMjMuMTIzNEM4LjUxMjkxIDIzLjY4NTkgOS4yNDA1NSAyNCA5Ljk5OTQ0IDI0QzEwLjcxODEgMjQgMTEuNDg2IDIzLjY4NTkgMTIuMDIxNiAyMy4xMjM0QzEyLjU1NzMgMjIuNTYwOSAxMi44NTY0IDIxLjc1NDcgMTIuODU2NCAyMUg3LjE0MjQ1QzcuMTQyNDUgMjEuNzU0NyA3LjQ0MTU0IDIyLjU2MDkgNy45NzcyMyAyMy4xMjM0WlwiXHJcbiAgICAgICAgICAgIGZpbGw9XCIjMDBBM0ZGXCIgLz5cclxuICAgICAgICAgIDxjaXJjbGUgY3g9XCIxNlwiIGN5PVwiNFwiIHI9XCI0XCIgZmlsbD1cIiNGMDQ0MzhcIiAvPlxyXG4gICAgICAgIDwvc3ZnPlxyXG4gICAgICA8L3NwYW4+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJtZW51IG1lbnUtc3ViIG1lbnUtc3ViLWRyb3Bkb3duIG1lbnUtY29sdW1uIHctNDUwcHggdy1sZy00MjVweCBub3RpZmljYXRpb25NZW51XCIgKm5nSWY9XCJzaG93RHJvcGRvd25cIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCB0b3BiYXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlclwiPlxyXG4gICAgICAgICAgICA8aDMgY2xhc3M9XCJ0aXRsZS1ub3RpZnkgbXQtMTAgbWItNlwiPlxyXG4gICAgICAgICAgICAgIE5vdGlmaWNhdGlvbnNcclxuICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmdcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibm9EYXRhICYmICFsb2FkaW5nXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctc3JjIHctMjVcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9ub05vdGlmaWNhdGlvbi5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJub3RpZmljYXRpb25BbGlnbiBtdC0xMFwiPk5vIE5ldyBOb3RpZmljYXRpb248L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibm9Ob3RpZmljYXRpb24gbXQtMlwiPkFueSBuZXcgbm90aWZpY2F0aW9uIHdpbGwgYmUgc2hvd24gaGVyZS48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICBcclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGVydHNjcm9sbFwiICpuZ0lmPVwibm90aWZpY2F0aW9uLmxlbmd0aFwiPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIG5vdGlmaWNhdGlvblwiIGNsYXNzPVwibWgtMjAwcHggbmctc3Rhci1pbnNlcnRlZFwiIHN0eWxlPVwib3ZlcmZsb3c6IGF1dG87XCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBmbGV4LXN0YWNrIHB5LTMgbXgtNCBuZy1zdGFyLWluc2VydGVkXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ltYm9sIHN5bWJvbC0zNXB4IG1lLTRcIj48c3BhbiBjbGFzcz1cInN5bWJvbC1sYWJlbCBiZy1saWdodC1wcmltYXJ5XCI+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0yIHN2Zy1pY29uLXByaW1hcnlcIj48L3NwYW4+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0yIHN2Zy1pY29uLXByaW1hcnlcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHdpZHRoPVwiMjRweFwiIGhlaWdodD1cIjI0cHhcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB2ZXJzaW9uPVwiMS4xXCIgY2xhc3M9XCJuZy1zdGFyLWluc2VydGVkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgc3Ryb2tlPVwibm9uZVwiIHN0cm9rZS13aWR0aD1cIjFcIiBmaWxsPVwibm9uZVwiIGZpbGwtcnVsZT1cImV2ZW5vZGRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2x5Z29uIHBvaW50cz1cIjAgMCAyNCAwIDI0IDI0IDAgMjRcIj48L3BvbHlnb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTEyLDExIEM5Ljc5MDg2MSwxMSA4LDkuMjA5MTM5IDgsNyBDOCw0Ljc5MDg2MSA5Ljc5MDg2MSwzIDEyLDMgQzE0LjIwOTEzOSwzIDE2LDQuNzkwODYxIDE2LDcgQzE2LDkuMjA5MTM5IDE0LjIwOTEzOSwxMSAxMiwxMSBaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDlFRjdcIiBmaWxsLXJ1bGU9XCJub256ZXJvXCIgb3BhY2l0eT1cIjAuM1wiPjwvcGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMy4wMDA2NTE2OCwyMC4xOTkyMDU1IEMzLjM4ODI1ODUyLDE1LjQyNjUxNTkgNy4yNjE5MTIzNSwxMyAxMS45ODMzNDEzLDEzIEMxNi43NzEyMTY0LDEzIDIwLjcwNDg4MzcsMTUuMjkzMTkyOSAyMC45OTc5MTQzLDIwLjIgQzIxLjAwOTU4NzksMjAuMzk1NDc0MSAyMC45OTc5MTQzLDIxIDIwLjI0NjY5OTksMjEgQzE2LjU0MTEyNCwyMSAxMS4wMzQ3MjQ3LDIxIDMuNzI3NTAyMjMsMjEgQzMuNDc2NzEyMTUsMjEgMi45Nzk1MzgyNSwyMC40NTkxOCAzLjAwMDY1MTY4LDIwLjE5OTIwNTUgWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDA5RUY3XCIgZmlsbC1ydWxlPVwibm9uemVyb1wiPjwvcGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj48L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0wIG1lLTJcIiBzdHlsZT1cInRleHQtYWxpZ246IGxlZnQ7XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsZXJ0LXRpdGxlXCI+e3sgaXRlbS5fc291cmNlLnRpdGxlIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFsdC1kZXNjXCI+e3sgaXRlbS5fc291cmNlLmRlc2NyaXB0aW9uIH19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+PHNwYW4gY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodCBmcy05XCI+e3sgaXRlbS5fc291cmNlLmRhdGV8Y3VzdG9tRGF0ZUZvcm1hdCB9fTwvc3Bhbj5cclxuICAgICAgICBcclxuICAgICAgICBcclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICBcclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBib3JkZXItdG9wXCI+XHJcbiAgICAgICAgICAgICAgPGEgKGNsaWNrKT1cInZpZXdBbGwoJ2FsZXJ0cycpXCIgY2xhc3M9XCJidG4gYnRuLWNvbG9yLWdyYXktNjAwIGJ0bi1hY3RpdmUtY29sb3ItcHJpbWFyeSBteS0yXCI+XHJcbiAgICAgICAgICAgICAgICBWaWV3IEFsbFxyXG4gICAgICAgICAgICAgIDwvYT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiBjbGFzcz1cInctNDUwcHggcG9zaXRpb24tYWJzb2x1dGUgZW5kLTAgdG9wLTAgcHVzaGxpc3QgZC1ub25lXCI+XHJcbiAgPGRpdiBjbGFzcz1cImFsZXJ0YmdcIj5cclxuICA8ZGl2IGNsYXNzPVwiY2FyZCBwdXNobm90aWZpY2F0aW9uIHJvdW5kZWQtMiBtdC00XCIgKm5nRm9yPVwibGV0IGl0ZW0gb2YgcHVzaE5vdGlmaWNhdGlvbkxpc3RcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbC0xICBhbGlnbi1pdGVtcy1zdGFydCBtdC0xXCI+XHJcbiAgICAgICAgPHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMTIyNTRfMTEyNjUzKVwiPlxyXG4gICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICBkPVwiTTkuOTk5MzUgMTMuMzMzNFYxME05Ljk5OTM1IDYuNjY2NjlIMTAuMDA3N00xOC4zMzI3IDEwQzE4LjMzMjcgMTQuNjAyNCAxNC42MDE3IDE4LjMzMzQgOS45OTkzNSAxOC4zMzM0QzUuMzk2OTggMTguMzMzNCAxLjY2NjAyIDE0LjYwMjQgMS42NjYwMiAxMEMxLjY2NjAyIDUuMzk3NjUgNS4zOTY5OCAxLjY2NjY5IDkuOTk5MzUgMS42NjY2OUMxNC42MDE3IDEuNjY2NjkgMTguMzMyNyA1LjM5NzY1IDE4LjMzMjcgMTBaXCJcclxuICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8xMjI1NF8xMTI2NTNcIj5cclxuICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMCBhbGlnbi1pdGVtcy1zdGFydFwiPlxyXG4gICAgICAgIDxzcGFuIGNsYXNzPVwiYWxlcnQtdGl0bGVcIj5cclxuICAgICAgICAgICAgTm90aWZpY2F0aW9uXHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgIDxkaXY+XHJcbiAgICAgICAgICB7e2l0ZW0uX3NvdXJjZS5kZXNjcmlwdGlvbn19XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEgYWxpZ24taXRlbXMtc3RhcnRcIj5cclxuICAgICAgICA8IS0tIDxzcGFuIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4taWNvbiBidG4tYWN0aXZlLWNvbG9yLXByaW1hcnlcIj4gLS0+XHJcbiAgICAgICAgICA8c3Bhbj48c3ZnIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICA8cGF0aCBkPVwiTTE1IDVMNSAxNU01IDVMMTUgMTVcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgIDwhLS0gPC9zcGFuPiAtLT5cclxuICAgICAgICA8L3NwYW4+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgICpuZ0Zvcj1cImxldCBidXR0b24gb2YgaXRlbS5fc291cmNlPy5hbGVydEN0YVwiPlxyXG4gICAgICAgIDxidXR0b24gICpuZ0lmPVwiYnV0dG9uLnJlZGlyZWN0aW9uVXJsICE9PSAnY2FuY2VsJ1wiIChjbGljayk9XCJ1cGRhdGVOb3RpZmljYXRpb24oaXRlbSxidXR0b24ucmVkaXJlY3Rpb25VcmwpXCJcclxuICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1tZCBidG4tcHJpbWFyeVwiPnt7IGJ1dHRvbi5idXR0b25OYW1lIH19PC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImJ1dHRvbi5yZWRpcmVjdGlvblVybCA9PT0gJ2NhbmNlbCdcIiAoY2xpY2spPVwidXBkYXRlTm90aWZpY2F0aW9uKGl0ZW0sJycpXCJcclxuICAgICAgICAgIGNsYXNzPVwidGV4dC1wcmltYXJ5IG14LTYgcmVtaW5kbGF0ZXJ0ZXh0IGN1cnNvci1wb2ludGVyXCI+e3sgYnV0dG9uLmJ1dHRvbk5hbWUgfX08L2J1dHRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgPC9kaXY+XHJcbjwvZGl2PlxyXG48L2Rpdj5cclxuXHJcbiAgICBcclxuXHJcbjwhLS1lbmQ6Ok5vdGlmaWNhdGlvbnMtLT5cclxuPCEtLSA8ZGl2IGNsYXNzPVwiYXBwLW5hdmJhci1pdGVtXCIgW25nQ2xhc3NdPVwiaXRlbUNsYXNzXCI+IC0tPlxyXG4gIDwhLS1iZWdpbjo6RHJhd2VyIHRvZ2dsZS0tPlxyXG4gIDwhLS0gPGRpdiBbbmdDbGFzc109XCJidG5DbGFzc1wiIGlkPVwia3RfYWN0aXZpdGllc190b2dnbGVcIj4gLS0+XHJcbiAgICA8IS0tIDxpbWcgc3JjPVwiLi9hc3NldHMvdGFuZ28vbGF5b3V0L2JlbGwuc3ZnXCIgYWx0PVwiXCI+IC0tPlxyXG4gIDwhLS0gPC9kaXY+IC0tPlxyXG4gIDwhLS1lbmQ6OkRyYXdlciB0b2dnbGUtLT5cclxuPCEtLSA8L2Rpdj4gLS0+XHJcbjwhLS1lbmQ6OkFjdGl2aXRpZXMtLT5cclxuXHJcblxyXG5cclxuXHJcblxyXG4iXX0=
|
|
184
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmF2YmFyLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFwcC1zaGFyZWQvc3JjL2xpYi9tb2R1bGVzL2xheW91dC9oZWFkZXIvbmF2YmFyL25hdmJhci5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hcHAtc2hhcmVkL3NyYy9saWIvbW9kdWxlcy9sYXlvdXQvaGVhZGVyL25hdmJhci9uYXZiYXIuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFxQixTQUFTLEVBQUUsWUFBWSxFQUFFLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFFckcsT0FBTyxFQUFlLE1BQU0sRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUMzQyxPQUFPLEVBQXdCLGFBQWEsRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQ3RFLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDO0FBRTFDLE9BQU8sRUFBRSxPQUFPLEVBQVMsS0FBSyxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQzs7Ozs7OztBQUNqRixNQUFNLGVBQWUsR0FBRyxVQUFVLENBQUMsUUFBUSxFQUFFO0lBQzNDLEtBQUssQ0FBQztRQUNKLE9BQU8sRUFBRSxDQUFDO1FBQ1YsU0FBUyxFQUFFLGtCQUFrQjtLQUM5QixDQUFDO0lBQ0YsT0FBTyxDQUFDLFlBQVksRUFBRSxLQUFLLENBQUM7UUFDMUIsT0FBTyxFQUFFLENBQUM7S0FDWCxDQUFDLENBQUM7Q0FDSixDQUFDLENBQUM7QUFFSCxNQUFNLFVBQVUsR0FBRyxVQUFVLENBQUMsUUFBUSxFQUFFO0lBQ3RDLEtBQUssQ0FBQztRQUNKLE9BQU8sRUFBRSxDQUFDO1FBQ1YsU0FBUyxFQUFFLG1CQUFtQjtLQUMvQixDQUFDO0lBQ0Ys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R0FBRyxDQUFDLElBQUksSUFBSSxHQUFHLEVBQUU7Z0JBQzFCLElBQUksQ0FBQyxLQUFLLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztnQkFHeEMsVUFBVSxDQUFDLEdBQUcsRUFBRTtvQkFDZCxJQUFJLENBQUMsZ0JBQWdCLEVBQUUsQ0FBQztnQkFFMUIsQ0FBQyxFQUFDLElBQUksQ0FBQyxDQUFDO2dCQUNSLElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7Z0JBQ3hCLElBQUcsR0FBRyxJQUFJLEVBQUUsRUFBRTtvQkFDWixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBQyxHQUFHLENBQUMsQ0FBQztpQkFDaEM7YUFDRjtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUdELE9BQU8sQ0FBRSxLQUFpQjtRQUN4QixNQUFNLE1BQU0sR0FBRyxLQUFLLENBQUMsTUFBcUIsQ0FBQztRQUMzQyxJQUFHLENBQUMsTUFBTSxDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsRUFBRTtZQUNqQyxJQUFJLENBQUMsWUFBWSxHQUFHLEtBQUssQ0FBQztTQUMzQjtJQUNILENBQUM7d0dBMUlVLGVBQWU7NEZBQWYsZUFBZSxzTUM1QzVCLHloVEFnSkEsa3BIRDFHYztZQUNWLE1BQU07WUFDTixPQUFPO1NBRVI7OzRGQUVVLGVBQWU7a0JBVjNCLFNBQVM7K0JBQ0UsWUFBWSxjQUdWO3dCQUNWLE1BQU07d0JBQ04sT0FBTztxQkFFUjt3S0FHUSwwQkFBMEI7c0JBQWxDLEtBQUs7Z0JBQ0csS0FBSztzQkFBYixLQUFLO2dCQW1JTixPQUFPO3NCQUROLFlBQVk7dUJBQUMsZ0JBQWdCLEVBQUUsQ0FBQyxRQUFRLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBIb3N0TGlzdGVuZXIsIElucHV0LCBPbkRlc3Ryb3ksIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBOb3RpZmljYXRpb25TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBTdWJzY3JpcHRpb24sZmlsdGVyIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCB7IFJvdXRlcixBY3RpdmF0ZWRSb3V0ZSxOYXZpZ2F0aW9uRW5kIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgVG9hc3RTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvdG9hc3Quc2VydmljZSc7XHJcbmltcG9ydCB7IHRyaWdnZXIsIHN0YXRlLCBzdHlsZSwgdHJhbnNpdGlvbiwgYW5pbWF0ZSB9IGZyb20gJ0Bhbmd1bGFyL2FuaW1hdGlvbnMnO1xyXG5jb25zdCBlbnRlclRyYW5zaXRpb24gPSB0cmFuc2l0aW9uKCc6ZW50ZXInLCBbXHJcbiAgc3R5bGUoe1xyXG4gICAgb3BhY2l0eTogMCxcclxuICAgIHRyYW5zZm9ybTogJ3RyYW5zbGF0ZVgoNTBweCknXHJcbiAgfSksXHJcbiAgYW5pbWF0ZSgnMXMgZWFzZS1pbicsIHN0eWxlKHtcclxuICAgIG9wYWNpdHk6IDFcclxuICB9KSlcclxuXSk7XHJcbiBcclxuY29uc3QgbGVhdmVUcmFucyA9IHRyYW5zaXRpb24oJzpsZWF2ZScsIFtcclxuICBzdHlsZSh7XHJcbiAgICBvcGFjaXR5OiAxLFxyXG4gICAgdHJhbnNmb3JtOiAndHJhbnNsYXRlWCgtNTBweCknXHJcbiAgfSksXHJcbiAgYW5pbWF0ZSgnMXMgZWFzZS1vdXQnLCBzdHlsZSh7XHJcbiAgICBvcGFjaXR5OiAwLFxyXG4gIH0pKVxyXG5dKVxyXG4gXHJcbmNvbnN0IGZhZGVJbiA9IHRyaWdnZXIoJ2ZhZGVJbicsIFtcclxuICBlbnRlclRyYW5zaXRpb25cclxuXSk7XHJcbiBcclxuY29uc3QgZmFkZU91dCA9IHRyaWdnZXIoJ2ZhZGVPdXQnLCBbXHJcbiAgbGVhdmVUcmFuc1xyXG5dKVxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1uYXZiYXInLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9uYXZiYXIuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL25hdmJhci5jb21wb25lbnQuc2NzcyddLFxyXG4gIGFuaW1hdGlvbnM6IFtcclxuICAgIGZhZGVJbixcclxuICAgIGZhZGVPdXRcclxuXHJcbiAgXVxyXG59KVxyXG5leHBvcnQgY2xhc3MgTmF2YmFyQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LE9uRGVzdHJveSB7XHJcbiAgQElucHV0KCkgYXBwSGVhZGVyRGVmYXVsTWVudURpc3BsYXk6IGJvb2xlYW47XHJcbiAgQElucHV0KCkgaXNSdGw6IGJvb2xlYW47XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG4gIGl0ZW1DbGFzczogc3RyaW5nID0gJ21zLTEgbXMtbGctMyc7XHJcbiAgYnRuQ2xhc3M6IHN0cmluZyA9ICdidG4gYnRuLWljb24gYnRuLWN1c3RvbSBidG4taWNvbi1tdXRlZCBidG4tYWN0aXZlLWxpZ2h0IGJ0bi1hY3RpdmUtY29sb3ItcHJpbWFyeSB3LTM1cHggaC0zNXB4IHctbWQtNDBweCBoLW1kLTQwcHgnO1xyXG4gIGJ0bkNsYXNzMTogc3RyaW5nO1xyXG4gIHVzZXJBdmF0YXJDbGFzczogc3RyaW5nID0gJ3N5bWJvbC0zNXB4IHN5bWJvbC1tZC00MHB4JztcclxuICBidG5JY29uQ2xhc3M6IHN0cmluZyA9ICdmcy0yIGZzLW1kLTEnO1xyXG4gIG5vdGlmaWNhdGlvblJlY2VpdmVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgbm90aWZpY2F0aW9uOmFueSA9IFtdO1xyXG4gIHB1c2hOb3RpZmljYXRpb25MaXN0OmFueSA9IFtdO1xyXG4gIGFjdGl2ZVRhYklkOnN0cmluZyA9ICdhbGVydHMnO1xyXG4gIGxvYWRpbmc6Ym9vbGVhbiA9IHRydWU7XHJcbiAgbm9EYXRhOmJvb2xlYW4gPSBmYWxzZTtcclxuICB1cmw6YW55O1xyXG4gIHNob3dOb3RpZmljYXRpb246Ym9vbGVhbiA9IHRydWU7XHJcbiAgc2hvd0Ryb3Bkb3duOmJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgcHJpdmF0ZSBzdWJzY3JpcHRpb246IFN1YnNjcmlwdGlvbjtcclxuICBub3RpZmljYXRpb25Ecm9wRG93bkNsYXNzOiBib29sZWFuID0gdHJ1ZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBzZXJ2aWNlOk5vdGlmaWNhdGlvblNlcnZpY2UscHJpdmF0ZSByb3V0ZXI6Um91dGVyLHByaXZhdGUgdG9hc3Q6VG9hc3RTZXJ2aWNlLHByaXZhdGUgY2Q6Q2hhbmdlRGV0ZWN0b3JSZWYpIHtcclxuICAgIFxyXG4gIH1cclxuICBcclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgdGhpcy5yb3V0ZXIuZXZlbnRzLnBpcGUoZmlsdGVyKGV2ZW50ID0+IGV2ZW50IGluc3RhbmNlb2YgTmF2aWdhdGlvbkVuZCksdGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKCkgPT4ge1xyXG4gICAgICB0aGlzLnNob3dOb3RpZmljYXRpb25JY29uKCk7XHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2hvd05vdGlmaWNhdGlvbkljb24oKTtcclxuICAgXHJcbiAgfVxyXG4gXHJcbiAgc2hvd05vdGlmaWNhdGlvbkljb24gKCkge1xyXG4gICAgbGV0IHVybCA9IHRoaXMucm91dGVyLnVybC5zcGxpdCgnLycpO1xyXG4gICAgaWYodXJsLmluY2x1ZGVzKCdub3RpZmljYXRpb25zJykpIHtcclxuICAgICAgdGhpcy5zaG93Tm90aWZpY2F0aW9uID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgICBlbHNlIHtcclxuICAgICAgdGhpcy5zaG93Tm90aWZpY2F0aW9uID0gdHJ1ZTtcclxuICAgIH1cclxuICAgIHRoaXMubm90aWZpY2F0aW9uTGlzdCgpO1xyXG4gIH1cclxuXHJcbiAgdG9nZ2xlVXNlckRyb3BEb3duKCkge1xyXG4gICAgdGhpcy5ub3RpZmljYXRpb25Ecm9wRG93bkNsYXNzID0gIXRoaXMubm90aWZpY2F0aW9uRHJvcERvd25DbGFzcztcclxuICB9XHJcbiAgc2V0QWN0aXZlVGFiSWQodGFiSWQ6IGFueSkge1xyXG4gICAgdGhpcy5hY3RpdmVUYWJJZCA9IHRhYklkO1xyXG4gIH1cclxuXHJcbiAgbm90aWZpY2F0aW9uTGlzdCgpIHtcclxuICAgIHRoaXMucHVzaE5vdGlmaWNhdGlvbkxpc3QgPSBbXTsgXHJcbiAgICB0aGlzLmxvYWRpbmcgPSB0cnVlO1xyXG4gICAgbGV0IGRhdGEgPSB7XHJcbiAgICAgIGxpbWl0OiAxMCxcclxuICAgICAgb2Zmc2V0OiAxXHJcbiAgICB9O1xyXG4gICAgdGhpcy5zZXJ2aWNlLm5vdGlmaWNhdGlvbkxpc3QoZGF0YSlcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vRGF0YSA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vdGlmaWNhdGlvbiA9IHJlcy5kYXRhLnJlc3VsdC5zbGljZSgwLDUpO1xyXG4gICAgICAgICAgICB0aGlzLnB1c2hOb3RpZmljYXRpb25MaXN0ID0gcmVzLmRhdGEucmVzdWx0LmZpbHRlcigoaXRlbTphbnkpID0+IGl0ZW0uX3NvdXJjZS5zaG93UHVzaE5vdGlmaWNhdGlvbik7XHJcbiAgICAgICAgICAgIHRoaXMucHVzaE5vdGlmaWNhdGlvbkxpc3QuZm9yRWFjaCgoaXRlbTogYW55KSA9PiB7XHJcbiAgICAgICAgICAgICAgaXRlbS5fc2NvcmUgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgICAgICAgaXRlbS5fc2NvcmUgPSBmYWxzZTtcclxuICAgICAgICAgICAgICAgIHRoaXMubm90aWZpY2F0aW9uUHVzaFVwZGF0ZShpdGVtKTtcclxuICAgICAgICAgICAgICB9LCA2MDAwKTtcclxuICAgICAgICAgICAgfSk7XHJcbiAgICAgICAgICAgIFxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy5ub3RpZmljYXRpb24gPSBbXTsgXHJcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLm5vRGF0YSA9IHRydWU7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgICAgdGhpcy5ub3RpZmljYXRpb24gPSBbXTsgXHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMubm9EYXRhID0gdHJ1ZTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgIG5vdGlmaWNhdGlvblB1c2hVcGRhdGUoZGF0YTogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnNlcnZpY2Uubm90aWZpY2F0aW9uUHVzaFVwZGF0ZShkYXRhKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25MaXN0KCk7XHJcbiAgICAgICAgfSwxMDAwKTtcclxuICAgICAgfVxyXG4gICAgfSlcclxuICB9XHJcblxyXG4gIGhhbmRsZU5vdGlmaWNhdGlvbigpIHtcclxuICAgIHRoaXMuc2VydmljZS51cGRhdGVOb3RpZmljYXRpb25SZWNlaXZlZCh0cnVlKTtcclxuICB9XHJcblxyXG4gIHZpZXdBbGwodHlwZTphbnkpe1xyXG4gICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCgnL25vdGlmaWNhdGlvbnMvYWxlcnRzJylcclxuICB9XHJcblxyXG4gIHVwZGF0ZU5vdGlmaWNhdGlvbihkYXRhOiBhbnksIHVybDogYW55KTogdm9pZCB7XHJcbiAgICB0aGlzLnNlcnZpY2Uubm90aWZpY2F0aW9uVXBkYXRlKGRhdGEuX2lkKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChyZXM6IGFueSkgPT4ge1xyXG4gICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgIHRoaXMudG9hc3QuZ2V0UHJpbWFyeVRvYXN0KHJlcy5tZXNzYWdlKTtcclxuXHJcblxyXG4gICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5ub3RpZmljYXRpb25MaXN0KCk7XHJcblxyXG4gICAgICAgIH0sMTAwMCk7XHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgaWYodXJsICE9ICcnKSB7XHJcbiAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKHVybCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9XHJcbiAgICB9KVxyXG4gIH1cclxuXHJcbiAgQEhvc3RMaXN0ZW5lcignZG9jdW1lbnQ6Y2xpY2snLCBbJyRldmVudCddKVxyXG4gIG9uQ2xpY2sgKGV2ZW50OiBNb3VzZUV2ZW50KSB7XHJcbiAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgSFRNTEVsZW1lbnQ7XHJcbiAgICBpZighdGFyZ2V0LmNsb3Nlc3QoJy5hcHAtbmF2YmFyJykpIHtcclxuICAgICAgdGhpcy5zaG93RHJvcGRvd24gPSBmYWxzZTtcclxuICAgIH1cclxuICB9XHJcbn1cclxuIiwiPCEtLWJlZ2luOjpOb3RpZmljYXRpb25zLS0+XHJcbjxkaXYgY2xhc3M9XCJhcHAtbmF2YmFyLWl0ZW1cIiBbbmdDbGFzc109XCJpdGVtQ2xhc3NcIiAqbmdJZj1cInNob3dOb3RpZmljYXRpb25cIj5cclxuICA8IS0tYmVnaW46Ok1lbnUtIHdyYXBwZXItLT5cclxuICA8ZGl2IFtuZ0NsYXNzXT1cImJ0bkNsYXNzXCIgKGNsaWNrKT1cInNob3dEcm9wZG93biA9ICFzaG93RHJvcGRvd25cIj5cclxuICAgIDxzcGFuICpuZ0lmPVwiIW5vdGlmaWNhdGlvbi5sZW5ndGhcIj5cclxuICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyMCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgPHBhdGhcclxuICAgICAgICAgIGQ9XCJNMTAuNjc3OSAyLjRWMy4wMDY4OEwxMS4yNzE1IDMuMTMzNUMxNC4xNjc0IDMuNzUxMjUgMTYuMzkxOSA2LjQ1ODQyIDE2LjM5MTkgOS43NVYxMC42MzEzQzE2LjM5MTkgMTMuMDEzMSAxNy4yMjQ5IDE1LjMwODcgMTguNzMzOCAxNy4wOTYzTDE4LjczNTIgMTcuMDk3OUwxOS4wNjM2IDE3LjQ4NDZDMTkuMDYzOSAxNy40ODUgMTkuMDY0MiAxNy40ODUzIDE5LjA2NDUgMTcuNDg1N0MxOS4yNTU3IDE3LjcxMzYgMTkuMzA0OCAxOC4wMzkzIDE5LjE4NSAxOC4zMTc0QzE5LjA2NDEgMTguNTk4MyAxOC44MTUzIDE4Ljc1IDE4LjU3MDQgMTguNzVIMS40Mjg0OEMxLjE4MjUgMTguNzUgMC45MzM5MzEgMTguNTk3NCAwLjgxNTAxNyAxOC4zMTkzQzAuNjk1MTA4IDE4LjAzODggMC43NDQ1OTIgMTcuNzEyMyAwLjkzMzk5NiAxNy40ODUzQzAuOTM0NDQ1IDE3LjQ4NDggMC45MzQ4OTQgMTcuNDg0MyAwLjkzNTM0NCAxNy40ODM3TDEuMjYzMTIgMTcuMDk4NUwxLjI2NDczIDE3LjA5NjZDMi43NzU5OSAxNS4zMDg2IDMuNjA2OTcgMTMuMDEyNyAzLjYwNjk3IDEwLjYzMTNWOS43NUMzLjYwNjk3IDYuNDU0MzQgNS43OTQ4OCAzLjc1MTQ1IDguNzI1NTkgMy4xMzM4OEw5LjMyMDk0IDMuMDA4NDNWMi40VjEuNUM5LjMyMDk0IDEuMDUwNTIgOS42NTgwNiAwLjc1IDkuOTk5NDQgMC43NUMxMC4zNDA4IDAuNzUgMTAuNjc3OSAxLjA1MDUyIDEwLjY3NzkgMS41VjIuNFpNOS45OTk0NCAyMy4yNUM5LjQ0OTgzIDIzLjI1IDguOTE3MjYgMjMuMDIzIDguNTIwMzQgMjIuNjA2MkM4LjI5NjQ5IDIyLjM3MTIgOC4xMjQ1NyAyMi4wNzA4IDguMDE3NjkgMjEuNzVIMTEuOTgxMkMxMS44NzQzIDIyLjA3MDggMTEuNzAyNCAyMi4zNzEyIDExLjQ3ODUgMjIuNjA2MkMxMS4wODU2IDIzLjAxODggMTAuNTE0NiAyMy4yNSA5Ljk5OTQ0IDIzLjI1WlwiXHJcbiAgICAgICAgICBzdHJva2U9XCIjMDBBM0ZGXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgLz5cclxuICAgICAgPC9zdmc+XHJcbiAgICA8L3NwYW4+XHJcbiAgICA8c3BhbiAqbmdJZj1cIm5vdGlmaWNhdGlvbi5sZW5ndGhcIj5cclxuICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyMCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgPHBhdGhcclxuICAgICAgICAgIGQ9XCJNMTEuNDI3OSAyLjRWMS41QzExLjQyNzkgMC42NzE3MTkgMTAuNzg5NiAwIDkuOTk5NDQgMEM5LjIwOTMgMCA4LjU3MDk0IDAuNjcxNzE5IDguNTcwOTQgMS41VjIuNEM1LjI3MjAyIDMuMDk1MTYgMi44NTY5NyA2LjEyMTg4IDIuODU2OTcgOS43NVYxMC42MzEzQzIuODU2OTcgMTIuODM5MSAyLjA4NjQ4IDE0Ljk2MjUgMC42OTE5MTUgMTYuNjEyNUwwLjM2MDg2MiAxNy4wMDE2Qy0wLjAxMjg4MDUgMTcuNDQ2OSAtMC4xMDUwNSAxOC4wNzUgMC4xMjUzODQgMTguNjE0MUMwLjM1NTgxOCAxOS4xNTMxIDAuODY2MDEzIDE5LjUgMS40Mjg0OCAxOS41SDE4LjU3MDRDMTkuMTMyOSAxOS41IDE5LjY0MTggMTkuMTUzMSAxOS44NzM5IDE4LjYxNDFDMjAuMTA2IDE4LjA3NSAyMC4wMTIzIDE3LjQ0NjkgMTkuNjM3MyAxNy4wMDE2TDE5LjMwNyAxNi42MTI1QzE3LjkxNDIgMTQuOTYyNSAxNy4xNDE5IDEyLjgzOTEgMTcuMTQxOSAxMC42MzEzVjkuNzVDMTcuMTQxOSA5LjM5OTQ3IDE3LjExOSA5LjA1NDU1IDE3LjA3NDYgOC43MTY4MUMxNi41ODQ1IDguODk5OSAxNi4wNTQgOSAxNS41IDlDMTMuMDE0NyA5IDExIDYuOTg1MjggMTEgNC41QzExIDMuNzQ4NzcgMTEuMTg0MSAzLjA0MDU0IDExLjUwOTYgMi40MTc5NUMxMS40ODI0IDIuNDExOCAxMS40NTUyIDIuNDA1ODIgMTEuNDI3OSAyLjRaXCJcclxuICAgICAgICAgIGZpbGw9XCIjMDBBM0ZGXCIgLz5cclxuICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgZD1cIk03Ljk3NzIzIDIzLjEyMzRDOC41MTI5MSAyMy42ODU5IDkuMjQwNTUgMjQgOS45OTk0NCAyNEMxMC43MTgxIDI0IDExLjQ4NiAyMy42ODU5IDEyLjAyMTYgMjMuMTIzNEMxMi41NTczIDIyLjU2MDkgMTIuODU2NCAyMS43NTQ3IDEyLjg1NjQgMjFINy4xNDI0NUM3LjE0MjQ1IDIxLjc1NDcgNy40NDE1NCAyMi41NjA5IDcuOTc3MjMgMjMuMTIzNFpcIlxyXG4gICAgICAgICAgZmlsbD1cIiMwMEEzRkZcIiAvPlxyXG4gICAgICAgIDxjaXJjbGUgY3g9XCIxNlwiIGN5PVwiNFwiIHI9XCI0XCIgZmlsbD1cIiNGMDQ0MzhcIiAvPlxyXG4gICAgICA8L3N2Zz5cclxuICAgIDwvc3Bhbj5cclxuICAgIDxkaXYgY2xhc3M9XCJtZW51IG1lbnUtc3ViIG1lbnUtc3ViLWRyb3Bkb3duIG1lbnUtY29sdW1uIHctNDUwcHggdy1sZy00MjVweCBub3RpZmljYXRpb25NZW51XCIgKm5nSWY9XCJzaG93RHJvcGRvd25cIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQgdG9wYmFyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyXCI+XHJcbiAgICAgICAgICA8aDMgY2xhc3M9XCJ0aXRsZS1ub3RpZnkgbXQtMTAgbWItNlwiPlxyXG4gICAgICAgICAgICBOb3RpZmljYXRpb25zXHJcbiAgICAgICAgICA8L2gzPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nXCI+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGxvYWRlciAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJub0RhdGEgJiYgIWxvYWRpbmdcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctc3JjIHctMjVcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9ub05vdGlmaWNhdGlvbi5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibm90aWZpY2F0aW9uQWxpZ24gbXQtMTBcIj5ObyBOZXcgTm90aWZpY2F0aW9uPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJub05vdGlmaWNhdGlvbiBtdC0yXCI+QW55IG5ldyBub3RpZmljYXRpb24gd2lsbCBiZSBzaG93biBoZXJlLjwvc3Bhbj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImFsZXJ0c2Nyb2xsXCIgKm5nSWY9XCJub3RpZmljYXRpb24ubGVuZ3RoXCI+XHJcbiAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBpdGVtIG9mIG5vdGlmaWNhdGlvblwiIGNsYXNzPVwibWgtMjAwcHggbmctc3Rhci1pbnNlcnRlZFwiIHN0eWxlPVwib3ZlcmZsb3c6IGF1dG87XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1zdGFjayBweS0zIG14LTQgbmctc3Rhci1pbnNlcnRlZFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3ltYm9sIHN5bWJvbC0zNXB4IG1lLTRcIj48c3BhbiBjbGFzcz1cInN5bWJvbC1sYWJlbCBiZy1saWdodC1wcmltYXJ5XCI+PHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMiBzdmctaWNvbi1wcmltYXJ5XCI+PC9zcGFuPjxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTIgc3ZnLWljb24tcHJpbWFyeVwiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zOnhsaW5rPVwiaHR0cDovL3d3dy53My5vcmcvMTk5OS94bGlua1wiIHdpZHRoPVwiMjRweFwiIGhlaWdodD1cIjI0cHhcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgdmVyc2lvbj1cIjEuMVwiIGNsYXNzPVwibmctc3Rhci1pbnNlcnRlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZyBzdHJva2U9XCJub25lXCIgc3Ryb2tlLXdpZHRoPVwiMVwiIGZpbGw9XCJub25lXCIgZmlsbC1ydWxlPVwiZXZlbm9kZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxwb2x5Z29uIHBvaW50cz1cIjAgMCAyNCAwIDI0IDI0IDAgMjRcIj48L3BvbHlnb24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTIsMTEgQzkuNzkwODYxLDExIDgsOS4yMDkxMzkgOCw3IEM4LDQuNzkwODYxIDkuNzkwODYxLDMgMTIsMyBDMTQuMjA5MTM5LDMgMTYsNC43OTA4NjEgMTYsNyBDMTYsOS4yMDkxMzkgMTQuMjA5MTM5LDExIDEyLDExIFpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cIiMwMDlFRjdcIiBmaWxsLXJ1bGU9XCJub256ZXJvXCIgb3BhY2l0eT1cIjAuM1wiPjwvcGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0zLjAwMDY1MTY4LDIwLjE5OTIwNTUgQzMuMzg4MjU4NTIsMTUuNDI2NTE1OSA3LjI2MTkxMjM1LDEzIDExLjk4MzM0MTMsMTMgQzE2Ljc3MTIxNjQsMTMgMjAuNzA0ODgzNywxNS4yOTMxOTI5IDIwLjk5NzkxNDMsMjAuMiBDMjEuMDA5NTg3OSwyMC4zOTU0NzQxIDIwLjk5NzkxNDMsMjEgMjAuMjQ2Njk5OSwyMSBDMTYuNTQxMTI0LDIxIDExLjAzNDcyNDcsMjEgMy43Mjc1MDIyMywyMSBDMy40NzY3MTIxNSwyMSAyLjk3OTUzODI1LDIwLjQ1OTE4IDMuMDAwNjUxNjgsMjAuMTk5MjA1NSBaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCIjMDA5RUY3XCIgZmlsbC1ydWxlPVwibm9uemVyb1wiPjwvcGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPjwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi0wIG1lLTJcIiBzdHlsZT1cInRleHQtYWxpZ246IGxlZnQ7XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhbGVydC10aXRsZVwiPnt7IGl0ZW0uX3NvdXJjZS50aXRsZSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWx0LWRlc2NcIj57eyBpdGVtLl9zb3VyY2UuZGVzY3JpcHRpb24gfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PjxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQgZnMtOVwiPnt7IGl0ZW0uX3NvdXJjZS5kYXRlfGN1c3RvbURhdGVGb3JtYXQgfX08L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgYm9yZGVyLXRvcFwiPlxyXG4gICAgICAgICAgICA8YSAoY2xpY2spPVwidmlld0FsbCgnYWxlcnRzJylcIiBjbGFzcz1cImJ0biBidG4tY29sb3ItZ3JheS02MDAgYnRuLWFjdGl2ZS1jb2xvci1wcmltYXJ5IG15LTJcIj5cclxuICAgICAgICAgICAgICBWaWV3IEFsbFxyXG4gICAgICAgICAgICA8L2E+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZGl2IGNsYXNzPVwidy00NTBweCBwb3NpdGlvbi1maXhlZCBlbmQtMCBib3R0b20tMCB0cmFuc2l0aW9uXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwibWItNFwiICpuZ0Zvcj1cImxldCBpdGVtIG9mIHB1c2hOb3RpZmljYXRpb25MaXN0O2xldCBpID0gaW5kZXhcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImFsZXJ0YmcgY2FyZFwiICpuZ0lmPVwiaXRlbS5fc2NvcmVcIiBAZmFkZUluIEBmYWRlT3V0PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwicm93IG0tMlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMSBhbGlnbi1pdGVtcy1zdGFydCBtdC0xXCI+XHJcbiAgICAgICAgICA8c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzEyMjU0XzExMjY1MylcIj5cclxuICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgIGQ9XCJNOS45OTkzNSAxMy4zMzM0VjEwTTkuOTk5MzUgNi42NjY2OUgxMC4wMDc3TTE4LjMzMjcgMTBDMTguMzMyNyAxNC42MDI0IDE0LjYwMTcgMTguMzMzNCA5Ljk5OTM1IDE4LjMzMzRDNS4zOTY5OCAxOC4zMzM0IDEuNjY2MDIgMTQuNjAyNCAxLjY2NjAyIDEwQzEuNjY2MDIgNS4zOTc2NSA1LjM5Njk4IDEuNjY2NjkgOS45OTkzNSAxLjY2NjY5QzE0LjYwMTcgMS42NjY2OSAxOC4zMzI3IDUuMzk3NjUgMTguMzMyNyAxMFpcIlxyXG4gICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMTIyNTRfMTEyNjUzXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMCBhbGlnbi1pdGVtcy1zdGFydFwiPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJhbGVydC10aXRsZVwiPlxyXG4gICAgICAgICAgICBOb3RpZmljYXRpb25cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgIHt7aXRlbS5fc291cmNlLmRlc2NyaXB0aW9ufX1cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMSBhbGlnbi1pdGVtcy1zdGFydCBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJub3RpZmljYXRpb25QdXNoVXBkYXRlKGl0ZW0pXCI+XHJcbiAgICAgICAgICA8c3Bhbj48c3ZnIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICA8cGF0aCBkPVwiTTE1IDVMNSAxNU01IDVMMTUgMTVcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IG15LTJcIiBzdHlsZT1cImp1c3RpZnktY29udGVudDogc3BhY2UtYXJvdW5kO1wiPlxyXG4gICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJidXR0b24ucmVkaXJlY3Rpb25VcmwgIT09ICdyZW1pbmQnID8gJycgOiAnbXQtMidcIiAqbmdGb3I9XCJsZXQgYnV0dG9uIG9mIGl0ZW0uX3NvdXJjZT8uYWxlcnRDdGFcIj5cclxuICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cImJ1dHRvbi5yZWRpcmVjdGlvblVybCAhPT0gJ3JlbWluZCdcIiAoY2xpY2spPVwidXBkYXRlTm90aWZpY2F0aW9uKGl0ZW0sYnV0dG9uLnJlZGlyZWN0aW9uVXJsKVwiXHJcbiAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiIHRhYmluZGV4PVwiMFwiIGNsYXNzPVwiYnRuIGJ0bi1zbSBidG4tcHJpbWFyeSBteC00IG5nLXN0YXItaW5zZXJ0ZWQgdy0xMDBcIlxyXG4gICAgICAgICAgICAgIHN0eWxlPVwid2hpdGUtc3BhY2U6IG5vd3JhcDtcIj48c3BhbiBjbGFzcz1cInN1Ym1pdFwiPnt7IGJ1dHRvbi5idXR0b25OYW1lIH19IDwvc3Bhbj48L2J1dHRvbj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJidXR0b24ucmVkaXJlY3Rpb25VcmwgPT09ICdyZW1pbmQnXCIgKGNsaWNrKT1cInVwZGF0ZU5vdGlmaWNhdGlvbihpdGVtLCcnKVwiXHJcbiAgICAgICAgICAgICAgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgbXgtNiByZW1pbmRsYXRlcnRleHQgY3Vyc29yLXBvaW50ZXJcIj57eyBidXR0b24uYnV0dG9uTmFtZSB9fSA8L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuPC9kaXY+XHJcbiJdfQ==
|