tango-app-ui-analyse-trax 3.3.1-alpha.7 → 3.3.1-alpha.70

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 (92) hide show
  1. package/esm2022/lib/components/action-centre/action-centre.component.mjs +371 -21
  2. package/esm2022/lib/components/activity-log/activity-log.component.mjs +135 -0
  3. package/esm2022/lib/components/add-checklist/add-checklist.component.mjs +205 -136
  4. package/esm2022/lib/components/add-task/add-task.component.mjs +450 -0
  5. package/esm2022/lib/components/add-task/create-task.data.mjs +306 -0
  6. package/esm2022/lib/components/add-task/create-task.interface.mjs +2 -0
  7. package/esm2022/lib/components/approval-popup/approval-popup.component.mjs +30 -0
  8. package/esm2022/lib/components/checklist/checklist.component.mjs +52 -32
  9. package/esm2022/lib/components/checklist-configure/checklist-configure.component.mjs +155 -74
  10. package/esm2022/lib/components/checklistlayout/checklistlayout.component.mjs +12 -0
  11. package/esm2022/lib/components/chip-dropdown/chip-dropdown.component.mjs +33 -11
  12. package/esm2022/lib/components/create-task/create-task.component.mjs +404 -0
  13. package/esm2022/lib/components/create-task/create-task.data.mjs +306 -0
  14. package/esm2022/lib/components/create-task/create-task.interface.mjs +2 -0
  15. package/esm2022/lib/components/custom-select/custom-select.component.mjs +236 -0
  16. package/esm2022/lib/components/dashboard/dashboard.component.mjs +56 -44
  17. package/esm2022/lib/components/dashboard-info/dashboard-info.component.mjs +212 -113
  18. package/esm2022/lib/components/dashboard-info/monthlyperformance-datepicker/monthlyperformance-datepicker.component.mjs +14 -23
  19. package/esm2022/lib/components/dashboard-layout/dashboard-layout.component.mjs +12 -0
  20. package/esm2022/lib/components/export-gallery/export-gallery.component.mjs +128 -0
  21. package/esm2022/lib/components/flag-layout/flag-layout.component.mjs +12 -0
  22. package/esm2022/lib/components/flags/flags.component.mjs +71 -17
  23. package/esm2022/lib/components/flags/flags.interface.mjs +1 -1
  24. package/esm2022/lib/components/flags-info/flags-info.component.mjs +137 -27
  25. package/esm2022/lib/components/flags-info/flags-info.interface.mjs +1 -1
  26. package/esm2022/lib/components/gallery/gallery.component.mjs +1238 -122
  27. package/esm2022/lib/components/group-select/group-select.component.mjs +155 -0
  28. package/esm2022/lib/components/managechecklist/managechecklist.component.mjs +77 -11
  29. package/esm2022/lib/components/multi-date-datepicker/multi-date-datepicker.component.mjs +4 -3
  30. package/esm2022/lib/components/orders/orders.component.mjs +171 -0
  31. package/esm2022/lib/components/reactive-select/reactive-select.component.mjs +3 -3
  32. package/esm2022/lib/components/reports/date-picker/date-picker.component.mjs +60 -0
  33. package/esm2022/lib/components/reports/reports.component.mjs +95 -16
  34. package/esm2022/lib/components/reports/reports.interface.mjs +1 -1
  35. package/esm2022/lib/components/task/task.component.mjs +274 -0
  36. package/esm2022/lib/components/task-configure/task-configure.component.mjs +554 -0
  37. package/esm2022/lib/components/task-configure/task-configure.interface.mjs +2 -0
  38. package/esm2022/lib/components/task-info/task-info.component.mjs +314 -0
  39. package/esm2022/lib/components/task-info/taskinfo-edit/taskinfo-edit.component.mjs +203 -0
  40. package/esm2022/lib/components/task-layout/task-layout.component.mjs +12 -0
  41. package/esm2022/lib/components/task-logs/task-logs.component.mjs +97 -0
  42. package/esm2022/lib/components/trax-store/trax-store.component.mjs +20 -7
  43. package/esm2022/lib/components/traxpopup/traxpopup.component.mjs +3 -3
  44. package/esm2022/lib/services/trax.service.mjs +158 -10
  45. package/esm2022/lib/tango-analyse-trax-routing.module.mjs +71 -14
  46. package/esm2022/lib/tango-analyse-trax.module.mjs +71 -7
  47. package/fesm2022/tango-app-ui-analyse-trax.mjs +8701 -2688
  48. package/fesm2022/tango-app-ui-analyse-trax.mjs.map +1 -1
  49. package/lib/components/action-centre/action-centre.component.d.ts +58 -6
  50. package/lib/components/activity-log/activity-log.component.d.ts +39 -0
  51. package/lib/components/add-checklist/add-checklist.component.d.ts +2 -2
  52. package/lib/components/add-task/add-task.component.d.ts +83 -0
  53. package/lib/components/add-task/create-task.data.d.ts +244 -0
  54. package/lib/components/add-task/create-task.interface.d.ts +147 -0
  55. package/lib/components/approval-popup/approval-popup.component.d.ts +14 -0
  56. package/lib/components/checklist/checklist.component.d.ts +2 -2
  57. package/lib/components/checklist-configure/checklist-configure.component.d.ts +18 -3
  58. package/lib/components/checklistlayout/checklistlayout.component.d.ts +5 -0
  59. package/lib/components/chip-dropdown/chip-dropdown.component.d.ts +8 -4
  60. package/lib/components/create-task/create-task.component.d.ts +61 -0
  61. package/lib/components/create-task/create-task.data.d.ts +244 -0
  62. package/lib/components/create-task/create-task.interface.d.ts +147 -0
  63. package/lib/components/custom-select/custom-select.component.d.ts +35 -0
  64. package/lib/components/dashboard/dashboard.component.d.ts +8 -1
  65. package/lib/components/dashboard-info/dashboard-info.component.d.ts +17 -6
  66. package/lib/components/dashboard-info/monthlyperformance-datepicker/monthlyperformance-datepicker.component.d.ts +1 -0
  67. package/lib/components/dashboard-layout/dashboard-layout.component.d.ts +5 -0
  68. package/lib/components/export-gallery/export-gallery.component.d.ts +35 -0
  69. package/lib/components/flag-layout/flag-layout.component.d.ts +5 -0
  70. package/lib/components/flags/flags.component.d.ts +10 -1
  71. package/lib/components/flags/flags.interface.d.ts +3 -0
  72. package/lib/components/flags-info/flags-info.component.d.ts +15 -5
  73. package/lib/components/flags-info/flags-info.interface.d.ts +6 -1
  74. package/lib/components/gallery/gallery.component.d.ts +67 -9
  75. package/lib/components/group-select/group-select.component.d.ts +33 -0
  76. package/lib/components/managechecklist/managechecklist.component.d.ts +9 -3
  77. package/lib/components/multi-date-datepicker/multi-date-datepicker.component.d.ts +2 -2
  78. package/lib/components/orders/orders.component.d.ts +38 -0
  79. package/lib/components/reports/date-picker/date-picker.component.d.ts +23 -0
  80. package/lib/components/reports/reports.component.d.ts +12 -1
  81. package/lib/components/reports/reports.interface.d.ts +1 -0
  82. package/lib/components/task/task.component.d.ts +61 -0
  83. package/lib/components/task-configure/task-configure.component.d.ts +75 -0
  84. package/lib/components/task-configure/task-configure.interface.d.ts +125 -0
  85. package/lib/components/task-info/task-info.component.d.ts +72 -0
  86. package/lib/components/task-info/taskinfo-edit/taskinfo-edit.component.d.ts +60 -0
  87. package/lib/components/task-layout/task-layout.component.d.ts +5 -0
  88. package/lib/components/task-logs/task-logs.component.d.ts +26 -0
  89. package/lib/components/trax-store/trax-store.component.d.ts +1 -0
  90. package/lib/services/trax.service.d.ts +48 -3
  91. package/lib/tango-analyse-trax.module.d.ts +27 -8
  92. package/package.json +1 -1
@@ -1,38 +1,388 @@
1
1
  import { Component } from '@angular/core';
2
2
  import { FormControl } from '@angular/forms';
3
+ import { Subject, debounceTime, takeUntil } from "rxjs";
4
+ import dayjs from 'dayjs';
3
5
  import * as i0 from "@angular/core";
4
6
  import * as i1 from "@angular/forms";
5
- import * as i2 from "../reactive-select/reactive-select.component";
7
+ import * as i2 from "tango-app-ui-global";
8
+ import * as i3 from "../../services/trax.service";
9
+ import * as i4 from "@angular/router";
10
+ import * as i5 from "@angular/common";
11
+ import * as i6 from "tango-app-ui-shared";
12
+ import * as i7 from "@ng-bootstrap/ng-bootstrap";
13
+ import * as i8 from "../reactive-select/reactive-select.component";
14
+ import * as i9 from "../activity-log/activity-log.component";
6
15
  export class ActionCentreComponent {
7
16
  fb;
17
+ gs;
18
+ pageInfo;
19
+ TraxService;
20
+ changeDetector;
21
+ router;
22
+ destroy$ = new Subject();
23
+ searchInput = "";
8
24
  form;
9
- checklistselectControl;
10
- checklistDropdown = [
11
- { _id: '1', checkListName: 'Checklist 1' },
12
- { _id: '2', checkListName: 'Checklist 2' },
13
- { _id: '3', checkListName: 'Checklist 3' },
14
- { _id: '4', checkListName: 'Checklist 4' }
15
- // Add more static checklist items as needed
25
+ headerData;
26
+ overallCardsData = {};
27
+ cardDataLoading = true;
28
+ cardNoData = false;
29
+ searchDisabled = false;
30
+ approvalOpenLoading = true;
31
+ approvalOpenNoData = false;
32
+ itemsPerPage = 10;
33
+ currentPage = 1;
34
+ sortColumName = '';
35
+ sortBy = '';
36
+ sortDirection = '';
37
+ totalItems = 0;
38
+ paginationSizes = [];
39
+ pageSize = 10;
40
+ OpenApprovalListData = [];
41
+ InprogressApprovalListData = [];
42
+ DoneApprovalListData = [];
43
+ approvalInprogressLoading = true;
44
+ approvalInprogressNoData = false;
45
+ approvedLoading = true;
46
+ approvedNoData = false;
47
+ priorityType = [];
48
+ selectedlistselectControl;
49
+ selectedStatus;
50
+ statusselectControl = [
51
+ { _id: 'all', label: 'All' },
52
+ { _id: 'checklist', label: 'Checklist' },
53
+ { _id: 'task', label: 'Task' },
16
54
  ];
17
- constructor(fb) {
55
+ dataObject = [
56
+ {
57
+ Description: 'Priority',
58
+ Issues: [
59
+ { text: 'High', id: 'high' },
60
+ { text: 'Medium', id: 'medium' },
61
+ { text: 'Low', id: 'low' },
62
+ ],
63
+ },
64
+ ];
65
+ searchValue;
66
+ limit;
67
+ offset;
68
+ isTaskSelected = false;
69
+ dayjs = dayjs;
70
+ date;
71
+ constructor(fb, gs, pageInfo, TraxService, changeDetector, router) {
18
72
  this.fb = fb;
19
- this.checklistselectControl = new FormControl(null);
73
+ this.gs = gs;
74
+ this.pageInfo = pageInfo;
75
+ this.TraxService = TraxService;
76
+ this.changeDetector = changeDetector;
77
+ this.router = router;
78
+ }
79
+ ngOnDestroy() {
80
+ this.destroy$.next(true);
81
+ this.destroy$.complete();
82
+ }
83
+ ngOnInit() {
84
+ this.selectedlistselectControl = new FormControl('all');
20
85
  this.form = this.fb.group({
21
- checklistselectControl: this.checklistselectControl
86
+ selectedlistselectControl: this.selectedlistselectControl
87
+ });
88
+ this.selectedlistselectControl.valueChanges.pipe(takeUntil(this.destroy$)).subscribe((value) => {
89
+ this.onValueChangeStatusSelect(value);
90
+ });
91
+ this.gs.dataRangeValue
92
+ .pipe(takeUntil(this.destroy$), debounceTime(300))
93
+ .subscribe((data) => {
94
+ this.headerData = data;
95
+ this.setPageData();
96
+ this.getOverallActionCenterData();
97
+ this.getApprovalOpenData();
22
98
  });
23
99
  }
24
- ngOnInit() {
25
- // Any additional initialization logic can go here
100
+ setPageData() {
101
+ this.pageInfo.setTitle("Dashboard");
102
+ // this.pageInfo.setDescription("Dashboard");
103
+ this.pageInfo.setBreadcrumbs([
104
+ { title: "Tango Trax", path: "/manage/trax/dashboard", isActive: false, isSeparator: false },
105
+ { title: "Tango Trax", path: "/manage/trax/dashboard", isActive: false, isSeparator: true },
106
+ ]);
107
+ }
108
+ getOverallActionCenterData() {
109
+ this.overallCardsData = [];
110
+ this.cardDataLoading = true;
111
+ this.cardNoData = true;
112
+ const requestData = {
113
+ fromDate: this.headerData.date.startDate,
114
+ toDate: this.headerData.date.endDate,
115
+ storeId: this.headerData.stores.filter((store) => store.checked).map((store) => store.storeId),
116
+ clientId: this.headerData.client,
117
+ };
118
+ this.TraxService.getOverallActionCenterData(requestData).pipe(takeUntil(this.destroy$)).subscribe((response) => {
119
+ this.cardDataLoading = false;
120
+ if (response?.code === 200 && response?.status === "success") {
121
+ this.overallCardsData = response.data?.cardData || {};
122
+ this.cardDataLoading = false;
123
+ this.cardNoData = false;
124
+ }
125
+ else {
126
+ this.overallCardsData = [];
127
+ this.cardDataLoading = false;
128
+ this.cardNoData = true;
129
+ }
130
+ }, error => {
131
+ this.overallCardsData = [];
132
+ this.cardDataLoading = false;
133
+ this.cardNoData = true;
134
+ this.changeDetector.detectChanges();
135
+ });
136
+ }
137
+ getApprovalOpenData() {
138
+ this.searchDisabled = true;
139
+ this.approvalOpenLoading = true;
140
+ this.approvalOpenNoData = true;
141
+ this.approvalInprogressLoading = true;
142
+ this.approvalInprogressNoData = true;
143
+ this.approvedLoading = true;
144
+ this.approvedNoData = true;
145
+ const requestData = {
146
+ fromDate: this.headerData.date.startDate,
147
+ toDate: this.headerData.date.endDate,
148
+ storeId: this.headerData.stores.filter((store) => store.checked).map((store) => store.storeId),
149
+ clientId: this.headerData.client,
150
+ searchValue: this.searchInput,
151
+ filter: this.priorityType,
152
+ type: this.selectedlistselectControl.value
153
+ };
154
+ this.TraxService.getApprovalData(requestData)
155
+ .pipe(takeUntil(this.destroy$))
156
+ .subscribe((response) => {
157
+ this.approvalOpenLoading = false;
158
+ this.approvalInprogressLoading = false;
159
+ this.approvedLoading = false;
160
+ if (response?.code === 200 && response?.status === "success") {
161
+ this.OpenApprovalListData = response.data.open || [];
162
+ this.InprogressApprovalListData = response.data.inprogress || [];
163
+ this.DoneApprovalListData = response.data.done || [];
164
+ this.totalItems = response.data.totalCount;
165
+ this.setPaginationSizes();
166
+ if (this.OpenApprovalListData.length > 0) {
167
+ this.approvalOpenLoading = false;
168
+ this.approvalOpenNoData = false;
169
+ }
170
+ else {
171
+ this.approvalOpenNoData = true;
172
+ }
173
+ if (this.InprogressApprovalListData.length > 0) {
174
+ this.approvalInprogressLoading = false;
175
+ this.approvalInprogressNoData = false;
176
+ }
177
+ else {
178
+ this.approvalInprogressNoData = true;
179
+ }
180
+ if (this.DoneApprovalListData.length > 0) {
181
+ this.approvedLoading = false;
182
+ this.approvedNoData = false;
183
+ }
184
+ else {
185
+ this.approvedNoData = true;
186
+ }
187
+ this.searchDisabled = false;
188
+ }
189
+ else {
190
+ this.OpenApprovalListData = [];
191
+ this.InprogressApprovalListData = [];
192
+ this.DoneApprovalListData = [];
193
+ this.approvalOpenLoading = false;
194
+ this.approvalOpenNoData = true;
195
+ this.approvalInprogressLoading = false;
196
+ this.approvalInprogressNoData = true;
197
+ this.approvedLoading = false;
198
+ this.approvedNoData = true;
199
+ this.searchDisabled = true;
200
+ if (this.searchInput?.length) {
201
+ this.searchDisabled = true;
202
+ }
203
+ this.OpenApprovalListData = [];
204
+ this.InprogressApprovalListData = [];
205
+ this.DoneApprovalListData = [];
206
+ this.totalItems = 0;
207
+ this.changeDetector.detectChanges();
208
+ }
209
+ }, error => {
210
+ this.OpenApprovalListData = [];
211
+ this.InprogressApprovalListData = [];
212
+ this.DoneApprovalListData = [];
213
+ this.changeDetector.detectChanges();
214
+ });
215
+ }
216
+ // getApprovalInprogressData(): void {
217
+ // this.searchDisabled = true;
218
+ // this.approvalInprogressLoading = true;
219
+ // this.approvalInprogressNoData = true;
220
+ // const requestData = {
221
+ // date: "2024-12-02",
222
+ // fromDate: this.headerData.date.startDate,
223
+ // toDate: this.headerData.date.endDate,
224
+ // storeId: this.headerData.stores.filter((store:any) => store.checked).map((store:any) => store.storeId),
225
+ // clientId:this.headerData.client,
226
+ // // limit: this.itemsPerPage,
227
+ // // offset: this.currentPage - 1,
228
+ // sortBy: this.sortDirection,
229
+ // sortColumnName: this.sortColumName,
230
+ // searchValue: this.searchInput,
231
+ // filter: "",
232
+ // type: 'all'
233
+ // };
234
+ // this.TraxService.getApprovalData(requestData)
235
+ // .pipe(takeUntil(this.destroy$))
236
+ // .subscribe((response: any) => {
237
+ // this.approvalInprogressLoading = false;
238
+ // if (response?.code === 200 && response?.status === "success") {
239
+ // this.ApprovalListData = response.data.inprogress || [];
240
+ // this.totalItems = response.data.totalCount
241
+ // this.setPaginationSizes()
242
+ // this.approvalInprogressLoading = false;
243
+ // this.approvalInprogressNoData = false;
244
+ // this.searchDisabled = false;
245
+ // } else {
246
+ // console.log("else");
247
+ // this.ApprovalListData = [];
248
+ // this.approvalInprogressLoading = false;
249
+ // this.approvalInprogressNoData = true;
250
+ // this.searchDisabled = true;
251
+ // if (this.searchInput?.length) {
252
+ // this.searchDisabled = true
253
+ // }
254
+ // this.ApprovalListData = []
255
+ // this.totalItems = 0
256
+ // this.changeDetector.detectChanges()
257
+ // }
258
+ // }, error => {
259
+ // this.ApprovalListData = []
260
+ // this.changeDetector.detectChanges()
261
+ // });
262
+ // }
263
+ // getApprovedData(): void {
264
+ // this.searchDisabled = true;
265
+ // this.approvedLoading = true;
266
+ // this.approvedNoData = true;
267
+ // const requestData = {
268
+ // date: "2024-12-02",
269
+ // fromDate: this.headerData.date.startDate,
270
+ // toDate: this.headerData.date.endDate,
271
+ // storeId: this.headerData.stores.filter((store:any) => store.checked).map((store:any) => store.storeId),
272
+ // clientId:this.headerData.client,
273
+ // // limit: this.itemsPerPage,
274
+ // // offset: this.currentPage - 1,
275
+ // sortBy: this.sortDirection,
276
+ // sortColumnName: this.sortColumName,
277
+ // searchValue: this.searchInput,
278
+ // filter: "",
279
+ // type: 'all'
280
+ // };
281
+ // this.TraxService.getApprovalData(requestData)
282
+ // .pipe(takeUntil(this.destroy$))
283
+ // .subscribe((response: any) => {
284
+ // this.approvedLoading = false;
285
+ // if (response?.code === 200 && response?.status === "success") {
286
+ // this.ApprovalListData = response.data.done || [];
287
+ // this.totalItems = response.data.totalCount
288
+ // this.setPaginationSizes()
289
+ // this.approvedLoading = false;
290
+ // this.approvedNoData = false;
291
+ // this.searchDisabled = false;
292
+ // } else {
293
+ // console.log("else");
294
+ // this.ApprovalListData = [];
295
+ // this.approvedLoading = false;
296
+ // this.approvedNoData = true;
297
+ // this.searchDisabled = true;
298
+ // if (this.searchInput?.length) {
299
+ // this.searchDisabled = true
300
+ // }
301
+ // this.ApprovalListData = []
302
+ // this.totalItems = 0
303
+ // this.changeDetector.detectChanges()
304
+ // }
305
+ // }, error => {
306
+ // this.ApprovalListData = []
307
+ // this.changeDetector.detectChanges()
308
+ // });
309
+ // }
310
+ onValueChangeStatusSelect(event) {
311
+ this.searchValue = "",
312
+ this.selectedStatus = this.statusselectControl.find(item => item._id === event);
313
+ if (this.selectedStatus) {
314
+ this.isTaskSelected = this.selectedStatus._id === 'task';
315
+ this.changeDetector.detectChanges();
316
+ this.getApprovalOpenData();
317
+ }
318
+ }
319
+ searchField() {
320
+ this.headerData.search = this.searchInput;
321
+ // this.headerData.export = false;
322
+ this.currentPage = 1;
323
+ this.pageSize = 10;
324
+ this.getApprovalOpenData();
325
+ }
326
+ setPaginationSizes() {
327
+ if (this.totalItems > 10) {
328
+ this.paginationSizes = [10, 20, 30];
329
+ }
330
+ else {
331
+ this.paginationSizes = [this.totalItems];
332
+ this.pageSize = this.totalItems;
333
+ }
334
+ }
335
+ applyFilters(event) {
336
+ if (event?.length) {
337
+ event.forEach((element) => {
338
+ if (element.Description === 'Priority') {
339
+ this.priorityType = element.Issues.map((val) => val.id);
340
+ }
341
+ });
342
+ }
343
+ else {
344
+ this.priorityType = [];
345
+ }
346
+ this.getApprovalOpenData();
26
347
  }
27
- onValueChangeChecklist(event) {
28
- // Handle the value change event as needed
29
- console.log('Selected checklist:', event);
348
+ opennavigateToGallery(open) {
349
+ let formattedDate = dayjs(open.publishDate).format('YYYY-MM-DD');
350
+ this.router.navigate(['/manage/trax/gallery'], {
351
+ queryParams: {
352
+ ChecklistDate: formattedDate,
353
+ // storeId: open.store_id,
354
+ checklistType: open.checkListType,
355
+ checklistId: open.sourceChecklistId,
356
+ },
357
+ });
358
+ }
359
+ inprogressnavigateToGallery(inprogress) {
360
+ let formattedDate = dayjs(inprogress.publishDate).format('YYYY-MM-DD');
361
+ this.router.navigate(['/manage/trax/gallery'], {
362
+ queryParams: {
363
+ ChecklistDate: formattedDate,
364
+ // storeId: open.store_id,
365
+ checklistType: inprogress.checkListType,
366
+ checklistId: inprogress.sourceChecklistId,
367
+ },
368
+ });
369
+ }
370
+ donenavigateToGallery(done) {
371
+ let formattedDate = dayjs(done.publishDate).format('YYYY-MM-DD');
372
+ this.router.navigate(['/manage/trax/gallery'], {
373
+ queryParams: {
374
+ ChecklistDate: formattedDate,
375
+ // storeId: open.store_id,
376
+ checklistType: done.checkListType,
377
+ checklistId: done.sourceChecklistId,
378
+ },
379
+ });
30
380
  }
31
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionCentreComponent, deps: [{ token: i1.FormBuilder }], target: i0.ɵɵFactoryTarget.Component });
32
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ActionCentreComponent, selector: "lib-action-centre", ngImport: i0, template: "<div class=\"col-md-12\">\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <div class=\"card\">\r\n <div class=\"actioncard my-3 mx-3\">\r\n <div class=\"d-flex\">\r\n <span class=\"actioncount\">50</span> <span class=\"actiontext mx-5 mt-3\">Checklist waiting for approval</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-6\">\r\n <div class=\"card\">\r\n <div class=\"actioncard my-3 mx-3\">\r\n <div class=\"d-flex\">\r\n <span class=\"actioncount\">50</span> <span class=\"actiontext mx-5 mt-3\">Task waiting for approval</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row m-0 my-3\">\r\n <div class=\"card\">\r\n <div class=\"card-header border-0 pt-3\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Approval</span>\r\n <span class=\"text-sub mb-2\">An Summary of all the checklists awaiting approval\r\n </span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <form class=\"mt-1 me-3 borderless-select\" [formGroup]=\"form\">\r\n <lib-reactive-select [formControl]=\"checklistselectControl\" [idField]=\"'_id'\"\r\n [nameField]=\"'checkListName'\" [data]=\"checklistDropdown\" class=\"w-100 \"\r\n style=\"border: none !important; box-shadow: none !important;\"\r\n (valueChange)=\"onValueChangeChecklist($event)\">\r\n <ng-template let-item>\r\n <div class=\"d-flex justify-content-between align-items-center no-border-custom-select\">\r\n <span>{{ item.checkListName }}</span>\r\n <span class=\"d-flex align-items-center\">\r\n <!-- <span class=\"status-text\">Status</span> -->\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path d=\"M4 6L8 10L12 6\" stroke=\"#101828\" stroke-width=\"2\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </lib-reactive-select>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n </div> \r\n </div>\r\n </div>\r\n</div>", styles: [".actioncard{display:flex;padding:8px 16px;align-items:center;gap:16px;align-self:stretch;border-radius:6px;border-bottom:2px solid var(--Gray-200, #EAECF0);background:radial-gradient(206.89% 107.47% at 16.16% 32.77%,#fff6,#45bbfe33),#f2f4f7;box-shadow:0 4px 10px #0000000d}.actioncount{color:var(--Black, #101828);font-size:30px;font-style:normal;font-weight:600;line-height:38px}.actiontext{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}\n"], dependencies: [{ kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "component", type: i2.ReactiveSelectComponent, selector: "lib-reactive-select", inputs: ["idField", "nameField", "label", "data"], outputs: ["itemChange"] }] });
381
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionCentreComponent, deps: [{ token: i1.FormBuilder }, { token: i2.GlobalStateService }, { token: i2.PageInfoService }, { token: i3.TraxService }, { token: i0.ChangeDetectorRef }, { token: i4.Router }], target: i0.ɵɵFactoryTarget.Component });
382
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ActionCentreComponent, selector: "lib-action-centre", ngImport: i0, template: "<div class=\"col-md-12\">\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <div class=\"card\">\r\n <div class=\"actioncard my-3 mx-3\">\r\n <div class=\"d-flex\">\r\n <span class=\"actioncount\"> {{ overallCardsData.checklistApproval?.count !==null ?\r\n overallCardsData.checklistApproval?.count.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) : '--' }}</span>\r\n <span class=\"actiontext mx-5 mt-3\">Checklist waiting for\r\n approval</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-6\">\r\n <div class=\"card\">\r\n <div class=\"actioncard my-3 mx-3\">\r\n <div class=\"d-flex\">\r\n <span class=\"actioncount\"> {{ overallCardsData.taskApproval?.count !==null ?\r\n overallCardsData.taskApproval?.count.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) : '--' }}</span> <span class=\"actiontext mx-5 mt-3\">Task waiting for\r\n approval</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row m-0 my-3\">\r\n <div class=\"card\">\r\n <div class=\"card-header border-0 pt-3\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Approval</span>\r\n <span class=\"text-sub mb-2\">An Summary of all the checklists awaiting approval\r\n </span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-4 mt-1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\">\r\n </rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <!-- [disabled]=\"searchDisabled\" -->\r\n <input [(ngModel)]=\"searchInput\" type=\"text\" class=\"form-control w-400px ps-14 mt-1 me-3\"\r\n placeholder=\"Search\" autocomplete=\"off\" (keyup.enter)=\"searchField()\" />\r\n <lib-filters *ngIf=\"isTaskSelected\" class=\"me-3 mt-1\" [dataObject]=\"dataObject\"\r\n (appliedFilters)=\"applyFilters($event)\"></lib-filters>\r\n\r\n <form class=\"mt-1 borderless-select\" [formGroup]=\"form\">\r\n <lib-reactive-select [formControl]=\"selectedlistselectControl\" [idField]=\"'_id'\" [nameField]=\"'label'\"\r\n [data]=\"statusselectControl\" class=\"w-200px\" (valueChange)=\"onValueChangeStatusSelect($event)\">\r\n <ng-template let-item>\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <span>{{ item.label }}</span>\r\n <span class=\"d-flex align-items-center\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M5 7.5L10 12.5L15 7.5\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </lib-reactive-select>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-lg-12\">\r\n <div class=\"row p-3\">\r\n <!-- open card start -->\r\n <div class=\"col-4\">\r\n <div class=\"approvalcard\">\r\n <div class=\"approvalheader\">\r\n <h3 class=\"card-title align-items-start d-flex flex-column mt-1\">\r\n <span class=\"cate-text\">Open <span *ngIf=\"OpenApprovalListData.length\"\r\n class=\"cate-sub badge badge-light-default mx-2\"> {{OpenApprovalListData.length}}\r\n </span></span>\r\n </h3>\r\n <!-- <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\"\r\n fill=\"none\">\r\n <path d=\"M8.66667 3.33325V12.6666M8.66667 12.6666L13.3333 7.99992M8.66667 12.6666L4 7.99992\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n <div *ngIf=\"!approvalOpenLoading && !approvalOpenNoData\" class=\"p-5 cardscroll\">\r\n <div *ngFor=\"let open of OpenApprovalListData\" (click)=\"opennavigateToGallery(open)\" class=\"approvalbody mb-4 cursor-pointer\">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"headingtext d-flex\">\r\n {{ open.checkListName || '--' }}\r\n <span *ngIf=\"open.taskType === 'redo'\" class=\"cate-sub badge badge-light-blue mx-1 mt-1\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_5119_5576)\">\r\n <path\r\n d=\"M11.5 2.00004V5.00004M11.5 5.00004H8.5M11.5 5.00004L9.18 2.82004C8.64263 2.28239 7.97781 1.88964 7.2476 1.67842C6.51738 1.46721 5.74555 1.44441 5.00414 1.61217C4.26273 1.77992 3.5759 2.13275 3.00773 2.63775C2.43957 3.14274 2.00858 3.78343 1.755 4.50004M0.5 10V7.00004M0.5 7.00004H3.5M0.5 7.00004L2.82 9.18004C3.35737 9.71768 4.02219 10.1104 4.7524 10.3217C5.48262 10.5329 6.25445 10.5557 6.99586 10.3879C7.73727 10.2202 8.4241 9.86732 8.99227 9.36233C9.56043 8.85734 9.99142 8.21664 10.245 7.50004\"\r\n stroke=\"#2E90FA\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_5576\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>{{ open.checkListType || '--' }}</span>\r\n <span *ngIf=\"open.checkListType && open.checkListType !== 'redo'\"\r\n class=\"cate-sub mx-1 badge badge-light-violet mt-1\"> {{ open.checkListType || '--' }}</span>\r\n </div>\r\n <!-- <span class=\"cate-sub badge badge-light-default\">Store Based</span> -->\r\n <div *ngIf=\"open?.priorityType\">\r\n <span class=\"cate-sub badge text-end\" [ngClass]=\"{\r\n 'badge-light-danger': open.priorityType === 'high',\r\n 'badge-light-blue': open.priorityType === 'medium',\r\n 'badge-light-warning': open.priorityType === 'low'\r\n }\">\r\n {{ open.priorityType | titlecase }} Priority\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ open.createdByName || '--' }}</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 3H13.5C13.8978 3 14.2794 3.15804 14.5607 3.43934C14.842 3.72064 15 4.10218 15 4.5V15C15 15.3978 14.842 15.7794 14.5607 16.0607C14.2794 16.342 13.8978 16.5 13.5 16.5H4.5C4.10218 16.5 3.72064 16.342 3.43934 16.0607C3.15804 15.7794 3 15.3978 3 15V4.5C3 4.10218 3.15804 3.72064 3.43934 3.43934C3.72064 3.15804 4.10218 3 4.5 3H6M6.75 1.5H11.25C11.6642 1.5 12 1.83579 12 2.25V3.75C12 4.16421 11.6642 4.5 11.25 4.5H6.75C6.33579 4.5 6 4.16421 6 3.75V2.25C6 1.83579 6.33579 1.5 6.75 1.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ open.storeCount !==null ?\r\n open.storeCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ open.submitCount !==null ? open.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} Stores</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 1.5V4.5M6 1.5V4.5M2.25 7.5H15.75M3.75 3H14.25C15.0784 3 15.75 3.67157 15.75 4.5V15C15.75 15.8284 15.0784 16.5 14.25 16.5H3.75C2.92157 16.5 2.25 15.8284 2.25 15V4.5C2.25 3.67157 2.92157 3 3.75 3Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">Repeats {{ open.scheduleRepeatedType ?\r\n open.scheduleRepeatedType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </div>\r\n <div class=\"ms-1 d-flex justify-content-between w-100\">\r\n <span><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_5119_3178)\">\r\n <mask id=\"path-1-inside-1_5119_3178\" fill=\"white\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\" />\r\n </mask>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\"\r\n fill=\"black\" stroke=\"black\" stroke-width=\"2\" mask=\"url(#path-1-inside-1_5119_3178)\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_3178\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"cate-sub ms-3\">{{ open.publishDate | date: \"YYYY-MM-dd\" }}</span></span>\r\n <span class=\"cate-sub badge badge-light-success mx-1 mt-1\">{{ open.approveCount !==null ?\r\n open.approveCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ open.submitCount !==null ? open.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvalOpenLoading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"approvalOpenNoData && !approvalOpenLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for Open Checklist\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n\r\n <div class=\"col-4\">\r\n <div class=\"approvalcard\">\r\n <div class=\"approvalheader\">\r\n <h3 class=\"card-title align-items-start d-flex flex-column mt-1\">\r\n <span class=\"cate-text\">Inprogress\r\n <span *ngIf=\"InprogressApprovalListData.length\"\r\n class=\"cate-sub badge badge-light-default mx-2\">{{InprogressApprovalListData.length}}\r\n </span></span>\r\n </h3>\r\n <!-- <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\"\r\n fill=\"none\">\r\n <path d=\"M8.66667 3.33325V12.6666M8.66667 12.6666L13.3333 7.99992M8.66667 12.6666L4 7.99992\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n <div *ngIf=\"!approvalInprogressLoading && !approvalInprogressNoData\" class=\"p-5 cardscroll cursor-pointer\">\r\n <div *ngFor=\"let inprogress of InprogressApprovalListData\" (click)=\"inprogressnavigateToGallery(inprogress)\" class=\"approvalbody mb-4\">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"headingtext d-flex\">\r\n {{ inprogress.checkListName || '--'}}\r\n <span *ngIf=\"inprogress.taskType === 'redo'\"\r\n class=\"cate-sub badge badge-light-blue mx-1 mt-1\"><svg xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_5119_5576)\">\r\n <path\r\n d=\"M11.5 2.00004V5.00004M11.5 5.00004H8.5M11.5 5.00004L9.18 2.82004C8.64263 2.28239 7.97781 1.88964 7.2476 1.67842C6.51738 1.46721 5.74555 1.44441 5.00414 1.61217C4.26273 1.77992 3.5759 2.13275 3.00773 2.63775C2.43957 3.14274 2.00858 3.78343 1.755 4.50004M0.5 10V7.00004M0.5 7.00004H3.5M0.5 7.00004L2.82 9.18004C3.35737 9.71768 4.02219 10.1104 4.7524 10.3217C5.48262 10.5329 6.25445 10.5557 6.99586 10.3879C7.73727 10.2202 8.4241 9.86732 8.99227 9.36233C9.56043 8.85734 9.99142 8.21664 10.245 7.50004\"\r\n stroke=\"#2E90FA\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_5576\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>{{ inprogress.checkListType || '--' }}</span>\r\n <span *ngIf=\"inprogress.checkListType && inprogress.checkListType !== 'redo'\"\r\n class=\"cate-sub mx-1 badge badge-light-violet mt-1\"> {{ inprogress.checkListType || '--'\r\n }}</span>\r\n </div>\r\n <!-- <span class=\"cate-sub badge badge-light-default\">Store Based</span> -->\r\n <div *ngIf=\"inprogress?.priorityType\">\r\n <span class=\"cate-sub badge text-end\" [ngClass]=\"{\r\n 'badge-light-danger': inprogress.priorityType === 'high',\r\n 'badge-light-blue': inprogress.priorityType === 'medium',\r\n 'badge-light-warning': inprogress.priorityType === 'low'\r\n }\">\r\n {{ inprogress.priorityType | titlecase }} Priority\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ inprogress.createdByName || '--' }}</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 3H13.5C13.8978 3 14.2794 3.15804 14.5607 3.43934C14.842 3.72064 15 4.10218 15 4.5V15C15 15.3978 14.842 15.7794 14.5607 16.0607C14.2794 16.342 13.8978 16.5 13.5 16.5H4.5C4.10218 16.5 3.72064 16.342 3.43934 16.0607C3.15804 15.7794 3 15.3978 3 15V4.5C3 4.10218 3.15804 3.72064 3.43934 3.43934C3.72064 3.15804 4.10218 3 4.5 3H6M6.75 1.5H11.25C11.6642 1.5 12 1.83579 12 2.25V3.75C12 4.16421 11.6642 4.5 11.25 4.5H6.75C6.33579 4.5 6 4.16421 6 3.75V2.25C6 1.83579 6.33579 1.5 6.75 1.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ inprogress.storeCount !==null ?\r\n inprogress.storeCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ inprogress.submitCount !==null ? inprogress.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} Stores</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 1.5V4.5M6 1.5V4.5M2.25 7.5H15.75M3.75 3H14.25C15.0784 3 15.75 3.67157 15.75 4.5V15C15.75 15.8284 15.0784 16.5 14.25 16.5H3.75C2.92157 16.5 2.25 15.8284 2.25 15V4.5C2.25 3.67157 2.92157 3 3.75 3Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">Repeats {{ inprogress.scheduleRepeatedType ?\r\n inprogress.scheduleRepeatedType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </div>\r\n <div class=\"ms-1 d-flex justify-content-between w-100\">\r\n <span><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_5119_3178)\">\r\n <mask id=\"path-1-inside-1_5119_3178\" fill=\"white\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\" />\r\n </mask>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\"\r\n fill=\"black\" stroke=\"black\" stroke-width=\"2\" mask=\"url(#path-1-inside-1_5119_3178)\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_3178\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"cate-sub ms-3\">{{ inprogress.publishDate | date: \"YYYY-MM-dd\" }}</span></span>\r\n <span class=\"cate-sub badge badge-light-success mx-1 mt-1\">{{ inprogress.approveCount !==null ?\r\n inprogress.approveCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ inprogress.submitCount !==null ? inprogress.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvalInprogressLoading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"approvalInprogressNoData && !approvalInprogressLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for Inprogress Checklilst\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n <!-- inprogress card end -->\r\n <!-- Approved card start -->\r\n <div class=\"col-4\">\r\n <div class=\"approvalcard\">\r\n <div class=\"approvalheader\">\r\n <h3 class=\"card-title align-items-start d-flex flex-column mt-1\">\r\n <span class=\"cate-text\">Approved <span *ngIf=\"DoneApprovalListData.length\"\r\n class=\"cate-sub badge badge-light-default mx-2\"> {{DoneApprovalListData.length}}\r\n </span></span>\r\n </h3>\r\n <!-- <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\"\r\n fill=\"none\">\r\n <path d=\"M8.66667 3.33325V12.6666M8.66667 12.6666L13.3333 7.99992M8.66667 12.6666L4 7.99992\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n <div *ngIf=\"!approvedLoading && !approvedNoData\" class=\"p-5 cardscroll\">\r\n <div *ngFor=\"let done of DoneApprovalListData\" (click)=\"donenavigateToGallery(done)\" class=\"approvalbody mb-4 cursor-pointer\">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"headingtext d-flex\">\r\n {{ done.checkListName || '--' }}\r\n <span *ngIf=\"done.taskType === 'redo'\" class=\"cate-sub badge badge-light-blue mx-1 mt-1\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_5119_5576)\">\r\n <path\r\n d=\"M11.5 2.00004V5.00004M11.5 5.00004H8.5M11.5 5.00004L9.18 2.82004C8.64263 2.28239 7.97781 1.88964 7.2476 1.67842C6.51738 1.46721 5.74555 1.44441 5.00414 1.61217C4.26273 1.77992 3.5759 2.13275 3.00773 2.63775C2.43957 3.14274 2.00858 3.78343 1.755 4.50004M0.5 10V7.00004M0.5 7.00004H3.5M0.5 7.00004L2.82 9.18004C3.35737 9.71768 4.02219 10.1104 4.7524 10.3217C5.48262 10.5329 6.25445 10.5557 6.99586 10.3879C7.73727 10.2202 8.4241 9.86732 8.99227 9.36233C9.56043 8.85734 9.99142 8.21664 10.245 7.50004\"\r\n stroke=\"#2E90FA\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_5576\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>{{ done.checkListType || '--' }}</span>\r\n <span *ngIf=\"done.checkListType && done.checkListType !== 'redo'\"\r\n class=\"cate-sub mx-1 badge badge-light-violet mt-1\"> {{ done.checkListType || '--' }}</span>\r\n </div>\r\n <!-- <span class=\"cate-sub badge badge-light-default\">Store Based</span> -->\r\n <div>\r\n <span *ngIf=\"done.priorityType\" class=\"cate-sub badge text-end\" [ngClass]=\"{\r\n 'badge-light-danger': done.priorityType === 'high',\r\n 'badge-light-blue': done.priorityType === 'medium',\r\n 'badge-light-warning': done.priorityType === 'low'\r\n }\">\r\n {{ done.priorityType | titlecase }} Priority\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ done.createdByName || '--' }}</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 3H13.5C13.8978 3 14.2794 3.15804 14.5607 3.43934C14.842 3.72064 15 4.10218 15 4.5V15C15 15.3978 14.842 15.7794 14.5607 16.0607C14.2794 16.342 13.8978 16.5 13.5 16.5H4.5C4.10218 16.5 3.72064 16.342 3.43934 16.0607C3.15804 15.7794 3 15.3978 3 15V4.5C3 4.10218 3.15804 3.72064 3.43934 3.43934C3.72064 3.15804 4.10218 3 4.5 3H6M6.75 1.5H11.25C11.6642 1.5 12 1.83579 12 2.25V3.75C12 4.16421 11.6642 4.5 11.25 4.5H6.75C6.33579 4.5 6 4.16421 6 3.75V2.25C6 1.83579 6.33579 1.5 6.75 1.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ done.storeCount !==null ?\r\n done.storeCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ done.submitCount !==null ? done.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} Stores</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 1.5V4.5M6 1.5V4.5M2.25 7.5H15.75M3.75 3H14.25C15.0784 3 15.75 3.67157 15.75 4.5V15C15.75 15.8284 15.0784 16.5 14.25 16.5H3.75C2.92157 16.5 2.25 15.8284 2.25 15V4.5C2.25 3.67157 2.92157 3 3.75 3Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">Repeats {{ done.scheduleRepeatedType ?\r\n done.scheduleRepeatedType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </div>\r\n <div class=\"ms-1 d-flex justify-content-between w-100\">\r\n <span><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_5119_3178)\">\r\n <mask id=\"path-1-inside-1_5119_3178\" fill=\"white\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\" />\r\n </mask>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\"\r\n fill=\"black\" stroke=\"black\" stroke-width=\"2\" mask=\"url(#path-1-inside-1_5119_3178)\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_3178\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"cate-sub ms-3\">{{ done.publishDate | date: \"YYYY-MM-dd\"}}</span></span>\r\n <span class=\"cate-sub badge badge-light-success mx-1 mt-1\">{{ done.approveCount !==null ?\r\n done.approveCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ done.submitCount !==null ? done.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvedLoading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"approvedNoData && !approvedLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for Approved Checklist\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n <!-- Approved card end -->\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <div class=\"row my-3\">\r\n <ng-container>\r\n <div ngbAccordion>\r\n <div ngbAccordionItem [collapsed]=\"false\">\r\n <h2 ngbAccordionHeader>\r\n <button class=\"headtext\" ngbAccordionButton>Activity Log<div class=\"divider\"></div></button>\r\n </h2>\r\n <div ngbAccordionCollapse>\r\n <div ngbAccordionBody>\r\n <ng-template>\r\n <lib-activity-log></lib-activity-log>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>", styles: [".actioncard{display:flex;padding:8px 16px;align-items:center;gap:16px;align-self:stretch;border-radius:6px;border-bottom:2px solid var(--Gray-200, #EAECF0);background:radial-gradient(206.89% 107.47% at 16.16% 32.77%,#fff6,#45bbfe33),#f2f4f7;box-shadow:0 4px 10px #0000000d}.actioncount{color:var(--Black, #101828);font-size:30px;font-style:normal;font-weight:600;line-height:38px}.actiontext{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.approvalcard{border-radius:6px;background:var(--Gray-50, #F9FAFB);flex-direction:column;align-items:center;flex:1 0 0;align-self:stretch}.approvalheader{display:flex;padding:16px 15px;justify-content:space-between;align-items:center;align-self:stretch;border-radius:6px 6px 0 0;background:var(--Gray-100, #F2F4F7)}.approvalbody{border-radius:8px;border:1px solid var(--Primary-25, #F6FCFF);background:var(--White, #FFF);box-shadow:0 4px 8px -2px #1018281a,0 2px 4px -2px #1018280f;display:flex;padding:12px;flex-direction:column;align-items:flex-start;gap:12px;align-self:stretch}.cate-text{color:#626f86;font-size:12px;font-style:normal;font-weight:500;line-height:18px}.cate-sub{color:var(--Gray-700, #344054);text-align:center;font-size:12px;font-style:normal;font-weight:500;line-height:18px;mix-blend-mode:multiply}.card-label{color:var(--Gray-900, #101828);font-size:18px;font-style:normal;font-weight:600;line-height:28px}.text-sub{color:var(--Gray-500, #667085);font-size:14px;font-style:normal;font-weight:400;line-height:20px}.headingtext{color:var(--Black, #101828);font-size:16px;font-style:normal;font-weight:500;line-height:24px}.cardsubtext{color:var(--Gray-500, #667085);font-size:12px;font-style:normal;font-weight:500;line-height:18px}.cardscroll{overflow-y:scroll;max-height:275px}.badge-light-blue{border-radius:16px;background:var(--Blue-50, #EFF8FF);display:flex;padding:2px 8px 2px 6px;justify-content:center;align-items:center;gap:4px;color:var(--Blue-700, #175CD3);text-align:center;font-size:12px;font-style:normal;font-weight:500;line-height:18px}.badge-light-violet{border-radius:16px;background:var(--Purple-50, #F4F3FF);padding:2px 8px;justify-content:center;align-items:center;color:var(--Purple-700, #5925DC);text-align:center;font-size:12px;font-style:normal;font-weight:500;line-height:18px}.headtext{color:var(--Black, #101828);font-size:18px;font-style:normal;font-weight:500;line-height:28px}.card .card-header{padding:0px .5rem}\n"], dependencies: [{ kind: "directive", type: i5.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i5.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i5.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "component", type: i6.FiltersComponent, selector: "lib-filters", inputs: ["dataObject"], outputs: ["appliedFilters"] }, { kind: "directive", type: i1.ɵNgNoValidate, selector: "form:not([ngNoForm]):not([ngNativeValidate])" }, { kind: "directive", type: i1.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i1.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i1.NgControlStatusGroup, selector: "[formGroupName],[formArrayName],[ngModelGroup],[formGroup],form:not([ngNoForm]),[ngForm]" }, { kind: "directive", type: i1.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "directive", type: i1.FormControlDirective, selector: "[formControl]", inputs: ["formControl", "disabled", "ngModel"], outputs: ["ngModelChange"], exportAs: ["ngForm"] }, { kind: "directive", type: i1.FormGroupDirective, selector: "[formGroup]", inputs: ["formGroup"], outputs: ["ngSubmit"], exportAs: ["ngForm"] }, { kind: "directive", type: i7.NgbAccordionButton, selector: "button[ngbAccordionButton]" }, { kind: "directive", type: i7.NgbAccordionDirective, selector: "[ngbAccordion]", inputs: ["animation", "closeOthers", "destroyOnHide"], outputs: ["show", "shown", "hide", "hidden"], exportAs: ["ngbAccordion"] }, { kind: "directive", type: i7.NgbAccordionItem, selector: "[ngbAccordionItem]", inputs: ["ngbAccordionItem", "destroyOnHide", "disabled", "collapsed"], outputs: ["show", "shown", "hide", "hidden"], exportAs: ["ngbAccordionItem"] }, { kind: "directive", type: i7.NgbAccordionHeader, selector: "[ngbAccordionHeader]" }, { kind: "directive", type: i7.NgbAccordionBody, selector: "[ngbAccordionBody]" }, { kind: "directive", type: i7.NgbAccordionCollapse, selector: "[ngbAccordionCollapse]", exportAs: ["ngbAccordionCollapse"] }, { kind: "component", type: i8.ReactiveSelectComponent, selector: "lib-reactive-select", inputs: ["idField", "nameField", "label", "data"], outputs: ["itemChange"] }, { kind: "component", type: i9.ActivityLogComponent, selector: "lib-activity-log" }, { kind: "pipe", type: i5.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i5.DatePipe, name: "date" }] });
33
383
  }
34
384
  i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ActionCentreComponent, decorators: [{
35
385
  type: Component,
36
- args: [{ selector: 'lib-action-centre', template: "<div class=\"col-md-12\">\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <div class=\"card\">\r\n <div class=\"actioncard my-3 mx-3\">\r\n <div class=\"d-flex\">\r\n <span class=\"actioncount\">50</span> <span class=\"actiontext mx-5 mt-3\">Checklist waiting for approval</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-6\">\r\n <div class=\"card\">\r\n <div class=\"actioncard my-3 mx-3\">\r\n <div class=\"d-flex\">\r\n <span class=\"actioncount\">50</span> <span class=\"actiontext mx-5 mt-3\">Task waiting for approval</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row m-0 my-3\">\r\n <div class=\"card\">\r\n <div class=\"card-header border-0 pt-3\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Approval</span>\r\n <span class=\"text-sub mb-2\">An Summary of all the checklists awaiting approval\r\n </span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <form class=\"mt-1 me-3 borderless-select\" [formGroup]=\"form\">\r\n <lib-reactive-select [formControl]=\"checklistselectControl\" [idField]=\"'_id'\"\r\n [nameField]=\"'checkListName'\" [data]=\"checklistDropdown\" class=\"w-100 \"\r\n style=\"border: none !important; box-shadow: none !important;\"\r\n (valueChange)=\"onValueChangeChecklist($event)\">\r\n <ng-template let-item>\r\n <div class=\"d-flex justify-content-between align-items-center no-border-custom-select\">\r\n <span>{{ item.checkListName }}</span>\r\n <span class=\"d-flex align-items-center\">\r\n <!-- <span class=\"status-text\">Status</span> -->\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path d=\"M4 6L8 10L12 6\" stroke=\"#101828\" stroke-width=\"2\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </lib-reactive-select>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n </div> \r\n </div>\r\n </div>\r\n</div>", styles: [".actioncard{display:flex;padding:8px 16px;align-items:center;gap:16px;align-self:stretch;border-radius:6px;border-bottom:2px solid var(--Gray-200, #EAECF0);background:radial-gradient(206.89% 107.47% at 16.16% 32.77%,#fff6,#45bbfe33),#f2f4f7;box-shadow:0 4px 10px #0000000d}.actioncount{color:var(--Black, #101828);font-size:30px;font-style:normal;font-weight:600;line-height:38px}.actiontext{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}\n"] }]
37
- }], ctorParameters: () => [{ type: i1.FormBuilder }] });
38
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWNlbnRyZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL2FjdGlvbi1jZW50cmUvYWN0aW9uLWNlbnRyZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL2FjdGlvbi1jZW50cmUvYWN0aW9uLWNlbnRyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFVLE1BQU0sZUFBZSxDQUFDO0FBQ2xELE9BQU8sRUFBZSxXQUFXLEVBQWEsTUFBTSxnQkFBZ0IsQ0FBQzs7OztBQU9yRSxNQUFNLE9BQU8scUJBQXFCO0lBV1o7SUFWcEIsSUFBSSxDQUFZO0lBQ2hCLHNCQUFzQixDQUFjO0lBQ3BDLGlCQUFpQixHQUFHO1FBQ2xCLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFO1FBQzFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFO1FBQzFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFO1FBQzFDLEVBQUUsR0FBRyxFQUFFLEdBQUcsRUFBRSxhQUFhLEVBQUUsYUFBYSxFQUFFO1FBQzFDLDRDQUE0QztLQUM3QyxDQUFDO0lBRUYsWUFBb0IsRUFBZTtRQUFmLE9BQUUsR0FBRixFQUFFLENBQWE7UUFDakMsSUFBSSxDQUFDLHNCQUFzQixHQUFHLElBQUksV0FBVyxDQUFDLElBQUksQ0FBQyxDQUFDO1FBQ3BELElBQUksQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDLEVBQUUsQ0FBQyxLQUFLLENBQUM7WUFDeEIsc0JBQXNCLEVBQUUsSUFBSSxDQUFDLHNCQUFzQjtTQUNwRCxDQUFDLENBQUM7SUFDTCxDQUFDO0lBRUQsUUFBUTtRQUNOLGtEQUFrRDtJQUNwRCxDQUFDO0lBRUQsc0JBQXNCLENBQUMsS0FBVTtRQUMvQiwwQ0FBMEM7UUFDMUMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxxQkFBcUIsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM1QyxDQUFDO3dHQXpCVSxxQkFBcUI7NEZBQXJCLHFCQUFxQix5RENSbEMsaXNHQTJETTs7NEZEbkRPLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsIE9uSW5pdCB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBGb3JtQnVpbGRlciwgRm9ybUNvbnRyb2wsIEZvcm1Hcm91cCB9IGZyb20gJ0Bhbmd1bGFyL2Zvcm1zJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLWFjdGlvbi1jZW50cmUnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi9hY3Rpb24tY2VudHJlLmNvbXBvbmVudC5odG1sJyxcclxuICBzdHlsZVVybDogJy4vYWN0aW9uLWNlbnRyZS5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIEFjdGlvbkNlbnRyZUNvbXBvbmVudCBpbXBsZW1lbnRzIE9uSW5pdCB7XHJcbiAgZm9ybTogRm9ybUdyb3VwO1xyXG4gIGNoZWNrbGlzdHNlbGVjdENvbnRyb2w6IEZvcm1Db250cm9sO1xyXG4gIGNoZWNrbGlzdERyb3Bkb3duID0gW1xyXG4gICAgeyBfaWQ6ICcxJywgY2hlY2tMaXN0TmFtZTogJ0NoZWNrbGlzdCAxJyB9LFxyXG4gICAgeyBfaWQ6ICcyJywgY2hlY2tMaXN0TmFtZTogJ0NoZWNrbGlzdCAyJyB9LFxyXG4gICAgeyBfaWQ6ICczJywgY2hlY2tMaXN0TmFtZTogJ0NoZWNrbGlzdCAzJyB9LFxyXG4gICAgeyBfaWQ6ICc0JywgY2hlY2tMaXN0TmFtZTogJ0NoZWNrbGlzdCA0JyB9XHJcbiAgICAvLyBBZGQgbW9yZSBzdGF0aWMgY2hlY2tsaXN0IGl0ZW1zIGFzIG5lZWRlZFxyXG4gIF07XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgZmI6IEZvcm1CdWlsZGVyKSB7XHJcbiAgICB0aGlzLmNoZWNrbGlzdHNlbGVjdENvbnRyb2wgPSBuZXcgRm9ybUNvbnRyb2wobnVsbCk7XHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgY2hlY2tsaXN0c2VsZWN0Q29udHJvbDogdGhpcy5jaGVja2xpc3RzZWxlY3RDb250cm9sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgLy8gQW55IGFkZGl0aW9uYWwgaW5pdGlhbGl6YXRpb24gbG9naWMgY2FuIGdvIGhlcmVcclxuICB9XHJcblxyXG4gIG9uVmFsdWVDaGFuZ2VDaGVja2xpc3QoZXZlbnQ6IGFueSkge1xyXG4gICAgLy8gSGFuZGxlIHRoZSB2YWx1ZSBjaGFuZ2UgZXZlbnQgYXMgbmVlZGVkXHJcbiAgICBjb25zb2xlLmxvZygnU2VsZWN0ZWQgY2hlY2tsaXN0OicsIGV2ZW50KTtcclxuICB9XHJcbn0iLCI8ZGl2IGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbC02XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYWN0aW9uY2FyZCBteS0zIG14LTNcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJhY3Rpb25jb3VudFwiPjUwPC9zcGFuPiA8c3BhbiBjbGFzcz1cImFjdGlvbnRleHQgbXgtNSBtdC0zXCI+Q2hlY2tsaXN0IHdhaXRpbmcgZm9yIGFwcHJvdmFsPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNlwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFjdGlvbmNhcmQgbXktMyBteC0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiYWN0aW9uY291bnRcIj41MDwvc3Bhbj4gPHNwYW4gY2xhc3M9XCJhY3Rpb250ZXh0IG14LTUgbXQtM1wiPlRhc2sgd2FpdGluZyBmb3IgYXBwcm92YWw8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2IGNsYXNzPVwicm93IG0tMCBteS0zXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtM1wiPlxyXG4gICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgbWItMlwiPkFwcHJvdmFsPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXN1YiBtYi0yXCI+QW4gU3VtbWFyeSBvZiBhbGwgdGhlIGNoZWNrbGlzdHMgYXdhaXRpbmcgYXBwcm92YWxcclxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyICBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxmb3JtIGNsYXNzPVwibXQtMSBtZS0zIGJvcmRlcmxlc3Mtc2VsZWN0XCIgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLXJlYWN0aXZlLXNlbGVjdCBbZm9ybUNvbnRyb2xdPVwiY2hlY2tsaXN0c2VsZWN0Q29udHJvbFwiIFtpZEZpZWxkXT1cIidfaWQnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbbmFtZUZpZWxkXT1cIidjaGVja0xpc3ROYW1lJ1wiIFtkYXRhXT1cImNoZWNrbGlzdERyb3Bkb3duXCIgY2xhc3M9XCJ3LTEwMCBcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPVwiYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7IGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlQ2hlY2tsaXN0KCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctdGVtcGxhdGUgbGV0LWl0ZW0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyIG5vLWJvcmRlci1jdXN0b20tc2VsZWN0XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBpdGVtLmNoZWNrTGlzdE5hbWUgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxzcGFuIGNsYXNzPVwic3RhdHVzLXRleHRcIj5TdGF0dXM8L3NwYW4+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTQgNkw4IDEwTDEyIDZcIiBzdHJva2U9XCIjMTAxODI4XCIgc3Ryb2tlLXdpZHRoPVwiMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLXRlbXBsYXRlPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9saWItcmVhY3RpdmUtc2VsZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+ICBcclxuICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==
386
+ args: [{ selector: 'lib-action-centre', template: "<div class=\"col-md-12\">\r\n <div class=\"row\">\r\n <div class=\"col-6\">\r\n <div class=\"card\">\r\n <div class=\"actioncard my-3 mx-3\">\r\n <div class=\"d-flex\">\r\n <span class=\"actioncount\"> {{ overallCardsData.checklistApproval?.count !==null ?\r\n overallCardsData.checklistApproval?.count.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) : '--' }}</span>\r\n <span class=\"actiontext mx-5 mt-3\">Checklist waiting for\r\n approval</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-6\">\r\n <div class=\"card\">\r\n <div class=\"actioncard my-3 mx-3\">\r\n <div class=\"d-flex\">\r\n <span class=\"actioncount\"> {{ overallCardsData.taskApproval?.count !==null ?\r\n overallCardsData.taskApproval?.count.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) : '--' }}</span> <span class=\"actiontext mx-5 mt-3\">Task waiting for\r\n approval</span>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"row m-0 my-3\">\r\n <div class=\"card\">\r\n <div class=\"card-header border-0 pt-3\">\r\n <h3 class=\"card-title align-items-start flex-column\">\r\n <span class=\"card-label mb-2\">Approval</span>\r\n <span class=\"text-sub mb-2\">An Summary of all the checklists awaiting approval\r\n </span>\r\n </h3>\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative my-1\">\r\n <span class=\"svg-icon svg-icon-1 position-absolute ms-4 mt-1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"17.0365\" y=\"15.1223\" width=\"8.15546\" height=\"2\" rx=\"1\"\r\n transform=\"rotate(45 17.0365 15.1223)\" fill=\"currentColor\">\r\n </rect>\r\n <path\r\n d=\"M11 19C6.55556 19 3 15.4444 3 11C3 6.55556 6.55556 3 11 3C15.4444 3 19 6.55556 19 11C19 15.4444 15.4444 19 11 19ZM11 5C7.53333 5 5 7.53333 5 11C5 14.4667 7.53333 17 11 17C14.4667 17 17 14.4667 17 11C17 7.53333 14.4667 5 11 5Z\"\r\n fill=\"currentColor\"></path>\r\n </svg>\r\n </span>\r\n <!-- [disabled]=\"searchDisabled\" -->\r\n <input [(ngModel)]=\"searchInput\" type=\"text\" class=\"form-control w-400px ps-14 mt-1 me-3\"\r\n placeholder=\"Search\" autocomplete=\"off\" (keyup.enter)=\"searchField()\" />\r\n <lib-filters *ngIf=\"isTaskSelected\" class=\"me-3 mt-1\" [dataObject]=\"dataObject\"\r\n (appliedFilters)=\"applyFilters($event)\"></lib-filters>\r\n\r\n <form class=\"mt-1 borderless-select\" [formGroup]=\"form\">\r\n <lib-reactive-select [formControl]=\"selectedlistselectControl\" [idField]=\"'_id'\" [nameField]=\"'label'\"\r\n [data]=\"statusselectControl\" class=\"w-200px\" (valueChange)=\"onValueChangeStatusSelect($event)\">\r\n <ng-template let-item>\r\n <div class=\"d-flex justify-content-between align-items-center\">\r\n <span>{{ item.label }}</span>\r\n <span class=\"d-flex align-items-center\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M5 7.5L10 12.5L15 7.5\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\"\r\n stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </ng-template>\r\n </lib-reactive-select>\r\n </form>\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-lg-12\">\r\n <div class=\"row p-3\">\r\n <!-- open card start -->\r\n <div class=\"col-4\">\r\n <div class=\"approvalcard\">\r\n <div class=\"approvalheader\">\r\n <h3 class=\"card-title align-items-start d-flex flex-column mt-1\">\r\n <span class=\"cate-text\">Open <span *ngIf=\"OpenApprovalListData.length\"\r\n class=\"cate-sub badge badge-light-default mx-2\"> {{OpenApprovalListData.length}}\r\n </span></span>\r\n </h3>\r\n <!-- <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\"\r\n fill=\"none\">\r\n <path d=\"M8.66667 3.33325V12.6666M8.66667 12.6666L13.3333 7.99992M8.66667 12.6666L4 7.99992\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n <div *ngIf=\"!approvalOpenLoading && !approvalOpenNoData\" class=\"p-5 cardscroll\">\r\n <div *ngFor=\"let open of OpenApprovalListData\" (click)=\"opennavigateToGallery(open)\" class=\"approvalbody mb-4 cursor-pointer\">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"headingtext d-flex\">\r\n {{ open.checkListName || '--' }}\r\n <span *ngIf=\"open.taskType === 'redo'\" class=\"cate-sub badge badge-light-blue mx-1 mt-1\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_5119_5576)\">\r\n <path\r\n d=\"M11.5 2.00004V5.00004M11.5 5.00004H8.5M11.5 5.00004L9.18 2.82004C8.64263 2.28239 7.97781 1.88964 7.2476 1.67842C6.51738 1.46721 5.74555 1.44441 5.00414 1.61217C4.26273 1.77992 3.5759 2.13275 3.00773 2.63775C2.43957 3.14274 2.00858 3.78343 1.755 4.50004M0.5 10V7.00004M0.5 7.00004H3.5M0.5 7.00004L2.82 9.18004C3.35737 9.71768 4.02219 10.1104 4.7524 10.3217C5.48262 10.5329 6.25445 10.5557 6.99586 10.3879C7.73727 10.2202 8.4241 9.86732 8.99227 9.36233C9.56043 8.85734 9.99142 8.21664 10.245 7.50004\"\r\n stroke=\"#2E90FA\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_5576\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>{{ open.checkListType || '--' }}</span>\r\n <span *ngIf=\"open.checkListType && open.checkListType !== 'redo'\"\r\n class=\"cate-sub mx-1 badge badge-light-violet mt-1\"> {{ open.checkListType || '--' }}</span>\r\n </div>\r\n <!-- <span class=\"cate-sub badge badge-light-default\">Store Based</span> -->\r\n <div *ngIf=\"open?.priorityType\">\r\n <span class=\"cate-sub badge text-end\" [ngClass]=\"{\r\n 'badge-light-danger': open.priorityType === 'high',\r\n 'badge-light-blue': open.priorityType === 'medium',\r\n 'badge-light-warning': open.priorityType === 'low'\r\n }\">\r\n {{ open.priorityType | titlecase }} Priority\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ open.createdByName || '--' }}</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 3H13.5C13.8978 3 14.2794 3.15804 14.5607 3.43934C14.842 3.72064 15 4.10218 15 4.5V15C15 15.3978 14.842 15.7794 14.5607 16.0607C14.2794 16.342 13.8978 16.5 13.5 16.5H4.5C4.10218 16.5 3.72064 16.342 3.43934 16.0607C3.15804 15.7794 3 15.3978 3 15V4.5C3 4.10218 3.15804 3.72064 3.43934 3.43934C3.72064 3.15804 4.10218 3 4.5 3H6M6.75 1.5H11.25C11.6642 1.5 12 1.83579 12 2.25V3.75C12 4.16421 11.6642 4.5 11.25 4.5H6.75C6.33579 4.5 6 4.16421 6 3.75V2.25C6 1.83579 6.33579 1.5 6.75 1.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ open.storeCount !==null ?\r\n open.storeCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ open.submitCount !==null ? open.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} Stores</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 1.5V4.5M6 1.5V4.5M2.25 7.5H15.75M3.75 3H14.25C15.0784 3 15.75 3.67157 15.75 4.5V15C15.75 15.8284 15.0784 16.5 14.25 16.5H3.75C2.92157 16.5 2.25 15.8284 2.25 15V4.5C2.25 3.67157 2.92157 3 3.75 3Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">Repeats {{ open.scheduleRepeatedType ?\r\n open.scheduleRepeatedType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </div>\r\n <div class=\"ms-1 d-flex justify-content-between w-100\">\r\n <span><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_5119_3178)\">\r\n <mask id=\"path-1-inside-1_5119_3178\" fill=\"white\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\" />\r\n </mask>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\"\r\n fill=\"black\" stroke=\"black\" stroke-width=\"2\" mask=\"url(#path-1-inside-1_5119_3178)\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_3178\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"cate-sub ms-3\">{{ open.publishDate | date: \"YYYY-MM-dd\" }}</span></span>\r\n <span class=\"cate-sub badge badge-light-success mx-1 mt-1\">{{ open.approveCount !==null ?\r\n open.approveCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ open.submitCount !==null ? open.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvalOpenLoading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"approvalOpenNoData && !approvalOpenLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for Open Checklist\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n\r\n <div class=\"col-4\">\r\n <div class=\"approvalcard\">\r\n <div class=\"approvalheader\">\r\n <h3 class=\"card-title align-items-start d-flex flex-column mt-1\">\r\n <span class=\"cate-text\">Inprogress\r\n <span *ngIf=\"InprogressApprovalListData.length\"\r\n class=\"cate-sub badge badge-light-default mx-2\">{{InprogressApprovalListData.length}}\r\n </span></span>\r\n </h3>\r\n <!-- <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\"\r\n fill=\"none\">\r\n <path d=\"M8.66667 3.33325V12.6666M8.66667 12.6666L13.3333 7.99992M8.66667 12.6666L4 7.99992\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n <div *ngIf=\"!approvalInprogressLoading && !approvalInprogressNoData\" class=\"p-5 cardscroll cursor-pointer\">\r\n <div *ngFor=\"let inprogress of InprogressApprovalListData\" (click)=\"inprogressnavigateToGallery(inprogress)\" class=\"approvalbody mb-4\">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"headingtext d-flex\">\r\n {{ inprogress.checkListName || '--'}}\r\n <span *ngIf=\"inprogress.taskType === 'redo'\"\r\n class=\"cate-sub badge badge-light-blue mx-1 mt-1\"><svg xmlns=\"http://www.w3.org/2000/svg\"\r\n width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_5119_5576)\">\r\n <path\r\n d=\"M11.5 2.00004V5.00004M11.5 5.00004H8.5M11.5 5.00004L9.18 2.82004C8.64263 2.28239 7.97781 1.88964 7.2476 1.67842C6.51738 1.46721 5.74555 1.44441 5.00414 1.61217C4.26273 1.77992 3.5759 2.13275 3.00773 2.63775C2.43957 3.14274 2.00858 3.78343 1.755 4.50004M0.5 10V7.00004M0.5 7.00004H3.5M0.5 7.00004L2.82 9.18004C3.35737 9.71768 4.02219 10.1104 4.7524 10.3217C5.48262 10.5329 6.25445 10.5557 6.99586 10.3879C7.73727 10.2202 8.4241 9.86732 8.99227 9.36233C9.56043 8.85734 9.99142 8.21664 10.245 7.50004\"\r\n stroke=\"#2E90FA\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_5576\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>{{ inprogress.checkListType || '--' }}</span>\r\n <span *ngIf=\"inprogress.checkListType && inprogress.checkListType !== 'redo'\"\r\n class=\"cate-sub mx-1 badge badge-light-violet mt-1\"> {{ inprogress.checkListType || '--'\r\n }}</span>\r\n </div>\r\n <!-- <span class=\"cate-sub badge badge-light-default\">Store Based</span> -->\r\n <div *ngIf=\"inprogress?.priorityType\">\r\n <span class=\"cate-sub badge text-end\" [ngClass]=\"{\r\n 'badge-light-danger': inprogress.priorityType === 'high',\r\n 'badge-light-blue': inprogress.priorityType === 'medium',\r\n 'badge-light-warning': inprogress.priorityType === 'low'\r\n }\">\r\n {{ inprogress.priorityType | titlecase }} Priority\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ inprogress.createdByName || '--' }}</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 3H13.5C13.8978 3 14.2794 3.15804 14.5607 3.43934C14.842 3.72064 15 4.10218 15 4.5V15C15 15.3978 14.842 15.7794 14.5607 16.0607C14.2794 16.342 13.8978 16.5 13.5 16.5H4.5C4.10218 16.5 3.72064 16.342 3.43934 16.0607C3.15804 15.7794 3 15.3978 3 15V4.5C3 4.10218 3.15804 3.72064 3.43934 3.43934C3.72064 3.15804 4.10218 3 4.5 3H6M6.75 1.5H11.25C11.6642 1.5 12 1.83579 12 2.25V3.75C12 4.16421 11.6642 4.5 11.25 4.5H6.75C6.33579 4.5 6 4.16421 6 3.75V2.25C6 1.83579 6.33579 1.5 6.75 1.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ inprogress.storeCount !==null ?\r\n inprogress.storeCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ inprogress.submitCount !==null ? inprogress.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} Stores</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 1.5V4.5M6 1.5V4.5M2.25 7.5H15.75M3.75 3H14.25C15.0784 3 15.75 3.67157 15.75 4.5V15C15.75 15.8284 15.0784 16.5 14.25 16.5H3.75C2.92157 16.5 2.25 15.8284 2.25 15V4.5C2.25 3.67157 2.92157 3 3.75 3Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">Repeats {{ inprogress.scheduleRepeatedType ?\r\n inprogress.scheduleRepeatedType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </div>\r\n <div class=\"ms-1 d-flex justify-content-between w-100\">\r\n <span><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_5119_3178)\">\r\n <mask id=\"path-1-inside-1_5119_3178\" fill=\"white\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\" />\r\n </mask>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\"\r\n fill=\"black\" stroke=\"black\" stroke-width=\"2\" mask=\"url(#path-1-inside-1_5119_3178)\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_3178\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"cate-sub ms-3\">{{ inprogress.publishDate | date: \"YYYY-MM-dd\" }}</span></span>\r\n <span class=\"cate-sub badge badge-light-success mx-1 mt-1\">{{ inprogress.approveCount !==null ?\r\n inprogress.approveCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ inprogress.submitCount !==null ? inprogress.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvalInprogressLoading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"approvalInprogressNoData && !approvalInprogressLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for Inprogress Checklilst\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n <!-- inprogress card end -->\r\n <!-- Approved card start -->\r\n <div class=\"col-4\">\r\n <div class=\"approvalcard\">\r\n <div class=\"approvalheader\">\r\n <h3 class=\"card-title align-items-start d-flex flex-column mt-1\">\r\n <span class=\"cate-text\">Approved <span *ngIf=\"DoneApprovalListData.length\"\r\n class=\"cate-sub badge badge-light-default mx-2\"> {{DoneApprovalListData.length}}\r\n </span></span>\r\n </h3>\r\n <!-- <div class=\"card-toolbar\">\r\n <div class=\"d-flex\">\r\n <div class=\"d-flex align-items-center position-relative\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"16\" viewBox=\"0 0 17 16\"\r\n fill=\"none\">\r\n <path d=\"M8.66667 3.33325V12.6666M8.66667 12.6666L13.3333 7.99992M8.66667 12.6666L4 7.99992\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg></span>\r\n </div>\r\n </div>\r\n </div> -->\r\n </div>\r\n <div *ngIf=\"!approvedLoading && !approvedNoData\" class=\"p-5 cardscroll\">\r\n <div *ngFor=\"let done of DoneApprovalListData\" (click)=\"donenavigateToGallery(done)\" class=\"approvalbody mb-4 cursor-pointer\">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"headingtext d-flex\">\r\n {{ done.checkListName || '--' }}\r\n <span *ngIf=\"done.taskType === 'redo'\" class=\"cate-sub badge badge-light-blue mx-1 mt-1\"><svg\r\n xmlns=\"http://www.w3.org/2000/svg\" width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_5119_5576)\">\r\n <path\r\n d=\"M11.5 2.00004V5.00004M11.5 5.00004H8.5M11.5 5.00004L9.18 2.82004C8.64263 2.28239 7.97781 1.88964 7.2476 1.67842C6.51738 1.46721 5.74555 1.44441 5.00414 1.61217C4.26273 1.77992 3.5759 2.13275 3.00773 2.63775C2.43957 3.14274 2.00858 3.78343 1.755 4.50004M0.5 10V7.00004M0.5 7.00004H3.5M0.5 7.00004L2.82 9.18004C3.35737 9.71768 4.02219 10.1104 4.7524 10.3217C5.48262 10.5329 6.25445 10.5557 6.99586 10.3879C7.73727 10.2202 8.4241 9.86732 8.99227 9.36233C9.56043 8.85734 9.99142 8.21664 10.245 7.50004\"\r\n stroke=\"#2E90FA\" stroke-width=\"1.5\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_5576\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>{{ done.checkListType || '--' }}</span>\r\n <span *ngIf=\"done.checkListType && done.checkListType !== 'redo'\"\r\n class=\"cate-sub mx-1 badge badge-light-violet mt-1\"> {{ done.checkListType || '--' }}</span>\r\n </div>\r\n <!-- <span class=\"cate-sub badge badge-light-default\">Store Based</span> -->\r\n <div>\r\n <span *ngIf=\"done.priorityType\" class=\"cate-sub badge text-end\" [ngClass]=\"{\r\n 'badge-light-danger': done.priorityType === 'high',\r\n 'badge-light-blue': done.priorityType === 'medium',\r\n 'badge-light-warning': done.priorityType === 'low'\r\n }\">\r\n {{ done.priorityType | titlecase }} Priority\r\n </span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex\">\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\"\r\n fill=\"none\">\r\n <path\r\n d=\"M13.3346 14V12.6667C13.3346 11.9594 13.0537 11.2811 12.5536 10.781C12.0535 10.281 11.3752 10 10.668 10H5.33464C4.62739 10 3.94911 10.281 3.44902 10.781C2.94892 11.2811 2.66797 11.9594 2.66797 12.6667V14M10.668 4.66667C10.668 6.13943 9.47406 7.33333 8.0013 7.33333C6.52854 7.33333 5.33464 6.13943 5.33464 4.66667C5.33464 3.19391 6.52854 2 8.0013 2C9.47406 2 10.668 3.19391 10.668 4.66667Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ done.createdByName || '--' }}</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 3H13.5C13.8978 3 14.2794 3.15804 14.5607 3.43934C14.842 3.72064 15 4.10218 15 4.5V15C15 15.3978 14.842 15.7794 14.5607 16.0607C14.2794 16.342 13.8978 16.5 13.5 16.5H4.5C4.10218 16.5 3.72064 16.342 3.43934 16.0607C3.15804 15.7794 3 15.3978 3 15V4.5C3 4.10218 3.15804 3.72064 3.43934 3.43934C3.72064 3.15804 4.10218 3 4.5 3H6M6.75 1.5H11.25C11.6642 1.5 12 1.83579 12 2.25V3.75C12 4.16421 11.6642 4.5 11.25 4.5H6.75C6.33579 4.5 6 4.16421 6 3.75V2.25C6 1.83579 6.33579 1.5 6.75 1.5Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\"> {{ done.storeCount !==null ?\r\n done.storeCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ done.submitCount !==null ? done.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} Stores</span></span>\r\n <span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\"\r\n fill=\"none\">\r\n <path\r\n d=\"M12 1.5V4.5M6 1.5V4.5M2.25 7.5H15.75M3.75 3H14.25C15.0784 3 15.75 3.67157 15.75 4.5V15C15.75 15.8284 15.0784 16.5 14.25 16.5H3.75C2.92157 16.5 2.25 15.8284 2.25 15V4.5C2.25 3.67157 2.92157 3 3.75 3Z\"\r\n stroke=\"#667085\" stroke-width=\"1.4\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg><span class=\"cardsubtext ms-2 me-4\">Repeats {{ done.scheduleRepeatedType ?\r\n done.scheduleRepeatedType.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span></span>\r\n </div>\r\n <div class=\"ms-1 d-flex justify-content-between w-100\">\r\n <span><svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\"\r\n xmlns=\"http://www.w3.org/2000/svg\">\r\n <g clip-path=\"url(#clip0_5119_3178)\">\r\n <mask id=\"path-1-inside-1_5119_3178\" fill=\"white\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\" />\r\n </mask>\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\"\r\n d=\"M6.13055 0.00142049C5.25757 -0.0175778 4.39097 0.154192 3.59125 0.504738C2.79152 0.855284 2.07795 1.37616 1.50034 2.03099C0.922726 2.68583 0.495005 3.45885 0.247033 4.29608C-0.000939533 5.1333 -0.0631861 6.01457 0.0646388 6.87834C0.192464 7.74212 0.507279 8.56758 0.987107 9.29711C1.46693 10.0266 2.10021 10.6426 2.84272 11.1021C3.58523 11.5616 4.41908 11.8535 5.28606 11.9574C6.15303 12.0613 7.03224 11.9747 7.8623 11.7037C8.00412 11.6573 8.12173 11.5565 8.18924 11.4235C8.25675 11.2904 8.26864 11.136 8.2223 10.9942C8.17595 10.8523 8.07516 10.7347 7.9421 10.6672C7.80905 10.5997 7.65462 10.5878 7.5128 10.6342C6.61077 10.9287 5.6424 10.9536 4.72644 10.7058C3.81048 10.458 2.98675 9.94825 2.35627 9.2391C1.7258 8.52995 1.31598 7.65221 1.17709 6.71354C1.0382 5.77487 1.17627 4.81607 1.57436 3.95473C1.97246 3.09338 2.61327 2.36694 3.41822 1.86449C4.22317 1.36204 5.15725 1.10543 6.10592 1.12613C7.05458 1.14683 7.97659 1.44393 8.75885 1.98101C9.54112 2.51809 10.1496 3.27178 10.5098 4.14967C10.5664 4.28772 10.6755 4.39763 10.8131 4.45522C10.8813 4.48374 10.9544 4.49856 11.0282 4.49883C11.1021 4.4991 11.1753 4.48482 11.2437 4.4568C11.312 4.42878 11.3742 4.38757 11.4266 4.33552C11.479 4.28347 11.5207 4.22161 11.5492 4.15347C11.5777 4.08532 11.5926 4.01222 11.5928 3.93835C11.5931 3.86448 11.5788 3.79127 11.5508 3.72292C11.1076 2.64239 10.3586 1.7147 9.3958 1.05365C8.43299 0.392587 7.29817 0.0268946 6.13055 0.00142049ZM6.5618 2.81242C6.5618 2.66324 6.50253 2.52016 6.39704 2.41467C6.29155 2.30918 6.14848 2.24992 5.9993 2.24992C5.85011 2.24992 5.70704 2.30918 5.60155 2.41467C5.49606 2.52016 5.4368 2.66324 5.4368 2.81242V5.76742L3.9113 7.29217C3.85603 7.34367 3.8117 7.40577 3.78096 7.47477C3.75022 7.54377 3.73368 7.61825 3.73235 7.69378C3.73102 7.76931 3.74491 7.84433 3.7732 7.91437C3.80149 7.98441 3.8436 8.04804 3.89702 8.10145C3.95043 8.15486 4.01406 8.19697 4.0841 8.22526C4.15414 8.25355 4.22916 8.26745 4.30469 8.26612C4.38021 8.26478 4.4547 8.24825 4.5237 8.21751C4.5927 8.18676 4.6548 8.14244 4.7063 8.08717L6.3968 6.39742L6.5618 6.23242V2.81242ZM11.2493 11.2499C11.2493 11.4488 11.1703 11.6396 11.0296 11.7803C10.889 11.9209 10.6982 11.9999 10.4993 11.9999C10.3004 11.9999 10.1096 11.9209 9.96897 11.7803C9.82831 11.6396 9.7493 11.4488 9.7493 11.2499C9.7493 11.051 9.82831 10.8602 9.96897 10.7196C10.1096 10.5789 10.3004 10.4999 10.4993 10.4999C10.6982 10.4999 10.889 10.5789 11.0296 10.7196C11.1703 10.8602 11.2493 11.051 11.2493 11.2499ZM11.0618 6.56242C11.0618 6.41324 11.0025 6.27016 10.897 6.16467C10.7916 6.05919 10.6485 5.99992 10.4993 5.99992C10.3501 5.99992 10.207 6.05919 10.1015 6.16467C9.99606 6.27016 9.9368 6.41324 9.9368 6.56242V9.18742C9.9368 9.33661 9.99606 9.47968 10.1015 9.58517C10.207 9.69066 10.3501 9.74992 10.4993 9.74992C10.6485 9.74992 10.7916 9.69066 10.897 9.58517C11.0025 9.47968 11.0618 9.33661 11.0618 9.18742V6.56242Z\"\r\n fill=\"black\" stroke=\"black\" stroke-width=\"2\" mask=\"url(#path-1-inside-1_5119_3178)\" />\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_5119_3178\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\" />\r\n </clipPath>\r\n </defs>\r\n </svg>\r\n <span class=\"cate-sub ms-3\">{{ done.publishDate | date: \"YYYY-MM-dd\"}}</span></span>\r\n <span class=\"cate-sub badge badge-light-success mx-1 mt-1\">{{ done.approveCount !==null ?\r\n done.approveCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }} / {{ done.submitCount !==null ? done.submitCount.toLocaleString('en-US', {\r\n minimumFractionDigits: 0 }) :\r\n '--' }}</span>\r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"approvedLoading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"approvedNoData && !approvedLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 my-6\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata1.svg\" alt=\"\">\r\n <div class=\"nodatamaintext mt-3\">No data found</div>\r\n <div class=\"nodatasubtext\">There is no result for Approved Checklist\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n\r\n </div>\r\n <!-- Approved card end -->\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </div>\r\n\r\n <div class=\"row my-3\">\r\n <ng-container>\r\n <div ngbAccordion>\r\n <div ngbAccordionItem [collapsed]=\"false\">\r\n <h2 ngbAccordionHeader>\r\n <button class=\"headtext\" ngbAccordionButton>Activity Log<div class=\"divider\"></div></button>\r\n </h2>\r\n <div ngbAccordionCollapse>\r\n <div ngbAccordionBody>\r\n <ng-template>\r\n <lib-activity-log></lib-activity-log>\r\n </ng-template>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>", styles: [".actioncard{display:flex;padding:8px 16px;align-items:center;gap:16px;align-self:stretch;border-radius:6px;border-bottom:2px solid var(--Gray-200, #EAECF0);background:radial-gradient(206.89% 107.47% at 16.16% 32.77%,#fff6,#45bbfe33),#f2f4f7;box-shadow:0 4px 10px #0000000d}.actioncount{color:var(--Black, #101828);font-size:30px;font-style:normal;font-weight:600;line-height:38px}.actiontext{color:var(--Gray-700, #344054);font-size:14px;font-style:normal;font-weight:500;line-height:20px}.approvalcard{border-radius:6px;background:var(--Gray-50, #F9FAFB);flex-direction:column;align-items:center;flex:1 0 0;align-self:stretch}.approvalheader{display:flex;padding:16px 15px;justify-content:space-between;align-items:center;align-self:stretch;border-radius:6px 6px 0 0;background:var(--Gray-100, #F2F4F7)}.approvalbody{border-radius:8px;border:1px solid var(--Primary-25, #F6FCFF);background:var(--White, #FFF);box-shadow:0 4px 8px -2px #1018281a,0 2px 4px -2px #1018280f;display:flex;padding:12px;flex-direction:column;align-items:flex-start;gap:12px;align-self:stretch}.cate-text{color:#626f86;font-size:12px;font-style:normal;font-weight:500;line-height:18px}.cate-sub{color:var(--Gray-700, #344054);text-align:center;font-size:12px;font-style:normal;font-weight:500;line-height:18px;mix-blend-mode:multiply}.card-label{color:var(--Gray-900, #101828);font-size:18px;font-style:normal;font-weight:600;line-height:28px}.text-sub{color:var(--Gray-500, #667085);font-size:14px;font-style:normal;font-weight:400;line-height:20px}.headingtext{color:var(--Black, #101828);font-size:16px;font-style:normal;font-weight:500;line-height:24px}.cardsubtext{color:var(--Gray-500, #667085);font-size:12px;font-style:normal;font-weight:500;line-height:18px}.cardscroll{overflow-y:scroll;max-height:275px}.badge-light-blue{border-radius:16px;background:var(--Blue-50, #EFF8FF);display:flex;padding:2px 8px 2px 6px;justify-content:center;align-items:center;gap:4px;color:var(--Blue-700, #175CD3);text-align:center;font-size:12px;font-style:normal;font-weight:500;line-height:18px}.badge-light-violet{border-radius:16px;background:var(--Purple-50, #F4F3FF);padding:2px 8px;justify-content:center;align-items:center;color:var(--Purple-700, #5925DC);text-align:center;font-size:12px;font-style:normal;font-weight:500;line-height:18px}.headtext{color:var(--Black, #101828);font-size:18px;font-style:normal;font-weight:500;line-height:28px}.card .card-header{padding:0px .5rem}\n"] }]
387
+ }], ctorParameters: () => [{ type: i1.FormBuilder }, { type: i2.GlobalStateService }, { type: i2.PageInfoService }, { type: i3.TraxService }, { type: i0.ChangeDetectorRef }, { type: i4.Router }] });
388
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWN0aW9uLWNlbnRyZS5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL2FjdGlvbi1jZW50cmUvYWN0aW9uLWNlbnRyZS5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL2FjdGlvbi1jZW50cmUvYWN0aW9uLWNlbnRyZS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQXFCLFNBQVMsRUFBVSxNQUFNLGVBQWUsQ0FBQztBQUNyRSxPQUFPLEVBQWUsV0FBVyxFQUFhLE1BQU0sZ0JBQWdCLENBQUM7QUFDckUsT0FBTyxFQUFFLE9BQU8sRUFBRSxZQUFZLEVBQWdDLFNBQVMsRUFBRSxNQUFNLE1BQU0sQ0FBQztBQUd0RixPQUFPLEtBQUssTUFBTSxPQUFPLENBQUM7Ozs7Ozs7Ozs7O0FBTzFCLE1BQU0sT0FBTyxxQkFBcUI7SUFtRFo7SUFBdUI7SUFBK0I7SUFBa0M7SUFDbEc7SUFBMkM7SUFuRDdDLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBQ2pDLFdBQVcsR0FBTyxFQUFFLENBQUM7SUFDckIsSUFBSSxDQUFZO0lBQ2hCLFVBQVUsQ0FBTTtJQUNoQixnQkFBZ0IsR0FBUSxFQUFFLENBQUM7SUFDM0IsZUFBZSxHQUFZLElBQUksQ0FBQztJQUNoQyxVQUFVLEdBQVksS0FBSyxDQUFDO0lBQzVCLGNBQWMsR0FBWSxLQUFLLENBQUM7SUFDaEMsbUJBQW1CLEdBQVksSUFBSSxDQUFDO0lBQ3BDLGtCQUFrQixHQUFZLEtBQUssQ0FBQztJQUNwQyxZQUFZLEdBQUcsRUFBRSxDQUFBO0lBQ2pCLFdBQVcsR0FBRyxDQUFDLENBQUE7SUFDZixhQUFhLEdBQVcsRUFBRSxDQUFDO0lB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Q0FBQTtRQUN0RSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLEVBQUU7WUFDN0MsV0FBVyxFQUFFO2dCQUNYLGFBQWEsRUFBQyxhQUFhO2dCQUMzQiwwQkFBMEI7Z0JBQzFCLGFBQWEsRUFBRSxVQUFVLENBQUMsYUFBYTtnQkFDdkMsV0FBVyxFQUFFLFVBQVUsQ0FBQyxpQkFBaUI7YUFDMUM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO0lBQ0QscUJBQXFCLENBQUMsSUFBUztRQUM3QixJQUFJLGFBQWEsR0FBRyxLQUFLLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxZQUFZLENBQUMsQ0FBQTtRQUNoRSxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLHNCQUFzQixDQUFDLEVBQUU7WUFDN0MsV0FBVyxFQUFFO2dCQUNYLGFBQWEsRUFBQyxhQUFhO2dCQUMzQiwwQkFBMEI7Z0JBQzFCLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtnQkFDakMsV0FBVyxFQUFFLElBQUksQ0FBQyxpQkFBaUI7YUFDcEM7U0FDRixDQUFDLENBQUM7SUFDTCxDQUFDO3dHQXhYVSxxQkFBcUI7NEZBQXJCLHFCQUFxQix5RENabEMsc3ZwREF5aEJNOzs0RkQ3Z0JPLHFCQUFxQjtrQkFMakMsU0FBUzsrQkFDRSxtQkFBbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGFuZ2VEZXRlY3RvclJlZiwgQ29tcG9uZW50LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgRm9ybUJ1aWxkZXIsIEZvcm1Db250cm9sLCBGb3JtR3JvdXAgfSBmcm9tICdAYW5ndWxhci9mb3Jtcyc7XHJcbmltcG9ydCB7IFN1YmplY3QsIGRlYm91bmNlVGltZSwgZGlzdGluY3RVbnRpbENoYW5nZWQsIGZpbHRlciwgdGFrZVVudGlsIH0gZnJvbSBcInJ4anNcIjtcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlLCBQYWdlSW5mb1NlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuaW1wb3J0IHsgVHJheFNlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90cmF4LnNlcnZpY2UnO1xyXG5pbXBvcnQgZGF5anMgZnJvbSAnZGF5anMnO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi1hY3Rpb24tY2VudHJlJyxcclxuICB0ZW1wbGF0ZVVybDogJy4vYWN0aW9uLWNlbnRyZS5jb21wb25lbnQuaHRtbCcsXHJcbiAgc3R5bGVVcmw6ICcuL2FjdGlvbi1jZW50cmUuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBBY3Rpb25DZW50cmVDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHByaXZhdGUgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIHNlYXJjaElucHV0OiBhbnkgPVwiXCI7XHJcbiAgZm9ybTogRm9ybUdyb3VwO1xyXG4gIGhlYWRlckRhdGE6IGFueTtcclxuICBvdmVyYWxsQ2FyZHNEYXRhOiBhbnkgPSB7fTtcclxuICBjYXJkRGF0YUxvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGNhcmROb0RhdGE6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBzZWFyY2hEaXNhYmxlZDogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGFwcHJvdmFsT3BlbkxvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGFwcHJvdmFsT3Blbk5vRGF0YTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGl0ZW1zUGVyUGFnZSA9IDEwXHJcbiAgY3VycmVudFBhZ2UgPSAxXHJcbiAgc29ydENvbHVtTmFtZTogc3RyaW5nID0gJyc7XHJcbiAgc29ydEJ5OiBhbnkgPSAnJztcclxuICBzb3J0RGlyZWN0aW9uOiBhbnkgPSAnJztcclxuICB0b3RhbEl0ZW1zID0gMFxyXG4gIHBhZ2luYXRpb25TaXplczphbnlbXSA9IFtdO1xyXG4gIHBhZ2VTaXplID0gMTBcclxuICBPcGVuQXBwcm92YWxMaXN0RGF0YTogYW55W10gPSBbXTtcclxuICBJbnByb2dyZXNzQXBwcm92YWxMaXN0RGF0YTogYW55W10gPSBbXTtcclxuICBEb25lQXBwcm92YWxMaXN0RGF0YTogYW55W10gPSBbXTtcclxuICBhcHByb3ZhbElucHJvZ3Jlc3NMb2FkaW5nOiBib29sZWFuID0gdHJ1ZTtcclxuICBhcHByb3ZhbElucHJvZ3Jlc3NOb0RhdGE6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBhcHByb3ZlZExvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGFwcHJvdmVkTm9EYXRhOiBib29sZWFuID0gZmFsc2U7XHJcbiAgcHJpb3JpdHlUeXBlOiBhbnkgPSBbXTtcclxuICBzZWxlY3RlZGxpc3RzZWxlY3RDb250cm9sOiBGb3JtQ29udHJvbDtcclxuICBzZWxlY3RlZFN0YXR1czogYW55O1xyXG4gIHN0YXR1c3NlbGVjdENvbnRyb2wgPSBbXHJcbiAgICB7IF9pZDogJ2FsbCcsIGxhYmVsOiAnQWxsJyB9LFxyXG4gICAgeyBfaWQ6ICdjaGVja2xpc3QnLCBsYWJlbDogJ0NoZWNrbGlzdCcgfSxcclxuICAgIHsgX2lkOiAndGFzaycsIGxhYmVsOiAnVGFzaycgfSxcclxuICBdO1xyXG4gIGRhdGFPYmplY3Q6IGFueSA9IFtcclxuICAgIHtcclxuICAgICAgRGVzY3JpcHRpb246ICdQcmlvcml0eScsXHJcbiAgICAgIElzc3VlczogW1xyXG4gICAgICAgIHsgdGV4dDogJ0hpZ2gnLCBpZDogJ2hpZ2gnIH0sXHJcbiAgICAgICAgeyB0ZXh0OiAnTWVkaXVtJywgaWQ6ICdtZWRpdW0nIH0sXHJcbiAgICAgICAgeyB0ZXh0OiAnTG93JywgaWQ6ICdsb3cnIH0sXHJcbiAgICAgIF0sXHJcbiAgICB9LFxyXG4gIF07XHJcbiAgc2VhcmNoVmFsdWU6IHN0cmluZztcclxuICBsaW1pdDogbnVtYmVyO1xyXG4gIG9mZnNldDogbnVtYmVyO1xyXG4gIGlzVGFza1NlbGVjdGVkOiBib29sZWFuID0gZmFsc2U7IFxyXG4gIGRheWpzID0gZGF5anM7XHJcbiAgZGF0ZTogYW55O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGZiOiBGb3JtQnVpbGRlcixwdWJsaWMgZ3M6IEdsb2JhbFN0YXRlU2VydmljZSxwcml2YXRlIHBhZ2VJbmZvOiBQYWdlSW5mb1NlcnZpY2UscHJpdmF0ZSBUcmF4U2VydmljZTogVHJheFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIGNoYW5nZURldGVjdG9yOiBDaGFuZ2VEZXRlY3RvclJlZiwgcHJpdmF0ZSByb3V0ZXI6IFJvdXRlcixcclxuICApIHt9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VsZWN0ZWRsaXN0c2VsZWN0Q29udHJvbCA9IG5ldyBGb3JtQ29udHJvbCgnYWxsJyk7XHJcbiAgICAgXHJcbiAgICB0aGlzLmZvcm0gPSB0aGlzLmZiLmdyb3VwKHtcclxuICAgICAgc2VsZWN0ZWRsaXN0c2VsZWN0Q29udHJvbDogdGhpcy5zZWxlY3RlZGxpc3RzZWxlY3RDb250cm9sXHJcbiAgICB9KTtcclxuICAgIHRoaXMuc2VsZWN0ZWRsaXN0c2VsZWN0Q29udHJvbC52YWx1ZUNoYW5nZXMucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgodmFsdWU6IGFueSkgPT4ge1xyXG4gICAgICB0aGlzLm9uVmFsdWVDaGFuZ2VTdGF0dXNTZWxlY3QodmFsdWUpO1xyXG4gICAgfSk7XHJcblxyXG4gICAgdGhpcy5ncy5kYXRhUmFuZ2VWYWx1ZVxyXG4gICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpLCBkZWJvdW5jZVRpbWUoMzAwKSlcclxuICAgIC5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICAgIHRoaXMuaGVhZGVyRGF0YSA9IGRhdGE7XHJcbiAgICAgICAgdGhpcy5zZXRQYWdlRGF0YSgpO1xyXG4gICAgICAgIHRoaXMuZ2V0T3ZlcmFsbEFjdGlvbkNlbnRlckRhdGEoKTtcclxuICAgICAgICB0aGlzLmdldEFwcHJvdmFsT3BlbkRhdGEoKTsgIFxyXG59KVxyXG4gICBcclxuICAgIFxyXG5cclxuICB9XHJcbiAgc2V0UGFnZURhdGEoKSB7XHJcbiAgICB0aGlzLnBhZ2VJbmZvLnNldFRpdGxlKFwiRGFzaGJvYXJkXCIpO1xyXG4gICAgLy8gdGhpcy5wYWdlSW5mby5zZXREZXNjcmlwdGlvbihcIkRhc2hib2FyZFwiKTtcclxuICAgIHRoaXMucGFnZUluZm8uc2V0QnJlYWRjcnVtYnMoW1xyXG4gICAgICB7IHRpdGxlOiBcIlRhbmdvIFRyYXhcIiwgcGF0aDogXCIvbWFuYWdlL3RyYXgvZGFzaGJvYXJkXCIsIGlzQWN0aXZlOiBmYWxzZSwgaXNTZXBhcmF0b3I6IGZhbHNlIH0sXHJcbiAgICAgIHsgdGl0bGU6IFwiVGFuZ28gVHJheFwiLCBwYXRoOiBcIi9tYW5hZ2UvdHJheC9kYXNoYm9hcmRcIiwgaXNBY3RpdmU6IGZhbHNlLCBpc1NlcGFyYXRvcjogdHJ1ZSB9LFxyXG4gICAgXSk7XHJcbiAgfVxyXG5cclxuICBnZXRPdmVyYWxsQWN0aW9uQ2VudGVyRGF0YSgpOiB2b2lkIHtcclxuICAgIHRoaXMub3ZlcmFsbENhcmRzRGF0YSA9IFtdXHJcbiAgICB0aGlzLmNhcmREYXRhTG9hZGluZyA9IHRydWU7XHJcbiAgICB0aGlzLmNhcmROb0RhdGEgPSB0cnVlO1xyXG4gICAgY29uc3QgcmVxdWVzdERhdGEgPSB7XHJcbiAgICAgIGZyb21EYXRlOiB0aGlzLmhlYWRlckRhdGEuZGF0ZS5zdGFydERhdGUsXHJcbiAgICAgIHRvRGF0ZTogdGhpcy5oZWFkZXJEYXRhLmRhdGUuZW5kRGF0ZSxcclxuICAgICAgc3RvcmVJZDogdGhpcy5oZWFkZXJEYXRhLnN0b3Jlcy5maWx0ZXIoKHN0b3JlOmFueSkgPT4gc3RvcmUuY2hlY2tlZCkubWFwKChzdG9yZTphbnkpID0+IHN0b3JlLnN0b3JlSWQpLFxyXG4gICAgICBjbGllbnRJZDp0aGlzLmhlYWRlckRhdGEuY2xpZW50LFxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLlRyYXhTZXJ2aWNlLmdldE92ZXJhbGxBY3Rpb25DZW50ZXJEYXRhKHJlcXVlc3REYXRhKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMuY2FyZERhdGFMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgaWYgKHJlc3BvbnNlPy5jb2RlID09PSAyMDAgJiYgcmVzcG9uc2U/LnN0YXR1cyA9PT0gXCJzdWNjZXNzXCIpIHtcclxuICAgICAgICAgIHRoaXMub3ZlcmFsbENhcmRzRGF0YSA9IHJlc3BvbnNlLmRhdGE/LmNhcmREYXRhIHx8IHt9OyBcclxuICAgICAgICAgIHRoaXMuY2FyZERhdGFMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmNhcmROb0RhdGEgPSBmYWxzZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5vdmVyYWxsQ2FyZHNEYXRhID0gW11cclxuICAgICAgICAgIHRoaXMuY2FyZERhdGFMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmNhcmROb0RhdGEgPSB0cnVlO1xyXG4gICAgICAgIH1cclxuICAgICAgfSxcclxuICAgICAgZXJyb3IgPT4ge1xyXG4gICAgICAgIHRoaXMub3ZlcmFsbENhcmRzRGF0YSA9IFtdXHJcbiAgICAgICAgdGhpcy5jYXJkRGF0YUxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB0aGlzLmNhcmROb0RhdGEgPSB0cnVlO1xyXG4gICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKVxyXG4gICAgICB9XHJcbiAgICApO1xyXG4gIH1cclxuXHJcbiAgZ2V0QXBwcm92YWxPcGVuRGF0YSgpOiB2b2lkIHtcclxuICAgIHRoaXMuc2VhcmNoRGlzYWJsZWQgPSB0cnVlO1xyXG4gICAgdGhpcy5hcHByb3ZhbE9wZW5Mb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuYXBwcm92YWxPcGVuTm9EYXRhID0gdHJ1ZTtcclxuXHJcbiAgICB0aGlzLmFwcHJvdmFsSW5wcm9ncmVzc0xvYWRpbmcgPSB0cnVlO1xyXG4gICAgdGhpcy5hcHByb3ZhbElucHJvZ3Jlc3NOb0RhdGEgPSB0cnVlO1xyXG5cclxuICAgIHRoaXMuYXBwcm92ZWRMb2FkaW5nID0gdHJ1ZTtcclxuICAgIHRoaXMuYXBwcm92ZWROb0RhdGEgPSB0cnVlO1xyXG5cclxuICAgIGNvbnN0IHJlcXVlc3REYXRhID0ge1xyXG4gICAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJEYXRhLmRhdGUuc3RhcnREYXRlLFxyXG4gICAgICB0b0RhdGU6IHRoaXMuaGVhZGVyRGF0YS5kYXRlLmVuZERhdGUsXHJcbiAgICAgIHN0b3JlSWQ6IHRoaXMuaGVhZGVyRGF0YS5zdG9yZXMuZmlsdGVyKChzdG9yZTphbnkpID0+IHN0b3JlLmNoZWNrZWQpLm1hcCgoc3RvcmU6YW55KSA9PiBzdG9yZS5zdG9yZUlkKSxcclxuICAgICAgY2xpZW50SWQ6dGhpcy5oZWFkZXJEYXRhLmNsaWVudCxcclxuICAgICAgc2VhcmNoVmFsdWU6IHRoaXMuc2VhcmNoSW5wdXQsXHJcbiAgICAgIGZpbHRlcjogdGhpcy5wcmlvcml0eVR5cGUsXHJcbiAgICAgIHR5cGU6IHRoaXMuc2VsZWN0ZWRsaXN0c2VsZWN0Q29udHJvbC52YWx1ZVxyXG4gICAgfTtcclxuXHJcbiAgICB0aGlzLlRyYXhTZXJ2aWNlLmdldEFwcHJvdmFsRGF0YShyZXF1ZXN0RGF0YSlcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgdGhpcy5hcHByb3ZhbE9wZW5Mb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5hcHByb3ZhbElucHJvZ3Jlc3NMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgdGhpcy5hcHByb3ZlZExvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICBpZiAocmVzcG9uc2U/LmNvZGUgPT09IDIwMCAmJiByZXNwb25zZT8uc3RhdHVzID09PSBcInN1Y2Nlc3NcIikge1xyXG4gICAgICAgICAgdGhpcy5PcGVuQXBwcm92YWxMaXN0RGF0YSA9IHJlc3BvbnNlLmRhdGEub3BlbiB8fCBbXTtcclxuICAgICAgICAgIHRoaXMuSW5wcm9ncmVzc0FwcHJvdmFsTGlzdERhdGEgPSByZXNwb25zZS5kYXRhLmlucHJvZ3Jlc3MgfHwgW107XHJcbiAgICAgICAgICB0aGlzLkRvbmVBcHByb3ZhbExpc3REYXRhID0gcmVzcG9uc2UuZGF0YS5kb25lIHx8IFtdO1xyXG4gICAgICAgICAgdGhpcy50b3RhbEl0ZW1zID0gcmVzcG9uc2UuZGF0YS50b3RhbENvdW50XHJcbiAgICAgICAgICB0aGlzLnNldFBhZ2luYXRpb25TaXplcygpXHJcblxyXG4gICAgICAgICAgaWYgKHRoaXMuT3BlbkFwcHJvdmFsTGlzdERhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmFwcHJvdmFsT3BlbkxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuYXBwcm92YWxPcGVuTm9EYXRhID0gZmFsc2U7XHJcbiAgICAgICAgICB9IGVsc2V7XHJcbiAgICAgICAgICAgIHRoaXMuYXBwcm92YWxPcGVuTm9EYXRhID0gdHJ1ZTsgXHJcbiAgICAgICAgICB9IFxyXG4gICAgICAgICAgaWYgKHRoaXMuSW5wcm9ncmVzc0FwcHJvdmFsTGlzdERhdGEubGVuZ3RoID4gMCkge1xyXG4gICAgICAgICAgICB0aGlzLmFwcHJvdmFsSW5wcm9ncmVzc0xvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5hcHByb3ZhbElucHJvZ3Jlc3NOb0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgIH1lbHNle1xyXG4gICAgICAgICAgICB0aGlzLmFwcHJvdmFsSW5wcm9ncmVzc05vRGF0YSA9IHRydWU7IFxyXG4gICAgICAgICAgfSBcclxuICAgICAgICAgIGlmICh0aGlzLkRvbmVBcHByb3ZhbExpc3REYXRhLmxlbmd0aCA+IDApIHtcclxuICAgICAgICAgICAgdGhpcy5hcHByb3ZlZExvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMuYXBwcm92ZWROb0RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgIH0gZWxzZXtcclxuICAgICAgICAgICAgdGhpcy5hcHByb3ZlZE5vRGF0YSA9IHRydWU7IFxyXG4gICAgICAgICAgfSBcclxuICAgICAgICAgIHRoaXMuc2VhcmNoRGlzYWJsZWQgPSBmYWxzZTtcclxuICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgdGhpcy5PcGVuQXBwcm92YWxMaXN0RGF0YSA9IFtdO1xyXG4gICAgICAgICAgdGhpcy5JbnByb2dyZXNzQXBwcm92YWxMaXN0RGF0YSA9IFtdO1xyXG4gICAgICAgICAgdGhpcy5Eb25lQXBwcm92YWxMaXN0RGF0YSA9IFtdO1xyXG5cclxuICAgICAgICAgIHRoaXMuYXBwcm92YWxPcGVuTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5hcHByb3ZhbE9wZW5Ob0RhdGEgPSB0cnVlO1xyXG5cclxuICAgICAgICAgIHRoaXMuYXBwcm92YWxJbnByb2dyZXNzTG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5hcHByb3ZhbElucHJvZ3Jlc3NOb0RhdGEgPSB0cnVlO1xyXG5cclxuICAgICAgICAgIHRoaXMuYXBwcm92ZWRMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLmFwcHJvdmVkTm9EYXRhID0gdHJ1ZTtcclxuXHJcbiAgICAgICAgICB0aGlzLnNlYXJjaERpc2FibGVkID0gdHJ1ZTtcclxuICAgICAgICAgIGlmICh0aGlzLnNlYXJjaElucHV0Py5sZW5ndGgpIHtcclxuICAgICAgICAgICAgdGhpcy5zZWFyY2hEaXNhYmxlZCA9IHRydWVcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuT3BlbkFwcHJvdmFsTGlzdERhdGEgPSBbXTtcclxuICAgICAgICAgIHRoaXMuSW5wcm9ncmVzc0FwcHJvdmFsTGlzdERhdGEgPSBbXTtcclxuICAgICAgICAgIHRoaXMuRG9uZUFwcHJvdmFsTGlzdERhdGEgPSBbXTtcclxuICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IDBcclxuICAgICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICAgICAgfVxyXG4gICAgICB9LCBlcnJvciA9PiB7XHJcbiAgICAgICAgdGhpcy5PcGVuQXBwcm92YWxMaXN0RGF0YSA9IFtdO1xyXG4gICAgICAgICAgdGhpcy5JbnByb2dyZXNzQXBwcm92YWxMaXN0RGF0YSA9IFtdO1xyXG4gICAgICAgICAgdGhpcy5Eb25lQXBwcm92YWxMaXN0RGF0YSA9IFtdO1xyXG4gICAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICAvLyBnZXRBcHByb3ZhbElucHJvZ3Jlc3NEYXRhKCk6IHZvaWQge1xyXG4gIC8vICAgdGhpcy5zZWFyY2hEaXNhYmxlZCA9IHRydWU7XHJcbiAgLy8gICB0aGlzLmFwcHJvdmFsSW5wcm9ncmVzc0xvYWRpbmcgPSB0cnVlO1xyXG4gIC8vICAgdGhpcy5hcHByb3ZhbElucHJvZ3Jlc3NOb0RhdGEgPSB0cnVlO1xyXG4gIC8vICAgY29uc3QgcmVxdWVzdERhdGEgPSB7XHJcbiAgLy8gICAgIGRhdGU6IFwiMjAyNC0xMi0wMlwiLFxyXG4gIC8vICAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJEYXRhLmRhdGUuc3RhcnREYXRlLFxyXG4gIC8vICAgICB0b0RhdGU6IHRoaXMuaGVhZGVyRGF0YS5kYXRlLmVuZERhdGUsXHJcbiAgLy8gICAgIHN0b3JlSWQ6IHRoaXMuaGVhZGVyRGF0YS5zdG9yZXMuZmlsdGVyKChzdG9yZTphbnkpID0+IHN0b3JlLmNoZWNrZWQpLm1hcCgoc3RvcmU6YW55KSA9PiBzdG9yZS5zdG9yZUlkKSxcclxuICAvLyAgICAgY2xpZW50SWQ6dGhpcy5oZWFkZXJEYXRhLmNsaWVudCxcclxuICAvLyAgICAgLy8gbGltaXQ6IHRoaXMuaXRlbXNQZXJQYWdlLCAgICAgICAgICAgICAgICAgXHJcbiAgLy8gICAgIC8vIG9mZnNldDogdGhpcy5jdXJyZW50UGFnZSAtIDEsXHJcbiAgLy8gICAgIHNvcnRCeTogdGhpcy5zb3J0RGlyZWN0aW9uLFxyXG4gIC8vICAgICBzb3J0Q29sdW1uTmFtZTogdGhpcy5zb3J0Q29sdW1OYW1lLFxyXG4gIC8vICAgICBzZWFyY2hWYWx1ZTogdGhpcy5zZWFyY2hJbnB1dCxcclxuICAvLyAgICAgZmlsdGVyOiBcIlwiLFxyXG4gIC8vICAgICB0eXBlOiAnYWxsJ1xyXG4gIC8vICAgfTtcclxuXHJcbiAgLy8gICB0aGlzLlRyYXhTZXJ2aWNlLmdldEFwcHJvdmFsRGF0YShyZXF1ZXN0RGF0YSlcclxuICAvLyAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gIC8vICAgICAuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgLy8gICAgICAgdGhpcy5hcHByb3ZhbElucHJvZ3Jlc3NMb2FkaW5nID0gZmFsc2U7XHJcbiAgLy8gICAgICAgaWYgKHJlc3BvbnNlPy5jb2RlID09PSAyMDAgJiYgcmVzcG9uc2U/LnN0YXR1cyA9PT0gXCJzdWNjZXNzXCIpIHtcclxuICAvLyAgICAgICAgIHRoaXMuQXBwcm92YWxMaXN0RGF0YSA9IHJlc3BvbnNlLmRhdGEuaW5wcm9ncmVzcyB8fCBbXTtcclxuICAvLyAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9IHJlc3BvbnNlLmRhdGEudG90YWxDb3VudFxyXG4gIC8vICAgICAgICAgdGhpcy5zZXRQYWdpbmF0aW9uU2l6ZXMoKVxyXG4gIC8vICAgICAgICAgdGhpcy5hcHByb3ZhbElucHJvZ3Jlc3NMb2FkaW5nID0gZmFsc2U7XHJcbiAgLy8gICAgICAgICB0aGlzLmFwcHJvdmFsSW5wcm9ncmVzc05vRGF0YSA9IGZhbHNlO1xyXG4gIC8vICAgICAgICAgdGhpcy5zZWFyY2hEaXNhYmxlZCA9IGZhbHNlO1xyXG4gIC8vICAgICAgIH0gZWxzZSB7XHJcbiAgLy8gICAgICAgICBjb25zb2xlLmxvZyhcImVsc2VcIik7XHJcbiAgICAgICAgICBcclxuICAvLyAgICAgICAgIHRoaXMuQXBwcm92YWxMaXN0RGF0YSA9IFtdO1xyXG4gIC8vICAgICAgICAgdGhpcy5hcHByb3ZhbElucHJvZ3Jlc3NMb2FkaW5nID0gZmFsc2U7XHJcbiAgLy8gICAgICAgICB0aGlzLmFwcHJvdmFsSW5wcm9ncmVzc05vRGF0YSA9IHRydWU7XHJcbiAgLy8gICAgICAgICB0aGlzLnNlYXJjaERpc2FibGVkID0gdHJ1ZTtcclxuICAvLyAgICAgICAgIGlmICh0aGlzLnNlYXJjaElucHV0Py5sZW5ndGgpIHtcclxuICAvLyAgICAgICAgICAgdGhpcy5zZWFyY2hEaXNhYmxlZCA9IHRydWVcclxuICAvLyAgICAgICAgIH1cclxuICAvLyAgICAgICAgIHRoaXMuQXBwcm92YWxMaXN0RGF0YSA9IFtdXHJcbiAgLy8gICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSAwXHJcbiAgLy8gICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKVxyXG4gIC8vICAgICAgIH1cclxuICAvLyAgICAgfSwgZXJyb3IgPT4ge1xyXG4gIC8vICAgICAgIHRoaXMuQXBwcm92YWxMaXN0RGF0YSA9IFtdXHJcbiAgLy8gICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKClcclxuICAvLyAgICAgfSk7XHJcbiAgLy8gfVxyXG4gIC8vIGdldEFwcHJvdmVkRGF0YSgpOiB2b2lkIHtcclxuICAvLyAgIHRoaXMuc2VhcmNoRGlzYWJsZWQgPSB0cnVlO1xyXG4gIC8vICAgdGhpcy5hcHByb3ZlZExvYWRpbmcgPSB0cnVlO1xyXG4gIC8vICAgdGhpcy5hcHByb3ZlZE5vRGF0YSA9IHRydWU7XHJcbiAgLy8gICBjb25zdCByZXF1ZXN0RGF0YSA9IHtcclxuICAvLyAgICAgZGF0ZTogXCIyMDI0LTEyLTAyXCIsXHJcbiAgLy8gICAgIGZyb21EYXRlOiB0aGlzLmhlYWRlckRhdGEuZGF0ZS5zdGFydERhdGUsXHJcbiAgLy8gICAgIHRvRGF0ZTogdGhpcy5oZWFkZXJEYXRhLmRhdGUuZW5kRGF0ZSxcclxuICAvLyAgICAgc3RvcmVJZDogdGhpcy5oZWFkZXJEYXRhLnN0b3Jlcy5maWx0ZXIoKHN0b3JlOmFueSkgPT4gc3RvcmUuY2hlY2tlZCkubWFwKChzdG9yZTphbnkpID0+IHN0b3JlLnN0b3JlSWQpLFxyXG4gIC8vICAgICBjbGllbnRJZDp0aGlzLmhlYWRlckRhdGEuY2xpZW50LFxyXG4gIC8vICAgICAvLyBsaW1pdDogdGhpcy5pdGVtc1BlclBhZ2UsICAgICAgICAgICAgICAgICBcclxuICAvLyAgICAgLy8gb2Zmc2V0OiB0aGlzLmN1cnJlbnRQYWdlIC0gMSxcclxuICAvLyAgICAgc29ydEJ5OiB0aGlzLnNvcnREaXJlY3Rpb24sXHJcbiAgLy8gICAgIHNvcnRDb2x1bW5OYW1lOiB0aGlzLnNvcnRDb2x1bU5hbWUsXHJcbiAgLy8gICAgIHNlYXJjaFZhbHVlOiB0aGlzLnNlYXJjaElucHV0LFxyXG4gIC8vICAgICBmaWx0ZXI6IFwiXCIsXHJcbiAgLy8gICAgIHR5cGU6ICdhbGwnXHJcbiAgLy8gICB9O1xyXG5cclxuICAvLyAgIHRoaXMuVHJheFNlcnZpY2UuZ2V0QXBwcm92YWxEYXRhKHJlcXVlc3REYXRhKVxyXG4gIC8vICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgLy8gICAgIC5zdWJzY3JpYmUoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAvLyAgICAgICB0aGlzLmFwcHJvdmVkTG9hZGluZyA9IGZhbHNlO1xyXG4gIC8vICAgICAgIGlmIChyZXNwb25zZT8uY29kZSA9PT0gMjAwICYmIHJlc3BvbnNlPy5zdGF0dXMgPT09IFwic3VjY2Vzc1wiKSB7XHJcbiAgLy8gICAgICAgICB0aGlzLkFwcHJvdmFsTGlzdERhdGEgPSByZXNwb25zZS5kYXRhLmRvbmUgfHwgW107XHJcbiAgLy8gICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSByZXNwb25zZS5kYXRhLnRvdGFsQ291bnRcclxuICAvLyAgICAgICAgIHRoaXMuc2V0UGFnaW5hdGlvblNpemVzKClcclxuICAvLyAgICAgICAgIHRoaXMuYXBwcm92ZWRMb2FkaW5nID0gZmFsc2U7XHJcbiAgLy8gICAgICAgICB0aGlzLmFwcHJvdmVkTm9EYXRhID0gZmFsc2U7XHJcbiAgLy8gICAgICAgICB0aGlzLnNlYXJjaERpc2FibGVkID0gZmFsc2U7XHJcbiAgLy8gICAgICAgfSBlbHNlIHtcclxuICAvLyAgICAgICAgIGNvbnNvbGUubG9nKFwiZWxzZVwiKTtcclxuICAgICAgICAgIFxyXG4gIC8vICAgICAgICAgdGhpcy5BcHByb3ZhbExpc3REYXRhID0gW107XHJcbiAgLy8gICAgICAgICB0aGlzLmFwcHJvdmVkTG9hZGluZyA9IGZhbHNlO1xyXG4gIC8vICAgICAgICAgdGhpcy5hcHByb3ZlZE5vRGF0YSA9IHRydWU7XHJcbiAgLy8gICAgICAgICB0aGlzLnNlYXJjaERpc2FibGVkID0gdHJ1ZTtcclxuICAvLyAgICAgICAgIGlmICh0aGlzLnNlYXJjaElucHV0Py5sZW5ndGgpIHtcclxuICAvLyAgICAgICAgICAgdGhpcy5zZWFyY2hEaXNhYmxlZCA9IHRydWVcclxuICAvLyAgICAgICAgIH1cclxuICAvLyAgICAgICAgIHRoaXMuQXBwcm92YWxMaXN0RGF0YSA9IFtdXHJcbiAgLy8gICAgICAgICB0aGlzLnRvdGFsSXRlbXMgPSAwXHJcbiAgLy8gICAgICAgICB0aGlzLmNoYW5nZURldGVjdG9yLmRldGVjdENoYW5nZXMoKVxyXG4gIC8vICAgICAgIH1cclxuICAvLyAgICAgfSwgZXJyb3IgPT4ge1xyXG4gIC8vICAgICAgIHRoaXMuQXBwcm92YWxMaXN0RGF0YSA9IFtdXHJcbiAgLy8gICAgICAgdGhpcy5jaGFuZ2VEZXRlY3Rvci5kZXRlY3RDaGFuZ2VzKClcclxuICAvLyAgICAgfSk7XHJcbiAgLy8gfVxyXG5cclxuICBvblZhbHVlQ2hhbmdlU3RhdHVzU2VsZWN0KGV2ZW50OiBhbnkpOiB2b2lkIHtcclxuICAgICAgdGhpcy5zZWFyY2hWYWx1ZSA9IFwiXCIsXHJcbiAgICB0aGlzLnNlbGVjdGVkU3RhdHVzID0gdGhpcy5zdGF0dXNzZWxlY3RDb250cm9sLmZpbmQoaXRlbSA9PiBpdGVtLl9pZCA9PT0gZXZlbnQpO1xyXG4gICAgaWYgKHRoaXMuc2VsZWN0ZWRTdGF0dXMpIHtcclxuICAgICAgdGhpcy5pc1Rhc2tTZWxlY3RlZCA9IHRoaXMuc2VsZWN0ZWRTdGF0dXMuX2lkID09PSAndGFzayc7XHJcbiAgICAgIHRoaXMuY2hhbmdlRGV0ZWN0b3IuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB0aGlzLmdldEFwcHJvdmFsT3BlbkRhdGEoKTtcclxuICAgIH0gXHJcbiAgfVxyXG4gIHNlYXJjaEZpZWxkKCk6IHZvaWQge1xyXG4gICAgdGhpcy5oZWFkZXJEYXRhLnNlYXJjaCA9IHRoaXMuc2VhcmNoSW5wdXQ7XHJcbiAgICAvLyB0aGlzLmhlYWRlckRhdGEuZXhwb3J0ID0gZmFsc2U7XHJcbiAgICB0aGlzLmN1cnJlbnRQYWdlID0gMTtcclxuICAgIHRoaXMucGFnZVNpemUgPSAxMDtcclxuICAgIHRoaXMuZ2V0QXBwcm92YWxPcGVuRGF0YSgpO1xyXG4gIH1cclxuICBzZXRQYWdpbmF0aW9uU2l6ZXMoKSB7XHJcbiAgICBpZiAodGhpcy50b3RhbEl0ZW1zID4gMTApIHtcclxuICAgICAgdGhpcy5wYWdpbmF0aW9uU2l6ZXMgPSBbMTAsIDIwLCAzMF07XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnBhZ2luYXRpb25TaXplcyA9IFt0aGlzLnRvdGFsSXRlbXNdO1xyXG4gICAgICB0aGlzLnBhZ2VTaXplID0gdGhpcy50b3RhbEl0ZW1zO1xyXG4gICAgfVxyXG4gICAgXHJcbiAgfVxyXG5cclxuICBhcHBseUZpbHRlcnMoZXZlbnQ6IGFueSk6IHZvaWQge1xyXG4gICAgaWYgKGV2ZW50Py5sZW5ndGgpIHtcclxuICAgICAgZXZlbnQuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGVsZW1lbnQuRGVzY3JpcHRpb24gPT09ICdQcmlvcml0eScpIHtcclxuICAgICAgICAgIHRoaXMucHJpb3JpdHlUeXBlID0gZWxlbWVudC5Jc3N1ZXMubWFwKCh2YWw6IGFueSkgPT4gdmFsLmlkKTtcclxuICAgICAgICB9XHJcbiAgICAgIH0pO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5wcmlvcml0eVR5cGUgPSBbXTtcclxuICAgIH1cclxuICAgIHRoaXMuZ2V0QXBwcm92YWxPcGVuRGF0YSgpO1xyXG4gIH1cclxuICBvcGVubmF2aWdhdGVUb0dhbGxlcnkob3BlbjogYW55KTogdm9pZCB7XHJcbiAgICBsZXQgZm9ybWF0dGVkRGF0ZSA9IGRheWpzKG9wZW4ucHVibGlzaERhdGUpLmZvcm1hdCgnWVlZWS1NTS1ERCcpXHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9tYW5hZ2UvdHJheC9nYWxsZXJ5J10sIHtcclxuICAgICAgcXVlcnlQYXJhbXM6IHtcclxuICAgICAgICBDaGVja2xpc3REYXRlOmZvcm1hdHRlZERhdGUsXHJcbiAgICAgICAgLy8gc3RvcmVJZDogb3Blbi5zdG9yZV9pZCxcclxuICAgICAgICBjaGVja2xpc3RUeXBlOiBvcGVuLmNoZWNrTGlzdFR5cGUsXHJcbiAgICAgICAgY2hlY2tsaXN0SWQ6IG9wZW4uc291cmNlQ2hlY2tsaXN0SWQsXHJcbiAgICAgIH0sXHJcbiAgICAgIFxyXG4gICAgfSk7XHJcbiAgfVxyXG4gIGlucHJvZ3Jlc3NuYXZpZ2F0ZVRvR2FsbGVyeShpbnByb2dyZXNzOiBhbnkpOiB2b2lkIHtcclxuICAgIGxldCBmb3JtYXR0ZWREYXRlID0gZGF5anMoaW5wcm9ncmVzcy5wdWJsaXNoRGF0ZSkuZm9ybWF0KCdZWVlZLU1NLUREJylcclxuICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFsnL21hbmFnZS90cmF4L2dhbGxlcnknXSwge1xyXG4gICAgICBxdWVyeVBhcmFtczoge1xyXG4gICAgICAgIENoZWNrbGlzdERhdGU6Zm9ybWF0dGVkRGF0ZSxcclxuICAgICAgICAvLyBzdG9yZUlkOiBvcGVuLnN0b3JlX2lkLFxyXG4gICAgICAgIGNoZWNrbGlzdFR5cGU6IGlucHJvZ3Jlc3MuY2hlY2tMaXN0VHlwZSxcclxuICAgICAgICBjaGVja2xpc3RJZDogaW5wcm9ncmVzcy5zb3VyY2VDaGVja2xpc3RJZCxcclxuICAgICAgfSxcclxuICAgIH0pO1xyXG4gIH1cclxuICBkb25lbmF2aWdhdGVUb0dhbGxlcnkoZG9uZTogYW55KTogdm9pZCB7XHJcbiAgICBsZXQgZm9ybWF0dGVkRGF0ZSA9IGRheWpzKGRvbmUucHVibGlzaERhdGUpLmZvcm1hdCgnWVlZWS1NTS1ERCcpXHJcbiAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbJy9tYW5hZ2UvdHJheC9nYWxsZXJ5J10sIHtcclxuICAgICAgcXVlcnlQYXJhbXM6IHtcclxuICAgICAgICBDaGVja2xpc3REYXRlOmZvcm1hdHRlZERhdGUsXHJcbiAgICAgICAgLy8gc3RvcmVJZDogb3Blbi5zdG9yZV9pZCxcclxuICAgICAgICBjaGVja2xpc3RUeXBlOiBkb25lLmNoZWNrTGlzdFR5cGUsXHJcbiAgICAgICAgY2hlY2tsaXN0SWQ6IGRvbmUuc291cmNlQ2hlY2tsaXN0SWQsXHJcbiAgICAgIH0sXHJcbiAgICB9KTtcclxuICB9XHJcblxyXG59IiwiPGRpdiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtNlwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25jYXJkIG15LTMgbXgtM1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjdGlvbmNvdW50XCI+IHt7IG92ZXJhbGxDYXJkc0RhdGEuY2hlY2tsaXN0QXBwcm92YWw/LmNvdW50ICE9PW51bGwgP1xyXG4gICAgICAgICAgICAgIG92ZXJhbGxDYXJkc0RhdGEuY2hlY2tsaXN0QXBwcm92YWw/LmNvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOiAnLS0nIH19PC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjdGlvbnRleHQgbXgtNSBtdC0zXCI+Q2hlY2tsaXN0IHdhaXRpbmcgZm9yXHJcbiAgICAgICAgICAgICAgYXBwcm92YWw8L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb2wtNlwiPlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY2FyZFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25jYXJkIG15LTMgbXgtM1wiPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICA8c3BhbiBjbGFzcz1cImFjdGlvbmNvdW50XCI+IHt7IG92ZXJhbGxDYXJkc0RhdGEudGFza0FwcHJvdmFsPy5jb3VudCAhPT1udWxsID9cclxuICAgICAgICAgICAgICBvdmVyYWxsQ2FyZHNEYXRhLnRhc2tBcHByb3ZhbD8uY291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCB9KSA6ICctLScgfX08L3NwYW4+IDxzcGFuIGNsYXNzPVwiYWN0aW9udGV4dCBteC01IG10LTNcIj5UYXNrIHdhaXRpbmcgZm9yXHJcbiAgICAgICAgICAgICAgYXBwcm92YWw8L3NwYW4+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuICA8L2Rpdj5cclxuXHJcbiAgPGRpdiBjbGFzcz1cInJvdyBtLTAgbXktM1wiPlxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgICAgPGRpdiBjbGFzcz1cImNhcmQtaGVhZGVyIGJvcmRlci0wIHB0LTNcIj5cclxuICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWwgbWItMlwiPkFwcHJvdmFsPC9zcGFuPlxyXG4gICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXN1YiBtYi0yXCI+QW4gU3VtbWFyeSBvZiBhbGwgdGhlIGNoZWNrbGlzdHMgYXdhaXRpbmcgYXBwcm92YWxcclxuICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICA8L2gzPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLXRvb2xiYXJcIj5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgIHBvc2l0aW9uLXJlbGF0aXZlIG15LTFcIj5cclxuICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTEgcG9zaXRpb24tYWJzb2x1dGUgbXMtNCBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgPHJlY3Qgb3BhY2l0eT1cIjAuNVwiIHg9XCIxNy4wMzY1XCIgeT1cIjE1LjEyMjNcIiB3aWR0aD1cIjguMTU1NDZcIiBoZWlnaHQ9XCIyXCIgcng9XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJyb3RhdGUoNDUgMTcuMDM2NSAxNS4xMjIzKVwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIj5cclxuICAgICAgICAgICAgICAgICAgPC9yZWN0PlxyXG4gICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgIGQ9XCJNMTEgMTlDNi41NTU1NiAxOSAzIDE1LjQ0NDQgMyAxMUMzIDYuNTU1NTYgNi41NTU1NiAzIDExIDNDMTUuNDQ0NCAzIDE5IDYuNTU1NTYgMTkgMTFDMTkgMTUuNDQ0NCAxNS40NDQ0IDE5IDExIDE5Wk0xMSA1QzcuNTMzMzMgNSA1IDcuNTMzMzMgNSAxMUM1IDE0LjQ2NjcgNy41MzMzMyAxNyAxMSAxN0MxNC40NjY3IDE3IDE3IDE0LjQ2NjcgMTcgMTFDMTcgNy41MzMzMyAxNC40NjY3IDUgMTEgNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L3BhdGg+XHJcbiAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgPCEtLSBbZGlzYWJsZWRdPVwic2VhcmNoRGlzYWJsZWRcIiAtLT5cclxuICAgICAgICAgICAgICA8aW5wdXQgWyhuZ01vZGVsKV09XCJzZWFyY2hJbnB1dFwiIHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgdy00MDBweCBwcy0xNCBtdC0xIG1lLTNcIlxyXG4gICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2hcIiBhdXRvY29tcGxldGU9XCJvZmZcIiAoa2V5dXAuZW50ZXIpPVwic2VhcmNoRmllbGQoKVwiIC8+XHJcbiAgICAgICAgICAgICAgPGxpYi1maWx0ZXJzICpuZ0lmPVwiaXNUYXNrU2VsZWN0ZWRcIiBjbGFzcz1cIm1lLTMgbXQtMVwiIFtkYXRhT2JqZWN0XT1cImRhdGFPYmplY3RcIlxyXG4gICAgICAgICAgICAgICAgKGFwcGxpZWRGaWx0ZXJzKT1cImFwcGx5RmlsdGVycygkZXZlbnQpXCI+PC9saWItZmlsdGVycz5cclxuXHJcbiAgICAgICAgICAgICAgPGZvcm0gY2xhc3M9XCJtdC0xIGJvcmRlcmxlc3Mtc2VsZWN0XCIgW2Zvcm1Hcm91cF09XCJmb3JtXCI+XHJcbiAgICAgICAgICAgICAgICA8bGliLXJlYWN0aXZlLXNlbGVjdCBbZm9ybUNvbnRyb2xdPVwic2VsZWN0ZWRsaXN0c2VsZWN0Q29udHJvbFwiIFtpZEZpZWxkXT1cIidfaWQnXCIgW25hbWVGaWVsZF09XCInbGFiZWwnXCJcclxuICAgICAgICAgICAgICAgICAgW2RhdGFdPVwic3RhdHVzc2VsZWN0Q29udHJvbFwiIGNsYXNzPVwidy0yMDBweFwiICh2YWx1ZUNoYW5nZSk9XCJvblZhbHVlQ2hhbmdlU3RhdHVzU2VsZWN0KCRldmVudClcIj5cclxuICAgICAgICAgICAgICAgICAgPG5nLXRlbXBsYXRlIGxldC1pdGVtPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57eyBpdGVtLmxhYmVsIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNSA3LjVMMTAgMTIuNUwxNSA3LjVcIiBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgICAgIDwvbGliLXJlYWN0aXZlLXNlbGVjdD5cclxuICAgICAgICAgICAgICA8L2Zvcm0+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgIDwvZGl2PlxyXG4gICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBwLTNcIj5cclxuICAgICAgICAgIDwhLS0gb3BlbiBjYXJkIHN0YXJ0IC0tPlxyXG4gICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC00XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcHByb3ZhbGNhcmRcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwcm92YWxoZWFkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZC1mbGV4IGZsZXgtY29sdW1uIG10LTFcIj5cclxuICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXRlLXRleHRcIj5PcGVuIDxzcGFuICpuZ0lmPVwiT3BlbkFwcHJvdmFsTGlzdERhdGEubGVuZ3RoXCJcclxuICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgYmFkZ2UtbGlnaHQtZGVmYXVsdCBteC0yXCI+IHt7T3BlbkFwcHJvdmFsTGlzdERhdGEubGVuZ3RofX1cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgIHBvc2l0aW9uLXJlbGF0aXZlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE3XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE3IDE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNOC42NjY2NyAzLjMzMzI1VjEyLjY2NjZNOC42NjY2NyAxMi42NjY2TDEzLjMzMzMgNy45OTk5Mk04LjY2NjY3IDEyLjY2NjZMNCA3Ljk5OTkyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWFwcHJvdmFsT3BlbkxvYWRpbmcgJiYgIWFwcHJvdmFsT3Blbk5vRGF0YVwiIGNsYXNzPVwicC01IGNhcmRzY3JvbGxcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IG9wZW4gb2YgT3BlbkFwcHJvdmFsTGlzdERhdGFcIiAoY2xpY2spPVwib3Blbm5hdmlnYXRlVG9HYWxsZXJ5KG9wZW4pXCIgY2xhc3M9XCJhcHByb3ZhbGJvZHkgbWItNCBjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmd0ZXh0IGQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3sgb3Blbi5jaGVja0xpc3ROYW1lIHx8ICctLScgfX1cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwib3Blbi50YXNrVHlwZSA9PT0gJ3JlZG8nXCIgY2xhc3M9XCJjYXRlLXN1YiBiYWRnZSBiYWRnZS1saWdodC1ibHVlIG14LTEgbXQtMVwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF81MTE5XzU1NzYpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTExLjUgMi4wMDAwNFY1LjAwMDA0TTExLjUgNS4wMDAwNEg4LjVNMTEuNSA1LjAwMDA0TDkuMTggMi44MjAwNEM4LjY0MjYzIDIuMjgyMzkgNy45Nzc4MSAxLjg4OTY0IDcuMjQ3NiAxLjY3ODQyQzYuNTE3MzggMS40NjcyMSA1Ljc0NTU1IDEuNDQ0NDEgNS4wMDQxNCAxLjYxMjE3QzQuMjYyNzMgMS43Nzk5MiAzLjU3NTkgMi4xMzI3NSAzLjAwNzczIDIuNjM3NzVDMi40Mzk1NyAzLjE0Mjc0IDIuMDA4NTggMy43ODM0MyAxLjc1NSA0LjUwMDA0TTAuNSAxMFY3LjAwMDA0TTAuNSA3LjAwMDA0SDMuNU0wLjUgNy4wMDAwNEwyLjgyIDkuMTgwMDRDMy4zNTczNyA5LjcxNzY4IDQuMDIyMTkgMTAuMTEwNCA0Ljc1MjQgMTAuMzIxN0M1LjQ4MjYyIDEwLjUzMjkgNi4yNTQ0NSAxMC41NTU3IDYuOTk1ODYgMTAuMzg3OUM3LjczNzI3IDEwLjIyMDIgOC40MjQxIDkuODY3MzIgOC45OTIyNyA5LjM2MjMzQzkuNTYwNDMgOC44NTczNCA5Ljk5MTQyIDguMjE2NjQgMTAuMjQ1IDcuNTAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMkU5MEZBXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF81MTE5XzU1NzZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz57eyBvcGVuLmNoZWNrTGlzdFR5cGUgfHwgJy0tJyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwib3Blbi5jaGVja0xpc3RUeXBlICYmIG9wZW4uY2hlY2tMaXN0VHlwZSAhPT0gJ3JlZG8nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXRlLXN1YiBteC0xIGJhZGdlIGJhZGdlLWxpZ2h0LXZpb2xldCBtdC0xXCI+IHt7IG9wZW4uY2hlY2tMaXN0VHlwZSB8fCAnLS0nIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPHNwYW4gY2xhc3M9XCJjYXRlLXN1YiBiYWRnZSBiYWRnZS1saWdodC1kZWZhdWx0XCI+U3RvcmUgQmFzZWQ8L3NwYW4+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvcGVuPy5wcmlvcml0eVR5cGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgdGV4dC1lbmRcIiBbbmdDbGFzc109XCJ7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LWRhbmdlcic6IG9wZW4ucHJpb3JpdHlUeXBlID09PSAnaGlnaCcsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LWJsdWUnOiBvcGVuLnByaW9yaXR5VHlwZSA9PT0gJ21lZGl1bScsXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgJ2JhZGdlLWxpZ2h0LXdhcm5pbmcnOiBvcGVuLnByaW9yaXR5VHlwZSA9PT0gJ2xvdydcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICB7eyBvcGVuLnByaW9yaXR5VHlwZSB8IHRpdGxlY2FzZSB9fSBQcmlvcml0eVxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTMuMzM0NiAxNFYxMi42NjY3QzEzLjMzNDYgMTEuOTU5NCAxMy4wNTM3IDExLjI4MTEgMTIuNTUzNiAxMC43ODFDMTIuMDUzNSAxMC4yODEgMTEuMzc1MiAxMCAxMC42NjggMTBINS4zMzQ2NEM0LjYyNzM5IDEwIDMuOTQ5MTEgMTAuMjgxIDMuNDQ5MDIgMTAuNzgxQzIuOTQ4OTIgMTEuMjgxMSAyLjY2Nzk3IDExLjk1OTQgMi42Njc5NyAxMi42NjY3VjE0TTEwLjY2OCA0LjY2NjY3QzEwLjY2OCA2LjEzOTQzIDkuNDc0MDYgNy4zMzMzMyA4LjAwMTMgNy4zMzMzM0M2LjUyODU0IDcuMzMzMzMgNS4zMzQ2NCA2LjEzOTQzIDUuMzM0NjQgNC42NjY2N0M1LjMzNDY0IDMuMTkzOTEgNi41Mjg1NCAyIDguMDAxMyAyQzkuNDc0MDYgMiAxMC42NjggMy4xOTM5MSAxMC42NjggNC42NjY2N1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PHNwYW4gY2xhc3M9XCJjYXJkc3VidGV4dCBtcy0yIG1lLTRcIj4ge3sgb3Blbi5jcmVhdGVkQnlOYW1lIHx8ICctLScgfX08L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTIgM0gxMy41QzEzLjg5NzggMyAxNC4yNzk0IDMuMTU4MDQgMTQuNTYwNyAzLjQzOTM0QzE0Ljg0MiAzLjcyMDY0IDE1IDQuMTAyMTggMTUgNC41VjE1QzE1IDE1LjM5NzggMTQuODQyIDE1Ljc3OTQgMTQuNTYwNyAxNi4wNjA3QzE0LjI3OTQgMTYuMzQyIDEzLjg5NzggMTYuNSAxMy41IDE2LjVINC41QzQuMTAyMTggMTYuNSAzLjcyMDY0IDE2LjM0MiAzLjQzOTM0IDE2LjA2MDdDMy4xNTgwNCAxNS43Nzk0IDMgMTUuMzk3OCAzIDE1VjQuNUMzIDQuMTAyMTggMy4xNTgwNCAzLjcyMDY0IDMuNDM5MzQgMy40MzkzNEMzLjcyMDY0IDMuMTU4MDQgNC4xMDIxOCAzIDQuNSAzSDZNNi43NSAxLjVIMTEuMjVDMTEuNjY0MiAxLjUgMTIgMS44MzU3OSAxMiAyLjI1VjMuNzVDMTIgNC4xNjQyMSAxMS42NjQyIDQuNSAxMS4yNSA0LjVINi43NUM2LjMzNTc5IDQuNSA2IDQuMTY0MjEgNiAzLjc1VjIuMjVDNiAxLjgzNTc5IDYuMzM1NzkgMS41IDYuNzUgMS41WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48c3BhbiBjbGFzcz1cImNhcmRzdWJ0ZXh0IG1zLTIgbWUtNFwiPiB7eyBvcGVuLnN0b3JlQ291bnQgIT09bnVsbCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG9wZW4uc3RvcmVDb3VudC50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCB9KSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICctLScgfX0gLyB7eyBvcGVuLnN1Ym1pdENvdW50ICE9PW51bGwgPyBvcGVuLnN1Ym1pdENvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fSBTdG9yZXM8L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTIgMS41VjQuNU02IDEuNVY0LjVNMi4yNSA3LjVIMTUuNzVNMy43NSAzSDE0LjI1QzE1LjA3ODQgMyAxNS43NSAzLjY3MTU3IDE1Ljc1IDQuNVYxNUMxNS43NSAxNS44Mjg0IDE1LjA3ODQgMTYuNSAxNC4yNSAxNi41SDMuNzVDMi45MjE1NyAxNi41IDIuMjUgMTUuODI4NCAyLjI1IDE1VjQuNUMyLjI1IDMuNjcxNTcgMi45MjE1NyAzIDMuNzUgM1pcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjRcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PHNwYW4gY2xhc3M9XCJjYXJkc3VidGV4dCBtcy0yIG1lLTRcIj5SZXBlYXRzIHt7IG9wZW4uc2NoZWR1bGVSZXBlYXRlZFR5cGUgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBvcGVuLnNjaGVkdWxlUmVwZWF0ZWRUeXBlLnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fTwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibXMtMSBkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gdy0xMDBcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF81MTE5XzMxNzgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPG1hc2sgaWQ9XCJwYXRoLTEtaW5zaWRlLTFfNTExOV8zMTc4XCIgZmlsbD1cIndoaXRlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNi4xMzA1NSAwLjAwMTQyMDQ5QzUuMjU3NTcgLTAuMDE3NTc3OCA0LjM5MDk3IDAuMTU0MTkyIDMuNTkxMjUgMC41MDQ3MzhDMi43OTE1MiAwLjg1NTI4NCAyLjA3Nzk1IDEuMzc2MTYgMS41MDAzNCAyLjAzMDk5QzAuOTIyNzI2IDIuNjg1ODMgMC40OTUwMDUgMy40NTg4NSAwLjI0NzAzMyA0LjI5NjA4Qy0wLjAwMDkzOTUzMyA1LjEzMzMgLTAuMDYzMTg2MSA2LjAxNDU3IDAuMDY0NjM4OCA2Ljg3ODM0QzAuMTkyNDY0IDcuNzQyMTIgMC41MDcyNzkgOC41Njc1OCAwLjk4NzEwNyA5LjI5NzExQzEuNDY2OTMgMTAuMDI2NiAyLjEwMDIxIDEwLjY0MjYgMi44NDI3MiAxMS4xMDIxQzMuNTg1MjMgMTEuNTYxNiA0LjQxOTA4IDExLjg1MzUgNS4yODYwNiAxMS45NTc0QzYuMTUzMDMgMTIuMDYxMyA3LjAzMjI0IDExLjk3NDcgNy44NjIzIDExLjcwMzdDOC4wMDQxMiAxMS42NTczIDguMTIxNzMgMTEuNTU2NSA4LjE4OTI0IDExLjQyMzVDOC4yNTY3NSAxMS4yOTA0IDguMjY4NjQgMTEuMTM2IDguMjIyMyAxMC45OTQyQzguMTc1OTUgMTAuODUyMyA4LjA3NTE2IDEwLjczNDcgNy45NDIxIDEwLjY2NzJDNy44MDkwNSAxMC41OTk3IDcuNjU0NjIgMTAuNTg3OCA3LjUxMjggMTAuNjM0MkM2LjYxMDc3IDEwLjkyODcgNS42NDI0IDEwLjk1MzYgNC43MjY0NCAxMC43MDU4QzMuODEwNDggMTAuNDU4IDIuOTg2NzUgOS45NDgyNSAyLjM1NjI3IDkuMjM5MUMxLjcyNTggOC41Mjk5NSAxLjMxNTk4IDcuNjUyMjEgMS4xNzcwOSA2LjcxMzU0QzEuMDM4MiA1Ljc3NDg3IDEuMTc2MjcgNC44MTYwNyAxLjU3NDM2IDMuOTU0NzNDMS45NzI0NiAzLjA5MzM4IDIuNjEzMjcgMi4zNjY5NCAzLjQxODIyIDEuODY0NDlDNC4yMjMxNyAxLjM2MjA0IDUuMTU3MjUgMS4xMDU0MyA2LjEwNTkyIDEuMTI2MTNDNy4wNTQ1OCAxLjE0NjgzIDcuOTc2NTkgMS40NDM5MyA4Ljc1ODg1IDEuOTgxMDFDOS41NDExMiAyLjUxODA5IDEwLjE0OTYgMy4yNzE3OCAxMC41MDk4IDQuMTQ5NjdDMTAuNTY2NCA0LjI4NzcyIDEwLjY3NTUgNC4zOTc2MyAxMC44MTMxIDQuNDU1MjJDMTAuODgxMyA0LjQ4Mzc0IDEwLjk1NDQgNC40OTg1NiAxMS4wMjgyIDQuNDk4ODNDMTEuMTAyMSA0LjQ5OTEgMTEuMTc1MyA0LjQ4NDgyIDExLjI0MzcgNC40NTY4QzExLjMxMiA0LjQyODc4IDExLjM3NDIgNC4zODc1NyAxMS40MjY2IDQuMzM1NTJDMTEuNDc5IDQuMjgzNDcgMTEuNTIwNyA0LjIyMTYxIDExLjU0OTIgNC4xNTM0N0MxMS41Nzc3IDQuMDg1MzIgMTEuNTkyNiA0LjAxMjIyIDExLjU5MjggMy45MzgzNUMxMS41OTMxIDMuODY0NDggMTEuNTc4OCAzLjc5MTI3IDExLjU1MDggMy43MjI5MkMxMS4xMDc2IDIuNjQyMzkgMTAuMzU4NiAxLjcxNDcgOS4zOTU4IDEuMDUzNjVDOC40MzI5OSAwLjM5MjU4NyA3LjI5ODE3IDAuMDI2ODk0NiA2LjEzMDU1IDAuMDAxNDIwNDlaTTYuNTYxOCAyLjgxMjQyQzYuNTYxOCAyLjY2MzI0IDYuNTAyNTMgMi41MjAxNiA2LjM5NzA0IDIuNDE0NjdDNi4yOTE1NSAyLjMwOTE4IDYuMTQ4NDggMi4yNDk5MiA1Ljk5OTMgMi4yNDk5MkM1Ljg1MDExIDIuMjQ5OTIgNS43MDcwNCAyLjMwOTE4IDUuNjAxNTUgMi40MTQ2N0M1LjQ5NjA2IDIuNTIwMTYgNS40MzY4IDIuNjYzMjQgNS40MzY4IDIuODEyNDJWNS43Njc0MkwzLjkxMTMgNy4yOTIxN0MzLjg1NjAzIDcuMzQzNjcgMy44MTE3IDcuNDA1NzcgMy43ODA5NiA3LjQ3NDc3QzMuNzUwMjIgNy41NDM3NyAzLjczMzY4IDcuNjE4MjUgMy43MzIzNSA3LjY5Mzc4QzMuNzMxMDIgNy43NjkzMSAzLjc0NDkxIDcuODQ0MzMgMy43NzMyIDcuOTE0MzdDMy44MDE0OSA3Ljk4NDQxIDMuODQzNiA4LjA0ODA0IDMuODk3MDIgOC4xMDE0NUMzLjk1MDQzIDguMTU0ODYgNC4wMTQwNiA4LjE5Njk3IDQuMDg0MSA4LjIyNTI2QzQuMTU0MTQgOC4yNTM1NSA0LjIyOTE2IDguMjY3NDUgNC4zMDQ2OSA4LjI2NjEyQzQuMzgwMjEgOC4yNjQ3OCA0LjQ1NDcgOC4yNDgyNSA0LjUyMzcgOC4yMTc1MUM0LjU5MjcgOC4xODY3NiA0LjY1NDggOC4xNDI0NCA0LjcwNjMgOC4wODcxN0w2LjM5NjggNi4zOTc0Mkw2LjU2MTggNi4yMzI0MlYyLjgxMjQyWk0xMS4yNDkzIDExLjI0OTlDMTEuMjQ5MyAxMS40NDg4IDExLjE3MDMgMTEuNjM5NiAxMS4wMjk2IDExLjc4MDNDMTAuODg5IDExLjkyMDkgMTAuNjk4MiAxMS45OTk5IDEwLjQ5OTMgMTEuOTk5OUMxMC4zMDA0IDExLjk5OTkgMTAuMTA5NiAxMS45MjA5IDkuOTY4OTcgMTEuNzgwM0M5LjgyODMxIDExLjYzOTYgOS43NDkzIDExLjQ0ODggOS43NDkzIDExLjI0OTlDOS43NDkzIDExLjA1MSA5LjgyODMxIDEwLjg2MDIgOS45Njg5NyAxMC43MTk2QzEwLjEwOTYgMTAuNTc4OSAxMC4zMDA0IDEwLjQ5OTkgMTAuNDk5MyAxMC40OTk5QzEwLjY5ODIgMTAuNDk5OSAxMC44ODkgMTAuNTc4OSAxMS4wMjk2IDEwLjcxOTZDMTEuMTcwMyAxMC44NjAyIDExLjI0OTMgMTEuMDUxIDExLjI0OTMgMTEuMjQ5OVpNMTEuMDYxOCA2LjU2MjQyQzExLjA2MTggNi40MTMyNCAxMS4wMDI1IDYuMjcwMTYgMTAuODk3IDYuMTY0NjdDMTAuNzkxNiA2LjA1OTE5IDEwLjY0ODUgNS45OTk5MiAxMC40OTkzIDUuOTk5OTJDMTAuMzUwMSA1Ljk5OTkyIDEwLjIwNyA2LjA1OTE5IDEwLjEwMTUgNi4xNjQ2N0M5Ljk5NjA2IDYuMjcwMTYgOS45MzY4IDYuNDEzMjQgOS45MzY4IDYuNTYyNDJWOS4xODc0MkM5LjkzNjggOS4zMzY2MSA5Ljk5NjA2IDkuNDc5NjggMTAuMTAxNSA5LjU4NTE3QzEwLjIwNyA5LjY5MDY2IDEwLjM1MDEgOS43NDk5MiAxMC40OTkzIDkuNzQ5OTJDMTAuNjQ4NSA5Ljc0OTkyIDEwLjc5MTYgOS42OTA2NiAxMC44OTcgOS41ODUxN0MxMS4wMDI1IDkuNDc5NjggMTEuMDYxOCA5LjMzNjYxIDExLjA2MTggOS4xODc0MlY2LjU2MjQyWlwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9tYXNrPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNNi4xMzA1NSAwLjAwMTQyMDQ5QzUuMjU3NTcgLTAuMDE3NTc3OCA0LjM5MDk3IDAuMTU0MTkyIDMuNTkxMjUgMC41MDQ3MzhDMi43OTE1MiAwLjg1NTI4NCAyLjA3Nzk1IDEuMzc2MTYgMS41MDAzNCAyLjAzMDk5QzAuOTIyNzI2IDIuNjg1ODMgMC40OTUwMDUgMy40NTg4NSAwLjI0NzAzMyA0LjI5NjA4Qy0wLjAwMDkzOTUzMyA1LjEzMzMgLTAuMDYzMTg2MSA2LjAxNDU3IDAuMDY0NjM4OCA2Ljg3ODM0QzAuMTkyNDY0IDcuNzQyMTIgMC41MDcyNzkgOC41Njc1OCAwLjk4NzEwNyA5LjI5NzExQzEuNDY2OTMgMTAuMDI2NiAyLjEwMDIxIDEwLjY0MjYgMi44NDI3MiAxMS4xMDIxQzMuNTg1MjMgMTEuNTYxNiA0LjQxOTA4IDExLjg1MzUgNS4yODYwNiAxMS45NTc0QzYuMTUzMDMgMTIuMDYxMyA3LjAzMjI0IDExLjk3NDcgNy44NjIzIDExLjcwMzdDOC4wMDQxMiAxMS42NTczIDguMTIxNzMgMTEuNTU2NSA4LjE4OTI0IDExLjQyMzVDOC4yNTY3NSAxMS4yOTA0IDguMjY4NjQgMTEuMTM2IDguMjIyMyAxMC45OTQyQzguMTc1OTUgMTAuODUyMyA4LjA3NTE2IDEwLjczNDcgNy45NDIxIDEwLjY2NzJDNy44MDkwNSAxMC41OTk3IDcuNjU0NjIgMTAuNTg3OCA3LjUxMjggMTAuNjM0MkM2LjYxMDc3IDEwLjkyODcgNS42NDI0IDEwLjk1MzYgNC43MjY0NCAxMC43MDU4QzMuODEwNDggMTAuNDU4IDIuOTg2NzUgOS45NDgyNSAyLjM1NjI3IDkuMjM5MUMxLjcyNTggOC41Mjk5NSAxLjMxNTk4IDcuNjUyMjEgMS4xNzcwOSA2LjcxMzU0QzEuMDM4MiA1Ljc3NDg3IDEuMTc2MjcgNC44MTYwNyAxLjU3NDM2IDMuOTU0NzNDMS45NzI0NiAzLjA5MzM4IDIuNjEzMjcgMi4zNjY5NCAzLjQxODIyIDEuODY0NDlDNC4yMjMxNyAxLjM2MjA0IDUuMTU3MjUgMS4xMDU0MyA2LjEwNTkyIDEuMTI2MTNDNy4wNTQ1OCAxLjE0NjgzIDcuOTc2NTkgMS40NDM5MyA4Ljc1ODg1IDEuOTgxMDFDOS41NDExMiAyLjUxODA5IDEwLjE0OTYgMy4yNzE3OCAxMC41MDk4IDQuMTQ5NjdDMTAuNTY2NCA0LjI4NzcyIDEwLjY3NTUgNC4zOTc2MyAxMC44MTMxIDQuNDU1MjJDMTAuODgxMyA0LjQ4Mzc0IDEwLjk1NDQgNC40OTg1NiAxMS4wMjgyIDQuNDk4ODNDMTEuMTAyMSA0LjQ5OTEgMTEuMTc1MyA0LjQ4NDgyIDExLjI0MzcgNC40NTY4QzExLjMxMiA0LjQyODc4IDExLjM3NDIgNC4zODc1NyAxMS40MjY2IDQuMzM1NTJDMTEuNDc5IDQuMjgzNDcgMTEuNTIwNyA0LjIyMTYxIDExLjU0OTIgNC4xNTM0N0MxMS41Nzc3IDQuMDg1MzIgMTEuNTkyNiA0LjAxMjIyIDExLjU5MjggMy45MzgzNUMxMS41OTMxIDMuODY0NDggMTEuNTc4OCAzLjc5MTI3IDExLjU1MDggMy43MjI5MkMxMS4xMDc2IDIuNjQyMzkgMTAuMzU4NiAxLjcxNDcgOS4zOTU4IDEuMDUzNjVDOC40MzI5OSAwLjM5MjU4NyA3LjI5ODE3IDAuMDI2ODk0NiA2LjEzMDU1IDAuMDAxNDIwNDlaTTYuNTYxOCAyLjgxMjQyQzYuNTYxOCAyLjY2MzI0IDYuNTAyNTMgMi41MjAxNiA2LjM5NzA0IDIuNDE0NjdDNi4yOTE1NSAyLjMwOTE4IDYuMTQ4NDggMi4yNDk5MiA1Ljk5OTMgMi4yNDk5MkM1Ljg1MDExIDIuMjQ5OTIgNS43MDcwNCAyLjMwOTE4IDUuNjAxNTUgMi40MTQ2N0M1LjQ5NjA2IDIuNTIwMTYgNS40MzY4IDIuNjYzMjQgNS40MzY4IDIuODEyNDJWNS43Njc0MkwzLjkxMTMgNy4yOTIxN0MzLjg1NjAzIDcuMzQzNjcgMy44MTE3IDcuNDA1NzcgMy43ODA5NiA3LjQ3NDc3QzMuNzUwMjIgNy41NDM3NyAzLjczMzY4IDcuNjE4MjUgMy43MzIzNSA3LjY5Mzc4QzMuNzMxMDIgNy43NjkzMSAzLjc0NDkxIDcuODQ0MzMgMy43NzMyIDcuOTE0MzdDMy44MDE0OSA3Ljk4NDQxIDMuODQzNiA4LjA0ODA0IDMuODk3MDIgOC4xMDE0NUMzLjk1MDQzIDguMTU0ODYgNC4wMTQwNiA4LjE5Njk3IDQuMDg0MSA4LjIyNTI2QzQuMTU0MTQgOC4yNTM1NSA0LjIyOTE2IDguMjY3NDUgNC4zMDQ2OSA4LjI2NjEyQzQuMzgwMjEgOC4yNjQ3OCA0LjQ1NDcgOC4yNDgyNSA0LjUyMzcgOC4yMTc1MUM0LjU5MjcgOC4xODY3NiA0LjY1NDggOC4xNDI0NCA0LjcwNjMgOC4wODcxN0w2LjM5NjggNi4zOTc0Mkw2LjU2MTggNi4yMzI0MlYyLjgxMjQyWk0xMS4yNDkzIDExLjI0OTlDMTEuMjQ5MyAxMS40NDg4IDExLjE3MDMgMTEuNjM5NiAxMS4wMjk2IDExLjc4MDNDMTAuODg5IDExLjkyMDkgMTAuNjk4MiAxMS45OTk5IDEwLjQ5OTMgMTEuOTk5OUMxMC4zMDA0IDExLjk5OTkgMTAuMTA5NiAxMS45MjA5IDkuOTY4OTcgMTEuNzgwM0M5LjgyODMxIDExLjYzOTYgOS43NDkzIDExLjQ0ODggOS43NDkzIDExLjI0OTlDOS43NDkzIDExLjA1MSA5LjgyODMxIDEwLjg2MDIgOS45Njg5NyAxMC43MTk2QzEwLjEwOTYgMTAuNTc4OSAxMC4zMDA0IDEwLjQ5OTkgMTAuNDk5MyAxMC40OTk5QzEwLjY5ODIgMTAuNDk5OSAxMC44ODkgMTAuNTc4OSAxMS4wMjk2IDEwLjcxOTZDMTEuMTcwMyAxMC44NjAyIDExLjI0OTMgMTEuMDUxIDExLjI0OTMgMTEuMjQ5OVpNMTEuMDYxOCA2LjU2MjQyQzExLjA2MTggNi40MTMyNCAxMS4wMDI1IDYuMjcwMTYgMTAuODk3IDYuMTY0NjdDMTAuNzkxNiA2LjA1OTE5IDEwLjY0ODUgNS45OTk5MiAxMC40OTkzIDUuOTk5OTJDMTAuMzUwMSA1Ljk5OTkyIDEwLjIwNyA2LjA1OTE5IDEwLjEwMTUgNi4xNjQ2N0M5Ljk5NjA2IDYuMjcwMTYgOS45MzY4IDYuNDEzMjQgOS45MzY4IDYuNTYyNDJWOS4xODc0MkM5LjkzNjggOS4zMzY2MSA5Ljk5NjA2IDkuNDc5NjggMTAuMTAxNSA5LjU4NTE3QzEwLjIwNyA5LjY5MDY2IDEwLjM1MDEgOS43NDk5MiAxMC40OTkzIDkuNzQ5OTJDMTAuNjQ4NSA5Ljc0OTkyIDEwLjc5MTYgOS42OTA2NiAxMC44OTcgOS41ODUxN0MxMS4wMDI1IDkuNDc5NjggMTEuMDYxOCA5LjMzNjYxIDExLjA2MTggOS4xODc0MlY2LjU2MjQyWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiYmxhY2tcIiBzdHJva2U9XCJibGFja1wiIHN0cm9rZS13aWR0aD1cIjJcIiBtYXNrPVwidXJsKCNwYXRoLTEtaW5zaWRlLTFfNTExOV8zMTc4KVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfNTExOV8zMTc4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXRlLXN1YiBtcy0zXCI+e3sgb3Blbi5wdWJsaXNoRGF0ZSB8IGRhdGU6IFwiWVlZWS1NTS1kZFwiIH19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhdGUtc3ViIGJhZGdlIGJhZGdlLWxpZ2h0LXN1Y2Nlc3MgbXgtMSBtdC0xXCI+e3sgb3Blbi5hcHByb3ZlQ291bnQgIT09bnVsbCA/XHJcbiAgICAgICAgICAgICAgICAgICAgICBvcGVuLmFwcHJvdmVDb3VudC50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fSAvIHt7IG9wZW4uc3VibWl0Q291bnQgIT09bnVsbCA/IG9wZW4uc3VibWl0Q291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICctLScgfX08L3NwYW4+XHJcblxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImFwcHJvdmFsT3BlbkxvYWRpbmdcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGxvYWRlciAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwcm92YWxPcGVuTm9EYXRhICYmICFhcHByb3ZhbE9wZW5Mb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBteS02XCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1zcmNcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGExLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGFtYWludGV4dCBtdC0zXCI+Tm8gZGF0YSBmb3VuZDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJub2RhdGFzdWJ0ZXh0XCI+VGhlcmUgaXMgbm8gcmVzdWx0IGZvciBPcGVuIENoZWNrbGlzdFxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLTRcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcHJvdmFsY2FyZFwiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJhcHByb3ZhbGhlYWRlclwiPlxyXG4gICAgICAgICAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBkLWZsZXggZmxleC1jb2x1bW4gbXQtMVwiPlxyXG4gICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhdGUtdGV4dFwiPklucHJvZ3Jlc3NcclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIklucHJvZ3Jlc3NBcHByb3ZhbExpc3REYXRhLmxlbmd0aFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhdGUtc3ViIGJhZGdlIGJhZGdlLWxpZ2h0LWRlZmF1bHQgbXgtMlwiPnt7SW5wcm9ncmVzc0FwcHJvdmFsTGlzdERhdGEubGVuZ3RofX1cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgPC9oMz5cclxuICAgICAgICAgICAgICAgIDwhLS0gPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgIHBvc2l0aW9uLXJlbGF0aXZlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE3XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE3IDE2XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNOC42NjY2NyAzLjMzMzI1VjEyLjY2NjZNOC42NjY2NyAxMi42NjY2TDEzLjMzMzMgNy45OTk5Mk04LjY2NjY3IDEyLjY2NjZMNCA3Ljk5OTkyXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWFwcHJvdmFsSW5wcm9ncmVzc0xvYWRpbmcgJiYgIWFwcHJvdmFsSW5wcm9ncmVzc05vRGF0YVwiIGNsYXNzPVwicC01IGNhcmRzY3JvbGwgY3Vyc29yLXBvaW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGlucHJvZ3Jlc3Mgb2YgSW5wcm9ncmVzc0FwcHJvdmFsTGlzdERhdGFcIiAoY2xpY2spPVwiaW5wcm9ncmVzc25hdmlnYXRlVG9HYWxsZXJ5KGlucHJvZ3Jlc3MpXCIgY2xhc3M9XCJhcHByb3ZhbGJvZHkgbWItNFwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmd0ZXh0IGQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3sgaW5wcm9ncmVzcy5jaGVja0xpc3ROYW1lIHx8ICctLSd9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpbnByb2dyZXNzLnRhc2tUeXBlID09PSAncmVkbydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhdGUtc3ViIGJhZGdlIGJhZGdlLWxpZ2h0LWJsdWUgbXgtMSBtdC0xXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzUxMTlfNTU3NilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTEuNSAyLjAwMDA0VjUuMDAwMDRNMTEuNSA1LjAwMDA0SDguNU0xMS41IDUuMDAwMDRMOS4xOCAyLjgyMDA0QzguNjQyNjMgMi4yODIzOSA3Ljk3NzgxIDEuODg5NjQgNy4yNDc2IDEuNjc4NDJDNi41MTczOCAxLjQ2NzIxIDUuNzQ1NTUgMS40NDQ0MSA1LjAwNDE0IDEuNjEyMTdDNC4yNjI3MyAxLjc3OTkyIDMuNTc1OSAyLjEzMjc1IDMuMDA3NzMgMi42Mzc3NUMyLjQzOTU3IDMuMTQyNzQgMi4wMDg1OCAzLjc4MzQzIDEuNzU1IDQuNTAwMDRNMC41IDEwVjcuMDAwMDRNMC41IDcuMDAwMDRIMy41TTAuNSA3LjAwMDA0TDIuODIgOS4xODAwNEMzLjM1NzM3IDkuNzE3NjggNC4wMjIxOSAxMC4xMTA0IDQuNzUyNCAxMC4zMjE3QzUuNDgyNjIgMTAuNTMyOSA2LjI1NDQ1IDEwLjU1NTcgNi45OTU4NiAxMC4zODc5QzcuNzM3MjcgMTAuMjIwMiA4LjQyNDEgOS44NjczMiA4Ljk5MjI3IDkuMzYyMzNDOS41NjA0MyA4Ljg1NzM0IDkuOTkxNDIgOC4yMTY2NCAxMC4yNDUgNy41MDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiMyRTkwRkFcIiBzdHJva2Utd2lkdGg9XCIxLjVcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzUxMTlfNTU3NlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPnt7IGlucHJvZ3Jlc3MuY2hlY2tMaXN0VHlwZSB8fCAnLS0nIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpbnByb2dyZXNzLmNoZWNrTGlzdFR5cGUgJiYgaW5wcm9ncmVzcy5jaGVja0xpc3RUeXBlICE9PSAncmVkbydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImNhdGUtc3ViIG14LTEgYmFkZ2UgYmFkZ2UtbGlnaHQtdmlvbGV0IG10LTFcIj4ge3sgaW5wcm9ncmVzcy5jaGVja0xpc3RUeXBlIHx8ICctLSdcclxuICAgICAgICAgICAgICAgICAgICAgICAgfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPCEtLSA8c3BhbiBjbGFzcz1cImNhdGUtc3ViIGJhZGdlIGJhZGdlLWxpZ2h0LWRlZmF1bHRcIj5TdG9yZSBCYXNlZDwvc3Bhbj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImlucHJvZ3Jlc3M/LnByaW9yaXR5VHlwZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXRlLXN1YiBiYWRnZSB0ZXh0LWVuZFwiIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFkZ2UtbGlnaHQtZGFuZ2VyJzogaW5wcm9ncmVzcy5wcmlvcml0eVR5cGUgPT09ICdoaWdoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFkZ2UtbGlnaHQtYmx1ZSc6IGlucHJvZ3Jlc3MucHJpb3JpdHlUeXBlID09PSAnbWVkaXVtJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFkZ2UtbGlnaHQtd2FybmluZyc6IGlucHJvZ3Jlc3MucHJpb3JpdHlUeXBlID09PSAnbG93J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGlucHJvZ3Jlc3MucHJpb3JpdHlUeXBlIHwgdGl0bGVjYXNlIH19IFByaW9yaXR5XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMy4zMzQ2IDE0VjEyLjY2NjdDMTMuMzM0NiAxMS45NTk0IDEzLjA1MzcgMTEuMjgxMSAxMi41NTM2IDEwLjc4MUMxMi4wNTM1IDEwLjI4MSAxMS4zNzUyIDEwIDEwLjY2OCAxMEg1LjMzNDY0QzQuNjI3MzkgMTAgMy45NDkxMSAxMC4yODEgMy40NDkwMiAxMC43ODFDMi45NDg5MiAxMS4yODExIDIuNjY3OTcgMTEuOTU5NCAyLjY2Nzk3IDEyLjY2NjdWMTRNMTAuNjY4IDQuNjY2NjdDMTAuNjY4IDYuMTM5NDMgOS40NzQwNiA3LjMzMzMzIDguMDAxMyA3LjMzMzMzQzYuNTI4NTQgNy4zMzMzMyA1LjMzNDY0IDYuMTM5NDMgNS4zMzQ2NCA0LjY2NjY3QzUuMzM0NjQgMy4xOTM5MSA2LjUyODU0IDIgOC4wMDEzIDJDOS40NzQwNiAyIDEwLjY2OCAzLjE5MzkxIDEwLjY2OCA0LjY2NjY3WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48c3BhbiBjbGFzcz1cImNhcmRzdWJ0ZXh0IG1zLTIgbWUtNFwiPiB7eyBpbnByb2dyZXNzLmNyZWF0ZWRCeU5hbWUgfHwgJy0tJyB9fTwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMiAzSDEzLjVDMTMuODk3OCAzIDE0LjI3OTQgMy4xNTgwNCAxNC41NjA3IDMuNDM5MzRDMTQuODQyIDMuNzIwNjQgMTUgNC4xMDIxOCAxNSA0LjVWMTVDMTUgMTUuMzk3OCAxNC44NDIgMTUuNzc5NCAxNC41NjA3IDE2LjA2MDdDMTQuMjc5NCAxNi4zNDIgMTMuODk3OCAxNi41IDEzLjUgMTYuNUg0LjVDNC4xMDIxOCAxNi41IDMuNzIwNjQgMTYuMzQyIDMuNDM5MzQgMTYuMDYwN0MzLjE1ODA0IDE1Ljc3OTQgMyAxNS4zOTc4IDMgMTVWNC41QzMgNC4xMDIxOCAzLjE1ODA0IDMuNzIwNjQgMy40MzkzNCAzLjQzOTM0QzMuNzIwNjQgMy4xNTgwNCA0LjEwMjE4IDMgNC41IDNINk02Ljc1IDEuNUgxMS4yNUMxMS42NjQyIDEuNSAxMiAxLjgzNTc5IDEyIDIuMjVWMy43NUMxMiA0LjE2NDIxIDExLjY2NDIgNC41IDExLjI1IDQuNUg2Ljc1QzYuMzM1NzkgNC41IDYgNC4xNjQyMSA2IDMuNzVWMi4yNUM2IDEuODM1NzkgNi4zMzU3OSAxLjUgNi43NSAxLjVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS40XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjxzcGFuIGNsYXNzPVwiY2FyZHN1YnRleHQgbXMtMiBtZS00XCI+IHt7IGlucHJvZ3Jlc3Muc3RvcmVDb3VudCAhPT1udWxsID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgaW5wcm9ncmVzcy5zdG9yZUNvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fSAvIHt7IGlucHJvZ3Jlc3Muc3VibWl0Q291bnQgIT09bnVsbCA/IGlucHJvZ3Jlc3Muc3VibWl0Q291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnLS0nIH19IFN0b3Jlczwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMiAxLjVWNC41TTYgMS41VjQuNU0yLjI1IDcuNUgxNS43NU0zLjc1IDNIMTQuMjVDMTUuMDc4NCAzIDE1Ljc1IDMuNjcxNTcgMTUuNzUgNC41VjE1QzE1Ljc1IDE1LjgyODQgMTUuMDc4NCAxNi41IDE0LjI1IDE2LjVIMy43NUMyLjkyMTU3IDE2LjUgMi4yNSAxNS44Mjg0IDIuMjUgMTVWNC41QzIuMjUgMy42NzE1NyAyLjkyMTU3IDMgMy43NSAzWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48c3BhbiBjbGFzcz1cImNhcmRzdWJ0ZXh0IG1zLTIgbWUtNFwiPlJlcGVhdHMge3sgaW5wcm9ncmVzcy5zY2hlZHVsZVJlcGVhdGVkVHlwZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGlucHJvZ3Jlc3Muc2NoZWR1bGVSZXBlYXRlZFR5cGUudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnLS0nIH19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcy0xIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzUxMTlfMzE3OClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFzayBpZD1cInBhdGgtMS1pbnNpZGUtMV81MTE5XzMxNzhcIiBmaWxsPVwid2hpdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk02LjEzMDU1IDAuMDAxNDIwNDlDNS4yNTc1NyAtMC4wMTc1Nzc4IDQuMzkwOTcgMC4xNTQxOTIgMy41OTEyNSAwLjUwNDczOEMyLjc5MTUyIDAuODU1Mjg0IDIuMDc3OTUgMS4zNzYxNiAxLjUwMDM0IDIuMDMwOTlDMC45MjI3MjYgMi42ODU4MyAwLjQ5NTAwNSAzLjQ1ODg1IDAuMjQ3MDMzIDQuMjk2MDhDLTAuMDAwOTM5NTMzIDUuMTMzMyAtMC4wNjMxODYxIDYuMDE0NTcgMC4wNjQ2Mzg4IDYuODc4MzRDMC4xOTI0NjQgNy43NDIxMiAwLjUwNzI3OSA4LjU2NzU4IDAuOTg3MTA3IDkuMjk3MTFDMS40NjY5MyAxMC4wMjY2IDIuMTAwMjEgMTAuNjQyNiAyLjg0MjcyIDExLjEwMjFDMy41ODUyMyAxMS41NjE2IDQuNDE5MDggMTEuODUzNSA1LjI4NjA2IDExLjk1NzRDNi4xNTMwMyAxMi4wNjEzIDcuMDMyMjQgMTEuOTc0NyA3Ljg2MjMgMTEuNzAzN0M4LjAwNDEyIDExLjY1NzMgOC4xMjE3MyAxMS41NTY1IDguMTg5MjQgMTEuNDIzNUM4LjI1Njc1IDExLjI5MDQgOC4yNjg2NCAxMS4xMzYgOC4yMjIzIDEwLjk5NDJDOC4xNzU5NSAxMC44NTIzIDguMDc1MTYgMTAuNzM0NyA3Ljk0MjEgMTAuNjY3MkM3LjgwOTA1IDEwLjU5OTcgNy42NTQ2MiAxMC41ODc4IDcuNTEyOCAxMC42MzQyQzYuNjEwNzcgMTAuOTI4NyA1LjY0MjQgMTAuOTUzNiA0LjcyNjQ0IDEwLjcwNThDMy44MTA0OCAxMC40NTggMi45ODY3NSA5Ljk0ODI1IDIuMzU2MjcgOS4yMzkxQzEuNzI1OCA4LjUyOTk1IDEuMzE1OTggNy42NTIyMSAxLjE3NzA5IDYuNzEzNTRDMS4wMzgyIDUuNzc0ODcgMS4xNzYyNyA0LjgxNjA3IDEuNTc0MzYgMy45NTQ3M0MxLjk3MjQ2IDMuMDkzMzggMi42MTMyNyAyLjM2Njk0IDMuNDE4MjIgMS44NjQ0OUM0LjIyMzE3IDEuMzYyMDQgNS4xNTcyNSAxLjEwNTQzIDYuMTA1OTIgMS4xMjYxM0M3LjA1NDU4IDEuMTQ2ODMgNy45NzY1OSAxLjQ0MzkzIDguNzU4ODUgMS45ODEwMUM5LjU0MTEyIDIuNTE4MDkgMTAuMTQ5NiAzLjI3MTc4IDEwLjUwOTggNC4xNDk2N0MxMC41NjY0IDQuMjg3NzIgMTAuNjc1NSA0LjM5NzYzIDEwLjgxMzEgNC40NTUyMkMxMC44ODEzIDQuNDgzNzQgMTAuOTU0NCA0LjQ5ODU2IDExLjAyODIgNC40OTg4M0MxMS4xMDIxIDQuNDk5MSAxMS4xNzUzIDQuNDg0ODIgMTEuMjQzNyA0LjQ1NjhDMTEuMzEyIDQuNDI4NzggMTEuMzc0MiA0LjM4NzU3IDExLjQyNjYgNC4zMzU1MkMxMS40NzkgNC4yODM0NyAxMS41MjA3IDQuMjIxNjEgMTEuNTQ5MiA0LjE1MzQ3QzExLjU3NzcgNC4wODUzMiAxMS41OTI2IDQuMDEyMjIgMTEuNTkyOCAzLjkzODM1QzExLjU5MzEgMy44NjQ0OCAxMS41Nzg4IDMuNzkxMjcgMTEuNTUwOCAzLjcyMjkyQzExLjEwNzYgMi42NDIzOSAxMC4zNTg2IDEuNzE0NyA5LjM5NTggMS4wNTM2NUM4LjQzMjk5IDAuMzkyNTg3IDcuMjk4MTcgMC4wMjY4OTQ2IDYuMTMwNTUgMC4wMDE0MjA0OVpNNi41NjE4IDIuODEyNDJDNi41NjE4IDIuNjYzMjQgNi41MDI1MyAyLjUyMDE2IDYuMzk3MDQgMi40MTQ2N0M2LjI5MTU1IDIuMzA5MTggNi4xNDg0OCAyLjI0OTkyIDUuOTk5MyAyLjI0OTkyQzUuODUwMTEgMi4yNDk5MiA1LjcwNzA0IDIuMzA5MTggNS42MDE1NSAyLjQxNDY3QzUuNDk2MDYgMi41MjAxNiA1LjQzNjggMi42NjMyNCA1LjQzNjggMi44MTI0MlY1Ljc2NzQyTDMuOTExMyA3LjI5MjE3QzMuODU2MDMgNy4zNDM2NyAzLjgxMTcgNy40MDU3NyAzLjc4MDk2IDcuNDc0NzdDMy43NTAyMiA3LjU0Mzc3IDMuNzMzNjggNy42MTgyNSAzLjczMjM1IDcuNjkzNzhDMy43MzEwMiA3Ljc2OTMxIDMuNzQ0OTEgNy44NDQzMyAzLjc3MzIgNy45MTQzN0MzLjgwMTQ5IDcuOTg0NDEgMy44NDM2IDguMDQ4MDQgMy44OTcwMiA4LjEwMTQ1QzMuOTUwNDMgOC4xNTQ4NiA0LjAxNDA2IDguMTk2OTcgNC4wODQxIDguMjI1MjZDNC4xNTQxNCA4LjI1MzU1IDQuMjI5MTYgOC4yNjc0NSA0LjMwNDY5IDguMjY2MTJDNC4zODAyMSA4LjI2NDc4IDQuNDU0NyA4LjI0ODI1IDQuNTIzNyA4LjIxNzUxQzQuNTkyNyA4LjE4Njc2IDQuNjU0OCA4LjE0MjQ0IDQuNzA2MyA4LjA4NzE3TDYuMzk2OCA2LjM5NzQyTDYuNTYxOCA2LjIzMjQyVjIuODEyNDJaTTExLjI0OTMgMTEuMjQ5OUMxMS4yNDkzIDExLjQ0ODggMTEuMTcwMyAxMS42Mzk2IDExLjAyOTYgMTEuNzgwM0MxMC44ODkgMTEuOTIwOSAxMC42OTgyIDExLjk5OTkgMTAuNDk5MyAxMS45OTk5QzEwLjMwMDQgMTEuOTk5OSAxMC4xMDk2IDExLjkyMDkgOS45Njg5NyAxMS43ODAzQzkuODI4MzEgMTEuNjM5NiA5Ljc0OTMgMTEuNDQ4OCA5Ljc0OTMgMTEuMjQ5OUM5Ljc0OTMgMTEuMDUxIDkuODI4MzEgMTAuODYwMiA5Ljk2ODk3IDEwLjcxOTZDMTAuMTA5NiAxMC41Nzg5IDEwLjMwMDQgMTAuNDk5OSAxMC40OTkzIDEwLjQ5OTlDMTAuNjk4MiAxMC40OTk5IDEwLjg4OSAxMC41Nzg5IDExLjAyOTYgMTAuNzE5NkMxMS4xNzAzIDEwLjg2MDIgMTEuMjQ5MyAxMS4wNTEgMTEuMjQ5MyAxMS4yNDk5Wk0xMS4wNjE4IDYuNTYyNDJDMTEuMDYxOCA2LjQxMzI0IDExLjAwMjUgNi4yNzAxNiAxMC44OTcgNi4xNjQ2N0MxMC43OTE2IDYuMDU5MTkgMTAuNjQ4NSA1Ljk5OTkyIDEwLjQ5OTMgNS45OTk5MkMxMC4zNTAxIDUuOTk5OTIgMTAuMjA3IDYuMDU5MTkgMTAuMTAxNSA2LjE2NDY3QzkuOTk2MDYgNi4yNzAxNiA5LjkzNjggNi40MTMyNCA5LjkzNjggNi41NjI0MlY5LjE4NzQyQzkuOTM2OCA5LjMzNjYxIDkuOTk2MDYgOS40Nzk2OCAxMC4xMDE1IDkuNTg1MTdDMTAuMjA3IDkuNjkwNjYgMTAuMzUwMSA5Ljc0OTkyIDEwLjQ5OTMgOS43NDk5MkMxMC42NDg1IDkuNzQ5OTIgMTAuNzkxNiA5LjY5MDY2IDEwLjg5NyA5LjU4NTE3QzExLjAwMjUgOS40Nzk2OCAxMS4wNjE4IDkuMzM2NjEgMTEuMDYxOCA5LjE4NzQyVjYuNTYyNDJaXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk02LjEzMDU1IDAuMDAxNDIwNDlDNS4yNTc1NyAtMC4wMTc1Nzc4IDQuMzkwOTcgMC4xNTQxOTIgMy41OTEyNSAwLjUwNDczOEMyLjc5MTUyIDAuODU1Mjg0IDIuMDc3OTUgMS4zNzYxNiAxLjUwMDM0IDIuMDMwOTlDMC45MjI3MjYgMi42ODU4MyAwLjQ5NTAwNSAzLjQ1ODg1IDAuMjQ3MDMzIDQuMjk2MDhDLTAuMDAwOTM5NTMzIDUuMTMzMyAtMC4wNjMxODYxIDYuMDE0NTcgMC4wNjQ2Mzg4IDYuODc4MzRDMC4xOTI0NjQgNy43NDIxMiAwLjUwNzI3OSA4LjU2NzU4IDAuOTg3MTA3IDkuMjk3MTFDMS40NjY5MyAxMC4wMjY2IDIuMTAwMjEgMTAuNjQyNiAyLjg0MjcyIDExLjEwMjFDMy41ODUyMyAxMS41NjE2IDQuNDE5MDggMTEuODUzNSA1LjI4NjA2IDExLjk1NzRDNi4xNTMwMyAxMi4wNjEzIDcuMDMyMjQgMTEuOTc0NyA3Ljg2MjMgMTEuNzAzN0M4LjAwNDEyIDExLjY1NzMgOC4xMjE3MyAxMS41NTY1IDguMTg5MjQgMTEuNDIzNUM4LjI1Njc1IDExLjI5MDQgOC4yNjg2NCAxMS4xMzYgOC4yMjIzIDEwLjk5NDJDOC4xNzU5NSAxMC44NTIzIDguMDc1MTYgMTAuNzM0NyA3Ljk0MjEgMTAuNjY3MkM3LjgwOTA1IDEwLjU5OTcgNy42NTQ2MiAxMC41ODc4IDcuNTEyOCAxMC42MzQyQzYuNjEwNzcgMTAuOTI4NyA1LjY0MjQgMTAuOTUzNiA0LjcyNjQ0IDEwLjcwNThDMy44MTA0OCAxMC40NTggMi45ODY3NSA5Ljk0ODI1IDIuMzU2MjcgOS4yMzkxQzEuNzI1OCA4LjUyOTk1IDEuMzE1OTggNy42NTIyMSAxLjE3NzA5IDYuNzEzNTRDMS4wMzgyIDUuNzc0ODcgMS4xNzYyNyA0LjgxNjA3IDEuNTc0MzYgMy45NTQ3M0MxLjk3MjQ2IDMuMDkzMzggMi42MTMyNyAyLjM2Njk0IDMuNDE4MjIgMS44NjQ0OUM0LjIyMzE3IDEuMzYyMDQgNS4xNTcyNSAxLjEwNTQzIDYuMTA1OTIgMS4xMjYxM0M3LjA1NDU4IDEuMTQ2ODMgNy45NzY1OSAxLjQ0MzkzIDguNzU4ODUgMS45ODEwMUM5LjU0MTEyIDIuNTE4MDkgMTAuMTQ5NiAzLjI3MTc4IDEwLjUwOTggNC4xNDk2N0MxMC41NjY0IDQuMjg3NzIgMTAuNjc1NSA0LjM5NzYzIDEwLjgxMzEgNC40NTUyMkMxMC44ODEzIDQuNDgzNzQgMTAuOTU0NCA0LjQ5ODU2IDExLjAyODIgNC40OTg4M0MxMS4xMDIxIDQuNDk5MSAxMS4xNzUzIDQuNDg0ODIgMTEuMjQzNyA0LjQ1NjhDMTEuMzEyIDQuNDI4NzggMTEuMzc0MiA0LjM4NzU3IDExLjQyNjYgNC4zMzU1MkMxMS40NzkgNC4yODM0NyAxMS41MjA3IDQuMjIxNjEgMTEuNTQ5MiA0LjE1MzQ3QzExLjU3NzcgNC4wODUzMiAxMS41OTI2IDQuMDEyMjIgMTEuNTkyOCAzLjkzODM1QzExLjU5MzEgMy44NjQ0OCAxMS41Nzg4IDMuNzkxMjcgMTEuNTUwOCAzLjcyMjkyQzExLjEwNzYgMi42NDIzOSAxMC4zNTg2IDEuNzE0NyA5LjM5NTggMS4wNTM2NUM4LjQzMjk5IDAuMzkyNTg3IDcuMjk4MTcgMC4wMjY4OTQ2IDYuMTMwNTUgMC4wMDE0MjA0OVpNNi41NjE4IDIuODEyNDJDNi41NjE4IDIuNjYzMjQgNi41MDI1MyAyLjUyMDE2IDYuMzk3MDQgMi40MTQ2N0M2LjI5MTU1IDIuMzA5MTggNi4xNDg0OCAyLjI0OTkyIDUuOTk5MyAyLjI0OTkyQzUuODUwMTEgMi4yNDk5MiA1LjcwNzA0IDIuMzA5MTggNS42MDE1NSAyLjQxNDY3QzUuNDk2MDYgMi41MjAxNiA1LjQzNjggMi42NjMyNCA1LjQzNjggMi44MTI0MlY1Ljc2NzQyTDMuOTExMyA3LjI5MjE3QzMuODU2MDMgNy4zNDM2NyAzLjgxMTcgNy40MDU3NyAzLjc4MDk2IDcuNDc0NzdDMy43NTAyMiA3LjU0Mzc3IDMuNzMzNjggNy42MTgyNSAzLjczMjM1IDcuNjkzNzhDMy43MzEwMiA3Ljc2OTMxIDMuNzQ0OTEgNy44NDQzMyAzLjc3MzIgNy45MTQzN0MzLjgwMTQ5IDcuOTg0NDEgMy44NDM2IDguMDQ4MDQgMy44OTcwMiA4LjEwMTQ1QzMuOTUwNDMgOC4xNTQ4NiA0LjAxNDA2IDguMTk2OTcgNC4wODQxIDguMjI1MjZDNC4xNTQxNCA4LjI1MzU1IDQuMjI5MTYgOC4yNjc0NSA0LjMwNDY5IDguMjY2MTJDNC4zODAyMSA4LjI2NDc4IDQuNDU0NyA4LjI0ODI1IDQuNTIzNyA4LjIxNzUxQzQuNTkyNyA4LjE4Njc2IDQuNjU0OCA4LjE0MjQ0IDQuNzA2MyA4LjA4NzE3TDYuMzk2OCA2LjM5NzQyTDYuNTYxOCA2LjIzMjQyVjIuODEyNDJaTTExLjI0OTMgMTEuMjQ5OUMxMS4yNDkzIDExLjQ0ODggMTEuMTcwMyAxMS42Mzk2IDExLjAyOTYgMTEuNzgwM0MxMC44ODkgMTEuOTIwOSAxMC42OTgyIDExLjk5OTkgMTAuNDk5MyAxMS45OTk5QzEwLjMwMDQgMTEuOTk5OSAxMC4xMDk2IDExLjkyMDkgOS45Njg5NyAxMS43ODAzQzkuODI4MzEgMTEuNjM5NiA5Ljc0OTMgMTEuNDQ4OCA5Ljc0OTMgMTEuMjQ5OUM5Ljc0OTMgMTEuMDUxIDkuODI4MzEgMTAuODYwMiA5Ljk2ODk3IDEwLjcxOTZDMTAuMTA5NiAxMC41Nzg5IDEwLjMwMDQgMTAuNDk5OSAxMC40OTkzIDEwLjQ5OTlDMTAuNjk4MiAxMC40OTk5IDEwLjg4OSAxMC41Nzg5IDExLjAyOTYgMTAuNzE5NkMxMS4xNzAzIDEwLjg2MDIgMTEuMjQ5MyAxMS4wNTEgMTEuMjQ5MyAxMS4yNDk5Wk0xMS4wNjE4IDYuNTYyNDJDMTEuMDYxOCA2LjQxMzI0IDExLjAwMjUgNi4yNzAxNiAxMC44OTcgNi4xNjQ2N0MxMC43OTE2IDYuMDU5MTkgMTAuNjQ4NSA1Ljk5OTkyIDEwLjQ5OTMgNS45OTk5MkMxMC4zNTAxIDUuOTk5OTIgMTAuMjA3IDYuMDU5MTkgMTAuMTAxNSA2LjE2NDY3QzkuOTk2MDYgNi4yNzAxNiA5LjkzNjggNi40MTMyNCA5LjkzNjggNi41NjI0MlY5LjE4NzQyQzkuOTM2OCA5LjMzNjYxIDkuOTk2MDYgOS40Nzk2OCAxMC4xMDE1IDkuNTg1MTdDMTAuMjA3IDkuNjkwNjYgMTAuMzUwMSA5Ljc0OTkyIDEwLjQ5OTMgOS43NDk5MkMxMC42NDg1IDkuNzQ5OTIgMTAuNzkxNiA5LjY5MDY2IDEwLjg5NyA5LjU4NTE3QzExLjAwMjUgOS40Nzk2OCAxMS4wNjE4IDkuMzM2NjEgMTEuMDYxOCA5LjE4NzQyVjYuNTYyNDJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJibGFja1wiIHN0cm9rZT1cImJsYWNrXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIG1hc2s9XCJ1cmwoI3BhdGgtMS1pbnNpZGUtMV81MTE5XzMxNzgpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF81MTE5XzMxNzhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhdGUtc3ViIG1zLTNcIj57eyBpbnByb2dyZXNzLnB1Ymxpc2hEYXRlIHwgZGF0ZTogXCJZWVlZLU1NLWRkXCIgfX08L3NwYW4+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F0ZS1zdWIgYmFkZ2UgYmFkZ2UtbGlnaHQtc3VjY2VzcyBteC0xIG10LTFcIj57eyBpbnByb2dyZXNzLmFwcHJvdmVDb3VudCAhPT1udWxsID9cclxuICAgICAgICAgICAgICAgICAgICAgIGlucHJvZ3Jlc3MuYXBwcm92ZUNvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCB9KSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAnLS0nIH19IC8ge3sgaW5wcm9ncmVzcy5zdWJtaXRDb3VudCAhPT1udWxsID8gaW5wcm9ncmVzcy5zdWJtaXRDb3VudC50b0xvY2FsZVN0cmluZygnZW4tVVMnLCB7XHJcbiAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fTwvc3Bhbj5cclxuXHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwcm92YWxJbnByb2dyZXNzTG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHByb3ZhbElucHJvZ3Jlc3NOb0RhdGEgJiYgIWFwcHJvdmFsSW5wcm9ncmVzc0xvYWRpbmdcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG15LTZcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyY1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YTEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YW1haW50ZXh0IG10LTNcIj5ObyBkYXRhIGZvdW5kPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm5vZGF0YXN1YnRleHRcIj5UaGVyZSBpcyBubyByZXN1bHQgZm9yIElucHJvZ3Jlc3MgQ2hlY2tsaWxzdFxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuXHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgIDwhLS0gaW5wcm9ncmVzcyBjYXJkIGVuZCAtLT5cclxuICAgICAgICAgIDwhLS0gQXBwcm92ZWQgY2FyZCBzdGFydCAtLT5cclxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtNFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYXBwcm92YWxjYXJkXCI+XHJcbiAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImFwcHJvdmFsaGVhZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8aDMgY2xhc3M9XCJjYXJkLXRpdGxlIGFsaWduLWl0ZW1zLXN0YXJ0IGQtZmxleCBmbGV4LWNvbHVtbiBtdC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiY2F0ZS10ZXh0XCI+QXBwcm92ZWQgPHNwYW4gKm5nSWY9XCJEb25lQXBwcm92YWxMaXN0RGF0YS5sZW5ndGhcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXRlLXN1YiBiYWRnZSBiYWRnZS1saWdodC1kZWZhdWx0IG14LTJcIj4ge3tEb25lQXBwcm92YWxMaXN0RGF0YS5sZW5ndGh9fVxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICA8L2gzPlxyXG4gICAgICAgICAgICAgICAgPCEtLSA8ZGl2IGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciAgcG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTdcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTcgMTZcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk04LjY2NjY3IDMuMzMzMjVWMTIuNjY2Nk04LjY2NjY3IDEyLjY2NjZMMTMuMzMzMyA3Ljk5OTkyTTguNjY2NjcgMTIuNjY2Nkw0IDcuOTk5OTJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG4gICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhYXBwcm92ZWRMb2FkaW5nICYmICFhcHByb3ZlZE5vRGF0YVwiIGNsYXNzPVwicC01IGNhcmRzY3JvbGxcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGRvbmUgb2YgRG9uZUFwcHJvdmFsTGlzdERhdGFcIiAoY2xpY2spPVwiZG9uZW5hdmlnYXRlVG9HYWxsZXJ5KGRvbmUpXCIgY2xhc3M9XCJhcHByb3ZhbGJvZHkgbWItNCBjdXJzb3ItcG9pbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHctMTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImhlYWRpbmd0ZXh0IGQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAge3sgZG9uZS5jaGVja0xpc3ROYW1lIHx8ICctLScgfX1cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZG9uZS50YXNrVHlwZSA9PT0gJ3JlZG8nXCIgY2xhc3M9XCJjYXRlLXN1YiBiYWRnZSBiYWRnZS1saWdodC1ibHVlIG14LTEgbXQtMVwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF81MTE5XzU1NzYpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTExLjUgMi4wMDAwNFY1LjAwMDA0TTExLjUgNS4wMDAwNEg4LjVNMTEuNSA1LjAwMDA0TDkuMTggMi44MjAwNEM4LjY0MjYzIDIuMjgyMzkgNy45Nzc4MSAxLjg4OTY0IDcuMjQ3NiAxLjY3ODQyQzYuNTE3MzggMS40NjcyMSA1Ljc0NTU1IDEuNDQ0NDEgNS4wMDQxNCAxLjYxMjE3QzQuMjYyNzMgMS43Nzk5MiAzLjU3NTkgMi4xMzI3NSAzLjAwNzczIDIuNjM3NzVDMi40Mzk1NyAzLjE0Mjc0IDIuMDA4NTggMy43ODM0MyAxLjc1NSA0LjUwMDA0TTAuNSAxMFY3LjAwMDA0TTAuNSA3LjAwMDA0SDMuNU0wLjUgNy4wMDAwNEwyLjgyIDkuMTgwMDRDMy4zNTczNyA5LjcxNzY4IDQuMDIyMTkgMTAuMTEwNCA0Ljc1MjQgMTAuMzIxN0M1LjQ4MjYyIDEwLjUzMjkgNi4yNTQ0NSAxMC41NTU3IDYuOTk1ODYgMTAuMzg3OUM3LjczNzI3IDEwLjIyMDIgOC40MjQxIDkuODY3MzIgOC45OTIyNyA5LjM2MjMzQzkuNTYwNDMgOC44NTczNCA5Ljk5MTQyIDguMjE2NjQgMTAuMjQ1IDcuNTAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjMkU5MEZBXCIgc3Ryb2tlLXdpZHRoPVwiMS41XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF81MTE5XzU1NzZcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvY2xpcFBhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz57eyBkb25lLmNoZWNrTGlzdFR5cGUgfHwgJy0tJyB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiZG9uZS5jaGVja0xpc3RUeXBlICYmIGRvbmUuY2hlY2tMaXN0VHlwZSAhPT0gJ3JlZG8nXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJjYXRlLXN1YiBteC0xIGJhZGdlIGJhZGdlLWxpZ2h0LXZpb2xldCBtdC0xXCI+IHt7IGRvbmUuY2hlY2tMaXN0VHlwZSB8fCAnLS0nIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwhLS0gPHNwYW4gY2xhc3M9XCJjYXRlLXN1YiBiYWRnZSBiYWRnZS1saWdodC1kZWZhdWx0XCI+U3RvcmUgQmFzZWQ8L3NwYW4+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImRvbmUucHJpb3JpdHlUeXBlXCIgY2xhc3M9XCJjYXRlLXN1YiBiYWRnZSB0ZXh0LWVuZFwiIFtuZ0NsYXNzXT1cIntcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFkZ2UtbGlnaHQtZGFuZ2VyJzogZG9uZS5wcmlvcml0eVR5cGUgPT09ICdoaWdoJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFkZ2UtbGlnaHQtYmx1ZSc6IGRvbmUucHJpb3JpdHlUeXBlID09PSAnbWVkaXVtJyxcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAnYmFkZ2UtbGlnaHQtd2FybmluZyc6IGRvbmUucHJpb3JpdHlUeXBlID09PSAnbG93J1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB9XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIHt7IGRvbmUucHJpb3JpdHlUeXBlIHwgdGl0bGVjYXNlIH19IFByaW9yaXR5XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMy4zMzQ2IDE0VjEyLjY2NjdDMTMuMzM0NiAxMS45NTk0IDEzLjA1MzcgMTEuMjgxMSAxMi41NTM2IDEwLjc4MUMxMi4wNTM1IDEwLjI4MSAxMS4zNzUyIDEwIDEwLjY2OCAxMEg1LjMzNDY0QzQuNjI3MzkgMTAgMy45NDkxMSAxMC4yODEgMy40NDkwMiAxMC43ODFDMi45NDg5MiAxMS4yODExIDIuNjY3OTcgMTEuOTU5NCAyLjY2Nzk3IDEyLjY2NjdWMTRNMTAuNjY4IDQuNjY2NjdDMTAuNjY4IDYuMTM5NDMgOS40NzQwNiA3LjMzMzMzIDguMDAxMyA3LjMzMzMzQzYuNTI4NTQgNy4zMzMzMyA1LjMzNDY0IDYuMTM5NDMgNS4zMzQ2NCA0LjY2NjY3QzUuMzM0NjQgMy4xOTM5MSA2LjUyODU0IDIgOC4wMDEzIDJDOS40NzQwNiAyIDEwLjY2OCAzLjE5MzkxIDEwLjY2OCA0LjY2NjY3WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48c3BhbiBjbGFzcz1cImNhcmRzdWJ0ZXh0IG1zLTIgbWUtNFwiPiB7eyBkb25lLmNyZWF0ZWRCeU5hbWUgfHwgJy0tJyB9fTwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMiAzSDEzLjVDMTMuODk3OCAzIDE0LjI3OTQgMy4xNTgwNCAxNC41NjA3IDMuNDM5MzRDMTQuODQyIDMuNzIwNjQgMTUgNC4xMDIxOCAxNSA0LjVWMTVDMTUgMTUuMzk3OCAxNC44NDIgMTUuNzc5NCAxNC41NjA3IDE2LjA2MDdDMTQuMjc5NCAxNi4zNDIgMTMuODk3OCAxNi41IDEzLjUgMTYuNUg0LjVDNC4xMDIxOCAxNi41IDMuNzIwNjQgMTYuMzQyIDMuNDM5MzQgMTYuMDYwN0MzLjE1ODA0IDE1Ljc3OTQgMyAxNS4zOTc4IDMgMTVWNC41QzMgNC4xMDIxOCAzLjE1ODA0IDMuNzIwNjQgMy40MzkzNCAzLjQzOTM0QzMuNzIwNjQgMy4xNTgwNCA0LjEwMjE4IDMgNC41IDNINk02Ljc1IDEuNUgxMS4yNUMxMS42NjQyIDEuNSAxMiAxLjgzNTc5IDEyIDIuMjVWMy43NUMxMiA0LjE2NDIxIDExLjY2NDIgNC41IDExLjI1IDQuNUg2Ljc1QzYuMzM1NzkgNC41IDYgNC4xNjQyMSA2IDMuNzVWMi4yNUM2IDEuODM1NzkgNi4zMzU3OSAxLjUgNi43NSAxLjVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS40XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjxzcGFuIGNsYXNzPVwiY2FyZHN1YnRleHQgbXMtMiBtZS00XCI+IHt7IGRvbmUuc3RvcmVDb3VudCAhPT1udWxsID9cclxuICAgICAgICAgICAgICAgICAgICAgICAgZG9uZS5zdG9yZUNvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICAgJy0tJyB9fSAvIHt7IGRvbmUuc3VibWl0Q291bnQgIT09bnVsbCA/IGRvbmUuc3VibWl0Q291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnLS0nIH19IFN0b3Jlczwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMiAxLjVWNC41TTYgMS41VjQuNU0yLjI1IDcuNUgxNS43NU0zLjc1IDNIMTQuMjVDMTUuMDc4NCAzIDE1Ljc1IDMuNjcxNTcgMTUuNzUgNC41VjE1QzE1Ljc1IDE1LjgyODQgMTUuMDc4NCAxNi41IDE0LjI1IDE2LjVIMy43NUMyLjkyMTU3IDE2LjUgMi4yNSAxNS44Mjg0IDIuMjUgMTVWNC41QzIuMjUgMy42NzE1NyAyLjkyMTU3IDMgMy43NSAzWlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNFwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48c3BhbiBjbGFzcz1cImNhcmRzdWJ0ZXh0IG1zLTIgbWUtNFwiPlJlcGVhdHMge3sgZG9uZS5zY2hlZHVsZVJlcGVhdGVkVHlwZSA/XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGRvbmUuc2NoZWR1bGVSZXBlYXRlZFR5cGUudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgICBtaW5pbXVtRnJhY3Rpb25EaWdpdHM6IDAgfSkgOlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAnLS0nIH19PC9zcGFuPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtcy0xIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB3LTEwMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuPjxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzUxMTlfMzE3OClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8bWFzayBpZD1cInBhdGgtMS1pbnNpZGUtMV81MTE5XzMxNzhcIiBmaWxsPVwid2hpdGVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk02LjEzMDU1IDAuMDAxNDIwNDlDNS4yNTc1NyAtMC4wMTc1Nzc4IDQuMzkwOTcgMC4xNTQxOTIgMy41OTEyNSAwLjUwNDczOEMyLjc5MTUyIDAuODU1Mjg0IDIuMDc3OTUgMS4zNzYxNiAxLjUwMDM0IDIuMDMwOTlDMC45MjI3MjYgMi42ODU4MyAwLjQ5NTAwNSAzLjQ1ODg1IDAuMjQ3MDMzIDQuMjk2MDhDLTAuMDAwOTM5NTMzIDUuMTMzMyAtMC4wNjMxODYxIDYuMDE0NTcgMC4wNjQ2Mzg4IDYuODc4MzRDMC4xOTI0NjQgNy43NDIxMiAwLjUwNzI3OSA4LjU2NzU4IDAuOTg3MTA3IDkuMjk3MTFDMS40NjY5MyAxMC4wMjY2IDIuMTAwMjEgMTAuNjQyNiAyLjg0MjcyIDExLjEwMjFDMy41ODUyMyAxMS41NjE2IDQuNDE5MDggMTEuODUzNSA1LjI4NjA2IDExLjk1NzRDNi4xNTMwMyAxMi4wNjEzIDcuMDMyMjQgMTEuOTc0NyA3Ljg2MjMgMTEuNzAzN0M4LjAwNDEyIDExLjY1NzMgOC4xMjE3MyAxMS41NTY1IDguMTg5MjQgMTEuNDIzNUM4LjI1Njc1IDExLjI5MDQgOC4yNjg2NCAxMS4xMzYgOC4yMjIzIDEwLjk5NDJDOC4xNzU5NSAxMC44NTIzIDguMDc1MTYgMTAuNzM0NyA3Ljk0MjEgMTAuNjY3MkM3LjgwOTA1IDEwLjU5OTcgNy42NTQ2MiAxMC41ODc4IDcuNTEyOCAxMC42MzQyQzYuNjEwNzcgMTAuOTI4NyA1LjY0MjQgMTAuOTUzNiA0LjcyNjQ0IDEwLjcwNThDMy44MTA0OCAxMC40NTggMi45ODY3NSA5Ljk0ODI1IDIuMzU2MjcgOS4yMzkxQzEuNzI1OCA4LjUyOTk1IDEuMzE1OTggNy42NTIyMSAxLjE3NzA5IDYuNzEzNTRDMS4wMzgyIDUuNzc0ODcgMS4xNzYyNyA0LjgxNjA3IDEuNTc0MzYgMy45NTQ3M0MxLjk3MjQ2IDMuMDkzMzggMi42MTMyNyAyLjM2Njk0IDMuNDE4MjIgMS44NjQ0OUM0LjIyMzE3IDEuMzYyMDQgNS4xNTcyNSAxLjEwNTQzIDYuMTA1OTIgMS4xMjYxM0M3LjA1NDU4IDEuMTQ2ODMgNy45NzY1OSAxLjQ0MzkzIDguNzU4ODUgMS45ODEwMUM5LjU0MTEyIDIuNTE4MDkgMTAuMTQ5NiAzLjI3MTc4IDEwLjUwOTggNC4xNDk2N0MxMC41NjY0IDQuMjg3NzIgMTAuNjc1NSA0LjM5NzYzIDEwLjgxMzEgNC40NTUyMkMxMC44ODEzIDQuNDgzNzQgMTAuOTU0NCA0LjQ5ODU2IDExLjAyODIgNC40OTg4M0MxMS4xMDIxIDQuNDk5MSAxMS4xNzUzIDQuNDg0ODIgMTEuMjQzNyA0LjQ1NjhDMTEuMzEyIDQuNDI4NzggMTEuMzc0MiA0LjM4NzU3IDExLjQyNjYgNC4zMzU1MkMxMS40NzkgNC4yODM0NyAxMS41MjA3IDQuMjIxNjEgMTEuNTQ5MiA0LjE1MzQ3QzExLjU3NzcgNC4wODUzMiAxMS41OTI2IDQuMDEyMjIgMTEuNTkyOCAzLjkzODM1QzExLjU5MzEgMy44NjQ0OCAxMS41Nzg4IDMuNzkxMjcgMTEuNTUwOCAzLjcyMjkyQzExLjEwNzYgMi42NDIzOSAxMC4zNTg2IDEuNzE0NyA5LjM5NTggMS4wNTM2NUM4LjQzMjk5IDAuMzkyNTg3IDcuMjk4MTcgMC4wMjY4OTQ2IDYuMTMwNTUgMC4wMDE0MjA0OVpNNi41NjE4IDIuODEyNDJDNi41NjE4IDIuNjYzMjQgNi41MDI1MyAyLjUyMDE2IDYuMzk3MDQgMi40MTQ2N0M2LjI5MTU1IDIuMzA5MTggNi4xNDg0OCAyLjI0OTkyIDUuOTk5MyAyLjI0OTkyQzUuODUwMTEgMi4yNDk5MiA1LjcwNzA0IDIuMzA5MTggNS42MDE1NSAyLjQxNDY3QzUuNDk2MDYgMi41MjAxNiA1LjQzNjggMi42NjMyNCA1LjQzNjggMi44MTI0MlY1Ljc2NzQyTDMuOTExMyA3LjI5MjE3QzMuODU2MDMgNy4zNDM2NyAzLjgxMTcgNy40MDU3NyAzLjc4MDk2IDcuNDc0NzdDMy43NTAyMiA3LjU0Mzc3IDMuNzMzNjggNy42MTgyNSAzLjczMjM1IDcuNjkzNzhDMy43MzEwMiA3Ljc2OTMxIDMuNzQ0OTEgNy44NDQzMyAzLjc3MzIgNy45MTQzN0MzLjgwMTQ5IDcuOTg0NDEgMy44NDM2IDguMDQ4MDQgMy44OTcwMiA4LjEwMTQ1QzMuOTUwNDMgOC4xNTQ4NiA0LjAxNDA2IDguMTk2OTcgNC4wODQxIDguMjI1MjZDNC4xNTQxNCA4LjI1MzU1IDQuMjI5MTYgOC4yNjc0NSA0LjMwNDY5IDguMjY2MTJDNC4zODAyMSA4LjI2NDc4IDQuNDU0NyA4LjI0ODI1IDQuNTIzNyA4LjIxNzUxQzQuNTkyNyA4LjE4Njc2IDQuNjU0OCA4LjE0MjQ0IDQuNzA2MyA4LjA4NzE3TDYuMzk2OCA2LjM5NzQyTDYuNTYxOCA2LjIzMjQyVjIuODEyNDJaTTExLjI0OTMgMTEuMjQ5OUMxMS4yNDkzIDExLjQ0ODggMTEuMTcwMyAxMS42Mzk2IDExLjAyOTYgMTEuNzgwM0MxMC44ODkgMTEuOTIwOSAxMC42OTgyIDExLjk5OTkgMTAuNDk5MyAxMS45OTk5QzEwLjMwMDQgMTEuOTk5OSAxMC4xMDk2IDExLjkyMDkgOS45Njg5NyAxMS43ODAzQzkuODI4MzEgMTEuNjM5NiA5Ljc0OTMgMTEuNDQ4OCA5Ljc0OTMgMTEuMjQ5OUM5Ljc0OTMgMTEuMDUxIDkuODI4MzEgMTAuODYwMiA5Ljk2ODk3IDEwLjcxOTZDMTAuMTA5NiAxMC41Nzg5IDEwLjMwMDQgMTAuNDk5OSAxMC40OTkzIDEwLjQ5OTlDMTAuNjk4MiAxMC40OTk5IDEwLjg4OSAxMC41Nzg5IDExLjAyOTYgMTAuNzE5NkMxMS4xNzAzIDEwLjg2MDIgMTEuMjQ5MyAxMS4wNTEgMTEuMjQ5MyAxMS4yNDk5Wk0xMS4wNjE4IDYuNTYyNDJDMTEuMDYxOCA2LjQxMzI0IDExLjAwMjUgNi4yNzAxNiAxMC44OTcgNi4xNjQ2N0MxMC43OTE2IDYuMDU5MTkgMTAuNjQ4NSA1Ljk5OTkyIDEwLjQ5OTMgNS45OTk5MkMxMC4zNTAxIDUuOTk5OTIgMTAuMjA3IDYuMDU5MTkgMTAuMTAxNSA2LjE2NDY3QzkuOTk2MDYgNi4yNzAxNiA5LjkzNjggNi40MTMyNCA5LjkzNjggNi41NjI0MlY5LjE4NzQyQzkuOTM2OCA5LjMzNjYxIDkuOTk2MDYgOS40Nzk2OCAxMC4xMDE1IDkuNTg1MTdDMTAuMjA3IDkuNjkwNjYgMTAuMzUwMSA5Ljc0OTkyIDEwLjQ5OTMgOS43NDk5MkMxMC42NDg1IDkuNzQ5OTIgMTAuNzkxNiA5LjY5MDY2IDEwLjg5NyA5LjU4NTE3QzExLjAwMjUgOS40Nzk2OCAxMS4wNjE4IDkuMzM2NjEgMTEuMDYxOCA5LjE4NzQyVjYuNTYyNDJaXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L21hc2s+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk02LjEzMDU1IDAuMDAxNDIwNDlDNS4yNTc1NyAtMC4wMTc1Nzc4IDQuMzkwOTcgMC4xNTQxOTIgMy41OTEyNSAwLjUwNDczOEMyLjc5MTUyIDAuODU1Mjg0IDIuMDc3OTUgMS4zNzYxNiAxLjUwMDM0IDIuMDMwOTlDMC45MjI3MjYgMi42ODU4MyAwLjQ5NTAwNSAzLjQ1ODg1IDAuMjQ3MDMzIDQuMjk2MDhDLTAuMDAwOTM5NTMzIDUuMTMzMyAtMC4wNjMxODYxIDYuMDE0NTcgMC4wNjQ2Mzg4IDYuODc4MzRDMC4xOTI0NjQgNy43NDIxMiAwLjUwNzI3OSA4LjU2NzU4IDAuOTg3MTA3IDkuMjk3MTFDMS40NjY5MyAxMC4wMjY2IDIuMTAwMjEgMTAuNjQyNiAyLjg0MjcyIDExLjEwMjFDMy41ODUyMyAxMS41NjE2IDQuNDE5MDggMTEuODUzNSA1LjI4NjA2IDExLjk1NzRDNi4xNTMwMyAxMi4wNjEzIDcuMDMyMjQgMTEuOTc0NyA3Ljg2MjMgMTEuNzAzN0M4LjAwNDEyIDExLjY1NzMgOC4xMjE3MyAxMS41NTY1IDguMTg5MjQgMTEuNDIzNUM4LjI1Njc1IDExLjI5MDQgOC4yNjg2NCAxMS4xMzYgOC4yMjIzIDEwLjk5NDJDOC4xNzU5NSAxMC44NTIzIDguMDc1MTYgMTAuNzM0NyA3Ljk0MjEgMTAuNjY3MkM3LjgwOTA1IDEwLjU5OTcgNy42NTQ2MiAxMC41ODc4IDcuNTEyOCAxMC42MzQyQzYuNjEwNzcgMTAuOTI4NyA1LjY0MjQgMTAuOTUzNiA0LjcyNjQ0IDEwLjcwNThDMy44MTA0OCAxMC40NTggMi45ODY3NSA5Ljk0ODI1IDIuMzU2MjcgOS4yMzkxQzEuNzI1OCA4LjUyOTk1IDEuMzE1OTggNy42NTIyMSAxLjE3NzA5IDYuNzEzNTRDMS4wMzgyIDUuNzc0ODcgMS4xNzYyNyA0LjgxNjA3IDEuNTc0MzYgMy45NTQ3M0MxLjk3MjQ2IDMuMDkzMzggMi42MTMyNyAyLjM2Njk0IDMuNDE4MjIgMS44NjQ0OUM0LjIyMzE3IDEuMzYyMDQgNS4xNTcyNSAxLjEwNTQzIDYuMTA1OTIgMS4xMjYxM0M3LjA1NDU4IDEuMTQ2ODMgNy45NzY1OSAxLjQ0MzkzIDguNzU4ODUgMS45ODEwMUM5LjU0MTEyIDIuNTE4MDkgMTAuMTQ5NiAzLjI3MTc4IDEwLjUwOTggNC4xNDk2N0MxMC41NjY0IDQuMjg3NzIgMTAuNjc1NSA0LjM5NzYzIDEwLjgxMzEgNC40NTUyMkMxMC44ODEzIDQuNDgzNzQgMTAuOTU0NCA0LjQ5ODU2IDExLjAyODIgNC40OTg4M0MxMS4xMDIxIDQuNDk5MSAxMS4xNzUzIDQuNDg0ODIgMTEuMjQzNyA0LjQ1NjhDMTEuMzEyIDQuNDI4NzggMTEuMzc0MiA0LjM4NzU3IDExLjQyNjYgNC4zMzU1MkMxMS40NzkgNC4yODM0NyAxMS41MjA3IDQuMjIxNjEgMTEuNTQ5MiA0LjE1MzQ3QzExLjU3NzcgNC4wODUzMiAxMS41OTI2IDQuMDEyMjIgMTEuNTkyOCAzLjkzODM1QzExLjU5MzEgMy44NjQ0OCAxMS41Nzg4IDMuNzkxMjcgMTEuNTUwOCAzLjcyMjkyQzExLjEwNzYgMi42NDIzOSAxMC4zNTg2IDEuNzE0NyA5LjM5NTggMS4wNTM2NUM4LjQzMjk5IDAuMzkyNTg3IDcuMjk4MTcgMC4wMjY4OTQ2IDYuMTMwNTUgMC4wMDE0MjA0OVpNNi41NjE4IDIuODEyNDJDNi41NjE4IDIuNjYzMjQgNi41MDI1MyAyLjUyMDE2IDYuMzk3MDQgMi40MTQ2N0M2LjI5MTU1IDIuMzA5MTggNi4xNDg0OCAyLjI0OTkyIDUuOTk5MyAyLjI0OTkyQzUuODUwMTEgMi4yNDk5MiA1LjcwNzA0IDIuMzA5MTggNS42MDE1NSAyLjQxNDY3QzUuNDk2MDYgMi41MjAxNiA1LjQzNjggMi42NjMyNCA1LjQzNjggMi44MTI0MlY1Ljc2NzQyTDMuOTExMyA3LjI5MjE3QzMuODU2MDMgNy4zNDM2NyAzLjgxMTcgNy40MDU3NyAzLjc4MDk2IDcuNDc0NzdDMy43NTAyMiA3LjU0Mzc3IDMuNzMzNjggNy42MTgyNSAzLjczMjM1IDcuNjkzNzhDMy43MzEwMiA3Ljc2OTMxIDMuNzQ0OTEgNy44NDQzMyAzLjc3MzIgNy45MTQzN0MzLjgwMTQ5IDcuOTg0NDEgMy44NDM2IDguMDQ4MDQgMy44OTcwMiA4LjEwMTQ1QzMuOTUwNDMgOC4xNTQ4NiA0LjAxNDA2IDguMTk2OTcgNC4wODQxIDguMjI1MjZDNC4xNTQxNCA4LjI1MzU1IDQuMjI5MTYgOC4yNjc0NSA0LjMwNDY5IDguMjY2MTJDNC4zODAyMSA4LjI2NDc4IDQuNDU0NyA4LjI0ODI1IDQuNTIzNyA4LjIxNzUxQzQuNTkyNyA4LjE4Njc2IDQuNjU0OCA4LjE0MjQ0IDQuNzA2MyA4LjA4NzE3TDYuMzk2OCA2LjM5NzQyTDYuNTYxOCA2LjIzMjQyVjIuODEyNDJaTTExLjI0OTMgMTEuMjQ5OUMxMS4yNDkzIDExLjQ0ODggMTEuMTcwMyAxMS42Mzk2IDExLjAyOTYgMTEuNzgwM0MxMC44ODkgMTEuOTIwOSAxMC42OTgyIDExLjk5OTkgMTAuNDk5MyAxMS45OTk5QzEwLjMwMDQgMTEuOTk5OSAxMC4xMDk2IDExLjkyMDkgOS45Njg5NyAxMS43ODAzQzkuODI4MzEgMTEuNjM5NiA5Ljc0OTMgMTEuNDQ4OCA5Ljc0OTMgMTEuMjQ5OUM5Ljc0OTMgMTEuMDUxIDkuODI4MzEgMTAuODYwMiA5Ljk2ODk3IDEwLjcxOTZDMTAuMTA5NiAxMC41Nzg5IDEwLjMwMDQgMTAuNDk5OSAxMC40OTkzIDEwLjQ5OTlDMTAuNjk4MiAxMC40OTk5IDEwLjg4OSAxMC41Nzg5IDExLjAyOTYgMTAuNzE5NkMxMS4xNzAzIDEwLjg2MDIgMTEuMjQ5MyAxMS4wNTEgMTEuMjQ5MyAxMS4yNDk5Wk0xMS4wNjE4IDYuNTYyNDJDMTEuMDYxOCA2LjQxMzI0IDExLjAwMjUgNi4yNzAxNiAxMC44OTcgNi4xNjQ2N0MxMC43OTE2IDYuMDU5MTkgMTAuNjQ4NSA1Ljk5OTkyIDEwLjQ5OTMgNS45OTk5MkMxMC4zNTAxIDUuOTk5OTIgMTAuMjA3IDYuMDU5MTkgMTAuMTAxNSA2LjE2NDY3QzkuOTk2MDYgNi4yNzAxNiA5LjkzNjggNi40MTMyNCA5LjkzNjggNi41NjI0MlY5LjE4NzQyQzkuOTM2OCA5LjMzNjYxIDkuOTk2MDYgOS40Nzk2OCAxMC4xMDE1IDkuNTg1MTdDMTAuMjA3IDkuNjkwNjYgMTAuMzUwMSA5Ljc0OTkyIDEwLjQ5OTMgOS43NDk5MkMxMC42NDg1IDkuNzQ5OTIgMTAuNzkxNiA5LjY5MDY2IDEwLjg5NyA5LjU4NTE3QzExLjAwMjUgOS40Nzk2OCAxMS4wNjE4IDkuMzM2NjEgMTEuMDYxOCA5LjE4NzQyVjYuNTYyNDJaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJibGFja1wiIHN0cm9rZT1cImJsYWNrXCIgc3Ryb2tlLXdpZHRoPVwiMlwiIG1hc2s9XCJ1cmwoI3BhdGgtMS1pbnNpZGUtMV81MTE5XzMxNzgpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF81MTE5XzMxNzhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImNhdGUtc3ViIG1zLTNcIj57eyBkb25lLnB1Ymxpc2hEYXRlIHwgZGF0ZTogXCJZWVlZLU1NLWRkXCJ9fTwvc3Bhbj48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJjYXRlLXN1YiBiYWRnZSBiYWRnZS1saWdodC1zdWNjZXNzIG14LTEgbXQtMVwiPnt7IGRvbmUuYXBwcm92ZUNvdW50ICE9PW51bGwgP1xyXG4gICAgICAgICAgICAgICAgICAgICAgZG9uZS5hcHByb3ZlQ291bnQudG9Mb2NhbGVTdHJpbmcoJ2VuLVVTJywge1xyXG4gICAgICAgICAgICAgICAgICAgICAgbWluaW11bUZyYWN0aW9uRGlnaXRzOiAwIH0pIDpcclxuICAgICAgICAgICAgICAgICAgICAgICctLScgfX0gLyB7eyBkb25lLnN1Ym1pdENvdW50ICE9PW51bGwgPyBkb25lLnN1Ym1pdENvdW50LnRvTG9jYWxlU3RyaW5nKCdlbi1VUycsIHtcclxuICAgICAgICAgICAgICAgICAgICAgIG1pbmltdW1GcmFjdGlvbkRpZ2l0czogMCB9KSA6XHJcbiAgICAgICAgICAgICAgICAgICAgICAnLS0nIH19PC9zcGFuPlxyXG5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJhcHByb3ZlZExvYWRpbmdcIj5cclxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGxvYWRlciAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiYXBwcm92ZWROb0RhdGEgJiYgIWFwcHJvdmVkTG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbXktNlwiPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctc3JjXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhMS5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhbWFpbnRleHQgbXQtM1wiPk5vIGRhdGEgZm91bmQ8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibm9kYXRhc3VidGV4dFwiPlRoZXJlIGlzIG5vIHJlc3VsdCBmb3IgQXBwcm92ZWQgQ2hlY2tsaXN0XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG5cclxuICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgPCEtLSBBcHByb3ZlZCBjYXJkIGVuZCAtLT5cclxuICAgICAgICA8L2Rpdj5cclxuICAgICAgPC9kaXY+XHJcblxyXG4gICAgPC9kaXY+XHJcbiAgPC9kaXY+XHJcblxyXG4gIDxkaXYgY2xhc3M9XCJyb3cgbXktM1wiPlxyXG4gICAgPG5nLWNvbnRhaW5lcj5cclxuICAgICAgPGRpdiBuZ2JBY2NvcmRpb24+XHJcbiAgICAgICAgPGRpdiBuZ2JBY2NvcmRpb25JdGVtIFtjb2xsYXBzZWRdPVwiZmFsc2VcIj5cclxuICAgICAgICAgIDxoMiBuZ2JBY2NvcmRpb25IZWFkZXI+XHJcbiAgICAgICAgICAgIDxidXR0b24gY2xhc3M9XCJoZWFkdGV4dFwiIG5nYkFjY29yZGlvbkJ1dHRvbj5BY3Rpdml0eSBMb2c8ZGl2IGNsYXNzPVwiZGl2aWRlclwiPjwvZGl2PjwvYnV0dG9uPlxyXG4gICAgICAgICAgPC9oMj5cclxuICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQ29sbGFwc2U+XHJcbiAgICAgICAgICAgIDxkaXYgbmdiQWNjb3JkaW9uQm9keT5cclxuICAgICAgICAgICAgICA8bmctdGVtcGxhdGU+XHJcbiAgICAgICAgICAgICAgICA8bGliLWFjdGl2aXR5LWxvZz48L2xpYi1hY3Rpdml0eS1sb2c+XHJcbiAgICAgICAgICAgICAgPC9uZy10ZW1wbGF0ZT5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgIDwvZGl2PlxyXG4gICAgPC9uZy1jb250YWluZXI+XHJcbiAgPC9kaXY+XHJcbjwvZGl2PiJdfQ==