@smarterplan/ngx-smarterplan-locations 0.2.20 → 0.2.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/esm2020/lib/components/carousel/carousel.component.mjs +27 -27
- package/esm2020/lib/components/chevron/chevron.component.mjs +17 -17
- package/esm2020/lib/components/detail-location/detail-location.component.mjs +154 -154
- package/esm2020/lib/components/form-location/form-location.component.mjs +237 -237
- package/esm2020/lib/components/images/images.component.mjs +90 -90
- package/esm2020/lib/components/locations/locations.component.mjs +141 -141
- package/esm2020/lib/components/locations/map/map-popup/map-popup.component.mjs +65 -65
- package/esm2020/lib/components/locations/map/map.component.mjs +90 -90
- package/esm2020/lib/components/plans/calibration/calibration.component.mjs +468 -468
- package/esm2020/lib/components/plans/edit-plan/edit-plan.component.mjs +324 -324
- package/esm2020/lib/components/plans/plans.component.mjs +210 -210
- package/esm2020/lib/components/tab-navigation/tab-navigation.component.mjs +41 -41
- package/esm2020/lib/components/visits/visits.component.mjs +235 -235
- package/esm2020/lib/components/zones/add-audio-zone/add-audio-zone.component.mjs +230 -230
- package/esm2020/lib/components/zones/add-zone/add-zone.component.mjs +294 -294
- package/esm2020/lib/components/zones/add-zone/selection/selection.component.mjs +76 -76
- package/esm2020/lib/components/zones/add-zone/sweep-plan-selection/sweep-plan-selection.component.mjs +413 -414
- package/esm2020/lib/components/zones/zones.component.mjs +232 -232
- package/esm2020/lib/helper.service.mjs +134 -134
- package/esm2020/lib/ngx-smarterplan-location-routing.module.mjs +49 -49
- package/esm2020/lib/ngx-smarterplan-locations.module.mjs +122 -122
- package/esm2020/lib/ngx-smarterplan-locations.service.mjs +13 -13
- package/esm2020/lib/pipes/count-audio-sweeps.pipe.mjs +27 -0
- package/esm2020/lib/radio-button/radio-button.component.mjs +26 -26
- package/esm2020/public-api.mjs +8 -8
- package/esm2020/smarterplan-ngx-smarterplan-locations.mjs +4 -4
- package/fesm2015/smarterplan-ngx-smarterplan-locations.mjs +3627 -3648
- package/fesm2015/smarterplan-ngx-smarterplan-locations.mjs.map +1 -1
- package/fesm2020/smarterplan-ngx-smarterplan-locations.mjs +3475 -3494
- package/fesm2020/smarterplan-ngx-smarterplan-locations.mjs.map +1 -1
- package/lib/components/carousel/carousel.component.d.ts +12 -12
- package/lib/components/chevron/chevron.component.d.ts +9 -9
- package/lib/components/detail-location/detail-location.component.d.ts +51 -51
- package/lib/components/form-location/form-location.component.d.ts +45 -45
- package/lib/components/images/images.component.d.ts +28 -28
- package/lib/components/locations/locations.component.d.ts +50 -50
- package/lib/components/locations/map/map-popup/map-popup.component.d.ts +22 -22
- package/lib/components/locations/map/map.component.d.ts +22 -22
- package/lib/components/plans/calibration/calibration.component.d.ts +140 -140
- package/lib/components/plans/edit-plan/edit-plan.component.d.ts +55 -55
- package/lib/components/plans/plans.component.d.ts +59 -59
- package/lib/components/tab-navigation/tab-navigation.component.d.ts +13 -13
- package/lib/components/visits/visits.component.d.ts +51 -51
- package/lib/components/zones/add-audio-zone/add-audio-zone.component.d.ts +63 -63
- package/lib/components/zones/add-zone/add-zone.component.d.ts +67 -67
- package/lib/components/zones/add-zone/selection/selection.component.d.ts +44 -44
- package/lib/components/zones/add-zone/sweep-plan-selection/sweep-plan-selection.component.d.ts +96 -96
- package/lib/components/zones/zones.component.d.ts +67 -67
- package/lib/helper.service.d.ts +53 -53
- package/lib/ngx-smarterplan-location-routing.module.d.ts +7 -7
- package/lib/ngx-smarterplan-locations.module.d.ts +35 -35
- package/lib/ngx-smarterplan-locations.service.d.ts +6 -6
- package/lib/pipes/count-audio-sweeps.pipe.d.ts +10 -0
- package/lib/radio-button/radio-button.component.d.ts +12 -12
- package/package.json +2 -2
- package/public-api.d.ts +4 -4
- package/smarterplan-ngx-smarterplan-locations.d.ts +5 -5
- package/esm2020/lib/components/plan-legend/plan-legend.component.mjs +0 -47
- package/lib/components/plan-legend/plan-legend.component.d.ts +0 -14
|
@@ -1,134 +1,134 @@
|
|
|
1
|
-
export var SweepState;
|
|
2
|
-
(function (SweepState) {
|
|
3
|
-
SweepState[SweepState["ADDED"] = 0] = "ADDED";
|
|
4
|
-
SweepState[SweepState["REMOVED"] = 1] = "REMOVED";
|
|
5
|
-
SweepState[SweepState["DISABLED"] = 2] = "DISABLED";
|
|
6
|
-
SweepState[SweepState["OCCUPIED"] = 3] = "OCCUPIED";
|
|
7
|
-
SweepState[SweepState["STARTPOINT"] = 4] = "STARTPOINT";
|
|
8
|
-
})(SweepState || (SweepState = {}));
|
|
9
|
-
export function isInPolygon(p, polygon) {
|
|
10
|
-
let isInside = false;
|
|
11
|
-
let minX = polygon[0].x;
|
|
12
|
-
let maxX = polygon[0].x;
|
|
13
|
-
let minY = polygon[0].y;
|
|
14
|
-
let maxY = polygon[0].y;
|
|
15
|
-
for (let n = 1; n < polygon.length; n++) {
|
|
16
|
-
const q = polygon[n];
|
|
17
|
-
minX = Math.min(q.x, minX);
|
|
18
|
-
maxX = Math.max(q.x, maxX);
|
|
19
|
-
minY = Math.min(q.y, minY);
|
|
20
|
-
maxY = Math.max(q.y, maxY);
|
|
21
|
-
}
|
|
22
|
-
if (p.x < minX || p.x > maxX || p.y < minY || p.y > maxY) {
|
|
23
|
-
return false;
|
|
24
|
-
}
|
|
25
|
-
for (let index = 0, index_ = polygon.length - 1; index < polygon.length; index_ = index++) {
|
|
26
|
-
if (polygon[index].y > p.y !== polygon[index_].y > p.y &&
|
|
27
|
-
p.x <
|
|
28
|
-
((polygon[index_].x - polygon[index].x) *
|
|
29
|
-
(p.y - polygon[index].y)) /
|
|
30
|
-
(polygon[index_].y - polygon[index].y) +
|
|
31
|
-
polygon[index].x) {
|
|
32
|
-
isInside = !isInside;
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
return isInside;
|
|
36
|
-
}
|
|
37
|
-
export function rotate(point, center, angle) {
|
|
38
|
-
let xM;
|
|
39
|
-
let yM;
|
|
40
|
-
let x;
|
|
41
|
-
let y;
|
|
42
|
-
angle *= Math.PI / 180;
|
|
43
|
-
xM = point.x - center.x;
|
|
44
|
-
yM = point.y - center.y;
|
|
45
|
-
x = xM * Math.cos(angle) + yM * Math.sin(angle) + center.x;
|
|
46
|
-
y = -xM * Math.sin(angle) + yM * Math.cos(angle) + center.y;
|
|
47
|
-
return { x: Math.round(x), y: Math.round(y) };
|
|
48
|
-
}
|
|
49
|
-
/**
|
|
50
|
-
* Check if an HtmlElement is inside a selection
|
|
51
|
-
* @param button HTMLElement
|
|
52
|
-
* @param selection
|
|
53
|
-
* @returns true if the element is inside the selection, false otherwise
|
|
54
|
-
*/
|
|
55
|
-
export function buttonIsInSelection(button, selection) {
|
|
56
|
-
const bounds = button.getBoundingClientRect();
|
|
57
|
-
return (bounds.bottom > selection.top &&
|
|
58
|
-
bounds.top < selection.top + selection.height &&
|
|
59
|
-
bounds.right > selection.left &&
|
|
60
|
-
bounds.left < selection.left + selection.width);
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Styles the button that represents a sweep on the plan: green-added to zone, red -not added, gray - disabled, orange - occupied
|
|
64
|
-
* @param button HTMLButtonElement, button on the plan,
|
|
65
|
-
* @param isAdded boolean, if the sweep added to the zone
|
|
66
|
-
* @param isOccupied boolean, if the sweep added to any other zone (but not current)
|
|
67
|
-
*/
|
|
68
|
-
export function styleButton(button, state) {
|
|
69
|
-
switch (state) {
|
|
70
|
-
case SweepState.ADDED:
|
|
71
|
-
button.style.backgroundImage = `url("https://api.iconify.design/mdi:adjust.svg?color=green&height=17&width=17")`;
|
|
72
|
-
break;
|
|
73
|
-
case SweepState.DISABLED:
|
|
74
|
-
button.style.backgroundImage = `url("https://api.iconify.design/mdi:close-circle-outline.svg?color
|
|
75
|
-
button.style.cursor = "auto";
|
|
76
|
-
break;
|
|
77
|
-
case SweepState.OCCUPIED:
|
|
78
|
-
button.style.backgroundImage = `url("https://api.iconify.design/mdi:adjust.svg?color=orange&height=17&width=17")`;
|
|
79
|
-
break;
|
|
80
|
-
case SweepState.STARTPOINT:
|
|
81
|
-
button.style.backgroundImage = `url('https://api.iconify.design/ic/baseline-flag-circle.svg?color=white&width=17&height=17')`;
|
|
82
|
-
break;
|
|
83
|
-
case SweepState.REMOVED:
|
|
84
|
-
button.style.backgroundImage = `url("https://api.iconify.design/mdi:close-circle-outline.svg?color=red&height=17&width=17")`;
|
|
85
|
-
break;
|
|
86
|
-
default:
|
|
87
|
-
button.style.backgroundImage = `url("https://api.iconify.design/mdi:close-circle-outline.svg?color=red&height=17&width=17")`;
|
|
88
|
-
break;
|
|
89
|
-
}
|
|
90
|
-
// if (disabled) {
|
|
91
|
-
// button.style.backgroundImage = `url("https://api.iconify.design/mdi:close-circle-outline.svg?color=#636363&height=17&width=17")`;
|
|
92
|
-
// button.style.cursor = "auto";
|
|
93
|
-
// } else if (isOccupied) {
|
|
94
|
-
// button.style.backgroundImage = `url("https://api.iconify.design/mdi:adjust.svg?color=orange&height=17&width=17")`;
|
|
95
|
-
// } else {
|
|
96
|
-
// button.style.backgroundImage = isAdded
|
|
97
|
-
// ? `url("https://api.iconify.design/mdi:adjust.svg?color=green&height=17&width=17")`
|
|
98
|
-
// : `url("https://api.iconify.design/mdi:close-circle-outline.svg?color=red&height=17&width=17")`;
|
|
99
|
-
// }
|
|
100
|
-
button.style.backgroundColor = "transparent";
|
|
101
|
-
button.style.position = "absolute";
|
|
102
|
-
button.style.border = "none";
|
|
103
|
-
button.style.width = "17px";
|
|
104
|
-
button.style.height = "17px";
|
|
105
|
-
button.disabled = false;
|
|
106
|
-
button.type = "button";
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Check if sweep (button) is chosen; it is reprsented by image style "mdi:adjust"
|
|
110
|
-
* @param button HTMLElement
|
|
111
|
-
* @returns boolean, if button was selected
|
|
112
|
-
*/
|
|
113
|
-
export function buttonIsChosen(button) {
|
|
114
|
-
return button.style.backgroundImage.includes("adjust");
|
|
115
|
-
}
|
|
116
|
-
/**
|
|
117
|
-
* Visually change the state of a scan button, a selected button is blue
|
|
118
|
-
* @param button HTMLElement
|
|
119
|
-
* @param selected if true the button will be blue, otherwise it will red or green
|
|
120
|
-
*/
|
|
121
|
-
export function setVisuallySelected(button, selected) {
|
|
122
|
-
if (selected) {
|
|
123
|
-
/** Color in blue */
|
|
124
|
-
button.style.backgroundImage = button.style.backgroundImage
|
|
125
|
-
.replace("red", "blue")
|
|
126
|
-
.replace("green", "blue");
|
|
127
|
-
}
|
|
128
|
-
else {
|
|
129
|
-
/** Get back in red or green */
|
|
130
|
-
const color = buttonIsChosen(button) ? "green" : "red";
|
|
131
|
-
button.style.backgroundImage = button.style.backgroundImage.replace("blue", color);
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnRlcnBsYW4tbG9jYXRpb25zL3NyYy9saWIvaGVscGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsTUFBTSxDQUFOLElBQVksVUFNWDtBQU5ELFdBQVksVUFBVTtJQUNsQiw2Q0FBSyxDQUFBO0lBQ0wsaURBQU8sQ0FBQTtJQUNQLG1EQUFRLENBQUE7SUFDUixtREFBUSxDQUFBO0lBQ1IsdURBQVUsQ0FBQTtBQUNkLENBQUMsRUFOVyxVQUFVLEtBQVYsVUFBVSxRQU1yQjtBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsQ0FBc0IsRUFBRSxPQUF1QjtJQUV2RSxJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDckIsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEIsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNyQyxNQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckIsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMzQixJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzNCLElBQUks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ICAgdG9wOiBudW1iZXI7XG4gICAgbGVmdDogbnVtYmVyO1xuICAgIHdpZHRoOiBudW1iZXI7XG4gICAgaGVpZ2h0OiBudW1iZXI7XG59O1xuXG5leHBvcnQgZW51bSBTd2VlcFN0YXRlIHtcbiAgICBBRERFRCxcbiAgICBSRU1PVkVELFxuICAgIERJU0FCTEVELFxuICAgIE9DQ1VQSUVELFxuICAgIFNUQVJUUE9JTlRcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGlzSW5Qb2x5Z29uKHA6IHsgeDogYW55OyB5OiBhbnk7IH0sIHBvbHlnb246IHN0cmluZyB8IGFueVtdKTogYm9vbGVhbiB7XG5cbiAgICBsZXQgaXNJbnNpZGUgPSBmYWxzZTtcbiAgICBsZXQgbWluWCA9IHBvbHlnb25bMF0ueDtcbiAgICBsZXQgbWF4WCA9IHBvbHlnb25bMF0ueDtcbiAgICBsZXQgbWluWSA9IHBvbHlnb25bMF0ueTtcbiAgICBsZXQgbWF4WSA9IHBvbHlnb25bMF0ueTtcbiAgICBmb3IgKGxldCBuID0gMTsgbiA8IHBvbHlnb24ubGVuZ3RoOyBuKyspIHtcbiAgICAgICAgY29uc3QgcSA9IHBvbHlnb25bbl07XG4gICAgICAgIG1pblggPSBNYXRoLm1pbihxLngsIG1pblgpO1xuICAgICAgICBtYXhYID0gTWF0aC5tYXgocS54LCBtYXhYKTtcbiAgICAgICAgbWluWSA9IE1hdGgubWluKHEueSwgbWluWSk7XG4gICAgICAgIG1heFkgPSBNYXRoLm1heChxLnksIG1heFkpO1xuICAgIH1cblxuICAgIGlmIChwLnggPCBtaW5YIHx8IHAueCA+IG1heFggfHwgcC55IDwgbWluWSB8fCBwLnkgPiBtYXhZKSB7XG4gICAgICAgIHJldHVybiBmYWxzZTtcbiAgICB9XG5cbiAgICBmb3IgKFxuICAgICAgICBsZXQgaW5kZXggPSAwLCBpbmRleF8gPSBwb2x5Z29uLmxlbmd0aCAtIDE7XG4gICAgICAgIGluZGV4IDwgcG9seWdvbi5sZW5ndGg7XG4gICAgICAgIGluZGV4XyA9IGluZGV4KytcbiAgICApIHtcbiAgICAgICAgaWYgKFxuICAgICAgICAgICAgcG9seWdvbltpbmRleF0ueSA+IHAueSAhPT0gcG9seWdvbltpbmRleF9dLnkgPiBwLnkgJiZcbiAgICAgICAgICAgIHAueCA8XG4gICAgICAgICAgICAoKHBvbHlnb25baW5kZXhfXS54IC0gcG9seWdvbltpbmRleF0ueCkgKlxuICAgICAgICAgICAgICAgIChwLnkgLSBwb2x5Z29uW2luZGV4XS55KSkgL1xuICAgICAgICAgICAgKHBvbHlnb25baW5kZXhfXS55IC0gcG9seWdvbltpbmRleF0ueSkgK1xuICAgICAgICAgICAgcG9seWdvbltpbmRleF0ueFxuICAgICAgICApIHtcbiAgICAgICAgICAgIGlzSW5zaWRlID0gIWlzSW5zaWRlO1xuICAgICAgICB9XG4gICAgfVxuICAgIHJldHVybiBpc0luc2lkZTtcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIHJvdGF0ZShwb2ludDogeyB4OiBhbnk7IHk6IGFueTsgfSwgY2VudGVyOiB7IHg6IGFueTsgeTogYW55OyB9LCBhbmdsZTogbnVtYmVyKSB7XG4gICAgbGV0IHhNO1xuICAgIGxldCB5TTtcbiAgICBsZXQgeDtcbiAgICBsZXQgeTtcbiAgICBhbmdsZSAqPSBNYXRoLlBJIC8gMTgwO1xuICAgIHhNID0gcG9pbnQueCAtIGNlbnRlci54O1xuICAgIHlNID0gcG9pbnQueSAtIGNlbnRlci55O1xuICAgIHggPSB4TSAqIE1hdGguY29zKGFuZ2xlKSArIHlNICogTWF0aC5zaW4oYW5nbGUpICsgY2VudGVyLng7XG4gICAgeSA9IC14TSAqIE1hdGguc2luKGFuZ2xlKSArIHlNICogTWF0aC5jb3MoYW5nbGUpICsgY2VudGVyLnk7XG4gICAgcmV0dXJuIHsgeDogTWF0aC5yb3VuZCh4KSwgeTogTWF0aC5yb3VuZCh5KSB9O1xufVxuXG4vKipcbiAgICAqIENoZWNrIGlmIGFuIEh0bWxFbGVtZW50IGlzIGluc2lkZSBhIHNlbGVjdGlvblxuICAgICogQHBhcmFtIGJ1dHRvbiBIVE1MRWxlbWVudFxuICAgICogQHBhcmFtIHNlbGVjdGlvblxuICAgICogQHJldHVybnMgdHJ1ZSBpZiB0aGUgZWxlbWVudCBpcyBpbnNpZGUgdGhlIHNlbGVjdGlvbiwgZmFsc2Ugb3RoZXJ3aXNlXG4gICAgKi9cbmV4cG9ydCBmdW5jdGlvbiBidXR0b25Jc0luU2VsZWN0aW9uKFxuICAgIGJ1dHRvbjogSFRNTEJ1dHRvbkVsZW1lbnQsXG4gICAgc2VsZWN0aW9uOiBSZWN0YW5nbGUsXG4pOiBib29sZWFuIHtcbiAgICBjb25zdCBib3VuZHMgPSBidXR0b24uZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCk7XG4gICAgcmV0dXJuIChcbiAgICAgICAgYm91bmRzLmJvdHRvbSA+IHNlbGVjdGlvbi50b3AgJiZcbiAgICAgICAgYm91bmRzLnRvcCA8IHNlbGVjdGlvbi50b3AgKyBzZWxlY3Rpb24uaGVpZ2h0ICYmXG4gICAgICAgIGJvdW5kcy5yaWdodCA+IHNlbGVjdGlvbi5sZWZ0ICYmXG4gICAgICAgIGJvdW5kcy5sZWZ0IDwgc2VsZWN0aW9uLmxlZnQgKyBzZWxlY3Rpb24ud2lkdGhcbiAgICApO1xufVxuXG4vKipcbiAqIFN0eWxlcyB0aGUgYnV0dG9uIHRoYXQgcmVwcmVzZW50cyBhIHN3ZWVwIG9uIHRoZSBwbGFuOiBncmVlbi1hZGRlZCB0byB6b25lLCByZWQgLW5vdCBhZGRlZCwgZ3JheSAtIGRpc2FibGVkLCBvcmFuZ2UgLSBvY2N1cGllZFxuICogQHBhcmFtIGJ1dHRvbiBIVE1MQnV0dG9uRWxlbWVudCwgYnV0dG9uIG9uIHRoZSBwbGFuLCBcbiAqIEBwYXJhbSBpc0FkZGVkIGJvb2xlYW4sIGlmIHRoZSBzd2VlcCBhZGRlZCB0byB0aGUgem9uZVxuICogQHBhcmFtIGlzT2NjdXBpZWQgYm9vbGVhbiwgaWYgdGhlIHN3ZWVwIGFkZGVkIHRvIGFueSBvdGhlciB6b25lIChidXQgbm90IGN1cnJlbnQpXG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBzdHlsZUJ1dHRvbihidXR0b246IEhUTUxCdXR0b25FbGVtZW50LCBzdGF0ZTogU3dlZXBTdGF0ZSkge1xuICAgIHN3aXRjaCAoc3RhdGUpIHtcbiAgICAgICAgY2FzZSBTd2VlcFN0YXRlLkFEREVEOlxuICAgICAgICAgICAgYnV0dG9uLnN0eWxlLmJhY2tncm91bmRJbWFnZSA9IGB1cmwoXCJodHRwczovL2FwaS5pY29uaWZ5LmRlc2lnbi9tZGk6YWRqdXN0LnN2Zz9jb2xvcj1ncmVlbiZoZWlnaHQ9MTcmd2lkdGg9MTdcIilgO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgU3dlZXBTdGF0ZS5ESVNBQkxFRDpcbiAgICAgICAgICAgIGJ1dHRvbi5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2UgPSBgdXJsKFwiaHR0cHM6Ly9hcGkuaWNvbmlmeS5kZXNpZ24vbWRpOmNsb3NlLWNpcmNsZS1vdXRsaW5lLnN2Zz9jb2xvcj1ibGFjayZoZWlnaHQ9MTcmd2lkdGg9MTdcIilgO1xuICAgICAgICAgICAgYnV0dG9uLnN0eWxlLmN1cnNvciA9IFwiYXV0b1wiO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgICAgIGNhc2UgU3dlZXBTdGF0ZS5PQ0NVUElFRDpcbiAgICAgICAgICAgIGJ1dHRvbi5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2UgPSBgdXJsKFwiaHR0cHM6Ly9hcGkuaWNvbmlmeS5kZXNpZ24vbWRpOmFkanVzdC5zdmc/Y29sb3I9b3JhbmdlJmhlaWdodD0xNyZ3aWR0aD0xN1wiKWA7XG4gICAgICAgICAgICBicmVhaztcbiAgICAgICAgY2FzZSBTd2VlcFN0YXRlLlNUQVJUUE9JTlQ6XG4gICAgICAgICAgICBidXR0b24uc3R5bGUuYmFja2dyb3VuZEltYWdlID0gYHVybCgnaHR0cHM6Ly9hcGkuaWNvbmlmeS5kZXNpZ24vaWMvYmFzZWxpbmUtZmxhZy1jaXJjbGUuc3ZnP2NvbG9yPXdoaXRlJndpZHRoPTE3JmhlaWdodD0xNycpYDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBjYXNlIFN3ZWVwU3RhdGUuUkVNT1ZFRDpcbiAgICAgICAgICAgIGJ1dHRvbi5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2UgPSBgdXJsKFwiaHR0cHM6Ly9hcGkuaWNvbmlmeS5kZXNpZ24vbWRpOmNsb3NlLWNpcmNsZS1vdXRsaW5lLnN2Zz9jb2xvcj1yZWQmaGVpZ2h0PTE3JndpZHRoPTE3XCIpYDtcbiAgICAgICAgICAgIGJyZWFrO1xuICAgICAgICBkZWZhdWx0OlxuICAgICAgICAgICAgYnV0dG9uLnN0eWxlLmJhY2tncm91bmRJbWFnZSA9IGB1cmwoXCJodHRwczovL2FwaS5pY29uaWZ5LmRlc2lnbi9tZGk6Y2xvc2UtY2lyY2xlLW91dGxpbmUuc3ZnP2NvbG9yPXJlZCZoZWlnaHQ9MTcmd2lkdGg9MTdcIilgO1xuICAgICAgICAgICAgYnJlYWs7XG4gICAgfVxuICAgIC8vIGlmIChkaXNhYmxlZCkge1xuICAgIC8vICAgICBidXR0b24uc3R5bGUuYmFja2dyb3VuZEltYWdlID0gYHVybChcImh0dHBzOi8vYXBpLmljb25pZnkuZGVzaWduL21kaTpjbG9zZS1jaXJjbGUtb3V0bGluZS5zdmc/Y29sb3I9IzYzNjM2MyZoZWlnaHQ9MTcmd2lkdGg9MTdcIilgO1xuICAgIC8vICAgICBidXR0b24uc3R5bGUuY3Vyc29yID0gXCJhdXRvXCI7XG4gICAgLy8gfSBlbHNlIGlmIChpc09jY3VwaWVkKSB7XG4gICAgLy8gICAgIGJ1dHRvbi5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2UgPSBgdXJsKFwiaHR0cHM6Ly9hcGkuaWNvbmlmeS5kZXNpZ24vbWRpOmFkanVzdC5zdmc/Y29sb3I9b3JhbmdlJmhlaWdodD0xNyZ3aWR0aD0xN1wiKWA7XG4gICAgLy8gfSBlbHNlIHtcbiAgICAvLyAgICAgYnV0dG9uLnN0eWxlLmJhY2tncm91bmRJbWFnZSA9IGlzQWRkZWRcbiAgICAvLyAgICAgICAgID8gYHVybChcImh0dHBzOi8vYXBpLmljb25pZnkuZGVzaWduL21kaTphZGp1c3Quc3ZnP2NvbG9yPWdyZWVuJmhlaWdodD0xNyZ3aWR0aD0xN1wiKWBcbiAgICAvLyAgICAgICAgIDogYHVybChcImh0dHBzOi8vYXBpLmljb25pZnkuZGVzaWduL21kaTpjbG9zZS1jaXJjbGUtb3V0bGluZS5zdmc/Y29sb3I9cmVkJmhlaWdodD0xNyZ3aWR0aD0xN1wiKWA7XG4gICAgLy8gfVxuICAgIGJ1dHRvbi5zdHlsZS5iYWNrZ3JvdW5kQ29sb3IgPSBcInRyYW5zcGFyZW50XCI7XG4gICAgYnV0dG9uLnN0eWxlLnBvc2l0aW9uID0gXCJhYnNvbHV0ZVwiO1xuICAgIGJ1dHRvbi5zdHlsZS5ib3JkZXIgPSBcIm5vbmVcIjtcbiAgICBidXR0b24uc3R5bGUud2lkdGggPSBcIjE3cHhcIjtcbiAgICBidXR0b24uc3R5bGUuaGVpZ2h0ID0gXCIxN3B4XCI7XG4gICAgYnV0dG9uLmRpc2FibGVkID0gZmFsc2U7XG4gICAgYnV0dG9uLnR5cGUgPSBcImJ1dHRvblwiO1xufVxuXG4vKipcbiAqIENoZWNrIGlmIHN3ZWVwIChidXR0b24pIGlzIGNob3NlbjsgaXQgaXMgcmVwcnNlbnRlZCBieSBpbWFnZSBzdHlsZSBcIm1kaTphZGp1c3RcIlxuICogQHBhcmFtIGJ1dHRvbiBIVE1MRWxlbWVudFxuICogQHJldHVybnMgYm9vbGVhbiwgaWYgYnV0dG9uIHdhcyBzZWxlY3RlZFxuICovXG5leHBvcnQgZnVuY3Rpb24gYnV0dG9uSXNDaG9zZW4oYnV0dG9uOiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xuICAgIHJldHVybiBidXR0b24uc3R5bGUuYmFja2dyb3VuZEltYWdlLmluY2x1ZGVzKFwiYWRqdXN0XCIpO1xufVxuXG4vKipcbiAgICAgKiBWaXN1YWxseSBjaGFuZ2UgdGhlIHN0YXRlIG9mIGEgc2NhbiBidXR0b24sIGEgc2VsZWN0ZWQgYnV0dG9uIGlzIGJsdWVcbiAgICAgKiBAcGFyYW0gYnV0dG9uIEhUTUxFbGVtZW50XG4gICAgICogQHBhcmFtIHNlbGVjdGVkIGlmIHRydWUgdGhlIGJ1dHRvbiB3aWxsIGJlIGJsdWUsIG90aGVyd2lzZSBpdCB3aWxsIHJlZCBvciBncmVlblxuICAgICAqL1xuZXhwb3J0IGZ1bmN0aW9uIHNldFZpc3VhbGx5U2VsZWN0ZWQoYnV0dG9uOiBIVE1MRWxlbWVudCwgc2VsZWN0ZWQ6IGJvb2xlYW4pIHtcbiAgICBpZiAoc2VsZWN0ZWQpIHtcbiAgICAgICAgLyoqIENvbG9yIGluIGJsdWUgKi9cbiAgICAgICAgYnV0dG9uLnN0eWxlLmJhY2tncm91bmRJbWFnZSA9IGJ1dHRvbi5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2VcbiAgICAgICAgICAgIC5yZXBsYWNlKFwicmVkXCIsIFwiYmx1ZVwiKVxuICAgICAgICAgICAgLnJlcGxhY2UoXCJncmVlblwiLCBcImJsdWVcIik7XG4gICAgfSBlbHNlIHtcbiAgICAgICAgLyoqIEdldCBiYWNrIGluIHJlZCBvciBncmVlbiAqL1xuICAgICAgICBjb25zdCBjb2xvciA9IGJ1dHRvbklzQ2hvc2VuKGJ1dHRvbikgPyBcImdyZWVuXCIgOiBcInJlZFwiO1xuICAgICAgICBidXR0b24uc3R5bGUuYmFja2dyb3VuZEltYWdlID0gYnV0dG9uLnN0eWxlLmJhY2tncm91bmRJbWFnZS5yZXBsYWNlKFxuICAgICAgICAgICAgXCJibHVlXCIsXG4gICAgICAgICAgICBjb2xvcixcbiAgICAgICAgKTtcbiAgICB9XG59Il19
|
|
1
|
+
export var SweepState;
|
|
2
|
+
(function (SweepState) {
|
|
3
|
+
SweepState[SweepState["ADDED"] = 0] = "ADDED";
|
|
4
|
+
SweepState[SweepState["REMOVED"] = 1] = "REMOVED";
|
|
5
|
+
SweepState[SweepState["DISABLED"] = 2] = "DISABLED";
|
|
6
|
+
SweepState[SweepState["OCCUPIED"] = 3] = "OCCUPIED";
|
|
7
|
+
SweepState[SweepState["STARTPOINT"] = 4] = "STARTPOINT";
|
|
8
|
+
})(SweepState || (SweepState = {}));
|
|
9
|
+
export function isInPolygon(p, polygon) {
|
|
10
|
+
let isInside = false;
|
|
11
|
+
let minX = polygon[0].x;
|
|
12
|
+
let maxX = polygon[0].x;
|
|
13
|
+
let minY = polygon[0].y;
|
|
14
|
+
let maxY = polygon[0].y;
|
|
15
|
+
for (let n = 1; n < polygon.length; n++) {
|
|
16
|
+
const q = polygon[n];
|
|
17
|
+
minX = Math.min(q.x, minX);
|
|
18
|
+
maxX = Math.max(q.x, maxX);
|
|
19
|
+
minY = Math.min(q.y, minY);
|
|
20
|
+
maxY = Math.max(q.y, maxY);
|
|
21
|
+
}
|
|
22
|
+
if (p.x < minX || p.x > maxX || p.y < minY || p.y > maxY) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
for (let index = 0, index_ = polygon.length - 1; index < polygon.length; index_ = index++) {
|
|
26
|
+
if (polygon[index].y > p.y !== polygon[index_].y > p.y &&
|
|
27
|
+
p.x <
|
|
28
|
+
((polygon[index_].x - polygon[index].x) *
|
|
29
|
+
(p.y - polygon[index].y)) /
|
|
30
|
+
(polygon[index_].y - polygon[index].y) +
|
|
31
|
+
polygon[index].x) {
|
|
32
|
+
isInside = !isInside;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return isInside;
|
|
36
|
+
}
|
|
37
|
+
export function rotate(point, center, angle) {
|
|
38
|
+
let xM;
|
|
39
|
+
let yM;
|
|
40
|
+
let x;
|
|
41
|
+
let y;
|
|
42
|
+
angle *= Math.PI / 180;
|
|
43
|
+
xM = point.x - center.x;
|
|
44
|
+
yM = point.y - center.y;
|
|
45
|
+
x = xM * Math.cos(angle) + yM * Math.sin(angle) + center.x;
|
|
46
|
+
y = -xM * Math.sin(angle) + yM * Math.cos(angle) + center.y;
|
|
47
|
+
return { x: Math.round(x), y: Math.round(y) };
|
|
48
|
+
}
|
|
49
|
+
/**
|
|
50
|
+
* Check if an HtmlElement is inside a selection
|
|
51
|
+
* @param button HTMLElement
|
|
52
|
+
* @param selection
|
|
53
|
+
* @returns true if the element is inside the selection, false otherwise
|
|
54
|
+
*/
|
|
55
|
+
export function buttonIsInSelection(button, selection) {
|
|
56
|
+
const bounds = button.getBoundingClientRect();
|
|
57
|
+
return (bounds.bottom > selection.top &&
|
|
58
|
+
bounds.top < selection.top + selection.height &&
|
|
59
|
+
bounds.right > selection.left &&
|
|
60
|
+
bounds.left < selection.left + selection.width);
|
|
61
|
+
}
|
|
62
|
+
/**
|
|
63
|
+
* Styles the button that represents a sweep on the plan: green-added to zone, red -not added, gray - disabled, orange - occupied
|
|
64
|
+
* @param button HTMLButtonElement, button on the plan,
|
|
65
|
+
* @param isAdded boolean, if the sweep added to the zone
|
|
66
|
+
* @param isOccupied boolean, if the sweep added to any other zone (but not current)
|
|
67
|
+
*/
|
|
68
|
+
export function styleButton(button, state) {
|
|
69
|
+
switch (state) {
|
|
70
|
+
case SweepState.ADDED:
|
|
71
|
+
button.style.backgroundImage = `url("https://api.iconify.design/mdi:adjust.svg?color=green&height=17&width=17")`;
|
|
72
|
+
break;
|
|
73
|
+
case SweepState.DISABLED:
|
|
74
|
+
button.style.backgroundImage = `url("https://api.iconify.design/mdi:close-circle-outline.svg?color=#636363&height=17&width=17")`;
|
|
75
|
+
button.style.cursor = "auto";
|
|
76
|
+
break;
|
|
77
|
+
case SweepState.OCCUPIED:
|
|
78
|
+
button.style.backgroundImage = `url("https://api.iconify.design/mdi:adjust.svg?color=orange&height=17&width=17")`;
|
|
79
|
+
break;
|
|
80
|
+
case SweepState.STARTPOINT:
|
|
81
|
+
button.style.backgroundImage = `url('https://api.iconify.design/ic/baseline-flag-circle.svg?color=white&width=17&height=17')`;
|
|
82
|
+
break;
|
|
83
|
+
case SweepState.REMOVED:
|
|
84
|
+
button.style.backgroundImage = `url("https://api.iconify.design/mdi:close-circle-outline.svg?color=red&height=17&width=17")`;
|
|
85
|
+
break;
|
|
86
|
+
default:
|
|
87
|
+
button.style.backgroundImage = `url("https://api.iconify.design/mdi:close-circle-outline.svg?color=red&height=17&width=17")`;
|
|
88
|
+
break;
|
|
89
|
+
}
|
|
90
|
+
// if (disabled) {
|
|
91
|
+
// button.style.backgroundImage = `url("https://api.iconify.design/mdi:close-circle-outline.svg?color=#636363&height=17&width=17")`;
|
|
92
|
+
// button.style.cursor = "auto";
|
|
93
|
+
// } else if (isOccupied) {
|
|
94
|
+
// button.style.backgroundImage = `url("https://api.iconify.design/mdi:adjust.svg?color=orange&height=17&width=17")`;
|
|
95
|
+
// } else {
|
|
96
|
+
// button.style.backgroundImage = isAdded
|
|
97
|
+
// ? `url("https://api.iconify.design/mdi:adjust.svg?color=green&height=17&width=17")`
|
|
98
|
+
// : `url("https://api.iconify.design/mdi:close-circle-outline.svg?color=red&height=17&width=17")`;
|
|
99
|
+
// }
|
|
100
|
+
button.style.backgroundColor = "transparent";
|
|
101
|
+
button.style.position = "absolute";
|
|
102
|
+
button.style.border = "none";
|
|
103
|
+
button.style.width = "17px";
|
|
104
|
+
button.style.height = "17px";
|
|
105
|
+
button.disabled = false;
|
|
106
|
+
button.type = "button";
|
|
107
|
+
}
|
|
108
|
+
/**
|
|
109
|
+
* Check if sweep (button) is chosen; it is reprsented by image style "mdi:adjust"
|
|
110
|
+
* @param button HTMLElement
|
|
111
|
+
* @returns boolean, if button was selected
|
|
112
|
+
*/
|
|
113
|
+
export function buttonIsChosen(button) {
|
|
114
|
+
return button.style.backgroundImage.includes("adjust");
|
|
115
|
+
}
|
|
116
|
+
/**
|
|
117
|
+
* Visually change the state of a scan button, a selected button is blue
|
|
118
|
+
* @param button HTMLElement
|
|
119
|
+
* @param selected if true the button will be blue, otherwise it will red or green
|
|
120
|
+
*/
|
|
121
|
+
export function setVisuallySelected(button, selected) {
|
|
122
|
+
if (selected) {
|
|
123
|
+
/** Color in blue */
|
|
124
|
+
button.style.backgroundImage = button.style.backgroundImage
|
|
125
|
+
.replace("red", "blue")
|
|
126
|
+
.replace("green", "blue");
|
|
127
|
+
}
|
|
128
|
+
else {
|
|
129
|
+
/** Get back in red or green */
|
|
130
|
+
const color = buttonIsChosen(button) ? "green" : "red";
|
|
131
|
+
button.style.backgroundImage = button.style.backgroundImage.replace("blue", color);
|
|
132
|
+
}
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaGVscGVyLnNlcnZpY2UuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9wcm9qZWN0cy9uZ3gtc21hcnRlcnBsYW4tbG9jYXRpb25zL3NyYy9saWIvaGVscGVyLnNlcnZpY2UudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBT0EsTUFBTSxDQUFOLElBQVksVUFNWDtBQU5ELFdBQVksVUFBVTtJQUNsQiw2Q0FBSyxDQUFBO0lBQ0wsaURBQU8sQ0FBQTtJQUNQLG1EQUFRLENBQUE7SUFDUixtREFBUSxDQUFBO0lBQ1IsdURBQVUsQ0FBQTtBQUNkLENBQUMsRUFOVyxVQUFVLEtBQVYsVUFBVSxRQU1yQjtBQUVELE1BQU0sVUFBVSxXQUFXLENBQUMsQ0FBc0IsRUFBRSxPQUF1QjtJQUV2RSxJQUFJLFFBQVEsR0FBRyxLQUFLLENBQUM7SUFDckIsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QixJQUFJLElBQUksR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ3hCLElBQUksSUFBSSxHQUFHLE9BQU8sQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7SUFDeEIsSUFBSSxJQUFJLEdBQUcsT0FBTyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztJQUN4QixLQUFLLElBQUksQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLEdBQUcsT0FBTyxDQUFDLE1BQU0sRUFBRSxDQUFDLEVBQUUsRUFBRTtRQUNyQyxNQUFNLENBQUMsR0FBRyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDckIsSUFBSSxHQUFHLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDLENBQUMsRUFBRSxJQUFJLENBQUMsQ0FBQztRQUMzQixJQUFJLEdBQUcsSUFBSSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxFQUFFLElBQUksQ0FBQyxDQUFDO1FBQzNCLElBQUks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biAgICB0b3A6IG51bWJlcjtcclxuICAgIGxlZnQ6IG51bWJlcjtcclxuICAgIHdpZHRoOiBudW1iZXI7XHJcbiAgICBoZWlnaHQ6IG51bWJlcjtcclxufTtcclxuXHJcbmV4cG9ydCBlbnVtIFN3ZWVwU3RhdGUge1xyXG4gICAgQURERUQsXHJcbiAgICBSRU1PVkVELFxyXG4gICAgRElTQUJMRUQsXHJcbiAgICBPQ0NVUElFRCxcclxuICAgIFNUQVJUUE9JTlRcclxufVxyXG5cclxuZXhwb3J0IGZ1bmN0aW9uIGlzSW5Qb2x5Z29uKHA6IHsgeDogYW55OyB5OiBhbnk7IH0sIHBvbHlnb246IHN0cmluZyB8IGFueVtdKTogYm9vbGVhbiB7XHJcblxyXG4gICAgbGV0IGlzSW5zaWRlID0gZmFsc2U7XHJcbiAgICBsZXQgbWluWCA9IHBvbHlnb25bMF0ueDtcclxuICAgIGxldCBtYXhYID0gcG9seWdvblswXS54O1xyXG4gICAgbGV0IG1pblkgPSBwb2x5Z29uWzBdLnk7XHJcbiAgICBsZXQgbWF4WSA9IHBvbHlnb25bMF0ueTtcclxuICAgIGZvciAobGV0IG4gPSAxOyBuIDwgcG9seWdvbi5sZW5ndGg7IG4rKykge1xyXG4gICAgICAgIGNvbnN0IHEgPSBwb2x5Z29uW25dO1xyXG4gICAgICAgIG1pblggPSBNYXRoLm1pbihxLngsIG1pblgpO1xyXG4gICAgICAgIG1heFggPSBNYXRoLm1heChxLngsIG1heFgpO1xyXG4gICAgICAgIG1pblkgPSBNYXRoLm1pbihxLnksIG1pblkpO1xyXG4gICAgICAgIG1heFkgPSBNYXRoLm1heChxLnksIG1heFkpO1xyXG4gICAgfVxyXG5cclxuICAgIGlmIChwLnggPCBtaW5YIHx8IHAueCA+IG1heFggfHwgcC55IDwgbWluWSB8fCBwLnkgPiBtYXhZKSB7XHJcbiAgICAgICAgcmV0dXJuIGZhbHNlO1xyXG4gICAgfVxyXG5cclxuICAgIGZvciAoXHJcbiAgICAgICAgbGV0IGluZGV4ID0gMCwgaW5kZXhfID0gcG9seWdvbi5sZW5ndGggLSAxO1xyXG4gICAgICAgIGluZGV4IDwgcG9seWdvbi5sZW5ndGg7XHJcbiAgICAgICAgaW5kZXhfID0gaW5kZXgrK1xyXG4gICAgKSB7XHJcbiAgICAgICAgaWYgKFxyXG4gICAgICAgICAgICBwb2x5Z29uW2luZGV4XS55ID4gcC55ICE9PSBwb2x5Z29uW2luZGV4X10ueSA+IHAueSAmJlxyXG4gICAgICAgICAgICBwLnggPFxyXG4gICAgICAgICAgICAoKHBvbHlnb25baW5kZXhfXS54IC0gcG9seWdvbltpbmRleF0ueCkgKlxyXG4gICAgICAgICAgICAgICAgKHAueSAtIHBvbHlnb25baW5kZXhdLnkpKSAvXHJcbiAgICAgICAgICAgIChwb2x5Z29uW2luZGV4X10ueSAtIHBvbHlnb25baW5kZXhdLnkpICtcclxuICAgICAgICAgICAgcG9seWdvbltpbmRleF0ueFxyXG4gICAgICAgICkge1xyXG4gICAgICAgICAgICBpc0luc2lkZSA9ICFpc0luc2lkZTtcclxuICAgICAgICB9XHJcbiAgICB9XHJcbiAgICByZXR1cm4gaXNJbnNpZGU7XHJcbn1cclxuXHJcbmV4cG9ydCBmdW5jdGlvbiByb3RhdGUocG9pbnQ6IHsgeDogYW55OyB5OiBhbnk7IH0sIGNlbnRlcjogeyB4OiBhbnk7IHk6IGFueTsgfSwgYW5nbGU6IG51bWJlcikge1xyXG4gICAgbGV0IHhNO1xyXG4gICAgbGV0IHlNO1xyXG4gICAgbGV0IHg7XHJcbiAgICBsZXQgeTtcclxuICAgIGFuZ2xlICo9IE1hdGguUEkgLyAxODA7XHJcbiAgICB4TSA9IHBvaW50LnggLSBjZW50ZXIueDtcclxuICAgIHlNID0gcG9pbnQueSAtIGNlbnRlci55O1xyXG4gICAgeCA9IHhNICogTWF0aC5jb3MoYW5nbGUpICsgeU0gKiBNYXRoLnNpbihhbmdsZSkgKyBjZW50ZXIueDtcclxuICAgIHkgPSAteE0gKiBNYXRoLnNpbihhbmdsZSkgKyB5TSAqIE1hdGguY29zKGFuZ2xlKSArIGNlbnRlci55O1xyXG4gICAgcmV0dXJuIHsgeDogTWF0aC5yb3VuZCh4KSwgeTogTWF0aC5yb3VuZCh5KSB9O1xyXG59XHJcblxyXG4vKipcclxuICAgICogQ2hlY2sgaWYgYW4gSHRtbEVsZW1lbnQgaXMgaW5zaWRlIGEgc2VsZWN0aW9uXHJcbiAgICAqIEBwYXJhbSBidXR0b24gSFRNTEVsZW1lbnRcclxuICAgICogQHBhcmFtIHNlbGVjdGlvblxyXG4gICAgKiBAcmV0dXJucyB0cnVlIGlmIHRoZSBlbGVtZW50IGlzIGluc2lkZSB0aGUgc2VsZWN0aW9uLCBmYWxzZSBvdGhlcndpc2VcclxuICAgICovXHJcbmV4cG9ydCBmdW5jdGlvbiBidXR0b25Jc0luU2VsZWN0aW9uKFxyXG4gICAgYnV0dG9uOiBIVE1MQnV0dG9uRWxlbWVudCxcclxuICAgIHNlbGVjdGlvbjogUmVjdGFuZ2xlLFxyXG4pOiBib29sZWFuIHtcclxuICAgIGNvbnN0IGJvdW5kcyA9IGJ1dHRvbi5nZXRCb3VuZGluZ0NsaWVudFJlY3QoKTtcclxuICAgIHJldHVybiAoXHJcbiAgICAgICAgYm91bmRzLmJvdHRvbSA+IHNlbGVjdGlvbi50b3AgJiZcclxuICAgICAgICBib3VuZHMudG9wIDwgc2VsZWN0aW9uLnRvcCArIHNlbGVjdGlvbi5oZWlnaHQgJiZcclxuICAgICAgICBib3VuZHMucmlnaHQgPiBzZWxlY3Rpb24ubGVmdCAmJlxyXG4gICAgICAgIGJvdW5kcy5sZWZ0IDwgc2VsZWN0aW9uLmxlZnQgKyBzZWxlY3Rpb24ud2lkdGhcclxuICAgICk7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBTdHlsZXMgdGhlIGJ1dHRvbiB0aGF0IHJlcHJlc2VudHMgYSBzd2VlcCBvbiB0aGUgcGxhbjogZ3JlZW4tYWRkZWQgdG8gem9uZSwgcmVkIC1ub3QgYWRkZWQsIGdyYXkgLSBkaXNhYmxlZCwgb3JhbmdlIC0gb2NjdXBpZWRcclxuICogQHBhcmFtIGJ1dHRvbiBIVE1MQnV0dG9uRWxlbWVudCwgYnV0dG9uIG9uIHRoZSBwbGFuLCBcclxuICogQHBhcmFtIGlzQWRkZWQgYm9vbGVhbiwgaWYgdGhlIHN3ZWVwIGFkZGVkIHRvIHRoZSB6b25lXHJcbiAqIEBwYXJhbSBpc09jY3VwaWVkIGJvb2xlYW4sIGlmIHRoZSBzd2VlcCBhZGRlZCB0byBhbnkgb3RoZXIgem9uZSAoYnV0IG5vdCBjdXJyZW50KVxyXG4gKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHN0eWxlQnV0dG9uKGJ1dHRvbjogSFRNTEJ1dHRvbkVsZW1lbnQsIHN0YXRlOiBTd2VlcFN0YXRlKSB7XHJcbiAgICBzd2l0Y2ggKHN0YXRlKSB7XHJcbiAgICAgICAgY2FzZSBTd2VlcFN0YXRlLkFEREVEOlxyXG4gICAgICAgICAgICBidXR0b24uc3R5bGUuYmFja2dyb3VuZEltYWdlID0gYHVybChcImh0dHBzOi8vYXBpLmljb25pZnkuZGVzaWduL21kaTphZGp1c3Quc3ZnP2NvbG9yPWdyZWVuJmhlaWdodD0xNyZ3aWR0aD0xN1wiKWA7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgU3dlZXBTdGF0ZS5ESVNBQkxFRDpcclxuICAgICAgICAgICAgYnV0dG9uLnN0eWxlLmJhY2tncm91bmRJbWFnZSA9IGB1cmwoXCJodHRwczovL2FwaS5pY29uaWZ5LmRlc2lnbi9tZGk6Y2xvc2UtY2lyY2xlLW91dGxpbmUuc3ZnP2NvbG9yPSM2MzYzNjMmaGVpZ2h0PTE3JndpZHRoPTE3XCIpYDtcclxuICAgICAgICAgICAgYnV0dG9uLnN0eWxlLmN1cnNvciA9IFwiYXV0b1wiO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgICAgICBjYXNlIFN3ZWVwU3RhdGUuT0NDVVBJRUQ6XHJcbiAgICAgICAgICAgIGJ1dHRvbi5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2UgPSBgdXJsKFwiaHR0cHM6Ly9hcGkuaWNvbmlmeS5kZXNpZ24vbWRpOmFkanVzdC5zdmc/Y29sb3I9b3JhbmdlJmhlaWdodD0xNyZ3aWR0aD0xN1wiKWA7XHJcbiAgICAgICAgICAgIGJyZWFrO1xyXG4gICAgICAgIGNhc2UgU3dlZXBTdGF0ZS5TVEFSVFBPSU5UOlxyXG4gICAgICAgICAgICBidXR0b24uc3R5bGUuYmFja2dyb3VuZEltYWdlID0gYHVybCgnaHR0cHM6Ly9hcGkuaWNvbmlmeS5kZXNpZ24vaWMvYmFzZWxpbmUtZmxhZy1jaXJjbGUuc3ZnP2NvbG9yPXdoaXRlJndpZHRoPTE3JmhlaWdodD0xNycpYDtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgY2FzZSBTd2VlcFN0YXRlLlJFTU9WRUQ6XHJcbiAgICAgICAgICAgIGJ1dHRvbi5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2UgPSBgdXJsKFwiaHR0cHM6Ly9hcGkuaWNvbmlmeS5kZXNpZ24vbWRpOmNsb3NlLWNpcmNsZS1vdXRsaW5lLnN2Zz9jb2xvcj1yZWQmaGVpZ2h0PTE3JndpZHRoPTE3XCIpYDtcclxuICAgICAgICAgICAgYnJlYWs7XHJcbiAgICAgICAgZGVmYXVsdDpcclxuICAgICAgICAgICAgYnV0dG9uLnN0eWxlLmJhY2tncm91bmRJbWFnZSA9IGB1cmwoXCJodHRwczovL2FwaS5pY29uaWZ5LmRlc2lnbi9tZGk6Y2xvc2UtY2lyY2xlLW91dGxpbmUuc3ZnP2NvbG9yPXJlZCZoZWlnaHQ9MTcmd2lkdGg9MTdcIilgO1xyXG4gICAgICAgICAgICBicmVhaztcclxuICAgIH1cclxuICAgIC8vIGlmIChkaXNhYmxlZCkge1xyXG4gICAgLy8gICAgIGJ1dHRvbi5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2UgPSBgdXJsKFwiaHR0cHM6Ly9hcGkuaWNvbmlmeS5kZXNpZ24vbWRpOmNsb3NlLWNpcmNsZS1vdXRsaW5lLnN2Zz9jb2xvcj0jNjM2MzYzJmhlaWdodD0xNyZ3aWR0aD0xN1wiKWA7XHJcbiAgICAvLyAgICAgYnV0dG9uLnN0eWxlLmN1cnNvciA9IFwiYXV0b1wiO1xyXG4gICAgLy8gfSBlbHNlIGlmIChpc09jY3VwaWVkKSB7XHJcbiAgICAvLyAgICAgYnV0dG9uLnN0eWxlLmJhY2tncm91bmRJbWFnZSA9IGB1cmwoXCJodHRwczovL2FwaS5pY29uaWZ5LmRlc2lnbi9tZGk6YWRqdXN0LnN2Zz9jb2xvcj1vcmFuZ2UmaGVpZ2h0PTE3JndpZHRoPTE3XCIpYDtcclxuICAgIC8vIH0gZWxzZSB7XHJcbiAgICAvLyAgICAgYnV0dG9uLnN0eWxlLmJhY2tncm91bmRJbWFnZSA9IGlzQWRkZWRcclxuICAgIC8vICAgICAgICAgPyBgdXJsKFwiaHR0cHM6Ly9hcGkuaWNvbmlmeS5kZXNpZ24vbWRpOmFkanVzdC5zdmc/Y29sb3I9Z3JlZW4maGVpZ2h0PTE3JndpZHRoPTE3XCIpYFxyXG4gICAgLy8gICAgICAgICA6IGB1cmwoXCJodHRwczovL2FwaS5pY29uaWZ5LmRlc2lnbi9tZGk6Y2xvc2UtY2lyY2xlLW91dGxpbmUuc3ZnP2NvbG9yPXJlZCZoZWlnaHQ9MTcmd2lkdGg9MTdcIilgO1xyXG4gICAgLy8gfVxyXG4gICAgYnV0dG9uLnN0eWxlLmJhY2tncm91bmRDb2xvciA9IFwidHJhbnNwYXJlbnRcIjtcclxuICAgIGJ1dHRvbi5zdHlsZS5wb3NpdGlvbiA9IFwiYWJzb2x1dGVcIjtcclxuICAgIGJ1dHRvbi5zdHlsZS5ib3JkZXIgPSBcIm5vbmVcIjtcclxuICAgIGJ1dHRvbi5zdHlsZS53aWR0aCA9IFwiMTdweFwiO1xyXG4gICAgYnV0dG9uLnN0eWxlLmhlaWdodCA9IFwiMTdweFwiO1xyXG4gICAgYnV0dG9uLmRpc2FibGVkID0gZmFsc2U7XHJcbiAgICBidXR0b24udHlwZSA9IFwiYnV0dG9uXCI7XHJcbn1cclxuXHJcbi8qKlxyXG4gKiBDaGVjayBpZiBzd2VlcCAoYnV0dG9uKSBpcyBjaG9zZW47IGl0IGlzIHJlcHJzZW50ZWQgYnkgaW1hZ2Ugc3R5bGUgXCJtZGk6YWRqdXN0XCJcclxuICogQHBhcmFtIGJ1dHRvbiBIVE1MRWxlbWVudFxyXG4gKiBAcmV0dXJucyBib29sZWFuLCBpZiBidXR0b24gd2FzIHNlbGVjdGVkXHJcbiAqL1xyXG5leHBvcnQgZnVuY3Rpb24gYnV0dG9uSXNDaG9zZW4oYnV0dG9uOiBIVE1MRWxlbWVudCk6IGJvb2xlYW4ge1xyXG4gICAgcmV0dXJuIGJ1dHRvbi5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2UuaW5jbHVkZXMoXCJhZGp1c3RcIik7XHJcbn1cclxuXHJcbi8qKlxyXG4gICAgICogVmlzdWFsbHkgY2hhbmdlIHRoZSBzdGF0ZSBvZiBhIHNjYW4gYnV0dG9uLCBhIHNlbGVjdGVkIGJ1dHRvbiBpcyBibHVlXHJcbiAgICAgKiBAcGFyYW0gYnV0dG9uIEhUTUxFbGVtZW50XHJcbiAgICAgKiBAcGFyYW0gc2VsZWN0ZWQgaWYgdHJ1ZSB0aGUgYnV0dG9uIHdpbGwgYmUgYmx1ZSwgb3RoZXJ3aXNlIGl0IHdpbGwgcmVkIG9yIGdyZWVuXHJcbiAgICAgKi9cclxuZXhwb3J0IGZ1bmN0aW9uIHNldFZpc3VhbGx5U2VsZWN0ZWQoYnV0dG9uOiBIVE1MRWxlbWVudCwgc2VsZWN0ZWQ6IGJvb2xlYW4pIHtcclxuICAgIGlmIChzZWxlY3RlZCkge1xyXG4gICAgICAgIC8qKiBDb2xvciBpbiBibHVlICovXHJcbiAgICAgICAgYnV0dG9uLnN0eWxlLmJhY2tncm91bmRJbWFnZSA9IGJ1dHRvbi5zdHlsZS5iYWNrZ3JvdW5kSW1hZ2VcclxuICAgICAgICAgICAgLnJlcGxhY2UoXCJyZWRcIiwgXCJibHVlXCIpXHJcbiAgICAgICAgICAgIC5yZXBsYWNlKFwiZ3JlZW5cIiwgXCJibHVlXCIpO1xyXG4gICAgfSBlbHNlIHtcclxuICAgICAgICAvKiogR2V0IGJhY2sgaW4gcmVkIG9yIGdyZWVuICovXHJcbiAgICAgICAgY29uc3QgY29sb3IgPSBidXR0b25Jc0Nob3NlbihidXR0b24pID8gXCJncmVlblwiIDogXCJyZWRcIjtcclxuICAgICAgICBidXR0b24uc3R5bGUuYmFja2dyb3VuZEltYWdlID0gYnV0dG9uLnN0eWxlLmJhY2tncm91bmRJbWFnZS5yZXBsYWNlKFxyXG4gICAgICAgICAgICBcImJsdWVcIixcclxuICAgICAgICAgICAgY29sb3IsXHJcbiAgICAgICAgKTtcclxuICAgIH1cclxufSJdfQ==
|
|
@@ -1,49 +1,49 @@
|
|
|
1
|
-
import { NgModule } from "@angular/core";
|
|
2
|
-
import { RouterModule } from "@angular/router";
|
|
3
|
-
import { CalibrationComponent } from "./components/plans/calibration/calibration.component";
|
|
4
|
-
import { DetailLocationComponent } from "./components/detail-location/detail-location.component";
|
|
5
|
-
import { EditPlanComponent } from "./components/plans/edit-plan/edit-plan.component";
|
|
6
|
-
import { ImagesComponent } from "./components/images/images.component";
|
|
7
|
-
import { LocationsComponent } from "./components/locations/locations.component";
|
|
8
|
-
import { PlansComponent } from "./components/plans/plans.component";
|
|
9
|
-
import { VisitsComponent } from "./components/visits/visits.component";
|
|
10
|
-
import { ZonesComponent } from "./components/zones/zones.component";
|
|
11
|
-
import * as i0 from "@angular/core";
|
|
12
|
-
import * as i1 from "@angular/router";
|
|
13
|
-
const routes = [
|
|
14
|
-
{
|
|
15
|
-
path: "",
|
|
16
|
-
component: LocationsComponent,
|
|
17
|
-
},
|
|
18
|
-
{
|
|
19
|
-
path: ":id",
|
|
20
|
-
children: [
|
|
21
|
-
{ path: "", component: DetailLocationComponent },
|
|
22
|
-
{ path: "zones", component: ZonesComponent },
|
|
23
|
-
{ path: "visits", component: VisitsComponent },
|
|
24
|
-
{ path: "plans", component: PlansComponent },
|
|
25
|
-
{
|
|
26
|
-
path: "plan-calibration",
|
|
27
|
-
component: CalibrationComponent,
|
|
28
|
-
},
|
|
29
|
-
{
|
|
30
|
-
path: "plan-edit",
|
|
31
|
-
component: EditPlanComponent,
|
|
32
|
-
},
|
|
33
|
-
{ path: "images", component: ImagesComponent },
|
|
34
|
-
],
|
|
35
|
-
},
|
|
36
|
-
];
|
|
37
|
-
export class LocationsRoutingModule {
|
|
38
|
-
}
|
|
39
|
-
LocationsRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LocationsRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
40
|
-
LocationsRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LocationsRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] });
|
|
41
|
-
LocationsRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LocationsRoutingModule, imports: [[RouterModule.forChild(routes)], RouterModule] });
|
|
42
|
-
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LocationsRoutingModule, decorators: [{
|
|
43
|
-
type: NgModule,
|
|
44
|
-
args: [{
|
|
45
|
-
imports: [RouterModule.forChild(routes)],
|
|
46
|
-
exports: [RouterModule],
|
|
47
|
-
}]
|
|
48
|
-
}] });
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
1
|
+
import { NgModule } from "@angular/core";
|
|
2
|
+
import { RouterModule } from "@angular/router";
|
|
3
|
+
import { CalibrationComponent } from "./components/plans/calibration/calibration.component";
|
|
4
|
+
import { DetailLocationComponent } from "./components/detail-location/detail-location.component";
|
|
5
|
+
import { EditPlanComponent } from "./components/plans/edit-plan/edit-plan.component";
|
|
6
|
+
import { ImagesComponent } from "./components/images/images.component";
|
|
7
|
+
import { LocationsComponent } from "./components/locations/locations.component";
|
|
8
|
+
import { PlansComponent } from "./components/plans/plans.component";
|
|
9
|
+
import { VisitsComponent } from "./components/visits/visits.component";
|
|
10
|
+
import { ZonesComponent } from "./components/zones/zones.component";
|
|
11
|
+
import * as i0 from "@angular/core";
|
|
12
|
+
import * as i1 from "@angular/router";
|
|
13
|
+
const routes = [
|
|
14
|
+
{
|
|
15
|
+
path: "",
|
|
16
|
+
component: LocationsComponent,
|
|
17
|
+
},
|
|
18
|
+
{
|
|
19
|
+
path: ":id",
|
|
20
|
+
children: [
|
|
21
|
+
{ path: "", component: DetailLocationComponent },
|
|
22
|
+
{ path: "zones", component: ZonesComponent },
|
|
23
|
+
{ path: "visits", component: VisitsComponent },
|
|
24
|
+
{ path: "plans", component: PlansComponent },
|
|
25
|
+
{
|
|
26
|
+
path: "plan-calibration",
|
|
27
|
+
component: CalibrationComponent,
|
|
28
|
+
},
|
|
29
|
+
{
|
|
30
|
+
path: "plan-edit",
|
|
31
|
+
component: EditPlanComponent,
|
|
32
|
+
},
|
|
33
|
+
{ path: "images", component: ImagesComponent },
|
|
34
|
+
],
|
|
35
|
+
},
|
|
36
|
+
];
|
|
37
|
+
export class LocationsRoutingModule {
|
|
38
|
+
}
|
|
39
|
+
LocationsRoutingModule.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LocationsRoutingModule, deps: [], target: i0.ɵɵFactoryTarget.NgModule });
|
|
40
|
+
LocationsRoutingModule.ɵmod = i0.ɵɵngDeclareNgModule({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LocationsRoutingModule, imports: [i1.RouterModule], exports: [RouterModule] });
|
|
41
|
+
LocationsRoutingModule.ɵinj = i0.ɵɵngDeclareInjector({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LocationsRoutingModule, imports: [[RouterModule.forChild(routes)], RouterModule] });
|
|
42
|
+
i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.2.7", ngImport: i0, type: LocationsRoutingModule, decorators: [{
|
|
43
|
+
type: NgModule,
|
|
44
|
+
args: [{
|
|
45
|
+
imports: [RouterModule.forChild(routes)],
|
|
46
|
+
exports: [RouterModule],
|
|
47
|
+
}]
|
|
48
|
+
}] });
|
|
49
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmd4LXNtYXJ0ZXJwbGFuLWxvY2F0aW9uLXJvdXRpbmcubW9kdWxlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcHJvamVjdHMvbmd4LXNtYXJ0ZXJwbGFuLWxvY2F0aW9ucy9zcmMvbGliL25neC1zbWFydGVycGxhbi1sb2NhdGlvbi1yb3V0aW5nLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0sZUFBZSxDQUFDO0FBQ3pDLE9BQU8sRUFBVSxZQUFZLEVBQUUsTUFBTSxpQkFBaUIsQ0FBQztBQUN2RCxPQUFPLEVBQUUsb0JBQW9CLEVBQUUsTUFBTSxzREFBc0QsQ0FBQztBQUM1RixPQUFPLEVBQUUsdUJBQXVCLEVBQUUsTUFBTSx3REFBd0QsQ0FBQztBQUNqRyxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSxrREFBa0QsQ0FBQztBQUNyRixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sc0NBQXNDLENBQUM7QUFDdkUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sNENBQTRDLENBQUM7QUFDaEYsT0FBTyxFQUFFLGNBQWMsRUFBRSxNQUFNLG9DQUFvQyxDQUFDO0FBQ3BFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxzQ0FBc0MsQ0FBQztBQUN2RSxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0sb0NBQW9DLENBQUM7OztBQUVwRSxNQUFNLE1BQU0sR0FBVztJQUNuQjtRQUNJLElBQUksRUFBRSxFQUFFO1FBQ1IsU0FBUyxFQUFFLGtCQUFrQjtLQUNoQztJQUNEO1FBQ0ksSUFBSSxFQUFFLEtBQUs7UUFDWCxRQUFRLEVBQUU7WUFDTixFQUFFLElBQUksRUFBRSxFQUFFLEVBQUUsU0FBUyxFQUFFLHVCQUF1QixFQUFFO1lBQ2hELEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFO1lBQzVDLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO1lBQzlDLEVBQUUsSUFBSSxFQUFFLE9BQU8sRUFBRSxTQUFTLEVBQUUsY0FBYyxFQUFFO1lBQzVDO2dCQUNJLElBQUksRUFBRSxrQkFBa0I7Z0JBQ3hCLFNBQVMsRUFBRSxvQkFBb0I7YUFDbEM7WUFDRDtnQkFDSSxJQUFJLEVBQUUsV0FBVztnQkFDakIsU0FBUyxFQUFFLGlCQUFpQjthQUMvQjtZQUNELEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxTQUFTLEVBQUUsZUFBZSxFQUFFO1NBQ2pEO0tBQ0o7Q0FDRixDQUFDO0FBTUosTUFBTSxPQUFPLHNCQUFzQjs7bUhBQXRCLHNCQUFzQjtvSEFBdEIsc0JBQXNCLHdDQUZyQixZQUFZO29IQUViLHNCQUFzQixZQUh0QixDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsTUFBTSxDQUFDLENBQUMsRUFDOUIsWUFBWTsyRkFFYixzQkFBc0I7a0JBSmxDLFFBQVE7bUJBQUM7b0JBQ04sT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDLFFBQVEsQ0FBQyxNQUFNLENBQUMsQ0FBQztvQkFDeEMsT0FBTyxFQUFFLENBQUMsWUFBWSxDQUFDO2lCQUMxQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IE5nTW9kdWxlIH0gZnJvbSBcIkBhbmd1bGFyL2NvcmVcIjtcclxuaW1wb3J0IHsgUm91dGVzLCBSb3V0ZXJNb2R1bGUgfSBmcm9tIFwiQGFuZ3VsYXIvcm91dGVyXCI7XHJcbmltcG9ydCB7IENhbGlicmF0aW9uQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9wbGFucy9jYWxpYnJhdGlvbi9jYWxpYnJhdGlvbi5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgRGV0YWlsTG9jYXRpb25Db21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2RldGFpbC1sb2NhdGlvbi9kZXRhaWwtbG9jYXRpb24uY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IEVkaXRQbGFuQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy9wbGFucy9lZGl0LXBsYW4vZWRpdC1wbGFuLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBJbWFnZXNDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL2ltYWdlcy9pbWFnZXMuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IExvY2F0aW9uc0NvbXBvbmVudCB9IGZyb20gXCIuL2NvbXBvbmVudHMvbG9jYXRpb25zL2xvY2F0aW9ucy5jb21wb25lbnRcIjtcclxuaW1wb3J0IHsgUGxhbnNDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL3BsYW5zL3BsYW5zLmNvbXBvbmVudFwiO1xyXG5pbXBvcnQgeyBWaXNpdHNDb21wb25lbnQgfSBmcm9tIFwiLi9jb21wb25lbnRzL3Zpc2l0cy92aXNpdHMuY29tcG9uZW50XCI7XHJcbmltcG9ydCB7IFpvbmVzQ29tcG9uZW50IH0gZnJvbSBcIi4vY29tcG9uZW50cy96b25lcy96b25lcy5jb21wb25lbnRcIjtcclxuXHJcbmNvbnN0IHJvdXRlczogUm91dGVzID0gW1xyXG4gICAge1xyXG4gICAgICAgIHBhdGg6IFwiXCIsXHJcbiAgICAgICAgY29tcG9uZW50OiBMb2NhdGlvbnNDb21wb25lbnQsXHJcbiAgICB9LFxyXG4gICAge1xyXG4gICAgICAgIHBhdGg6IFwiOmlkXCIsXHJcbiAgICAgICAgY2hpbGRyZW46IFtcclxuICAgICAgICAgICAgeyBwYXRoOiBcIlwiLCBjb21wb25lbnQ6IERldGFpbExvY2F0aW9uQ29tcG9uZW50IH0sXHJcbiAgICAgICAgICAgIHsgcGF0aDogXCJ6b25lc1wiLCBjb21wb25lbnQ6IFpvbmVzQ29tcG9uZW50IH0sXHJcbiAgICAgICAgICAgIHsgcGF0aDogXCJ2aXNpdHNcIiwgY29tcG9uZW50OiBWaXNpdHNDb21wb25lbnQgfSxcclxuICAgICAgICAgICAgeyBwYXRoOiBcInBsYW5zXCIsIGNvbXBvbmVudDogUGxhbnNDb21wb25lbnQgfSxcclxuICAgICAgICAgICAge1xyXG4gICAgICAgICAgICAgICAgcGF0aDogXCJwbGFuLWNhbGlicmF0aW9uXCIsXHJcbiAgICAgICAgICAgICAgICBjb21wb25lbnQ6IENhbGlicmF0aW9uQ29tcG9uZW50LFxyXG4gICAgICAgICAgICB9LFxyXG4gICAgICAgICAgICB7XHJcbiAgICAgICAgICAgICAgICBwYXRoOiBcInBsYW4tZWRpdFwiLFxyXG4gICAgICAgICAgICAgICAgY29tcG9uZW50OiBFZGl0UGxhbkNvbXBvbmVudCxcclxuICAgICAgICAgICAgfSxcclxuICAgICAgICAgICAgeyBwYXRoOiBcImltYWdlc1wiLCBjb21wb25lbnQ6IEltYWdlc0NvbXBvbmVudCB9LFxyXG4gICAgICAgIF0sXHJcbiAgICB9LFxyXG4gIF07XHJcbiAgXHJcbkBOZ01vZHVsZSh7XHJcbiAgICBpbXBvcnRzOiBbUm91dGVyTW9kdWxlLmZvckNoaWxkKHJvdXRlcyldLFxyXG4gICAgZXhwb3J0czogW1JvdXRlck1vZHVsZV0sXHJcbn0pXHJcbmV4cG9ydCBjbGFzcyBMb2NhdGlvbnNSb3V0aW5nTW9kdWxlIHsgfSJdfQ==
|