kwikid-agent-dashboard 0.0.38 → 0.0.39

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 (129) hide show
  1. package/bundles/kwikid-agent-dashboard.umd.js +2269 -351
  2. package/bundles/kwikid-agent-dashboard.umd.js.map +1 -1
  3. package/esm2015/lib/kwikid-agent-dashboard.component.js +43 -23
  4. package/esm2015/lib/kwikid-agent-dashboard.module.js +84 -21
  5. package/esm2015/lib/v1/components/action-button/action-button.component.js +91 -0
  6. package/esm2015/lib/v1/components/customer-details/customer-details.component.js +139 -0
  7. package/esm2015/lib/v1/components/customer-list/customer-list.component.js +201 -0
  8. package/esm2015/lib/v1/components/customer-tile/customer-tile.component.js +137 -0
  9. package/esm2015/lib/v1/components/customer-tile/status-pill/status-pill.component.js +54 -0
  10. package/esm2015/lib/v1/components/customer-tile/status-pill/status-pill.definitions.js +36 -0
  11. package/esm2015/lib/v1/helpers/maps.helpers.js +46 -0
  12. package/esm2015/lib/v1/kwikid-agent-dashboard.component.js +177 -0
  13. package/esm2015/lib/v1/kwikid-agent-dashboard.module.js +120 -0
  14. package/esm2015/lib/v1/pipes/search-filter.pipe.js +62 -0
  15. package/esm2015/lib/v1/services/agent.service.js +149 -0
  16. package/esm2015/lib/v1/services/google-maps.service.js +201 -0
  17. package/esm2015/lib/v1/services/open-street-maps.service.js +252 -0
  18. package/esm2015/lib/v2/components/agent-info/agent-info.component.js +20 -0
  19. package/esm2015/lib/v2/components/agent-info/agent-info.module.js +37 -0
  20. package/esm2015/lib/v2/components/bottom-sheet/bottom-sheet.component.js +111 -0
  21. package/esm2015/lib/v2/components/bottom-sheet/bottom-sheet.module.js +41 -0
  22. package/esm2015/lib/v2/components/components.module.js +79 -0
  23. package/esm2015/lib/v2/components/map-view/map-view.component.js +39 -0
  24. package/esm2015/lib/v2/components/map-view/map-view.module.js +37 -0
  25. package/esm2015/lib/v2/components/primary-actions/primary-actions.component.js +65 -0
  26. package/esm2015/lib/v2/components/primary-actions/primary-actions.module.js +54 -0
  27. package/esm2015/lib/v2/components/task-detail/task-detail.component.js +82 -0
  28. package/esm2015/lib/v2/components/task-detail/task-detail.module.js +41 -0
  29. package/esm2015/lib/v2/components/task-item/task-item.component.js +107 -0
  30. package/esm2015/lib/v2/components/task-item/task-item.constant.js +12 -0
  31. package/esm2015/lib/v2/components/task-item/task-item.module.js +45 -0
  32. package/esm2015/lib/v2/components/task-item-status/task-item-status.component.js +51 -0
  33. package/esm2015/lib/v2/components/task-item-status/task-item-status.module.js +19 -0
  34. package/esm2015/lib/v2/components/task-list/task-list.component.js +186 -0
  35. package/esm2015/lib/v2/components/task-list/task-list.module.js +57 -0
  36. package/esm2015/lib/v2/components/task-list-search/task-list-search.component.js +118 -0
  37. package/esm2015/lib/v2/components/task-list-search/task-list-search.module.js +41 -0
  38. package/esm2015/lib/v2/components/task-preview/task-preview.component.js +30 -0
  39. package/esm2015/lib/v2/components/task-preview/task-preview.module.js +37 -0
  40. package/esm2015/lib/v2/helpers/array.helper.js +10 -0
  41. package/esm2015/lib/v2/helpers/date.helplers.js +17 -0
  42. package/esm2015/lib/v2/kwikid-agent-dashboard.component.js +61 -0
  43. package/esm2015/lib/v2/kwikid-agent-dashboard.module.js +45 -0
  44. package/esm2015/lib/v2/layout/layout-body/layout-body.component.js +274 -0
  45. package/esm2015/lib/v2/layout/layout-body/layout-body.module.js +55 -0
  46. package/esm2015/lib/v2/layout/layout-header/layout-header.component.js +60 -0
  47. package/esm2015/lib/v2/layout/layout-header/layout-header.module.js +48 -0
  48. package/esm2015/lib/v2/layout/layout.module.js +18 -0
  49. package/esm2015/lib/v2/pipes/search-filter.pipe.js +62 -0
  50. package/fesm2015/kwikid-agent-dashboard.js +2049 -324
  51. package/fesm2015/kwikid-agent-dashboard.js.map +1 -1
  52. package/lib/kwikid-agent-dashboard.component.d.ts +11 -3
  53. package/lib/kwikid-agent-dashboard.module.d.ts +12 -6
  54. package/lib/v1/components/action-button/action-button.component.d.ts +18 -0
  55. package/lib/v1/components/customer-details/customer-details.component.d.ts +35 -0
  56. package/lib/v1/components/customer-list/customer-list.component.d.ts +55 -0
  57. package/lib/v1/components/customer-tile/customer-tile.component.d.ts +34 -0
  58. package/lib/v1/components/customer-tile/status-pill/status-pill.component.d.ts +15 -0
  59. package/lib/v1/components/customer-tile/status-pill/status-pill.definitions.d.ts +19 -0
  60. package/lib/v1/helpers/maps.helpers.d.ts +3 -0
  61. package/lib/v1/kwikid-agent-dashboard.component.d.ts +54 -0
  62. package/lib/v1/kwikid-agent-dashboard.module.d.ts +23 -0
  63. package/lib/{pipes → v1/pipes}/search-filter.pipe.d.ts +1 -1
  64. package/lib/v1/services/agent.service.d.ts +77 -0
  65. package/lib/v1/services/google-maps.service.d.ts +29 -0
  66. package/lib/v1/services/open-street-maps.service.d.ts +39 -0
  67. package/lib/{components → v2/components}/agent-info/agent-info.component.d.ts +1 -1
  68. package/lib/{components → v2/components}/bottom-sheet/bottom-sheet.component.d.ts +2 -2
  69. package/lib/{components → v2/components}/map-view/map-view.component.d.ts +1 -1
  70. package/lib/{components → v2/components}/primary-actions/primary-actions.component.d.ts +1 -1
  71. package/lib/{components → v2/components}/task-detail/task-detail.component.d.ts +1 -1
  72. package/lib/{components → v2/components}/task-item/task-item.component.d.ts +1 -1
  73. package/lib/{components → v2/components}/task-item-status/task-item-status.component.d.ts +1 -1
  74. package/lib/{components → v2/components}/task-list/task-list.component.d.ts +4 -4
  75. package/lib/{components → v2/components}/task-list-search/task-list-search.component.d.ts +3 -3
  76. package/lib/{components → v2/components}/task-preview/task-preview.component.d.ts +1 -1
  77. package/lib/v2/kwikid-agent-dashboard.component.d.ts +17 -0
  78. package/lib/v2/kwikid-agent-dashboard.module.d.ts +13 -0
  79. package/lib/{layout → v2/layout}/layout-body/layout-body.component.d.ts +3 -3
  80. package/lib/{layout → v2/layout}/layout-header/layout-header.component.d.ts +1 -1
  81. package/lib/v2/pipes/search-filter.pipe.d.ts +25 -0
  82. package/package.json +1 -1
  83. package/esm2015/lib/components/agent-info/agent-info.component.js +0 -20
  84. package/esm2015/lib/components/agent-info/agent-info.module.js +0 -37
  85. package/esm2015/lib/components/bottom-sheet/bottom-sheet.component.js +0 -111
  86. package/esm2015/lib/components/bottom-sheet/bottom-sheet.module.js +0 -41
  87. package/esm2015/lib/components/components.module.js +0 -79
  88. package/esm2015/lib/components/map-view/map-view.component.js +0 -39
  89. package/esm2015/lib/components/map-view/map-view.module.js +0 -37
  90. package/esm2015/lib/components/primary-actions/primary-actions.component.js +0 -65
  91. package/esm2015/lib/components/primary-actions/primary-actions.module.js +0 -54
  92. package/esm2015/lib/components/task-detail/task-detail.component.js +0 -82
  93. package/esm2015/lib/components/task-detail/task-detail.module.js +0 -41
  94. package/esm2015/lib/components/task-item/task-item.component.js +0 -109
  95. package/esm2015/lib/components/task-item/task-item.constant.js +0 -12
  96. package/esm2015/lib/components/task-item/task-item.module.js +0 -45
  97. package/esm2015/lib/components/task-item-status/task-item-status.component.js +0 -51
  98. package/esm2015/lib/components/task-item-status/task-item-status.module.js +0 -19
  99. package/esm2015/lib/components/task-list/task-list.component.js +0 -186
  100. package/esm2015/lib/components/task-list/task-list.module.js +0 -57
  101. package/esm2015/lib/components/task-list-search/task-list-search.component.js +0 -117
  102. package/esm2015/lib/components/task-list-search/task-list-search.module.js +0 -41
  103. package/esm2015/lib/components/task-preview/task-preview.component.js +0 -30
  104. package/esm2015/lib/components/task-preview/task-preview.module.js +0 -37
  105. package/esm2015/lib/helpers/array.helper.js +0 -10
  106. package/esm2015/lib/helpers/date.helplers.js +0 -17
  107. package/esm2015/lib/layout/layout-body/layout-body.component.js +0 -274
  108. package/esm2015/lib/layout/layout-body/layout-body.module.js +0 -55
  109. package/esm2015/lib/layout/layout-header/layout-header.component.js +0 -60
  110. package/esm2015/lib/layout/layout-header/layout-header.module.js +0 -48
  111. package/esm2015/lib/layout/layout.module.js +0 -18
  112. package/esm2015/lib/pipes/search-filter.pipe.js +0 -62
  113. package/lib/{components → v2/components}/agent-info/agent-info.module.d.ts +0 -0
  114. package/lib/{components → v2/components}/bottom-sheet/bottom-sheet.module.d.ts +0 -0
  115. package/lib/{components → v2/components}/components.module.d.ts +0 -0
  116. package/lib/{components → v2/components}/map-view/map-view.module.d.ts +0 -0
  117. package/lib/{components → v2/components}/primary-actions/primary-actions.module.d.ts +0 -0
  118. package/lib/{components → v2/components}/task-detail/task-detail.module.d.ts +0 -0
  119. package/lib/{components → v2/components}/task-item/task-item.constant.d.ts +0 -0
  120. package/lib/{components → v2/components}/task-item/task-item.module.d.ts +0 -0
  121. package/lib/{components → v2/components}/task-item-status/task-item-status.module.d.ts +0 -0
  122. package/lib/{components → v2/components}/task-list/task-list.module.d.ts +0 -0
  123. package/lib/{components → v2/components}/task-list-search/task-list-search.module.d.ts +0 -0
  124. package/lib/{components → v2/components}/task-preview/task-preview.module.d.ts +0 -0
  125. package/lib/{helpers → v2/helpers}/array.helper.d.ts +0 -0
  126. package/lib/{helpers → v2/helpers}/date.helplers.d.ts +1 -1
  127. /package/lib/{layout → v2/layout}/layout-body/layout-body.module.d.ts +0 -0
  128. /package/lib/{layout → v2/layout}/layout-header/layout-header.module.d.ts +0 -0
  129. /package/lib/{layout → v2/layout}/layout.module.d.ts +0 -0
@@ -0,0 +1,177 @@
1
+ import { __awaiter } from "tslib";
2
+ import { Component, EventEmitter, HostListener, Inject, Input, Output, ViewChild } from "@angular/core";
3
+ import { MapInfoWindow } from "@angular/google-maps";
4
+ import { TuiDialogService } from "@taiga-ui/core";
5
+ import { isNotEmptyValue } from "kwikid-toolkit";
6
+ import { catchError, map } from "rxjs/operators";
7
+ import { of } from "rxjs";
8
+ import * as i0 from "@angular/core";
9
+ import * as i1 from "./services/google-maps.service";
10
+ import * as i2 from "./services/agent.service";
11
+ import * as i3 from "@angular/common/http";
12
+ import * as i4 from "kwikui";
13
+ import * as i5 from "@angular/google-maps";
14
+ import * as i6 from "./components/customer-details/customer-details.component";
15
+ import * as i7 from "./components/customer-list/customer-list.component";
16
+ import * as i8 from "kwikid-forms";
17
+ import * as i9 from "@angular/common";
18
+ import * as i10 from "@taiga-ui/cdk";
19
+ import * as i11 from "@taiga-ui/core";
20
+ export class KwikIDAgentDashboardComponentV1 {
21
+ constructor(googleMapsService, agentService, httpClient, hostElement, dialogService) {
22
+ this.googleMapsService = googleMapsService;
23
+ this.agentService = agentService;
24
+ this.httpClient = httpClient;
25
+ this.hostElement = hostElement;
26
+ this.dialogService = dialogService;
27
+ this.config = {};
28
+ this.taskList = [];
29
+ this.nextStep = new EventEmitter();
30
+ this.addTask = new EventEmitter();
31
+ this.removeTask = new EventEmitter();
32
+ this.filterTaskList = new EventEmitter();
33
+ this.onClickPerformAction = new EventEmitter();
34
+ this.loading = true;
35
+ this.console = console;
36
+ this.open = false;
37
+ this.allFormsData = {};
38
+ this.String = String;
39
+ }
40
+ windowResizeWatcher() {
41
+ if (this.hostElement.nativeElement.offsetWidth < 600) {
42
+ this.isMobileView = true;
43
+ this.agentService.isMobileView = true;
44
+ }
45
+ else {
46
+ this.isMobileView = false;
47
+ this.agentService.isMobileView = false;
48
+ }
49
+ }
50
+ ngOnInit() {
51
+ var _a, _b, _c, _d, _e, _f, _g, _h, _j, _k, _l, _m;
52
+ return __awaiter(this, void 0, void 0, function* () {
53
+ this.agentService.config = this.config;
54
+ this.agentService.showMapview = (_c = (_b = (_a = this.config) === null || _a === void 0 ? void 0 : _a.dashboard) === null || _b === void 0 ? void 0 : _b.isShowMaps) !== null && _c !== void 0 ? _c : false;
55
+ this.agentService.addTaskForm =
56
+ (_f = (_e = (_d = this.config) === null || _d === void 0 ? void 0 : _d.dashboard) === null || _e === void 0 ? void 0 : _e.addTaskForm) !== null && _f !== void 0 ? _f : this.agentService.addTaskForm;
57
+ if (((_h = (_g = this.config) === null || _g === void 0 ? void 0 : _g.dashboard) === null || _h === void 0 ? void 0 : _h.mapType) === "google-maps" &&
58
+ isNotEmptyValue((_k = (_j = this.config) === null || _j === void 0 ? void 0 : _j.dashboard) === null || _k === void 0 ? void 0 : _k.googleMapsAPIKey)) {
59
+ this.loadMaps((_m = (_l = this.config) === null || _l === void 0 ? void 0 : _l.dashboard) === null || _m === void 0 ? void 0 : _m.googleMapsAPIKey).subscribe((loaded) => {
60
+ this.mapsLoaded = loaded;
61
+ if (loaded) {
62
+ console.log("Google Maps JavaScript API loaded successfully.");
63
+ this.loading = false;
64
+ // Initialize and render Google Map here
65
+ }
66
+ else {
67
+ console.error("Google Maps JavaScript API failed to load.");
68
+ this.loading = false;
69
+ }
70
+ });
71
+ }
72
+ else {
73
+ this.mapsLoaded = true;
74
+ this.loading = false;
75
+ }
76
+ setTimeout(() => {
77
+ this.windowResizeWatcher();
78
+ }, 1000);
79
+ });
80
+ }
81
+ // Load Google Maps
82
+ loadMaps(apiKey) {
83
+ const url = `https://maps.googleapis.com/maps/api/js?key=${apiKey}&v=3.exp&libraries=geometry,drawing,places`;
84
+ this.googleMapsService.apiKey = apiKey;
85
+ return this.httpClient.jsonp(url, "callback").pipe(map(() => true), catchError(() => {
86
+ console.error("Error loading Google Maps JavaScript API.");
87
+ return of(false);
88
+ }));
89
+ }
90
+ handleOnClickNext(e) {
91
+ this.nextStep.emit(e);
92
+ }
93
+ handleOnClickAddTask(task) {
94
+ this.addTask.emit(task);
95
+ }
96
+ handleOnClickRemoveTask(task) {
97
+ this.removeTask.emit(task);
98
+ }
99
+ handleOnFilterTaskList(filter) {
100
+ this.filterTaskList.emit(filter);
101
+ }
102
+ refresh() {
103
+ this.handleOnFilterTaskList({});
104
+ }
105
+ onClick() {
106
+ this.open = !this.open;
107
+ }
108
+ onObscured(obscured) {
109
+ if (obscured) {
110
+ this.open = false;
111
+ }
112
+ }
113
+ onActiveZone(active) {
114
+ this.open = active && this.open;
115
+ }
116
+ close() {
117
+ this.open = false;
118
+ if (this.dialogSubscription) {
119
+ this.dialogSubscription.unsubscribe();
120
+ }
121
+ }
122
+ showDialog(content) {
123
+ this.dialogSubscription = this.dialogService
124
+ .open(content, { closeable: false, dismissible: false })
125
+ .subscribe();
126
+ }
127
+ openInfoWindow(marker) {
128
+ this.infoWindow.open(marker);
129
+ }
130
+ handleOnClickSaveForm(e) {
131
+ this.handleOnClickAddTask(e.data);
132
+ this.close();
133
+ }
134
+ handleOnClickLogout() {
135
+ this.handleOnClickPerformAction({ action: { type: "logout" } });
136
+ }
137
+ handleOnClickPerformAction(event) {
138
+ this.onClickPerformAction.emit(event);
139
+ }
140
+ }
141
+ /** @nocollapse */ KwikIDAgentDashboardComponentV1.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDAgentDashboardComponentV1, deps: [{ token: i1.GoogleMapsService }, { token: i2.AgentService }, { token: i3.HttpClient }, { token: i0.ElementRef }, { token: TuiDialogService }], target: i0.ɵɵFactoryTarget.Component });
142
+ /** @nocollapse */ KwikIDAgentDashboardComponentV1.ɵcmp = i0.ɵɵngDeclareComponent({ minVersion: "12.0.0", version: "12.2.17", type: KwikIDAgentDashboardComponentV1, selector: "kwikid-agent-dashboard-v1", inputs: { config: "config", taskList: "taskList" }, outputs: { nextStep: "nextStep", addTask: "addTask", removeTask: "removeTask", filterTaskList: "filterTaskList", onClickPerformAction: "onClickPerformAction" }, host: { listeners: { "window:resize": "windowResizeWatcher($event)" } }, viewQueries: [{ propertyName: "infoWindow", first: true, predicate: MapInfoWindow, descendants: true }, { propertyName: "mapElement", first: true, predicate: ["map"], descendants: true, static: true }], ngImport: i0, template: "<div\n class=\"kwikid-agent-dashboard\"\n *ngIf=\"!loading\"\n>\n <div class=\"wrapper\">\n <header>\n <span (tuiActiveZoneChange)=\"onActiveZone($event)\">\n <kwikui-button\n [icon]=\"'tuiIconMenuLarge'\"\n (onClick)=\"onClick()\"\n appearance=\"mono\"\n size=\"m\"\n [tuiDropdown]=\"dropdownContent\"\n [tuiDropdownManual]=\"open\"\n (tuiObscured)=\"onObscured($event)\"\n ></kwikui-button>\n <ng-template #dropdownContent>\n <div class=\"menu-dropdown\">\n <div class=\"menu-dropdown-header\">\n <!-- <img\n *ngIf=\"\n agentService.config?.clientLogo &&\n agentService.config?.dashboard?.isShowClientLogo\n \"\n [src]=\"agentService.config.clientLogo\"\n class=\"client-logo\"\n />\n <div\n *ngIf=\"\n !agentService.config.clientLogo ||\n !agentService.config?.dashboard?.isShowClientLogo\n \"\n class=\"client-name\"\n >\n <kwikui-button\n [icon]=\"'tuiIconLink'\"\n appearance=\"mono\"\n size=\"m\"\n ></kwikui-button>\n\n {{ agentService.config.clientName }}\n </div> -->\n <div class=\"menu-dropdown-header-agent-name\">\n {{ agentService.config.agentName }}\n </div>\n <div class=\"menu-dropdown-header-agent-id\">\n Agent ID: {{ agentService.config.agentId }}\n </div>\n </div>\n <hr />\n <div\n class=\"menu-dropdown-body\"\n tuiGroup\n [collapsed]=\"true\"\n [rounded]=\"false\"\n [orientation]=\"'vertical'\"\n [size]=\"'m'\"\n >\n <kwikui-button\n *ngIf=\"agentService.config?.dashboard?.isAllowAddTask\"\n appearance=\"mono\"\n class=\"menu-dropdown-buttons\"\n label=\"Refresh\"\n [icon]=\"'tuiIconRefreshCw'\"\n size=\"m\"\n type=\"button\"\n (onClick)=\"refresh()\"\n ></kwikui-button>\n <kwikui-button\n *ngIf=\"this.config.dashboard.isShowMaps\"\n appearance=\"mono\"\n class=\"menu-dropdown-buttons\"\n label=\"{{\n agentService.showMapview ? 'Hide Maps' : 'Show Maps'\n }}\"\n type=\"button\"\n icon=\"{{\n agentService.showMapview ? 'tuiIconEyeOff' : 'tuiIconEye'\n }}\"\n iconRight=\"\"\n [shape]=\"null\"\n size=\"m\"\n styles=\"padding: 0rem !important\"\n (onClick)=\"agentService.toggleMapview()\"\n ></kwikui-button>\n </div>\n <hr />\n <div class=\"menu-dropdown-footer\">\n <kwikui-button\n appearance=\"mono\"\n class=\"menu-dropdown-buttons\"\n label=\"Logout\"\n icon=\"tuiIconLogOut\"\n size=\"m\"\n type=\"button\"\n (onClick)=\"handleOnClickLogout()\"\n ></kwikui-button>\n </div>\n </div>\n </ng-template>\n </span>\n <div class=\"actions\">\n <kwikui-button\n *ngIf=\"agentService.config?.dashboard?.isAllowAddTask\"\n class=\"menu-dropdown-buttons\"\n type=\"button\"\n appearance=\"primary\"\n [label]=\"\n agentService.config?.dashboard?.addTaskButtonLabel ?? 'Add User'\n \"\n icon=\"tuiIconPlus\"\n shape=\"rounded\"\n size=\"s\"\n (onClick)=\"showDialog(template)\"\n ></kwikui-button>\n </div>\n </header>\n\n <div class=\"dashboard-body\">\n <div\n *ngIf=\"mapsLoaded\"\n [class]=\"agentService.showMapview ? 'map' : 'map-hidden'\"\n >\n <google-map\n *ngIf=\"agentService.config?.dashboard?.mapType == 'google-maps'\"\n [options]=\"this.googleMapsService.map\"\n height=\"100%\"\n width=\"100%\"\n >\n <map-marker\n #marker=\"mapMarker\"\n *ngFor=\"\n let markerPosition of this.googleMapsService.allMarkers;\n let index = index\n \"\n [position]=\"markerPosition\"\n [label]=\"{ text: String(index) }\"\n ></map-marker>\n <map-directions-renderer\n *ngIf=\"\n this.googleMapsService.directionsResults$\n | async as directionsResults\n \"\n [directions]=\"directionsResults\"\n [options]=\"this.googleMapsService.directionsRenderOption\"\n ></map-directions-renderer>\n </google-map>\n\n <div\n *ngIf=\"agentService.config?.dashboard?.mapType == 'open-street'\"\n id=\"map\"\n style=\"height: 100%\"\n ></div>\n </div>\n\n <div\n class=\"task-details\"\n *ngIf=\"\n !agentService.isMobileView &&\n agentService.currentTaskDetails != undefined &&\n !agentService.showMapview\n \"\n >\n <customer-details\n [customer]=\"agentService.currentTaskDetails\"\n [config]=\"config\"\n (nextStep)=\"handleOnClickNext($event)\"\n (removeTask)=\"handleOnClickRemoveTask($event)\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></customer-details>\n </div>\n\n <div\n class=\"no-task-details\"\n *ngIf=\"\n !agentService.isMobileView &&\n agentService.currentTaskDetails == undefined &&\n !agentService.showMapview\n \"\n >\n <img\n src=\"assets/No-Results.jpg\"\n class=\"no-task-img\"\n alt=\"No Task\"\n />\n <div class=\"\">Select a Task to view it's details.</div>\n </div>\n\n <div class=\"customer-list\">\n <customer-list\n [customers]=\"taskList\"\n [config]=\"config\"\n (nextStep)=\"handleOnClickNext($event)\"\n (removeTask)=\"handleOnClickRemoveTask($event)\"\n (filterTaskList)=\"handleOnFilterTaskList($event)\"\n (onClickPerformAction)=\"handleOnClickPerformAction($event)\"\n ></customer-list>\n </div>\n </div>\n </div>\n</div>\n\n<div\n class=\"kwikid-agent-dashboard-loader\"\n *ngIf=\"loading\"\n>\n <span class=\"loader\"></span>\n</div>\n\n<ng-template\n #template\n let-observer\n>\n <div class=\"add-task-header\">\n <h2>{{ agentService?.addTaskForm?.title ?? \"Create User\" }}</h2>\n <kwikui-button\n icon=\"tuiIconX\"\n id=\"\"\n styles=\"\"\n type=\"button\"\n appearance=\"mono\"\n [shape]=\"null\"\n size=\"m\"\n (onClick)=\"observer.complete()\"\n ></kwikui-button>\n </div>\n <kwikid-form-view\n [allFormsData]=\"allFormsData\"\n [formConfig]=\"agentService.addTaskForm\"\n [isMobileView]=\"true\"\n (onClickSaveForm)=\"this.handleOnClickSaveForm($event)\"\n ></kwikid-form-view>\n</ng-template>\n", styles: [".kwikid-agent-dashboard{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center;width:100%;height:100%;position:relative}.kwikid-agent-dashboard .wrapper{width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:space-between;align-items:stretch}.kwikid-agent-dashboard .wrapper header{display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;grid-column-gap:1rem;column-gap:1rem;padding:1rem;max-height:80px;border:1px solid #cdcdcd}.kwikid-agent-dashboard .wrapper header .actions{display:flex;flex-direction:row;align-items:center}.kwikid-agent-dashboard .wrapper header .actions>*{margin-right:.5rem}.kwikid-agent-dashboard .wrapper .dashboard-body{display:flex;flex-direction:column;align-content:center;justify-content:center;align-items:stretch;flex:1;overflow:auto}.kwikid-agent-dashboard .wrapper .dashboard-body .map{width:100%;height:100%;position:relative;overflow:hidden}.kwikid-agent-dashboard .wrapper .dashboard-body .map-hidden{visibility:collapse}.kwikid-agent-dashboard .wrapper .dashboard-body .customer-list{width:100%;height:100%;overflow:hidden}@media screen and (min-width: 600px){.kwikid-agent-dashboard{display:flex;flex-direction:column;justify-content:flex-start;align-items:stretch;align-content:center;width:100%;height:100%}.kwikid-agent-dashboard .wrapper{width:100%;height:100%;display:flex;flex-direction:column;align-content:center;justify-content:space-between;align-items:stretch}.kwikid-agent-dashboard .wrapper header{display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;grid-column-gap:1rem;column-gap:1rem;padding:.75rem;max-height:80px;border:1px solid #cdcdcd}.kwikid-agent-dashboard .wrapper header .client-name{display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;font-size:1rem;font-weight:600}.kwikid-agent-dashboard .wrapper .dashboard-body{display:flex;flex-direction:row-reverse;align-content:center;justify-content:flex-end;align-items:stretch;overflow:auto}.kwikid-agent-dashboard .wrapper .dashboard-body .map{width:100%;height:100%;position:relative;overflow:hidden;border:1px solid #cdcdcd;border-radius:.5rem}.kwikid-agent-dashboard .wrapper .dashboard-body .map-hidden{visibility:collapse}.kwikid-agent-dashboard .wrapper .dashboard-body .task-details{width:100%;height:100%;position:relative;overflow:hidden;border:1px solid #cdcdcd}.kwikid-agent-dashboard .wrapper .dashboard-body .no-task-details{width:100%;height:100%;display:flex;flex-direction:column;justify-content:center;align-items:center;grid-gap:.5rem;gap:.5rem;overflow:hidden;color:#555}.kwikid-agent-dashboard .wrapper .dashboard-body .no-task-details .no-task-img{height:100px;width:100px}.kwikid-agent-dashboard .wrapper .dashboard-body .customer-list{min-width:300px;max-width:320px;width:100%;height:100%;overflow:hidden;border:1px solid #cdcdcd}}.menu{position:absolute;transition:\"0.15s linear 0s\"}.kwikid-agent-dashboard-loader{position:absolute;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.75);display:flex;flex-direction:row;align-content:center;justify-content:center;align-items:center;z-index:100}.kwikid-agent-dashboard-loader .loader{width:48px;height:48px;border-radius:50%;display:inline-block;position:relative;border:3px solid;border-color:#fff #fff transparent;box-sizing:border-box;animation:rotation 1s linear infinite}.kwikid-agent-dashboard-loader .loader:after{content:\"\";box-sizing:border-box;position:absolute;left:0;right:0;top:0;bottom:0;margin:auto;border:3px solid;border-color:transparent var(--tui-primary) var(--tui-primary);width:24px;height:24px;border-radius:50%;animation:rotationBack .5s linear infinite;transform-origin:center center}@keyframes rotation{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes rotationBack{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}.kwikid-agent-dashboard-loader .t-loader{display:none!important}.add-task-header{display:flex;flex-direction:row;justify-content:space-between;align-items:center;padding:.5rem 0 1rem 1rem}:host{width:100%;height:100%}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{border-radius:10px}::-webkit-scrollbar-thumb{background:lightgray;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:gray}.menu-dropdown{display:flex;flex-direction:column;justify-content:space-between;align-items:stretch;grid-gap:.5rem;gap:.5rem;padding:1rem 1.5rem}.menu-dropdown .menu-dropdown-header{display:flex;flex-direction:column;align-content:flex-start;justify-content:space-between;align-items:flex-start;grid-gap:1rem;gap:1rem}.menu-dropdown .menu-dropdown-header .menu-dropdown-header-agent-name{font-size:1.2rem;margin:0 auto;font-weight:600}.menu-dropdown .menu-dropdown-header .menu-dropdown-header-agent-id{font-size:.8rem;margin:0 auto;font-weight:600}.menu-dropdown .menu-dropdown-buttons ::ng-deep .t-wrapper{padding:0!important}.client-logo{height:40px;width:-moz-fit-content;width:fit-content;margin:0 auto;padding-left:1rem}.client-name{display:flex;flex-direction:row;align-content:center;justify-content:space-between;align-items:center;font-size:1rem;margin:0 auto;font-weight:600}\n"], components: [{ type: i4.KwikUIButtonComponent, selector: "kwikui-button", inputs: ["appearance", "class", "disabled", "icon", "iconRight", "id", "label", "shape", "showLoader", "size", "styles", "type", "pseudoHover"], outputs: ["onClick"] }, { type: i5.GoogleMap, selector: "google-map", inputs: ["height", "width", "center", "zoom", "options", "mapTypeId"], outputs: ["authFailure", "boundsChanged", "centerChanged", "mapClick", "mapDblclick", "mapDrag", "mapDragend", "mapDragstart", "headingChanged", "idle", "maptypeidChanged", "mapMousemove", "mapMouseout", "mapMouseover", "projectionChanged", "mapRightclick", "tilesloaded", "tiltChanged", "zoomChanged"], exportAs: ["googleMap"] }, { type: i6.CustomerDetailsComponent, selector: "customer-details", inputs: ["customer", "config"], outputs: ["nextStep", "removeTask", "onClickPerformAction"] }, { type: i7.CustomerListComponent, selector: "customer-list", inputs: ["customers", "config"], outputs: ["nextStep", "removeTask", "filterTaskList", "onClickPerformAction"] }, { type: i8.KwikIDFormViewComponent, selector: "kwikid-form-view", inputs: ["allFormsData", "extraData", "apiCallResponse", "buttonClickResponse", "formConfig", "formData", "isMobileView", "popupFormCallback", "userConfig", "stepConfig"], outputs: ["getLogs", "getUnsavedDataState", "onActionShowPopupForm", "onClickApiCall", "onClickViewFile", "onClickFormFieldButton", "onClickGoBack", "onClickSaveForm", "onClickViewForms"] }], directives: [{ type: i9.NgIf, selector: "[ngIf]", inputs: ["ngIf", "ngIfThen", "ngIfElse"] }, { type: i10.TuiActiveZoneDirective, selector: "[tuiActiveZone]:not(ng-container), [tuiActiveZoneChange]:not(ng-container), [tuiActiveZoneParent]:not(ng-container)", inputs: ["tuiActiveZoneParent"], outputs: ["tuiActiveZoneChange"], exportAs: ["tuiActiveZone"] }, { type: i11.TuiDropdownDirective, selector: "[tuiDropdown]:not(ng-container)", inputs: ["tuiDropdown"], exportAs: ["tuiDropdown"] }, { type: i11.TuiDropdownDriverDirective, selector: "[tuiDropdown]" }, { type: i11.TuiDropdownPositionDirective, selector: "[tuiDropdown]" }, { type: i11.TuiDropdownManualDirective, selector: "[tuiDropdown][tuiDropdownManual]", inputs: ["tuiDropdownManual"] }, { type: i11.TuiGroupDirective, selector: "[tuiGroup]:not(ng-container)", inputs: ["orientation", "adaptive", "collapsed", "rounded", "size"] }, { type: i9.NgForOf, selector: "[ngFor][ngForOf]", inputs: ["ngForOf", "ngForTrackBy", "ngForTemplate"] }, { type: i5.MapMarker, selector: "map-marker", inputs: ["title", "position", "label", "clickable", "options", "icon", "visible"], outputs: ["animationChanged", "mapClick", "clickableChanged", "cursorChanged", "mapDblclick", "mapDrag", "mapDragend", "draggableChanged", "mapDragstart", "flatChanged", "iconChanged", "mapMousedown", "mapMouseout", "mapMouseover", "mapMouseup", "positionChanged", "mapRightclick", "shapeChanged", "titleChanged", "visibleChanged", "zindexChanged"], exportAs: ["mapMarker"] }, { type: i5.MapDirectionsRenderer, selector: "map-directions-renderer", inputs: ["directions", "options"], outputs: ["directionsChanged"], exportAs: ["mapDirectionsRenderer"] }], pipes: { "async": i9.AsyncPipe } });
143
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDAgentDashboardComponentV1, decorators: [{
144
+ type: Component,
145
+ args: [{
146
+ selector: "kwikid-agent-dashboard-v1",
147
+ templateUrl: "./kwikid-agent-dashboard.component.html",
148
+ styleUrls: ["./kwikid-agent-dashboard.component.scss"]
149
+ }]
150
+ }], ctorParameters: function () { return [{ type: i1.GoogleMapsService }, { type: i2.AgentService }, { type: i3.HttpClient }, { type: i0.ElementRef }, { type: i11.TuiDialogService, decorators: [{
151
+ type: Inject,
152
+ args: [TuiDialogService]
153
+ }] }]; }, propDecorators: { windowResizeWatcher: [{
154
+ type: HostListener,
155
+ args: ["window:resize", ["$event"]]
156
+ }], config: [{
157
+ type: Input
158
+ }], taskList: [{
159
+ type: Input
160
+ }], nextStep: [{
161
+ type: Output
162
+ }], addTask: [{
163
+ type: Output
164
+ }], removeTask: [{
165
+ type: Output
166
+ }], filterTaskList: [{
167
+ type: Output
168
+ }], onClickPerformAction: [{
169
+ type: Output
170
+ }], infoWindow: [{
171
+ type: ViewChild,
172
+ args: [MapInfoWindow, { static: false }]
173
+ }], mapElement: [{
174
+ type: ViewChild,
175
+ args: ["map", { static: true }]
176
+ }] } });
177
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3dpa2lkLWFnZW50LWRhc2hib2FyZC5jb21wb25lbnQuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtYWdlbnQtZGFzaGJvYXJkL3NyYy9saWIvdjEva3dpa2lkLWFnZW50LWRhc2hib2FyZC5jb21wb25lbnQudHMiLCIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtYWdlbnQtZGFzaGJvYXJkL3NyYy9saWIvdjEva3dpa2lkLWFnZW50LWRhc2hib2FyZC5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBR0EsT0FBTyxFQUNMLFNBQVMsRUFFVCxZQUFZLEVBQ1osWUFBWSxFQUNaLE1BQU0sRUFDTixLQUFLLEVBRUwsTUFBTSxFQUNOLFNBQVMsRUFDVixNQUFNLGVBQWUsQ0FBQztBQUN2QixPQUFPLEVBQUUsYUFBYSxFQUFhLE1BQU0sc0JBQXNCLENBQUM7QUFDaEUsT0FBTyxFQUFvQixnQkFBZ0IsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBRXBFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxnQkFBZ0IsQ0FBQztBQUNqRCxPQUFPLEVBQUUsVUFBVSxFQUFFLEdBQUcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2pELE9BQU8sRUFBYyxFQUFFLEVBQUUsTUFBTSxNQUFNLENBQUM7Ozs7Ozs7Ozs7Ozs7QUFTdEMsTUFBTSxPQUFPLCtCQUErQjtJQWlEMUMsWUFDUyxpQkFBb0MsRUFDcEMsWUFBMEIsRUFDMUIsVUFBc0IsRUFDckIsV0FBdUIsRUFDWSxhQUErQjtRQUpuRSxzQkFBaUIsR0FBakIsaUJBQWlCLENBQW1CO1FBQ3BDLGlCQUFZLEdBQVosWUFBWSxDQUFjO1FBQzFCLGVBQVUsR0FBVixVQUFVLENBQVk7UUFDckIsZ0JBQVcsR0FBWCxXQUFXLENBQVk7UUFDWSxrQkFBYSxHQUFiLGFBQWEsQ0FBa0I7UUF2QzVFLFdBQU0sR0FBUSxFQUFFLENBQUM7UUFH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QixZQUFZO3VCQUFDLGVBQWUsRUFBRSxDQUFDLFFBQVEsQ0FBQztnQkFjekMsTUFBTTtzQkFETCxLQUFLO2dCQUlOLFFBQVE7c0JBRFAsS0FBSztnQkFJTixRQUFRO3NCQURQLE1BQU07Z0JBSVAsT0FBTztzQkFETixNQUFNO2dCQUlQLFVBQVU7c0JBRFQsTUFBTTtnQkFJUCxjQUFjO3NCQURiLE1BQU07Z0JBSVAsb0JBQW9CO3NCQURuQixNQUFNO2dCQU9zQyxVQUFVO3NCQUF0RCxTQUFTO3VCQUFDLGFBQWEsRUFBRSxFQUFFLE1BQU0sRUFBRSxLQUFLLEVBQUU7Z0JBRVAsVUFBVTtzQkFBN0MsU0FBUzt1QkFBQyxLQUFLLEVBQUUsRUFBRSxNQUFNLEVBQUUsSUFBSSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgbm8tbWFnaWMtbnVtYmVycyAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tZW1wdHktZnVuY3Rpb24gKi9cbmltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tIFwiQGFuZ3VsYXIvY29tbW9uL2h0dHBcIjtcbmltcG9ydCB7XG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgRXZlbnRFbWl0dGVyLFxuICBIb3N0TGlzdGVuZXIsXG4gIEluamVjdCxcbiAgSW5wdXQsXG4gIE9uSW5pdCxcbiAgT3V0cHV0LFxuICBWaWV3Q2hpbGRcbn0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcbmltcG9ydCB7IE1hcEluZm9XaW5kb3csIE1hcE1hcmtlciB9IGZyb20gXCJAYW5ndWxhci9nb29nbGUtbWFwc1wiO1xuaW1wb3J0IHsgVHVpRGlhbG9nQ29udGV4dCwgVHVpRGlhbG9nU2VydmljZSB9IGZyb20gXCJAdGFpZ2EtdWkvY29yZVwiO1xuaW1wb3J0IHsgUG9seW1vcnBoZXVzQ29udGVudCB9IGZyb20gXCJAdGlua29mZi9uZy1wb2x5bW9ycGhldXNcIjtcbmltcG9ydCB7IGlzTm90RW1wdHlWYWx1ZSB9IGZyb20gXCJrd2lraWQtdG9vbGtpdFwiO1xuaW1wb3J0IHsgY2F0Y2hFcnJvciwgbWFwIH0gZnJvbSBcInJ4anMvb3BlcmF0b3JzXCI7XG5pbXBvcnQgeyBPYnNlcnZhYmxlLCBvZiB9IGZyb20gXCJyeGpzXCI7XG5pbXBvcnQgeyBBZ2VudFNlcnZpY2UgfSBmcm9tIFwiLi9zZXJ2aWNlcy9hZ2VudC5zZXJ2aWNlXCI7XG5pbXBvcnQgeyBHb29nbGVNYXBzU2VydmljZSB9IGZyb20gXCIuL3NlcnZpY2VzL2dvb2dsZS1tYXBzLnNlcnZpY2VcIjtcblxuQENvbXBvbmVudCh7XG4gIHNlbGVjdG9yOiBcImt3aWtpZC1hZ2VudC1kYXNoYm9hcmQtdjFcIixcbiAgdGVtcGxhdGVVcmw6IFwiLi9rd2lraWQtYWdlbnQtZGFzaGJvYXJkLmNvbXBvbmVudC5odG1sXCIsXG4gIHN0eWxlVXJsczogW1wiLi9rd2lraWQtYWdlbnQtZGFzaGJvYXJkLmNvbXBvbmVudC5zY3NzXCJdXG59KVxuZXhwb3J0IGNsYXNzIEt3aWtJREFnZW50RGFzaGJvYXJkQ29tcG9uZW50VjEgaW1wbGVtZW50cyBPbkluaXQge1xuICBASG9zdExpc3RlbmVyKFwid2luZG93OnJlc2l6ZVwiLCBbXCIkZXZlbnRcIl0pXG4gIHdpbmRvd1Jlc2l6ZVdhdGNoZXIoKSB7XG4gICAgaWYgKHRoaXMuaG9zdEVsZW1lbnQubmF0aXZlRWxlbWVudC5vZmZzZXRXaWR0aCA8IDYwMCkge1xuICAgICAgdGhpcy5pc01vYmlsZVZpZXcgPSB0cnVlO1xuICAgICAgdGhpcy5hZ2VudFNlcnZpY2UuaXNNb2JpbGVWaWV3ID0gdHJ1ZTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5pc01vYmlsZVZpZXcgPSBmYWxzZTtcbiAgICAgIHRoaXMuYWdlbnRTZXJ2aWNlLmlzTW9iaWxlVmlldyA9IGZhbHNlO1xuICAgIH1cbiAgfVxuXG4gIGlzTW9iaWxlVmlldztcblxuICBASW5wdXQoKVxuICBjb25maWc6IGFueSA9IHt9O1xuXG4gIEBJbnB1dCgpXG4gIHRhc2tMaXN0OiBBcnJheTxhbnk+ID0gW107XG5cbiAgQE91dHB1dCgpXG4gIG5leHRTdGVwID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKVxuICBhZGRUYXNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKVxuICByZW1vdmVUYXNrID0gbmV3IEV2ZW50RW1pdHRlcigpO1xuXG4gIEBPdXRwdXQoKVxuICBmaWx0ZXJUYXNrTGlzdCA9IG5ldyBFdmVudEVtaXR0ZXIoKTtcblxuICBAT3V0cHV0KClcbiAgb25DbGlja1BlcmZvcm1BY3Rpb246IEV2ZW50RW1pdHRlcjxhbnk+ID0gbmV3IEV2ZW50RW1pdHRlcjxhbnk+KCk7XG5cbiAgbG9hZGluZyA9IHRydWU7XG5cbiAgbWFwOiBhbnk7XG5cbiAgQFZpZXdDaGlsZChNYXBJbmZvV2luZG93LCB7IHN0YXRpYzogZmFsc2UgfSkgaW5mb1dpbmRvdzogTWFwSW5mb1dpbmRvdztcblxuICBAVmlld0NoaWxkKFwibWFwXCIsIHsgc3RhdGljOiB0cnVlIH0pIG1hcEVsZW1lbnQ6IEVsZW1lbnRSZWY7XG5cbiAgbWFwc0xvYWRlZDogYm9vbGVhbjtcblxuICBjb25zb2xlID0gY29uc29sZTtcblxuICBkaWFsb2dTdWJzY3JpcHRpb247XG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIGdvb2dsZU1hcHNTZXJ2aWNlOiBHb29nbGVNYXBzU2VydmljZSxcbiAgICBwdWJsaWMgYWdlbnRTZXJ2aWNlOiBBZ2VudFNlcnZpY2UsXG4gICAgcHVibGljIGh0dHBDbGllbnQ6IEh0dHBDbGllbnQsXG4gICAgcHJpdmF0ZSBob3N0RWxlbWVudDogRWxlbWVudFJlZixcbiAgICBASW5qZWN0KFR1aURpYWxvZ1NlcnZpY2UpIHByaXZhdGUgcmVhZG9ubHkgZGlhbG9nU2VydmljZTogVHVpRGlhbG9nU2VydmljZVxuICApIHt9XG5cbiAgYXN5bmMgbmdPbkluaXQoKSB7XG4gICAgdGhpcy5hZ2VudFNlcnZpY2UuY29uZmlnID0gdGhpcy5jb25maWc7XG4gICAgdGhpcy5hZ2VudFNlcnZpY2Uuc2hvd01hcHZpZXcgPSB0aGlzLmNvbmZpZz8uZGFzaGJvYXJkPy5pc1Nob3dNYXBzID8/IGZhbHNlO1xuICAgIHRoaXMuYWdlbnRTZXJ2aWNlLmFkZFRhc2tGb3JtID1cbiAgICAgIHRoaXMuY29uZmlnPy5kYXNoYm9hcmQ/LmFkZFRhc2tGb3JtID8/IHRoaXMuYWdlbnRTZXJ2aWNlLmFkZFRhc2tGb3JtO1xuXG4gICAgaWYgKFxuICAgICAgdGhpcy5jb25maWc/LmRhc2hib2FyZD8ubWFwVHlwZSA9PT0gXCJnb29nbGUtbWFwc1wiICYmXG4gICAgICBpc05vdEVtcHR5VmFsdWUodGhpcy5jb25maWc/LmRhc2hib2FyZD8uZ29vZ2xlTWFwc0FQSUtleSlcbiAgICApIHtcbiAgICAgIHRoaXMubG9hZE1hcHModGhpcy5jb25maWc/LmRhc2hib2FyZD8uZ29vZ2xlTWFwc0FQSUtleSkuc3Vic2NyaWJlKFxuICAgICAgICAobG9hZGVkOiBib29sZWFuKSA9PiB7XG4gICAgICAgICAgdGhpcy5tYXBzTG9hZGVkID0gbG9hZGVkO1xuICAgICAgICAgIGlmIChsb2FkZWQpIHtcbiAgICAgICAgICAgIGNvbnNvbGUubG9nKFwiR29vZ2xlIE1hcHMgSmF2YVNjcmlwdCBBUEkgbG9hZGVkIHN1Y2Nlc3NmdWxseS5cIik7XG4gICAgICAgICAgICB0aGlzLmxvYWRpbmcgPSBmYWxzZTtcbiAgICAgICAgICAgIC8vIEluaXRpYWxpemUgYW5kIHJlbmRlciBHb29nbGUgTWFwIGhlcmVcbiAgICAgICAgICB9IGVsc2Uge1xuICAgICAgICAgICAgY29uc29sZS5lcnJvcihcIkdvb2dsZSBNYXBzIEphdmFTY3JpcHQgQVBJIGZhaWxlZCB0byBsb2FkLlwiKTtcbiAgICAgICAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgKTtcbiAgICB9IGVsc2Uge1xuICAgICAgdGhpcy5tYXBzTG9hZGVkID0gdHJ1ZTtcbiAgICAgIHRoaXMubG9hZGluZyA9IGZhbHNlO1xuICAgIH1cblxuICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgdGhpcy53aW5kb3dSZXNpemVXYXRjaGVyKCk7XG4gICAgfSwgMTAwMCk7XG4gIH1cblxuICAvLyBMb2FkIEdvb2dsZSBNYXBzXG4gIGxvYWRNYXBzKGFwaUtleSk6IE9ic2VydmFibGU8Ym9vbGVhbj4ge1xuICAgIGNvbnN0IHVybCA9IGBodHRwczovL21hcHMuZ29vZ2xlYXBpcy5jb20vbWFwcy9hcGkvanM/a2V5PSR7YXBpS2V5fSZ2PTMuZXhwJmxpYnJhcmllcz1nZW9tZXRyeSxkcmF3aW5nLHBsYWNlc2A7XG4gICAgdGhpcy5nb29nbGVNYXBzU2VydmljZS5hcGlLZXkgPSBhcGlLZXk7XG5cbiAgICByZXR1cm4gdGhpcy5odHRwQ2xpZW50Lmpzb25wKHVybCwgXCJjYWxsYmFja1wiKS5waXBlKFxuICAgICAgbWFwKCgpID0+IHRydWUpLFxuICAgICAgY2F0Y2hFcnJvcigoKSA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoXCJFcnJvciBsb2FkaW5nIEdvb2dsZSBNYXBzIEphdmFTY3JpcHQgQVBJLlwiKTtcbiAgICAgICAgcmV0dXJuIG9mKGZhbHNlKTtcbiAgICAgIH0pXG4gICAgKTtcbiAgfVxuXG4gIGhhbmRsZU9uQ2xpY2tOZXh0KGUpIHtcbiAgICB0aGlzLm5leHRTdGVwLmVtaXQoZSk7XG4gIH1cblxuICBoYW5kbGVPbkNsaWNrQWRkVGFzayh0YXNrKSB7XG4gICAgdGhpcy5hZGRUYXNrLmVtaXQodGFzayk7XG4gIH1cblxuICBoYW5kbGVPbkNsaWNrUmVtb3ZlVGFzayh0YXNrKSB7XG4gICAgdGhpcy5yZW1vdmVUYXNrLmVtaXQodGFzayk7XG4gIH1cblxuICBoYW5kbGVPbkZpbHRlclRhc2tMaXN0KGZpbHRlcikge1xuICAgIHRoaXMuZmlsdGVyVGFza0xpc3QuZW1pdChmaWx0ZXIpO1xuICB9XG5cbiAgcmVmcmVzaCgpIHtcbiAgICB0aGlzLmhhbmRsZU9uRmlsdGVyVGFza0xpc3Qoe30pO1xuICB9XG5cbiAgb3BlbiA9IGZhbHNlO1xuXG4gIG9uQ2xpY2soKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuID0gIXRoaXMub3BlbjtcbiAgfVxuXG4gIGFsbEZvcm1zRGF0YSA9IHt9O1xuXG4gIFN0cmluZyA9IFN0cmluZztcblxuICBvbk9ic2N1cmVkKG9ic2N1cmVkOiBib29sZWFuKTogdm9pZCB7XG4gICAgaWYgKG9ic2N1cmVkKSB7XG4gICAgICB0aGlzLm9wZW4gPSBmYWxzZTtcbiAgICB9XG4gIH1cblxuICBvbkFjdGl2ZVpvbmUoYWN0aXZlOiBib29sZWFuKTogdm9pZCB7XG4gICAgdGhpcy5vcGVuID0gYWN0aXZlICYmIHRoaXMub3BlbjtcbiAgfVxuXG4gIGNsb3NlKCkge1xuICAgIHRoaXMub3BlbiA9IGZhbHNlO1xuICAgIGlmICh0aGlzLmRpYWxvZ1N1YnNjcmlwdGlvbikge1xuICAgICAgdGhpcy5kaWFsb2dTdWJzY3JpcHRpb24udW5zdWJzY3JpYmUoKTtcbiAgICB9XG4gIH1cblxuICBzaG93RGlhbG9nKGNvbnRlbnQ6IFBvbHltb3JwaGV1c0NvbnRlbnQ8VHVpRGlhbG9nQ29udGV4dD4pOiB2b2lkIHtcbiAgICB0aGlzLmRpYWxvZ1N1YnNjcmlwdGlvbiA9IHRoaXMuZGlhbG9nU2VydmljZVxuICAgICAgLm9wZW4oY29udGVudCwgeyBjbG9zZWFibGU6IGZhbHNlLCBkaXNtaXNzaWJsZTogZmFsc2UgfSlcbiAgICAgIC5zdWJzY3JpYmUoKTtcbiAgfVxuXG4gIG9wZW5JbmZvV2luZG93KG1hcmtlcjogTWFwTWFya2VyKSB7XG4gICAgdGhpcy5pbmZvV2luZG93Lm9wZW4obWFya2VyKTtcbiAgfVxuXG4gIGhhbmRsZU9uQ2xpY2tTYXZlRm9ybShlKSB7XG4gICAgdGhpcy5oYW5kbGVPbkNsaWNrQWRkVGFzayhlLmRhdGEpO1xuICAgIHRoaXMuY2xvc2UoKTtcbiAgfVxuXG4gIGhhbmRsZU9uQ2xpY2tMb2dvdXQoKSB7XG4gICAgdGhpcy5oYW5kbGVPbkNsaWNrUGVyZm9ybUFjdGlvbih7IGFjdGlvbjogeyB0eXBlOiBcImxvZ291dFwiIH0gfSk7XG4gIH1cblxuICBoYW5kbGVPbkNsaWNrUGVyZm9ybUFjdGlvbihldmVudDogYW55KTogdm9pZCB7XG4gICAgdGhpcy5vbkNsaWNrUGVyZm9ybUFjdGlvbi5lbWl0KGV2ZW50KTtcbiAgfVxufVxuIiwiPGRpdlxuICBjbGFzcz1cImt3aWtpZC1hZ2VudC1kYXNoYm9hcmRcIlxuICAqbmdJZj1cIiFsb2FkaW5nXCJcbj5cbiAgPGRpdiBjbGFzcz1cIndyYXBwZXJcIj5cbiAgICA8aGVhZGVyPlxuICAgICAgPHNwYW4gKHR1aUFjdGl2ZVpvbmVDaGFuZ2UpPVwib25BY3RpdmVab25lKCRldmVudClcIj5cbiAgICAgICAgPGt3aWt1aS1idXR0b25cbiAgICAgICAgICBbaWNvbl09XCIndHVpSWNvbk1lbnVMYXJnZSdcIlxuICAgICAgICAgIChvbkNsaWNrKT1cIm9uQ2xpY2soKVwiXG4gICAgICAgICAgYXBwZWFyYW5jZT1cIm1vbm9cIlxuICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICBbdHVpRHJvcGRvd25dPVwiZHJvcGRvd25Db250ZW50XCJcbiAgICAgICAgICBbdHVpRHJvcGRvd25NYW51YWxdPVwib3BlblwiXG4gICAgICAgICAgKHR1aU9ic2N1cmVkKT1cIm9uT2JzY3VyZWQoJGV2ZW50KVwiXG4gICAgICAgID48L2t3aWt1aS1idXR0b24+XG4gICAgICAgIDxuZy10ZW1wbGF0ZSAjZHJvcGRvd25Db250ZW50PlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJtZW51LWRyb3Bkb3duXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS1kcm9wZG93bi1oZWFkZXJcIj5cbiAgICAgICAgICAgICAgPCEtLSA8aW1nXG4gICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgIGFnZW50U2VydmljZS5jb25maWc/LmNsaWVudExvZ28gJiZcbiAgICAgICAgICAgICAgICAgIGFnZW50U2VydmljZS5jb25maWc/LmRhc2hib2FyZD8uaXNTaG93Q2xpZW50TG9nb1xuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgW3NyY109XCJhZ2VudFNlcnZpY2UuY29uZmlnLmNsaWVudExvZ29cIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY2xpZW50LWxvZ29cIlxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAgICAgICAgICFhZ2VudFNlcnZpY2UuY29uZmlnLmNsaWVudExvZ28gfHxcbiAgICAgICAgICAgICAgICAgICFhZ2VudFNlcnZpY2UuY29uZmlnPy5kYXNoYm9hcmQ/LmlzU2hvd0NsaWVudExvZ29cbiAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwiY2xpZW50LW5hbWVcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPGt3aWt1aS1idXR0b25cbiAgICAgICAgICAgICAgICAgIFtpY29uXT1cIid0dWlJY29uTGluaydcIlxuICAgICAgICAgICAgICAgICAgYXBwZWFyYW5jZT1cIm1vbm9cIlxuICAgICAgICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgICAgID48L2t3aWt1aS1idXR0b24+XG5cbiAgICAgICAgICAgICAgICB7eyBhZ2VudFNlcnZpY2UuY29uZmlnLmNsaWVudE5hbWUgfX1cbiAgICAgICAgICAgICAgPC9kaXY+IC0tPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS1kcm9wZG93bi1oZWFkZXItYWdlbnQtbmFtZVwiPlxuICAgICAgICAgICAgICAgIHt7IGFnZW50U2VydmljZS5jb25maWcuYWdlbnROYW1lIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS1kcm9wZG93bi1oZWFkZXItYWdlbnQtaWRcIj5cbiAgICAgICAgICAgICAgICBBZ2VudCBJRDoge3sgYWdlbnRTZXJ2aWNlLmNvbmZpZy5hZ2VudElkIH19XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8aHIgLz5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJtZW51LWRyb3Bkb3duLWJvZHlcIlxuICAgICAgICAgICAgICB0dWlHcm91cFxuICAgICAgICAgICAgICBbY29sbGFwc2VkXT1cInRydWVcIlxuICAgICAgICAgICAgICBbcm91bmRlZF09XCJmYWxzZVwiXG4gICAgICAgICAgICAgIFtvcmllbnRhdGlvbl09XCIndmVydGljYWwnXCJcbiAgICAgICAgICAgICAgW3NpemVdPVwiJ20nXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGt3aWt1aS1idXR0b25cbiAgICAgICAgICAgICAgICAqbmdJZj1cImFnZW50U2VydmljZS5jb25maWc/LmRhc2hib2FyZD8uaXNBbGxvd0FkZFRhc2tcIlxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJtb25vXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1lbnUtZHJvcGRvd24tYnV0dG9uc1wiXG4gICAgICAgICAgICAgICAgbGFiZWw9XCJSZWZyZXNoXCJcbiAgICAgICAgICAgICAgICBbaWNvbl09XCIndHVpSWNvblJlZnJlc2hDdydcIlxuICAgICAgICAgICAgICAgIHNpemU9XCJtXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAob25DbGljayk9XCJyZWZyZXNoKClcIlxuICAgICAgICAgICAgICA+PC9rd2lrdWktYnV0dG9uPlxuICAgICAgICAgICAgICA8a3dpa3VpLWJ1dHRvblxuICAgICAgICAgICAgICAgICpuZ0lmPVwidGhpcy5jb25maWcuZGFzaGJvYXJkLmlzU2hvd01hcHNcIlxuICAgICAgICAgICAgICAgIGFwcGVhcmFuY2U9XCJtb25vXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cIm1lbnUtZHJvcGRvd24tYnV0dG9uc1wiXG4gICAgICAgICAgICAgICAgbGFiZWw9XCJ7e1xuICAgICAgICAgICAgICAgICAgYWdlbnRTZXJ2aWNlLnNob3dNYXB2aWV3ID8gJ0hpZGUgTWFwcycgOiAnU2hvdyBNYXBzJ1xuICAgICAgICAgICAgICAgIH19XCJcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICBpY29uPVwie3tcbiAgICAgICAgICAgICAgICAgIGFnZW50U2VydmljZS5zaG93TWFwdmlldyA/ICd0dWlJY29uRXllT2ZmJyA6ICd0dWlJY29uRXllJ1xuICAgICAgICAgICAgICAgIH19XCJcbiAgICAgICAgICAgICAgICBpY29uUmlnaHQ9XCJcIlxuICAgICAgICAgICAgICAgIFtzaGFwZV09XCJudWxsXCJcbiAgICAgICAgICAgICAgICBzaXplPVwibVwiXG4gICAgICAgICAgICAgICAgc3R5bGVzPVwicGFkZGluZzogMHJlbSAhaW1wb3J0YW50XCJcbiAgICAgICAgICAgICAgICAob25DbGljayk9XCJhZ2VudFNlcnZpY2UudG9nZ2xlTWFwdmlldygpXCJcbiAgICAgICAgICAgICAgPjwva3dpa3VpLWJ1dHRvbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGhyIC8+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzPVwibWVudS1kcm9wZG93bi1mb290ZXJcIj5cbiAgICAgICAgICAgICAgPGt3aWt1aS1idXR0b25cbiAgICAgICAgICAgICAgICBhcHBlYXJhbmNlPVwibW9ub1wiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJtZW51LWRyb3Bkb3duLWJ1dHRvbnNcIlxuICAgICAgICAgICAgICAgIGxhYmVsPVwiTG9nb3V0XCJcbiAgICAgICAgICAgICAgICBpY29uPVwidHVpSWNvbkxvZ091dFwiXG4gICAgICAgICAgICAgICAgc2l6ZT1cIm1cIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgIChvbkNsaWNrKT1cImhhbmRsZU9uQ2xpY2tMb2dvdXQoKVwiXG4gICAgICAgICAgICAgID48L2t3aWt1aS1idXR0b24+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgPC9uZy10ZW1wbGF0ZT5cbiAgICAgIDwvc3Bhbj5cbiAgICAgIDxkaXYgY2xhc3M9XCJhY3Rpb25zXCI+XG4gICAgICAgIDxrd2lrdWktYnV0dG9uXG4gICAgICAgICAgKm5nSWY9XCJhZ2VudFNlcnZpY2UuY29uZmlnPy5kYXNoYm9hcmQ/LmlzQWxsb3dBZGRUYXNrXCJcbiAgICAgICAgICBjbGFzcz1cIm1lbnUtZHJvcGRvd24tYnV0dG9uc1wiXG4gICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgYXBwZWFyYW5jZT1cInByaW1hcnlcIlxuICAgICAgICAgIFtsYWJlbF09XCJcbiAgICAgICAgICAgIGFnZW50U2VydmljZS5jb25maWc/LmRhc2hib2FyZD8uYWRkVGFza0J1dHRvbkxhYmVsID8/ICdBZGQgVXNlcidcbiAgICAgICAgICBcIlxuICAgICAgICAgIGljb249XCJ0dWlJY29uUGx1c1wiXG4gICAgICAgICAgc2hhcGU9XCJyb3VuZGVkXCJcbiAgICAgICAgICBzaXplPVwic1wiXG4gICAgICAgICAgKG9uQ2xpY2spPVwic2hvd0RpYWxvZyh0ZW1wbGF0ZSlcIlxuICAgICAgICA+PC9rd2lrdWktYnV0dG9uPlxuICAgICAgPC9kaXY+XG4gICAgPC9oZWFkZXI+XG5cbiAgICA8ZGl2IGNsYXNzPVwiZGFzaGJvYXJkLWJvZHlcIj5cbiAgICAgIDxkaXZcbiAgICAgICAgKm5nSWY9XCJtYXBzTG9hZGVkXCJcbiAgICAgICAgW2NsYXNzXT1cImFnZW50U2VydmljZS5zaG93TWFwdmlldyA/ICdtYXAnIDogJ21hcC1oaWRkZW4nXCJcbiAgICAgID5cbiAgICAgICAgPGdvb2dsZS1tYXBcbiAgICAgICAgICAqbmdJZj1cImFnZW50U2VydmljZS5jb25maWc/LmRhc2hib2FyZD8ubWFwVHlwZSA9PSAnZ29vZ2xlLW1hcHMnXCJcbiAgICAgICAgICBbb3B0aW9uc109XCJ0aGlzLmdvb2dsZU1hcHNTZXJ2aWNlLm1hcFwiXG4gICAgICAgICAgaGVpZ2h0PVwiMTAwJVwiXG4gICAgICAgICAgd2lkdGg9XCIxMDAlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDxtYXAtbWFya2VyXG4gICAgICAgICAgICAjbWFya2VyPVwibWFwTWFya2VyXCJcbiAgICAgICAgICAgICpuZ0Zvcj1cIlxuICAgICAgICAgICAgICBsZXQgbWFya2VyUG9zaXRpb24gb2YgdGhpcy5nb29nbGVNYXBzU2VydmljZS5hbGxNYXJrZXJzO1xuICAgICAgICAgICAgICBsZXQgaW5kZXggPSBpbmRleFxuICAgICAgICAgICAgXCJcbiAgICAgICAgICAgIFtwb3NpdGlvbl09XCJtYXJrZXJQb3NpdGlvblwiXG4gICAgICAgICAgICBbbGFiZWxdPVwieyB0ZXh0OiBTdHJpbmcoaW5kZXgpIH1cIlxuICAgICAgICAgID48L21hcC1tYXJrZXI+XG4gICAgICAgICAgPG1hcC1kaXJlY3Rpb25zLXJlbmRlcmVyXG4gICAgICAgICAgICAqbmdJZj1cIlxuICAgICAgICAgICAgICB0aGlzLmdvb2dsZU1hcHNTZXJ2aWNlLmRpcmVjdGlvbnNSZXN1bHRzJFxuICAgICAgICAgICAgICAgIHwgYXN5bmMgYXMgZGlyZWN0aW9uc1Jlc3VsdHNcbiAgICAgICAgICAgIFwiXG4gICAgICAgICAgICBbZGlyZWN0aW9uc109XCJkaXJlY3Rpb25zUmVzdWx0c1wiXG4gICAgICAgICAgICBbb3B0aW9uc109XCJ0aGlzLmdvb2dsZU1hcHNTZXJ2aWNlLmRpcmVjdGlvbnNSZW5kZXJPcHRpb25cIlxuICAgICAgICAgID48L21hcC1kaXJlY3Rpb25zLXJlbmRlcmVyPlxuICAgICAgICA8L2dvb2dsZS1tYXA+XG5cbiAgICAgICAgPGRpdlxuICAgICAgICAgICpuZ0lmPVwiYWdlbnRTZXJ2aWNlLmNvbmZpZz8uZGFzaGJvYXJkPy5tYXBUeXBlID09ICdvcGVuLXN0cmVldCdcIlxuICAgICAgICAgIGlkPVwibWFwXCJcbiAgICAgICAgICBzdHlsZT1cImhlaWdodDogMTAwJVwiXG4gICAgICAgID48L2Rpdj5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwidGFzay1kZXRhaWxzXCJcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAhYWdlbnRTZXJ2aWNlLmlzTW9iaWxlVmlldyAmJlxuICAgICAgICAgIGFnZW50U2VydmljZS5jdXJyZW50VGFza0RldGFpbHMgIT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgIWFnZW50U2VydmljZS5zaG93TWFwdmlld1xuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8Y3VzdG9tZXItZGV0YWlsc1xuICAgICAgICAgIFtjdXN0b21lcl09XCJhZ2VudFNlcnZpY2UuY3VycmVudFRhc2tEZXRhaWxzXCJcbiAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gICAgICAgICAgKG5leHRTdGVwKT1cImhhbmRsZU9uQ2xpY2tOZXh0KCRldmVudClcIlxuICAgICAgICAgIChyZW1vdmVUYXNrKT1cImhhbmRsZU9uQ2xpY2tSZW1vdmVUYXNrKCRldmVudClcIlxuICAgICAgICAgIChvbkNsaWNrUGVyZm9ybUFjdGlvbik9XCJoYW5kbGVPbkNsaWNrUGVyZm9ybUFjdGlvbigkZXZlbnQpXCJcbiAgICAgICAgPjwvY3VzdG9tZXItZGV0YWlscz5cbiAgICAgIDwvZGl2PlxuXG4gICAgICA8ZGl2XG4gICAgICAgIGNsYXNzPVwibm8tdGFzay1kZXRhaWxzXCJcbiAgICAgICAgKm5nSWY9XCJcbiAgICAgICAgICAhYWdlbnRTZXJ2aWNlLmlzTW9iaWxlVmlldyAmJlxuICAgICAgICAgIGFnZW50U2VydmljZS5jdXJyZW50VGFza0RldGFpbHMgPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgIWFnZW50U2VydmljZS5zaG93TWFwdmlld1xuICAgICAgICBcIlxuICAgICAgPlxuICAgICAgICA8aW1nXG4gICAgICAgICAgc3JjPVwiYXNzZXRzL05vLVJlc3VsdHMuanBnXCJcbiAgICAgICAgICBjbGFzcz1cIm5vLXRhc2staW1nXCJcbiAgICAgICAgICBhbHQ9XCJObyBUYXNrXCJcbiAgICAgICAgLz5cbiAgICAgICAgPGRpdiBjbGFzcz1cIlwiPlNlbGVjdCBhIFRhc2sgdG8gdmlldyBpdCdzIGRldGFpbHMuPC9kaXY+XG4gICAgICA8L2Rpdj5cblxuICAgICAgPGRpdiBjbGFzcz1cImN1c3RvbWVyLWxpc3RcIj5cbiAgICAgICAgPGN1c3RvbWVyLWxpc3RcbiAgICAgICAgICBbY3VzdG9tZXJzXT1cInRhc2tMaXN0XCJcbiAgICAgICAgICBbY29uZmlnXT1cImNvbmZpZ1wiXG4gICAgICAgICAgKG5leHRTdGVwKT1cImhhbmRsZU9uQ2xpY2tOZXh0KCRldmVudClcIlxuICAgICAgICAgIChyZW1vdmVUYXNrKT1cImhhbmRsZU9uQ2xpY2tSZW1vdmVUYXNrKCRldmVudClcIlxuICAgICAgICAgIChmaWx0ZXJUYXNrTGlzdCk9XCJoYW5kbGVPbkZpbHRlclRhc2tMaXN0KCRldmVudClcIlxuICAgICAgICAgIChvbkNsaWNrUGVyZm9ybUFjdGlvbik9XCJoYW5kbGVPbkNsaWNrUGVyZm9ybUFjdGlvbigkZXZlbnQpXCJcbiAgICAgICAgPjwvY3VzdG9tZXItbGlzdD5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbjwvZGl2PlxuXG48ZGl2XG4gIGNsYXNzPVwia3dpa2lkLWFnZW50LWRhc2hib2FyZC1sb2FkZXJcIlxuICAqbmdJZj1cImxvYWRpbmdcIlxuPlxuICA8c3BhbiBjbGFzcz1cImxvYWRlclwiPjwvc3Bhbj5cbjwvZGl2PlxuXG48bmctdGVtcGxhdGVcbiAgI3RlbXBsYXRlXG4gIGxldC1vYnNlcnZlclxuPlxuICA8ZGl2IGNsYXNzPVwiYWRkLXRhc2staGVhZGVyXCI+XG4gICAgPGgyPnt7IGFnZW50U2VydmljZT8uYWRkVGFza0Zvcm0/LnRpdGxlID8/IFwiQ3JlYXRlIFVzZXJcIiB9fTwvaDI+XG4gICAgPGt3aWt1aS1idXR0b25cbiAgICAgIGljb249XCJ0dWlJY29uWFwiXG4gICAgICBpZD1cIlwiXG4gICAgICBzdHlsZXM9XCJcIlxuICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICBhcHBlYXJhbmNlPVwibW9ub1wiXG4gICAgICBbc2hhcGVdPVwibnVsbFwiXG4gICAgICBzaXplPVwibVwiXG4gICAgICAob25DbGljayk9XCJvYnNlcnZlci5jb21wbGV0ZSgpXCJcbiAgICA+PC9rd2lrdWktYnV0dG9uPlxuICA8L2Rpdj5cbiAgPGt3aWtpZC1mb3JtLXZpZXdcbiAgICBbYWxsRm9ybXNEYXRhXT1cImFsbEZvcm1zRGF0YVwiXG4gICAgW2Zvcm1Db25maWddPVwiYWdlbnRTZXJ2aWNlLmFkZFRhc2tGb3JtXCJcbiAgICBbaXNNb2JpbGVWaWV3XT1cInRydWVcIlxuICAgIChvbkNsaWNrU2F2ZUZvcm0pPVwidGhpcy5oYW5kbGVPbkNsaWNrU2F2ZUZvcm0oJGV2ZW50KVwiXG4gID48L2t3aWtpZC1mb3JtLXZpZXc+XG48L25nLXRlbXBsYXRlPlxuIl19
@@ -0,0 +1,120 @@
1
+ import { CommonModule } from "@angular/common";
2
+ import { HttpClientJsonpModule, HttpClientModule } from "@angular/common/http";
3
+ import { NgModule } from "@angular/core";
4
+ import { FormsModule, ReactiveFormsModule } from "@angular/forms";
5
+ import { GoogleMapsModule } from "@angular/google-maps";
6
+ import { ScrollingModule } from "@angular/cdk/scrolling";
7
+ import { KwikUIButtonModule, KwikUIInputDateModule, KwikUIInputModule, KwikUIInputDateRangeModule, KwikUIInputSelectModule, KwikUITableModule, KwikUITablePaginationModule, KwikUILabelValuePairModule } from "kwikui";
8
+ import { TuiSidebarModule } from "@taiga-ui/addon-mobile";
9
+ import { TuiActiveZoneModule } from "@taiga-ui/cdk";
10
+ import { TuiDialogModule, TuiDropdownModule, TuiGroupModule, TuiRootModule, TuiSvgModule } from "@taiga-ui/core";
11
+ import { KwikIDFormViewModule } from "kwikid-forms";
12
+ import { CustomerTileComponent } from "./components/customer-tile/customer-tile.component";
13
+ import { CustomerListComponent } from "./components/customer-list/customer-list.component";
14
+ import { Ng2SearchPipe } from "./pipes/search-filter.pipe";
15
+ import { StatusPillComponent } from "./components/customer-tile/status-pill/status-pill.component";
16
+ import { CustomerDetailsComponent } from "./components/customer-details/customer-details.component";
17
+ import { KwikIDAgentDashboardComponentV1 } from "./kwikid-agent-dashboard.component";
18
+ import { ActionButtonComponent } from "./components/action-button/action-button.component";
19
+ import * as i0 from "@angular/core";
20
+ export class KwikIDAgentDashboardModuleV1 {
21
+ }
22
+ /** @nocollapse */ KwikIDAgentDashboardModuleV1.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDAgentDashboardModuleV1, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
23
+ /** @nocollapse */ KwikIDAgentDashboardModuleV1.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDAgentDashboardModuleV1, declarations: [KwikIDAgentDashboardComponentV1,
24
+ CustomerListComponent,
25
+ CustomerTileComponent,
26
+ Ng2SearchPipe,
27
+ StatusPillComponent,
28
+ CustomerDetailsComponent,
29
+ ActionButtonComponent], imports: [CommonModule,
30
+ HttpClientModule,
31
+ FormsModule,
32
+ ReactiveFormsModule,
33
+ KwikUIButtonModule,
34
+ KwikUIInputModule,
35
+ KwikUIInputDateModule,
36
+ KwikUIInputDateRangeModule,
37
+ KwikUIInputSelectModule,
38
+ KwikUILabelValuePairModule,
39
+ KwikUITableModule,
40
+ KwikUITablePaginationModule,
41
+ KwikIDFormViewModule,
42
+ TuiRootModule,
43
+ TuiDialogModule,
44
+ TuiDropdownModule,
45
+ TuiSidebarModule,
46
+ TuiActiveZoneModule,
47
+ TuiGroupModule,
48
+ TuiSvgModule,
49
+ ScrollingModule,
50
+ GoogleMapsModule,
51
+ HttpClientModule,
52
+ HttpClientJsonpModule], exports: [KwikIDAgentDashboardComponentV1] });
53
+ /** @nocollapse */ KwikIDAgentDashboardModuleV1.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDAgentDashboardModuleV1, imports: [[
54
+ CommonModule,
55
+ HttpClientModule,
56
+ FormsModule,
57
+ ReactiveFormsModule,
58
+ KwikUIButtonModule,
59
+ KwikUIInputModule,
60
+ KwikUIInputDateModule,
61
+ KwikUIInputDateRangeModule,
62
+ KwikUIInputSelectModule,
63
+ KwikUILabelValuePairModule,
64
+ KwikUITableModule,
65
+ KwikUITablePaginationModule,
66
+ KwikIDFormViewModule,
67
+ TuiRootModule,
68
+ TuiDialogModule,
69
+ TuiDropdownModule,
70
+ TuiSidebarModule,
71
+ TuiActiveZoneModule,
72
+ TuiGroupModule,
73
+ TuiSvgModule,
74
+ ScrollingModule,
75
+ GoogleMapsModule,
76
+ HttpClientModule,
77
+ HttpClientJsonpModule
78
+ ]] });
79
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: KwikIDAgentDashboardModuleV1, decorators: [{
80
+ type: NgModule,
81
+ args: [{
82
+ declarations: [
83
+ KwikIDAgentDashboardComponentV1,
84
+ CustomerListComponent,
85
+ CustomerTileComponent,
86
+ Ng2SearchPipe,
87
+ StatusPillComponent,
88
+ CustomerDetailsComponent,
89
+ ActionButtonComponent
90
+ ],
91
+ imports: [
92
+ CommonModule,
93
+ HttpClientModule,
94
+ FormsModule,
95
+ ReactiveFormsModule,
96
+ KwikUIButtonModule,
97
+ KwikUIInputModule,
98
+ KwikUIInputDateModule,
99
+ KwikUIInputDateRangeModule,
100
+ KwikUIInputSelectModule,
101
+ KwikUILabelValuePairModule,
102
+ KwikUITableModule,
103
+ KwikUITablePaginationModule,
104
+ KwikIDFormViewModule,
105
+ TuiRootModule,
106
+ TuiDialogModule,
107
+ TuiDropdownModule,
108
+ TuiSidebarModule,
109
+ TuiActiveZoneModule,
110
+ TuiGroupModule,
111
+ TuiSvgModule,
112
+ ScrollingModule,
113
+ GoogleMapsModule,
114
+ HttpClientModule,
115
+ HttpClientJsonpModule
116
+ ],
117
+ exports: [KwikIDAgentDashboardComponentV1]
118
+ }]
119
+ }] });
120
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoia3dpa2lkLWFnZW50LWRhc2hib2FyZC5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi9wcm9qZWN0cy9rd2lraWQtYWdlbnQtZGFzaGJvYXJkL3NyYy9saWIvdjEva3dpa2lkLWFnZW50LWRhc2hib2FyZC5tb2R1bGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQy9FLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDekMsT0FBTyxFQUFFLFdBQVcsRUFBRSxtQkFBbUIsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQ2xFLE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLHNCQUFzQixDQUFDO0FBQ3hELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUV6RCxPQUFPLEVBQ0wsa0JBQWtCLEVBQ2xCLHFCQUFxQixFQUNyQixpQkFBaUIsRUFDakIsMEJBQTBCLEVBQzFCLHVCQUF1QixFQUN2QixpQkFBaUIsRUFDakIsMkJBQTJCLEVBQzNCLDBCQUEwQixFQUMzQixNQUFNLFFBQVEsQ0FBQztBQUVoQixPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUMxRCxPQUFPLEVBQUUsbUJBQW1CLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDcEQsT0FBTyxFQUNMLGVBQWUsRUFDZixpQkFBaUIsRUFDakIsY0FBYyxFQUNkLGFBQWEsRUFDYixZQUFZLEVBQ2IsTUFBTSxnQkFBZ0IsQ0FBQztBQUN4QixPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxjQUFjLENBQUM7QUFDcEQsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDM0YsT0FBTyxFQUFFLHFCQUFxQixFQUFFLE1BQU0sb0RBQW9ELENBQUM7QUFDM0YsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQzNELE9BQU8sRUFBRSxtQkFBbUIsRUFBRSxNQUFNLDhEQUE4RCxDQUFDO0FBQ25HLE9BQU8sRUFBRSx3QkFBd0IsRUFBRSxNQUFNLDBEQUEwRCxDQUFDO0FBQ3BHLE9BQU8sRUFBRSwrQkFBK0IsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3JGLE9BQU8sRUFBRSxxQkFBcUIsRUFBRSxNQUFNLG9EQUFvRCxDQUFDOztBQTZDM0YsTUFBTSxPQUFPLDRCQUE0Qjs7NklBQTVCLDRCQUE0Qjs4SUFBNUIsNEJBQTRCLGlCQXpDckMsK0JBQStCO1FBQy9CLHFCQUFxQjtRQUNyQixxQkFBcUI7UUFDckIsYUFBYTtRQUNiLG1CQUFtQjtRQUNuQix3QkFBd0I7UUFDeEIscUJBQXFCLGFBR3JCLFlBQVk7UUFDWixnQkFBZ0I7UUFDaEIsV0FBVztRQUNYLG1CQUFtQjtRQUVuQixrQkFBa0I7UUFDbEIsaUJBQWlCO1FBQ2pCLHFCQUFxQjtRQUNyQiwwQkFBMEI7UUFDMUIsdUJBQXVCO1FBQ3ZCLDBCQUEwQjtRQUMxQixpQkFBaUI7UUFDakIsMkJBQTJCO1FBRTNCLG9CQUFvQjtRQUVwQixhQUFhO1FBQ2IsZUFBZTtRQUNmLGlCQUFpQjtRQUNqQixnQkFBZ0I7UUFDaEIsbUJBQW1CO1FBQ25CLGNBQWM7UUFDZCxZQUFZO1FBRVosZUFBZTtRQUVmLGdCQUFnQjtRQUNoQixnQkFBZ0I7UUFDaEIscUJBQXFCLGFBRWIsK0JBQStCOzhJQUU5Qiw0QkFBNEIsWUFqQzlCO1lBQ1AsWUFBWTtZQUNaLGdCQUFnQjtZQUNoQixXQUFXO1lBQ1gsbUJBQW1CO1lBRW5CLGtCQUFrQjtZQUNsQixpQkFBaUI7WUFDakIscUJBQXFCO1lBQ3JCLDBCQUEwQjtZQUMxQix1QkFBdUI7WUFDdkIsMEJBQTBCO1lBQzFCLGlCQUFpQjtZQUNqQiwyQkFBMkI7WUFFM0Isb0JBQW9CO1lBRXBCLGFBQWE7WUFDYixlQUFlO1lBQ2YsaUJBQWlCO1lBQ2pCLGdCQUFnQjtZQUNoQixtQkFBbUI7WUFDbkIsY0FBYztZQUNkLFlBQVk7WUFFWixlQUFlO1lBRWYsZ0JBQWdCO1lBQ2hCLGdCQUFnQjtZQUNoQixxQkFBcUI7U0FDdEI7NEZBR1UsNEJBQTRCO2tCQTNDeEMsUUFBUTttQkFBQztvQkFDUixZQUFZLEVBQUU7d0JBQ1osK0JBQStCO3dCQUMvQixxQkFBcUI7d0JBQ3JCLHFCQUFxQjt3QkFDckIsYUFBYTt3QkFDYixtQkFBbUI7d0JBQ25CLHdCQUF3Qjt3QkFDeEIscUJBQXFCO3FCQUN0QjtvQkFDRCxPQUFPLEVBQUU7d0JBQ1AsWUFBWTt3QkFDWixnQkFBZ0I7d0JBQ2hCLFdBQVc7d0JBQ1gsbUJBQW1CO3dCQUVuQixrQkFBa0I7d0JBQ2xCLGlCQUFpQjt3QkFDakIscUJBQXFCO3dCQUNyQiwwQkFBMEI7d0JBQzFCLHVCQUF1Qjt3QkFDdkIsMEJBQTBCO3dCQUMxQixpQkFBaUI7d0JBQ2pCLDJCQUEyQjt3QkFFM0Isb0JBQW9CO3dCQUVwQixhQUFhO3dCQUNiLGVBQWU7d0JBQ2YsaUJBQWlCO3dCQUNqQixnQkFBZ0I7d0JBQ2hCLG1CQUFtQjt3QkFDbkIsY0FBYzt3QkFDZCxZQUFZO3dCQUVaLGVBQWU7d0JBRWYsZ0JBQWdCO3dCQUNoQixnQkFBZ0I7d0JBQ2hCLHFCQUFxQjtxQkFDdEI7b0JBQ0QsT0FBTyxFQUFFLENBQUMsK0JBQStCLENBQUM7aUJBQzNDIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vblwiO1xuaW1wb3J0IHsgSHR0cENsaWVudEpzb25wTW9kdWxlLCBIdHRwQ2xpZW50TW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvbW1vbi9odHRwXCI7XG5pbXBvcnQgeyBOZ01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBGb3Jtc01vZHVsZSwgUmVhY3RpdmVGb3Jtc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9mb3Jtc1wiO1xuaW1wb3J0IHsgR29vZ2xlTWFwc01vZHVsZSB9IGZyb20gXCJAYW5ndWxhci9nb29nbGUtbWFwc1wiO1xuaW1wb3J0IHsgU2Nyb2xsaW5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2Nkay9zY3JvbGxpbmdcIjtcblxuaW1wb3J0IHtcbiAgS3dpa1VJQnV0dG9uTW9kdWxlLFxuICBLd2lrVUlJbnB1dERhdGVNb2R1bGUsXG4gIEt3aWtVSUlucHV0TW9kdWxlLFxuICBLd2lrVUlJbnB1dERhdGVSYW5nZU1vZHVsZSxcbiAgS3dpa1VJSW5wdXRTZWxlY3RNb2R1bGUsXG4gIEt3aWtVSVRhYmxlTW9kdWxlLFxuICBLd2lrVUlUYWJsZVBhZ2luYXRpb25Nb2R1bGUsXG4gIEt3aWtVSUxhYmVsVmFsdWVQYWlyTW9kdWxlXG59IGZyb20gXCJrd2lrdWlcIjtcblxuaW1wb3J0IHsgVHVpU2lkZWJhck1vZHVsZSB9IGZyb20gXCJAdGFpZ2EtdWkvYWRkb24tbW9iaWxlXCI7XG5pbXBvcnQgeyBUdWlBY3RpdmVab25lTW9kdWxlIH0gZnJvbSBcIkB0YWlnYS11aS9jZGtcIjtcbmltcG9ydCB7XG4gIFR1aURpYWxvZ01vZHVsZSxcbiAgVHVpRHJvcGRvd25Nb2R1bGUsXG4gIFR1aUdyb3VwTW9kdWxlLFxuICBUdWlSb290TW9kdWxlLFxuICBUdWlTdmdNb2R1bGVcbn0gZnJvbSBcIkB0YWlnYS11aS9jb3JlXCI7XG5pbXBvcnQgeyBLd2lrSURGb3JtVmlld01vZHVsZSB9IGZyb20gXCJrd2lraWQtZm9ybXNcIjtcbmltcG9ydCB7IEN1c3RvbWVyVGlsZUNvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvY3VzdG9tZXItdGlsZS9jdXN0b21lci10aWxlLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQ3VzdG9tZXJMaXN0Q29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9jdXN0b21lci1saXN0L2N1c3RvbWVyLWxpc3QuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBOZzJTZWFyY2hQaXBlIH0gZnJvbSBcIi4vcGlwZXMvc2VhcmNoLWZpbHRlci5waXBlXCI7XG5pbXBvcnQgeyBTdGF0dXNQaWxsQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9jdXN0b21lci10aWxlL3N0YXR1cy1waWxsL3N0YXR1cy1waWxsLmNvbXBvbmVudFwiO1xuaW1wb3J0IHsgQ3VzdG9tZXJEZXRhaWxzQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9jdXN0b21lci1kZXRhaWxzL2N1c3RvbWVyLWRldGFpbHMuY29tcG9uZW50XCI7XG5pbXBvcnQgeyBLd2lrSURBZ2VudERhc2hib2FyZENvbXBvbmVudFYxIH0gZnJvbSBcIi4va3dpa2lkLWFnZW50LWRhc2hib2FyZC5jb21wb25lbnRcIjtcbmltcG9ydCB7IEFjdGlvbkJ1dHRvbkNvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvYWN0aW9uLWJ1dHRvbi9hY3Rpb24tYnV0dG9uLmNvbXBvbmVudFwiO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFtcbiAgICBLd2lrSURBZ2VudERhc2hib2FyZENvbXBvbmVudFYxLFxuICAgIEN1c3RvbWVyTGlzdENvbXBvbmVudCxcbiAgICBDdXN0b21lclRpbGVDb21wb25lbnQsXG4gICAgTmcyU2VhcmNoUGlwZSxcbiAgICBTdGF0dXNQaWxsQ29tcG9uZW50LFxuICAgIEN1c3RvbWVyRGV0YWlsc0NvbXBvbmVudCxcbiAgICBBY3Rpb25CdXR0b25Db21wb25lbnRcbiAgXSxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBIdHRwQ2xpZW50TW9kdWxlLFxuICAgIEZvcm1zTW9kdWxlLFxuICAgIFJlYWN0aXZlRm9ybXNNb2R1bGUsXG5cbiAgICBLd2lrVUlCdXR0b25Nb2R1bGUsXG4gICAgS3dpa1VJSW5wdXRNb2R1bGUsXG4gICAgS3dpa1VJSW5wdXREYXRlTW9kdWxlLFxuICAgIEt3aWtVSUlucHV0RGF0ZVJhbmdlTW9kdWxlLFxuICAgIEt3aWtVSUlucHV0U2VsZWN0TW9kdWxlLFxuICAgIEt3aWtVSUxhYmVsVmFsdWVQYWlyTW9kdWxlLFxuICAgIEt3aWtVSVRhYmxlTW9kdWxlLFxuICAgIEt3aWtVSVRhYmxlUGFnaW5hdGlvbk1vZHVsZSxcblxuICAgIEt3aWtJREZvcm1WaWV3TW9kdWxlLFxuXG4gICAgVHVpUm9vdE1vZHVsZSxcbiAgICBUdWlEaWFsb2dNb2R1bGUsXG4gICAgVHVpRHJvcGRvd25Nb2R1bGUsXG4gICAgVHVpU2lkZWJhck1vZHVsZSxcbiAgICBUdWlBY3RpdmVab25lTW9kdWxlLFxuICAgIFR1aUdyb3VwTW9kdWxlLFxuICAgIFR1aVN2Z01vZHVsZSxcblxuICAgIFNjcm9sbGluZ01vZHVsZSxcblxuICAgIEdvb2dsZU1hcHNNb2R1bGUsXG4gICAgSHR0cENsaWVudE1vZHVsZSxcbiAgICBIdHRwQ2xpZW50SnNvbnBNb2R1bGVcbiAgXSxcbiAgZXhwb3J0czogW0t3aWtJREFnZW50RGFzaGJvYXJkQ29tcG9uZW50VjFdXG59KVxuZXhwb3J0IGNsYXNzIEt3aWtJREFnZW50RGFzaGJvYXJkTW9kdWxlVjEge31cbiJdfQ==
@@ -0,0 +1,62 @@
1
+ import { Pipe, Injectable } from "@angular/core";
2
+ import * as i0 from "@angular/core";
3
+ export class Ng2SearchPipe {
4
+ /**
5
+ * @param items object from array
6
+ * @param term term's search
7
+ * @param excludes array of strings which will ignored during search
8
+ */
9
+ transform(items, term, excludes = []) {
10
+ if (!term || !items)
11
+ return items;
12
+ return Ng2SearchPipe.filter(items, term, excludes);
13
+ }
14
+ /**
15
+ *
16
+ * @param items List of items to filter
17
+ * @param term a string term to compare with every property of the list
18
+ * @param excludes List of keys which will be ignored during search
19
+ *
20
+ */
21
+ static filter(items, term, excludes) {
22
+ const toCompare = term.toLowerCase();
23
+ function checkInside(item, term) {
24
+ if (typeof item === "string" &&
25
+ item.toString().toLowerCase().includes(toCompare)) {
26
+ return true;
27
+ }
28
+ for (const property in item) {
29
+ if (item[property] === null ||
30
+ item[property] == undefined ||
31
+ excludes.includes(property)) {
32
+ continue;
33
+ }
34
+ if (typeof item[property] === "object") {
35
+ if (checkInside(item[property], term)) {
36
+ return true;
37
+ }
38
+ }
39
+ else if (item[property].toString().toLowerCase().includes(toCompare)) {
40
+ return true;
41
+ }
42
+ }
43
+ return false;
44
+ }
45
+ return items.filter((item) => {
46
+ return checkInside(item, term);
47
+ });
48
+ }
49
+ }
50
+ /** @nocollapse */ Ng2SearchPipe.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: Ng2SearchPipe, deps: [], target: i0.ɵɵFactoryTarget.Pipe });
51
+ /** @nocollapse */ Ng2SearchPipe.ɵpipe = i0.ɵɵngDeclarePipe({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: Ng2SearchPipe, name: "filter", pure: false });
52
+ /** @nocollapse */ Ng2SearchPipe.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: Ng2SearchPipe });
53
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: Ng2SearchPipe, decorators: [{
54
+ type: Pipe,
55
+ args: [{
56
+ name: "filter",
57
+ pure: false
58
+ }]
59
+ }, {
60
+ type: Injectable
61
+ }] });
62
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VhcmNoLWZpbHRlci5waXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vcHJvamVjdHMva3dpa2lkLWFnZW50LWRhc2hib2FyZC9zcmMvbGliL3YxL3BpcGVzL3NlYXJjaC1maWx0ZXIucGlwZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsSUFBSSxFQUFpQixVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7O0FBT2hFLE1BQU0sT0FBTyxhQUFhO0lBQ3hCOzs7O09BSUc7SUFDSCxTQUFTLENBQUMsS0FBVSxFQUFFLElBQVksRUFBRSxXQUFnQixFQUFFO1FBQ3BELElBQUksQ0FBQyxJQUFJLElBQUksQ0FBQyxLQUFLO1lBQUUsT0FBTyxLQUFLLENBQUM7UUFFbEMsT0FBTyxhQUFhLENBQUMsTUFBTSxDQUFDLEtBQUssRUFBRSxJQUFJLEVBQUUsUUFBUSxDQUFDLENBQUM7SUFDckQsQ0FBQztJQUVEOzs7Ozs7T0FNRztJQUNILE1BQU0sQ0FBQyxNQUFNLENBQ1gsS0FBb0MsRUFDcEMsSUFBWSxFQUNaLFFBQWE7UUFFYixNQUFNLFNBQVMsR0FBRyxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUM7UUFFckMsU0FBUyxXQUFXLENBQUMsSUFBUyxFQUFFLElBQVk7WUFDMUMsSUFDRSxPQUFPLElBQUksS0FBSyxRQUFRO2dCQUN4QixJQUFJLENBQUMsUUFBUSxFQUFFLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxFQUNqRDtnQkFDQSxPQUFPLElBQUksQ0FBQzthQUNiO1lBRUQsS0FBSyxNQUFNLFFBQVEsSUFBSSxJQUFJLEVBQUU7Z0JBQzNCLElBQ0UsSUFBSSxDQUFDLFFBQVEsQ0FBQyxLQUFLLElBQUk7b0JBQ3ZCLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxTQUFTO29CQUMzQixRQUFRLENBQUMsUUFBUSxDQUFDLFFBQVEsQ0FBQyxFQUMzQjtvQkFDQSxTQUFTO2lCQUNWO2dCQUNELElBQUksT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssUUFBUSxFQUFFO29CQUN0QyxJQUFJLFdBQVcsQ0FBQyxJQUFJLENBQUMsUUFBUSxDQUFDLEVBQUUsSUFBSSxDQUFDLEVBQUU7d0JBQ3JDLE9BQU8sSUFBSSxDQUFDO3FCQUNiO2lCQUNGO3FCQUFNLElBQ0wsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLFFBQVEsRUFBRSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxTQUFTLENBQUMsRUFDM0Q7b0JBQ0EsT0FBTyxJQUFJLENBQUM7aUJBQ2I7YUFDRjtZQUNELE9BQU8sS0FBSyxDQUFDO1FBQ2YsQ0FBQztRQUVELE9BQU8sS0FBSyxDQUFDLE1BQU0sQ0FBQyxDQUFDLElBQUksRUFBRSxFQUFFO1lBQzNCLE9BQU8sV0FBVyxDQUFDLElBQUksRUFBRSxJQUFJLENBQUMsQ0FBQztRQUNqQyxDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7OzhIQTFEVSxhQUFhOzRIQUFiLGFBQWE7a0lBQWIsYUFBYTs0RkFBYixhQUFhO2tCQUx6QixJQUFJO21CQUFDO29CQUNKLElBQUksRUFBRSxRQUFRO29CQUNkLElBQUksRUFBRSxLQUFLO2lCQUNaOztrQkFDQSxVQUFVIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgUGlwZSwgUGlwZVRyYW5zZm9ybSwgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5cbkBQaXBlKHtcbiAgbmFtZTogXCJmaWx0ZXJcIixcbiAgcHVyZTogZmFsc2Vcbn0pXG5ASW5qZWN0YWJsZSgpXG5leHBvcnQgY2xhc3MgTmcyU2VhcmNoUGlwZSBpbXBsZW1lbnRzIFBpcGVUcmFuc2Zvcm0ge1xuICAvKipcbiAgICogQHBhcmFtIGl0ZW1zIG9iamVjdCBmcm9tIGFycmF5XG4gICAqIEBwYXJhbSB0ZXJtIHRlcm0ncyBzZWFyY2hcbiAgICogQHBhcmFtIGV4Y2x1ZGVzIGFycmF5IG9mIHN0cmluZ3Mgd2hpY2ggd2lsbCBpZ25vcmVkIGR1cmluZyBzZWFyY2hcbiAgICovXG4gIHRyYW5zZm9ybShpdGVtczogYW55LCB0ZXJtOiBzdHJpbmcsIGV4Y2x1ZGVzOiBhbnkgPSBbXSk6IGFueSB7XG4gICAgaWYgKCF0ZXJtIHx8ICFpdGVtcykgcmV0dXJuIGl0ZW1zO1xuXG4gICAgcmV0dXJuIE5nMlNlYXJjaFBpcGUuZmlsdGVyKGl0ZW1zLCB0ZXJtLCBleGNsdWRlcyk7XG4gIH1cblxuICAvKipcbiAgICpcbiAgICogQHBhcmFtIGl0ZW1zIExpc3Qgb2YgaXRlbXMgdG8gZmlsdGVyXG4gICAqIEBwYXJhbSB0ZXJtICBhIHN0cmluZyB0ZXJtIHRvIGNvbXBhcmUgd2l0aCBldmVyeSBwcm9wZXJ0eSBvZiB0aGUgbGlzdFxuICAgKiBAcGFyYW0gZXhjbHVkZXMgTGlzdCBvZiBrZXlzIHdoaWNoIHdpbGwgYmUgaWdub3JlZCBkdXJpbmcgc2VhcmNoXG4gICAqXG4gICAqL1xuICBzdGF0aWMgZmlsdGVyKFxuICAgIGl0ZW1zOiBBcnJheTx7IFtrZXk6IHN0cmluZ106IGFueSB9PixcbiAgICB0ZXJtOiBzdHJpbmcsXG4gICAgZXhjbHVkZXM6IGFueVxuICApOiBBcnJheTx7IFtrZXk6IHN0cmluZ106IGFueSB9PiB7XG4gICAgY29uc3QgdG9Db21wYXJlID0gdGVybS50b0xvd2VyQ2FzZSgpO1xuXG4gICAgZnVuY3Rpb24gY2hlY2tJbnNpZGUoaXRlbTogYW55LCB0ZXJtOiBzdHJpbmcpIHtcbiAgICAgIGlmIChcbiAgICAgICAgdHlwZW9mIGl0ZW0gPT09IFwic3RyaW5nXCIgJiZcbiAgICAgICAgaXRlbS50b1N0cmluZygpLnRvTG93ZXJDYXNlKCkuaW5jbHVkZXModG9Db21wYXJlKVxuICAgICAgKSB7XG4gICAgICAgIHJldHVybiB0cnVlO1xuICAgICAgfVxuXG4gICAgICBmb3IgKGNvbnN0IHByb3BlcnR5IGluIGl0ZW0pIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgIGl0ZW1bcHJvcGVydHldID09PSBudWxsIHx8XG4gICAgICAgICAgaXRlbVtwcm9wZXJ0eV0gPT0gdW5kZWZpbmVkIHx8XG4gICAgICAgICAgZXhjbHVkZXMuaW5jbHVkZXMocHJvcGVydHkpXG4gICAgICAgICkge1xuICAgICAgICAgIGNvbnRpbnVlO1xuICAgICAgICB9XG4gICAgICAgIGlmICh0eXBlb2YgaXRlbVtwcm9wZXJ0eV0gPT09IFwib2JqZWN0XCIpIHtcbiAgICAgICAgICBpZiAoY2hlY2tJbnNpZGUoaXRlbVtwcm9wZXJ0eV0sIHRlcm0pKSB7XG4gICAgICAgICAgICByZXR1cm4gdHJ1ZTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gZWxzZSBpZiAoXG4gICAgICAgICAgaXRlbVtwcm9wZXJ0eV0udG9TdHJpbmcoKS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKHRvQ29tcGFyZSlcbiAgICAgICAgKSB7XG4gICAgICAgICAgcmV0dXJuIHRydWU7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICByZXR1cm4gaXRlbXMuZmlsdGVyKChpdGVtKSA9PiB7XG4gICAgICByZXR1cm4gY2hlY2tJbnNpZGUoaXRlbSwgdGVybSk7XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
@@ -0,0 +1,149 @@
1
+ import { Injectable } from "@angular/core";
2
+ import { EStatus } from "../components/customer-tile/status-pill/status-pill.definitions";
3
+ import * as i0 from "@angular/core";
4
+ export class AgentService {
5
+ constructor() {
6
+ this.isListOpen = true;
7
+ this.showMapview = false;
8
+ this.addTaskForm = {
9
+ key: "ADD_TASK",
10
+ title: "Add Task",
11
+ fields: [
12
+ {
13
+ key: "name",
14
+ label: "Customer Name",
15
+ validators: {
16
+ required: true
17
+ },
18
+ properties: {
19
+ placeholder: "Please enter the Customer Name",
20
+ readOnly: false,
21
+ case: "default"
22
+ },
23
+ type: "text"
24
+ },
25
+ {
26
+ key: "phone",
27
+ label: "Phone Number",
28
+ validators: {
29
+ required: true
30
+ },
31
+ properties: {
32
+ countryCode: "+91",
33
+ removeCountryCodeFromValue: true,
34
+ phoneMaskAfterCountryCode: "##########",
35
+ placeholder: "Please enter your Mobile Number",
36
+ readOnly: false
37
+ },
38
+ type: "phone"
39
+ },
40
+ {
41
+ key: "address",
42
+ label: "Address",
43
+ validators: {
44
+ required: true
45
+ },
46
+ properties: {
47
+ placeholder: "Please enter the Address",
48
+ readOnly: false,
49
+ case: "default"
50
+ },
51
+ type: "text"
52
+ },
53
+ {
54
+ key: "city",
55
+ label: "City",
56
+ validators: {
57
+ required: true
58
+ },
59
+ properties: {
60
+ placeholder: "Please enter the City",
61
+ readOnly: false,
62
+ case: "default"
63
+ },
64
+ type: "text"
65
+ },
66
+ {
67
+ key: "location",
68
+ label: "Location URL",
69
+ validators: {
70
+ required: true
71
+ },
72
+ properties: {
73
+ placeholder: "Please enter the Location URL",
74
+ readOnly: false,
75
+ case: "default"
76
+ },
77
+ type: "text"
78
+ }
79
+ ],
80
+ properties: {
81
+ header: {
82
+ title: {
83
+ hidden: true,
84
+ label: "Add Task"
85
+ },
86
+ steps: {
87
+ hidden: true
88
+ },
89
+ logo: {
90
+ hidden: true
91
+ }
92
+ },
93
+ footer: {
94
+ viewFormsButton: {
95
+ hidden: true,
96
+ label: "View Forms"
97
+ },
98
+ saveButton: {
99
+ hidden: false,
100
+ label: "Submit"
101
+ }
102
+ }
103
+ }
104
+ };
105
+ this.notRequiredStatus = [
106
+ EStatus.REJECTED,
107
+ EStatus.AFTER_AUDIT,
108
+ EStatus.COMPLETE,
109
+ EStatus.SESSION_EXPIRED,
110
+ EStatus.KYC_REJECTED,
111
+ EStatus.KYC_RESULT_APPROVED,
112
+ EStatus.KYC_RESULT_REJECTED,
113
+ EStatus.KYC_RESULT_UNDER_REVIEW,
114
+ EStatus.KYC_REQUEST_REJECTED
115
+ ];
116
+ }
117
+ ngOnInit() { }
118
+ setAgentConfig(config) {
119
+ this.config = config;
120
+ }
121
+ toggleMapview() {
122
+ this.showMapview = !this.showMapview;
123
+ }
124
+ canStartJourney(status) {
125
+ var _a, _b;
126
+ const noneEditableStatus = (_b = (_a = this.config.dashboard) === null || _a === void 0 ? void 0 : _a.cannotStartJourney) !== null && _b !== void 0 ? _b : this.notRequiredStatus;
127
+ if (noneEditableStatus.includes(status)) {
128
+ return false;
129
+ }
130
+ return true;
131
+ }
132
+ canPlotMarkers(status) {
133
+ var _a, _b;
134
+ const nonePlottingSessions = (_b = (_a = this.config.dashboard) === null || _a === void 0 ? void 0 : _a.dontPlotMarkers) !== null && _b !== void 0 ? _b : [];
135
+ if (nonePlottingSessions.includes(status)) {
136
+ return false;
137
+ }
138
+ return true;
139
+ }
140
+ }
141
+ /** @nocollapse */ AgentService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AgentService, deps: [], target: i0.ɵɵFactoryTarget.Injectable });
142
+ /** @nocollapse */ AgentService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AgentService, providedIn: "root" });
143
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "12.2.17", ngImport: i0, type: AgentService, decorators: [{
144
+ type: Injectable,
145
+ args: [{
146
+ providedIn: "root"
147
+ }]
148
+ }], ctorParameters: function () { return []; } });
149
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYWdlbnQuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2t3aWtpZC1hZ2VudC1kYXNoYm9hcmQvc3JjL2xpYi92MS9zZXJ2aWNlcy9hZ2VudC5zZXJ2aWNlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxVQUFVLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFDM0MsT0FBTyxFQUFFLE9BQU8sRUFBRSxNQUFNLGlFQUFpRSxDQUFDOztBQUsxRixNQUFNLE9BQU8sWUFBWTtJQXlIdkI7UUF0SEEsZUFBVSxHQUFHLElBQUksQ0FBQztRQUlsQixnQkFBVyxHQUFHLEtBQUssQ0FBQztRQUlwQixnQkFBVyxHQUFHO1lBQ1osR0FBRyxFQUFFLFVBQVU7WUFDZixLQUFLLEVBQUUsVUFBVTtZQUNqQixNQUFNLEVBQUU7Z0JBQ047b0JBQ0UsR0FBRyxFQUFFLE1BQU07b0JBQ1gsS0FBSyxFQUFFLGVBQWU7b0JBQ3RCLFVBQVUsRUFBRTt3QkFDVixRQUFRLEVBQUUsSUFBSTtxQkFDZjtvQkFDRCxVQUFVLEVBQUU7d0JBQ1YsV0FBVyxFQUFFLGdDQUFnQzt3QkFDN0MsUUFBUSxFQUFFLEtBQUs7d0JBQ2YsSUFBSSxFQUFFLFNBQVM7cUJBQ2hCO29CQUNELElBQUksRUFBRSxNQUFNO2lCQUNiO2dCQUNEO29CQUNFLEdBQUcsRUFBRSxPQUFPO29CQUNaLEtBQUssRUFBRSxjQUFjO29CQUNyQixVQUFVLEVBQUU7d0JBQ1YsUUFBUSxFQUFFLElBQUk7cUJBQ2Y7b0JBQ0QsVUFBVSxFQUFFO3dCQUNWLFdBQVcsRUFBRSxLQUFLO3dCQUNsQiwwQkFBMEIsRUFBRSxJQUFJO3dCQUNoQyx5QkFBeUIsRUFBRSxZQUFZO3dCQUN2QyxXQUFXLEVBQUUsaUNBQWlDO3dCQUM5QyxRQUFRLEVBQUUsS0FBSztxQkFDaEI7b0JBQ0QsSUFBSSxFQUFFLE9BQU87aUJBQ2Q7Z0JBQ0Q7b0JBQ0UsR0FBRyxF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VSxZQUFZO2lJQUFaLFlBQVksY0FGWCxNQUFNOzRGQUVQLFlBQVk7a0JBSHhCLFVBQVU7bUJBQUM7b0JBQ1YsVUFBVSxFQUFFLE1BQU07aUJBQ25CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gXCJAYW5ndWxhci9jb3JlXCI7XG5pbXBvcnQgeyBFU3RhdHVzIH0gZnJvbSBcIi4uL2NvbXBvbmVudHMvY3VzdG9tZXItdGlsZS9zdGF0dXMtcGlsbC9zdGF0dXMtcGlsbC5kZWZpbml0aW9uc1wiO1xuXG5ASW5qZWN0YWJsZSh7XG4gIHByb3ZpZGVkSW46IFwicm9vdFwiXG59KVxuZXhwb3J0IGNsYXNzIEFnZW50U2VydmljZSB7XG4gIGNvbmZpZztcblxuICBpc0xpc3RPcGVuID0gdHJ1ZTtcblxuICBpc01vYmlsZVZpZXc7XG5cbiAgc2hvd01hcHZpZXcgPSBmYWxzZTtcblxuICBjdXJyZW50VGFza0RldGFpbHM7XG5cbiAgYWRkVGFza0Zvcm0gPSB7XG4gICAga2V5OiBcIkFERF9UQVNLXCIsXG4gICAgdGl0bGU6IFwiQWRkIFRhc2tcIixcbiAgICBmaWVsZHM6IFtcbiAgICAgIHtcbiAgICAgICAga2V5OiBcIm5hbWVcIixcbiAgICAgICAgbGFiZWw6IFwiQ3VzdG9tZXIgTmFtZVwiLFxuICAgICAgICB2YWxpZGF0b3JzOiB7XG4gICAgICAgICAgcmVxdWlyZWQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIHBsYWNlaG9sZGVyOiBcIlBsZWFzZSBlbnRlciB0aGUgQ3VzdG9tZXIgTmFtZVwiLFxuICAgICAgICAgIHJlYWRPbmx5OiBmYWxzZSxcbiAgICAgICAgICBjYXNlOiBcImRlZmF1bHRcIlxuICAgICAgICB9LFxuICAgICAgICB0eXBlOiBcInRleHRcIlxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAga2V5OiBcInBob25lXCIsXG4gICAgICAgIGxhYmVsOiBcIlBob25lIE51bWJlclwiLFxuICAgICAgICB2YWxpZGF0b3JzOiB7XG4gICAgICAgICAgcmVxdWlyZWQ6IHRydWVcbiAgICAgICAgfSxcbiAgICAgICAgcHJvcGVydGllczoge1xuICAgICAgICAgIGNvdW50cnlDb2RlOiBcIis5MVwiLFxuICAgICAgICAgIHJlbW92ZUNvdW50cnlDb2RlRnJvbVZhbHVlOiB0cnVlLFxuICAgICAgICAgIHBob25lTWFza0FmdGVyQ291bnRyeUNvZGU6IFwiIyMjIyMjIyMjI1wiLFxuICAgICAgICAgIHBsYWNlaG9sZGVyOiBcIlBsZWFzZSBlbnRlciB5b3VyIE1vYmlsZSBOdW1iZXJcIixcbiAgICAgICAgICByZWFkT25seTogZmFsc2VcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogXCJwaG9uZVwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6IFwiYWRkcmVzc1wiLFxuICAgICAgICBsYWJlbDogXCJBZGRyZXNzXCIsXG4gICAgICAgIHZhbGlkYXRvcnM6IHtcbiAgICAgICAgICByZXF1aXJlZDogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgcGxhY2Vob2xkZXI6IFwiUGxlYXNlIGVudGVyIHRoZSBBZGRyZXNzXCIsXG4gICAgICAgICAgcmVhZE9ubHk6IGZhbHNlLFxuICAgICAgICAgIGNhc2U6IFwiZGVmYXVsdFwiXG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IFwidGV4dFwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6IFwiY2l0eVwiLFxuICAgICAgICBsYWJlbDogXCJDaXR5XCIsXG4gICAgICAgIHZhbGlkYXRvcnM6IHtcbiAgICAgICAgICByZXF1aXJlZDogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgcGxhY2Vob2xkZXI6IFwiUGxlYXNlIGVudGVyIHRoZSBDaXR5XCIsXG4gICAgICAgICAgcmVhZE9ubHk6IGZhbHNlLFxuICAgICAgICAgIGNhc2U6IFwiZGVmYXVsdFwiXG4gICAgICAgIH0sXG4gICAgICAgIHR5cGU6IFwidGV4dFwiXG4gICAgICB9LFxuICAgICAge1xuICAgICAgICBrZXk6IFwibG9jYXRpb25cIixcbiAgICAgICAgbGFiZWw6IFwiTG9jYXRpb24gVVJMXCIsXG4gICAgICAgIHZhbGlkYXRvcnM6IHtcbiAgICAgICAgICByZXF1aXJlZDogdHJ1ZVxuICAgICAgICB9LFxuICAgICAgICBwcm9wZXJ0aWVzOiB7XG4gICAgICAgICAgcGxhY2Vob2xkZXI6IFwiUGxlYXNlIGVudGVyIHRoZSBMb2NhdGlvbiBVUkxcIixcbiAgICAgICAgICByZWFkT25seTogZmFsc2UsXG4gICAgICAgICAgY2FzZTogXCJkZWZhdWx0XCJcbiAgICAgICAgfSxcbiAgICAgICAgdHlwZTogXCJ0ZXh0XCJcbiAgICAgIH1cbiAgICBdLFxuICAgIHByb3BlcnRpZXM6IHtcbiAgICAgIGhlYWRlcjoge1xuICAgICAgICB0aXRsZToge1xuICAgICAgICAgIGhpZGRlbjogdHJ1ZSxcbiAgICAgICAgICBsYWJlbDogXCJBZGQgVGFza1wiXG4gICAgICAgIH0sXG4gICAgICAgIHN0ZXBzOiB7XG4gICAgICAgICAgaGlkZGVuOiB0cnVlXG4gICAgICAgIH0sXG4gICAgICAgIGxvZ286IHtcbiAgICAgICAgICBoaWRkZW46IHRydWVcbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIGZvb3Rlcjoge1xuICAgICAgICB2aWV3Rm9ybXNCdXR0b246IHtcbiAgICAgICAgICBoaWRkZW46IHRydWUsXG4gICAgICAgICAgbGFiZWw6IFwiVmlldyBGb3Jtc1wiXG4gICAgICAgIH0sXG4gICAgICAgIHNhdmVCdXR0b246IHtcbiAgICAgICAgICBoaWRkZW46IGZhbHNlLFxuICAgICAgICAgIGxhYmVsOiBcIlN1Ym1pdFwiXG4gICAgICAgIH1cbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgbm90UmVxdWlyZWRTdGF0dXMgPSBbXG4gICAgRVN0YXR1cy5SRUpFQ1RFRCxcbiAgICBFU3RhdHVzLkFGVEVSX0FVRElULFxuICAgIEVTdGF0dXMuQ09NUExFVEUsXG4gICAgRVN0YXR1cy5TRVNTSU9OX0VYUElSRUQsXG4gICAgRVN0YXR1cy5LWUNfUkVKRUNURUQsXG4gICAgRVN0YXR1cy5LWUNfUkVTVUxUX0FQUFJPVkVELFxuICAgIEVTdGF0dXMuS1lDX1JFU1VMVF9SRUpFQ1RFRCxcbiAgICBFU3RhdHVzLktZQ19SRVNVTFRfVU5ERVJfUkVWSUVXLFxuICAgIEVTdGF0dXMuS1lDX1JFUVVFU1RfUkVKRUNURURcbiAgXTtcblxuICBjb25zdHJ1Y3RvcigpIHt9XG5cbiAgbmdPbkluaXQoKSB7fVxuXG4gIHNldEFnZW50Q29uZmlnKGNvbmZpZykge1xuICAgIHRoaXMuY29uZmlnID0gY29uZmlnO1xuICB9XG5cbiAgdG9nZ2xlTWFwdmlldygpIHtcbiAgICB0aGlzLnNob3dNYXB2aWV3ID0gIXRoaXMuc2hvd01hcHZpZXc7XG4gIH1cblxuICBjYW5TdGFydEpvdXJuZXkoc3RhdHVzKSB7XG4gICAgY29uc3Qgbm9uZUVkaXRhYmxlU3RhdHVzID1cbiAgICAgIHRoaXMuY29uZmlnLmRhc2hib2FyZD8uY2Fubm90U3RhcnRKb3VybmV5ID8/IHRoaXMubm90UmVxdWlyZWRTdGF0dXM7XG5cbiAgICBpZiAobm9uZUVkaXRhYmxlU3RhdHVzLmluY2x1ZGVzKHN0YXR1cykpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cblxuICBjYW5QbG90TWFya2VycyhzdGF0dXMpIHtcbiAgICBjb25zdCBub25lUGxvdHRpbmdTZXNzaW9ucyA9IHRoaXMuY29uZmlnLmRhc2hib2FyZD8uZG9udFBsb3RNYXJrZXJzID8/IFtdO1xuXG4gICAgaWYgKG5vbmVQbG90dGluZ1Nlc3Npb25zLmluY2x1ZGVzKHN0YXR1cykpIHtcbiAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG4gICAgcmV0dXJuIHRydWU7XG4gIH1cbn1cbiJdfQ==