tango-app-ui-ticket-user 3.0.49-dev → 3.0.51-dev
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2022/lib/components/infratickets/infratickets.component.mjs +12 -9
- package/esm2022/lib/components/tango-ticket-users/tango-ticket-users.component.mjs +4 -3
- package/esm2022/lib/services/ticket-infra.service.mjs +2 -1
- package/fesm2022/tango-app-ui-ticket-user.mjs +15 -10
- package/fesm2022/tango-app-ui-ticket-user.mjs.map +1 -1
- package/lib/components/infratickets/infratickets.component.d.ts +1 -0
- package/lib/services/ticket-infra.service.d.ts +1 -0
- package/package.json +1 -1
|
@@ -78,6 +78,7 @@ export class InfraticketsComponent {
|
|
|
78
78
|
user;
|
|
79
79
|
type = "infra";
|
|
80
80
|
uniqueArray;
|
|
81
|
+
totalItems = 0;
|
|
81
82
|
constructor(route, router, cd, dataService, toastService, service, dataservice, gs, excel) {
|
|
82
83
|
this.route = route;
|
|
83
84
|
this.router = router;
|
|
@@ -99,8 +100,10 @@ export class InfraticketsComponent {
|
|
|
99
100
|
}
|
|
100
101
|
}
|
|
101
102
|
ngOnInit() {
|
|
102
|
-
this.
|
|
103
|
+
this.service?.dataSubject?.subscribe(value => {
|
|
103
104
|
this.userData = 'Workspace';
|
|
105
|
+
});
|
|
106
|
+
this.gs.dataRangeValue.pipe(takeUntil(this.destroy$)).subscribe((data) => {
|
|
104
107
|
if (data != null) {
|
|
105
108
|
this.user = JSON.parse(localStorage.getItem('user-info') || "");
|
|
106
109
|
this.headerFilter = data;
|
|
@@ -125,7 +128,6 @@ export class InfraticketsComponent {
|
|
|
125
128
|
});
|
|
126
129
|
}
|
|
127
130
|
});
|
|
128
|
-
console.log(this.userData);
|
|
129
131
|
}
|
|
130
132
|
getdataObject() {
|
|
131
133
|
if (this.type === "infra" || this.type === "installation") {
|
|
@@ -298,9 +300,9 @@ export class InfraticketsComponent {
|
|
|
298
300
|
if (value.matStatus == 'Draft') {
|
|
299
301
|
this.router.navigateByUrl(`/tickets/employeetraining/${value.ticketId}/${value.storeId}?functionType=storeMatupdate`);
|
|
300
302
|
}
|
|
301
|
-
else if
|
|
302
|
-
|
|
303
|
-
}
|
|
303
|
+
// else if(value.matStatus =='closed'){
|
|
304
|
+
// this.router.navigateByUrl (`/tickets/employeetraining/${value.ticketId}/${value.storeId}?functionType=output`);
|
|
305
|
+
// }
|
|
304
306
|
else {
|
|
305
307
|
this.router.navigateByUrl(`/tickets/employeetraining/${value.ticketId}/${value.storeId}`);
|
|
306
308
|
}
|
|
@@ -379,7 +381,8 @@ export class InfraticketsComponent {
|
|
|
379
381
|
.subscribe({
|
|
380
382
|
next: (res) => {
|
|
381
383
|
if (res && res?.code == 200) {
|
|
382
|
-
this.workHistoryTable = res
|
|
384
|
+
this.workHistoryTable = res?.data?.result;
|
|
385
|
+
this.totalItems = res?.data?.count;
|
|
383
386
|
this.historyLoading = false;
|
|
384
387
|
this.historyNodata = false;
|
|
385
388
|
}
|
|
@@ -564,13 +567,13 @@ export class InfraticketsComponent {
|
|
|
564
567
|
this.userTicketList('closed');
|
|
565
568
|
}
|
|
566
569
|
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: InfraticketsComponent, deps: [{ token: i1.ActivatedRoute }, { token: i1.Router }, { token: i0.ChangeDetectorRef }, { token: i2.DataService }, { token: i3.ToastService }, { token: i4.TicketsService }, { token: i2.DataService }, { token: i5.GlobalStateService }, { token: i6.ExcelService }], target: i0.ɵɵFactoryTarget.Component });
|
|
567
|
-
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: InfraticketsComponent, selector: "lib-infratickets", host: { listeners: { "document:click": "onClick($event)" } }, ngImport: i0, template: "\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 *ngIf=\"type !== 'mat' && type !== 'dataMismatch'\" class=\"card-label mb-2\">{{type | titlecase}} Tickets</span>\r\n <span *ngIf=\"type === 'dataMismatch'\" class=\"card-label mb-2\">Data Mismatch Tickets</span>\r\n <span *ngIf=\"type === 'mat'\" class=\"card-label mb-2\">Employee Mat</span>\r\n <!-- <span class=\"text-sub mb-2\">Last updated 1 hour ago</span> -->\r\n </h3>\r\n <div *ngIf=\"userData ==='Workspace'\" 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-3\">\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\"></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 <input type=\"text\" class=\"form-control ps-14 me-2\" \r\n placeholder=\"Search\" autocomplete=\"off\" [(ngModel)]=\"searchWorkspace\" (change)=\"searchTickets()\"/>\r\n <lib-filters *ngIf=\"type !== 'mat'\" [dataObject]=\"dataObject1\" (appliedFilters)=\"applyFilters($event)\"></lib-filters>\r\n \r\n <!-- <div *ngIf=\"type !== 'mat'\" class=\"position-relative\">\r\n <button type=\"button\" (click)=\"openDropdown($event)\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\"><svg\r\n width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M5 10H15M2.5 5H17.5M7.5 15H12.5\" stroke=\"#344054\" stroke-width=\"2\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <span class=\"ms-2\">Filter</span> </button>\r\n <div *ngIf=\"dropDown\" class=\"card py-1 w-200px position-absolute top-50px end-0\">\r\n <ul *ngFor=\"let item of dropdownItems\" class=\"list-unstyled\">\r\n <li [ngClass]=\"this.selectedIssue === item ? 'active' : ''\" class=\"camera px-5 items fw-semibold cursor-pointer py-2\" (click)=\"selectItem(item)\">{{item}}</li>\r\n </ul>\r\n </div>\r\n </div> -->\r\n\r\n <button *ngIf=\"(gs.userAccess | async)?.manage_tickets_isDownload && (!noData.open || !noData.inprogress || !noData.closed)\" (click)=\"exportData()\" class=\"btn btn-outline p-3 text-nowrap border border-gray ms-2 me-2\" type=\"button\"><span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\" stroke=\"#344054\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span> Export</button>\r\n <button *ngIf=\"(gs.userAccess | async)?.manage_tickets_isEdit\" type=\"button\" (click)=\"takeTicket()\"\r\n class=\"btn btn-primary mx-2 rounded-3 text-nowrap\"><span class=\"ms-2 text-white\">Take Ticket</span> </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"userData ==='History'\" 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-3\">\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\"></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 <input type=\"text\" class=\"form-control ps-14 me-2\" \r\n placeholder=\"Search\" autocomplete=\"off\" [(ngModel)]=\"searchHistory\" (change)=\"searchHistoryTable()\" />\r\n \r\n <lib-filters *ngIf=\"type !== 'mat' && type!=='audit' && filterStores?.length > 0\" [dataObject]=\"dataObject\" (appliedFilters)=\"receiveData($event)\" ></lib-filters>\r\n\r\n <button *ngIf=\"(gs.userAccess | async)?.manage_tickets_isDownload && !historyNodata\" (click)=\"ExportHistoryasXlsx()\" class=\"btn btn-outline p-3 border border-gray ms-2 me-2 text-nowrap\" type=\"button\"><span>\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=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span> Export\r\n </button>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-body py-2\">\r\n <div class=\"d-flex overflow-auto h-55px\">\r\n <ul class=\"nav nav-stretch nav-line-tabs nav-line-tabs-2x border-transparent fs-5 fw-bolder flex-nowrap\">\r\n <li *ngIf=\"type !== 'audit'\" (click)=\"userValue('Workspace')\" class=\"nav-item cursor-pointer\"><a [ngClass]=\"userData ==='Workspace' ? 'active' :''\"\r\n class=\"nav-link text-active-primary me-6\">Workspace</a>\r\n </li>\r\n <!-- *ngIf=\"type!=='dataMismatch'\" -->\r\n <li (click)=\"userValue('History')\" class=\"nav-item cursor-pointer\"><a [ngClass]=\"userData ==='History' ? 'active' :''\"\r\n class=\"nav-link text-active-primary me-6\">History</a></li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"userData ==='Workspace'\" class=\"card-body\">\r\n <div class=\"row\">\r\n <div class=\"col-sm-4\">\r\n <div class=\"w-100 h-100 rounded-2 overflow-hidden\">\r\n <div class=\"badge-light-default px-3 py-4\">\r\n <span>Open</span><span *ngIf=\"statusOpen?.length > 0 && !loading.open && !noData.open\" class=\"rounded-5 ms-3 px-1 border border-gray bg-badge\">{{statusOpen?.length}}</span>\r\n </div>\r\n <div class=\"rowbody h-100 px-4 py-3\">\r\n <div *ngIf=\"!loading.open && !noData.open\">\r\n <div *ngFor=\"let open of statusOpen; let index = index\">\r\n <div [ngClass]=\"open.isOpen ? 'active':''\" class=\"issuecard cursor-pointer w-100 mb-5\" (click)=\"routetoTicket(open)\">\r\n <div *ngIf=\"open.isOpen\" class=\"d-flex justify-content-between\">\r\n <div class=\"mb-5\">\r\n <label class=\"fw-semibold\">{{open?.storeId ? open?.storeId :'--'}}</label><br>\r\n <label class=\"fw-semibold m-2\">{{open?.storeName ? open?.storeName :'--'}}</label><br>\r\n <div class=\"d-flex align-items-center mt-2\">\r\n <div class=\"badge badge-light-default me-3\">\r\n <svg class=\"me-2\" 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_3732_60277)\">\r\n <path d=\"M8 1V3M4 1V3M1.5 5H10.5M2.5 2H9.5C10.0523 2 10.5 2.44772 10.5 3V10C10.5 10.5523 10.0523 11 9.5 11H2.5C1.94772 11 1.5 10.5523 1.5 10V3C1.5 2.44772 1.94772 2 2.5 2Z\" stroke=\"#667085\" stroke-width=\"1.1\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3732_60277\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>{{open?.Date ? open?.Date : '--'}}\r\n </div>\r\n <span *ngIf=\"open?.infraIssue\" class=\"badge badge-light-warning\">{{open?.infraIssue ? open?.infraIssue :'--'}}</span>\r\n <span *ngIf=\"type ==='installation'\" class=\"badge badge-light-primary\">{{open?.installationStatus ? open?.installationStatus :'--'}}</span>\r\n <span *ngIf=\"type ==='dataMismatch'\" class=\"badge badge-light-warning\">{{open?.issueType === 'highcount' ? 'High Count' : (open?.issueType === 'lowcount' ? 'Low Count' : '')}}</span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex\">\r\n <div *ngIf=\"open?.notification\" class=\"profile d-flex align-items-centre justify-content-centre me-3\">\r\n <img src=\"./assets/tango/Images/Bellnotification.png\" alt=\"\">\r\n </div>\r\n <span (click)=\"selectView($event,index,'open')\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\r\n <path d=\"M13.166 2.5H18.166M18.166 2.5V7.5M18.166 2.5L12.3327 8.33333M8.16602 17.5H3.16602M3.16602 17.5V12.5M3.16602 17.5L8.99935 11.6667\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between text-center align-items-center\"> \r\n <div class=\"d-flex justify-content-between\" > \r\n <span class=\" d-flex align-items-center\"><svg class=\"me-2\" xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\r\n <path d=\"M10.7966 1.42752C10.6541 1.29681 10.4667 1.22617 10.2733 1.23037C10.08 1.23456 9.8958 1.31325 9.75911 1.45002L1.48911 9.72002C1.41938 9.78968 1.36406 9.87239 1.32632 9.96344C1.28857 10.0545 1.26915 10.1521 1.26915 10.2506C1.26915 10.3492 1.28857 10.4468 1.32632 10.5379C1.36406 10.6289 1.41938 10.7116 1.48911 10.7813L2.64661 11.9388C2.65632 11.9418 2.66647 11.943 2.67661 11.9425C2.71411 11.9425 2.76411 11.9288 2.81161 11.8975C3.26845 11.5927 3.8168 11.4557 4.36331 11.5097C4.90983 11.5637 5.42073 11.8055 5.80905 12.1938C6.19738 12.5822 6.43913 13.0931 6.49316 13.6396C6.54718 14.1861 6.41014 14.7344 6.10536 15.1913C6.07792 15.2311 6.06231 15.2779 6.06036 15.3263C6.06036 15.3425 6.06286 15.3513 6.06411 15.355L7.19411 16.4863C7.26512 16.5574 7.34971 16.6136 7.44285 16.6514C7.53599 16.6892 7.63579 16.7079 7.7363 16.7064C7.83682 16.7049 7.936 16.6832 8.02796 16.6426C8.11992 16.602 8.20278 16.5433 8.27161 16.47L16.5204 7.70502C16.5883 7.63267 16.6412 7.54755 16.676 7.4546C16.7108 7.36165 16.7268 7.26272 16.7231 7.16354C16.7193 7.06436 16.696 6.96691 16.6543 6.87683C16.6126 6.78675 16.5535 6.70583 16.4804 6.63877L15.3729 5.62252H15.3691C15.3514 5.61902 15.3331 5.61902 15.3154 5.62252C15.2448 5.63722 15.1806 5.67348 15.1316 5.72627C14.9227 5.96305 14.6687 6.15579 14.3845 6.29323C14.1002 6.43067 13.7914 6.51005 13.4761 6.52673C13.1608 6.54341 12.8453 6.49704 12.5481 6.39035C12.251 6.28366 11.978 6.11879 11.7453 5.90537C11.5126 5.69195 11.3248 5.43428 11.1929 5.14742C11.061 4.86055 10.9876 4.55027 10.977 4.2347C10.9664 3.91913 11.0188 3.60462 11.1312 3.30956C11.2436 3.01449 11.4137 2.74481 11.6316 2.51627C11.6797 2.46264 11.7098 2.39535 11.7179 2.32377C11.7201 2.30488 11.7184 2.28572 11.7129 2.26752L10.7966 1.42752ZM9.05286 0.742522C9.37176 0.423638 9.80145 0.240174 10.2523 0.230393C10.7032 0.220611 11.1404 0.385268 11.4729 0.690022L12.3891 1.53127C12.6629 1.78127 12.7391 2.12252 12.7141 2.41377C12.6879 2.70127 12.5616 2.98252 12.3666 3.19377C12.2446 3.3269 12.1499 3.48276 12.0881 3.65246C12.0263 3.82216 11.9985 4.00237 12.0064 4.18281C12.0142 4.36325 12.0575 4.54037 12.1338 4.70407C12.2101 4.86778 12.3179 5.01485 12.451 5.1369C12.5841 5.25894 12.74 5.35358 12.9097 5.41539C13.0794 5.4772 13.2596 5.50498 13.44 5.49714C13.6205 5.48931 13.7976 5.44601 13.9613 5.36972C14.125 5.29344 14.2721 5.18565 14.3941 5.05252C14.5879 4.84002 14.8566 4.69002 15.1404 4.63877C15.3004 4.60665 15.4656 4.61218 15.6231 4.65492C15.7806 4.69765 15.926 4.77643 16.0479 4.88502L17.1566 5.90127C17.3273 6.0579 17.4652 6.24687 17.5623 6.4572C17.6594 6.66754 17.7138 6.89507 17.7223 7.12658C17.7308 7.35809 17.6932 7.58899 17.6118 7.80587C17.5303 8.02276 17.4066 8.22131 17.2479 8.39002L9.00036 17.155C8.83975 17.3257 8.64649 17.4624 8.43206 17.5569C8.21763 17.6515 7.98638 17.702 7.75205 17.7055C7.51771 17.709 7.28506 17.6654 7.0679 17.5773C6.85074 17.4892 6.65349 17.3583 6.48786 17.1925L5.35786 16.0625C4.92411 15.6288 5.02911 15.0038 5.27411 14.6375C5.44988 14.3731 5.52871 14.0559 5.4972 13.74C5.46569 13.424 5.32579 13.1287 5.10125 12.9041C4.87672 12.6796 4.58139 12.5397 4.26542 12.5082C3.94945 12.4767 3.63231 12.5555 3.36786 12.7313C2.99911 12.975 2.37536 13.08 1.94161 12.645L0.784111 11.4875C0.621589 11.325 0.492669 11.1321 0.404712 10.9198C0.316755 10.7074 0.271484 10.4798 0.271484 10.25C0.271484 10.0202 0.316755 9.79262 0.404712 9.58029C0.492669 9.36795 0.621589 9.17503 0.784111 9.01252L9.05286 0.742522Z\" fill=\"#667085\"/>\r\n <path d=\"M10.7966 1.42752C10.6541 1.29681 10.4667 1.22617 10.2733 1.23037C10.08 1.23456 9.8958 1.31325 9.75911 1.45002L1.48911 9.72002C1.41938 9.78968 1.36406 9.87239 1.32632 9.96344C1.28857 10.0545 1.26915 10.1521 1.26915 10.2506C1.26915 10.3492 1.28857 10.4468 1.32632 10.5379C1.36406 10.6289 1.41938 10.7116 1.48911 10.7813L2.64661 11.9388C2.65632 11.9418 2.66647 11.943 2.67661 11.9425C2.71411 11.9425 2.76411 11.9288 2.81161 11.8975C3.26845 11.5927 3.8168 11.4557 4.36331 11.5097C4.90983 11.5637 5.42073 11.8055 5.80905 12.1938C6.19738 12.5822 6.43913 13.0931 6.49316 13.6396C6.54718 14.1861 6.41014 14.7344 6.10536 15.1913C6.07792 15.2311 6.06231 15.2779 6.06036 15.3263C6.06036 15.3425 6.06286 15.3513 6.06411 15.355L7.19411 16.4863C7.26512 16.5574 7.34971 16.6136 7.44285 16.6514C7.53599 16.6892 7.63579 16.7079 7.7363 16.7064C7.83682 16.7049 7.936 16.6832 8.02796 16.6426C8.11992 16.602 8.20278 16.5433 8.27161 16.47L16.5204 7.70502C16.5883 7.63267 16.6412 7.54755 16.676 7.4546C16.7108 7.36165 16.7268 7.26272 16.7231 7.16354C16.7193 7.06436 16.696 6.96691 16.6543 6.87683C16.6126 6.78675 16.5535 6.70583 16.4804 6.63877L15.3729 5.62252H15.3691C15.3514 5.61902 15.3331 5.61902 15.3154 5.62252C15.2448 5.63722 15.1806 5.67348 15.1316 5.72627C14.9227 5.96305 14.6687 6.15579 14.3845 6.29323C14.1002 6.43067 13.7914 6.51005 13.4761 6.52673C13.1608 6.54341 12.8453 6.49704 12.5481 6.39035C12.251 6.28366 11.978 6.11879 11.7453 5.90537C11.5126 5.69195 11.3248 5.43428 11.1929 5.14742C11.061 4.86055 10.9876 4.55027 10.977 4.2347C10.9664 3.91913 11.0188 3.60462 11.1312 3.30956C11.2436 3.01449 11.4137 2.74481 11.6316 2.51627C11.6797 2.46264 11.7098 2.39535 11.7179 2.32377C11.7201 2.30488 11.7184 2.28572 11.7129 2.26752L10.7966 1.42752ZM9.05286 0.742522C9.37176 0.423638 9.80145 0.240174 10.2523 0.230393C10.7032 0.220611 11.1404 0.385268 11.4729 0.690022L12.3891 1.53127C12.6629 1.78127 12.7391 2.12252 12.7141 2.41377C12.6879 2.70127 12.5616 2.98252 12.3666 3.19377C12.2446 3.3269 12.1499 3.48276 12.0881 3.65246C12.0263 3.82216 11.9985 4.00237 12.0064 4.18281C12.0142 4.36325 12.0575 4.54037 12.1338 4.70407C12.2101 4.86778 12.3179 5.01485 12.451 5.1369C12.5841 5.25894 12.74 5.35358 12.9097 5.41539C13.0794 5.4772 13.2596 5.50498 13.44 5.49714C13.6205 5.48931 13.7976 5.44601 13.9613 5.36972C14.125 5.29344 14.2721 5.18565 14.3941 5.05252C14.5879 4.84002 14.8566 4.69002 15.1404 4.63877C15.3004 4.60665 15.4656 4.61218 15.6231 4.65492C15.7806 4.69765 15.926 4.77643 16.0479 4.88502L17.1566 5.90127C17.3273 6.0579 17.4652 6.24687 17.5623 6.4572C17.6594 6.66754 17.7138 6.89507 17.7223 7.12658C17.7308 7.35809 17.6932 7.58899 17.6118 7.80587C17.5303 8.02276 17.4066 8.22131 17.2479 8.39002L9.00036 17.155C8.83975 17.3257 8.64649 17.4624 8.43206 17.5569C8.21763 17.6515 7.98638 17.702 7.75205 17.7055C7.51771 17.709 7.28506 17.6654 7.0679 17.5773C6.85074 17.4892 6.65349 17.3583 6.48786 17.1925L5.35786 16.0625C4.92411 15.6288 5.02911 15.0038 5.27411 14.6375C5.44988 14.3731 5.52871 14.0559 5.4972 13.74C5.46569 13.424 5.32579 13.1287 5.10125 12.9041C4.87672 12.6796 4.58139 12.5397 4.26542 12.5082C3.94945 12.4767 3.63231 12.5555 3.36786 12.7313C2.99911 12.975 2.37536 13.08 1.94161 12.645L0.784111 11.4875C0.621589 11.325 0.492669 11.1321 0.404712 10.9198C0.316755 10.7074 0.271484 10.4798 0.271484 10.25C0.271484 10.0202 0.316755 9.79262 0.404712 9.58029C0.492669 9.36795 0.621589 9.17503 0.784111 9.01252L9.05286 0.742522Z\" stroke=\"#667085\"/>\r\n </svg> {{open?.ticketId ? open?.ticketId : '--'}} </span>\r\n </div>\r\n <div class=\"d-flex align-items-centre justify-content-centre\">\r\n <span *ngIf=\"open?.ticketType === 'refreshticket'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"14\" viewBox=\"0 0 17 14\" fill=\"none\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5.94602 4.98881L2.66602 6.33881L2.00602 6.07881L0.666016 2.83881L1.58602 2.45881L2.39602 4.40881C2.93977 3.04801 3.92872 1.91169 5.20145 1.18532C6.47419 0.458951 7.95554 0.185426 9.40375 0.409387C10.852 0.633349 12.1815 1.34157 13.1754 2.41846C14.1692 3.49535 14.7687 4.87732 14.876 6.33881H13.876C13.7616 5.09008 13.2224 3.91836 12.3484 3.01919C11.4743 2.12003 10.3184 1.54781 9.0734 1.39804C7.82842 1.24826 6.56973 1.53 5.50739 2.19622C4.44505 2.86244 3.64332 3.87284 3.23602 5.05881L5.55602 4.05881L5.94602 4.98881ZM14.806 7.66881L16.146 10.8988L15.226 11.3388L14.406 9.33881C13.858 10.7049 12.8618 11.8442 11.581 12.5696C10.3001 13.295 8.81077 13.5634 7.35728 13.3309C5.9038 13.0983 4.57255 12.3786 3.582 11.2898C2.59145 10.2009 2.00046 8.80775 1.90602 7.33881H2.90602V6.83881C2.90882 8.12627 3.36402 9.3718 4.19203 10.3577C5.02005 11.3436 6.16821 12.0071 7.43584 12.2322C8.70346 12.4574 10.0099 12.2299 11.1268 11.5895C12.2437 10.9491 13.1 9.93655 13.546 8.72881L11.296 9.65881L10.906 8.73881L14.156 7.38881L14.806 7.66881Z\" fill=\"#98A2B3\"/>\r\n <path d=\"M8.40625 7.54004C8.95853 7.54004 9.40625 7.09232 9.40625 6.54004C9.40625 5.98775 8.95853 5.54004 8.40625 5.54004C7.85397 5.54004 7.40625 5.98775 7.40625 6.54004C7.40625 7.09232 7.85397 7.54004 8.40625 7.54004Z\" fill=\"#98A2B3\"/>\r\n </svg>\r\n </span>\r\n <span *ngIf=\"open?.issueStatus !== 'notidentified'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_3827_12061)\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.20065 10.3333H9.15621V12.3333H7.20065V10.3333ZM9.15621 4.33327H7.20065V9.33326H9.15621V4.33327ZM10.6229 5.83327L9.6451 6.83327L12.0895 9.33326L16.0007 4.83327L15.0229 3.83327L12.0895 7.33326L10.6229 5.83327ZM8.17843 14.0333C6.70108 14.0306 5.28499 13.4292 4.24034 12.3608C3.1957 11.2925 2.60768 9.84418 2.6051 8.33326C2.6051 5.19327 5.10821 2.63327 8.17843 2.63327C9.96776 2.63327 11.5518 3.51327 12.5784 4.83327L13.478 3.91327C12.8395 3.10534 12.0319 2.45415 11.1147 2.00765C10.1976 1.56115 9.19419 1.3307 8.17843 1.33327C4.40421 1.33327 1.33398 4.47327 1.33398 8.33326C1.33398 12.1933 4.40421 15.3333 8.17843 15.3333C11.9527 15.3333 15.0229 12.1933 15.0229 8.33326L13.5367 9.85326C12.8913 12.2633 10.7402 14.0433 8.17843 14.0433V14.0333Z\" fill=\"#98A2B3\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3827_12061\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span *ngIf=\"!open.isOpen\" (click)=\"selectView($event,index,'open')\" class=\"ms-3\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\r\n <path d=\"M13.166 2.5H18.166M18.166 2.5V7.5M18.166 2.5L12.3327 8.33333M8.16602 17.5H3.16602M3.16602 17.5V12.5M3.16602 17.5L8.99935 11.6667\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n <div *ngIf=\"!open.isOpen && open?.notification\" class=\"profile d-flex align-items-centre justify-content-centre ms-3\">\r\n <img class=\"\" src=\"./assets/tango/Images/Bellnotification.png\" alt=\"\">\r\n </div>\r\n <!-- <img *ngIf=\"cardView\" class=\"profile ms-3\" src=\"./assets/tango/Images/gropmodal.png\" alt=\"\"> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"statusOpen?.length === 0 || !noData && !loading\" class=\"w-100 mt-10 mb-10 mh-60vh d-grid text-center\"> \r\n <img class=\"mx-auto mb-2\" src=\"./assets/tango/Images/taketicket.svg\">\r\n <span class=\"taketicket mt-2 fw-bold\">No Open Tickets </span>\r\n <button class=\"w-100 btn btn-primary mt-5\" (click)=\"takeTicket()\">Take Ticket</button>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"loading?.open\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData?.open\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body mh-60vh d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"mx-auto mb-2\" src=\"./assets/tango/Images/taketicket.svg\">\r\n <span class=\"taketicket mt-5 fw-bold\">No Open Tickets </span>\r\n <button *ngIf=\"(gs.userAccess | async)?.manage_tickets_isEdit\" class=\"w-100 btn btn-primary mt-5\" (click)=\"takeTicket()\">Take Ticket</button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container> \r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-4\">\r\n <div class=\"w-100 h-100 rounded-2 overflow-hidden\">\r\n <div class=\"badge-light-default px-3 py-4\">\r\n <span>Inprogress</span><span *ngIf=\"statusInprogress?.length > 0 && !loading.inprogress && !noData.inprogress\" class=\"rounded-5 ms-3 px-1 border border-gray bg-badge\">{{statusInprogress?.length}}</span>\r\n </div>\r\n <div class=\"rowbody h-100 px-4 py-3\">\r\n <div *ngIf=\"!loading.inprogress && !noData.inprogress\">\r\n <div *ngFor=\"let inprogress of statusInprogress; let index = index\">\r\n <div [ngClass]=\"inprogress.isOpen ? 'active':''\" class=\"issuecard cursor-pointer w-100 mb-5\" (click)=\"routetoTicket(inprogress)\">\r\n <div *ngIf=\"inprogress?.isOpen\" class=\"d-flex justify-content-between\">\r\n <div class=\"mb-5\">\r\n <label class=\"fw-semibold\">{{inprogress?.storeId}}</label><br>\r\n <label class=\"fw-semibold my-2\">{{inprogress?.storeName ? inprogress?.storeName :'--'}}</label><br>\r\n <div class=\"d-flex align-items-center mt-2\">\r\n <div class=\"badge badge-light-default me-3\">\r\n <svg class=\"me-2\" 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_3732_60277)\">\r\n <path d=\"M8 1V3M4 1V3M1.5 5H10.5M2.5 2H9.5C10.0523 2 10.5 2.44772 10.5 3V10C10.5 10.5523 10.0523 11 9.5 11H2.5C1.94772 11 1.5 10.5523 1.5 10V3C1.5 2.44772 1.94772 2 2.5 2Z\" stroke=\"#667085\" stroke-width=\"1.1\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3732_60277\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg> {{inprogress?.Date}}\r\n </div>\r\n <span *ngIf=\"inprogress?.infraIssue\" class=\"badge badge-light-warning\">{{inprogress?.infraIssue}}</span>\r\n <span *ngIf=\"type ==='installation' && inprogress?.infraIssue!==''\" class=\"badge badge-light-primary text-capitalize ms-3\">{{inprogress?.installationStatus ? inprogress?.installationStatus :'--'}}</span>\r\n <span *ngIf=\"type ==='dataMismatch'\" class=\"badge badge-light-warning\">{{inprogress?.issueType === 'highcount' ? 'High Count' : (inprogress?.issueType === 'lowcount' ? 'Low Count' : '')}}</span>\r\n </div>\r\n </div>\r\n <div class=\" d-flex\">\r\n <div *ngIf=\"inprogress?.notification\" class=\"profile d-flex align-items-centre justify-content-centre me-3\">\r\n <img src=\"./assets/tango/Images/Bellnotification.png\" alt=\"\">\r\n </div>\r\n <span (click)=\"selectView($event,index,'inprogress')\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\r\n <path d=\"M13.166 2.5H18.166M18.166 2.5V7.5M18.166 2.5L12.3327 8.33333M8.16602 17.5H3.16602M3.16602 17.5V12.5M3.16602 17.5L8.99935 11.6667\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between text-center align-items-center\"> \r\n <div class=\"d-flex justify-content-between\" > \r\n <span class=\" d-flex align-items-center\"><svg class=\"me-2\" xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\r\n <path d=\"M10.7966 1.42752C10.6541 1.29681 10.4667 1.22617 10.2733 1.23037C10.08 1.23456 9.8958 1.31325 9.75911 1.45002L1.48911 9.72002C1.41938 9.78968 1.36406 9.87239 1.32632 9.96344C1.28857 10.0545 1.26915 10.1521 1.26915 10.2506C1.26915 10.3492 1.28857 10.4468 1.32632 10.5379C1.36406 10.6289 1.41938 10.7116 1.48911 10.7813L2.64661 11.9388C2.65632 11.9418 2.66647 11.943 2.67661 11.9425C2.71411 11.9425 2.76411 11.9288 2.81161 11.8975C3.26845 11.5927 3.8168 11.4557 4.36331 11.5097C4.90983 11.5637 5.42073 11.8055 5.80905 12.1938C6.19738 12.5822 6.43913 13.0931 6.49316 13.6396C6.54718 14.1861 6.41014 14.7344 6.10536 15.1913C6.07792 15.2311 6.06231 15.2779 6.06036 15.3263C6.06036 15.3425 6.06286 15.3513 6.06411 15.355L7.19411 16.4863C7.26512 16.5574 7.34971 16.6136 7.44285 16.6514C7.53599 16.6892 7.63579 16.7079 7.7363 16.7064C7.83682 16.7049 7.936 16.6832 8.02796 16.6426C8.11992 16.602 8.20278 16.5433 8.27161 16.47L16.5204 7.70502C16.5883 7.63267 16.6412 7.54755 16.676 7.4546C16.7108 7.36165 16.7268 7.26272 16.7231 7.16354C16.7193 7.06436 16.696 6.96691 16.6543 6.87683C16.6126 6.78675 16.5535 6.70583 16.4804 6.63877L15.3729 5.62252H15.3691C15.3514 5.61902 15.3331 5.61902 15.3154 5.62252C15.2448 5.63722 15.1806 5.67348 15.1316 5.72627C14.9227 5.96305 14.6687 6.15579 14.3845 6.29323C14.1002 6.43067 13.7914 6.51005 13.4761 6.52673C13.1608 6.54341 12.8453 6.49704 12.5481 6.39035C12.251 6.28366 11.978 6.11879 11.7453 5.90537C11.5126 5.69195 11.3248 5.43428 11.1929 5.14742C11.061 4.86055 10.9876 4.55027 10.977 4.2347C10.9664 3.91913 11.0188 3.60462 11.1312 3.30956C11.2436 3.01449 11.4137 2.74481 11.6316 2.51627C11.6797 2.46264 11.7098 2.39535 11.7179 2.32377C11.7201 2.30488 11.7184 2.28572 11.7129 2.26752L10.7966 1.42752ZM9.05286 0.742522C9.37176 0.423638 9.80145 0.240174 10.2523 0.230393C10.7032 0.220611 11.1404 0.385268 11.4729 0.690022L12.3891 1.53127C12.6629 1.78127 12.7391 2.12252 12.7141 2.41377C12.6879 2.70127 12.5616 2.98252 12.3666 3.19377C12.2446 3.3269 12.1499 3.48276 12.0881 3.65246C12.0263 3.82216 11.9985 4.00237 12.0064 4.18281C12.0142 4.36325 12.0575 4.54037 12.1338 4.70407C12.2101 4.86778 12.3179 5.01485 12.451 5.1369C12.5841 5.25894 12.74 5.35358 12.9097 5.41539C13.0794 5.4772 13.2596 5.50498 13.44 5.49714C13.6205 5.48931 13.7976 5.44601 13.9613 5.36972C14.125 5.29344 14.2721 5.18565 14.3941 5.05252C14.5879 4.84002 14.8566 4.69002 15.1404 4.63877C15.3004 4.60665 15.4656 4.61218 15.6231 4.65492C15.7806 4.69765 15.926 4.77643 16.0479 4.88502L17.1566 5.90127C17.3273 6.0579 17.4652 6.24687 17.5623 6.4572C17.6594 6.66754 17.7138 6.89507 17.7223 7.12658C17.7308 7.35809 17.6932 7.58899 17.6118 7.80587C17.5303 8.02276 17.4066 8.22131 17.2479 8.39002L9.00036 17.155C8.83975 17.3257 8.64649 17.4624 8.43206 17.5569C8.21763 17.6515 7.98638 17.702 7.75205 17.7055C7.51771 17.709 7.28506 17.6654 7.0679 17.5773C6.85074 17.4892 6.65349 17.3583 6.48786 17.1925L5.35786 16.0625C4.92411 15.6288 5.02911 15.0038 5.27411 14.6375C5.44988 14.3731 5.52871 14.0559 5.4972 13.74C5.46569 13.424 5.32579 13.1287 5.10125 12.9041C4.87672 12.6796 4.58139 12.5397 4.26542 12.5082C3.94945 12.4767 3.63231 12.5555 3.36786 12.7313C2.99911 12.975 2.37536 13.08 1.94161 12.645L0.784111 11.4875C0.621589 11.325 0.492669 11.1321 0.404712 10.9198C0.316755 10.7074 0.271484 10.4798 0.271484 10.25C0.271484 10.0202 0.316755 9.79262 0.404712 9.58029C0.492669 9.36795 0.621589 9.17503 0.784111 9.01252L9.05286 0.742522Z\" fill=\"#667085\"/>\r\n <path d=\"M10.7966 1.42752C10.6541 1.29681 10.4667 1.22617 10.2733 1.23037C10.08 1.23456 9.8958 1.31325 9.75911 1.45002L1.48911 9.72002C1.41938 9.78968 1.36406 9.87239 1.32632 9.96344C1.28857 10.0545 1.26915 10.1521 1.26915 10.2506C1.26915 10.3492 1.28857 10.4468 1.32632 10.5379C1.36406 10.6289 1.41938 10.7116 1.48911 10.7813L2.64661 11.9388C2.65632 11.9418 2.66647 11.943 2.67661 11.9425C2.71411 11.9425 2.76411 11.9288 2.81161 11.8975C3.26845 11.5927 3.8168 11.4557 4.36331 11.5097C4.90983 11.5637 5.42073 11.8055 5.80905 12.1938C6.19738 12.5822 6.43913 13.0931 6.49316 13.6396C6.54718 14.1861 6.41014 14.7344 6.10536 15.1913C6.07792 15.2311 6.06231 15.2779 6.06036 15.3263C6.06036 15.3425 6.06286 15.3513 6.06411 15.355L7.19411 16.4863C7.26512 16.5574 7.34971 16.6136 7.44285 16.6514C7.53599 16.6892 7.63579 16.7079 7.7363 16.7064C7.83682 16.7049 7.936 16.6832 8.02796 16.6426C8.11992 16.602 8.20278 16.5433 8.27161 16.47L16.5204 7.70502C16.5883 7.63267 16.6412 7.54755 16.676 7.4546C16.7108 7.36165 16.7268 7.26272 16.7231 7.16354C16.7193 7.06436 16.696 6.96691 16.6543 6.87683C16.6126 6.78675 16.5535 6.70583 16.4804 6.63877L15.3729 5.62252H15.3691C15.3514 5.61902 15.3331 5.61902 15.3154 5.62252C15.2448 5.63722 15.1806 5.67348 15.1316 5.72627C14.9227 5.96305 14.6687 6.15579 14.3845 6.29323C14.1002 6.43067 13.7914 6.51005 13.4761 6.52673C13.1608 6.54341 12.8453 6.49704 12.5481 6.39035C12.251 6.28366 11.978 6.11879 11.7453 5.90537C11.5126 5.69195 11.3248 5.43428 11.1929 5.14742C11.061 4.86055 10.9876 4.55027 10.977 4.2347C10.9664 3.91913 11.0188 3.60462 11.1312 3.30956C11.2436 3.01449 11.4137 2.74481 11.6316 2.51627C11.6797 2.46264 11.7098 2.39535 11.7179 2.32377C11.7201 2.30488 11.7184 2.28572 11.7129 2.26752L10.7966 1.42752ZM9.05286 0.742522C9.37176 0.423638 9.80145 0.240174 10.2523 0.230393C10.7032 0.220611 11.1404 0.385268 11.4729 0.690022L12.3891 1.53127C12.6629 1.78127 12.7391 2.12252 12.7141 2.41377C12.6879 2.70127 12.5616 2.98252 12.3666 3.19377C12.2446 3.3269 12.1499 3.48276 12.0881 3.65246C12.0263 3.82216 11.9985 4.00237 12.0064 4.18281C12.0142 4.36325 12.0575 4.54037 12.1338 4.70407C12.2101 4.86778 12.3179 5.01485 12.451 5.1369C12.5841 5.25894 12.74 5.35358 12.9097 5.41539C13.0794 5.4772 13.2596 5.50498 13.44 5.49714C13.6205 5.48931 13.7976 5.44601 13.9613 5.36972C14.125 5.29344 14.2721 5.18565 14.3941 5.05252C14.5879 4.84002 14.8566 4.69002 15.1404 4.63877C15.3004 4.60665 15.4656 4.61218 15.6231 4.65492C15.7806 4.69765 15.926 4.77643 16.0479 4.88502L17.1566 5.90127C17.3273 6.0579 17.4652 6.24687 17.5623 6.4572C17.6594 6.66754 17.7138 6.89507 17.7223 7.12658C17.7308 7.35809 17.6932 7.58899 17.6118 7.80587C17.5303 8.02276 17.4066 8.22131 17.2479 8.39002L9.00036 17.155C8.83975 17.3257 8.64649 17.4624 8.43206 17.5569C8.21763 17.6515 7.98638 17.702 7.75205 17.7055C7.51771 17.709 7.28506 17.6654 7.0679 17.5773C6.85074 17.4892 6.65349 17.3583 6.48786 17.1925L5.35786 16.0625C4.92411 15.6288 5.02911 15.0038 5.27411 14.6375C5.44988 14.3731 5.52871 14.0559 5.4972 13.74C5.46569 13.424 5.32579 13.1287 5.10125 12.9041C4.87672 12.6796 4.58139 12.5397 4.26542 12.5082C3.94945 12.4767 3.63231 12.5555 3.36786 12.7313C2.99911 12.975 2.37536 13.08 1.94161 12.645L0.784111 11.4875C0.621589 11.325 0.492669 11.1321 0.404712 10.9198C0.316755 10.7074 0.271484 10.4798 0.271484 10.25C0.271484 10.0202 0.316755 9.79262 0.404712 9.58029C0.492669 9.36795 0.621589 9.17503 0.784111 9.01252L9.05286 0.742522Z\" stroke=\"#667085\"/>\r\n </svg> {{inprogress?.ticketId}} </span>\r\n </div>\r\n <div class=\"d-flex align-items-centre justify-content-centre\">\r\n <span *ngIf=\"inprogress?.ticketType === 'refreshticket'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"14\" viewBox=\"0 0 17 14\" fill=\"none\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5.94602 4.98881L2.66602 6.33881L2.00602 6.07881L0.666016 2.83881L1.58602 2.45881L2.39602 4.40881C2.93977 3.04801 3.92872 1.91169 5.20145 1.18532C6.47419 0.458951 7.95554 0.185426 9.40375 0.409387C10.852 0.633349 12.1815 1.34157 13.1754 2.41846C14.1692 3.49535 14.7687 4.87732 14.876 6.33881H13.876C13.7616 5.09008 13.2224 3.91836 12.3484 3.01919C11.4743 2.12003 10.3184 1.54781 9.0734 1.39804C7.82842 1.24826 6.56973 1.53 5.50739 2.19622C4.44505 2.86244 3.64332 3.87284 3.23602 5.05881L5.55602 4.05881L5.94602 4.98881ZM14.806 7.66881L16.146 10.8988L15.226 11.3388L14.406 9.33881C13.858 10.7049 12.8618 11.8442 11.581 12.5696C10.3001 13.295 8.81077 13.5634 7.35728 13.3309C5.9038 13.0983 4.57255 12.3786 3.582 11.2898C2.59145 10.2009 2.00046 8.80775 1.90602 7.33881H2.90602V6.83881C2.90882 8.12627 3.36402 9.3718 4.19203 10.3577C5.02005 11.3436 6.16821 12.0071 7.43584 12.2322C8.70346 12.4574 10.0099 12.2299 11.1268 11.5895C12.2437 10.9491 13.1 9.93655 13.546 8.72881L11.296 9.65881L10.906 8.73881L14.156 7.38881L14.806 7.66881Z\" fill=\"#98A2B3\"/>\r\n <path d=\"M8.40625 7.54004C8.95853 7.54004 9.40625 7.09232 9.40625 6.54004C9.40625 5.98775 8.95853 5.54004 8.40625 5.54004C7.85397 5.54004 7.40625 5.98775 7.40625 6.54004C7.40625 7.09232 7.85397 7.54004 8.40625 7.54004Z\" fill=\"#98A2B3\"/>\r\n </svg>\r\n </span>\r\n <span class=\"ms-3\" *ngIf=\"inprogress?.issueStatus !== 'notidentified'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_3827_12061)\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.20065 10.3333H9.15621V12.3333H7.20065V10.3333ZM9.15621 4.33327H7.20065V9.33326H9.15621V4.33327ZM10.6229 5.83327L9.6451 6.83327L12.0895 9.33326L16.0007 4.83327L15.0229 3.83327L12.0895 7.33326L10.6229 5.83327ZM8.17843 14.0333C6.70108 14.0306 5.28499 13.4292 4.24034 12.3608C3.1957 11.2925 2.60768 9.84418 2.6051 8.33326C2.6051 5.19327 5.10821 2.63327 8.17843 2.63327C9.96776 2.63327 11.5518 3.51327 12.5784 4.83327L13.478 3.91327C12.8395 3.10534 12.0319 2.45415 11.1147 2.00765C10.1976 1.56115 9.19419 1.3307 8.17843 1.33327C4.40421 1.33327 1.33398 4.47327 1.33398 8.33326C1.33398 12.1933 4.40421 15.3333 8.17843 15.3333C11.9527 15.3333 15.0229 12.1933 15.0229 8.33326L13.5367 9.85326C12.8913 12.2633 10.7402 14.0433 8.17843 14.0433V14.0333Z\" fill=\"#98A2B3\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3827_12061\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span *ngIf=\"!inprogress.isOpen\" (click)=\"selectView($event,index,'inprogress')\" class=\"ms-3\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\r\n <path d=\"M13.166 2.5H18.166M18.166 2.5V7.5M18.166 2.5L12.3327 8.33333M8.16602 17.5H3.16602M3.16602 17.5V12.5M3.16602 17.5L8.99935 11.6667\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n <div *ngIf=\"!inprogress.isOpen && inprogress?.notification\" class=\"profile d-flex align-items-centre justify-content-centre ms-3\">\r\n <img class=\"\" src=\"./assets/tango/Images/Bellnotification.png\" alt=\"\">\r\n </div>\r\n <!-- <img *ngIf=\"cardView\" class=\"profile ms-3\" src=\"./assets/tango/Images/gropmodal.png\" alt=\"\"> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"statusInprogress?.length === 0 || !noData && !loading\" class=\"w-100 mt-10 mb-10 mh-60vh d-grid text-center mx-auto\"> \r\n <img class=\"mx-auto\" src=\"./assets/tango/Images/taketicket.svg\">\r\n <span class=\"taketicket mt-2 fw-bold\">No In-Progress Tickets </span>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"loading?.inprogress\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData?.inprogress\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body mh-60vh d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"mx-auto\" src=\"./assets/tango/Images/taketicket.svg\">\r\n <span class=\"taketicket mt-5 fw-bold\">No In-Progress Tickets </span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container> \r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-4\">\r\n <div class=\"w-100 h-100 rounded-2 overflow-hidden\" (click)=\"selectTicket()\">\r\n <div class=\"badge-light-default px-3 py-4\">\r\n <span>Closed</span><span *ngIf=\"statusClosed?.length > 0 && !noData.closed && !loading.closed\" class=\"rounded-5 ms-3 px-1 border border-gray border-gray bg-badge\">{{statusClosed?.length}}</span>\r\n </div>\r\n <div class=\"rowbody h-100 px-4 py-3\">\r\n <div *ngIf=\"!noData.closed && !loading.closed\">\r\n <div *ngFor=\"let closed of statusClosed; let index = index\">\r\n <div [ngClass]=\"closed.isOpen ? 'active':''\" class=\"issuecard cursor-pointer w-100 mb-5\" (click)=\"routetoTicket(closed)\">\r\n <div *ngIf=\"closed?.isOpen\" class=\"d-flex justify-content-between\">\r\n <div class=\"mb-5\">\r\n <label class=\"fw-semibold\">{{closed?.storeId}}</label><br>\r\n <label class=\"fw-semibold m-2\">{{closed?.storeName ? closed?.storeName :'--'}}</label><br>\r\n <div class=\"d-flex align-items-center mt-2\">\r\n <div class=\"badge badge-light-default me-3\">\r\n <svg class=\"me-2\" 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_3732_60277)\">\r\n <path d=\"M8 1V3M4 1V3M1.5 5H10.5M2.5 2H9.5C10.0523 2 10.5 2.44772 10.5 3V10C10.5 10.5523 10.0523 11 9.5 11H2.5C1.94772 11 1.5 10.5523 1.5 10V3C1.5 2.44772 1.94772 2 2.5 2Z\" stroke=\"#667085\" stroke-width=\"1.1\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3732_60277\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg> {{closed?.Date}}\r\n </div>\r\n <span *ngIf=\"closed?.infraIssue\" [ngClass]=\"closed?.infraIssue === 'Live'? 'badge badge-light-success':''\" class=\"badge badge-light-warning\"> {{closed?.infraIssue}} </span>\r\n <span *ngIf=\"type ==='dataMismatch'\" [ngClass]=\"closed?.infraIssue === 'Live'? 'badge badge-light-success':''\" class=\"badge badge-light-warning\">{{closed?.issueType === 'highcount' ? 'High Count' : (closed?.issueType === 'lowcount' ? 'Low Count' : '')}}</span>\r\n </div>\r\n </div>\r\n <div class=\" d-flex\">\r\n <div *ngIf=\"closed?.notification\" class=\"profile d-flex align-items-centre justify-content-centre me-3\">\r\n <img src=\"./assets/tango/Images/Bellnotification.png\" alt=\"\">\r\n </div>\r\n <span (click)=\"selectView($event,index,'closed')\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\r\n <path d=\"M13.166 2.5H18.166M18.166 2.5V7.5M18.166 2.5L12.3327 8.33333M8.16602 17.5H3.16602M3.16602 17.5V12.5M3.16602 17.5L8.99935 11.6667\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between text-center align-items-center\"> \r\n <div class=\"d-flex justify-content-between\" > \r\n <span class=\" d-flex align-items-center\"><svg class=\"me-2\" xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\r\n <path d=\"M10.7966 1.42752C10.6541 1.29681 10.4667 1.22617 10.2733 1.23037C10.08 1.23456 9.8958 1.31325 9.75911 1.45002L1.48911 9.72002C1.41938 9.78968 1.36406 9.87239 1.32632 9.96344C1.28857 10.0545 1.26915 10.1521 1.26915 10.2506C1.26915 10.3492 1.28857 10.4468 1.32632 10.5379C1.36406 10.6289 1.41938 10.7116 1.48911 10.7813L2.64661 11.9388C2.65632 11.9418 2.66647 11.943 2.67661 11.9425C2.71411 11.9425 2.76411 11.9288 2.81161 11.8975C3.26845 11.5927 3.8168 11.4557 4.36331 11.5097C4.90983 11.5637 5.42073 11.8055 5.80905 12.1938C6.19738 12.5822 6.43913 13.0931 6.49316 13.6396C6.54718 14.1861 6.41014 14.7344 6.10536 15.1913C6.07792 15.2311 6.06231 15.2779 6.06036 15.3263C6.06036 15.3425 6.06286 15.3513 6.06411 15.355L7.19411 16.4863C7.26512 16.5574 7.34971 16.6136 7.44285 16.6514C7.53599 16.6892 7.63579 16.7079 7.7363 16.7064C7.83682 16.7049 7.936 16.6832 8.02796 16.6426C8.11992 16.602 8.20278 16.5433 8.27161 16.47L16.5204 7.70502C16.5883 7.63267 16.6412 7.54755 16.676 7.4546C16.7108 7.36165 16.7268 7.26272 16.7231 7.16354C16.7193 7.06436 16.696 6.96691 16.6543 6.87683C16.6126 6.78675 16.5535 6.70583 16.4804 6.63877L15.3729 5.62252H15.3691C15.3514 5.61902 15.3331 5.61902 15.3154 5.62252C15.2448 5.63722 15.1806 5.67348 15.1316 5.72627C14.9227 5.96305 14.6687 6.15579 14.3845 6.29323C14.1002 6.43067 13.7914 6.51005 13.4761 6.52673C13.1608 6.54341 12.8453 6.49704 12.5481 6.39035C12.251 6.28366 11.978 6.11879 11.7453 5.90537C11.5126 5.69195 11.3248 5.43428 11.1929 5.14742C11.061 4.86055 10.9876 4.55027 10.977 4.2347C10.9664 3.91913 11.0188 3.60462 11.1312 3.30956C11.2436 3.01449 11.4137 2.74481 11.6316 2.51627C11.6797 2.46264 11.7098 2.39535 11.7179 2.32377C11.7201 2.30488 11.7184 2.28572 11.7129 2.26752L10.7966 1.42752ZM9.05286 0.742522C9.37176 0.423638 9.80145 0.240174 10.2523 0.230393C10.7032 0.220611 11.1404 0.385268 11.4729 0.690022L12.3891 1.53127C12.6629 1.78127 12.7391 2.12252 12.7141 2.41377C12.6879 2.70127 12.5616 2.98252 12.3666 3.19377C12.2446 3.3269 12.1499 3.48276 12.0881 3.65246C12.0263 3.82216 11.9985 4.00237 12.0064 4.18281C12.0142 4.36325 12.0575 4.54037 12.1338 4.70407C12.2101 4.86778 12.3179 5.01485 12.451 5.1369C12.5841 5.25894 12.74 5.35358 12.9097 5.41539C13.0794 5.4772 13.2596 5.50498 13.44 5.49714C13.6205 5.48931 13.7976 5.44601 13.9613 5.36972C14.125 5.29344 14.2721 5.18565 14.3941 5.05252C14.5879 4.84002 14.8566 4.69002 15.1404 4.63877C15.3004 4.60665 15.4656 4.61218 15.6231 4.65492C15.7806 4.69765 15.926 4.77643 16.0479 4.88502L17.1566 5.90127C17.3273 6.0579 17.4652 6.24687 17.5623 6.4572C17.6594 6.66754 17.7138 6.89507 17.7223 7.12658C17.7308 7.35809 17.6932 7.58899 17.6118 7.80587C17.5303 8.02276 17.4066 8.22131 17.2479 8.39002L9.00036 17.155C8.83975 17.3257 8.64649 17.4624 8.43206 17.5569C8.21763 17.6515 7.98638 17.702 7.75205 17.7055C7.51771 17.709 7.28506 17.6654 7.0679 17.5773C6.85074 17.4892 6.65349 17.3583 6.48786 17.1925L5.35786 16.0625C4.92411 15.6288 5.02911 15.0038 5.27411 14.6375C5.44988 14.3731 5.52871 14.0559 5.4972 13.74C5.46569 13.424 5.32579 13.1287 5.10125 12.9041C4.87672 12.6796 4.58139 12.5397 4.26542 12.5082C3.94945 12.4767 3.63231 12.5555 3.36786 12.7313C2.99911 12.975 2.37536 13.08 1.94161 12.645L0.784111 11.4875C0.621589 11.325 0.492669 11.1321 0.404712 10.9198C0.316755 10.7074 0.271484 10.4798 0.271484 10.25C0.271484 10.0202 0.316755 9.79262 0.404712 9.58029C0.492669 9.36795 0.621589 9.17503 0.784111 9.01252L9.05286 0.742522Z\" fill=\"#667085\"/>\r\n <path d=\"M10.7966 1.42752C10.6541 1.29681 10.4667 1.22617 10.2733 1.23037C10.08 1.23456 9.8958 1.31325 9.75911 1.45002L1.48911 9.72002C1.41938 9.78968 1.36406 9.87239 1.32632 9.96344C1.28857 10.0545 1.26915 10.1521 1.26915 10.2506C1.26915 10.3492 1.28857 10.4468 1.32632 10.5379C1.36406 10.6289 1.41938 10.7116 1.48911 10.7813L2.64661 11.9388C2.65632 11.9418 2.66647 11.943 2.67661 11.9425C2.71411 11.9425 2.76411 11.9288 2.81161 11.8975C3.26845 11.5927 3.8168 11.4557 4.36331 11.5097C4.90983 11.5637 5.42073 11.8055 5.80905 12.1938C6.19738 12.5822 6.43913 13.0931 6.49316 13.6396C6.54718 14.1861 6.41014 14.7344 6.10536 15.1913C6.07792 15.2311 6.06231 15.2779 6.06036 15.3263C6.06036 15.3425 6.06286 15.3513 6.06411 15.355L7.19411 16.4863C7.26512 16.5574 7.34971 16.6136 7.44285 16.6514C7.53599 16.6892 7.63579 16.7079 7.7363 16.7064C7.83682 16.7049 7.936 16.6832 8.02796 16.6426C8.11992 16.602 8.20278 16.5433 8.27161 16.47L16.5204 7.70502C16.5883 7.63267 16.6412 7.54755 16.676 7.4546C16.7108 7.36165 16.7268 7.26272 16.7231 7.16354C16.7193 7.06436 16.696 6.96691 16.6543 6.87683C16.6126 6.78675 16.5535 6.70583 16.4804 6.63877L15.3729 5.62252H15.3691C15.3514 5.61902 15.3331 5.61902 15.3154 5.62252C15.2448 5.63722 15.1806 5.67348 15.1316 5.72627C14.9227 5.96305 14.6687 6.15579 14.3845 6.29323C14.1002 6.43067 13.7914 6.51005 13.4761 6.52673C13.1608 6.54341 12.8453 6.49704 12.5481 6.39035C12.251 6.28366 11.978 6.11879 11.7453 5.90537C11.5126 5.69195 11.3248 5.43428 11.1929 5.14742C11.061 4.86055 10.9876 4.55027 10.977 4.2347C10.9664 3.91913 11.0188 3.60462 11.1312 3.30956C11.2436 3.01449 11.4137 2.74481 11.6316 2.51627C11.6797 2.46264 11.7098 2.39535 11.7179 2.32377C11.7201 2.30488 11.7184 2.28572 11.7129 2.26752L10.7966 1.42752ZM9.05286 0.742522C9.37176 0.423638 9.80145 0.240174 10.2523 0.230393C10.7032 0.220611 11.1404 0.385268 11.4729 0.690022L12.3891 1.53127C12.6629 1.78127 12.7391 2.12252 12.7141 2.41377C12.6879 2.70127 12.5616 2.98252 12.3666 3.19377C12.2446 3.3269 12.1499 3.48276 12.0881 3.65246C12.0263 3.82216 11.9985 4.00237 12.0064 4.18281C12.0142 4.36325 12.0575 4.54037 12.1338 4.70407C12.2101 4.86778 12.3179 5.01485 12.451 5.1369C12.5841 5.25894 12.74 5.35358 12.9097 5.41539C13.0794 5.4772 13.2596 5.50498 13.44 5.49714C13.6205 5.48931 13.7976 5.44601 13.9613 5.36972C14.125 5.29344 14.2721 5.18565 14.3941 5.05252C14.5879 4.84002 14.8566 4.69002 15.1404 4.63877C15.3004 4.60665 15.4656 4.61218 15.6231 4.65492C15.7806 4.69765 15.926 4.77643 16.0479 4.88502L17.1566 5.90127C17.3273 6.0579 17.4652 6.24687 17.5623 6.4572C17.6594 6.66754 17.7138 6.89507 17.7223 7.12658C17.7308 7.35809 17.6932 7.58899 17.6118 7.80587C17.5303 8.02276 17.4066 8.22131 17.2479 8.39002L9.00036 17.155C8.83975 17.3257 8.64649 17.4624 8.43206 17.5569C8.21763 17.6515 7.98638 17.702 7.75205 17.7055C7.51771 17.709 7.28506 17.6654 7.0679 17.5773C6.85074 17.4892 6.65349 17.3583 6.48786 17.1925L5.35786 16.0625C4.92411 15.6288 5.02911 15.0038 5.27411 14.6375C5.44988 14.3731 5.52871 14.0559 5.4972 13.74C5.46569 13.424 5.32579 13.1287 5.10125 12.9041C4.87672 12.6796 4.58139 12.5397 4.26542 12.5082C3.94945 12.4767 3.63231 12.5555 3.36786 12.7313C2.99911 12.975 2.37536 13.08 1.94161 12.645L0.784111 11.4875C0.621589 11.325 0.492669 11.1321 0.404712 10.9198C0.316755 10.7074 0.271484 10.4798 0.271484 10.25C0.271484 10.0202 0.316755 9.79262 0.404712 9.58029C0.492669 9.36795 0.621589 9.17503 0.784111 9.01252L9.05286 0.742522Z\" stroke=\"#667085\"/>\r\n </svg> {{closed.ticketId}} </span>\r\n </div>\r\n <div class=\"d-flex align-items-centre justify-content-centre\">\r\n <span *ngIf=\"closed?.ticketType === 'refreshticket'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"14\" viewBox=\"0 0 17 14\" fill=\"none\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5.94602 4.98881L2.66602 6.33881L2.00602 6.07881L0.666016 2.83881L1.58602 2.45881L2.39602 4.40881C2.93977 3.04801 3.92872 1.91169 5.20145 1.18532C6.47419 0.458951 7.95554 0.185426 9.40375 0.409387C10.852 0.633349 12.1815 1.34157 13.1754 2.41846C14.1692 3.49535 14.7687 4.87732 14.876 6.33881H13.876C13.7616 5.09008 13.2224 3.91836 12.3484 3.01919C11.4743 2.12003 10.3184 1.54781 9.0734 1.39804C7.82842 1.24826 6.56973 1.53 5.50739 2.19622C4.44505 2.86244 3.64332 3.87284 3.23602 5.05881L5.55602 4.05881L5.94602 4.98881ZM14.806 7.66881L16.146 10.8988L15.226 11.3388L14.406 9.33881C13.858 10.7049 12.8618 11.8442 11.581 12.5696C10.3001 13.295 8.81077 13.5634 7.35728 13.3309C5.9038 13.0983 4.57255 12.3786 3.582 11.2898C2.59145 10.2009 2.00046 8.80775 1.90602 7.33881H2.90602V6.83881C2.90882 8.12627 3.36402 9.3718 4.19203 10.3577C5.02005 11.3436 6.16821 12.0071 7.43584 12.2322C8.70346 12.4574 10.0099 12.2299 11.1268 11.5895C12.2437 10.9491 13.1 9.93655 13.546 8.72881L11.296 9.65881L10.906 8.73881L14.156 7.38881L14.806 7.66881Z\" fill=\"#98A2B3\"/>\r\n <path d=\"M8.40625 7.54004C8.95853 7.54004 9.40625 7.09232 9.40625 6.54004C9.40625 5.98775 8.95853 5.54004 8.40625 5.54004C7.85397 5.54004 7.40625 5.98775 7.40625 6.54004C7.40625 7.09232 7.85397 7.54004 8.40625 7.54004Z\" fill=\"#98A2B3\"/>\r\n </svg>\r\n </span>\r\n <span *ngIf=\"closed?.issueStatus !== 'notidentified'\" class=\"ms-3\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_3827_12061)\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.20065 10.3333H9.15621V12.3333H7.20065V10.3333ZM9.15621 4.33327H7.20065V9.33326H9.15621V4.33327ZM10.6229 5.83327L9.6451 6.83327L12.0895 9.33326L16.0007 4.83327L15.0229 3.83327L12.0895 7.33326L10.6229 5.83327ZM8.17843 14.0333C6.70108 14.0306 5.28499 13.4292 4.24034 12.3608C3.1957 11.2925 2.60768 9.84418 2.6051 8.33326C2.6051 5.19327 5.10821 2.63327 8.17843 2.63327C9.96776 2.63327 11.5518 3.51327 12.5784 4.83327L13.478 3.91327C12.8395 3.10534 12.0319 2.45415 11.1147 2.00765C10.1976 1.56115 9.19419 1.3307 8.17843 1.33327C4.40421 1.33327 1.33398 4.47327 1.33398 8.33326C1.33398 12.1933 4.40421 15.3333 8.17843 15.3333C11.9527 15.3333 15.0229 12.1933 15.0229 8.33326L13.5367 9.85326C12.8913 12.2633 10.7402 14.0433 8.17843 14.0433V14.0333Z\" fill=\"#98A2B3\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3827_12061\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span *ngIf=\"!closed.isOpen\" (click)=\"selectView($event,index,'closed')\" class=\"ms-3\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\r\n <path d=\"M13.166 2.5H18.166M18.166 2.5V7.5M18.166 2.5L12.3327 8.33333M8.16602 17.5H3.16602M3.16602 17.5V12.5M3.16602 17.5L8.99935 11.6667\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n <div *ngIf=\"!closed.isOpen && closed?.notification\" class=\"profile d-flex align-items-centre justify-content-centre ms-3\">\r\n <img class=\"\" src=\"./assets/tango/Images/Bellnotification.png\" alt=\"\">\r\n </div>\r\n <!-- <img *ngIf=\"cardView\" class=\"profile ms-3\" src=\"./assets/tango/Images/gropmodal.png\" alt=\"\"> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"statusClosed?.length === 0 || !noData && !loading\" class=\"w-100 mt-10 mb-10 mh-60vh d-grid text-center mx-auto\"> \r\n <img class=\"mx-auto\" src=\"./assets/tango/Images/taketicket.svg\">\r\n <span class=\"taketicket mt-5 fw-bold\">No Closed Tickets</span>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"loading?.closed\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData?.closed\">\r\n <div class=\"row rowbody\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body mh-60vh d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"mx-auto\" src=\"./assets/tango/Images/taketicket.svg\">\r\n <span class=\"taketicket mt-5 fw-bold\">No Closed Tickets </span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container> \r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div> \r\n</div>\r\n<div *ngIf=\"userData === 'History'\">\r\n<div *ngIf=\"type === 'installation' || type === 'infra' || type === 'dataMismatch'\" class=\"card-body\">\r\n <div *ngIf=\"!historyLoading && !historyNodata\">\r\n <div class=\"table-responsive\">\r\n <table class=\"table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th><div (click)=\"sortData('issueDate')\">\r\n Created on\r\n <span *ngIf=\"sortColumName === 'issueDate' && sortBy !== 1 || sortColumName !== 'issueDate' \">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueDate' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'issueDate' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueDate' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n <th><div (click)=\"sortData('ticketId')\">\r\n Ticket ID\r\n <span *ngIf=\"sortColumName === 'ticketId' && sortBy !== 1 || sortColumName !== 'ticketId' \">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'ticketId' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'ticketId' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'ticketId' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div (click)=\"sortData('clientName')\">\r\n Brand Name\r\n <span *ngIf=\"sortColumName === 'clientName' && sortBy !== 1 || sortColumName !== 'clientName'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'clientName' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'clientName' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'clientName' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div (click)=\"sortData('clientId')\">\r\n Brand ID\r\n <span *ngIf=\"sortColumName === 'clientId' && sortBy !== 1 || sortColumName !== 'clientId'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'clientId' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'clientId' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'clientId' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div (click)=\"sortData('storeName')\">\r\n Store Name\r\n <span *ngIf=\"sortColumName === 'storeName' && sortBy !== 1 || sortColumName !== 'storeName'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'storeName' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'storeName' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'storeName' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div (click)=\"sortData('storeId')\">\r\n Store ID\r\n <span *ngIf=\"sortColumName === 'storeId' && sortBy !== 1 || sortColumName !== 'storeId'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'storeId' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'storeId' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'storeId' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th *ngIf=\"type === 'infra' || type ==='installation'\"><div (click)=\"sortData('issueDate')\">\r\n Issue Identified on\r\n <span *ngIf=\"sortColumName === 'issueDate' && sortBy !== 1 || sortColumName !== 'issueDate'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueDate' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'issueDate' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueDate' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th *ngIf=\"type === 'dataMismatch'\"><div (click)=\"sortData('issueDate')\">\r\n Issue date\r\n <span *ngIf=\"sortColumName === 'issueDate' && sortBy !== 1 || sortColumName !== 'issueDate'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueDate' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'issueDate' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueDate' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div (click)=\"sortData('issueClosedDate')\">\r\n Closed on\r\n <span *ngIf=\"sortColumName === 'issueClosedDate' && sortBy !== 1 || sortColumName !== 'issueClosedDate'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueClosedDate' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'issueClosedDate' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueClosedDate' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th *ngIf=\"type === 'infra' || type ==='installation'\"><div (click)=\"sortData('infraIssue')\">Issue Type\r\n <span *ngIf=\"sortColumName === 'infraIssue' && sortBy !== 1 || sortColumName !== 'infraIssue'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'infraIssue' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'infraIssue' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'infraIssue' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span></div>\r\n </th>\r\n <th *ngIf=\"type === 'dataMismatch'\"><div (click)=\"sortData('issueType')\">Issue Type\r\n <span *ngIf=\"sortColumName === 'issueType' && sortBy !== 1 || sortColumName !== 'issueType'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueType' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'issueType' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueType' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span></div>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let history of workHistoryTable ; let i = index\">\r\n <td>{{history?.issueDate|customDateFormat}}</td>\r\n <td>{{history?.ticketId ? history?.ticketId :'--'}}</td>\r\n <td>\r\n <div class=\"d-grid ms-3\">\r\n <span>{{history?.clientName ? history?.clientName : '--'}}</span>\r\n \r\n </div>\r\n </td>\r\n <td>\r\n {{history?.clientId ? history?.clientId :'--'}}\r\n </td>\r\n <td>\r\n <div class=\"d-grid ms-3\">\r\n <span class=\"text-primary mb-1\">{{history?.storeName ? history?.storeName :'--'}}</span>\r\n </div>\r\n </td>\r\n <td>\r\n {{history?.storeId ? history?.storeId :'--'}}\r\n </td>\r\n <td *ngIf=\"type === 'infra' || type ==='installation'\">{{history?.issueIdentifiedDate?(history?.issueIdentifiedDate |customDateFormat): '--'}}</td>\r\n <td *ngIf=\"type === 'dataMismatch'\">{{history?.issueDate?(history?.issueDate |customDateFormat): '--'}}</td>\r\n <td>{{history?.issueClosedDate|customDateFormat}}</td>\r\n <td *ngIf=\"type === 'infra' || type ==='installation'\">{{history?.infraIssue ? history?.infraIssue :'--'}}</td>\r\n <td *ngIf=\"type === 'dataMismatch'\">{{history?.issueType ? history?.issueType :'--'}}</td>\r\n </tr>\r\n </tbody>\r\n \r\n </table> \r\n </div>\r\n <lib-pagination [itemsPerPage]=\"limit\" [currentPage]=\"offset\"\r\n [totalItems]=\"workHistoryTable.count\" [paginationSizes]=\"[10,20,30]\" [pageSize]=\"limit\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div> \r\n <ng-container *ngIf=\"historyLoading && !historyNodata\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"historyNodata && !historyLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n</div>\r\n<div *ngIf=\"userData === 'History'\">\r\n <div *ngIf=\"type === 'mat'\" class=\"card-body\">\r\n <div *ngIf=\"!historyLoading && !historyNodata\">\r\n <div class=\"table-responsive\">\r\n <table class=\"table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th><div (click)=\"sortData('issueDate')\">\r\n Date\r\n <span *ngIf=\"sortColumName === 'issueDate' && sortBy !== 1 || sortColumName !== 'issueDate' \">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'issueDate' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n <th><div (click)=\"sortData('ticketId')\">\r\n Ticket ID\r\n <span *ngIf=\"sortColumName === 'ticketId' && sortBy !== 1 || sortColumName !== 'ticketId' \">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'ticketId' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div (click)=\"sortData('clientName')\">\r\n Client Info\r\n <span *ngIf=\"sortColumName === 'clientName' && sortBy !== 1 || sortColumName !== 'clientName'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'clientName' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div (click)=\"sortData('storeName')\"></div>\r\n Store Info\r\n <span *ngIf=\"sortColumName === 'storeName' && sortBy !== 1 || sortColumName !== 'storeName'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'storeName' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </th>\r\n <th><div (click)=\"sortData('status')\">Status\r\n <span *ngIf=\"sortColumName === 'status' && sortBy !== 1 || sortColumName !== 'status'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'status' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span></div>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let history of workHistoryTable ; let i = index\">\r\n <td>{{history?.issueDate|customDateFormat}}</td>\r\n <td>{{history?.ticketId ? history?.ticketId :'--'}}</td>\r\n <td>\r\n <div class=\"d-grid\">\r\n <span class=\"text-primary\">{{history?.clientName ? history?.clientName : '--'}}</span>\r\n <span class=\"textSub mt-1\">ID : {{history?.clientId ? history?.clientId :'--'}}</span>\r\n </div>\r\n </td>\r\n <td>\r\n <div class=\"d-grid ms-3\">\r\n <span class=\"text-primary mb-1\">{{history?.storeName ? history?.storeName :'--'}}</span>\r\n <span class=\"textSub\">ID : {{history?.storeId ? history?.storeId :'--'}}</span>\r\n </div>\r\n </td>\r\n <td>\r\n <span *ngIf=\"history.status ==='open'\" class=\"badge badge-light-danger\">Open</span>\r\n <span *ngIf=\"history.status ==='closed'\" class=\"badge badge-light-success\">Closed</span>\r\n <span *ngIf=\"history.status ==='inprogress'\" class=\"badge badge-light-primary\">In\r\n Progress</span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n \r\n </table> \r\n </div>\r\n <lib-pagination [itemsPerPage]=\"limit\" [currentPage]=\"offset\"\r\n [totalItems]=\"workHistoryTable.count\" [paginationSizes]=\"[10,20,30]\" [pageSize]=\"limit\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div> \r\n <ng-container *ngIf=\"historyLoading && !historyNodata\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"historyNodata && !historyLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"userData === 'History'\">\r\n <div *ngIf=\"type === 'audit'\" class=\"card-body\">\r\n <div *ngIf=\"!historyLoading && !historyNodata\">\r\n <div class=\"table-responsive\"> \r\n <table class=\"table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('fileDate')\">\r\n File Date\r\n <span *ngIf=\"sortColumName === 'fileDate' && sortBy !== 1 || sortColumName !== 'fileDate' \">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'fileDate' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('clientName')\">\r\n Client Info\r\n <span *ngIf=\"sortColumName === 'clientName' && sortBy !== 1 || sortColumName !== 'clientName' \">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'clientName' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('storeName')\">\r\n Store Info\r\n <span *ngIf=\"sortColumName === 'storeName' && sortBy !== 1 || sortColumName !== 'storeName'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'storeName' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('location')\"></div>\r\n Location\r\n <span *ngIf=\"sortColumName === 'location' && sortBy !== 1 || sortColumName !== 'location'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'location' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </th>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('type')\">Type\r\n <span *ngIf=\"sortColumName === 'type' && sortBy !== 1 || sortColumName !== 'type'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'type' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span></div>\r\n </th>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('accuracy')\">Accuracy\r\n <span *ngIf=\"sortColumName === 'accuracy' && sortBy !== 1 || sortColumName !== 'accuracy'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'accuracy' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span></div>\r\n </th>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('timespent')\">Time Spent\r\n <span *ngIf=\"sortColumName === 'timespent' && sortBy !== 1 || sortColumName !== 'timespent'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'timespent' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span></div>\r\n </th>\r\n <th>Status\r\n </th>\r\n <th>Actions\r\n \r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let history of workHistorydata ; let i = index\">\r\n <td>{{history?.fileDate}}</td>\r\n <td>{{history?.clientName ? history?.clientName :'--'}}</td>\r\n <td>{{history?.storeName ? history?.storeName : '--'}}\r\n </td>\r\n <td>{{history?.location ? history?.location :'--'}}</td>\r\n <td>{{history?.type ? history?.type :'--'}}\r\n </td>\r\n <td>{{history?.accuracy ? history?.accuracy :'--'}}</td>\r\n <td>{{history?.timespent ? history?.timespent :'--'}}</td>\r\n <td>\r\n <span *ngIf=\"history.status ==='draft'\" class=\"badge badge-light-warning\">Draft</span>\r\n <span *ngIf=\"history.status ==='completed'\" class=\"badge badge-light-success\">Closed</span>\r\n <span *ngIf=\"history.status ==='inprogress'\" class=\"badge badge-light-primary\">In\r\n Progress</span>\r\n </td>\r\n <td><span class=\"cursor-pointer\" (click)=\"viewUser()\">\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=\"M0.833374 10C0.833374 10 4.16671 3.33337 10 3.33337C15.8334 3.33337 19.1667 10 19.1667 10C19.1667 10 15.8334 16.6667 10 16.6667C4.16671 16.6667 0.833374 10 0.833374 10Z\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M10 12.5C11.3808 12.5 12.5 11.3808 12.5 10C12.5 8.61933 11.3808 7.50004 10 7.50004C8.61933 7.50004 7.50004 8.61933 7.50004 10C7.50004 11.3808 8.61933 12.5 10 12.5Z\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n \r\n </table> \r\n </div>\r\n <!-- <lib-pagination [itemsPerPage]=\"limit\" [currentPage]=\"offset\"\r\n [totalItems]=\"workHistoryTable.count\" [paginationSizes]=\"[10,20,30]\" [pageSize]=\"limit\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination> -->\r\n </div> \r\n <ng-container *ngIf=\"historyLoading && !historyNodata\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"historyNodata && !historyLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n", styles: [".rowbody{background:var(--Gray-50, #F9FAFB)}.issuecard{border-radius:8px;border:1px solid var(--Gray-100, #F2F4F7);background:var(--White, #FFF);box-shadow:0 1px 2px #1018280d;padding:14px 12px}.issuecard label{color:var(--Black, #101828);font-size:16px;line-height:24px}.issuecard.active{background:var(--Primary-25, #F6FCFF);box-shadow:0 2px 4px -2px #1018280f,0 4px 8px -2px #1018281a}.fw-bold-700{font-weight:700!important}.fw-bold-400{font-weight:400!important}.profile{width:24px;height:24px;overflow:hidden;border-radius:200px}.msgprofile{width:48px!important;height:48px!important;border-radius:200px;overflow:hidden}.timingtext{color:var(--Gray-500, #667085);font-size:12px;line-height:18px}.bg-badge{background-color:#776f6f29!important}.items:hover,.tems.focus,.items.active,.camera.focus-visible{background:var(--Gray-50, #F9FAFB)}.textSub{color:var(--Gray-500, #667085);font-size:14px;font-weight:400;line-height:20px}.taketicket{color:var(--Gray-500, #667085);font-size:16px;line-height:24px}tr{vertical-align:middle!important}.img-src{width:25%}.mh-60vh{height:40vh!important}.min-height-60vh{min-height:50vh!important}.text-primary{color:var(--Primary-700, #009BF3)!important;font-family:Inter;font-size:14px;font-weight:500}\n"], dependencies: [{ kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i8.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: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PaginationComponent, selector: "lib-pagination", inputs: ["collection", "itemsPerPage", "currentPage", "totalItems", "directionLinks", "pageSize", "paginationSizes"], outputs: ["pageChange", "pageSizeChange"] }, { kind: "component", type: i3.FiltersComponent, selector: "lib-filters", inputs: ["dataObject"], outputs: ["appliedFilters"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i3.CustomDateFormatPipe, name: "customDateFormat" }] });
|
|
570
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: InfraticketsComponent, selector: "lib-infratickets", host: { listeners: { "document:click": "onClick($event)" } }, ngImport: i0, template: "\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 *ngIf=\"type !== 'mat' && type !== 'dataMismatch'\" class=\"card-label mb-2\">{{type | titlecase}} Tickets</span>\r\n <span *ngIf=\"type === 'dataMismatch'\" class=\"card-label mb-2\">Data Mismatch Tickets</span>\r\n <span *ngIf=\"type === 'mat'\" class=\"card-label mb-2\">Employee Mat</span>\r\n <!-- <span class=\"text-sub mb-2\">Last updated 1 hour ago</span> -->\r\n </h3>\r\n <div *ngIf=\"userData ==='Workspace'\" 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-3\">\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\"></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 <input type=\"text\" class=\"form-control ps-14 me-2\" \r\n placeholder=\"Search\" autocomplete=\"off\" [(ngModel)]=\"searchWorkspace\" (change)=\"searchTickets()\"/>\r\n <lib-filters *ngIf=\"type !== 'mat' && type !=='dataMismatch'\" [dataObject]=\"dataObject1\" (appliedFilters)=\"applyFilters($event)\"></lib-filters>\r\n \r\n <!-- <div *ngIf=\"type !== 'mat'\" class=\"position-relative\">\r\n <button type=\"button\" (click)=\"openDropdown($event)\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\"><svg\r\n width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M5 10H15M2.5 5H17.5M7.5 15H12.5\" stroke=\"#344054\" stroke-width=\"2\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <span class=\"ms-2\">Filter</span> </button>\r\n <div *ngIf=\"dropDown\" class=\"card py-1 w-200px position-absolute top-50px end-0\">\r\n <ul *ngFor=\"let item of dropdownItems\" class=\"list-unstyled\">\r\n <li [ngClass]=\"this.selectedIssue === item ? 'active' : ''\" class=\"camera px-5 items fw-semibold cursor-pointer py-2\" (click)=\"selectItem(item)\">{{item}}</li>\r\n </ul>\r\n </div>\r\n </div> -->\r\n\r\n <button *ngIf=\"(gs.userAccess | async)?.manage_tickets_isDownload && (!noData.open || !noData.inprogress || !noData.closed)\" (click)=\"exportData()\" class=\"btn btn-outline p-3 text-nowrap border border-gray ms-2 me-2\" type=\"button\"><span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\" stroke=\"#344054\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span> Export</button>\r\n <button *ngIf=\"(gs.userAccess | async)?.manage_tickets_isEdit\" type=\"button\" (click)=\"takeTicket()\"\r\n class=\"btn btn-primary mx-2 rounded-3 text-nowrap\"><span class=\"ms-2 text-white\">Take Ticket</span> </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"userData ==='History'\" 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-3\">\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\"></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 <input type=\"text\" class=\"form-control ps-14 me-2\" \r\n placeholder=\"Search\" autocomplete=\"off\" [(ngModel)]=\"searchHistory\" (change)=\"searchHistoryTable()\" />\r\n \r\n <lib-filters *ngIf=\"type !== 'mat' && type!=='audit' && filterStores?.length > 0\" [dataObject]=\"dataObject\" (appliedFilters)=\"receiveData($event)\" ></lib-filters>\r\n\r\n <button *ngIf=\"(gs.userAccess | async)?.manage_tickets_isDownload && !historyNodata\" (click)=\"ExportHistoryasXlsx()\" class=\"btn btn-outline p-3 border border-gray ms-2 me-2 text-nowrap\" type=\"button\"><span>\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=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span> Export\r\n </button>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-body py-2\">\r\n <div class=\"d-flex overflow-auto h-55px\">\r\n <ul class=\"nav nav-stretch nav-line-tabs nav-line-tabs-2x border-transparent fs-5 fw-bolder flex-nowrap\">\r\n <li *ngIf=\"type !== 'audit'\" (click)=\"userValue('Workspace')\" class=\"nav-item cursor-pointer\"><a [ngClass]=\"userData ==='Workspace' ? 'active' :''\"\r\n class=\"nav-link text-active-primary me-6\">Workspace</a>\r\n </li>\r\n <!-- *ngIf=\"type!=='dataMismatch'\" -->\r\n <li (click)=\"userValue('History')\" class=\"nav-item cursor-pointer\"><a [ngClass]=\"userData ==='History' ? 'active' :''\"\r\n class=\"nav-link text-active-primary me-6\">History</a></li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"userData ==='Workspace'\" class=\"card-body\">\r\n <div class=\"row\">\r\n <div class=\"col-sm-4\">\r\n <div class=\"w-100 h-100 rounded-2 overflow-hidden\">\r\n <div class=\"badge-light-default px-3 py-4\">\r\n <span>Open</span><span *ngIf=\"statusOpen?.length > 0 && !loading.open && !noData.open\" class=\"rounded-5 ms-3 px-1 border border-gray bg-badge\">{{statusOpen?.length}}</span>\r\n </div>\r\n <div class=\"rowbody h-100 px-4 py-3\">\r\n <div *ngIf=\"!loading.open && !noData.open\">\r\n <div *ngFor=\"let open of statusOpen; let index = index\">\r\n <div [ngClass]=\"open.isOpen ? 'active':''\" class=\"issuecard cursor-pointer w-100 mb-5\" (click)=\"routetoTicket(open)\">\r\n <div *ngIf=\"open.isOpen\" class=\"d-flex justify-content-between\">\r\n <div class=\"mb-5\">\r\n <label class=\"fw-semibold\">{{open?.storeId ? open?.storeId :'--'}}</label><br>\r\n <label class=\"fw-semibold m-2\">{{open?.storeName ? open?.storeName :'--'}}</label><br>\r\n <div class=\"d-flex align-items-center mt-2\">\r\n <div class=\"badge badge-light-default me-3\">\r\n <svg class=\"me-2\" 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_3732_60277)\">\r\n <path d=\"M8 1V3M4 1V3M1.5 5H10.5M2.5 2H9.5C10.0523 2 10.5 2.44772 10.5 3V10C10.5 10.5523 10.0523 11 9.5 11H2.5C1.94772 11 1.5 10.5523 1.5 10V3C1.5 2.44772 1.94772 2 2.5 2Z\" stroke=\"#667085\" stroke-width=\"1.1\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3732_60277\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>{{open?.Date ? open?.Date : '--'}}\r\n </div>\r\n <span *ngIf=\"open?.infraIssue\" class=\"badge badge-light-warning\">{{open?.infraIssue ? open?.infraIssue :'--'}}</span>\r\n <span *ngIf=\"type ==='installation'\" class=\"badge badge-light-primary\">{{open?.installationStatus ? open?.installationStatus :'--'}}</span>\r\n <span *ngIf=\"type ==='dataMismatch'\" class=\"badge badge-light-warning\">{{open?.issueType === 'highcount' ? 'High Count' : (open?.issueType === 'lowcount' ? 'Low Count' : '')}}</span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex\">\r\n <div *ngIf=\"open?.notification\" class=\"profile d-flex align-items-centre justify-content-centre me-3\">\r\n <img src=\"./assets/tango/Images/Bellnotification.png\" alt=\"\">\r\n </div>\r\n <span (click)=\"selectView($event,index,'open')\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\r\n <path d=\"M13.166 2.5H18.166M18.166 2.5V7.5M18.166 2.5L12.3327 8.33333M8.16602 17.5H3.16602M3.16602 17.5V12.5M3.16602 17.5L8.99935 11.6667\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between text-center align-items-center\"> \r\n <div class=\"d-flex justify-content-between\" > \r\n <span class=\" d-flex align-items-center\"><svg class=\"me-2\" xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\r\n <path d=\"M10.7966 1.42752C10.6541 1.29681 10.4667 1.22617 10.2733 1.23037C10.08 1.23456 9.8958 1.31325 9.75911 1.45002L1.48911 9.72002C1.41938 9.78968 1.36406 9.87239 1.32632 9.96344C1.28857 10.0545 1.26915 10.1521 1.26915 10.2506C1.26915 10.3492 1.28857 10.4468 1.32632 10.5379C1.36406 10.6289 1.41938 10.7116 1.48911 10.7813L2.64661 11.9388C2.65632 11.9418 2.66647 11.943 2.67661 11.9425C2.71411 11.9425 2.76411 11.9288 2.81161 11.8975C3.26845 11.5927 3.8168 11.4557 4.36331 11.5097C4.90983 11.5637 5.42073 11.8055 5.80905 12.1938C6.19738 12.5822 6.43913 13.0931 6.49316 13.6396C6.54718 14.1861 6.41014 14.7344 6.10536 15.1913C6.07792 15.2311 6.06231 15.2779 6.06036 15.3263C6.06036 15.3425 6.06286 15.3513 6.06411 15.355L7.19411 16.4863C7.26512 16.5574 7.34971 16.6136 7.44285 16.6514C7.53599 16.6892 7.63579 16.7079 7.7363 16.7064C7.83682 16.7049 7.936 16.6832 8.02796 16.6426C8.11992 16.602 8.20278 16.5433 8.27161 16.47L16.5204 7.70502C16.5883 7.63267 16.6412 7.54755 16.676 7.4546C16.7108 7.36165 16.7268 7.26272 16.7231 7.16354C16.7193 7.06436 16.696 6.96691 16.6543 6.87683C16.6126 6.78675 16.5535 6.70583 16.4804 6.63877L15.3729 5.62252H15.3691C15.3514 5.61902 15.3331 5.61902 15.3154 5.62252C15.2448 5.63722 15.1806 5.67348 15.1316 5.72627C14.9227 5.96305 14.6687 6.15579 14.3845 6.29323C14.1002 6.43067 13.7914 6.51005 13.4761 6.52673C13.1608 6.54341 12.8453 6.49704 12.5481 6.39035C12.251 6.28366 11.978 6.11879 11.7453 5.90537C11.5126 5.69195 11.3248 5.43428 11.1929 5.14742C11.061 4.86055 10.9876 4.55027 10.977 4.2347C10.9664 3.91913 11.0188 3.60462 11.1312 3.30956C11.2436 3.01449 11.4137 2.74481 11.6316 2.51627C11.6797 2.46264 11.7098 2.39535 11.7179 2.32377C11.7201 2.30488 11.7184 2.28572 11.7129 2.26752L10.7966 1.42752ZM9.05286 0.742522C9.37176 0.423638 9.80145 0.240174 10.2523 0.230393C10.7032 0.220611 11.1404 0.385268 11.4729 0.690022L12.3891 1.53127C12.6629 1.78127 12.7391 2.12252 12.7141 2.41377C12.6879 2.70127 12.5616 2.98252 12.3666 3.19377C12.2446 3.3269 12.1499 3.48276 12.0881 3.65246C12.0263 3.82216 11.9985 4.00237 12.0064 4.18281C12.0142 4.36325 12.0575 4.54037 12.1338 4.70407C12.2101 4.86778 12.3179 5.01485 12.451 5.1369C12.5841 5.25894 12.74 5.35358 12.9097 5.41539C13.0794 5.4772 13.2596 5.50498 13.44 5.49714C13.6205 5.48931 13.7976 5.44601 13.9613 5.36972C14.125 5.29344 14.2721 5.18565 14.3941 5.05252C14.5879 4.84002 14.8566 4.69002 15.1404 4.63877C15.3004 4.60665 15.4656 4.61218 15.6231 4.65492C15.7806 4.69765 15.926 4.77643 16.0479 4.88502L17.1566 5.90127C17.3273 6.0579 17.4652 6.24687 17.5623 6.4572C17.6594 6.66754 17.7138 6.89507 17.7223 7.12658C17.7308 7.35809 17.6932 7.58899 17.6118 7.80587C17.5303 8.02276 17.4066 8.22131 17.2479 8.39002L9.00036 17.155C8.83975 17.3257 8.64649 17.4624 8.43206 17.5569C8.21763 17.6515 7.98638 17.702 7.75205 17.7055C7.51771 17.709 7.28506 17.6654 7.0679 17.5773C6.85074 17.4892 6.65349 17.3583 6.48786 17.1925L5.35786 16.0625C4.92411 15.6288 5.02911 15.0038 5.27411 14.6375C5.44988 14.3731 5.52871 14.0559 5.4972 13.74C5.46569 13.424 5.32579 13.1287 5.10125 12.9041C4.87672 12.6796 4.58139 12.5397 4.26542 12.5082C3.94945 12.4767 3.63231 12.5555 3.36786 12.7313C2.99911 12.975 2.37536 13.08 1.94161 12.645L0.784111 11.4875C0.621589 11.325 0.492669 11.1321 0.404712 10.9198C0.316755 10.7074 0.271484 10.4798 0.271484 10.25C0.271484 10.0202 0.316755 9.79262 0.404712 9.58029C0.492669 9.36795 0.621589 9.17503 0.784111 9.01252L9.05286 0.742522Z\" fill=\"#667085\"/>\r\n <path d=\"M10.7966 1.42752C10.6541 1.29681 10.4667 1.22617 10.2733 1.23037C10.08 1.23456 9.8958 1.31325 9.75911 1.45002L1.48911 9.72002C1.41938 9.78968 1.36406 9.87239 1.32632 9.96344C1.28857 10.0545 1.26915 10.1521 1.26915 10.2506C1.26915 10.3492 1.28857 10.4468 1.32632 10.5379C1.36406 10.6289 1.41938 10.7116 1.48911 10.7813L2.64661 11.9388C2.65632 11.9418 2.66647 11.943 2.67661 11.9425C2.71411 11.9425 2.76411 11.9288 2.81161 11.8975C3.26845 11.5927 3.8168 11.4557 4.36331 11.5097C4.90983 11.5637 5.42073 11.8055 5.80905 12.1938C6.19738 12.5822 6.43913 13.0931 6.49316 13.6396C6.54718 14.1861 6.41014 14.7344 6.10536 15.1913C6.07792 15.2311 6.06231 15.2779 6.06036 15.3263C6.06036 15.3425 6.06286 15.3513 6.06411 15.355L7.19411 16.4863C7.26512 16.5574 7.34971 16.6136 7.44285 16.6514C7.53599 16.6892 7.63579 16.7079 7.7363 16.7064C7.83682 16.7049 7.936 16.6832 8.02796 16.6426C8.11992 16.602 8.20278 16.5433 8.27161 16.47L16.5204 7.70502C16.5883 7.63267 16.6412 7.54755 16.676 7.4546C16.7108 7.36165 16.7268 7.26272 16.7231 7.16354C16.7193 7.06436 16.696 6.96691 16.6543 6.87683C16.6126 6.78675 16.5535 6.70583 16.4804 6.63877L15.3729 5.62252H15.3691C15.3514 5.61902 15.3331 5.61902 15.3154 5.62252C15.2448 5.63722 15.1806 5.67348 15.1316 5.72627C14.9227 5.96305 14.6687 6.15579 14.3845 6.29323C14.1002 6.43067 13.7914 6.51005 13.4761 6.52673C13.1608 6.54341 12.8453 6.49704 12.5481 6.39035C12.251 6.28366 11.978 6.11879 11.7453 5.90537C11.5126 5.69195 11.3248 5.43428 11.1929 5.14742C11.061 4.86055 10.9876 4.55027 10.977 4.2347C10.9664 3.91913 11.0188 3.60462 11.1312 3.30956C11.2436 3.01449 11.4137 2.74481 11.6316 2.51627C11.6797 2.46264 11.7098 2.39535 11.7179 2.32377C11.7201 2.30488 11.7184 2.28572 11.7129 2.26752L10.7966 1.42752ZM9.05286 0.742522C9.37176 0.423638 9.80145 0.240174 10.2523 0.230393C10.7032 0.220611 11.1404 0.385268 11.4729 0.690022L12.3891 1.53127C12.6629 1.78127 12.7391 2.12252 12.7141 2.41377C12.6879 2.70127 12.5616 2.98252 12.3666 3.19377C12.2446 3.3269 12.1499 3.48276 12.0881 3.65246C12.0263 3.82216 11.9985 4.00237 12.0064 4.18281C12.0142 4.36325 12.0575 4.54037 12.1338 4.70407C12.2101 4.86778 12.3179 5.01485 12.451 5.1369C12.5841 5.25894 12.74 5.35358 12.9097 5.41539C13.0794 5.4772 13.2596 5.50498 13.44 5.49714C13.6205 5.48931 13.7976 5.44601 13.9613 5.36972C14.125 5.29344 14.2721 5.18565 14.3941 5.05252C14.5879 4.84002 14.8566 4.69002 15.1404 4.63877C15.3004 4.60665 15.4656 4.61218 15.6231 4.65492C15.7806 4.69765 15.926 4.77643 16.0479 4.88502L17.1566 5.90127C17.3273 6.0579 17.4652 6.24687 17.5623 6.4572C17.6594 6.66754 17.7138 6.89507 17.7223 7.12658C17.7308 7.35809 17.6932 7.58899 17.6118 7.80587C17.5303 8.02276 17.4066 8.22131 17.2479 8.39002L9.00036 17.155C8.83975 17.3257 8.64649 17.4624 8.43206 17.5569C8.21763 17.6515 7.98638 17.702 7.75205 17.7055C7.51771 17.709 7.28506 17.6654 7.0679 17.5773C6.85074 17.4892 6.65349 17.3583 6.48786 17.1925L5.35786 16.0625C4.92411 15.6288 5.02911 15.0038 5.27411 14.6375C5.44988 14.3731 5.52871 14.0559 5.4972 13.74C5.46569 13.424 5.32579 13.1287 5.10125 12.9041C4.87672 12.6796 4.58139 12.5397 4.26542 12.5082C3.94945 12.4767 3.63231 12.5555 3.36786 12.7313C2.99911 12.975 2.37536 13.08 1.94161 12.645L0.784111 11.4875C0.621589 11.325 0.492669 11.1321 0.404712 10.9198C0.316755 10.7074 0.271484 10.4798 0.271484 10.25C0.271484 10.0202 0.316755 9.79262 0.404712 9.58029C0.492669 9.36795 0.621589 9.17503 0.784111 9.01252L9.05286 0.742522Z\" stroke=\"#667085\"/>\r\n </svg> {{open?.ticketId ? open?.ticketId : '--'}} </span>\r\n </div>\r\n <div class=\"d-flex align-items-centre justify-content-centre\">\r\n <span *ngIf=\"open?.ticketType === 'refreshticket'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"14\" viewBox=\"0 0 17 14\" fill=\"none\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5.94602 4.98881L2.66602 6.33881L2.00602 6.07881L0.666016 2.83881L1.58602 2.45881L2.39602 4.40881C2.93977 3.04801 3.92872 1.91169 5.20145 1.18532C6.47419 0.458951 7.95554 0.185426 9.40375 0.409387C10.852 0.633349 12.1815 1.34157 13.1754 2.41846C14.1692 3.49535 14.7687 4.87732 14.876 6.33881H13.876C13.7616 5.09008 13.2224 3.91836 12.3484 3.01919C11.4743 2.12003 10.3184 1.54781 9.0734 1.39804C7.82842 1.24826 6.56973 1.53 5.50739 2.19622C4.44505 2.86244 3.64332 3.87284 3.23602 5.05881L5.55602 4.05881L5.94602 4.98881ZM14.806 7.66881L16.146 10.8988L15.226 11.3388L14.406 9.33881C13.858 10.7049 12.8618 11.8442 11.581 12.5696C10.3001 13.295 8.81077 13.5634 7.35728 13.3309C5.9038 13.0983 4.57255 12.3786 3.582 11.2898C2.59145 10.2009 2.00046 8.80775 1.90602 7.33881H2.90602V6.83881C2.90882 8.12627 3.36402 9.3718 4.19203 10.3577C5.02005 11.3436 6.16821 12.0071 7.43584 12.2322C8.70346 12.4574 10.0099 12.2299 11.1268 11.5895C12.2437 10.9491 13.1 9.93655 13.546 8.72881L11.296 9.65881L10.906 8.73881L14.156 7.38881L14.806 7.66881Z\" fill=\"#98A2B3\"/>\r\n <path d=\"M8.40625 7.54004C8.95853 7.54004 9.40625 7.09232 9.40625 6.54004C9.40625 5.98775 8.95853 5.54004 8.40625 5.54004C7.85397 5.54004 7.40625 5.98775 7.40625 6.54004C7.40625 7.09232 7.85397 7.54004 8.40625 7.54004Z\" fill=\"#98A2B3\"/>\r\n </svg>\r\n </span>\r\n <span *ngIf=\"open?.issueStatus !== 'notidentified'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_3827_12061)\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.20065 10.3333H9.15621V12.3333H7.20065V10.3333ZM9.15621 4.33327H7.20065V9.33326H9.15621V4.33327ZM10.6229 5.83327L9.6451 6.83327L12.0895 9.33326L16.0007 4.83327L15.0229 3.83327L12.0895 7.33326L10.6229 5.83327ZM8.17843 14.0333C6.70108 14.0306 5.28499 13.4292 4.24034 12.3608C3.1957 11.2925 2.60768 9.84418 2.6051 8.33326C2.6051 5.19327 5.10821 2.63327 8.17843 2.63327C9.96776 2.63327 11.5518 3.51327 12.5784 4.83327L13.478 3.91327C12.8395 3.10534 12.0319 2.45415 11.1147 2.00765C10.1976 1.56115 9.19419 1.3307 8.17843 1.33327C4.40421 1.33327 1.33398 4.47327 1.33398 8.33326C1.33398 12.1933 4.40421 15.3333 8.17843 15.3333C11.9527 15.3333 15.0229 12.1933 15.0229 8.33326L13.5367 9.85326C12.8913 12.2633 10.7402 14.0433 8.17843 14.0433V14.0333Z\" fill=\"#98A2B3\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3827_12061\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span *ngIf=\"!open.isOpen\" (click)=\"selectView($event,index,'open')\" class=\"ms-3\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\r\n <path d=\"M13.166 2.5H18.166M18.166 2.5V7.5M18.166 2.5L12.3327 8.33333M8.16602 17.5H3.16602M3.16602 17.5V12.5M3.16602 17.5L8.99935 11.6667\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n <div *ngIf=\"!open.isOpen && open?.notification\" class=\"profile d-flex align-items-centre justify-content-centre ms-3\">\r\n <img class=\"\" src=\"./assets/tango/Images/Bellnotification.png\" alt=\"\">\r\n </div>\r\n <!-- <img *ngIf=\"cardView\" class=\"profile ms-3\" src=\"./assets/tango/Images/gropmodal.png\" alt=\"\"> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"statusOpen?.length === 0 || !noData && !loading\" class=\"w-100 mt-10 mb-10 mh-60vh d-grid text-center\"> \r\n <img class=\"mx-auto mb-2\" src=\"./assets/tango/Images/taketicket.svg\">\r\n <span class=\"taketicket mt-2 fw-bold\">No Open Tickets </span>\r\n <button class=\"w-100 btn btn-primary mt-5\" (click)=\"takeTicket()\">Take Ticket</button>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"loading?.open\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData?.open\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body mh-60vh d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"mx-auto mb-2\" src=\"./assets/tango/Images/taketicket.svg\">\r\n <span class=\"taketicket mt-5 fw-bold\">No Open Tickets </span>\r\n <button *ngIf=\"(gs.userAccess | async)?.manage_tickets_isEdit\" class=\"w-100 btn btn-primary mt-5\" (click)=\"takeTicket()\">Take Ticket</button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container> \r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-4\">\r\n <div class=\"w-100 h-100 rounded-2 overflow-hidden\">\r\n <div class=\"badge-light-default px-3 py-4\">\r\n <span>Inprogress</span><span *ngIf=\"statusInprogress?.length > 0 && !loading.inprogress && !noData.inprogress\" class=\"rounded-5 ms-3 px-1 border border-gray bg-badge\">{{statusInprogress?.length}}</span>\r\n </div>\r\n <div class=\"rowbody h-100 px-4 py-3\">\r\n <div *ngIf=\"!loading.inprogress && !noData.inprogress\">\r\n <div *ngFor=\"let inprogress of statusInprogress; let index = index\">\r\n <div [ngClass]=\"inprogress.isOpen ? 'active':''\" class=\"issuecard cursor-pointer w-100 mb-5\" (click)=\"routetoTicket(inprogress)\">\r\n <div *ngIf=\"inprogress?.isOpen\" class=\"d-flex justify-content-between\">\r\n <div class=\"mb-5\">\r\n <label class=\"fw-semibold\">{{inprogress?.storeId}}</label><br>\r\n <label class=\"fw-semibold my-2\">{{inprogress?.storeName ? inprogress?.storeName :'--'}}</label><br>\r\n <div class=\"d-flex align-items-center mt-2\">\r\n <div class=\"badge badge-light-default me-3\">\r\n <svg class=\"me-2\" 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_3732_60277)\">\r\n <path d=\"M8 1V3M4 1V3M1.5 5H10.5M2.5 2H9.5C10.0523 2 10.5 2.44772 10.5 3V10C10.5 10.5523 10.0523 11 9.5 11H2.5C1.94772 11 1.5 10.5523 1.5 10V3C1.5 2.44772 1.94772 2 2.5 2Z\" stroke=\"#667085\" stroke-width=\"1.1\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3732_60277\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg> {{inprogress?.Date}}\r\n </div>\r\n <span *ngIf=\"inprogress?.infraIssue\" class=\"badge badge-light-warning\">{{inprogress?.infraIssue}}</span>\r\n <span *ngIf=\"type ==='installation' && inprogress?.infraIssue!==''\" class=\"badge badge-light-primary text-capitalize ms-3\">{{inprogress?.installationStatus ? inprogress?.installationStatus :'--'}}</span>\r\n <span *ngIf=\"type ==='dataMismatch'\" class=\"badge badge-light-warning\">{{inprogress?.issueType === 'highcount' ? 'High Count' : (inprogress?.issueType === 'lowcount' ? 'Low Count' : '')}}</span>\r\n </div>\r\n </div>\r\n <div class=\" d-flex\">\r\n <div *ngIf=\"inprogress?.notification\" class=\"profile d-flex align-items-centre justify-content-centre me-3\">\r\n <img src=\"./assets/tango/Images/Bellnotification.png\" alt=\"\">\r\n </div>\r\n <span (click)=\"selectView($event,index,'inprogress')\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\r\n <path d=\"M13.166 2.5H18.166M18.166 2.5V7.5M18.166 2.5L12.3327 8.33333M8.16602 17.5H3.16602M3.16602 17.5V12.5M3.16602 17.5L8.99935 11.6667\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between text-center align-items-center\"> \r\n <div class=\"d-flex justify-content-between\" > \r\n <span class=\" d-flex align-items-center\"><svg class=\"me-2\" xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\r\n <path d=\"M10.7966 1.42752C10.6541 1.29681 10.4667 1.22617 10.2733 1.23037C10.08 1.23456 9.8958 1.31325 9.75911 1.45002L1.48911 9.72002C1.41938 9.78968 1.36406 9.87239 1.32632 9.96344C1.28857 10.0545 1.26915 10.1521 1.26915 10.2506C1.26915 10.3492 1.28857 10.4468 1.32632 10.5379C1.36406 10.6289 1.41938 10.7116 1.48911 10.7813L2.64661 11.9388C2.65632 11.9418 2.66647 11.943 2.67661 11.9425C2.71411 11.9425 2.76411 11.9288 2.81161 11.8975C3.26845 11.5927 3.8168 11.4557 4.36331 11.5097C4.90983 11.5637 5.42073 11.8055 5.80905 12.1938C6.19738 12.5822 6.43913 13.0931 6.49316 13.6396C6.54718 14.1861 6.41014 14.7344 6.10536 15.1913C6.07792 15.2311 6.06231 15.2779 6.06036 15.3263C6.06036 15.3425 6.06286 15.3513 6.06411 15.355L7.19411 16.4863C7.26512 16.5574 7.34971 16.6136 7.44285 16.6514C7.53599 16.6892 7.63579 16.7079 7.7363 16.7064C7.83682 16.7049 7.936 16.6832 8.02796 16.6426C8.11992 16.602 8.20278 16.5433 8.27161 16.47L16.5204 7.70502C16.5883 7.63267 16.6412 7.54755 16.676 7.4546C16.7108 7.36165 16.7268 7.26272 16.7231 7.16354C16.7193 7.06436 16.696 6.96691 16.6543 6.87683C16.6126 6.78675 16.5535 6.70583 16.4804 6.63877L15.3729 5.62252H15.3691C15.3514 5.61902 15.3331 5.61902 15.3154 5.62252C15.2448 5.63722 15.1806 5.67348 15.1316 5.72627C14.9227 5.96305 14.6687 6.15579 14.3845 6.29323C14.1002 6.43067 13.7914 6.51005 13.4761 6.52673C13.1608 6.54341 12.8453 6.49704 12.5481 6.39035C12.251 6.28366 11.978 6.11879 11.7453 5.90537C11.5126 5.69195 11.3248 5.43428 11.1929 5.14742C11.061 4.86055 10.9876 4.55027 10.977 4.2347C10.9664 3.91913 11.0188 3.60462 11.1312 3.30956C11.2436 3.01449 11.4137 2.74481 11.6316 2.51627C11.6797 2.46264 11.7098 2.39535 11.7179 2.32377C11.7201 2.30488 11.7184 2.28572 11.7129 2.26752L10.7966 1.42752ZM9.05286 0.742522C9.37176 0.423638 9.80145 0.240174 10.2523 0.230393C10.7032 0.220611 11.1404 0.385268 11.4729 0.690022L12.3891 1.53127C12.6629 1.78127 12.7391 2.12252 12.7141 2.41377C12.6879 2.70127 12.5616 2.98252 12.3666 3.19377C12.2446 3.3269 12.1499 3.48276 12.0881 3.65246C12.0263 3.82216 11.9985 4.00237 12.0064 4.18281C12.0142 4.36325 12.0575 4.54037 12.1338 4.70407C12.2101 4.86778 12.3179 5.01485 12.451 5.1369C12.5841 5.25894 12.74 5.35358 12.9097 5.41539C13.0794 5.4772 13.2596 5.50498 13.44 5.49714C13.6205 5.48931 13.7976 5.44601 13.9613 5.36972C14.125 5.29344 14.2721 5.18565 14.3941 5.05252C14.5879 4.84002 14.8566 4.69002 15.1404 4.63877C15.3004 4.60665 15.4656 4.61218 15.6231 4.65492C15.7806 4.69765 15.926 4.77643 16.0479 4.88502L17.1566 5.90127C17.3273 6.0579 17.4652 6.24687 17.5623 6.4572C17.6594 6.66754 17.7138 6.89507 17.7223 7.12658C17.7308 7.35809 17.6932 7.58899 17.6118 7.80587C17.5303 8.02276 17.4066 8.22131 17.2479 8.39002L9.00036 17.155C8.83975 17.3257 8.64649 17.4624 8.43206 17.5569C8.21763 17.6515 7.98638 17.702 7.75205 17.7055C7.51771 17.709 7.28506 17.6654 7.0679 17.5773C6.85074 17.4892 6.65349 17.3583 6.48786 17.1925L5.35786 16.0625C4.92411 15.6288 5.02911 15.0038 5.27411 14.6375C5.44988 14.3731 5.52871 14.0559 5.4972 13.74C5.46569 13.424 5.32579 13.1287 5.10125 12.9041C4.87672 12.6796 4.58139 12.5397 4.26542 12.5082C3.94945 12.4767 3.63231 12.5555 3.36786 12.7313C2.99911 12.975 2.37536 13.08 1.94161 12.645L0.784111 11.4875C0.621589 11.325 0.492669 11.1321 0.404712 10.9198C0.316755 10.7074 0.271484 10.4798 0.271484 10.25C0.271484 10.0202 0.316755 9.79262 0.404712 9.58029C0.492669 9.36795 0.621589 9.17503 0.784111 9.01252L9.05286 0.742522Z\" fill=\"#667085\"/>\r\n <path d=\"M10.7966 1.42752C10.6541 1.29681 10.4667 1.22617 10.2733 1.23037C10.08 1.23456 9.8958 1.31325 9.75911 1.45002L1.48911 9.72002C1.41938 9.78968 1.36406 9.87239 1.32632 9.96344C1.28857 10.0545 1.26915 10.1521 1.26915 10.2506C1.26915 10.3492 1.28857 10.4468 1.32632 10.5379C1.36406 10.6289 1.41938 10.7116 1.48911 10.7813L2.64661 11.9388C2.65632 11.9418 2.66647 11.943 2.67661 11.9425C2.71411 11.9425 2.76411 11.9288 2.81161 11.8975C3.26845 11.5927 3.8168 11.4557 4.36331 11.5097C4.90983 11.5637 5.42073 11.8055 5.80905 12.1938C6.19738 12.5822 6.43913 13.0931 6.49316 13.6396C6.54718 14.1861 6.41014 14.7344 6.10536 15.1913C6.07792 15.2311 6.06231 15.2779 6.06036 15.3263C6.06036 15.3425 6.06286 15.3513 6.06411 15.355L7.19411 16.4863C7.26512 16.5574 7.34971 16.6136 7.44285 16.6514C7.53599 16.6892 7.63579 16.7079 7.7363 16.7064C7.83682 16.7049 7.936 16.6832 8.02796 16.6426C8.11992 16.602 8.20278 16.5433 8.27161 16.47L16.5204 7.70502C16.5883 7.63267 16.6412 7.54755 16.676 7.4546C16.7108 7.36165 16.7268 7.26272 16.7231 7.16354C16.7193 7.06436 16.696 6.96691 16.6543 6.87683C16.6126 6.78675 16.5535 6.70583 16.4804 6.63877L15.3729 5.62252H15.3691C15.3514 5.61902 15.3331 5.61902 15.3154 5.62252C15.2448 5.63722 15.1806 5.67348 15.1316 5.72627C14.9227 5.96305 14.6687 6.15579 14.3845 6.29323C14.1002 6.43067 13.7914 6.51005 13.4761 6.52673C13.1608 6.54341 12.8453 6.49704 12.5481 6.39035C12.251 6.28366 11.978 6.11879 11.7453 5.90537C11.5126 5.69195 11.3248 5.43428 11.1929 5.14742C11.061 4.86055 10.9876 4.55027 10.977 4.2347C10.9664 3.91913 11.0188 3.60462 11.1312 3.30956C11.2436 3.01449 11.4137 2.74481 11.6316 2.51627C11.6797 2.46264 11.7098 2.39535 11.7179 2.32377C11.7201 2.30488 11.7184 2.28572 11.7129 2.26752L10.7966 1.42752ZM9.05286 0.742522C9.37176 0.423638 9.80145 0.240174 10.2523 0.230393C10.7032 0.220611 11.1404 0.385268 11.4729 0.690022L12.3891 1.53127C12.6629 1.78127 12.7391 2.12252 12.7141 2.41377C12.6879 2.70127 12.5616 2.98252 12.3666 3.19377C12.2446 3.3269 12.1499 3.48276 12.0881 3.65246C12.0263 3.82216 11.9985 4.00237 12.0064 4.18281C12.0142 4.36325 12.0575 4.54037 12.1338 4.70407C12.2101 4.86778 12.3179 5.01485 12.451 5.1369C12.5841 5.25894 12.74 5.35358 12.9097 5.41539C13.0794 5.4772 13.2596 5.50498 13.44 5.49714C13.6205 5.48931 13.7976 5.44601 13.9613 5.36972C14.125 5.29344 14.2721 5.18565 14.3941 5.05252C14.5879 4.84002 14.8566 4.69002 15.1404 4.63877C15.3004 4.60665 15.4656 4.61218 15.6231 4.65492C15.7806 4.69765 15.926 4.77643 16.0479 4.88502L17.1566 5.90127C17.3273 6.0579 17.4652 6.24687 17.5623 6.4572C17.6594 6.66754 17.7138 6.89507 17.7223 7.12658C17.7308 7.35809 17.6932 7.58899 17.6118 7.80587C17.5303 8.02276 17.4066 8.22131 17.2479 8.39002L9.00036 17.155C8.83975 17.3257 8.64649 17.4624 8.43206 17.5569C8.21763 17.6515 7.98638 17.702 7.75205 17.7055C7.51771 17.709 7.28506 17.6654 7.0679 17.5773C6.85074 17.4892 6.65349 17.3583 6.48786 17.1925L5.35786 16.0625C4.92411 15.6288 5.02911 15.0038 5.27411 14.6375C5.44988 14.3731 5.52871 14.0559 5.4972 13.74C5.46569 13.424 5.32579 13.1287 5.10125 12.9041C4.87672 12.6796 4.58139 12.5397 4.26542 12.5082C3.94945 12.4767 3.63231 12.5555 3.36786 12.7313C2.99911 12.975 2.37536 13.08 1.94161 12.645L0.784111 11.4875C0.621589 11.325 0.492669 11.1321 0.404712 10.9198C0.316755 10.7074 0.271484 10.4798 0.271484 10.25C0.271484 10.0202 0.316755 9.79262 0.404712 9.58029C0.492669 9.36795 0.621589 9.17503 0.784111 9.01252L9.05286 0.742522Z\" stroke=\"#667085\"/>\r\n </svg> {{inprogress?.ticketId}} </span>\r\n </div>\r\n <div class=\"d-flex align-items-centre justify-content-centre\">\r\n <span *ngIf=\"inprogress?.ticketType === 'refreshticket'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"14\" viewBox=\"0 0 17 14\" fill=\"none\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5.94602 4.98881L2.66602 6.33881L2.00602 6.07881L0.666016 2.83881L1.58602 2.45881L2.39602 4.40881C2.93977 3.04801 3.92872 1.91169 5.20145 1.18532C6.47419 0.458951 7.95554 0.185426 9.40375 0.409387C10.852 0.633349 12.1815 1.34157 13.1754 2.41846C14.1692 3.49535 14.7687 4.87732 14.876 6.33881H13.876C13.7616 5.09008 13.2224 3.91836 12.3484 3.01919C11.4743 2.12003 10.3184 1.54781 9.0734 1.39804C7.82842 1.24826 6.56973 1.53 5.50739 2.19622C4.44505 2.86244 3.64332 3.87284 3.23602 5.05881L5.55602 4.05881L5.94602 4.98881ZM14.806 7.66881L16.146 10.8988L15.226 11.3388L14.406 9.33881C13.858 10.7049 12.8618 11.8442 11.581 12.5696C10.3001 13.295 8.81077 13.5634 7.35728 13.3309C5.9038 13.0983 4.57255 12.3786 3.582 11.2898C2.59145 10.2009 2.00046 8.80775 1.90602 7.33881H2.90602V6.83881C2.90882 8.12627 3.36402 9.3718 4.19203 10.3577C5.02005 11.3436 6.16821 12.0071 7.43584 12.2322C8.70346 12.4574 10.0099 12.2299 11.1268 11.5895C12.2437 10.9491 13.1 9.93655 13.546 8.72881L11.296 9.65881L10.906 8.73881L14.156 7.38881L14.806 7.66881Z\" fill=\"#98A2B3\"/>\r\n <path d=\"M8.40625 7.54004C8.95853 7.54004 9.40625 7.09232 9.40625 6.54004C9.40625 5.98775 8.95853 5.54004 8.40625 5.54004C7.85397 5.54004 7.40625 5.98775 7.40625 6.54004C7.40625 7.09232 7.85397 7.54004 8.40625 7.54004Z\" fill=\"#98A2B3\"/>\r\n </svg>\r\n </span>\r\n <span class=\"ms-3\" *ngIf=\"inprogress?.issueStatus !== 'notidentified'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_3827_12061)\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.20065 10.3333H9.15621V12.3333H7.20065V10.3333ZM9.15621 4.33327H7.20065V9.33326H9.15621V4.33327ZM10.6229 5.83327L9.6451 6.83327L12.0895 9.33326L16.0007 4.83327L15.0229 3.83327L12.0895 7.33326L10.6229 5.83327ZM8.17843 14.0333C6.70108 14.0306 5.28499 13.4292 4.24034 12.3608C3.1957 11.2925 2.60768 9.84418 2.6051 8.33326C2.6051 5.19327 5.10821 2.63327 8.17843 2.63327C9.96776 2.63327 11.5518 3.51327 12.5784 4.83327L13.478 3.91327C12.8395 3.10534 12.0319 2.45415 11.1147 2.00765C10.1976 1.56115 9.19419 1.3307 8.17843 1.33327C4.40421 1.33327 1.33398 4.47327 1.33398 8.33326C1.33398 12.1933 4.40421 15.3333 8.17843 15.3333C11.9527 15.3333 15.0229 12.1933 15.0229 8.33326L13.5367 9.85326C12.8913 12.2633 10.7402 14.0433 8.17843 14.0433V14.0333Z\" fill=\"#98A2B3\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3827_12061\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span *ngIf=\"!inprogress.isOpen\" (click)=\"selectView($event,index,'inprogress')\" class=\"ms-3\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\r\n <path d=\"M13.166 2.5H18.166M18.166 2.5V7.5M18.166 2.5L12.3327 8.33333M8.16602 17.5H3.16602M3.16602 17.5V12.5M3.16602 17.5L8.99935 11.6667\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n <div *ngIf=\"!inprogress.isOpen && inprogress?.notification\" class=\"profile d-flex align-items-centre justify-content-centre ms-3\">\r\n <img class=\"\" src=\"./assets/tango/Images/Bellnotification.png\" alt=\"\">\r\n </div>\r\n <!-- <img *ngIf=\"cardView\" class=\"profile ms-3\" src=\"./assets/tango/Images/gropmodal.png\" alt=\"\"> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"statusInprogress?.length === 0 || !noData && !loading\" class=\"w-100 mt-10 mb-10 mh-60vh d-grid text-center mx-auto\"> \r\n <img class=\"mx-auto\" src=\"./assets/tango/Images/taketicket.svg\">\r\n <span class=\"taketicket mt-2 fw-bold\">No In-Progress Tickets </span>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"loading?.inprogress\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData?.inprogress\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body mh-60vh d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"mx-auto\" src=\"./assets/tango/Images/taketicket.svg\">\r\n <span class=\"taketicket mt-5 fw-bold\">No In-Progress Tickets </span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container> \r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-4\">\r\n <div class=\"w-100 h-100 rounded-2 overflow-hidden\" (click)=\"selectTicket()\">\r\n <div class=\"badge-light-default px-3 py-4\">\r\n <span>Closed</span><span *ngIf=\"statusClosed?.length > 0 && !noData.closed && !loading.closed\" class=\"rounded-5 ms-3 px-1 border border-gray border-gray bg-badge\">{{statusClosed?.length}}</span>\r\n </div>\r\n <div class=\"rowbody h-100 px-4 py-3\">\r\n <div *ngIf=\"!noData.closed && !loading.closed\">\r\n <div *ngFor=\"let closed of statusClosed; let index = index\">\r\n <div [ngClass]=\"closed.isOpen ? 'active':''\" class=\"issuecard cursor-pointer w-100 mb-5\" (click)=\"routetoTicket(closed)\">\r\n <div *ngIf=\"closed?.isOpen\" class=\"d-flex justify-content-between\">\r\n <div class=\"mb-5\">\r\n <label class=\"fw-semibold\">{{closed?.storeId}}</label><br>\r\n <label class=\"fw-semibold m-2\">{{closed?.storeName ? closed?.storeName :'--'}}</label><br>\r\n <div class=\"d-flex align-items-center mt-2\">\r\n <div class=\"badge badge-light-default me-3\">\r\n <svg class=\"me-2\" 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_3732_60277)\">\r\n <path d=\"M8 1V3M4 1V3M1.5 5H10.5M2.5 2H9.5C10.0523 2 10.5 2.44772 10.5 3V10C10.5 10.5523 10.0523 11 9.5 11H2.5C1.94772 11 1.5 10.5523 1.5 10V3C1.5 2.44772 1.94772 2 2.5 2Z\" stroke=\"#667085\" stroke-width=\"1.1\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3732_60277\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg> {{closed?.Date}}\r\n </div>\r\n <span *ngIf=\"closed?.infraIssue\" [ngClass]=\"closed?.infraIssue === 'Live'? 'badge badge-light-success':''\" class=\"badge badge-light-warning\"> {{closed?.infraIssue}} </span>\r\n <span *ngIf=\"type ==='dataMismatch'\" [ngClass]=\"closed?.infraIssue === 'Live'? 'badge badge-light-success':''\" class=\"badge badge-light-warning\">{{closed?.issueType === 'highcount' ? 'High Count' : (closed?.issueType === 'lowcount' ? 'Low Count' : '')}}</span>\r\n </div>\r\n </div>\r\n <div class=\" d-flex\">\r\n <div *ngIf=\"closed?.notification\" class=\"profile d-flex align-items-centre justify-content-centre me-3\">\r\n <img src=\"./assets/tango/Images/Bellnotification.png\" alt=\"\">\r\n </div>\r\n <span (click)=\"selectView($event,index,'closed')\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\r\n <path d=\"M13.166 2.5H18.166M18.166 2.5V7.5M18.166 2.5L12.3327 8.33333M8.16602 17.5H3.16602M3.16602 17.5V12.5M3.16602 17.5L8.99935 11.6667\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between text-center align-items-center\"> \r\n <div class=\"d-flex justify-content-between\" > \r\n <span class=\" d-flex align-items-center\"><svg class=\"me-2\" xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\r\n <path d=\"M10.7966 1.42752C10.6541 1.29681 10.4667 1.22617 10.2733 1.23037C10.08 1.23456 9.8958 1.31325 9.75911 1.45002L1.48911 9.72002C1.41938 9.78968 1.36406 9.87239 1.32632 9.96344C1.28857 10.0545 1.26915 10.1521 1.26915 10.2506C1.26915 10.3492 1.28857 10.4468 1.32632 10.5379C1.36406 10.6289 1.41938 10.7116 1.48911 10.7813L2.64661 11.9388C2.65632 11.9418 2.66647 11.943 2.67661 11.9425C2.71411 11.9425 2.76411 11.9288 2.81161 11.8975C3.26845 11.5927 3.8168 11.4557 4.36331 11.5097C4.90983 11.5637 5.42073 11.8055 5.80905 12.1938C6.19738 12.5822 6.43913 13.0931 6.49316 13.6396C6.54718 14.1861 6.41014 14.7344 6.10536 15.1913C6.07792 15.2311 6.06231 15.2779 6.06036 15.3263C6.06036 15.3425 6.06286 15.3513 6.06411 15.355L7.19411 16.4863C7.26512 16.5574 7.34971 16.6136 7.44285 16.6514C7.53599 16.6892 7.63579 16.7079 7.7363 16.7064C7.83682 16.7049 7.936 16.6832 8.02796 16.6426C8.11992 16.602 8.20278 16.5433 8.27161 16.47L16.5204 7.70502C16.5883 7.63267 16.6412 7.54755 16.676 7.4546C16.7108 7.36165 16.7268 7.26272 16.7231 7.16354C16.7193 7.06436 16.696 6.96691 16.6543 6.87683C16.6126 6.78675 16.5535 6.70583 16.4804 6.63877L15.3729 5.62252H15.3691C15.3514 5.61902 15.3331 5.61902 15.3154 5.62252C15.2448 5.63722 15.1806 5.67348 15.1316 5.72627C14.9227 5.96305 14.6687 6.15579 14.3845 6.29323C14.1002 6.43067 13.7914 6.51005 13.4761 6.52673C13.1608 6.54341 12.8453 6.49704 12.5481 6.39035C12.251 6.28366 11.978 6.11879 11.7453 5.90537C11.5126 5.69195 11.3248 5.43428 11.1929 5.14742C11.061 4.86055 10.9876 4.55027 10.977 4.2347C10.9664 3.91913 11.0188 3.60462 11.1312 3.30956C11.2436 3.01449 11.4137 2.74481 11.6316 2.51627C11.6797 2.46264 11.7098 2.39535 11.7179 2.32377C11.7201 2.30488 11.7184 2.28572 11.7129 2.26752L10.7966 1.42752ZM9.05286 0.742522C9.37176 0.423638 9.80145 0.240174 10.2523 0.230393C10.7032 0.220611 11.1404 0.385268 11.4729 0.690022L12.3891 1.53127C12.6629 1.78127 12.7391 2.12252 12.7141 2.41377C12.6879 2.70127 12.5616 2.98252 12.3666 3.19377C12.2446 3.3269 12.1499 3.48276 12.0881 3.65246C12.0263 3.82216 11.9985 4.00237 12.0064 4.18281C12.0142 4.36325 12.0575 4.54037 12.1338 4.70407C12.2101 4.86778 12.3179 5.01485 12.451 5.1369C12.5841 5.25894 12.74 5.35358 12.9097 5.41539C13.0794 5.4772 13.2596 5.50498 13.44 5.49714C13.6205 5.48931 13.7976 5.44601 13.9613 5.36972C14.125 5.29344 14.2721 5.18565 14.3941 5.05252C14.5879 4.84002 14.8566 4.69002 15.1404 4.63877C15.3004 4.60665 15.4656 4.61218 15.6231 4.65492C15.7806 4.69765 15.926 4.77643 16.0479 4.88502L17.1566 5.90127C17.3273 6.0579 17.4652 6.24687 17.5623 6.4572C17.6594 6.66754 17.7138 6.89507 17.7223 7.12658C17.7308 7.35809 17.6932 7.58899 17.6118 7.80587C17.5303 8.02276 17.4066 8.22131 17.2479 8.39002L9.00036 17.155C8.83975 17.3257 8.64649 17.4624 8.43206 17.5569C8.21763 17.6515 7.98638 17.702 7.75205 17.7055C7.51771 17.709 7.28506 17.6654 7.0679 17.5773C6.85074 17.4892 6.65349 17.3583 6.48786 17.1925L5.35786 16.0625C4.92411 15.6288 5.02911 15.0038 5.27411 14.6375C5.44988 14.3731 5.52871 14.0559 5.4972 13.74C5.46569 13.424 5.32579 13.1287 5.10125 12.9041C4.87672 12.6796 4.58139 12.5397 4.26542 12.5082C3.94945 12.4767 3.63231 12.5555 3.36786 12.7313C2.99911 12.975 2.37536 13.08 1.94161 12.645L0.784111 11.4875C0.621589 11.325 0.492669 11.1321 0.404712 10.9198C0.316755 10.7074 0.271484 10.4798 0.271484 10.25C0.271484 10.0202 0.316755 9.79262 0.404712 9.58029C0.492669 9.36795 0.621589 9.17503 0.784111 9.01252L9.05286 0.742522Z\" fill=\"#667085\"/>\r\n <path d=\"M10.7966 1.42752C10.6541 1.29681 10.4667 1.22617 10.2733 1.23037C10.08 1.23456 9.8958 1.31325 9.75911 1.45002L1.48911 9.72002C1.41938 9.78968 1.36406 9.87239 1.32632 9.96344C1.28857 10.0545 1.26915 10.1521 1.26915 10.2506C1.26915 10.3492 1.28857 10.4468 1.32632 10.5379C1.36406 10.6289 1.41938 10.7116 1.48911 10.7813L2.64661 11.9388C2.65632 11.9418 2.66647 11.943 2.67661 11.9425C2.71411 11.9425 2.76411 11.9288 2.81161 11.8975C3.26845 11.5927 3.8168 11.4557 4.36331 11.5097C4.90983 11.5637 5.42073 11.8055 5.80905 12.1938C6.19738 12.5822 6.43913 13.0931 6.49316 13.6396C6.54718 14.1861 6.41014 14.7344 6.10536 15.1913C6.07792 15.2311 6.06231 15.2779 6.06036 15.3263C6.06036 15.3425 6.06286 15.3513 6.06411 15.355L7.19411 16.4863C7.26512 16.5574 7.34971 16.6136 7.44285 16.6514C7.53599 16.6892 7.63579 16.7079 7.7363 16.7064C7.83682 16.7049 7.936 16.6832 8.02796 16.6426C8.11992 16.602 8.20278 16.5433 8.27161 16.47L16.5204 7.70502C16.5883 7.63267 16.6412 7.54755 16.676 7.4546C16.7108 7.36165 16.7268 7.26272 16.7231 7.16354C16.7193 7.06436 16.696 6.96691 16.6543 6.87683C16.6126 6.78675 16.5535 6.70583 16.4804 6.63877L15.3729 5.62252H15.3691C15.3514 5.61902 15.3331 5.61902 15.3154 5.62252C15.2448 5.63722 15.1806 5.67348 15.1316 5.72627C14.9227 5.96305 14.6687 6.15579 14.3845 6.29323C14.1002 6.43067 13.7914 6.51005 13.4761 6.52673C13.1608 6.54341 12.8453 6.49704 12.5481 6.39035C12.251 6.28366 11.978 6.11879 11.7453 5.90537C11.5126 5.69195 11.3248 5.43428 11.1929 5.14742C11.061 4.86055 10.9876 4.55027 10.977 4.2347C10.9664 3.91913 11.0188 3.60462 11.1312 3.30956C11.2436 3.01449 11.4137 2.74481 11.6316 2.51627C11.6797 2.46264 11.7098 2.39535 11.7179 2.32377C11.7201 2.30488 11.7184 2.28572 11.7129 2.26752L10.7966 1.42752ZM9.05286 0.742522C9.37176 0.423638 9.80145 0.240174 10.2523 0.230393C10.7032 0.220611 11.1404 0.385268 11.4729 0.690022L12.3891 1.53127C12.6629 1.78127 12.7391 2.12252 12.7141 2.41377C12.6879 2.70127 12.5616 2.98252 12.3666 3.19377C12.2446 3.3269 12.1499 3.48276 12.0881 3.65246C12.0263 3.82216 11.9985 4.00237 12.0064 4.18281C12.0142 4.36325 12.0575 4.54037 12.1338 4.70407C12.2101 4.86778 12.3179 5.01485 12.451 5.1369C12.5841 5.25894 12.74 5.35358 12.9097 5.41539C13.0794 5.4772 13.2596 5.50498 13.44 5.49714C13.6205 5.48931 13.7976 5.44601 13.9613 5.36972C14.125 5.29344 14.2721 5.18565 14.3941 5.05252C14.5879 4.84002 14.8566 4.69002 15.1404 4.63877C15.3004 4.60665 15.4656 4.61218 15.6231 4.65492C15.7806 4.69765 15.926 4.77643 16.0479 4.88502L17.1566 5.90127C17.3273 6.0579 17.4652 6.24687 17.5623 6.4572C17.6594 6.66754 17.7138 6.89507 17.7223 7.12658C17.7308 7.35809 17.6932 7.58899 17.6118 7.80587C17.5303 8.02276 17.4066 8.22131 17.2479 8.39002L9.00036 17.155C8.83975 17.3257 8.64649 17.4624 8.43206 17.5569C8.21763 17.6515 7.98638 17.702 7.75205 17.7055C7.51771 17.709 7.28506 17.6654 7.0679 17.5773C6.85074 17.4892 6.65349 17.3583 6.48786 17.1925L5.35786 16.0625C4.92411 15.6288 5.02911 15.0038 5.27411 14.6375C5.44988 14.3731 5.52871 14.0559 5.4972 13.74C5.46569 13.424 5.32579 13.1287 5.10125 12.9041C4.87672 12.6796 4.58139 12.5397 4.26542 12.5082C3.94945 12.4767 3.63231 12.5555 3.36786 12.7313C2.99911 12.975 2.37536 13.08 1.94161 12.645L0.784111 11.4875C0.621589 11.325 0.492669 11.1321 0.404712 10.9198C0.316755 10.7074 0.271484 10.4798 0.271484 10.25C0.271484 10.0202 0.316755 9.79262 0.404712 9.58029C0.492669 9.36795 0.621589 9.17503 0.784111 9.01252L9.05286 0.742522Z\" stroke=\"#667085\"/>\r\n </svg> {{closed.ticketId}} </span>\r\n </div>\r\n <div class=\"d-flex align-items-centre justify-content-centre\">\r\n <span *ngIf=\"closed?.ticketType === 'refreshticket'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"14\" viewBox=\"0 0 17 14\" fill=\"none\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5.94602 4.98881L2.66602 6.33881L2.00602 6.07881L0.666016 2.83881L1.58602 2.45881L2.39602 4.40881C2.93977 3.04801 3.92872 1.91169 5.20145 1.18532C6.47419 0.458951 7.95554 0.185426 9.40375 0.409387C10.852 0.633349 12.1815 1.34157 13.1754 2.41846C14.1692 3.49535 14.7687 4.87732 14.876 6.33881H13.876C13.7616 5.09008 13.2224 3.91836 12.3484 3.01919C11.4743 2.12003 10.3184 1.54781 9.0734 1.39804C7.82842 1.24826 6.56973 1.53 5.50739 2.19622C4.44505 2.86244 3.64332 3.87284 3.23602 5.05881L5.55602 4.05881L5.94602 4.98881ZM14.806 7.66881L16.146 10.8988L15.226 11.3388L14.406 9.33881C13.858 10.7049 12.8618 11.8442 11.581 12.5696C10.3001 13.295 8.81077 13.5634 7.35728 13.3309C5.9038 13.0983 4.57255 12.3786 3.582 11.2898C2.59145 10.2009 2.00046 8.80775 1.90602 7.33881H2.90602V6.83881C2.90882 8.12627 3.36402 9.3718 4.19203 10.3577C5.02005 11.3436 6.16821 12.0071 7.43584 12.2322C8.70346 12.4574 10.0099 12.2299 11.1268 11.5895C12.2437 10.9491 13.1 9.93655 13.546 8.72881L11.296 9.65881L10.906 8.73881L14.156 7.38881L14.806 7.66881Z\" fill=\"#98A2B3\"/>\r\n <path d=\"M8.40625 7.54004C8.95853 7.54004 9.40625 7.09232 9.40625 6.54004C9.40625 5.98775 8.95853 5.54004 8.40625 5.54004C7.85397 5.54004 7.40625 5.98775 7.40625 6.54004C7.40625 7.09232 7.85397 7.54004 8.40625 7.54004Z\" fill=\"#98A2B3\"/>\r\n </svg>\r\n </span>\r\n <span *ngIf=\"closed?.issueStatus !== 'notidentified'\" class=\"ms-3\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_3827_12061)\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.20065 10.3333H9.15621V12.3333H7.20065V10.3333ZM9.15621 4.33327H7.20065V9.33326H9.15621V4.33327ZM10.6229 5.83327L9.6451 6.83327L12.0895 9.33326L16.0007 4.83327L15.0229 3.83327L12.0895 7.33326L10.6229 5.83327ZM8.17843 14.0333C6.70108 14.0306 5.28499 13.4292 4.24034 12.3608C3.1957 11.2925 2.60768 9.84418 2.6051 8.33326C2.6051 5.19327 5.10821 2.63327 8.17843 2.63327C9.96776 2.63327 11.5518 3.51327 12.5784 4.83327L13.478 3.91327C12.8395 3.10534 12.0319 2.45415 11.1147 2.00765C10.1976 1.56115 9.19419 1.3307 8.17843 1.33327C4.40421 1.33327 1.33398 4.47327 1.33398 8.33326C1.33398 12.1933 4.40421 15.3333 8.17843 15.3333C11.9527 15.3333 15.0229 12.1933 15.0229 8.33326L13.5367 9.85326C12.8913 12.2633 10.7402 14.0433 8.17843 14.0433V14.0333Z\" fill=\"#98A2B3\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3827_12061\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span *ngIf=\"!closed.isOpen\" (click)=\"selectView($event,index,'closed')\" class=\"ms-3\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\r\n <path d=\"M13.166 2.5H18.166M18.166 2.5V7.5M18.166 2.5L12.3327 8.33333M8.16602 17.5H3.16602M3.16602 17.5V12.5M3.16602 17.5L8.99935 11.6667\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n <div *ngIf=\"!closed.isOpen && closed?.notification\" class=\"profile d-flex align-items-centre justify-content-centre ms-3\">\r\n <img class=\"\" src=\"./assets/tango/Images/Bellnotification.png\" alt=\"\">\r\n </div>\r\n <!-- <img *ngIf=\"cardView\" class=\"profile ms-3\" src=\"./assets/tango/Images/gropmodal.png\" alt=\"\"> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"statusClosed?.length === 0 || !noData && !loading\" class=\"w-100 mt-10 mb-10 mh-60vh d-grid text-center mx-auto\"> \r\n <img class=\"mx-auto\" src=\"./assets/tango/Images/taketicket.svg\">\r\n <span class=\"taketicket mt-5 fw-bold\">No Closed Tickets</span>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"loading?.closed\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData?.closed\">\r\n <div class=\"row rowbody\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body mh-60vh d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"mx-auto\" src=\"./assets/tango/Images/taketicket.svg\">\r\n <span class=\"taketicket mt-5 fw-bold\">No Closed Tickets </span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container> \r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div> \r\n</div>\r\n<div *ngIf=\"userData === 'History'\">\r\n<div *ngIf=\"type === 'installation' || type === 'infra' || type === 'dataMismatch'\" class=\"card-body\">\r\n <div *ngIf=\"!historyLoading && !historyNodata\">\r\n <div class=\"table-responsive\">\r\n <table class=\"table bottom-border text-nowrap\">\r\n <thead>\r\n <tr>\r\n <th><div (click)=\"sortData('issueDate')\">\r\n Created on\r\n <span *ngIf=\"sortColumName === 'issueDate' && sortBy !== 1 || sortColumName !== 'issueDate' \">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueDate' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'issueDate' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueDate' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n <th><div (click)=\"sortData('ticketId')\">\r\n Ticket ID\r\n <span *ngIf=\"sortColumName === 'ticketId' && sortBy !== 1 || sortColumName !== 'ticketId' \">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'ticketId' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'ticketId' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'ticketId' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div (click)=\"sortData('clientName')\">\r\n Brand Name\r\n <span *ngIf=\"sortColumName === 'clientName' && sortBy !== 1 || sortColumName !== 'clientName'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'clientName' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'clientName' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'clientName' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div (click)=\"sortData('clientId')\">\r\n Brand ID\r\n <span *ngIf=\"sortColumName === 'clientId' && sortBy !== 1 || sortColumName !== 'clientId'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'clientId' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'clientId' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'clientId' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div (click)=\"sortData('storeName')\">\r\n Store Name\r\n <span *ngIf=\"sortColumName === 'storeName' && sortBy !== 1 || sortColumName !== 'storeName'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'storeName' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'storeName' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'storeName' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div (click)=\"sortData('storeId')\">\r\n Store ID\r\n <span *ngIf=\"sortColumName === 'storeId' && sortBy !== 1 || sortColumName !== 'storeId'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'storeId' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'storeId' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'storeId' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th *ngIf=\"type === 'infra' || type ==='installation'\"><div (click)=\"sortData('issueDate')\">\r\n Issue Identified on\r\n <span *ngIf=\"sortColumName === 'issueDate' && sortBy !== 1 || sortColumName !== 'issueDate'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueDate' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'issueDate' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueDate' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th *ngIf=\"type === 'dataMismatch'\"><div (click)=\"sortData('issueDate')\">\r\n Issue date\r\n <span *ngIf=\"sortColumName === 'issueDate' && sortBy !== 1 || sortColumName !== 'issueDate'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueDate' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'issueDate' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueDate' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div (click)=\"sortData('issueClosedDate')\">\r\n Closed on\r\n <span *ngIf=\"sortColumName === 'issueClosedDate' && sortBy !== 1 || sortColumName !== 'issueClosedDate'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueClosedDate' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'issueClosedDate' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueClosedDate' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th *ngIf=\"type === 'infra' || type ==='installation'\"><div (click)=\"sortData('infraIssue')\">Issue Type\r\n <span *ngIf=\"sortColumName === 'infraIssue' && sortBy !== 1 || sortColumName !== 'infraIssue'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'infraIssue' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'infraIssue' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'infraIssue' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span></div>\r\n </th>\r\n <th *ngIf=\"type === 'dataMismatch'\"><div (click)=\"sortData('issueType')\">Issue Type\r\n <span *ngIf=\"sortColumName === 'issueType' && sortBy !== 1 || sortColumName !== 'issueType'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueType' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'issueType' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueType' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span></div>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let history of workHistoryTable ; let i = index\">\r\n <td>{{history?.issueDate|customDateFormat}}</td>\r\n <td>{{history?.ticketId ? history?.ticketId :'--'}}</td>\r\n <td>\r\n <div class=\"d-grid ms-3 cursor-pointer\" (click)=\"routetoTicket(history)\">\r\n <span class=\"text-primary mb-1 text-capitalize\">{{history?.clientName ? history?.clientName : '--'}}</span>\r\n \r\n </div>\r\n </td>\r\n <td>\r\n {{history?.clientId ? history?.clientId :'--'}}\r\n </td>\r\n <td>\r\n <div class=\"d-grid ms-3 cursor-pointer\" (click)=\"routetoTicket(history)\">\r\n <span class=\"text-primary mb-1\">{{history?.storeName ? history?.storeName :'--'}}</span>\r\n </div>\r\n </td>\r\n <td>\r\n {{history?.storeId ? history?.storeId :'--'}}\r\n </td>\r\n <td *ngIf=\"type === 'infra' || type ==='installation'\">{{history?.issueIdentifiedDate?(history?.issueIdentifiedDate |customDateFormat): '--'}}</td>\r\n <td *ngIf=\"type === 'dataMismatch'\">{{history?.issueDate?(history?.issueDate |customDateFormat): '--'}}</td>\r\n <td>{{history?.issueClosedDate|customDateFormat}}</td>\r\n <td *ngIf=\"type === 'infra' || type ==='installation'\">{{history?.infraIssue ? history?.infraIssue :'--'}}</td>\r\n <td *ngIf=\"type === 'dataMismatch'\">{{history?.issueType ? history?.issueType :'--'}}</td>\r\n </tr>\r\n </tbody>\r\n \r\n </table> \r\n </div>\r\n <lib-pagination [itemsPerPage]=\"limit\" [currentPage]=\"offset\"\r\n [totalItems]=\"totalItems\" [paginationSizes]=\"[10,20,30]\" [pageSize]=\"limit\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div> \r\n <ng-container *ngIf=\"historyLoading && !historyNodata\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"historyNodata && !historyLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n</div>\r\n<div *ngIf=\"userData === 'History'\">\r\n <div *ngIf=\"type === 'mat'\" class=\"card-body\">\r\n <div *ngIf=\"!historyLoading && !historyNodata\">\r\n <div class=\"table-responsive\">\r\n <table class=\"table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th><div (click)=\"sortData('issueDate')\">\r\n Date\r\n <span *ngIf=\"sortColumName === 'issueDate' && sortBy !== 1 || sortColumName !== 'issueDate' \">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'issueDate' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n <th><div (click)=\"sortData('ticketId')\">\r\n Ticket ID\r\n <span *ngIf=\"sortColumName === 'ticketId' && sortBy !== 1 || sortColumName !== 'ticketId' \">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'ticketId' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div (click)=\"sortData('clientName')\">\r\n Client Info\r\n <span *ngIf=\"sortColumName === 'clientName' && sortBy !== 1 || sortColumName !== 'clientName'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'clientName' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div (click)=\"sortData('storeName')\"></div>\r\n Store Info\r\n <span *ngIf=\"sortColumName === 'storeName' && sortBy !== 1 || sortColumName !== 'storeName'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'storeName' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </th>\r\n <th><div (click)=\"sortData('status')\">Status\r\n <span *ngIf=\"sortColumName === 'status' && sortBy !== 1 || sortColumName !== 'status'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'status' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span></div>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let history of workHistoryTable ; let i = index\">\r\n <td>{{history?.issueDate|customDateFormat}}</td>\r\n <td>{{history?.ticketId ? history?.ticketId :'--'}}</td>\r\n <td>\r\n <div class=\"d-grid\">\r\n <span class=\"text-primary\">{{history?.clientName ? history?.clientName : '--'}}</span>\r\n <span class=\"textSub mt-1\">ID : {{history?.clientId ? history?.clientId :'--'}}</span>\r\n </div>\r\n </td>\r\n <td>\r\n <div class=\"d-grid ms-3\">\r\n <span class=\"text-primary mb-1\">{{history?.storeName ? history?.storeName :'--'}}</span>\r\n <span class=\"textSub\">ID : {{history?.storeId ? history?.storeId :'--'}}</span>\r\n </div>\r\n </td>\r\n <td>\r\n <span *ngIf=\"history.status ==='open'\" class=\"badge badge-light-danger\">Open</span>\r\n <span *ngIf=\"history.status ==='closed'\" class=\"badge badge-light-success\">Closed</span>\r\n <span *ngIf=\"history.status ==='inprogress'\" class=\"badge badge-light-primary\">In\r\n Progress</span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n \r\n </table> \r\n </div>\r\n <lib-pagination [itemsPerPage]=\"limit\" [currentPage]=\"offset\"\r\n [totalItems]=\"totalItems\" [paginationSizes]=\"[10,20,30]\" [pageSize]=\"limit\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div> \r\n <ng-container *ngIf=\"historyLoading && !historyNodata\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"historyNodata && !historyLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"userData === 'History'\">\r\n <div *ngIf=\"type === 'audit'\" class=\"card-body\">\r\n <div *ngIf=\"!historyLoading && !historyNodata\">\r\n <div class=\"table-responsive\"> \r\n <table class=\"table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('fileDate')\">\r\n File Date\r\n <span *ngIf=\"sortColumName === 'fileDate' && sortBy !== 1 || sortColumName !== 'fileDate' \">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'fileDate' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('clientName')\">\r\n Client Info\r\n <span *ngIf=\"sortColumName === 'clientName' && sortBy !== 1 || sortColumName !== 'clientName' \">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'clientName' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('storeName')\">\r\n Store Info\r\n <span *ngIf=\"sortColumName === 'storeName' && sortBy !== 1 || sortColumName !== 'storeName'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'storeName' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('location')\"></div>\r\n Location\r\n <span *ngIf=\"sortColumName === 'location' && sortBy !== 1 || sortColumName !== 'location'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'location' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </th>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('type')\">Type\r\n <span *ngIf=\"sortColumName === 'type' && sortBy !== 1 || sortColumName !== 'type'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'type' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span></div>\r\n </th>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('accuracy')\">Accuracy\r\n <span *ngIf=\"sortColumName === 'accuracy' && sortBy !== 1 || sortColumName !== 'accuracy'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'accuracy' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span></div>\r\n </th>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('timespent')\">Time Spent\r\n <span *ngIf=\"sortColumName === 'timespent' && sortBy !== 1 || sortColumName !== 'timespent'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'timespent' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span></div>\r\n </th>\r\n <th>Status\r\n </th>\r\n <th>Actions\r\n \r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let history of workHistorydata ; let i = index\">\r\n <td>{{history?.fileDate}}</td>\r\n <td>{{history?.clientName ? history?.clientName :'--'}}</td>\r\n <td>{{history?.storeName ? history?.storeName : '--'}}\r\n </td>\r\n <td>{{history?.location ? history?.location :'--'}}</td>\r\n <td>{{history?.type ? history?.type :'--'}}\r\n </td>\r\n <td>{{history?.accuracy ? history?.accuracy :'--'}}</td>\r\n <td>{{history?.timespent ? history?.timespent :'--'}}</td>\r\n <td>\r\n <span *ngIf=\"history.status ==='draft'\" class=\"badge badge-light-warning\">Draft</span>\r\n <span *ngIf=\"history.status ==='completed'\" class=\"badge badge-light-success\">Closed</span>\r\n <span *ngIf=\"history.status ==='inprogress'\" class=\"badge badge-light-primary\">In\r\n Progress</span>\r\n </td>\r\n <td><span class=\"cursor-pointer\" (click)=\"viewUser()\">\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=\"M0.833374 10C0.833374 10 4.16671 3.33337 10 3.33337C15.8334 3.33337 19.1667 10 19.1667 10C19.1667 10 15.8334 16.6667 10 16.6667C4.16671 16.6667 0.833374 10 0.833374 10Z\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M10 12.5C11.3808 12.5 12.5 11.3808 12.5 10C12.5 8.61933 11.3808 7.50004 10 7.50004C8.61933 7.50004 7.50004 8.61933 7.50004 10C7.50004 11.3808 8.61933 12.5 10 12.5Z\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n \r\n </table> \r\n </div>\r\n <!-- <lib-pagination [itemsPerPage]=\"limit\" [currentPage]=\"offset\"\r\n [totalItems]=\"workHistoryTable.count\" [paginationSizes]=\"[10,20,30]\" [pageSize]=\"limit\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination> -->\r\n </div> \r\n <ng-container *ngIf=\"historyLoading && !historyNodata\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"historyNodata && !historyLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n", styles: [".rowbody{background:var(--Gray-50, #F9FAFB)}.issuecard{border-radius:8px;border:1px solid var(--Gray-100, #F2F4F7);background:var(--White, #FFF);box-shadow:0 1px 2px #1018280d;padding:14px 12px}.issuecard label{color:var(--Black, #101828);font-size:16px;line-height:24px}.issuecard.active{background:var(--Primary-25, #F6FCFF);box-shadow:0 2px 4px -2px #1018280f,0 4px 8px -2px #1018281a}.fw-bold-700{font-weight:700!important}.fw-bold-400{font-weight:400!important}.profile{width:24px;height:24px;overflow:hidden;border-radius:200px}.msgprofile{width:48px!important;height:48px!important;border-radius:200px;overflow:hidden}.timingtext{color:var(--Gray-500, #667085);font-size:12px;line-height:18px}.bg-badge{background-color:#776f6f29!important}.items:hover,.tems.focus,.items.active,.camera.focus-visible{background:var(--Gray-50, #F9FAFB)}.textSub{color:var(--Gray-500, #667085);font-size:14px;font-weight:400;line-height:20px}.taketicket{color:var(--Gray-500, #667085);font-size:16px;line-height:24px}tr{vertical-align:middle!important}.img-src{width:25%}.mh-60vh{height:40vh!important}.min-height-60vh{min-height:50vh!important}.text-primary{color:var(--Primary-700, #009BF3)!important;font-family:Inter;font-size:14px;font-weight:500}\n"], dependencies: [{ kind: "directive", type: i7.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i7.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i7.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i8.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: i8.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i8.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }, { kind: "component", type: i3.PaginationComponent, selector: "lib-pagination", inputs: ["collection", "itemsPerPage", "currentPage", "totalItems", "directionLinks", "pageSize", "paginationSizes"], outputs: ["pageChange", "pageSizeChange"] }, { kind: "component", type: i3.FiltersComponent, selector: "lib-filters", inputs: ["dataObject"], outputs: ["appliedFilters"] }, { kind: "pipe", type: i7.AsyncPipe, name: "async" }, { kind: "pipe", type: i7.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i3.CustomDateFormatPipe, name: "customDateFormat" }] });
|
|
568
571
|
}
|
|
569
572
|
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: InfraticketsComponent, decorators: [{
|
|
570
573
|
type: Component,
|
|
571
|
-
args: [{ selector: "lib-infratickets", template: "\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 *ngIf=\"type !== 'mat' && type !== 'dataMismatch'\" class=\"card-label mb-2\">{{type | titlecase}} Tickets</span>\r\n <span *ngIf=\"type === 'dataMismatch'\" class=\"card-label mb-2\">Data Mismatch Tickets</span>\r\n <span *ngIf=\"type === 'mat'\" class=\"card-label mb-2\">Employee Mat</span>\r\n <!-- <span class=\"text-sub mb-2\">Last updated 1 hour ago</span> -->\r\n </h3>\r\n <div *ngIf=\"userData ==='Workspace'\" 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-3\">\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\"></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 <input type=\"text\" class=\"form-control ps-14 me-2\" \r\n placeholder=\"Search\" autocomplete=\"off\" [(ngModel)]=\"searchWorkspace\" (change)=\"searchTickets()\"/>\r\n <lib-filters *ngIf=\"type !== 'mat'\" [dataObject]=\"dataObject1\" (appliedFilters)=\"applyFilters($event)\"></lib-filters>\r\n \r\n <!-- <div *ngIf=\"type !== 'mat'\" class=\"position-relative\">\r\n <button type=\"button\" (click)=\"openDropdown($event)\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\"><svg\r\n width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M5 10H15M2.5 5H17.5M7.5 15H12.5\" stroke=\"#344054\" stroke-width=\"2\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <span class=\"ms-2\">Filter</span> </button>\r\n <div *ngIf=\"dropDown\" class=\"card py-1 w-200px position-absolute top-50px end-0\">\r\n <ul *ngFor=\"let item of dropdownItems\" class=\"list-unstyled\">\r\n <li [ngClass]=\"this.selectedIssue === item ? 'active' : ''\" class=\"camera px-5 items fw-semibold cursor-pointer py-2\" (click)=\"selectItem(item)\">{{item}}</li>\r\n </ul>\r\n </div>\r\n </div> -->\r\n\r\n <button *ngIf=\"(gs.userAccess | async)?.manage_tickets_isDownload && (!noData.open || !noData.inprogress || !noData.closed)\" (click)=\"exportData()\" class=\"btn btn-outline p-3 text-nowrap border border-gray ms-2 me-2\" type=\"button\"><span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\" stroke=\"#344054\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span> Export</button>\r\n <button *ngIf=\"(gs.userAccess | async)?.manage_tickets_isEdit\" type=\"button\" (click)=\"takeTicket()\"\r\n class=\"btn btn-primary mx-2 rounded-3 text-nowrap\"><span class=\"ms-2 text-white\">Take Ticket</span> </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"userData ==='History'\" 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-3\">\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\"></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 <input type=\"text\" class=\"form-control ps-14 me-2\" \r\n placeholder=\"Search\" autocomplete=\"off\" [(ngModel)]=\"searchHistory\" (change)=\"searchHistoryTable()\" />\r\n \r\n <lib-filters *ngIf=\"type !== 'mat' && type!=='audit' && filterStores?.length > 0\" [dataObject]=\"dataObject\" (appliedFilters)=\"receiveData($event)\" ></lib-filters>\r\n\r\n <button *ngIf=\"(gs.userAccess | async)?.manage_tickets_isDownload && !historyNodata\" (click)=\"ExportHistoryasXlsx()\" class=\"btn btn-outline p-3 border border-gray ms-2 me-2 text-nowrap\" type=\"button\"><span>\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=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span> Export\r\n </button>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-body py-2\">\r\n <div class=\"d-flex overflow-auto h-55px\">\r\n <ul class=\"nav nav-stretch nav-line-tabs nav-line-tabs-2x border-transparent fs-5 fw-bolder flex-nowrap\">\r\n <li *ngIf=\"type !== 'audit'\" (click)=\"userValue('Workspace')\" class=\"nav-item cursor-pointer\"><a [ngClass]=\"userData ==='Workspace' ? 'active' :''\"\r\n class=\"nav-link text-active-primary me-6\">Workspace</a>\r\n </li>\r\n <!-- *ngIf=\"type!=='dataMismatch'\" -->\r\n <li (click)=\"userValue('History')\" class=\"nav-item cursor-pointer\"><a [ngClass]=\"userData ==='History' ? 'active' :''\"\r\n class=\"nav-link text-active-primary me-6\">History</a></li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"userData ==='Workspace'\" class=\"card-body\">\r\n <div class=\"row\">\r\n <div class=\"col-sm-4\">\r\n <div class=\"w-100 h-100 rounded-2 overflow-hidden\">\r\n <div class=\"badge-light-default px-3 py-4\">\r\n <span>Open</span><span *ngIf=\"statusOpen?.length > 0 && !loading.open && !noData.open\" class=\"rounded-5 ms-3 px-1 border border-gray bg-badge\">{{statusOpen?.length}}</span>\r\n </div>\r\n <div class=\"rowbody h-100 px-4 py-3\">\r\n <div *ngIf=\"!loading.open && !noData.open\">\r\n <div *ngFor=\"let open of statusOpen; let index = index\">\r\n <div [ngClass]=\"open.isOpen ? 'active':''\" class=\"issuecard cursor-pointer w-100 mb-5\" (click)=\"routetoTicket(open)\">\r\n <div *ngIf=\"open.isOpen\" class=\"d-flex justify-content-between\">\r\n <div class=\"mb-5\">\r\n <label class=\"fw-semibold\">{{open?.storeId ? open?.storeId :'--'}}</label><br>\r\n <label class=\"fw-semibold m-2\">{{open?.storeName ? open?.storeName :'--'}}</label><br>\r\n <div class=\"d-flex align-items-center mt-2\">\r\n <div class=\"badge badge-light-default me-3\">\r\n <svg class=\"me-2\" 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_3732_60277)\">\r\n <path d=\"M8 1V3M4 1V3M1.5 5H10.5M2.5 2H9.5C10.0523 2 10.5 2.44772 10.5 3V10C10.5 10.5523 10.0523 11 9.5 11H2.5C1.94772 11 1.5 10.5523 1.5 10V3C1.5 2.44772 1.94772 2 2.5 2Z\" stroke=\"#667085\" stroke-width=\"1.1\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3732_60277\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>{{open?.Date ? open?.Date : '--'}}\r\n </div>\r\n <span *ngIf=\"open?.infraIssue\" class=\"badge badge-light-warning\">{{open?.infraIssue ? open?.infraIssue :'--'}}</span>\r\n <span *ngIf=\"type ==='installation'\" class=\"badge badge-light-primary\">{{open?.installationStatus ? open?.installationStatus :'--'}}</span>\r\n <span *ngIf=\"type ==='dataMismatch'\" class=\"badge badge-light-warning\">{{open?.issueType === 'highcount' ? 'High Count' : (open?.issueType === 'lowcount' ? 'Low Count' : '')}}</span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex\">\r\n <div *ngIf=\"open?.notification\" class=\"profile d-flex align-items-centre justify-content-centre me-3\">\r\n <img src=\"./assets/tango/Images/Bellnotification.png\" alt=\"\">\r\n </div>\r\n <span (click)=\"selectView($event,index,'open')\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\r\n <path d=\"M13.166 2.5H18.166M18.166 2.5V7.5M18.166 2.5L12.3327 8.33333M8.16602 17.5H3.16602M3.16602 17.5V12.5M3.16602 17.5L8.99935 11.6667\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between text-center align-items-center\"> \r\n <div class=\"d-flex justify-content-between\" > \r\n <span class=\" d-flex align-items-center\"><svg class=\"me-2\" xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\r\n <path d=\"M10.7966 1.42752C10.6541 1.29681 10.4667 1.22617 10.2733 1.23037C10.08 1.23456 9.8958 1.31325 9.75911 1.45002L1.48911 9.72002C1.41938 9.78968 1.36406 9.87239 1.32632 9.96344C1.28857 10.0545 1.26915 10.1521 1.26915 10.2506C1.26915 10.3492 1.28857 10.4468 1.32632 10.5379C1.36406 10.6289 1.41938 10.7116 1.48911 10.7813L2.64661 11.9388C2.65632 11.9418 2.66647 11.943 2.67661 11.9425C2.71411 11.9425 2.76411 11.9288 2.81161 11.8975C3.26845 11.5927 3.8168 11.4557 4.36331 11.5097C4.90983 11.5637 5.42073 11.8055 5.80905 12.1938C6.19738 12.5822 6.43913 13.0931 6.49316 13.6396C6.54718 14.1861 6.41014 14.7344 6.10536 15.1913C6.07792 15.2311 6.06231 15.2779 6.06036 15.3263C6.06036 15.3425 6.06286 15.3513 6.06411 15.355L7.19411 16.4863C7.26512 16.5574 7.34971 16.6136 7.44285 16.6514C7.53599 16.6892 7.63579 16.7079 7.7363 16.7064C7.83682 16.7049 7.936 16.6832 8.02796 16.6426C8.11992 16.602 8.20278 16.5433 8.27161 16.47L16.5204 7.70502C16.5883 7.63267 16.6412 7.54755 16.676 7.4546C16.7108 7.36165 16.7268 7.26272 16.7231 7.16354C16.7193 7.06436 16.696 6.96691 16.6543 6.87683C16.6126 6.78675 16.5535 6.70583 16.4804 6.63877L15.3729 5.62252H15.3691C15.3514 5.61902 15.3331 5.61902 15.3154 5.62252C15.2448 5.63722 15.1806 5.67348 15.1316 5.72627C14.9227 5.96305 14.6687 6.15579 14.3845 6.29323C14.1002 6.43067 13.7914 6.51005 13.4761 6.52673C13.1608 6.54341 12.8453 6.49704 12.5481 6.39035C12.251 6.28366 11.978 6.11879 11.7453 5.90537C11.5126 5.69195 11.3248 5.43428 11.1929 5.14742C11.061 4.86055 10.9876 4.55027 10.977 4.2347C10.9664 3.91913 11.0188 3.60462 11.1312 3.30956C11.2436 3.01449 11.4137 2.74481 11.6316 2.51627C11.6797 2.46264 11.7098 2.39535 11.7179 2.32377C11.7201 2.30488 11.7184 2.28572 11.7129 2.26752L10.7966 1.42752ZM9.05286 0.742522C9.37176 0.423638 9.80145 0.240174 10.2523 0.230393C10.7032 0.220611 11.1404 0.385268 11.4729 0.690022L12.3891 1.53127C12.6629 1.78127 12.7391 2.12252 12.7141 2.41377C12.6879 2.70127 12.5616 2.98252 12.3666 3.19377C12.2446 3.3269 12.1499 3.48276 12.0881 3.65246C12.0263 3.82216 11.9985 4.00237 12.0064 4.18281C12.0142 4.36325 12.0575 4.54037 12.1338 4.70407C12.2101 4.86778 12.3179 5.01485 12.451 5.1369C12.5841 5.25894 12.74 5.35358 12.9097 5.41539C13.0794 5.4772 13.2596 5.50498 13.44 5.49714C13.6205 5.48931 13.7976 5.44601 13.9613 5.36972C14.125 5.29344 14.2721 5.18565 14.3941 5.05252C14.5879 4.84002 14.8566 4.69002 15.1404 4.63877C15.3004 4.60665 15.4656 4.61218 15.6231 4.65492C15.7806 4.69765 15.926 4.77643 16.0479 4.88502L17.1566 5.90127C17.3273 6.0579 17.4652 6.24687 17.5623 6.4572C17.6594 6.66754 17.7138 6.89507 17.7223 7.12658C17.7308 7.35809 17.6932 7.58899 17.6118 7.80587C17.5303 8.02276 17.4066 8.22131 17.2479 8.39002L9.00036 17.155C8.83975 17.3257 8.64649 17.4624 8.43206 17.5569C8.21763 17.6515 7.98638 17.702 7.75205 17.7055C7.51771 17.709 7.28506 17.6654 7.0679 17.5773C6.85074 17.4892 6.65349 17.3583 6.48786 17.1925L5.35786 16.0625C4.92411 15.6288 5.02911 15.0038 5.27411 14.6375C5.44988 14.3731 5.52871 14.0559 5.4972 13.74C5.46569 13.424 5.32579 13.1287 5.10125 12.9041C4.87672 12.6796 4.58139 12.5397 4.26542 12.5082C3.94945 12.4767 3.63231 12.5555 3.36786 12.7313C2.99911 12.975 2.37536 13.08 1.94161 12.645L0.784111 11.4875C0.621589 11.325 0.492669 11.1321 0.404712 10.9198C0.316755 10.7074 0.271484 10.4798 0.271484 10.25C0.271484 10.0202 0.316755 9.79262 0.404712 9.58029C0.492669 9.36795 0.621589 9.17503 0.784111 9.01252L9.05286 0.742522Z\" fill=\"#667085\"/>\r\n <path d=\"M10.7966 1.42752C10.6541 1.29681 10.4667 1.22617 10.2733 1.23037C10.08 1.23456 9.8958 1.31325 9.75911 1.45002L1.48911 9.72002C1.41938 9.78968 1.36406 9.87239 1.32632 9.96344C1.28857 10.0545 1.26915 10.1521 1.26915 10.2506C1.26915 10.3492 1.28857 10.4468 1.32632 10.5379C1.36406 10.6289 1.41938 10.7116 1.48911 10.7813L2.64661 11.9388C2.65632 11.9418 2.66647 11.943 2.67661 11.9425C2.71411 11.9425 2.76411 11.9288 2.81161 11.8975C3.26845 11.5927 3.8168 11.4557 4.36331 11.5097C4.90983 11.5637 5.42073 11.8055 5.80905 12.1938C6.19738 12.5822 6.43913 13.0931 6.49316 13.6396C6.54718 14.1861 6.41014 14.7344 6.10536 15.1913C6.07792 15.2311 6.06231 15.2779 6.06036 15.3263C6.06036 15.3425 6.06286 15.3513 6.06411 15.355L7.19411 16.4863C7.26512 16.5574 7.34971 16.6136 7.44285 16.6514C7.53599 16.6892 7.63579 16.7079 7.7363 16.7064C7.83682 16.7049 7.936 16.6832 8.02796 16.6426C8.11992 16.602 8.20278 16.5433 8.27161 16.47L16.5204 7.70502C16.5883 7.63267 16.6412 7.54755 16.676 7.4546C16.7108 7.36165 16.7268 7.26272 16.7231 7.16354C16.7193 7.06436 16.696 6.96691 16.6543 6.87683C16.6126 6.78675 16.5535 6.70583 16.4804 6.63877L15.3729 5.62252H15.3691C15.3514 5.61902 15.3331 5.61902 15.3154 5.62252C15.2448 5.63722 15.1806 5.67348 15.1316 5.72627C14.9227 5.96305 14.6687 6.15579 14.3845 6.29323C14.1002 6.43067 13.7914 6.51005 13.4761 6.52673C13.1608 6.54341 12.8453 6.49704 12.5481 6.39035C12.251 6.28366 11.978 6.11879 11.7453 5.90537C11.5126 5.69195 11.3248 5.43428 11.1929 5.14742C11.061 4.86055 10.9876 4.55027 10.977 4.2347C10.9664 3.91913 11.0188 3.60462 11.1312 3.30956C11.2436 3.01449 11.4137 2.74481 11.6316 2.51627C11.6797 2.46264 11.7098 2.39535 11.7179 2.32377C11.7201 2.30488 11.7184 2.28572 11.7129 2.26752L10.7966 1.42752ZM9.05286 0.742522C9.37176 0.423638 9.80145 0.240174 10.2523 0.230393C10.7032 0.220611 11.1404 0.385268 11.4729 0.690022L12.3891 1.53127C12.6629 1.78127 12.7391 2.12252 12.7141 2.41377C12.6879 2.70127 12.5616 2.98252 12.3666 3.19377C12.2446 3.3269 12.1499 3.48276 12.0881 3.65246C12.0263 3.82216 11.9985 4.00237 12.0064 4.18281C12.0142 4.36325 12.0575 4.54037 12.1338 4.70407C12.2101 4.86778 12.3179 5.01485 12.451 5.1369C12.5841 5.25894 12.74 5.35358 12.9097 5.41539C13.0794 5.4772 13.2596 5.50498 13.44 5.49714C13.6205 5.48931 13.7976 5.44601 13.9613 5.36972C14.125 5.29344 14.2721 5.18565 14.3941 5.05252C14.5879 4.84002 14.8566 4.69002 15.1404 4.63877C15.3004 4.60665 15.4656 4.61218 15.6231 4.65492C15.7806 4.69765 15.926 4.77643 16.0479 4.88502L17.1566 5.90127C17.3273 6.0579 17.4652 6.24687 17.5623 6.4572C17.6594 6.66754 17.7138 6.89507 17.7223 7.12658C17.7308 7.35809 17.6932 7.58899 17.6118 7.80587C17.5303 8.02276 17.4066 8.22131 17.2479 8.39002L9.00036 17.155C8.83975 17.3257 8.64649 17.4624 8.43206 17.5569C8.21763 17.6515 7.98638 17.702 7.75205 17.7055C7.51771 17.709 7.28506 17.6654 7.0679 17.5773C6.85074 17.4892 6.65349 17.3583 6.48786 17.1925L5.35786 16.0625C4.92411 15.6288 5.02911 15.0038 5.27411 14.6375C5.44988 14.3731 5.52871 14.0559 5.4972 13.74C5.46569 13.424 5.32579 13.1287 5.10125 12.9041C4.87672 12.6796 4.58139 12.5397 4.26542 12.5082C3.94945 12.4767 3.63231 12.5555 3.36786 12.7313C2.99911 12.975 2.37536 13.08 1.94161 12.645L0.784111 11.4875C0.621589 11.325 0.492669 11.1321 0.404712 10.9198C0.316755 10.7074 0.271484 10.4798 0.271484 10.25C0.271484 10.0202 0.316755 9.79262 0.404712 9.58029C0.492669 9.36795 0.621589 9.17503 0.784111 9.01252L9.05286 0.742522Z\" stroke=\"#667085\"/>\r\n </svg> {{open?.ticketId ? open?.ticketId : '--'}} </span>\r\n </div>\r\n <div class=\"d-flex align-items-centre justify-content-centre\">\r\n <span *ngIf=\"open?.ticketType === 'refreshticket'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"14\" viewBox=\"0 0 17 14\" fill=\"none\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5.94602 4.98881L2.66602 6.33881L2.00602 6.07881L0.666016 2.83881L1.58602 2.45881L2.39602 4.40881C2.93977 3.04801 3.92872 1.91169 5.20145 1.18532C6.47419 0.458951 7.95554 0.185426 9.40375 0.409387C10.852 0.633349 12.1815 1.34157 13.1754 2.41846C14.1692 3.49535 14.7687 4.87732 14.876 6.33881H13.876C13.7616 5.09008 13.2224 3.91836 12.3484 3.01919C11.4743 2.12003 10.3184 1.54781 9.0734 1.39804C7.82842 1.24826 6.56973 1.53 5.50739 2.19622C4.44505 2.86244 3.64332 3.87284 3.23602 5.05881L5.55602 4.05881L5.94602 4.98881ZM14.806 7.66881L16.146 10.8988L15.226 11.3388L14.406 9.33881C13.858 10.7049 12.8618 11.8442 11.581 12.5696C10.3001 13.295 8.81077 13.5634 7.35728 13.3309C5.9038 13.0983 4.57255 12.3786 3.582 11.2898C2.59145 10.2009 2.00046 8.80775 1.90602 7.33881H2.90602V6.83881C2.90882 8.12627 3.36402 9.3718 4.19203 10.3577C5.02005 11.3436 6.16821 12.0071 7.43584 12.2322C8.70346 12.4574 10.0099 12.2299 11.1268 11.5895C12.2437 10.9491 13.1 9.93655 13.546 8.72881L11.296 9.65881L10.906 8.73881L14.156 7.38881L14.806 7.66881Z\" fill=\"#98A2B3\"/>\r\n <path d=\"M8.40625 7.54004C8.95853 7.54004 9.40625 7.09232 9.40625 6.54004C9.40625 5.98775 8.95853 5.54004 8.40625 5.54004C7.85397 5.54004 7.40625 5.98775 7.40625 6.54004C7.40625 7.09232 7.85397 7.54004 8.40625 7.54004Z\" fill=\"#98A2B3\"/>\r\n </svg>\r\n </span>\r\n <span *ngIf=\"open?.issueStatus !== 'notidentified'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_3827_12061)\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.20065 10.3333H9.15621V12.3333H7.20065V10.3333ZM9.15621 4.33327H7.20065V9.33326H9.15621V4.33327ZM10.6229 5.83327L9.6451 6.83327L12.0895 9.33326L16.0007 4.83327L15.0229 3.83327L12.0895 7.33326L10.6229 5.83327ZM8.17843 14.0333C6.70108 14.0306 5.28499 13.4292 4.24034 12.3608C3.1957 11.2925 2.60768 9.84418 2.6051 8.33326C2.6051 5.19327 5.10821 2.63327 8.17843 2.63327C9.96776 2.63327 11.5518 3.51327 12.5784 4.83327L13.478 3.91327C12.8395 3.10534 12.0319 2.45415 11.1147 2.00765C10.1976 1.56115 9.19419 1.3307 8.17843 1.33327C4.40421 1.33327 1.33398 4.47327 1.33398 8.33326C1.33398 12.1933 4.40421 15.3333 8.17843 15.3333C11.9527 15.3333 15.0229 12.1933 15.0229 8.33326L13.5367 9.85326C12.8913 12.2633 10.7402 14.0433 8.17843 14.0433V14.0333Z\" fill=\"#98A2B3\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3827_12061\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span *ngIf=\"!open.isOpen\" (click)=\"selectView($event,index,'open')\" class=\"ms-3\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\r\n <path d=\"M13.166 2.5H18.166M18.166 2.5V7.5M18.166 2.5L12.3327 8.33333M8.16602 17.5H3.16602M3.16602 17.5V12.5M3.16602 17.5L8.99935 11.6667\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n <div *ngIf=\"!open.isOpen && open?.notification\" class=\"profile d-flex align-items-centre justify-content-centre ms-3\">\r\n <img class=\"\" src=\"./assets/tango/Images/Bellnotification.png\" alt=\"\">\r\n </div>\r\n <!-- <img *ngIf=\"cardView\" class=\"profile ms-3\" src=\"./assets/tango/Images/gropmodal.png\" alt=\"\"> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"statusOpen?.length === 0 || !noData && !loading\" class=\"w-100 mt-10 mb-10 mh-60vh d-grid text-center\"> \r\n <img class=\"mx-auto mb-2\" src=\"./assets/tango/Images/taketicket.svg\">\r\n <span class=\"taketicket mt-2 fw-bold\">No Open Tickets </span>\r\n <button class=\"w-100 btn btn-primary mt-5\" (click)=\"takeTicket()\">Take Ticket</button>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"loading?.open\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData?.open\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body mh-60vh d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"mx-auto mb-2\" src=\"./assets/tango/Images/taketicket.svg\">\r\n <span class=\"taketicket mt-5 fw-bold\">No Open Tickets </span>\r\n <button *ngIf=\"(gs.userAccess | async)?.manage_tickets_isEdit\" class=\"w-100 btn btn-primary mt-5\" (click)=\"takeTicket()\">Take Ticket</button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container> \r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-4\">\r\n <div class=\"w-100 h-100 rounded-2 overflow-hidden\">\r\n <div class=\"badge-light-default px-3 py-4\">\r\n <span>Inprogress</span><span *ngIf=\"statusInprogress?.length > 0 && !loading.inprogress && !noData.inprogress\" class=\"rounded-5 ms-3 px-1 border border-gray bg-badge\">{{statusInprogress?.length}}</span>\r\n </div>\r\n <div class=\"rowbody h-100 px-4 py-3\">\r\n <div *ngIf=\"!loading.inprogress && !noData.inprogress\">\r\n <div *ngFor=\"let inprogress of statusInprogress; let index = index\">\r\n <div [ngClass]=\"inprogress.isOpen ? 'active':''\" class=\"issuecard cursor-pointer w-100 mb-5\" (click)=\"routetoTicket(inprogress)\">\r\n <div *ngIf=\"inprogress?.isOpen\" class=\"d-flex justify-content-between\">\r\n <div class=\"mb-5\">\r\n <label class=\"fw-semibold\">{{inprogress?.storeId}}</label><br>\r\n <label class=\"fw-semibold my-2\">{{inprogress?.storeName ? inprogress?.storeName :'--'}}</label><br>\r\n <div class=\"d-flex align-items-center mt-2\">\r\n <div class=\"badge badge-light-default me-3\">\r\n <svg class=\"me-2\" 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_3732_60277)\">\r\n <path d=\"M8 1V3M4 1V3M1.5 5H10.5M2.5 2H9.5C10.0523 2 10.5 2.44772 10.5 3V10C10.5 10.5523 10.0523 11 9.5 11H2.5C1.94772 11 1.5 10.5523 1.5 10V3C1.5 2.44772 1.94772 2 2.5 2Z\" stroke=\"#667085\" stroke-width=\"1.1\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3732_60277\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg> {{inprogress?.Date}}\r\n </div>\r\n <span *ngIf=\"inprogress?.infraIssue\" class=\"badge badge-light-warning\">{{inprogress?.infraIssue}}</span>\r\n <span *ngIf=\"type ==='installation' && inprogress?.infraIssue!==''\" class=\"badge badge-light-primary text-capitalize ms-3\">{{inprogress?.installationStatus ? inprogress?.installationStatus :'--'}}</span>\r\n <span *ngIf=\"type ==='dataMismatch'\" class=\"badge badge-light-warning\">{{inprogress?.issueType === 'highcount' ? 'High Count' : (inprogress?.issueType === 'lowcount' ? 'Low Count' : '')}}</span>\r\n </div>\r\n </div>\r\n <div class=\" d-flex\">\r\n <div *ngIf=\"inprogress?.notification\" class=\"profile d-flex align-items-centre justify-content-centre me-3\">\r\n <img src=\"./assets/tango/Images/Bellnotification.png\" alt=\"\">\r\n </div>\r\n <span (click)=\"selectView($event,index,'inprogress')\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\r\n <path d=\"M13.166 2.5H18.166M18.166 2.5V7.5M18.166 2.5L12.3327 8.33333M8.16602 17.5H3.16602M3.16602 17.5V12.5M3.16602 17.5L8.99935 11.6667\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between text-center align-items-center\"> \r\n <div class=\"d-flex justify-content-between\" > \r\n <span class=\" d-flex align-items-center\"><svg class=\"me-2\" xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\r\n <path d=\"M10.7966 1.42752C10.6541 1.29681 10.4667 1.22617 10.2733 1.23037C10.08 1.23456 9.8958 1.31325 9.75911 1.45002L1.48911 9.72002C1.41938 9.78968 1.36406 9.87239 1.32632 9.96344C1.28857 10.0545 1.26915 10.1521 1.26915 10.2506C1.26915 10.3492 1.28857 10.4468 1.32632 10.5379C1.36406 10.6289 1.41938 10.7116 1.48911 10.7813L2.64661 11.9388C2.65632 11.9418 2.66647 11.943 2.67661 11.9425C2.71411 11.9425 2.76411 11.9288 2.81161 11.8975C3.26845 11.5927 3.8168 11.4557 4.36331 11.5097C4.90983 11.5637 5.42073 11.8055 5.80905 12.1938C6.19738 12.5822 6.43913 13.0931 6.49316 13.6396C6.54718 14.1861 6.41014 14.7344 6.10536 15.1913C6.07792 15.2311 6.06231 15.2779 6.06036 15.3263C6.06036 15.3425 6.06286 15.3513 6.06411 15.355L7.19411 16.4863C7.26512 16.5574 7.34971 16.6136 7.44285 16.6514C7.53599 16.6892 7.63579 16.7079 7.7363 16.7064C7.83682 16.7049 7.936 16.6832 8.02796 16.6426C8.11992 16.602 8.20278 16.5433 8.27161 16.47L16.5204 7.70502C16.5883 7.63267 16.6412 7.54755 16.676 7.4546C16.7108 7.36165 16.7268 7.26272 16.7231 7.16354C16.7193 7.06436 16.696 6.96691 16.6543 6.87683C16.6126 6.78675 16.5535 6.70583 16.4804 6.63877L15.3729 5.62252H15.3691C15.3514 5.61902 15.3331 5.61902 15.3154 5.62252C15.2448 5.63722 15.1806 5.67348 15.1316 5.72627C14.9227 5.96305 14.6687 6.15579 14.3845 6.29323C14.1002 6.43067 13.7914 6.51005 13.4761 6.52673C13.1608 6.54341 12.8453 6.49704 12.5481 6.39035C12.251 6.28366 11.978 6.11879 11.7453 5.90537C11.5126 5.69195 11.3248 5.43428 11.1929 5.14742C11.061 4.86055 10.9876 4.55027 10.977 4.2347C10.9664 3.91913 11.0188 3.60462 11.1312 3.30956C11.2436 3.01449 11.4137 2.74481 11.6316 2.51627C11.6797 2.46264 11.7098 2.39535 11.7179 2.32377C11.7201 2.30488 11.7184 2.28572 11.7129 2.26752L10.7966 1.42752ZM9.05286 0.742522C9.37176 0.423638 9.80145 0.240174 10.2523 0.230393C10.7032 0.220611 11.1404 0.385268 11.4729 0.690022L12.3891 1.53127C12.6629 1.78127 12.7391 2.12252 12.7141 2.41377C12.6879 2.70127 12.5616 2.98252 12.3666 3.19377C12.2446 3.3269 12.1499 3.48276 12.0881 3.65246C12.0263 3.82216 11.9985 4.00237 12.0064 4.18281C12.0142 4.36325 12.0575 4.54037 12.1338 4.70407C12.2101 4.86778 12.3179 5.01485 12.451 5.1369C12.5841 5.25894 12.74 5.35358 12.9097 5.41539C13.0794 5.4772 13.2596 5.50498 13.44 5.49714C13.6205 5.48931 13.7976 5.44601 13.9613 5.36972C14.125 5.29344 14.2721 5.18565 14.3941 5.05252C14.5879 4.84002 14.8566 4.69002 15.1404 4.63877C15.3004 4.60665 15.4656 4.61218 15.6231 4.65492C15.7806 4.69765 15.926 4.77643 16.0479 4.88502L17.1566 5.90127C17.3273 6.0579 17.4652 6.24687 17.5623 6.4572C17.6594 6.66754 17.7138 6.89507 17.7223 7.12658C17.7308 7.35809 17.6932 7.58899 17.6118 7.80587C17.5303 8.02276 17.4066 8.22131 17.2479 8.39002L9.00036 17.155C8.83975 17.3257 8.64649 17.4624 8.43206 17.5569C8.21763 17.6515 7.98638 17.702 7.75205 17.7055C7.51771 17.709 7.28506 17.6654 7.0679 17.5773C6.85074 17.4892 6.65349 17.3583 6.48786 17.1925L5.35786 16.0625C4.92411 15.6288 5.02911 15.0038 5.27411 14.6375C5.44988 14.3731 5.52871 14.0559 5.4972 13.74C5.46569 13.424 5.32579 13.1287 5.10125 12.9041C4.87672 12.6796 4.58139 12.5397 4.26542 12.5082C3.94945 12.4767 3.63231 12.5555 3.36786 12.7313C2.99911 12.975 2.37536 13.08 1.94161 12.645L0.784111 11.4875C0.621589 11.325 0.492669 11.1321 0.404712 10.9198C0.316755 10.7074 0.271484 10.4798 0.271484 10.25C0.271484 10.0202 0.316755 9.79262 0.404712 9.58029C0.492669 9.36795 0.621589 9.17503 0.784111 9.01252L9.05286 0.742522Z\" fill=\"#667085\"/>\r\n <path d=\"M10.7966 1.42752C10.6541 1.29681 10.4667 1.22617 10.2733 1.23037C10.08 1.23456 9.8958 1.31325 9.75911 1.45002L1.48911 9.72002C1.41938 9.78968 1.36406 9.87239 1.32632 9.96344C1.28857 10.0545 1.26915 10.1521 1.26915 10.2506C1.26915 10.3492 1.28857 10.4468 1.32632 10.5379C1.36406 10.6289 1.41938 10.7116 1.48911 10.7813L2.64661 11.9388C2.65632 11.9418 2.66647 11.943 2.67661 11.9425C2.71411 11.9425 2.76411 11.9288 2.81161 11.8975C3.26845 11.5927 3.8168 11.4557 4.36331 11.5097C4.90983 11.5637 5.42073 11.8055 5.80905 12.1938C6.19738 12.5822 6.43913 13.0931 6.49316 13.6396C6.54718 14.1861 6.41014 14.7344 6.10536 15.1913C6.07792 15.2311 6.06231 15.2779 6.06036 15.3263C6.06036 15.3425 6.06286 15.3513 6.06411 15.355L7.19411 16.4863C7.26512 16.5574 7.34971 16.6136 7.44285 16.6514C7.53599 16.6892 7.63579 16.7079 7.7363 16.7064C7.83682 16.7049 7.936 16.6832 8.02796 16.6426C8.11992 16.602 8.20278 16.5433 8.27161 16.47L16.5204 7.70502C16.5883 7.63267 16.6412 7.54755 16.676 7.4546C16.7108 7.36165 16.7268 7.26272 16.7231 7.16354C16.7193 7.06436 16.696 6.96691 16.6543 6.87683C16.6126 6.78675 16.5535 6.70583 16.4804 6.63877L15.3729 5.62252H15.3691C15.3514 5.61902 15.3331 5.61902 15.3154 5.62252C15.2448 5.63722 15.1806 5.67348 15.1316 5.72627C14.9227 5.96305 14.6687 6.15579 14.3845 6.29323C14.1002 6.43067 13.7914 6.51005 13.4761 6.52673C13.1608 6.54341 12.8453 6.49704 12.5481 6.39035C12.251 6.28366 11.978 6.11879 11.7453 5.90537C11.5126 5.69195 11.3248 5.43428 11.1929 5.14742C11.061 4.86055 10.9876 4.55027 10.977 4.2347C10.9664 3.91913 11.0188 3.60462 11.1312 3.30956C11.2436 3.01449 11.4137 2.74481 11.6316 2.51627C11.6797 2.46264 11.7098 2.39535 11.7179 2.32377C11.7201 2.30488 11.7184 2.28572 11.7129 2.26752L10.7966 1.42752ZM9.05286 0.742522C9.37176 0.423638 9.80145 0.240174 10.2523 0.230393C10.7032 0.220611 11.1404 0.385268 11.4729 0.690022L12.3891 1.53127C12.6629 1.78127 12.7391 2.12252 12.7141 2.41377C12.6879 2.70127 12.5616 2.98252 12.3666 3.19377C12.2446 3.3269 12.1499 3.48276 12.0881 3.65246C12.0263 3.82216 11.9985 4.00237 12.0064 4.18281C12.0142 4.36325 12.0575 4.54037 12.1338 4.70407C12.2101 4.86778 12.3179 5.01485 12.451 5.1369C12.5841 5.25894 12.74 5.35358 12.9097 5.41539C13.0794 5.4772 13.2596 5.50498 13.44 5.49714C13.6205 5.48931 13.7976 5.44601 13.9613 5.36972C14.125 5.29344 14.2721 5.18565 14.3941 5.05252C14.5879 4.84002 14.8566 4.69002 15.1404 4.63877C15.3004 4.60665 15.4656 4.61218 15.6231 4.65492C15.7806 4.69765 15.926 4.77643 16.0479 4.88502L17.1566 5.90127C17.3273 6.0579 17.4652 6.24687 17.5623 6.4572C17.6594 6.66754 17.7138 6.89507 17.7223 7.12658C17.7308 7.35809 17.6932 7.58899 17.6118 7.80587C17.5303 8.02276 17.4066 8.22131 17.2479 8.39002L9.00036 17.155C8.83975 17.3257 8.64649 17.4624 8.43206 17.5569C8.21763 17.6515 7.98638 17.702 7.75205 17.7055C7.51771 17.709 7.28506 17.6654 7.0679 17.5773C6.85074 17.4892 6.65349 17.3583 6.48786 17.1925L5.35786 16.0625C4.92411 15.6288 5.02911 15.0038 5.27411 14.6375C5.44988 14.3731 5.52871 14.0559 5.4972 13.74C5.46569 13.424 5.32579 13.1287 5.10125 12.9041C4.87672 12.6796 4.58139 12.5397 4.26542 12.5082C3.94945 12.4767 3.63231 12.5555 3.36786 12.7313C2.99911 12.975 2.37536 13.08 1.94161 12.645L0.784111 11.4875C0.621589 11.325 0.492669 11.1321 0.404712 10.9198C0.316755 10.7074 0.271484 10.4798 0.271484 10.25C0.271484 10.0202 0.316755 9.79262 0.404712 9.58029C0.492669 9.36795 0.621589 9.17503 0.784111 9.01252L9.05286 0.742522Z\" stroke=\"#667085\"/>\r\n </svg> {{inprogress?.ticketId}} </span>\r\n </div>\r\n <div class=\"d-flex align-items-centre justify-content-centre\">\r\n <span *ngIf=\"inprogress?.ticketType === 'refreshticket'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"14\" viewBox=\"0 0 17 14\" fill=\"none\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5.94602 4.98881L2.66602 6.33881L2.00602 6.07881L0.666016 2.83881L1.58602 2.45881L2.39602 4.40881C2.93977 3.04801 3.92872 1.91169 5.20145 1.18532C6.47419 0.458951 7.95554 0.185426 9.40375 0.409387C10.852 0.633349 12.1815 1.34157 13.1754 2.41846C14.1692 3.49535 14.7687 4.87732 14.876 6.33881H13.876C13.7616 5.09008 13.2224 3.91836 12.3484 3.01919C11.4743 2.12003 10.3184 1.54781 9.0734 1.39804C7.82842 1.24826 6.56973 1.53 5.50739 2.19622C4.44505 2.86244 3.64332 3.87284 3.23602 5.05881L5.55602 4.05881L5.94602 4.98881ZM14.806 7.66881L16.146 10.8988L15.226 11.3388L14.406 9.33881C13.858 10.7049 12.8618 11.8442 11.581 12.5696C10.3001 13.295 8.81077 13.5634 7.35728 13.3309C5.9038 13.0983 4.57255 12.3786 3.582 11.2898C2.59145 10.2009 2.00046 8.80775 1.90602 7.33881H2.90602V6.83881C2.90882 8.12627 3.36402 9.3718 4.19203 10.3577C5.02005 11.3436 6.16821 12.0071 7.43584 12.2322C8.70346 12.4574 10.0099 12.2299 11.1268 11.5895C12.2437 10.9491 13.1 9.93655 13.546 8.72881L11.296 9.65881L10.906 8.73881L14.156 7.38881L14.806 7.66881Z\" fill=\"#98A2B3\"/>\r\n <path d=\"M8.40625 7.54004C8.95853 7.54004 9.40625 7.09232 9.40625 6.54004C9.40625 5.98775 8.95853 5.54004 8.40625 5.54004C7.85397 5.54004 7.40625 5.98775 7.40625 6.54004C7.40625 7.09232 7.85397 7.54004 8.40625 7.54004Z\" fill=\"#98A2B3\"/>\r\n </svg>\r\n </span>\r\n <span class=\"ms-3\" *ngIf=\"inprogress?.issueStatus !== 'notidentified'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_3827_12061)\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.20065 10.3333H9.15621V12.3333H7.20065V10.3333ZM9.15621 4.33327H7.20065V9.33326H9.15621V4.33327ZM10.6229 5.83327L9.6451 6.83327L12.0895 9.33326L16.0007 4.83327L15.0229 3.83327L12.0895 7.33326L10.6229 5.83327ZM8.17843 14.0333C6.70108 14.0306 5.28499 13.4292 4.24034 12.3608C3.1957 11.2925 2.60768 9.84418 2.6051 8.33326C2.6051 5.19327 5.10821 2.63327 8.17843 2.63327C9.96776 2.63327 11.5518 3.51327 12.5784 4.83327L13.478 3.91327C12.8395 3.10534 12.0319 2.45415 11.1147 2.00765C10.1976 1.56115 9.19419 1.3307 8.17843 1.33327C4.40421 1.33327 1.33398 4.47327 1.33398 8.33326C1.33398 12.1933 4.40421 15.3333 8.17843 15.3333C11.9527 15.3333 15.0229 12.1933 15.0229 8.33326L13.5367 9.85326C12.8913 12.2633 10.7402 14.0433 8.17843 14.0433V14.0333Z\" fill=\"#98A2B3\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3827_12061\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span *ngIf=\"!inprogress.isOpen\" (click)=\"selectView($event,index,'inprogress')\" class=\"ms-3\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\r\n <path d=\"M13.166 2.5H18.166M18.166 2.5V7.5M18.166 2.5L12.3327 8.33333M8.16602 17.5H3.16602M3.16602 17.5V12.5M3.16602 17.5L8.99935 11.6667\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n <div *ngIf=\"!inprogress.isOpen && inprogress?.notification\" class=\"profile d-flex align-items-centre justify-content-centre ms-3\">\r\n <img class=\"\" src=\"./assets/tango/Images/Bellnotification.png\" alt=\"\">\r\n </div>\r\n <!-- <img *ngIf=\"cardView\" class=\"profile ms-3\" src=\"./assets/tango/Images/gropmodal.png\" alt=\"\"> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"statusInprogress?.length === 0 || !noData && !loading\" class=\"w-100 mt-10 mb-10 mh-60vh d-grid text-center mx-auto\"> \r\n <img class=\"mx-auto\" src=\"./assets/tango/Images/taketicket.svg\">\r\n <span class=\"taketicket mt-2 fw-bold\">No In-Progress Tickets </span>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"loading?.inprogress\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData?.inprogress\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body mh-60vh d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"mx-auto\" src=\"./assets/tango/Images/taketicket.svg\">\r\n <span class=\"taketicket mt-5 fw-bold\">No In-Progress Tickets </span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container> \r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-4\">\r\n <div class=\"w-100 h-100 rounded-2 overflow-hidden\" (click)=\"selectTicket()\">\r\n <div class=\"badge-light-default px-3 py-4\">\r\n <span>Closed</span><span *ngIf=\"statusClosed?.length > 0 && !noData.closed && !loading.closed\" class=\"rounded-5 ms-3 px-1 border border-gray border-gray bg-badge\">{{statusClosed?.length}}</span>\r\n </div>\r\n <div class=\"rowbody h-100 px-4 py-3\">\r\n <div *ngIf=\"!noData.closed && !loading.closed\">\r\n <div *ngFor=\"let closed of statusClosed; let index = index\">\r\n <div [ngClass]=\"closed.isOpen ? 'active':''\" class=\"issuecard cursor-pointer w-100 mb-5\" (click)=\"routetoTicket(closed)\">\r\n <div *ngIf=\"closed?.isOpen\" class=\"d-flex justify-content-between\">\r\n <div class=\"mb-5\">\r\n <label class=\"fw-semibold\">{{closed?.storeId}}</label><br>\r\n <label class=\"fw-semibold m-2\">{{closed?.storeName ? closed?.storeName :'--'}}</label><br>\r\n <div class=\"d-flex align-items-center mt-2\">\r\n <div class=\"badge badge-light-default me-3\">\r\n <svg class=\"me-2\" 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_3732_60277)\">\r\n <path d=\"M8 1V3M4 1V3M1.5 5H10.5M2.5 2H9.5C10.0523 2 10.5 2.44772 10.5 3V10C10.5 10.5523 10.0523 11 9.5 11H2.5C1.94772 11 1.5 10.5523 1.5 10V3C1.5 2.44772 1.94772 2 2.5 2Z\" stroke=\"#667085\" stroke-width=\"1.1\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3732_60277\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg> {{closed?.Date}}\r\n </div>\r\n <span *ngIf=\"closed?.infraIssue\" [ngClass]=\"closed?.infraIssue === 'Live'? 'badge badge-light-success':''\" class=\"badge badge-light-warning\"> {{closed?.infraIssue}} </span>\r\n <span *ngIf=\"type ==='dataMismatch'\" [ngClass]=\"closed?.infraIssue === 'Live'? 'badge badge-light-success':''\" class=\"badge badge-light-warning\">{{closed?.issueType === 'highcount' ? 'High Count' : (closed?.issueType === 'lowcount' ? 'Low Count' : '')}}</span>\r\n </div>\r\n </div>\r\n <div class=\" d-flex\">\r\n <div *ngIf=\"closed?.notification\" class=\"profile d-flex align-items-centre justify-content-centre me-3\">\r\n <img src=\"./assets/tango/Images/Bellnotification.png\" alt=\"\">\r\n </div>\r\n <span (click)=\"selectView($event,index,'closed')\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\r\n <path d=\"M13.166 2.5H18.166M18.166 2.5V7.5M18.166 2.5L12.3327 8.33333M8.16602 17.5H3.16602M3.16602 17.5V12.5M3.16602 17.5L8.99935 11.6667\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between text-center align-items-center\"> \r\n <div class=\"d-flex justify-content-between\" > \r\n <span class=\" d-flex align-items-center\"><svg class=\"me-2\" xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\r\n <path d=\"M10.7966 1.42752C10.6541 1.29681 10.4667 1.22617 10.2733 1.23037C10.08 1.23456 9.8958 1.31325 9.75911 1.45002L1.48911 9.72002C1.41938 9.78968 1.36406 9.87239 1.32632 9.96344C1.28857 10.0545 1.26915 10.1521 1.26915 10.2506C1.26915 10.3492 1.28857 10.4468 1.32632 10.5379C1.36406 10.6289 1.41938 10.7116 1.48911 10.7813L2.64661 11.9388C2.65632 11.9418 2.66647 11.943 2.67661 11.9425C2.71411 11.9425 2.76411 11.9288 2.81161 11.8975C3.26845 11.5927 3.8168 11.4557 4.36331 11.5097C4.90983 11.5637 5.42073 11.8055 5.80905 12.1938C6.19738 12.5822 6.43913 13.0931 6.49316 13.6396C6.54718 14.1861 6.41014 14.7344 6.10536 15.1913C6.07792 15.2311 6.06231 15.2779 6.06036 15.3263C6.06036 15.3425 6.06286 15.3513 6.06411 15.355L7.19411 16.4863C7.26512 16.5574 7.34971 16.6136 7.44285 16.6514C7.53599 16.6892 7.63579 16.7079 7.7363 16.7064C7.83682 16.7049 7.936 16.6832 8.02796 16.6426C8.11992 16.602 8.20278 16.5433 8.27161 16.47L16.5204 7.70502C16.5883 7.63267 16.6412 7.54755 16.676 7.4546C16.7108 7.36165 16.7268 7.26272 16.7231 7.16354C16.7193 7.06436 16.696 6.96691 16.6543 6.87683C16.6126 6.78675 16.5535 6.70583 16.4804 6.63877L15.3729 5.62252H15.3691C15.3514 5.61902 15.3331 5.61902 15.3154 5.62252C15.2448 5.63722 15.1806 5.67348 15.1316 5.72627C14.9227 5.96305 14.6687 6.15579 14.3845 6.29323C14.1002 6.43067 13.7914 6.51005 13.4761 6.52673C13.1608 6.54341 12.8453 6.49704 12.5481 6.39035C12.251 6.28366 11.978 6.11879 11.7453 5.90537C11.5126 5.69195 11.3248 5.43428 11.1929 5.14742C11.061 4.86055 10.9876 4.55027 10.977 4.2347C10.9664 3.91913 11.0188 3.60462 11.1312 3.30956C11.2436 3.01449 11.4137 2.74481 11.6316 2.51627C11.6797 2.46264 11.7098 2.39535 11.7179 2.32377C11.7201 2.30488 11.7184 2.28572 11.7129 2.26752L10.7966 1.42752ZM9.05286 0.742522C9.37176 0.423638 9.80145 0.240174 10.2523 0.230393C10.7032 0.220611 11.1404 0.385268 11.4729 0.690022L12.3891 1.53127C12.6629 1.78127 12.7391 2.12252 12.7141 2.41377C12.6879 2.70127 12.5616 2.98252 12.3666 3.19377C12.2446 3.3269 12.1499 3.48276 12.0881 3.65246C12.0263 3.82216 11.9985 4.00237 12.0064 4.18281C12.0142 4.36325 12.0575 4.54037 12.1338 4.70407C12.2101 4.86778 12.3179 5.01485 12.451 5.1369C12.5841 5.25894 12.74 5.35358 12.9097 5.41539C13.0794 5.4772 13.2596 5.50498 13.44 5.49714C13.6205 5.48931 13.7976 5.44601 13.9613 5.36972C14.125 5.29344 14.2721 5.18565 14.3941 5.05252C14.5879 4.84002 14.8566 4.69002 15.1404 4.63877C15.3004 4.60665 15.4656 4.61218 15.6231 4.65492C15.7806 4.69765 15.926 4.77643 16.0479 4.88502L17.1566 5.90127C17.3273 6.0579 17.4652 6.24687 17.5623 6.4572C17.6594 6.66754 17.7138 6.89507 17.7223 7.12658C17.7308 7.35809 17.6932 7.58899 17.6118 7.80587C17.5303 8.02276 17.4066 8.22131 17.2479 8.39002L9.00036 17.155C8.83975 17.3257 8.64649 17.4624 8.43206 17.5569C8.21763 17.6515 7.98638 17.702 7.75205 17.7055C7.51771 17.709 7.28506 17.6654 7.0679 17.5773C6.85074 17.4892 6.65349 17.3583 6.48786 17.1925L5.35786 16.0625C4.92411 15.6288 5.02911 15.0038 5.27411 14.6375C5.44988 14.3731 5.52871 14.0559 5.4972 13.74C5.46569 13.424 5.32579 13.1287 5.10125 12.9041C4.87672 12.6796 4.58139 12.5397 4.26542 12.5082C3.94945 12.4767 3.63231 12.5555 3.36786 12.7313C2.99911 12.975 2.37536 13.08 1.94161 12.645L0.784111 11.4875C0.621589 11.325 0.492669 11.1321 0.404712 10.9198C0.316755 10.7074 0.271484 10.4798 0.271484 10.25C0.271484 10.0202 0.316755 9.79262 0.404712 9.58029C0.492669 9.36795 0.621589 9.17503 0.784111 9.01252L9.05286 0.742522Z\" fill=\"#667085\"/>\r\n <path d=\"M10.7966 1.42752C10.6541 1.29681 10.4667 1.22617 10.2733 1.23037C10.08 1.23456 9.8958 1.31325 9.75911 1.45002L1.48911 9.72002C1.41938 9.78968 1.36406 9.87239 1.32632 9.96344C1.28857 10.0545 1.26915 10.1521 1.26915 10.2506C1.26915 10.3492 1.28857 10.4468 1.32632 10.5379C1.36406 10.6289 1.41938 10.7116 1.48911 10.7813L2.64661 11.9388C2.65632 11.9418 2.66647 11.943 2.67661 11.9425C2.71411 11.9425 2.76411 11.9288 2.81161 11.8975C3.26845 11.5927 3.8168 11.4557 4.36331 11.5097C4.90983 11.5637 5.42073 11.8055 5.80905 12.1938C6.19738 12.5822 6.43913 13.0931 6.49316 13.6396C6.54718 14.1861 6.41014 14.7344 6.10536 15.1913C6.07792 15.2311 6.06231 15.2779 6.06036 15.3263C6.06036 15.3425 6.06286 15.3513 6.06411 15.355L7.19411 16.4863C7.26512 16.5574 7.34971 16.6136 7.44285 16.6514C7.53599 16.6892 7.63579 16.7079 7.7363 16.7064C7.83682 16.7049 7.936 16.6832 8.02796 16.6426C8.11992 16.602 8.20278 16.5433 8.27161 16.47L16.5204 7.70502C16.5883 7.63267 16.6412 7.54755 16.676 7.4546C16.7108 7.36165 16.7268 7.26272 16.7231 7.16354C16.7193 7.06436 16.696 6.96691 16.6543 6.87683C16.6126 6.78675 16.5535 6.70583 16.4804 6.63877L15.3729 5.62252H15.3691C15.3514 5.61902 15.3331 5.61902 15.3154 5.62252C15.2448 5.63722 15.1806 5.67348 15.1316 5.72627C14.9227 5.96305 14.6687 6.15579 14.3845 6.29323C14.1002 6.43067 13.7914 6.51005 13.4761 6.52673C13.1608 6.54341 12.8453 6.49704 12.5481 6.39035C12.251 6.28366 11.978 6.11879 11.7453 5.90537C11.5126 5.69195 11.3248 5.43428 11.1929 5.14742C11.061 4.86055 10.9876 4.55027 10.977 4.2347C10.9664 3.91913 11.0188 3.60462 11.1312 3.30956C11.2436 3.01449 11.4137 2.74481 11.6316 2.51627C11.6797 2.46264 11.7098 2.39535 11.7179 2.32377C11.7201 2.30488 11.7184 2.28572 11.7129 2.26752L10.7966 1.42752ZM9.05286 0.742522C9.37176 0.423638 9.80145 0.240174 10.2523 0.230393C10.7032 0.220611 11.1404 0.385268 11.4729 0.690022L12.3891 1.53127C12.6629 1.78127 12.7391 2.12252 12.7141 2.41377C12.6879 2.70127 12.5616 2.98252 12.3666 3.19377C12.2446 3.3269 12.1499 3.48276 12.0881 3.65246C12.0263 3.82216 11.9985 4.00237 12.0064 4.18281C12.0142 4.36325 12.0575 4.54037 12.1338 4.70407C12.2101 4.86778 12.3179 5.01485 12.451 5.1369C12.5841 5.25894 12.74 5.35358 12.9097 5.41539C13.0794 5.4772 13.2596 5.50498 13.44 5.49714C13.6205 5.48931 13.7976 5.44601 13.9613 5.36972C14.125 5.29344 14.2721 5.18565 14.3941 5.05252C14.5879 4.84002 14.8566 4.69002 15.1404 4.63877C15.3004 4.60665 15.4656 4.61218 15.6231 4.65492C15.7806 4.69765 15.926 4.77643 16.0479 4.88502L17.1566 5.90127C17.3273 6.0579 17.4652 6.24687 17.5623 6.4572C17.6594 6.66754 17.7138 6.89507 17.7223 7.12658C17.7308 7.35809 17.6932 7.58899 17.6118 7.80587C17.5303 8.02276 17.4066 8.22131 17.2479 8.39002L9.00036 17.155C8.83975 17.3257 8.64649 17.4624 8.43206 17.5569C8.21763 17.6515 7.98638 17.702 7.75205 17.7055C7.51771 17.709 7.28506 17.6654 7.0679 17.5773C6.85074 17.4892 6.65349 17.3583 6.48786 17.1925L5.35786 16.0625C4.92411 15.6288 5.02911 15.0038 5.27411 14.6375C5.44988 14.3731 5.52871 14.0559 5.4972 13.74C5.46569 13.424 5.32579 13.1287 5.10125 12.9041C4.87672 12.6796 4.58139 12.5397 4.26542 12.5082C3.94945 12.4767 3.63231 12.5555 3.36786 12.7313C2.99911 12.975 2.37536 13.08 1.94161 12.645L0.784111 11.4875C0.621589 11.325 0.492669 11.1321 0.404712 10.9198C0.316755 10.7074 0.271484 10.4798 0.271484 10.25C0.271484 10.0202 0.316755 9.79262 0.404712 9.58029C0.492669 9.36795 0.621589 9.17503 0.784111 9.01252L9.05286 0.742522Z\" stroke=\"#667085\"/>\r\n </svg> {{closed.ticketId}} </span>\r\n </div>\r\n <div class=\"d-flex align-items-centre justify-content-centre\">\r\n <span *ngIf=\"closed?.ticketType === 'refreshticket'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"14\" viewBox=\"0 0 17 14\" fill=\"none\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5.94602 4.98881L2.66602 6.33881L2.00602 6.07881L0.666016 2.83881L1.58602 2.45881L2.39602 4.40881C2.93977 3.04801 3.92872 1.91169 5.20145 1.18532C6.47419 0.458951 7.95554 0.185426 9.40375 0.409387C10.852 0.633349 12.1815 1.34157 13.1754 2.41846C14.1692 3.49535 14.7687 4.87732 14.876 6.33881H13.876C13.7616 5.09008 13.2224 3.91836 12.3484 3.01919C11.4743 2.12003 10.3184 1.54781 9.0734 1.39804C7.82842 1.24826 6.56973 1.53 5.50739 2.19622C4.44505 2.86244 3.64332 3.87284 3.23602 5.05881L5.55602 4.05881L5.94602 4.98881ZM14.806 7.66881L16.146 10.8988L15.226 11.3388L14.406 9.33881C13.858 10.7049 12.8618 11.8442 11.581 12.5696C10.3001 13.295 8.81077 13.5634 7.35728 13.3309C5.9038 13.0983 4.57255 12.3786 3.582 11.2898C2.59145 10.2009 2.00046 8.80775 1.90602 7.33881H2.90602V6.83881C2.90882 8.12627 3.36402 9.3718 4.19203 10.3577C5.02005 11.3436 6.16821 12.0071 7.43584 12.2322C8.70346 12.4574 10.0099 12.2299 11.1268 11.5895C12.2437 10.9491 13.1 9.93655 13.546 8.72881L11.296 9.65881L10.906 8.73881L14.156 7.38881L14.806 7.66881Z\" fill=\"#98A2B3\"/>\r\n <path d=\"M8.40625 7.54004C8.95853 7.54004 9.40625 7.09232 9.40625 6.54004C9.40625 5.98775 8.95853 5.54004 8.40625 5.54004C7.85397 5.54004 7.40625 5.98775 7.40625 6.54004C7.40625 7.09232 7.85397 7.54004 8.40625 7.54004Z\" fill=\"#98A2B3\"/>\r\n </svg>\r\n </span>\r\n <span *ngIf=\"closed?.issueStatus !== 'notidentified'\" class=\"ms-3\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_3827_12061)\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.20065 10.3333H9.15621V12.3333H7.20065V10.3333ZM9.15621 4.33327H7.20065V9.33326H9.15621V4.33327ZM10.6229 5.83327L9.6451 6.83327L12.0895 9.33326L16.0007 4.83327L15.0229 3.83327L12.0895 7.33326L10.6229 5.83327ZM8.17843 14.0333C6.70108 14.0306 5.28499 13.4292 4.24034 12.3608C3.1957 11.2925 2.60768 9.84418 2.6051 8.33326C2.6051 5.19327 5.10821 2.63327 8.17843 2.63327C9.96776 2.63327 11.5518 3.51327 12.5784 4.83327L13.478 3.91327C12.8395 3.10534 12.0319 2.45415 11.1147 2.00765C10.1976 1.56115 9.19419 1.3307 8.17843 1.33327C4.40421 1.33327 1.33398 4.47327 1.33398 8.33326C1.33398 12.1933 4.40421 15.3333 8.17843 15.3333C11.9527 15.3333 15.0229 12.1933 15.0229 8.33326L13.5367 9.85326C12.8913 12.2633 10.7402 14.0433 8.17843 14.0433V14.0333Z\" fill=\"#98A2B3\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3827_12061\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span *ngIf=\"!closed.isOpen\" (click)=\"selectView($event,index,'closed')\" class=\"ms-3\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\r\n <path d=\"M13.166 2.5H18.166M18.166 2.5V7.5M18.166 2.5L12.3327 8.33333M8.16602 17.5H3.16602M3.16602 17.5V12.5M3.16602 17.5L8.99935 11.6667\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n <div *ngIf=\"!closed.isOpen && closed?.notification\" class=\"profile d-flex align-items-centre justify-content-centre ms-3\">\r\n <img class=\"\" src=\"./assets/tango/Images/Bellnotification.png\" alt=\"\">\r\n </div>\r\n <!-- <img *ngIf=\"cardView\" class=\"profile ms-3\" src=\"./assets/tango/Images/gropmodal.png\" alt=\"\"> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"statusClosed?.length === 0 || !noData && !loading\" class=\"w-100 mt-10 mb-10 mh-60vh d-grid text-center mx-auto\"> \r\n <img class=\"mx-auto\" src=\"./assets/tango/Images/taketicket.svg\">\r\n <span class=\"taketicket mt-5 fw-bold\">No Closed Tickets</span>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"loading?.closed\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData?.closed\">\r\n <div class=\"row rowbody\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body mh-60vh d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"mx-auto\" src=\"./assets/tango/Images/taketicket.svg\">\r\n <span class=\"taketicket mt-5 fw-bold\">No Closed Tickets </span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container> \r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div> \r\n</div>\r\n<div *ngIf=\"userData === 'History'\">\r\n<div *ngIf=\"type === 'installation' || type === 'infra' || type === 'dataMismatch'\" class=\"card-body\">\r\n <div *ngIf=\"!historyLoading && !historyNodata\">\r\n <div class=\"table-responsive\">\r\n <table class=\"table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th><div (click)=\"sortData('issueDate')\">\r\n Created on\r\n <span *ngIf=\"sortColumName === 'issueDate' && sortBy !== 1 || sortColumName !== 'issueDate' \">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueDate' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'issueDate' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueDate' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n <th><div (click)=\"sortData('ticketId')\">\r\n Ticket ID\r\n <span *ngIf=\"sortColumName === 'ticketId' && sortBy !== 1 || sortColumName !== 'ticketId' \">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'ticketId' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'ticketId' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'ticketId' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div (click)=\"sortData('clientName')\">\r\n Brand Name\r\n <span *ngIf=\"sortColumName === 'clientName' && sortBy !== 1 || sortColumName !== 'clientName'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'clientName' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'clientName' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'clientName' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div (click)=\"sortData('clientId')\">\r\n Brand ID\r\n <span *ngIf=\"sortColumName === 'clientId' && sortBy !== 1 || sortColumName !== 'clientId'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'clientId' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'clientId' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'clientId' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div (click)=\"sortData('storeName')\">\r\n Store Name\r\n <span *ngIf=\"sortColumName === 'storeName' && sortBy !== 1 || sortColumName !== 'storeName'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'storeName' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'storeName' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'storeName' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div (click)=\"sortData('storeId')\">\r\n Store ID\r\n <span *ngIf=\"sortColumName === 'storeId' && sortBy !== 1 || sortColumName !== 'storeId'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'storeId' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'storeId' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'storeId' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th *ngIf=\"type === 'infra' || type ==='installation'\"><div (click)=\"sortData('issueDate')\">\r\n Issue Identified on\r\n <span *ngIf=\"sortColumName === 'issueDate' && sortBy !== 1 || sortColumName !== 'issueDate'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueDate' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'issueDate' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueDate' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th *ngIf=\"type === 'dataMismatch'\"><div (click)=\"sortData('issueDate')\">\r\n Issue date\r\n <span *ngIf=\"sortColumName === 'issueDate' && sortBy !== 1 || sortColumName !== 'issueDate'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueDate' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'issueDate' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueDate' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div (click)=\"sortData('issueClosedDate')\">\r\n Closed on\r\n <span *ngIf=\"sortColumName === 'issueClosedDate' && sortBy !== 1 || sortColumName !== 'issueClosedDate'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueClosedDate' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'issueClosedDate' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueClosedDate' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th *ngIf=\"type === 'infra' || type ==='installation'\"><div (click)=\"sortData('infraIssue')\">Issue Type\r\n <span *ngIf=\"sortColumName === 'infraIssue' && sortBy !== 1 || sortColumName !== 'infraIssue'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'infraIssue' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'infraIssue' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'infraIssue' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span></div>\r\n </th>\r\n <th *ngIf=\"type === 'dataMismatch'\"><div (click)=\"sortData('issueType')\">Issue Type\r\n <span *ngIf=\"sortColumName === 'issueType' && sortBy !== 1 || sortColumName !== 'issueType'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueType' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'issueType' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueType' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span></div>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let history of workHistoryTable ; let i = index\">\r\n <td>{{history?.issueDate|customDateFormat}}</td>\r\n <td>{{history?.ticketId ? history?.ticketId :'--'}}</td>\r\n <td>\r\n <div class=\"d-grid ms-3\">\r\n <span>{{history?.clientName ? history?.clientName : '--'}}</span>\r\n \r\n </div>\r\n </td>\r\n <td>\r\n {{history?.clientId ? history?.clientId :'--'}}\r\n </td>\r\n <td>\r\n <div class=\"d-grid ms-3\">\r\n <span class=\"text-primary mb-1\">{{history?.storeName ? history?.storeName :'--'}}</span>\r\n </div>\r\n </td>\r\n <td>\r\n {{history?.storeId ? history?.storeId :'--'}}\r\n </td>\r\n <td *ngIf=\"type === 'infra' || type ==='installation'\">{{history?.issueIdentifiedDate?(history?.issueIdentifiedDate |customDateFormat): '--'}}</td>\r\n <td *ngIf=\"type === 'dataMismatch'\">{{history?.issueDate?(history?.issueDate |customDateFormat): '--'}}</td>\r\n <td>{{history?.issueClosedDate|customDateFormat}}</td>\r\n <td *ngIf=\"type === 'infra' || type ==='installation'\">{{history?.infraIssue ? history?.infraIssue :'--'}}</td>\r\n <td *ngIf=\"type === 'dataMismatch'\">{{history?.issueType ? history?.issueType :'--'}}</td>\r\n </tr>\r\n </tbody>\r\n \r\n </table> \r\n </div>\r\n <lib-pagination [itemsPerPage]=\"limit\" [currentPage]=\"offset\"\r\n [totalItems]=\"workHistoryTable.count\" [paginationSizes]=\"[10,20,30]\" [pageSize]=\"limit\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div> \r\n <ng-container *ngIf=\"historyLoading && !historyNodata\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"historyNodata && !historyLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n</div>\r\n<div *ngIf=\"userData === 'History'\">\r\n <div *ngIf=\"type === 'mat'\" class=\"card-body\">\r\n <div *ngIf=\"!historyLoading && !historyNodata\">\r\n <div class=\"table-responsive\">\r\n <table class=\"table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th><div (click)=\"sortData('issueDate')\">\r\n Date\r\n <span *ngIf=\"sortColumName === 'issueDate' && sortBy !== 1 || sortColumName !== 'issueDate' \">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'issueDate' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n <th><div (click)=\"sortData('ticketId')\">\r\n Ticket ID\r\n <span *ngIf=\"sortColumName === 'ticketId' && sortBy !== 1 || sortColumName !== 'ticketId' \">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'ticketId' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div (click)=\"sortData('clientName')\">\r\n Client Info\r\n <span *ngIf=\"sortColumName === 'clientName' && sortBy !== 1 || sortColumName !== 'clientName'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'clientName' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div (click)=\"sortData('storeName')\"></div>\r\n Store Info\r\n <span *ngIf=\"sortColumName === 'storeName' && sortBy !== 1 || sortColumName !== 'storeName'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'storeName' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </th>\r\n <th><div (click)=\"sortData('status')\">Status\r\n <span *ngIf=\"sortColumName === 'status' && sortBy !== 1 || sortColumName !== 'status'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'status' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span></div>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let history of workHistoryTable ; let i = index\">\r\n <td>{{history?.issueDate|customDateFormat}}</td>\r\n <td>{{history?.ticketId ? history?.ticketId :'--'}}</td>\r\n <td>\r\n <div class=\"d-grid\">\r\n <span class=\"text-primary\">{{history?.clientName ? history?.clientName : '--'}}</span>\r\n <span class=\"textSub mt-1\">ID : {{history?.clientId ? history?.clientId :'--'}}</span>\r\n </div>\r\n </td>\r\n <td>\r\n <div class=\"d-grid ms-3\">\r\n <span class=\"text-primary mb-1\">{{history?.storeName ? history?.storeName :'--'}}</span>\r\n <span class=\"textSub\">ID : {{history?.storeId ? history?.storeId :'--'}}</span>\r\n </div>\r\n </td>\r\n <td>\r\n <span *ngIf=\"history.status ==='open'\" class=\"badge badge-light-danger\">Open</span>\r\n <span *ngIf=\"history.status ==='closed'\" class=\"badge badge-light-success\">Closed</span>\r\n <span *ngIf=\"history.status ==='inprogress'\" class=\"badge badge-light-primary\">In\r\n Progress</span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n \r\n </table> \r\n </div>\r\n <lib-pagination [itemsPerPage]=\"limit\" [currentPage]=\"offset\"\r\n [totalItems]=\"workHistoryTable.count\" [paginationSizes]=\"[10,20,30]\" [pageSize]=\"limit\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div> \r\n <ng-container *ngIf=\"historyLoading && !historyNodata\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"historyNodata && !historyLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"userData === 'History'\">\r\n <div *ngIf=\"type === 'audit'\" class=\"card-body\">\r\n <div *ngIf=\"!historyLoading && !historyNodata\">\r\n <div class=\"table-responsive\"> \r\n <table class=\"table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('fileDate')\">\r\n File Date\r\n <span *ngIf=\"sortColumName === 'fileDate' && sortBy !== 1 || sortColumName !== 'fileDate' \">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'fileDate' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('clientName')\">\r\n Client Info\r\n <span *ngIf=\"sortColumName === 'clientName' && sortBy !== 1 || sortColumName !== 'clientName' \">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'clientName' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('storeName')\">\r\n Store Info\r\n <span *ngIf=\"sortColumName === 'storeName' && sortBy !== 1 || sortColumName !== 'storeName'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'storeName' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('location')\"></div>\r\n Location\r\n <span *ngIf=\"sortColumName === 'location' && sortBy !== 1 || sortColumName !== 'location'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'location' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </th>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('type')\">Type\r\n <span *ngIf=\"sortColumName === 'type' && sortBy !== 1 || sortColumName !== 'type'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'type' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span></div>\r\n </th>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('accuracy')\">Accuracy\r\n <span *ngIf=\"sortColumName === 'accuracy' && sortBy !== 1 || sortColumName !== 'accuracy'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'accuracy' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span></div>\r\n </th>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('timespent')\">Time Spent\r\n <span *ngIf=\"sortColumName === 'timespent' && sortBy !== 1 || sortColumName !== 'timespent'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'timespent' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span></div>\r\n </th>\r\n <th>Status\r\n </th>\r\n <th>Actions\r\n \r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let history of workHistorydata ; let i = index\">\r\n <td>{{history?.fileDate}}</td>\r\n <td>{{history?.clientName ? history?.clientName :'--'}}</td>\r\n <td>{{history?.storeName ? history?.storeName : '--'}}\r\n </td>\r\n <td>{{history?.location ? history?.location :'--'}}</td>\r\n <td>{{history?.type ? history?.type :'--'}}\r\n </td>\r\n <td>{{history?.accuracy ? history?.accuracy :'--'}}</td>\r\n <td>{{history?.timespent ? history?.timespent :'--'}}</td>\r\n <td>\r\n <span *ngIf=\"history.status ==='draft'\" class=\"badge badge-light-warning\">Draft</span>\r\n <span *ngIf=\"history.status ==='completed'\" class=\"badge badge-light-success\">Closed</span>\r\n <span *ngIf=\"history.status ==='inprogress'\" class=\"badge badge-light-primary\">In\r\n Progress</span>\r\n </td>\r\n <td><span class=\"cursor-pointer\" (click)=\"viewUser()\">\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=\"M0.833374 10C0.833374 10 4.16671 3.33337 10 3.33337C15.8334 3.33337 19.1667 10 19.1667 10C19.1667 10 15.8334 16.6667 10 16.6667C4.16671 16.6667 0.833374 10 0.833374 10Z\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M10 12.5C11.3808 12.5 12.5 11.3808 12.5 10C12.5 8.61933 11.3808 7.50004 10 7.50004C8.61933 7.50004 7.50004 8.61933 7.50004 10C7.50004 11.3808 8.61933 12.5 10 12.5Z\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n \r\n </table> \r\n </div>\r\n <!-- <lib-pagination [itemsPerPage]=\"limit\" [currentPage]=\"offset\"\r\n [totalItems]=\"workHistoryTable.count\" [paginationSizes]=\"[10,20,30]\" [pageSize]=\"limit\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination> -->\r\n </div> \r\n <ng-container *ngIf=\"historyLoading && !historyNodata\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"historyNodata && !historyLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n", styles: [".rowbody{background:var(--Gray-50, #F9FAFB)}.issuecard{border-radius:8px;border:1px solid var(--Gray-100, #F2F4F7);background:var(--White, #FFF);box-shadow:0 1px 2px #1018280d;padding:14px 12px}.issuecard label{color:var(--Black, #101828);font-size:16px;line-height:24px}.issuecard.active{background:var(--Primary-25, #F6FCFF);box-shadow:0 2px 4px -2px #1018280f,0 4px 8px -2px #1018281a}.fw-bold-700{font-weight:700!important}.fw-bold-400{font-weight:400!important}.profile{width:24px;height:24px;overflow:hidden;border-radius:200px}.msgprofile{width:48px!important;height:48px!important;border-radius:200px;overflow:hidden}.timingtext{color:var(--Gray-500, #667085);font-size:12px;line-height:18px}.bg-badge{background-color:#776f6f29!important}.items:hover,.tems.focus,.items.active,.camera.focus-visible{background:var(--Gray-50, #F9FAFB)}.textSub{color:var(--Gray-500, #667085);font-size:14px;font-weight:400;line-height:20px}.taketicket{color:var(--Gray-500, #667085);font-size:16px;line-height:24px}tr{vertical-align:middle!important}.img-src{width:25%}.mh-60vh{height:40vh!important}.min-height-60vh{min-height:50vh!important}.text-primary{color:var(--Primary-700, #009BF3)!important;font-family:Inter;font-size:14px;font-weight:500}\n"] }]
|
|
574
|
+
args: [{ selector: "lib-infratickets", template: "\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 *ngIf=\"type !== 'mat' && type !== 'dataMismatch'\" class=\"card-label mb-2\">{{type | titlecase}} Tickets</span>\r\n <span *ngIf=\"type === 'dataMismatch'\" class=\"card-label mb-2\">Data Mismatch Tickets</span>\r\n <span *ngIf=\"type === 'mat'\" class=\"card-label mb-2\">Employee Mat</span>\r\n <!-- <span class=\"text-sub mb-2\">Last updated 1 hour ago</span> -->\r\n </h3>\r\n <div *ngIf=\"userData ==='Workspace'\" 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-3\">\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\"></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 <input type=\"text\" class=\"form-control ps-14 me-2\" \r\n placeholder=\"Search\" autocomplete=\"off\" [(ngModel)]=\"searchWorkspace\" (change)=\"searchTickets()\"/>\r\n <lib-filters *ngIf=\"type !== 'mat' && type !=='dataMismatch'\" [dataObject]=\"dataObject1\" (appliedFilters)=\"applyFilters($event)\"></lib-filters>\r\n \r\n <!-- <div *ngIf=\"type !== 'mat'\" class=\"position-relative\">\r\n <button type=\"button\" (click)=\"openDropdown($event)\"\r\n class=\"btn btn-default mx-2 btn-outline btn-outline-default rounded-3 text-nowrap border-val\"><svg\r\n width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M5 10H15M2.5 5H17.5M7.5 15H12.5\" stroke=\"#344054\" stroke-width=\"2\"\r\n stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n <span class=\"ms-2\">Filter</span> </button>\r\n <div *ngIf=\"dropDown\" class=\"card py-1 w-200px position-absolute top-50px end-0\">\r\n <ul *ngFor=\"let item of dropdownItems\" class=\"list-unstyled\">\r\n <li [ngClass]=\"this.selectedIssue === item ? 'active' : ''\" class=\"camera px-5 items fw-semibold cursor-pointer py-2\" (click)=\"selectItem(item)\">{{item}}</li>\r\n </ul>\r\n </div>\r\n </div> -->\r\n\r\n <button *ngIf=\"(gs.userAccess | async)?.manage_tickets_isDownload && (!noData.open || !noData.inprogress || !noData.closed)\" (click)=\"exportData()\" class=\"btn btn-outline p-3 text-nowrap border border-gray ms-2 me-2\" type=\"button\"><span><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"20\" height=\"20\" viewBox=\"0 0 20 20\" fill=\"none\">\r\n <path d=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\" stroke=\"#344054\" stroke-width=\"2\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span> Export</button>\r\n <button *ngIf=\"(gs.userAccess | async)?.manage_tickets_isEdit\" type=\"button\" (click)=\"takeTicket()\"\r\n class=\"btn btn-primary mx-2 rounded-3 text-nowrap\"><span class=\"ms-2 text-white\">Take Ticket</span> </button>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"userData ==='History'\" 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-3\">\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\"></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 <input type=\"text\" class=\"form-control ps-14 me-2\" \r\n placeholder=\"Search\" autocomplete=\"off\" [(ngModel)]=\"searchHistory\" (change)=\"searchHistoryTable()\" />\r\n \r\n <lib-filters *ngIf=\"type !== 'mat' && type!=='audit' && filterStores?.length > 0\" [dataObject]=\"dataObject\" (appliedFilters)=\"receiveData($event)\" ></lib-filters>\r\n\r\n <button *ngIf=\"(gs.userAccess | async)?.manage_tickets_isDownload && !historyNodata\" (click)=\"ExportHistoryasXlsx()\" class=\"btn btn-outline p-3 border border-gray ms-2 me-2 text-nowrap\" type=\"button\"><span>\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=\"M17.5 12.5V15.8333C17.5 16.2754 17.3244 16.6993 17.0118 17.0118C16.6993 17.3244 16.2754 17.5 15.8333 17.5H4.16667C3.72464 17.5 3.30072 17.3244 2.98816 17.0118C2.67559 16.6993 2.5 16.2754 2.5 15.8333V12.5M14.1667 6.66667L10 2.5M10 2.5L5.83333 6.66667M10 2.5V12.5\" stroke=\"#344054\" stroke-width=\"1.67\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span> Export\r\n </button>\r\n \r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-body py-2\">\r\n <div class=\"d-flex overflow-auto h-55px\">\r\n <ul class=\"nav nav-stretch nav-line-tabs nav-line-tabs-2x border-transparent fs-5 fw-bolder flex-nowrap\">\r\n <li *ngIf=\"type !== 'audit'\" (click)=\"userValue('Workspace')\" class=\"nav-item cursor-pointer\"><a [ngClass]=\"userData ==='Workspace' ? 'active' :''\"\r\n class=\"nav-link text-active-primary me-6\">Workspace</a>\r\n </li>\r\n <!-- *ngIf=\"type!=='dataMismatch'\" -->\r\n <li (click)=\"userValue('History')\" class=\"nav-item cursor-pointer\"><a [ngClass]=\"userData ==='History' ? 'active' :''\"\r\n class=\"nav-link text-active-primary me-6\">History</a></li>\r\n </ul>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"userData ==='Workspace'\" class=\"card-body\">\r\n <div class=\"row\">\r\n <div class=\"col-sm-4\">\r\n <div class=\"w-100 h-100 rounded-2 overflow-hidden\">\r\n <div class=\"badge-light-default px-3 py-4\">\r\n <span>Open</span><span *ngIf=\"statusOpen?.length > 0 && !loading.open && !noData.open\" class=\"rounded-5 ms-3 px-1 border border-gray bg-badge\">{{statusOpen?.length}}</span>\r\n </div>\r\n <div class=\"rowbody h-100 px-4 py-3\">\r\n <div *ngIf=\"!loading.open && !noData.open\">\r\n <div *ngFor=\"let open of statusOpen; let index = index\">\r\n <div [ngClass]=\"open.isOpen ? 'active':''\" class=\"issuecard cursor-pointer w-100 mb-5\" (click)=\"routetoTicket(open)\">\r\n <div *ngIf=\"open.isOpen\" class=\"d-flex justify-content-between\">\r\n <div class=\"mb-5\">\r\n <label class=\"fw-semibold\">{{open?.storeId ? open?.storeId :'--'}}</label><br>\r\n <label class=\"fw-semibold m-2\">{{open?.storeName ? open?.storeName :'--'}}</label><br>\r\n <div class=\"d-flex align-items-center mt-2\">\r\n <div class=\"badge badge-light-default me-3\">\r\n <svg class=\"me-2\" 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_3732_60277)\">\r\n <path d=\"M8 1V3M4 1V3M1.5 5H10.5M2.5 2H9.5C10.0523 2 10.5 2.44772 10.5 3V10C10.5 10.5523 10.0523 11 9.5 11H2.5C1.94772 11 1.5 10.5523 1.5 10V3C1.5 2.44772 1.94772 2 2.5 2Z\" stroke=\"#667085\" stroke-width=\"1.1\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3732_60277\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg>{{open?.Date ? open?.Date : '--'}}\r\n </div>\r\n <span *ngIf=\"open?.infraIssue\" class=\"badge badge-light-warning\">{{open?.infraIssue ? open?.infraIssue :'--'}}</span>\r\n <span *ngIf=\"type ==='installation'\" class=\"badge badge-light-primary\">{{open?.installationStatus ? open?.installationStatus :'--'}}</span>\r\n <span *ngIf=\"type ==='dataMismatch'\" class=\"badge badge-light-warning\">{{open?.issueType === 'highcount' ? 'High Count' : (open?.issueType === 'lowcount' ? 'Low Count' : '')}}</span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex\">\r\n <div *ngIf=\"open?.notification\" class=\"profile d-flex align-items-centre justify-content-centre me-3\">\r\n <img src=\"./assets/tango/Images/Bellnotification.png\" alt=\"\">\r\n </div>\r\n <span (click)=\"selectView($event,index,'open')\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\r\n <path d=\"M13.166 2.5H18.166M18.166 2.5V7.5M18.166 2.5L12.3327 8.33333M8.16602 17.5H3.16602M3.16602 17.5V12.5M3.16602 17.5L8.99935 11.6667\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between text-center align-items-center\"> \r\n <div class=\"d-flex justify-content-between\" > \r\n <span class=\" d-flex align-items-center\"><svg class=\"me-2\" xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\r\n <path d=\"M10.7966 1.42752C10.6541 1.29681 10.4667 1.22617 10.2733 1.23037C10.08 1.23456 9.8958 1.31325 9.75911 1.45002L1.48911 9.72002C1.41938 9.78968 1.36406 9.87239 1.32632 9.96344C1.28857 10.0545 1.26915 10.1521 1.26915 10.2506C1.26915 10.3492 1.28857 10.4468 1.32632 10.5379C1.36406 10.6289 1.41938 10.7116 1.48911 10.7813L2.64661 11.9388C2.65632 11.9418 2.66647 11.943 2.67661 11.9425C2.71411 11.9425 2.76411 11.9288 2.81161 11.8975C3.26845 11.5927 3.8168 11.4557 4.36331 11.5097C4.90983 11.5637 5.42073 11.8055 5.80905 12.1938C6.19738 12.5822 6.43913 13.0931 6.49316 13.6396C6.54718 14.1861 6.41014 14.7344 6.10536 15.1913C6.07792 15.2311 6.06231 15.2779 6.06036 15.3263C6.06036 15.3425 6.06286 15.3513 6.06411 15.355L7.19411 16.4863C7.26512 16.5574 7.34971 16.6136 7.44285 16.6514C7.53599 16.6892 7.63579 16.7079 7.7363 16.7064C7.83682 16.7049 7.936 16.6832 8.02796 16.6426C8.11992 16.602 8.20278 16.5433 8.27161 16.47L16.5204 7.70502C16.5883 7.63267 16.6412 7.54755 16.676 7.4546C16.7108 7.36165 16.7268 7.26272 16.7231 7.16354C16.7193 7.06436 16.696 6.96691 16.6543 6.87683C16.6126 6.78675 16.5535 6.70583 16.4804 6.63877L15.3729 5.62252H15.3691C15.3514 5.61902 15.3331 5.61902 15.3154 5.62252C15.2448 5.63722 15.1806 5.67348 15.1316 5.72627C14.9227 5.96305 14.6687 6.15579 14.3845 6.29323C14.1002 6.43067 13.7914 6.51005 13.4761 6.52673C13.1608 6.54341 12.8453 6.49704 12.5481 6.39035C12.251 6.28366 11.978 6.11879 11.7453 5.90537C11.5126 5.69195 11.3248 5.43428 11.1929 5.14742C11.061 4.86055 10.9876 4.55027 10.977 4.2347C10.9664 3.91913 11.0188 3.60462 11.1312 3.30956C11.2436 3.01449 11.4137 2.74481 11.6316 2.51627C11.6797 2.46264 11.7098 2.39535 11.7179 2.32377C11.7201 2.30488 11.7184 2.28572 11.7129 2.26752L10.7966 1.42752ZM9.05286 0.742522C9.37176 0.423638 9.80145 0.240174 10.2523 0.230393C10.7032 0.220611 11.1404 0.385268 11.4729 0.690022L12.3891 1.53127C12.6629 1.78127 12.7391 2.12252 12.7141 2.41377C12.6879 2.70127 12.5616 2.98252 12.3666 3.19377C12.2446 3.3269 12.1499 3.48276 12.0881 3.65246C12.0263 3.82216 11.9985 4.00237 12.0064 4.18281C12.0142 4.36325 12.0575 4.54037 12.1338 4.70407C12.2101 4.86778 12.3179 5.01485 12.451 5.1369C12.5841 5.25894 12.74 5.35358 12.9097 5.41539C13.0794 5.4772 13.2596 5.50498 13.44 5.49714C13.6205 5.48931 13.7976 5.44601 13.9613 5.36972C14.125 5.29344 14.2721 5.18565 14.3941 5.05252C14.5879 4.84002 14.8566 4.69002 15.1404 4.63877C15.3004 4.60665 15.4656 4.61218 15.6231 4.65492C15.7806 4.69765 15.926 4.77643 16.0479 4.88502L17.1566 5.90127C17.3273 6.0579 17.4652 6.24687 17.5623 6.4572C17.6594 6.66754 17.7138 6.89507 17.7223 7.12658C17.7308 7.35809 17.6932 7.58899 17.6118 7.80587C17.5303 8.02276 17.4066 8.22131 17.2479 8.39002L9.00036 17.155C8.83975 17.3257 8.64649 17.4624 8.43206 17.5569C8.21763 17.6515 7.98638 17.702 7.75205 17.7055C7.51771 17.709 7.28506 17.6654 7.0679 17.5773C6.85074 17.4892 6.65349 17.3583 6.48786 17.1925L5.35786 16.0625C4.92411 15.6288 5.02911 15.0038 5.27411 14.6375C5.44988 14.3731 5.52871 14.0559 5.4972 13.74C5.46569 13.424 5.32579 13.1287 5.10125 12.9041C4.87672 12.6796 4.58139 12.5397 4.26542 12.5082C3.94945 12.4767 3.63231 12.5555 3.36786 12.7313C2.99911 12.975 2.37536 13.08 1.94161 12.645L0.784111 11.4875C0.621589 11.325 0.492669 11.1321 0.404712 10.9198C0.316755 10.7074 0.271484 10.4798 0.271484 10.25C0.271484 10.0202 0.316755 9.79262 0.404712 9.58029C0.492669 9.36795 0.621589 9.17503 0.784111 9.01252L9.05286 0.742522Z\" fill=\"#667085\"/>\r\n <path d=\"M10.7966 1.42752C10.6541 1.29681 10.4667 1.22617 10.2733 1.23037C10.08 1.23456 9.8958 1.31325 9.75911 1.45002L1.48911 9.72002C1.41938 9.78968 1.36406 9.87239 1.32632 9.96344C1.28857 10.0545 1.26915 10.1521 1.26915 10.2506C1.26915 10.3492 1.28857 10.4468 1.32632 10.5379C1.36406 10.6289 1.41938 10.7116 1.48911 10.7813L2.64661 11.9388C2.65632 11.9418 2.66647 11.943 2.67661 11.9425C2.71411 11.9425 2.76411 11.9288 2.81161 11.8975C3.26845 11.5927 3.8168 11.4557 4.36331 11.5097C4.90983 11.5637 5.42073 11.8055 5.80905 12.1938C6.19738 12.5822 6.43913 13.0931 6.49316 13.6396C6.54718 14.1861 6.41014 14.7344 6.10536 15.1913C6.07792 15.2311 6.06231 15.2779 6.06036 15.3263C6.06036 15.3425 6.06286 15.3513 6.06411 15.355L7.19411 16.4863C7.26512 16.5574 7.34971 16.6136 7.44285 16.6514C7.53599 16.6892 7.63579 16.7079 7.7363 16.7064C7.83682 16.7049 7.936 16.6832 8.02796 16.6426C8.11992 16.602 8.20278 16.5433 8.27161 16.47L16.5204 7.70502C16.5883 7.63267 16.6412 7.54755 16.676 7.4546C16.7108 7.36165 16.7268 7.26272 16.7231 7.16354C16.7193 7.06436 16.696 6.96691 16.6543 6.87683C16.6126 6.78675 16.5535 6.70583 16.4804 6.63877L15.3729 5.62252H15.3691C15.3514 5.61902 15.3331 5.61902 15.3154 5.62252C15.2448 5.63722 15.1806 5.67348 15.1316 5.72627C14.9227 5.96305 14.6687 6.15579 14.3845 6.29323C14.1002 6.43067 13.7914 6.51005 13.4761 6.52673C13.1608 6.54341 12.8453 6.49704 12.5481 6.39035C12.251 6.28366 11.978 6.11879 11.7453 5.90537C11.5126 5.69195 11.3248 5.43428 11.1929 5.14742C11.061 4.86055 10.9876 4.55027 10.977 4.2347C10.9664 3.91913 11.0188 3.60462 11.1312 3.30956C11.2436 3.01449 11.4137 2.74481 11.6316 2.51627C11.6797 2.46264 11.7098 2.39535 11.7179 2.32377C11.7201 2.30488 11.7184 2.28572 11.7129 2.26752L10.7966 1.42752ZM9.05286 0.742522C9.37176 0.423638 9.80145 0.240174 10.2523 0.230393C10.7032 0.220611 11.1404 0.385268 11.4729 0.690022L12.3891 1.53127C12.6629 1.78127 12.7391 2.12252 12.7141 2.41377C12.6879 2.70127 12.5616 2.98252 12.3666 3.19377C12.2446 3.3269 12.1499 3.48276 12.0881 3.65246C12.0263 3.82216 11.9985 4.00237 12.0064 4.18281C12.0142 4.36325 12.0575 4.54037 12.1338 4.70407C12.2101 4.86778 12.3179 5.01485 12.451 5.1369C12.5841 5.25894 12.74 5.35358 12.9097 5.41539C13.0794 5.4772 13.2596 5.50498 13.44 5.49714C13.6205 5.48931 13.7976 5.44601 13.9613 5.36972C14.125 5.29344 14.2721 5.18565 14.3941 5.05252C14.5879 4.84002 14.8566 4.69002 15.1404 4.63877C15.3004 4.60665 15.4656 4.61218 15.6231 4.65492C15.7806 4.69765 15.926 4.77643 16.0479 4.88502L17.1566 5.90127C17.3273 6.0579 17.4652 6.24687 17.5623 6.4572C17.6594 6.66754 17.7138 6.89507 17.7223 7.12658C17.7308 7.35809 17.6932 7.58899 17.6118 7.80587C17.5303 8.02276 17.4066 8.22131 17.2479 8.39002L9.00036 17.155C8.83975 17.3257 8.64649 17.4624 8.43206 17.5569C8.21763 17.6515 7.98638 17.702 7.75205 17.7055C7.51771 17.709 7.28506 17.6654 7.0679 17.5773C6.85074 17.4892 6.65349 17.3583 6.48786 17.1925L5.35786 16.0625C4.92411 15.6288 5.02911 15.0038 5.27411 14.6375C5.44988 14.3731 5.52871 14.0559 5.4972 13.74C5.46569 13.424 5.32579 13.1287 5.10125 12.9041C4.87672 12.6796 4.58139 12.5397 4.26542 12.5082C3.94945 12.4767 3.63231 12.5555 3.36786 12.7313C2.99911 12.975 2.37536 13.08 1.94161 12.645L0.784111 11.4875C0.621589 11.325 0.492669 11.1321 0.404712 10.9198C0.316755 10.7074 0.271484 10.4798 0.271484 10.25C0.271484 10.0202 0.316755 9.79262 0.404712 9.58029C0.492669 9.36795 0.621589 9.17503 0.784111 9.01252L9.05286 0.742522Z\" stroke=\"#667085\"/>\r\n </svg> {{open?.ticketId ? open?.ticketId : '--'}} </span>\r\n </div>\r\n <div class=\"d-flex align-items-centre justify-content-centre\">\r\n <span *ngIf=\"open?.ticketType === 'refreshticket'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"14\" viewBox=\"0 0 17 14\" fill=\"none\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5.94602 4.98881L2.66602 6.33881L2.00602 6.07881L0.666016 2.83881L1.58602 2.45881L2.39602 4.40881C2.93977 3.04801 3.92872 1.91169 5.20145 1.18532C6.47419 0.458951 7.95554 0.185426 9.40375 0.409387C10.852 0.633349 12.1815 1.34157 13.1754 2.41846C14.1692 3.49535 14.7687 4.87732 14.876 6.33881H13.876C13.7616 5.09008 13.2224 3.91836 12.3484 3.01919C11.4743 2.12003 10.3184 1.54781 9.0734 1.39804C7.82842 1.24826 6.56973 1.53 5.50739 2.19622C4.44505 2.86244 3.64332 3.87284 3.23602 5.05881L5.55602 4.05881L5.94602 4.98881ZM14.806 7.66881L16.146 10.8988L15.226 11.3388L14.406 9.33881C13.858 10.7049 12.8618 11.8442 11.581 12.5696C10.3001 13.295 8.81077 13.5634 7.35728 13.3309C5.9038 13.0983 4.57255 12.3786 3.582 11.2898C2.59145 10.2009 2.00046 8.80775 1.90602 7.33881H2.90602V6.83881C2.90882 8.12627 3.36402 9.3718 4.19203 10.3577C5.02005 11.3436 6.16821 12.0071 7.43584 12.2322C8.70346 12.4574 10.0099 12.2299 11.1268 11.5895C12.2437 10.9491 13.1 9.93655 13.546 8.72881L11.296 9.65881L10.906 8.73881L14.156 7.38881L14.806 7.66881Z\" fill=\"#98A2B3\"/>\r\n <path d=\"M8.40625 7.54004C8.95853 7.54004 9.40625 7.09232 9.40625 6.54004C9.40625 5.98775 8.95853 5.54004 8.40625 5.54004C7.85397 5.54004 7.40625 5.98775 7.40625 6.54004C7.40625 7.09232 7.85397 7.54004 8.40625 7.54004Z\" fill=\"#98A2B3\"/>\r\n </svg>\r\n </span>\r\n <span *ngIf=\"open?.issueStatus !== 'notidentified'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_3827_12061)\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.20065 10.3333H9.15621V12.3333H7.20065V10.3333ZM9.15621 4.33327H7.20065V9.33326H9.15621V4.33327ZM10.6229 5.83327L9.6451 6.83327L12.0895 9.33326L16.0007 4.83327L15.0229 3.83327L12.0895 7.33326L10.6229 5.83327ZM8.17843 14.0333C6.70108 14.0306 5.28499 13.4292 4.24034 12.3608C3.1957 11.2925 2.60768 9.84418 2.6051 8.33326C2.6051 5.19327 5.10821 2.63327 8.17843 2.63327C9.96776 2.63327 11.5518 3.51327 12.5784 4.83327L13.478 3.91327C12.8395 3.10534 12.0319 2.45415 11.1147 2.00765C10.1976 1.56115 9.19419 1.3307 8.17843 1.33327C4.40421 1.33327 1.33398 4.47327 1.33398 8.33326C1.33398 12.1933 4.40421 15.3333 8.17843 15.3333C11.9527 15.3333 15.0229 12.1933 15.0229 8.33326L13.5367 9.85326C12.8913 12.2633 10.7402 14.0433 8.17843 14.0433V14.0333Z\" fill=\"#98A2B3\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3827_12061\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span *ngIf=\"!open.isOpen\" (click)=\"selectView($event,index,'open')\" class=\"ms-3\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\r\n <path d=\"M13.166 2.5H18.166M18.166 2.5V7.5M18.166 2.5L12.3327 8.33333M8.16602 17.5H3.16602M3.16602 17.5V12.5M3.16602 17.5L8.99935 11.6667\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n <div *ngIf=\"!open.isOpen && open?.notification\" class=\"profile d-flex align-items-centre justify-content-centre ms-3\">\r\n <img class=\"\" src=\"./assets/tango/Images/Bellnotification.png\" alt=\"\">\r\n </div>\r\n <!-- <img *ngIf=\"cardView\" class=\"profile ms-3\" src=\"./assets/tango/Images/gropmodal.png\" alt=\"\"> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"statusOpen?.length === 0 || !noData && !loading\" class=\"w-100 mt-10 mb-10 mh-60vh d-grid text-center\"> \r\n <img class=\"mx-auto mb-2\" src=\"./assets/tango/Images/taketicket.svg\">\r\n <span class=\"taketicket mt-2 fw-bold\">No Open Tickets </span>\r\n <button class=\"w-100 btn btn-primary mt-5\" (click)=\"takeTicket()\">Take Ticket</button>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"loading?.open\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData?.open\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body mh-60vh d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"mx-auto mb-2\" src=\"./assets/tango/Images/taketicket.svg\">\r\n <span class=\"taketicket mt-5 fw-bold\">No Open Tickets </span>\r\n <button *ngIf=\"(gs.userAccess | async)?.manage_tickets_isEdit\" class=\"w-100 btn btn-primary mt-5\" (click)=\"takeTicket()\">Take Ticket</button>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container> \r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-4\">\r\n <div class=\"w-100 h-100 rounded-2 overflow-hidden\">\r\n <div class=\"badge-light-default px-3 py-4\">\r\n <span>Inprogress</span><span *ngIf=\"statusInprogress?.length > 0 && !loading.inprogress && !noData.inprogress\" class=\"rounded-5 ms-3 px-1 border border-gray bg-badge\">{{statusInprogress?.length}}</span>\r\n </div>\r\n <div class=\"rowbody h-100 px-4 py-3\">\r\n <div *ngIf=\"!loading.inprogress && !noData.inprogress\">\r\n <div *ngFor=\"let inprogress of statusInprogress; let index = index\">\r\n <div [ngClass]=\"inprogress.isOpen ? 'active':''\" class=\"issuecard cursor-pointer w-100 mb-5\" (click)=\"routetoTicket(inprogress)\">\r\n <div *ngIf=\"inprogress?.isOpen\" class=\"d-flex justify-content-between\">\r\n <div class=\"mb-5\">\r\n <label class=\"fw-semibold\">{{inprogress?.storeId}}</label><br>\r\n <label class=\"fw-semibold my-2\">{{inprogress?.storeName ? inprogress?.storeName :'--'}}</label><br>\r\n <div class=\"d-flex align-items-center mt-2\">\r\n <div class=\"badge badge-light-default me-3\">\r\n <svg class=\"me-2\" 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_3732_60277)\">\r\n <path d=\"M8 1V3M4 1V3M1.5 5H10.5M2.5 2H9.5C10.0523 2 10.5 2.44772 10.5 3V10C10.5 10.5523 10.0523 11 9.5 11H2.5C1.94772 11 1.5 10.5523 1.5 10V3C1.5 2.44772 1.94772 2 2.5 2Z\" stroke=\"#667085\" stroke-width=\"1.1\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3732_60277\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg> {{inprogress?.Date}}\r\n </div>\r\n <span *ngIf=\"inprogress?.infraIssue\" class=\"badge badge-light-warning\">{{inprogress?.infraIssue}}</span>\r\n <span *ngIf=\"type ==='installation' && inprogress?.infraIssue!==''\" class=\"badge badge-light-primary text-capitalize ms-3\">{{inprogress?.installationStatus ? inprogress?.installationStatus :'--'}}</span>\r\n <span *ngIf=\"type ==='dataMismatch'\" class=\"badge badge-light-warning\">{{inprogress?.issueType === 'highcount' ? 'High Count' : (inprogress?.issueType === 'lowcount' ? 'Low Count' : '')}}</span>\r\n </div>\r\n </div>\r\n <div class=\" d-flex\">\r\n <div *ngIf=\"inprogress?.notification\" class=\"profile d-flex align-items-centre justify-content-centre me-3\">\r\n <img src=\"./assets/tango/Images/Bellnotification.png\" alt=\"\">\r\n </div>\r\n <span (click)=\"selectView($event,index,'inprogress')\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\r\n <path d=\"M13.166 2.5H18.166M18.166 2.5V7.5M18.166 2.5L12.3327 8.33333M8.16602 17.5H3.16602M3.16602 17.5V12.5M3.16602 17.5L8.99935 11.6667\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between text-center align-items-center\"> \r\n <div class=\"d-flex justify-content-between\" > \r\n <span class=\" d-flex align-items-center\"><svg class=\"me-2\" xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\r\n <path d=\"M10.7966 1.42752C10.6541 1.29681 10.4667 1.22617 10.2733 1.23037C10.08 1.23456 9.8958 1.31325 9.75911 1.45002L1.48911 9.72002C1.41938 9.78968 1.36406 9.87239 1.32632 9.96344C1.28857 10.0545 1.26915 10.1521 1.26915 10.2506C1.26915 10.3492 1.28857 10.4468 1.32632 10.5379C1.36406 10.6289 1.41938 10.7116 1.48911 10.7813L2.64661 11.9388C2.65632 11.9418 2.66647 11.943 2.67661 11.9425C2.71411 11.9425 2.76411 11.9288 2.81161 11.8975C3.26845 11.5927 3.8168 11.4557 4.36331 11.5097C4.90983 11.5637 5.42073 11.8055 5.80905 12.1938C6.19738 12.5822 6.43913 13.0931 6.49316 13.6396C6.54718 14.1861 6.41014 14.7344 6.10536 15.1913C6.07792 15.2311 6.06231 15.2779 6.06036 15.3263C6.06036 15.3425 6.06286 15.3513 6.06411 15.355L7.19411 16.4863C7.26512 16.5574 7.34971 16.6136 7.44285 16.6514C7.53599 16.6892 7.63579 16.7079 7.7363 16.7064C7.83682 16.7049 7.936 16.6832 8.02796 16.6426C8.11992 16.602 8.20278 16.5433 8.27161 16.47L16.5204 7.70502C16.5883 7.63267 16.6412 7.54755 16.676 7.4546C16.7108 7.36165 16.7268 7.26272 16.7231 7.16354C16.7193 7.06436 16.696 6.96691 16.6543 6.87683C16.6126 6.78675 16.5535 6.70583 16.4804 6.63877L15.3729 5.62252H15.3691C15.3514 5.61902 15.3331 5.61902 15.3154 5.62252C15.2448 5.63722 15.1806 5.67348 15.1316 5.72627C14.9227 5.96305 14.6687 6.15579 14.3845 6.29323C14.1002 6.43067 13.7914 6.51005 13.4761 6.52673C13.1608 6.54341 12.8453 6.49704 12.5481 6.39035C12.251 6.28366 11.978 6.11879 11.7453 5.90537C11.5126 5.69195 11.3248 5.43428 11.1929 5.14742C11.061 4.86055 10.9876 4.55027 10.977 4.2347C10.9664 3.91913 11.0188 3.60462 11.1312 3.30956C11.2436 3.01449 11.4137 2.74481 11.6316 2.51627C11.6797 2.46264 11.7098 2.39535 11.7179 2.32377C11.7201 2.30488 11.7184 2.28572 11.7129 2.26752L10.7966 1.42752ZM9.05286 0.742522C9.37176 0.423638 9.80145 0.240174 10.2523 0.230393C10.7032 0.220611 11.1404 0.385268 11.4729 0.690022L12.3891 1.53127C12.6629 1.78127 12.7391 2.12252 12.7141 2.41377C12.6879 2.70127 12.5616 2.98252 12.3666 3.19377C12.2446 3.3269 12.1499 3.48276 12.0881 3.65246C12.0263 3.82216 11.9985 4.00237 12.0064 4.18281C12.0142 4.36325 12.0575 4.54037 12.1338 4.70407C12.2101 4.86778 12.3179 5.01485 12.451 5.1369C12.5841 5.25894 12.74 5.35358 12.9097 5.41539C13.0794 5.4772 13.2596 5.50498 13.44 5.49714C13.6205 5.48931 13.7976 5.44601 13.9613 5.36972C14.125 5.29344 14.2721 5.18565 14.3941 5.05252C14.5879 4.84002 14.8566 4.69002 15.1404 4.63877C15.3004 4.60665 15.4656 4.61218 15.6231 4.65492C15.7806 4.69765 15.926 4.77643 16.0479 4.88502L17.1566 5.90127C17.3273 6.0579 17.4652 6.24687 17.5623 6.4572C17.6594 6.66754 17.7138 6.89507 17.7223 7.12658C17.7308 7.35809 17.6932 7.58899 17.6118 7.80587C17.5303 8.02276 17.4066 8.22131 17.2479 8.39002L9.00036 17.155C8.83975 17.3257 8.64649 17.4624 8.43206 17.5569C8.21763 17.6515 7.98638 17.702 7.75205 17.7055C7.51771 17.709 7.28506 17.6654 7.0679 17.5773C6.85074 17.4892 6.65349 17.3583 6.48786 17.1925L5.35786 16.0625C4.92411 15.6288 5.02911 15.0038 5.27411 14.6375C5.44988 14.3731 5.52871 14.0559 5.4972 13.74C5.46569 13.424 5.32579 13.1287 5.10125 12.9041C4.87672 12.6796 4.58139 12.5397 4.26542 12.5082C3.94945 12.4767 3.63231 12.5555 3.36786 12.7313C2.99911 12.975 2.37536 13.08 1.94161 12.645L0.784111 11.4875C0.621589 11.325 0.492669 11.1321 0.404712 10.9198C0.316755 10.7074 0.271484 10.4798 0.271484 10.25C0.271484 10.0202 0.316755 9.79262 0.404712 9.58029C0.492669 9.36795 0.621589 9.17503 0.784111 9.01252L9.05286 0.742522Z\" fill=\"#667085\"/>\r\n <path d=\"M10.7966 1.42752C10.6541 1.29681 10.4667 1.22617 10.2733 1.23037C10.08 1.23456 9.8958 1.31325 9.75911 1.45002L1.48911 9.72002C1.41938 9.78968 1.36406 9.87239 1.32632 9.96344C1.28857 10.0545 1.26915 10.1521 1.26915 10.2506C1.26915 10.3492 1.28857 10.4468 1.32632 10.5379C1.36406 10.6289 1.41938 10.7116 1.48911 10.7813L2.64661 11.9388C2.65632 11.9418 2.66647 11.943 2.67661 11.9425C2.71411 11.9425 2.76411 11.9288 2.81161 11.8975C3.26845 11.5927 3.8168 11.4557 4.36331 11.5097C4.90983 11.5637 5.42073 11.8055 5.80905 12.1938C6.19738 12.5822 6.43913 13.0931 6.49316 13.6396C6.54718 14.1861 6.41014 14.7344 6.10536 15.1913C6.07792 15.2311 6.06231 15.2779 6.06036 15.3263C6.06036 15.3425 6.06286 15.3513 6.06411 15.355L7.19411 16.4863C7.26512 16.5574 7.34971 16.6136 7.44285 16.6514C7.53599 16.6892 7.63579 16.7079 7.7363 16.7064C7.83682 16.7049 7.936 16.6832 8.02796 16.6426C8.11992 16.602 8.20278 16.5433 8.27161 16.47L16.5204 7.70502C16.5883 7.63267 16.6412 7.54755 16.676 7.4546C16.7108 7.36165 16.7268 7.26272 16.7231 7.16354C16.7193 7.06436 16.696 6.96691 16.6543 6.87683C16.6126 6.78675 16.5535 6.70583 16.4804 6.63877L15.3729 5.62252H15.3691C15.3514 5.61902 15.3331 5.61902 15.3154 5.62252C15.2448 5.63722 15.1806 5.67348 15.1316 5.72627C14.9227 5.96305 14.6687 6.15579 14.3845 6.29323C14.1002 6.43067 13.7914 6.51005 13.4761 6.52673C13.1608 6.54341 12.8453 6.49704 12.5481 6.39035C12.251 6.28366 11.978 6.11879 11.7453 5.90537C11.5126 5.69195 11.3248 5.43428 11.1929 5.14742C11.061 4.86055 10.9876 4.55027 10.977 4.2347C10.9664 3.91913 11.0188 3.60462 11.1312 3.30956C11.2436 3.01449 11.4137 2.74481 11.6316 2.51627C11.6797 2.46264 11.7098 2.39535 11.7179 2.32377C11.7201 2.30488 11.7184 2.28572 11.7129 2.26752L10.7966 1.42752ZM9.05286 0.742522C9.37176 0.423638 9.80145 0.240174 10.2523 0.230393C10.7032 0.220611 11.1404 0.385268 11.4729 0.690022L12.3891 1.53127C12.6629 1.78127 12.7391 2.12252 12.7141 2.41377C12.6879 2.70127 12.5616 2.98252 12.3666 3.19377C12.2446 3.3269 12.1499 3.48276 12.0881 3.65246C12.0263 3.82216 11.9985 4.00237 12.0064 4.18281C12.0142 4.36325 12.0575 4.54037 12.1338 4.70407C12.2101 4.86778 12.3179 5.01485 12.451 5.1369C12.5841 5.25894 12.74 5.35358 12.9097 5.41539C13.0794 5.4772 13.2596 5.50498 13.44 5.49714C13.6205 5.48931 13.7976 5.44601 13.9613 5.36972C14.125 5.29344 14.2721 5.18565 14.3941 5.05252C14.5879 4.84002 14.8566 4.69002 15.1404 4.63877C15.3004 4.60665 15.4656 4.61218 15.6231 4.65492C15.7806 4.69765 15.926 4.77643 16.0479 4.88502L17.1566 5.90127C17.3273 6.0579 17.4652 6.24687 17.5623 6.4572C17.6594 6.66754 17.7138 6.89507 17.7223 7.12658C17.7308 7.35809 17.6932 7.58899 17.6118 7.80587C17.5303 8.02276 17.4066 8.22131 17.2479 8.39002L9.00036 17.155C8.83975 17.3257 8.64649 17.4624 8.43206 17.5569C8.21763 17.6515 7.98638 17.702 7.75205 17.7055C7.51771 17.709 7.28506 17.6654 7.0679 17.5773C6.85074 17.4892 6.65349 17.3583 6.48786 17.1925L5.35786 16.0625C4.92411 15.6288 5.02911 15.0038 5.27411 14.6375C5.44988 14.3731 5.52871 14.0559 5.4972 13.74C5.46569 13.424 5.32579 13.1287 5.10125 12.9041C4.87672 12.6796 4.58139 12.5397 4.26542 12.5082C3.94945 12.4767 3.63231 12.5555 3.36786 12.7313C2.99911 12.975 2.37536 13.08 1.94161 12.645L0.784111 11.4875C0.621589 11.325 0.492669 11.1321 0.404712 10.9198C0.316755 10.7074 0.271484 10.4798 0.271484 10.25C0.271484 10.0202 0.316755 9.79262 0.404712 9.58029C0.492669 9.36795 0.621589 9.17503 0.784111 9.01252L9.05286 0.742522Z\" stroke=\"#667085\"/>\r\n </svg> {{inprogress?.ticketId}} </span>\r\n </div>\r\n <div class=\"d-flex align-items-centre justify-content-centre\">\r\n <span *ngIf=\"inprogress?.ticketType === 'refreshticket'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"14\" viewBox=\"0 0 17 14\" fill=\"none\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5.94602 4.98881L2.66602 6.33881L2.00602 6.07881L0.666016 2.83881L1.58602 2.45881L2.39602 4.40881C2.93977 3.04801 3.92872 1.91169 5.20145 1.18532C6.47419 0.458951 7.95554 0.185426 9.40375 0.409387C10.852 0.633349 12.1815 1.34157 13.1754 2.41846C14.1692 3.49535 14.7687 4.87732 14.876 6.33881H13.876C13.7616 5.09008 13.2224 3.91836 12.3484 3.01919C11.4743 2.12003 10.3184 1.54781 9.0734 1.39804C7.82842 1.24826 6.56973 1.53 5.50739 2.19622C4.44505 2.86244 3.64332 3.87284 3.23602 5.05881L5.55602 4.05881L5.94602 4.98881ZM14.806 7.66881L16.146 10.8988L15.226 11.3388L14.406 9.33881C13.858 10.7049 12.8618 11.8442 11.581 12.5696C10.3001 13.295 8.81077 13.5634 7.35728 13.3309C5.9038 13.0983 4.57255 12.3786 3.582 11.2898C2.59145 10.2009 2.00046 8.80775 1.90602 7.33881H2.90602V6.83881C2.90882 8.12627 3.36402 9.3718 4.19203 10.3577C5.02005 11.3436 6.16821 12.0071 7.43584 12.2322C8.70346 12.4574 10.0099 12.2299 11.1268 11.5895C12.2437 10.9491 13.1 9.93655 13.546 8.72881L11.296 9.65881L10.906 8.73881L14.156 7.38881L14.806 7.66881Z\" fill=\"#98A2B3\"/>\r\n <path d=\"M8.40625 7.54004C8.95853 7.54004 9.40625 7.09232 9.40625 6.54004C9.40625 5.98775 8.95853 5.54004 8.40625 5.54004C7.85397 5.54004 7.40625 5.98775 7.40625 6.54004C7.40625 7.09232 7.85397 7.54004 8.40625 7.54004Z\" fill=\"#98A2B3\"/>\r\n </svg>\r\n </span>\r\n <span class=\"ms-3\" *ngIf=\"inprogress?.issueStatus !== 'notidentified'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_3827_12061)\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.20065 10.3333H9.15621V12.3333H7.20065V10.3333ZM9.15621 4.33327H7.20065V9.33326H9.15621V4.33327ZM10.6229 5.83327L9.6451 6.83327L12.0895 9.33326L16.0007 4.83327L15.0229 3.83327L12.0895 7.33326L10.6229 5.83327ZM8.17843 14.0333C6.70108 14.0306 5.28499 13.4292 4.24034 12.3608C3.1957 11.2925 2.60768 9.84418 2.6051 8.33326C2.6051 5.19327 5.10821 2.63327 8.17843 2.63327C9.96776 2.63327 11.5518 3.51327 12.5784 4.83327L13.478 3.91327C12.8395 3.10534 12.0319 2.45415 11.1147 2.00765C10.1976 1.56115 9.19419 1.3307 8.17843 1.33327C4.40421 1.33327 1.33398 4.47327 1.33398 8.33326C1.33398 12.1933 4.40421 15.3333 8.17843 15.3333C11.9527 15.3333 15.0229 12.1933 15.0229 8.33326L13.5367 9.85326C12.8913 12.2633 10.7402 14.0433 8.17843 14.0433V14.0333Z\" fill=\"#98A2B3\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3827_12061\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span *ngIf=\"!inprogress.isOpen\" (click)=\"selectView($event,index,'inprogress')\" class=\"ms-3\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\r\n <path d=\"M13.166 2.5H18.166M18.166 2.5V7.5M18.166 2.5L12.3327 8.33333M8.16602 17.5H3.16602M3.16602 17.5V12.5M3.16602 17.5L8.99935 11.6667\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n <div *ngIf=\"!inprogress.isOpen && inprogress?.notification\" class=\"profile d-flex align-items-centre justify-content-centre ms-3\">\r\n <img class=\"\" src=\"./assets/tango/Images/Bellnotification.png\" alt=\"\">\r\n </div>\r\n <!-- <img *ngIf=\"cardView\" class=\"profile ms-3\" src=\"./assets/tango/Images/gropmodal.png\" alt=\"\"> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"statusInprogress?.length === 0 || !noData && !loading\" class=\"w-100 mt-10 mb-10 mh-60vh d-grid text-center mx-auto\"> \r\n <img class=\"mx-auto\" src=\"./assets/tango/Images/taketicket.svg\">\r\n <span class=\"taketicket mt-2 fw-bold\">No In-Progress Tickets </span>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"loading?.inprogress\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData?.inprogress\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body mh-60vh d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"mx-auto\" src=\"./assets/tango/Images/taketicket.svg\">\r\n <span class=\"taketicket mt-5 fw-bold\">No In-Progress Tickets </span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container> \r\n </div>\r\n </div>\r\n </div>\r\n <div class=\"col-sm-4\">\r\n <div class=\"w-100 h-100 rounded-2 overflow-hidden\" (click)=\"selectTicket()\">\r\n <div class=\"badge-light-default px-3 py-4\">\r\n <span>Closed</span><span *ngIf=\"statusClosed?.length > 0 && !noData.closed && !loading.closed\" class=\"rounded-5 ms-3 px-1 border border-gray border-gray bg-badge\">{{statusClosed?.length}}</span>\r\n </div>\r\n <div class=\"rowbody h-100 px-4 py-3\">\r\n <div *ngIf=\"!noData.closed && !loading.closed\">\r\n <div *ngFor=\"let closed of statusClosed; let index = index\">\r\n <div [ngClass]=\"closed.isOpen ? 'active':''\" class=\"issuecard cursor-pointer w-100 mb-5\" (click)=\"routetoTicket(closed)\">\r\n <div *ngIf=\"closed?.isOpen\" class=\"d-flex justify-content-between\">\r\n <div class=\"mb-5\">\r\n <label class=\"fw-semibold\">{{closed?.storeId}}</label><br>\r\n <label class=\"fw-semibold m-2\">{{closed?.storeName ? closed?.storeName :'--'}}</label><br>\r\n <div class=\"d-flex align-items-center mt-2\">\r\n <div class=\"badge badge-light-default me-3\">\r\n <svg class=\"me-2\" 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_3732_60277)\">\r\n <path d=\"M8 1V3M4 1V3M1.5 5H10.5M2.5 2H9.5C10.0523 2 10.5 2.44772 10.5 3V10C10.5 10.5523 10.0523 11 9.5 11H2.5C1.94772 11 1.5 10.5523 1.5 10V3C1.5 2.44772 1.94772 2 2.5 2Z\" stroke=\"#667085\" stroke-width=\"1.1\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3732_60277\">\r\n <rect width=\"12\" height=\"12\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg> {{closed?.Date}}\r\n </div>\r\n <span *ngIf=\"closed?.infraIssue\" [ngClass]=\"closed?.infraIssue === 'Live'? 'badge badge-light-success':''\" class=\"badge badge-light-warning\"> {{closed?.infraIssue}} </span>\r\n <span *ngIf=\"type ==='dataMismatch'\" [ngClass]=\"closed?.infraIssue === 'Live'? 'badge badge-light-success':''\" class=\"badge badge-light-warning\">{{closed?.issueType === 'highcount' ? 'High Count' : (closed?.issueType === 'lowcount' ? 'Low Count' : '')}}</span>\r\n </div>\r\n </div>\r\n <div class=\" d-flex\">\r\n <div *ngIf=\"closed?.notification\" class=\"profile d-flex align-items-centre justify-content-centre me-3\">\r\n <img src=\"./assets/tango/Images/Bellnotification.png\" alt=\"\">\r\n </div>\r\n <span (click)=\"selectView($event,index,'closed')\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\r\n <path d=\"M13.166 2.5H18.166M18.166 2.5V7.5M18.166 2.5L12.3327 8.33333M8.16602 17.5H3.16602M3.16602 17.5V12.5M3.16602 17.5L8.99935 11.6667\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </div>\r\n </div>\r\n <div class=\"d-flex justify-content-between text-center align-items-center\"> \r\n <div class=\"d-flex justify-content-between\" > \r\n <span class=\" d-flex align-items-center\"><svg class=\"me-2\" xmlns=\"http://www.w3.org/2000/svg\" width=\"18\" height=\"18\" viewBox=\"0 0 18 18\" fill=\"none\">\r\n <path d=\"M10.7966 1.42752C10.6541 1.29681 10.4667 1.22617 10.2733 1.23037C10.08 1.23456 9.8958 1.31325 9.75911 1.45002L1.48911 9.72002C1.41938 9.78968 1.36406 9.87239 1.32632 9.96344C1.28857 10.0545 1.26915 10.1521 1.26915 10.2506C1.26915 10.3492 1.28857 10.4468 1.32632 10.5379C1.36406 10.6289 1.41938 10.7116 1.48911 10.7813L2.64661 11.9388C2.65632 11.9418 2.66647 11.943 2.67661 11.9425C2.71411 11.9425 2.76411 11.9288 2.81161 11.8975C3.26845 11.5927 3.8168 11.4557 4.36331 11.5097C4.90983 11.5637 5.42073 11.8055 5.80905 12.1938C6.19738 12.5822 6.43913 13.0931 6.49316 13.6396C6.54718 14.1861 6.41014 14.7344 6.10536 15.1913C6.07792 15.2311 6.06231 15.2779 6.06036 15.3263C6.06036 15.3425 6.06286 15.3513 6.06411 15.355L7.19411 16.4863C7.26512 16.5574 7.34971 16.6136 7.44285 16.6514C7.53599 16.6892 7.63579 16.7079 7.7363 16.7064C7.83682 16.7049 7.936 16.6832 8.02796 16.6426C8.11992 16.602 8.20278 16.5433 8.27161 16.47L16.5204 7.70502C16.5883 7.63267 16.6412 7.54755 16.676 7.4546C16.7108 7.36165 16.7268 7.26272 16.7231 7.16354C16.7193 7.06436 16.696 6.96691 16.6543 6.87683C16.6126 6.78675 16.5535 6.70583 16.4804 6.63877L15.3729 5.62252H15.3691C15.3514 5.61902 15.3331 5.61902 15.3154 5.62252C15.2448 5.63722 15.1806 5.67348 15.1316 5.72627C14.9227 5.96305 14.6687 6.15579 14.3845 6.29323C14.1002 6.43067 13.7914 6.51005 13.4761 6.52673C13.1608 6.54341 12.8453 6.49704 12.5481 6.39035C12.251 6.28366 11.978 6.11879 11.7453 5.90537C11.5126 5.69195 11.3248 5.43428 11.1929 5.14742C11.061 4.86055 10.9876 4.55027 10.977 4.2347C10.9664 3.91913 11.0188 3.60462 11.1312 3.30956C11.2436 3.01449 11.4137 2.74481 11.6316 2.51627C11.6797 2.46264 11.7098 2.39535 11.7179 2.32377C11.7201 2.30488 11.7184 2.28572 11.7129 2.26752L10.7966 1.42752ZM9.05286 0.742522C9.37176 0.423638 9.80145 0.240174 10.2523 0.230393C10.7032 0.220611 11.1404 0.385268 11.4729 0.690022L12.3891 1.53127C12.6629 1.78127 12.7391 2.12252 12.7141 2.41377C12.6879 2.70127 12.5616 2.98252 12.3666 3.19377C12.2446 3.3269 12.1499 3.48276 12.0881 3.65246C12.0263 3.82216 11.9985 4.00237 12.0064 4.18281C12.0142 4.36325 12.0575 4.54037 12.1338 4.70407C12.2101 4.86778 12.3179 5.01485 12.451 5.1369C12.5841 5.25894 12.74 5.35358 12.9097 5.41539C13.0794 5.4772 13.2596 5.50498 13.44 5.49714C13.6205 5.48931 13.7976 5.44601 13.9613 5.36972C14.125 5.29344 14.2721 5.18565 14.3941 5.05252C14.5879 4.84002 14.8566 4.69002 15.1404 4.63877C15.3004 4.60665 15.4656 4.61218 15.6231 4.65492C15.7806 4.69765 15.926 4.77643 16.0479 4.88502L17.1566 5.90127C17.3273 6.0579 17.4652 6.24687 17.5623 6.4572C17.6594 6.66754 17.7138 6.89507 17.7223 7.12658C17.7308 7.35809 17.6932 7.58899 17.6118 7.80587C17.5303 8.02276 17.4066 8.22131 17.2479 8.39002L9.00036 17.155C8.83975 17.3257 8.64649 17.4624 8.43206 17.5569C8.21763 17.6515 7.98638 17.702 7.75205 17.7055C7.51771 17.709 7.28506 17.6654 7.0679 17.5773C6.85074 17.4892 6.65349 17.3583 6.48786 17.1925L5.35786 16.0625C4.92411 15.6288 5.02911 15.0038 5.27411 14.6375C5.44988 14.3731 5.52871 14.0559 5.4972 13.74C5.46569 13.424 5.32579 13.1287 5.10125 12.9041C4.87672 12.6796 4.58139 12.5397 4.26542 12.5082C3.94945 12.4767 3.63231 12.5555 3.36786 12.7313C2.99911 12.975 2.37536 13.08 1.94161 12.645L0.784111 11.4875C0.621589 11.325 0.492669 11.1321 0.404712 10.9198C0.316755 10.7074 0.271484 10.4798 0.271484 10.25C0.271484 10.0202 0.316755 9.79262 0.404712 9.58029C0.492669 9.36795 0.621589 9.17503 0.784111 9.01252L9.05286 0.742522Z\" fill=\"#667085\"/>\r\n <path d=\"M10.7966 1.42752C10.6541 1.29681 10.4667 1.22617 10.2733 1.23037C10.08 1.23456 9.8958 1.31325 9.75911 1.45002L1.48911 9.72002C1.41938 9.78968 1.36406 9.87239 1.32632 9.96344C1.28857 10.0545 1.26915 10.1521 1.26915 10.2506C1.26915 10.3492 1.28857 10.4468 1.32632 10.5379C1.36406 10.6289 1.41938 10.7116 1.48911 10.7813L2.64661 11.9388C2.65632 11.9418 2.66647 11.943 2.67661 11.9425C2.71411 11.9425 2.76411 11.9288 2.81161 11.8975C3.26845 11.5927 3.8168 11.4557 4.36331 11.5097C4.90983 11.5637 5.42073 11.8055 5.80905 12.1938C6.19738 12.5822 6.43913 13.0931 6.49316 13.6396C6.54718 14.1861 6.41014 14.7344 6.10536 15.1913C6.07792 15.2311 6.06231 15.2779 6.06036 15.3263C6.06036 15.3425 6.06286 15.3513 6.06411 15.355L7.19411 16.4863C7.26512 16.5574 7.34971 16.6136 7.44285 16.6514C7.53599 16.6892 7.63579 16.7079 7.7363 16.7064C7.83682 16.7049 7.936 16.6832 8.02796 16.6426C8.11992 16.602 8.20278 16.5433 8.27161 16.47L16.5204 7.70502C16.5883 7.63267 16.6412 7.54755 16.676 7.4546C16.7108 7.36165 16.7268 7.26272 16.7231 7.16354C16.7193 7.06436 16.696 6.96691 16.6543 6.87683C16.6126 6.78675 16.5535 6.70583 16.4804 6.63877L15.3729 5.62252H15.3691C15.3514 5.61902 15.3331 5.61902 15.3154 5.62252C15.2448 5.63722 15.1806 5.67348 15.1316 5.72627C14.9227 5.96305 14.6687 6.15579 14.3845 6.29323C14.1002 6.43067 13.7914 6.51005 13.4761 6.52673C13.1608 6.54341 12.8453 6.49704 12.5481 6.39035C12.251 6.28366 11.978 6.11879 11.7453 5.90537C11.5126 5.69195 11.3248 5.43428 11.1929 5.14742C11.061 4.86055 10.9876 4.55027 10.977 4.2347C10.9664 3.91913 11.0188 3.60462 11.1312 3.30956C11.2436 3.01449 11.4137 2.74481 11.6316 2.51627C11.6797 2.46264 11.7098 2.39535 11.7179 2.32377C11.7201 2.30488 11.7184 2.28572 11.7129 2.26752L10.7966 1.42752ZM9.05286 0.742522C9.37176 0.423638 9.80145 0.240174 10.2523 0.230393C10.7032 0.220611 11.1404 0.385268 11.4729 0.690022L12.3891 1.53127C12.6629 1.78127 12.7391 2.12252 12.7141 2.41377C12.6879 2.70127 12.5616 2.98252 12.3666 3.19377C12.2446 3.3269 12.1499 3.48276 12.0881 3.65246C12.0263 3.82216 11.9985 4.00237 12.0064 4.18281C12.0142 4.36325 12.0575 4.54037 12.1338 4.70407C12.2101 4.86778 12.3179 5.01485 12.451 5.1369C12.5841 5.25894 12.74 5.35358 12.9097 5.41539C13.0794 5.4772 13.2596 5.50498 13.44 5.49714C13.6205 5.48931 13.7976 5.44601 13.9613 5.36972C14.125 5.29344 14.2721 5.18565 14.3941 5.05252C14.5879 4.84002 14.8566 4.69002 15.1404 4.63877C15.3004 4.60665 15.4656 4.61218 15.6231 4.65492C15.7806 4.69765 15.926 4.77643 16.0479 4.88502L17.1566 5.90127C17.3273 6.0579 17.4652 6.24687 17.5623 6.4572C17.6594 6.66754 17.7138 6.89507 17.7223 7.12658C17.7308 7.35809 17.6932 7.58899 17.6118 7.80587C17.5303 8.02276 17.4066 8.22131 17.2479 8.39002L9.00036 17.155C8.83975 17.3257 8.64649 17.4624 8.43206 17.5569C8.21763 17.6515 7.98638 17.702 7.75205 17.7055C7.51771 17.709 7.28506 17.6654 7.0679 17.5773C6.85074 17.4892 6.65349 17.3583 6.48786 17.1925L5.35786 16.0625C4.92411 15.6288 5.02911 15.0038 5.27411 14.6375C5.44988 14.3731 5.52871 14.0559 5.4972 13.74C5.46569 13.424 5.32579 13.1287 5.10125 12.9041C4.87672 12.6796 4.58139 12.5397 4.26542 12.5082C3.94945 12.4767 3.63231 12.5555 3.36786 12.7313C2.99911 12.975 2.37536 13.08 1.94161 12.645L0.784111 11.4875C0.621589 11.325 0.492669 11.1321 0.404712 10.9198C0.316755 10.7074 0.271484 10.4798 0.271484 10.25C0.271484 10.0202 0.316755 9.79262 0.404712 9.58029C0.492669 9.36795 0.621589 9.17503 0.784111 9.01252L9.05286 0.742522Z\" stroke=\"#667085\"/>\r\n </svg> {{closed.ticketId}} </span>\r\n </div>\r\n <div class=\"d-flex align-items-centre justify-content-centre\">\r\n <span *ngIf=\"closed?.ticketType === 'refreshticket'\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"17\" height=\"14\" viewBox=\"0 0 17 14\" fill=\"none\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M5.94602 4.98881L2.66602 6.33881L2.00602 6.07881L0.666016 2.83881L1.58602 2.45881L2.39602 4.40881C2.93977 3.04801 3.92872 1.91169 5.20145 1.18532C6.47419 0.458951 7.95554 0.185426 9.40375 0.409387C10.852 0.633349 12.1815 1.34157 13.1754 2.41846C14.1692 3.49535 14.7687 4.87732 14.876 6.33881H13.876C13.7616 5.09008 13.2224 3.91836 12.3484 3.01919C11.4743 2.12003 10.3184 1.54781 9.0734 1.39804C7.82842 1.24826 6.56973 1.53 5.50739 2.19622C4.44505 2.86244 3.64332 3.87284 3.23602 5.05881L5.55602 4.05881L5.94602 4.98881ZM14.806 7.66881L16.146 10.8988L15.226 11.3388L14.406 9.33881C13.858 10.7049 12.8618 11.8442 11.581 12.5696C10.3001 13.295 8.81077 13.5634 7.35728 13.3309C5.9038 13.0983 4.57255 12.3786 3.582 11.2898C2.59145 10.2009 2.00046 8.80775 1.90602 7.33881H2.90602V6.83881C2.90882 8.12627 3.36402 9.3718 4.19203 10.3577C5.02005 11.3436 6.16821 12.0071 7.43584 12.2322C8.70346 12.4574 10.0099 12.2299 11.1268 11.5895C12.2437 10.9491 13.1 9.93655 13.546 8.72881L11.296 9.65881L10.906 8.73881L14.156 7.38881L14.806 7.66881Z\" fill=\"#98A2B3\"/>\r\n <path d=\"M8.40625 7.54004C8.95853 7.54004 9.40625 7.09232 9.40625 6.54004C9.40625 5.98775 8.95853 5.54004 8.40625 5.54004C7.85397 5.54004 7.40625 5.98775 7.40625 6.54004C7.40625 7.09232 7.85397 7.54004 8.40625 7.54004Z\" fill=\"#98A2B3\"/>\r\n </svg>\r\n </span>\r\n <span *ngIf=\"closed?.issueStatus !== 'notidentified'\" class=\"ms-3\"><svg xmlns=\"http://www.w3.org/2000/svg\" width=\"16\" height=\"16\" viewBox=\"0 0 16 16\" fill=\"none\">\r\n <g clip-path=\"url(#clip0_3827_12061)\">\r\n <path fill-rule=\"evenodd\" clip-rule=\"evenodd\" d=\"M7.20065 10.3333H9.15621V12.3333H7.20065V10.3333ZM9.15621 4.33327H7.20065V9.33326H9.15621V4.33327ZM10.6229 5.83327L9.6451 6.83327L12.0895 9.33326L16.0007 4.83327L15.0229 3.83327L12.0895 7.33326L10.6229 5.83327ZM8.17843 14.0333C6.70108 14.0306 5.28499 13.4292 4.24034 12.3608C3.1957 11.2925 2.60768 9.84418 2.6051 8.33326C2.6051 5.19327 5.10821 2.63327 8.17843 2.63327C9.96776 2.63327 11.5518 3.51327 12.5784 4.83327L13.478 3.91327C12.8395 3.10534 12.0319 2.45415 11.1147 2.00765C10.1976 1.56115 9.19419 1.3307 8.17843 1.33327C4.40421 1.33327 1.33398 4.47327 1.33398 8.33326C1.33398 12.1933 4.40421 15.3333 8.17843 15.3333C11.9527 15.3333 15.0229 12.1933 15.0229 8.33326L13.5367 9.85326C12.8913 12.2633 10.7402 14.0433 8.17843 14.0433V14.0333Z\" fill=\"#98A2B3\"/>\r\n </g>\r\n <defs>\r\n <clipPath id=\"clip0_3827_12061\">\r\n <rect width=\"16\" height=\"16\" fill=\"white\"/>\r\n </clipPath>\r\n </defs>\r\n </svg></span>\r\n <span *ngIf=\"!closed.isOpen\" (click)=\"selectView($event,index,'closed')\" class=\"ms-3\"> <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"21\" height=\"20\" viewBox=\"0 0 21 20\" fill=\"none\">\r\n <path d=\"M13.166 2.5H18.166M18.166 2.5V7.5M18.166 2.5L12.3327 8.33333M8.16602 17.5H3.16602M3.16602 17.5V12.5M3.16602 17.5L8.99935 11.6667\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n <div *ngIf=\"!closed.isOpen && closed?.notification\" class=\"profile d-flex align-items-centre justify-content-centre ms-3\">\r\n <img class=\"\" src=\"./assets/tango/Images/Bellnotification.png\" alt=\"\">\r\n </div>\r\n <!-- <img *ngIf=\"cardView\" class=\"profile ms-3\" src=\"./assets/tango/Images/gropmodal.png\" alt=\"\"> -->\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"statusClosed?.length === 0 || !noData && !loading\" class=\"w-100 mt-10 mb-10 mh-60vh d-grid text-center mx-auto\"> \r\n <img class=\"mx-auto\" src=\"./assets/tango/Images/taketicket.svg\">\r\n <span class=\"taketicket mt-5 fw-bold\">No Closed Tickets</span>\r\n </div>\r\n </div>\r\n <ng-container *ngIf=\"loading?.closed\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"noData?.closed\">\r\n <div class=\"row rowbody\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body mh-60vh d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"mx-auto\" src=\"./assets/tango/Images/taketicket.svg\">\r\n <span class=\"taketicket mt-5 fw-bold\">No Closed Tickets </span>\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container> \r\n\r\n </div>\r\n </div>\r\n </div>\r\n </div> \r\n</div>\r\n<div *ngIf=\"userData === 'History'\">\r\n<div *ngIf=\"type === 'installation' || type === 'infra' || type === 'dataMismatch'\" class=\"card-body\">\r\n <div *ngIf=\"!historyLoading && !historyNodata\">\r\n <div class=\"table-responsive\">\r\n <table class=\"table bottom-border text-nowrap\">\r\n <thead>\r\n <tr>\r\n <th><div (click)=\"sortData('issueDate')\">\r\n Created on\r\n <span *ngIf=\"sortColumName === 'issueDate' && sortBy !== 1 || sortColumName !== 'issueDate' \">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueDate' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'issueDate' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueDate' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n <th><div (click)=\"sortData('ticketId')\">\r\n Ticket ID\r\n <span *ngIf=\"sortColumName === 'ticketId' && sortBy !== 1 || sortColumName !== 'ticketId' \">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'ticketId' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'ticketId' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'ticketId' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div (click)=\"sortData('clientName')\">\r\n Brand Name\r\n <span *ngIf=\"sortColumName === 'clientName' && sortBy !== 1 || sortColumName !== 'clientName'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'clientName' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'clientName' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'clientName' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div (click)=\"sortData('clientId')\">\r\n Brand ID\r\n <span *ngIf=\"sortColumName === 'clientId' && sortBy !== 1 || sortColumName !== 'clientId'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'clientId' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'clientId' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'clientId' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div (click)=\"sortData('storeName')\">\r\n Store Name\r\n <span *ngIf=\"sortColumName === 'storeName' && sortBy !== 1 || sortColumName !== 'storeName'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'storeName' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'storeName' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'storeName' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div (click)=\"sortData('storeId')\">\r\n Store ID\r\n <span *ngIf=\"sortColumName === 'storeId' && sortBy !== 1 || sortColumName !== 'storeId'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'storeId' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'storeId' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'storeId' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th *ngIf=\"type === 'infra' || type ==='installation'\"><div (click)=\"sortData('issueDate')\">\r\n Issue Identified on\r\n <span *ngIf=\"sortColumName === 'issueDate' && sortBy !== 1 || sortColumName !== 'issueDate'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueDate' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'issueDate' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueDate' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th *ngIf=\"type === 'dataMismatch'\"><div (click)=\"sortData('issueDate')\">\r\n Issue date\r\n <span *ngIf=\"sortColumName === 'issueDate' && sortBy !== 1 || sortColumName !== 'issueDate'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueDate' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'issueDate' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueDate' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div (click)=\"sortData('issueClosedDate')\">\r\n Closed on\r\n <span *ngIf=\"sortColumName === 'issueClosedDate' && sortBy !== 1 || sortColumName !== 'issueClosedDate'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueClosedDate' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'issueClosedDate' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueClosedDate' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th *ngIf=\"type === 'infra' || type ==='installation'\"><div (click)=\"sortData('infraIssue')\">Issue Type\r\n <span *ngIf=\"sortColumName === 'infraIssue' && sortBy !== 1 || sortColumName !== 'infraIssue'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'infraIssue' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'infraIssue' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'infraIssue' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span></div>\r\n </th>\r\n <th *ngIf=\"type === 'dataMismatch'\"><div (click)=\"sortData('issueType')\">Issue Type\r\n <span *ngIf=\"sortColumName === 'issueType' && sortBy !== 1 || sortColumName !== 'issueType'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueType' && sortBy !== 1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'issueType' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n [attr.stroke]=\"sortColumName === 'issueType' && sortBy !== -1 ? '#00A3FF' : '#667085'\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span></div>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let history of workHistoryTable ; let i = index\">\r\n <td>{{history?.issueDate|customDateFormat}}</td>\r\n <td>{{history?.ticketId ? history?.ticketId :'--'}}</td>\r\n <td>\r\n <div class=\"d-grid ms-3 cursor-pointer\" (click)=\"routetoTicket(history)\">\r\n <span class=\"text-primary mb-1 text-capitalize\">{{history?.clientName ? history?.clientName : '--'}}</span>\r\n \r\n </div>\r\n </td>\r\n <td>\r\n {{history?.clientId ? history?.clientId :'--'}}\r\n </td>\r\n <td>\r\n <div class=\"d-grid ms-3 cursor-pointer\" (click)=\"routetoTicket(history)\">\r\n <span class=\"text-primary mb-1\">{{history?.storeName ? history?.storeName :'--'}}</span>\r\n </div>\r\n </td>\r\n <td>\r\n {{history?.storeId ? history?.storeId :'--'}}\r\n </td>\r\n <td *ngIf=\"type === 'infra' || type ==='installation'\">{{history?.issueIdentifiedDate?(history?.issueIdentifiedDate |customDateFormat): '--'}}</td>\r\n <td *ngIf=\"type === 'dataMismatch'\">{{history?.issueDate?(history?.issueDate |customDateFormat): '--'}}</td>\r\n <td>{{history?.issueClosedDate|customDateFormat}}</td>\r\n <td *ngIf=\"type === 'infra' || type ==='installation'\">{{history?.infraIssue ? history?.infraIssue :'--'}}</td>\r\n <td *ngIf=\"type === 'dataMismatch'\">{{history?.issueType ? history?.issueType :'--'}}</td>\r\n </tr>\r\n </tbody>\r\n \r\n </table> \r\n </div>\r\n <lib-pagination [itemsPerPage]=\"limit\" [currentPage]=\"offset\"\r\n [totalItems]=\"totalItems\" [paginationSizes]=\"[10,20,30]\" [pageSize]=\"limit\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div> \r\n <ng-container *ngIf=\"historyLoading && !historyNodata\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"historyNodata && !historyLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n</div>\r\n</div>\r\n<div *ngIf=\"userData === 'History'\">\r\n <div *ngIf=\"type === 'mat'\" class=\"card-body\">\r\n <div *ngIf=\"!historyLoading && !historyNodata\">\r\n <div class=\"table-responsive\">\r\n <table class=\"table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th><div (click)=\"sortData('issueDate')\">\r\n Date\r\n <span *ngIf=\"sortColumName === 'issueDate' && sortBy !== 1 || sortColumName !== 'issueDate' \">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'issueDate' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n <th><div (click)=\"sortData('ticketId')\">\r\n Ticket ID\r\n <span *ngIf=\"sortColumName === 'ticketId' && sortBy !== 1 || sortColumName !== 'ticketId' \">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'ticketId' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div (click)=\"sortData('clientName')\">\r\n Client Info\r\n <span *ngIf=\"sortColumName === 'clientName' && sortBy !== 1 || sortColumName !== 'clientName'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'clientName' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div (click)=\"sortData('storeName')\"></div>\r\n Store Info\r\n <span *ngIf=\"sortColumName === 'storeName' && sortBy !== 1 || sortColumName !== 'storeName'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'storeName' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </th>\r\n <th><div (click)=\"sortData('status')\">Status\r\n <span *ngIf=\"sortColumName === 'status' && sortBy !== 1 || sortColumName !== 'status'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'status' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span></div>\r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let history of workHistoryTable ; let i = index\">\r\n <td>{{history?.issueDate|customDateFormat}}</td>\r\n <td>{{history?.ticketId ? history?.ticketId :'--'}}</td>\r\n <td>\r\n <div class=\"d-grid\">\r\n <span class=\"text-primary\">{{history?.clientName ? history?.clientName : '--'}}</span>\r\n <span class=\"textSub mt-1\">ID : {{history?.clientId ? history?.clientId :'--'}}</span>\r\n </div>\r\n </td>\r\n <td>\r\n <div class=\"d-grid ms-3\">\r\n <span class=\"text-primary mb-1\">{{history?.storeName ? history?.storeName :'--'}}</span>\r\n <span class=\"textSub\">ID : {{history?.storeId ? history?.storeId :'--'}}</span>\r\n </div>\r\n </td>\r\n <td>\r\n <span *ngIf=\"history.status ==='open'\" class=\"badge badge-light-danger\">Open</span>\r\n <span *ngIf=\"history.status ==='closed'\" class=\"badge badge-light-success\">Closed</span>\r\n <span *ngIf=\"history.status ==='inprogress'\" class=\"badge badge-light-primary\">In\r\n Progress</span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n \r\n </table> \r\n </div>\r\n <lib-pagination [itemsPerPage]=\"limit\" [currentPage]=\"offset\"\r\n [totalItems]=\"totalItems\" [paginationSizes]=\"[10,20,30]\" [pageSize]=\"limit\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination>\r\n </div> \r\n <ng-container *ngIf=\"historyLoading && !historyNodata\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"historyNodata && !historyLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n\r\n<div *ngIf=\"userData === 'History'\">\r\n <div *ngIf=\"type === 'audit'\" class=\"card-body\">\r\n <div *ngIf=\"!historyLoading && !historyNodata\">\r\n <div class=\"table-responsive\"> \r\n <table class=\"table bottom-border\">\r\n <thead>\r\n <tr>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('fileDate')\">\r\n File Date\r\n <span *ngIf=\"sortColumName === 'fileDate' && sortBy !== 1 || sortColumName !== 'fileDate' \">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'fileDate' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('clientName')\">\r\n Client Info\r\n <span *ngIf=\"sortColumName === 'clientName' && sortBy !== 1 || sortColumName !== 'clientName' \">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'clientName' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('storeName')\">\r\n Store Info\r\n <span *ngIf=\"sortColumName === 'storeName' && sortBy !== 1 || sortColumName !== 'storeName'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'storeName' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </div>\r\n </th>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('location')\"></div>\r\n Location\r\n <span *ngIf=\"sortColumName === 'location' && sortBy !== 1 || sortColumName !== 'location'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'location' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n </th>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('type')\">Type\r\n <span *ngIf=\"sortColumName === 'type' && sortBy !== 1 || sortColumName !== 'type'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'type' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span></div>\r\n </th>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('accuracy')\">Accuracy\r\n <span *ngIf=\"sortColumName === 'accuracy' && sortBy !== 1 || sortColumName !== 'accuracy'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'accuracy' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span></div>\r\n </th>\r\n <th><div class=\"cursor-pointer\" (click)=\"sortData('timespent')\">Time Spent\r\n <span *ngIf=\"sortColumName === 'timespent' && sortBy !== 1 || sortColumName !== 'timespent'\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 1.33337V10.6667M6.00016 10.6667L10.6668 6.00004M6.00016 10.6667L1.3335 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span>\r\n <span *ngIf=\"sortColumName === 'timespent' && sortBy !== -1\">\r\n <svg width=\"12\" height=\"12\" viewBox=\"0 0 12 12\" fill=\"none\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <path d=\"M6.00016 10.6667L6.00016 1.33337M6.00016 1.33337L1.3335 6.00004M6.00016 1.33337L10.6668 6.00004\"\r\n stroke=\"#667085\" stroke-width=\"1.33333\" stroke-linecap=\"round\" stroke-linejoin=\"round\" />\r\n </svg>\r\n </span></div>\r\n </th>\r\n <th>Status\r\n </th>\r\n <th>Actions\r\n \r\n </th>\r\n </tr>\r\n </thead>\r\n <tbody>\r\n <tr *ngFor=\"let history of workHistorydata ; let i = index\">\r\n <td>{{history?.fileDate}}</td>\r\n <td>{{history?.clientName ? history?.clientName :'--'}}</td>\r\n <td>{{history?.storeName ? history?.storeName : '--'}}\r\n </td>\r\n <td>{{history?.location ? history?.location :'--'}}</td>\r\n <td>{{history?.type ? history?.type :'--'}}\r\n </td>\r\n <td>{{history?.accuracy ? history?.accuracy :'--'}}</td>\r\n <td>{{history?.timespent ? history?.timespent :'--'}}</td>\r\n <td>\r\n <span *ngIf=\"history.status ==='draft'\" class=\"badge badge-light-warning\">Draft</span>\r\n <span *ngIf=\"history.status ==='completed'\" class=\"badge badge-light-success\">Closed</span>\r\n <span *ngIf=\"history.status ==='inprogress'\" class=\"badge badge-light-primary\">In\r\n Progress</span>\r\n </td>\r\n <td><span class=\"cursor-pointer\" (click)=\"viewUser()\">\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=\"M0.833374 10C0.833374 10 4.16671 3.33337 10 3.33337C15.8334 3.33337 19.1667 10 19.1667 10C19.1667 10 15.8334 16.6667 10 16.6667C4.16671 16.6667 0.833374 10 0.833374 10Z\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n <path d=\"M10 12.5C11.3808 12.5 12.5 11.3808 12.5 10C12.5 8.61933 11.3808 7.50004 10 7.50004C8.61933 7.50004 7.50004 8.61933 7.50004 10C7.50004 11.3808 8.61933 12.5 10 12.5Z\" stroke=\"#667085\" stroke-width=\"1.66667\" stroke-linecap=\"round\" stroke-linejoin=\"round\"/>\r\n </svg></span>\r\n </td>\r\n </tr>\r\n </tbody>\r\n \r\n </table> \r\n </div>\r\n <!-- <lib-pagination [itemsPerPage]=\"limit\" [currentPage]=\"offset\"\r\n [totalItems]=\"workHistoryTable.count\" [paginationSizes]=\"[10,20,30]\" [pageSize]=\"limit\"\r\n (pageChange)=\"onPageChange($event)\" (pageSizeChange)=\"onPageSizeChange($event)\"></lib-pagination> -->\r\n </div> \r\n <ng-container *ngIf=\"historyLoading && !historyNodata\" >\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"historyNodata && !historyLoading\">\r\n <div class=\"row\">\r\n <div class=\"col-lg-12 mb-3\">\r\n <div class=\"card-body d-flex justify-content-center align-items-center flex-column\">\r\n <img class=\"img-src\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n </div>\r\n</div>\r\n\r\n\r\n\r\n\r\n\r\n\r\n", styles: [".rowbody{background:var(--Gray-50, #F9FAFB)}.issuecard{border-radius:8px;border:1px solid var(--Gray-100, #F2F4F7);background:var(--White, #FFF);box-shadow:0 1px 2px #1018280d;padding:14px 12px}.issuecard label{color:var(--Black, #101828);font-size:16px;line-height:24px}.issuecard.active{background:var(--Primary-25, #F6FCFF);box-shadow:0 2px 4px -2px #1018280f,0 4px 8px -2px #1018281a}.fw-bold-700{font-weight:700!important}.fw-bold-400{font-weight:400!important}.profile{width:24px;height:24px;overflow:hidden;border-radius:200px}.msgprofile{width:48px!important;height:48px!important;border-radius:200px;overflow:hidden}.timingtext{color:var(--Gray-500, #667085);font-size:12px;line-height:18px}.bg-badge{background-color:#776f6f29!important}.items:hover,.tems.focus,.items.active,.camera.focus-visible{background:var(--Gray-50, #F9FAFB)}.textSub{color:var(--Gray-500, #667085);font-size:14px;font-weight:400;line-height:20px}.taketicket{color:var(--Gray-500, #667085);font-size:16px;line-height:24px}tr{vertical-align:middle!important}.img-src{width:25%}.mh-60vh{height:40vh!important}.min-height-60vh{min-height:50vh!important}.text-primary{color:var(--Primary-700, #009BF3)!important;font-family:Inter;font-size:14px;font-weight:500}\n"] }]
|
|
572
575
|
}], ctorParameters: () => [{ type: i1.ActivatedRoute }, { type: i1.Router }, { type: i0.ChangeDetectorRef }, { type: i2.DataService }, { type: i3.ToastService }, { type: i4.TicketsService }, { type: i2.DataService }, { type: i5.GlobalStateService }, { type: i6.ExcelService }], propDecorators: { onClick: [{
|
|
573
576
|
type: HostListener,
|
|
574
577
|
args: ["document:click", ["$event"]]
|
|
575
578
|
}] } });
|
|
576
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mcmF0aWNrZXRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy9pbmZyYXRpY2tldHMvaW5mcmF0aWNrZXRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy9pbmZyYXRpY2tldHMvaW5mcmF0aWNrZXRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxHQUdiLE1BQU0sZUFBZSxDQUFDO0FBT3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7O0FBTzFDLE1BQU0sT0FBTyxxQkFBcUI7SUE2RFo7SUFBK0I7SUFDekM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNEO0lBQ0M7SUFuRVYsV0FBVyxHQUFRLE9BQU8sQ0FBQztJQUMzQixVQUFVLEdBQVEsQ0FBQyxDQUFDO0lBQ3BCLGFBQWEsR0FBUSxFQUFFLENBQUM7SUFDeEIsUUFBUSxHQUFRLFdBQVcsQ0FBQztJQUM1QixnQkFBZ0IsQ0FBTTtJQUN0Qix1QkFBdUI7SUFDdkIsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUMxQixNQUFNLENBQVU7SUFDaEIsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUMxQixlQUFlLENBQU07SUFDckIsTUFBTSxHQUFRLENBQUMsQ0FBQztJQUNoQixNQUFNLEdBQVEsQ0FBQyxDQUFDLENBQUM7SUFDakIsS0FBSyxHQUFRLEVBQUUsQ0FBQztJQUNoQixhQUFhLENBQU07SUFDbkIsYUFBYSxDQUFNO0lBQ25CLFNBQVMsR0FBVSxFQUFFLENBQUM7SUFDdEIsZUFBZSxHQUFVLEVBQUUsQ0FBQztJQUM1QixXQUFXLEdBQVUsRUFBRSxD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Q0FBQyxXQUFXLEtBQUssUUFBUSxFQUFFO29CQUNwQyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7aUJBQ2hFO1lBQ0gsQ0FBQyxDQUFDLENBQUE7U0FDRDtRQUNELElBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUNoQyxJQUFJLENBQUMsYUFBYSxHQUFFLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDO3dHQXhpQlEscUJBQXFCOzRGQUFyQixxQkFBcUIsc0hDcEJsQyxzdytHQTgrQkE7OzRGRDE5QmEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLGtCQUFrQjtnVEFnRjVCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uRGVzdHJveSxcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgT25Jbml0LFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IFRpY2tldHNTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3RpY2tldC1pbmZyYS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2RhdGEuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tIFwidGFuZ28tYXBwLXVpLXNoYXJlZFwiO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UgfSBmcm9tIFwidGFuZ28tYXBwLXVpLWdsb2JhbFwiO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBFeGNlbFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvZXhjZWwuc2VydmljZVwiO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJsaWItaW5mcmF0aWNrZXRzXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9pbmZyYXRpY2tldHMuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybDogXCIuL2luZnJhdGlja2V0cy5jb21wb25lbnQuc2Nzc1wiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5mcmF0aWNrZXRzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHNlbGVjdGVkVGFiOiBhbnkgPSBcImluZnJhXCI7XHJcbiAgc2VsZWN0Q2FyZDogYW55ID0gMDtcclxuICBzZWxlY3RlZElzc3VlOiBhbnkgPSBcIlwiO1xyXG4gIHVzZXJEYXRhOiBhbnkgPSBcIldvcmtzcGFjZVwiO1xyXG4gIHdvcmtIaXN0b3J5VGFibGU6IGFueTtcclxuICAvLyB3b3JrSGlzdG9yeWRhdGE6YW55O1xyXG4gIGNhcmRWaWV3OiBib29sZWFuID0gZmFsc2U7XHJcbiAgaXNPcGVuOiBib29sZWFuO1xyXG4gIGRyb3BEb3duOiBib29sZWFuID0gZmFsc2U7XHJcbiAgc2VhcmNoV29ya3NwYWNlOiBhbnk7XHJcbiAgb2Zmc2V0OiBhbnkgPSAxO1xyXG4gIHNvcnRCeTogYW55ID0gLTE7XHJcbiAgbGltaXQ6IGFueSA9IDEwO1xyXG4gIHNvcnRDb2x1bU5hbWU6IGFueTtcclxuICBzZWFyY2hIaXN0b3J5OiBhbnk7XHJcbiAgZHVtbXlPcGVuOiBhbnlbXSA9IFtdO1xyXG4gIGR1bW15SW5wcm9ncmVzczogYW55W10gPSBbXTtcclxuICBkdW1teUNsb3NlZDogYW55W10gPSBbXTtcclxuICBkcm9wZG93bkl0ZW1zOiBhbnlbXTtcclxuICBoaXN0b3J5TG9hZGluZzogYm9vbGVhbiA9IHRydWU7XHJcbiAgaGlzdG9yeU5vZGF0YTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGxvYWRpbmc6IGFueSA9IHtcclxuICAgIG9wZW46IHRydWUsXHJcbiAgICBpbnByb2dyZXNzOiB0cnVlLFxyXG4gICAgY2xvc2VkOiB0cnVlLFxyXG4gIH07XHJcbiAgbm9EYXRhOiBhbnkgPSB7XHJcbiAgICBvcGVuOiBmYWxzZSxcclxuICAgIGlucHJvZ3Jlc3M6IGZhbHNlLFxyXG4gICAgY2xvc2VkOiBmYWxzZSxcclxuICB9O1xyXG4gIHBhZ2luYXRpb24gPSB7XHJcbiAgICBvZmZzZXQ6IDEsXHJcbiAgICBsaW1pdDogMTAsXHJcbiAgICB0b3RhbENvdW50OiAxMDAwLFxyXG4gICAgdG90YWxQYWdlczogMjAsXHJcbiAgfTtcclxuICBkYXRhT2JqZWN0OiBhbnk7XHJcbiAgc3RhdHVzT3BlbjogYW55O1xyXG4gIHN0YXR1c0Nsb3NlZDogYW55O1xyXG4gIHN0YXR1c0lucHJvZ3Jlc3M6IGFueTtcclxuICBkdW1teUhpc3Rvcnk6IGFueTtcclxuICBoZWFkZXJGaWx0ZXI6IGFueTtcclxuICBmaWx0ZXJlZERhdGE6IGFueVtdO1xyXG4gIGRhdGVGaWx0ZXI6IGFueTtcclxuICBzdG9yZUZpbHRlcjogYW55O1xyXG4gIGlzc3VlRmlsdGVyOiBhbnk7XHJcbiAgZmlsdGVyU3RvcmVzOiBhbnkgPSBbXTtcclxuICBjbGllbnRJZDogYW55O1xyXG4gIHdvcmtIaXN0b3J5ZGF0YTphbnlbXT1be2ZpbGVEYXRlOicwNi0wNi0yNCcsY2xpZW50TmFtZTonbGVuc2thcnQnLHN0b3JlTmFtZTonbGtzdDkwNScsbG9jYXRpb246J2NoZW5uYWknLHR5cGU6J2F1ZGl0JyxhY2N1cmFjeTonODAlJyx0aW1lc3BlbnQ6JzE1bWlucycsc3RhdHVzOidjb21wbGV0ZWQnfSxcclxuICAgIHtmaWxlRGF0ZTonMDctMDYtMjQnLGNsaWVudE5hbWU6J3NhbmdlZXRoYScsc3RvcmVOYW1lOidsa3N0OTA1Jyxsb2NhdGlvbjonY2hlbm5haScsdHlwZTonYXVkaXQnLGFjY3VyYWN5Oic4MCUnLHRpbWVzcGVudDonMTVtaW5zJyxzdGF0dXM6J2NvbXBsZXRlZCd9LFxyXG4gICAge2ZpbGVEYXRlOicwOC0wNi0yNCcsY2xpZW50TmFtZTonbWluaXNvJyxzdG9yZU5hbWU6J2xrc3Q5MDUnLGxvY2F0aW9uOidjaGVubmFpJyx0eXBlOidyZS1hdWRpdCcsYWNjdXJhY3k6JzgwJScsdGltZXNwZW50OicxNW1pbnMnLHN0YXR1czonaW5wcm9ncmVzcyd9LFxyXG4gICAge2ZpbGVEYXRlOicwOS0wNi0yNCcsY2xpZW50TmFtZTonbGVuc2thcnQnLHN0b3JlTmFtZTonbGtzdDkwNScsbG9jYXRpb246J2NoZW5uYWknLHR5cGU6J2F1ZGl0JyxhY2N1cmFjeTonODAlJyx0aW1lc3BlbnQ6JzE1bWlucycsc3RhdHVzOidkcmFmdCd9LFxyXG4gICAge2ZpbGVEYXRlOicxMC0wNi0yNCcsY2xpZW50TmFtZTonbGVuc2thcnQnLHN0b3JlTmFtZTonbGtzdDkwNScsbG9jYXRpb246J2NoZW5uYWknLHR5cGU6J2F1ZGl0JyxhY2N1cmFjeTonODAlJyx0aW1lc3BlbnQ6JzE1bWlucycsc3RhdHVzOidjb21wbGV0ZWQnfVxyXG4gIF07XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIHVzZXI6IGFueTtcclxuICB0eXBlOiBzdHJpbmcgfCBudWxsID0gXCJpbmZyYVwiO1xyXG4gIHVuaXF1ZUFycmF5OiBhbnk7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSxcclxuICAgIHByaXZhdGUgc2VydmljZTogVGlja2V0c1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRhdGFzZXJ2aWNlOiBEYXRhU2VydmljZSxcclxuICAgIHB1YmxpYyBnczogR2xvYmFsU3RhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBleGNlbDogRXhjZWxTZXJ2aWNlXHJcbiAgKSB7XHJcbiAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZSgocGFyYW1zKSA9PiB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBwYXJhbXMuc2VsZWN0ZWRUYWI7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoXCJkb2N1bWVudDpjbGlja1wiLCBbXCIkZXZlbnRcIl0pXHJcbiAgb25DbGljayhldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgaWYgKCF0YXJnZXQuY2xvc2VzdChcIi5kcm9wZG93blwiKSkge1xyXG4gICAgICB0aGlzLmRyb3BEb3duID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWUucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgIHRoaXMudXNlckRhdGEgPSAnV29ya3NwYWNlJztcclxuICAgICAgaWYgKGRhdGEgIT0gbnVsbCkge1xyXG4gICAgICAgIHRoaXMudXNlciA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oJ3VzZXItaW5mbycpIHx8IFwiXCIpXHJcbiAgICAgICAgdGhpcy5oZWFkZXJGaWx0ZXIgPSBkYXRhO1xyXG4gICAgICAgIHRoaXMuY2xpZW50SWQgPSB0aGlzLmhlYWRlckZpbHRlcj8uY2xpZW50c1xyXG4gICAgICAgIHRoaXMucm91dGUucXVlcnlQYXJhbU1hcC5zdWJzY3JpYmUocGFyYW1zID0+IHtcclxuICAgICAgICAgIHRoaXMudHlwZSA9IChwYXJhbXMuZ2V0KCd0eXBlJykpID8gKHBhcmFtcy5nZXQoJ3R5cGUnKSkgOiB0aGlzLnR5cGU7XHJcbiAgICAgICAgICBpZih0aGlzLnR5cGUgPT09J2F1ZGl0Jyl7dGhpcy51c2VyRGF0YSA9ICdIaXN0b3J5J31lbHNle31cclxuICAgICAgICAgIHRoaXMuZ2V0ZGF0YU9iamVjdCgpO1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3REcm9wZG93bnMoKTtcclxuICAgICAgICAgIGlmICh0aGlzLnVzZXJEYXRhID09ICdXb3Jrc3BhY2UnKSB7XHJcbiAgICAgICAgICAgIHRoaXMudXNlclRpY2tldExpc3QoJ29wZW4nKTtcclxuICAgICAgICAgICAgdGhpcy51c2VyVGlja2V0TGlzdCgnaW5wcm9ncmVzcycpO1xyXG4gICAgICAgICAgICB0aGlzLnVzZXJUaWNrZXRMaXN0KCdjbG9zZWQnKTtcclxuICAgICAgICAgIH0gZWxzZSBpZiAodGhpcy51c2VyRGF0YSA9PSAnSGlzdG9yeScpIHtcclxuICAgICAgICAgICAgdGhpcy53b3JrSGlzdG9yeSgpO1xyXG4gICAgICAgICAgICB0aGlzLnN0b3JlRmlsdGVycygpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0pO1xyXG4gICAgICB9XHJcblxyXG4gICAgfSk7XHJcbmNvbnNvbGUubG9nKHRoaXMudXNlckRhdGEpXHJcblxyXG4gIH1cclxuICBnZXRkYXRhT2JqZWN0KCkge1xyXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gXCJpbmZyYVwiIHx8IHRoaXMudHlwZSA9PT0gXCJpbnN0YWxsYXRpb25cIikge1xyXG4gICAgICB0aGlzLmRhdGFPYmplY3QgPSBbXHJcbiAgICAgICAgeyBEZXNjcmlwdGlvbjogXCJTdG9yZSBJRFwiLCBJc3N1ZXM6IFtdIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgRGVzY3JpcHRpb246IFwiSXNzdWUgVHlwZVwiLFxyXG4gICAgICAgICAgSXNzdWVzOiBbIHsgdGV4dDogXCJTdG9yZSBPcGVyYXRpb24gSXNzdWVzXCIgfSx7IHRleHQ6IFwiQ2FtZXJhIElzc3Vlc1wiIH0seyB0ZXh0OiBcIkludGVybmV0IElzc3Vlc1wiIH0sIHsgdGV4dDogXCJTeXN0ZW0gSXNzdWVzXCIgfSx7IHRleHQ6IFwiQXBwbGljYXRpb24gSXNzdWVzXCIgfSwgXSxcclxuICAgICAgICB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIERlc2NyaXB0aW9uOiBcIkRhdGUgVHlwZVwiLHR5cGU6IFwic2luZ2xlXCIsXHJcbiAgICAgICAgICBJc3N1ZXM6IFtcclxuICAgICAgICAgICAgeyBpZDogXCJpc3N1ZUlkZW50aWZpZWREYXRlXCIsIHRleHQ6IFwiSXNzdWUgSWRlbnRpZmllZCBEYXRlXCIgfSxcclxuICAgICAgICAgICAgeyBpZDogXCJjcmVhdGVkRGF0ZVwiLCB0ZXh0OiBcIkNyZWF0ZWQgRGF0ZVwiIH0sXHJcbiAgICAgICAgICAgIHsgaWQ6IFwiY2xvc2VkRGF0ZVwiLCB0ZXh0OiBcIkNsb3NlZCBEYXRlXCIgfSxcclxuICAgICAgICAgIF0sXHJcbiAgICAgICAgfSxcclxuICAgICAgXTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSBcImRhdGFNaXNtYXRjaFwiKSB7XHJcbiAgICAgIHRoaXMuZGF0YU9iamVjdCA9IFtcclxuICAgICAgICB7IERlc2NyaXB0aW9uOiAnU3RvcmUgSUQnLCBJc3N1ZXM6IFtdIH0sXHJcbiAgICAgICAgeyBEZXNjcmlwdGlvbjogJ0lzc3VlIFR5cGUnLCBJc3N1ZXM6IFt7aWQ6J2hpZ2hjb3VudCcsIHRleHQ6IFwiSGlnaCBjb3VudFwiIH0sIHtpZDonbG93Y291bnQnLCB0ZXh0OiBcIkxvdyBjb3VudFwiIH1dIH0sXHJcbiAgICAgICAgeyBEZXNjcmlwdGlvbjogJ0RhdGUgVHlwZScsIHR5cGU6ICdzaW5nbGUnLCBJc3N1ZXM6IFt7IGlkOiBcImlzc3VlRGF0ZVwiLHRleHQ6IFwiSXNzdWUgRGF0ZVwiIH0sIHsgaWQ6IFwiY3JlYXRlZERhdGVcIix0ZXh0OiBcIkNyZWF0ZWQgRGF0ZVwiIH0sIHsgaWQ6IFwiY2xvc2VkRGF0ZVwiLHRleHQ6IFwiQ2xvc2VkIERhdGVcIiB9XSB9XHJcbiAgICAgIF07XHJcbiAgICB9XHJcbiAgfVxyXG4gIHJlbW92ZUR1cGxpY2F0ZXMoKSB7XHJcbiAgICBjb25zdCBrZXkgPSAnaWQnOyAvLyBDaGFuZ2UgdGhpcyBrZXkgdG8gYW55IGtleSB5b3Ugd2FudCB0byB1c2UgZm9yIHVuaXF1ZW5lc3NcclxuICAgIGNvbnN0IHVuaXF1ZUtleXMgPSBuZXcgU2V0KCk7XHJcbiAgICBsZXQgb3JpZ2luYWxBcnJheSA9IHRoaXMuZGF0YU9iamVjdC5maW5kKChkYXRhOmFueSkgPT4gZGF0YS5EZXNjcmlwdGlvbiA9PT0nU3RvcmUgSUQnKS5Jc3N1ZXNcclxuICAgIHRoaXMudW5pcXVlQXJyYXkgPSBvcmlnaW5hbEFycmF5LmZpbHRlcigoaXRlbTphbnkpID0+IHtcclxuICAgICAgY29uc3QgaXNEdXBsaWNhdGUgPSB1bmlxdWVLZXlzLmhhcyhpdGVtW2tleV0pO1xyXG4gICAgICB1bmlxdWVLZXlzLmFkZChpdGVtW2tleV0pO1xyXG4gICAgICByZXR1cm4gIWlzRHVwbGljYXRlO1xyXG4gICAgfSk7XHJcbiAgfVxyXG4gIG5nT25EZXN0cm95KCk6IHZvaWQge1xyXG4gICAgdGhpcy5kZXN0cm95JC5uZXh0KHRydWUpO1xyXG4gICAgdGhpcy5kZXN0cm95JC5jb21wbGV0ZSgpO1xyXG4gIH1cclxuICB1c2VyVGlja2V0TGlzdCh2YWx1ZTogYW55KSB7XHJcbiAgICAvLyB0aGlzLnNlbGVjdGVkSXNzdWUgPSB0aGlzLnNlbGVjdGVkSXNzdWUgPT09ICdIaWdoIENvdW50JyA/ICdoaWdoY291bnQnIDoodGhpcy5zZWxlY3RlZElzc3VlID09PSAnTG93IENvdW50JyA/ICdsb3djb3VudCcgOiAnJylcclxuICAgIGxldCBkYXRhID0ge1xyXG4gICAgICBjbGllbnRJZDogdGhpcy5jbGllbnRJZCxcclxuICAgICAgdXNlcklkOiB0aGlzLnVzZXI/Ll9pZCxcclxuICAgICAgc3RhdHVzOiB2YWx1ZSxcclxuICAgICAgaXNzdWVUeXBlOiB0aGlzLnR5cGUsXHJcbiAgICAgIGZyb21EYXRlOiB0aGlzLmhlYWRlckZpbHRlcj8uZGF0ZT8uc3RhcnREYXRlLFxyXG4gICAgICB0b0RhdGU6IHRoaXMuaGVhZGVyRmlsdGVyPy5kYXRlPy5lbmREYXRlLFxyXG4gICAgICBzZWFyY2hWYWx1ZTogdGhpcy5zZWFyY2hXb3Jrc3BhY2UsXHJcbiAgICAgIGZpbHRlcjogdGhpcy5zZWxlY3RlZElzc3VlLFxyXG4gICAgfTtcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAudXNlclRpY2tldExpc3QoZGF0YSlcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PSAyMDAgJiYgcmVzLmRhdGEuZGF0YS5sZW5ndGgpIHtcclxuICAgICAgICAgICAgaWYgKHZhbHVlID09IFwib3BlblwiKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zdGF0dXNPcGVuID0gcmVzLmRhdGEuZGF0YTtcclxuICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcub3BlbiA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIHRoaXMubm9EYXRhLm9wZW4gPSBmYWxzZTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PSBcImlucHJvZ3Jlc3NcIikge1xyXG4gICAgICAgICAgICAgIHRoaXMuc3RhdHVzSW5wcm9ncmVzcyA9IHJlcy5kYXRhLmRhdGE7XHJcbiAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nLmlucHJvZ3Jlc3MgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB0aGlzLm5vRGF0YS5pbnByb2dyZXNzID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zdGF0dXNDbG9zZWQgPSByZXMuZGF0YS5kYXRhO1xyXG4gICAgICAgICAgICAgIHRoaXMubG9hZGluZy5jbG9zZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgICB0aGlzLm5vRGF0YS5jbG9zZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgaWYgKHZhbHVlID09IFwib3BlblwiKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5ub0RhdGEub3BlbiA9IHRydWU7XHJcbiAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nLm9wZW4gPSBmYWxzZTtcclxuICAgICAgICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PSBcImlucHJvZ3Jlc3NcIikge1xyXG4gICAgICAgICAgICAgIHRoaXMubm9EYXRhLmlucHJvZ3Jlc3MgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIHRoaXMubG9hZGluZy5pbnByb2dyZXNzID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5ub0RhdGEuY2xvc2VkID0gdHJ1ZTtcclxuICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcuY2xvc2VkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLm5vRGF0YS5vcGVuID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMubG9hZGluZy5vcGVuID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLm5vRGF0YS5pbnByb2dyZXNzID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMubG9hZGluZy5pbnByb2dyZXNzID0gZmFsc2U7XHJcbiAgICAgICAgICB0aGlzLm5vRGF0YS5jbG9zZWQgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nLmNsb3NlZCA9IGZhbHNlO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY29tcGxldGU6ICgpID0+IHtcclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdGFrZVRpY2tldCgpIHtcclxuICAgIGxldCBkYXRhID0geyB1c2VySWQ6IHRoaXMudXNlcj8uX2lkLCBpc3N1ZVR5cGU6IHRoaXMudHlwZSB9O1xyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgIC51c2VyVGFrZVRpY2tldChkYXRhKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZ2V0U3VjY2Vzc1RvYXN0KHJlcy5tZXNzYWdlKTtcclxuICAgICAgICAgICAgdGhpcy51c2VyVGlja2V0TGlzdChcIm9wZW5cIik7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHJlcyAmJiByZXMuY29kZSA9PSAyMDEpIHtcclxuICAgICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZ2V0RXJyb3JUb2FzdChyZXMuZXJyb3IpO1xyXG4gICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZ2V0RXJyb3JUb2FzdChcIk5vIFRpY2tldCBBdmFpbGFibGVcIik7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgICAgdGhpcy50b2FzdFNlcnZpY2UuZ2V0RXJyb3JUb2FzdChlcnIuZXJyb3IpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY29tcGxldGU6ICgpID0+IHt9LFxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIFNob3dUaWNrZXQoaW5kZXg6IGFueSkge1xyXG4gICAgdGhpcy5zZWxlY3RDYXJkID0gaW5kZXggPyBpbmRleCA6IDA7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RUaWNrZXQoKSB7XHJcbiBcclxuICB9XHJcbiAgc2VsZWN0VmlldyhlOiBNb3VzZUV2ZW50LCBpbmRleDogYW55LCB2YWx1ZTogYW55KSB7XHJcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgaWYgKHZhbHVlID09IFwib3BlblwiKSB7XHJcbiAgICAgIHRoaXMuc3RhdHVzT3BlbltpbmRleF0uaXNPcGVuID0gIXRoaXMuc3RhdHVzT3BlbltpbmRleF0uaXNPcGVuO1xyXG4gICAgfSBlbHNlIGlmICh2YWx1ZSA9PSBcImlucHJvZ3Jlc3NcIikge1xyXG4gICAgICB0aGlzLnN0YXR1c0lucHJvZ3Jlc3NbaW5kZXhdLmlzT3BlbiA9XHJcbiAgICAgICAgIXRoaXMuc3RhdHVzSW5wcm9ncmVzc1tpbmRleF0uaXNPcGVuO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgdGhpcy5zdGF0dXNDbG9zZWRbaW5kZXhdLmlzT3BlbiA9ICF0aGlzLnN0YXR1c0Nsb3NlZFtpbmRleF0uaXNPcGVuO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgcm91dGV0b1RpY2tldCh2YWx1ZTogYW55KSB7XHJcbiAgICBsZXQgaXNzdWVUeXBlID1cclxuICAgICAgdmFsdWU/Lmlzc3VlVHlwZSA9PT0gXCJoaWdoY291bnRcIlxyXG4gICAgICAgID8gXCJoaWdoLWNvdW50XCJcclxuICAgICAgICA6IHZhbHVlPy5pc3N1ZVR5cGUgPT09IFwibG93Y291bnRcIlxyXG4gICAgICAgID8gXCJsb3ctY291bnRcIlxyXG4gICAgICAgIDogXCJcIjtcclxuICAgIGlmICh2YWx1ZT8uaXNzdWVUeXBlID09IFwiaW5mcmFcIikge1xyXG4gICAgICAvLyB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXHJcbiAgICAgIC8vICAgYC90aWNrZXRzL3VzZXJzL3RpY2tldGluZm8vJHt2YWx1ZS50aWNrZXRJZH0vJHt2YWx1ZS5zdG9yZUlkfWAsXHJcbiAgICAgIC8vIF0pO1xyXG4gICAgICBsZXQgZGF0YTogYW55ID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbShcImhlYWRlci1maWx0ZXJzXCIpIHx8IFwiXCIpO1xyXG4gICAgICBkYXRhLnN0b3JlID0gdmFsdWUuc3RvcmVJZDtcclxuICAgICAgZGF0YS5jbGllbnQgPSB2YWx1ZS5jbGllbnRJZDtcclxuICAgICAgZGF0YS5jbGllbnROYW1lID0gdmFsdWU/LmNsaWVudE5hbWUgPyB2YWx1ZT8uY2xpZW50TmFtZTonU3RvcmVzJzsgXHJcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKFwiaGVhZGVyLWZpbHRlcnNcIiwgSlNPTi5zdHJpbmdpZnkoZGF0YSkpO1xyXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbYC9tYW5hZ2Uvc3RvcmVzL2luZnJhLXRpY2tldGBdLCB7cXVlcnlQYXJhbXM6IHsgc3RvcmVJZDogdmFsdWUuc3RvcmVJZCx0eXBlOlwiaW5mcmFcIiB9fSk7XHJcbiAgIFxyXG4gICAgfSBlbHNlIGlmICh2YWx1ZT8uaXNzdWVUeXBlID09IFwiaW5zdGFsbGF0aW9uXCIpIHtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1xyXG4gICAgICAgIGAvdGlja2V0cy91c2Vycy9pbnN0YWxsYXRpb25pbmZvLyR7dmFsdWUudGlja2V0SWR9LyR7dmFsdWUuc3RvcmVJZH1gLFxyXG4gICAgICBdKTtcclxuICAgIH0gIGVsc2UgaWYodmFsdWU/Lmlzc3VlVHlwZSA9PSAnbWF0Jykge1xyXG4gICAgICBpZih2YWx1ZS5tYXRTdGF0dXMgPT0nRHJhZnQnKXtcclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsIChgL3RpY2tldHMvZW1wbG95ZWV0cmFpbmluZy8ke3ZhbHVlLnRpY2tldElkfS8ke3ZhbHVlLnN0b3JlSWR9P2Z1bmN0aW9uVHlwZT1zdG9yZU1hdHVwZGF0ZWApO1xyXG4gICAgICB9ZWxzZSBpZih2YWx1ZS5tYXRTdGF0dXMgPT0nY2xvc2VkJyl7XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCAoYC90aWNrZXRzL2VtcGxveWVldHJhaW5pbmcvJHt2YWx1ZS50aWNrZXRJZH0vJHt2YWx1ZS5zdG9yZUlkfT9mdW5jdGlvblR5cGU9b3V0cHV0YCk7XHJcbiAgICAgIH1lbHNle1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwgKGAvdGlja2V0cy9lbXBsb3llZXRyYWluaW5nLyR7dmFsdWUudGlja2V0SWR9LyR7dmFsdWUuc3RvcmVJZH1gKTtcclxuICAgICAgfVxyXG4gICAgfWVsc2UgaWYgKFxyXG4gICAgICB2YWx1ZT8uaXNzdWVUeXBlID09IFwiaGlnaGNvdW50XCIgfHxcclxuICAgICAgdmFsdWU/Lmlzc3VlVHlwZSA9PSBcImxvd2NvdW50XCJcclxuICAgICkge1xyXG4gICAgICB0aGlzLnN0YXR1c1VwZGF0ZSh2YWx1ZS50aWNrZXRJZCwgdmFsdWU/Lmlzc3VlVHlwZSwgdmFsdWU/LnN0YXR1cyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0dXNVcGRhdGUodmFsdWU6IGFueSwgaXNzdWVUeXBlOiBhbnksIHN0YXR1czogYW55KSB7XHJcbiAgICAvLyBjb25zb2xlLmxvZyhgL3RpY2tldHMvZGF0YS1taXNtYXRjaC8ke3R5cGV9P3RpY2tldElkPSR7dmFsdWV9YCxcInRyZXFycVwiKVxyXG4gICAgbGV0IHR5cGUgPVxyXG4gICAgICBpc3N1ZVR5cGUgPT09IFwiaGlnaGNvdW50XCJcclxuICAgICAgICA/IFwiaGlnaC1jb3VudFwiXHJcbiAgICAgICAgOiBpc3N1ZVR5cGUgPT09IFwibG93Y291bnRcIlxyXG4gICAgICAgID8gXCJsb3ctY291bnRcIlxyXG4gICAgICAgIDogXCJcIjtcclxuICAgIGxldCBkYXRhID0ge1xyXG4gICAgICB0aWNrZXRJZDogdmFsdWUsXHJcbiAgICAgIHN0YXR1czogXCJpbnByb2dyZXNzXCIsXHJcbiAgICB9O1xyXG4gICAgaWYgKHN0YXR1cyA9PT0gXCJvcGVuXCIpIHtcclxuICAgICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgICAgLnN0YXR1c1VwZGF0ZShkYXRhKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoXHJcbiAgICAgICAgICAgICAgICBgL3RpY2tldHMvZGF0YS1taXNtYXRjaC8ke3R5cGV9P3RpY2tldElkPSR7dmFsdWV9YFxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYoc3RhdHVzICE9PSBcImNsb3NlZFwiKSB7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoXHJcbiAgICAgICAgYC90aWNrZXRzL2RhdGEtbWlzbWF0Y2gvJHt0eXBlfT90aWNrZXRJZD0ke3ZhbHVlfWBcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgZXhwb3J0RGF0YSgpIHtcclxuICAgIGxldCBkYXRhID0ge1xyXG4gICAgICB1c2VySWQ6IHRoaXMudXNlcj8uX2lkLFxyXG4gICAgICBleHBvcnQ6IHRydWUsXHJcbiAgICAgIGlzc3VlVHlwZTogdGhpcy50eXBlLFxyXG4gICAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJGaWx0ZXI/LmRhdGU/LnN0YXJ0RGF0ZSxcclxuICAgICAgdG9EYXRlOiB0aGlzLmhlYWRlckZpbHRlcj8uZGF0ZT8uZW5kRGF0ZSxcclxuICAgICAgc2VhcmNoVmFsdWU6IHRoaXMuc2VhcmNoV29ya3NwYWNlLFxyXG4gICAgICBmaWx0ZXI6IHRoaXMuc2VsZWN0ZWRJc3N1ZSxcclxuICAgICAgY2xpZW50SWQ6IHRoaXMuaGVhZGVyRmlsdGVyLmNsaWVudHMsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgIC5leHBvcnR1c2VyVGlja2V0TGlzdChkYXRhKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5leGNlbC5zYXZlQXNFeGNlbEZpbGUocmVzLCBcIlVzZXIgVGlja2V0IExpc3RcIik7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG4gIHdvcmtIaXN0b3J5KCkge1xyXG4gICAgbGV0IGRhdGEgPSB7XHJcbiAgICAgIHVzZXJJZDogdGhpcy51c2VyPy5faWQsXHJcbiAgICAgIG9mZnNldDogdGhpcy5vZmZzZXQsXHJcbiAgICAgIGxpbWl0OiB0aGlzLmxpbWl0LFxyXG4gICAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJGaWx0ZXI/LmRhdGU/LnN0YXJ0RGF0ZSxcclxuICAgICAgdG9EYXRlOiB0aGlzLmhlYWRlckZpbHRlcj8uZGF0ZT8uZW5kRGF0ZSxcclxuICAgICAgc2VhcmNoVmFsdWU6IHRoaXMuc2VhcmNoSGlzdG9yeSxcclxuICAgICAgc29ydENvbHVtTmFtZTogdGhpcy5zb3J0Q29sdW1OYW1lLFxyXG4gICAgICBzb3J0Qnk6IHRoaXMuc29ydEJ5LFxyXG4gICAgICBpc3N1ZVR5cGU6IHRoaXMudHlwZSxcclxuICAgICAgZGF0ZUZpbHRlcjogdGhpcy5kYXRlRmlsdGVyLFxyXG4gICAgICBzdG9yZUZpbHRlcjogdGhpcy5zdG9yZUZpbHRlcixcclxuICAgICAgaXNzdWVGaWx0ZXI6IHRoaXMuaXNzdWVGaWx0ZXIsXHJcbiAgICAgIGNsaWVudElkOiB0aGlzLmNsaWVudElkLFxyXG4gICAgfTtcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAud29ya0hpc3RvcnkoZGF0YSlcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzPy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgICB0aGlzLndvcmtIaXN0b3J5VGFibGUgPSByZXMuZGF0YS5yZXN1bHQ7XHJcbiAgICAgICAgICAgIHRoaXMuaGlzdG9yeUxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgICAgdGhpcy5oaXN0b3J5Tm9kYXRhID0gZmFsc2U7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLmhpc3RvcnlOb2RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgICB0aGlzLmhpc3RvcnlMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmhpc3RvcnlOb2RhdGEgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5oaXN0b3J5TG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgY29tcGxldGUoKSB7fSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBzZWxlY3RJdGVtKHZhbHVlOiBhbnkpIHtcclxuICAgIGlmICh2YWx1ZSA9PSBcIkFsbFwiKSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJc3N1ZSA9IFwiXCI7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXNzdWUgPSB2YWx1ZTtcclxuICAgIH1cclxuICAgIGlmKHRoaXMudHlwZSA9PT0gJ2luZnJhJyB8fCB0aGlzLnR5cGUgPT09ICdpbnN0YWxsYXRpb24nKXtcclxuICAgICAgdGhpcy5zZWxlY3RlZElzc3VlID0gdGhpcy5zZWxlY3RlZElzc3VlO1xyXG4gICAgfWVsc2UgaWYodGhpcy50eXBlID09PSAnZGF0YU1pc21hdGNoJyl7XHJcbiAgICAgIC8vIGNvbnNvbGUubG9nKCd0aGlzLnNlbGVjdGVkSXNzdWUnLHRoaXMuc2VsZWN0ZWRJc3N1ZSlcclxuICAgICAgdGhpcy5zZWxlY3RlZElzc3VlID0gKHRoaXMuc2VsZWN0ZWRJc3N1ZSA9PT0gJ0xvdyBDb3VudCcgPyAnbG93Y291bnQnIDoodGhpcy5zZWxlY3RlZElzc3VlID09PSAnSGlnaCBDb3VudCcgPyAnaGlnaGNvdW50JyA6ICcnKSlcclxuICAgICAgLy8gY29uc29sZS5sb2coJ3RoaXMuc2VsZWN0ZWRJc3N1ZTEnLHRoaXMuc2VsZWN0ZWRJc3N1ZSlcclxuICAgIH1cclxuICAgIHRoaXMuZHJvcERvd24gPSBmYWxzZTtcclxuICAgIHRoaXMudXNlclRpY2tldExpc3QoXCJvcGVuXCIpO1xyXG4gICAgdGhpcy51c2VyVGlja2V0TGlzdChcImlucHJvZ3Jlc3NcIik7XHJcbiAgICB0aGlzLnVzZXJUaWNrZXRMaXN0KFwiY2xvc2VkXCIpO1xyXG4gIH1cclxuICBzZWxlY3REcm9wZG93bnMoKXtcclxuICAgIGlmKHRoaXMudHlwZSA9PT0gJ2luZnJhJyB8fCB0aGlzLnR5cGUgPT09ICdpbnN0YWxsYXRpb24nKXtcclxuICAgICAgdGhpcy5kcm9wZG93bkl0ZW1zID0gWydBbGwnLCAnSW50ZXJuZXQgSXNzdWVzJywgJ0NhbWVyYSBJc3N1ZXMnLCAnU3lzdGVtIElzc3VlcycsICdBcHBsaWNhdGlvbiBJc3N1ZXMnLCAnU3RvcmUgT3BlcmF0aW9uIElzc3VlcycsICdOb3QgSWRlbnRpZmllZCddXHJcbiAgICB9ZWxzZSBpZih0aGlzLnR5cGUgPT09ICdkYXRhTWlzbWF0Y2gnKXtcclxuICAgICAgdGhpcy5kcm9wZG93bkl0ZW1zID0gWydBbGwnLCAnTG93IENvdW50JywgJ0hpZ2ggQ291bnQnXVxyXG4gICAgfVxyXG4gIH1cclxuICBvcGVuRHJvcGRvd24oZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpO1xyXG4gICAgdGhpcy5kcm9wRG93biA9ICF0aGlzLmRyb3BEb3duO1xyXG4gIH1cclxuXHJcbiAgdXNlclZhbHVlKGRhdGE6IGFueSkge1xyXG4gICAgdGhpcy51c2VyRGF0YSA9IGRhdGE7XHJcbiAgICBpZiAodGhpcy51c2VyRGF0YSA9PSBcIkhpc3RvcnlcIikge1xyXG4gICAgICB0aGlzLndvcmtIaXN0b3J5KCk7XHJcbiAgICAgIHRoaXMuc3RvcmVGaWx0ZXJzKCk7XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc2VhcmNoVGlja2V0cygpIHtcclxuICAgIHRoaXMudXNlclRpY2tldExpc3QoXCJvcGVuXCIpO1xyXG4gICAgdGhpcy51c2VyVGlja2V0TGlzdChcImlucHJvZ3Jlc3NcIik7XHJcbiAgICB0aGlzLnVzZXJUaWNrZXRMaXN0KFwiY2xvc2VkXCIpO1xyXG4gIH1cclxuXHJcbiAgc2VhcmNoSGlzdG9yeVRhYmxlKCkge1xyXG4gICAgdGhpcy53b3JrSGlzdG9yeSgpO1xyXG4gIH1cclxuXHJcbiAgcmVjZWl2ZURhdGEoZGF0YTogYW55W10pIHtcclxuICAgIHRoaXMuc3RvcmVGaWx0ZXIgPSBkYXRhXHJcbiAgICAgIC5maW5kKChvYmopID0+IG9iai5EZXNjcmlwdGlvbiA9PT0gXCJTdG9yZSBJRFwiKVxyXG4gICAgICA/Lklzc3Vlcy5tYXAoKGl0ZW06IGFueSkgPT4gaXRlbT8udGV4dCk7XHJcbiAgICB0aGlzLmRhdGVGaWx0ZXIgPSBkYXRhLmZpbmQoXHJcbiAgICAgIChvYmopID0+IG9iai5EZXNjcmlwdGlvbiA9PT0gXCJEYXRlIFR5cGVcIlxyXG4gICAgKT8uSXNzdWVzPy5pZDtcclxuICAgIGlmICh0aGlzLnR5cGUgPT09IFwiaW5mcmFcIiB8fCB0aGlzLnR5cGUgPT09IFwiaW5zdGFsbGF0aW9uXCIpIHtcclxuICAgICAgY29uc29sZS5sb2coXCJpbmZyYVwiKTtcclxuICAgICAgdGhpcy5pc3N1ZUZpbHRlciA9IGRhdGFcclxuICAgICAgICAuZmluZCgob2JqKSA9PiBvYmouRGVzY3JpcHRpb24gPT09IFwiSXNzdWUgVHlwZVwiKVxyXG4gICAgICAgID8uSXNzdWVzLm1hcCgoaXRlbTogYW55KSA9PiBpdGVtPy50ZXh0KTtcclxuICAgIH0gZWxzZSBpZiAodGhpcy50eXBlID09PSBcImRhdGFNaXNtYXRjaFwiKSB7XHJcbiAgICAgIGNvbnNvbGUubG9nKFwiZGF0YU1pc21hdGNoXCIpO1xyXG4gICAgICB0aGlzLmlzc3VlRmlsdGVyID0gZGF0YVxyXG4gICAgICAgIC5maW5kKChvYmopID0+IG9iai5EZXNjcmlwdGlvbiA9PT0gXCJJc3N1ZSBUeXBlXCIpXHJcbiAgICAgICAgPy5Jc3N1ZXMubWFwKChpdGVtOiBhbnkpID0+IGl0ZW0/LmlkKTtcclxuICAgIH1cclxuICAgIHRoaXMud29ya0hpc3RvcnkoKTtcclxuICB9XHJcblxyXG4gIEV4cG9ydEhpc3Rvcnlhc1hsc3goKSB7XHJcbiAgICBsZXQgZXhwb3J0RGF0YSA9IHtcclxuICAgICAgdXNlcklkOiB0aGlzLnVzZXI/Ll9pZCxcclxuICAgICAgaXNzdWVUeXBlOiB0aGlzLnR5cGUsXHJcbiAgICAgIG9mZnNldDogdGhpcy5vZmZzZXQsXHJcbiAgICAgIGxpbWl0OiAxMDAwLFxyXG4gICAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJGaWx0ZXI/LmRhdGU/LnN0YXJ0RGF0ZSxcclxuICAgICAgdG9EYXRlOiB0aGlzLmhlYWRlckZpbHRlcj8uZGF0ZT8uZW5kRGF0ZSxcclxuICAgICAgc2VhcmNoVmFsdWU6IHRoaXMuc2VhcmNoSGlzdG9yeSxcclxuICAgICAgc29ydENvbHVtTmFtZTogdGhpcy5zb3J0Q29sdW1OYW1lLFxyXG4gICAgICBzb3J0Qnk6IHRoaXMuc29ydEJ5LFxyXG4gICAgICBleHBvcnQ6IFwidHJ1ZVwiLFxyXG4gICAgICBkYXRlRmlsdGVyOiB0aGlzLmRhdGVGaWx0ZXIsXHJcbiAgICAgIHN0b3JlRmlsdGVyOiB0aGlzLnN0b3JlRmlsdGVyLFxyXG4gICAgICBpc3N1ZUZpbHRlcjogdGhpcy5pc3N1ZUZpbHRlcixcclxuICAgICAgY2xpZW50SWQ6IHRoaXMuaGVhZGVyRmlsdGVyLmNsaWVudHMsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgIC53b3JrSGlzdG9yeUV4cG9ydChleHBvcnREYXRhKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgaWYgKHJlcykge1xyXG4gICAgICAgICAgICB0aGlzLmRhdGFTZXJ2aWNlLnNhdmVBc0V4Y2VsRmlsZShyZXMsIFwiSGlzdG9yeVwiKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMuaGlzdG9yeU5vZGF0YSA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLmhpc3RvcnlMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wbGV0ZSgpIHt9LFxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHNvcnREYXRhKHZhbHVlOiBhbnkpIHtcclxuICAgIHRoaXMuc29ydENvbHVtTmFtZSA9IHZhbHVlO1xyXG4gICAgdGhpcy5zb3J0QnkgKj0gLTE7XHJcbiAgICB0aGlzLndvcmtIaXN0b3J5KCk7XHJcbiAgfVxyXG5cclxuICBvblBhZ2VDaGFuZ2UocGFnZU9mZnNldDogbnVtYmVyKSB7XHJcbiAgICB0aGlzLm9mZnNldCA9IHBhZ2VPZmZzZXQ7XHJcbiAgICB0aGlzLndvcmtIaXN0b3J5KCk7XHJcbiAgfVxyXG5cclxuICBvblBhZ2VTaXplQ2hhbmdlKHBhZ2VTaXplOiBudW1iZXIpIHtcclxuICAgIHRoaXMubGltaXQgPSBwYWdlU2l6ZTtcclxuICAgIHRoaXMub2Zmc2V0ID0gMTtcclxuICAgIHRoaXMud29ya0hpc3RvcnkoKTtcclxuICB9XHJcblxyXG4gIHN0b3JlRmlsdGVycygpIHtcclxuICAgIGxldCBkYXRhID0ge1xyXG4gICAgICB1c2VySWQ6IHRoaXMudXNlcj8uX2lkLFxyXG4gICAgICBvZmZzZXQ6IHRoaXMub2Zmc2V0LFxyXG4gICAgICBsaW1pdDogMTAwMDAsXHJcbiAgICAgIGZyb21EYXRlOiB0aGlzLmhlYWRlckZpbHRlcj8uZGF0ZT8uc3RhcnREYXRlLFxyXG4gICAgICB0b0RhdGU6IHRoaXMuaGVhZGVyRmlsdGVyPy5kYXRlPy5lbmREYXRlLFxyXG4gICAgICBpc3N1ZVR5cGU6IHRoaXMudHlwZSxcclxuICAgICAgY2xpZW50SWQ6IHRoaXMuaGVhZGVyRmlsdGVyLmNsaWVudHNcclxuICAgIH1cclxuICAgIHRoaXMuZmlsdGVyU3RvcmVzID0gW107XHJcbiAgICB0aGlzLnNlcnZpY2Uud29ya0hpc3RvcnkoZGF0YSkucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSh7XHJcbiAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgIGlmIChyZXMgJiYgcmVzPy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgdGhpcy5maWx0ZXJTdG9yZXMgPSByZXMuZGF0YS5yZXN1bHQ7XHJcbiAgICAgICAgICBjb25zdCBpc3N1ZXMgPSB0aGlzLmZpbHRlclN0b3Jlcy5tYXAoKG9iajogYW55KSA9PiAoeyB0ZXh0OiBvYmouc3RvcmVJZCB9KSk7XHJcbiAgICAgICAgICBjb25zdCB1bmlxdWVJc3N1ZXM6YW55W10gPSBbXTtcclxuICAgICAgICAgIGNvbnN0IHN0b3JlSWRzID0gbmV3IFNldCgpO1xyXG4gICAgICAgICAgaXNzdWVzLmZvckVhY2goKGlzc3VlOmFueSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAoIXN0b3JlSWRzLmhhcyhpc3N1ZS50ZXh0KSkge1xyXG4gICAgICAgICAgICAgIHN0b3JlSWRzLmFkZChpc3N1ZS50ZXh0KTtcclxuICAgICAgICAgICAgICB1bmlxdWVJc3N1ZXMucHVzaChpc3N1ZSk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0pO1xyXG4gICAgICAgICAgY29uc3QgZmlsdHJlZE9iamVjdCA9ICh0aGlzLmRhdGFPYmplY3QuZmluZCgob2JqOiBhbnkpID0+IG9iai5EZXNjcmlwdGlvbiA9PT0gXCJTdG9yZSBJRFwiKSlcclxuICAgICAgICAgIGZpbHRyZWRPYmplY3QuSXNzdWVzID0gdW5pcXVlSXNzdWVzO1xyXG4gICAgICAgIH1cclxuICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgfSxcclxuICAgIH0pXHJcbiAgfVxyXG4gIHZpZXdVc2VyKCl7XHJcblxyXG4gIH1cclxuXHJcbiAgZGF0YU9iamVjdDE6IGFueSA9IFtcclxuICAgIHsgRGVzY3JpcHRpb246ICdTdGF0dXMnLCBJc3N1ZXM6IFt7IHRleHQ6IFwiU3RvcmUgT3BlcmF0aW9uIElzc3Vlc1wiLCBpZDogJ1N0b3JlIE9wZXJhdGlvbiBJc3N1ZXMnIH0sIHsgdGV4dDogXCJJbnRlcm5ldCBJc3N1ZXNcIiwgaWQ6ICdJbnRlcm5ldCBJc3N1ZXMnIH0sIFxyXG4gICAgICB7IHRleHQ6IFwiQ2FtZXJhIElzc3Vlc1wiLCBpZDogXCJDYW1lcmEgSXNzdWVzXCIgfSx7IHRleHQ6IFwiU3lzdGVtIElzc3Vlc1wiLCBpZDogXCJTeXN0ZW0gSXNzdWVzXCIgfSx7IHRleHQ6IFwiQXBwbGljYXRpb24gSXNzdWVzXCIsIGlkOiBcIkFwcGxpY2F0aW9uIElzc3Vlc1wiIH0se3RleHQ6IFwiTm90IElkZW50aWZpZWRcIiwgaWQ6IFwiTm90IElkZW50aWZpZWRcIn1dIH0sXHJcbiAgXVxyXG4gIGFwcGx5RmlsdGVycyhldmVudDphbnkpe1xyXG4gICAgaWYgKGV2ZW50Py5sZW5ndGgpIHtcclxuICAgICAgZXZlbnQuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGVsZW1lbnQuRGVzY3JpcHRpb24gPT09IFwiU3RhdHVzXCIpIHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJc3N1ZSA9IGVsZW1lbnQuSXNzdWVzLm1hcCgodmFsOiBhbnkpID0+IHZhbD8uaWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgICAgfVxyXG4gICAgICBpZih0aGlzLnNlbGVjdGVkSXNzdWUubGVuZ3RoID09PSA2KVxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJc3N1ZSA9W107XHJcbiAgICAgIHRoaXMudXNlclRpY2tldExpc3QoJ29wZW4nKTtcclxuICAgICAgdGhpcy51c2VyVGlja2V0TGlzdCgnaW5wcm9ncmVzcycpO1xyXG4gICAgICB0aGlzLnVzZXJUaWNrZXRMaXN0KCdjbG9zZWQnKTtcclxuICAgIH1cclxufVxyXG4iLCJcclxuPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMCBwdC0zXCI+XHJcbiAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cInR5cGUgIT09ICdtYXQnICYmIHR5cGUgIT09ICdkYXRhTWlzbWF0Y2gnXCIgY2xhc3M9XCJjYXJkLWxhYmVsIG1iLTJcIj57e3R5cGUgfCB0aXRsZWNhc2V9fSBUaWNrZXRzPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cInR5cGUgPT09ICdkYXRhTWlzbWF0Y2gnXCIgY2xhc3M9XCJjYXJkLWxhYmVsIG1iLTJcIj5EYXRhIE1pc21hdGNoIFRpY2tldHM8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidHlwZSA9PT0gJ21hdCdcIiBjbGFzcz1cImNhcmQtbGFiZWwgbWItMlwiPkVtcGxveWVlIE1hdDwvc3Bhbj5cclxuICAgICAgICAgICAgPCEtLSA8c3BhbiBjbGFzcz1cInRleHQtc3ViIG1iLTJcIj5MYXN0IHVwZGF0ZWQgMSBob3VyIGFnbzwvc3Bhbj4gLS0+XHJcbiAgICAgICAgPC9oMz5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwidXNlckRhdGEgPT09J1dvcmtzcGFjZSdcIiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xIHBvc2l0aW9uLWFic29sdXRlIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCBvcGFjaXR5PVwiMC41XCIgeD1cIjE3LjAzNjVcIiB5PVwiMTUuMTIyM1wiIHdpZHRoPVwiOC4xNTU0NlwiIGhlaWdodD1cIjJcIiByeD1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInJvdGF0ZSg0NSAxNy4wMzY1IDE1LjEyMjMpXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcmVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMSAxOUM2LjU1NTU2IDE5IDMgMTUuNDQ0NCAzIDExQzMgNi41NTU1NiA2LjU1NTU2IDMgMTEgM0MxNS40NDQ0IDMgMTkgNi41NTU1NiAxOSAxMUMxOSAxNS40NDQ0IDE1LjQ0NDQgMTkgMTEgMTlaTTExIDVDNy41MzMzMyA1IDUgNy41MzMzMyA1IDExQzUgMTQuNDY2NyA3LjUzMzMzIDE3IDExIDE3QzE0LjQ2NjcgMTcgMTcgMTQuNDY2NyAxNyAxMUMxNyA3LjUzMzMzIDE0LjQ2NjcgNSAxMSA1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sIHBzLTE0IG1lLTJcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hXb3Jrc3BhY2VcIiAoY2hhbmdlKT1cInNlYXJjaFRpY2tldHMoKVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItZmlsdGVycyAqbmdJZj1cInR5cGUgIT09ICdtYXQnXCIgW2RhdGFPYmplY3RdPVwiZGF0YU9iamVjdDFcIiAoYXBwbGllZEZpbHRlcnMpPVwiYXBwbHlGaWx0ZXJzKCRldmVudClcIj48L2xpYi1maWx0ZXJzPlxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2ICpuZ0lmPVwidHlwZSAhPT0gJ21hdCdcIiBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvcGVuRHJvcGRvd24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IG14LTIgYnRuLW91dGxpbmUgYnRuLW91dGxpbmUtZGVmYXVsdCByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbFwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNSAxMEgxNU0yLjUgNUgxNy41TTcuNSAxNUgxMi41XCIgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTJcIj5GaWx0ZXI8L3NwYW4+IDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZHJvcERvd25cIiBjbGFzcz1cImNhcmQgcHktMSB3LTIwMHB4IHBvc2l0aW9uLWFic29sdXRlIHRvcC01MHB4IGVuZC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRyb3Bkb3duSXRlbXNcIiBjbGFzcz1cImxpc3QtdW5zdHlsZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgW25nQ2xhc3NdPVwidGhpcy5zZWxlY3RlZElzc3VlID09PSBpdGVtID8gJ2FjdGl2ZScgOiAnJ1wiIGNsYXNzPVwiY2FtZXJhIHB4LTUgaXRlbXMgZnctc2VtaWJvbGQgY3Vyc29yLXBvaW50ZXIgcHktMlwiIChjbGljayk9XCJzZWxlY3RJdGVtKGl0ZW0pXCI+e3tpdGVtfX08L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy5tYW5hZ2VfdGlja2V0c19pc0Rvd25sb2FkICYmICghbm9EYXRhLm9wZW4gfHwgIW5vRGF0YS5pbnByb2dyZXNzIHx8ICFub0RhdGEuY2xvc2VkKVwiIChjbGljayk9XCJleHBvcnREYXRhKClcIiBjbGFzcz1cImJ0biBidG4tb3V0bGluZSBwLTMgdGV4dC1ub3dyYXAgYm9yZGVyIGJvcmRlci1ncmF5IG1zLTIgbWUtMlwiIHR5cGU9XCJidXR0b25cIj48c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xNy41IDEyLjVWMTUuODMzM0MxNy41IDE2LjI3NTQgMTcuMzI0NCAxNi42OTkzIDE3LjAxMTggMTcuMDExOEMxNi42OTkzIDE3LjMyNDQgMTYuMjc1NCAxNy41IDE1LjgzMzMgMTcuNUg0LjE2NjY3QzMuNzI0NjQgMTcuNSAzLjMwMDcyIDE3LjMyNDQgMi45ODgxNiAxNy4wMTE4QzIuNjc1NTkgMTYuNjk5MyAyLjUgMTYuMjc1NCAyLjUgMTUuODMzM1YxMi41TTE0LjE2NjcgNi42NjY2N0wxMCAyLjVNMTAgMi41TDUuODMzMzMgNi42NjY2N00xMCAyLjVWMTIuNVwiIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+IEV4cG9ydDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8ubWFuYWdlX3RpY2tldHNfaXNFZGl0XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJ0YWtlVGlja2V0KClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBteC0yIHJvdW5kZWQtMyB0ZXh0LW5vd3JhcFwiPjxzcGFuIGNsYXNzPVwibXMtMiB0ZXh0LXdoaXRlXCI+VGFrZSBUaWNrZXQ8L3NwYW4+IDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJ1c2VyRGF0YSA9PT0nSGlzdG9yeSdcIiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xIHBvc2l0aW9uLWFic29sdXRlIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCBvcGFjaXR5PVwiMC41XCIgeD1cIjE3LjAzNjVcIiB5PVwiMTUuMTIyM1wiIHdpZHRoPVwiOC4xNTU0NlwiIGhlaWdodD1cIjJcIiByeD1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInJvdGF0ZSg0NSAxNy4wMzY1IDE1LjEyMjMpXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcmVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMSAxOUM2LjU1NTU2IDE5IDMgMTUuNDQ0NCAzIDExQzMgNi41NTU1NiA2LjU1NTU2IDMgMTEgM0MxNS40NDQ0IDMgMTkgNi41NTU1NiAxOSAxMUMxOSAxNS40NDQ0IDE1LjQ0NDQgMTkgMTEgMTlaTTExIDVDNy41MzMzMyA1IDUgNy41MzMzMyA1IDExQzUgMTQuNDY2NyA3LjUzMzMzIDE3IDExIDE3QzE0LjQ2NjcgMTcgMTcgMTQuNDY2NyAxNyAxMUMxNyA3LjUzMzMzIDE0LjQ2NjcgNSAxMSA1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sIHBzLTE0IG1lLTJcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hIaXN0b3J5XCIgKGNoYW5nZSk9XCJzZWFyY2hIaXN0b3J5VGFibGUoKVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8bGliLWZpbHRlcnMgKm5nSWY9XCJ0eXBlICE9PSAnbWF0JyAmJiB0eXBlIT09J2F1ZGl0JyAmJiBmaWx0ZXJTdG9yZXM/Lmxlbmd0aCA+IDBcIiBbZGF0YU9iamVjdF09XCJkYXRhT2JqZWN0XCIgKGFwcGxpZWRGaWx0ZXJzKT1cInJlY2VpdmVEYXRhKCRldmVudClcIiA+PC9saWItZmlsdGVycz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy5tYW5hZ2VfdGlja2V0c19pc0Rvd25sb2FkICYmICFoaXN0b3J5Tm9kYXRhXCIgKGNsaWNrKT1cIkV4cG9ydEhpc3Rvcnlhc1hsc3goKVwiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIHAtMyBib3JkZXIgYm9yZGVyLWdyYXkgbXMtMiBtZS0yIHRleHQtbm93cmFwXCIgdHlwZT1cImJ1dHRvblwiPjxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTcuNSAxMi41VjE1LjgzMzNDMTcuNSAxNi4yNzU0IDE3LjMyNDQgMTYuNjk5MyAxNy4wMTE4IDE3LjAxMThDMTYuNjk5MyAxNy4zMjQ0IDE2LjI3NTQgMTcuNSAxNS44MzMzIDE3LjVINC4xNjY2N0MzLjcyNDY0IDE3LjUgMy4zMDA3MiAxNy4zMjQ0IDIuOTg4MTYgMTcuMDExOEMyLjY3NTU5IDE2LjY5OTMgMi41IDE2LjI3NTQgMi41IDE1LjgzMzNWMTIuNU0xNC4xNjY3IDYuNjY2NjdMMTAgMi41TTEwIDIuNUw1LjgzMzMzIDYuNjY2NjdNMTAgMi41VjEyLjVcIiBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj4gRXhwb3J0XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcHktMlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggb3ZlcmZsb3ctYXV0byBoLTU1cHhcIj5cclxuICAgICAgICAgICAgPHVsIGNsYXNzPVwibmF2IG5hdi1zdHJldGNoIG5hdi1saW5lLXRhYnMgbmF2LWxpbmUtdGFicy0yeCBib3JkZXItdHJhbnNwYXJlbnQgZnMtNSBmdy1ib2xkZXIgZmxleC1ub3dyYXBcIj5cclxuICAgICAgICAgICAgICAgIDxsaSAqbmdJZj1cInR5cGUgIT09ICdhdWRpdCdcIiAoY2xpY2spPVwidXNlclZhbHVlKCdXb3Jrc3BhY2UnKVwiICBjbGFzcz1cIm5hdi1pdGVtIGN1cnNvci1wb2ludGVyXCI+PGEgW25nQ2xhc3NdPVwidXNlckRhdGEgPT09J1dvcmtzcGFjZScgPyAnYWN0aXZlJyA6JydcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm5hdi1saW5rIHRleHQtYWN0aXZlLXByaW1hcnkgbWUtNlwiPldvcmtzcGFjZTwvYT5cclxuICAgICAgICAgICAgICAgIDwvbGk+XHJcbiAgICAgICAgICAgICAgICA8IS0tICpuZ0lmPVwidHlwZSE9PSdkYXRhTWlzbWF0Y2gnXCIgLS0+XHJcbiAgICAgICAgICAgICAgICA8bGkgKGNsaWNrKT1cInVzZXJWYWx1ZSgnSGlzdG9yeScpXCIgY2xhc3M9XCJuYXYtaXRlbSBjdXJzb3ItcG9pbnRlclwiPjxhIFtuZ0NsYXNzXT1cInVzZXJEYXRhID09PSdIaXN0b3J5JyA/ICdhY3RpdmUnIDonJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmF2LWxpbmsgdGV4dC1hY3RpdmUtcHJpbWFyeSBtZS02XCI+SGlzdG9yeTwvYT48L2xpPlxyXG4gICAgICAgICAgICA8L3VsPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiAqbmdJZj1cInVzZXJEYXRhID09PSdXb3Jrc3BhY2UnXCIgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIGgtMTAwIHJvdW5kZWQtMiBvdmVyZmxvdy1oaWRkZW5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmFkZ2UtbGlnaHQtZGVmYXVsdCBweC0zIHB5LTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5PcGVuPC9zcGFuPjxzcGFuICpuZ0lmPVwic3RhdHVzT3Blbj8ubGVuZ3RoID4gMCAmJiAhbG9hZGluZy5vcGVuICYmICFub0RhdGEub3BlblwiIGNsYXNzPVwicm91bmRlZC01IG1zLTMgcHgtMSBib3JkZXIgYm9yZGVyLWdyYXkgYmctYmFkZ2VcIj57e3N0YXR1c09wZW4/Lmxlbmd0aH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dib2R5IGgtMTAwIHB4LTQgcHktM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWxvYWRpbmcub3BlbiAmJiAhbm9EYXRhLm9wZW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IG9wZW4gb2Ygc3RhdHVzT3BlbjsgbGV0IGluZGV4ID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwib3Blbi5pc09wZW4gPyAnYWN0aXZlJzonJ1wiICBjbGFzcz1cImlzc3VlY2FyZCBjdXJzb3ItcG9pbnRlciB3LTEwMCBtYi01XCIgKGNsaWNrKT1cInJvdXRldG9UaWNrZXQob3BlbilcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9wZW4uaXNPcGVuXCIgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZnctc2VtaWJvbGRcIj57e29wZW4/LnN0b3JlSWQgPyBvcGVuPy5zdG9yZUlkIDonLS0nfX08L2xhYmVsPjxicj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmdy1zZW1pYm9sZCBtLTJcIj57e29wZW4/LnN0b3JlTmFtZSA/IG9wZW4/LnN0b3JlTmFtZSA6Jy0tJ319PC9sYWJlbD48YnI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtZGVmYXVsdCBtZS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwibWUtMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzM3MzJfNjAyNzcpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk04IDFWM000IDFWM00xLjUgNUgxMC41TTIuNSAySDkuNUMxMC4wNTIzIDIgMTAuNSAyLjQ0NzcyIDEwLjUgM1YxMEMxMC41IDEwLjU1MjMgMTAuMDUyMyAxMSA5LjUgMTFIMi41QzEuOTQ3NzIgMTEgMS41IDEwLjU1MjMgMS41IDEwVjNDMS41IDIuNDQ3NzIgMS45NDc3MiAyIDIuNSAyWlwiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjFcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzM3MzJfNjAyNzdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+e3tvcGVuPy5EYXRlID8gb3Blbj8uRGF0ZSA6ICctLSd9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJvcGVuPy5pbmZyYUlzc3VlXCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC13YXJuaW5nXCI+e3tvcGVuPy5pbmZyYUlzc3VlID8gb3Blbj8uaW5mcmFJc3N1ZSA6Jy0tJ319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInR5cGUgPT09J2luc3RhbGxhdGlvbidcIiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXByaW1hcnlcIj57e29wZW4/Lmluc3RhbGxhdGlvblN0YXR1cyA/IG9wZW4/Lmluc3RhbGxhdGlvblN0YXR1cyA6Jy0tJ319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInR5cGUgPT09J2RhdGFNaXNtYXRjaCdcIiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXdhcm5pbmdcIj57e29wZW4/Lmlzc3VlVHlwZSA9PT0gJ2hpZ2hjb3VudCcgPyAnSGlnaCBDb3VudCcgOiAob3Blbj8uaXNzdWVUeXBlID09PSAnbG93Y291bnQnID8gJ0xvdyBDb3VudCcgOiAnJyl9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvcGVuPy5ub3RpZmljYXRpb25cIiBjbGFzcz1cInByb2ZpbGUgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRyZSBqdXN0aWZ5LWNvbnRlbnQtY2VudHJlIG1lLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvQmVsbG5vdGlmaWNhdGlvbi5wbmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKGNsaWNrKT1cInNlbGVjdFZpZXcoJGV2ZW50LGluZGV4LCdvcGVuJylcIj4gPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMVwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMSAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMuMTY2IDIuNUgxOC4xNjZNMTguMTY2IDIuNVY3LjVNMTguMTY2IDIuNUwxMi4zMzI3IDguMzMzMzNNOC4xNjYwMiAxNy41SDMuMTY2MDJNMy4xNjYwMiAxNy41VjEyLjVNMy4xNjYwMiAxNy41TDguOTk5MzUgMTEuNjY2N1wiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHRleHQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPiAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiID4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPjxzdmcgY2xhc3M9XCJtZS0yXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEwLjc5NjYgMS40Mjc1MkMxMC42NTQxIDEuMjk2ODEgMTAuNDY2NyAxLjIyNjE3IDEwLjI3MzMgMS4yMzAzN0MxMC4wOCAxLjIzNDU2IDkuODk1OCAxLjMxMzI1IDkuNzU5MTEgMS40NTAwMkwxLjQ4OTExIDkuNzIwMDJDMS40MTkzOCA5Ljc4OTY4IDEuMzY0MDYgOS44NzIzOSAxLjMyNjMyIDkuOTYzNDRDMS4yODg1NyAxMC4wNTQ1IDEuMjY5MTUgMTAuMTUyMSAxLjI2OTE1IDEwLjI1MDZDMS4yNjkxNSAxMC4zNDkyIDEuMjg4NTcgMTAuNDQ2OCAxLjMyNjMyIDEwLjUzNzlDMS4zNjQwNiAxMC42Mjg5IDEuNDE5MzggMTAuNzExNiAxLjQ4OTExIDEwLjc4MTNMMi42NDY2MSAxMS45Mzg4QzIuNjU2MzIgMTEuOTQxOCAyLjY2NjQ3IDExLjk0MyAyLjY3NjYxIDExLjk0MjVDMi43MTQxMSAxMS45NDI1IDIuNzY0MTEgMTEuOTI4OCAyLjgxMTYxIDExLjg5NzVDMy4yNjg0NSAxMS41OTI3IDMuODE2OCAxMS40NTU3IDQuMzYzMzEgMTEuNTA5N0M0LjkwOTgzIDExLjU2MzcgNS40MjA3MyAxMS44MDU1IDUuODA5MDUgMTIuMTkzOEM2LjE5NzM4IDEyLjU4MjIgNi40MzkxMyAxMy4wOTMxIDYuNDkzMTYgMTMuNjM5NkM2LjU0NzE4IDE0LjE4NjEgNi40MTAxNCAxNC43MzQ0IDYuMTA1MzYgMTUuMTkxM0M2LjA3NzkyIDE1LjIzMTEgNi4wNjIzMSAxNS4yNzc5IDYuMDYwMzYgMTUuMzI2M0M2LjA2MDM2IDE1LjM0MjUgNi4wNjI4NiAxNS4zNTEzIDYuMDY0MTEgMTUuMzU1TDcuMTk0MTEgMTYuNDg2M0M3LjI2NTEyIDE2LjU1NzQgNy4zNDk3MSAxNi42MTM2IDcuNDQyODUgMTYuNjUxNEM3LjUzNTk5IDE2LjY4OTIgNy42MzU3OSAxNi43MDc5IDcuNzM2MyAxNi43MDY0QzcuODM2ODIgMTYuNzA0OSA3LjkzNiAxNi42ODMyIDguMDI3OTYgMTYuNjQyNkM4LjExOTkyIDE2LjYwMiA4LjIwMjc4IDE2LjU0MzMgOC4yNzE2MSAxNi40N0wxNi41MjA0IDcuNzA1MDJDMTYuNTg4MyA3LjYzMjY3IDE2LjY0MTIgNy41NDc1NSAxNi42NzYgNy40NTQ2QzE2LjcxMDggNy4zNjE2NSAxNi43MjY4IDcuMjYyNzIgMTYuNzIzMSA3LjE2MzU0QzE2LjcxOTMgNy4wNjQzNiAxNi42OTYgNi45NjY5MSAxNi42NTQzIDYuODc2ODNDMTYuNjEyNiA2Ljc4Njc1IDE2LjU1MzUgNi43MDU4MyAxNi40ODA0IDYuNjM4NzdMMTUuMzcyOSA1LjYyMjUySDE1LjM2OTFDMTUuMzUxNCA1LjYxOTAyIDE1LjMzMzEgNS42MTkwMiAxNS4zMTU0IDUuNjIyNTJDMTUuMjQ0OCA1LjYzNzIyIDE1LjE4MDYgNS42NzM0OCAxNS4xMzE2IDUuNzI2MjdDMTQuOTIyNyA1Ljk2MzA1IDE0LjY2ODcgNi4xNTU3OSAxNC4zODQ1IDYuMjkzMjNDMTQuMTAwMiA2LjQzMDY3IDEzLjc5MTQgNi41MTAwNSAxMy40NzYxIDYuNTI2NzNDMTMuMTYwOCA2LjU0MzQxIDEyLjg0NTMgNi40OTcwNCAxMi41NDgxIDYuMzkwMzVDMTIuMjUxIDYuMjgzNjYgMTEuOTc4IDYuMTE4NzkgMTEuNzQ1MyA1LjkwNTM3QzExLjUxMjYgNS42OTE5NSAxMS4zMjQ4IDUuNDM0MjggMTEuMTkyOSA1LjE0NzQyQzExLjA2MSA0Ljg2MDU1IDEwLjk4NzYgNC41NTAyNyAxMC45NzcgNC4yMzQ3QzEwLjk2NjQgMy45MTkxMyAxMS4wMTg4IDMuNjA0NjIgMTEuMTMxMiAzLjMwOTU2QzExLjI0MzYgMy4wMTQ0OSAxMS40MTM3IDIuNzQ0ODEgMTEuNjMxNiAyLjUxNjI3QzExLjY3OTcgMi40NjI2NCAxMS43MDk4IDIuMzk1MzUgMTEuNzE3OSAyLjMyMzc3QzExLjcyMDEgMi4zMDQ4OCAxMS43MTg0IDIuMjg1NzIgMTEuNzEyOSAyLjI2NzUyTDEwLjc5NjYgMS40Mjc1MlpNOS4wNTI4NiAwLjc0MjUyMkM5LjM3MTc2IDAuNDIzNjM4IDkuODAxNDUgMC4yNDAxNzQgMTAuMjUyMyAwLjIzMDM5M0MxMC43MDMyIDAuMjIwNjExIDExLjE0MDQgMC4zODUyNjggMTEuNDcyOSAwLjY5MDAyMkwxMi4zODkxIDEuNTMxMjdDMTIuNjYyOSAxLjc4MTI3IDEyLjczOTEgMi4xMjI1MiAxMi43MTQxIDIuNDEzNzdDMTIuNjg3OSAyLjcwMTI3IDEyLjU2MTYgMi45ODI1MiAxMi4zNjY2IDMuMTkzNzdDMTIuMjQ0NiAzLjMyNjkgMTIuMTQ5OSAzLjQ4Mjc2IDEyLjA4ODEgMy42NTI0NkMxMi4wMjYzIDMuODIyMTYgMTEuOTk4NSA0LjAwMjM3IDEyLjAwNjQgNC4xODI4MUMxMi4wMTQyIDQuMzYzMjUgMTIuMDU3NSA0LjU0MDM3IDEyLjEzMzggNC43MDQwN0MxMi4yMTAxIDQuODY3NzggMTIuMzE3OSA1LjAxNDg1IDEyLjQ1MSA1LjEzNjlDMTIuNTg0MSA1LjI1ODk0IDEyLjc0IDUuMzUzNTggMTIuOTA5NyA1LjQxNTM5QzEzLjA3OTQgNS40NzcyIDEzLjI1OTYgNS41MDQ5OCAxMy40NCA1LjQ5NzE0QzEzLjYyMDUgNS40ODkzMSAxMy43OTc2IDUuNDQ2MDEgMTMuOTYxMyA1LjM2OTcyQzE0LjEyNSA1LjI5MzQ0IDE0LjI3MjEgNS4xODU2NSAxNC4zOTQxIDUuMDUyNTJDMTQuNTg3OSA0Ljg0MDAyIDE0Ljg1NjYgNC42OTAwMiAxNS4xNDA0IDQuNjM4NzdDMTUuMzAwNCA0LjYwNjY1IDE1LjQ2NTYgNC42MTIxOCAxNS42MjMxIDQuNjU0OTJDMTUuNzgwNiA0LjY5NzY1IDE1LjkyNiA0Ljc3NjQzIDE2LjA0NzkgNC44ODUwMkwxNy4xNTY2IDUuOTAxMjdDMTcuMzI3MyA2LjA1NzkgMTcuNDY1MiA2LjI0Njg3IDE3LjU2MjMgNi40NTcyQzE3LjY1OTQgNi42Njc1NCAxNy43MTM4IDYuODk1MDcgMTcuNzIyMyA3LjEyNjU4QzE3LjczMDggNy4zNTgwOSAxNy42OTMyIDcuNTg4OTkgMTcuNjExOCA3LjgwNTg3QzE3LjUzMDMgOC4wMjI3NiAxNy40MDY2IDguMjIxMzEgMTcuMjQ3OSA4LjM5MDAyTDkuMDAwMzYgMTcuMTU1QzguODM5NzUgMTcuMzI1NyA4LjY0NjQ5IDE3LjQ2MjQgOC40MzIwNiAxNy41NTY5QzguMjE3NjMgMTcuNjUxNSA3Ljk4NjM4IDE3LjcwMiA3Ljc1MjA1IDE3LjcwNTVDNy41MTc3MSAxNy43MDkgNy4yODUwNiAxNy42NjU0IDcuMDY3OSAxNy41NzczQzYuODUwNzQgMTcuNDg5MiA2LjY1MzQ5IDE3LjM1ODMgNi40ODc4NiAxNy4xOTI1TDUuMzU3ODYgMTYuMDYyNUM0LjkyNDExIDE1LjYyODggNS4wMjkxMSAxNS4wMDM4IDUuMjc0MTEgMTQuNjM3NUM1LjQ0OTg4IDE0LjM3MzEgNS41Mjg3MSAxNC4wNTU5IDUuNDk3MiAxMy43NEM1LjQ2NTY5IDEzLjQyNCA1LjMyNTc5IDEzLjEyODcgNS4xMDEyNSAxMi45MDQxQzQuODc2NzIgMTIuNjc5NiA0LjU4MTM5IDEyLjUzOTcgNC4yNjU0MiAxMi41MDgyQzMuOTQ5NDUgMTIuNDc2NyAzLjYzMjMxIDEyLjU1NTUgMy4zNjc4NiAxMi43MzEzQzIuOTk5MTEgMTIuOTc1IDIuMzc1MzYgMTMuMDggMS45NDE2MSAxMi42NDVMMC43ODQxMTEgMTEuNDg3NUMwLjYyMTU4OSAxMS4zMjUgMC40OTI2NjkgMTEuMTMyMSAwLjQwNDcxMiAxMC45MTk4QzAuMzE2NzU1IDEwLjcwNzQgMC4yNzE0ODQgMTAuNDc5OCAwLjI3MTQ4NCAxMC4yNUMwLjI3MTQ4NCAxMC4wMjAyIDAuMzE2NzU1IDkuNzkyNjIgMC40MDQ3MTIgOS41ODAyOUMwLjQ5MjY2OSA5LjM2Nzk1IDAuNjIxNTg5IDkuMTc1MDMgMC43ODQxMTEgOS4wMTI1Mkw5LjA1Mjg2IDAuNzQyNTIyWlwiIGZpbGw9XCIjNjY3MDg1XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEwLjc5NjYgMS40Mjc1MkMxMC42NTQxIDEuMjk2ODEgMTAuNDY2NyAxLjIyNjE3IDEwLjI3MzMgMS4yMzAzN0MxMC4wOCAxLjIzNDU2IDkuODk1OCAxLjMxMzI1IDkuNzU5MTEgMS40NTAwMkwxLjQ4OTExIDkuNzIwMDJDMS40MTkzOCA5Ljc4OTY4IDEuMzY0MDYgOS44NzIzOSAxLjMyNjMyIDkuOTYzNDRDMS4yODg1NyAxMC4wNTQ1IDEuMjY5MTUgMTAuMTUyMSAxLjI2OTE1IDEwLjI1MDZDMS4yNjkxNSAxMC4zNDkyIDEuMjg4NTcgMTAuNDQ2OCAxLjMyNjMyIDEwLjUzNzlDMS4zNjQwNiAxMC42Mjg5IDEuNDE5MzggMTAuNzExNiAxLjQ4OTExIDEwLjc4MTNMMi42NDY2MSAxMS45Mzg4QzIuNjU2MzIgMTEuOTQxOCAyLjY2NjQ3IDExLjk0MyAyLjY3NjYxIDExLjk0MjVDMi43MTQxMSAxMS45NDI1IDIuNzY0MTEgMTEuOTI4OCAyLjgxMTYxIDExLjg5NzVDMy4yNjg0NSAxMS41OTI3IDMuODE2OCAxMS40NTU3IDQuMzYzMzEgMTEuNTA5N0M0LjkwOTgzIDExLjU2MzcgNS40MjA3MyAxMS44MDU1IDUuODA5MDUgMTIuMTkzOEM2LjE5NzM4IDEyLjU4MjIgNi40MzkxMyAxMy4wOTMxIDYuNDkzMTYgMTMuNjM5NkM2LjU0NzE4IDE0LjE4NjEgNi40MTAxNCAxNC43MzQ0IDYuMTA1MzYgMTUuMTkxM0M2LjA3NzkyIDE1LjIzMTEgNi4wNjIzMSAxNS4yNzc5IDYuMDYwMzYgMTUuMzI2M0M2LjA2MDM2IDE1LjM0MjUgNi4wNjI4NiAxNS4zNTEzIDYuMDY0MTEgMTUuMzU1TDcuMTk0MTEgMTYuNDg2M0M3LjI2NTEyIDE2LjU1NzQgNy4zNDk3MSAxNi42MTM2IDcuNDQyODUgMTYuNjUxNEM3LjUzNTk5IDE2LjY4OTIgNy42MzU3OSAxNi43MDc5IDcuNzM2MyAxNi43MDY0QzcuODM2ODIgMTYuNzA0OSA3LjkzNiAxNi42ODMyIDguMDI3OTYgMTYuNjQyNkM4LjExOTkyIDE2LjYwMiA4LjIwMjc4IDE2LjU0MzMgOC4yNzE2MSAxNi40N0wxNi41MjA0IDcuNzA1MDJDMTYuNTg4MyA3LjYzMjY3IDE2LjY0MTIgNy41NDc1NSAxNi42NzYgNy40NTQ2QzE2LjcxMDggNy4zNjE2NSAxNi43MjY4IDcuMjYyNzIgMTYuNzIzMSA3LjE2MzU0QzE2LjcxOTMgNy4wNjQzNiAxNi42OTYgNi45NjY5MSAxNi42NTQzIDYuODc2ODNDMTYuNjEyNiA2Ljc4Njc1IDE2LjU1MzUgNi43MDU4MyAxNi40ODA0IDYuNjM4NzdMMTUuMzcyOSA1LjYyMjUySDE1LjM2OTFDMTUuMzUxNCA1LjYxOTAyIDE1LjMzMzEgNS42MTkwMiAxNS4zMTU0IDUuNjIyNTJDMTUuMjQ0OCA1LjYzNzIyIDE1LjE4MDYgNS42NzM0OCAxNS4xMzE2IDUuNzI2MjdDMTQuOTIyNyA1Ljk2MzA1IDE0LjY2ODcgNi4xNTU3OSAxNC4zODQ1IDYuMjkzMjNDMTQuMTAwMiA2LjQzMDY3IDEzLjc5MTQgNi41MTAwNSAxMy40NzYxIDYuNTI2NzNDMTMuMTYwOCA2LjU0MzQxIDEyLjg0NTMgNi40OTcwNCAxMi41NDgxIDYuMzkwMzVDMTIuMjUxIDYuMjgzNjYgMTEuOTc4IDYuMTE4NzkgMTEuNzQ1MyA1LjkwNTM3QzExLjUxMjYgNS42OTE5NSAxMS4zMjQ4IDUuNDM0MjggMTEuMTkyOSA1LjE0NzQyQzExLjA2MSA0Ljg2MDU1IDEwLjk4NzYgNC41NTAyNyAxMC45NzcgNC4yMzQ3QzEwLjk2NjQgMy45MTkxMyAxMS4wMTg4IDMuNjA0NjIgMTEuMTMxMiAzLjMwOTU2QzExLjI0MzYgMy4wMTQ0OSAxMS40MTM3IDIuNzQ0ODEgMTEuNjMxNiAyLjUxNjI3QzExLjY3OTcgMi40NjI2NCAxMS43MDk4IDIuMzk1MzUgMTEuNzE3OSAyLjMyMzc3QzExLjcyMDEgMi4zMDQ4OCAxMS43MTg0IDIuMjg1NzIgMTEuNzEyOSAyLjI2NzUyTDEwLjc5NjYgMS40Mjc1MlpNOS4wNTI4NiAwLjc0MjUyMkM5LjM3MTc2IDAuNDIzNjM4IDkuODAxNDUgMC4yNDAxNzQgMTAuMjUyMyAwLjIzMDM5M0MxMC43MDMyIDAuMjIwNjExIDExLjE0MDQgMC4zODUyNjggMTEuNDcyOSAwLjY5MDAyMkwxMi4zODkxIDEuNTMxMjdDMTIuNjYyOSAxLjc4MTI3IDEyLjczOTEgMi4xMjI1MiAxMi43MTQxIDIuNDEzNzdDMTIuNjg3OSAyLjcwMTI3IDEyLjU2MTYgMi45ODI1MiAxMi4zNjY2IDMuMTkzNzdDMTIuMjQ0NiAzLjMyNjkgMTIuMTQ5OSAzLjQ4Mjc2IDEyLjA4ODEgMy42NTI0NkMxMi4wMjYzIDMuODIyMTYgMTEuOTk4NSA0LjAwMjM3IDEyLjAwNjQgNC4xODI4MUMxMi4wMTQyIDQuMzYzMjUgMTIuMDU3NSA0LjU0MDM3IDEyLjEzMzggNC43MDQwN0MxMi4yMTAxIDQuODY3NzggMTIuMzE3OSA1LjAxNDg1IDEyLjQ1MSA1LjEzNjlDMTIuNTg0MSA1LjI1ODk0IDEyLjc0IDUuMzUzNTggMTIuOTA5NyA1LjQxNTM5QzEzLjA3OTQgNS40NzcyIDEzLjI1OTYgNS41MDQ5OCAxMy40NCA1LjQ5NzE0QzEzLjYyMDUgNS40ODkzMSAxMy43OTc2IDUuNDQ2MDEgMTMuOTYxMyA1LjM2OTcyQzE0LjEyNSA1LjI5MzQ0IDE0LjI3MjEgNS4xODU2NSAxNC4zOTQxIDUuMDUyNTJDMTQuNTg3OSA0Ljg0MDAyIDE0Ljg1NjYgNC42OTAwMiAxNS4xNDA0IDQuNjM4NzdDMTUuMzAwNCA0LjYwNjY1IDE1LjQ2NTYgNC42MTIxOCAxNS42MjMxIDQuNjU0OTJDMTUuNzgwNiA0LjY5NzY1IDE1LjkyNiA0Ljc3NjQzIDE2LjA0NzkgNC44ODUwMkwxNy4xNTY2IDUuOTAxMjdDMTcuMzI3MyA2LjA1NzkgMTcuNDY1MiA2LjI0Njg3IDE3LjU2MjMgNi40NTcyQzE3LjY1OTQgNi42Njc1NCAxNy43MTM4IDYuODk1MDcgMTcuNzIyMyA3LjEyNjU4QzE3LjczMDggNy4zNTgwOSAxNy42OTMyIDcuNTg4OTkgMTcuNjExOCA3LjgwNTg3QzE3LjUzMDMgOC4wMjI3NiAxNy40MDY2IDguMjIxMzEgMTcuMjQ3OSA4LjM5MDAyTDkuMDAwMzYgMTcuMTU1QzguODM5NzUgMTcuMzI1NyA4LjY0NjQ5IDE3LjQ2MjQgOC40MzIwNiAxNy41NTY5QzguMjE3NjMgMTcuNjUxNSA3Ljk4NjM4IDE3LjcwMiA3Ljc1MjA1IDE3LjcwNTVDNy41MTc3MSAxNy43MDkgNy4yODUwNiAxNy42NjU0IDcuMDY3OSAxNy41NzczQzYuODUwNzQgMTcuNDg5MiA2LjY1MzQ5IDE3LjM1ODMgNi40ODc4NiAxNy4xOTI1TDUuMzU3ODYgMTYuMDYyNUM0LjkyNDExIDE1LjYyODggNS4wMjkxMSAxNS4wMDM4IDUuMjc0MTEgMTQuNjM3NUM1LjQ0OTg4IDE0LjM3MzEgNS41Mjg3MSAxNC4wNTU5IDUuNDk3MiAxMy43NEM1LjQ2NTY5IDEzLjQyNCA1LjMyNTc5IDEzLjEyODcgNS4xMDEyNSAxMi45MDQxQzQuODc2NzIgMTIuNjc5NiA0LjU4MTM5IDEyLjUzOTcgNC4yNjU0MiAxMi41MDgyQzMuOTQ5NDUgMTIuNDc2NyAzLjYzMjMxIDEyLjU1NTUgMy4zNjc4NiAxMi43MzEzQzIuOTk5MTEgMTIuOTc1IDIuMzc1MzYgMTMuMDggMS45NDE2MSAxMi42NDVMMC43ODQxMTEgMTEuNDg3NUMwLjYyMTU4OSAxMS4zMjUgMC40OTI2NjkgMTEuMTMyMSAwLjQwNDcxMiAxMC45MTk4QzAuMzE2NzU1IDEwLjcwNzQgMC4yNzE0ODQgMTAuNDc5OCAwLjI3MTQ4NCAxMC4yNUMwLjI3MTQ4NCAxMC4wMjAyIDAuMzE2NzU1IDkuNzkyNjIgMC40MDQ3MTIgOS41ODAyOUMwLjQ5MjY2OSA5LjM2Nzk1IDAuNjIxNTg5IDkuMTc1MDMgMC43ODQxMTEgOS4wMTI1Mkw5LjA1Mjg2IDAuNzQyNTIyWlwiIHN0cm9rZT1cIiM2NjcwODVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPiB7e29wZW4/LnRpY2tldElkID8gb3Blbj8udGlja2V0SWQgOiAnLS0nfX0gPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRyZSBqdXN0aWZ5LWNvbnRlbnQtY2VudHJlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJvcGVuPy50aWNrZXRUeXBlID09PSAncmVmcmVzaHRpY2tldCdcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE3XCIgaGVpZ2h0PVwiMTRcIiB2aWV3Qm94PVwiMCAwIDE3IDE0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTUuOTQ2MDIgNC45ODg4MUwyLjY2NjAyIDYuMzM4ODFMMi4wMDYwMiA2LjA3ODgxTDAuNjY2MDE2IDIuODM4ODFMMS41ODYwMiAyLjQ1ODgxTDIuMzk2MDIgNC40MDg4MUMyLjkzOTc3IDMuMDQ4MDEgMy45Mjg3MiAxLjkxMTY5IDUuMjAxNDUgMS4xODUzMkM2LjQ3NDE5IDAuNDU4OTUxIDcuOTU1NTQgMC4xODU0MjYgOS40MDM3NSAwLjQwOTM4N0MxMC44NTIgMC42MzMzNDkgMTIuMTgxNSAxLjM0MTU3IDEzLjE3NTQgMi40MTg0NkMxNC4xNjkyIDMuNDk1MzUgMTQuNzY4NyA0Ljg3NzMyIDE0Ljg3NiA2LjMzODgxSDEzLjg3NkMxMy43NjE2IDUuMDkwMDggMTMuMjIyNCAzLjkxODM2IDEyLjM0ODQgMy4wMTkxOUMxMS40NzQzIDIuMTIwMDMgMTAuMzE4NCAxLjU0NzgxIDkuMDczNCAxLjM5ODA0QzcuODI4NDIgMS4yNDgyNiA2LjU2OTczIDEuNTMgNS41MDczOSAyLjE5NjIyQzQuNDQ1MDUgMi44NjI0NCAzLjY0MzMyIDMuODcyODQgMy4yMzYwMiA1LjA1ODgxTDUuNTU2MDIgNC4wNTg4MUw1Ljk0NjAyIDQuOTg4ODFaTTE0LjgwNiA3LjY2ODgxTDE2LjE0NiAxMC44OTg4TDE1LjIyNiAxMS4zMzg4TDE0LjQwNiA5LjMzODgxQzEzLjg1OCAxMC43MDQ5IDEyLjg2MTggMTEuODQ0MiAxMS41ODEgMTIuNTY5NkMxMC4zMDAxIDEzLjI5NSA4LjgxMDc3IDEzLjU2MzQgNy4zNTcyOCAxMy4zMzA5QzUuOTAzOCAxMy4wOTgzIDQuNTcyNTUgMTIuMzc4NiAzLjU4MiAxMS4yODk4QzIuNTkxNDUgMTAuMjAwOSAyLjAwMDQ2IDguODA3NzUgMS45MDYwMiA3LjMzODgxSDIuOTA2MDJWNi44Mzg4MUMyLjkwODgyIDguMTI2MjcgMy4zNjQwMiA5LjM3MTggNC4xOTIwMyAxMC4zNTc3QzUuMDIwMDUgMTEuMzQzNiA2LjE2ODIxIDEyLjAwNzEgNy40MzU4NCAxMi4yMzIyQzguNzAzNDYgMTIuNDU3NCAxMC4wMDk5IDEyLjIyOTkgMTEuMTI2OCAxMS41ODk1QzEyLjI0MzcgMTAuOTQ5MSAxMy4xIDkuOTM2NTUgMTMuNTQ2IDguNzI4ODFMMTEuMjk2IDkuNjU4ODFMMTAuOTA2IDguNzM4ODFMMTQuMTU2IDcuMzg4ODFMMTQuODA2IDcuNjY4ODFaXCIgZmlsbD1cIiM5OEEyQjNcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNOC40MDYyNSA3LjU0MDA0QzguOTU4NTMgNy41NDAwNCA5LjQwNjI1IDcuMDkyMzIgOS40MDYyNSA2LjU0MDA0QzkuNDA2MjUgNS45ODc3NSA4Ljk1ODUzIDUuNTQwMDQgOC40MDYyNSA1LjU0MDA0QzcuODUzOTcgNS41NDAwNCA3LjQwNjI1IDUuOTg3NzUgNy40MDYyNSA2LjU0MDA0QzcuNDA2MjUgNy4wOTIzMiA3Ljg1Mzk3IDcuNTQwMDQgOC40MDYyNSA3LjU0MDA0WlwiIGZpbGw9XCIjOThBMkIzXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJvcGVuPy5pc3N1ZVN0YXR1cyAhPT0gJ25vdGlkZW50aWZpZWQnXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzgyN18xMjA2MSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTcuMjAwNjUgMTAuMzMzM0g5LjE1NjIxVjEyLjMzMzNINy4yMDA2NVYxMC4zMzMzWk05LjE1NjIxIDQuMzMzMjdINy4yMDA2NVY5LjMzMzI2SDkuMTU2MjFWNC4zMzMyN1pNMTAuNjIyOSA1LjgzMzI3TDkuNjQ1MSA2LjgzMzI3TDEyLjA4OTUgOS4zMzMyNkwxNi4wMDA3IDQuODMzMjdMMTUuMDIyOSAzLjgzMzI3TDEyLjA4OTUgNy4zMzMyNkwxMC42MjI5IDUuODMzMjdaTTguMTc4NDMgMTQuMDMzM0M2LjcwMTA4IDE0LjAzMDYgNS4yODQ5OSAxMy40MjkyIDQuMjQwMzQgMTIuMzYwOEMzLjE5NTcgMTEuMjkyNSAyLjYwNzY4IDkuODQ0MTggMi42MDUxIDguMzMzMjZDMi42MDUxIDUuMTkzMjcgNS4xMDgyMSAyLjYzMzI3IDguMTc4NDMgMi42MzMyN0M5Ljk2Nzc2IDIuNjMzMjcgMTEuNTUxOCAzLjUxMzI3IDEyLjU3ODQgNC44MzMyN0wxMy40NzggMy45MTMyN0MxMi44Mzk1IDMuMTA1MzQgMTIuMDMxOSAyLjQ1NDE1IDExLjExNDcgMi4wMDc2NUMxMC4xOTc2IDEuNTYxMTUgOS4xOTQxOSAxLjMzMDcgOC4xNzg0MyAxLjMzMzI3QzQuNDA0MjEgMS4zMzMyNyAxLjMzMzk4IDQuNDczMjcgMS4zMzM5OCA4LjMzMzI2QzEuMzMzOTggMTIuMTkzMyA0LjQwNDIxIDE1LjMzMzMgOC4xNzg0MyAxNS4zMzMzQzExLjk1MjcgMTUuMzMzMyAxNS4wMjI5IDEyLjE5MzMgMTUuMDIyOSA4LjMzMzI2TDEzLjUzNjcgOS44NTMyNkMxMi44OTEzIDEyLjI2MzMgMTAuNzQwMiAxNC4wNDMzIDguMTc4NDMgMTQuMDQzM1YxNC4wMzMzWlwiIGZpbGw9XCIjOThBMkIzXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8zODI3XzEyMDYxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJ3aGl0ZVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhb3Blbi5pc09wZW5cIiAoY2xpY2spPVwic2VsZWN0VmlldygkZXZlbnQsaW5kZXgsJ29wZW4nKVwiIGNsYXNzPVwibXMtM1wiPiA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIxXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIxIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMy4xNjYgMi41SDE4LjE2Nk0xOC4xNjYgMi41VjcuNU0xOC4xNjYgMi41TDEyLjMzMjcgOC4zMzMzM004LjE2NjAyIDE3LjVIMy4xNjYwMk0zLjE2NjAyIDE3LjVWMTIuNU0zLjE2NjAyIDE3LjVMOC45OTkzNSAxMS42NjY3XCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIW9wZW4uaXNPcGVuICYmIG9wZW4/Lm5vdGlmaWNhdGlvblwiIGNsYXNzPVwicHJvZmlsZSBkLWZsZXggYWxpZ24taXRlbXMtY2VudHJlIGp1c3RpZnktY29udGVudC1jZW50cmUgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSW1hZ2VzL0JlbGxub3RpZmljYXRpb24ucG5nXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGltZyAqbmdJZj1cImNhcmRWaWV3XCIgY2xhc3M9XCJwcm9maWxlIG1zLTNcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvZ3JvcG1vZGFsLnBuZ1wiIGFsdD1cIlwiPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cInN0YXR1c09wZW4/Lmxlbmd0aCA9PT0gMCB8fCAhbm9EYXRhICYmICFsb2FkaW5nXCIgY2xhc3M9XCJ3LTEwMCBtdC0xMCBtYi0xMCBtaC02MHZoIGQtZ3JpZCB0ZXh0LWNlbnRlclwiPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwibXgtYXV0byBtYi0yXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSW1hZ2VzL3Rha2V0aWNrZXQuc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0YWtldGlja2V0IG10LTIgZnctYm9sZFwiPk5vIE9wZW4gVGlja2V0cyA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiBjbGFzcz1cInctMTAwIGJ0biBidG4tcHJpbWFyeSBtdC01XCIgKGNsaWNrKT1cInRha2VUaWNrZXQoKVwiPlRha2UgVGlja2V0PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZz8ub3BlblwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vRGF0YT8ub3BlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IG1oLTYwdmggZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwibXgtYXV0byBtYi0yXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSW1hZ2VzL3Rha2V0aWNrZXQuc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRha2V0aWNrZXQgbXQtNSBmdy1ib2xkXCI+Tm8gT3BlbiBUaWNrZXRzIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8ubWFuYWdlX3RpY2tldHNfaXNFZGl0XCIgY2xhc3M9XCJ3LTEwMCBidG4gYnRuLXByaW1hcnkgbXQtNVwiIChjbGljayk9XCJ0YWtlVGlja2V0KClcIj5UYWtlIFRpY2tldDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj4gXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIGgtMTAwIHJvdW5kZWQtMiBvdmVyZmxvdy1oaWRkZW5cIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmFkZ2UtbGlnaHQtZGVmYXVsdCBweC0zIHB5LTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj5JbnByb2dyZXNzPC9zcGFuPjxzcGFuICpuZ0lmPVwic3RhdHVzSW5wcm9ncmVzcz8ubGVuZ3RoID4gMCAmJiAhbG9hZGluZy5pbnByb2dyZXNzICYmICFub0RhdGEuaW5wcm9ncmVzc1wiIGNsYXNzPVwicm91bmRlZC01IG1zLTMgcHgtMSBib3JkZXIgYm9yZGVyLWdyYXkgYmctYmFkZ2VcIj57e3N0YXR1c0lucHJvZ3Jlc3M/Lmxlbmd0aH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dib2R5IGgtMTAwIHB4LTQgcHktM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWxvYWRpbmcuaW5wcm9ncmVzcyAmJiAhbm9EYXRhLmlucHJvZ3Jlc3NcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGlucHJvZ3Jlc3Mgb2Ygc3RhdHVzSW5wcm9ncmVzczsgbGV0IGluZGV4ID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwiaW5wcm9ncmVzcy5pc09wZW4gPyAnYWN0aXZlJzonJ1wiIGNsYXNzPVwiaXNzdWVjYXJkIGN1cnNvci1wb2ludGVyIHctMTAwIG1iLTVcIiAoY2xpY2spPVwicm91dGV0b1RpY2tldChpbnByb2dyZXNzKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiaW5wcm9ncmVzcz8uaXNPcGVuXCIgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZnctc2VtaWJvbGRcIj57e2lucHJvZ3Jlc3M/LnN0b3JlSWR9fTwvbGFiZWw+PGJyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZ3LXNlbWlib2xkIG15LTJcIj57e2lucHJvZ3Jlc3M/LnN0b3JlTmFtZSA/IGlucHJvZ3Jlc3M/LnN0b3JlTmFtZSA6Jy0tJ319PC9sYWJlbD48YnI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtZGVmYXVsdCBtZS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwibWUtMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzM3MzJfNjAyNzcpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk04IDFWM000IDFWM00xLjUgNUgxMC41TTIuNSAySDkuNUMxMC4wNTIzIDIgMTAuNSAyLjQ0NzcyIDEwLjUgM1YxMEMxMC41IDEwLjU1MjMgMTAuMDUyMyAxMSA5LjUgMTFIMi41QzEuOTQ3NzIgMTEgMS41IDEwLjU1MjMgMS41IDEwVjNDMS41IDIuNDQ3NzIgMS45NDc3MiAyIDIuNSAyWlwiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjFcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzM3MzJfNjAyNzdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+IHt7aW5wcm9ncmVzcz8uRGF0ZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlucHJvZ3Jlc3M/LmluZnJhSXNzdWVcIiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXdhcm5pbmdcIj57e2lucHJvZ3Jlc3M/LmluZnJhSXNzdWV9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ0eXBlID09PSdpbnN0YWxsYXRpb24nICYmIGlucHJvZ3Jlc3M/LmluZnJhSXNzdWUhPT0nJ1wiIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtcHJpbWFyeSB0ZXh0LWNhcGl0YWxpemUgbXMtM1wiPnt7aW5wcm9ncmVzcz8uaW5zdGFsbGF0aW9uU3RhdHVzID8gaW5wcm9ncmVzcz8uaW5zdGFsbGF0aW9uU3RhdHVzIDonLS0nfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidHlwZSA9PT0nZGF0YU1pc21hdGNoJ1wiIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtd2FybmluZ1wiPnt7aW5wcm9ncmVzcz8uaXNzdWVUeXBlID09PSAnaGlnaGNvdW50JyA/ICdIaWdoIENvdW50JyA6IChpbnByb2dyZXNzPy5pc3N1ZVR5cGUgPT09ICdsb3djb3VudCcgPyAnTG93IENvdW50JyA6ICcnKX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiIGQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpbnByb2dyZXNzPy5ub3RpZmljYXRpb25cIiBjbGFzcz1cInByb2ZpbGUgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRyZSBqdXN0aWZ5LWNvbnRlbnQtY2VudHJlIG1lLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvQmVsbG5vdGlmaWNhdGlvbi5wbmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKGNsaWNrKT1cInNlbGVjdFZpZXcoJGV2ZW50LGluZGV4LCdpbnByb2dyZXNzJylcIj4gPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMVwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMSAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMuMTY2IDIuNUgxOC4xNjZNMTguMTY2IDIuNVY3LjVNMTguMTY2IDIuNUwxMi4zMzI3IDguMzMzMzNNOC4xNjYwMiAxNy41SDMuMTY2MDJNMy4xNjYwMiAxNy41VjEyLjVNMy4xNjYwMiAxNy41TDguOTk5MzUgMTEuNjY2N1wiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHRleHQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPiAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiID4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCIgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlclwiPjxzdmcgY2xhc3M9XCJtZS0yXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMThcIiBoZWlnaHQ9XCIxOFwiIHZpZXdCb3g9XCIwIDAgMTggMThcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEwLjc5NjYgMS40Mjc1MkMxMC42NTQxIDEuMjk2ODEgMTAuNDY2NyAxLjIyNjE3IDEwLjI3MzMgMS4yMzAzN0MxMC4wOCAxLjIzNDU2IDkuODk1OCAxLjMxMzI1IDkuNzU5MTEgMS40NTAwMkwxLjQ4OTExIDkuNzIwMDJDMS40MTkzOCA5Ljc4OTY4IDEuMzY0MDYgOS44NzIzOSAxLjMyNjMyIDkuOTYzNDRDMS4yODg1NyAxMC4wNTQ1IDEuMjY5MTUgMTAuMTUyMSAxLjI2OTE1IDEwLjI1MDZDMS4yNjkxNSAxMC4zNDkyIDEuMjg4NTcgMTAuNDQ2OCAxLjMyNjMyIDEwLjUzNzlDMS4zNjQwNiAxMC42Mjg5IDEuNDE5MzggMTAuNzExNiAxLjQ4OTExIDEwLjc4MTNMMi42NDY2MSAxMS45Mzg4QzIuNjU2MzIgMTEuOTQxOCAyLjY2NjQ3IDExLjk0MyAyLjY3NjYxIDExLjk0MjVDMi43MTQxMSAxMS45NDI1IDIuNzY0MTEgMTEuOTI4OCAyLjgxMTYxIDExLjg5NzVDMy4yNjg0NSAxMS41OTI3IDMuODE2OCAxMS40NTU3IDQuMzYzMzEgMTEuNTA5N0M0LjkwOTgzIDExLjU2MzcgNS40MjA3MyAxMS44MDU1IDUuODA5MDUgMTIuMTkzOEM2LjE5NzM4IDEyLjU4MjIgNi40MzkxMyAxMy4wOTMxIDYuNDkzMTYgMTMuNjM5NkM2LjU0NzE4IDE0LjE4NjEgNi40MTAxNCAxNC43MzQ0IDYuMTA1MzYgMTUuMTkxM0M2LjA3NzkyIDE1LjIzMTEgNi4wNjIzMSAxNS4yNzc5IDYuMDYwMzYgMTUuMzI2M0M2LjA2MDM2IDE1LjM0MjUgNi4wNjI4NiAxNS4zNTEzIDYuMDY0MTEgMTUuMzU1TDcuMTk0MTEgMTYuNDg2M0M3LjI2NTEyIDE2LjU1NzQgNy4zNDk3MSAxNi42MTM2IDcuNDQyODUgMTYuNjUxNEM3LjUzNTk5IDE2LjY4OTIgNy42MzU3OSAxNi43MDc5IDcuNzM2MyAxNi43MDY0QzcuODM2ODIgMTYuNzA0OSA3LjkzNiAxNi42ODMyIDguMDI3OTYgMTYuNjQyNkM4LjExOTkyIDE2LjYwMiA4LjIwMjc4IDE2LjU0MzMgOC4yNzE2MSAxNi40N0wxNi41MjA0IDcuNzA1MDJDMTYuNTg4MyA3LjYzMjY3IDE2LjY0MTIgNy41NDc1NSAxNi42NzYgNy40NTQ2QzE2LjcxMDggNy4zNjE2NSAxNi43MjY4IDcuMjYyNzIgMTYuNzIzMSA3LjE2MzU0QzE2LjcxOTMgNy4wNjQzNiAxNi42OTYgNi45NjY5MSAxNi42NTQzIDYuODc2ODNDMTYuNjEyNiA2Ljc4Njc1IDE2LjU1MzUgNi43MDU4MyAxNi40ODA0IDYuNjM4NzdMMTUuMzcyOSA1LjYyMjUySDE1LjM2OTFDMTUuMzUxNCA1LjYxOTAyIDE1LjMzMzEgNS42MTkwMiAxNS4zMTU0IDUuNjIyNTJDMTUuMjQ0OCA1LjYzNzIyIDE1LjE4MDYgNS42NzM0OCAxNS4xMzE2IDUuNzI2MjdDMTQuOTIyNyA1Ljk2MzA1IDE0LjY2ODcgNi4xNTU3OSAxNC4zODQ1IDYuMjkzMjNDMTQuMTAwMiA2LjQzMDY3IDEzLjc5MTQgNi41MTAwNSAxMy40NzYxIDYuNTI2NzNDMTMuMTYwOCA2LjU0MzQxIDEyLjg0NTMgNi40OTcwNCAxMi41NDgxIDYuMzkwMzVDMTIuMjUxIDYuMjgzNjYgMTEuOTc4IDYuMTE4NzkgMTEuNzQ1MyA1LjkwNTM3QzExLjUxMjYgNS42OTE5NSAxMS4zMjQ4IDUuNDM0MjggMTEuMTkyOSA1LjE0NzQyQzExLjA2MSA0Ljg2MDU1IDEwLjk4NzYgNC41NTAyNyAxMC45NzcgNC4yMzQ3QzEwLjk2NjQgMy45MTkxMyAxMS4wMTg4IDMuNjA0NjIgMTEuMTMxMiAzLjMwOTU2QzExLjI0MzYgMy4wMTQ0OSAxMS40MTM3IDIuNzQ0ODEgMTEuNjMxNiAyLjUxNjI3QzExLjY3OTcgMi40NjI2NCAxMS43MDk4IDIuMzk1MzUgMTEuNzE3OSAyLjMyMzc3QzExLjcyMDEgMi4zMDQ4OCAxMS43MTg0IDIuMjg1NzIgMTEuNzEyOSAyLjI2NzUyTDEwLjc5NjYgMS40Mjc1MlpNOS4wNTI4NiAwLjc0MjUyMkM5LjM3MTc2IDAuNDIzNjM4IDkuODAxNDUgMC4yNDAxNzQgMTAuMjUyMyAwLjIzMDM5M0MxMC43MDMyIDAuMjIwNjExIDExLjE0MDQgMC4zODUyNjggMTEuNDcyOSAwLjY5MDAyMkwxMi4zODkxIDEuNTMxMjdDMTIuNjYyOSAxLjc4MTI3IDEyLjczOTEgMi4xMjI1MiAxMi43MTQxIDIuNDEzNzdDMTIuNjg3OSAyLjcwMTI3IDEyLjU2MTYgMi45ODI1MiAxMi4zNjY2IDMuMTkzNzdDMTIuMjQ0NiAzLjMyNjkgMTIuMTQ5OSAzLjQ4Mjc2IDEyLjA4ODEgMy42NTI0NkMxMi4wMjYzIDMuODIyMTYgMTEuOTk4NSA0LjAwMjM3IDEyLjAwNjQgNC4xODI4MUMxMi4wMTQyIDQuMzYzMjUgMTIuMDU3NSA0LjU0MDM3IDEyLjEzMzggNC43MDQwN0MxMi4yMTAxIDQuODY3NzggMTIuMzE3OSA1LjAxNDg1IDEyLjQ1MSA1LjEzNjlDMTIuNTg0MSA1LjI1ODk0IDEyLjc0IDUuMzUzNTggMTIuOTA5NyA1LjQxNTM5QzEzLjA3OTQgNS40NzcyIDEzLjI1OTYgNS41MDQ5OCAxMy40NCA1LjQ5NzE0QzEzLjYyMDUgNS40ODkzMSAxMy43OTc2IDUuNDQ2MDEgMTMuOTYxMyA1LjM2OTcyQzE0LjEyNSA1LjI5MzQ0IDE0LjI3MjEgNS4xODU2NSAxNC4zOTQxIDUuMDUyNTJDMTQuNTg3OSA0Ljg0MDAyIDE0Ljg1NjYgNC42OTAwMiAxNS4xNDA0IDQuNjM4NzdDMTUuMzAwNCA0LjYwNjY1IDE1LjQ2NTYgNC42MTIxOCAxNS42MjMxIDQuNjU0OTJDMTUuNzgwNiA0LjY5NzY1IDE1LjkyNiA0Ljc3NjQzIDE2LjA0NzkgNC44ODUwMkwxNy4xNTY2IDUuOTAxMjdDMTcuMzI3MyA2LjA1NzkgMTcuNDY1MiA2LjI0Njg3IDE3LjU2MjMgNi40NTcyQzE3LjY1OTQgNi42Njc1NCAxNy43MTM4IDYuODk1MDcgMTcuNzIyMyA3LjEyNjU4QzE3LjczMDggNy4zNTgwOSAxNy42OTMyIDcuNTg4OTkgMTcuNjExOCA3LjgwNTg3QzE3LjUzMDMgOC4wMjI3NiAxNy40MDY2IDguMjIxMzEgMTcuMjQ3OSA4LjM5MDAyTDkuMDAwMzYgMTcuMTU1QzguODM5NzUgMTcuMzI1NyA4LjY0NjQ5IDE3LjQ2MjQgOC40MzIwNiAxNy41NTY5QzguMjE3NjMgMTcuNjUxNSA3Ljk4NjM4IDE3LjcwMiA3Ljc1MjA1IDE3LjcwNTVDNy41MTc3MSAxNy43MDkgNy4yODUwNiAxNy42NjU0IDcuMDY3OSAxNy41NzczQzYuODUwNzQgMTcuNDg5MiA2LjY1MzQ5IDE3LjM1ODMgNi40ODc4NiAxNy4xOTI1TDUuMzU3ODYgMTYuMDYyNUM0LjkyNDExIDE1LjYyODggNS4wMjkxMSAxNS4wMDM4IDUuMjc0MTEgMTQuNjM3NUM1LjQ0OTg4IDE0LjM3MzEgNS41Mjg3MSAxNC4wNTU5IDUuNDk3MiAxMy43NEM1LjQ2NTY5IDEzLjQyNCA1LjMyNTc5IDEzLjEyODcgNS4xMDEyNSAxMi45MDQxQzQuODc2NzIgMTIuNjc5NiA0LjU4MTM5IDEyLjUzOTcgNC4yNjU0MiAxMi41MDgyQzMuOTQ5NDUgMTIuNDc2NyAzLjYzMjMxIDEyLjU1NTUgMy4zNjc4NiAxMi43MzEzQzIuOTk5MTEgMTIuOTc1IDIuMzc1MzYgMTMuMDggMS45NDE2MSAxMi42NDVMMC43ODQxMTEgMTEuNDg3NUMwLjYyMTU4OSAxMS4zMjUgMC40OTI2NjkgMTEuMTMyMSAwLjQwNDcxMiAxMC45MTk4QzAuMzE2NzU1IDEwLjcwNzQgMC4yNzE0ODQgMTAuNDc5OCAwLjI3MTQ4NCAxMC4yNUMwLjI3MTQ4NCAxMC4wMjAyIDAuMzE2NzU1IDkuNzkyNjIgMC40MDQ3MTIgOS41ODAyOUMwLjQ5MjY2OSA5LjM2Nzk1IDAuNjIxNTg5IDkuMTc1MDMgMC43ODQxMTEgOS4wMTI1Mkw5LjA1Mjg2IDAuNzQyNTIyWlwiIGZpbGw9XCIjNjY3MDg1XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEwLjc5NjYgMS40Mjc1MkMxMC42NTQxIDEuMjk2ODEgMTAuNDY2NyAxLjIyNjE3IDEwLjI3MzMgMS4yMzAzN0MxMC4wOCAxLjIzNDU2IDkuODk1OCAxLjMxMzI1IDkuNzU5MTEgMS40NTAwMkwxLjQ4OTExIDkuNzIwMDJDMS40MTkzOCA5Ljc4OTY4IDEuMzY0MDYgOS44NzIzOSAxLjMyNjMyIDkuOTYzNDRDMS4yODg1NyAxMC4wNTQ1IDEuMjY5MTUgMTAuMTUyMSAxLjI2OTE1IDEwLjI1MDZDMS4yNjkxNSAxMC4zNDkyIDEuMjg4NTcgMTAuNDQ2OCAxLjMyNjMyIDEwLjUzNzlDMS4zNjQwNiAxMC42Mjg5IDEuNDE5MzggMTAuNzExNiAxLjQ4OTExIDEwLjc4MTNMMi42NDY2MSAxMS45Mzg4QzIuNjU2MzIgMTEuOTQxOCAyLjY2NjQ3IDExLjk0MyAyLjY3NjYxIDExLjk0MjVDMi43MTQxMSAxMS45NDI1IDIuNzY0MTEgMTEuOTI4OCAyLjgxMTYxIDExLjg5NzVDMy4yNjg0NSAxMS41OTI3IDMuODE2OCAxMS40NTU3IDQuMzYzMzEgMTEuNTA5N0M0LjkwOTgzIDExLjU2MzcgNS40MjA3MyAxMS44MDU1IDUuODA5MDUgMTIuMTkzOEM2LjE5NzM4IDEyLjU4MjIgNi40MzkxMyAxMy4wOTMxIDYuNDkzMTYgMTMuNjM5NkM2LjU0NzE4IDE0LjE4NjEgNi40MTAxNCAxNC43MzQ0IDYuMTA1MzYgMTUuMTkxM0M2LjA3NzkyIDE1LjIzMTEgNi4wNjIzMSAxNS4yNzc5IDYuMDYwMzYgMTUuMzI2M0M2LjA2MDM2IDE1LjM0MjUgNi4wNjI4NiAxNS4zNTEzIDYuMDY0MTEgMTUuMzU1TDcuMTk0MTEgMTYuNDg2M0M3LjI2NTEyIDE2LjU1NzQgNy4zNDk3MSAxNi42MTM2IDcuNDQyODUgMTYuNjUxNEM3LjUzNTk5IDE2LjY4OTIgNy42MzU3OSAxNi43MDc5IDcuNzM2MyAxNi43MDY0QzcuODM2ODIgMTYuNzA0OSA3LjkzNiAxNi42ODMyIDguMDI3OTYgMTYuNjQyNkM4LjExOTkyIDE2LjYwMiA4LjIwMjc4IDE2LjU0MzMgOC4yNzE2MSAxNi40N0wxNi41MjA0IDcuNzA1MDJDMTYuNTg4MyA3LjYzMjY3IDE2LjY0MTIgNy41NDc1NSAxNi42NzYgNy40NTQ2QzE2LjcxMDggNy4zNjE2NSAxNi43MjY4IDcuMjYyNzIgMTYuNzIzMSA3LjE2MzU0QzE2LjcxOTMgNy4wNjQzNiAxNi42OTYgNi45NjY5MSAxNi42NTQzIDYuODc2ODNDMTYuNjEyNiA2Ljc4Njc1IDE2LjU1MzUgNi43MDU4MyAxNi40ODA0IDYuNjM4NzdMMTUuMzcyOSA1LjYyMjUySDE1LjM2OTFDMTUuMzUxNCA1LjYxOTAyIDE1LjMzMzEgNS42MTkwMiAxNS4zMTU0IDUuNjIyNTJDMTUuMjQ0OCA1LjYzNzIyIDE1LjE4MDYgNS42NzM0OCAxNS4xMzE2IDUuNzI2MjdDMTQuOTIyNyA1Ljk2MzA1IDE0LjY2ODcgNi4xNTU3OSAxNC4zODQ1IDYuMjkzMjNDMTQuMTAwMiA2LjQzMDY3IDEzLjc5MTQgNi41MTAwNSAxMy40NzYxIDYuNTI2NzNDMTMuMTYwOCA2LjU0MzQxIDEyLjg0NTMgNi40OTcwNCAxMi41NDgxIDYuMzkwMzVDMTIuMjUxIDYuMjgzNjYgMTEuOTc4IDYuMTE4NzkgMTEuNzQ1MyA1LjkwNTM3QzExLjUxMjYgNS42OTE5NSAxMS4zMjQ4IDUuNDM0MjggMTEuMTkyOSA1LjE0NzQyQzExLjA2MSA0Ljg2MDU1IDEwLjk4NzYgNC41NTAyNyAxMC45NzcgNC4yMzQ3QzEwLjk2NjQgMy45MTkxMyAxMS4wMTg4IDMuNjA0NjIgMTEuMTMxMiAzLjMwOTU2QzExLjI0MzYgMy4wMTQ0OSAxMS40MTM3IDIuNzQ0ODEgMTEuNjMxNiAyLjUxNjI3QzExLjY3OTcgMi40NjI2NCAxMS43MDk4IDIuMzk1MzUgMTEuNzE3OSAyLjMyMzc3QzExLjcyMDEgMi4zMDQ4OCAxMS43MTg0IDIuMjg1NzIgMTEuNzEyOSAyLjI2NzUyTDEwLjc5NjYgMS40Mjc1MlpNOS4wNTI4NiAwLjc0MjUyMkM5LjM3MTc2IDAuNDIzNjM4IDkuODAxNDUgMC4yNDAxNzQgMTAuMjUyMyAwLjIzMDM5M0MxMC43MDMyIDAuMjIwNjExIDExLjE0MDQgMC4zODUyNjggMTEuNDcyOSAwLjY5MDAyMkwxMi4zODkxIDEuNTMxMjdDMTIuNjYyOSAxLjc4MTI3IDEyLjczOTEgMi4xMjI1MiAxMi43MTQxIDIuNDEzNzdDMTIuNjg3OSAyLjcwMTI3IDEyLjU2MTYgMi45ODI1MiAxMi4zNjY2IDMuMTkzNzdDMTIuMjQ0NiAzLjMyNjkgMTIuMTQ5OSAzLjQ4Mjc2IDEyLjA4ODEgMy42NTI0NkMxMi4wMjYzIDMuODIyMTYgMTEuOTk4NSA0LjAwMjM3IDEyLjAwNjQgNC4xODI4MUMxMi4wMTQyIDQuMzYzMjUgMTIuMDU3NSA0LjU0MDM3IDEyLjEzMzggNC43MDQwN0MxMi4yMTAxIDQuODY3NzggMTIuMzE3OSA1LjAxNDg1IDEyLjQ1MSA1LjEzNjlDMTIuNTg0MSA1LjI1ODk0IDEyLjc0IDUuMzUzNTggMTIuOTA5NyA1LjQxNTM5QzEzLjA3OTQgNS40NzcyIDEzLjI1OTYgNS41MDQ5OCAxMy40NCA1LjQ5NzE0QzEzLjYyMDUgNS40ODkzMSAxMy43OTc2IDUuNDQ2MDEgMTMuOTYxMyA1LjM2OTcyQzE0LjEyNSA1LjI5MzQ0IDE0LjI3MjEgNS4xODU2NSAxNC4zOTQxIDUuMDUyNTJDMTQuNTg3OSA0Ljg0MDAyIDE0Ljg1NjYgNC42OTAwMiAxNS4xNDA0IDQuNjM4NzdDMTUuMzAwNCA0LjYwNjY1IDE1LjQ2NTYgNC42MTIxOCAxNS42MjMxIDQuNjU0OTJDMTUuNzgwNiA0LjY5NzY1IDE1LjkyNiA0Ljc3NjQzIDE2LjA0NzkgNC44ODUwMkwxNy4xNTY2IDUuOTAxMjdDMTcuMzI3MyA2LjA1NzkgMTcuNDY1MiA2LjI0Njg3IDE3LjU2MjMgNi40NTcyQzE3LjY1OTQgNi42Njc1NCAxNy43MTM4IDYuODk1MDcgMTcuNzIyMyA3LjEyNjU4QzE3LjczMDggNy4zNTgwOSAxNy42OTMyIDcuNTg4OTkgMTcuNjExOCA3LjgwNTg3QzE3LjUzMDMgOC4wMjI3NiAxNy40MDY2IDguMjIxMzEgMTcuMjQ3OSA4LjM5MDAyTDkuMDAwMzYgMTcuMTU1QzguODM5NzUgMTcuMzI1NyA4LjY0NjQ5IDE3LjQ2MjQgOC40MzIwNiAxNy41NTY5QzguMjE3NjMgMTcuNjUxNSA3Ljk4NjM4IDE3LjcwMiA3Ljc1MjA1IDE3LjcwNTVDNy41MTc3MSAxNy43MDkgNy4yODUwNiAxNy42NjU0IDcuMDY3OSAxNy41NzczQzYuODUwNzQgMTcuNDg5MiA2LjY1MzQ5IDE3LjM1ODMgNi40ODc4NiAxNy4xOTI1TDUuMzU3ODYgMTYuMDYyNUM0LjkyNDExIDE1LjYyODggNS4wMjkxMSAxNS4wMDM4IDUuMjc0MTEgMTQuNjM3NUM1LjQ0OTg4IDE0LjM3MzEgNS41Mjg3MSAxNC4wNTU5IDUuNDk3MiAxMy43NEM1LjQ2NTY5IDEzLjQyNCA1LjMyNTc5IDEzLjEyODcgNS4xMDEyNSAxMi45MDQxQzQuODc2NzIgMTIuNjc5NiA0LjU4MTM5IDEyLjUzOTcgNC4yNjU0MiAxMi41MDgyQzMuOTQ5NDUgMTIuNDc2NyAzLjYzMjMxIDEyLjU1NTUgMy4zNjc4NiAxMi43MzEzQzIuOTk5MTEgMTIuOTc1IDIuMzc1MzYgMTMuMDggMS45NDE2MSAxMi42NDVMMC43ODQxMTEgMTEuNDg3NUMwLjYyMTU4OSAxMS4zMjUgMC40OTI2NjkgMTEuMTMyMSAwLjQwNDcxMiAxMC45MTk4QzAuMzE2NzU1IDEwLjcwNzQgMC4yNzE0ODQgMTAuNDc5OCAwLjI3MTQ4NCAxMC4yNUMwLjI3MTQ4NCAxMC4wMjAyIDAuMzE2NzU1IDkuNzkyNjIgMC40MDQ3MTIgOS41ODAyOUMwLjQ5MjY2OSA5LjM2Nzk1IDAuNjIxNTg5IDkuMTc1MDMgMC43ODQxMTEgOS4wMTI1Mkw5LjA1Mjg2IDAuNzQyNTIyWlwiIHN0cm9rZT1cIiM2NjcwODVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPiB7e2lucHJvZ3Jlc3M/LnRpY2tldElkfX0gPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRyZSBqdXN0aWZ5LWNvbnRlbnQtY2VudHJlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJpbnByb2dyZXNzPy50aWNrZXRUeXBlID09PSAncmVmcmVzaHRpY2tldCdcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE3XCIgaGVpZ2h0PVwiMTRcIiB2aWV3Qm94PVwiMCAwIDE3IDE0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTUuOTQ2MDIgNC45ODg4MUwyLjY2NjAyIDYuMzM4ODFMMi4wMDYwMiA2LjA3ODgxTDAuNjY2MDE2IDIuODM4ODFMMS41ODYwMiAyLjQ1ODgxTDIuMzk2MDIgNC40MDg4MUMyLjkzOTc3IDMuMDQ4MDEgMy45Mjg3MiAxLjkxMTY5IDUuMjAxNDUgMS4xODUzMkM2LjQ3NDE5IDAuNDU4OTUxIDcuOTU1NTQgMC4xODU0MjYgOS40MDM3NSAwLjQwOTM4N0MxMC44NTIgMC42MzMzNDkgMTIuMTgxNSAxLjM0MTU3IDEzLjE3NTQgMi40MTg0NkMxNC4xNjkyIDMuNDk1MzUgMTQuNzY4NyA0Ljg3NzMyIDE0Ljg3NiA2LjMzODgxSDEzLjg3NkMxMy43NjE2IDUuMDkwMDggMTMuMjIyNCAzLjkxODM2IDEyLjM0ODQgMy4wMTkxOUMxMS40NzQzIDIuMTIwMDMgMTAuMzE4NCAxLjU0NzgxIDkuMDczNCAxLjM5ODA0QzcuODI4NDIgMS4yNDgyNiA2LjU2OTczIDEuNTMgNS41MDczOSAyLjE5NjIyQzQuNDQ1MDUgMi44NjI0NCAzLjY0MzMyIDMuODcyODQgMy4yMzYwMiA1LjA1ODgxTDUuNTU2MDIgNC4wNTg4MUw1Ljk0NjAyIDQuOTg4ODFaTTE0LjgwNiA3LjY2ODgxTDE2LjE0NiAxMC44OTg4TDE1LjIyNiAxMS4zMzg4TDE0LjQwNiA5LjMzODgxQzEzLjg1OCAxMC43MDQ5IDEyLjg2MTggMTEuODQ0MiAxMS41ODEgMTIuNTY5NkMxMC4zMDAxIDEzLjI5NSA4LjgxMDc3IDEzLjU2MzQgNy4zNTcyOCAxMy4zMzA5QzUuOTAzOCAxMy4wOTgzIDQuNTcyNTUgMTIuMzc4NiAzLjU4MiAxMS4yODk4QzIuNTkxNDUgMTAuMjAwOSAyLjAwMDQ2IDguODA3NzUgMS45MDYwMiA3LjMzODgxSDIuOTA2MDJWNi44Mzg4MUMyLjkwODgyIDguMTI2MjcgMy4zNjQwMiA5LjM3MTggNC4xOTIwMyAxMC4zNTc3QzUuMDIwMDUgMTEuMzQzNiA2LjE2ODIxIDEyLjAwNzEgNy40MzU4NCAxMi4yMzIyQzguNzAzNDYgMTIuNDU3NCAxMC4wMDk5IDEyLjIyOTkgMTEuMTI2OCAxMS41ODk1QzEyLjI0MzcgMTAuOTQ5MSAxMy4xIDkuOTM2NTUgMTMuNTQ2IDguNzI4ODFMMTEuMjk2IDkuNjU4ODFMMTAuOTA2IDguNzM4ODFMMTQuMTU2IDcuMzg4ODFMMTQuODA2IDcuNjY4ODFaXCIgZmlsbD1cIiM5OEEyQjNcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNOC40MDYyNSA3LjU0MDA0QzguOTU4NTMgNy41NDAwNCA5LjQwNjI1IDcuMDkyMzIgOS40MDYyNSA2LjU0MDA0QzkuNDA2MjUgNS45ODc3NSA4Ljk1ODUzIDUuNTQwMDQgOC40MDYyNSA1LjU0MDA0QzcuODUzOTcgNS41NDAwNCA3LjQwNjI1IDUuOTg3NzUgNy40MDYyNSA2LjU0MDA0QzcuNDA2MjUgNy4wOTIzMiA3Ljg1Mzk3IDcuNTQwMDQgOC40MDYyNSA3LjU0MDA0WlwiIGZpbGw9XCIjOThBMkIzXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJtcy0zXCIgKm5nSWY9XCJpbnByb2dyZXNzPy5pc3N1ZVN0YXR1cyAhPT0gJ25vdGlkZW50aWZpZWQnXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzgyN18xMjA2MSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTcuMjAwNjUgMTAuMzMzM0g5LjE1NjIxVjEyLjMzMzNINy4yMDA2NVYxMC4zMzMzWk05LjE1NjIxIDQuMzMzMjdINy4yMDA2NVY5LjMzMzI2SDkuMTU2MjFWNC4zMzMyN1pNMTAuNjIyOSA1LjgzMzI3TDkuNjQ1MSA2LjgzMzI3TDEyLjA4OTUgOS4zMzMyNkwxNi4wMDA3IDQuODMzMjdMMTUuMDIyOSAzLjgzMzI3TDEyLjA4OTUgNy4zMzMyNkwxMC42MjI5IDUuODMzMjdaTTguMTc4NDMgMTQuMDMzM0M2LjcwMTA4IDE0LjAzMDYgNS4yODQ5OSAxMy40MjkyIDQuMjQwMzQgMTIuMzYwOEMzLjE5NTcgMTEuMjkyNSAyLjYwNzY4IDkuODQ0MTggMi42MDUxIDguMzMzMjZDMi42MDUxIDUuMTkzMjcgNS4xMDgyMSAyLjYzMzI3IDguMTc4NDMgMi42MzMyN0M5Ljk2Nzc2IDIuNjMzMjcgMTEuNTUxOCAzLjUxMzI3IDEyLjU3ODQgNC44MzMyN0wxMy40NzggMy45MTMyN0MxMi44Mzk1IDMuMTA1MzQgMTIuMDMxOSAyLjQ1NDE1IDExLjExNDcgMi4wMDc2NUMxMC4xOTc2IDEuNTYxMTUgOS4xOTQxOSAxLjMzMDcgOC4xNzg0MyAxLjMzMzI3QzQuNDA0MjEgMS4zMzMyNyAxLjMzMzk4IDQuNDczMjcgMS4zMzM5OCA4LjMzMzI2QzEuMzMzOTggMTIuMTkzMyA0LjQwNDIxIDE1LjMzMzMgOC4xNzg0MyAxNS4zMzMzQzExLjk1MjcgMTUuMzMzMyAxNS4wMjI5IDEyLjE5MzMgMTUuMDIyOSA4LjMzMzI2TDEzLjUzNjcgOS44NTMyNkMxMi44OTEzIDEyLjI2MzMgMTAuNzQwMiAxNC4wNDMzIDguMTc4NDMgMTQuMDQzM1YxNC4wMzMzWlwiIGZpbGw9XCIjOThBMkIzXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8zODI3XzEyMDYxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJ3aGl0ZVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhaW5wcm9ncmVzcy5pc09wZW5cIiAoY2xpY2spPVwic2VsZWN0VmlldygkZXZlbnQsaW5kZXgsJ2lucHJvZ3Jlc3MnKVwiIGNsYXNzPVwibXMtM1wiPiA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIxXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIxIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMy4xNjYgMi41SDE4LjE2Nk0xOC4xNjYgMi41VjcuNU0xOC4xNjYgMi41TDEyLjMzMjcgOC4zMzMzM004LjE2NjAyIDE3LjVIMy4xNjYwMk0zLjE2NjAyIDE3LjVWMTIuNU0zLjE2NjAyIDE3LjVMOC45OTkzNSAxMS42NjY3XCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWlucHJvZ3Jlc3MuaXNPcGVuICYmIGlucHJvZ3Jlc3M/Lm5vdGlmaWNhdGlvblwiIGNsYXNzPVwicHJvZmlsZSBkLWZsZXggYWxpZ24taXRlbXMtY2VudHJlIGp1c3RpZnktY29udGVudC1jZW50cmUgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSW1hZ2VzL0JlbGxub3RpZmljYXRpb24ucG5nXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwhLS0gPGltZyAqbmdJZj1cImNhcmRWaWV3XCIgY2xhc3M9XCJwcm9maWxlIG1zLTNcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvZ3JvcG1vZGFsLnBuZ1wiIGFsdD1cIlwiPiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic3RhdHVzSW5wcm9ncmVzcz8ubGVuZ3RoID09PSAwIHx8ICFub0RhdGEgJiYgIWxvYWRpbmdcIiBjbGFzcz1cInctMTAwIG10LTEwIG1iLTEwIG1oLTYwdmggZC1ncmlkIHRleHQtY2VudGVyIG14LWF1dG9cIj4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwibXgtYXV0b1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ltYWdlcy90YWtldGlja2V0LnN2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0YWtldGlja2V0IG10LTIgZnctYm9sZFwiPk5vIEluLVByb2dyZXNzIFRpY2tldHMgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZz8uaW5wcm9ncmVzc1wiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJub0RhdGE/LmlucHJvZ3Jlc3NcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBtaC02MHZoIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJteC1hdXRvXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSW1hZ2VzL3Rha2V0aWNrZXQuc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGFrZXRpY2tldCBtdC01IGZ3LWJvbGRcIj5ObyBJbi1Qcm9ncmVzcyBUaWNrZXRzIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPiBcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLXNtLTRcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3LTEwMCBoLTEwMCByb3VuZGVkLTIgb3ZlcmZsb3ctaGlkZGVuXCIgKGNsaWNrKT1cInNlbGVjdFRpY2tldCgpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJhZGdlLWxpZ2h0LWRlZmF1bHQgcHgtMyBweS00XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPkNsb3NlZDwvc3Bhbj48c3BhbiAqbmdJZj1cInN0YXR1c0Nsb3NlZD8ubGVuZ3RoID4gMCAmJiAhbm9EYXRhLmNsb3NlZCAmJiAhbG9hZGluZy5jbG9zZWRcIiBjbGFzcz1cInJvdW5kZWQtNSBtcy0zIHB4LTEgYm9yZGVyIGJvcmRlci1ncmF5IGJvcmRlci1ncmF5IGJnLWJhZGdlXCI+e3tzdGF0dXNDbG9zZWQ/Lmxlbmd0aH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dib2R5IGgtMTAwIHB4LTQgcHktM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIW5vRGF0YS5jbG9zZWQgJiYgIWxvYWRpbmcuY2xvc2VkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBjbG9zZWQgb2Ygc3RhdHVzQ2xvc2VkOyBsZXQgaW5kZXggPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgW25nQ2xhc3NdPVwiY2xvc2VkLmlzT3BlbiA/ICdhY3RpdmUnOicnXCIgY2xhc3M9XCJpc3N1ZWNhcmQgY3Vyc29yLXBvaW50ZXIgdy0xMDAgbWItNVwiIChjbGljayk9XCJyb3V0ZXRvVGlja2V0KGNsb3NlZClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY2xvc2VkPy5pc09wZW5cIiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWItNVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZnctc2VtaWJvbGRcIj57e2Nsb3NlZD8uc3RvcmVJZH19PC9sYWJlbD48YnI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmdy1zZW1pYm9sZCBtLTJcIj57e2Nsb3NlZD8uc3RvcmVOYW1lID8gY2xvc2VkPy5zdG9yZU5hbWUgOictLSd9fTwvbGFiZWw+PGJyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgbXQtMlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1kZWZhdWx0IG1lLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyBjbGFzcz1cIm1lLTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZyBjbGlwLXBhdGg9XCJ1cmwoI2NsaXAwXzM3MzJfNjAyNzcpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTggMVYzTTQgMVYzTTEuNSA1SDEwLjVNMi41IDJIOS41QzEwLjA1MjMgMiAxMC41IDIuNDQ3NzIgMTAuNSAzVjEwQzEwLjUgMTAuNTUyMyAxMC4wNTIzIDExIDkuNSAxMUgyLjVDMS45NDc3MiAxMSAxLjUgMTAuNTUyMyAxLjUgMTBWM0MxLjUgMi40NDc3MiAxLjk0NzcyIDIgMi41IDJaXCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuMVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzczMl82MDI3N1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgZmlsbD1cIndoaXRlXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPiB7e2Nsb3NlZD8uRGF0ZX19XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJjbG9zZWQ/LmluZnJhSXNzdWVcIiBbbmdDbGFzc109XCJjbG9zZWQ/LmluZnJhSXNzdWUgPT09ICdMaXZlJz8gJ2JhZGdlIGJhZGdlLWxpZ2h0LXN1Y2Nlc3MnOicnXCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC13YXJuaW5nXCI+IHt7Y2xvc2VkPy5pbmZyYUlzc3VlfX0gPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidHlwZSA9PT0nZGF0YU1pc21hdGNoJ1wiIFtuZ0NsYXNzXT1cImNsb3NlZD8uaW5mcmFJc3N1ZSA9PT0gJ0xpdmUnPyAnYmFkZ2UgYmFkZ2UtbGlnaHQtc3VjY2Vzcyc6JydcIiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXdhcm5pbmdcIj57e2Nsb3NlZD8uaXNzdWVUeXBlID09PSAnaGlnaGNvdW50JyA/ICdIaWdoIENvdW50JyA6IChjbG9zZWQ/Lmlzc3VlVHlwZSA9PT0gJ2xvd2NvdW50JyA/ICdMb3cgQ291bnQnIDogJycpfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCIgZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiY2xvc2VkPy5ub3RpZmljYXRpb25cIiBjbGFzcz1cInByb2ZpbGUgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRyZSBqdXN0aWZ5LWNvbnRlbnQtY2VudHJlIG1lLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ltYWdlcy9CZWxsbm90aWZpY2F0aW9uLnBuZ1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKGNsaWNrKT1cInNlbGVjdFZpZXcoJGV2ZW50LGluZGV4LCdjbG9zZWQnKVwiPiA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIxXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIxIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzLjE2NiAyLjVIMTguMTY2TTE4LjE2NiAyLjVWNy41TTE4LjE2NiAyLjVMMTIuMzMyNyA4LjMzMzMzTTguMTY2MDIgMTcuNUgzLjE2NjAyTTMuMTY2MDIgMTcuNVYxMi41TTMuMTY2MDIgMTcuNUw4Ljk5OTM1IDExLjY2NjdcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHRleHQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPiAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiID4gXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIiBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+PHN2ZyBjbGFzcz1cIm1lLTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMC43OTY2IDEuNDI3NTJDMTAuNjU0MSAxLjI5NjgxIDEwLjQ2NjcgMS4yMjYxNyAxMC4yNzMzIDEuMjMwMzdDMTAuMDggMS4yMzQ1NiA5Ljg5NTggMS4zMTMyNSA5Ljc1OTExIDEuNDUwMDJMMS40ODkxMSA5LjcyMDAyQzEuNDE5MzggOS43ODk2OCAxLjM2NDA2IDkuODcyMzkgMS4zMjYzMiA5Ljk2MzQ0QzEuMjg4NTcgMTAuMDU0NSAxLjI2OTE1IDEwLjE1MjEgMS4yNjkxNSAxMC4yNTA2QzEuMjY5MTUgMTAuMzQ5MiAxLjI4ODU3IDEwLjQ0NjggMS4zMjYzMiAxMC41Mzc5QzEuMzY0MDYgMTAuNjI4OSAxLjQxOTM4IDEwLjcxMTYgMS40ODkxMSAxMC43ODEzTDIuNjQ2NjEgMTEuOTM4OEMyLjY1NjMyIDExLjk0MTggMi42NjY0NyAxMS45NDMgMi42NzY2MSAxMS45NDI1QzIuNzE0MTEgMTEuOTQyNSAyLjc2NDExIDExLjkyODggMi44MTE2MSAxMS44OTc1QzMuMjY4NDUgMTEuNTkyNyAzLjgxNjggMTEuNDU1NyA0LjM2MzMxIDExLjUwOTdDNC45MDk4MyAxMS41NjM3IDUuNDIwNzMgMTEuODA1NSA1LjgwOTA1IDEyLjE5MzhDNi4xOTczOCAxMi41ODIyIDYuNDM5MTMgMTMuMDkzMSA2LjQ5MzE2IDEzLjYzOTZDNi41NDcxOCAxNC4xODYxIDYuNDEwMTQgMTQuNzM0NCA2LjEwNTM2IDE1LjE5MTNDNi4wNzc5MiAxNS4yMzExIDYuMDYyMzEgMTUuMjc3OSA2LjA2MDM2IDE1LjMyNjNDNi4wNjAzNiAxNS4zNDI1IDYuMDYyODYgMTUuMzUxMyA2LjA2NDExIDE1LjM1NUw3LjE5NDExIDE2LjQ4NjNDNy4yNjUxMiAxNi41NTc0IDcuMzQ5NzEgMTYuNjEzNiA3LjQ0Mjg1IDE2LjY1MTRDNy41MzU5OSAxNi42ODkyIDcuNjM1NzkgMTYuNzA3OSA3LjczNjMgMTYuNzA2NEM3LjgzNjgyIDE2LjcwNDkgNy45MzYgMTYuNjgzMiA4LjAyNzk2IDE2LjY0MjZDOC4xMTk5MiAxNi42MDIgOC4yMDI3OCAxNi41NDMzIDguMjcxNjEgMTYuNDdMMTYuNTIwNCA3LjcwNTAyQzE2LjU4ODMgNy42MzI2NyAxNi42NDEyIDcuNTQ3NTUgMTYuNjc2IDcuNDU0NkMxNi43MTA4IDcuMzYxNjUgMTYuNzI2OCA3LjI2MjcyIDE2LjcyMzEgNy4xNjM1NEMxNi43MTkzIDcuMDY0MzYgMTYuNjk2IDYuOTY2OTEgMTYuNjU0MyA2Ljg3NjgzQzE2LjYxMjYgNi43ODY3NSAxNi41NTM1IDYuNzA1ODMgMTYuNDgwNCA2LjYzODc3TDE1LjM3MjkgNS42MjI1MkgxNS4zNjkxQzE1LjM1MTQgNS42MTkwMiAxNS4zMzMxIDUuNjE5MDIgMTUuMzE1NCA1LjYyMjUyQzE1LjI0NDggNS42MzcyMiAxNS4xODA2IDUuNjczNDggMTUuMTMxNiA1LjcyNjI3QzE0LjkyMjcgNS45NjMwNSAxNC42Njg3IDYuMTU1NzkgMTQuMzg0NSA2LjI5MzIzQzE0LjEwMDIgNi40MzA2NyAxMy43OTE0IDYuNTEwMDUgMTMuNDc2MSA2LjUyNjczQzEzLjE2MDggNi41NDM0MSAxMi44NDUzIDYuNDk3MDQgMTIuNTQ4MSA2LjM5MDM1QzEyLjI1MSA2LjI4MzY2IDExLjk3OCA2LjExODc5IDExLjc0NTMgNS45MDUzN0MxMS41MTI2IDUuNjkxOTUgMTEuMzI0OCA1LjQzNDI4IDExLjE5MjkgNS4xNDc0MkMxMS4wNjEgNC44NjA1NSAxMC45ODc2IDQuNTUwMjcgMTAuOTc3IDQuMjM0N0MxMC45NjY0IDMuOTE5MTMgMTEuMDE4OCAzLjYwNDYyIDExLjEzMTIgMy4zMDk1NkMxMS4yNDM2IDMuMDE0NDkgMTEuNDEzNyAyLjc0NDgxIDExLjYzMTYgMi41MTYyN0MxMS42Nzk3IDIuNDYyNjQgMTEuNzA5OCAyLjM5NTM1IDExLjcxNzkgMi4zMjM3N0MxMS43MjAxIDIuMzA0ODggMTEuNzE4NCAyLjI4NTcyIDExLjcxMjkgMi4yNjc1MkwxMC43OTY2IDEuNDI3NTJaTTkuMDUyODYgMC43NDI1MjJDOS4zNzE3NiAwLjQyMzYzOCA5LjgwMTQ1IDAuMjQwMTc0IDEwLjI1MjMgMC4yMzAzOTNDMTAuNzAzMiAwLjIyMDYxMSAxMS4xNDA0IDAuMzg1MjY4IDExLjQ3MjkgMC42OTAwMjJMMTIuMzg5MSAxLjUzMTI3QzEyLjY2MjkgMS43ODEyNyAxMi43MzkxIDIuMTIyNTIgMTIuNzE0MSAyLjQxMzc3QzEyLjY4NzkgMi43MDEyNyAxMi41NjE2IDIuOTgyNTIgMTIuMzY2NiAzLjE5Mzc3QzEyLjI0NDYgMy4zMjY5IDEyLjE0OTkgMy40ODI3NiAxMi4wODgxIDMuNjUyNDZDMTIuMDI2MyAzLjgyMjE2IDExLjk5ODUgNC4wMDIzNyAxMi4wMDY0IDQuMTgyODFDMTIuMDE0MiA0LjM2MzI1IDEyLjA1NzUgNC41NDAzNyAxMi4xMzM4IDQuNzA0MDdDMTIuMjEwMSA0Ljg2Nzc4IDEyLjMxNzkgNS4wMTQ4NSAxMi40NTEgNS4xMzY5QzEyLjU4NDEgNS4yNTg5NCAxMi43NCA1LjM1MzU4IDEyLjkwOTcgNS40MTUzOUMxMy4wNzk0IDUuNDc3MiAxMy4yNTk2IDUuNTA0OTggMTMuNDQgNS40OTcxNEMxMy42MjA1IDUuNDg5MzEgMTMuNzk3NiA1LjQ0NjAxIDEzLjk2MTMgNS4zNjk3MkMxNC4xMjUgNS4yOTM0NCAxNC4yNzIxIDUuMTg1NjUgMTQuMzk0MSA1LjA1MjUyQzE0LjU4NzkgNC44NDAwMiAxNC44NTY2IDQuNjkwMDIgMTUuMTQwNCA0LjYzODc3QzE1LjMwMDQgNC42MDY2NSAxNS40NjU2IDQuNjEyMTggMTUuNjIzMSA0LjY1NDkyQzE1Ljc4MDYgNC42OTc2NSAxNS45MjYgNC43NzY0MyAxNi4wNDc5IDQuODg1MDJMMTcuMTU2NiA1LjkwMTI3QzE3LjMyNzMgNi4wNTc5IDE3LjQ2NTIgNi4yNDY4NyAxNy41NjIzIDYuNDU3MkMxNy42NTk0IDYuNjY3NTQgMTcuNzEzOCA2Ljg5NTA3IDE3LjcyMjMgNy4xMjY1OEMxNy43MzA4IDcuMzU4MDkgMTcuNjkzMiA3LjU4ODk5IDE3LjYxMTggNy44MDU4N0MxNy41MzAzIDguMDIyNzYgMTcuNDA2NiA4LjIyMTMxIDE3LjI0NzkgOC4zOTAwMkw5LjAwMDM2IDE3LjE1NUM4LjgzOTc1IDE3LjMyNTcgOC42NDY0OSAxNy40NjI0IDguNDMyMDYgMTcuNTU2OUM4LjIxNzYzIDE3LjY1MTUgNy45ODYzOCAxNy43MDIgNy43NTIwNSAxNy43MDU1QzcuNTE3NzEgMTcuNzA5IDcuMjg1MDYgMTcuNjY1NCA3LjA2NzkgMTcuNTc3M0M2Ljg1MDc0IDE3LjQ4OTIgNi42NTM0OSAxNy4zNTgzIDYuNDg3ODYgMTcuMTkyNUw1LjM1Nzg2IDE2LjA2MjVDNC45MjQxMSAxNS42Mjg4IDUuMDI5MTEgMTUuMDAzOCA1LjI3NDExIDE0LjYzNzVDNS40NDk4OCAxNC4zNzMxIDUuNTI4NzEgMTQuMDU1OSA1LjQ5NzIgMTMuNzRDNS40NjU2OSAxMy40MjQgNS4zMjU3OSAxMy4xMjg3IDUuMTAxMjUgMTIuOTA0MUM0Ljg3NjcyIDEyLjY3OTYgNC41ODEzOSAxMi41Mzk3IDQuMjY1NDIgMTIuNTA4MkMzLjk0OTQ1IDEyLjQ3NjcgMy42MzIzMSAxMi41NTU1IDMuMzY3ODYgMTIuNzMxM0MyLjk5OTExIDEyLjk3NSAyLjM3NTM2IDEzLjA4IDEuOTQxNjEgMTIuNjQ1TDAuNzg0MTExIDExLjQ4NzVDMC42MjE1ODkgMTEuMzI1IDAuNDkyNjY5IDExLjEzMjEgMC40MDQ3MTIgMTAuOTE5OEMwLjMxNjc1NSAxMC43MDc0IDAuMjcxNDg0IDEwLjQ3OTggMC4yNzE0ODQgMTAuMjVDMC4yNzE0ODQgMTAuMDIwMiAwLjMxNjc1NSA5Ljc5MjYyIDAuNDA0NzEyIDkuNTgwMjlDMC40OTI2NjkgOS4zNjc5NSAwLjYyMTU4OSA5LjE3NTAzIDAuNzg0MTExIDkuMDEyNTJMOS4wNTI4NiAwLjc0MjUyMlpcIiBmaWxsPVwiIzY2NzA4NVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEwLjc5NjYgMS40Mjc1MkMxMC42NTQxIDEuMjk2ODEgMTAuNDY2NyAxLjIyNjE3IDEwLjI3MzMgMS4yMzAzN0MxMC4wOCAxLjIzNDU2IDkuODk1OCAxLjMxMzI1IDkuNzU5MTEgMS40NTAwMkwxLjQ4OTExIDkuNzIwMDJDMS40MTkzOCA5Ljc4OTY4IDEuMzY0MDYgOS44NzIzOSAxLjMyNjMyIDkuOTYzNDRDMS4yODg1NyAxMC4wNTQ1IDEuMjY5MTUgMTAuMTUyMSAxLjI2OTE1IDEwLjI1MDZDMS4yNjkxNSAxMC4zNDkyIDEuMjg4NTcgMTAuNDQ2OCAxLjMyNjMyIDEwLjUzNzlDMS4zNjQwNiAxMC42Mjg5IDEuNDE5MzggMTAuNzExNiAxLjQ4OTExIDEwLjc4MTNMMi42NDY2MSAxMS45Mzg4QzIuNjU2MzIgMTEuOTQxOCAyLjY2NjQ3IDExLjk0MyAyLjY3NjYxIDExLjk0MjVDMi43MTQxMSAxMS45NDI1IDIuNzY0MTEgMTEuOTI4OCAyLjgxMTYxIDExLjg5NzVDMy4yNjg0NSAxMS41OTI3IDMuODE2OCAxMS40NTU3IDQuMzYzMzEgMTEuNTA5N0M0LjkwOTgzIDExLjU2MzcgNS40MjA3MyAxMS44MDU1IDUuODA5MDUgMTIuMTkzOEM2LjE5NzM4IDEyLjU4MjIgNi40MzkxMyAxMy4wOTMxIDYuNDkzMTYgMTMuNjM5NkM2LjU0NzE4IDE0LjE4NjEgNi40MTAxNCAxNC43MzQ0IDYuMTA1MzYgMTUuMTkxM0M2LjA3NzkyIDE1LjIzMTEgNi4wNjIzMSAxNS4yNzc5IDYuMDYwMzYgMTUuMzI2M0M2LjA2MDM2IDE1LjM0MjUgNi4wNjI4NiAxNS4zNTEzIDYuMDY0MTEgMTUuMzU1TDcuMTk0MTEgMTYuNDg2M0M3LjI2NTEyIDE2LjU1NzQgNy4zNDk3MSAxNi42MTM2IDcuNDQyODUgMTYuNjUxNEM3LjUzNTk5IDE2LjY4OTIgNy42MzU3OSAxNi43MDc5IDcuNzM2MyAxNi43MDY0QzcuODM2ODIgMTYuNzA0OSA3LjkzNiAxNi42ODMyIDguMDI3OTYgMTYuNjQyNkM4LjExOTkyIDE2LjYwMiA4LjIwMjc4IDE2LjU0MzMgOC4yNzE2MSAxNi40N0wxNi41MjA0IDcuNzA1MDJDMTYuNTg4MyA3LjYzMjY3IDE2LjY0MTIgNy41NDc1NSAxNi42NzYgNy40NTQ2QzE2LjcxMDggNy4zNjE2NSAxNi43MjY4IDcuMjYyNzIgMTYuNzIzMSA3LjE2MzU0QzE2LjcxOTMgNy4wNjQzNiAxNi42OTYgNi45NjY5MSAxNi42NTQzIDYuODc2ODNDMTYuNjEyNiA2Ljc4Njc1IDE2LjU1MzUgNi43MDU4MyAxNi40ODA0IDYuNjM4NzdMMTUuMzcyOSA1LjYyMjUySDE1LjM2OTFDMTUuMzUxNCA1LjYxOTAyIDE1LjMzMzEgNS42MTkwMiAxNS4zMTU0IDUuNjIyNTJDMTUuMjQ0OCA1LjYzNzIyIDE1LjE4MDYgNS42NzM0OCAxNS4xMzE2IDUuNzI2MjdDMTQuOTIyNyA1Ljk2MzA1IDE0LjY2ODcgNi4xNTU3OSAxNC4zODQ1IDYuMjkzMjNDMTQuMTAwMiA2LjQzMDY3IDEzLjc5MTQgNi41MTAwNSAxMy40NzYxIDYuNTI2NzNDMTMuMTYwOCA2LjU0MzQxIDEyLjg0NTMgNi40OTcwNCAxMi41NDgxIDYuMzkwMzVDMTIuMjUxIDYuMjgzNjYgMTEuOTc4IDYuMTE4NzkgMTEuNzQ1MyA1LjkwNTM3QzExLjUxMjYgNS42OTE5NSAxMS4zMjQ4IDUuNDM0MjggMTEuMTkyOSA1LjE0NzQyQzExLjA2MSA0Ljg2MDU1IDEwLjk4NzYgNC41NTAyNyAxMC45NzcgNC4yMzQ3QzEwLjk2NjQgMy45MTkxMyAxMS4wMTg4IDMuNjA0NjIgMTEuMTMxMiAzLjMwOTU2QzExLjI0MzYgMy4wMTQ0OSAxMS40MTM3IDIuNzQ0ODEgMTEuNjMxNiAyLjUxNjI3QzExLjY3OTcgMi40NjI2NCAxMS43MDk4IDIuMzk1MzUgMTEuNzE3OSAyLjMyMzc3QzExLjcyMDEgMi4zMDQ4OCAxMS43MTg0IDIuMjg1NzIgMTEuNzEyOSAyLjI2NzUyTDEwLjc5NjYgMS40Mjc1MlpNOS4wNTI4NiAwLjc0MjUyMkM5LjM3MTc2IDAuNDIzNjM4IDkuODAxNDUgMC4yNDAxNzQgMTAuMjUyMyAwLjIzMDM5M0MxMC43MDMyIDAuMjIwNjExIDExLjE0MDQgMC4zODUyNjggMTEuNDcyOSAwLjY5MDAyMkwxMi4zODkxIDEuNTMxMjdDMTIuNjYyOSAxLjc4MTI3IDEyLjczOTEgMi4xMjI1MiAxMi43MTQxIDIuNDEzNzdDMTIuNjg3OSAyLjcwMTI3IDEyLjU2MTYgMi45ODI1MiAxMi4zNjY2IDMuMTkzNzdDMTIuMjQ0NiAzLjMyNjkgMTIuMTQ5OSAzLjQ4Mjc2IDEyLjA4ODEgMy42NTI0NkMxMi4wMjYzIDMuODIyMTYgMTEuOTk4NSA0LjAwMjM3IDEyLjAwNjQgNC4xODI4MUMxMi4wMTQyIDQuMzYzMjUgMTIuMDU3NSA0LjU0MDM3IDEyLjEzMzggNC43MDQwN0MxMi4yMTAxIDQuODY3NzggMTIuMzE3OSA1LjAxNDg1IDEyLjQ1MSA1LjEzNjlDMTIuNTg0MSA1LjI1ODk0IDEyLjc0IDUuMzUzNTggMTIuOTA5NyA1LjQxNTM5QzEzLjA3OTQgNS40NzcyIDEzLjI1OTYgNS41MDQ5OCAxMy40NCA1LjQ5NzE0QzEzLjYyMDUgNS40ODkzMSAxMy43OTc2IDUuNDQ2MDEgMTMuOTYxMyA1LjM2OTcyQzE0LjEyNSA1LjI5MzQ0IDE0LjI3MjEgNS4xODU2NSAxNC4zOTQxIDUuMDUyNTJDMTQuNTg3OSA0Ljg0MDAyIDE0Ljg1NjYgNC42OTAwMiAxNS4xNDA0IDQuNjM4NzdDMTUuMzAwNCA0LjYwNjY1IDE1LjQ2NTYgNC42MTIxOCAxNS42MjMxIDQuNjU0OTJDMTUuNzgwNiA0LjY5NzY1IDE1LjkyNiA0Ljc3NjQzIDE2LjA0NzkgNC44ODUwMkwxNy4xNTY2IDUuOTAxMjdDMTcuMzI3MyA2LjA1NzkgMTcuNDY1MiA2LjI0Njg3IDE3LjU2MjMgNi40NTcyQzE3LjY1OTQgNi42Njc1NCAxNy43MTM4IDYuODk1MDcgMTcuNzIyMyA3LjEyNjU4QzE3LjczMDggNy4zNTgwOSAxNy42OTMyIDcuNTg4OTkgMTcuNjExOCA3LjgwNTg3QzE3LjUzMDMgOC4wMjI3NiAxNy40MDY2IDguMjIxMzEgMTcuMjQ3OSA4LjM5MDAyTDkuMDAwMzYgMTcuMTU1QzguODM5NzUgMTcuMzI1NyA4LjY0NjQ5IDE3LjQ2MjQgOC40MzIwNiAxNy41NTY5QzguMjE3NjMgMTcuNjUxNSA3Ljk4NjM4IDE3LjcwMiA3Ljc1MjA1IDE3LjcwNTVDNy41MTc3MSAxNy43MDkgNy4yODUwNiAxNy42NjU0IDcuMDY3OSAxNy41NzczQzYuODUwNzQgMTcuNDg5MiA2LjY1MzQ5IDE3LjM1ODMgNi40ODc4NiAxNy4xOTI1TDUuMzU3ODYgMTYuMDYyNUM0LjkyNDExIDE1LjYyODggNS4wMjkxMSAxNS4wMDM4IDUuMjc0MTEgMTQuNjM3NUM1LjQ0OTg4IDE0LjM3MzEgNS41Mjg3MSAxNC4wNTU5IDUuNDk3MiAxMy43NEM1LjQ2NTY5IDEzLjQyNCA1LjMyNTc5IDEzLjEyODcgNS4xMDEyNSAxMi45MDQxQzQuODc2NzIgMTIuNjc5NiA0LjU4MTM5IDEyLjUzOTcgNC4yNjU0MiAxMi41MDgyQzMuOTQ5NDUgMTIuNDc2NyAzLjYzMjMxIDEyLjU1NTUgMy4zNjc4NiAxMi43MzEzQzIuOTk5MTEgMTIuOTc1IDIuMzc1MzYgMTMuMDggMS45NDE2MSAxMi42NDVMMC43ODQxMTEgMTEuNDg3NUMwLjYyMTU4OSAxMS4zMjUgMC40OTI2NjkgMTEuMTMyMSAwLjQwNDcxMiAxMC45MTk4QzAuMzE2NzU1IDEwLjcwNzQgMC4yNzE0ODQgMTAuNDc5OCAwLjI3MTQ4NCAxMC4yNUMwLjI3MTQ4NCAxMC4wMjAyIDAuMzE2NzU1IDkuNzkyNjIgMC40MDQ3MTIgOS41ODAyOUMwLjQ5MjY2OSA5LjM2Nzk1IDAuNjIxNTg5IDkuMTc1MDMgMC43ODQxMTEgOS4wMTI1Mkw5LjA1Mjg2IDAuNzQyNTIyWlwiIHN0cm9rZT1cIiM2NjcwODVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+IHt7Y2xvc2VkLnRpY2tldElkfX0gPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRyZSBqdXN0aWZ5LWNvbnRlbnQtY2VudHJlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNsb3NlZD8udGlja2V0VHlwZSA9PT0gJ3JlZnJlc2h0aWNrZXQnXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxN1wiIGhlaWdodD1cIjE0XCIgdmlld0JveD1cIjAgMCAxNyAxNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZmlsbC1ydWxlPVwiZXZlbm9kZFwiIGNsaXAtcnVsZT1cImV2ZW5vZGRcIiBkPVwiTTUuOTQ2MDIgNC45ODg4MUwyLjY2NjAyIDYuMzM4ODFMMi4wMDYwMiA2LjA3ODgxTDAuNjY2MDE2IDIuODM4ODFMMS41ODYwMiAyLjQ1ODgxTDIuMzk2MDIgNC40MDg4MUMyLjkzOTc3IDMuMDQ4MDEgMy45Mjg3MiAxLjkxMTY5IDUuMjAxNDUgMS4xODUzMkM2LjQ3NDE5IDAuNDU4OTUxIDcuOTU1NTQgMC4xODU0MjYgOS40MDM3NSAwLjQwOTM4N0MxMC44NTIgMC42MzMzNDkgMTIuMTgxNSAxLjM0MTU3IDEzLjE3NTQgMi40MTg0NkMxNC4xNjkyIDMuNDk1MzUgMTQuNzY4NyA0Ljg3NzMyIDE0Ljg3NiA2LjMzODgxSDEzLjg3NkMxMy43NjE2IDUuMDkwMDggMTMuMjIyNCAzLjkxODM2IDEyLjM0ODQgMy4wMTkxOUMxMS40NzQzIDIuMTIwMDMgMTAuMzE4NCAxLjU0NzgxIDkuMDczNCAxLjM5ODA0QzcuODI4NDIgMS4yNDgyNiA2LjU2OTczIDEuNTMgNS41MDczOSAyLjE5NjIyQzQuNDQ1MDUgMi44NjI0NCAzLjY0MzMyIDMuODcyODQgMy4yMzYwMiA1LjA1ODgxTDUuNTU2MDIgNC4wNTg4MUw1Ljk0NjAyIDQuOTg4ODFaTTE0LjgwNiA3LjY2ODgxTDE2LjE0NiAxMC44OTg4TDE1LjIyNiAxMS4zMzg4TDE0LjQwNiA5LjMzODgxQzEzLjg1OCAxMC43MDQ5IDEyLjg2MTggMTEuODQ0MiAxMS41ODEgMTIuNTY5NkMxMC4zMDAxIDEzLjI5NSA4LjgxMDc3IDEzLjU2MzQgNy4zNTcyOCAxMy4zMzA5QzUuOTAzOCAxMy4wOTgzIDQuNTcyNTUgMTIuMzc4NiAzLjU4MiAxMS4yODk4QzIuNTkxNDUgMTAuMjAwOSAyLjAwMDQ2IDguODA3NzUgMS45MDYwMiA3LjMzODgxSDIuOTA2MDJWNi44Mzg4MUMyLjkwODgyIDguMTI2MjcgMy4zNjQwMiA5LjM3MTggNC4xOTIwMyAxMC4zNTc3QzUuMDIwMDUgMTEuMzQzNiA2LjE2ODIxIDEyLjAwNzEgNy40MzU4NCAxMi4yMzIyQzguNzAzNDYgMTIuNDU3NCAxMC4wMDk5IDEyLjIyOTkgMTEuMTI2OCAxMS41ODk1QzEyLjI0MzcgMTAuOTQ5MSAxMy4xIDkuOTM2NTUgMTMuNTQ2IDguNzI4ODFMMTEuMjk2IDkuNjU4ODFMMTAuOTA2IDguNzM4ODFMMTQuMTU2IDcuMzg4ODFMMTQuODA2IDcuNjY4ODFaXCIgZmlsbD1cIiM5OEEyQjNcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk04LjQwNjI1IDcuNTQwMDRDOC45NTg1MyA3LjU0MDA0IDkuNDA2MjUgNy4wOTIzMiA5LjQwNjI1IDYuNTQwMDRDOS40MDYyNSA1Ljk4Nzc1IDguOTU4NTMgNS41NDAwNCA4LjQwNjI1IDUuNTQwMDRDNy44NTM5NyA1LjU0MDA0IDcuNDA2MjUgNS45ODc3NSA3LjQwNjI1IDYuNTQwMDRDNy40MDYyNSA3LjA5MjMyIDcuODUzOTcgNy41NDAwNCA4LjQwNjI1IDcuNTQwMDRaXCIgZmlsbD1cIiM5OEEyQjNcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNsb3NlZD8uaXNzdWVTdGF0dXMgIT09ICdub3RpZGVudGlmaWVkJ1wiIGNsYXNzPVwibXMtM1wiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIHZpZXdCb3g9XCIwIDAgMTYgMTZcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzgyN18xMjA2MSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNNy4yMDA2NSAxMC4zMzMzSDkuMTU2MjFWMTIuMzMzM0g3LjIwMDY1VjEwLjMzMzNaTTkuMTU2MjEgNC4zMzMyN0g3LjIwMDY1VjkuMzMzMjZIOS4xNTYyMVY0LjMzMzI3Wk0xMC42MjI5IDUuODMzMjdMOS42NDUxIDYuODMzMjdMMTIuMDg5NSA5LjMzMzI2TDE2LjAwMDcgNC44MzMyN0wxNS4wMjI5IDMuODMzMjdMMTIuMDg5NSA3LjMzMzI2TDEwLjYyMjkgNS44MzMyN1pNOC4xNzg0MyAxNC4wMzMzQzYuNzAxMDggMTQuMDMwNiA1LjI4NDk5IDEzLjQyOTIgNC4yNDAzNCAxMi4zNjA4QzMuMTk1NyAxMS4yOTI1IDIuNjA3NjggOS44NDQxOCAyLjYwNTEgOC4zMzMyNkMyLjYwNTEgNS4xOTMyNyA1LjEwODIxIDIuNjMzMjcgOC4xNzg0MyAyLjYzMzI3QzkuOTY3NzYgMi42MzMyNyAxMS41NTE4IDMuNTEzMjcgMTIuNTc4NCA0LjgzMzI3TDEzLjQ3OCAzLjkxMzI3QzEyLjgzOTUgMy4xMDUzNCAxMi4wMzE5IDIuNDU0MTUgMTEuMTE0NyAyLjAwNzY1QzEwLjE5NzYgMS41NjExNSA5LjE5NDE5IDEuMzMwNyA4LjE3ODQzIDEuMzMzMjdDNC40MDQyMSAxLjMzMzI3IDEuMzMzOTggNC40NzMyNyAxLjMzMzk4IDguMzMzMjZDMS4zMzM5OCAxMi4xOTMzIDQuNDA0MjEgMTUuMzMzMyA4LjE3ODQzIDE1LjMzMzNDMTEuOTUyNyAxNS4zMzMzIDE1LjAyMjkgMTIuMTkzMyAxNS4wMjI5IDguMzMzMjZMMTMuNTM2NyA5Ljg1MzI2QzEyLjg5MTMgMTIuMjYzMyAxMC43NDAyIDE0LjA0MzMgOC4xNzg0MyAxNC4wNDMzVjE0LjAzMzNaXCIgZmlsbD1cIiM5OEEyQjNcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzM4MjdfMTIwNjFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiBmaWxsPVwid2hpdGVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9jbGlwUGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCIhY2xvc2VkLmlzT3BlblwiIChjbGljayk9XCJzZWxlY3RWaWV3KCRldmVudCxpbmRleCwnY2xvc2VkJylcIiBjbGFzcz1cIm1zLTNcIj4gPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyMVwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMSAyMFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMy4xNjYgMi41SDE4LjE2Nk0xOC4xNjYgMi41VjcuNU0xOC4xNjYgMi41TDEyLjMzMjcgOC4zMzMzM004LjE2NjAyIDE3LjVIMy4xNjYwMk0zLjE2NjAyIDE3LjVWMTIuNU0zLjE2NjAyIDE3LjVMOC45OTkzNSAxMS42NjY3XCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFjbG9zZWQuaXNPcGVuICYmIGNsb3NlZD8ubm90aWZpY2F0aW9uXCIgY2xhc3M9XCJwcm9maWxlIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50cmUganVzdGlmeS1jb250ZW50LWNlbnRyZSBtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cIlwiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ltYWdlcy9CZWxsbm90aWZpY2F0aW9uLnBuZ1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8aW1nICpuZ0lmPVwiY2FyZFZpZXdcIiBjbGFzcz1cInByb2ZpbGUgbXMtM1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ltYWdlcy9ncm9wbW9kYWwucG5nXCIgYWx0PVwiXCI+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic3RhdHVzQ2xvc2VkPy5sZW5ndGggPT09IDAgfHwgIW5vRGF0YSAmJiAhbG9hZGluZ1wiIGNsYXNzPVwidy0xMDAgbXQtMTAgbWItMTAgbWgtNjB2aCBkLWdyaWQgdGV4dC1jZW50ZXIgbXgtYXV0b1wiPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwibXgtYXV0b1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ltYWdlcy90YWtldGlja2V0LnN2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGFrZXRpY2tldCBtdC01IGZ3LWJvbGRcIj5ObyBDbG9zZWQgVGlja2V0czwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImxvYWRpbmc/LmNsb3NlZFwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibm9EYXRhPy5jbG9zZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgcm93Ym9keVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IG1oLTYwdmggZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwibXgtYXV0b1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ltYWdlcy90YWtldGlja2V0LnN2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRha2V0aWNrZXQgbXQtNSBmdy1ib2xkXCI+Tm8gQ2xvc2VkIFRpY2tldHMgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj4gXHJcblxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+IFxyXG48L2Rpdj5cclxuPGRpdiAqbmdJZj1cInVzZXJEYXRhID09PSAnSGlzdG9yeSdcIj5cclxuPGRpdiAqbmdJZj1cInR5cGUgPT09ICdpbnN0YWxsYXRpb24nIHx8IHR5cGUgPT09ICdpbmZyYScgfHwgdHlwZSA9PT0gJ2RhdGFNaXNtYXRjaCdcIiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICA8ZGl2ICpuZ0lmPVwiIWhpc3RvcnlMb2FkaW5nICYmICFoaXN0b3J5Tm9kYXRhXCI+XHJcbiAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcmVzcG9uc2l2ZVwiPlxyXG4gICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZSBib3R0b20tYm9yZGVyXCI+XHJcbiAgICAgICAgICAgICAgICA8dGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGg+PGRpdiAoY2xpY2spPVwic29ydERhdGEoJ2lzc3VlRGF0ZScpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDcmVhdGVkIG9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRDb2x1bU5hbWUgPT09ICdpc3N1ZURhdGUnICYmIHNvcnRCeSAhPT0gMSB8fCBzb3J0Q29sdW1OYW1lICE9PSAnaXNzdWVEYXRlJyBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02LjAwMDE2IDEuMzMzMzdWMTAuNjY2N002LjAwMDE2IDEwLjY2NjdMMTAuNjY2OCA2LjAwMDA0TTYuMDAwMTYgMTAuNjY2N0wxLjMzMzUgNi4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0Q29sdW1OYW1lID09PSAnaXNzdWVEYXRlJyAmJiBzb3J0QnkgIT09IDEgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydENvbHVtTmFtZSA9PT0gJ2lzc3VlRGF0ZScgJiYgc29ydEJ5ICE9PSAtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwMTYgMTAuNjY2N0w2LjAwMDE2IDEuMzMzMzdNNi4wMDAxNiAxLjMzMzM3TDEuMzMzNSA2LjAwMDA0TTYuMDAwMTYgMS4zMzMzN0wxMC42NjY4IDYuMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydENvbHVtTmFtZSA9PT0gJ2lzc3VlRGF0ZScgJiYgc29ydEJ5ICE9PSAtMSA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoPjxkaXYgKGNsaWNrKT1cInNvcnREYXRhKCd0aWNrZXRJZCcpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaWNrZXQgSURcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydENvbHVtTmFtZSA9PT0gJ3RpY2tldElkJyAmJiBzb3J0QnkgIT09IDEgfHwgc29ydENvbHVtTmFtZSAhPT0gJ3RpY2tldElkJyBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02LjAwMDE2IDEuMzMzMzdWMTAuNjY2N002LjAwMDE2IDEwLjY2NjdMMTAuNjY2OCA2LjAwMDA0TTYuMDAwMTYgMTAuNjY2N0wxLjMzMzUgNi4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0Q29sdW1OYW1lID09PSAndGlja2V0SWQnICYmIHNvcnRCeSAhPT0gMSA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0Q29sdW1OYW1lID09PSAndGlja2V0SWQnICYmIHNvcnRCeSAhPT0gLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02LjAwMDE2IDEwLjY2NjdMNi4wMDAxNiAxLjMzMzM3TTYuMDAwMTYgMS4zMzMzN0wxLjMzMzUgNi4wMDAwNE02LjAwMDE2IDEuMzMzMzdMMTAuNjY2OCA2LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRDb2x1bU5hbWUgPT09ICd0aWNrZXRJZCcgJiYgc29ydEJ5ICE9PSAtMSA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoPjxkaXYgKGNsaWNrKT1cInNvcnREYXRhKCdjbGllbnROYW1lJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJyYW5kIE5hbWVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydENvbHVtTmFtZSA9PT0gJ2NsaWVudE5hbWUnICYmIHNvcnRCeSAhPT0gMSB8fCBzb3J0Q29sdW1OYW1lICE9PSAnY2xpZW50TmFtZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02LjAwMDE2IDEuMzMzMzdWMTAuNjY2N002LjAwMDE2IDEwLjY2NjdMMTAuNjY2OCA2LjAwMDA0TTYuMDAwMTYgMTAuNjY2N0wxLjMzMzUgNi4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0Q29sdW1OYW1lID09PSAnY2xpZW50TmFtZScgJiYgc29ydEJ5ICE9PSAxID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRDb2x1bU5hbWUgPT09ICdjbGllbnROYW1lJyAmJiBzb3J0QnkgIT09IC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNi4wMDAxNiAxMC42NjY3TDYuMDAwMTYgMS4zMzMzN002LjAwMDE2IDEuMzMzMzdMMS4zMzM1IDYuMDAwMDRNNi4wMDAxNiAxLjMzMzM3TDEwLjY2NjggNi4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0Q29sdW1OYW1lID09PSAnY2xpZW50TmFtZScgJiYgc29ydEJ5ICE9PSAtMSA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoPjxkaXYgKGNsaWNrKT1cInNvcnREYXRhKCdjbGllbnRJZCcpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBCcmFuZCBJRFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0Q29sdW1OYW1lID09PSAnY2xpZW50SWQnICYmIHNvcnRCeSAhPT0gMSB8fCBzb3J0Q29sdW1OYW1lICE9PSAnY2xpZW50SWQnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNi4wMDAxNiAxLjMzMzM3VjEwLjY2NjdNNi4wMDAxNiAxMC42NjY3TDEwLjY2NjggNi4wMDAwNE02LjAwMDE2IDEwLjY2NjdMMS4zMzM1IDYuMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydENvbHVtTmFtZSA9PT0gJ2NsaWVudElkJyAmJiBzb3J0QnkgIT09IDEgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydENvbHVtTmFtZSA9PT0gJ2NsaWVudElkJyAmJiBzb3J0QnkgIT09IC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNi4wMDAxNiAxMC42NjY3TDYuMDAwMTYgMS4zMzMzN002LjAwMDE2IDEuMzMzMzdMMS4zMzM1IDYuMDAwMDRNNi4wMDAxNiAxLjMzMzM3TDEwLjY2NjggNi4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0Q29sdW1OYW1lID09PSAnY2xpZW50SWQnICYmIHNvcnRCeSAhPT0gLTEgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aD48ZGl2IChjbGljayk9XCJzb3J0RGF0YSgnc3RvcmVOYW1lJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIE5hbWVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydENvbHVtTmFtZSA9PT0gJ3N0b3JlTmFtZScgJiYgc29ydEJ5ICE9PSAxIHx8IHNvcnRDb2x1bU5hbWUgIT09ICdzdG9yZU5hbWUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNi4wMDAxNiAxLjMzMzM3VjEwLjY2NjdNNi4wMDAxNiAxMC42NjY3TDEwLjY2NjggNi4wMDAwNE02LjAwMDE2IDEwLjY2NjdMMS4zMzM1IDYuMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydENvbHVtTmFtZSA9PT0gJ3N0b3JlTmFtZScgJiYgc29ydEJ5ICE9PSAxID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRDb2x1bU5hbWUgPT09ICdzdG9yZU5hbWUnICYmIHNvcnRCeSAhPT0gLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02LjAwMDE2IDEwLjY2NjdMNi4wMDAxNiAxLjMzMzM3TTYuMDAwMTYgMS4zMzMzN0wxLjMzMzUgNi4wMDAwNE02LjAwMDE2IDEuMzMzMzdMMTAuNjY2OCA2LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRDb2x1bU5hbWUgPT09ICdzdG9yZU5hbWUnICYmIHNvcnRCeSAhPT0gLTEgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aD48ZGl2IChjbGljayk9XCJzb3J0RGF0YSgnc3RvcmVJZCcpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBTdG9yZSBJRFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0Q29sdW1OYW1lID09PSAnc3RvcmVJZCcgJiYgc29ydEJ5ICE9PSAxIHx8IHNvcnRDb2x1bU5hbWUgIT09ICdzdG9yZUlkJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwMTYgMS4zMzMzN1YxMC42NjY3TTYuMDAwMTYgMTAuNjY2N0wxMC42NjY4IDYuMDAwMDRNNi4wMDAxNiAxMC42NjY3TDEuMzMzNSA2LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRDb2x1bU5hbWUgPT09ICdzdG9yZUlkJyAmJiBzb3J0QnkgIT09IDEgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydENvbHVtTmFtZSA9PT0gJ3N0b3JlSWQnICYmIHNvcnRCeSAhPT0gLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02LjAwMDE2IDEwLjY2NjdMNi4wMDAxNiAxLjMzMzM3TTYuMDAwMTYgMS4zMzMzN0wxLjMzMzUgNi4wMDAwNE02LjAwMDE2IDEuMzMzMzdMMTAuNjY2OCA2LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRDb2x1bU5hbWUgPT09ICdzdG9yZUlkJyAmJiBzb3J0QnkgIT09IC0xID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJ0eXBlID09PSAnaW5mcmEnIHx8IHR5cGUgPT09J2luc3RhbGxhdGlvbidcIj48ZGl2IChjbGljayk9XCJzb3J0RGF0YSgnaXNzdWVEYXRlJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIElzc3VlIElkZW50aWZpZWQgb25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydENvbHVtTmFtZSA9PT0gJ2lzc3VlRGF0ZScgJiYgc29ydEJ5ICE9PSAxIHx8IHNvcnRDb2x1bU5hbWUgIT09ICdpc3N1ZURhdGUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNi4wMDAxNiAxLjMzMzM3VjEwLjY2NjdNNi4wMDAxNiAxMC42NjY3TDEwLjY2NjggNi4wMDAwNE02LjAwMDE2IDEwLjY2NjdMMS4zMzM1IDYuMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydENvbHVtTmFtZSA9PT0gJ2lzc3VlRGF0ZScgJiYgc29ydEJ5ICE9PSAxID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRDb2x1bU5hbWUgPT09ICdpc3N1ZURhdGUnICYmIHNvcnRCeSAhPT0gLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02LjAwMDE2IDEwLjY2NjdMNi4wMDAxNiAxLjMzMzM3TTYuMDAwMTYgMS4zMzMzN0wxLjMzMzUgNi4wMDAwNE02LjAwMDE2IDEuMzMzMzdMMTAuNjY2OCA2LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRDb2x1bU5hbWUgPT09ICdpc3N1ZURhdGUnICYmIHNvcnRCeSAhPT0gLTEgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cInR5cGUgPT09ICdkYXRhTWlzbWF0Y2gnXCI+PGRpdiAoY2xpY2spPVwic29ydERhdGEoJ2lzc3VlRGF0ZScpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBJc3N1ZSBkYXRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRDb2x1bU5hbWUgPT09ICdpc3N1ZURhdGUnICYmIHNvcnRCeSAhPT0gMSB8fCBzb3J0Q29sdW1OYW1lICE9PSAnaXNzdWVEYXRlJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwMTYgMS4zMzMzN1YxMC42NjY3TTYuMDAwMTYgMTAuNjY2N0wxMC42NjY4IDYuMDAwMDRNNi4wMDAxNiAxMC42NjY3TDEuMzMzNSA2LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRDb2x1bU5hbWUgPT09ICdpc3N1ZURhdGUnICYmIHNvcnRCeSAhPT0gMSA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0Q29sdW1OYW1lID09PSAnaXNzdWVEYXRlJyAmJiBzb3J0QnkgIT09IC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNi4wMDAxNiAxMC42NjY3TDYuMDAwMTYgMS4zMzMzN002LjAwMDE2IDEuMzMzMzdMMS4zMzM1IDYuMDAwMDRNNi4wMDAxNiAxLjMzMzM3TDEwLjY2NjggNi4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0Q29sdW1OYW1lID09PSAnaXNzdWVEYXRlJyAmJiBzb3J0QnkgIT09IC0xID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGg+PGRpdiAoY2xpY2spPVwic29ydERhdGEoJ2lzc3VlQ2xvc2VkRGF0ZScpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBDbG9zZWQgb25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRDb2x1bU5hbWUgPT09ICdpc3N1ZUNsb3NlZERhdGUnICYmIHNvcnRCeSAhPT0gMSB8fCBzb3J0Q29sdW1OYW1lICE9PSAnaXNzdWVDbG9zZWREYXRlJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNi4wMDAxNiAxLjMzMzM3VjEwLjY2NjdNNi4wMDAxNiAxMC42NjY3TDEwLjY2NjggNi4wMDAwNE02LjAwMDE2IDEwLjY2NjdMMS4zMzM1IDYuMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRDb2x1bU5hbWUgPT09ICdpc3N1ZUNsb3NlZERhdGUnICYmIHNvcnRCeSAhPT0gMSA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0Q29sdW1OYW1lID09PSAnaXNzdWVDbG9zZWREYXRlJyAmJiBzb3J0QnkgIT09IC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02LjAwMDE2IDEwLjY2NjdMNi4wMDAxNiAxLjMzMzM3TTYuMDAwMTYgMS4zMzMzN0wxLjMzMzUgNi4wMDAwNE02LjAwMDE2IDEuMzMzMzdMMTAuNjY2OCA2LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0Q29sdW1OYW1lID09PSAnaXNzdWVDbG9zZWREYXRlJyAmJiBzb3J0QnkgIT09IC0xID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cInR5cGUgPT09ICdpbmZyYScgfHwgdHlwZSA9PT0naW5zdGFsbGF0aW9uJ1wiPjxkaXYgKGNsaWNrKT1cInNvcnREYXRhKCdpbmZyYUlzc3VlJylcIj5Jc3N1ZSBUeXBlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRDb2x1bU5hbWUgPT09ICdpbmZyYUlzc3VlJyAmJiBzb3J0QnkgIT09IDEgfHwgc29ydENvbHVtTmFtZSAhPT0gJ2luZnJhSXNzdWUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNi4wMDAxNiAxLjMzMzM3VjEwLjY2NjdNNi4wMDAxNiAxMC42NjY3TDEwLjY2NjggNi4wMDAwNE02LjAwMDE2IDEwLjY2NjdMMS4zMzM1IDYuMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydENvbHVtTmFtZSA9PT0gJ2luZnJhSXNzdWUnICYmIHNvcnRCeSAhPT0gMSA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0Q29sdW1OYW1lID09PSAnaW5mcmFJc3N1ZScgJiYgc29ydEJ5ICE9PSAtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwMTYgMTAuNjY2N0w2LjAwMDE2IDEuMzMzMzdNNi4wMDAxNiAxLjMzMzM3TDEuMzMzNSA2LjAwMDA0TTYuMDAwMTYgMS4zMzMzN0wxMC42NjY4IDYuMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydENvbHVtTmFtZSA9PT0gJ2luZnJhSXNzdWUnICYmIHNvcnRCeSAhPT0gLTEgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoICpuZ0lmPVwidHlwZSA9PT0gJ2RhdGFNaXNtYXRjaCdcIj48ZGl2IChjbGljayk9XCJzb3J0RGF0YSgnaXNzdWVUeXBlJylcIj5Jc3N1ZSBUeXBlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRDb2x1bU5hbWUgPT09ICdpc3N1ZVR5cGUnICYmIHNvcnRCeSAhPT0gMSB8fCBzb3J0Q29sdW1OYW1lICE9PSAnaXNzdWVUeXBlJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwMTYgMS4zMzMzN1YxMC42NjY3TTYuMDAwMTYgMTAuNjY2N0wxMC42NjY4IDYuMDAwMDRNNi4wMDAxNiAxMC42NjY3TDEuMzMzNSA2LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRDb2x1bU5hbWUgPT09ICdpc3N1ZVR5cGUnICYmIHNvcnRCeSAhPT0gMSA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0Q29sdW1OYW1lID09PSAnaXNzdWVUeXBlJyAmJiBzb3J0QnkgIT09IC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNi4wMDAxNiAxMC42NjY3TDYuMDAwMTYgMS4zMzMzN002LjAwMDE2IDEuMzMzMzdMMS4zMzM1IDYuMDAwMDRNNi4wMDAxNiAxLjMzMzM3TDEwLjY2NjggNi4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0Q29sdW1OYW1lID09PSAnaXNzdWVUeXBlJyAmJiBzb3J0QnkgIT09IC0xID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBoaXN0b3J5IG9mIHdvcmtIaXN0b3J5VGFibGUgOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2hpc3Rvcnk/Lmlzc3VlRGF0ZXxjdXN0b21EYXRlRm9ybWF0fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3toaXN0b3J5Py50aWNrZXRJZCA/IGhpc3Rvcnk/LnRpY2tldElkIDonLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1ncmlkIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3Bhbj57e2hpc3Rvcnk/LmNsaWVudE5hbWUgPyBoaXN0b3J5Py5jbGllbnROYW1lIDogJy0tJ319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAge3toaXN0b3J5Py5jbGllbnRJZCA/IGhpc3Rvcnk/LmNsaWVudElkIDonLS0nfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZ3JpZCBtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXByaW1hcnkgbWItMVwiPnt7aGlzdG9yeT8uc3RvcmVOYW1lID8gaGlzdG9yeT8uc3RvcmVOYW1lIDonLS0nfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3toaXN0b3J5Py5zdG9yZUlkID8gaGlzdG9yeT8uc3RvcmVJZCA6Jy0tJ319XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJ0eXBlID09PSAnaW5mcmEnIHx8IHR5cGUgPT09J2luc3RhbGxhdGlvbidcIj57e2hpc3Rvcnk/Lmlzc3VlSWRlbnRpZmllZERhdGU/KGhpc3Rvcnk/Lmlzc3VlSWRlbnRpZmllZERhdGUgfGN1c3RvbURhdGVGb3JtYXQpOiAnLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJ0eXBlID09PSAnZGF0YU1pc21hdGNoJ1wiPnt7aGlzdG9yeT8uaXNzdWVEYXRlPyhoaXN0b3J5Py5pc3N1ZURhdGUgfGN1c3RvbURhdGVGb3JtYXQpOiAnLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3toaXN0b3J5Py5pc3N1ZUNsb3NlZERhdGV8Y3VzdG9tRGF0ZUZvcm1hdH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwidHlwZSA9PT0gJ2luZnJhJyB8fCB0eXBlID09PSdpbnN0YWxsYXRpb24nXCI+e3toaXN0b3J5Py5pbmZyYUlzc3VlID8gaGlzdG9yeT8uaW5mcmFJc3N1ZSA6Jy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwidHlwZSA9PT0gJ2RhdGFNaXNtYXRjaCdcIj57e2hpc3Rvcnk/Lmlzc3VlVHlwZSA/IGhpc3Rvcnk/Lmlzc3VlVHlwZSA6Jy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8L3RhYmxlPiAgIFxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxsaWItcGFnaW5hdGlvbiBbaXRlbXNQZXJQYWdlXT1cImxpbWl0XCIgW2N1cnJlbnRQYWdlXT1cIm9mZnNldFwiXHJcbiAgICAgICAgICAgICAgICBbdG90YWxJdGVtc109XCJ3b3JrSGlzdG9yeVRhYmxlLmNvdW50XCIgW3BhZ2luYXRpb25TaXplc109XCJbMTAsMjAsMzBdXCIgW3BhZ2VTaXplXT1cImxpbWl0XCJcclxuICAgICAgICAgICAgICAgIChwYWdlQ2hhbmdlKT1cIm9uUGFnZUNoYW5nZSgkZXZlbnQpXCIgKHBhZ2VTaXplQ2hhbmdlKT1cIm9uUGFnZVNpemVDaGFuZ2UoJGV2ZW50KVwiPjwvbGliLXBhZ2luYXRpb24+XHJcbiAgIDwvZGl2PiBcclxuICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhpc3RvcnlMb2FkaW5nICYmICFoaXN0b3J5Tm9kYXRhXCIgPlxyXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGxvYWRlciAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhpc3RvcnlOb2RhdGEgJiYgIWhpc3RvcnlMb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctc3JjXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG48L2Rpdj5cclxuPC9kaXY+XHJcbjxkaXYgKm5nSWY9XCJ1c2VyRGF0YSA9PT0gJ0hpc3RvcnknXCI+XHJcbiAgICA8ZGl2ICpuZ0lmPVwidHlwZSA9PT0gJ21hdCdcIiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCIhaGlzdG9yeUxvYWRpbmcgJiYgIWhpc3RvcnlOb2RhdGFcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJlc3BvbnNpdmVcIj5cclxuICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZSBib3R0b20tYm9yZGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD48ZGl2IChjbGljayk9XCJzb3J0RGF0YSgnaXNzdWVEYXRlJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBEYXRlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0Q29sdW1OYW1lID09PSAnaXNzdWVEYXRlJyAmJiBzb3J0QnkgIT09IDEgfHwgc29ydENvbHVtTmFtZSAhPT0gJ2lzc3VlRGF0ZScgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02LjAwMDE2IDEuMzMzMzdWMTAuNjY2N002LjAwMDE2IDEwLjY2NjdMMTAuNjY2OCA2LjAwMDA0TTYuMDAwMTYgMTAuNjY2N0wxLjMzMzUgNi4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0Q29sdW1OYW1lID09PSAnaXNzdWVEYXRlJyAmJiBzb3J0QnkgIT09IC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02LjAwMDE2IDEwLjY2NjdMNi4wMDAxNiAxLjMzMzM3TTYuMDAwMTYgMS4zMzMzN0wxLjMzMzUgNi4wMDAwNE02LjAwMDE2IDEuMzMzMzdMMTAuNjY2OCA2LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD48ZGl2IChjbGljayk9XCJzb3J0RGF0YSgndGlja2V0SWQnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBUaWNrZXQgSURcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0Q29sdW1OYW1lID09PSAndGlja2V0SWQnICYmIHNvcnRCeSAhPT0gMSB8fCBzb3J0Q29sdW1OYW1lICE9PSAndGlja2V0SWQnIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02LjAwMDE2IDEuMzMzMzdWMTAuNjY2N002LjAwMDE2IDEwLjY2NjdMMTAuNjY2OCA2LjAwMDA0TTYuMDAwMTYgMTAuNjY2N0wxLjMzMzUgNi4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydENvbHVtTmFtZSA9PT0gJ3RpY2tldElkJyAmJiBzb3J0QnkgIT09IC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwMTYgMTAuNjY2N0w2LjAwMDE2IDEuMzMzMzdNNi4wMDAxNiAxLjMzMzM3TDEuMzMzNSA2LjAwMDA0TTYuMDAwMTYgMS4zMzMzN0wxMC42NjY4IDYuMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPjxkaXYgKGNsaWNrKT1cInNvcnREYXRhKCdjbGllbnROYW1lJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xpZW50IEluZm9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0Q29sdW1OYW1lID09PSAnY2xpZW50TmFtZScgJiYgc29ydEJ5ICE9PSAxIHx8IHNvcnRDb2x1bU5hbWUgIT09ICdjbGllbnROYW1lJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02LjAwMDE2IDEuMzMzMzdWMTAuNjY2N002LjAwMDE2IDEwLjY2NjdMMTAuNjY2OCA2LjAwMDA0TTYuMDAwMTYgMTAuNjY2N0wxLjMzMzUgNi4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydENvbHVtTmFtZSA9PT0gJ2NsaWVudE5hbWUnICYmIHNvcnRCeSAhPT0gLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNi4wMDAxNiAxMC42NjY3TDYuMDAwMTYgMS4zMzMzN002LjAwMDE2IDEuMzMzMzdMMS4zMzM1IDYuMDAwMDRNNi4wMDAxNiAxLjMzMzM3TDEwLjY2NjggNi4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+PGRpdiAoY2xpY2spPVwic29ydERhdGEoJ3N0b3JlTmFtZScpXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIEluZm9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0Q29sdW1OYW1lID09PSAnc3RvcmVOYW1lJyAmJiBzb3J0QnkgIT09IDEgfHwgc29ydENvbHVtTmFtZSAhPT0gJ3N0b3JlTmFtZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNi4wMDAxNiAxLjMzMzM3VjEwLjY2NjdNNi4wMDAxNiAxMC42NjY3TDEwLjY2NjggNi4wMDAwNE02LjAwMDE2IDEwLjY2NjdMMS4zMzM1IDYuMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRDb2x1bU5hbWUgPT09ICdzdG9yZU5hbWUnICYmIHNvcnRCeSAhPT0gLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNi4wMDAxNiAxMC42NjY3TDYuMDAwMTYgMS4zMzMzN002LjAwMDE2IDEuMzMzMzdMMS4zMzM1IDYuMDAwMDRNNi4wMDAxNiAxLjMzMzM3TDEwLjY2NjggNi4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+PGRpdiAoY2xpY2spPVwic29ydERhdGEoJ3N0YXR1cycpXCI+U3RhdHVzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0Q29sdW1OYW1lID09PSAnc3RhdHVzJyAmJiBzb3J0QnkgIT09IDEgfHwgc29ydENvbHVtTmFtZSAhPT0gJ3N0YXR1cydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwMTYgMS4zMzMzN1YxMC42NjY3TTYuMDAwMTYgMTAuNjY2N0wxMC42NjY4IDYuMDAwMDRNNi4wMDAxNiAxMC42NjY3TDEuMzMzNSA2LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRDb2x1bU5hbWUgPT09ICdzdGF0dXMnICYmIHNvcnRCeSAhPT0gLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwMTYgMTAuNjY2N0w2LjAwMDE2IDEuMzMzMzdNNi4wMDAxNiAxLjMzMzM3TDEuMzMzNSA2LjAwMDA0TTYuMDAwMTYgMS4zMzMzN0wxMC42NjY4IDYuMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgaGlzdG9yeSBvZiB3b3JrSGlzdG9yeVRhYmxlIDsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2hpc3Rvcnk/Lmlzc3VlRGF0ZXxjdXN0b21EYXRlRm9ybWF0fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2hpc3Rvcnk/LnRpY2tldElkID8gaGlzdG9yeT8udGlja2V0SWQgOictLSd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWdyaWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXByaW1hcnlcIj57e2hpc3Rvcnk/LmNsaWVudE5hbWUgPyBoaXN0b3J5Py5jbGllbnROYW1lIDogJy0tJ319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHRTdWIgbXQtMVwiPklEIDoge3toaXN0b3J5Py5jbGllbnRJZCA/IGhpc3Rvcnk/LmNsaWVudElkIDonLS0nfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWdyaWQgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXByaW1hcnkgbWItMVwiPnt7aGlzdG9yeT8uc3RvcmVOYW1lID8gaGlzdG9yeT8uc3RvcmVOYW1lIDonLS0nfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHRTdWJcIj5JRCA6IHt7aGlzdG9yeT8uc3RvcmVJZCA/IGhpc3Rvcnk/LnN0b3JlSWQgOictLSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJoaXN0b3J5LnN0YXR1cyA9PT0nb3BlbidcIiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LWRhbmdlclwiPk9wZW48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJoaXN0b3J5LnN0YXR1cyA9PT0nY2xvc2VkJ1wiIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtc3VjY2Vzc1wiPkNsb3NlZDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImhpc3Rvcnkuc3RhdHVzID09PSdpbnByb2dyZXNzJ1wiIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtcHJpbWFyeVwiPkluXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb2dyZXNzPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgIDwvdGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgIDwvdGFibGU+ICAgXHJcbiAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgIDxsaWItcGFnaW5hdGlvbiBbaXRlbXNQZXJQYWdlXT1cImxpbWl0XCIgW2N1cnJlbnRQYWdlXT1cIm9mZnNldFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFt0b3RhbEl0ZW1zXT1cIndvcmtIaXN0b3J5VGFibGUuY291bnRcIiBbcGFnaW5hdGlvblNpemVzXT1cIlsxMCwyMCwzMF1cIiBbcGFnZVNpemVdPVwibGltaXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAocGFnZUNoYW5nZSk9XCJvblBhZ2VDaGFuZ2UoJGV2ZW50KVwiIChwYWdlU2l6ZUNoYW5nZSk9XCJvblBhZ2VTaXplQ2hhbmdlKCRldmVudClcIj48L2xpYi1wYWdpbmF0aW9uPlxyXG4gICAgICAgIDwvZGl2PiBcclxuICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGlzdG9yeUxvYWRpbmcgJiYgIWhpc3RvcnlOb2RhdGFcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoaXN0b3J5Tm9kYXRhICYmICFoaXN0b3J5TG9hZGluZ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlciBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctc3JjXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSWNvbnMvTm9kYXRhLnN2Z1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgPC9kaXY+XHJcbjwvZGl2PlxyXG5cclxuPGRpdiAqbmdJZj1cInVzZXJEYXRhID09PSAnSGlzdG9yeSdcIj5cclxuICAgIDxkaXYgKm5nSWY9XCJ0eXBlID09PSAnYXVkaXQnXCIgY2xhc3M9XCJjYXJkLWJvZHlcIj5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwiIWhpc3RvcnlMb2FkaW5nICYmICFoaXN0b3J5Tm9kYXRhXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlXCI+ICBcclxuICAgICAgICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZSBib3R0b20tYm9yZGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDx0cj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD48ZGl2IGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwic29ydERhdGEoJ2ZpbGVEYXRlJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBGaWxlIERhdGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRDb2x1bU5hbWUgPT09ICdmaWxlRGF0ZScgJiYgc29ydEJ5ICE9PSAxIHx8IHNvcnRDb2x1bU5hbWUgIT09ICdmaWxlRGF0ZScgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02LjAwMDE2IDEuMzMzMzdWMTAuNjY2N002LjAwMDE2IDEwLjY2NjdMMTAuNjY2OCA2LjAwMDA0TTYuMDAwMTYgMTAuNjY2N0wxLjMzMzUgNi4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0Q29sdW1OYW1lID09PSAnZmlsZURhdGUnICYmIHNvcnRCeSAhPT0gLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwMTYgMTAuNjY2N0w2LjAwMDE2IDEuMzMzMzdNNi4wMDAxNiAxLjMzMzM3TDEuMzMzNSA2LjAwMDA0TTYuMDAwMTYgMS4zMzMzN0wxMC42NjY4IDYuMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPjxkaXYgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJzb3J0RGF0YSgnY2xpZW50TmFtZScpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsaWVudCBJbmZvXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydENvbHVtTmFtZSA9PT0gJ2NsaWVudE5hbWUnICYmIHNvcnRCeSAhPT0gMSB8fCBzb3J0Q29sdW1OYW1lICE9PSAnY2xpZW50TmFtZScgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwMTYgMS4zMzMzN1YxMC42NjY3TTYuMDAwMTYgMTAuNjY2N0wxMC42NjY4IDYuMDAwMDRNNi4wMDAxNiAxMC42NjY3TDEuMzMzNSA2LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0Q29sdW1OYW1lID09PSAnY2xpZW50TmFtZScgJiYgc29ydEJ5ICE9PSAtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02LjAwMDE2IDEwLjY2NjdMNi4wMDAxNiAxLjMzMzM3TTYuMDAwMTYgMS4zMzMzN0wxLjMzMzUgNi4wMDAwNE02LjAwMDE2IDEuMzMzMzdMMTAuNjY2OCA2LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD48ZGl2IGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwic29ydERhdGEoJ3N0b3JlTmFtZScpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIEluZm9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0Q29sdW1OYW1lID09PSAnc3RvcmVOYW1lJyAmJiBzb3J0QnkgIT09IDEgfHwgc29ydENvbHVtTmFtZSAhPT0gJ3N0b3JlTmFtZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNi4wMDAxNiAxLjMzMzM3VjEwLjY2NjdNNi4wMDAxNiAxMC42NjY3TDEwLjY2NjggNi4wMDAwNE02LjAwMDE2IDEwLjY2NjdMMS4zMzM1IDYuMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRDb2x1bU5hbWUgPT09ICdzdG9yZU5hbWUnICYmIHNvcnRCeSAhPT0gLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNi4wMDAxNiAxMC42NjY3TDYuMDAwMTYgMS4zMzMzN002LjAwMDE2IDEuMzMzMzdMMS4zMzM1IDYuMDAwMDRNNi4wMDAxNiAxLjMzMzM3TDEwLjY2NjggNi4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+PGRpdiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInNvcnREYXRhKCdsb2NhdGlvbicpXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIExvY2F0aW9uXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydENvbHVtTmFtZSA9PT0gJ2xvY2F0aW9uJyAmJiBzb3J0QnkgIT09IDEgfHwgc29ydENvbHVtTmFtZSAhPT0gJ2xvY2F0aW9uJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02LjAwMDE2IDEuMzMzMzdWMTAuNjY2N002LjAwMDE2IDEwLjY2NjdMMTAuNjY2OCA2LjAwMDA0TTYuMDAwMTYgMTAuNjY2N0wxLjMzMzUgNi4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydENvbHVtTmFtZSA9PT0gJ2xvY2F0aW9uJyAmJiBzb3J0QnkgIT09IC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwMTYgMTAuNjY2N0w2LjAwMDE2IDEuMzMzMzdNNi4wMDAxNiAxLjMzMzM3TDEuMzMzNSA2LjAwMDA0TTYuMDAwMTYgMS4zMzMzN0wxMC42NjY4IDYuMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPjxkaXYgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJzb3J0RGF0YSgndHlwZScpXCI+VHlwZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydENvbHVtTmFtZSA9PT0gJ3R5cGUnICYmIHNvcnRCeSAhPT0gMSB8fCBzb3J0Q29sdW1OYW1lICE9PSAndHlwZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwMTYgMS4zMzMzN1YxMC42NjY3TTYuMDAwMTYgMTAuNjY2N0wxMC42NjY4IDYuMDAwMDRNNi4wMDAxNiAxMC42NjY3TDEuMzMzNSA2LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRDb2x1bU5hbWUgPT09ICd0eXBlJyAmJiBzb3J0QnkgIT09IC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02LjAwMDE2IDEwLjY2NjdMNi4wMDAxNiAxLjMzMzM3TTYuMDAwMTYgMS4zMzMzN0wxLjMzMzUgNi4wMDAwNE02LjAwMDE2IDEuMzMzMzdMMTAuNjY2OCA2LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+PGRpdiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInNvcnREYXRhKCdhY2N1cmFjeScpXCI+QWNjdXJhY3lcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRDb2x1bU5hbWUgPT09ICdhY2N1cmFjeScgJiYgc29ydEJ5ICE9PSAxIHx8IHNvcnRDb2x1bU5hbWUgIT09ICdhY2N1cmFjeSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwMTYgMS4zMzMzN1YxMC42NjY3TTYuMDAwMTYgMTAuNjY2N0wxMC42NjY4IDYuMDAwMDRNNi4wMDAxNiAxMC42NjY3TDEuMzMzNSA2LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRDb2x1bU5hbWUgPT09ICdhY2N1cmFjeScgJiYgc29ydEJ5ICE9PSAtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNi4wMDAxNiAxMC42NjY3TDYuMDAwMTYgMS4zMzMzN002LjAwMDE2IDEuMzMzMzdMMS4zMzM1IDYuMDAwMDRNNi4wMDAxNiAxLjMzMzM3TDEwLjY2NjggNi4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPjxkaXYgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJzb3J0RGF0YSgndGltZXNwZW50JylcIj5UaW1lIFNwZW50XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0Q29sdW1OYW1lID09PSAndGltZXNwZW50JyAmJiBzb3J0QnkgIT09IDEgfHwgc29ydENvbHVtTmFtZSAhPT0gJ3RpbWVzcGVudCdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwMTYgMS4zMzMzN1YxMC42NjY3TTYuMDAwMTYgMTAuNjY2N0wxMC42NjY4IDYuMDAwMDRNNi4wMDAxNiAxMC42NjY3TDEuMzMzNSA2LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRDb2x1bU5hbWUgPT09ICd0aW1lc3BlbnQnICYmIHNvcnRCeSAhPT0gLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwMTYgMTAuNjY2N0w2LjAwMDE2IDEuMzMzMzdNNi4wMDAxNiAxLjMzMzM3TDEuMzMzNSA2LjAwMDA0TTYuMDAwMTYgMS4zMzMzN0wxMC42NjY4IDYuMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+U3RhdHVzXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPkFjdGlvbnNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICA8dGJvZHk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IGhpc3Rvcnkgb2Ygd29ya0hpc3RvcnlkYXRhIDsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2hpc3Rvcnk/LmZpbGVEYXRlfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2hpc3Rvcnk/LmNsaWVudE5hbWUgPyBoaXN0b3J5Py5jbGllbnROYW1lIDonLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2hpc3Rvcnk/LnN0b3JlTmFtZSA/IGhpc3Rvcnk/LnN0b3JlTmFtZSA6ICctLSd9fVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7aGlzdG9yeT8ubG9jYXRpb24gPyBoaXN0b3J5Py5sb2NhdGlvbiA6Jy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3toaXN0b3J5Py50eXBlID8gaGlzdG9yeT8udHlwZSA6Jy0tJ319XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3toaXN0b3J5Py5hY2N1cmFjeSA/IGhpc3Rvcnk/LmFjY3VyYWN5IDonLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2hpc3Rvcnk/LnRpbWVzcGVudCA/IGhpc3Rvcnk/LnRpbWVzcGVudCA6Jy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJoaXN0b3J5LnN0YXR1cyA9PT0nZHJhZnQnXCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC13YXJuaW5nXCI+RHJhZnQ8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJoaXN0b3J5LnN0YXR1cyA9PT0nY29tcGxldGVkJ1wiIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtc3VjY2Vzc1wiPkNsb3NlZDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImhpc3Rvcnkuc3RhdHVzID09PSdpbnByb2dyZXNzJ1wiIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtcHJpbWFyeVwiPkluXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFByb2dyZXNzPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD48c3BhbiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInZpZXdVc2VyKClcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0wLjgzMzM3NCAxMEMwLjgzMzM3NCAxMCA0LjE2NjcxIDMuMzMzMzcgMTAgMy4zMzMzN0MxNS44MzM0IDMuMzMzMzcgMTkuMTY2NyAxMCAxOS4xNjY3IDEwQzE5LjE2NjcgMTAgMTUuODMzNCAxNi42NjY3IDEwIDE2LjY2NjdDNC4xNjY3MSAxNi42NjY3IDAuODMzMzc0IDEwIDAuODMzMzc0IDEwWlwiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEwIDEyLjVDMTEuMzgwOCAxMi41IDEyLjUgMTEuMzgwOCAxMi41IDEwQzEyLjUgOC42MTkzMyAxMS4zODA4IDcuNTAwMDQgMTAgNy41MDAwNEM4LjYxOTMzIDcuNTAwMDQgNy41MDAwNCA4LjYxOTMzIDcuNTAwMDQgMTBDNy41MDAwNCAxMS4zODA4IDguNjE5MzMgMTIuNSAxMCAxMi41WlwiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgPC90YWJsZT4gICBcclxuICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgPCEtLSA8bGliLXBhZ2luYXRpb24gW2l0ZW1zUGVyUGFnZV09XCJsaW1pdFwiIFtjdXJyZW50UGFnZV09XCJvZmZzZXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICBbdG90YWxJdGVtc109XCJ3b3JrSGlzdG9yeVRhYmxlLmNvdW50XCIgW3BhZ2luYXRpb25TaXplc109XCJbMTAsMjAsMzBdXCIgW3BhZ2VTaXplXT1cImxpbWl0XCJcclxuICAgICAgICAgICAgICAgICAgICAgKHBhZ2VDaGFuZ2UpPVwib25QYWdlQ2hhbmdlKCRldmVudClcIiAocGFnZVNpemVDaGFuZ2UpPVwib25QYWdlU2l6ZUNoYW5nZSgkZXZlbnQpXCI+PC9saWItcGFnaW5hdGlvbj4gLS0+XHJcbiAgICAgICAgPC9kaXY+IFxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoaXN0b3J5TG9hZGluZyAmJiAhaGlzdG9yeU5vZGF0YVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGxvYWRlciAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhpc3RvcnlOb2RhdGEgJiYgIWhpc3RvcnlMb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1zcmNcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG5cclxuXHJcblxyXG5cclxuXHJcbiJdfQ==
|
|
579
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mcmF0aWNrZXRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy9pbmZyYXRpY2tldHMvaW5mcmF0aWNrZXRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy9pbmZyYXRpY2tldHMvaW5mcmF0aWNrZXRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxHQUdiLE1BQU0sZUFBZSxDQUFDO0FBT3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7O0FBTzFDLE1BQU0sT0FBTyxxQkFBcUI7SUE4RFo7SUFBK0I7SUFDekM7SUFDQTtJQUNBO0lBQ0E7SUFDQTtJQUNEO0lBQ0M7SUFwRVYsV0FBVyxHQUFRLE9BQU8sQ0FBQztJQUMzQixVQUFVLEdBQVEsQ0FBQyxDQUFDO0lBQ3BCLGFBQWEsR0FBUSxFQUFFLENBQUM7SUFDeEIsUUFBUSxHQUFRLFdBQVcsQ0FBQztJQUM1QixnQkFBZ0IsQ0FBTTtJQUN0Qix1QkFBdUI7SUFDdkIsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUMxQixNQUFNLENBQVU7SUFDaEIsUUFBUSxHQUFZLEtBQUssQ0FBQztJQUMxQixlQUFlLENBQU07SUFDckIsTUFBTSxHQUFRLENBQUMsQ0FBQztJQUNoQixNQUFNLEdBQVEsQ0FBQyxDQUFDLENBQUM7SUFDakIsS0FBSyxHQUFRLEVBQUUsQ0FBQztJQUNoQixhQUFhLENBQU07SUFDbkIsYUFBYSxDQUFNO0lBQ25CLFNBQVMsR0FBVSxFQUFFLENBQUM7SUFDdEIsZUFBZSxHQUFVLEVBQUUsQ0FBQztJQUM1QixXQUFXLEdBQVUsRUFBRSxDQUFDO0lBQ3hCLGFBQWEsQ0FBUTtJQUNyQixjQUFjLEdBQVksSUFBSSxDQUFDO0lBQy9CLGFBQWEsR0FBWSxLQUFLLENBQUM7SUFDL0IsT0FBTyxHQUFRO1FBQ2IsSUFBSSxFQUFFLElBQUk7UUFDVixVQUFVLEVBQUUsSUFBSTtRQUNoQixNQUFNLEVBQUUsSUFBSTtLQUNiLENBQUM7SUFDRixNQUFNLEdBQVE7UUFDWixJQUFJLEVBQUUsS0FBSztRQUNYLFVBQVUsRUFBRSxLQUFLO1FBQ2pCLE1BQU0sRUFBRSxLQUFLO0tBQ2QsQ0FBQztJQUNGLFVBQVUsR0FBRztRQUNYLE1BQU0sRUFBRSxDQUFDO1FBQ1QsS0FBSyxFQUFFLEVBQUU7UUFDVCxVQUFVLEVBQUUsSUFBSTtRQUNoQixVQUFVLEVBQUUsRUFBRTtLQUNmLENBQUM7SUFDRixVQUFVLENBQU07SUFDaEIsVUFBVSxDQUFNO0lBQ2hCLFlBQVksQ0FBTTtJQUNsQixnQkFBZ0IsQ0FBTTtJQUN0QixZQUFZLENBQU07SUFDbEIsWUFBWSxDQUFNO0lBQ2xCLFlBQVksQ0FBUTtJQUNwQixVQUFVLENBQU07SUFDaEIsV0FBVyxDQUFNO0lBQ2pCLFdBQVcsQ0FBTTtJQUNqQixZQUFZLEdBQVEsRUFBRSxDQUFDO0lBQ3ZCLFFBQVEsQ0FBTTtJQUNkLGVBQWUsR0FBTyxDQUFDLEVBQUMsUUFBUSxFQUFDLFVBQVUsRUFBQyxVQUFVLEVBQUMsVUFBVSxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxJQUFJLEVBQUMsT0FBTyxFQUFDLFFBQVEsRUFBQyxLQUFLLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxNQUFNLEVBQUMsV0FBVyxFQUFDO1FBQ3pLLEVBQUMsUUFBUSxFQUFDLFVBQVUsRUFBQyxVQUFVLEVBQUMsV0FBVyxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxJQUFJLEVBQUMsT0FBTyxFQUFDLFFBQVEsRUFBQyxLQUFLLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxNQUFNLEVBQUMsV0FBVyxFQUFDO1FBQ3JKLEVBQUMsUUFBUSxFQUFDLFVBQVUsRUFBQyxVQUFVLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxJQUFJLEVBQUMsVUFBVSxFQUFDLFFBQVEsRUFBQyxLQUFLLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxNQUFNLEVBQUMsWUFBWSxFQUFDO1FBQ3RKLEVBQUMsUUFBUSxFQUFDLFVBQVUsRUFBQyxVQUFVLEVBQUMsVUFBVSxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxJQUFJLEVBQUMsT0FBTyxFQUFDLFFBQVEsRUFBQyxLQUFLLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxNQUFNLEVBQUMsT0FBTyxFQUFDO1FBQ2hKLEVBQUMsUUFBUSxFQUFDLFVBQVUsRUFBQyxVQUFVLEVBQUMsVUFBVSxFQUFDLFNBQVMsRUFBQyxTQUFTLEVBQUMsUUFBUSxFQUFDLFNBQVMsRUFBQyxJQUFJLEVBQUMsT0FBTyxFQUFDLFFBQVEsRUFBQyxLQUFLLEVBQUMsU0FBUyxFQUFDLFFBQVEsRUFBQyxNQUFNLEVBQUMsV0FBVyxFQUFDO0tBQ3JKLENBQUM7SUFFZSxRQUFRLEdBQUcsSUFBSSxPQUFPLEVBQUUsQ0FBQztJQUMxQyxJQUFJLENBQU07SUFDVixJQUFJLEdBQWtCLE9BQU8sQ0FBQztJQUM5QixXQUFXLENBQU07SUFDakIsVUFBVSxHQUFPLENBQUMsQ0FBQztJQUNuQixZQUFvQixLQUFxQixFQUFVLE1BQWMsRUFDdkQsRUFBcUIsRUFDckIsV0FBd0IsRUFDeEIsWUFBMEIsRUFDMUIsT0FBdUIsRUFDdkIsV0FBd0IsRUFDekIsRUFBc0IsRUFDckIsS0FBbUI7UUFQVCxVQUFLLEdBQUwsS0FBSyxDQUFnQjtRQUFVLFdBQU0sR0FBTixNQUFNLENBQVE7UUFDdkQsT0FBRSxHQUFGLEVBQUUsQ0FBbUI7UUFDckIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDeEIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDMUIsWUFBTyxHQUFQLE9BQU8sQ0FBZ0I7UUFDdkIsZ0JBQVcsR0FBWCxXQUFXLENBQWE7UUFDekIsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFDckIsVUFBSyxHQUFMLEtBQUssQ0FBYztRQUUzQixJQUFJLENBQUMsS0FBSyxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxNQUFNLEVBQUUsRUFBRTtZQUMxQyxJQUFJLENBQUMsV0FBVyxHQUFHLE1BQU0sQ0FBQyxXQUFXLENBQUM7UUFDeEMsQ0FBQyxDQUFDLENBQUM7SUFDTCxDQUFDO0lBR0QsT0FBTyxDQUFDLEtBQWlCO1FBQ3ZCLE1BQU0sTUFBTSxHQUFHLEtBQUssQ0FBQyxNQUFxQixDQUFDO1FBQzNDLElBQUksQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxFQUFFO1lBQ2hDLElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1NBQ3ZCO0lBQ0gsQ0FBQztJQUVELFFBQVE7UUFDTixJQUFJLENBQUMsT0FBTyxFQUFFLFdBQVcsRUFBRSxTQUFTLENBQUMsS0FBSyxDQUFDLEVBQUU7WUFDM0MsSUFBSSxDQUFDLFFBQVEsR0FBRyxXQUFXLENBQUE7UUFDN0IsQ0FBQyxDQUFDLENBQUE7UUFDRixJQUFJLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFO1lBQzVFLElBQUksSUFBSSxJQUFJLElBQUksRUFBRTtnQkFDaEIsSUFBSSxDQUFDLElBQUksR0FBRyxJQUFJLENBQUMsS0FBSyxDQUFDLFlBQVksQ0FBQyxPQUFPLENBQUMsV0FBVyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUE7Z0JBQy9ELElBQUksQ0FBQyxZQUFZLEdBQUcsSUFBSSxDQUFDO2dCQUN6QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksQ0FBQyxZQUFZLEVBQUUsT0FBTyxDQUFBO2dCQUMxQyxJQUFJLENBQUMsS0FBSyxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLEVBQUU7b0JBQzFDLElBQUksQ0FBQyxJQUFJLEdBQUcsQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO29CQUNwRSxJQUFHLElBQUksQ0FBQyxJQUFJLEtBQUksT0FBTyxFQUFDO3dCQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsU0FBUyxDQUFBO3FCQUFDO3lCQUFJLEdBQUU7b0JBQ3pELElBQUksQ0FBQyxhQUFhLEVBQUUsQ0FBQztvQkFDckIsSUFBSSxDQUFDLGVBQWUsRUFBRSxDQUFDO29CQUN2QixJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksV0FBVyxFQUFFO3dCQUNoQyxJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO3dCQUM1QixJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDO3dCQUNsQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO3FCQUMvQjt5QkFBTSxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksU0FBUyxFQUFFO3dCQUNyQyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7d0JBQ25CLElBQUksQ0FBQyxZQUFZLEVBQUUsQ0FBQztxQkFDckI7Z0JBQ0gsQ0FBQyxDQUFDLENBQUM7YUFDSjtRQUVILENBQUMsQ0FBQyxDQUFDO0lBRUwsQ0FBQztJQUNELGFBQWE7UUFDWCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssY0FBYyxFQUFFO1lBQ3pELElBQUksQ0FBQyxVQUFVLEdBQUc7Z0JBQ2hCLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFO2dCQUN2QztvQkFDRSxXQUFXLEVBQUUsWUFBWTtvQkFDekIsTUFBTSxFQUFFLENBQUUsRUFBRSxJQUFJLEVBQUUsd0JBQXdCLEVBQUUsRUFBQyxFQUFFLElBQUksRUFBRSxlQUFlLEVBQUUsRUFBQyxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxFQUFFLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFDLEVBQUUsSUFBSSxFQUFFLG9CQUFvQixFQUFFLEVBQUc7aUJBQ2hLO2dCQUNEO29CQUNFLFdBQVcsRUFBRSxXQUFXLEVBQUMsSUFBSSxFQUFFLFFBQVE7b0JBQ3ZDLE1BQU0sRUFBRTt3QkFDTixFQUFFLEVBQUUsRUFBRSxxQkFBcUIsRUFBRSxJQUFJLEVBQUUsdUJBQXVCLEVBQUU7d0JBQzVELEVBQUUsRUFBRSxFQUFFLGFBQWEsRUFBRSxJQUFJLEVBQUUsY0FBYyxFQUFFO3dCQUMzQyxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLGFBQWEsRUFBRTtxQkFDMUM7aUJBQ0Y7YUFDRixDQUFDO1NBQ0g7YUFBTSxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssY0FBYyxFQUFFO1lBQ3ZDLElBQUksQ0FBQyxVQUFVLEdBQUc7Z0JBQ2hCLEVBQUUsV0FBVyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsRUFBRSxFQUFFO2dCQUN2QyxFQUFFLFdBQVcsRUFBRSxZQUFZLEVBQUUsTUFBTSxFQUFFLENBQUMsRUFBQyxFQUFFLEVBQUMsV0FBVyxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsRUFBRSxFQUFDLEVBQUUsRUFBQyxVQUFVLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxDQUFDLEVBQUU7Z0JBQ25ILEVBQUUsV0FBVyxFQUFFLFdBQVcsRUFBRSxJQUFJLEVBQUUsUUFBUSxFQUFFLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRSxFQUFFLFdBQVcsRUFBQyxJQUFJLEVBQUUsWUFBWSxFQUFFLEVBQUUsRUFBRSxFQUFFLEVBQUUsYUFBYSxFQUFDLElBQUksRUFBRSxjQUFjLEVBQUUsRUFBRSxFQUFFLEVBQUUsRUFBRSxZQUFZLEVBQUMsSUFBSSxFQUFFLGFBQWEsRUFBRSxDQUFDLEVBQUU7YUFDckwsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUNELGdCQUFnQjtRQUNkLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQyxDQUFDLDREQUE0RDtRQUM5RSxNQUFNLFVBQVUsR0FBRyxJQUFJLEdBQUcsRUFBRSxDQUFDO1FBQzdCLElBQUksYUFBYSxHQUFHLElBQUksQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBUSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxLQUFJLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQTtRQUM3RixJQUFJLENBQUMsV0FBVyxHQUFHLGFBQWEsQ0FBQyxNQUFNLENBQUMsQ0FBQyxJQUFRLEVBQUUsRUFBRTtZQUNuRCxNQUFNLFdBQVcsR0FBRyxVQUFVLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQzlDLFVBQVUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7WUFDMUIsT0FBTyxDQUFDLFdBQVcsQ0FBQztRQUN0QixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxDQUFDLFFBQVEsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7UUFDekIsSUFBSSxDQUFDLFFBQVEsQ0FBQyxRQUFRLEVBQUUsQ0FBQztJQUMzQixDQUFDO0lBQ0QsY0FBYyxDQUFDLEtBQVU7UUFDdkIsaUlBQWlJO1FBQ2pJLElBQUksSUFBSSxHQUFHO1lBQ1QsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO1lBQ3ZCLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUc7WUFDdEIsTUFBTSxFQUFFLEtBQUs7WUFDYixTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDcEIsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLFNBQVM7WUFDNUMsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLE9BQU87WUFDeEMsV0FBVyxFQUFFLElBQUksQ0FBQyxlQUFlO1lBQ2pDLE1BQU0sRUFBRSxJQUFJLENBQUMsYUFBYTtTQUMzQixDQUFDO1FBQ0YsSUFBSSxDQUFDLE9BQU87YUFDVCxjQUFjLENBQUMsSUFBSSxDQUFDO2FBQ3BCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzlCLFNBQVMsQ0FBQztZQUNULElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLENBQUMsRUFBRSxDQUFDLGFBQWEsRUFBRSxDQUFDO2dCQUN4QixJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxNQUFNLEVBQUU7b0JBQ2xELElBQUksS0FBSyxJQUFJLE1BQU0sRUFBRTt3QkFDbkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzt3QkFDaEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO3dCQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7cUJBQzFCO3lCQUFNLElBQUksS0FBSyxJQUFJLFlBQVksRUFBRTt3QkFDaEMsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDO3dCQUN0QyxJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7d0JBQ2hDLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztxQkFDaEM7eUJBQU07d0JBQ0wsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQzt3QkFDbEMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO3dCQUM1QixJQUFJLENBQUMsTUFBTSxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7cUJBQzVCO2lCQUNGO3FCQUFNO29CQUNMLElBQUksS0FBSyxJQUFJLE1BQU0sRUFBRTt3QkFDbkIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxJQUFJLEdBQUcsSUFBSSxDQUFDO3dCQUN4QixJQUFJLENBQUMsT0FBTyxDQUFDLElBQUksR0FBRyxLQUFLLENBQUM7cUJBQzNCO3lCQUFNLElBQUksS0FBSyxJQUFJLFlBQVksRUFBRTt3QkFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDO3dCQUM5QixJQUFJLENBQUMsT0FBTyxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUM7cUJBQ2pDO3lCQUFNO3dCQUNMLElBQUksQ0FBQyxNQUFNLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQzt3QkFDMUIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDO3FCQUM3QjtpQkFDRjtZQUNILENBQUM7WUFDRCxLQUFLLEVBQUUsR0FBRyxFQUFFO2dCQUNWLElBQUksQ0FBQyxNQUFNLENBQUMsSUFBSSxHQUFHLElBQUksQ0FBQztnQkFDeEIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxJQUFJLEdBQUcsS0FBSyxDQUFDO2dCQUMxQixJQUFJLENBQUMsTUFBTSxDQUFDLFVBQVUsR0FBRyxJQUFJLENBQUM7Z0JBQzlCLElBQUksQ0FBQyxPQUFPLENBQUMsVUFBVSxHQUFHLEtBQUssQ0FBQztnQkFDaEMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxNQUFNLEdBQUcsSUFBSSxDQUFDO2dCQUMxQixJQUFJLENBQUMsT0FBTyxDQUFDLE1BQU0sR0FBRyxLQUFLLENBQUM7WUFDOUIsQ0FBQztZQUNELFFBQVEsRUFBRSxHQUFHLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMxQixDQUFDO1NBQ0YsQ0FBQyxDQUFDO0lBQ1AsQ0FBQztJQUVELFVBQVU7UUFDUixJQUFJLElBQUksR0FBRyxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxDQUFDO1FBQzVELElBQUksQ0FBQyxPQUFPO2FBQ1QsY0FBYyxDQUFDLElBQUksQ0FBQzthQUNwQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTLENBQUM7WUFDVCxJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxHQUFHLEVBQUU7b0JBQzFCLElBQUksQ0FBQyxZQUFZLENBQUMsZUFBZSxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQUMsQ0FBQztvQkFDL0MsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztpQkFDN0I7cUJBQU0sSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxHQUFHLEVBQUU7b0JBQ2pDLElBQUksQ0FBQyxZQUFZLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxLQUFLLENBQUMsQ0FBQztpQkFDNUM7cUJBQU07b0JBQ0wsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMscUJBQXFCLENBQUMsQ0FBQztpQkFDeEQ7WUFDSCxDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLFlBQVksQ0FBQyxhQUFhLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFDO1lBQzdDLENBQUM7WUFDRCxRQUFRLEVBQUUsR0FBRyxFQUFFLEdBQUUsQ0FBQztTQUNuQixDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsVUFBVSxDQUFDLEtBQVU7UUFDbkIsSUFBSSxDQUFDLFVBQVUsR0FBRyxLQUFLLENBQUMsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3RDLENBQUM7SUFFRCxZQUFZO0lBRVosQ0FBQztJQUNELFVBQVUsQ0FBQyxDQUFhLEVBQUUsS0FBVSxFQUFFLEtBQVU7UUFDOUMsQ0FBQyxDQUFDLGVBQWUsRUFBRSxDQUFDO1FBQ3BCLElBQUksS0FBSyxJQUFJLE1BQU0sRUFBRTtZQUNuQixJQUFJLENBQUMsVUFBVSxDQUFDLEtBQUssQ0FBQyxDQUFDLE1BQU0sR0FBRyxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxDQUFDO1NBQ2hFO2FBQU0sSUFBSSxLQUFLLElBQUksWUFBWSxFQUFFO1lBQ2hDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNO2dCQUNqQyxDQUFDLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUM7U0FDeEM7YUFBTTtZQUNMLElBQUksQ0FBQyxZQUFZLENBQUMsS0FBSyxDQUFDLENBQUMsTUFBTSxHQUFHLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLENBQUM7U0FDcEU7SUFDSCxDQUFDO0lBRUQsYUFBYSxDQUFDLEtBQVU7UUFDdEIsSUFBSSxTQUFTLEdBQ1gsS0FBSyxFQUFFLFNBQVMsS0FBSyxXQUFXO1lBQzlCLENBQUMsQ0FBQyxZQUFZO1lBQ2QsQ0FBQyxDQUFDLEtBQUssRUFBRSxTQUFTLEtBQUssVUFBVTtnQkFDakMsQ0FBQyxDQUFDLFdBQVc7Z0JBQ2IsQ0FBQyxDQUFDLEVBQUUsQ0FBQztRQUNULElBQUksS0FBSyxFQUFFLFNBQVMsSUFBSSxPQUFPLEVBQUU7WUFDL0IseUJBQXlCO1lBQ3pCLG9FQUFvRTtZQUNwRSxNQUFNO1lBQ04sSUFBSSxJQUFJLEdBQVEsSUFBSSxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUMsT0FBTyxDQUFDLGdCQUFnQixDQUFDLElBQUksRUFBRSxDQUFDLENBQUM7WUFDekUsSUFBSSxDQUFDLEtBQUssR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDO1lBQzNCLElBQUksQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLFFBQVEsQ0FBQztZQUM3QixJQUFJLENBQUMsVUFBVSxHQUFHLEtBQUssRUFBRSxVQUFVLENBQUMsQ0FBQyxDQUFDLEtBQUssRUFBRSxVQUFVLENBQUEsQ0FBQyxDQUFBLFFBQVEsQ0FBQztZQUNqRSxZQUFZLENBQUMsT0FBTyxDQUFDLGdCQUFnQixFQUFFLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztZQUM3RCxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQyxDQUFDLDZCQUE2QixDQUFDLEVBQUUsRUFBQyxXQUFXLEVBQUUsRUFBRSxPQUFPLEVBQUUsS0FBSyxDQUFDLE9BQU8sRUFBQyxJQUFJLEVBQUMsT0FBTyxFQUFFLEVBQUMsQ0FBQyxDQUFDO1NBRS9HO2FBQU0sSUFBSSxLQUFLLEVBQUUsU0FBUyxJQUFJLGNBQWMsRUFBRTtZQUM3QyxJQUFJLENBQUMsTUFBTSxDQUFDLFFBQVEsQ0FBQztnQkFDbkIsbUNBQW1DLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLE9BQU8sRUFBRTthQUNyRSxDQUFDLENBQUM7U0FDSjthQUFPLElBQUcsS0FBSyxFQUFFLFNBQVMsSUFBSSxLQUFLLEVBQUU7WUFDcEMsSUFBRyxLQUFLLENBQUMsU0FBUyxJQUFHLE9BQU8sRUFBQztnQkFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUUsNkJBQTZCLEtBQUssQ0FBQyxRQUFRLElBQUksS0FBSyxDQUFDLE9BQU8sOEJBQThCLENBQUMsQ0FBQzthQUN4SDtZQUNELHVDQUF1QztZQUN2QyxvSEFBb0g7WUFDcEgsSUFBSTtpQkFDQTtnQkFDRixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FBRSw2QkFBNkIsS0FBSyxDQUFDLFFBQVEsSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQzthQUM1RjtTQUNGO2FBQUssSUFDSixLQUFLLEVBQUUsU0FBUyxJQUFJLFdBQVc7WUFDL0IsS0FBSyxFQUFFLFNBQVMsSUFBSSxVQUFVLEVBQzlCO1lBQ0EsSUFBSSxDQUFDLFlBQVksQ0FBQyxLQUFLLENBQUMsUUFBUSxFQUFFLEtBQUssRUFBRSxTQUFTLEVBQUUsS0FBSyxFQUFFLE1BQU0sQ0FBQyxDQUFDO1NBQ3BFO0lBQ0gsQ0FBQztJQUVELFlBQVksQ0FBQyxLQUFVLEVBQUUsU0FBYyxFQUFFLE1BQVc7UUFDbEQsMkVBQTJFO1FBQzNFLElBQUksSUFBSSxHQUNOLFNBQVMsS0FBSyxXQUFXO1lBQ3ZCLENBQUMsQ0FBQyxZQUFZO1lBQ2QsQ0FBQyxDQUFDLFNBQVMsS0FBSyxVQUFVO2dCQUMxQixDQUFDLENBQUMsV0FBVztnQkFDYixDQUFDLENBQUMsRUFBRSxDQUFDO1FBQ1QsSUFBSSxJQUFJLEdBQUc7WUFDVCxRQUFRLEVBQUUsS0FBSztZQUNmLE1BQU0sRUFBRSxZQUFZO1NBQ3JCLENBQUM7UUFDRixJQUFJLE1BQU0sS0FBSyxNQUFNLEVBQUU7WUFDckIsSUFBSSxDQUFDLE9BQU87aUJBQ1QsWUFBWSxDQUFDLElBQUksQ0FBQztpQkFDbEIsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUM7aUJBQzlCLFNBQVMsQ0FBQztnQkFDVCxJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtvQkFDakIsSUFBSSxHQUFHLElBQUksR0FBRyxDQUFDLElBQUksSUFBSSxHQUFHLEVBQUU7d0JBQzFCLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUN2QiwwQkFBMEIsSUFBSSxhQUFhLEtBQUssRUFBRSxDQUNuRCxDQUFDO3FCQUNIO2dCQUNILENBQUM7YUFDRixDQUFDLENBQUM7U0FDTjthQUFNLElBQUcsTUFBTSxLQUFLLFFBQVEsRUFBRTtZQUM3QixJQUFJLENBQUMsTUFBTSxDQUFDLGFBQWEsQ0FDdkIsMEJBQTBCLElBQUksYUFBYSxLQUFLLEVBQUUsQ0FDbkQsQ0FBQztTQUNIO0lBQ0gsQ0FBQztJQUNELFVBQVU7UUFDUixJQUFJLElBQUksR0FBRztZQUNULE1BQU0sRUFBRSxJQUFJLENBQUMsSUFBSSxFQUFFLEdBQUc7WUFDdEIsTUFBTSxFQUFFLElBQUk7WUFDWixTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDcEIsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLFNBQVM7WUFDNUMsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLE9BQU87WUFDeEMsV0FBVyxFQUFFLElBQUksQ0FBQyxlQUFlO1lBQ2pDLE1BQU0sRUFBRSxJQUFJLENBQUMsYUFBYTtZQUMxQixRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxPQUFPO1NBQ3BDLENBQUM7UUFDRixJQUFJLENBQUMsT0FBTzthQUNULG9CQUFvQixDQUFDLElBQUksQ0FBQzthQUMxQixJQUFJLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQzthQUM5QixTQUFTLENBQUM7WUFDVCxJQUFJLEVBQUUsQ0FBQyxHQUFRLEVBQUUsRUFBRTtnQkFDakIsSUFBSSxDQUFDLEtBQUssQ0FBQyxlQUFlLENBQUMsR0FBRyxFQUFFLGtCQUFrQixDQUFDLENBQUM7WUFDdEQsQ0FBQztTQUNGLENBQUMsQ0FBQztJQUNQLENBQUM7SUFDRCxXQUFXO1FBQ1QsSUFBSSxJQUFJLEdBQUc7WUFDVCxNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHO1lBQ3RCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixLQUFLLEVBQUUsSUFBSSxDQUFDLEtBQUs7WUFDakIsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLFNBQVM7WUFDNUMsTUFBTSxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUUsSUFBSSxFQUFFLE9BQU87WUFDeEMsV0FBVyxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQy9CLGFBQWEsRUFBRSxJQUFJLENBQUMsYUFBYTtZQUNqQyxNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsU0FBUyxFQUFFLElBQUksQ0FBQyxJQUFJO1lBQ3BCLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLFFBQVEsRUFBRSxJQUFJLENBQUMsUUFBUTtTQUN4QixDQUFDO1FBQ0YsSUFBSSxDQUFDLE9BQU87YUFDVCxXQUFXLENBQUMsSUFBSSxDQUFDO2FBQ2pCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzlCLFNBQVMsQ0FBQztZQUNULElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLEdBQUcsSUFBSSxHQUFHLEVBQUUsSUFBSSxJQUFJLEdBQUcsRUFBRTtvQkFDM0IsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxDQUFDO29CQUMxQyxJQUFJLENBQUMsVUFBVSxHQUFFLEdBQUcsRUFBRSxJQUFJLEVBQUUsS0FBSyxDQUFDO29CQUNsQyxJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztvQkFDNUIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7aUJBQzVCO3FCQUFNO29CQUNMLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO29CQUMxQixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztpQkFDN0I7Z0JBQ0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMxQixDQUFDO1lBQ0QsS0FBSyxFQUFFLENBQUMsR0FBRyxFQUFFLEVBQUU7Z0JBQ2IsSUFBSSxDQUFDLGFBQWEsR0FBRyxJQUFJLENBQUM7Z0JBQzFCLElBQUksQ0FBQyxjQUFjLEdBQUcsS0FBSyxDQUFDO1lBQzlCLENBQUM7WUFDRCxRQUFRLEtBQUksQ0FBQztTQUNkLENBQUMsQ0FBQztJQUNQLENBQUM7SUFFRCxVQUFVLENBQUMsS0FBVTtRQUNuQixJQUFJLEtBQUssSUFBSSxLQUFLLEVBQUU7WUFDbEIsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7U0FDekI7YUFBTTtZQUNMLElBQUksQ0FBQyxhQUFhLEdBQUcsS0FBSyxDQUFDO1NBQzVCO1FBQ0QsSUFBRyxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLGNBQWMsRUFBQztZQUN2RCxJQUFJLENBQUMsYUFBYSxHQUFHLElBQUksQ0FBQyxhQUFhLENBQUM7U0FDekM7YUFBSyxJQUFHLElBQUksQ0FBQyxJQUFJLEtBQUssY0FBYyxFQUFDO1lBQ3BDLHVEQUF1RDtZQUN2RCxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsSUFBSSxDQUFDLGFBQWEsS0FBSyxXQUFXLENBQUMsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUEsQ0FBQyxJQUFJLENBQUMsYUFBYSxLQUFLLFlBQVksQ0FBQyxDQUFDLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsQ0FBQyxDQUFBO1lBQ2hJLHdEQUF3RDtTQUN6RDtRQUNELElBQUksQ0FBQyxRQUFRLEdBQUcsS0FBSyxDQUFDO1FBQ3RCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7SUFDRCxlQUFlO1FBQ2IsSUFBRyxJQUFJLENBQUMsSUFBSSxLQUFLLE9BQU8sSUFBSSxJQUFJLENBQUMsSUFBSSxLQUFLLGNBQWMsRUFBQztZQUN2RCxJQUFJLENBQUMsYUFBYSxHQUFHLENBQUMsS0FBSyxFQUFFLGlCQUFpQixFQUFFLGVBQWUsRUFBRSxlQUFlLEVBQUUsb0JBQW9CLEVBQUUsd0JBQXdCLEVBQUUsZ0JBQWdCLENBQUMsQ0FBQTtTQUNwSjthQUFLLElBQUcsSUFBSSxDQUFDLElBQUksS0FBSyxjQUFjLEVBQUM7WUFDcEMsSUFBSSxDQUFDLGFBQWEsR0FBRyxDQUFDLEtBQUssRUFBRSxXQUFXLEVBQUUsWUFBWSxDQUFDLENBQUE7U0FDeEQ7SUFDSCxDQUFDO0lBQ0QsWUFBWSxDQUFDLEtBQWlCO1FBQzVCLEtBQUssQ0FBQyxlQUFlLEVBQUUsQ0FBQztRQUN4QixJQUFJLENBQUMsUUFBUSxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQztJQUNqQyxDQUFDO0lBRUQsU0FBUyxDQUFDLElBQVM7UUFDakIsSUFBSSxDQUFDLFFBQVEsR0FBRyxJQUFJLENBQUM7UUFDckIsSUFBSSxJQUFJLENBQUMsUUFBUSxJQUFJLFNBQVMsRUFBRTtZQUM5QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7WUFDbkIsSUFBSSxDQUFDLFlBQVksRUFBRSxDQUFDO1NBQ3JCO2FBQU07U0FDTjtJQUNILENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLGNBQWMsQ0FBQyxNQUFNLENBQUMsQ0FBQztRQUM1QixJQUFJLENBQUMsY0FBYyxDQUFDLFlBQVksQ0FBQyxDQUFDO1FBQ2xDLElBQUksQ0FBQyxjQUFjLENBQUMsUUFBUSxDQUFDLENBQUM7SUFDaEMsQ0FBQztJQUVELGtCQUFrQjtRQUNoQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFXO1FBQ3JCLElBQUksQ0FBQyxXQUFXLEdBQUcsSUFBSTthQUNwQixJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEtBQUssVUFBVSxDQUFDO1lBQzlDLEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxVQUFVLEdBQUcsSUFBSSxDQUFDLElBQUksQ0FDekIsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEtBQUssV0FBVyxDQUN6QyxFQUFFLE1BQU0sRUFBRSxFQUFFLENBQUM7UUFDZCxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLEtBQUssY0FBYyxFQUFFO1lBQ3pELE9BQU8sQ0FBQyxHQUFHLENBQUMsT0FBTyxDQUFDLENBQUM7WUFDckIsSUFBSSxDQUFDLFdBQVcsR0FBRyxJQUFJO2lCQUNwQixJQUFJLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxXQUFXLEtBQUssWUFBWSxDQUFDO2dCQUNoRCxFQUFFLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztTQUMzQzthQUFNLElBQUksSUFBSSxDQUFDLElBQUksS0FBSyxjQUFjLEVBQUU7WUFDdkMsT0FBTyxDQUFDLEdBQUcsQ0FBQyxjQUFjLENBQUMsQ0FBQztZQUM1QixJQUFJLENBQUMsV0FBVyxHQUFHLElBQUk7aUJBQ3BCLElBQUksQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsS0FBSyxZQUFZLENBQUM7Z0JBQ2hELEVBQUUsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLElBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxDQUFDO1NBQ3pDO1FBQ0QsSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDO0lBQ3JCLENBQUM7SUFFRCxtQkFBbUI7UUFDakIsSUFBSSxVQUFVLEdBQUc7WUFDZixNQUFNLEVBQUUsSUFBSSxDQUFDLElBQUksRUFBRSxHQUFHO1lBQ3RCLFNBQVMsRUFBRSxJQUFJLENBQUMsSUFBSTtZQUNwQixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsS0FBSyxFQUFFLElBQUk7WUFDWCxRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsU0FBUztZQUM1QyxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsT0FBTztZQUN4QyxXQUFXLEVBQUUsSUFBSSxDQUFDLGFBQWE7WUFDL0IsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO1lBQ2pDLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTtZQUNuQixNQUFNLEVBQUUsTUFBTTtZQUNkLFVBQVUsRUFBRSxJQUFJLENBQUMsVUFBVTtZQUMzQixXQUFXLEVBQUUsSUFBSSxDQUFDLFdBQVc7WUFDN0IsV0FBVyxFQUFFLElBQUksQ0FBQyxXQUFXO1lBQzdCLFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWSxDQUFDLE9BQU87U0FDcEMsQ0FBQztRQUNGLElBQUksQ0FBQyxPQUFPO2FBQ1QsaUJBQWlCLENBQUMsVUFBVSxDQUFDO2FBQzdCLElBQUksQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO2FBQzlCLFNBQVMsQ0FBQztZQUNULElBQUksRUFBRSxDQUFDLEdBQVEsRUFBRSxFQUFFO2dCQUNqQixJQUFJLEdBQUcsRUFBRTtvQkFDUCxJQUFJLENBQUMsV0FBVyxDQUFDLGVBQWUsQ0FBQyxHQUFHLEVBQUUsU0FBUyxDQUFDLENBQUM7aUJBQ2xEO2dCQUNELElBQUksQ0FBQyxFQUFFLENBQUMsYUFBYSxFQUFFLENBQUM7WUFDMUIsQ0FBQztZQUNELEtBQUssRUFBRSxDQUFDLEdBQUcsRUFBRSxFQUFFO2dCQUNiLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxDQUFDO2dCQUMxQixJQUFJLENBQUMsY0FBYyxHQUFHLEtBQUssQ0FBQztZQUM5QixDQUFDO1lBQ0QsUUFBUSxLQUFJLENBQUM7U0FDZCxDQUFDLENBQUM7SUFDUCxDQUFDO0lBRUQsUUFBUSxDQUFDLEtBQVU7UUFDakIsSUFBSSxDQUFDLGFBQWEsR0FBRyxLQUFLLENBQUM7UUFDM0IsSUFBSSxDQUFDLE1BQU0sSUFBSSxDQUFDLENBQUMsQ0FBQztRQUNsQixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELFlBQVksQ0FBQyxVQUFrQjtRQUM3QixJQUFJLENBQUMsTUFBTSxHQUFHLFVBQVUsQ0FBQztRQUN6QixJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7SUFDckIsQ0FBQztJQUVELGdCQUFnQixDQUFDLFFBQWdCO1FBQy9CLElBQUksQ0FBQyxLQUFLLEdBQUcsUUFBUSxDQUFDO1FBQ3RCLElBQUksQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDO1FBQ2hCLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQztJQUNyQixDQUFDO0lBRUQsWUFBWTtRQUNWLElBQUksSUFBSSxHQUFHO1lBQ1QsTUFBTSxFQUFFLElBQUksQ0FBQyxJQUFJLEVBQUUsR0FBRztZQUN0QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07WUFDbkIsS0FBSyxFQUFFLEtBQUs7WUFDWixRQUFRLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsU0FBUztZQUM1QyxNQUFNLEVBQUUsSUFBSSxDQUFDLFlBQVksRUFBRSxJQUFJLEVBQUUsT0FBTztZQUN4QyxTQUFTLEVBQUUsSUFBSSxDQUFDLElBQUk7WUFDcEIsUUFBUSxFQUFFLElBQUksQ0FBQyxZQUFZLENBQUMsT0FBTztTQUNwQyxDQUFBO1FBQ0QsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7WUFDdEUsSUFBSSxFQUFFLENBQUMsR0FBUSxFQUFFLEVBQUU7Z0JBQ2pCLElBQUksR0FBRyxJQUFJLEdBQUcsRUFBRSxJQUFJLElBQUksR0FBRyxFQUFFO29CQUMzQixJQUFJLENBQUMsWUFBWSxHQUFHLEdBQUcsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDO29CQUNwQyxNQUFNLE1BQU0sR0FBRyxJQUFJLENBQUMsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsQ0FBQyxFQUFFLElBQUksRUFBRSxHQUFHLENBQUMsT0FBTyxFQUFFLENBQUMsQ0FBQyxDQUFDO29CQUM1RSxNQUFNLFlBQVksR0FBUyxFQUFFLENBQUM7b0JBQzlCLE1BQU0sUUFBUSxHQUFHLElBQUksR0FBRyxFQUFFLENBQUM7b0JBQzNCLE1BQU0sQ0FBQyxPQUFPLENBQUMsQ0FBQyxLQUFTLEVBQUUsRUFBRTt3QkFDM0IsSUFBSSxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxFQUFFOzRCQUM3QixRQUFRLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQzs0QkFDekIsWUFBWSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQzt5QkFDMUI7b0JBQ0gsQ0FBQyxDQUFDLENBQUM7b0JBQ0gsTUFBTSxhQUFhLEdBQUcsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLElBQUksQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLFdBQVcsS0FBSyxVQUFVLENBQUMsQ0FBQyxDQUFBO29CQUMxRixhQUFhLENBQUMsTUFBTSxHQUFHLFlBQVksQ0FBQztpQkFDckM7Z0JBQ0QsSUFBSSxDQUFDLEVBQUUsQ0FBQyxhQUFhLEVBQUUsQ0FBQztZQUMxQixDQUFDO1NBQ0YsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUNELFFBQVE7SUFFUixDQUFDO0lBRUQsV0FBVyxHQUFRO1FBQ2pCLEVBQUUsV0FBVyxFQUFFLFFBQVEsRUFBRSxNQUFNLEVBQUUsQ0FBQyxFQUFFLElBQUksRUFBRSx3QkFBd0IsRUFBRSxFQUFFLEVBQUUsd0JBQXdCLEVBQUUsRUFBRSxFQUFFLElBQUksRUFBRSxpQkFBaUIsRUFBRSxFQUFFLEVBQUUsaUJBQWlCLEVBQUU7Z0JBQ3BKLEVBQUUsSUFBSSxFQUFFLGVBQWUsRUFBRSxFQUFFLEVBQUUsZUFBZSxFQUFFLEVBQUMsRUFBRSxJQUFJLEVBQUUsZUFBZSxFQUFFLEVBQUUsRUFBRSxlQUFlLEVBQUUsRUFBQyxFQUFFLElBQUksRUFBRSxvQkFBb0IsRUFBRSxFQUFFLEVBQUUsb0JBQW9CLEVBQUUsRUFBQyxFQUFDLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxFQUFFLEVBQUUsZ0JBQWdCLEVBQUMsQ0FBQyxFQUFFO0tBQzNNLENBQUE7SUFDRCxZQUFZLENBQUMsS0FBUztRQUNwQixJQUFJLEtBQUssRUFBRSxNQUFNLEVBQUU7WUFDakIsS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLE9BQVksRUFBRSxFQUFFO2dCQUM3QixJQUFJLE9BQU8sQ0FBQyxXQUFXLEtBQUssUUFBUSxFQUFFO29CQUNwQyxJQUFJLENBQUMsYUFBYSxHQUFHLE9BQU8sQ0FBQyxNQUFNLENBQUMsR0FBRyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUUsQ0FBQyxHQUFHLEVBQUUsRUFBRSxDQUFDLENBQUM7aUJBQ2hFO1lBQ0gsQ0FBQyxDQUFDLENBQUE7U0FDRDtRQUNELElBQUcsSUFBSSxDQUFDLGFBQWEsQ0FBQyxNQUFNLEtBQUssQ0FBQztZQUNoQyxJQUFJLENBQUMsYUFBYSxHQUFFLEVBQUUsQ0FBQztRQUN6QixJQUFJLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1FBQzVCLElBQUksQ0FBQyxjQUFjLENBQUMsWUFBWSxDQUFDLENBQUM7UUFDbEMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxRQUFRLENBQUMsQ0FBQztJQUNoQyxDQUFDO3dHQTdpQlEscUJBQXFCOzRGQUFyQixxQkFBcUIsc0hDcEJsQyxvNitHQTgrQkE7OzRGRDE5QmEscUJBQXFCO2tCQUxqQyxTQUFTOytCQUNFLGtCQUFrQjtnVEFpRjVCLE9BQU87c0JBRE4sWUFBWTt1QkFBQyxnQkFBZ0IsRUFBRSxDQUFDLFFBQVEsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7XHJcbiAgQ29tcG9uZW50LFxyXG4gIE9uRGVzdHJveSxcclxuICBIb3N0TGlzdGVuZXIsXHJcbiAgQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgT25Jbml0LFxyXG59IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XHJcbmltcG9ydCB7IEFjdGl2YXRlZFJvdXRlIH0gZnJvbSBcIkBhbmd1bGFyL3JvdXRlclwiO1xyXG5pbXBvcnQgeyBSb3V0ZXIgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IFRpY2tldHNTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL3RpY2tldC1pbmZyYS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IERhdGFTZXJ2aWNlIH0gZnJvbSBcIi4uLy4uL3NlcnZpY2VzL2RhdGEuc2VydmljZVwiO1xyXG5pbXBvcnQgeyBUb2FzdFNlcnZpY2UgfSBmcm9tIFwidGFuZ28tYXBwLXVpLXNoYXJlZFwiO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UgfSBmcm9tIFwidGFuZ28tYXBwLXVpLWdsb2JhbFwiO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tIFwicnhqc1wiO1xyXG5pbXBvcnQgeyBFeGNlbFNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvZXhjZWwuc2VydmljZVwiO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJsaWItaW5mcmF0aWNrZXRzXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9pbmZyYXRpY2tldHMuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybDogXCIuL2luZnJhdGlja2V0cy5jb21wb25lbnQuc2Nzc1wiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5mcmF0aWNrZXRzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHNlbGVjdGVkVGFiOiBhbnkgPSBcImluZnJhXCI7XHJcbiAgc2VsZWN0Q2FyZDogYW55ID0gMDtcclxuICBzZWxlY3RlZElzc3VlOiBhbnkgPSBcIlwiO1xyXG4gIHVzZXJEYXRhOiBhbnkgPSBcIldvcmtzcGFjZVwiO1xyXG4gIHdvcmtIaXN0b3J5VGFibGU6IGFueTtcclxuICAvLyB3b3JrSGlzdG9yeWRhdGE6YW55O1xyXG4gIGNhcmRWaWV3OiBib29sZWFuID0gZmFsc2U7XHJcbiAgaXNPcGVuOiBib29sZWFuO1xyXG4gIGRyb3BEb3duOiBib29sZWFuID0gZmFsc2U7XHJcbiAgc2VhcmNoV29ya3NwYWNlOiBhbnk7XHJcbiAgb2Zmc2V0OiBhbnkgPSAxO1xyXG4gIHNvcnRCeTogYW55ID0gLTE7XHJcbiAgbGltaXQ6IGFueSA9IDEwO1xyXG4gIHNvcnRDb2x1bU5hbWU6IGFueTtcclxuICBzZWFyY2hIaXN0b3J5OiBhbnk7XHJcbiAgZHVtbXlPcGVuOiBhbnlbXSA9IFtdO1xyXG4gIGR1bW15SW5wcm9ncmVzczogYW55W10gPSBbXTtcclxuICBkdW1teUNsb3NlZDogYW55W10gPSBbXTtcclxuICBkcm9wZG93bkl0ZW1zOiBhbnlbXTtcclxuICBoaXN0b3J5TG9hZGluZzogYm9vbGVhbiA9IHRydWU7XHJcbiAgaGlzdG9yeU5vZGF0YTogYm9vbGVhbiA9IGZhbHNlO1xyXG4gIGxvYWRpbmc6IGFueSA9IHtcclxuICAgIG9wZW46IHRydWUsXHJcbiAgICBpbnByb2dyZXNzOiB0cnVlLFxyXG4gICAgY2xvc2VkOiB0cnVlLFxyXG4gIH07XHJcbiAgbm9EYXRhOiBhbnkgPSB7XHJcbiAgICBvcGVuOiBmYWxzZSxcclxuICAgIGlucHJvZ3Jlc3M6IGZhbHNlLFxyXG4gICAgY2xvc2VkOiBmYWxzZSxcclxuICB9O1xyXG4gIHBhZ2luYXRpb24gPSB7XHJcbiAgICBvZmZzZXQ6IDEsXHJcbiAgICBsaW1pdDogMTAsXHJcbiAgICB0b3RhbENvdW50OiAxMDAwLFxyXG4gICAgdG90YWxQYWdlczogMjAsXHJcbiAgfTtcclxuICBkYXRhT2JqZWN0OiBhbnk7XHJcbiAgc3RhdHVzT3BlbjogYW55O1xyXG4gIHN0YXR1c0Nsb3NlZDogYW55O1xyXG4gIHN0YXR1c0lucHJvZ3Jlc3M6IGFueTtcclxuICBkdW1teUhpc3Rvcnk6IGFueTtcclxuICBoZWFkZXJGaWx0ZXI6IGFueTtcclxuICBmaWx0ZXJlZERhdGE6IGFueVtdO1xyXG4gIGRhdGVGaWx0ZXI6IGFueTtcclxuICBzdG9yZUZpbHRlcjogYW55O1xyXG4gIGlzc3VlRmlsdGVyOiBhbnk7XHJcbiAgZmlsdGVyU3RvcmVzOiBhbnkgPSBbXTtcclxuICBjbGllbnRJZDogYW55O1xyXG4gIHdvcmtIaXN0b3J5ZGF0YTphbnlbXT1be2ZpbGVEYXRlOicwNi0wNi0yNCcsY2xpZW50TmFtZTonbGVuc2thcnQnLHN0b3JlTmFtZTonbGtzdDkwNScsbG9jYXRpb246J2NoZW5uYWknLHR5cGU6J2F1ZGl0JyxhY2N1cmFjeTonODAlJyx0aW1lc3BlbnQ6JzE1bWlucycsc3RhdHVzOidjb21wbGV0ZWQnfSxcclxuICAgIHtmaWxlRGF0ZTonMDctMDYtMjQnLGNsaWVudE5hbWU6J3NhbmdlZXRoYScsc3RvcmVOYW1lOidsa3N0OTA1Jyxsb2NhdGlvbjonY2hlbm5haScsdHlwZTonYXVkaXQnLGFjY3VyYWN5Oic4MCUnLHRpbWVzcGVudDonMTVtaW5zJyxzdGF0dXM6J2NvbXBsZXRlZCd9LFxyXG4gICAge2ZpbGVEYXRlOicwOC0wNi0yNCcsY2xpZW50TmFtZTonbWluaXNvJyxzdG9yZU5hbWU6J2xrc3Q5MDUnLGxvY2F0aW9uOidjaGVubmFpJyx0eXBlOidyZS1hdWRpdCcsYWNjdXJhY3k6JzgwJScsdGltZXNwZW50OicxNW1pbnMnLHN0YXR1czonaW5wcm9ncmVzcyd9LFxyXG4gICAge2ZpbGVEYXRlOicwOS0wNi0yNCcsY2xpZW50TmFtZTonbGVuc2thcnQnLHN0b3JlTmFtZTonbGtzdDkwNScsbG9jYXRpb246J2NoZW5uYWknLHR5cGU6J2F1ZGl0JyxhY2N1cmFjeTonODAlJyx0aW1lc3BlbnQ6JzE1bWlucycsc3RhdHVzOidkcmFmdCd9LFxyXG4gICAge2ZpbGVEYXRlOicxMC0wNi0yNCcsY2xpZW50TmFtZTonbGVuc2thcnQnLHN0b3JlTmFtZTonbGtzdDkwNScsbG9jYXRpb246J2NoZW5uYWknLHR5cGU6J2F1ZGl0JyxhY2N1cmFjeTonODAlJyx0aW1lc3BlbnQ6JzE1bWlucycsc3RhdHVzOidjb21wbGV0ZWQnfVxyXG4gIF07XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIHVzZXI6IGFueTtcclxuICB0eXBlOiBzdHJpbmcgfCBudWxsID0gXCJpbmZyYVwiO1xyXG4gIHVuaXF1ZUFycmF5OiBhbnk7XHJcbiAgdG90YWxJdGVtczogYW55ID0wO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSxcclxuICAgIHByaXZhdGUgdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNlcnZpY2U6IFRpY2tldHNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkYXRhc2VydmljZTogRGF0YVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZ3M6IEdsb2JhbFN0YXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgZXhjZWw6IEV4Y2VsU2VydmljZVxyXG4gICkge1xyXG4gICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUoKHBhcmFtcykgPT4ge1xyXG4gICAgICB0aGlzLnNlbGVjdGVkVGFiID0gcGFyYW1zLnNlbGVjdGVkVGFiO1xyXG4gICAgfSk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKFwiZG9jdW1lbnQ6Y2xpY2tcIiwgW1wiJGV2ZW50XCJdKVxyXG4gIG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuICAgIGlmICghdGFyZ2V0LmNsb3Nlc3QoXCIuZHJvcGRvd25cIikpIHtcclxuICAgICAgdGhpcy5kcm9wRG93biA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNlcnZpY2U/LmRhdGFTdWJqZWN0Py5zdWJzY3JpYmUodmFsdWUgPT4ge1xyXG4gICAgICB0aGlzLnVzZXJEYXRhID0gJ1dvcmtzcGFjZSdcclxuICAgIH0pXHJcbiAgICB0aGlzLmdzLmRhdGFSYW5nZVZhbHVlLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoZGF0YSAhPSBudWxsKSB7XHJcbiAgICAgICAgdGhpcy51c2VyID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlci1pbmZvJykgfHwgXCJcIilcclxuICAgICAgICB0aGlzLmhlYWRlckZpbHRlciA9IGRhdGE7XHJcbiAgICAgICAgdGhpcy5jbGllbnRJZCA9IHRoaXMuaGVhZGVyRmlsdGVyPy5jbGllbnRzXHJcbiAgICAgICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtTWFwLnN1YnNjcmliZShwYXJhbXMgPT4ge1xyXG4gICAgICAgICAgdGhpcy50eXBlID0gKHBhcmFtcy5nZXQoJ3R5cGUnKSkgPyAocGFyYW1zLmdldCgndHlwZScpKSA6IHRoaXMudHlwZTtcclxuICAgICAgICAgIGlmKHRoaXMudHlwZSA9PT0nYXVkaXQnKXt0aGlzLnVzZXJEYXRhID0gJ0hpc3RvcnknfWVsc2V7fVxyXG4gICAgICAgICAgdGhpcy5nZXRkYXRhT2JqZWN0KCk7XHJcbiAgICAgICAgICB0aGlzLnNlbGVjdERyb3Bkb3ducygpO1xyXG4gICAgICAgICAgaWYgKHRoaXMudXNlckRhdGEgPT0gJ1dvcmtzcGFjZScpIHtcclxuICAgICAgICAgICAgdGhpcy51c2VyVGlja2V0TGlzdCgnb3BlbicpO1xyXG4gICAgICAgICAgICB0aGlzLnVzZXJUaWNrZXRMaXN0KCdpbnByb2dyZXNzJyk7XHJcbiAgICAgICAgICAgIHRoaXMudXNlclRpY2tldExpc3QoJ2Nsb3NlZCcpO1xyXG4gICAgICAgICAgfSBlbHNlIGlmICh0aGlzLnVzZXJEYXRhID09ICdIaXN0b3J5Jykge1xyXG4gICAgICAgICAgICB0aGlzLndvcmtIaXN0b3J5KCk7XHJcbiAgICAgICAgICAgIHRoaXMuc3RvcmVGaWx0ZXJzKCk7XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSk7XHJcbiAgICAgIH1cclxuXHJcbiAgICB9KTtcclxuXHJcbiAgfVxyXG4gIGdldGRhdGFPYmplY3QoKSB7XHJcbiAgICBpZiAodGhpcy50eXBlID09PSBcImluZnJhXCIgfHwgdGhpcy50eXBlID09PSBcImluc3RhbGxhdGlvblwiKSB7XHJcbiAgICAgIHRoaXMuZGF0YU9iamVjdCA9IFtcclxuICAgICAgICB7IERlc2NyaXB0aW9uOiBcIlN0b3JlIElEXCIsIElzc3VlczogW10gfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBEZXNjcmlwdGlvbjogXCJJc3N1ZSBUeXBlXCIsXHJcbiAgICAgICAgICBJc3N1ZXM6IFsgeyB0ZXh0OiBcIlN0b3JlIE9wZXJhdGlvbiBJc3N1ZXNcIiB9LHsgdGV4dDogXCJDYW1lcmEgSXNzdWVzXCIgfSx7IHRleHQ6IFwiSW50ZXJuZXQgSXNzdWVzXCIgfSwgeyB0ZXh0OiBcIlN5c3RlbSBJc3N1ZXNcIiB9LHsgdGV4dDogXCJBcHBsaWNhdGlvbiBJc3N1ZXNcIiB9LCBdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgICAge1xyXG4gICAgICAgICAgRGVzY3JpcHRpb246IFwiRGF0ZSBUeXBlXCIsdHlwZTogXCJzaW5nbGVcIixcclxuICAgICAgICAgIElzc3VlczogW1xyXG4gICAgICAgICAgICB7IGlkOiBcImlzc3VlSWRlbnRpZmllZERhdGVcIiwgdGV4dDogXCJJc3N1ZSBJZGVudGlmaWVkIERhdGVcIiB9LFxyXG4gICAgICAgICAgICB7IGlkOiBcImNyZWF0ZWREYXRlXCIsIHRleHQ6IFwiQ3JlYXRlZCBEYXRlXCIgfSxcclxuICAgICAgICAgICAgeyBpZDogXCJjbG9zZWREYXRlXCIsIHRleHQ6IFwiQ2xvc2VkIERhdGVcIiB9LFxyXG4gICAgICAgICAgXSxcclxuICAgICAgICB9LFxyXG4gICAgICBdO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09IFwiZGF0YU1pc21hdGNoXCIpIHtcclxuICAgICAgdGhpcy5kYXRhT2JqZWN0ID0gW1xyXG4gICAgICAgIHsgRGVzY3JpcHRpb246ICdTdG9yZSBJRCcsIElzc3VlczogW10gfSxcclxuICAgICAgICB7IERlc2NyaXB0aW9uOiAnSXNzdWUgVHlwZScsIElzc3VlczogW3tpZDonaGlnaGNvdW50JywgdGV4dDogXCJIaWdoIGNvdW50XCIgfSwge2lkOidsb3djb3VudCcsIHRleHQ6IFwiTG93IGNvdW50XCIgfV0gfSxcclxuICAgICAgICB7IERlc2NyaXB0aW9uOiAnRGF0ZSBUeXBlJywgdHlwZTogJ3NpbmdsZScsIElzc3VlczogW3sgaWQ6IFwiaXNzdWVEYXRlXCIsdGV4dDogXCJJc3N1ZSBEYXRlXCIgfSwgeyBpZDogXCJjcmVhdGVkRGF0ZVwiLHRleHQ6IFwiQ3JlYXRlZCBEYXRlXCIgfSwgeyBpZDogXCJjbG9zZWREYXRlXCIsdGV4dDogXCJDbG9zZWQgRGF0ZVwiIH1dIH1cclxuICAgICAgXTtcclxuICAgIH1cclxuICB9XHJcbiAgcmVtb3ZlRHVwbGljYXRlcygpIHtcclxuICAgIGNvbnN0IGtleSA9ICdpZCc7IC8vIENoYW5nZSB0aGlzIGtleSB0byBhbnkga2V5IHlvdSB3YW50IHRvIHVzZSBmb3IgdW5pcXVlbmVzc1xyXG4gICAgY29uc3QgdW5pcXVlS2V5cyA9IG5ldyBTZXQoKTtcclxuICAgIGxldCBvcmlnaW5hbEFycmF5ID0gdGhpcy5kYXRhT2JqZWN0LmZpbmQoKGRhdGE6YW55KSA9PiBkYXRhLkRlc2NyaXB0aW9uID09PSdTdG9yZSBJRCcpLklzc3Vlc1xyXG4gICAgdGhpcy51bmlxdWVBcnJheSA9IG9yaWdpbmFsQXJyYXkuZmlsdGVyKChpdGVtOmFueSkgPT4ge1xyXG4gICAgICBjb25zdCBpc0R1cGxpY2F0ZSA9IHVuaXF1ZUtleXMuaGFzKGl0ZW1ba2V5XSk7XHJcbiAgICAgIHVuaXF1ZUtleXMuYWRkKGl0ZW1ba2V5XSk7XHJcbiAgICAgIHJldHVybiAhaXNEdXBsaWNhdGU7XHJcbiAgICB9KTtcclxuICB9XHJcbiAgbmdPbkRlc3Ryb3koKTogdm9pZCB7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG4gIHVzZXJUaWNrZXRMaXN0KHZhbHVlOiBhbnkpIHtcclxuICAgIC8vIHRoaXMuc2VsZWN0ZWRJc3N1ZSA9IHRoaXMuc2VsZWN0ZWRJc3N1ZSA9PT0gJ0hpZ2ggQ291bnQnID8gJ2hpZ2hjb3VudCcgOih0aGlzLnNlbGVjdGVkSXNzdWUgPT09ICdMb3cgQ291bnQnID8gJ2xvd2NvdW50JyA6ICcnKVxyXG4gICAgbGV0IGRhdGEgPSB7XHJcbiAgICAgIGNsaWVudElkOiB0aGlzLmNsaWVudElkLFxyXG4gICAgICB1c2VySWQ6IHRoaXMudXNlcj8uX2lkLFxyXG4gICAgICBzdGF0dXM6IHZhbHVlLFxyXG4gICAgICBpc3N1ZVR5cGU6IHRoaXMudHlwZSxcclxuICAgICAgZnJvbURhdGU6IHRoaXMuaGVhZGVyRmlsdGVyPy5kYXRlPy5zdGFydERhdGUsXHJcbiAgICAgIHRvRGF0ZTogdGhpcy5oZWFkZXJGaWx0ZXI/LmRhdGU/LmVuZERhdGUsXHJcbiAgICAgIHNlYXJjaFZhbHVlOiB0aGlzLnNlYXJjaFdvcmtzcGFjZSxcclxuICAgICAgZmlsdGVyOiB0aGlzLnNlbGVjdGVkSXNzdWUsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgIC51c2VyVGlja2V0TGlzdChkYXRhKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCAmJiByZXMuZGF0YS5kYXRhLmxlbmd0aCkge1xyXG4gICAgICAgICAgICBpZiAodmFsdWUgPT0gXCJvcGVuXCIpIHtcclxuICAgICAgICAgICAgICB0aGlzLnN0YXR1c09wZW4gPSByZXMuZGF0YS5kYXRhO1xyXG4gICAgICAgICAgICAgIHRoaXMubG9hZGluZy5vcGVuID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgdGhpcy5ub0RhdGEub3BlbiA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlID09IFwiaW5wcm9ncmVzc1wiKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5zdGF0dXNJbnByb2dyZXNzID0gcmVzLmRhdGEuZGF0YTtcclxuICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcuaW5wcm9ncmVzcyA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIHRoaXMubm9EYXRhLmlucHJvZ3Jlc3MgPSBmYWxzZTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLnN0YXR1c0Nsb3NlZCA9IHJlcy5kYXRhLmRhdGE7XHJcbiAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nLmNsb3NlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICAgIHRoaXMubm9EYXRhLmNsb3NlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICBpZiAodmFsdWUgPT0gXCJvcGVuXCIpIHtcclxuICAgICAgICAgICAgICB0aGlzLm5vRGF0YS5vcGVuID0gdHJ1ZTtcclxuICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcub3BlbiA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9IGVsc2UgaWYgKHZhbHVlID09IFwiaW5wcm9ncmVzc1wiKSB7XHJcbiAgICAgICAgICAgICAgdGhpcy5ub0RhdGEuaW5wcm9ncmVzcyA9IHRydWU7XHJcbiAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nLmlucHJvZ3Jlc3MgPSBmYWxzZTtcclxuICAgICAgICAgICAgfSBlbHNlIHtcclxuICAgICAgICAgICAgICB0aGlzLm5vRGF0YS5jbG9zZWQgPSB0cnVlO1xyXG4gICAgICAgICAgICAgIHRoaXMubG9hZGluZy5jbG9zZWQgPSBmYWxzZTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6ICgpID0+IHtcclxuICAgICAgICAgIHRoaXMubm9EYXRhLm9wZW4gPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nLm9wZW4gPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMubm9EYXRhLmlucHJvZ3Jlc3MgPSB0cnVlO1xyXG4gICAgICAgICAgdGhpcy5sb2FkaW5nLmlucHJvZ3Jlc3MgPSBmYWxzZTtcclxuICAgICAgICAgIHRoaXMubm9EYXRhLmNsb3NlZCA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmcuY2xvc2VkID0gZmFsc2U7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wbGV0ZTogKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICB0YWtlVGlja2V0KCkge1xyXG4gICAgbGV0IGRhdGEgPSB7IHVzZXJJZDogdGhpcy51c2VyPy5faWQsIGlzc3VlVHlwZTogdGhpcy50eXBlIH07XHJcbiAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgLnVzZXJUYWtlVGlja2V0KGRhdGEpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5nZXRTdWNjZXNzVG9hc3QocmVzLm1lc3NhZ2UpO1xyXG4gICAgICAgICAgICB0aGlzLnVzZXJUaWNrZXRMaXN0KFwib3BlblwiKTtcclxuICAgICAgICAgIH0gZWxzZSBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMSkge1xyXG4gICAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5nZXRFcnJvclRvYXN0KHJlcy5lcnJvcik7XHJcbiAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5nZXRFcnJvclRvYXN0KFwiTm8gVGlja2V0IEF2YWlsYWJsZVwiKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9LFxyXG4gICAgICAgIGVycm9yOiAoZXJyKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLnRvYXN0U2VydmljZS5nZXRFcnJvclRvYXN0KGVyci5lcnJvcik7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wbGV0ZTogKCkgPT4ge30sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgU2hvd1RpY2tldChpbmRleDogYW55KSB7XHJcbiAgICB0aGlzLnNlbGVjdENhcmQgPSBpbmRleCA/IGluZGV4IDogMDtcclxuICB9XHJcblxyXG4gIHNlbGVjdFRpY2tldCgpIHtcclxuIFxyXG4gIH1cclxuICBzZWxlY3RWaWV3KGU6IE1vdXNlRXZlbnQsIGluZGV4OiBhbnksIHZhbHVlOiBhbnkpIHtcclxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICBpZiAodmFsdWUgPT0gXCJvcGVuXCIpIHtcclxuICAgICAgdGhpcy5zdGF0dXNPcGVuW2luZGV4XS5pc09wZW4gPSAhdGhpcy5zdGF0dXNPcGVuW2luZGV4XS5pc09wZW47XHJcbiAgICB9IGVsc2UgaWYgKHZhbHVlID09IFwiaW5wcm9ncmVzc1wiKSB7XHJcbiAgICAgIHRoaXMuc3RhdHVzSW5wcm9ncmVzc1tpbmRleF0uaXNPcGVuID1cclxuICAgICAgICAhdGhpcy5zdGF0dXNJbnByb2dyZXNzW2luZGV4XS5pc09wZW47XHJcbiAgICB9IGVsc2Uge1xyXG4gICAgICB0aGlzLnN0YXR1c0Nsb3NlZFtpbmRleF0uaXNPcGVuID0gIXRoaXMuc3RhdHVzQ2xvc2VkW2luZGV4XS5pc09wZW47XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICByb3V0ZXRvVGlja2V0KHZhbHVlOiBhbnkpIHtcclxuICAgIGxldCBpc3N1ZVR5cGUgPVxyXG4gICAgICB2YWx1ZT8uaXNzdWVUeXBlID09PSBcImhpZ2hjb3VudFwiXHJcbiAgICAgICAgPyBcImhpZ2gtY291bnRcIlxyXG4gICAgICAgIDogdmFsdWU/Lmlzc3VlVHlwZSA9PT0gXCJsb3djb3VudFwiXHJcbiAgICAgICAgPyBcImxvdy1jb3VudFwiXHJcbiAgICAgICAgOiBcIlwiO1xyXG4gICAgaWYgKHZhbHVlPy5pc3N1ZVR5cGUgPT0gXCJpbmZyYVwiKSB7XHJcbiAgICAgIC8vIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcclxuICAgICAgLy8gICBgL3RpY2tldHMvdXNlcnMvdGlja2V0aW5mby8ke3ZhbHVlLnRpY2tldElkfS8ke3ZhbHVlLnN0b3JlSWR9YCxcclxuICAgICAgLy8gXSk7XHJcbiAgICAgIGxldCBkYXRhOiBhbnkgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKFwiaGVhZGVyLWZpbHRlcnNcIikgfHwgXCJcIik7XHJcbiAgICAgIGRhdGEuc3RvcmUgPSB2YWx1ZS5zdG9yZUlkO1xyXG4gICAgICBkYXRhLmNsaWVudCA9IHZhbHVlLmNsaWVudElkO1xyXG4gICAgICBkYXRhLmNsaWVudE5hbWUgPSB2YWx1ZT8uY2xpZW50TmFtZSA/IHZhbHVlPy5jbGllbnROYW1lOidTdG9yZXMnOyBcclxuICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oXCJoZWFkZXItZmlsdGVyc1wiLCBKU09OLnN0cmluZ2lmeShkYXRhKSk7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtgL21hbmFnZS9zdG9yZXMvaW5mcmEtdGlja2V0YF0sIHtxdWVyeVBhcmFtczogeyBzdG9yZUlkOiB2YWx1ZS5zdG9yZUlkLHR5cGU6XCJpbmZyYVwiIH19KTtcclxuICAgXHJcbiAgICB9IGVsc2UgaWYgKHZhbHVlPy5pc3N1ZVR5cGUgPT0gXCJpbnN0YWxsYXRpb25cIikge1xyXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZShbXHJcbiAgICAgICAgYC90aWNrZXRzL3VzZXJzL2luc3RhbGxhdGlvbmluZm8vJHt2YWx1ZS50aWNrZXRJZH0vJHt2YWx1ZS5zdG9yZUlkfWAsXHJcbiAgICAgIF0pO1xyXG4gICAgfSAgZWxzZSBpZih2YWx1ZT8uaXNzdWVUeXBlID09ICdtYXQnKSB7XHJcbiAgICAgIGlmKHZhbHVlLm1hdFN0YXR1cyA9PSdEcmFmdCcpe1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwgKGAvdGlja2V0cy9lbXBsb3llZXRyYWluaW5nLyR7dmFsdWUudGlja2V0SWR9LyR7dmFsdWUuc3RvcmVJZH0/ZnVuY3Rpb25UeXBlPXN0b3JlTWF0dXBkYXRlYCk7XHJcbiAgICAgIH1cclxuICAgICAgLy8gZWxzZSBpZih2YWx1ZS5tYXRTdGF0dXMgPT0nY2xvc2VkJyl7XHJcbiAgICAgIC8vICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCAoYC90aWNrZXRzL2VtcGxveWVldHJhaW5pbmcvJHt2YWx1ZS50aWNrZXRJZH0vJHt2YWx1ZS5zdG9yZUlkfT9mdW5jdGlvblR5cGU9b3V0cHV0YCk7XHJcbiAgICAgIC8vIH1cclxuICAgICAgZWxzZXtcclxuICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsIChgL3RpY2tldHMvZW1wbG95ZWV0cmFpbmluZy8ke3ZhbHVlLnRpY2tldElkfS8ke3ZhbHVlLnN0b3JlSWR9YCk7XHJcbiAgICAgIH1cclxuICAgIH1lbHNlIGlmIChcclxuICAgICAgdmFsdWU/Lmlzc3VlVHlwZSA9PSBcImhpZ2hjb3VudFwiIHx8XHJcbiAgICAgIHZhbHVlPy5pc3N1ZVR5cGUgPT0gXCJsb3djb3VudFwiXHJcbiAgICApIHtcclxuICAgICAgdGhpcy5zdGF0dXNVcGRhdGUodmFsdWUudGlja2V0SWQsIHZhbHVlPy5pc3N1ZVR5cGUsIHZhbHVlPy5zdGF0dXMpO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgc3RhdHVzVXBkYXRlKHZhbHVlOiBhbnksIGlzc3VlVHlwZTogYW55LCBzdGF0dXM6IGFueSkge1xyXG4gICAgLy8gY29uc29sZS5sb2coYC90aWNrZXRzL2RhdGEtbWlzbWF0Y2gvJHt0eXBlfT90aWNrZXRJZD0ke3ZhbHVlfWAsXCJ0cmVxcnFcIilcclxuICAgIGxldCB0eXBlID1cclxuICAgICAgaXNzdWVUeXBlID09PSBcImhpZ2hjb3VudFwiXHJcbiAgICAgICAgPyBcImhpZ2gtY291bnRcIlxyXG4gICAgICAgIDogaXNzdWVUeXBlID09PSBcImxvd2NvdW50XCJcclxuICAgICAgICA/IFwibG93LWNvdW50XCJcclxuICAgICAgICA6IFwiXCI7XHJcbiAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgdGlja2V0SWQ6IHZhbHVlLFxyXG4gICAgICBzdGF0dXM6IFwiaW5wcm9ncmVzc1wiLFxyXG4gICAgfTtcclxuICAgIGlmIChzdGF0dXMgPT09IFwib3BlblwiKSB7XHJcbiAgICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAgIC5zdGF0dXNVcGRhdGUoZGF0YSlcclxuICAgICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgICAgaWYgKHJlcyAmJiByZXMuY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKFxyXG4gICAgICAgICAgICAgICAgYC90aWNrZXRzL2RhdGEtbWlzbWF0Y2gvJHt0eXBlfT90aWNrZXRJZD0ke3ZhbHVlfWBcclxuICAgICAgICAgICAgICApO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9LFxyXG4gICAgICAgIH0pO1xyXG4gICAgfSBlbHNlIGlmKHN0YXR1cyAhPT0gXCJjbG9zZWRcIikge1xyXG4gICAgICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsKFxyXG4gICAgICAgIGAvdGlja2V0cy9kYXRhLW1pc21hdGNoLyR7dHlwZX0/dGlja2V0SWQ9JHt2YWx1ZX1gXHJcbiAgICAgICk7XHJcbiAgICB9XHJcbiAgfVxyXG4gIGV4cG9ydERhdGEoKSB7XHJcbiAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgdXNlcklkOiB0aGlzLnVzZXI/Ll9pZCxcclxuICAgICAgZXhwb3J0OiB0cnVlLFxyXG4gICAgICBpc3N1ZVR5cGU6IHRoaXMudHlwZSxcclxuICAgICAgZnJvbURhdGU6IHRoaXMuaGVhZGVyRmlsdGVyPy5kYXRlPy5zdGFydERhdGUsXHJcbiAgICAgIHRvRGF0ZTogdGhpcy5oZWFkZXJGaWx0ZXI/LmRhdGU/LmVuZERhdGUsXHJcbiAgICAgIHNlYXJjaFZhbHVlOiB0aGlzLnNlYXJjaFdvcmtzcGFjZSxcclxuICAgICAgZmlsdGVyOiB0aGlzLnNlbGVjdGVkSXNzdWUsXHJcbiAgICAgIGNsaWVudElkOiB0aGlzLmhlYWRlckZpbHRlci5jbGllbnRzLFxyXG4gICAgfTtcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAuZXhwb3J0dXNlclRpY2tldExpc3QoZGF0YSlcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIHRoaXMuZXhjZWwuc2F2ZUFzRXhjZWxGaWxlKHJlcywgXCJVc2VyIFRpY2tldCBMaXN0XCIpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuICB3b3JrSGlzdG9yeSgpIHtcclxuICAgIGxldCBkYXRhID0ge1xyXG4gICAgICB1c2VySWQ6IHRoaXMudXNlcj8uX2lkLFxyXG4gICAgICBvZmZzZXQ6IHRoaXMub2Zmc2V0LFxyXG4gICAgICBsaW1pdDogdGhpcy5saW1pdCxcclxuICAgICAgZnJvbURhdGU6IHRoaXMuaGVhZGVyRmlsdGVyPy5kYXRlPy5zdGFydERhdGUsXHJcbiAgICAgIHRvRGF0ZTogdGhpcy5oZWFkZXJGaWx0ZXI/LmRhdGU/LmVuZERhdGUsXHJcbiAgICAgIHNlYXJjaFZhbHVlOiB0aGlzLnNlYXJjaEhpc3RvcnksXHJcbiAgICAgIHNvcnRDb2x1bU5hbWU6IHRoaXMuc29ydENvbHVtTmFtZSxcclxuICAgICAgc29ydEJ5OiB0aGlzLnNvcnRCeSxcclxuICAgICAgaXNzdWVUeXBlOiB0aGlzLnR5cGUsXHJcbiAgICAgIGRhdGVGaWx0ZXI6IHRoaXMuZGF0ZUZpbHRlcixcclxuICAgICAgc3RvcmVGaWx0ZXI6IHRoaXMuc3RvcmVGaWx0ZXIsXHJcbiAgICAgIGlzc3VlRmlsdGVyOiB0aGlzLmlzc3VlRmlsdGVyLFxyXG4gICAgICBjbGllbnRJZDogdGhpcy5jbGllbnRJZCxcclxuICAgIH07XHJcbiAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgLndvcmtIaXN0b3J5KGRhdGEpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcz8uY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy53b3JrSGlzdG9yeVRhYmxlID0gcmVzPy5kYXRhPy5yZXN1bHQ7XHJcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9cmVzPy5kYXRhPy5jb3VudDtcclxuICAgICAgICAgICAgdGhpcy5oaXN0b3J5TG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmhpc3RvcnlOb2RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuaGlzdG9yeU5vZGF0YSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuaGlzdG9yeUxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMuaGlzdG9yeU5vZGF0YSA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLmhpc3RvcnlMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wbGV0ZSgpIHt9LFxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHNlbGVjdEl0ZW0odmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHZhbHVlID09IFwiQWxsXCIpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZElzc3VlID0gXCJcIjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJc3N1ZSA9IHZhbHVlO1xyXG4gICAgfVxyXG4gICAgaWYodGhpcy50eXBlID09PSAnaW5mcmEnIHx8IHRoaXMudHlwZSA9PT0gJ2luc3RhbGxhdGlvbicpe1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXNzdWUgPSB0aGlzLnNlbGVjdGVkSXNzdWU7XHJcbiAgICB9ZWxzZSBpZih0aGlzLnR5cGUgPT09ICdkYXRhTWlzbWF0Y2gnKXtcclxuICAgICAgLy8gY29uc29sZS5sb2coJ3RoaXMuc2VsZWN0ZWRJc3N1ZScsdGhpcy5zZWxlY3RlZElzc3VlKVxyXG4gICAgICB0aGlzLnNlbGVjdGVkSXNzdWUgPSAodGhpcy5zZWxlY3RlZElzc3VlID09PSAnTG93IENvdW50JyA/ICdsb3djb3VudCcgOih0aGlzLnNlbGVjdGVkSXNzdWUgPT09ICdIaWdoIENvdW50JyA/ICdoaWdoY291bnQnIDogJycpKVxyXG4gICAgICAvLyBjb25zb2xlLmxvZygndGhpcy5zZWxlY3RlZElzc3VlMScsdGhpcy5zZWxlY3RlZElzc3VlKVxyXG4gICAgfVxyXG4gICAgdGhpcy5kcm9wRG93biA9IGZhbHNlO1xyXG4gICAgdGhpcy51c2VyVGlja2V0TGlzdChcIm9wZW5cIik7XHJcbiAgICB0aGlzLnVzZXJUaWNrZXRMaXN0KFwiaW5wcm9ncmVzc1wiKTtcclxuICAgIHRoaXMudXNlclRpY2tldExpc3QoXCJjbG9zZWRcIik7XHJcbiAgfVxyXG4gIHNlbGVjdERyb3Bkb3ducygpe1xyXG4gICAgaWYodGhpcy50eXBlID09PSAnaW5mcmEnIHx8IHRoaXMudHlwZSA9PT0gJ2luc3RhbGxhdGlvbicpe1xyXG4gICAgICB0aGlzLmRyb3Bkb3duSXRlbXMgPSBbJ0FsbCcsICdJbnRlcm5ldCBJc3N1ZXMnLCAnQ2FtZXJhIElzc3VlcycsICdTeXN0ZW0gSXNzdWVzJywgJ0FwcGxpY2F0aW9uIElzc3VlcycsICdTdG9yZSBPcGVyYXRpb24gSXNzdWVzJywgJ05vdCBJZGVudGlmaWVkJ11cclxuICAgIH1lbHNlIGlmKHRoaXMudHlwZSA9PT0gJ2RhdGFNaXNtYXRjaCcpe1xyXG4gICAgICB0aGlzLmRyb3Bkb3duSXRlbXMgPSBbJ0FsbCcsICdMb3cgQ291bnQnLCAnSGlnaCBDb3VudCddXHJcbiAgICB9XHJcbiAgfVxyXG4gIG9wZW5Ecm9wZG93bihldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLmRyb3BEb3duID0gIXRoaXMuZHJvcERvd247XHJcbiAgfVxyXG5cclxuICB1c2VyVmFsdWUoZGF0YTogYW55KSB7XHJcbiAgICB0aGlzLnVzZXJEYXRhID0gZGF0YTtcclxuICAgIGlmICh0aGlzLnVzZXJEYXRhID09IFwiSGlzdG9yeVwiKSB7XHJcbiAgICAgIHRoaXMud29ya0hpc3RvcnkoKTtcclxuICAgICAgdGhpcy5zdG9yZUZpbHRlcnMoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWFyY2hUaWNrZXRzKCkge1xyXG4gICAgdGhpcy51c2VyVGlja2V0TGlzdChcIm9wZW5cIik7XHJcbiAgICB0aGlzLnVzZXJUaWNrZXRMaXN0KFwiaW5wcm9ncmVzc1wiKTtcclxuICAgIHRoaXMudXNlclRpY2tldExpc3QoXCJjbG9zZWRcIik7XHJcbiAgfVxyXG5cclxuICBzZWFyY2hIaXN0b3J5VGFibGUoKSB7XHJcbiAgICB0aGlzLndvcmtIaXN0b3J5KCk7XHJcbiAgfVxyXG5cclxuICByZWNlaXZlRGF0YShkYXRhOiBhbnlbXSkge1xyXG4gICAgdGhpcy5zdG9yZUZpbHRlciA9IGRhdGFcclxuICAgICAgLmZpbmQoKG9iaikgPT4gb2JqLkRlc2NyaXB0aW9uID09PSBcIlN0b3JlIElEXCIpXHJcbiAgICAgID8uSXNzdWVzLm1hcCgoaXRlbTogYW55KSA9PiBpdGVtPy50ZXh0KTtcclxuICAgIHRoaXMuZGF0ZUZpbHRlciA9IGRhdGEuZmluZChcclxuICAgICAgKG9iaikgPT4gb2JqLkRlc2NyaXB0aW9uID09PSBcIkRhdGUgVHlwZVwiXHJcbiAgICApPy5Jc3N1ZXM/LmlkO1xyXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gXCJpbmZyYVwiIHx8IHRoaXMudHlwZSA9PT0gXCJpbnN0YWxsYXRpb25cIikge1xyXG4gICAgICBjb25zb2xlLmxvZyhcImluZnJhXCIpO1xyXG4gICAgICB0aGlzLmlzc3VlRmlsdGVyID0gZGF0YVxyXG4gICAgICAgIC5maW5kKChvYmopID0+IG9iai5EZXNjcmlwdGlvbiA9PT0gXCJJc3N1ZSBUeXBlXCIpXHJcbiAgICAgICAgPy5Jc3N1ZXMubWFwKChpdGVtOiBhbnkpID0+IGl0ZW0/LnRleHQpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09IFwiZGF0YU1pc21hdGNoXCIpIHtcclxuICAgICAgY29uc29sZS5sb2coXCJkYXRhTWlzbWF0Y2hcIik7XHJcbiAgICAgIHRoaXMuaXNzdWVGaWx0ZXIgPSBkYXRhXHJcbiAgICAgICAgLmZpbmQoKG9iaikgPT4gb2JqLkRlc2NyaXB0aW9uID09PSBcIklzc3VlIFR5cGVcIilcclxuICAgICAgICA/Lklzc3Vlcy5tYXAoKGl0ZW06IGFueSkgPT4gaXRlbT8uaWQpO1xyXG4gICAgfVxyXG4gICAgdGhpcy53b3JrSGlzdG9yeSgpO1xyXG4gIH1cclxuXHJcbiAgRXhwb3J0SGlzdG9yeWFzWGxzeCgpIHtcclxuICAgIGxldCBleHBvcnREYXRhID0ge1xyXG4gICAgICB1c2VySWQ6IHRoaXMudXNlcj8uX2lkLFxyXG4gICAgICBpc3N1ZVR5cGU6IHRoaXMudHlwZSxcclxuICAgICAgb2Zmc2V0OiB0aGlzLm9mZnNldCxcclxuICAgICAgbGltaXQ6IDEwMDAsXHJcbiAgICAgIGZyb21EYXRlOiB0aGlzLmhlYWRlckZpbHRlcj8uZGF0ZT8uc3RhcnREYXRlLFxyXG4gICAgICB0b0RhdGU6IHRoaXMuaGVhZGVyRmlsdGVyPy5kYXRlPy5lbmREYXRlLFxyXG4gICAgICBzZWFyY2hWYWx1ZTogdGhpcy5zZWFyY2hIaXN0b3J5LFxyXG4gICAgICBzb3J0Q29sdW1OYW1lOiB0aGlzLnNvcnRDb2x1bU5hbWUsXHJcbiAgICAgIHNvcnRCeTogdGhpcy5zb3J0QnksXHJcbiAgICAgIGV4cG9ydDogXCJ0cnVlXCIsXHJcbiAgICAgIGRhdGVGaWx0ZXI6IHRoaXMuZGF0ZUZpbHRlcixcclxuICAgICAgc3RvcmVGaWx0ZXI6IHRoaXMuc3RvcmVGaWx0ZXIsXHJcbiAgICAgIGlzc3VlRmlsdGVyOiB0aGlzLmlzc3VlRmlsdGVyLFxyXG4gICAgICBjbGllbnRJZDogdGhpcy5oZWFkZXJGaWx0ZXIuY2xpZW50cyxcclxuICAgIH07XHJcbiAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgLndvcmtIaXN0b3J5RXhwb3J0KGV4cG9ydERhdGEpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0YVNlcnZpY2Uuc2F2ZUFzRXhjZWxGaWxlKHJlcywgXCJIaXN0b3J5XCIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgICAgdGhpcy5oaXN0b3J5Tm9kYXRhID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuaGlzdG9yeUxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXBsZXRlKCkge30sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc29ydERhdGEodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5zb3J0Q29sdW1OYW1lID0gdmFsdWU7XHJcbiAgICB0aGlzLnNvcnRCeSAqPSAtMTtcclxuICAgIHRoaXMud29ya0hpc3RvcnkoKTtcclxuICB9XHJcblxyXG4gIG9uUGFnZUNoYW5nZShwYWdlT2Zmc2V0OiBudW1iZXIpIHtcclxuICAgIHRoaXMub2Zmc2V0ID0gcGFnZU9mZnNldDtcclxuICAgIHRoaXMud29ya0hpc3RvcnkoKTtcclxuICB9XHJcblxyXG4gIG9uUGFnZVNpemVDaGFuZ2UocGFnZVNpemU6IG51bWJlcikge1xyXG4gICAgdGhpcy5saW1pdCA9IHBhZ2VTaXplO1xyXG4gICAgdGhpcy5vZmZzZXQgPSAxO1xyXG4gICAgdGhpcy53b3JrSGlzdG9yeSgpO1xyXG4gIH1cclxuXHJcbiAgc3RvcmVGaWx0ZXJzKCkge1xyXG4gICAgbGV0IGRhdGEgPSB7XHJcbiAgICAgIHVzZXJJZDogdGhpcy51c2VyPy5faWQsXHJcbiAgICAgIG9mZnNldDogdGhpcy5vZmZzZXQsXHJcbiAgICAgIGxpbWl0OiAxMDAwMCxcclxuICAgICAgZnJvbURhdGU6IHRoaXMuaGVhZGVyRmlsdGVyPy5kYXRlPy5zdGFydERhdGUsXHJcbiAgICAgIHRvRGF0ZTogdGhpcy5oZWFkZXJGaWx0ZXI/LmRhdGU/LmVuZERhdGUsXHJcbiAgICAgIGlzc3VlVHlwZTogdGhpcy50eXBlLFxyXG4gICAgICBjbGllbnRJZDogdGhpcy5oZWFkZXJGaWx0ZXIuY2xpZW50c1xyXG4gICAgfVxyXG4gICAgdGhpcy5maWx0ZXJTdG9yZXMgPSBbXTtcclxuICAgIHRoaXMuc2VydmljZS53b3JrSGlzdG9yeShkYXRhKS5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSkuc3Vic2NyaWJlKHtcclxuICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKHJlcyAmJiByZXM/LmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICB0aGlzLmZpbHRlclN0b3JlcyA9IHJlcy5kYXRhLnJlc3VsdDtcclxuICAgICAgICAgIGNvbnN0IGlzc3VlcyA9IHRoaXMuZmlsdGVyU3RvcmVzLm1hcCgob2JqOiBhbnkpID0+ICh7IHRleHQ6IG9iai5zdG9yZUlkIH0pKTtcclxuICAgICAgICAgIGNvbnN0IHVuaXF1ZUlzc3VlczphbnlbXSA9IFtdO1xyXG4gICAgICAgICAgY29uc3Qgc3RvcmVJZHMgPSBuZXcgU2V0KCk7XHJcbiAgICAgICAgICBpc3N1ZXMuZm9yRWFjaCgoaXNzdWU6YW55KSA9PiB7XHJcbiAgICAgICAgICAgIGlmICghc3RvcmVJZHMuaGFzKGlzc3VlLnRleHQpKSB7XHJcbiAgICAgICAgICAgICAgc3RvcmVJZHMuYWRkKGlzc3VlLnRleHQpO1xyXG4gICAgICAgICAgICAgIHVuaXF1ZUlzc3Vlcy5wdXNoKGlzc3VlKTtcclxuICAgICAgICAgICAgfVxyXG4gICAgICAgICAgfSk7XHJcbiAgICAgICAgICBjb25zdCBmaWx0cmVkT2JqZWN0ID0gKHRoaXMuZGF0YU9iamVjdC5maW5kKChvYmo6IGFueSkgPT4gb2JqLkRlc2NyaXB0aW9uID09PSBcIlN0b3JlIElEXCIpKVxyXG4gICAgICAgICAgZmlsdHJlZE9iamVjdC5Jc3N1ZXMgPSB1bmlxdWVJc3N1ZXM7XHJcbiAgICAgICAgfVxyXG4gICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICB9LFxyXG4gICAgfSlcclxuICB9XHJcbiAgdmlld1VzZXIoKXtcclxuXHJcbiAgfVxyXG5cclxuICBkYXRhT2JqZWN0MTogYW55ID0gW1xyXG4gICAgeyBEZXNjcmlwdGlvbjogJ1N0YXR1cycsIElzc3VlczogW3sgdGV4dDogXCJTdG9yZSBPcGVyYXRpb24gSXNzdWVzXCIsIGlkOiAnU3RvcmUgT3BlcmF0aW9uIElzc3VlcycgfSwgeyB0ZXh0OiBcIkludGVybmV0IElzc3Vlc1wiLCBpZDogJ0ludGVybmV0IElzc3VlcycgfSwgXHJcbiAgICAgIHsgdGV4dDogXCJDYW1lcmEgSXNzdWVzXCIsIGlkOiBcIkNhbWVyYSBJc3N1ZXNcIiB9LHsgdGV4dDogXCJTeXN0ZW0gSXNzdWVzXCIsIGlkOiBcIlN5c3RlbSBJc3N1ZXNcIiB9LHsgdGV4dDogXCJBcHBsaWNhdGlvbiBJc3N1ZXNcIiwgaWQ6IFwiQXBwbGljYXRpb24gSXNzdWVzXCIgfSx7dGV4dDogXCJOb3QgSWRlbnRpZmllZFwiLCBpZDogXCJOb3QgSWRlbnRpZmllZFwifV0gfSxcclxuICBdXHJcbiAgYXBwbHlGaWx0ZXJzKGV2ZW50OmFueSl7XHJcbiAgICBpZiAoZXZlbnQ/Lmxlbmd0aCkge1xyXG4gICAgICBldmVudC5mb3JFYWNoKChlbGVtZW50OiBhbnkpID0+IHtcclxuICAgICAgICBpZiAoZWxlbWVudC5EZXNjcmlwdGlvbiA9PT0gXCJTdGF0dXNcIikge1xyXG4gICAgICAgICAgdGhpcy5zZWxlY3RlZElzc3VlID0gZWxlbWVudC5Jc3N1ZXMubWFwKCh2YWw6IGFueSkgPT4gdmFsPy5pZCk7XHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgICB9XHJcbiAgICAgIGlmKHRoaXMuc2VsZWN0ZWRJc3N1ZS5sZW5ndGggPT09IDYpXHJcbiAgICAgICAgdGhpcy5zZWxlY3RlZElzc3VlID1bXTtcclxuICAgICAgdGhpcy51c2VyVGlja2V0TGlzdCgnb3BlbicpO1xyXG4gICAgICB0aGlzLnVzZXJUaWNrZXRMaXN0KCdpbnByb2dyZXNzJyk7XHJcbiAgICAgIHRoaXMudXNlclRpY2tldExpc3QoJ2Nsb3NlZCcpO1xyXG4gICAgfVxyXG5cclxufVxyXG4iLCJcclxuPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWhlYWRlciBib3JkZXItMCBwdC0zXCI+XHJcbiAgICAgICAgPGgzIGNsYXNzPVwiY2FyZC10aXRsZSBhbGlnbi1pdGVtcy1zdGFydCBmbGV4LWNvbHVtblwiPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cInR5cGUgIT09ICdtYXQnICYmIHR5cGUgIT09ICdkYXRhTWlzbWF0Y2gnXCIgY2xhc3M9XCJjYXJkLWxhYmVsIG1iLTJcIj57e3R5cGUgfCB0aXRsZWNhc2V9fSBUaWNrZXRzPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cInR5cGUgPT09ICdkYXRhTWlzbWF0Y2gnXCIgY2xhc3M9XCJjYXJkLWxhYmVsIG1iLTJcIj5EYXRhIE1pc21hdGNoIFRpY2tldHM8L3NwYW4+XHJcbiAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidHlwZSA9PT0gJ21hdCdcIiBjbGFzcz1cImNhcmQtbGFiZWwgbWItMlwiPkVtcGxveWVlIE1hdDwvc3Bhbj5cclxuICAgICAgICAgICAgPCEtLSA8c3BhbiBjbGFzcz1cInRleHQtc3ViIG1iLTJcIj5MYXN0IHVwZGF0ZWQgMSBob3VyIGFnbzwvc3Bhbj4gLS0+XHJcbiAgICAgICAgPC9oMz5cclxuICAgICAgICA8ZGl2ICpuZ0lmPVwidXNlckRhdGEgPT09J1dvcmtzcGFjZSdcIiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xIHBvc2l0aW9uLWFic29sdXRlIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCBvcGFjaXR5PVwiMC41XCIgeD1cIjE3LjAzNjVcIiB5PVwiMTUuMTIyM1wiIHdpZHRoPVwiOC4xNTU0NlwiIGhlaWdodD1cIjJcIiByeD1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInJvdGF0ZSg0NSAxNy4wMzY1IDE1LjEyMjMpXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcmVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMSAxOUM2LjU1NTU2IDE5IDMgMTUuNDQ0NCAzIDExQzMgNi41NTU1NiA2LjU1NTU2IDMgMTEgM0MxNS40NDQ0IDMgMTkgNi41NTU1NiAxOSAxMUMxOSAxNS40NDQ0IDE1LjQ0NDQgMTkgMTEgMTlaTTExIDVDNy41MzMzMyA1IDUgNy41MzMzMyA1IDExQzUgMTQuNDY2NyA3LjUzMzMzIDE3IDExIDE3QzE0LjQ2NjcgMTcgMTcgMTQuNDY2NyAxNyAxMUMxNyA3LjUzMzMzIDE0LjQ2NjcgNSAxMSA1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sIHBzLTE0IG1lLTJcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hXb3Jrc3BhY2VcIiAoY2hhbmdlKT1cInNlYXJjaFRpY2tldHMoKVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDxsaWItZmlsdGVycyAqbmdJZj1cInR5cGUgIT09ICdtYXQnICYmIHR5cGUgIT09J2RhdGFNaXNtYXRjaCdcIiBbZGF0YU9iamVjdF09XCJkYXRhT2JqZWN0MVwiIChhcHBsaWVkRmlsdGVycyk9XCJhcHBseUZpbHRlcnMoJGV2ZW50KVwiPjwvbGliLWZpbHRlcnM+XHJcbiAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxkaXYgKm5nSWY9XCJ0eXBlICE9PSAnbWF0J1wiIGNsYXNzPVwicG9zaXRpb24tcmVsYXRpdmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cIm9wZW5Ecm9wZG93bigkZXZlbnQpXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJidG4gYnRuLWRlZmF1bHQgbXgtMiBidG4tb3V0bGluZSBidG4tb3V0bGluZS1kZWZhdWx0IHJvdW5kZWQtMyB0ZXh0LW5vd3JhcCBib3JkZXItdmFsXCI+PHN2Z1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgd2lkdGg9XCIyMFwiIGhlaWdodD1cIjIwXCIgdmlld0JveD1cIjAgMCAyMCAyMFwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk01IDEwSDE1TTIuNSA1SDE3LjVNNy41IDE1SDEyLjVcIiBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwibXMtMlwiPkZpbHRlcjwvc3Bhbj4gPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJkcm9wRG93blwiIGNsYXNzPVwiY2FyZCBweS0xIHctMjAwcHggcG9zaXRpb24tYWJzb2x1dGUgdG9wLTUwcHggZW5kLTBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dWwgKm5nRm9yPVwibGV0IGl0ZW0gb2YgZHJvcGRvd25JdGVtc1wiIGNsYXNzPVwibGlzdC11bnN0eWxlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsaSBbbmdDbGFzc109XCJ0aGlzLnNlbGVjdGVkSXNzdWUgPT09IGl0ZW0gPyAnYWN0aXZlJyA6ICcnXCIgY2xhc3M9XCJjYW1lcmEgcHgtNSBpdGVtcyBmdy1zZW1pYm9sZCBjdXJzb3ItcG9pbnRlciBweS0yXCIgKGNsaWNrKT1cInNlbGVjdEl0ZW0oaXRlbSlcIj57e2l0ZW19fTwvbGk+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC91bD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+IC0tPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/Lm1hbmFnZV90aWNrZXRzX2lzRG93bmxvYWQgJiYgKCFub0RhdGEub3BlbiB8fCAhbm9EYXRhLmlucHJvZ3Jlc3MgfHwgIW5vRGF0YS5jbG9zZWQpXCIgKGNsaWNrKT1cImV4cG9ydERhdGEoKVwiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIHAtMyB0ZXh0LW5vd3JhcCBib3JkZXIgYm9yZGVyLWdyYXkgbXMtMiBtZS0yXCIgdHlwZT1cImJ1dHRvblwiPjxzcGFuPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTE3LjUgMTIuNVYxNS44MzMzQzE3LjUgMTYuMjc1NCAxNy4zMjQ0IDE2LjY5OTMgMTcuMDExOCAxNy4wMTE4QzE2LjY5OTMgMTcuMzI0NCAxNi4yNzU0IDE3LjUgMTUuODMzMyAxNy41SDQuMTY2NjdDMy43MjQ2NCAxNy41IDMuMzAwNzIgMTcuMzI0NCAyLjk4ODE2IDE3LjAxMThDMi42NzU1OSAxNi42OTkzIDIuNSAxNi4yNzU0IDIuNSAxNS44MzMzVjEyLjVNMTQuMTY2NyA2LjY2NjY3TDEwIDIuNU0xMCAyLjVMNS44MzMzMyA2LjY2NjY3TTEwIDIuNVYxMi41XCIgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjJcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj4gRXhwb3J0PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy5tYW5hZ2VfdGlja2V0c19pc0VkaXRcIiB0eXBlPVwiYnV0dG9uXCIgKGNsaWNrKT1cInRha2VUaWNrZXQoKVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1wcmltYXJ5IG14LTIgcm91bmRlZC0zIHRleHQtbm93cmFwXCI+PHNwYW4gY2xhc3M9XCJtcy0yIHRleHQtd2hpdGVcIj5UYWtlIFRpY2tldDwvc3Bhbj4gPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cInVzZXJEYXRhID09PSdIaXN0b3J5J1wiIGNsYXNzPVwiY2FyZC10b29sYmFyXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIHBvc2l0aW9uLXJlbGF0aXZlIG15LTFcIj5cclxuICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN2Zy1pY29uIHN2Zy1pY29uLTEgcG9zaXRpb24tYWJzb2x1dGUgbXMtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjI0XCIgaGVpZ2h0PVwiMjRcIiB2aWV3Qm94PVwiMCAwIDI0IDI0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IG9wYWNpdHk9XCIwLjVcIiB4PVwiMTcuMDM2NVwiIHk9XCIxNS4xMjIzXCIgd2lkdGg9XCI4LjE1NTQ2XCIgaGVpZ2h0PVwiMlwiIHJ4PVwiMVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdHJhbnNmb3JtPVwicm90YXRlKDQ1IDE3LjAzNjUgMTUuMTIyMylcIiBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9yZWN0PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGhcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBkPVwiTTExIDE5QzYuNTU1NTYgMTkgMyAxNS40NDQ0IDMgMTFDMyA2LjU1NTU2IDYuNTU1NTYgMyAxMSAzQzE1LjQ0NDQgMyAxOSA2LjU1NTU2IDE5IDExQzE5IDE1LjQ0NDQgMTUuNDQ0NCAxOSAxMSAxOVpNMTEgNUM3LjUzMzMzIDUgNSA3LjUzMzMzIDUgMTFDNSAxNC40NjY3IDcuNTMzMzMgMTcgMTEgMTdDMTQuNDY2NyAxNyAxNyAxNC40NjY3IDE3IDExQzE3IDcuNTMzMzMgMTQuNDY2NyA1IDExIDVaXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBmaWxsPVwiY3VycmVudENvbG9yXCI+PC9wYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPGlucHV0IHR5cGU9XCJ0ZXh0XCIgY2xhc3M9XCJmb3JtLWNvbnRyb2wgcHMtMTQgbWUtMlwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJTZWFyY2hcIiBhdXRvY29tcGxldGU9XCJvZmZcIiBbKG5nTW9kZWwpXT1cInNlYXJjaEhpc3RvcnlcIiAoY2hhbmdlKT1cInNlYXJjaEhpc3RvcnlUYWJsZSgpXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgIDxsaWItZmlsdGVycyAqbmdJZj1cInR5cGUgIT09ICdtYXQnICYmIHR5cGUhPT0nYXVkaXQnICYmIGZpbHRlclN0b3Jlcz8ubGVuZ3RoID4gMFwiIFtkYXRhT2JqZWN0XT1cImRhdGFPYmplY3RcIiAoYXBwbGllZEZpbHRlcnMpPVwicmVjZWl2ZURhdGEoJGV2ZW50KVwiID48L2xpYi1maWx0ZXJzPlxyXG5cclxuICAgICAgICAgICAgICAgICAgICA8YnV0dG9uICpuZ0lmPVwiKGdzLnVzZXJBY2Nlc3MgfCBhc3luYyk/Lm1hbmFnZV90aWNrZXRzX2lzRG93bmxvYWQgJiYgIWhpc3RvcnlOb2RhdGFcIiAoY2xpY2spPVwiRXhwb3J0SGlzdG9yeWFzWGxzeCgpXCIgY2xhc3M9XCJidG4gYnRuLW91dGxpbmUgcC0zIGJvcmRlciBib3JkZXItZ3JheSBtcy0yIG1lLTIgdGV4dC1ub3dyYXBcIiB0eXBlPVwiYnV0dG9uXCI+PHNwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xNy41IDEyLjVWMTUuODMzM0MxNy41IDE2LjI3NTQgMTcuMzI0NCAxNi42OTkzIDE3LjAxMTggMTcuMDExOEMxNi42OTkzIDE3LjMyNDQgMTYuMjc1NCAxNy41IDE1LjgzMzMgMTcuNUg0LjE2NjY3QzMuNzI0NjQgMTcuNSAzLjMwMDcyIDE3LjMyNDQgMi45ODgxNiAxNy4wMTE4QzIuNjc1NTkgMTYuNjk5MyAyLjUgMTYuMjc1NCAyLjUgMTUuODMzM1YxMi41TTE0LjE2NjcgNi42NjY2N0wxMCAyLjVNMTAgMi41TDUuODMzMzMgNi42NjY2N00xMCAyLjVWMTIuNVwiIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIxLjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPiBFeHBvcnRcclxuICAgICAgICAgICAgICAgICAgICA8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcblxyXG4gICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBweS0yXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBvdmVyZmxvdy1hdXRvIGgtNTVweFwiPlxyXG4gICAgICAgICAgICA8dWwgY2xhc3M9XCJuYXYgbmF2LXN0cmV0Y2ggbmF2LWxpbmUtdGFicyBuYXYtbGluZS10YWJzLTJ4IGJvcmRlci10cmFuc3BhcmVudCBmcy01IGZ3LWJvbGRlciBmbGV4LW5vd3JhcFwiPlxyXG4gICAgICAgICAgICAgICAgPGxpICpuZ0lmPVwidHlwZSAhPT0gJ2F1ZGl0J1wiIChjbGljayk9XCJ1c2VyVmFsdWUoJ1dvcmtzcGFjZScpXCIgIGNsYXNzPVwibmF2LWl0ZW0gY3Vyc29yLXBvaW50ZXJcIj48YSBbbmdDbGFzc109XCJ1c2VyRGF0YSA9PT0nV29ya3NwYWNlJyA/ICdhY3RpdmUnIDonJ1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwibmF2LWxpbmsgdGV4dC1hY3RpdmUtcHJpbWFyeSBtZS02XCI+V29ya3NwYWNlPC9hPlxyXG4gICAgICAgICAgICAgICAgPC9saT5cclxuICAgICAgICAgICAgICAgIDwhLS0gKm5nSWY9XCJ0eXBlIT09J2RhdGFNaXNtYXRjaCdcIiAtLT5cclxuICAgICAgICAgICAgICAgIDxsaSAoY2xpY2spPVwidXNlclZhbHVlKCdIaXN0b3J5JylcIiBjbGFzcz1cIm5hdi1pdGVtIGN1cnNvci1wb2ludGVyXCI+PGEgW25nQ2xhc3NdPVwidXNlckRhdGEgPT09J0hpc3RvcnknID8gJ2FjdGl2ZScgOicnXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJuYXYtbGluayB0ZXh0LWFjdGl2ZS1wcmltYXJ5IG1lLTZcIj5IaXN0b3J5PC9hPjwvbGk+XHJcbiAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2ICpuZ0lmPVwidXNlckRhdGEgPT09J1dvcmtzcGFjZSdcIiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS00XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgaC0xMDAgcm91bmRlZC0yIG92ZXJmbG93LWhpZGRlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiYWRnZS1saWdodC1kZWZhdWx0IHB4LTMgcHktNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPk9wZW48L3NwYW4+PHNwYW4gKm5nSWY9XCJzdGF0dXNPcGVuPy5sZW5ndGggPiAwICYmICFsb2FkaW5nLm9wZW4gJiYgIW5vRGF0YS5vcGVuXCIgY2xhc3M9XCJyb3VuZGVkLTUgbXMtMyBweC0xIGJvcmRlciBib3JkZXItZ3JheSBiZy1iYWRnZVwiPnt7c3RhdHVzT3Blbj8ubGVuZ3RofX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd2JvZHkgaC0xMDAgcHgtNCBweS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhbG9hZGluZy5vcGVuICYmICFub0RhdGEub3BlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgb3BlbiBvZiBzdGF0dXNPcGVuOyBsZXQgaW5kZXggPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJvcGVuLmlzT3BlbiA/ICdhY3RpdmUnOicnXCIgIGNsYXNzPVwiaXNzdWVjYXJkIGN1cnNvci1wb2ludGVyIHctMTAwIG1iLTVcIiAoY2xpY2spPVwicm91dGV0b1RpY2tldChvcGVuKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwib3Blbi5pc09wZW5cIiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmdy1zZW1pYm9sZFwiPnt7b3Blbj8uc3RvcmVJZCA/IG9wZW4/LnN0b3JlSWQgOictLSd9fTwvbGFiZWw+PGJyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZ3LXNlbWlib2xkIG0tMlwiPnt7b3Blbj8uc3RvcmVOYW1lID8gb3Blbj8uc3RvcmVOYW1lIDonLS0nfX08L2xhYmVsPjxicj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1kZWZhdWx0IG1lLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJtZS0yXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzczMl82MDI3NylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTggMVYzTTQgMVYzTTEuNSA1SDEwLjVNMi41IDJIOS41QzEwLjA1MjMgMiAxMC41IDIuNDQ3NzIgMTAuNSAzVjEwQzEwLjUgMTAuNTUyMyAxMC4wNTIzIDExIDkuNSAxMUgyLjVDMS45NDc3MiAxMSAxLjUgMTAuNTUyMyAxLjUgMTBWM0MxLjUgMi40NDc3MiAxLjk0NzcyIDIgMi41IDJaXCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuMVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzczMl82MDI3N1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz57e29wZW4/LkRhdGUgPyBvcGVuPy5EYXRlIDogJy0tJ319XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm9wZW4/LmluZnJhSXNzdWVcIiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXdhcm5pbmdcIj57e29wZW4/LmluZnJhSXNzdWUgPyBvcGVuPy5pbmZyYUlzc3VlIDonLS0nfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidHlwZSA9PT0naW5zdGFsbGF0aW9uJ1wiIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtcHJpbWFyeVwiPnt7b3Blbj8uaW5zdGFsbGF0aW9uU3RhdHVzID8gb3Blbj8uaW5zdGFsbGF0aW9uU3RhdHVzIDonLS0nfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwidHlwZSA9PT0nZGF0YU1pc21hdGNoJ1wiIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtd2FybmluZ1wiPnt7b3Blbj8uaXNzdWVUeXBlID09PSAnaGlnaGNvdW50JyA/ICdIaWdoIENvdW50JyA6IChvcGVuPy5pc3N1ZVR5cGUgPT09ICdsb3djb3VudCcgPyAnTG93IENvdW50JyA6ICcnKX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9wZW4/Lm5vdGlmaWNhdGlvblwiIGNsYXNzPVwicHJvZmlsZSBkLWZsZXggYWxpZ24taXRlbXMtY2VudHJlIGp1c3RpZnktY29udGVudC1jZW50cmUgbWUtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ltYWdlcy9CZWxsbm90aWZpY2F0aW9uLnBuZ1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAoY2xpY2spPVwic2VsZWN0VmlldygkZXZlbnQsaW5kZXgsJ29wZW4nKVwiPiA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIxXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIxIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMy4xNjYgMi41SDE4LjE2Nk0xOC4xNjYgMi41VjcuNU0xOC4xNjYgMi41TDEyLjMzMjcgOC4zMzMzM004LjE2NjAyIDE3LjVIMy4xNjYwMk0zLjE2NjAyIDE3LjVWMTIuNU0zLjE2NjAyIDE3LjVMOC45OTkzNSAxMS42NjY3XCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gdGV4dC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+ICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCIgPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIiBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+PHN2ZyBjbGFzcz1cIm1lLTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTAuNzk2NiAxLjQyNzUyQzEwLjY1NDEgMS4yOTY4MSAxMC40NjY3IDEuMjI2MTcgMTAuMjczMyAxLjIzMDM3QzEwLjA4IDEuMjM0NTYgOS44OTU4IDEuMzEzMjUgOS43NTkxMSAxLjQ1MDAyTDEuNDg5MTEgOS43MjAwMkMxLjQxOTM4IDkuNzg5NjggMS4zNjQwNiA5Ljg3MjM5IDEuMzI2MzIgOS45NjM0NEMxLjI4ODU3IDEwLjA1NDUgMS4yNjkxNSAxMC4xNTIxIDEuMjY5MTUgMTAuMjUwNkMxLjI2OTE1IDEwLjM0OTIgMS4yODg1NyAxMC40NDY4IDEuMzI2MzIgMTAuNTM3OUMxLjM2NDA2IDEwLjYyODkgMS40MTkzOCAxMC43MTE2IDEuNDg5MTEgMTAuNzgxM0wyLjY0NjYxIDExLjkzODhDMi42NTYzMiAxMS45NDE4IDIuNjY2NDcgMTEuOTQzIDIuNjc2NjEgMTEuOTQyNUMyLjcxNDExIDExLjk0MjUgMi43NjQxMSAxMS45Mjg4IDIuODExNjEgMTEuODk3NUMzLjI2ODQ1IDExLjU5MjcgMy44MTY4IDExLjQ1NTcgNC4zNjMzMSAxMS41MDk3QzQuOTA5ODMgMTEuNTYzNyA1LjQyMDczIDExLjgwNTUgNS44MDkwNSAxMi4xOTM4QzYuMTk3MzggMTIuNTgyMiA2LjQzOTEzIDEzLjA5MzEgNi40OTMxNiAxMy42Mzk2QzYuNTQ3MTggMTQuMTg2MSA2LjQxMDE0IDE0LjczNDQgNi4xMDUzNiAxNS4xOTEzQzYuMDc3OTIgMTUuMjMxMSA2LjA2MjMxIDE1LjI3NzkgNi4wNjAzNiAxNS4zMjYzQzYuMDYwMzYgMTUuMzQyNSA2LjA2Mjg2IDE1LjM1MTMgNi4wNjQxMSAxNS4zNTVMNy4xOTQxMSAxNi40ODYzQzcuMjY1MTIgMTYuNTU3NCA3LjM0OTcxIDE2LjYxMzYgNy40NDI4NSAxNi42NTE0QzcuNTM1OTkgMTYuNjg5MiA3LjYzNTc5IDE2LjcwNzkgNy43MzYzIDE2LjcwNjRDNy44MzY4MiAxNi43MDQ5IDcuOTM2IDE2LjY4MzIgOC4wMjc5NiAxNi42NDI2QzguMTE5OTIgMTYuNjAyIDguMjAyNzggMTYuNTQzMyA4LjI3MTYxIDE2LjQ3TDE2LjUyMDQgNy43MDUwMkMxNi41ODgzIDcuNjMyNjcgMTYuNjQxMiA3LjU0NzU1IDE2LjY3NiA3LjQ1NDZDMTYuNzEwOCA3LjM2MTY1IDE2LjcyNjggNy4yNjI3MiAxNi43MjMxIDcuMTYzNTRDMTYuNzE5MyA3LjA2NDM2IDE2LjY5NiA2Ljk2NjkxIDE2LjY1NDMgNi44NzY4M0MxNi42MTI2IDYuNzg2NzUgMTYuNTUzNSA2LjcwNTgzIDE2LjQ4MDQgNi42Mzg3N0wxNS4zNzI5IDUuNjIyNTJIMTUuMzY5MUMxNS4zNTE0IDUuNjE5MDIgMTUuMzMzMSA1LjYxOTAyIDE1LjMxNTQgNS42MjI1MkMxNS4yNDQ4IDUuNjM3MjIgMTUuMTgwNiA1LjY3MzQ4IDE1LjEzMTYgNS43MjYyN0MxNC45MjI3IDUuOTYzMDUgMTQuNjY4NyA2LjE1NTc5IDE0LjM4NDUgNi4yOTMyM0MxNC4xMDAyIDYuNDMwNjcgMTMuNzkxNCA2LjUxMDA1IDEzLjQ3NjEgNi41MjY3M0MxMy4xNjA4IDYuNTQzNDEgMTIuODQ1MyA2LjQ5NzA0IDEyLjU0ODEgNi4zOTAzNUMxMi4yNTEgNi4yODM2NiAxMS45NzggNi4xMTg3OSAxMS43NDUzIDUuOTA1MzdDMTEuNTEyNiA1LjY5MTk1IDExLjMyNDggNS40MzQyOCAxMS4xOTI5IDUuMTQ3NDJDMTEuMDYxIDQuODYwNTUgMTAuOTg3NiA0LjU1MDI3IDEwLjk3NyA0LjIzNDdDMTAuOTY2NCAzLjkxOTEzIDExLjAxODggMy42MDQ2MiAxMS4xMzEyIDMuMzA5NTZDMTEuMjQzNiAzLjAxNDQ5IDExLjQxMzcgMi43NDQ4MSAxMS42MzE2IDIuNTE2MjdDMTEuNjc5NyAyLjQ2MjY0IDExLjcwOTggMi4zOTUzNSAxMS43MTc5IDIuMzIzNzdDMTEuNzIwMSAyLjMwNDg4IDExLjcxODQgMi4yODU3MiAxMS43MTI5IDIuMjY3NTJMMTAuNzk2NiAxLjQyNzUyWk05LjA1Mjg2IDAuNzQyNTIyQzkuMzcxNzYgMC40MjM2MzggOS44MDE0NSAwLjI0MDE3NCAxMC4yNTIzIDAuMjMwMzkzQzEwLjcwMzIgMC4yMjA2MTEgMTEuMTQwNCAwLjM4NTI2OCAxMS40NzI5IDAuNjkwMDIyTDEyLjM4OTEgMS41MzEyN0MxMi42NjI5IDEuNzgxMjcgMTIuNzM5MSAyLjEyMjUyIDEyLjcxNDEgMi40MTM3N0MxMi42ODc5IDIuNzAxMjcgMTIuNTYxNiAyLjk4MjUyIDEyLjM2NjYgMy4xOTM3N0MxMi4yNDQ2IDMuMzI2OSAxMi4xNDk5IDMuNDgyNzYgMTIuMDg4MSAzLjY1MjQ2QzEyLjAyNjMgMy44MjIxNiAxMS45OTg1IDQuMDAyMzcgMTIuMDA2NCA0LjE4MjgxQzEyLjAxNDIgNC4zNjMyNSAxMi4wNTc1IDQuNTQwMzcgMTIuMTMzOCA0LjcwNDA3QzEyLjIxMDEgNC44Njc3OCAxMi4zMTc5IDUuMDE0ODUgMTIuNDUxIDUuMTM2OUMxMi41ODQxIDUuMjU4OTQgMTIuNzQgNS4zNTM1OCAxMi45MDk3IDUuNDE1MzlDMTMuMDc5NCA1LjQ3NzIgMTMuMjU5NiA1LjUwNDk4IDEzLjQ0IDUuNDk3MTRDMTMuNjIwNSA1LjQ4OTMxIDEzLjc5NzYgNS40NDYwMSAxMy45NjEzIDUuMzY5NzJDMTQuMTI1IDUuMjkzNDQgMTQuMjcyMSA1LjE4NTY1IDE0LjM5NDEgNS4wNTI1MkMxNC41ODc5IDQuODQwMDIgMTQuODU2NiA0LjY5MDAyIDE1LjE0MDQgNC42Mzg3N0MxNS4zMDA0IDQuNjA2NjUgMTUuNDY1NiA0LjYxMjE4IDE1LjYyMzEgNC42NTQ5MkMxNS43ODA2IDQuNjk3NjUgMTUuOTI2IDQuNzc2NDMgMTYuMDQ3OSA0Ljg4NTAyTDE3LjE1NjYgNS45MDEyN0MxNy4zMjczIDYuMDU3OSAxNy40NjUyIDYuMjQ2ODcgMTcuNTYyMyA2LjQ1NzJDMTcuNjU5NCA2LjY2NzU0IDE3LjcxMzggNi44OTUwNyAxNy43MjIzIDcuMTI2NThDMTcuNzMwOCA3LjM1ODA5IDE3LjY5MzIgNy41ODg5OSAxNy42MTE4IDcuODA1ODdDMTcuNTMwMyA4LjAyMjc2IDE3LjQwNjYgOC4yMjEzMSAxNy4yNDc5IDguMzkwMDJMOS4wMDAzNiAxNy4xNTVDOC44Mzk3NSAxNy4zMjU3IDguNjQ2NDkgMTcuNDYyNCA4LjQzMjA2IDE3LjU1NjlDOC4yMTc2MyAxNy42NTE1IDcuOTg2MzggMTcuNzAyIDcuNzUyMDUgMTcuNzA1NUM3LjUxNzcxIDE3LjcwOSA3LjI4NTA2IDE3LjY2NTQgNy4wNjc5IDE3LjU3NzNDNi44NTA3NCAxNy40ODkyIDYuNjUzNDkgMTcuMzU4MyA2LjQ4Nzg2IDE3LjE5MjVMNS4zNTc4NiAxNi4wNjI1QzQuOTI0MTEgMTUuNjI4OCA1LjAyOTExIDE1LjAwMzggNS4yNzQxMSAxNC42Mzc1QzUuNDQ5ODggMTQuMzczMSA1LjUyODcxIDE0LjA1NTkgNS40OTcyIDEzLjc0QzUuNDY1NjkgMTMuNDI0IDUuMzI1NzkgMTMuMTI4NyA1LjEwMTI1IDEyLjkwNDFDNC44NzY3MiAxMi42Nzk2IDQuNTgxMzkgMTIuNTM5NyA0LjI2NTQyIDEyLjUwODJDMy45NDk0NSAxMi40NzY3IDMuNjMyMzEgMTIuNTU1NSAzLjM2Nzg2IDEyLjczMTNDMi45OTkxMSAxMi45NzUgMi4zNzUzNiAxMy4wOCAxLjk0MTYxIDEyLjY0NUwwLjc4NDExMSAxMS40ODc1QzAuNjIxNTg5IDExLjMyNSAwLjQ5MjY2OSAxMS4xMzIxIDAuNDA0NzEyIDEwLjkxOThDMC4zMTY3NTUgMTAuNzA3NCAwLjI3MTQ4NCAxMC40Nzk4IDAuMjcxNDg0IDEwLjI1QzAuMjcxNDg0IDEwLjAyMDIgMC4zMTY3NTUgOS43OTI2MiAwLjQwNDcxMiA5LjU4MDI5QzAuNDkyNjY5IDkuMzY3OTUgMC42MjE1ODkgOS4xNzUwMyAwLjc4NDExMSA5LjAxMjUyTDkuMDUyODYgMC43NDI1MjJaXCIgZmlsbD1cIiM2NjcwODVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTAuNzk2NiAxLjQyNzUyQzEwLjY1NDEgMS4yOTY4MSAxMC40NjY3IDEuMjI2MTcgMTAuMjczMyAxLjIzMDM3QzEwLjA4IDEuMjM0NTYgOS44OTU4IDEuMzEzMjUgOS43NTkxMSAxLjQ1MDAyTDEuNDg5MTEgOS43MjAwMkMxLjQxOTM4IDkuNzg5NjggMS4zNjQwNiA5Ljg3MjM5IDEuMzI2MzIgOS45NjM0NEMxLjI4ODU3IDEwLjA1NDUgMS4yNjkxNSAxMC4xNTIxIDEuMjY5MTUgMTAuMjUwNkMxLjI2OTE1IDEwLjM0OTIgMS4yODg1NyAxMC40NDY4IDEuMzI2MzIgMTAuNTM3OUMxLjM2NDA2IDEwLjYyODkgMS40MTkzOCAxMC43MTE2IDEuNDg5MTEgMTAuNzgxM0wyLjY0NjYxIDExLjkzODhDMi42NTYzMiAxMS45NDE4IDIuNjY2NDcgMTEuOTQzIDIuNjc2NjEgMTEuOTQyNUMyLjcxNDExIDExLjk0MjUgMi43NjQxMSAxMS45Mjg4IDIuODExNjEgMTEuODk3NUMzLjI2ODQ1IDExLjU5MjcgMy44MTY4IDExLjQ1NTcgNC4zNjMzMSAxMS41MDk3QzQuOTA5ODMgMTEuNTYzNyA1LjQyMDczIDExLjgwNTUgNS44MDkwNSAxMi4xOTM4QzYuMTk3MzggMTIuNTgyMiA2LjQzOTEzIDEzLjA5MzEgNi40OTMxNiAxMy42Mzk2QzYuNTQ3MTggMTQuMTg2MSA2LjQxMDE0IDE0LjczNDQgNi4xMDUzNiAxNS4xOTEzQzYuMDc3OTIgMTUuMjMxMSA2LjA2MjMxIDE1LjI3NzkgNi4wNjAzNiAxNS4zMjYzQzYuMDYwMzYgMTUuMzQyNSA2LjA2Mjg2IDE1LjM1MTMgNi4wNjQxMSAxNS4zNTVMNy4xOTQxMSAxNi40ODYzQzcuMjY1MTIgMTYuNTU3NCA3LjM0OTcxIDE2LjYxMzYgNy40NDI4NSAxNi42NTE0QzcuNTM1OTkgMTYuNjg5MiA3LjYzNTc5IDE2LjcwNzkgNy43MzYzIDE2LjcwNjRDNy44MzY4MiAxNi43MDQ5IDcuOTM2IDE2LjY4MzIgOC4wMjc5NiAxNi42NDI2QzguMTE5OTIgMTYuNjAyIDguMjAyNzggMTYuNTQzMyA4LjI3MTYxIDE2LjQ3TDE2LjUyMDQgNy43MDUwMkMxNi41ODgzIDcuNjMyNjcgMTYuNjQxMiA3LjU0NzU1IDE2LjY3NiA3LjQ1NDZDMTYuNzEwOCA3LjM2MTY1IDE2LjcyNjggNy4yNjI3MiAxNi43MjMxIDcuMTYzNTRDMTYuNzE5MyA3LjA2NDM2IDE2LjY5NiA2Ljk2NjkxIDE2LjY1NDMgNi44NzY4M0MxNi42MTI2IDYuNzg2NzUgMTYuNTUzNSA2LjcwNTgzIDE2LjQ4MDQgNi42Mzg3N0wxNS4zNzI5IDUuNjIyNTJIMTUuMzY5MUMxNS4zNTE0IDUuNjE5MDIgMTUuMzMzMSA1LjYxOTAyIDE1LjMxNTQgNS42MjI1MkMxNS4yNDQ4IDUuNjM3MjIgMTUuMTgwNiA1LjY3MzQ4IDE1LjEzMTYgNS43MjYyN0MxNC45MjI3IDUuOTYzMDUgMTQuNjY4NyA2LjE1NTc5IDE0LjM4NDUgNi4yOTMyM0MxNC4xMDAyIDYuNDMwNjcgMTMuNzkxNCA2LjUxMDA1IDEzLjQ3NjEgNi41MjY3M0MxMy4xNjA4IDYuNTQzNDEgMTIuODQ1MyA2LjQ5NzA0IDEyLjU0ODEgNi4zOTAzNUMxMi4yNTEgNi4yODM2NiAxMS45NzggNi4xMTg3OSAxMS43NDUzIDUuOTA1MzdDMTEuNTEyNiA1LjY5MTk1IDExLjMyNDggNS40MzQyOCAxMS4xOTI5IDUuMTQ3NDJDMTEuMDYxIDQuODYwNTUgMTAuOTg3NiA0LjU1MDI3IDEwLjk3NyA0LjIzNDdDMTAuOTY2NCAzLjkxOTEzIDExLjAxODggMy42MDQ2MiAxMS4xMzEyIDMuMzA5NTZDMTEuMjQzNiAzLjAxNDQ5IDExLjQxMzcgMi43NDQ4MSAxMS42MzE2IDIuNTE2MjdDMTEuNjc5NyAyLjQ2MjY0IDExLjcwOTggMi4zOTUzNSAxMS43MTc5IDIuMzIzNzdDMTEuNzIwMSAyLjMwNDg4IDExLjcxODQgMi4yODU3MiAxMS43MTI5IDIuMjY3NTJMMTAuNzk2NiAxLjQyNzUyWk05LjA1Mjg2IDAuNzQyNTIyQzkuMzcxNzYgMC40MjM2MzggOS44MDE0NSAwLjI0MDE3NCAxMC4yNTIzIDAuMjMwMzkzQzEwLjcwMzIgMC4yMjA2MTEgMTEuMTQwNCAwLjM4NTI2OCAxMS40NzI5IDAuNjkwMDIyTDEyLjM4OTEgMS41MzEyN0MxMi42NjI5IDEuNzgxMjcgMTIuNzM5MSAyLjEyMjUyIDEyLjcxNDEgMi40MTM3N0MxMi42ODc5IDIuNzAxMjcgMTIuNTYxNiAyLjk4MjUyIDEyLjM2NjYgMy4xOTM3N0MxMi4yNDQ2IDMuMzI2OSAxMi4xNDk5IDMuNDgyNzYgMTIuMDg4MSAzLjY1MjQ2QzEyLjAyNjMgMy44MjIxNiAxMS45OTg1IDQuMDAyMzcgMTIuMDA2NCA0LjE4MjgxQzEyLjAxNDIgNC4zNjMyNSAxMi4wNTc1IDQuNTQwMzcgMTIuMTMzOCA0LjcwNDA3QzEyLjIxMDEgNC44Njc3OCAxMi4zMTc5IDUuMDE0ODUgMTIuNDUxIDUuMTM2OUMxMi41ODQxIDUuMjU4OTQgMTIuNzQgNS4zNTM1OCAxMi45MDk3IDUuNDE1MzlDMTMuMDc5NCA1LjQ3NzIgMTMuMjU5NiA1LjUwNDk4IDEzLjQ0IDUuNDk3MTRDMTMuNjIwNSA1LjQ4OTMxIDEzLjc5NzYgNS40NDYwMSAxMy45NjEzIDUuMzY5NzJDMTQuMTI1IDUuMjkzNDQgMTQuMjcyMSA1LjE4NTY1IDE0LjM5NDEgNS4wNTI1MkMxNC41ODc5IDQuODQwMDIgMTQuODU2NiA0LjY5MDAyIDE1LjE0MDQgNC42Mzg3N0MxNS4zMDA0IDQuNjA2NjUgMTUuNDY1NiA0LjYxMjE4IDE1LjYyMzEgNC42NTQ5MkMxNS43ODA2IDQuNjk3NjUgMTUuOTI2IDQuNzc2NDMgMTYuMDQ3OSA0Ljg4NTAyTDE3LjE1NjYgNS45MDEyN0MxNy4zMjczIDYuMDU3OSAxNy40NjUyIDYuMjQ2ODcgMTcuNTYyMyA2LjQ1NzJDMTcuNjU5NCA2LjY2NzU0IDE3LjcxMzggNi44OTUwNyAxNy43MjIzIDcuMTI2NThDMTcuNzMwOCA3LjM1ODA5IDE3LjY5MzIgNy41ODg5OSAxNy42MTE4IDcuODA1ODdDMTcuNTMwMyA4LjAyMjc2IDE3LjQwNjYgOC4yMjEzMSAxNy4yNDc5IDguMzkwMDJMOS4wMDAzNiAxNy4xNTVDOC44Mzk3NSAxNy4zMjU3IDguNjQ2NDkgMTcuNDYyNCA4LjQzMjA2IDE3LjU1NjlDOC4yMTc2MyAxNy42NTE1IDcuOTg2MzggMTcuNzAyIDcuNzUyMDUgMTcuNzA1NUM3LjUxNzcxIDE3LjcwOSA3LjI4NTA2IDE3LjY2NTQgNy4wNjc5IDE3LjU3NzNDNi44NTA3NCAxNy40ODkyIDYuNjUzNDkgMTcuMzU4MyA2LjQ4Nzg2IDE3LjE5MjVMNS4zNTc4NiAxNi4wNjI1QzQuOTI0MTEgMTUuNjI4OCA1LjAyOTExIDE1LjAwMzggNS4yNzQxMSAxNC42Mzc1QzUuNDQ5ODggMTQuMzczMSA1LjUyODcxIDE0LjA1NTkgNS40OTcyIDEzLjc0QzUuNDY1NjkgMTMuNDI0IDUuMzI1NzkgMTMuMTI4NyA1LjEwMTI1IDEyLjkwNDFDNC44NzY3MiAxMi42Nzk2IDQuNTgxMzkgMTIuNTM5NyA0LjI2NTQyIDEyLjUwODJDMy45NDk0NSAxMi40NzY3IDMuNjMyMzEgMTIuNTU1NSAzLjM2Nzg2IDEyLjczMTNDMi45OTkxMSAxMi45NzUgMi4zNzUzNiAxMy4wOCAxLjk0MTYxIDEyLjY0NUwwLjc4NDExMSAxMS40ODc1QzAuNjIxNTg5IDExLjMyNSAwLjQ5MjY2OSAxMS4xMzIxIDAuNDA0NzEyIDEwLjkxOThDMC4zMTY3NTUgMTAuNzA3NCAwLjI3MTQ4NCAxMC40Nzk4IDAuMjcxNDg0IDEwLjI1QzAuMjcxNDg0IDEwLjAyMDIgMC4zMTY3NTUgOS43OTI2MiAwLjQwNDcxMiA5LjU4MDI5QzAuNDkyNjY5IDkuMzY3OTUgMC42MjE1ODkgOS4xNzUwMyAwLjc4NDExMSA5LjAxMjUyTDkuMDUyODYgMC43NDI1MjJaXCIgc3Ryb2tlPVwiIzY2NzA4NVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+IHt7b3Blbj8udGlja2V0SWQgPyBvcGVuPy50aWNrZXRJZCA6ICctLSd9fSA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudHJlIGp1c3RpZnktY29udGVudC1jZW50cmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm9wZW4/LnRpY2tldFR5cGUgPT09ICdyZWZyZXNodGlja2V0J1wiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTdcIiBoZWlnaHQ9XCIxNFwiIHZpZXdCb3g9XCIwIDAgMTcgMTRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNNS45NDYwMiA0Ljk4ODgxTDIuNjY2MDIgNi4zMzg4MUwyLjAwNjAyIDYuMDc4ODFMMC42NjYwMTYgMi44Mzg4MUwxLjU4NjAyIDIuNDU4ODFMMi4zOTYwMiA0LjQwODgxQzIuOTM5NzcgMy4wNDgwMSAzLjkyODcyIDEuOTExNjkgNS4yMDE0NSAxLjE4NTMyQzYuNDc0MTkgMC40NTg5NTEgNy45NTU1NCAwLjE4NTQyNiA5LjQwMzc1IDAuNDA5Mzg3QzEwLjg1MiAwLjYzMzM0OSAxMi4xODE1IDEuMzQxNTcgMTMuMTc1NCAyLjQxODQ2QzE0LjE2OTIgMy40OTUzNSAxNC43Njg3IDQuODc3MzIgMTQuODc2IDYuMzM4ODFIMTMuODc2QzEzLjc2MTYgNS4wOTAwOCAxMy4yMjI0IDMuOTE4MzYgMTIuMzQ4NCAzLjAxOTE5QzExLjQ3NDMgMi4xMjAwMyAxMC4zMTg0IDEuNTQ3ODEgOS4wNzM0IDEuMzk4MDRDNy44Mjg0MiAxLjI0ODI2IDYuNTY5NzMgMS41MyA1LjUwNzM5IDIuMTk2MjJDNC40NDUwNSAyLjg2MjQ0IDMuNjQzMzIgMy44NzI4NCAzLjIzNjAyIDUuMDU4ODFMNS41NTYwMiA0LjA1ODgxTDUuOTQ2MDIgNC45ODg4MVpNMTQuODA2IDcuNjY4ODFMMTYuMTQ2IDEwLjg5ODhMMTUuMjI2IDExLjMzODhMMTQuNDA2IDkuMzM4ODFDMTMuODU4IDEwLjcwNDkgMTIuODYxOCAxMS44NDQyIDExLjU4MSAxMi41Njk2QzEwLjMwMDEgMTMuMjk1IDguODEwNzcgMTMuNTYzNCA3LjM1NzI4IDEzLjMzMDlDNS45MDM4IDEzLjA5ODMgNC41NzI1NSAxMi4zNzg2IDMuNTgyIDExLjI4OThDMi41OTE0NSAxMC4yMDA5IDIuMDAwNDYgOC44MDc3NSAxLjkwNjAyIDcuMzM4ODFIMi45MDYwMlY2LjgzODgxQzIuOTA4ODIgOC4xMjYyNyAzLjM2NDAyIDkuMzcxOCA0LjE5MjAzIDEwLjM1NzdDNS4wMjAwNSAxMS4zNDM2IDYuMTY4MjEgMTIuMDA3MSA3LjQzNTg0IDEyLjIzMjJDOC43MDM0NiAxMi40NTc0IDEwLjAwOTkgMTIuMjI5OSAxMS4xMjY4IDExLjU4OTVDMTIuMjQzNyAxMC45NDkxIDEzLjEgOS45MzY1NSAxMy41NDYgOC43Mjg4MUwxMS4yOTYgOS42NTg4MUwxMC45MDYgOC43Mzg4MUwxNC4xNTYgNy4zODg4MUwxNC44MDYgNy42Njg4MVpcIiBmaWxsPVwiIzk4QTJCM1wiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk04LjQwNjI1IDcuNTQwMDRDOC45NTg1MyA3LjU0MDA0IDkuNDA2MjUgNy4wOTIzMiA5LjQwNjI1IDYuNTQwMDRDOS40MDYyNSA1Ljk4Nzc1IDguOTU4NTMgNS41NDAwNCA4LjQwNjI1IDUuNTQwMDRDNy44NTM5NyA1LjU0MDA0IDcuNDA2MjUgNS45ODc3NSA3LjQwNjI1IDYuNTQwMDRDNy40MDYyNSA3LjA5MjMyIDcuODUzOTcgNy41NDAwNCA4LjQwNjI1IDcuNTQwMDRaXCIgZmlsbD1cIiM5OEEyQjNcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIm9wZW4/Lmlzc3VlU3RhdHVzICE9PSAnbm90aWRlbnRpZmllZCdcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8zODI3XzEyMDYxKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNNy4yMDA2NSAxMC4zMzMzSDkuMTU2MjFWMTIuMzMzM0g3LjIwMDY1VjEwLjMzMzNaTTkuMTU2MjEgNC4zMzMyN0g3LjIwMDY1VjkuMzMzMjZIOS4xNTYyMVY0LjMzMzI3Wk0xMC42MjI5IDUuODMzMjdMOS42NDUxIDYuODMzMjdMMTIuMDg5NSA5LjMzMzI2TDE2LjAwMDcgNC44MzMyN0wxNS4wMjI5IDMuODMzMjdMMTIuMDg5NSA3LjMzMzI2TDEwLjYyMjkgNS44MzMyN1pNOC4xNzg0MyAxNC4wMzMzQzYuNzAxMDggMTQuMDMwNiA1LjI4NDk5IDEzLjQyOTIgNC4yNDAzNCAxMi4zNjA4QzMuMTk1NyAxMS4yOTI1IDIuNjA3NjggOS44NDQxOCAyLjYwNTEgOC4zMzMyNkMyLjYwNTEgNS4xOTMyNyA1LjEwODIxIDIuNjMzMjcgOC4xNzg0MyAyLjYzMzI3QzkuOTY3NzYgMi42MzMyNyAxMS41NTE4IDMuNTEzMjcgMTIuNTc4NCA0LjgzMzI3TDEzLjQ3OCAzLjkxMzI3QzEyLjgzOTUgMy4xMDUzNCAxMi4wMzE5IDIuNDU0MTUgMTEuMTE0NyAyLjAwNzY1QzEwLjE5NzYgMS41NjExNSA5LjE5NDE5IDEuMzMwNyA4LjE3ODQzIDEuMzMzMjdDNC40MDQyMSAxLjMzMzI3IDEuMzMzOTggNC40NzMyNyAxLjMzMzk4IDguMzMzMjZDMS4zMzM5OCAxMi4xOTMzIDQuNDA0MjEgMTUuMzMzMyA4LjE3ODQzIDE1LjMzMzNDMTEuOTUyNyAxNS4zMzMzIDE1LjAyMjkgMTIuMTkzMyAxNS4wMjI5IDguMzMzMjZMMTMuNTM2NyA5Ljg1MzI2QzEyLjg5MTMgMTIuMjYzMyAxMC43NDAyIDE0LjA0MzMgOC4xNzg0MyAxNC4wNDMzVjE0LjAzMzNaXCIgZmlsbD1cIiM5OEEyQjNcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzM4MjdfMTIwNjFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFvcGVuLmlzT3BlblwiIChjbGljayk9XCJzZWxlY3RWaWV3KCRldmVudCxpbmRleCwnb3BlbicpXCIgY2xhc3M9XCJtcy0zXCI+IDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjFcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjEgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzLjE2NiAyLjVIMTguMTY2TTE4LjE2NiAyLjVWNy41TTE4LjE2NiAyLjVMMTIuMzMyNyA4LjMzMzMzTTguMTY2MDIgMTcuNUgzLjE2NjAyTTMuMTY2MDIgMTcuNVYxMi41TTMuMTY2MDIgMTcuNUw4Ljk5OTM1IDExLjY2NjdcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhb3Blbi5pc09wZW4gJiYgb3Blbj8ubm90aWZpY2F0aW9uXCIgY2xhc3M9XCJwcm9maWxlIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50cmUganVzdGlmeS1jb250ZW50LWNlbnRyZSBtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvQmVsbG5vdGlmaWNhdGlvbi5wbmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8aW1nICpuZ0lmPVwiY2FyZFZpZXdcIiBjbGFzcz1cInByb2ZpbGUgbXMtM1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ltYWdlcy9ncm9wbW9kYWwucG5nXCIgYWx0PVwiXCI+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwic3RhdHVzT3Blbj8ubGVuZ3RoID09PSAwIHx8ICFub0RhdGEgJiYgIWxvYWRpbmdcIiBjbGFzcz1cInctMTAwIG10LTEwIG1iLTEwIG1oLTYwdmggZC1ncmlkIHRleHQtY2VudGVyXCI+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJteC1hdXRvIG1iLTJcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvdGFrZXRpY2tldC5zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRha2V0aWNrZXQgbXQtMiBmdy1ib2xkXCI+Tm8gT3BlbiBUaWNrZXRzIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8YnV0dG9uIGNsYXNzPVwidy0xMDAgYnRuIGJ0bi1wcmltYXJ5IG10LTVcIiAoY2xpY2spPVwidGFrZVRpY2tldCgpXCI+VGFrZSBUaWNrZXQ8L2J1dHRvbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nPy5vcGVuXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGxvYWRlciAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibm9EYXRhPy5vcGVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgbWgtNjB2aCBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJteC1hdXRvIG1iLTJcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvdGFrZXRpY2tldC5zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGFrZXRpY2tldCBtdC01IGZ3LWJvbGRcIj5ObyBPcGVuIFRpY2tldHMgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy5tYW5hZ2VfdGlja2V0c19pc0VkaXRcIiBjbGFzcz1cInctMTAwIGJ0biBidG4tcHJpbWFyeSBtdC01XCIgKGNsaWNrKT1cInRha2VUaWNrZXQoKVwiPlRha2UgVGlja2V0PC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPiBcclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1zbS00XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidy0xMDAgaC0xMDAgcm91bmRlZC0yIG92ZXJmbG93LWhpZGRlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiYWRnZS1saWdodC1kZWZhdWx0IHB4LTMgcHktNFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuPklucHJvZ3Jlc3M8L3NwYW4+PHNwYW4gKm5nSWY9XCJzdGF0dXNJbnByb2dyZXNzPy5sZW5ndGggPiAwICYmICFsb2FkaW5nLmlucHJvZ3Jlc3MgJiYgIW5vRGF0YS5pbnByb2dyZXNzXCIgY2xhc3M9XCJyb3VuZGVkLTUgbXMtMyBweC0xIGJvcmRlciBib3JkZXItZ3JheSBiZy1iYWRnZVwiPnt7c3RhdHVzSW5wcm9ncmVzcz8ubGVuZ3RofX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd2JvZHkgaC0xMDAgcHgtNCBweS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhbG9hZGluZy5pbnByb2dyZXNzICYmICFub0RhdGEuaW5wcm9ncmVzc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaW5wcm9ncmVzcyBvZiBzdGF0dXNJbnByb2dyZXNzOyBsZXQgaW5kZXggPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJpbnByb2dyZXNzLmlzT3BlbiA/ICdhY3RpdmUnOicnXCIgY2xhc3M9XCJpc3N1ZWNhcmQgY3Vyc29yLXBvaW50ZXIgdy0xMDAgbWItNVwiIChjbGljayk9XCJyb3V0ZXRvVGlja2V0KGlucHJvZ3Jlc3MpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJpbnByb2dyZXNzPy5pc09wZW5cIiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIm1iLTVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmdy1zZW1pYm9sZFwiPnt7aW5wcm9ncmVzcz8uc3RvcmVJZH19PC9sYWJlbD48YnI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGxhYmVsIGNsYXNzPVwiZnctc2VtaWJvbGQgbXktMlwiPnt7aW5wcm9ncmVzcz8uc3RvcmVOYW1lID8gaW5wcm9ncmVzcz8uc3RvcmVOYW1lIDonLS0nfX08L2xhYmVsPjxicj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1kZWZhdWx0IG1lLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgY2xhc3M9XCJtZS0yXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzczMl82MDI3NylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTggMVYzTTQgMVYzTTEuNSA1SDEwLjVNMi41IDJIOS41QzEwLjA1MjMgMiAxMC41IDIuNDQ3NzIgMTAuNSAzVjEwQzEwLjUgMTAuNTUyMyAxMC4wNTIzIDExIDkuNSAxMUgyLjVDMS45NDc3MiAxMSAxLjUgMTAuNTUyMyAxLjUgMTBWM0MxLjUgMi40NDc3MiAxLjk0NzcyIDIgMi41IDJaXCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuMVwiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzczMl82MDI3N1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIGZpbGw9XCJ3aGl0ZVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4ge3tpbnByb2dyZXNzPy5EYXRlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaW5wcm9ncmVzcz8uaW5mcmFJc3N1ZVwiIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtd2FybmluZ1wiPnt7aW5wcm9ncmVzcz8uaW5mcmFJc3N1ZX19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInR5cGUgPT09J2luc3RhbGxhdGlvbicgJiYgaW5wcm9ncmVzcz8uaW5mcmFJc3N1ZSE9PScnXCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1wcmltYXJ5IHRleHQtY2FwaXRhbGl6ZSBtcy0zXCI+e3tpbnByb2dyZXNzPy5pbnN0YWxsYXRpb25TdGF0dXMgPyBpbnByb2dyZXNzPy5pbnN0YWxsYXRpb25TdGF0dXMgOictLSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ0eXBlID09PSdkYXRhTWlzbWF0Y2gnXCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC13YXJuaW5nXCI+e3tpbnByb2dyZXNzPy5pc3N1ZVR5cGUgPT09ICdoaWdoY291bnQnID8gJ0hpZ2ggQ291bnQnIDogKGlucHJvZ3Jlc3M/Lmlzc3VlVHlwZSA9PT0gJ2xvd2NvdW50JyA/ICdMb3cgQ291bnQnIDogJycpfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCIgZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImlucHJvZ3Jlc3M/Lm5vdGlmaWNhdGlvblwiIGNsYXNzPVwicHJvZmlsZSBkLWZsZXggYWxpZ24taXRlbXMtY2VudHJlIGp1c3RpZnktY29udGVudC1jZW50cmUgbWUtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ltYWdlcy9CZWxsbm90aWZpY2F0aW9uLnBuZ1wiIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAoY2xpY2spPVwic2VsZWN0VmlldygkZXZlbnQsaW5kZXgsJ2lucHJvZ3Jlc3MnKVwiPiA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIxXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIxIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xMy4xNjYgMi41SDE4LjE2Nk0xOC4xNjYgMi41VjcuNU0xOC4xNjYgMi41TDEyLjMzMjcgOC4zMzMzM004LjE2NjAyIDE3LjVIMy4xNjYwMk0zLjE2NjAyIDE3LjVWMTIuNU0zLjE2NjAyIDE3LjVMOC45OTkzNSAxMS42NjY3XCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gdGV4dC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+ICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCIgPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIiBkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyXCI+PHN2ZyBjbGFzcz1cIm1lLTJcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxOFwiIGhlaWdodD1cIjE4XCIgdmlld0JveD1cIjAgMCAxOCAxOFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTAuNzk2NiAxLjQyNzUyQzEwLjY1NDEgMS4yOTY4MSAxMC40NjY3IDEuMjI2MTcgMTAuMjczMyAxLjIzMDM3QzEwLjA4IDEuMjM0NTYgOS44OTU4IDEuMzEzMjUgOS43NTkxMSAxLjQ1MDAyTDEuNDg5MTEgOS43MjAwMkMxLjQxOTM4IDkuNzg5NjggMS4zNjQwNiA5Ljg3MjM5IDEuMzI2MzIgOS45NjM0NEMxLjI4ODU3IDEwLjA1NDUgMS4yNjkxNSAxMC4xNTIxIDEuMjY5MTUgMTAuMjUwNkMxLjI2OTE1IDEwLjM0OTIgMS4yODg1NyAxMC40NDY4IDEuMzI2MzIgMTAuNTM3OUMxLjM2NDA2IDEwLjYyODkgMS40MTkzOCAxMC43MTE2IDEuNDg5MTEgMTAuNzgxM0wyLjY0NjYxIDExLjkzODhDMi42NTYzMiAxMS45NDE4IDIuNjY2NDcgMTEuOTQzIDIuNjc2NjEgMTEuOTQyNUMyLjcxNDExIDExLjk0MjUgMi43NjQxMSAxMS45Mjg4IDIuODExNjEgMTEuODk3NUMzLjI2ODQ1IDExLjU5MjcgMy44MTY4IDExLjQ1NTcgNC4zNjMzMSAxMS41MDk3QzQuOTA5ODMgMTEuNTYzNyA1LjQyMDczIDExLjgwNTUgNS44MDkwNSAxMi4xOTM4QzYuMTk3MzggMTIuNTgyMiA2LjQzOTEzIDEzLjA5MzEgNi40OTMxNiAxMy42Mzk2QzYuNTQ3MTggMTQuMTg2MSA2LjQxMDE0IDE0LjczNDQgNi4xMDUzNiAxNS4xOTEzQzYuMDc3OTIgMTUuMjMxMSA2LjA2MjMxIDE1LjI3NzkgNi4wNjAzNiAxNS4zMjYzQzYuMDYwMzYgMTUuMzQyNSA2LjA2Mjg2IDE1LjM1MTMgNi4wNjQxMSAxNS4zNTVMNy4xOTQxMSAxNi40ODYzQzcuMjY1MTIgMTYuNTU3NCA3LjM0OTcxIDE2LjYxMzYgNy40NDI4NSAxNi42NTE0QzcuNTM1OTkgMTYuNjg5MiA3LjYzNTc5IDE2LjcwNzkgNy43MzYzIDE2LjcwNjRDNy44MzY4MiAxNi43MDQ5IDcuOTM2IDE2LjY4MzIgOC4wMjc5NiAxNi42NDI2QzguMTE5OTIgMTYuNjAyIDguMjAyNzggMTYuNTQzMyA4LjI3MTYxIDE2LjQ3TDE2LjUyMDQgNy43MDUwMkMxNi41ODgzIDcuNjMyNjcgMTYuNjQxMiA3LjU0NzU1IDE2LjY3NiA3LjQ1NDZDMTYuNzEwOCA3LjM2MTY1IDE2LjcyNjggNy4yNjI3MiAxNi43MjMxIDcuMTYzNTRDMTYuNzE5MyA3LjA2NDM2IDE2LjY5NiA2Ljk2NjkxIDE2LjY1NDMgNi44NzY4M0MxNi42MTI2IDYuNzg2NzUgMTYuNTUzNSA2LjcwNTgzIDE2LjQ4MDQgNi42Mzg3N0wxNS4zNzI5IDUuNjIyNTJIMTUuMzY5MUMxNS4zNTE0IDUuNjE5MDIgMTUuMzMzMSA1LjYxOTAyIDE1LjMxNTQgNS42MjI1MkMxNS4yNDQ4IDUuNjM3MjIgMTUuMTgwNiA1LjY3MzQ4IDE1LjEzMTYgNS43MjYyN0MxNC45MjI3IDUuOTYzMDUgMTQuNjY4NyA2LjE1NTc5IDE0LjM4NDUgNi4yOTMyM0MxNC4xMDAyIDYuNDMwNjcgMTMuNzkxNCA2LjUxMDA1IDEzLjQ3NjEgNi41MjY3M0MxMy4xNjA4IDYuNTQzNDEgMTIuODQ1MyA2LjQ5NzA0IDEyLjU0ODEgNi4zOTAzNUMxMi4yNTEgNi4yODM2NiAxMS45NzggNi4xMTg3OSAxMS43NDUzIDUuOTA1MzdDMTEuNTEyNiA1LjY5MTk1IDExLjMyNDggNS40MzQyOCAxMS4xOTI5IDUuMTQ3NDJDMTEuMDYxIDQuODYwNTUgMTAuOTg3NiA0LjU1MDI3IDEwLjk3NyA0LjIzNDdDMTAuOTY2NCAzLjkxOTEzIDExLjAxODggMy42MDQ2MiAxMS4xMzEyIDMuMzA5NTZDMTEuMjQzNiAzLjAxNDQ5IDExLjQxMzcgMi43NDQ4MSAxMS42MzE2IDIuNTE2MjdDMTEuNjc5NyAyLjQ2MjY0IDExLjcwOTggMi4zOTUzNSAxMS43MTc5IDIuMzIzNzdDMTEuNzIwMSAyLjMwNDg4IDExLjcxODQgMi4yODU3MiAxMS43MTI5IDIuMjY3NTJMMTAuNzk2NiAxLjQyNzUyWk05LjA1Mjg2IDAuNzQyNTIyQzkuMzcxNzYgMC40MjM2MzggOS44MDE0NSAwLjI0MDE3NCAxMC4yNTIzIDAuMjMwMzkzQzEwLjcwMzIgMC4yMjA2MTEgMTEuMTQwNCAwLjM4NTI2OCAxMS40NzI5IDAuNjkwMDIyTDEyLjM4OTEgMS41MzEyN0MxMi42NjI5IDEuNzgxMjcgMTIuNzM5MSAyLjEyMjUyIDEyLjcxNDEgMi40MTM3N0MxMi42ODc5IDIuNzAxMjcgMTIuNTYxNiAyLjk4MjUyIDEyLjM2NjYgMy4xOTM3N0MxMi4yNDQ2IDMuMzI2OSAxMi4xNDk5IDMuNDgyNzYgMTIuMDg4MSAzLjY1MjQ2QzEyLjAyNjMgMy44MjIxNiAxMS45OTg1IDQuMDAyMzcgMTIuMDA2NCA0LjE4MjgxQzEyLjAxNDIgNC4zNjMyNSAxMi4wNTc1IDQuNTQwMzcgMTIuMTMzOCA0LjcwNDA3QzEyLjIxMDEgNC44Njc3OCAxMi4zMTc5IDUuMDE0ODUgMTIuNDUxIDUuMTM2OUMxMi41ODQxIDUuMjU4OTQgMTIuNzQgNS4zNTM1OCAxMi45MDk3IDUuNDE1MzlDMTMuMDc5NCA1LjQ3NzIgMTMuMjU5NiA1LjUwNDk4IDEzLjQ0IDUuNDk3MTRDMTMuNjIwNSA1LjQ4OTMxIDEzLjc5NzYgNS40NDYwMSAxMy45NjEzIDUuMzY5NzJDMTQuMTI1IDUuMjkzNDQgMTQuMjcyMSA1LjE4NTY1IDE0LjM5NDEgNS4wNTI1MkMxNC41ODc5IDQuODQwMDIgMTQuODU2NiA0LjY5MDAyIDE1LjE0MDQgNC42Mzg3N0MxNS4zMDA0IDQuNjA2NjUgMTUuNDY1NiA0LjYxMjE4IDE1LjYyMzEgNC42NTQ5MkMxNS43ODA2IDQuNjk3NjUgMTUuOTI2IDQuNzc2NDMgMTYuMDQ3OSA0Ljg4NTAyTDE3LjE1NjYgNS45MDEyN0MxNy4zMjczIDYuMDU3OSAxNy40NjUyIDYuMjQ2ODcgMTcuNTYyMyA2LjQ1NzJDMTcuNjU5NCA2LjY2NzU0IDE3LjcxMzggNi44OTUwNyAxNy43MjIzIDcuMTI2NThDMTcuNzMwOCA3LjM1ODA5IDE3LjY5MzIgNy41ODg5OSAxNy42MTE4IDcuODA1ODdDMTcuNTMwMyA4LjAyMjc2IDE3LjQwNjYgOC4yMjEzMSAxNy4yNDc5IDguMzkwMDJMOS4wMDAzNiAxNy4xNTVDOC44Mzk3NSAxNy4zMjU3IDguNjQ2NDkgMTcuNDYyNCA4LjQzMjA2IDE3LjU1NjlDOC4yMTc2MyAxNy42NTE1IDcuOTg2MzggMTcuNzAyIDcuNzUyMDUgMTcuNzA1NUM3LjUxNzcxIDE3LjcwOSA3LjI4NTA2IDE3LjY2NTQgNy4wNjc5IDE3LjU3NzNDNi44NTA3NCAxNy40ODkyIDYuNjUzNDkgMTcuMzU4MyA2LjQ4Nzg2IDE3LjE5MjVMNS4zNTc4NiAxNi4wNjI1QzQuOTI0MTEgMTUuNjI4OCA1LjAyOTExIDE1LjAwMzggNS4yNzQxMSAxNC42Mzc1QzUuNDQ5ODggMTQuMzczMSA1LjUyODcxIDE0LjA1NTkgNS40OTcyIDEzLjc0QzUuNDY1NjkgMTMuNDI0IDUuMzI1NzkgMTMuMTI4NyA1LjEwMTI1IDEyLjkwNDFDNC44NzY3MiAxMi42Nzk2IDQuNTgxMzkgMTIuNTM5NyA0LjI2NTQyIDEyLjUwODJDMy45NDk0NSAxMi40NzY3IDMuNjMyMzEgMTIuNTU1NSAzLjM2Nzg2IDEyLjczMTNDMi45OTkxMSAxMi45NzUgMi4zNzUzNiAxMy4wOCAxLjk0MTYxIDEyLjY0NUwwLjc4NDExMSAxMS40ODc1QzAuNjIxNTg5IDExLjMyNSAwLjQ5MjY2OSAxMS4xMzIxIDAuNDA0NzEyIDEwLjkxOThDMC4zMTY3NTUgMTAuNzA3NCAwLjI3MTQ4NCAxMC40Nzk4IDAuMjcxNDg0IDEwLjI1QzAuMjcxNDg0IDEwLjAyMDIgMC4zMTY3NTUgOS43OTI2MiAwLjQwNDcxMiA5LjU4MDI5QzAuNDkyNjY5IDkuMzY3OTUgMC42MjE1ODkgOS4xNzUwMyAwLjc4NDExMSA5LjAxMjUyTDkuMDUyODYgMC43NDI1MjJaXCIgZmlsbD1cIiM2NjcwODVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTAuNzk2NiAxLjQyNzUyQzEwLjY1NDEgMS4yOTY4MSAxMC40NjY3IDEuMjI2MTcgMTAuMjczMyAxLjIzMDM3QzEwLjA4IDEuMjM0NTYgOS44OTU4IDEuMzEzMjUgOS43NTkxMSAxLjQ1MDAyTDEuNDg5MTEgOS43MjAwMkMxLjQxOTM4IDkuNzg5NjggMS4zNjQwNiA5Ljg3MjM5IDEuMzI2MzIgOS45NjM0NEMxLjI4ODU3IDEwLjA1NDUgMS4yNjkxNSAxMC4xNTIxIDEuMjY5MTUgMTAuMjUwNkMxLjI2OTE1IDEwLjM0OTIgMS4yODg1NyAxMC40NDY4IDEuMzI2MzIgMTAuNTM3OUMxLjM2NDA2IDEwLjYyODkgMS40MTkzOCAxMC43MTE2IDEuNDg5MTEgMTAuNzgxM0wyLjY0NjYxIDExLjkzODhDMi42NTYzMiAxMS45NDE4IDIuNjY2NDcgMTEuOTQzIDIuNjc2NjEgMTEuOTQyNUMyLjcxNDExIDExLjk0MjUgMi43NjQxMSAxMS45Mjg4IDIuODExNjEgMTEuODk3NUMzLjI2ODQ1IDExLjU5MjcgMy44MTY4IDExLjQ1NTcgNC4zNjMzMSAxMS41MDk3QzQuOTA5ODMgMTEuNTYzNyA1LjQyMDczIDExLjgwNTUgNS44MDkwNSAxMi4xOTM4QzYuMTk3MzggMTIuNTgyMiA2LjQzOTEzIDEzLjA5MzEgNi40OTMxNiAxMy42Mzk2QzYuNTQ3MTggMTQuMTg2MSA2LjQxMDE0IDE0LjczNDQgNi4xMDUzNiAxNS4xOTEzQzYuMDc3OTIgMTUuMjMxMSA2LjA2MjMxIDE1LjI3NzkgNi4wNjAzNiAxNS4zMjYzQzYuMDYwMzYgMTUuMzQyNSA2LjA2Mjg2IDE1LjM1MTMgNi4wNjQxMSAxNS4zNTVMNy4xOTQxMSAxNi40ODYzQzcuMjY1MTIgMTYuNTU3NCA3LjM0OTcxIDE2LjYxMzYgNy40NDI4NSAxNi42NTE0QzcuNTM1OTkgMTYuNjg5MiA3LjYzNTc5IDE2LjcwNzkgNy43MzYzIDE2LjcwNjRDNy44MzY4MiAxNi43MDQ5IDcuOTM2IDE2LjY4MzIgOC4wMjc5NiAxNi42NDI2QzguMTE5OTIgMTYuNjAyIDguMjAyNzggMTYuNTQzMyA4LjI3MTYxIDE2LjQ3TDE2LjUyMDQgNy43MDUwMkMxNi41ODgzIDcuNjMyNjcgMTYuNjQxMiA3LjU0NzU1IDE2LjY3NiA3LjQ1NDZDMTYuNzEwOCA3LjM2MTY1IDE2LjcyNjggNy4yNjI3MiAxNi43MjMxIDcuMTYzNTRDMTYuNzE5MyA3LjA2NDM2IDE2LjY5NiA2Ljk2NjkxIDE2LjY1NDMgNi44NzY4M0MxNi42MTI2IDYuNzg2NzUgMTYuNTUzNSA2LjcwNTgzIDE2LjQ4MDQgNi42Mzg3N0wxNS4zNzI5IDUuNjIyNTJIMTUuMzY5MUMxNS4zNTE0IDUuNjE5MDIgMTUuMzMzMSA1LjYxOTAyIDE1LjMxNTQgNS42MjI1MkMxNS4yNDQ4IDUuNjM3MjIgMTUuMTgwNiA1LjY3MzQ4IDE1LjEzMTYgNS43MjYyN0MxNC45MjI3IDUuOTYzMDUgMTQuNjY4NyA2LjE1NTc5IDE0LjM4NDUgNi4yOTMyM0MxNC4xMDAyIDYuNDMwNjcgMTMuNzkxNCA2LjUxMDA1IDEzLjQ3NjEgNi41MjY3M0MxMy4xNjA4IDYuNTQzNDEgMTIuODQ1MyA2LjQ5NzA0IDEyLjU0ODEgNi4zOTAzNUMxMi4yNTEgNi4yODM2NiAxMS45NzggNi4xMTg3OSAxMS43NDUzIDUuOTA1MzdDMTEuNTEyNiA1LjY5MTk1IDExLjMyNDggNS40MzQyOCAxMS4xOTI5IDUuMTQ3NDJDMTEuMDYxIDQuODYwNTUgMTAuOTg3NiA0LjU1MDI3IDEwLjk3NyA0LjIzNDdDMTAuOTY2NCAzLjkxOTEzIDExLjAxODggMy42MDQ2MiAxMS4xMzEyIDMuMzA5NTZDMTEuMjQzNiAzLjAxNDQ5IDExLjQxMzcgMi43NDQ4MSAxMS42MzE2IDIuNTE2MjdDMTEuNjc5NyAyLjQ2MjY0IDExLjcwOTggMi4zOTUzNSAxMS43MTc5IDIuMzIzNzdDMTEuNzIwMSAyLjMwNDg4IDExLjcxODQgMi4yODU3MiAxMS43MTI5IDIuMjY3NTJMMTAuNzk2NiAxLjQyNzUyWk05LjA1Mjg2IDAuNzQyNTIyQzkuMzcxNzYgMC40MjM2MzggOS44MDE0NSAwLjI0MDE3NCAxMC4yNTIzIDAuMjMwMzkzQzEwLjcwMzIgMC4yMjA2MTEgMTEuMTQwNCAwLjM4NTI2OCAxMS40NzI5IDAuNjkwMDIyTDEyLjM4OTEgMS41MzEyN0MxMi42NjI5IDEuNzgxMjcgMTIuNzM5MSAyLjEyMjUyIDEyLjcxNDEgMi40MTM3N0MxMi42ODc5IDIuNzAxMjcgMTIuNTYxNiAyLjk4MjUyIDEyLjM2NjYgMy4xOTM3N0MxMi4yNDQ2IDMuMzI2OSAxMi4xNDk5IDMuNDgyNzYgMTIuMDg4MSAzLjY1MjQ2QzEyLjAyNjMgMy44MjIxNiAxMS45OTg1IDQuMDAyMzcgMTIuMDA2NCA0LjE4MjgxQzEyLjAxNDIgNC4zNjMyNSAxMi4wNTc1IDQuNTQwMzcgMTIuMTMzOCA0LjcwNDA3QzEyLjIxMDEgNC44Njc3OCAxMi4zMTc5IDUuMDE0ODUgMTIuNDUxIDUuMTM2OUMxMi41ODQxIDUuMjU4OTQgMTIuNzQgNS4zNTM1OCAxMi45MDk3IDUuNDE1MzlDMTMuMDc5NCA1LjQ3NzIgMTMuMjU5NiA1LjUwNDk4IDEzLjQ0IDUuNDk3MTRDMTMuNjIwNSA1LjQ4OTMxIDEzLjc5NzYgNS40NDYwMSAxMy45NjEzIDUuMzY5NzJDMTQuMTI1IDUuMjkzNDQgMTQuMjcyMSA1LjE4NTY1IDE0LjM5NDEgNS4wNTI1MkMxNC41ODc5IDQuODQwMDIgMTQuODU2NiA0LjY5MDAyIDE1LjE0MDQgNC42Mzg3N0MxNS4zMDA0IDQuNjA2NjUgMTUuNDY1NiA0LjYxMjE4IDE1LjYyMzEgNC42NTQ5MkMxNS43ODA2IDQuNjk3NjUgMTUuOTI2IDQuNzc2NDMgMTYuMDQ3OSA0Ljg4NTAyTDE3LjE1NjYgNS45MDEyN0MxNy4zMjczIDYuMDU3OSAxNy40NjUyIDYuMjQ2ODcgMTcuNTYyMyA2LjQ1NzJDMTcuNjU5NCA2LjY2NzU0IDE3LjcxMzggNi44OTUwNyAxNy43MjIzIDcuMTI2NThDMTcuNzMwOCA3LjM1ODA5IDE3LjY5MzIgNy41ODg5OSAxNy42MTE4IDcuODA1ODdDMTcuNTMwMyA4LjAyMjc2IDE3LjQwNjYgOC4yMjEzMSAxNy4yNDc5IDguMzkwMDJMOS4wMDAzNiAxNy4xNTVDOC44Mzk3NSAxNy4zMjU3IDguNjQ2NDkgMTcuNDYyNCA4LjQzMjA2IDE3LjU1NjlDOC4yMTc2MyAxNy42NTE1IDcuOTg2MzggMTcuNzAyIDcuNzUyMDUgMTcuNzA1NUM3LjUxNzcxIDE3LjcwOSA3LjI4NTA2IDE3LjY2NTQgNy4wNjc5IDE3LjU3NzNDNi44NTA3NCAxNy40ODkyIDYuNjUzNDkgMTcuMzU4MyA2LjQ4Nzg2IDE3LjE5MjVMNS4zNTc4NiAxNi4wNjI1QzQuOTI0MTEgMTUuNjI4OCA1LjAyOTExIDE1LjAwMzggNS4yNzQxMSAxNC42Mzc1QzUuNDQ5ODggMTQuMzczMSA1LjUyODcxIDE0LjA1NTkgNS40OTcyIDEzLjc0QzUuNDY1NjkgMTMuNDI0IDUuMzI1NzkgMTMuMTI4NyA1LjEwMTI1IDEyLjkwNDFDNC44NzY3MiAxMi42Nzk2IDQuNTgxMzkgMTIuNTM5NyA0LjI2NTQyIDEyLjUwODJDMy45NDk0NSAxMi40NzY3IDMuNjMyMzEgMTIuNTU1NSAzLjM2Nzg2IDEyLjczMTNDMi45OTkxMSAxMi45NzUgMi4zNzUzNiAxMy4wOCAxLjk0MTYxIDEyLjY0NUwwLjc4NDExMSAxMS40ODc1QzAuNjIxNTg5IDExLjMyNSAwLjQ5MjY2OSAxMS4xMzIxIDAuNDA0NzEyIDEwLjkxOThDMC4zMTY3NTUgMTAuNzA3NCAwLjI3MTQ4NCAxMC40Nzk4IDAuMjcxNDg0IDEwLjI1QzAuMjcxNDg0IDEwLjAyMDIgMC4zMTY3NTUgOS43OTI2MiAwLjQwNDcxMiA5LjU4MDI5QzAuNDkyNjY5IDkuMzY3OTUgMC42MjE1ODkgOS4xNzUwMyAwLjc4NDExMSA5LjAxMjUyTDkuMDUyODYgMC43NDI1MjJaXCIgc3Ryb2tlPVwiIzY2NzA4NVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+IHt7aW5wcm9ncmVzcz8udGlja2V0SWR9fSA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudHJlIGp1c3RpZnktY29udGVudC1jZW50cmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImlucHJvZ3Jlc3M/LnRpY2tldFR5cGUgPT09ICdyZWZyZXNodGlja2V0J1wiPjxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMTdcIiBoZWlnaHQ9XCIxNFwiIHZpZXdCb3g9XCIwIDAgMTcgMTRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNNS45NDYwMiA0Ljk4ODgxTDIuNjY2MDIgNi4zMzg4MUwyLjAwNjAyIDYuMDc4ODFMMC42NjYwMTYgMi44Mzg4MUwxLjU4NjAyIDIuNDU4ODFMMi4zOTYwMiA0LjQwODgxQzIuOTM5NzcgMy4wNDgwMSAzLjkyODcyIDEuOTExNjkgNS4yMDE0NSAxLjE4NTMyQzYuNDc0MTkgMC40NTg5NTEgNy45NTU1NCAwLjE4NTQyNiA5LjQwMzc1IDAuNDA5Mzg3QzEwLjg1MiAwLjYzMzM0OSAxMi4xODE1IDEuMzQxNTcgMTMuMTc1NCAyLjQxODQ2QzE0LjE2OTIgMy40OTUzNSAxNC43Njg3IDQuODc3MzIgMTQuODc2IDYuMzM4ODFIMTMuODc2QzEzLjc2MTYgNS4wOTAwOCAxMy4yMjI0IDMuOTE4MzYgMTIuMzQ4NCAzLjAxOTE5QzExLjQ3NDMgMi4xMjAwMyAxMC4zMTg0IDEuNTQ3ODEgOS4wNzM0IDEuMzk4MDRDNy44Mjg0MiAxLjI0ODI2IDYuNTY5NzMgMS41MyA1LjUwNzM5IDIuMTk2MjJDNC40NDUwNSAyLjg2MjQ0IDMuNjQzMzIgMy44NzI4NCAzLjIzNjAyIDUuMDU4ODFMNS41NTYwMiA0LjA1ODgxTDUuOTQ2MDIgNC45ODg4MVpNMTQuODA2IDcuNjY4ODFMMTYuMTQ2IDEwLjg5ODhMMTUuMjI2IDExLjMzODhMMTQuNDA2IDkuMzM4ODFDMTMuODU4IDEwLjcwNDkgMTIuODYxOCAxMS44NDQyIDExLjU4MSAxMi41Njk2QzEwLjMwMDEgMTMuMjk1IDguODEwNzcgMTMuNTYzNCA3LjM1NzI4IDEzLjMzMDlDNS45MDM4IDEzLjA5ODMgNC41NzI1NSAxMi4zNzg2IDMuNTgyIDExLjI4OThDMi41OTE0NSAxMC4yMDA5IDIuMDAwNDYgOC44MDc3NSAxLjkwNjAyIDcuMzM4ODFIMi45MDYwMlY2LjgzODgxQzIuOTA4ODIgOC4xMjYyNyAzLjM2NDAyIDkuMzcxOCA0LjE5MjAzIDEwLjM1NzdDNS4wMjAwNSAxMS4zNDM2IDYuMTY4MjEgMTIuMDA3MSA3LjQzNTg0IDEyLjIzMjJDOC43MDM0NiAxMi40NTc0IDEwLjAwOTkgMTIuMjI5OSAxMS4xMjY4IDExLjU4OTVDMTIuMjQzNyAxMC45NDkxIDEzLjEgOS45MzY1NSAxMy41NDYgOC43Mjg4MUwxMS4yOTYgOS42NTg4MUwxMC45MDYgOC43Mzg4MUwxNC4xNTYgNy4zODg4MUwxNC44MDYgNy42Njg4MVpcIiBmaWxsPVwiIzk4QTJCM1wiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk04LjQwNjI1IDcuNTQwMDRDOC45NTg1MyA3LjU0MDA0IDkuNDA2MjUgNy4wOTIzMiA5LjQwNjI1IDYuNTQwMDRDOS40MDYyNSA1Ljk4Nzc1IDguOTU4NTMgNS41NDAwNCA4LjQwNjI1IDUuNTQwMDRDNy44NTM5NyA1LjU0MDA0IDcuNDA2MjUgNS45ODc3NSA3LjQwNjI1IDYuNTQwMDRDNy40MDYyNSA3LjA5MjMyIDcuODUzOTcgNy41NDAwNCA4LjQwNjI1IDcuNTQwMDRaXCIgZmlsbD1cIiM5OEEyQjNcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTNcIiAqbmdJZj1cImlucHJvZ3Jlc3M/Lmlzc3VlU3RhdHVzICE9PSAnbm90aWRlbnRpZmllZCdcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMTZcIiB2aWV3Qm94PVwiMCAwIDE2IDE2XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8zODI3XzEyMDYxKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNNy4yMDA2NSAxMC4zMzMzSDkuMTU2MjFWMTIuMzMzM0g3LjIwMDY1VjEwLjMzMzNaTTkuMTU2MjEgNC4zMzMyN0g3LjIwMDY1VjkuMzMzMjZIOS4xNTYyMVY0LjMzMzI3Wk0xMC42MjI5IDUuODMzMjdMOS42NDUxIDYuODMzMjdMMTIuMDg5NSA5LjMzMzI2TDE2LjAwMDcgNC44MzMyN0wxNS4wMjI5IDMuODMzMjdMMTIuMDg5NSA3LjMzMzI2TDEwLjYyMjkgNS44MzMyN1pNOC4xNzg0MyAxNC4wMzMzQzYuNzAxMDggMTQuMDMwNiA1LjI4NDk5IDEzLjQyOTIgNC4yNDAzNCAxMi4zNjA4QzMuMTk1NyAxMS4yOTI1IDIuNjA3NjggOS44NDQxOCAyLjYwNTEgOC4zMzMyNkMyLjYwNTEgNS4xOTMyNyA1LjEwODIxIDIuNjMzMjcgOC4xNzg0MyAyLjYzMzI3QzkuOTY3NzYgMi42MzMyNyAxMS41NTE4IDMuNTEzMjcgMTIuNTc4NCA0LjgzMzI3TDEzLjQ3OCAzLjkxMzI3QzEyLjgzOTUgMy4xMDUzNCAxMi4wMzE5IDIuNDU0MTUgMTEuMTE0NyAyLjAwNzY1QzEwLjE5NzYgMS41NjExNSA5LjE5NDE5IDEuMzMwNyA4LjE3ODQzIDEuMzMzMjdDNC40MDQyMSAxLjMzMzI3IDEuMzMzOTggNC40NzMyNyAxLjMzMzk4IDguMzMzMjZDMS4zMzM5OCAxMi4xOTMzIDQuNDA0MjEgMTUuMzMzMyA4LjE3ODQzIDE1LjMzMzNDMTEuOTUyNyAxNS4zMzMzIDE1LjAyMjkgMTIuMTkzMyAxNS4wMjI5IDguMzMzMjZMMTMuNTM2NyA5Ljg1MzI2QzEyLjg5MTMgMTIuMjYzMyAxMC43NDAyIDE0LjA0MzMgOC4xNzg0MyAxNC4wNDMzVjE0LjAzMzNaXCIgZmlsbD1cIiM5OEEyQjNcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxjbGlwUGF0aCBpZD1cImNsaXAwXzM4MjdfMTIwNjFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgZmlsbD1cIndoaXRlXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2RlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFpbnByb2dyZXNzLmlzT3BlblwiIChjbGljayk9XCJzZWxlY3RWaWV3KCRldmVudCxpbmRleCwnaW5wcm9ncmVzcycpXCIgY2xhc3M9XCJtcy0zXCI+IDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjFcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjEgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzLjE2NiAyLjVIMTguMTY2TTE4LjE2NiAyLjVWNy41TTE4LjE2NiAyLjVMMTIuMzMyNyA4LjMzMzMzTTguMTY2MDIgMTcuNUgzLjE2NjAyTTMuMTY2MDIgMTcuNVYxMi41TTMuMTY2MDIgMTcuNUw4Ljk5OTM1IDExLjY2NjdcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhaW5wcm9ncmVzcy5pc09wZW4gJiYgaW5wcm9ncmVzcz8ubm90aWZpY2F0aW9uXCIgY2xhc3M9XCJwcm9maWxlIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50cmUganVzdGlmeS1jb250ZW50LWNlbnRyZSBtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvQmVsbG5vdGlmaWNhdGlvbi5wbmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8aW1nICpuZ0lmPVwiY2FyZFZpZXdcIiBjbGFzcz1cInByb2ZpbGUgbXMtM1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ltYWdlcy9ncm9wbW9kYWwucG5nXCIgYWx0PVwiXCI+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzdGF0dXNJbnByb2dyZXNzPy5sZW5ndGggPT09IDAgfHwgIW5vRGF0YSAmJiAhbG9hZGluZ1wiIGNsYXNzPVwidy0xMDAgbXQtMTAgbWItMTAgbWgtNjB2aCBkLWdyaWQgdGV4dC1jZW50ZXIgbXgtYXV0b1wiPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJteC1hdXRvXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSW1hZ2VzL3Rha2V0aWNrZXQuc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRha2V0aWNrZXQgbXQtMiBmdy1ib2xkXCI+Tm8gSW4tUHJvZ3Jlc3MgVGlja2V0cyA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJsb2FkaW5nPy5pbnByb2dyZXNzXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIm5vRGF0YT8uaW5wcm9ncmVzc1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IG1oLTYwdmggZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cIm14LWF1dG9cIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JbWFnZXMvdGFrZXRpY2tldC5zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0YWtldGlja2V0IG10LTUgZnctYm9sZFwiPk5vIEluLVByb2dyZXNzIFRpY2tldHMgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+IFxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtc20tNFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInctMTAwIGgtMTAwIHJvdW5kZWQtMiBvdmVyZmxvdy1oaWRkZW5cIiAoY2xpY2spPVwic2VsZWN0VGlja2V0KClcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiYmFkZ2UtbGlnaHQtZGVmYXVsdCBweC0zIHB5LTRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4+Q2xvc2VkPC9zcGFuPjxzcGFuICpuZ0lmPVwic3RhdHVzQ2xvc2VkPy5sZW5ndGggPiAwICYmICFub0RhdGEuY2xvc2VkICYmICFsb2FkaW5nLmNsb3NlZFwiIGNsYXNzPVwicm91bmRlZC01IG1zLTMgcHgtMSBib3JkZXIgYm9yZGVyLWdyYXkgYm9yZGVyLWdyYXkgYmctYmFkZ2VcIj57e3N0YXR1c0Nsb3NlZD8ubGVuZ3RofX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd2JvZHkgaC0xMDAgcHgtNCBweS0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCIhbm9EYXRhLmNsb3NlZCAmJiAhbG9hZGluZy5jbG9zZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGNsb3NlZCBvZiBzdGF0dXNDbG9zZWQ7IGxldCBpbmRleCA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBbbmdDbGFzc109XCJjbG9zZWQuaXNPcGVuID8gJ2FjdGl2ZSc6JydcIiBjbGFzcz1cImlzc3VlY2FyZCBjdXJzb3ItcG9pbnRlciB3LTEwMCBtYi01XCIgKGNsaWNrKT1cInJvdXRldG9UaWNrZXQoY2xvc2VkKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjbG9zZWQ/LmlzT3BlblwiIGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJtYi01XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGFiZWwgY2xhc3M9XCJmdy1zZW1pYm9sZFwiPnt7Y2xvc2VkPy5zdG9yZUlkfX08L2xhYmVsPjxicj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxsYWJlbCBjbGFzcz1cImZ3LXNlbWlib2xkIG0tMlwiPnt7Y2xvc2VkPy5zdG9yZU5hbWUgPyBjbG9zZWQ/LnN0b3JlTmFtZSA6Jy0tJ319PC9sYWJlbD48YnI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtdC0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LWRlZmF1bHQgbWUtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIGNsYXNzPVwibWUtMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxnIGNsaXAtcGF0aD1cInVybCgjY2xpcDBfMzczMl82MDI3NylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNOCAxVjNNNCAxVjNNMS41IDVIMTAuNU0yLjUgMkg5LjVDMTAuMDUyMyAyIDEwLjUgMi40NDc3MiAxMC41IDNWMTBDMTAuNSAxMC41NTIzIDEwLjA1MjMgMTEgOS41IDExSDIuNUMxLjk0NzcyIDExIDEuNSAxMC41NTIzIDEuNSAxMFYzQzEuNSAyLjQ0NzcyIDEuOTQ3NzIgMiAyLjUgMlpcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS4xXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8Y2xpcFBhdGggaWQ9XCJjbGlwMF8zNzMyXzYwMjc3XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiBmaWxsPVwid2hpdGVcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kZWZzPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+IHt7Y2xvc2VkPy5EYXRlfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImNsb3NlZD8uaW5mcmFJc3N1ZVwiIFtuZ0NsYXNzXT1cImNsb3NlZD8uaW5mcmFJc3N1ZSA9PT0gJ0xpdmUnPyAnYmFkZ2UgYmFkZ2UtbGlnaHQtc3VjY2Vzcyc6JydcIiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXdhcm5pbmdcIj4ge3tjbG9zZWQ/LmluZnJhSXNzdWV9fSA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ0eXBlID09PSdkYXRhTWlzbWF0Y2gnXCIgW25nQ2xhc3NdPVwiY2xvc2VkPy5pbmZyYUlzc3VlID09PSAnTGl2ZSc/ICdiYWRnZSBiYWRnZS1saWdodC1zdWNjZXNzJzonJ1wiIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtd2FybmluZ1wiPnt7Y2xvc2VkPy5pc3N1ZVR5cGUgPT09ICdoaWdoY291bnQnID8gJ0hpZ2ggQ291bnQnIDogKGNsb3NlZD8uaXNzdWVUeXBlID09PSAnbG93Y291bnQnID8gJ0xvdyBDb3VudCcgOiAnJyl9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIiBkLWZsZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJjbG9zZWQ/Lm5vdGlmaWNhdGlvblwiIGNsYXNzPVwicHJvZmlsZSBkLWZsZXggYWxpZ24taXRlbXMtY2VudHJlIGp1c3RpZnktY29udGVudC1jZW50cmUgbWUtM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgc3JjPVwiLi9hc3NldHMvdGFuZ28vSW1hZ2VzL0JlbGxub3RpZmljYXRpb24ucG5nXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAoY2xpY2spPVwic2VsZWN0VmlldygkZXZlbnQsaW5kZXgsJ2Nsb3NlZCcpXCI+IDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjFcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjEgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTMuMTY2IDIuNUgxOC4xNjZNMTguMTY2IDIuNVY3LjVNMTguMTY2IDIuNUwxMi4zMzI3IDguMzMzMzNNOC4xNjYwMiAxNy41SDMuMTY2MDJNMy4xNjYwMiAxNy41VjEyLjVNMy4xNjYwMiAxNy41TDguOTk5MzUgMTEuNjY2N1wiIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjY2NjY3XCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXgganVzdGlmeS1jb250ZW50LWJldHdlZW4gdGV4dC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+ICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCIgPiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwiIGQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXJcIj48c3ZnIGNsYXNzPVwibWUtMlwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE4XCIgaGVpZ2h0PVwiMThcIiB2aWV3Qm94PVwiMCAwIDE4IDE4XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEwLjc5NjYgMS40Mjc1MkMxMC42NTQxIDEuMjk2ODEgMTAuNDY2NyAxLjIyNjE3IDEwLjI3MzMgMS4yMzAzN0MxMC4wOCAxLjIzNDU2IDkuODk1OCAxLjMxMzI1IDkuNzU5MTEgMS40NTAwMkwxLjQ4OTExIDkuNzIwMDJDMS40MTkzOCA5Ljc4OTY4IDEuMzY0MDYgOS44NzIzOSAxLjMyNjMyIDkuOTYzNDRDMS4yODg1NyAxMC4wNTQ1IDEuMjY5MTUgMTAuMTUyMSAxLjI2OTE1IDEwLjI1MDZDMS4yNjkxNSAxMC4zNDkyIDEuMjg4NTcgMTAuNDQ2OCAxLjMyNjMyIDEwLjUzNzlDMS4zNjQwNiAxMC42Mjg5IDEuNDE5MzggMTAuNzExNiAxLjQ4OTExIDEwLjc4MTNMMi42NDY2MSAxMS45Mzg4QzIuNjU2MzIgMTEuOTQxOCAyLjY2NjQ3IDExLjk0MyAyLjY3NjYxIDExLjk0MjVDMi43MTQxMSAxMS45NDI1IDIuNzY0MTEgMTEuOTI4OCAyLjgxMTYxIDExLjg5NzVDMy4yNjg0NSAxMS41OTI3IDMuODE2OCAxMS40NTU3IDQuMzYzMzEgMTEuNTA5N0M0LjkwOTgzIDExLjU2MzcgNS40MjA3MyAxMS44MDU1IDUuODA5MDUgMTIuMTkzOEM2LjE5NzM4IDEyLjU4MjIgNi40MzkxMyAxMy4wOTMxIDYuNDkzMTYgMTMuNjM5NkM2LjU0NzE4IDE0LjE4NjEgNi40MTAxNCAxNC43MzQ0IDYuMTA1MzYgMTUuMTkxM0M2LjA3NzkyIDE1LjIzMTEgNi4wNjIzMSAxNS4yNzc5IDYuMDYwMzYgMTUuMzI2M0M2LjA2MDM2IDE1LjM0MjUgNi4wNjI4NiAxNS4zNTEzIDYuMDY0MTEgMTUuMzU1TDcuMTk0MTEgMTYuNDg2M0M3LjI2NTEyIDE2LjU1NzQgNy4zNDk3MSAxNi42MTM2IDcuNDQyODUgMTYuNjUxNEM3LjUzNTk5IDE2LjY4OTIgNy42MzU3OSAxNi43MDc5IDcuNzM2MyAxNi43MDY0QzcuODM2ODIgMTYuNzA0OSA3LjkzNiAxNi42ODMyIDguMDI3OTYgMTYuNjQyNkM4LjExOTkyIDE2LjYwMiA4LjIwMjc4IDE2LjU0MzMgOC4yNzE2MSAxNi40N0wxNi41MjA0IDcuNzA1MDJDMTYuNTg4MyA3LjYzMjY3IDE2LjY0MTIgNy41NDc1NSAxNi42NzYgNy40NTQ2QzE2LjcxMDggNy4zNjE2NSAxNi43MjY4IDcuMjYyNzIgMTYuNzIzMSA3LjE2MzU0QzE2LjcxOTMgNy4wNjQzNiAxNi42OTYgNi45NjY5MSAxNi42NTQzIDYuODc2ODNDMTYuNjEyNiA2Ljc4Njc1IDE2LjU1MzUgNi43MDU4MyAxNi40ODA0IDYuNjM4NzdMMTUuMzcyOSA1LjYyMjUySDE1LjM2OTFDMTUuMzUxNCA1LjYxOTAyIDE1LjMzMzEgNS42MTkwMiAxNS4zMTU0IDUuNjIyNTJDMTUuMjQ0OCA1LjYzNzIyIDE1LjE4MDYgNS42NzM0OCAxNS4xMzE2IDUuNzI2MjdDMTQuOTIyNyA1Ljk2MzA1IDE0LjY2ODcgNi4xNTU3OSAxNC4zODQ1IDYuMjkzMjNDMTQuMTAwMiA2LjQzMDY3IDEzLjc5MTQgNi41MTAwNSAxMy40NzYxIDYuNTI2NzNDMTMuMTYwOCA2LjU0MzQxIDEyLjg0NTMgNi40OTcwNCAxMi41NDgxIDYuMzkwMzVDMTIuMjUxIDYuMjgzNjYgMTEuOTc4IDYuMTE4NzkgMTEuNzQ1MyA1LjkwNTM3QzExLjUxMjYgNS42OTE5NSAxMS4zMjQ4IDUuNDM0MjggMTEuMTkyOSA1LjE0NzQyQzExLjA2MSA0Ljg2MDU1IDEwLjk4NzYgNC41NTAyNyAxMC45NzcgNC4yMzQ3QzEwLjk2NjQgMy45MTkxMyAxMS4wMTg4IDMuNjA0NjIgMTEuMTMxMiAzLjMwOTU2QzExLjI0MzYgMy4wMTQ0OSAxMS40MTM3IDIuNzQ0ODEgMTEuNjMxNiAyLjUxNjI3QzExLjY3OTcgMi40NjI2NCAxMS43MDk4IDIuMzk1MzUgMTEuNzE3OSAyLjMyMzc3QzExLjcyMDEgMi4zMDQ4OCAxMS43MTg0IDIuMjg1NzIgMTEuNzEyOSAyLjI2NzUyTDEwLjc5NjYgMS40Mjc1MlpNOS4wNTI4NiAwLjc0MjUyMkM5LjM3MTc2IDAuNDIzNjM4IDkuODAxNDUgMC4yNDAxNzQgMTAuMjUyMyAwLjIzMDM5M0MxMC43MDMyIDAuMjIwNjExIDExLjE0MDQgMC4zODUyNjggMTEuNDcyOSAwLjY5MDAyMkwxMi4zODkxIDEuNTMxMjdDMTIuNjYyOSAxLjc4MTI3IDEyLjczOTEgMi4xMjI1MiAxMi43MTQxIDIuNDEzNzdDMTIuNjg3OSAyLjcwMTI3IDEyLjU2MTYgMi45ODI1MiAxMi4zNjY2IDMuMTkzNzdDMTIuMjQ0NiAzLjMyNjkgMTIuMTQ5OSAzLjQ4Mjc2IDEyLjA4ODEgMy42NTI0NkMxMi4wMjYzIDMuODIyMTYgMTEuOTk4NSA0LjAwMjM3IDEyLjAwNjQgNC4xODI4MUMxMi4wMTQyIDQuMzYzMjUgMTIuMDU3NSA0LjU0MDM3IDEyLjEzMzggNC43MDQwN0MxMi4yMTAxIDQuODY3NzggMTIuMzE3OSA1LjAxNDg1IDEyLjQ1MSA1LjEzNjlDMTIuNTg0MSA1LjI1ODk0IDEyLjc0IDUuMzUzNTggMTIuOTA5NyA1LjQxNTM5QzEzLjA3OTQgNS40NzcyIDEzLjI1OTYgNS41MDQ5OCAxMy40NCA1LjQ5NzE0QzEzLjYyMDUgNS40ODkzMSAxMy43OTc2IDUuNDQ2MDEgMTMuOTYxMyA1LjM2OTcyQzE0LjEyNSA1LjI5MzQ0IDE0LjI3MjEgNS4xODU2NSAxNC4zOTQxIDUuMDUyNTJDMTQuNTg3OSA0Ljg0MDAyIDE0Ljg1NjYgNC42OTAwMiAxNS4xNDA0IDQuNjM4NzdDMTUuMzAwNCA0LjYwNjY1IDE1LjQ2NTYgNC42MTIxOCAxNS42MjMxIDQuNjU0OTJDMTUuNzgwNiA0LjY5NzY1IDE1LjkyNiA0Ljc3NjQzIDE2LjA0NzkgNC44ODUwMkwxNy4xNTY2IDUuOTAxMjdDMTcuMzI3MyA2LjA1NzkgMTcuNDY1MiA2LjI0Njg3IDE3LjU2MjMgNi40NTcyQzE3LjY1OTQgNi42Njc1NCAxNy43MTM4IDYuODk1MDcgMTcuNzIyMyA3LjEyNjU4QzE3LjczMDggNy4zNTgwOSAxNy42OTMyIDcuNTg4OTkgMTcuNjExOCA3LjgwNTg3QzE3LjUzMDMgOC4wMjI3NiAxNy40MDY2IDguMjIxMzEgMTcuMjQ3OSA4LjM5MDAyTDkuMDAwMzYgMTcuMTU1QzguODM5NzUgMTcuMzI1NyA4LjY0NjQ5IDE3LjQ2MjQgOC40MzIwNiAxNy41NTY5QzguMjE3NjMgMTcuNjUxNSA3Ljk4NjM4IDE3LjcwMiA3Ljc1MjA1IDE3LjcwNTVDNy41MTc3MSAxNy43MDkgNy4yODUwNiAxNy42NjU0IDcuMDY3OSAxNy41NzczQzYuODUwNzQgMTcuNDg5MiA2LjY1MzQ5IDE3LjM1ODMgNi40ODc4NiAxNy4xOTI1TDUuMzU3ODYgMTYuMDYyNUM0LjkyNDExIDE1LjYyODggNS4wMjkxMSAxNS4wMDM4IDUuMjc0MTEgMTQuNjM3NUM1LjQ0OTg4IDE0LjM3MzEgNS41Mjg3MSAxNC4wNTU5IDUuNDk3MiAxMy43NEM1LjQ2NTY5IDEzLjQyNCA1LjMyNTc5IDEzLjEyODcgNS4xMDEyNSAxMi45MDQxQzQuODc2NzIgMTIuNjc5NiA0LjU4MTM5IDEyLjUzOTcgNC4yNjU0MiAxMi41MDgyQzMuOTQ5NDUgMTIuNDc2NyAzLjYzMjMxIDEyLjU1NTUgMy4zNjc4NiAxMi43MzEzQzIuOTk5MTEgMTIuOTc1IDIuMzc1MzYgMTMuMDggMS45NDE2MSAxMi42NDVMMC43ODQxMTEgMTEuNDg3NUMwLjYyMTU4OSAxMS4zMjUgMC40OTI2NjkgMTEuMTMyMSAwLjQwNDcxMiAxMC45MTk4QzAuMzE2NzU1IDEwLjcwNzQgMC4yNzE0ODQgMTAuNDc5OCAwLjI3MTQ4NCAxMC4yNUMwLjI3MTQ4NCAxMC4wMjAyIDAuMzE2NzU1IDkuNzkyNjIgMC40MDQ3MTIgOS41ODAyOUMwLjQ5MjY2OSA5LjM2Nzk1IDAuNjIxNTg5IDkuMTc1MDMgMC43ODQxMTEgOS4wMTI1Mkw5LjA1Mjg2IDAuNzQyNTIyWlwiIGZpbGw9XCIjNjY3MDg1XCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTAuNzk2NiAxLjQyNzUyQzEwLjY1NDEgMS4yOTY4MSAxMC40NjY3IDEuMjI2MTcgMTAuMjczMyAxLjIzMDM3QzEwLjA4IDEuMjM0NTYgOS44OTU4IDEuMzEzMjUgOS43NTkxMSAxLjQ1MDAyTDEuNDg5MTEgOS43MjAwMkMxLjQxOTM4IDkuNzg5NjggMS4zNjQwNiA5Ljg3MjM5IDEuMzI2MzIgOS45NjM0NEMxLjI4ODU3IDEwLjA1NDUgMS4yNjkxNSAxMC4xNTIxIDEuMjY5MTUgMTAuMjUwNkMxLjI2OTE1IDEwLjM0OTIgMS4yODg1NyAxMC40NDY4IDEuMzI2MzIgMTAuNTM3OUMxLjM2NDA2IDEwLjYyODkgMS40MTkzOCAxMC43MTE2IDEuNDg5MTEgMTAuNzgxM0wyLjY0NjYxIDExLjkzODhDMi42NTYzMiAxMS45NDE4IDIuNjY2NDcgMTEuOTQzIDIuNjc2NjEgMTEuOTQyNUMyLjcxNDExIDExLjk0MjUgMi43NjQxMSAxMS45Mjg4IDIuODExNjEgMTEuODk3NUMzLjI2ODQ1IDExLjU5MjcgMy44MTY4IDExLjQ1NTcgNC4zNjMzMSAxMS41MDk3QzQuOTA5ODMgMTEuNTYzNyA1LjQyMDczIDExLjgwNTUgNS44MDkwNSAxMi4xOTM4QzYuMTk3MzggMTIuNTgyMiA2LjQzOTEzIDEzLjA5MzEgNi40OTMxNiAxMy42Mzk2QzYuNTQ3MTggMTQuMTg2MSA2LjQxMDE0IDE0LjczNDQgNi4xMDUzNiAxNS4xOTEzQzYuMDc3OTIgMTUuMjMxMSA2LjA2MjMxIDE1LjI3NzkgNi4wNjAzNiAxNS4zMjYzQzYuMDYwMzYgMTUuMzQyNSA2LjA2Mjg2IDE1LjM1MTMgNi4wNjQxMSAxNS4zNTVMNy4xOTQxMSAxNi40ODYzQzcuMjY1MTIgMTYuNTU3NCA3LjM0OTcxIDE2LjYxMzYgNy40NDI4NSAxNi42NTE0QzcuNTM1OTkgMTYuNjg5MiA3LjYzNTc5IDE2LjcwNzkgNy43MzYzIDE2LjcwNjRDNy44MzY4MiAxNi43MDQ5IDcuOTM2IDE2LjY4MzIgOC4wMjc5NiAxNi42NDI2QzguMTE5OTIgMTYuNjAyIDguMjAyNzggMTYuNTQzMyA4LjI3MTYxIDE2LjQ3TDE2LjUyMDQgNy43MDUwMkMxNi41ODgzIDcuNjMyNjcgMTYuNjQxMiA3LjU0NzU1IDE2LjY3NiA3LjQ1NDZDMTYuNzEwOCA3LjM2MTY1IDE2LjcyNjggNy4yNjI3MiAxNi43MjMxIDcuMTYzNTRDMTYuNzE5MyA3LjA2NDM2IDE2LjY5NiA2Ljk2NjkxIDE2LjY1NDMgNi44NzY4M0MxNi42MTI2IDYuNzg2NzUgMTYuNTUzNSA2LjcwNTgzIDE2LjQ4MDQgNi42Mzg3N0wxNS4zNzI5IDUuNjIyNTJIMTUuMzY5MUMxNS4zNTE0IDUuNjE5MDIgMTUuMzMzMSA1LjYxOTAyIDE1LjMxNTQgNS42MjI1MkMxNS4yNDQ4IDUuNjM3MjIgMTUuMTgwNiA1LjY3MzQ4IDE1LjEzMTYgNS43MjYyN0MxNC45MjI3IDUuOTYzMDUgMTQuNjY4NyA2LjE1NTc5IDE0LjM4NDUgNi4yOTMyM0MxNC4xMDAyIDYuNDMwNjcgMTMuNzkxNCA2LjUxMDA1IDEzLjQ3NjEgNi41MjY3M0MxMy4xNjA4IDYuNTQzNDEgMTIuODQ1MyA2LjQ5NzA0IDEyLjU0ODEgNi4zOTAzNUMxMi4yNTEgNi4yODM2NiAxMS45NzggNi4xMTg3OSAxMS43NDUzIDUuOTA1MzdDMTEuNTEyNiA1LjY5MTk1IDExLjMyNDggNS40MzQyOCAxMS4xOTI5IDUuMTQ3NDJDMTEuMDYxIDQuODYwNTUgMTAuOTg3NiA0LjU1MDI3IDEwLjk3NyA0LjIzNDdDMTAuOTY2NCAzLjkxOTEzIDExLjAxODggMy42MDQ2MiAxMS4xMzEyIDMuMzA5NTZDMTEuMjQzNiAzLjAxNDQ5IDExLjQxMzcgMi43NDQ4MSAxMS42MzE2IDIuNTE2MjdDMTEuNjc5NyAyLjQ2MjY0IDExLjcwOTggMi4zOTUzNSAxMS43MTc5IDIuMzIzNzdDMTEuNzIwMSAyLjMwNDg4IDExLjcxODQgMi4yODU3MiAxMS43MTI5IDIuMjY3NTJMMTAuNzk2NiAxLjQyNzUyWk05LjA1Mjg2IDAuNzQyNTIyQzkuMzcxNzYgMC40MjM2MzggOS44MDE0NSAwLjI0MDE3NCAxMC4yNTIzIDAuMjMwMzkzQzEwLjcwMzIgMC4yMjA2MTEgMTEuMTQwNCAwLjM4NTI2OCAxMS40NzI5IDAuNjkwMDIyTDEyLjM4OTEgMS41MzEyN0MxMi42NjI5IDEuNzgxMjcgMTIuNzM5MSAyLjEyMjUyIDEyLjcxNDEgMi40MTM3N0MxMi42ODc5IDIuNzAxMjcgMTIuNTYxNiAyLjk4MjUyIDEyLjM2NjYgMy4xOTM3N0MxMi4yNDQ2IDMuMzI2OSAxMi4xNDk5IDMuNDgyNzYgMTIuMDg4MSAzLjY1MjQ2QzEyLjAyNjMgMy44MjIxNiAxMS45OTg1IDQuMDAyMzcgMTIuMDA2NCA0LjE4MjgxQzEyLjAxNDIgNC4zNjMyNSAxMi4wNTc1IDQuNTQwMzcgMTIuMTMzOCA0LjcwNDA3QzEyLjIxMDEgNC44Njc3OCAxMi4zMTc5IDUuMDE0ODUgMTIuNDUxIDUuMTM2OUMxMi41ODQxIDUuMjU4OTQgMTIuNzQgNS4zNTM1OCAxMi45MDk3IDUuNDE1MzlDMTMuMDc5NCA1LjQ3NzIgMTMuMjU5NiA1LjUwNDk4IDEzLjQ0IDUuNDk3MTRDMTMuNjIwNSA1LjQ4OTMxIDEzLjc5NzYgNS40NDYwMSAxMy45NjEzIDUuMzY5NzJDMTQuMTI1IDUuMjkzNDQgMTQuMjcyMSA1LjE4NTY1IDE0LjM5NDEgNS4wNTI1MkMxNC41ODc5IDQuODQwMDIgMTQuODU2NiA0LjY5MDAyIDE1LjE0MDQgNC42Mzg3N0MxNS4zMDA0IDQuNjA2NjUgMTUuNDY1NiA0LjYxMjE4IDE1LjYyMzEgNC42NTQ5MkMxNS43ODA2IDQuNjk3NjUgMTUuOTI2IDQuNzc2NDMgMTYuMDQ3OSA0Ljg4NTAyTDE3LjE1NjYgNS45MDEyN0MxNy4zMjczIDYuMDU3OSAxNy40NjUyIDYuMjQ2ODcgMTcuNTYyMyA2LjQ1NzJDMTcuNjU5NCA2LjY2NzU0IDE3LjcxMzggNi44OTUwNyAxNy43MjIzIDcuMTI2NThDMTcuNzMwOCA3LjM1ODA5IDE3LjY5MzIgNy41ODg5OSAxNy42MTE4IDcuODA1ODdDMTcuNTMwMyA4LjAyMjc2IDE3LjQwNjYgOC4yMjEzMSAxNy4yNDc5IDguMzkwMDJMOS4wMDAzNiAxNy4xNTVDOC44Mzk3NSAxNy4zMjU3IDguNjQ2NDkgMTcuNDYyNCA4LjQzMjA2IDE3LjU1NjlDOC4yMTc2MyAxNy42NTE1IDcuOTg2MzggMTcuNzAyIDcuNzUyMDUgMTcuNzA1NUM3LjUxNzcxIDE3LjcwOSA3LjI4NTA2IDE3LjY2NTQgNy4wNjc5IDE3LjU3NzNDNi44NTA3NCAxNy40ODkyIDYuNjUzNDkgMTcuMzU4MyA2LjQ4Nzg2IDE3LjE5MjVMNS4zNTc4NiAxNi4wNjI1QzQuOTI0MTEgMTUuNjI4OCA1LjAyOTExIDE1LjAwMzggNS4yNzQxMSAxNC42Mzc1QzUuNDQ5ODggMTQuMzczMSA1LjUyODcxIDE0LjA1NTkgNS40OTcyIDEzLjc0QzUuNDY1NjkgMTMuNDI0IDUuMzI1NzkgMTMuMTI4NyA1LjEwMTI1IDEyLjkwNDFDNC44NzY3MiAxMi42Nzk2IDQuNTgxMzkgMTIuNTM5NyA0LjI2NTQyIDEyLjUwODJDMy45NDk0NSAxMi40NzY3IDMuNjMyMzEgMTIuNTU1NSAzLjM2Nzg2IDEyLjczMTNDMi45OTkxMSAxMi45NzUgMi4zNzUzNiAxMy4wOCAxLjk0MTYxIDEyLjY0NUwwLjc4NDExMSAxMS40ODc1QzAuNjIxNTg5IDExLjMyNSAwLjQ5MjY2OSAxMS4xMzIxIDAuNDA0NzEyIDEwLjkxOThDMC4zMTY3NTUgMTAuNzA3NCAwLjI3MTQ4NCAxMC40Nzk4IDAuMjcxNDg0IDEwLjI1QzAuMjcxNDg0IDEwLjAyMDIgMC4zMTY3NTUgOS43OTI2MiAwLjQwNDcxMiA5LjU4MDI5QzAuNDkyNjY5IDkuMzY3OTUgMC42MjE1ODkgOS4xNzUwMyAwLjc4NDExMSA5LjAxMjUyTDkuMDUyODYgMC43NDI1MjJaXCIgc3Ryb2tlPVwiIzY2NzA4NVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz4ge3tjbG9zZWQudGlja2V0SWR9fSA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudHJlIGp1c3RpZnktY29udGVudC1jZW50cmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY2xvc2VkPy50aWNrZXRUeXBlID09PSAncmVmcmVzaHRpY2tldCdcIj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjE3XCIgaGVpZ2h0PVwiMTRcIiB2aWV3Qm94PVwiMCAwIDE3IDE0XCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBmaWxsLXJ1bGU9XCJldmVub2RkXCIgY2xpcC1ydWxlPVwiZXZlbm9kZFwiIGQ9XCJNNS45NDYwMiA0Ljk4ODgxTDIuNjY2MDIgNi4zMzg4MUwyLjAwNjAyIDYuMDc4ODFMMC42NjYwMTYgMi44Mzg4MUwxLjU4NjAyIDIuNDU4ODFMMi4zOTYwMiA0LjQwODgxQzIuOTM5NzcgMy4wNDgwMSAzLjkyODcyIDEuOTExNjkgNS4yMDE0NSAxLjE4NTMyQzYuNDc0MTkgMC40NTg5NTEgNy45NTU1NCAwLjE4NTQyNiA5LjQwMzc1IDAuNDA5Mzg3QzEwLjg1MiAwLjYzMzM0OSAxMi4xODE1IDEuMzQxNTcgMTMuMTc1NCAyLjQxODQ2QzE0LjE2OTIgMy40OTUzNSAxNC43Njg3IDQuODc3MzIgMTQuODc2IDYuMzM4ODFIMTMuODc2QzEzLjc2MTYgNS4wOTAwOCAxMy4yMjI0IDMuOTE4MzYgMTIuMzQ4NCAzLjAxOTE5QzExLjQ3NDMgMi4xMjAwMyAxMC4zMTg0IDEuNTQ3ODEgOS4wNzM0IDEuMzk4MDRDNy44Mjg0MiAxLjI0ODI2IDYuNTY5NzMgMS41MyA1LjUwNzM5IDIuMTk2MjJDNC40NDUwNSAyLjg2MjQ0IDMuNjQzMzIgMy44NzI4NCAzLjIzNjAyIDUuMDU4ODFMNS41NTYwMiA0LjA1ODgxTDUuOTQ2MDIgNC45ODg4MVpNMTQuODA2IDcuNjY4ODFMMTYuMTQ2IDEwLjg5ODhMMTUuMjI2IDExLjMzODhMMTQuNDA2IDkuMzM4ODFDMTMuODU4IDEwLjcwNDkgMTIuODYxOCAxMS44NDQyIDExLjU4MSAxMi41Njk2QzEwLjMwMDEgMTMuMjk1IDguODEwNzcgMTMuNTYzNCA3LjM1NzI4IDEzLjMzMDlDNS45MDM4IDEzLjA5ODMgNC41NzI1NSAxMi4zNzg2IDMuNTgyIDExLjI4OThDMi41OTE0NSAxMC4yMDA5IDIuMDAwNDYgOC44MDc3NSAxLjkwNjAyIDcuMzM4ODFIMi45MDYwMlY2LjgzODgxQzIuOTA4ODIgOC4xMjYyNyAzLjM2NDAyIDkuMzcxOCA0LjE5MjAzIDEwLjM1NzdDNS4wMjAwNSAxMS4zNDM2IDYuMTY4MjEgMTIuMDA3MSA3LjQzNTg0IDEyLjIzMjJDOC43MDM0NiAxMi40NTc0IDEwLjAwOTkgMTIuMjI5OSAxMS4xMjY4IDExLjU4OTVDMTIuMjQzNyAxMC45NDkxIDEzLjEgOS45MzY1NSAxMy41NDYgOC43Mjg4MUwxMS4yOTYgOS42NTg4MUwxMC45MDYgOC43Mzg4MUwxNC4xNTYgNy4zODg4MUwxNC44MDYgNy42Njg4MVpcIiBmaWxsPVwiIzk4QTJCM1wiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTguNDA2MjUgNy41NDAwNEM4Ljk1ODUzIDcuNTQwMDQgOS40MDYyNSA3LjA5MjMyIDkuNDA2MjUgNi41NDAwNEM5LjQwNjI1IDUuOTg3NzUgOC45NTg1MyA1LjU0MDA0IDguNDA2MjUgNS41NDAwNEM3Ljg1Mzk3IDUuNTQwMDQgNy40MDYyNSA1Ljk4Nzc1IDcuNDA2MjUgNi41NDAwNEM3LjQwNjI1IDcuMDkyMzIgNy44NTM5NyA3LjU0MDA0IDguNDA2MjUgNy41NDAwNFpcIiBmaWxsPVwiIzk4QTJCM1wiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiY2xvc2VkPy5pc3N1ZVN0YXR1cyAhPT0gJ25vdGlkZW50aWZpZWQnXCIgY2xhc3M9XCJtcy0zXCI+PHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIxNlwiIGhlaWdodD1cIjE2XCIgdmlld0JveD1cIjAgMCAxNiAxNlwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGcgY2xpcC1wYXRoPVwidXJsKCNjbGlwMF8zODI3XzEyMDYxKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGZpbGwtcnVsZT1cImV2ZW5vZGRcIiBjbGlwLXJ1bGU9XCJldmVub2RkXCIgZD1cIk03LjIwMDY1IDEwLjMzMzNIOS4xNTYyMVYxMi4zMzMzSDcuMjAwNjVWMTAuMzMzM1pNOS4xNTYyMSA0LjMzMzI3SDcuMjAwNjVWOS4zMzMyNkg5LjE1NjIxVjQuMzMzMjdaTTEwLjYyMjkgNS44MzMyN0w5LjY0NTEgNi44MzMyN0wxMi4wODk1IDkuMzMzMjZMMTYuMDAwNyA0LjgzMzI3TDE1LjAyMjkgMy44MzMyN0wxMi4wODk1IDcuMzMzMjZMMTAuNjIyOSA1LjgzMzI3Wk04LjE3ODQzIDE0LjAzMzNDNi43MDEwOCAxNC4wMzA2IDUuMjg0OTkgMTMuNDI5MiA0LjI0MDM0IDEyLjM2MDhDMy4xOTU3IDExLjI5MjUgMi42MDc2OCA5Ljg0NDE4IDIuNjA1MSA4LjMzMzI2QzIuNjA1MSA1LjE5MzI3IDUuMTA4MjEgMi42MzMyNyA4LjE3ODQzIDIuNjMzMjdDOS45Njc3NiAyLjYzMzI3IDExLjU1MTggMy41MTMyNyAxMi41Nzg0IDQuODMzMjdMMTMuNDc4IDMuOTEzMjdDMTIuODM5NSAzLjEwNTM0IDEyLjAzMTkgMi40NTQxNSAxMS4xMTQ3IDIuMDA3NjVDMTAuMTk3NiAxLjU2MTE1IDkuMTk0MTkgMS4zMzA3IDguMTc4NDMgMS4zMzMyN0M0LjQwNDIxIDEuMzMzMjcgMS4zMzM5OCA0LjQ3MzI3IDEuMzMzOTggOC4zMzMyNkMxLjMzMzk4IDEyLjE5MzMgNC40MDQyMSAxNS4zMzMzIDguMTc4NDMgMTUuMzMzM0MxMS45NTI3IDE1LjMzMzMgMTUuMDIyOSAxMi4xOTMzIDE1LjAyMjkgOC4zMzMyNkwxMy41MzY3IDkuODUzMjZDMTIuODkxMyAxMi4yNjMzIDEwLjc0MDIgMTQuMDQzMyA4LjE3ODQzIDE0LjA0MzNWMTQuMDMzM1pcIiBmaWxsPVwiIzk4QTJCM1wiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2c+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRlZnM+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGNsaXBQYXRoIGlkPVwiY2xpcDBfMzgyN18xMjA2MVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxyZWN0IHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIxNlwiIGZpbGw9XCJ3aGl0ZVwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2NsaXBQYXRoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGVmcz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cIiFjbG9zZWQuaXNPcGVuXCIgKGNsaWNrKT1cInNlbGVjdFZpZXcoJGV2ZW50LGluZGV4LCdjbG9zZWQnKVwiIGNsYXNzPVwibXMtM1wiPiA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIxXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIxIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTEzLjE2NiAyLjVIMTguMTY2TTE4LjE2NiAyLjVWNy41TTE4LjE2NiAyLjVMMTIuMzMyNyA4LjMzMzMzTTguMTY2MDIgMTcuNUgzLjE2NjAyTTMuMTY2MDIgMTcuNVYxMi41TTMuMTY2MDIgMTcuNUw4Ljk5OTM1IDExLjY2NjdcIiBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS42NjY2N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIWNsb3NlZC5pc09wZW4gJiYgY2xvc2VkPy5ub3RpZmljYXRpb25cIiBjbGFzcz1cInByb2ZpbGUgZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRyZSBqdXN0aWZ5LWNvbnRlbnQtY2VudHJlIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSW1hZ2VzL0JlbGxub3RpZmljYXRpb24ucG5nXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxpbWcgKm5nSWY9XCJjYXJkVmlld1wiIGNsYXNzPVwicHJvZmlsZSBtcy0zXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSW1hZ2VzL2dyb3Btb2RhbC5wbmdcIiBhbHQ9XCJcIj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJzdGF0dXNDbG9zZWQ/Lmxlbmd0aCA9PT0gMCB8fCAhbm9EYXRhICYmICFsb2FkaW5nXCIgY2xhc3M9XCJ3LTEwMCBtdC0xMCBtYi0xMCBtaC02MHZoIGQtZ3JpZCB0ZXh0LWNlbnRlciBteC1hdXRvXCI+IFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJteC1hdXRvXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSW1hZ2VzL3Rha2V0aWNrZXQuc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0YWtldGlja2V0IG10LTUgZnctYm9sZFwiPk5vIENsb3NlZCBUaWNrZXRzPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwibG9hZGluZz8uY2xvc2VkXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyBsb2FkZXIgIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtY2VudGVyIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJub0RhdGE/LmNsb3NlZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvdyByb3dib2R5XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgbWgtNjB2aCBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJteC1hdXRvXCIgc3JjPVwiLi9hc3NldHMvdGFuZ28vSW1hZ2VzL3Rha2V0aWNrZXQuc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGFrZXRpY2tldCBtdC01IGZ3LWJvbGRcIj5ObyBDbG9zZWQgVGlja2V0cyA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPiBcclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj4gXHJcbjwvZGl2PlxyXG48ZGl2ICpuZ0lmPVwidXNlckRhdGEgPT09ICdIaXN0b3J5J1wiPlxyXG48ZGl2ICpuZ0lmPVwidHlwZSA9PT0gJ2luc3RhbGxhdGlvbicgfHwgdHlwZSA9PT0gJ2luZnJhJyB8fCB0eXBlID09PSAnZGF0YU1pc21hdGNoJ1wiIGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgIDxkaXYgKm5nSWY9XCIhaGlzdG9yeUxvYWRpbmcgJiYgIWhpc3RvcnlOb2RhdGFcIj5cclxuICAgICAgIDxkaXYgY2xhc3M9XCJ0YWJsZS1yZXNwb25zaXZlXCI+XHJcbiAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlIGJvdHRvbS1ib3JkZXIgdGV4dC1ub3dyYXBcIj5cclxuICAgICAgICAgICAgICAgIDx0aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICA8dHI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aD48ZGl2IChjbGljayk9XCJzb3J0RGF0YSgnaXNzdWVEYXRlJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIENyZWF0ZWQgb25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydENvbHVtTmFtZSA9PT0gJ2lzc3VlRGF0ZScgJiYgc29ydEJ5ICE9PSAxIHx8IHNvcnRDb2x1bU5hbWUgIT09ICdpc3N1ZURhdGUnIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwMTYgMS4zMzMzN1YxMC42NjY3TTYuMDAwMTYgMTAuNjY2N0wxMC42NjY4IDYuMDAwMDRNNi4wMDAxNiAxMC42NjY3TDEuMzMzNSA2LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRDb2x1bU5hbWUgPT09ICdpc3N1ZURhdGUnICYmIHNvcnRCeSAhPT0gMSA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0Q29sdW1OYW1lID09PSAnaXNzdWVEYXRlJyAmJiBzb3J0QnkgIT09IC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNi4wMDAxNiAxMC42NjY3TDYuMDAwMTYgMS4zMzMzN002LjAwMDE2IDEuMzMzMzdMMS4zMzM1IDYuMDAwMDRNNi4wMDAxNiAxLjMzMzM3TDEwLjY2NjggNi4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0Q29sdW1OYW1lID09PSAnaXNzdWVEYXRlJyAmJiBzb3J0QnkgIT09IC0xID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGg+PGRpdiAoY2xpY2spPVwic29ydERhdGEoJ3RpY2tldElkJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRpY2tldCBJRFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0Q29sdW1OYW1lID09PSAndGlja2V0SWQnICYmIHNvcnRCeSAhPT0gMSB8fCBzb3J0Q29sdW1OYW1lICE9PSAndGlja2V0SWQnIFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwMTYgMS4zMzMzN1YxMC42NjY3TTYuMDAwMTYgMTAuNjY2N0wxMC42NjY4IDYuMDAwMDRNNi4wMDAxNiAxMC42NjY3TDEuMzMzNSA2LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRDb2x1bU5hbWUgPT09ICd0aWNrZXRJZCcgJiYgc29ydEJ5ICE9PSAxID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRDb2x1bU5hbWUgPT09ICd0aWNrZXRJZCcgJiYgc29ydEJ5ICE9PSAtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwMTYgMTAuNjY2N0w2LjAwMDE2IDEuMzMzMzdNNi4wMDAxNiAxLjMzMzM3TDEuMzMzNSA2LjAwMDA0TTYuMDAwMTYgMS4zMzMzN0wxMC42NjY4IDYuMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydENvbHVtTmFtZSA9PT0gJ3RpY2tldElkJyAmJiBzb3J0QnkgIT09IC0xID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGg+PGRpdiAoY2xpY2spPVwic29ydERhdGEoJ2NsaWVudE5hbWUnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgQnJhbmQgTmFtZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0Q29sdW1OYW1lID09PSAnY2xpZW50TmFtZScgJiYgc29ydEJ5ICE9PSAxIHx8IHNvcnRDb2x1bU5hbWUgIT09ICdjbGllbnROYW1lJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwMTYgMS4zMzMzN1YxMC42NjY3TTYuMDAwMTYgMTAuNjY2N0wxMC42NjY4IDYuMDAwMDRNNi4wMDAxNiAxMC42NjY3TDEuMzMzNSA2LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRDb2x1bU5hbWUgPT09ICdjbGllbnROYW1lJyAmJiBzb3J0QnkgIT09IDEgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydENvbHVtTmFtZSA9PT0gJ2NsaWVudE5hbWUnICYmIHNvcnRCeSAhPT0gLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02LjAwMDE2IDEwLjY2NjdMNi4wMDAxNiAxLjMzMzM3TTYuMDAwMTYgMS4zMzMzN0wxLjMzMzUgNi4wMDAwNE02LjAwMDE2IDEuMzMzMzdMMTAuNjY2OCA2LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRDb2x1bU5hbWUgPT09ICdjbGllbnROYW1lJyAmJiBzb3J0QnkgIT09IC0xID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGg+PGRpdiAoY2xpY2spPVwic29ydERhdGEoJ2NsaWVudElkJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIEJyYW5kIElEXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRDb2x1bU5hbWUgPT09ICdjbGllbnRJZCcgJiYgc29ydEJ5ICE9PSAxIHx8IHNvcnRDb2x1bU5hbWUgIT09ICdjbGllbnRJZCdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02LjAwMDE2IDEuMzMzMzdWMTAuNjY2N002LjAwMDE2IDEwLjY2NjdMMTAuNjY2OCA2LjAwMDA0TTYuMDAwMTYgMTAuNjY2N0wxLjMzMzUgNi4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0Q29sdW1OYW1lID09PSAnY2xpZW50SWQnICYmIHNvcnRCeSAhPT0gMSA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0Q29sdW1OYW1lID09PSAnY2xpZW50SWQnICYmIHNvcnRCeSAhPT0gLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02LjAwMDE2IDEwLjY2NjdMNi4wMDAxNiAxLjMzMzM3TTYuMDAwMTYgMS4zMzMzN0wxLjMzMzUgNi4wMDAwNE02LjAwMDE2IDEuMzMzMzdMMTAuNjY2OCA2LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRDb2x1bU5hbWUgPT09ICdjbGllbnRJZCcgJiYgc29ydEJ5ICE9PSAtMSA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoPjxkaXYgKGNsaWNrKT1cInNvcnREYXRhKCdzdG9yZU5hbWUnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgTmFtZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0Q29sdW1OYW1lID09PSAnc3RvcmVOYW1lJyAmJiBzb3J0QnkgIT09IDEgfHwgc29ydENvbHVtTmFtZSAhPT0gJ3N0b3JlTmFtZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02LjAwMDE2IDEuMzMzMzdWMTAuNjY2N002LjAwMDE2IDEwLjY2NjdMMTAuNjY2OCA2LjAwMDA0TTYuMDAwMTYgMTAuNjY2N0wxLjMzMzUgNi4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0Q29sdW1OYW1lID09PSAnc3RvcmVOYW1lJyAmJiBzb3J0QnkgIT09IDEgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydENvbHVtTmFtZSA9PT0gJ3N0b3JlTmFtZScgJiYgc29ydEJ5ICE9PSAtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwMTYgMTAuNjY2N0w2LjAwMDE2IDEuMzMzMzdNNi4wMDAxNiAxLjMzMzM3TDEuMzMzNSA2LjAwMDA0TTYuMDAwMTYgMS4zMzMzN0wxMC42NjY4IDYuMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydENvbHVtTmFtZSA9PT0gJ3N0b3JlTmFtZScgJiYgc29ydEJ5ICE9PSAtMSA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoPjxkaXYgKGNsaWNrKT1cInNvcnREYXRhKCdzdG9yZUlkJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFN0b3JlIElEXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRDb2x1bU5hbWUgPT09ICdzdG9yZUlkJyAmJiBzb3J0QnkgIT09IDEgfHwgc29ydENvbHVtTmFtZSAhPT0gJ3N0b3JlSWQnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNi4wMDAxNiAxLjMzMzM3VjEwLjY2NjdNNi4wMDAxNiAxMC42NjY3TDEwLjY2NjggNi4wMDAwNE02LjAwMDE2IDEwLjY2NjdMMS4zMzM1IDYuMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydENvbHVtTmFtZSA9PT0gJ3N0b3JlSWQnICYmIHNvcnRCeSAhPT0gMSA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0Q29sdW1OYW1lID09PSAnc3RvcmVJZCcgJiYgc29ydEJ5ICE9PSAtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwMTYgMTAuNjY2N0w2LjAwMDE2IDEuMzMzMzdNNi4wMDAxNiAxLjMzMzM3TDEuMzMzNSA2LjAwMDA0TTYuMDAwMTYgMS4zMzMzN0wxMC42NjY4IDYuMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydENvbHVtTmFtZSA9PT0gJ3N0b3JlSWQnICYmIHNvcnRCeSAhPT0gLTEgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCAqbmdJZj1cInR5cGUgPT09ICdpbmZyYScgfHwgdHlwZSA9PT0naW5zdGFsbGF0aW9uJ1wiPjxkaXYgKGNsaWNrKT1cInNvcnREYXRhKCdpc3N1ZURhdGUnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgSXNzdWUgSWRlbnRpZmllZCBvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0Q29sdW1OYW1lID09PSAnaXNzdWVEYXRlJyAmJiBzb3J0QnkgIT09IDEgfHwgc29ydENvbHVtTmFtZSAhPT0gJ2lzc3VlRGF0ZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02LjAwMDE2IDEuMzMzMzdWMTAuNjY2N002LjAwMDE2IDEwLjY2NjdMMTAuNjY2OCA2LjAwMDA0TTYuMDAwMTYgMTAuNjY2N0wxLjMzMzUgNi4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0Q29sdW1OYW1lID09PSAnaXNzdWVEYXRlJyAmJiBzb3J0QnkgIT09IDEgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydENvbHVtTmFtZSA9PT0gJ2lzc3VlRGF0ZScgJiYgc29ydEJ5ICE9PSAtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwMTYgMTAuNjY2N0w2LjAwMDE2IDEuMzMzMzdNNi4wMDAxNiAxLjMzMzM3TDEuMzMzNSA2LjAwMDA0TTYuMDAwMTYgMS4zMzMzN0wxMC42NjY4IDYuMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydENvbHVtTmFtZSA9PT0gJ2lzc3VlRGF0ZScgJiYgc29ydEJ5ICE9PSAtMSA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoICpuZ0lmPVwidHlwZSA9PT0gJ2RhdGFNaXNtYXRjaCdcIj48ZGl2IChjbGljayk9XCJzb3J0RGF0YSgnaXNzdWVEYXRlJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIElzc3VlIGRhdGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydENvbHVtTmFtZSA9PT0gJ2lzc3VlRGF0ZScgJiYgc29ydEJ5ICE9PSAxIHx8IHNvcnRDb2x1bU5hbWUgIT09ICdpc3N1ZURhdGUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNi4wMDAxNiAxLjMzMzM3VjEwLjY2NjdNNi4wMDAxNiAxMC42NjY3TDEwLjY2NjggNi4wMDAwNE02LjAwMDE2IDEwLjY2NjdMMS4zMzM1IDYuMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydENvbHVtTmFtZSA9PT0gJ2lzc3VlRGF0ZScgJiYgc29ydEJ5ICE9PSAxID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRDb2x1bU5hbWUgPT09ICdpc3N1ZURhdGUnICYmIHNvcnRCeSAhPT0gLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02LjAwMDE2IDEwLjY2NjdMNi4wMDAxNiAxLjMzMzM3TTYuMDAwMTYgMS4zMzMzN0wxLjMzMzUgNi4wMDAwNE02LjAwMDE2IDEuMzMzMzdMMTAuNjY2OCA2LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRDb2x1bU5hbWUgPT09ICdpc3N1ZURhdGUnICYmIHNvcnRCeSAhPT0gLTEgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aD48ZGl2IChjbGljayk9XCJzb3J0RGF0YSgnaXNzdWVDbG9zZWREYXRlJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIENsb3NlZCBvblxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydENvbHVtTmFtZSA9PT0gJ2lzc3VlQ2xvc2VkRGF0ZScgJiYgc29ydEJ5ICE9PSAxIHx8IHNvcnRDb2x1bU5hbWUgIT09ICdpc3N1ZUNsb3NlZERhdGUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02LjAwMDE2IDEuMzMzMzdWMTAuNjY2N002LjAwMDE2IDEwLjY2NjdMMTAuNjY2OCA2LjAwMDA0TTYuMDAwMTYgMTAuNjY2N0wxLjMzMzUgNi4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydENvbHVtTmFtZSA9PT0gJ2lzc3VlQ2xvc2VkRGF0ZScgJiYgc29ydEJ5ICE9PSAxID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRDb2x1bU5hbWUgPT09ICdpc3N1ZUNsb3NlZERhdGUnICYmIHNvcnRCeSAhPT0gLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwMTYgMTAuNjY2N0w2LjAwMDE2IDEuMzMzMzdNNi4wMDAxNiAxLjMzMzM3TDEuMzMzNSA2LjAwMDA0TTYuMDAwMTYgMS4zMzMzN0wxMC42NjY4IDYuMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRDb2x1bU5hbWUgPT09ICdpc3N1ZUNsb3NlZERhdGUnICYmIHNvcnRCeSAhPT0gLTEgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRoICpuZ0lmPVwidHlwZSA9PT0gJ2luZnJhJyB8fCB0eXBlID09PSdpbnN0YWxsYXRpb24nXCI+PGRpdiAoY2xpY2spPVwic29ydERhdGEoJ2luZnJhSXNzdWUnKVwiPklzc3VlIFR5cGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydENvbHVtTmFtZSA9PT0gJ2luZnJhSXNzdWUnICYmIHNvcnRCeSAhPT0gMSB8fCBzb3J0Q29sdW1OYW1lICE9PSAnaW5mcmFJc3N1ZSdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02LjAwMDE2IDEuMzMzMzdWMTAuNjY2N002LjAwMDE2IDEwLjY2NjdMMTAuNjY2OCA2LjAwMDA0TTYuMDAwMTYgMTAuNjY2N0wxLjMzMzUgNi4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0Q29sdW1OYW1lID09PSAnaW5mcmFJc3N1ZScgJiYgc29ydEJ5ICE9PSAxID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRDb2x1bU5hbWUgPT09ICdpbmZyYUlzc3VlJyAmJiBzb3J0QnkgIT09IC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNi4wMDAxNiAxMC42NjY3TDYuMDAwMTYgMS4zMzMzN002LjAwMDE2IDEuMzMzMzdMMS4zMzM1IDYuMDAwMDRNNi4wMDAxNiAxLjMzMzM3TDEwLjY2NjggNi4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0Q29sdW1OYW1lID09PSAnaW5mcmFJc3N1ZScgJiYgc29ydEJ5ICE9PSAtMSA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGggKm5nSWY9XCJ0eXBlID09PSAnZGF0YU1pc21hdGNoJ1wiPjxkaXYgKGNsaWNrKT1cInNvcnREYXRhKCdpc3N1ZVR5cGUnKVwiPklzc3VlIFR5cGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydENvbHVtTmFtZSA9PT0gJ2lzc3VlVHlwZScgJiYgc29ydEJ5ICE9PSAxIHx8IHNvcnRDb2x1bU5hbWUgIT09ICdpc3N1ZVR5cGUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNi4wMDAxNiAxLjMzMzM3VjEwLjY2NjdNNi4wMDAxNiAxMC42NjY3TDEwLjY2NjggNi4wMDAwNE02LjAwMDE2IDEwLjY2NjdMMS4zMzM1IDYuMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydENvbHVtTmFtZSA9PT0gJ2lzc3VlVHlwZScgJiYgc29ydEJ5ICE9PSAxID8gJyMwMEEzRkYnIDogJyM2NjcwODUnXCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRDb2x1bU5hbWUgPT09ICdpc3N1ZVR5cGUnICYmIHNvcnRCeSAhPT0gLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02LjAwMDE2IDEwLjY2NjdMNi4wMDAxNiAxLjMzMzM3TTYuMDAwMTYgMS4zMzMzN0wxLjMzMzUgNi4wMDAwNE02LjAwMDE2IDEuMzMzMzdMMTAuNjY2OCA2LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgW2F0dHIuc3Ryb2tlXT1cInNvcnRDb2x1bU5hbWUgPT09ICdpc3N1ZVR5cGUnICYmIHNvcnRCeSAhPT0gLTEgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgICAgICAgICA8dHIgKm5nRm9yPVwibGV0IGhpc3Rvcnkgb2Ygd29ya0hpc3RvcnlUYWJsZSA7IGxldCBpID0gaW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7aGlzdG9yeT8uaXNzdWVEYXRlfGN1c3RvbURhdGVGb3JtYXR9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2hpc3Rvcnk/LnRpY2tldElkID8gaGlzdG9yeT8udGlja2V0SWQgOictLSd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWdyaWQgbXMtMyBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJyb3V0ZXRvVGlja2V0KGhpc3RvcnkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXByaW1hcnkgbWItMSB0ZXh0LWNhcGl0YWxpemVcIj57e2hpc3Rvcnk/LmNsaWVudE5hbWUgPyBoaXN0b3J5Py5jbGllbnROYW1lIDogJy0tJ319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAge3toaXN0b3J5Py5jbGllbnRJZCA/IGhpc3Rvcnk/LmNsaWVudElkIDonLS0nfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZ3JpZCBtcy0zIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInJvdXRldG9UaWNrZXQoaGlzdG9yeSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtcHJpbWFyeSBtYi0xXCI+e3toaXN0b3J5Py5zdG9yZU5hbWUgPyBoaXN0b3J5Py5zdG9yZU5hbWUgOictLSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2hpc3Rvcnk/LnN0b3JlSWQgPyBoaXN0b3J5Py5zdG9yZUlkIDonLS0nfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cInR5cGUgPT09ICdpbmZyYScgfHwgdHlwZSA9PT0naW5zdGFsbGF0aW9uJ1wiPnt7aGlzdG9yeT8uaXNzdWVJZGVudGlmaWVkRGF0ZT8oaGlzdG9yeT8uaXNzdWVJZGVudGlmaWVkRGF0ZSB8Y3VzdG9tRGF0ZUZvcm1hdCk6ICctLSd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cInR5cGUgPT09ICdkYXRhTWlzbWF0Y2gnXCI+e3toaXN0b3J5Py5pc3N1ZURhdGU/KGhpc3Rvcnk/Lmlzc3VlRGF0ZSB8Y3VzdG9tRGF0ZUZvcm1hdCk6ICctLSd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2hpc3Rvcnk/Lmlzc3VlQ2xvc2VkRGF0ZXxjdXN0b21EYXRlRm9ybWF0fX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJ0eXBlID09PSAnaW5mcmEnIHx8IHR5cGUgPT09J2luc3RhbGxhdGlvbidcIj57e2hpc3Rvcnk/LmluZnJhSXNzdWUgPyBoaXN0b3J5Py5pbmZyYUlzc3VlIDonLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQgKm5nSWY9XCJ0eXBlID09PSAnZGF0YU1pc21hdGNoJ1wiPnt7aGlzdG9yeT8uaXNzdWVUeXBlID8gaGlzdG9yeT8uaXNzdWVUeXBlIDonLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgIDwvdGFibGU+ICAgXHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPGxpYi1wYWdpbmF0aW9uIFtpdGVtc1BlclBhZ2VdPVwibGltaXRcIiBbY3VycmVudFBhZ2VdPVwib2Zmc2V0XCJcclxuICAgICAgICAgICAgICAgIFt0b3RhbEl0ZW1zXT1cInRvdGFsSXRlbXNcIiBbcGFnaW5hdGlvblNpemVzXT1cIlsxMCwyMCwzMF1cIiBbcGFnZVNpemVdPVwibGltaXRcIlxyXG4gICAgICAgICAgICAgICAgKHBhZ2VDaGFuZ2UpPVwib25QYWdlQ2hhbmdlKCRldmVudClcIiAocGFnZVNpemVDaGFuZ2UpPVwib25QYWdlU2l6ZUNoYW5nZSgkZXZlbnQpXCI+PC9saWItcGFnaW5hdGlvbj5cclxuICAgPC9kaXY+IFxyXG4gICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGlzdG9yeUxvYWRpbmcgJiYgIWhpc3RvcnlOb2RhdGFcIiA+XHJcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGlzdG9yeU5vZGF0YSAmJiAhaGlzdG9yeUxvYWRpbmdcIj5cclxuICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtYi0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1zcmNcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbjwvZGl2PlxyXG48L2Rpdj5cclxuPGRpdiAqbmdJZj1cInVzZXJEYXRhID09PSAnSGlzdG9yeSdcIj5cclxuICAgIDxkaXYgKm5nSWY9XCJ0eXBlID09PSAnbWF0J1wiIGNsYXNzPVwiY2FyZC1ib2R5XCI+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cIiFoaXN0b3J5TG9hZGluZyAmJiAhaGlzdG9yeU5vZGF0YVwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcmVzcG9uc2l2ZVwiPlxyXG4gICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlIGJvdHRvbS1ib3JkZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPjxkaXYgKGNsaWNrKT1cInNvcnREYXRhKCdpc3N1ZURhdGUnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIERhdGVcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRDb2x1bU5hbWUgPT09ICdpc3N1ZURhdGUnICYmIHNvcnRCeSAhPT0gMSB8fCBzb3J0Q29sdW1OYW1lICE9PSAnaXNzdWVEYXRlJyBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwMTYgMS4zMzMzN1YxMC42NjY3TTYuMDAwMTYgMTAuNjY2N0wxMC42NjY4IDYuMDAwMDRNNi4wMDAxNiAxMC42NjY3TDEuMzMzNSA2LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRDb2x1bU5hbWUgPT09ICdpc3N1ZURhdGUnICYmIHNvcnRCeSAhPT0gLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwMTYgMTAuNjY2N0w2LjAwMDE2IDEuMzMzMzdNNi4wMDAxNiAxLjMzMzM3TDEuMzMzNSA2LjAwMDA0TTYuMDAwMTYgMS4zMzMzN0wxMC42NjY4IDYuMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPjxkaXYgKGNsaWNrKT1cInNvcnREYXRhKCd0aWNrZXRJZCcpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFRpY2tldCBJRFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRDb2x1bU5hbWUgPT09ICd0aWNrZXRJZCcgJiYgc29ydEJ5ICE9PSAxIHx8IHNvcnRDb2x1bU5hbWUgIT09ICd0aWNrZXRJZCcgXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwMTYgMS4zMzMzN1YxMC42NjY3TTYuMDAwMTYgMTAuNjY2N0wxMC42NjY4IDYuMDAwMDRNNi4wMDAxNiAxMC42NjY3TDEuMzMzNSA2LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0Q29sdW1OYW1lID09PSAndGlja2V0SWQnICYmIHNvcnRCeSAhPT0gLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNi4wMDAxNiAxMC42NjY3TDYuMDAwMTYgMS4zMzMzN002LjAwMDE2IDEuMzMzMzdMMS4zMzM1IDYuMDAwMDRNNi4wMDAxNiAxLjMzMzM3TDEwLjY2NjggNi4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+PGRpdiAoY2xpY2spPVwic29ydERhdGEoJ2NsaWVudE5hbWUnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBDbGllbnQgSW5mb1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRDb2x1bU5hbWUgPT09ICdjbGllbnROYW1lJyAmJiBzb3J0QnkgIT09IDEgfHwgc29ydENvbHVtTmFtZSAhPT0gJ2NsaWVudE5hbWUnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwMTYgMS4zMzMzN1YxMC42NjY3TTYuMDAwMTYgMTAuNjY2N0wxMC42NjY4IDYuMDAwMDRNNi4wMDAxNiAxMC42NjY3TDEuMzMzNSA2LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0Q29sdW1OYW1lID09PSAnY2xpZW50TmFtZScgJiYgc29ydEJ5ICE9PSAtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02LjAwMDE2IDEwLjY2NjdMNi4wMDAxNiAxLjMzMzM3TTYuMDAwMTYgMS4zMzMzN0wxLjMzMzUgNi4wMDAwNE02LjAwMDE2IDEuMzMzMzdMMTAuNjY2OCA2LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD48ZGl2IChjbGljayk9XCJzb3J0RGF0YSgnc3RvcmVOYW1lJylcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgSW5mb1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRDb2x1bU5hbWUgPT09ICdzdG9yZU5hbWUnICYmIHNvcnRCeSAhPT0gMSB8fCBzb3J0Q29sdW1OYW1lICE9PSAnc3RvcmVOYW1lJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02LjAwMDE2IDEuMzMzMzdWMTAuNjY2N002LjAwMDE2IDEwLjY2NjdMMTAuNjY2OCA2LjAwMDA0TTYuMDAwMTYgMTAuNjY2N0wxLjMzMzUgNi4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydENvbHVtTmFtZSA9PT0gJ3N0b3JlTmFtZScgJiYgc29ydEJ5ICE9PSAtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02LjAwMDE2IDEwLjY2NjdMNi4wMDAxNiAxLjMzMzM3TTYuMDAwMTYgMS4zMzMzN0wxLjMzMzUgNi4wMDAwNE02LjAwMDE2IDEuMzMzMzdMMTAuNjY2OCA2LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD48ZGl2IChjbGljayk9XCJzb3J0RGF0YSgnc3RhdHVzJylcIj5TdGF0dXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRDb2x1bU5hbWUgPT09ICdzdGF0dXMnICYmIHNvcnRCeSAhPT0gMSB8fCBzb3J0Q29sdW1OYW1lICE9PSAnc3RhdHVzJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNi4wMDAxNiAxLjMzMzM3VjEwLjY2NjdNNi4wMDAxNiAxMC42NjY3TDEwLjY2NjggNi4wMDAwNE02LjAwMDE2IDEwLjY2NjdMMS4zMzM1IDYuMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydENvbHVtTmFtZSA9PT0gJ3N0YXR1cycgJiYgc29ydEJ5ICE9PSAtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNi4wMDAxNiAxMC42NjY3TDYuMDAwMTYgMS4zMzMzN002LjAwMDE2IDEuMzMzMzdMMS4zMzM1IDYuMDAwMDRNNi4wMDAxNiAxLjMzMzM3TDEwLjY2NjggNi4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgPC90aGVhZD5cclxuICAgICAgICAgICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPHRyICpuZ0Zvcj1cImxldCBoaXN0b3J5IG9mIHdvcmtIaXN0b3J5VGFibGUgOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7aGlzdG9yeT8uaXNzdWVEYXRlfGN1c3RvbURhdGVGb3JtYXR9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7aGlzdG9yeT8udGlja2V0SWQgPyBoaXN0b3J5Py50aWNrZXRJZCA6Jy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZ3JpZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtcHJpbWFyeVwiPnt7aGlzdG9yeT8uY2xpZW50TmFtZSA/IGhpc3Rvcnk/LmNsaWVudE5hbWUgOiAnLS0nfX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dFN1YiBtdC0xXCI+SUQgOiB7e2hpc3Rvcnk/LmNsaWVudElkID8gaGlzdG9yeT8uY2xpZW50SWQgOictLSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZ3JpZCBtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtcHJpbWFyeSBtYi0xXCI+e3toaXN0b3J5Py5zdG9yZU5hbWUgPyBoaXN0b3J5Py5zdG9yZU5hbWUgOictLSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwidGV4dFN1YlwiPklEIDoge3toaXN0b3J5Py5zdG9yZUlkID8gaGlzdG9yeT8uc3RvcmVJZCA6Jy0tJ319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImhpc3Rvcnkuc3RhdHVzID09PSdvcGVuJ1wiIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtZGFuZ2VyXCI+T3Blbjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImhpc3Rvcnkuc3RhdHVzID09PSdjbG9zZWQnXCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1zdWNjZXNzXCI+Q2xvc2VkPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaGlzdG9yeS5zdGF0dXMgPT09J2lucHJvZ3Jlc3MnXCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1wcmltYXJ5XCI+SW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvZ3Jlc3M8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPC90cj5cclxuICAgICAgICAgICAgICAgICAgICAgPC90Ym9keT5cclxuICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgPC90YWJsZT4gICBcclxuICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgPGxpYi1wYWdpbmF0aW9uIFtpdGVtc1BlclBhZ2VdPVwibGltaXRcIiBbY3VycmVudFBhZ2VdPVwib2Zmc2V0XCJcclxuICAgICAgICAgICAgICAgICAgICAgW3RvdGFsSXRlbXNdPVwidG90YWxJdGVtc1wiIFtwYWdpbmF0aW9uU2l6ZXNdPVwiWzEwLDIwLDMwXVwiIFtwYWdlU2l6ZV09XCJsaW1pdFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIChwYWdlQ2hhbmdlKT1cIm9uUGFnZUNoYW5nZSgkZXZlbnQpXCIgKHBhZ2VTaXplQ2hhbmdlKT1cIm9uUGFnZVNpemVDaGFuZ2UoJGV2ZW50KVwiPjwvbGliLXBhZ2luYXRpb24+XHJcbiAgICAgICAgPC9kaXY+IFxyXG4gICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJoaXN0b3J5TG9hZGluZyAmJiAhaGlzdG9yeU5vZGF0YVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93IGxvYWRlciAgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIHRpdGxlXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBkZXNjcmlwdGlvblwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhpc3RvcnlOb2RhdGEgJiYgIWhpc3RvcnlMb2FkaW5nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJvd1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgZC1mbGV4IGp1c3RpZnktY29udGVudC1jZW50ZXIgYWxpZ24taXRlbXMtY2VudGVyIGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZy1zcmNcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj5cclxuICAgICA8L2Rpdj5cclxuPC9kaXY+XHJcblxyXG48ZGl2ICpuZ0lmPVwidXNlckRhdGEgPT09ICdIaXN0b3J5J1wiPlxyXG4gICAgPGRpdiAqbmdJZj1cInR5cGUgPT09ICdhdWRpdCdcIiBjbGFzcz1cImNhcmQtYm9keVwiPlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCIhaGlzdG9yeUxvYWRpbmcgJiYgIWhpc3RvcnlOb2RhdGFcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRhYmxlLXJlc3BvbnNpdmVcIj4gIFxyXG4gICAgICAgICAgICAgICAgIDx0YWJsZSBjbGFzcz1cInRhYmxlIGJvdHRvbS1ib3JkZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgPHRoZWFkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPHRyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPjxkaXYgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJzb3J0RGF0YSgnZmlsZURhdGUnKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIEZpbGUgRGF0ZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydENvbHVtTmFtZSA9PT0gJ2ZpbGVEYXRlJyAmJiBzb3J0QnkgIT09IDEgfHwgc29ydENvbHVtTmFtZSAhPT0gJ2ZpbGVEYXRlJyBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwMTYgMS4zMzMzN1YxMC42NjY3TTYuMDAwMTYgMTAuNjY2N0wxMC42NjY4IDYuMDAwMDRNNi4wMDAxNiAxMC42NjY3TDEuMzMzNSA2LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRDb2x1bU5hbWUgPT09ICdmaWxlRGF0ZScgJiYgc29ydEJ5ICE9PSAtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNi4wMDAxNiAxMC42NjY3TDYuMDAwMTYgMS4zMzMzN002LjAwMDE2IDEuMzMzMzdMMS4zMzM1IDYuMDAwMDRNNi4wMDAxNiAxLjMzMzM3TDEwLjY2NjggNi4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+PGRpdiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInNvcnREYXRhKCdjbGllbnROYW1lJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgQ2xpZW50IEluZm9cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0Q29sdW1OYW1lID09PSAnY2xpZW50TmFtZScgJiYgc29ydEJ5ICE9PSAxIHx8IHNvcnRDb2x1bU5hbWUgIT09ICdjbGllbnROYW1lJyBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNi4wMDAxNiAxLjMzMzM3VjEwLjY2NjdNNi4wMDAxNiAxMC42NjY3TDEwLjY2NjggNi4wMDAwNE02LjAwMDE2IDEwLjY2NjdMMS4zMzM1IDYuMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRDb2x1bU5hbWUgPT09ICdjbGllbnROYW1lJyAmJiBzb3J0QnkgIT09IC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwMTYgMTAuNjY2N0w2LjAwMDE2IDEuMzMzMzdNNi4wMDAxNiAxLjMzMzM3TDEuMzMzNSA2LjAwMDA0TTYuMDAwMTYgMS4zMzMzN0wxMC42NjY4IDYuMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRoPjxkaXYgY2xhc3M9XCJjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJzb3J0RGF0YSgnc3RvcmVOYW1lJylcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgU3RvcmUgSW5mb1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRDb2x1bU5hbWUgPT09ICdzdG9yZU5hbWUnICYmIHNvcnRCeSAhPT0gMSB8fCBzb3J0Q29sdW1OYW1lICE9PSAnc3RvcmVOYW1lJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02LjAwMDE2IDEuMzMzMzdWMTAuNjY2N002LjAwMDE2IDEwLjY2NjdMMTAuNjY2OCA2LjAwMDA0TTYuMDAwMTYgMTAuNjY2N0wxLjMzMzUgNi4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydENvbHVtTmFtZSA9PT0gJ3N0b3JlTmFtZScgJiYgc29ydEJ5ICE9PSAtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02LjAwMDE2IDEwLjY2NjdMNi4wMDAxNiAxLjMzMzM3TTYuMDAwMTYgMS4zMzMzN0wxLjMzMzUgNi4wMDAwNE02LjAwMDE2IDEuMzMzMzdMMTAuNjY2OCA2LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD48ZGl2IGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwic29ydERhdGEoJ2xvY2F0aW9uJylcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgTG9jYXRpb25cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0Q29sdW1OYW1lID09PSAnbG9jYXRpb24nICYmIHNvcnRCeSAhPT0gMSB8fCBzb3J0Q29sdW1OYW1lICE9PSAnbG9jYXRpb24nXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwMTYgMS4zMzMzN1YxMC42NjY3TTYuMDAwMTYgMTAuNjY2N0wxMC42NjY4IDYuMDAwMDRNNi4wMDAxNiAxMC42NjY3TDEuMzMzNSA2LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0Q29sdW1OYW1lID09PSAnbG9jYXRpb24nICYmIHNvcnRCeSAhPT0gLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNi4wMDAxNiAxMC42NjY3TDYuMDAwMTYgMS4zMzMzN002LjAwMDE2IDEuMzMzMzdMMS4zMzM1IDYuMDAwMDRNNi4wMDAxNiAxLjMzMzM3TDEwLjY2NjggNi4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+PGRpdiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInNvcnREYXRhKCd0eXBlJylcIj5UeXBlXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0Q29sdW1OYW1lID09PSAndHlwZScgJiYgc29ydEJ5ICE9PSAxIHx8IHNvcnRDb2x1bU5hbWUgIT09ICd0eXBlJ1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNi4wMDAxNiAxLjMzMzM3VjEwLjY2NjdNNi4wMDAxNiAxMC42NjY3TDEwLjY2NjggNi4wMDAwNE02LjAwMDE2IDEwLjY2NjdMMS4zMzM1IDYuMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydENvbHVtTmFtZSA9PT0gJ3R5cGUnICYmIHNvcnRCeSAhPT0gLTFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB3aWR0aD1cIjEyXCIgaGVpZ2h0PVwiMTJcIiB2aWV3Qm94PVwiMCAwIDEyIDEyXCIgZmlsbD1cIm5vbmVcIiB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwMTYgMTAuNjY2N0w2LjAwMDE2IDEuMzMzMzdNNi4wMDAxNiAxLjMzMzM3TDEuMzMzNSA2LjAwMDA0TTYuMDAwMTYgMS4zMzMzN0wxMC42NjY4IDYuMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD48ZGl2IGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwic29ydERhdGEoJ2FjY3VyYWN5JylcIj5BY2N1cmFjeVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydENvbHVtTmFtZSA9PT0gJ2FjY3VyYWN5JyAmJiBzb3J0QnkgIT09IDEgfHwgc29ydENvbHVtTmFtZSAhPT0gJ2FjY3VyYWN5J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNi4wMDAxNiAxLjMzMzM3VjEwLjY2NjdNNi4wMDAxNiAxMC42NjY3TDEwLjY2NjggNi4wMDAwNE02LjAwMDE2IDEwLjY2NjdMMS4zMzM1IDYuMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydENvbHVtTmFtZSA9PT0gJ2FjY3VyYWN5JyAmJiBzb3J0QnkgIT09IC0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02LjAwMDE2IDEwLjY2NjdMNi4wMDAxNiAxLjMzMzM3TTYuMDAwMTYgMS4zMzMzN0wxLjMzMzUgNi4wMDAwNE02LjAwMDE2IDEuMzMzMzdMMTAuNjY2OCA2LjAwMDA0XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBzdHJva2U9XCIjNjY3MDg1XCIgc3Ryb2tlLXdpZHRoPVwiMS4zMzMzM1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+PGRpdiBjbGFzcz1cImN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInNvcnREYXRhKCd0aW1lc3BlbnQnKVwiPlRpbWUgU3BlbnRcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cInNvcnRDb2x1bU5hbWUgPT09ICd0aW1lc3BlbnQnICYmIHNvcnRCeSAhPT0gMSB8fCBzb3J0Q29sdW1OYW1lICE9PSAndGltZXNwZW50J1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNi4wMDAxNiAxLjMzMzM3VjEwLjY2NjdNNi4wMDAxNiAxMC42NjY3TDEwLjY2NjggNi4wMDAwNE02LjAwMDE2IDEwLjY2NjdMMS4zMzM1IDYuMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZT1cIiM2NjcwODVcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydENvbHVtTmFtZSA9PT0gJ3RpbWVzcGVudCcgJiYgc29ydEJ5ICE9PSAtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNi4wMDAxNiAxMC42NjY3TDYuMDAwMTYgMS4zMzMzN002LjAwMDE2IDEuMzMzMzdMMS4zMzM1IDYuMDAwMDRNNi4wMDAxNiAxLjMzMzM3TDEwLjY2NjggNi4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0aD5TdGF0dXNcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGg+QWN0aW9uc1xyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICAgICAgIDwvdGhlYWQ+XHJcbiAgICAgICAgICAgICAgICAgICAgIDx0Ym9keT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgaGlzdG9yeSBvZiB3b3JrSGlzdG9yeWRhdGEgOyBsZXQgaSA9IGluZGV4XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7aGlzdG9yeT8uZmlsZURhdGV9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7aGlzdG9yeT8uY2xpZW50TmFtZSA/IGhpc3Rvcnk/LmNsaWVudE5hbWUgOictLSd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7aGlzdG9yeT8uc3RvcmVOYW1lID8gaGlzdG9yeT8uc3RvcmVOYW1lIDogJy0tJ319XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3toaXN0b3J5Py5sb2NhdGlvbiA/IGhpc3Rvcnk/LmxvY2F0aW9uIDonLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2hpc3Rvcnk/LnR5cGUgPyBoaXN0b3J5Py50eXBlIDonLS0nfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2hpc3Rvcnk/LmFjY3VyYWN5ID8gaGlzdG9yeT8uYWNjdXJhY3kgOictLSd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPnt7aGlzdG9yeT8udGltZXNwZW50ID8gaGlzdG9yeT8udGltZXNwZW50IDonLS0nfX08L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImhpc3Rvcnkuc3RhdHVzID09PSdkcmFmdCdcIiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXdhcm5pbmdcIj5EcmFmdDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiAqbmdJZj1cImhpc3Rvcnkuc3RhdHVzID09PSdjb21wbGV0ZWQnXCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1zdWNjZXNzXCI+Q2xvc2VkPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwiaGlzdG9yeS5zdGF0dXMgPT09J2lucHJvZ3Jlc3MnXCIgY2xhc3M9XCJiYWRnZSBiYWRnZS1saWdodC1wcmltYXJ5XCI+SW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgUHJvZ3Jlc3M8L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHRkPjxzcGFuIGNsYXNzPVwiY3Vyc29yLXBvaW50ZXJcIiAoY2xpY2spPVwidmlld1VzZXIoKVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTAuODMzMzc0IDEwQzAuODMzMzc0IDEwIDQuMTY2NzEgMy4zMzMzNyAxMCAzLjMzMzM3QzE1LjgzMzQgMy4zMzMzNyAxOS4xNjY3IDEwIDE5LjE2NjcgMTBDMTkuMTY2NyAxMCAxNS44MzM0IDE2LjY2NjcgMTAgMTYuNjY2N0M0LjE2NjcxIDE2LjY2NjcgMC44MzMzNzQgMTAgMC44MzMzNzQgMTBaXCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTAgMTIuNUMxMS4zODA4IDEyLjUgMTIuNSAxMS4zODA4IDEyLjUgMTBDMTIuNSA4LjYxOTMzIDExLjM4MDggNy41MDAwNCAxMCA3LjUwMDA0QzguNjE5MzMgNy41MDAwNCA3LjUwMDA0IDguNjE5MzMgNy41MDAwNCAxMEM3LjUwMDA0IDExLjM4MDggOC42MTkzMyAxMi41IDEwIDEyLjVaXCIgc3Ryb2tlPVwiIzY2NzA4NVwiIHN0cm9rZS13aWR0aD1cIjEuNjY2NjdcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8L3RyPlxyXG4gICAgICAgICAgICAgICAgICAgICA8L3Rib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICA8L3RhYmxlPiAgIFxyXG4gICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICA8IS0tIDxsaWItcGFnaW5hdGlvbiBbaXRlbXNQZXJQYWdlXT1cImxpbWl0XCIgW2N1cnJlbnRQYWdlXT1cIm9mZnNldFwiXHJcbiAgICAgICAgICAgICAgICAgICAgIFt0b3RhbEl0ZW1zXT1cIndvcmtIaXN0b3J5VGFibGUuY291bnRcIiBbcGFnaW5hdGlvblNpemVzXT1cIlsxMCwyMCwzMF1cIiBbcGFnZVNpemVdPVwibGltaXRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAocGFnZUNoYW5nZSk9XCJvblBhZ2VDaGFuZ2UoJGV2ZW50KVwiIChwYWdlU2l6ZUNoYW5nZSk9XCJvblBhZ2VTaXplQ2hhbmdlKCRldmVudClcIj48L2xpYi1wYWdpbmF0aW9uPiAtLT5cclxuICAgICAgICA8L2Rpdj4gXHJcbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cImhpc3RvcnlMb2FkaW5nICYmICFoaXN0b3J5Tm9kYXRhXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInNoaW1tZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ3cmFwcGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgbGlua1wiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgZGVzY3JpcHRpb25cIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzaGltbWVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic3Ryb2tlIGFuaW1hdGUgdGl0bGVcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGxpbmtcIj48L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiaGlzdG9yeU5vZGF0YSAmJiAhaGlzdG9yeUxvYWRpbmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwicm93XCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbGctMTIgbWItM1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGNsYXNzPVwiaW1nLXNyY1wiIHNyYz1cIi4vYXNzZXRzL3RhbmdvL0ljb25zL05vZGF0YS5zdmdcIiBhbHQ9XCJcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgIDwvZGl2PlxyXG48L2Rpdj5cclxuXHJcblxyXG5cclxuXHJcblxyXG5cclxuIl19
|