@kando-env/kando-ui 1.2.28-alpha.0 → 1.2.28-alpha.10

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 (30) hide show
  1. package/lib/Router.js +2 -12
  2. package/lib/Widgets/EventsRow/EventsRow.js +9 -9
  3. package/lib/Widgets/Map/Map.js +6 -3
  4. package/lib/Widgets/Map/points/PointMarker.js +2 -1
  5. package/lib/Widgets/Map/points/PointMarkers.js +5 -3
  6. package/lib/Widgets/MostPolluting/components/ChangePercent.js +8 -4
  7. package/lib/i18n/en.json +11 -5
  8. package/lib/i18n/he.json +9 -3
  9. package/lib/macros/getVersion.js +2 -2
  10. package/lib/pages/EventsPage/events/EventsStyle.scss +0 -281
  11. package/lib/pages/EventsPage/events/events_list/EventsList.js +3 -2
  12. package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +29 -16
  13. package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +13 -1
  14. package/lib/pages/EventsPage/events/events_list/Filter/FilterStyle.scss +280 -0
  15. package/lib/pages/SamplingsPage/FilterStyle.scss +29 -0
  16. package/lib/pages/SamplingsPage/NewSamplingAction.js +2 -2
  17. package/lib/pages/SamplingsPage/SamplingActionDropdown.js +11 -4
  18. package/lib/pages/SamplingsPage/SamplingProperties/SamplingMobileProperties.js +7 -8
  19. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +46 -39
  20. package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +9 -9
  21. package/lib/pages/SamplingsPage/SamplingsMobileList.js +12 -5
  22. package/lib/pages/SamplingsPage/SamplingsPage.js +18 -14
  23. package/lib/pages/SamplingsPage/SamplingsPageContainer.js +23 -5
  24. package/lib/pages/SamplingsPage/style.module.scss +5 -11
  25. package/lib/pages/UtilityDashboardPage/UtilityDashboardMapContainer/UtilityDashboardMapContainer.js +3 -2
  26. package/lib/ui-kit/KandoTable/KandoTable.js +2 -2
  27. package/lib/ui-kit/MobileInput/MobileInput.js +1 -1
  28. package/lib/utilities/kql.js +2 -2
  29. package/lib/utilities/urls.js +3 -6
  30. package/package.json +1 -1
@@ -49,6 +49,8 @@ var _styleModule = _interopRequireDefault(require("../style.module.scss"));
49
49
 
50
50
  require("./bootstrap.overrides.scss");
51
51
 
52
+ var _lodash = require("lodash");
53
+
52
54
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
53
55
 
54
56
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -81,21 +83,24 @@ var SamplingPropertiesForm = function SamplingPropertiesForm(props) {
81
83
  var navContext = (0, _reactRedux.useSelector)(function (state) {
82
84
  return state.nav_context_data.navContext;
83
85
  });
84
- var validationSchema = pageType === 'sampling-properties' ? _samplingPropertiesUtils.propertiesValidationSchema : _samplingPropertiesUtils.cancellingValidationSchema;
86
+ var validationSchema = pageType === 'collect' ? _samplingPropertiesUtils.propertiesValidationSchema : _samplingPropertiesUtils.cancellationValidationSchema;
87
+ var collectionTime = pageType === 'collect' ? currentDate : samplingProperties.sampling.collection_time;
88
+ var isCanceled = pageType === 'cancel' ? true : samplingProperties.sampling.is_canceled;
85
89
  var formik = (0, _formik.useFormik)({
86
90
  initialValues: {
87
91
  lab_id: samplingProperties.sampling.lab_id,
88
- collection_time: currentDate,
92
+ collection_time: collectionTime,
89
93
  pump_sampling_volume: samplingProperties.sampling.pump_sampling_volume,
90
94
  pump_battery_level: samplingProperties.sampling.pump_battery_level,
91
95
  description: samplingProperties.sampling.description,
92
96
  kando_rep: samplingProperties.sampling.kando_rep,
93
97
  sampling_plan_id: samplingProperties.sampling.sampling_plan_id,
94
- cancelling_reason: ''
98
+ cancellation_reason: samplingProperties.sampling.cancellation_reason,
99
+ is_canceled: isCanceled
95
100
  },
96
101
  validationSchema: validationSchema,
97
- validateOnChange: false,
98
- validateOnBlur: false,
102
+ validateOnChange: true,
103
+ validateOnBlur: true,
99
104
  onSubmit: function onSubmit(values) {
100
105
  handleSubmit(values);
101
106
  }
@@ -112,7 +117,8 @@ var SamplingPropertiesForm = function SamplingPropertiesForm(props) {
112
117
 
113
118
  for (var key in values) {
114
119
  if (key !== 'pictures_attributes') {
115
- formData.append("sampling[".concat(key, "]"), values[key]);
120
+ var value = values[key] === null ? '' : values[key];
121
+ formData.append("sampling[".concat(key, "]"), value);
116
122
  }
117
123
  }
118
124
 
@@ -150,10 +156,12 @@ var SamplingPropertiesForm = function SamplingPropertiesForm(props) {
150
156
  }
151
157
  };
152
158
 
153
- var handleSubmit = function handleSubmit(values) {
159
+ var handleSubmit = function handleSubmit() {
160
+ var values = formik.values;
154
161
  setSavingMsg(_i18n.default.t('buttons.saving'));
155
162
  values.pictures_attributes = photos;
156
- updateOrCreate(formDataBuilder(values));
163
+ var saveFormData = formDataBuilder(values);
164
+ updateOrCreate(saveFormData);
157
165
  };
158
166
 
159
167
  var handleClose = function handleClose() {
@@ -166,9 +174,8 @@ var SamplingPropertiesForm = function SamplingPropertiesForm(props) {
166
174
 
167
175
  (0, _useInitializeHeaders.useInitializeHeaders)();
168
176
  (0, _react.useEffect)(function () {}, [samplingProperties]);
169
- var CancellingReasons = (0, _react.useCallback)(function (_ref) {
170
- var formik = _ref.formik;
171
177
 
178
+ var CancellationReasons = function CancellationReasons() {
172
179
  var manualReasons = _samplingPropertiesUtils.manualReasonsKeys.map(function (key) {
173
180
  return _i18n.default.t("cancellation_reasons.".concat(key));
174
181
  });
@@ -180,38 +187,33 @@ var SamplingPropertiesForm = function SamplingPropertiesForm(props) {
180
187
  var reasons = sampling.machine_type === 'sampling_type_rapid' ? manualReasons : autoReasons;
181
188
  var machineReasons = sampling.machine_type === 'sampling_type_rapid' ? _samplingPropertiesUtils.manualReasonsKeys : _samplingPropertiesUtils.autoReasonsKeys;
182
189
  return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Group, {
183
- className: "".concat(_styleModule.default.cancellingReasonGroup, " ").concat(formik.touched.cancelling_reason && formik.errors.cancelling_reason ? _styleModule.default.invalidBorders : '')
190
+ className: _styleModule.default.cancellationReasonGroup
184
191
  }, reasons.map(function (reason, idx) {
185
192
  return /*#__PURE__*/_react.default.createElement("div", {
186
193
  key: "opt-".concat(idx),
187
- className: "mb-3 ".concat(_styleModule.default.cancellingReason)
194
+ className: "mb-3 ".concat(_styleModule.default.cancellationReason)
188
195
  }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Check, {
189
196
  value: machineReasons[idx],
190
197
  onChange: formik.handleChange,
198
+ onBlur: formik.handleBlur,
191
199
  label: reason,
192
- name: "cancelling_reason",
200
+ name: "cancellation_reason",
193
201
  type: "radio",
194
- id: "idx-".concat(idx)
202
+ id: reason,
203
+ checked: machineReasons[idx] === formik.values.cancellation_reason
195
204
  }));
196
- })), formik.touched.cancelling_reason && formik.errors.cancelling_reason && /*#__PURE__*/_react.default.createElement("div", {
197
- className: _styleModule.default.validationError
198
- }, _i18n.default.t('general.please_select')));
199
- }, [samplingProperties]);
205
+ })));
206
+ };
207
+
200
208
  return /*#__PURE__*/_react.default.createElement(FormStyle, null, /*#__PURE__*/_react.default.createElement(_formik.Formik, {
201
209
  initialValues: _samplingPropertiesUtils.samplingProperty,
202
- validateOnBlur: false,
203
- validateOnChange: false,
204
- onSubmit: function onSubmit() {
205
- return handleSubmit(formik.values);
206
- }
210
+ onSubmit: handleSubmit
207
211
  }, function () {
208
212
  return /*#__PURE__*/_react.default.createElement("form", {
209
- onSubmit: function onSubmit(e) {
210
- e.preventDefault();
211
- formik.handleSubmit(e);
212
- }
213
- }, /*#__PURE__*/_react.default.createElement(FormContainerStyle, null, /*#__PURE__*/_react.default.createElement(FieldsContainer, null, pageType === 'sampling-properties' && /*#__PURE__*/_react.default.createElement(Start, null, /*#__PURE__*/_react.default.createElement(InputWrapper, null, /*#__PURE__*/_react.default.createElement(_uiKit.MobileInput, {
213
+ onSubmit: formik.handleSubmit
214
+ }, /*#__PURE__*/_react.default.createElement(FormContainerStyle, null, /*#__PURE__*/_react.default.createElement(FieldsContainer, null, pageType === 'collect' && /*#__PURE__*/_react.default.createElement(Start, null, /*#__PURE__*/_react.default.createElement(InputWrapper, null, /*#__PURE__*/_react.default.createElement(_uiKit.MobileInput, {
214
215
  handleChange: formik.handleChange,
216
+ handleBlur: formik.handleBlur,
215
217
  inputTitle: _i18n.default.t('activerecord.models.lab'),
216
218
  name: "lab_id",
217
219
  type: "select",
@@ -222,13 +224,15 @@ var SamplingPropertiesForm = function SamplingPropertiesForm(props) {
222
224
  value: undefined
223
225
  }), samplingProperties.labs !== undefined && samplingProperties.labs.map(function (lab) {
224
226
  return /*#__PURE__*/_react.default.createElement("option", {
225
- value: lab.id
227
+ value: lab.id,
228
+ selected: lab.id === (0, _lodash.toSafeInteger)(formik.values.lab_id)
226
229
  }, lab.name);
227
230
  })), formik.errors.lab_id && /*#__PURE__*/_react.default.createElement("div", {
228
231
  className: 'hint'
229
232
  }, formik.errors.lab_id)), /*#__PURE__*/_react.default.createElement(FormRowStyle, null, /*#__PURE__*/_react.default.createElement(InputWrapper, null, /*#__PURE__*/_react.default.createElement(_uiKit.MobileInput, {
230
233
  isInvalid: !!formik.errors.pump_sampling_volume,
231
234
  handleChange: formik.handleChange,
235
+ handleBlur: formik.handleBlur,
232
236
  inputTitle: _i18n.default.t('pump_scheduled_days_configuration.volume'),
233
237
  name: "pump_sampling_volume",
234
238
  type: "number",
@@ -240,6 +244,7 @@ var SamplingPropertiesForm = function SamplingPropertiesForm(props) {
240
244
  }, formik.errors.pump_sampling_volume)), /*#__PURE__*/_react.default.createElement(InputWrapper, null, /*#__PURE__*/_react.default.createElement(_uiKit.MobileInput, {
241
245
  isInvalid: !!formik.errors.pump_battery_level,
242
246
  handleChange: formik.handleChange,
247
+ handleBlur: formik.handleBlur,
243
248
  inputTitle: _i18n.default.t('sampling_screen.pump_battery_level'),
244
249
  name: "pump_battery_level",
245
250
  type: "number",
@@ -250,9 +255,10 @@ var SamplingPropertiesForm = function SamplingPropertiesForm(props) {
250
255
  className: 'hint hint--upper'
251
256
  }, formik.errors.pump_battery_level)))), /*#__PURE__*/_react.default.createElement(End, {
252
257
  pageType: pageType
253
- }, pageType === 'sampling-properties' && /*#__PURE__*/_react.default.createElement(InputWrapper, null, /*#__PURE__*/_react.default.createElement(_uiKit.MobileInput, {
258
+ }, pageType === 'collect' && /*#__PURE__*/_react.default.createElement(InputWrapper, null, /*#__PURE__*/_react.default.createElement(_uiKit.MobileInput, {
254
259
  isInvalid: !!formik.errors.kando_rep,
255
260
  handleChange: formik.handleChange,
261
+ handleBlur: formik.handleBlur,
256
262
  inputTitle: _i18n.default.t('samplings_page.samplings_properties.reporter'),
257
263
  name: "kando_rep",
258
264
  type: "text",
@@ -261,12 +267,13 @@ var SamplingPropertiesForm = function SamplingPropertiesForm(props) {
261
267
  mandatory: true
262
268
  }), formik.errors.kando_rep && /*#__PURE__*/_react.default.createElement("div", {
263
269
  className: 'hint'
264
- }, formik.errors.kando_rep)), pageType === 'sampling-cancelling' && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
265
- className: _styleModule.default.cancellingTitle
266
- }, _i18n.default.t('samplings_page.cancelling_title'), ":"), /*#__PURE__*/_react.default.createElement(CancellingReasons, {
267
- formik: formik
268
- })), /*#__PURE__*/_react.default.createElement(InputWrapper, null, /*#__PURE__*/_react.default.createElement(Description, null, /*#__PURE__*/_react.default.createElement(_uiKit.MobileInput, {
270
+ }, formik.errors.kando_rep)), pageType === 'cancel' && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("div", {
271
+ className: _styleModule.default.cancellationTitle
272
+ }, _i18n.default.t('samplings_page.cancellation_title'), ":"), formik.touched.cancellation_reason && formik.errors.cancellation_reason && /*#__PURE__*/_react.default.createElement("div", {
273
+ className: _styleModule.default.validationError
274
+ }, _i18n.default.t('general.please_select')), /*#__PURE__*/_react.default.createElement(CancellationReasons, null)), /*#__PURE__*/_react.default.createElement(InputWrapper, null, /*#__PURE__*/_react.default.createElement(Description, null, /*#__PURE__*/_react.default.createElement(_uiKit.MobileInput, {
269
275
  handleChange: formik.handleChange,
276
+ handleBlur: formik.handleBlur,
270
277
  inputTitle: _i18n.default.t('water_meter.description'),
271
278
  name: "description",
272
279
  type: "textarea",
@@ -322,7 +329,7 @@ var Start = _styledComponents.default.div.withConfig({
322
329
 
323
330
  var End = _styledComponents.default.div.attrs(function (props) {
324
331
  return {
325
- isPropertiesPage: props.pageType === 'sampling-properties'
332
+ isPropertiesPage: props.pageType === 'collect'
326
333
  };
327
334
  }).withConfig({
328
335
  displayName: "SamplingPropertiesForm__End",
@@ -348,8 +355,8 @@ var FormRowStyle = (0, _styledComponents.default)(_reactBootstrap.Row).withConfi
348
355
  var ButtonsRow = (0, _styledComponents.default)(_reactBootstrap.Row).withConfig({
349
356
  displayName: "SamplingPropertiesForm__ButtonsRow",
350
357
  componentId: "sc-11w8cbo-7"
351
- })(["margin-top:30px;justify-content:", ";margin:", ";background-color:", ";div{", "}"], _reactDeviceDetect.isMobile ? 'space-between' : 'flex-end', _reactDeviceDetect.isMobile ? 0 : '9px 0', _reactDeviceDetect.isMobile ? function (_ref2) {
352
- var theme = _ref2.theme;
358
+ })(["margin-top:30px;justify-content:", ";margin:", ";background-color:", ";div{", "}"], _reactDeviceDetect.isMobile ? 'space-between' : 'flex-end', _reactDeviceDetect.isMobile ? 0 : '9px 0', _reactDeviceDetect.isMobile ? function (_ref) {
359
+ var theme = _ref.theme;
353
360
  return theme.colorScheme.natural.n10;
354
361
  } : '', _reactDeviceDetect.isMobile ? '' : 'margin: 0 6px');
355
362
  var FormContainerStyle = (0, _styledComponents.default)(_reactBootstrap.Container).withConfig({
@@ -361,4 +368,4 @@ var BottomFormStyle = _styledComponents.default.div.withConfig({
361
368
  displayName: "SamplingPropertiesForm__BottomFormStyle",
362
369
  componentId: "sc-11w8cbo-9"
363
370
  })(["border-bottom:6px solid #f9fafc;"]);
364
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nUHJvcGVydGllcy9TYW1wbGluZ1Byb3BlcnRpZXNGb3JtLnRzeCJdLCJuYW1lcyI6WyJTYW1wbGluZ1Byb3BlcnRpZXNGb3JtIiwicHJvcHMiLCJzYW1wbGluZ1Byb3BlcnRpZXMiLCJzYW1wbGluZyIsImN1cnJlbnREYXRlIiwic2V0U2FtcGxpbmdVcGRhdGVkIiwicGFnZVR5cGUiLCJwaG90b3MiLCJzZXRQaG90b3MiLCJwaG90b3NUb0RlbGV0ZSIsInNldFBob3Rvc1RvRGVsZXRlIiwiaTE4biIsInQiLCJzYXZpbmdNc2ciLCJzZXRTYXZpbmdNc2ciLCJoaXN0b3J5IiwicXVlcnkiLCJ3YXRlckF1dGhvcml0eUlkRnJvbVVybCIsInBhcnNlSW50IiwiZ2V0IiwibmF2Q29udGV4dCIsInN0YXRlIiwibmF2X2NvbnRleHRfZGF0YSIsInZhbGlkYXRpb25TY2hlbWEiLCJwcm9wZXJ0aWVzVmFsaWRhdGlvblNjaGVtYSIsImNhbmNlbGxpbmdWYWxpZGF0aW9uU2NoZW1hIiwiZm9ybWlrIiwiaW5pdGlhbFZhbHVlcyIsImxhYl9pZCIsImNvbGxlY3Rpb25fdGltZSIsInB1bXBfc2FtcGxpbmdfdm9sdW1lIiwicHVtcF9iYXR0ZXJ5X2xldmVsIiwiZGVzY3JpcHRpb24iLCJrYW5kb19yZXAiLCJzYW1wbGluZ19wbGFuX2lkIiwiY2FuY2VsbGluZ19yZWFzb24iLCJ2YWxpZGF0ZU9uQ2hhbmdlIiwidmFsaWRhdGVPbkJsdXIiLCJvblN1Ym1pdCIsInZhbHVlcyIsImhhbmRsZVN1Ym1pdCIsInNldE9yaWdpbmFsU2F2ZU1lc3NhZ2VXaXRoVGltZW91dCIsInNldFRpbWVvdXQiLCJmb3JtRGF0YUJ1aWxkZXIiLCJmb3JtRGF0YSIsIkZvcm1EYXRhIiwia2V5IiwiYXBwZW5kIiwidW5pcXVlUGhvdG9zVG9EZWxldGUiLCJTZXQiLCJsZW5ndGgiLCJmb3JFYWNoIiwiaWQiLCJpbmRleCIsIkpTT04iLCJzdHJpbmdpZnkiLCJ1cGRhdGVPckNyZWF0ZSIsImF4aW9zIiwicG9zdCIsImNyZWF0ZVNhbXBsaW5nIiwidXJsIiwidGhlbiIsImNhdGNoIiwicHV0Iiwic2FtcGxpbmdJZCIsInVwZGF0ZVNhbXBsaW5nIiwiaGFuZGxlQ2xvc2UiLCJwaWN0dXJlc19hdHRyaWJ1dGVzIiwic2FtcGxpbmdzTGlzdFJvdXRlIiwibG9jYWxlIiwid2F0ZXJBdXRob3JpdHlJZCIsInNhbXBsaW5nc1BhZ2UiLCJwdXNoIiwiQ2FuY2VsbGluZ1JlYXNvbnMiLCJtYW51YWxSZWFzb25zIiwibWFudWFsUmVhc29uc0tleXMiLCJtYXAiLCJhdXRvUmVhc29ucyIsImF1dG9SZWFzb25zS2V5cyIsInJlYXNvbnMiLCJtYWNoaW5lX3R5cGUiLCJtYWNoaW5lUmVhc29ucyIsIlN0eWxlIiwiY2FuY2VsbGluZ1JlYXNvbkdyb3VwIiwidG91Y2hlZCIsImVycm9ycyIsImludmFsaWRCb3JkZXJzIiwicmVhc29uIiwiaWR4IiwiY2FuY2VsbGluZ1JlYXNvbiIsImhhbmRsZUNoYW5nZSIsInZhbGlkYXRpb25FcnJvciIsInNhbXBsaW5nUHJvcGVydHkiLCJlIiwicHJldmVudERlZmF1bHQiLCJ1bmRlZmluZWQiLCJsYWJzIiwibGFiIiwibmFtZSIsImNhbmNlbGxpbmdUaXRsZSIsIklucHV0V3JhcHBlciIsInN0eWxlZCIsImRpdiIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJkYXRhIiwiUjEwMCIsIkZpZWxkc0NvbnRhaW5lciIsImlzTW9iaWxlIiwiU3RhcnQiLCJFbmQiLCJhdHRycyIsImlzUHJvcGVydGllc1BhZ2UiLCJEZXNjcmlwdGlvbiIsIkZvcm1TdHlsZSIsIkZvcm1Sb3dTdHlsZSIsIlJvdyIsIkJ1dHRvbnNSb3ciLCJuYXR1cmFsIiwibjEwIiwiRm9ybUNvbnRhaW5lclN0eWxlIiwiQ29udGFpbmVyIiwiQm90dG9tRm9ybVN0eWxlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztB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S0FBSCxTQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDQyxXQUFOLENBQWtCYyxPQUFsQixDQUEwQkMsR0FBekM7QUFBQSxDQURnQixHQUVoQixFQU5VLEVBU1ZYLDhCQUFXLEVBQVgsR0FBZ0IsZUFUTixDQUFoQjtBQWFBLElBQU1ZLGtCQUFrQixHQUFHLCtCQUFPQyx5QkFBUCxDQUFIO0FBQUE7QUFBQTtBQUFBLDJCQUF4Qjs7QUFLQSxJQUFNQyxlQUFlLEdBQUdyQiwwQkFBT0MsR0FBVjtBQUFBO0FBQUE7QUFBQSx3Q0FBckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgRkMsIHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IGF4aW9zIGZyb20gJ2F4aW9zJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgQ29udGFpbmVyLCBGb3JtLCBSb3cgfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgRm9ybWlrLCB1c2VGb3JtaWsgfSBmcm9tICdmb3JtaWsnO1xuaW1wb3J0IHsgaXNNb2JpbGUgfSBmcm9tICdyZWFjdC1kZXZpY2UtZGV0ZWN0JztcbmltcG9ydCB7IHVzZUhpc3RvcnkgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHtcbiAgc2FtcGxpbmdQcm9wZXJ0eSxcbiAgcHJvcGVydGllc1ZhbGlkYXRpb25TY2hlbWEsXG4gIGNhbmNlbGxpbmdWYWxpZGF0aW9uU2NoZW1hLFxuICBhdXRvUmVhc29uc0tleXMsXG4gIG1hbnVhbFJlYXNvbnNLZXlzLFxufSBmcm9tICdzcmMvcGFnZXMvU2FtcGxpbmdzUGFnZS9TYW1wbGluZ1Byb3BlcnRpZXMvc2FtcGxpbmdQcm9wZXJ0aWVzVXRpbHMnO1xuXG5pbXBvcnQgSW1hZ2VVcGxvYWQgZnJvbSAnc3JjL3BhZ2VzL1NhbXBsaW5nc1BhZ2UvU2FtcGxpbmdQcm9wZXJ0aWVzL0ltYWdlVXBsb2FkJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgdXNlUXVlcnlVUkwgZnJvbSAnc3JjL2hvb2tzL3VzZVF1ZXJ5VVJMJztcbmltcG9ydCB7IE1vYmlsZUlucHV0LCBCdXR0b24gfSBmcm9tICdzcmMvdWkta2l0JztcbmltcG9ydCB7IFRTYW1wbGluZ1Byb3BlcnRpZXMgfSBmcm9tICcuL1NhbXBsaW5nTW9iaWxlUHJvcGVydGllcyc7XG5pbXBvcnQgeyBhcHBSZWR1Y2VyIH0gZnJvbSAnc3JjL3N0b3JlL3Jvb3RSZWR1Y2VyJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnc3JjL3N0eWxlcy90aGVtZS90aGVtZSc7XG5pbXBvcnQgeyB1cmxzIH0gZnJvbSAnc3JjL3V0aWxpdGllcy91cmxzJztcbmltcG9ydCB7IHVzZUluaXRpYWxpemVIZWFkZXJzIH0gZnJvbSAnc3JjL2hvb2tzL3VzZUluaXRpYWxpemVIZWFkZXJzJztcbmltcG9ydCB7IFNhbXBsaW5nRmV0Y2hEYXRhIH0gZnJvbSAnc3JjL3BhZ2VzL1NhbXBsaW5nc1BhZ2Uvc2FtcGxpbmdzUGFnZVV0aWxzJztcblxuaW1wb3J0IFN0eWxlIGZyb20gJy4uL3N0eWxlLm1vZHVsZS5zY3NzJztcbmltcG9ydCAnLi9ib290c3RyYXAub3ZlcnJpZGVzLnNjc3MnO1xuXG50eXBlIHByb3BzID0ge1xuICBzYW1wbGluZ1Byb3BlcnRpZXM6IFRTYW1wbGluZ1Byb3BlcnRpZXM7XG4gIHNhbXBsaW5nOiBTYW1wbGluZ0ZldGNoRGF0YTtcbiAgY3VycmVudERhdGU6IHN0cmluZztcbiAgc2V0U2FtcGxpbmdVcGRhdGVkOiBSZWFjdC5EaXNwYXRjaDxSZWFjdC5TZXRTdGF0ZUFjdGlvbjxib29sZWFuPj47XG4gIHBhZ2VUeXBlOiBzdHJpbmc7XG59O1xuXG50eXBlIEZvcm1UeXBlID0ge1xuICBsYWJfaWQ6IG51bWJlcjtcbiAgY29sbGVjdGlvbl90aW1lOiBzdHJpbmc7XG4gIHB1bXBfc2FtcGxpbmdfdm9sdW1lOiBudW1iZXI7XG4gIHB1bXBfYmF0dGVyeV9sZXZlbDogbnVtYmVyO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBrYW5kb19yZXA6IHN0cmluZztcbiAgc2FtcGxpbmdfcGxhbl9pZDogbnVtYmVyO1xuICBjYW5jZWxsaW5nX3JlYXNvbjogc3RyaW5nO1xufTtcblxuZXhwb3J0IGNvbnN0IFNhbXBsaW5nUHJvcGVydGllc0Zvcm06IEZDPHByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgc2FtcGxpbmdQcm9wZXJ0aWVzLFxuICAgIHNhbXBsaW5nLFxuICAgIGN1cnJlbnREYXRlLFxuICAgIHNldFNhbXBsaW5nVXBkYXRlZCxcbiAgICBwYWdlVHlwZSxcbiAgfSA9IHByb3BzO1xuICBjb25zdCBbcGhvdG9zLCBzZXRQaG90b3NdID0gdXNlU3RhdGU8c3RyaW5nIHwgQmxvYiB8IGFueT4oW10pO1xuICBjb25zdCBbcGhvdG9zVG9EZWxldGUsIHNldFBob3Rvc1RvRGVsZXRlXSA9IHVzZVN0YXRlPG51bWJlcltdPihbXSk7XG4gIGNvbnN0IFtzYXZpbmdNc2csIHNldFNhdmluZ01zZ10gPSB1c2VTdGF0ZTxzdHJpbmc+KGkxOG4udCgnYnV0dG9ucy5zYXZlJykpO1xuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpO1xuICBjb25zdCBxdWVyeSA9IHVzZVF1ZXJ5VVJMKCk7XG4gIGNvbnN0IHdhdGVyQXV0aG9yaXR5SWRGcm9tVXJsID0gcGFyc2VJbnQoXG4gICAgcXVlcnkuZ2V0KCd3YXRlcl9hdXRob3JpdHlfaWQnKSB8fCAnMCcsXG4gICk7XG4gIGNvbnN0IG5hdkNvbnRleHQgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5uYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQsXG4gICk7XG5cbiAgY29uc3QgdmFsaWRhdGlvblNjaGVtYSA9XG4gICAgcGFnZVR5cGUgPT09ICdzYW1wbGluZy1wcm9wZXJ0aWVzJ1xuICAgICAgPyBwcm9wZXJ0aWVzVmFsaWRhdGlvblNjaGVtYVxuICAgICAgOiBjYW5jZWxsaW5nVmFsaWRhdGlvblNjaGVtYTtcblxuICBjb25zdCBmb3JtaWsgPSB1c2VGb3JtaWs8Rm9ybVR5cGU+KHtcbiAgICBpbml0aWFsVmFsdWVzOiB7XG4gICAgICBsYWJfaWQ6IHNhbXBsaW5nUHJvcGVydGllcy5zYW1wbGluZy5sYWJfaWQsXG4gICAgICBjb2xsZWN0aW9uX3RpbWU6IGN1cnJlbnREYXRlLFxuICAgICAgcHVtcF9zYW1wbGluZ192b2x1bWU6IHNhbXBsaW5nUHJvcGVydGllcy5zYW1wbGluZy5wdW1wX3NhbXBsaW5nX3ZvbHVtZSxcbiAgICAgIHB1bXBfYmF0dGVyeV9sZXZlbDogc2FtcGxpbmdQcm9wZXJ0aWVzLnNhbXBsaW5nLnB1bXBfYmF0dGVyeV9sZXZlbCxcbiAgICAgIGRlc2NyaXB0aW9uOiBzYW1wbGluZ1Byb3BlcnRpZXMuc2FtcGxpbmcuZGVzY3JpcHRpb24sXG4gICAgICBrYW5kb19yZXA6IHNhbXBsaW5nUHJvcGVydGllcy5zYW1wbGluZy5rYW5kb19yZXAsXG4gICAgICBzYW1wbGluZ19wbGFuX2lkOiBzYW1wbGluZ1Byb3BlcnRpZXMuc2FtcGxpbmcuc2FtcGxpbmdfcGxhbl9pZCxcbiAgICAgIGNhbmNlbGxpbmdfcmVhc29uOiAnJyxcbiAgICB9LFxuICAgIHZhbGlkYXRpb25TY2hlbWE6IHZhbGlkYXRpb25TY2hlbWEsXG4gICAgdmFsaWRhdGVPbkNoYW5nZTogZmFsc2UsXG4gICAgdmFsaWRhdGVPbkJsdXI6IGZhbHNlLFxuICAgIG9uU3VibWl0OiAodmFsdWVzKSA9PiB7XG4gICAgICBoYW5kbGVTdWJtaXQodmFsdWVzKTtcbiAgICB9LFxuICB9KTtcblxuICBjb25zdCBzZXRPcmlnaW5hbFNhdmVNZXNzYWdlV2l0aFRpbWVvdXQgPSAoKSA9PiB7XG4gICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBzZXRTYXZpbmdNc2coaTE4bi50KCdidXR0b25zLnNhdmUnKSk7XG4gICAgfSwgMzAwMCk7XG4gIH07XG5cbiAgY29uc3QgZm9ybURhdGFCdWlsZGVyID0gKHZhbHVlcykgPT4ge1xuICAgIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKCk7XG4gICAgZm9yIChjb25zdCBrZXkgaW4gdmFsdWVzKSB7XG4gICAgICBpZiAoa2V5ICE9PSAncGljdHVyZXNfYXR0cmlidXRlcycpIHtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKGBzYW1wbGluZ1ske2tleX1dYCwgdmFsdWVzW2tleV0pO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCB1bmlxdWVQaG90b3NUb0RlbGV0ZSA9IFsuLi5uZXcgU2V0KHBob3Rvc1RvRGVsZXRlKV07XG4gICAgdW5pcXVlUGhvdG9zVG9EZWxldGUubGVuZ3RoICE9PSAwICYmXG4gICAgICB1bmlxdWVQaG90b3NUb0RlbGV0ZS5mb3JFYWNoKChpZCwgaW5kZXgpID0+IHtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKFxuICAgICAgICAgIGBzYW1wbGluZ1twaWN0dXJlc19hdHRyaWJ1dGVzXVske2luZGV4fV1baWRdYCxcbiAgICAgICAgICBKU09OLnN0cmluZ2lmeShpZCksXG4gICAgICAgICk7XG5cbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKFxuICAgICAgICAgIGBzYW1wbGluZ1twaWN0dXJlc19hdHRyaWJ1dGVzXVske2luZGV4fV1bX2Rlc3Ryb3ldYCxcbiAgICAgICAgICAndHJ1ZScsXG4gICAgICAgICk7XG4gICAgICB9KTtcblxuICAgIHJldHVybiBmb3JtRGF0YTtcbiAgfTtcblxuICBjb25zdCB1cGRhdGVPckNyZWF0ZSA9IChmb3JtRGF0YSkgPT4ge1xuICAgIGlmIChzYW1wbGluZ1Byb3BlcnRpZXMuc2FtcGxpbmcuaWQgPT09IG51bGwpIHtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZChgc2FtcGxpbmdbZGF0ZV1gLCBjdXJyZW50RGF0ZSk7XG4gICAgICBheGlvc1xuICAgICAgICAucG9zdCh1cmxzKCkuc2FtcGxpbmdQcm9wZXJ0aWVzLmNyZWF0ZVNhbXBsaW5nLnVybCwgZm9ybURhdGEpXG4gICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICBzZXRTYXZpbmdNc2coaTE4bi50KCdidXR0b25zLmNyZWF0ZWQnKSk7XG4gICAgICAgICAgc2V0U2FtcGxpbmdVcGRhdGVkKHRydWUpO1xuICAgICAgICAgIHNldE9yaWdpbmFsU2F2ZU1lc3NhZ2VXaXRoVGltZW91dCgpO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgIHNldFNhdmluZ01zZyhpMThuLnQoJ2J1dHRvbnMuZXJyb3InKSk7XG4gICAgICAgICAgc2V0T3JpZ2luYWxTYXZlTWVzc2FnZVdpdGhUaW1lb3V0KCk7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBheGlvc1xuICAgICAgICAucHV0KFxuICAgICAgICAgIHVybHMoeyBzYW1wbGluZ0lkOiBzYW1wbGluZ1Byb3BlcnRpZXMuc2FtcGxpbmcuaWQgfSlcbiAgICAgICAgICAgIC5zYW1wbGluZ1Byb3BlcnRpZXMudXBkYXRlU2FtcGxpbmcudXJsLFxuICAgICAgICAgIGZvcm1EYXRhLFxuICAgICAgICApXG4gICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICBzZXRTYXZpbmdNc2coaTE4bi50KCdidXR0b25zLnVwZGF0ZWQnKSk7XG4gICAgICAgICAgc2V0T3JpZ2luYWxTYXZlTWVzc2FnZVdpdGhUaW1lb3V0KCk7XG4gICAgICAgICAgaGFuZGxlQ2xvc2UoKTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICBzZXRTYXZpbmdNc2coaTE4bi50KCdidXR0b25zLmVycm9yJykpO1xuICAgICAgICAgIHNldE9yaWdpbmFsU2F2ZU1lc3NhZ2VXaXRoVGltZW91dCgpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlU3VibWl0ID0gKHZhbHVlcykgPT4ge1xuICAgIHNldFNhdmluZ01zZyhpMThuLnQoJ2J1dHRvbnMuc2F2aW5nJykpO1xuICAgIHZhbHVlcy5waWN0dXJlc19hdHRyaWJ1dGVzID0gcGhvdG9zO1xuICAgIHVwZGF0ZU9yQ3JlYXRlKGZvcm1EYXRhQnVpbGRlcih2YWx1ZXMpKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVDbG9zZSA9ICgpID0+IHtcbiAgICBjb25zdCBzYW1wbGluZ3NMaXN0Um91dGUgPSB1cmxzKHtcbiAgICAgIGxvY2FsZTogbmF2Q29udGV4dC5sb2NhbGUsXG4gICAgICB3YXRlckF1dGhvcml0eUlkOiB3YXRlckF1dGhvcml0eUlkRnJvbVVybCxcbiAgICB9KS5zYW1wbGluZ3NQYWdlLnNhbXBsaW5nc0xpc3RSb3V0ZS51cmw7XG4gICAgaGlzdG9yeS5wdXNoKHNhbXBsaW5nc0xpc3RSb3V0ZSk7XG4gIH07XG5cbiAgdXNlSW5pdGlhbGl6ZUhlYWRlcnMoKTtcbiAgdXNlRWZmZWN0KCgpID0+IHt9LCBbc2FtcGxpbmdQcm9wZXJ0aWVzXSk7XG5cbiAgY29uc3QgQ2FuY2VsbGluZ1JlYXNvbnMgPSB1c2VDYWxsYmFjayhcbiAgICAoeyBmb3JtaWsgfSkgPT4ge1xuICAgICAgY29uc3QgbWFudWFsUmVhc29ucyA9IG1hbnVhbFJlYXNvbnNLZXlzLm1hcCgoa2V5OiBzdHJpbmcpID0+IHtcbiAgICAgICAgcmV0dXJuIGkxOG4udChgY2FuY2VsbGF0aW9uX3JlYXNvbnMuJHtrZXl9YCk7XG4gICAgICB9KTtcbiAgICAgIGNvbnN0IGF1dG9SZWFzb25zID0gYXV0b1JlYXNvbnNLZXlzLm1hcCgoa2V5OiBzdHJpbmcpID0+IHtcbiAgICAgICAgcmV0dXJuIGkxOG4udChgY2FuY2VsbGF0aW9uX3JlYXNvbnMuYXV0b21hdGVkLiR7a2V5fWApO1xuICAgICAgfSk7XG5cbiAgICAgIGNvbnN0IHJlYXNvbnMgPVxuICAgICAgICBzYW1wbGluZy5tYWNoaW5lX3R5cGUgPT09ICdzYW1wbGluZ190eXBlX3JhcGlkJ1xuICAgICAgICAgID8gbWFudWFsUmVhc29uc1xuICAgICAgICAgIDogYXV0b1JlYXNvbnM7XG5cbiAgICAgIGNvbnN0IG1hY2hpbmVSZWFzb25zID1cbiAgICAgICAgc2FtcGxpbmcubWFjaGluZV90eXBlID09PSAnc2FtcGxpbmdfdHlwZV9yYXBpZCdcbiAgICAgICAgICA/IG1hbnVhbFJlYXNvbnNLZXlzXG4gICAgICAgICAgOiBhdXRvUmVhc29uc0tleXM7XG5cbiAgICAgIHJldHVybiAoXG4gICAgICAgIDw+XG4gICAgICAgICAgPEZvcm0uR3JvdXBcbiAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7U3R5bGUuY2FuY2VsbGluZ1JlYXNvbkdyb3VwfSAke1xuICAgICAgICAgICAgICBmb3JtaWsudG91Y2hlZC5jYW5jZWxsaW5nX3JlYXNvbiAmJlxuICAgICAgICAgICAgICBmb3JtaWsuZXJyb3JzLmNhbmNlbGxpbmdfcmVhc29uXG4gICAgICAgICAgICAgICAgPyBTdHlsZS5pbnZhbGlkQm9yZGVyc1xuICAgICAgICAgICAgICAgIDogJydcbiAgICAgICAgICAgIH1gfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIHtyZWFzb25zLm1hcCgocmVhc29uLCBpZHgpID0+IChcbiAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgIGtleT17YG9wdC0ke2lkeH1gfVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YG1iLTMgJHtTdHlsZS5jYW5jZWxsaW5nUmVhc29ufWB9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICA8Rm9ybS5DaGVja1xuICAgICAgICAgICAgICAgICAgdmFsdWU9e21hY2hpbmVSZWFzb25zW2lkeF19XG4gICAgICAgICAgICAgICAgICBvbkNoYW5nZT17Zm9ybWlrLmhhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgICAgICAgIGxhYmVsPXtyZWFzb259XG4gICAgICAgICAgICAgICAgICBuYW1lPVwiY2FuY2VsbGluZ19yZWFzb25cIlxuICAgICAgICAgICAgICAgICAgdHlwZT1cInJhZGlvXCJcbiAgICAgICAgICAgICAgICAgIGlkPXtgaWR4LSR7aWR4fWB9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICApKX1cbiAgICAgICAgICA8L0Zvcm0uR3JvdXA+XG4gICAgICAgICAge2Zvcm1pay50b3VjaGVkLmNhbmNlbGxpbmdfcmVhc29uICYmXG4gICAgICAgICAgICBmb3JtaWsuZXJyb3JzLmNhbmNlbGxpbmdfcmVhc29uICYmIChcbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9e1N0eWxlLnZhbGlkYXRpb25FcnJvcn0+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZ2VuZXJhbC5wbGVhc2Vfc2VsZWN0Jyl9XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgKX1cbiAgICAgICAgPC8+XG4gICAgICApO1xuICAgIH0sXG4gICAgW3NhbXBsaW5nUHJvcGVydGllc10sXG4gICk7XG5cbiAgcmV0dXJuIChcbiAgICA8Rm9ybVN0eWxlPlxuICAgICAgPEZvcm1pa1xuICAgICAgICBpbml0aWFsVmFsdWVzPXtzYW1wbGluZ1Byb3BlcnR5fVxuICAgICAgICB2YWxpZGF0ZU9uQmx1cj17ZmFsc2V9XG4gICAgICAgIHZhbGlkYXRlT25DaGFuZ2U9e2ZhbHNlfVxuICAgICAgICBvblN1Ym1pdD17KCkgPT4gaGFuZGxlU3VibWl0KGZvcm1pay52YWx1ZXMpfVxuICAgICAgPlxuICAgICAgICB7KCkgPT4gKFxuICAgICAgICAgIDxmb3JtXG4gICAgICAgICAgICBvblN1Ym1pdD17KGUpID0+IHtcbiAgICAgICAgICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpO1xuICAgICAgICAgICAgICBmb3JtaWsuaGFuZGxlU3VibWl0KGUpO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8Rm9ybUNvbnRhaW5lclN0eWxlPlxuICAgICAgICAgICAgICA8RmllbGRzQ29udGFpbmVyPlxuICAgICAgICAgICAgICAgIHtwYWdlVHlwZSA9PT0gJ3NhbXBsaW5nLXByb3BlcnRpZXMnICYmIChcbiAgICAgICAgICAgICAgICAgIDxTdGFydD5cbiAgICAgICAgICAgICAgICAgICAgPElucHV0V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICA8TW9iaWxlSW5wdXRcbiAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZT17Zm9ybWlrLmhhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0VGl0bGU9e2kxOG4udCgnYWN0aXZlcmVjb3JkLm1vZGVscy5sYWInKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJsYWJfaWRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInNlbGVjdFwiXG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17Zm9ybWlrLnZhbHVlcy5sYWJfaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICBpc0ludmFsaWQ9eyEhZm9ybWlrLmVycm9ycy5sYWJfaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICBtYW5kYXRvcnk9e3RydWV9XG4gICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgPG9wdGlvbiB2YWx1ZT17dW5kZWZpbmVkfT48L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtzYW1wbGluZ1Byb3BlcnRpZXMubGFicyAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNhbXBsaW5nUHJvcGVydGllcy5sYWJzLm1hcCgobGFiOiBhbnkpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICByZXR1cm4gPG9wdGlvbiB2YWx1ZT17bGFiLmlkfT57bGFiLm5hbWV9PC9vcHRpb24+O1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgICAgICA8L01vYmlsZUlucHV0PlxuICAgICAgICAgICAgICAgICAgICAgIHtmb3JtaWsuZXJyb3JzLmxhYl9pZCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2hpbnQnfT57Zm9ybWlrLmVycm9ycy5sYWJfaWR9PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgPC9JbnB1dFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgIDxGb3JtUm93U3R5bGU+XG4gICAgICAgICAgICAgICAgICAgICAgPElucHV0V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxNb2JpbGVJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICBpc0ludmFsaWQ9eyEhZm9ybWlrLmVycm9ycy5wdW1wX3NhbXBsaW5nX3ZvbHVtZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlPXtmb3JtaWsuaGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dFRpdGxlPXtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3B1bXBfc2NoZWR1bGVkX2RheXNfY29uZmlndXJhdGlvbi52b2x1bWUnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwicHVtcF9zYW1wbGluZ192b2x1bWVcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e2Zvcm1pay52YWx1ZXMucHVtcF9zYW1wbGluZ192b2x1bWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHN5bWJvbD1cIm1sXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWFuZGF0b3J5PXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtmb3JtaWsuZXJyb3JzLnB1bXBfc2FtcGxpbmdfdm9sdW1lICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydoaW50IGhpbnQtLXVwcGVyJ30+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2Zvcm1pay5lcnJvcnMucHVtcF9zYW1wbGluZ192b2x1bWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICA8L0lucHV0V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICA8SW5wdXRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgICAgPE1vYmlsZUlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlzSW52YWxpZD17ISFmb3JtaWsuZXJyb3JzLnB1bXBfYmF0dGVyeV9sZXZlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlPXtmb3JtaWsuaGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBpbnB1dFRpdGxlPXtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NhbXBsaW5nX3NjcmVlbi5wdW1wX2JhdHRlcnlfbGV2ZWwnLFxuICAgICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwicHVtcF9iYXR0ZXJ5X2xldmVsXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtmb3JtaWsudmFsdWVzLnB1bXBfYmF0dGVyeV9sZXZlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgc3ltYm9sPVwiJVwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hbmRhdG9yeT17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICB7Zm9ybWlrLmVycm9ycy5wdW1wX2JhdHRlcnlfbGV2ZWwgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2hpbnQgaGludC0tdXBwZXInfT5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Zm9ybWlrLmVycm9ycy5wdW1wX2JhdHRlcnlfbGV2ZWx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICA8L0lucHV0V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgPC9Gb3JtUm93U3R5bGU+XG4gICAgICAgICAgICAgICAgICA8L1N0YXJ0PlxuICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPEVuZCBwYWdlVHlwZT17cGFnZVR5cGV9PlxuICAgICAgICAgICAgICAgICAge3BhZ2VUeXBlID09PSAnc2FtcGxpbmctcHJvcGVydGllcycgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8SW5wdXRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgIDxNb2JpbGVJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgaXNJbnZhbGlkPXshIWZvcm1pay5lcnJvcnMua2FuZG9fcmVwfVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlPXtmb3JtaWsuaGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRUaXRsZT17aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdzX3Byb3BlcnRpZXMucmVwb3J0ZXInLFxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJrYW5kb19yZXBcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cInRleHRcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nc19wcm9wZXJ0aWVzLnBsYWNlaG9sZGVyX3JlcG9ydGVyJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICB2YWx1ZT17Zm9ybWlrLnZhbHVlcy5rYW5kb19yZXB9XG4gICAgICAgICAgICAgICAgICAgICAgICBtYW5kYXRvcnk9e3RydWV9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICB7Zm9ybWlrLmVycm9ycy5rYW5kb19yZXAgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydoaW50J30+e2Zvcm1pay5lcnJvcnMua2FuZG9fcmVwfTwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIDwvSW5wdXRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICAgICAge3BhZ2VUeXBlID09PSAnc2FtcGxpbmctY2FuY2VsbGluZycgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtTdHlsZS5jYW5jZWxsaW5nVGl0bGV9PlxuICAgICAgICAgICAgICAgICAgICAgICAge2kxOG4udCgnc2FtcGxpbmdzX3BhZ2UuY2FuY2VsbGluZ190aXRsZScpfTpcbiAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICA8Q2FuY2VsbGluZ1JlYXNvbnMgZm9ybWlrPXtmb3JtaWt9IC8+XG4gICAgICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICAgICAgPElucHV0V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgPERlc2NyaXB0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgIDxNb2JpbGVJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlPXtmb3JtaWsuaGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRUaXRsZT17aTE4bi50KCd3YXRlcl9tZXRlci5kZXNjcmlwdGlvbicpfVxuICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cImRlc2NyaXB0aW9uXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0YXJlYVwiXG4gICAgICAgICAgICAgICAgICAgICAgICBwbGFjZWhvbGRlcj17aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdzX3Byb3BlcnRpZXMuZ2VuZXJhbF9kZXNjcmlwdGlvbicsXG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e2Zvcm1pay52YWx1ZXMuZGVzY3JpcHRpb259XG4gICAgICAgICAgICAgICAgICAgICAgICBpc0ludmFsaWQ9eyEhZm9ybWlrLmVycm9ycy5kZXNjcmlwdGlvbn1cbiAgICAgICAgICAgICAgICAgICAgICAgIG1hbmRhdG9yeT17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9EZXNjcmlwdGlvbj5cbiAgICAgICAgICAgICAgICAgIDwvSW5wdXRXcmFwcGVyPlxuICAgICAgICAgICAgICAgIDwvRW5kPlxuICAgICAgICAgICAgICA8L0ZpZWxkc0NvbnRhaW5lcj5cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgdHlwZT17J2hpZGRlbid9XG4gICAgICAgICAgICAgICAgbmFtZT17J2NvbGxlY3Rpb25fdGltZSd9XG4gICAgICAgICAgICAgICAgdmFsdWU9e2Zvcm1pay52YWx1ZXMuY29sbGVjdGlvbl90aW1lfVxuICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICA8aW5wdXRcbiAgICAgICAgICAgICAgICB0eXBlPXsnaGlkZGVuJ31cbiAgICAgICAgICAgICAgICBuYW1lPXsnc2FtcGxpbmdfcGxhbl9pZCd9XG4gICAgICAgICAgICAgICAgdmFsdWU9e2Zvcm1pay52YWx1ZXMuc2FtcGxpbmdfcGxhbl9pZH1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPEJvdHRvbUZvcm1TdHlsZSAvPlxuICAgICAgICAgICAgICA8SW1hZ2VVcGxvYWRcbiAgICAgICAgICAgICAgICBzZXRQaG90b3M9e3NldFBob3Rvc31cbiAgICAgICAgICAgICAgICBwaG90b3M9e3Bob3Rvc31cbiAgICAgICAgICAgICAgICBzYW1wbGluZz17c2FtcGxpbmdQcm9wZXJ0aWVzfVxuICAgICAgICAgICAgICAgIHNldFBob3Rvc1RvRGVsZXRlPXtzZXRQaG90b3NUb0RlbGV0ZX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPEJ1dHRvbnNSb3c+XG4gICAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgICAgb25DbGljaz17aGFuZGxlQ2xvc2V9XG4gICAgICAgICAgICAgICAgICB3aWR0aD1cIjE1MHB4XCJcbiAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9XCJub25lXCJcbiAgICAgICAgICAgICAgICAgIHJvdW5kZWQ9e3RydWV9XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge2kxOG4udCgnY2xvc2UnKX1cbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICA8QnV0dG9uXG4gICAgICAgICAgICAgICAgICB2YXJpYW50PVwicHJpbWFyeVwiXG4gICAgICAgICAgICAgICAgICByb3VuZGVkPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgb3V0bGluZT17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtmYWxzZX1cbiAgICAgICAgICAgICAgICAgIHR5cGU9XCJzdWJtaXRcIlxuICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNTBweFwiXG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAge3NhdmluZ01zZ31cbiAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgPC9CdXR0b25zUm93PlxuICAgICAgICAgICAgPC9Gb3JtQ29udGFpbmVyU3R5bGU+XG4gICAgICAgICAgPC9mb3JtPlxuICAgICAgICApfVxuICAgICAgPC9Gb3JtaWs+XG4gICAgPC9Gb3JtU3R5bGU+XG4gICk7XG59O1xuXG5jb25zdCBJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIC5oaW50IHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtMTZweDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgY29sb3I6ICR7dGhlbWUuY29sb3JTY2hlbWUuZGF0YS5SMTAwfTtcblxuICAgICYtLXVwcGVyIHtcbiAgICAgIGJvdHRvbTogLTFweDtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IEZpZWxkc0NvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiAke2lzTW9iaWxlID8gJ2NvbHVtbjsnIDogJ3JvdzsnfVxuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG5gO1xuXG5jb25zdCBTdGFydCA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAke2lzTW9iaWxlID8gJ3Vuc2V0OycgOiAnNTAlOyd9XG4gIHBhZGRpbmctaW5saW5lLWVuZDogJHtpc01vYmlsZSA/ICd1bnNldDsnIDogJzEwcHg7J31cbiAgcGFkZGluZy10b3A6ICR7aXNNb2JpbGUgPyAndW5zZXQ7JyA6ICcxMHB4Oyd9XG4gIFxuYDtcbmludGVyZmFjZSBFbmRQcm9wcyB7XG4gIHBhZ2VUeXBlOiBzdHJpbmc7XG59XG5jb25zdCBFbmQgPSBzdHlsZWQuZGl2LmF0dHJzKChwcm9wczogRW5kUHJvcHMpID0+ICh7XG4gIGlzUHJvcGVydGllc1BhZ2U6IHByb3BzLnBhZ2VUeXBlID09PSAnc2FtcGxpbmctcHJvcGVydGllcycsXG59KSlgXG4gIHdpZHRoOiAkeyhwcm9wcykgPT5cbiAgICBpc01vYmlsZSA/ICd1bnNldCcgOiBwcm9wcy5pc1Byb3BlcnRpZXNQYWdlID8gJzUwJScgOiAnMTAwJSd9O1xuICBwYWRkaW5nLWlubGluZS1zdGFydDogJHtpc01vYmlsZSA/ICd1bnNldDsnIDogJzEwcHg7J31cbiAgcGFkZGluZy10b3A6ICR7aXNNb2JpbGUgPyAndW5zZXQ7JyA6ICcxMHB4Oyd9XG5gO1xuXG5jb25zdCBEZXNjcmlwdGlvbiA9IHN0eWxlZC5kaXZgXG4gIGZpZWxkc2V0IHtcbiAgICBwYWRkaW5nOiA1cHggMDtcbiAgICBoZWlnaHQ6IG1heC1jb250ZW50O1xuICAgIHRleHRhcmVhIHtcbiAgICAgIHRyYW5zaXRpb246IGN1YmljLWJlemllcigwLjY1LCAwLjA1LCAwLjM2LCAxKSAwLjJzO1xuICAgICAgaGVpZ2h0OiAke2lzTW9iaWxlID8gJzI1cHgnIDogJzEwNXB4ICFpbXBvcnRhbnQnfTtcblxuICAgICAgJjpmb2N1cyB7XG4gICAgICAgIHRyYW5zaXRpb246IGN1YmljLWJlemllcigwLjY1LCAwLjA1LCAwLjM2LCAxKSAwLjJzO1xuICAgICAgICBoZWlnaHQ6ICR7aXNNb2JpbGUgPyAnNzVweCAhaW1wb3J0YW50JyA6ICcxMDVweCAhaW1wb3J0YW50J307XG4gICAgICB9XG4gICAgfVxuXG4gICAgZGl2IHtcbiAgICAgIGhlaWdodDogMTAwJTtcbiAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5gO1xuXG5jb25zdCBGb3JtU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBib3JkZXItYm90dG9tOiA2cHggc29saWQgI2Y5ZmFmYztcbmA7XG5cbmNvbnN0IEZvcm1Sb3dTdHlsZSA9IHN0eWxlZChSb3cpYFxuICBtYXJnaW46IDA7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZGl2IHtcbiAgICB3aWR0aDogJHtpc01vYmlsZSA/ICc0NSU7JyA6ICcxMDAlOyd9O1xuXG4gICAgZGl2IHtcbiAgICAgIHdpZHRoOiAxMDAlO1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgQnV0dG9uc1JvdyA9IHN0eWxlZChSb3cpYFxuICBtYXJnaW4tdG9wOiAzMHB4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6ICR7aXNNb2JpbGUgPyAnc3BhY2UtYmV0d2VlbicgOiAnZmxleC1lbmQnfTtcbiAgbWFyZ2luOiAke2lzTW9iaWxlID8gMCA6ICc5cHggMCd9O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAke2lzTW9iaWxlXG4gICAgPyAoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm4xMFxuICAgIDogJyd9O1xuXG4gIGRpdiB7XG4gICAgJHtpc01vYmlsZSA/ICcnIDogJ21hcmdpbjogMCA2cHgnfVxuICB9XG5gO1xuXG5jb25zdCBGb3JtQ29udGFpbmVyU3R5bGUgPSBzdHlsZWQoQ29udGFpbmVyKWBcbiAgbWFyZ2luOiAwO1xuICBwYWRkaW5nOiAwO1xuYDtcblxuY29uc3QgQm90dG9tRm9ybVN0eWxlID0gc3R5bGVkLmRpdmBcbiAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICNmOWZhZmM7XG5gO1xuIl19
371
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nUHJvcGVydGllcy9TYW1wbGluZ1Byb3BlcnRpZXNGb3JtLnRzeCJdLCJuYW1lcyI6WyJTYW1wbGluZ1Byb3BlcnRpZXNGb3JtIiwicHJvcHMiLCJzYW1wbGluZ1Byb3BlcnRpZXMiLCJzYW1wbGluZyIsImN1cnJlbnREYXRlIiwic2V0U2FtcGxpbmdVcGRhdGVkIiwicGFnZVR5cGUiLCJwaG90b3MiLCJzZXRQaG90b3MiLCJwaG90b3NUb0RlbGV0ZSIsInNldFBob3Rvc1RvRGVsZXRlIiwiaTE4biIsInQiLCJzYXZpbmdNc2ciLCJzZXRTYXZpbmdNc2ciLCJoaXN0b3J5IiwicXVlcnkiLCJ3YXRlckF1dGhvcml0eUlkRnJvbVVybCIsInBhcnNlSW50IiwiZ2V0IiwibmF2Q29udGV4dCIsInN0YXRlIiwibmF2X2NvbnRleHRfZGF0YSIsInZhbGlkYXRpb25TY2hlbWEiLCJwcm9wZXJ0aWVzVmFsaWRhdGlvblNjaGVtYSIsImNhbmNlbGxhdGlvblZhbGlkYXRpb25TY2hlbWEiLCJjb2xsZWN0aW9uVGltZSIsImNvbGxlY3Rpb25fdGltZSIsImlzQ2FuY2VsZWQiLCJpc19jYW5jZWxlZCIsImZvcm1payIsImluaXRpYWxWYWx1ZXMiLCJsYWJfaWQiLCJwdW1wX3NhbXBsaW5nX3ZvbHVtZSIsInB1bXBfYmF0dGVyeV9sZXZlbCIsImRlc2NyaXB0aW9uIiwia2FuZG9fcmVwIiwic2FtcGxpbmdfcGxhbl9pZCIsImNhbmNlbGxhdGlvbl9yZWFzb24iLCJ2YWxpZGF0ZU9uQ2hhbmdlIiwidmFsaWRhdGVPbkJsdXIiLCJvblN1Ym1pdCIsInZhbHVlcyIsImhhbmRsZVN1Ym1pdCIsInNldE9yaWdpbmFsU2F2ZU1lc3NhZ2VXaXRoVGltZW91dCIsInNldFRpbWVvdXQiLCJmb3JtRGF0YUJ1aWxkZXIiLCJmb3JtRGF0YSIsIkZvcm1EYXRhIiwia2V5IiwidmFsdWUiLCJhcHBlbmQiLCJ1bmlxdWVQaG90b3NUb0RlbGV0ZSIsIlNldCIsImxlbmd0aCIsImZvckVhY2giLCJpZCIsImluZGV4IiwiSlNPTiIsInN0cmluZ2lmeSIsInVwZGF0ZU9yQ3JlYXRlIiwiYXhpb3MiLCJwb3N0IiwiY3JlYXRlU2FtcGxpbmciLCJ1cmwiLCJ0aGVuIiwiY2F0Y2giLCJwdXQiLCJzYW1wbGluZ0lkIiwidXBkYXRlU2FtcGxpbmciLCJoYW5kbGVDbG9zZSIsInBpY3R1cmVzX2F0dHJpYnV0ZXMiLCJzYXZlRm9ybURhdGEiLCJzYW1wbGluZ3NMaXN0Um91dGUiLCJsb2NhbGUiLCJ3YXRlckF1dGhvcml0eUlkIiwic2FtcGxpbmdzUGFnZSIsInB1c2giLCJDYW5jZWxsYXRpb25SZWFzb25zIiwibWFudWFsUmVhc29ucyIsIm1hbnVhbFJlYXNvbnNLZXlzIiwibWFwIiwiYXV0b1JlYXNvbnMiLCJhdXRvUmVhc29uc0tleXMiLCJyZWFzb25zIiwibWFjaGluZV90eXBlIiwibWFjaGluZVJlYXNvbnMiLCJTdHlsZSIsImNhbmNlbGxhdGlvblJlYXNvbkdyb3VwIiwicmVhc29uIiwiaWR4IiwiY2FuY2VsbGF0aW9uUmVhc29uIiwiaGFuZGxlQ2hhbmdlIiwiaGFuZGxlQmx1ciIsInNhbXBsaW5nUHJvcGVydHkiLCJlcnJvcnMiLCJ1bmRlZmluZWQiLCJsYWJzIiwibGFiIiwibmFtZSIsImNhbmNlbGxhdGlvblRpdGxlIiwidG91Y2hlZCIsInZhbGlkYXRpb25FcnJvciIsIklucHV0V3JhcHBlciIsInN0eWxlZCIsImRpdiIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJkYXRhIiwiUjEwMCIsIkZpZWxkc0NvbnRhaW5lciIsImlzTW9iaWxlIiwiU3RhcnQiLCJFbmQiLCJhdHRycyIsImlzUHJvcGVydGllc1BhZ2UiLCJEZXNjcmlwdGlvbiIsIkZvcm1TdHlsZSIsIkZvcm1Sb3dTdHlsZSIsIlJvdyIsIkJ1dHRvbnNSb3ciLCJuYXR1cmFsIiwibjEwIiwiRm9ybUNvbnRhaW5lclN0eWxlIiwiQ29udGFpbmVyIiwiQm90dG9t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QkFBVyxRQUFYLEdBQXNCLE9BTHZDLEVBTVFBLDhCQUFXLFFBQVgsR0FBc0IsT0FOOUIsQ0FBVDs7QUFTQSxJQUFNSyxXQUFXLEdBQUdaLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLGdQQU1ETSw4QkFBVyxNQUFYLEdBQW9CLGtCQU5uQixFQVVDQSw4QkFBVyxpQkFBWCxHQUErQixrQkFWaEMsQ0FBakI7O0FBcUJBLElBQU1NLFNBQVMsR0FBR2IsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsd0NBQWY7O0FBSUEsSUFBTWEsWUFBWSxHQUFHLCtCQUFPQyxtQkFBUCxDQUFIO0FBQUE7QUFBQTtBQUFBLGdGQUlMUiw4QkFBVyxNQUFYLEdBQW9CLE9BSmYsQ0FBbEI7QUFZQSxJQUFNUyxVQUFVLEdBQUcsK0JBQU9ELG1CQUFQLENBQUg7QUFBQTtBQUFBO0FBQUEseUZBRUtSLDhCQUFXLGVBQVgsR0FBNkIsVUFGbEMsRUFHSkEsOEJBQVcsQ0FBWCxHQUFlLE9BSFgsRUFJTUEsOEJBQ2hCO0FBQUEsTUFBR0wsS0FBSCxRQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDQyxXQUFOLENBQWtCYyxPQUFsQixDQUEwQkMsR0FBekM7QUFBQSxDQURnQixHQUVoQixFQU5VLEVBU1ZYLDhCQUFXLEVBQVgsR0FBZ0IsZUFUTixDQUFoQjtBQWFBLElBQU1ZLGtCQUFrQixHQUFHLCtCQUFPQyx5QkFBUCxDQUFIO0FBQUE7QUFBQTtBQUFBLDJCQUF4Qjs7QUFLQSxJQUFNQyxlQUFlLEdBQUdyQiwwQkFBT0MsR0FBVjtBQUFBO0FBQUE7QUFBQSx3Q0FBckIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgRkMsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyBDb250YWluZXIsIEZvcm0sIFJvdyB9IGZyb20gJ3JlYWN0LWJvb3RzdHJhcCc7XG5pbXBvcnQgeyBGb3JtaWssIHVzZUZvcm1payB9IGZyb20gJ2Zvcm1payc7XG5pbXBvcnQgeyBpc01vYmlsZSB9IGZyb20gJ3JlYWN0LWRldmljZS1kZXRlY3QnO1xuaW1wb3J0IHsgdXNlSGlzdG9yeSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQge1xuICBzYW1wbGluZ1Byb3BlcnR5LFxuICBwcm9wZXJ0aWVzVmFsaWRhdGlvblNjaGVtYSxcbiAgY2FuY2VsbGF0aW9uVmFsaWRhdGlvblNjaGVtYSxcbiAgYXV0b1JlYXNvbnNLZXlzLFxuICBtYW51YWxSZWFzb25zS2V5cyxcbn0gZnJvbSAnc3JjL3BhZ2VzL1NhbXBsaW5nc1BhZ2UvU2FtcGxpbmdQcm9wZXJ0aWVzL3NhbXBsaW5nUHJvcGVydGllc1V0aWxzJztcblxuaW1wb3J0IEltYWdlVXBsb2FkIGZyb20gJ3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nUHJvcGVydGllcy9JbWFnZVVwbG9hZCc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHVzZVF1ZXJ5VVJMIGZyb20gJ3NyYy9ob29rcy91c2VRdWVyeVVSTCc7XG5pbXBvcnQgeyBNb2JpbGVJbnB1dCwgQnV0dG9uIH0gZnJvbSAnc3JjL3VpLWtpdCc7XG5pbXBvcnQgeyBUU2FtcGxpbmdQcm9wZXJ0aWVzIH0gZnJvbSAnLi9TYW1wbGluZ01vYmlsZVByb3BlcnRpZXMnO1xuaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJ3NyYy9zdG9yZS9yb290UmVkdWNlcic7XG5pbXBvcnQgeyB0aGVtZSB9IGZyb20gJ3NyYy9zdHlsZXMvdGhlbWUvdGhlbWUnO1xuaW1wb3J0IHsgdXJscyB9IGZyb20gJ3NyYy91dGlsaXRpZXMvdXJscyc7XG5pbXBvcnQgeyB1c2VJbml0aWFsaXplSGVhZGVycyB9IGZyb20gJ3NyYy9ob29rcy91c2VJbml0aWFsaXplSGVhZGVycyc7XG5pbXBvcnQgeyBTYW1wbGluZ0ZldGNoRGF0YSB9IGZyb20gJ3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL3NhbXBsaW5nc1BhZ2VVdGlscyc7XG5cbmltcG9ydCBTdHlsZSBmcm9tICcuLi9zdHlsZS5tb2R1bGUuc2Nzcyc7XG5pbXBvcnQgJy4vYm9vdHN0cmFwLm92ZXJyaWRlcy5zY3NzJztcbmltcG9ydCB7IHRvU2FmZUludGVnZXIgfSBmcm9tICdsb2Rhc2gnO1xuXG50eXBlIHByb3BzID0ge1xuICBzYW1wbGluZ1Byb3BlcnRpZXM6IFRTYW1wbGluZ1Byb3BlcnRpZXM7XG4gIHNhbXBsaW5nOiBTYW1wbGluZ0ZldGNoRGF0YTtcbiAgY3VycmVudERhdGU6IHN0cmluZztcbiAgc2V0U2FtcGxpbmdVcGRhdGVkOiBSZWFjdC5EaXNwYXRjaDxSZWFjdC5TZXRTdGF0ZUFjdGlvbjxib29sZWFuPj47XG4gIHBhZ2VUeXBlOiBzdHJpbmc7XG59O1xuXG50eXBlIEZvcm1UeXBlID0ge1xuICBsYWJfaWQ6IG51bWJlcjtcbiAgY29sbGVjdGlvbl90aW1lOiBzdHJpbmc7XG4gIHB1bXBfc2FtcGxpbmdfdm9sdW1lOiBudW1iZXI7XG4gIHB1bXBfYmF0dGVyeV9sZXZlbDogbnVtYmVyO1xuICBkZXNjcmlwdGlvbjogc3RyaW5nO1xuICBrYW5kb19yZXA6IHN0cmluZztcbiAgc2FtcGxpbmdfcGxhbl9pZDogbnVtYmVyO1xuICBjYW5jZWxsYXRpb25fcmVhc29uOiBzdHJpbmc7XG4gIGlzX2NhbmNlbGVkOiBib29sZWFuO1xufTtcblxuZXhwb3J0IGNvbnN0IFNhbXBsaW5nUHJvcGVydGllc0Zvcm06IEZDPHByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7XG4gICAgc2FtcGxpbmdQcm9wZXJ0aWVzLFxuICAgIHNhbXBsaW5nLFxuICAgIGN1cnJlbnREYXRlLFxuICAgIHNldFNhbXBsaW5nVXBkYXRlZCxcbiAgICBwYWdlVHlwZSxcbiAgfSA9IHByb3BzO1xuICBjb25zdCBbcGhvdG9zLCBzZXRQaG90b3NdID0gdXNlU3RhdGU8c3RyaW5nIHwgQmxvYiB8IGFueT4oW10pO1xuICBjb25zdCBbcGhvdG9zVG9EZWxldGUsIHNldFBob3Rvc1RvRGVsZXRlXSA9IHVzZVN0YXRlPG51bWJlcltdPihbXSk7XG4gIGNvbnN0IFtzYXZpbmdNc2csIHNldFNhdmluZ01zZ10gPSB1c2VTdGF0ZTxzdHJpbmc+KGkxOG4udCgnYnV0dG9ucy5zYXZlJykpO1xuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpO1xuICBjb25zdCBxdWVyeSA9IHVzZVF1ZXJ5VVJMKCk7XG4gIGNvbnN0IHdhdGVyQXV0aG9yaXR5SWRGcm9tVXJsID0gcGFyc2VJbnQoXG4gICAgcXVlcnkuZ2V0KCd3YXRlcl9hdXRob3JpdHlfaWQnKSB8fCAnMCcsXG4gICk7XG4gIGNvbnN0IG5hdkNvbnRleHQgPSB1c2VTZWxlY3RvcihcbiAgICAoc3RhdGU6IFJldHVyblR5cGU8dHlwZW9mIGFwcFJlZHVjZXI+KSA9PiBzdGF0ZS5uYXZfY29udGV4dF9kYXRhLm5hdkNvbnRleHQsXG4gICk7XG5cbiAgY29uc3QgdmFsaWRhdGlvblNjaGVtYSA9XG4gICAgcGFnZVR5cGUgPT09ICdjb2xsZWN0J1xuICAgICAgPyBwcm9wZXJ0aWVzVmFsaWRhdGlvblNjaGVtYVxuICAgICAgOiBjYW5jZWxsYXRpb25WYWxpZGF0aW9uU2NoZW1hO1xuXG4gIGNvbnN0IGNvbGxlY3Rpb25UaW1lID1cbiAgICBwYWdlVHlwZSA9PT0gJ2NvbGxlY3QnXG4gICAgICA/IGN1cnJlbnREYXRlXG4gICAgICA6IHNhbXBsaW5nUHJvcGVydGllcy5zYW1wbGluZy5jb2xsZWN0aW9uX3RpbWU7XG5cbiAgY29uc3QgaXNDYW5jZWxlZCA9XG4gICAgcGFnZVR5cGUgPT09ICdjYW5jZWwnID8gdHJ1ZSA6IHNhbXBsaW5nUHJvcGVydGllcy5zYW1wbGluZy5pc19jYW5jZWxlZDtcblxuICBjb25zdCBmb3JtaWsgPSB1c2VGb3JtaWs8Rm9ybVR5cGU+KHtcbiAgICBpbml0aWFsVmFsdWVzOiB7XG4gICAgICBsYWJfaWQ6IHNhbXBsaW5nUHJvcGVydGllcy5zYW1wbGluZy5sYWJfaWQsXG4gICAgICBjb2xsZWN0aW9uX3RpbWU6IGNvbGxlY3Rpb25UaW1lLFxuICAgICAgcHVtcF9zYW1wbGluZ192b2x1bWU6IHNhbXBsaW5nUHJvcGVydGllcy5zYW1wbGluZy5wdW1wX3NhbXBsaW5nX3ZvbHVtZSxcbiAgICAgIHB1bXBfYmF0dGVyeV9sZXZlbDogc2FtcGxpbmdQcm9wZXJ0aWVzLnNhbXBsaW5nLnB1bXBfYmF0dGVyeV9sZXZlbCxcbiAgICAgIGRlc2NyaXB0aW9uOiBzYW1wbGluZ1Byb3BlcnRpZXMuc2FtcGxpbmcuZGVzY3JpcHRpb24sXG4gICAgICBrYW5kb19yZXA6IHNhbXBsaW5nUHJvcGVydGllcy5zYW1wbGluZy5rYW5kb19yZXAsXG4gICAgICBzYW1wbGluZ19wbGFuX2lkOiBzYW1wbGluZ1Byb3BlcnRpZXMuc2FtcGxpbmcuc2FtcGxpbmdfcGxhbl9pZCxcbiAgICAgIGNhbmNlbGxhdGlvbl9yZWFzb246IHNhbXBsaW5nUHJvcGVydGllcy5zYW1wbGluZy5jYW5jZWxsYXRpb25fcmVhc29uLFxuICAgICAgaXNfY2FuY2VsZWQ6IGlzQ2FuY2VsZWQsXG4gICAgfSxcbiAgICB2YWxpZGF0aW9uU2NoZW1hOiB2YWxpZGF0aW9uU2NoZW1hLFxuICAgIHZhbGlkYXRlT25DaGFuZ2U6IHRydWUsXG4gICAgdmFsaWRhdGVPbkJsdXI6IHRydWUsXG4gICAgb25TdWJtaXQ6ICh2YWx1ZXMpID0+IHtcbiAgICAgIGhhbmRsZVN1Ym1pdCh2YWx1ZXMpO1xuICAgIH0sXG4gIH0pO1xuXG4gIGNvbnN0IHNldE9yaWdpbmFsU2F2ZU1lc3NhZ2VXaXRoVGltZW91dCA9ICgpID0+IHtcbiAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIHNldFNhdmluZ01zZyhpMThuLnQoJ2J1dHRvbnMuc2F2ZScpKTtcbiAgICB9LCAzMDAwKTtcbiAgfTtcblxuICBjb25zdCBmb3JtRGF0YUJ1aWxkZXIgPSAodmFsdWVzKSA9PiB7XG4gICAgY29uc3QgZm9ybURhdGEgPSBuZXcgRm9ybURhdGEoKTtcbiAgICBmb3IgKGNvbnN0IGtleSBpbiB2YWx1ZXMpIHtcbiAgICAgIGlmIChrZXkgIT09ICdwaWN0dXJlc19hdHRyaWJ1dGVzJykge1xuICAgICAgICBjb25zdCB2YWx1ZSA9IHZhbHVlc1trZXldID09PSBudWxsID8gJycgOiB2YWx1ZXNba2V5XTtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKGBzYW1wbGluZ1ske2tleX1dYCwgdmFsdWUpO1xuICAgICAgfVxuICAgIH1cblxuICAgIGxldCB1bmlxdWVQaG90b3NUb0RlbGV0ZSA9IFsuLi5uZXcgU2V0KHBob3Rvc1RvRGVsZXRlKV07XG4gICAgdW5pcXVlUGhvdG9zVG9EZWxldGUubGVuZ3RoICE9PSAwICYmXG4gICAgICB1bmlxdWVQaG90b3NUb0RlbGV0ZS5mb3JFYWNoKChpZCwgaW5kZXgpID0+IHtcbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKFxuICAgICAgICAgIGBzYW1wbGluZ1twaWN0dXJlc19hdHRyaWJ1dGVzXVske2luZGV4fV1baWRdYCxcbiAgICAgICAgICBKU09OLnN0cmluZ2lmeShpZCksXG4gICAgICAgICk7XG5cbiAgICAgICAgZm9ybURhdGEuYXBwZW5kKFxuICAgICAgICAgIGBzYW1wbGluZ1twaWN0dXJlc19hdHRyaWJ1dGVzXVske2luZGV4fV1bX2Rlc3Ryb3ldYCxcbiAgICAgICAgICAndHJ1ZScsXG4gICAgICAgICk7XG4gICAgICB9KTtcblxuICAgIHJldHVybiBmb3JtRGF0YTtcbiAgfTtcblxuICBjb25zdCB1cGRhdGVPckNyZWF0ZSA9IChmb3JtRGF0YSkgPT4ge1xuICAgIGlmIChzYW1wbGluZ1Byb3BlcnRpZXMuc2FtcGxpbmcuaWQgPT09IG51bGwpIHtcbiAgICAgIGZvcm1EYXRhLmFwcGVuZChgc2FtcGxpbmdbZGF0ZV1gLCBjdXJyZW50RGF0ZSk7XG4gICAgICBheGlvc1xuICAgICAgICAucG9zdCh1cmxzKCkuc2FtcGxpbmdQcm9wZXJ0aWVzLmNyZWF0ZVNhbXBsaW5nLnVybCwgZm9ybURhdGEpXG4gICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICBzZXRTYXZpbmdNc2coaTE4bi50KCdidXR0b25zLmNyZWF0ZWQnKSk7XG4gICAgICAgICAgc2V0U2FtcGxpbmdVcGRhdGVkKHRydWUpO1xuICAgICAgICAgIHNldE9yaWdpbmFsU2F2ZU1lc3NhZ2VXaXRoVGltZW91dCgpO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goKCkgPT4ge1xuICAgICAgICAgIHNldFNhdmluZ01zZyhpMThuLnQoJ2J1dHRvbnMuZXJyb3InKSk7XG4gICAgICAgICAgc2V0T3JpZ2luYWxTYXZlTWVzc2FnZVdpdGhUaW1lb3V0KCk7XG4gICAgICAgIH0pO1xuICAgIH0gZWxzZSB7XG4gICAgICBheGlvc1xuICAgICAgICAucHV0KFxuICAgICAgICAgIHVybHMoeyBzYW1wbGluZ0lkOiBzYW1wbGluZ1Byb3BlcnRpZXMuc2FtcGxpbmcuaWQgfSlcbiAgICAgICAgICAgIC5zYW1wbGluZ1Byb3BlcnRpZXMudXBkYXRlU2FtcGxpbmcudXJsLFxuICAgICAgICAgIGZvcm1EYXRhLFxuICAgICAgICApXG4gICAgICAgIC50aGVuKCgpID0+IHtcbiAgICAgICAgICBzZXRTYXZpbmdNc2coaTE4bi50KCdidXR0b25zLnVwZGF0ZWQnKSk7XG4gICAgICAgICAgc2V0T3JpZ2luYWxTYXZlTWVzc2FnZVdpdGhUaW1lb3V0KCk7XG4gICAgICAgICAgaGFuZGxlQ2xvc2UoKTtcbiAgICAgICAgfSlcbiAgICAgICAgLmNhdGNoKCgpID0+IHtcbiAgICAgICAgICBzZXRTYXZpbmdNc2coaTE4bi50KCdidXR0b25zLmVycm9yJykpO1xuICAgICAgICAgIHNldE9yaWdpbmFsU2F2ZU1lc3NhZ2VXaXRoVGltZW91dCgpO1xuICAgICAgICB9KTtcbiAgICB9XG4gIH07XG5cbiAgY29uc3QgaGFuZGxlU3VibWl0ID0gKCkgPT4ge1xuICAgIGNvbnN0IHZhbHVlczogYW55ID0gZm9ybWlrLnZhbHVlcztcbiAgICBzZXRTYXZpbmdNc2coaTE4bi50KCdidXR0b25zLnNhdmluZycpKTtcbiAgICB2YWx1ZXMucGljdHVyZXNfYXR0cmlidXRlcyA9IHBob3RvcztcbiAgICBjb25zdCBzYXZlRm9ybURhdGEgPSBmb3JtRGF0YUJ1aWxkZXIodmFsdWVzKTtcbiAgICB1cGRhdGVPckNyZWF0ZShzYXZlRm9ybURhdGEpO1xuICB9O1xuXG4gIGNvbnN0IGhhbmRsZUNsb3NlID0gKCkgPT4ge1xuICAgIGNvbnN0IHNhbXBsaW5nc0xpc3RSb3V0ZSA9IHVybHMoe1xuICAgICAgbG9jYWxlOiBuYXZDb250ZXh0LmxvY2FsZSxcbiAgICAgIHdhdGVyQXV0aG9yaXR5SWQ6IHdhdGVyQXV0aG9yaXR5SWRGcm9tVXJsLFxuICAgIH0pLnNhbXBsaW5nc1BhZ2Uuc2FtcGxpbmdzTGlzdFJvdXRlLnVybDtcbiAgICBoaXN0b3J5LnB1c2goc2FtcGxpbmdzTGlzdFJvdXRlKTtcbiAgfTtcblxuICB1c2VJbml0aWFsaXplSGVhZGVycygpO1xuICB1c2VFZmZlY3QoKCkgPT4ge30sIFtzYW1wbGluZ1Byb3BlcnRpZXNdKTtcblxuICBjb25zdCBDYW5jZWxsYXRpb25SZWFzb25zID0gKCkgPT4ge1xuICAgIGNvbnN0IG1hbnVhbFJlYXNvbnMgPSBtYW51YWxSZWFzb25zS2V5cy5tYXAoKGtleTogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4gaTE4bi50KGBjYW5jZWxsYXRpb25fcmVhc29ucy4ke2tleX1gKTtcbiAgICB9KTtcbiAgICBjb25zdCBhdXRvUmVhc29ucyA9IGF1dG9SZWFzb25zS2V5cy5tYXAoKGtleTogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4gaTE4bi50KGBjYW5jZWxsYXRpb25fcmVhc29ucy5hdXRvbWF0ZWQuJHtrZXl9YCk7XG4gICAgfSk7XG5cbiAgICBjb25zdCByZWFzb25zID1cbiAgICAgIHNhbXBsaW5nLm1hY2hpbmVfdHlwZSA9PT0gJ3NhbXBsaW5nX3R5cGVfcmFwaWQnXG4gICAgICAgID8gbWFudWFsUmVhc29uc1xuICAgICAgICA6IGF1dG9SZWFzb25zO1xuXG4gICAgY29uc3QgbWFjaGluZVJlYXNvbnMgPVxuICAgICAgc2FtcGxpbmcubWFjaGluZV90eXBlID09PSAnc2FtcGxpbmdfdHlwZV9yYXBpZCdcbiAgICAgICAgPyBtYW51YWxSZWFzb25zS2V5c1xuICAgICAgICA6IGF1dG9SZWFzb25zS2V5cztcblxuICAgIHJldHVybiAoXG4gICAgICA8PlxuICAgICAgICA8Rm9ybS5Hcm91cCBjbGFzc05hbWU9e1N0eWxlLmNhbmNlbGxhdGlvblJlYXNvbkdyb3VwfT5cbiAgICAgICAgICB7cmVhc29ucy5tYXAoKHJlYXNvbiwgaWR4KSA9PiAoXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGtleT17YG9wdC0ke2lkeH1gfVxuICAgICAgICAgICAgICBjbGFzc05hbWU9e2BtYi0zICR7U3R5bGUuY2FuY2VsbGF0aW9uUmVhc29ufWB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDxGb3JtLkNoZWNrXG4gICAgICAgICAgICAgICAgdmFsdWU9e21hY2hpbmVSZWFzb25zW2lkeF19XG4gICAgICAgICAgICAgICAgb25DaGFuZ2U9e2Zvcm1pay5oYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICAgICAgb25CbHVyPXtmb3JtaWsuaGFuZGxlQmx1cn1cbiAgICAgICAgICAgICAgICBsYWJlbD17cmVhc29ufVxuICAgICAgICAgICAgICAgIG5hbWU9XCJjYW5jZWxsYXRpb25fcmVhc29uXCJcbiAgICAgICAgICAgICAgICB0eXBlPVwicmFkaW9cIlxuICAgICAgICAgICAgICAgIGlkPXtyZWFzb259XG4gICAgICAgICAgICAgICAgY2hlY2tlZD17XG4gICAgICAgICAgICAgICAgICBtYWNoaW5lUmVhc29uc1tpZHhdID09PSBmb3JtaWsudmFsdWVzLmNhbmNlbGxhdGlvbl9yZWFzb25cbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApKX1cbiAgICAgICAgPC9Gb3JtLkdyb3VwPlxuICAgICAgPC8+XG4gICAgKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxGb3JtU3R5bGU+XG4gICAgICA8Rm9ybWlrIGluaXRpYWxWYWx1ZXM9e3NhbXBsaW5nUHJvcGVydHl9IG9uU3VibWl0PXtoYW5kbGVTdWJtaXR9PlxuICAgICAgICB7KCkgPT4gKFxuICAgICAgICAgIDxmb3JtIG9uU3VibWl0PXtmb3JtaWsuaGFuZGxlU3VibWl0fT5cbiAgICAgICAgICAgIDxGb3JtQ29udGFpbmVyU3R5bGU+XG4gICAgICAgICAgICAgIDxGaWVsZHNDb250YWluZXI+XG4gICAgICAgICAgICAgICAge3BhZ2VUeXBlID09PSAnY29sbGVjdCcgJiYgKFxuICAgICAgICAgICAgICAgICAgPFN0YXJ0PlxuICAgICAgICAgICAgICAgICAgICA8SW5wdXRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICAgIDxNb2JpbGVJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlPXtmb3JtaWsuaGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlQmx1cj17Zm9ybWlrLmhhbmRsZUJsdXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICBpbnB1dFRpdGxlPXtpMThuLnQoJ2FjdGl2ZXJlY29yZC5tb2RlbHMubGFiJyl9XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwibGFiX2lkXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJzZWxlY3RcIlxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e2Zvcm1pay52YWx1ZXMubGFiX2lkfVxuICAgICAgICAgICAgICAgICAgICAgICAgaXNJbnZhbGlkPXshIWZvcm1pay5lcnJvcnMubGFiX2lkfVxuICAgICAgICAgICAgICAgICAgICAgICAgbWFuZGF0b3J5PXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb24gdmFsdWU9e3VuZGVmaW5lZH0+PC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgICB7c2FtcGxpbmdQcm9wZXJ0aWVzLmxhYnMgIT09IHVuZGVmaW5lZCAmJlxuICAgICAgICAgICAgICAgICAgICAgICAgICBzYW1wbGluZ1Byb3BlcnRpZXMubGFicy5tYXAoKGxhYjogYW55KSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxvcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e2xhYi5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ9e1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIGxhYi5pZCA9PT0gdG9TYWZlSW50ZWdlcihmb3JtaWsudmFsdWVzLmxhYl9pZClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICB7bGFiLm5hbWV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L29wdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICApO1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgICAgICA8L01vYmlsZUlucHV0PlxuICAgICAgICAgICAgICAgICAgICAgIHtmb3JtaWsuZXJyb3JzLmxhYl9pZCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17J2hpbnQnfT57Zm9ybWlrLmVycm9ycy5sYWJfaWR9PC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgPC9JbnB1dFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgIDxGb3JtUm93U3R5bGU+XG4gICAgICAgICAgICAgICAgICAgICAgPElucHV0V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxNb2JpbGVJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICBpc0ludmFsaWQ9eyEhZm9ybWlrLmVycm9ycy5wdW1wX3NhbXBsaW5nX3ZvbHVtZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlPXtmb3JtaWsuaGFuZGxlQ2hhbmdlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVCbHVyPXtmb3JtaWsuaGFuZGxlQmx1cn1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgaW5wdXRUaXRsZT17aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICdwdW1wX3NjaGVkdWxlZF9kYXlzX2NvbmZpZ3VyYXRpb24udm9sdW1lJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgbmFtZT1cInB1bXBfc2FtcGxpbmdfdm9sdW1lXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdHlwZT1cIm51bWJlclwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtmb3JtaWsudmFsdWVzLnB1bXBfc2FtcGxpbmdfdm9sdW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBzeW1ib2w9XCJtbFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgIG1hbmRhdG9yeT17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICB7Zm9ybWlrLmVycm9ycy5wdW1wX3NhbXBsaW5nX3ZvbHVtZSAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnaGludCBoaW50LS11cHBlcid9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtmb3JtaWsuZXJyb3JzLnB1bXBfc2FtcGxpbmdfdm9sdW1lfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgPC9JbnB1dFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgPElucHV0V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxNb2JpbGVJbnB1dFxuICAgICAgICAgICAgICAgICAgICAgICAgICBpc0ludmFsaWQ9eyEhZm9ybWlrLmVycm9ycy5wdW1wX2JhdHRlcnlfbGV2ZWx9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZUNoYW5nZT17Zm9ybWlrLmhhbmRsZUNoYW5nZX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlQmx1cj17Zm9ybWlrLmhhbmRsZUJsdXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0VGl0bGU9e2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAnc2FtcGxpbmdfc2NyZWVuLnB1bXBfYmF0dGVyeV9sZXZlbCcsXG4gICAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJwdW1wX2JhdHRlcnlfbGV2ZWxcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwibnVtYmVyXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e2Zvcm1pay52YWx1ZXMucHVtcF9iYXR0ZXJ5X2xldmVsfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBzeW1ib2w9XCIlXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgbWFuZGF0b3J5PXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtmb3JtaWsuZXJyb3JzLnB1bXBfYmF0dGVyeV9sZXZlbCAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnaGludCBoaW50LS11cHBlcid9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtmb3JtaWsuZXJyb3JzLnB1bXBfYmF0dGVyeV9sZXZlbH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgIDwvSW5wdXRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICA8L0Zvcm1Sb3dTdHlsZT5cbiAgICAgICAgICAgICAgICAgIDwvU3RhcnQ+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA8RW5kIHBhZ2VUeXBlPXtwYWdlVHlwZX0+XG4gICAgICAgICAgICAgICAgICB7cGFnZVR5cGUgPT09ICdjb2xsZWN0JyAmJiAoXG4gICAgICAgICAgICAgICAgICAgIDxJbnB1dFdyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgICAgPE1vYmlsZUlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICBpc0ludmFsaWQ9eyEhZm9ybWlrLmVycm9ycy5rYW5kb19yZXB9XG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2U9e2Zvcm1pay5oYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVCbHVyPXtmb3JtaWsuaGFuZGxlQmx1cn1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0VGl0bGU9e2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nc19wcm9wZXJ0aWVzLnJlcG9ydGVyJyxcbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgICBuYW1lPVwia2FuZG9fcmVwXCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHR5cGU9XCJ0ZXh0XCJcbiAgICAgICAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfcHJvcGVydGllcy5wbGFjZWhvbGRlcl9yZXBvcnRlcicsXG4gICAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICAgICAgdmFsdWU9e2Zvcm1pay52YWx1ZXMua2FuZG9fcmVwfVxuICAgICAgICAgICAgICAgICAgICAgICAgbWFuZGF0b3J5PXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAge2Zvcm1pay5lcnJvcnMua2FuZG9fcmVwICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXsnaGludCd9Pntmb3JtaWsuZXJyb3JzLmthbmRvX3JlcH08L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgICAgICA8L0lucHV0V3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgICAgICAgIHtwYWdlVHlwZSA9PT0gJ2NhbmNlbCcgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtTdHlsZS5jYW5jZWxsYXRpb25UaXRsZX0+XG4gICAgICAgICAgICAgICAgICAgICAgICB7aTE4bi50KCdzYW1wbGluZ3NfcGFnZS5jYW5jZWxsYXRpb25fdGl0bGUnKX06XG4gICAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgICAge2Zvcm1pay50b3VjaGVkLmNhbmNlbGxhdGlvbl9yZWFzb24gJiZcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvcm1pay5lcnJvcnMuY2FuY2VsbGF0aW9uX3JlYXNvbiAmJiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtTdHlsZS52YWxpZGF0aW9uRXJyb3J9PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtpMThuLnQoJ2dlbmVyYWwucGxlYXNlX3NlbGVjdCcpfVxuICAgICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgICAgPENhbmNlbGxhdGlvblJlYXNvbnMgLz5cbiAgICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgICApfVxuXG4gICAgICAgICAgICAgICAgICA8SW5wdXRXcmFwcGVyPlxuICAgICAgICAgICAgICAgICAgICA8RGVzY3JpcHRpb24+XG4gICAgICAgICAgICAgICAgICAgICAgPE1vYmlsZUlucHV0XG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2U9e2Zvcm1pay5oYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVCbHVyPXtmb3JtaWsuaGFuZGxlQmx1cn1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlucHV0VGl0bGU9e2kxOG4udCgnd2F0ZXJfbWV0ZXIuZGVzY3JpcHRpb24nKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIG5hbWU9XCJkZXNjcmlwdGlvblwiXG4gICAgICAgICAgICAgICAgICAgICAgICB0eXBlPVwidGV4dGFyZWFcIlxuICAgICAgICAgICAgICAgICAgICAgICAgcGxhY2Vob2xkZXI9e2kxOG4udChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nc19wcm9wZXJ0aWVzLmdlbmVyYWxfZGVzY3JpcHRpb24nLFxuICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgIHZhbHVlPXtmb3JtaWsudmFsdWVzLmRlc2NyaXB0aW9ufVxuICAgICAgICAgICAgICAgICAgICAgICAgaXNJbnZhbGlkPXshIWZvcm1pay5lcnJvcnMuZGVzY3JpcHRpb259XG4gICAgICAgICAgICAgICAgICAgICAgICBtYW5kYXRvcnk9e2ZhbHNlfVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvRGVzY3JpcHRpb24+XG4gICAgICAgICAgICAgICAgICA8L0lucHV0V3JhcHBlcj5cbiAgICAgICAgICAgICAgICA8L0VuZD5cbiAgICAgICAgICAgICAgPC9GaWVsZHNDb250YWluZXI+XG4gICAgICAgICAgICAgIDxpbnB1dFxuICAgICAgICAgICAgICAgIHR5cGU9eydoaWRkZW4nfVxuICAgICAgICAgICAgICAgIG5hbWU9eydjb2xsZWN0aW9uX3RpbWUnfVxuICAgICAgICAgICAgICAgIHZhbHVlPXtmb3JtaWsudmFsdWVzLmNvbGxlY3Rpb25fdGltZX1cbiAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgPGlucHV0XG4gICAgICAgICAgICAgICAgdHlwZT17J2hpZGRlbid9XG4gICAgICAgICAgICAgICAgbmFtZT17J3NhbXBsaW5nX3BsYW5faWQnfVxuICAgICAgICAgICAgICAgIHZhbHVlPXtmb3JtaWsudmFsdWVzLnNhbXBsaW5nX3BsYW5faWR9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxCb3R0b21Gb3JtU3R5bGUgLz5cbiAgICAgICAgICAgICAgPEltYWdlVXBsb2FkXG4gICAgICAgICAgICAgICAgc2V0UGhvdG9zPXtzZXRQaG90b3N9XG4gICAgICAgICAgICAgICAgcGhvdG9zPXtwaG90b3N9XG4gICAgICAgICAgICAgICAgc2FtcGxpbmc9e3NhbXBsaW5nUHJvcGVydGllc31cbiAgICAgICAgICAgICAgICBzZXRQaG90b3NUb0RlbGV0ZT17c2V0UGhvdG9zVG9EZWxldGV9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIDxCdXR0b25zUm93PlxuICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e2hhbmRsZUNsb3NlfVxuICAgICAgICAgICAgICAgICAgd2lkdGg9XCIxNTBweFwiXG4gICAgICAgICAgICAgICAgICB2YXJpYW50PVwibm9uZVwiXG4gICAgICAgICAgICAgICAgICByb3VuZGVkPXt0cnVlfVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Nsb3NlJyl9XG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgPEJ1dHRvblxuICAgICAgICAgICAgICAgICAgdmFyaWFudD1cInByaW1hcnlcIlxuICAgICAgICAgICAgICAgICAgcm91bmRlZD17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgIG91dGxpbmU9e3RydWV9XG4gICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgICAgIHdpZHRoPVwiMTUwcHhcIlxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIHtzYXZpbmdNc2d9XG4gICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgIDwvQnV0dG9uc1Jvdz5cbiAgICAgICAgICAgIDwvRm9ybUNvbnRhaW5lclN0eWxlPlxuICAgICAgICAgIDwvZm9ybT5cbiAgICAgICAgKX1cbiAgICAgIDwvRm9ybWlrPlxuICAgIDwvRm9ybVN0eWxlPlxuICApO1xufTtcblxuY29uc3QgSW5wdXRXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAuaGludCB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGJvdHRvbTogLTE2cHg7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGNvbG9yOiAke3RoZW1lLmNvbG9yU2NoZW1lLmRhdGEuUjEwMH07XG5cbiAgICAmLS11cHBlciB7XG4gICAgICBib3R0b206IC0xcHg7XG4gICAgfVxuICB9XG5gO1xuXG5jb25zdCBGaWVsZHNDb250YWluZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogJHtpc01vYmlsZSA/ICdjb2x1bW47JyA6ICdyb3c7J31cbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgU3RhcnQgPSBzdHlsZWQuZGl2YFxuICB3aWR0aDogJHtpc01vYmlsZSA/ICd1bnNldDsnIDogJzUwJTsnfVxuICBwYWRkaW5nLWlubGluZS1lbmQ6ICR7aXNNb2JpbGUgPyAndW5zZXQ7JyA6ICcxMHB4Oyd9XG4gIHBhZGRpbmctdG9wOiAke2lzTW9iaWxlID8gJ3Vuc2V0OycgOiAnMTBweDsnfVxuICBcbmA7XG5pbnRlcmZhY2UgRW5kUHJvcHMge1xuICBwYWdlVHlwZTogc3RyaW5nO1xufVxuY29uc3QgRW5kID0gc3R5bGVkLmRpdi5hdHRycygocHJvcHM6IEVuZFByb3BzKSA9PiAoe1xuICBpc1Byb3BlcnRpZXNQYWdlOiBwcm9wcy5wYWdlVHlwZSA9PT0gJ2NvbGxlY3QnLFxufSkpYFxuICB3aWR0aDogJHsocHJvcHMpID0+XG4gICAgaXNNb2JpbGUgPyAndW5zZXQnIDogcHJvcHMuaXNQcm9wZXJ0aWVzUGFnZSA/ICc1MCUnIDogJzEwMCUnfTtcbiAgcGFkZGluZy1pbmxpbmUtc3RhcnQ6ICR7aXNNb2JpbGUgPyAndW5zZXQ7JyA6ICcxMHB4Oyd9XG4gIHBhZGRpbmctdG9wOiAke2lzTW9iaWxlID8gJ3Vuc2V0OycgOiAnMTBweDsnfVxuYDtcblxuY29uc3QgRGVzY3JpcHRpb24gPSBzdHlsZWQuZGl2YFxuICBmaWVsZHNldCB7XG4gICAgcGFkZGluZzogNXB4IDA7XG4gICAgaGVpZ2h0OiBtYXgtY29udGVudDtcbiAgICB0ZXh0YXJlYSB7XG4gICAgICB0cmFuc2l0aW9uOiBjdWJpYy1iZXppZXIoMC42NSwgMC4wNSwgMC4zNiwgMSkgMC4ycztcbiAgICAgIGhlaWdodDogJHtpc01vYmlsZSA/ICcyNXB4JyA6ICcxMDVweCAhaW1wb3J0YW50J307XG5cbiAgICAgICY6Zm9jdXMge1xuICAgICAgICB0cmFuc2l0aW9uOiBjdWJpYy1iZXppZXIoMC42NSwgMC4wNSwgMC4zNiwgMSkgMC4ycztcbiAgICAgICAgaGVpZ2h0OiAke2lzTW9iaWxlID8gJzc1cHggIWltcG9ydGFudCcgOiAnMTA1cHggIWltcG9ydGFudCd9O1xuICAgICAgfVxuICAgIH1cblxuICAgIGRpdiB7XG4gICAgICBoZWlnaHQ6IDEwMCU7XG4gICAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgRm9ybVN0eWxlID0gc3R5bGVkLmRpdmBcbiAgYm9yZGVyLWJvdHRvbTogNnB4IHNvbGlkICNmOWZhZmM7XG5gO1xuXG5jb25zdCBGb3JtUm93U3R5bGUgPSBzdHlsZWQoUm93KWBcbiAgbWFyZ2luOiAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGRpdiB7XG4gICAgd2lkdGg6ICR7aXNNb2JpbGUgPyAnNDUlOycgOiAnMTAwJTsnfTtcblxuICAgIGRpdiB7XG4gICAgICB3aWR0aDogMTAwJTtcbiAgICB9XG4gIH1cbmA7XG5cbmNvbnN0IEJ1dHRvbnNSb3cgPSBzdHlsZWQoUm93KWBcbiAgbWFyZ2luLXRvcDogMzBweDtcbiAganVzdGlmeS1jb250ZW50OiAke2lzTW9iaWxlID8gJ3NwYWNlLWJldHdlZW4nIDogJ2ZsZXgtZW5kJ307XG4gIG1hcmdpbjogJHtpc01vYmlsZSA/IDAgOiAnOXB4IDAnfTtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHtpc01vYmlsZVxuICAgID8gKHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMTBcbiAgICA6ICcnfTtcblxuICBkaXYge1xuICAgICR7aXNNb2JpbGUgPyAnJyA6ICdtYXJnaW46IDAgNnB4J31cbiAgfVxuYDtcblxuY29uc3QgRm9ybUNvbnRhaW5lclN0eWxlID0gc3R5bGVkKENvbnRhaW5lcilgXG4gIG1hcmdpbjogMDtcbiAgcGFkZGluZzogMDtcbmA7XG5cbmNvbnN0IEJvdHRvbUZvcm1TdHlsZSA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci1ib3R0b206IDZweCBzb2xpZCAjZjlmYWZjO1xuYDtcbiJdfQ==
@@ -7,7 +7,7 @@ var _typeof = require("@babel/runtime/helpers/typeof");
7
7
  Object.defineProperty(exports, "__esModule", {
8
8
  value: true
9
9
  });
10
- exports.autoReasonsKeys = exports.manualReasonsKeys = exports.cancellingValidationSchema = exports.propertiesValidationSchema = exports.samplingProperty = void 0;
10
+ exports.autoReasonsKeys = exports.manualReasonsKeys = exports.cancellationValidationSchema = exports.propertiesValidationSchema = exports.samplingProperty = void 0;
11
11
 
12
12
  var Yup = _interopRequireWildcard(require("yup"));
13
13
 
@@ -19,10 +19,11 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
19
19
 
20
20
  var samplingProperty = {
21
21
  lab_id: '',
22
- pump_battery_level: 0,
22
+ pump_battery_level: '',
23
23
  description: '',
24
- pump_sampling_volume: 0,
25
- kando_rep: ''
24
+ pump_sampling_volume: '',
25
+ kando_rep: '',
26
+ cancellation_reason: ''
26
27
  };
27
28
  exports.samplingProperty = samplingProperty;
28
29
  var propertiesValidationSchema = Yup.object({
@@ -32,13 +33,12 @@ var propertiesValidationSchema = Yup.object({
32
33
  lab_id: Yup.number().positive().integer(_i18n.default.t('samplings_page.samplings_properties.validation_messages.lab_id')).required(_i18n.default.t('samplings_page.samplings_properties.validation_messages.lab_id')).nullable()
33
34
  });
34
35
  exports.propertiesValidationSchema = propertiesValidationSchema;
35
- var cancellingValidationSchema = Yup.object({
36
- description: Yup.string(),
37
- cancelling_reason: Yup.string().required()
36
+ var cancellationValidationSchema = Yup.object({
37
+ cancellation_reason: Yup.string().required()
38
38
  });
39
- exports.cancellingValidationSchema = cancellingValidationSchema;
39
+ exports.cancellationValidationSchema = cancellationValidationSchema;
40
40
  var manualReasonsKeys = ['point_doesnt_open', 'no_flow', 'blocking', 'no_approach', 'group_dont_authorized', 'other'];
41
41
  exports.manualReasonsKeys = manualReasonsKeys;
42
42
  var autoReasonsKeys = ['pumped_by_mistake', 'mulfunctioned_sampler', 'was_not_picked_on_time', 'other'];
43
43
  exports.autoReasonsKeys = autoReasonsKeys;
44
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nUHJvcGVydGllcy9zYW1wbGluZ1Byb3BlcnRpZXNVdGlscy50c3giXSwibmFtZXMiOlsic2FtcGxpbmdQcm9wZXJ0eSIsImxhYl9pZCIsInB1bXBfYmF0dGVyeV9sZXZlbCIsImRlc2NyaXB0aW9uIiwicHVtcF9zYW1wbGluZ192b2x1bWUiLCJrYW5kb19yZXAiLCJwcm9wZXJ0aWVzVmFsaWRhdGlvblNjaGVtYSIsIll1cCIsIm9iamVjdCIsIm51bWJlciIsImludGVnZXIiLCJpMThuIiwidCIsInJlcXVpcmVkIiwibnVsbGFibGUiLCJzdHJpbmciLCJtYXgiLCJwb3NpdGl2ZSIsImNhbmNlbGxpbmdWYWxpZGF0aW9uU2NoZW1hIiwiY2FuY2VsbGluZ19yZWFzb24iLCJtYW51YWxSZWFzb25zS2V5cyIsImF1dG9SZWFzb25zS2V5cyJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7Ozs7O0FBVU8sSUFBTUEsZ0JBQWtDLEdBQUc7QUFDaERDLEVBQUFBLE1BQU0sRUFBRSxFQUR3QztBQUVoREMsRUFBQUEsa0JBQWtCLEVBQUUsQ0FGNEI7QUFHaERDLEVBQUFBLFdBQVcsRUFBRSxFQUhtQztBQUloREMsRUFBQUEsb0JBQW9CLEVBQUUsQ0FKMEI7QUFLaERDLEVBQUFBLFNBQVMsRUFBRTtBQUxxQyxDQUEzQzs7QUFhQSxJQUFNQywwQkFBMEIsR0FBR0MsR0FBRyxDQUFDQyxNQUFKLENBQVc7QUFDbkRKLEVBQUFBLG9CQUFvQixFQUFFRyxHQUFHLENBQUNFLE1BQUosR0FDbkJDLE9BRG1CLENBRWxCQyxjQUFLQyxDQUFMLENBQ0UsOEVBREYsQ0FGa0IsRUFNbkJDLFFBTm1CLENBT2xCRixjQUFLQyxDQUFMLENBQ0UsOEVBREYsQ0FQa0IsRUFXbkJFLFFBWG1CLEVBRDZCO0FBYW5EWixFQUFBQSxrQkFBa0IsRUFBRUssR0FBRyxDQUFDRSxNQUFKLEdBQ2pCQyxPQURpQixDQUVoQkMsY0FBS0MsQ0FBTCxDQUNFLDRFQURGLENBRmdCLEVBTWpCQyxRQU5pQixDQU9oQkYsY0FBS0MsQ0FBTCxDQUNFLDRFQURGLENBUGdCLEVBV2pCRSxRQVhpQixFQWIrQjtBQXlCbkRULEVBQUFBLFNBQVMsRUFBRUUsR0FBRyxDQUFDUSxNQUFKLEdBQ1JGLFFBRFEsQ0FFUEYsY0FBS0MsQ0FBTCxDQUNFLG1FQURGLENBRk8sRUFNUkksR0FOUSxDQU1KLEVBTkksRUFPUkYsUUFQUSxFQXpCd0M7QUFpQ25EYixFQUFBQSxNQUFNLEVBQUVNLEdBQUcsQ0FBQ0UsTUFBSixHQUNMUSxRQURLLEdBRUxQLE9BRkssQ0FHSkMsY0FBS0MsQ0FBTCxDQUFPLGdFQUFQLENBSEksRUFLTEMsUUFMSyxDQU1KRixjQUFLQyxDQUFMLENBQU8sZ0VBQVAsQ0FOSSxFQVFMRSxRQVJLO0FBakMyQyxDQUFYLENBQW5DOztBQTRDQSxJQUFNSSwwQkFBMEIsR0FBR1gsR0FBRyxDQUFDQyxNQUFKLENBQVc7QUFDbkRMLEVBQUFBLFdBQVcsRUFBRUksR0FBRyxDQUFDUSxNQUFKLEVBRHNDO0FBRW5ESSxFQUFBQSxpQkFBaUIsRUFBRVosR0FBRyxDQUFDUSxNQUFKLEdBQWFGLFFBQWI7QUFGZ0MsQ0FBWCxDQUFuQzs7QUFLQSxJQUFNTyxpQkFBaUIsR0FBRyxDQUMvQixtQkFEK0IsRUFFL0IsU0FGK0IsRUFHL0IsVUFIK0IsRUFJL0IsYUFKK0IsRUFLL0IsdUJBTCtCLEVBTS9CLE9BTitCLENBQTFCOztBQVNBLElBQU1DLGVBQWUsR0FBRyxDQUM3QixtQkFENkIsRUFFN0IsdUJBRjZCLEVBRzdCLHdCQUg2QixFQUk3QixPQUo2QixDQUF4QiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCAqIGFzIFl1cCBmcm9tICd5dXAnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcblxuZXhwb3J0IGludGVyZmFjZSBTYW1wbGluZ1Byb3BlcnR5IHtcbiAgbGFiX2lkOiBzdHJpbmc7XG4gIHB1bXBfc2FtcGxpbmdfdm9sdW1lOiBzdHJpbmcgfCBudW1iZXI7XG4gIHB1bXBfYmF0dGVyeV9sZXZlbDogc3RyaW5nIHwgbnVtYmVyO1xuICBrYW5kb19yZXA6IHN0cmluZztcbiAgZGVzY3JpcHRpb246IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IHNhbXBsaW5nUHJvcGVydHk6IFNhbXBsaW5nUHJvcGVydHkgPSB7XG4gIGxhYl9pZDogJycsXG4gIHB1bXBfYmF0dGVyeV9sZXZlbDogMCxcbiAgZGVzY3JpcHRpb246ICcnLFxuICBwdW1wX3NhbXBsaW5nX3ZvbHVtZTogMCxcbiAga2FuZG9fcmVwOiAnJyxcbn07XG5cbmV4cG9ydCB0eXBlIEFsZXJ0RGV0YWlscyA9IHtcbiAgb3BlbjogYm9vbGVhbjtcbiAgaW5zdGFuY2U6IGFueTtcbn07XG5cbmV4cG9ydCBjb25zdCBwcm9wZXJ0aWVzVmFsaWRhdGlvblNjaGVtYSA9IFl1cC5vYmplY3Qoe1xuICBwdW1wX3NhbXBsaW5nX3ZvbHVtZTogWXVwLm51bWJlcigpXG4gICAgLmludGVnZXIoXG4gICAgICBpMThuLnQoXG4gICAgICAgICdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfcHJvcGVydGllcy52YWxpZGF0aW9uX21lc3NhZ2VzLnB1bXBfc2FtcGxpbmdfdm9sdW1lJyxcbiAgICAgICksXG4gICAgKVxuICAgIC5yZXF1aXJlZChcbiAgICAgIGkxOG4udChcbiAgICAgICAgJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nc19wcm9wZXJ0aWVzLnZhbGlkYXRpb25fbWVzc2FnZXMucHVtcF9zYW1wbGluZ192b2x1bWUnLFxuICAgICAgKSxcbiAgICApXG4gICAgLm51bGxhYmxlKCksXG4gIHB1bXBfYmF0dGVyeV9sZXZlbDogWXVwLm51bWJlcigpXG4gICAgLmludGVnZXIoXG4gICAgICBpMThuLnQoXG4gICAgICAgICdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfcHJvcGVydGllcy52YWxpZGF0aW9uX21lc3NhZ2VzLnB1bXBfYmF0dGVyeV9sZXZlbCcsXG4gICAgICApLFxuICAgIClcbiAgICAucmVxdWlyZWQoXG4gICAgICBpMThuLnQoXG4gICAgICAgICdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfcHJvcGVydGllcy52YWxpZGF0aW9uX21lc3NhZ2VzLnB1bXBfYmF0dGVyeV9sZXZlbCcsXG4gICAgICApLFxuICAgIClcbiAgICAubnVsbGFibGUoKSxcbiAga2FuZG9fcmVwOiBZdXAuc3RyaW5nKClcbiAgICAucmVxdWlyZWQoXG4gICAgICBpMThuLnQoXG4gICAgICAgICdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfcHJvcGVydGllcy52YWxpZGF0aW9uX21lc3NhZ2VzLmthbmRvX3JlcCcsXG4gICAgICApLFxuICAgIClcbiAgICAubWF4KDMwKVxuICAgIC5udWxsYWJsZSgpLFxuICBsYWJfaWQ6IFl1cC5udW1iZXIoKVxuICAgIC5wb3NpdGl2ZSgpXG4gICAgLmludGVnZXIoXG4gICAgICBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nc19wcm9wZXJ0aWVzLnZhbGlkYXRpb25fbWVzc2FnZXMubGFiX2lkJyksXG4gICAgKVxuICAgIC5yZXF1aXJlZChcbiAgICAgIGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdzX3Byb3BlcnRpZXMudmFsaWRhdGlvbl9tZXNzYWdlcy5sYWJfaWQnKSxcbiAgICApXG4gICAgLm51bGxhYmxlKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IGNhbmNlbGxpbmdWYWxpZGF0aW9uU2NoZW1hID0gWXVwLm9iamVjdCh7XG4gIGRlc2NyaXB0aW9uOiBZdXAuc3RyaW5nKCksXG4gIGNhbmNlbGxpbmdfcmVhc29uOiBZdXAuc3RyaW5nKCkucmVxdWlyZWQoKSxcbn0pO1xuXG5leHBvcnQgY29uc3QgbWFudWFsUmVhc29uc0tleXMgPSBbXG4gICdwb2ludF9kb2VzbnRfb3BlbicsXG4gICdub19mbG93JyxcbiAgJ2Jsb2NraW5nJyxcbiAgJ25vX2FwcHJvYWNoJyxcbiAgJ2dyb3VwX2RvbnRfYXV0aG9yaXplZCcsXG4gICdvdGhlcicsXG5dO1xuXG5leHBvcnQgY29uc3QgYXV0b1JlYXNvbnNLZXlzID0gW1xuICAncHVtcGVkX2J5X21pc3Rha2UnLFxuICAnbXVsZnVuY3Rpb25lZF9zYW1wbGVyJyxcbiAgJ3dhc19ub3RfcGlja2VkX29uX3RpbWUnLFxuICAnb3RoZXInLFxuXTtcbiJdfQ==
44
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nUHJvcGVydGllcy9zYW1wbGluZ1Byb3BlcnRpZXNVdGlscy50c3giXSwibmFtZXMiOlsic2FtcGxpbmdQcm9wZXJ0eSIsImxhYl9pZCIsInB1bXBfYmF0dGVyeV9sZXZlbCIsImRlc2NyaXB0aW9uIiwicHVtcF9zYW1wbGluZ192b2x1bWUiLCJrYW5kb19yZXAiLCJjYW5jZWxsYXRpb25fcmVhc29uIiwicHJvcGVydGllc1ZhbGlkYXRpb25TY2hlbWEiLCJZdXAiLCJvYmplY3QiLCJudW1iZXIiLCJpbnRlZ2VyIiwiaTE4biIsInQiLCJyZXF1aXJlZCIsIm51bGxhYmxlIiwic3RyaW5nIiwibWF4IiwicG9zaXRpdmUiLCJjYW5jZWxsYXRpb25WYWxpZGF0aW9uU2NoZW1hIiwibWFudWFsUmVhc29uc0tleXMiLCJhdXRvUmVhc29uc0tleXMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7Ozs7OztBQVdPLElBQU1BLGdCQUFrQyxHQUFHO0FBQ2hEQyxFQUFBQSxNQUFNLEVBQUUsRUFEd0M7QUFFaERDLEVBQUFBLGtCQUFrQixFQUFFLEVBRjRCO0FBR2hEQyxFQUFBQSxXQUFXLEVBQUUsRUFIbUM7QUFJaERDLEVBQUFBLG9CQUFvQixFQUFFLEVBSjBCO0FBS2hEQyxFQUFBQSxTQUFTLEVBQUUsRUFMcUM7QUFNaERDLEVBQUFBLG1CQUFtQixFQUFFO0FBTjJCLENBQTNDOztBQWNBLElBQU1DLDBCQUEwQixHQUFHQyxHQUFHLENBQUNDLE1BQUosQ0FBVztBQUNuREwsRUFBQUEsb0JBQW9CLEVBQUVJLEdBQUcsQ0FBQ0UsTUFBSixHQUNuQkMsT0FEbUIsQ0FFbEJDLGNBQUtDLENBQUwsQ0FDRSw4RUFERixDQUZrQixFQU1uQkMsUUFObUIsQ0FPbEJGLGNBQUtDLENBQUwsQ0FDRSw4RUFERixDQVBrQixFQVduQkUsUUFYbUIsRUFENkI7QUFhbkRiLEVBQUFBLGtCQUFrQixFQUFFTSxHQUFHLENBQUNFLE1BQUosR0FDakJDLE9BRGlCLENBRWhCQyxjQUFLQyxDQUFMLENBQ0UsNEVBREYsQ0FGZ0IsRUFNakJDLFFBTmlCLENBT2hCRixjQUFLQyxDQUFMLENBQ0UsNEVBREYsQ0FQZ0IsRUFXakJFLFFBWGlCLEVBYitCO0FBeUJuRFYsRUFBQUEsU0FBUyxFQUFFRyxHQUFHLENBQUNRLE1BQUosR0FDUkYsUUFEUSxDQUVQRixjQUFLQyxDQUFMLENBQ0UsbUVBREYsQ0FGTyxFQU1SSSxHQU5RLENBTUosRUFOSSxFQU9SRixRQVBRLEVBekJ3QztBQWlDbkRkLEVBQUFBLE1BQU0sRUFBRU8sR0FBRyxDQUFDRSxNQUFKLEdBQ0xRLFFBREssR0FFTFAsT0FGSyxDQUdKQyxjQUFLQyxDQUFMLENBQU8sZ0VBQVAsQ0FISSxFQUtMQyxRQUxLLENBTUpGLGNBQUtDLENBQUwsQ0FBTyxnRUFBUCxDQU5JLEVBUUxFLFFBUks7QUFqQzJDLENBQVgsQ0FBbkM7O0FBNENBLElBQU1JLDRCQUE0QixHQUFHWCxHQUFHLENBQUNDLE1BQUosQ0FBVztBQUNyREgsRUFBQUEsbUJBQW1CLEVBQUVFLEdBQUcsQ0FBQ1EsTUFBSixHQUFhRixRQUFiO0FBRGdDLENBQVgsQ0FBckM7O0FBSUEsSUFBTU0saUJBQWlCLEdBQUcsQ0FDL0IsbUJBRCtCLEVBRS9CLFNBRitCLEVBRy9CLFVBSCtCLEVBSS9CLGFBSitCLEVBSy9CLHVCQUwrQixFQU0vQixPQU4rQixDQUExQjs7QUFTQSxJQUFNQyxlQUFlLEdBQUcsQ0FDN0IsbUJBRDZCLEVBRTdCLHVCQUY2QixFQUc3Qix3QkFINkIsRUFJN0IsT0FKNkIsQ0FBeEIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgKiBhcyBZdXAgZnJvbSAneXVwJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5cbmV4cG9ydCBpbnRlcmZhY2UgU2FtcGxpbmdQcm9wZXJ0eSB7XG4gIGxhYl9pZDogc3RyaW5nO1xuICBwdW1wX3NhbXBsaW5nX3ZvbHVtZTogc3RyaW5nIHwgbnVtYmVyO1xuICBwdW1wX2JhdHRlcnlfbGV2ZWw6IHN0cmluZyB8IG51bWJlcjtcbiAga2FuZG9fcmVwOiBzdHJpbmc7XG4gIGRlc2NyaXB0aW9uOiBzdHJpbmc7XG4gIGNhbmNlbGxhdGlvbl9yZWFzb246IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IHNhbXBsaW5nUHJvcGVydHk6IFNhbXBsaW5nUHJvcGVydHkgPSB7XG4gIGxhYl9pZDogJycsXG4gIHB1bXBfYmF0dGVyeV9sZXZlbDogJycsXG4gIGRlc2NyaXB0aW9uOiAnJyxcbiAgcHVtcF9zYW1wbGluZ192b2x1bWU6ICcnLFxuICBrYW5kb19yZXA6ICcnLFxuICBjYW5jZWxsYXRpb25fcmVhc29uOiAnJyxcbn07XG5cbmV4cG9ydCB0eXBlIEFsZXJ0RGV0YWlscyA9IHtcbiAgb3BlbjogYm9vbGVhbjtcbiAgaW5zdGFuY2U6IGFueTtcbn07XG5cbmV4cG9ydCBjb25zdCBwcm9wZXJ0aWVzVmFsaWRhdGlvblNjaGVtYSA9IFl1cC5vYmplY3Qoe1xuICBwdW1wX3NhbXBsaW5nX3ZvbHVtZTogWXVwLm51bWJlcigpXG4gICAgLmludGVnZXIoXG4gICAgICBpMThuLnQoXG4gICAgICAgICdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfcHJvcGVydGllcy52YWxpZGF0aW9uX21lc3NhZ2VzLnB1bXBfc2FtcGxpbmdfdm9sdW1lJyxcbiAgICAgICksXG4gICAgKVxuICAgIC5yZXF1aXJlZChcbiAgICAgIGkxOG4udChcbiAgICAgICAgJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nc19wcm9wZXJ0aWVzLnZhbGlkYXRpb25fbWVzc2FnZXMucHVtcF9zYW1wbGluZ192b2x1bWUnLFxuICAgICAgKSxcbiAgICApXG4gICAgLm51bGxhYmxlKCksXG4gIHB1bXBfYmF0dGVyeV9sZXZlbDogWXVwLm51bWJlcigpXG4gICAgLmludGVnZXIoXG4gICAgICBpMThuLnQoXG4gICAgICAgICdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfcHJvcGVydGllcy52YWxpZGF0aW9uX21lc3NhZ2VzLnB1bXBfYmF0dGVyeV9sZXZlbCcsXG4gICAgICApLFxuICAgIClcbiAgICAucmVxdWlyZWQoXG4gICAgICBpMThuLnQoXG4gICAgICAgICdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfcHJvcGVydGllcy52YWxpZGF0aW9uX21lc3NhZ2VzLnB1bXBfYmF0dGVyeV9sZXZlbCcsXG4gICAgICApLFxuICAgIClcbiAgICAubnVsbGFibGUoKSxcbiAga2FuZG9fcmVwOiBZdXAuc3RyaW5nKClcbiAgICAucmVxdWlyZWQoXG4gICAgICBpMThuLnQoXG4gICAgICAgICdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfcHJvcGVydGllcy52YWxpZGF0aW9uX21lc3NhZ2VzLmthbmRvX3JlcCcsXG4gICAgICApLFxuICAgIClcbiAgICAubWF4KDMwKVxuICAgIC5udWxsYWJsZSgpLFxuICBsYWJfaWQ6IFl1cC5udW1iZXIoKVxuICAgIC5wb3NpdGl2ZSgpXG4gICAgLmludGVnZXIoXG4gICAgICBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nc19wcm9wZXJ0aWVzLnZhbGlkYXRpb25fbWVzc2FnZXMubGFiX2lkJyksXG4gICAgKVxuICAgIC5yZXF1aXJlZChcbiAgICAgIGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdzX3Byb3BlcnRpZXMudmFsaWRhdGlvbl9tZXNzYWdlcy5sYWJfaWQnKSxcbiAgICApXG4gICAgLm51bGxhYmxlKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IGNhbmNlbGxhdGlvblZhbGlkYXRpb25TY2hlbWEgPSBZdXAub2JqZWN0KHtcbiAgY2FuY2VsbGF0aW9uX3JlYXNvbjogWXVwLnN0cmluZygpLnJlcXVpcmVkKCksXG59KTtcblxuZXhwb3J0IGNvbnN0IG1hbnVhbFJlYXNvbnNLZXlzID0gW1xuICAncG9pbnRfZG9lc250X29wZW4nLFxuICAnbm9fZmxvdycsXG4gICdibG9ja2luZycsXG4gICdub19hcHByb2FjaCcsXG4gICdncm91cF9kb250X2F1dGhvcml6ZWQnLFxuICAnb3RoZXInLFxuXTtcblxuZXhwb3J0IGNvbnN0IGF1dG9SZWFzb25zS2V5cyA9IFtcbiAgJ3B1bXBlZF9ieV9taXN0YWtlJyxcbiAgJ211bGZ1bmN0aW9uZWRfc2FtcGxlcicsXG4gICd3YXNfbm90X3BpY2tlZF9vbl90aW1lJyxcbiAgJ290aGVyJyxcbl07XG4iXX0=
@@ -27,6 +27,8 @@ var _actionsCreator = require("store/samplings/actionsCreator");
27
27
 
28
28
  var _samplingsPageUtils = require("./samplingsPageUtils");
29
29
 
30
+ var _i18n = _interopRequireDefault(require("../../utilities/i18n"));
31
+
30
32
  function _getRequireWildcardCache(nodeInterop) { if (typeof WeakMap !== "function") return null; var cacheBabelInterop = new WeakMap(); var cacheNodeInterop = new WeakMap(); return (_getRequireWildcardCache = function _getRequireWildcardCache(nodeInterop) { return nodeInterop ? cacheNodeInterop : cacheBabelInterop; })(nodeInterop); }
31
33
 
32
34
  function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj && obj.__esModule) { return obj; } if (obj === null || _typeof(obj) !== "object" && typeof obj !== "function") { return { default: obj }; } var cache = _getRequireWildcardCache(nodeInterop); if (cache && cache.has(obj)) { return cache.get(obj); } var newObj = {}; var hasPropertyDescriptor = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var key in obj) { if (key !== "default" && Object.prototype.hasOwnProperty.call(obj, key)) { var desc = hasPropertyDescriptor ? Object.getOwnPropertyDescriptor(obj, key) : null; if (desc && (desc.get || desc.set)) { Object.defineProperty(newObj, key, desc); } else { newObj[key] = obj[key]; } } } newObj.default = obj; if (cache) { cache.set(obj, newObj); } return newObj; }
@@ -34,9 +36,10 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
34
36
  var SamplingsMobileStyle = _styledComponents.default.div.withConfig({
35
37
  displayName: "SamplingsMobileList__SamplingsMobileStyle",
36
38
  componentId: "sc-1mrhbs9-0"
37
- })(["height:calc(100vh - 160px);overflow-y:scroll;scrollbar-width:none;-ms-overflow-style:none;&::-webkit-scrollbar{width:0;height:0;}"]);
39
+ })(["height:calc(100vh - 160px);overflow-y:scroll;scrollbar-width:none;-ms-overflow-style:none;&::-webkit-scrollbar{width:0;height:0;}.no_data{text-align:center;}"]);
38
40
 
39
- var SamplingsMobileList = function SamplingsMobileList() {
41
+ var SamplingsMobileList = function SamplingsMobileList(_ref) {
42
+ var samplings = _ref.samplings;
40
43
  var dispatch = (0, _reactRedux.useDispatch)();
41
44
 
42
45
  var _useState = (0, _react.useState)([]),
@@ -48,7 +51,6 @@ var SamplingsMobileList = function SamplingsMobileList() {
48
51
  return state.samplings_data;
49
52
  }),
50
53
  isFetch = _useSelector.isFetch,
51
- samplings = _useSelector.samplings,
52
54
  currentPage = _useSelector.currentPage,
53
55
  totalPages = _useSelector.totalPages,
54
56
  perPage = _useSelector.perPage;
@@ -68,6 +70,9 @@ var SamplingsMobileList = function SamplingsMobileList() {
68
70
  setLocalList(function (prev) {
69
71
  return [].concat((0, _toConsumableArray2.default)(prev), (0, _toConsumableArray2.default)(samplings));
70
72
  });
73
+ return function cleanup() {
74
+ setLocalList([]);
75
+ };
71
76
  }, [samplings]);
72
77
 
73
78
  var handleIsView = function handleIsView() {
@@ -83,7 +88,9 @@ var SamplingsMobileList = function SamplingsMobileList() {
83
88
  return /*#__PURE__*/_react.default.createElement(SamplingsMobileStyle, null, /*#__PURE__*/_react.default.createElement(_uiKit.KandoList, {
84
89
  handleIsView: handleIsView,
85
90
  isFetching: isFetch
86
- }, localList === null || localList === void 0 ? void 0 : localList.map(function (list) {
91
+ }, localList.length === 0 && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("p", {
92
+ className: 'no_data'
93
+ }, _i18n.default.t('samplings_page.no_data'))), localList === null || localList === void 0 ? void 0 : localList.map(function (list) {
87
94
  return /*#__PURE__*/_react.default.createElement(_SamplingsMobileItem.SamplingsMobileItem, {
88
95
  key: list.sampling_id,
89
96
  data: list
@@ -93,4 +100,4 @@ var SamplingsMobileList = function SamplingsMobileList() {
93
100
 
94
101
  var _default = SamplingsMobileList;
95
102
  exports.default = _default;
96
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nc01vYmlsZUxpc3QudHN4Il0sIm5hbWVzIjpbIlNhbXBsaW5nc01vYmlsZVN0eWxlIiwic3R5bGVkIiwiZGl2IiwiU2FtcGxpbmdzTW9iaWxlTGlzdCIsImRpc3BhdGNoIiwibG9jYWxMaXN0Iiwic2V0TG9jYWxMaXN0Iiwic3RhdGUiLCJzYW1wbGluZ3NfZGF0YSIsImlzRmV0Y2giLCJzYW1wbGluZ3MiLCJjdXJyZW50UGFnZSIsInRvdGFsUGFnZXMiLCJwZXJQYWdlIiwiTU9CSUxFX1BBR0lOQVRJT05fUEVSX1BBR0UiLCJvcmRlckJ5IiwiTU9CSUxFX0RFRkFVTFRfU09SVEZJRUxEIiwib3JkZXJEaXJlY3Rpb24iLCJwcmV2IiwiaGFuZGxlSXNWaWV3IiwibWFwIiwibGlzdCIsInNhbXBsaW5nX2lkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUVBOzs7Ozs7QUFNQSxJQUFNQSxvQkFBb0IsR0FBR0MsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEseUlBQTFCOztBQVlBLElBQU1DLG1CQUF1QixHQUFHLFNBQTFCQSxtQkFBMEIsR0FBTTtBQUNwQyxNQUFNQyxRQUFRLEdBQUcsOEJBQWpCOztBQUNBLGtCQUFrQyxxQkFBeUIsRUFBekIsQ0FBbEM7QUFBQTtBQUFBLE1BQU9DLFNBQVA7QUFBQSxNQUFrQkMsWUFBbEI7O0FBRUEscUJBQWlFLDZCQUMvRCxVQUFDQyxLQUFEO0FBQUEsV0FBMENBLEtBQUssQ0FBQ0MsY0FBaEQ7QUFBQSxHQUQrRCxDQUFqRTtBQUFBLE1BQVFDLE9BQVIsZ0JBQVFBLE9BQVI7QUFBQSxNQUFpQkMsU0FBakIsZ0JBQWlCQSxTQUFqQjtBQUFBLE1BQTRCQyxXQUE1QixnQkFBNEJBLFdBQTVCO0FBQUEsTUFBeUNDLFVBQXpDLGdCQUF5Q0EsVUFBekM7QUFBQSxNQUFxREMsT0FBckQsZ0JBQXFEQSxPQUFyRDs7QUFJQSx3QkFBVSxZQUFNO0FBQ2RULElBQUFBLFFBQVEsQ0FDTixxQ0FBZ0I7QUFDZFMsTUFBQUEsT0FBTyxFQUFFQyw4Q0FESztBQUVkQyxNQUFBQSxPQUFPLEVBQUVDLDRDQUZLO0FBR2RDLE1BQUFBLGNBQWMsRUFBRTtBQUhGLEtBQWhCLENBRE0sQ0FBUjtBQU9ELEdBUkQsRUFRRyxFQVJIO0FBVUEsd0JBQVUsWUFBTTtBQUNkLFFBQUlKLE9BQU8sR0FBR0MsOENBQWQsRUFBMEM7QUFDeEM7QUFDRDs7QUFDRFIsSUFBQUEsWUFBWSxDQUFDLFVBQUNZLElBQUQ7QUFBQSx3REFBY0EsSUFBZCxvQ0FBdUJSLFNBQXZCO0FBQUEsS0FBRCxDQUFaO0FBQ0QsR0FMRCxFQUtHLENBQUNBLFNBQUQsQ0FMSDs7QUFPQSxNQUFNUyxZQUFZLEdBQUcsU0FBZkEsWUFBZSxHQUFNO0FBQ3pCLFFBQUlSLFdBQVcsSUFBSUMsVUFBbkIsRUFBK0I7QUFDN0I7QUFDRDs7QUFDRFIsSUFBQUEsUUFBUSxDQUFDLHFDQUFnQjtBQUFFTyxNQUFBQSxXQUFXLEVBQUVBLFdBQVcsR0FBRztBQUE3QixLQUFoQixDQUFELENBQVI7QUFDRCxHQUxEOztBQU9BLHNCQUNFLDZCQUFDLG9CQUFELHFCQUNFLDZCQUFDLGdCQUFEO0FBQVcsSUFBQSxZQUFZLEVBQUVRLFlBQXpCO0FBQXVDLElBQUEsVUFBVSxFQUFFVjtBQUFuRCxLQUNHSixTQURILGFBQ0dBLFNBREgsdUJBQ0dBLFNBQVMsQ0FBRWUsR0FBWCxDQUFlLFVBQUNDLElBQUQsRUFBd0I7QUFDdEMsd0JBQU8sNkJBQUMsd0NBQUQ7QUFBcUIsTUFBQSxHQUFHLEVBQUVBLElBQUksQ0FBQ0MsV0FBL0I7QUFBNEMsTUFBQSxJQUFJLEVBQUVEO0FBQWxELE1BQVA7QUFDRCxHQUZBLENBREgsQ0FERixDQURGO0FBU0QsQ0F6Q0Q7O2VBMkNlbEIsbUIiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgRkMsIHVzZUVmZmVjdCwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBTYW1wbGluZ3NNb2JpbGVJdGVtIH0gZnJvbSAnLi9TYW1wbGluZ3NNb2JpbGVJdGVtJztcbmltcG9ydCB7IEthbmRvTGlzdCB9IGZyb20gJ3NyYy91aS1raXQnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJ3NyYy9zdG9yZS9yb290UmVkdWNlcic7XG5pbXBvcnQgeyBzZXRTYW1wbGluZ0RhdGEgfSBmcm9tICdzcmMvc3RvcmUvc2FtcGxpbmdzL2FjdGlvbnNDcmVhdG9yJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHtcbiAgU2FtcGxpbmdEYXRhLFxuICBNT0JJTEVfUEFHSU5BVElPTl9QRVJfUEFHRSxcbiAgTU9CSUxFX0RFRkFVTFRfU09SVEZJRUxELFxufSBmcm9tICcuL3NhbXBsaW5nc1BhZ2VVdGlscyc7XG5cbmNvbnN0IFNhbXBsaW5nc01vYmlsZVN0eWxlID0gc3R5bGVkLmRpdmBcbiAgaGVpZ2h0OiBjYWxjKDEwMHZoIC0gMTYwcHgpO1xuICBvdmVyZmxvdy15OiBzY3JvbGw7XG4gIHNjcm9sbGJhci13aWR0aDogbm9uZTsgLyogRkYgaGlkZSBzY3JvbGxiYXIgKi9cbiAgLW1zLW92ZXJmbG93LXN0eWxlOiBub25lOyAvKiBJRTEwKyBoaWRlIHNjcm9sbGJhciAqL1xuICAmOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgLyogV2ViS2l0IGhpZGUgc2Nyb2xsYmFyICovXG4gICAgd2lkdGg6IDA7XG4gICAgaGVpZ2h0OiAwO1xuICB9XG5gO1xuXG5jb25zdCBTYW1wbGluZ3NNb2JpbGVMaXN0OiBGQyA9ICgpID0+IHtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBbbG9jYWxMaXN0LCBzZXRMb2NhbExpc3RdID0gdXNlU3RhdGU8U2FtcGxpbmdEYXRhW10+KFtdKTtcblxuICBjb25zdCB7IGlzRmV0Y2gsIHNhbXBsaW5ncywgY3VycmVudFBhZ2UsIHRvdGFsUGFnZXMsIHBlclBhZ2UgfSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+IHN0YXRlLnNhbXBsaW5nc19kYXRhLFxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgZGlzcGF0Y2goXG4gICAgICBzZXRTYW1wbGluZ0RhdGEoe1xuICAgICAgICBwZXJQYWdlOiBNT0JJTEVfUEFHSU5BVElPTl9QRVJfUEFHRSxcbiAgICAgICAgb3JkZXJCeTogTU9CSUxFX0RFRkFVTFRfU09SVEZJRUxELFxuICAgICAgICBvcmRlckRpcmVjdGlvbjogJ2Rlc2MnLFxuICAgICAgfSksXG4gICAgKTtcbiAgfSwgW10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHBlclBhZ2UgPiBNT0JJTEVfUEFHSU5BVElPTl9QRVJfUEFHRSkge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBzZXRMb2NhbExpc3QoKHByZXYpID0+IFsuLi5wcmV2LCAuLi5zYW1wbGluZ3NdKTtcbiAgfSwgW3NhbXBsaW5nc10pO1xuXG4gIGNvbnN0IGhhbmRsZUlzVmlldyA9ICgpID0+IHtcbiAgICBpZiAoY3VycmVudFBhZ2UgPj0gdG90YWxQYWdlcykge1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBkaXNwYXRjaChzZXRTYW1wbGluZ0RhdGEoeyBjdXJyZW50UGFnZTogY3VycmVudFBhZ2UgKyAxIH0pKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxTYW1wbGluZ3NNb2JpbGVTdHlsZT5cbiAgICAgIDxLYW5kb0xpc3QgaGFuZGxlSXNWaWV3PXtoYW5kbGVJc1ZpZXd9IGlzRmV0Y2hpbmc9e2lzRmV0Y2h9PlxuICAgICAgICB7bG9jYWxMaXN0Py5tYXAoKGxpc3Q6IFNhbXBsaW5nRGF0YSkgPT4ge1xuICAgICAgICAgIHJldHVybiA8U2FtcGxpbmdzTW9iaWxlSXRlbSBrZXk9e2xpc3Quc2FtcGxpbmdfaWR9IGRhdGE9e2xpc3R9IC8+O1xuICAgICAgICB9KX1cbiAgICAgIDwvS2FuZG9MaXN0PlxuICAgIDwvU2FtcGxpbmdzTW9iaWxlU3R5bGU+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBTYW1wbGluZ3NNb2JpbGVMaXN0O1xuIl19
103
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nc01vYmlsZUxpc3QudHN4Il0sIm5hbWVzIjpbIlNhbXBsaW5nc01vYmlsZVN0eWxlIiwic3R5bGVkIiwiZGl2IiwiU2FtcGxpbmdzTW9iaWxlTGlzdCIsInNhbXBsaW5ncyIsImRpc3BhdGNoIiwibG9jYWxMaXN0Iiwic2V0TG9jYWxMaXN0Iiwic3RhdGUiLCJzYW1wbGluZ3NfZGF0YSIsImlzRmV0Y2giLCJjdXJyZW50UGFnZSIsInRvdGFsUGFnZXMiLCJwZXJQYWdlIiwiTU9CSUxFX1BBR0lOQVRJT05fUEVSX1BBR0UiLCJvcmRlckJ5IiwiTU9CSUxFX0RFRkFVTFRfU09SVEZJRUxEIiwib3JkZXJEaXJlY3Rpb24iLCJwcmV2IiwiY2xlYW51cCIsImhhbmRsZUlzVmlldyIsImxlbmd0aCIsImkxOG4iLCJ0IiwibWFwIiwibGlzdCIsInNhbXBsaW5nX2lkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUVBOztBQUtBOzs7Ozs7QUFFQSxJQUFNQSxvQkFBb0IsR0FBR0MsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEscUtBQTFCOztBQW9CQSxJQUFNQyxtQkFBaUQsR0FBRyxTQUFwREEsbUJBQW9ELE9BQW1CO0FBQUEsTUFBaEJDLFNBQWdCLFFBQWhCQSxTQUFnQjtBQUMzRSxNQUFNQyxRQUFRLEdBQUcsOEJBQWpCOztBQUNBLGtCQUFrQyxxQkFBeUIsRUFBekIsQ0FBbEM7QUFBQTtBQUFBLE1BQU9DLFNBQVA7QUFBQSxNQUFrQkMsWUFBbEI7O0FBRUEscUJBQXNELDZCQUNwRCxVQUFDQyxLQUFEO0FBQUEsV0FBMENBLEtBQUssQ0FBQ0MsY0FBaEQ7QUFBQSxHQURvRCxDQUF0RDtBQUFBLE1BQVFDLE9BQVIsZ0JBQVFBLE9BQVI7QUFBQSxNQUFpQkMsV0FBakIsZ0JBQWlCQSxXQUFqQjtBQUFBLE1BQThCQyxVQUE5QixnQkFBOEJBLFVBQTlCO0FBQUEsTUFBMENDLE9BQTFDLGdCQUEwQ0EsT0FBMUM7O0FBSUEsd0JBQVUsWUFBTTtBQUNkUixJQUFBQSxRQUFRLENBQ04scUNBQWdCO0FBQ2RRLE1BQUFBLE9BQU8sRUFBRUMsOENBREs7QUFFZEMsTUFBQUEsT0FBTyxFQUFFQyw0Q0FGSztBQUdkQyxNQUFBQSxjQUFjLEVBQUU7QUFIRixLQUFoQixDQURNLENBQVI7QUFPRCxHQVJELEVBUUcsRUFSSDtBQVVBLHdCQUFVLFlBQU07QUFDZCxRQUFJSixPQUFPLEdBQUdDLDhDQUFkLEVBQTBDO0FBQ3hDO0FBQ0Q7O0FBQ0RQLElBQUFBLFlBQVksQ0FBQyxVQUFDVyxJQUFEO0FBQUEsd0RBQWNBLElBQWQsb0NBQXVCZCxTQUF2QjtBQUFBLEtBQUQsQ0FBWjtBQUVBLFdBQU8sU0FBU2UsT0FBVCxHQUFtQjtBQUN4QlosTUFBQUEsWUFBWSxDQUFDLEVBQUQsQ0FBWjtBQUNELEtBRkQ7QUFHRCxHQVRELEVBU0csQ0FBQ0gsU0FBRCxDQVRIOztBQVdBLE1BQU1nQixZQUFZLEdBQUcsU0FBZkEsWUFBZSxHQUFNO0FBQ3pCLFFBQUlULFdBQVcsSUFBSUMsVUFBbkIsRUFBK0I7QUFDN0I7QUFDRDs7QUFDRFAsSUFBQUEsUUFBUSxDQUFDLHFDQUFnQjtBQUFFTSxNQUFBQSxXQUFXLEVBQUVBLFdBQVcsR0FBRztBQUE3QixLQUFoQixDQUFELENBQVI7QUFDRCxHQUxEOztBQU9BLHNCQUNFLDZCQUFDLG9CQUFELHFCQUNFLDZCQUFDLGdCQUFEO0FBQVcsSUFBQSxZQUFZLEVBQUVTLFlBQXpCO0FBQXVDLElBQUEsVUFBVSxFQUFFVjtBQUFuRCxLQUNHSixTQUFTLENBQUNlLE1BQVYsS0FBcUIsQ0FBckIsaUJBQ0MseUVBQ0U7QUFBRyxJQUFBLFNBQVMsRUFBRTtBQUFkLEtBQTBCQyxjQUFLQyxDQUFMLENBQU8sd0JBQVAsQ0FBMUIsQ0FERixDQUZKLEVBTUdqQixTQU5ILGFBTUdBLFNBTkgsdUJBTUdBLFNBQVMsQ0FBRWtCLEdBQVgsQ0FBZSxVQUFDQyxJQUFELEVBQXdCO0FBQ3RDLHdCQUFPLDZCQUFDLHdDQUFEO0FBQXFCLE1BQUEsR0FBRyxFQUFFQSxJQUFJLENBQUNDLFdBQS9CO0FBQTRDLE1BQUEsSUFBSSxFQUFFRDtBQUFsRCxNQUFQO0FBQ0QsR0FGQSxDQU5ILENBREYsQ0FERjtBQWNELENBbEREOztlQW9EZXRCLG1CIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZDLCB1c2VFZmZlY3QsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgU2FtcGxpbmdzTW9iaWxlSXRlbSB9IGZyb20gJy4vU2FtcGxpbmdzTW9iaWxlSXRlbSc7XG5pbXBvcnQgeyBLYW5kb0xpc3QgfSBmcm9tICdzcmMvdWkta2l0JztcbmltcG9ydCB7IHVzZURpc3BhdGNoLCB1c2VTZWxlY3RvciB9IGZyb20gJ3JlYWN0LXJlZHV4JztcbmltcG9ydCB7IGFwcFJlZHVjZXIgfSBmcm9tICdzcmMvc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0IHsgc2V0U2FtcGxpbmdEYXRhIH0gZnJvbSAnc3JjL3N0b3JlL3NhbXBsaW5ncy9hY3Rpb25zQ3JlYXRvcic7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7XG4gIFNhbXBsaW5nRGF0YSxcbiAgTU9CSUxFX1BBR0lOQVRJT05fUEVSX1BBR0UsXG4gIE1PQklMRV9ERUZBVUxUX1NPUlRGSUVMRCxcbn0gZnJvbSAnLi9zYW1wbGluZ3NQYWdlVXRpbHMnO1xuaW1wb3J0IGkxOG4gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2kxOG4nO1xuXG5jb25zdCBTYW1wbGluZ3NNb2JpbGVTdHlsZSA9IHN0eWxlZC5kaXZgXG4gIGhlaWdodDogY2FsYygxMDB2aCAtIDE2MHB4KTtcbiAgb3ZlcmZsb3cteTogc2Nyb2xsO1xuICBzY3JvbGxiYXItd2lkdGg6IG5vbmU7IC8qIEZGIGhpZGUgc2Nyb2xsYmFyICovXG4gIC1tcy1vdmVyZmxvdy1zdHlsZTogbm9uZTsgLyogSUUxMCsgaGlkZSBzY3JvbGxiYXIgKi9cbiAgJjo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIC8qIFdlYktpdCBoaWRlIHNjcm9sbGJhciAqL1xuICAgIHdpZHRoOiAwO1xuICAgIGhlaWdodDogMDtcbiAgfVxuXG4gIC5ub19kYXRhIHtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIH1cbmA7XG5cbmludGVyZmFjZSBTYW1wbGluZ3NNb2JpbGVMaXN0UHJvcHMge1xuICBzYW1wbGluZ3M6IGFueTtcbn1cblxuY29uc3QgU2FtcGxpbmdzTW9iaWxlTGlzdDogRkM8U2FtcGxpbmdzTW9iaWxlTGlzdFByb3BzPiA9ICh7IHNhbXBsaW5ncyB9KSA9PiB7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcbiAgY29uc3QgW2xvY2FsTGlzdCwgc2V0TG9jYWxMaXN0XSA9IHVzZVN0YXRlPFNhbXBsaW5nRGF0YVtdPihbXSk7XG5cbiAgY29uc3QgeyBpc0ZldGNoLCBjdXJyZW50UGFnZSwgdG90YWxQYWdlcywgcGVyUGFnZSB9ID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT4gc3RhdGUuc2FtcGxpbmdzX2RhdGEsXG4gICk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBkaXNwYXRjaChcbiAgICAgIHNldFNhbXBsaW5nRGF0YSh7XG4gICAgICAgIHBlclBhZ2U6IE1PQklMRV9QQUdJTkFUSU9OX1BFUl9QQUdFLFxuICAgICAgICBvcmRlckJ5OiBNT0JJTEVfREVGQVVMVF9TT1JURklFTEQsXG4gICAgICAgIG9yZGVyRGlyZWN0aW9uOiAnZGVzYycsXG4gICAgICB9KSxcbiAgICApO1xuICB9LCBbXSk7XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAocGVyUGFnZSA+IE1PQklMRV9QQUdJTkFUSU9OX1BFUl9QQUdFKSB7XG4gICAgICByZXR1cm47XG4gICAgfVxuICAgIHNldExvY2FsTGlzdCgocHJldikgPT4gWy4uLnByZXYsIC4uLnNhbXBsaW5nc10pO1xuXG4gICAgcmV0dXJuIGZ1bmN0aW9uIGNsZWFudXAoKSB7XG4gICAgICBzZXRMb2NhbExpc3QoW10pO1xuICAgIH07XG4gIH0sIFtzYW1wbGluZ3NdKTtcblxuICBjb25zdCBoYW5kbGVJc1ZpZXcgPSAoKSA9PiB7XG4gICAgaWYgKGN1cnJlbnRQYWdlID49IHRvdGFsUGFnZXMpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZGlzcGF0Y2goc2V0U2FtcGxpbmdEYXRhKHsgY3VycmVudFBhZ2U6IGN1cnJlbnRQYWdlICsgMSB9KSk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8U2FtcGxpbmdzTW9iaWxlU3R5bGU+XG4gICAgICA8S2FuZG9MaXN0IGhhbmRsZUlzVmlldz17aGFuZGxlSXNWaWV3fSBpc0ZldGNoaW5nPXtpc0ZldGNofT5cbiAgICAgICAge2xvY2FsTGlzdC5sZW5ndGggPT09IDAgJiYgKFxuICAgICAgICAgIDw+XG4gICAgICAgICAgICA8cCBjbGFzc05hbWU9eydub19kYXRhJ30+e2kxOG4udCgnc2FtcGxpbmdzX3BhZ2Uubm9fZGF0YScpfTwvcD5cbiAgICAgICAgICA8Lz5cbiAgICAgICAgKX1cbiAgICAgICAge2xvY2FsTGlzdD8ubWFwKChsaXN0OiBTYW1wbGluZ0RhdGEpID0+IHtcbiAgICAgICAgICByZXR1cm4gPFNhbXBsaW5nc01vYmlsZUl0ZW0ga2V5PXtsaXN0LnNhbXBsaW5nX2lkfSBkYXRhPXtsaXN0fSAvPjtcbiAgICAgICAgfSl9XG4gICAgICA8L0thbmRvTGlzdD5cbiAgICA8L1NhbXBsaW5nc01vYmlsZVN0eWxlPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgU2FtcGxpbmdzTW9iaWxlTGlzdDtcbiJdfQ==