common-header-lib 0.0.1
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/README.md +24 -0
- package/assets/.gitkeep +0 -0
- package/assets/i18n/ar.json +83 -0
- package/assets/i18n/de.json +83 -0
- package/assets/i18n/en.json +83 -0
- package/assets/i18n/es.json +83 -0
- package/assets/i18n/fr.json +83 -0
- package/assets/i18n/hi.json +83 -0
- package/assets/i18n/ja.json +83 -0
- package/assets/i18n/ko.json +83 -0
- package/assets/images/APP019.svg +6 -0
- package/assets/images/APP020.svg +4 -0
- package/assets/images/APP021.svg +6 -0
- package/assets/images/APP022.svg +6 -0
- package/assets/images/APP023.svg +11 -0
- package/assets/images/APP024.svg +9 -0
- package/assets/images/APP025.svg +8 -0
- package/assets/images/APP026.svg +4 -0
- package/assets/images/APP027.svg +5 -0
- package/assets/images/APP028.svg +6 -0
- package/assets/images/APP029.svg +12 -0
- package/assets/images/APP030.svg +20 -0
- package/assets/images/APP031.svg +14 -0
- package/assets/images/APP032.svg +17 -0
- package/assets/images/Frame.svg +104 -0
- package/assets/images/apps-1.svg +22 -0
- package/assets/images/bell-icon.svg +3 -0
- package/assets/images/check_circle.svg +3 -0
- package/assets/images/close copy.svg +5 -0
- package/assets/images/close.svg +5 -0
- package/assets/images/copy-img.svg +3 -0
- package/assets/images/cross-search.svg +4 -0
- package/assets/images/domain_img.svg +3 -0
- package/assets/images/east.svg +3 -0
- package/assets/images/error.svg +3 -0
- package/assets/images/filepath.svg +8 -0
- package/assets/images/flag1.svg +3 -0
- package/assets/images/gc-mail.svg +3 -0
- package/assets/images/grey-arrow.svg +3 -0
- package/assets/images/info.svg +3 -0
- package/assets/images/local.svg +3 -0
- package/assets/images/lock-pass.svg +3 -0
- package/assets/images/lock1.svg +3 -0
- package/assets/images/login-bg/default_bg.svg +448 -0
- package/assets/images/login-bg/visibility.svg +3 -0
- package/assets/images/login-bg/visibility_off.svg +3 -0
- package/assets/images/logo.png +0 -0
- package/assets/images/logout.svg +3 -0
- package/assets/images/mail-icon.svg +3 -0
- package/assets/images/marker-pin.svg +4 -0
- package/assets/images/noti_ticket.svg +3 -0
- package/assets/images/pass-img.svg +3 -0
- package/assets/images/refresh-1.svg +3 -0
- package/assets/images/schedule.svg +1 -0
- package/assets/images/search-filter.svg +3 -0
- package/assets/images/search-icon.svg +3 -0
- package/assets/images/settings.svg +3 -0
- package/assets/images/successful.svg +10 -0
- package/assets/images/user-name.svg +3 -0
- package/assets/scss/_sidebar.scss +267 -0
- package/assets/scss/styles.scss +577 -0
- package/esm2020/common-header-lib.mjs +5 -0
- package/esm2020/lib/Validators/noSpaceAllowed.mjs +16 -0
- package/esm2020/lib/common-header-lib.component.mjs +612 -0
- package/esm2020/lib/common-header-lib.module.mjs +208 -0
- package/esm2020/lib/common-header-lib.service.mjs +200 -0
- package/esm2020/lib/components/confirm-dialog/confirm-dialog.component.mjs +49 -0
- package/esm2020/lib/components/general-configuration/general-configuration.component.mjs +402 -0
- package/esm2020/lib/components/general-configuration/landingpg-config/landingpg-config.component.mjs +124 -0
- package/esm2020/lib/components/general-configuration/timezone-configuration/timezone-configuration.component.mjs +138 -0
- package/esm2020/lib/components/grid-pagination/grid-pagination.component.mjs +39 -0
- package/esm2020/lib/components/ng-translation/ng-translation.component.mjs +65 -0
- package/esm2020/lib/components/no-service-my-access-pg/no-service-my-access-pg.component.mjs +19 -0
- package/esm2020/lib/components/notification-sidebar/notification-sidebar.component.mjs +40 -0
- package/esm2020/lib/components/side-popup/side-popup.component.mjs +34 -0
- package/esm2020/lib/components/user-mailbox/user-mailbox.component.mjs +173 -0
- package/esm2020/lib/components/user-sidebar/user-sidebar.component.mjs +279 -0
- package/esm2020/lib/components/viewpassword-popup/viewpassword-popup.component.mjs +196 -0
- package/esm2020/lib/model/data_model.mjs +217 -0
- package/esm2020/lib/pipes/custome-dateformat.pipe.mjs +27 -0
- package/esm2020/lib/pipes/date-diff.pipe.mjs +56 -0
- package/esm2020/lib/pipes/slice-to-two.pipe.mjs +34 -0
- package/esm2020/lib/services/EncrypDecryp_RSA.service.mjs +100 -0
- package/esm2020/lib/services/async-passwordcheck.service.mjs +72 -0
- package/esm2020/lib/services/cookie-storage-manager.service.mjs +78 -0
- package/esm2020/lib/services/encrpdata.service.mjs +55 -0
- package/esm2020/lib/services/encrydecrydata.service.mjs +207 -0
- package/esm2020/lib/services/event.service.mjs +133 -0
- package/esm2020/lib/services/http/http-common.service.mjs +216 -0
- package/esm2020/lib/services/http/http-general-config.service.mjs +84 -0
- package/esm2020/lib/services/rest-login-form.service.mjs +296 -0
- package/esm2020/lib/services/rest-signalr.service.mjs +100 -0
- package/esm2020/lib/services/storage.service.mjs +33 -0
- package/esm2020/lib/services/toast-msg.service.mjs +95 -0
- package/esm2020/lib/services/vapt-validation.service.mjs +31 -0
- package/esm2020/public-api.mjs +13 -0
- package/fesm2015/common-header-lib.mjs +4165 -0
- package/fesm2015/common-header-lib.mjs.map +1 -0
- package/fesm2020/common-header-lib.mjs +4146 -0
- package/fesm2020/common-header-lib.mjs.map +1 -0
- package/index.d.ts +5 -0
- package/lib/Validators/noSpaceAllowed.d.ts +2 -0
- package/lib/common-header-lib.component.d.ts +148 -0
- package/lib/common-header-lib.module.d.ts +43 -0
- package/lib/common-header-lib.service.d.ts +25 -0
- package/lib/components/confirm-dialog/confirm-dialog.component.d.ts +13 -0
- package/lib/components/general-configuration/general-configuration.component.d.ts +86 -0
- package/lib/components/general-configuration/landingpg-config/landingpg-config.component.d.ts +37 -0
- package/lib/components/general-configuration/timezone-configuration/timezone-configuration.component.d.ts +38 -0
- package/lib/components/grid-pagination/grid-pagination.component.d.ts +20 -0
- package/lib/components/ng-translation/ng-translation.component.d.ts +22 -0
- package/lib/components/no-service-my-access-pg/no-service-my-access-pg.component.d.ts +8 -0
- package/lib/components/notification-sidebar/notification-sidebar.component.d.ts +16 -0
- package/lib/components/side-popup/side-popup.component.d.ts +14 -0
- package/lib/components/user-mailbox/user-mailbox.component.d.ts +40 -0
- package/lib/components/user-sidebar/user-sidebar.component.d.ts +61 -0
- package/lib/components/viewpassword-popup/viewpassword-popup.component.d.ts +47 -0
- package/lib/model/data_model.d.ts +184 -0
- package/lib/pipes/custome-dateformat.pipe.d.ts +8 -0
- package/lib/pipes/date-diff.pipe.d.ts +9 -0
- package/lib/pipes/slice-to-two.pipe.d.ts +7 -0
- package/lib/services/EncrypDecryp_RSA.service.d.ts +15 -0
- package/lib/services/async-passwordcheck.service.d.ts +18 -0
- package/lib/services/cookie-storage-manager.service.d.ts +16 -0
- package/lib/services/encrpdata.service.d.ts +12 -0
- package/lib/services/encrydecrydata.service.d.ts +33 -0
- package/lib/services/event.service.d.ts +30 -0
- package/lib/services/http/http-common.service.d.ts +30 -0
- package/lib/services/http/http-general-config.service.d.ts +15 -0
- package/lib/services/rest-login-form.service.d.ts +39 -0
- package/lib/services/rest-signalr.service.d.ts +23 -0
- package/lib/services/storage.service.d.ts +11 -0
- package/lib/services/toast-msg.service.d.ts +21 -0
- package/lib/services/vapt-validation.service.d.ts +7 -0
- package/package.json +49 -0
- package/public-api.d.ts +8 -0
- package/src/assets/i18n/ar.json +83 -0
- package/src/assets/i18n/de.json +83 -0
- package/src/assets/i18n/en.json +83 -0
- package/src/assets/i18n/es.json +83 -0
- package/src/assets/i18n/fr.json +83 -0
- package/src/assets/i18n/hi.json +83 -0
- package/src/assets/i18n/ja.json +83 -0
- package/src/assets/i18n/ko.json +83 -0
- package/src/assets/images/APP019.svg +6 -0
- package/src/assets/images/APP020.svg +4 -0
- package/src/assets/images/APP021.svg +6 -0
- package/src/assets/images/APP022.svg +6 -0
- package/src/assets/images/APP023.svg +11 -0
- package/src/assets/images/APP024.svg +9 -0
- package/src/assets/images/APP025.svg +8 -0
- package/src/assets/images/APP026.svg +4 -0
- package/src/assets/images/APP027.svg +5 -0
- package/src/assets/images/APP028.svg +6 -0
- package/src/assets/images/APP029.svg +12 -0
- package/src/assets/images/APP030.svg +20 -0
- package/src/assets/images/APP031.svg +14 -0
- package/src/assets/images/APP032.svg +17 -0
- package/src/assets/images/Frame.svg +104 -0
- package/src/assets/images/apps-1.svg +22 -0
- package/src/assets/images/bell-icon.svg +3 -0
- package/src/assets/images/check_circle.svg +3 -0
- package/src/assets/images/close copy.svg +5 -0
- package/src/assets/images/close.svg +5 -0
- package/src/assets/images/copy-img.svg +3 -0
- package/src/assets/images/cross-search.svg +4 -0
- package/src/assets/images/domain_img.svg +3 -0
- package/src/assets/images/east.svg +3 -0
- package/src/assets/images/error.svg +3 -0
- package/src/assets/images/filepath.svg +8 -0
- package/src/assets/images/flag1.svg +3 -0
- package/src/assets/images/gc-mail.svg +3 -0
- package/src/assets/images/grey-arrow.svg +3 -0
- package/src/assets/images/info.svg +3 -0
- package/src/assets/images/local.svg +3 -0
- package/src/assets/images/lock-pass.svg +3 -0
- package/src/assets/images/lock1.svg +3 -0
- package/src/assets/images/login-bg/default_bg.svg +448 -0
- package/src/assets/images/login-bg/visibility.svg +3 -0
- package/src/assets/images/login-bg/visibility_off.svg +3 -0
- package/src/assets/images/logo.png +0 -0
- package/src/assets/images/logout.svg +3 -0
- package/src/assets/images/mail-icon.svg +3 -0
- package/src/assets/images/marker-pin.svg +4 -0
- package/src/assets/images/noti_ticket.svg +3 -0
- package/src/assets/images/pass-img.svg +3 -0
- package/src/assets/images/refresh-1.svg +3 -0
- package/src/assets/images/schedule.svg +1 -0
- package/src/assets/images/search-filter.svg +3 -0
- package/src/assets/images/search-icon.svg +3 -0
- package/src/assets/images/settings.svg +3 -0
- package/src/assets/images/successful.svg +10 -0
- package/src/assets/images/user-name.svg +3 -0
- package/src/assets/scss/_sidebar.scss +267 -0
- package/src/assets/scss/styles.scss +577 -0
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
import { HttpCommonService } from './../../services/http/http-common.service';
|
|
2
|
+
import { Component } from '@angular/core';
|
|
3
|
+
import { DynamicDialogConfig } from 'primeng/dynamicdialog';
|
|
4
|
+
import { finalize, Subject, takeUntil } from 'rxjs';
|
|
5
|
+
import { TranslateService } from '@ngx-translate/core';
|
|
6
|
+
import { EventService } from '../../services/event.service';
|
|
7
|
+
import { ToastMsgService } from '../../services/toast-msg.service';
|
|
8
|
+
import * as i0 from "@angular/core";
|
|
9
|
+
import * as i1 from "primeng/dynamicdialog";
|
|
10
|
+
import * as i2 from "../../services/toast-msg.service";
|
|
11
|
+
import * as i3 from "../../services/event.service";
|
|
12
|
+
import * as i4 from "@ngx-translate/core";
|
|
13
|
+
import * as i5 from "./../../services/http/http-common.service";
|
|
14
|
+
import * as i6 from "@angular/common";
|
|
15
|
+
import * as i7 from "primeng/skeleton";
|
|
16
|
+
import * as i8 from "primeng/button";
|
|
17
|
+
import * as i9 from "../../pipes/date-diff.pipe";
|
|
18
|
+
export class ViewpasswordPopupComponent {
|
|
19
|
+
constructor(dialogService,
|
|
20
|
+
// private readonly _RESTService: RESTMyaccessService,
|
|
21
|
+
msgService, _eventService, translateService, httpCommonService) {
|
|
22
|
+
this.dialogService = dialogService;
|
|
23
|
+
this.msgService = msgService;
|
|
24
|
+
this._eventService = _eventService;
|
|
25
|
+
this.translateService = translateService;
|
|
26
|
+
this.httpCommonService = httpCommonService;
|
|
27
|
+
this.servicePassword = 'Password';
|
|
28
|
+
this.showVaultBtn = false;
|
|
29
|
+
this.isContentLoaded = false;
|
|
30
|
+
this.isValueUpdated = false;
|
|
31
|
+
this.OpenTillDate = '';
|
|
32
|
+
this.unsubscribeAPIEventListenerData = new Subject();
|
|
33
|
+
this.totalEmails = '';
|
|
34
|
+
this.SSHFileType = '';
|
|
35
|
+
this.SSHFileName = '';
|
|
36
|
+
this.isSSHKey = false;
|
|
37
|
+
this.isPasswordVisible = true;
|
|
38
|
+
this.PasswordViewSuccessMsg = '';
|
|
39
|
+
this.SSHPasswordViewSuccessMsg = '';
|
|
40
|
+
this.SSHPasswordViewErrorMsg = '';
|
|
41
|
+
this.sshKeyForDownload = '';
|
|
42
|
+
this.getSelectedGridData(dialogService.data); //Getting Data from popup
|
|
43
|
+
}
|
|
44
|
+
ngAfterViewInit() {
|
|
45
|
+
this.getTranslateContent();
|
|
46
|
+
}
|
|
47
|
+
ngOnInit() {
|
|
48
|
+
this.getAccessServicePassword();
|
|
49
|
+
// this.getCurrentEmailsCount()
|
|
50
|
+
}
|
|
51
|
+
getSelectedGridData(gridData) {
|
|
52
|
+
if (gridData && gridData['payload']) {
|
|
53
|
+
this.mailDetails = gridData['payload'];
|
|
54
|
+
this.SSHFileType = gridData['SSHfileType'];
|
|
55
|
+
this.showVaultBtn = gridData['btnStatus'];
|
|
56
|
+
this.OpenTillDate = this.mailDetails['spv_Opentildate'];
|
|
57
|
+
this.isSSHKey = this.mailDetails['sshkey_isenabled'];
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
//Method: Convert text one Lang. to another
|
|
61
|
+
getTranslateContent() {
|
|
62
|
+
this.translateService
|
|
63
|
+
.get([
|
|
64
|
+
'MyAccess.PasswordViewSuccessMsg',
|
|
65
|
+
'MyAccess.SSHPasswordViewSuccessMsg',
|
|
66
|
+
'MyAccess.SSHPasswordViewErrorMsg',
|
|
67
|
+
])
|
|
68
|
+
.pipe(takeUntil(this.unsubscribeAPIEventListenerData))
|
|
69
|
+
.subscribe((trans) => {
|
|
70
|
+
this.PasswordViewSuccessMsg = trans['MyAccess.PasswordViewSuccessMsg'];
|
|
71
|
+
this.SSHPasswordViewSuccessMsg =
|
|
72
|
+
trans['MyAccess.SSHPasswordViewSuccessMsg'];
|
|
73
|
+
this.SSHPasswordViewErrorMsg =
|
|
74
|
+
trans['MyAccess.SSHPasswordViewErrorMsg'];
|
|
75
|
+
});
|
|
76
|
+
}
|
|
77
|
+
//Method: Grants access to the View password for a service
|
|
78
|
+
getAccessServicePassword() {
|
|
79
|
+
this.isContentLoaded = false;
|
|
80
|
+
let mailDetails = {
|
|
81
|
+
mailid: String(this.mailDetails['smi_SpvId']),
|
|
82
|
+
// userid: this.userId,
|
|
83
|
+
// userSessionID: this.userSessionId,
|
|
84
|
+
};
|
|
85
|
+
this.httpCommonService
|
|
86
|
+
.getAccessToViewServicePassword(mailDetails)
|
|
87
|
+
.pipe(takeUntil(this.unsubscribeAPIEventListenerData), finalize(() => {
|
|
88
|
+
this.isContentLoaded = true;
|
|
89
|
+
}))
|
|
90
|
+
.subscribe((result) => {
|
|
91
|
+
this.servicePassword = result?.sshKeyPassPhrase;
|
|
92
|
+
this.SSHFileName = result?.sshFileName;
|
|
93
|
+
this.sshKeyForDownload = result?.sshKey;
|
|
94
|
+
this.getCurrentEmailsCount();
|
|
95
|
+
});
|
|
96
|
+
}
|
|
97
|
+
//Method: Hide password of a service
|
|
98
|
+
getHideServicePassword() {
|
|
99
|
+
this.isValueUpdated = true;
|
|
100
|
+
let mailDetails = {
|
|
101
|
+
spvId: String(this.mailDetails['smi_SpvId']),
|
|
102
|
+
// userId: this.userId,
|
|
103
|
+
};
|
|
104
|
+
this.httpCommonService
|
|
105
|
+
.getProtectedServiceCredentials(mailDetails)
|
|
106
|
+
.pipe(takeUntil(this.unsubscribeAPIEventListenerData), finalize(() => {
|
|
107
|
+
this.isValueUpdated = false;
|
|
108
|
+
}))
|
|
109
|
+
.subscribe((result) => {
|
|
110
|
+
if (result) {
|
|
111
|
+
this._eventService.emitUserEmail({
|
|
112
|
+
component: 'view-pwd',
|
|
113
|
+
refreshGrid: true,
|
|
114
|
+
});
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
}
|
|
118
|
+
/*Method : GET
|
|
119
|
+
Action : Fetch User Mails Count */
|
|
120
|
+
getCurrentEmailsCount() {
|
|
121
|
+
this.httpCommonService
|
|
122
|
+
.getUnreadUserEmailsCount()
|
|
123
|
+
.pipe(takeUntil(this.unsubscribeAPIEventListenerData))
|
|
124
|
+
.subscribe((count) => {
|
|
125
|
+
if (count <= 0) {
|
|
126
|
+
this.totalEmails = '';
|
|
127
|
+
}
|
|
128
|
+
else if (count > 99) {
|
|
129
|
+
this.totalEmails = '99+';
|
|
130
|
+
}
|
|
131
|
+
else {
|
|
132
|
+
this.totalEmails = String(count);
|
|
133
|
+
}
|
|
134
|
+
this.updateMailCount();
|
|
135
|
+
});
|
|
136
|
+
}
|
|
137
|
+
getGenerateFile() {
|
|
138
|
+
this.generateSSHKeyFile();
|
|
139
|
+
this.getHideServicePassword();
|
|
140
|
+
}
|
|
141
|
+
generateSSHKeyFile() {
|
|
142
|
+
try {
|
|
143
|
+
const blob = new Blob([this.sshKeyForDownload], { type: '' });
|
|
144
|
+
const url = window.URL.createObjectURL(blob);
|
|
145
|
+
const a = document.createElement('a');
|
|
146
|
+
a.href = url;
|
|
147
|
+
a.download = `${this.SSHFileName}.${this.SSHFileType}`;
|
|
148
|
+
document.body.appendChild(a);
|
|
149
|
+
a.click();
|
|
150
|
+
document.body.removeChild(a);
|
|
151
|
+
window.URL.revokeObjectURL(url);
|
|
152
|
+
this.msgService.success(this.SSHPasswordViewSuccessMsg);
|
|
153
|
+
}
|
|
154
|
+
catch (error) {
|
|
155
|
+
console.error('Error generating SSH key file:', error);
|
|
156
|
+
this.msgService.error(this.SSHPasswordViewErrorMsg);
|
|
157
|
+
}
|
|
158
|
+
}
|
|
159
|
+
updateMailCount() {
|
|
160
|
+
this._eventService.emitUserEmail({
|
|
161
|
+
component: 'email-count',
|
|
162
|
+
mailCount: this.totalEmails,
|
|
163
|
+
});
|
|
164
|
+
}
|
|
165
|
+
copyToClipboard(text) {
|
|
166
|
+
navigator.clipboard
|
|
167
|
+
.writeText(text)
|
|
168
|
+
.then(() => {
|
|
169
|
+
this.msgService.success(this.PasswordViewSuccessMsg);
|
|
170
|
+
})
|
|
171
|
+
.catch((error) => {
|
|
172
|
+
console.error('Error copying text to clipboard: ', error);
|
|
173
|
+
});
|
|
174
|
+
}
|
|
175
|
+
togglePasswordVisibility() {
|
|
176
|
+
this.isPasswordVisible = !this.isPasswordVisible;
|
|
177
|
+
}
|
|
178
|
+
showPassword() {
|
|
179
|
+
if (this.isSSHKey && !this.servicePassword) {
|
|
180
|
+
return false;
|
|
181
|
+
}
|
|
182
|
+
return true;
|
|
183
|
+
}
|
|
184
|
+
ngOnDestroy() {
|
|
185
|
+
// Unsubscribing All the Observer
|
|
186
|
+
this.unsubscribeAPIEventListenerData.next(true);
|
|
187
|
+
this.unsubscribeAPIEventListenerData.complete();
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
ViewpasswordPopupComponent.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ViewpasswordPopupComponent, deps: [{ token: i1.DynamicDialogConfig }, { token: i2.ToastMsgService }, { token: i3.EventService }, { token: i4.TranslateService }, { token: i5.HttpCommonService }], target: i0.ɵɵFactoryTarget.Component });
|
|
191
|
+
ViewpasswordPopupComponent.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "14.3.0", type: ViewpasswordPopupComponent, selector: "app-viewpassword-popup", ngImport: i0, template: "<div class=\"view-pass-detail\">\r\n <!-- <div class=\"title\">{{\"Generic.Password\" | translate}}</div> -->\r\n <div class=\"mt-4 position-relative px-4\">\r\n <ng-container *ngIf=\"isContentLoaded; else LoadingAnimation\">\r\n\r\n <ng-container *ngIf=\"isSSHKey\">\r\n <div class=\"title\">{{ mailDetails['smi_MailSubject']}}</div>\r\n <p class=\"note-text mt-2\">{{'Generic_lib.DownloadSSHNote' | translate}}</p>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"showPassword()\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"password-checkbox-right\">\r\n <div class=\"checkbox-visibility-icon\">\r\n <input type=\"checkbox\" (click)=\"togglePasswordVisibility()\" />\r\n <span></span>\r\n </div>\r\n </div>\r\n <input class=\"form-control view-pass\" [ngClass]=\"isSSHKey === true ? 'ssh' : ''\" readonly\r\n type=\"{{ isPasswordVisible ? 'password' : 'text' }}\" [value]=\"servicePassword\" placeholder=\"\"\r\n autocomplete=\"off\" />\r\n <button (click)=\"copyToClipboard(servicePassword)\" type=\"button\"\r\n class=\"btn btn-primary d-flex align-items-center copy-btn\" title=\"Copy To Clipboard\">\r\n <img src=\"../assets/common-header-lib/images/copy-img.svg\" alt=\"copy Icon\" class=\"mx-2\">{{\"Generic_lib.Copy\"\r\n | translate}}</button>\r\n <img *ngIf=\"!isSSHKey\" src=\"../assets/common-header-lib/images/pass-img.svg\" alt=\"Icon\"\r\n class=\"position-absolute mx-2\">\r\n <p *ngIf=\"isSSHKey\" class=\"position-absolute mx-2\">{{'Generic_lib.KeyPassphrase' | translate}}: </p>\r\n </div>\r\n </ng-container>\r\n\r\n </ng-container>\r\n </div>\r\n\r\n <!-- LODDER -->\r\n <ng-template #LoadingAnimation>\r\n <div class=\"row w-100\">\r\n <div class=\"col-12 \">\r\n <p-skeleton height=\"1.5rem\" styleClass=\"mb-2\"></p-skeleton>\r\n </div>\r\n <div class=\"col-12 \">\r\n <p-skeleton height=\"1.5rem\" styleClass=\"mb-2\"></p-skeleton>\r\n </div>\r\n <div class=\"col-12 \">\r\n <p-skeleton height=\"1.5rem\" width=\"30%\" styleClass=\"float-end mb-2\"></p-skeleton>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <!-- /LODDER -->\r\n\r\n <!-- MAIN-CONTENT -->\r\n <ng-container *ngIf=\"isContentLoaded\">\r\n <div class=\"d-flex mt-2 my-4 gap-1 px-4\">\r\n <div class=\"label-text\">{{\"Generic_lib.RemainingTime\" | translate}} : </div>\r\n <div class=\"time-text\">{{OpenTillDate | dateDiff}}</div>\r\n </div>\r\n\r\n <!-- <ng-container *ngIf=\"showVaultBtn\"> -->\r\n <!-- ! AMIT: Check showVaultBtn condition -->\r\n <ng-container *ngIf=\"true\">\r\n <div class=\"border-bottom\"></div>\r\n <div class=\"d-flex mt-4 justify-content-end gap-1 ms-auto px-4 mb-2\">\r\n <ng-container *ngIf=\"isSSHKey; else downloadbtn\">\r\n <p-button type=\"button\" label=\"{{'Generic_lib.DownloadKey' | translate}}\" [iconPos]=\"'right'\"\r\n [loading]=\"isValueUpdated\" class=\"submit-btn view-btn\" (click)=\"getGenerateFile()\"></p-button>\r\n </ng-container>\r\n <ng-template #downloadbtn>\r\n <p-button type=\"button\" label=\"{{'Generic_lib.VaultCredentials' | translate}}\" [iconPos]=\"'right'\"\r\n [loading]=\"isValueUpdated\" class=\"submit-btn view-btn\" (click)=\"getHideServicePassword()\"></p-button>\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n <!-- /MAIN-CONTENT -->\r\n</div>\r\n", styles: [".view-pass-detail .key-icon{position:fixed;top:134px;left:35px}.view-pass-detail .title{font-size:15px;font-weight:700;color:var(--primary-text)}.view-pass-detail .note-text{font-size:14px!important}.view-pass-detail .view-pass{border-radius:4px 0 0 4px;padding-left:40px;height:40px;font-size:14px}.view-pass-detail .view-pass.ssh{padding-left:115px;padding-right:40px;margin:10px 0}.view-pass-detail .copy-btn{border-radius:0 4px 4px 0;height:40px;font-size:14px}.view-pass-detail .label-text{color:var(--secondary-text);font-size:13px}.view-pass-detail .time-text{font-size:13px;font-weight:600}.view-pass-detail .view-btn{border-radius:4px;height:35px;font-size:14px;text-align:center;margin-top:4px}.view-pass-detail .border-bottom{position:relative;top:13px}.view-pass-detail p{font-size:14px!important;margin-bottom:1px}.password-checkbox-right{right:120px;position:absolute}.checkbox-visibility-icon{position:relative}.checkbox-visibility-icon input[type=checkbox]{opacity:0;position:absolute;top:4px;left:5px;transform:scale(1.7);z-index:2;cursor:pointer}.checkbox-visibility-icon input[type=checkbox]:checked+span{background:url(../../assets/common-header-lib/images/login-bg/visibility.svg);background-repeat:no-repeat;background-position:0px;height:12px;width:18px;display:block;background-size:17px}@media (min-width: 992px){.checkbox-visibility-icon input[type=checkbox]:checked+span{height:12px;width:18px;background-size:17px}}.checkbox-visibility-icon input[type=checkbox]+span{background:url(../../assets/common-header-lib/images/login-bg/visibility_off.svg);background-repeat:no-repeat;background-position:0px;height:12px;width:18px;display:block;background-size:17px}@media (min-width: 992px){.checkbox-visibility-icon input[type=checkbox]+span{height:24px;width:18px;background-size:17px}}\n"], dependencies: [{ kind: "directive", type: i6.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i6.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i7.Skeleton, selector: "p-skeleton", inputs: ["styleClass", "style", "shape", "animation", "borderRadius", "size", "width", "height"] }, { kind: "component", type: i8.Button, selector: "p-button", inputs: ["type", "iconPos", "icon", "badge", "label", "disabled", "loading", "loadingIcon", "style", "styleClass", "badgeClass", "ariaLabel"], outputs: ["onClick", "onFocus", "onBlur"] }, { kind: "pipe", type: i4.TranslatePipe, name: "translate" }, { kind: "pipe", type: i9.DateDiffPipe, name: "dateDiff" }] });
|
|
192
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: ViewpasswordPopupComponent, decorators: [{
|
|
193
|
+
type: Component,
|
|
194
|
+
args: [{ selector: 'app-viewpassword-popup', template: "<div class=\"view-pass-detail\">\r\n <!-- <div class=\"title\">{{\"Generic.Password\" | translate}}</div> -->\r\n <div class=\"mt-4 position-relative px-4\">\r\n <ng-container *ngIf=\"isContentLoaded; else LoadingAnimation\">\r\n\r\n <ng-container *ngIf=\"isSSHKey\">\r\n <div class=\"title\">{{ mailDetails['smi_MailSubject']}}</div>\r\n <p class=\"note-text mt-2\">{{'Generic_lib.DownloadSSHNote' | translate}}</p>\r\n </ng-container>\r\n\r\n <ng-container *ngIf=\"showPassword()\">\r\n <div class=\"d-flex align-items-center\">\r\n <div class=\"password-checkbox-right\">\r\n <div class=\"checkbox-visibility-icon\">\r\n <input type=\"checkbox\" (click)=\"togglePasswordVisibility()\" />\r\n <span></span>\r\n </div>\r\n </div>\r\n <input class=\"form-control view-pass\" [ngClass]=\"isSSHKey === true ? 'ssh' : ''\" readonly\r\n type=\"{{ isPasswordVisible ? 'password' : 'text' }}\" [value]=\"servicePassword\" placeholder=\"\"\r\n autocomplete=\"off\" />\r\n <button (click)=\"copyToClipboard(servicePassword)\" type=\"button\"\r\n class=\"btn btn-primary d-flex align-items-center copy-btn\" title=\"Copy To Clipboard\">\r\n <img src=\"../assets/common-header-lib/images/copy-img.svg\" alt=\"copy Icon\" class=\"mx-2\">{{\"Generic_lib.Copy\"\r\n | translate}}</button>\r\n <img *ngIf=\"!isSSHKey\" src=\"../assets/common-header-lib/images/pass-img.svg\" alt=\"Icon\"\r\n class=\"position-absolute mx-2\">\r\n <p *ngIf=\"isSSHKey\" class=\"position-absolute mx-2\">{{'Generic_lib.KeyPassphrase' | translate}}: </p>\r\n </div>\r\n </ng-container>\r\n\r\n </ng-container>\r\n </div>\r\n\r\n <!-- LODDER -->\r\n <ng-template #LoadingAnimation>\r\n <div class=\"row w-100\">\r\n <div class=\"col-12 \">\r\n <p-skeleton height=\"1.5rem\" styleClass=\"mb-2\"></p-skeleton>\r\n </div>\r\n <div class=\"col-12 \">\r\n <p-skeleton height=\"1.5rem\" styleClass=\"mb-2\"></p-skeleton>\r\n </div>\r\n <div class=\"col-12 \">\r\n <p-skeleton height=\"1.5rem\" width=\"30%\" styleClass=\"float-end mb-2\"></p-skeleton>\r\n </div>\r\n </div>\r\n </ng-template>\r\n <!-- /LODDER -->\r\n\r\n <!-- MAIN-CONTENT -->\r\n <ng-container *ngIf=\"isContentLoaded\">\r\n <div class=\"d-flex mt-2 my-4 gap-1 px-4\">\r\n <div class=\"label-text\">{{\"Generic_lib.RemainingTime\" | translate}} : </div>\r\n <div class=\"time-text\">{{OpenTillDate | dateDiff}}</div>\r\n </div>\r\n\r\n <!-- <ng-container *ngIf=\"showVaultBtn\"> -->\r\n <!-- ! AMIT: Check showVaultBtn condition -->\r\n <ng-container *ngIf=\"true\">\r\n <div class=\"border-bottom\"></div>\r\n <div class=\"d-flex mt-4 justify-content-end gap-1 ms-auto px-4 mb-2\">\r\n <ng-container *ngIf=\"isSSHKey; else downloadbtn\">\r\n <p-button type=\"button\" label=\"{{'Generic_lib.DownloadKey' | translate}}\" [iconPos]=\"'right'\"\r\n [loading]=\"isValueUpdated\" class=\"submit-btn view-btn\" (click)=\"getGenerateFile()\"></p-button>\r\n </ng-container>\r\n <ng-template #downloadbtn>\r\n <p-button type=\"button\" label=\"{{'Generic_lib.VaultCredentials' | translate}}\" [iconPos]=\"'right'\"\r\n [loading]=\"isValueUpdated\" class=\"submit-btn view-btn\" (click)=\"getHideServicePassword()\"></p-button>\r\n </ng-template>\r\n </div>\r\n </ng-container>\r\n </ng-container>\r\n <!-- /MAIN-CONTENT -->\r\n</div>\r\n", styles: [".view-pass-detail .key-icon{position:fixed;top:134px;left:35px}.view-pass-detail .title{font-size:15px;font-weight:700;color:var(--primary-text)}.view-pass-detail .note-text{font-size:14px!important}.view-pass-detail .view-pass{border-radius:4px 0 0 4px;padding-left:40px;height:40px;font-size:14px}.view-pass-detail .view-pass.ssh{padding-left:115px;padding-right:40px;margin:10px 0}.view-pass-detail .copy-btn{border-radius:0 4px 4px 0;height:40px;font-size:14px}.view-pass-detail .label-text{color:var(--secondary-text);font-size:13px}.view-pass-detail .time-text{font-size:13px;font-weight:600}.view-pass-detail .view-btn{border-radius:4px;height:35px;font-size:14px;text-align:center;margin-top:4px}.view-pass-detail .border-bottom{position:relative;top:13px}.view-pass-detail p{font-size:14px!important;margin-bottom:1px}.password-checkbox-right{right:120px;position:absolute}.checkbox-visibility-icon{position:relative}.checkbox-visibility-icon input[type=checkbox]{opacity:0;position:absolute;top:4px;left:5px;transform:scale(1.7);z-index:2;cursor:pointer}.checkbox-visibility-icon input[type=checkbox]:checked+span{background:url(../../assets/common-header-lib/images/login-bg/visibility.svg);background-repeat:no-repeat;background-position:0px;height:12px;width:18px;display:block;background-size:17px}@media (min-width: 992px){.checkbox-visibility-icon input[type=checkbox]:checked+span{height:12px;width:18px;background-size:17px}}.checkbox-visibility-icon input[type=checkbox]+span{background:url(../../assets/common-header-lib/images/login-bg/visibility_off.svg);background-repeat:no-repeat;background-position:0px;height:12px;width:18px;display:block;background-size:17px}@media (min-width: 992px){.checkbox-visibility-icon input[type=checkbox]+span{height:24px;width:18px;background-size:17px}}\n"] }]
|
|
195
|
+
}], ctorParameters: function () { return [{ type: i1.DynamicDialogConfig }, { type: i2.ToastMsgService }, { type: i3.EventService }, { type: i4.TranslateService }, { type: i5.HttpCommonService }]; } });
|
|
196
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld3Bhc3N3b3JkLXBvcHVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi1oZWFkZXItbGliL3NyYy9saWIvY29tcG9uZW50cy92aWV3cGFzc3dvcmQtcG9wdXAvdmlld3Bhc3N3b3JkLXBvcHVwLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi1oZWFkZXItbGliL3NyYy9saWIvY29tcG9uZW50cy92aWV3cGFzc3dvcmQtcG9wdXAvdmlld3Bhc3N3b3JkLXBvcHVwLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDJDQUEyQyxDQUFDO0FBQzlFLE9BQU8sRUFBRSxTQUFTLEVBQW9DLE1BQU0sZUFBZSxDQUFDO0FBQzVFLE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLHVCQUF1QixDQUFDO0FBQzVELE9BQU8sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUNwRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSxxQkFBcUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sOEJBQThCLENBQUM7QUFDNUQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGtDQUFrQyxDQUFDOzs7Ozs7Ozs7OztBQU9uRSxNQUFNLE9BQU8sMEJBQTBCO0lBb0JyQyxZQUNTLGFBQWtDO0lBQ3pDLHNEQUFzRDtJQUNyQyxVQUEyQixFQUMzQixhQUEyQixFQUMzQixnQkFBa0MsRUFDM0MsaUJBQW9DO1FBTHJDLGtCQUFhLEdBQWIsYUFBYSxDQUFxQjtRQUV4QixlQUFVLEdBQVYsVUFBVSxDQUFpQjtRQUMzQixrQkFBYSxHQUFiLGFBQWEsQ0FBYztRQUMzQixxQkFBZ0IsR0FBaEIsZ0JBQWdCLENBQWtCO1FBQzNDLHNC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O1FBQ2hELElBQUksQ0FBQywrQkFBK0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUNsRCxDQUFDOzt1SEFqTVUsMEJBQTBCOzJHQUExQiwwQkFBMEIsOERDYnZDLGdsSEEyRUE7MkZEOURhLDBCQUEwQjtrQkFMdEMsU0FBUzsrQkFDRSx3QkFBd0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBIdHRwQ29tbW9uU2VydmljZSB9IGZyb20gJy4vLi4vLi4vc2VydmljZXMvaHR0cC9odHRwLWNvbW1vbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQsIE9uRGVzdHJveSwgQWZ0ZXJWaWV3SW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBEeW5hbWljRGlhbG9nQ29uZmlnIH0gZnJvbSAncHJpbWVuZy9keW5hbWljZGlhbG9nJztcclxuaW1wb3J0IHsgZmluYWxpemUsIFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcbmltcG9ydCB7IEV2ZW50U2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL2V2ZW50LnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUb2FzdE1zZ1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90b2FzdC1tc2cuc2VydmljZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC12aWV3cGFzc3dvcmQtcG9wdXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi92aWV3cGFzc3dvcmQtcG9wdXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsczogWycuL3ZpZXdwYXNzd29yZC1wb3B1cC5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgVmlld3Bhc3N3b3JkUG9wdXBDb21wb25lbnRcclxuICBpbXBsZW1lbnRzIE9uSW5pdCwgQWZ0ZXJWaWV3SW5pdCwgT25EZXN0cm95XHJcbntcclxuICBwdWJsaWMgbWFpbERldGFpbHM6IGFueTtcclxuICBwcm90ZWN0ZWQgc2VydmljZVBhc3N3b3JkOiBzdHJpbmcgPSAnUGFzc3dvcmQnO1xyXG4gIHB1YmxpYyBzaG93VmF1bHRCdG46IGJvb2xlYW4gPSBmYWxzZTtcclxuICBwdWJsaWMgaXNDb250ZW50TG9hZGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGlzVmFsdWVVcGRhdGVkOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIE9wZW5UaWxsRGF0ZTogc3RyaW5nID0gJyc7XHJcbiAgcHJpdmF0ZSB1bnN1YnNjcmliZUFQSUV2ZW50TGlzdGVuZXJEYXRhOiBTdWJqZWN0PGJvb2xlYW4+ID1cclxuICAgIG5ldyBTdWJqZWN0PGJvb2xlYW4+KCk7XHJcbiAgcHJpdmF0ZSB0b3RhbEVtYWlsczogc3RyaW5nID0gJyc7XHJcbiAgcHJpdmF0ZSBTU0hGaWxlVHlwZTogc3RyaW5nID0gJyc7XHJcbiAgcHJpdmF0ZSBTU0hGaWxlTmFtZTogc3RyaW5nID0gJyc7XHJcbiAgcHVibGljIGlzU1NIS2V5OiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHVibGljIGlzUGFzc3dvcmRWaXNpYmxlID0gdHJ1ZTtcclxuICBwcml2YXRlIFBhc3N3b3JkVmlld1N1Y2Nlc3NNc2c6IHN0cmluZyA9ICcnO1xyXG4gIHByaXZhdGUgU1NIUGFzc3dvcmRWaWV3U3VjY2Vzc01zZzogc3RyaW5nID0gJyc7XHJcbiAgcHJpdmF0ZSBTU0hQYXNzd29yZFZpZXdFcnJvck1zZzogc3RyaW5nID0gJyc7XHJcbiAgcHJpdmF0ZSBzc2hLZXlGb3JEb3dubG9hZDogc3RyaW5nID0gJyc7XHJcbiAgY29uc3RydWN0b3IoXHJcbiAgICBwdWJsaWMgZGlhbG9nU2VydmljZTogRHluYW1pY0RpYWxvZ0NvbmZpZyxcclxuICAgIC8vIHByaXZhdGUgcmVhZG9ubHkgX1JFU1RTZXJ2aWNlOiBSRVNUTXlhY2Nlc3NTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSByZWFkb25seSBtc2dTZXJ2aWNlOiBUb2FzdE1zZ1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIHJlYWRvbmx5IF9ldmVudFNlcnZpY2U6IEV2ZW50U2VydmljZSxcclxuICAgIHByaXZhdGUgcmVhZG9ubHkgdHJhbnNsYXRlU2VydmljZTogVHJhbnNsYXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgaHR0cENvbW1vblNlcnZpY2U6IEh0dHBDb21tb25TZXJ2aWNlLFxyXG4gICkge1xyXG4gICAgdGhpcy5nZXRTZWxlY3RlZEdyaWREYXRhKGRpYWxvZ1NlcnZpY2UuZGF0YSk7IC8vR2V0dGluZyBEYXRhIGZyb20gcG9wdXBcclxuICB9XHJcblxyXG4gIG5nQWZ0ZXJWaWV3SW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuZ2V0VHJhbnNsYXRlQ29udGVudCgpO1xyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKTogdm9pZCB7XHJcbiAgICB0aGlzLmdldEFjY2Vzc1NlcnZpY2VQYXNzd29yZCgpO1xyXG4gICAgLy8gdGhpcy5nZXRDdXJyZW50RW1haWxzQ291bnQoKVxyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZXRTZWxlY3RlZEdyaWREYXRhKGdyaWREYXRhOiBhbnkpIHtcclxuICAgIGlmIChncmlkRGF0YSAmJiBncmlkRGF0YVsncGF5bG9hZCddKSB7XHJcbiAgICAgIHRoaXMubWFpbERldGFpbHMgPSBncmlkRGF0YVsncGF5bG9hZCddO1xyXG4gICAgICB0aGlzLlNTSEZpbGVUeXBlID0gZ3JpZERhdGFbJ1NTSGZpbGVUeXBlJ107XHJcbiAgICAgIHRoaXMuc2hvd1ZhdWx0QnRuID0gZ3JpZERhdGFbJ2J0blN0YXR1cyddO1xyXG4gICAgICB0aGlzLk9wZW5UaWxsRGF0ZSA9IHRoaXMubWFpbERldGFpbHNbJ3Nwdl9PcGVudGlsZGF0ZSddO1xyXG4gICAgICB0aGlzLmlzU1NIS2V5ID0gdGhpcy5tYWlsRGV0YWlsc1snc3Noa2V5X2lzZW5hYmxlZCddO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgLy9NZXRob2Q6IENvbnZlcnQgdGV4dCBvbmUgTGFuZy4gdG8gYW5vdGhlclxyXG4gIHByaXZhdGUgZ2V0VHJhbnNsYXRlQ29udGVudCgpIHtcclxuICAgIHRoaXMudHJhbnNsYXRlU2VydmljZVxyXG4gICAgICAuZ2V0KFtcclxuICAgICAgICAnTXlBY2Nlc3MuUGFzc3dvcmRWaWV3U3VjY2Vzc01zZycsXHJcbiAgICAgICAgJ015QWNjZXNzLlNTSFBhc3N3b3JkVmlld1N1Y2Nlc3NNc2cnLFxyXG4gICAgICAgICdNeUFjY2Vzcy5TU0hQYXNzd29yZFZpZXdFcnJvck1zZycsXHJcbiAgICAgIF0pXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlQVBJRXZlbnRMaXN0ZW5lckRhdGEpKVxyXG4gICAgICAuc3Vic2NyaWJlKCh0cmFucykgPT4ge1xyXG4gICAgICAgIHRoaXMuUGFzc3dvcmRWaWV3U3VjY2Vzc01zZyA9IHRyYW5zWydNeUFjY2Vzcy5QYXNzd29yZFZpZXdTdWNjZXNzTXNnJ107XHJcbiAgICAgICAgdGhpcy5TU0hQYXNzd29yZFZpZXdTdWNjZXNzTXNnID1cclxuICAgICAgICAgIHRyYW5zWydNeUFjY2Vzcy5TU0hQYXNzd29yZFZpZXdTdWNjZXNzTXNnJ107XHJcbiAgICAgICAgdGhpcy5TU0hQYXNzd29yZFZpZXdFcnJvck1zZyA9XHJcbiAgICAgICAgICB0cmFuc1snTXlBY2Nlc3MuU1NIUGFzc3dvcmRWaWV3RXJyb3JNc2cnXTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICAvL01ldGhvZDogR3JhbnRzIGFjY2VzcyB0byB0aGUgVmlldyBwYXNzd29yZCBmb3IgYSBzZXJ2aWNlXHJcbiAgZ2V0QWNjZXNzU2VydmljZVBhc3N3b3JkKCkge1xyXG4gICAgdGhpcy5pc0NvbnRlbnRMb2FkZWQgPSBmYWxzZTtcclxuICAgIGxldCBtYWlsRGV0YWlscyA9IHtcclxuICAgICAgbWFpbGlkOiBTdHJpbmcodGhpcy5tYWlsRGV0YWlsc1snc21pX1NwdklkJ10pLFxyXG4gICAgICAvLyB1c2VyaWQ6IHRoaXMudXNlcklkLFxyXG4gICAgICAvLyB1c2VyU2Vzc2lvbklEOiB0aGlzLnVzZXJTZXNzaW9uSWQsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5odHRwQ29tbW9uU2VydmljZVxyXG4gICAgICAuZ2V0QWNjZXNzVG9WaWV3U2VydmljZVBhc3N3b3JkKG1haWxEZXRhaWxzKVxyXG4gICAgICAucGlwZShcclxuICAgICAgICB0YWtlVW50aWwodGhpcy51bnN1YnNjcmliZUFQSUV2ZW50TGlzdGVuZXJEYXRhKSxcclxuICAgICAgICBmaW5hbGl6ZSgoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmlzQ29udGVudExvYWRlZCA9IHRydWU7XHJcbiAgICAgICAgfSksXHJcbiAgICAgIClcclxuICAgICAgLnN1YnNjcmliZSgocmVzdWx0KSA9PiB7XHJcbiAgICAgICAgdGhpcy5zZXJ2aWNlUGFzc3dvcmQgPSByZXN1bHQ/LnNzaEtleVBhc3NQaHJhc2U7XHJcbiAgICAgICAgdGhpcy5TU0hGaWxlTmFtZSA9IHJlc3VsdD8uc3NoRmlsZU5hbWU7XHJcbiAgICAgICAgdGhpcy5zc2hLZXlGb3JEb3dubG9hZCA9IHJlc3VsdD8uc3NoS2V5O1xyXG4gICAgICAgIHRoaXMuZ2V0Q3VycmVudEVtYWlsc0NvdW50KCk7XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLy9NZXRob2Q6IEhpZGUgcGFzc3dvcmQgb2YgYSBzZXJ2aWNlXHJcbiAgZ2V0SGlkZVNlcnZpY2VQYXNzd29yZCgpIHtcclxuICAgIHRoaXMuaXNWYWx1ZVVwZGF0ZWQgPSB0cnVlO1xyXG4gICAgbGV0IG1haWxEZXRhaWxzID0ge1xyXG4gICAgICBzcHZJZDogU3RyaW5nKHRoaXMubWFpbERldGFpbHNbJ3NtaV9TcHZJZCddKSxcclxuICAgICAgLy8gdXNlcklkOiB0aGlzLnVzZXJJZCxcclxuICAgIH07XHJcbiAgICB0aGlzLmh0dHBDb21tb25TZXJ2aWNlXHJcbiAgICAgIC5nZXRQcm90ZWN0ZWRTZXJ2aWNlQ3JlZGVudGlhbHMobWFpbERldGFpbHMpXHJcbiAgICAgIC5waXBlKFxyXG4gICAgICAgIHRha2VVbnRpbCh0aGlzLnVuc3Vic2NyaWJlQVBJRXZlbnRMaXN0ZW5lckRhdGEpLFxyXG4gICAgICAgIGZpbmFsaXplKCgpID0+IHtcclxuICAgICAgICAgIHRoaXMuaXNWYWx1ZVVwZGF0ZWQgPSBmYWxzZTtcclxuICAgICAgICB9KSxcclxuICAgICAgKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXN1bHQ6IGJvb2xlYW4pID0+IHtcclxuICAgICAgICBpZiAocmVzdWx0KSB7XHJcbiAgICAgICAgICB0aGlzLl9ldmVudFNlcnZpY2UuZW1pdFVzZXJFbWFpbCh7XHJcbiAgICAgICAgICAgIGNvbXBvbmVudDogJ3ZpZXctcHdkJyxcclxuICAgICAgICAgICAgcmVmcmVzaEdyaWQ6IHRydWUsXHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgLypNZXRob2QgOiBHRVRcclxuICBBY3Rpb24gOiBGZXRjaCBVc2VyIE1haWxzIENvdW50ICAqL1xyXG4gIHByaXZhdGUgZ2V0Q3VycmVudEVtYWlsc0NvdW50KCkge1xyXG4gICAgdGhpcy5odHRwQ29tbW9uU2VydmljZVxyXG4gICAgICAuZ2V0VW5yZWFkVXNlckVtYWlsc0NvdW50KClcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMudW5zdWJzY3JpYmVBUElFdmVudExpc3RlbmVyRGF0YSkpXHJcbiAgICAgIC5zdWJzY3JpYmUoKGNvdW50OiBudW1iZXIpID0+IHtcclxuICAgICAgICBpZiAoY291bnQgPD0gMCkge1xyXG4gICAgICAgICAgdGhpcy50b3RhbEVtYWlscyA9ICcnO1xyXG4gICAgICAgIH0gZWxzZSBpZiAoY291bnQgPiA5OSkge1xyXG4gICAgICAgICAgdGhpcy50b3RhbEVtYWlscyA9ICc5OSsnO1xyXG4gICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICB0aGlzLnRvdGFsRW1haWxzID0gU3RyaW5nKGNvdW50KTtcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy51cGRhdGVNYWlsQ291bnQoKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBwdWJsaWMgZ2V0R2VuZXJhdGVGaWxlKCkge1xyXG4gICAgdGhpcy5nZW5lcmF0ZVNTSEtleUZpbGUoKTtcclxuICAgIHRoaXMuZ2V0SGlkZVNlcnZpY2VQYXNzd29yZCgpO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBnZW5lcmF0ZVNTSEtleUZpbGUoKTogdm9pZCB7XHJcbiAgICB0cnkge1xyXG4gICAgICBjb25zdCBibG9iID0gbmV3IEJsb2IoW3RoaXMuc3NoS2V5Rm9yRG93bmxvYWRdLCB7IHR5cGU6ICcnIH0pO1xyXG4gICAgICBjb25zdCB1cmwgPSB3aW5kb3cuVVJMLmNyZWF0ZU9iamVjdFVSTChibG9iKTtcclxuXHJcbiAgICAgIGNvbnN0IGEgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICAgIGEuaHJlZiA9IHVybDtcclxuICAgICAgYS5kb3dubG9hZCA9IGAke3RoaXMuU1NIRmlsZU5hbWV9LiR7dGhpcy5TU0hGaWxlVHlwZX1gO1xyXG4gICAgICBkb2N1bWVudC5ib2R5LmFwcGVuZENoaWxkKGEpO1xyXG4gICAgICBhLmNsaWNrKCk7XHJcbiAgICAgIGRvY3VtZW50LmJvZHkucmVtb3ZlQ2hpbGQoYSk7XHJcblxyXG4gICAgICB3aW5kb3cuVVJMLnJldm9rZU9iamVjdFVSTCh1cmwpO1xyXG4gICAgICB0aGlzLm1zZ1NlcnZpY2Uuc3VjY2Vzcyh0aGlzLlNTSFBhc3N3b3JkVmlld1N1Y2Nlc3NNc2cpO1xyXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcclxuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZ2VuZXJhdGluZyBTU0gga2V5IGZpbGU6JywgZXJyb3IpO1xyXG4gICAgICB0aGlzLm1zZ1NlcnZpY2UuZXJyb3IodGhpcy5TU0hQYXNzd29yZFZpZXdFcnJvck1zZyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBwcml2YXRlIHVwZGF0ZU1haWxDb3VudCgpIHtcclxuICAgIHRoaXMuX2V2ZW50U2VydmljZS5lbWl0VXNlckVtYWlsKHtcclxuICAgICAgY29tcG9uZW50OiAnZW1haWwtY291bnQnLFxyXG4gICAgICBtYWlsQ291bnQ6IHRoaXMudG90YWxFbWFpbHMsXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIGNvcHlUb0NsaXBib2FyZCh0ZXh0OiBzdHJpbmcpOiB2b2lkIHtcclxuICAgIG5hdmlnYXRvci5jbGlwYm9hcmRcclxuICAgICAgLndyaXRlVGV4dCh0ZXh0KVxyXG4gICAgICAudGhlbigoKSA9PiB7XHJcbiAgICAgICAgdGhpcy5tc2dTZXJ2aWNlLnN1Y2Nlc3ModGhpcy5QYXNzd29yZFZpZXdTdWNjZXNzTXNnKTtcclxuICAgICAgfSlcclxuICAgICAgLmNhdGNoKChlcnJvcikgPT4ge1xyXG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGNvcHlpbmcgdGV4dCB0byBjbGlwYm9hcmQ6ICcsIGVycm9yKTtcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICB0b2dnbGVQYXNzd29yZFZpc2liaWxpdHkoKSB7XHJcbiAgICB0aGlzLmlzUGFzc3dvcmRWaXNpYmxlID0gIXRoaXMuaXNQYXNzd29yZFZpc2libGU7XHJcbiAgfVxyXG5cclxuICBzaG93UGFzc3dvcmQoKSB7XHJcbiAgICBpZiAodGhpcy5pc1NTSEtleSAmJiAhdGhpcy5zZXJ2aWNlUGFzc3dvcmQpIHtcclxuICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG4gICAgcmV0dXJuIHRydWU7XHJcbiAgfVxyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIC8vIFVuc3Vic2NyaWJpbmcgQWxsIHRoZSBPYnNlcnZlclxyXG4gICAgdGhpcy51bnN1YnNjcmliZUFQSUV2ZW50TGlzdGVuZXJEYXRhLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLnVuc3Vic2NyaWJlQVBJRXZlbnRMaXN0ZW5lckRhdGEuY29tcGxldGUoKTtcclxuICB9XHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cInZpZXctcGFzcy1kZXRhaWxcIj5cclxuICA8IS0tIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPnt7XCJHZW5lcmljLlBhc3N3b3JkXCIgfCB0cmFuc2xhdGV9fTwvZGl2PiAtLT5cclxuICA8ZGl2IGNsYXNzPVwibXQtNCBwb3NpdGlvbi1yZWxhdGl2ZSBweC00XCI+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaXNDb250ZW50TG9hZGVkOyBlbHNlIExvYWRpbmdBbmltYXRpb25cIj5cclxuXHJcbiAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1NTSEtleVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJ0aXRsZVwiPnt7IG1haWxEZXRhaWxzWydzbWlfTWFpbFN1YmplY3QnXX19PC9kaXY+XHJcbiAgICAgICAgPHAgY2xhc3M9XCJub3RlLXRleHQgbXQtMlwiPnt7J0dlbmVyaWNfbGliLkRvd25sb2FkU1NITm90ZScgfCB0cmFuc2xhdGV9fTwvcD5cclxuICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd1Bhc3N3b3JkKClcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cInBhc3N3b3JkLWNoZWNrYm94LXJpZ2h0XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjaGVja2JveC12aXNpYmlsaXR5LWljb25cIj5cclxuICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cImNoZWNrYm94XCIgKGNsaWNrKT1cInRvZ2dsZVBhc3N3b3JkVmlzaWJpbGl0eSgpXCIgLz5cclxuICAgICAgICAgICAgICA8c3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8aW5wdXQgY2xhc3M9XCJmb3JtLWNvbnRyb2wgdmlldy1wYXNzXCIgW25nQ2xhc3NdPVwiaXNTU0hLZXkgPT09IHRydWUgPyAnc3NoJyA6ICcnXCIgcmVhZG9ubHlcclxuICAgICAgICAgICAgdHlwZT1cInt7IGlzUGFzc3dvcmRWaXNpYmxlID8gJ3Bhc3N3b3JkJyA6ICd0ZXh0JyB9fVwiIFt2YWx1ZV09XCJzZXJ2aWNlUGFzc3dvcmRcIiBwbGFjZWhvbGRlcj1cIlwiXHJcbiAgICAgICAgICAgIGF1dG9jb21wbGV0ZT1cIm9mZlwiIC8+XHJcbiAgICAgICAgICA8YnV0dG9uIChjbGljayk9XCJjb3B5VG9DbGlwYm9hcmQoc2VydmljZVBhc3N3b3JkKVwiIHR5cGU9XCJidXR0b25cIlxyXG4gICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIGNvcHktYnRuXCIgdGl0bGU9XCJDb3B5IFRvIENsaXBib2FyZFwiPlxyXG4gICAgICAgICAgICA8aW1nIHNyYz1cIi4uL2Fzc2V0cy9jb21tb24taGVhZGVyLWxpYi9pbWFnZXMvY29weS1pbWcuc3ZnXCIgYWx0PVwiY29weSBJY29uXCIgY2xhc3M9XCJteC0yXCI+e3tcIkdlbmVyaWNfbGliLkNvcHlcIlxyXG4gICAgICAgICAgICB8IHRyYW5zbGF0ZX19PC9idXR0b24+XHJcbiAgICAgICAgICA8aW1nICpuZ0lmPVwiIWlzU1NIS2V5XCIgc3JjPVwiLi4vYXNzZXRzL2NvbW1vbi1oZWFkZXItbGliL2ltYWdlcy9wYXNzLWltZy5zdmdcIiBhbHQ9XCJJY29uXCJcclxuICAgICAgICAgICAgY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSBteC0yXCI+XHJcbiAgICAgICAgICA8cCAqbmdJZj1cImlzU1NIS2V5XCIgY2xhc3M9XCJwb3NpdGlvbi1hYnNvbHV0ZSBteC0yXCI+e3snR2VuZXJpY19saWIuS2V5UGFzc3BocmFzZScgfCB0cmFuc2xhdGV9fTogPC9wPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICA8L25nLWNvbnRhaW5lcj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPCEtLSBMT0RERVIgIC0tPlxyXG4gIDxuZy10ZW1wbGF0ZSAjTG9hZGluZ0FuaW1hdGlvbj5cclxuICAgIDxkaXYgY2xhc3M9XCJyb3cgdy0xMDBcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNvbC0xMiBcIj5cclxuICAgICAgICA8cC1za2VsZXRvbiBoZWlnaHQ9XCIxLjVyZW1cIiBzdHlsZUNsYXNzPVwibWItMlwiPjwvcC1za2VsZXRvbj5cclxuICAgICAgPC9kaXY+XHJcbiAgICAgIDxkaXYgY2xhc3M9XCJjb2wtMTIgXCI+XHJcbiAgICAgICAgPHAtc2tlbGV0b24gaGVpZ2h0PVwiMS41cmVtXCIgc3R5bGVDbGFzcz1cIm1iLTJcIj48L3Atc2tlbGV0b24+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLTEyIFwiPlxyXG4gICAgICAgIDxwLXNrZWxldG9uIGhlaWdodD1cIjEuNXJlbVwiIHdpZHRoPVwiMzAlXCIgc3R5bGVDbGFzcz1cImZsb2F0LWVuZCBtYi0yXCI+PC9wLXNrZWxldG9uPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG4gIDwvbmctdGVtcGxhdGU+XHJcbiAgPCEtLSAvTE9EREVSICAtLT5cclxuXHJcbiAgPCEtLSBNQUlOLUNPTlRFTlQgIC0tPlxyXG4gIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc0NvbnRlbnRMb2FkZWRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggbXQtMiBteS00IGdhcC0xIHB4LTRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImxhYmVsLXRleHRcIj57e1wiR2VuZXJpY19saWIuUmVtYWluaW5nVGltZVwiIHwgdHJhbnNsYXRlfX0gOiA8L2Rpdj5cclxuICAgICAgPGRpdiBjbGFzcz1cInRpbWUtdGV4dFwiPnt7T3BlblRpbGxEYXRlIHwgZGF0ZURpZmZ9fTwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPCEtLSA8bmctY29udGFpbmVyICpuZ0lmPVwic2hvd1ZhdWx0QnRuXCI+IC0tPlxyXG4gICAgPCEtLSAhIEFNSVQ6IENoZWNrIHNob3dWYXVsdEJ0biBjb25kaXRpb24gLS0+XHJcbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwidHJ1ZVwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiYm9yZGVyLWJvdHRvbVwiPjwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IG10LTQganVzdGlmeS1jb250ZW50LWVuZCBnYXAtMSBtcy1hdXRvIHB4LTQgbWItMlwiPlxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJpc1NTSEtleTsgZWxzZSBkb3dubG9hZGJ0blwiPlxyXG4gICAgICAgICAgPHAtYnV0dG9uIHR5cGU9XCJidXR0b25cIiBsYWJlbD1cInt7J0dlbmVyaWNfbGliLkRvd25sb2FkS2V5JyB8IHRyYW5zbGF0ZX19XCIgW2ljb25Qb3NdPVwiJ3JpZ2h0J1wiXHJcbiAgICAgICAgICAgIFtsb2FkaW5nXT1cImlzVmFsdWVVcGRhdGVkXCIgY2xhc3M9XCJzdWJtaXQtYnRuIHZpZXctYnRuXCIgKGNsaWNrKT1cImdldEdlbmVyYXRlRmlsZSgpXCI+PC9wLWJ1dHRvbj5cclxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICA8bmctdGVtcGxhdGUgI2Rvd25sb2FkYnRuPlxyXG4gICAgICAgICAgPHAtYnV0dG9uIHR5cGU9XCJidXR0b25cIiBsYWJlbD1cInt7J0dlbmVyaWNfbGliLlZhdWx0Q3JlZGVudGlhbHMnIHwgdHJhbnNsYXRlfX1cIiBbaWNvblBvc109XCIncmlnaHQnXCJcclxuICAgICAgICAgICAgW2xvYWRpbmddPVwiaXNWYWx1ZVVwZGF0ZWRcIiBjbGFzcz1cInN1Ym1pdC1idG4gdmlldy1idG5cIiAoY2xpY2spPVwiZ2V0SGlkZVNlcnZpY2VQYXNzd29yZCgpXCI+PC9wLWJ1dHRvbj5cclxuICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICA8L2Rpdj5cclxuICAgIDwvbmctY29udGFpbmVyPlxyXG4gIDwvbmctY29udGFpbmVyPlxyXG4gIDwhLS0gL01BSU4tQ09OVEVOVCAgLS0+XHJcbjwvZGl2PlxyXG4iXX0=
|
|
@@ -0,0 +1,217 @@
|
|
|
1
|
+
export class GlobalConstants {
|
|
2
|
+
}
|
|
3
|
+
GlobalConstants.COOKIEDELETEVENT = 'd';
|
|
4
|
+
GlobalConstants.ALLCOOKIEDELET = '-100';
|
|
5
|
+
GlobalConstants.TimeForEncToken = 30;
|
|
6
|
+
GlobalConstants.AgGridPaginationSize = 50;
|
|
7
|
+
GlobalConstants.reconcileServiceLimit = 100;
|
|
8
|
+
GlobalConstants.applicationName = 'Converged IAM';
|
|
9
|
+
GlobalConstants.publicKey = '';
|
|
10
|
+
GlobalConstants.PAMPluginURL = 'http://localhost:55755/';
|
|
11
|
+
GlobalConstants.APPName = 'workspace';
|
|
12
|
+
GlobalConstants.PlugInDownloadURL = 'https://hfarcon.arconnet.com/helppageui/';
|
|
13
|
+
GlobalConstants.cipluginversion = '';
|
|
14
|
+
GlobalConstants.localInstalledCIPluginVersion = ''; // to store installed CI plugin version
|
|
15
|
+
GlobalConstants.PCI_DSS_Standard = false;
|
|
16
|
+
GlobalConstants.TOKENTIME = 30;
|
|
17
|
+
GlobalConstants.LOGOUTIMER = 60;
|
|
18
|
+
GlobalConstants.PAGEROW = 10;
|
|
19
|
+
GlobalConstants.CONFIGCONNECTORS = false;
|
|
20
|
+
GlobalConstants.USERLANGUAGES = [
|
|
21
|
+
{ langKey: 'en', langName: 'English' },
|
|
22
|
+
{ langKey: 'ar', langName: 'العربية' },
|
|
23
|
+
{ langKey: 'es', langName: 'Español' },
|
|
24
|
+
{ langKey: 'hi', langName: 'हिन्दी' },
|
|
25
|
+
{ langKey: 'ja', langName: '日本' },
|
|
26
|
+
{ langKey: 'fr', langName: 'Français' },
|
|
27
|
+
{ langKey: 'de', langName: 'Deutsch' },
|
|
28
|
+
{ langKey: 'ko', langName: '한국인' },
|
|
29
|
+
];
|
|
30
|
+
GlobalConstants.DEFAULTLANG = { langKey: 'en', langName: 'English' };
|
|
31
|
+
GlobalConstants.DEFAULTLANGKEY = 'en';
|
|
32
|
+
GlobalConstants.DEFAULT_IMGPATH = 'assets/images/';
|
|
33
|
+
GlobalConstants.DEFAULT_BGIMG = `${GlobalConstants.DEFAULT_IMGPATH}login-bg/default_bg.svg`;
|
|
34
|
+
GlobalConstants.DEFAULT_LOGO = `${GlobalConstants.DEFAULT_IMGPATH}default_logo.svg`;
|
|
35
|
+
GlobalConstants.IMG_CODE = 'data:image/png;base64,';
|
|
36
|
+
GlobalConstants.DYNAMIC_LOGO = '';
|
|
37
|
+
GlobalConstants.DYNAMIC_BGIMG = '';
|
|
38
|
+
GlobalConstants.APP_VERSION = '';
|
|
39
|
+
export class LoggedInUserInfo {
|
|
40
|
+
static setPrivateKeyFromBigInts(arr) {
|
|
41
|
+
this.privateKey = arr.map((b) => b.toString()).join(',');
|
|
42
|
+
}
|
|
43
|
+
}
|
|
44
|
+
LoggedInUserInfo.domainName = null;
|
|
45
|
+
LoggedInUserInfo.domainId = 0;
|
|
46
|
+
export class RoutePaths {
|
|
47
|
+
}
|
|
48
|
+
RoutePaths.LOGINPG_PATH = 'login';
|
|
49
|
+
RoutePaths.WINDOW_AUTH = 'domainauth';
|
|
50
|
+
RoutePaths.OTHER_METHODS_PATH = 'othermethods';
|
|
51
|
+
RoutePaths.MY_ACCESS_PATH = 'my-access';
|
|
52
|
+
RoutePaths.FORGOT_PASSWORD_PATH = 'forgotpassword';
|
|
53
|
+
RoutePaths.AUTH_STATUS_PATH = 'auth-status';
|
|
54
|
+
RoutePaths.LOGOUT_PATH = 'logout';
|
|
55
|
+
RoutePaths.PAGE_NOT_FOUND_PATH = 'page-not-found';
|
|
56
|
+
RoutePaths.INTERNAL_SERVER_ERROR_PATH = 'internal-server-error';
|
|
57
|
+
RoutePaths.ERROR_PATH = 'error';
|
|
58
|
+
RoutePaths.AUTH_LOADING = 'session-verify';
|
|
59
|
+
export class errorMsg {
|
|
60
|
+
}
|
|
61
|
+
errorMsg.NOASSET = `No assets have been assigned to the user in the selected LOB. Please select a different LOB.`;
|
|
62
|
+
errorMsg.NORECENTASSET = `No recently accessed Asset found.`;
|
|
63
|
+
errorMsg.NOSEARCHRESULT = `We couldn't find any service matching your search within the chosen LOB. Try refining your keywords or choosing a different LOB for better results'`;
|
|
64
|
+
errorMsg.NOMAILFOUND = `We couldn't find any mails assigned to you`;
|
|
65
|
+
errorMsg.SERVERDOWN = `Something Went Wrong, Please Try Again later`;
|
|
66
|
+
errorMsg.NOCIPLUGIN = `Install the CI Plugin or Contact Administrator`;
|
|
67
|
+
errorMsg.CIPLUGINVERSIONISSUE = `Kindly Install latest version of CI Plugin`;
|
|
68
|
+
errorMsg.ADMINMSG = `Kindly Contact Administrator`;
|
|
69
|
+
errorMsg.PLUGINMSG = `Kindly check below link for downloadables.`;
|
|
70
|
+
errorMsg.PAMPLUGINBTN = `Install the CI Plugin or Contact Administrator`;
|
|
71
|
+
errorMsg.USERNOTFOUND = `Invalid User Details`;
|
|
72
|
+
errorMsg.TIMEZONESUCCESS = `Time Zone Updated SuccessFully`;
|
|
73
|
+
errorMsg.TIMEZONERROR = `Time Zone Updated Couldn't Update`;
|
|
74
|
+
errorMsg.LOGOUTERROR = 'Logout Attempt Failed';
|
|
75
|
+
errorMsg.ASSETSTATUS = 'Asset Under Maintenance';
|
|
76
|
+
errorMsg.REFERENCEPOPUPTITLE = 'Reference Case ID for Accessing Asset';
|
|
77
|
+
errorMsg.DICREDENTIALINFO = 'Digital Identity Credentials Updated Successfully';
|
|
78
|
+
errorMsg.DICREDENTIALERROR = "Digital Identity Credentials Couldn't updated";
|
|
79
|
+
errorMsg.PATHSUCCESS = 'Preference Path Updated SuccessFully';
|
|
80
|
+
errorMsg.PATHERROR = "Preference Path Couldn't Update";
|
|
81
|
+
errorMsg.USERCREDENIALERROR = 'Configure Credentials';
|
|
82
|
+
errorMsg.CREDENIALERROR = 'Kindly Configure Credentials';
|
|
83
|
+
errorMsg.ADMINCREDENIALERROR = 'The credentials have yet to be configured by the Admin';
|
|
84
|
+
errorMsg.COMMONError = 'Something Went Wrong !';
|
|
85
|
+
errorMsg.NODIGITALIDENTITES = 'There are no digital identities assigned. Kindly contact administrator.';
|
|
86
|
+
errorMsg.SEARCHTEXT = 'Search Results';
|
|
87
|
+
errorMsg.MFACONFIGUREERROR = 'MFA is not configured for the user, Please contact the system administrator';
|
|
88
|
+
errorMsg.SESSIONIDERROR = 'Session Service ID not found';
|
|
89
|
+
errorMsg.CHROMEEXTENSIONERROR = 'Kindly Install the CI Extension or Contact Administrator';
|
|
90
|
+
errorMsg.WINDOW_DOMAIN_LOGINERR = 'Please wait, Domain Authentication is in progress for your login';
|
|
91
|
+
errorMsg.LANDINGPGSUCCESS = `Landing Page Configured SuccessFully`;
|
|
92
|
+
errorMsg.LANDINGPGERROR = `Landing Page Configuration Couldn't Update`;
|
|
93
|
+
errorMsg.SCRIPTERROR = `Unexpected Script Detected`;
|
|
94
|
+
export class COOKIECONSTANT {
|
|
95
|
+
}
|
|
96
|
+
COOKIECONSTANT.LOBNAME = 'lobdata';
|
|
97
|
+
COOKIECONSTANT.DOMAINAME = 'domainname';
|
|
98
|
+
COOKIECONSTANT.DOMAINID = 'domainid';
|
|
99
|
+
COOKIECONSTANT.USERDETAILS = 'UserDetail';
|
|
100
|
+
COOKIECONSTANT.SESSIONID = 'userSessionId';
|
|
101
|
+
COOKIECONSTANT.USERNAME = 'username';
|
|
102
|
+
COOKIECONSTANT.USERID = 'userId';
|
|
103
|
+
COOKIECONSTANT._AT = '_AT';
|
|
104
|
+
COOKIECONSTANT._RT = '_RT';
|
|
105
|
+
COOKIECONSTANT.USERDISPLAYNAME = 'userDisplayName';
|
|
106
|
+
COOKIECONSTANT.ENCRYPTEDKEY = 'EncryptedKey';
|
|
107
|
+
COOKIECONSTANT.MFASTATUS = 'MFAStatus';
|
|
108
|
+
COOKIECONSTANT.EVENTNAME = 'Event';
|
|
109
|
+
COOKIECONSTANT.MACHINEDETAILS = 'machinedetails';
|
|
110
|
+
COOKIECONSTANT.COOKIEDELETEVENT = 'd';
|
|
111
|
+
COOKIECONSTANT.COOKIECREATEEVENT = 'c';
|
|
112
|
+
COOKIECONSTANT.COOKIEUPDATEEVENT = 'c';
|
|
113
|
+
COOKIECONSTANT.ALLCOOKIEDELET = '-100';
|
|
114
|
+
COOKIECONSTANT.NEWUSER = '003-NU-GEC';
|
|
115
|
+
COOKIECONSTANT.UNLOCKACC = 'Unlock';
|
|
116
|
+
COOKIECONSTANT.ERRORCODE = '001-SAC-GEC';
|
|
117
|
+
COOKIECONSTANT.PUBLICCODE = '001-PUB-GEC';
|
|
118
|
+
COOKIECONSTANT.USERLANG = 'lang';
|
|
119
|
+
COOKIECONSTANT.MFATIMEOUT = 180000; //3 mins
|
|
120
|
+
COOKIECONSTANT.MFASTATUSCHECK = '_ssmf';
|
|
121
|
+
COOKIECONSTANT.MFASTATUSCHECKFAIL = '_ssmff';
|
|
122
|
+
COOKIECONSTANT.MFACLI = '_SSIDMFACLI';
|
|
123
|
+
COOKIECONSTANT.WINDOWAUTH_HEADER = 'Authentication-Window';
|
|
124
|
+
COOKIECONSTANT.SIGNALR_INDEX = '002-SR-NO';
|
|
125
|
+
COOKIECONSTANT.ONETIME_TOKEN = 'state';
|
|
126
|
+
COOKIECONSTANT.THICKCLIENT_KEY = 'APP_VER';
|
|
127
|
+
export const EXCLUDED_URLS = [
|
|
128
|
+
'http://localhost:55755/',
|
|
129
|
+
'workflow/api/Workflow/Workflow/GetWorkFlowTicketCount',
|
|
130
|
+
'workflow/api/Workflow/Workflow/GetWorkFlowTicketCountEventWise',
|
|
131
|
+
'xaccess/api/SecureAccess/GetBackgroundImage',
|
|
132
|
+
'xaccess/api/SecureAccess/UpdateLogoutTimer',
|
|
133
|
+
];
|
|
134
|
+
export class MFAEvent {
|
|
135
|
+
}
|
|
136
|
+
MFAEvent.ForgotPwd = 1;
|
|
137
|
+
MFAEvent.unlockAcc = 2;
|
|
138
|
+
MFAEvent.Login = 3;
|
|
139
|
+
export class BrowserName {
|
|
140
|
+
}
|
|
141
|
+
BrowserName.Chrome = 'Chrome';
|
|
142
|
+
BrowserName.Firefox = 'Firefox';
|
|
143
|
+
BrowserName.Edge = 'Edge';
|
|
144
|
+
BrowserName.Safari = 'Safari';
|
|
145
|
+
BrowserName.Opera = 'Opera';
|
|
146
|
+
BrowserName.InterNetExp = 'Internet Explorer';
|
|
147
|
+
// GetLocalIPAddress
|
|
148
|
+
// GetLocalMACAddress
|
|
149
|
+
// GetProcessorID
|
|
150
|
+
// GetBIOSSerialID
|
|
151
|
+
// GetDomainName
|
|
152
|
+
// GetPAMPluginInstalledVersion
|
|
153
|
+
//GetLocalHostName
|
|
154
|
+
export class PAMParameter {
|
|
155
|
+
constructor() {
|
|
156
|
+
this.ipAddress = '';
|
|
157
|
+
this.macAddress = '';
|
|
158
|
+
this.processorID = '';
|
|
159
|
+
this.bIOSSerialID = '';
|
|
160
|
+
this.domainName = '';
|
|
161
|
+
this.hostname = '';
|
|
162
|
+
this.pAMPluginInstalledVersion = '';
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
// "Status : for user status
|
|
166
|
+
// Active = 0,
|
|
167
|
+
// NewUserCreated = 1,
|
|
168
|
+
// ResetbyAdmin = 2,
|
|
169
|
+
// LockedOut = 5,
|
|
170
|
+
// Dormant = 4,
|
|
171
|
+
// Disabled = 3
|
|
172
|
+
// Suspended = 6,
|
|
173
|
+
// Sabbatical = 7 ,
|
|
174
|
+
// ACMO CLI Priviledge not assigned=9"
|
|
175
|
+
// export const loginStatusMsg = {
|
|
176
|
+
// 0: {
|
|
177
|
+
// status: 'Active',
|
|
178
|
+
// msg: 'Successfull login',
|
|
179
|
+
// },
|
|
180
|
+
// 1: {
|
|
181
|
+
// status: 'NewUserCreated',
|
|
182
|
+
// msg: 'New Created User',
|
|
183
|
+
// },
|
|
184
|
+
// 2: {
|
|
185
|
+
// status: 'ResetbyAdmin',
|
|
186
|
+
// msg: 'Password Is Reset By Admin',
|
|
187
|
+
// },
|
|
188
|
+
// 3: {
|
|
189
|
+
// status: 'Disabled',
|
|
190
|
+
// msg: 'User is Disabled',
|
|
191
|
+
// },
|
|
192
|
+
// 4: {
|
|
193
|
+
// status: 'Dormant',
|
|
194
|
+
// msg: 'User is Dormant',
|
|
195
|
+
// },
|
|
196
|
+
// 5: {
|
|
197
|
+
// status: 'LockedOut',
|
|
198
|
+
// msg: 'User is Locked Out',
|
|
199
|
+
// },
|
|
200
|
+
// 6: {
|
|
201
|
+
// status: 'Suspended',
|
|
202
|
+
// msg: 'User is Suspended',
|
|
203
|
+
// },
|
|
204
|
+
// 7: {
|
|
205
|
+
// status: 'Sabbatical',
|
|
206
|
+
// msg: 'User is Sabbatical',
|
|
207
|
+
// },
|
|
208
|
+
// 9: {
|
|
209
|
+
// status: 'ACMO CLI Priviledge not assigned',
|
|
210
|
+
// msg: '',
|
|
211
|
+
// },
|
|
212
|
+
// 11: {
|
|
213
|
+
// status: 'Invalid User',
|
|
214
|
+
// msg: 'Invalid User Name OR Password',
|
|
215
|
+
// },
|
|
216
|
+
// };
|
|
217
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YV9tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2NvbW1vbi1oZWFkZXItbGliL3NyYy9saWIvbW9kZWwvZGF0YV9tb2RlbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLE9BQU8sZUFBZTs7QUFFSCxnQ0FBZ0IsR0FBVyxHQUFHLENBQUM7QUFDL0IsOEJBQWMsR0FBVyxNQUFNLENBQUM7QUFFekMsK0JBQWUsR0FBVyxFQUFFLENBQUM7QUFFN0Isb0NBQW9CLEdBQVcsRUFBRSxDQUFDO0FBRWxDLHFDQUFxQixHQUFXLEdBQUcsQ0FBQztBQVdwQywrQkFBZSxHQUFXLGVBQWUsQ0FBQztBQUMxQyx5QkFBUyxHQUFXLEVBQUUsQ0FBQztBQUl2Qiw0QkFBWSxHQUFXLHlCQUF5QixDQUFDO0FBQ2pELHVCQUFPLEdBQVcsV0FBVyxDQUFDO0FBSTlCLGlDQUFpQixHQUM3QiwwQ0FBMEMsQ0FBQztBQUMvQiwrQkFBZSxHQUFXLEVBQUUsQ0FBQztBQUM3Qiw2Q0FBNkIsR0FBVyxFQUFFLENBQUMsQ0FBQyx1Q0FBdUM7QUFFbkYsZ0NBQWdCLEdBQVksS0FBSyxDQUFDO0FBR2xDLHlCQUFTLEdBQVcsRUFBRSxDQUFDO0FBQ3ZCLDBCQUFVLEdBQVcsRUFBRSxDQUFDO0FBQ3hCLHVCQUFPLEdBQVcsRUFBRSxDQUFDO0FBQ3JCLGdDQUFnQixHQUFZLEtBQUssQ0FBQztBQUNsQyw2QkFBYSxHQUFHO0lBQzVCLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFO0lBQ3RDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFO0lBQ3RDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsU0FBUyxFQUFFO0lBQ3RDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxRQUFRLEVBQUUsUUFBUSxFQUFFO0lBQ3JDLEVBQUUsT0FBTyxF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QixlQUFVLEdBQVcsRUFBRSxDQUFDO1FBQ3hCLGFBQVEsR0FBVyxFQUFFLENBQUM7UUFDdEIsOEJBQXlCLEdBQVcsRUFBRSxDQUFDO0lBQ3pDLENBQUM7Q0FBQTtBQWFELDZCQUE2QjtBQUM3QixlQUFlO0FBQ2YsdUJBQXVCO0FBQ3ZCLHFCQUFxQjtBQUNyQixrQkFBa0I7QUFDbEIsZ0JBQWdCO0FBQ2hCLGdCQUFnQjtBQUNoQixrQkFBa0I7QUFDbEIsb0JBQW9CO0FBQ3BCLHVDQUF1QztBQUV2QyxrQ0FBa0M7QUFDbEMsU0FBUztBQUNULHdCQUF3QjtBQUN4QixnQ0FBZ0M7QUFDaEMsT0FBTztBQUNQLFNBQVM7QUFDVCxnQ0FBZ0M7QUFDaEMsK0JBQStCO0FBQy9CLE9BQU87QUFDUCxTQUFTO0FBQ1QsOEJBQThCO0FBQzlCLHlDQUF5QztBQUN6QyxPQUFPO0FBQ1AsU0FBUztBQUNULDBCQUEwQjtBQUMxQiwrQkFBK0I7QUFDL0IsT0FBTztBQUNQLFNBQVM7QUFDVCx5QkFBeUI7QUFDekIsOEJBQThCO0FBQzlCLE9BQU87QUFDUCxTQUFTO0FBQ1QsMkJBQTJCO0FBQzNCLGlDQUFpQztBQUNqQyxPQUFPO0FBQ1AsU0FBUztBQUNULDJCQUEyQjtBQUMzQixnQ0FBZ0M7QUFDaEMsT0FBTztBQUNQLFNBQVM7QUFDVCw0QkFBNEI7QUFDNUIsaUNBQWlDO0FBQ2pDLE9BQU87QUFDUCxTQUFTO0FBQ1Qsa0RBQWtEO0FBQ2xELGVBQWU7QUFDZixPQUFPO0FBQ1AsVUFBVTtBQUNWLDhCQUE4QjtBQUM5Qiw0Q0FBNEM7QUFDNUMsT0FBTztBQUNQLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgY2xhc3MgR2xvYmFsQ29uc3RhbnRzIHtcclxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IGxvZ2dlZEluVXNlck5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IENPT0tJRURFTEVURVZFTlQ6IHN0cmluZyA9ICdkJztcclxuICBwdWJsaWMgc3RhdGljIHJlYWRvbmx5IEFMTENPT0tJRURFTEVUOiBzdHJpbmcgPSAnLTEwMCc7XHJcbiAgcHVibGljIHN0YXRpYyB0b2tlbjogc3RyaW5nO1xyXG4gIHB1YmxpYyBzdGF0aWMgVGltZUZvckVuY1Rva2VuOiBudW1iZXIgPSAzMDtcclxuICBwdWJsaWMgc3RhdGljIEVycm9yQ29kZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBzdGF0aWMgQWdHcmlkUGFnaW5hdGlvblNpemU6IG51bWJlciA9IDUwO1xyXG4gIHB1YmxpYyBzdGF0aWMgVmVyc2lvbjogc3RyaW5nO1xyXG4gIHB1YmxpYyBzdGF0aWMgcmVjb25jaWxlU2VydmljZUxpbWl0OiBudW1iZXIgPSAxMDA7XHJcblxyXG4gIHB1YmxpYyBzdGF0aWMgYmFzZVVSTDogc3RyaW5nO1xyXG4gIHB1YmxpYyBzdGF0aWMgc3NvVVJMOiBzdHJpbmc7XHJcbiAgcHVibGljIHN0YXRpYyB3b3JrZmxvd1VSTDogc3RyaW5nO1xyXG4gIHB1YmxpYyBzdGF0aWMgc2lnbmFsUlVSTDogc3RyaW5nO1xyXG4gIHB1YmxpYyBzdGF0aWMgYWNjZXNzVG9rZW46IHN0cmluZztcclxuICBwdWJsaWMgc3RhdGljIGF1dGhUb2tlbjogc3RyaW5nO1xyXG4gIHB1YmxpYyBzdGF0aWMgcmVmcmVzaFRva2VuOiBzdHJpbmc7XHJcbiAgcHVibGljIHN0YXRpYyBFUlJDT0RFOiBzdHJpbmc7XHJcbiAgcHVibGljIHN0YXRpYyBsb2dnZWRJblVzZXJJZDogbnVtYmVyO1xyXG4gIHB1YmxpYyBzdGF0aWMgYXBwbGljYXRpb25OYW1lOiBzdHJpbmcgPSAnQ29udmVyZ2VkIElBTSc7XHJcbiAgcHVibGljIHN0YXRpYyBwdWJsaWNLZXk6IHN0cmluZyA9ICcnO1xyXG4gIHB1YmxpYyBzdGF0aWMgVG9rZW5VUkw6IHN0cmluZztcclxuICBwdWJsaWMgc3RhdGljIHRva2VuRXhwaXJlZDogbnVtYmVyO1xyXG4gIHB1YmxpYyBzdGF0aWMgdmFsaWRVbnRpbDogc3RyaW5nO1xyXG4gIHB1YmxpYyBzdGF0aWMgUEFNUGx1Z2luVVJMOiBzdHJpbmcgPSAnaHR0cDovL2xvY2FsaG9zdDo1NTc1NS8nO1xyXG4gIHB1YmxpYyBzdGF0aWMgQVBQTmFtZTogc3RyaW5nID0gJ3dvcmtzcGFjZSc7XHJcbiAgcHVibGljIHN0YXRpYyBNRkFVUkw6IHN0cmluZztcclxuICBwdWJsaWMgc3RhdGljIE1GQV9BQ0NFU1NUT0tFTjogc3RyaW5nO1xyXG4gIHB1YmxpYyBzdGF0aWMgaXNQQU1QbHVnaW5JbnN0YWxsZWQ6IHN0cmluZztcclxuICBwdWJsaWMgc3RhdGljIFBsdWdJbkRvd25sb2FkVVJMOiBzdHJpbmcgPVxyXG4gICAgJ2h0dHBzOi8vaGZhcmNvbi5hcmNvbm5ldC5jb20vaGVscHBhZ2V1aS8nO1xyXG4gIHB1YmxpYyBzdGF0aWMgY2lwbHVnaW52ZXJzaW9uOiBzdHJpbmcgPSAnJztcclxuICBwdWJsaWMgc3RhdGljIGxvY2FsSW5zdGFsbGVkQ0lQbHVnaW5WZXJzaW9uOiBzdHJpbmcgPSAnJzsgLy8gdG8gc3RvcmUgaW5zdGFsbGVkIENJIHBsdWdpbiB2ZXJzaW9uXHJcbiAgcHVibGljIHN0YXRpYyBpc1BBTVBsdWdpblJlcXVpcmVkOiBib29sZWFuO1xyXG4gIHB1YmxpYyBzdGF0aWMgUENJX0RTU19TdGFuZGFyZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzdGF0aWMgTUZBRW5hYmxlOiBib29sZWFuO1xyXG4gIHB1YmxpYyBzdGF0aWMgc2V0Q29va2llczogYm9vbGVhbjtcclxuICBwdWJsaWMgc3RhdGljIFRPS0VOVElNRTogbnVtYmVyID0gMzA7XHJcbiAgcHVibGljIHN0YXRpYyBMT0dPVVRJTUVSOiBudW1iZXIgPSA2MDtcclxuICBwdWJsaWMgc3RhdGljIFBBR0VST1c6IG51bWJlciA9IDEwO1xyXG4gIHB1YmxpYyBzdGF0aWMgQ09ORklHQ09OTkVDVE9SUzogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIHB1YmxpYyBzdGF0aWMgVVNFUkxBTkdVQUdFUyA9IFtcclxuICAgIHsgbGFuZ0tleTogJ2VuJywgbGFuZ05hbWU6ICdFbmdsaXNoJyB9LFxyXG4gICAgeyBsYW5nS2V5OiAnYXInLCBsYW5nTmFtZTogJ9in2YTYudix2KjZitipJyB9LFxyXG4gICAgeyBsYW5nS2V5OiAnZXMnLCBsYW5nTmFtZTogJ0VzcGHDsW9sJyB9LFxyXG4gICAgeyBsYW5nS2V5OiAnaGknLCBsYW5nTmFtZTogJ+CkueCkv+CkqOCljeCkpuClgCcgfSxcclxuICAgIHsgbGFuZ0tleTogJ2phJywgbGFuZ05hbWU6ICfml6XmnKwnIH0sXHJcbiAgICB7IGxhbmdLZXk6ICdmcicsIGxhbmdOYW1lOiAnRnJhbsOnYWlzJyB9LFxyXG4gICAgeyBsYW5nS2V5OiAnZGUnLCBsYW5nTmFtZTogJ0RldXRzY2gnIH0sXHJcbiAgICB7IGxhbmdLZXk6ICdrbycsIGxhbmdOYW1lOiAn7ZWc6rWt7J24JyB9LFxyXG4gIF07XHJcbiAgcHVibGljIHN0YXRpYyBERUZBVUxUTEFORyA9IHsgbGFuZ0tleTogJ2VuJywgbGFuZ05hbWU6ICdFbmdsaXNoJyB9O1xyXG4gIHB1YmxpYyBzdGF0aWMgREVGQVVMVExBTkdLRVk6IHN0cmluZyA9ICdlbic7XHJcbiAgcHVibGljIHN0YXRpYyBERUZBVUxUX0lNR1BBVEg6IHN0cmluZyA9ICdhc3NldHMvaW1hZ2VzLyc7XHJcbiAgcHVibGljIHN0YXRpYyBERUZBVUxUX0JHSU1HOiBzdHJpbmcgPSBgJHtHbG9iYWxDb25zdGFudHMuREVGQVVMVF9JTUdQQVRIfWxvZ2luLWJnL2RlZmF1bHRfYmcuc3ZnYDtcclxuICBwdWJsaWMgc3RhdGljIERFRkFVTFRfTE9HTzogc3RyaW5nID0gYCR7R2xvYmFsQ29uc3RhbnRzLkRFRkFVTFRfSU1HUEFUSH1kZWZhdWx0X2xvZ28uc3ZnYDtcclxuICBwdWJsaWMgc3RhdGljIElNR19DT0RFOiBzdHJpbmcgPSAnZGF0YTppbWFnZS9wbmc7YmFzZTY0LCc7XHJcbiAgcHVibGljIHN0YXRpYyBEWU5BTUlDX0xPR086IHN0cmluZyA9ICcnO1xyXG4gIHB1YmxpYyBzdGF0aWMgRFlOQU1JQ19CR0lNRzogc3RyaW5nID0gJyc7XHJcbiAgcHVibGljIHN0YXRpYyBBUFBfVkVSU0lPTjogc3RyaW5nID0gJyc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBMb2dnZWRJblVzZXJJbmZvIHtcclxuICBwdWJsaWMgc3RhdGljIHVzZXJJZDogbnVtYmVyO1xyXG4gIHB1YmxpYyBzdGF0aWMgdXNlck5hbWU6IHN0cmluZztcclxuICBwdWJsaWMgc3RhdGljIHVzZXJEaXNwbGF5TmFtZTogc3RyaW5nO1xyXG4gIHB1YmxpYyBzdGF0aWMgZG9tYWluTmFtZTogc3RyaW5nIHwgbnVsbCA9IG51bGw7XHJcbiAgcHVibGljIHN0YXRpYyB1c2VyU2Vzc2lvbklkOiBzdHJpbmc7XHJcbiAgcHVibGljIHN0YXRpYyBkb21haW5JZDogbnVtYmVyID0gMDtcclxuICBwdWJsaWMgc3RhdGljIE1hY2hpbmVEZXRhaWxzOiBzdHJpbmc7XHJcbiAgcHVibGljIHN0YXRpYyB1c2VyUHdkOiBzdHJpbmc7XHJcbiAgcHVibGljIHN0YXRpYyBwcml2YXRlS2V5OiBzdHJpbmc7XHJcbiAgcHVibGljIHN0YXRpYyBTZXNzaW9uVG9rZW46IHN0cmluZztcclxuXHJcbiAgcHVibGljIHN0YXRpYyBzZXRQcml2YXRlS2V5RnJvbUJpZ0ludHMoYXJyOiBiaWdpbnRbXSkge1xyXG4gICAgdGhpcy5wcml2YXRlS2V5ID0gYXJyLm1hcCgoYikgPT4gYi50b1N0cmluZygpKS5qb2luKCcsJyk7XHJcbiAgfVxyXG4gIC8vIHB1YmxpYyBzdGF0aWMgc2V0UHJpdmF0ZUtleUZyb21CaWdJbnRzKGFycjogc3RyaW5nW10pIHtcclxuICAvLyAgIC8vIGFycmF5IG9mIHN0cmluZyByZXByZXNlbnRhdGlvbnMgb2YgYmlnaW50c1xyXG4gIC8vICAgdGhpcy5wcml2YXRlS2V5ID0gYXJyLmpvaW4oJywnKTtcclxuICAvLyB9XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBSb3V0ZVBhdGhzIHtcclxuICBzdGF0aWMgTE9HSU5QR19QQVRIID0gJ2xvZ2luJztcclxuICBzdGF0aWMgV0lORE9XX0FVVEggPSAnZG9tYWluYXV0aCc7XHJcbiAgc3RhdGljIE9USEVSX01FVEhPRFNfUEFUSCA9ICdvdGhlcm1ldGhvZHMnO1xyXG4gIHN0YXRpYyBNWV9BQ0NFU1NfUEFUSCA9ICdteS1hY2Nlc3MnO1xyXG4gIHN0YXRpYyBGT1JHT1RfUEFTU1dPUkRfUEFUSCA9ICdmb3Jnb3RwYXNzd29yZCc7XHJcbiAgc3RhdGljIEFVVEhfU1RBVFVTX1BBVEggPSAnYXV0aC1zdGF0dXMnO1xyXG4gIHN0YXRpYyBMT0dPVVRfUEFUSCA9ICdsb2dvdXQnO1xyXG4gIHN0YXRpYyBQQUdFX05PVF9GT1VORF9QQVRIID0gJ3BhZ2Utbm90LWZvdW5kJztcclxuICBzdGF0aWMgSU5URVJOQUxfU0VSVkVSX0VSUk9SX1BBVEggPSAnaW50ZXJuYWwtc2VydmVyLWVycm9yJztcclxuICBzdGF0aWMgRVJST1JfUEFUSCA9ICdlcnJvcic7XHJcbiAgc3RhdGljIEFVVEhfTE9BRElORyA9ICdzZXNzaW9uLXZlcmlmeSc7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBlcnJvck1zZyB7XHJcbiAgcHVibGljIHN0YXRpYyBOT0FTU0VUID0gYE5vIGFzc2V0cyBoYXZlIGJlZW4gYXNzaWduZWQgdG8gdGhlIHVzZXIgaW4gdGhlIHNlbGVjdGVkIExPQi4gUGxlYXNlIHNlbGVjdCBhIGRpZmZlcmVudCBMT0IuYDtcclxuICBwdWJsaWMgc3RhdGljIE5PUkVDRU5UQVNTRVQgPSBgTm8gcmVjZW50bHkgYWNjZXNzZWQgQXNzZXQgZm91bmQuYDtcclxuICBwdWJsaWMgc3RhdGljIE5PU0VBUkNIUkVTVUxUID0gYFdlIGNvdWxkbid0IGZpbmQgYW55IHNlcnZpY2UgbWF0Y2hpbmcgeW91ciBzZWFyY2ggd2l0aGluIHRoZSBjaG9zZW4gTE9CLiBUcnkgcmVmaW5pbmcgeW91ciBrZXl3b3JkcyBvciBjaG9vc2luZyBhIGRpZmZlcmVudCBMT0IgZm9yIGJldHRlciByZXN1bHRzJ2A7XHJcbiAgcHVibGljIHN0YXRpYyBOT01BSUxGT1VORCA9IGBXZSBjb3VsZG4ndCBmaW5kIGFueSBtYWlscyBhc3NpZ25lZCB0byB5b3VgO1xyXG4gIHB1YmxpYyBzdGF0aWMgU0VSVkVSRE9XTiA9IGBTb21ldGhpbmcgV2VudCBXcm9uZywgUGxlYXNlIFRyeSBBZ2FpbiBsYXRlcmA7XHJcbiAgcHVibGljIHN0YXRpYyBOT0NJUExVR0lOID0gYEluc3RhbGwgdGhlIENJIFBsdWdpbiBvciBDb250YWN0IEFkbWluaXN0cmF0b3JgO1xyXG4gIHB1YmxpYyBzdGF0aWMgQ0lQTFVHSU5WRVJTSU9OSVNTVUUgPSBgS2luZGx5IEluc3RhbGwgbGF0ZXN0IHZlcnNpb24gb2YgQ0kgUGx1Z2luYDtcclxuICBwdWJsaWMgc3RhdGljIEFETUlOTVNHID0gYEtpbmRseSBDb250YWN0IEFkbWluaXN0cmF0b3JgO1xyXG4gIHB1YmxpYyBzdGF0aWMgUExVR0lOTVNHID0gYEtpbmRseSBjaGVjayBiZWxvdyBsaW5rIGZvciBkb3dubG9hZGFibGVzLmA7XHJcbiAgcHVibGljIHN0YXRpYyBQQU1QTFVHSU5CVE4gPSBgSW5zdGFsbCB0aGUgQ0kgUGx1Z2luIG9yIENvbnRhY3QgQWRtaW5pc3RyYXRvcmA7XHJcbiAgcHVibGljIHN0YXRpYyBVU0VSTk9URk9VTkQgPSBgSW52YWxpZCBVc2VyIERldGFpbHNgO1xyXG4gIHB1YmxpYyBzdGF0aWMgVElNRVpPTkVTVUNDRVNTID0gYFRpbWUgWm9uZSBVcGRhdGVkIFN1Y2Nlc3NGdWxseWA7XHJcbiAgcHVibGljIHN0YXRpYyBUSU1FWk9ORVJST1IgPSBgVGltZSBab25lIFVwZGF0ZWQgQ291bGRuJ3QgVXBkYXRlYDtcclxuICBwdWJsaWMgc3RhdGljIExPR09VVEVSUk9SID0gJ0xvZ291dCBBdHRlbXB0IEZhaWxlZCc7XHJcbiAgcHVibGljIHN0YXRpYyBBU1NFVFNUQVRVUyA9ICdBc3NldCBVbmRlciBNYWludGVuYW5jZSc7XHJcbiAgcHVibGljIHN0YXRpYyBSRUZFUkVOQ0VQT1BVUFRJVExFID0gJ1JlZmVyZW5jZSBDYXNlIElEIGZvciBBY2Nlc3NpbmcgQXNzZXQnO1xyXG4gIHB1YmxpYyBzdGF0aWMgRElDUkVERU5USUFMSU5GTyA9XHJcbiAgICAnRGlnaXRhbCBJZGVudGl0eSBDcmVkZW50aWFscyBVcGRhdGVkIFN1Y2Nlc3NmdWxseSc7XHJcbiAgcHVibGljIHN0YXRpYyBESUNSRURFTlRJQUxFUlJPUiA9XHJcbiAgICBcIkRpZ2l0YWwgSWRlbnRpdHkgQ3JlZGVudGlhbHMgQ291bGRuJ3QgdXBkYXRlZFwiO1xyXG4gIHB1YmxpYyBzdGF0aWMgUEFUSFNVQ0NFU1MgPSAnUHJlZmVyZW5jZSBQYXRoIFVwZGF0ZWQgU3VjY2Vzc0Z1bGx5JztcclxuICBwdWJsaWMgc3RhdGljIFBBVEhFUlJPUiA9IFwiUHJlZmVyZW5jZSBQYXRoIENvdWxkbid0IFVwZGF0ZVwiO1xyXG4gIHB1YmxpYyBzdGF0aWMgVVNFUkNSRURFTklBTEVSUk9SID0gJ0NvbmZpZ3VyZSBDcmVkZW50aWFscyc7XHJcbiAgcHVibGljIHN0YXRpYyBDUkVERU5JQUxFUlJPUiA9ICdLaW5kbHkgQ29uZmlndXJlIENyZWRlbnRpYWxzJztcclxuICBwdWJsaWMgc3RhdGljIEFETUlOQ1JFREVOSUFMRVJST1IgPVxyXG4gICAgJ1RoZSBjcmVkZW50aWFscyBoYXZlIHlldCB0byBiZSBjb25maWd1cmVkIGJ5IHRoZSBBZG1pbic7XHJcbiAgcHVibGljIHN0YXRpYyBDT01NT05FcnJvciA9ICdTb21ldGhpbmcgV2VudCBXcm9uZyAhJztcclxuICBwdWJsaWMgc3RhdGljIE5PRElHSVRBTElERU5USVRFUyA9XHJcbiAgICAnVGhlcmUgYXJlIG5vIGRpZ2l0YWwgaWRlbnRpdGllcyBhc3NpZ25lZC4gS2luZGx5IGNvbnRhY3QgYWRtaW5pc3RyYXRvci4nO1xyXG4gIHB1YmxpYyBzdGF0aWMgU0VBUkNIVEVYVCA9ICdTZWFyY2ggUmVzdWx0cyc7XHJcbiAgcHVibGljIHN0YXRpYyBNRkFDT05GSUdVUkVFUlJPUiA9XHJcbiAgICAnTUZBIGlzIG5vdCBjb25maWd1cmVkIGZvciB0aGUgdXNlciwgUGxlYXNlIGNvbnRhY3QgdGhlIHN5c3RlbSBhZG1pbmlzdHJhdG9yJztcclxuICBwdWJsaWMgc3RhdGljIFNFU1NJT05JREVSUk9SID0gJ1Nlc3Npb24gU2VydmljZSBJRCBub3QgZm91bmQnO1xyXG4gIHB1YmxpYyBzdGF0aWMgQ0hST01FRVhURU5TSU9ORVJST1IgPVxyXG4gICAgJ0tpbmRseSBJbnN0YWxsIHRoZSBDSSBFeHRlbnNpb24gb3IgQ29udGFjdCBBZG1pbmlzdHJhdG9yJztcclxuICBwdWJsaWMgc3RhdGljIFdJTkRPV19ET01BSU5fTE9HSU5FUlIgPVxyXG4gICAgJ1BsZWFzZSB3YWl0LCBEb21haW4gQXV0aGVudGljYXRpb24gaXMgaW4gcHJvZ3Jlc3MgZm9yIHlvdXIgbG9naW4nO1xyXG4gIHB1YmxpYyBzdGF0aWMgTEFORElOR1BHU1VDQ0VTUyA9IGBMYW5kaW5nIFBhZ2UgQ29uZmlndXJlZCBTdWNjZXNzRnVsbHlgO1xyXG4gIHB1YmxpYyBzdGF0aWMgTEFORElOR1BHRVJST1IgPSBgTGFuZGluZyBQYWdlIENvbmZpZ3VyYXRpb24gQ291bGRuJ3QgVXBkYXRlYDtcclxuICBwdWJsaWMgc3RhdGljIFNDUklQVEVSUk9SID0gYFVuZXhwZWN0ZWQgU2NyaXB0IERldGVjdGVkYDtcclxufVxyXG5cclxuZXhwb3J0IGNsYXNzIENPT0tJRUNPTlNUQU5UIHtcclxuICBwdWJsaWMgc3RhdGljIExPQk5BTUU6IHN0cmluZyA9ICdsb2JkYXRhJztcclxuICBwdWJsaWMgc3RhdGljIERPTUFJTkFNRTogc3RyaW5nID0gJ2RvbWFpbm5hbWUnO1xyXG4gIHB1YmxpYyBzdGF0aWMgRE9NQUlOSUQ6IHN0cmluZyA9ICdkb21haW5pZCc7XHJcbiAgcHVibGljIHN0YXRpYyBVU0VSREVUQUlMUzogc3RyaW5nID0gJ1VzZXJEZXRhaWwnO1xyXG4gIHB1YmxpYyBzdGF0aWMgU0VTU0lPTklEOiBzdHJpbmcgPSAndXNlclNlc3Npb25JZCc7XHJcbiAgcHVibGljIHN0YXRpYyBVU0VSTkFNRTogc3RyaW5nID0gJ3VzZXJuYW1lJztcclxuICBwdWJsaWMgc3RhdGljIFVTRVJJRDogc3RyaW5nID0gJ3VzZXJJZCc7XHJcbiAgcHVibGljIHN0YXRpYyBfQVQ6IHN0cmluZyA9ICdfQVQnO1xyXG4gIHB1YmxpYyBzdGF0aWMgX1JUOiBzdHJpbmcgPSAnX1JUJztcclxuICBwdWJsaWMgc3RhdGljIFVTRVJESVNQTEFZTkFNRTogc3RyaW5nID0gJ3VzZXJEaXNwbGF5TmFtZSc7XHJcbiAgcHVibGljIHN0YXRpYyBFTkNSWVBURURLRVk6IHN0cmluZyA9ICdFbmNyeXB0ZWRLZXknO1xyXG4gIHB1YmxpYyBzdGF0aWMgTUZBU1RBVFVTOiBzdHJpbmcgPSAnTUZBU3RhdHVzJztcclxuICBwdWJsaWMgc3RhdGljIEVWRU5UTkFNRTogc3RyaW5nID0gJ0V2ZW50JztcclxuICBwdWJsaWMgc3RhdGljIE1BQ0hJTkVERVRBSUxTOiBzdHJpbmcgPSAnbWFjaGluZWRldGFpbHMnO1xyXG4gIHB1YmxpYyBzdGF0aWMgQ09PS0lFREVMRVRFVkVOVDogc3RyaW5nID0gJ2QnO1xyXG4gIHB1YmxpYyBzdGF0aWMgQ09PS0lFQ1JFQVRFRVZFTlQ6IHN0cmluZyA9ICdjJztcclxuICBwdWJsaWMgc3RhdGljIENPT0tJRVVQREFURUVWRU5UOiBzdHJpbmcgPSAnYyc7XHJcbiAgcHVibGljIHN0YXRpYyBBTExDT09LSUVERUxFVDogc3RyaW5nID0gJy0xMDAnO1xyXG4gIHB1YmxpYyBzdGF0aWMgTkVXVVNFUjogc3RyaW5nID0gJzAwMy1OVS1HRUMnO1xyXG4gIHB1YmxpYyBzdGF0aWMgVU5MT0NLQUNDOiBzdHJpbmcgPSAnVW5sb2NrJztcclxuICBwdWJsaWMgc3RhdGljIEVSUk9SQ09ERTogc3RyaW5nID0gJzAwMS1TQUMtR0VDJztcclxuICBwdWJsaWMgc3RhdGljIFBVQkxJQ0NPREU6IHN0cmluZyA9ICcwMDEtUFVCLUdFQyc7XHJcbiAgcHVibGljIHN0YXRpYyBVU0VSTEFORzogc3RyaW5nID0gJ2xhbmcnO1xyXG4gIHB1YmxpYyBzdGF0aWMgTUZBVElNRU9VVDogbnVtYmVyID0gMTgwMDAwOyAvLzMgbWluc1xyXG4gIHB1YmxpYyBzdGF0aWMgTUZBU1RBVFVTQ0hFQ0s6IHN0cmluZyA9ICdfc3NtZic7XHJcbiAgcHVibGljIHN0YXRpYyBNRkFTVEFUVVNDSEVDS0ZBSUw6IHN0cmluZyA9ICdfc3NtZmYnO1xyXG4gIHB1YmxpYyBzdGF0aWMgTUZBQ0xJOiBzdHJpbmcgPSAnX1NTSURNRkFDTEknO1xyXG4gIHB1YmxpYyBzdGF0aWMgV0lORE9XQVVUSF9IRUFERVI6IHN0cmluZyA9ICdBdXRoZW50aWNhdGlvbi1XaW5kb3cnO1xyXG4gIHB1YmxpYyBzdGF0aWMgU0lHTkFMUl9JTkRFWDogc3RyaW5nID0gJzAwMi1TUi1OTyc7XHJcbiAgcHVibGljIHN0YXRpYyBPTkVUSU1FX1RPS0VOOiBzdHJpbmcgPSAnc3RhdGUnO1xyXG4gIHB1YmxpYyBzdGF0aWMgVEhJQ0tDTElFTlRfS0VZOiBzdHJpbmcgPSAnQVBQX1ZFUic7XHJcbn1cclxuXHJcbmV4cG9ydCBjb25zdCBFWENMVURFRF9VUkxTOiBzdHJpbmdbXSA9IFtcclxuICAnaHR0cDovL2xvY2FsaG9zdDo1NTc1NS8nLFxyXG4gICd3b3JrZmxvdy9hcGkvV29ya2Zsb3cvV29ya2Zsb3cvR2V0V29ya0Zsb3dUaWNrZXRDb3VudCcsXHJcbiAgJ3dvcmtmbG93L2FwaS9Xb3JrZmxvdy9Xb3JrZmxvdy9HZXRXb3JrRmxvd1RpY2tldENvdW50RXZlbnRXaXNlJyxcclxuICAneGFjY2Vzcy9hcGkvU2VjdXJlQWNjZXNzL0dldEJhY2tncm91bmRJbWFnZScsXHJcbiAgJ3hhY2Nlc3MvYXBpL1NlY3VyZUFjY2Vzcy9VcGRhdGVMb2dvdXRUaW1lcicsXHJcbl07XHJcblxyXG5leHBvcnQgY2xhc3MgTUZBRXZlbnQge1xyXG4gIHB1YmxpYyBzdGF0aWMgRm9yZ290UHdkOiBudW1iZXIgPSAxO1xyXG4gIHB1YmxpYyBzdGF0aWMgdW5sb2NrQWNjOiBudW1iZXIgPSAyO1xyXG4gIHB1YmxpYyBzdGF0aWMgTG9naW46IG51bWJlciA9IDM7XHJcbn1cclxuXHJcbmV4cG9ydCBjbGFzcyBCcm93c2VyTmFtZSB7XHJcbiAgcHVibGljIHN0YXRpYyBDaHJvbWUgPSAnQ2hyb21lJztcclxuICBwdWJsaWMgc3RhdGljIEZpcmVmb3ggPSAnRmlyZWZveCc7XHJcbiAgcHVibGljIHN0YXRpYyBFZGdlID0gJ0VkZ2UnO1xyXG4gIHB1YmxpYyBzdGF0aWMgU2FmYXJpID0gJ1NhZmFyaSc7XHJcbiAgcHVibGljIHN0YXRpYyBPcGVyYSA9ICdPcGVyYSc7XHJcbiAgcHVibGljIHN0YXRpYyBJbnRlck5ldEV4cCA9ICdJbnRlcm5ldCBFeHBsb3Jlcic7XHJcbn1cclxuXHJcbi8vIEdldExvY2FsSVBBZGRyZXNzXHJcbi8vIEdldExvY2FsTUFDQWRkcmVzc1xyXG4vLyBHZXRQcm9jZXNzb3JJRFxyXG4vLyBHZXRCSU9TU2VyaWFsSURcclxuLy8gR2V0RG9tYWluTmFtZVxyXG4vLyBHZXRQQU1QbHVnaW5JbnN0YWxsZWRWZXJzaW9uXHJcbi8vR2V0TG9jYWxIb3N0TmFtZVxyXG5cclxuZXhwb3J0IGNsYXNzIFBBTVBhcmFtZXRlciB7XHJcbiAgaXBBZGRyZXNzOiBzdHJpbmcgPSAnJztcclxuICBtYWNBZGRyZXNzOiBzdHJpbmcgPSAnJztcclxuICBwcm9jZXNzb3JJRDogc3RyaW5nID0gJyc7XHJcbiAgYklPU1NlcmlhbElEOiBzdHJpbmcgPSAnJztcclxuICBkb21haW5OYW1lOiBzdHJpbmcgPSAnJztcclxuICBob3N0bmFtZTogc3RyaW5nID0gJyc7XHJcbiAgcEFNUGx1Z2luSW5zdGFsbGVkVmVyc2lvbjogc3RyaW5nID0gJyc7XHJcbn1cclxuXHJcbmV4cG9ydCBpbnRlcmZhY2UgY29ubmVjdG9yUGFyYW1zIHtcclxuICBleGVQYXJhbXMxOiBzdHJpbmcgfCBudWxsO1xyXG4gIGV4ZVBhcmFtczI6IHN0cmluZyB8IG51bGw7XHJcbiAgZXhlUGFyYW1zMzogc3RyaW5nIHwgbnVsbDtcclxuICBleGVQYXJhbXM0OiBzdHJpbmcgfCBudWxsO1xyXG4gIGV4ZVZlcnNpb246IHN0cmluZyB8IG51bGw7XHJcbiAgYWd3VXJsOiBzdHJpbmcgfCBudWxsO1xyXG4gIGVsZWN0cm9ucGFyYW1ldGVyOiBzdHJpbmcgfCBudWxsO1xyXG4gIHJlZmVyZW5jZUVuYWJsZTogYm9vbGVhbjtcclxufVxyXG5cclxuLy8gXCJTdGF0dXMgOiAgZm9yIHVzZXIgc3RhdHVzXHJcbi8vICBBY3RpdmUgPSAwLFxyXG4vLyAgTmV3VXNlckNyZWF0ZWQgPSAxLFxyXG4vLyAgUmVzZXRieUFkbWluID0gMixcclxuLy8gIExvY2tlZE91dCA9IDUsXHJcbi8vICBEb3JtYW50ID0gNCxcclxuLy8gIERpc2FibGVkID0gM1xyXG4vLyAgU3VzcGVuZGVkID0gNixcclxuLy8gIFNhYmJhdGljYWwgPSA3ICxcclxuLy8gIEFDTU8gQ0xJIFByaXZpbGVkZ2Ugbm90IGFzc2lnbmVkPTlcIlxyXG5cclxuLy8gZXhwb3J0IGNvbnN0IGxvZ2luU3RhdHVzTXNnID0ge1xyXG4vLyAgIDA6IHtcclxuLy8gICAgIHN0YXR1czogJ0FjdGl2ZScsXHJcbi8vICAgICBtc2c6ICdTdWNjZXNzZnVsbCBsb2dpbicsXHJcbi8vICAgfSxcclxuLy8gICAxOiB7XHJcbi8vICAgICBzdGF0dXM6ICdOZXdVc2VyQ3JlYXRlZCcsXHJcbi8vICAgICBtc2c6ICdOZXcgQ3JlYXRlZCBVc2VyJyxcclxuLy8gICB9LFxyXG4vLyAgIDI6IHtcclxuLy8gICAgIHN0YXR1czogJ1Jlc2V0YnlBZG1pbicsXHJcbi8vICAgICBtc2c6ICdQYXNzd29yZCBJcyBSZXNldCBCeSBBZG1pbicsXHJcbi8vICAgfSxcclxuLy8gICAzOiB7XHJcbi8vICAgICBzdGF0dXM6ICdEaXNhYmxlZCcsXHJcbi8vICAgICBtc2c6ICdVc2VyIGlzIERpc2FibGVkJyxcclxuLy8gICB9LFxyXG4vLyAgIDQ6IHtcclxuLy8gICAgIHN0YXR1czogJ0Rvcm1hbnQnLFxyXG4vLyAgICAgbXNnOiAnVXNlciBpcyBEb3JtYW50JyxcclxuLy8gICB9LFxyXG4vLyAgIDU6IHtcclxuLy8gICAgIHN0YXR1czogJ0xvY2tlZE91dCcsXHJcbi8vICAgICBtc2c6ICdVc2VyIGlzIExvY2tlZCBPdXQnLFxyXG4vLyAgIH0sXHJcbi8vICAgNjoge1xyXG4vLyAgICAgc3RhdHVzOiAnU3VzcGVuZGVkJyxcclxuLy8gICAgIG1zZzogJ1VzZXIgaXMgU3VzcGVuZGVkJyxcclxuLy8gICB9LFxyXG4vLyAgIDc6IHtcclxuLy8gICAgIHN0YXR1czogJ1NhYmJhdGljYWwnLFxyXG4vLyAgICAgbXNnOiAnVXNlciBpcyBTYWJiYXRpY2FsJyxcclxuLy8gICB9LFxyXG4vLyAgIDk6IHtcclxuLy8gICAgIHN0YXR1czogJ0FDTU8gQ0xJIFByaXZpbGVkZ2Ugbm90IGFzc2lnbmVkJyxcclxuLy8gICAgIG1zZzogJycsXHJcbi8vICAgfSxcclxuLy8gICAxMToge1xyXG4vLyAgICAgc3RhdHVzOiAnSW52YWxpZCBVc2VyJyxcclxuLy8gICAgIG1zZzogJ0ludmFsaWQgVXNlciBOYW1lIE9SIFBhc3N3b3JkJyxcclxuLy8gICB9LFxyXG4vLyB9O1xyXG4iXX0=
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { DatePipe } from '@angular/common';
|
|
2
|
+
import { Pipe } from '@angular/core';
|
|
3
|
+
import * as i0 from "@angular/core";
|
|
4
|
+
export class customDateFormatPipe {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.datePipe = new DatePipe('en-US');
|
|
7
|
+
}
|
|
8
|
+
transform(value) {
|
|
9
|
+
if (!value) {
|
|
10
|
+
return 'Not Applicable';
|
|
11
|
+
}
|
|
12
|
+
const parsedDate = new Date(value);
|
|
13
|
+
if (isNaN(parsedDate.getTime())) {
|
|
14
|
+
return 'Invalid Date';
|
|
15
|
+
}
|
|
16
|
+
return this.datePipe.transform(parsedDate, 'dd-MMM-yyyy HH:mm:ss');
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
customDateFormatPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: customDateFormatPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
20
|
+
customDateFormatPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: customDateFormatPipe, name: "customDateFormat" });
|
|
21
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: customDateFormatPipe, decorators: [{
|
|
22
|
+
type: Pipe,
|
|
23
|
+
args: [{
|
|
24
|
+
name: 'customDateFormat',
|
|
25
|
+
}]
|
|
26
|
+
}] });
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3VzdG9tZS1kYXRlZm9ybWF0LnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24taGVhZGVyLWxpYi9zcmMvbGliL3BpcGVzL2N1c3RvbWUtZGF0ZWZvcm1hdC5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUMzQyxPQUFPLEVBQUUsSUFBSSxFQUFpQixNQUFNLGVBQWUsQ0FBQzs7QUFLcEQsTUFBTSxPQUFPLG9CQUFvQjtJQUhqQztRQUlVLGFBQVEsR0FBRyxJQUFJLFFBQVEsQ0FBQyxPQUFPLENBQUMsQ0FBQztLQWUxQztJQWJDLFNBQVMsQ0FBQyxLQUFVO1FBQ2xCLElBQUksQ0FBQyxLQUFLLEVBQUU7WUFDVixPQUFPLGdCQUFnQixDQUFDO1NBQ3pCO1FBRUQsTUFBTSxVQUFVLEdBQUcsSUFBSSxJQUFJLENBQUMsS0FBSyxDQUFDLENBQUM7UUFFbkMsSUFBSSxLQUFLLENBQUMsVUFBVSxDQUFDLE9BQU8sRUFBRSxDQUFDLEVBQUU7WUFDL0IsT0FBTyxjQUFjLENBQUM7U0FDdkI7UUFFRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxzQkFBc0IsQ0FBRSxDQUFDO0lBQ3RFLENBQUM7O2lIQWZVLG9CQUFvQjsrR0FBcEIsb0JBQW9COzJGQUFwQixvQkFBb0I7a0JBSGhDLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLGtCQUFrQjtpQkFDekIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBEYXRlUGlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XHJcbmltcG9ydCB7IFBpcGUsIFBpcGVUcmFuc2Zvcm0gfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuXHJcbkBQaXBlKHtcclxuICBuYW1lOiAnY3VzdG9tRGF0ZUZvcm1hdCcsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBjdXN0b21EYXRlRm9ybWF0UGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xyXG4gIHByaXZhdGUgZGF0ZVBpcGUgPSBuZXcgRGF0ZVBpcGUoJ2VuLVVTJyk7XHJcblxyXG4gIHRyYW5zZm9ybSh2YWx1ZTogYW55KTogc3RyaW5nIHtcclxuICAgIGlmICghdmFsdWUpIHtcclxuICAgICAgcmV0dXJuICdOb3QgQXBwbGljYWJsZSc7XHJcbiAgICB9XHJcblxyXG4gICAgY29uc3QgcGFyc2VkRGF0ZSA9IG5ldyBEYXRlKHZhbHVlKTtcclxuXHJcbiAgICBpZiAoaXNOYU4ocGFyc2VkRGF0ZS5nZXRUaW1lKCkpKSB7XHJcbiAgICAgIHJldHVybiAnSW52YWxpZCBEYXRlJztcclxuICAgIH1cclxuXHJcbiAgICByZXR1cm4gdGhpcy5kYXRlUGlwZS50cmFuc2Zvcm0ocGFyc2VkRGF0ZSwgJ2RkLU1NTS15eXl5IEhIOm1tOnNzJykhO1xyXG4gIH1cclxufVxyXG4iXX0=
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import { Pipe } from '@angular/core';
|
|
2
|
+
import * as i0 from "@angular/core";
|
|
3
|
+
export class DateDiffPipe {
|
|
4
|
+
constructor() { } // Inject service
|
|
5
|
+
transform(date) {
|
|
6
|
+
if (date != null) {
|
|
7
|
+
const localDate = this.convertUTCToLocal(date);
|
|
8
|
+
let date2 = new Date(localDate);
|
|
9
|
+
let date1 = new Date();
|
|
10
|
+
if (date2 > date1) {
|
|
11
|
+
// Calculate the absolute difference in milliseconds between the two dates
|
|
12
|
+
const diffTime = Math.abs(date2.getTime() - date1.getTime());
|
|
13
|
+
// Calculate the number of days
|
|
14
|
+
const diffDays = Math.floor(diffTime / (1000 * 60 * 60 * 24));
|
|
15
|
+
// Calculate the remaining time after removing the days
|
|
16
|
+
const remainingTime = diffTime % (1000 * 60 * 60 * 24);
|
|
17
|
+
// Calculate the number of hours
|
|
18
|
+
const diffHours = Math.floor(remainingTime / (1000 * 60 * 60));
|
|
19
|
+
// Calculate the remaining time after removing the hours
|
|
20
|
+
const remainingMinutes = remainingTime % (1000 * 60 * 60);
|
|
21
|
+
// Calculate the number of minutes
|
|
22
|
+
const diffMinutes = Math.floor(remainingMinutes / (1000 * 60));
|
|
23
|
+
let result = '';
|
|
24
|
+
if (diffDays > 0) {
|
|
25
|
+
result += `${diffDays} days `;
|
|
26
|
+
}
|
|
27
|
+
if (diffHours > 0) {
|
|
28
|
+
result += `${diffHours} hours `;
|
|
29
|
+
}
|
|
30
|
+
if (diffMinutes > 0) {
|
|
31
|
+
result += `${diffMinutes} minutes`;
|
|
32
|
+
}
|
|
33
|
+
return result.trim();
|
|
34
|
+
}
|
|
35
|
+
else {
|
|
36
|
+
return '00:00:00';
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
return '';
|
|
40
|
+
}
|
|
41
|
+
convertUTCToLocal(newdate) {
|
|
42
|
+
let localDate = newdate + 'Z';
|
|
43
|
+
localDate = localDate.toLocaleString();
|
|
44
|
+
// console.log('LOcal: ', localDate);
|
|
45
|
+
return localDate;
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
DateDiffPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DateDiffPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
|
|
49
|
+
DateDiffPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "14.0.0", version: "14.3.0", ngImport: i0, type: DateDiffPipe, name: "dateDiff" });
|
|
50
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: DateDiffPipe, decorators: [{
|
|
51
|
+
type: Pipe,
|
|
52
|
+
args: [{
|
|
53
|
+
name: 'dateDiff',
|
|
54
|
+
}]
|
|
55
|
+
}], ctorParameters: function () { return []; } });
|
|
56
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0ZS1kaWZmLnBpcGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9jb21tb24taGVhZGVyLWxpYi9zcmMvbGliL3BpcGVzL2RhdGUtZGlmZi5waXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxJQUFJLEVBQWlCLE1BQU0sZUFBZSxDQUFDOztBQUtwRCxNQUFNLE9BQU8sWUFBWTtJQUN2QixnQkFBZSxDQUFDLENBQUMsaUJBQWlCO0lBRWxDLFNBQVMsQ0FBQyxJQUFZO1FBQ3BCLElBQUksSUFBSSxJQUFJLElBQUksRUFBRTtZQUNoQixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsSUFBSSxDQUFDLENBQUM7WUFDL0MsSUFBSSxLQUFLLEdBQUcsSUFBSSxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7WUFDaEMsSUFBSSxLQUFLLEdBQUcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUV2QixJQUFJLEtBQUssR0FBRyxLQUFLLEVBQUU7Z0JBQ2pCLDBFQUEwRTtnQkFDMUUsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsT0FBTyxFQUFFLEdBQUcsS0FBSyxDQUFDLE9BQU8sRUFBRSxDQUFDLENBQUM7Z0JBQzdELCtCQUErQjtnQkFDL0IsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FBQyxRQUFRLEdBQUcsQ0FBQyxJQUFJLEdBQUcsRUFBRSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUM5RCx1REFBdUQ7Z0JBQ3ZELE1BQU0sYUFBYSxHQUFHLFFBQVEsR0FBRyxDQUFDLElBQUksR0FBRyxFQUFFLEdBQUcsRUFBRSxHQUFHLEVBQUUsQ0FBQyxDQUFDO2dCQUN2RCxnQ0FBZ0M7Z0JBQ2hDLE1BQU0sU0FBUyxHQUFHLElBQUksQ0FBQyxLQUFLLENBQUMsYUFBYSxHQUFHLENBQUMsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQyxDQUFDO2dCQUMvRCx3REFBd0Q7Z0JBQ3hELE1BQU0sZ0JBQWdCLEdBQUcsYUFBYSxHQUFHLENBQUMsSUFBSSxHQUFHLEVBQUUsR0FBRyxFQUFFLENBQUMsQ0FBQztnQkFDMUQsa0NBQWtDO2dCQUNsQyxNQUFNLFdBQVcsR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLGdCQUFnQixHQUFHLENBQUMsSUFBSSxHQUFHLEVBQUUsQ0FBQyxDQUFDLENBQUM7Z0JBRS9ELElBQUksTUFBTSxHQUFHLEVBQUUsQ0FBQztnQkFDaEIsSUFBSSxRQUFRLEdBQUcsQ0FBQyxFQUFFO29CQUNoQixNQUFNLElBQUksR0FBRyxRQUFRLFFBQVEsQ0FBQztpQkFDL0I7Z0JBQ0QsSUFBSSxTQUFTLEdBQUcsQ0FBQyxFQUFFO29CQUNqQixNQUFNLElBQUksR0FBRyxTQUFTLFNBQVMsQ0FBQztpQkFDakM7Z0JBQ0QsSUFBSSxXQUFXLEdBQUcsQ0FBQyxFQUFFO29CQUNuQixNQUFNLElBQUksR0FBRyxXQUFXLFVBQVUsQ0FBQztpQkFDcEM7Z0JBQ0QsT0FBTyxNQUFNLENBQUMsSUFBSSxFQUFFLENBQUM7YUFDdEI7aUJBQU07Z0JBQ0wsT0FBTyxVQUFVLENBQUM7YUFDbkI7U0FDRjtRQUNELE9BQU8sRUFBRSxDQUFDO0lBQ1osQ0FBQztJQUVPLGlCQUFpQixDQUFDLE9BQWU7UUFDdkMsSUFBSSxTQUFTLEdBQVcsT0FBTyxHQUFHLEdBQUcsQ0FBQztRQUN0QyxTQUFTLEdBQUcsU0FBUyxDQUFDLGNBQWMsRUFBRSxDQUFDO1FBQ3ZDLHFDQUFxQztRQUNyQyxPQUFPLFNBQVMsQ0FBQztJQUNuQixDQUFDOzt5R0E5Q1UsWUFBWTt1R0FBWixZQUFZOzJGQUFaLFlBQVk7a0JBSHhCLElBQUk7bUJBQUM7b0JBQ0osSUFBSSxFQUFFLFVBQVU7aUJBQ2pCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5cclxuQFBpcGUoe1xyXG4gIG5hbWU6ICdkYXRlRGlmZicsXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBEYXRlRGlmZlBpcGUgaW1wbGVtZW50cyBQaXBlVHJhbnNmb3JtIHtcclxuICBjb25zdHJ1Y3RvcigpIHt9IC8vIEluamVjdCBzZXJ2aWNlXHJcblxyXG4gIHRyYW5zZm9ybShkYXRlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgaWYgKGRhdGUgIT0gbnVsbCkge1xyXG4gICAgICBjb25zdCBsb2NhbERhdGUgPSB0aGlzLmNvbnZlcnRVVENUb0xvY2FsKGRhdGUpO1xyXG4gICAgICBsZXQgZGF0ZTIgPSBuZXcgRGF0ZShsb2NhbERhdGUpO1xyXG4gICAgICBsZXQgZGF0ZTEgPSBuZXcgRGF0ZSgpO1xyXG5cclxuICAgICAgaWYgKGRhdGUyID4gZGF0ZTEpIHtcclxuICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIGFic29sdXRlIGRpZmZlcmVuY2UgaW4gbWlsbGlzZWNvbmRzIGJldHdlZW4gdGhlIHR3byBkYXRlc1xyXG4gICAgICAgIGNvbnN0IGRpZmZUaW1lID0gTWF0aC5hYnMoZGF0ZTIuZ2V0VGltZSgpIC0gZGF0ZTEuZ2V0VGltZSgpKTtcclxuICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIG51bWJlciBvZiBkYXlzXHJcbiAgICAgICAgY29uc3QgZGlmZkRheXMgPSBNYXRoLmZsb29yKGRpZmZUaW1lIC8gKDEwMDAgKiA2MCAqIDYwICogMjQpKTtcclxuICAgICAgICAvLyBDYWxjdWxhdGUgdGhlIHJlbWFpbmluZyB0aW1lIGFmdGVyIHJlbW92aW5nIHRoZSBkYXlzXHJcbiAgICAgICAgY29uc3QgcmVtYWluaW5nVGltZSA9IGRpZmZUaW1lICUgKDEwMDAgKiA2MCAqIDYwICogMjQpO1xyXG4gICAgICAgIC8vIENhbGN1bGF0ZSB0aGUgbnVtYmVyIG9mIGhvdXJzXHJcbiAgICAgICAgY29uc3QgZGlmZkhvdXJzID0gTWF0aC5mbG9vcihyZW1haW5pbmdUaW1lIC8gKDEwMDAgKiA2MCAqIDYwKSk7XHJcbiAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSByZW1haW5pbmcgdGltZSBhZnRlciByZW1vdmluZyB0aGUgaG91cnNcclxuICAgICAgICBjb25zdCByZW1haW5pbmdNaW51dGVzID0gcmVtYWluaW5nVGltZSAlICgxMDAwICogNjAgKiA2MCk7XHJcbiAgICAgICAgLy8gQ2FsY3VsYXRlIHRoZSBudW1iZXIgb2YgbWludXRlc1xyXG4gICAgICAgIGNvbnN0IGRpZmZNaW51dGVzID0gTWF0aC5mbG9vcihyZW1haW5pbmdNaW51dGVzIC8gKDEwMDAgKiA2MCkpO1xyXG5cclxuICAgICAgICBsZXQgcmVzdWx0ID0gJyc7XHJcbiAgICAgICAgaWYgKGRpZmZEYXlzID4gMCkge1xyXG4gICAgICAgICAgcmVzdWx0ICs9IGAke2RpZmZEYXlzfSBkYXlzIGA7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIGlmIChkaWZmSG91cnMgPiAwKSB7XHJcbiAgICAgICAgICByZXN1bHQgKz0gYCR7ZGlmZkhvdXJzfSBob3VycyBgO1xyXG4gICAgICAgIH1cclxuICAgICAgICBpZiAoZGlmZk1pbnV0ZXMgPiAwKSB7XHJcbiAgICAgICAgICByZXN1bHQgKz0gYCR7ZGlmZk1pbnV0ZXN9IG1pbnV0ZXNgO1xyXG4gICAgICAgIH1cclxuICAgICAgICByZXR1cm4gcmVzdWx0LnRyaW0oKTtcclxuICAgICAgfSBlbHNlIHtcclxuICAgICAgICByZXR1cm4gJzAwOjAwOjAwJztcclxuICAgICAgfVxyXG4gICAgfVxyXG4gICAgcmV0dXJuICcnO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBjb252ZXJ0VVRDVG9Mb2NhbChuZXdkYXRlOiBzdHJpbmcpOiBzdHJpbmcge1xyXG4gICAgbGV0IGxvY2FsRGF0ZTogc3RyaW5nID0gbmV3ZGF0ZSArICdaJztcclxuICAgIGxvY2FsRGF0ZSA9IGxvY2FsRGF0ZS50b0xvY2FsZVN0cmluZygpO1xyXG4gICAgLy8gY29uc29sZS5sb2coJ0xPY2FsOiAnLCBsb2NhbERhdGUpO1xyXG4gICAgcmV0dXJuIGxvY2FsRGF0ZTtcclxuICB9XHJcbn1cclxuIl19
|