@kando-env/kando-ui 1.2.19 → 1.2.20

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (29) hide show
  1. package/lib/Router.js +14 -4
  2. package/lib/assets/icons/add-photo.svg +2 -9
  3. package/lib/hooks/useInitializeHeaders.js +27 -0
  4. package/lib/i18n/en.json +27 -3
  5. package/lib/i18n/he.json +31 -3
  6. package/lib/macros/getVersion.js +1 -1
  7. package/lib/pages/SamplingsPage/NewSamplingAction.js +290 -0
  8. package/lib/pages/SamplingsPage/SamplingActionDropdown.js +25 -6
  9. package/lib/pages/SamplingsPage/SamplingMobileModal.js +7 -3
  10. package/lib/pages/SamplingsPage/SamplingProperties/ImageDeleteModal.js +74 -0
  11. package/lib/pages/SamplingsPage/SamplingProperties/ImageUpload.js +70 -17
  12. package/lib/pages/SamplingsPage/SamplingProperties/SamplingMobileProperties.js +63 -5
  13. package/lib/pages/SamplingsPage/SamplingProperties/SamplingPropertiesForm.js +245 -70
  14. package/lib/pages/SamplingsPage/SamplingProperties/Trash_Icon.svg +14 -0
  15. package/lib/pages/SamplingsPage/SamplingProperties/samplingPropertiesUtils.js +15 -11
  16. package/lib/pages/SamplingsPage/SamplingsMobileList.js +2 -2
  17. package/lib/pages/SamplingsPage/SamplingsPage.js +27 -29
  18. package/lib/pages/SamplingsPage/SamplingsPageContainer.js +7 -3
  19. package/lib/pages/SamplingsPage/samplingsPageUtils.js +5 -3
  20. package/lib/pages/SamplingsPage/style.module.scss +178 -0
  21. package/lib/ui-kit/DropDown/DropDown.js +1 -1
  22. package/lib/ui-kit/DropDown/DropDownItem.js +1 -1
  23. package/lib/ui-kit/ImageUploadButton/ImageUploadButton.js +89 -28
  24. package/lib/ui-kit/MobileInput/MobileInput.js +109 -50
  25. package/lib/ui-kit/MobileInput/style.module.scss +5 -0
  26. package/lib/utilities/Alert.js +50 -0
  27. package/lib/utilities/uploadToS3.js +52 -0
  28. package/lib/utilities/urls.js +22 -2
  29. package/package.json +4 -1
@@ -0,0 +1,290 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ var _typeof = require("@babel/runtime/helpers/typeof");
6
+
7
+ Object.defineProperty(exports, "__esModule", {
8
+ value: true
9
+ });
10
+ exports.default = void 0;
11
+
12
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
13
+
14
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
15
+
16
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
17
+
18
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
19
+
20
+ var _react = _interopRequireWildcard(require("react"));
21
+
22
+ var _reactBootstrap = require("react-bootstrap");
23
+
24
+ var _freeSolidSvgIcons = require("@fortawesome/free-solid-svg-icons");
25
+
26
+ var _reactDeviceDetect = require("react-device-detect");
27
+
28
+ var _formik = require("formik");
29
+
30
+ var Yup = _interopRequireWildcard(require("yup"));
31
+
32
+ var _reactFontawesome = require("@fortawesome/react-fontawesome");
33
+
34
+ var _reactQuery = require("react-query");
35
+
36
+ var _moment = _interopRequireDefault(require("moment"));
37
+
38
+ var _axios = _interopRequireDefault(require("axios"));
39
+
40
+ var _reactSelect = _interopRequireDefault(require("react-select"));
41
+
42
+ var _reactToastify = require("react-toastify");
43
+
44
+ var _i18n = _interopRequireDefault(require("utilities/i18n"));
45
+
46
+ var _Analytics = require("utilities/Analytics");
47
+
48
+ var _uiKit = require("ui-kit");
49
+
50
+ var _styleModule = _interopRequireDefault(require("./style.module.scss"));
51
+
52
+ var _urls = require("utilities/urls");
53
+
54
+ var _reactRedux = require("react-redux");
55
+
56
+ var _actionsCreator = require("store/samplings/actionsCreator");
57
+
58
+ 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); }
59
+
60
+ 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; }
61
+
62
+ var NewSamplingValidationSchema = Yup.object().shape({
63
+ sampling: Yup.object().shape({
64
+ date: Yup.string().required('Date is required'),
65
+ point_id: Yup.string().required('Site is required')
66
+ })
67
+ });
68
+
69
+ var NewSamplingAction = function NewSamplingAction(_ref) {
70
+ var waterAuthorityId = _ref.waterAuthorityId;
71
+
72
+ var _useState = (0, _react.useState)(false),
73
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
74
+ isOpen = _useState2[0],
75
+ setIsOpen = _useState2[1];
76
+
77
+ var _useSelector = (0, _reactRedux.useSelector)(function (state) {
78
+ return state.samplings_data;
79
+ }),
80
+ perPage = _useSelector.perPage;
81
+
82
+ var dispatch = (0, _reactRedux.useDispatch)();
83
+
84
+ var _useQuery = (0, _reactQuery.useQuery)('selector_points', /*#__PURE__*/(0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee() {
85
+ var waterAuthorityPointsURL, response;
86
+ return _regenerator.default.wrap(function _callee$(_context) {
87
+ while (1) {
88
+ switch (_context.prev = _context.next) {
89
+ case 0:
90
+ waterAuthorityPointsURL = (0, _urls.urls)({
91
+ waterAuthorityId: waterAuthorityId
92
+ }).samplingsPage.getPoints.url;
93
+ _context.next = 3;
94
+ return _axios.default.get(waterAuthorityPointsURL);
95
+
96
+ case 3:
97
+ response = _context.sent;
98
+ return _context.abrupt("return", response.data.data.points);
99
+
100
+ case 5:
101
+ case "end":
102
+ return _context.stop();
103
+ }
104
+ }
105
+ }, _callee);
106
+ }))),
107
+ points = _useQuery.data,
108
+ refetch = _useQuery.refetch;
109
+
110
+ var createSamplingMutation = (0, _reactQuery.useMutation)(function (newSamplingValues) {
111
+ // @ts-ignore
112
+ _axios.default.defaults.headers.common['X-CSRF-TOKEN'] = document.querySelector('[name=csrf-token]').content;
113
+ _axios.default.defaults.headers.common['Content-Type'] = 'application/js';
114
+ return _axios.default.put((0, _urls.urls)({
115
+ waterAuthorityId: waterAuthorityId
116
+ }).samplingsPage.createNewSampling.url, newSamplingValues).then(function (res) {
117
+ _reactToastify.toast.success(_i18n.default.t('samplings_page.sampling_created'), {
118
+ position: 'top-center'
119
+ });
120
+
121
+ setIsOpen(false);
122
+ }).catch(function (e) {
123
+ _reactToastify.toast.error(_i18n.default.t('samplings_page.sampling_not_created'), {
124
+ position: 'top-center'
125
+ });
126
+ });
127
+ }, {
128
+ onSuccess: function onSuccess() {
129
+ // Refresh the samplings hack
130
+ dispatch((0, _actionsCreator.setSamplingData)({
131
+ perPage: perPage - 1
132
+ }));
133
+ dispatch((0, _actionsCreator.setSamplingData)({
134
+ perPage: perPage
135
+ })); // TODO: remove the above refresh hack and replace with the following - check KSD-2922
136
+ // queryClient.invalidateQueries('the_samplings_list');
137
+ }
138
+ });
139
+ (0, _react.useEffect)(function () {
140
+ refetch();
141
+ setIsOpen(false);
142
+ }, [waterAuthorityId]);
143
+ var today = (0, _moment.default)().format('YYYY-MM-DD');
144
+ var newSiteInitialValues = {
145
+ sampling: {
146
+ date: today,
147
+ point_id: '',
148
+ type: 'sampling_type_rapid'
149
+ }
150
+ };
151
+
152
+ var handleNewSamplingSubmit = function handleNewSamplingSubmit(values, actions) {
153
+ createSamplingMutation.mutate(values);
154
+ };
155
+
156
+ var handleOpenPopupAnalytics = function handleOpenPopupAnalytics() {
157
+ (0, _Analytics.analyticsTrack)('Sampling Operation New Sampling Clicked', {
158
+ water_authority: waterAuthorityId
159
+ });
160
+ };
161
+
162
+ var NewSamplingButton = function NewSamplingButton() {
163
+ return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, !_reactDeviceDetect.isMobile && /*#__PURE__*/_react.default.createElement("div", {
164
+ className: _styleModule.default.newSamplerBtn,
165
+ onClick: function onClick() {
166
+ handleOpenPopupAnalytics();
167
+ setIsOpen(!isOpen);
168
+ }
169
+ }, /*#__PURE__*/_react.default.createElement("span", {
170
+ className: _styleModule.default.newButtonText
171
+ }, _i18n.default.t('samplings_page.new_button'), " \xA0"), /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
172
+ icon: _freeSolidSvgIcons.faPlus
173
+ })), _reactDeviceDetect.isMobile && /*#__PURE__*/_react.default.createElement("div", {
174
+ className: _styleModule.default.newSamplerBtnMobile,
175
+ onClick: function onClick() {
176
+ return setIsOpen(!isOpen);
177
+ }
178
+ }, /*#__PURE__*/_react.default.createElement(_reactFontawesome.FontAwesomeIcon, {
179
+ className: _styleModule.default.faPlus,
180
+ icon: _freeSolidSvgIcons.faPlus
181
+ })));
182
+ };
183
+
184
+ return /*#__PURE__*/_react.default.createElement("div", {
185
+ className: _styleModule.default.newSamplingActionDropdown
186
+ }, /*#__PURE__*/_react.default.createElement(NewSamplingButton, null), isOpen && /*#__PURE__*/_react.default.createElement(MenuInputStyle, {
187
+ isOpen: isOpen
188
+ }, /*#__PURE__*/_react.default.createElement(NewSamplingTitle, null, _i18n.default.t('samplings_page.add_new_sampling')), /*#__PURE__*/_react.default.createElement(_formik.Formik, {
189
+ onSubmit: handleNewSamplingSubmit,
190
+ initialValues: newSiteInitialValues,
191
+ validationSchema: NewSamplingValidationSchema
192
+ }, function (_ref3) {
193
+ var _errors$sampling, _errors$sampling2, _errors$sampling3, _errors$sampling4, _errors$sampling5;
194
+
195
+ var handleSubmit = _ref3.handleSubmit,
196
+ handleChange = _ref3.handleChange,
197
+ values = _ref3.values,
198
+ errors = _ref3.errors,
199
+ setFieldValue = _ref3.setFieldValue;
200
+ return /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form, {
201
+ onSubmit: handleSubmit
202
+ }, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Group, null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Label, null, _i18n.default.t('samplings_page.samplings_table_cols.sampling_date')), /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Control, {
203
+ className: "".concat(_styleModule.default.dateInput, " ").concat((errors === null || errors === void 0 ? void 0 : (_errors$sampling = errors.sampling) === null || _errors$sampling === void 0 ? void 0 : _errors$sampling.date) && 'invalid'),
204
+ type: "date",
205
+ name: "sampling.date",
206
+ defaultValue: today,
207
+ onChange: function onChange(e) {
208
+ setFieldValue('sampling.date', e.target.value);
209
+ }
210
+ })), (errors === null || errors === void 0 ? void 0 : (_errors$sampling2 = errors.sampling) === null || _errors$sampling2 === void 0 ? void 0 : _errors$sampling2.date) ? /*#__PURE__*/_react.default.createElement("div", {
211
+ className: _styleModule.default.validationError
212
+ }, errors.sampling.date) : null, /*#__PURE__*/_react.default.createElement(_reactBootstrap.Form.Label, null, _i18n.default.t('samplings_page.samplings_table_cols.site'), /*#__PURE__*/_react.default.createElement("span", {
213
+ className: _styleModule.default.required
214
+ }, "*")), /*#__PURE__*/_react.default.createElement(_reactSelect.default, {
215
+ placeholder: _i18n.default.t('samplings_page.site_placeholder'),
216
+ className: "".concat(_styleModule.default.siteInput, " ").concat((errors === null || errors === void 0 ? void 0 : (_errors$sampling3 = errors.sampling) === null || _errors$sampling3 === void 0 ? void 0 : _errors$sampling3.point_id) && _styleModule.default.invalidBorders),
217
+ name: "sampling.point_id",
218
+ onChange: function onChange(option) {
219
+ setFieldValue('sampling.point_id', option.value);
220
+ },
221
+ isSearchable: true,
222
+ classNamePrefix: 'dashboard-select',
223
+ options: points === null || points === void 0 ? void 0 : points.map(function (pt) {
224
+ return {
225
+ value: pt.point.id,
226
+ label: pt.point.label
227
+ };
228
+ })
229
+ }), (errors === null || errors === void 0 ? void 0 : (_errors$sampling4 = errors.sampling) === null || _errors$sampling4 === void 0 ? void 0 : _errors$sampling4.point_id) && /*#__PURE__*/_react.default.createElement("div", {
230
+ className: _styleModule.default.validationError
231
+ }, errors.sampling.point_id), /*#__PURE__*/_react.default.createElement(_uiKit.MobileInput, {
232
+ className: "".concat(_styleModule.default.typeInput, " ").concat((errors === null || errors === void 0 ? void 0 : (_errors$sampling5 = errors.sampling) === null || _errors$sampling5 === void 0 ? void 0 : _errors$sampling5.type) && _styleModule.default.invalidBorders),
233
+ inputTitle: _i18n.default.t('lab_results_screen.type'),
234
+ value: values.sampling.type,
235
+ name: "sampling.type",
236
+ handleChange: handleChange,
237
+ type: "select",
238
+ mandatory: true
239
+ }, /*#__PURE__*/_react.default.createElement("option", {
240
+ key: "rapid",
241
+ value: "sampling_type_rapid",
242
+ selected: true
243
+ }, _i18n.default.t('sampling_types_mini.sampling_type_rapid')), /*#__PURE__*/_react.default.createElement("option", {
244
+ key: "complex",
245
+ value: "sampling_type_complex"
246
+ }, _i18n.default.t('sampling_types_mini.sampling_type_complex')), /*#__PURE__*/_react.default.createElement("option", {
247
+ key: "both",
248
+ value: "sampling_type_both"
249
+ }, _i18n.default.t('sampling_types_mini.sampling_type_both'))), /*#__PURE__*/_react.default.createElement("div", {
250
+ className: _styleModule.default.buttonsContainer
251
+ }, /*#__PURE__*/_react.default.createElement(_uiKit.Button, {
252
+ onClick: function onClick() {
253
+ return setIsOpen(false);
254
+ },
255
+ variant: "close"
256
+ }, _i18n.default.t('close')), /*#__PURE__*/_react.default.createElement(_uiKit.Button, {
257
+ className: _styleModule.default.buttonCreate,
258
+ outline: true,
259
+ variant: _uiKit.variant.SECONDARY,
260
+ type: "submit"
261
+ }, _i18n.default.t('samplings_page.create_button'))));
262
+ })));
263
+ };
264
+
265
+ var NewSamplingTitle = _styledComponents.default.p.withConfig({
266
+ displayName: "NewSamplingAction__NewSamplingTitle",
267
+ componentId: "sc-1koa4p7-0"
268
+ })(["font-weight:", ";"], function (_ref4) {
269
+ var theme = _ref4.theme;
270
+ return theme.fontWeight.w700;
271
+ });
272
+
273
+ var MenuInputStyle = _styledComponents.default.div.attrs(function (props) {
274
+ return {
275
+ isOpen: props.isOpen
276
+ };
277
+ }).withConfig({
278
+ displayName: "NewSamplingAction__MenuInputStyle",
279
+ componentId: "sc-1koa4p7-1"
280
+ })(["padding:33px 28px;position:absolute;right:16px;top:140px;z-index:", ";min-height:400px;width:390px;background-color:", ";border:1px solid #a6acb9;box-shadow:0 1px 3px #e3e3e3;.rtl &{right:unset;left:16px;}*{font-family:Nunito,Gilroy,Arial,Helvetica,sans-serif;}animation:transition-in 444ms,fade-in 444ms;@keyframes transition-in{from{transform:translateX(200px);}to{transform:translateX(0);}}@keyframes fade-in{0%{opacity:0;}100%{opacity:1;}}@media (max-width:480px){top:auto;width:100vw;right:0;bottom:0;}"], function (_ref5) {
281
+ var theme = _ref5.theme;
282
+ return theme.zIndexes.modal;
283
+ }, function (_ref6) {
284
+ var theme = _ref6.theme;
285
+ return theme.colorScheme.natural.n1;
286
+ });
287
+
288
+ var _default = NewSamplingAction;
289
+ exports.default = _default;
290
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL05ld1NhbXBsaW5nQWN0aW9uLnRzeCJdLCJuYW1lcyI6WyJOZXdTYW1wbGluZ1ZhbGlkYXRpb25TY2hlbWEiLCJZdXAiLCJvYmplY3QiLCJzaGFwZSIsInNhbXBsaW5nIiwiZGF0ZSIsInN0cmluZyIsInJlcXVpcmVkIiwicG9pbnRfaWQiLCJOZXdTYW1wbGluZ0FjdGlvbiIsIndhdGVyQXV0aG9yaXR5SWQiLCJpc09wZW4iLCJzZXRJc09wZW4iLCJzdGF0ZSIsInNhbXBsaW5nc19kYXRhIiwicGVyUGFnZSIsImRpc3BhdGNoIiwid2F0ZXJBdXRob3JpdHlQb2ludHNVUkwiLCJzYW1wbGluZ3NQYWdlIiwiZ2V0UG9pbnRzIiwidXJsIiwiYXhpb3MiLCJnZXQiLCJyZXNwb25zZSIsImRhdGEiLCJwb2ludHMiLCJyZWZldGNoIiwiY3JlYXRlU2FtcGxpbmdNdXRhdGlvbiIsIm5ld1NhbXBsaW5nVmFsdWVzIiwiZGVmYXVsdHMiLCJoZWFkZXJzIiwiY29tbW9uIiwiZG9jdW1lbnQiLCJxdWVyeVNlbGVjdG9yIiwiY29udGVudCIsInB1dCIsImNyZWF0ZU5ld1NhbXBsaW5nIiwidGhlbiIsInJlcyIsInRvYXN0Iiwic3VjY2VzcyIsImkxOG4iLCJ0IiwicG9zaXRpb24iLCJjYXRjaCIsImUiLCJlcnJvciIsIm9uU3VjY2VzcyIsInRvZGF5IiwiZm9ybWF0IiwibmV3U2l0ZUluaXRpYWxWYWx1ZXMiLCJ0eXBlIiwiaGFuZGxlTmV3U2FtcGxpbmdTdWJtaXQiLCJ2YWx1ZXMiLCJhY3Rpb25zIiwibXV0YXRlIiwiaGFuZGxlT3BlblBvcHVwQW5hbHl0aWNzIiwid2F0ZXJfYXV0aG9yaXR5IiwiTmV3U2FtcGxpbmdCdXR0b24iLCJpc01vYmlsZSIsIlN0eWxlIiwibmV3U2FtcGxlckJ0biIsIm5ld0J1dHRvblRleHQiLCJmYVBsdXMiLCJuZXdTYW1wbGVyQnRuTW9iaWxlIiwibmV3U2FtcGxpbmdBY3Rpb25Ecm9wZG93biIsImhhbmRsZVN1Ym1pdCIsImhhbmRsZUNoYW5nZSIsImVycm9ycyIsInNldEZpZWxkVmFsdWUiLCJkYXRlSW5wdXQiLCJ0YXJnZXQiLCJ2YWx1ZSIsInZhbGlkYXRpb25FcnJvciIsInNpdGVJbnB1dCIsImludmFsaWRCb3JkZXJzIiwib3B0aW9uIiwibWFwIiwicHQiLCJwb2ludCIsImlkIiwibGFiZWwiLCJ0eXBlSW5wdXQiLCJidXR0b25zQ29udGFpbmVyIiwiYnV0dG9uQ3JlYXRlIiwidmFyaWFudCIsIlNFQ09OREFSWSIsIk5ld1NhbXBsaW5nVGl0bGUiLCJzdHlsZWQiLCJwIiwidGhlbWUiLCJmb250V2VpZ2h0IiwidzcwMCIsIk1lbnVJbnB1dFN0eWxlIiwiZGl2IiwiYXR0cnMiLCJwcm9wcyIsInpJbmRleGVzIiwibW9kYWwiLCJjb2xvclNjaGVtZSIsIm5hdHVyYWwiLCJuMSJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUVBOzs7Ozs7QUE2QkEsSUFBTUEsMkJBQTJCLEdBQUdDLEdBQUcsQ0FBQ0MsTUFBSixHQUFhQyxLQUFiLENBQW1CO0FBQ3JEQyxFQUFBQSxRQUFRLEVBQUVILEdBQUcsQ0FBQ0MsTUFBSixHQUFhQyxLQUFiLENBQW1CO0FBQzNCRSxJQUFBQSxJQUFJLEVBQUVKLEdBQUcsQ0FBQ0ssTUFBSixHQUFhQyxRQUFiLENBQXNCLGtCQUF0QixDQURxQjtBQUUzQkMsSUFBQUEsUUFBUSxFQUFFUCxHQUFHLENBQUNLLE1BQUosR0FBYUMsUUFBYixDQUFzQixrQkFBdEI7QUFGaUIsR0FBbkI7QUFEMkMsQ0FBbkIsQ0FBcEM7O0FBT0EsSUFBTUUsaUJBQTZDLEdBQUcsU0FBaERBLGlCQUFnRCxPQUVoRDtBQUFBLE1BREpDLGdCQUNJLFFBREpBLGdCQUNJOztB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QUFPLEVBQUM7QUFBakQsT0FDRzZCLGNBQUtDLENBQUwsQ0FBTyxPQUFQLENBREgsQ0FERixlQUlFLDZCQUFDLGFBQUQ7QUFDRSxNQUFBLFNBQVMsRUFBRWtCLHFCQUFNd0IsWUFEbkI7QUFFRSxNQUFBLE9BQU8sRUFBRSxJQUZYO0FBR0UsTUFBQSxPQUFPLEVBQUVDLGVBQVFDLFNBSG5CO0FBSUUsTUFBQSxJQUFJLEVBQUM7QUFKUCxPQU1HN0MsY0FBS0MsQ0FBTCxDQUFPLDhCQUFQLENBTkgsQ0FKRixDQTdFRixDQVBEO0FBQUEsR0FMSCxDQUpGLENBSEosQ0FERjtBQXFIRCxDQWhPRDs7QUFrT0EsSUFBTTZDLGdCQUFnQixHQUFHQywwQkFBT0MsQ0FBVjtBQUFBO0FBQUE7QUFBQSwwQkFDTDtBQUFBLE1BQUdDLEtBQUgsU0FBR0EsS0FBSDtBQUFBLFNBQWVBLEtBQUssQ0FBQ0MsVUFBTixDQUFpQkMsSUFBaEM7QUFBQSxDQURLLENBQXRCOztBQUlBLElBQU1DLGNBQWMsR0FBR0wsMEJBQU9NLEdBQVAsQ0FBV0MsS0FBWCxDQUFpQixVQUFDQyxLQUFEO0FBQUEsU0FBNEI7QUFDbEVyRixJQUFBQSxNQUFNLEVBQUVxRixLQUFLLENBQUNyRjtBQURvRCxHQUE1QjtBQUFBLENBQWpCLENBQUg7QUFBQTtBQUFBO0FBQUEsb2dCQU9QO0FBQUEsTUFBRytFLEtBQUgsU0FBR0EsS0FBSDtBQUFBLFNBQWVBLEtBQUssQ0FBQ08sUUFBTixDQUFlQyxLQUE5QjtBQUFBLENBUE8sRUFVRTtBQUFBLE1BQUdSLEtBQUgsU0FBR0EsS0FBSDtBQUFBLFNBQWVBLEtBQUssQ0FBQ1MsV0FBTixDQUFrQkMsT0FBbEIsQ0FBMEJDLEVBQXpDO0FBQUEsQ0FWRixDQUFwQjs7ZUFrRGU1RixpQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBGQywgdXNlRWZmZWN0LCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IEZvcm0gfSBmcm9tICdyZWFjdC1ib290c3RyYXAnO1xuaW1wb3J0IHsgZmFQbHVzIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgaXNNb2JpbGUgfSBmcm9tICdyZWFjdC1kZXZpY2UtZGV0ZWN0JztcbmltcG9ydCB7IEZvcm1payB9IGZyb20gJ2Zvcm1payc7XG5pbXBvcnQgKiBhcyBZdXAgZnJvbSAneXVwJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSc7XG5pbXBvcnQgeyB1c2VRdWVyeSwgdXNlTXV0YXRpb24gfSBmcm9tICdyZWFjdC1xdWVyeSc7XG5pbXBvcnQgbW9tZW50IGZyb20gJ21vbWVudCc7XG5pbXBvcnQgYXhpb3MgZnJvbSAnYXhpb3MnO1xuaW1wb3J0IFNlbGVjdCBmcm9tICdyZWFjdC1zZWxlY3QnO1xuaW1wb3J0IHsgdG9hc3QgfSBmcm9tICdyZWFjdC10b2FzdGlmeSc7XG5cbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgeyBhbmFseXRpY3NUcmFjayB9IGZyb20gJ3NyYy91dGlsaXRpZXMvQW5hbHl0aWNzJztcbmltcG9ydCB7IEJ1dHRvbiwgTW9iaWxlSW5wdXQsIHZhcmlhbnQgfSBmcm9tICdzcmMvdWkta2l0JztcbmltcG9ydCBTdHlsZSBmcm9tICcuL3N0eWxlLm1vZHVsZS5zY3NzJztcbmltcG9ydCB7IHVybHMgfSBmcm9tICdzcmMvdXRpbGl0aWVzL3VybHMnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJ3NyYy9zdG9yZS9yb290UmVkdWNlcic7XG5pbXBvcnQgeyBzZXRTYW1wbGluZ0RhdGEgfSBmcm9tICdzcmMvc3RvcmUvc2FtcGxpbmdzL2FjdGlvbnNDcmVhdG9yJztcblxuaW50ZXJmYWNlIE5ld1NpdGVJbnB1dHMge1xuICBzYW1wbGluZzoge1xuICAgIGRhdGU6IHN0cmluZztcbiAgICBwb2ludF9pZDogc3RyaW5nO1xuICAgIHR5cGU6IHN0cmluZztcbiAgfTtcbn1cblxuaW50ZXJmYWNlIFBvaW50UHJvcHMge1xuICBwb2ludDoge1xuICAgIGlkOiBudW1iZXI7XG4gICAgbGFiZWw6IHN0cmluZztcbiAgfTtcbn1cbnR5cGUgR2V0UG9pbnRzUmVzcG9uc2UgPSB7XG4gIGRhdGE6IHtcbiAgICBwb2ludHM6IFBvaW50UHJvcHNbXTtcbiAgfTtcbn07XG5pbnRlcmZhY2UgTWVudUlucHV0UHJvcHMge1xuICBpc09wZW46IGJvb2xlYW47XG59XG5cbnR5cGUgTmV3U2FtcGxpbmdBY3Rpb25Qcm9wcyA9IHtcbiAgd2F0ZXJBdXRob3JpdHlJZDogbnVtYmVyO1xufTtcblxuY29uc3QgTmV3U2FtcGxpbmdWYWxpZGF0aW9uU2NoZW1hID0gWXVwLm9iamVjdCgpLnNoYXBlKHtcbiAgc2FtcGxpbmc6IFl1cC5vYmplY3QoKS5zaGFwZSh7XG4gICAgZGF0ZTogWXVwLnN0cmluZygpLnJlcXVpcmVkKCdEYXRlIGlzIHJlcXVpcmVkJyksXG4gICAgcG9pbnRfaWQ6IFl1cC5zdHJpbmcoKS5yZXF1aXJlZCgnU2l0ZSBpcyByZXF1aXJlZCcpLFxuICB9KSxcbn0pO1xuXG5jb25zdCBOZXdTYW1wbGluZ0FjdGlvbjogRkM8TmV3U2FtcGxpbmdBY3Rpb25Qcm9wcz4gPSAoe1xuICB3YXRlckF1dGhvcml0eUlkLFxufSkgPT4ge1xuICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpO1xuXG4gIGNvbnN0IHsgcGVyUGFnZSB9ID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT4gc3RhdGUuc2FtcGxpbmdzX2RhdGEsXG4gICk7XG4gIGNvbnN0IGRpc3BhdGNoID0gdXNlRGlzcGF0Y2goKTtcblxuICBjb25zdCB7IGRhdGE6IHBvaW50cywgcmVmZXRjaCB9ID0gdXNlUXVlcnkoJ3NlbGVjdG9yX3BvaW50cycsIGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB3YXRlckF1dGhvcml0eVBvaW50c1VSTCA9IHVybHMoeyB3YXRlckF1dGhvcml0eUlkIH0pLnNhbXBsaW5nc1BhZ2VcbiAgICAgIC5nZXRQb2ludHMudXJsO1xuICAgIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgYXhpb3MuZ2V0PEdldFBvaW50c1Jlc3BvbnNlPihcbiAgICAgIHdhdGVyQXV0aG9yaXR5UG9pbnRzVVJMLFxuICAgICk7XG4gICAgcmV0dXJuIHJlc3BvbnNlLmRhdGEuZGF0YS5wb2ludHM7XG4gIH0pO1xuXG4gIGNvbnN0IGNyZWF0ZVNhbXBsaW5nTXV0YXRpb24gPSB1c2VNdXRhdGlvbihcbiAgICAobmV3U2FtcGxpbmdWYWx1ZXMpID0+IHtcbiAgICAgIC8vIEB0cy1pZ25vcmVcbiAgICAgIGF4aW9zLmRlZmF1bHRzLmhlYWRlcnMuY29tbW9uWydYLUNTUkYtVE9LRU4nXSA9XG4gICAgICAgIGRvY3VtZW50LnF1ZXJ5U2VsZWN0b3IoJ1tuYW1lPWNzcmYtdG9rZW5dJykuY29udGVudDtcbiAgICAgIGF4aW9zLmRlZmF1bHRzLmhlYWRlcnMuY29tbW9uWydDb250ZW50LVR5cGUnXSA9ICdhcHBsaWNhdGlvbi9qcyc7XG4gICAgICByZXR1cm4gYXhpb3NcbiAgICAgICAgLnB1dChcbiAgICAgICAgICB1cmxzKHsgd2F0ZXJBdXRob3JpdHlJZCB9KS5zYW1wbGluZ3NQYWdlLmNyZWF0ZU5ld1NhbXBsaW5nLnVybCxcbiAgICAgICAgICBuZXdTYW1wbGluZ1ZhbHVlcyxcbiAgICAgICAgKVxuICAgICAgICAudGhlbigocmVzKSA9PiB7XG4gICAgICAgICAgdG9hc3Quc3VjY2VzcyhpMThuLnQoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nX2NyZWF0ZWQnKSwge1xuICAgICAgICAgICAgcG9zaXRpb246ICd0b3AtY2VudGVyJyxcbiAgICAgICAgICB9KTtcbiAgICAgICAgICBzZXRJc09wZW4oZmFsc2UpO1xuICAgICAgICB9KVxuICAgICAgICAuY2F0Y2goKGUpID0+IHtcbiAgICAgICAgICB0b2FzdC5lcnJvcihpMThuLnQoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nX25vdF9jcmVhdGVkJyksIHtcbiAgICAgICAgICAgIHBvc2l0aW9uOiAndG9wLWNlbnRlcicsXG4gICAgICAgICAgfSk7XG4gICAgICAgIH0pO1xuICAgIH0sXG4gICAge1xuICAgICAgb25TdWNjZXNzOiAoKSA9PiB7XG4gICAgICAgIC8vIFJlZnJlc2ggdGhlIHNhbXBsaW5ncyBoYWNrXG4gICAgICAgIGRpc3BhdGNoKHNldFNhbXBsaW5nRGF0YSh7IHBlclBhZ2U6IHBlclBhZ2UgLSAxIH0pKTtcbiAgICAgICAgZGlzcGF0Y2goc2V0U2FtcGxpbmdEYXRhKHsgcGVyUGFnZTogcGVyUGFnZSB9KSk7XG4gICAgICAgIC8vIFRPRE86IHJlbW92ZSB0aGUgYWJvdmUgcmVmcmVzaCBoYWNrIGFuZCByZXBsYWNlIHdpdGggdGhlIGZvbGxvd2luZyAtIGNoZWNrIEtTRC0yOTIyXG4gICAgICAgIC8vIHF1ZXJ5Q2xpZW50LmludmFsaWRhdGVRdWVyaWVzKCd0aGVfc2FtcGxpbmdzX2xpc3QnKTtcbiAgICAgIH0sXG4gICAgfSxcbiAgKTtcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIHJlZmV0Y2goKTtcbiAgICBzZXRJc09wZW4oZmFsc2UpO1xuICB9LCBbd2F0ZXJBdXRob3JpdHlJZF0pO1xuXG4gIGNvbnN0IHRvZGF5ID0gbW9tZW50KCkuZm9ybWF0KCdZWVlZLU1NLUREJyk7XG5cbiAgY29uc3QgbmV3U2l0ZUluaXRpYWxWYWx1ZXM6IE5ld1NpdGVJbnB1dHMgPSB7XG4gICAgc2FtcGxpbmc6IHtcbiAgICAgIGRhdGU6IHRvZGF5LFxuICAgICAgcG9pbnRfaWQ6ICcnLFxuICAgICAgdHlwZTogJ3NhbXBsaW5nX3R5cGVfcmFwaWQnLFxuICAgIH0sXG4gIH07XG5cbiAgY29uc3QgaGFuZGxlTmV3U2FtcGxpbmdTdWJtaXQgPSAodmFsdWVzLCBhY3Rpb25zKSA9PiB7XG4gICAgY3JlYXRlU2FtcGxpbmdNdXRhdGlvbi5tdXRhdGUodmFsdWVzKTtcbiAgfTtcblxuICBjb25zdCBoYW5kbGVPcGVuUG9wdXBBbmFseXRpY3MgPSAoKSA9PiB7XG4gICAgYW5hbHl0aWNzVHJhY2soJ1NhbXBsaW5nIE9wZXJhdGlvbiBOZXcgU2FtcGxpbmcgQ2xpY2tlZCcsIHtcbiAgICAgIHdhdGVyX2F1dGhvcml0eTogd2F0ZXJBdXRob3JpdHlJZCxcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBOZXdTYW1wbGluZ0J1dHRvbiA9ICgpID0+IHtcbiAgICByZXR1cm4gKFxuICAgICAgPD5cbiAgICAgICAgeyFpc01vYmlsZSAmJiAoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtTdHlsZS5uZXdTYW1wbGVyQnRufVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICBoYW5kbGVPcGVuUG9wdXBBbmFseXRpY3MoKTtcbiAgICAgICAgICAgICAgc2V0SXNPcGVuKCFpc09wZW4pO1xuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9e1N0eWxlLm5ld0J1dHRvblRleHR9PlxuICAgICAgICAgICAgICB7aTE4bi50KCdzYW1wbGluZ3NfcGFnZS5uZXdfYnV0dG9uJyl9ICZuYnNwO1xuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPEZvbnRBd2Vzb21lSWNvbiBpY29uPXtmYVBsdXN9IC8+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICAgIHtpc01vYmlsZSAmJiAoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgY2xhc3NOYW1lPXtTdHlsZS5uZXdTYW1wbGVyQnRuTW9iaWxlfVxuICAgICAgICAgICAgb25DbGljaz17KCkgPT4gc2V0SXNPcGVuKCFpc09wZW4pfVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxGb250QXdlc29tZUljb24gY2xhc3NOYW1lPXtTdHlsZS5mYVBsdXN9IGljb249e2ZhUGx1c30gLz5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgIDwvPlxuICAgICk7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2IGNsYXNzTmFtZT17U3R5bGUubmV3U2FtcGxpbmdBY3Rpb25Ecm9wZG93bn0+XG4gICAgICA8TmV3U2FtcGxpbmdCdXR0b24gLz5cbiAgICAgIHtpc09wZW4gJiYgKFxuICAgICAgICA8TWVudUlucHV0U3R5bGUgaXNPcGVuPXtpc09wZW59PlxuICAgICAgICAgIDxOZXdTYW1wbGluZ1RpdGxlPlxuICAgICAgICAgICAge2kxOG4udCgnc2FtcGxpbmdzX3BhZ2UuYWRkX25ld19zYW1wbGluZycpfVxuICAgICAgICAgIDwvTmV3U2FtcGxpbmdUaXRsZT5cbiAgICAgICAgICA8Rm9ybWlrXG4gICAgICAgICAgICBvblN1Ym1pdD17aGFuZGxlTmV3U2FtcGxpbmdTdWJtaXR9XG4gICAgICAgICAgICBpbml0aWFsVmFsdWVzPXtuZXdTaXRlSW5pdGlhbFZhbHVlc31cbiAgICAgICAgICAgIHZhbGlkYXRpb25TY2hlbWE9e05ld1NhbXBsaW5nVmFsaWRhdGlvblNjaGVtYX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICB7KHtcbiAgICAgICAgICAgICAgaGFuZGxlU3VibWl0LFxuICAgICAgICAgICAgICBoYW5kbGVDaGFuZ2UsXG4gICAgICAgICAgICAgIHZhbHVlcyxcbiAgICAgICAgICAgICAgZXJyb3JzLFxuICAgICAgICAgICAgICBzZXRGaWVsZFZhbHVlLFxuICAgICAgICAgICAgfSkgPT4gKFxuICAgICAgICAgICAgICA8Rm9ybSBvblN1Ym1pdD17aGFuZGxlU3VibWl0fT5cbiAgICAgICAgICAgICAgICA8Rm9ybS5Hcm91cD5cbiAgICAgICAgICAgICAgICAgIDxGb3JtLkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICB7aTE4bi50KFxuICAgICAgICAgICAgICAgICAgICAgICdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfdGFibGVfY29scy5zYW1wbGluZ19kYXRlJyxcbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgIDwvRm9ybS5MYWJlbD5cbiAgICAgICAgICAgICAgICAgIDxGb3JtLkNvbnRyb2xcbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtTdHlsZS5kYXRlSW5wdXR9ICR7XG4gICAgICAgICAgICAgICAgICAgICAgZXJyb3JzPy5zYW1wbGluZz8uZGF0ZSAmJiAnaW52YWxpZCdcbiAgICAgICAgICAgICAgICAgICAgfWB9XG4gICAgICAgICAgICAgICAgICAgIHR5cGU9XCJkYXRlXCJcbiAgICAgICAgICAgICAgICAgICAgbmFtZT1cInNhbXBsaW5nLmRhdGVcIlxuICAgICAgICAgICAgICAgICAgICBkZWZhdWx0VmFsdWU9e3RvZGF5fVxuICAgICAgICAgICAgICAgICAgICBvbkNoYW5nZT17KGUpID0+IHtcbiAgICAgICAgICAgICAgICAgICAgICBzZXRGaWVsZFZhbHVlKCdzYW1wbGluZy5kYXRlJywgZS50YXJnZXQudmFsdWUpO1xuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L0Zvcm0uR3JvdXA+XG4gICAgICAgICAgICAgICAge2Vycm9ycz8uc2FtcGxpbmc/LmRhdGUgPyAoXG4gICAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT17U3R5bGUudmFsaWRhdGlvbkVycm9yfT5cbiAgICAgICAgICAgICAgICAgICAge2Vycm9ycy5zYW1wbGluZy5kYXRlfVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgKSA6IG51bGx9XG5cbiAgICAgICAgICAgICAgICA8Rm9ybS5MYWJlbD5cbiAgICAgICAgICAgICAgICAgIHtpMThuLnQoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nc190YWJsZV9jb2xzLnNpdGUnKX1cbiAgICAgICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT17U3R5bGUucmVxdWlyZWR9Pio8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9Gb3JtLkxhYmVsPlxuICAgICAgICAgICAgICAgIDxTZWxlY3RcbiAgICAgICAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtpMThuLnQoJ3NhbXBsaW5nc19wYWdlLnNpdGVfcGxhY2Vob2xkZXInKX1cbiAgICAgICAgICAgICAgICAgIGNsYXNzTmFtZT17YCR7U3R5bGUuc2l0ZUlucHV0fSAke1xuICAgICAgICAgICAgICAgICAgICBlcnJvcnM/LnNhbXBsaW5nPy5wb2ludF9pZCAmJiBTdHlsZS5pbnZhbGlkQm9yZGVyc1xuICAgICAgICAgICAgICAgICAgfWB9XG4gICAgICAgICAgICAgICAgICBuYW1lPVwic2FtcGxpbmcucG9pbnRfaWRcIlxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9eyhvcHRpb246IGFueSkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBzZXRGaWVsZFZhbHVlKCdzYW1wbGluZy5wb2ludF9pZCcsIG9wdGlvbi52YWx1ZSk7XG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgaXNTZWFyY2hhYmxlPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lUHJlZml4PXsnZGFzaGJvYXJkLXNlbGVjdCd9XG4gICAgICAgICAgICAgICAgICBvcHRpb25zPXtwb2ludHM/Lm1hcCgocHQ6IFBvaW50UHJvcHMpID0+ICh7XG4gICAgICAgICAgICAgICAgICAgIHZhbHVlOiBwdC5wb2ludC5pZCxcbiAgICAgICAgICAgICAgICAgICAgbGFiZWw6IHB0LnBvaW50LmxhYmVsLFxuICAgICAgICAgICAgICAgICAgfSkpfVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAge2Vycm9ycz8uc2FtcGxpbmc/LnBvaW50X2lkICYmIChcbiAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtTdHlsZS52YWxpZGF0aW9uRXJyb3J9PlxuICAgICAgICAgICAgICAgICAgICB7ZXJyb3JzLnNhbXBsaW5nLnBvaW50X2lkfVxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICAgIDxNb2JpbGVJbnB1dFxuICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtgJHtTdHlsZS50eXBlSW5wdXR9ICR7XG4gICAgICAgICAgICAgICAgICAgIGVycm9ycz8uc2FtcGxpbmc/LnR5cGUgJiYgU3R5bGUuaW52YWxpZEJvcmRlcnNcbiAgICAgICAgICAgICAgICAgIH1gfVxuICAgICAgICAgICAgICAgICAgaW5wdXRUaXRsZT17aTE4bi50KCdsYWJfcmVzdWx0c19zY3JlZW4udHlwZScpfVxuICAgICAgICAgICAgICAgICAgdmFsdWU9e3ZhbHVlcy5zYW1wbGluZy50eXBlfVxuICAgICAgICAgICAgICAgICAgbmFtZT1cInNhbXBsaW5nLnR5cGVcIlxuICAgICAgICAgICAgICAgICAgaGFuZGxlQ2hhbmdlPXtoYW5kbGVDaGFuZ2V9XG4gICAgICAgICAgICAgICAgICB0eXBlPVwic2VsZWN0XCJcbiAgICAgICAgICAgICAgICAgIG1hbmRhdG9yeT17dHJ1ZX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8b3B0aW9uXG4gICAgICAgICAgICAgICAgICAgIGtleT1cInJhcGlkXCJcbiAgICAgICAgICAgICAgICAgICAgdmFsdWU9XCJzYW1wbGluZ190eXBlX3JhcGlkXCJcbiAgICAgICAgICAgICAgICAgICAgc2VsZWN0ZWQ9e3RydWV9XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHtpMThuLnQoJ3NhbXBsaW5nX3R5cGVzX21pbmkuc2FtcGxpbmdfdHlwZV9yYXBpZCcpfVxuICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICA8b3B0aW9uIGtleT1cImNvbXBsZXhcIiB2YWx1ZT1cInNhbXBsaW5nX3R5cGVfY29tcGxleFwiPlxuICAgICAgICAgICAgICAgICAgICB7aTE4bi50KCdzYW1wbGluZ190eXBlc19taW5pLnNhbXBsaW5nX3R5cGVfY29tcGxleCcpfVxuICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgICA8b3B0aW9uIGtleT1cImJvdGhcIiB2YWx1ZT1cInNhbXBsaW5nX3R5cGVfYm90aFwiPlxuICAgICAgICAgICAgICAgICAgICB7aTE4bi50KCdzYW1wbGluZ190eXBlc19taW5pLnNhbXBsaW5nX3R5cGVfYm90aCcpfVxuICAgICAgICAgICAgICAgICAgPC9vcHRpb24+XG4gICAgICAgICAgICAgICAgPC9Nb2JpbGVJbnB1dD5cblxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPXtTdHlsZS5idXR0b25zQ29udGFpbmVyfT5cbiAgICAgICAgICAgICAgICAgIDxCdXR0b24gb25DbGljaz17KCkgPT4gc2V0SXNPcGVuKGZhbHNlKX0gdmFyaWFudD1cImNsb3NlXCI+XG4gICAgICAgICAgICAgICAgICAgIHtpMThuLnQoJ2Nsb3NlJyl9XG4gICAgICAgICAgICAgICAgICA8L0J1dHRvbj5cbiAgICAgICAgICAgICAgICAgIDxCdXR0b25cbiAgICAgICAgICAgICAgICAgICAgY2xhc3NOYW1lPXtTdHlsZS5idXR0b25DcmVhdGV9XG4gICAgICAgICAgICAgICAgICAgIG91dGxpbmU9e3RydWV9XG4gICAgICAgICAgICAgICAgICAgIHZhcmlhbnQ9e3ZhcmlhbnQuU0VDT05EQVJZfVxuICAgICAgICAgICAgICAgICAgICB0eXBlPVwic3VibWl0XCJcbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge2kxOG4udCgnc2FtcGxpbmdzX3BhZ2UuY3JlYXRlX2J1dHRvbicpfVxuICAgICAgICAgICAgICAgICAgPC9CdXR0b24+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvRm9ybT5cbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Gb3JtaWs+XG4gICAgICAgIDwvTWVudUlucHV0U3R5bGU+XG4gICAgICApfVxuICAgIDwvZGl2PlxuICApO1xufTtcblxuY29uc3QgTmV3U2FtcGxpbmdUaXRsZSA9IHN0eWxlZC5wYFxuICBmb250LXdlaWdodDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5mb250V2VpZ2h0Lnc3MDB9O1xuYDtcblxuY29uc3QgTWVudUlucHV0U3R5bGUgPSBzdHlsZWQuZGl2LmF0dHJzKChwcm9wczogTWVudUlucHV0UHJvcHMpID0+ICh7XG4gIGlzT3BlbjogcHJvcHMuaXNPcGVuLFxufSkpYFxuICBwYWRkaW5nOiAzM3B4IDI4cHg7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgcmlnaHQ6IDE2cHg7XG4gIHRvcDogMTQwcHg7XG4gIHotaW5kZXg6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuekluZGV4ZXMubW9kYWx9O1xuICBtaW4taGVpZ2h0OiA0MDBweDtcbiAgd2lkdGg6IDM5MHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjF9O1xuICBib3JkZXI6IDFweCBzb2xpZCAjYTZhY2I5O1xuICBib3gtc2hhZG93OiAwIDFweCAzcHggI2UzZTNlMztcblxuICAucnRsICYge1xuICAgIHJpZ2h0OiB1bnNldDtcbiAgICBsZWZ0OiAxNnB4O1xuICB9XG5cbiAgKiB7XG4gICAgZm9udC1mYW1pbHk6IE51bml0bywgR2lscm95LCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICB9XG5cbiAgYW5pbWF0aW9uOiB0cmFuc2l0aW9uLWluIDQ0NG1zLCBmYWRlLWluIDQ0NG1zO1xuICBAa2V5ZnJhbWVzIHRyYW5zaXRpb24taW4ge1xuICAgIGZyb20ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDIwMHB4KTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgIH1cbiAgfVxuICBAa2V5ZnJhbWVzIGZhZGUtaW4ge1xuICAgIDAlIHtcbiAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gIH1cblxuICAvKiBVc2UgNDgwcHggYXMgbW9iaWxlJ3MgbWF4LXdpZHRoICovXG4gIEBtZWRpYSAobWF4LXdpZHRoOiA0ODBweCkge1xuICAgIHRvcDogYXV0bztcbiAgICB3aWR0aDogMTAwdnc7XG4gICAgcmlnaHQ6IDA7XG4gICAgYm90dG9tOiAwO1xuICB9XG5gO1xuXG5leHBvcnQgZGVmYXVsdCBOZXdTYW1wbGluZ0FjdGlvbjtcbiJdfQ==
@@ -21,24 +21,43 @@ var _dotsGen = require("@svgr/webpack?-svgo!assets/icons/3-dots-gen.svg");
21
21
 
22
22
  var _reactRouterDom = require("react-router-dom");
23
23
 
24
+ var _actionsCreator = require("../../store/samplings/actionsCreator");
25
+
26
+ var _urls = require("../../utilities/urls");
27
+
28
+ var _reactRedux = require("react-redux");
29
+
30
+ var _i18n = _interopRequireDefault(require("../../utilities/i18n"));
31
+
24
32
  var ToggleStyle = _styledComponents.default.div.withConfig({
25
33
  displayName: "SamplingActionDropdown__ToggleStyle",
26
34
  componentId: "sc-16z8rtj-0"
27
- })(["height:20px;width:20px;cursor:pointer;text-align:center;fill:", ";.show.dropdown &{fill:#E31B62;}"], function (_ref) {
35
+ })(["height:20px;width:20px;cursor:pointer;text-align:center;fill:", ";.show.dropdown &{fill:#e31b62;}"], function (_ref) {
28
36
  var theme = _ref.theme;
29
37
  return theme.colorScheme.natural.n90;
30
38
  });
31
39
 
32
- var SamplingActionDropdown = function SamplingActionDropdown() {
40
+ var SamplingActionDropdown = function SamplingActionDropdown(props) {
41
+ var sampling = props.sampling;
33
42
  var history = (0, _reactRouterDom.useHistory)();
43
+ var dispatch = (0, _reactRedux.useDispatch)();
44
+ var navContext = (0, _reactRedux.useSelector)(function (state) {
45
+ return state.nav_context_data.navContext;
46
+ });
34
47
 
35
48
  var handleClick = function handleClick() {
36
- return (0, _Analytics.analyticsTrack)("Open web action");
49
+ (0, _Analytics.analyticsTrack)("Open web action");
37
50
  };
38
51
 
39
52
  var handleItemClick = function handleItemClick(item) {
40
- console.log('in handleItemClick()');
41
- if (item.href) history.push(item.href);
53
+ if (item.id === _i18n.default.t('samplings_page.collect')) {
54
+ dispatch((0, _actionsCreator.getSamplingById)(sampling.id));
55
+ var samplingPropertiesRoute = (0, _urls.urls)({
56
+ id: sampling.id,
57
+ locale: navContext.locale
58
+ }).samplingsPage.samplingPropertiesRoute.url;
59
+ history.push(samplingPropertiesRoute);
60
+ }
42
61
  };
43
62
 
44
63
  return /*#__PURE__*/_react.default.createElement(_index.DropDown, {
@@ -52,4 +71,4 @@ var SamplingActionDropdown = function SamplingActionDropdown() {
52
71
 
53
72
  var _default = SamplingActionDropdown;
54
73
  exports.default = _default;
55
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nQWN0aW9uRHJvcGRvd24udHN4Il0sIm5hbWVzIjpbIlRvZ2dsZVN0eWxlIiwic3R5bGVkIiwiZGl2IiwidGhlbWUiLCJjb2xvclNjaGVtZSIsIm5hdHVyYWwiLCJuOTAiLCJTYW1wbGluZ0FjdGlvbkRyb3Bkb3duIiwiaGlzdG9yeSIsImhhbmRsZUNsaWNrIiwiaGFuZGxlSXRlbUNsaWNrIiwiaXRlbSIsImNvbnNvbGUiLCJsb2ciLCJocmVmIiwicHVzaCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQU1BOztBQU9BLElBQU1BLFdBQVcsR0FBR0MsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsMEdBS1A7QUFBQSxNQUFHQyxLQUFILFFBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNDLFdBQU4sQ0FBa0JDLE9BQWxCLENBQTBCQyxHQUF6QztBQUFBLENBTE8sQ0FBakI7O0FBWUEsSUFBTUMsc0JBQXVELEdBQUcsU0FBMURBLHNCQUEwRCxHQUFNO0FBQ3BFLE1BQU1DLE9BQU8sR0FBRyxpQ0FBaEI7O0FBQ0EsTUFBTUMsV0FBVyxHQUFHLFNBQWRBLFdBQWM7QUFBQSxXQUFNLGlEQUFOO0FBQUEsR0FBcEI7O0FBQ0EsTUFBTUMsZUFBZSxHQUFHLFNBQWxCQSxlQUFrQixDQUFDQyxJQUFELEVBQTRCO0FBQ2xEQyxJQUFBQSxPQUFPLENBQUNDLEdBQVIsQ0FBWSxzQkFBWjtBQUNBLFFBQUlGLElBQUksQ0FBQ0csSUFBVCxFQUFlTixPQUFPLENBQUNPLElBQVIsQ0FBYUosSUFBSSxDQUFDRyxJQUFsQjtBQUNoQixHQUhEOztBQUtBLHNCQUNFLDZCQUFDLGVBQUQ7QUFDRSxJQUFBLGNBQWMsZUFDWiw2QkFBQyxXQUFELHFCQUNFLDZCQUFDLHVCQUFEO0FBQU0sTUFBQSxPQUFPLEVBQUVMO0FBQWYsTUFERixDQUZKO0FBTUUsSUFBQSxXQUFXLEVBQUVDLGVBTmY7QUFPRSxJQUFBLE9BQU8sRUFBRTtBQVBYLElBREY7QUFXRCxDQW5CRDs7ZUFxQmVILHNCIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZDIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgRHJvcERvd24gfSBmcm9tICdzcmMvdWkta2l0L2luZGV4JztcbmltcG9ydCB7IGFuYWx5dGljc1RyYWNrIH0gZnJvbSAnc3JjL3V0aWxpdGllcy9BbmFseXRpY3MnO1xuaW1wb3J0IHtcbiAgU2FtcGxpbmdEYXRhLFxuICBnZXRTYW1wbGluZ0FjdGlvbkRyb3Bkb3duT3B0aW9ucyxcbn0gZnJvbSAnLi9zYW1wbGluZ3NQYWdlVXRpbHMnO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgRG90cyB9IGZyb20gJ3NyYy9hc3NldHMvaWNvbnMvMy1kb3RzLWdlbi5zdmcnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyB1c2VIaXN0b3J5IH0gZnJvbSAncmVhY3Qtcm91dGVyLWRvbSc7XG5pbXBvcnQgeyBEcm9wRG93bkl0ZW1UeXBlIH0gZnJvbSAnc3JjL3VpLWtpdC9Ecm9wRG93bi9Ecm9wRG93bkl0ZW0nO1xuXG50eXBlIFNhbXBsaW5nQWN0aW9uRHJvcGRvd25Qcm9wcyA9IHtcbiAgc2FtcGxpbmc/OiBTYW1wbGluZ0RhdGE7XG59O1xuXG5jb25zdCBUb2dnbGVTdHlsZSA9IHN0eWxlZC5kaXZgXG4gIGhlaWdodDogMjBweDtcbiAgd2lkdGg6IDIwcHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmaWxsOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjkwfTtcblxuICAuc2hvdy5kcm9wZG93biAmIHtcbiAgICBmaWxsOiAjRTMxQjYyO1xuICB9XG5gO1xuXG5jb25zdCBTYW1wbGluZ0FjdGlvbkRyb3Bkb3duOiBGQzxTYW1wbGluZ0FjdGlvbkRyb3Bkb3duUHJvcHM+ID0gKCkgPT4ge1xuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpO1xuICBjb25zdCBoYW5kbGVDbGljayA9ICgpID0+IGFuYWx5dGljc1RyYWNrKGBPcGVuIHdlYiBhY3Rpb25gKTtcbiAgY29uc3QgaGFuZGxlSXRlbUNsaWNrID0gKGl0ZW06IERyb3BEb3duSXRlbVR5cGUpID0+IHtcbiAgICBjb25zb2xlLmxvZygnaW4gaGFuZGxlSXRlbUNsaWNrKCknKTtcbiAgICBpZiAoaXRlbS5ocmVmKSBoaXN0b3J5LnB1c2goaXRlbS5ocmVmKTtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxEcm9wRG93blxuICAgICAgZHJvcGRvd25Ub2dnbGU9e1xuICAgICAgICA8VG9nZ2xlU3R5bGU+XG4gICAgICAgICAgPERvdHMgb25DbGljaz17aGFuZGxlQ2xpY2t9IC8+XG4gICAgICAgIDwvVG9nZ2xlU3R5bGU+XG4gICAgICB9XG4gICAgICBvbkl0ZW1DbGljaz17aGFuZGxlSXRlbUNsaWNrfVxuICAgICAgb3B0aW9ucz17Z2V0U2FtcGxpbmdBY3Rpb25Ecm9wZG93bk9wdGlvbnMoKX1cbiAgICAvPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgU2FtcGxpbmdBY3Rpb25Ecm9wZG93bjtcbiJdfQ==
74
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nQWN0aW9uRHJvcGRvd24udHN4Il0sIm5hbWVzIjpbIlRvZ2dsZVN0eWxlIiwic3R5bGVkIiwiZGl2IiwidGhlbWUiLCJjb2xvclNjaGVtZSIsIm5hdHVyYWwiLCJuOTAiLCJTYW1wbGluZ0FjdGlvbkRyb3Bkb3duIiwicHJvcHMiLCJzYW1wbGluZyIsImhpc3RvcnkiLCJkaXNwYXRjaCIsIm5hdkNvbnRleHQiLCJzdGF0ZSIsIm5hdl9jb250ZXh0X2RhdGEiLCJoYW5kbGVDbGljayIsImhhbmRsZUl0ZW1DbGljayIsIml0ZW0iLCJpZCIsImkxOG4iLCJ0Iiwic2FtcGxpbmdQcm9wZXJ0aWVzUm91dGUiLCJsb2NhbGUiLCJzYW1wbGluZ3NQYWdlIiwidXJsIiwicHVzaCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7OztBQU1BOztBQUVBOztBQUNBOztBQUNBOztBQUVBOztBQU1BLElBQU1BLFdBQVcsR0FBR0MsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsMEdBS1A7QUFBQSxNQUFHQyxLQUFILFFBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNDLFdBQU4sQ0FBa0JDLE9BQWxCLENBQTBCQyxHQUF6QztBQUFBLENBTE8sQ0FBakI7O0FBWUEsSUFBTUMsc0JBQXVELEdBQUcsU0FBMURBLHNCQUEwRCxDQUFDQyxLQUFELEVBQVc7QUFDekUsTUFBUUMsUUFBUixHQUFxQkQsS0FBckIsQ0FBUUMsUUFBUjtBQUNBLE1BQU1DLE9BQU8sR0FBRyxpQ0FBaEI7QUFDQSxNQUFNQyxRQUFRLEdBQUcsOEJBQWpCO0FBQ0EsTUFBTUMsVUFBVSxHQUFHLDZCQUNqQixVQUFDQyxLQUFEO0FBQUEsV0FBMENBLEtBQUssQ0FBQ0MsZ0JBQU4sQ0FBdUJGLFVBQWpFO0FBQUEsR0FEaUIsQ0FBbkI7O0FBSUEsTUFBTUcsV0FBVyxHQUFHLFNBQWRBLFdBQWMsR0FBTTtBQUN4QjtBQUNELEdBRkQ7O0FBR0EsTUFBTUMsZUFBZSxHQUFHLFNBQWxCQSxlQUFrQixDQUFDQyxJQUFELEVBQTRCO0FBQ2xELFFBQUlBLElBQUksQ0FBQ0MsRUFBTCxLQUFZQyxjQUFLQyxDQUFMLENBQU8sd0JBQVAsQ0FBaEIsRUFBa0Q7QUFDaERULE1BQUFBLFFBQVEsQ0FBQyxxQ0FBZ0JGLFFBQVEsQ0FBQ1MsRUFBekIsQ0FBRCxDQUFSO0FBQ0EsVUFBTUcsdUJBQXVCLEdBQUcsZ0JBQUs7QUFDbkNILFFBQUFBLEVBQUUsRUFBRVQsUUFBUSxDQUFDUyxFQURzQjtBQUVuQ0ksUUFBQUEsTUFBTSxFQUFFVixVQUFVLENBQUNVO0FBRmdCLE9BQUwsRUFHN0JDLGFBSDZCLENBR2ZGLHVCQUhlLENBR1NHLEdBSHpDO0FBSUFkLE1BQUFBLE9BQU8sQ0FBQ2UsSUFBUixDQUFhSix1QkFBYjtBQUNEO0FBQ0YsR0FURDs7QUFXQSxzQkFDRSw2QkFBQyxlQUFEO0FBQ0UsSUFBQSxjQUFjLGVBQ1osNkJBQUMsV0FBRCxxQkFDRSw2QkFBQyx1QkFBRDtBQUFNLE1BQUEsT0FBTyxFQUFFTjtBQUFmLE1BREYsQ0FGSjtBQU1FLElBQUEsV0FBVyxFQUFFQyxlQU5mO0FBT0UsSUFBQSxPQUFPLEVBQUU7QUFQWCxJQURGO0FBV0QsQ0FqQ0Q7O2VBbUNlVCxzQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBGQyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7IERyb3BEb3duIH0gZnJvbSAnc3JjL3VpLWtpdC9pbmRleCc7XG5pbXBvcnQgeyBhbmFseXRpY3NUcmFjayB9IGZyb20gJ3NyYy91dGlsaXRpZXMvQW5hbHl0aWNzJztcbmltcG9ydCB7XG4gIFNhbXBsaW5nRGF0YSxcbiAgZ2V0U2FtcGxpbmdBY3Rpb25Ecm9wZG93bk9wdGlvbnMsXG59IGZyb20gJy4vc2FtcGxpbmdzUGFnZVV0aWxzJztcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIERvdHMgfSBmcm9tICdzcmMvYXNzZXRzL2ljb25zLzMtZG90cy1nZW4uc3ZnJztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IHsgdXNlSGlzdG9yeSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgRHJvcERvd25JdGVtVHlwZSB9IGZyb20gJ3NyYy91aS1raXQvRHJvcERvd24vRHJvcERvd25JdGVtJztcbmltcG9ydCB7IGdldFNhbXBsaW5nQnlJZCB9IGZyb20gJy4uLy4uL3N0b3JlL3NhbXBsaW5ncy9hY3Rpb25zQ3JlYXRvcic7XG5pbXBvcnQgeyB1cmxzIH0gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL3VybHMnO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgYXBwUmVkdWNlciB9IGZyb20gJy4uLy4uL3N0b3JlL3Jvb3RSZWR1Y2VyJztcbmltcG9ydCBpMThuIGZyb20gJy4uLy4uL3V0aWxpdGllcy9pMThuJztcblxudHlwZSBTYW1wbGluZ0FjdGlvbkRyb3Bkb3duUHJvcHMgPSB7XG4gIHNhbXBsaW5nPzogU2FtcGxpbmdEYXRhO1xufTtcblxuY29uc3QgVG9nZ2xlU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBoZWlnaHQ6IDIwcHg7XG4gIHdpZHRoOiAyMHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgZmlsbDogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm45MH07XG5cbiAgLnNob3cuZHJvcGRvd24gJiB7XG4gICAgZmlsbDogI2UzMWI2MjtcbiAgfVxuYDtcblxuY29uc3QgU2FtcGxpbmdBY3Rpb25Ecm9wZG93bjogRkM8U2FtcGxpbmdBY3Rpb25Ecm9wZG93blByb3BzPiA9IChwcm9wcykgPT4ge1xuICBjb25zdCB7IHNhbXBsaW5nIH0gPSBwcm9wcztcbiAgY29uc3QgaGlzdG9yeSA9IHVzZUhpc3RvcnkoKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBuYXZDb250ZXh0ID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT4gc3RhdGUubmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LFxuICApO1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrID0gKCkgPT4ge1xuICAgIGFuYWx5dGljc1RyYWNrKGBPcGVuIHdlYiBhY3Rpb25gKTtcbiAgfTtcbiAgY29uc3QgaGFuZGxlSXRlbUNsaWNrID0gKGl0ZW06IERyb3BEb3duSXRlbVR5cGUpID0+IHtcbiAgICBpZiAoaXRlbS5pZCA9PT0gaTE4bi50KCdzYW1wbGluZ3NfcGFnZS5jb2xsZWN0JykpIHtcbiAgICAgIGRpc3BhdGNoKGdldFNhbXBsaW5nQnlJZChzYW1wbGluZy5pZCkpO1xuICAgICAgY29uc3Qgc2FtcGxpbmdQcm9wZXJ0aWVzUm91dGUgPSB1cmxzKHtcbiAgICAgICAgaWQ6IHNhbXBsaW5nLmlkLFxuICAgICAgICBsb2NhbGU6IG5hdkNvbnRleHQubG9jYWxlLFxuICAgICAgfSkuc2FtcGxpbmdzUGFnZS5zYW1wbGluZ1Byb3BlcnRpZXNSb3V0ZS51cmw7XG4gICAgICBoaXN0b3J5LnB1c2goc2FtcGxpbmdQcm9wZXJ0aWVzUm91dGUpO1xuICAgIH1cbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxEcm9wRG93blxuICAgICAgZHJvcGRvd25Ub2dnbGU9e1xuICAgICAgICA8VG9nZ2xlU3R5bGU+XG4gICAgICAgICAgPERvdHMgb25DbGljaz17aGFuZGxlQ2xpY2t9IC8+XG4gICAgICAgIDwvVG9nZ2xlU3R5bGU+XG4gICAgICB9XG4gICAgICBvbkl0ZW1DbGljaz17aGFuZGxlSXRlbUNsaWNrfVxuICAgICAgb3B0aW9ucz17Z2V0U2FtcGxpbmdBY3Rpb25Ecm9wZG93bk9wdGlvbnMoKX1cbiAgICAvPlxuICApO1xufTtcblxuZXhwb3J0IGRlZmF1bHQgU2FtcGxpbmdBY3Rpb25Ecm9wZG93bjtcbiJdfQ==
@@ -158,7 +158,7 @@ var StatusContainerStyle = _styledComponents.default.div.attrs(function (props)
158
158
  var CloseTopButtonStyle = _styledComponents.default.div.withConfig({
159
159
  displayName: "SamplingMobileModal__CloseTopButtonStyle",
160
160
  componentId: "sc-ksxd5-15"
161
- })(["align-items:center;cursor:pointer;position:absolute;top:-40px;right:10px;width:30px;height:30px;background:", ";color:", ";border:2px solid ", ";border-radius:50%;text-align:center;font-size:20px;line-height:1.44em;margin:0 8px 0 0;"], function (_ref14) {
161
+ })(["align-items:center;cursor:pointer;position:absolute;top:-40px;right:10px;width:30px;height:30px;background:", ";color:", ";border:2px solid ", ";border-radius:50%;text-align:center;font-size:20px;line-height:1.44em;margin:0 8px 0 0;padding:2px 0 0;"], function (_ref14) {
162
162
  var theme = _ref14.theme;
163
163
  return theme.colorScheme.natural.n100;
164
164
  }, function (_ref15) {
@@ -184,12 +184,16 @@ var SamplingMobileModal = function SamplingMobileModal(_ref17) {
184
184
  samplingTime = sampling.sampling_time;
185
185
  var history = (0, _reactRouterDom.useHistory)();
186
186
  var dispatch = (0, _reactRedux.useDispatch)();
187
+ var navContext = (0, _reactRedux.useSelector)(function (state) {
188
+ return state.nav_context_data.navContext;
189
+ });
187
190
 
188
191
  var handleClick = function handleClick() {
189
192
  var id = sampling.id;
190
193
  dispatch((0, _actionsCreator.getSamplingById)(id));
191
194
  var samplingPropertiesRoute = (0, _urls.urls)({
192
- id: id
195
+ id: id,
196
+ locale: navContext.locale
193
197
  }).samplingsPage.samplingPropertiesRoute.url;
194
198
  history.push(samplingPropertiesRoute);
195
199
  };
@@ -225,4 +229,4 @@ var SamplingMobileModal = function SamplingMobileModal(_ref17) {
225
229
  };
226
230
 
227
231
  exports.SamplingMobileModal = SamplingMobileModal;
228
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nTW9iaWxlTW9kYWwudHN4Il0sIm5hbWVzIjpbIlNhbXBsaW5nTW9iaWxlTW9kYWxTdHlsZSIsInN0eWxlZCIsImRpdiIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJwcmltYXJ5IiwicDEiLCJMaXN0R3JvdXBTdHlsZSIsIkxpc3RHcm91cCIsIk1vZGFsQ29udGFpbmVyU3R5bGUiLCJ6SW5kZXhlcyIsIm1vZGFsIiwiTGlzdEdyb3VwSXRlbVN0eWxlIiwiSXRlbSIsImZvbnRTaXplIiwibWQiLCJzYW1wbGluZ3NQYWdlIiwibW9iaWxlIiwibW9kYWxMaXN0SXRlbUNvbG9yIiwibmF0dXJhbCIsIm42MCIsIlJvd0luZm9TdHlsZSIsIm4xIiwiSW5mb0xpbmVTdHlsZSIsIk92ZXJsYXlTdHlsZSIsIm1vZGFsT3ZlcmxheUJhY2tncm91bmQiLCJDb2xsZWN0QnV0dG9uU3R5bGUiLCJCdXR0b24iLCJTaXRlU3R5bGUiLCJDb250YWN0TnVtYmVyUm93U3R5bGUiLCJhIiwiU2l0ZURldGFpbHNTdHlsZSIsIlNpdGVEZXRhaWxzRmlyc3RTdHlsZSIsIlNpdGVEZXRhaWxzU2Vjb25kU3R5bGUiLCJCb3R0b21TZWN0aW9uU3R5bGUiLCJTdGF0dXNDb250YWluZXJTdHlsZSIsImF0dHJzIiwicHJvcHMiLCJpc01vYmlsZVByb3BlcnRpZXMiLCJDbG9zZVRvcEJ1dHRvblN0eWxlIiwibjEwMCIsIlNhbXBsaW5nTW9iaWxlTW9kYWwiLCJvbkNsb3NlTW9kYWwiLCJzYW1wbGluZyIsImNvbnRhY3QiLCJjb250YWN0TnVtYmVyIiwiY29udGFjdF9udW1iZXIiLCJsYWJOYW1lIiwibGFiX25hbWUiLCJtYW5ob2xlQWRkcmVzcyIsIm1hbmhvbGVfYWRkcmVzcyIsInN0YXR1cyIsInNpdGUiLCJzYW1wbGluZ0lkIiwic2FtcGxpbmdfaWQiLCJzYW1wbGluZ0RhdGUiLCJzYW1wbGluZ19kYXRlIiwic2FtcGxpbmdUaW1lIiwic2FtcGxpbmdfdGltZSIsImhpc3RvcnkiLCJkaXNwYXRjaCIsImhhbmRsZUNsaWNrIiwiaWQiLCJzYW1wbGluZ1Byb3BlcnRpZXNSb3V0ZSIsInVybCIsInB1c2giLCJnZXRBZGRyZXNzIiwiTU9CSUxFX01PREFMX1RFWFRfTEVOR1RIIiwidGV4dCIsImxlbmd0aCIsInNsaWNlIiwiZmFUaW1lcyIsImkxOG4iLCJ0IiwiUGluIiwiUGhvbmUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBRUE7O0FBQ0E7O0FBQ0E7Ozs7OztBQUdBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQU9BLElBQU1BLHdCQUF3QixHQUFHQywwQkFBT0MsR0FBVjtBQUFBO0FBQUE7QUFBQSw4SkFnQmpCO0FBQUEsTUFBR0MsS0FBSCxRQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDQyxXQUFOLENBQWtCQyxPQUFsQixDQUEwQkMsRUFBekM7QUFBQSxDQWhCaUIsQ0FBOUI7O0FBb0JBLElBQU1DLGNBQWMsR0FBRywrQkFBT0MseUJBQVAsQ0FBSDtBQUFBO0FBQUE7QUFBQSxxREFBcEI7O0FBS0EsSUFBTUMsbUJBQW1CLEdBQUdSLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLGlFQUtaO0FBQUEsTUFBR0MsS0FBSCxTQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDTyxRQUFOLENBQWVDLEtBQTlCO0FBQUEsQ0FMWSxDQUF6Qjs7QUFRQSxJQUFNQyxrQkFBa0IsR0FBRywrQkFBT0osMEJBQVVLLElBQWpCLENBQUg7QUFBQTtBQUFBO0FBQUEsd09BQ1Q7QUFBQSxNQUFHVixLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNXLFFBQU4sQ0FBZUMsRUFBOUI7QUFBQSxDQURTLEVBT2I7QUFBQSxNQUFHWixLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUNQQSxLQUFLLENBQUNhLGFBQU4sQ0FBb0JDLE1BQXBCLENBQTJCQyxrQkFEcEI7QUFBQSxDQVBhLEVBVVg7QUFBQSxNQUFHZixLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNhLGFBQU4sQ0FBb0JDLE1BQXBCLENBQTJCQyxrQkFBMUM7QUFBQSxDQVZXLEVBYVg7QUFBQSxNQUFHZixLQUFILFNBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNDLFdBQU4sQ0FBa0JlLE9BQWxCLENBQTBCQyxHQUF6QztBQUFBLENBYlcsQ0FBeEI7O0FBaUJBLElBQU1DLFlBQVksR0FBR3BCLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLHdKQUVGO0FBQUEsTUFBR0MsS0FBSCxTQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDQyxXQUFOLENBQWtCZSxPQUFsQixDQUEwQkcsRUFBekM7QUFBQSxDQUZFLENBQWxCOztBQVNBLElBQU1DLGFBQWEsR0FBR3RCLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLHdIQUVSO0FBQUEsTUFBR0MsS0FBSCxTQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDQyxXQUFOLENBQWtCZSxPQUFsQixDQUEwQkMsR0FBekM7QUFBQSxDQUZRLENBQW5COztBQVNBLElBQU1JLFlBQVksR0FBR3ZCLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLG1HQUNJO0FBQUEsTUFBR0MsS0FBSCxTQUFHQSxLQUFIO0FBQUEsU0FDbEJBLEtBQUssQ0FBQ2EsYUFBTixDQUFvQkMsTUFBcEIsQ0FBMkJRLHNCQURUO0FBQUEsQ0FESixFQVFMO0FBQUEsTUFBR3RCLEtBQUgsVUFBR0EsS0FBSDtBQUFBLFNBQWVBLEtBQUssQ0FBQ08sUUFBTixDQUFlQyxLQUE5QjtBQUFBLENBUkssQ0FBbEI7O0FBV0EsSUFBTWUsa0JBQWtCLEdBQUcsK0JBQU9DLGFBQVAsQ0FBSDtBQUFBO0FBQUE7QUFBQSxvSkFNRjtBQUFBLE1BQUd4QixLQUFILFVBQUdBLEtBQUg7QUFBQSxTQUFlQSxLQUFLLENBQUNDLFdBQU4sQ0FBa0JlLE9BQWxCLENBQTBCRyxFQUF6QztBQUFBLENBTkUsQ0FBeEI7O0FBVUEsSUFBTU0sU0FBUyxHQUFHM0IsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsd0dBQWY7O0FBT0EsSUFBTTJCLHFCQUFxQixHQUFHNUIsMEJBQU82QixDQUFWO0FBQUE7QUFBQTtBQUFBLDBCQUEzQjs7QUFNQSxJQUFNQyxnQkFBZ0IsR0FBRzlCLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLG9LQU9YO0FBQUEsTUFBR0MsS0FBSCxVQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDQyxXQUFOLENBQWtCZSxPQUFsQixDQUEwQkMsR0FBekM7QUFBQSxDQVBXLENBQXRCOztBQVVBLElBQU1ZLHFCQUFxQixHQUFHL0IsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsUUFBM0I7O0FBRUEsSUFBTStCLHNCQUFzQixHQUFHaEMsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsK0VBQTVCOztBQU9BLElBQU1nQyxrQkFBa0IsR0FBR2pDLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLDhCQUF4Qjs7QUFTQSxJQUFNaUMsb0JBQW9CLEdBQUdsQywwQkFBT0MsR0FBUCxDQUFXa0MsS0FBWCxDQUMzQixVQUFDQyxLQUFEO0FBQUEsU0FBdUM7QUFDckNDLElBQUFBLGtCQUFrQixFQUFFRCxLQUFLLENBQUNDO0FBRFcsR0FBdkM7QUFBQSxDQUQyQixDQUFIO0FBQUE7QUFBQTtBQUFBLDRHQWF0QjtBQUFBLE1BQUdBLGtCQUFILFVBQUdBLGtCQUFIO0FBQUEsU0FDQUEsa0JBQWtCLGdEQURsQjtBQUFBLENBYnNCLENBQTFCOztBQW9CQSxJQUFNQyxtQkFBbUIsR0FBR3RDLDBCQUFPQyxHQUFWO0FBQUE7QUFBQTtBQUFBLGlQQVFUO0FBQUEsTUFBR0MsS0FBSCxVQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDQyxXQUFOLENBQWtCZSxPQUFsQixDQUEwQnFCLElBQXpDO0FBQUEsQ0FSUyxFQVNkO0FBQUEsTUFBR3JDLEtBQUgsVUFBR0EsS0FBSDtBQUFBLFNBQWVBLEtBQUssQ0FBQ0MsV0FBTixDQUFrQmUsT0FBbEIsQ0FBMEJHLEVBQXpDO0FBQUEsQ0FUYyxFQVVIO0FBQUEsTUFBR25CLEtBQUgsVUFBR0EsS0FBSDtBQUFBLFNBQWVBLEtBQUssQ0FBQ0MsV0FBTixDQUFrQmUsT0FBbEIsQ0FBMEJxQixJQUF6QztBQUFBLENBVkcsQ0FBekI7O0FBa0JPLElBQU1DLG1CQUE0QyxHQUFHLFNBQS9DQSxtQkFBK0MsU0FJdEQ7QUFBQSxNQUhKQyxZQUdJLFVBSEpBLFlBR0k7QUFBQSxNQUZKQyxRQUVJLFVBRkpBLFFBRUk7QUFBQSxNQURKTCxrQkFDSSxVQURKQSxrQkFDSTtBQUNKLE1BQ0VNLE9BREYsR0FVSUQsUUFWSixDQUNFQyxPQURGO0FBQUEsTUFFa0JDLGFBRmxCLEdBVUlGLFFBVkosQ0FFRUcsY0FGRjtBQUFBLE1BR1lDLE9BSFosR0FVSUosUUFWSixDQUdFSyxRQUhGO0FBQUEsTUFJbUJDLGNBSm5CLEdBVUlOLFFBVkosQ0FJRU8sZUFKRjtBQUFBLE1BS0VDLE1BTEYsR0FVSVIsUUFWSixDQUtFUSxNQUxGO0FBQUEsTUFNRUMsSUFORixHQVVJVCxRQVZKLENBTUVTLElBTkY7QUFBQSxNQU9lQyxVQVBmLEdBVUlWLFFBVkosQ0FPRVcsV0FQRjtBQUFBLE1BUWlCQyxZQVJqQixHQVVJWixRQVZKLENBUUVhLGFBUkY7QUFBQSxNQVNpQkMsWUFUakIsR0FVSWQsUUFWSixDQVNFZSxhQVRGO0FBV0EsTUFBTUMsT0FBTyxHQUFHLGlDQUFoQjtBQUNBLE1BQU1DLFFBQVEsR0FBRyw4QkFBakI7O0FBRUEsTUFBTUMsV0FBVyxHQUFHLFNBQWRBLFdBQWMsR0FBTTtBQUN4QixRQUFRQyxFQUFSLEdBQWVuQixRQUFmLENBQVFtQixFQUFSO0FBQ0FGLElBQUFBLFFBQVEsQ0FBQyxxQ0FBZ0JFLEVBQWhCLENBQUQsQ0FBUjtBQUNBLFFBQU1DLHVCQUF1QixHQUFHLGdCQUFLO0FBQUVELE1BQUFBLEVBQUUsRUFBRkE7QUFBRixLQUFMLEVBQWE5QyxhQUFiLENBQzdCK0MsdUJBRDZCLENBQ0xDLEdBRDNCO0FBRUFMLElBQUFBLE9BQU8sQ0FBQ00sSUFBUixDQUFhRix1QkFBYjtBQUNELEdBTkQ7O0FBUUEsTUFBTUcsVUFBVSxHQUFHLFNBQWJBLFVBQWEsR0FBTTtBQUN2QixXQUFPQywrQ0FBMkJsQixjQUFjLENBQUNtQixJQUFmLENBQW9CQyxNQUEvQyxHQUNIcEIsY0FBYyxDQUFDbUIsSUFBZixDQUFvQkUsS0FBcEIsQ0FBMEIsQ0FBMUIsRUFBNkJILDRDQUE3QixJQUF5RCxLQUR0RCxHQUVIbEIsY0FBYyxDQUFDbUIsSUFGbkI7QUFHRCxHQUpEOztBQU1BLHNCQUNFLDZCQUFDLHdCQUFELHFCQUNFLDZCQUFDLFlBQUQsT0FERixlQUVFLDZCQUFDLG1CQUFELHFCQUNFLDZCQUFDLGNBQUQscUJBQ0UsNkJBQUMsWUFBRCxxQkFDRSw2QkFBQyxtQkFBRDtBQUFxQixJQUFBLE9BQU8sRUFBRTFCO0FBQTlCLGtCQUNFLDZCQUFDLGlDQUFEO0FBQWlCLElBQUEsSUFBSSxFQUFFNkI7QUFBdkIsSUFERixDQURGLGVBSUUsNkJBQUMsZ0JBQUQscUJBQ0UsNkJBQUMscUJBQUQscUJBQ0UsNkJBQUMsU0FBRCxRQUFZbkIsSUFBWixDQURGLGVBRUUsMENBQU1DLFVBQU4sQ0FGRixDQURGLGVBS0UsNkJBQUMsc0JBQUQscUJBQ0UsNkJBQUMsb0JBQUQ7QUFBc0IsSUFBQSxrQkFBa0IsRUFBRWY7QUFBMUMsa0JBQ0UsNkJBQUMsdUJBQUQ7QUFBZ0IsSUFBQSxNQUFNLEVBQUVhO0FBQXhCLElBREYsQ0FERixlQUlFLDZCQUFDLGtCQUFELHFCQUNFLDBDQUFNSSxZQUFOLENBREYsZUFFRSwwQ0FBTUUsWUFBTixDQUZGLENBSkYsQ0FMRixDQUpGLGVBbUJFLDZCQUFDLGFBQUQscUJBQ0UsMkNBQ0dlLGNBQUtDLENBQUwsQ0FBTyw4Q0FBUCxDQURILENBREYsZUFJRSwyQ0FDRzFCLE9BQU8sSUFBSXlCLGNBQUtDLENBQUwsQ0FBTyxpQ0FBUCxDQURkLENBSkYsQ0FuQkYsQ0FERixlQTZCRSw2QkFBQyxrQkFBRCxxQkFDRTtBQUFLLElBQUEsR0FBRyxFQUFFQyx5QkFBVjtBQUFlLElBQUEsR0FBRyxFQUFDO0FBQW5CLElBREYsZUFFRSwyQ0FBT1IsVUFBVSxFQUFqQixDQUZGLENBN0JGLGVBaUNFLDZCQUFDLGtCQUFELHFCQUNFLDZCQUFDLHFCQUFEO0FBQ0UsSUFBQSxJQUFJLEVBQUVyQixhQUFhLGlCQUFVQSxhQUFWLElBQTRCO0FBRGpELGtCQUdFO0FBQUssSUFBQSxHQUFHLEVBQUU4QiwyQkFBVjtBQUFpQixJQUFBLEdBQUcsRUFBQztBQUFyQixJQUhGLEVBSUcvQixPQUFPLElBQUk0QixjQUFLQyxDQUFMLENBQU8sMkJBQVAsQ0FKZCxDQURGLENBakNGLGVBeUNFLDZCQUFDLGtCQUFELFFBQ0dELGNBQUtDLENBQUwsQ0FBTyxtQ0FBUCxDQURILENBekNGLGVBNENFLDZCQUFDLGtCQUFEO0FBQW9CLElBQUEsT0FBTyxFQUFFL0I7QUFBN0IsS0FDRzhCLGNBQUtDLENBQUwsQ0FBTyxnQ0FBUCxDQURILENBNUNGLENBREYsZUFpREUsNkJBQUMsa0JBQUQ7QUFDRSxJQUFBLE9BQU8sRUFBQyxTQURWO0FBRUUsSUFBQSxPQUFPLEVBQUUsS0FGWDtBQUdFLElBQUEsT0FBTyxNQUhUO0FBSUUsSUFBQSxPQUFPLEVBQUVaO0FBSlgsS0FNR1csY0FBS0MsQ0FBTCxDQUFPLHdCQUFQLENBTkgsQ0FqREYsQ0FGRixDQURGO0FBK0RELENBaEdNIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IEZDIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgTGlzdEdyb3VwIH0gZnJvbSAncmVhY3QtYm9vdHN0cmFwLyc7XG5pbXBvcnQgaTE4biBmcm9tICdzcmMvdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgeyBNT0JJTEVfTU9EQUxfVEVYVF9MRU5HVEgsIFNhbXBsaW5nRGF0YSB9IGZyb20gJy4vc2FtcGxpbmdzUGFnZVV0aWxzJztcbmltcG9ydCB7IEJ1dHRvbiB9IGZyb20gJ3NyYy91aS1raXQnO1xuaW1wb3J0IFNhbXBsaW5nU3RhdHVzIGZyb20gJ3NyYy91aS1raXQvU2FtcGxpbmdTdGF0dXMvU2FtcGxpbmdTdGF0dXMnO1xuaW1wb3J0IFBob25lIGZyb20gJ3NyYy9hc3NldHMvaWNvbnMvc2FtcGxpbmctbW9kYWwtcGhvbmUuc3ZnJztcbmltcG9ydCBQaW4gZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9zYW1wbGluZy1tb2RhbC1waW4uc3ZnJztcbmltcG9ydCB7IHVzZUhpc3RvcnkgfSBmcm9tICdyZWFjdC1yb3V0ZXItZG9tJztcbmltcG9ydCB7IHVzZURpc3BhdGNoIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgZ2V0U2FtcGxpbmdCeUlkIH0gZnJvbSAnc3JjL3N0b3JlL3NhbXBsaW5ncy9hY3Rpb25zQ3JlYXRvcic7XG5pbXBvcnQgeyB1cmxzIH0gZnJvbSAnc3JjL3V0aWxpdGllcy91cmxzJztcbmltcG9ydCB7IEZvbnRBd2Vzb21lSWNvbiB9IGZyb20gJ0Bmb3J0YXdlc29tZS9yZWFjdC1mb250YXdlc29tZSc7XG5pbXBvcnQgeyBmYVRpbWVzIH0gZnJvbSAnQGZvcnRhd2Vzb21lL2ZyZWUtc29saWQtc3ZnLWljb25zJztcblxuaW50ZXJmYWNlIFNhbXBsaW5nTW9iaWxlUHJvcHMge1xuICBvbkNsb3NlTW9kYWw6ICgpID0+IHZvaWQ7XG4gIHNhbXBsaW5nOiBTYW1wbGluZ0RhdGE7XG4gIGlzTW9iaWxlUHJvcGVydGllcz86IGJvb2xlYW47XG59XG5jb25zdCBTYW1wbGluZ01vYmlsZU1vZGFsU3R5bGUgPSBzdHlsZWQuZGl2YFxuICAqIHtcbiAgICBmb250LWZhbWlseTogTnVuaXRvLCBHaWxyb3ksIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIH1cbiAgLmRyb3ByaWdodCB7XG4gICAgYnV0dG9uIHtcbiAgICAgIHdpZHRoOiAxMDB2dztcbiAgICAgIDo6YWZ0ZXIge1xuICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIGltZyB7XG4gICAgd2lkdGg6IDE4cHg7XG4gICAgaGVpZ2h0OiAxOHB4O1xuICAgIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLnByaW1hcnkucDF9O1xuICB9XG5gO1xuXG5jb25zdCBMaXN0R3JvdXBTdHlsZSA9IHN0eWxlZChMaXN0R3JvdXApYFxuICAvKiBvdmVycmlkZSBzZXJ2ZXIgc3R5bGUgKi9cbiAgcGFkZGluZzogMCAxMHB4ICFpbXBvcnRhbnQ7XG4gIGJvcmRlci1yYWRpdXM6IDE0cHg7XG5gO1xuY29uc3QgTW9kYWxDb250YWluZXJTdHlsZSA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBmaXhlZDtcbiAgd2lkdGg6IDEwMHZ3O1xuICBsZWZ0OiAwO1xuICBib3R0b206IDA7XG4gIHotaW5kZXg6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuekluZGV4ZXMubW9kYWx9O1xuYDtcblxuY29uc3QgTGlzdEdyb3VwSXRlbVN0eWxlID0gc3R5bGVkKExpc3RHcm91cC5JdGVtKWBcbiAgZm9udC1zaXplOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmZvbnRTaXplLm1kfTtcbiAgaGVpZ2h0OiA1NXB4ICFpbXBvcnRhbnQ7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNXB4O1xuICBib3JkZXItYm90dG9tOiAwLjVweCBzb2xpZCAjODU4YTk0N2QgIWltcG9ydGFudCA7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+XG4gICAgdGhlbWUuc2FtcGxpbmdzUGFnZS5tb2JpbGUubW9kYWxMaXN0SXRlbUNvbG9yfSAhaW1wb3J0YW50O1xuICBzcGFuIHtcbiAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5zYW1wbGluZ3NQYWdlLm1vYmlsZS5tb2RhbExpc3RJdGVtQ29sb3J9O1xuICB9XG4gICY6bGFzdC1vZi10eXBlIHtcbiAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm42MH0gIWltcG9ydGFudDtcbiAgfVxuYDtcblxuY29uc3QgUm93SW5mb1N0eWxlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogYmxvY2s7XG4gIGJhY2tncm91bmQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMX07XG4gIGJvcmRlci10b3AtbGVmdC1yYWRpdXM6IDE0cHg7XG4gIGJvcmRlci10b3AtcmlnaHQtcmFkaXVzOiAxNHB4O1xuICBib3JkZXItYm90dG9tOiAwLjVweCBzb2xpZCAjODU4YTk0N2Q7XG4gIHBhZGRpbmc6IDIycHggMzJweCAwO1xuYDtcblxuY29uc3QgSW5mb0xpbmVTdHlsZSA9IHN0eWxlZC5kaXZgXG4gIGJvcmRlci10b3A6IDFweCBzb2xpZCAjODU4YTk0N2Q7XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjYwfTtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogMTZweCAwO1xuYDtcblxuY29uc3QgT3ZlcmxheVN0eWxlID0gc3R5bGVkLmRpdmBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PlxuICAgIHRoZW1lLnNhbXBsaW5nc1BhZ2UubW9iaWxlLm1vZGFsT3ZlcmxheUJhY2tncm91bmR9O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDB2aDtcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHotaW5kZXg6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuekluZGV4ZXMubW9kYWx9O1xuYDtcblxuY29uc3QgQ29sbGVjdEJ1dHRvblN0eWxlID0gc3R5bGVkKEJ1dHRvbilgXG4gIGZvbnQtc2l6ZTogMThweDtcbiAgbWFyZ2luOiAxMHB4O1xuICB3aWR0aDogY2FsYygxMDB2dyAtIDIwcHgpO1xuICBib3JkZXI6IG5vbmU7XG4gIGhlaWdodDogNTNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm4xfSAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAxNHB4ICFpbXBvcnRhbnQ7XG5gO1xuXG5jb25zdCBTaXRlU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBmb250LWZhbWlseTogTnVuaXRvLCBHaWxyb3ksIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtd2VpZ2h0OiBib2xkO1xuICBmb250LXNpemU6IDE2cHg7XG4gIGNvbG9yOiAjMDAwO1xuYDtcblxuY29uc3QgQ29udGFjdE51bWJlclJvd1N0eWxlID0gc3R5bGVkLmFgXG4gIGltZyB7XG4gICAgbWFyZ2luOiAwIDVweDtcbiAgfVxuYDtcblxuY29uc3QgU2l0ZURldGFpbHNTdHlsZSA9IHN0eWxlZC5kaXZgXG4gIGZvbnQtZmFtaWx5OiBOdW5pdG8sIEdpbHJveSwgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIG1hcmdpbjogMCAwIDEwcHg7XG4gIGxpbmUtaGVpZ2h0OiAzMHB4O1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm42MH07XG5gO1xuXG5jb25zdCBTaXRlRGV0YWlsc0ZpcnN0U3R5bGUgPSBzdHlsZWQuZGl2YGA7XG5cbmNvbnN0IFNpdGVEZXRhaWxzU2Vjb25kU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gIG1hcmdpbjogNXB4IDAgMDtcbmA7XG5cbmNvbnN0IEJvdHRvbVNlY3Rpb25TdHlsZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMTBweDtcbmA7XG5cbmludGVyZmFjZSBTYW1wbGluZ3NNb2JpbGVTdHlsZVByb3BzIHtcbiAgaXNNb2JpbGVQcm9wZXJ0aWVzPzogYm9vbGVhbjtcbn1cblxuY29uc3QgU3RhdHVzQ29udGFpbmVyU3R5bGUgPSBzdHlsZWQuZGl2LmF0dHJzKFxuICAocHJvcHM6IFNhbXBsaW5nc01vYmlsZVN0eWxlUHJvcHMpID0+ICh7XG4gICAgaXNNb2JpbGVQcm9wZXJ0aWVzOiBwcm9wcy5pc01vYmlsZVByb3BlcnRpZXMsXG4gIH0pLFxuKWBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDRweDtcbiAgaW1nIHtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgd2lkdGg6IDE0cHg7XG4gIH1cbiAgJHsoeyBpc01vYmlsZVByb3BlcnRpZXMgfSkgPT5cbiAgICBpc01vYmlsZVByb3BlcnRpZXMgJiZcbiAgICBgXG4gICAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgICAgYH1cbmA7XG5cbmNvbnN0IENsb3NlVG9wQnV0dG9uU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAtNDBweDtcbiAgcmlnaHQ6IDEwcHg7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIGJhY2tncm91bmQ6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMTAwfTtcbiAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMX07XG4gIGJvcmRlcjogMnB4IHNvbGlkICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMTAwfTtcbiAgYm9yZGVyLXJhZGl1czogNTAlO1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtc2l6ZTogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDEuNDRlbTtcbiAgbWFyZ2luOiAwIDhweCAwIDA7XG5gO1xuXG5leHBvcnQgY29uc3QgU2FtcGxpbmdNb2JpbGVNb2RhbDogRkM8U2FtcGxpbmdNb2JpbGVQcm9wcz4gPSAoe1xuICBvbkNsb3NlTW9kYWwsXG4gIHNhbXBsaW5nLFxuICBpc01vYmlsZVByb3BlcnRpZXMsXG59KSA9PiB7XG4gIGNvbnN0IHtcbiAgICBjb250YWN0LFxuICAgIGNvbnRhY3RfbnVtYmVyOiBjb250YWN0TnVtYmVyLFxuICAgIGxhYl9uYW1lOiBsYWJOYW1lLFxuICAgIG1hbmhvbGVfYWRkcmVzczogbWFuaG9sZUFkZHJlc3MsXG4gICAgc3RhdHVzLFxuICAgIHNpdGUsXG4gICAgc2FtcGxpbmdfaWQ6IHNhbXBsaW5nSWQsXG4gICAgc2FtcGxpbmdfZGF0ZTogc2FtcGxpbmdEYXRlLFxuICAgIHNhbXBsaW5nX3RpbWU6IHNhbXBsaW5nVGltZSxcbiAgfSA9IHNhbXBsaW5nO1xuICBjb25zdCBoaXN0b3J5ID0gdXNlSGlzdG9yeSgpO1xuICBjb25zdCBkaXNwYXRjaCA9IHVzZURpc3BhdGNoKCk7XG5cbiAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoKSA9PiB7XG4gICAgY29uc3QgeyBpZCB9ID0gc2FtcGxpbmc7XG4gICAgZGlzcGF0Y2goZ2V0U2FtcGxpbmdCeUlkKGlkKSk7XG4gICAgY29uc3Qgc2FtcGxpbmdQcm9wZXJ0aWVzUm91dGUgPSB1cmxzKHsgaWQgfSkuc2FtcGxpbmdzUGFnZVxuICAgICAgLnNhbXBsaW5nUHJvcGVydGllc1JvdXRlLnVybDtcbiAgICBoaXN0b3J5LnB1c2goc2FtcGxpbmdQcm9wZXJ0aWVzUm91dGUpO1xuICB9O1xuXG4gIGNvbnN0IGdldEFkZHJlc3MgPSAoKSA9PiB7XG4gICAgcmV0dXJuIE1PQklMRV9NT0RBTF9URVhUX0xFTkdUSCA8IG1hbmhvbGVBZGRyZXNzLnRleHQubGVuZ3RoXG4gICAgICA/IG1hbmhvbGVBZGRyZXNzLnRleHQuc2xpY2UoMCwgTU9CSUxFX01PREFMX1RFWFRfTEVOR1RIKSArICcuLi4nXG4gICAgICA6IG1hbmhvbGVBZGRyZXNzLnRleHQ7XG4gIH07XG5cbiAgcmV0dXJuIChcbiAgICA8U2FtcGxpbmdNb2JpbGVNb2RhbFN0eWxlPlxuICAgICAgPE92ZXJsYXlTdHlsZSAvPlxuICAgICAgPE1vZGFsQ29udGFpbmVyU3R5bGU+XG4gICAgICAgIDxMaXN0R3JvdXBTdHlsZT5cbiAgICAgICAgICA8Um93SW5mb1N0eWxlPlxuICAgICAgICAgICAgPENsb3NlVG9wQnV0dG9uU3R5bGUgb25DbGljaz17b25DbG9zZU1vZGFsfT5cbiAgICAgICAgICAgICAgPEZvbnRBd2Vzb21lSWNvbiBpY29uPXtmYVRpbWVzfSAvPlxuICAgICAgICAgICAgPC9DbG9zZVRvcEJ1dHRvblN0eWxlPlxuICAgICAgICAgICAgPFNpdGVEZXRhaWxzU3R5bGU+XG4gICAgICAgICAgICAgIDxTaXRlRGV0YWlsc0ZpcnN0U3R5bGU+XG4gICAgICAgICAgICAgICAgPFNpdGVTdHlsZT57c2l0ZX08L1NpdGVTdHlsZT5cbiAgICAgICAgICAgICAgICA8ZGl2PntzYW1wbGluZ0lkfTwvZGl2PlxuICAgICAgICAgICAgICA8L1NpdGVEZXRhaWxzRmlyc3RTdHlsZT5cbiAgICAgICAgICAgICAgPFNpdGVEZXRhaWxzU2Vjb25kU3R5bGU+XG4gICAgICAgICAgICAgICAgPFN0YXR1c0NvbnRhaW5lclN0eWxlIGlzTW9iaWxlUHJvcGVydGllcz17aXNNb2JpbGVQcm9wZXJ0aWVzfT5cbiAgICAgICAgICAgICAgICAgIDxTYW1wbGluZ1N0YXR1cyBzdGF0dXM9e3N0YXR1c30gLz5cbiAgICAgICAgICAgICAgICA8L1N0YXR1c0NvbnRhaW5lclN0eWxlPlxuICAgICAgICAgICAgICAgIDxCb3R0b21TZWN0aW9uU3R5bGU+XG4gICAgICAgICAgICAgICAgICA8ZGl2PntzYW1wbGluZ0RhdGV9PC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2PntzYW1wbGluZ1RpbWV9PC9kaXY+XG4gICAgICAgICAgICAgICAgPC9Cb3R0b21TZWN0aW9uU3R5bGU+XG4gICAgICAgICAgICAgIDwvU2l0ZURldGFpbHNTZWNvbmRTdHlsZT5cbiAgICAgICAgICAgIDwvU2l0ZURldGFpbHNTdHlsZT5cbiAgICAgICAgICAgIDxJbmZvTGluZVN0eWxlPlxuICAgICAgICAgICAgICA8c3Bhbj5cbiAgICAgICAgICAgICAgICB7aTE4bi50KCdzYW1wbGluZ3NfcGFnZS5zYW1wbGluZ3NfdGFibGVfY29scy5sYWJfbmFtZScpfVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgIHtsYWJOYW1lIHx8IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uud2FzX25vdF9zZWxlY3RlZCcpfVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8L0luZm9MaW5lU3R5bGU+XG4gICAgICAgICAgPC9Sb3dJbmZvU3R5bGU+XG4gICAgICAgICAgPExpc3RHcm91cEl0ZW1TdHlsZT5cbiAgICAgICAgICAgIDxpbWcgc3JjPXtQaW59IGFsdD1cInBpblwiIC8+XG4gICAgICAgICAgICA8c3Bhbj57Z2V0QWRkcmVzcygpfTwvc3Bhbj5cbiAgICAgICAgICA8L0xpc3RHcm91cEl0ZW1TdHlsZT5cbiAgICAgICAgICA8TGlzdEdyb3VwSXRlbVN0eWxlPlxuICAgICAgICAgICAgPENvbnRhY3ROdW1iZXJSb3dTdHlsZVxuICAgICAgICAgICAgICBocmVmPXtjb250YWN0TnVtYmVyID8gYHRlbDoke2NvbnRhY3ROdW1iZXJ9YCA6ICcjJ31cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPGltZyBzcmM9e1Bob25lfSBhbHQ9XCJwaW5cIiAvPlxuICAgICAgICAgICAgICB7Y29udGFjdCB8fCBpMThuLnQoJ3NhbXBsaW5nc19wYWdlLm5vX2NvbnRhY3QnKX1cbiAgICAgICAgICAgIDwvQ29udGFjdE51bWJlclJvd1N0eWxlPlxuICAgICAgICAgIDwvTGlzdEdyb3VwSXRlbVN0eWxlPlxuICAgICAgICAgIDxMaXN0R3JvdXBJdGVtU3R5bGU+XG4gICAgICAgICAgICB7aTE4bi50KCdzYW1wbGluZ3NfcGFnZS5tYW5ob2xlX3Byb3BlcnRpZXMnKX1cbiAgICAgICAgICA8L0xpc3RHcm91cEl0ZW1TdHlsZT5cbiAgICAgICAgICA8TGlzdEdyb3VwSXRlbVN0eWxlIG9uQ2xpY2s9e29uQ2xvc2VNb2RhbH0+XG4gICAgICAgICAgICB7aTE4bi50KCdzYW1wbGluZ3NfcGFnZS5jYW5jZWxfc2FtcGxpbmcnKX1cbiAgICAgICAgICA8L0xpc3RHcm91cEl0ZW1TdHlsZT5cbiAgICAgICAgPC9MaXN0R3JvdXBTdHlsZT5cbiAgICAgICAgPENvbGxlY3RCdXR0b25TdHlsZVxuICAgICAgICAgIHZhcmlhbnQ9XCJwcmltYXJ5XCJcbiAgICAgICAgICByb3VuZGVkPXtmYWxzZX1cbiAgICAgICAgICBvdXRsaW5lXG4gICAgICAgICAgb25DbGljaz17aGFuZGxlQ2xpY2t9XG4gICAgICAgID5cbiAgICAgICAgICB7aTE4bi50KCdzYW1wbGluZ3NfcGFnZS5jb2xsZWN0Jyl9XG4gICAgICAgIDwvQ29sbGVjdEJ1dHRvblN0eWxlPlxuICAgICAgPC9Nb2RhbENvbnRhaW5lclN0eWxlPlxuICAgIDwvU2FtcGxpbmdNb2JpbGVNb2RhbFN0eWxlPlxuICApO1xufTtcbiJdfQ==
232
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nTW9iaWxlTW9kYWwudHN4Il0sIm5hbWVzIjpbIlNhbXBsaW5nTW9iaWxlTW9kYWxTdHlsZSIsInN0eWxlZCIsImRpdiIsInRoZW1lIiwiY29sb3JTY2hlbWUiLCJwcmltYXJ5IiwicDEiLCJMaXN0R3JvdXBTdHlsZSIsIkxpc3RHcm91cCIsIk1vZGFsQ29udGFpbmVyU3R5bGUiLCJ6SW5kZXhlcyIsIm1vZGFsIiwiTGlzdEdyb3VwSXRlbVN0eWxlIiwiSXRlbSIsImZvbnRTaXplIiwibWQiLCJzYW1wbGluZ3NQYWdlIiwibW9iaWxlIiwibW9kYWxMaXN0SXRlbUNvbG9yIiwibmF0dXJhbCIsIm42MCIsIlJvd0luZm9TdHlsZSIsIm4xIiwiSW5mb0xpbmVTdHlsZSIsIk92ZXJsYXlTdHlsZSIsIm1vZGFsT3ZlcmxheUJhY2tncm91bmQiLCJDb2xsZWN0QnV0dG9uU3R5bGUiLCJCdXR0b24iLCJTaXRlU3R5bGUiLCJDb250YWN0TnVtYmVyUm93U3R5bGUiLCJhIiwiU2l0ZURldGFpbHNTdHlsZSIsIlNpdGVEZXRhaWxzRmlyc3RTdHlsZSIsIlNpdGVEZXRhaWxzU2Vjb25kU3R5bGUiLCJCb3R0b21TZWN0aW9uU3R5bGUiLCJTdGF0dXNDb250YWluZXJTdHlsZSIsImF0dHJzIiwicHJvcHMiLCJpc01vYmlsZVByb3BlcnRpZXMiLCJDbG9zZVRvcEJ1dHRvblN0eWxlIiwibjEwMCIsIlNhbXBsaW5nTW9iaWxlTW9kYWwiLCJvbkNsb3NlTW9kYWwiLCJzYW1wbGluZyIsImNvbnRhY3QiLCJjb250YWN0TnVtYmVyIiwiY29udGFjdF9udW1iZXIiLCJsYWJOYW1lIiwibGFiX25hbWUiLCJtYW5ob2xlQWRkcmVzcyIsIm1hbmhvbGVfYWRkcmVzcyIsInN0YXR1cyIsInNpdGUiLCJzYW1wbGluZ0lkIiwic2FtcGxpbmdfaWQiLCJzYW1wbGluZ0RhdGUiLCJzYW1wbGluZ19kYXRlIiwic2FtcGxpbmdUaW1lIiwic2FtcGxpbmdfdGltZSIsImhpc3RvcnkiLCJkaXNwYXRjaCIsIm5hdkNvbnRleHQiLCJzdGF0ZSIsIm5hdl9jb250ZXh0X2RhdGEiLCJoYW5kbGVDbGljayIsImlkIiwic2FtcGxpbmdQcm9wZXJ0aWVzUm91dGUiLCJsb2NhbGUiLCJ1cmwiLCJwdXNoIiwiZ2V0QWRkcmVzcyIsIk1PQklMRV9NT0RBTF9URVhUX0xFTkdUSCIsInRleHQiLCJsZW5ndGgiLCJzbGljZSIsImZhVGltZXMiLCJpMThuIiwidCIsIlBpbiIsIlBob25lIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUVBOztBQUNBOztBQUNBOzs7Ozs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFPQSxJQUFNQSx3QkFBd0IsR0FBR0MsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsOEpBZ0JqQjtBQUFBLE1BQUdDLEtBQUgsUUFBR0EsS0FBSDtBQUFBLFNBQWVBLEtBQUssQ0FBQ0MsV0FBTixDQUFrQkMsT0FBbEIsQ0FBMEJDLEVBQXpDO0FBQUEsQ0FoQmlCLENBQTlCOztBQW9CQSxJQUFNQyxjQUFjLEdBQUcsK0JBQU9DLHlCQUFQLENBQUg7QUFBQTtBQUFBO0FBQUEscURBQXBCOztBQUtBLElBQU1DLG1CQUFtQixHQUFHUiwwQkFBT0MsR0FBVjtBQUFBO0FBQUE7QUFBQSxpRUFLWjtBQUFBLE1BQUdDLEtBQUgsU0FBR0EsS0FBSDtBQUFBLFNBQWVBLEtBQUssQ0FBQ08sUUFBTixDQUFlQyxLQUE5QjtBQUFBLENBTFksQ0FBekI7O0FBUUEsSUFBTUMsa0JBQWtCLEdBQUcsK0JBQU9KLDBCQUFVSyxJQUFqQixDQUFIO0FBQUE7QUFBQTtBQUFBLHdPQUNUO0FBQUEsTUFBR1YsS0FBSCxTQUFHQSxLQUFIO0FBQUEsU0FBZUEsS0FBSyxDQUFDVyxRQUFOLENBQWVDLEVBQTlCO0FBQUEsQ0FEUyxFQU9iO0FBQUEsTUFBR1osS0FBSCxTQUFHQSxLQUFIO0FBQUEsU0FDUEEs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RUUsMENBQU1FLFlBQU4sQ0FGRixDQUpGLENBTEYsQ0FKRixlQW1CRSw2QkFBQyxhQUFELHFCQUNFLDJDQUNHbUIsY0FBS0MsQ0FBTCxDQUFPLDhDQUFQLENBREgsQ0FERixlQUlFLDJDQUNHOUIsT0FBTyxJQUFJNkIsY0FBS0MsQ0FBTCxDQUFPLGlDQUFQLENBRGQsQ0FKRixDQW5CRixDQURGLGVBNkJFLDZCQUFDLGtCQUFELHFCQUNFO0FBQUssSUFBQSxHQUFHLEVBQUVDLHlCQUFWO0FBQWUsSUFBQSxHQUFHLEVBQUM7QUFBbkIsSUFERixlQUVFLDJDQUFPUixVQUFVLEVBQWpCLENBRkYsQ0E3QkYsZUFpQ0UsNkJBQUMsa0JBQUQscUJBQ0UsNkJBQUMscUJBQUQ7QUFDRSxJQUFBLElBQUksRUFBRXpCLGFBQWEsaUJBQVVBLGFBQVYsSUFBNEI7QUFEakQsa0JBR0U7QUFBSyxJQUFBLEdBQUcsRUFBRWtDLDJCQUFWO0FBQWlCLElBQUEsR0FBRyxFQUFDO0FBQXJCLElBSEYsRUFJR25DLE9BQU8sSUFBSWdDLGNBQUtDLENBQUwsQ0FBTywyQkFBUCxDQUpkLENBREYsQ0FqQ0YsZUF5Q0UsNkJBQUMsa0JBQUQsUUFDR0QsY0FBS0MsQ0FBTCxDQUFPLG1DQUFQLENBREgsQ0F6Q0YsZUE0Q0UsNkJBQUMsa0JBQUQ7QUFBb0IsSUFBQSxPQUFPLEVBQUVuQztBQUE3QixLQUNHa0MsY0FBS0MsQ0FBTCxDQUFPLGdDQUFQLENBREgsQ0E1Q0YsQ0FERixlQWlERSw2QkFBQyxrQkFBRDtBQUNFLElBQUEsT0FBTyxFQUFDLFNBRFY7QUFFRSxJQUFBLE9BQU8sRUFBRSxLQUZYO0FBR0UsSUFBQSxPQUFPLE1BSFQ7QUFJRSxJQUFBLE9BQU8sRUFBRWI7QUFKWCxLQU1HWSxjQUFLQyxDQUFMLENBQU8sd0JBQVAsQ0FOSCxDQWpERixDQUZGLENBREY7QUErREQsQ0FuR00iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgRkMgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBMaXN0R3JvdXAgfSBmcm9tICdyZWFjdC1ib290c3RyYXAvJztcbmltcG9ydCBpMThuIGZyb20gJ3NyYy91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzL21hY3JvJztcbmltcG9ydCB7IE1PQklMRV9NT0RBTF9URVhUX0xFTkdUSCwgU2FtcGxpbmdEYXRhIH0gZnJvbSAnLi9zYW1wbGluZ3NQYWdlVXRpbHMnO1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnc3JjL3VpLWtpdCc7XG5pbXBvcnQgU2FtcGxpbmdTdGF0dXMgZnJvbSAnc3JjL3VpLWtpdC9TYW1wbGluZ1N0YXR1cy9TYW1wbGluZ1N0YXR1cyc7XG5pbXBvcnQgUGhvbmUgZnJvbSAnc3JjL2Fzc2V0cy9pY29ucy9zYW1wbGluZy1tb2RhbC1waG9uZS5zdmcnO1xuaW1wb3J0IFBpbiBmcm9tICdzcmMvYXNzZXRzL2ljb25zL3NhbXBsaW5nLW1vZGFsLXBpbi5zdmcnO1xuaW1wb3J0IHsgdXNlSGlzdG9yeSB9IGZyb20gJ3JlYWN0LXJvdXRlci1kb20nO1xuaW1wb3J0IHsgdXNlRGlzcGF0Y2gsIHVzZVNlbGVjdG9yIH0gZnJvbSAncmVhY3QtcmVkdXgnO1xuaW1wb3J0IHsgZ2V0U2FtcGxpbmdCeUlkIH0gZnJvbSAnc3JjL3N0b3JlL3NhbXBsaW5ncy9hY3Rpb25zQ3JlYXRvcic7XG5pbXBvcnQgeyB1cmxzIH0gZnJvbSAnc3JjL3V0aWxpdGllcy91cmxzJztcbmltcG9ydCB7IGFwcFJlZHVjZXIgfSBmcm9tICcuLi8uLi9zdG9yZS9yb290UmVkdWNlcic7XG5pbXBvcnQgeyBGb250QXdlc29tZUljb24gfSBmcm9tICdAZm9ydGF3ZXNvbWUvcmVhY3QtZm9udGF3ZXNvbWUnO1xuaW1wb3J0IHsgZmFUaW1lcyB9IGZyb20gJ0Bmb3J0YXdlc29tZS9mcmVlLXNvbGlkLXN2Zy1pY29ucyc7XG5cbmludGVyZmFjZSBTYW1wbGluZ01vYmlsZVByb3BzIHtcbiAgb25DbG9zZU1vZGFsOiAoKSA9PiB2b2lkO1xuICBzYW1wbGluZzogU2FtcGxpbmdEYXRhO1xuICBpc01vYmlsZVByb3BlcnRpZXM/OiBib29sZWFuO1xufVxuY29uc3QgU2FtcGxpbmdNb2JpbGVNb2RhbFN0eWxlID0gc3R5bGVkLmRpdmBcbiAgKiB7XG4gICAgZm9udC1mYW1pbHk6IE51bml0bywgR2lscm95LCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICB9XG4gIC5kcm9wcmlnaHQge1xuICAgIGJ1dHRvbiB7XG4gICAgICB3aWR0aDogMTAwdnc7XG4gICAgICA6OmFmdGVyIHtcbiAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBpbWcge1xuICAgIHdpZHRoOiAxOHB4O1xuICAgIGhlaWdodDogMThweDtcbiAgICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5wcmltYXJ5LnAxfTtcbiAgfVxuYDtcblxuY29uc3QgTGlzdEdyb3VwU3R5bGUgPSBzdHlsZWQoTGlzdEdyb3VwKWBcbiAgLyogb3ZlcnJpZGUgc2VydmVyIHN0eWxlICovXG4gIHBhZGRpbmc6IDAgMTBweCAhaW1wb3J0YW50O1xuICBib3JkZXItcmFkaXVzOiAxNHB4O1xuYDtcbmNvbnN0IE1vZGFsQ29udGFpbmVyU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogZml4ZWQ7XG4gIHdpZHRoOiAxMDB2dztcbiAgbGVmdDogMDtcbiAgYm90dG9tOiAwO1xuICB6LWluZGV4OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnpJbmRleGVzLm1vZGFsfTtcbmA7XG5cbmNvbnN0IExpc3RHcm91cEl0ZW1TdHlsZSA9IHN0eWxlZChMaXN0R3JvdXAuSXRlbSlgXG4gIGZvbnQtc2l6ZTogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5mb250U2l6ZS5tZH07XG4gIGhlaWdodDogNTVweCAhaW1wb3J0YW50O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlciAhaW1wb3J0YW50O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDVweDtcbiAgYm9yZGVyLWJvdHRvbTogMC41cHggc29saWQgIzg1OGE5NDdkICFpbXBvcnRhbnQgO1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PlxuICAgIHRoZW1lLnNhbXBsaW5nc1BhZ2UubW9iaWxlLm1vZGFsTGlzdEl0ZW1Db2xvcn0gIWltcG9ydGFudDtcbiAgc3BhbiB7XG4gICAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuc2FtcGxpbmdzUGFnZS5tb2JpbGUubW9kYWxMaXN0SXRlbUNvbG9yfTtcbiAgfVxuICAmOmxhc3Qtb2YtdHlwZSB7XG4gICAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uNjB9ICFpbXBvcnRhbnQ7XG4gIH1cbmA7XG5cbmNvbnN0IFJvd0luZm9TdHlsZSA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGJsb2NrO1xuICBiYWNrZ3JvdW5kOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjF9O1xuICBib3JkZXItdG9wLWxlZnQtcmFkaXVzOiAxNHB4O1xuICBib3JkZXItdG9wLXJpZ2h0LXJhZGl1czogMTRweDtcbiAgYm9yZGVyLWJvdHRvbTogMC41cHggc29saWQgIzg1OGE5NDdkO1xuICBwYWRkaW5nOiAyMnB4IDMycHggMDtcbmA7XG5cbmNvbnN0IEluZm9MaW5lU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBib3JkZXItdG9wOiAxcHggc29saWQgIzg1OGE5NDdkO1xuICBjb2xvcjogJHsoeyB0aGVtZSB9KSA9PiB0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm42MH07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDE2cHggMDtcbmA7XG5cbmNvbnN0IE92ZXJsYXlTdHlsZSA9IHN0eWxlZC5kaXZgXG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT5cbiAgICB0aGVtZS5zYW1wbGluZ3NQYWdlLm1vYmlsZS5tb2RhbE92ZXJsYXlCYWNrZ3JvdW5kfTtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwdmg7XG4gIGxlZnQ6IDA7XG4gIGJvdHRvbTogMDtcbiAgcG9zaXRpb246IGZpeGVkO1xuICB6LWluZGV4OiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLnpJbmRleGVzLm1vZGFsfTtcbmA7XG5cbmNvbnN0IENvbGxlY3RCdXR0b25TdHlsZSA9IHN0eWxlZChCdXR0b24pYFxuICBmb250LXNpemU6IDE4cHg7XG4gIG1hcmdpbjogMTBweDtcbiAgd2lkdGg6IGNhbGMoMTAwdncgLSAyMHB4KTtcbiAgYm9yZGVyOiBub25lO1xuICBoZWlnaHQ6IDUzcHg7XG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uMX0gIWltcG9ydGFudDtcbiAgYm9yZGVyLXJhZGl1czogMTRweCAhaW1wb3J0YW50O1xuYDtcblxuY29uc3QgU2l0ZVN0eWxlID0gc3R5bGVkLmRpdmBcbiAgZm9udC1mYW1pbHk6IE51bml0bywgR2lscm95LCBBcmlhbCwgSGVsdmV0aWNhLCBzYW5zLXNlcmlmO1xuICBmb250LXdlaWdodDogYm9sZDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogIzAwMDtcbmA7XG5cbmNvbnN0IENvbnRhY3ROdW1iZXJSb3dTdHlsZSA9IHN0eWxlZC5hYFxuICBpbWcge1xuICAgIG1hcmdpbjogMCA1cHg7XG4gIH1cbmA7XG5cbmNvbnN0IFNpdGVEZXRhaWxzU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBmb250LWZhbWlseTogTnVuaXRvLCBHaWxyb3ksIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBtYXJnaW46IDAgMCAxMHB4O1xuICBsaW5lLWhlaWdodDogMzBweDtcbiAgY29sb3I6ICR7KHsgdGhlbWUgfSkgPT4gdGhlbWUuY29sb3JTY2hlbWUubmF0dXJhbC5uNjB9O1xuYDtcblxuY29uc3QgU2l0ZURldGFpbHNGaXJzdFN0eWxlID0gc3R5bGVkLmRpdmBgO1xuXG5jb25zdCBTaXRlRGV0YWlsc1NlY29uZFN0eWxlID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICBtYXJnaW46IDVweCAwIDA7XG5gO1xuXG5jb25zdCBCb3R0b21TZWN0aW9uU3R5bGUgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDEwcHg7XG5gO1xuXG5pbnRlcmZhY2UgU2FtcGxpbmdzTW9iaWxlU3R5bGVQcm9wcyB7XG4gIGlzTW9iaWxlUHJvcGVydGllcz86IGJvb2xlYW47XG59XG5cbmNvbnN0IFN0YXR1c0NvbnRhaW5lclN0eWxlID0gc3R5bGVkLmRpdi5hdHRycyhcbiAgKHByb3BzOiBTYW1wbGluZ3NNb2JpbGVTdHlsZVByb3BzKSA9PiAoe1xuICAgIGlzTW9iaWxlUHJvcGVydGllczogcHJvcHMuaXNNb2JpbGVQcm9wZXJ0aWVzLFxuICB9KSxcbilgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA0cHg7XG4gIGltZyB7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIHdpZHRoOiAxNHB4O1xuICB9XG4gICR7KHsgaXNNb2JpbGVQcm9wZXJ0aWVzIH0pID0+XG4gICAgaXNNb2JpbGVQcm9wZXJ0aWVzICYmXG4gICAgYFxuICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICAgIGB9XG5gO1xuXG5jb25zdCBDbG9zZVRvcEJ1dHRvblN0eWxlID0gc3R5bGVkLmRpdmBcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogLTQwcHg7XG4gIHJpZ2h0OiAxMHB4O1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBiYWNrZ3JvdW5kOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjEwMH07XG4gIGNvbG9yOiAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjF9O1xuICBib3JkZXI6IDJweCBzb2xpZCAkeyh7IHRoZW1lIH0pID0+IHRoZW1lLmNvbG9yU2NoZW1lLm5hdHVyYWwubjEwMH07XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBmb250LXNpemU6IDIwcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjQ0ZW07XG4gIG1hcmdpbjogMCA4cHggMCAwO1xuICBwYWRkaW5nOiAycHggMCAwO1xuYDtcblxuZXhwb3J0IGNvbnN0IFNhbXBsaW5nTW9iaWxlTW9kYWw6IEZDPFNhbXBsaW5nTW9iaWxlUHJvcHM+ID0gKHtcbiAgb25DbG9zZU1vZGFsLFxuICBzYW1wbGluZyxcbiAgaXNNb2JpbGVQcm9wZXJ0aWVzLFxufSkgPT4ge1xuICBjb25zdCB7XG4gICAgY29udGFjdCxcbiAgICBjb250YWN0X251bWJlcjogY29udGFjdE51bWJlcixcbiAgICBsYWJfbmFtZTogbGFiTmFtZSxcbiAgICBtYW5ob2xlX2FkZHJlc3M6IG1hbmhvbGVBZGRyZXNzLFxuICAgIHN0YXR1cyxcbiAgICBzaXRlLFxuICAgIHNhbXBsaW5nX2lkOiBzYW1wbGluZ0lkLFxuICAgIHNhbXBsaW5nX2RhdGU6IHNhbXBsaW5nRGF0ZSxcbiAgICBzYW1wbGluZ190aW1lOiBzYW1wbGluZ1RpbWUsXG4gIH0gPSBzYW1wbGluZztcbiAgY29uc3QgaGlzdG9yeSA9IHVzZUhpc3RvcnkoKTtcbiAgY29uc3QgZGlzcGF0Y2ggPSB1c2VEaXNwYXRjaCgpO1xuICBjb25zdCBuYXZDb250ZXh0ID0gdXNlU2VsZWN0b3IoXG4gICAgKHN0YXRlOiBSZXR1cm5UeXBlPHR5cGVvZiBhcHBSZWR1Y2VyPikgPT4gc3RhdGUubmF2X2NvbnRleHRfZGF0YS5uYXZDb250ZXh0LFxuICApO1xuXG4gIGNvbnN0IGhhbmRsZUNsaWNrID0gKCkgPT4ge1xuICAgIGNvbnN0IHsgaWQgfSA9IHNhbXBsaW5nO1xuICAgIGRpc3BhdGNoKGdldFNhbXBsaW5nQnlJZChpZCkpO1xuICAgIGNvbnN0IHNhbXBsaW5nUHJvcGVydGllc1JvdXRlID0gdXJscyh7IGlkOiBpZCwgbG9jYWxlOiBuYXZDb250ZXh0LmxvY2FsZSB9KVxuICAgICAgLnNhbXBsaW5nc1BhZ2Uuc2FtcGxpbmdQcm9wZXJ0aWVzUm91dGUudXJsO1xuICAgIGhpc3RvcnkucHVzaChzYW1wbGluZ1Byb3BlcnRpZXNSb3V0ZSk7XG4gIH07XG5cbiAgY29uc3QgZ2V0QWRkcmVzcyA9ICgpID0+IHtcbiAgICByZXR1cm4gTU9CSUxFX01PREFMX1RFWFRfTEVOR1RIIDwgbWFuaG9sZUFkZHJlc3MudGV4dC5sZW5ndGhcbiAgICAgID8gbWFuaG9sZUFkZHJlc3MudGV4dC5zbGljZSgwLCBNT0JJTEVfTU9EQUxfVEVYVF9MRU5HVEgpICsgJy4uLidcbiAgICAgIDogbWFuaG9sZUFkZHJlc3MudGV4dDtcbiAgfTtcblxuICByZXR1cm4gKFxuICAgIDxTYW1wbGluZ01vYmlsZU1vZGFsU3R5bGU+XG4gICAgICA8T3ZlcmxheVN0eWxlIC8+XG4gICAgICA8TW9kYWxDb250YWluZXJTdHlsZT5cbiAgICAgICAgPExpc3RHcm91cFN0eWxlPlxuICAgICAgICAgIDxSb3dJbmZvU3R5bGU+XG4gICAgICAgICAgICA8Q2xvc2VUb3BCdXR0b25TdHlsZSBvbkNsaWNrPXtvbkNsb3NlTW9kYWx9PlxuICAgICAgICAgICAgICA8Rm9udEF3ZXNvbWVJY29uIGljb249e2ZhVGltZXN9IC8+XG4gICAgICAgICAgICA8L0Nsb3NlVG9wQnV0dG9uU3R5bGU+XG4gICAgICAgICAgICA8U2l0ZURldGFpbHNTdHlsZT5cbiAgICAgICAgICAgICAgPFNpdGVEZXRhaWxzRmlyc3RTdHlsZT5cbiAgICAgICAgICAgICAgICA8U2l0ZVN0eWxlPntzaXRlfTwvU2l0ZVN0eWxlPlxuICAgICAgICAgICAgICAgIDxkaXY+e3NhbXBsaW5nSWR9PC9kaXY+XG4gICAgICAgICAgICAgIDwvU2l0ZURldGFpbHNGaXJzdFN0eWxlPlxuICAgICAgICAgICAgICA8U2l0ZURldGFpbHNTZWNvbmRTdHlsZT5cbiAgICAgICAgICAgICAgICA8U3RhdHVzQ29udGFpbmVyU3R5bGUgaXNNb2JpbGVQcm9wZXJ0aWVzPXtpc01vYmlsZVByb3BlcnRpZXN9PlxuICAgICAgICAgICAgICAgICAgPFNhbXBsaW5nU3RhdHVzIHN0YXR1cz17c3RhdHVzfSAvPlxuICAgICAgICAgICAgICAgIDwvU3RhdHVzQ29udGFpbmVyU3R5bGU+XG4gICAgICAgICAgICAgICAgPEJvdHRvbVNlY3Rpb25TdHlsZT5cbiAgICAgICAgICAgICAgICAgIDxkaXY+e3NhbXBsaW5nRGF0ZX08L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXY+e3NhbXBsaW5nVGltZX08L2Rpdj5cbiAgICAgICAgICAgICAgICA8L0JvdHRvbVNlY3Rpb25TdHlsZT5cbiAgICAgICAgICAgICAgPC9TaXRlRGV0YWlsc1NlY29uZFN0eWxlPlxuICAgICAgICAgICAgPC9TaXRlRGV0YWlsc1N0eWxlPlxuICAgICAgICAgICAgPEluZm9MaW5lU3R5bGU+XG4gICAgICAgICAgICAgIDxzcGFuPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nc190YWJsZV9jb2xzLmxhYl9uYW1lJyl9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgPHNwYW4+XG4gICAgICAgICAgICAgICAge2xhYk5hbWUgfHwgaTE4bi50KCdzYW1wbGluZ3NfcGFnZS53YXNfbm90X3NlbGVjdGVkJyl9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvSW5mb0xpbmVTdHlsZT5cbiAgICAgICAgICA8L1Jvd0luZm9TdHlsZT5cbiAgICAgICAgICA8TGlzdEdyb3VwSXRlbVN0eWxlPlxuICAgICAgICAgICAgPGltZyBzcmM9e1Bpbn0gYWx0PVwicGluXCIgLz5cbiAgICAgICAgICAgIDxzcGFuPntnZXRBZGRyZXNzKCl9PC9zcGFuPlxuICAgICAgICAgIDwvTGlzdEdyb3VwSXRlbVN0eWxlPlxuICAgICAgICAgIDxMaXN0R3JvdXBJdGVtU3R5bGU+XG4gICAgICAgICAgICA8Q29udGFjdE51bWJlclJvd1N0eWxlXG4gICAgICAgICAgICAgIGhyZWY9e2NvbnRhY3ROdW1iZXIgPyBgdGVsOiR7Y29udGFjdE51bWJlcn1gIDogJyMnfVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8aW1nIHNyYz17UGhvbmV9IGFsdD1cInBpblwiIC8+XG4gICAgICAgICAgICAgIHtjb250YWN0IHx8IGkxOG4udCgnc2FtcGxpbmdzX3BhZ2Uubm9fY29udGFjdCcpfVxuICAgICAgICAgICAgPC9Db250YWN0TnVtYmVyUm93U3R5bGU+XG4gICAgICAgICAgPC9MaXN0R3JvdXBJdGVtU3R5bGU+XG4gICAgICAgICAgPExpc3RHcm91cEl0ZW1TdHlsZT5cbiAgICAgICAgICAgIHtpMThuLnQoJ3NhbXBsaW5nc19wYWdlLm1hbmhvbGVfcHJvcGVydGllcycpfVxuICAgICAgICAgIDwvTGlzdEdyb3VwSXRlbVN0eWxlPlxuICAgICAgICAgIDxMaXN0R3JvdXBJdGVtU3R5bGUgb25DbGljaz17b25DbG9zZU1vZGFsfT5cbiAgICAgICAgICAgIHtpMThuLnQoJ3NhbXBsaW5nc19wYWdlLmNhbmNlbF9zYW1wbGluZycpfVxuICAgICAgICAgIDwvTGlzdEdyb3VwSXRlbVN0eWxlPlxuICAgICAgICA8L0xpc3RHcm91cFN0eWxlPlxuICAgICAgICA8Q29sbGVjdEJ1dHRvblN0eWxlXG4gICAgICAgICAgdmFyaWFudD1cInByaW1hcnlcIlxuICAgICAgICAgIHJvdW5kZWQ9e2ZhbHNlfVxuICAgICAgICAgIG91dGxpbmVcbiAgICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbGlja31cbiAgICAgICAgPlxuICAgICAgICAgIHtpMThuLnQoJ3NhbXBsaW5nc19wYWdlLmNvbGxlY3QnKX1cbiAgICAgICAgPC9Db2xsZWN0QnV0dG9uU3R5bGU+XG4gICAgICA8L01vZGFsQ29udGFpbmVyU3R5bGU+XG4gICAgPC9TYW1wbGluZ01vYmlsZU1vZGFsU3R5bGU+XG4gICk7XG59O1xuIl19
@@ -0,0 +1,74 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+
10
+ var _toConsumableArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/toConsumableArray"));
11
+
12
+ var _react = _interopRequireDefault(require("react"));
13
+
14
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
15
+
16
+ var _Alert = _interopRequireDefault(require("../../../utilities/Alert"));
17
+
18
+ var _i18n = _interopRequireDefault(require("utilities/i18n"));
19
+
20
+ var _theme = require("../../../styles/theme/theme");
21
+
22
+ var ModalContent = _styledComponents.default.div.withConfig({
23
+ displayName: "ImageDeleteModal__ModalContent",
24
+ componentId: "sc-6upjqu-0"
25
+ })(["padding:30px;font-size:16px;text-align:center;font-weight:600;"]);
26
+
27
+ var ModalActions = _styledComponents.default.div.withConfig({
28
+ displayName: "ImageDeleteModal__ModalActions",
29
+ componentId: "sc-6upjqu-1"
30
+ })(["position:absolute;bottom:0;width:100%;"]);
31
+
32
+ var ModalActionsButton = _styledComponents.default.div.withConfig({
33
+ displayName: "ImageDeleteModal__ModalActionsButton",
34
+ componentId: "sc-6upjqu-2"
35
+ })(["border-top:1px solid #a8a8aa;text-align:center;height:45px;display:flex;justify-content:center;align-items:center;color:", ";"], function (_ref) {
36
+ var color = _ref.color;
37
+ return color;
38
+ });
39
+
40
+ var ImageDeleteModal = function ImageDeleteModal(_ref2) {
41
+ var modalDetails = _ref2.modalDetails,
42
+ setPhotosToDelete = _ref2.setPhotosToDelete,
43
+ setImgsUrls = _ref2.setImgsUrls,
44
+ imgsUrls = _ref2.imgsUrls,
45
+ setModalDetails = _ref2.setModalDetails;
46
+
47
+ var handleImageDelete = function handleImageDelete() {
48
+ setPhotosToDelete(function (prev) {
49
+ return [].concat((0, _toConsumableArray2.default)(prev), [modalDetails.instance.id]);
50
+ });
51
+ var imgsUrlsCopy = JSON.parse(JSON.stringify(imgsUrls));
52
+ var index = imgsUrlsCopy.findIndex(function (x) {
53
+ return x.id === modalDetails.instance.id;
54
+ });
55
+ imgsUrlsCopy.splice(index, 1);
56
+ index !== -1 && setImgsUrls(imgsUrlsCopy);
57
+ };
58
+
59
+ return /*#__PURE__*/_react.default.createElement(_Alert.default, {
60
+ setModalDetails: setModalDetails,
61
+ children: /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(ModalContent, null, _i18n.default.t('samplings_page.samplings_properties.delete_confirmation')), /*#__PURE__*/_react.default.createElement(ModalActions, null, /*#__PURE__*/_react.default.createElement(ModalActionsButton, {
62
+ color: _theme.theme.colorScheme.natural.n60
63
+ }, _i18n.default.t('samplings_page.samplings_properties.no')), /*#__PURE__*/_react.default.createElement(ModalActionsButton, {
64
+ onClick: function onClick() {
65
+ handleImageDelete();
66
+ },
67
+ color: _theme.theme.colorScheme.data.R100
68
+ }, _i18n.default.t('samplings_page.samplings_properties.yes'))))
69
+ });
70
+ };
71
+
72
+ var _default = ImageDeleteModal;
73
+ exports.default = _default;
74
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9wYWdlcy9TYW1wbGluZ3NQYWdlL1NhbXBsaW5nUHJvcGVydGllcy9JbWFnZURlbGV0ZU1vZGFsLnRzeCJdLCJuYW1lcyI6WyJNb2RhbENvbnRlbnQiLCJzdHlsZWQiLCJkaXYiLCJNb2RhbEFjdGlvbnMiLCJNb2RhbEFjdGlvbnNCdXR0b24iLCJjb2xvciIsIkltYWdlRGVsZXRlTW9kYWwiLCJtb2RhbERldGFpbHMiLCJzZXRQaG90b3NUb0RlbGV0ZSIsInNldEltZ3NVcmxzIiwiaW1nc1VybHMiLCJzZXRNb2RhbERldGFpbHMiLCJoYW5kbGVJbWFnZURlbGV0ZSIsInByZXYiLCJpbnN0YW5jZSIsImlkIiwiaW1nc1VybHNDb3B5IiwiSlNPTiIsInBhcnNlIiwic3RyaW5naWZ5IiwiaW5kZXgiLCJmaW5kSW5kZXgiLCJ4Iiwic3BsaWNlIiwiaTE4biIsInQiLCJ0aGVtZSIsImNvbG9yU2NoZW1lIiwibmF0dXJhbCIsIm42MCIsImRhdGEiLCJSMTAwIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQUFBOztBQUNBOztBQUNBOztBQUNBOztBQUNBOztBQVdBLElBQU1BLFlBQVksR0FBR0MsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsc0VBQWxCOztBQU9BLElBQU1DLFlBQVksR0FBR0YsMEJBQU9DLEdBQVY7QUFBQTtBQUFBO0FBQUEsOENBQWxCOztBQU1BLElBQU1FLGtCQUFrQixHQUFHSCwwQkFBT0MsR0FBVjtBQUFBO0FBQUE7QUFBQSxzSUFPYjtBQUFBLE1BQUdHLEtBQUgsUUFBR0EsS0FBSDtBQUFBLFNBQWVBLEtBQWY7QUFBQSxDQVBhLENBQXhCOztBQVVBLElBQU1DLGdCQUEyQyxHQUFHLFNBQTlDQSxnQkFBOEMsUUFNOUM7QUFBQSxNQUxKQyxZQUtJLFNBTEpBLFlBS0k7QUFBQSxNQUpKQyxpQkFJSSxTQUpKQSxpQkFJSTtBQUFBLE1BSEpDLFdBR0ksU0FISkEsV0FHSTtBQUFBLE1BRkpDLFFBRUksU0FGSkEsUUFFSTtBQUFBLE1BREpDLGVBQ0ksU0FESkEsZUFDSTs7QUFDSixNQUFNQyxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQW9CLEdBQU07QUFDOUJKLElBQUFBLGlCQUFpQixDQUFDLFVBQUNLLElBQUQ7QUFBQSx3REFBY0EsSUFBZCxJQUFvQk4sWUFBWSxDQUFDTyxRQUFiLENBQXNCQyxFQUExQztBQUFBLEtBQUQsQ0FBakI7QUFDQSxRQUFJQyxZQUFZLEdBQUdDLElBQUksQ0FBQ0MsS0FBTCxDQUFXRCxJQUFJLENBQUNFLFNBQUwsQ0FBZVQsUUFBZixDQUFYLENBQW5CO0FBQ0EsUUFBSVUsS0FBSyxHQUFHSixZQUFZLENBQUNLLFNBQWIsQ0FDVixVQUFDQyxDQUFEO0FBQUEsYUFBT0EsQ0FBQyxDQUFDUCxFQUFGLEtBQVNSLFlBQVksQ0FBQ08sUUFBYixDQUFzQkMsRUFBdEM7QUFBQSxLQURVLENBQVo7QUFHQUMsSUFBQUEsWUFBWSxDQUFDTyxNQUFiLENBQW9CSCxLQUFwQixFQUEyQixDQUEzQjtBQUNBQSxJQUFBQSxLQUFLLEtBQUssQ0FBQyxDQUFYLElBQWdCWCxXQUFXLENBQUNPLFlBQUQsQ0FBM0I7QUFDRCxHQVJEOztBQVVBLHNCQUNFLDZCQUFDLGNBQUQ7QUFDRSxJQUFBLGVBQWUsRUFBRUwsZUFEbkI7QUFFRSxJQUFBLFFBQVEsZUFDTix5RUFDRSw2QkFBQyxZQUFELFFBQ0dhLGNBQUtDLENBQUwsQ0FBTyx5REFBUCxDQURILENBREYsZUFJRSw2QkFBQyxZQUFELHFCQUNFLDZCQUFDLGtCQUFEO0FBQW9CLE1BQUEsS0FBSyxFQUFFQyxhQUFNQyxXQUFOLENBQWtCQyxPQUFsQixDQUEwQkM7QUFBckQsT0FDR0wsY0FBS0MsQ0FBTCxDQUFPLHdDQUFQLENBREgsQ0FERixlQUlFLDZCQUFDLGtCQUFEO0FBQ0UsTUFBQSxPQUFPLEVBQUUsbUJBQU07QUFDYmIsUUFBQUEsaUJBQWlCO0FBQ2xCLE9BSEg7QUFJRSxNQUFBLEtBQUssRUFBRWMsYUFBTUMsV0FBTixDQUFrQkcsSUFBbEIsQ0FBdUJDO0FBSmhDLE9BTUdQLGNBQUtDLENBQUwsQ0FBTyx5Q0FBUCxDQU5ILENBSkYsQ0FKRjtBQUhKLElBREY7QUF5QkQsQ0ExQ0Q7O2VBNENlbkIsZ0IiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgRkMgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJztcbmltcG9ydCBBbGVydCBmcm9tICcuLi8uLi8uLi91dGlsaXRpZXMvQWxlcnQnO1xuaW1wb3J0IGkxOG4gZnJvbSAnc3JjL3V0aWxpdGllcy9pMThuJztcbmltcG9ydCB7IHRoZW1lIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL3RoZW1lL3RoZW1lJztcbmltcG9ydCB7IEFsZXJ0RGV0YWlscyB9IGZyb20gJy4vc2FtcGxpbmdQcm9wZXJ0aWVzVXRpbHMnO1xuXG50eXBlIEltYWdlRGVsZXRlTW9kYWxQcm9wcyA9IHtcbiAgbW9kYWxEZXRhaWxzOiBBbGVydERldGFpbHM7XG4gIHNldE1vZGFsRGV0YWlsczogUmVhY3QuRGlzcGF0Y2g8UmVhY3QuU2V0U3RhdGVBY3Rpb248QWxlcnREZXRhaWxzPj47XG4gIHNldFBob3Rvc1RvRGVsZXRlOiBSZWFjdC5EaXNwYXRjaDxSZWFjdC5TZXRTdGF0ZUFjdGlvbjxudW1iZXJbXT4+O1xuICBzZXRJbWdzVXJsczogUmVhY3QuRGlzcGF0Y2g8UmVhY3QuU2V0U3RhdGVBY3Rpb248YW55W10+PjtcbiAgaW1nc1VybHM6IGFueVtdO1xufTtcblxuY29uc3QgTW9kYWxDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogMzBweDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG5gO1xuXG5jb25zdCBNb2RhbEFjdGlvbnMgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGJvdHRvbTogMDtcbiAgd2lkdGg6IDEwMCU7XG5gO1xuXG5jb25zdCBNb2RhbEFjdGlvbnNCdXR0b24gPSBzdHlsZWQuZGl2YFxuICBib3JkZXItdG9wOiAxcHggc29saWQgI2E4YThhYTtcbiAgdGV4dC1hbGlnbjogY2VudGVyO1xuICBoZWlnaHQ6IDQ1cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBjb2xvcjogJHsoeyBjb2xvciB9KSA9PiBjb2xvcn07XG5gO1xuXG5jb25zdCBJbWFnZURlbGV0ZU1vZGFsOiBGQzxJbWFnZURlbGV0ZU1vZGFsUHJvcHM+ID0gKHtcbiAgbW9kYWxEZXRhaWxzLFxuICBzZXRQaG90b3NUb0RlbGV0ZSxcbiAgc2V0SW1nc1VybHMsXG4gIGltZ3NVcmxzLFxuICBzZXRNb2RhbERldGFpbHMsXG59KSA9PiB7XG4gIGNvbnN0IGhhbmRsZUltYWdlRGVsZXRlID0gKCkgPT4ge1xuICAgIHNldFBob3Rvc1RvRGVsZXRlKChwcmV2KSA9PiBbLi4ucHJldiwgbW9kYWxEZXRhaWxzLmluc3RhbmNlLmlkXSk7XG4gICAgbGV0IGltZ3NVcmxzQ29weSA9IEpTT04ucGFyc2UoSlNPTi5zdHJpbmdpZnkoaW1nc1VybHMpKTtcbiAgICBsZXQgaW5kZXggPSBpbWdzVXJsc0NvcHkuZmluZEluZGV4KFxuICAgICAgKHgpID0+IHguaWQgPT09IG1vZGFsRGV0YWlscy5pbnN0YW5jZS5pZCxcbiAgICApO1xuICAgIGltZ3NVcmxzQ29weS5zcGxpY2UoaW5kZXgsIDEpO1xuICAgIGluZGV4ICE9PSAtMSAmJiBzZXRJbWdzVXJscyhpbWdzVXJsc0NvcHkpO1xuICB9O1xuXG4gIHJldHVybiAoXG4gICAgPEFsZXJ0XG4gICAgICBzZXRNb2RhbERldGFpbHM9e3NldE1vZGFsRGV0YWlsc31cbiAgICAgIGNoaWxkcmVuPXtcbiAgICAgICAgPD5cbiAgICAgICAgICA8TW9kYWxDb250ZW50PlxuICAgICAgICAgICAge2kxOG4udCgnc2FtcGxpbmdzX3BhZ2Uuc2FtcGxpbmdzX3Byb3BlcnRpZXMuZGVsZXRlX2NvbmZpcm1hdGlvbicpfVxuICAgICAgICAgIDwvTW9kYWxDb250ZW50PlxuICAgICAgICAgIDxNb2RhbEFjdGlvbnM+XG4gICAgICAgICAgICA8TW9kYWxBY3Rpb25zQnV0dG9uIGNvbG9yPXt0aGVtZS5jb2xvclNjaGVtZS5uYXR1cmFsLm42MH0+XG4gICAgICAgICAgICAgIHtpMThuLnQoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nc19wcm9wZXJ0aWVzLm5vJyl9XG4gICAgICAgICAgICA8L01vZGFsQWN0aW9uc0J1dHRvbj5cbiAgICAgICAgICAgIDxNb2RhbEFjdGlvbnNCdXR0b25cbiAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4ge1xuICAgICAgICAgICAgICAgIGhhbmRsZUltYWdlRGVsZXRlKCk7XG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgIGNvbG9yPXt0aGVtZS5jb2xvclNjaGVtZS5kYXRhLlIxMDB9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtpMThuLnQoJ3NhbXBsaW5nc19wYWdlLnNhbXBsaW5nc19wcm9wZXJ0aWVzLnllcycpfVxuICAgICAgICAgICAgPC9Nb2RhbEFjdGlvbnNCdXR0b24+XG4gICAgICAgICAgPC9Nb2RhbEFjdGlvbnM+XG4gICAgICAgIDwvPlxuICAgICAgfVxuICAgIC8+XG4gICk7XG59O1xuXG5leHBvcnQgZGVmYXVsdCBJbWFnZURlbGV0ZU1vZGFsO1xuIl19