@kando-env/kando-ui 1.2.466 → 1.2.467-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 (46) hide show
  1. package/lib/Router.js +12 -5
  2. package/lib/Widgets/Map/Map.js +3 -3
  3. package/lib/Widgets/Map/MapUtils.js +2 -1
  4. package/lib/Widgets/MostPolluting/Factories/factoriesResponse.interface.js +1 -1
  5. package/lib/assets/streami-logo.svg +26 -0
  6. package/lib/components/DischargeHeatmap/mocks/handlers.js +3 -3
  7. package/lib/components/Header/Toolbar/Toolbar.js +3 -6
  8. package/lib/components/KandoModal/KandoModal.js +27 -4
  9. package/lib/components/KandoModal/styles.scss +4 -0
  10. package/lib/components/SeasonalInsights/SeasonalInsights.js +230 -0
  11. package/lib/components/SevereEvent/SevereEvent.js +18 -2
  12. package/lib/components/SevereEvent/SevereEvent.scss +24 -0
  13. package/lib/components/SevereEvent/UpstreamBadge.js +60 -0
  14. package/lib/components/TopBanner/TopBanner.js +227 -0
  15. package/lib/components/TopBanner/insightsDismissalStorage.js +36 -0
  16. package/lib/i18n/en.json +28 -3
  17. package/lib/i18n/fr.json +13 -0
  18. package/lib/i18n/he.json +21 -1
  19. package/lib/i18n/it.json +13 -0
  20. package/lib/macros/getVersion.js +2 -2
  21. package/lib/pages/AreaPage/Dashboard/Dashboard.js +2 -2
  22. package/lib/pages/EventsPage/events/EventsStyle.scss +1 -1
  23. package/lib/pages/EventsPage/events/event_info/EventDetails.js +2 -2
  24. package/lib/pages/EventsPage/events/event_info/EventSection.test.js +21 -22
  25. package/lib/pages/EventsPage/events/event_info/Header/Header.js +1 -1
  26. package/lib/pages/EventsPage/events/event_info/Header/HeaderContainer.js +2 -2
  27. package/lib/pages/EventsPage/events/event_info/Header/index.js +1 -1
  28. package/lib/pages/EventsPage/events/event_info/SeverityScore/index.js +1 -1
  29. package/lib/pages/EventsPage/events/event_info/Timelines/index.js +1 -1
  30. package/lib/pages/EventsPage/events/events_list/EventsList.js +7 -1
  31. package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +3 -3
  32. package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +5 -1
  33. package/lib/pages/EventsPage/events/events_list/Sort.js +21 -15
  34. package/lib/pages/NetworkPage/NetworkPage.js +48 -0
  35. package/lib/pages/SamplingsPage/SamplingProperties/SamplingProperties.js +10 -7
  36. package/lib/pages/SitePage/SitePage.js +2 -2
  37. package/lib/test/mocks/browser.js +1 -1
  38. package/lib/test/test-utils.js +1 -1
  39. package/lib/ui-kit/HierarchyGraph/AutoFitTree.js +27 -10
  40. package/lib/ui-kit/HierarchyGraph/HierarchyGraph.js +20 -10
  41. package/lib/ui-kit/HierarchyGraph/NetworkNode.js +37 -0
  42. package/lib/ui-kit/HierarchyGraph/style.scss +4 -0
  43. package/lib/ui-kit/KandoTable/KandoTable.test.js +1 -1
  44. package/lib/utilities/scoreToData.test.js +1 -1
  45. package/lib/utilities/urls.js +3 -3
  46. package/package.json +1 -1
@@ -0,0 +1,230 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ var _typeof = require("@babel/runtime/helpers/typeof");
5
+ Object.defineProperty(exports, "__esModule", {
6
+ value: true
7
+ });
8
+ exports.default = void 0;
9
+ var _regenerator = _interopRequireDefault(require("@babel/runtime/regenerator"));
10
+ var _asyncToGenerator2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/asyncToGenerator"));
11
+ var _slicedToArray2 = _interopRequireDefault(require("@babel/runtime/helpers/esm/slicedToArray"));
12
+ var _styledComponents = _interopRequireDefault(require("styled-components"));
13
+ var _i18next = _interopRequireDefault(require("i18next"));
14
+ var _react = _interopRequireWildcard(require("react"));
15
+ var _Sector = _interopRequireDefault(require("../Sector"));
16
+ var _MoreInfoButton = require("pages/EventsPage/events/event_info/SourceDetails/MoreInfoButton");
17
+ var _streamiLogo = _interopRequireDefault(require("assets/streami-logo.svg"));
18
+ var _useNavContext2 = require("hooks/useNavContext");
19
+ var _reactRedux = require("react-redux");
20
+ 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); }
21
+ 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; }
22
+ var SeasonalInsights = function SeasonalInsights(_ref) {
23
+ var apiEndpoint = _ref.apiEndpoint,
24
+ dataProp = _ref.data,
25
+ className = _ref.className,
26
+ onLoaded = _ref.onLoaded;
27
+ var _useState = (0, _react.useState)(dataProp !== null && dataProp !== void 0 ? dataProp : null),
28
+ _useState2 = (0, _slicedToArray2.default)(_useState, 2),
29
+ data = _useState2[0],
30
+ setData = _useState2[1];
31
+ var _useState3 = (0, _react.useState)(false),
32
+ _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
33
+ showDetails = _useState4[0],
34
+ setShowDetails = _useState4[1];
35
+
36
+ // If parent provides data, render it and skip fetching.
37
+ (0, _react.useEffect)(function () {
38
+ if (typeof dataProp === 'undefined') return;
39
+ setData(dataProp !== null && dataProp !== void 0 ? dataProp : null);
40
+ }, [dataProp]);
41
+ var risk = (0, _react.useMemo)(function () {
42
+ var _data$insight_info;
43
+ var risks = data === null || data === void 0 ? void 0 : (_data$insight_info = data.insight_info) === null || _data$insight_info === void 0 ? void 0 : _data$insight_info.risks;
44
+ if (!risks) return null;
45
+ var lang = (data === null || data === void 0 ? void 0 : data.locale) || 'en';
46
+ return risks[lang] || null;
47
+ }, [data]);
48
+ var _useSelector = (0, _reactRedux.useSelector)(function (state) {
49
+ return [state.global_data.waterAuthorityId];
50
+ }),
51
+ _useSelector2 = (0, _slicedToArray2.default)(_useSelector, 1),
52
+ waterAuthorityId = _useSelector2[0];
53
+ var summary = (risk === null || risk === void 0 ? void 0 : risk.risk_summary) || '';
54
+ var detailed = (risk === null || risk === void 0 ? void 0 : risk.detailed_risks) || [];
55
+ var hasDetails = detailed.length > 0;
56
+ var _useNavContext = (0, _useNavContext2.useNavContext)(),
57
+ isRtl = _useNavContext.isRtl,
58
+ locale = _useNavContext.locale;
59
+ var streamiHref = "/assistant?locale=".concat(locale, "&water_authority_id=").concat(waterAuthorityId);
60
+ (0, _react.useEffect)(function () {
61
+ // If parent provides data, do not fetch.
62
+ if (typeof dataProp !== 'undefined') return;
63
+ if (!apiEndpoint) return;
64
+ var controller = new AbortController();
65
+ fetch(apiEndpoint, {
66
+ signal: controller.signal
67
+ }).then( /*#__PURE__*/function () {
68
+ var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(res) {
69
+ return _regenerator.default.wrap(function _callee$(_context) {
70
+ while (1) {
71
+ switch (_context.prev = _context.next) {
72
+ case 0:
73
+ if (res.ok) {
74
+ _context.next = 2;
75
+ break;
76
+ }
77
+ throw new Error("Request failed (".concat(res.status, ")"));
78
+ case 2:
79
+ _context.next = 4;
80
+ return res.json();
81
+ case 4:
82
+ return _context.abrupt("return", _context.sent);
83
+ case 5:
84
+ case "end":
85
+ return _context.stop();
86
+ }
87
+ }
88
+ }, _callee);
89
+ }));
90
+ return function (_x) {
91
+ return _ref2.apply(this, arguments);
92
+ };
93
+ }()).then(function (payload) {
94
+ setData(payload);
95
+ if (onLoaded) onLoaded(payload);
96
+ }).catch(function (err) {
97
+ if ((err === null || err === void 0 ? void 0 : err.name) === 'AbortError') return;
98
+ setData(null);
99
+ });
100
+ return function () {
101
+ return controller.abort();
102
+ };
103
+ }, [apiEndpoint, dataProp, onLoaded]);
104
+ return /*#__PURE__*/_react.default.createElement(Container, {
105
+ isRtl: isRtl
106
+ }, /*#__PURE__*/_react.default.createElement(SummarySection, null, /*#__PURE__*/_react.default.createElement(SummaryHeader, {
107
+ isRtl: isRtl
108
+ }, /*#__PURE__*/_react.default.createElement(SummaryTitle, null, _i18next.default.t('seasonal_insights.summary_heading'))), /*#__PURE__*/_react.default.createElement(SummaryText, null, summary)), /*#__PURE__*/_react.default.createElement(ToggleRow, null, /*#__PURE__*/_react.default.createElement(AttributionLink, {
109
+ href: streamiHref
110
+ }, /*#__PURE__*/_react.default.createElement(BrandLogoSmall, {
111
+ src: _streamiLogo.default,
112
+ alt: "STREAMi"
113
+ }), /*#__PURE__*/_react.default.createElement(PoweredBy, null, 'Powered by STREAMi')), hasDetails ? /*#__PURE__*/_react.default.createElement(MoreInfoWrap, null, /*#__PURE__*/_react.default.createElement(_MoreInfoButton.MoreInfoDiv, null, /*#__PURE__*/_react.default.createElement("a", {
114
+ href: "#",
115
+ className: "more-info-button",
116
+ onClick: function onClick(e) {
117
+ e.preventDefault();
118
+ setShowDetails(function (prev) {
119
+ return !prev;
120
+ });
121
+ },
122
+ "aria-expanded": showDetails
123
+ }, showDetails ? _i18next.default.t('seasonal_insights.show_less') : _i18next.default.t('seasonal_insights.show_more')))) : null), hasDetails ? /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, showDetails ? /*#__PURE__*/_react.default.createElement(CardList, null, detailed.map(function (r, idx) {
124
+ var _r$expected_pollution;
125
+ return /*#__PURE__*/_react.default.createElement(Card, {
126
+ key: idx
127
+ }, /*#__PURE__*/_react.default.createElement(CardHeader, null, /*#__PURE__*/_react.default.createElement(TitleBlock, null, formatSectorIconName(r.sector) ? /*#__PURE__*/_react.default.createElement(_Sector.default, {
128
+ sectorIconName: formatSectorIconName(r.sector) || 'Missing',
129
+ sectorName: r.sector,
130
+ showLabel: false,
131
+ withTooltip: true
132
+ }) : null, /*#__PURE__*/_react.default.createElement(CardTitle, null, r.siu_name))), ((_r$expected_pollution = r.expected_pollution_types) === null || _r$expected_pollution === void 0 ? void 0 : _r$expected_pollution.length) ? /*#__PURE__*/_react.default.createElement(CardSection, null, /*#__PURE__*/_react.default.createElement(SectionLabel, null, _i18next.default.t('seasonal_insights.key_risks')), /*#__PURE__*/_react.default.createElement(ChipRow, null, r.expected_pollution_types.map(function (p, chipIdx) {
133
+ return /*#__PURE__*/_react.default.createElement(Chip, {
134
+ key: "".concat(p, "-").concat(chipIdx)
135
+ }, p);
136
+ }))) : null, r.seasonal_or_location_factors ? /*#__PURE__*/_react.default.createElement(CardSection, null, /*#__PURE__*/_react.default.createElement(SectionLabel, null, _i18next.default.t('seasonal_insights.seasonal_factors')), /*#__PURE__*/_react.default.createElement(SectionText, null, r.seasonal_or_location_factors)) : null);
137
+ })) : null) : null);
138
+ };
139
+ var Container = _styledComponents.default.div.withConfig({
140
+ displayName: "SeasonalInsights__Container",
141
+ componentId: "sc-jrd7ho-0"
142
+ })(["padding:16px;margin:16px;display:flex;flex-direction:column;gap:12px;text-align:", ";min-width:320px;border-radius:12px;"], function (_ref3) {
143
+ var isRtl = _ref3.isRtl;
144
+ return isRtl ? 'right' : 'left';
145
+ });
146
+ var SummarySection = _styledComponents.default.div.withConfig({
147
+ displayName: "SeasonalInsights__SummarySection",
148
+ componentId: "sc-jrd7ho-1"
149
+ })(["display:flex;flex-direction:column;gap:8px;padding:12px 14px;border-radius:10px;"]);
150
+ var SummaryHeader = _styledComponents.default.div.withConfig({
151
+ displayName: "SeasonalInsights__SummaryHeader",
152
+ componentId: "sc-jrd7ho-2"
153
+ })(["display:flex;align-items:center;justify-content:space-between;gap:12px;flex-direction:", ";"], function (_ref4) {
154
+ var isRtl = _ref4.isRtl;
155
+ return isRtl ? 'row-reverse' : 'row';
156
+ });
157
+ var SummaryTitle = _styledComponents.default.div.withConfig({
158
+ displayName: "SeasonalInsights__SummaryTitle",
159
+ componentId: "sc-jrd7ho-3"
160
+ })(["font-weight:600;font-size:16px;color:#1d1d1d;"]);
161
+ var SummaryText = _styledComponents.default.div.withConfig({
162
+ displayName: "SeasonalInsights__SummaryText",
163
+ componentId: "sc-jrd7ho-4"
164
+ })(["font-size:15px;color:#2b2b2b;line-height:1.5;"]);
165
+ var ToggleRow = _styledComponents.default.div.withConfig({
166
+ displayName: "SeasonalInsights__ToggleRow",
167
+ componentId: "sc-jrd7ho-5"
168
+ })(["display:flex;justify-content:space-between;align-items:center;margin-top:6px;gap:10px;flex-direction:row;.more-info-button:focus,.more-info-button:focus-visible{outline:none;box-shadow:none;}"]);
169
+ var PoweredBy = _styledComponents.default.span.withConfig({
170
+ displayName: "SeasonalInsights__PoweredBy",
171
+ componentId: "sc-jrd7ho-6"
172
+ })(["font-size:12px;color:#6b7280;white-space:nowrap;"]);
173
+ var BrandLogoSmall = _styledComponents.default.img.withConfig({
174
+ displayName: "SeasonalInsights__BrandLogoSmall",
175
+ componentId: "sc-jrd7ho-7"
176
+ })(["height:16px;width:auto;opacity:0.7;flex-shrink:0;"]);
177
+ var AttributionLink = _styledComponents.default.a.withConfig({
178
+ displayName: "SeasonalInsights__AttributionLink",
179
+ componentId: "sc-jrd7ho-8"
180
+ })(["display:inline-flex;align-items:center;gap:6px;order:1;text-decoration:none;color:inherit;&:hover ", "{opacity:1;}&:hover ", "{text-decoration:underline;}&:focus,&:focus-visible{outline:none;box-shadow:none;}"], BrandLogoSmall, PoweredBy);
181
+ var MoreInfoWrap = _styledComponents.default.div.withConfig({
182
+ displayName: "SeasonalInsights__MoreInfoWrap",
183
+ componentId: "sc-jrd7ho-9"
184
+ })(["order:2;"]);
185
+ var CardList = _styledComponents.default.div.withConfig({
186
+ displayName: "SeasonalInsights__CardList",
187
+ componentId: "sc-jrd7ho-10"
188
+ })(["display:flex;flex-direction:column;gap:12px;"]);
189
+ var Card = _styledComponents.default.div.withConfig({
190
+ displayName: "SeasonalInsights__Card",
191
+ componentId: "sc-jrd7ho-11"
192
+ })(["padding:14px;border-radius:10px;background:#ffffff;border:1px solid #e4e6ea;box-shadow:0 1px 4px rgba(0,0,0,0.05);display:flex;flex-direction:column;gap:10px;"]);
193
+ var CardHeader = _styledComponents.default.div.withConfig({
194
+ displayName: "SeasonalInsights__CardHeader",
195
+ componentId: "sc-jrd7ho-12"
196
+ })(["display:flex;align-items:center;gap:8px;justify-content:space-between;"]);
197
+ var TitleBlock = _styledComponents.default.div.withConfig({
198
+ displayName: "SeasonalInsights__TitleBlock",
199
+ componentId: "sc-jrd7ho-13"
200
+ })(["display:inline-flex;align-items:center;margin-inline-start:-14px;"]);
201
+ var CardTitle = _styledComponents.default.div.withConfig({
202
+ displayName: "SeasonalInsights__CardTitle",
203
+ componentId: "sc-jrd7ho-14"
204
+ })(["font-weight:600;font-size:15px;color:#1e1e1e;"]);
205
+ var CardSection = _styledComponents.default.div.withConfig({
206
+ displayName: "SeasonalInsights__CardSection",
207
+ componentId: "sc-jrd7ho-15"
208
+ })(["display:flex;flex-direction:column;gap:6px;"]);
209
+ var SectionLabel = _styledComponents.default.div.withConfig({
210
+ displayName: "SeasonalInsights__SectionLabel",
211
+ componentId: "sc-jrd7ho-16"
212
+ })(["font-size:14px;color:rgb(184,189,199);"]);
213
+ var SectionText = _styledComponents.default.div.withConfig({
214
+ displayName: "SeasonalInsights__SectionText",
215
+ componentId: "sc-jrd7ho-17"
216
+ })(["font-size:14px;color:#3d3d3d;line-height:1.45;"]);
217
+ var ChipRow = _styledComponents.default.div.withConfig({
218
+ displayName: "SeasonalInsights__ChipRow",
219
+ componentId: "sc-jrd7ho-18"
220
+ })(["display:flex;gap:8px;flex-wrap:wrap;"]);
221
+ var Chip = _styledComponents.default.span.withConfig({
222
+ displayName: "SeasonalInsights__Chip",
223
+ componentId: "sc-jrd7ho-19"
224
+ })(["background:#f1f3f5;color:#1f2933;border-radius:12px;padding:6px 10px;font-size:12px;font-weight:500;border:1px solid #e0e4ea;"]);
225
+ var formatSectorIconName = function formatSectorIconName(value) {
226
+ return (value || '').toString().trim().toLowerCase().replace(/[^a-z0-9]+/g, '_').replace(/^_+|_+$/g, '');
227
+ };
228
+ var _default = SeasonalInsights;
229
+ exports.default = _default;
230
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfaTE4bmV4dCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJyZXF1aXJlIiwiX3JlYWN0IiwiX2ludGVyb3BSZXF1aXJlV2lsZGNhcmQiLCJfU2VjdG9yIiwiX01vcmVJbmZvQnV0dG9uIiwiX3N0cmVhbWlMb2dvIiwiX3VzZU5hdkNvbnRleHQyIiwiX3JlYWN0UmVkdXgiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIlNlYXNvbmFsSW5zaWdodHMiLCJfcmVmIiwiYXBpRW5kcG9pbnQiLCJkYXRhUHJvcCIsImRhdGEiLCJjbGFzc05hbWUiLCJvbkxvYWRlZCIsIl91c2VTdGF0ZSIsInVzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5MiIsInNldERhdGEiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsInNob3dEZXRhaWxzIiwic2V0U2hvd0RldGFpbHMiLCJ1c2VFZmZlY3QiLCJyaXNrIiwidXNlTWVtbyIsIl9kYXRhJGluc2lnaHRfaW5mbyIsInJpc2tzIiwiaW5zaWdodF9pbmZvIiwibGFuZyIsImxvY2FsZSIsIl91c2VTZWxlY3RvciIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJnbG9iYWxfZGF0YSIsIndhdGVyQXV0aG9yaXR5SWQiLCJfdXNlU2VsZWN0b3IyIiwic3VtbWFyeSIsInJpc2tfc3VtbWFyeSIsImRldGFpbGVkIiwiZGV0YWlsZWRfcmlza3MiLCJoYXNEZXRhaWxzIiwibGVuZ3RoIiwiX3VzZU5hdkNvbnRleHQiLCJ1c2VOYXZDb250ZXh0IiwiaXNSdGwiLCJzdHJlYW1pSHJlZiIsImNvbmNhdCIsImNvbnRyb2xsZXIiLCJBYm9ydENvbnRyb2xsZXIiLCJmZXRjaCIsInNpZ25hbCIsInRoZW4iLCJfcmVmMiIsIl9hc3luY1RvR2VuZXJhdG9yMiIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwicmVzIiwid3JhcCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsIm9rIiwiRXJyb3IiLCJzdGF0dXMiLCJqc29uIiwiYWJydXB0Iiwic2VudCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwicGF5bG9hZCIsImNhdGNoIiwiZXJyIiwibmFtZSIsImFib3J0IiwiY3JlYXRlRWxlbWVudCIsIkNvbnRhaW5lciIsIlN1bW1hcnlTZWN0aW9uIiwiU3VtbWFyeUhlYWRlciIsIlN1bW1hcnlUaXRsZSIsImkxOG5leHQiLCJ0IiwiU3VtbWFyeVRleHQiLCJUb2dnbGVSb3ciLCJBdHRyaWJ1dGlvbkxpbmsiLCJocmVmIiwiQnJhbmRMb2dvU21hbGwiLCJzcmMiLCJTdHJlYW1pTG9nbyIsImFsdCIsIlBvd2VyZWRCeSIsIk1vcmVJbmZvV3JhcCIsIk1vcmVJbmZvRGl2Iiwib25DbGljayIsImUiLCJwcmV2ZW50RGVmYXVsdCIsIkZyYWdtZW50IiwiQ2FyZExpc3QiLCJtYXAiLCJyIiwiaWR4IiwiX3IkZXhwZWN0ZWRfcG9sbHV0aW9uIiwiQ2FyZCIsIkNhcmRIZWFkZXIiLCJUaXRsZUJsb2NrIiwiZm9ybWF0U2VjdG9ySWNvbk5hbWUiLCJzZWN0b3IiLCJzZWN0b3JJY29uTmFtZSIsInNlY3Rvck5hbWUiLCJzaG93TGFiZWwiLCJ3aXRoVG9vbHRpcCIsIkNhcmRUaXRsZSIsInNpdV9uYW1lIiwiZXhwZWN0ZWRfcG9sbHV0aW9uX3R5cGVzIiwiQ2FyZFNlY3Rpb24iLCJTZWN0aW9uTGFiZWwiLCJDaGlwUm93IiwicCIsImNoaXBJZHgiLCJDaGlwIiwic2Vhc29uYWxfb3JfbG9jYXRpb25fZmFjdG9ycyIsIlNlY3Rpb25UZXh0Iiwic3R5bGVkIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJfcmVmMyIsIl9yZWY0Iiwic3BhbiIsImltZyIsImEiLCJ2YWx1ZSIsInRvU3RyaW5nIiwidHJpbSIsInRvTG93ZXJDYXNlIiwicmVwbGFjZSIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1NlYXNvbmFsSW5zaWdodHMvU2Vhc29uYWxJbnNpZ2h0cy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IGkxOG5leHQgZnJvbSAnaTE4bmV4dCc7XG5pbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VTdGF0ZSB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMvbWFjcm8nO1xuaW1wb3J0IFNlY3RvciBmcm9tICcuLi9TZWN0b3InO1xuaW1wb3J0IHsgTW9yZUluZm9EaXYgfSBmcm9tICdzcmMvcGFnZXMvRXZlbnRzUGFnZS9ldmVudHMvZXZlbnRfaW5mby9Tb3VyY2VEZXRhaWxzL01vcmVJbmZvQnV0dG9uJztcbmltcG9ydCBTdHJlYW1pTG9nbyBmcm9tICdzcmMvYXNzZXRzL3N0cmVhbWktbG9nby5zdmcnO1xuaW1wb3J0IHsgdXNlTmF2Q29udGV4dCB9IGZyb20gJ3NyYy9ob29rcy91c2VOYXZDb250ZXh0JztcbmltcG9ydCB7IGFwcFJlZHVjZXIgfSBmcm9tICdzcmMvc3RvcmUvcm9vdFJlZHVjZXInO1xuaW1wb3J0IHsgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5cbnR5cGUgRGV0YWlsZWRSaXNrID0ge1xuICBzZWN0b3I/OiBzdHJpbmc7XG4gIHNpdV9uYW1lPzogc3RyaW5nO1xuICBleHBlY3RlZF9wb2xsdXRpb25fdHlwZXM/OiBzdHJpbmdbXTtcbiAgc2Vhc29uYWxfb3JfbG9jYXRpb25fZmFjdG9ycz86IHN0cmluZztcbn07XG5cbmV4cG9ydCB0eXBlIFNlYXNvbmFsSW5zaWdodFJlc3BvbnNlID0ge1xuICBsb2NhbGU6IHN0cmluZztcbiAgaWQ/OiBudW1iZXI7XG4gIHN0YXJ0X3RpbWU/OiBzdHJpbmc7XG4gIGVuZF90aW1lPzogc3RyaW5nO1xuICBpbnNpZ2h0X2luZm8/OiB7XG4gICAgcmlza3M/OiB7XG4gICAgICBbbGFuZzogc3RyaW5nXToge1xuICAgICAgICByaXNrX3N1bW1hcnk/OiBzdHJpbmc7XG4gICAgICAgIGRldGFpbGVkX3Jpc2tzPzogRGV0YWlsZWRSaXNrW107XG4gICAgICB9O1xuICAgIH07XG4gICAgc3RhcnRfdGltZT86IHN0cmluZztcbiAgICBlbmRfdGltZT86IHN0cmluZztcbiAgICBvdmVyYWxsX2NvbmZpZGVuY2U/OiBzdHJpbmc7XG4gICAgd2F0ZXJfYXV0aG9yaXR5X2lkPzogc3RyaW5nIHwgbnVtYmVyO1xuICB9O1xufTtcblxuZXhwb3J0IGludGVyZmFjZSBTZWFzb25hbEluc2lnaHRzUHJvcHMge1xuICAvKiogSWYgcHJvdmlkZWQsIHRoZSBjb21wb25lbnQgd2lsbCBmZXRjaCB0aGUgaW5zaWdodCBwYXlsb2FkIGZyb20gdGhpcyBlbmRwb2ludC4gKi9cbiAgYXBpRW5kcG9pbnQ/OiBzdHJpbmc7XG4gIC8qKiBJZiBwcm92aWRlZCwgdGhlIGNvbXBvbmVudCB3aWxsIHJlbmRlciB1c2luZyB0aGlzIGRhdGEgYW5kIHdpbGwgTk9UIGZldGNoLiAqL1xuICBkYXRhPzogU2Vhc29uYWxJbnNpZ2h0UmVzcG9uc2UgfCBudWxsO1xuICAvKiogT3B0aW9uYWwgb3ZlcnJpZGU6ICdoZScsICdlbicsIGV0Yy4gRGVmYXVsdHMgdG8gYXV0by1kZXRlY3QgYmFzZWQgb24gZG9jdW1lbnQgZGlyZWN0aW9uIC8gYnJvd3NlciBsYW5ndWFnZS4gKi9cbiAgbGFuZ3VhZ2U/OiBzdHJpbmc7XG4gIC8qKiBPcHRpb25hbCBjbGFzc05hbWUgZm9yIG91dGVyIHdyYXBwZXIgKi9cbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAvKiogT3B0aW9uYWwgY2FsbGJhY2sgdG8gcmVjZWl2ZSByYXcgcGF5bG9hZCAob25seSB3aGVuIGZldGNoaW5nKS4gKi9cbiAgb25Mb2FkZWQ/OiAoZGF0YTogU2Vhc29uYWxJbnNpZ2h0UmVzcG9uc2UpID0+IHZvaWQ7XG59XG5cbmNvbnN0IFNlYXNvbmFsSW5zaWdodHM6IFJlYWN0LkZDPFNlYXNvbmFsSW5zaWdodHNQcm9wcz4gPSAoe1xuICBhcGlFbmRwb2ludCxcbiAgZGF0YTogZGF0YVByb3AsXG4gIGNsYXNzTmFtZSxcbiAgb25Mb2FkZWQsXG59KSA9PiB7XG4gIGNvbnN0IFtkYXRhLCBzZXREYXRhXSA9IHVzZVN0YXRlPFNlYXNvbmFsSW5zaWdodFJlc3BvbnNlIHwgbnVsbD4oXG4gICAgZGF0YVByb3AgPz8gbnVsbCxcbiAgKTtcbiAgY29uc3QgW3Nob3dEZXRhaWxzLCBzZXRTaG93RGV0YWlsc10gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSk7XG5cbiAgLy8gSWYgcGFyZW50IHByb3ZpZGVzIGRhdGEsIHJlbmRlciBpdCBhbmQgc2tpcCBmZXRjaGluZy5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAodHlwZW9mIGRhdGFQcm9wID09PSAndW5kZWZpbmVkJykgcmV0dXJuO1xuICAgIHNldERhdGEoZGF0YVByb3AgPz8gbnVsbCk7XG4gIH0sIFtkYXRhUHJvcF0pO1xuXG4gIGNvbnN0IHJpc2sgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCByaXNrcyA9IGRhdGE/Lmluc2lnaHRfaW5mbz8ucmlza3M7XG4gICAgaWYgKCFyaXNrcykgcmV0dXJuIG51bGw7XG4gICAgY29uc3QgbGFuZyA9IGRhdGE/LmxvY2FsZSB8fCAnZW4nO1xuICAgIHJldHVybiByaXNrc1tsYW5nXSB8fCBudWxsO1xuICB9LCBbZGF0YV0pO1xuXG4gIGNvbnN0IFt3YXRlckF1dGhvcml0eUlkXSA9IHVzZVNlbGVjdG9yKFxuICAgIChzdGF0ZTogUmV0dXJuVHlwZTx0eXBlb2YgYXBwUmVkdWNlcj4pID0+IFtcbiAgICAgIHN0YXRlLmdsb2JhbF9kYXRhLndhdGVyQXV0aG9yaXR5SWQsXG4gICAgXSxcbiAgKTtcbiAgY29uc3Qgc3VtbWFyeSA9IHJpc2s/LnJpc2tfc3VtbWFyeSB8fCAnJztcbiAgY29uc3QgZGV0YWlsZWQgPSByaXNrPy5kZXRhaWxlZF9yaXNrcyB8fCBbXTtcbiAgY29uc3QgaGFzRGV0YWlscyA9IGRldGFpbGVkLmxlbmd0aCA+IDA7XG4gIGNvbnN0IHsgaXNSdGwsIGxvY2FsZSB9ID0gdXNlTmF2Q29udGV4dCgpO1xuICBjb25zdCBzdHJlYW1pSHJlZiA9IGAvYXNzaXN0YW50P2xvY2FsZT0ke2xvY2FsZX0md2F0ZXJfYXV0aG9yaXR5X2lkPSR7d2F0ZXJBdXRob3JpdHlJZH1gO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gSWYgcGFyZW50IHByb3ZpZGVzIGRhdGEsIGRvIG5vdCBmZXRjaC5cbiAgICBpZiAodHlwZW9mIGRhdGFQcm9wICE9PSAndW5kZWZpbmVkJykgcmV0dXJuO1xuICAgIGlmICghYXBpRW5kcG9pbnQpIHJldHVybjtcblxuICAgIGNvbnN0IGNvbnRyb2xsZXIgPSBuZXcgQWJvcnRDb250cm9sbGVyKCk7XG5cbiAgICBmZXRjaChhcGlFbmRwb2ludCwgeyBzaWduYWw6IGNvbnRyb2xsZXIuc2lnbmFsIH0pXG4gICAgICAudGhlbihhc3luYyAocmVzKSA9PiB7XG4gICAgICAgIGlmICghcmVzLm9rKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBSZXF1ZXN0IGZhaWxlZCAoJHtyZXMuc3RhdHVzfSlgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKGF3YWl0IHJlcy5qc29uKCkpIGFzIFNlYXNvbmFsSW5zaWdodFJlc3BvbnNlO1xuICAgICAgfSlcbiAgICAgIC50aGVuKChwYXlsb2FkKSA9PiB7XG4gICAgICAgIHNldERhdGEocGF5bG9hZCk7XG4gICAgICAgIGlmIChvbkxvYWRlZCkgb25Mb2FkZWQocGF5bG9hZCk7XG4gICAgICB9KVxuICAgICAgLmNhdGNoKChlcnIpID0+IHtcbiAgICAgICAgaWYgKGVycj8ubmFtZSA9PT0gJ0Fib3J0RXJyb3InKSByZXR1cm47XG4gICAgICAgIHNldERhdGEobnVsbCk7XG4gICAgICB9KTtcblxuICAgIHJldHVybiAoKSA9PiBjb250cm9sbGVyLmFib3J0KCk7XG4gIH0sIFthcGlFbmRwb2ludCwgZGF0YVByb3AsIG9uTG9hZGVkXSk7XG5cbiAgcmV0dXJuIChcbiAgICA8Q29udGFpbmVyIGlzUnRsPXtpc1J0bH0+XG4gICAgICA8U3VtbWFyeVNlY3Rpb24+XG4gICAgICAgIDxTdW1tYXJ5SGVhZGVyIGlzUnRsPXtpc1J0bH0+XG4gICAgICAgICAgPFN1bW1hcnlUaXRsZT5cbiAgICAgICAgICAgIHtpMThuZXh0LnQoJ3NlYXNvbmFsX2luc2lnaHRzLnN1bW1hcnlfaGVhZGluZycpfVxuICAgICAgICAgIDwvU3VtbWFyeVRpdGxlPlxuICAgICAgICA8L1N1bW1hcnlIZWFkZXI+XG4gICAgICAgIDxTdW1tYXJ5VGV4dD57c3VtbWFyeX08L1N1bW1hcnlUZXh0PlxuICAgICAgPC9TdW1tYXJ5U2VjdGlvbj5cbiAgICAgIDxUb2dnbGVSb3c+XG4gICAgICAgIDxBdHRyaWJ1dGlvbkxpbmsgaHJlZj17c3RyZWFtaUhyZWZ9PlxuICAgICAgICAgIDxCcmFuZExvZ29TbWFsbCBzcmM9e1N0cmVhbWlMb2dvfSBhbHQ9XCJTVFJFQU1pXCIgLz5cbiAgICAgICAgICA8UG93ZXJlZEJ5PnsnUG93ZXJlZCBieSBTVFJFQU1pJ308L1Bvd2VyZWRCeT5cbiAgICAgICAgPC9BdHRyaWJ1dGlvbkxpbms+XG4gICAgICAgIHtoYXNEZXRhaWxzID8gKFxuICAgICAgICAgIDxNb3JlSW5mb1dyYXA+XG4gICAgICAgICAgICA8TW9yZUluZm9EaXY+XG4gICAgICAgICAgICAgIDxhXG4gICAgICAgICAgICAgICAgaHJlZj1cIiNcIlxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIm1vcmUtaW5mby1idXR0b25cIlxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eyhlKSA9PiB7XG4gICAgICAgICAgICAgICAgICBlLnByZXZlbnREZWZhdWx0KCk7XG4gICAgICAgICAgICAgICAgICBzZXRTaG93RGV0YWlscygocHJldikgPT4gIXByZXYpO1xuICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgYXJpYS1leHBhbmRlZD17c2hvd0RldGFpbHN9XG4gICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICB7c2hvd0RldGFpbHNcbiAgICAgICAgICAgICAgICAgID8gaTE4bmV4dC50KCdzZWFzb25hbF9pbnNpZ2h0cy5zaG93X2xlc3MnKVxuICAgICAgICAgICAgICAgICAgOiBpMThuZXh0LnQoJ3NlYXNvbmFsX2luc2lnaHRzLnNob3dfbW9yZScpfVxuICAgICAgICAgICAgICA8L2E+XG4gICAgICAgICAgICA8L01vcmVJbmZvRGl2PlxuICAgICAgICAgIDwvTW9yZUluZm9XcmFwPlxuICAgICAgICApIDogbnVsbH1cbiAgICAgIDwvVG9nZ2xlUm93PlxuXG4gICAgICB7aGFzRGV0YWlscyA/IChcbiAgICAgICAgPD5cbiAgICAgICAgICB7c2hvd0RldGFpbHMgPyAoXG4gICAgICAgICAgICA8Q2FyZExpc3Q+XG4gICAgICAgICAgICAgIHtkZXRhaWxlZC5tYXAoKHIsIGlkeCkgPT4gKFxuICAgICAgICAgICAgICAgIDxDYXJkIGtleT17aWR4fT5cbiAgICAgICAgICAgICAgICAgIDxDYXJkSGVhZGVyPlxuICAgICAgICAgICAgICAgICAgICA8VGl0bGVCbG9jaz5cbiAgICAgICAgICAgICAgICAgICAgICB7Zm9ybWF0U2VjdG9ySWNvbk5hbWUoci5zZWN0b3IpID8gKFxuICAgICAgICAgICAgICAgICAgICAgICAgPFNlY3RvclxuICAgICAgICAgICAgICAgICAgICAgICAgICBzZWN0b3JJY29uTmFtZT17XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgZm9ybWF0U2VjdG9ySWNvbk5hbWUoci5zZWN0b3IpIHx8ICdNaXNzaW5nJ1xuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNlY3Rvck5hbWU9e3Iuc2VjdG9yfVxuICAgICAgICAgICAgICAgICAgICAgICAgICBzaG93TGFiZWw9e2ZhbHNlfVxuICAgICAgICAgICAgICAgICAgICAgICAgICB3aXRoVG9vbHRpcD17dHJ1ZX1cbiAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICAgICAgICAgICAgPENhcmRUaXRsZT57ci5zaXVfbmFtZX08L0NhcmRUaXRsZT5cbiAgICAgICAgICAgICAgICAgICAgPC9UaXRsZUJsb2NrPlxuICAgICAgICAgICAgICAgICAgPC9DYXJkSGVhZGVyPlxuXG4gICAgICAgICAgICAgICAgICB7ci5leHBlY3RlZF9wb2xsdXRpb25fdHlwZXM/Lmxlbmd0aCA/IChcbiAgICAgICAgICAgICAgICAgICAgPENhcmRTZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgICAgIDxTZWN0aW9uTGFiZWw+XG4gICAgICAgICAgICAgICAgICAgICAgICB7aTE4bmV4dC50KCdzZWFzb25hbF9pbnNpZ2h0cy5rZXlfcmlza3MnKX1cbiAgICAgICAgICAgICAgICAgICAgICA8L1NlY3Rpb25MYWJlbD5cbiAgICAgICAgICAgICAgICAgICAgICA8Q2hpcFJvdz5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtyLmV4cGVjdGVkX3BvbGx1dGlvbl90eXBlcy5tYXAoKHAsIGNoaXBJZHgpID0+IChcbiAgICAgICAgICAgICAgICAgICAgICAgICAgPENoaXAga2V5PXtgJHtwfS0ke2NoaXBJZHh9YH0+e3B9PC9DaGlwPlxuICAgICAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICAgICAgPC9DaGlwUm93PlxuICAgICAgICAgICAgICAgICAgICA8L0NhcmRTZWN0aW9uPlxuICAgICAgICAgICAgICAgICAgKSA6IG51bGx9XG5cbiAgICAgICAgICAgICAgICAgIHtyLnNlYXNvbmFsX29yX2xvY2F0aW9uX2ZhY3RvcnMgPyAoXG4gICAgICAgICAgICAgICAgICAgIDxDYXJkU2VjdGlvbj5cbiAgICAgICAgICAgICAgICAgICAgICA8U2VjdGlvbkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgICAge2kxOG5leHQudCgnc2Vhc29uYWxfaW5zaWdodHMuc2Vhc29uYWxfZmFjdG9ycycpfVxuICAgICAgICAgICAgICAgICAgICAgIDwvU2VjdGlvbkxhYmVsPlxuICAgICAgICAgICAgICAgICAgICAgIDxTZWN0aW9uVGV4dD5cbiAgICAgICAgICAgICAgICAgICAgICAgIHtyLnNlYXNvbmFsX29yX2xvY2F0aW9uX2ZhY3RvcnN9XG4gICAgICAgICAgICAgICAgICAgICAgPC9TZWN0aW9uVGV4dD5cbiAgICAgICAgICAgICAgICAgICAgPC9DYXJkU2VjdGlvbj5cbiAgICAgICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgICAgIDwvQ2FyZD5cbiAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L0NhcmRMaXN0PlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8Lz5cbiAgICAgICkgOiBudWxsfVxuICAgIDwvQ29udGFpbmVyPlxuICApO1xufTtcblxuY29uc3QgQ29udGFpbmVyID0gc3R5bGVkLmRpdjx7IGlzUnRsOiBib29sZWFuIH0+YFxuICBwYWRkaW5nOiAxNnB4O1xuICBtYXJnaW46IDE2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTJweDtcbiAgdGV4dC1hbGlnbjogJHsoeyBpc1J0bCB9KSA9PiAoaXNSdGwgPyAncmlnaHQnIDogJ2xlZnQnKX07XG4gIC8vIGJhY2tncm91bmQ6ICNmN2Y4ZmE7XG4gIG1pbi13aWR0aDogMzIwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDEycHg7XG5gO1xuXG5jb25zdCBTdW1tYXJ5U2VjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogOHB4O1xuICBwYWRkaW5nOiAxMnB4IDE0cHg7XG4gIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gIC8vIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gIC8vIGJveC1zaGFkb3c6IDAgMXB4IDNweCByZ2JhKDAsIDAsIDAsIDAuMDYpO1xuYDtcblxuY29uc3QgU3VtbWFyeUhlYWRlciA9IHN0eWxlZC5kaXY8eyBpc1J0bDogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBnYXA6IDEycHg7XG4gIGZsZXgtZGlyZWN0aW9uOiAkeyh7IGlzUnRsIH0pID0+IChpc1J0bCA/ICdyb3ctcmV2ZXJzZScgOiAncm93Jyl9O1xuYDtcblxuY29uc3QgU3VtbWFyeVRpdGxlID0gc3R5bGVkLmRpdmBcbiAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgZm9udC1zaXplOiAxNnB4O1xuICBjb2xvcjogIzFkMWQxZDtcbmA7XG5cbmNvbnN0IFN1bW1hcnlUZXh0ID0gc3R5bGVkLmRpdmBcbiAgZm9udC1zaXplOiAxNXB4O1xuICBjb2xvcjogIzJiMmIyYjtcbiAgbGluZS1oZWlnaHQ6IDEuNTtcbmA7XG5cbmNvbnN0IFRvZ2dsZVJvdyA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgbWFyZ2luLXRvcDogNnB4O1xuICBnYXA6IDEwcHg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG5cbiAgLm1vcmUtaW5mby1idXR0b246Zm9jdXMsXG4gIC5tb3JlLWluZm8tYnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgfVxuYDtcblxuY29uc3QgUG93ZXJlZEJ5ID0gc3R5bGVkLnNwYW5gXG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgY29sb3I6ICM2YjcyODA7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5gO1xuXG5jb25zdCBCcmFuZExvZ29TbWFsbCA9IHN0eWxlZC5pbWdgXG4gIGhlaWdodDogMTZweDtcbiAgd2lkdGg6IGF1dG87XG4gIG9wYWNpdHk6IDAuNztcbiAgZmxleC1zaHJpbms6IDA7XG5gO1xuXG5jb25zdCBBdHRyaWJ1dGlvbkxpbmsgPSBzdHlsZWQuYWBcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNnB4O1xuICBvcmRlcjogMTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBjb2xvcjogaW5oZXJpdDtcblxuICAmOmhvdmVyICR7QnJhbmRMb2dvU21hbGx9IHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5cbiAgJjpob3ZlciAke1Bvd2VyZWRCeX0ge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xuICB9XG5cbiAgJjpmb2N1cyxcbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gIH1cbmA7XG5cbmNvbnN0IE1vcmVJbmZvV3JhcCA9IHN0eWxlZC5kaXZgXG4gIG9yZGVyOiAyO1xuYDtcblxuY29uc3QgQ2FyZExpc3QgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDEycHg7XG5gO1xuXG5jb25zdCBDYXJkID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogMTRweDtcbiAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgYm9yZGVyOiAxcHggc29saWQgI2U0ZTZlYTtcbiAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wNSk7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTBweDtcbmA7XG5cbmNvbnN0IENhcmRIZWFkZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuYDtcblxuY29uc3QgVGl0bGVCbG9jayA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAvLyAgIGdhcDogOHB4O1xuICBtYXJnaW4taW5saW5lLXN0YXJ0OiAtMTRweDtcbmA7XG5cbmNvbnN0IENhcmRUaXRsZSA9IHN0eWxlZC5kaXZgXG4gIGZvbnQtd2VpZ2h0OiA2MDA7XG4gIGZvbnQtc2l6ZTogMTVweDtcbiAgY29sb3I6ICMxZTFlMWU7XG5gO1xuXG5jb25zdCBDYXJkU2VjdGlvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNnB4O1xuYDtcblxuY29uc3QgU2VjdGlvbkxhYmVsID0gc3R5bGVkLmRpdmBcbiAgZm9udC1zaXplOiAxNHB4O1xuICBjb2xvcjogcmdiKDE4NCwgMTg5LCAxOTkpO1xuYDtcblxuY29uc3QgU2VjdGlvblRleHQgPSBzdHlsZWQuZGl2YFxuICBmb250LXNpemU6IDE0cHg7XG4gIGNvbG9yOiAjM2QzZDNkO1xuICBsaW5lLWhlaWdodDogMS40NTtcbmA7XG5cbmNvbnN0IENoaXBSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDhweDtcbiAgZmxleC13cmFwOiB3cmFwO1xuYDtcblxuY29uc3QgQ2hpcCA9IHN0eWxlZC5zcGFuYFxuICBiYWNrZ3JvdW5kOiAjZjFmM2Y1O1xuICBjb2xvcjogIzFmMjkzMztcbiAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgcGFkZGluZzogNnB4IDEwcHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2UwZTRlYTtcbmA7XG5cbmNvbnN0IGZvcm1hdFNlY3Rvckljb25OYW1lID0gKHZhbHVlPzogc3RyaW5nKSA9PlxuICAodmFsdWUgfHwgJycpXG4gICAgLnRvU3RyaW5nKClcbiAgICAudHJpbSgpXG4gICAgLnRvTG93ZXJDYXNlKClcbiAgICAucmVwbGFjZSgvW15hLXowLTldKy9nLCAnXycpXG4gICAgLnJlcGxhY2UoL15fK3xfKyQvZywgJycpO1xuXG5leHBvcnQgZGVmYXVsdCBTZWFzb25hbEluc2lnaHRzO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSxJQUFBQSxRQUFBLEdBQUFDLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBQyxNQUFBLEdBQUFDLHVCQUFBLENBQUFGLE9BQUE7QUFFQSxJQUFBRyxPQUFBLEdBQUFKLHNCQUFBLENBQUFDLE9BQUE7QUFDQSxJQUFBSSxlQUFBLEdBQUFKLE9BQUE7QUFBa0csSUFBQUssWUFBQSxHQUFBTixzQkFBQSxDQUFBQyxPQUFBO0FBRWxHLElBQUFNLGVBQUEsR0FBQU4sT0FBQTtBQUVBLElBQUFPLFdBQUEsR0FBQVAsT0FBQTtBQUEwQyxTQUFBUSx5QkFBQUMsV0FBQSxlQUFBQyxPQUFBLGtDQUFBQyxpQkFBQSxPQUFBRCxPQUFBLFFBQUFFLGdCQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEseUJBQUFDLFdBQUEsV0FBQUEsV0FBQSxHQUFBRyxnQkFBQSxHQUFBRCxpQkFBQSxLQUFBRixXQUFBO0FBQUEsU0FBQVAsd0JBQUFXLEdBQUEsRUFBQUosV0FBQSxTQUFBQSxXQUFBLElBQUFJLEdBQUEsSUFBQUEsR0FBQSxDQUFBQyxVQUFBLFdBQUFELEdB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
@@ -18,6 +18,7 @@ var _AlertIcon = require("@svgr/webpack?&svgo=false&ref!./AlertIcon.svg");
18
18
  var _EventUtils = require("pages/EventsPage/events/events_list/EventUtils");
19
19
  var _useUserTimeZone = require("hooks/useUserTimeZone");
20
20
  var _SiteName = _interopRequireDefault(require("../../ui-kit/siteName/SiteName"));
21
+ var _UpstreamBadge = _interopRequireDefault(require("./UpstreamBadge"));
21
22
  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); }
22
23
  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; }
23
24
  var SevereEvent = function SevereEvent(_ref) {
@@ -71,7 +72,22 @@ var SevereEvent = function SevereEvent(_ref) {
71
72
  className: "top"
72
73
  }, eventSource(event), event.discharging && /*#__PURE__*/_react.default.createElement("div", {
73
74
  className: "discharging"
74
- }, _i18n.default.t('events_overview.discharging'))), /*#__PURE__*/_react.default.createElement("div", {
75
+ }, _i18n.default.t('events_overview.discharging')), event.observations.length > 1 && /*#__PURE__*/_react.default.createElement("div", {
76
+ className: "upstream-badge"
77
+ }, /*#__PURE__*/_react.default.createElement(_InfoTooltip.InfoTooltip, {
78
+ key: "upstream-".concat(event.id),
79
+ data: _i18n.default.t('event_info.upstream_observations', {
80
+ count: event.observations.length
81
+ }),
82
+ title: '',
83
+ alignToBottom: false,
84
+ alternateIcon: /*#__PURE__*/_react.default.createElement(_UpstreamBadge.default, {
85
+ count: event.observations.length,
86
+ className: "upstream-badge"
87
+ }),
88
+ padding: false,
89
+ reversed: true
90
+ }, /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null)))), /*#__PURE__*/_react.default.createElement("div", {
75
91
  className: "content"
76
92
  }, /*#__PURE__*/_react.default.createElement("div", {
77
93
  className: "seen"
@@ -155,4 +171,4 @@ var SevereEvent = function SevereEvent(_ref) {
155
171
  };
156
172
  exports.SevereEvent = SevereEvent;
157
173
  var severities = ['low', 'high', 'extreme'];
158
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfbG9kYXNoIiwiX2kxOG4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1RpbWVGb3JtYXQiLCJfaW5mbyIsIl9FdGEiLCJfSW5mb1Rvb2x0aXAiLCJfQWxlcnRJY29uIiwiX0V2ZW50VXRpbHMiLCJfdXNlVXNlclRpbWVab25lIiwiX1NpdGVOYW1lIiwiX2dldFJlcXVpcmVXaWxkY2FyZENhY2hlIiwibm9kZUludGVyb3AiLCJXZWFrTWFwIiwiY2FjaGVCYWJlbEludGVyb3AiLCJjYWNoZU5vZGVJbnRlcm9wIiwib2JqIiwiX19lc01vZHVsZSIsIl90eXBlb2YiLCJkZWZhdWx0IiwiY2FjaGUiLCJoYXMiLCJnZXQiLCJuZXdPYmoiLCJoYXNQcm9wZXJ0eURlc2NyaXB0b3IiLCJPYmplY3QiLCJkZWZpbmVQcm9wZXJ0eSIsImdldE93blByb3BlcnR5RGVzY3JpcHRvciIsImtleSIsInByb3RvdHlwZSIsImhhc093blByb3BlcnR5IiwiY2FsbCIsImRlc2MiLCJzZXQiLCJTZXZlcmVFdmVudCIsIl9yZWYiLCJldGFXV1RQIiwiX3JlZiRtc2ciLCJtc2ciLCJldmVudCIsImhhbmRsZUNsaWNrIiwib25Nb3VzZUVudGVyRXZlbnQiLCJvbk1vdXNlTGVhdmVFdmVudCIsImV4Y2VwdGlvbkFsZXJ0IiwidmFsaWRhdGVFdmVudCIsIl91c2VNZW1vIiwidXNlTWVtbyIsInBhcnNlRXZlbnREYXRhIiwiZmlyc3RzZWVuIiwibGFzdHNlZW4iLCJkaXNjaGFyZ2VUaW1lIiwiY2FsY3VsYXRlVGltZUR1cmF0aW9uIiwic3RhcnRfdGltZSIsImVuZF90aW1lIiwibGFzdF9zZWVuX3RpbWUiLCJpdGVtQ29udGFpbmVyIiwidXNlUmVmIiwiZXZlbnRTb3VyY2UiLCJzb3VyY2VfdHlwZSIsInNvdXJjZXMiLCJwb2xsdXRlciIsIl9maXJzdCIsImNyZWF0ZUVsZW1lbnQiLCJjbGFzc05hbWUiLCJpMThuIiwidCIsImZpcnN0IiwicG9pbnRfbmFtZSIsInVzZUVmZmVjdCIsInVuZGVmaW5lZCIsInJlZiIsIm9uQ2xpY2siLCJvbk1vdXNlRW50ZXIiLCJvbk1vdXNlTGVhdmUiLCJjb25jYXQiLCJzZXZlcml0aWVzIiwiTnVtYmVyIiwic2V2ZXJpdHkiLCJpZCIsImRpc2NoYXJnaW5nIiwic2l0ZSIsInRpbWVzdGFtcCIsInRvU3RyaW5nIiwidGltZV96b25lIiwiZGF0ZSIsInRpbWUiLCJocmVmIiwiaW50ZXJlc3RQb2ludHMiLCJldmVudF9pZHMiLCJpbmNsdWRlcyIsIm1lc3NhZ2VzIiwibWFwIiwiZXZlbnRfaWQiLCJJbmZvVG9vbHRpcCIsImRhdGEiLCJtZXNzYWdlIiwidGl0bGUiLCJhbGlnblRvQm90dG9tIiwiYWx0ZXJuYXRlSWNvbiIsIlJlYWN0Q29tcG9uZW50IiwicmV2ZXJzZWQiLCJwYWRkaW5nIiwiRnJhZ21lbnQiLCJ3aWR0aCIsImhlaWdodCIsImV4cG9ydHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9TZXZlcmVFdmVudC9TZXZlcmVFdmVudC50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZUVmZmVjdCwgdXNlTWVtbywgdXNlUmVmIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHsgZmlyc3QgfSBmcm9tICdsb2Rhc2gnO1xuaW1wb3J0IGkxOG4gZnJvbSAnLi4vLi4vdXRpbGl0aWVzL2kxOG4nO1xuaW1wb3J0IFRpbWVGb3JtYXQgZnJvbSAnc3JjL3V0aWxpdGllcy9UaW1lRm9ybWF0JztcbmltcG9ydCB7IFJlYWN0Q29tcG9uZW50IGFzIEluZm8gfSBmcm9tICcuL2Fzc2V0cy9pbmZvLnN2Zyc7XG5pbXBvcnQgRXRhIGZyb20gJy4vRXRhL0V0YSc7XG5pbXBvcnQgJy4vU2V2ZXJlRXZlbnQuc2Nzcyc7XG5pbXBvcnQgeyBldGFXV1RQIH0gZnJvbSAnc3JjL3BhZ2VzL1V0aWxpdHlEYXNoYm9hcmRQYWdlL01vc3RTZXZlcmVFdmVudHMvbW9kZWxzJztcbmltcG9ydCB7IElFdmVudCB9IGZyb20gJ3NyYy9zdG9yZS9ldmVudHMvbW9kZWxzL0lFdmVudCc7XG5pbXBvcnQgeyBJbmZvVG9vbHRpcCB9IGZyb20gJ3NyYy91aS1raXQvSW5mb1Rvb2x0aXAvSW5mb1Rvb2x0aXAnO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgQWxlcnRJY29uIH0gZnJvbSAnLi9BbGVydEljb24uc3ZnJztcbmltcG9ydCB7IHBhcnNlRXZlbnREYXRhIH0gZnJvbSAnc3JjL3BhZ2VzL0V2ZW50c1BhZ2UvZXZlbnRzL2V2ZW50c19saXN0L0V2ZW50VXRpbHMnO1xuaW1wb3J0IHsgY2FsY3VsYXRlVGltZUR1cmF0aW9uIH0gZnJvbSAnc3JjL2hvb2tzL3VzZVVzZXJUaW1lWm9uZSc7XG5pbXBvcnQgU2l0ZU5hbWUgZnJvbSAnLi4vLi4vdWkta2l0L3NpdGVOYW1lL1NpdGVOYW1lJztcblxuZXhwb3J0IGludGVyZmFjZSBTZXZlcmVFdmVudFByb3BzIHtcbiAgZXRhV1dUUD86IGV0YVdXVFA7XG4gIG1zZz86IHN0cmluZztcbiAgZXZlbnQ6IElFdmVudDtcbiAgb25Nb3VzZUVudGVyRXZlbnQ/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgb25Nb3VzZUxlYXZlRXZlbnQ/OiAoKSA9PiB2b2lkO1xuICBoYW5kbGVDbGljaz86IChhcmcyOiBhbnksIGFyZzE6IGFueSkgPT4gdm9pZDtcbiAgdmFsdWVzRnJvbUtRTD86IHN0cmluZztcbiAgZXhjZXB0aW9uQWxlcnQ/OiB7XG4gICAgbWVzc2FnZXM6IHsgbWVzc2FnZTogYW55OyBldmVudF9pZDogbnVtYmVyIH1bXTtcbiAgICBldmVudF9pZHM6IG51bWJlcltdO1xuICB9O1xuICB2YWxpZGF0ZUV2ZW50PzogKGV2ZW50OiBJRXZlbnQpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBTZXZlcmVFdmVudDogUmVhY3QuRkM8U2V2ZXJlRXZlbnRQcm9wcz4gPSAoe1xuICBldGFXV1RQLFxuICBtc2cgPSAnJyxcbiAgZXZlbnQsXG4gIGhhbmRsZUNsaWNrLFxuICBvbk1vdXNlRW50ZXJFdmVudCxcbiAgb25Nb3VzZUxlYXZlRXZlbnQsXG4gIGV4Y2VwdGlvbkFsZXJ0LFxuICB2YWxpZGF0ZUV2ZW50LFxufSkgPT4ge1xuICBjb25zdCB7IGZpcnN0c2VlbiwgbGFzdHNlZW4gfSA9IHVzZU1lbW8oKCkgPT4gcGFyc2VFdmVudERhdGEoZXZlbnQpLCBbZXZlbnRdKTtcbiAgY29uc3QgZGlzY2hhcmdlVGltZSA9IGNhbGN1bGF0ZVRpbWVEdXJhdGlvbih7XG4gICAgc3RhcnRfdGltZTogZmlyc3RzZWVuLnN0YXJ0X3RpbWUsXG4gICAgZW5kX3RpbWU6IGZpcnN0c2Vlbi5sYXN0X3NlZW5fdGltZSxcbiAgfSk7XG4gIGNvbnN0IGl0ZW1Db250YWluZXIgPSB1c2VSZWY8YW55PihudWxsKTtcblxuICAvKiBTaG93IG5hbWUgaW4gdGhlIHRpdGxlIGZvciBmYWN0b3JpZXMgb25seSAqL1xuICBjb25zdCBldmVudFNvdXJjZSA9IChldmVudDogSUV2ZW50KSA9PiB7XG4gICAgaWYgKGV2ZW50LnNvdXJjZV90eXBlID09PSAnZmFjdG9yeScgJiYgZXZlbnQuc291cmNlc1swXS5wb2xsdXRlcikge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzb3VyY2VcIj5cbiAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIudXRpbGl0eV9kYXNoYm9hcmQubW9zdC1zZXZlcmUtZXZlbnRzLnNvdXJjZScpfVxuICAgICAgICAgIDombmJzcDtcbiAgICAgICAgICB7Zmlyc3QoZXZlbnQuc291cmNlcyk/LnBvaW50X25hbWUgfHwgJ05vIE5hbWUnfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICB2YWxpZGF0ZUV2ZW50ICE9PSB1bmRlZmluZWQgJiYgdmFsaWRhdGVFdmVudChldmVudCk7XG4gIH0sIFtdKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHJlZj17aXRlbUNvbnRhaW5lcn1cbiAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUNsaWNrICYmIGhhbmRsZUNsaWNrKGV2ZW50LCBpdGVtQ29udGFpbmVyKX1cbiAgICAgIG9uTW91c2VFbnRlcj17KCkgPT4gb25Nb3VzZUVudGVyRXZlbnQgJiYgb25Nb3VzZUVudGVyRXZlbnQoZXZlbnQpfVxuICAgICAgb25Nb3VzZUxlYXZlPXsoKSA9PiBvbk1vdXNlTGVhdmVFdmVudCAmJiBvbk1vdXNlTGVhdmVFdmVudCgpfVxuICAgICAgY2xhc3NOYW1lPXtgc2V2ZXJlLWV2ZW50ICR7c2V2ZXJpdGllc1tOdW1iZXIoZXZlbnQuc2V2ZXJpdHkpXX1gfVxuICAgICAgZGF0YS1ldmVudC1pZD17ZXZlbnQuaWR9XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0b3BcIj5cbiAgICAgICAge2V2ZW50U291cmNlKGV2ZW50KX1cblxuICAgICAgICB7ZXZlbnQuZGlzY2hhcmdpbmcgJiYgKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGlzY2hhcmdpbmdcIj5cbiAgICAgICAgICAgIHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5kaXNjaGFyZ2luZycpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbnRlbnRcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzZWVuXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXRhaWxzXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpcnN0XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidHlwZS10aXRsZVwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAnZGFzaGJvYXJkX3YyLnV0aWxpdHlfZGFzaGJvYXJkLm1vc3Qtc2V2ZXJlLWV2ZW50cy5maXJzdC1zZWVuJyxcbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDpcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIm1vYmlsZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWRkclwiPlxuICAgICAgICAgICAgICAgICAgPFNpdGVOYW1lIHNpdGU9e2ZpcnN0c2Vlbi5wb2ludF9uYW1lfSAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgPFRpbWVGb3JtYXRcbiAgICAgICAgICAgICAgICAgICAgdGltZXN0YW1wPXtmaXJzdHNlZW4uc3RhcnRfdGltZS50b1N0cmluZygpfVxuICAgICAgICAgICAgICAgICAgICB0aW1lX3pvbmU9e2ZpcnN0c2Vlbi50aW1lX3pvbmUudG9TdHJpbmcoKX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYXN0XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidHlwZS10aXRsZVwiPlxuICAgICAgICAgICAgICAgIHsnICd9XG4gICAgICAgICAgICAgICAge2kxOG4udChcbiAgICAgICAgICAgICAgICAgICdkYXNoYm9hcmRfdjIudXRpbGl0eV9kYXNoYm9hcmQubW9zdC1zZXZlcmUtZXZlbnRzLmxhc3Qtc2VlbicsXG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA6XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJtb2JpbGVcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFkZHJcIj5cbiAgICAgICAgICAgICAgICAgIDxTaXRlTmFtZSBzaXRlPXtsYXN0c2Vlbi5wb2ludF9uYW1lfSAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgPFRpbWVGb3JtYXRcbiAgICAgICAgICAgICAgICAgICAgdGltZXN0YW1wPXtsYXN0c2Vlbi5sYXN0X3NlZW5fdGltZS50b1N0cmluZygpfVxuICAgICAgICAgICAgICAgICAgICB0aW1lX3pvbmU9e2xhc3RzZWVuLnRpbWVfem9uZS50b1N0cmluZygpfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydsb3dlcl9kZXRhaWxzJ30+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRvdGFsLXRpbWVcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0eXBlLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmRpc2NoYXJnZV90aW1lJyl9XG4gICAgICAgICAgICAgICAgey8qVG90YWwgdGltZSovfTpcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGltZVwiPntkaXNjaGFyZ2VUaW1lfTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB7ZXRhV1dUUCAmJiAoXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJldGEtd3d0cFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0eXBlLXRpdGxlXCI+XG4gICAgICAgICAgICAgIHtpMThuLnQoXG4gICAgICAgICAgICAgICAgJ2Rhc2hib2FyZF92Mi51dGlsaXR5X2Rhc2hib2FyZC5tb3N0LXNldmVyZS1ldmVudHMuZXRhLXd3dHAnLFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA6XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5mb1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRhdGUgXCI+XG4gICAgICAgICAgICAgICAge2V0YVdXVFAuZGF0ZX1cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0aW1lXCI+ICh7ZXRhV1dUUC50aW1lfSk8L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzTmFtZT1cIm1vcmUgXCI+XG4gICAgICAgICAgICAgICAge2V0YVdXVFAuaW50ZXJlc3RQb2ludHNcbiAgICAgICAgICAgICAgICAgID8gYCR7ZXRhV1dUUC5pbnRlcmVzdFBvaW50c30gJHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgJ2Rhc2hib2FyZF92Mi51dGlsaXR5X2Rhc2hib2FyZC5tb3N0LXNldmVyZS1ldmVudHMubW9yZS1pbnRlcnNldCcsXG4gICAgICAgICAgICAgICAgICAgICl9YFxuICAgICAgICAgICAgICAgICAgOiAnJ31cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWxlcnQtaWNvblwiPlxuICAgICAgICAgIHtleGNlcHRpb25BbGVydCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICBleGNlcHRpb25BbGVydC5ldmVudF9pZHMuaW5jbHVkZXMoZXZlbnQuaWQpICYmXG4gICAgICAgICAgICBleGNlcHRpb25BbGVydC5tZXNzYWdlcy5tYXAoKG1zZykgPT4ge1xuICAgICAgICAgICAgICBpZiAobXNnLmV2ZW50X2lkID09PSBldmVudC5pZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICA8SW5mb1Rvb2x0aXBcbiAgICAgICAgICAgICAgICAgICAga2V5PXtgYWxlcnQtJHttc2cuZXZlbnRfaWR9YH1cbiAgICAgICAgICAgICAgICAgICAgZGF0YT17bXNnLm1lc3NhZ2V9XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlPXsnJ31cbiAgICAgICAgICAgICAgICAgICAgYWxpZ25Ub0JvdHRvbT17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgIGFsdGVybmF0ZUljb249ezxBbGVydEljb24gLz59XG4gICAgICAgICAgICAgICAgICAgIHJldmVyc2VkPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nPXtmYWxzZX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPD48Lz5cbiAgICAgICAgICAgICAgICAgIDwvSW5mb1Rvb2x0aXA+XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8RXRhIGV2ZW50PXtldmVudH0gLz5cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YG1zZyR7bXNnID8gJyBvbicgOiAnJ31gfT5cbiAgICAgICAgICA8SW5mbyB3aWR0aD1cIjEzcHhcIiBoZWlnaHQ9XCIxMnB4XCIgLz5cbiAgICAgICAgICB7bXNnfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuY29uc3Qgc2V2ZXJpdGllcyA9IFsnbG93JywgJ2hpZ2gnLCAnZXh0cmVtZSddO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FBQTtBQUNBLElBQUFFLEtBQUEsR0FBQUMsc0JBQUEsQ0FBQUgsT0FBQTtBQUNBLElBQUFJLFdBQUEsR0FBQUQsc0JBQUEsQ0FBQUgsT0FBQTtBQUFrRCxJQUFBSyxLQUFBLEdBQUFMLE9BQUE7QUFFbEQsSUFBQU0sSUFBQSxHQUFBSCxzQkFBQSxDQUFBSCxPQUFBO0FBQ0FBLE9BQUE7QUFHQSxJQUFBTyxZQUFBLEdBQUFQLE9BQUE7QUFBaUUsSUFBQVEsVUFBQSxHQUFBUixPQUFBO0FBRWpFLElBQUFTLFdBQUEsR0FBQVQsT0FBQTtBQUNBLElBQUFVLGdCQUFBLEdBQUFWLE9BQUE7QUFDQSxJQUFBVyxTQUFBLEdBQUFSLHNCQUFBLENBQUFILE9BQUE7QUFBc0QsU0FBQVkseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFkLHdCQUFBa0IsR0FBQSxFQUFBSixXQUFBLFNBQUFBLFdBQUEsSUFBQUksR0FBQSxJQUFBQSxHQUFBLENBQUFDLFVBQUEsV0FBQUQsR0FBQSxRQUFBQSxHQUFBLGFBQUFFLE9BQUEsQ0FBQUYsR0FBQSx5QkFBQUEsR0FBQSw0QkFBQUcsT0FBQSxFQUFBSCxHQUFBLFVBQUFJLEtBQUEsR0FBQVQsd0JBQUEsQ0FBQUMsV0FBQSxPQUFBUSxLQUFBLElBQUFBLEtBQUEsQ0FBQUMsR0FBQSxDQUFBTCxHQUFBLFlBQUFJLEtBQUEsQ0FBQUUsR0FBQSxDQUFBTixHQUFBLFNBQUFPLE1BQUEsV0FBQUMscUJBQUEsR0FBQUMsTUFBQSxDQUFBQyxjQUFBLElBQUFELE1BQUEsQ0FBQUUsd0JBQUEsV0FBQUMsR0FBQSxJQUFBWixHQUFBLFFBQUFZLEdBQUEsa0JBQUFILE1BQUEsQ0FBQUksU0FBQSxDQUFBQyxjQUFBLENBQUFDLElBQUEsQ0FBQWYsR0FBQSxFQUFBWSxHQUFBLFNBQUFJLElBQUEsR0FBQVIscUJBQUEsR0FBQUMsTUFBQSxDQUFBRSx3QkFBQSxDQUFBWCxHQUFBLEVBQUFZLEdBQUEsY0FBQUksSUFBQSxLQUFBQSxJQUFBLENBQUFWLEdBQUEsSUFBQVUsSUFBQSxDQUFBQyxHQUFBLEtBQUFSLE1BQUEsQ0FBQUMsY0FBQSxDQUFBSCxNQUFBLEVBQUFLLEdBQUEsRUFBQUksSUFBQSxZQUFBVCxNQUFBLENBQUFLLEdBQUEsSUFBQVosR0FBQSxDQUFBWSxHQUFBLFNBQUFMLE1BQUEsQ0FBQUosT0FBQSxHQUFBSCxHQUFBLE1BQUFJLEtBQUEsSUFBQUEsS0FBQSxDQUFBYSxHQUFBLENBQUFqQixHQUFBLEVBQUFPLE1BQUEsWUFBQUEsTUFBQTtBQWlCL0MsSUFBTVcsV0FBdUMsR0FBRyxTQUExQ0EsV0FBdUNBLENBQUFDLElBQUEsRUFTOUM7RUFBQSxJQVJKQyxPQUFPLEdBQUFELElBQUEsQ0FBUEMsT0FBTztJQUFBQyxRQUFBLEdBQUFGLElBQUEsQ0FDUEcsR0FBRztJQUFIQSxHQUFHLEdBQUFELFFBQUEsY0FBRyxFQUFFLEdBQUFBLFFBQUE7SUFDUkUsS0FBSyxHQUFBSixJQUFBLENBQUxJLEtBQUs7SUFDTEMsV0FBVyxHQUFBTCxJQUFBLENBQVhLLFdBQVc7SUFDWEMsaUJBQWlCLEdBQUFOLElBQUEsQ0FBakJNLGlCQUFpQjtJQUNqQkMsaUJBQWlCLEdBQUFQLElBQUEsQ0FBakJPLGlCQUFpQjtJQUNqQkMsY0FBYyxHQUFBUixJQUFBLENBQWRRLGNBQWM7SUFDZEMsYUFBYSxHQUFBVCxJQUFBLENBQWJTLGFBQWE7RUFFYixJQUFBQyxRQUFBLEdBQWdDLElBQUFDLGNBQU8sRUFBQztNQUFBLE9BQU0sSUFBQUMsMEJBQWMsRUFBQ1IsS0FBSyxDQUFDO0lBQUEsR0FBRSxDQUFDQSxLQUFLLENBQUMsQ0FBQztJQUFyRVMsU0FBUyxHQUFBSCxRQUFBLENBQVRHLFNBQVM7SUFBRUMsUUFBUSxHQUFBSixRQUFBLENBQVJJLFFBQVE7RUFDM0IsSUFBTUMsYUFBYSxHQUFHLElBQUFDLHNDQUFxQixFQUFDO0lBQzFDQyxVQUFVLEVBQUVKLFNBQVMsQ0FBQ0ksVUFBVTtJQUNoQ0MsUUFBUSxFQUFFTCxTQUFTLENBQUNNO0VBQ3RCLENBQUMsQ0FBQztFQUNGLElBQU1DLGFBQWEsR0FBRyxJQUFBQyxhQUFNLEVBQU0sSUFBSSxDQUFDOztFQUV2QztFQUNBLElBQU1DLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFJbEIsS0FBYSxFQUFLO0lBQ3JDLElBQUlBLEtBQUssQ0FBQ21CLFdBQVcsS0FBSyxTQUFTLElBQUluQixLQUFLLENBQUNvQixPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUNDLFFBQVEsRUFBRTtNQUFBLElBQUFDLE1BQUE7TUFDaEUsb0JBQ0VoRSxNQUFBLENBQUFzQixPQUFBLENBQUEyQyxhQUFBO1FBQUtDLFNBQVMsRUFBQztNQUFRLEdBQ3BCQyxhQUFJLENBQUNDLENBQUMsQ0FBQywwREFBMEQsQ0FBQyxFQUFDLE9BRXBFLEVBQUMsRUFBQUosTUFBQSxPQUFBSyxhQUFLLEVBQUMzQixLQUFLLENBQUNvQixPQUFPLENBQUMsY0FBQUUsTUFBQSx1QkFBcEJBLE1BQUEsQ0FBc0JNLFVBQVUsS0FBSSxTQUNsQyxDQUFDO0lBRVY7SUFFQSxPQUFPLElBQUk7RUFDYixDQUFDO0VBRUQsSUFBQUMsZ0JBQVMsRUFBQyxZQUFNO0lBQ2R4QixhQUFhLEtBQUt5QixTQUFTLElBQUl6QixhQUFhLENBQUNMLEtBQUssQ0FBQztFQUNyRCxDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRU4sb0JBQ0UxQyxNQUFBLENBQUFzQixPQUFBLENBQUEyQyxhQUFBO0lBQ0VRLEdBQUcsRUFBRWYsYUFBYztJQUNuQmdCLE9BQU8sRUFBRSxTQUFBQSxRQUFBO01BQUEsT0FBTS9CLFdBQVcsSUFBSUEsV0FBVyxDQUFDRCxLQUFLLEVBQUVnQixhQUFhLENBQUM7SUFBQSxDQUFDO0lBQ2hFaUIsWUFBWSxFQUFFLFNBQUFBLGFBQUE7TUFBQSxPQUFNL0IsaUJBQWlCLElBQUlBLGlCQUFpQixDQUFDRixLQUFLLENBQUM7SUFBQSxDQUFDO0lBQ2xFa0MsWUFBWSxFQUFFLFNBQUFBLGFBQUE7TUFBQSxPQUFNL0IsaUJBQWlCLElBQUlBLGlCQUFpQixDQUFDLENBQUM7SUFBQSxDQUFDO0lBQzdEcUIsU0FBUyxrQkFBQVcsTUFBQSxDQUFrQkMsVUFBVSxDQUFDQyxNQUFNLENBQUNyQyxLQUFLLENBQUNzQyxRQUFRLENBQUMsQ0FBQyxDQUFHO0lBQ2hFLGlCQUFldEMsS0FBSyxDQUFDdUM7RUFBRyxnQkFFeEJqRixNQUFBLENBQUFzQixPQUFBLENBQUEyQyxhQUFBO0lBQUtDLFNBQVMsRUFBQztFQUFLLEdBQ2pCTixXQUFXLENBQUNsQixLQUFLLENBQUMsRUFFbEJBLEtBQUssQ0FBQ3dDLFdBQVcsaUJBQ2hCbEYsTUFBQSxDQUFBc0IsT0FBQSxDQUFBMkMsYUFBQTtJQUFLQyxTQUFTLEVBQUM7RUFBYSxHQUN6QkMsYUFBSSxDQUFDQyxDQUFDLENBQUMsNkJBQTZCLENBQ2xDLENBRUosQ0FBQyxlQUNOcEUsTUFBQSxDQUFBc0IsT0FBQSxDQUFBMkMsYUFBQTtJQUFLQyxTQUFTLEVBQUM7RUFBUyxnQkFDdEJsRSxNQUFBLENBQUFzQixPQUFBLENBQUEyQyxhQUFBO0lBQUtDLFNBQVMsRUFBQztFQUFNLGdCQUNuQmxFLE1BQUEsQ0FBQXNCLE9BQUEsQ0FBQTJDLGFBQUE7SUFBS0MsU0FBUyxFQUFDO0VBQVMsZ0JBQ3RCbEUsTUFBQSxDQUFBc0IsT0FBQSxDQUFBMkMsYUFBQTtJQUFLQyxTQUFTLEVBQUM7RUFBTyxnQkFDcEJsRSxNQUFBLENBQUFzQixPQUFBLENBQUEyQyxhQUFBO0lBQUtDLFNBQVMsRUFBQztFQUFZLEdBQ3hCQyxhQUFJLENBQUNDLENBQUMsQ0FDTCw4REFDRixDQUFDLEVBQUMsR0FFQyxDQUFDLGVBQ05wRSxNQUFBLENBQUFzQixPQUFBLENBQUEyQyxhQUFBO0lBQU1DLFNBQVMsRUFBQztFQUFRLGdCQUN0QmxFLE1BQUEsQ0FBQXNCLE9BQUEsQ0FBQTJDLGFBQUE7SUFBS0MsU0FBUyxFQUFDO0VBQU0sZ0JBQ25CbEUsTUFBQSxDQUFBc0IsT0FBQSxDQUFBMkMsYUFBQSxDQUFDcEQsU0FBQSxDQUFBUyxPQUFRO0lBQUM2RCxJQUFJLEVBQUVoQyxTQUFTLENBQUNtQjtFQUFXLENBQUUsQ0FDcEMsQ0FBQyxlQUNOdEUsTUFBQSxDQUFBc0IsT0FBQSxDQUFBMkMsYUFBQTtJQUFLQyxTQUFTLEVBQUM7RUFBTSxnQkFDbkJsRSxNQUFBLENBQUFzQixPQUFBLENBQUEyQyxhQUFBLENBQUMzRCxXQUFBLENBQUFnQixPQUFVO0lBQ1Q4RCxTQUFTLEVBQUVqQyxTQUFTLENBQUNJLFVBQVUsQ0FBQzhCLFFBQVEsQ0FBQyxDQUFFO0lBQzNDQyxTQUFTLEVBQUVuQyxTQUFTLENBQUNtQyxTQUFTLENBQUNELFFBQVEsQ0FBQztFQUFFLENBQzNDLENBQ0UsQ0FDRCxDQUNILENBQUMsZUFDTnJGLE1BQUEsQ0FBQXNCLE9BQUEsQ0FBQTJDLGFBQUE7SUFBS0MsU0FBUyxFQUFDO0VBQU0sZ0JBQ25CbEUsTUFBQSxDQUFBc0IsT0FBQSxDQUFBMkMsYUFBQTtJQUFLQyxTQUFTLEVBQUM7RUFBWSxHQUN4QixHQUFHLEVBQ0hDLGFBQUksQ0FBQ0MsQ0FBQyxDQUNMLDZEQUNGLENBQUMsRUFBQyxHQUVDLENBQUMsZUFDTnBFLE1BQUEsQ0FBQXNCLE9BQUEsQ0FBQTJDLGFBQUE7SUFBTUMsU0FBUyxFQUFDO0VBQVEsZ0JBQ3RCbEUsTUFBQSxDQUFBc0IsT0FBQSxDQUFBMkMsYUFBQTtJQUFLQyxTQUFTLEVBQUM7RUFBTSxnQkFDbkJsRSxNQUFBLENBQUFzQixPQUFBLENBQUEyQyxhQUFBLENBQUNwRCxTQUFBLENBQUFTLE9BQVE7SUFBQzZELElBQUksRUFBRS9CLFFBQVEsQ0FBQ2tCO0VBQVcsQ0FBRSxDQUNuQyxDQUFDLGVBQ050RSxNQUFBLENBQUFzQixPQUFBLENBQUEyQyxhQUFBO0lBQUtDLFNBQVMsRUFBQztFQUFNLGdCQUNuQmxFLE1BQUEsQ0FBQXNCLE9BQUEsQ0FBQTJDLGFBQUEsQ0FBQzNELFdBQUEsQ0FBQWdCLE9BQVU7SUFDVDhELFNBQVMsRUFBRWhDLFFBQVEsQ0FBQ0ssY0FBYyxDQUFDNEIsUUFBUSxDQUFDLENBQUU7SUFDOUNDLFNBQVMsRUFBRWxDLFFBQVEsQ0FBQ2tDLFNBQVMsQ0FBQ0QsUUFBUSxDQUFDO0VBQUUsQ0FDMUMsQ0FDRSxDQUNELENBQ0gsQ0FDRixDQUFDLGVBQ05yRixNQUFBLENBQUFzQixPQUFBLENBQUEyQyxhQUFBO0lBQUtDLFNBQVMsRUFBRTtFQUFnQixnQkFDOUJsRSxNQUFBLENBQUFzQixPQUFBLENBQUEyQyxhQUFBO0lBQUtDLFNBQVMsRUFBQztFQUFZLGdCQUN6QmxFLE1BQUEsQ0FBQXNCLE9BQUEsQ0FBQTJDLGFBQUE7SUFBS0MsU0FBUyxFQUFDO0VBQVksR0FDeEJDLGFBQUksQ0FBQ0MsQ0FBQyxDQUFDLGdDQUFnQyxDQUFDLEVBQ3pCLEdBQ2IsQ0FBQyxlQUNOcEUsTUFBQSxDQUFBc0IsT0FBQSxDQUFBMkMsYUFBQTtJQUFLQyxTQUFTLEVBQUM7RUFBTSxHQUFFYixhQUFtQixDQUN2QyxDQUNGLENBQ0YsQ0FBQyxFQUNMZCxPQUFPLGlCQUNOdkMsTUFBQSxDQUFBc0IsT0FBQSxDQUFBMkMsYUFBQTtJQUFLQyxTQUFTLEVBQUM7RUFBVSxnQkFDdkJsRSxNQUFBLENBQUFzQixPQUFBLENBQUEyQyxhQUFBO0lBQUtDLFNBQVMsRUFBQztFQUFZLEdBQ3hCQyxhQUFJLENBQUNDLENBQUMsQ0FDTCw0REFDRixDQUFDLEVBQUMsR0FFQyxDQUFDLGVBQ05wRSxNQUFBLENBQUFzQixPQUFBLENBQUEyQyxhQUFBO0lBQUtDLFNBQVMsRUFBQztFQUFNLGdCQUNuQmxFLE1BQUEsQ0FBQXNCLE9BQUEsQ0FBQTJDLGFBQUE7SUFBS0MsU0FBUyxFQUFDO0VBQU8sR0FDbkIzQixPQUFPLENBQUNnRCxJQUFJLGVBQ2J2RixNQUFBLENBQUFzQixPQUFBLENBQUEyQyxhQUFBO0lBQU1DLFNBQVMsRUFBQztFQUFNLEdBQUMsSUFBRSxFQUFDM0IsT0FBTyxDQUFDaUQsSUFBSSxFQUFDLEdBQU8sQ0FDM0MsQ0FBQyxlQUNOeEYsTUFBQSxDQUFBc0IsT0FBQSxDQUFBMkMsYUFBQTtJQUFHd0IsSUFBSSxFQUFDLEdBQUc7SUFBQ3ZCLFNBQVMsRUFBQztFQUFPLEdBQzFCM0IsT0FBTyxDQUFDbUQsY0FBYyxNQUFBYixNQUFBLENBQ2hCdEMsT0FBTyxDQUFDbUQsY0FBYyxPQUFBYixNQUFBLENBQUlWLGFBQUksQ0FBQ0MsQ0FBQyxDQUNqQyxpRUFDRixDQUFDLElBQ0QsRUFDSCxDQUNBLENBQ0YsQ0FDTixlQUNEcEUsTUFBQSxDQUFBc0IsT0FBQSxDQUFBMkMsYUFBQTtJQUFLQyxTQUFTLEVBQUM7RUFBWSxHQUN4QnBCLGNBQWMsS0FBSzBCLFNBQVMsSUFDM0IxQixjQUFjLENBQUM2QyxTQUFTLENBQUNDLFFBQVEsQ0FBQ2xELEtBQUssQ0FBQ3VDLEVBQUUsQ0FBQyxJQUMzQ25DLGNBQWMsQ0FBQytDLFFBQVEsQ0FBQ0MsR0FBRyxDQUFDLFVBQUNyRCxHQUFHLEVBQUs7SUFDbkMsSUFBSUEsR0FBRyxDQUFDc0QsUUFBUSxLQUFLckQsS0FBSyxDQUFDdUMsRUFBRSxFQUFFO01BQzdCLG9CQUNFakYsTUFBQSxDQUFBc0IsT0FBQSxDQUFBMkMsYUFBQSxDQUFDeEQsWUFBQSxDQUFBdUYsV0FBVztRQUNWakUsR0FBRyxXQUFBOEMsTUFBQSxDQUFXcEMsR0FBRyxDQUFDc0QsUUFBUSxDQUFHO1FBQzdCRSxJQUFJLEVBQUV4RCxHQUFHLENBQUN5RCxPQUFRO1FBQ2xCQyxLQUFLLEVBQUUsRUFBRztRQUNWQyxhQUFhLEVBQUUsS0FBTTtRQUNyQkMsYUFBYSxlQUFFckcsTUFBQSxDQUFBc0IsT0FBQSxDQUFBMkMsYUFBQSxDQUFDdkQsVUFBQSxDQUFBNEYsY0FBUyxNQUFFLENBQUU7UUFDN0JDLFFBQVEsRUFBRSxJQUFLO1FBQ2ZDLE9BQU8sRUFBRTtNQUFNLGdCQUVmeEcsTUFBQSxDQUFBc0IsT0FBQSxDQUFBMkMsYUFBQSxDQUFBakUsTUFBQSxDQUFBc0IsT0FBQSxDQUFBbUYsUUFBQSxNQUFJLENBQ08sQ0FBQztJQUVsQixDQUFDLE1BQU07TUFDTCxPQUFPLElBQUk7SUFDYjtFQUNGLENBQUMsQ0FDQSxDQUFDLGVBQ056RyxNQUFBLENBQUFzQixPQUFBLENBQUEyQyxhQUFBLENBQUN6RCxJQUFBLENBQUFjLE9BQUc7SUFBQ29CLEtBQUssRUFBRUE7RUFBTSxDQUFFLENBQUMsZUFFckIxQyxNQUFBLENBQUFzQixPQUFBLENBQUEyQyxhQUFBO0lBQUtDLFNBQVMsUUFBQVcsTUFBQSxDQUFRcEMsR0FBRyxHQUFHLEtBQUssR0FBRyxFQUFFO0VBQUcsZ0JBQ3ZDekMsTUFBQSxDQUFBc0IsT0FBQSxDQUFBMkMsYUFBQSxDQUFDMUQsS0FBQSxDQUFBK0YsY0FBSTtJQUFDSSxLQUFLLEVBQUMsTUFBTTtJQUFDQyxNQUFNLEVBQUM7RUFBTSxDQUFFLENBQUMsRUFDbENsRSxHQUNFLENBQ0YsQ0FDRixDQUFDO0FBRVYsQ0FBQztBQUFDbUUsT0FBQSxDQUFBdkUsV0FBQSxHQUFBQSxXQUFBO0FBRUYsSUFBTXlDLFVBQVUsR0FBRyxDQUFDLEtBQUssRUFBRSxNQUFNLEVBQUUsU0FBUyxDQUFDIn0=
174
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfbG9kYXNoIiwiX2kxOG4iLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwiX1RpbWVGb3JtYXQiLCJfaW5mbyIsIl9FdGEiLCJfSW5mb1Rvb2x0aXAiLCJfQWxlcnRJY29uIiwiX0V2ZW50VXRpbHMiLCJfdXNlVXNlclRpbWVab25lIiwiX1NpdGVOYW1lIiwiX1Vwc3RyZWFtQmFkZ2UiLCJfZ2V0UmVxdWlyZVdpbGRjYXJkQ2FjaGUiLCJub2RlSW50ZXJvcCIsIldlYWtNYXAiLCJjYWNoZUJhYmVsSW50ZXJvcCIsImNhY2hlTm9kZUludGVyb3AiLCJvYmoiLCJfX2VzTW9kdWxlIiwiX3R5cGVvZiIsImRlZmF1bHQiLCJjYWNoZSIsImhhcyIsImdldCIsIm5ld09iaiIsImhhc1Byb3BlcnR5RGVzY3JpcHRvciIsIk9iamVjdCIsImRlZmluZVByb3BlcnR5IiwiZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9yIiwia2V5IiwicHJvdG90eXBlIiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiZGVzYyIsInNldCIsIlNldmVyZUV2ZW50IiwiX3JlZiIsImV0YVdXVFAiLCJfcmVmJG1zZyIsIm1zZyIsImV2ZW50IiwiaGFuZGxlQ2xpY2siLCJvbk1vdXNlRW50ZXJFdmVudCIsIm9uTW91c2VMZWF2ZUV2ZW50IiwiZXhjZXB0aW9uQWxlcnQiLCJ2YWxpZGF0ZUV2ZW50IiwiX3VzZU1lbW8iLCJ1c2VNZW1vIiwicGFyc2VFdmVudERhdGEiLCJmaXJzdHNlZW4iLCJsYXN0c2VlbiIsImRpc2NoYXJnZVRpbWUiLCJjYWxjdWxhdGVUaW1lRHVyYXRpb24iLCJzdGFydF90aW1lIiwiZW5kX3RpbWUiLCJsYXN0X3NlZW5fdGltZSIsIml0ZW1Db250YWluZXIiLCJ1c2VSZWYiLCJldmVudFNvdXJjZSIsInNvdXJjZV90eXBlIiwic291cmNlcyIsInBvbGx1dGVyIiwiX2ZpcnN0IiwiY3JlYXRlRWxlbWVudCIsImNsYXNzTmFtZSIsImkxOG4iLCJ0IiwiZmlyc3QiLCJwb2ludF9uYW1lIiwidXNlRWZmZWN0IiwidW5kZWZpbmVkIiwicmVmIiwib25DbGljayIsIm9uTW91c2VFbnRlciIsIm9uTW91c2VMZWF2ZSIsImNvbmNhdCIsInNldmVyaXRpZXMiLCJOdW1iZXIiLCJzZXZlcml0eSIsImlkIiwiZGlzY2hhcmdpbmciLCJvYnNlcnZhdGlvbnMiLCJsZW5ndGgiLCJJbmZvVG9vbHRpcCIsImRhdGEiLCJJMThuIiwiY291bnQiLCJ0aXRsZSIsImFsaWduVG9Cb3R0b20iLCJhbHRlcm5hdGVJY29uIiwicGFkZGluZyIsInJldmVyc2VkIiwiRnJhZ21lbnQiLCJzaXRlIiwidGltZXN0YW1wIiwidG9TdHJpbmciLCJ0aW1lX3pvbmUiLCJkYXRlIiwidGltZSIsImhyZWYiLCJpbnRlcmVzdFBvaW50cyIsImV2ZW50X2lkcyIsImluY2x1ZGVzIiwibWVzc2FnZXMiLCJtYXAiLCJldmVudF9pZCIsIm1lc3NhZ2UiLCJSZWFjdENvbXBvbmVudCIsIndpZHRoIiwiaGVpZ2h0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1NldmVyZUV2ZW50L1NldmVyZUV2ZW50LnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHsgdXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VSZWYgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgeyBmaXJzdCB9IGZyb20gJ2xvZGFzaCc7XG5pbXBvcnQgaTE4biBmcm9tICcuLi8uLi91dGlsaXRpZXMvaTE4bic7XG5pbXBvcnQgVGltZUZvcm1hdCBmcm9tICdzcmMvdXRpbGl0aWVzL1RpbWVGb3JtYXQnO1xuaW1wb3J0IHsgUmVhY3RDb21wb25lbnQgYXMgSW5mbyB9IGZyb20gJy4vYXNzZXRzL2luZm8uc3ZnJztcbmltcG9ydCBFdGEgZnJvbSAnLi9FdGEvRXRhJztcbmltcG9ydCAnLi9TZXZlcmVFdmVudC5zY3NzJztcbmltcG9ydCB7IGV0YVdXVFAgfSBmcm9tICdzcmMvcGFnZXMvVXRpbGl0eURhc2hib2FyZFBhZ2UvTW9zdFNldmVyZUV2ZW50cy9tb2RlbHMnO1xuaW1wb3J0IHsgSUV2ZW50IH0gZnJvbSAnc3JjL3N0b3JlL2V2ZW50cy9tb2RlbHMvSUV2ZW50JztcbmltcG9ydCB7IEluZm9Ub29sdGlwIH0gZnJvbSAnc3JjL3VpLWtpdC9JbmZvVG9vbHRpcC9JbmZvVG9vbHRpcCc7XG5pbXBvcnQgeyBSZWFjdENvbXBvbmVudCBhcyBBbGVydEljb24gfSBmcm9tICcuL0FsZXJ0SWNvbi5zdmcnO1xuaW1wb3J0IHsgcGFyc2VFdmVudERhdGEgfSBmcm9tICdzcmMvcGFnZXMvRXZlbnRzUGFnZS9ldmVudHMvZXZlbnRzX2xpc3QvRXZlbnRVdGlscyc7XG5pbXBvcnQgeyBjYWxjdWxhdGVUaW1lRHVyYXRpb24gfSBmcm9tICdzcmMvaG9va3MvdXNlVXNlclRpbWVab25lJztcbmltcG9ydCBTaXRlTmFtZSBmcm9tICcuLi8uLi91aS1raXQvc2l0ZU5hbWUvU2l0ZU5hbWUnO1xuaW1wb3J0IFVwc3RyZWFtQmFkZ2UgZnJvbSAnLi9VcHN0cmVhbUJhZGdlJztcbmltcG9ydCBJMThuIGZyb20gJy4uLy4uL3V0aWxpdGllcy9pMThuJztcblxuZXhwb3J0IGludGVyZmFjZSBTZXZlcmVFdmVudFByb3BzIHtcbiAgZXRhV1dUUD86IGV0YVdXVFA7XG4gIG1zZz86IHN0cmluZztcbiAgZXZlbnQ6IElFdmVudDtcbiAgb25Nb3VzZUVudGVyRXZlbnQ/OiAoZXZlbnQ6IGFueSkgPT4gdm9pZDtcbiAgb25Nb3VzZUxlYXZlRXZlbnQ/OiAoKSA9PiB2b2lkO1xuICBoYW5kbGVDbGljaz86IChhcmcyOiBhbnksIGFyZzE6IGFueSkgPT4gdm9pZDtcbiAgdmFsdWVzRnJvbUtRTD86IHN0cmluZztcbiAgZXhjZXB0aW9uQWxlcnQ/OiB7XG4gICAgbWVzc2FnZXM6IHsgbWVzc2FnZTogYW55OyBldmVudF9pZDogbnVtYmVyIH1bXTtcbiAgICBldmVudF9pZHM6IG51bWJlcltdO1xuICB9O1xuICB2YWxpZGF0ZUV2ZW50PzogKGV2ZW50OiBJRXZlbnQpID0+IHZvaWQ7XG59XG5cbmV4cG9ydCBjb25zdCBTZXZlcmVFdmVudDogUmVhY3QuRkM8U2V2ZXJlRXZlbnRQcm9wcz4gPSAoe1xuICBldGFXV1RQLFxuICBtc2cgPSAnJyxcbiAgZXZlbnQsXG4gIGhhbmRsZUNsaWNrLFxuICBvbk1vdXNlRW50ZXJFdmVudCxcbiAgb25Nb3VzZUxlYXZlRXZlbnQsXG4gIGV4Y2VwdGlvbkFsZXJ0LFxuICB2YWxpZGF0ZUV2ZW50LFxufSkgPT4ge1xuICBjb25zdCB7IGZpcnN0c2VlbiwgbGFzdHNlZW4gfSA9IHVzZU1lbW8oKCkgPT4gcGFyc2VFdmVudERhdGEoZXZlbnQpLCBbZXZlbnRdKTtcbiAgY29uc3QgZGlzY2hhcmdlVGltZSA9IGNhbGN1bGF0ZVRpbWVEdXJhdGlvbih7XG4gICAgc3RhcnRfdGltZTogZmlyc3RzZWVuLnN0YXJ0X3RpbWUsXG4gICAgZW5kX3RpbWU6IGZpcnN0c2Vlbi5sYXN0X3NlZW5fdGltZSxcbiAgfSk7XG4gIGNvbnN0IGl0ZW1Db250YWluZXIgPSB1c2VSZWY8YW55PihudWxsKTtcblxuICAvKiBTaG93IG5hbWUgaW4gdGhlIHRpdGxlIGZvciBmYWN0b3JpZXMgb25seSAqL1xuICBjb25zdCBldmVudFNvdXJjZSA9IChldmVudDogSUV2ZW50KSA9PiB7XG4gICAgaWYgKGV2ZW50LnNvdXJjZV90eXBlID09PSAnZmFjdG9yeScgJiYgZXZlbnQuc291cmNlc1swXS5wb2xsdXRlcikge1xuICAgICAgcmV0dXJuIChcbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzb3VyY2VcIj5cbiAgICAgICAgICB7aTE4bi50KCdkYXNoYm9hcmRfdjIudXRpbGl0eV9kYXNoYm9hcmQubW9zdC1zZXZlcmUtZXZlbnRzLnNvdXJjZScpfVxuICAgICAgICAgIDombmJzcDtcbiAgICAgICAgICB7Zmlyc3QoZXZlbnQuc291cmNlcyk/LnBvaW50X25hbWUgfHwgJ05vIE5hbWUnfVxuICAgICAgICA8L2Rpdj5cbiAgICAgICk7XG4gICAgfVxuXG4gICAgcmV0dXJuIG51bGw7XG4gIH07XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICB2YWxpZGF0ZUV2ZW50ICE9PSB1bmRlZmluZWQgJiYgdmFsaWRhdGVFdmVudChldmVudCk7XG4gIH0sIFtdKTtcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHJlZj17aXRlbUNvbnRhaW5lcn1cbiAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUNsaWNrICYmIGhhbmRsZUNsaWNrKGV2ZW50LCBpdGVtQ29udGFpbmVyKX1cbiAgICAgIG9uTW91c2VFbnRlcj17KCkgPT4gb25Nb3VzZUVudGVyRXZlbnQgJiYgb25Nb3VzZUVudGVyRXZlbnQoZXZlbnQpfVxuICAgICAgb25Nb3VzZUxlYXZlPXsoKSA9PiBvbk1vdXNlTGVhdmVFdmVudCAmJiBvbk1vdXNlTGVhdmVFdmVudCgpfVxuICAgICAgY2xhc3NOYW1lPXtgc2V2ZXJlLWV2ZW50ICR7c2V2ZXJpdGllc1tOdW1iZXIoZXZlbnQuc2V2ZXJpdHkpXX1gfVxuICAgICAgZGF0YS1ldmVudC1pZD17ZXZlbnQuaWR9XG4gICAgPlxuICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0b3BcIj5cbiAgICAgICAge2V2ZW50U291cmNlKGV2ZW50KX1cblxuICAgICAgICB7ZXZlbnQuZGlzY2hhcmdpbmcgJiYgKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGlzY2hhcmdpbmdcIj5cbiAgICAgICAgICAgIHtpMThuLnQoJ2V2ZW50c19vdmVydmlldy5kaXNjaGFyZ2luZycpfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgICB7ZXZlbnQub2JzZXJ2YXRpb25zLmxlbmd0aCA+IDEgJiYgKFxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidXBzdHJlYW0tYmFkZ2VcIj5cbiAgICAgICAgICAgIDxJbmZvVG9vbHRpcFxuICAgICAgICAgICAgICBrZXk9e2B1cHN0cmVhbS0ke2V2ZW50LmlkfWB9XG4gICAgICAgICAgICAgIGRhdGE9e0kxOG4udCgnZXZlbnRfaW5mby51cHN0cmVhbV9vYnNlcnZhdGlvbnMnLCB7XG4gICAgICAgICAgICAgICAgY291bnQ6IGV2ZW50Lm9ic2VydmF0aW9ucy5sZW5ndGgsXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICB0aXRsZT17Jyd9XG4gICAgICAgICAgICAgIGFsaWduVG9Cb3R0b209e2ZhbHNlfVxuICAgICAgICAgICAgICBhbHRlcm5hdGVJY29uPXtcbiAgICAgICAgICAgICAgICA8VXBzdHJlYW1CYWRnZVxuICAgICAgICAgICAgICAgICAgY291bnQ9e2V2ZW50Lm9ic2VydmF0aW9ucy5sZW5ndGh9XG4gICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ1cHN0cmVhbS1iYWRnZVwiXG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICBwYWRkaW5nPXtmYWxzZX1cbiAgICAgICAgICAgICAgcmV2ZXJzZWQ9e3RydWV9XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIDw+PC8+XG4gICAgICAgICAgICA8L0luZm9Ub29sdGlwPlxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cImNvbnRlbnRcIj5cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJzZWVuXCI+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJkZXRhaWxzXCI+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImZpcnN0XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidHlwZS10aXRsZVwiPlxuICAgICAgICAgICAgICAgIHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAnZGFzaGJvYXJkX3YyLnV0aWxpdHlfZGFzaGJvYXJkLm1vc3Qtc2V2ZXJlLWV2ZW50cy5maXJzdC1zZWVuJyxcbiAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDpcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxzcGFuIGNsYXNzTmFtZT1cIm1vYmlsZVwiPlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWRkclwiPlxuICAgICAgICAgICAgICAgICAgPFNpdGVOYW1lIHNpdGU9e2ZpcnN0c2Vlbi5wb2ludF9uYW1lfSAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgPFRpbWVGb3JtYXRcbiAgICAgICAgICAgICAgICAgICAgdGltZXN0YW1wPXtmaXJzdHNlZW4uc3RhcnRfdGltZS50b1N0cmluZygpfVxuICAgICAgICAgICAgICAgICAgICB0aW1lX3pvbmU9e2ZpcnN0c2Vlbi50aW1lX3pvbmUudG9TdHJpbmcoKX1cbiAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJsYXN0XCI+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidHlwZS10aXRsZVwiPlxuICAgICAgICAgICAgICAgIHsnICd9XG4gICAgICAgICAgICAgICAge2kxOG4udChcbiAgICAgICAgICAgICAgICAgICdkYXNoYm9hcmRfdjIudXRpbGl0eV9kYXNoYm9hcmQubW9zdC1zZXZlcmUtZXZlbnRzLmxhc3Qtc2VlbicsXG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICA6XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJtb2JpbGVcIj5cbiAgICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImFkZHJcIj5cbiAgICAgICAgICAgICAgICAgIDxTaXRlTmFtZSBzaXRlPXtsYXN0c2Vlbi5wb2ludF9uYW1lfSAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiZGF0ZVwiPlxuICAgICAgICAgICAgICAgICAgPFRpbWVGb3JtYXRcbiAgICAgICAgICAgICAgICAgICAgdGltZXN0YW1wPXtsYXN0c2Vlbi5sYXN0X3NlZW5fdGltZS50b1N0cmluZygpfVxuICAgICAgICAgICAgICAgICAgICB0aW1lX3pvbmU9e2xhc3RzZWVuLnRpbWVfem9uZS50b1N0cmluZygpfVxuICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9eydsb3dlcl9kZXRhaWxzJ30+XG4gICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cInRvdGFsLXRpbWVcIj5cbiAgICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0eXBlLXRpdGxlXCI+XG4gICAgICAgICAgICAgICAge2kxOG4udCgnZXZlbnRzX292ZXJ2aWV3LmRpc2NoYXJnZV90aW1lJyl9XG4gICAgICAgICAgICAgICAgey8qVG90YWwgdGltZSovfTpcbiAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwidGltZVwiPntkaXNjaGFyZ2VUaW1lfTwvZGl2PlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgIDwvZGl2PlxuICAgICAgICB7ZXRhV1dUUCAmJiAoXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJldGEtd3d0cFwiPlxuICAgICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ0eXBlLXRpdGxlXCI+XG4gICAgICAgICAgICAgIHtpMThuLnQoXG4gICAgICAgICAgICAgICAgJ2Rhc2hib2FyZF92Mi51dGlsaXR5X2Rhc2hib2FyZC5tb3N0LXNldmVyZS1ldmVudHMuZXRhLXd3dHAnLFxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICA6XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiaW5mb1wiPlxuICAgICAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cImRhdGUgXCI+XG4gICAgICAgICAgICAgICAge2V0YVdXVFAuZGF0ZX1cbiAgICAgICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9XCJ0aW1lXCI+ICh7ZXRhV1dUUC50aW1lfSk8L3NwYW4+XG4gICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICA8YSBocmVmPVwiI1wiIGNsYXNzTmFtZT1cIm1vcmUgXCI+XG4gICAgICAgICAgICAgICAge2V0YVdXVFAuaW50ZXJlc3RQb2ludHNcbiAgICAgICAgICAgICAgICAgID8gYCR7ZXRhV1dUUC5pbnRlcmVzdFBvaW50c30gJHtpMThuLnQoXG4gICAgICAgICAgICAgICAgICAgICAgJ2Rhc2hib2FyZF92Mi51dGlsaXR5X2Rhc2hib2FyZC5tb3N0LXNldmVyZS1ldmVudHMubW9yZS1pbnRlcnNldCcsXG4gICAgICAgICAgICAgICAgICAgICl9YFxuICAgICAgICAgICAgICAgICAgOiAnJ31cbiAgICAgICAgICAgICAgPC9hPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwiYWxlcnQtaWNvblwiPlxuICAgICAgICAgIHtleGNlcHRpb25BbGVydCAhPT0gdW5kZWZpbmVkICYmXG4gICAgICAgICAgICBleGNlcHRpb25BbGVydC5ldmVudF9pZHMuaW5jbHVkZXMoZXZlbnQuaWQpICYmXG4gICAgICAgICAgICBleGNlcHRpb25BbGVydC5tZXNzYWdlcy5tYXAoKG1zZykgPT4ge1xuICAgICAgICAgICAgICBpZiAobXNnLmV2ZW50X2lkID09PSBldmVudC5pZCkge1xuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICA8SW5mb1Rvb2x0aXBcbiAgICAgICAgICAgICAgICAgICAga2V5PXtgYWxlcnQtJHttc2cuZXZlbnRfaWR9YH1cbiAgICAgICAgICAgICAgICAgICAgZGF0YT17bXNnLm1lc3NhZ2V9XG4gICAgICAgICAgICAgICAgICAgIHRpdGxlPXsnJ31cbiAgICAgICAgICAgICAgICAgICAgYWxpZ25Ub0JvdHRvbT17ZmFsc2V9XG4gICAgICAgICAgICAgICAgICAgIGFsdGVybmF0ZUljb249ezxBbGVydEljb24gLz59XG4gICAgICAgICAgICAgICAgICAgIHJldmVyc2VkPXt0cnVlfVxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nPXtmYWxzZX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPD48Lz5cbiAgICAgICAgICAgICAgICAgIDwvSW5mb1Rvb2x0aXA+XG4gICAgICAgICAgICAgICAgKTtcbiAgICAgICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgICAgICByZXR1cm4gbnVsbDtcbiAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgfSl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8RXRhIGV2ZW50PXtldmVudH0gLz5cblxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT17YG1zZyR7bXNnID8gJyBvbicgOiAnJ31gfT5cbiAgICAgICAgICA8SW5mbyB3aWR0aD1cIjEzcHhcIiBoZWlnaHQ9XCIxMnB4XCIgLz5cbiAgICAgICAgICB7bXNnfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApO1xufTtcblxuY29uc3Qgc2V2ZXJpdGllcyA9IFsnbG93JywgJ2hpZ2gnLCAnZXh0cmVtZSddO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLE9BQUEsR0FBQUQsT0FB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
@@ -62,6 +62,30 @@
62
62
  align-items: center;
63
63
  justify-content: space-between;
64
64
 
65
+ > :first-child {
66
+ &.upstream-badge {
67
+ width: 100%;
68
+ display: flex;
69
+ justify-content: flex-end;
70
+ }
71
+ }
72
+ .upstream-badge {
73
+ color: var(--theme-color);
74
+
75
+ svg {
76
+ opacity: 1;
77
+ fill: var(--theme-color);
78
+ }
79
+ .info-tooltip::after {
80
+ inset-inline-end: 10px;
81
+ margin-top: 5px;
82
+ }
83
+ .tooltip-content {
84
+ inset-inline-end: 50px;
85
+ margin-block-start: -15px;
86
+ }
87
+ }
88
+
65
89
  > .source {
66
90
  font-size: 14px;
67
91
  color: #fff;
@@ -0,0 +1,60 @@
1
+ "use strict";
2
+
3
+ var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault");
4
+ Object.defineProperty(exports, "__esModule", {
5
+ value: true
6
+ });
7
+ exports.default = exports.UpstreamBadge = void 0;
8
+ var _react = _interopRequireDefault(require("react"));
9
+ var UpstreamBadge = function UpstreamBadge(_ref) {
10
+ var count = _ref.count,
11
+ _ref$color = _ref.color,
12
+ color = _ref$color === void 0 ? '#E11D48' : _ref$color,
13
+ _ref$size = _ref.size,
14
+ size = _ref$size === void 0 ? 35 : _ref$size,
15
+ _ref$className = _ref.className,
16
+ className = _ref$className === void 0 ? 'UpstreamBadge' : _ref$className;
17
+ var innerSize = size * 0.82;
18
+ return /*#__PURE__*/_react.default.createElement("div", {
19
+ className: className,
20
+ style: {
21
+ width: size,
22
+ height: size,
23
+ borderRadius: '50%',
24
+ backgroundColor: '#FFFFFF',
25
+ boxShadow: '0 4px 10px rgba(0,0,0,0.15)',
26
+ display: 'flex',
27
+ alignItems: 'center',
28
+ justifyContent: 'center'
29
+ }
30
+ }, /*#__PURE__*/_react.default.createElement("div", {
31
+ style: {
32
+ width: innerSize,
33
+ height: innerSize,
34
+ borderRadius: '50%',
35
+ backgroundColor: '#F8F8F8',
36
+ display: 'flex',
37
+ flexDirection: 'column',
38
+ alignItems: 'center',
39
+ justifyContent: 'center',
40
+ fontWeight: 700,
41
+ lineHeight: 1
42
+ }
43
+ }, /*#__PURE__*/_react.default.createElement("svg", {
44
+ width: innerSize * 0.45,
45
+ height: innerSize * 0.5,
46
+ viewBox: "0 0 24 24",
47
+ fill: color
48
+ }, /*#__PURE__*/_react.default.createElement("path", {
49
+ d: "M12 2l7 8h-4v12h-6V10H5l7-8z"
50
+ })), /*#__PURE__*/_react.default.createElement("div", {
51
+ style: {
52
+ marginTop: 2,
53
+ fontSize: innerSize * 0.45
54
+ }
55
+ }, count)));
56
+ };
57
+ exports.UpstreamBadge = UpstreamBadge;
58
+ var _default = UpstreamBadge;
59
+ exports.default = _default;
60
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVEZWZhdWx0IiwicmVxdWlyZSIsIlVwc3RyZWFtQmFkZ2UiLCJfcmVmIiwiY291bnQiLCJfcmVmJGNvbG9yIiwiY29sb3IiLCJfcmVmJHNpemUiLCJzaXplIiwiX3JlZiRjbGFzc05hbWUiLCJjbGFzc05hbWUiLCJpbm5lclNpemUiLCJkZWZhdWx0IiwiY3JlYXRlRWxlbWVudCIsInN0eWxlIiwid2lkdGgiLCJoZWlnaHQiLCJib3JkZXJSYWRpdXMiLCJiYWNrZ3JvdW5kQ29sb3IiLCJib3hTaGFkb3ciLCJkaXNwbGF5IiwiYWxpZ25JdGVtcyIsImp1c3RpZnlDb250ZW50IiwiZmxleERpcmVjdGlvbiIsImZvbnRXZWlnaHQiLCJsaW5lSGVpZ2h0Iiwidmlld0JveCIsImZpbGwiLCJkIiwibWFyZ2luVG9wIiwiZm9udFNpemUiLCJleHBvcnRzIiwiX2RlZmF1bHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29tcG9uZW50cy9TZXZlcmVFdmVudC9VcHN0cmVhbUJhZGdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG50eXBlIFVwc3RyZWFtQmFkZ2VQcm9wcyA9IHtcbiAgY291bnQ6IG51bWJlcjtcbiAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICBjb2xvcj86IHN0cmluZzsgLy8gbWFpbiBjb2xvciAoYXJyb3cgKyBudW1iZXIpXG4gIHNpemU/OiBudW1iZXI7IC8vIGRpYW1ldGVyIGluIHB4XG59O1xuXG5leHBvcnQgY29uc3QgVXBzdHJlYW1CYWRnZTogUmVhY3QuRkM8VXBzdHJlYW1CYWRnZVByb3BzPiA9ICh7XG4gIGNvdW50LFxuICBjb2xvciA9ICcjRTExRDQ4JywgLy8gZGVmYXVsdCByZWRcbiAgc2l6ZSA9IDM1LFxuICBjbGFzc05hbWUgPSAnVXBzdHJlYW1CYWRnZScsXG59KSA9PiB7XG4gIGNvbnN0IGlubmVyU2l6ZSA9IHNpemUgKiAwLjgyO1xuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWV9XG4gICAgICBzdHlsZT17e1xuICAgICAgICB3aWR0aDogc2l6ZSxcbiAgICAgICAgaGVpZ2h0OiBzaXplLFxuICAgICAgICBib3JkZXJSYWRpdXM6ICc1MCUnLFxuICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICcjRkZGRkZGJyxcbiAgICAgICAgYm94U2hhZG93OiAnMCA0cHggMTBweCByZ2JhKDAsMCwwLDAuMTUpJyxcbiAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgd2lkdGg6IGlubmVyU2l6ZSxcbiAgICAgICAgICBoZWlnaHQ6IGlubmVyU2l6ZSxcbiAgICAgICAgICBib3JkZXJSYWRpdXM6ICc1MCUnLFxuICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJyNGOEY4RjgnLFxuICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgICAgZm9udFdlaWdodDogNzAwLFxuICAgICAgICAgIGxpbmVIZWlnaHQ6IDEsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHsvKiBBcnJvdyAqL31cbiAgICAgICAgPHN2Z1xuICAgICAgICAgIHdpZHRoPXtpbm5lclNpemUgKiAwLjQ1fVxuICAgICAgICAgIGhlaWdodD17aW5uZXJTaXplICogMC41fVxuICAgICAgICAgIHZpZXdCb3g9XCIwIDAgMjQgMjRcIlxuICAgICAgICAgIGZpbGw9e2NvbG9yfVxuICAgICAgICA+XG4gICAgICAgICAgPHBhdGggZD1cIk0xMiAybDcgOGgtNHYxMmgtNlYxMEg1bDctOHpcIiAvPlxuICAgICAgICA8L3N2Zz5cblxuICAgICAgICB7LyogQ291bnQgKi99XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgbWFyZ2luVG9wOiAyLFxuICAgICAgICAgICAgZm9udFNpemU6IGlubmVyU2l6ZSAqIDAuNDUsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHtjb3VudH1cbiAgICAgICAgPC9kaXY+XG4gICAgICA8L2Rpdj5cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5leHBvcnQgZGVmYXVsdCBVcHN0cmVhbUJhZGdlO1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyxzQkFBQSxDQUFBQyxPQUFBO0FBU08sSUFBTUMsYUFBMkMsR0FBRyxTQUE5Q0EsYUFBMkNBLENBQUFDLElBQUEsRUFLbEQ7RUFBQSxJQUpKQyxLQUFLLEdBQUFELElBQUEsQ0FBTEMsS0FBSztJQUFBQyxVQUFBLEdBQUFGLElBQUEsQ0FDTEcsS0FBSztJQUFMQSxLQUFLLEdBQUFELFVBQUEsY0FBRyxTQUFTLEdBQUFBLFVBQUE7SUFBQUUsU0FBQSxHQUFBSixJQUFBLENBQ2pCSyxJQUFJO0lBQUpBLElBQUksR0FBQUQsU0FBQSxjQUFHLEVBQUUsR0FBQUEsU0FBQTtJQUFBRSxjQUFBLEdBQUFOLElBQUEsQ0FDVE8sU0FBUztJQUFUQSxTQUFTLEdBQUFELGNBQUEsY0FBRyxlQUFlLEdBQUFBLGNBQUE7RUFFM0IsSUFBTUUsU0FBUyxHQUFHSCxJQUFJLEdBQUcsSUFBSTtFQUU3QixvQkFDRVQsTUFBQSxDQUFBYSxPQUFBLENBQUFDLGFBQUE7SUFDRUgsU0FBUyxFQUFFQSxTQUFVO0lBQ3JCSSxLQUFLLEVBQUU7TUFDTEMsS0FBSyxFQUFFUCxJQUFJO01BQ1hRLE1BQU0sRUFBRVIsSUFBSTtNQUNaUyxZQUFZLEVBQUUsS0FBSztNQUNuQkMsZUFBZSxFQUFFLFNBQVM7TUFDMUJDLFNBQVMsRUFBRSw2QkFBNkI7TUFDeENDLE9BQU8sRUFBRSxNQUFNO01BQ2ZDLFVBQVUsRUFBRSxRQUFRO01BQ3BCQyxjQUFjLEVBQUU7SUFDbEI7RUFBRSxnQkFFRnZCLE1BQUEsQ0FBQWEsT0FBQSxDQUFBQyxhQUFBO0lBQ0VDLEtBQUssRUFBRTtNQUNMQyxLQUFLLEVBQUVKLFNBQVM7TUFDaEJLLE1BQU0sRUFBRUwsU0FBUztNQUNqQk0sWUFBWSxFQUFFLEtBQUs7TUFDbkJDLGVBQWUsRUFBRSxTQUFTO01BQzFCRSxPQUFPLEVBQUUsTUFBTTtNQUNmRyxhQUFhLEVBQUUsUUFBUTtNQUN2QkYsVUFBVSxFQUFFLFFBQVE7TUFDcEJDLGNBQWMsRUFBRSxRQUFRO01BQ3hCRSxVQUFVLEVBQUUsR0FBRztNQUNmQyxVQUFVLEVBQUU7SUFDZDtFQUFFLGdCQUdGMUIsTUFBQSxDQUFBYSxPQUFBLENBQUFDLGFBQUE7SUFDRUUsS0FBSyxFQUFFSixTQUFTLEdBQUcsSUFBSztJQUN4QkssTUFBTSxFQUFFTCxTQUFTLEdBQUcsR0FBSTtJQUN4QmUsT0FBTyxFQUFDLFdBQVc7SUFDbkJDLElBQUksRUFBRXJCO0VBQU0sZ0JBRVpQLE1BQUEsQ0FBQWEsT0FBQSxDQUFBQyxhQUFBO0lBQU1lLENBQUMsRUFBQztFQUE4QixDQUFFLENBQ3JDLENBQUMsZUFHTjdCLE1BQUEsQ0FBQWEsT0FBQSxDQUFBQyxhQUFBO0lBQ0VDLEtBQUssRUFBRTtNQUNMZSxTQUFTLEVBQUUsQ0FBQztNQUNaQyxRQUFRLEVBQUVuQixTQUFTLEdBQUc7SUFDeEI7RUFBRSxHQUVEUCxLQUNFLENBQ0YsQ0FDRixDQUFDO0FBRVYsQ0FBQztBQUFDMkIsT0FBQSxDQUFBN0IsYUFBQSxHQUFBQSxhQUFBO0FBQUEsSUFBQThCLFFBQUEsR0FDYTlCLGFBQWE7QUFBQTZCLE9BQUEsQ0FBQW5CLE9BQUEsR0FBQW9CLFFBQUEifQ==