tango-app-ui-analyse-trax 3.0.0-dev → 3.3.1-alpha-task.63

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/esm2022/lib/components/action-centre/action-centre.component.mjs +303 -0
  2. package/esm2022/lib/components/activity-log/activity-log.component.mjs +94 -0
  3. package/esm2022/lib/components/add-checklist/add-checklist.component.mjs +1439 -0
  4. package/esm2022/lib/components/add-task/add-task.component.mjs +85 -0
  5. package/esm2022/lib/components/checklist/checklist.component.mjs +252 -0
  6. package/esm2022/lib/components/checklist-configure/checklist-configure.component.mjs +1954 -0
  7. package/esm2022/lib/components/checklistlayout/checklistlayout.component.mjs +12 -0
  8. package/esm2022/lib/components/chip-dropdown/chip-dropdown.component.mjs +84 -0
  9. package/esm2022/lib/components/create-task/create-task.component.mjs +367 -0
  10. package/esm2022/lib/components/create-task/create-task.data.mjs +306 -0
  11. package/esm2022/lib/components/create-task/create-task.interface.mjs +2 -0
  12. package/esm2022/lib/components/custom-select/custom-select.component.mjs +236 -0
  13. package/esm2022/lib/components/dashboard/dashboard.component.mjs +600 -0
  14. package/esm2022/lib/components/dashboard-info/dashboard-info.component.mjs +635 -0
  15. package/esm2022/lib/components/dashboard-info/monthlyperformance-datepicker/monthlyperformance-datepicker.component.mjs +172 -0
  16. package/esm2022/lib/components/dashboard-layout/dashboard-layout.component.mjs +12 -0
  17. package/esm2022/lib/components/export-gallery/export-gallery.component.mjs +119 -0
  18. package/esm2022/lib/components/flag-layout/flag-layout.component.mjs +12 -0
  19. package/esm2022/lib/components/flags/flags.component.mjs +257 -0
  20. package/esm2022/lib/components/flags/flags.interface.mjs +2 -0
  21. package/esm2022/lib/components/flags-info/flags-info.component.mjs +388 -0
  22. package/esm2022/lib/components/flags-info/flags-info.interface.mjs +2 -0
  23. package/esm2022/lib/components/flags-info/unattended-pie-chart/unattended-pie-chart.component.mjs +71 -0
  24. package/esm2022/lib/components/gallery/gallery.component.mjs +1202 -0
  25. package/esm2022/lib/components/group-select/group-select.component.mjs +155 -0
  26. package/esm2022/lib/components/managechecklist/managechecklist.component.mjs +172 -0
  27. package/esm2022/lib/components/multi-date-datepicker/multi-date-datepicker.component.mjs +117 -0
  28. package/esm2022/lib/components/orders/orders.component.mjs +171 -0
  29. package/esm2022/lib/components/pagination/pagination.component.mjs +62 -0
  30. package/esm2022/lib/components/reactive-select/reactive-select.component.mjs +105 -0
  31. package/esm2022/lib/components/reports/date-picker/date-picker.component.mjs +60 -0
  32. package/esm2022/lib/components/reports/reports.component.mjs +299 -0
  33. package/esm2022/lib/components/reports/reports.interface.mjs +2 -0
  34. package/esm2022/lib/components/tango-analyse-trax/tango-analyse-trax.component.mjs +27 -6
  35. package/esm2022/lib/components/task/task.component.mjs +271 -0
  36. package/esm2022/lib/components/task-configure/task-configure.component.mjs +504 -0
  37. package/esm2022/lib/components/task-configure/task-configure.interface.mjs +2 -0
  38. package/esm2022/lib/components/task-info/task-info.component.mjs +300 -0
  39. package/esm2022/lib/components/task-info/taskinfo-edit/taskinfo-edit.component.mjs +203 -0
  40. package/esm2022/lib/components/task-layout/task-layout.component.mjs +12 -0
  41. package/esm2022/lib/components/trax-store/trax-store.component.mjs +153 -0
  42. package/esm2022/lib/components/traxpopup/traxpopup.component.mjs +67 -0
  43. package/esm2022/lib/services/trax.service.mjs +334 -0
  44. package/esm2022/lib/tango-analyse-trax-routing.module.mjs +124 -6
  45. package/esm2022/lib/tango-analyse-trax.module.mjs +147 -9
  46. package/fesm2022/tango-app-ui-analyse-trax.mjs +11512 -21
  47. package/fesm2022/tango-app-ui-analyse-trax.mjs.map +1 -1
  48. package/lib/components/action-centre/action-centre.component.d.ts +56 -0
  49. package/lib/components/activity-log/activity-log.component.d.ts +30 -0
  50. package/lib/components/add-checklist/add-checklist.component.d.ts +99 -0
  51. package/lib/components/add-task/add-task.component.d.ts +38 -0
  52. package/lib/components/checklist/checklist.component.d.ts +39 -0
  53. package/lib/components/checklist-configure/checklist-configure.component.d.ts +160 -0
  54. package/lib/components/checklistlayout/checklistlayout.component.d.ts +5 -0
  55. package/lib/components/chip-dropdown/chip-dropdown.component.d.ts +24 -0
  56. package/lib/components/create-task/create-task.component.d.ts +58 -0
  57. package/lib/components/create-task/create-task.data.d.ts +244 -0
  58. package/lib/components/create-task/create-task.interface.d.ts +147 -0
  59. package/lib/components/custom-select/custom-select.component.d.ts +35 -0
  60. package/lib/components/dashboard/dashboard.component.d.ts +77 -0
  61. package/lib/components/dashboard-info/dashboard-info.component.d.ts +102 -0
  62. package/lib/components/dashboard-info/monthlyperformance-datepicker/monthlyperformance-datepicker.component.d.ts +40 -0
  63. package/lib/components/dashboard-layout/dashboard-layout.component.d.ts +5 -0
  64. package/lib/components/export-gallery/export-gallery.component.d.ts +33 -0
  65. package/lib/components/flag-layout/flag-layout.component.d.ts +5 -0
  66. package/lib/components/flags/flags.component.d.ts +51 -0
  67. package/lib/components/flags/flags.interface.d.ts +64 -0
  68. package/lib/components/flags-info/flags-info.component.d.ts +62 -0
  69. package/lib/components/flags-info/flags-info.interface.d.ts +212 -0
  70. package/lib/components/flags-info/unattended-pie-chart/unattended-pie-chart.component.d.ts +13 -0
  71. package/lib/components/gallery/gallery.component.d.ts +126 -0
  72. package/lib/components/group-select/group-select.component.d.ts +33 -0
  73. package/lib/components/managechecklist/managechecklist.component.d.ts +32 -0
  74. package/lib/components/multi-date-datepicker/multi-date-datepicker.component.d.ts +27 -0
  75. package/lib/components/orders/orders.component.d.ts +38 -0
  76. package/lib/components/pagination/pagination.component.d.ts +16 -0
  77. package/lib/components/reactive-select/reactive-select.component.d.ts +32 -0
  78. package/lib/components/reports/date-picker/date-picker.component.d.ts +23 -0
  79. package/lib/components/reports/reports.component.d.ts +55 -0
  80. package/lib/components/reports/reports.interface.d.ts +46 -0
  81. package/lib/components/tango-analyse-trax/tango-analyse-trax.component.d.ts +10 -1
  82. package/lib/components/task/task.component.d.ts +59 -0
  83. package/lib/components/task-configure/task-configure.component.d.ts +69 -0
  84. package/lib/components/task-configure/task-configure.interface.d.ts +124 -0
  85. package/lib/components/task-info/task-info.component.d.ts +68 -0
  86. package/lib/components/task-info/taskinfo-edit/taskinfo-edit.component.d.ts +60 -0
  87. package/lib/components/task-layout/task-layout.component.d.ts +5 -0
  88. package/lib/components/trax-store/trax-store.component.d.ts +44 -0
  89. package/lib/components/traxpopup/traxpopup.component.d.ts +23 -0
  90. package/lib/services/trax.service.d.ts +107 -0
  91. package/lib/tango-analyse-trax.module.d.ts +43 -3
  92. package/package.json +1 -1
@@ -0,0 +1,67 @@
1
+ import { Component, Input } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "@ng-bootstrap/ng-bootstrap";
4
+ import * as i2 from "@angular/platform-browser";
5
+ import * as i3 from "@angular/common";
6
+ import * as i4 from "@angular/forms";
7
+ export class TraxpopupComponent {
8
+ dialogRef;
9
+ sanitizer;
10
+ requestText = '';
11
+ data;
12
+ constructor(dialogRef, sanitizer) {
13
+ this.dialogRef = dialogRef;
14
+ this.sanitizer = sanitizer;
15
+ }
16
+ ngOnInit() {
17
+ if (this.data?.user) {
18
+ this.data.user.forEach((item) => {
19
+ item.invite = true;
20
+ });
21
+ }
22
+ this.data.imagesrc = this.sanitizer.bypassSecurityTrustHtml(this.data.imagesrc);
23
+ }
24
+ closepopup() {
25
+ this.dialogRef.close();
26
+ }
27
+ deletepopup() {
28
+ this.dialogRef.close('delete');
29
+ }
30
+ duplicatepopup() {
31
+ this.dialogRef.close('duplicate');
32
+ }
33
+ confirmpopup() {
34
+ let res = (this.data.resType && this.data.resType == 'custom') ?
35
+ { status: 'confirm', data: { requestText: this.requestText } } :
36
+ 'confirm';
37
+ this.dialogRef.close(res);
38
+ }
39
+ confirmStorepopup() {
40
+ this.dialogRef.close('confirmStore');
41
+ }
42
+ activeStorepopup() {
43
+ this.dialogRef.close('activeStore');
44
+ }
45
+ skipEntries() {
46
+ this.dialogRef.close('skip');
47
+ }
48
+ invitepopup() {
49
+ let data = {
50
+ message: 'confirm',
51
+ user: this.data.user
52
+ };
53
+ this.dialogRef.close(data);
54
+ }
55
+ updateCheck(event, index) {
56
+ this.data.user[index].invite = event.target.checked;
57
+ }
58
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TraxpopupComponent, deps: [{ token: i1.NgbActiveModal }, { token: i2.DomSanitizer }], target: i0.ɵɵFactoryTarget.Component });
59
+ static ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "14.0.0", version: "17.3.12", type: TraxpopupComponent, selector: "lib-traxpopup", inputs: { data: "data" }, ngImport: i0, template: "\r\n<div class=\"text-start p-9\">\r\n <div [innerHTML]=\"data.imagesrc\"></div>\r\n <div class=\"customtitle mt-4\">\r\n {{data.title}}\r\n </div>\r\n <div class=\"content mt-4\" [innerHtml]=\"data.content\">\r\n </div>\r\n <div class=\"error mt-5 p-5 pt-0 h-auto mh-200px overflow-scroll\" *ngIf=\"data?.error\">\r\n <div class=\"mt-5\" *ngFor=\"let error of data?.error;let i =index\">\r\n <span>{{i + 1}}.&#41; {{error}}</span>\r\n </div>\r\n </div>\r\n <div class=\"subtitle storesubtitle mb-4\">\r\n {{data.subtitle}}\r\n </div>\r\n <div class=\"subtitle storesubtitle mb-3\" *ngIf=\"data?.location?.length\">\r\n <div class=\"content mb-2\">Location is required on below stores</div>\r\n {{data.location}}\r\n </div>\r\n <div class=\"subtitle storesubtitle mb-3\" *ngIf=\"data?.inactiveStores?.length\">\r\n <div class=\"content mb-2\">Inactive stores found in the csv.</div>\r\n {{data.inactiveStores}}\r\n </div>\r\n <div *ngIf=\"data.buttontype === 'Invite'\" class=\"content\" [ngClass]=\"data.user.length > 4 ? 'addScroll' : ''\">\r\n <div class=\"d-flex align-items-center position-relative mb-5\" *ngFor=\"let user of data.user;let i= index\">\r\n <div class=\"form-check form-check-custom form-check-solid mx-2 me-4\">\r\n <input class=\"form-check-input\" type=\"checkbox\" value=\"\" [checked]=\"user.invite\"\r\n (change)=\"updateCheck($event,i)\">\r\n </div>\r\n <div class=\"symbol symbol-35px symbol-circle\">\r\n <span class=\"symbol-label bg-light-primary text-primary me-2\">\r\n {{user.userName.slice(0,2)}} </span>\r\n </div>\r\n <div>\r\n <a class=\"invitemain\">{{user.userName}}</a>\r\n <div class=\"invitesub\">\r\n {{user.userEmail}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"data.input1\" class=\"mt-5\">\r\n <label *ngIf=\"data.inputlabel2\" for=\"inputmodel\" class=\"label\">{{data.inputlabel1}}</label><br>\r\n <input class=\"inputlabel\" id=\"inputmodel\" placeholder=\"{{data.placeholder1}}\" type=\"{{data.inputtype1}}\"\r\n disabled>\r\n </div>\r\n <div *ngIf=\"data.input2\" class=\"mt-5\">\r\n <label *ngIf=\"data.inputlabel2\" for=\"inputmodel\" class=\"label\">{{data.inputlabel2}}</label>\r\n <input class=\"inputlabel\" id=\"inputmodel\" placeholder=\"{{data.placeholder2}}\" [(ngModel)]=\"requestText\"\r\n type=\"{{data.inputtype2}}\">\r\n </div>\r\n <div *ngIf=\"data.buttontype === 'delete'\" class=\"d-flex text-center justify-content-between\">\r\n <button class=\"btn min-width-popup btn-outline\" (click)=\"closepopup()\">Cancel</button>\r\n <button class=\"btn min-width-popup btn-outline active btn-active-danger\" (click)=\"deletepopup()\">Delete</button>\r\n </div>\r\n <div *ngIf=\"data.buttontype === 'duplicate'\" class=\"d-flex text-center justify-content-between mt-5\">\r\n <button class=\"btn min-width-popup btn-outline\" (click)=\"closepopup()\">Cancel</button>\r\n <button class=\"btn min-width-popup btn-outline active btn-active-danger\"\r\n (click)=\"duplicatepopup()\">Duplicate</button>\r\n </div>\r\n <div *ngIf=\"data.buttontype === 'draft'\" class=\"d-flex text-center justify-content-between mt-5\">\r\n <button class=\"btn min-width-popup btn-outline\" (click)=\"closepopup()\">Cancel</button>\r\n <button class=\"btn min-width-popup btn-outline active btn-active-primary\" (click)=\"confirmpopup()\">Save As\r\n Draft</button>\r\n </div>\r\n <div *ngIf=\"data.buttontype === 'Request'\" class=\"d-flex text-center justify-content-between mt-5\">\r\n <button class=\"btn min-width-popup btn-outline\" (click)=\"closepopup()\">Cancel</button>\r\n <button class=\"btn min-width-popup btn-outline active btn-active-primary\"\r\n (click)=\"confirmpopup()\">Request</button>\r\n </div>\r\n <div *ngIf=\"data.buttontype === 'confirm'\" class=\"d-flex text-center justify-content-between mt-5\">\r\n <button class=\"btn min-width-popup btn-outline\" (click)=\"closepopup()\">Cancel</button>\r\n <button class=\"btn min-width-popup btn-outline active btn-active-primary\"\r\n (click)=\"confirmpopup()\">Confirm</button>\r\n </div>\r\n <div *ngIf=\"data.buttontype === 'Reinitiate'\" class=\"d-flex text-center justify-content-between\">\r\n <button class=\"btn min-width-popup btn-outline\" (click)=\"closepopup()\">Cancel</button>\r\n <button class=\"btn min-width-popup btn-outline active btn-active-primary\"\r\n (click)=\"confirmpopup()\">Reinitiate</button>\r\n </div>\r\n <div *ngIf=\"data.buttontype === 'Remove'\" class=\"d-flex text-center justify-content-between\">\r\n <button class=\"btn min-width-popup btn-outline\" (click)=\"closepopup()\">Cancel</button>\r\n <button class=\"btn min-width-popup btn-outline active btn-active-danger\"\r\n (click)=\"confirmpopup()\">Remove</button>\r\n </div>\r\n <div *ngIf=\"data.buttontype === 'Reupload'\" class=\"d-flex text-center justify-content-between mt-5\">\r\n <button class=\"btn min-width-popup btn-outline\" (click)=\"closepopup()\">Cancel</button>\r\n <button class=\"btn min-width-popup btn-outline active btn-active-primary\"\r\n (click)=\"confirmpopup()\">Reupload</button>\r\n </div>\r\n <div *ngIf=\"data.buttontype === 'Invite'\" class=\"d-flex text-center justify-content-between mt-8\">\r\n <button class=\"btn min-width-popup btn-outline\" (click)=\"skipEntries()\">Skip New Entries</button>\r\n <button class=\"btn min-width-popup btn-outline active btn-active-primary\" (click)=\"invitepopup()\">Invite\r\n Selected</button>\r\n </div>\r\n <div *ngIf=\"data.buttontype === 'Addstore'\" class=\"d-flex text-center justify-content-between\">\r\n <button class=\"btn min-width-popup btn-outline\" (click)=\"skipEntries()\">Skip New Entries</button>\r\n <button class=\"btn min-width-popup btn-outline active btn-active-primary\" (click)=\"confirmStorepopup()\">Add\r\n Store</button>\r\n </div>\r\n <div *ngIf=\"data.buttontype === 'Activestore'\" class=\"d-flex text-center justify-content-between\">\r\n <button class=\"btn min-width-popup btn-outline\" (click)=\"skipEntries()\">Skip New Entries</button>\r\n <button class=\"btn min-width-popup btn-outline active btn-active-primary\" (click)=\"activeStorepopup()\">Active\r\n Store</button>\r\n </div>\r\n <div *ngIf=\"data.buttontype === 'error'\" class=\"d-flex text-center justify-content-between\">\r\n <button class=\"btn min-width-popup btn-outline\" (click)=\"closepopup()\">Cancel</button>\r\n <button class=\"btn min-width-popup btn-outline active btn-active-danger\"\r\n (click)=\"dialogRef.close('reupload')\">Reupload</button>\r\n </div>\r\n</div>", styles: [".Overlay{top:0;left:0;width:100%;height:100%;z-index:200!important;position:fixed;background:#58575799}input[type=checkbox]{width:16px!important;height:16px!important;margin:5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-600, #D0D5DD)!important;box-shadow:none;font-size:.5em;text-align:center;line-height:1em;background:#fff}.form-check.form-check-solid .form-check-input:checked{background-color:var(--primary-50, #EAF8FF)!important}input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF)!important;background-color:var(--primary-50, #EAF8FF)}input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.5em;padding-left:3px;padding-top:10px;padding-right:0}.min-width-popup{min-width:47%!important}.content{color:var(--gray-500, #667085);font-family:Inter;font-size:14px;padding:0!important;font-style:normal;font-weight:400}.label{color:var(--gray-700, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}input{font-size:16px;color:var(--gray-900, #101828)}.inputlabel{width:100%;margin-top:5px;padding:10px 14px;border-radius:8px;border:1px solid var(--gray-300, #D0D5DD);background:var(--white, #FFF);box-shadow:0 1px 2px #1018280d}.inputlabel:focus{outline:1px solid var(--gray-300, #D0D5DD)!important;box-shadow:0 1px 2px #1018280d!important;border:#F9FAFB!important;outline:1px solid var(--primary-300, #6BCAFF)!important;box-shadow:0 0 0 4px #d5effe,0 1px 2px #1018280d!important;color:#101828}.popup{position:absolute;top:50%;left:50%;opacity:1;transform:translate(-50%,-50%);background:var(--white, #FFF);border-radius:12px!important;border-radius:12px;box-shadow:0 8px 8px -4px #10182808,0 20px 24px -4px #10182814;padding:30px;width:400px;height:fit-content}.btn-outline{border:1px solid lightgrey;padding:calc(.75rem + 1px) calc(1.5rem + 1px)}.fs-18px{font-size:18px;color:var(--black, #000);font-family:inter}.fw-600{font-weight:600!important}::ng-deep .mat-dialog-container{box-shadow:none;background:#fff;color:#000000de}.symbol-label{color:var(--primary-600, #00A3FF);text-align:center;font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.invitemain{color:var(--gray-700, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px}.invitesub{color:var(--gray-500, #667085);font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.subtitle{color:var(--Black, #101828);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.customtitle{color:var(--gray-900, #101828);font-family:Inter;font-size:18px;font-style:normal;font-weight:600;line-height:28px}.addScroll{height:300px;overflow-y:scroll}.storesubtitle{word-break:break-all;padding-top:.5em}::ng-deep .mat-dialog-container{display:block;padding:24px;border-radius:12px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.error{color:var(--Error-700, #B42318);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px;border-radius:8px;border:1px solid var(--Error-300, #FDA29B);background:var(--Error-25, #FFFBFA)}\n"], dependencies: [{ kind: "directive", type: i3.NgClass, selector: "[ngClass]", inputs: ["class", "ngClass"] }, { kind: "directive", type: i3.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { kind: "directive", type: i3.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { kind: "directive", type: i4.DefaultValueAccessor, selector: "input:not([type=checkbox])[formControlName],textarea[formControlName],input:not([type=checkbox])[formControl],textarea[formControl],input:not([type=checkbox])[ngModel],textarea[ngModel],[ngDefaultControl]" }, { kind: "directive", type: i4.NgControlStatus, selector: "[formControlName],[ngModel],[formControl]" }, { kind: "directive", type: i4.NgModel, selector: "[ngModel]:not([formControlName]):not([formControl])", inputs: ["name", "disabled", "ngModel", "ngModelOptions"], outputs: ["ngModelChange"], exportAs: ["ngModel"] }] });
60
+ }
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TraxpopupComponent, decorators: [{
62
+ type: Component,
63
+ args: [{ selector: 'lib-traxpopup', template: "\r\n<div class=\"text-start p-9\">\r\n <div [innerHTML]=\"data.imagesrc\"></div>\r\n <div class=\"customtitle mt-4\">\r\n {{data.title}}\r\n </div>\r\n <div class=\"content mt-4\" [innerHtml]=\"data.content\">\r\n </div>\r\n <div class=\"error mt-5 p-5 pt-0 h-auto mh-200px overflow-scroll\" *ngIf=\"data?.error\">\r\n <div class=\"mt-5\" *ngFor=\"let error of data?.error;let i =index\">\r\n <span>{{i + 1}}.&#41; {{error}}</span>\r\n </div>\r\n </div>\r\n <div class=\"subtitle storesubtitle mb-4\">\r\n {{data.subtitle}}\r\n </div>\r\n <div class=\"subtitle storesubtitle mb-3\" *ngIf=\"data?.location?.length\">\r\n <div class=\"content mb-2\">Location is required on below stores</div>\r\n {{data.location}}\r\n </div>\r\n <div class=\"subtitle storesubtitle mb-3\" *ngIf=\"data?.inactiveStores?.length\">\r\n <div class=\"content mb-2\">Inactive stores found in the csv.</div>\r\n {{data.inactiveStores}}\r\n </div>\r\n <div *ngIf=\"data.buttontype === 'Invite'\" class=\"content\" [ngClass]=\"data.user.length > 4 ? 'addScroll' : ''\">\r\n <div class=\"d-flex align-items-center position-relative mb-5\" *ngFor=\"let user of data.user;let i= index\">\r\n <div class=\"form-check form-check-custom form-check-solid mx-2 me-4\">\r\n <input class=\"form-check-input\" type=\"checkbox\" value=\"\" [checked]=\"user.invite\"\r\n (change)=\"updateCheck($event,i)\">\r\n </div>\r\n <div class=\"symbol symbol-35px symbol-circle\">\r\n <span class=\"symbol-label bg-light-primary text-primary me-2\">\r\n {{user.userName.slice(0,2)}} </span>\r\n </div>\r\n <div>\r\n <a class=\"invitemain\">{{user.userName}}</a>\r\n <div class=\"invitesub\">\r\n {{user.userEmail}}\r\n </div>\r\n </div>\r\n </div>\r\n </div>\r\n\r\n <div *ngIf=\"data.input1\" class=\"mt-5\">\r\n <label *ngIf=\"data.inputlabel2\" for=\"inputmodel\" class=\"label\">{{data.inputlabel1}}</label><br>\r\n <input class=\"inputlabel\" id=\"inputmodel\" placeholder=\"{{data.placeholder1}}\" type=\"{{data.inputtype1}}\"\r\n disabled>\r\n </div>\r\n <div *ngIf=\"data.input2\" class=\"mt-5\">\r\n <label *ngIf=\"data.inputlabel2\" for=\"inputmodel\" class=\"label\">{{data.inputlabel2}}</label>\r\n <input class=\"inputlabel\" id=\"inputmodel\" placeholder=\"{{data.placeholder2}}\" [(ngModel)]=\"requestText\"\r\n type=\"{{data.inputtype2}}\">\r\n </div>\r\n <div *ngIf=\"data.buttontype === 'delete'\" class=\"d-flex text-center justify-content-between\">\r\n <button class=\"btn min-width-popup btn-outline\" (click)=\"closepopup()\">Cancel</button>\r\n <button class=\"btn min-width-popup btn-outline active btn-active-danger\" (click)=\"deletepopup()\">Delete</button>\r\n </div>\r\n <div *ngIf=\"data.buttontype === 'duplicate'\" class=\"d-flex text-center justify-content-between mt-5\">\r\n <button class=\"btn min-width-popup btn-outline\" (click)=\"closepopup()\">Cancel</button>\r\n <button class=\"btn min-width-popup btn-outline active btn-active-danger\"\r\n (click)=\"duplicatepopup()\">Duplicate</button>\r\n </div>\r\n <div *ngIf=\"data.buttontype === 'draft'\" class=\"d-flex text-center justify-content-between mt-5\">\r\n <button class=\"btn min-width-popup btn-outline\" (click)=\"closepopup()\">Cancel</button>\r\n <button class=\"btn min-width-popup btn-outline active btn-active-primary\" (click)=\"confirmpopup()\">Save As\r\n Draft</button>\r\n </div>\r\n <div *ngIf=\"data.buttontype === 'Request'\" class=\"d-flex text-center justify-content-between mt-5\">\r\n <button class=\"btn min-width-popup btn-outline\" (click)=\"closepopup()\">Cancel</button>\r\n <button class=\"btn min-width-popup btn-outline active btn-active-primary\"\r\n (click)=\"confirmpopup()\">Request</button>\r\n </div>\r\n <div *ngIf=\"data.buttontype === 'confirm'\" class=\"d-flex text-center justify-content-between mt-5\">\r\n <button class=\"btn min-width-popup btn-outline\" (click)=\"closepopup()\">Cancel</button>\r\n <button class=\"btn min-width-popup btn-outline active btn-active-primary\"\r\n (click)=\"confirmpopup()\">Confirm</button>\r\n </div>\r\n <div *ngIf=\"data.buttontype === 'Reinitiate'\" class=\"d-flex text-center justify-content-between\">\r\n <button class=\"btn min-width-popup btn-outline\" (click)=\"closepopup()\">Cancel</button>\r\n <button class=\"btn min-width-popup btn-outline active btn-active-primary\"\r\n (click)=\"confirmpopup()\">Reinitiate</button>\r\n </div>\r\n <div *ngIf=\"data.buttontype === 'Remove'\" class=\"d-flex text-center justify-content-between\">\r\n <button class=\"btn min-width-popup btn-outline\" (click)=\"closepopup()\">Cancel</button>\r\n <button class=\"btn min-width-popup btn-outline active btn-active-danger\"\r\n (click)=\"confirmpopup()\">Remove</button>\r\n </div>\r\n <div *ngIf=\"data.buttontype === 'Reupload'\" class=\"d-flex text-center justify-content-between mt-5\">\r\n <button class=\"btn min-width-popup btn-outline\" (click)=\"closepopup()\">Cancel</button>\r\n <button class=\"btn min-width-popup btn-outline active btn-active-primary\"\r\n (click)=\"confirmpopup()\">Reupload</button>\r\n </div>\r\n <div *ngIf=\"data.buttontype === 'Invite'\" class=\"d-flex text-center justify-content-between mt-8\">\r\n <button class=\"btn min-width-popup btn-outline\" (click)=\"skipEntries()\">Skip New Entries</button>\r\n <button class=\"btn min-width-popup btn-outline active btn-active-primary\" (click)=\"invitepopup()\">Invite\r\n Selected</button>\r\n </div>\r\n <div *ngIf=\"data.buttontype === 'Addstore'\" class=\"d-flex text-center justify-content-between\">\r\n <button class=\"btn min-width-popup btn-outline\" (click)=\"skipEntries()\">Skip New Entries</button>\r\n <button class=\"btn min-width-popup btn-outline active btn-active-primary\" (click)=\"confirmStorepopup()\">Add\r\n Store</button>\r\n </div>\r\n <div *ngIf=\"data.buttontype === 'Activestore'\" class=\"d-flex text-center justify-content-between\">\r\n <button class=\"btn min-width-popup btn-outline\" (click)=\"skipEntries()\">Skip New Entries</button>\r\n <button class=\"btn min-width-popup btn-outline active btn-active-primary\" (click)=\"activeStorepopup()\">Active\r\n Store</button>\r\n </div>\r\n <div *ngIf=\"data.buttontype === 'error'\" class=\"d-flex text-center justify-content-between\">\r\n <button class=\"btn min-width-popup btn-outline\" (click)=\"closepopup()\">Cancel</button>\r\n <button class=\"btn min-width-popup btn-outline active btn-active-danger\"\r\n (click)=\"dialogRef.close('reupload')\">Reupload</button>\r\n </div>\r\n</div>", styles: [".Overlay{top:0;left:0;width:100%;height:100%;z-index:200!important;position:fixed;background:#58575799}input[type=checkbox]{width:16px!important;height:16px!important;margin:5px;border-radius:4px!important;-webkit-appearance:none;-moz-appearance:none;-o-appearance:none;appearance:none;outline:1px solid var(--gray-600, #D0D5DD)!important;box-shadow:none;font-size:.5em;text-align:center;line-height:1em;background:#fff}.form-check.form-check-solid .form-check-input:checked{background-color:var(--primary-50, #EAF8FF)!important}input[type=checkbox]:checked{outline:1px solid var(--primary-600, #00A3FF)!important;background-color:var(--primary-50, #EAF8FF)}input[type=checkbox]:checked:after{content:\"\";transform:rotate(45deg);border-bottom:2px solid #00A3FF;border-right:2px solid #00A3FF;display:inline-block;width:.5em;padding-left:3px;padding-top:10px;padding-right:0}.min-width-popup{min-width:47%!important}.content{color:var(--gray-500, #667085);font-family:Inter;font-size:14px;padding:0!important;font-style:normal;font-weight:400}.label{color:var(--gray-700, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}input{font-size:16px;color:var(--gray-900, #101828)}.inputlabel{width:100%;margin-top:5px;padding:10px 14px;border-radius:8px;border:1px solid var(--gray-300, #D0D5DD);background:var(--white, #FFF);box-shadow:0 1px 2px #1018280d}.inputlabel:focus{outline:1px solid var(--gray-300, #D0D5DD)!important;box-shadow:0 1px 2px #1018280d!important;border:#F9FAFB!important;outline:1px solid var(--primary-300, #6BCAFF)!important;box-shadow:0 0 0 4px #d5effe,0 1px 2px #1018280d!important;color:#101828}.popup{position:absolute;top:50%;left:50%;opacity:1;transform:translate(-50%,-50%);background:var(--white, #FFF);border-radius:12px!important;border-radius:12px;box-shadow:0 8px 8px -4px #10182808,0 20px 24px -4px #10182814;padding:30px;width:400px;height:fit-content}.btn-outline{border:1px solid lightgrey;padding:calc(.75rem + 1px) calc(1.5rem + 1px)}.fs-18px{font-size:18px;color:var(--black, #000);font-family:inter}.fw-600{font-weight:600!important}::ng-deep .mat-dialog-container{box-shadow:none;background:#fff;color:#000000de}.symbol-label{color:var(--primary-600, #00A3FF);text-align:center;font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.invitemain{color:var(--gray-700, #344054);font-family:Inter;font-size:14px;font-style:normal;font-weight:600;line-height:20px}.invitesub{color:var(--gray-500, #667085);font-family:Inter;font-size:14px;font-style:normal;font-weight:400;line-height:20px}.subtitle{color:var(--Black, #101828);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px}.customtitle{color:var(--gray-900, #101828);font-family:Inter;font-size:18px;font-style:normal;font-weight:600;line-height:28px}.addScroll{height:300px;overflow-y:scroll}.storesubtitle{word-break:break-all;padding-top:.5em}::ng-deep .mat-dialog-container{display:block;padding:24px;border-radius:12px;box-sizing:border-box;overflow:auto;outline:0;width:100%;height:100%;min-height:inherit;max-height:inherit}.error{color:var(--Error-700, #B42318);font-family:Inter;font-size:14px;font-style:normal;font-weight:500;line-height:20px;border-radius:8px;border:1px solid var(--Error-300, #FDA29B);background:var(--Error-25, #FFFBFA)}\n"] }]
64
+ }], ctorParameters: () => [{ type: i1.NgbActiveModal }, { type: i2.DomSanitizer }], propDecorators: { data: [{
65
+ type: Input
66
+ }] } });
67
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJheHBvcHVwLmNvbXBvbmVudC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL3RhbmdvLWFuYWx5c2UtdHJheC9zcmMvbGliL2NvbXBvbmVudHMvdHJheHBvcHVwL3RyYXhwb3B1cC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy90YW5nby1hbmFseXNlLXRyYXgvc3JjL2xpYi9jb21wb25lbnRzL3RyYXhwb3B1cC90cmF4cG9wdXAuY29tcG9uZW50Lmh0bWwiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFNBQVMsRUFBRSxLQUFLLEVBQVUsTUFBTSxlQUFlLENBQUM7Ozs7OztBQVN6RCxNQUFNLE9BQU8sa0JBQWtCO0lBR1Q7SUFBa0M7SUFGdEQsV0FBVyxHQUFXLEVBQUUsQ0FBQztJQUNoQixJQUFJLENBQUs7SUFDbEIsWUFBb0IsU0FBeUIsRUFBUyxTQUF1QjtRQUF6RCxjQUFTLEdBQVQsU0FBUyxDQUFnQjtRQUFTLGNBQVMsR0FBVCxTQUFTLENBQWM7SUFBSSxDQUFDO0lBRWxGLFFBQVE7UUFDTixJQUFHLElBQUksQ0FBQyxJQUFJLEVBQUUsSUFBSSxFQUFFO1lBQ2xCLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLE9BQU8sQ0FBQyxDQUFDLElBQVEsRUFBRSxFQUFFO2dCQUNuQyxJQUFJLENBQUMsTUFBTSxHQUFHLElBQUksQ0FBQTtZQUNuQixDQUFDLENBQUMsQ0FBQTtTQUNKO1FBQ0EsSUFBSSxDQUFDLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFNBQVMsQ0FBQyx1QkFBdUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2xGLENBQUM7SUFFRCxVQUFVO1FBQ1IsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLEVBQUUsQ0FBQztJQUN6QixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLFFBQVEsQ0FBQyxDQUFDO0lBQ2pDLENBQUM7SUFFRCxjQUFjO1FBQ1osSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsV0FBVyxDQUFDLENBQUM7SUFDcEMsQ0FBQztJQUVELFlBQVk7UUFDVixJQUFJLEdBQUcsR0FDUCxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxJQUFJLENBQUMsT0FBTyxJQUFJLFFBQVEsQ0FBQyxDQUFDLENBQUM7WUFDcEQsRUFBQyxNQUFNLEVBQUUsU0FBUyxFQUFDLElBQUksRUFBRSxFQUFDLFdBQVcsRUFBRSxJQUFJLENBQUMsV0FBVyxFQUFDLEVBQUMsQ0FBQyxDQUFDO1lBQzNELFNBQVMsQ0FBQztRQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsS0FBSyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQzVCLENBQUM7SUFFRCxpQkFBaUI7UUFDZixJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxjQUFjLENBQUMsQ0FBQztJQUN2QyxDQUFDO0lBRUQsZ0JBQWdCO1FBQ2QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsYUFBYSxDQUFDLENBQUM7SUFDdEMsQ0FBQztJQUVELFdBQVc7UUFDVCxJQUFJLENBQUMsU0FBUyxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQUMsQ0FBQztJQUMvQixDQUFDO0lBRUQsV0FBVztRQUNULElBQUksSUFBSSxHQUFHO1lBQ1QsT0FBTyxFQUFDLFNBQVM7WUFDakIsSUFBSSxFQUFFLElBQUksQ0FBQyxJQUFJLENBQUMsSUFBSTtTQUNyQixDQUFBO1FBQ0QsSUFBSSxDQUFDLFNBQVMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLENBQUE7SUFDNUIsQ0FBQztJQUVELFdBQVcsQ0FBQyxLQUFTLEVBQUMsS0FBUztRQUM3QixJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxNQUFNLEdBQUcsS0FBSyxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUM7SUFDdEQsQ0FBQzt3R0F4RFUsa0JBQWtCOzRGQUFsQixrQkFBa0IsK0VDVC9CLDRqT0FnSE07OzRGRHZHTyxrQkFBa0I7a0JBTDlCLFNBQVM7K0JBQ0UsZUFBZTs4R0FNaEIsSUFBSTtzQkFBWixLQUFLIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tcG9uZW50LCBJbnB1dCwgT25Jbml0IH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IE5nYkFjdGl2ZU1vZGFsIH0gZnJvbSAnQG5nLWJvb3RzdHJhcC9uZy1ib290c3RyYXAnO1xyXG5pbXBvcnQgeyBEb21TYW5pdGl6ZXIsIFNhZmVIdG1sIH0gZnJvbSAnQGFuZ3VsYXIvcGxhdGZvcm0tYnJvd3Nlcic7XHJcblxyXG5AQ29tcG9uZW50KHtcclxuICBzZWxlY3RvcjogJ2xpYi10cmF4cG9wdXAnLFxyXG4gIHRlbXBsYXRlVXJsOiAnLi90cmF4cG9wdXAuY29tcG9uZW50Lmh0bWwnLFxyXG4gIHN0eWxlVXJsOiAnLi90cmF4cG9wdXAuY29tcG9uZW50LnNjc3MnXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBUcmF4cG9wdXBDb21wb25lbnQgaW1wbGVtZW50cyBPbkluaXQge1xyXG4gIHJlcXVlc3RUZXh0OiBzdHJpbmcgPSAnJztcclxuICBASW5wdXQoKSBkYXRhOmFueTtcclxuICBjb25zdHJ1Y3RvciggcHVibGljIGRpYWxvZ1JlZjogTmdiQWN0aXZlTW9kYWwscHJpdmF0ZSBzYW5pdGl6ZXI6IERvbVNhbml0aXplcikgeyB9XHJcblxyXG4gIG5nT25Jbml0KCk6IHZvaWQge1xyXG4gICAgaWYodGhpcy5kYXRhPy51c2VyKSB7XHJcbiAgICAgIHRoaXMuZGF0YS51c2VyLmZvckVhY2goKGl0ZW06YW55KSA9PntcclxuICAgICAgIGl0ZW0uaW52aXRlID0gdHJ1ZVxyXG4gICAgICB9KVxyXG4gICB9XHJcbiAgICB0aGlzLmRhdGEuaW1hZ2VzcmMgPSB0aGlzLnNhbml0aXplci5ieXBhc3NTZWN1cml0eVRydXN0SHRtbCh0aGlzLmRhdGEuaW1hZ2VzcmMpO1xyXG4gIH1cclxuXHJcbiAgY2xvc2Vwb3B1cCgpe1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoKTtcclxuICB9XHJcblxyXG4gIGRlbGV0ZXBvcHVwKCl7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgnZGVsZXRlJyk7XHJcbiAgfVxyXG5cclxuICBkdXBsaWNhdGVwb3B1cCgpe1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoJ2R1cGxpY2F0ZScpO1xyXG4gIH1cclxuXHJcbiAgY29uZmlybXBvcHVwKCkge1xyXG4gICAgbGV0IHJlczogYW55ID0gXHJcbiAgICAodGhpcy5kYXRhLnJlc1R5cGUgJiYgdGhpcy5kYXRhLnJlc1R5cGUgPT0gJ2N1c3RvbScpID8gXHJcbiAgICAgIHtzdGF0dXM6ICdjb25maXJtJyxkYXRhOiB7cmVxdWVzdFRleHQ6IHRoaXMucmVxdWVzdFRleHR9fSA6IFxyXG4gICAgICAnY29uZmlybSc7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZShyZXMpO1xyXG4gIH1cclxuXHJcbiAgY29uZmlybVN0b3JlcG9wdXAoKSB7XHJcbiAgICB0aGlzLmRpYWxvZ1JlZi5jbG9zZSgnY29uZmlybVN0b3JlJyk7XHJcbiAgfVxyXG5cclxuICBhY3RpdmVTdG9yZXBvcHVwKCkge1xyXG4gICAgdGhpcy5kaWFsb2dSZWYuY2xvc2UoJ2FjdGl2ZVN0b3JlJyk7XHJcbiAgfVxyXG5cclxuICBza2lwRW50cmllcygpIHtcclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKCdza2lwJyk7XHJcbiAgfVxyXG5cclxuICBpbnZpdGVwb3B1cCgpIHtcclxuICAgIGxldCBkYXRhID0ge1xyXG4gICAgICBtZXNzYWdlOidjb25maXJtJyxcclxuICAgICAgdXNlcjogdGhpcy5kYXRhLnVzZXJcclxuICAgIH1cclxuICAgIHRoaXMuZGlhbG9nUmVmLmNsb3NlKGRhdGEpXHJcbiAgfVxyXG4gIFxyXG4gIHVwZGF0ZUNoZWNrKGV2ZW50OmFueSxpbmRleDphbnkpIHtcclxuICAgIHRoaXMuZGF0YS51c2VyW2luZGV4XS5pbnZpdGUgPSBldmVudC50YXJnZXQuY2hlY2tlZDtcclxuICB9XHJcbn1cclxuIiwiXHJcbjxkaXYgY2xhc3M9XCJ0ZXh0LXN0YXJ0IHAtOVwiPlxyXG4gICAgPGRpdiBbaW5uZXJIVE1MXT1cImRhdGEuaW1hZ2VzcmNcIj48L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjdXN0b210aXRsZSAgbXQtNFwiPlxyXG4gICAgICAgIHt7ZGF0YS50aXRsZX19XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgY2xhc3M9XCJjb250ZW50IG10LTRcIiBbaW5uZXJIdG1sXT1cImRhdGEuY29udGVudFwiPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwiZXJyb3IgbXQtNSBwLTUgcHQtMCBoLWF1dG8gbWgtMjAwcHggb3ZlcmZsb3ctc2Nyb2xsXCIgKm5nSWY9XCJkYXRhPy5lcnJvclwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJtdC01XCIgKm5nRm9yPVwibGV0IGVycm9yIG9mIGRhdGE/LmVycm9yO2xldCBpID1pbmRleFwiPlxyXG4gICAgICAgICAgICA8c3Bhbj57e2kgKyAxfX0uJiM0MTsge3tlcnJvcn19PC9zcGFuPlxyXG4gICAgICAgIDwvZGl2PlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwic3VidGl0bGUgc3RvcmVzdWJ0aXRsZSBtYi00XCI+XHJcbiAgICAgICAge3tkYXRhLnN1YnRpdGxlfX1cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiBjbGFzcz1cInN1YnRpdGxlIHN0b3Jlc3VidGl0bGUgbWItM1wiICpuZ0lmPVwiZGF0YT8ubG9jYXRpb24/Lmxlbmd0aFwiPlxyXG4gICAgICAgIDxkaXYgY2xhc3M9XCJjb250ZW50IG1iLTJcIj5Mb2NhdGlvbiBpcyByZXF1aXJlZCBvbiBiZWxvdyBzdG9yZXM8L2Rpdj5cclxuICAgICAgICB7e2RhdGEubG9jYXRpb259fVxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2IGNsYXNzPVwic3VidGl0bGUgc3RvcmVzdWJ0aXRsZSBtYi0zXCIgKm5nSWY9XCJkYXRhPy5pbmFjdGl2ZVN0b3Jlcz8ubGVuZ3RoXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImNvbnRlbnQgbWItMlwiPkluYWN0aXZlIHN0b3JlcyBmb3VuZCBpbiB0aGUgY3N2LjwvZGl2PlxyXG4gICAgICAgIHt7ZGF0YS5pbmFjdGl2ZVN0b3Jlc319XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJkYXRhLmJ1dHRvbnR5cGUgPT09ICdJbnZpdGUnXCIgY2xhc3M9XCJjb250ZW50XCIgW25nQ2xhc3NdPVwiZGF0YS51c2VyLmxlbmd0aCA+IDQgPyAnYWRkU2Nyb2xsJyA6ICcnXCI+XHJcbiAgICAgICAgPGRpdiBjbGFzcz1cImQtZmxleCBhbGlnbi1pdGVtcy1jZW50ZXIgcG9zaXRpb24tcmVsYXRpdmUgbWItNVwiICpuZ0Zvcj1cImxldCB1c2VyIG9mIGRhdGEudXNlcjtsZXQgaT0gaW5kZXhcIj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cImZvcm0tY2hlY2sgZm9ybS1jaGVjay1jdXN0b20gZm9ybS1jaGVjay1zb2xpZCBteC0yIG1lLTRcIj5cclxuICAgICAgICAgICAgICAgIDxpbnB1dCBjbGFzcz1cImZvcm0tY2hlY2staW5wdXRcIiB0eXBlPVwiY2hlY2tib3hcIiB2YWx1ZT1cIlwiIFtjaGVja2VkXT1cInVzZXIuaW52aXRlXCJcclxuICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cInVwZGF0ZUNoZWNrKCRldmVudCxpKVwiPlxyXG4gICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPGRpdiBjbGFzcz1cInN5bWJvbCBzeW1ib2wtMzVweCBzeW1ib2wtY2lyY2xlXCI+XHJcbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzcz1cInN5bWJvbC1sYWJlbCBiZy1saWdodC1wcmltYXJ5IHRleHQtcHJpbWFyeSBtZS0yXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3t1c2VyLnVzZXJOYW1lLnNsaWNlKDAsMil9fSA8L3NwYW4+XHJcbiAgICAgICAgICAgIDwvZGl2PlxyXG4gICAgICAgICAgICA8ZGl2PlxyXG4gICAgICAgICAgICAgICAgPGEgY2xhc3M9XCJpbnZpdGVtYWluXCI+e3t1c2VyLnVzZXJOYW1lfX08L2E+XHJcbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwiaW52aXRlc3ViXCI+XHJcbiAgICAgICAgICAgICAgICAgICAge3t1c2VyLnVzZXJFbWFpbH19XHJcbiAgICAgICAgICAgICAgICA8L2Rpdj5cclxuICAgICAgICAgICAgPC9kaXY+XHJcbiAgICAgICAgPC9kaXY+XHJcbiAgICA8L2Rpdj5cclxuXHJcbiAgICA8ZGl2ICpuZ0lmPVwiZGF0YS5pbnB1dDFcIiBjbGFzcz1cIm10LTVcIj5cclxuICAgICAgICA8bGFiZWwgKm5nSWY9XCJkYXRhLmlucHV0bGFiZWwyXCIgZm9yPVwiaW5wdXRtb2RlbFwiIGNsYXNzPVwibGFiZWxcIj57e2RhdGEuaW5wdXRsYWJlbDF9fTwvbGFiZWw+PGJyPlxyXG4gICAgICAgIDxpbnB1dCBjbGFzcz1cImlucHV0bGFiZWxcIiBpZD1cImlucHV0bW9kZWxcIiBwbGFjZWhvbGRlcj1cInt7ZGF0YS5wbGFjZWhvbGRlcjF9fVwiIHR5cGU9XCJ7e2RhdGEuaW5wdXR0eXBlMX19XCJcclxuICAgICAgICAgICAgZGlzYWJsZWQ+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJkYXRhLmlucHV0MlwiIGNsYXNzPVwibXQtNVwiPlxyXG4gICAgICAgIDxsYWJlbCAqbmdJZj1cImRhdGEuaW5wdXRsYWJlbDJcIiBmb3I9XCJpbnB1dG1vZGVsXCIgY2xhc3M9XCJsYWJlbFwiPnt7ZGF0YS5pbnB1dGxhYmVsMn19PC9sYWJlbD5cclxuICAgICAgICA8aW5wdXQgY2xhc3M9XCJpbnB1dGxhYmVsXCIgaWQ9XCJpbnB1dG1vZGVsXCIgcGxhY2Vob2xkZXI9XCJ7e2RhdGEucGxhY2Vob2xkZXIyfX1cIiBbKG5nTW9kZWwpXT1cInJlcXVlc3RUZXh0XCJcclxuICAgICAgICAgICAgdHlwZT1cInt7ZGF0YS5pbnB1dHR5cGUyfX1cIj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cImRhdGEuYnV0dG9udHlwZSA9PT0gJ2RlbGV0ZSdcIiBjbGFzcz1cImQtZmxleCB0ZXh0LWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gbWluLXdpZHRoLXBvcHVwIGJ0bi1vdXRsaW5lXCIgKGNsaWNrKT1cImNsb3NlcG9wdXAoKVwiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gbWluLXdpZHRoLXBvcHVwIGJ0bi1vdXRsaW5lIGFjdGl2ZSBidG4tYWN0aXZlLWRhbmdlclwiIChjbGljayk9XCJkZWxldGVwb3B1cCgpXCI+RGVsZXRlPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJkYXRhLmJ1dHRvbnR5cGUgPT09ICdkdXBsaWNhdGUnXCIgY2xhc3M9XCJkLWZsZXggdGV4dC1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW4gbXQtNVwiPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gbWluLXdpZHRoLXBvcHVwIGJ0bi1vdXRsaW5lXCIgKGNsaWNrKT1cImNsb3NlcG9wdXAoKVwiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gbWluLXdpZHRoLXBvcHVwIGJ0bi1vdXRsaW5lIGFjdGl2ZSBidG4tYWN0aXZlLWRhbmdlclwiXHJcbiAgICAgICAgICAgIChjbGljayk9XCJkdXBsaWNhdGVwb3B1cCgpXCI+RHVwbGljYXRlPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJkYXRhLmJ1dHRvbnR5cGUgPT09ICdkcmFmdCdcIiBjbGFzcz1cImQtZmxleCB0ZXh0LWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtdC01XCI+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBtaW4td2lkdGgtcG9wdXAgYnRuLW91dGxpbmVcIiAoY2xpY2spPVwiY2xvc2Vwb3B1cCgpXCI+Q2FuY2VsPC9idXR0b24+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBtaW4td2lkdGgtcG9wdXAgYnRuLW91dGxpbmUgYWN0aXZlIGJ0bi1hY3RpdmUtcHJpbWFyeVwiIChjbGljayk9XCJjb25maXJtcG9wdXAoKVwiPlNhdmUgQXNcclxuICAgICAgICAgICAgRHJhZnQ8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cImRhdGEuYnV0dG9udHlwZSA9PT0gJ1JlcXVlc3QnXCIgY2xhc3M9XCJkLWZsZXggdGV4dC1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW4gbXQtNVwiPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gbWluLXdpZHRoLXBvcHVwIGJ0bi1vdXRsaW5lXCIgKGNsaWNrKT1cImNsb3NlcG9wdXAoKVwiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gbWluLXdpZHRoLXBvcHVwIGJ0bi1vdXRsaW5lIGFjdGl2ZSBidG4tYWN0aXZlLXByaW1hcnlcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiY29uZmlybXBvcHVwKClcIj5SZXF1ZXN0PC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJkYXRhLmJ1dHRvbnR5cGUgPT09ICdjb25maXJtJ1wiIGNsYXNzPVwiZC1mbGV4IHRleHQtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIG10LTVcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIG1pbi13aWR0aC1wb3B1cCBidG4tb3V0bGluZVwiIChjbGljayk9XCJjbG9zZXBvcHVwKClcIj5DYW5jZWw8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIG1pbi13aWR0aC1wb3B1cCBidG4tb3V0bGluZSBhY3RpdmUgYnRuLWFjdGl2ZS1wcmltYXJ5XCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImNvbmZpcm1wb3B1cCgpXCI+Q29uZmlybTwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiZGF0YS5idXR0b250eXBlID09PSAnUmVpbml0aWF0ZSdcIiBjbGFzcz1cImQtZmxleCB0ZXh0LWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gbWluLXdpZHRoLXBvcHVwIGJ0bi1vdXRsaW5lXCIgKGNsaWNrKT1cImNsb3NlcG9wdXAoKVwiPkNhbmNlbDwvYnV0dG9uPlxyXG4gICAgICAgIDxidXR0b24gY2xhc3M9XCJidG4gbWluLXdpZHRoLXBvcHVwIGJ0bi1vdXRsaW5lIGFjdGl2ZSBidG4tYWN0aXZlLXByaW1hcnlcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiY29uZmlybXBvcHVwKClcIj5SZWluaXRpYXRlPC9idXR0b24+XHJcbiAgICA8L2Rpdj5cclxuICAgIDxkaXYgKm5nSWY9XCJkYXRhLmJ1dHRvbnR5cGUgPT09ICdSZW1vdmUnXCIgY2xhc3M9XCJkLWZsZXggdGV4dC1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIG1pbi13aWR0aC1wb3B1cCBidG4tb3V0bGluZVwiIChjbGljayk9XCJjbG9zZXBvcHVwKClcIj5DYW5jZWw8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIG1pbi13aWR0aC1wb3B1cCBidG4tb3V0bGluZSBhY3RpdmUgYnRuLWFjdGl2ZS1kYW5nZXJcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiY29uZmlybXBvcHVwKClcIj5SZW1vdmU8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cImRhdGEuYnV0dG9udHlwZSA9PT0gJ1JldXBsb2FkJ1wiIGNsYXNzPVwiZC1mbGV4IHRleHQtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuIG10LTVcIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIG1pbi13aWR0aC1wb3B1cCBidG4tb3V0bGluZVwiIChjbGljayk9XCJjbG9zZXBvcHVwKClcIj5DYW5jZWw8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIG1pbi13aWR0aC1wb3B1cCBidG4tb3V0bGluZSBhY3RpdmUgYnRuLWFjdGl2ZS1wcmltYXJ5XCJcclxuICAgICAgICAgICAgKGNsaWNrKT1cImNvbmZpcm1wb3B1cCgpXCI+UmV1cGxvYWQ8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cImRhdGEuYnV0dG9udHlwZSA9PT0gJ0ludml0ZSdcIiBjbGFzcz1cImQtZmxleCB0ZXh0LWNlbnRlciBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlbiBtdC04XCI+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBtaW4td2lkdGgtcG9wdXAgYnRuLW91dGxpbmVcIiAoY2xpY2spPVwic2tpcEVudHJpZXMoKVwiPlNraXAgTmV3IEVudHJpZXM8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIG1pbi13aWR0aC1wb3B1cCBidG4tb3V0bGluZSBhY3RpdmUgYnRuLWFjdGl2ZS1wcmltYXJ5XCIgKGNsaWNrKT1cImludml0ZXBvcHVwKClcIj5JbnZpdGVcclxuICAgICAgICAgICAgU2VsZWN0ZWQ8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cImRhdGEuYnV0dG9udHlwZSA9PT0gJ0FkZHN0b3JlJ1wiIGNsYXNzPVwiZC1mbGV4IHRleHQtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBtaW4td2lkdGgtcG9wdXAgYnRuLW91dGxpbmVcIiAoY2xpY2spPVwic2tpcEVudHJpZXMoKVwiPlNraXAgTmV3IEVudHJpZXM8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIG1pbi13aWR0aC1wb3B1cCBidG4tb3V0bGluZSBhY3RpdmUgYnRuLWFjdGl2ZS1wcmltYXJ5XCIgKGNsaWNrKT1cImNvbmZpcm1TdG9yZXBvcHVwKClcIj5BZGRcclxuICAgICAgICAgICAgU3RvcmU8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG4gICAgPGRpdiAqbmdJZj1cImRhdGEuYnV0dG9udHlwZSA9PT0gJ0FjdGl2ZXN0b3JlJ1wiIGNsYXNzPVwiZC1mbGV4IHRleHQtY2VudGVyIGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XHJcbiAgICAgICAgPGJ1dHRvbiBjbGFzcz1cImJ0biBtaW4td2lkdGgtcG9wdXAgYnRuLW91dGxpbmVcIiAoY2xpY2spPVwic2tpcEVudHJpZXMoKVwiPlNraXAgTmV3IEVudHJpZXM8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIG1pbi13aWR0aC1wb3B1cCBidG4tb3V0bGluZSBhY3RpdmUgYnRuLWFjdGl2ZS1wcmltYXJ5XCIgKGNsaWNrKT1cImFjdGl2ZVN0b3JlcG9wdXAoKVwiPkFjdGl2ZVxyXG4gICAgICAgICAgICBTdG9yZTwvYnV0dG9uPlxyXG4gICAgPC9kaXY+XHJcbiAgICA8ZGl2ICpuZ0lmPVwiZGF0YS5idXR0b250eXBlID09PSAnZXJyb3InXCIgY2xhc3M9XCJkLWZsZXggdGV4dC1jZW50ZXIganVzdGlmeS1jb250ZW50LWJldHdlZW5cIj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIG1pbi13aWR0aC1wb3B1cCBidG4tb3V0bGluZVwiIChjbGljayk9XCJjbG9zZXBvcHVwKClcIj5DYW5jZWw8L2J1dHRvbj5cclxuICAgICAgICA8YnV0dG9uIGNsYXNzPVwiYnRuIG1pbi13aWR0aC1wb3B1cCBidG4tb3V0bGluZSBhY3RpdmUgYnRuLWFjdGl2ZS1kYW5nZXJcIlxyXG4gICAgICAgICAgICAoY2xpY2spPVwiZGlhbG9nUmVmLmNsb3NlKCdyZXVwbG9hZCcpXCI+UmV1cGxvYWQ8L2J1dHRvbj5cclxuICAgIDwvZGl2PlxyXG48L2Rpdj4iXX0=
@@ -0,0 +1,334 @@
1
+ import { HttpParams } from '@angular/common/http';
2
+ import { Injectable, } from '@angular/core';
3
+ import { BehaviorSubject, Subject, takeUntil } from 'rxjs';
4
+ import * as FileSaver from 'file-saver';
5
+ import * as XLSX from 'xlsx';
6
+ import * as i0 from "@angular/core";
7
+ import * as i1 from "@angular/common/http";
8
+ import * as i2 from "tango-app-ui-global";
9
+ const EXCEL_TYPE = 'application/vnd.openxmlformats-officedocument.spreadsheetml.sheet;charset=UTF-8';
10
+ const EXCEL_EXTENSION = '.xlsx';
11
+ const CSV_TYPE = 'text/csv;charset=utf-8';
12
+ const CSV_EXTENSION = '.csv';
13
+ export class TraxService {
14
+ http;
15
+ gs;
16
+ traxUrl;
17
+ storeUrl;
18
+ galleryApiUrl;
19
+ dropDownTrigger = new BehaviorSubject(null);
20
+ reloadDataSubject = new BehaviorSubject(false);
21
+ reloadData$ = this.reloadDataSubject.asObservable();
22
+ // openedDropdowns:string[] = []
23
+ dropdownCloseTrigger = new BehaviorSubject('');
24
+ clientAPiUrl;
25
+ trafficApiUrl;
26
+ traxTaskUrl;
27
+ constructor(http, gs) {
28
+ this.http = http;
29
+ this.gs = gs;
30
+ this.gs.environment.pipe(takeUntil(this.destroy$)).subscribe((env) => {
31
+ if (env) {
32
+ this.traxUrl = env.traxUrl;
33
+ this.storeUrl = env.storeApiUrl;
34
+ this.galleryApiUrl = env.galleryApiUrl;
35
+ this.clientAPiUrl = env.clientApiUrl;
36
+ this.trafficApiUrl = env.trafficApiUrl;
37
+ this.traxTaskUrl = env.traxTaskUrl;
38
+ }
39
+ });
40
+ }
41
+ triggerReload() {
42
+ this.reloadDataSubject.next(true);
43
+ }
44
+ exportAsExcelFile(json, excelFileName) {
45
+ const worksheet = XLSX.utils.json_to_sheet(json);
46
+ const workbook = { Sheets: { 'data': worksheet }, SheetNames: ['data'] };
47
+ const excelBuffer = XLSX.write(workbook, { bookType: 'xlsx', type: 'array' });
48
+ this.saveAsExcelFile(excelBuffer, excelFileName);
49
+ }
50
+ saveAsExcelFile(buffer, fileName) {
51
+ const data = new Blob([buffer], {
52
+ type: EXCEL_TYPE
53
+ });
54
+ FileSaver.saveAs(data, fileName + 'list' + EXCEL_EXTENSION);
55
+ }
56
+ saveAsTemplate(buffer, fileName) {
57
+ const data = new Blob([buffer], {
58
+ type: EXCEL_TYPE
59
+ });
60
+ FileSaver.saveAs(data, fileName + EXCEL_EXTENSION);
61
+ }
62
+ destroy$ = new Subject();
63
+ ngOnDestroy() {
64
+ this.destroy$.next(true);
65
+ this.destroy$.complete();
66
+ }
67
+ getSummaryTableData(data) {
68
+ return this.http.post(`${this.traxUrl}/zoneSummaryTable_v2`, data);
69
+ }
70
+ getchecklist(data) {
71
+ return this.http.post(`${this.galleryApiUrl}/getchecklist`, data);
72
+ }
73
+ getMobUsagelist(data) {
74
+ return this.http.post(`${this.galleryApiUrl}/getMobileUseagelist`, data);
75
+ }
76
+ getcustomerunattendedlist(data) {
77
+ return this.http.post(`${this.galleryApiUrl}/getcustomerunattendedlist`, data);
78
+ }
79
+ storeOpencloselist(data) {
80
+ return this.http.post(`${this.galleryApiUrl}/storeOpencloselist`, data);
81
+ }
82
+ getSummaryTableExport(data) {
83
+ return this.http.post(`${this.traxUrl}/zoneSummaryTable_v2`, data, { responseType: 'arraybuffer' });
84
+ }
85
+ checklist(obj) {
86
+ return this.http.get(`${this.traxUrl}/checklist?limit=${obj.limit}&offset=${obj.offset}&sortColumnName=${obj.sortColumn}&search=${obj.search}&sortBy=${obj.sortBy}&clientId=${obj.clientId}`);
87
+ }
88
+ imageupload(users) {
89
+ return this.http.post(`${this.traxUrl}/upload`, users);
90
+ }
91
+ validateUser(users) {
92
+ return this.http.post(`${this.traxUrl}/validateUser`, users);
93
+ }
94
+ getupdatechecklist(id, data) {
95
+ return this.http.put(`${this.traxUrl}/checklist/update/${id}`, data);
96
+ }
97
+ createchecklist(data) {
98
+ return this.http.post(`${this.traxUrl}/checklist/create`, data);
99
+ }
100
+ configUpdate(obj) {
101
+ return this.http.post(`${this.traxUrl}/checklistConfigure`, obj);
102
+ }
103
+ getconfig(obj) {
104
+ let key = Object.keys(obj)[0];
105
+ let value = obj[Object.keys(obj)[0]];
106
+ return this.http.get(`${this.traxUrl}/getConfigDetails?${key}=${value}&clientId=${obj[Object.keys(obj)[1]]}`);
107
+ }
108
+ runAIInsert(data) {
109
+ return this.http.post(`${this.traxUrl}/runAIInsert`, data);
110
+ }
111
+ duplicatechecklist(data) {
112
+ return this.http.get(`${this.traxUrl}/duplicateChecklist/${data.checklistId}?clientId=${data.clientId}`);
113
+ }
114
+ getUserDetails(obj) {
115
+ return this.http.get(`${this.traxUrl}/userDetails/${obj.id}?offset=${obj.offset}&limit=${obj.limit}&search=${obj.search}&clientId=${obj.clientId}`);
116
+ }
117
+ getStoreList(data) {
118
+ return this.http.post(`${this.storeUrl}/storeInfraList`, data);
119
+ }
120
+ deleteChecklist(data) {
121
+ return this.http.delete(`${this.traxUrl}/deleteChecklist/${data.id}?clientId=${data.clientId}`);
122
+ }
123
+ publish(data) {
124
+ return this.http.put(`${this.traxUrl}/publish`, data);
125
+ }
126
+ getStores(data) {
127
+ return this.http
128
+ .post(`${this.galleryApiUrl}/get-stores`, data);
129
+ }
130
+ getChecklists(data) {
131
+ return this.http
132
+ .post(`${this.galleryApiUrl}/checklistDropdown`, data);
133
+ }
134
+ viewChecklists(data) {
135
+ return this.http
136
+ .post(`${this.galleryApiUrl}/viewchecklist`, data);
137
+ }
138
+ overallFlagMetrics(body) {
139
+ return this.http
140
+ .post(`${this.traxUrl}/flag/flagCardsV1`, body);
141
+ }
142
+ overallFlagMetricsComparison(body) {
143
+ return this.http
144
+ .post(`${this.traxUrl}/flag/flagComparisonCardsV1`, body);
145
+ }
146
+ flagsTable(body) {
147
+ return this.http
148
+ .post(`${this.traxUrl}/flag/flagTablesV1`, body);
149
+ }
150
+ exportFlagsTable(body) {
151
+ return this.http.post(`${this.traxUrl}/flag/flagTablesV1`, body, { responseType: 'arraybuffer' });
152
+ }
153
+ getOverallCardsData(data) {
154
+ return this.http.post(`${this.traxUrl}/dashboard/overallCardsV1`, data);
155
+ }
156
+ getChecklistPerformanceData(data) {
157
+ return this.http.post(`${this.traxUrl}/dashboard/checklistPerformance`, data);
158
+ }
159
+ getChecklistPerformanceDataExport(data) {
160
+ return this.http.post(`${this.traxUrl}/dashboard/checklistPerformance`, data, { responseType: 'arraybuffer' });
161
+ }
162
+ getStorePerformanceData(data) {
163
+ return this.http.post(`${this.traxUrl}/dashboard/storePerformance`, data);
164
+ }
165
+ getStorePerformanceDataExport(data) {
166
+ return this.http.post(`${this.traxUrl}/dashboard/storePerformance`, data, { responseType: 'arraybuffer' });
167
+ }
168
+ getUserPerformanceData(data) {
169
+ return this.http.post(`${this.traxUrl}/dashboard/userPerformance`, data);
170
+ }
171
+ getUserPerformanceDataExport(data) {
172
+ return this.http.post(`${this.traxUrl}/dashboard/userPerformance`, data, { responseType: 'arraybuffer' });
173
+ }
174
+ getChecklistDropdownData(data) {
175
+ return this.http.post(`${this.traxUrl}/flag/flagChecklistDropDownV1`, data);
176
+ }
177
+ getChecklistDropdownDashboardData(data) {
178
+ return this.http.post(`${this.traxUrl}/dashboard/checklistDropdown`, data);
179
+ }
180
+ getInfoCardsData(data) {
181
+ return this.http.post(`${this.traxUrl}/dashboard/infoCardsV1`, data);
182
+ }
183
+ checklistFlagTable(body) {
184
+ return this.http
185
+ .post(`${this.traxUrl}/flag/flagChecklistTableV1`, body);
186
+ }
187
+ exportChecklistFlagTable(body) {
188
+ return this.http
189
+ .post(`${this.traxUrl}/flag/flagChecklistTableV1`, body, { responseType: 'arraybuffer' });
190
+ }
191
+ reportTable(body) {
192
+ return this.http
193
+ .post(`${this.traxUrl}/dashboard/reportChecklistDatav1`, body);
194
+ }
195
+ flagCardValues(body) {
196
+ return this.http
197
+ .post(`${this.traxUrl}/flag/flagChecklistCardsV1`, body);
198
+ }
199
+ flagCardTerend(body) {
200
+ return this.http
201
+ .post(`${this.traxUrl}/flag/flagChecklistComparisonCardsV1`, body);
202
+ }
203
+ getChecklistInfoData(data) {
204
+ return this.http.post(`${this.traxUrl}/dashboard/checklistInfo`, data);
205
+ }
206
+ getUserlistDropdownData(data) {
207
+ return this.http.post(`${this.traxUrl}/dashboard/userlistDropdown`, data);
208
+ }
209
+ getMonthlyPeformanceData(data) {
210
+ return this.http.post(`${this.traxUrl}/dashboard/monthlyGraphV1`, data);
211
+ }
212
+ getClientUser(clientId) {
213
+ return this.http.get(`${this.traxUrl}/userList?clientId=${clientId}`);
214
+ }
215
+ getZoneList(clientId) {
216
+ return this.http.get(`${this.traxUrl}/zoneList?clientId=${clientId}`);
217
+ }
218
+ getInfoComparisonCardsData(data) {
219
+ return this.http.post(`${this.traxUrl}/dashboard/infoComparisonCardsV1`, data);
220
+ }
221
+ getOverallComparisonCardsData(data) {
222
+ return this.http.post(`${this.traxUrl}/dashboard/overallComparisonCardsV1`, data);
223
+ }
224
+ getaichecklist(data) {
225
+ return this.http.get(`${this.traxUrl}/aichecklist?clientId=${data}`);
226
+ }
227
+ reportTableExport(body) {
228
+ return this.http
229
+ .post(`${this.traxUrl}/downloads/downloadInsert`, body);
230
+ }
231
+ getpredefinedchecklist(data) {
232
+ return this.http.get(`${this.traxUrl}/predefinedChecklist?clientId=${data}`);
233
+ }
234
+ getclient(data) {
235
+ return this.http.get(`${this.clientAPiUrl}/detailed-client-count?clientId=${data.clientId}`);
236
+ }
237
+ getGroups(data) {
238
+ return this.http.post(`${this.trafficApiUrl}/headerGroups_v1`, data);
239
+ }
240
+ getclusters(data) {
241
+ return this.http.post(`${this.trafficApiUrl}/headercluster_v2`, data);
242
+ }
243
+ getStoreslist(data) {
244
+ return this.http.post(`${this.trafficApiUrl}/headerStores_v2`, data);
245
+ }
246
+ getOrdersByDate(data) {
247
+ return this.http.post(`${this.traxUrl}/locusorder/get`, data);
248
+ }
249
+ orderUpdate(data) {
250
+ return this.http.post(`${this.traxUrl}/locusorder/update`, data);
251
+ }
252
+ orderDelete(data) {
253
+ return this.http.post(`${this.traxUrl}/locusorder/delete`, data);
254
+ }
255
+ isLocusAuthorized() {
256
+ return this.http.get(`${this.traxUrl}/locusorder/user-allowed`);
257
+ }
258
+ reinitiateChecklist(data) {
259
+ return this.http.post(`${this.traxUrl}/dashboard/reinitiatechecklist`, data);
260
+ }
261
+ exportAsCSVFile(json, excelFileName, identifier) {
262
+ const worksheet = XLSX.utils.json_to_sheet(json);
263
+ const csvOutput = XLSX.utils.sheet_to_csv(worksheet);
264
+ this.saveAsCSVFile(csvOutput, excelFileName);
265
+ }
266
+ saveAsCSVFile(buffer, fileName) {
267
+ const data = new Blob([buffer], {
268
+ type: CSV_TYPE
269
+ });
270
+ FileSaver.saveAs(data, fileName + CSV_EXTENSION);
271
+ }
272
+ reInitiate(body) {
273
+ return this.http
274
+ .post(`${this.traxUrl}/dashboard/reinitiatechecklist`, body);
275
+ }
276
+ createTask(data) {
277
+ return this.http.post(`${this.traxTaskUrl}/create`, data);
278
+ }
279
+ getTaskconfig(id, clientId) {
280
+ return this.http.get(`${this.traxTaskUrl}/details?taskId=${id}&clientId=${clientId}`);
281
+ }
282
+ configTask(data) {
283
+ return this.http.post(`${this.traxTaskUrl}/config`, data);
284
+ }
285
+ getTaskUserDetails(data) {
286
+ const params = new HttpParams({ fromObject: data });
287
+ return this.http.get(`${this.traxTaskUrl}/userDetails`, { params });
288
+ }
289
+ uploadTaskAssignees(data) {
290
+ return this.http.post(`${this.traxTaskUrl}/upload`, data);
291
+ }
292
+ getOverallTasksData(data) {
293
+ return this.http.post(`${this.traxTaskUrl}/dashboard/overallcardsV1`, data);
294
+ }
295
+ getTaskTableData(data) {
296
+ return this.http.post(`${this.traxTaskUrl}/dashboard/taskTableV1`, data);
297
+ }
298
+ getTaskTableDataExport(data) {
299
+ return this.http.post(`${this.traxTaskUrl}/dashboard/taskTableV1`, data, { responseType: 'arraybuffer' });
300
+ }
301
+ getTaskInfoTableData(data) {
302
+ return this.http.post(`${this.traxTaskUrl}/dashboard/taskInfoTableV1`, data);
303
+ }
304
+ getTaskInfoTableDataExport(data) {
305
+ return this.http.post(`${this.traxTaskUrl}/dashboard/taskInfoTableV1`, data, { responseType: 'arraybuffer' });
306
+ }
307
+ getOverallActionCenterData(data) {
308
+ return this.http.post(`${this.traxTaskUrl}/actionCenter/overallcards`, data);
309
+ }
310
+ getApprovalData(data) {
311
+ return this.http.post(`${this.traxTaskUrl}/actionCenter/approvalTable`, data);
312
+ }
313
+ getActivityLog(data) {
314
+ return this.http.post(`${this.traxTaskUrl}/actionCenter/activityLog`, data);
315
+ }
316
+ getTaskDropdownList(data) {
317
+ return this.http.post(`${this.traxTaskUrl}/dashboard/taskDropdownListV1`, data);
318
+ }
319
+ getTaskDelete(data) {
320
+ return this.http.post(`${this.traxTaskUrl}/dashboard/taskDeleteV1`, data);
321
+ }
322
+ getTaskUpdate(data) {
323
+ return this.http.post(`${this.traxTaskUrl}/reinitiate`, data);
324
+ }
325
+ static ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TraxService, deps: [{ token: i1.HttpClient }, { token: i2.GlobalStateService }], target: i0.ɵɵFactoryTarget.Injectable });
326
+ static ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TraxService, providedIn: 'root' });
327
+ }
328
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "17.3.12", ngImport: i0, type: TraxService, decorators: [{
329
+ type: Injectable,
330
+ args: [{
331
+ providedIn: 'root'
332
+ }]
333
+ }], ctorParameters: () => [{ type: i1.HttpClient }, { type: i2.GlobalStateService }] });
334
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHJheC5zZXJ2aWNlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMvdGFuZ28tYW5hbHlzZS10cmF4L3NyYy9saWIvc2VydmljZXMvdHJheC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBaUMsVUFBVSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDakYsT0FBTyxFQUFFLFVBQVUsR0FBYyxNQUFNLGVBQWUsQ0FBQztBQUV2RCxPQUFPLEVBQUUsZUFBZSxFQUFjLE9BQU8sRUFBRSxTQUFTLEVBQWtDLE1BQU0sTUFBTSxDQUFDO0FBQ3ZHLE9BQU8sS0FBSyxTQUFTLE1BQU0sWUFBWSxDQUFDO0FBQ3hDLE9BQU8sS0FBSyxJQUFJLE1BQU0sTUFBTSxDQUFDOzs7O0FBRTdCLE1BQU0sVUFBVSxHQUFHLGlGQUFpRixDQUFDO0FBQ3JHLE1BQU0sZUFBZSxHQUFHLE9BQU8sQ0FBQztBQUNoQyxNQUFNLFFBQVEsR0FBRyx3QkFBd0IsQ0FBQztBQUMxQyxNQUFNLGFBQWEsR0FBRyxNQUFNLENBQUM7QUFLN0IsTUFBTSxPQUFPLFdBQVc7SUFlRjtJQUEwQjtJQWQ5QyxPQUFPLENBQUs7SUFDWixRQUFRLENBQUs7SUFDYixhQUFhLENBQUs7SUFDbEIsZUFBZSxHQUFHLElBQUksZUFBZSxDQUFNLElBQUksQ0FBQyxDQUFBO0lBRXhDLGlCQUFpQixHQUFHLElBQUksZUFBZSxDQUFVLEtBQUssQ0FBQyxDQUFDO0lBQ2hFLFdBQVcsR0FBRyxJQUFJLENBQUMsaUJBQWlCLENBQUMsWUFBWSxFQUFFLENBQUM7SUFFcEQsZ0NBQWdDO0lBQ2hDLG9CQUFvQixHQUFHLElBQUksZUFBZSxDQUFTLEVBQUUsQ0FBQyxDQUFBO0lBQ3RELFlBQVksQ0FBTTtJQUNsQixhQUFhLENBQU07SUFDbkIsV0FBVyxDQUFPO0lBRWxCLFlBQW9CLElBQWdCLEVBQVUsRUFBc0I7UUFBaEQsU0FBSSxHQUFKLElBQUks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LEVBQUUsSUFBSSxDQUFDLENBQUE7SUFDakYsQ0FBQztJQUNELGFBQWEsQ0FBRSxJQUFRO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsV0FBVyx5QkFBeUIsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUMzRSxDQUFDO0lBQ0QsYUFBYSxDQUFFLElBQVE7UUFDckIsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxXQUFXLGFBQWEsRUFBRSxJQUFJLENBQUMsQ0FBQTtJQUMvRCxDQUFDO3dHQXRYVSxXQUFXOzRHQUFYLFdBQVcsY0FGVixNQUFNOzs0RkFFUCxXQUFXO2tCQUh2QixVQUFVO21CQUFDO29CQUNWLFVBQVUsRUFBRSxNQUFNO2lCQUNuQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQsIEh0dHBFcnJvclJlc3BvbnNlLCBIdHRwUGFyYW1zIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uL2h0dHAnO1xyXG5pbXBvcnQgeyBJbmplY3RhYmxlLCBPbkRlc3Ryb3ksIH0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XHJcbmltcG9ydCB7IEdsb2JhbFN0YXRlU2VydmljZSB9IGZyb20gJ3RhbmdvLWFwcC11aS1nbG9iYWwnO1xyXG5pbXBvcnQgeyBCZWhhdmlvclN1YmplY3QsIE9ic2VydmFibGUsIFN1YmplY3QsIHRha2VVbnRpbCwgY2F0Y2hFcnJvciwgbWFwLHRocm93RXJyb3IsIG9mIH0gZnJvbSAncnhqcyc7XHJcbmltcG9ydCAqIGFzIEZpbGVTYXZlciBmcm9tICdmaWxlLXNhdmVyJztcclxuaW1wb3J0ICogYXMgWExTWCBmcm9tICd4bHN4JztcclxuXHJcbmNvbnN0IEVYQ0VMX1RZUEUgPSAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQ7Y2hhcnNldD1VVEYtOCc7XHJcbmNvbnN0IEVYQ0VMX0VYVEVOU0lPTiA9ICcueGxzeCc7XHJcbmNvbnN0IENTVl9UWVBFID0gJ3RleHQvY3N2O2NoYXJzZXQ9dXRmLTgnO1xyXG5jb25zdCBDU1ZfRVhURU5TSU9OID0gJy5jc3YnO1xyXG5cclxuQEluamVjdGFibGUoe1xyXG4gIHByb3ZpZGVkSW46ICdyb290J1xyXG59KVxyXG5leHBvcnQgY2xhc3MgVHJheFNlcnZpY2UgaW1wbGVtZW50cyBPbkRlc3Ryb3kge1xyXG4gIHRyYXhVcmw6YW55O1xyXG4gIHN0b3JlVXJsOmFueTtcclxuICBnYWxsZXJ5QXBpVXJsOmFueTtcclxuICBkcm9wRG93blRyaWdnZXIgPSBuZXcgQmVoYXZpb3JTdWJqZWN0PGFueT4obnVsbClcclxuXHJcbiAgcHJpdmF0ZSByZWxvYWREYXRhU3ViamVjdCA9IG5ldyBCZWhhdmlvclN1YmplY3Q8Ym9vbGVhbj4oZmFsc2UpO1xyXG4gIHJlbG9hZERhdGEkID0gdGhpcy5yZWxvYWREYXRhU3ViamVjdC5hc09ic2VydmFibGUoKTtcclxuXHJcbiAgLy8gb3BlbmVkRHJvcGRvd25zOnN0cmluZ1tdID0gW11cclxuICBkcm9wZG93bkNsb3NlVHJpZ2dlciA9IG5ldyBCZWhhdmlvclN1YmplY3Q8c3RyaW5nPignJylcclxuICBjbGllbnRBUGlVcmw6IGFueTtcclxuICB0cmFmZmljQXBpVXJsOiBhbnk7XHJcbiAgdHJheFRhc2tVcmw6c3RyaW5nXHJcblxyXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgaHR0cDogSHR0cENsaWVudCwgcHJpdmF0ZSBnczogR2xvYmFsU3RhdGVTZXJ2aWNlKSB7XHJcbiAgICB0aGlzLmdzLmVudmlyb25tZW50LnBpcGUodGFrZVVudGlsKHRoaXMuZGVzdHJveSQpKS5zdWJzY3JpYmUoKGVudikgPT4ge1xyXG4gICAgICBpZiAoZW52KSB7XHJcbiAgICAgICAgdGhpcy50cmF4VXJsID0gZW52LnRyYXhVcmw7XHJcbiAgICAgICAgdGhpcy5zdG9yZVVybCA9IGVudi5zdG9yZUFwaVVybFxyXG4gICAgICAgIHRoaXMuZ2FsbGVyeUFwaVVybCA9IGVudi5nYWxsZXJ5QXBpVXJsXHJcbiAgICAgICAgdGhpcy5jbGllbnRBUGlVcmwgPSAgZW52LmNsaWVudEFwaVVybFxyXG4gICAgICAgIHRoaXMudHJhZmZpY0FwaVVybCA9ICBlbnYudHJhZmZpY0FwaVVybFxyXG4gICAgICAgIHRoaXMudHJheFRhc2tVcmwgPSBlbnYudHJheFRhc2tVcmxcclxuXHJcbiAgICAgIH1cclxuICAgIH0pO1xyXG4gIH1cclxuXHJcbiAgdHJpZ2dlclJlbG9hZCgpIHtcclxuICAgIHRoaXMucmVsb2FkRGF0YVN1YmplY3QubmV4dCh0cnVlKTtcclxuICB9XHJcblxyXG4gIHB1YmxpYyBleHBvcnRBc0V4Y2VsRmlsZShqc29uOiBhbnlbXSwgZXhjZWxGaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCB3b3Jrc2hlZXQ6IFhMU1guV29ya1NoZWV0ID0gWExTWC51dGlscy5qc29uX3RvX3NoZWV0KGpzb24pO1xyXG4gICAgY29uc3Qgd29ya2Jvb2s6IFhMU1guV29ya0Jvb2sgPSB7IFNoZWV0czogeyAnZGF0YSc6IHdvcmtzaGVldCB9LCBTaGVldE5hbWVzOiBbJ2RhdGEnXSB9O1xyXG4gICAgY29uc3QgZXhjZWxCdWZmZXI6IGFueSA9IFhMU1gud3JpdGUod29ya2Jvb2ssIHsgYm9va1R5cGU6ICd4bHN4JywgdHlwZTogJ2FycmF5JyB9KTtcclxuICAgIHRoaXMuc2F2ZUFzRXhjZWxGaWxlKGV4Y2VsQnVmZmVyLCBleGNlbEZpbGVOYW1lKTtcclxuICB9XHJcbiBcclxuICBwdWJsaWMgc2F2ZUFzRXhjZWxGaWxlKGJ1ZmZlcjogYW55LCBmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBkYXRhOiBCbG9iID0gbmV3IEJsb2IoW2J1ZmZlcl0sIHtcclxuICAgICAgdHlwZTogRVhDRUxfVFlQRVxyXG4gICAgfSk7XHJcbiAgICBGaWxlU2F2ZXIuc2F2ZUFzKGRhdGEsIGZpbGVOYW1lICsgJ2xpc3QnKyBFWENFTF9FWFRFTlNJT04pO1xyXG4gIH1cclxuIFxyXG4gIHB1YmxpYyBzYXZlQXNUZW1wbGF0ZShidWZmZXI6IGFueSwgZmlsZU5hbWU6IHN0cmluZyk6IHZvaWQge1xyXG4gICAgY29uc3QgZGF0YTogQmxvYiA9IG5ldyBCbG9iKFtidWZmZXJdLCB7XHJcbiAgICAgIHR5cGU6IEVYQ0VMX1RZUEVcclxuICAgIH0pO1xyXG4gICAgRmlsZVNhdmVyLnNhdmVBcyhkYXRhLCBmaWxlTmFtZSArIEVYQ0VMX0VYVEVOU0lPTik7XHJcbiAgfVxyXG4gIHByaXZhdGUgcmVhZG9ubHkgZGVzdHJveSQgPSBuZXcgU3ViamVjdCgpO1xyXG5cclxuICBuZ09uRGVzdHJveSgpOiB2b2lkIHtcclxuICAgIHRoaXMuZGVzdHJveSQubmV4dCh0cnVlKTtcclxuICAgIHRoaXMuZGVzdHJveSQuY29tcGxldGUoKTtcclxuICB9XHJcblxyXG4gIGdldFN1bW1hcnlUYWJsZURhdGEoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VXJsfS96b25lU3VtbWFyeVRhYmxlX3YyYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0Y2hlY2tsaXN0KCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZ2FsbGVyeUFwaVVybH0vZ2V0Y2hlY2tsaXN0YCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0TW9iVXNhZ2VsaXN0KCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZ2FsbGVyeUFwaVVybH0vZ2V0TW9iaWxlVXNlYWdlbGlzdGAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldGN1c3RvbWVydW5hdHRlbmRlZGxpc3QoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy5nYWxsZXJ5QXBpVXJsfS9nZXRjdXN0b21lcnVuYXR0ZW5kZWRsaXN0YCwgZGF0YSlcclxuICB9XHJcbiAgXHJcbiAgc3RvcmVPcGVuY2xvc2VsaXN0KCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMuZ2FsbGVyeUFwaVVybH0vc3RvcmVPcGVuY2xvc2VsaXN0YCwgZGF0YSlcclxuICB9XHJcbiAgXHJcbiAgZ2V0U3VtbWFyeVRhYmxlRXhwb3J0KCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFVybH0vem9uZVN1bW1hcnlUYWJsZV92MmAsIGRhdGEsIHtyZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcid9KVxyXG4gIH1cclxuXHJcbiAgY2hlY2tsaXN0KG9iajphbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMudHJheFVybH0vY2hlY2tsaXN0P2xpbWl0PSR7b2JqLmxpbWl0fSZvZmZzZXQ9JHtvYmoub2Zmc2V0fSZzb3J0Q29sdW1uTmFtZT0ke29iai5zb3J0Q29sdW1ufSZzZWFyY2g9JHtvYmouc2VhcmNofSZzb3J0Qnk9JHtvYmouc29ydEJ5fSZjbGllbnRJZD0ke29iai5jbGllbnRJZH1gKVxyXG4gIH1cclxuXHJcbiAgaW1hZ2V1cGxvYWQodXNlcnM6YW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VXJsfS91cGxvYWRgLHVzZXJzKVxyXG4gIH1cclxuXHJcbiAgdmFsaWRhdGVVc2VyKHVzZXJzOmFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFVybH0vdmFsaWRhdGVVc2VyYCx1c2VycylcclxuICB9XHJcblxyXG4gIGdldHVwZGF0ZWNoZWNrbGlzdChpZDphbnksZGF0YTphbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMudHJheFVybH0vY2hlY2tsaXN0L3VwZGF0ZS8ke2lkfWAsZGF0YSlcclxuICB9XHJcblxyXG4gIGNyZWF0ZWNoZWNrbGlzdChkYXRhOmFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFVybH0vY2hlY2tsaXN0L2NyZWF0ZWAsIGRhdGEgKVxyXG4gIH1cclxuXHJcbiAgY29uZmlnVXBkYXRlKG9iajphbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L2NoZWNrbGlzdENvbmZpZ3VyZWAsb2JqKVxyXG4gIH1cclxuXHJcbiAgZ2V0Y29uZmlnKG9iajphbnkpIHtcclxuICAgIGxldCBrZXkgPSBPYmplY3Qua2V5cyhvYmopWzBdO1xyXG4gICAgbGV0IHZhbHVlID0gb2JqW09iamVjdC5rZXlzKG9iailbMF1dO1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy50cmF4VXJsfS9nZXRDb25maWdEZXRhaWxzPyR7a2V5fT0ke3ZhbHVlfSZjbGllbnRJZD0ke29ialtPYmplY3Qua2V5cyhvYmopWzFdXX1gKVxyXG4gIH1cclxuXHJcbiAgcnVuQUlJbnNlcnQoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VXJsfS9ydW5BSUluc2VydGAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBkdXBsaWNhdGVjaGVja2xpc3QoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLnRyYXhVcmx9L2R1cGxpY2F0ZUNoZWNrbGlzdC8ke2RhdGEuY2hlY2tsaXN0SWR9P2NsaWVudElkPSR7ZGF0YS5jbGllbnRJZH1gKVxyXG4gIH1cclxuXHJcbiAgZ2V0VXNlckRldGFpbHMob2JqOmFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy50cmF4VXJsfS91c2VyRGV0YWlscy8ke29iai5pZH0/b2Zmc2V0PSR7b2JqLm9mZnNldH0mbGltaXQ9JHtvYmoubGltaXR9JnNlYXJjaD0ke29iai5zZWFyY2h9JmNsaWVudElkPSR7b2JqLmNsaWVudElkfWApXHJcbiAgfVxyXG5cclxuICBnZXRTdG9yZUxpc3QoZGF0YTphbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnN0b3JlVXJsfS9zdG9yZUluZnJhTGlzdGAsZGF0YSlcclxuICB9XHJcblxyXG4gIGRlbGV0ZUNoZWNrbGlzdChkYXRhOiBhbnksKSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmRlbGV0ZShgJHt0aGlzLnRyYXhVcmx9L2RlbGV0ZUNoZWNrbGlzdC8ke2RhdGEuaWR9P2NsaWVudElkPSR7ZGF0YS5jbGllbnRJZH1gKVxyXG4gIH1cclxuXHJcbiAgcHVibGlzaChkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucHV0KGAke3RoaXMudHJheFVybH0vcHVibGlzaGAsIGRhdGEpXHJcbiAgfVxyXG4gIGdldFN0b3JlcyhkYXRhOiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucG9zdDxhbnk+KGAke3RoaXMuZ2FsbGVyeUFwaVVybH0vZ2V0LXN0b3Jlc2AsICBkYXRhIClcclxuICB9XHJcblxyXG4gIGdldENoZWNrbGlzdHMoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3Q8YW55PihgJHt0aGlzLmdhbGxlcnlBcGlVcmx9L2NoZWNrbGlzdERyb3Bkb3duYCwgZGF0YSlcclxuICB9XHJcbiAgdmlld0NoZWNrbGlzdHMoZGF0YTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3Q8YW55PihgJHt0aGlzLmdhbGxlcnlBcGlVcmx9L3ZpZXdjaGVja2xpc3RgLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgb3ZlcmFsbEZsYWdNZXRyaWNzKGJvZHk6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0PGFueT4oYCR7dGhpcy50cmF4VXJsfS9mbGFnL2ZsYWdDYXJkc1YxYCwgYm9keSlcclxuICB9XHJcblxyXG4gIG92ZXJhbGxGbGFnTWV0cmljc0NvbXBhcmlzb24oYm9keTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3Q8YW55PihgJHt0aGlzLnRyYXhVcmx9L2ZsYWcvZmxhZ0NvbXBhcmlzb25DYXJkc1YxYCwgYm9keSlcclxuICB9XHJcblxyXG4gIGZsYWdzVGFibGUoYm9keTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3Q8YW55PihgJHt0aGlzLnRyYXhVcmx9L2ZsYWcvZmxhZ1RhYmxlc1YxYCwgYm9keSlcclxuICB9XHJcblxyXG4gIGV4cG9ydEZsYWdzVGFibGUoYm9keTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L2ZsYWcvZmxhZ1RhYmxlc1YxYCwgYm9keSwge3Jlc3BvbnNlVHlwZTogJ2FycmF5YnVmZmVyJ30pXHJcbiAgfVxyXG5cclxuICBnZXRPdmVyYWxsQ2FyZHNEYXRhKCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFVybH0vZGFzaGJvYXJkL292ZXJhbGxDYXJkc1YxYCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGdldENoZWNrbGlzdFBlcmZvcm1hbmNlRGF0YSggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L2Rhc2hib2FyZC9jaGVja2xpc3RQZXJmb3JtYW5jZWAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBnZXRDaGVja2xpc3RQZXJmb3JtYW5jZURhdGFFeHBvcnQoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VXJsfS9kYXNoYm9hcmQvY2hlY2tsaXN0UGVyZm9ybWFuY2VgLCBkYXRhLCB7cmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInfSlcclxuICB9XHJcblxyXG4gIGdldFN0b3JlUGVyZm9ybWFuY2VEYXRhKCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFVybH0vZGFzaGJvYXJkL3N0b3JlUGVyZm9ybWFuY2VgLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgZ2V0U3RvcmVQZXJmb3JtYW5jZURhdGFFeHBvcnQoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VXJsfS9kYXNoYm9hcmQvc3RvcmVQZXJmb3JtYW5jZWAsIGRhdGEsIHtyZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcid9KVxyXG4gIH1cclxuXHJcbiAgZ2V0VXNlclBlcmZvcm1hbmNlRGF0YSggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L2Rhc2hib2FyZC91c2VyUGVyZm9ybWFuY2VgLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgZ2V0VXNlclBlcmZvcm1hbmNlRGF0YUV4cG9ydCggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L2Rhc2hib2FyZC91c2VyUGVyZm9ybWFuY2VgLCBkYXRhLCB7cmVzcG9uc2VUeXBlOiAnYXJyYXlidWZmZXInfSlcclxuICB9XHJcblxyXG4gIGdldENoZWNrbGlzdERyb3Bkb3duRGF0YSggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L2ZsYWcvZmxhZ0NoZWNrbGlzdERyb3BEb3duVjFgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRDaGVja2xpc3REcm9wZG93bkRhc2hib2FyZERhdGEoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VXJsfS9kYXNoYm9hcmQvY2hlY2tsaXN0RHJvcGRvd25gLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgZ2V0SW5mb0NhcmRzRGF0YSggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L2Rhc2hib2FyZC9pbmZvQ2FyZHNWMWAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBjaGVja2xpc3RGbGFnVGFibGUoYm9keTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3Q8YW55PihgJHt0aGlzLnRyYXhVcmx9L2ZsYWcvZmxhZ0NoZWNrbGlzdFRhYmxlVjFgLCBib2R5KVxyXG4gIH1cclxuXHJcbiAgZXhwb3J0Q2hlY2tsaXN0RmxhZ1RhYmxlKGJvZHk6IGFueSk6IE9ic2VydmFibGU8YW55PiB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwXHJcbiAgICAgIC5wb3N0KGAke3RoaXMudHJheFVybH0vZmxhZy9mbGFnQ2hlY2tsaXN0VGFibGVWMWAsIGJvZHksIHtyZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcid9KVxyXG4gIH1cclxuXHJcbiAgcmVwb3J0VGFibGUoYm9keTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3Q8YW55PihgJHt0aGlzLnRyYXhVcmx9L2Rhc2hib2FyZC9yZXBvcnRDaGVja2xpc3REYXRhdjFgLCBib2R5KVxyXG4gIH1cclxuXHJcbiAgZmxhZ0NhcmRWYWx1ZXMoYm9keTphbnkpe1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgLnBvc3Q8YW55PihgJHt0aGlzLnRyYXhVcmx9L2ZsYWcvZmxhZ0NoZWNrbGlzdENhcmRzVjFgLCBib2R5KVxyXG4gIH1cclxuXHJcbiAgZmxhZ0NhcmRUZXJlbmQoYm9keTphbnkpe1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgLnBvc3Q8YW55PihgJHt0aGlzLnRyYXhVcmx9L2ZsYWcvZmxhZ0NoZWNrbGlzdENvbXBhcmlzb25DYXJkc1YxYCwgYm9keSlcclxuICB9XHJcblxyXG5cclxuICBnZXRDaGVja2xpc3RJbmZvRGF0YSggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L2Rhc2hib2FyZC9jaGVja2xpc3RJbmZvYCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGdldFVzZXJsaXN0RHJvcGRvd25EYXRhKCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFVybH0vZGFzaGJvYXJkL3VzZXJsaXN0RHJvcGRvd25gLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgZ2V0TW9udGhseVBlZm9ybWFuY2VEYXRhKCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFVybH0vZGFzaGJvYXJkL21vbnRobHlHcmFwaFYxYCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGdldENsaWVudFVzZXIoIGNsaWVudElkOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy50cmF4VXJsfS91c2VyTGlzdD9jbGllbnRJZD0ke2NsaWVudElkfWApXHJcbiAgfVxyXG5cclxuICBnZXRab25lTGlzdCggY2xpZW50SWQ6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLnRyYXhVcmx9L3pvbmVMaXN0P2NsaWVudElkPSR7Y2xpZW50SWR9YClcclxuICB9XHJcbiAgZ2V0SW5mb0NvbXBhcmlzb25DYXJkc0RhdGEoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VXJsfS9kYXNoYm9hcmQvaW5mb0NvbXBhcmlzb25DYXJkc1YxYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0T3ZlcmFsbENvbXBhcmlzb25DYXJkc0RhdGEoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VXJsfS9kYXNoYm9hcmQvb3ZlcmFsbENvbXBhcmlzb25DYXJkc1YxYCwgZGF0YSlcclxuICB9XHJcblxyXG4gIGdldGFpY2hlY2tsaXN0KGRhdGE6YW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLnRyYXhVcmx9L2FpY2hlY2tsaXN0P2NsaWVudElkPSR7ZGF0YX1gKVxyXG4gIH1cclxuXHJcbiAgcmVwb3J0VGFibGVFeHBvcnQoYm9keTogYW55KTogT2JzZXJ2YWJsZTxhbnk+IHtcclxuICAgIHJldHVybiB0aGlzLmh0dHBcclxuICAgICAgLnBvc3Q8YW55PihgJHt0aGlzLnRyYXhVcmx9L2Rvd25sb2Fkcy9kb3dubG9hZEluc2VydGAsIGJvZHkpXHJcbiAgfVxyXG4gIGdldHByZWRlZmluZWRjaGVja2xpc3QoZGF0YTphbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMudHJheFVybH0vcHJlZGVmaW5lZENoZWNrbGlzdD9jbGllbnRJZD0ke2RhdGF9YClcclxuICB9XHJcbiAgZ2V0Y2xpZW50KGRhdGE6YW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLmNsaWVudEFQaVVybH0vZGV0YWlsZWQtY2xpZW50LWNvdW50P2NsaWVudElkPSR7ZGF0YS5jbGllbnRJZH1gKVxyXG4gIH1cclxuICBnZXRHcm91cHMoZGF0YTphbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYWZmaWNBcGlVcmx9L2hlYWRlckdyb3Vwc192MWAsZGF0YSlcclxuICB9XHJcbiAgZ2V0Y2x1c3RlcnMoZGF0YTphbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYWZmaWNBcGlVcmx9L2hlYWRlcmNsdXN0ZXJfdjJgLGRhdGEpXHJcbiAgfVxyXG4gIGdldFN0b3Jlc2xpc3QoZGF0YTphbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYWZmaWNBcGlVcmx9L2hlYWRlclN0b3Jlc192MmAsZGF0YSlcclxuICB9XHJcbiAgZ2V0T3JkZXJzQnlEYXRlKGRhdGE6IGFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFVybH0vbG9jdXNvcmRlci9nZXRgLCBkYXRhKVxyXG4gIH1cclxuXHJcbiAgb3JkZXJVcGRhdGUoZGF0YTogYW55KSB7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VXJsfS9sb2N1c29yZGVyL3VwZGF0ZWAsIGRhdGEpXHJcbiAgfVxyXG5cclxuICBvcmRlckRlbGV0ZShkYXRhOiBhbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L2xvY3Vzb3JkZXIvZGVsZXRlYCwgZGF0YSlcclxuICAgICBcclxuICB9XHJcblxyXG4gIGlzTG9jdXNBdXRob3JpemVkKCkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy50cmF4VXJsfS9sb2N1c29yZGVyL3VzZXItYWxsb3dlZGApXHJcbiAgfVxyXG4gIHJlaW5pdGlhdGVDaGVja2xpc3QoZGF0YTphbnkpIHtcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhVcmx9L2Rhc2hib2FyZC9yZWluaXRpYXRlY2hlY2tsaXN0YCxkYXRhKVxyXG4gIH1cclxuXHJcbiAgcHVibGljIGV4cG9ydEFzQ1NWRmlsZShqc29uOiBhbnlbXSwgZXhjZWxGaWxlTmFtZTogc3RyaW5nLGlkZW50aWZpZXI/OiBhbnlbXSk6IHZvaWQge1xyXG4gICAgY29uc3Qgd29ya3NoZWV0OiBYTFNYLldvcmtTaGVldCA9IFhMU1gudXRpbHMuanNvbl90b19zaGVldChqc29uKTtcclxuXHJcbiAgICBjb25zdCBjc3ZPdXRwdXQ6IHN0cmluZyA9IFhMU1gudXRpbHMuc2hlZXRfdG9fY3N2KHdvcmtzaGVldCk7XHJcbiAgICB0aGlzLnNhdmVBc0NTVkZpbGUoY3N2T3V0cHV0LCBleGNlbEZpbGVOYW1lKTtcclxuICB9XHJcbiAgcHJpdmF0ZSBzYXZlQXNDU1ZGaWxlKGJ1ZmZlcjogYW55LCBmaWxlTmFtZTogc3RyaW5nKTogdm9pZCB7XHJcbiAgICBjb25zdCBkYXRhOiBCbG9iID0gbmV3IEJsb2IoW2J1ZmZlcl0sIHtcclxuICAgICAgdHlwZTogQ1NWX1RZUEVcclxuICAgIH0pO1xyXG4gICAgRmlsZVNhdmVyLnNhdmVBcyhkYXRhLCBmaWxlTmFtZSArIENTVl9FWFRFTlNJT04pO1xyXG4gIH1cclxuXHJcbiAgcmVJbml0aWF0ZShib2R5OiBhbnkpOiBPYnNlcnZhYmxlPGFueT4ge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cFxyXG4gICAgICAucG9zdDxhbnk+KGAke3RoaXMudHJheFVybH0vZGFzaGJvYXJkL3JlaW5pdGlhdGVjaGVja2xpc3RgLCBib2R5KVxyXG4gIH1cclxuXHJcbiAgY3JlYXRlVGFzayhkYXRhOmFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFRhc2tVcmx9L2NyZWF0ZWAsIGRhdGEgKVxyXG4gIH1cclxuXHJcbiAgZ2V0VGFza2NvbmZpZyhpZDpzdHJpbmcsIGNsaWVudElkOnN0cmluZykge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYCR7dGhpcy50cmF4VGFza1VybH0vZGV0YWlscz90YXNrSWQ9JHtpZH0mY2xpZW50SWQ9JHtjbGllbnRJZH1gKVxyXG4gIH1cclxuXHJcbiAgY29uZmlnVGFzayhkYXRhOmFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFRhc2tVcmx9L2NvbmZpZ2AsIGRhdGEgKVxyXG4gIH1cclxuXHJcbiAgZ2V0VGFza1VzZXJEZXRhaWxzKGRhdGE6YW55KSB7XHJcbiAgICBjb25zdCBwYXJhbXMgPSBuZXcgSHR0cFBhcmFtcyh7IGZyb21PYmplY3Q6IGRhdGEgfSk7XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLmdldChgJHt0aGlzLnRyYXhUYXNrVXJsfS91c2VyRGV0YWlsc2AsIHtwYXJhbXN9KVxyXG4gIH1cclxuXHJcbiAgdXBsb2FkVGFza0Fzc2lnbmVlcyhkYXRhOmFueSkge1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFRhc2tVcmx9L3VwbG9hZGAsIGRhdGEgKVxyXG5cclxuICB9XHJcblxyXG4gIFxyXG4gIGdldE92ZXJhbGxUYXNrc0RhdGEoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VGFza1VybH0vZGFzaGJvYXJkL292ZXJhbGxjYXJkc1YxYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0VGFza1RhYmxlRGF0YSggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhUYXNrVXJsfS9kYXNoYm9hcmQvdGFza1RhYmxlVjFgLCBkYXRhKVxyXG4gIH1cclxuICBnZXRUYXNrVGFibGVEYXRhRXhwb3J0KCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFRhc2tVcmx9L2Rhc2hib2FyZC90YXNrVGFibGVWMWAsIGRhdGEsIHtyZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcid9KVxyXG4gIH1cclxuICBnZXRUYXNrSW5mb1RhYmxlRGF0YSggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhUYXNrVXJsfS9kYXNoYm9hcmQvdGFza0luZm9UYWJsZVYxYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0VGFza0luZm9UYWJsZURhdGFFeHBvcnQoIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VGFza1VybH0vZGFzaGJvYXJkL3Rhc2tJbmZvVGFibGVWMWAsIGRhdGEsIHtyZXNwb25zZVR5cGU6ICdhcnJheWJ1ZmZlcid9KVxyXG4gIH1cclxuICBnZXRPdmVyYWxsQWN0aW9uQ2VudGVyRGF0YSggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhUYXNrVXJsfS9hY3Rpb25DZW50ZXIvb3ZlcmFsbGNhcmRzYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0QXBwcm92YWxEYXRhKCBkYXRhOmFueSk6T2JzZXJ2YWJsZTxhbnk+e1xyXG4gICAgcmV0dXJuIHRoaXMuaHR0cC5wb3N0KGAke3RoaXMudHJheFRhc2tVcmx9L2FjdGlvbkNlbnRlci9hcHByb3ZhbFRhYmxlYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0QWN0aXZpdHlMb2coIGRhdGE6YW55KTpPYnNlcnZhYmxlPGFueT57XHJcbiAgICByZXR1cm4gdGhpcy5odHRwLnBvc3QoYCR7dGhpcy50cmF4VGFza1VybH0vYWN0aW9uQ2VudGVyL2FjdGl2aXR5TG9nYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0VGFza0Ryb3Bkb3duTGlzdCggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhUYXNrVXJsfS9kYXNoYm9hcmQvdGFza0Ryb3Bkb3duTGlzdFYxYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0VGFza0RlbGV0ZSggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhUYXNrVXJsfS9kYXNoYm9hcmQvdGFza0RlbGV0ZVYxYCwgZGF0YSlcclxuICB9XHJcbiAgZ2V0VGFza1VwZGF0ZSggZGF0YTphbnkpOk9ic2VydmFibGU8YW55PntcclxuICAgIHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLnRyYXhUYXNrVXJsfS9yZWluaXRpYXRlYCwgZGF0YSlcclxuICB9XHJcblxyXG59XHJcbiJdfQ==