@reusa/ngx-reusa-app-lib 0.0.1322 → 0.0.1324

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.
Files changed (87) hide show
  1. package/esm2022/lib/components/add-employer/add-employer.component.mjs +196 -132
  2. package/esm2022/lib/components/add-participant/add-participant.component.mjs +29 -24
  3. package/esm2022/lib/components/add-payment/add-payment.component.mjs +45 -31
  4. package/esm2022/lib/components/address/address.component.mjs +97 -46
  5. package/esm2022/lib/components/bank-details/bank-details.component.mjs +139 -75
  6. package/esm2022/lib/components/contact-us/contact-us.component.mjs +42 -28
  7. package/esm2022/lib/components/email-update/email-update.component.mjs +119 -62
  8. package/esm2022/lib/components/employer-grid/employer-grid.component.mjs +165 -84
  9. package/esm2022/lib/components/footer/footer.component.mjs +23 -11
  10. package/esm2022/lib/components/header/header.component.mjs +163 -109
  11. package/esm2022/lib/components/idle-detector/idle-detector.component.mjs +29 -18
  12. package/esm2022/lib/components/job-search-result-page/job-search-result-page.component.mjs +22 -16
  13. package/esm2022/lib/components/job-title/job-title.component.mjs +20 -16
  14. package/esm2022/lib/components/legal-disclaimar/legal-disclaimar.component.mjs +389 -208
  15. package/esm2022/lib/components/lexis-nexis/lexis-nexis.component.mjs +83 -21
  16. package/esm2022/lib/components/menu/menu.component.mjs +63 -25
  17. package/esm2022/lib/components/mfa/mfa.component.mjs +155 -98
  18. package/esm2022/lib/components/mfa2/mfa2.component.mjs +54 -30
  19. package/esm2022/lib/components/money-expect/money-expect.component.mjs +31 -23
  20. package/esm2022/lib/components/profile/profile.component.mjs +34 -14
  21. package/esm2022/lib/components/profile-redirect/profile-redirect.component.mjs +17 -10
  22. package/esm2022/lib/components/questionnaire/common-success/common-success.page.mjs +80 -27
  23. package/esm2022/lib/components/questionnaire/dynamic-form-panel.component.mjs +29 -8
  24. package/esm2022/lib/components/questionnaire/dynamic-form-question.component.mjs +172 -119
  25. package/esm2022/lib/components/questionnaire/dynamic-form.component.mjs +122 -41
  26. package/esm2022/lib/components/questionnaire/multi-questionnaire/multi-questionnaire.component.mjs +7 -7
  27. package/esm2022/lib/components/search-employer/search-employer.component.mjs +10 -7
  28. package/esm2022/lib/components/security-question/security-question.component.mjs +19 -9
  29. package/esm2022/lib/components/select/select.component.mjs +10 -5
  30. package/esm2022/lib/components/ssn-reverify/ssn-reverify.component.mjs +72 -52
  31. package/esm2022/lib/components/user-login/user-login.component.mjs +116 -82
  32. package/esm2022/lib/components/weekly-cert-employer/weekly-cert-employer.component.mjs +69 -47
  33. package/esm2022/lib/models/questionnaire/ComboModel.mjs +480 -1
  34. package/esm2022/lib/pages/common/login/login.component.mjs +7 -2
  35. package/esm2022/lib/pages/popovers/language/language.page.mjs +2 -1
  36. package/esm2022/lib/pipes/translate/dynamic-translate.pipe.mjs +2 -2
  37. package/esm2022/lib/validations/AppValidators.mjs +9 -9
  38. package/fesm2022/reusa-ngx-reusa-app-lib.mjs +3103 -1492
  39. package/fesm2022/reusa-ngx-reusa-app-lib.mjs.map +1 -1
  40. package/lib/components/add-employer/add-employer.component.d.ts +22 -73
  41. package/lib/components/add-employer/add-employer.component.d.ts.map +1 -1
  42. package/lib/components/add-participant/add-participant.component.d.ts +4 -1
  43. package/lib/components/add-participant/add-participant.component.d.ts.map +1 -1
  44. package/lib/components/add-payment/add-payment.component.d.ts +1 -2
  45. package/lib/components/add-payment/add-payment.component.d.ts.map +1 -1
  46. package/lib/components/address/address.component.d.ts +10 -1
  47. package/lib/components/address/address.component.d.ts.map +1 -1
  48. package/lib/components/bank-details/bank-details.component.d.ts +17 -1
  49. package/lib/components/bank-details/bank-details.component.d.ts.map +1 -1
  50. package/lib/components/contact-us/contact-us.component.d.ts +4 -1
  51. package/lib/components/contact-us/contact-us.component.d.ts.map +1 -1
  52. package/lib/components/email-update/email-update.component.d.ts +6 -1
  53. package/lib/components/email-update/email-update.component.d.ts.map +1 -1
  54. package/lib/components/employer-grid/employer-grid.component.d.ts +6 -24
  55. package/lib/components/employer-grid/employer-grid.component.d.ts.map +1 -1
  56. package/lib/components/footer/footer.component.d.ts.map +1 -1
  57. package/lib/components/header/header.component.d.ts +3 -0
  58. package/lib/components/header/header.component.d.ts.map +1 -1
  59. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts +3 -1
  60. package/lib/components/job-search-result-page/job-search-result-page.component.d.ts.map +1 -1
  61. package/lib/components/job-title/job-title.component.d.ts +3 -1
  62. package/lib/components/job-title/job-title.component.d.ts.map +1 -1
  63. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts +5 -1
  64. package/lib/components/legal-disclaimar/legal-disclaimar.component.d.ts.map +1 -1
  65. package/lib/components/lexis-nexis/lexis-nexis.component.d.ts.map +1 -1
  66. package/lib/components/menu/menu.component.d.ts +11 -1
  67. package/lib/components/menu/menu.component.d.ts.map +1 -1
  68. package/lib/components/mfa/mfa.component.d.ts +6 -1
  69. package/lib/components/mfa/mfa.component.d.ts.map +1 -1
  70. package/lib/components/profile/profile.component.d.ts.map +1 -1
  71. package/lib/components/questionnaire/common-success/common-success.page.d.ts +1 -0
  72. package/lib/components/questionnaire/common-success/common-success.page.d.ts.map +1 -1
  73. package/lib/components/questionnaire/dynamic-form-question.component.d.ts.map +1 -1
  74. package/lib/components/questionnaire/dynamic-form.component.d.ts.map +1 -1
  75. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts +5 -1
  76. package/lib/components/ssn-reverify/ssn-reverify.component.d.ts.map +1 -1
  77. package/lib/components/user-login/user-login.component.d.ts +7 -1
  78. package/lib/components/user-login/user-login.component.d.ts.map +1 -1
  79. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts +7 -1
  80. package/lib/components/weekly-cert-employer/weekly-cert-employer.component.d.ts.map +1 -1
  81. package/lib/models/questionnaire/ComboModel.d.ts +80 -0
  82. package/lib/models/questionnaire/ComboModel.d.ts.map +1 -1
  83. package/lib/pages/common/login/login.component.d.ts.map +1 -1
  84. package/lib/pages/popovers/language/language.page.d.ts.map +1 -1
  85. package/lib/validations/AppValidators.d.ts +8 -8
  86. package/lib/validations/AppValidators.d.ts.map +1 -1
  87. package/package.json +1 -1
@@ -8,15 +8,19 @@ import * as i2 from "../../services/login/login.service";
8
8
  import * as i3 from "../../services/notification/notification.service";
9
9
  import * as i4 from "@angular/router";
10
10
  import * as i5 from "../../services/util/util.service";
11
- import * as i6 from "@angular/common";
12
- import * as i7 from "primeng/tooltip";
13
- import * as i8 from "primeng/accordion";
14
- import * as i9 from "primeng/divider";
15
- import * as i10 from "../profile/profile.component";
11
+ import * as i6 from "@ngx-translate/core";
12
+ import * as i7 from "@angular/common";
13
+ import * as i8 from "primeng/tooltip";
14
+ import * as i9 from "primeng/accordion";
15
+ import * as i10 from "primeng/divider";
16
+ import * as i11 from "../profile/profile.component";
16
17
  function MenuComponent_ion_menu_0_ion_menu_button_4_Template(rf, ctx) { if (rf & 1) {
17
18
  i0.ɵɵelementStart(0, "ion-menu-button", 6);
18
- i0.ɵɵelement(1, "ion-icon", 7);
19
+ i0.ɵɵpipe(1, "translate");
20
+ i0.ɵɵelement(2, "ion-icon", 7);
19
21
  i0.ɵɵelementEnd();
22
+ } if (rf & 2) {
23
+ i0.ɵɵpropertyInterpolate("pTooltip", i0.ɵɵpipeBind1(1, 1, "header.menu.close"));
20
24
  } }
21
25
  function MenuComponent_ion_menu_0_p_accordion_6_p_accordionTab_1_ion_item_2_ion_icon_1_Template(rf, ctx) { if (rf & 1) {
22
26
  i0.ɵɵelement(0, "ion-icon", 16);
@@ -122,34 +126,40 @@ function MenuComponent_ion_menu_0_div_7_Template(rf, ctx) { if (rf & 1) {
122
126
  i0.ɵɵlistener("click", function MenuComponent_ion_menu_0_div_7_Template_ion_item_click_5_listener($event) { i0.ɵɵrestoreView(_r31); const ctx_r30 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r30.presentMyProfilePopover($event)); });
123
127
  i0.ɵɵelement(6, "ion-icon", 24);
124
128
  i0.ɵɵelementStart(7, "ion-label", 25);
125
- i0.ɵɵtext(8, "User Profile");
129
+ i0.ɵɵtext(8);
126
130
  i0.ɵɵelementEnd()();
127
131
  i0.ɵɵelementStart(9, "ion-item", 11);
128
132
  i0.ɵɵlistener("click", function MenuComponent_ion_menu_0_div_7_Template_ion_item_click_9_listener() { i0.ɵɵrestoreView(_r31); const ctx_r32 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r32.navigate("cp", "documents")); });
129
133
  i0.ɵɵelement(10, "ion-icon", 26);
130
134
  i0.ɵɵelementStart(11, "ion-label", 25);
131
- i0.ɵɵtext(12, "Documents");
135
+ i0.ɵɵtext(12);
132
136
  i0.ɵɵelementEnd()();
133
137
  i0.ɵɵelementStart(13, "ion-item", 11);
134
138
  i0.ɵɵlistener("click", function MenuComponent_ion_menu_0_div_7_Template_ion_item_click_13_listener() { i0.ɵɵrestoreView(_r31); const ctx_r33 = i0.ɵɵnextContext(2); return i0.ɵɵresetView(ctx_r33.logout()); });
135
139
  i0.ɵɵelement(14, "ion-icon", 27);
136
140
  i0.ɵɵelementStart(15, "ion-label", 25);
137
- i0.ɵɵtext(16, "Logout");
141
+ i0.ɵɵtext(16);
138
142
  i0.ɵɵelementEnd()()()();
139
143
  } if (rf & 2) {
140
144
  const ctx_r4 = i0.ɵɵnextContext(2);
141
145
  i0.ɵɵadvance(1);
142
- i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(2, 1, ctx_r4.ls.getMenuBs()));
146
+ i0.ɵɵproperty("ngForOf", i0.ɵɵpipeBind1(2, 4, ctx_r4.ls.getMenuBs()));
147
+ i0.ɵɵadvance(7);
148
+ i0.ɵɵtextInterpolate(ctx_r4.userProfileLabel);
149
+ i0.ɵɵadvance(4);
150
+ i0.ɵɵtextInterpolate(ctx_r4.userDocumentsLabel);
151
+ i0.ɵɵadvance(4);
152
+ i0.ɵɵtextInterpolate(ctx_r4.userLogoutLabel);
143
153
  } }
144
154
  function MenuComponent_ion_menu_0_Template(rf, ctx) { if (rf & 1) {
145
155
  const _r35 = i0.ɵɵgetCurrentView();
146
156
  i0.ɵɵelementStart(0, "ion-menu", 2);
147
157
  i0.ɵɵlistener("ionDidOpen", function MenuComponent_ion_menu_0_Template_ion_menu_ionDidOpen_0_listener() { i0.ɵɵrestoreView(_r35); const ctx_r34 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r34.menuOpened()); });
148
158
  i0.ɵɵelementStart(1, "ion-header")(2, "ion-toolbar")(3, "ion-buttons", 3);
149
- i0.ɵɵtemplate(4, MenuComponent_ion_menu_0_ion_menu_button_4_Template, 2, 0, "ion-menu-button", 4);
159
+ i0.ɵɵtemplate(4, MenuComponent_ion_menu_0_ion_menu_button_4_Template, 3, 3, "ion-menu-button", 4);
150
160
  i0.ɵɵelementEnd()()();
151
161
  i0.ɵɵelementStart(5, "ion-content");
152
- i0.ɵɵtemplate(6, MenuComponent_ion_menu_0_p_accordion_6_Template, 3, 3, "p-accordion", 5)(7, MenuComponent_ion_menu_0_div_7_Template, 17, 3, "div", 5);
162
+ i0.ɵɵtemplate(6, MenuComponent_ion_menu_0_p_accordion_6_Template, 3, 3, "p-accordion", 5)(7, MenuComponent_ion_menu_0_div_7_Template, 17, 6, "div", 5);
153
163
  i0.ɵɵelementEnd()();
154
164
  } if (rf & 2) {
155
165
  const ctx_r0 = i0.ɵɵnextContext();
@@ -167,7 +177,7 @@ function MenuComponent_app_profile_1_Template(rf, ctx) { if (rf & 1) {
167
177
  i0.ɵɵelementEnd();
168
178
  } }
169
179
  export class MenuComponent {
170
- constructor(nav, popup, ls, ns, r, menu, util, ar) {
180
+ constructor(nav, popup, ls, ns, r, menu, util, ar, translateService) {
171
181
  this.nav = nav;
172
182
  this.popup = popup;
173
183
  this.ls = ls;
@@ -176,13 +186,16 @@ export class MenuComponent {
176
186
  this.menu = menu;
177
187
  this.util = util;
178
188
  this.ar = ar;
189
+ this.translateService = translateService;
179
190
  this.appVersion = LibConstants.appVersion;
180
191
  this.showFavButton = false;
181
192
  this.reRenderMenu = true;
182
193
  this.legacyMenu = LibConstants.legacyMenu;
183
194
  this.showProfilePopup = false;
195
+ this.translateService.use(localStorage.getItem("language"));
184
196
  }
185
197
  ngOnInit() {
198
+ this.translateService.use(localStorage.getItem("language"));
186
199
  this.setupUserMenu();
187
200
  this.showFavButton = this.ls.isCsr();
188
201
  }
@@ -208,7 +221,7 @@ export class MenuComponent {
208
221
  label: "Menus",
209
222
  items: [
210
223
  {
211
- "label": "Home",
224
+ "label": this.getHomeLabel(),
212
225
  "state": {
213
226
  "consortiumState": ["ms"],
214
227
  "roles": ["claimant"],
@@ -218,7 +231,7 @@ export class MenuComponent {
218
231
  }
219
232
  },
220
233
  {
221
- "label": "Claims",
234
+ "label": this.getClaimsLabel(),
222
235
  "state": {
223
236
  "consortiumState": ["ms"],
224
237
  "roles": ["claimant"],
@@ -228,7 +241,7 @@ export class MenuComponent {
228
241
  }
229
242
  },
230
243
  {
231
- "label": "Weekly",
244
+ "label": this.getWeeklyLabel(),
232
245
  "state": {
233
246
  "consortiumState": ["ms"],
234
247
  "roles": ["claimant"],
@@ -238,7 +251,7 @@ export class MenuComponent {
238
251
  }
239
252
  },
240
253
  {
241
- "label": "History",
254
+ "label": this.getHistoryLabel(),
242
255
  "state": {
243
256
  "consortiumState": ["ms"],
244
257
  "roles": ["claimant"],
@@ -248,7 +261,7 @@ export class MenuComponent {
248
261
  }
249
262
  },
250
263
  {
251
- "label": "Work Search Journal",
264
+ "label": this.getWorkSearchLabel(),
252
265
  "state": {
253
266
  "consortiumState": ["ks"],
254
267
  "roles": ["work-search-journal"],
@@ -395,20 +408,45 @@ export class MenuComponent {
395
408
  }
396
409
  logout() {
397
410
  this.nav.navigateRoot('/landing');
411
+ localStorage.setItem("language", "en");
398
412
  this.ls.logout();
399
413
  }
400
- static { this.ɵfac = function MenuComponent_Factory(t) { return new (t || MenuComponent)(i0.ɵɵdirectiveInject(i1.NavController), i0.ɵɵdirectiveInject(i1.PopoverController), i0.ɵɵdirectiveInject(i2.LoginService), i0.ɵɵdirectiveInject(i3.NotificationService), i0.ɵɵdirectiveInject(i4.Router), i0.ɵɵdirectiveInject(i1.MenuController), i0.ɵɵdirectiveInject(i5.UtilService), i0.ɵɵdirectiveInject(i4.ActivatedRoute)); }; }
401
- static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MenuComponent, selectors: [["app-menu"]], decls: 2, vars: 2, consts: [["side", "start", "menuId", "first", "contentId", "main-content", 3, "ionDidOpen", 4, "ngIf"], [3, "onCancel", 4, "ngIf"], ["side", "start", "menuId", "first", "contentId", "main-content", 3, "ionDidOpen"], ["slot", "start"], ["autoHide", "false", "pTooltip", "Close menu", "tooltipPosition", "bottom", 4, "ngIf"], [4, "ngIf"], ["autoHide", "false", "pTooltip", "Close menu", "tooltipPosition", "bottom"], ["color", "success", "name", "close"], [3, "header", 4, "ngFor", "ngForOf"], [3, "header"], ["button", "", "lines", "none", 3, "click", 4, "ngFor", "ngForOf"], ["button", "", "lines", "none", 3, "click"], ["name", "link", "color", "primary", "slot", "start", "style", "margin-inline-end: 15px !important;", 4, "ngIf"], ["color", "primary", "slot", "start", "style", "margin-inline-end: 15px !important;", 3, "name", 4, "ngIf"], ["color", "primary", 2, "font-size", "small"], ["slot", "end", "color", "warning", 3, "click", 4, "ngIf"], ["name", "link", "color", "primary", "slot", "start", 2, "margin-inline-end", "15px !important"], ["color", "primary", "slot", "start", 2, "margin-inline-end", "15px !important", 3, "name"], ["slot", "end", "color", "warning", 3, "click"], ["name", "star-outline", 4, "ngIf"], ["name", "star-sharp", 4, "ngIf"], ["name", "star-outline"], ["name", "star-sharp"], [4, "ngFor", "ngForOf"], ["name", "person-circle-outline", "slot", "start", "color", "primary", 1, "menu-icon"], ["color", "primary", 2, "font-size", "31px"], ["name", "document-text-outline", "slot", "start", "color", "primary", 1, "menu-icon"], ["name", "log-out-outline", "slot", "start", "color", "primary", 1, "menu-icon"], ["color", "primary", 2, "font-size", "31px", 3, "ngClass"], [3, "onCancel"]], template: function MenuComponent_Template(rf, ctx) { if (rf & 1) {
414
+ get userProfileLabel() {
415
+ return this.translateService.instant('common.user.profile');
416
+ }
417
+ get userDocumentsLabel() {
418
+ return this.translateService.instant('common.documents');
419
+ }
420
+ get userLogoutLabel() {
421
+ return this.translateService.instant('common.logout');
422
+ }
423
+ getHomeLabel() {
424
+ return this.translateService.instant('common.home');
425
+ }
426
+ getClaimsLabel() {
427
+ return this.translateService.instant('common.claims');
428
+ }
429
+ getWeeklyLabel() {
430
+ return this.translateService.instant('common.weekly');
431
+ }
432
+ getHistoryLabel() {
433
+ return this.translateService.instant('common.history');
434
+ }
435
+ getWorkSearchLabel() {
436
+ return this.translateService.instant('common.work.search');
437
+ }
438
+ static { this.ɵfac = function MenuComponent_Factory(t) { return new (t || MenuComponent)(i0.ɵɵdirectiveInject(i1.NavController), i0.ɵɵdirectiveInject(i1.PopoverController), i0.ɵɵdirectiveInject(i2.LoginService), i0.ɵɵdirectiveInject(i3.NotificationService), i0.ɵɵdirectiveInject(i4.Router), i0.ɵɵdirectiveInject(i1.MenuController), i0.ɵɵdirectiveInject(i5.UtilService), i0.ɵɵdirectiveInject(i4.ActivatedRoute), i0.ɵɵdirectiveInject(i6.TranslateService)); }; }
439
+ static { this.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: MenuComponent, selectors: [["app-menu"]], decls: 2, vars: 2, consts: [["side", "start", "menuId", "first", "contentId", "main-content", 3, "ionDidOpen", 4, "ngIf"], [3, "onCancel", 4, "ngIf"], ["side", "start", "menuId", "first", "contentId", "main-content", 3, "ionDidOpen"], ["slot", "start"], ["autoHide", "false", "tooltipPosition", "bottom", 3, "pTooltip", 4, "ngIf"], [4, "ngIf"], ["autoHide", "false", "tooltipPosition", "bottom", 3, "pTooltip"], ["color", "success", "name", "close"], [3, "header", 4, "ngFor", "ngForOf"], [3, "header"], ["button", "", "lines", "none", 3, "click", 4, "ngFor", "ngForOf"], ["button", "", "lines", "none", 3, "click"], ["name", "link", "color", "primary", "slot", "start", "style", "margin-inline-end: 15px !important;", 4, "ngIf"], ["color", "primary", "slot", "start", "style", "margin-inline-end: 15px !important;", 3, "name", 4, "ngIf"], ["color", "primary", 2, "font-size", "small"], ["slot", "end", "color", "warning", 3, "click", 4, "ngIf"], ["name", "link", "color", "primary", "slot", "start", 2, "margin-inline-end", "15px !important"], ["color", "primary", "slot", "start", 2, "margin-inline-end", "15px !important", 3, "name"], ["slot", "end", "color", "warning", 3, "click"], ["name", "star-outline", 4, "ngIf"], ["name", "star-sharp", 4, "ngIf"], ["name", "star-outline"], ["name", "star-sharp"], [4, "ngFor", "ngForOf"], ["name", "person-circle-outline", "slot", "start", "color", "primary", 1, "menu-icon"], ["color", "primary", 2, "font-size", "31px"], ["name", "document-text-outline", "slot", "start", "color", "primary", 1, "menu-icon"], ["name", "log-out-outline", "slot", "start", "color", "primary", 1, "menu-icon"], ["color", "primary", 2, "font-size", "31px", 3, "ngClass"], [3, "onCancel"]], template: function MenuComponent_Template(rf, ctx) { if (rf & 1) {
402
440
  i0.ɵɵtemplate(0, MenuComponent_ion_menu_0_Template, 8, 3, "ion-menu", 0)(1, MenuComponent_app_profile_1_Template, 1, 0, "app-profile", 1);
403
441
  } if (rf & 2) {
404
442
  i0.ɵɵproperty("ngIf", ctx.ls.isLoggedIn() && ctx.menus && ctx.menus.length > 0);
405
443
  i0.ɵɵadvance(1);
406
444
  i0.ɵɵproperty("ngIf", ctx.showProfilePopup);
407
- } }, dependencies: [i1.IonButton, i1.IonButtons, i1.IonContent, i1.IonHeader, i1.IonIcon, i1.IonItem, i1.IonLabel, i1.IonList, i1.IonMenu, i1.IonMenuButton, i1.IonToolbar, i6.NgClass, i6.NgForOf, i6.NgIf, i7.Tooltip, i8.Accordion, i8.AccordionTab, i9.Divider, i10.ProfileComponent, i6.AsyncPipe], styles: ["ion-menu[_ngcontent-%COMP%] ion-content[_ngcontent-%COMP%]{--background: var(--ion-item-background, var(--ion-background-color, #fff))}ion-note[_ngcontent-%COMP%]{display:inline-block;font-size:16px;color:var(--ion-color-medium-shade)}ion-item.selected[_ngcontent-%COMP%]{--color: var(--ion-color-primary)}mat-expansion-panel-header[_ngcontent-%COMP%]{background:var(--ion-color-light)}.link[_ngcontent-%COMP%]{margin-right:25px;cursor:pointer;text-decoration:none;pointer-events:auto!important}.link[_ngcontent-%COMP%]:hover{color:var(--ion-color-yellow)!important}.footer-links[_ngcontent-%COMP%]{color:var(--ion-color-grey)!important}.header-links[_ngcontent-%COMP%]{color:var(--ion-color-primary)!important}.ios[_ngcontent-%COMP%] ion-menu[_ngcontent-%COMP%]::part(container){padding-top:25px!important}.selected-menu[_ngcontent-%COMP%]{-webkit-text-decoration:underline 2px;text-decoration:underline 2px;text-underline-offset:3px;text-decoration-color:var(--ion-color-secondary)}.selected-menu-unselect[_ngcontent-%COMP%]{text-decoration:none}.menu-icon[_ngcontent-%COMP%]{margin-inline-end:15px!important;font-size:20px}.item[_ngcontent-%COMP%]:nth-child(5) ion-label.sc-ion-label-md-h[_ngcontent-%COMP%]{font-size:31px;text-indent:-25px;margin-left:25px;overflow:visible;line-height:35px;white-space:normal}[_nghost-%COMP%] .p-accordion .p-accordion-content{padding:0!important}[_nghost-%COMP%] .p-accordion .p-accordion-header .p-accordion-header-link{padding:1.25rem .5rem!important}[_nghost-%COMP%] .p-accordion-header{background:var(--ion-color-light)!important}"] }); }
445
+ } }, dependencies: [i1.IonButton, i1.IonButtons, i1.IonContent, i1.IonHeader, i1.IonIcon, i1.IonItem, i1.IonLabel, i1.IonList, i1.IonMenu, i1.IonMenuButton, i1.IonToolbar, i7.NgClass, i7.NgForOf, i7.NgIf, i8.Tooltip, i9.Accordion, i9.AccordionTab, i10.Divider, i11.ProfileComponent, i7.AsyncPipe, i6.TranslatePipe], styles: ["ion-menu[_ngcontent-%COMP%] ion-content[_ngcontent-%COMP%]{--background: var(--ion-item-background, var(--ion-background-color, #fff))}ion-note[_ngcontent-%COMP%]{display:inline-block;font-size:16px;color:var(--ion-color-medium-shade)}ion-item.selected[_ngcontent-%COMP%]{--color: var(--ion-color-primary)}mat-expansion-panel-header[_ngcontent-%COMP%]{background:var(--ion-color-light)}.link[_ngcontent-%COMP%]{margin-right:25px;cursor:pointer;text-decoration:none;pointer-events:auto!important}.link[_ngcontent-%COMP%]:hover{color:var(--ion-color-yellow)!important}.footer-links[_ngcontent-%COMP%]{color:var(--ion-color-grey)!important}.header-links[_ngcontent-%COMP%]{color:var(--ion-color-primary)!important}.ios[_ngcontent-%COMP%] ion-menu[_ngcontent-%COMP%]::part(container){padding-top:25px!important}.selected-menu[_ngcontent-%COMP%]{-webkit-text-decoration:underline 2px;text-decoration:underline 2px;text-underline-offset:3px;text-decoration-color:var(--ion-color-secondary)}.selected-menu-unselect[_ngcontent-%COMP%]{text-decoration:none}.menu-icon[_ngcontent-%COMP%]{margin-inline-end:15px!important;font-size:20px}.item[_ngcontent-%COMP%]:nth-child(5) ion-label.sc-ion-label-md-h[_ngcontent-%COMP%]{font-size:31px;text-indent:-25px;margin-left:25px;overflow:visible;line-height:35px;white-space:normal}[_nghost-%COMP%] .p-accordion .p-accordion-content{padding:0!important}[_nghost-%COMP%] .p-accordion .p-accordion-header .p-accordion-header-link{padding:1.25rem .5rem!important}[_nghost-%COMP%] .p-accordion-header{background:var(--ion-color-light)!important}"] }); }
408
446
  }
409
447
  (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(MenuComponent, [{
410
448
  type: Component,
411
- args: [{ selector: 'app-menu', template: "<ion-menu side=\"start\" menuId=\"first\" contentId=\"main-content\" *ngIf=\"ls.isLoggedIn() && menus && menus.length > 0\" (ionDidOpen)=\"menuOpened()\">\r\n <ion-header>\r\n <ion-toolbar>\r\n <ion-buttons slot=\"start\">\r\n <ion-menu-button autoHide=\"false\" pTooltip=\"Close menu\" tooltipPosition=\"bottom\"\r\n *ngIf=\"ls.isLoggedIn()\"> \r\n <ion-icon color=\"success\" name=\"close\"></ion-icon>\r\n </ion-menu-button>\r\n </ion-buttons>\r\n </ion-toolbar>\r\n </ion-header>\r\n <ion-content>\r\n <p-accordion *ngIf=\"menus && menus.length > 0 && (!ls.isClaimant() || legacyMenu == 'true')\">\r\n <p-accordionTab *ngFor=\"let menu of ls.getMenuBs() | async; let i = index\" [header]=\"menu.label\">\r\n <ion-list>\r\n <ion-item button *ngFor=\"let item of menu.items\" (click)=\"openPage(item)\" lines=\"none\">\r\n <ion-icon name=\"link\" color=\"primary\" slot=\"start\" *ngIf=\"!item.icon\" style=\"margin-inline-end: 15px !important;\"></ion-icon>\r\n <ion-icon [name]=\"item.icon\" color=\"primary\" slot=\"start\" *ngIf=\"item.icon\" style=\"margin-inline-end: 15px !important;\"></ion-icon>\r\n <ion-label color=\"primary\" style=\"font-size: small;\">{{item.label}}</ion-label>\r\n <ion-button slot=\"end\" (click)=\"markFavourite(item); $event.stopPropagation();\" color=\"warning\" *ngIf=\"showFavButton\">\r\n <ion-icon name=\"star-outline\" *ngIf=\"!item.state.isFav\"></ion-icon>\r\n <ion-icon name=\"star-sharp\" *ngIf=\"item.state.isFav\"></ion-icon>\r\n </ion-button>\r\n </ion-item>\r\n </ion-list>\r\n </p-accordionTab>\r\n </p-accordion>\r\n\r\n <div *ngIf=\"menus && menus.length > 0 && (ls.isClaimant() && legacyMenu == 'false')\">\r\n <div *ngFor=\"let menu of ls.getMenuBs() | async; let i = index; let isLast = last\">\r\n <ion-list>\r\n <ion-item button *ngFor=\"let item of menu.items\" (click)=\"openPage(item)\" lines=\"none\">\r\n <ion-label color=\"primary\" style=\"font-size: 31px;\" [ngClass]=\"showIcon(item) ? 'selected-menu' : 'selected-menu-unselect'\">{{item.label}}</ion-label>\r\n </ion-item>\r\n </ion-list>\r\n </div>\r\n <p-divider></p-divider>\r\n\r\n <ion-list>\r\n <ion-item button lines=\"none\" (click)=\"presentMyProfilePopover($event)\">\r\n <ion-icon name=\"person-circle-outline\" slot=\"start\" class=\"menu-icon\" color=\"primary\"></ion-icon>\r\n <ion-label color=\"primary\" style=\"font-size: 31px;\">User Profile</ion-label>\r\n </ion-item>\r\n <ion-item button lines=\"none\" (click)=\"navigate('cp', 'documents')\">\r\n <ion-icon name=\"document-text-outline\" slot=\"start\" class=\"menu-icon\" color=\"primary\"></ion-icon>\r\n <ion-label color=\"primary\" style=\"font-size: 31px;\">Documents</ion-label>\r\n </ion-item>\r\n <ion-item button lines=\"none\" (click)=\"logout()\">\r\n <ion-icon name=\"log-out-outline\" slot=\"start\" class=\"menu-icon\" color=\"primary\"></ion-icon>\r\n <ion-label color=\"primary\" style=\"font-size: 31px;\">Logout</ion-label>\r\n </ion-item>\r\n </ion-list>\r\n\r\n </div>\r\n </ion-content>\r\n</ion-menu>\r\n<app-profile *ngIf=\"showProfilePopup\" (onCancel)=\"showProfilePopup = !showProfilePopup\"></app-profile>", styles: ["ion-menu ion-content{--background: var(--ion-item-background, var(--ion-background-color, #fff))}ion-note{display:inline-block;font-size:16px;color:var(--ion-color-medium-shade)}ion-item.selected{--color: var(--ion-color-primary)}mat-expansion-panel-header{background:var(--ion-color-light)}.link{margin-right:25px;cursor:pointer;text-decoration:none;pointer-events:auto!important}.link:hover{color:var(--ion-color-yellow)!important}.footer-links{color:var(--ion-color-grey)!important}.header-links{color:var(--ion-color-primary)!important}.ios ion-menu::part(container){padding-top:25px!important}.selected-menu{-webkit-text-decoration:underline 2px;text-decoration:underline 2px;text-underline-offset:3px;text-decoration-color:var(--ion-color-secondary)}.selected-menu-unselect{text-decoration:none}.menu-icon{margin-inline-end:15px!important;font-size:20px}.item:nth-child(5) ion-label.sc-ion-label-md-h{font-size:31px;text-indent:-25px;margin-left:25px;overflow:visible;line-height:35px;white-space:normal}:host ::ng-deep .p-accordion .p-accordion-content{padding:0!important}:host ::ng-deep .p-accordion .p-accordion-header .p-accordion-header-link{padding:1.25rem .5rem!important}:host ::ng-deep .p-accordion-header{background:var(--ion-color-light)!important}\n"] }]
412
- }], () => [{ type: i1.NavController }, { type: i1.PopoverController }, { type: i2.LoginService }, { type: i3.NotificationService }, { type: i4.Router }, { type: i1.MenuController }, { type: i5.UtilService }, { type: i4.ActivatedRoute }], null); })();
413
- (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MenuComponent, { className: "MenuComponent", filePath: "lib\\components\\menu\\menu.component.ts", lineNumber: 18 }); })();
414
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbWVudS9tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9tZW51L21lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUlsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDbEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOzs7Ozs7Ozs7Ozs7O0lDSHhFLDBDQUM4QjtJQUN4Qiw4QkFBa0Q7SUFDeEQsaUJBQWtCOzs7SUFTZCwrQkFBNkg7OztJQUM3SCwrQkFBbUk7OztJQUF6SCxtQ0FBa0I7OztJQUcxQiwrQkFBbUU7OztJQUNuRSwrQkFBZ0U7Ozs7SUFGbEUsc0NBQXNIO0lBQS9GLDBRQUFTLDhCQUFtQixTQUFFLGVBQUEsd0JBQXdCLENBQUEsSUFBRTtJQUM3RSwySUFBbUUsOEhBQUE7SUFFckUsaUJBQWE7OztJQUZvQixlQUF1QjtJQUF2QiwyQ0FBdUI7SUFDekIsZUFBc0I7SUFBdEIsMENBQXNCOzs7O0lBTnZELG9DQUF1RjtJQUF0Qyx5UUFBUyxlQUFBLHlCQUFjLENBQUEsSUFBQztJQUN2RSw4SEFBNkgsaUhBQUE7SUFFN0gscUNBQXFEO0lBQUEsWUFBYztJQUFBLGlCQUFZO0lBQy9FLGtJQUdhO0lBQ2YsaUJBQVc7Ozs7SUFQMkMsZUFBZ0I7SUFBaEIsb0NBQWdCO0lBQ1QsZUFBZTtJQUFmLG1DQUFlO0lBQ3JCLGVBQWM7SUFB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QkFBdUIsQ0FBQyxLQUFLO1FBRWpDLElBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxVQUFVLEVBQUUsRUFBQztZQUN0QixJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDO1lBQzdCLElBQUksQ0FBQyxJQUFJLENBQUMsS0FBSyxFQUFFLENBQUM7WUFDbEIsT0FBTztTQUNSO1FBRUQsTUFBTSxPQUFPLEdBQUcsTUFBTSxJQUFJLENBQUMsS0FBSyxDQUFDLE1BQU0sQ0FBQztZQUN0QyxTQUFTLEVBQUUsYUFBYTtZQUN4QixXQUFXLEVBQUUsSUFBSTtZQUNqQixlQUFlLEVBQUUsSUFBSTtZQUNyQixRQUFRLEVBQUUsZ0JBQWdCO1NBQzNCLENBQUMsQ0FBQztRQUVILE9BQU8sTUFBTSxPQUFPLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDakMsQ0FBQztJQUVELE1BQU07UUFDSixJQUFJLENBQUMsR0FBRyxDQUFDLFlBQVksQ0FBQyxVQUFVLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsRUFBRSxDQUFDLE1BQU0sRUFBRSxDQUFDO0lBQ25CLENBQUM7OEVBclBVLGFBQWE7b0VBQWIsYUFBYTtZQ2pCMUIsd0VBdURXLGlFQUFBOztZQXZEcUQsK0VBQWtEO1lBd0RwRyxlQUFzQjtZQUF0QiwyQ0FBc0I7OztpRkR2Q3ZCLGFBQWE7Y0FMekIsU0FBUzsyQkFDRSxVQUFVOztrRkFJVCxhQUFhIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUsIFJvdXRlciB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XHJcbmltcG9ydCB7IE1lbnVDb250cm9sbGVyLCBOYXZDb250cm9sbGVyLCBQb3BvdmVyQ29udHJvbGxlciB9IGZyb20gJ0Bpb25pYy9hbmd1bGFyJztcclxuaW1wb3J0IHsgTWVudUl0ZW0gfSBmcm9tICdwcmltZW5nL2FwaSc7XHJcbmltcG9ydCB7IExpYkNvbnN0YW50cyB9IGZyb20gJy4uLy4uL21vZGVscy9MaWJDb25zdGFudHMnO1xyXG5pbXBvcnQgeyBVc2VyTW9kZWwgfSBmcm9tICcuLi8uLi9tb2RlbHMvVXNlck1vZGVsJztcclxuaW1wb3J0IHsgTXlOb3RpZmljYXRpb25zUGFnZSB9IGZyb20gJy4uLy4uL3BhZ2VzL3BvcG92ZXJzL215LW5vdGlmaWNhdGlvbnMvbXktbm90aWZpY2F0aW9ucy5wYWdlJztcclxuaW1wb3J0IHsgTXlQcm9maWxlUGFnZSB9IGZyb20gJy4uLy4uL3BhZ2VzL3BvcG92ZXJzL215LXByb2ZpbGUvbXktcHJvZmlsZS5wYWdlJztcclxuaW1wb3J0IHsgTG9naW5TZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvbG9naW4vbG9naW4uc2VydmljZSc7XHJcbmltcG9ydCB7IE5vdGlmaWNhdGlvblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9ub3RpZmljYXRpb24vbm90aWZpY2F0aW9uLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBVdGlsU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL3V0aWwvdXRpbC5zZXJ2aWNlJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnYXBwLW1lbnUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9tZW51LmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybHM6IFsnLi9tZW51LmNvbXBvbmVudC5zY3NzJ10sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBNZW51Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0IHtcclxuXHJcbiAgcHVibGljIG1lbnVzOiBNZW51SXRlbVtdO1xyXG4gIHB1YmxpYyBhcHBWZXJzaW9uID0gTGliQ29uc3RhbnRzLmFwcFZlcnNpb247XHJcbiAgcHVibGljIHNob3dGYXZCdXR0b24gPSBmYWxzZTtcclxuICBwdWJsaWMgcmVSZW5kZXJNZW51ID0gdHJ1ZTtcclxuICBwdWJsaWMgbGVnYWN5TWVudSA9IExpYkNvbnN0YW50cy5sZWdhY3lNZW51O1xyXG4gIHB1YmxpYyBzaG93UHJvZmlsZVBvcHVwIDogYm9vbGVhbiA9IGZhbHNlO1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIG5hdjogTmF2Q29udHJvbGxlciwgcHVibGljIHBvcHVwOiBQb3BvdmVyQ29udHJvbGxlciwgcHVibGljIGxzOiBMb2dpblNlcnZpY2UsIHB1YmxpYyBuczogTm90aWZpY2F0aW9uU2VydmljZSwgXHJcbiAgICAgICAgICAgICAgcHVibGljIHI6IFJvdXRlciwgcHVibGljIG1lbnU6IE1lbnVDb250cm9sbGVyLCBwdWJsaWMgdXRpbDogVXRpbFNlcnZpY2UsIHB1YmxpYyBhciA6IEFjdGl2YXRlZFJvdXRlKSB7IH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNldHVwVXNlck1lbnUoKTtcclxuICAgIHRoaXMuc2hvd0ZhdkJ1dHRvbiA9IHRoaXMubHMuaXNDc3IoKTtcclxuICB9XHJcblxyXG4gIHNldE1lbnUodXNlcjogVXNlck1vZGVsKSB7XHJcbiAgICBpZiAodXNlcikge1xyXG4gICAgICB0aGlzLm5zLnNldHVwTm90aWZpY2F0aW9uVGltZXIoKTtcclxuICAgICAgaWYoIXRoaXMubHMuaXNDbGFpbWFudCgpIHx8IHRoaXMubGVnYWN5TWVudSA9PSAndHJ1ZScpe1xyXG4gICAgICAgIHRoaXMubG9hZE1lbnUoKTtcclxuICAgICAgfWVsc2Uge1xyXG4gICAgICAgIHRoaXMuc2V0Q2xhaW1hbnRNZW51KCk7XHJcbiAgICAgIH1cclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMubWVudXMgPSBbXTtcclxuICAgICAgdGhpcy5ucy5yZW1vdmVOb3RpZmljYXRpb25UaW1lcigpO1xyXG4gICAgfVxyXG4gICAgdGhpcy5zaG93RmF2QnV0dG9uID0gdGhpcy5scy5pc0NzcigpO1xyXG4gIH1cclxuXHJcbiAgc2V0Q2xhaW1hbnRNZW51KCl7XHJcbiAgICB0aGlzLm1lbnVzID0gW1xyXG4gICAgIHtcclxuICAgICAgIGxhYmVsOiBcIk1lbnVzXCIsXHJcbiAgICAgICAgaXRlbXM6IFtcclxuICAgICAgICAgIHtcclxuICAgICAgICAgICAgXCJsYWJlbFwiOiBcIkhvbWVcIiwgXHJcbiAgICAgICAgICAgIFwic3RhdGVcIiA6IHtcclxuICAgICAgICAgICAgICBcImNvbnNvcnRpdW1TdGF0ZVwiIDogW1wibXNcIl0sXHJcbiAgICAgICAgICAgICAgXCJyb2xlc1wiIDogW1wiY2xhaW1hbnRcIl0sXHJcbiAgICAgICAgICAgICAgXCJyb3V0ZXJMaW5rXCI6IFwid2VsY29tZVwiLFxyXG4gICAgICAgICAgICAgIFwiY29udGV4dFwiIDogXCJjcFwiLFxyXG4gICAgICAgICAgICAgIFwiaWRcIjogXCJtZW51LTE4XCJcclxuICAgICAgICAgICAgfX0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBcImxhYmVsXCI6IFwiQ2xhaW1zXCIsIFxyXG4gICAgICAgICAgICAgIFwic3RhdGVcIiA6IHtcclxuICAgICAgICAgICAgICAgIFwiY29uc29ydGl1bVN0YXRlXCIgOiBbXCJtc1wiXSxcclxuICAgICAgICAgICAgICAgIFwicm9sZXNcIiA6IFtcImNsYWltYW50XCJdLFxyXG4gICAgICAgICAgICAgICAgXCJyb3V0ZXJMaW5rXCI6IFwiY2xhaW1hbnQtaW5kdWN0aW9uXCIsXHJcbiAgICAgICAgICAgICAgICBcImNvbnRleHRcIiA6IFwiY3BcIixcclxuICAgICAgICAgICAgICAgIFwiaWRcIjogXCJtZW51LTE5XCJcclxuICAgICAgICAgICAgfX0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgXCJsYWJlbFwiOiBcIldlZWtseVwiLCBcclxuICAgICAgICAgICAgXCJzdGF0ZVwiIDoge1xyXG4gICAgICAgICAgICAgIFwiY29uc29ydGl1bVN0YXRlXCIgOiBbXCJtc1wiXSxcclxuICAgICAgICAgICAgICBcInJvbGVzXCIgOiBbXCJjbGFpbWFudFwiXSxcclxuICAgICAgICAgICAgICBcInJvdXRlckxpbmtcIjogXCJ2My93ZWVrbGllc1wiLFxyXG4gICAgICAgICAgICAgIFwiY29udGV4dFwiIDogXCJjcFwiLFxyXG4gICAgICAgICAgICAgIFwiaWRcIjogXCJtZW51LTE2XCJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgICBcImxhYmVsXCI6IFwiSGlzdG9yeVwiLCBcclxuICAgICAgICAgICAgXCJzdGF0ZVwiIDoge1xyXG4gICAgICAgICAgICAgIFwiY29uc29ydGl1bVN0YXRlXCIgOiBbXCJtc1wiXSxcclxuICAgICAgICAgICAgICBcInJvbGVzXCIgOiBbXCJjbGFpbWFudFwiXSxcclxuICAgICAgICAgICAgICBcInJvdXRlckxpbmtcIjogXCJoaXN0b3J5XCIsXHJcbiAgICAgICAgICAgICAgXCJjb250ZXh0XCIgOiBcImNwXCIsXHJcbiAgICAgICAgICAgICAgXCJpZFwiOiBcIm1lbnUtMTdcIlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIFwibGFiZWxcIjogXCJXb3JrIFNlYXJjaCBKb3VybmFsXCIsIFxyXG4gICAgICAgICAgICBcInN0YXRlXCIgOiB7XHJcbiAgICAgICAgICAgICAgXCJjb25zb3J0aXVtU3RhdGVcIiA6IFtcImtzXCJdLFxyXG4gICAgICAgICAgICAgIFwicm9sZXNcIiA6IFtcIndvcmstc2VhcmNoLWpvdXJuYWxcIl0sXHJcbiAgICAgICAgICAgICAgXCJyb3V0ZXJMaW5rXCI6IFwid29yay1zZWFyY2gtam91cm5hbFwiLFxyXG4gICAgICAgICAgICAgIFwiY29udGV4dFwiIDogXCJjcFwiLFxyXG4gICAgICAgICAgICAgIFwiaWRcIjogXCJtZW51LTIwXCJcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgIH1cclxuICAgICAgICBdXHJcbiAgICAgfVxyXG4gICAgXTtcclxuICAgIHRoaXMubHMuZ2V0TWVudUJzKCkubmV4dCh0aGlzLm1lbnVzKTtcclxuICB9XHJcblxyXG4gIGxvYWRNZW51KCl7XHJcbiAgICB0aGlzLmxzXHJcbiAgICAgICAgLmdldFVzZXJNZW51cygpXHJcbiAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgIHJlcyA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubWVudXMgPSByZXM7XHJcbiAgICAgICAgICAgIHRoaXMubHMuZ2V0TWVudUJzKCkubmV4dCh0aGlzLm1lbnVzKTtcclxuICAgICAgICAgICAgdGhpcy5mZXRjaE5vdGlmaWNhdGlvbnMoKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlcnIgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm1lbnVzID0gW107XHJcbiAgICAgICAgICAgIHRoaXMubHMuZ2V0TWVudUJzKCkubmV4dChudWxsKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG4gIH1cclxuXHJcbiAgZmV0Y2hOb3RpZmljYXRpb25zKCl7XHJcbiAgICB0aGlzLm5zXHJcbiAgICAgICAgLmdldE5vdGlmaWNhdGlvbnMoKVxyXG4gICAgICAgIC5zdWJzY3JpYmUoXHJcbiAgICAgICAgICByZXMgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm5zLm5vdGlmaWNhdGlvbnMubmV4dChyZXMpO1xyXG4gICAgICAgICAgICB0aGlzLm5zLmdldFVucmVhZE5vdGlmaWNhdGlvbkNvdW50KCk7XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgICAgZXJyID0+IHtcclxuICAgICAgICAgICAgdGhpcy5ucy5ub3RpZmljYXRpb25Db3VudC5uZXh0KDApO1xyXG4gICAgICAgICAgICB0aGlzLm5zLm5vdGlmaWNhdGlvbnMubmV4dChbXSk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgKTtcclxuICB9XHJcblxyXG4gIHByaXZhdGUgc2V0dXBVc2VyTWVudSgpIHtcclxuICAgIHRoaXMubHNcclxuICAgICAgLmdldFVzZXJCcygpXHJcbiAgICAgIC5zdWJzY3JpYmUodXNlciA9PiB7XHJcbiAgICAgICAgaWYodXNlciAmJiAhdXNlci5pczJGQVJlcXVpcmVkKXtcclxuICAgICAgICAgIHRoaXMuc2V0TWVudSh1c2VyKTtcclxuICAgICAgICB9IGVsc2V7XHJcbiAgICAgICAgICB0aGlzLm1lbnVzID0gW107XHJcbiAgICAgICAgICB0aGlzLm5zLnJlbW92ZU5vdGlmaWNhdGlvblRpbWVyKCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIG9wZW5QYWdlKG1lbnU6IE1lbnVJdGVtKSB7XHJcbiAgICBpZiAoIW1lbnUpIHtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgbGV0IGFwcE5hbWUgPSBtZW51LnN0YXRlLmFwcDtcclxuICAgIGxldCBtZW51Q29udGV4dFJvb3QgPSBgLyR7bWVudS5zdGF0ZS5jb250ZXh0fWA7XHJcbiAgICBsZXQgcGFnZVRvTmF2aWdhdGUgOiBzdHJpbmcgPSBtZW51LnN0YXRlLnJvdXRlckxpbms7XHJcblxyXG4gICAgaWYoYXBwTmFtZSA9PSAnYmVuJyl7XHJcbiAgICAgIHRoaXMudXRpbC5zaG93TG9hZGVyKCkudGhlbigoKSA9PiB7XHJcbiAgICAgICAgd2luZG93Lm9wZW4oYCR7TGliQ29uc3RhbnRzLmJlbmVmaXRzVXJsRXh0ZXJuYWx9JHttZW51Q29udGV4dFJvb3R9LyR7cGFnZVRvTmF2aWdhdGV9P2E9JHt0aGlzLmxzLmdldFVzZXIoKS5hY2Nlc3NfdG9rZW59JnI9JHt0aGlzLmxzLmdldFVzZXIoKS5yZWZyZXNoX3Rva2VufSZ2PTIyOTlgLCAnX3NlbGYnKTtcclxuICAgICAgfSk7XHJcbiAgICB9ZWxzZSBpZihhcHBOYW1lID09ICd0YXgnKXtcclxuICAgICAgdGhpcy51dGlsLnNob3dMb2FkZXIoKS50aGVuKCgpID0+IHtcclxuICAgICAgICB3aW5kb3cub3BlbihgJHtMaWJDb25zdGFudHMudGF4VXJsRXh0ZXJuYWx9JHttZW51Q29udGV4dFJvb3R9LyR7cGFnZVRvTmF2aWdhdGV9P2E9JHt0aGlzLmxzLmdldFVzZXIoKS5hY2Nlc3NfdG9rZW59JnI9JHt0aGlzLmxzLmdldFVzZXIoKS5yZWZyZXNoX3Rva2VufSZ2PTIyOTlgLCAnX3NlbGYnKTtcclxuICAgICAgfSk7XHJcbiAgICB9XHJcblxyXG4gICAgbGV0IGN1cnJlbnRDb250ZXh0Um9vdCA9IHRoaXMudXRpbC5nZXRDb250ZXh0Um9vdCgpO1xyXG4gICAgXHJcbiAgICBpZihjdXJyZW50Q29udGV4dFJvb3QgPT0gbWVudUNvbnRleHRSb290KXtcclxuICAgICAgdGhpcy5yLm5hdmlnYXRlQnlVcmwoYC8ke3BhZ2VUb05hdmlnYXRlfWApO1xyXG4gICAgfSBlbHNle1xyXG4gICAgICB0aGlzLnV0aWwub3BlblBhZ2VCeUNvbnRleHRSb290KG1lbnVDb250ZXh0Um9vdCwgbWVudS5zdGF0ZS5yb3V0ZXJMaW5rKTtcclxuICAgIH1cclxuICAgIHRoaXMubWVudS5jbG9zZSgpO1xyXG4gIH1cclxuXHJcbiAgbWFya0Zhdm91cml0ZShpdGVtKXtcclxuICAgIGlmKGl0ZW0uc3RhdGUuaXNGYXYpe1xyXG4gICAgICBpdGVtLnN0YXRlLmlzRmF2ID0gIWl0ZW0uc3RhdGUuaXNGYXY7XHJcbiAgICAgIHRoaXMubHNcclxuICAgICAgICAgIC5yZW1vdmVGYXYoaXRlbS5zdGF0ZS5pZClcclxuICAgICAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICAgICAgdGhpcy5scy5nZXRNZW51QnMoKS5uZXh0KHJlcyk7XHJcbiAgICAgICAgICAgIHRoaXMudXRpbC50b2FzdChcIlJlbW92ZWQgRmF2b3VyaXRlLlwiKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgfWVsc2Uge1xyXG4gICAgICBpdGVtLnN0YXRlLmlzRmF2ID0gIWl0ZW0uc3RhdGUuaXNGYXY7XHJcbiAgICAgIHRoaXMubHNcclxuICAgICAgICAgIC5tYXJrRmF2KGl0ZW0uc3RhdGUuaWQpXHJcbiAgICAgICAgICAuc3Vic2NyaWJlKHJlcyA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubHMuZ2V0TWVudUJzKCkubmV4dChyZXMpO1xyXG4gICAgICAgICAgICB0aGlzLnV0aWwudG9hc3QoXCJNYXJrZWQgRmF2b3VyaXRlLlwiKTtcclxuICAgICAgICAgIH0pO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgb3BlbkhvbWUoKXtcclxuICAgIHRoaXMubmF2Lm5hdmlnYXRlUm9vdCgnL3dlbGNvbWUnKTtcclxuICB9XHJcblxyXG4gIG1lbnVPcGVuZWQoKXtcclxuICAgIHRoaXMucmVSZW5kZXJNZW51ID0gZmFsc2U7XHJcbiAgICB0aGlzLnJlUmVuZGVyTWVudSA9IHRydWU7XHJcbiAgfVxyXG5cclxuICBzaG93SWNvbihpdGVtKXtcclxuICAgIGxldCBjdXJyZW50Um91dGUgPSB0aGlzLnIudXJsLnJlcGxhY2UoJy8nLCAnJyk7XHJcbiAgICByZXR1cm4gY3VycmVudFJvdXRlLmluY2x1ZGVzKGl0ZW0uc3RhdGUucm91dGVyTGluayk7XHJcbiAgfVxyXG5cclxuICBuYXZpZ2F0ZShjb250ZXh0Um9vdCwgdXJpKXtcclxuICAgIGxldCBjdXJyZW50Q29udGV4dFJvb3QgPSB0aGlzLnV0aWwuZ2V0Q29udGV4dFJvb3QoKTtcclxuICAgIGxldCB0YXJnZXQgPSBgLyR7Y29udGV4dFJvb3R9YDtcclxuXHJcbiAgICBpZihjdXJyZW50Q29udGV4dFJvb3QgPT0gdGFyZ2V0KXtcclxuICAgICAgdGhpcy5uYXYubmF2aWdhdGVGb3J3YXJkKGAvJHt1cml9YCk7XHJcbiAgICB9ZWxzZXtcclxuICAgICAgdGhpcy51dGlsLm9wZW5QYWdlQnlDb250ZXh0Um9vdCh0YXJnZXQsIHVyaSk7XHJcbiAgICB9XHJcbiAgICB0aGlzLm1lbnUuY2xvc2UoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIHByZXNlbnRNeU5vdGlmaWNhdGlvblBvcG92ZXIoZXZlbnQpIHtcclxuICAgIGNvbnN0IHBvcG92ZXIgPSBhd2FpdCB0aGlzLnBvcHVwLmNyZWF0ZSh7XHJcbiAgICAgIGNvbXBvbmVudDogTXlOb3RpZmljYXRpb25zUGFnZSxcclxuICAgICAgdHJhbnNsdWNlbnQ6IHRydWUsXHJcbiAgICAgIGJhY2tkcm9wRGlzbWlzczogdHJ1ZSxcclxuICAgICAgY3NzQ2xhc3M6ICdoZWFkZXItcG9wb3ZlcidcclxuICAgIH0pO1xyXG5cclxuICAgIHBvcG92ZXIub25EaWREaXNtaXNzKCkudGhlbigoKSA9PiB7XHJcbiAgICAgIHRoaXMubnMudXBkYXRlUmVhZEZsYWcoKTtcclxuICAgIH0pXHJcbiAgICB0aGlzLm1lbnUuY2xvc2UoKTtcclxuICAgIHJldHVybiBhd2FpdCBwb3BvdmVyLnByZXNlbnQoKTtcclxuICB9XHJcblxyXG4gIGFzeW5jIHByZXNlbnRNeVByb2ZpbGVQb3BvdmVyKGV2ZW50KSB7XHJcblxyXG4gICAgaWYodGhpcy5scy5pc0NsYWltYW50KCkpe1xyXG4gICAgICB0aGlzLnNob3dQcm9maWxlUG9wdXAgPSB0cnVlO1xyXG4gICAgICB0aGlzLm1lbnUuY2xvc2UoKTtcclxuICAgICAgcmV0dXJuO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgICBjb25zdCBwb3BvdmVyID0gYXdhaXQgdGhpcy5wb3B1cC5jcmVhdGUoe1xyXG4gICAgICBjb21wb25lbnQ6IE15UHJvZmlsZVBhZ2UsXHJcbiAgICAgIHRyYW5zbHVjZW50OiB0cnVlLFxyXG4gICAgICBiYWNrZHJvcERpc21pc3M6IHRydWUsXHJcbiAgICAgIGNzc0NsYXNzOiAnaGVhZGVyLXBvcG92ZXInXHJcbiAgICB9KTtcclxuICAgIFxyXG4gICAgcmV0dXJuIGF3YWl0IHBvcG92ZXIucHJlc2VudCgpO1xyXG4gIH1cclxuXHJcbiAgbG9nb3V0KCl7XHJcbiAgICB0aGlzLm5hdi5uYXZpZ2F0ZVJvb3QoJy9sYW5kaW5nJyk7XHJcbiAgICB0aGlzLmxzLmxvZ291dCgpO1xyXG4gIH1cclxufVxyXG4iLCI8aW9uLW1lbnUgc2lkZT1cInN0YXJ0XCIgbWVudUlkPVwiZmlyc3RcIiBjb250ZW50SWQ9XCJtYWluLWNvbnRlbnRcIiAqbmdJZj1cImxzLmlzTG9nZ2VkSW4oKSAmJiBtZW51cyAmJiBtZW51cy5sZW5ndGggPiAwXCIgKGlvbkRpZE9wZW4pPVwibWVudU9wZW5lZCgpXCI+XHJcbiAgPGlvbi1oZWFkZXI+XHJcbiAgICA8aW9uLXRvb2xiYXI+XHJcbiAgICAgIDxpb24tYnV0dG9ucyBzbG90PVwic3RhcnRcIj5cclxuICAgICAgICA8aW9uLW1lbnUtYnV0dG9uIGF1dG9IaWRlPVwiZmFsc2VcIiBwVG9vbHRpcD1cIkNsb3NlIG1lbnVcIiB0b29sdGlwUG9zaXRpb249XCJib3R0b21cIlxyXG4gICAgICAgICAgICAgICpuZ0lmPVwibHMuaXNMb2dnZWRJbigpXCI+ICAgIFxyXG4gICAgICAgICAgICAgIDxpb24taWNvbiBjb2xvcj1cInN1Y2Nlc3NcIiBuYW1lPVwiY2xvc2VcIj48L2lvbi1pY29uPlxyXG4gICAgICAgIDwvaW9uLW1lbnUtYnV0dG9uPlxyXG4gICAgICA8L2lvbi1idXR0b25zPlxyXG4gICAgPC9pb24tdG9vbGJhcj5cclxuICA8L2lvbi1oZWFkZXI+XHJcbiAgPGlvbi1jb250ZW50PlxyXG4gICAgPHAtYWNjb3JkaW9uICpuZ0lmPVwibWVudXMgJiYgbWVudXMubGVuZ3RoID4gMCAmJiAoIWxzLmlzQ2xhaW1hbnQoKSB8fCBsZWdhY3lNZW51ID09ICd0cnVlJylcIj5cclxuICAgICAgPHAtYWNjb3JkaW9uVGFiICpuZ0Zvcj1cImxldCBtZW51IG9mIGxzLmdldE1lbnVCcygpIHwgYXN5bmM7IGxldCBpID0gaW5kZXhcIiBbaGVhZGVyXT1cIm1lbnUubGFiZWxcIj5cclxuICAgICAgICA8aW9uLWxpc3Q+XHJcbiAgICAgICAgICA8aW9uLWl0ZW0gYnV0dG9uICpuZ0Zvcj1cImxldCBpdGVtIG9mIG1lbnUuaXRlbXNcIiAoY2xpY2spPVwib3BlblBhZ2UoaXRlbSlcIiBsaW5lcz1cIm5vbmVcIj5cclxuICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJsaW5rXCIgY29sb3I9XCJwcmltYXJ5XCIgc2xvdD1cInN0YXJ0XCIgKm5nSWY9XCIhaXRlbS5pY29uXCIgc3R5bGU9XCJtYXJnaW4taW5saW5lLWVuZDogMTVweCAhaW1wb3J0YW50O1wiPjwvaW9uLWljb24+XHJcbiAgICAgICAgICAgIDxpb24taWNvbiBbbmFtZV09XCJpdGVtLmljb25cIiBjb2xvcj1cInByaW1hcnlcIiBzbG90PVwic3RhcnRcIiAqbmdJZj1cIml0ZW0uaWNvblwiIHN0eWxlPVwibWFyZ2luLWlubGluZS1lbmQ6IDE1cHggIWltcG9ydGFudDtcIj48L2lvbi1pY29uPlxyXG4gICAgICAgICAgICA8aW9uLWxhYmVsIGNvbG9yPVwicHJpbWFyeVwiIHN0eWxlPVwiZm9udC1zaXplOiBzbWFsbDtcIj57e2l0ZW0ubGFiZWx9fTwvaW9uLWxhYmVsPlxyXG4gICAgICAgICAgICA8aW9uLWJ1dHRvbiBzbG90PVwiZW5kXCIgKGNsaWNrKT1cIm1hcmtGYXZvdXJpdGUoaXRlbSk7ICRldmVudC5zdG9wUHJvcGFnYXRpb24oKTtcIiBjb2xvcj1cIndhcm5pbmdcIiAqbmdJZj1cInNob3dGYXZCdXR0b25cIj5cclxuICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cInN0YXItb3V0bGluZVwiICpuZ0lmPVwiIWl0ZW0uc3RhdGUuaXNGYXZcIj48L2lvbi1pY29uPlxyXG4gICAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwic3Rhci1zaGFycFwiICpuZ0lmPVwiaXRlbS5zdGF0ZS5pc0ZhdlwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgICAgIDwvaW9uLWJ1dHRvbj5cclxuICAgICAgICAgIDwvaW9uLWl0ZW0+XHJcbiAgICAgICAgPC9pb24tbGlzdD5cclxuICAgICAgPC9wLWFjY29yZGlvblRhYj5cclxuICAgIDwvcC1hY2NvcmRpb24+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cIm1lbnVzICYmIG1lbnVzLmxlbmd0aCA+IDAgJiYgKGxzLmlzQ2xhaW1hbnQoKSAmJiBsZWdhY3lNZW51ID09ICdmYWxzZScpXCI+XHJcbiAgICAgIDxkaXYgKm5nRm9yPVwibGV0IG1lbnUgb2YgbHMuZ2V0TWVudUJzKCkgfCBhc3luYzsgbGV0IGkgPSBpbmRleDsgbGV0IGlzTGFzdCA9IGxhc3RcIj5cclxuICAgICAgICA8aW9uLWxpc3Q+XHJcbiAgICAgICAgICA8aW9uLWl0ZW0gYnV0dG9uICpuZ0Zvcj1cImxldCBpdGVtIG9mIG1lbnUuaXRlbXNcIiAoY2xpY2spPVwib3BlblBhZ2UoaXRlbSlcIiBsaW5lcz1cIm5vbmVcIj5cclxuICAgICAgICAgICAgPGlvbi1sYWJlbCBjb2xvcj1cInByaW1hcnlcIiBzdHlsZT1cImZvbnQtc2l6ZTogMzFweDtcIiBbbmdDbGFzc109XCJzaG93SWNvbihpdGVtKSA/ICdzZWxlY3RlZC1tZW51JyA6ICdzZWxlY3RlZC1tZW51LXVuc2VsZWN0J1wiPnt7aXRlbS5sYWJlbH19PC9pb24tbGFiZWw+XHJcbiAgICAgICAgICA8L2lvbi1pdGVtPlxyXG4gICAgICAgIDwvaW9uLWxpc3Q+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8cC1kaXZpZGVyPjwvcC1kaXZpZGVyPlxyXG5cclxuICAgICAgPGlvbi1saXN0PlxyXG4gICAgICAgIDxpb24taXRlbSBidXR0b24gbGluZXM9XCJub25lXCIgKGNsaWNrKT1cInByZXNlbnRNeVByb2ZpbGVQb3BvdmVyKCRldmVudClcIj5cclxuICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwicGVyc29uLWNpcmNsZS1vdXRsaW5lXCIgc2xvdD1cInN0YXJ0XCIgY2xhc3M9XCJtZW51LWljb25cIiBjb2xvcj1cInByaW1hcnlcIj48L2lvbi1pY29uPlxyXG4gICAgICAgICAgPGlvbi1sYWJlbCBjb2xvcj1cInByaW1hcnlcIiBzdHlsZT1cImZvbnQtc2l6ZTogMzFweDtcIj5Vc2VyIFByb2ZpbGU8L2lvbi1sYWJlbD5cclxuICAgICAgICA8L2lvbi1pdGVtPlxyXG4gICAgICAgIDxpb24taXRlbSBidXR0b24gbGluZXM9XCJub25lXCIgKGNsaWNrKT1cIm5hdmlnYXRlKCdjcCcsICdkb2N1bWVudHMnKVwiPlxyXG4gICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJkb2N1bWVudC10ZXh0LW91dGxpbmVcIiBzbG90PVwic3RhcnRcIiBjbGFzcz1cIm1lbnUtaWNvblwiIGNvbG9yPVwicHJpbWFyeVwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgICA8aW9uLWxhYmVsIGNvbG9yPVwicHJpbWFyeVwiIHN0eWxlPVwiZm9udC1zaXplOiAzMXB4O1wiPkRvY3VtZW50czwvaW9uLWxhYmVsPlxyXG4gICAgICAgIDwvaW9uLWl0ZW0+XHJcbiAgICAgICAgPGlvbi1pdGVtIGJ1dHRvbiBsaW5lcz1cIm5vbmVcIiAoY2xpY2spPVwibG9nb3V0KClcIj5cclxuICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwibG9nLW91dC1vdXRsaW5lXCIgc2xvdD1cInN0YXJ0XCIgY2xhc3M9XCJtZW51LWljb25cIiBjb2xvcj1cInByaW1hcnlcIj48L2lvbi1pY29uPlxyXG4gICAgICAgICAgPGlvbi1sYWJlbCBjb2xvcj1cInByaW1hcnlcIiBzdHlsZT1cImZvbnQtc2l6ZTogMzFweDtcIj5Mb2dvdXQ8L2lvbi1sYWJlbD5cclxuICAgICAgICA8L2lvbi1pdGVtPlxyXG4gICAgICA8L2lvbi1saXN0PlxyXG5cclxuICAgIDwvZGl2PlxyXG4gIDwvaW9uLWNvbnRlbnQ+XHJcbjwvaW9uLW1lbnU+XHJcbjxhcHAtcHJvZmlsZSAqbmdJZj1cInNob3dQcm9maWxlUG9wdXBcIiAob25DYW5jZWwpPVwic2hvd1Byb2ZpbGVQb3B1cCA9ICFzaG93UHJvZmlsZVBvcHVwXCI+PC9hcHAtcHJvZmlsZT4iXX0=
449
+ args: [{ selector: 'app-menu', template: "<ion-menu side=\"start\" menuId=\"first\" contentId=\"main-content\" *ngIf=\"ls.isLoggedIn() && menus && menus.length > 0\" (ionDidOpen)=\"menuOpened()\">\r\n <ion-header>\r\n <ion-toolbar>\r\n <ion-buttons slot=\"start\">\r\n <ion-menu-button autoHide=\"false\" pTooltip=\"{{'header.menu.close' | translate}}\" tooltipPosition=\"bottom\"\r\n *ngIf=\"ls.isLoggedIn()\"> \r\n <ion-icon color=\"success\" name=\"close\"></ion-icon>\r\n </ion-menu-button>\r\n </ion-buttons>\r\n </ion-toolbar>\r\n </ion-header>\r\n <ion-content>\r\n <p-accordion *ngIf=\"menus && menus.length > 0 && (!ls.isClaimant() || legacyMenu == 'true')\">\r\n <p-accordionTab *ngFor=\"let menu of ls.getMenuBs() | async; let i = index\" [header]=\"menu.label\">\r\n <ion-list>\r\n <ion-item button *ngFor=\"let item of menu.items\" (click)=\"openPage(item)\" lines=\"none\">\r\n <ion-icon name=\"link\" color=\"primary\" slot=\"start\" *ngIf=\"!item.icon\" style=\"margin-inline-end: 15px !important;\"></ion-icon>\r\n <ion-icon [name]=\"item.icon\" color=\"primary\" slot=\"start\" *ngIf=\"item.icon\" style=\"margin-inline-end: 15px !important;\"></ion-icon>\r\n <ion-label color=\"primary\" style=\"font-size: small;\">{{item.label}}</ion-label>\r\n <ion-button slot=\"end\" (click)=\"markFavourite(item); $event.stopPropagation();\" color=\"warning\" *ngIf=\"showFavButton\">\r\n <ion-icon name=\"star-outline\" *ngIf=\"!item.state.isFav\"></ion-icon>\r\n <ion-icon name=\"star-sharp\" *ngIf=\"item.state.isFav\"></ion-icon>\r\n </ion-button>\r\n </ion-item>\r\n </ion-list>\r\n </p-accordionTab>\r\n </p-accordion>\r\n\r\n <div *ngIf=\"menus && menus.length > 0 && (ls.isClaimant() && legacyMenu == 'false')\">\r\n <div *ngFor=\"let menu of ls.getMenuBs() | async; let i = index; let isLast = last\">\r\n <ion-list>\r\n <ion-item button *ngFor=\"let item of menu.items\" (click)=\"openPage(item)\" lines=\"none\">\r\n <ion-label color=\"primary\" style=\"font-size: 31px;\" [ngClass]=\"showIcon(item) ? 'selected-menu' : 'selected-menu-unselect'\">{{item.label}}</ion-label>\r\n </ion-item>\r\n </ion-list>\r\n </div>\r\n <p-divider></p-divider>\r\n\r\n <ion-list>\r\n <ion-item button lines=\"none\" (click)=\"presentMyProfilePopover($event)\">\r\n <ion-icon name=\"person-circle-outline\" slot=\"start\" class=\"menu-icon\" color=\"primary\"></ion-icon>\r\n <ion-label color=\"primary\" style=\"font-size: 31px;\">{{userProfileLabel}}</ion-label>\r\n </ion-item>\r\n <ion-item button lines=\"none\" (click)=\"navigate('cp', 'documents')\">\r\n <ion-icon name=\"document-text-outline\" slot=\"start\" class=\"menu-icon\" color=\"primary\"></ion-icon>\r\n <ion-label color=\"primary\" style=\"font-size: 31px;\">{{userDocumentsLabel}}</ion-label>\r\n </ion-item>\r\n <ion-item button lines=\"none\" (click)=\"logout()\">\r\n <ion-icon name=\"log-out-outline\" slot=\"start\" class=\"menu-icon\" color=\"primary\"></ion-icon>\r\n <ion-label color=\"primary\" style=\"font-size: 31px;\">{{userLogoutLabel}}</ion-label>\r\n </ion-item>\r\n </ion-list>\r\n\r\n </div>\r\n </ion-content>\r\n</ion-menu>\r\n<app-profile *ngIf=\"showProfilePopup\" (onCancel)=\"showProfilePopup = !showProfilePopup\"></app-profile>", styles: ["ion-menu ion-content{--background: var(--ion-item-background, var(--ion-background-color, #fff))}ion-note{display:inline-block;font-size:16px;color:var(--ion-color-medium-shade)}ion-item.selected{--color: var(--ion-color-primary)}mat-expansion-panel-header{background:var(--ion-color-light)}.link{margin-right:25px;cursor:pointer;text-decoration:none;pointer-events:auto!important}.link:hover{color:var(--ion-color-yellow)!important}.footer-links{color:var(--ion-color-grey)!important}.header-links{color:var(--ion-color-primary)!important}.ios ion-menu::part(container){padding-top:25px!important}.selected-menu{-webkit-text-decoration:underline 2px;text-decoration:underline 2px;text-underline-offset:3px;text-decoration-color:var(--ion-color-secondary)}.selected-menu-unselect{text-decoration:none}.menu-icon{margin-inline-end:15px!important;font-size:20px}.item:nth-child(5) ion-label.sc-ion-label-md-h{font-size:31px;text-indent:-25px;margin-left:25px;overflow:visible;line-height:35px;white-space:normal}:host ::ng-deep .p-accordion .p-accordion-content{padding:0!important}:host ::ng-deep .p-accordion .p-accordion-header .p-accordion-header-link{padding:1.25rem .5rem!important}:host ::ng-deep .p-accordion-header{background:var(--ion-color-light)!important}\n"] }]
450
+ }], () => [{ type: i1.NavController }, { type: i1.PopoverController }, { type: i2.LoginService }, { type: i3.NotificationService }, { type: i4.Router }, { type: i1.MenuController }, { type: i5.UtilService }, { type: i4.ActivatedRoute }, { type: i6.TranslateService }], null); })();
451
+ (() => { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassDebugInfo(MenuComponent, { className: "MenuComponent", filePath: "lib\\components\\menu\\menu.component.ts", lineNumber: 19 }); })();
452
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWVudS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtcmV1c2EtYXBwLWxpYi9zcmMvbGliL2NvbXBvbmVudHMvbWVudS9tZW51LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL25neC1yZXVzYS1hcHAtbGliL3NyYy9saWIvY29tcG9uZW50cy9tZW51L21lbnUuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUlsRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sMkJBQTJCLENBQUM7QUFFekQsT0FBTyxFQUFFLG1CQUFtQixFQUFFLE1BQU0sNkRBQTZELENBQUM7QUFDbEcsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLGlEQUFpRCxDQUFDOzs7Ozs7Ozs7Ozs7OztJQ0h4RSwwQ0FDOEI7O0lBQ3hCLDhCQUFrRDtJQUN4RCxpQkFBa0I7O0lBSGdCLCtFQUE4Qzs7O0lBWTVFLCtCQUE2SDs7O0lBQzdILCtCQUFtSTs7O0lBQXpILG1DQUFrQjs7O0lBRzFCLCtCQUFtRTs7O0lBQ25FLCtCQUFnRTs7OztJQUZsRSxzQ0FBc0g7SUFBL0YsMFFBQVMsOEJBQW1CLFNBQUUsZUFBQSx3QkFBd0IsQ0FBQSxJQUFFO0lBQzdFLDJJQUFtRSw4SEFBQTtJQUVyRSxpQkFBYTs7O0lBRm9CLGVBQXVCO0lBQXZCLDJDQUF1QjtJQUN6QixlQUFzQjtJQUF0QiwwQ0FBc0I7Ozs7SUFOdkQsb0NBQXVGO0lBQXRDLHlRQUFTLGVBQUEseUJBQWMsQ0FBQSxJQUFDO0lBQ3ZFLDhIQUE2SCxpSEFBQTtJQUU3SCxxQ0FBcUQ7SUFBQSxZQUFjO0lBQUEsaUJBQVk7SUFDL0Usa0lBR2E7SUFDZixpQkFBVzs7OztJQVAyQyxlQUFnQjtJQUFoQixvQ0FBZ0I7SUFDVCxlQUFlO0lBQWYsbUNB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QUksZ0JBQWdCO1FBQ2xCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDO0lBQzlELENBQUM7SUFFRCxJQUFJLGtCQUFrQjtRQUNwQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxPQUFPLENBQUMsa0JBQWtCLENBQUMsQ0FBQztJQUMzRCxDQUFDO0lBRUQsSUFBSSxlQUFlO1FBQ2pCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsWUFBWTtRQUNWLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxhQUFhLENBQUMsQ0FBQztJQUN0RCxDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsY0FBYztRQUNaLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxlQUFlLENBQUMsQ0FBQztJQUN4RCxDQUFDO0lBRUQsZUFBZTtRQUNiLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDO0lBQ3pELENBQUM7SUFFRCxrQkFBa0I7UUFDaEIsT0FBTyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUM7SUFDN0QsQ0FBQzs4RUF6UlUsYUFBYTtvRUFBYixhQUFhO1lDbEIxQix3RUF1RFcsaUVBQUE7O1lBdkRxRCwrRUFBa0Q7WUF3RHBHLGVBQXNCO1lBQXRCLDJDQUFzQjs7O2lGRHRDdkIsYUFBYTtjQUx6QixTQUFTOzJCQUNFLFVBQVU7O2tGQUlULGFBQWEiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBBY3RpdmF0ZWRSb3V0ZSwgUm91dGVyIH0gZnJvbSAnQGFuZ3VsYXIvcm91dGVyJztcclxuaW1wb3J0IHsgTWVudUNvbnRyb2xsZXIsIE5hdkNvbnRyb2xsZXIsIFBvcG92ZXJDb250cm9sbGVyIH0gZnJvbSAnQGlvbmljL2FuZ3VsYXInO1xyXG5pbXBvcnQgeyBNZW51SXRlbSB9IGZyb20gJ3ByaW1lbmcvYXBpJztcclxuaW1wb3J0IHsgTGliQ29uc3RhbnRzIH0gZnJvbSAnLi4vLi4vbW9kZWxzL0xpYkNvbnN0YW50cyc7XHJcbmltcG9ydCB7IFVzZXJNb2RlbCB9IGZyb20gJy4uLy4uL21vZGVscy9Vc2VyTW9kZWwnO1xyXG5pbXBvcnQgeyBNeU5vdGlmaWNhdGlvbnNQYWdlIH0gZnJvbSAnLi4vLi4vcGFnZXMvcG9wb3ZlcnMvbXktbm90aWZpY2F0aW9ucy9teS1ub3RpZmljYXRpb25zLnBhZ2UnO1xyXG5pbXBvcnQgeyBNeVByb2ZpbGVQYWdlIH0gZnJvbSAnLi4vLi4vcGFnZXMvcG9wb3ZlcnMvbXktcHJvZmlsZS9teS1wcm9maWxlLnBhZ2UnO1xyXG5pbXBvcnQgeyBMb2dpblNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy9sb2dpbi9sb2dpbi5zZXJ2aWNlJztcclxuaW1wb3J0IHsgTm90aWZpY2F0aW9uU2VydmljZSB9IGZyb20gJy4uLy4uL3NlcnZpY2VzL25vdGlmaWNhdGlvbi9ub3RpZmljYXRpb24uc2VydmljZSc7XHJcbmltcG9ydCB7IFV0aWxTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdXRpbC91dGlsLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBUcmFuc2xhdGVTZXJ2aWNlIH0gZnJvbSAnQG5neC10cmFuc2xhdGUvY29yZSc7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2FwcC1tZW51JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vbWVudS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmxzOiBbJy4vbWVudS5jb21wb25lbnQuc2NzcyddLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgTWVudUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcblxyXG4gIHB1YmxpYyBtZW51czogTWVudUl0ZW1bXTtcclxuICBwdWJsaWMgYXBwVmVyc2lvbiA9IExpYkNvbnN0YW50cy5hcHBWZXJzaW9uO1xyXG4gIHB1YmxpYyBzaG93RmF2QnV0dG9uID0gZmFsc2U7XHJcbiAgcHVibGljIHJlUmVuZGVyTWVudSA9IHRydWU7XHJcbiAgcHVibGljIGxlZ2FjeU1lbnUgPSBMaWJDb25zdGFudHMubGVnYWN5TWVudTtcclxuICBwdWJsaWMgc2hvd1Byb2ZpbGVQb3B1cCA6IGJvb2xlYW4gPSBmYWxzZTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBuYXY6IE5hdkNvbnRyb2xsZXIsIHB1YmxpYyBwb3B1cDogUG9wb3ZlckNvbnRyb2xsZXIsIHB1YmxpYyBsczogTG9naW5TZXJ2aWNlLCBwdWJsaWMgbnM6IE5vdGlmaWNhdGlvblNlcnZpY2UsIFxyXG4gICAgICAgICAgICAgIHB1YmxpYyByOiBSb3V0ZXIsIHB1YmxpYyBtZW51OiBNZW51Q29udHJvbGxlciwgcHVibGljIHV0aWw6IFV0aWxTZXJ2aWNlLCBwdWJsaWMgYXIgOiBBY3RpdmF0ZWRSb3V0ZSwgcHVibGljIHRyYW5zbGF0ZVNlcnZpY2UgOiBUcmFuc2xhdGVTZXJ2aWNlICkge1xyXG4gICAgICAgICAgICAgICAgdGhpcy50cmFuc2xhdGVTZXJ2aWNlLnVzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImxhbmd1YWdlXCIpKTsgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UudXNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwibGFuZ3VhZ2VcIikpO1xyXG4gICAgdGhpcy5zZXR1cFVzZXJNZW51KCk7XHJcbiAgICB0aGlzLnNob3dGYXZCdXR0b24gPSB0aGlzLmxzLmlzQ3NyKCk7XHJcbiAgfVxyXG5cclxuICBzZXRNZW51KHVzZXI6IFVzZXJNb2RlbCkge1xyXG4gICAgaWYgKHVzZXIpIHtcclxuICAgICAgdGhpcy5ucy5zZXR1cE5vdGlmaWNhdGlvblRpbWVyKCk7XHJcbiAgICAgIGlmKCF0aGlzLmxzLmlzQ2xhaW1hbnQoKSB8fCB0aGlzLmxlZ2FjeU1lbnUgPT0gJ3RydWUnKXtcclxuICAgICAgICB0aGlzLmxvYWRNZW51KCk7XHJcbiAgICAgIH1lbHNlIHtcclxuICAgICAgICB0aGlzLnNldENsYWltYW50TWVudSgpO1xyXG4gICAgICB9XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLm1lbnVzID0gW107XHJcbiAgICAgIHRoaXMubnMucmVtb3ZlTm90aWZpY2F0aW9uVGltZXIoKTtcclxuICAgIH1cclxuICAgIHRoaXMuc2hvd0ZhdkJ1dHRvbiA9IHRoaXMubHMuaXNDc3IoKTtcclxuICB9XHJcblxyXG4gIHNldENsYWltYW50TWVudSgpe1xyXG4gICAgdGhpcy5tZW51cyA9IFtcclxuICAgICB7XHJcbiAgICAgICBsYWJlbDogXCJNZW51c1wiLFxyXG4gICAgICAgIGl0ZW1zOiBbXHJcbiAgICAgICAgICB7XHJcbiAgICAgICAgICAgIFwibGFiZWxcIjogIHRoaXMuZ2V0SG9tZUxhYmVsKCksXHJcbiAgICAgICAgICAgIFwic3RhdGVcIiA6IHtcclxuICAgICAgICAgICAgICBcImNvbnNvcnRpdW1TdGF0ZVwiIDogW1wibXNcIl0sXHJcbiAgICAgICAgICAgICAgXCJyb2xlc1wiIDogW1wiY2xhaW1hbnRcIl0sXHJcbiAgICAgICAgICAgICAgXCJyb3V0ZXJMaW5rXCI6IFwid2VsY29tZVwiLFxyXG4gICAgICAgICAgICAgIFwiY29udGV4dFwiIDogXCJjcFwiLFxyXG4gICAgICAgICAgICAgIFwiaWRcIjogXCJtZW51LTE4XCJcclxuICAgICAgICAgICAgfX0sXHJcbiAgICAgICAgICAgIHtcclxuICAgICAgICAgICAgICBcImxhYmVsXCI6IHRoaXMuZ2V0Q2xhaW1zTGFiZWwoKSwgXHJcbiAgICAgICAgICAgICAgXCJzdGF0ZVwiIDoge1xyXG4gICAgICAgICAgICAgICAgXCJjb25zb3J0aXVtU3RhdGVcIiA6IFtcIm1zXCJdLFxyXG4gICAgICAgICAgICAgICAgXCJyb2xlc1wiIDogW1wiY2xhaW1hbnRcIl0sXHJcbiAgICAgICAgICAgICAgICBcInJvdXRlckxpbmtcIjogXCJjbGFpbWFudC1pbmR1Y3Rpb25cIixcclxuICAgICAgICAgICAgICAgIFwiY29udGV4dFwiIDogXCJjcFwiLFxyXG4gICAgICAgICAgICAgICAgXCJpZFwiOiBcIm1lbnUtMTlcIlxyXG4gICAgICAgICAgICB9fSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICBcImxhYmVsXCI6IHRoaXMuZ2V0V2Vla2x5TGFiZWwoKSwgXHJcbiAgICAgICAgICAgIFwic3RhdGVcIiA6IHtcclxuICAgICAgICAgICAgICBcImNvbnNvcnRpdW1TdGF0ZVwiIDogW1wibXNcIl0sXHJcbiAgICAgICAgICAgICAgXCJyb2xlc1wiIDogW1wiY2xhaW1hbnRcIl0sXHJcbiAgICAgICAgICAgICAgXCJyb3V0ZXJMaW5rXCI6IFwidjMvd2Vla2xpZXNcIixcclxuICAgICAgICAgICAgICBcImNvbnRleHRcIiA6IFwiY3BcIixcclxuICAgICAgICAgICAgICBcImlkXCI6IFwibWVudS0xNlwiXHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgICAgXCJsYWJlbFwiOiB0aGlzLmdldEhpc3RvcnlMYWJlbCgpLCBcclxuICAgICAgICAgICAgXCJzdGF0ZVwiIDoge1xyXG4gICAgICAgICAgICAgIFwiY29uc29ydGl1bVN0YXRlXCIgOiBbXCJtc1wiXSxcclxuICAgICAgICAgICAgICBcInJvbGVzXCIgOiBbXCJjbGFpbWFudFwiXSxcclxuICAgICAgICAgICAgICBcInJvdXRlckxpbmtcIjogXCJoaXN0b3J5XCIsXHJcbiAgICAgICAgICAgICAgXCJjb250ZXh0XCIgOiBcImNwXCIsXHJcbiAgICAgICAgICAgICAgXCJpZFwiOiBcIm1lbnUtMTdcIlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICAgIFwibGFiZWxcIjogdGhpcy5nZXRXb3JrU2VhcmNoTGFiZWwoKSwgXHJcbiAgICAgICAgICAgIFwic3RhdGVcIiA6IHtcclxuICAgICAgICAgICAgICBcImNvbnNvcnRpdW1TdGF0ZVwiIDogW1wia3NcIl0sXHJcbiAgICAgICAgICAgICAgXCJyb2xlc1wiIDogW1wid29yay1zZWFyY2gtam91cm5hbFwiXSxcclxuICAgICAgICAgICAgICBcInJvdXRlckxpbmtcIjogXCJ3b3JrLXNlYXJjaC1qb3VybmFsXCIsXHJcbiAgICAgICAgICAgICAgXCJjb250ZXh0XCIgOiBcImNwXCIsXHJcbiAgICAgICAgICAgICAgXCJpZFwiOiBcIm1lbnUtMjBcIlxyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgfVxyXG4gICAgICAgIF1cclxuICAgICB9XHJcbiAgICBdO1xyXG4gICAgdGhpcy5scy5nZXRNZW51QnMoKS5uZXh0KHRoaXMubWVudXMpO1xyXG4gIH1cclxuXHJcbiAgbG9hZE1lbnUoKXtcclxuICAgIHRoaXMubHNcclxuICAgICAgICAuZ2V0VXNlck1lbnVzKClcclxuICAgICAgICAuc3Vic2NyaWJlKFxyXG4gICAgICAgICAgcmVzID0+IHtcclxuICAgICAgICAgICAgdGhpcy5tZW51cyA9IHJlcztcclxuICAgICAgICAgICAgdGhpcy5scy5nZXRNZW51QnMoKS5uZXh0KHRoaXMubWVudXMpO1xyXG4gICAgICAgICAgICB0aGlzLmZldGNoTm90aWZpY2F0aW9ucygpO1xyXG4gICAgICAgICAgfSxcclxuICAgICAgICAgIGVyciA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubWVudXMgPSBbXTtcclxuICAgICAgICAgICAgdGhpcy5scy5nZXRNZW51QnMoKS5uZXh0KG51bGwpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICk7XHJcbiAgfVxyXG5cclxuICBmZXRjaE5vdGlmaWNhdGlvbnMoKXtcclxuICAgIHRoaXMubnNcclxuICAgICAgICAuZ2V0Tm90aWZpY2F0aW9ucygpXHJcbiAgICAgICAgLnN1YnNjcmliZShcclxuICAgICAgICAgIHJlcyA9PiB7XHJcbiAgICAgICAgICAgIHRoaXMubnMubm90aWZpY2F0aW9ucy5uZXh0KHJlcyk7XHJcbiAgICAgICAgICAgIHRoaXMubnMuZ2V0VW5yZWFkTm90aWZpY2F0aW9uQ291bnQoKTtcclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgICBlcnIgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLm5zLm5vdGlmaWNhdGlvbkNvdW50Lm5leHQoMCk7XHJcbiAgICAgICAgICAgIHRoaXMubnMubm90aWZpY2F0aW9ucy5uZXh0KFtdKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICApO1xyXG4gIH1cclxuXHJcbiAgcHJpdmF0ZSBzZXR1cFVzZXJNZW51KCkge1xyXG4gICAgdGhpcy5sc1xyXG4gICAgICAuZ2V0VXNlckJzKClcclxuICAgICAgLnN1YnNjcmliZSh1c2VyID0+IHtcclxuICAgICAgICBpZih1c2VyICYmICF1c2VyLmlzMkZBUmVxdWlyZWQpe1xyXG4gICAgICAgICAgdGhpcy5zZXRNZW51KHVzZXIpO1xyXG4gICAgICAgIH0gZWxzZXtcclxuICAgICAgICAgIHRoaXMubWVudXMgPSBbXTtcclxuICAgICAgICAgIHRoaXMubnMucmVtb3ZlTm90aWZpY2F0aW9uVGltZXIoKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgb3BlblBhZ2UobWVudTogTWVudUl0ZW0pIHtcclxuICAgIGlmICghbWVudSkge1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBsZXQgYXBwTmFtZSA9IG1lbnUuc3RhdGUuYXBwO1xyXG4gICAgbGV0IG1lbnVDb250ZXh0Um9vdCA9IGAvJHttZW51LnN0YXRlLmNvbnRleHR9YDtcclxuICAgIGxldCBwYWdlVG9OYXZpZ2F0ZSA6IHN0cmluZyA9IG1lbnUuc3RhdGUucm91dGVyTGluaztcclxuXHJcbiAgICBpZihhcHBOYW1lID09ICdiZW4nKXtcclxuICAgICAgdGhpcy51dGlsLnNob3dMb2FkZXIoKS50aGVuKCgpID0+IHtcclxuICAgICAgICB3aW5kb3cub3BlbihgJHtMaWJDb25zdGFudHMuYmVuZWZpdHNVcmxFeHRlcm5hbH0ke21lbnVDb250ZXh0Um9vdH0vJHtwYWdlVG9OYXZpZ2F0ZX0/YT0ke3RoaXMubHMuZ2V0VXNlcigpLmFjY2Vzc190b2tlbn0mcj0ke3RoaXMubHMuZ2V0VXNlcigpLnJlZnJlc2hfdG9rZW59JnY9MjI5OWAsICdfc2VsZicpO1xyXG4gICAgICB9KTtcclxuICAgIH1lbHNlIGlmKGFwcE5hbWUgPT0gJ3RheCcpe1xyXG4gICAgICB0aGlzLnV0aWwuc2hvd0xvYWRlcigpLnRoZW4oKCkgPT4ge1xyXG4gICAgICAgIHdpbmRvdy5vcGVuKGAke0xpYkNvbnN0YW50cy50YXhVcmxFeHRlcm5hbH0ke21lbnVDb250ZXh0Um9vdH0vJHtwYWdlVG9OYXZpZ2F0ZX0/YT0ke3RoaXMubHMuZ2V0VXNlcigpLmFjY2Vzc190b2tlbn0mcj0ke3RoaXMubHMuZ2V0VXNlcigpLnJlZnJlc2hfdG9rZW59JnY9MjI5OWAsICdfc2VsZicpO1xyXG4gICAgICB9KTtcclxuICAgIH1cclxuXHJcbiAgICBsZXQgY3VycmVudENvbnRleHRSb290ID0gdGhpcy51dGlsLmdldENvbnRleHRSb290KCk7XHJcbiAgICBcclxuICAgIGlmKGN1cnJlbnRDb250ZXh0Um9vdCA9PSBtZW51Q29udGV4dFJvb3Qpe1xyXG4gICAgICB0aGlzLnIubmF2aWdhdGVCeVVybChgLyR7cGFnZVRvTmF2aWdhdGV9YCk7XHJcbiAgICB9IGVsc2V7XHJcbiAgICAgIHRoaXMudXRpbC5vcGVuUGFnZUJ5Q29udGV4dFJvb3QobWVudUNvbnRleHRSb290LCBtZW51LnN0YXRlLnJvdXRlckxpbmspO1xyXG4gICAgfVxyXG4gICAgdGhpcy5tZW51LmNsb3NlKCk7XHJcbiAgfVxyXG5cclxuICBtYXJrRmF2b3VyaXRlKGl0ZW0pe1xyXG4gICAgaWYoaXRlbS5zdGF0ZS5pc0Zhdil7XHJcbiAgICAgIGl0ZW0uc3RhdGUuaXNGYXYgPSAhaXRlbS5zdGF0ZS5pc0ZhdjtcclxuICAgICAgdGhpcy5sc1xyXG4gICAgICAgICAgLnJlbW92ZUZhdihpdGVtLnN0YXRlLmlkKVxyXG4gICAgICAgICAgLnN1YnNjcmliZShyZXMgPT4ge1xyXG4gICAgICAgICAgICB0aGlzLmxzLmdldE1lbnVCcygpLm5leHQocmVzKTtcclxuICAgICAgICAgICAgdGhpcy51dGlsLnRvYXN0KFwiUmVtb3ZlZCBGYXZvdXJpdGUuXCIpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICB9ZWxzZSB7XHJcbiAgICAgIGl0ZW0uc3RhdGUuaXNGYXYgPSAhaXRlbS5zdGF0ZS5pc0ZhdjtcclxuICAgICAgdGhpcy5sc1xyXG4gICAgICAgICAgLm1hcmtGYXYoaXRlbS5zdGF0ZS5pZClcclxuICAgICAgICAgIC5zdWJzY3JpYmUocmVzID0+IHtcclxuICAgICAgICAgICAgdGhpcy5scy5nZXRNZW51QnMoKS5uZXh0KHJlcyk7XHJcbiAgICAgICAgICAgIHRoaXMudXRpbC50b2FzdChcIk1hcmtlZCBGYXZvdXJpdGUuXCIpO1xyXG4gICAgICAgICAgfSk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBvcGVuSG9tZSgpe1xyXG4gICAgdGhpcy5uYXYubmF2aWdhdGVSb290KCcvd2VsY29tZScpO1xyXG4gIH1cclxuXHJcbiAgbWVudU9wZW5lZCgpe1xyXG4gICAgdGhpcy5yZVJlbmRlck1lbnUgPSBmYWxzZTtcclxuICAgIHRoaXMucmVSZW5kZXJNZW51ID0gdHJ1ZTtcclxuICB9XHJcblxyXG4gIHNob3dJY29uKGl0ZW0pe1xyXG4gICAgbGV0IGN1cnJlbnRSb3V0ZSA9IHRoaXMuci51cmwucmVwbGFjZSgnLycsICcnKTtcclxuICAgIHJldHVybiBjdXJyZW50Um91dGUuaW5jbHVkZXMoaXRlbS5zdGF0ZS5yb3V0ZXJMaW5rKTtcclxuICB9XHJcblxyXG4gIG5hdmlnYXRlKGNvbnRleHRSb290LCB1cmkpe1xyXG4gICAgbGV0IGN1cnJlbnRDb250ZXh0Um9vdCA9IHRoaXMudXRpbC5nZXRDb250ZXh0Um9vdCgpO1xyXG4gICAgbGV0IHRhcmdldCA9IGAvJHtjb250ZXh0Um9vdH1gO1xyXG5cclxuICAgIGlmKGN1cnJlbnRDb250ZXh0Um9vdCA9PSB0YXJnZXQpe1xyXG4gICAgICB0aGlzLm5hdi5uYXZpZ2F0ZUZvcndhcmQoYC8ke3VyaX1gKTtcclxuICAgIH1lbHNle1xyXG4gICAgICB0aGlzLnV0aWwub3BlblBhZ2VCeUNvbnRleHRSb290KHRhcmdldCwgdXJpKTtcclxuICAgIH1cclxuICAgIHRoaXMubWVudS5jbG9zZSgpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgcHJlc2VudE15Tm90aWZpY2F0aW9uUG9wb3ZlcihldmVudCkge1xyXG4gICAgY29uc3QgcG9wb3ZlciA9IGF3YWl0IHRoaXMucG9wdXAuY3JlYXRlKHtcclxuICAgICAgY29tcG9uZW50OiBNeU5vdGlmaWNhdGlvbnNQYWdlLFxyXG4gICAgICB0cmFuc2x1Y2VudDogdHJ1ZSxcclxuICAgICAgYmFja2Ryb3BEaXNtaXNzOiB0cnVlLFxyXG4gICAgICBjc3NDbGFzczogJ2hlYWRlci1wb3BvdmVyJ1xyXG4gICAgfSk7XHJcblxyXG4gICAgcG9wb3Zlci5vbkRpZERpc21pc3MoKS50aGVuKCgpID0+IHtcclxuICAgICAgdGhpcy5ucy51cGRhdGVSZWFkRmxhZygpO1xyXG4gICAgfSlcclxuICAgIHRoaXMubWVudS5jbG9zZSgpO1xyXG4gICAgcmV0dXJuIGF3YWl0IHBvcG92ZXIucHJlc2VudCgpO1xyXG4gIH1cclxuXHJcbiAgYXN5bmMgcHJlc2VudE15UHJvZmlsZVBvcG92ZXIoZXZlbnQpIHtcclxuXHJcbiAgICBpZih0aGlzLmxzLmlzQ2xhaW1hbnQoKSl7XHJcbiAgICAgIHRoaXMuc2hvd1Byb2ZpbGVQb3B1cCA9IHRydWU7XHJcbiAgICAgIHRoaXMubWVudS5jbG9zZSgpO1xyXG4gICAgICByZXR1cm47XHJcbiAgICB9XHJcbiAgICBcclxuICAgIGNvbnN0IHBvcG92ZXIgPSBhd2FpdCB0aGlzLnBvcHVwLmNyZWF0ZSh7XHJcbiAgICAgIGNvbXBvbmVudDogTXlQcm9maWxlUGFnZSxcclxuICAgICAgdHJhbnNsdWNlbnQ6IHRydWUsXHJcbiAgICAgIGJhY2tkcm9wRGlzbWlzczogdHJ1ZSxcclxuICAgICAgY3NzQ2xhc3M6ICdoZWFkZXItcG9wb3ZlcidcclxuICAgIH0pO1xyXG4gICAgXHJcbiAgICByZXR1cm4gYXdhaXQgcG9wb3Zlci5wcmVzZW50KCk7XHJcbiAgfVxyXG5cclxuICBsb2dvdXQoKXtcclxuICAgIHRoaXMubmF2Lm5hdmlnYXRlUm9vdCgnL2xhbmRpbmcnKTtcclxuICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwibGFuZ3VhZ2VcIixcImVuXCIpO1xyXG4gICAgdGhpcy5scy5sb2dvdXQoKTtcclxuICB9XHJcblxyXG4gIGdldCB1c2VyUHJvZmlsZUxhYmVsKCl7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2NvbW1vbi51c2VyLnByb2ZpbGUnKTtcclxuICB9XHJcblxyXG4gIGdldCB1c2VyRG9jdW1lbnRzTGFiZWwoKXtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnY29tbW9uLmRvY3VtZW50cycpO1xyXG4gIH1cclxuXHJcbiAgZ2V0IHVzZXJMb2dvdXRMYWJlbCgpe1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdjb21tb24ubG9nb3V0Jyk7XHJcbiAgfVxyXG5cclxuICBnZXRIb21lTGFiZWwoKXtcclxuICAgIHJldHVybiB0aGlzLnRyYW5zbGF0ZVNlcnZpY2UuaW5zdGFudCgnY29tbW9uLmhvbWUnKTtcclxuICB9XHJcblxyXG4gIGdldENsYWltc0xhYmVsKCl7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2NvbW1vbi5jbGFpbXMnKTtcclxuICB9XHJcblxyXG4gIGdldFdlZWtseUxhYmVsKCl7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2NvbW1vbi53ZWVrbHknKTtcclxuICB9XHJcblxyXG4gIGdldEhpc3RvcnlMYWJlbCgpe1xyXG4gICAgcmV0dXJuIHRoaXMudHJhbnNsYXRlU2VydmljZS5pbnN0YW50KCdjb21tb24uaGlzdG9yeScpO1xyXG4gIH1cclxuXHJcbiAgZ2V0V29ya1NlYXJjaExhYmVsKCl7XHJcbiAgICByZXR1cm4gdGhpcy50cmFuc2xhdGVTZXJ2aWNlLmluc3RhbnQoJ2NvbW1vbi53b3JrLnNlYXJjaCcpO1xyXG4gIH1cclxufVxyXG4iLCI8aW9uLW1lbnUgc2lkZT1cInN0YXJ0XCIgbWVudUlkPVwiZmlyc3RcIiBjb250ZW50SWQ9XCJtYWluLWNvbnRlbnRcIiAqbmdJZj1cImxzLmlzTG9nZ2VkSW4oKSAmJiBtZW51cyAmJiBtZW51cy5sZW5ndGggPiAwXCIgKGlvbkRpZE9wZW4pPVwibWVudU9wZW5lZCgpXCI+XHJcbiAgPGlvbi1oZWFkZXI+XHJcbiAgICA8aW9uLXRvb2xiYXI+XHJcbiAgICAgIDxpb24tYnV0dG9ucyBzbG90PVwic3RhcnRcIj5cclxuICAgICAgICA8aW9uLW1lbnUtYnV0dG9uIGF1dG9IaWRlPVwiZmFsc2VcIiBwVG9vbHRpcD1cInt7J2hlYWRlci5tZW51LmNsb3NlJyB8IHRyYW5zbGF0ZX19XCIgdG9vbHRpcFBvc2l0aW9uPVwiYm90dG9tXCJcclxuICAgICAgICAgICAgICAqbmdJZj1cImxzLmlzTG9nZ2VkSW4oKVwiPiAgICBcclxuICAgICAgICAgICAgICA8aW9uLWljb24gY29sb3I9XCJzdWNjZXNzXCIgbmFtZT1cImNsb3NlXCI+PC9pb24taWNvbj5cclxuICAgICAgICA8L2lvbi1tZW51LWJ1dHRvbj5cclxuICAgICAgPC9pb24tYnV0dG9ucz5cclxuICAgIDwvaW9uLXRvb2xiYXI+XHJcbiAgPC9pb24taGVhZGVyPlxyXG4gIDxpb24tY29udGVudD5cclxuICAgIDxwLWFjY29yZGlvbiAqbmdJZj1cIm1lbnVzICYmIG1lbnVzLmxlbmd0aCA+IDAgJiYgKCFscy5pc0NsYWltYW50KCkgfHwgbGVnYWN5TWVudSA9PSAndHJ1ZScpXCI+XHJcbiAgICAgIDxwLWFjY29yZGlvblRhYiAqbmdGb3I9XCJsZXQgbWVudSBvZiBscy5nZXRNZW51QnMoKSB8IGFzeW5jOyBsZXQgaSA9IGluZGV4XCIgW2hlYWRlcl09XCJtZW51LmxhYmVsXCI+XHJcbiAgICAgICAgPGlvbi1saXN0PlxyXG4gICAgICAgICAgPGlvbi1pdGVtIGJ1dHRvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtZW51Lml0ZW1zXCIgKGNsaWNrKT1cIm9wZW5QYWdlKGl0ZW0pXCIgbGluZXM9XCJub25lXCI+XHJcbiAgICAgICAgICAgIDxpb24taWNvbiBuYW1lPVwibGlua1wiIGNvbG9yPVwicHJpbWFyeVwiIHNsb3Q9XCJzdGFydFwiICpuZ0lmPVwiIWl0ZW0uaWNvblwiIHN0eWxlPVwibWFyZ2luLWlubGluZS1lbmQ6IDE1cHggIWltcG9ydGFudDtcIj48L2lvbi1pY29uPlxyXG4gICAgICAgICAgICA8aW9uLWljb24gW25hbWVdPVwiaXRlbS5pY29uXCIgY29sb3I9XCJwcmltYXJ5XCIgc2xvdD1cInN0YXJ0XCIgKm5nSWY9XCJpdGVtLmljb25cIiBzdHlsZT1cIm1hcmdpbi1pbmxpbmUtZW5kOiAxNXB4ICFpbXBvcnRhbnQ7XCI+PC9pb24taWNvbj5cclxuICAgICAgICAgICAgPGlvbi1sYWJlbCBjb2xvcj1cInByaW1hcnlcIiBzdHlsZT1cImZvbnQtc2l6ZTogc21hbGw7XCI+e3tpdGVtLmxhYmVsfX08L2lvbi1sYWJlbD5cclxuICAgICAgICAgICAgPGlvbi1idXR0b24gc2xvdD1cImVuZFwiIChjbGljayk9XCJtYXJrRmF2b3VyaXRlKGl0ZW0pOyAkZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XCIgY29sb3I9XCJ3YXJuaW5nXCIgKm5nSWY9XCJzaG93RmF2QnV0dG9uXCI+XHJcbiAgICAgICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJzdGFyLW91dGxpbmVcIiAqbmdJZj1cIiFpdGVtLnN0YXRlLmlzRmF2XCI+PC9pb24taWNvbj5cclxuICAgICAgICAgICAgICA8aW9uLWljb24gbmFtZT1cInN0YXItc2hhcnBcIiAqbmdJZj1cIml0ZW0uc3RhdGUuaXNGYXZcIj48L2lvbi1pY29uPlxyXG4gICAgICAgICAgICA8L2lvbi1idXR0b24+XHJcbiAgICAgICAgICA8L2lvbi1pdGVtPlxyXG4gICAgICAgIDwvaW9uLWxpc3Q+XHJcbiAgICAgIDwvcC1hY2NvcmRpb25UYWI+XHJcbiAgICA8L3AtYWNjb3JkaW9uPlxyXG5cclxuICAgIDxkaXYgKm5nSWY9XCJtZW51cyAmJiBtZW51cy5sZW5ndGggPiAwICYmIChscy5pc0NsYWltYW50KCkgJiYgbGVnYWN5TWVudSA9PSAnZmFsc2UnKVwiPlxyXG4gICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBtZW51IG9mIGxzLmdldE1lbnVCcygpIHwgYXN5bmM7IGxldCBpID0gaW5kZXg7IGxldCBpc0xhc3QgPSBsYXN0XCI+XHJcbiAgICAgICAgPGlvbi1saXN0PlxyXG4gICAgICAgICAgPGlvbi1pdGVtIGJ1dHRvbiAqbmdGb3I9XCJsZXQgaXRlbSBvZiBtZW51Lml0ZW1zXCIgKGNsaWNrKT1cIm9wZW5QYWdlKGl0ZW0pXCIgbGluZXM9XCJub25lXCI+XHJcbiAgICAgICAgICAgIDxpb24tbGFiZWwgY29sb3I9XCJwcmltYXJ5XCIgc3R5bGU9XCJmb250LXNpemU6IDMxcHg7XCIgW25nQ2xhc3NdPVwic2hvd0ljb24oaXRlbSkgPyAnc2VsZWN0ZWQtbWVudScgOiAnc2VsZWN0ZWQtbWVudS11bnNlbGVjdCdcIj57e2l0ZW0ubGFiZWx9fTwvaW9uLWxhYmVsPlxyXG4gICAgICAgICAgPC9pb24taXRlbT5cclxuICAgICAgICA8L2lvbi1saXN0PlxyXG4gICAgICA8L2Rpdj5cclxuICAgICAgPHAtZGl2aWRlcj48L3AtZGl2aWRlcj5cclxuXHJcbiAgICAgIDxpb24tbGlzdD5cclxuICAgICAgICA8aW9uLWl0ZW0gYnV0dG9uIGxpbmVzPVwibm9uZVwiIChjbGljayk9XCJwcmVzZW50TXlQcm9maWxlUG9wb3ZlcigkZXZlbnQpXCI+XHJcbiAgICAgICAgICA8aW9uLWljb24gbmFtZT1cInBlcnNvbi1jaXJjbGUtb3V0bGluZVwiIHNsb3Q9XCJzdGFydFwiIGNsYXNzPVwibWVudS1pY29uXCIgY29sb3I9XCJwcmltYXJ5XCI+PC9pb24taWNvbj5cclxuICAgICAgICAgIDxpb24tbGFiZWwgY29sb3I9XCJwcmltYXJ5XCIgc3R5bGU9XCJmb250LXNpemU6IDMxcHg7XCI+e3t1c2VyUHJvZmlsZUxhYmVsfX08L2lvbi1sYWJlbD5cclxuICAgICAgICA8L2lvbi1pdGVtPlxyXG4gICAgICAgIDxpb24taXRlbSBidXR0b24gbGluZXM9XCJub25lXCIgKGNsaWNrKT1cIm5hdmlnYXRlKCdjcCcsICdkb2N1bWVudHMnKVwiPlxyXG4gICAgICAgICAgPGlvbi1pY29uIG5hbWU9XCJkb2N1bWVudC10ZXh0LW91dGxpbmVcIiBzbG90PVwic3RhcnRcIiBjbGFzcz1cIm1lbnUtaWNvblwiIGNvbG9yPVwicHJpbWFyeVwiPjwvaW9uLWljb24+XHJcbiAgICAgICAgICA8aW9uLWxhYmVsIGNvbG9yPVwicHJpbWFyeVwiIHN0eWxlPVwiZm9udC1zaXplOiAzMXB4O1wiPnt7dXNlckRvY3VtZW50c0xhYmVsfX08L2lvbi1sYWJlbD5cclxuICAgICAgICA8L2lvbi1pdGVtPlxyXG4gICAgICAgIDxpb24taXRlbSBidXR0b24gbGluZXM9XCJub25lXCIgKGNsaWNrKT1cImxvZ291dCgpXCI+XHJcbiAgICAgICAgICA8aW9uLWljb24gbmFtZT1cImxvZy1vdXQtb3V0bGluZVwiIHNsb3Q9XCJzdGFydFwiIGNsYXNzPVwibWVudS1pY29uXCIgY29sb3I9XCJwcmltYXJ5XCI+PC9pb24taWNvbj5cclxuICAgICAgICAgIDxpb24tbGFiZWwgY29sb3I9XCJwcmltYXJ5XCIgc3R5bGU9XCJmb250LXNpemU6IDMxcHg7XCI+e3t1c2VyTG9nb3V0TGFiZWx9fTwvaW9uLWxhYmVsPlxyXG4gICAgICAgIDwvaW9uLWl0ZW0+XHJcbiAgICAgIDwvaW9uLWxpc3Q+XHJcblxyXG4gICAgPC9kaXY+XHJcbiAgPC9pb24tY29udGVudD5cclxuPC9pb24tbWVudT5cclxuPGFwcC1wcm9maWxlICpuZ0lmPVwic2hvd1Byb2ZpbGVQb3B1cFwiIChvbkNhbmNlbCk9XCJzaG93UHJvZmlsZVBvcHVwID0gIXNob3dQcm9maWxlUG9wdXBcIj48L2FwcC1wcm9maWxlPiJdfQ==