@kando-env/kando-ui 1.2.467-alpha.9 → 1.2.468

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 (35) hide show
  1. package/lib/Router.js +5 -12
  2. package/lib/Widgets/Map/Map.js +3 -3
  3. package/lib/Widgets/Map/MapUtils.js +1 -2
  4. package/lib/Widgets/MostPolluting/Factories/factoriesResponse.interface.js +1 -1
  5. package/lib/components/DischargeHeatmap/mocks/handlers.js +3 -3
  6. package/lib/components/Header/Toolbar/Toolbar.js +6 -3
  7. package/lib/components/KandoModal/KandoModal.js +4 -27
  8. package/lib/components/KandoModal/styles.scss +0 -4
  9. package/lib/i18n/en.json +2 -19
  10. package/lib/i18n/fr.json +0 -13
  11. package/lib/i18n/he.json +0 -13
  12. package/lib/i18n/it.json +0 -13
  13. package/lib/macros/getVersion.js +2 -2
  14. package/lib/pages/EventsPage/events/EventsStyle.scss +1 -1
  15. package/lib/pages/EventsPage/events/event_info/EventSection.test.js +22 -21
  16. package/lib/pages/EventsPage/events/event_info/Header/Header.js +1 -1
  17. package/lib/pages/EventsPage/events/event_info/Header/index.js +1 -1
  18. package/lib/pages/EventsPage/events/event_info/SeverityScore/index.js +1 -1
  19. package/lib/pages/EventsPage/events/event_info/Timelines/index.js +1 -1
  20. package/lib/pages/EventsPage/events/events_list/Filter/FilterContainer.js +2 -2
  21. package/lib/pages/EventsPage/events/events_list/Filter/FilterItem.js +1 -2
  22. package/lib/test/mocks/browser.js +1 -1
  23. package/lib/test/test-utils.js +1 -1
  24. package/lib/ui-kit/HierarchyGraph/AutoFitTree.js +10 -27
  25. package/lib/ui-kit/HierarchyGraph/HierarchyGraph.js +10 -20
  26. package/lib/ui-kit/HierarchyGraph/style.scss +0 -4
  27. package/lib/ui-kit/KandoTable/KandoTable.test.js +1 -1
  28. package/lib/utilities/scoreToData.test.js +1 -1
  29. package/package.json +1 -1
  30. package/lib/assets/streami-logo.svg +0 -26
  31. package/lib/components/SeasonalInsights/SeasonalInsights.js +0 -230
  32. package/lib/components/TopBanner/TopBanner.js +0 -227
  33. package/lib/components/TopBanner/insightsDismissalStorage.js +0 -36
  34. package/lib/pages/NetworkPage/NetworkPage.js +0 -48
  35. package/lib/ui-kit/HierarchyGraph/NetworkNode.js +0 -37
@@ -13,4 +13,4 @@ describe('scoreToData unit tests', function () {
13
13
  expect((0, _scoreToData.scoreToLabel)(35)).toEqual('Medium');
14
14
  });
15
15
  });
16
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZXF1aXJlIiwiX3Njb3JlVG9EYXRhIiwiZGVzY3JpYmUiLCJ0ZXN0IiwiZXhwZWN0Iiwic2NvcmVUb0xhYmVsIiwidG9FcXVhbCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc2NvcmVUb0RhdGEudGVzdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ0B0ZXN0aW5nLWxpYnJhcnkvamVzdC1kb20vZXh0ZW5kLWV4cGVjdCc7XG5pbXBvcnQgeyBzY29yZVRvTGFiZWwgfSBmcm9tICcuL3Njb3JlVG9EYXRhJztcblxuZGVzY3JpYmUoJ3Njb3JlVG9EYXRhIHVuaXQgdGVzdHMnLCAoKSA9PiB7XG4gIHRlc3QoJ2xhYmVsIGV4dHJlbWUnLCAoKSA9PiB7XG4gICAgZXhwZWN0KHNjb3JlVG9MYWJlbCg4MCkpLnRvRXF1YWwoJ0V4dHJlbWUnKTtcbiAgfSk7XG4gIHRlc3QoJ2xhYmVsIGhpZ2gnLCAoKSA9PiB7XG4gICAgZXhwZWN0KHNjb3JlVG9MYWJlbCg1NSkpLnRvRXF1YWwoJ0hpZ2gnKTtcbiAgfSk7XG4gIHRlc3QoJ2xhYmVsIG1lZGl1bScsICgpID0+IHtcbiAgICBleHBlY3Qoc2NvcmVUb0xhYmVsKDM1KSkudG9FcXVhbCgnTWVkaXVtJyk7XG4gIH0pO1xufSk7XG4iXSwibWFwcGluZ3MiOiI7O0FBQUFBLE9BQUE7QUFDQSxJQUFBQyxZQUFBLEdBQUFELE9BQUE7QUFFQUUsUUFBUSxDQUFDLHdCQUF3QixFQUFFLFlBQU07RUFDdkNDLElBQUksQ0FBQyxlQUFlLEVBQUUsWUFBTTtJQUMxQkMsTUFBTSxDQUFDLElBQUFDLHlCQUFZLEVBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQ0MsT0FBTyxDQUFDLFNBQVMsQ0FBQztFQUM3QyxDQUFDLENBQUM7RUFDRkgsSUFBSSxDQUFDLFlBQVksRUFBRSxZQUFNO0lBQ3ZCQyxNQUFNLENBQUMsSUFBQUMseUJBQVksRUFBQyxFQUFFLENBQUMsQ0FBQyxDQUFDQyxPQUFPLENBQUMsTUFBTSxDQUFDO0VBQzFDLENBQUMsQ0FBQztFQUNGSCxJQUFJLENBQUMsY0FBYyxFQUFFLFlBQU07SUFDekJDLE1BQU0sQ0FBQyxJQUFBQyx5QkFBWSxFQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUNDLE9BQU8sQ0FBQyxRQUFRLENBQUM7RUFDNUMsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIn0=
16
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZXF1aXJlIiwiX3Njb3JlVG9EYXRhIiwiZGVzY3JpYmUiLCJ0ZXN0IiwiZXhwZWN0Iiwic2NvcmVUb0xhYmVsIiwidG9FcXVhbCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlsaXRpZXMvc2NvcmVUb0RhdGEudGVzdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgJ0B0ZXN0aW5nLWxpYnJhcnkvamVzdC1kb20vZXh0ZW5kLWV4cGVjdCc7XG5pbXBvcnQge3Njb3JlVG9MYWJlbH0gZnJvbSBcIi4vc2NvcmVUb0RhdGFcIjtcblxuZGVzY3JpYmUoJ3Njb3JlVG9EYXRhIHVuaXQgdGVzdHMnLCAoKSA9PiB7XG4gIHRlc3QoJ2xhYmVsIGV4dHJlbWUnLCAoKSA9PiB7XG4gICAgZXhwZWN0KHNjb3JlVG9MYWJlbCg4MCkpLnRvRXF1YWwoJ0V4dHJlbWUnKTtcbiAgfSk7XG4gIHRlc3QoJ2xhYmVsIGhpZ2gnLCAoKSA9PiB7XG4gICAgZXhwZWN0KHNjb3JlVG9MYWJlbCg1NSkpLnRvRXF1YWwoJ0hpZ2gnKTtcbiAgfSk7XG4gIHRlc3QoJ2xhYmVsIG1lZGl1bScsICgpID0+IHtcbiAgICBleHBlY3Qoc2NvcmVUb0xhYmVsKDM1KSkudG9FcXVhbCgnTWVkaXVtJyk7XG4gIH0pO1xufSk7Il0sIm1hcHBpbmdzIjoiOztBQUFBQSxPQUFBO0FBQ0EsSUFBQUMsWUFBQSxHQUFBRCxPQUFBO0FBRUFFLFFBQVEsQ0FBQyx3QkFBd0IsRUFBRSxZQUFNO0VBQ3ZDQyxJQUFJLENBQUMsZUFBZSxFQUFFLFlBQU07SUFDMUJDLE1BQU0sQ0FBQyxJQUFBQyx5QkFBWSxFQUFDLEVBQUUsQ0FBQyxDQUFDLENBQUNDLE9BQU8sQ0FBQyxTQUFTLENBQUM7RUFDN0MsQ0FBQyxDQUFDO0VBQ0ZILElBQUksQ0FBQyxZQUFZLEVBQUUsWUFBTTtJQUN2QkMsTUFBTSxDQUFDLElBQUFDLHlCQUFZLEVBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQ0MsT0FBTyxDQUFDLE1BQU0sQ0FBQztFQUMxQyxDQUFDLENBQUM7RUFDRkgsSUFBSSxDQUFDLGNBQWMsRUFBRSxZQUFNO0lBQ3pCQyxNQUFNLENBQUMsSUFBQUMseUJBQVksRUFBQyxFQUFFLENBQUMsQ0FBQyxDQUFDQyxPQUFPLENBQUMsUUFBUSxDQUFDO0VBQzVDLENBQUMsQ0FBQztBQUNKLENBQUMsQ0FBQyJ9
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@kando-env/kando-ui",
3
- "version": "1.2.467-alpha.9",
3
+ "version": "1.2.468",
4
4
  "main": "lib/index.js",
5
5
  "author": "Nadav(Private) <nadavk72@gmail.com>",
6
6
  "scripts": {
@@ -1,26 +0,0 @@
1
- <svg width="80" height="80" viewBox="0 0 80 80" fill="none" xmlns="http://www.w3.org/2000/svg">
2
- <g filter="url(#filter0_d_435_1140)">
3
- <circle cx="40" cy="38" r="32" fill="white"/>
4
- </g>
5
- <circle cx="40" cy="38" r="32" fill="#F80153"/>
6
- <path d="M52.8 41.2C54.5673 41.2 56 39.7673 56 38C56 36.2327 54.5673 34.8 52.8 34.8C51.0327 34.8 49.6 36.2327 49.6 38C49.6 39.7673 51.0327 41.2 52.8 41.2Z" fill="#FBFBFB"/>
7
- <path d="M27.2 41.2C28.9673 41.2 30.4 39.7673 30.4 38C30.4 36.2327 28.9673 34.8 27.2 34.8C25.4327 34.8 24 36.2327 24 38C24 39.7673 25.4327 41.2 27.2 41.2Z" fill="#FBFBFB"/>
8
- <path d="M40 54C41.7673 54 43.2 52.5673 43.2 50.8C43.2 49.0327 41.7673 47.6 40 47.6C38.2327 47.6 36.8 49.0327 36.8 50.8C36.8 52.5673 38.2327 54 40 54Z" fill="#FBFBFB"/>
9
- <path d="M50.1559 25.5634L43.1089 32.5905L45.3685 34.8564L52.4155 27.8293L50.1559 25.5634Z" fill="#FBFBFB"/>
10
- <path d="M34.112 34.288L34.608 34.8L36.88 32.544L30.448 26.08H30.432L29.936 25.568L27.664 27.824L34.096 34.304L34.112 34.288Z" fill="#FBFBFB"/>
11
- <path d="M45.456 41.104L43.2 43.36L49.584 49.776L50.144 50.336L52.416 48.08L46.032 41.664L45.456 41.104Z" fill="#FBFBFB"/>
12
- <path d="M34.544 41.12L28.096 47.536L27.584 48.064L29.84 50.32L36.288 43.888L36.816 43.376L34.544 41.12Z" fill="#FBFBFB"/>
13
- <path d="M40 28.4C41.7673 28.4 43.2 26.9673 43.2 25.2C43.2 23.4327 41.7673 22 40 22C38.2327 22 36.8 23.4327 36.8 25.2C36.8 26.9673 38.2327 28.4 40 28.4Z" fill="#FBFBFB"/>
14
- <defs>
15
- <filter id="filter0_d_435_1140" x="0" y="0" width="80" height="80" filterUnits="userSpaceOnUse" color-interpolation-filters="sRGB">
16
- <feFlood flood-opacity="0" result="BackgroundImageFix"/>
17
- <feColorMatrix in="SourceAlpha" type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 127 0" result="hardAlpha"/>
18
- <feOffset dy="2"/>
19
- <feGaussianBlur stdDeviation="4"/>
20
- <feComposite in2="hardAlpha" operator="out"/>
21
- <feColorMatrix type="matrix" values="0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0.15 0"/>
22
- <feBlend mode="normal" in2="BackgroundImageFix" result="effect1_dropShadow_435_1140"/>
23
- <feBlend mode="normal" in="SourceGraphic" in2="effect1_dropShadow_435_1140" result="shape"/>
24
- </filter>
25
- </defs>
26
- </svg>
@@ -1,230 +0,0 @@
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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
@@ -1,227 +0,0 @@
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 _react = _interopRequireWildcard(require("react"));
14
- var _KandoModal = _interopRequireDefault(require("../KandoModal"));
15
- var _SeasonalInsights = _interopRequireDefault(require("../SeasonalInsights/SeasonalInsights"));
16
- var _i18next = _interopRequireDefault(require("i18next"));
17
- var _insightsDismissalStorage = require("./insightsDismissalStorage");
18
- var _Analytics = require("utilities/Analytics");
19
- var _reactRedux = require("react-redux");
20
- var _useNavContext2 = require("hooks/useNavContext");
21
- 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
- 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
- var INSIGHT_TYPE = 'seasonal_insight';
24
- var TopBanner = function TopBanner(_ref) {
25
- var _ref$backgroundColor = _ref.backgroundColor,
26
- backgroundColor = _ref$backgroundColor === void 0 ? 'rgb(217, 234, 255)' : _ref$backgroundColor,
27
- _ref$text = _ref.text,
28
- text = _ref$text === void 0 ? '' : _ref$text,
29
- onVisibilityChange = _ref.onVisibilityChange,
30
- apiEndpoint = _ref.apiEndpoint;
31
- var _useState = (0, _react.useState)(true),
32
- _useState2 = (0, _slicedToArray2.default)(_useState, 2),
33
- visible = _useState2[0],
34
- setVisible = _useState2[1];
35
- var _useState3 = (0, _react.useState)(false),
36
- _useState4 = (0, _slicedToArray2.default)(_useState3, 2),
37
- showModal = _useState4[0],
38
- setShowModal = _useState4[1];
39
- var _useState5 = (0, _react.useState)(null),
40
- _useState6 = (0, _slicedToArray2.default)(_useState5, 2),
41
- insightData = _useState6[0],
42
- setInsightData = _useState6[1];
43
- var bannerHeight = 30; // px
44
- var _useNavContext = (0, _useNavContext2.useNavContext)(),
45
- dir = _useNavContext.dir;
46
- var _useSelector = (0, _reactRedux.useSelector)(function (state) {
47
- return state.global_data;
48
- }),
49
- waterAuthorityName = _useSelector.waterAuthorityName;
50
- var titleText = String(_i18next.default.t('seasonal_insights.title'));
51
- var learnMoreText = String(_i18next.default.t('seasonal_insights.learn_more'));
52
- var dismissTooltipText = String(_i18next.default.t('seasonal_insights.dismiss_tooltip'));
53
-
54
- // On mount or when insight id changes, check localStorage for dismissal
55
- (0, _react.useEffect)(function () {
56
- // If we have insight data with an id, check if it was dismissed
57
- if ((insightData === null || insightData === void 0 ? void 0 : insightData.id) !== undefined) {
58
- try {
59
- var record = (0, _insightsDismissalStorage.getDismissal)(INSIGHT_TYPE);
60
- var dismissed = (record === null || record === void 0 ? void 0 : record.lastDismissedId) === String(insightData.id);
61
- setVisible(!dismissed);
62
- } catch (_unused) {
63
- setVisible(true);
64
- }
65
- } else if (insightData === null) {
66
- // No insight data - hide banner if using API, show if using static text prop
67
- if (apiEndpoint) {
68
- // API endpoint exists but no data returned - hide banner
69
- setVisible(false);
70
- } else {
71
- // No API endpoint - show banner if text is provided
72
- setVisible(!!text);
73
- }
74
- }
75
- }, [insightData === null || insightData === void 0 ? void 0 : insightData.id, insightData, apiEndpoint, text]);
76
-
77
- // Fetch data from API if endpoint is provided, robustly
78
- (0, _react.useEffect)(function () {
79
- if (!apiEndpoint) return;
80
- var controller = new AbortController();
81
- fetch(apiEndpoint, {
82
- signal: controller.signal
83
- }).then( /*#__PURE__*/function () {
84
- var _ref2 = (0, _asyncToGenerator2.default)( /*#__PURE__*/_regenerator.default.mark(function _callee(res) {
85
- return _regenerator.default.wrap(function _callee$(_context) {
86
- while (1) {
87
- switch (_context.prev = _context.next) {
88
- case 0:
89
- if (!(res.status === 404)) {
90
- _context.next = 2;
91
- break;
92
- }
93
- return _context.abrupt("return", {
94
- error: 'not_found'
95
- });
96
- case 2:
97
- if (res.ok) {
98
- _context.next = 4;
99
- break;
100
- }
101
- throw new Error("Request failed (".concat(res.status, ")"));
102
- case 4:
103
- _context.next = 6;
104
- return res.json();
105
- case 6:
106
- return _context.abrupt("return", _context.sent);
107
- case 7:
108
- case "end":
109
- return _context.stop();
110
- }
111
- }
112
- }, _callee);
113
- }));
114
- return function (_x) {
115
- return _ref2.apply(this, arguments);
116
- };
117
- }()).then(function (data) {
118
- // When the API says not_found, do not show the banner.
119
- if ((data === null || data === void 0 ? void 0 : data.error) === 'not_found') {
120
- setInsightData(null);
121
- setVisible(false);
122
- return;
123
- }
124
- setInsightData(data);
125
- }).catch(function (err) {
126
- // On fetch error, hide the banner (no data to show)
127
- if ((err === null || err === void 0 ? void 0 : err.name) !== 'AbortError') {
128
- setInsightData(null);
129
- setVisible(false);
130
- }
131
- });
132
- return function () {
133
- return controller.abort();
134
- };
135
- }, [apiEndpoint, text]);
136
-
137
- // Notify parent on visibility change
138
- (0, _react.useEffect)(function () {
139
- if (onVisibilityChange) onVisibilityChange(visible);
140
- }, [visible]);
141
-
142
- // When dismissed, persist in localStorage
143
- var handleDismiss = function handleDismiss() {
144
- (0, _Analytics.analyticsTrack)('seasonal_insight_dismissed', {
145
- id: insightData === null || insightData === void 0 ? void 0 : insightData.id,
146
- utility_name: waterAuthorityName
147
- });
148
- setVisible(false);
149
- if ((insightData === null || insightData === void 0 ? void 0 : insightData.id) === undefined) return;
150
- try {
151
- (0, _insightsDismissalStorage.setDismissal)(INSIGHT_TYPE, String(insightData.id));
152
- } catch (_unused2) {
153
- // ignore storage errors
154
- }
155
- };
156
- var openModal = function openModal() {
157
- setShowModal(true);
158
- (0, _Analytics.analyticsTrack)('Clicked seasonal_insight', {
159
- id: insightData === null || insightData === void 0 ? void 0 : insightData.id,
160
- utility_name: waterAuthorityName
161
- });
162
- };
163
- var closeModal = function closeModal() {
164
- setShowModal(false);
165
- };
166
- var modal = (0, _react.useMemo)(function () {
167
- if (!showModal) return null;
168
- return /*#__PURE__*/_react.default.createElement(_KandoModal.default, {
169
- isOpen: showModal,
170
- onClose: closeModal
171
- }, /*#__PURE__*/_react.default.createElement(_SeasonalInsights.default, {
172
- data: insightData
173
- }));
174
- }, [showModal]);
175
- if (!visible || !apiEndpoint) {
176
- return null;
177
- }
178
- return /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement(BannerContainer, {
179
- backgroundColor: backgroundColor,
180
- bannerHeight: bannerHeight
181
- }, /*#__PURE__*/_react.default.createElement("span", null, apiEndpoint && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, /*#__PURE__*/_react.default.createElement("span", {
182
- style: {
183
- filter: 'drop-shadow(0 0 2px rgba(0, 0, 0, 0.3))',
184
- fontSize: '16px',
185
- display: 'inline-block',
186
- marginRight: '4px'
187
- }
188
- }, "\u2728"), titleText, ' ', /*#__PURE__*/_react.default.createElement("span", {
189
- onClick: openModal,
190
- style: {
191
- textDecoration: 'underline',
192
- cursor: 'pointer'
193
- }
194
- }, learnMoreText))), /*#__PURE__*/_react.default.createElement(DismissButton, {
195
- onClick: handleDismiss,
196
- "aria-label": 'dismissTooltip',
197
- className: "kd-tooltip",
198
- "data-text": dismissTooltipText,
199
- isRtl: dir === 'rtl'
200
- }, "\xD7")), modal);
201
- };
202
- var DismissButton = _styledComponents.default.button.withConfig({
203
- displayName: "TopBanner__DismissButton",
204
- componentId: "sc-1towuq0-0"
205
- })(["position:absolute;", " background:transparent;border:none;font-size:24px;cursor:pointer;&.kd-tooltip{&[data-text]::after{content:attr(data-text);position:absolute;color:white;background-color:rgba(0,0,0,0.9);border-radius:5px;top:16px;", " padding:4px 6px;opacity:0;visibility:hidden;pointer-events:none;transition:opacity 0.15s ease-in-out,visibility 0.15s ease-in-out;white-space:nowrap;font-size:12px;}&:hover{&[data-text]::after{z-index:-1;opacity:1;visibility:visible;}}}"], function (_ref3) {
206
- var isRtl = _ref3.isRtl;
207
- return isRtl ? 'left: 10px; right: auto;' : 'right: 10px; left: auto;';
208
- }, function (_ref4) {
209
- var isRtl = _ref4.isRtl;
210
- return isRtl ? 'left: 22px;' : 'right: 22px;';
211
- });
212
- var BannerContainer = _styledComponents.default.div.withConfig({
213
- displayName: "TopBanner__BannerContainer",
214
- componentId: "sc-1towuq0-1"
215
- })(["width:100%;background:", ";padding:8px;text-align:center;position:sticky;top:0;z-index:1200;box-sizing:border-box;min-height:", ";height:", ";display:flex;align-items:center;justify-content:center;font-size:14px;cursor:default;"], function (_ref5) {
216
- var backgroundColor = _ref5.backgroundColor;
217
- return backgroundColor;
218
- }, function (_ref6) {
219
- var bannerHeight = _ref6.bannerHeight;
220
- return "".concat(bannerHeight, "px");
221
- }, function (_ref7) {
222
- var bannerHeight = _ref7.bannerHeight;
223
- return "".concat(bannerHeight, "px");
224
- });
225
- var _default = TopBanner;
226
- exports.default = _default;
227
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfS2FuZG9Nb2RhbCIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfU2Vhc29uYWxJbnNpZ2h0cyIsIl9pMThuZXh0IiwiX2luc2lnaHRzRGlzbWlzc2FsU3RvcmFnZSIsIl9BbmFseXRpY3MiLCJfcmVhY3RSZWR1eCIsIl91c2VOYXZDb250ZXh0MiIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsIm5vZGVJbnRlcm9wIiwiV2Vha01hcCIsImNhY2hlQmFiZWxJbnRlcm9wIiwiY2FjaGVOb2RlSW50ZXJvcCIsIm9iaiIsIl9fZXNNb2R1bGUiLCJfdHlwZW9mIiwiZGVmYXVsdCIsImNhY2hlIiwiaGFzIiwiZ2V0IiwibmV3T2JqIiwiaGFzUHJvcGVydHlEZXNjcmlwdG9yIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJrZXkiLCJwcm90b3R5cGUiLCJoYXNPd25Qcm9wZXJ0eSIsImNhbGwiLCJkZXNjIiwic2V0IiwiSU5TSUdIVF9UWVBFIiwiVG9wQmFubmVyIiwiX3JlZiIsIl9yZWYkYmFja2dyb3VuZENvbG9yIiwiYmFja2dyb3VuZENvbG9yIiwiX3JlZiR0ZXh0IiwidGV4dCIsIm9uVmlzaWJpbGl0eUNoYW5nZSIsImFwaUVuZHBvaW50IiwiX3VzZVN0YXRlIiwidXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkyIiwidmlzaWJsZSIsInNldFZpc2libGUiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsInNob3dNb2RhbCIsInNldFNob3dNb2RhbCIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiaW5zaWdodERhdGEiLCJzZXRJbnNpZ2h0RGF0YSIsImJhbm5lckhlaWdodCIsIl91c2VOYXZDb250ZXh0IiwidXNlTmF2Q29udGV4dCIsImRpciIsIl91c2VTZWxlY3RvciIsInVzZVNlbGVjdG9yIiwic3RhdGUiLCJnbG9iYWxfZGF0YSIsIndhdGVyQXV0aG9yaXR5TmFtZSIsInRpdGxlVGV4dCIsIlN0cmluZyIsImkxOG5leHQiLCJ0IiwibGVhcm5Nb3JlVGV4dCIsImRpc21pc3NUb29sdGlwVGV4dCIsInVzZUVmZmVjdCIsImlkIiwidW5kZWZpbmVkIiwicmVjb3JkIiwiZ2V0RGlzbWlzc2FsIiwiZGlzbWlzc2VkIiwibGFzdERpc21pc3NlZElkIiwiX3VudXNlZCIsImNvbnRyb2xsZXIiLCJBYm9ydENvbnRyb2xsZXIiLCJmZXRjaCIsInNpZ25hbCIsInRoZW4iLCJfcmVmMiIsIl9hc3luY1RvR2VuZXJhdG9yMiIsIl9yZWdlbmVyYXRvciIsIm1hcmsiLCJfY2FsbGVlIiwicmVzIiwid3JhcCIsIl9jYWxsZWUkIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInN0YXR1cyIsImFicnVwdCIsImVycm9yIiwib2siLCJFcnJvciIsImNvbmNhdCIsImpzb24iLCJzZW50Iiwic3RvcCIsIl94IiwiYXBwbHkiLCJhcmd1bWVudHMiLCJkYXRhIiwiY2F0Y2giLCJlcnIiLCJuYW1lIiwiYWJvcnQiLCJoYW5kbGVEaXNtaXNzIiwiYW5hbHl0aWNzVHJhY2siLCJ1dGlsaXR5X25hbWUiLCJzZXREaXNtaXNzYWwiLCJfdW51c2VkMiIsIm9wZW5Nb2RhbCIsImNsb3NlTW9kYWwiLCJtb2RhbCIsInVzZU1lbW8iLCJjcmVhdGVFbGVtZW50IiwiaXNPcGVuIiwib25DbG9zZSIsIkZyYWdtZW50IiwiQmFubmVyQ29udGFpbmVyIiwic3R5bGUiLCJmaWx0ZXIiLCJmb250U2l6ZSIsImRpc3BsYXkiLCJtYXJnaW5SaWdodCIsIm9uQ2xpY2siLCJ0ZXh0RGVjb3JhdGlvbiIsImN1cnNvciIsIkRpc21pc3NCdXR0b24iLCJjbGFzc05hbWUiLCJpc1J0bCIsInN0eWxlZCIsImJ1dHRvbiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiX3JlZjMiLCJfcmVmNCIsImRpdiIsIl9yZWY1IiwiX3JlZjYiLCJfcmVmNyIsIl9kZWZhdWx0IiwiZXhwb3J0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb21wb25lbnRzL1RvcEJhbm5lci9Ub3BCYW5uZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0LCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cy9tYWNybyc7XG5pbXBvcnQgS2FuZG9Nb2RhbCBmcm9tICcuLi9LYW5kb01vZGFsJztcbmltcG9ydCBTZWFzb25hbEluc2lnaHRzLCB7XG4gIFNlYXNvbmFsSW5zaWdodFJlc3BvbnNlLFxufSBmcm9tICcuLi9TZWFzb25hbEluc2lnaHRzL1NlYXNvbmFsSW5zaWdodHMnO1xuaW1wb3J0IGkxOG5leHQgZnJvbSAnaTE4bmV4dCc7XG5pbXBvcnQge1xuICBnZXREaXNtaXNzYWwsXG4gIHNldERpc21pc3NhbCxcbiAgSW5zaWdodFR5cGUsXG59IGZyb20gJy4vaW5zaWdodHNEaXNtaXNzYWxTdG9yYWdlJztcbmltcG9ydCB7IGFuYWx5dGljc1RyYWNrIH0gZnJvbSAnc3JjL3V0aWxpdGllcy9BbmFseXRpY3MnO1xuaW1wb3J0IHsgdXNlU2VsZWN0b3IgfSBmcm9tICdyZWFjdC1yZWR1eCc7XG5pbXBvcnQgeyB1c2VOYXZDb250ZXh0IH0gZnJvbSAnc3JjL2hvb2tzL3VzZU5hdkNvbnRleHQnO1xuXG5pbnRlcmZhY2UgVG9wQmFubmVyUHJvcHMge1xuICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gIHRleHQ/OiBSZWFjdC5SZWFjdE5vZGU7XG4gIG9uVmlzaWJpbGl0eUNoYW5nZT86ICh2aXNpYmxlOiBib29sZWFuKSA9PiB2b2lkO1xuICBhcGlFbmRwb2ludD86IHN0cmluZzsgLy8gQWRkIHRoaXMgcHJvcCBmb3IgQVBJIGVuZHBvaW50XG59XG5cbmNvbnN0IElOU0lHSFRfVFlQRTogSW5zaWdodFR5cGUgPSAnc2Vhc29uYWxfaW5zaWdodCc7XG5cbmNvbnN0IFRvcEJhbm5lcjogUmVhY3QuRkM8VG9wQmFubmVyUHJvcHM+ID0gKHtcbiAgYmFja2dyb3VuZENvbG9yID0gJ3JnYigyMTcsIDIzNCwgMjU1KScsIC8vICNmNWI3YzUnLFxuICB0ZXh0ID0gJycsXG4gIG9uVmlzaWJpbGl0eUNoYW5nZSxcbiAgYXBpRW5kcG9pbnQsXG59KSA9PiB7XG4gIGNvbnN0IFt2aXNpYmxlLCBzZXRWaXNpYmxlXSA9IHVzZVN0YXRlKHRydWUpO1xuICBjb25zdCBbc2hvd01vZGFsLCBzZXRTaG93TW9kYWxdID0gdXNlU3RhdGUoZmFsc2UpO1xuICBjb25zdCBbaW5zaWdodERhdGEsIHNldEluc2lnaHREYXRhXSA9XG4gICAgdXNlU3RhdGU8U2Vhc29uYWxJbnNpZ2h0UmVzcG9uc2UgfCBudWxsPihudWxsKTtcblxuICBjb25zdCBiYW5uZXJIZWlnaHQgPSAzMDsgLy8gcHhcbiAgY29uc3QgeyBkaXIgfSA9IHVzZU5hdkNvbnRleHQoKTtcbiAgY29uc3QgeyB3YXRlckF1dGhvcml0eU5hbWUgfSA9IHVzZVNlbGVjdG9yKChzdGF0ZSkgPT4gc3RhdGUuZ2xvYmFsX2RhdGEpO1xuXG4gIGNvbnN0IHRpdGxlVGV4dCA9IFN0cmluZyhpMThuZXh0LnQoJ3NlYXNvbmFsX2luc2lnaHRzLnRpdGxlJykpO1xuICBjb25zdCBsZWFybk1vcmVUZXh0ID0gU3RyaW5nKGkxOG5leHQudCgnc2Vhc29uYWxfaW5zaWdodHMubGVhcm5fbW9yZScpKTtcbiAgY29uc3QgZGlzbWlzc1Rvb2x0aXBUZXh0ID0gU3RyaW5nKFxuICAgIGkxOG5leHQudCgnc2Vhc29uYWxfaW5zaWdodHMuZGlzbWlzc190b29sdGlwJyksXG4gICk7XG5cbiAgLy8gT24gbW91bnQgb3Igd2hlbiBpbnNpZ2h0IGlkIGNoYW5nZXMsIGNoZWNrIGxvY2FsU3RvcmFnZSBmb3IgZGlzbWlzc2FsXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gSWYgd2UgaGF2ZSBpbnNpZ2h0IGRhdGEgd2l0aCBhbiBpZCwgY2hlY2sgaWYgaXQgd2FzIGRpc21pc3NlZFxuICAgIGlmIChpbnNpZ2h0RGF0YT8uaWQgIT09IHVuZGVmaW5lZCkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgY29uc3QgcmVjb3JkID0gZ2V0RGlzbWlzc2FsKElOU0lHSFRfVFlQRSk7XG4gICAgICAgIGNvbnN0IGRpc21pc3NlZCA9IHJlY29yZD8ubGFzdERpc21pc3NlZElkID09PSBTdHJpbmcoaW5zaWdodERhdGEuaWQpO1xuICAgICAgICBzZXRWaXNpYmxlKCFkaXNtaXNzZWQpO1xuICAgICAgfSBjYXRjaCB7XG4gICAgICAgIHNldFZpc2libGUodHJ1ZSk7XG4gICAgICB9XG4gICAgfSBlbHNlIGlmIChpbnNpZ2h0RGF0YSA9PT0gbnVsbCkge1xuICAgICAgLy8gTm8gaW5zaWdodCBkYXRhIC0gaGlkZSBiYW5uZXIgaWYgdXNpbmcgQVBJLCBzaG93IGlmIHVzaW5nIHN0YXRpYyB0ZXh0IHByb3BcbiAgICAgIGlmIChhcGlFbmRwb2ludCkge1xuICAgICAgICAvLyBBUEkgZW5kcG9pbnQgZXhpc3RzIGJ1dCBubyBkYXRhIHJldHVybmVkIC0gaGlkZSBiYW5uZXJcbiAgICAgICAgc2V0VmlzaWJsZShmYWxzZSk7XG4gICAgICB9IGVsc2Uge1xuICAgICAgICAvLyBObyBBUEkgZW5kcG9pbnQgLSBzaG93IGJhbm5lciBpZiB0ZXh0IGlzIHByb3ZpZGVkXG4gICAgICAgIHNldFZpc2libGUoISF0ZXh0KTtcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtpbnNpZ2h0RGF0YT8uaWQsIGluc2lnaHREYXRhLCBhcGlFbmRwb2ludCwgdGV4dF0pO1xuXG4gIC8vIEZldGNoIGRhdGEgZnJvbSBBUEkgaWYgZW5kcG9pbnQgaXMgcHJvdmlkZWQsIHJvYnVzdGx5XG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFhcGlFbmRwb2ludCkgcmV0dXJuO1xuXG4gICAgY29uc3QgY29udHJvbGxlciA9IG5ldyBBYm9ydENvbnRyb2xsZXIoKTtcblxuICAgIGZldGNoKGFwaUVuZHBvaW50LCB7IHNpZ25hbDogY29udHJvbGxlci5zaWduYWwgfSlcbiAgICAgIC50aGVuKGFzeW5jIChyZXMpID0+IHtcbiAgICAgICAgaWYgKHJlcy5zdGF0dXMgPT09IDQwNCkge1xuICAgICAgICAgIC8vIEFQSSBleHBsaWNpdGx5IHNheXMgdGhlcmUgaXMgbm8gc2Vhc29uYWwgaW5zaWdodC5cbiAgICAgICAgICByZXR1cm4geyBlcnJvcjogJ25vdF9mb3VuZCcgfSBhcyB1bmtub3duIGFzIFNlYXNvbmFsSW5zaWdodFJlc3BvbnNlO1xuICAgICAgICB9XG4gICAgICAgIGlmICghcmVzLm9rKSB7XG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBSZXF1ZXN0IGZhaWxlZCAoJHtyZXMuc3RhdHVzfSlgKTtcbiAgICAgICAgfVxuICAgICAgICByZXR1cm4gKGF3YWl0IHJlcy5qc29uKCkpIGFzIFNlYXNvbmFsSW5zaWdodFJlc3BvbnNlO1xuICAgICAgfSlcbiAgICAgIC50aGVuKChkYXRhKSA9PiB7XG4gICAgICAgIC8vIFdoZW4gdGhlIEFQSSBzYXlzIG5vdF9mb3VuZCwgZG8gbm90IHNob3cgdGhlIGJhbm5lci5cbiAgICAgICAgaWYgKChkYXRhIGFzIGFueSk/LmVycm9yID09PSAnbm90X2ZvdW5kJykge1xuICAgICAgICAgIHNldEluc2lnaHREYXRhKG51bGwpO1xuICAgICAgICAgIHNldFZpc2libGUoZmFsc2UpO1xuICAgICAgICAgIHJldHVybjtcbiAgICAgICAgfVxuICAgICAgICBzZXRJbnNpZ2h0RGF0YShkYXRhKTtcbiAgICAgIH0pXG4gICAgICAuY2F0Y2goKGVycikgPT4ge1xuICAgICAgICAvLyBPbiBmZXRjaCBlcnJvciwgaGlkZSB0aGUgYmFubmVyIChubyBkYXRhIHRvIHNob3cpXG4gICAgICAgIGlmIChlcnI/Lm5hbWUgIT09ICdBYm9ydEVycm9yJykge1xuICAgICAgICAgIHNldEluc2lnaHREYXRhKG51bGwpO1xuICAgICAgICAgIHNldFZpc2libGUoZmFsc2UpO1xuICAgICAgICB9XG4gICAgICB9KTtcblxuICAgIHJldHVybiAoKSA9PiBjb250cm9sbGVyLmFib3J0KCk7XG4gIH0sIFthcGlFbmRwb2ludCwgdGV4dF0pO1xuXG4gIC8vIE5vdGlmeSBwYXJlbnQgb24gdmlzaWJpbGl0eSBjaGFuZ2VcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAob25WaXNpYmlsaXR5Q2hhbmdlKSBvblZpc2liaWxpdHlDaGFuZ2UodmlzaWJsZSk7XG4gIH0sIFt2aXNpYmxlXSk7XG5cbiAgLy8gV2hlbiBkaXNtaXNzZWQsIHBlcnNpc3QgaW4gbG9jYWxTdG9yYWdlXG4gIGNvbnN0IGhhbmRsZURpc21pc3MgPSAoKSA9PiB7XG4gICAgYW5hbHl0aWNzVHJhY2soJ3NlYXNvbmFsX2luc2lnaHRfZGlzbWlzc2VkJywge1xuICAgICAgaWQ6IGluc2lnaHREYXRhPy5pZCxcbiAgICAgIHV0aWxpdHlfbmFtZTogd2F0ZXJBdXRob3JpdHlOYW1lLFxuICAgIH0pO1xuICAgIHNldFZpc2libGUoZmFsc2UpO1xuICAgIGlmIChpbnNpZ2h0RGF0YT8uaWQgPT09IHVuZGVmaW5lZCkgcmV0dXJuO1xuXG4gICAgdHJ5IHtcbiAgICAgIHNldERpc21pc3NhbChJTlNJR0hUX1RZUEUsIFN0cmluZyhpbnNpZ2h0RGF0YS5pZCkpO1xuICAgIH0gY2F0Y2gge1xuICAgICAgLy8gaWdub3JlIHN0b3JhZ2UgZXJyb3JzXG4gICAgfVxuICB9O1xuXG4gIGNvbnN0IG9wZW5Nb2RhbCA9ICgpID0+IHtcbiAgICBzZXRTaG93TW9kYWwodHJ1ZSk7XG4gICAgYW5hbHl0aWNzVHJhY2soJ0NsaWNrZWQgc2Vhc29uYWxfaW5zaWdodCcsIHtcbiAgICAgIGlkOiBpbnNpZ2h0RGF0YT8uaWQsXG4gICAgICB1dGlsaXR5X25hbWU6IHdhdGVyQXV0aG9yaXR5TmFtZSxcbiAgICB9KTtcbiAgfTtcblxuICBjb25zdCBjbG9zZU1vZGFsID0gKCkgPT4ge1xuICAgIHNldFNob3dNb2RhbChmYWxzZSk7XG4gIH07XG5cbiAgY29uc3QgbW9kYWwgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoIXNob3dNb2RhbCkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIChcbiAgICAgIDxLYW5kb01vZGFsIGlzT3Blbj17c2hvd01vZGFsfSBvbkNsb3NlPXtjbG9zZU1vZGFsfT5cbiAgICAgICAgPFNlYXNvbmFsSW5zaWdodHMgZGF0YT17aW5zaWdodERhdGF9IC8+XG4gICAgICA8L0thbmRvTW9kYWw+XG4gICAgKTtcbiAgfSwgW3Nob3dNb2RhbF0pO1xuXG4gIGlmICghdmlzaWJsZSB8fCAhYXBpRW5kcG9pbnQpIHtcbiAgICByZXR1cm4gbnVsbDtcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxCYW5uZXJDb250YWluZXJcbiAgICAgICAgYmFja2dyb3VuZENvbG9yPXtiYWNrZ3JvdW5kQ29sb3J9XG4gICAgICAgIGJhbm5lckhlaWdodD17YmFubmVySGVpZ2h0fVxuICAgICAgPlxuICAgICAgICA8c3Bhbj5cbiAgICAgICAgICB7YXBpRW5kcG9pbnQgJiYgKFxuICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgZmlsdGVyOiAnZHJvcC1zaGFkb3coMCAwIDJweCByZ2JhKDAsIDAsIDAsIDAuMykpJyxcbiAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAnMTZweCcsXG4gICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnaW5saW5lLWJsb2NrJyxcbiAgICAgICAgICAgICAgICAgIG1hcmdpblJpZ2h0OiAnNHB4JyxcbiAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAg4pyoXG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAge3RpdGxlVGV4dH17JyAnfVxuICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29wZW5Nb2RhbH1cbiAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgdGV4dERlY29yYXRpb246ICd1bmRlcmxpbmUnLFxuICAgICAgICAgICAgICAgICAgY3Vyc29yOiAncG9pbnRlcicsXG4gICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtsZWFybk1vcmVUZXh0fVxuICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8Lz5cbiAgICAgICAgICApfVxuICAgICAgICA8L3NwYW4+XG4gICAgICAgIDxEaXNtaXNzQnV0dG9uXG4gICAgICAgICAgb25DbGljaz17aGFuZGxlRGlzbWlzc31cbiAgICAgICAgICBhcmlhLWxhYmVsPXsnZGlzbWlzc1Rvb2x0aXAnfVxuICAgICAgICAgIGNsYXNzTmFtZT1cImtkLXRvb2x0aXBcIlxuICAgICAgICAgIGRhdGEtdGV4dD17ZGlzbWlzc1Rvb2x0aXBUZXh0fVxuICAgICAgICAgIGlzUnRsPXtkaXIgPT09ICdydGwnfVxuICAgICAgICA+XG4gICAgICAgICAgw5dcbiAgICAgICAgPC9EaXNtaXNzQnV0dG9uPlxuICAgICAgPC9CYW5uZXJDb250YWluZXI+XG4gICAgICB7bW9kYWx9XG4gICAgPC8+XG4gICk7XG59O1xuXG5jb25zdCBEaXNtaXNzQnV0dG9uID0gc3R5bGVkLmJ1dHRvbjx7IGlzUnRsOiBib29sZWFuIH0+YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICR7KHsgaXNSdGwgfSkgPT5cbiAgICBpc1J0bCA/ICdsZWZ0OiAxMHB4OyByaWdodDogYXV0bzsnIDogJ3JpZ2h0OiAxMHB4OyBsZWZ0OiBhdXRvOyd9XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIGZvbnQtc2l6ZTogMjRweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuXG4gICYua2QtdG9vbHRpcCB7XG4gICAgJltkYXRhLXRleHRdOjphZnRlciB7XG4gICAgICBjb250ZW50OiBhdHRyKGRhdGEtdGV4dCk7XG4gICAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgICBjb2xvcjogd2hpdGU7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuOSk7XG4gICAgICBib3JkZXItcmFkaXVzOiA1cHg7XG4gICAgICB0b3A6IDE2cHg7XG4gICAgICAkeyh7IGlzUnRsIH0pID0+IChpc1J0bCA/ICdsZWZ0OiAyMnB4OycgOiAncmlnaHQ6IDIycHg7Jyl9XG4gICAgICBwYWRkaW5nOiA0cHggNnB4O1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHZpc2liaWxpdHk6IGhpZGRlbjtcbiAgICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE1cyBlYXNlLWluLW91dCwgdmlzaWJpbGl0eSAwLjE1cyBlYXNlLWluLW91dDtcbiAgICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgICBmb250LXNpemU6IDEycHg7XG4gICAgfVxuICAgICY6aG92ZXIge1xuICAgICAgJltkYXRhLXRleHRdOjphZnRlciB7XG4gICAgICAgIHotaW5kZXg6IC0xO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB2aXNpYmlsaXR5OiB2aXNpYmxlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuYDtcblxuY29uc3QgQmFubmVyQ29udGFpbmVyID0gc3R5bGVkLmRpdjx7XG4gIGJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICBiYW5uZXJIZWlnaHQ6IG51bWJlcjtcbn0+YFxuICB3aWR0aDogMTAwJTtcbiAgYmFja2dyb3VuZDogJHsoeyBiYWNrZ3JvdW5kQ29sb3IgfSkgPT4gYmFja2dyb3VuZENvbG9yfTtcbiAgcGFkZGluZzogOHB4O1xuICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gIHBvc2l0aW9uOiBzdGlja3k7XG4gIHRvcDogMDtcbiAgei1pbmRleDogMTIwMDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWluLWhlaWdodDogJHsoeyBiYW5uZXJIZWlnaHQgfSkgPT4gYCR7YmFubmVySGVpZ2h0fXB4YH07XG4gIGhlaWdodDogJHsoeyBiYW5uZXJIZWlnaHQgfSkgPT4gYCR7YmFubmVySGVpZ2h0fXB4YH07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGN1cnNvcjogZGVmYXVsdDtcbmA7XG5cbmV4cG9ydCBkZWZhdWx0IFRvcEJhbm5lcjtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEsSUFBQUEsTUFBQSxHQUFBQyx1QkFBQSxDQUFBQyxPQUFBO0FBRUEsSUFBQUMsV0FBQSxHQUFBQyxzQkFBQSxDQUFBRixPQUFBO0FBQ0EsSUFBQUcsaUJBQUEsR0FBQUQsc0JBQUEsQ0FBQUYsT0FBQTtBQUdBLElBQUFJLFFBQUEsR0FBQUYsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFLLHlCQUFBLEdBQUFMLE9BQUE7QUFLQSxJQUFBTSxVQUFBLEdBQUFOLE9BQUE7QUFDQSxJQUFBTyxXQUFBLEdBQUFQLE9BQUE7QUFDQSxJQUFBUSxlQUFBLEdBQUFSLE9BQUE7QUFBd0QsU0FBQVMseUJBQUFDLFdBQUEsZUFBQUMsT0FBQSxrQ0FBQUMsaUJBQUEsT0FBQUQsT0FBQSxRQUFBRSxnQkFBQSxPQUFBRixPQUFBLFlBQUFGLHdCQUFBLFlBQUFBLHlCQUFBQyxXQUFBLFdBQUFBLFdBQUEsR0FBQUcsZ0JBQUEsR0FBQUQsaUJBQUEsS0FBQUYsV0FBQTtBQUFBLFNBQUFYLHdCQUFBZSxHQUFBLEVBQUFKLFdBQUEsU0FBQUEsV0FBQSxJQUFBSSxHQUFBLElBQUFBLEdBQUEsQ0FBQUMsVUFBQSxXQUFBRCxHQUFBLFFBQUFBLEdBQUEsYUFBQUUsT0FBQSxDQUFBRixHQUFBLHlCQUFBQSxHQUFBLDRCQUFBRyxPQUFBLEVBQUFILEdBQUEsVUFBQUksS0FBQSxHQUFBVCx3QkFBQSxDQUFBQyxXQUFBLE9BQUFRLEtBQUEsSUFBQUEsS0FBQSxDQUFBQyxHQUFBLENBQUFMLEdBQUEsWUFBQUksS0FBQSxDQUFBRSxHQUFBLENBQUFOLEdBQUEsU0FBQU8sTUFBQSxXQUFBQyxxQkFBQSxHQUFBQyxNQUFBLENBQUFDLGNBQUEsSUFBQUQsTUFBQSxDQUFBRSx3QkFBQSxXQUFBQyxHQUFBLElBQUFaLEdBQUEsUUFBQVksR0FBQSxrQkFBQUgsTUFBQSxDQUFBSSxTQUFBLENBQUFDLGNBQUEsQ0FBQUMsSUFBQSxDQUFBZixHQUFBLEVBQUFZLEdBQUEsU0FBQUksSUFBQSxHQUFBUixxQkFBQSxHQUFBQyxNQUFBLENBQUFFLHdCQUFBLENBQUFYLEdBQUEsRUFBQVksR0FBQSxjQUFBSSxJQUFBLEtBQUFBLElBQUEsQ0FBQVYsR0FBQSxJQUFBVSxJQUFBLENBQUFDLEdBQUEsS0FBQVIsTUFBQSxDQUFBQyxjQUFBLENBQUFILE1BQUEsRUFBQUssR0FBQSxFQUFBSSxJQUFBLFlBQUFULE1BQUEsQ0FBQUssR0FBQSxJQUFBWixHQUFBLENBQUFZLEdBQUEsU0FBQUwsTUFBQSxDQUFBSixPQUFBLEdBQUFILEdBQUEsTUFBQUksS0FBQSxJQUFBQSxLQUFBLENBQUFhLEdBQUEsQ0FBQWpCLEdBQUEsRUFBQU8sTUFBQSxZQUFBQSxNQUFBO0FBU3hELElBQU1XLFlBQXlCLEdBQUcsa0JBQWtCO0FBRXBELElBQU1DLFNBQW1DLEdBQUcsU0FBdENBLFNBQW1DQSxDQUFBQyxJQUFBLEVBS25DO0VBQUEsSUFBQUMsb0JBQUEsR0FBQUQsSUFBQSxDQUpKRSxlQUFlO0lBQWZBLGVBQWUsR0FBQUQsb0JBQUEsY0FBRyxvQkFBb0IsR0FBQUEsb0JBQUE7SUFBQUUsU0FBQSxHQUFBSCxJQUFBLENBQ3RDSSxJQUFJO0lBQUpBLElBQUksR0FBQUQsU0FBQSxjQUFHLEVBQUUsR0FBQUEsU0FBQTtJQUNURSxrQkFBa0IsR0FBQUwsSUFBQSxDQUFsQkssa0JBQWtCO0lBQ2xCQyxXQUFXLEdBQUFOLElBQUEsQ0FBWE0sV0FBVztFQUVYLElBQUFDLFNBQUEsR0FBOEIsSUFBQUMsZUFBUSxFQUFDLElBQUksQ0FBQztJQUFBQyxVQUFBLE9BQUFDLGVBQUEsQ0FBQTNCLE9BQUEsRUFBQXdCLFNBQUE7SUFBckNJLE9BQU8sR0FBQUYsVUFBQTtJQUFFRyxVQUFVLEdBQUFILFVBQUE7RUFDMUIsSUFBQUksVUFBQSxHQUFrQyxJQUFBTCxlQUFRLEVBQUMsS0FBSyxDQUFDO0lBQUFNLFVBQUEsT0FBQUosZUFBQSxDQUFBM0IsT0FBQSxFQUFBOEIsVUFBQTtJQUExQ0UsU0FBUyxHQUFBRCxVQUFBO0lBQUVFLFlBQVksR0FBQUYsVUFBQTtFQUM5QixJQUFBRyxVQUFBLEdBQ0UsSUFBQVQsZUFBUSxFQUFpQyxJQUFJLENBQUM7SUFBQVUsVUFBQSxPQUFBUixlQUFBLENBQUEzQixPQUFBLEVBQUFrQyxVQUFBO0lBRHpDRSxXQUFXLEdBQUFELFVBQUE7SUFBRUUsY0FBYyxHQUFBRixVQUFBO0VBR2xDLElBQU1HLFlBQVksR0FBRyxFQUFFLENBQUMsQ0FBQztFQUN6QixJQUFBQyxjQUFBLEdBQWdCLElBQUFDLDZCQUFhLEVBQUMsQ0FBQztJQUF2QkMsR0FBRyxHQUFBRixjQUFBLENBQUhFLEdBQUc7RUFDWCxJQUFBQyxZQUFBLEdBQStCLElBQUFDLHVCQUFXLEVBQUMsVUFBQ0MsS0FBSztNQUFBLE9BQUtBLEtBQUssQ0FBQ0MsV0FBVztJQUFBLEVBQUM7SUFBaEVDLGtCQUFrQixHQUFBSixZQUFBLENBQWxCSSxrQkFBa0I7RUFFMUIsSUFBTUMsU0FBUyxHQUFHQyxNQUFNLENBQUNDLGdCQUFPLENBQUNDLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQyxDQUFDO0VBQzlELElBQU1DLGFBQWEsR0FBR0gsTUFBTSxDQUFDQyxnQkFBTyxDQUFDQyxDQUFDLENBQUMsOEJBQThCLENBQUMsQ0FBQztFQUN2RSxJQUFNRSxrQkFBa0IsR0FBR0osTUFBTSxDQUMvQkMsZ0JBQU8sQ0FBQ0MsQ0FBQyxDQUFDLG1DQUFtQyxDQUMvQyxDQUFDOztFQUVEO0VBQ0EsSUFBQUcsZ0JBQVMsRUFBQyxZQUFNO0lBQ2Q7SUFDQSxJQUFJLENBQUFqQixXQUFXLGFBQVhBLFdBQVcsdUJBQVhBLFdBQVcsQ0FBRWtCLEVBQUUsTUFBS0MsU0FBUyxFQUFFO01BQ2pDLElBQUk7UUFDRixJQUFNQyxNQUFNLEdBQUcsSUFBQUMsc0NBQVksRUFBQzFDLFlBQVksQ0FBQztRQUN6QyxJQUFNMkMsU0FBUyxHQUFHLENBQUFGLE1BQU0sYUFBTkEsTUFBTSx1QkFBTkEsTUFBTSxDQUFFRyxlQUFlLE1BQUtYLE1BQU0sQ0FBQ1osV0FBVyxDQUFDa0IsRUFBRSxDQUFDO1FBQ3BFekIsVUFBVSxDQUFDLENBQUM2QixTQUFTLENBQUM7TUFDeEIsQ0FBQyxDQUFDLE9BQUFFLE9BQUEsRUFBTTtRQUNOL0IsVUFBVSxDQUFDLElBQUksQ0FBQztNQUNsQjtJQUNGLENBQUMsTUFBTSxJQUFJTyxXQUFXLEtBQUssSUFBSSxFQUFFO01BQy9CO01BQ0EsSUFBSWIsV0FBVyxFQUFFO1FBQ2Y7UUFDQU0sVUFBVSxDQUFDLEtBQUssQ0FBQztNQUNuQixDQUFDLE1BQU07UUFDTDtRQUNBQSxVQUFVLENBQUMsQ0FBQyxDQUFDUixJQUFJLENBQUM7TUFDcEI7SUFDRjtFQUNGLENBQUMsRUFBRSxDQUFDZSxXQUFXLGFBQVhBLFdBQVcsdUJBQVhBLFdBQVcsQ0FBRWtCLEVBQUUsRUFBRWxCLFdBQVcsRUFBRWIsV0FBVyxFQUFFRixJQUFJLENBQUMsQ0FBQzs7RUFFckQ7RUFDQSxJQUFBZ0MsZ0JBQVMsRUFBQyxZQUFNO0lBQ2QsSUFBSSxDQUFDOUIsV0FBVyxFQUFFO0lBRWxCLElBQU1zQyxVQUFVLEdBQUcsSUFBSUMsZUFBZSxDQUFDLENBQUM7SUFFeENDLEtBQUssQ0FBQ3hDLFdBQVcsRUFBRTtNQUFFeUMsTUFBTSxFQUFFSCxVQUFVLENBQUNHO0lBQU8sQ0FBQyxDQUFDLENBQzlDQyxJQUFJO01BQUEsSUFBQUMsS0FBQSxPQUFBQyxrQkFBQSxDQUFBbkUsT0FBQSxnQkFBQW9FLFlBQUEsQ0FBQXBFLE9BQUEsQ0FBQXFFLElBQUEsQ0FBQyxTQUFBQyxRQUFPQyxHQUFHO1FBQUEsT0FBQUgsWUFBQSxDQUFBcEUsT0FBQSxDQUFBd0UsSUFBQSxVQUFBQyxTQUFBQyxRQUFBO1VBQUE7WUFBQSxRQUFBQSxRQUFBLENBQUFDLElBQUEsR0FBQUQsUUFBQSxDQUFBRSxJQUFBO2NBQUE7Z0JBQUEsTUFDVkwsR0FBRyxDQUFDTSxNQUFNLEtBQUssR0FBRztrQkFBQUgsUUFBQSxDQUFBRSxJQUFBO2tCQUFBO2dCQUFBO2dCQUFBLE9BQUFGLFFBQUEsQ0FBQUksTUFBQSxXQUViO2tCQUFFQyxLQUFLLEVBQUU7Z0JBQVksQ0FBQztjQUFBO2dCQUFBLElBRTFCUixHQUFHLENBQUNTLEVBQUU7a0JBQUFOLFFBQUEsQ0FBQUUsSUFBQTtrQkFBQTtnQkFBQTtnQkFBQSxNQUNILElBQUlLLEtBQUssb0JBQUFDLE1BQUEsQ0FBb0JYLEdBQUcsQ0FBQ00sTUFBTSxNQUFHLENBQUM7Y0FBQTtnQkFBQUgsUUFBQSxDQUFBRSxJQUFBO2dCQUFBLE9BRXJDTCxHQUFHLENBQUNZLElBQUksQ0FBQyxDQUFDO2NBQUE7Z0JBQUEsT0FBQVQsUUFBQSxDQUFBSSxNQUFBLFdBQUFKLFFBQUEsQ0FBQVUsSUFBQTtjQUFBO2NBQUE7Z0JBQUEsT0FBQVYsUUFBQSxDQUFBVyxJQUFBO1lBQUE7VUFBQTtRQUFBLEdBQUFmLE9BQUE7TUFBQSxDQUN6QjtNQUFBLGlCQUFBZ0IsRUFBQTtRQUFBLE9BQUFwQixLQUFBLENBQUFxQixLQUFBLE9BQUFDLFNBQUE7TUFBQTtJQUFBLElBQUMsQ0FDRHZCLElBQUksQ0FBQyxVQUFDd0IsSUFBSSxFQUFLO01BQ2Q7TUFDQSxJQUFJLENBQUNBLElBQUksYUFBSkEsSUFBSSx1QkFBSkEsSUFBSSxDQUFVVixLQUFLLE1BQUssV0FBVyxFQUFFO1FBQ3hDMUMsY0FBYyxDQUFDLElBQUksQ0FBQztRQUNwQlIsVUFBVSxDQUFDLEtBQUssQ0FBQztRQUNqQjtNQUNGO01BQ0FRLGNBQWMsQ0FBQ29ELElBQUksQ0FBQztJQUN0QixDQUFDLENBQUMsQ0FDREMsS0FBSyxDQUFDLFVBQUNDLEdBQUcsRUFBSztNQUNkO01BQ0EsSUFBSSxDQUFBQSxHQUFHLGFBQUhBLEdBQUcsdUJBQUhBLEdBQUcsQ0FBRUMsSUFBSSxNQUFLLFlBQVksRUFBRTtRQUM5QnZELGNBQWMsQ0FBQyxJQUFJLENBQUM7UUFDcEJSLFVBQVUsQ0FBQyxLQUFLLENBQUM7TUFDbkI7SUFDRixDQUFDLENBQUM7SUFFSixPQUFPO01BQUEsT0FBTWdDLFVBQVUsQ0FBQ2dDLEtBQUssQ0FBQyxDQUFDO0lBQUE7RUFDakMsQ0FBQyxFQUFFLENBQUN0RSxXQUFXLEVBQUVGLElBQUksQ0FBQyxDQUFDOztFQUV2QjtFQUNBLElBQUFnQyxnQkFBUyxFQUFDLFlBQU07SUFDZCxJQUFJL0Isa0JBQWtCLEVBQUVBLGtCQUFrQixDQUFDTSxPQUFPLENBQUM7RUFDckQsQ0FBQyxFQUFFLENBQUNBLE9BQU8sQ0FBQyxDQUFDOztFQUViO0VBQ0EsSUFBTWtFLGFBQWEsR0FBRyxTQUFoQkEsYUFBYUEsQ0FBQSxFQUFTO0lBQzFCLElBQUFDLHlCQUFjLEVBQUMsNEJBQTRCLEVBQUU7TUFDM0N6QyxFQUFFLEVBQUVsQixXQUFXLGFBQVhBLFdBQVcsdUJBQVhBLFdBQVcsQ0FBRWtCLEVBQUU7TUFDbkIwQyxZQUFZLEVBQUVsRDtJQUNoQixDQUFDLENBQUM7SUFDRmpCLFVBQVUsQ0FBQyxLQUFLLENBQUM7SUFDakIsSUFBSSxDQUFBTyxXQUFXLGFBQVhBLFdBQVcsdUJBQVhBLFdBQVcsQ0FBRWtCLEVBQUUsTUFBS0MsU0FBUyxFQUFFO0lBRW5DLElBQUk7TUFDRixJQUFBMEMsc0NBQVksRUFBQ2xGLFlBQVksRUFBRWlDLE1BQU0sQ0FBQ1osV0FBVyxDQUFDa0IsRUFBRSxDQUFDLENBQUM7SUFDcEQsQ0FBQyxDQUFDLE9BQUE0QyxRQUFBLEVBQU07TUFDTjtJQUFBO0VBRUosQ0FBQztFQUVELElBQU1DLFNBQVMsR0FBRyxTQUFaQSxTQUFTQSxDQUFBLEVBQVM7SUFDdEJsRSxZQUFZLENBQUMsSUFBSSxDQUFDO0lBQ2xCLElBQUE4RCx5QkFBYyxFQUFDLDBCQUEwQixFQUFFO01BQ3pDekMsRUFBRSxFQUFFbEIsV0FBVyxhQUFYQSxXQUFXLHVCQUFYQSxXQUFXLENBQUVrQixFQUFFO01BQ25CMEMsWUFBWSxFQUFFbEQ7SUFDaEIsQ0FBQyxDQUFDO0VBQ0osQ0FBQztFQUVELElBQU1zRCxVQUFVLEdBQUcsU0FBYkEsVUFBVUEsQ0FBQSxFQUFTO0lBQ3ZCbkUsWUFBWSxDQUFDLEtBQUssQ0FBQztFQUNyQixDQUFDO0VBRUQsSUFBTW9FLEtBQUssR0FBRyxJQUFBQyxjQUFPLEVBQUMsWUFBTTtJQUMxQixJQUFJLENBQUN0RSxTQUFTLEVBQUUsT0FBTyxJQUFJO0lBQzNCLG9CQUNFbkQsTUFBQSxDQUFBbUIsT0FBQSxDQUFBdUcsYUFBQSxDQUFDdkgsV0FBQSxDQUFBZ0IsT0FBVTtNQUFDd0csTUFBTSxFQUFFeEUsU0FBVTtNQUFDeUUsT0FBTyxFQUFFTDtJQUFXLGdCQUNqRHZILE1BQUEsQ0FBQW1CLE9BQUEsQ0FBQXVHLGFBQUEsQ0FBQ3JILGlCQUFBLENBQUFjLE9BQWdCO01BQUN5RixJQUFJLEVBQUVyRDtJQUFZLENBQUUsQ0FDNUIsQ0FBQztFQUVqQixDQUFDLEVBQUUsQ0FBQ0osU0FBUyxDQUFDLENBQUM7RUFFZixJQUFJLENBQUNKLE9BQU8sSUFBSSxDQUFDTCxXQUFXLEVBQUU7SUFDNUIsT0FBTyxJQUFJO0VBQ2I7RUFFQSxvQkFDRTFDLE1BQUEsQ0FBQW1CLE9BQUEsQ0FBQXVHLGFBQUEsQ0FBQTFILE1BQUEsQ0FBQW1CLE9BQUEsQ0FBQTBHLFFBQUEscUJBQ0U3SCxNQUFBLENBQUFtQixPQUFBLENBQUF1RyxhQUFBLENBQUNJLGVBQWU7SUFDZHhGLGVBQWUsRUFBRUEsZUFBZ0I7SUFDakNtQixZQUFZLEVBQUVBO0VBQWEsZ0JBRTNCekQsTUFBQSxDQUFBbUIsT0FBQSxDQUFBdUcsYUFBQSxlQUNHaEYsV0FBVyxpQkFDVjFDLE1BQUEsQ0FBQW1CLE9BQUEsQ0FBQXVHLGFBQUEsQ0FBQTFILE1BQUEsQ0FBQW1CLE9BQUEsQ0FBQTBHLFFBQUEscUJBQ0U3SCxNQUFBLENBQUFtQixPQUFBLENBQUF1RyxhQUFBO0lBQ0VLLEtBQUssRUFBRTtNQUNMQyxNQUFNLEVBQUUseUNBQXlDO01BQ2pEQyxRQUFRLEVBQUUsTUFBTTtNQUNoQkMsT0FBTyxFQUFFLGNBQWM7TUFDdkJDLFdBQVcsRUFBRTtJQUNmO0VBQUUsR0FDSCxRQUVLLENBQUMsRUFDTmpFLFNBQVMsRUFBRSxHQUFHLGVBQ2ZsRSxNQUFBLENBQUFtQixPQUFBLENBQUF1RyxhQUFBO0lBQ0VVLE9BQU8sRUFBRWQsU0FBVTtJQUNuQlMsS0FBSyxFQUFFO01BQ0xNLGNBQWMsRUFBRSxXQUFXO01BQzNCQyxNQUFNLEVBQUU7SUFDVjtFQUFFLEdBRURoRSxhQUNHLENBQ04sQ0FFQSxDQUFDLGVBQ1B0RSxNQUFBLENBQUFtQixPQUFBLENBQUF1RyxhQUFBLENBQUNhLGFBQWE7SUFDWkgsT0FBTyxFQUFFbkIsYUFBYztJQUN2QixjQUFZLGdCQUFpQjtJQUM3QnVCLFNBQVMsRUFBQyxZQUFZO0lBQ3RCLGFBQVdqRSxrQkFBbUI7SUFDOUJrRSxLQUFLLEVBQUU3RSxHQUFHLEtBQUs7RUFBTSxHQUN0QixNQUVjLENBQ0EsQ0FBQyxFQUNqQjRELEtBQ0QsQ0FBQztBQUVQLENBQUM7QUFFRCxJQUFNZSxhQUFhLEdBQUdHLHlCQUFNLENBQUNDLE1BQU0sQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxxZUFFL0IsVUFBQUMsS0FBQTtFQUFBLElBQUdOLEtBQUssR0FBQU0sS0FBQSxDQUFMTixLQUFLO0VBQUEsT0FDUkEsS0FBSyxHQUFHLDBCQUEwQixHQUFHLDBCQUEwQjtBQUFBLEdBYzNELFVBQUFPLEtBQUE7RUFBQSxJQUFHUCxLQUFLLEdBQUFPLEtBQUEsQ0FBTFAsS0FBSztFQUFBLE9BQVFBLEtBQUssR0FBRyxhQUFhLEdBQUcsY0FBYztBQUFBLENBQUMsQ0FpQjlEO0FBRUQsSUFBTVgsZUFBZSxHQUFHWSx5QkFBTSxDQUFDTyxHQUFHLENBQUFMLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsNE9BS2xCLFVBQUFJLEtBQUE7RUFBQSxJQUFHNUcsZUFBZSxHQUFBNEcsS0FBQSxDQUFmNUcsZUFBZTtFQUFBLE9BQU9BLGVBQWU7QUFBQSxHQU94QyxVQUFBNkcsS0FBQTtFQUFBLElBQUcxRixZQUFZLEdBQUEwRixLQUFBLENBQVoxRixZQUFZO0VBQUEsVUFBQTRDLE1BQUEsQ0FBVTVDLFlBQVk7QUFBQSxDQUFJLEVBQzdDLFVBQUEyRixLQUFBO0VBQUEsSUFBRzNGLFlBQVksR0FBQTJGLEtBQUEsQ0FBWjNGLFlBQVk7RUFBQSxVQUFBNEMsTUFBQSxDQUFVNUMsWUFBWTtBQUFBLENBQUksQ0FNcEQ7QUFBQyxJQUFBNEYsUUFBQSxHQUVhbEgsU0FBUztBQUFBbUgsT0FBQSxDQUFBbkksT0FBQSxHQUFBa0ksUUFBQSJ9