tango-app-ui-ticket-user 3.0.54-dev → 3.0.55-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/audit-management/audit-management.component.mjs +97 -48
- package/esm2022/lib/components/audit-workspace/audit-workspace.component.mjs +126 -79
- package/esm2022/lib/components/contact-details/contact-details.component.mjs +3 -3
- package/esm2022/lib/components/dropdown/dropdown.component.mjs +3 -3
- package/esm2022/lib/components/edge-cameraview/edge-cameraview.component.mjs +3 -3
- package/esm2022/lib/components/edgeapp-log/edgeapp-log.component.mjs +3 -3
- package/esm2022/lib/components/edit-details/edit-details.component.mjs +3 -3
- package/esm2022/lib/components/infratickets/infratickets.component.mjs +9 -8
- package/esm2022/lib/components/installation/installation.component.mjs +3 -3
- package/esm2022/lib/components/store-activity/store-activity.component.mjs +3 -3
- package/esm2022/lib/components/store-info/store-info.component.mjs +3 -3
- package/esm2022/lib/components/takeremote/takeremote.component.mjs +3 -3
- package/esm2022/lib/components/tango-ticket-users/tango-ticket-users.component.mjs +5 -4
- package/esm2022/lib/components/tickets/tickets.component.mjs +3 -3
- package/esm2022/lib/components/viewhistory/viewhistory.component.mjs +10 -6
- package/esm2022/lib/route-wrappers/edge-wrapper.module.mjs +4 -4
- package/esm2022/lib/services/data.service.mjs +3 -3
- package/esm2022/lib/services/excel.service.mjs +3 -3
- package/esm2022/lib/services/ticket-infra.service.mjs +7 -4
- package/esm2022/lib/tango-ticket-users-routing.module.mjs +4 -4
- package/esm2022/lib/tango-ticket-users.module.mjs +4 -4
- package/fesm2022/{tango-app-ui-ticket-user-edge-wrapper.module-fMqNK7aH.mjs → tango-app-ui-ticket-user-edge-wrapper.module-CFDk0tvS.mjs} +5 -5
- package/fesm2022/{tango-app-ui-ticket-user-edge-wrapper.module-fMqNK7aH.mjs.map → tango-app-ui-ticket-user-edge-wrapper.module-CFDk0tvS.mjs.map} +1 -1
- package/fesm2022/tango-app-ui-ticket-user.mjs +287 -186
- package/fesm2022/tango-app-ui-ticket-user.mjs.map +1 -1
- package/lib/components/audit-management/audit-management.component.d.ts +22 -4
- package/lib/components/audit-workspace/audit-workspace.component.d.ts +14 -3
- package/lib/components/infratickets/infratickets.component.d.ts +1 -0
- package/lib/components/tango-ticket-users/tango-ticket-users.component.d.ts +1 -0
- package/lib/components/viewhistory/viewhistory.component.d.ts +1 -0
- package/lib/services/ticket-infra.service.d.ts +1 -0
- package/package.json +1 -1
|
@@ -80,6 +80,7 @@ export class InfraticketsComponent {
|
|
|
80
80
|
searchAudit = '';
|
|
81
81
|
selectedExportIssue;
|
|
82
82
|
totalItems = 0;
|
|
83
|
+
userId;
|
|
83
84
|
constructor(route, router, cd, dataService, toastService, service, dataservice, gs, excel, modalservice) {
|
|
84
85
|
this.route = route;
|
|
85
86
|
this.router = router;
|
|
@@ -91,9 +92,9 @@ export class InfraticketsComponent {
|
|
|
91
92
|
this.gs = gs;
|
|
92
93
|
this.excel = excel;
|
|
93
94
|
this.modalservice = modalservice;
|
|
94
|
-
this.route.queryParams.subscribe((params) => {
|
|
95
|
-
|
|
96
|
-
});
|
|
95
|
+
// this.route.queryParams.subscribe((params) => {
|
|
96
|
+
// this.selectedTab = params.selectedTab;
|
|
97
|
+
// });
|
|
97
98
|
}
|
|
98
99
|
onClick(event) {
|
|
99
100
|
const target = event.target;
|
|
@@ -112,7 +113,7 @@ export class InfraticketsComponent {
|
|
|
112
113
|
this.clientId = this.headerFilter?.clients;
|
|
113
114
|
this.route.queryParamMap.subscribe(params => {
|
|
114
115
|
this.type = (params.get('type')) ? (params.get('type')) : this.type;
|
|
115
|
-
|
|
116
|
+
this.userId = (params.get('userId')) ? (params.get('userId')) : '';
|
|
116
117
|
this.getdataObject();
|
|
117
118
|
this.selectDropdowns();
|
|
118
119
|
if (this.userData == 'Workspace') {
|
|
@@ -596,14 +597,14 @@ export class InfraticketsComponent {
|
|
|
596
597
|
this.userTicketList('inprogress');
|
|
597
598
|
this.userTicketList('closed');
|
|
598
599
|
}
|
|
599
|
-
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.
|
|
600
|
-
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 *ngIf=\"type !== 'audit'\" 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' && 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 (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 <th ><div (click)=\"sortData('status')\">Issue Type\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 [attr.stroke]=\"sortColumName === 'status' && 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 === '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 [attr.stroke]=\"sortColumName === 'status' && 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 class=\"text-primary cursor-pointer\" (click)=\"routetoTicket(history)\">{{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?(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 <td> <span class=\"badge badge-light-primary\" *ngIf=\"history?.status ==='open'\">Open</span>\r\n <span class=\"badge badge-light-warning\" *ngIf=\"history?.status ==='inprogress'\">Inprogress</span>\r\n <span class=\"badge badge-light-success\" *ngIf=\"history?.status ==='closed'\">Closed</span></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</div>\r\n<div *ngIf=\"type ==='audit'\">\r\n <lib-audit-workspace></lib-audit-workspace>\r\n </div>\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}table th,table td{min-width:150px!important;max-width:auto!important;height:44px!important;padding:12px 24px!important;align-items:center;gap:12px;align-self:stretch}\n"], dependencies: [{ kind: "directive", type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i9.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: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i9.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: "component", type: i10.AuditWorkspaceComponent, selector: "lib-audit-workspace" }, { kind: "pipe", type: i8.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i3.CustomDateFormatPipe, name: "customDateFormat" }] });
|
|
600
|
+
static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", 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 }, { token: i7.NgbModal }], target: i0.ɵɵFactoryTarget.Component });
|
|
601
|
+
static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: InfraticketsComponent, selector: "lib-infratickets", host: { listeners: { "document:click": "onClick($event)" } }, ngImport: i0, template: "\r\n<div *ngIf=\"type !== 'audit'\" 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' && 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 (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 <th ><div (click)=\"sortData('status')\">Issue Type\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 [attr.stroke]=\"sortColumName === 'status' && 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 === '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 [attr.stroke]=\"sortColumName === 'status' && 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 class=\"text-primary cursor-pointer\" (click)=\"routetoTicket(history)\">{{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?(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 <td> <span class=\"badge badge-light-primary\" *ngIf=\"history?.status ==='open'\">Open</span>\r\n <span class=\"badge badge-light-warning\" *ngIf=\"history?.status ==='inprogress'\">Inprogress</span>\r\n <span class=\"badge badge-light-success\" *ngIf=\"history?.status ==='closed'\">Closed</span></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</div>\r\n<div *ngIf=\"type ==='audit'\">\r\n <lib-audit-workspace></lib-audit-workspace>\r\n </div>\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}table th,table td{min-width:150px!important;max-width:auto!important;height:44px!important;padding:12px 24px!important;align-items:center;gap:12px;align-self:stretch}\n"], dependencies: [{ kind: "directive", type: i8.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i8.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i8.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i9.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: i9.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i9.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: "component", type: i10.AuditWorkspaceComponent, selector: "lib-audit-workspace" }, { kind: "pipe", type: i8.AsyncPipe, name: "async" }, { kind: "pipe", type: i8.TitleCasePipe, name: "titlecase" }, { kind: "pipe", type: i3.CustomDateFormatPipe, name: "customDateFormat" }] });
|
|
601
602
|
}
|
|
602
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.
|
|
603
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: InfraticketsComponent, decorators: [{
|
|
603
604
|
type: Component,
|
|
604
605
|
args: [{ selector: "lib-infratickets", template: "\r\n<div *ngIf=\"type !== 'audit'\" 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' && 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 (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 <th ><div (click)=\"sortData('status')\">Issue Type\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 [attr.stroke]=\"sortColumName === 'status' && 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 === '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 [attr.stroke]=\"sortColumName === 'status' && 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 class=\"text-primary cursor-pointer\" (click)=\"routetoTicket(history)\">{{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?(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 <td> <span class=\"badge badge-light-primary\" *ngIf=\"history?.status ==='open'\">Open</span>\r\n <span class=\"badge badge-light-warning\" *ngIf=\"history?.status ==='inprogress'\">Inprogress</span>\r\n <span class=\"badge badge-light-success\" *ngIf=\"history?.status ==='closed'\">Closed</span></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</div>\r\n<div *ngIf=\"type ==='audit'\">\r\n <lib-audit-workspace></lib-audit-workspace>\r\n </div>\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}table th,table td{min-width:150px!important;max-width:auto!important;height:44px!important;padding:12px 24px!important;align-items:center;gap:12px;align-self:stretch}\n"] }]
|
|
605
606
|
}], 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 }, { type: i7.NgbModal }], propDecorators: { onClick: [{
|
|
606
607
|
type: HostListener,
|
|
607
608
|
args: ["document:click", ["$event"]]
|
|
608
609
|
}] } });
|
|
609
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mcmF0aWNrZXRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy9pbmZyYXRpY2tldHMvaW5mcmF0aWNrZXRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy9pbmZyYXRpY2tldHMvaW5mcmF0aWNrZXRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxHQUdiLE1BQU0sZUFBZSxDQUFDO0FBT3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7QUFTMUMsTUFBTSxPQUFPLHFCQUFxQjtJQTREWjtJQUErQjtJQUN6QztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0Q7SUFDQztJQUNBO0lBbkVWLFdBQVcsR0FBUSxPQUFPLENBQUM7SUFDM0IsVUFBVSxHQUFRLENBQUMsQ0FBQztJQUNwQixhQUFhLEdBQVEsRUFBRSxDQUFDO0lBQ3hCLFFBQVEsR0FBUSxXQUFXLENBQUM7SUFDNUIsZ0JBQWdCLENBQU07SUFDdEIsdUJBQXVCO0lBQ3ZCLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFDMUIsTUFBTSxDQUFVO0lBQ2hCLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFDMUIsZUFBZSxDQUFNO0lBQ3JCLE1BQU0sR0FBUSxDQUFDLENBQUM7SUFDaEIsTUFBTSxHQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ2pCLEtBQUssR0FBUSxFQUFFLENBQUM7SUFDaEIsYUFBYSxDQUFNO0lBQ25CLGFBQWEsQ0FBTTtJQUNuQixTQUFTLEdBQVUsRUFBRSxDQUFDO0lBQ3RCLGVBQWUsR0FBVSxFQUFFLENBQUM7SUFDNUIsV0FBVyxHQUFV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QUFhLEdBQUUsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7d0dBaGxCUSxxQkFBcUI7NEZBQXJCLHFCQUFxQixzSEN0QmxDLHM2a0dBNjBCQTs7NEZEdnpCYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0Usa0JBQWtCO3VVQWdGNUIsT0FBTztzQkFETixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25EZXN0cm95LFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBPbkluaXQsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgVGlja2V0c1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvdGlja2V0LWluZnJhLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvZGF0YS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gXCJ0YW5nby1hcHAtdWktc2hhcmVkXCI7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSB9IGZyb20gXCJ0YW5nby1hcHAtdWktZ2xvYmFsXCI7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEV4Y2VsU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9leGNlbC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IE5nYk1vZGFsLE5nYkFjdGl2ZU1vZGFsIH0gZnJvbSBcIkBuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwXCI7XHJcbmltcG9ydCB7IERyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSBcIi4uL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudFwiO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJsaWItaW5mcmF0aWNrZXRzXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9pbmZyYXRpY2tldHMuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybDogXCIuL2luZnJhdGlja2V0cy5jb21wb25lbnQuc2Nzc1wiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5mcmF0aWNrZXRzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHNlbGVjdGVkVGFiOiBhbnkgPSBcImluZnJhXCI7XHJcbiAgc2VsZWN0Q2FyZDogYW55ID0gMDtcclxuICBzZWxlY3RlZElzc3VlOiBhbnkgPSBcIlwiO1xyXG4gIHVzZXJEYXRhOiBhbnkgPSBcIldvcmtzcGFjZVwiO1xyXG4gIHdvcmtIaXN0b3J5VGFibGU6IGFueTtcclxuICAvLyB3b3JrSGlzdG9yeWRhdGE6YW55O1xyXG4gIGNhcmRWaWV3OiBib29sZWFuID0gZmFsc2U7XHJcbiAgaXNPcGVuOiBib29sZWFuO1xyXG4gIGRyb3BEb3duOiBib29sZWFuID0gZmFsc2U7XHJcbiAgc2VhcmNoV29ya3NwYWNlOiBhbnk7XHJcbiAgb2Zmc2V0OiBhbnkgPSAxO1xyXG4gIHNvcnRCeTogYW55ID0gLTE7XHJcbiAgbGltaXQ6IGFueSA9IDEwO1xyXG4gIHNvcnRDb2x1bU5hbWU6IGFueTtcclxuICBzZWFyY2hIaXN0b3J5OiBhbnk7XHJcbiAgZHVtbXlPcGVuOiBhbnlbXSA9IFtdO1xyXG4gIGR1bW15SW5wcm9ncmVzczogYW55W10gPSBbXTtcclxuICBkdW1teUNsb3NlZDogYW55W10gPSBbXTtcclxuICBkcm9wZG93bkl0ZW1zOiBhbnlbXTtcclxuICBFeHBvcnRJdGVtczphbnkgPSBbJ092ZXJhbGwgcmVwb3J0JywnSG91cmx5IFJlcG9ydCddXHJcbiAgaGlzdG9yeUxvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGhpc3RvcnlOb2RhdGE6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBsb2FkaW5nOiBhbnkgPSB7XHJcbiAgICBvcGVuOiB0cnVlLFxyXG4gICAgaW5wcm9ncmVzczogdHJ1ZSxcclxuICAgIGNsb3NlZDogdHJ1ZSxcclxuICB9O1xyXG4gIG5vRGF0YTogYW55ID0ge1xyXG4gICAgb3BlbjogZmFsc2UsXHJcbiAgICBpbnByb2dyZXNzOiBmYWxzZSxcclxuICAgIGNsb3NlZDogZmFsc2UsXHJcbiAgfTtcclxuICBwYWdpbmF0aW9uID0ge1xyXG4gICAgb2Zmc2V0OiAxLFxyXG4gICAgbGltaXQ6IDEwLFxyXG4gICAgdG90YWxDb3VudDogMTAwMCxcclxuICAgIHRvdGFsUGFnZXM6IDIwLFxyXG4gIH07XHJcbiAgZGF0YU9iamVjdDogYW55O1xyXG4gIHN0YXR1c09wZW46IGFueTtcclxuICBzdGF0dXNDbG9zZWQ6IGFueTtcclxuICBzdGF0dXNJbnByb2dyZXNzOiBhbnk7XHJcbiAgZHVtbXlIaXN0b3J5OiBhbnk7XHJcbiAgaGVhZGVyRmlsdGVyOiBhbnk7XHJcbiAgZmlsdGVyZWREYXRhOiBhbnlbXTtcclxuICBkYXRlRmlsdGVyOiBhbnk7XHJcbiAgc3RvcmVGaWx0ZXI6IGFueTtcclxuICBpc3N1ZUZpbHRlcjogYW55O1xyXG4gIGZpbHRlclN0b3JlczogYW55ID0gW107XHJcbiAgY2xpZW50SWQ6IGFueTtcclxuICB3b3JrSGlzdG9yeWRhdGE6YW55W109W107XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIHVzZXI6IGFueTtcclxuICB0eXBlOiBzdHJpbmcgfCBudWxsID0gXCJpbmZyYVwiO1xyXG4gIHVuaXF1ZUFycmF5OiBhbnk7XHJcbiAgc2VhcmNoQXVkaXQ6IGFueSA9ICcnO1xyXG4gIHNlbGVjdGVkRXhwb3J0SXNzdWU6IGFueTtcclxuICB0b3RhbEl0ZW1zOiBhbnkgPTA7XHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSByb3V0ZTogQWN0aXZhdGVkUm91dGUsIHByaXZhdGUgcm91dGVyOiBSb3V0ZXIsXHJcbiAgICBwcml2YXRlIGNkOiBDaGFuZ2VEZXRlY3RvclJlZixcclxuICAgIHByaXZhdGUgZGF0YVNlcnZpY2U6IERhdGFTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSB0b2FzdFNlcnZpY2U6IFRvYXN0U2VydmljZSxcclxuICAgIHByaXZhdGUgc2VydmljZTogVGlja2V0c1NlcnZpY2UsXHJcbiAgICBwcml2YXRlIGRhdGFzZXJ2aWNlOiBEYXRhU2VydmljZSxcclxuICAgIHB1YmxpYyBnczogR2xvYmFsU3RhdGVTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBleGNlbDogRXhjZWxTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBtb2RhbHNlcnZpY2U6IE5nYk1vZGFsXHJcbiAgKSB7XHJcbiAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1zLnN1YnNjcmliZSgocGFyYW1zKSA9PiB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRUYWIgPSBwYXJhbXMuc2VsZWN0ZWRUYWI7XHJcbiAgICB9KTtcclxuICB9XHJcblxyXG4gIEBIb3N0TGlzdGVuZXIoXCJkb2N1bWVudDpjbGlja1wiLCBbXCIkZXZlbnRcIl0pXHJcbiAgb25DbGljayhldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgY29uc3QgdGFyZ2V0ID0gZXZlbnQudGFyZ2V0IGFzIEhUTUxFbGVtZW50O1xyXG4gICAgaWYgKCF0YXJnZXQuY2xvc2VzdChcIi5kcm9wZG93blwiKSkge1xyXG4gICAgICB0aGlzLmRyb3BEb3duID0gZmFsc2U7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMuc2VydmljZT8uZGF0YVN1YmplY3Q/LnN1YnNjcmliZSh2YWx1ZSA9PiB7XHJcbiAgICAgIHRoaXMudXNlckRhdGEgPSAnV29ya3NwYWNlJ1xyXG4gICAgfSlcclxuICAgIHRoaXMuZ3MuZGF0YVJhbmdlVmFsdWUucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpLnN1YnNjcmliZSgoZGF0YTogYW55KSA9PiB7XHJcbiAgICAgIGlmIChkYXRhICE9IG51bGwpIHtcclxuICAgICAgICB0aGlzLnVzZXIgPSBKU09OLnBhcnNlKGxvY2FsU3RvcmFnZS5nZXRJdGVtKCd1c2VyLWluZm8nKSB8fCBcIlwiKVxyXG4gICAgICAgIHRoaXMuaGVhZGVyRmlsdGVyID0gZGF0YTtcclxuICAgICAgICB0aGlzLmNsaWVudElkID0gdGhpcy5oZWFkZXJGaWx0ZXI/LmNsaWVudHNcclxuICAgICAgICB0aGlzLnJvdXRlLnF1ZXJ5UGFyYW1NYXAuc3Vic2NyaWJlKHBhcmFtcyA9PiB7XHJcbiAgICAgICAgICB0aGlzLnR5cGUgPSAocGFyYW1zLmdldCgndHlwZScpKSA/IChwYXJhbXMuZ2V0KCd0eXBlJykpIDogdGhpcy50eXBlO1xyXG4gICAgICAgICAgLy8gaWYodGhpcy50eXBlID09PSdhdWRpdCcpe3RoaXMudXNlckRhdGEgPSAnSGlzdG9yeSd9ZWxzZXt9XHJcbiAgICAgICAgICB0aGlzLmdldGRhdGFPYmplY3QoKTtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0RHJvcGRvd25zKCk7XHJcbiAgICAgICAgICBpZiAodGhpcy51c2VyRGF0YSA9PSAnV29ya3NwYWNlJykge1xyXG4gICAgICAgICAgICB0aGlzLnVzZXJUaWNrZXRMaXN0KCdvcGVuJyk7XHJcbiAgICAgICAgICAgIHRoaXMudXNlclRpY2tldExpc3QoJ2lucHJvZ3Jlc3MnKTtcclxuICAgICAgICAgICAgdGhpcy51c2VyVGlja2V0TGlzdCgnY2xvc2VkJyk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMudXNlckRhdGEgPT0gJ0hpc3RvcnknKSB7XHJcbiAgICAgICAgICAgIHRoaXMud29ya0hpc3RvcnkoKTtcclxuICAgICAgICAgICAgdGhpcy5zdG9yZUZpbHRlcnMoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG5cclxuICAgIH0pO1xyXG5cclxuICB9XHJcbiAgZ2V0ZGF0YU9iamVjdCgpIHtcclxuICAgIGlmICh0aGlzLnR5cGUgPT09IFwiaW5mcmFcIiB8fCB0aGlzLnR5cGUgPT09IFwiaW5zdGFsbGF0aW9uXCIpIHtcclxuICAgICAgdGhpcy5kYXRhT2JqZWN0ID0gW1xyXG4gICAgICAgIHsgRGVzY3JpcHRpb246IFwiU3RvcmUgSURcIiwgSXNzdWVzOiBbXSB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIERlc2NyaXB0aW9uOiBcIklzc3VlIFR5cGVcIixcclxuICAgICAgICAgIElzc3VlczogWyB7IHRleHQ6IFwiU3RvcmUgT3BlcmF0aW9uIElzc3Vlc1wiIH0seyB0ZXh0OiBcIkNhbWVyYSBJc3N1ZXNcIiB9LHsgdGV4dDogXCJJbnRlcm5ldCBJc3N1ZXNcIiB9LCB7IHRleHQ6IFwiU3lzdGVtIElzc3Vlc1wiIH0seyB0ZXh0OiBcIkFwcGxpY2F0aW9uIElzc3Vlc1wiIH0sIF0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBEZXNjcmlwdGlvbjogXCJEYXRlIFR5cGVcIix0eXBlOiBcInNpbmdsZVwiLFxyXG4gICAgICAgICAgSXNzdWVzOiBbXHJcbiAgICAgICAgICAgIHsgaWQ6IFwiaXNzdWVJZGVudGlmaWVkRGF0ZVwiLCB0ZXh0OiBcIklzc3VlIElkZW50aWZpZWQgRGF0ZVwiIH0sXHJcbiAgICAgICAgICAgIHsgaWQ6IFwiY3JlYXRlZERhdGVcIiwgdGV4dDogXCJDcmVhdGVkIERhdGVcIiB9LFxyXG4gICAgICAgICAgICB7IGlkOiBcImNsb3NlZERhdGVcIiwgdGV4dDogXCJDbG9zZWQgRGF0ZVwiIH0sXHJcbiAgICAgICAgICBdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF07XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gXCJkYXRhTWlzbWF0Y2hcIikge1xyXG4gICAgICB0aGlzLmRhdGFPYmplY3QgPSBbXHJcbiAgICAgICAgeyBEZXNjcmlwdGlvbjogJ1N0b3JlIElEJywgSXNzdWVzOiBbXSB9LFxyXG4gICAgICAgIHsgRGVzY3JpcHRpb246ICdJc3N1ZSBUeXBlJywgSXNzdWVzOiBbe2lkOidoaWdoY291bnQnLCB0ZXh0OiBcIkhpZ2ggY291bnRcIiB9LCB7aWQ6J2xvd2NvdW50JywgdGV4dDogXCJMb3cgY291bnRcIiB9XSB9LFxyXG4gICAgICAgIHsgRGVzY3JpcHRpb246ICdEYXRlIFR5cGUnLCB0eXBlOiAnc2luZ2xlJywgSXNzdWVzOiBbeyBpZDogXCJpc3N1ZURhdGVcIix0ZXh0OiBcIklzc3VlIERhdGVcIiB9LCB7IGlkOiBcImNyZWF0ZWREYXRlXCIsdGV4dDogXCJDcmVhdGVkIERhdGVcIiB9LCB7IGlkOiBcImNsb3NlZERhdGVcIix0ZXh0OiBcIkNsb3NlZCBEYXRlXCIgfV0gfVxyXG4gICAgICBdO1xyXG4gICAgfVxyXG4gIH1cclxuICByZW1vdmVEdXBsaWNhdGVzKCkge1xyXG4gICAgY29uc3Qga2V5ID0gJ2lkJzsgLy8gQ2hhbmdlIHRoaXMga2V5IHRvIGFueSBrZXkgeW91IHdhbnQgdG8gdXNlIGZvciB1bmlxdWVuZXNzXHJcbiAgICBjb25zdCB1bmlxdWVLZXlzID0gbmV3IFNldCgpO1xyXG4gICAgbGV0IG9yaWdpbmFsQXJyYXkgPSB0aGlzLmRhdGFPYmplY3QuZmluZCgoZGF0YTphbnkpID0+IGRhdGEuRGVzY3JpcHRpb24gPT09J1N0b3JlIElEJykuSXNzdWVzXHJcbiAgICB0aGlzLnVuaXF1ZUFycmF5ID0gb3JpZ2luYWxBcnJheS5maWx0ZXIoKGl0ZW06YW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IGlzRHVwbGljYXRlID0gdW5pcXVlS2V5cy5oYXMoaXRlbVtrZXldKTtcclxuICAgICAgdW5pcXVlS2V5cy5hZGQoaXRlbVtrZXldKTtcclxuICAgICAgcmV0dXJuICFpc0R1cGxpY2F0ZTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcbiAgdXNlclRpY2tldExpc3QodmFsdWU6IGFueSkge1xyXG4gICAgLy8gdGhpcy5zZWxlY3RlZElzc3VlID0gdGhpcy5zZWxlY3RlZElzc3VlID09PSAnSGlnaCBDb3VudCcgPyAnaGlnaGNvdW50JyA6KHRoaXMuc2VsZWN0ZWRJc3N1ZSA9PT0gJ0xvdyBDb3VudCcgPyAnbG93Y291bnQnIDogJycpXHJcbiAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgY2xpZW50SWQ6IHRoaXMuY2xpZW50SWQsXHJcbiAgICAgIHVzZXJJZDogdGhpcy51c2VyPy5faWQsXHJcbiAgICAgIHN0YXR1czogdmFsdWUsXHJcbiAgICAgIGlzc3VlVHlwZTogdGhpcy50eXBlLFxyXG4gICAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJGaWx0ZXI/LmRhdGU/LnN0YXJ0RGF0ZSxcclxuICAgICAgdG9EYXRlOiB0aGlzLmhlYWRlckZpbHRlcj8uZGF0ZT8uZW5kRGF0ZSxcclxuICAgICAgc2VhcmNoVmFsdWU6IHRoaXMuc2VhcmNoV29ya3NwYWNlLFxyXG4gICAgICBmaWx0ZXI6IHRoaXMuc2VsZWN0ZWRJc3N1ZSxcclxuICAgIH07XHJcbiAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgLnVzZXJUaWNrZXRMaXN0KGRhdGEpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwICYmIHJlcy5kYXRhLmRhdGEubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIGlmICh2YWx1ZSA9PSBcIm9wZW5cIikge1xyXG4gICAgICAgICAgICAgIHRoaXMuc3RhdHVzT3BlbiA9IHJlcy5kYXRhLmRhdGE7XHJcbiAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nLm9wZW4gPSBmYWxzZTtcclxuICAgICAgICAgICAgICB0aGlzLm5vRGF0YS5vcGVuID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodmFsdWUgPT0gXCJpbnByb2dyZXNzXCIpIHtcclxuICAgICAgICAgICAgICB0aGlzLnN0YXR1c0lucHJvZ3Jlc3MgPSByZXMuZGF0YS5kYXRhO1xyXG4gICAgICAgICAgICAgIHRoaXMubG9hZGluZy5pbnByb2dyZXNzID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgdGhpcy5ub0RhdGEuaW5wcm9ncmVzcyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMuc3RhdHVzQ2xvc2VkID0gcmVzLmRhdGEuZGF0YTtcclxuICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcuY2xvc2VkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgdGhpcy5ub0RhdGEuY2xvc2VkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmICh2YWx1ZSA9PSBcIm9wZW5cIikge1xyXG4gICAgICAgICAgICAgIHRoaXMubm9EYXRhLm9wZW4gPSB0cnVlO1xyXG4gICAgICAgICAgICAgIHRoaXMubG9hZGluZy5vcGVuID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodmFsdWUgPT0gXCJpbnByb2dyZXNzXCIpIHtcclxuICAgICAgICAgICAgICB0aGlzLm5vRGF0YS5pbnByb2dyZXNzID0gdHJ1ZTtcclxuICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcuaW5wcm9ncmVzcyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMubm9EYXRhLmNsb3NlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nLmNsb3NlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5ub0RhdGEub3BlbiA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmcub3BlbiA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5ub0RhdGEuaW5wcm9ncmVzcyA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmcuaW5wcm9ncmVzcyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5ub0RhdGEuY2xvc2VkID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMubG9hZGluZy5jbG9zZWQgPSBmYWxzZTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vIHRha2VUaWNrZXRhdWRpdCgpe1xyXG4gIC8vICAgY29uc29sZS5sb2coJ2lzc3VlVHlwZScsdGhpcy50eXBlKVxyXG4gIC8vICAgY29uc3QgbW9kYWxSZWYgPSB0aGlzLm1vZGFsc2VydmljZS5vcGVuKERyb3Bkb3duQ29tcG9uZW50LHtcclxuICAvLyAgICAgY2VudGVyZWQ6dHJ1ZVxyXG4gIC8vICAgfSlcclxuICAgICBcclxuICAvLyB9XHJcblxyXG4gIHRha2VUaWNrZXQoKSB7XHJcbiAgICBsZXQgZGF0YSA9IHsgdXNlcklkOiB0aGlzLnVzZXI/Ll9pZCwgaXNzdWVUeXBlOiB0aGlzLnR5cGUgfTtcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAudXNlclRha2VUaWNrZXQoZGF0YSlcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmdldFN1Y2Nlc3NUb2FzdChyZXMubWVzc2FnZSk7XHJcbiAgICAgICAgICAgIHRoaXMudXNlclRpY2tldExpc3QoXCJvcGVuXCIpO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAxKSB7XHJcbiAgICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmdldEVycm9yVG9hc3QocmVzLmVycm9yKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmdldEVycm9yVG9hc3QoXCJObyBUaWNrZXQgQXZhaWxhYmxlXCIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmdldEVycm9yVG9hc3QoZXJyLmVycm9yKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBTaG93VGlja2V0KGluZGV4OiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0Q2FyZCA9IGluZGV4ID8gaW5kZXggOiAwO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0VGlja2V0KCkge1xyXG4gXHJcbiAgfVxyXG4gIHNlbGVjdFZpZXcoZTogTW91c2VFdmVudCwgaW5kZXg6IGFueSwgdmFsdWU6IGFueSkge1xyXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGlmICh2YWx1ZSA9PSBcIm9wZW5cIikge1xyXG4gICAgICB0aGlzLnN0YXR1c09wZW5baW5kZXhdLmlzT3BlbiA9ICF0aGlzLnN0YXR1c09wZW5baW5kZXhdLmlzT3BlbjtcclxuICAgIH0gZWxzZSBpZiAodmFsdWUgPT0gXCJpbnByb2dyZXNzXCIpIHtcclxuICAgICAgdGhpcy5zdGF0dXNJbnByb2dyZXNzW2luZGV4XS5pc09wZW4gPVxyXG4gICAgICAgICF0aGlzLnN0YXR1c0lucHJvZ3Jlc3NbaW5kZXhdLmlzT3BlbjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc3RhdHVzQ2xvc2VkW2luZGV4XS5pc09wZW4gPSAhdGhpcy5zdGF0dXNDbG9zZWRbaW5kZXhdLmlzT3BlbjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJvdXRldG9UaWNrZXQodmFsdWU6IGFueSkge1xyXG4gICAgbGV0IGlzc3VlVHlwZSA9XHJcbiAgICAgIHZhbHVlPy5pc3N1ZVR5cGUgPT09IFwiaGlnaGNvdW50XCJcclxuICAgICAgICA/IFwiaGlnaC1jb3VudFwiXHJcbiAgICAgICAgOiB2YWx1ZT8uaXNzdWVUeXBlID09PSBcImxvd2NvdW50XCJcclxuICAgICAgICA/IFwibG93LWNvdW50XCJcclxuICAgICAgICA6IFwiXCI7XHJcbiAgICBpZiAodmFsdWU/Lmlzc3VlVHlwZSA9PSBcImluZnJhXCIpIHtcclxuICAgICAgLy8gdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1xyXG4gICAgICAvLyAgIGAvdGlja2V0cy91c2Vycy90aWNrZXRpbmZvLyR7dmFsdWUudGlja2V0SWR9LyR7dmFsdWUuc3RvcmVJZH1gLFxyXG4gICAgICAvLyBdKTtcclxuICAgICAgbGV0IGRhdGE6IGFueSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJoZWFkZXItZmlsdGVyc1wiKSB8fCBcIlwiKTtcclxuICAgICAgZGF0YS5zdG9yZSA9IHZhbHVlLnN0b3JlSWQ7XHJcbiAgICAgIGRhdGEuY2xpZW50ID0gdmFsdWUuY2xpZW50SWQ7XHJcbiAgICAgIGRhdGEuY2xpZW50TmFtZSA9IHZhbHVlPy5jbGllbnROYW1lID8gdmFsdWU/LmNsaWVudE5hbWU6J1N0b3Jlcyc7IFxyXG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcImhlYWRlci1maWx0ZXJzXCIsIEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2AvbWFuYWdlL3N0b3Jlcy9pbmZyYS10aWNrZXRgXSwge3F1ZXJ5UGFyYW1zOiB7IHN0b3JlSWQ6IHZhbHVlLnN0b3JlSWQsdHlwZTpcImluZnJhXCIgfX0pO1xyXG4gICBcclxuICAgIH0gZWxzZSBpZiAodmFsdWU/Lmlzc3VlVHlwZSA9PSBcImluc3RhbGxhdGlvblwiKSB7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcclxuICAgICAgICBgL3RpY2tldHMvdXNlcnMvaW5zdGFsbGF0aW9uaW5mby8ke3ZhbHVlLnRpY2tldElkfS8ke3ZhbHVlLnN0b3JlSWR9YCxcclxuICAgICAgXSk7XHJcbiAgICB9ICBlbHNlIGlmKHZhbHVlPy5pc3N1ZVR5cGUgPT0gJ21hdCcpIHtcclxuICAgICAgaWYodmFsdWUubWF0U3RhdHVzID09J0RyYWZ0Jyl7XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCAoYC90aWNrZXRzL2VtcGxveWVldHJhaW5pbmcvJHt2YWx1ZS50aWNrZXRJZH0vJHt2YWx1ZS5zdG9yZUlkfT9mdW5jdGlvblR5cGU9c3RvcmVNYXR1cGRhdGVgKTtcclxuICAgICAgfVxyXG4gICAgICAvLyBlbHNlIGlmKHZhbHVlLm1hdFN0YXR1cyA9PSdjbG9zZWQnKXtcclxuICAgICAgLy8gICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsIChgL3RpY2tldHMvZW1wbG95ZWV0cmFpbmluZy8ke3ZhbHVlLnRpY2tldElkfS8ke3ZhbHVlLnN0b3JlSWR9P2Z1bmN0aW9uVHlwZT1vdXRwdXRgKTtcclxuICAgICAgLy8gfVxyXG4gICAgICBlbHNle1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwgKGAvdGlja2V0cy9lbXBsb3llZXRyYWluaW5nLyR7dmFsdWUudGlja2V0SWR9LyR7dmFsdWUuc3RvcmVJZH1gKTtcclxuICAgICAgfVxyXG4gICAgfWVsc2UgaWYgKFxyXG4gICAgICB2YWx1ZT8uaXNzdWVUeXBlID09IFwiaGlnaGNvdW50XCIgfHxcclxuICAgICAgdmFsdWU/Lmlzc3VlVHlwZSA9PSBcImxvd2NvdW50XCJcclxuICAgICkge1xyXG4gICAgICB0aGlzLnN0YXR1c1VwZGF0ZSh2YWx1ZS50aWNrZXRJZCwgdmFsdWU/Lmlzc3VlVHlwZSwgdmFsdWU/LnN0YXR1cyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0dXNVcGRhdGUodmFsdWU6IGFueSwgaXNzdWVUeXBlOiBhbnksIHN0YXR1czogYW55KSB7XHJcbiAgICAvLyBjb25zb2xlLmxvZyhgL3RpY2tldHMvZGF0YS1taXNtYXRjaC8ke3R5cGV9P3RpY2tldElkPSR7dmFsdWV9YCxcInRyZXFycVwiKVxyXG4gICAgbGV0IHR5cGUgPVxyXG4gICAgICBpc3N1ZVR5cGUgPT09IFwiaGlnaGNvdW50XCJcclxuICAgICAgICA/IFwiaGlnaC1jb3VudFwiXHJcbiAgICAgICAgOiBpc3N1ZVR5cGUgPT09IFwibG93Y291bnRcIlxyXG4gICAgICAgID8gXCJsb3ctY291bnRcIlxyXG4gICAgICAgIDogXCJcIjtcclxuICAgIGxldCBkYXRhID0ge1xyXG4gICAgICB0aWNrZXRJZDogdmFsdWUsXHJcbiAgICAgIHN0YXR1czogXCJpbnByb2dyZXNzXCIsXHJcbiAgICB9O1xyXG4gICAgaWYgKHN0YXR1cyA9PT0gXCJvcGVuXCIpIHtcclxuICAgICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgICAgLnN0YXR1c1VwZGF0ZShkYXRhKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoXHJcbiAgICAgICAgICAgICAgICBgL3RpY2tldHMvZGF0YS1taXNtYXRjaC8ke3R5cGV9P3RpY2tldElkPSR7dmFsdWV9YFxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYoc3RhdHVzICE9PSBcImNsb3NlZFwiKSB7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoXHJcbiAgICAgICAgYC90aWNrZXRzL2RhdGEtbWlzbWF0Y2gvJHt0eXBlfT90aWNrZXRJZD0ke3ZhbHVlfWBcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgZXhwb3J0RGF0YSgpIHtcclxuICAgIGxldCBkYXRhID0ge1xyXG4gICAgICB1c2VySWQ6IHRoaXMudXNlcj8uX2lkLFxyXG4gICAgICBleHBvcnQ6IHRydWUsXHJcbiAgICAgIGlzc3VlVHlwZTogdGhpcy50eXBlLFxyXG4gICAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJGaWx0ZXI/LmRhdGU/LnN0YXJ0RGF0ZSxcclxuICAgICAgdG9EYXRlOiB0aGlzLmhlYWRlckZpbHRlcj8uZGF0ZT8uZW5kRGF0ZSxcclxuICAgICAgc2VhcmNoVmFsdWU6IHRoaXMuc2VhcmNoV29ya3NwYWNlLFxyXG4gICAgICBmaWx0ZXI6IHRoaXMuc2VsZWN0ZWRJc3N1ZSxcclxuICAgICAgY2xpZW50SWQ6IHRoaXMuaGVhZGVyRmlsdGVyLmNsaWVudHMsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgIC5leHBvcnR1c2VyVGlja2V0TGlzdChkYXRhKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5leGNlbC5zYXZlQXNFeGNlbEZpbGUocmVzLCBcIlVzZXIgVGlja2V0IExpc3RcIik7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBleHBvcnRBdWRpdEFzWGxzeCgpIHtcclxuICAgIGxldCBvYmogPSB7XHJcbiAgICAgIGV4cG9ydDogdHJ1ZSxcclxuICAgICAgdXNlcklkOnRoaXMudXNlclxyXG4gICAgfVxyXG4gICAgY29uc29sZS5sb2coJ29iaicsb2JqKVxyXG4gICAgLy8gdGhpcy5leHBvcnRCdG5UZXh0ID0gXCJFeHBvcnRpbmcgLi4uLlwiXHJcbiAgICAvLyB0aGlzLnNlcnZpY2UuZXhwb3J0KG9iaikuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAvLyAgIC8vIGNvbnNvbGUubG9nKHJlc3BvbnNlKTtcclxuICAgIC8vICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtyZXNwb25zZV0sIHsgdHlwZTogJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScgfSk7XHJcbiAgICAvLyAgIGNvbnN0IGRvd25sb2FkVVJMID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XHJcbiAgICAvLyAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICAvLyAgIGxpbmsuaHJlZiA9IGRvd25sb2FkVVJMO1xyXG4gICAgLy8gICBsaW5rLmRvd25sb2FkID0gJ0F1ZGl0IE1hbmFnZW1lbnQueGxzeCc7IC8vIFNldCB0aGUgZGVzaXJlZCBmaWxlbmFtZVxyXG4gICAgLy8gICBsaW5rLmNsaWNrKCk7XHJcbiAgICAvLyAgIC8vIHRoaXMuZXhwb3J0QnRuVGV4dCA9IFwiRXhwb3J0XCJcclxuICAgIC8vIH0pXHJcbiAgfVxyXG5cclxuICB3b3JrSGlzdG9yeSgpIHtcclxuICAgIGxldCBkYXRhID0ge1xyXG4gICAgICB1c2VySWQ6IHRoaXMudXNlcj8uX2lkLFxyXG4gICAgICBvZmZzZXQ6IHRoaXMub2Zmc2V0LFxyXG4gICAgICBsaW1pdDogdGhpcy5saW1pdCxcclxuICAgICAgZnJvbURhdGU6IHRoaXMuaGVhZGVyRmlsdGVyPy5kYXRlPy5zdGFydERhdGUsXHJcbiAgICAgIHRvRGF0ZTogdGhpcy5oZWFkZXJGaWx0ZXI/LmRhdGU/LmVuZERhdGUsXHJcbiAgICAgIHNlYXJjaFZhbHVlOiB0aGlzLnNlYXJjaEhpc3RvcnksXHJcbiAgICAgIHNvcnRDb2x1bU5hbWU6IHRoaXMuc29ydENvbHVtTmFtZSxcclxuICAgICAgc29ydEJ5OiB0aGlzLnNvcnRCeSxcclxuICAgICAgaXNzdWVUeXBlOiB0aGlzLnR5cGUsXHJcbiAgICAgIGRhdGVGaWx0ZXI6IHRoaXMuZGF0ZUZpbHRlcixcclxuICAgICAgc3RvcmVGaWx0ZXI6IHRoaXMuc3RvcmVGaWx0ZXIsXHJcbiAgICAgIGlzc3VlRmlsdGVyOiB0aGlzLmlzc3VlRmlsdGVyLFxyXG4gICAgICBjbGllbnRJZDogdGhpcy5jbGllbnRJZCxcclxuICAgIH07XHJcbiAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgLndvcmtIaXN0b3J5KGRhdGEpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcz8uY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy53b3JrSGlzdG9yeVRhYmxlID0gcmVzPy5kYXRhPy5yZXN1bHQ7XHJcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9cmVzPy5kYXRhPy5jb3VudDtcclxuICAgICAgICAgICAgdGhpcy5oaXN0b3J5TG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmhpc3RvcnlOb2RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuaGlzdG9yeU5vZGF0YSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuaGlzdG9yeUxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMuaGlzdG9yeU5vZGF0YSA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLmhpc3RvcnlMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wbGV0ZSgpIHt9LFxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHNlbGVjdEl0ZW0odmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHZhbHVlID09IFwiQWxsXCIpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZElzc3VlID0gXCJcIjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJc3N1ZSA9IHZhbHVlO1xyXG4gICAgfVxyXG4gICAgaWYodGhpcy50eXBlID09PSAnaW5mcmEnIHx8IHRoaXMudHlwZSA9PT0gJ2luc3RhbGxhdGlvbicpe1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXNzdWUgPSB0aGlzLnNlbGVjdGVkSXNzdWU7XHJcbiAgICB9ZWxzZSBpZih0aGlzLnR5cGUgPT09ICdkYXRhTWlzbWF0Y2gnKXtcclxuICAgICAgLy8gY29uc29sZS5sb2coJ3RoaXMuc2VsZWN0ZWRJc3N1ZScsdGhpcy5zZWxlY3RlZElzc3VlKVxyXG4gICAgICB0aGlzLnNlbGVjdGVkSXNzdWUgPSAodGhpcy5zZWxlY3RlZElzc3VlID09PSAnTG93IENvdW50JyA/ICdsb3djb3VudCcgOih0aGlzLnNlbGVjdGVkSXNzdWUgPT09ICdIaWdoIENvdW50JyA/ICdoaWdoY291bnQnIDogJycpKVxyXG4gICAgICAvLyBjb25zb2xlLmxvZygndGhpcy5zZWxlY3RlZElzc3VlMScsdGhpcy5zZWxlY3RlZElzc3VlKVxyXG4gICAgfVxyXG4gICAgdGhpcy5kcm9wRG93biA9IGZhbHNlO1xyXG4gICAgdGhpcy51c2VyVGlja2V0TGlzdChcIm9wZW5cIik7XHJcbiAgICB0aGlzLnVzZXJUaWNrZXRMaXN0KFwiaW5wcm9ncmVzc1wiKTtcclxuICAgIHRoaXMudXNlclRpY2tldExpc3QoXCJjbG9zZWRcIik7XHJcbiAgfVxyXG4gIHNlbGVjdEV4cG9ydEl0ZW0odmFsdWU6YW55KXtcclxuICAgICB0aGlzLnNlbGVjdGVkRXhwb3J0SXNzdWUgPSB2YWx1ZTtcclxuICAgICB0aGlzLmV4cG9ydEF1ZGl0QXNYbHN4KCk7XHJcbiAgfVxyXG4gIHNlbGVjdERyb3Bkb3ducygpe1xyXG4gICAgaWYodGhpcy50eXBlID09PSAnaW5mcmEnIHx8IHRoaXMudHlwZSA9PT0gJ2luc3RhbGxhdGlvbicpe1xyXG4gICAgICB0aGlzLmRyb3Bkb3duSXRlbXMgPSBbJ0FsbCcsICdJbnRlcm5ldCBJc3N1ZXMnLCAnQ2FtZXJhIElzc3VlcycsICdTeXN0ZW0gSXNzdWVzJywgJ0FwcGxpY2F0aW9uIElzc3VlcycsICdTdG9yZSBPcGVyYXRpb24gSXNzdWVzJywgJ05vdCBJZGVudGlmaWVkJ11cclxuICAgIH1lbHNlIGlmKHRoaXMudHlwZSA9PT0gJ2RhdGFNaXNtYXRjaCcpe1xyXG4gICAgICB0aGlzLmRyb3Bkb3duSXRlbXMgPSBbJ0FsbCcsICdMb3cgQ291bnQnLCAnSGlnaCBDb3VudCddXHJcbiAgICB9XHJcbiAgfVxyXG4gIG9wZW5Ecm9wZG93bihldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLmRyb3BEb3duID0gIXRoaXMuZHJvcERvd247XHJcbiAgfVxyXG5cclxuICB1c2VyVmFsdWUoZGF0YTogYW55KSB7XHJcbiAgICB0aGlzLnVzZXJEYXRhID0gZGF0YTtcclxuICAgIGlmICh0aGlzLnVzZXJEYXRhID09IFwiSGlzdG9yeVwiKSB7XHJcbiAgICAgIHRoaXMud29ya0hpc3RvcnkoKTtcclxuICAgICAgdGhpcy5zdG9yZUZpbHRlcnMoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWFyY2hUaWNrZXRzKCkge1xyXG4gICAgdGhpcy51c2VyVGlja2V0TGlzdChcIm9wZW5cIik7XHJcbiAgICB0aGlzLnVzZXJUaWNrZXRMaXN0KFwiaW5wcm9ncmVzc1wiKTtcclxuICAgIHRoaXMudXNlclRpY2tldExpc3QoXCJjbG9zZWRcIik7XHJcbiAgfVxyXG5cclxuICBzZWFyY2hBdWRpdHMoZXZlbnQ6YW55KXtcclxuICAgIHRoaXMuc2VhcmNoQXVkaXQgPSBldmVudC50YXJnZXQudmFsdWU7XHJcbiAgfVxyXG5cclxuICBzZWFyY2hIaXN0b3J5VGFibGUoKSB7XHJcbiAgICB0aGlzLndvcmtIaXN0b3J5KCk7XHJcbiAgfVxyXG5cclxuICByZWNlaXZlRGF0YShkYXRhOiBhbnlbXSkge1xyXG4gICAgdGhpcy5zdG9yZUZpbHRlciA9IGRhdGFcclxuICAgICAgLmZpbmQoKG9iaikgPT4gb2JqLkRlc2NyaXB0aW9uID09PSBcIlN0b3JlIElEXCIpXHJcbiAgICAgID8uSXNzdWVzLm1hcCgoaXRlbTogYW55KSA9PiBpdGVtPy50ZXh0KTtcclxuICAgIHRoaXMuZGF0ZUZpbHRlciA9IGRhdGEuZmluZChcclxuICAgICAgKG9iaikgPT4gb2JqLkRlc2NyaXB0aW9uID09PSBcIkRhdGUgVHlwZVwiXHJcbiAgICApPy5Jc3N1ZXM/LmlkO1xyXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gXCJpbmZyYVwiIHx8IHRoaXMudHlwZSA9PT0gXCJpbnN0YWxsYXRpb25cIikge1xyXG4gICAgICBjb25zb2xlLmxvZyhcImluZnJhXCIpO1xyXG4gICAgICB0aGlzLmlzc3VlRmlsdGVyID0gZGF0YVxyXG4gICAgICAgIC5maW5kKChvYmopID0+IG9iai5EZXNjcmlwdGlvbiA9PT0gXCJJc3N1ZSBUeXBlXCIpXHJcbiAgICAgICAgPy5Jc3N1ZXMubWFwKChpdGVtOiBhbnkpID0+IGl0ZW0/LnRleHQpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09IFwiZGF0YU1pc21hdGNoXCIpIHtcclxuICAgICAgY29uc29sZS5sb2coXCJkYXRhTWlzbWF0Y2hcIik7XHJcbiAgICAgIHRoaXMuaXNzdWVGaWx0ZXIgPSBkYXRhXHJcbiAgICAgICAgLmZpbmQoKG9iaikgPT4gb2JqLkRlc2NyaXB0aW9uID09PSBcIklzc3VlIFR5cGVcIilcclxuICAgICAgICA/Lklzc3Vlcy5tYXAoKGl0ZW06IGFueSkgPT4gaXRlbT8uaWQpO1xyXG4gICAgfVxyXG4gICAgdGhpcy53b3JrSGlzdG9yeSgpO1xyXG4gIH1cclxuXHJcbiAgRXhwb3J0SGlzdG9yeWFzWGxzeCgpIHtcclxuICAgIGxldCBleHBvcnREYXRhID0ge1xyXG4gICAgICB1c2VySWQ6IHRoaXMudXNlcj8uX2lkLFxyXG4gICAgICBpc3N1ZVR5cGU6IHRoaXMudHlwZSxcclxuICAgICAgb2Zmc2V0OiB0aGlzLm9mZnNldCxcclxuICAgICAgbGltaXQ6IDEwMDAsXHJcbiAgICAgIGZyb21EYXRlOiB0aGlzLmhlYWRlckZpbHRlcj8uZGF0ZT8uc3RhcnREYXRlLFxyXG4gICAgICB0b0RhdGU6IHRoaXMuaGVhZGVyRmlsdGVyPy5kYXRlPy5lbmREYXRlLFxyXG4gICAgICBzZWFyY2hWYWx1ZTogdGhpcy5zZWFyY2hIaXN0b3J5LFxyXG4gICAgICBzb3J0Q29sdW1OYW1lOiB0aGlzLnNvcnRDb2x1bU5hbWUsXHJcbiAgICAgIHNvcnRCeTogdGhpcy5zb3J0QnksXHJcbiAgICAgIGV4cG9ydDogXCJ0cnVlXCIsXHJcbiAgICAgIGRhdGVGaWx0ZXI6IHRoaXMuZGF0ZUZpbHRlcixcclxuICAgICAgc3RvcmVGaWx0ZXI6IHRoaXMuc3RvcmVGaWx0ZXIsXHJcbiAgICAgIGlzc3VlRmlsdGVyOiB0aGlzLmlzc3VlRmlsdGVyLFxyXG4gICAgICBjbGllbnRJZDogdGhpcy5oZWFkZXJGaWx0ZXIuY2xpZW50cyxcclxuICAgIH07XHJcbiAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgLndvcmtIaXN0b3J5RXhwb3J0KGV4cG9ydERhdGEpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0YVNlcnZpY2Uuc2F2ZUFzRXhjZWxGaWxlKHJlcywgXCJIaXN0b3J5XCIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgICAgdGhpcy5oaXN0b3J5Tm9kYXRhID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuaGlzdG9yeUxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXBsZXRlKCkge30sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc29ydERhdGEodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5zb3J0Q29sdW1OYW1lID0gdmFsdWU7XHJcbiAgICB0aGlzLnNvcnRCeSAqPSAtMTtcclxuICAgIHRoaXMud29ya0hpc3RvcnkoKTtcclxuICB9XHJcblxyXG4gIG9uUGFnZUNoYW5nZShwYWdlT2Zmc2V0OiBudW1iZXIpIHtcclxuICAgIHRoaXMub2Zmc2V0ID0gcGFnZU9mZnNldDtcclxuICAgIHRoaXMud29ya0hpc3RvcnkoKTtcclxuICB9XHJcblxyXG4gIG9uUGFnZVNpemVDaGFuZ2UocGFnZVNpemU6IG51bWJlcikge1xyXG4gICAgdGhpcy5saW1pdCA9IHBhZ2VTaXplO1xyXG4gICAgdGhpcy5vZmZzZXQgPSAxO1xyXG4gICAgdGhpcy53b3JrSGlzdG9yeSgpO1xyXG4gIH1cclxuXHJcbiAgc3RvcmVGaWx0ZXJzKCkge1xyXG4gICAgbGV0IGRhdGEgPSB7XHJcbiAgICAgIHVzZXJJZDogdGhpcy51c2VyPy5faWQsXHJcbiAgICAgIG9mZnNldDogdGhpcy5vZmZzZXQsXHJcbiAgICAgIGxpbWl0OiB0aGlzLmxpbWl0LFxyXG4gICAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJGaWx0ZXI/LmRhdGU/LnN0YXJ0RGF0ZSxcclxuICAgICAgdG9EYXRlOiB0aGlzLmhlYWRlckZpbHRlcj8uZGF0ZT8uZW5kRGF0ZSxcclxuICAgICAgaXNzdWVUeXBlOiB0aGlzLnR5cGUsXHJcbiAgICAgIGNsaWVudElkOiB0aGlzLmhlYWRlckZpbHRlci5jbGllbnRzXHJcbiAgICB9XHJcbiAgICB0aGlzLmZpbHRlclN0b3JlcyA9IFtdO1xyXG4gICAgdGhpcy5zZXJ2aWNlLndvcmtIaXN0b3J5KGRhdGEpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzICYmIHJlcz8uY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgIHRoaXMuZmlsdGVyU3RvcmVzID0gcmVzLmRhdGEucmVzdWx0O1xyXG4gICAgICAgICAgY29uc3QgaXNzdWVzID0gdGhpcy5maWx0ZXJTdG9yZXMubWFwKChvYmo6IGFueSkgPT4gKHsgdGV4dDogb2JqLnN0b3JlSWQgfSkpO1xyXG4gICAgICAgICAgY29uc3QgdW5pcXVlSXNzdWVzOmFueVtdID0gW107XHJcbiAgICAgICAgICBjb25zdCBzdG9yZUlkcyA9IG5ldyBTZXQoKTtcclxuICAgICAgICAgIGlzc3Vlcy5mb3JFYWNoKChpc3N1ZTphbnkpID0+IHtcclxuICAgICAgICAgICAgaWYgKCFzdG9yZUlkcy5oYXMoaXNzdWUudGV4dCkpIHtcclxuICAgICAgICAgICAgICBzdG9yZUlkcy5hZGQoaXNzdWUudGV4dCk7XHJcbiAgICAgICAgICAgICAgdW5pcXVlSXNzdWVzLnB1c2goaXNzdWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGNvbnN0IGZpbHRyZWRPYmplY3QgPSAodGhpcy5kYXRhT2JqZWN0LmZpbmQoKG9iajogYW55KSA9PiBvYmouRGVzY3JpcHRpb24gPT09IFwiU3RvcmUgSURcIikpXHJcbiAgICAgICAgICBmaWx0cmVkT2JqZWN0Lklzc3VlcyA9IHVuaXF1ZUlzc3VlcztcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0sXHJcbiAgICB9KVxyXG4gIH1cclxuICB2aWV3VXNlcigpe1xyXG5cclxuICB9XHJcblxyXG4gIGRhdGFPYmplY3QxOiBhbnkgPSBbXHJcbiAgICB7IERlc2NyaXB0aW9uOiAnU3RhdHVzJywgSXNzdWVzOiBbeyB0ZXh0OiBcIlN0b3JlIE9wZXJhdGlvbiBJc3N1ZXNcIiwgaWQ6ICdTdG9yZSBPcGVyYXRpb24gSXNzdWVzJyB9LCB7IHRleHQ6IFwiSW50ZXJuZXQgSXNzdWVzXCIsIGlkOiAnSW50ZXJuZXQgSXNzdWVzJyB9LCBcclxuICAgICAgeyB0ZXh0OiBcIkNhbWVyYSBJc3N1ZXNcIiwgaWQ6IFwiQ2FtZXJhIElzc3Vlc1wiIH0seyB0ZXh0OiBcIlN5c3RlbSBJc3N1ZXNcIiwgaWQ6IFwiU3lzdGVtIElzc3Vlc1wiIH0seyB0ZXh0OiBcIkFwcGxpY2F0aW9uIElzc3Vlc1wiLCBpZDogXCJBcHBsaWNhdGlvbiBJc3N1ZXNcIiB9LHt0ZXh0OiBcIk5vdCBJZGVudGlmaWVkXCIsIGlkOiBcIm5vdGlkZW50aWZpZWRcIn1dIH0sXHJcbiAgXVxyXG4gIGFwcGx5RmlsdGVycyhldmVudDphbnkpe1xyXG4gICAgaWYgKGV2ZW50Py5sZW5ndGgpIHtcclxuICAgICAgZXZlbnQuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGVsZW1lbnQuRGVzY3JpcHRpb24gPT09IFwiU3RhdHVzXCIpIHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJc3N1ZSA9IGVsZW1lbnQuSXNzdWVzLm1hcCgodmFsOiBhbnkpID0+IHZhbD8uaWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgICAgfVxyXG4gICAgICBpZih0aGlzLnNlbGVjdGVkSXNzdWUubGVuZ3RoID09PSA2KVxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJc3N1ZSA9W107XHJcbiAgICAgIHRoaXMudXNlclRpY2tldExpc3QoJ29wZW4nKTtcclxuICAgICAgdGhpcy51c2VyVGlja2V0TGlzdCgnaW5wcm9ncmVzcycpO1xyXG4gICAgICB0aGlzLnVzZXJUaWNrZXRMaXN0KCdjbG9zZWQnKTtcclxuICAgIH1cclxuXHJcbn1cclxuIiwiXHJcbjxkaXYgKm5nSWY9XCJ0eXBlICE9PSAnYXVkaXQnXCIgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtM1wiPlxyXG4gICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ0eXBlICE9PSAnbWF0JyAmJiB0eXBlICE9PSAnZGF0YU1pc21hdGNoJ1wiIGNsYXNzPVwiY2FyZC1sYWJlbCBtYi0yXCI+e3t0eXBlIHwgdGl0bGVjYXNlfX0gVGlja2V0czwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ0eXBlID09PSAnZGF0YU1pc21hdGNoJ1wiIGNsYXNzPVwiY2FyZC1sYWJlbCBtYi0yXCI+RGF0YSBNaXNtYXRjaCBUaWNrZXRzPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cInR5cGUgPT09ICdtYXQnXCIgY2xhc3M9XCJjYXJkLWxhYmVsIG1iLTJcIj5FbXBsb3llZSBNYXQ8L3NwYW4+XHJcbiAgICAgICAgICAgIDwhLS0gPHNwYW4gY2xhc3M9XCJ0ZXh0LXN1YiBtYi0yXCI+TGFzdCB1cGRhdGVkIDEgaG91ciBhZ288L3NwYW4+IC0tPlxyXG4gICAgICAgIDwvaDM+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cInVzZXJEYXRhID09PSdXb3Jrc3BhY2UnXCIgY2xhc3M9XCJjYXJkLXRvb2xiYXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcG9zaXRpb24tcmVsYXRpdmUgbXktMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMSBwb3NpdGlvbi1hYnNvbHV0ZSBtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgb3BhY2l0eT1cIjAuNVwiIHg9XCIxNy4wMzY1XCIgeT1cIjE1LjEyMjNcIiB3aWR0aD1cIjguMTU1NDZcIiBoZWlnaHQ9XCIyXCIgcng9XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJyb3RhdGUoNDUgMTcuMDM2NSAxNS4xMjIzKVwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L3JlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTEgMTlDNi41NTU1NiAxOSAzIDE1LjQ0NDQgMyAxMUMzIDYuNTU1NTYgNi41NTU1NiAzIDExIDNDMTUuNDQ0NCAzIDE5IDYuNTU1NTYgMTkgMTFDMTkgMTUuNDQ0NCAxNS40NDQ0IDE5IDExIDE5Wk0xMSA1QzcuNTMzMzMgNSA1IDcuNTMzMzMgNSAxMUM1IDE0LjQ2NjcgNy41MzMzMyAxNyAxMSAxN0MxNC40NjY3IDE3IDE3IDE0LjQ2NjcgMTcgMTFDMTcgNy41MzMzMyAxNC40NjY3IDUgMTEgNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L3BhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbCBwcy0xNCBtZS0yXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaFwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFsobmdNb2RlbCldPVwic2VhcmNoV29ya3NwYWNlXCIgKGNoYW5nZSk9XCJzZWFyY2hUaWNrZXRzKClcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLWZpbHRlcnMgKm5nSWY9XCJ0eXBlICE9PSAnbWF0JyAmJiB0eXBlICE9PSdkYXRhTWlzbWF0Y2gnXCIgW2RhdGFPYmplY3RdPVwiZGF0YU9iamVjdDFcIiAoYXBwbGllZEZpbHRlcnMpPVwiYXBwbHlGaWx0ZXJzKCRldmVudClcIj48L2xpYi1maWx0ZXJzPlxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2ICpuZ0lmPVwidHlwZSAhPT0gJ21hdCdcIiBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvcGVuRHJvcGRvd24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IG14LTIgYnRuLW91dGxpbmUgYnRuLW91dGxpbmUtZGVmYXVsdCByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbFwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNSAxMEgxNU0yLjUgNUgxNy41TTcuNSAxNUgxMi41XCIgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTJcIj5GaWx0ZXI8L3NwYW4+IDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZHJvcERvd25cIiBjbGFzcz1cImNhcmQgcHktMSB3LTIwMHB4IHBvc2l0aW9uLWFic29sdXRlIHRvcC01MHB4IGVuZC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRyb3Bkb3duSXRlbXNcIiBjbGFzcz1cImxpc3QtdW5zdHlsZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgW25nQ2xhc3NdPVwidGhpcy5zZWxlY3RlZElzc3VlID09PSBpdGVtID8gJ2FjdGl2ZScgOiAnJ1wiIGNsYXNzPVwiY2FtZXJhIHB4LTUgaXRlbXMgZnctc2VtaWJvbGQgY3Vyc29yLXBvaW50ZXIgcHktMlwiIChjbGljayk9XCJzZWxlY3RJdGVtKGl0ZW0pXCI+e3tpdGVtfX08L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy5tYW5hZ2VfdGlja2V0c19pc0Rvd25sb2FkICYmICghbm9EYXRhLm9wZW4gfHwgIW5vRGF0YS5pbnByb2dyZXNzIHx8ICFub0RhdGEuY2xvc2VkKVwiIChjbGljayk9XCJleHBvcnREYXRhKClcIiBjbGFzcz1cImJ0biBidG4tb3V0bGluZSBwLTMgdGV4dC1ub3dyYXAgYm9yZGVyIGJvcmRlci1ncmF5IG1zLTIgbWUtMlwiIHR5cGU9XCJidXR0b25cIj48c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xNy41IDEyLjVWMTUuODMzM0MxNy41IDE2LjI3NTQgMTcuMzI0NCAxNi42OTkzIDE3LjAxMTggMTcuMDExOEMxNi42OTkzIDE3LjMyNDQgMTYuMjc1NCAxNy41IDE1LjgzMzMgMTcuNUg0LjE2NjY3QzMuNzI0NjQgMTcuNSAzLjMwMDcyIDE3LjMyNDQgMi45ODgxNiAxNy4wMTE4QzIuNjc1NTkgMTYuNjk5MyAyLjUgMTYuMjc1NCAyLjUgMTUuODMzM1YxMi41TTE0LjE2NjcgNi42NjY2N0wxMCAyLjVNMTAgMi41TDUuODMzMzMgNi42NjY2N00xMCAyLjVWMTIuNVwiIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+IEV4cG9ydDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8ubWFuYWdlX3RpY2tldHNfaXNFZGl0XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJ0YWtlVGlja2V0KClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBteC0yIHJvdW5kZWQtMyB0ZXh0LW5vd3JhcFwiPjxzcGFuIGNsYXNzPVwibXMtMiB0ZXh0LXdoaXRlXCI+VGFrZSBUaWNrZXQ8L3NwYW4+IDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJ1c2VyRGF0YSA9PT0nSGlzdG9yeSdcIiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xIHBvc2l0aW9uLWFic29sdXRlIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCBvcGFjaXR5PVwiMC41XCIgeD1cIjE3LjAzNjVcIiB5PVwiMTUuMTIyM1wiIHdpZHRoPVwiOC4xNTU0NlwiIGhlaWdodD1cIjJcIiByeD1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInJvdGF0ZSg0NSAxNy4wMzY1IDE1LjEyMjMpXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcmVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMSAxOUM2LjU1NTU2IDE5IDMgMTUuNDQ0NCAzIDExQzMgNi41NTU1NiA2LjU1NTU2IDMgMTEgM0MxNS40NDQ0IDMgMTkgNi41NTU1NiAxOSAxMUMxOSAxNS40NDQ0IDE1LjQ0NDQgMTkgMTEgMTlaTTExIDVDNy41MzMzMyA1IDUgNy41MzMzMyA1IDExQzUgMTQuNDY2NyA3LjUzMzMzIDE3IDExIDE3QzE0LjQ2NjcgMTcgMTcgMTQuNDY2NyAxNyAxMUMxNyA3LjUzMzMzIDE0LjQ2NjcgNSAxMSA1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sIHBzLTE0IG1lLTJcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hIaXN0b3J5XCIgKGNoYW5nZSk9XCJzZWFyY2hIaXN0b3J5VGFibGUoKVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8bGliLWZpbHRlcnMgKm5nSWY9XCJ0eXBlICE9PSAnbWF0JyAmJiBmaWx0ZXJTdG9yZXM/Lmxlbmd0aCA+IDBcIiBbZGF0YU9iamVjdF09XCJkYXRhT2JqZWN0XCIgKGFwcGxpZWRGaWx0ZXJzKT1cInJlY2VpdmVEYXRhKCRldmVudClcIiA+PC9saWItZmlsdGVycz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy5tYW5hZ2VfdGlja2V0c19pc0Rvd25sb2FkICYmICFoaXN0b3J5Tm9kYXRhXCIgKGNsaWNrKT1cIkV4cG9ydEhpc3Rvcnlhc1hsc3goKVwiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIHAtMyBib3JkZXIgYm9yZGVyLWdyYXkgbXMtMiBtZS0yIHRleHQtbm93cmFwXCIgdHlwZT1cImJ1dHRvblwiPjxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTcuNSAxMi41VjE1LjgzMzNDMTcuNSAxNi4yNzU0IDE3LjMyNDQgMTYuNjk5MyAxNy4wMTE4IDE3LjAxMThDMTYuNjk5MyAxNy4zMjQ0IDE2LjI3NTQgMTcuNSAxNS44MzMzIDE3LjVINC4xNjY2N0MzLjcyNDY0IDE3LjUgMy4zMDA3MiAxNy4zMjQ0IDIuOTg4MTYgMTcuMDExOEMyLjY3NTU5IDE2LjY5OTMgMi41IDE2LjI3NTQgMi41IDE1LjgzMzNWMTIuNU0xNC4xNjY3IDYuNjY2NjdMMTAgMi41TTEwIDIuNUw1LjgzMzMzIDYuNjY2NjdNMTAgMi41VjEyLjVcIiBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj4gRXhwb3J0XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcHktMlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggb3ZlcmZsb3ctYXV0byBoLTU1cHhcIj5cclxuICAgICAgICAgICAgPHVsIGNsYXNzPVwibmF2IG5hdi1zdHJldGNoIG5hdi1saW5lLXRhYnMgbmF2LWxpbmUtdGFicy0yeCBib3JkZXItdHJhbnNwYXJlbnQgZnMtNSBmdy1ib2xkZXIgZmxleC1ub3dyYXBcIj5cclxuICAgICAgICAgICAgICAgIDxsaSAoY2xpY2spPVwidXNlclZhbHVlKCdXb3Jrc3BhY2UnKVwiICBjbGFzcz1cIm5hdi1pdGVtIGN1cnNvci1wb2ludGVyXCI+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+XHJcbiAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcmVzcG9uc2l2ZVwiPlxyXG4gICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZSBib3R0b20tYm9yZGVyIHRleHQtbm93cmFwXCI+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+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCA+PGRpdiAoY2xpY2spPVwic29ydERhdGEoJ3N0YXR1cycpXCI+SXNzdWUgVHlwZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0Q29sdW1OYW1lID09PSAnc3RhdHVzJyAmJiBzb3J0QnkgIT09IDEgfHwgc29ydENvbHVtTmFtZSAhPT0gJ3N0YXR1cydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02LjAwMDE2IDEuMzMzMzdWMTAuNjY2N002LjAwMDE2IDEwLjY2NjdMMTAuNjY2OCA2LjAwMDA0TTYuMDAwMTYgMTAuNjY2N0wxLjMzMzUgNi4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0Q29sdW1OYW1lID09PSAnc3RhdHVzJyAmJiBzb3J0QnkgIT09IDEgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydENvbHVtTmFtZSA9PT0gJ3N0YXR1cycgJiYgc29ydEJ5ICE9PSAtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwMTYgMTAuNjY2N0w2LjAwMDE2IDEuMzMzMzdNNi4wMDAxNiAxLjMzMzM3TDEuMzMzNSA2LjAwMDA0TTYuMDAwMTYgMS4zMzMzN0wxMC42NjY4IDYuMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydENvbHVtTmFtZSA9PT0gJ3N0YXR1cycgJiYgc29ydEJ5ICE9PSAtMSA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgaGlzdG9yeSBvZiB3b3JrSGlzdG9yeVRhYmxlIDsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3toaXN0b3J5Py5pc3N1ZURhdGV8Y3VzdG9tRGF0ZUZvcm1hdH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1wcmltYXJ5IGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInJvdXRldG9UaWNrZXQoaGlzdG9yeSlcIj57e2hpc3Rvcnk/LnRpY2tldElkID8gaGlzdG9yeT8udGlja2V0SWQgOictLSd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWdyaWQgbXMtMyBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJyb3V0ZXRvVGlja2V0KGhpc3RvcnkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXByaW1hcnkgbWItMSB0ZXh0LWNhcGl0YWxpemVcIj57e2hpc3Rvcnk/LmNsaWVudE5hbWUgPyBoaXN0b3J5Py5jbGllbnROYW1lIDogJy0tJ319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAge3toaXN0b3J5Py5jbGllbnRJZCA/IGhpc3Rvcnk/LmNsaWVudElkIDonLS0nfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZ3JpZCBtcy0zIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInJvdXRldG9UaWNrZXQoaGlzdG9yeSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtcHJpbWFyeSBtYi0xXCI+e3toaXN0b3J5Py5zdG9yZU5hbWUgPyBoaXN0b3J5Py5zdG9yZU5hbWUgOictLSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2hpc3Rvcnk/LnN0b3JlSWQgPyBoaXN0b3J5Py5zdG9yZUlkIDonLS0nfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cInR5cGUgPT09ICdpbmZyYScgfHwgdHlwZSA9PT0naW5zdGFsbGF0aW9uJ1wiPnt7aGlzdG9yeT8uaXNzdWVJZGVudGlmaWVkRGF0ZT8oaGlzdG9yeT8uaXNzdWVJZGVudGlmaWVkRGF0ZSB8Y3VzdG9tRGF0ZUZvcm1hdCk6ICctLSd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cInR5cGUgPT09ICdkYXRhTWlzbWF0Y2gnXCI+e3toaXN0b3J5Py5pc3N1ZURhdGU/KGhpc3Rvcnk/Lmlzc3VlRGF0ZSB8Y3VzdG9tRGF0ZUZvcm1hdCk6ICctLSd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2hpc3Rvcnk/Lmlzc3VlQ2xvc2VkRGF0ZT8oaGlzdG9yeT8uaXNzdWVDbG9zZWREYXRlfGN1c3RvbURhdGVGb3JtYXQpOlwiLS1cIn19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwidHlwZSA9PT0gJ2luZnJhJyB8fCB0eXBlID09PSdpbnN0YWxsYXRpb24nXCI+e3toaXN0b3J5Py5pbmZyYUlzc3VlID8gaGlzdG9yeT8uaW5mcmFJc3N1ZSA6Jy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwidHlwZSA9PT0gJ2RhdGFNaXNtYXRjaCdcIj57e2hpc3Rvcnk/Lmlzc3VlVHlwZSA/IGhpc3Rvcnk/Lmlzc3VlVHlwZSA6Jy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICA8dGQ+IDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtcHJpbWFyeVwiICpuZ0lmPVwiaGlzdG9yeT8uc3RhdHVzID09PSdvcGVuJ1wiPk9wZW48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXdhcm5pbmdcIiAqbmdJZj1cImhpc3Rvcnk/LnN0YXR1cyA9PT0naW5wcm9ncmVzcydcIj5JbnByb2dyZXNzPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXN1Y2Nlc3NcIiAqbmdJZj1cImhpc3Rvcnk/LnN0YXR1cyA9PT0nY2xvc2VkJ1wiPkNsb3NlZDwvc3Bhbj48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+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+XHJcbjwvZGl2PlxyXG48ZGl2ICpuZ0lmPVwidHlwZSA9PT0nYXVkaXQnXCI+XHJcbiAgICA8bGliLWF1ZGl0LXdvcmtzcGFjZT48L2xpYi1hdWRpdC13b3Jrc3BhY2U+XHJcbiA8L2Rpdj5cclxuXHJcblxyXG5cclxuXHJcblxyXG4iXX0=
|
|
610
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5mcmF0aWNrZXRzLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy9pbmZyYXRpY2tldHMvaW5mcmF0aWNrZXRzLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy9pbmZyYXRpY2tldHMvaW5mcmF0aWNrZXRzLmNvbXBvbmVudC5odG1sIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFDTCxTQUFTLEVBRVQsWUFBWSxHQUdiLE1BQU0sZUFBZSxDQUFDO0FBT3ZCLE9BQU8sRUFBRSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sTUFBTSxDQUFDOzs7Ozs7Ozs7Ozs7QUFTMUMsTUFBTSxPQUFPLHFCQUFxQjtJQTZEWjtJQUErQjtJQUN6QztJQUNBO0lBQ0E7SUFDQTtJQUNBO0lBQ0Q7SUFDQztJQUNBO0lBcEVWLFdBQVcsR0FBUSxPQUFPLENBQUM7SUFDM0IsVUFBVSxHQUFRLENBQUMsQ0FBQztJQUNwQixhQUFhLEdBQVEsRUFBRSxDQUFDO0lBQ3hCLFFBQVEsR0FBUSxXQUFXLENBQUM7SUFDNUIsZ0JBQWdCLENBQU07SUFDdEIsdUJBQXVCO0lBQ3ZCLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFDMUIsTUFBTSxDQUFVO0lBQ2hCLFFBQVEsR0FBWSxLQUFLLENBQUM7SUFDMUIsZUFBZSxDQUFNO0lBQ3JCLE1BQU0sR0FBUSxDQUFDLENBQUM7SUFDaEIsTUFBTSxHQUFRLENBQUMsQ0FBQyxDQUFDO0lBQ2pCLEtBQUssR0FBUSxFQUFFLENBQUM7SUFDaEIsYUFBYSxDQUFNO0lBQ25CLGFBQWEsQ0FBTTtJQUNuQixTQUFTLEdBQVUsRUFBRSxDQUFDO0lBQ3RCLGVBQWUsR0FBVSxFQUFFLENBQUM7SUFDNUIsV0FBVyxHQUFV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RyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sS0FBSyxDQUFDO1lBQ2hDLElBQUksQ0FBQyxhQUFhLEdBQUUsRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQyxjQUFjLENBQUMsTUFBTSxDQUFDLENBQUM7UUFDNUIsSUFBSSxDQUFDLGNBQWMsQ0FBQyxZQUFZLENBQUMsQ0FBQztRQUNsQyxJQUFJLENBQUMsY0FBYyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2hDLENBQUM7d0dBamxCUSxxQkFBcUI7NEZBQXJCLHFCQUFxQixzSEN0QmxDLHM2a0dBNjBCQTs7NEZEdnpCYSxxQkFBcUI7a0JBTGpDLFNBQVM7K0JBQ0Usa0JBQWtCO3VVQWlGNUIsT0FBTztzQkFETixZQUFZO3VCQUFDLGdCQUFnQixFQUFFLENBQUMsUUFBUSxDQUFDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcclxuICBDb21wb25lbnQsXHJcbiAgT25EZXN0cm95LFxyXG4gIEhvc3RMaXN0ZW5lcixcclxuICBDaGFuZ2VEZXRlY3RvclJlZixcclxuICBPbkluaXQsXHJcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgQWN0aXZhdGVkUm91dGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IFJvdXRlciB9IGZyb20gXCJAYW5ndWxhci9yb3V0ZXJcIjtcclxuaW1wb3J0IHsgVGlja2V0c1NlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvdGlja2V0LWluZnJhLnNlcnZpY2VcIjtcclxuaW1wb3J0IHsgRGF0YVNlcnZpY2UgfSBmcm9tIFwiLi4vLi4vc2VydmljZXMvZGF0YS5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IFRvYXN0U2VydmljZSB9IGZyb20gXCJ0YW5nby1hcHAtdWktc2hhcmVkXCI7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSB9IGZyb20gXCJ0YW5nby1hcHAtdWktZ2xvYmFsXCI7XHJcbmltcG9ydCB7IFN1YmplY3QsIHRha2VVbnRpbCB9IGZyb20gXCJyeGpzXCI7XHJcbmltcG9ydCB7IEV4Y2VsU2VydmljZSB9IGZyb20gXCIuLi8uLi9zZXJ2aWNlcy9leGNlbC5zZXJ2aWNlXCI7XHJcbmltcG9ydCB7IE5nYk1vZGFsLE5nYkFjdGl2ZU1vZGFsIH0gZnJvbSBcIkBuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwXCI7XHJcbmltcG9ydCB7IERyb3Bkb3duQ29tcG9uZW50IH0gZnJvbSBcIi4uL2Ryb3Bkb3duL2Ryb3Bkb3duLmNvbXBvbmVudFwiO1xyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogXCJsaWItaW5mcmF0aWNrZXRzXCIsXHJcbiAgdGVtcGxhdGVVcmw6IFwiLi9pbmZyYXRpY2tldHMuY29tcG9uZW50Lmh0bWxcIixcclxuICBzdHlsZVVybDogXCIuL2luZnJhdGlja2V0cy5jb21wb25lbnQuc2Nzc1wiLFxyXG59KVxyXG5leHBvcnQgY2xhc3MgSW5mcmF0aWNrZXRzQ29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LCBPbkRlc3Ryb3kge1xyXG4gIHNlbGVjdGVkVGFiOiBhbnkgPSBcImluZnJhXCI7XHJcbiAgc2VsZWN0Q2FyZDogYW55ID0gMDtcclxuICBzZWxlY3RlZElzc3VlOiBhbnkgPSBcIlwiO1xyXG4gIHVzZXJEYXRhOiBhbnkgPSBcIldvcmtzcGFjZVwiO1xyXG4gIHdvcmtIaXN0b3J5VGFibGU6IGFueTtcclxuICAvLyB3b3JrSGlzdG9yeWRhdGE6YW55O1xyXG4gIGNhcmRWaWV3OiBib29sZWFuID0gZmFsc2U7XHJcbiAgaXNPcGVuOiBib29sZWFuO1xyXG4gIGRyb3BEb3duOiBib29sZWFuID0gZmFsc2U7XHJcbiAgc2VhcmNoV29ya3NwYWNlOiBhbnk7XHJcbiAgb2Zmc2V0OiBhbnkgPSAxO1xyXG4gIHNvcnRCeTogYW55ID0gLTE7XHJcbiAgbGltaXQ6IGFueSA9IDEwO1xyXG4gIHNvcnRDb2x1bU5hbWU6IGFueTtcclxuICBzZWFyY2hIaXN0b3J5OiBhbnk7XHJcbiAgZHVtbXlPcGVuOiBhbnlbXSA9IFtdO1xyXG4gIGR1bW15SW5wcm9ncmVzczogYW55W10gPSBbXTtcclxuICBkdW1teUNsb3NlZDogYW55W10gPSBbXTtcclxuICBkcm9wZG93bkl0ZW1zOiBhbnlbXTtcclxuICBFeHBvcnRJdGVtczphbnkgPSBbJ092ZXJhbGwgcmVwb3J0JywnSG91cmx5IFJlcG9ydCddXHJcbiAgaGlzdG9yeUxvYWRpbmc6IGJvb2xlYW4gPSB0cnVlO1xyXG4gIGhpc3RvcnlOb2RhdGE6IGJvb2xlYW4gPSBmYWxzZTtcclxuICBsb2FkaW5nOiBhbnkgPSB7XHJcbiAgICBvcGVuOiB0cnVlLFxyXG4gICAgaW5wcm9ncmVzczogdHJ1ZSxcclxuICAgIGNsb3NlZDogdHJ1ZSxcclxuICB9O1xyXG4gIG5vRGF0YTogYW55ID0ge1xyXG4gICAgb3BlbjogZmFsc2UsXHJcbiAgICBpbnByb2dyZXNzOiBmYWxzZSxcclxuICAgIGNsb3NlZDogZmFsc2UsXHJcbiAgfTtcclxuICBwYWdpbmF0aW9uID0ge1xyXG4gICAgb2Zmc2V0OiAxLFxyXG4gICAgbGltaXQ6IDEwLFxyXG4gICAgdG90YWxDb3VudDogMTAwMCxcclxuICAgIHRvdGFsUGFnZXM6IDIwLFxyXG4gIH07XHJcbiAgZGF0YU9iamVjdDogYW55O1xyXG4gIHN0YXR1c09wZW46IGFueTtcclxuICBzdGF0dXNDbG9zZWQ6IGFueTtcclxuICBzdGF0dXNJbnByb2dyZXNzOiBhbnk7XHJcbiAgZHVtbXlIaXN0b3J5OiBhbnk7XHJcbiAgaGVhZGVyRmlsdGVyOiBhbnk7XHJcbiAgZmlsdGVyZWREYXRhOiBhbnlbXTtcclxuICBkYXRlRmlsdGVyOiBhbnk7XHJcbiAgc3RvcmVGaWx0ZXI6IGFueTtcclxuICBpc3N1ZUZpbHRlcjogYW55O1xyXG4gIGZpbHRlclN0b3JlczogYW55ID0gW107XHJcbiAgY2xpZW50SWQ6IGFueTtcclxuICB3b3JrSGlzdG9yeWRhdGE6YW55W109W107XHJcblxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG4gIHVzZXI6IGFueTtcclxuICB0eXBlOiBzdHJpbmcgfCBudWxsID0gXCJpbmZyYVwiO1xyXG4gIHVuaXF1ZUFycmF5OiBhbnk7XHJcbiAgc2VhcmNoQXVkaXQ6IGFueSA9ICcnO1xyXG4gIHNlbGVjdGVkRXhwb3J0SXNzdWU6IGFueTtcclxuICB0b3RhbEl0ZW1zOiBhbnkgPTA7XHJcbiAgdXNlcklkOiBzdHJpbmcgfCBudWxsO1xyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgcm91dGU6IEFjdGl2YXRlZFJvdXRlLCBwcml2YXRlIHJvdXRlcjogUm91dGVyLFxyXG4gICAgcHJpdmF0ZSBjZDogQ2hhbmdlRGV0ZWN0b3JSZWYsXHJcbiAgICBwcml2YXRlIGRhdGFTZXJ2aWNlOiBEYXRhU2VydmljZSxcclxuICAgIHByaXZhdGUgdG9hc3RTZXJ2aWNlOiBUb2FzdFNlcnZpY2UsXHJcbiAgICBwcml2YXRlIHNlcnZpY2U6IFRpY2tldHNTZXJ2aWNlLFxyXG4gICAgcHJpdmF0ZSBkYXRhc2VydmljZTogRGF0YVNlcnZpY2UsXHJcbiAgICBwdWJsaWMgZ3M6IEdsb2JhbFN0YXRlU2VydmljZSxcclxuICAgIHByaXZhdGUgZXhjZWw6IEV4Y2VsU2VydmljZSxcclxuICAgIHByaXZhdGUgbW9kYWxzZXJ2aWNlOiBOZ2JNb2RhbFxyXG4gICkge1xyXG4gICAgLy8gdGhpcy5yb3V0ZS5xdWVyeVBhcmFtcy5zdWJzY3JpYmUoKHBhcmFtcykgPT4ge1xyXG4gICAgLy8gICB0aGlzLnNlbGVjdGVkVGFiID0gcGFyYW1zLnNlbGVjdGVkVGFiO1xyXG4gICAgLy8gfSk7XHJcbiAgfVxyXG5cclxuICBASG9zdExpc3RlbmVyKFwiZG9jdW1lbnQ6Y2xpY2tcIiwgW1wiJGV2ZW50XCJdKVxyXG4gIG9uQ2xpY2soZXZlbnQ6IE1vdXNlRXZlbnQpIHtcclxuICAgIGNvbnN0IHRhcmdldCA9IGV2ZW50LnRhcmdldCBhcyBIVE1MRWxlbWVudDtcclxuICAgIGlmICghdGFyZ2V0LmNsb3Nlc3QoXCIuZHJvcGRvd25cIikpIHtcclxuICAgICAgdGhpcy5kcm9wRG93biA9IGZhbHNlO1xyXG4gICAgfVxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnNlcnZpY2U/LmRhdGFTdWJqZWN0Py5zdWJzY3JpYmUodmFsdWUgPT4ge1xyXG4gICAgICB0aGlzLnVzZXJEYXRhID0gJ1dvcmtzcGFjZSdcclxuICAgIH0pXHJcbiAgICB0aGlzLmdzLmRhdGFSYW5nZVZhbHVlLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGRhdGE6IGFueSkgPT4ge1xyXG4gICAgICBpZiAoZGF0YSAhPSBudWxsKSB7XHJcbiAgICAgICAgdGhpcy51c2VyID0gSlNPTi5wYXJzZShsb2NhbFN0b3JhZ2UuZ2V0SXRlbSgndXNlci1pbmZvJykgfHwgXCJcIilcclxuICAgICAgICB0aGlzLmhlYWRlckZpbHRlciA9IGRhdGE7XHJcbiAgICAgICAgdGhpcy5jbGllbnRJZCA9IHRoaXMuaGVhZGVyRmlsdGVyPy5jbGllbnRzXHJcbiAgICAgICAgdGhpcy5yb3V0ZS5xdWVyeVBhcmFtTWFwLnN1YnNjcmliZShwYXJhbXMgPT4ge1xyXG4gICAgICAgICAgdGhpcy50eXBlID0gKHBhcmFtcy5nZXQoJ3R5cGUnKSkgPyAocGFyYW1zLmdldCgndHlwZScpKSA6IHRoaXMudHlwZTtcclxuICAgICAgICAgIHRoaXMudXNlcklkID0gKHBhcmFtcy5nZXQoJ3VzZXJJZCcpKSA/IChwYXJhbXMuZ2V0KCd1c2VySWQnKSkgOicnXHJcbiAgICAgICAgICB0aGlzLmdldGRhdGFPYmplY3QoKTtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0RHJvcGRvd25zKCk7XHJcbiAgICAgICAgICBpZiAodGhpcy51c2VyRGF0YSA9PSAnV29ya3NwYWNlJykge1xyXG4gICAgICAgICAgICB0aGlzLnVzZXJUaWNrZXRMaXN0KCdvcGVuJyk7XHJcbiAgICAgICAgICAgIHRoaXMudXNlclRpY2tldExpc3QoJ2lucHJvZ3Jlc3MnKTtcclxuICAgICAgICAgICAgdGhpcy51c2VyVGlja2V0TGlzdCgnY2xvc2VkJyk7XHJcbiAgICAgICAgICB9IGVsc2UgaWYgKHRoaXMudXNlckRhdGEgPT0gJ0hpc3RvcnknKSB7XHJcbiAgICAgICAgICAgIHRoaXMud29ya0hpc3RvcnkoKTtcclxuICAgICAgICAgICAgdGhpcy5zdG9yZUZpbHRlcnMoKTtcclxuICAgICAgICAgIH1cclxuICAgICAgICB9KTtcclxuICAgICAgfVxyXG5cclxuICAgIH0pO1xyXG5cclxuICB9XHJcbiAgZ2V0ZGF0YU9iamVjdCgpIHtcclxuICAgIGlmICh0aGlzLnR5cGUgPT09IFwiaW5mcmFcIiB8fCB0aGlzLnR5cGUgPT09IFwiaW5zdGFsbGF0aW9uXCIpIHtcclxuICAgICAgdGhpcy5kYXRhT2JqZWN0ID0gW1xyXG4gICAgICAgIHsgRGVzY3JpcHRpb246IFwiU3RvcmUgSURcIiwgSXNzdWVzOiBbXSB9LFxyXG4gICAgICAgIHtcclxuICAgICAgICAgIERlc2NyaXB0aW9uOiBcIklzc3VlIFR5cGVcIixcclxuICAgICAgICAgIElzc3VlczogWyB7IHRleHQ6IFwiU3RvcmUgT3BlcmF0aW9uIElzc3Vlc1wiIH0seyB0ZXh0OiBcIkNhbWVyYSBJc3N1ZXNcIiB9LHsgdGV4dDogXCJJbnRlcm5ldCBJc3N1ZXNcIiB9LCB7IHRleHQ6IFwiU3lzdGVtIElzc3Vlc1wiIH0seyB0ZXh0OiBcIkFwcGxpY2F0aW9uIElzc3Vlc1wiIH0sIF0sXHJcbiAgICAgICAgfSxcclxuICAgICAgICB7XHJcbiAgICAgICAgICBEZXNjcmlwdGlvbjogXCJEYXRlIFR5cGVcIix0eXBlOiBcInNpbmdsZVwiLFxyXG4gICAgICAgICAgSXNzdWVzOiBbXHJcbiAgICAgICAgICAgIHsgaWQ6IFwiaXNzdWVJZGVudGlmaWVkRGF0ZVwiLCB0ZXh0OiBcIklzc3VlIElkZW50aWZpZWQgRGF0ZVwiIH0sXHJcbiAgICAgICAgICAgIHsgaWQ6IFwiY3JlYXRlZERhdGVcIiwgdGV4dDogXCJDcmVhdGVkIERhdGVcIiB9LFxyXG4gICAgICAgICAgICB7IGlkOiBcImNsb3NlZERhdGVcIiwgdGV4dDogXCJDbG9zZWQgRGF0ZVwiIH0sXHJcbiAgICAgICAgICBdLFxyXG4gICAgICAgIH0sXHJcbiAgICAgIF07XHJcbiAgICB9IGVsc2UgaWYgKHRoaXMudHlwZSA9PT0gXCJkYXRhTWlzbWF0Y2hcIikge1xyXG4gICAgICB0aGlzLmRhdGFPYmplY3QgPSBbXHJcbiAgICAgICAgeyBEZXNjcmlwdGlvbjogJ1N0b3JlIElEJywgSXNzdWVzOiBbXSB9LFxyXG4gICAgICAgIHsgRGVzY3JpcHRpb246ICdJc3N1ZSBUeXBlJywgSXNzdWVzOiBbe2lkOidoaWdoY291bnQnLCB0ZXh0OiBcIkhpZ2ggY291bnRcIiB9LCB7aWQ6J2xvd2NvdW50JywgdGV4dDogXCJMb3cgY291bnRcIiB9XSB9LFxyXG4gICAgICAgIHsgRGVzY3JpcHRpb246ICdEYXRlIFR5cGUnLCB0eXBlOiAnc2luZ2xlJywgSXNzdWVzOiBbeyBpZDogXCJpc3N1ZURhdGVcIix0ZXh0OiBcIklzc3VlIERhdGVcIiB9LCB7IGlkOiBcImNyZWF0ZWREYXRlXCIsdGV4dDogXCJDcmVhdGVkIERhdGVcIiB9LCB7IGlkOiBcImNsb3NlZERhdGVcIix0ZXh0OiBcIkNsb3NlZCBEYXRlXCIgfV0gfVxyXG4gICAgICBdO1xyXG4gICAgfVxyXG4gIH1cclxuICByZW1vdmVEdXBsaWNhdGVzKCkge1xyXG4gICAgY29uc3Qga2V5ID0gJ2lkJzsgLy8gQ2hhbmdlIHRoaXMga2V5IHRvIGFueSBrZXkgeW91IHdhbnQgdG8gdXNlIGZvciB1bmlxdWVuZXNzXHJcbiAgICBjb25zdCB1bmlxdWVLZXlzID0gbmV3IFNldCgpO1xyXG4gICAgbGV0IG9yaWdpbmFsQXJyYXkgPSB0aGlzLmRhdGFPYmplY3QuZmluZCgoZGF0YTphbnkpID0+IGRhdGEuRGVzY3JpcHRpb24gPT09J1N0b3JlIElEJykuSXNzdWVzXHJcbiAgICB0aGlzLnVuaXF1ZUFycmF5ID0gb3JpZ2luYWxBcnJheS5maWx0ZXIoKGl0ZW06YW55KSA9PiB7XHJcbiAgICAgIGNvbnN0IGlzRHVwbGljYXRlID0gdW5pcXVlS2V5cy5oYXMoaXRlbVtrZXldKTtcclxuICAgICAgdW5pcXVlS2V5cy5hZGQoaXRlbVtrZXldKTtcclxuICAgICAgcmV0dXJuICFpc0R1cGxpY2F0ZTtcclxuICAgIH0pO1xyXG4gIH1cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcbiAgdXNlclRpY2tldExpc3QodmFsdWU6IGFueSkge1xyXG4gICAgLy8gdGhpcy5zZWxlY3RlZElzc3VlID0gdGhpcy5zZWxlY3RlZElzc3VlID09PSAnSGlnaCBDb3VudCcgPyAnaGlnaGNvdW50JyA6KHRoaXMuc2VsZWN0ZWRJc3N1ZSA9PT0gJ0xvdyBDb3VudCcgPyAnbG93Y291bnQnIDogJycpXHJcbiAgICBsZXQgZGF0YSA9IHtcclxuICAgICAgY2xpZW50SWQ6IHRoaXMuY2xpZW50SWQsXHJcbiAgICAgIHVzZXJJZDogdGhpcy51c2VyPy5faWQsXHJcbiAgICAgIHN0YXR1czogdmFsdWUsXHJcbiAgICAgIGlzc3VlVHlwZTogdGhpcy50eXBlLFxyXG4gICAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJGaWx0ZXI/LmRhdGU/LnN0YXJ0RGF0ZSxcclxuICAgICAgdG9EYXRlOiB0aGlzLmhlYWRlckZpbHRlcj8uZGF0ZT8uZW5kRGF0ZSxcclxuICAgICAgc2VhcmNoVmFsdWU6IHRoaXMuc2VhcmNoV29ya3NwYWNlLFxyXG4gICAgICBmaWx0ZXI6IHRoaXMuc2VsZWN0ZWRJc3N1ZSxcclxuICAgIH07XHJcbiAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgLnVzZXJUaWNrZXRMaXN0KGRhdGEpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwICYmIHJlcy5kYXRhLmRhdGEubGVuZ3RoKSB7XHJcbiAgICAgICAgICAgIGlmICh2YWx1ZSA9PSBcIm9wZW5cIikge1xyXG4gICAgICAgICAgICAgIHRoaXMuc3RhdHVzT3BlbiA9IHJlcy5kYXRhLmRhdGE7XHJcbiAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nLm9wZW4gPSBmYWxzZTtcclxuICAgICAgICAgICAgICB0aGlzLm5vRGF0YS5vcGVuID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodmFsdWUgPT0gXCJpbnByb2dyZXNzXCIpIHtcclxuICAgICAgICAgICAgICB0aGlzLnN0YXR1c0lucHJvZ3Jlc3MgPSByZXMuZGF0YS5kYXRhO1xyXG4gICAgICAgICAgICAgIHRoaXMubG9hZGluZy5pbnByb2dyZXNzID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgdGhpcy5ub0RhdGEuaW5wcm9ncmVzcyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMuc3RhdHVzQ2xvc2VkID0gcmVzLmRhdGEuZGF0YTtcclxuICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcuY2xvc2VkID0gZmFsc2U7XHJcbiAgICAgICAgICAgICAgdGhpcy5ub0RhdGEuY2xvc2VkID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIGlmICh2YWx1ZSA9PSBcIm9wZW5cIikge1xyXG4gICAgICAgICAgICAgIHRoaXMubm9EYXRhLm9wZW4gPSB0cnVlO1xyXG4gICAgICAgICAgICAgIHRoaXMubG9hZGluZy5vcGVuID0gZmFsc2U7XHJcbiAgICAgICAgICAgIH0gZWxzZSBpZiAodmFsdWUgPT0gXCJpbnByb2dyZXNzXCIpIHtcclxuICAgICAgICAgICAgICB0aGlzLm5vRGF0YS5pbnByb2dyZXNzID0gdHJ1ZTtcclxuICAgICAgICAgICAgICB0aGlzLmxvYWRpbmcuaW5wcm9ncmVzcyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9IGVsc2Uge1xyXG4gICAgICAgICAgICAgIHRoaXMubm9EYXRhLmNsb3NlZCA9IHRydWU7XHJcbiAgICAgICAgICAgICAgdGhpcy5sb2FkaW5nLmNsb3NlZCA9IGZhbHNlO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKCkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5ub0RhdGEub3BlbiA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmcub3BlbiA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5ub0RhdGEuaW5wcm9ncmVzcyA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLmxvYWRpbmcuaW5wcm9ncmVzcyA9IGZhbHNlO1xyXG4gICAgICAgICAgdGhpcy5ub0RhdGEuY2xvc2VkID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMubG9hZGluZy5jbG9zZWQgPSBmYWxzZTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7XHJcbiAgICAgICAgICB0aGlzLmNkLmRldGVjdENoYW5nZXMoKTtcclxuICAgICAgICB9LFxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIC8vIHRha2VUaWNrZXRhdWRpdCgpe1xyXG4gIC8vICAgY29uc29sZS5sb2coJ2lzc3VlVHlwZScsdGhpcy50eXBlKVxyXG4gIC8vICAgY29uc3QgbW9kYWxSZWYgPSB0aGlzLm1vZGFsc2VydmljZS5vcGVuKERyb3Bkb3duQ29tcG9uZW50LHtcclxuICAvLyAgICAgY2VudGVyZWQ6dHJ1ZVxyXG4gIC8vICAgfSlcclxuICAgICBcclxuICAvLyB9XHJcblxyXG4gIHRha2VUaWNrZXQoKSB7XHJcbiAgICBsZXQgZGF0YSA9IHsgdXNlcklkOiB0aGlzLnVzZXI/Ll9pZCwgaXNzdWVUeXBlOiB0aGlzLnR5cGUgfTtcclxuICAgIHRoaXMuc2VydmljZVxyXG4gICAgICAudXNlclRha2VUaWNrZXQoZGF0YSlcclxuICAgICAgLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKVxyXG4gICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICAgIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAwKSB7XHJcbiAgICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmdldFN1Y2Nlc3NUb2FzdChyZXMubWVzc2FnZSk7XHJcbiAgICAgICAgICAgIHRoaXMudXNlclRpY2tldExpc3QoXCJvcGVuXCIpO1xyXG4gICAgICAgICAgfSBlbHNlIGlmIChyZXMgJiYgcmVzLmNvZGUgPT0gMjAxKSB7XHJcbiAgICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmdldEVycm9yVG9hc3QocmVzLmVycm9yKTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmdldEVycm9yVG9hc3QoXCJObyBUaWNrZXQgQXZhaWxhYmxlXCIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMudG9hc3RTZXJ2aWNlLmdldEVycm9yVG9hc3QoZXJyLmVycm9yKTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXBsZXRlOiAoKSA9PiB7fSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBTaG93VGlja2V0KGluZGV4OiBhbnkpIHtcclxuICAgIHRoaXMuc2VsZWN0Q2FyZCA9IGluZGV4ID8gaW5kZXggOiAwO1xyXG4gIH1cclxuXHJcbiAgc2VsZWN0VGlja2V0KCkge1xyXG4gXHJcbiAgfVxyXG4gIHNlbGVjdFZpZXcoZTogTW91c2VFdmVudCwgaW5kZXg6IGFueSwgdmFsdWU6IGFueSkge1xyXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKTtcclxuICAgIGlmICh2YWx1ZSA9PSBcIm9wZW5cIikge1xyXG4gICAgICB0aGlzLnN0YXR1c09wZW5baW5kZXhdLmlzT3BlbiA9ICF0aGlzLnN0YXR1c09wZW5baW5kZXhdLmlzT3BlbjtcclxuICAgIH0gZWxzZSBpZiAodmFsdWUgPT0gXCJpbnByb2dyZXNzXCIpIHtcclxuICAgICAgdGhpcy5zdGF0dXNJbnByb2dyZXNzW2luZGV4XS5pc09wZW4gPVxyXG4gICAgICAgICF0aGlzLnN0YXR1c0lucHJvZ3Jlc3NbaW5kZXhdLmlzT3BlbjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc3RhdHVzQ2xvc2VkW2luZGV4XS5pc09wZW4gPSAhdGhpcy5zdGF0dXNDbG9zZWRbaW5kZXhdLmlzT3BlbjtcclxuICAgIH1cclxuICB9XHJcblxyXG4gIHJvdXRldG9UaWNrZXQodmFsdWU6IGFueSkge1xyXG4gICAgbGV0IGlzc3VlVHlwZSA9XHJcbiAgICAgIHZhbHVlPy5pc3N1ZVR5cGUgPT09IFwiaGlnaGNvdW50XCJcclxuICAgICAgICA/IFwiaGlnaC1jb3VudFwiXHJcbiAgICAgICAgOiB2YWx1ZT8uaXNzdWVUeXBlID09PSBcImxvd2NvdW50XCJcclxuICAgICAgICA/IFwibG93LWNvdW50XCJcclxuICAgICAgICA6IFwiXCI7XHJcbiAgICBpZiAodmFsdWU/Lmlzc3VlVHlwZSA9PSBcImluZnJhXCIpIHtcclxuICAgICAgLy8gdGhpcy5yb3V0ZXIubmF2aWdhdGUoW1xyXG4gICAgICAvLyAgIGAvdGlja2V0cy91c2Vycy90aWNrZXRpbmZvLyR7dmFsdWUudGlja2V0SWR9LyR7dmFsdWUuc3RvcmVJZH1gLFxyXG4gICAgICAvLyBdKTtcclxuICAgICAgbGV0IGRhdGE6IGFueSA9IEpTT04ucGFyc2UobG9jYWxTdG9yYWdlLmdldEl0ZW0oXCJoZWFkZXItZmlsdGVyc1wiKSB8fCBcIlwiKTtcclxuICAgICAgZGF0YS5zdG9yZSA9IHZhbHVlLnN0b3JlSWQ7XHJcbiAgICAgIGRhdGEuY2xpZW50ID0gdmFsdWUuY2xpZW50SWQ7XHJcbiAgICAgIGRhdGEuY2xpZW50TmFtZSA9IHZhbHVlPy5jbGllbnROYW1lID8gdmFsdWU/LmNsaWVudE5hbWU6J1N0b3Jlcyc7IFxyXG4gICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbShcImhlYWRlci1maWx0ZXJzXCIsIEpTT04uc3RyaW5naWZ5KGRhdGEpKTtcclxuICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGUoW2AvbWFuYWdlL3N0b3Jlcy9pbmZyYS10aWNrZXRgXSwge3F1ZXJ5UGFyYW1zOiB7IHN0b3JlSWQ6IHZhbHVlLnN0b3JlSWQsdHlwZTpcImluZnJhXCIgfX0pO1xyXG4gICBcclxuICAgIH0gZWxzZSBpZiAodmFsdWU/Lmlzc3VlVHlwZSA9PSBcImluc3RhbGxhdGlvblwiKSB7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlKFtcclxuICAgICAgICBgL3RpY2tldHMvdXNlcnMvaW5zdGFsbGF0aW9uaW5mby8ke3ZhbHVlLnRpY2tldElkfS8ke3ZhbHVlLnN0b3JlSWR9YCxcclxuICAgICAgXSk7XHJcbiAgICB9ICBlbHNlIGlmKHZhbHVlPy5pc3N1ZVR5cGUgPT0gJ21hdCcpIHtcclxuICAgICAgaWYodmFsdWUubWF0U3RhdHVzID09J0RyYWZ0Jyl7XHJcbiAgICAgICAgdGhpcy5yb3V0ZXIubmF2aWdhdGVCeVVybCAoYC90aWNrZXRzL2VtcGxveWVldHJhaW5pbmcvJHt2YWx1ZS50aWNrZXRJZH0vJHt2YWx1ZS5zdG9yZUlkfT9mdW5jdGlvblR5cGU9c3RvcmVNYXR1cGRhdGVgKTtcclxuICAgICAgfVxyXG4gICAgICAvLyBlbHNlIGlmKHZhbHVlLm1hdFN0YXR1cyA9PSdjbG9zZWQnKXtcclxuICAgICAgLy8gICB0aGlzLnJvdXRlci5uYXZpZ2F0ZUJ5VXJsIChgL3RpY2tldHMvZW1wbG95ZWV0cmFpbmluZy8ke3ZhbHVlLnRpY2tldElkfS8ke3ZhbHVlLnN0b3JlSWR9P2Z1bmN0aW9uVHlwZT1vdXRwdXRgKTtcclxuICAgICAgLy8gfVxyXG4gICAgICBlbHNle1xyXG4gICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwgKGAvdGlja2V0cy9lbXBsb3llZXRyYWluaW5nLyR7dmFsdWUudGlja2V0SWR9LyR7dmFsdWUuc3RvcmVJZH1gKTtcclxuICAgICAgfVxyXG4gICAgfWVsc2UgaWYgKFxyXG4gICAgICB2YWx1ZT8uaXNzdWVUeXBlID09IFwiaGlnaGNvdW50XCIgfHxcclxuICAgICAgdmFsdWU/Lmlzc3VlVHlwZSA9PSBcImxvd2NvdW50XCJcclxuICAgICkge1xyXG4gICAgICB0aGlzLnN0YXR1c1VwZGF0ZSh2YWx1ZS50aWNrZXRJZCwgdmFsdWU/Lmlzc3VlVHlwZSwgdmFsdWU/LnN0YXR1cyk7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzdGF0dXNVcGRhdGUodmFsdWU6IGFueSwgaXNzdWVUeXBlOiBhbnksIHN0YXR1czogYW55KSB7XHJcbiAgICAvLyBjb25zb2xlLmxvZyhgL3RpY2tldHMvZGF0YS1taXNtYXRjaC8ke3R5cGV9P3RpY2tldElkPSR7dmFsdWV9YCxcInRyZXFycVwiKVxyXG4gICAgbGV0IHR5cGUgPVxyXG4gICAgICBpc3N1ZVR5cGUgPT09IFwiaGlnaGNvdW50XCJcclxuICAgICAgICA/IFwiaGlnaC1jb3VudFwiXHJcbiAgICAgICAgOiBpc3N1ZVR5cGUgPT09IFwibG93Y291bnRcIlxyXG4gICAgICAgID8gXCJsb3ctY291bnRcIlxyXG4gICAgICAgIDogXCJcIjtcclxuICAgIGxldCBkYXRhID0ge1xyXG4gICAgICB0aWNrZXRJZDogdmFsdWUsXHJcbiAgICAgIHN0YXR1czogXCJpbnByb2dyZXNzXCIsXHJcbiAgICB9O1xyXG4gICAgaWYgKHN0YXR1cyA9PT0gXCJvcGVuXCIpIHtcclxuICAgICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgICAgLnN0YXR1c1VwZGF0ZShkYXRhKVxyXG4gICAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgICAuc3Vic2NyaWJlKHtcclxuICAgICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICAgICAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoXHJcbiAgICAgICAgICAgICAgICBgL3RpY2tldHMvZGF0YS1taXNtYXRjaC8ke3R5cGV9P3RpY2tldElkPSR7dmFsdWV9YFxyXG4gICAgICAgICAgICAgICk7XHJcbiAgICAgICAgICAgIH1cclxuICAgICAgICAgIH0sXHJcbiAgICAgICAgfSk7XHJcbiAgICB9IGVsc2UgaWYoc3RhdHVzICE9PSBcImNsb3NlZFwiKSB7XHJcbiAgICAgIHRoaXMucm91dGVyLm5hdmlnYXRlQnlVcmwoXHJcbiAgICAgICAgYC90aWNrZXRzL2RhdGEtbWlzbWF0Y2gvJHt0eXBlfT90aWNrZXRJZD0ke3ZhbHVlfWBcclxuICAgICAgKTtcclxuICAgIH1cclxuICB9XHJcbiAgZXhwb3J0RGF0YSgpIHtcclxuICAgIGxldCBkYXRhID0ge1xyXG4gICAgICB1c2VySWQ6IHRoaXMudXNlcj8uX2lkLFxyXG4gICAgICBleHBvcnQ6IHRydWUsXHJcbiAgICAgIGlzc3VlVHlwZTogdGhpcy50eXBlLFxyXG4gICAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJGaWx0ZXI/LmRhdGU/LnN0YXJ0RGF0ZSxcclxuICAgICAgdG9EYXRlOiB0aGlzLmhlYWRlckZpbHRlcj8uZGF0ZT8uZW5kRGF0ZSxcclxuICAgICAgc2VhcmNoVmFsdWU6IHRoaXMuc2VhcmNoV29ya3NwYWNlLFxyXG4gICAgICBmaWx0ZXI6IHRoaXMuc2VsZWN0ZWRJc3N1ZSxcclxuICAgICAgY2xpZW50SWQ6IHRoaXMuaGVhZGVyRmlsdGVyLmNsaWVudHMsXHJcbiAgICB9O1xyXG4gICAgdGhpcy5zZXJ2aWNlXHJcbiAgICAgIC5leHBvcnR1c2VyVGlja2V0TGlzdChkYXRhKVxyXG4gICAgICAucGlwZSh0YWtlVW50aWwodGhpcy5kZXN0cm95JCkpXHJcbiAgICAgIC5zdWJzY3JpYmUoe1xyXG4gICAgICAgIG5leHQ6IChyZXM6IGFueSkgPT4ge1xyXG4gICAgICAgICAgdGhpcy5leGNlbC5zYXZlQXNFeGNlbEZpbGUocmVzLCBcIlVzZXIgVGlja2V0IExpc3RcIik7XHJcbiAgICAgICAgfSxcclxuICAgICAgfSk7XHJcbiAgfVxyXG5cclxuICBleHBvcnRBdWRpdEFzWGxzeCgpIHtcclxuICAgIGxldCBvYmogPSB7XHJcbiAgICAgIGV4cG9ydDogdHJ1ZSxcclxuICAgICAgdXNlcklkOnRoaXMudXNlclxyXG4gICAgfVxyXG4gICAgY29uc29sZS5sb2coJ29iaicsb2JqKVxyXG4gICAgLy8gdGhpcy5leHBvcnRCdG5UZXh0ID0gXCJFeHBvcnRpbmcgLi4uLlwiXHJcbiAgICAvLyB0aGlzLnNlcnZpY2UuZXhwb3J0KG9iaikuc3Vic2NyaWJlKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAvLyAgIC8vIGNvbnNvbGUubG9nKHJlc3BvbnNlKTtcclxuICAgIC8vICAgY29uc3QgYmxvYiA9IG5ldyBCbG9iKFtyZXNwb25zZV0sIHsgdHlwZTogJ2FwcGxpY2F0aW9uL29jdGV0LXN0cmVhbScgfSk7XHJcbiAgICAvLyAgIGNvbnN0IGRvd25sb2FkVVJMID0gd2luZG93LlVSTC5jcmVhdGVPYmplY3RVUkwoYmxvYik7XHJcbiAgICAvLyAgIGNvbnN0IGxpbmsgPSBkb2N1bWVudC5jcmVhdGVFbGVtZW50KCdhJyk7XHJcbiAgICAvLyAgIGxpbmsuaHJlZiA9IGRvd25sb2FkVVJMO1xyXG4gICAgLy8gICBsaW5rLmRvd25sb2FkID0gJ0F1ZGl0IE1hbmFnZW1lbnQueGxzeCc7IC8vIFNldCB0aGUgZGVzaXJlZCBmaWxlbmFtZVxyXG4gICAgLy8gICBsaW5rLmNsaWNrKCk7XHJcbiAgICAvLyAgIC8vIHRoaXMuZXhwb3J0QnRuVGV4dCA9IFwiRXhwb3J0XCJcclxuICAgIC8vIH0pXHJcbiAgfVxyXG5cclxuICB3b3JrSGlzdG9yeSgpIHtcclxuICAgIGxldCBkYXRhID0ge1xyXG4gICAgICB1c2VySWQ6IHRoaXMudXNlcj8uX2lkLFxyXG4gICAgICBvZmZzZXQ6IHRoaXMub2Zmc2V0LFxyXG4gICAgICBsaW1pdDogdGhpcy5saW1pdCxcclxuICAgICAgZnJvbURhdGU6IHRoaXMuaGVhZGVyRmlsdGVyPy5kYXRlPy5zdGFydERhdGUsXHJcbiAgICAgIHRvRGF0ZTogdGhpcy5oZWFkZXJGaWx0ZXI/LmRhdGU/LmVuZERhdGUsXHJcbiAgICAgIHNlYXJjaFZhbHVlOiB0aGlzLnNlYXJjaEhpc3RvcnksXHJcbiAgICAgIHNvcnRDb2x1bU5hbWU6IHRoaXMuc29ydENvbHVtTmFtZSxcclxuICAgICAgc29ydEJ5OiB0aGlzLnNvcnRCeSxcclxuICAgICAgaXNzdWVUeXBlOiB0aGlzLnR5cGUsXHJcbiAgICAgIGRhdGVGaWx0ZXI6IHRoaXMuZGF0ZUZpbHRlcixcclxuICAgICAgc3RvcmVGaWx0ZXI6IHRoaXMuc3RvcmVGaWx0ZXIsXHJcbiAgICAgIGlzc3VlRmlsdGVyOiB0aGlzLmlzc3VlRmlsdGVyLFxyXG4gICAgICBjbGllbnRJZDogdGhpcy5jbGllbnRJZCxcclxuICAgIH07XHJcbiAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgLndvcmtIaXN0b3J5KGRhdGEpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzICYmIHJlcz8uY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgICAgdGhpcy53b3JrSGlzdG9yeVRhYmxlID0gcmVzPy5kYXRhPy5yZXN1bHQ7XHJcbiAgICAgICAgICAgIHRoaXMudG90YWxJdGVtcyA9cmVzPy5kYXRhPy5jb3VudDtcclxuICAgICAgICAgICAgdGhpcy5oaXN0b3J5TG9hZGluZyA9IGZhbHNlO1xyXG4gICAgICAgICAgICB0aGlzLmhpc3RvcnlOb2RhdGEgPSBmYWxzZTtcclxuICAgICAgICAgIH0gZWxzZSB7XHJcbiAgICAgICAgICAgIHRoaXMuaGlzdG9yeU5vZGF0YSA9IHRydWU7XHJcbiAgICAgICAgICAgIHRoaXMuaGlzdG9yeUxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICAgIH1cclxuICAgICAgICAgIHRoaXMuY2QuZGV0ZWN0Q2hhbmdlcygpO1xyXG4gICAgICAgIH0sXHJcbiAgICAgICAgZXJyb3I6IChlcnIpID0+IHtcclxuICAgICAgICAgIHRoaXMuaGlzdG9yeU5vZGF0YSA9IHRydWU7XHJcbiAgICAgICAgICB0aGlzLmhpc3RvcnlMb2FkaW5nID0gZmFsc2U7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBjb21wbGV0ZSgpIHt9LFxyXG4gICAgICB9KTtcclxuICB9XHJcblxyXG4gIHNlbGVjdEl0ZW0odmFsdWU6IGFueSkge1xyXG4gICAgaWYgKHZhbHVlID09IFwiQWxsXCIpIHtcclxuICAgICAgdGhpcy5zZWxlY3RlZElzc3VlID0gXCJcIjtcclxuICAgIH0gZWxzZSB7XHJcbiAgICAgIHRoaXMuc2VsZWN0ZWRJc3N1ZSA9IHZhbHVlO1xyXG4gICAgfVxyXG4gICAgaWYodGhpcy50eXBlID09PSAnaW5mcmEnIHx8IHRoaXMudHlwZSA9PT0gJ2luc3RhbGxhdGlvbicpe1xyXG4gICAgICB0aGlzLnNlbGVjdGVkSXNzdWUgPSB0aGlzLnNlbGVjdGVkSXNzdWU7XHJcbiAgICB9ZWxzZSBpZih0aGlzLnR5cGUgPT09ICdkYXRhTWlzbWF0Y2gnKXtcclxuICAgICAgLy8gY29uc29sZS5sb2coJ3RoaXMuc2VsZWN0ZWRJc3N1ZScsdGhpcy5zZWxlY3RlZElzc3VlKVxyXG4gICAgICB0aGlzLnNlbGVjdGVkSXNzdWUgPSAodGhpcy5zZWxlY3RlZElzc3VlID09PSAnTG93IENvdW50JyA/ICdsb3djb3VudCcgOih0aGlzLnNlbGVjdGVkSXNzdWUgPT09ICdIaWdoIENvdW50JyA/ICdoaWdoY291bnQnIDogJycpKVxyXG4gICAgICAvLyBjb25zb2xlLmxvZygndGhpcy5zZWxlY3RlZElzc3VlMScsdGhpcy5zZWxlY3RlZElzc3VlKVxyXG4gICAgfVxyXG4gICAgdGhpcy5kcm9wRG93biA9IGZhbHNlO1xyXG4gICAgdGhpcy51c2VyVGlja2V0TGlzdChcIm9wZW5cIik7XHJcbiAgICB0aGlzLnVzZXJUaWNrZXRMaXN0KFwiaW5wcm9ncmVzc1wiKTtcclxuICAgIHRoaXMudXNlclRpY2tldExpc3QoXCJjbG9zZWRcIik7XHJcbiAgfVxyXG4gIHNlbGVjdEV4cG9ydEl0ZW0odmFsdWU6YW55KXtcclxuICAgICB0aGlzLnNlbGVjdGVkRXhwb3J0SXNzdWUgPSB2YWx1ZTtcclxuICAgICB0aGlzLmV4cG9ydEF1ZGl0QXNYbHN4KCk7XHJcbiAgfVxyXG4gIHNlbGVjdERyb3Bkb3ducygpe1xyXG4gICAgaWYodGhpcy50eXBlID09PSAnaW5mcmEnIHx8IHRoaXMudHlwZSA9PT0gJ2luc3RhbGxhdGlvbicpe1xyXG4gICAgICB0aGlzLmRyb3Bkb3duSXRlbXMgPSBbJ0FsbCcsICdJbnRlcm5ldCBJc3N1ZXMnLCAnQ2FtZXJhIElzc3VlcycsICdTeXN0ZW0gSXNzdWVzJywgJ0FwcGxpY2F0aW9uIElzc3VlcycsICdTdG9yZSBPcGVyYXRpb24gSXNzdWVzJywgJ05vdCBJZGVudGlmaWVkJ11cclxuICAgIH1lbHNlIGlmKHRoaXMudHlwZSA9PT0gJ2RhdGFNaXNtYXRjaCcpe1xyXG4gICAgICB0aGlzLmRyb3Bkb3duSXRlbXMgPSBbJ0FsbCcsICdMb3cgQ291bnQnLCAnSGlnaCBDb3VudCddXHJcbiAgICB9XHJcbiAgfVxyXG4gIG9wZW5Ecm9wZG93bihldmVudDogTW91c2VFdmVudCkge1xyXG4gICAgZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCk7XHJcbiAgICB0aGlzLmRyb3BEb3duID0gIXRoaXMuZHJvcERvd247XHJcbiAgfVxyXG5cclxuICB1c2VyVmFsdWUoZGF0YTogYW55KSB7XHJcbiAgICB0aGlzLnVzZXJEYXRhID0gZGF0YTtcclxuICAgIGlmICh0aGlzLnVzZXJEYXRhID09IFwiSGlzdG9yeVwiKSB7XHJcbiAgICAgIHRoaXMud29ya0hpc3RvcnkoKTtcclxuICAgICAgdGhpcy5zdG9yZUZpbHRlcnMoKTtcclxuICAgIH0gZWxzZSB7XHJcbiAgICB9XHJcbiAgfVxyXG5cclxuICBzZWFyY2hUaWNrZXRzKCkge1xyXG4gICAgdGhpcy51c2VyVGlja2V0TGlzdChcIm9wZW5cIik7XHJcbiAgICB0aGlzLnVzZXJUaWNrZXRMaXN0KFwiaW5wcm9ncmVzc1wiKTtcclxuICAgIHRoaXMudXNlclRpY2tldExpc3QoXCJjbG9zZWRcIik7XHJcbiAgfVxyXG5cclxuICBzZWFyY2hBdWRpdHMoZXZlbnQ6YW55KXtcclxuICAgIHRoaXMuc2VhcmNoQXVkaXQgPSBldmVudC50YXJnZXQudmFsdWU7XHJcbiAgfVxyXG5cclxuICBzZWFyY2hIaXN0b3J5VGFibGUoKSB7XHJcbiAgICB0aGlzLndvcmtIaXN0b3J5KCk7XHJcbiAgfVxyXG5cclxuICByZWNlaXZlRGF0YShkYXRhOiBhbnlbXSkge1xyXG4gICAgdGhpcy5zdG9yZUZpbHRlciA9IGRhdGFcclxuICAgICAgLmZpbmQoKG9iaikgPT4gb2JqLkRlc2NyaXB0aW9uID09PSBcIlN0b3JlIElEXCIpXHJcbiAgICAgID8uSXNzdWVzLm1hcCgoaXRlbTogYW55KSA9PiBpdGVtPy50ZXh0KTtcclxuICAgIHRoaXMuZGF0ZUZpbHRlciA9IGRhdGEuZmluZChcclxuICAgICAgKG9iaikgPT4gb2JqLkRlc2NyaXB0aW9uID09PSBcIkRhdGUgVHlwZVwiXHJcbiAgICApPy5Jc3N1ZXM/LmlkO1xyXG4gICAgaWYgKHRoaXMudHlwZSA9PT0gXCJpbmZyYVwiIHx8IHRoaXMudHlwZSA9PT0gXCJpbnN0YWxsYXRpb25cIikge1xyXG4gICAgICBjb25zb2xlLmxvZyhcImluZnJhXCIpO1xyXG4gICAgICB0aGlzLmlzc3VlRmlsdGVyID0gZGF0YVxyXG4gICAgICAgIC5maW5kKChvYmopID0+IG9iai5EZXNjcmlwdGlvbiA9PT0gXCJJc3N1ZSBUeXBlXCIpXHJcbiAgICAgICAgPy5Jc3N1ZXMubWFwKChpdGVtOiBhbnkpID0+IGl0ZW0/LnRleHQpO1xyXG4gICAgfSBlbHNlIGlmICh0aGlzLnR5cGUgPT09IFwiZGF0YU1pc21hdGNoXCIpIHtcclxuICAgICAgY29uc29sZS5sb2coXCJkYXRhTWlzbWF0Y2hcIik7XHJcbiAgICAgIHRoaXMuaXNzdWVGaWx0ZXIgPSBkYXRhXHJcbiAgICAgICAgLmZpbmQoKG9iaikgPT4gb2JqLkRlc2NyaXB0aW9uID09PSBcIklzc3VlIFR5cGVcIilcclxuICAgICAgICA/Lklzc3Vlcy5tYXAoKGl0ZW06IGFueSkgPT4gaXRlbT8uaWQpO1xyXG4gICAgfVxyXG4gICAgdGhpcy53b3JrSGlzdG9yeSgpO1xyXG4gIH1cclxuXHJcbiAgRXhwb3J0SGlzdG9yeWFzWGxzeCgpIHtcclxuICAgIGxldCBleHBvcnREYXRhID0ge1xyXG4gICAgICB1c2VySWQ6IHRoaXMudXNlcj8uX2lkLFxyXG4gICAgICBpc3N1ZVR5cGU6IHRoaXMudHlwZSxcclxuICAgICAgb2Zmc2V0OiB0aGlzLm9mZnNldCxcclxuICAgICAgbGltaXQ6IDEwMDAsXHJcbiAgICAgIGZyb21EYXRlOiB0aGlzLmhlYWRlckZpbHRlcj8uZGF0ZT8uc3RhcnREYXRlLFxyXG4gICAgICB0b0RhdGU6IHRoaXMuaGVhZGVyRmlsdGVyPy5kYXRlPy5lbmREYXRlLFxyXG4gICAgICBzZWFyY2hWYWx1ZTogdGhpcy5zZWFyY2hIaXN0b3J5LFxyXG4gICAgICBzb3J0Q29sdW1OYW1lOiB0aGlzLnNvcnRDb2x1bU5hbWUsXHJcbiAgICAgIHNvcnRCeTogdGhpcy5zb3J0QnksXHJcbiAgICAgIGV4cG9ydDogXCJ0cnVlXCIsXHJcbiAgICAgIGRhdGVGaWx0ZXI6IHRoaXMuZGF0ZUZpbHRlcixcclxuICAgICAgc3RvcmVGaWx0ZXI6IHRoaXMuc3RvcmVGaWx0ZXIsXHJcbiAgICAgIGlzc3VlRmlsdGVyOiB0aGlzLmlzc3VlRmlsdGVyLFxyXG4gICAgICBjbGllbnRJZDogdGhpcy5oZWFkZXJGaWx0ZXIuY2xpZW50cyxcclxuICAgIH07XHJcbiAgICB0aGlzLnNlcnZpY2VcclxuICAgICAgLndvcmtIaXN0b3J5RXhwb3J0KGV4cG9ydERhdGEpXHJcbiAgICAgIC5waXBlKHRha2VVbnRpbCh0aGlzLmRlc3Ryb3kkKSlcclxuICAgICAgLnN1YnNjcmliZSh7XHJcbiAgICAgICAgbmV4dDogKHJlczogYW55KSA9PiB7XHJcbiAgICAgICAgICBpZiAocmVzKSB7XHJcbiAgICAgICAgICAgIHRoaXMuZGF0YVNlcnZpY2Uuc2F2ZUFzRXhjZWxGaWxlKHJlcywgXCJIaXN0b3J5XCIpO1xyXG4gICAgICAgICAgfVxyXG4gICAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgICAgfSxcclxuICAgICAgICBlcnJvcjogKGVycikgPT4ge1xyXG4gICAgICAgICAgdGhpcy5oaXN0b3J5Tm9kYXRhID0gdHJ1ZTtcclxuICAgICAgICAgIHRoaXMuaGlzdG9yeUxvYWRpbmcgPSBmYWxzZTtcclxuICAgICAgICB9LFxyXG4gICAgICAgIGNvbXBsZXRlKCkge30sXHJcbiAgICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgc29ydERhdGEodmFsdWU6IGFueSkge1xyXG4gICAgdGhpcy5zb3J0Q29sdW1OYW1lID0gdmFsdWU7XHJcbiAgICB0aGlzLnNvcnRCeSAqPSAtMTtcclxuICAgIHRoaXMud29ya0hpc3RvcnkoKTtcclxuICB9XHJcblxyXG4gIG9uUGFnZUNoYW5nZShwYWdlT2Zmc2V0OiBudW1iZXIpIHtcclxuICAgIHRoaXMub2Zmc2V0ID0gcGFnZU9mZnNldDtcclxuICAgIHRoaXMud29ya0hpc3RvcnkoKTtcclxuICB9XHJcblxyXG4gIG9uUGFnZVNpemVDaGFuZ2UocGFnZVNpemU6IG51bWJlcikge1xyXG4gICAgdGhpcy5saW1pdCA9IHBhZ2VTaXplO1xyXG4gICAgdGhpcy5vZmZzZXQgPSAxO1xyXG4gICAgdGhpcy53b3JrSGlzdG9yeSgpO1xyXG4gIH1cclxuXHJcbiAgc3RvcmVGaWx0ZXJzKCkge1xyXG4gICAgbGV0IGRhdGEgPSB7XHJcbiAgICAgIHVzZXJJZDogdGhpcy51c2VyPy5faWQsXHJcbiAgICAgIG9mZnNldDogdGhpcy5vZmZzZXQsXHJcbiAgICAgIGxpbWl0OiB0aGlzLmxpbWl0LFxyXG4gICAgICBmcm9tRGF0ZTogdGhpcy5oZWFkZXJGaWx0ZXI/LmRhdGU/LnN0YXJ0RGF0ZSxcclxuICAgICAgdG9EYXRlOiB0aGlzLmhlYWRlckZpbHRlcj8uZGF0ZT8uZW5kRGF0ZSxcclxuICAgICAgaXNzdWVUeXBlOiB0aGlzLnR5cGUsXHJcbiAgICAgIGNsaWVudElkOiB0aGlzLmhlYWRlckZpbHRlci5jbGllbnRzXHJcbiAgICB9XHJcbiAgICB0aGlzLmZpbHRlclN0b3JlcyA9IFtdO1xyXG4gICAgdGhpcy5zZXJ2aWNlLndvcmtIaXN0b3J5KGRhdGEpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoe1xyXG4gICAgICBuZXh0OiAocmVzOiBhbnkpID0+IHtcclxuICAgICAgICBpZiAocmVzICYmIHJlcz8uY29kZSA9PSAyMDApIHtcclxuICAgICAgICAgIHRoaXMuZmlsdGVyU3RvcmVzID0gcmVzLmRhdGEucmVzdWx0O1xyXG4gICAgICAgICAgY29uc3QgaXNzdWVzID0gdGhpcy5maWx0ZXJTdG9yZXMubWFwKChvYmo6IGFueSkgPT4gKHsgdGV4dDogb2JqLnN0b3JlSWQgfSkpO1xyXG4gICAgICAgICAgY29uc3QgdW5pcXVlSXNzdWVzOmFueVtdID0gW107XHJcbiAgICAgICAgICBjb25zdCBzdG9yZUlkcyA9IG5ldyBTZXQoKTtcclxuICAgICAgICAgIGlzc3Vlcy5mb3JFYWNoKChpc3N1ZTphbnkpID0+IHtcclxuICAgICAgICAgICAgaWYgKCFzdG9yZUlkcy5oYXMoaXNzdWUudGV4dCkpIHtcclxuICAgICAgICAgICAgICBzdG9yZUlkcy5hZGQoaXNzdWUudGV4dCk7XHJcbiAgICAgICAgICAgICAgdW5pcXVlSXNzdWVzLnB1c2goaXNzdWUpO1xyXG4gICAgICAgICAgICB9XHJcbiAgICAgICAgICB9KTtcclxuICAgICAgICAgIGNvbnN0IGZpbHRyZWRPYmplY3QgPSAodGhpcy5kYXRhT2JqZWN0LmZpbmQoKG9iajogYW55KSA9PiBvYmouRGVzY3JpcHRpb24gPT09IFwiU3RvcmUgSURcIikpXHJcbiAgICAgICAgICBmaWx0cmVkT2JqZWN0Lklzc3VlcyA9IHVuaXF1ZUlzc3VlcztcclxuICAgICAgICB9XHJcbiAgICAgICAgdGhpcy5jZC5kZXRlY3RDaGFuZ2VzKCk7XHJcbiAgICAgIH0sXHJcbiAgICB9KVxyXG4gIH1cclxuICB2aWV3VXNlcigpe1xyXG5cclxuICB9XHJcblxyXG4gIGRhdGFPYmplY3QxOiBhbnkgPSBbXHJcbiAgICB7IERlc2NyaXB0aW9uOiAnU3RhdHVzJywgSXNzdWVzOiBbeyB0ZXh0OiBcIlN0b3JlIE9wZXJhdGlvbiBJc3N1ZXNcIiwgaWQ6ICdTdG9yZSBPcGVyYXRpb24gSXNzdWVzJyB9LCB7IHRleHQ6IFwiSW50ZXJuZXQgSXNzdWVzXCIsIGlkOiAnSW50ZXJuZXQgSXNzdWVzJyB9LCBcclxuICAgICAgeyB0ZXh0OiBcIkNhbWVyYSBJc3N1ZXNcIiwgaWQ6IFwiQ2FtZXJhIElzc3Vlc1wiIH0seyB0ZXh0OiBcIlN5c3RlbSBJc3N1ZXNcIiwgaWQ6IFwiU3lzdGVtIElzc3Vlc1wiIH0seyB0ZXh0OiBcIkFwcGxpY2F0aW9uIElzc3Vlc1wiLCBpZDogXCJBcHBsaWNhdGlvbiBJc3N1ZXNcIiB9LHt0ZXh0OiBcIk5vdCBJZGVudGlmaWVkXCIsIGlkOiBcIm5vdGlkZW50aWZpZWRcIn1dIH0sXHJcbiAgXVxyXG4gIGFwcGx5RmlsdGVycyhldmVudDphbnkpe1xyXG4gICAgaWYgKGV2ZW50Py5sZW5ndGgpIHtcclxuICAgICAgZXZlbnQuZm9yRWFjaCgoZWxlbWVudDogYW55KSA9PiB7XHJcbiAgICAgICAgaWYgKGVsZW1lbnQuRGVzY3JpcHRpb24gPT09IFwiU3RhdHVzXCIpIHtcclxuICAgICAgICAgIHRoaXMuc2VsZWN0ZWRJc3N1ZSA9IGVsZW1lbnQuSXNzdWVzLm1hcCgodmFsOiBhbnkpID0+IHZhbD8uaWQpO1xyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgICAgfVxyXG4gICAgICBpZih0aGlzLnNlbGVjdGVkSXNzdWUubGVuZ3RoID09PSA2KVxyXG4gICAgICAgIHRoaXMuc2VsZWN0ZWRJc3N1ZSA9W107XHJcbiAgICAgIHRoaXMudXNlclRpY2tldExpc3QoJ29wZW4nKTtcclxuICAgICAgdGhpcy51c2VyVGlja2V0TGlzdCgnaW5wcm9ncmVzcycpO1xyXG4gICAgICB0aGlzLnVzZXJUaWNrZXRMaXN0KCdjbG9zZWQnKTtcclxuICAgIH1cclxuXHJcbn1cclxuIiwiXHJcbjxkaXYgKm5nSWY9XCJ0eXBlICE9PSAnYXVkaXQnXCIgY2xhc3M9XCJjYXJkXCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiY2FyZC1oZWFkZXIgYm9yZGVyLTAgcHQtM1wiPlxyXG4gICAgICAgIDxoMyBjbGFzcz1cImNhcmQtdGl0bGUgYWxpZ24taXRlbXMtc3RhcnQgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ0eXBlICE9PSAnbWF0JyAmJiB0eXBlICE9PSAnZGF0YU1pc21hdGNoJ1wiIGNsYXNzPVwiY2FyZC1sYWJlbCBtYi0yXCI+e3t0eXBlIHwgdGl0bGVjYXNlfX0gVGlja2V0czwvc3Bhbj5cclxuICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJ0eXBlID09PSAnZGF0YU1pc21hdGNoJ1wiIGNsYXNzPVwiY2FyZC1sYWJlbCBtYi0yXCI+RGF0YSBNaXNtYXRjaCBUaWNrZXRzPC9zcGFuPlxyXG4gICAgICAgICAgICA8c3BhbiAqbmdJZj1cInR5cGUgPT09ICdtYXQnXCIgY2xhc3M9XCJjYXJkLWxhYmVsIG1iLTJcIj5FbXBsb3llZSBNYXQ8L3NwYW4+XHJcbiAgICAgICAgICAgIDwhLS0gPHNwYW4gY2xhc3M9XCJ0ZXh0LXN1YiBtYi0yXCI+TGFzdCB1cGRhdGVkIDEgaG91ciBhZ288L3NwYW4+IC0tPlxyXG4gICAgICAgIDwvaDM+XHJcbiAgICAgICAgPGRpdiAqbmdJZj1cInVzZXJEYXRhID09PSdXb3Jrc3BhY2UnXCIgY2xhc3M9XCJjYXJkLXRvb2xiYXJcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcG9zaXRpb24tcmVsYXRpdmUgbXktMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzPVwic3ZnLWljb24gc3ZnLWljb24tMSBwb3NpdGlvbi1hYnNvbHV0ZSBtcy0zXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHJlY3Qgb3BhY2l0eT1cIjAuNVwiIHg9XCIxNy4wMzY1XCIgeT1cIjE1LjEyMjNcIiB3aWR0aD1cIjguMTU1NDZcIiBoZWlnaHQ9XCIyXCIgcng9XCIxXCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB0cmFuc2Zvcm09XCJyb3RhdGUoNDUgMTcuMDM2NSAxNS4xMjIzKVwiIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L3JlY3Q+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGQ9XCJNMTEgMTlDNi41NTU1NiAxOSAzIDE1LjQ0NDQgMyAxMUMzIDYuNTU1NTYgNi41NTU1NiAzIDExIDNDMTUuNDQ0NCAzIDE5IDYuNTU1NTYgMTkgMTFDMTkgMTUuNDQ0NCAxNS40NDQ0IDE5IDExIDE5Wk0xMSA1QzcuNTMzMzMgNSA1IDcuNTMzMzMgNSAxMUM1IDE0LjQ2NjcgNy41MzMzMyAxNyAxMSAxN0MxNC40NjY3IDE3IDE3IDE0LjQ2NjcgMTcgMTFDMTcgNy41MzMzMyAxNC40NjY3IDUgMTEgNVpcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGZpbGw9XCJjdXJyZW50Q29sb3JcIj48L3BhdGg+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICA8aW5wdXQgdHlwZT1cInRleHRcIiBjbGFzcz1cImZvcm0tY29udHJvbCBwcy0xNCBtZS0yXCIgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIlNlYXJjaFwiIGF1dG9jb21wbGV0ZT1cIm9mZlwiIFsobmdNb2RlbCldPVwic2VhcmNoV29ya3NwYWNlXCIgKGNoYW5nZSk9XCJzZWFyY2hUaWNrZXRzKClcIi8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICA8bGliLWZpbHRlcnMgKm5nSWY9XCJ0eXBlICE9PSAnbWF0JyAmJiB0eXBlICE9PSdkYXRhTWlzbWF0Y2gnXCIgW2RhdGFPYmplY3RdPVwiZGF0YU9iamVjdDFcIiAoYXBwbGllZEZpbHRlcnMpPVwiYXBwbHlGaWx0ZXJzKCRldmVudClcIj48L2xpYi1maWx0ZXJzPlxyXG4gICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2ICpuZ0lmPVwidHlwZSAhPT0gJ21hdCdcIiBjbGFzcz1cInBvc2l0aW9uLXJlbGF0aXZlXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxidXR0b24gdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJvcGVuRHJvcGRvd24oJGV2ZW50KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiYnRuIGJ0bi1kZWZhdWx0IG14LTIgYnRuLW91dGxpbmUgYnRuLW91dGxpbmUtZGVmYXVsdCByb3VuZGVkLTMgdGV4dC1ub3dyYXAgYm9yZGVyLXZhbFwiPjxzdmdcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMjBcIiBoZWlnaHQ9XCIyMFwiIHZpZXdCb3g9XCIwIDAgMjAgMjBcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNNSAxMEgxNU0yLjUgNUgxNy41TTcuNSAxNUgxMi41XCIgc3Ryb2tlPVwiIzM0NDA1NFwiIHN0cm9rZS13aWR0aD1cIjJcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cIm1zLTJcIj5GaWx0ZXI8L3NwYW4+IDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiZHJvcERvd25cIiBjbGFzcz1cImNhcmQgcHktMSB3LTIwMHB4IHBvc2l0aW9uLWFic29sdXRlIHRvcC01MHB4IGVuZC0wXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHVsICpuZ0Zvcj1cImxldCBpdGVtIG9mIGRyb3Bkb3duSXRlbXNcIiBjbGFzcz1cImxpc3QtdW5zdHlsZWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bGkgW25nQ2xhc3NdPVwidGhpcy5zZWxlY3RlZElzc3VlID09PSBpdGVtID8gJ2FjdGl2ZScgOiAnJ1wiIGNsYXNzPVwiY2FtZXJhIHB4LTUgaXRlbXMgZnctc2VtaWJvbGQgY3Vyc29yLXBvaW50ZXIgcHktMlwiIChjbGljayk9XCJzZWxlY3RJdGVtKGl0ZW0pXCI+e3tpdGVtfX08L2xpPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvdWw+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy5tYW5hZ2VfdGlja2V0c19pc0Rvd25sb2FkICYmICghbm9EYXRhLm9wZW4gfHwgIW5vRGF0YS5pbnByb2dyZXNzIHx8ICFub0RhdGEuY2xvc2VkKVwiIChjbGljayk9XCJleHBvcnREYXRhKClcIiBjbGFzcz1cImJ0biBidG4tb3V0bGluZSBwLTMgdGV4dC1ub3dyYXAgYm9yZGVyIGJvcmRlci1ncmF5IG1zLTIgbWUtMlwiIHR5cGU9XCJidXR0b25cIj48c3Bhbj48c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk0xNy41IDEyLjVWMTUuODMzM0MxNy41IDE2LjI3NTQgMTcuMzI0NCAxNi42OTkzIDE3LjAxMTggMTcuMDExOEMxNi42OTkzIDE3LjMyNDQgMTYuMjc1NCAxNy41IDE1LjgzMzMgMTcuNUg0LjE2NjY3QzMuNzI0NjQgMTcuNSAzLjMwMDcyIDE3LjMyNDQgMi45ODgxNiAxNy4wMTE4QzIuNjc1NTkgMTYuNjk5MyAyLjUgMTYuMjc1NCAyLjUgMTUuODMzM1YxMi41TTE0LjE2NjcgNi42NjY2N0wxMCAyLjVNMTAgMi41TDUuODMzMzMgNi42NjY2N00xMCAyLjVWMTIuNVwiIHN0cm9rZT1cIiMzNDQwNTRcIiBzdHJva2Utd2lkdGg9XCIyXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz48L3NwYW4+IEV4cG9ydDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgICAgIDxidXR0b24gKm5nSWY9XCIoZ3MudXNlckFjY2VzcyB8IGFzeW5jKT8ubWFuYWdlX3RpY2tldHNfaXNFZGl0XCIgdHlwZT1cImJ1dHRvblwiIChjbGljayk9XCJ0YWtlVGlja2V0KClcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImJ0biBidG4tcHJpbWFyeSBteC0yIHJvdW5kZWQtMyB0ZXh0LW5vd3JhcFwiPjxzcGFuIGNsYXNzPVwibXMtMiB0ZXh0LXdoaXRlXCI+VGFrZSBUaWNrZXQ8L3NwYW4+IDwvYnV0dG9uPlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgICAgIDxkaXYgKm5nSWY9XCJ1c2VyRGF0YSA9PT0nSGlzdG9yeSdcIiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBwb3NpdGlvbi1yZWxhdGl2ZSBteS0xXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xIHBvc2l0aW9uLWFic29sdXRlIG1zLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHN2ZyB4bWxucz1cImh0dHA6Ly93d3cudzMub3JnLzIwMDAvc3ZnXCIgd2lkdGg9XCIyNFwiIGhlaWdodD1cIjI0XCIgdmlld0JveD1cIjAgMCAyNCAyNFwiIGZpbGw9XCJub25lXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cmVjdCBvcGFjaXR5PVwiMC41XCIgeD1cIjE3LjAzNjVcIiB5PVwiMTUuMTIyM1wiIHdpZHRoPVwiOC4xNTU0NlwiIGhlaWdodD1cIjJcIiByeD1cIjFcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHRyYW5zZm9ybT1cInJvdGF0ZSg0NSAxNy4wMzY1IDE1LjEyMjMpXCIgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcmVjdD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZD1cIk0xMSAxOUM2LjU1NTU2IDE5IDMgMTUuNDQ0NCAzIDExQzMgNi41NTU1NiA2LjU1NTU2IDMgMTEgM0MxNS40NDQ0IDMgMTkgNi41NTU1NiAxOSAxMUMxOSAxNS40NDQ0IDE1LjQ0NDQgMTkgMTEgMTlaTTExIDVDNy41MzMzMyA1IDUgNy41MzMzMyA1IDExQzUgMTQuNDY2NyA3LjUzMzMzIDE3IDExIDE3QzE0LjQ2NjcgMTcgMTcgMTQuNDY2NyAxNyAxMUMxNyA3LjUzMzMzIDE0LjQ2NjcgNSAxMSA1WlwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgZmlsbD1cImN1cnJlbnRDb2xvclwiPjwvcGF0aD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgIDxpbnB1dCB0eXBlPVwidGV4dFwiIGNsYXNzPVwiZm9ybS1jb250cm9sIHBzLTE0IG1lLTJcIiBcclxuICAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiU2VhcmNoXCIgYXV0b2NvbXBsZXRlPVwib2ZmXCIgWyhuZ01vZGVsKV09XCJzZWFyY2hIaXN0b3J5XCIgKGNoYW5nZSk9XCJzZWFyY2hIaXN0b3J5VGFibGUoKVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgICAgICA8bGliLWZpbHRlcnMgKm5nSWY9XCJ0eXBlICE9PSAnbWF0JyAmJiBmaWx0ZXJTdG9yZXM/Lmxlbmd0aCA+IDBcIiBbZGF0YU9iamVjdF09XCJkYXRhT2JqZWN0XCIgKGFwcGxpZWRGaWx0ZXJzKT1cInJlY2VpdmVEYXRhKCRldmVudClcIiA+PC9saWItZmlsdGVycz5cclxuXHJcbiAgICAgICAgICAgICAgICAgICAgPGJ1dHRvbiAqbmdJZj1cIihncy51c2VyQWNjZXNzIHwgYXN5bmMpPy5tYW5hZ2VfdGlja2V0c19pc0Rvd25sb2FkICYmICFoaXN0b3J5Tm9kYXRhXCIgKGNsaWNrKT1cIkV4cG9ydEhpc3Rvcnlhc1hsc3goKVwiIGNsYXNzPVwiYnRuIGJ0bi1vdXRsaW5lIHAtMyBib3JkZXIgYm9yZGVyLWdyYXkgbXMtMiBtZS0yIHRleHQtbm93cmFwXCIgdHlwZT1cImJ1dHRvblwiPjxzcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIiB3aWR0aD1cIjIwXCIgaGVpZ2h0PVwiMjBcIiB2aWV3Qm94PVwiMCAwIDIwIDIwXCIgZmlsbD1cIm5vbmVcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxwYXRoIGQ9XCJNMTcuNSAxMi41VjE1LjgzMzNDMTcuNSAxNi4yNzU0IDE3LjMyNDQgMTYuNjk5MyAxNy4wMTE4IDE3LjAxMThDMTYuNjk5MyAxNy4zMjQ0IDE2LjI3NTQgMTcuNSAxNS44MzMzIDE3LjVINC4xNjY2N0MzLjcyNDY0IDE3LjUgMy4zMDA3MiAxNy4zMjQ0IDIuOTg4MTYgMTcuMDExOEMyLjY3NTU5IDE2LjY5OTMgMi41IDE2LjI3NTQgMi41IDE1LjgzMzNWMTIuNU0xNC4xNjY3IDYuNjY2NjdMMTAgMi41TTEwIDIuNUw1LjgzMzMzIDYuNjY2NjdNMTAgMi41VjEyLjVcIiBzdHJva2U9XCIjMzQ0MDU0XCIgc3Ryb2tlLXdpZHRoPVwiMS42N1wiIHN0cm9rZS1saW5lY2FwPVwicm91bmRcIiBzdHJva2UtbGluZWpvaW49XCJyb3VuZFwiLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPjwvc3Bhbj4gRXhwb3J0XHJcbiAgICAgICAgICAgICAgICAgICAgPC9idXR0b24+XHJcbiAgICAgICAgICAgICAgICAgICBcclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcHktMlwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggb3ZlcmZsb3ctYXV0byBoLTU1cHhcIj5cclxuICAgICAgICAgICAgPHVsIGNsYXNzPVwibmF2IG5hdi1zdHJldGNoIG5hdi1saW5lLXRhYnMgbmF2LWxpbmUtdGFicy0yeCBib3JkZXItdHJhbnNwYXJlbnQgZnMtNSBmdy1ib2xkZXIgZmxleC1ub3dyYXBcIj5cclxuICAgICAgICAgICAgICAgIDxsaSAoY2xpY2spPVwidXNlclZhbHVlKCdXb3Jrc3BhY2UnKVwiICBjbGFzcz1cIm5hdi1pdGVtIGN1cnNvci1wb2ludGVyXCI+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+XHJcbiAgICAgICA8ZGl2IGNsYXNzPVwidGFibGUtcmVzcG9uc2l2ZVwiPlxyXG4gICAgICAgICAgICA8dGFibGUgY2xhc3M9XCJ0YWJsZSBib3R0b20tYm9yZGVyIHRleHQtbm93cmFwXCI+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+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0aCA+PGRpdiAoY2xpY2spPVwic29ydERhdGEoJ3N0YXR1cycpXCI+SXNzdWUgVHlwZVxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gKm5nSWY9XCJzb3J0Q29sdW1OYW1lID09PSAnc3RhdHVzJyAmJiBzb3J0QnkgIT09IDEgfHwgc29ydENvbHVtTmFtZSAhPT0gJ3N0YXR1cydcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3ZnIHdpZHRoPVwiMTJcIiBoZWlnaHQ9XCIxMlwiIHZpZXdCb3g9XCIwIDAgMTIgMTJcIiBmaWxsPVwibm9uZVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHBhdGggZD1cIk02LjAwMDE2IDEuMzMzMzdWMTAuNjY2N002LjAwMDE2IDEwLjY2NjdMMTAuNjY2OCA2LjAwMDA0TTYuMDAwMTYgMTAuNjY2N0wxLjMzMzUgNi4wMDAwNFwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFthdHRyLnN0cm9rZV09XCJzb3J0Q29sdW1OYW1lID09PSAnc3RhdHVzJyAmJiBzb3J0QnkgIT09IDEgPyAnIzAwQTNGRicgOiAnIzY2NzA4NSdcIiBzdHJva2Utd2lkdGg9XCIxLjMzMzMzXCIgc3Ryb2tlLWxpbmVjYXA9XCJyb3VuZFwiIHN0cm9rZS1saW5lam9pbj1cInJvdW5kXCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L3N2Zz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICpuZ0lmPVwic29ydENvbHVtTmFtZSA9PT0gJ3N0YXR1cycgJiYgc29ydEJ5ICE9PSAtMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxzdmcgd2lkdGg9XCIxMlwiIGhlaWdodD1cIjEyXCIgdmlld0JveD1cIjAgMCAxMiAxMlwiIGZpbGw9XCJub25lXCIgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8cGF0aCBkPVwiTTYuMDAwMTYgMTAuNjY2N0w2LjAwMDE2IDEuMzMzMzdNNi4wMDAxNiAxLjMzMzM3TDEuMzMzNSA2LjAwMDA0TTYuMDAwMTYgMS4zMzMzN0wxMC42NjY4IDYuMDAwMDRcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBbYXR0ci5zdHJva2VdPVwic29ydENvbHVtTmFtZSA9PT0gJ3N0YXR1cycgJiYgc29ydEJ5ICE9PSAtMSA/ICcjMDBBM0ZGJyA6ICcjNjY3MDg1J1wiIHN0cm9rZS13aWR0aD1cIjEuMzMzMzNcIiBzdHJva2UtbGluZWNhcD1cInJvdW5kXCIgc3Ryb2tlLWxpbmVqb2luPVwicm91bmRcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvc3ZnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9zcGFuPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RoPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+XHJcbiAgICAgICAgICAgICAgICA8L3RoZWFkPlxyXG4gICAgICAgICAgICAgICAgPHRib2R5PlxyXG4gICAgICAgICAgICAgICAgICAgIDx0ciAqbmdGb3I9XCJsZXQgaGlzdG9yeSBvZiB3b3JrSGlzdG9yeVRhYmxlIDsgbGV0IGkgPSBpbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+e3toaXN0b3J5Py5pc3N1ZURhdGV8Y3VzdG9tRGF0ZUZvcm1hdH19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkIGNsYXNzPVwidGV4dC1wcmltYXJ5IGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInJvdXRldG9UaWNrZXQoaGlzdG9yeSlcIj57e2hpc3Rvcnk/LnRpY2tldElkID8gaGlzdG9yeT8udGlja2V0SWQgOictLSd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWdyaWQgbXMtMyBjdXJzb3ItcG9pbnRlclwiIChjbGljayk9XCJyb3V0ZXRvVGlja2V0KGhpc3RvcnkpXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPHNwYW4gY2xhc3M9XCJ0ZXh0LXByaW1hcnkgbWItMSB0ZXh0LWNhcGl0YWxpemVcIj57e2hpc3Rvcnk/LmNsaWVudE5hbWUgPyBoaXN0b3J5Py5jbGllbnROYW1lIDogJy0tJ319PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAge3toaXN0b3J5Py5jbGllbnRJZCA/IGhpc3Rvcnk/LmNsaWVudElkIDonLS0nfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgPC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZ3JpZCBtcy0zIGN1cnNvci1wb2ludGVyXCIgKGNsaWNrKT1cInJvdXRldG9UaWNrZXQoaGlzdG9yeSlcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInRleHQtcHJpbWFyeSBtYi0xXCI+e3toaXN0b3J5Py5zdG9yZU5hbWUgPyBoaXN0b3J5Py5zdG9yZU5hbWUgOictLSd9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8dGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7e2hpc3Rvcnk/LnN0b3JlSWQgPyBoaXN0b3J5Py5zdG9yZUlkIDonLS0nfX1cclxuICAgICAgICAgICAgICAgICAgICAgICAgIDwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cInR5cGUgPT09ICdpbmZyYScgfHwgdHlwZSA9PT0naW5zdGFsbGF0aW9uJ1wiPnt7aGlzdG9yeT8uaXNzdWVJZGVudGlmaWVkRGF0ZT8oaGlzdG9yeT8uaXNzdWVJZGVudGlmaWVkRGF0ZSB8Y3VzdG9tRGF0ZUZvcm1hdCk6ICctLSd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZCAqbmdJZj1cInR5cGUgPT09ICdkYXRhTWlzbWF0Y2gnXCI+e3toaXN0b3J5Py5pc3N1ZURhdGU/KGhpc3Rvcnk/Lmlzc3VlRGF0ZSB8Y3VzdG9tRGF0ZUZvcm1hdCk6ICctLSd9fTwvdGQ+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDx0ZD57e2hpc3Rvcnk/Lmlzc3VlQ2xvc2VkRGF0ZT8oaGlzdG9yeT8uaXNzdWVDbG9zZWREYXRlfGN1c3RvbURhdGVGb3JtYXQpOlwiLS1cIn19PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwidHlwZSA9PT0gJ2luZnJhJyB8fCB0eXBlID09PSdpbnN0YWxsYXRpb24nXCI+e3toaXN0b3J5Py5pbmZyYUlzc3VlID8gaGlzdG9yeT8uaW5mcmFJc3N1ZSA6Jy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPHRkICpuZ0lmPVwidHlwZSA9PT0gJ2RhdGFNaXNtYXRjaCdcIj57e2hpc3Rvcnk/Lmlzc3VlVHlwZSA/IGhpc3Rvcnk/Lmlzc3VlVHlwZSA6Jy0tJ319PC90ZD5cclxuICAgICAgICAgICAgICAgICAgICAgICA8dGQ+IDxzcGFuIGNsYXNzPVwiYmFkZ2UgYmFkZ2UtbGlnaHQtcHJpbWFyeVwiICpuZ0lmPVwiaGlzdG9yeT8uc3RhdHVzID09PSdvcGVuJ1wiPk9wZW48L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxzcGFuICBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXdhcm5pbmdcIiAqbmdJZj1cImhpc3Rvcnk/LnN0YXR1cyA9PT0naW5wcm9ncmVzcydcIj5JbnByb2dyZXNzPC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cImJhZGdlIGJhZGdlLWxpZ2h0LXN1Y2Nlc3NcIiAqbmdJZj1cImhpc3Rvcnk/LnN0YXR1cyA9PT0nY2xvc2VkJ1wiPkNsb3NlZDwvc3Bhbj48L3RkPlxyXG4gICAgICAgICAgICAgICAgICAgIDwvdHI+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+XHJcbjwvZGl2PlxyXG48ZGl2ICpuZ0lmPVwidHlwZSA9PT0nYXVkaXQnXCI+XHJcbiAgICA8bGliLWF1ZGl0LXdvcmtzcGFjZT48L2xpYi1hdWRpdC13b3Jrc3BhY2U+XHJcbiA8L2Rpdj5cclxuXHJcblxyXG5cclxuXHJcblxyXG4iXX0=
|