tango-app-ui-ticket-user 3.0.54-dev → 3.0.56-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.
Files changed (32) hide show
  1. package/esm2022/lib/components/audit-management/audit-management.component.mjs +89 -48
  2. package/esm2022/lib/components/audit-workspace/audit-workspace.component.mjs +133 -81
  3. package/esm2022/lib/components/contact-details/contact-details.component.mjs +3 -3
  4. package/esm2022/lib/components/dropdown/dropdown.component.mjs +3 -3
  5. package/esm2022/lib/components/edge-cameraview/edge-cameraview.component.mjs +3 -3
  6. package/esm2022/lib/components/edgeapp-log/edgeapp-log.component.mjs +3 -3
  7. package/esm2022/lib/components/edit-details/edit-details.component.mjs +3 -3
  8. package/esm2022/lib/components/infratickets/infratickets.component.mjs +9 -8
  9. package/esm2022/lib/components/installation/installation.component.mjs +3 -3
  10. package/esm2022/lib/components/store-activity/store-activity.component.mjs +3 -3
  11. package/esm2022/lib/components/store-info/store-info.component.mjs +3 -3
  12. package/esm2022/lib/components/takeremote/takeremote.component.mjs +3 -3
  13. package/esm2022/lib/components/tango-ticket-users/tango-ticket-users.component.mjs +5 -4
  14. package/esm2022/lib/components/tickets/tickets.component.mjs +3 -3
  15. package/esm2022/lib/components/viewhistory/viewhistory.component.mjs +21 -16
  16. package/esm2022/lib/route-wrappers/edge-wrapper.module.mjs +4 -4
  17. package/esm2022/lib/services/data.service.mjs +3 -3
  18. package/esm2022/lib/services/excel.service.mjs +3 -3
  19. package/esm2022/lib/services/ticket-infra.service.mjs +17 -24
  20. package/esm2022/lib/tango-ticket-users-routing.module.mjs +4 -4
  21. package/esm2022/lib/tango-ticket-users.module.mjs +4 -4
  22. package/fesm2022/{tango-app-ui-ticket-user-edge-wrapper.module-fMqNK7aH.mjs → tango-app-ui-ticket-user-edge-wrapper.module-CFDk0tvS.mjs} +5 -5
  23. 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
  24. package/fesm2022/tango-app-ui-ticket-user.mjs +307 -218
  25. package/fesm2022/tango-app-ui-ticket-user.mjs.map +1 -1
  26. package/lib/components/audit-management/audit-management.component.d.ts +20 -4
  27. package/lib/components/audit-workspace/audit-workspace.component.d.ts +14 -3
  28. package/lib/components/infratickets/infratickets.component.d.ts +1 -0
  29. package/lib/components/tango-ticket-users/tango-ticket-users.component.d.ts +1 -0
  30. package/lib/components/viewhistory/viewhistory.component.d.ts +1 -0
  31. package/lib/services/ticket-infra.service.d.ts +5 -8
  32. package/package.json +1 -1
@@ -1,4 +1,5 @@
1
1
  import { Component, Input } from '@angular/core';
2
+ import { Subject, takeUntil } from 'rxjs';
2
3
  import * as i0 from "@angular/core";
3
4
  import * as i1 from "../../services/ticket-infra.service";
4
5
  import * as i2 from "@ng-bootstrap/ng-bootstrap";
@@ -16,6 +17,7 @@ export class ViewhistoryComponent {
16
17
  employeecount = 0;
17
18
  employeimage = [];
18
19
  nodata = false;
20
+ destroy$ = new Subject();
19
21
  constructor(auditservice, activemodal) {
20
22
  this.auditservice = auditservice;
21
23
  this.activemodal = activemodal;
@@ -24,24 +26,27 @@ export class ViewhistoryComponent {
24
26
  this.viewHistory(this.data);
25
27
  }
26
28
  ngOnDestroy() {
29
+ this.destroy$.next(true);
30
+ this.destroy$.complete();
27
31
  }
28
32
  viewHistory(data) {
29
- console.log('data', this.data);
30
33
  var payload = {
31
- userId: data?._id,
32
- storeId: data?.store_id,
33
- fileDate: data?.file_date
34
+ storeId: data?.storeId,
35
+ fileDate: data?.fileDate,
36
+ zoneName: data?.zoneName
34
37
  };
35
- this.auditservice.getAuditmappinglist(payload).subscribe((res) => {
38
+ this.Loading = true;
39
+ this.nodata = false;
40
+ this.auditservice.getAuditmappinglist(payload, data?.selectedType).pipe(takeUntil(this.destroy$)).subscribe((res) => {
36
41
  if (res && res.code == 200) {
42
+ this.auditmappingdata = res?.data?.result?.customer;
43
+ this.junkimage = res?.data?.result?.junk;
44
+ this.employeimage = res?.data?.result?.employee;
45
+ this.customercount = res?.data?.result?.customerCount;
46
+ this.employeecount = res?.data?.result?.employeeCount;
47
+ this.junkcount = res?.data?.result?.junkCount;
37
48
  this.Loading = false;
38
49
  this.nodata = false;
39
- this.auditmappingdata = res.data.customer;
40
- this.junkimage = res.data.junk;
41
- this.employeimage = res.data.employee;
42
- this.customercount = res.data.customer_count;
43
- this.employeecount = res.data.employee_count;
44
- this.junkcount = res.data.junk_count;
45
50
  }
46
51
  else if (!res || res.code == 204) {
47
52
  this.Loading = false;
@@ -62,13 +67,13 @@ export class ViewhistoryComponent {
62
67
  getFilteredData(count) {
63
68
  return this.auditmappingdata.filter((obj) => obj.count === count);
64
69
  }
65
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ViewhistoryComponent, deps: [{ token: i1.TicketsService }, { token: i2.NgbActiveModal }], target: i0.ɵɵFactoryTarget.Component });
66
- static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.11", type: ViewhistoryComponent, selector: "lib-viewhistory", inputs: { data: "data" }, ngImport: i0, template: "<div class=\"modal-body mt-4\">\r\n <div class=\" d-flex \">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"d-flex flex-column\">\r\n <div class=\"d-flex align-items-center mb-2\">\r\n <div class=\"fs-4 text-dark fw-bolder my-2 mx-10\"> <span\r\n class=\" fw-bold text-dark\"><div class=\"text-primary my-1\">Store ID :{{datavalue?.storeId}}</div> Date :{{datavalue?.fileDate}} </span></div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\" style=\"white-space: nowrap;\">\r\n \r\n </div>\r\n </div>\r\n <div class=\"btn btn-sm btn-icon btn-active-color-primary me-5\" (click)=\"activemodal.dismiss()\" data-bs-dismiss=\"modal\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"6\" y=\"17.3137\" width=\"16\" height=\"2\" rx=\"1\" transform=\"rotate(-45 6 17.3137)\"\r\n fill=\"black\"></rect>\r\n <rect x=\"7.41422\" y=\"6\" width=\"16\" height=\"2\" rx=\"1\" transform=\"rotate(45 7.41422 6)\" fill=\"black\">\r\n </rect>\r\n </svg>\r\n </span>\r\n </div>\r\n</div>\r\n<div class=\"separator separator-dashed\"></div>\r\n <div class=\"card-body py-3\">\r\n <div class=\"row mx-3\" >\r\n <div *ngIf=\"Loading\" class=\"row pt-20 align-items-center justify-content-center mb-5\">\r\n <div class=\"loader\">\r\n <svg viewBox=\"0 0 120 120\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <circle class=\"load one\" cx=\"60\" cy=\"60\" r=\"40\" />\r\n <circle class=\"load two\" cx=\"60\" cy=\"60\" r=\"40\" />\r\n <circle class=\"load three\" cx=\"60\" cy=\"60\" r=\"40\" />\r\n <g>\r\n <circle class=\"point one\" cx=\"45\" cy=\"70\" r=\"5\" />\r\n <circle class=\"point two\" cx=\"60\" cy=\"70\" r=\"5\" />\r\n <circle class=\"point three\" cx=\"75\" cy=\"70\" r=\"5\" />\r\n </g>\r\n </svg>\r\n </div>\r\n <h5 class=\"text-gray-600 fw-bolder text-center\">Loading Data...</h5>\r\n </div>\r\n <div *ngIf=\"nodata\" class=\"row mb-10\">\r\n <div class=\"col-lg-12 mt-8\">\r\n <div class=\"card-body text-center\">\r\n <img class=\"imgnodata1\" src=\"../../../../assets/Icons/Nodata.svg\"\r\n alt=\"\">\r\n \r\n </div>\r\n <div class=\"text-center fw-bold fs-4 mt-5 text-primary\"> <span>Data is available only for last 2 days </span></div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!Loading && !nodata\" class=\"col-md-12\">\r\n <div class=\"card\">\r\n <div class=\"card-body pt-0 scroll-y h-500px\">\r\n \r\n <div *ngIf=\"junkcount !==0\" class=\"h-500\">\r\n <div class=\"card-label fw-bold text-dark ms-2\">Junk <span class=\"card-label\">{{junkcount}}</span>\r\n </div>\r\n <div class=\"col-md-12 item\" >\r\n <div class=\"item\" *ngFor=\"let obj of junkimage\" >\r\n <img id=\"{{obj.img_id}}\" name=\"junk\"\r\n class=\"my-3 mx-2 img\" [src]=\"obj.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{obj.img_name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"employeecount !==0\" class=\" h-500\">\r\n <div class=\"card-label fw-bold text-dark ms-2\">Employee <span class=\"card-label\">{{employeecount}}</span>\r\n </div>\r\n <div class=\"col-md-12 item\" >\r\n <div class=\"item\" *ngFor=\"let obj of employeimage\" >\r\n <img id=\"{{obj.img_id}}\"\r\n class=\"my-3 mx-2 img\" name=\"employee\" [src]=\"obj.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{obj.img_name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"h-500\" >\r\n <div class=\"card-label fw-bold text-dark \">Customer <span class=\"card-label\">{{ getFilteredData(1).length }}</span>\r\n </div>\r\n <!-- <ng-container *ngIf=\"resetGroupNumber() === null\"></ng-container> -->\r\n <div *ngFor=\"let obj of auditmappingdata;let i=index\">\r\n <div class=\"col-md-12 item\" >\r\n <div class=\"item\" *ngFor=\"let img of obj.mappedid\" >\r\n <img name=\"{{obj.img_id}}\" \r\n id=\"{{img.img_id}}\" class=\"my-3 mx-2 img\" [src]=\"img.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{img.img_name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <!-- <ng-container *ngIf=\"resetGroupNumber() === null\"></ng-container>\r\n <ng-container *ngFor=\"let obj of auditmappingdata;let i=index\">\r\n <div class=\" item\" >\r\n <div *ngIf=\"obj?.count === 1\">\r\n <ng-container *ngFor=\"let img of obj.mappedid\">\r\n <img draggable=\"true\" name=\"{{obj.img_id}}\"\r\n id=\"{{img.img_id}}\" class=\"my-3 mx-2 img\" [src]=\"img.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{img.img_name}}</div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngFor=\"let obj of auditmappingdata;let i=index\">\r\n <div *ngIf=\"obj.count > 1\" class=\"card-label\">Group {{ getGroupNumber(obj) }}</div>\r\n <div class=\" item\" >\r\n <div class=\"d-flex\" *ngIf=\"obj.count > 1\">\r\n <div *ngFor=\"let img of obj.mappedid\">\r\n <img draggable=\"true\" name=\"{{obj.img_id}}\"\r\n id=\"{{img.img_id}}\" class=\"my-3 mx-2 img\" [src]=\"img.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{img.img_name}}</div>\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>\r\n\r\n</div>\r\n", styles: [""], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
70
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ViewhistoryComponent, deps: [{ token: i1.TicketsService }, { token: i2.NgbActiveModal }], target: i0.ɵɵFactoryTarget.Component });
71
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: ViewhistoryComponent, selector: "lib-viewhistory", inputs: { data: "data" }, ngImport: i0, template: "<div class=\"modal-body mt-4\">\r\n <div class=\" d-flex \">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"d-flex flex-column\">\r\n <div class=\"d-flex align-items-center mb-2\">\r\n <div class=\"fs-4 text-dark fw-bolder my-2 mx-10\"> <span\r\n class=\" fw-bold text-dark\"><div class=\"text-primary my-1\">Store ID :{{data?.storeId}}</div><span *ngIf=\"data?.fileDate\">Date :{{data?.fileDate}}</span> </span></div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\" style=\"white-space: nowrap;\">\r\n \r\n </div>\r\n </div>\r\n <div class=\"btn btn-sm btn-icon btn-active-color-primary me-5\" (click)=\"activemodal.dismiss()\" data-bs-dismiss=\"modal\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"6\" y=\"17.3137\" width=\"16\" height=\"2\" rx=\"1\" transform=\"rotate(-45 6 17.3137)\"\r\n fill=\"black\"></rect>\r\n <rect x=\"7.41422\" y=\"6\" width=\"16\" height=\"2\" rx=\"1\" transform=\"rotate(45 7.41422 6)\" fill=\"black\">\r\n </rect>\r\n </svg>\r\n </span>\r\n </div>\r\n</div>\r\n<div class=\"separator separator-dashed\"></div>\r\n <div class=\"card-body py-3\">\r\n <div class=\"row mx-3\" >\r\n <ng-container *ngIf=\"Loading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div> \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"nodata\">\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 w-25\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"!Loading && !nodata\" class=\"col-md-12\">\r\n <div class=\"card border-0\">\r\n <div class=\"card-body p-0 scroll-y h-500px\">\r\n \r\n <div *ngIf=\"junkcount !==0\" class=\"h-500\">\r\n <div class=\"card-label fw-bold text-dark ms-2\">Junk <span class=\"card-label\">{{junkcount}}</span>\r\n </div>\r\n <div class=\"col-md-12 item\" >\r\n <div class=\"item\" *ngFor=\"let obj of junkimage\" >\r\n <img id=\"{{obj.img_id}}\" name=\"junk\"\r\n class=\"my-3 mx-2 img\" [src]=\"obj.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{obj.img_name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"employeecount !==0\" class=\" h-500\">\r\n <div class=\"card-label fw-bold text-dark ms-2\">Employee <span class=\"card-label\">{{employeecount}}</span>\r\n </div>\r\n <div class=\"col-md-12 item\" >\r\n <div class=\"item\" *ngFor=\"let obj of employeimage\" >\r\n <img id=\"{{obj.img_id}}\"\r\n class=\"my-3 mx-2 img\" name=\"employee\" [src]=\"obj?.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{obj?.img_name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"h-500\" >\r\n <div class=\"card-label fw-bold text-dark \">Customer <span class=\"card-label\">{{ auditmappingdata?.length }}</span>\r\n </div>\r\n <!-- <ng-container *ngIf=\"resetGroupNumber() === null\"></ng-container> -->\r\n <!-- <div *ngFor=\"let obj of auditmappingdata;let i=index\">\r\n <div class=\"col-md-12 item\" >\r\n <div class=\"item\" *ngFor=\"let img of obj.mappedid\" >\r\n <img name=\"{{obj.img_id}}\" \r\n id=\"{{img.img_id}}\" class=\"my-3 mx-2 img\" [src]=\"img?.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{img?.img_name}}</div>\r\n </div>\r\n </div>\r\n </div> -->\r\n \r\n <ng-container *ngIf=\"resetGroupNumber() === null\"></ng-container>\r\n <ng-container *ngFor=\"let obj of auditmappingdata;let i=index\">\r\n <div class=\" item\" >\r\n <div *ngIf=\"obj?.count === 1\">\r\n <ng-container *ngFor=\"let img of obj.mappedid\">\r\n <img draggable=\"true\" name=\"{{obj.img_id}}\"\r\n id=\"{{img.img_id}}\" class=\"my-3 mx-2 img\" [src]=\"img.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{img.img_name}}</div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngFor=\"let obj of auditmappingdata;let i=index\">\r\n <div *ngIf=\"obj.count > 1\" class=\"card-label\">Group {{ getGroupNumber(obj) }}</div>\r\n <div class=\" item\" >\r\n <div class=\"d-flex\" *ngIf=\"obj.count > 1\">\r\n <div *ngFor=\"let img of obj.mappedid\">\r\n <img draggable=\"true\" name=\"{{obj.img_id}}\"\r\n id=\"{{img.img_id}}\" class=\"my-3 mx-2 img\" [src]=\"img.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{img.img_name}}</div>\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>\r\n\r\n</div>\r\n", styles: [".item{position:relative;padding-top:10px;display:inline-block;max-height:595px}.img{width:95px;height:200px}.card-label{font-family:Inter;font-style:normal;font-weight:700!important;font-size:20px!important;line-height:27px;color:#3f4254!important}.text-col{font-family:Inter;font-style:normal;font-weight:400;font-size:14px;line-height:17px;color:#3f4254}.img-ret{width:90px;height:170px}\n"], dependencies: [{ kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }] });
67
72
  }
68
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ViewhistoryComponent, decorators: [{
73
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ViewhistoryComponent, decorators: [{
69
74
  type: Component,
70
- args: [{ selector: 'lib-viewhistory', template: "<div class=\"modal-body mt-4\">\r\n <div class=\" d-flex \">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"d-flex flex-column\">\r\n <div class=\"d-flex align-items-center mb-2\">\r\n <div class=\"fs-4 text-dark fw-bolder my-2 mx-10\"> <span\r\n class=\" fw-bold text-dark\"><div class=\"text-primary my-1\">Store ID :{{datavalue?.storeId}}</div> Date :{{datavalue?.fileDate}} </span></div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\" style=\"white-space: nowrap;\">\r\n \r\n </div>\r\n </div>\r\n <div class=\"btn btn-sm btn-icon btn-active-color-primary me-5\" (click)=\"activemodal.dismiss()\" data-bs-dismiss=\"modal\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"6\" y=\"17.3137\" width=\"16\" height=\"2\" rx=\"1\" transform=\"rotate(-45 6 17.3137)\"\r\n fill=\"black\"></rect>\r\n <rect x=\"7.41422\" y=\"6\" width=\"16\" height=\"2\" rx=\"1\" transform=\"rotate(45 7.41422 6)\" fill=\"black\">\r\n </rect>\r\n </svg>\r\n </span>\r\n </div>\r\n</div>\r\n<div class=\"separator separator-dashed\"></div>\r\n <div class=\"card-body py-3\">\r\n <div class=\"row mx-3\" >\r\n <div *ngIf=\"Loading\" class=\"row pt-20 align-items-center justify-content-center mb-5\">\r\n <div class=\"loader\">\r\n <svg viewBox=\"0 0 120 120\" version=\"1.1\" xmlns=\"http://www.w3.org/2000/svg\">\r\n <circle class=\"load one\" cx=\"60\" cy=\"60\" r=\"40\" />\r\n <circle class=\"load two\" cx=\"60\" cy=\"60\" r=\"40\" />\r\n <circle class=\"load three\" cx=\"60\" cy=\"60\" r=\"40\" />\r\n <g>\r\n <circle class=\"point one\" cx=\"45\" cy=\"70\" r=\"5\" />\r\n <circle class=\"point two\" cx=\"60\" cy=\"70\" r=\"5\" />\r\n <circle class=\"point three\" cx=\"75\" cy=\"70\" r=\"5\" />\r\n </g>\r\n </svg>\r\n </div>\r\n <h5 class=\"text-gray-600 fw-bolder text-center\">Loading Data...</h5>\r\n </div>\r\n <div *ngIf=\"nodata\" class=\"row mb-10\">\r\n <div class=\"col-lg-12 mt-8\">\r\n <div class=\"card-body text-center\">\r\n <img class=\"imgnodata1\" src=\"../../../../assets/Icons/Nodata.svg\"\r\n alt=\"\">\r\n \r\n </div>\r\n <div class=\"text-center fw-bold fs-4 mt-5 text-primary\"> <span>Data is available only for last 2 days </span></div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"!Loading && !nodata\" class=\"col-md-12\">\r\n <div class=\"card\">\r\n <div class=\"card-body pt-0 scroll-y h-500px\">\r\n \r\n <div *ngIf=\"junkcount !==0\" class=\"h-500\">\r\n <div class=\"card-label fw-bold text-dark ms-2\">Junk <span class=\"card-label\">{{junkcount}}</span>\r\n </div>\r\n <div class=\"col-md-12 item\" >\r\n <div class=\"item\" *ngFor=\"let obj of junkimage\" >\r\n <img id=\"{{obj.img_id}}\" name=\"junk\"\r\n class=\"my-3 mx-2 img\" [src]=\"obj.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{obj.img_name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"employeecount !==0\" class=\" h-500\">\r\n <div class=\"card-label fw-bold text-dark ms-2\">Employee <span class=\"card-label\">{{employeecount}}</span>\r\n </div>\r\n <div class=\"col-md-12 item\" >\r\n <div class=\"item\" *ngFor=\"let obj of employeimage\" >\r\n <img id=\"{{obj.img_id}}\"\r\n class=\"my-3 mx-2 img\" name=\"employee\" [src]=\"obj.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{obj.img_name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"h-500\" >\r\n <div class=\"card-label fw-bold text-dark \">Customer <span class=\"card-label\">{{ getFilteredData(1).length }}</span>\r\n </div>\r\n <!-- <ng-container *ngIf=\"resetGroupNumber() === null\"></ng-container> -->\r\n <div *ngFor=\"let obj of auditmappingdata;let i=index\">\r\n <div class=\"col-md-12 item\" >\r\n <div class=\"item\" *ngFor=\"let img of obj.mappedid\" >\r\n <img name=\"{{obj.img_id}}\" \r\n id=\"{{img.img_id}}\" class=\"my-3 mx-2 img\" [src]=\"img.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{img.img_name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <!-- <ng-container *ngIf=\"resetGroupNumber() === null\"></ng-container>\r\n <ng-container *ngFor=\"let obj of auditmappingdata;let i=index\">\r\n <div class=\" item\" >\r\n <div *ngIf=\"obj?.count === 1\">\r\n <ng-container *ngFor=\"let img of obj.mappedid\">\r\n <img draggable=\"true\" name=\"{{obj.img_id}}\"\r\n id=\"{{img.img_id}}\" class=\"my-3 mx-2 img\" [src]=\"img.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{img.img_name}}</div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngFor=\"let obj of auditmappingdata;let i=index\">\r\n <div *ngIf=\"obj.count > 1\" class=\"card-label\">Group {{ getGroupNumber(obj) }}</div>\r\n <div class=\" item\" >\r\n <div class=\"d-flex\" *ngIf=\"obj.count > 1\">\r\n <div *ngFor=\"let img of obj.mappedid\">\r\n <img draggable=\"true\" name=\"{{obj.img_id}}\"\r\n id=\"{{img.img_id}}\" class=\"my-3 mx-2 img\" [src]=\"img.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{img.img_name}}</div>\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>\r\n\r\n</div>\r\n" }]
75
+ args: [{ selector: 'lib-viewhistory', template: "<div class=\"modal-body mt-4\">\r\n <div class=\" d-flex \">\r\n <div class=\"d-flex justify-content-between w-100\">\r\n <div class=\"d-flex flex-column\">\r\n <div class=\"d-flex align-items-center mb-2\">\r\n <div class=\"fs-4 text-dark fw-bolder my-2 mx-10\"> <span\r\n class=\" fw-bold text-dark\"><div class=\"text-primary my-1\">Store ID :{{data?.storeId}}</div><span *ngIf=\"data?.fileDate\">Date :{{data?.fileDate}}</span> </span></div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div class=\"card-toolbar\">\r\n <div class=\"d-flex\" style=\"white-space: nowrap;\">\r\n \r\n </div>\r\n </div>\r\n <div class=\"btn btn-sm btn-icon btn-active-color-primary me-5\" (click)=\"activemodal.dismiss()\" data-bs-dismiss=\"modal\">\r\n <span class=\"svg-icon svg-icon-1\">\r\n <svg xmlns=\"http://www.w3.org/2000/svg\" width=\"24\" height=\"24\" viewBox=\"0 0 24 24\" fill=\"none\">\r\n <rect opacity=\"0.5\" x=\"6\" y=\"17.3137\" width=\"16\" height=\"2\" rx=\"1\" transform=\"rotate(-45 6 17.3137)\"\r\n fill=\"black\"></rect>\r\n <rect x=\"7.41422\" y=\"6\" width=\"16\" height=\"2\" rx=\"1\" transform=\"rotate(45 7.41422 6)\" fill=\"black\">\r\n </rect>\r\n </svg>\r\n </span>\r\n </div>\r\n</div>\r\n<div class=\"separator separator-dashed\"></div>\r\n <div class=\"card-body py-3\">\r\n <div class=\"row mx-3\" >\r\n <ng-container *ngIf=\"Loading\">\r\n <div class=\"row loader d-flex justify-content-center align-items-center\">\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div>\r\n <div class=\"shimmer\">\r\n <div class=\"wrapper\">\r\n <div class=\"stroke animate title\"></div>\r\n <div class=\"stroke animate link\"></div>\r\n <div class=\"stroke animate description\"></div>\r\n </div>\r\n </div> \r\n </div>\r\n </ng-container>\r\n <ng-container *ngIf=\"nodata\">\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 w-25\" src=\"./assets/tango/Icons/Nodata.svg\" alt=\"\">\r\n </div>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <div *ngIf=\"!Loading && !nodata\" class=\"col-md-12\">\r\n <div class=\"card border-0\">\r\n <div class=\"card-body p-0 scroll-y h-500px\">\r\n \r\n <div *ngIf=\"junkcount !==0\" class=\"h-500\">\r\n <div class=\"card-label fw-bold text-dark ms-2\">Junk <span class=\"card-label\">{{junkcount}}</span>\r\n </div>\r\n <div class=\"col-md-12 item\" >\r\n <div class=\"item\" *ngFor=\"let obj of junkimage\" >\r\n <img id=\"{{obj.img_id}}\" name=\"junk\"\r\n class=\"my-3 mx-2 img\" [src]=\"obj.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{obj.img_name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n <div *ngIf=\"employeecount !==0\" class=\" h-500\">\r\n <div class=\"card-label fw-bold text-dark ms-2\">Employee <span class=\"card-label\">{{employeecount}}</span>\r\n </div>\r\n <div class=\"col-md-12 item\" >\r\n <div class=\"item\" *ngFor=\"let obj of employeimage\" >\r\n <img id=\"{{obj.img_id}}\"\r\n class=\"my-3 mx-2 img\" name=\"employee\" [src]=\"obj?.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{obj?.img_name}}</div>\r\n </div>\r\n </div>\r\n </div>\r\n \r\n <div class=\"h-500\" >\r\n <div class=\"card-label fw-bold text-dark \">Customer <span class=\"card-label\">{{ auditmappingdata?.length }}</span>\r\n </div>\r\n <!-- <ng-container *ngIf=\"resetGroupNumber() === null\"></ng-container> -->\r\n <!-- <div *ngFor=\"let obj of auditmappingdata;let i=index\">\r\n <div class=\"col-md-12 item\" >\r\n <div class=\"item\" *ngFor=\"let img of obj.mappedid\" >\r\n <img name=\"{{obj.img_id}}\" \r\n id=\"{{img.img_id}}\" class=\"my-3 mx-2 img\" [src]=\"img?.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{img?.img_name}}</div>\r\n </div>\r\n </div>\r\n </div> -->\r\n \r\n <ng-container *ngIf=\"resetGroupNumber() === null\"></ng-container>\r\n <ng-container *ngFor=\"let obj of auditmappingdata;let i=index\">\r\n <div class=\" item\" >\r\n <div *ngIf=\"obj?.count === 1\">\r\n <ng-container *ngFor=\"let img of obj.mappedid\">\r\n <img draggable=\"true\" name=\"{{obj.img_id}}\"\r\n id=\"{{img.img_id}}\" class=\"my-3 mx-2 img\" [src]=\"img.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{img.img_name}}</div>\r\n </ng-container>\r\n </div>\r\n </div>\r\n </ng-container>\r\n <ng-container *ngFor=\"let obj of auditmappingdata;let i=index\">\r\n <div *ngIf=\"obj.count > 1\" class=\"card-label\">Group {{ getGroupNumber(obj) }}</div>\r\n <div class=\" item\" >\r\n <div class=\"d-flex\" *ngIf=\"obj.count > 1\">\r\n <div *ngFor=\"let img of obj.mappedid\">\r\n <img draggable=\"true\" name=\"{{obj.img_id}}\"\r\n id=\"{{img.img_id}}\" class=\"my-3 mx-2 img\" [src]=\"img.img_path\">\r\n <div class=\"text-center m-0 fs-7 fw-bold\">{{img.img_name}}</div>\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>\r\n\r\n</div>\r\n", styles: [".item{position:relative;padding-top:10px;display:inline-block;max-height:595px}.img{width:95px;height:200px}.card-label{font-family:Inter;font-style:normal;font-weight:700!important;font-size:20px!important;line-height:27px;color:#3f4254!important}.text-col{font-family:Inter;font-style:normal;font-weight:400;font-size:14px;line-height:17px;color:#3f4254}.img-ret{width:90px;height:170px}\n"] }]
71
76
  }], ctorParameters: () => [{ type: i1.TicketsService }, { type: i2.NgbActiveModal }], propDecorators: { data: [{
72
77
  type: Input
73
78
  }] } });
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2hpc3RvcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tdGlja2V0LXVzZXIvc3JjL2xpYi9jb21wb25lbnRzL3ZpZXdoaXN0b3J5L3ZpZXdoaXN0b3J5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy92aWV3aGlzdG9yeS92aWV3aGlzdG9yeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFDLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7Ozs7O0FBU25FLE1BQU0sT0FBTyxvQkFBb0I7SUFhWDtJQUFvQztJQVgvQyxJQUFJLENBQUs7SUFDbEIsU0FBUyxDQUFNO0lBQ2YsT0FBTyxHQUFRLElBQUksQ0FBQTtJQUNuQixTQUFTLEdBQVEsRUFBRSxDQUFBO0lBQ25CLGdCQUFnQixHQUFPLEVBQUUsQ0FBQztJQUMxQixhQUFhLENBQU07SUFDbkIsU0FBUyxHQUFRLENBQUMsQ0FBQztJQUNuQixhQUFhLEdBQVEsQ0FBQyxDQUFDO0lBQ3ZCLFlBQVksR0FBTyxFQUFFLENBQUM7SUFDdEIsTUFBTSxHQUFXLEtBQUssQ0FBQztJQUV2QixZQUFvQixZQUE0QixFQUFRLFdBQTJCO1FBQS9ELGlCQUFZLEdBQVosWUFBWSxDQUFnQjtRQUFRLGdCQUFXLEdBQVgsV0FBVyxDQUFnQjtJQUVuRixDQUFDO0lBRUQsUUFBUTtRQUNOLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxXQUFXO0lBRVgsQ0FBQztJQUVILFdBQVcsQ0FBQyxJQUFRO1FBQ2xCLE9BQU8sQ0FBQyxHQUFHLENBQUMsTUFBTSxFQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUM5QixJQUFJLE9BQU8sR0FBRztZQUNaLE1BQU0sRUFBRSxJQUFJLEVBQUUsR0FBRztZQUNqQixPQUFPLEVBQUUsSUFBSSxFQUFFLFFBQVE7WUFDdkIsUUFBUSxFQUFFLElBQUksRUFBRSxTQUFTO1NBQzFCLENBQUE7UUFDRCxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sQ0FBQyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQVEsRUFBRSxFQUFFO1lBQ3BFLElBQUksR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxFQUFFO2dCQUMxQixJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQTtnQkFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRSxLQUFLLENBQUM7Z0JBQ25CLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQTtnQkFDekMsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQTtnQkFDOUIsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQTtnQkFDckMsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQTtnQkFDNUMsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQTtnQkFDNUMsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQTthQUdyQztpQkFBTSxJQUFJLENBQUMsR0FBRyxJQUFJLEdBQUcsQ0FBQyxJQUFJLElBQUksR0FBRyxFQUFFO2dCQUNsQyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQTtnQkFDMUIsSUFBSSxDQUFDLE1BQU0sR0FBRSxJQUFJLENBQUM7YUFDYjtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELGtCQUFrQixHQUFNLENBQUMsQ0FBQztJQUV4QixjQUFjLENBQUMsR0FBUTtRQUNyQixJQUFJLEdBQUcsQ0FBQyxLQUFLLEdBQUcsQ0FBQyxFQUFFO1lBQ2pCLE9BQU8sRUFBRSxJQUFJLENBQUMsa0JBQWtCLENBQUM7U0FDbEM7UUFDRCxPQUFPLElBQUksQ0FBQztJQUNkLENBQUM7SUFFRCxnQkFBZ0I7UUFDZCxJQUFJLENBQUMsa0JBQWtCLEdBQUcsQ0FBQyxDQUFDO0lBQzlCLENBQUM7SUFFRCxlQUFlLENBQUMsS0FBYTtRQUMzQixPQUFPLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxNQUFNLENBQUMsQ0FBQyxHQUFPLEVBQUUsRUFBRSxDQUFDLEdBQUcsQ0FBQyxLQUFLLEtBQUssS0FBSyxDQUFDLENBQUM7SUFDeEUsQ0FBQzt3R0FsRVUsb0JBQW9COzRGQUFwQixvQkFBb0IsaUZDVGpDLGd6UEFpSUE7OzRGRHhIYSxvQkFBb0I7a0JBTGhDLFNBQVM7K0JBQ0UsaUJBQWlCO2dIQU1sQixJQUFJO3NCQUFaLEtBQUsiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDb21wb25lbnQsSW5wdXQsIE9uRGVzdHJveSwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IFRpY2tldHNTZXJ2aWNlIH0gZnJvbSAnLi4vLi4vc2VydmljZXMvdGlja2V0LWluZnJhLnNlcnZpY2UnO1xyXG5pbXBvcnQgeyBOZ2JBY3RpdmVNb2RhbCB9IGZyb20gJ0BuZy1ib290c3RyYXAvbmctYm9vdHN0cmFwJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXZpZXdoaXN0b3J5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdmlld2hpc3RvcnkuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi92aWV3aGlzdG9yeS5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFZpZXdoaXN0b3J5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LE9uRGVzdHJveSB7XHJcblxyXG4gIEBJbnB1dCgpIGRhdGE6YW55O1xyXG4gIGRhdGF2YWx1ZTogYW55O1xyXG4gIExvYWRpbmc6IGFueSA9IHRydWVcclxuICBqdW5raW1hZ2U6IGFueSA9IFtdXHJcbiAgYXVkaXRtYXBwaW5nZGF0YTogYW55ID1bXTtcclxuICBjdXN0b21lcmNvdW50OiBhbnk7XHJcbiAganVua2NvdW50OiBhbnkgPSAwO1xyXG4gIGVtcGxveWVlY291bnQ6IGFueSA9IDA7XHJcbiAgZW1wbG95ZWltYWdlOiBhbnkgPVtdO1xyXG4gIG5vZGF0YTogYm9vbGVhbiA9ZmFsc2U7XHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYXVkaXRzZXJ2aWNlOiBUaWNrZXRzU2VydmljZSxwdWJsaWMgYWN0aXZlbW9kYWw6IE5nYkFjdGl2ZU1vZGFsKXtcclxuXHJcbiAgfVxyXG5cclxuICBuZ09uSW5pdCgpIHtcclxuICAgIHRoaXMudmlld0hpc3RvcnkodGhpcy5kYXRhKTtcclxuICB9XHJcbiAgXHJcbiAgbmdPbkRlc3Ryb3koKXtcclxuICAgICAgXHJcbiAgfVxyXG5cclxudmlld0hpc3RvcnkoZGF0YTphbnkpe1xyXG4gIGNvbnNvbGUubG9nKCdkYXRhJyx0aGlzLmRhdGEpO1xyXG4gIHZhciBwYXlsb2FkID0ge1xyXG4gICAgdXNlcklkOiBkYXRhPy5faWQsXHJcbiAgICBzdG9yZUlkOiBkYXRhPy5zdG9yZV9pZCxcclxuICAgIGZpbGVEYXRlOiBkYXRhPy5maWxlX2RhdGVcclxuICB9XHJcbiAgdGhpcy5hdWRpdHNlcnZpY2UuZ2V0QXVkaXRtYXBwaW5nbGlzdChwYXlsb2FkKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZVxyXG4gICAgICB0aGlzLm5vZGF0YSA9ZmFsc2U7XHJcbiAgICAgIHRoaXMuYXVkaXRtYXBwaW5nZGF0YSA9IHJlcy5kYXRhLmN1c3RvbWVyXHJcbiAgICAgIHRoaXMuanVua2ltYWdlID0gcmVzLmRhdGEuanVua1xyXG4gICAgICB0aGlzLmVtcGxveWVpbWFnZSA9IHJlcy5kYXRhLmVtcGxveWVlXHJcbiAgICAgIHRoaXMuY3VzdG9tZXJjb3VudCA9IHJlcy5kYXRhLmN1c3RvbWVyX2NvdW50XHJcbiAgICAgIHRoaXMuZW1wbG95ZWVjb3VudCA9IHJlcy5kYXRhLmVtcGxveWVlX2NvdW50XHJcbiAgICAgIHRoaXMuanVua2NvdW50ID0gcmVzLmRhdGEuanVua19jb3VudFxyXG5cclxuXHJcbiAgICB9IGVsc2UgaWYgKCFyZXMgfHwgcmVzLmNvZGUgPT0gMjA0KSB7XHJcbiAgICAgIHRoaXMuTG9hZGluZyA9IGZhbHNlXHJcbnRoaXMubm9kYXRhID10cnVlO1xyXG4gICAgfVxyXG4gIH0pXHJcbn1cclxuXHJcbmN1cnJlbnRHcm91cE51bWJlcjphbnkgPTA7XHJcblxyXG4gIGdldEdyb3VwTnVtYmVyKG9iajogYW55KTogbnVtYmVyIHwgbnVsbCB7XHJcbiAgICBpZiAob2JqLmNvdW50ID4gMSkge1xyXG4gICAgICByZXR1cm4gKyt0aGlzLmN1cnJlbnRHcm91cE51bWJlcjtcclxuICAgIH1cclxuICAgIHJldHVybiBudWxsO1xyXG4gIH1cclxuXHJcbiAgcmVzZXRHcm91cE51bWJlcigpIHtcclxuICAgIHRoaXMuY3VycmVudEdyb3VwTnVtYmVyID0gMDtcclxuICB9XHJcblxyXG4gIGdldEZpbHRlcmVkRGF0YShjb3VudDogbnVtYmVyKSB7XHJcbiAgICByZXR1cm4gdGhpcy5hdWRpdG1hcHBpbmdkYXRhLmZpbHRlcigob2JqOmFueSkgPT4gb2JqLmNvdW50ID09PSBjb3VudCk7XHJcbiAgfVxyXG5cclxufVxyXG4iLCI8ZGl2IGNsYXNzPVwibW9kYWwtYm9keSBtdC00XCI+XHJcbiAgICA8ZGl2IGNsYXNzPVwiIGQtZmxleCBcIj5cclxuICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuIHctMTAwXCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXggYWxpZ24taXRlbXMtY2VudGVyIG1iLTJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZnMtNCB0ZXh0LWRhcmsgZnctYm9sZGVyIG15LTIgbXgtMTBcIj4gPHNwYW5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiIGZ3LWJvbGQgdGV4dC1kYXJrXCI+PGRpdiBjbGFzcz1cInRleHQtcHJpbWFyeSBteS0xXCI+U3RvcmUgSUQgOnt7ZGF0YXZhbHVlPy5zdG9yZUlkfX08L2Rpdj4gIERhdGUgOnt7ZGF0YXZhbHVlPy5maWxlRGF0ZX19IDwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgc3R5bGU9XCJ3aGl0ZS1zcGFjZTogbm93cmFwO1wiPlxyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1pY29uIGJ0bi1hY3RpdmUtY29sb3ItcHJpbWFyeSBtZS01XCIgKGNsaWNrKT1cImFjdGl2ZW1vZGFsLmRpc21pc3MoKVwiIGRhdGEtYnMtZGlzbWlzcz1cIm1vZGFsXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xXCI+XHJcbiAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgPHJlY3Qgb3BhY2l0eT1cIjAuNVwiIHg9XCI2XCIgeT1cIjE3LjMxMzdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMlwiIHJ4PVwiMVwiIHRyYW5zZm9ybT1cInJvdGF0ZSgtNDUgNiAxNy4zMTM3KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsbD1cImJsYWNrXCI+PC9yZWN0PlxyXG4gICAgICAgICAgICAgICAgPHJlY3QgeD1cIjcuNDE0MjJcIiB5PVwiNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIyXCIgcng9XCIxXCIgdHJhbnNmb3JtPVwicm90YXRlKDQ1IDcuNDE0MjIgNilcIiBmaWxsPVwiYmxhY2tcIj5cclxuICAgICAgICAgICAgICAgIDwvcmVjdD5cclxuICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwic2VwYXJhdG9yIHNlcGFyYXRvci1kYXNoZWRcIj48L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcHktM1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXgtM1wiID5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIkxvYWRpbmdcIiBjbGFzcz1cInJvdyBwdC0yMCBhbGlnbi1pdGVtcy1jZW50ZXIganVzdGlmeS1jb250ZW50LWNlbnRlciBtYi01XCI+XHJcbiAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJsb2FkZXJcIj5cclxuICAgICAgICAgICAgICAgIDxzdmcgdmlld0JveD1cIjAgMCAxMjAgMTIwXCIgdmVyc2lvbj1cIjEuMVwiIHhtbG5zPVwiaHR0cDovL3d3dy53My5vcmcvMjAwMC9zdmdcIj5cclxuICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGNsYXNzPVwibG9hZCBvbmVcIiBjeD1cIjYwXCIgY3k9XCI2MFwiIHI9XCI0MFwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBjbGFzcz1cImxvYWQgdHdvXCIgY3g9XCI2MFwiIGN5PVwiNjBcIiByPVwiNDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgY2xhc3M9XCJsb2FkIHRocmVlXCIgY3g9XCI2MFwiIGN5PVwiNjBcIiByPVwiNDBcIiAvPlxyXG4gICAgICAgICAgICAgICAgICAgIDxnPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8Y2lyY2xlIGNsYXNzPVwicG9pbnQgb25lXCIgY3g9XCI0NVwiIGN5PVwiNzBcIiByPVwiNVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxjaXJjbGUgY2xhc3M9XCJwb2ludCB0d29cIiBjeD1cIjYwXCIgY3k9XCI3MFwiIHI9XCI1XCIgLz5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGNpcmNsZSBjbGFzcz1cInBvaW50IHRocmVlXCIgY3g9XCI3NVwiIGN5PVwiNzBcIiByPVwiNVwiIC8+XHJcbiAgICAgICAgICAgICAgICAgICAgPC9nPlxyXG4gICAgICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8aDUgY2xhc3M9XCJ0ZXh0LWdyYXktNjAwIGZ3LWJvbGRlciB0ZXh0LWNlbnRlclwiPkxvYWRpbmcgRGF0YS4uLjwvaDU+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwibm9kYXRhXCIgY2xhc3M9XCJyb3cgbWItMTBcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNvbC1sZy0xMiBtdC04XCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHRleHQtY2VudGVyXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGltZyBjbGFzcz1cImltZ25vZGF0YTFcIiBzcmM9XCIuLi8uLi8uLi8uLi9hc3NldHMvSWNvbnMvTm9kYXRhLnN2Z1wiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIGFsdD1cIlwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgZnctYm9sZCBmcy00IG10LTUgdGV4dC1wcmltYXJ5XCI+IDxzcGFuPkRhdGEgaXMgYXZhaWxhYmxlICBvbmx5IGZvciBsYXN0IDIgZGF5cyA8L3NwYW4+PC9kaXY+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiAqbmdJZj1cIiFMb2FkaW5nICYmICFub2RhdGFcIiBjbGFzcz1cImNvbC1tZC0xMlwiPlxyXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmRcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1ib2R5IHB0LTAgIHNjcm9sbC15IGgtNTAwcHhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJqdW5rY291bnQgIT09MFwiIGNsYXNzPVwiaC01MDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWxhYmVsIGZ3LWJvbGQgdGV4dC1kYXJrIG1zLTJcIj5KdW5rIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbFwiPnt7anVua2NvdW50fX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgaXRlbVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbVwiICpuZ0Zvcj1cImxldCBvYmogb2YganVua2ltYWdlXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBpZD1cInt7b2JqLmltZ19pZH19XCIgbmFtZT1cImp1bmtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm15LTMgbXgtMiBpbWdcIiBbc3JjXT1cIm9iai5pbWdfcGF0aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtLTAgZnMtNyBmdy1ib2xkXCI+e3tvYmouaW1nX25hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImVtcGxveWVlY291bnQgIT09MFwiIGNsYXNzPVwiIGgtNTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1sYWJlbCBmdy1ib2xkIHRleHQtZGFyayBtcy0yXCI+RW1wbG95ZWUgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsXCI+e3tlbXBsb3llZWNvdW50fX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgaXRlbVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbVwiICpuZ0Zvcj1cImxldCBvYmogb2YgZW1wbG95ZWltYWdlXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBpZD1cInt7b2JqLmltZ19pZH19XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJteS0zIG14LTIgaW1nXCIgbmFtZT1cImVtcGxveWVlXCIgW3NyY109XCJvYmouaW1nX3BhdGhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgbS0wIGZzLTcgZnctYm9sZFwiPnt7b2JqLmltZ19uYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaC01MDBcIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1sYWJlbCBmdy1ib2xkIHRleHQtZGFyayBcIj5DdXN0b21lciA8c3BhbiBjbGFzcz1cImNhcmQtbGFiZWxcIj57eyBnZXRGaWx0ZXJlZERhdGEoMSkubGVuZ3RoIH19PC9zcGFuPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8IS0tIDxuZy1jb250YWluZXIgKm5nSWY9XCJyZXNldEdyb3VwTnVtYmVyKCkgPT09IG51bGxcIj48L25nLWNvbnRhaW5lcj4gLS0+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0Zvcj1cImxldCBvYmogb2YgYXVkaXRtYXBwaW5nZGF0YTtsZXQgaT1pbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgaXRlbVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW1cIiAqbmdGb3I9XCJsZXQgaW1nIG9mIG9iai5tYXBwZWRpZFwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgIG5hbWU9XCJ7e29iai5pbWdfaWR9fVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJ7e2ltZy5pbWdfaWR9fVwiIGNsYXNzPVwibXktMyBteC0yIGltZ1wiIFtzcmNdPVwiaW1nLmltZ19wYXRoXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgbS0wIGZzLTcgZnctYm9sZFwiPnt7aW1nLmltZ19uYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8bmctY29udGFpbmVyICpuZ0lmPVwicmVzZXRHcm91cE51bWJlcigpID09PSBudWxsXCI+PC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvYmogb2YgYXVkaXRtYXBwaW5nZGF0YTtsZXQgaT1pbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCIgaXRlbVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cIm9iaj8uY291bnQgPT09IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nRm9yPVwibGV0IGltZyBvZiBvYmoubWFwcGVkaWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGRyYWdnYWJsZT1cInRydWVcIiBuYW1lPVwie3tvYmouaW1nX2lkfX1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwie3tpbWcuaW1nX2lkfX1cIiBjbGFzcz1cIm15LTMgbXgtMiBpbWdcIiBbc3JjXT1cImltZy5pbWdfcGF0aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtLTAgZnMtNyBmdy1ib2xkXCI+e3tpbWcuaW1nX25hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBvYmogb2YgYXVkaXRtYXBwaW5nZGF0YTtsZXQgaT1pbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmouY291bnQgPiAxXCIgY2xhc3M9XCJjYXJkLWxhYmVsXCI+R3JvdXAge3sgZ2V0R3JvdXBOdW1iZXIob2JqKSB9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCIgaXRlbVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleFwiICpuZ0lmPVwib2JqLmNvdW50ID4gMVwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdGb3I9XCJsZXQgaW1nIG9mIG9iai5tYXBwZWRpZFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgZHJhZ2dhYmxlPVwidHJ1ZVwiIG5hbWU9XCJ7e29iai5pbWdfaWR9fVwiXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJ7e2ltZy5pbWdfaWR9fVwiIGNsYXNzPVwibXktMyBteC0yIGltZ1wiIFtzcmNdPVwiaW1nLmltZ19wYXRoXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIG0tMCBmcy03IGZ3LWJvbGRcIj57e2ltZy5pbWdfbmFtZX19PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L25nLWNvbnRhaW5lcj4gLS0+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuPC9kaXY+XHJcbiJdfQ==
79
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlld2hpc3RvcnkuY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tdGlja2V0LXVzZXIvc3JjL2xpYi9jb21wb25lbnRzL3ZpZXdoaXN0b3J5L3ZpZXdoaXN0b3J5LmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLXRpY2tldC11c2VyL3NyYy9saWIvY29tcG9uZW50cy92aWV3aGlzdG9yeS92aWV3aGlzdG9yeS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsU0FBUyxFQUFDLEtBQUssRUFBcUIsTUFBTSxlQUFlLENBQUM7QUFHbkUsT0FBTyxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7O0FBTzFDLE1BQU0sT0FBTyxvQkFBb0I7SUFlWDtJQUFvQztJQWIvQyxJQUFJLENBQUs7SUFDbEIsU0FBUyxDQUFNO0lBQ2YsT0FBTyxHQUFRLElBQUksQ0FBQTtJQUNuQixTQUFTLEdBQVEsRUFBRSxDQUFBO0lBQ25CLGdCQUFnQixHQUFPLEVBQUUsQ0FBQztJQUMxQixhQUFhLENBQU07SUFDbkIsU0FBUyxHQUFRLENBQUMsQ0FBQztJQUNuQixhQUFhLEdBQVEsQ0FBQyxDQUFDO0lBQ3ZCLFlBQVksR0FBTyxFQUFFLENBQUM7SUFDdEIsTUFBTSxHQUFXLEtBQUssQ0FBQztJQUNOLFFBQVEsR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO0lBRzFDLFlBQW9CLFlBQTRCLEVBQVEsV0FBMkI7UUFBL0QsaUJBQVksR0FBWixZQUFZLENBQWdCO1FBQVEsZ0JBQVcsR0FBWCxXQUFXLENBQWdCO0lBRW5GLENBQUM7SUFFRCxRQUFRO1FBQ04sSUFBSSxDQUFDLFdBQVcsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQztRQUN6QixJQUFJLENBQUMsUUFBUSxDQUFDLFFBQVEsRUFBRSxDQUFDO0lBQzNCLENBQUM7SUFFSCxXQUFXLENBQUMsSUFBUTtRQUNsQixJQUFJLE9BQU8sR0FBRztZQUNaLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTztZQUN0QixRQUFRLEVBQUUsSUFBSSxFQUFFLFFBQVE7WUFDeEIsUUFBUSxFQUFHLElBQUksRUFBRSxRQUFRO1NBQzFCLENBQUE7UUFDRCxJQUFJLENBQUMsT0FBTyxHQUFHLElBQUksQ0FBQztRQUNwQixJQUFJLENBQUMsTUFBTSxHQUFHLEtBQUssQ0FBQztRQUNwQixJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixDQUFDLE9BQU8sRUFBQyxJQUFJLEVBQUUsWUFBWSxDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtZQUN0SCxJQUFJLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLEdBQUcsRUFBRTtnQkFDMUIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLFFBQVEsQ0FBQTtnQkFDbkQsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUE7Z0JBQ3hDLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsUUFBUSxDQUFBO2dCQUMvQyxJQUFJLENBQUMsYUFBYSxHQUFHLEdBQUcsRUFBRSxJQUFJLEVBQUUsTUFBTSxFQUFFLGFBQWEsQ0FBQTtnQkFDckQsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLEVBQUUsSUFBSSxFQUFFLE1BQU0sRUFBRSxhQUFhLENBQUE7Z0JBQ3JELElBQUksQ0FBQyxTQUFTLEdBQUcsR0FBRyxFQUFFLElBQUksRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFBO2dCQUM3QyxJQUFJLENBQUMsT0FBTyxHQUFHLEtBQUssQ0FBQTtnQkFDcEIsSUFBSSxDQUFDLE1BQU0sR0FBRSxLQUFLLENBQUM7YUFDcEI7aUJBQU0sSUFBSSxDQUFDLEdBQUcsSUFBSSxHQUFHLENBQUMsSUFBSSxJQUFJLEdBQUcsRUFBRTtnQkFDbEMsSUFBSSxDQUFDLE9BQU8sR0FBRyxLQUFLLENBQUE7Z0JBQ3BCLElBQUksQ0FBQyxNQUFNLEdBQUUsSUFBSSxDQUFDO2FBQ25CO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDO0lBRUQsa0JBQWtCLEdBQU0sQ0FBQyxDQUFDO0lBRXhCLGNBQWMsQ0FBQyxHQUFRO1FBQ3JCLElBQUksR0FBRyxDQUFDLEtBQUssR0FBRyxDQUFDLEVBQUU7WUFDakIsT0FBTyxFQUFFLElBQUksQ0FBQyxrQkFBa0IsQ0FBQztTQUNsQztRQUNELE9BQU8sSUFBSSxDQUFDO0lBQ2QsQ0FBQztJQUVELGdCQUFnQjtRQUNkLElBQUksQ0FBQyxrQkFBa0IsR0FBRyxDQUFDLENBQUM7SUFDOUIsQ0FBQztJQUVELGVBQWUsQ0FBQyxLQUFhO1FBQzNCLE9BQU8sSUFBSSxDQUFDLGdCQUFnQixDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQU8sRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLEtBQUssS0FBSyxLQUFLLENBQUMsQ0FBQztJQUN4RSxDQUFDO3dHQXBFVSxvQkFBb0I7NEZBQXBCLG9CQUFvQixpRkNWakMsaTBQQW1JQTs7NEZEekhhLG9CQUFvQjtrQkFMaEMsU0FBUzsrQkFDRSxpQkFBaUI7Z0hBTWxCLElBQUk7c0JBQVosS0FBSyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbXBvbmVudCxJbnB1dCwgT25EZXN0cm95LCBPbkluaXQgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgVGlja2V0c1NlcnZpY2UgfSBmcm9tICcuLi8uLi9zZXJ2aWNlcy90aWNrZXQtaW5mcmEuc2VydmljZSc7XHJcbmltcG9ydCB7IE5nYkFjdGl2ZU1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBTdWJqZWN0LCB0YWtlVW50aWwgfSBmcm9tICdyeGpzJztcclxuXHJcbkBDb21wb25lbnQoe1xyXG4gIHNlbGVjdG9yOiAnbGliLXZpZXdoaXN0b3J5JyxcclxuICB0ZW1wbGF0ZVVybDogJy4vdmlld2hpc3RvcnkuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi92aWV3aGlzdG9yeS5jb21wb25lbnQuc2NzcydcclxufSlcclxuZXhwb3J0IGNsYXNzIFZpZXdoaXN0b3J5Q29tcG9uZW50IGltcGxlbWVudHMgT25Jbml0LE9uRGVzdHJveSB7XHJcblxyXG4gIEBJbnB1dCgpIGRhdGE6YW55O1xyXG4gIGRhdGF2YWx1ZTogYW55O1xyXG4gIExvYWRpbmc6IGFueSA9IHRydWVcclxuICBqdW5raW1hZ2U6IGFueSA9IFtdXHJcbiAgYXVkaXRtYXBwaW5nZGF0YTogYW55ID1bXTtcclxuICBjdXN0b21lcmNvdW50OiBhbnk7XHJcbiAganVua2NvdW50OiBhbnkgPSAwO1xyXG4gIGVtcGxveWVlY291bnQ6IGFueSA9IDA7XHJcbiAgZW1wbG95ZWltYWdlOiBhbnkgPVtdO1xyXG4gIG5vZGF0YTogYm9vbGVhbiA9ZmFsc2U7XHJcbiAgcHJpdmF0ZSByZWFkb25seSBkZXN0cm95JCA9IG5ldyBTdWJqZWN0KCk7XHJcblxyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGF1ZGl0c2VydmljZTogVGlja2V0c1NlcnZpY2UscHVibGljIGFjdGl2ZW1vZGFsOiBOZ2JBY3RpdmVNb2RhbCl7XHJcblxyXG4gIH1cclxuXHJcbiAgbmdPbkluaXQoKSB7XHJcbiAgICB0aGlzLnZpZXdIaXN0b3J5KHRoaXMuZGF0YSk7XHJcbiAgfVxyXG4gIFxyXG4gIG5nT25EZXN0cm95KCl7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLm5leHQodHJ1ZSk7XHJcbiAgICB0aGlzLmRlc3Ryb3kkLmNvbXBsZXRlKCk7XHJcbiAgfVxyXG5cclxudmlld0hpc3RvcnkoZGF0YTphbnkpe1xyXG4gIHZhciBwYXlsb2FkID0ge1xyXG4gICAgc3RvcmVJZDogZGF0YT8uc3RvcmVJZCxcclxuICAgIGZpbGVEYXRlOiBkYXRhPy5maWxlRGF0ZSxcclxuICAgIHpvbmVOYW1lIDogZGF0YT8uem9uZU5hbWVcclxuICB9XHJcbiAgdGhpcy5Mb2FkaW5nID0gdHJ1ZTtcclxuICB0aGlzLm5vZGF0YSA9IGZhbHNlO1xyXG4gIHRoaXMuYXVkaXRzZXJ2aWNlLmdldEF1ZGl0bWFwcGluZ2xpc3QocGF5bG9hZCxkYXRhPy5zZWxlY3RlZFR5cGUpLnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XHJcbiAgICBpZiAocmVzICYmIHJlcy5jb2RlID09IDIwMCkge1xyXG4gICAgICB0aGlzLmF1ZGl0bWFwcGluZ2RhdGEgPSByZXM/LmRhdGE/LnJlc3VsdD8uY3VzdG9tZXJcclxuICAgICAgdGhpcy5qdW5raW1hZ2UgPSByZXM/LmRhdGE/LnJlc3VsdD8uanVua1xyXG4gICAgICB0aGlzLmVtcGxveWVpbWFnZSA9IHJlcz8uZGF0YT8ucmVzdWx0Py5lbXBsb3llZVxyXG4gICAgICB0aGlzLmN1c3RvbWVyY291bnQgPSByZXM/LmRhdGE/LnJlc3VsdD8uY3VzdG9tZXJDb3VudFxyXG4gICAgICB0aGlzLmVtcGxveWVlY291bnQgPSByZXM/LmRhdGE/LnJlc3VsdD8uZW1wbG95ZWVDb3VudFxyXG4gICAgICB0aGlzLmp1bmtjb3VudCA9IHJlcz8uZGF0YT8ucmVzdWx0Py5qdW5rQ291bnRcclxuICAgICAgdGhpcy5Mb2FkaW5nID0gZmFsc2VcclxuICAgICAgdGhpcy5ub2RhdGEgPWZhbHNlO1xyXG4gICAgfSBlbHNlIGlmICghcmVzIHx8IHJlcy5jb2RlID09IDIwNCkge1xyXG4gICAgICB0aGlzLkxvYWRpbmcgPSBmYWxzZVxyXG4gICAgICB0aGlzLm5vZGF0YSA9dHJ1ZTtcclxuICAgIH1cclxuICB9KVxyXG59XHJcblxyXG5jdXJyZW50R3JvdXBOdW1iZXI6YW55ID0wO1xyXG5cclxuICBnZXRHcm91cE51bWJlcihvYmo6IGFueSk6IG51bWJlciB8IG51bGwge1xyXG4gICAgaWYgKG9iai5jb3VudCA+IDEpIHtcclxuICAgICAgcmV0dXJuICsrdGhpcy5jdXJyZW50R3JvdXBOdW1iZXI7XHJcbiAgICB9XHJcbiAgICByZXR1cm4gbnVsbDtcclxuICB9XHJcblxyXG4gIHJlc2V0R3JvdXBOdW1iZXIoKSB7XHJcbiAgICB0aGlzLmN1cnJlbnRHcm91cE51bWJlciA9IDA7XHJcbiAgfVxyXG5cclxuICBnZXRGaWx0ZXJlZERhdGEoY291bnQ6IG51bWJlcikge1xyXG4gICAgcmV0dXJuIHRoaXMuYXVkaXRtYXBwaW5nZGF0YS5maWx0ZXIoKG9iajphbnkpID0+IG9iai5jb3VudCA9PT0gY291bnQpO1xyXG4gIH1cclxuXHJcbn1cclxuIiwiPGRpdiBjbGFzcz1cIm1vZGFsLWJvZHkgbXQtNFwiPlxyXG4gICAgPGRpdiBjbGFzcz1cIiBkLWZsZXggXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiB3LTEwMFwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGZsZXgtY29sdW1uXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4IGFsaWduLWl0ZW1zLWNlbnRlciBtYi0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZzLTQgdGV4dC1kYXJrIGZ3LWJvbGRlciBteS0yIG14LTEwXCI+IDxzcGFuXHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIiBmdy1ib2xkIHRleHQtZGFya1wiPjxkaXYgY2xhc3M9XCJ0ZXh0LXByaW1hcnkgbXktMVwiPlN0b3JlIElEIDp7e2RhdGE/LnN0b3JlSWR9fTwvZGl2PjxzcGFuICpuZ0lmPVwiZGF0YT8uZmlsZURhdGVcIj5EYXRlIDp7e2RhdGE/LmZpbGVEYXRlfX08L3NwYW4+IDwvc3Bhbj48L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuXHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtdG9vbGJhclwiPlxyXG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwiZC1mbGV4XCIgc3R5bGU9XCJ3aGl0ZS1zcGFjZTogbm93cmFwO1wiPlxyXG4gICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJidG4gYnRuLXNtIGJ0bi1pY29uIGJ0bi1hY3RpdmUtY29sb3ItcHJpbWFyeSBtZS01XCIgKGNsaWNrKT1cImFjdGl2ZW1vZGFsLmRpc21pc3MoKVwiIGRhdGEtYnMtZGlzbWlzcz1cIm1vZGFsXCI+XHJcbiAgICAgICAgPHNwYW4gY2xhc3M9XCJzdmctaWNvbiBzdmctaWNvbi0xXCI+XHJcbiAgICAgICAgICAgIDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMjRcIiBoZWlnaHQ9XCIyNFwiIHZpZXdCb3g9XCIwIDAgMjQgMjRcIiBmaWxsPVwibm9uZVwiPlxyXG4gICAgICAgICAgICAgICAgPHJlY3Qgb3BhY2l0eT1cIjAuNVwiIHg9XCI2XCIgeT1cIjE3LjMxMzdcIiB3aWR0aD1cIjE2XCIgaGVpZ2h0PVwiMlwiIHJ4PVwiMVwiIHRyYW5zZm9ybT1cInJvdGF0ZSgtNDUgNiAxNy4zMTM3KVwiXHJcbiAgICAgICAgICAgICAgICAgICAgZmlsbD1cImJsYWNrXCI+PC9yZWN0PlxyXG4gICAgICAgICAgICAgICAgPHJlY3QgeD1cIjcuNDE0MjJcIiB5PVwiNlwiIHdpZHRoPVwiMTZcIiBoZWlnaHQ9XCIyXCIgcng9XCIxXCIgdHJhbnNmb3JtPVwicm90YXRlKDQ1IDcuNDE0MjIgNilcIiBmaWxsPVwiYmxhY2tcIj5cclxuICAgICAgICAgICAgICAgIDwvcmVjdD5cclxuICAgICAgICAgICAgPC9zdmc+XHJcbiAgICAgICAgPC9zcGFuPlxyXG4gICAgPC9kaXY+XHJcbjwvZGl2PlxyXG48ZGl2IGNsYXNzPVwic2VwYXJhdG9yIHNlcGFyYXRvci1kYXNoZWRcIj48L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcHktM1wiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbXgtM1wiID5cclxuICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cIkxvYWRpbmdcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3cgbG9hZGVyICBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwic2hpbW1lclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwid3JhcHBlclwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSB0aXRsZVwiPjwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJzdHJva2UgYW5pbWF0ZSBsaW5rXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN0cm9rZSBhbmltYXRlIGRlc2NyaXB0aW9uXCI+PC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+ICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcbiAgICAgICAgICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJub2RhdGFcIj5cclxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyb3dcIj5cclxuICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY29sLWxnLTEyIG1iLTNcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cImNhcmQtYm9keSBkLWZsZXgganVzdGlmeS1jb250ZW50LWNlbnRlciBhbGlnbi1pdGVtcy1jZW50ZXIgZmxleC1jb2x1bW5cIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgY2xhc3M9XCJpbWctc3JjIHctMjVcIiBzcmM9XCIuL2Fzc2V0cy90YW5nby9JY29ucy9Ob2RhdGEuc3ZnXCIgYWx0PVwiXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICA8ZGl2ICpuZ0lmPVwiIUxvYWRpbmcgJiYgIW5vZGF0YVwiIGNsYXNzPVwiY29sLW1kLTEyXCI+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZCBib3JkZXItMFwiPlxyXG4gICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWJvZHkgcC0wIHNjcm9sbC15IGgtNTAwcHhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJqdW5rY291bnQgIT09MFwiIGNsYXNzPVwiaC01MDBcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWxhYmVsIGZ3LWJvbGQgdGV4dC1kYXJrIG1zLTJcIj5KdW5rIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbFwiPnt7anVua2NvdW50fX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgaXRlbVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbVwiICpuZ0Zvcj1cImxldCBvYmogb2YganVua2ltYWdlXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBpZD1cInt7b2JqLmltZ19pZH19XCIgbmFtZT1cImp1bmtcIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzcz1cIm15LTMgbXgtMiBpbWdcIiBbc3JjXT1cIm9iai5pbWdfcGF0aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtLTAgZnMtNyBmdy1ib2xkXCI+e3tvYmouaW1nX25hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiAqbmdJZj1cImVtcGxveWVlY291bnQgIT09MFwiIGNsYXNzPVwiIGgtNTAwXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiY2FyZC1sYWJlbCBmdy1ib2xkIHRleHQtZGFyayBtcy0yXCI+RW1wbG95ZWUgPHNwYW4gY2xhc3M9XCJjYXJkLWxhYmVsXCI+e3tlbXBsb3llZWNvdW50fX08L3NwYW4+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgaXRlbVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaXRlbVwiICpuZ0Zvcj1cImxldCBvYmogb2YgZW1wbG95ZWltYWdlXCIgPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBpZD1cInt7b2JqLmltZ19pZH19XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJteS0zIG14LTIgaW1nXCIgbmFtZT1cImVtcGxveWVlXCIgW3NyY109XCJvYmo/LmltZ19wYXRoXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIG0tMCBmcy03IGZ3LWJvbGRcIj57e29iaj8uaW1nX25hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgXHJcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJoLTUwMFwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjYXJkLWxhYmVsIGZ3LWJvbGQgdGV4dC1kYXJrIFwiPkN1c3RvbWVyIDxzcGFuIGNsYXNzPVwiY2FyZC1sYWJlbFwiPnt7IGF1ZGl0bWFwcGluZ2RhdGE/Lmxlbmd0aCB9fTwvc3Bhbj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8bmctY29udGFpbmVyICpuZ0lmPVwicmVzZXRHcm91cE51bWJlcigpID09PSBudWxsXCI+PC9uZy1jb250YWluZXI+IC0tPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPCEtLSA8ZGl2ICpuZ0Zvcj1cImxldCBvYmogb2YgYXVkaXRtYXBwaW5nZGF0YTtsZXQgaT1pbmRleFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJjb2wtbWQtMTIgaXRlbVwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cIml0ZW1cIiAqbmdGb3I9XCJsZXQgaW1nIG9mIG9iai5tYXBwZWRpZFwiID5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxpbWcgIG5hbWU9XCJ7e29iai5pbWdfaWR9fVwiIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgaWQ9XCJ7e2ltZy5pbWdfaWR9fVwiIGNsYXNzPVwibXktMyBteC0yIGltZ1wiIFtzcmNdPVwiaW1nPy5pbWdfcGF0aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInRleHQtY2VudGVyIG0tMCBmcy03IGZ3LWJvbGRcIj57e2ltZz8uaW1nX25hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PiAtLT5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIFxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdJZj1cInJlc2V0R3JvdXBOdW1iZXIoKSA9PT0gbnVsbFwiPjwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb2JqIG9mIGF1ZGl0bWFwcGluZ2RhdGE7bGV0IGk9aW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiIGl0ZW1cIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nSWY9XCJvYmo/LmNvdW50ID09PSAxXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8bmctY29udGFpbmVyICpuZ0Zvcj1cImxldCBpbWcgb2Ygb2JqLm1hcHBlZGlkXCI+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPGltZyBkcmFnZ2FibGU9XCJ0cnVlXCIgbmFtZT1cInt7b2JqLmltZ19pZH19XCJcclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBpZD1cInt7aW1nLmltZ19pZH19XCIgY2xhc3M9XCJteS0zIG14LTIgaW1nXCIgW3NyY109XCJpbWcuaW1nX3BhdGhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwidGV4dC1jZW50ZXIgbS0wIGZzLTcgZnctYm9sZFwiPnt7aW1nLmltZ19uYW1lfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvbmctY29udGFpbmVyPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdGb3I9XCJsZXQgb2JqIG9mIGF1ZGl0bWFwcGluZ2RhdGE7bGV0IGk9aW5kZXhcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2ICpuZ0lmPVwib2JqLmNvdW50ID4gMVwiIGNsYXNzPVwiY2FyZC1sYWJlbFwiPkdyb3VwIHt7IGdldEdyb3VwTnVtYmVyKG9iaikgfX08L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiIGl0ZW1cIiA+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJkLWZsZXhcIiAqbmdJZj1cIm9iai5jb3VudCA+IDFcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgKm5nRm9yPVwibGV0IGltZyBvZiBvYmoubWFwcGVkaWRcIj5cclxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8aW1nIGRyYWdnYWJsZT1cInRydWVcIiBuYW1lPVwie3tvYmouaW1nX2lkfX1cIlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlkPVwie3tpbWcuaW1nX2lkfX1cIiBjbGFzcz1cIm15LTMgbXgtMiBpbWdcIiBbc3JjXT1cImltZy5pbWdfcGF0aFwiPlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJ0ZXh0LWNlbnRlciBtLTAgZnMtNyBmdy1ib2xkXCI+e3tpbWcuaW1nX25hbWV9fTwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgPC9uZy1jb250YWluZXI+XHJcblxyXG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICA8L2Rpdj5cclxuICAgIDwvZGl2PlxyXG5cclxuPC9kaXY+XHJcbiJdfQ==
@@ -2,11 +2,11 @@ import { NgModule } from '@angular/core';
2
2
  import { TangoStoresEdgeappModule } from 'tango-app-ui-stores-edgeapp';
3
3
  import * as i0 from "@angular/core";
4
4
  export class TangoEdgeAppWrapperModule {
5
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TangoEdgeAppWrapperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: TangoEdgeAppWrapperModule, imports: [TangoStoresEdgeappModule] });
7
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TangoEdgeAppWrapperModule, imports: [TangoStoresEdgeappModule] });
5
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoEdgeAppWrapperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
6
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: TangoEdgeAppWrapperModule, imports: [TangoStoresEdgeappModule] });
7
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoEdgeAppWrapperModule, imports: [TangoStoresEdgeappModule] });
8
8
  }
9
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TangoEdgeAppWrapperModule, decorators: [{
9
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoEdgeAppWrapperModule, decorators: [{
10
10
  type: NgModule,
11
11
  args: [{
12
12
  declarations: [],
@@ -30,10 +30,10 @@ export class DataService {
30
30
  });
31
31
  FileSaver.saveAs(data, fileName + EXCEL_EXTENSION);
32
32
  }
33
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: DataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
34
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: DataService, providedIn: 'root' });
33
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DataService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
34
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DataService, providedIn: 'root' });
35
35
  }
36
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: DataService, decorators: [{
36
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: DataService, decorators: [{
37
37
  type: Injectable,
38
38
  args: [{
39
39
  providedIn: 'root'
@@ -18,10 +18,10 @@ export class ExcelService {
18
18
  });
19
19
  FileSaver.saveAs(data, fileName + 'list' + EXCEL_EXTENSION);
20
20
  }
21
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ExcelService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
22
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ExcelService, providedIn: 'root' });
21
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ExcelService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
22
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ExcelService, providedIn: 'root' });
23
23
  }
24
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: ExcelService, decorators: [{
24
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: ExcelService, decorators: [{
25
25
  type: Injectable,
26
26
  args: [{
27
27
  providedIn: 'root'
@@ -18,6 +18,7 @@ export class TicketsService {
18
18
  auditApiUrl;
19
19
  dataSubject = new BehaviorSubject(null);
20
20
  metricsApiUrl;
21
+ zoneauditApiUrl;
21
22
  constructor(http, gs) {
22
23
  this.http = http;
23
24
  this.gs = gs;
@@ -29,6 +30,7 @@ export class TicketsService {
29
30
  this.edgeAppApiUrl = env.edgeAppApiUrl;
30
31
  this.auditApiUrl = env.auditApiUrl;
31
32
  this.metricsApiUrl = env.auditmetricApiUrl;
33
+ this.zoneauditApiUrl = env.zoneauditApiUrl;
32
34
  }
33
35
  this.gs.dataRangeValue.subscribe((e) => {
34
36
  if (e) {
@@ -137,29 +139,20 @@ export class TicketsService {
137
139
  auditHistory(data) {
138
140
  return this.http.post(`${this.metricsApiUrl}/user-audit-history`, data);
139
141
  }
140
- getAuditMapping(id, name, limit, nextId) {
141
- return this.http.get(`${this.auditApiUrl}/audit/audit_list?user_id=${id}&queue_name=${name}&limit=${limit}&nextId=${nextId}`);
142
+ export(offset, limit, searchValue, data, type) {
143
+ let Url = type === 'zone' ? this.zoneauditApiUrl : this.auditApiUrl;
144
+ return this.http.get(`${Url}/work-space?&searchValue=${searchValue}&offset=${offset}&limit=${limit}&isExport=${data}`, { responseType: 'arraybuffer' });
142
145
  }
143
- export(offset, limit, searchValue, data) {
144
- return this.http.get(`${this.auditApiUrl}/work-space?&searchValue=${searchValue}&offset=${offset}&limit=${limit}&isExport=${data}`, { responseType: 'arraybuffer' });
146
+ getAudit(offset, limit, searchValue, data, type) {
147
+ let Url = type === 'zone' ? this.zoneauditApiUrl : this.auditApiUrl;
148
+ return this.http.get(`${Url}/work-space?&searchValue=${searchValue}&offset=${offset}&limit=${limit}&isExport=${data}`);
145
149
  }
146
- getauditCard(filter, user) {
147
- return this.http.get(`${this.auditApiUrl}/audit/userAuditSummary?range=${filter}&userId=${user}`);
150
+ getAuditmappinglist(payload, type) {
151
+ let params = type === 'zone' ? `${this.zoneauditApiUrl}/get-drafted-data?fileDate=${payload?.fileDate}&storeId=${payload?.storeId}&zoneName=${payload?.zoneName}` : `${this.auditApiUrl}/get-drafted-data?fileDate=${payload?.fileDate}&storeId=${payload?.storeId}`;
152
+ return this.http.get(params);
148
153
  }
149
- getactivitylog(data) {
150
- return this.http.post(`${this.auditApiUrl}/activitylog/list`, data);
151
- }
152
- getAudit(offset, limit, searchValue, data) {
153
- return this.http.get(`${this.auditApiUrl}/work-space?&searchValue=${searchValue}&offset=${offset}&limit=${limit}&isExport=${data}`);
154
- }
155
- saveDraft(data) {
156
- return this.http.post(`${this.auditApiUrl}/audit/saveDraft`, data);
157
- }
158
- getAuditmappinglist(data) {
159
- return this.http.post(`${this.auditApiUrl}/audit/getmapping`, data);
160
- }
161
- saveaudit(data) {
162
- return this.http.post(`${this.auditApiUrl}/audit/saveAudit`, data);
154
+ getstoreList(data) {
155
+ return this.http.post(`${this.auditApiUrl}/store/audit-stores`, data);
163
156
  }
164
157
  userDetails() {
165
158
  return this.http.get(`${this.auditApiUrl}/auth/me`, {}).pipe(map((response) => {
@@ -167,13 +160,13 @@ export class TicketsService {
167
160
  return response;
168
161
  }), catchError(this.handleError));
169
162
  }
170
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TicketsService, deps: [{ token: i1.HttpClient }, { token: i2.GlobalStateService }], target: i0.ɵɵFactoryTarget.Injectable });
171
- static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TicketsService, providedIn: 'root' });
163
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TicketsService, deps: [{ token: i1.HttpClient }, { token: i2.GlobalStateService }], target: i0.ɵɵFactoryTarget.Injectable });
164
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TicketsService, providedIn: 'root' });
172
165
  }
173
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TicketsService, decorators: [{
166
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TicketsService, decorators: [{
174
167
  type: Injectable,
175
168
  args: [{
176
169
  providedIn: 'root'
177
170
  }]
178
171
  }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.GlobalStateService }] });
179
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlja2V0LWluZnJhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby10aWNrZXQtdXNlci9zcmMvbGliL3NlcnZpY2VzL3RpY2tldC1pbmZyYS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLFVBQVUsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFDLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQU8vRSxNQUFNLE9BQU8sY0FBYztJQWdCTDtJQUEwQjtJQWQ5QyxZQUFZLENBQU07SUFDbEIsV0FBVyxDQUFNO0lBQ2pCLElBQUksQ0FBTTtJQUNWLE9BQU8sQ0FBTTtJQUNiLFlBQVksQ0FBTTtJQUNsQixhQUFhLENBQU07SUFDbkIsWUFBWSxDQUFPO0lBRW5CLFFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQTtJQUMxQyxVQUFVLEdBQUcsSUFBSSxlQUFlLENBQU0sSUFBSSxDQUFDLENBQUE7SUFDM0MsV0FBVyxDQUFNO0lBQ2pCLFdBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsQ0FBQztJQUM3QyxhQUFhLENBQU07SUFFbkIsWUFBb0IsSUFBZ0IsRUFBVSxFQUFzQjtRQUFoRCxTQUFJLEdBQUosSUFBSSxDQUFZO1FBQVUsT0FBRSxHQUFGLEVBQUUsQ0FBb0I7UUFDbEUsSUFBSSxDQUFDLEVBQUUsQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUU7WUFDcEMsSUFBSSxHQUFHLEVBQUU7Z0JBQ1AsSUFBSSxDQUFDLFlBQVksR0FBRyxHQUFHLENBQUMsYUFBYSxDQUFBO2dCQUNyQyxJQUFJLENBQUMsV0FBVyxHQUFHLEdBQUcsQ0FBQyxXQUFXLENBQUM7Z0JBQ25DLElBQUksQ0FBQyxPQUFPLEdBQUcsR0FB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LENBQUMsQ0FBQyxDQUFDO1lBQ2pFLE9BQU8sUUFBUSxDQUFBO1FBQ25CLENBQUMsQ0FBQyxFQUNFLFVBQVUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQztJQUN4QyxDQUFDO3dHQWpQWSxjQUFjOzRHQUFkLGNBQWMsY0FGYixNQUFNOzs0RkFFUCxjQUFjO2tCQUgxQixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcclxuaW1wb3J0IHsgSHR0cENsaWVudCwgSHR0cEVycm9yUmVzcG9uc2UgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XHJcbmltcG9ydCB7IE9ic2VydmFibGUsIGNhdGNoRXJyb3IsIG1hcCwgdGhyb3dFcnJvcixCZWhhdmlvclN1YmplY3QgfSBmcm9tICdyeGpzJztcclxuaW1wb3J0IHsgR2xvYmFsU3RhdGVTZXJ2aWNlIH0gZnJvbSAndGFuZ28tYXBwLXVpLWdsb2JhbCc7XHJcblxyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVGlja2V0c1NlcnZpY2Uge1xyXG5cclxuICB0aWNrZXRBcGlVcmw6IGFueTtcclxuICBzdG9yZUFwaVVybDogYW55O1xyXG4gIGRhdGE6IGFueTtcclxuICB1c2VyVXJsOiBhbnk7XHJcbiAgdG9rZW5TdG9yYWdlOiBhbnk7XHJcbiAgZWRnZUFwcEFwaVVybDogYW55O1xyXG4gIGNsaWVudEFwaVVybDpzdHJpbmdcclxuXHJcbiAgY2xpZW50SWQgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PHN0cmluZz4oJycpXHJcbiAgY2xpZW50RGF0YSA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKVxyXG4gIGF1ZGl0QXBpVXJsOiBhbnk7XHJcbiAgZGF0YVN1YmplY3QgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbCk7XHJcbiAgbWV0cmljc0FwaVVybDogYW55O1xyXG5cclxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGh0dHA6IEh0dHBDbGllbnQsIHByaXZhdGUgZ3M6IEdsb2JhbFN0YXRlU2VydmljZSkge1xyXG4gICAgdGhpcy5ncy5lbnZpcm9ubWVudC5zdWJzY3JpYmUoKGVudikgPT4ge1xyXG4gICAgICBpZiAoZW52KSB7XHJcbiAgICAgICAgdGhpcy50aWNrZXRBcGlVcmwgPSBlbnYudGlja2V0c0FwaVVybFxyXG4gICAgICAgIHRoaXMuc3RvcmVBcGlVcmwgPSBlbnYuc3RvcmVBcGlVcmw7XHJcbiAgICAgICAgdGhpcy51c2VyVXJsID0gZW52LnVzZXJVcmw7XHJcbiAgICAgICAgdGhpcy5lZGdlQXBwQXBpVXJsID0gZW52LmVkZ2VBcHBBcGlVcmw7XHJcbiAgICAgICAgdGhpcy5hdWRpdEFwaVVybCA9IGVudi5hdWRpdEFwaVVybDtcclxuICAgICAgICB0aGlzLm1ldHJpY3NBcGlVcmwgPSBlbnYuYXVkaXRtZXRyaWNBcGlVcmxcclxuICAgICAgfVxyXG4gICAgICB0aGlzLmdzLmRhdGFSYW5nZVZhbHVlLnN1YnNjcmliZSgoZTphbnkpPT57ICAgICAgXHJcbiAgICAgICAgaWYoZSl7XHJcbiAgICAgICAgICB0aGlzLmNsaWVudElkLm5leHQoZS5jbGllbnQpXHJcbiAgICAgICAgfVxyXG4gICAgICB9KVxyXG4gICAgfSk7XHJcblxyXG4gIH1cclxuXHJcbiAgdXNlclRpY2tldExpc3QoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudGlja2V0QXBpVXJsfS91c2VySW5mcmEvdXNlclRpY2tldExpc3RgLCBkYXRhLCB7XHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlKSxcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgKTtcclxuICB9XHJcbiAgZXhwb3J0dXNlclRpY2tldExpc3QoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRpY2tldEFwaVVybH0vdXNlckluZnJhL3VzZXJUaWNrZXRMaXN0YCwgZGF0YSwgeyByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcicgfSlcclxuICB9XHJcbiAgdXNlclRha2VUaWNrZXQoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudGlja2V0QXBpVXJsfS91c2VySW5mcmEvdXNlclRha2VUaWNrZXRgLCBkYXRhLCB7XHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlKSxcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgcHJpbWFyeVJlYXNvbihkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQ8YW55PihgJHt0aGlzLnRpY2tldEFwaVVybH0vaW5mcmEvUHJpbWFyeVJlYXNvbnNgLCB7XHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlKSxcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgc2Vjb25kYXJ5UmVhc29uKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnRpY2tldEFwaVVybH0vaW5mcmEvc2Vjb25kYXJ5UmVhc29uYCwgZGF0YSwge1xyXG4gICAgfSkucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiByZXNwb25zZSksXHJcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcikpXHJcbiAgfVxyXG5cclxuICBlZGdlQXBwTG9nVGFibGUoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRpY2tldEFwaVVybH0vc3RvcmVJbmZyYS9lZGdlQXBwTG9nVGFibGVgLCBkYXRhKVxyXG5cclxuICB9XHJcblxyXG4gIGVkZ2VBcHBMb2dUYWJsZUV4cG9ydChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudGlja2V0QXBpVXJsfS9zdG9yZUluZnJhL2VkZ2VBcHBMb2dUYWJsZWAsIGRhdGEsIHsgcmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInIH0pXHJcblxyXG4gIH1cclxuXHJcbiAgdXBsb2FkQXR0YWNobWVudHModGlja2V0SWQ6IGFueSwgZm9ybURhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLnRpY2tldEFwaVVybH0vaW5mcmEvdXBsb2FkQXR0YWNobWVudHMvJHt0aWNrZXRJZH1gLCBmb3JtRGF0YSlcclxuICB9XHJcbiAgcmVtb3ZlQXR0YWNobWVudCh0aWNrZXRJZDogYW55LCBkYXRhOiBhbnkpe1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy50aWNrZXRBcGlVcmx9L2luZnJhL3JlbW92ZUF0dGFjaG1lbnQvJHt0aWNrZXRJZH1gLCBkYXRhKVxyXG4gIH1cclxuICB2aWV3ZWRnZUFwcExvZyhkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudGlja2V0QXBpVXJsfS9zdG9yZUluZnJhL3ZpZXdlZGdlQXBwTG9nYCwgZGF0YSlcclxuXHJcbiAgfVxyXG4gIHVwZGF0ZVRpY2tldChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50aWNrZXRBcGlVcmx9L2luZnJhL3VwZGF0ZVRpY2tldElzc3VlYCwgZGF0YSwge1xyXG4gICAgfSkucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiByZXNwb25zZSksXHJcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgIClcclxuICB9XHJcblxyXG4gIHN0b3JlVGlja2V0Y2FyZChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudGlja2V0QXBpVXJsfS9zdG9yZUluZnJhL3N0b3JlVGlja2V0Y2FyZGAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBzdG9yZVRpY2tldExpc3QoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudGlja2V0QXBpVXJsfS9zdG9yZUluZnJhL3N0b3JlVGlja2V0TGlzdGAsIGRhdGEsIHtcclxuICAgIH0pLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UpLFxyXG4gICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBzdG9yZVRpY2tldExpc3RFeHBvcnQoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50aWNrZXRBcGlVcmx9L3N0b3JlSW5mcmEvc3RvcmVUaWNrZXRMaXN0YCwgZGF0YSwgeyByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcicgfSlcclxuICB9XHJcbiAgdmlld1RpY2tldChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50aWNrZXRBcGlVcmx9L2luZnJhL3ZpZXdUaWNrZXRgLCBkYXRhLCB7XHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlKSxcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgKVxyXG4gIH1cclxuICBnZXRDYW1lcmFMaXN0KGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLmVkZ2VBcHBBcGlVcmx9L2dldENhbWVyYUltYWdlYCwgZGF0YSwge1xyXG4gICAgfSkucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiByZXNwb25zZSksXHJcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgIClcclxuICB9XHJcbiAgc3RhdHVzVXBkYXRlKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnRpY2tldEFwaVVybH0vaW5mcmEvdXBkYXRlU3RhdHVzYCwgZGF0YSwge1xyXG4gICAgfSkucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiByZXNwb25zZSksXHJcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgIClcclxuICB9XHJcblxyXG4gIHdvcmtIaXN0b3J5KGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50aWNrZXRBcGlVcmx9L3VzZXJJbmZyYS93b3JrSGlzdG9yeWAsIGRhdGEsIHtcclxuICAgIH0pLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UpLFxyXG4gICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICB3b3JrSGlzdG9yeUV4cG9ydChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudGlja2V0QXBpVXJsfS91c2VySW5mcmEvd29ya0hpc3RvcnlgLCBkYXRhLCB7IHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJyB9KVxyXG4gIH1cclxuXHJcbiAgZ2V0U3BvY0xvZ0RhdGEoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnN0b3JlQXBpVXJsfS9nZXQtc3BvYy1saXN0YCwgZGF0YSlcclxuXHJcbiAgfVxyXG5cclxuICBjYW1lcmFBbmdsZUNoYW5nZShkYXRhOiBhbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRpY2tldEFwaVVybH0vc3RvcmVJbmZyYS9jYW1lcmFBbmdsZUNoYW5nZWAsZGF0YSlcclxuICB9XHJcbiAgY2FtZXJhTGlzdChzdG9yZUlkOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuZWRnZUFwcEFwaVVybH0vZ2V0QWxsQ2FtZXJhU3RyZWFtRGF0YT9zdG9yZUlkPSR7c3RvcmVJZH1gKVxyXG4gIH1cclxuICBhZGRTaW5nbGVTcG9jKGlkOiBhbnksIGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuc3RvcmVBcGlVcmx9L2NyZWF0ZS1zcG9jLyR7aWR9YCwgZGF0YSlcclxuICB9XHJcblxyXG4gIHVwZGF0ZVNwb2MoaWQ6IGFueSwgZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5zdG9yZUFwaVVybH0vdXBkYXRlLXNwb2MvJHtpZH1gLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgZGVsZXRlU3BvYyhpZDogYW55LCBkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnN0b3JlQXBpVXJsfS9kZWxldGUtc3BvYy8ke2lkfWAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBnZXRSZW1vdGUoaWQ6IGFueSwgZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5zdG9yZUFwaVVybH0vZ2V0LXN0b3JlLyR7aWR9YCwgZGF0YSlcclxuICB9XHJcblxyXG4gIHVwZGF0ZVJlbW90ZShpZDogYW55LCBkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMuc3RvcmVBcGlVcmx9L3VwZGF0ZS1zdG9yZS8ke2lkfWAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBhY3RpdmVUaWNrZXQoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50aWNrZXRBcGlVcmx9L3VzZXJJbmZyYS9hY3RpdmVUaWNrZXRMaXN0YCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGdldENhbWVyYUltYWdlcyhwYXJhbXM6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmVkZ2VBcHBBcGlVcmx9L2dldEFsbENhbWVyYVN0cmVhbURhdGFgLCB7IHBhcmFtczogcGFyYW1zIH0pXHJcbiAgfVxyXG5cclxuICB1cGRhdGVTdG9yZShpZDogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMuZWRnZUFwcEFwaVVybH0vdXBkYXRlU3RvcmVJc3N1ZS8ke2lkfWAsIHtcclxuICAgIH0pLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UpLFxyXG4gICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICApXHJcbiAgfVxyXG4gIGdldEFsbENvdW50cyhkYXRhOmFueSl7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnRpY2tldEFwaVVybH0vdXNlckluZnJhL3BlbmRpbmdUaWNrZXRgLCBkYXRhKVxyXG4gIH1cclxuICBwcml2YXRlIGhhbmRsZUVycm9yKGVycm9yOiBIdHRwRXJyb3JSZXNwb25zZSk6IE9ic2VydmFibGU8bmV2ZXI+IHtcclxuICAgIHJldHVybiB0aHJvd0Vycm9yKFxyXG4gICAgICAoKSA9PiBuZXcgRXJyb3IoXCJTb21ldGhpbmcgYmFkIGhhcHBlbmVkOyBwbGVhc2UgdHJ5IGFnYWluIGxhdGVyXCIpXHJcbiAgICApO1xyXG4gIH1cclxuXHJcbi8vIGF1ZGl0IGNvZGVcclxuXHJcbmF1ZGl0SGlzdG9yeShkYXRhOmFueSl7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMubWV0cmljc0FwaVVybH0vdXNlci1hdWRpdC1oaXN0b3J5YCxkYXRhKVxyXG59XHJcblxyXG5nZXRBdWRpdE1hcHBpbmcoaWQ6IGFueSwgbmFtZTogYW55LCBsaW1pdDogYW55LCBuZXh0SWQ6IGFueSkge1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuYXVkaXRBcGlVcmx9L2F1ZGl0L2F1ZGl0X2xpc3Q/dXNlcl9pZD0ke2lkfSZxdWV1ZV9uYW1lPSR7bmFtZX0mbGltaXQ9JHtsaW1pdH0mbmV4dElkPSR7bmV4dElkfWApXHJcbn1cclxuXHJcbmV4cG9ydChvZmZzZXQ6IGFueSwgbGltaXQ6IGFueSwgc2VhcmNoVmFsdWU6IGFueSxkYXRhOmFueSkge1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuYXVkaXRBcGlVcmx9L3dvcmstc3BhY2U/JnNlYXJjaFZhbHVlPSR7c2VhcmNoVmFsdWV9Jm9mZnNldD0ke29mZnNldH0mbGltaXQ9JHtsaW1pdH0maXNFeHBvcnQ9JHtkYXRhfWAsIHtyZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcid9KVxyXG59XHJcblxyXG5nZXRhdWRpdENhcmQoZmlsdGVyOiBhbnksdXNlcjphbnkpe1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuYXVkaXRBcGlVcmx9L2F1ZGl0L3VzZXJBdWRpdFN1bW1hcnk/cmFuZ2U9JHtmaWx0ZXJ9JnVzZXJJZD0ke3VzZXJ9YClcclxufVxyXG5cclxuZ2V0YWN0aXZpdHlsb2coZGF0YTogYW55KSB7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuYXVkaXRBcGlVcmx9L2FjdGl2aXR5bG9nL2xpc3RgLCBkYXRhKVxyXG59XHJcbmdldEF1ZGl0KG9mZnNldDogYW55LCBsaW1pdDogYW55LCBzZWFyY2hWYWx1ZTogYW55LGRhdGE6YW55KSB7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5hdWRpdEFwaVVybH0vd29yay1zcGFjZT8mc2VhcmNoVmFsdWU9JHtzZWFyY2hWYWx1ZX0mb2Zmc2V0PSR7b2Zmc2V0fSZsaW1pdD0ke2xpbWl0fSZpc0V4cG9ydD0ke2RhdGF9YClcclxufVxyXG5zYXZlRHJhZnQoZGF0YTogYW55KSB7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuYXVkaXRBcGlVcmx9L2F1ZGl0L3NhdmVEcmFmdGAsIGRhdGEpXHJcbn1cclxuZ2V0QXVkaXRtYXBwaW5nbGlzdChkYXRhOiBhbnkpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5hdWRpdEFwaVVybH0vYXVkaXQvZ2V0bWFwcGluZ2AsIGRhdGEpXHJcbn1cclxuc2F2ZWF1ZGl0KGRhdGE6IGFueSkge1xyXG4gIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmF1ZGl0QXBpVXJsfS9hdWRpdC9zYXZlQXVkaXRgLCBkYXRhKVxyXG59XHJcblxyXG51c2VyRGV0YWlscygpIHtcclxuICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmF1ZGl0QXBpVXJsfS9hdXRoL21lYCwge1xyXG4gIH0pLnBpcGUobWFwKChyZXNwb25zZTogYW55KSA9PiB7XHJcbiAgICAgICAgICBsb2NhbFN0b3JhZ2Uuc2V0SXRlbSgndXNlci1pbmZvJywgSlNPTi5zdHJpbmdpZnkocmVzcG9uc2UuZGF0YSkpO1xyXG4gICAgICAgICAgcmV0dXJuIHJlc3BvbnNlXHJcbiAgICAgIH0pLFxyXG4gICAgICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKSk7XHJcbn1cclxuXHJcblxyXG5cclxufVxyXG4iXX0=
172
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGlja2V0LWluZnJhLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby10aWNrZXQtdXNlci9zcmMvbGliL3NlcnZpY2VzL3RpY2tldC1pbmZyYS5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFM0MsT0FBTyxFQUFjLFVBQVUsRUFBRSxHQUFHLEVBQUUsVUFBVSxFQUFDLGVBQWUsRUFBRSxNQUFNLE1BQU0sQ0FBQzs7OztBQU8vRSxNQUFNLE9BQU8sY0FBYztJQWlCTDtJQUEwQjtJQWY5QyxZQUFZLENBQU07SUFDbEIsV0FBVyxDQUFNO0lBQ2pCLElBQUksQ0FBTTtJQUNWLE9BQU8sQ0FBTTtJQUNiLFlBQVksQ0FBTTtJQUNsQixhQUFhLENBQU07SUFDbkIsWUFBWSxDQUFPO0lBRW5CLFFBQVEsR0FBRyxJQUFJLGVBQWUsQ0FBUyxFQUFFLENBQUMsQ0FBQTtJQUMxQyxVQUFVLEdBQUcsSUFBSSxlQUFlLENBQU0sSUFBSSxDQUFDLENBQUE7SUFDM0MsV0FBVyxDQUFNO0lBQ2pCLFdBQVcsR0FBRyxJQUFJLGVBQWUsQ0FBTSxJQUFJLENBQUMsQ0FBQztJQUM3QyxhQUFhLENBQU07SUFDbkIsZUFBZSxDQUFLO0lBRXBCLFlBQW9CLElBQWdCLEVBQVUsRUFBc0I7UUFBaEQsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFVLE9BQUUsR0FBRixFQUFFLENBQW9CO1FBQ2xFLElBQUksQ0FBQyxFQUFFLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBRSxFQUFFO1lBQ3BDLElBQUksR0FBRyxFQUFFO2dCQUNQLElBQUksQ0FBQyxZQUFZLEdBQUcsR0FBRyxDQUFDLGFBQWEsQ0FBQTtnQkFDckMsSUFBSSxDQUFDLFdBQVcsR0FBRyxHQUFHLENBQUMsV0FBVyxDQUFDO2dCQUNuQyxJQUFJLENB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Q0FBQyxDQUFDO0lBQ3hDLENBQUM7d0dBMU9ZLGNBQWM7NEdBQWQsY0FBYyxjQUZiLE1BQU07OzRGQUVQLGNBQWM7a0JBSDFCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xyXG5pbXBvcnQgeyBIdHRwQ2xpZW50LCBIdHRwRXJyb3JSZXNwb25zZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbi9odHRwJztcclxuaW1wb3J0IHsgT2JzZXJ2YWJsZSwgY2F0Y2hFcnJvciwgbWFwLCB0aHJvd0Vycm9yLEJlaGF2aW9yU3ViamVjdCB9IGZyb20gJ3J4anMnO1xyXG5pbXBvcnQgeyBHbG9iYWxTdGF0ZVNlcnZpY2UgfSBmcm9tICd0YW5nby1hcHAtdWktZ2xvYmFsJztcclxuXHJcblxyXG5ASW5qZWN0YWJsZSh7XHJcbiAgcHJvdmlkZWRJbjogJ3Jvb3QnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUaWNrZXRzU2VydmljZSB7XHJcblxyXG4gIHRpY2tldEFwaVVybDogYW55O1xyXG4gIHN0b3JlQXBpVXJsOiBhbnk7XHJcbiAgZGF0YTogYW55O1xyXG4gIHVzZXJVcmw6IGFueTtcclxuICB0b2tlblN0b3JhZ2U6IGFueTtcclxuICBlZGdlQXBwQXBpVXJsOiBhbnk7XHJcbiAgY2xpZW50QXBpVXJsOnN0cmluZ1xyXG5cclxuICBjbGllbnRJZCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJylcclxuICBjbGllbnREYXRhID0gbmV3IEJlaGF2aW9yU3ViamVjdDxhbnk+KG51bGwpXHJcbiAgYXVkaXRBcGlVcmw6IGFueTtcclxuICBkYXRhU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8YW55PihudWxsKTtcclxuICBtZXRyaWNzQXBpVXJsOiBhbnk7XHJcbiAgem9uZWF1ZGl0QXBpVXJsOmFueTtcclxuXHJcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBodHRwOiBIdHRwQ2xpZW50LCBwcml2YXRlIGdzOiBHbG9iYWxTdGF0ZVNlcnZpY2UpIHtcclxuICAgIHRoaXMuZ3MuZW52aXJvbm1lbnQuc3Vic2NyaWJlKChlbnYpID0+IHtcclxuICAgICAgaWYgKGVudikge1xyXG4gICAgICAgIHRoaXMudGlja2V0QXBpVXJsID0gZW52LnRpY2tldHNBcGlVcmxcclxuICAgICAgICB0aGlzLnN0b3JlQXBpVXJsID0gZW52LnN0b3JlQXBpVXJsO1xyXG4gICAgICAgIHRoaXMudXNlclVybCA9IGVudi51c2VyVXJsO1xyXG4gICAgICAgIHRoaXMuZWRnZUFwcEFwaVVybCA9IGVudi5lZGdlQXBwQXBpVXJsO1xyXG4gICAgICAgIHRoaXMuYXVkaXRBcGlVcmwgPSBlbnYuYXVkaXRBcGlVcmw7XHJcbiAgICAgICAgdGhpcy5tZXRyaWNzQXBpVXJsID0gZW52LmF1ZGl0bWV0cmljQXBpVXJsO1xyXG4gICAgICAgIHRoaXMuem9uZWF1ZGl0QXBpVXJsPSBlbnYuem9uZWF1ZGl0QXBpVXJsXHJcbiAgICAgIH1cclxuICAgICAgdGhpcy5ncy5kYXRhUmFuZ2VWYWx1ZS5zdWJzY3JpYmUoKGU6YW55KT0+eyAgICAgIFxyXG4gICAgICAgIGlmKGUpe1xyXG4gICAgICAgICAgdGhpcy5jbGllbnRJZC5uZXh0KGUuY2xpZW50KVxyXG4gICAgICAgIH1cclxuICAgICAgfSlcclxuICAgIH0pO1xyXG5cclxuICB9XHJcblxyXG4gIHVzZXJUaWNrZXRMaXN0KGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnRpY2tldEFwaVVybH0vdXNlckluZnJhL3VzZXJUaWNrZXRMaXN0YCwgZGF0YSwge1xyXG4gICAgfSkucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiByZXNwb25zZSksXHJcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgICk7XHJcbiAgfVxyXG4gIGV4cG9ydHVzZXJUaWNrZXRMaXN0KGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50aWNrZXRBcGlVcmx9L3VzZXJJbmZyYS91c2VyVGlja2V0TGlzdGAsIGRhdGEsIHsgcmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInIH0pXHJcbiAgfVxyXG4gIHVzZXJUYWtlVGlja2V0KGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnRpY2tldEFwaVVybH0vdXNlckluZnJhL3VzZXJUYWtlVGlja2V0YCwgZGF0YSwge1xyXG4gICAgfSkucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiByZXNwb25zZSksXHJcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgIClcclxuICB9XHJcblxyXG4gIHByaW1hcnlSZWFzb24oZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0PGFueT4oYCR7dGhpcy50aWNrZXRBcGlVcmx9L2luZnJhL1ByaW1hcnlSZWFzb25zYCwge1xyXG4gICAgfSkucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiByZXNwb25zZSksXHJcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgIClcclxuICB9XHJcblxyXG4gIHNlY29uZGFyeVJlYXNvbihkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50aWNrZXRBcGlVcmx9L2luZnJhL3NlY29uZGFyeVJlYXNvbmAsIGRhdGEsIHtcclxuICAgIH0pLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UpLFxyXG4gICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKVxyXG4gIH1cclxuXHJcbiAgZWRnZUFwcExvZ1RhYmxlKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50aWNrZXRBcGlVcmx9L3N0b3JlSW5mcmEvZWRnZUFwcExvZ1RhYmxlYCwgZGF0YSlcclxuXHJcbiAgfVxyXG5cclxuICBlZGdlQXBwTG9nVGFibGVFeHBvcnQoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRpY2tldEFwaVVybH0vc3RvcmVJbmZyYS9lZGdlQXBwTG9nVGFibGVgLCBkYXRhLCB7IHJlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJyB9KVxyXG5cclxuICB9XHJcblxyXG4gIHVwbG9hZEF0dGFjaG1lbnRzKHRpY2tldElkOiBhbnksIGZvcm1EYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wdXQoYCR7dGhpcy50aWNrZXRBcGlVcmx9L2luZnJhL3VwbG9hZEF0dGFjaG1lbnRzLyR7dGlja2V0SWR9YCwgZm9ybURhdGEpXHJcbiAgfVxyXG4gIHJlbW92ZUF0dGFjaG1lbnQodGlja2V0SWQ6IGFueSwgZGF0YTogYW55KXtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMudGlja2V0QXBpVXJsfS9pbmZyYS9yZW1vdmVBdHRhY2htZW50LyR7dGlja2V0SWR9YCwgZGF0YSlcclxuICB9XHJcbiAgdmlld2VkZ2VBcHBMb2coZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRpY2tldEFwaVVybH0vc3RvcmVJbmZyYS92aWV3ZWRnZUFwcExvZ2AsIGRhdGEpXHJcblxyXG4gIH1cclxuICB1cGRhdGVUaWNrZXQoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudGlja2V0QXBpVXJsfS9pbmZyYS91cGRhdGVUaWNrZXRJc3N1ZWAsIGRhdGEsIHtcclxuICAgIH0pLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UpLFxyXG4gICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICBzdG9yZVRpY2tldGNhcmQoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRpY2tldEFwaVVybH0vc3RvcmVJbmZyYS9zdG9yZVRpY2tldGNhcmRgLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgc3RvcmVUaWNrZXRMaXN0KGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLnRpY2tldEFwaVVybH0vc3RvcmVJbmZyYS9zdG9yZVRpY2tldExpc3RgLCBkYXRhLCB7XHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlKSxcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgc3RvcmVUaWNrZXRMaXN0RXhwb3J0KGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudGlja2V0QXBpVXJsfS9zdG9yZUluZnJhL3N0b3JlVGlja2V0TGlzdGAsIGRhdGEsIHsgcmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInIH0pXHJcbiAgfVxyXG4gIHZpZXdUaWNrZXQoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudGlja2V0QXBpVXJsfS9pbmZyYS92aWV3VGlja2V0YCwgZGF0YSwge1xyXG4gICAgfSkucGlwZShcclxuICAgICAgbWFwKChyZXNwb25zZTogYW55KSA9PiByZXNwb25zZSksXHJcbiAgICAgIGNhdGNoRXJyb3IodGhpcy5oYW5kbGVFcnJvcilcclxuICAgIClcclxuICB9XHJcbiAgZ2V0Q2FtZXJhTGlzdChkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy5lZGdlQXBwQXBpVXJsfS9nZXRDYW1lcmFJbWFnZWAsIGRhdGEsIHtcclxuICAgIH0pLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UpLFxyXG4gICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICApXHJcbiAgfVxyXG4gIHN0YXR1c1VwZGF0ZShkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50aWNrZXRBcGlVcmx9L2luZnJhL3VwZGF0ZVN0YXR1c2AsIGRhdGEsIHtcclxuICAgIH0pLnBpcGUoXHJcbiAgICAgIG1hcCgocmVzcG9uc2U6IGFueSkgPT4gcmVzcG9uc2UpLFxyXG4gICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpXHJcbiAgICApXHJcbiAgfVxyXG5cclxuICB3b3JrSGlzdG9yeShkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdDxhbnk+KGAke3RoaXMudGlja2V0QXBpVXJsfS91c2VySW5mcmEvd29ya0hpc3RvcnlgLCBkYXRhLCB7XHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlKSxcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgKVxyXG4gIH1cclxuXHJcbiAgd29ya0hpc3RvcnlFeHBvcnQoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRpY2tldEFwaVVybH0vdXNlckluZnJhL3dvcmtIaXN0b3J5YCwgZGF0YSwgeyByZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcicgfSlcclxuICB9XHJcblxyXG4gIGdldFNwb2NMb2dEYXRhKGRhdGE6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5zdG9yZUFwaVVybH0vZ2V0LXNwb2MtbGlzdGAsIGRhdGEpXHJcblxyXG4gIH1cclxuXHJcbiAgY2FtZXJhQW5nbGVDaGFuZ2UoZGF0YTogYW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50aWNrZXRBcGlVcmx9L3N0b3JlSW5mcmEvY2FtZXJhQW5nbGVDaGFuZ2VgLGRhdGEpXHJcbiAgfVxyXG4gIGNhbWVyYUxpc3Qoc3RvcmVJZDogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmVkZ2VBcHBBcGlVcmx9L2dldEFsbENhbWVyYVN0cmVhbURhdGE/c3RvcmVJZD0ke3N0b3JlSWR9YClcclxuICB9XHJcbiAgYWRkU2luZ2xlU3BvYyhpZDogYW55LCBkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnN0b3JlQXBpVXJsfS9jcmVhdGUtc3BvYy8ke2lkfWAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICB1cGRhdGVTcG9jKGlkOiBhbnksIGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuc3RvcmVBcGlVcmx9L3VwZGF0ZS1zcG9jLyR7aWR9YCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGRlbGV0ZVNwb2MoaWQ6IGFueSwgZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5zdG9yZUFwaVVybH0vZGVsZXRlLXNwb2MvJHtpZH1gLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgZ2V0UmVtb3RlKGlkOiBhbnksIGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuc3RvcmVBcGlVcmx9L2dldC1zdG9yZS8ke2lkfWAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICB1cGRhdGVSZW1vdGUoaWQ6IGFueSwgZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnB1dChgJHt0aGlzLnN0b3JlQXBpVXJsfS91cGRhdGUtc3RvcmUvJHtpZH1gLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgYWN0aXZlVGlja2V0KGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudGlja2V0QXBpVXJsfS91c2VySW5mcmEvYWN0aXZlVGlja2V0TGlzdGAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBnZXRDYW1lcmFJbWFnZXMocGFyYW1zOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy5lZGdlQXBwQXBpVXJsfS9nZXRBbGxDYW1lcmFTdHJlYW1EYXRhYCwgeyBwYXJhbXM6IHBhcmFtcyB9KVxyXG4gIH1cclxuXHJcbiAgdXBkYXRlU3RvcmUoaWQ6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3Q8YW55PihgJHt0aGlzLmVkZ2VBcHBBcGlVcmx9L3VwZGF0ZVN0b3JlSXNzdWUvJHtpZH1gLCB7XHJcbiAgICB9KS5waXBlKFxyXG4gICAgICBtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHJlc3BvbnNlKSxcclxuICAgICAgY2F0Y2hFcnJvcih0aGlzLmhhbmRsZUVycm9yKVxyXG4gICAgKVxyXG4gIH1cclxuICBnZXRBbGxDb3VudHMoZGF0YTphbnkpe1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0PGFueT4oYCR7dGhpcy50aWNrZXRBcGlVcmx9L3VzZXJJbmZyYS9wZW5kaW5nVGlja2V0YCwgZGF0YSlcclxuICB9XHJcbiAgcHJpdmF0ZSBoYW5kbGVFcnJvcihlcnJvcjogSHR0cEVycm9yUmVzcG9uc2UpOiBPYnNlcnZhYmxlPG5ldmVyPiB7XHJcbiAgICByZXR1cm4gdGhyb3dFcnJvcihcclxuICAgICAgKCkgPT4gbmV3IEVycm9yKFwiU29tZXRoaW5nIGJhZCBoYXBwZW5lZDsgcGxlYXNlIHRyeSBhZ2FpbiBsYXRlclwiKVxyXG4gICAgKTtcclxuICB9XHJcblxyXG4vLyBhdWRpdCBjb2RlXHJcblxyXG5hdWRpdEhpc3RvcnkoZGF0YTphbnkpe1xyXG4gIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLm1ldHJpY3NBcGlVcmx9L3VzZXItYXVkaXQtaGlzdG9yeWAsZGF0YSlcclxufVxyXG5cclxuZXhwb3J0KG9mZnNldDogYW55LCBsaW1pdDogYW55LCBzZWFyY2hWYWx1ZTogYW55LGRhdGE6YW55LHR5cGU6YW55KSB7XHJcbiAgbGV0IFVybCA9IHR5cGU9PT0nem9uZScgPyB0aGlzLnpvbmVhdWRpdEFwaVVybCA6IHRoaXMuYXVkaXRBcGlVcmw7XHJcbiAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7VXJsfS93b3JrLXNwYWNlPyZzZWFyY2hWYWx1ZT0ke3NlYXJjaFZhbHVlfSZvZmZzZXQ9JHtvZmZzZXR9JmxpbWl0PSR7bGltaXR9JmlzRXhwb3J0PSR7ZGF0YX1gLCB7cmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInfSlcclxufVxyXG5cclxuZ2V0QXVkaXQob2Zmc2V0OiBhbnksIGxpbWl0OiBhbnksIHNlYXJjaFZhbHVlOiBhbnksZGF0YTphbnksdHlwZTphbnkpIHtcclxuICBsZXQgVXJsID0gdHlwZT09PSd6b25lJyA/IHRoaXMuem9uZWF1ZGl0QXBpVXJsIDogdGhpcy5hdWRpdEFwaVVybDtcclxuICByZXR1cm4gdGhpcy5odHRwLmdldChgJHtVcmx9L3dvcmstc3BhY2U/JnNlYXJjaFZhbHVlPSR7c2VhcmNoVmFsdWV9Jm9mZnNldD0ke29mZnNldH0mbGltaXQ9JHtsaW1pdH0maXNFeHBvcnQ9JHtkYXRhfWApXHJcbn1cclxuXHJcbmdldEF1ZGl0bWFwcGluZ2xpc3QocGF5bG9hZDphbnksdHlwZSA6YW55KSB7XHJcbiAgICBsZXQgcGFyYW1zID0gdHlwZT09PSd6b25lJyA/IGAke3RoaXMuem9uZWF1ZGl0QXBpVXJsfS9nZXQtZHJhZnRlZC1kYXRhP2ZpbGVEYXRlPSR7cGF5bG9hZD8uZmlsZURhdGV9JnN0b3JlSWQ9JHtwYXlsb2FkPy5zdG9yZUlkfSZ6b25lTmFtZT0ke3BheWxvYWQ/LnpvbmVOYW1lfWA6IGAke3RoaXMuYXVkaXRBcGlVcmx9L2dldC1kcmFmdGVkLWRhdGE/ZmlsZURhdGU9JHtwYXlsb2FkPy5maWxlRGF0ZX0mc3RvcmVJZD0ke3BheWxvYWQ/LnN0b3JlSWR9YFxyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQocGFyYW1zKVxyXG59XHJcblxyXG5nZXRzdG9yZUxpc3QoZGF0YTphbnkpe1xyXG4gIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmF1ZGl0QXBpVXJsfS9zdG9yZS9hdWRpdC1zdG9yZXNgLGRhdGEpXHJcbn1cclxuXHJcbnVzZXJEZXRhaWxzKCkge1xyXG4gIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuYXVkaXRBcGlVcmx9L2F1dGgvbWVgLCB7XHJcbiAgfSkucGlwZShtYXAoKHJlc3BvbnNlOiBhbnkpID0+IHtcclxuICAgICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKCd1c2VyLWluZm8nLCBKU09OLnN0cmluZ2lmeShyZXNwb25zZS5kYXRhKSk7XHJcbiAgICAgICAgICByZXR1cm4gcmVzcG9uc2VcclxuICAgICAgfSksXHJcbiAgICAgICAgICBjYXRjaEVycm9yKHRoaXMuaGFuZGxlRXJyb3IpKTtcclxufVxyXG5cclxuXHJcblxyXG59XHJcbiJdfQ==
@@ -31,11 +31,11 @@ const routes = [
31
31
  }
32
32
  ];
33
33
  export class TangoTicketUsersRoutingModule {
34
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TangoTicketUsersRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
35
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: TangoTicketUsersRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] });
36
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TangoTicketUsersRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] });
34
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoTicketUsersRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
35
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: TangoTicketUsersRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] });
36
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoTicketUsersRoutingModule, imports: [RouterModule.forChild(routes), RouterModule] });
37
37
  }
38
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TangoTicketUsersRoutingModule, decorators: [{
38
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoTicketUsersRoutingModule, decorators: [{
39
39
  type: NgModule,
40
40
  args: [{
41
41
  imports: [RouterModule.forChild(routes)],
@@ -22,8 +22,8 @@ import { AuditWorkspaceComponent } from './components/audit-workspace/audit-work
22
22
  import { ViewhistoryComponent } from './components/viewhistory/viewhistory.component';
23
23
  import * as i0 from "@angular/core";
24
24
  export class TangoTicketUsersModule {
25
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TangoTicketUsersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
26
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: TangoTicketUsersModule, declarations: [TangoTicketUsersComponent, InfraticketsComponent, TicketsComponent, ContactDetailsComponent, EditDetailsComponent, TakeremoteComponent, StoreInfoComponent, EdgeappLogComponent, StoreActivityComponent, EdgeCameraviewComponent, InstallationComponent, DropdownComponent, AuditManagementComponent, AuditWorkspaceComponent, ViewhistoryComponent], imports: [CommonModule,
25
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoTicketUsersModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
26
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: TangoTicketUsersModule, declarations: [TangoTicketUsersComponent, InfraticketsComponent, TicketsComponent, ContactDetailsComponent, EditDetailsComponent, TakeremoteComponent, StoreInfoComponent, EdgeappLogComponent, StoreActivityComponent, EdgeCameraviewComponent, InstallationComponent, DropdownComponent, AuditManagementComponent, AuditWorkspaceComponent, ViewhistoryComponent], imports: [CommonModule,
27
27
  TangoTicketUsersRoutingModule,
28
28
  FormsModule,
29
29
  CommonSharedModule,
@@ -31,7 +31,7 @@ export class TangoTicketUsersModule {
31
31
  NgbModalModule,
32
32
  NgbModule,
33
33
  NgxDaterangepickerMd] });
34
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TangoTicketUsersModule, imports: [CommonModule,
34
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoTicketUsersModule, imports: [CommonModule,
35
35
  TangoTicketUsersRoutingModule,
36
36
  FormsModule,
37
37
  CommonSharedModule,
@@ -40,7 +40,7 @@ export class TangoTicketUsersModule {
40
40
  NgbModule,
41
41
  NgxDaterangepickerMd] });
42
42
  }
43
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TangoTicketUsersModule, decorators: [{
43
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoTicketUsersModule, decorators: [{
44
44
  type: NgModule,
45
45
  args: [{
46
46
  declarations: [TangoTicketUsersComponent, InfraticketsComponent, TicketsComponent, ContactDetailsComponent, EditDetailsComponent, TakeremoteComponent, StoreInfoComponent, EdgeappLogComponent, StoreActivityComponent, EdgeCameraviewComponent, InstallationComponent, DropdownComponent, AuditManagementComponent, AuditWorkspaceComponent, ViewhistoryComponent],
@@ -3,11 +3,11 @@ import { NgModule } from '@angular/core';
3
3
  import { TangoStoresEdgeappModule } from 'tango-app-ui-stores-edgeapp';
4
4
 
5
5
  class TangoEdgeAppWrapperModule {
6
- static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TangoEdgeAppWrapperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7
- static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.11", ngImport: i0, type: TangoEdgeAppWrapperModule, imports: [TangoStoresEdgeappModule] });
8
- static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TangoEdgeAppWrapperModule, imports: [TangoStoresEdgeappModule] });
6
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoEdgeAppWrapperModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
7
+ static ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "14.0.0", version: "17.3.12", ngImport: i0, type: TangoEdgeAppWrapperModule, imports: [TangoStoresEdgeappModule] });
8
+ static ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoEdgeAppWrapperModule, imports: [TangoStoresEdgeappModule] });
9
9
  }
10
- i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImport: i0, type: TangoEdgeAppWrapperModule, decorators: [{
10
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TangoEdgeAppWrapperModule, decorators: [{
11
11
  type: NgModule,
12
12
  args: [{
13
13
  declarations: [],
@@ -18,4 +18,4 @@ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.11", ngImpo
18
18
  }] });
19
19
 
20
20
  export { TangoEdgeAppWrapperModule };
21
- //# sourceMappingURL=tango-app-ui-ticket-user-edge-wrapper.module-fMqNK7aH.mjs.map
21
+ //# sourceMappingURL=tango-app-ui-ticket-user-edge-wrapper.module-CFDk0tvS.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"tango-app-ui-ticket-user-edge-wrapper.module-fMqNK7aH.mjs","sources":["../../../projects/tango-ticket-user/src/lib/route-wrappers/edge-wrapper.module.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\r\nimport { TangoStoresEdgeappModule } from 'tango-app-ui-stores-edgeapp';\r\n \r\n \r\n@NgModule({\r\n declarations: [\r\n ],\r\n imports: [\r\n TangoStoresEdgeappModule\r\n ]\r\n})\r\nexport class TangoEdgeAppWrapperModule { }"],"names":[],"mappings":";;;;MAWa,yBAAyB,CAAA;wGAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,YAHlC,wBAAwB,CAAA,EAAA,CAAA,CAAA;AAGf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,YAHlC,wBAAwB,CAAA,EAAA,CAAA,CAAA;;4FAGf,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAPrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EACb;AACD,oBAAA,OAAO,EAAE;wBACP,wBAAwB;AACzB,qBAAA;AACF,iBAAA,CAAA;;;;;"}
1
+ {"version":3,"file":"tango-app-ui-ticket-user-edge-wrapper.module-CFDk0tvS.mjs","sources":["../../../projects/tango-ticket-user/src/lib/route-wrappers/edge-wrapper.module.ts"],"sourcesContent":["import { NgModule } from '@angular/core';\r\nimport { TangoStoresEdgeappModule } from 'tango-app-ui-stores-edgeapp';\r\n \r\n \r\n@NgModule({\r\n declarations: [\r\n ],\r\n imports: [\r\n TangoStoresEdgeappModule\r\n ]\r\n})\r\nexport class TangoEdgeAppWrapperModule { }"],"names":[],"mappings":";;;;MAWa,yBAAyB,CAAA;wGAAzB,yBAAyB,EAAA,IAAA,EAAA,EAAA,EAAA,MAAA,EAAA,EAAA,CAAA,eAAA,CAAA,QAAA,EAAA,CAAA,CAAA;AAAzB,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,YAHlC,wBAAwB,CAAA,EAAA,CAAA,CAAA;AAGf,IAAA,OAAA,IAAA,GAAA,EAAA,CAAA,mBAAA,CAAA,EAAA,UAAA,EAAA,QAAA,EAAA,OAAA,EAAA,SAAA,EAAA,QAAA,EAAA,EAAA,EAAA,IAAA,EAAA,yBAAyB,YAHlC,wBAAwB,CAAA,EAAA,CAAA,CAAA;;4FAGf,yBAAyB,EAAA,UAAA,EAAA,CAAA;kBAPrC,QAAQ;AAAC,YAAA,IAAA,EAAA,CAAA;AACR,oBAAA,YAAY,EAAE,EACb;AACD,oBAAA,OAAO,EAAE;wBACP,wBAAwB;AACzB,qBAAA;AACF,iBAAA,CAAA;;;;;"}