@aggdirect/coolmap-services 1.0.7 → 1.0.9

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.
@@ -0,0 +1,37 @@
1
+ export class Route {
2
+ constructor() {
3
+ this.index = 0;
4
+ }
5
+ }
6
+ export const EstinationData = ['estimated_distance', 'estimated_time'];
7
+ export var EstinationEnum;
8
+ (function (EstinationEnum) {
9
+ EstinationEnum["estimated_distance"] = "miles";
10
+ EstinationEnum["estimated_time"] = "time";
11
+ })(EstinationEnum || (EstinationEnum = {}));
12
+ export const JobCodeOverviewData = ['customer_contact', 'delivery_contact', 'pickup_location', 'delivery_location', 'project', 'unit'];
13
+ export var JobCodeOverviewEnum;
14
+ (function (JobCodeOverviewEnum) {
15
+ JobCodeOverviewEnum["customer_contact"] = "Customer Contact";
16
+ JobCodeOverviewEnum["delivery_contact"] = "Delivery Contact";
17
+ JobCodeOverviewEnum["pickup_location"] = "Pickup";
18
+ JobCodeOverviewEnum["delivery_location"] = "Delivery";
19
+ JobCodeOverviewEnum["project"] = "Project Name";
20
+ JobCodeOverviewEnum["unit"] = "Job Type";
21
+ })(JobCodeOverviewEnum || (JobCodeOverviewEnum = {}));
22
+ export const DriversmsCardKey = ['order_number', 'date', 'values', 'material', 'unit', 'pickup_location', 'delivery_location'];
23
+ export var DriverSmsCardEnum;
24
+ (function (DriverSmsCardEnum) {
25
+ DriverSmsCardEnum["order_number"] = "Jobcode";
26
+ DriverSmsCardEnum["date"] = "Date";
27
+ DriverSmsCardEnum["values"] = "Total tasks";
28
+ DriverSmsCardEnum["material"] = "Material";
29
+ DriverSmsCardEnum["unit"] = "Unit";
30
+ DriverSmsCardEnum["pickup_location"] = "Pickup Address";
31
+ DriverSmsCardEnum["delivery_location"] = "Delivery Address";
32
+ })(DriverSmsCardEnum || (DriverSmsCardEnum = {}));
33
+ export class PopupData {
34
+ }
35
+ export class CoolmapConfigModel {
36
+ }
37
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZGF0YS1tb2RlbC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvb2xtYXAtc2VydmljZXMvc3JjL2xpYi9zZXJ2aWNlL2RhdGEtbW9kZWwudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsTUFBTSxPQUFPLEtBQUs7SUFBbEI7UUFDRSxVQUFLLEdBQVcsQ0FBQyxDQUFDO0lBc0NwQixDQUFDO0NBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxvQkFBb0IsRUFBRSxnQkFBZ0IsQ0FBQyxDQUFBO0FBQ3RFLE1BQU0sQ0FBTixJQUFZLGNBR1g7QUFIRCxXQUFZLGNBQWM7SUFDeEIsOENBQTRCLENBQUE7SUFDNUIseUNBQXVCLENBQUE7QUFDekIsQ0FBQyxFQUhXLGNBQWMsS0FBZCxjQUFjLFFBR3pCO0FBRUQsTUFBTSxDQUFDLE1BQU0sbUJBQW1CLEdBQUcsQ0FBQyxrQkFBa0IsRUFBRSxrQkFBa0IsRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUE7QUFDdEksTUFBTSxDQUFOLElBQVksbUJBT1g7QUFQRCxXQUFZLG1CQUFtQjtJQUM3Qiw0REFBcUMsQ0FBQTtJQUNyQyw0REFBcUMsQ0FBQTtJQUNyQyxpREFBMEIsQ0FBQTtJQUMxQixxREFBOEIsQ0FBQTtJQUM5QiwrQ0FBd0IsQ0FBQTtJQUN4Qix3Q0FBaUIsQ0FBQTtBQUNuQixDQUFDLEVBUFcsbUJBQW1CLEtBQW5CLG1CQUFtQixRQU85QjtBQUVELE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsY0FBYyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSxpQkFBaUIsRUFBRSxtQkFBbUIsQ0FBQyxDQUFBO0FBQzlILE1BQU0sQ0FBTixJQUFZLGlCQVFYO0FBUkQsV0FBWSxpQkFBaUI7SUFDM0IsNkNBQXdCLENBQUE7SUFDeEIsa0NBQWEsQ0FBQTtJQUNiLDJDQUFzQixDQUFBO0lBQ3RCLDBDQUFxQixDQUFBO0lBQ3JCLGtDQUFhLENBQUE7SUFDYix1REFBa0MsQ0FBQTtJQUNsQywyREFBc0MsQ0FBQTtBQUN4QyxDQUFDLEVBUlcsaUJBQWlCLEtBQWpCLGlCQUFpQixRQVE1QjtBQUVELE1BQU0sT0FBTyxTQUFTO0NBVXJCO0FBRUQsTUFBTSxPQUFPLGtCQUFrQjtDQUk5QiIsInNvdXJjZXNDb250ZW50IjpbIlxuZXhwb3J0IGNsYXNzIFJvdXRlIHtcbiAgaW5kZXg6IG51bWJlciA9IDA7XG4gIHR5cGU/OiBzdHJpbmcgfCBudWxsO1xuICAvLyBKb2IgQ29kZVxuICBjdXN0b21lcl9jb250YWN0Pzogc3RyaW5nIHwgbnVsbDtcbiAgY3VzdG9tZXJfbmFtZT86IHN0cmluZyB8IG51bGw7XG4gIGRlbGl2ZXJ5X2NvbnRhY3Q/OiBzdHJpbmcgfCBudWxsO1xuICBkZWxpdmVyeV9sYXQ/OiBudW1iZXIgfCBudWxsO1xuICBkZWxpdmVyeV9sb2NhdGlvbj86IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQ7XG4gIGRlbGl2ZXJ5X2xvbj86IG51bWJlciB8IG51bGw7XG4gIGRyaXZlcl9saXN0PzogQXJyYXk8YW55PjtcbiAgbWF0ZXJpYWw/OiBzdHJpbmcgfCBudWxsO1xuICBvcmRlcl9udW1iZXI/OiBzdHJpbmcgfCBudWxsO1xuICBwaWNrdXBfbGF0PzogbnVtYmVyIHwgbnVsbDtcbiAgcGlja3VwX2xvY2F0aW9uPzogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZDtcbiAgcGlja3VwX2xvbj86IG51bWJlciB8IG51bGw7XG4gIHByb2plY3Q/OiBzdHJpbmcgfCBudWxsO1xuICB0b3RhbF9jb3VudD86IG51bWJlcjtcbiAgdW5pdD86IHN0cmluZyB8IG51bGw7XG4gIHZhbHVlczogYW55O1xuICBqb2JfaWQ/OiBzdHJpbmc7XG4gIGlzU2VsZWN0ZWQ/OiBib29sZWFuO1xuICBkYXRlPzogc3RyaW5nO1xuICAvLyBBZGQgUm91dGVcbiAgY3JlYXRlZF9hdD86IHN0cmluZyB8IG51bGw7XG4gIGNyZWF0ZWRfYnlfbmFtZT86IHN0cmluZyB8IG51bGw7XG4gIGN1c3RvbWVyX2lkPzogc3RyaW5nIHwgbnVsbDtcbiAgZGVsaXZlcnlfbGF0X2xuZz86IHN0cmluZyB8IG51bGw7XG4gIGVzdGltYXRlZF9kaXN0YW5jZT86IHN0cmluZyB8IG51bGw7XG4gIGVzdGltYXRlZF90aW1lPzogc3RyaW5nIHwgbnVsbDtcbiAgbWF0ZXJpYWxzX2lkPzogc3RyaW5nIHwgbnVsbDtcbiAgcGF0aD86IFtudW1iZXIsIG51bWJlcl07XG4gIHBpY2t1cF9sYXRfbG5nPzogc3RyaW5nIHwgbnVsbDtcbiAgcm91dGVfaWQ/OiBzdHJpbmcgfCBudWxsO1xuICByb3V0ZV9uYW1lPzogc3RyaW5nIHwgbnVsbDtcbiAgdW5pdF9pZD86IHN0cmluZyB8IG51bGw7XG4gIG5vdGU/OiBzdHJpbmcgfCBudWxsXG4gIGlzQWN0aXZlPzogYm9vbGVhbjtcbiAgcHJldmVudD86IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBFc3RpbmF0aW9uRGF0YSA9IFsnZXN0aW1hdGVkX2Rpc3RhbmNlJywgJ2VzdGltYXRlZF90aW1lJ11cbmV4cG9ydCBlbnVtIEVzdGluYXRpb25FbnVtIHtcbiAgZXN0aW1hdGVkX2Rpc3RhbmNlID0gXCJtaWxlc1wiLFxuICBlc3RpbWF0ZWRfdGltZSA9IFwidGltZVwiXG59XG5cbmV4cG9ydCBjb25zdCBKb2JDb2RlT3ZlcnZpZXdEYXRhID0gWydjdXN0b21lcl9jb250YWN0JywgJ2RlbGl2ZXJ5X2NvbnRhY3QnLCAncGlja3VwX2xvY2F0aW9uJywgJ2RlbGl2ZXJ5X2xvY2F0aW9uJywgJ3Byb2plY3QnLCAndW5pdCddXG5leHBvcnQgZW51bSBKb2JDb2RlT3ZlcnZpZXdFbnVtIHtcbiAgY3VzdG9tZXJfY29udGFjdCA9ICdDdXN0b21lciBDb250YWN0JyxcbiAgZGVsaXZlcnlfY29udGFjdCA9ICdEZWxpdmVyeSBDb250YWN0JyxcbiAgcGlja3VwX2xvY2F0aW9uID0gJ1BpY2t1cCcsXG4gIGRlbGl2ZXJ5X2xvY2F0aW9uID0gJ0RlbGl2ZXJ5JyxcbiAgcHJvamVjdCA9ICdQcm9qZWN0IE5hbWUnLFxuICB1bml0ID0gJ0pvYiBUeXBlJyxcbn1cblxuZXhwb3J0IGNvbnN0IERyaXZlcnNtc0NhcmRLZXkgPSBbJ29yZGVyX251bWJlcicsICdkYXRlJywgJ3ZhbHVlcycsICdtYXRlcmlhbCcsICd1bml0JywgJ3BpY2t1cF9sb2NhdGlvbicsICdkZWxpdmVyeV9sb2NhdGlvbiddXG5leHBvcnQgZW51bSBEcml2ZXJTbXNDYXJkRW51bSB7XG4gIG9yZGVyX251bWJlciA9ICdKb2Jjb2RlJyxcbiAgZGF0ZSA9ICdEYXRlJyxcbiAgdmFsdWVzID0gJ1RvdGFsIHRhc2tzJyxcbiAgbWF0ZXJpYWwgPSAnTWF0ZXJpYWwnLFxuICB1bml0ID0gJ1VuaXQnLFxuICBwaWNrdXBfbG9jYXRpb24gPSAnUGlja3VwIEFkZHJlc3MnLFxuICBkZWxpdmVyeV9sb2NhdGlvbiA9ICdEZWxpdmVyeSBBZGRyZXNzJ1xufVxuXG5leHBvcnQgY2xhc3MgUG9wdXBEYXRhIHtcbiAgY29vcmRpbmF0ZTogW251bWJlciwgbnVtYmVyXTtcbiAgcGlja3VwOiBzdHJpbmcgfCBudWxsO1xuICBqb2JDb2RlPzogc3RyaW5nIHwgbnVsbDtcbiAgY3VzdG9tZXI/OiBzdHJpbmcgfCBudWxsO1xuICBkcm9wOiBzdHJpbmcgfCBudWxsO1xuICByb3V0ZVR5cGU6IHN0cmluZyB8IG51bGw7XG4gIHRpdGxlOiBzdHJpbmcgfCBudWxsO1xuICBtYXRlcmlhbDogc3RyaW5nIHwgbnVsbDtcbiAgdHlwZTogc3RyaW5nIHwgbnVsbDtcbn1cblxuZXhwb3J0IGNsYXNzIENvb2xtYXBDb25maWdNb2RlbCB7XG4gIGFuYWx5dGljc1JFU1RVUkw6IHN0cmluZyB8IG51bGw7XG4gIFJFU1RVUkxQcmVmaXg6IHN0cmluZyB8IG51bGw7XG4gIHJlcG9zaXRvcnk6IHN0cmluZyB8IG51bGw7XG59XG5cbmV4cG9ydCBkZWNsYXJlIGNsYXNzIEN1c3RvbWVyUmVwb0RldGFpbHNNb2RlbCB7XG4gIGN1c3RvbWVyOiBDdXN0b21lckRldGFpbHNNb2RlbCB8IG51bGw7XG4gIHByb2plY3RJZDogc3RyaW5nIHwgbnVsbDtcbn1cblxuZXhwb3J0IGRlY2xhcmUgY2xhc3MgQ3VzdG9tZXJEZXRhaWxzTW9kZWwge1xuICBpZDogc3RyaW5nIHwgbnVsbDtcbiAgbmFtZTogc3RyaW5nIHwgbnVsbDtcbn1cbiJdfQ==
@@ -0,0 +1,258 @@
1
+ import { Injectable, Inject } from '@angular/core';
2
+ import { BehaviorSubject } from 'rxjs';
3
+ import * as i0 from "@angular/core";
4
+ import * as i1 from "@angular/common/http";
5
+ import * as i2 from "@angular/material/snack-bar";
6
+ import * as i3 from "./data-model";
7
+ export class UtilsService {
8
+ constructor(http, snackBar, config) {
9
+ this.http = http;
10
+ this.snackBar = snackBar;
11
+ this.config = config;
12
+ this.analyticsRESTURL = '';
13
+ this.RESTURLPrefix = '';
14
+ this.pickupOptions = [];
15
+ this.destOptions = [];
16
+ this.ownerOptions = [];
17
+ this.customerOptions = [];
18
+ this.unitOptions = [];
19
+ this.materialOptions = [];
20
+ this.jcodeOptions = [];
21
+ this.driverOption = [];
22
+ this.truckingCompanayOption = [];
23
+ this.routeNameOptions = [];
24
+ this.preventnavChange = new BehaviorSubject(false);
25
+ this.navChangeObserve = this.preventnavChange.asObservable();
26
+ this.clearViewRouteforJobCode = new BehaviorSubject(false);
27
+ this.clearViewRouteforJobCodeObserve = this.clearViewRouteforJobCode.asObservable();
28
+ this.preVentJobdetailclose = new BehaviorSubject(false);
29
+ this.getpreVentJobdetailclose = this.preVentJobdetailclose.asObservable();
30
+ this.routeDetailsUtility = new BehaviorSubject({});
31
+ this.getrouteDetailsUtility = this.routeDetailsUtility.asObservable();
32
+ this.removeMapEntity = new BehaviorSubject({});
33
+ this.removeMapEntityUtility = this.removeMapEntity.asObservable();
34
+ this.dict = new Map();
35
+ this.analyticsRESTURL = config.analyticsRESTURL;
36
+ this.RESTURLPrefix = config.RESTURLPrefix;
37
+ }
38
+ getDateFormat(strVal, seprater) {
39
+ seprater = seprater ? seprater : '-';
40
+ const mydate = strVal;
41
+ return mydate?.getFullYear() + seprater + ((mydate ? mydate.getMonth() : 0) + 1) + seprater + mydate?.getDate();
42
+ }
43
+ getData(path) { return this.http.get(`${this.analyticsRESTURL}${this.config.repository}/${path}`); }
44
+ postdata(path, data) { return this.http.post(`${this.analyticsRESTURL}${this.config.repository}/${path}`, data); }
45
+ postDataWithRestUrl(path, data) { return this.http.post(`${this.RESTURLPrefix}${path}`, data); }
46
+ fetchAutoCompleteLocations(keyword) {
47
+ return this.http.get(`https://api.mapbox.com/geocoding/v5/mapbox.places/${keyword}.json?access_token=pk.eyJ1Ijoic2FudGFudS1vZ21hIiwiYSI6ImNsOGQ0cDVrNjAweTMzb3RmdG9ieTU5ZDkifQ.I6ZS7mViZYSvBo4zz-mGQQ&country=US`);
48
+ }
49
+ openSnackBar(message, className) {
50
+ this.snackBar.open(message, '', {
51
+ duration: 5000, verticalPosition: 'top', horizontalPosition: 'center', panelClass: [className ? className : 'default']
52
+ });
53
+ }
54
+ makeOptions(item) {
55
+ if (item.order_number) {
56
+ (this.jcodeOptions.findIndex((elem) => elem.job_id === item.job_id) === -1) ? this.jcodeOptions.push({ job_code: item.order_number, job_id: item.job_id }) : null;
57
+ if (item.driver_list && item.driver_list?.length > 0) {
58
+ item.driver_list.forEach((driver) => {
59
+ this.driverOption.findIndex(elem => elem === driver['driver_name']) === -1 ? this.driverOption.push(driver['driver_name']) : null;
60
+ this.truckingCompanayOption.findIndex(elem => elem === driver['trucking_company']) === -1 ? this.truckingCompanayOption.push(driver['trucking_company']) : null;
61
+ });
62
+ }
63
+ }
64
+ ((this.pickupOptions.findIndex((elem) => elem === item.pickup_location)) === -1) ? this.pickupOptions.push(item.pickup_location) : null;
65
+ ((this.destOptions.findIndex((elem) => elem === item.delivery_location)) === -1) ? this.destOptions.push(item.delivery_location) : null;
66
+ (this.customerOptions.findIndex((customer) => customer === item.customer_name) === -1) ? this.customerOptions.push(item.customer_name) : null;
67
+ (this.unitOptions.findIndex((elem) => elem === item.unit) === -1) ? this.unitOptions.push(item.unit) : null;
68
+ (this.materialOptions.findIndex((elem) => elem === item.material) === -1) ? this.materialOptions.push(item.material) : null;
69
+ if (item.route_name)
70
+ this.routeNameOptions.findIndex(elem => elem === item.route_name) === -1 ? this.routeNameOptions.push(item.route_name) : null;
71
+ }
72
+ filter(value, filters) {
73
+ if (typeof value !== 'string') {
74
+ return [];
75
+ }
76
+ const filterValue = value.toLowerCase();
77
+ if (filterValue === '') {
78
+ return [];
79
+ }
80
+ const searchResults = [];
81
+ this.unitOptions.map(unit => {
82
+ if (unit.toLowerCase().includes(filterValue)) {
83
+ searchResults.push({ "type": "unit", "label": unit, "value": unit });
84
+ }
85
+ });
86
+ this.customerOptions.map(unit => {
87
+ if (unit.toLowerCase().includes(filterValue)) {
88
+ searchResults.push({ "type": "customer", "label": unit, "value": unit });
89
+ }
90
+ });
91
+ this.materialOptions.map(unit => {
92
+ if (unit.toLowerCase().includes(filterValue)) {
93
+ searchResults.push({ "type": "material", "label": unit, "value": unit });
94
+ }
95
+ });
96
+ this.pickupOptions.map(unit => {
97
+ if (unit.toLowerCase().includes(filterValue)) {
98
+ searchResults.push({ "type": "pickup location", "label": unit, "value": unit });
99
+ }
100
+ });
101
+ this.destOptions.map(unit => {
102
+ if (unit.toLowerCase().includes(filterValue)) {
103
+ searchResults.push({ "type": "destination location", "label": unit, "value": unit });
104
+ }
105
+ });
106
+ this.jcodeOptions.map(unit => {
107
+ if (unit.job_code.toLowerCase().includes(filterValue)) {
108
+ searchResults.push({ "type": "job", "label": unit['job_code'], "value": unit });
109
+ }
110
+ });
111
+ this.driverOption.map(unit => {
112
+ if (unit.toLowerCase().includes(filterValue)) {
113
+ searchResults.push({ "type": "Driver", "label": unit, "value": unit });
114
+ }
115
+ });
116
+ this.truckingCompanayOption.map(unit => {
117
+ if (unit.toLowerCase().includes(filterValue)) {
118
+ searchResults.push({ "type": "Trucking Company", "label": unit, "value": unit });
119
+ }
120
+ });
121
+ this.routeNameOptions.map(unit => {
122
+ if (unit.toLowerCase().includes(filterValue)) {
123
+ searchResults.push({ "type": "Route name", "label": unit, "value": unit });
124
+ }
125
+ });
126
+ const searchDict = {};
127
+ filters.map((filter) => {
128
+ searchDict[filter['name'] + filter['type']] = filter;
129
+ });
130
+ const furtherFilter = [];
131
+ searchResults.map(search => {
132
+ if ((search['label'] + search['type']) in searchDict) { }
133
+ else {
134
+ furtherFilter.push(search);
135
+ }
136
+ });
137
+ return furtherFilter;
138
+ }
139
+ getSearchResults(list, filterval) {
140
+ return list.filter(element => {
141
+ const result_list_boolean = [];
142
+ if (filterval.length > 0) {
143
+ if (filterval[0]['type'] === 'unit') {
144
+ result_list_boolean.push(filterval[0]['name'] === element[filterval[0]['type']]);
145
+ }
146
+ if (filterval[0]['type'] === 'customer') {
147
+ result_list_boolean.push(filterval[0]['name'] === element['customer_name']);
148
+ }
149
+ if (filterval[0]['type'] === 'material') {
150
+ result_list_boolean.push(filterval[0]['name'] === element[filterval[0]['type']]);
151
+ }
152
+ if (filterval[0]['type'] === 'pickup location') {
153
+ result_list_boolean.push(filterval[0]['name'] === element['pickup_location']);
154
+ }
155
+ if (filterval[0]['type'] === 'destination location') {
156
+ result_list_boolean.push(filterval[0]['name'] === element['delivery_location']);
157
+ }
158
+ if (filterval[0]['type'] === 'job') {
159
+ result_list_boolean.push(filterval[0]['name'] === element['order_number']);
160
+ }
161
+ if (filterval[0]['type'] === 'Route name') {
162
+ result_list_boolean.push(filterval[0]['name'] === element['route_name']);
163
+ }
164
+ if (filterval[0]['type'] === 'Driver') {
165
+ const index = element.driver_list?.findIndex(ele => { return filterval[0]['name'] === ele['driver_name']; });
166
+ if (index !== -1)
167
+ result_list_boolean.push(true);
168
+ }
169
+ if (filterval[0]['type'] === 'Trucking Company') {
170
+ const index = element.driver_list?.findIndex(ele => { return filterval[0]['name'] === ele['trucking_company']; });
171
+ if (index !== -1)
172
+ result_list_boolean.push(true);
173
+ }
174
+ }
175
+ if (result_list_boolean.length > 0) {
176
+ return result_list_boolean.reduce((prev, curr) => prev && curr);
177
+ }
178
+ return false;
179
+ });
180
+ }
181
+ clearOptions() {
182
+ this.pickupOptions = [];
183
+ this.destOptions = [];
184
+ this.ownerOptions = [];
185
+ this.customerOptions = [];
186
+ this.unitOptions = [];
187
+ this.materialOptions = [];
188
+ this.jcodeOptions = [];
189
+ this.routeNameOptions = [];
190
+ }
191
+ setdictValue(key, value) {
192
+ this.dict.set(key, value);
193
+ }
194
+ getdictValue(key) {
195
+ return JSON.parse(this.dict.get(key));
196
+ }
197
+ removedictValue(key) {
198
+ this.dict.delete(key);
199
+ }
200
+ conveySearchIcon(value) {
201
+ if (value && typeof (value) !== 'object')
202
+ return true;
203
+ return false;
204
+ }
205
+ fetchUnitsList() {
206
+ return new Promise((resolve, reject) => {
207
+ if (!this.unitsList) {
208
+ this.getData('unit/list/view').subscribe((res) => {
209
+ if (res) {
210
+ this.unitsList = res.data;
211
+ resolve(this.unitsList);
212
+ }
213
+ });
214
+ }
215
+ else {
216
+ resolve(this.unitsList);
217
+ }
218
+ });
219
+ }
220
+ fetchMaterialsList() {
221
+ return new Promise((resolve, reject) => {
222
+ if (!this.materialsList) {
223
+ this.getData('material/list/view').subscribe(((res) => {
224
+ res.data.sort((a, b) => a.material.localeCompare(b.material));
225
+ this.materialsList = res.data;
226
+ resolve(this.materialsList);
227
+ }));
228
+ }
229
+ else {
230
+ resolve(this.materialsList);
231
+ }
232
+ });
233
+ }
234
+ fetchCustomersList() {
235
+ return new Promise((resolve, reject) => {
236
+ if (!this.customersList) {
237
+ this.getData('company/list/view').subscribe((res) => {
238
+ if (res) {
239
+ this.customersList = res.data;
240
+ }
241
+ });
242
+ }
243
+ else {
244
+ resolve(this.customersList);
245
+ }
246
+ });
247
+ }
248
+ }
249
+ UtilsService.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UtilsService, deps: [{ token: i1.HttpClient }, { token: i2.MatSnackBar }, { token: 'memberData' }], target: i0.ɵɵFactoryTarget.Injectable });
250
+ UtilsService.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UtilsService, providedIn: 'root' });
251
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "14.3.0", ngImport: i0, type: UtilsService, decorators: [{
252
+ type: Injectable,
253
+ args: [{ providedIn: 'root' }]
254
+ }], ctorParameters: function () { return [{ type: i1.HttpClient }, { type: i2.MatSnackBar }, { type: i3.CoolmapConfigModel, decorators: [{
255
+ type: Inject,
256
+ args: ['memberData']
257
+ }] }]; } });
258
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuc2VydmljZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3Byb2plY3RzL2Nvb2xtYXAtc2VydmljZXMvc3JjL2xpYi9zZXJ2aWNlL3V0aWxzLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQ0EsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsTUFBTSxlQUFlLENBQUM7QUFFbkQsT0FBTyxFQUFFLGVBQWUsRUFBYSxNQUFNLE1BQU0sQ0FBQzs7Ozs7QUFJbEQsTUFBTSxPQUFPLFlBQVk7SUEyQnZCLFlBQW1CLElBQWdCLEVBQVMsUUFBcUIsRUFDakMsTUFBMEI7UUFEdkMsU0FBSSxHQUFKLElBQUksQ0FBWTtRQUFTLGFBQVEsR0FBUixRQUFRLENBQWE7UUFDakMsV0FBTSxHQUFOLE1BQU0sQ0FBb0I7UUEzQjFELHFCQUFnQixHQUFHLEVBQUUsQ0FBQztRQUN0QixrQkFBYSxHQUFHLEVBQUUsQ0FBQztRQUNuQixrQkFBYSxHQUFVLEVBQUUsQ0FBQztRQUMxQixnQkFBVyxHQUFVLEVBQUUsQ0FBQztRQUN4QixpQkFBWSxHQUFVLEVBQUUsQ0FBQztRQUN6QixvQkFBZSxHQUFVLEVBQUUsQ0FBQztRQUM1QixnQkFBVyxHQUFVLEVBQUUsQ0FBQztRQUN4QixvQkFBZSxHQUFVLEVBQUUsQ0FBQztRQUM1QixpQkFBWSxHQUFVLEVBQUUsQ0FBQztRQUN6QixpQkFBWSxHQUFVLEVBQUUsQ0FBQztRQUN6QiwyQkFBc0IsR0FBVSxFQUFFLENBQUM7UUFDbkMscUJBQWdCLEdBQVUsRUFBRSxDQUFDO1FBQ3RCLHFCQUFnQixHQUFHLElBQUksZUFBZSxDQUFDLEtBQUssQ0FBQyxDQUFDO1FBQ3JELHFCQUFnQixHQUFHLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUN4RCw2QkFBd0IsR0FBRyxJQUFJLGVBQWUsQ0FBQyxLQUFLLENBQUMsQ0FBQztRQUN0RCxvQ0FBK0IsR0FBRyxJQUFJLENBQUMsd0JBQXdCLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDL0UsMEJBQXFCLEdBQUcsSUFBSSxlQUFlLENBQUMsS0FBSyxDQUFDLENBQUM7UUFDbkQsNkJBQXdCLEdBQUcsSUFBSSxDQUFDLHFCQUFxQixDQUFDLFlBQVksRUFBRSxDQUFDO1FBQ3JFLHdCQUFtQixHQUFHLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzlDLDJCQUFzQixHQUFHLElBQUksQ0FBQyxtQkFBbUIsQ0FBQyxZQUFZLEVBQUUsQ0FBQztRQUNqRSxvQkFBZSxHQUFHLElBQUksZUFBZSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1FBQzFDLDJCQUFzQixHQUFHLElBQUksQ0FBQyxlQUFlLENBQUMsWUFBWSxFQUFFLENBQUM7UUFDN0QsU0FBSSxHQUFHLElBQUksR0FBRyxFQUFrQixDQUFDO1FBTS9CLElBQUksQ0FBQyxnQkFBZ0IsR0FBRyxNQUFNLENBQUMsZ0JBQWdCLENBQUM7UUFDaEQsSUFBSSxDQUFDLGFBQWEsR0FBRyxNQUFNLENBQUMsYUFBYSxDQUFDO0lBQzVDLENBQUM7SUFDRCxhQUFhLENBQUMsTUFBbUIsRUFBRSxRQUFpQjtRQUNsRCxRQUFRLEdBQUcsUUFBUSxDQUFDLENBQUMsQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQztRQUNyQyxNQUFNLE1BQU0sR0FBRyxNQUFNLENBQUM7UUFDdEIsT0FBTyxNQUFNLEVBQUUsV0FBVyxFQUFFLEdBQUcsUUFBUSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQUcsUUFBUSxHQUFHLE1BQU0sRUFBRSxPQUFPLEVBQUUsQ0FBQztJQUNsSCxDQUFDO0lBQ0QsT0FBTyxDQUFDLElBQVksSUFBSSxPQUFPLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsSUFBSSxDQUFDLGdCQUFnQixHQUFHLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxJQUFJLElBQUksRUFBRSxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBQzNHLFFBQVEsQ0FBQyxJQUFZLEVBQUUsSUFBUyxJQUFJLE9BQU8sSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxJQUFJLENBQUMsZ0JBQWdCLEdBQUcsSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLElBQUksSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBQzlILG1CQUFtQixDQUFDLElBQVksRUFBRSxJQUFTLElBQUksT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxHQUFHLElBQUksQ0FBQyxhQUFhLEdBQUcsSUFBSSxFQUFFLEVBQUUsSUFBSSxDQUFDLENBQUEsQ0FBQyxDQUFDO0lBQzVHLDBCQUEwQixDQUFDLE9BQWU7UUFDeEMsT0FBTyxJQUFJLENBQUMsSUFBSSxDQUFDLEdBQUcsQ0FBQyxxREFBcUQsT0FBTyxnSUFBZ0ksQ0FBQyxDQUFBO0lBQ3BOLENBQUM7SUFDRCxZQUFZLENBQUMsT0FBZSxFQUFFLFNBQWtCO1FBQzlDLElBQUksQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxFQUFFLEVBQUU7WUFDOUIsUUFBUSxFQUFFLElBQUksRUFBRSxnQkFBZ0IsRUFBRSxLQUFLLEVBQUUsa0JBQWtCLEVBQUUsUUFBUSxFQUFFLFVBQVUsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxTQUFTLENBQUM7U0FDdkgsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztJQUVELFdBQVcsQ0FBQyxJQUFXO1FBQ3JCLElBQUksSUFBSSxDQUFDLFlBQVksRUFBRTtZQUNyQixDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsTUFBTSxLQUFLLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsWUFBWSxFQUFFLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1lBQ2xLLElBQUksSUFBSSxDQUFDLFdBQVcsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ3BELElBQUksQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDLENBQUMsTUFBTSxFQUFFLEVBQUU7b0JBQ2xDLElBQUksQ0FBQyxZQUFZLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxhQUFhLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO29CQUNsSSxJQUFJLENBQUMsc0JBQXNCLENBQUMsU0FBUyxDQUFDLElBQUksQ0FBQyxFQUFFLENBQUMsSUFBSSxLQUFLLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLGtCQUFrQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO2dCQUNsSyxDQUFDLENBQUMsQ0FBQzthQUNKO1NBQ0Y7UUFDRCxDQUFDLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUN4SSxDQUFDLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsaUJBQWlCLENBQUMsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDeEksQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLFNBQVMsQ0FBQyxDQUFDLFFBQVEsRUFBRSxFQUFFLENBQUMsUUFBUSxLQUFLLElBQUksQ0FBQyxhQUFhLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZUFBZSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQztRQUM5SSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUUsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO1FBQzVHLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxTQUFTLENBQUMsQ0FBQyxJQUFJLEVBQUUsRUFBRSxDQUFDLElBQUksS0FBSyxJQUFJLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLGVBQWUsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLFFBQVEsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUM7UUFDNUgsSUFBSSxJQUFJLENBQUMsVUFBVTtZQUFFLElBQUksQ0FBQyxnQkFBZ0IsQ0FBQyxTQUFTLENBQUMsSUFBSSxDQUFDLEVBQUUsQ0FBQyxJQUFJLEtBQUssSUFBSSxDQUFDLFVBQVUsQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsZ0JBQWdCLENBQUMsSUFBSSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDO0lBQ3JKLENBQUM7SUFFRCxNQUFNLENBQUMsS0FBYSxFQUFFLE9BQVk7UUFDaEMsSUFBSSxPQUFPLEtBQUssS0FBSyxRQUFRLEVBQUU7WUFBRSxPQUFPLEVBQUUsQ0FBQTtTQUFFO1FBQzVDLE1BQU0sV0FBVyxHQUFHLEtBQUssQ0FBQyxXQUFXLEVBQUUsQ0FBQztRQUN4QyxJQUFJLFdBQVcsS0FBSyxFQUFFLEVBQUU7WUFBRSxPQUFPLEVBQUUsQ0FBQTtTQUFFO1FBQ3JDLE1BQU0sYUFBYSxHQUFVLEVBQUUsQ0FBQztRQUNoQyxJQUFJLENBQUMsV0FBVyxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMxQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQzVDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsTUFBTSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7YUFDckU7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxlQUFlLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzlCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDNUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxVQUFVLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTthQUN6RTtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGVBQWUsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDOUIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUM1QyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLFVBQVUsRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFBO2FBQ3pFO1FBQ0gsQ0FBQyxDQUFDLENBQUM7UUFDSCxJQUFJLENBQUMsYUFBYSxDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUM1QixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQzVDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsaUJBQWlCLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTthQUNoRjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLFdBQVcsQ0FBQyxHQUFHLENBQUMsSUFBSSxDQUFDLEVBQUU7WUFDMUIsSUFBSSxJQUFJLENBQUMsV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFDLFdBQVcsQ0FBQyxFQUFFO2dCQUM1QyxhQUFhLENBQUMsSUFBSSxDQUFDLEVBQUUsTUFBTSxFQUFFLHNCQUFzQixFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7YUFDckY7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzNCLElBQUksSUFBSSxDQUFDLFFBQVEsQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQ3JELGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsS0FBSyxFQUFFLE9BQU8sRUFBRSxJQUFJLENBQUMsVUFBVSxDQUFDLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7YUFDaEY7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILElBQUksQ0FBQyxZQUFZLENBQUMsR0FBRyxDQUFDLElBQUksQ0FBQyxFQUFFO1lBQzNCLElBQUksSUFBSSxDQUFDLFdBQVcsRUFBRSxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRTtnQkFDNUMsYUFBYSxDQUFDLElBQUksQ0FBQyxFQUFFLE1BQU0sRUFBRSxRQUFRLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTthQUN2RTtRQUNILENBQUMsQ0FBQyxDQUFDO1FBRUgsSUFBSSxDQUFDLHNCQUFzQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUNyQyxJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQzVDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsa0JBQWtCLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxPQUFPLEVBQUUsSUFBSSxFQUFFLENBQUMsQ0FBQTthQUNqRjtRQUNILENBQUMsQ0FBQyxDQUFDO1FBQ0gsSUFBSSxDQUFDLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxJQUFJLENBQUMsRUFBRTtZQUMvQixJQUFJLElBQUksQ0FBQyxXQUFXLEVBQUUsQ0FBQyxRQUFRLENBQUMsV0FBVyxDQUFDLEVBQUU7Z0JBQzVDLGFBQWEsQ0FBQyxJQUFJLENBQUMsRUFBRSxNQUFNLEVBQUUsWUFBWSxFQUFFLE9BQU8sRUFBRSxJQUFJLEVBQUUsT0FBTyxFQUFFLElBQUksRUFBRSxDQUFDLENBQUE7YUFDM0U7UUFDSCxDQUFDLENBQUMsQ0FBQztRQUNILE1BQU0sVUFBVSxHQUFRLEVBQUUsQ0FBQTtRQUMxQixPQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsTUFBNkIsRUFBRSxFQUFFO1lBQzVDLFVBQVUsQ0FBQyxNQUFNLENBQUMsTUFBTSxDQUFDLEdBQUcsTUFBTSxDQUFDLE1BQU0sQ0FBQyxDQUFDLEdBQUcsTUFBTSxDQUFDO1FBQ3ZELENBQUMsQ0FBQyxDQUFBO1FBQ0YsTUFBTSxhQUFhLEdBQVUsRUFBRSxDQUFDO1FBQ2hDLGFBQWEsQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUU7WUFDekIsSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsR0FBRyxNQUFNLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxVQUFVLEVBQUUsR0FBRztpQkFDcEQ7Z0JBQUUsYUFBYSxDQUFDLElBQUksQ0FBQyxNQUFNLENBQUMsQ0FBQTthQUFFO1FBQ3JDLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxhQUFhLENBQUM7SUFDdkIsQ0FBQztJQUVELGdCQUFnQixDQUFDLElBQWEsRUFBRSxTQUFjO1FBQzVDLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxPQUFPLENBQUMsRUFBRTtZQUMzQixNQUFNLG1CQUFtQixHQUFHLEVBQUUsQ0FBQTtZQUM5QixJQUFJLFNBQVMsQ0FBQyxNQUFNLEdBQUcsQ0FBQyxFQUFFO2dCQUN4QixJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxNQUFNLEVBQUU7b0JBQ25DLG1CQUFtQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssT0FBTyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQWdCLENBQUMsQ0FBQyxDQUFDO2lCQUNqRztnQkFDRCxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxVQUFVLEVBQUU7b0JBQ3ZDLG1CQUFtQixDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLENBQUM7aUJBQzdFO2dCQUNELElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLFVBQVUsRUFBRTtvQkFDdkMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxPQUFPLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBZ0IsQ0FBQyxDQUFDLENBQUM7aUJBQ2pHO2dCQUNELElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLGlCQUFpQixFQUFFO29CQUM5QyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLE9BQU8sQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUM7aUJBQy9FO2dCQUNELElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLHNCQUFzQixFQUFFO29CQUNuRCxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLE9BQU8sQ0FBQyxtQkFBbUIsQ0FBQyxDQUFDLENBQUM7aUJBQ2pGO2dCQUNELElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEtBQUssRUFBRTtvQkFDbEMsbUJBQW1CLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxPQUFPLENBQUMsY0FBYyxDQUFDLENBQUMsQ0FBQztpQkFDNUU7Z0JBQ0QsSUFBSSxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssWUFBWSxFQUFFO29CQUN6QyxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLE9BQU8sQ0FBQyxZQUFZLENBQUMsQ0FBQyxDQUFDO2lCQUMxRTtnQkFDRCxJQUFJLFNBQVMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxNQUFNLENBQUMsS0FBSyxRQUFRLEVBQUU7b0JBQ3JDLE1BQU0sS0FBSyxHQUFHLE9BQU8sQ0FBQyxXQUFXLEVBQUUsU0FBUyxDQUFDLEdBQUcsQ0FBQyxFQUFFLEdBQUcsT0FBTyxTQUFTLENBQUMsQ0FBQyxDQUFDLENBQUMsTUFBTSxDQUFDLEtBQUssR0FBRyxDQUFDLGFBQWEsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQzVHLElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQzt3QkFBRSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ2xEO2dCQUNELElBQUksU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLGtCQUFrQixFQUFFO29CQUMvQyxNQUFNLEtBQUssR0FBRyxPQUFPLENBQUMsV0FBVyxFQUFFLFNBQVMsQ0FBQyxHQUFHLENBQUMsRUFBRSxHQUFHLE9BQU8sU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxLQUFLLEdBQUcsQ0FBQyxrQkFBa0IsQ0FBQyxDQUFBLENBQUMsQ0FBQyxDQUFDLENBQUM7b0JBQ2pILElBQUksS0FBSyxLQUFLLENBQUMsQ0FBQzt3QkFBRSxtQkFBbUIsQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUM7aUJBQ2xEO2FBQ0Y7WUFDRCxJQUFJLG1CQUFtQixDQUFDLE1BQU0sR0FBRyxDQUFDLEVBQUU7Z0JBQ2xDLE9BQU8sbUJBQW1CLENBQUMsTUFBTSxDQUFDLENBQUMsSUFBSSxFQUFFLElBQUksRUFBRSxFQUFFLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxDQUFDO2FBQ2pFO1lBQ0QsT0FBTyxLQUFLLENBQUM7UUFDZixDQUFDLENBQUMsQ0FBQztJQUNMLENBQUM7SUFFRCxZQUFZO1FBQ1YsSUFBSSxDQUFDLGFBQWEsR0FBRyxFQUFFLENBQUM7UUFDeEIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFdBQVcsR0FBRyxFQUFFLENBQUM7UUFDdEIsSUFBSSxDQUFDLGVBQWUsR0FBRyxFQUFFLENBQUM7UUFDMUIsSUFBSSxDQUFDLFlBQVksR0FBRyxFQUFFLENBQUM7UUFDdkIsSUFBSSxDQUFDLGdCQUFnQixHQUFHLEVBQUUsQ0FBQztJQUM3QixDQUFDO0lBQ0QsWUFBWSxDQUFDLEdBQVcsRUFBRSxLQUFhO1FBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsRUFBRSxLQUFLLENBQUMsQ0FBQztJQUM1QixDQUFDO0lBQ0QsWUFBWSxDQUFDLEdBQVc7UUFDdEIsT0FBTyxJQUFJLENBQUMsS0FBSyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUM7SUFDeEMsQ0FBQztJQUNELGVBQWUsQ0FBQyxHQUFXO1FBQ3pCLElBQUksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQ3hCLENBQUM7SUFDRCxnQkFBZ0IsQ0FBQyxLQUFVO1FBQ3pCLElBQUksS0FBSyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxRQUFRO1lBQUUsT0FBTyxJQUFJLENBQUM7UUFDdEQsT0FBTyxLQUFLLENBQUE7SUFDZCxDQUFDO0lBQ0QsY0FBYztRQUNaLE9BQU8sSUFBSSxPQUFPLENBQUMsQ0FBQyxPQUFPLEVBQUUsTUFBTSxFQUFFLEVBQUU7WUFDckMsSUFBSSxDQUFDLElBQUksQ0FBQyxTQUFTLEVBQUU7Z0JBQ25CLElBQUksQ0FBQyxPQUFPLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxTQUFTLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtvQkFDcEQsSUFBSSxHQUFHLEVBQUU7d0JBQUUsSUFBSSxDQUFDLFNBQVMsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFDO3dCQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUM7cUJBQUU7Z0JBQ2xFLENBQUMsQ0FBQyxDQUFBO2FBQ0g7aUJBQU07Z0JBQ0wsT0FBTyxDQUFDLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FBQzthQUN6QjtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLG9CQUFvQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxHQUFRLEVBQUUsRUFBRTtvQkFDekQsR0FBRyxDQUFDLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFNLEVBQUUsQ0FBTSxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLGFBQWEsQ0FBQyxDQUFDLENBQUMsUUFBUSxDQUFDLENBQUMsQ0FBQTtvQkFDdkUsSUFBSSxDQUFDLGFBQWEsR0FBRyxHQUFHLENBQUMsSUFBSSxDQUFBO29CQUM3QixPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2dCQUM5QixDQUFDLENBQUMsQ0FBQyxDQUFBO2FBQ0o7aUJBQU07Z0JBQ0wsT0FBTyxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsQ0FBQzthQUM3QjtRQUNILENBQUMsQ0FBQyxDQUFBO0lBQ0osQ0FBQztJQUVELGtCQUFrQjtRQUNoQixPQUFPLElBQUksT0FBTyxDQUFDLENBQUMsT0FBTyxFQUFFLE1BQU0sRUFBRSxFQUFFO1lBQ3JDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxFQUFFO2dCQUN2QixJQUFJLENBQUMsT0FBTyxDQUFDLG1CQUFtQixDQUFDLENBQUMsU0FBUyxDQUFDLENBQUMsR0FBUSxFQUFFLEVBQUU7b0JBQ3ZELElBQUksR0FBRyxFQUFFO3dCQUFFLElBQUksQ0FBQyxhQUFhLEdBQUcsR0FBRyxDQUFDLElBQUksQ0FBQztxQkFBRTtnQkFDN0MsQ0FBQyxDQUFDLENBQUE7YUFDSDtpQkFBTTtnQkFDTCxPQUFPLENBQUMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxDQUFDO2FBQzdCO1FBQ0gsQ0FBQyxDQUFDLENBQUE7SUFDSixDQUFDOzt5R0F0T1UsWUFBWSx1RUE0QmIsWUFBWTs2R0E1QlgsWUFBWSxjQURDLE1BQU07MkZBQ25CLFlBQVk7a0JBRHhCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFOzswQkE2QjdCLE1BQU07MkJBQUMsWUFBWSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEh0dHBDbGllbnQgfSBmcm9tICdAYW5ndWxhci9jb21tb24vaHR0cCc7XG5pbXBvcnQgeyBJbmplY3RhYmxlLCBJbmplY3QgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IE1hdFNuYWNrQmFyIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc25hY2stYmFyJztcbmltcG9ydCB7IEJlaGF2aW9yU3ViamVjdCwgdGFrZVVudGlsIH0gZnJvbSAncnhqcyc7XG5pbXBvcnQgeyBDb29sbWFwQ29uZmlnTW9kZWwsIFJvdXRlIH0gZnJvbSAnLi9kYXRhLW1vZGVsJztcblxuQEluamVjdGFibGUoeyBwcm92aWRlZEluOiAncm9vdCcgfSlcbmV4cG9ydCBjbGFzcyBVdGlsc1NlcnZpY2Uge1xuICBhbmFseXRpY3NSRVNUVVJMID0gJyc7XG4gIFJFU1RVUkxQcmVmaXggPSAnJztcbiAgcGlja3VwT3B0aW9uczogYW55W10gPSBbXTtcbiAgZGVzdE9wdGlvbnM6IGFueVtdID0gW107XG4gIG93bmVyT3B0aW9uczogYW55W10gPSBbXTtcbiAgY3VzdG9tZXJPcHRpb25zOiBhbnlbXSA9IFtdO1xuICB1bml0T3B0aW9uczogYW55W10gPSBbXTtcbiAgbWF0ZXJpYWxPcHRpb25zOiBhbnlbXSA9IFtdO1xuICBqY29kZU9wdGlvbnM6IGFueVtdID0gW107XG4gIGRyaXZlck9wdGlvbjogYW55W10gPSBbXTtcbiAgdHJ1Y2tpbmdDb21wYW5heU9wdGlvbjogYW55W10gPSBbXTtcbiAgcm91dGVOYW1lT3B0aW9uczogYW55W10gPSBbXTtcbiAgcHVibGljIHByZXZlbnRuYXZDaGFuZ2UgPSBuZXcgQmVoYXZpb3JTdWJqZWN0KGZhbHNlKTtcbiAgbmF2Q2hhbmdlT2JzZXJ2ZSA9IHRoaXMucHJldmVudG5hdkNoYW5nZS5hc09ic2VydmFibGUoKTtcbiAgY2xlYXJWaWV3Um91dGVmb3JKb2JDb2RlID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIGNsZWFyVmlld1JvdXRlZm9ySm9iQ29kZU9ic2VydmUgPSB0aGlzLmNsZWFyVmlld1JvdXRlZm9ySm9iQ29kZS5hc09ic2VydmFibGUoKTtcbiAgcHJlVmVudEpvYmRldGFpbGNsb3NlID0gbmV3IEJlaGF2aW9yU3ViamVjdChmYWxzZSk7XG4gIGdldHByZVZlbnRKb2JkZXRhaWxjbG9zZSA9IHRoaXMucHJlVmVudEpvYmRldGFpbGNsb3NlLmFzT2JzZXJ2YWJsZSgpO1xuICByb3V0ZURldGFpbHNVdGlsaXR5ID0gbmV3IEJlaGF2aW9yU3ViamVjdCh7fSk7XG4gIGdldHJvdXRlRGV0YWlsc1V0aWxpdHkgPSB0aGlzLnJvdXRlRGV0YWlsc1V0aWxpdHkuYXNPYnNlcnZhYmxlKCk7XG4gIHJlbW92ZU1hcEVudGl0eSA9IG5ldyBCZWhhdmlvclN1YmplY3Qoe30pO1xuICByZW1vdmVNYXBFbnRpdHlVdGlsaXR5ID0gdGhpcy5yZW1vdmVNYXBFbnRpdHkuYXNPYnNlcnZhYmxlKCk7XG4gIGRpY3QgPSBuZXcgTWFwPHN0cmluZywgc3RyaW5nPigpO1xuICB1bml0c0xpc3Q6IGFueTtcbiAgbWF0ZXJpYWxzTGlzdDogYW55O1xuICBjdXN0b21lcnNMaXN0OiBhbnk7XG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBodHRwOiBIdHRwQ2xpZW50LCBwdWJsaWMgc25hY2tCYXI6IE1hdFNuYWNrQmFyLFxuICAgIEBJbmplY3QoJ21lbWJlckRhdGEnKSBwcml2YXRlIGNvbmZpZzogQ29vbG1hcENvbmZpZ01vZGVsKSB7XG4gICAgdGhpcy5hbmFseXRpY3NSRVNUVVJMID0gY29uZmlnLmFuYWx5dGljc1JFU1RVUkw7XG4gICAgdGhpcy5SRVNUVVJMUHJlZml4ID0gY29uZmlnLlJFU1RVUkxQcmVmaXg7XG4gIH1cbiAgZ2V0RGF0ZUZvcm1hdChzdHJWYWw6IERhdGUgfCBudWxsLCBzZXByYXRlcj86IHN0cmluZykge1xuICAgIHNlcHJhdGVyID0gc2VwcmF0ZXIgPyBzZXByYXRlciA6ICctJztcbiAgICBjb25zdCBteWRhdGUgPSBzdHJWYWw7XG4gICAgcmV0dXJuIG15ZGF0ZT8uZ2V0RnVsbFllYXIoKSArIHNlcHJhdGVyICsgKChteWRhdGUgPyBteWRhdGUuZ2V0TW9udGgoKSA6IDApICsgMSkgKyBzZXByYXRlciArIG15ZGF0ZT8uZ2V0RGF0ZSgpO1xuICB9XG4gIGdldERhdGEocGF0aDogc3RyaW5nKSB7IHJldHVybiB0aGlzLmh0dHAuZ2V0KGAke3RoaXMuYW5hbHl0aWNzUkVTVFVSTH0ke3RoaXMuY29uZmlnLnJlcG9zaXRvcnl9LyR7cGF0aH1gKSB9XG4gIHBvc3RkYXRhKHBhdGg6IHN0cmluZywgZGF0YTogYW55KSB7IHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLmFuYWx5dGljc1JFU1RVUkx9JHt0aGlzLmNvbmZpZy5yZXBvc2l0b3J5fS8ke3BhdGh9YCwgZGF0YSkgfVxuICBwb3N0RGF0YVdpdGhSZXN0VXJsKHBhdGg6IHN0cmluZywgZGF0YTogYW55KSB7IHJldHVybiB0aGlzLmh0dHAucG9zdChgJHt0aGlzLlJFU1RVUkxQcmVmaXh9JHtwYXRofWAsIGRhdGEpIH1cbiAgZmV0Y2hBdXRvQ29tcGxldGVMb2NhdGlvbnMoa2V5d29yZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHRoaXMuaHR0cC5nZXQoYGh0dHBzOi8vYXBpLm1hcGJveC5jb20vZ2VvY29kaW5nL3Y1L21hcGJveC5wbGFjZXMvJHtrZXl3b3JkfS5qc29uP2FjY2Vzc190b2tlbj1way5leUoxSWpvaWMyRnVkR0Z1ZFMxdloyMWhJaXdpWVNJNkltTnNPR1EwY0RWck5qQXdlVE16YjNSbWRHOWllVFU1WkRraWZRLkk2WlM3bVZpWllTdkJvNHp6LW1HUVEmY291bnRyeT1VU2ApXG4gIH1cbiAgb3BlblNuYWNrQmFyKG1lc3NhZ2U6IHN0cmluZywgY2xhc3NOYW1lPzogc3RyaW5nKSB7XG4gICAgdGhpcy5zbmFja0Jhci5vcGVuKG1lc3NhZ2UsICcnLCB7XG4gICAgICBkdXJhdGlvbjogNTAwMCwgdmVydGljYWxQb3NpdGlvbjogJ3RvcCcsIGhvcml6b250YWxQb3NpdGlvbjogJ2NlbnRlcicsIHBhbmVsQ2xhc3M6IFtjbGFzc05hbWUgPyBjbGFzc05hbWUgOiAnZGVmYXVsdCddXG4gICAgfSk7XG4gIH1cblxuICBtYWtlT3B0aW9ucyhpdGVtOiBSb3V0ZSkge1xuICAgIGlmIChpdGVtLm9yZGVyX251bWJlcikge1xuICAgICAgKHRoaXMuamNvZGVPcHRpb25zLmZpbmRJbmRleCgoZWxlbSkgPT4gZWxlbS5qb2JfaWQgPT09IGl0ZW0uam9iX2lkKSA9PT0gLTEpID8gdGhpcy5qY29kZU9wdGlvbnMucHVzaCh7IGpvYl9jb2RlOiBpdGVtLm9yZGVyX251bWJlciwgam9iX2lkOiBpdGVtLmpvYl9pZCB9KSA6IG51bGw7XG4gICAgICBpZiAoaXRlbS5kcml2ZXJfbGlzdCAmJiBpdGVtLmRyaXZlcl9saXN0Py5sZW5ndGggPiAwKSB7XG4gICAgICAgIGl0ZW0uZHJpdmVyX2xpc3QuZm9yRWFjaCgoZHJpdmVyKSA9PiB7XG4gICAgICAgICAgdGhpcy5kcml2ZXJPcHRpb24uZmluZEluZGV4KGVsZW0gPT4gZWxlbSA9PT0gZHJpdmVyWydkcml2ZXJfbmFtZSddKSA9PT0gLTEgPyB0aGlzLmRyaXZlck9wdGlvbi5wdXNoKGRyaXZlclsnZHJpdmVyX25hbWUnXSkgOiBudWxsO1xuICAgICAgICAgIHRoaXMudHJ1Y2tpbmdDb21wYW5heU9wdGlvbi5maW5kSW5kZXgoZWxlbSA9PiBlbGVtID09PSBkcml2ZXJbJ3RydWNraW5nX2NvbXBhbnknXSkgPT09IC0xID8gdGhpcy50cnVja2luZ0NvbXBhbmF5T3B0aW9uLnB1c2goZHJpdmVyWyd0cnVja2luZ19jb21wYW55J10pIDogbnVsbDtcbiAgICAgICAgfSk7XG4gICAgICB9XG4gICAgfVxuICAgICgodGhpcy5waWNrdXBPcHRpb25zLmZpbmRJbmRleCgoZWxlbSkgPT4gZWxlbSA9PT0gaXRlbS5waWNrdXBfbG9jYXRpb24pKSA9PT0gLTEpID8gdGhpcy5waWNrdXBPcHRpb25zLnB1c2goaXRlbS5waWNrdXBfbG9jYXRpb24pIDogbnVsbDtcbiAgICAoKHRoaXMuZGVzdE9wdGlvbnMuZmluZEluZGV4KChlbGVtKSA9PiBlbGVtID09PSBpdGVtLmRlbGl2ZXJ5X2xvY2F0aW9uKSkgPT09IC0xKSA/IHRoaXMuZGVzdE9wdGlvbnMucHVzaChpdGVtLmRlbGl2ZXJ5X2xvY2F0aW9uKSA6IG51bGw7XG4gICAgKHRoaXMuY3VzdG9tZXJPcHRpb25zLmZpbmRJbmRleCgoY3VzdG9tZXIpID0+IGN1c3RvbWVyID09PSBpdGVtLmN1c3RvbWVyX25hbWUpID09PSAtMSkgPyB0aGlzLmN1c3RvbWVyT3B0aW9ucy5wdXNoKGl0ZW0uY3VzdG9tZXJfbmFtZSkgOiBudWxsO1xuICAgICh0aGlzLnVuaXRPcHRpb25zLmZpbmRJbmRleCgoZWxlbSkgPT4gZWxlbSA9PT0gaXRlbS51bml0KSA9PT0gLTEpID8gdGhpcy51bml0T3B0aW9ucy5wdXNoKGl0ZW0udW5pdCkgOiBudWxsO1xuICAgICh0aGlzLm1hdGVyaWFsT3B0aW9ucy5maW5kSW5kZXgoKGVsZW0pID0+IGVsZW0gPT09IGl0ZW0ubWF0ZXJpYWwpID09PSAtMSkgPyB0aGlzLm1hdGVyaWFsT3B0aW9ucy5wdXNoKGl0ZW0ubWF0ZXJpYWwpIDogbnVsbDtcbiAgICBpZiAoaXRlbS5yb3V0ZV9uYW1lKSB0aGlzLnJvdXRlTmFtZU9wdGlvbnMuZmluZEluZGV4KGVsZW0gPT4gZWxlbSA9PT0gaXRlbS5yb3V0ZV9uYW1lKSA9PT0gLTEgPyB0aGlzLnJvdXRlTmFtZU9wdGlvbnMucHVzaChpdGVtLnJvdXRlX25hbWUpIDogbnVsbDtcbiAgfVxuXG4gIGZpbHRlcih2YWx1ZTogc3RyaW5nLCBmaWx0ZXJzOiBhbnkpIHtcbiAgICBpZiAodHlwZW9mIHZhbHVlICE9PSAnc3RyaW5nJykgeyByZXR1cm4gW10gfVxuICAgIGNvbnN0IGZpbHRlclZhbHVlID0gdmFsdWUudG9Mb3dlckNhc2UoKTtcbiAgICBpZiAoZmlsdGVyVmFsdWUgPT09ICcnKSB7IHJldHVybiBbXSB9XG4gICAgY29uc3Qgc2VhcmNoUmVzdWx0czogYW55W10gPSBbXTtcbiAgICB0aGlzLnVuaXRPcHRpb25zLm1hcCh1bml0ID0+IHtcbiAgICAgIGlmICh1bml0LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZmlsdGVyVmFsdWUpKSB7XG4gICAgICAgIHNlYXJjaFJlc3VsdHMucHVzaCh7IFwidHlwZVwiOiBcInVuaXRcIiwgXCJsYWJlbFwiOiB1bml0LCBcInZhbHVlXCI6IHVuaXQgfSlcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLmN1c3RvbWVyT3B0aW9ucy5tYXAodW5pdCA9PiB7XG4gICAgICBpZiAodW5pdC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGZpbHRlclZhbHVlKSkge1xuICAgICAgICBzZWFyY2hSZXN1bHRzLnB1c2goeyBcInR5cGVcIjogXCJjdXN0b21lclwiLCBcImxhYmVsXCI6IHVuaXQsIFwidmFsdWVcIjogdW5pdCB9KVxuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMubWF0ZXJpYWxPcHRpb25zLm1hcCh1bml0ID0+IHtcbiAgICAgIGlmICh1bml0LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZmlsdGVyVmFsdWUpKSB7XG4gICAgICAgIHNlYXJjaFJlc3VsdHMucHVzaCh7IFwidHlwZVwiOiBcIm1hdGVyaWFsXCIsIFwibGFiZWxcIjogdW5pdCwgXCJ2YWx1ZVwiOiB1bml0IH0pXG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5waWNrdXBPcHRpb25zLm1hcCh1bml0ID0+IHtcbiAgICAgIGlmICh1bml0LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZmlsdGVyVmFsdWUpKSB7XG4gICAgICAgIHNlYXJjaFJlc3VsdHMucHVzaCh7IFwidHlwZVwiOiBcInBpY2t1cCBsb2NhdGlvblwiLCBcImxhYmVsXCI6IHVuaXQsIFwidmFsdWVcIjogdW5pdCB9KVxuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuZGVzdE9wdGlvbnMubWFwKHVuaXQgPT4ge1xuICAgICAgaWYgKHVuaXQudG9Mb3dlckNhc2UoKS5pbmNsdWRlcyhmaWx0ZXJWYWx1ZSkpIHtcbiAgICAgICAgc2VhcmNoUmVzdWx0cy5wdXNoKHsgXCJ0eXBlXCI6IFwiZGVzdGluYXRpb24gbG9jYXRpb25cIiwgXCJsYWJlbFwiOiB1bml0LCBcInZhbHVlXCI6IHVuaXQgfSlcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLmpjb2RlT3B0aW9ucy5tYXAodW5pdCA9PiB7XG4gICAgICBpZiAodW5pdC5qb2JfY29kZS50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGZpbHRlclZhbHVlKSkge1xuICAgICAgICBzZWFyY2hSZXN1bHRzLnB1c2goeyBcInR5cGVcIjogXCJqb2JcIiwgXCJsYWJlbFwiOiB1bml0Wydqb2JfY29kZSddLCBcInZhbHVlXCI6IHVuaXQgfSlcbiAgICAgIH1cbiAgICB9KTtcbiAgICB0aGlzLmRyaXZlck9wdGlvbi5tYXAodW5pdCA9PiB7XG4gICAgICBpZiAodW5pdC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGZpbHRlclZhbHVlKSkge1xuICAgICAgICBzZWFyY2hSZXN1bHRzLnB1c2goeyBcInR5cGVcIjogXCJEcml2ZXJcIiwgXCJsYWJlbFwiOiB1bml0LCBcInZhbHVlXCI6IHVuaXQgfSlcbiAgICAgIH1cbiAgICB9KTtcblxuICAgIHRoaXMudHJ1Y2tpbmdDb21wYW5heU9wdGlvbi5tYXAodW5pdCA9PiB7XG4gICAgICBpZiAodW5pdC50b0xvd2VyQ2FzZSgpLmluY2x1ZGVzKGZpbHRlclZhbHVlKSkge1xuICAgICAgICBzZWFyY2hSZXN1bHRzLnB1c2goeyBcInR5cGVcIjogXCJUcnVja2luZyBDb21wYW55XCIsIFwibGFiZWxcIjogdW5pdCwgXCJ2YWx1ZVwiOiB1bml0IH0pXG4gICAgICB9XG4gICAgfSk7XG4gICAgdGhpcy5yb3V0ZU5hbWVPcHRpb25zLm1hcCh1bml0ID0+IHtcbiAgICAgIGlmICh1bml0LnRvTG93ZXJDYXNlKCkuaW5jbHVkZXMoZmlsdGVyVmFsdWUpKSB7XG4gICAgICAgIHNlYXJjaFJlc3VsdHMucHVzaCh7IFwidHlwZVwiOiBcIlJvdXRlIG5hbWVcIiwgXCJsYWJlbFwiOiB1bml0LCBcInZhbHVlXCI6IHVuaXQgfSlcbiAgICAgIH1cbiAgICB9KTtcbiAgICBjb25zdCBzZWFyY2hEaWN0OiBhbnkgPSB7fVxuICAgIGZpbHRlcnMubWFwKChmaWx0ZXI6IHsgW3g6IHN0cmluZ106IGFueTsgfSkgPT4ge1xuICAgICAgc2VhcmNoRGljdFtmaWx0ZXJbJ25hbWUnXSArIGZpbHRlclsndHlwZSddXSA9IGZpbHRlcjtcbiAgICB9KVxuICAgIGNvbnN0IGZ1cnRoZXJGaWx0ZXI6IGFueVtdID0gW107XG4gICAgc2VhcmNoUmVzdWx0cy5tYXAoc2VhcmNoID0+IHtcbiAgICAgIGlmICgoc2VhcmNoWydsYWJlbCddICsgc2VhcmNoWyd0eXBlJ10pIGluIHNlYXJjaERpY3QpIHsgfVxuICAgICAgZWxzZSB7IGZ1cnRoZXJGaWx0ZXIucHVzaChzZWFyY2gpIH1cbiAgICB9KTtcbiAgICByZXR1cm4gZnVydGhlckZpbHRlcjtcbiAgfVxuXG4gIGdldFNlYXJjaFJlc3VsdHMobGlzdDogUm91dGVbXSwgZmlsdGVydmFsOiBhbnkpOiBhbnkge1xuICAgIHJldHVybiBsaXN0LmZpbHRlcihlbGVtZW50ID0+IHtcbiAgICAgIGNvbnN0IHJlc3VsdF9saXN0X2Jvb2xlYW4gPSBbXVxuICAgICAgaWYgKGZpbHRlcnZhbC5sZW5ndGggPiAwKSB7XG4gICAgICAgIGlmIChmaWx0ZXJ2YWxbMF1bJ3R5cGUnXSA9PT0gJ3VuaXQnKSB7XG4gICAgICAgICAgcmVzdWx0X2xpc3RfYm9vbGVhbi5wdXNoKGZpbHRlcnZhbFswXVsnbmFtZSddID09PSBlbGVtZW50W2ZpbHRlcnZhbFswXVsndHlwZSddIGFzIGtleW9mIFJvdXRlXSk7XG4gICAgICAgIH1cbiAgICAgICAgaWYgKGZpbHRlcnZhbFswXVsndHlwZSddID09PSAnY3VzdG9tZXInKSB7XG4gICAgICAgICAgcmVzdWx0X2xpc3RfYm9vbGVhbi5wdXNoKGZpbHRlcnZhbFswXVsnbmFtZSddID09PSBlbGVtZW50WydjdXN0b21lcl9uYW1lJ10pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmaWx0ZXJ2YWxbMF1bJ3R5cGUnXSA9PT0gJ21hdGVyaWFsJykge1xuICAgICAgICAgIHJlc3VsdF9saXN0X2Jvb2xlYW4ucHVzaChmaWx0ZXJ2YWxbMF1bJ25hbWUnXSA9PT0gZWxlbWVudFtmaWx0ZXJ2YWxbMF1bJ3R5cGUnXSBhcyBrZXlvZiBSb3V0ZV0pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmaWx0ZXJ2YWxbMF1bJ3R5cGUnXSA9PT0gJ3BpY2t1cCBsb2NhdGlvbicpIHtcbiAgICAgICAgICByZXN1bHRfbGlzdF9ib29sZWFuLnB1c2goZmlsdGVydmFsWzBdWyduYW1lJ10gPT09IGVsZW1lbnRbJ3BpY2t1cF9sb2NhdGlvbiddKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZmlsdGVydmFsWzBdWyd0eXBlJ10gPT09ICdkZXN0aW5hdGlvbiBsb2NhdGlvbicpIHtcbiAgICAgICAgICByZXN1bHRfbGlzdF9ib29sZWFuLnB1c2goZmlsdGVydmFsWzBdWyduYW1lJ10gPT09IGVsZW1lbnRbJ2RlbGl2ZXJ5X2xvY2F0aW9uJ10pO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmaWx0ZXJ2YWxbMF1bJ3R5cGUnXSA9PT0gJ2pvYicpIHtcbiAgICAgICAgICByZXN1bHRfbGlzdF9ib29sZWFuLnB1c2goZmlsdGVydmFsWzBdWyduYW1lJ10gPT09IGVsZW1lbnRbJ29yZGVyX251bWJlciddKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZmlsdGVydmFsWzBdWyd0eXBlJ10gPT09ICdSb3V0ZSBuYW1lJykge1xuICAgICAgICAgIHJlc3VsdF9saXN0X2Jvb2xlYW4ucHVzaChmaWx0ZXJ2YWxbMF1bJ25hbWUnXSA9PT0gZWxlbWVudFsncm91dGVfbmFtZSddKTtcbiAgICAgICAgfVxuICAgICAgICBpZiAoZmlsdGVydmFsWzBdWyd0eXBlJ10gPT09ICdEcml2ZXInKSB7XG4gICAgICAgICAgY29uc3QgaW5kZXggPSBlbGVtZW50LmRyaXZlcl9saXN0Py5maW5kSW5kZXgoZWxlID0+IHsgcmV0dXJuIGZpbHRlcnZhbFswXVsnbmFtZSddID09PSBlbGVbJ2RyaXZlcl9uYW1lJ10gfSk7XG4gICAgICAgICAgaWYgKGluZGV4ICE9PSAtMSkgcmVzdWx0X2xpc3RfYm9vbGVhbi5wdXNoKHRydWUpO1xuICAgICAgICB9XG4gICAgICAgIGlmIChmaWx0ZXJ2YWxbMF1bJ3R5cGUnXSA9PT0gJ1RydWNraW5nIENvbXBhbnknKSB7XG4gICAgICAgICAgY29uc3QgaW5kZXggPSBlbGVtZW50LmRyaXZlcl9saXN0Py5maW5kSW5kZXgoZWxlID0+IHsgcmV0dXJuIGZpbHRlcnZhbFswXVsnbmFtZSddID09PSBlbGVbJ3RydWNraW5nX2NvbXBhbnknXSB9KTtcbiAgICAgICAgICBpZiAoaW5kZXggIT09IC0xKSByZXN1bHRfbGlzdF9ib29sZWFuLnB1c2godHJ1ZSk7XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIGlmIChyZXN1bHRfbGlzdF9ib29sZWFuLmxlbmd0aCA+IDApIHtcbiAgICAgICAgcmV0dXJuIHJlc3VsdF9saXN0X2Jvb2xlYW4ucmVkdWNlKChwcmV2LCBjdXJyKSA9PiBwcmV2ICYmIGN1cnIpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH0pO1xuICB9XG5cbiAgY2xlYXJPcHRpb25zKCkge1xuICAgIHRoaXMucGlja3VwT3B0aW9ucyA9IFtdO1xuICAgIHRoaXMuZGVzdE9wdGlvbnMgPSBbXTtcbiAgICB0aGlzLm93bmVyT3B0aW9ucyA9IFtdO1xuICAgIHRoaXMuY3VzdG9tZXJPcHRpb25zID0gW107XG4gICAgdGhpcy51bml0T3B0aW9ucyA9IFtdO1xuICAgIHRoaXMubWF0ZXJpYWxPcHRpb25zID0gW107XG4gICAgdGhpcy5qY29kZU9wdGlvbnMgPSBbXTtcbiAgICB0aGlzLnJvdXRlTmFtZU9wdGlvbnMgPSBbXTtcbiAgfVxuICBzZXRkaWN0VmFsdWUoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpIHtcbiAgICB0aGlzLmRpY3Quc2V0KGtleSwgdmFsdWUpO1xuICB9XG4gIGdldGRpY3RWYWx1ZShrZXk6IHN0cmluZykge1xuICAgIHJldHVybiBKU09OLnBhcnNlKHRoaXMuZGljdC5nZXQoa2V5KSk7XG4gIH1cbiAgcmVtb3ZlZGljdFZhbHVlKGtleTogc3RyaW5nKSB7XG4gICAgdGhpcy5kaWN0LmRlbGV0ZShrZXkpO1xuICB9XG4gIGNvbnZleVNlYXJjaEljb24odmFsdWU6IGFueSk6IGJvb2xlYW4ge1xuICAgIGlmICh2YWx1ZSAmJiB0eXBlb2YgKHZhbHVlKSAhPT0gJ29iamVjdCcpIHJldHVybiB0cnVlO1xuICAgIHJldHVybiBmYWxzZVxuICB9XG4gIGZldGNoVW5pdHNMaXN0KCkge1xuICAgIHJldHVybiBuZXcgUHJvbWlzZSgocmVzb2x2ZSwgcmVqZWN0KSA9PiB7XG4gICAgICBpZiAoIXRoaXMudW5pdHNMaXN0KSB7XG4gICAgICAgIHRoaXMuZ2V0RGF0YSgndW5pdC9saXN0L3ZpZXcnKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgaWYgKHJlcykgeyB0aGlzLnVuaXRzTGlzdCA9IHJlcy5kYXRhOyByZXNvbHZlKHRoaXMudW5pdHNMaXN0KTsgfVxuICAgICAgICB9KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzb2x2ZSh0aGlzLnVuaXRzTGlzdCk7XG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIGZldGNoTWF0ZXJpYWxzTGlzdCgpIHtcbiAgICByZXR1cm4gbmV3IFByb21pc2UoKHJlc29sdmUsIHJlamVjdCkgPT4ge1xuICAgICAgaWYgKCF0aGlzLm1hdGVyaWFsc0xpc3QpIHtcbiAgICAgICAgdGhpcy5nZXREYXRhKCdtYXRlcmlhbC9saXN0L3ZpZXcnKS5zdWJzY3JpYmUoKChyZXM6IGFueSkgPT4ge1xuICAgICAgICAgIHJlcy5kYXRhLnNvcnQoKGE6IGFueSwgYjogYW55KSA9PiBhLm1hdGVyaWFsLmxvY2FsZUNvbXBhcmUoYi5tYXRlcmlhbCkpXG4gICAgICAgICAgdGhpcy5tYXRlcmlhbHNMaXN0ID0gcmVzLmRhdGFcbiAgICAgICAgICByZXNvbHZlKHRoaXMubWF0ZXJpYWxzTGlzdCk7XG4gICAgICAgIH0pKVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzb2x2ZSh0aGlzLm1hdGVyaWFsc0xpc3QpO1xuICAgICAgfVxuICAgIH0pXG4gIH1cblxuICBmZXRjaEN1c3RvbWVyc0xpc3QoKSB7XG4gICAgcmV0dXJuIG5ldyBQcm9taXNlKChyZXNvbHZlLCByZWplY3QpID0+IHtcbiAgICAgIGlmICghdGhpcy5jdXN0b21lcnNMaXN0KSB7XG4gICAgICAgIHRoaXMuZ2V0RGF0YSgnY29tcGFueS9saXN0L3ZpZXcnKS5zdWJzY3JpYmUoKHJlczogYW55KSA9PiB7XG4gICAgICAgICAgaWYgKHJlcykgeyB0aGlzLmN1c3RvbWVyc0xpc3QgPSByZXMuZGF0YTsgfVxuICAgICAgICB9KVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgcmVzb2x2ZSh0aGlzLmN1c3RvbWVyc0xpc3QpO1xuICAgICAgfVxuICAgIH0pXG4gIH1cbn0iXX0=
@@ -1,7 +1,7 @@
1
- /*
2
- * Public API Surface of coolmap-services
3
- */
4
- export * from './lib/service/coolmap.service';
5
- export * from './lib/service/utils.service';
6
- export * from './lib/service/data-model';
7
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Nvb2xtYXAtc2VydmljZXMvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXHJcbiAqIFB1YmxpYyBBUEkgU3VyZmFjZSBvZiBjb29sbWFwLXNlcnZpY2VzXHJcbiAqL1xyXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlL2Nvb2xtYXAuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2UvdXRpbHMuc2VydmljZSc7XHJcbmV4cG9ydCAqIGZyb20gJy4vbGliL3NlcnZpY2UvZGF0YS1tb2RlbCc7XHJcbiJdfQ==
1
+ /*
2
+ * Public API Surface of coolmap-services
3
+ */
4
+ export * from './lib/service/coolmap.service';
5
+ export * from './lib/service/utils.service';
6
+ export * from './lib/service/data-model';
7
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHVibGljLWFwaS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3Byb2plY3RzL2Nvb2xtYXAtc2VydmljZXMvc3JjL3B1YmxpYy1hcGkudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUE7O0dBRUc7QUFDSCxjQUFjLCtCQUErQixDQUFDO0FBQzlDLGNBQWMsNkJBQTZCLENBQUM7QUFDNUMsY0FBYywwQkFBMEIsQ0FBQyIsInNvdXJjZXNDb250ZW50IjpbIi8qXG4gKiBQdWJsaWMgQVBJIFN1cmZhY2Ugb2YgY29vbG1hcC1zZXJ2aWNlc1xuICovXG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlL2Nvb2xtYXAuc2VydmljZSc7XG5leHBvcnQgKiBmcm9tICcuL2xpYi9zZXJ2aWNlL3V0aWxzLnNlcnZpY2UnO1xuZXhwb3J0ICogZnJvbSAnLi9saWIvc2VydmljZS9kYXRhLW1vZGVsJztcbiJdfQ==