phoenix-ui-components 2.12.0 → 2.14.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/dist/components/phoenix-menu/config/config-slider/config-slider.component.d.ts +5 -0
  2. package/dist/components/phoenix-ui.module.d.ts +30 -27
  3. package/dist/components/ui-menu/event-data-explorer/event-data-explorer-dialog/event-data-explorer-dialog.component.d.ts +1 -1
  4. package/dist/components/ui-menu/event-data-explorer/event-data-explorer.component.d.ts +1 -1
  5. package/dist/components/ui-menu/index.d.ts +1 -0
  6. package/dist/components/ui-menu/make-picture/make-picture.component.d.ts +17 -0
  7. package/dist/components/ui-menu/overlay/overlay.component.d.ts +5 -1
  8. package/dist/components/ui-menu/tree-menu/tree-menu-item/tree-menu-item.component.d.ts +1 -1
  9. package/dist/esm2020/components/embed-menu/experiment-link/experiment-link.component.mjs +5 -2
  10. package/dist/esm2020/components/phoenix-menu/config/config-slider/config-slider.component.mjs +25 -1
  11. package/dist/esm2020/components/phoenix-menu/phoenix-menu-item/phoenix-menu-item.component.mjs +63 -52
  12. package/dist/esm2020/components/phoenix-ui.module.mjs +13 -2
  13. package/dist/esm2020/components/ui-menu/animate-camera/animate-camera.component.mjs +25 -8
  14. package/dist/esm2020/components/ui-menu/collections-info/collections-info-overlay/collections-info-overlay.component.mjs +5 -4
  15. package/dist/esm2020/components/ui-menu/event-selector/event-selector.component.mjs +3 -2
  16. package/dist/esm2020/components/ui-menu/experiment-info/experiment-info.component.mjs +2 -2
  17. package/dist/esm2020/components/ui-menu/index.mjs +2 -1
  18. package/dist/esm2020/components/ui-menu/make-picture/make-picture.component.mjs +88 -0
  19. package/dist/esm2020/components/ui-menu/overlay/overlay.component.mjs +14 -3
  20. package/dist/esm2020/components/ui-menu/overlay-view/overlay-view-window/overlay-view-window.component.mjs +4 -4
  21. package/dist/esm2020/components/ui-menu/share-link/share-link-dialog/share-link-dialog.component.mjs +4 -3
  22. package/dist/esm2020/components/ui-menu/ss-mode/ss-mode.component.mjs +3 -3
  23. package/dist/esm2020/components/ui-menu/ui-menu.component.mjs +10 -9
  24. package/dist/fesm2015/phoenix-ui-components.mjs +247 -81
  25. package/dist/fesm2015/phoenix-ui-components.mjs.map +1 -1
  26. package/dist/fesm2020/phoenix-ui-components.mjs +239 -81
  27. package/dist/fesm2020/phoenix-ui-components.mjs.map +1 -1
  28. package/dist/services/extras/event-data-import.d.ts +1 -1
  29. package/package.json +10 -6
@@ -2,10 +2,11 @@ import { Component, Input, ViewChild, ViewEncapsulation, } from '@angular/core';
2
2
  import * as i0 from "@angular/core";
3
3
  import * as i1 from "@angular/common";
4
4
  import * as i2 from "@angular/material/button";
5
- import * as i3 from "@angular/material/slide-toggle";
6
- import * as i4 from "@angular/material/checkbox";
7
- import * as i5 from "@rp3e11/ngx-slider";
8
- import * as i6 from "../config/config-slider/config-slider.component";
5
+ import * as i3 from "@angular/forms";
6
+ import * as i4 from "@angular/material/slide-toggle";
7
+ import * as i5 from "@angular/material/checkbox";
8
+ import * as i6 from "@rp3e11/ngx-slider";
9
+ import * as i7 from "../config/config-slider/config-slider.component";
9
10
  const _c0 = ["phoenixMenuItem"];
10
11
  function PhoenixMenuItemComponent_ng_container_3_ng_container_2_Template(rf, ctx) { if (rf & 1) {
11
12
  i0.ɵɵelementContainer(0);
@@ -61,8 +62,8 @@ function PhoenixMenuItemComponent_div_7_div_4_Template(rf, ctx) { if (rf & 1) {
61
62
  i0.ɵɵelementEnd();
62
63
  } }
63
64
  const _c1 = function (a0) { return { "font-weight-bold w-100": a0 }; };
64
- function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_span_1_Template(rf, ctx) { if (rf & 1) {
65
- i0.ɵɵelementStart(0, "span", 26);
65
+ function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_label_1_Template(rf, ctx) { if (rf & 1) {
66
+ i0.ɵɵelementStart(0, "label", 26);
66
67
  i0.ɵɵtext(1);
67
68
  i0.ɵɵelementEnd();
68
69
  } if (rf & 2) {
@@ -71,28 +72,28 @@ function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_span_1_Template(r
71
72
  i0.ɵɵadvance(1);
72
73
  i0.ɵɵtextInterpolate1(" ", config_r15.label, " ");
73
74
  } }
74
- function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_mat_checkbox_1_Template(rf, ctx) { if (rf & 1) {
75
+ function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_mat_checkbox_1_Template(rf, ctx) { if (rf & 1) {
75
76
  const _r28 = i0.ɵɵgetCurrentView();
76
77
  i0.ɵɵelementStart(0, "mat-checkbox", 9);
77
- i0.ɵɵlistener("change", function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_mat_checkbox_1_Template_mat_checkbox_change_0_listener($event) { i0.ɵɵrestoreView(_r28); const config_r15 = i0.ɵɵnextContext(3).$implicit; config_r15.onChange($event.checked); return i0.ɵɵresetView(config_r15.isChecked = $event.checked); });
78
+ i0.ɵɵlistener("change", function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_mat_checkbox_1_Template_mat_checkbox_change_0_listener($event) { i0.ɵɵrestoreView(_r28); const config_r15 = i0.ɵɵnextContext(3).$implicit; config_r15.onChange($event.checked); return i0.ɵɵresetView(config_r15.isChecked = $event.checked); });
78
79
  i0.ɵɵelementEnd();
79
80
  } if (rf & 2) {
80
81
  const config_r15 = i0.ɵɵnextContext(3).$implicit;
81
82
  i0.ɵɵproperty("checked", config_r15.isChecked);
82
83
  } }
83
- function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_app_config_slider_2_Template(rf, ctx) { if (rf & 1) {
84
+ function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_app_config_slider_2_Template(rf, ctx) { if (rf & 1) {
84
85
  const _r32 = i0.ɵɵgetCurrentView();
85
86
  i0.ɵɵelementStart(0, "app-config-slider", 34);
86
- i0.ɵɵlistener("onChange", function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_app_config_slider_2_Template_app_config_slider_onChange_0_listener($event) { i0.ɵɵrestoreView(_r32); const config_r15 = i0.ɵɵnextContext(3).$implicit; config_r15.onChange($event); return i0.ɵɵresetView(config_r15.value = $event); });
87
+ i0.ɵɵlistener("onChange", function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_app_config_slider_2_Template_app_config_slider_onChange_0_listener($event) { i0.ɵɵrestoreView(_r32); const config_r15 = i0.ɵɵnextContext(3).$implicit; config_r15.onChange($event); return i0.ɵɵresetView(config_r15.value = $event); });
87
88
  i0.ɵɵelementEnd();
88
89
  } if (rf & 2) {
89
90
  const config_r15 = i0.ɵɵnextContext(3).$implicit;
90
91
  i0.ɵɵproperty("value", config_r15.value)("min", config_r15.min)("max", config_r15.max)("step", config_r15.step)("allowCustomValue", config_r15.allowCustomValue);
91
92
  } }
92
- function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_button_3_Template(rf, ctx) { if (rf & 1) {
93
+ function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_button_3_Template(rf, ctx) { if (rf & 1) {
93
94
  const _r36 = i0.ɵɵgetCurrentView();
94
95
  i0.ɵɵelementStart(0, "button", 35);
95
- i0.ɵɵlistener("click", function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_button_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r36); const config_r15 = i0.ɵɵnextContext(3).$implicit; return i0.ɵɵresetView(config_r15.onClick()); });
96
+ i0.ɵɵlistener("click", function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_button_3_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r36); const config_r15 = i0.ɵɵnextContext(3).$implicit; return i0.ɵɵresetView(config_r15.onClick()); });
96
97
  i0.ɵɵtext(1);
97
98
  i0.ɵɵelementEnd();
98
99
  } if (rf & 2) {
@@ -100,51 +101,61 @@ function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_button_3_Te
100
101
  i0.ɵɵadvance(1);
101
102
  i0.ɵɵtextInterpolate1(" ", config_r15.label, " ");
102
103
  } }
103
- function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_input_4_Template(rf, ctx) { if (rf & 1) {
104
+ function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_input_4_Template(rf, ctx) { if (rf & 1) {
104
105
  const _r40 = i0.ɵɵgetCurrentView();
105
106
  i0.ɵɵelementStart(0, "input", 36);
106
- i0.ɵɵlistener("input", function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_input_4_Template_input_input_0_listener($event) { i0.ɵɵrestoreView(_r40); const config_r15 = i0.ɵɵnextContext(3).$implicit; config_r15.onChange($event.target.value); return i0.ɵɵresetView(config_r15.color = $event.target.value); });
107
+ i0.ɵɵlistener("input", function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_input_4_Template_input_input_0_listener($event) { i0.ɵɵrestoreView(_r40); const config_r15 = i0.ɵɵnextContext(3).$implicit; config_r15.onChange($event.target.value); return i0.ɵɵresetView(config_r15.color = $event.target.value); });
107
108
  i0.ɵɵelementEnd();
108
109
  } if (rf & 2) {
109
110
  const config_r15 = i0.ɵɵnextContext(3).$implicit;
110
111
  i0.ɵɵproperty("value", config_r15.color);
111
112
  } }
112
113
  const _c2 = function (a0, a1, a2) { return { floor: a0, ceil: a1, step: a2, animate: false }; };
113
- function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_div_5_Template(rf, ctx) { if (rf & 1) {
114
+ function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_div_5_Template(rf, ctx) { if (rf & 1) {
114
115
  const _r44 = i0.ɵɵgetCurrentView();
115
- i0.ɵɵelementStart(0, "div", 37)(1, "div", 38)(2, "input", 39);
116
- i0.ɵɵlistener("input", function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_div_5_Template_input_input_2_listener($event) { i0.ɵɵrestoreView(_r44); const config_r15 = i0.ɵɵnextContext(3).$implicit; config_r15.value = $event.target.value; return i0.ɵɵresetView(config_r15.onChange(config_r15)); });
116
+ i0.ɵɵelementStart(0, "div", 37)(1, "div", 38)(2, "mat-checkbox", 9);
117
+ i0.ɵɵlistener("change", function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_div_5_Template_mat_checkbox_change_2_listener($event) { i0.ɵɵrestoreView(_r44); const config_r15 = i0.ɵɵnextContext(3).$implicit; return i0.ɵɵresetView(config_r15.setEnableMin($event.checked)); });
117
118
  i0.ɵɵelementEnd();
118
- i0.ɵɵelementStart(3, "input", 40);
119
- i0.ɵɵlistener("input", function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_div_5_Template_input_input_3_listener($event) { i0.ɵɵrestoreView(_r44); const config_r15 = i0.ɵɵnextContext(3).$implicit; config_r15.highValue = $event.target.value; return i0.ɵɵresetView(config_r15.onChange(config_r15)); });
119
+ i0.ɵɵelementStart(3, "mat-checkbox", 9);
120
+ i0.ɵɵlistener("change", function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_div_5_Template_mat_checkbox_change_3_listener($event) { i0.ɵɵrestoreView(_r44); const config_r15 = i0.ɵɵnextContext(3).$implicit; return i0.ɵɵresetView(config_r15.setEnableMax($event.checked)); });
120
121
  i0.ɵɵelementEnd()();
121
- i0.ɵɵelementStart(4, "ngx-slider", 41);
122
- i0.ɵɵlistener("valueChange", function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_div_5_Template_ngx_slider_valueChange_4_listener($event) { i0.ɵɵrestoreView(_r44); const config_r15 = i0.ɵɵnextContext(3).$implicit; return i0.ɵɵresetView(config_r15.value = $event); })("highValueChange", function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_div_5_Template_ngx_slider_highValueChange_4_listener($event) { i0.ɵɵrestoreView(_r44); const config_r15 = i0.ɵɵnextContext(3).$implicit; return i0.ɵɵresetView(config_r15.highValue = $event); })("userChange", function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_div_5_Template_ngx_slider_userChange_4_listener($event) { i0.ɵɵrestoreView(_r44); const config_r15 = i0.ɵɵnextContext(3).$implicit; return i0.ɵɵresetView(config_r15.onChange($event)); });
122
+ i0.ɵɵelementStart(4, "div", 38)(5, "input", 39);
123
+ i0.ɵɵlistener("input", function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_div_5_Template_input_input_5_listener($event) { i0.ɵɵrestoreView(_r44); const config_r15 = i0.ɵɵnextContext(3).$implicit; config_r15.value = $event.target.value; return i0.ɵɵresetView(config_r15.onChange(config_r15)); });
124
+ i0.ɵɵelementEnd();
125
+ i0.ɵɵelementStart(6, "input", 40);
126
+ i0.ɵɵlistener("input", function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_div_5_Template_input_input_6_listener($event) { i0.ɵɵrestoreView(_r44); const config_r15 = i0.ɵɵnextContext(3).$implicit; config_r15.highValue = $event.target.value; return i0.ɵɵresetView(config_r15.onChange(config_r15)); });
127
+ i0.ɵɵelementEnd()();
128
+ i0.ɵɵelementStart(7, "ngx-slider", 41);
129
+ i0.ɵɵlistener("valueChange", function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_div_5_Template_ngx_slider_valueChange_7_listener($event) { i0.ɵɵrestoreView(_r44); const config_r15 = i0.ɵɵnextContext(3).$implicit; return i0.ɵɵresetView(config_r15.value = $event); })("highValueChange", function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_div_5_Template_ngx_slider_highValueChange_7_listener($event) { i0.ɵɵrestoreView(_r44); const config_r15 = i0.ɵɵnextContext(3).$implicit; return i0.ɵɵresetView(config_r15.highValue = $event); })("userChange", function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_div_5_Template_ngx_slider_userChange_7_listener($event) { i0.ɵɵrestoreView(_r44); const config_r15 = i0.ɵɵnextContext(3).$implicit; return i0.ɵɵresetView(config_r15.onChange($event)); });
123
130
  i0.ɵɵelementEnd()();
124
131
  } if (rf & 2) {
125
132
  const config_r15 = i0.ɵɵnextContext(3).$implicit;
126
133
  i0.ɵɵadvance(2);
134
+ i0.ɵɵproperty("checked", config_r15.enableMin);
135
+ i0.ɵɵadvance(1);
136
+ i0.ɵɵproperty("checked", config_r15.enableMax);
137
+ i0.ɵɵadvance(2);
127
138
  i0.ɵɵproperty("value", config_r15.value);
128
139
  i0.ɵɵadvance(1);
129
140
  i0.ɵɵproperty("value", config_r15.highValue);
130
141
  i0.ɵɵadvance(1);
131
- i0.ɵɵproperty("value", config_r15.value)("highValue", config_r15.highValue)("options", i0.ɵɵpureFunction3(5, _c2, config_r15.min, config_r15.max, config_r15.step));
142
+ i0.ɵɵproperty("value", config_r15.value)("highValue", config_r15.highValue)("options", i0.ɵɵpureFunction3(7, _c2, config_r15.min, config_r15.max, config_r15.step));
132
143
  } }
133
- function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_select_6_option_1_Template(rf, ctx) { if (rf & 1) {
144
+ function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_select_6_option_1_Template(rf, ctx) { if (rf & 1) {
134
145
  i0.ɵɵelementStart(0, "option", 44);
135
146
  i0.ɵɵtext(1);
136
147
  i0.ɵɵelementEnd();
137
148
  } if (rf & 2) {
138
- const singleOption_r55 = ctx.$implicit;
139
- i0.ɵɵproperty("value", singleOption_r55);
149
+ const singleOption_r59 = ctx.$implicit;
150
+ i0.ɵɵproperty("value", singleOption_r59);
140
151
  i0.ɵɵadvance(1);
141
- i0.ɵɵtextInterpolate1(" ", singleOption_r55, " ");
152
+ i0.ɵɵtextInterpolate1(" ", singleOption_r59, " ");
142
153
  } }
143
- function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_select_6_Template(rf, ctx) { if (rf & 1) {
144
- const _r58 = i0.ɵɵgetCurrentView();
154
+ function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_select_6_Template(rf, ctx) { if (rf & 1) {
155
+ const _r62 = i0.ɵɵgetCurrentView();
145
156
  i0.ɵɵelementStart(0, "select", 42);
146
- i0.ɵɵlistener("change", function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_select_6_Template_select_change_0_listener($event) { i0.ɵɵrestoreView(_r58); const config_r15 = i0.ɵɵnextContext(3).$implicit; return i0.ɵɵresetView(config_r15.onChange($event.target.value)); });
147
- i0.ɵɵtemplate(1, PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_select_6_option_1_Template, 2, 2, "option", 43);
157
+ i0.ɵɵlistener("change", function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_select_6_Template_select_change_0_listener($event) { i0.ɵɵrestoreView(_r62); const config_r15 = i0.ɵɵnextContext(3).$implicit; return i0.ɵɵresetView(config_r15.onChange($event.target.value)); });
158
+ i0.ɵɵtemplate(1, PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_select_6_option_1_Template, 2, 2, "option", 43);
148
159
  i0.ɵɵelementEnd();
149
160
  } if (rf & 2) {
150
161
  const config_r15 = i0.ɵɵnextContext(3).$implicit;
@@ -152,14 +163,14 @@ function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_select_6_Te
152
163
  i0.ɵɵproperty("ngForOf", config_r15.options);
153
164
  } }
154
165
  const _c3 = function (a0) { return { "p-0": a0 }; };
155
- function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_Template(rf, ctx) { if (rf & 1) {
166
+ function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_Template(rf, ctx) { if (rf & 1) {
156
167
  i0.ɵɵelementStart(0, "div", 27);
157
- i0.ɵɵtemplate(1, PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_mat_checkbox_1_Template, 1, 1, "mat-checkbox", 28);
158
- i0.ɵɵtemplate(2, PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_app_config_slider_2_Template, 1, 5, "app-config-slider", 29);
159
- i0.ɵɵtemplate(3, PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_button_3_Template, 2, 1, "button", 30);
160
- i0.ɵɵtemplate(4, PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_input_4_Template, 1, 1, "input", 31);
161
- i0.ɵɵtemplate(5, PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_div_5_Template, 5, 9, "div", 32);
162
- i0.ɵɵtemplate(6, PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_select_6_Template, 2, 1, "select", 33);
168
+ i0.ɵɵtemplate(1, PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_mat_checkbox_1_Template, 1, 1, "mat-checkbox", 28);
169
+ i0.ɵɵtemplate(2, PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_app_config_slider_2_Template, 1, 5, "app-config-slider", 29);
170
+ i0.ɵɵtemplate(3, PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_button_3_Template, 2, 1, "button", 30);
171
+ i0.ɵɵtemplate(4, PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_input_4_Template, 1, 1, "input", 31);
172
+ i0.ɵɵtemplate(5, PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_div_5_Template, 8, 11, "div", 32);
173
+ i0.ɵɵtemplate(6, PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_select_6_Template, 2, 1, "select", 33);
163
174
  i0.ɵɵelementEnd();
164
175
  } if (rf & 2) {
165
176
  const config_r15 = i0.ɵɵnextContext(2).$implicit;
@@ -177,10 +188,10 @@ function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_Template(rf
177
188
  i0.ɵɵadvance(1);
178
189
  i0.ɵɵproperty("ngSwitchCase", "select");
179
190
  } }
180
- function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_Template(rf, ctx) { if (rf & 1) {
181
- i0.ɵɵelementStart(0, "label", 23);
182
- i0.ɵɵtemplate(1, PhoenixMenuItemComponent_div_7_ng_container_6_label_1_span_1_Template, 2, 4, "span", 24);
183
- i0.ɵɵtemplate(2, PhoenixMenuItemComponent_div_7_ng_container_6_label_1_div_2_Template, 7, 9, "div", 25);
191
+ function PhoenixMenuItemComponent_div_7_ng_container_6_div_1_Template(rf, ctx) { if (rf & 1) {
192
+ i0.ɵɵelementStart(0, "div", 23);
193
+ i0.ɵɵtemplate(1, PhoenixMenuItemComponent_div_7_ng_container_6_div_1_label_1_Template, 2, 4, "label", 24);
194
+ i0.ɵɵtemplate(2, PhoenixMenuItemComponent_div_7_ng_container_6_div_1_div_2_Template, 7, 9, "div", 25);
184
195
  i0.ɵɵelementEnd();
185
196
  } if (rf & 2) {
186
197
  const config_r15 = i0.ɵɵnextContext().$implicit;
@@ -191,7 +202,7 @@ function PhoenixMenuItemComponent_div_7_ng_container_6_label_1_Template(rf, ctx)
191
202
  } }
192
203
  function PhoenixMenuItemComponent_div_7_ng_container_6_Template(rf, ctx) { if (rf & 1) {
193
204
  i0.ɵɵelementContainerStart(0, 21);
194
- i0.ɵɵtemplate(1, PhoenixMenuItemComponent_div_7_ng_container_6_label_1_Template, 3, 2, "label", 22);
205
+ i0.ɵɵtemplate(1, PhoenixMenuItemComponent_div_7_ng_container_6_div_1_Template, 3, 2, "div", 22);
195
206
  i0.ɵɵelementContainerEnd();
196
207
  } if (rf & 2) {
197
208
  const config_r15 = ctx.$implicit;
@@ -201,9 +212,9 @@ function PhoenixMenuItemComponent_div_7_ng_container_6_Template(rf, ctx) { if (r
201
212
  } }
202
213
  const _c4 = function (a0) { return { "top.px": a0 }; };
203
214
  function PhoenixMenuItemComponent_div_7_Template(rf, ctx) { if (rf & 1) {
204
- const _r63 = i0.ɵɵgetCurrentView();
215
+ const _r67 = i0.ɵɵgetCurrentView();
205
216
  i0.ɵɵelementStart(0, "div")(1, "button", 15);
206
- i0.ɵɵlistener("click", function PhoenixMenuItemComponent_div_7_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r63); const ctx_r62 = i0.ɵɵnextContext(); ctx_r62.calculateConfigTop(); return i0.ɵɵresetView(ctx_r62.currentNode.configActive = !ctx_r62.currentNode.configActive); });
217
+ i0.ɵɵlistener("click", function PhoenixMenuItemComponent_div_7_Template_button_click_1_listener() { i0.ɵɵrestoreView(_r67); const ctx_r66 = i0.ɵɵnextContext(); ctx_r66.calculateConfigTop(); return i0.ɵɵresetView(ctx_r66.currentNode.configActive = !ctx_r66.currentNode.configActive); });
207
218
  i0.ɵɵnamespaceSVG();
208
219
  i0.ɵɵelementStart(2, "svg");
209
220
  i0.ɵɵelement(3, "use", 16);
@@ -224,9 +235,9 @@ function PhoenixMenuItemComponent_div_7_Template(rf, ctx) { if (rf & 1) {
224
235
  } }
225
236
  const _c5 = function (a0) { return { expanded: a0 }; };
226
237
  function PhoenixMenuItemComponent_button_8_Template(rf, ctx) { if (rf & 1) {
227
- const _r65 = i0.ɵɵgetCurrentView();
238
+ const _r69 = i0.ɵɵgetCurrentView();
228
239
  i0.ɵɵelementStart(0, "button", 45);
229
- i0.ɵɵlistener("click", function PhoenixMenuItemComponent_button_8_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r65); const ctx_r64 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r64.currentNode.childrenActive = !ctx_r64.currentNode.childrenActive); });
240
+ i0.ɵɵlistener("click", function PhoenixMenuItemComponent_button_8_Template_button_click_0_listener() { i0.ɵɵrestoreView(_r69); const ctx_r68 = i0.ɵɵnextContext(); return i0.ɵɵresetView(ctx_r68.currentNode.childrenActive = !ctx_r68.currentNode.childrenActive); });
230
241
  i0.ɵɵnamespaceSVG();
231
242
  i0.ɵɵelementStart(1, "svg");
232
243
  i0.ɵɵelement(2, "use", 46);
@@ -238,8 +249,8 @@ function PhoenixMenuItemComponent_button_8_Template(rf, ctx) { if (rf & 1) {
238
249
  function PhoenixMenuItemComponent_div_9_app_phoenix_menu_item_1_Template(rf, ctx) { if (rf & 1) {
239
250
  i0.ɵɵelement(0, "app-phoenix-menu-item", 49);
240
251
  } if (rf & 2) {
241
- const childNode_r67 = ctx.$implicit;
242
- i0.ɵɵproperty("currentNode", childNode_r67);
252
+ const childNode_r71 = ctx.$implicit;
253
+ i0.ɵɵproperty("currentNode", childNode_r71);
243
254
  } }
244
255
  function PhoenixMenuItemComponent_div_9_Template(rf, ctx) { if (rf & 1) {
245
256
  i0.ɵɵelementStart(0, "div", 47);
@@ -272,7 +283,7 @@ PhoenixMenuItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Ph
272
283
  } if (rf & 2) {
273
284
  let _t;
274
285
  i0.ɵɵqueryRefresh(_t = i0.ɵɵloadQuery()) && (ctx.phoenixMenuItem = _t.first);
275
- } }, inputs: { currentNode: "currentNode" }, decls: 10, vars: 5, consts: [[1, "phoenix-menu-item"], ["phoenixMenuItem", ""], [1, "phoenix-menu-item-left", "align-items-center"], [4, "ngIf", "ngIfElse"], ["nodeName", ""], [1, "phoenix-menu-item-right"], [4, "ngIf"], ["class", "icon-wrapper icon-button btn-blank item-expand", "data-testid", "dropdown", 3, "ngClass", "click", 4, "ngIf"], ["class", "phoenix-menu-children", 4, "ngIf"], [3, "checked", "change"], [4, "ngTemplateOutlet"], [1, "d-flex", "w-100", "align-items-center"], ["class", "icon-wrapper item-icon", 4, "ngIf"], [1, "item-name", 3, "title"], [1, "icon-wrapper", "item-icon"], [1, "icon-wrapper", "icon-button", "btn-blank", "item-settings", 3, "click"], ["href", "assets/icons/gear.svg#gear"], ["class", "item-config-backdrop", 3, "click", 4, "ngIf"], [1, "item-config", 3, "hidden", "ngStyle"], [3, "ngSwitch", 4, "ngFor", "ngForOf"], [1, "item-config-backdrop", 3, "click"], [3, "ngSwitch"], ["class", "item-config-single", 4, "ngIf"], [1, "item-config-single"], ["class", "item-config-label", 3, "ngClass", 4, "ngIf"], ["class", "item-config-data", 3, "ngClass", 4, "ngIf"], [1, "item-config-label", 3, "ngClass"], [1, "item-config-data", 3, "ngClass"], [3, "checked", "change", 4, "ngSwitchCase"], [3, "value", "min", "max", "step", "allowCustomValue", "onChange", 4, "ngSwitchCase"], ["class", "w-100", "mat-button", "", "mat-stroked-button", "", 3, "click", 4, "ngSwitchCase"], ["type", "color", 3, "value", "input", 4, "ngSwitchCase"], ["class", "range-slider", 4, "ngSwitchCase"], ["class", "w-100", 3, "change", 4, "ngSwitchCase"], [3, "value", "min", "max", "step", "allowCustomValue", "onChange"], ["mat-button", "", "mat-stroked-button", "", 1, "w-100", 3, "click"], ["type", "color", 3, "value", "input"], [1, "range-slider"], [1, "range-slider-inputs", "d-flex", "justify-content-between"], ["type", "number", "placeholder", "Min", 1, "form-control", "form-control-sm", 3, "value", "input"], ["type", "number", "placeholder", "Max", 1, "form-control", "form-control-sm", 3, "value", "input"], [3, "value", "highValue", "options", "valueChange", "highValueChange", "userChange"], [1, "w-100", 3, "change"], [3, "value", 4, "ngFor", "ngForOf"], [3, "value"], ["data-testid", "dropdown", 1, "icon-wrapper", "icon-button", "btn-blank", "item-expand", 3, "ngClass", "click"], ["href", "assets/icons/expand.svg#expand"], [1, "phoenix-menu-children"], [3, "currentNode", 4, "ngFor", "ngForOf"], [3, "currentNode"]], template: function PhoenixMenuItemComponent_Template(rf, ctx) { if (rf & 1) {
286
+ } }, inputs: { currentNode: "currentNode" }, decls: 10, vars: 5, consts: [[1, "phoenix-menu-item"], ["phoenixMenuItem", ""], [1, "phoenix-menu-item-left", "align-items-center"], [4, "ngIf", "ngIfElse"], ["nodeName", ""], [1, "phoenix-menu-item-right"], [4, "ngIf"], ["class", "icon-wrapper icon-button btn-blank item-expand", "data-testid", "dropdown", 3, "ngClass", "click", 4, "ngIf"], ["class", "phoenix-menu-children", 4, "ngIf"], [3, "checked", "change"], [4, "ngTemplateOutlet"], [1, "d-flex", "w-100", "align-items-center"], ["class", "icon-wrapper item-icon", 4, "ngIf"], [1, "item-name", 3, "title"], [1, "icon-wrapper", "item-icon"], [1, "icon-wrapper", "icon-button", "btn-blank", "item-settings", 3, "click"], ["href", "assets/icons/gear.svg#gear"], ["class", "item-config-backdrop", 3, "click", 4, "ngIf"], [1, "item-config", 3, "hidden", "ngStyle"], [3, "ngSwitch", 4, "ngFor", "ngForOf"], [1, "item-config-backdrop", 3, "click"], [3, "ngSwitch"], ["class", "item-config-single", 4, "ngIf"], [1, "item-config-single"], ["class", "item-config-label", "for", "item-config-field", 3, "ngClass", 4, "ngIf"], ["class", "item-config-data", 3, "ngClass", 4, "ngIf"], ["for", "item-config-field", 1, "item-config-label", 3, "ngClass"], [1, "item-config-data", 3, "ngClass"], [3, "checked", "change", 4, "ngSwitchCase"], [3, "value", "min", "max", "step", "allowCustomValue", "onChange", 4, "ngSwitchCase"], ["class", "w-100", "mat-button", "", "mat-stroked-button", "", 3, "click", 4, "ngSwitchCase"], ["id", "item-config-field", "type", "color", 3, "value", "input", 4, "ngSwitchCase"], ["class", "range-slider", 4, "ngSwitchCase"], ["id", "item-config-field", "class", "w-100", 3, "change", 4, "ngSwitchCase"], [3, "value", "min", "max", "step", "allowCustomValue", "onChange"], ["mat-button", "", "mat-stroked-button", "", 1, "w-100", 3, "click"], ["id", "item-config-field", "type", "color", 3, "value", "input"], [1, "range-slider"], [1, "range-slider-inputs", "d-flex", "justify-content-between"], ["type", "number", "placeholder", "Min", "step", "config.step", 1, "form-control", "form-control-sm", 3, "value", "input"], ["type", "number", "placeholder", "Max", "step", "config.step", 1, "form-control", "form-control-sm", 3, "value", "input"], ["thumbLabel", "", 3, "value", "highValue", "options", "valueChange", "highValueChange", "userChange"], ["id", "item-config-field", 1, "w-100", 3, "change"], [3, "value", 4, "ngFor", "ngForOf"], [3, "value"], ["data-testid", "dropdown", 1, "icon-wrapper", "icon-button", "btn-blank", "item-expand", 3, "ngClass", "click"], ["href", "assets/icons/expand.svg#expand"], [1, "phoenix-menu-children"], [3, "currentNode", 4, "ngFor", "ngForOf"], [3, "currentNode"]], template: function PhoenixMenuItemComponent_Template(rf, ctx) { if (rf & 1) {
276
287
  i0.ɵɵelementStart(0, "div", 0, 1)(2, "div", 2);
277
288
  i0.ɵɵtemplate(3, PhoenixMenuItemComponent_ng_container_3_Template, 3, 2, "ng-container", 3);
278
289
  i0.ɵɵtemplate(4, PhoenixMenuItemComponent_ng_template_4_Template, 4, 3, "ng-template", null, 4, i0.ɵɵtemplateRefExtractor);
@@ -292,14 +303,14 @@ PhoenixMenuItemComponent.ɵcmp = /*@__PURE__*/ i0.ɵɵdefineComponent({ type: Ph
292
303
  i0.ɵɵproperty("ngIf", ctx.currentNode.children.length > 0);
293
304
  i0.ɵɵadvance(1);
294
305
  i0.ɵɵproperty("ngIf", ctx.currentNode.childrenActive);
295
- } }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgTemplateOutlet, i1.NgStyle, i1.NgSwitch, i1.NgSwitchCase, i2.MatButton, i3.MatSlideToggle, i4.MatCheckbox, i5.SliderComponent, PhoenixMenuItemComponent, i6.ConfigSliderComponent], styles: [".phoenix-menu-item{width:100%;padding:.6rem;background:var(--phoenix-background-color-secondary);color:var(--phoenix-text-color);font-size:.8rem;transition:all .5s;display:flex;justify-content:space-between;align-items:center}.phoenix-menu-item-left{display:flex;justify-content:flex-start;min-width:0;padding-right:.5rem;overflow:hidden}.phoenix-menu-item-left .item-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phoenix-menu-item-left .item-icon{margin-right:.2rem}.phoenix-menu-item-right{display:flex;justify-content:flex-end}.phoenix-menu-item-right .item-expand.expanded{transform:scaleY(-1)}.phoenix-menu-item-right .item-settings{margin-right:.2rem}.phoenix-menu-item-right .item-config-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:110}.phoenix-menu-item-right .item-config{position:absolute;margin-top:-5rem;right:100%;width:14rem;padding:.5rem;background:var(--phoenix-background-color-secondary);color:var(--phoenix-text-color-secondary);box-shadow:var(--phoenix-box-shadow);display:flex;flex-direction:column;z-index:120}.phoenix-menu-item-right .item-config>*{margin-bottom:.4rem}.phoenix-menu-item-right .item-config>*:last-child{margin-bottom:0}.phoenix-menu-item-right .item-config .item-config-single{display:flex;flex-direction:row}.phoenix-menu-item-right .item-config .item-config-single .item-config-label{width:30%}.phoenix-menu-item-right .item-config .item-config-single .item-config-data{flex-grow:1;padding-left:.5rem}.phoenix-menu-item .icon-wrapper{display:inline-block;width:1.3rem;height:1.3rem;padding:.23rem;transition:all .4s}.phoenix-menu-item .icon-wrapper.icon-button:hover{background:var(--phoenix-options-icon-bg);border-radius:40%;cursor:pointer}.phoenix-menu-item .icon-wrapper svg{width:100%;height:100%;vertical-align:top}.phoenix-menu-item .mat-slide-toggle-bar{width:30px!important}.phoenix-menu-item .mat-slide-toggle-thumb{width:15px!important;height:15px!important;position:absolute;top:2px}.phoenix-menu-item .mat-slider-horizontal{min-width:0;width:100%;height:20px}.phoenix-menu-item .mat-slider-horizontal .mat-slider-wrapper{top:10px}.phoenix-menu-item label.mat-checkbox-layout{margin:0}@media screen and (max-width: 768px){.phoenix-menu-item{font-size:.75rem;padding:.5rem}.phoenix-menu-item .icon-wrapper{width:1rem;height:1rem;padding:.15rem}}.phoenix-menu-children{margin-left:.5rem;border-left:1px solid var(--phoenix-accent)}.range-slider .range-slider-inputs{gap:20%}.range-slider .ngx-slider .ngx-slider-bar{background:var(--phoenix-text-color-secondary);height:.2rem}.range-slider .ngx-slider .ngx-slider-selection{background:var(--phoenix-accent)}.range-slider .ngx-slider .ngx-slider-pointer{width:1rem;height:1rem;top:-.45rem;bottom:0;background-color:var(--phoenix-accent)}.range-slider .ngx-slider .ngx-slider-pointer:after{display:none}.range-slider .ngx-slider .ngx-slider-bubble{color:var(--phoenix-text-color);font-size:.8rem}.range-slider .ngx-slider .ngx-slider-bubble.ngx-slider-limit{color:var(--phoenix-text-color-secondary)}\n"], encapsulation: 2 });
306
+ } }, dependencies: [i1.NgClass, i1.NgForOf, i1.NgIf, i1.NgTemplateOutlet, i1.NgStyle, i1.NgSwitch, i1.NgSwitchCase, i2.MatButton, i3.NgSelectOption, i3.ɵNgSelectMultipleOption, i4.MatSlideToggle, i5.MatCheckbox, i6.SliderComponent, PhoenixMenuItemComponent, i7.ConfigSliderComponent], styles: [".phoenix-menu-item{width:100%;padding:.6rem;background:var(--phoenix-background-color-secondary);color:var(--phoenix-text-color);font-size:.8rem;transition:all .5s;display:flex;justify-content:space-between;align-items:center}.phoenix-menu-item-left{display:flex;justify-content:flex-start;min-width:0;padding-right:.5rem;overflow:hidden}.phoenix-menu-item-left .item-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phoenix-menu-item-left .item-icon{margin-right:.2rem}.phoenix-menu-item-right{display:flex;justify-content:flex-end}.phoenix-menu-item-right .item-expand.expanded{transform:scaleY(-1)}.phoenix-menu-item-right .item-settings{margin-right:.2rem}.phoenix-menu-item-right .item-config-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:110}.phoenix-menu-item-right .item-config{position:absolute;margin-top:-5rem;right:100%;width:14rem;padding:.5rem;background:var(--phoenix-background-color-secondary);color:var(--phoenix-text-color-secondary);box-shadow:var(--phoenix-box-shadow);display:flex;flex-direction:column;z-index:120}.phoenix-menu-item-right .item-config>*{margin-bottom:.4rem}.phoenix-menu-item-right .item-config>*:last-child{margin-bottom:0}.phoenix-menu-item-right .item-config .item-config-single{display:flex;flex-direction:row}.phoenix-menu-item-right .item-config .item-config-single .item-config-label{width:30%}.phoenix-menu-item-right .item-config .item-config-single .item-config-data{flex-grow:1;padding-left:.5rem}.phoenix-menu-item .icon-wrapper{display:inline-block;width:1.3rem;height:1.3rem;padding:.23rem;transition:all .4s}.phoenix-menu-item .icon-wrapper.icon-button:hover{background:var(--phoenix-options-icon-bg);border-radius:40%;cursor:pointer}.phoenix-menu-item .icon-wrapper svg{width:100%;height:100%;vertical-align:top}.phoenix-menu-item .mat-slide-toggle-bar{width:30px!important}.phoenix-menu-item .mat-slide-toggle-thumb{width:15px!important;height:15px!important;position:absolute;top:2px}.phoenix-menu-item .mat-slider-horizontal{min-width:0;width:100%;height:20px}.phoenix-menu-item .mat-slider-horizontal .mat-slider-wrapper{top:10px}.phoenix-menu-item label.mat-checkbox-layout{margin:0}@media screen and (max-width: 768px){.phoenix-menu-item{font-size:.75rem;padding:.5rem}.phoenix-menu-item .icon-wrapper{width:1rem;height:1rem;padding:.15rem}}.phoenix-menu-children{margin-left:.5rem;border-left:1px solid var(--phoenix-accent)}.range-slider .range-slider-inputs{gap:20%}.range-slider .ngx-slider .ngx-slider-bar{background:var(--phoenix-text-color-secondary);height:.2rem}.range-slider .ngx-slider .ngx-slider-selection{background:var(--phoenix-accent)}.range-slider .ngx-slider .ngx-slider-pointer{width:1rem;height:1rem;top:-.45rem;bottom:0;background-color:var(--phoenix-accent)}.range-slider .ngx-slider .ngx-slider-pointer:after{display:none}.range-slider .ngx-slider .ngx-slider-bubble{color:var(--phoenix-text-color);font-size:.8rem}.range-slider .ngx-slider .ngx-slider-bubble.ngx-slider-limit{color:var(--phoenix-text-color-secondary)}\n"], encapsulation: 2 });
296
307
  (function () { (typeof ngDevMode === "undefined" || ngDevMode) && i0.ɵsetClassMetadata(PhoenixMenuItemComponent, [{
297
308
  type: Component,
298
- args: [{ selector: 'app-phoenix-menu-item', encapsulation: ViewEncapsulation.None, template: "<div class=\"phoenix-menu-item\" #phoenixMenuItem>\n <div class=\"phoenix-menu-item-left align-items-center\">\n <!-- If the item has some toggle function -->\n <ng-container *ngIf=\"currentNode.onToggle; else nodeName\">\n <mat-slide-toggle\n [checked]=\"currentNode.toggleState\"\n (change)=\"currentNode.toggleSelfAndDescendants($event.checked)\"\n >\n <ng-container *ngTemplateOutlet=\"nodeName\"></ng-container>\n </mat-slide-toggle>\n </ng-container>\n <!-- If the item has no toggle function -->\n <ng-template #nodeName>\n <span class=\"d-flex w-100 align-items-center\">\n <span *ngIf=\"currentNode.icon\" class=\"icon-wrapper item-icon\">\n <svg>\n <use\n attr.href=\"assets/icons/{{ currentNode.icon }}.svg#{{\n currentNode.icon\n }}\"\n ></use>\n </svg>\n </span>\n <span class=\"item-name\" [title]=\"currentNode.name\">{{\n currentNode.name\n }}</span>\n </span>\n </ng-template>\n </div>\n <div class=\"phoenix-menu-item-right\">\n <div *ngIf=\"currentNode.configs.length > 0\">\n <button\n class=\"icon-wrapper icon-button btn-blank item-settings\"\n (click)=\"\n calculateConfigTop();\n currentNode.configActive = !currentNode.configActive\n \"\n >\n <svg>\n <use href=\"assets/icons/gear.svg#gear\"></use>\n </svg>\n </button>\n <div\n class=\"item-config-backdrop\"\n *ngIf=\"currentNode.configActive\"\n (click)=\"currentNode.configActive = false\"\n ></div>\n <div\n class=\"item-config\"\n [hidden]=\"!currentNode.configActive\"\n [ngStyle]=\"{ 'top.px': configTop }\"\n >\n <ng-container\n *ngFor=\"let config of castConfigsToAny(currentNode.configs)\"\n [ngSwitch]=\"config.type\"\n >\n <!-- Config types -->\n <label class=\"item-config-single\" *ngIf=\"!config.hidden\">\n <span\n class=\"item-config-label\"\n *ngIf=\"config.type !== 'button'\"\n [ngClass]=\"{ 'font-weight-bold w-100': config.type === 'label' }\"\n >\n {{ config.label }}\n </span>\n <div\n class=\"item-config-data\"\n [ngClass]=\"{ 'p-0': config.type === 'button' }\"\n *ngIf=\"config.type !== 'label'\"\n >\n <mat-checkbox\n *ngSwitchCase=\"'checkbox'\"\n [checked]=\"config.isChecked\"\n (change)=\"\n config.onChange($event.checked);\n config.isChecked = $event.checked\n \"\n ></mat-checkbox>\n\n <app-config-slider\n *ngSwitchCase=\"'slider'\"\n [value]=\"config.value\"\n (onChange)=\"config.onChange($event); config.value = $event\"\n [min]=\"config.min\"\n [max]=\"config.max\"\n [step]=\"config.step\"\n [allowCustomValue]=\"config.allowCustomValue\"\n >\n </app-config-slider>\n\n <button\n *ngSwitchCase=\"'button'\"\n class=\"w-100\"\n (click)=\"config.onClick()\"\n mat-button\n mat-stroked-button\n >\n {{ config.label }}\n </button>\n\n <input\n *ngSwitchCase=\"'color'\"\n type=\"color\"\n [value]=\"config.color\"\n (input)=\"\n config.onChange($event.target.value);\n config.color = $event.target.value\n \"\n />\n\n <div *ngSwitchCase=\"'rangeSlider'\" class=\"range-slider\">\n <div class=\"range-slider-inputs d-flex justify-content-between\">\n <input\n type=\"number\"\n placeholder=\"Min\"\n class=\"form-control form-control-sm\"\n [value]=\"config.value\"\n (input)=\"\n config.value = $event.target.value;\n config.onChange(config)\n \"\n />\n <input\n type=\"number\"\n placeholder=\"Max\"\n class=\"form-control form-control-sm\"\n [value]=\"config.highValue\"\n (input)=\"\n config.highValue = $event.target.value;\n config.onChange(config)\n \"\n />\n </div>\n <ngx-slider\n [(value)]=\"config.value\"\n [(highValue)]=\"config.highValue\"\n (userChange)=\"config.onChange($event)\"\n [options]=\"{\n floor: config.min,\n ceil: config.max,\n step: config.step,\n animate: false\n }\"\n ></ngx-slider>\n </div>\n\n <select\n *ngSwitchCase=\"'select'\"\n class=\"w-100\"\n (change)=\"config.onChange($event.target.value)\"\n >\n <option\n *ngFor=\"let singleOption of config.options\"\n [value]=\"singleOption\"\n >\n {{ singleOption }}\n </option>\n </select>\n </div>\n </label>\n <!-- Config types END -->\n </ng-container>\n </div>\n </div>\n <button\n class=\"icon-wrapper icon-button btn-blank item-expand\"\n *ngIf=\"currentNode.children.length > 0\"\n (click)=\"currentNode.childrenActive = !currentNode.childrenActive\"\n [ngClass]=\"{ expanded: currentNode.childrenActive }\"\n data-testid=\"dropdown\"\n >\n <svg>\n <use href=\"assets/icons/expand.svg#expand\"></use>\n </svg>\n </button>\n </div>\n</div>\n<div class=\"phoenix-menu-children\" *ngIf=\"currentNode.childrenActive\">\n <app-phoenix-menu-item\n *ngFor=\"let childNode of currentNode.children\"\n [currentNode]=\"childNode\"\n >\n </app-phoenix-menu-item>\n</div>\n", styles: [".phoenix-menu-item{width:100%;padding:.6rem;background:var(--phoenix-background-color-secondary);color:var(--phoenix-text-color);font-size:.8rem;transition:all .5s;display:flex;justify-content:space-between;align-items:center}.phoenix-menu-item-left{display:flex;justify-content:flex-start;min-width:0;padding-right:.5rem;overflow:hidden}.phoenix-menu-item-left .item-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phoenix-menu-item-left .item-icon{margin-right:.2rem}.phoenix-menu-item-right{display:flex;justify-content:flex-end}.phoenix-menu-item-right .item-expand.expanded{transform:scaleY(-1)}.phoenix-menu-item-right .item-settings{margin-right:.2rem}.phoenix-menu-item-right .item-config-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:110}.phoenix-menu-item-right .item-config{position:absolute;margin-top:-5rem;right:100%;width:14rem;padding:.5rem;background:var(--phoenix-background-color-secondary);color:var(--phoenix-text-color-secondary);box-shadow:var(--phoenix-box-shadow);display:flex;flex-direction:column;z-index:120}.phoenix-menu-item-right .item-config>*{margin-bottom:.4rem}.phoenix-menu-item-right .item-config>*:last-child{margin-bottom:0}.phoenix-menu-item-right .item-config .item-config-single{display:flex;flex-direction:row}.phoenix-menu-item-right .item-config .item-config-single .item-config-label{width:30%}.phoenix-menu-item-right .item-config .item-config-single .item-config-data{flex-grow:1;padding-left:.5rem}.phoenix-menu-item .icon-wrapper{display:inline-block;width:1.3rem;height:1.3rem;padding:.23rem;transition:all .4s}.phoenix-menu-item .icon-wrapper.icon-button:hover{background:var(--phoenix-options-icon-bg);border-radius:40%;cursor:pointer}.phoenix-menu-item .icon-wrapper svg{width:100%;height:100%;vertical-align:top}.phoenix-menu-item .mat-slide-toggle-bar{width:30px!important}.phoenix-menu-item .mat-slide-toggle-thumb{width:15px!important;height:15px!important;position:absolute;top:2px}.phoenix-menu-item .mat-slider-horizontal{min-width:0;width:100%;height:20px}.phoenix-menu-item .mat-slider-horizontal .mat-slider-wrapper{top:10px}.phoenix-menu-item label.mat-checkbox-layout{margin:0}@media screen and (max-width: 768px){.phoenix-menu-item{font-size:.75rem;padding:.5rem}.phoenix-menu-item .icon-wrapper{width:1rem;height:1rem;padding:.15rem}}.phoenix-menu-children{margin-left:.5rem;border-left:1px solid var(--phoenix-accent)}.range-slider .range-slider-inputs{gap:20%}.range-slider .ngx-slider .ngx-slider-bar{background:var(--phoenix-text-color-secondary);height:.2rem}.range-slider .ngx-slider .ngx-slider-selection{background:var(--phoenix-accent)}.range-slider .ngx-slider .ngx-slider-pointer{width:1rem;height:1rem;top:-.45rem;bottom:0;background-color:var(--phoenix-accent)}.range-slider .ngx-slider .ngx-slider-pointer:after{display:none}.range-slider .ngx-slider .ngx-slider-bubble{color:var(--phoenix-text-color);font-size:.8rem}.range-slider .ngx-slider .ngx-slider-bubble.ngx-slider-limit{color:var(--phoenix-text-color-secondary)}\n"] }]
309
+ args: [{ selector: 'app-phoenix-menu-item', encapsulation: ViewEncapsulation.None, template: "<div class=\"phoenix-menu-item\" #phoenixMenuItem>\n <div class=\"phoenix-menu-item-left align-items-center\">\n <!-- If the item has some toggle function -->\n <ng-container *ngIf=\"currentNode.onToggle; else nodeName\">\n <mat-slide-toggle\n [checked]=\"currentNode.toggleState\"\n (change)=\"currentNode.toggleSelfAndDescendants($event.checked)\"\n >\n <ng-container *ngTemplateOutlet=\"nodeName\"></ng-container>\n </mat-slide-toggle>\n </ng-container>\n <!-- If the item has no toggle function -->\n <ng-template #nodeName>\n <span class=\"d-flex w-100 align-items-center\">\n <span *ngIf=\"currentNode.icon\" class=\"icon-wrapper item-icon\">\n <svg>\n <use\n attr.href=\"assets/icons/{{ currentNode.icon }}.svg#{{\n currentNode.icon\n }}\"\n ></use>\n </svg>\n </span>\n <span class=\"item-name\" [title]=\"currentNode.name\">{{\n currentNode.name\n }}</span>\n </span>\n </ng-template>\n </div>\n <div class=\"phoenix-menu-item-right\">\n <div *ngIf=\"currentNode.configs.length > 0\">\n <button\n class=\"icon-wrapper icon-button btn-blank item-settings\"\n (click)=\"\n calculateConfigTop();\n currentNode.configActive = !currentNode.configActive\n \"\n >\n <svg>\n <use href=\"assets/icons/gear.svg#gear\"></use>\n </svg>\n </button>\n <div\n class=\"item-config-backdrop\"\n *ngIf=\"currentNode.configActive\"\n (click)=\"currentNode.configActive = false\"\n ></div>\n <div\n class=\"item-config\"\n [hidden]=\"!currentNode.configActive\"\n [ngStyle]=\"{ 'top.px': configTop }\"\n >\n <ng-container\n *ngFor=\"let config of castConfigsToAny(currentNode.configs)\"\n [ngSwitch]=\"config.type\"\n >\n <!-- Config types -->\n <div class=\"item-config-single\" *ngIf=\"!config.hidden\">\n <label\n class=\"item-config-label\"\n for=\"item-config-field\"\n *ngIf=\"config.type !== 'button'\"\n [ngClass]=\"{ 'font-weight-bold w-100': config.type === 'label' }\"\n >\n {{ config.label }}\n </label>\n <div\n class=\"item-config-data\"\n [ngClass]=\"{ 'p-0': config.type === 'button' }\"\n *ngIf=\"config.type !== 'label'\"\n >\n <mat-checkbox\n *ngSwitchCase=\"'checkbox'\"\n [checked]=\"config.isChecked\"\n (change)=\"\n config.onChange($event.checked);\n config.isChecked = $event.checked\n \"\n ></mat-checkbox>\n\n <app-config-slider\n *ngSwitchCase=\"'slider'\"\n [value]=\"config.value\"\n (onChange)=\"config.onChange($event); config.value = $event\"\n [min]=\"config.min\"\n [max]=\"config.max\"\n [step]=\"config.step\"\n [allowCustomValue]=\"config.allowCustomValue\"\n >\n </app-config-slider>\n\n <button\n *ngSwitchCase=\"'button'\"\n class=\"w-100\"\n (click)=\"config.onClick()\"\n mat-button\n mat-stroked-button\n >\n {{ config.label }}\n </button>\n\n <input\n *ngSwitchCase=\"'color'\"\n id=\"item-config-field\"\n type=\"color\"\n [value]=\"config.color\"\n (input)=\"\n config.onChange($event.target.value);\n config.color = $event.target.value\n \"\n />\n\n <div *ngSwitchCase=\"'rangeSlider'\" class=\"range-slider\">\n <div class=\"range-slider-inputs d-flex justify-content-between\">\n <mat-checkbox\n [checked]=\"config.enableMin\"\n (change)=\"config.setEnableMin($event.checked)\"\n ></mat-checkbox>\n <mat-checkbox\n [checked]=\"config.enableMax\"\n (change)=\"config.setEnableMax($event.checked)\"\n ></mat-checkbox>\n </div>\n <div class=\"range-slider-inputs d-flex justify-content-between\">\n <input\n type=\"number\"\n placeholder=\"Min\"\n class=\"form-control form-control-sm\"\n [value]=\"config.value\"\n (input)=\"\n config.value = $event.target.value;\n config.onChange(config)\n \"\n step=\"config.step\"\n />\n <input\n type=\"number\"\n placeholder=\"Max\"\n class=\"form-control form-control-sm\"\n [value]=\"config.highValue\"\n (input)=\"\n config.highValue = $event.target.value;\n config.onChange(config)\n \"\n step=\"config.step\"\n />\n </div>\n <ngx-slider\n [(value)]=\"config.value\"\n [(highValue)]=\"config.highValue\"\n (userChange)=\"config.onChange($event)\"\n thumbLabel\n [options]=\"{\n floor: config.min,\n ceil: config.max,\n step: config.step,\n animate: false\n }\"\n ></ngx-slider>\n </div>\n\n <select\n *ngSwitchCase=\"'select'\"\n id=\"item-config-field\"\n class=\"w-100\"\n (change)=\"config.onChange($event.target.value)\"\n >\n <option\n *ngFor=\"let singleOption of config.options\"\n [value]=\"singleOption\"\n >\n {{ singleOption }}\n </option>\n </select>\n </div>\n </div>\n <!-- Config types END -->\n </ng-container>\n </div>\n </div>\n <button\n class=\"icon-wrapper icon-button btn-blank item-expand\"\n *ngIf=\"currentNode.children.length > 0\"\n (click)=\"currentNode.childrenActive = !currentNode.childrenActive\"\n [ngClass]=\"{ expanded: currentNode.childrenActive }\"\n data-testid=\"dropdown\"\n >\n <svg>\n <use href=\"assets/icons/expand.svg#expand\"></use>\n </svg>\n </button>\n </div>\n</div>\n<div class=\"phoenix-menu-children\" *ngIf=\"currentNode.childrenActive\">\n <app-phoenix-menu-item\n *ngFor=\"let childNode of currentNode.children\"\n [currentNode]=\"childNode\"\n >\n </app-phoenix-menu-item>\n</div>\n", styles: [".phoenix-menu-item{width:100%;padding:.6rem;background:var(--phoenix-background-color-secondary);color:var(--phoenix-text-color);font-size:.8rem;transition:all .5s;display:flex;justify-content:space-between;align-items:center}.phoenix-menu-item-left{display:flex;justify-content:flex-start;min-width:0;padding-right:.5rem;overflow:hidden}.phoenix-menu-item-left .item-name{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.phoenix-menu-item-left .item-icon{margin-right:.2rem}.phoenix-menu-item-right{display:flex;justify-content:flex-end}.phoenix-menu-item-right .item-expand.expanded{transform:scaleY(-1)}.phoenix-menu-item-right .item-settings{margin-right:.2rem}.phoenix-menu-item-right .item-config-backdrop{position:fixed;top:0;left:0;width:100vw;height:100vh;z-index:110}.phoenix-menu-item-right .item-config{position:absolute;margin-top:-5rem;right:100%;width:14rem;padding:.5rem;background:var(--phoenix-background-color-secondary);color:var(--phoenix-text-color-secondary);box-shadow:var(--phoenix-box-shadow);display:flex;flex-direction:column;z-index:120}.phoenix-menu-item-right .item-config>*{margin-bottom:.4rem}.phoenix-menu-item-right .item-config>*:last-child{margin-bottom:0}.phoenix-menu-item-right .item-config .item-config-single{display:flex;flex-direction:row}.phoenix-menu-item-right .item-config .item-config-single .item-config-label{width:30%}.phoenix-menu-item-right .item-config .item-config-single .item-config-data{flex-grow:1;padding-left:.5rem}.phoenix-menu-item .icon-wrapper{display:inline-block;width:1.3rem;height:1.3rem;padding:.23rem;transition:all .4s}.phoenix-menu-item .icon-wrapper.icon-button:hover{background:var(--phoenix-options-icon-bg);border-radius:40%;cursor:pointer}.phoenix-menu-item .icon-wrapper svg{width:100%;height:100%;vertical-align:top}.phoenix-menu-item .mat-slide-toggle-bar{width:30px!important}.phoenix-menu-item .mat-slide-toggle-thumb{width:15px!important;height:15px!important;position:absolute;top:2px}.phoenix-menu-item .mat-slider-horizontal{min-width:0;width:100%;height:20px}.phoenix-menu-item .mat-slider-horizontal .mat-slider-wrapper{top:10px}.phoenix-menu-item label.mat-checkbox-layout{margin:0}@media screen and (max-width: 768px){.phoenix-menu-item{font-size:.75rem;padding:.5rem}.phoenix-menu-item .icon-wrapper{width:1rem;height:1rem;padding:.15rem}}.phoenix-menu-children{margin-left:.5rem;border-left:1px solid var(--phoenix-accent)}.range-slider .range-slider-inputs{gap:20%}.range-slider .ngx-slider .ngx-slider-bar{background:var(--phoenix-text-color-secondary);height:.2rem}.range-slider .ngx-slider .ngx-slider-selection{background:var(--phoenix-accent)}.range-slider .ngx-slider .ngx-slider-pointer{width:1rem;height:1rem;top:-.45rem;bottom:0;background-color:var(--phoenix-accent)}.range-slider .ngx-slider .ngx-slider-pointer:after{display:none}.range-slider .ngx-slider .ngx-slider-bubble{color:var(--phoenix-text-color);font-size:.8rem}.range-slider .ngx-slider .ngx-slider-bubble.ngx-slider-limit{color:var(--phoenix-text-color-secondary)}\n"] }]
299
310
  }], function () { return [{ type: i0.ChangeDetectorRef }]; }, { currentNode: [{
300
311
  type: Input
301
312
  }], phoenixMenuItem: [{
302
313
  type: ViewChild,
303
314
  args: ['phoenixMenuItem']
304
315
  }] }); })();
305
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvZW5peC1tZW51LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL2NvbXBvbmVudHMvcGhvZW5peC1tZW51L3Bob2VuaXgtbWVudS1pdGVtL3Bob2VuaXgtbWVudS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYi9jb21wb25lbnRzL3Bob2VuaXgtbWVudS9waG9lbml4LW1lbnUtaXRlbS9waG9lbml4LW1lbnUtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVULEtBQUssRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7O0lDQ2Ysd0JBQTBEOzs7O0lBTDlELDZCQUEwRDtJQUN4RCwyQ0FHQztJQURDLGdNQUFVLGVBQUEsMkRBQW9ELENBQUEsSUFBQztJQUUvRCwyR0FBMEQ7SUFDNUQsaUJBQW1CO0lBQ3JCLDBCQUFlOzs7O0lBTFgsZUFBbUM7SUFBbkMsd0RBQW1DO0lBR3BCLGVBQTBCO0lBQTFCLHNDQUEwQjs7O0lBTXpDLGdDQUE4RDtJQUM1RCxtQkFBSztJQUFMLDJCQUFLO0lBQ0gsc0JBSU87SUFDVCxpQkFBTSxFQUFBOzs7SUFKRixlQUVHO0lBRkgsb0hBRUc7OztJQU5YLGdDQUE4QztJQUM1QywwRkFRTztJQUNQLGdDQUFtRDtJQUFBLFlBRWpEO0lBQUEsaUJBQU8sRUFBQTs7O0lBWEYsZUFBc0I7SUFBdEIsOENBQXNCO0lBU0wsZUFBMEI7SUFBMUIsK0NBQTBCO0lBQUMsZUFFakQ7SUFGaUQsNkNBRWpEOzs7OztJQWlCSixvQkFJQztJQUpELCtCQUlDO0lBREMsMktBQVMsa0RBQTJCLEtBQUssQ0FBQSxJQUFDO0lBQzNDLGlCQUFNOzs7O0lBWUQsZ0NBSUM7SUFDQyxZQUNGO0lBQUEsaUJBQU87OztJQUhMLGlGQUFpRTtJQUVqRSxlQUNGO0lB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QixRQUFHLEdBQUgsR0FBRyxDQUFtQjtJQUFHLENBQUM7SUFFOUMsa0JBQWtCO1FBQ2hCLElBQUksSUFBSSxDQUFDLGVBQWUsRUFBRTtZQUN4QixJQUFJLENBQUMsU0FBUztnQkFDWixJQUFJLENBQUMsZUFBZSxDQUFDLGFBQWEsQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLEdBQUcsQ0FBQztZQUNqRSxJQUFJLENBQUMsR0FBRyxDQUFDLGFBQWEsRUFBRSxDQUFDO1NBQzFCO0lBQ0gsQ0FBQztJQUVELHFFQUFxRTtJQUNyRSxnQkFBZ0IsQ0FBQyxPQUFtQztRQUNsRCxPQUFPLE9BQWdCLENBQUM7SUFDMUIsQ0FBQzs7Z0dBbEJVLHdCQUF3QjsyRUFBeEIsd0JBQXdCOzs7Ozs7UUNoQnJDLGlDQUFnRCxhQUFBO1FBRzVDLDJGQU9lO1FBRWYsMEhBZWM7UUFDaEIsaUJBQU07UUFDTiw4QkFBcUM7UUFDbkMseUVBcUlNO1FBQ04sK0VBVVM7UUFDWCxpQkFBTSxFQUFBO1FBRVIseUVBTU07OztRQXBMYSxlQUE0QjtRQUE1QiwrQ0FBNEIsaUJBQUE7UUEyQnJDLGVBQW9DO1FBQXBDLHlEQUFvQztRQXdJdkMsZUFBcUM7UUFBckMsMERBQXFDO1FBV1IsZUFBZ0M7UUFBaEMscURBQWdDOzZMRGpLdkQsd0JBQXdCO3VGQUF4Qix3QkFBd0I7Y0FOcEMsU0FBUzsyQkFDRSx1QkFBdUIsaUJBR2xCLGlCQUFpQixDQUFDLElBQUk7b0VBRzVCLFdBQVc7a0JBQW5CLEtBQUs7WUFDd0IsZUFBZTtrQkFBNUMsU0FBUzttQkFBQyxpQkFBaUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDaGFuZ2VEZXRlY3RvclJlZixcbiAgQ29tcG9uZW50LFxuICBFbGVtZW50UmVmLFxuICBJbnB1dCxcbiAgVmlld0NoaWxkLFxuICBWaWV3RW5jYXBzdWxhdGlvbixcbn0gZnJvbSAnQGFuZ3VsYXIvY29yZSc7XG5pbXBvcnQgdHlwZSB7IFBob2VuaXhNZW51Tm9kZSB9IGZyb20gJ3Bob2VuaXgtZXZlbnQtZGlzcGxheSc7XG5cbkBDb21wb25lbnQoe1xuICBzZWxlY3RvcjogJ2FwcC1waG9lbml4LW1lbnUtaXRlbScsXG4gIHRlbXBsYXRlVXJsOiAnLi9waG9lbml4LW1lbnUtaXRlbS5jb21wb25lbnQuaHRtbCcsXG4gIHN0eWxlVXJsczogWycuL3Bob2VuaXgtbWVudS1pdGVtLmNvbXBvbmVudC5zY3NzJ10sXG4gIGVuY2Fwc3VsYXRpb246IFZpZXdFbmNhcHN1bGF0aW9uLk5vbmUsXG59KVxuZXhwb3J0IGNsYXNzIFBob2VuaXhNZW51SXRlbUNvbXBvbmVudCB7XG4gIEBJbnB1dCgpIGN1cnJlbnROb2RlOiBQaG9lbml4TWVudU5vZGU7XG4gIEBWaWV3Q2hpbGQoJ3Bob2VuaXhNZW51SXRlbScpIHBob2VuaXhNZW51SXRlbTogRWxlbWVudFJlZjxIVE1MRGl2RWxlbWVudD47XG4gIGNvbmZpZ1RvcDogbnVtYmVyO1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgY2RyOiBDaGFuZ2VEZXRlY3RvclJlZikge31cblxuICBjYWxjdWxhdGVDb25maWdUb3AoKSB7XG4gICAgaWYgKHRoaXMucGhvZW5peE1lbnVJdGVtKSB7XG4gICAgICB0aGlzLmNvbmZpZ1RvcCA9XG4gICAgICAgIHRoaXMucGhvZW5peE1lbnVJdGVtLm5hdGl2ZUVsZW1lbnQuZ2V0Qm91bmRpbmdDbGllbnRSZWN0KCkudG9wO1xuICAgICAgdGhpcy5jZHIuZGV0ZWN0Q2hhbmdlcygpO1xuICAgIH1cbiAgfVxuXG4gIC8vIENhc3RpbmcgdG8gYGFueWAgYXMgYSB3b3JrYXJvdW5kIHRvIGJ5cGFzcyBzdHJpY3QgdGVtcGxhdGUgY2hlY2tzLlxuICBjYXN0Q29uZmlnc1RvQW55KGNvbmZpZ3M6IFBob2VuaXhNZW51Tm9kZVsnY29uZmlncyddKSB7XG4gICAgcmV0dXJuIGNvbmZpZ3MgYXMgYW55W107XG4gIH1cbn1cbiIsIjxkaXYgY2xhc3M9XCJwaG9lbml4LW1lbnUtaXRlbVwiICNwaG9lbml4TWVudUl0ZW0+XG4gIDxkaXYgY2xhc3M9XCJwaG9lbml4LW1lbnUtaXRlbS1sZWZ0IGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgIDwhLS0gSWYgdGhlIGl0ZW0gaGFzIHNvbWUgdG9nZ2xlIGZ1bmN0aW9uIC0tPlxuICAgIDxuZy1jb250YWluZXIgKm5nSWY9XCJjdXJyZW50Tm9kZS5vblRvZ2dsZTsgZWxzZSBub2RlTmFtZVwiPlxuICAgICAgPG1hdC1zbGlkZS10b2dnbGVcbiAgICAgICAgW2NoZWNrZWRdPVwiY3VycmVudE5vZGUudG9nZ2xlU3RhdGVcIlxuICAgICAgICAoY2hhbmdlKT1cImN1cnJlbnROb2RlLnRvZ2dsZVNlbGZBbmREZXNjZW5kYW50cygkZXZlbnQuY2hlY2tlZClcIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyICpuZ1RlbXBsYXRlT3V0bGV0PVwibm9kZU5hbWVcIj48L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvbWF0LXNsaWRlLXRvZ2dsZT5cbiAgICA8L25nLWNvbnRhaW5lcj5cbiAgICA8IS0tIElmIHRoZSBpdGVtIGhhcyBubyB0b2dnbGUgZnVuY3Rpb24gLS0+XG4gICAgPG5nLXRlbXBsYXRlICNub2RlTmFtZT5cbiAgICAgIDxzcGFuIGNsYXNzPVwiZC1mbGV4IHctMTAwIGFsaWduLWl0ZW1zLWNlbnRlclwiPlxuICAgICAgICA8c3BhbiAqbmdJZj1cImN1cnJlbnROb2RlLmljb25cIiBjbGFzcz1cImljb24td3JhcHBlciBpdGVtLWljb25cIj5cbiAgICAgICAgICA8c3ZnPlxuICAgICAgICAgICAgPHVzZVxuICAgICAgICAgICAgICBhdHRyLmhyZWY9XCJhc3NldHMvaWNvbnMve3sgY3VycmVudE5vZGUuaWNvbiB9fS5zdmcje3tcbiAgICAgICAgICAgICAgICBjdXJyZW50Tm9kZS5pY29uXG4gICAgICAgICAgICAgIH19XCJcbiAgICAgICAgICAgID48L3VzZT5cbiAgICAgICAgICA8L3N2Zz5cbiAgICAgICAgPC9zcGFuPlxuICAgICAgICA8c3BhbiBjbGFzcz1cIml0ZW0tbmFtZVwiIFt0aXRsZV09XCJjdXJyZW50Tm9kZS5uYW1lXCI+e3tcbiAgICAgICAgICBjdXJyZW50Tm9kZS5uYW1lXG4gICAgICAgIH19PC9zcGFuPlxuICAgICAgPC9zcGFuPlxuICAgIDwvbmctdGVtcGxhdGU+XG4gIDwvZGl2PlxuICA8ZGl2IGNsYXNzPVwicGhvZW5peC1tZW51LWl0ZW0tcmlnaHRcIj5cbiAgICA8ZGl2ICpuZ0lmPVwiY3VycmVudE5vZGUuY29uZmlncy5sZW5ndGggPiAwXCI+XG4gICAgICA8YnV0dG9uXG4gICAgICAgIGNsYXNzPVwiaWNvbi13cmFwcGVyIGljb24tYnV0dG9uIGJ0bi1ibGFuayBpdGVtLXNldHRpbmdzXCJcbiAgICAgICAgKGNsaWNrKT1cIlxuICAgICAgICAgIGNhbGN1bGF0ZUNvbmZpZ1RvcCgpO1xuICAgICAgICAgIGN1cnJlbnROb2RlLmNvbmZpZ0FjdGl2ZSA9ICFjdXJyZW50Tm9kZS5jb25maWdBY3RpdmVcbiAgICAgICAgXCJcbiAgICAgID5cbiAgICAgICAgPHN2Zz5cbiAgICAgICAgICA8dXNlIGhyZWY9XCJhc3NldHMvaWNvbnMvZ2Vhci5zdmcjZ2VhclwiPjwvdXNlPlxuICAgICAgICA8L3N2Zz5cbiAgICAgIDwvYnV0dG9uPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cIml0ZW0tY29uZmlnLWJhY2tkcm9wXCJcbiAgICAgICAgKm5nSWY9XCJjdXJyZW50Tm9kZS5jb25maWdBY3RpdmVcIlxuICAgICAgICAoY2xpY2spPVwiY3VycmVudE5vZGUuY29uZmlnQWN0aXZlID0gZmFsc2VcIlxuICAgICAgPjwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzcz1cIml0ZW0tY29uZmlnXCJcbiAgICAgICAgW2hpZGRlbl09XCIhY3VycmVudE5vZGUuY29uZmlnQWN0aXZlXCJcbiAgICAgICAgW25nU3R5bGVdPVwieyAndG9wLnB4JzogY29uZmlnVG9wIH1cIlxuICAgICAgPlxuICAgICAgICA8bmctY29udGFpbmVyXG4gICAgICAgICAgKm5nRm9yPVwibGV0IGNvbmZpZyBvZiBjYXN0Q29uZmlnc1RvQW55KGN1cnJlbnROb2RlLmNvbmZpZ3MpXCJcbiAgICAgICAgICBbbmdTd2l0Y2hdPVwiY29uZmlnLnR5cGVcIlxuICAgICAgICA+XG4gICAgICAgICAgPCEtLSBDb25maWcgdHlwZXMgLS0+XG4gICAgICAgICAgPGxhYmVsIGNsYXNzPVwiaXRlbS1jb25maWctc2luZ2xlXCIgKm5nSWY9XCIhY29uZmlnLmhpZGRlblwiPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgY2xhc3M9XCJpdGVtLWNvbmZpZy1sYWJlbFwiXG4gICAgICAgICAgICAgICpuZ0lmPVwiY29uZmlnLnR5cGUgIT09ICdidXR0b24nXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAnZm9udC13ZWlnaHQtYm9sZCB3LTEwMCc6IGNvbmZpZy50eXBlID09PSAnbGFiZWwnIH1cIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7eyBjb25maWcubGFiZWwgfX1cbiAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJpdGVtLWNvbmZpZy1kYXRhXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAncC0wJzogY29uZmlnLnR5cGUgPT09ICdidXR0b24nIH1cIlxuICAgICAgICAgICAgICAqbmdJZj1cImNvbmZpZy50eXBlICE9PSAnbGFiZWwnXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG1hdC1jaGVja2JveFxuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInY2hlY2tib3gnXCJcbiAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJjb25maWcuaXNDaGVja2VkXCJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgY29uZmlnLm9uQ2hhbmdlKCRldmVudC5jaGVja2VkKTtcbiAgICAgICAgICAgICAgICAgIGNvbmZpZy5pc0NoZWNrZWQgPSAkZXZlbnQuY2hlY2tlZFxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID48L21hdC1jaGVja2JveD5cblxuICAgICAgICAgICAgICA8YXBwLWNvbmZpZy1zbGlkZXJcbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ3NsaWRlcidcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJjb25maWcudmFsdWVcIlxuICAgICAgICAgICAgICAgIChvbkNoYW5nZSk9XCJjb25maWcub25DaGFuZ2UoJGV2ZW50KTsgY29uZmlnLnZhbHVlID0gJGV2ZW50XCJcbiAgICAgICAgICAgICAgICBbbWluXT1cImNvbmZpZy5taW5cIlxuICAgICAgICAgICAgICAgIFttYXhdPVwiY29uZmlnLm1heFwiXG4gICAgICAgICAgICAgICAgW3N0ZXBdPVwiY29uZmlnLnN0ZXBcIlxuICAgICAgICAgICAgICAgIFthbGxvd0N1c3RvbVZhbHVlXT1cImNvbmZpZy5hbGxvd0N1c3RvbVZhbHVlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L2FwcC1jb25maWctc2xpZGVyPlxuXG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2J1dHRvbidcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidy0xMDBcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjb25maWcub25DbGljaygpXCJcbiAgICAgICAgICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBjb25maWcubGFiZWwgfX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidjb2xvcidcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJjb2xvclwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cImNvbmZpZy5jb2xvclwiXG4gICAgICAgICAgICAgICAgKGlucHV0KT1cIlxuICAgICAgICAgICAgICAgICAgY29uZmlnLm9uQ2hhbmdlKCRldmVudC50YXJnZXQudmFsdWUpO1xuICAgICAgICAgICAgICAgICAgY29uZmlnLmNvbG9yID0gJGV2ZW50LnRhcmdldC52YWx1ZVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ3JhbmdlU2xpZGVyJ1wiIGNsYXNzPVwicmFuZ2Utc2xpZGVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJhbmdlLXNsaWRlci1pbnB1dHMgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XG4gICAgICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPVwiTWluXCJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3M9XCJmb3JtLWNvbnRyb2wgZm9ybS1jb250cm9sLXNtXCJcbiAgICAgICAgICAgICAgICAgICAgW3ZhbHVlXT1cImNvbmZpZy52YWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIChpbnB1dCk9XCJcbiAgICAgICAgICAgICAgICAgICAgICBjb25maWcudmFsdWUgPSAkZXZlbnQudGFyZ2V0LnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZy5vbkNoYW5nZShjb25maWcpXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk1heFwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tY29udHJvbC1zbVwiXG4gICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJjb25maWcuaGlnaFZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICAgKGlucHV0KT1cIlxuICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZy5oaWdoVmFsdWUgPSAkZXZlbnQudGFyZ2V0LnZhbHVlO1xuICAgICAgICAgICAgICAgICAgICAgIGNvbmZpZy5vbkNoYW5nZShjb25maWcpXG4gICAgICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxuZ3gtc2xpZGVyXG4gICAgICAgICAgICAgICAgICBbKHZhbHVlKV09XCJjb25maWcudmFsdWVcIlxuICAgICAgICAgICAgICAgICAgWyhoaWdoVmFsdWUpXT1cImNvbmZpZy5oaWdoVmFsdWVcIlxuICAgICAgICAgICAgICAgICAgKHVzZXJDaGFuZ2UpPVwiY29uZmlnLm9uQ2hhbmdlKCRldmVudClcIlxuICAgICAgICAgICAgICAgICAgW29wdGlvbnNdPVwie1xuICAgICAgICAgICAgICAgICAgICBmbG9vcjogY29uZmlnLm1pbixcbiAgICAgICAgICAgICAgICAgICAgY2VpbDogY29uZmlnLm1heCxcbiAgICAgICAgICAgICAgICAgICAgc3RlcDogY29uZmlnLnN0ZXAsXG4gICAgICAgICAgICAgICAgICAgIGFuaW1hdGU6IGZhbHNlXG4gICAgICAgICAgICAgICAgICB9XCJcbiAgICAgICAgICAgICAgICA+PC9uZ3gtc2xpZGVyPlxuICAgICAgICAgICAgICA8L2Rpdj5cblxuICAgICAgICAgICAgICA8c2VsZWN0XG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidzZWxlY3QnXCJcbiAgICAgICAgICAgICAgICBjbGFzcz1cInctMTAwXCJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cImNvbmZpZy5vbkNoYW5nZSgkZXZlbnQudGFyZ2V0LnZhbHVlKVwiXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8b3B0aW9uXG4gICAgICAgICAgICAgICAgICAqbmdGb3I9XCJsZXQgc2luZ2xlT3B0aW9uIG9mIGNvbmZpZy5vcHRpb25zXCJcbiAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJzaW5nbGVPcHRpb25cIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHt7IHNpbmdsZU9wdGlvbiB9fVxuICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgICA8L3NlbGVjdD5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgIDwvbGFiZWw+XG4gICAgICAgICAgPCEtLSBDb25maWcgdHlwZXMgRU5EIC0tPlxuICAgICAgICA8L25nLWNvbnRhaW5lcj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICAgIDxidXR0b25cbiAgICAgIGNsYXNzPVwiaWNvbi13cmFwcGVyIGljb24tYnV0dG9uIGJ0bi1ibGFuayBpdGVtLWV4cGFuZFwiXG4gICAgICAqbmdJZj1cImN1cnJlbnROb2RlLmNoaWxkcmVuLmxlbmd0aCA+IDBcIlxuICAgICAgKGNsaWNrKT1cImN1cnJlbnROb2RlLmNoaWxkcmVuQWN0aXZlID0gIWN1cnJlbnROb2RlLmNoaWxkcmVuQWN0aXZlXCJcbiAgICAgIFtuZ0NsYXNzXT1cInsgZXhwYW5kZWQ6IGN1cnJlbnROb2RlLmNoaWxkcmVuQWN0aXZlIH1cIlxuICAgICAgZGF0YS10ZXN0aWQ9XCJkcm9wZG93blwiXG4gICAgPlxuICAgICAgPHN2Zz5cbiAgICAgICAgPHVzZSBocmVmPVwiYXNzZXRzL2ljb25zL2V4cGFuZC5zdmcjZXhwYW5kXCI+PC91c2U+XG4gICAgICA8L3N2Zz5cbiAgICA8L2J1dHRvbj5cbiAgPC9kaXY+XG48L2Rpdj5cbjxkaXYgY2xhc3M9XCJwaG9lbml4LW1lbnUtY2hpbGRyZW5cIiAqbmdJZj1cImN1cnJlbnROb2RlLmNoaWxkcmVuQWN0aXZlXCI+XG4gIDxhcHAtcGhvZW5peC1tZW51LWl0ZW1cbiAgICAqbmdGb3I9XCJsZXQgY2hpbGROb2RlIG9mIGN1cnJlbnROb2RlLmNoaWxkcmVuXCJcbiAgICBbY3VycmVudE5vZGVdPVwiY2hpbGROb2RlXCJcbiAgPlxuICA8L2FwcC1waG9lbml4LW1lbnUtaXRlbT5cbjwvZGl2PlxuIl19
316
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvZW5peC1tZW51LWl0ZW0uY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vbGliL2NvbXBvbmVudHMvcGhvZW5peC1tZW51L3Bob2VuaXgtbWVudS1pdGVtL3Bob2VuaXgtbWVudS1pdGVtLmNvbXBvbmVudC50cyIsIi4uLy4uLy4uLy4uLy4uL2xpYi9jb21wb25lbnRzL3Bob2VuaXgtbWVudS9waG9lbml4LW1lbnUtaXRlbS9waG9lbml4LW1lbnUtaXRlbS5jb21wb25lbnQuaHRtbCJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBRUwsU0FBUyxFQUVULEtBQUssRUFDTCxTQUFTLEVBQ1QsaUJBQWlCLEdBQ2xCLE1BQU0sZUFBZSxDQUFDOzs7Ozs7Ozs7OztJQ0NmLHdCQUEwRDs7OztJQUw5RCw2QkFBMEQ7SUFDeEQsMkNBR0M7SUFEQyxnTUFBVSxlQUFBLDJEQUFvRCxDQUFBLElBQUM7SUFFL0QsMkdBQTBEO0lBQzVELGlCQUFtQjtJQUNyQiwwQkFBZTs7OztJQUxYLGVBQW1DO0lBQW5DLHdEQUFtQztJQUdwQixlQUEwQjtJQUExQixzQ0FBMEI7OztJQU16QyxnQ0FBOEQ7SUFDNUQsbUJBQUs7SUFBTCwyQkFBSztJQUNILHNCQUlPO0lBQ1QsaUJBQU0sRUFBQTs7O0lBSkYsZUFFRztJQUZILG9IQUVHOzs7SUFOWCxnQ0FBOEM7SUFDNUMsMEZBUU87SUFDUCxnQ0FBbUQ7SUFBQSxZQUVqRDtJQUFBLGlCQUFPLEVBQUE7OztJQVhGLGVBQXNCO0lBQXRCLDhDQUFzQjtJQVNMLGVBQTBCO0lBQTFCLCtDQUEwQjtJQUFDLGVBRWpEO0lBRmlELDZDQUVqRDs7Ozs7SUFpQkosb0JBSUM7SUFKRCwrQkFJQztJQURDLDJLQUFTLGtEQUEyQixLQUFLLENBQUEsSUFBQztJQUMzQyxpQkFBTTs7OztJQVlELGlDQUtDO0lBQ0MsWUFDRjtJQUFBLGlCQUFROzs7SUFITixpRkFBaUU7SUFFakUsZUFDRjtJ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RGV0ZWN0b3JSZWYsXG4gIENvbXBvbmVudCxcbiAgRWxlbWVudFJlZixcbiAgSW5wdXQsXG4gIFZpZXdDaGlsZCxcbiAgVmlld0VuY2Fwc3VsYXRpb24sXG59IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHR5cGUgeyBQaG9lbml4TWVudU5vZGUgfSBmcm9tICdwaG9lbml4LWV2ZW50LWRpc3BsYXknO1xuXG5AQ29tcG9uZW50KHtcbiAgc2VsZWN0b3I6ICdhcHAtcGhvZW5peC1tZW51LWl0ZW0nLFxuICB0ZW1wbGF0ZVVybDogJy4vcGhvZW5peC1tZW51LWl0ZW0uY29tcG9uZW50Lmh0bWwnLFxuICBzdHlsZVVybHM6IFsnLi9waG9lbml4LW1lbnUtaXRlbS5jb21wb25lbnQuc2NzcyddLFxuICBlbmNhcHN1bGF0aW9uOiBWaWV3RW5jYXBzdWxhdGlvbi5Ob25lLFxufSlcbmV4cG9ydCBjbGFzcyBQaG9lbml4TWVudUl0ZW1Db21wb25lbnQge1xuICBASW5wdXQoKSBjdXJyZW50Tm9kZTogUGhvZW5peE1lbnVOb2RlO1xuICBAVmlld0NoaWxkKCdwaG9lbml4TWVudUl0ZW0nKSBwaG9lbml4TWVudUl0ZW06IEVsZW1lbnRSZWY8SFRNTERpdkVsZW1lbnQ+O1xuICBjb25maWdUb3A6IG51bWJlcjtcblxuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGNkcjogQ2hhbmdlRGV0ZWN0b3JSZWYpIHt9XG5cbiAgY2FsY3VsYXRlQ29uZmlnVG9wKCkge1xuICAgIGlmICh0aGlzLnBob2VuaXhNZW51SXRlbSkge1xuICAgICAgdGhpcy5jb25maWdUb3AgPVxuICAgICAgICB0aGlzLnBob2VuaXhNZW51SXRlbS5uYXRpdmVFbGVtZW50LmdldEJvdW5kaW5nQ2xpZW50UmVjdCgpLnRvcDtcbiAgICAgIHRoaXMuY2RyLmRldGVjdENoYW5nZXMoKTtcbiAgICB9XG4gIH1cblxuICAvLyBDYXN0aW5nIHRvIGBhbnlgIGFzIGEgd29ya2Fyb3VuZCB0byBieXBhc3Mgc3RyaWN0IHRlbXBsYXRlIGNoZWNrcy5cbiAgY2FzdENvbmZpZ3NUb0FueShjb25maWdzOiBQaG9lbml4TWVudU5vZGVbJ2NvbmZpZ3MnXSkge1xuICAgIHJldHVybiBjb25maWdzIGFzIGFueVtdO1xuICB9XG59XG4iLCI8ZGl2IGNsYXNzPVwicGhvZW5peC1tZW51LWl0ZW1cIiAjcGhvZW5peE1lbnVJdGVtPlxuICA8ZGl2IGNsYXNzPVwicGhvZW5peC1tZW51LWl0ZW0tbGVmdCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICA8IS0tIElmIHRoZSBpdGVtIGhhcyBzb21lIHRvZ2dsZSBmdW5jdGlvbiAtLT5cbiAgICA8bmctY29udGFpbmVyICpuZ0lmPVwiY3VycmVudE5vZGUub25Ub2dnbGU7IGVsc2Ugbm9kZU5hbWVcIj5cbiAgICAgIDxtYXQtc2xpZGUtdG9nZ2xlXG4gICAgICAgIFtjaGVja2VkXT1cImN1cnJlbnROb2RlLnRvZ2dsZVN0YXRlXCJcbiAgICAgICAgKGNoYW5nZSk9XCJjdXJyZW50Tm9kZS50b2dnbGVTZWxmQW5kRGVzY2VuZGFudHMoJGV2ZW50LmNoZWNrZWQpXCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lciAqbmdUZW1wbGF0ZU91dGxldD1cIm5vZGVOYW1lXCI+PC9uZy1jb250YWluZXI+XG4gICAgICA8L21hdC1zbGlkZS10b2dnbGU+XG4gICAgPC9uZy1jb250YWluZXI+XG4gICAgPCEtLSBJZiB0aGUgaXRlbSBoYXMgbm8gdG9nZ2xlIGZ1bmN0aW9uIC0tPlxuICAgIDxuZy10ZW1wbGF0ZSAjbm9kZU5hbWU+XG4gICAgICA8c3BhbiBjbGFzcz1cImQtZmxleCB3LTEwMCBhbGlnbi1pdGVtcy1jZW50ZXJcIj5cbiAgICAgICAgPHNwYW4gKm5nSWY9XCJjdXJyZW50Tm9kZS5pY29uXCIgY2xhc3M9XCJpY29uLXdyYXBwZXIgaXRlbS1pY29uXCI+XG4gICAgICAgICAgPHN2Zz5cbiAgICAgICAgICAgIDx1c2VcbiAgICAgICAgICAgICAgYXR0ci5ocmVmPVwiYXNzZXRzL2ljb25zL3t7IGN1cnJlbnROb2RlLmljb24gfX0uc3ZnI3t7XG4gICAgICAgICAgICAgICAgY3VycmVudE5vZGUuaWNvblxuICAgICAgICAgICAgICB9fVwiXG4gICAgICAgICAgICA+PC91c2U+XG4gICAgICAgICAgPC9zdmc+XG4gICAgICAgIDwvc3Bhbj5cbiAgICAgICAgPHNwYW4gY2xhc3M9XCJpdGVtLW5hbWVcIiBbdGl0bGVdPVwiY3VycmVudE5vZGUubmFtZVwiPnt7XG4gICAgICAgICAgY3VycmVudE5vZGUubmFtZVxuICAgICAgICB9fTwvc3Bhbj5cbiAgICAgIDwvc3Bhbj5cbiAgICA8L25nLXRlbXBsYXRlPlxuICA8L2Rpdj5cbiAgPGRpdiBjbGFzcz1cInBob2VuaXgtbWVudS1pdGVtLXJpZ2h0XCI+XG4gICAgPGRpdiAqbmdJZj1cImN1cnJlbnROb2RlLmNvbmZpZ3MubGVuZ3RoID4gMFwiPlxuICAgICAgPGJ1dHRvblxuICAgICAgICBjbGFzcz1cImljb24td3JhcHBlciBpY29uLWJ1dHRvbiBidG4tYmxhbmsgaXRlbS1zZXR0aW5nc1wiXG4gICAgICAgIChjbGljayk9XCJcbiAgICAgICAgICBjYWxjdWxhdGVDb25maWdUb3AoKTtcbiAgICAgICAgICBjdXJyZW50Tm9kZS5jb25maWdBY3RpdmUgPSAhY3VycmVudE5vZGUuY29uZmlnQWN0aXZlXG4gICAgICAgIFwiXG4gICAgICA+XG4gICAgICAgIDxzdmc+XG4gICAgICAgICAgPHVzZSBocmVmPVwiYXNzZXRzL2ljb25zL2dlYXIuc3ZnI2dlYXJcIj48L3VzZT5cbiAgICAgICAgPC9zdmc+XG4gICAgICA8L2J1dHRvbj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJpdGVtLWNvbmZpZy1iYWNrZHJvcFwiXG4gICAgICAgICpuZ0lmPVwiY3VycmVudE5vZGUuY29uZmlnQWN0aXZlXCJcbiAgICAgICAgKGNsaWNrKT1cImN1cnJlbnROb2RlLmNvbmZpZ0FjdGl2ZSA9IGZhbHNlXCJcbiAgICAgID48L2Rpdj5cbiAgICAgIDxkaXZcbiAgICAgICAgY2xhc3M9XCJpdGVtLWNvbmZpZ1wiXG4gICAgICAgIFtoaWRkZW5dPVwiIWN1cnJlbnROb2RlLmNvbmZpZ0FjdGl2ZVwiXG4gICAgICAgIFtuZ1N0eWxlXT1cInsgJ3RvcC5weCc6IGNvbmZpZ1RvcCB9XCJcbiAgICAgID5cbiAgICAgICAgPG5nLWNvbnRhaW5lclxuICAgICAgICAgICpuZ0Zvcj1cImxldCBjb25maWcgb2YgY2FzdENvbmZpZ3NUb0FueShjdXJyZW50Tm9kZS5jb25maWdzKVwiXG4gICAgICAgICAgW25nU3dpdGNoXT1cImNvbmZpZy50eXBlXCJcbiAgICAgICAgPlxuICAgICAgICAgIDwhLS0gQ29uZmlnIHR5cGVzIC0tPlxuICAgICAgICAgIDxkaXYgY2xhc3M9XCJpdGVtLWNvbmZpZy1zaW5nbGVcIiAqbmdJZj1cIiFjb25maWcuaGlkZGVuXCI+XG4gICAgICAgICAgICA8bGFiZWxcbiAgICAgICAgICAgICAgY2xhc3M9XCJpdGVtLWNvbmZpZy1sYWJlbFwiXG4gICAgICAgICAgICAgIGZvcj1cIml0ZW0tY29uZmlnLWZpZWxkXCJcbiAgICAgICAgICAgICAgKm5nSWY9XCJjb25maWcudHlwZSAhPT0gJ2J1dHRvbidcIlxuICAgICAgICAgICAgICBbbmdDbGFzc109XCJ7ICdmb250LXdlaWdodC1ib2xkIHctMTAwJzogY29uZmlnLnR5cGUgPT09ICdsYWJlbCcgfVwiXG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt7IGNvbmZpZy5sYWJlbCB9fVxuICAgICAgICAgICAgPC9sYWJlbD5cbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgY2xhc3M9XCJpdGVtLWNvbmZpZy1kYXRhXCJcbiAgICAgICAgICAgICAgW25nQ2xhc3NdPVwieyAncC0wJzogY29uZmlnLnR5cGUgPT09ICdidXR0b24nIH1cIlxuICAgICAgICAgICAgICAqbmdJZj1cImNvbmZpZy50eXBlICE9PSAnbGFiZWwnXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPG1hdC1jaGVja2JveFxuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInY2hlY2tib3gnXCJcbiAgICAgICAgICAgICAgICBbY2hlY2tlZF09XCJjb25maWcuaXNDaGVja2VkXCJcbiAgICAgICAgICAgICAgICAoY2hhbmdlKT1cIlxuICAgICAgICAgICAgICAgICAgY29uZmlnLm9uQ2hhbmdlKCRldmVudC5jaGVja2VkKTtcbiAgICAgICAgICAgICAgICAgIGNvbmZpZy5pc0NoZWNrZWQgPSAkZXZlbnQuY2hlY2tlZFxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgID48L21hdC1jaGVja2JveD5cblxuICAgICAgICAgICAgICA8YXBwLWNvbmZpZy1zbGlkZXJcbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ3NsaWRlcidcIlxuICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJjb25maWcudmFsdWVcIlxuICAgICAgICAgICAgICAgIChvbkNoYW5nZSk9XCJjb25maWcub25DaGFuZ2UoJGV2ZW50KTsgY29uZmlnLnZhbHVlID0gJGV2ZW50XCJcbiAgICAgICAgICAgICAgICBbbWluXT1cImNvbmZpZy5taW5cIlxuICAgICAgICAgICAgICAgIFttYXhdPVwiY29uZmlnLm1heFwiXG4gICAgICAgICAgICAgICAgW3N0ZXBdPVwiY29uZmlnLnN0ZXBcIlxuICAgICAgICAgICAgICAgIFthbGxvd0N1c3RvbVZhbHVlXT1cImNvbmZpZy5hbGxvd0N1c3RvbVZhbHVlXCJcbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8L2FwcC1jb25maWctc2xpZGVyPlxuXG4gICAgICAgICAgICAgIDxidXR0b25cbiAgICAgICAgICAgICAgICAqbmdTd2l0Y2hDYXNlPVwiJ2J1dHRvbidcIlxuICAgICAgICAgICAgICAgIGNsYXNzPVwidy0xMDBcIlxuICAgICAgICAgICAgICAgIChjbGljayk9XCJjb25maWcub25DbGljaygpXCJcbiAgICAgICAgICAgICAgICBtYXQtYnV0dG9uXG4gICAgICAgICAgICAgICAgbWF0LXN0cm9rZWQtYnV0dG9uXG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7eyBjb25maWcubGFiZWwgfX1cbiAgICAgICAgICAgICAgPC9idXR0b24+XG5cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgKm5nU3dpdGNoQ2FzZT1cIidjb2xvcidcIlxuICAgICAgICAgICAgICAgIGlkPVwiaXRlbS1jb25maWctZmllbGRcIlxuICAgICAgICAgICAgICAgIHR5cGU9XCJjb2xvclwiXG4gICAgICAgICAgICAgICAgW3ZhbHVlXT1cImNvbmZpZy5jb2xvclwiXG4gICAgICAgICAgICAgICAgKGlucHV0KT1cIlxuICAgICAgICAgICAgICAgICAgY29uZmlnLm9uQ2hhbmdlKCRldmVudC50YXJnZXQudmFsdWUpO1xuICAgICAgICAgICAgICAgICAgY29uZmlnLmNvbG9yID0gJGV2ZW50LnRhcmdldC52YWx1ZVxuICAgICAgICAgICAgICAgIFwiXG4gICAgICAgICAgICAgIC8+XG5cbiAgICAgICAgICAgICAgPGRpdiAqbmdTd2l0Y2hDYXNlPVwiJ3JhbmdlU2xpZGVyJ1wiIGNsYXNzPVwicmFuZ2Utc2xpZGVyXCI+XG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzcz1cInJhbmdlLXNsaWRlci1pbnB1dHMgZC1mbGV4IGp1c3RpZnktY29udGVudC1iZXR3ZWVuXCI+XG4gICAgICAgICAgICAgICAgICA8bWF0LWNoZWNrYm94XG4gICAgICAgICAgICAgICAgICAgIFtjaGVja2VkXT1cImNvbmZpZy5lbmFibGVNaW5cIlxuICAgICAgICAgICAgICAgICAgICAoY2hhbmdlKT1cImNvbmZpZy5zZXRFbmFibGVNaW4oJGV2ZW50LmNoZWNrZWQpXCJcbiAgICAgICAgICAgICAgICAgID48L21hdC1jaGVja2JveD5cbiAgICAgICAgICAgICAgICAgIDxtYXQtY2hlY2tib3hcbiAgICAgICAgICAgICAgICAgICAgW2NoZWNrZWRdPVwiY29uZmlnLmVuYWJsZU1heFwiXG4gICAgICAgICAgICAgICAgICAgIChjaGFuZ2UpPVwiY29uZmlnLnNldEVuYWJsZU1heCgkZXZlbnQuY2hlY2tlZClcIlxuICAgICAgICAgICAgICAgICAgPjwvbWF0LWNoZWNrYm94PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3M9XCJyYW5nZS1zbGlkZXItaW5wdXRzIGQtZmxleCBqdXN0aWZ5LWNvbnRlbnQtYmV0d2VlblwiPlxuICAgICAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJudW1iZXJcIlxuICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj1cIk1pblwiXG4gICAgICAgICAgICAgICAgICAgIGNsYXNzPVwiZm9ybS1jb250cm9sIGZvcm0tY29udHJvbC1zbVwiXG4gICAgICAgICAgICAgICAgICAgIFt2YWx1ZV09XCJjb25maWcudmFsdWVcIlxuICAgICAgICAgICAgICAgICAgICAoaW5wdXQpPVwiXG4gICAgICAgICAgICAgICAgICAgICAgY29uZmlnLnZhbHVlID0gJGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICBjb25maWcub25DaGFuZ2UoY29uZmlnKVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICBzdGVwPVwiY29uZmlnLnN0ZXBcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9XCJNYXhcIlxuICAgICAgICAgICAgICAgICAgICBjbGFzcz1cImZvcm0tY29udHJvbCBmb3JtLWNvbnRyb2wtc21cIlxuICAgICAgICAgICAgICAgICAgICBbdmFsdWVdPVwiY29uZmlnLmhpZ2hWYWx1ZVwiXG4gICAgICAgICAgICAgICAgICAgIChpbnB1dCk9XCJcbiAgICAgICAgICAgICAgICAgICAgICBjb25maWcuaGlnaFZhbHVlID0gJGV2ZW50LnRhcmdldC52YWx1ZTtcbiAgICAgICAgICAgICAgICAgICAgICBjb25maWcub25DaGFuZ2UoY29uZmlnKVxuICAgICAgICAgICAgICAgICAgICBcIlxuICAgICAgICAgICAgICAgICAgICBzdGVwPVwiY29uZmlnLnN0ZXBcIlxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8bmd4LXNsaWRlclxuICAgICAgICAgICAgICAgICAgWyh2YWx1ZSldPVwiY29uZmlnLnZhbHVlXCJcbiAgICAgICAgICAgICAgICAgIFsoaGlnaFZhbHVlKV09XCJjb25maWcuaGlnaFZhbHVlXCJcbiAgICAgICAgICAgICAgICAgICh1c2VyQ2hhbmdlKT1cImNvbmZpZy5vbkNoYW5nZSgkZXZlbnQpXCJcbiAgICAgICAgICAgICAgICAgIHRodW1iTGFiZWxcbiAgICAgICAgICAgICAgICAgIFtvcHRpb25zXT1cIntcbiAgICAgICAgICAgICAgICAgICAgZmxvb3I6IGNvbmZpZy5taW4sXG4gICAgICAgICAgICAgICAgICAgIGNlaWw6IGNvbmZpZy5tYXgsXG4gICAgICAgICAgICAgICAgICAgIHN0ZXA6IGNvbmZpZy5zdGVwLFxuICAgICAgICAgICAgICAgICAgICBhbmltYXRlOiBmYWxzZVxuICAgICAgICAgICAgICAgICAgfVwiXG4gICAgICAgICAgICAgICAgPjwvbmd4LXNsaWRlcj5cbiAgICAgICAgICAgICAgPC9kaXY+XG5cbiAgICAgICAgICAgICAgPHNlbGVjdFxuICAgICAgICAgICAgICAgICpuZ1N3aXRjaENhc2U9XCInc2VsZWN0J1wiXG4gICAgICAgICAgICAgICAgaWQ9XCJpdGVtLWNvbmZpZy1maWVsZFwiXG4gICAgICAgICAgICAgICAgY2xhc3M9XCJ3LTEwMFwiXG4gICAgICAgICAgICAgICAgKGNoYW5nZSk9XCJjb25maWcub25DaGFuZ2UoJGV2ZW50LnRhcmdldC52YWx1ZSlcIlxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgPG9wdGlvblxuICAgICAgICAgICAgICAgICAgKm5nRm9yPVwibGV0IHNpbmdsZU9wdGlvbiBvZiBjb25maWcub3B0aW9uc1wiXG4gICAgICAgICAgICAgICAgICBbdmFsdWVdPVwic2luZ2xlT3B0aW9uXCJcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICB7eyBzaW5nbGVPcHRpb24gfX1cbiAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgPC9zZWxlY3Q+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8IS0tIENvbmZpZyB0eXBlcyBFTkQgLS0+XG4gICAgICAgIDwvbmctY29udGFpbmVyPlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gICAgPGJ1dHRvblxuICAgICAgY2xhc3M9XCJpY29uLXdyYXBwZXIgaWNvbi1idXR0b24gYnRuLWJsYW5rIGl0ZW0tZXhwYW5kXCJcbiAgICAgICpuZ0lmPVwiY3VycmVudE5vZGUuY2hpbGRyZW4ubGVuZ3RoID4gMFwiXG4gICAgICAoY2xpY2spPVwiY3VycmVudE5vZGUuY2hpbGRyZW5BY3RpdmUgPSAhY3VycmVudE5vZGUuY2hpbGRyZW5BY3RpdmVcIlxuICAgICAgW25nQ2xhc3NdPVwieyBleHBhbmRlZDogY3VycmVudE5vZGUuY2hpbGRyZW5BY3RpdmUgfVwiXG4gICAgICBkYXRhLXRlc3RpZD1cImRyb3Bkb3duXCJcbiAgICA+XG4gICAgICA8c3ZnPlxuICAgICAgICA8dXNlIGhyZWY9XCJhc3NldHMvaWNvbnMvZXhwYW5kLnN2ZyNleHBhbmRcIj48L3VzZT5cbiAgICAgIDwvc3ZnPlxuICAgIDwvYnV0dG9uPlxuICA8L2Rpdj5cbjwvZGl2PlxuPGRpdiBjbGFzcz1cInBob2VuaXgtbWVudS1jaGlsZHJlblwiICpuZ0lmPVwiY3VycmVudE5vZGUuY2hpbGRyZW5BY3RpdmVcIj5cbiAgPGFwcC1waG9lbml4LW1lbnUtaXRlbVxuICAgICpuZ0Zvcj1cImxldCBjaGlsZE5vZGUgb2YgY3VycmVudE5vZGUuY2hpbGRyZW5cIlxuICAgIFtjdXJyZW50Tm9kZV09XCJjaGlsZE5vZGVcIlxuICA+XG4gIDwvYXBwLXBob2VuaXgtbWVudS1pdGVtPlxuPC9kaXY+XG4iXX0=
@@ -3,11 +3,13 @@ import { CommonModule } from '@angular/common';
3
3
  import { RouterModule } from '@angular/router';
4
4
  import { DragDropModule } from '@angular/cdk/drag-drop';
5
5
  import { OverlayModule } from '@angular/cdk/overlay';
6
+ import { FormsModule } from '@angular/forms';
6
7
  import { MatButtonModule } from '@angular/material/button';
7
8
  import { MatCheckboxModule } from '@angular/material/checkbox';
8
9
  import { MatDialogModule } from '@angular/material/dialog';
9
10
  import { MatIconModule } from '@angular/material/icon';
10
11
  import { MatMenuModule } from '@angular/material/menu';
12
+ import { MatRadioModule } from '@angular/material/radio';
11
13
  import { MatSlideToggleModule } from '@angular/material/slide-toggle';
12
14
  import { MatSliderModule } from '@angular/material/slider';
13
15
  import { MatTooltipModule } from '@angular/material/tooltip';
@@ -16,7 +18,7 @@ import { MatTabsModule } from '@angular/material/tabs';
16
18
  import { NgxSliderModule } from '@rp3e11/ngx-slider';
17
19
  import { NavComponent } from './nav/nav.component';
18
20
  import { PhoenixMenuComponent, PhoenixMenuItemComponent, ConfigSliderComponent, } from './phoenix-menu';
19
- import { UiMenuWrapperComponent, UiMenuComponent, CollectionsInfoComponent, MenuToggleComponent, CollectionsInfoOverlayComponent, IoOptionsComponent, IOOptionsDialogComponent, OverlayViewComponent, ObjectSelectionComponent, ObjectSelectionOverlayComponent, EventSelectorComponent, ObjectClippingComponent, DarkThemeComponent, AutoRotateComponent, ViewOptionsComponent, OverlayViewWindowComponent, OverlayComponent, ExperimentInfoComponent, InfoPanelComponent, InfoPanelOverlayComponent, MainViewToggleComponent, ZoomControlsComponent, TreeMenuComponent, TreeMenuItemComponent, AnimateCameraComponent, AnimateEventComponent, VrToggleComponent, ArToggleComponent, SSModeComponent, PerformanceToggleComponent, ShareLinkComponent, ShareLinkDialogComponent, EventDataExplorerComponent, EventDataExplorerDialogComponent, CycleEventsComponent, } from './ui-menu';
21
+ import { UiMenuWrapperComponent, UiMenuComponent, CollectionsInfoComponent, MenuToggleComponent, CollectionsInfoOverlayComponent, IoOptionsComponent, IOOptionsDialogComponent, OverlayViewComponent, ObjectSelectionComponent, ObjectSelectionOverlayComponent, EventSelectorComponent, ObjectClippingComponent, DarkThemeComponent, AutoRotateComponent, ViewOptionsComponent, OverlayViewWindowComponent, OverlayComponent, ExperimentInfoComponent, InfoPanelComponent, InfoPanelOverlayComponent, MainViewToggleComponent, ZoomControlsComponent, TreeMenuComponent, TreeMenuItemComponent, AnimateCameraComponent, AnimateEventComponent, VrToggleComponent, ArToggleComponent, SSModeComponent, MakePictureComponent, PerformanceToggleComponent, ShareLinkComponent, ShareLinkDialogComponent, EventDataExplorerComponent, EventDataExplorerDialogComponent, CycleEventsComponent, } from './ui-menu';
20
22
  import { AttributePipe } from '../services/extras/attribute.pipe';
21
23
  import { EventDisplayService } from '../services/event-display.service';
22
24
  import { ErrorMessageService } from '../services/error-message-service';
@@ -62,6 +64,7 @@ const PHOENIX_COMPONENTS = [
62
64
  VrToggleComponent,
63
65
  ArToggleComponent,
64
66
  SSModeComponent,
67
+ MakePictureComponent,
65
68
  PerformanceToggleComponent,
66
69
  LoaderComponent,
67
70
  ShareLinkComponent,
@@ -92,7 +95,9 @@ PhoenixUIModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [
92
95
  MatButtonModule,
93
96
  MatTooltipModule,
94
97
  OverlayModule,
98
+ FormsModule,
95
99
  MatMenuModule,
100
+ MatRadioModule,
96
101
  MatSliderModule,
97
102
  MatSlideToggleModule,
98
103
  MatCheckboxModule,
@@ -112,7 +117,9 @@ PhoenixUIModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [
112
117
  MatButtonModule,
113
118
  MatTooltipModule,
114
119
  OverlayModule,
120
+ FormsModule,
115
121
  MatMenuModule,
122
+ MatRadioModule,
116
123
  MatSliderModule,
117
124
  MatSlideToggleModule,
118
125
  MatCheckboxModule,
@@ -175,6 +182,7 @@ PhoenixUIModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [
175
182
  VrToggleComponent,
176
183
  ArToggleComponent,
177
184
  SSModeComponent,
185
+ MakePictureComponent,
178
186
  PerformanceToggleComponent,
179
187
  LoaderComponent,
180
188
  ShareLinkComponent,
@@ -192,7 +200,9 @@ PhoenixUIModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [
192
200
  MatButtonModule,
193
201
  MatTooltipModule,
194
202
  OverlayModule,
203
+ FormsModule,
195
204
  MatMenuModule,
205
+ MatRadioModule,
196
206
  MatSliderModule,
197
207
  MatSlideToggleModule,
198
208
  MatCheckboxModule,
@@ -233,6 +243,7 @@ PhoenixUIModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [
233
243
  VrToggleComponent,
234
244
  ArToggleComponent,
235
245
  SSModeComponent,
246
+ MakePictureComponent,
236
247
  PerformanceToggleComponent,
237
248
  LoaderComponent,
238
249
  ShareLinkComponent,
@@ -244,4 +255,4 @@ PhoenixUIModule.ɵinj = /*@__PURE__*/ i0.ɵɵdefineInjector({ providers: [
244
255
  FileExplorerComponent,
245
256
  RingLoaderComponent,
246
257
  CycleEventsComponent] }); })();
247
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvZW5peC11aS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29tcG9uZW50cy9waG9lbml4LXVpLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxpQkFBaUIsRUFBRSxNQUFNLDRCQUE0QixDQUFDO0FBQy9ELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxvQkFBb0IsRUFBRSxNQUFNLGdDQUFnQyxDQUFDO0FBQ3RFLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsZ0JBQWdCLEVBQUUsTUFBTSwyQkFBMkIsQ0FBQztBQUM3RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sbUJBQW1CLENBQUM7QUFDbEQsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSxvQkFBb0IsQ0FBQztBQUNyRCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0scUJBQXFCLENBQUM7QUFDbkQsT0FBTyxFQUNM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MEJBQTBCO1FBQzFCLGdDQUFnQztRQUNoQyxxQkFBcUI7UUFDckIsbUJBQW1CO1FBQ25CLG9CQUFvQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEVycm9ySGFuZGxlciwgTmdNb2R1bGUsIFR5cGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcbmltcG9ydCB7IENvbW1vbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvbW1vbic7XG5pbXBvcnQgeyBSb3V0ZXJNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9yb3V0ZXInO1xuaW1wb3J0IHsgRHJhZ0Ryb3BNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvZHJhZy1kcm9wJztcbmltcG9ydCB7IE92ZXJsYXlNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvb3ZlcmxheSc7XG5pbXBvcnQgeyBNYXRCdXR0b25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9idXR0b24nO1xuaW1wb3J0IHsgTWF0Q2hlY2tib3hNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9jaGVja2JveCc7XG5pbXBvcnQgeyBNYXREaWFsb2dNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9kaWFsb2cnO1xuaW1wb3J0IHsgTWF0SWNvbk1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL2ljb24nO1xuaW1wb3J0IHsgTWF0TWVudU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL21hdGVyaWFsL21lbnUnO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xuaW1wb3J0IHsgTWF0U2xpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGVyJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IENka1RyZWVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdHJlZSc7XG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XG5pbXBvcnQgeyBOZ3hTbGlkZXJNb2R1bGUgfSBmcm9tICdAcnAzZTExL25neC1zbGlkZXInO1xuaW1wb3J0IHsgTmF2Q29tcG9uZW50IH0gZnJvbSAnLi9uYXYvbmF2LmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBQaG9lbml4TWVudUNvbXBvbmVudCxcbiAgUGhvZW5peE1lbnVJdGVtQ29tcG9uZW50LFxuICBDb25maWdTbGlkZXJDb21wb25lbnQsXG59IGZyb20gJy4vcGhvZW5peC1tZW51JztcbmltcG9ydCB7XG4gIFVpTWVudVdyYXBwZXJDb21wb25lbnQsXG4gIFVpTWVudUNvbXBvbmVudCxcbiAgQ29sbGVjdGlvbnNJbmZvQ29tcG9uZW50LFxuICBNZW51VG9nZ2xlQ29tcG9uZW50LFxuICBDb2xsZWN0aW9uc0luZm9PdmVybGF5Q29tcG9uZW50LFxuICBJb09wdGlvbnNDb21wb25lbnQsXG4gIElPT3B0aW9uc0RpYWxvZ0NvbXBvbmVudCxcbiAgT3ZlcmxheVZpZXdDb21wb25lbnQsXG4gIE9iamVjdFNlbGVjdGlvbkNvbXBvbmVudCxcbiAgT2JqZWN0U2VsZWN0aW9uT3ZlcmxheUNvbXBvbmVudCxcbiAgRXZlbnRTZWxlY3RvckNvbXBvbmVudCxcbiAgT2JqZWN0Q2xpcHBpbmdDb21wb25lbnQsXG4gIERhcmtUaGVtZUNvbXBvbmVudCxcbiAgQXV0b1JvdGF0ZUNvbXBvbmVudCxcbiAgVmlld09wdGlvbnNDb21wb25lbnQsXG4gIE92ZXJsYXlWaWV3V2luZG93Q29tcG9uZW50LFxuICBPdmVybGF5Q29tcG9uZW50LFxuICBFeHBlcmltZW50SW5mb0NvbXBvbmVudCxcbiAgSW5mb1BhbmVsQ29tcG9uZW50LFxuICBJbmZvUGFuZWxPdmVybGF5Q29tcG9uZW50LFxuICBNYWluVmlld1RvZ2dsZUNvbXBvbmVudCxcbiAgWm9vbUNvbnRyb2xzQ29tcG9uZW50LFxuICBUcmVlTWVudUNvbXBvbmVudCxcbiAgVHJlZU1lbnVJdGVtQ29tcG9uZW50LFxuICBBbmltYXRlQ2FtZXJhQ29tcG9uZW50LFxuICBBbmltYXRlRXZlbnRDb21wb25lbnQsXG4gIFZyVG9nZ2xlQ29tcG9uZW50LFxuICBBclRvZ2dsZUNvbXBvbmVudCxcbiAgU1NNb2RlQ29tcG9uZW50LFxuICBQZXJmb3JtYW5jZVRvZ2dsZUNvbXBvbmVudCxcbiAgU2hhcmVMaW5rQ29tcG9uZW50LFxuICBTaGFyZUxpbmtEaWFsb2dDb21wb25lbnQsXG4gIEV2ZW50RGF0YUV4cGxvcmVyQ29tcG9uZW50LFxuICBFdmVudERhdGFFeHBsb3JlckRpYWxvZ0NvbXBvbmVudCxcbiAgQ3ljbGVFdmVudHNDb21wb25lbnQsXG59IGZyb20gJy4vdWktbWVudSc7XG5pbXBvcnQgeyBBdHRyaWJ1dGVQaXBlIH0gZnJvbSAnLi4vc2VydmljZXMvZXh0cmFzL2F0dHJpYnV0ZS5waXBlJztcbmltcG9ydCB7IEV2ZW50RGlzcGxheVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9ldmVudC1kaXNwbGF5LnNlcnZpY2UnO1xuaW1wb3J0IHsgRXJyb3JNZXNzYWdlU2VydmljZSB9IGZyb20gJy4uL3NlcnZpY2VzL2Vycm9yLW1lc3NhZ2Utc2VydmljZSc7XG5pbXBvcnQgeyBHbG9iYWxFcnJvckhhbmRsZXIgfSBmcm9tICcuLi9zZXJ2aWNlcy9nbG9iYWwtZXJyb3ItaGFuZGxlcic7XG5pbXBvcnQgeyBMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL2xvYWRlci9sb2FkZXIuY29tcG9uZW50JztcbmltcG9ydCB7IEVtYmVkTWVudUNvbXBvbmVudCB9IGZyb20gJy4vZW1iZWQtbWVudS9lbWJlZC1tZW51LmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFeHBlcmltZW50TGlua0NvbXBvbmVudCB9IGZyb20gJy4vZW1iZWQtbWVudS9leHBlcmltZW50LWxpbmsvZXhwZXJpbWVudC1saW5rLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBGaWxlRXhwbG9yZXJDb21wb25lbnQgfSBmcm9tICcuL2ZpbGUtZXhwbG9yZXIvZmlsZS1leHBsb3Jlci5jb21wb25lbnQnO1xuaW1wb3J0IHsgUmluZ0xvYWRlckNvbXBvbmVudCB9IGZyb20gJy4vcmluZy1sb2FkZXIvcmluZy1sb2FkZXIuY29tcG9uZW50JztcblxuY29uc3QgUEhPRU5JWF9DT01QT05FTlRTOiBUeXBlPGFueT5bXSA9IFtcbiAgTmF2Q29tcG9uZW50LFxuICBVaU1lbnVXcmFwcGVyQ29tcG9uZW50LFxuICBVaU1lbnVDb21wb25lbnQsXG4gIENvbGxlY3Rpb25zSW5mb0NvbXBvbmVudCxcbiAgTWVudVRvZ2dsZUNvbXBvbmVudCxcbiAgQ29sbGVjdGlvbnNJbmZvT3ZlcmxheUNvbXBvbmVudCxcbiAgSW9PcHRpb25zQ29tcG9uZW50LFxuICBJT09wdGlvbnNEaWFsb2dDb21wb25lbnQsXG4gIE92ZXJsYXlWaWV3Q29tcG9uZW50LFxuICBBdHRyaWJ1dGVQaXBlLFxuICBPYmplY3RTZWxlY3Rpb25Db21wb25lbnQsXG4gIE9iamVjdFNlbGVjdGlvbk92ZXJsYXlDb21wb25lbnQsXG4gIEV2ZW50U2VsZWN0b3JDb21wb25lbnQsXG4gIE9iamVjdENsaXBwaW5nQ29tcG9uZW50LFxuICBEYXJrVGhlbWVDb21wb25lbnQsXG4gIEF1dG9Sb3RhdGVDb21wb25lbnQsXG4gIFZpZXdPcHRpb25zQ29tcG9uZW50LFxuICBPdmVybGF5Vmlld1dpbmRvd0NvbXBvbmVudCxcbiAgT3ZlcmxheUNvbXBvbmVudCxcbiAgRXhwZXJpbWVudEluZm9Db21wb25lbnQsXG4gIEluZm9QYW5lbENvbXBvbmVudCxcbiAgSW5mb1BhbmVsT3ZlcmxheUNvbXBvbmVudCxcbiAgTWFpblZpZXdUb2dnbGVDb21wb25lbnQsXG4gIFpvb21Db250cm9sc0NvbXBvbmVudCxcbiAgVHJlZU1lbnVDb21wb25lbnQsXG4gIFRyZWVNZW51SXRlbUNvbXBvbmVudCxcbiAgUGhvZW5peE1lbnVDb21wb25lbnQsXG4gIFBob2VuaXhNZW51SXRlbUNvbXBvbmVudCxcbiAgQ29uZmlnU2xpZGVyQ29tcG9uZW50LFxuICBBbmltYXRlQ2FtZXJhQ29tcG9uZW50LFxuICBBbmltYXRlRXZlbnRDb21wb25lbnQsXG4gIFZyVG9nZ2xlQ29tcG9uZW50LFxuICBBclRvZ2dsZUNvbXBvbmVudCxcbiAgU1NNb2RlQ29tcG9uZW50LFxuICBQZXJmb3JtYW5jZVRvZ2dsZUNvbXBvbmVudCxcbiAgTG9hZGVyQ29tcG9uZW50LFxuICBTaGFyZUxpbmtDb21wb25lbnQsXG4gIFNoYXJlTGlua0RpYWxvZ0NvbXBvbmVudCxcbiAgRW1iZWRNZW51Q29tcG9uZW50LFxuICBFeHBlcmltZW50TGlua0NvbXBvbmVudCxcbiAgRXZlbnREYXRhRXhwbG9yZXJDb21wb25lbnQsXG4gIEV2ZW50RGF0YUV4cGxvcmVyRGlhbG9nQ29tcG9uZW50LFxuICBGaWxlRXhwbG9yZXJDb21wb25lbnQsXG4gIFJpbmdMb2FkZXJDb21wb25lbnQsXG4gIEN5Y2xlRXZlbnRzQ29tcG9uZW50LFxuXTtcblxuQE5nTW9kdWxlKHtcbiAgZGVjbGFyYXRpb25zOiBQSE9FTklYX0NPTVBPTkVOVFMsXG4gIGltcG9ydHM6IFtcbiAgICBDb21tb25Nb2R1bGUsXG4gICAgUm91dGVyTW9kdWxlLFxuICAgIERyYWdEcm9wTW9kdWxlLFxuICAgIE1hdERpYWxvZ01vZHVsZSxcbiAgICBNYXRCdXR0b25Nb2R1bGUsXG4gICAgTWF0VG9vbHRpcE1vZHVsZSxcbiAgICBPdmVybGF5TW9kdWxlLFxuICAgIE1hdE1lbnVNb2R1bGUsXG4gICAgTWF0U2xpZGVyTW9kdWxlLFxuICAgIE1hdFNsaWRlVG9nZ2xlTW9kdWxlLFxuICAgIE1hdENoZWNrYm94TW9kdWxlLFxuICAgIE1hdEljb25Nb2R1bGUsXG4gICAgTmd4U2xpZGVyTW9kdWxlLFxuICAgIENka1RyZWVNb2R1bGUsXG4gICAgTWF0VGFic01vZHVsZSxcbiAgXSxcbiAgZW50cnlDb21wb25lbnRzOiBbXG4gICAgT3ZlcmxheUNvbXBvbmVudCxcbiAgICBPdmVybGF5Vmlld1dpbmRvd0NvbXBvbmVudCxcbiAgICBJT09wdGlvbnNEaWFsb2dDb21wb25lbnQsXG4gICAgQ29sbGVjdGlvbnNJbmZvT3ZlcmxheUNvbXBvbmVudCxcbiAgICBPYmplY3RTZWxlY3Rpb25PdmVybGF5Q29tcG9uZW50LFxuICAgIEluZm9QYW5lbE92ZXJsYXlDb21wb25lbnQsXG4gICAgRXZlbnREYXRhRXhwbG9yZXJEaWFsb2dDb21wb25lbnQsXG4gIF0sXG4gIGV4cG9ydHM6IFBIT0VOSVhfQ09NUE9ORU5UUyxcbiAgcHJvdmlkZXJzOiBbXG4gICAgRXZlbnREaXNwbGF5U2VydmljZSxcbiAgICBFcnJvck1lc3NhZ2VTZXJ2aWNlLFxuICAgIHtcbiAgICAgIHByb3ZpZGU6IEVycm9ySGFuZGxlcixcbiAgICAgIHVzZUNsYXNzOiBHbG9iYWxFcnJvckhhbmRsZXIsXG4gICAgfSxcbiAgXSxcbn0pXG5leHBvcnQgY2xhc3MgUGhvZW5peFVJTW9kdWxlIHt9XG4iXX0=
258
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGhvZW5peC11aS5tb2R1bGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9saWIvY29tcG9uZW50cy9waG9lbml4LXVpLm1vZHVsZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsWUFBWSxFQUFFLFFBQVEsRUFBUSxNQUFNLGVBQWUsQ0FBQztBQUM3RCxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0saUJBQWlCLENBQUM7QUFDL0MsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGlCQUFpQixDQUFDO0FBQy9DLE9BQU8sRUFBRSxjQUFjLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN4RCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sc0JBQXNCLENBQUM7QUFDckQsT0FBTyxFQUFFLFdBQVcsRUFBRSxNQUFNLGdCQUFnQixDQUFDO0FBQzdDLE9BQU8sRUFBRSxlQUFlLEVBQUUsTUFBTSwwQkFBMEIsQ0FBQztBQUMzRCxPQUFPLEVBQUUsaUJBQWlCLEVBQUUsTUFBTSw0QkFBNEIsQ0FBQztBQUMvRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMEJBQTBCLENBQUM7QUFDM0QsT0FBTyxFQUFFLGFBQWEsRUFBRSxNQUFNLHdCQUF3QixDQUFDO0FBQ3ZELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSx3QkFBd0IsQ0FBQztBQUN2RCxPQUFPLEVBQUUsY0FBYyxFQUFFLE1BQU0seUJBQXlCLENBQUM7QUFDekQsT0FBTyxFQUFFLG9CQUFvQixFQUFFLE1BQU0sZ0NBQWdDLENBQUM7QUFDdEUsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLDBCQUEwQixDQUFDO0FBQzNELE9BQU8sRUFBRSxnQkFBZ0IsRUFBRSxNQUFNLDJCQUEyQixDQUFDO0FBQzdELE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxtQkFBbUIsQ0FBQztBQUNsRCxPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sd0JBQXdCLENBQUM7QUFDdkQsT0FBTyxFQUFF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QUFxQjtRQUNyQixvQkFBb0I7UUFDcEIsd0JBQXdCO1FBQ3hCLHFCQUFxQjtRQUNyQixzQkFBc0I7UUFDdEIscUJBQXFCO1FBQ3JCLGlCQUFpQjtRQUNqQixpQkFBaUI7UUFDakIsZUFBZTtRQUNmLG9CQUFvQjtRQUNwQiwwQkFBMEI7UUFDMUIsZUFBZTtRQUNmLGtCQUFrQjtRQUNsQix3QkFBd0I7UUFDeEIsa0JBQWtCO1FBQ2xCLHVCQUF1QjtRQUN2QiwwQkFBMEI7UUFDMUIsZ0NBQWdDO1FBQ2hDLHFCQUFxQjtRQUNyQixtQkFBbUI7UUFDbkIsb0JBQW9CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgRXJyb3JIYW5kbGVyLCBOZ01vZHVsZSwgVHlwZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuaW1wb3J0IHsgQ29tbW9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvY29tbW9uJztcbmltcG9ydCB7IFJvdXRlck1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL3JvdXRlcic7XG5pbXBvcnQgeyBEcmFnRHJvcE1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9kcmFnLWRyb3AnO1xuaW1wb3J0IHsgT3ZlcmxheU1vZHVsZSB9IGZyb20gJ0Bhbmd1bGFyL2Nkay9vdmVybGF5JztcbmltcG9ydCB7IEZvcm1zTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvZm9ybXMnO1xuaW1wb3J0IHsgTWF0QnV0dG9uTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvYnV0dG9uJztcbmltcG9ydCB7IE1hdENoZWNrYm94TW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvY2hlY2tib3gnO1xuaW1wb3J0IHsgTWF0RGlhbG9nTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvZGlhbG9nJztcbmltcG9ydCB7IE1hdEljb25Nb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9pY29uJztcbmltcG9ydCB7IE1hdE1lbnVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9tZW51JztcbmltcG9ydCB7IE1hdFJhZGlvTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvcmFkaW8nO1xuaW1wb3J0IHsgTWF0U2xpZGVUb2dnbGVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC9zbGlkZS10b2dnbGUnO1xuaW1wb3J0IHsgTWF0U2xpZGVyTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvc2xpZGVyJztcbmltcG9ydCB7IE1hdFRvb2x0aXBNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9tYXRlcmlhbC90b29sdGlwJztcbmltcG9ydCB7IENka1RyZWVNb2R1bGUgfSBmcm9tICdAYW5ndWxhci9jZGsvdHJlZSc7XG5pbXBvcnQgeyBNYXRUYWJzTW9kdWxlIH0gZnJvbSAnQGFuZ3VsYXIvbWF0ZXJpYWwvdGFicyc7XG5pbXBvcnQgeyBOZ3hTbGlkZXJNb2R1bGUgfSBmcm9tICdAcnAzZTExL25neC1zbGlkZXInO1xuaW1wb3J0IHsgTmF2Q29tcG9uZW50IH0gZnJvbSAnLi9uYXYvbmF2LmNvbXBvbmVudCc7XG5pbXBvcnQge1xuICBQaG9lbml4TWVudUNvbXBvbmVudCxcbiAgUGhvZW5peE1lbnVJdGVtQ29tcG9uZW50LFxuICBDb25maWdTbGlkZXJDb21wb25lbnQsXG59IGZyb20gJy4vcGhvZW5peC1tZW51JztcbmltcG9ydCB7XG4gIFVpTWVudVdyYXBwZXJDb21wb25lbnQsXG4gIFVpTWVudUNvbXBvbmVudCxcbiAgQ29sbGVjdGlvbnNJbmZvQ29tcG9uZW50LFxuICBNZW51VG9nZ2xlQ29tcG9uZW50LFxuICBDb2xsZWN0aW9uc0luZm9PdmVybGF5Q29tcG9uZW50LFxuICBJb09wdGlvbnNDb21wb25lbnQsXG4gIElPT3B0aW9uc0RpYWxvZ0NvbXBvbmVudCxcbiAgT3ZlcmxheVZpZXdDb21wb25lbnQsXG4gIE9iamVjdFNlbGVjdGlvbkNvbXBvbmVudCxcbiAgT2JqZWN0U2VsZWN0aW9uT3ZlcmxheUNvbXBvbmVudCxcbiAgRXZlbnRTZWxlY3RvckNvbXBvbmVudCxcbiAgT2JqZWN0Q2xpcHBpbmdDb21wb25lbnQsXG4gIERhcmtUaGVtZUNvbXBvbmVudCxcbiAgQXV0b1JvdGF0ZUNvbXBvbmVudCxcbiAgVmlld09wdGlvbnNDb21wb25lbnQsXG4gIE92ZXJsYXlWaWV3V2luZG93Q29tcG9uZW50LFxuICBPdmVybGF5Q29tcG9uZW50LFxuICBFeHBlcmltZW50SW5mb0NvbXBvbmVudCxcbiAgSW5mb1BhbmVsQ29tcG9uZW50LFxuICBJbmZvUGFuZWxPdmVybGF5Q29tcG9uZW50LFxuICBNYWluVmlld1RvZ2dsZUNvbXBvbmVudCxcbiAgWm9vbUNvbnRyb2xzQ29tcG9uZW50LFxuICBUcmVlTWVudUNvbXBvbmVudCxcbiAgVHJlZU1lbnVJdGVtQ29tcG9uZW50LFxuICBBbmltYXRlQ2FtZXJhQ29tcG9uZW50LFxuICBBbmltYXRlRXZlbnRDb21wb25lbnQsXG4gIFZyVG9nZ2xlQ29tcG9uZW50LFxuICBBclRvZ2dsZUNvbXBvbmVudCxcbiAgU1NNb2RlQ29tcG9uZW50LFxuICBNYWtlUGljdHVyZUNvbXBvbmVudCxcbiAgUGVyZm9ybWFuY2VUb2dnbGVDb21wb25lbnQsXG4gIFNoYXJlTGlua0NvbXBvbmVudCxcbiAgU2hhcmVMaW5rRGlhbG9nQ29tcG9uZW50LFxuICBFdmVudERhdGFFeHBsb3JlckNvbXBvbmVudCxcbiAgRXZlbnREYXRhRXhwbG9yZXJEaWFsb2dDb21wb25lbnQsXG4gIEN5Y2xlRXZlbnRzQ29tcG9uZW50LFxufSBmcm9tICcuL3VpLW1lbnUnO1xuaW1wb3J0IHsgQXR0cmlidXRlUGlwZSB9IGZyb20gJy4uL3NlcnZpY2VzL2V4dHJhcy9hdHRyaWJ1dGUucGlwZSc7XG5pbXBvcnQgeyBFdmVudERpc3BsYXlTZXJ2aWNlIH0gZnJvbSAnLi4vc2VydmljZXMvZXZlbnQtZGlzcGxheS5zZXJ2aWNlJztcbmltcG9ydCB7IEVycm9yTWVzc2FnZVNlcnZpY2UgfSBmcm9tICcuLi9zZXJ2aWNlcy9lcnJvci1tZXNzYWdlLXNlcnZpY2UnO1xuaW1wb3J0IHsgR2xvYmFsRXJyb3JIYW5kbGVyIH0gZnJvbSAnLi4vc2VydmljZXMvZ2xvYmFsLWVycm9yLWhhbmRsZXInO1xuaW1wb3J0IHsgTG9hZGVyQ29tcG9uZW50IH0gZnJvbSAnLi9sb2FkZXIvbG9hZGVyLmNvbXBvbmVudCc7XG5pbXBvcnQgeyBFbWJlZE1lbnVDb21wb25lbnQgfSBmcm9tICcuL2VtYmVkLW1lbnUvZW1iZWQtbWVudS5jb21wb25lbnQnO1xuaW1wb3J0IHsgRXhwZXJpbWVudExpbmtDb21wb25lbnQgfSBmcm9tICcuL2VtYmVkLW1lbnUvZXhwZXJpbWVudC1saW5rL2V4cGVyaW1lbnQtbGluay5jb21wb25lbnQnO1xuaW1wb3J0IHsgRmlsZUV4cGxvcmVyQ29tcG9uZW50IH0gZnJvbSAnLi9maWxlLWV4cGxvcmVyL2ZpbGUtZXhwbG9yZXIuY29tcG9uZW50JztcbmltcG9ydCB7IFJpbmdMb2FkZXJDb21wb25lbnQgfSBmcm9tICcuL3JpbmctbG9hZGVyL3JpbmctbG9hZGVyLmNvbXBvbmVudCc7XG5cbmNvbnN0IFBIT0VOSVhfQ09NUE9ORU5UUzogVHlwZTxhbnk+W10gPSBbXG4gIE5hdkNvbXBvbmVudCxcbiAgVWlNZW51V3JhcHBlckNvbXBvbmVudCxcbiAgVWlNZW51Q29tcG9uZW50LFxuICBDb2xsZWN0aW9uc0luZm9Db21wb25lbnQsXG4gIE1lbnVUb2dnbGVDb21wb25lbnQsXG4gIENvbGxlY3Rpb25zSW5mb092ZXJsYXlDb21wb25lbnQsXG4gIElvT3B0aW9uc0NvbXBvbmVudCxcbiAgSU9PcHRpb25zRGlhbG9nQ29tcG9uZW50LFxuICBPdmVybGF5Vmlld0NvbXBvbmVudCxcbiAgQXR0cmlidXRlUGlwZSxcbiAgT2JqZWN0U2VsZWN0aW9uQ29tcG9uZW50LFxuICBPYmplY3RTZWxlY3Rpb25PdmVybGF5Q29tcG9uZW50LFxuICBFdmVudFNlbGVjdG9yQ29tcG9uZW50LFxuICBPYmplY3RDbGlwcGluZ0NvbXBvbmVudCxcbiAgRGFya1RoZW1lQ29tcG9uZW50LFxuICBBdXRvUm90YXRlQ29tcG9uZW50LFxuICBWaWV3T3B0aW9uc0NvbXBvbmVudCxcbiAgT3ZlcmxheVZpZXdXaW5kb3dDb21wb25lbnQsXG4gIE92ZXJsYXlDb21wb25lbnQsXG4gIEV4cGVyaW1lbnRJbmZvQ29tcG9uZW50LFxuICBJbmZvUGFuZWxDb21wb25lbnQsXG4gIEluZm9QYW5lbE92ZXJsYXlDb21wb25lbnQsXG4gIE1haW5WaWV3VG9nZ2xlQ29tcG9uZW50LFxuICBab29tQ29udHJvbHNDb21wb25lbnQsXG4gIFRyZWVNZW51Q29tcG9uZW50LFxuICBUcmVlTWVudUl0ZW1Db21wb25lbnQsXG4gIFBob2VuaXhNZW51Q29tcG9uZW50LFxuICBQaG9lbml4TWVudUl0ZW1Db21wb25lbnQsXG4gIENvbmZpZ1NsaWRlckNvbXBvbmVudCxcbiAgQW5pbWF0ZUNhbWVyYUNvbXBvbmVudCxcbiAgQW5pbWF0ZUV2ZW50Q29tcG9uZW50LFxuICBWclRvZ2dsZUNvbXBvbmVudCxcbiAgQXJUb2dnbGVDb21wb25lbnQsXG4gIFNTTW9kZUNvbXBvbmVudCxcbiAgTWFrZVBpY3R1cmVDb21wb25lbnQsXG4gIFBlcmZvcm1hbmNlVG9nZ2xlQ29tcG9uZW50LFxuICBMb2FkZXJDb21wb25lbnQsXG4gIFNoYXJlTGlua0NvbXBvbmVudCxcbiAgU2hhcmVMaW5rRGlhbG9nQ29tcG9uZW50LFxuICBFbWJlZE1lbnVDb21wb25lbnQsXG4gIEV4cGVyaW1lbnRMaW5rQ29tcG9uZW50LFxuICBFdmVudERhdGFFeHBsb3JlckNvbXBvbmVudCxcbiAgRXZlbnREYXRhRXhwbG9yZXJEaWFsb2dDb21wb25lbnQsXG4gIEZpbGVFeHBsb3JlckNvbXBvbmVudCxcbiAgUmluZ0xvYWRlckNvbXBvbmVudCxcbiAgQ3ljbGVFdmVudHNDb21wb25lbnQsXG5dO1xuXG5ATmdNb2R1bGUoe1xuICBkZWNsYXJhdGlvbnM6IFBIT0VOSVhfQ09NUE9ORU5UUyxcbiAgaW1wb3J0czogW1xuICAgIENvbW1vbk1vZHVsZSxcbiAgICBSb3V0ZXJNb2R1bGUsXG4gICAgRHJhZ0Ryb3BNb2R1bGUsXG4gICAgTWF0RGlhbG9nTW9kdWxlLFxuICAgIE1hdEJ1dHRvbk1vZHVsZSxcbiAgICBNYXRUb29sdGlwTW9kdWxlLFxuICAgIE92ZXJsYXlNb2R1bGUsXG4gICAgRm9ybXNNb2R1bGUsXG4gICAgTWF0TWVudU1vZHVsZSxcbiAgICBNYXRSYWRpb01vZHVsZSxcbiAgICBNYXRTbGlkZXJNb2R1bGUsXG4gICAgTWF0U2xpZGVUb2dnbGVNb2R1bGUsXG4gICAgTWF0Q2hlY2tib3hNb2R1bGUsXG4gICAgTWF0SWNvbk1vZHVsZSxcbiAgICBOZ3hTbGlkZXJNb2R1bGUsXG4gICAgQ2RrVHJlZU1vZHVsZSxcbiAgICBNYXRUYWJzTW9kdWxlLFxuICBdLFxuICBlbnRyeUNvbXBvbmVudHM6IFtcbiAgICBPdmVybGF5Q29tcG9uZW50LFxuICAgIE92ZXJsYXlWaWV3V2luZG93Q29tcG9uZW50LFxuICAgIElPT3B0aW9uc0RpYWxvZ0NvbXBvbmVudCxcbiAgICBDb2xsZWN0aW9uc0luZm9PdmVybGF5Q29tcG9uZW50LFxuICAgIE9iamVjdFNlbGVjdGlvbk92ZXJsYXlDb21wb25lbnQsXG4gICAgSW5mb1BhbmVsT3ZlcmxheUNvbXBvbmVudCxcbiAgICBFdmVudERhdGFFeHBsb3JlckRpYWxvZ0NvbXBvbmVudCxcbiAgXSxcbiAgZXhwb3J0czogUEhPRU5JWF9DT01QT05FTlRTLFxuICBwcm92aWRlcnM6IFtcbiAgICBFdmVudERpc3BsYXlTZXJ2aWNlLFxuICAgIEVycm9yTWVzc2FnZVNlcnZpY2UsXG4gICAge1xuICAgICAgcHJvdmlkZTogRXJyb3JIYW5kbGVyLFxuICAgICAgdXNlQ2xhc3M6IEdsb2JhbEVycm9ySGFuZGxlcixcbiAgICB9LFxuICBdLFxufSlcbmV4cG9ydCBjbGFzcyBQaG9lbml4VUlNb2R1bGUge31cbiJdfQ==