@kando-env/kando-ui 1.2.47-alpha.9 → 1.2.48

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 (27) hide show
  1. package/lib/components/SevereEvent/SevereEvent.js +4 -4
  2. package/lib/i18n/en.json +19 -11
  3. package/lib/i18n/he.json +64 -1
  4. package/lib/macros/getVersion.js +2 -2
  5. package/lib/pages/ImportGisPage/style.module.scss +6 -6
  6. package/lib/pages/NotificationsPageV2/NotificationsPage.js +160 -83
  7. package/lib/pages/NotificationsPageV2/components/NotificationsCard.js +19 -8
  8. package/lib/pages/NotificationsPageV2/components/NotificationsForm/NotificationsFormContent.js +289 -94
  9. package/lib/pages/NotificationsPageV2/components/NotificationsSidebar.js +101 -140
  10. package/lib/pages/NotificationsPageV2/components/NotificationsUtils.js +216 -0
  11. package/lib/pages/NotificationsPageV2/notificationUtils.js +60 -258
  12. package/lib/pages/SamplingsPage/NewSamplingAction.js +2 -2
  13. package/lib/pages/SamplingsPage/SamplingActionDropdown.js +25 -20
  14. package/lib/pages/SamplingsPage/SamplingMobileModal.js +49 -48
  15. package/lib/pages/SamplingsPage/SamplingProperties/SamplingMobileProperties.js +11 -73
  16. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +7 -5
  17. package/lib/pages/SamplingsPage/SamplingsMobileItem.js +1 -4
  18. package/lib/pages/SamplingsPage/SamplingsPage.js +2 -18
  19. package/lib/pages/SamplingsPage/samplingsPageUtils.js +24 -29
  20. package/lib/pages/SamplingsPage/style.module.scss +0 -31
  21. package/lib/pages/SamplingsPage/table.styles.scss +0 -1
  22. package/lib/ui-kit/Checkbox/Checkbox.js +18 -17
  23. package/lib/ui-kit/DropDown/DropDown.js +4 -2
  24. package/lib/ui-kit/KandoTable/KandoTable.js +6 -10
  25. package/lib/utilities/urls.js +12 -1
  26. package/package.json +1 -1
  27. package/lib/ui-kit/KandoTable/style.module.scss +0 -5
@@ -5,280 +5,70 @@ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefau
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.getNotificationString = exports.sendViaCheckBoxes = exports.sourcesRadioButtons = exports.waterAuthoritiesRadioButtons = exports.severitiesRadioButtons = exports.getEmptyNotification = exports.notificationsData = exports.mockTypes = exports.mockSources = exports.mockWaterAuthorities = void 0;
8
+ exports.getNotificationString = exports.sendViaCheckBoxes = exports.sourcesRadioButtons = exports.waterAuthoritiesRadioButtons = exports.severitiesRadioButtons = exports.getEmptyNotification = exports.mockTypes = void 0;
9
9
 
10
10
  var _i18n = _interopRequireDefault(require("utilities/i18n"));
11
11
 
12
- var mockWaterAuthorities = [{
13
- id: 'w123',
14
- text: 'water authority 1'
15
- }, {
16
- id: 'w124',
17
- text: 'water authority 2'
18
- }, {
19
- id: 'w125',
20
- text: 'water authority 3'
21
- }, {
22
- id: 'w126',
23
- text: 'water authority 4'
24
- }, {
25
- id: 'w127',
26
- text: 'water authority 5'
27
- }, {
28
- id: 'w128',
29
- text: 'water authority 6'
30
- }];
31
- exports.mockWaterAuthorities = mockWaterAuthorities;
32
- var mockSources = [{
33
- id: 's123',
34
- text: 'source 1'
35
- }, {
36
- id: 's124',
37
- text: 'source 2'
38
- }, {
39
- id: 's125',
40
- text: 'source 3'
41
- }, {
42
- id: 's126',
43
- text: 'source 4'
44
- }, {
45
- id: 's127',
46
- text: 'source 5'
47
- }, {
48
- id: 's128',
49
- text: 'source 6'
50
- }];
51
- exports.mockSources = mockSources;
52
- var mockTypes = [{
53
- id: 't123',
54
- text: 'pollutionEventAlert'
55
- }, {
56
- id: 't124',
57
- text: 'thresholdsExceededAlert'
58
- }, {
59
- id: 't125',
60
- text: 'waterLevelOverflowAlert'
61
- }, {
62
- id: 't126',
63
- text: 'deviceMalfunctionsAlert'
64
- }, {
65
- id: 't127',
66
- text: 'WBEWeeklySummary'
67
- }, {
68
- id: 't128',
69
- text: 'WBEAlert'
70
- }];
12
+ var mockTypes = ['PollutionAlertConfig', 'DataloggerThresholdAlertConfig', 'DataloggerOverflowAlertConfig', 'DeviceHealthAlertConfig', 'WbeAlertConfig', 'WbeWeeklyDigestAlertConfig'];
71
13
  exports.mockTypes = mockTypes;
72
- var notificationsData = [{
73
- id: 'n123',
74
- type: {
75
- id: 't123',
76
- text: 'pollutionEventAlert'
77
- },
78
- severities: 'high',
79
- waterAuthorities: {
80
- type: 'all',
81
- selected: [{
82
- id: 'w123',
83
- text: 'water authority 1'
84
- }, {
85
- id: 'w124',
86
- text: 'water authority 2'
87
- }]
88
- },
89
- sources: {
90
- type: 'all',
91
- selected: []
92
- },
93
- notificationAlerts: {
94
- telegram: true,
95
- email: true,
96
- sms: true
97
- },
98
- sample: true
99
- }, {
100
- id: 'n124',
101
- type: {
102
- id: 't124',
103
- text: 'thresholdsExceededAlert'
104
- },
105
- severities: 'medium',
106
- waterAuthorities: {
107
- type: 'all',
108
- selected: []
109
- },
110
- sources: {
111
- type: 'exclude',
112
- selected: [{
113
- id: 's123',
114
- text: 'source 1'
115
- }, {
116
- id: 's124',
117
- text: 'source 2'
118
- }, {
119
- id: 's125',
120
- text: 'source 3'
121
- }]
122
- },
123
- notificationAlerts: {
124
- telegram: true,
125
- email: false,
126
- sms: true
127
- },
128
- sample: false
129
- }, {
130
- id: 'n125',
131
- type: {
132
- id: 't125',
133
- text: 'waterLevelOverflowAlert'
134
- },
135
- severities: '',
136
- waterAuthorities: {
137
- type: 'all',
138
- selected: []
139
- },
140
- sources: {
141
- type: 'all',
142
- selected: []
143
- },
144
- notificationAlerts: {
145
- telegram: true,
146
- email: false,
147
- sms: false
148
- },
149
- sample: false
150
- }, {
151
- id: 'n126',
152
- type: {
153
- id: 't126',
154
- text: 'deviceMalfunctionsAlert'
155
- },
156
- severities: '',
157
- waterAuthorities: {
158
- type: 'all',
159
- selected: []
160
- },
161
- sources: {
162
- type: 'include',
163
- selected: [{
164
- id: 's123',
165
- text: 'source 1'
166
- }, {
167
- id: 's124',
168
- text: 'source 2'
169
- }, {
170
- id: 's125',
171
- text: 'source 3'
172
- }, {
173
- id: 's126',
174
- text: 'source 4'
175
- }, {
176
- id: 's127',
177
- text: 'source 5'
178
- }]
179
- },
180
- notificationAlerts: {
181
- telegram: false,
182
- email: true,
183
- sms: true
184
- },
185
- sample: false
186
- }, {
187
- id: 'n127',
188
- type: {
189
- id: 't127',
190
- text: 'WBEWeeklySummary'
191
- },
192
- severities: '',
193
- waterAuthorities: {
194
- type: 'all',
195
- selected: []
196
- },
197
- sources: {
198
- type: 'all',
199
- selected: []
200
- },
201
- notificationAlerts: {
202
- telegram: true,
203
- email: true,
204
- sms: false
205
- },
206
- sample: false
207
- }, {
208
- id: 'n128',
209
- type: {
210
- id: 't128',
211
- text: 'WBEAlert'
212
- },
213
- severities: '',
214
- waterAuthorities: {
215
- type: 'all',
216
- selected: []
217
- },
218
- sources: {
219
- type: 'all',
220
- selected: []
221
- },
222
- notificationAlerts: {
223
- telegram: true,
224
- email: true,
225
- sms: true
226
- },
227
- sample: false
228
- }];
229
- exports.notificationsData = notificationsData;
230
14
 
231
15
  var getEmptyNotification = function getEmptyNotification() {
232
16
  return {
17
+ available_types: ['PollutionAlertConfig', 'DataloggerThresholdAlertConfig', 'DataloggerOverflowAlertConfig', 'DeviceHealthAlertConfig', 'WbeAlertConfig', 'WbeWeeklyDigestAlertConfig'],
233
18
  id: '',
234
- type: {
235
- id: '',
236
- text: ''
19
+ type: '',
20
+ severity: 'medium',
21
+ water_authorities: {
22
+ selection_type: 'all',
23
+ set: []
237
24
  },
238
- severities: 'medium',
239
- waterAuthorities: {
240
- type: 'all',
241
- selected: []
25
+ points: {
26
+ selection_type: 'all',
27
+ set: []
242
28
  },
243
- sources: {
244
- type: 'all',
245
- selected: []
29
+ tags: {
30
+ selection_type: 'all',
31
+ set: []
246
32
  },
247
- notificationAlerts: {
33
+ sensors: {
34
+ selection_type: 'all',
35
+ set: []
36
+ },
37
+ actions: {
248
38
  telegram: false,
249
39
  email: true,
250
40
  sms: true
251
41
  },
252
- sample: false
42
+ pump_only: false
253
43
  };
254
44
  };
255
45
 
256
46
  exports.getEmptyNotification = getEmptyNotification;
257
47
  var severitiesRadioButtons = [{
258
48
  label: 'notifications_page.edit_extreme',
259
- name: 'severities',
49
+ name: 'severity',
260
50
  value: 'extreme'
261
51
  }, {
262
52
  label: 'notifications_page.edit_high',
263
- name: 'severities',
53
+ name: 'severity',
264
54
  value: 'high'
265
55
  }, {
266
56
  label: 'notifications_page.edit_medium',
267
- name: 'severities',
57
+ name: 'severity',
268
58
  value: 'medium'
269
59
  }];
270
60
  exports.severitiesRadioButtons = severitiesRadioButtons;
271
61
  var waterAuthoritiesRadioButtons = [{
272
62
  label: 'notifications_page.edit_all',
273
- name: 'waterAuthorities',
63
+ name: 'water_authorities',
274
64
  value: 'all'
275
65
  }, {
276
66
  label: 'notifications_page.edit_include',
277
- name: 'waterAuthorities',
67
+ name: 'water_authorities',
278
68
  value: 'include'
279
69
  }, {
280
70
  label: 'notifications_page.edit_exclude',
281
- name: 'waterAuthorities',
71
+ name: 'water_authorities',
282
72
  value: 'exclude'
283
73
  }];
284
74
  exports.waterAuthoritiesRadioButtons = waterAuthoritiesRadioButtons;
@@ -298,15 +88,15 @@ var sourcesRadioButtons = [{
298
88
  exports.sourcesRadioButtons = sourcesRadioButtons;
299
89
  var sendViaCheckBoxes = [{
300
90
  label: 'notifications_page.edit_telegram',
301
- name: 'notificationAlerts',
91
+ name: 'actions',
302
92
  value: 'telegram'
303
93
  }, {
304
94
  label: 'notifications_page.edit_email',
305
- name: 'notificationAlerts',
95
+ name: 'actions',
306
96
  value: 'email'
307
97
  }, {
308
98
  label: 'notifications_page.edit_sms',
309
- name: 'notificationAlerts',
99
+ name: 'actions',
310
100
  value: 'sms'
311
101
  }];
312
102
  exports.sendViaCheckBoxes = sendViaCheckBoxes;
@@ -318,30 +108,30 @@ var getNotificationString = function getNotificationString(notification) {
318
108
 
319
109
  var typeString = '';
320
110
  var sampleString = '';
321
- sampleString = notification.sample ? ' when Sampler was activated.' : '.';
111
+ sampleString = notification.pump_only ? " ".concat(_i18n.default.t('notifications_page.sampler_activated')) : '.';
322
112
 
323
- switch (notification.type.text) {
324
- case 'pollutionEventAlert':
113
+ switch (notification.type) {
114
+ case 'PollutionAlertConfig':
325
115
  typeString = [title, getNotificationAlertsString(notification), _i18n.default.t("".concat(transIdx, "about_pollution_events")), getNotificationSeveritiesString(notification), getNotificationSourcesString(notification, transIdx), sampleString].join(' ');
326
116
  break;
327
117
 
328
- case 'thresholdsExceededAlert':
329
- typeString = "".concat(title, " ").concat(getNotificationAlertsString(notification), " ").concat(_i18n.default.t(transIdx + 'sensors_thresholds'), ", ").concat(getNotificationSourcesString(notification, transIdx), ".");
118
+ case 'DataloggerThresholdAlertConfig':
119
+ typeString = "".concat(title, " ").concat(getNotificationAlertsString(notification), " ").concat(_i18n.default.t(transIdx + 'sensors_thresholds'), ", ").concat(getNotificationSensorsString(notification), ".");
330
120
  break;
331
121
 
332
- case 'waterLevelOverflowAlert':
122
+ case 'DataloggerOverflowAlertConfig':
333
123
  typeString = "".concat(title, " ").concat(getNotificationAlertsString(notification), " ").concat(_i18n.default.t(transIdx + 'overflow_event'), ", ").concat(getNotificationSourcesString(notification, transIdx), ".");
334
124
  break;
335
125
 
336
- case 'deviceMalfunctionsAlert':
126
+ case 'DeviceHealthAlertConfig':
337
127
  typeString = "".concat(title, " ").concat(getNotificationAlertsString(notification), " ").concat(_i18n.default.t(transIdx + 'device_malfunctioning'), " ").concat(getNotificationSourcesString(notification, transIdx), ".");
338
128
  break;
339
129
 
340
- case 'WBEWeeklySummary':
130
+ case 'WbeWeeklyDigestAlertConfig':
341
131
  typeString = "".concat(title, " ").concat(getNotificationAlertsString(notification), " ").concat(_i18n.default.t(transIdx + 'wbe_weekly'), ".");
342
132
  break;
343
133
 
344
- case 'WBEAlert':
134
+ case 'WbeAlertConfig':
345
135
  typeString = "".concat(title, " ").concat(getNotificationAlertsString(notification), " ").concat(_i18n.default.t(transIdx + 'wbe_alert'), ".");
346
136
  break;
347
137
  }
@@ -352,7 +142,7 @@ var getNotificationString = function getNotificationString(notification) {
352
142
  exports.getNotificationString = getNotificationString;
353
143
 
354
144
  function getNotificationAlertsString(notification) {
355
- var sendVia = notification.notificationAlerts;
145
+ var sendVia = notification.actions;
356
146
  var sendViaString = '';
357
147
 
358
148
  for (var key in sendVia) {
@@ -365,24 +155,36 @@ function getNotificationAlertsString(notification) {
365
155
  }
366
156
 
367
157
  function getNotificationSeveritiesString(notification) {
368
- var severities = notification.severities;
158
+ var severity = notification.severity;
369
159
  var severityString = '';
370
- severities === 'extreme' ? severityString = _i18n.default.t('notifications_page.extreme') : severityString = _i18n.default.t("notifications_page.".concat(severities)) + ' ' + _i18n.default.t("notifications_page.notifications_text.or_higher");
160
+ severity === 'extreme' ? severityString = _i18n.default.t('notifications_page.extreme') : severityString = _i18n.default.t("notifications_page.".concat(severity)) + ' ' + _i18n.default.t("notifications_page.notifications_text.or_higher");
371
161
  return severityString;
372
162
  }
373
163
 
374
164
  function getNotificationSourcesString(notification, transIdx) {
375
- var selected = notification.sources.selected;
376
- var type = notification.sources.type;
165
+ var set = notification.points.set;
166
+ var selection_type = notification.points.selection_type;
377
167
  var Strings = [];
378
168
  var sourcesString = '';
379
- if (type === 'all') Strings.push(_i18n.default.t("".concat(transIdx, "in_all_sources")));
380
- if (type === 'exclude') Strings.push(_i18n.default.t("".concat(transIdx, "excluding")));
381
- if (type === 'include') Strings.push(_i18n.default.t("".concat(transIdx, "in")));
382
- if (type !== 'all') selected.map(function (source) {
169
+ if (selection_type === 'all') Strings.push(_i18n.default.t("".concat(transIdx, "in_all_sources")));
170
+ if (selection_type === 'exclude') Strings.push(_i18n.default.t("".concat(transIdx, "excluding")));
171
+ if (selection_type === 'include') Strings.push(_i18n.default.t("".concat(transIdx, "in")));
172
+ if (selection_type !== 'all') set.map(function (source) {
383
173
  return Strings.push(source.text);
384
174
  });
385
175
  Strings.length <= 4 ? sourcesString = Strings.join(', ') : sourcesString = Strings.slice(0, 5).join(', ') + '..';
386
176
  return sourcesString;
387
177
  }
388
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9Ob3RpZmljYXRpb25zUGFnZVYyL25vdGlmaWNhdGlvblV0aWxzLnRzeCJdLCJuYW1lcyI6WyJtb2NrV2F0ZXJBdXRob3JpdGllcyIsImlkIiwidGV4dCIsIm1vY2tTb3VyY2VzIiwibW9ja1R5cGVzIiwibm90aWZpY2F0aW9uc0RhdGEiLCJ0eXBlIiwic2V2ZXJpdGllcyIsIndhdGVyQXV0aG9yaXRpZXMiLCJzZWxlY3RlZCIsInNvdXJjZXMiLCJub3RpZmljYXRpb25BbGVydHMiLCJ0ZWxlZ3JhbSIsImVtYWlsIiwic21zIiwic2FtcGxlIiwiZ2V0RW1wdHlOb3RpZmljYXRpb24iLCJzZXZlcml0aWVzUmFkaW9CdXR0b25zIiwibGFiZWwiLCJuYW1lIiwidmFsdWUiLCJ3YXRlckF1dGhvcml0aWVzUmFkaW9CdXR0b25zIiwic291cmNlc1JhZGlvQnV0dG9ucyIsInNlbmRWaWFDaGVja0JveGVzIiwiZ2V0Tm90aWZpY2F0aW9uU3RyaW5nIiwibm90aWZpY2F0aW9uIiwidHJhbnNJZHgiLCJ0aXRsZSIsImkxOG4iLCJ0IiwidHlwZVN0cmluZyIsInNhbXBsZVN0cmluZyIsImdldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyIsImdldE5vdGlmaWNhdGlvblNldmVyaXRpZXNTdHJpbmciLCJnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nIiwiam9pbiIsInNlbmRWaWEiLCJzZW5kVmlhU3RyaW5nIiwia2V5Iiwic2V2ZXJpdHlTdHJpbmciLCJTdHJpbmdzIiwic291cmNlc1N0cmluZyIsInB1c2giLCJtYXAiLCJzb3VyY2UiLCJsZW5ndGgiLCJzbGljZSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBdUJPLElBQU1BLG9CQUF3QyxHQUFHLENBQ3REO0FBQUVDLEVBQUFBLEVBQUUsRUFBRSxNQUFOO0FBQWNDLEVBQUFBLElBQUksRUFBRTtBQUFwQixDQURzRCxFQUV0RDtBQUFFRCxFQUFBQSxFQUFFLEVBQUUsTUFB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QUdELE9BQU8sQ0FBQ00sS0FBUixDQUFjLENBQWQsRUFBaUIsQ0FBakIsRUFBb0JYLElBQXBCLENBQXlCLElBQXpCLElBQWlDLElBRnREO0FBR0EsU0FBT00sYUFBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcblxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb25UeXBlIHtcbiAgaWQ6IHN0cmluZztcbiAgdGV4dDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIE5vdGlmaWNhdGlvbiB7XG4gIGlkOiBzdHJpbmc7XG4gIHR5cGU6IE5vdGlmaWNhdGlvblR5cGU7XG4gIHNldmVyaXRpZXM6IHN0cmluZztcbiAgd2F0ZXJBdXRob3JpdGllczoge1xuICAgIHR5cGU6IHN0cmluZztcbiAgICBzZWxlY3RlZDogTm90aWZpY2F0aW9uVHlwZVtdO1xuICB9O1xuICBzb3VyY2VzOiB7XG4gICAgdHlwZTogc3RyaW5nO1xuICAgIHNlbGVjdGVkOiBOb3RpZmljYXRpb25UeXBlW107XG4gIH07XG4gIG5vdGlmaWNhdGlvbkFsZXJ0czogeyB0ZWxlZ3JhbTogYm9vbGVhbjsgZW1haWw6IGJvb2xlYW47IHNtczogYm9vbGVhbiB9O1xuICBzYW1wbGU6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBjb25zdCBtb2NrV2F0ZXJBdXRob3JpdGllczogTm90aWZpY2F0aW9uVHlwZVtdID0gW1xuICB7IGlkOiAndzEyMycsIHRleHQ6ICd3YXRlciBhdXRob3JpdHkgMScgfSxcbiAgeyBpZDogJ3cxMjQnLCB0ZXh0OiAnd2F0ZXIgYXV0aG9yaXR5IDInIH0sXG4gIHsgaWQ6ICd3MTI1JywgdGV4dDogJ3dhdGVyIGF1dGhvcml0eSAzJyB9LFxuICB7IGlkOiAndzEyNicsIHRleHQ6ICd3YXRlciBhdXRob3JpdHkgNCcgfSxcbiAgeyBpZDogJ3cxMjcnLCB0ZXh0OiAnd2F0ZXIgYXV0aG9yaXR5IDUnIH0sXG4gIHsgaWQ6ICd3MTI4JywgdGV4dDogJ3dhdGVyIGF1dGhvcml0eSA2JyB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IG1vY2tTb3VyY2VzOiBOb3RpZmljYXRpb25UeXBlW10gPSBbXG4gIHsgaWQ6ICdzMTIzJywgdGV4dDogJ3NvdXJjZSAxJyB9LFxuICB7IGlkOiAnczEyNCcsIHRleHQ6ICdzb3VyY2UgMicgfSxcbiAgeyBpZDogJ3MxMjUnLCB0ZXh0OiAnc291cmNlIDMnIH0sXG4gIHsgaWQ6ICdzMTI2JywgdGV4dDogJ3NvdXJjZSA0JyB9LFxuICB7IGlkOiAnczEyNycsIHRleHQ6ICdzb3VyY2UgNScgfSxcbiAgeyBpZDogJ3MxMjgnLCB0ZXh0OiAnc291cmNlIDYnIH0sXG5dO1xuZXhwb3J0IGNvbnN0IG1vY2tUeXBlczogTm90aWZpY2F0aW9uVHlwZVtdID0gW1xuICB7IGlkOiAndDEyMycsIHRleHQ6ICdwb2xsdXRpb25FdmVudEFsZXJ0JyB9LFxuICB7IGlkOiAndDEyNCcsIHRleHQ6ICd0aHJlc2hvbGRzRXhjZWVkZWRBbGVydCcgfSxcbiAgeyBpZDogJ3QxMjUnLCB0ZXh0OiAnd2F0ZXJMZXZlbE92ZXJmbG93QWxlcnQnIH0sXG4gIHsgaWQ6ICd0MTI2JywgdGV4dDogJ2RldmljZU1hbGZ1bmN0aW9uc0FsZXJ0JyB9LFxuICB7IGlkOiAndDEyNycsIHRleHQ6ICdXQkVXZWVrbHlTdW1tYXJ5JyB9LFxuICB7IGlkOiAndDEyOCcsIHRleHQ6ICdXQkVBbGVydCcgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBub3RpZmljYXRpb25zRGF0YTogTm90aWZpY2F0aW9uW10gPSBbXG4gIHtcbiAgICBpZDogJ24xMjMnLFxuICAgIHR5cGU6IHsgaWQ6ICd0MTIzJywgdGV4dDogJ3BvbGx1dGlvbkV2ZW50QWxlcnQnIH0sXG4gICAgc2V2ZXJpdGllczogJ2hpZ2gnLFxuICAgIHdhdGVyQXV0aG9yaXRpZXM6IHtcbiAgICAgIHR5cGU6ICdhbGwnLFxuICAgICAgc2VsZWN0ZWQ6IFtcbiAgICAgICAgeyBpZDogJ3cxMjMnLCB0ZXh0OiAnd2F0ZXIgYXV0aG9yaXR5IDEnIH0sXG4gICAgICAgIHsgaWQ6ICd3MTI0JywgdGV4dDogJ3dhdGVyIGF1dGhvcml0eSAyJyB9LFxuICAgICAgXSxcbiAgICB9LFxuXG4gICAgc291cmNlczoge1xuICAgICAgdHlwZTogJ2FsbCcsXG4gICAgICBzZWxlY3RlZDogW10sXG4gICAgfSxcblxuICAgIG5vdGlmaWNhdGlvbkFsZXJ0czoge1xuICAgICAgdGVsZWdyYW06IHRydWUsXG4gICAgICBlbWFpbDogdHJ1ZSxcbiAgICAgIHNtczogdHJ1ZSxcbiAgICB9LFxuICAgIHNhbXBsZTogdHJ1ZSxcbiAgfSxcbiAge1xuICAgIGlkOiAnbjEyNCcsXG4gICAgdHlwZTogeyBpZDogJ3QxMjQnLCB0ZXh0OiAndGhyZXNob2xkc0V4Y2VlZGVkQWxlcnQnIH0sXG4gICAgc2V2ZXJpdGllczogJ21lZGl1bScsXG4gICAgd2F0ZXJBdXRob3JpdGllczoge1xuICAgICAgdHlwZTogJ2FsbCcsXG4gICAgICBzZWxlY3RlZDogW10sXG4gICAgfSxcbiAgICBzb3VyY2VzOiB7XG4gICAgICB0eXBlOiAnZXhjbHVkZScsXG4gICAgICBzZWxlY3RlZDogW1xuICAgICAgICB7IGlkOiAnczEyMycsIHRleHQ6ICdzb3VyY2UgMScgfSxcbiAgICAgICAgeyBpZDogJ3MxMjQnLCB0ZXh0OiAnc291cmNlIDInIH0sXG4gICAgICAgIHsgaWQ6ICdzMTI1JywgdGV4dDogJ3NvdXJjZSAzJyB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIG5vdGlmaWNhdGlvbkFsZXJ0czoge1xuICAgICAgdGVsZWdyYW06IHRydWUsXG4gICAgICBlbWFpbDogZmFsc2UsXG4gICAgICBzbXM6IHRydWUsXG4gICAgfSxcbiAgICBzYW1wbGU6IGZhbHNlLFxuICB9LFxuICB7XG4gICAgaWQ6ICduMTI1JyxcbiAgICB0eXBlOiB7IGlkOiAndDEyNScsIHRleHQ6ICd3YXRlckxldmVsT3ZlcmZsb3dBbGVydCcgfSxcbiAgICBzZXZlcml0aWVzOiAnJyxcbiAgICB3YXRlckF1dGhvcml0aWVzOiB7XG4gICAgICB0eXBlOiAnYWxsJyxcbiAgICAgIHNlbGVjdGVkOiBbXSxcbiAgICB9LFxuICAgIHNvdXJjZXM6IHtcbiAgICAgIHR5cGU6ICdhbGwnLFxuICAgICAgc2VsZWN0ZWQ6IFtdLFxuICAgIH0sXG4gICAgbm90aWZpY2F0aW9uQWxlcnRzOiB7XG4gICAgICB0ZWxlZ3JhbTogdHJ1ZSxcbiAgICAgIGVtYWlsOiBmYWxzZSxcbiAgICAgIHNtczogZmFsc2UsXG4gICAgfSxcbiAgICBzYW1wbGU6IGZhbHNlLFxuICB9LFxuICB7XG4gICAgaWQ6ICduMTI2JyxcbiAgICB0eXBlOiB7IGlkOiAndDEyNicsIHRleHQ6ICdkZXZpY2VNYWxmdW5jdGlvbnNBbGVydCcgfSxcbiAgICBzZXZlcml0aWVzOiAnJyxcbiAgICB3YXRlckF1dGhvcml0aWVzOiB7XG4gICAgICB0eXBlOiAnYWxsJyxcbiAgICAgIHNlbGVjdGVkOiBbXSxcbiAgICB9LFxuICAgIHNvdXJjZXM6IHtcbiAgICAgIHR5cGU6ICdpbmNsdWRlJyxcbiAgICAgIHNlbGVjdGVkOiBbXG4gICAgICAgIHsgaWQ6ICdzMTIzJywgdGV4dDogJ3NvdXJjZSAxJyB9LFxuICAgICAgICB7IGlkOiAnczEyNCcsIHRleHQ6ICdzb3VyY2UgMicgfSxcbiAgICAgICAgeyBpZDogJ3MxMjUnLCB0ZXh0OiAnc291cmNlIDMnIH0sXG4gICAgICAgIHsgaWQ6ICdzMTI2JywgdGV4dDogJ3NvdXJjZSA0JyB9LFxuICAgICAgICB7IGlkOiAnczEyNycsIHRleHQ6ICdzb3VyY2UgNScgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICBub3RpZmljYXRpb25BbGVydHM6IHtcbiAgICAgIHRlbGVncmFtOiBmYWxzZSxcbiAgICAgIGVtYWlsOiB0cnVlLFxuICAgICAgc21zOiB0cnVlLFxuICAgIH0sXG4gICAgc2FtcGxlOiBmYWxzZSxcbiAgfSxcbiAge1xuICAgIGlkOiAnbjEyNycsXG4gICAgdHlwZTogeyBpZDogJ3QxMjcnLCB0ZXh0OiAnV0JFV2Vla2x5U3VtbWFyeScgfSxcbiAgICBzZXZlcml0aWVzOiAnJyxcbiAgICB3YXRlckF1dGhvcml0aWVzOiB7XG4gICAgICB0eXBlOiAnYWxsJyxcbiAgICAgIHNlbGVjdGVkOiBbXSxcbiAgICB9LFxuICAgIHNvdXJjZXM6IHtcbiAgICAgIHR5cGU6ICdhbGwnLFxuICAgICAgc2VsZWN0ZWQ6IFtdLFxuICAgIH0sXG4gICAgbm90aWZpY2F0aW9uQWxlcnRzOiB7XG4gICAgICB0ZWxlZ3JhbTogdHJ1ZSxcbiAgICAgIGVtYWlsOiB0cnVlLFxuICAgICAgc21zOiBmYWxzZSxcbiAgICB9LFxuICAgIHNhbXBsZTogZmFsc2UsXG4gIH0sXG4gIHtcbiAgICBpZDogJ24xMjgnLFxuICAgIHR5cGU6IHsgaWQ6ICd0MTI4JywgdGV4dDogJ1dCRUFsZXJ0JyB9LFxuICAgIHNldmVyaXRpZXM6ICcnLFxuICAgIHdhdGVyQXV0aG9yaXRpZXM6IHtcbiAgICAgIHR5cGU6ICdhbGwnLFxuICAgICAgc2VsZWN0ZWQ6IFtdLFxuICAgIH0sXG4gICAgc291cmNlczoge1xuICAgICAgdHlwZTogJ2FsbCcsXG4gICAgICBzZWxlY3RlZDogW10sXG4gICAgfSxcbiAgICBub3RpZmljYXRpb25BbGVydHM6IHtcbiAgICAgIHRlbGVncmFtOiB0cnVlLFxuICAgICAgZW1haWw6IHRydWUsXG4gICAgICBzbXM6IHRydWUsXG4gICAgfSxcbiAgICBzYW1wbGU6IGZhbHNlLFxuICB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IGdldEVtcHR5Tm90aWZpY2F0aW9uID0gKCkgPT4ge1xuICByZXR1cm4ge1xuICAgIGlkOiAnJyxcbiAgICB0eXBlOiB7IGlkOiAnJywgdGV4dDogJycgfSxcbiAgICBzZXZlcml0aWVzOiAnbWVkaXVtJyxcbiAgICB3YXRlckF1dGhvcml0aWVzOiB7XG4gICAgICB0eXBlOiAnYWxsJyxcbiAgICAgIHNlbGVjdGVkOiBbXSxcbiAgICB9LFxuICAgIHNvdXJjZXM6IHtcbiAgICAgIHR5cGU6ICdhbGwnLFxuICAgICAgc2VsZWN0ZWQ6IFtdLFxuICAgIH0sXG4gICAgbm90aWZpY2F0aW9uQWxlcnRzOiB7IHRlbGVncmFtOiBmYWxzZSwgZW1haWw6IHRydWUsIHNtczogdHJ1ZSB9LFxuICAgIHNhbXBsZTogZmFsc2UsXG4gIH07XG59O1xuXG5leHBvcnQgY29uc3Qgc2V2ZXJpdGllc1JhZGlvQnV0dG9ucyA9IFtcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfZXh0cmVtZScsXG4gICAgbmFtZTogJ3NldmVyaXRpZXMnLFxuICAgIHZhbHVlOiAnZXh0cmVtZScsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2hpZ2gnLFxuICAgIG5hbWU6ICdzZXZlcml0aWVzJyxcbiAgICB2YWx1ZTogJ2hpZ2gnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9tZWRpdW0nLFxuICAgIG5hbWU6ICdzZXZlcml0aWVzJyxcbiAgICB2YWx1ZTogJ21lZGl1bScsXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3Qgd2F0ZXJBdXRob3JpdGllc1JhZGlvQnV0dG9ucyA9IFtcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfYWxsJyxcbiAgICBuYW1lOiAnd2F0ZXJBdXRob3JpdGllcycsXG4gICAgdmFsdWU6ICdhbGwnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9pbmNsdWRlJyxcbiAgICBuYW1lOiAnd2F0ZXJBdXRob3JpdGllcycsXG4gICAgdmFsdWU6ICdpbmNsdWRlJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfZXhjbHVkZScsXG4gICAgbmFtZTogJ3dhdGVyQXV0aG9yaXRpZXMnLFxuICAgIHZhbHVlOiAnZXhjbHVkZScsXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3Qgc291cmNlc1JhZGlvQnV0dG9ucyA9IFtcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfYWxsJyxcbiAgICBuYW1lOiAnc291cmNlcycsXG4gICAgdmFsdWU6ICdhbGwnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9pbmNsdWRlJyxcbiAgICBuYW1lOiAnc291cmNlcycsXG4gICAgdmFsdWU6ICdpbmNsdWRlJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfZXhjbHVkZScsXG4gICAgbmFtZTogJ3NvdXJjZXMnLFxuICAgIHZhbHVlOiAnZXhjbHVkZScsXG4gIH0sXG5dO1xuXG5leHBvcnQgY29uc3Qgc2VuZFZpYUNoZWNrQm94ZXMgPSBbXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X3RlbGVncmFtJyxcbiAgICBuYW1lOiAnbm90aWZpY2F0aW9uQWxlcnRzJyxcbiAgICB2YWx1ZTogJ3RlbGVncmFtJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfZW1haWwnLFxuICAgIG5hbWU6ICdub3RpZmljYXRpb25BbGVydHMnLFxuICAgIHZhbHVlOiAnZW1haWwnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9zbXMnLFxuICAgIG5hbWU6ICdub3RpZmljYXRpb25BbGVydHMnLFxuICAgIHZhbHVlOiAnc21zJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBnZXROb3RpZmljYXRpb25TdHJpbmcgPSAobm90aWZpY2F0aW9uOiBOb3RpZmljYXRpb24pID0+IHtcbiAgY29uc3QgdHJhbnNJZHggPSAnbm90aWZpY2F0aW9uc19wYWdlLm5vdGlmaWNhdGlvbnNfdGV4dC4nO1xuICBjb25zdCB0aXRsZSA9IGkxOG4udChgJHt0cmFuc0lkeH10aXRsZWApO1xuICBsZXQgdHlwZVN0cmluZyA9ICcnO1xuICBsZXQgc2FtcGxlU3RyaW5nID0gJyc7XG4gIHNhbXBsZVN0cmluZyA9IG5vdGlmaWNhdGlvbi5zYW1wbGUgPyAnIHdoZW4gU2FtcGxlciB3YXMgYWN0aXZhdGVkLicgOiAnLic7XG5cbiAgc3dpdGNoIChub3RpZmljYXRpb24udHlwZS50ZXh0KSB7XG4gICAgY2FzZSAncG9sbHV0aW9uRXZlbnRBbGVydCc6XG4gICAgICB0eXBlU3RyaW5nID0gW1xuICAgICAgICB0aXRsZSxcbiAgICAgICAgZ2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKG5vdGlmaWNhdGlvbiksXG4gICAgICAgIGkxOG4udChgJHt0cmFuc0lkeH1hYm91dF9wb2xsdXRpb25fZXZlbnRzYCksXG4gICAgICAgIGdldE5vdGlmaWNhdGlvblNldmVyaXRpZXNTdHJpbmcobm90aWZpY2F0aW9uKSxcbiAgICAgICAgZ2V0Tm90aWZpY2F0aW9uU291cmNlc1N0cmluZyhub3RpZmljYXRpb24sIHRyYW5zSWR4KSxcbiAgICAgICAgc2FtcGxlU3RyaW5nLFxuICAgICAgXS5qb2luKCcgJyk7XG4gICAgICBicmVhaztcbiAgICBjYXNlICd0aHJlc2hvbGRzRXhjZWVkZWRBbGVydCc6XG4gICAgICB0eXBlU3RyaW5nID0gYCR7dGl0bGV9ICR7Z2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICApfSAke2kxOG4udChcbiAgICAgICAgdHJhbnNJZHggKyAnc2Vuc29yc190aHJlc2hvbGRzJyxcbiAgICAgICl9LCAke2dldE5vdGlmaWNhdGlvblNvdXJjZXNTdHJpbmcobm90aWZpY2F0aW9uLCB0cmFuc0lkeCl9LmA7XG4gICAgICBicmVhaztcbiAgICBjYXNlICd3YXRlckxldmVsT3ZlcmZsb3dBbGVydCc6XG4gICAgICB0eXBlU3RyaW5nID0gYCR7dGl0bGV9ICR7Z2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICApfSAke2kxOG4udCh0cmFuc0lkeCArICdvdmVyZmxvd19ldmVudCcpfSwgJHtnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nKFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICAgIHRyYW5zSWR4LFxuICAgICAgKX0uYDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ2RldmljZU1hbGZ1bmN0aW9uc0FsZXJ0JzpcbiAgICAgIHR5cGVTdHJpbmcgPSBgJHt0aXRsZX0gJHtnZXROb3RpZmljYXRpb25BbGVydHNTdHJpbmcoXG4gICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICl9ICR7aTE4bi50KFxuICAgICAgICB0cmFuc0lkeCArICdkZXZpY2VfbWFsZnVuY3Rpb25pbmcnLFxuICAgICAgKX0gJHtnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nKG5vdGlmaWNhdGlvbiwgdHJhbnNJZHgpfS5gO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnV0JFV2Vla2x5U3VtbWFyeSc6XG4gICAgICB0eXBlU3RyaW5nID0gYCR7dGl0bGV9ICR7Z2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICApfSAke2kxOG4udCh0cmFuc0lkeCArICd3YmVfd2Vla2x5Jyl9LmA7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdXQkVBbGVydCc6XG4gICAgICB0eXBlU3RyaW5nID0gYCR7dGl0bGV9ICR7Z2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICApfSAke2kxOG4udCh0cmFuc0lkeCArICd3YmVfYWxlcnQnKX0uYDtcbiAgICAgIGJyZWFrO1xuICB9XG4gIHJldHVybiB0eXBlU3RyaW5nO1xufTtcblxuZnVuY3Rpb24gZ2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKG5vdGlmaWNhdGlvbikge1xuICBjb25zdCBzZW5kVmlhID0gbm90aWZpY2F0aW9uLm5vdGlmaWNhdGlvbkFsZXJ0cztcbiAgbGV0IHNlbmRWaWFTdHJpbmcgPSAnJztcbiAgZm9yIChjb25zdCBrZXkgaW4gc2VuZFZpYSkge1xuICAgIGlmIChzZW5kVmlhW2tleV0pIHtcbiAgICAgIHNlbmRWaWFTdHJpbmcgKz0gaTE4bi50KGBub3RpZmljYXRpb25zX3BhZ2UuZWRpdF8ke2tleX1gKSArICcsICc7XG4gICAgfVxuICB9XG4gIHJldHVybiBzZW5kVmlhU3RyaW5nO1xufVxuXG5mdW5jdGlvbiBnZXROb3RpZmljYXRpb25TZXZlcml0aWVzU3RyaW5nKG5vdGlmaWNhdGlvbikge1xuICBjb25zdCB7IHNldmVyaXRpZXMgfSA9IG5vdGlmaWNhdGlvbjtcbiAgbGV0IHNldmVyaXR5U3RyaW5nID0gJyc7XG4gIHNldmVyaXRpZXMgPT09ICdleHRyZW1lJ1xuICAgID8gKHNldmVyaXR5U3RyaW5nID0gaTE4bi50KCdub3RpZmljYXRpb25zX3BhZ2UuZXh0cmVtZScpKVxuICAgIDogKHNldmVyaXR5U3RyaW5nID1cbiAgICAgICAgaTE4bi50KGBub3RpZmljYXRpb25zX3BhZ2UuJHtzZXZlcml0aWVzfWApICtcbiAgICAgICAgJyAnICtcbiAgICAgICAgaTE4bi50KGBub3RpZmljYXRpb25zX3BhZ2Uubm90aWZpY2F0aW9uc190ZXh0Lm9yX2hpZ2hlcmApKTtcbiAgcmV0dXJuIHNldmVyaXR5U3RyaW5nO1xufVxuXG5mdW5jdGlvbiBnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nKG5vdGlmaWNhdGlvbiwgdHJhbnNJZHgpIHtcbiAgY29uc3QgeyBzZWxlY3RlZCB9ID0gbm90aWZpY2F0aW9uLnNvdXJjZXM7XG4gIGNvbnN0IHsgdHlwZSB9ID0gbm90aWZpY2F0aW9uLnNvdXJjZXM7XG4gIGxldCBTdHJpbmdzOiBzdHJpbmdbXSA9IFtdO1xuICBsZXQgc291cmNlc1N0cmluZyA9ICcnO1xuICBpZiAodHlwZSA9PT0gJ2FsbCcpIFN0cmluZ3MucHVzaChpMThuLnQoYCR7dHJhbnNJZHh9aW5fYWxsX3NvdXJjZXNgKSk7XG4gIGlmICh0eXBlID09PSAnZXhjbHVkZScpIFN0cmluZ3MucHVzaChpMThuLnQoYCR7dHJhbnNJZHh9ZXhjbHVkaW5nYCkpO1xuICBpZiAodHlwZSA9PT0gJ2luY2x1ZGUnKSBTdHJpbmdzLnB1c2goaTE4bi50KGAke3RyYW5zSWR4fWluYCkpO1xuICBpZiAodHlwZSAhPT0gJ2FsbCcpIHNlbGVjdGVkLm1hcCgoc291cmNlKSA9PiBTdHJpbmdzLnB1c2goc291cmNlLnRleHQpKTtcbiAgU3RyaW5ncy5sZW5ndGggPD0gNFxuICAgID8gKHNvdXJjZXNTdHJpbmcgPSBTdHJpbmdzLmpvaW4oJywgJykpXG4gICAgOiAoc291cmNlc1N0cmluZyA9IFN0cmluZ3Muc2xpY2UoMCwgNSkuam9pbignLCAnKSArICcuLicpO1xuICByZXR1cm4gc291cmNlc1N0cmluZztcbn1cbiJdfQ==
178
+
179
+ function getNotificationSensorsString(notification) {
180
+ var set = notification.sensors.set;
181
+ var selection_type = notification.sensors.selection_type;
182
+ var Strings = [];
183
+ var sensorsString = '';
184
+ if (selection_type !== 'all') set.map(function (sensor) {
185
+ return Strings.push(sensor.text);
186
+ });
187
+ Strings.length <= 4 ? sensorsString = Strings.join(', ') : sensorsString = Strings.slice(0, 5).join(', ') + '..';
188
+ return sensorsString;
189
+ }
190
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9Ob3RpZmljYXRpb25zUGFnZVYyL25vdGlmaWNhdGlvblV0aWxzLnRzeCJdLCJuYW1lcyI6WyJtb2NrVHlwZXMiLCJnZXRFbXB0eU5vdGlmaWNhdGlvbiIsImF2YWlsYWJsZV90eXBlcyIsImlkIiwidHlwZSIsInNldmVyaXR5Iiwid2F0ZXJfYXV0aG9yaXRpZXMiLCJzZWxlY3Rpb25fdHlwZSIsInNldCIsInBvaW50cyIsInRhZ3MiLCJzZW5zb3JzIiwiYWN0aW9ucyIsInRlbGVncmFtIiwiZW1haWwiLCJzbXMiLCJwdW1wX29ubHkiLCJzZXZlcml0aWVzUmFkaW9CdXR0b25zIiwibGFiZWwiLCJuYW1lIiwidmFsdWUiLCJ3YXRlckF1dGhvcml0aWVzUmFkaW9CdXR0b25zIiwic291cmNlc1JhZGlvQnV0dG9ucyIsInNlbmRWaWFDaGVja0JveGVzIiwiZ2V0Tm90aWZpY2F0aW9uU3RyaW5nIiwibm90aWZpY2F0aW9uIiwidHJhbnNJZHgiLCJ0aXRsZSIsImkxOG4iLCJ0IiwidHlwZVN0cmluZyIsInNhbXBsZVN0cmluZyIsImdldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyIsImdldE5vdGlmaWNhdGlvblNldmVyaXRpZXNTdHJpbmciLCJnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nIiwiam9pbiIsImdldE5vdGlmaWNhdGlvblNlbnNvcnNTdHJpbmciLCJzZW5kVmlhIiwic2VuZFZpYVN0cmluZyIsImtleSIsInNldmVyaXR5U3RyaW5nIiwiU3RyaW5ncyIsInNvdXJjZXNTdHJpbmciLCJwdXNoIiwibWFwIiwic291cmNlIiwidGV4dCIsImxlbmd0aCIsInNsaWNlIiwic2Vuc29yc1N0cmluZyIsInNlbnNvciJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBcUJPLElBQU1BLFNBQWMsR0FBRyxDQUM1QixzQkFENEIsRUFFNUIsZ0NBRjRCLEVBRzVCLCtCQUg0QixFQUk1Qix5QkFKNEIsRUFLNUIsZ0JBTDRC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O0FBQzlCTCxFQUFBQSxPQUFPLENBQUNNLE1BQVIsSUFBa0IsQ0FBbEIsR0FDS0wsYUFBYSxHQUFHRCxPQUFPLENBQUNOLElBQVIsQ0FBYSxJQUFiLENBRHJCLEdBRUtPLGFBQWEsR0FBR0QsT0FBTyxDQUFDTyxLQUFSLENBQWMsQ0FBZCxFQUFpQixDQUFqQixFQUFvQmIsSUFBcEIsQ0FBeUIsSUFBekIsSUFBaUMsSUFGdEQ7QUFHQSxTQUFPTyxhQUFQO0FBQ0Q7O0FBRUQsU0FBU04sNEJBQVQsQ0FBc0NYLFlBQXRDLEVBQW9EO0FBQ2xELE1BQVFqQixHQUFSLEdBQWdCaUIsWUFBWSxDQUFDZCxPQUE3QixDQUFRSCxHQUFSO0FBQ0EsTUFBUUQsY0FBUixHQUEyQmtCLFlBQVksQ0FBQ2QsT0FBeEMsQ0FBUUosY0FBUjtBQUVBLE1BQUlrQyxPQUFpQixHQUFHLEVBQXhCO0FBQ0EsTUFBSVEsYUFBYSxHQUFHLEVBQXBCO0FBQ0EsTUFBSTFDLGNBQWMsS0FBSyxLQUF2QixFQUE4QkMsR0FBRyxDQUFDb0MsR0FBSixDQUFRLFVBQUNNLE1BQUQ7QUFBQSxXQUFZVCxPQUFPLENBQUNFLElBQVIsQ0FBYU8sTUFBTSxDQUFDSixJQUFwQixDQUFaO0FBQUEsR0FBUjtBQUM5QkwsRUFBQUEsT0FBTyxDQUFDTSxNQUFSLElBQWtCLENBQWxCLEdBQ0tFLGFBQWEsR0FBR1IsT0FBTyxDQUFDTixJQUFSLENBQWEsSUFBYixDQURyQixHQUVLYyxhQUFhLEdBQUdSLE9BQU8sQ0FBQ08sS0FBUixDQUFjLENBQWQsRUFBaUIsQ0FBakIsRUFBb0JiLElBQXBCLENBQXlCLElBQXpCLElBQWlDLElBRnREO0FBR0EsU0FBT2MsYUFBUDtBQUNEIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcblxuZXhwb3J0IGludGVyZmFjZSBOb3RpZmljYXRpb24ge1xuICBhdmFpbGFibGVfdHlwZXM/OiBzdHJpbmdbXTtcbiAgaWQ6IHN0cmluZztcbiAgdHlwZTogc3RyaW5nO1xuICBzZXZlcml0eTogc3RyaW5nO1xuICB3YXRlcl9hdXRob3JpdGllczogQWR2YW5jZWRTZWxlY3Rpb247XG4gIHBvaW50czogQWR2YW5jZWRTZWxlY3Rpb247XG4gIHRhZ3M6IEFkdmFuY2VkU2VsZWN0aW9uO1xuICBzZW5zb3JzOiBBZHZhbmNlZFNlbGVjdGlvbjtcbiAgYWN0aW9uczogYW55O1xuICBwdW1wX29ubHk6IGJvb2xlYW47XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQWR2YW5jZWRTZWxlY3Rpb24ge1xuICBzZWxlY3Rpb25fdHlwZTogc3RyaW5nO1xuICBzZXQ6IGFueTtcbiAgd2F0ZXJfYXV0aG9yaXR5PzogYW55O1xufVxuXG5leHBvcnQgY29uc3QgbW9ja1R5cGVzOiBhbnkgPSBbXG4gICdQb2xsdXRpb25BbGVydENvbmZpZycsXG4gICdEYXRhbG9nZ2VyVGhyZXNob2xkQWxlcnRDb25maWcnLFxuICAnRGF0YWxvZ2dlck92ZXJmbG93QWxlcnRDb25maWcnLFxuICAnRGV2aWNlSGVhbHRoQWxlcnRDb25maWcnLFxuICAnV2JlQWxlcnRDb25maWcnLFxuICAnV2JlV2Vla2x5RGlnZXN0QWxlcnRDb25maWcnLFxuXTtcblxuZXhwb3J0IGNvbnN0IGdldEVtcHR5Tm90aWZpY2F0aW9uID0gKCkgPT4ge1xuICByZXR1cm4ge1xuICAgIGF2YWlsYWJsZV90eXBlczogW1xuICAgICAgJ1BvbGx1dGlvbkFsZXJ0Q29uZmlnJyxcbiAgICAgICdEYXRhbG9nZ2VyVGhyZXNob2xkQWxlcnRDb25maWcnLFxuICAgICAgJ0RhdGFsb2dnZXJPdmVyZmxvd0FsZXJ0Q29uZmlnJyxcbiAgICAgICdEZXZpY2VIZWFsdGhBbGVydENvbmZpZycsXG4gICAgICAnV2JlQWxlcnRDb25maWcnLFxuICAgICAgJ1diZVdlZWtseURpZ2VzdEFsZXJ0Q29uZmlnJyxcbiAgICBdLFxuICAgIGlkOiAnJyxcbiAgICB0eXBlOiAnJyxcbiAgICBzZXZlcml0eTogJ21lZGl1bScsXG4gICAgd2F0ZXJfYXV0aG9yaXRpZXM6IHtcbiAgICAgIHNlbGVjdGlvbl90eXBlOiAnYWxsJyxcbiAgICAgIHNldDogW10sXG4gICAgfSxcbiAgICBwb2ludHM6IHtcbiAgICAgIHNlbGVjdGlvbl90eXBlOiAnYWxsJyxcbiAgICAgIHNldDogW10sXG4gICAgfSxcbiAgICB0YWdzOiB7XG4gICAgICBzZWxlY3Rpb25fdHlwZTogJ2FsbCcsXG4gICAgICBzZXQ6IFtdLFxuICAgIH0sXG4gICAgc2Vuc29yczoge1xuICAgICAgc2VsZWN0aW9uX3R5cGU6ICdhbGwnLFxuICAgICAgc2V0OiBbXSxcbiAgICB9LFxuICAgIGFjdGlvbnM6IHsgdGVsZWdyYW06IGZhbHNlLCBlbWFpbDogdHJ1ZSwgc21zOiB0cnVlIH0sXG4gICAgcHVtcF9vbmx5OiBmYWxzZSxcbiAgfTtcbn07XG5cbmV4cG9ydCBjb25zdCBzZXZlcml0aWVzUmFkaW9CdXR0b25zID0gW1xuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9leHRyZW1lJyxcbiAgICBuYW1lOiAnc2V2ZXJpdHknLFxuICAgIHZhbHVlOiAnZXh0cmVtZScsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2hpZ2gnLFxuICAgIG5hbWU6ICdzZXZlcml0eScsXG4gICAgdmFsdWU6ICdoaWdoJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfbWVkaXVtJyxcbiAgICBuYW1lOiAnc2V2ZXJpdHknLFxuICAgIHZhbHVlOiAnbWVkaXVtJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCB3YXRlckF1dGhvcml0aWVzUmFkaW9CdXR0b25zID0gW1xuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9hbGwnLFxuICAgIG5hbWU6ICd3YXRlcl9hdXRob3JpdGllcycsXG4gICAgdmFsdWU6ICdhbGwnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9pbmNsdWRlJyxcbiAgICBuYW1lOiAnd2F0ZXJfYXV0aG9yaXRpZXMnLFxuICAgIHZhbHVlOiAnaW5jbHVkZScsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2V4Y2x1ZGUnLFxuICAgIG5hbWU6ICd3YXRlcl9hdXRob3JpdGllcycsXG4gICAgdmFsdWU6ICdleGNsdWRlJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBzb3VyY2VzUmFkaW9CdXR0b25zID0gW1xuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9hbGwnLFxuICAgIG5hbWU6ICdzb3VyY2VzJyxcbiAgICB2YWx1ZTogJ2FsbCcsXG4gIH0sXG4gIHtcbiAgICBsYWJlbDogJ25vdGlmaWNhdGlvbnNfcGFnZS5lZGl0X2luY2x1ZGUnLFxuICAgIG5hbWU6ICdzb3VyY2VzJyxcbiAgICB2YWx1ZTogJ2luY2x1ZGUnLFxuICB9LFxuICB7XG4gICAgbGFiZWw6ICdub3RpZmljYXRpb25zX3BhZ2UuZWRpdF9leGNsdWRlJyxcbiAgICBuYW1lOiAnc291cmNlcycsXG4gICAgdmFsdWU6ICdleGNsdWRlJyxcbiAgfSxcbl07XG5cbmV4cG9ydCBjb25zdCBzZW5kVmlhQ2hlY2tCb3hlcyA9IFtcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfdGVsZWdyYW0nLFxuICAgIG5hbWU6ICdhY3Rpb25zJyxcbiAgICB2YWx1ZTogJ3RlbGVncmFtJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfZW1haWwnLFxuICAgIG5hbWU6ICdhY3Rpb25zJyxcbiAgICB2YWx1ZTogJ2VtYWlsJyxcbiAgfSxcbiAge1xuICAgIGxhYmVsOiAnbm90aWZpY2F0aW9uc19wYWdlLmVkaXRfc21zJyxcbiAgICBuYW1lOiAnYWN0aW9ucycsXG4gICAgdmFsdWU6ICdzbXMnLFxuICB9LFxuXTtcblxuZXhwb3J0IGNvbnN0IGdldE5vdGlmaWNhdGlvblN0cmluZyA9IChub3RpZmljYXRpb246IE5vdGlmaWNhdGlvbikgPT4ge1xuICBjb25zdCB0cmFuc0lkeCA9ICdub3RpZmljYXRpb25zX3BhZ2Uubm90aWZpY2F0aW9uc190ZXh0Lic7XG4gIGNvbnN0IHRpdGxlID0gaTE4bi50KGAke3RyYW5zSWR4fXRpdGxlYCk7XG4gIGxldCB0eXBlU3RyaW5nID0gJyc7XG4gIGxldCBzYW1wbGVTdHJpbmcgPSAnJztcbiAgc2FtcGxlU3RyaW5nID0gbm90aWZpY2F0aW9uLnB1bXBfb25seVxuICAgID8gYCAke2kxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLnNhbXBsZXJfYWN0aXZhdGVkJyl9YFxuICAgIDogJy4nO1xuXG4gIHN3aXRjaCAobm90aWZpY2F0aW9uLnR5cGUpIHtcbiAgICBjYXNlICdQb2xsdXRpb25BbGVydENvbmZpZyc6XG4gICAgICB0eXBlU3RyaW5nID0gW1xuICAgICAgICB0aXRsZSxcbiAgICAgICAgZ2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKG5vdGlmaWNhdGlvbiksXG4gICAgICAgIGkxOG4udChgJHt0cmFuc0lkeH1hYm91dF9wb2xsdXRpb25fZXZlbnRzYCksXG4gICAgICAgIGdldE5vdGlmaWNhdGlvblNldmVyaXRpZXNTdHJpbmcobm90aWZpY2F0aW9uKSxcbiAgICAgICAgZ2V0Tm90aWZpY2F0aW9uU291cmNlc1N0cmluZyhub3RpZmljYXRpb24sIHRyYW5zSWR4KSxcbiAgICAgICAgc2FtcGxlU3RyaW5nLFxuICAgICAgXS5qb2luKCcgJyk7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdEYXRhbG9nZ2VyVGhyZXNob2xkQWxlcnRDb25maWcnOlxuICAgICAgdHlwZVN0cmluZyA9IGAke3RpdGxlfSAke2dldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyhcbiAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgKX0gJHtpMThuLnQoXG4gICAgICAgIHRyYW5zSWR4ICsgJ3NlbnNvcnNfdGhyZXNob2xkcycsXG4gICAgICApfSwgJHtnZXROb3RpZmljYXRpb25TZW5zb3JzU3RyaW5nKG5vdGlmaWNhdGlvbil9LmA7XG4gICAgICBicmVhaztcbiAgICBjYXNlICdEYXRhbG9nZ2VyT3ZlcmZsb3dBbGVydENvbmZpZyc6XG4gICAgICB0eXBlU3RyaW5nID0gYCR7dGl0bGV9ICR7Z2V0Tm90aWZpY2F0aW9uQWxlcnRzU3RyaW5nKFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICApfSAke2kxOG4udCh0cmFuc0lkeCArICdvdmVyZmxvd19ldmVudCcpfSwgJHtnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nKFxuICAgICAgICBub3RpZmljYXRpb24sXG4gICAgICAgIHRyYW5zSWR4LFxuICAgICAgKX0uYDtcbiAgICAgIGJyZWFrO1xuICAgIGNhc2UgJ0RldmljZUhlYWx0aEFsZXJ0Q29uZmlnJzpcbiAgICAgIHR5cGVTdHJpbmcgPSBgJHt0aXRsZX0gJHtnZXROb3RpZmljYXRpb25BbGVydHNTdHJpbmcoXG4gICAgICAgIG5vdGlmaWNhdGlvbixcbiAgICAgICl9ICR7aTE4bi50KFxuICAgICAgICB0cmFuc0lkeCArICdkZXZpY2VfbWFsZnVuY3Rpb25pbmcnLFxuICAgICAgKX0gJHtnZXROb3RpZmljYXRpb25Tb3VyY2VzU3RyaW5nKG5vdGlmaWNhdGlvbiwgdHJhbnNJZHgpfS5gO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnV2JlV2Vla2x5RGlnZXN0QWxlcnRDb25maWcnOlxuICAgICAgdHlwZVN0cmluZyA9IGAke3RpdGxlfSAke2dldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyhcbiAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgKX0gJHtpMThuLnQodHJhbnNJZHggKyAnd2JlX3dlZWtseScpfS5gO1xuICAgICAgYnJlYWs7XG4gICAgY2FzZSAnV2JlQWxlcnRDb25maWcnOlxuICAgICAgdHlwZVN0cmluZyA9IGAke3RpdGxlfSAke2dldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyhcbiAgICAgICAgbm90aWZpY2F0aW9uLFxuICAgICAgKX0gJHtpMThuLnQodHJhbnNJZHggKyAnd2JlX2FsZXJ0Jyl9LmA7XG4gICAgICBicmVhaztcbiAgfVxuICByZXR1cm4gdHlwZVN0cmluZztcbn07XG5cbmZ1bmN0aW9uIGdldE5vdGlmaWNhdGlvbkFsZXJ0c1N0cmluZyhub3RpZmljYXRpb24pIHtcbiAgY29uc3Qgc2VuZFZpYSA9IG5vdGlmaWNhdGlvbi5hY3Rpb25zO1xuICBsZXQgc2VuZFZpYVN0cmluZyA9ICcnO1xuICBmb3IgKGNvbnN0IGtleSBpbiBzZW5kVmlhKSB7XG4gICAgaWYgKHNlbmRWaWFba2V5XSkge1xuICAgICAgc2VuZFZpYVN0cmluZyArPSBpMThuLnQoYG5vdGlmaWNhdGlvbnNfcGFnZS5lZGl0XyR7a2V5fWApICsgJywgJztcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHNlbmRWaWFTdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGdldE5vdGlmaWNhdGlvblNldmVyaXRpZXNTdHJpbmcobm90aWZpY2F0aW9uKSB7XG4gIGNvbnN0IHsgc2V2ZXJpdHkgfSA9IG5vdGlmaWNhdGlvbjtcbiAgbGV0IHNldmVyaXR5U3RyaW5nID0gJyc7XG4gIHNldmVyaXR5ID09PSAnZXh0cmVtZSdcbiAgICA/IChzZXZlcml0eVN0cmluZyA9IGkxOG4udCgnbm90aWZpY2F0aW9uc19wYWdlLmV4dHJlbWUnKSlcbiAgICA6IChzZXZlcml0eVN0cmluZyA9XG4gICAgICAgIGkxOG4udChgbm90aWZpY2F0aW9uc19wYWdlLiR7c2V2ZXJpdHl9YCkgK1xuICAgICAgICAnICcgK1xuICAgICAgICBpMThuLnQoYG5vdGlmaWNhdGlvbnNfcGFnZS5ub3RpZmljYXRpb25zX3RleHQub3JfaGlnaGVyYCkpO1xuICByZXR1cm4gc2V2ZXJpdHlTdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGdldE5vdGlmaWNhdGlvblNvdXJjZXNTdHJpbmcobm90aWZpY2F0aW9uLCB0cmFuc0lkeCkge1xuICBjb25zdCB7IHNldCB9ID0gbm90aWZpY2F0aW9uLnBvaW50cztcbiAgY29uc3QgeyBzZWxlY3Rpb25fdHlwZSB9ID0gbm90aWZpY2F0aW9uLnBvaW50cztcblxuICBsZXQgU3RyaW5nczogc3RyaW5nW10gPSBbXTtcbiAgbGV0IHNvdXJjZXNTdHJpbmcgPSAnJztcbiAgaWYgKHNlbGVjdGlvbl90eXBlID09PSAnYWxsJylcbiAgICBTdHJpbmdzLnB1c2goaTE4bi50KGAke3RyYW5zSWR4fWluX2FsbF9zb3VyY2VzYCkpO1xuICBpZiAoc2VsZWN0aW9uX3R5cGUgPT09ICdleGNsdWRlJylcbiAgICBTdHJpbmdzLnB1c2goaTE4bi50KGAke3RyYW5zSWR4fWV4Y2x1ZGluZ2ApKTtcbiAgaWYgKHNlbGVjdGlvbl90eXBlID09PSAnaW5jbHVkZScpIFN0cmluZ3MucHVzaChpMThuLnQoYCR7dHJhbnNJZHh9aW5gKSk7XG4gIGlmIChzZWxlY3Rpb25fdHlwZSAhPT0gJ2FsbCcpIHNldC5tYXAoKHNvdXJjZSkgPT4gU3RyaW5ncy5wdXNoKHNvdXJjZS50ZXh0KSk7XG4gIFN0cmluZ3MubGVuZ3RoIDw9IDRcbiAgICA/IChzb3VyY2VzU3RyaW5nID0gU3RyaW5ncy5qb2luKCcsICcpKVxuICAgIDogKHNvdXJjZXNTdHJpbmcgPSBTdHJpbmdzLnNsaWNlKDAsIDUpLmpvaW4oJywgJykgKyAnLi4nKTtcbiAgcmV0dXJuIHNvdXJjZXNTdHJpbmc7XG59XG5cbmZ1bmN0aW9uIGdldE5vdGlmaWNhdGlvblNlbnNvcnNTdHJpbmcobm90aWZpY2F0aW9uKSB7XG4gIGNvbnN0IHsgc2V0IH0gPSBub3RpZmljYXRpb24uc2Vuc29ycztcbiAgY29uc3QgeyBzZWxlY3Rpb25fdHlwZSB9ID0gbm90aWZpY2F0aW9uLnNlbnNvcnM7XG5cbiAgbGV0IFN0cmluZ3M6IHN0cmluZ1tdID0gW107XG4gIGxldCBzZW5zb3JzU3RyaW5nID0gJyc7XG4gIGlmIChzZWxlY3Rpb25fdHlwZSAhPT0gJ2FsbCcpIHNldC5tYXAoKHNlbnNvcikgPT4gU3RyaW5ncy5wdXNoKHNlbnNvci50ZXh0KSk7XG4gIFN0cmluZ3MubGVuZ3RoIDw9IDRcbiAgICA/IChzZW5zb3JzU3RyaW5nID0gU3RyaW5ncy5qb2luKCcsICcpKVxuICAgIDogKHNlbnNvcnNTdHJpbmcgPSBTdHJpbmdzLnNsaWNlKDAsIDUpLmpvaW4oJywgJykgKyAnLi4nKTtcbiAgcmV0dXJuIHNlbnNvcnNTdHJpbmc7XG59XG4iXX0=
@@ -214,7 +214,7 @@ var NewSamplingAction = function NewSamplingAction(_ref) {
214
214
  return setFieldValue('sampling.date', date);
215
215
  },
216
216
  calendarClassName: _styleModule.default.calendar,
217
- dateFormat: userInfo.date_time_format === 'us' ? 'MMM d, yyyy' : 'd/MM/yyyy'
217
+ dateFormat: userInfo.date_time_format === 'us' ? 'MMMM dd, yyyy' : 'dd/MM/yyyy'
218
218
  })), (errors === null || errors === void 0 ? void 0 : (_errors$sampling2 = errors.sampling) === null || _errors$sampling2 === void 0 ? void 0 : _errors$sampling2.date) ? /*#__PURE__*/_react.default.createElement("div", {
219
219
  className: _styleModule.default.validationError
220
220
  }, errors.sampling.date) : null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Label, null, t('samplings_page.samplings_table_cols.site'), /*#__PURE__*/_react.default.createElement("span", {
@@ -295,4 +295,4 @@ var MenuInputStyle = _styledComponents.default.div.attrs(function (props) {
295
295
 
296
296
  var _default = NewSamplingAction;
297
297
  exports.default = _default;
298
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL05ld1NhbXBsaW5nQWN0aW9uLnRzeCJdLCJuYW1lcyI6WyJOZXdTYW1wbGluZ0FjdGlvbiIsIndhdGVyQXV0aG9yaXR5SWQiLCJ0IiwiaXNPcGVuIiwic2V0SXNPcGVuIiwic3RhdGUiLCJzYW1wbGluZ3NfZGF0YSIsInBlclBhZ2UiLCJkaXNwYXRjaCIsInVzZXJJbmZvIiwicGVybWlzc2lvbnMiLCJ1c2VyX2luZm8iLCJ3YXRlckF1dGhvcml0eVBvaW50c1VSTCIsInNhbXBsaW5nc1BhZ2UiLCJnZXRQb2ludHMiLCJ1cmwiLCJheGlvcyIsImdldCIsInJlc3BvbnNlIiwiZGF0YSIsInBvaW50cyIsInJlZmV0Y2giLCJjcmVhdGVTYW1wbGluZ011dGF0aW9uIiwibmV3U2FtcGxpbmdWYWx1ZXMiLCJkZWZhdWx0cyIsImhlYWRlcnMiLCJjb21tb24iLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJjb250ZW50IiwicHV0IiwiY3JlYXRlTmV3U2FtcGxpbmciLCJ0aGVuIiwicmVzIiwidG9hc3QiLCJzdWNjZXNzIiwicG9zaXRpb24iLCJjYXRjaCIsImUiLCJlcnJvciIsIm9uU3VjY2VzcyIsIk5ld1NhbXBsaW5nVmFsaWRhdGlvblNjaGVtYSIsIll1cCIsIm9iamVjdCIsInNoYXBlIiwic2FtcGxpbmciLCJkYXRlIiwic3RyaW5nIiwicmVxdWlyZWQiLCJwb2ludF9pZCIsInRvZGF5IiwiZm9ybWF0IiwibmV3U2l0ZUluaXRpYWxWYWx1ZXMiLCJ0eXBlIiwiaGFuZGxlTmV3U2FtcGxpbmdTdWJtaXQiLCJ2YWx1ZXMiLCJtdXRhdGUiLCJoYW5kbGVPcGVuUG9wdXBBbmFseXRpY3MiLCJ3YXRlcl9hdXRob3JpdHkiLCJOZXdTYW1wbGluZ0J1dHRvbiIsImlzTW9iaWxlIiwiU3R5bGUiLCJuZXdTYW1wbGVyQnRuIiwibmV3QnV0dG9uVGV4dCIsImZhUGx1cyIsIm5ld1NhbXBsZXJCdG5Nb2JpbGUiLCJuZXdTYW1wbGluZ0FjdGlvbkRyb3Bkb3duIiwiaGFuZGxlU3VibWl0IiwiaGFuZGxlQ2hhbmdlIiwiZXJyb3JzIiwic2V0RmllbGRWYWx1ZSIsImRhdGVJbnB1dCIsIkRhdGUiLCJjYWxlbmRhciIsImRhdGVfdGltZV9mb3JtYXQiLCJ2YWxpZGF0aW9uRXJyb3IiLCJzaXRlSW5wdXQiLCJpbnZhbGlkQm9yZGVycyIsIm9wdGlvbiIsInZhbHVlIiwibWFwIiwicHQiLCJwb2ludCIsImlkIiwibGFiZWwiLCJ0eXBlSW5wdXQiLCJidXR0b25zQ29udGFpbmVyIiwiYnV0dG9uQ3JlYXRlIiwidmFyaWFudCIsIlNFQ09OREFSWSIsIk5ld1NhbXBsaW5nVGl0bGUiLCJzdHlsZWQiLCJwIiwidGhlbWUiLCJmb250V2VpZ2h0IiwidzcwMCIsIk1lbnVJbnB1dFN0eWxlIiwiZGl2IiwiYXR0cnMiLCJwcm9wcyIsInpJbmRleGVzIiwibW9kYWwiLCJjb2xvclNjaGVtZSIsIm5hdHVyYWwiLCJuMSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOzs7Ozs7QUE2QkEsSUFBTUEsaUJBQTZDLEdBQUcsU0FBaERBLGlCQUFnRCxPQUVoRDtBQUFBLE1BREpDLGdCQUNJLFFBREpBLGdCQUNJOztBQUNKLHdCQUFjLG1DQUFkO0FBQUEsTUFBUUMsQ0FBUixtQkFBUUEsQ0FBUjs7QUFDQSxrQkFBNEIscUJBQWtCLEtBQWxCLENBQTVCO0FBQUE7QUFBQSxNQUFPQyxNQUFQO0FBQUEsTUFBZUMsU0FBZjs7QUFFQSxxQkFBb0IsNkJBQ2xCLFVBQUNDLEtBQUQ7QUFBQSxXQUEwQ0EsS0FBSyxDQUFDQyxjQUFoRDtBQUFBLEdBRGtCLENBQXBCO0FBQUEsTUFBUUMsT0FBUixnQkFBUUEsT0FBUjs7QUFHQSxN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V0FBTixDQUFrQkMsT0FBbEIsQ0FBMEJDLEVBQXpDO0FBQUEsQ0FWRixDQUFwQjs7ZUFrRGV4RyxpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBGQywgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEZvcm0gfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgZmFQbHVzIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgaXNNb2JpbGUgfSBmcm9tICdyZWFjdC1kZXZpY2UtZGV0ZWN0JztcbmltcG9ydCB7IEZvcm1payB9IGZyb20gJ2Zvcm1payc7XG5pbXBvcnQgKiBhcyBZdXAgZnJvbSAneXVwJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSc7XG5pbXBvcnQgeyB1c2VRdWVyeSwgdXNlTXV0YXRpb24gfSBmcm9tICdyZWFjdC1xdWVyeSc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnO1xuaW1wb3J0IFNlbGVjdCBmcm9tICdyZWFjdC1zZWxlY3QnO1xuaW1wb3J0IHsgdG9hc3QgfSBmcm9tICdyZWFjdC10b2FzdGlmeSc7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuaW1wb3J0IERhdGVQaWNrZXIgZnJvbSAncmVhY3QtZGF0ZXBpY2tlcic7XG5cbmltcG9ydCB7IGFuYWx5dGljc1RyYWNrIH0gZnJvbSAnc3JjL3V0aWxpdGllcy9BbmFseXRpY3MnO1xuaW1wb3J0IHsgQnV0dG9uLCBNb2JpbGVJbnB1dCwgdmFyaWFudCB9IGZyb20gJ3NyYy91aS1raXQnO1xuaW1wb3J0IFN0eWxlIGZyb20gJy4vc3R5bGUubW9kdWxlLnNjc3MnO1xuaW1wb3J0IHsgdXJscyB9IGZyb20gJ3NyYy91dGlsaXRpZXMvdXJscyc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnc3JjL3N0b3JlL3Jvb3RSZWR1Y2VyJztcbmltcG9ydCB7IHNldFNhbXBsaW5nRGF0YSB9IGZyb20gJ3NyYy9zdG9yZS9zYW1wbGluZ3MvYWN0aW9uc0NyZWF0b3InO1xuXG5pbnRlcmZhY2UgTmV3U2l0ZUlucHV0cyB7XG4gIHNhbXBsaW5nOiB7XG4gICAgZGF0ZTogc3RyaW5nO1xuICAgIHBvaW50X2lkOiBzdHJpbmc7XG4gICAgdHlwZTogc3RyaW5nO1xuICB9O1xufVxuXG5pbnRlcmZhY2UgUG9pbnRQcm9wcyB7XG4gIHBvaW50OiB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBsYWJlbDogc3RyaW5nO1xuICB9O1xufVxudHlwZSBHZXRQb2ludHNSZXNwb25zZSA9IHtcbiAgZGF0YToge1xuICAgIHBvaW50czogUG9pbnRQcm9wc1tdO1xuICB9O1xufTtcbmludGVyZmFjZSBNZW51SW5wdXRQcm9wcyB7XG4gIGlzT3BlbjogYm9vbGVhbjtcbn1cblxudHlwZSBOZXdTYW1wbGluZ0FjdGlvblByb3BzID0ge1xuICB3YXRlckF1dGhvcml0eUlkOiBudW1iZXI7XG59O1xuXG5jb25zdCBOZXdTYW1wbGluZ0FjdGlvbjogRkM8TmV3U2FtcGxpbmdBY3Rpb25Qcm9wcz4gPSAoe1xuICB3YXRlckF1dGhvcml0eUlkLFxufSkgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG4gIGNvbnN0IFtpc09wZW4sIHNldElzT3Blbl0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG5cbiAgY29uc3QgeyBwZXJQYWdlIH0gPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5zYW1wbGluZ3NfZGF0YSxcbiAgKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCB1c2VySW5mbyA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUucGVybWlzc2lvbnMudXNlcl9pbmZvKTtcblxuICBjb25zdCB7IGRhdGE6IHBvaW50cywgcmVmZXRjaCB9ID0gdXNlUXVlcnkoJ3NlbGVjdG9yX3BvaW50cycsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB3YXRlckF1dGhvcml0eVBvaW50c1VSTCA9IHVybHMoeyB3YXRlckF1dGhvcml0eUlkIH0pLnNhbXBsaW5nc1BhZ2VcbiAgICAgIC5nZXRQb2ludHMudXJsO1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXhpb3MuZ2V0PEdldFBvaW50c1Jlc3BvbnNlPihcbiAgICAgIHdhdGVyQXV0aG9yaXR5UG9pbnRzVVJMLFxuICAgICk7XG4gICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEuZGF0YS5wb2ludHM7XG4gIH0pO1xuXG4gIGNvbnN0IGNyZWF0ZVNhbXBsaW5nTXV0YXRpb24gPSB1c2VNdXRhdGlvbihcbiAgICAobmV3U2FtcGxpbmdWYWx1ZXMpID0+IHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGF4aW9zLmRlZmF1bHRzLmhlYWRlcnMuY29tbW9uWydYLUNTUkYtVE9LRU4nXSA9XG4gICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tuYW1lPWNzcmYtdG9rZW5dJykuY29udGVudDtcbiAgICAgIGF4aW9zLmRlZmF1bHRzLmhlYWRlcnMuY29tbW9uWydDb250ZW50LVR5cGUnXSA9ICdhcHBsaWNhdGlvbi9qcyc7XG4gICAgICByZXR1cm4gYXhpb3NcbiAgICAgICAgLnB1dChcbiAgICAgICAgICB1cmxzKHsgd2F0ZXJBdXRob3JpdHlJZCB9KS5zYW1wbGluZ3NQYWdlLmNyZWF0ZU5ld1NhbXBsaW5nLnVybCxcbiAgICAgICAgICBuZXdTYW1wbGluZ1ZhbHVlcyxcbiAgICAgICAgKVxuICAgICAgICAudGhlbigocmVzKSA9PiB7XG4gICAgICAgICAgdG9hc3Quc3VjY2Vzcyh0KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ19jcmVhdGVkJyksIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiAndG9wLWNlbnRlcicsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgc2V0SXNPcGVuKGZhbHNlKTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKChlKSA9PiB7XG4gICAgICAgICAgdG9hc3QuZXJyb3IodCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdfbm90X2NyZWF0ZWQnKSwge1xuICAgICAgICAgICAgcG9zaXRpb246ICd0b3AtY2VudGVyJyxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfSxcbiAgICB7XG4gICAgICBvblN1Y2Nlc3M6ICgpID0+IHtcbiAgICAgICAgLy8gUmVmcmVzaCB0aGUgc2FtcGxpbmdzIGhhY2tcbiAgICAgICAgZGlzcGF0Y2goc2V0U2FtcGxpbmdEYXRhKHsgcGVyUGFnZTogcGVyUGFnZSAtIDEgfSkpO1xuICAgICAgICBkaXNwYXRjaChzZXRTYW1wbGluZ0RhdGEoeyBwZXJQYWdlOiBwZXJQYWdlIH0pKTtcbiAgICAgICAgLy8gVE9ETzogcmVtb3ZlIHRoZSBhYm92ZSByZWZyZXNoIGhhY2sgYW5kIHJlcGxhY2Ugd2l0aCB0aGUgZm9sbG93aW5nIC0gY2hlY2sgS1NELTI5MjJcbiAgICAgICAgLy8gcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoJ3RoZV9zYW1wbGluZ3NfbGlzdCcpO1xuICAgICAgfSxcbiAgICB9LFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmVmZXRjaCgpO1xuICAgIHNldElzT3BlbihmYWxzZSk7XG4gIH0sIFt3YXRlckF1dGhvcml0eUlkXSk7XG5cbiAgY29uc3QgTmV3U2FtcGxpbmdWYWxpZGF0aW9uU2NoZW1hID0gWXVwLm9iamVjdCgpLnNoYXBlKHtcbiAgICBzYW1wbGluZzogWXVwLm9iamVjdCgpLnNoYXBlKHtcbiAgICAgIGRhdGU6IFl1cC5zdHJpbmcoKS5yZXF1aXJlZCh0KCdzYW1wbGluZ3NfcGFnZS5kYXRlX3JlcXVpcmVkJykpLFxuICAgICAgcG9pbnRfaWQ6IFl1cC5zdHJpbmcoKS5yZXF1aXJlZCh0KCdzYW1wbGluZ3NfcGFnZS5zaXRlX3JlcXVpcmVkJykpLFxuICAgIH0pLFxuICB9KTtcblxuICBjb25zdCB0b2RheSA9IG1vbWVudCgpLmZvcm1hdCgnWVlZWS1NTS1ERCcpO1xuXG4gIGNvbnN0IG5ld1NpdGVJbml0aWFsVmFsdWVzOiBOZXdTaXRlSW5wdXRzID0ge1xuICAgIHNhbXBsaW5nOiB7XG4gICAgICBkYXRlOiB0b2RheSxcbiAgICAgIHBvaW50X2lkOiAnJyxcbiAgICAgIHR5cGU6ICdzYW1wbGluZ190eXBlX3JhcGlkJyxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZU5ld1NhbXBsaW5nU3VibWl0ID0gKHZhbHVlcykgPT4ge1xuICAgIGNyZWF0ZVNhbXBsaW5nTXV0YXRpb24ubXV0YXRlKHZhbHVlcyk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlT3BlblBvcHVwQW5hbHl0aWNzID0gKCkgPT4ge1xuICAgIGFuYWx5dGljc1RyYWNrKCdTYW1wbGluZyBPcGVyYXRpb24gTmV3IFNhbXBsaW5nIENsaWNrZWQnLCB7XG4gICAgICB3YXRlcl9hdXRob3JpdHk6IHdhdGVyQXV0aG9yaXR5SWQsXG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgTmV3U2FtcGxpbmdCdXR0b24gPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIHshaXNNb2JpbGUgJiYgKFxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzTmFtZT17U3R5bGUubmV3U2FtcGxlckJ0bn1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgaGFuZGxlT3BlblBvcHVwQW5hbHl0aWNzKCk7XG4gICAgICAgICAgICAgIHNldElzT3BlbighaXNPcGVuKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtTdHlsZS5uZXdCdXR0b25UZXh0fT5cbiAgICAgICAgICAgICAge3QoJ3NhbXBsaW5nc19wYWdlLm5ld19idXR0b24nKX0gJm5ic3A7XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8Rm9udEF3ZXNvbWVJY29uIGljb249e2ZhUGx1c30gLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgICAge2lzTW9iaWxlICYmIChcbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzc05hbWU9e1N0eWxlLm5ld1NhbXBsZXJCdG5Nb2JpbGV9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRJc09wZW4oIWlzT3Blbil9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPEZvbnRBd2Vzb21lSWNvbiBjbGFzc05hbWU9e1N0eWxlLmZhUGx1c30gaWNvbj17ZmFQbHVzfSAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtTdHlsZS5uZXdTYW1wbGluZ0FjdGlvbkRyb3Bkb3dufT5cbiAgICAgIDxOZXdTYW1wbGluZ0J1dHRvbiAvPlxuICAgICAge2lzT3BlbiAmJiAoXG4gICAgICAgIDxNZW51SW5wdXRTdHlsZSBpc09wZW49e2lzT3Blbn0+XG4gICAgICAgICAgPE5ld1NhbXBsaW5nVGl0bGU+XG4gICAgICAgICAgICB7dCgnc2FtcGxpbmdzX3BhZ2UuYWRkX25ld19zYW1wbGluZycpfVxuICAgICAgICAgIDwvTmV3U2FtcGxpbmdUaXRsZT5cbiAgICAgICAgICA8Rm9ybWlrXG4gICAgICAgICAgICBvblN1Ym1pdD17aGFuZGxlTmV3U2FtcGxpbmdTdWJtaXR9XG4gICAgICAgICAgICBpbml0aWFsVmFsdWVzPXtuZXdTaXRlSW5pdGlhbFZhbHVlc31cbiAgICAgICAgICAgIHZhbGlkYXRpb25TY2hlbWE9e05ld1NhbXBsaW5nVmFsaWRhdGlvblNjaGVtYX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7KHtcbiAgICAgICAgICAgICAgaGFuZGxlU3VibWl0LFxuICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2UsXG4gICAgICAgICAgICAgIHZhbHVlcyxcbiAgICAgICAgICAgICAgZXJyb3JzLFxuICAgICAgICAgICAgICBzZXRGaWVsZFZhbHVlLFxuICAgICAgICAgICAgfSkgPT4gKFxuICAgICAgICAgICAgICA8Rm9ybSBvblN1Ym1pdD17aGFuZGxlU3VibWl0fT5cbiAgICAgICAgICAgICAgICA8Rm9ybS5Hcm91cD5cbiAgICAgICAgICAgICAgICAgIDxGb3JtLkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICB7dCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdzX3RhYmxlX2NvbHMuc2FtcGxpbmdfZGF0ZScpfVxuICAgICAgICAgICAgICAgICAgPC9Gb3JtLkxhYmVsPlxuICAgICAgICAgICAgICAgICAgPERhdGVQaWNrZXJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtTdHlsZS5kYXRlSW5wdXR9ICR7XG4gICAgICAgICAgICAgICAgICAgICAgZXJyb3JzPy5zYW1wbGluZz8uZGF0ZSAmJiAnaW52YWxpZCdcbiAgICAgICAgICAgICAgICAgICAgfWB9XG4gICAgICAgICAgICAgICAgICAgIG5hbWU9XCJzYW1wbGluZy5kYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ9e25ldyBEYXRlKCl9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZGF0ZSkgPT4gc2V0RmllbGRWYWx1ZSgnc2FtcGxpbmcuZGF0ZScsIGRhdGUpfVxuICAgICAgICAgICAgICAgICAgICBjYWxlbmRhckNsYXNzTmFtZT17U3R5bGUuY2FsZW5kYXJ9XG4gICAgICAgICAgICAgICAgICAgIGRhdGVGb3JtYXQ9e1xuICAgICAgICAgICAgICAgICAgICAgIHVzZXJJbmZvLmRhdGVfdGltZV9mb3JtYXQgPT09ICd1cydcbiAgICAgICAgICAgICAgICAgICAgICAgID8gJ01NTSBkLCB5eXl5J1xuICAgICAgICAgICAgICAgICAgICAgICAgOiAnZC9NTS95eXl5J1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvRm9ybS5Hcm91cD5cbiAgICAgICAgICAgICAgICB7ZXJyb3JzPy5zYW1wbGluZz8uZGF0ZSA/IChcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtTdHlsZS52YWxpZGF0aW9uRXJyb3J9PlxuICAgICAgICAgICAgICAgICAgICB7ZXJyb3JzLnNhbXBsaW5nLmRhdGV9XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICApIDogbnVsbH1cblxuICAgICAgICAgICAgICAgIDxGb3JtLkxhYmVsPlxuICAgICAgICAgICAgICAgICAge3QoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nc190YWJsZV9jb2xzLnNpdGUnKX1cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17U3R5bGUucmVxdWlyZWR9Pio8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9Gb3JtLkxhYmVsPlxuICAgICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXt0KCdzYW1wbGluZ3NfcGFnZS5zaXRlX3BsYWNlaG9sZGVyJyl9XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake1N0eWxlLnNpdGVJbnB1dH0gJHtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JzPy5zYW1wbGluZz8ucG9pbnRfaWQgJiYgU3R5bGUuaW52YWxpZEJvcmRlcnNcbiAgICAgICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgICAgICAgbmFtZT1cInNhbXBsaW5nLnBvaW50X2lkXCJcbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsob3B0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgc2V0RmllbGRWYWx1ZSgnc2FtcGxpbmcucG9pbnRfaWQnLCBvcHRpb24udmFsdWUpO1xuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIGlzU2VhcmNoYWJsZT17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZVByZWZpeD17J2Rhc2hib2FyZC1zZWxlY3QnfVxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17cG9pbnRzPy5tYXAoKHB0OiBQb2ludFByb3BzKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcHQucG9pbnQuaWQsXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBwdC5wb2ludC5sYWJlbCxcbiAgICAgICAgICAgICAgICAgIH0pKX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIHtlcnJvcnM/LnNhbXBsaW5nPy5wb2ludF9pZCAmJiAoXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17U3R5bGUudmFsaWRhdGlvbkVycm9yfT5cbiAgICAgICAgICAgICAgICAgICAge2Vycm9ycy5zYW1wbGluZy5wb2ludF9pZH1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgICAgICA8TW9iaWxlSW5wdXRcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7U3R5bGUudHlwZUlucHV0fSAke1xuICAgICAgICAgICAgICAgICAgICBlcnJvcnM/LnNhbXBsaW5nPy50eXBlICYmIFN0eWxlLmludmFsaWRCb3JkZXJzXG4gICAgICAgICAgICAgICAgICB9YH1cbiAgICAgICAgICAgICAgICAgIGlucHV0VGl0bGU9e3QoJ2xhYl9yZXN1bHRzX3NjcmVlbi50eXBlJyl9XG4gICAgICAgICAgICAgICAgICB2YWx1ZT17dmFsdWVzLnNhbXBsaW5nLnR5cGV9XG4gICAgICAgICAgICAgICAgICBuYW1lPVwic2FtcGxpbmcudHlwZVwiXG4gICAgICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJzZWxlY3RcIlxuICAgICAgICAgICAgICAgICAgbWFuZGF0b3J5PXt0cnVlfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxvcHRpb25cbiAgICAgICAgICAgICAgICAgICAga2V5PVwicmFwaWRcIlxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cInNhbXBsaW5nX3R5cGVfcmFwaWRcIlxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZD17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3QoJ3NhbXBsaW5nX3R5cGVzX21pbmkuc2FtcGxpbmdfdHlwZV9yYXBpZCcpfVxuICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICA8b3B0aW9uIGtleT1cImNvbXBsZXhcIiB2YWx1ZT1cInNhbXBsaW5nX3R5cGVfY29tcGxleFwiPlxuICAgICAgICAgICAgICAgICAgICB7dCgnc2FtcGxpbmdfdHlwZXNfbWluaS5zYW1wbGluZ190eXBlX2NvbXBsZXgnKX1cbiAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgPG9wdGlvbiBrZXk9XCJib3RoXCIgdmFsdWU9XCJzYW1wbGluZ190eXBlX2JvdGhcIj5cbiAgICAgICAgICAgICAgICAgICAge3QoJ3NhbXBsaW5nX3R5cGVzX21pbmkuc2FtcGxpbmdfdHlwZV9ib3RoJyl9XG4gICAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICA8L01vYmlsZUlucHV0PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLmJ1dHRvbnNDb250YWluZXJ9PlxuICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBvbkNsaWNrPXsoKSA9PiBzZXRJc09wZW4oZmFsc2UpfSB2YXJpYW50PVwiY2xvc2VcIj5cbiAgICAgICAgICAgICAgICAgICAge3QoJ2Nsb3NlJyl9XG4gICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtTdHlsZS5idXR0b25DcmVhdGV9XG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmU9e3RydWV9XG4gICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9e3ZhcmlhbnQuU0VDT05EQVJZfVxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3QoJ3NhbXBsaW5nc19wYWdlLmNyZWF0ZV9idXR0b24nKX1cbiAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L0Zvcm0+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvRm9ybWlrPlxuICAgICAgICA8L01lbnVJbnB1dFN0eWxlPlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmNvbnN0IE5ld1NhbXBsaW5nVGl0bGUgPSBzdHlsZWQucGBcbiAgZm9udC13ZWlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuZm9udFdlaWdodC53NzAwfTtcbmA7XG5cbmNvbnN0IE1lbnVJbnB1dFN0eWxlID0gc3R5bGVkLmRpdi5hdHRycygocHJvcHM6IE1lbnVJbnB1dFByb3BzKSA9PiAoe1xuICBpc09wZW46IHByb3BzLmlzT3Blbixcbn0pKWBcbiAgcGFkZGluZzogMzNweCAyOHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxNnB4O1xuICB0b3A6IDE0MHB4O1xuICB6LWluZGV4OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnpJbmRleGVzLm1vZGFsfTtcbiAgbWluLWhlaWdodDogNDAwcHg7XG4gIHdpZHRoOiAzOTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm4xfTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2E2YWNiOTtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4ICNlM2UzZTM7XG5cbiAgLnJ0bCAmIHtcbiAgICByaWdodDogdW5zZXQ7XG4gICAgbGVmdDogMTZweDtcbiAgfVxuXG4gICoge1xuICAgIGZvbnQtZmFtaWx5OiBOdW5pdG8sIEdpbHJveSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgfVxuXG4gIGFuaW1hdGlvbjogdHJhbnNpdGlvbi1pbiA0NDRtcywgZmFkZS1pbiA0NDRtcztcbiAgQGtleWZyYW1lcyB0cmFuc2l0aW9uLWluIHtcbiAgICBmcm9tIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDBweCk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG4gIH1cbiAgQGtleWZyYW1lcyBmYWRlLWluIHtcbiAgICAwJSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgLyogVXNlIDQ4MHB4IGFzIG1vYmlsZSdzIG1heC13aWR0aCAqL1xuICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICB0b3A6IGF1dG87XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgfVxuYDtcblxuZXhwb3J0IGRlZmF1bHQgTmV3U2FtcGxpbmdBY3Rpb247XG4iXX0=
298
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL05ld1NhbXBsaW5nQWN0aW9uLnRzeCJdLCJuYW1lcyI6WyJOZXdTYW1wbGluZ0FjdGlvbiIsIndhdGVyQXV0aG9yaXR5SWQiLCJ0IiwiaXNPcGVuIiwic2V0SXNPcGVuIiwic3RhdGUiLCJzYW1wbGluZ3NfZGF0YSIsInBlclBhZ2UiLCJkaXNwYXRjaCIsInVzZXJJbmZvIiwicGVybWlzc2lvbnMiLCJ1c2VyX2luZm8iLCJ3YXRlckF1dGhvcml0eVBvaW50c1VSTCIsInNhbXBsaW5nc1BhZ2UiLCJnZXRQb2ludHMiLCJ1cmwiLCJheGlvcyIsImdldCIsInJlc3BvbnNlIiwiZGF0YSIsInBvaW50cyIsInJlZmV0Y2giLCJjcmVhdGVTYW1wbGluZ011dGF0aW9uIiwibmV3U2FtcGxpbmdWYWx1ZXMiLCJkZWZhdWx0cyIsImhlYWRlcnMiLCJjb21tb24iLCJkb2N1bWVudCIsInF1ZXJ5U2VsZWN0b3IiLCJjb250ZW50IiwicHV0IiwiY3JlYXRlTmV3U2FtcGxpbmciLCJ0aGVuIiwicmVzIiwidG9hc3QiLCJzdWNjZXNzIiwicG9zaXRpb24iLCJjYXRjaCIsImUiLCJlcnJvciIsIm9uU3VjY2VzcyIsIk5ld1NhbXBsaW5nVmFsaWRhdGlvblNjaGVtYSIsIll1cCIsIm9iamVjdCIsInNoYXBlIiwic2FtcGxpbmciLCJkYXRlIiwic3RyaW5nIiwicmVxdWlyZWQiLCJwb2ludF9pZCIsInRvZGF5IiwiZm9ybWF0IiwibmV3U2l0ZUluaXRpYWxWYWx1ZXMiLCJ0eXBlIiwiaGFuZGxlTmV3U2FtcGxpbmdTdWJtaXQiLCJ2YWx1ZXMiLCJtdXRhdGUiLCJoYW5kbGVPcGVuUG9wdXBBbmFseXRpY3MiLCJ3YXRlcl9hdXRob3JpdHkiLCJOZXdTYW1wbGluZ0J1dHRvbiIsImlzTW9iaWxlIiwiU3R5bGUiLCJuZXdTYW1wbGVyQnRuIiwibmV3QnV0dG9uVGV4dCIsImZhUGx1cyIsIm5ld1NhbXBsZXJCdG5Nb2JpbGUiLCJuZXdTYW1wbGluZ0FjdGlvbkRyb3Bkb3duIiwiaGFuZGxlU3VibWl0IiwiaGFuZGxlQ2hhbmdlIiwiZXJyb3JzIiwic2V0RmllbGRWYWx1ZSIsImRhdGVJbnB1dCIsIkRhdGUiLCJjYWxlbmRhciIsImRhdGVfdGltZV9mb3JtYXQiLCJ2YWxpZGF0aW9uRXJyb3IiLCJzaXRlSW5wdXQiLCJpbnZhbGlkQm9yZGVycyIsIm9wdGlvbiIsInZhbHVlIiwibWFwIiwicHQiLCJwb2ludCIsImlkIiwibGFiZWwiLCJ0eXBlSW5wdXQiLCJidXR0b25zQ29udGFpbmVyIiwiYnV0dG9uQ3JlYXRlIiwidmFyaWFudCIsIlNFQ09OREFSWSIsIk5ld1NhbXBsaW5nVGl0bGUiLCJzdHlsZWQiLCJwIiwidGhlbWUiLCJmb250V2VpZ2h0IiwidzcwMCIsIk1lbnVJbnB1dFN0eWxlIiwiZGl2IiwiYXR0cnMiLCJwcm9wcyIsInpJbmRleGVzIiwibW9kYWwiLCJjb2xvclNjaGVtZSIsIm5hdHVyYWwiLCJuMSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOzs7Ozs7QUE2QkEsSUFBTUEsaUJBQTZDLEdBQUcsU0FBaERBLGlCQUFnRCxPQUVoRDtBQUFBLE1BREpDLGdCQUNJLFFBREpBLGdCQUNJOztBQUNKLHdCQUFjLG1DQUFkO0FBQUEsTUFBUUMsQ0FBUixtQkFBUUEsQ0FBUjs7QUFDQSxrQkFBNEIscUJBQWtCLEtBQWxCLENBQTVCO0FBQUE7QUFBQSxNQUFPQyxNQUFQO0FBQUEsTUFBZUMsU0FBZjs7QUFFQSxxQkFBb0IsNkJBQ2xCLFVBQUNDLEtBQUQ7QUFBQSxXQUEwQ0EsS0FBSyxDQUFDQyxjQUFoRDtBQUFBLEdBRGtCLENBQXBCO0FBQUEsTUFBUUMsT0FBUixnQkFBUUEsT0FBUjs7QUFHQSxN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V0FBTixDQUFrQkMsT0FBbEIsQ0FBMEJDLEVBQXpDO0FBQUEsQ0FWRixDQUFwQjs7ZUFrRGV4RyxpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBGQywgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEZvcm0gfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgZmFQbHVzIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgaXNNb2JpbGUgfSBmcm9tICdyZWFjdC1kZXZpY2UtZGV0ZWN0JztcbmltcG9ydCB7IEZvcm1payB9IGZyb20gJ2Zvcm1payc7XG5pbXBvcnQgKiBhcyBZdXAgZnJvbSAneXVwJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSc7XG5pbXBvcnQgeyB1c2VRdWVyeSwgdXNlTXV0YXRpb24gfSBmcm9tICdyZWFjdC1xdWVyeSc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnO1xuaW1wb3J0IFNlbGVjdCBmcm9tICdyZWFjdC1zZWxlY3QnO1xuaW1wb3J0IHsgdG9hc3QgfSBmcm9tICdyZWFjdC10b2FzdGlmeSc7XG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnO1xuaW1wb3J0IERhdGVQaWNrZXIgZnJvbSAncmVhY3QtZGF0ZXBpY2tlcic7XG5cbmltcG9ydCB7IGFuYWx5dGljc1RyYWNrIH0gZnJvbSAnc3JjL3V0aWxpdGllcy9BbmFseXRpY3MnO1xuaW1wb3J0IHsgQnV0dG9uLCBNb2JpbGVJbnB1dCwgdmFyaWFudCB9IGZyb20gJ3NyYy91aS1raXQnO1xuaW1wb3J0IFN0eWxlIGZyb20gJy4vc3R5bGUubW9kdWxlLnNjc3MnO1xuaW1wb3J0IHsgdXJscyB9IGZyb20gJ3NyYy91dGlsaXRpZXMvdXJscyc7XG5pbXBvcnQgeyB1c2VEaXNwYXRjaCwgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnc3JjL3N0b3JlL3Jvb3RSZWR1Y2VyJztcbmltcG9ydCB7IHNldFNhbXBsaW5nRGF0YSB9IGZyb20gJ3NyYy9zdG9yZS9zYW1wbGluZ3MvYWN0aW9uc0NyZWF0b3InO1xuXG5pbnRlcmZhY2UgTmV3U2l0ZUlucHV0cyB7XG4gIHNhbXBsaW5nOiB7XG4gICAgZGF0ZTogc3RyaW5nO1xuICAgIHBvaW50X2lkOiBzdHJpbmc7XG4gICAgdHlwZTogc3RyaW5nO1xuICB9O1xufVxuXG5pbnRlcmZhY2UgUG9pbnRQcm9wcyB7XG4gIHBvaW50OiB7XG4gICAgaWQ6IG51bWJlcjtcbiAgICBsYWJlbDogc3RyaW5nO1xuICB9O1xufVxudHlwZSBHZXRQb2ludHNSZXNwb25zZSA9IHtcbiAgZGF0YToge1xuICAgIHBvaW50czogUG9pbnRQcm9wc1tdO1xuICB9O1xufTtcbmludGVyZmFjZSBNZW51SW5wdXRQcm9wcyB7XG4gIGlzT3BlbjogYm9vbGVhbjtcbn1cblxudHlwZSBOZXdTYW1wbGluZ0FjdGlvblByb3BzID0ge1xuICB3YXRlckF1dGhvcml0eUlkOiBudW1iZXI7XG59O1xuXG5jb25zdCBOZXdTYW1wbGluZ0FjdGlvbjogRkM8TmV3U2FtcGxpbmdBY3Rpb25Qcm9wcz4gPSAoe1xuICB3YXRlckF1dGhvcml0eUlkLFxufSkgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCk7XG4gIGNvbnN0IFtpc09wZW4sIHNldElzT3Blbl0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG5cbiAgY29uc3QgeyBwZXJQYWdlIH0gPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5zYW1wbGluZ3NfZGF0YSxcbiAgKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCB1c2VySW5mbyA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUucGVybWlzc2lvbnMudXNlcl9pbmZvKTtcblxuICBjb25zdCB7IGRhdGE6IHBvaW50cywgcmVmZXRjaCB9ID0gdXNlUXVlcnkoJ3NlbGVjdG9yX3BvaW50cycsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB3YXRlckF1dGhvcml0eVBvaW50c1VSTCA9IHVybHMoeyB3YXRlckF1dGhvcml0eUlkIH0pLnNhbXBsaW5nc1BhZ2VcbiAgICAgIC5nZXRQb2ludHMudXJsO1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXhpb3MuZ2V0PEdldFBvaW50c1Jlc3BvbnNlPihcbiAgICAgIHdhdGVyQXV0aG9yaXR5UG9pbnRzVVJMLFxuICAgICk7XG4gICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEuZGF0YS5wb2ludHM7XG4gIH0pO1xuXG4gIGNvbnN0IGNyZWF0ZVNhbXBsaW5nTXV0YXRpb24gPSB1c2VNdXRhdGlvbihcbiAgICAobmV3U2FtcGxpbmdWYWx1ZXMpID0+IHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGF4aW9zLmRlZmF1bHRzLmhlYWRlcnMuY29tbW9uWydYLUNTUkYtVE9LRU4nXSA9XG4gICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tuYW1lPWNzcmYtdG9rZW5dJykuY29udGVudDtcbiAgICAgIGF4aW9zLmRlZmF1bHRzLmhlYWRlcnMuY29tbW9uWydDb250ZW50LVR5cGUnXSA9ICdhcHBsaWNhdGlvbi9qcyc7XG4gICAgICByZXR1cm4gYXhpb3NcbiAgICAgICAgLnB1dChcbiAgICAgICAgICB1cmxzKHsgd2F0ZXJBdXRob3JpdHlJZCB9KS5zYW1wbGluZ3NQYWdlLmNyZWF0ZU5ld1NhbXBsaW5nLnVybCxcbiAgICAgICAgICBuZXdTYW1wbGluZ1ZhbHVlcyxcbiAgICAgICAgKVxuICAgICAgICAudGhlbigocmVzKSA9PiB7XG4gICAgICAgICAgdG9hc3Quc3VjY2Vzcyh0KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ19jcmVhdGVkJyksIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiAndG9wLWNlbnRlcicsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgc2V0SXNPcGVuKGZhbHNlKTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKChlKSA9PiB7XG4gICAgICAgICAgdG9hc3QuZXJyb3IodCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdfbm90X2NyZWF0ZWQnKSwge1xuICAgICAgICAgICAgcG9zaXRpb246ICd0b3AtY2VudGVyJyxcbiAgICAgICAgICB9KTtcbiAgICAgICAgfSk7XG4gICAgfSxcbiAgICB7XG4gICAgICBvblN1Y2Nlc3M6ICgpID0+IHtcbiAgICAgICAgLy8gUmVmcmVzaCB0aGUgc2FtcGxpbmdzIGhhY2tcbiAgICAgICAgZGlzcGF0Y2goc2V0U2FtcGxpbmdEYXRhKHsgcGVyUGFnZTogcGVyUGFnZSAtIDEgfSkpO1xuICAgICAgICBkaXNwYXRjaChzZXRTYW1wbGluZ0RhdGEoeyBwZXJQYWdlOiBwZXJQYWdlIH0pKTtcbiAgICAgICAgLy8gVE9ETzogcmVtb3ZlIHRoZSBhYm92ZSByZWZyZXNoIGhhY2sgYW5kIHJlcGxhY2Ugd2l0aCB0aGUgZm9sbG93aW5nIC0gY2hlY2sgS1NELTI5MjJcbiAgICAgICAgLy8gcXVlcnlDbGllbnQuaW52YWxpZGF0ZVF1ZXJpZXMoJ3RoZV9zYW1wbGluZ3NfbGlzdCcpO1xuICAgICAgfSxcbiAgICB9LFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgcmVmZXRjaCgpO1xuICAgIHNldElzT3BlbihmYWxzZSk7XG4gIH0sIFt3YXRlckF1dGhvcml0eUlkXSk7XG5cbiAgY29uc3QgTmV3U2FtcGxpbmdWYWxpZGF0aW9uU2NoZW1hID0gWXVwLm9iamVjdCgpLnNoYXBlKHtcbiAgICBzYW1wbGluZzogWXVwLm9iamVjdCgpLnNoYXBlKHtcbiAgICAgIGRhdGU6IFl1cC5zdHJpbmcoKS5yZXF1aXJlZCh0KCdzYW1wbGluZ3NfcGFnZS5kYXRlX3JlcXVpcmVkJykpLFxuICAgICAgcG9pbnRfaWQ6IFl1cC5zdHJpbmcoKS5yZXF1aXJlZCh0KCdzYW1wbGluZ3NfcGFnZS5zaXRlX3JlcXVpcmVkJykpLFxuICAgIH0pLFxuICB9KTtcblxuICBjb25zdCB0b2RheSA9IG1vbWVudCgpLmZvcm1hdCgnWVlZWS1NTS1ERCcpO1xuXG4gIGNvbnN0IG5ld1NpdGVJbml0aWFsVmFsdWVzOiBOZXdTaXRlSW5wdXRzID0ge1xuICAgIHNhbXBsaW5nOiB7XG4gICAgICBkYXRlOiB0b2RheSxcbiAgICAgIHBvaW50X2lkOiAnJyxcbiAgICAgIHR5cGU6ICdzYW1wbGluZ190eXBlX3JhcGlkJyxcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IGhhbmRsZU5ld1NhbXBsaW5nU3VibWl0ID0gKHZhbHVlcykgPT4ge1xuICAgIGNyZWF0ZVNhbXBsaW5nTXV0YXRpb24ubXV0YXRlKHZhbHVlcyk7XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlT3BlblBvcHVwQW5hbHl0aWNzID0gKCkgPT4ge1xuICAgIGFuYWx5dGljc1RyYWNrKCdTYW1wbGluZyBPcGVyYXRpb24gTmV3IFNhbXBsaW5nIENsaWNrZWQnLCB7XG4gICAgICB3YXRlcl9hdXRob3JpdHk6IHdhdGVyQXV0aG9yaXR5SWQsXG4gICAgfSk7XG4gIH07XG5cbiAgY29uc3QgTmV3U2FtcGxpbmdCdXR0b24gPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIDw+XG4gICAgICAgIHshaXNNb2JpbGUgJiYgKFxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIGNsYXNzTmFtZT17U3R5bGUubmV3U2FtcGxlckJ0bn1cbiAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IHtcbiAgICAgICAgICAgICAgaGFuZGxlT3BlblBvcHVwQW5hbHl0aWNzKCk7XG4gICAgICAgICAgICAgIHNldElzT3BlbighaXNPcGVuKTtcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW4gY2xhc3NOYW1lPXtTdHlsZS5uZXdCdXR0b25UZXh0fT5cbiAgICAgICAgICAgICAge3QoJ3NhbXBsaW5nc19wYWdlLm5ld19idXR0b24nKX0gJm5ic3A7XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8Rm9udEF3ZXNvbWVJY29uIGljb249e2ZhUGx1c30gLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgICAge2lzTW9iaWxlICYmIChcbiAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICBjbGFzc05hbWU9e1N0eWxlLm5ld1NhbXBsZXJCdG5Nb2JpbGV9XG4gICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBzZXRJc09wZW4oIWlzT3Blbil9XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPEZvbnRBd2Vzb21lSWNvbiBjbGFzc05hbWU9e1N0eWxlLmZhUGx1c30gaWNvbj17ZmFQbHVzfSAvPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxkaXYgY2xhc3NOYW1lPXtTdHlsZS5uZXdTYW1wbGluZ0FjdGlvbkRyb3Bkb3dufT5cbiAgICAgIDxOZXdTYW1wbGluZ0J1dHRvbiAvPlxuICAgICAge2lzT3BlbiAmJiAoXG4gICAgICAgIDxNZW51SW5wdXRTdHlsZSBpc09wZW49e2lzT3Blbn0+XG4gICAgICAgICAgPE5ld1NhbXBsaW5nVGl0bGU+XG4gICAgICAgICAgICB7dCgnc2FtcGxpbmdzX3BhZ2UuYWRkX25ld19zYW1wbGluZycpfVxuICAgICAgICAgIDwvTmV3U2FtcGxpbmdUaXRsZT5cbiAgICAgICAgICA8Rm9ybWlrXG4gICAgICAgICAgICBvblN1Ym1pdD17aGFuZGxlTmV3U2FtcGxpbmdTdWJtaXR9XG4gICAgICAgICAgICBpbml0aWFsVmFsdWVzPXtuZXdTaXRlSW5pdGlhbFZhbHVlc31cbiAgICAgICAgICAgIHZhbGlkYXRpb25TY2hlbWE9e05ld1NhbXBsaW5nVmFsaWRhdGlvblNjaGVtYX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7KHtcbiAgICAgICAgICAgICAgaGFuZGxlU3VibWl0LFxuICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2UsXG4gICAgICAgICAgICAgIHZhbHVlcyxcbiAgICAgICAgICAgICAgZXJyb3JzLFxuICAgICAgICAgICAgICBzZXRGaWVsZFZhbHVlLFxuICAgICAgICAgICAgfSkgPT4gKFxuICAgICAgICAgICAgICA8Rm9ybSBvblN1Ym1pdD17aGFuZGxlU3VibWl0fT5cbiAgICAgICAgICAgICAgICA8Rm9ybS5Hcm91cD5cbiAgICAgICAgICAgICAgICAgIDxGb3JtLkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICB7dCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdzX3RhYmxlX2NvbHMuc2FtcGxpbmdfZGF0ZScpfVxuICAgICAgICAgICAgICAgICAgPC9Gb3JtLkxhYmVsPlxuICAgICAgICAgICAgICAgICAgPERhdGVQaWNrZXJcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtTdHlsZS5kYXRlSW5wdXR9ICR7XG4gICAgICAgICAgICAgICAgICAgICAgZXJyb3JzPy5zYW1wbGluZz8uZGF0ZSAmJiAnaW52YWxpZCdcbiAgICAgICAgICAgICAgICAgICAgfWB9XG4gICAgICAgICAgICAgICAgICAgIG5hbWU9XCJzYW1wbGluZy5kYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ9e25ldyBEYXRlKCl9XG4gICAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsoZGF0ZSkgPT4gc2V0RmllbGRWYWx1ZSgnc2FtcGxpbmcuZGF0ZScsIGRhdGUpfVxuICAgICAgICAgICAgICAgICAgICBjYWxlbmRhckNsYXNzTmFtZT17U3R5bGUuY2FsZW5kYXJ9XG4gICAgICAgICAgICAgICAgICAgIGRhdGVGb3JtYXQ9e1xuICAgICAgICAgICAgICAgICAgICAgIHVzZXJJbmZvLmRhdGVfdGltZV9mb3JtYXQgPT09ICd1cydcbiAgICAgICAgICAgICAgICAgICAgICAgID8gJ01NTU0gZGQsIHl5eXknXG4gICAgICAgICAgICAgICAgICAgICAgICA6ICdkZC9NTS95eXl5J1xuICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIDwvRm9ybS5Hcm91cD5cbiAgICAgICAgICAgICAgICB7ZXJyb3JzPy5zYW1wbGluZz8uZGF0ZSA/IChcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtTdHlsZS52YWxpZGF0aW9uRXJyb3J9PlxuICAgICAgICAgICAgICAgICAgICB7ZXJyb3JzLnNhbXBsaW5nLmRhdGV9XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICApIDogbnVsbH1cblxuICAgICAgICAgICAgICAgIDxGb3JtLkxhYmVsPlxuICAgICAgICAgICAgICAgICAge3QoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nc190YWJsZV9jb2xzLnNpdGUnKX1cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17U3R5bGUucmVxdWlyZWR9Pio8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9Gb3JtLkxhYmVsPlxuICAgICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXt0KCdzYW1wbGluZ3NfcGFnZS5zaXRlX3BsYWNlaG9sZGVyJyl9XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2Ake1N0eWxlLnNpdGVJbnB1dH0gJHtcbiAgICAgICAgICAgICAgICAgICAgZXJyb3JzPy5zYW1wbGluZz8ucG9pbnRfaWQgJiYgU3R5bGUuaW52YWxpZEJvcmRlcnNcbiAgICAgICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgICAgICAgbmFtZT1cInNhbXBsaW5nLnBvaW50X2lkXCJcbiAgICAgICAgICAgICAgICAgIG9uQ2hhbmdlPXsob3B0aW9uOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgc2V0RmllbGRWYWx1ZSgnc2FtcGxpbmcucG9pbnRfaWQnLCBvcHRpb24udmFsdWUpO1xuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgIGlzU2VhcmNoYWJsZT17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZVByZWZpeD17J2Rhc2hib2FyZC1zZWxlY3QnfVxuICAgICAgICAgICAgICAgICAgb3B0aW9ucz17cG9pbnRzPy5tYXAoKHB0OiBQb2ludFByb3BzKSA9PiAoe1xuICAgICAgICAgICAgICAgICAgICB2YWx1ZTogcHQucG9pbnQuaWQsXG4gICAgICAgICAgICAgICAgICAgIGxhYmVsOiBwdC5wb2ludC5sYWJlbCxcbiAgICAgICAgICAgICAgICAgIH0pKX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgIHtlcnJvcnM/LnNhbXBsaW5nPy5wb2ludF9pZCAmJiAoXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17U3R5bGUudmFsaWRhdGlvbkVycm9yfT5cbiAgICAgICAgICAgICAgICAgICAge2Vycm9ycy5zYW1wbGluZy5wb2ludF9pZH1cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgICAgICA8TW9iaWxlSW5wdXRcbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7U3R5bGUudHlwZUlucHV0fSAke1xuICAgICAgICAgICAgICAgICAgICBlcnJvcnM/LnNhbXBsaW5nPy50eXBlICYmIFN0eWxlLmludmFsaWRCb3JkZXJzXG4gICAgICAgICAgICAgICAgICB9YH1cbiAgICAgICAgICAgICAgICAgIGlucHV0VGl0bGU9e3QoJ2xhYl9yZXN1bHRzX3NjcmVlbi50eXBlJyl9XG4gICAgICAgICAgICAgICAgICB2YWx1ZT17dmFsdWVzLnNhbXBsaW5nLnR5cGV9XG4gICAgICAgICAgICAgICAgICBuYW1lPVwic2FtcGxpbmcudHlwZVwiXG4gICAgICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2U9e2hhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJzZWxlY3RcIlxuICAgICAgICAgICAgICAgICAgbWFuZGF0b3J5PXt0cnVlfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxvcHRpb25cbiAgICAgICAgICAgICAgICAgICAga2V5PVwicmFwaWRcIlxuICAgICAgICAgICAgICAgICAgICB2YWx1ZT1cInNhbXBsaW5nX3R5cGVfcmFwaWRcIlxuICAgICAgICAgICAgICAgICAgICBzZWxlY3RlZD17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3QoJ3NhbXBsaW5nX3R5cGVzX21pbmkuc2FtcGxpbmdfdHlwZV9yYXBpZCcpfVxuICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICA8b3B0aW9uIGtleT1cImNvbXBsZXhcIiB2YWx1ZT1cInNhbXBsaW5nX3R5cGVfY29tcGxleFwiPlxuICAgICAgICAgICAgICAgICAgICB7dCgnc2FtcGxpbmdfdHlwZXNfbWluaS5zYW1wbGluZ190eXBlX2NvbXBsZXgnKX1cbiAgICAgICAgICAgICAgICAgIDwvb3B0aW9uPlxuICAgICAgICAgICAgICAgICAgPG9wdGlvbiBrZXk9XCJib3RoXCIgdmFsdWU9XCJzYW1wbGluZ190eXBlX2JvdGhcIj5cbiAgICAgICAgICAgICAgICAgICAge3QoJ3NhbXBsaW5nX3R5cGVzX21pbmkuc2FtcGxpbmdfdHlwZV9ib3RoJyl9XG4gICAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICA8L01vYmlsZUlucHV0PlxuXG4gICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLmJ1dHRvbnNDb250YWluZXJ9PlxuICAgICAgICAgICAgICAgICAgPEJ1dHRvbiBvbkNsaWNrPXsoKSA9PiBzZXRJc09wZW4oZmFsc2UpfSB2YXJpYW50PVwiY2xvc2VcIj5cbiAgICAgICAgICAgICAgICAgICAge3QoJ2Nsb3NlJyl9XG4gICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtTdHlsZS5idXR0b25DcmVhdGV9XG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmU9e3RydWV9XG4gICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9e3ZhcmlhbnQuU0VDT05EQVJZfVxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3QoJ3NhbXBsaW5nc19wYWdlLmNyZWF0ZV9idXR0b24nKX1cbiAgICAgICAgICAgICAgICAgIDwvQnV0dG9uPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8L0Zvcm0+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvRm9ybWlrPlxuICAgICAgICA8L01lbnVJbnB1dFN0eWxlPlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cbmNvbnN0IE5ld1NhbXBsaW5nVGl0bGUgPSBzdHlsZWQucGBcbiAgZm9udC13ZWlnaHQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuZm9udFdlaWdodC53NzAwfTtcbmA7XG5cbmNvbnN0IE1lbnVJbnB1dFN0eWxlID0gc3R5bGVkLmRpdi5hdHRycygocHJvcHM6IE1lbnVJbnB1dFByb3BzKSA9PiAoe1xuICBpc09wZW46IHByb3BzLmlzT3Blbixcbn0pKWBcbiAgcGFkZGluZzogMzNweCAyOHB4O1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHJpZ2h0OiAxNnB4O1xuICB0b3A6IDE0MHB4O1xuICB6LWluZGV4OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnpJbmRleGVzLm1vZGFsfTtcbiAgbWluLWhlaWdodDogNDAwcHg7XG4gIHdpZHRoOiAzOTBweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm4xfTtcbiAgYm9yZGVyOiAxcHggc29saWQgI2E2YWNiOTtcbiAgYm94LXNoYWRvdzogMCAxcHggM3B4ICNlM2UzZTM7XG5cbiAgLnJ0bCAmIHtcbiAgICByaWdodDogdW5zZXQ7XG4gICAgbGVmdDogMTZweDtcbiAgfVxuXG4gICoge1xuICAgIGZvbnQtZmFtaWx5OiBOdW5pdG8sIEdpbHJveSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgfVxuXG4gIGFuaW1hdGlvbjogdHJhbnNpdGlvbi1pbiA0NDRtcywgZmFkZS1pbiA0NDRtcztcbiAgQGtleWZyYW1lcyB0cmFuc2l0aW9uLWluIHtcbiAgICBmcm9tIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgyMDBweCk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwKTtcbiAgICB9XG4gIH1cbiAgQGtleWZyYW1lcyBmYWRlLWluIHtcbiAgICAwJSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICB9XG5cbiAgLyogVXNlIDQ4MHB4IGFzIG1vYmlsZSdzIG1heC13aWR0aCAqL1xuICBAbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICB0b3A6IGF1dG87XG4gICAgd2lkdGg6IDEwMHZ3O1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgfVxuYDtcblxuZXhwb3J0IGRlZmF1bHQgTmV3U2FtcGxpbmdBY3Rpb247XG4iXX0=