@defra/flood-webchat 0.0.1-beta.2 → 0.0.1-beta.4
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.
- package/dist/client.js +311 -2
- package/dist/client.js.map +1 -1
- package/dist/server.js +5 -4
- package/dist/server.js.map +1 -1
- package/main.scss +3 -2
- package/package.json +2 -1
- package/src/client/components/availability/availability.jsx +19 -15
- package/src/client/components/panel/panel-header.jsx +35 -0
- package/src/client/components/panel/panel.jsx +106 -0
- package/src/client/components/panel/panel.scss +71 -0
- package/src/client/components/screens/pre-chat.jsx +42 -0
- package/src/client/components/screens/request-chat.jsx +10 -0
- package/src/server/lib/utils.js +6 -5
package/dist/client.js
CHANGED
|
@@ -16,6 +16,7 @@ __webpack_require__.r(__webpack_exports__);
|
|
|
16
16
|
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
17
17
|
/* harmony import */ var _lib_classnames__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! ../../lib/classnames */ "./src/client/lib/classnames.js");
|
|
18
18
|
/* harmony import */ var _lib_external_stores__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ../../lib/external-stores */ "./src/client/lib/external-stores.js");
|
|
19
|
+
/* harmony import */ var _panel_panel_jsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../panel/panel.jsx */ "./src/client/components/panel/panel.jsx");
|
|
19
20
|
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
20
21
|
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
21
22
|
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
@@ -25,6 +26,7 @@ function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
|
25
26
|
|
|
26
27
|
|
|
27
28
|
|
|
29
|
+
|
|
28
30
|
function Availability(props) {
|
|
29
31
|
var _useWebchatOpenState = (0,_lib_external_stores__WEBPACK_IMPORTED_MODULE_2__.useWebchatOpenState)(),
|
|
30
32
|
_useWebchatOpenState2 = _slicedToArray(_useWebchatOpenState, 2),
|
|
@@ -75,7 +77,7 @@ function Availability(props) {
|
|
|
75
77
|
}, [isFixed]);
|
|
76
78
|
switch (props.availability) {
|
|
77
79
|
case 'AVAILABLE':
|
|
78
|
-
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
80
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
79
81
|
className: (0,_lib_classnames__WEBPACK_IMPORTED_MODULE_1__.classnames)('wc-availability', isFixed && 'wc-availability--fixed'),
|
|
80
82
|
ref: buttonRef
|
|
81
83
|
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
@@ -88,7 +90,10 @@ function Availability(props) {
|
|
|
88
90
|
onClick: onClick,
|
|
89
91
|
onKeyUp: onKeyUp,
|
|
90
92
|
onKeyDown: onKeyDown
|
|
91
|
-
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(AvailabilityContent, null))))
|
|
93
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(AvailabilityContent, null)))), isOpen && /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_panel_panel_jsx__WEBPACK_IMPORTED_MODULE_3__.Panel, {
|
|
94
|
+
screenNumber: 0,
|
|
95
|
+
onClose: onClick
|
|
96
|
+
}));
|
|
92
97
|
case 'EXISTING':
|
|
93
98
|
case 'UNAVAILABLE':
|
|
94
99
|
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
|
|
@@ -119,6 +124,300 @@ function AvailabilityContent() {
|
|
|
119
124
|
|
|
120
125
|
/***/ }),
|
|
121
126
|
|
|
127
|
+
/***/ "./src/client/components/panel/panel-header.jsx":
|
|
128
|
+
/*!******************************************************!*\
|
|
129
|
+
!*** ./src/client/components/panel/panel-header.jsx ***!
|
|
130
|
+
\******************************************************/
|
|
131
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
132
|
+
|
|
133
|
+
__webpack_require__.r(__webpack_exports__);
|
|
134
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
135
|
+
/* harmony export */ PanelHeader: () => (/* binding */ PanelHeader)
|
|
136
|
+
/* harmony export */ });
|
|
137
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
138
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
139
|
+
|
|
140
|
+
function PanelHeader(_ref) {
|
|
141
|
+
var screen = _ref.screen,
|
|
142
|
+
isConnected = _ref.isConnected,
|
|
143
|
+
onBack = _ref.onBack,
|
|
144
|
+
onClose = _ref.onClose;
|
|
145
|
+
var ButtonComponent = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
|
|
146
|
+
className: "wc-header__close",
|
|
147
|
+
"aria-label": "Close the webchat",
|
|
148
|
+
onClick: onClose
|
|
149
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("svg", {
|
|
150
|
+
"aria-hidden": "true",
|
|
151
|
+
focusable: "false",
|
|
152
|
+
width: "20",
|
|
153
|
+
height: "20",
|
|
154
|
+
viewBox: "0 0 20 20"
|
|
155
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("path", {
|
|
156
|
+
d: "M10,8.6L15.6,3L17,4.4L11.4,10L17,15.6L15.6,17L10,11.4L4.4,17L3,15.6L8.6,10L3,4.4L4.4,3L10,8.6Z",
|
|
157
|
+
fill: "currentColor"
|
|
158
|
+
})));
|
|
159
|
+
if (isConnected) {
|
|
160
|
+
ButtonComponent = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
|
|
161
|
+
className: "wc-hide-btn",
|
|
162
|
+
"aria-label": "Minimise the webchat",
|
|
163
|
+
"data-wc-hide-btn": true
|
|
164
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("svg", {
|
|
165
|
+
"aria-hidden": "true",
|
|
166
|
+
focusable: "false",
|
|
167
|
+
width: "20",
|
|
168
|
+
height: "20",
|
|
169
|
+
viewBox: "0 0 20 20"
|
|
170
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("path", {
|
|
171
|
+
d: "M10 14.4l-7-7L4.4 6l5.6 5.6L15.6 6 17 7.4l-7 7z",
|
|
172
|
+
fill: "currentColor"
|
|
173
|
+
})));
|
|
174
|
+
}
|
|
175
|
+
var BackButtonComponent = !isConnected && screen !== 0 ? /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
|
176
|
+
href: "#",
|
|
177
|
+
className: "wc-header__link govuk-back-link govuk-back-link--inverse",
|
|
178
|
+
onClick: onBack
|
|
179
|
+
}, "Back") : null;
|
|
180
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
181
|
+
className: "wc-header"
|
|
182
|
+
}, BackButtonComponent, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h2", {
|
|
183
|
+
id: "wc-header-title",
|
|
184
|
+
className: "wc-header__title govuk-heading-s"
|
|
185
|
+
}, "Floodline Webchat"), ButtonComponent);
|
|
186
|
+
}
|
|
187
|
+
|
|
188
|
+
/***/ }),
|
|
189
|
+
|
|
190
|
+
/***/ "./src/client/components/panel/panel.jsx":
|
|
191
|
+
/*!***********************************************!*\
|
|
192
|
+
!*** ./src/client/components/panel/panel.jsx ***!
|
|
193
|
+
\***********************************************/
|
|
194
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
195
|
+
|
|
196
|
+
__webpack_require__.r(__webpack_exports__);
|
|
197
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
198
|
+
/* harmony export */ Panel: () => (/* binding */ Panel),
|
|
199
|
+
/* harmony export */ getFocusableElements: () => (/* binding */ getFocusableElements),
|
|
200
|
+
/* harmony export */ setAriaHidden: () => (/* binding */ setAriaHidden)
|
|
201
|
+
/* harmony export */ });
|
|
202
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
203
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
204
|
+
/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1__ = __webpack_require__(/*! react-dom */ "react-dom");
|
|
205
|
+
/* harmony import */ var react_dom__WEBPACK_IMPORTED_MODULE_1___default = /*#__PURE__*/__webpack_require__.n(react_dom__WEBPACK_IMPORTED_MODULE_1__);
|
|
206
|
+
/* harmony import */ var _panel_header_jsx__WEBPACK_IMPORTED_MODULE_2__ = __webpack_require__(/*! ./panel-header.jsx */ "./src/client/components/panel/panel-header.jsx");
|
|
207
|
+
/* harmony import */ var _screens_pre_chat_jsx__WEBPACK_IMPORTED_MODULE_3__ = __webpack_require__(/*! ../screens/pre-chat.jsx */ "./src/client/components/screens/pre-chat.jsx");
|
|
208
|
+
/* harmony import */ var _screens_request_chat_jsx__WEBPACK_IMPORTED_MODULE_4__ = __webpack_require__(/*! ../screens/request-chat.jsx */ "./src/client/components/screens/request-chat.jsx");
|
|
209
|
+
function _slicedToArray(arr, i) { return _arrayWithHoles(arr) || _iterableToArrayLimit(arr, i) || _unsupportedIterableToArray(arr, i) || _nonIterableRest(); }
|
|
210
|
+
function _nonIterableRest() { throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); }
|
|
211
|
+
function _iterableToArrayLimit(arr, i) { var _i = null == arr ? null : "undefined" != typeof Symbol && arr[Symbol.iterator] || arr["@@iterator"]; if (null != _i) { var _s, _e, _x, _r, _arr = [], _n = !0, _d = !1; try { if (_x = (_i = _i.call(arr)).next, 0 === i) { if (Object(_i) !== _i) return; _n = !1; } else for (; !(_n = (_s = _x.call(_i)).done) && (_arr.push(_s.value), _arr.length !== i); _n = !0); } catch (err) { _d = !0, _e = err; } finally { try { if (!_n && null != _i["return"] && (_r = _i["return"](), Object(_r) !== _r)) return; } finally { if (_d) throw _e; } } return _arr; } }
|
|
212
|
+
function _arrayWithHoles(arr) { if (Array.isArray(arr)) return arr; }
|
|
213
|
+
function _createForOfIteratorHelper(o, allowArrayLike) { var it = typeof Symbol !== "undefined" && o[Symbol.iterator] || o["@@iterator"]; if (!it) { if (Array.isArray(o) || (it = _unsupportedIterableToArray(o)) || allowArrayLike && o && typeof o.length === "number") { if (it) o = it; var i = 0; var F = function F() {}; return { s: F, n: function n() { if (i >= o.length) return { done: true }; return { done: false, value: o[i++] }; }, e: function e(_e2) { throw _e2; }, f: F }; } throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method."); } var normalCompletion = true, didErr = false, err; return { s: function s() { it = it.call(o); }, n: function n() { var step = it.next(); normalCompletion = step.done; return step; }, e: function e(_e3) { didErr = true; err = _e3; }, f: function f() { try { if (!normalCompletion && it["return"] != null) it["return"](); } finally { if (didErr) throw err; } } }; }
|
|
214
|
+
function _unsupportedIterableToArray(o, minLen) { if (!o) return; if (typeof o === "string") return _arrayLikeToArray(o, minLen); var n = Object.prototype.toString.call(o).slice(8, -1); if (n === "Object" && o.constructor) n = o.constructor.name; if (n === "Map" || n === "Set") return Array.from(o); if (n === "Arguments" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return _arrayLikeToArray(o, minLen); }
|
|
215
|
+
function _arrayLikeToArray(arr, len) { if (len == null || len > arr.length) len = arr.length; for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i]; return arr2; }
|
|
216
|
+
|
|
217
|
+
|
|
218
|
+
|
|
219
|
+
|
|
220
|
+
|
|
221
|
+
var setAriaHidden = function setAriaHidden(bool) {
|
|
222
|
+
var _iterator = _createForOfIteratorHelper(document.body.children),
|
|
223
|
+
_step;
|
|
224
|
+
try {
|
|
225
|
+
for (_iterator.s(); !(_step = _iterator.n()).done;) {
|
|
226
|
+
var node = _step.value;
|
|
227
|
+
if (node.id !== 'wc-panel') {
|
|
228
|
+
bool ? node.setAttribute('aria-hidden', 'true') : node.removeAttribute('aria-hidden');
|
|
229
|
+
}
|
|
230
|
+
}
|
|
231
|
+
} catch (err) {
|
|
232
|
+
_iterator.e(err);
|
|
233
|
+
} finally {
|
|
234
|
+
_iterator.f();
|
|
235
|
+
}
|
|
236
|
+
};
|
|
237
|
+
var getFocusableElements = function getFocusableElements() {
|
|
238
|
+
var selectors = ['#wc-panel a:not([disabled])', '#wc-panel button:not([disabled])', '#wc-panel select:not([disabled])', '#wc-panel input:not([disabled])', '#wc-panel textarea:not([disabled])', '#wc-panel *[tabindex="0"]:not([disabled])'];
|
|
239
|
+
var elements = document.body.querySelectorAll(selectors.join(','));
|
|
240
|
+
return Array.from(elements).filter(function (e) {
|
|
241
|
+
return !e.closest('[hidden]') && !e.closest('[aria-hidden="true"]');
|
|
242
|
+
});
|
|
243
|
+
};
|
|
244
|
+
function Panel(_ref) {
|
|
245
|
+
var screenNumber = _ref.screenNumber,
|
|
246
|
+
onClose = _ref.onClose;
|
|
247
|
+
var _useState = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)(screenNumber),
|
|
248
|
+
_useState2 = _slicedToArray(_useState, 2),
|
|
249
|
+
screen = _useState2[0],
|
|
250
|
+
setScreen = _useState2[1];
|
|
251
|
+
var _useState3 = (0,react__WEBPACK_IMPORTED_MODULE_0__.useState)([]),
|
|
252
|
+
_useState4 = _slicedToArray(_useState3, 2),
|
|
253
|
+
panelElements = _useState4[0],
|
|
254
|
+
setPanelElements = _useState4[1];
|
|
255
|
+
var onKeyDown = (0,react__WEBPACK_IMPORTED_MODULE_0__.useCallback)(function (e) {
|
|
256
|
+
if (e.key === 'Escape' || e.key === 'Esc') return onClose();
|
|
257
|
+
if (e.key === 'Tab') {
|
|
258
|
+
var webchatPanelElement = document.querySelector('#wc-panel');
|
|
259
|
+
if (webchatPanelElement && !document.activeElement.closest('#wc-panel')) {
|
|
260
|
+
webchatPanelElement.focus();
|
|
261
|
+
}
|
|
262
|
+
if (e.shiftKey) {
|
|
263
|
+
if (document.activeElement === panelElements[0]) {
|
|
264
|
+
panelElements[panelElements.length - 1].focus();
|
|
265
|
+
e.preventDefault();
|
|
266
|
+
} else if (document.activeElement === document.querySelector('#wc-panel')) {
|
|
267
|
+
var _panelElements;
|
|
268
|
+
(_panelElements = panelElements[panelElements.length - 1]) === null || _panelElements === void 0 ? void 0 : _panelElements.focus();
|
|
269
|
+
e.preventDefault();
|
|
270
|
+
}
|
|
271
|
+
} else if (document.activeElement === panelElements[panelElements.length - 1]) {
|
|
272
|
+
panelElements[0].focus();
|
|
273
|
+
e.preventDefault();
|
|
274
|
+
}
|
|
275
|
+
}
|
|
276
|
+
}, [panelElements]);
|
|
277
|
+
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
|
|
278
|
+
setPanelElements(getFocusableElements());
|
|
279
|
+
}, [screen]);
|
|
280
|
+
(0,react__WEBPACK_IMPORTED_MODULE_0__.useEffect)(function () {
|
|
281
|
+
setAriaHidden(true);
|
|
282
|
+
document.querySelector('#wc-panel').focus();
|
|
283
|
+
document.addEventListener('keydown', onKeyDown);
|
|
284
|
+
return function () {
|
|
285
|
+
var _document$body$queryS;
|
|
286
|
+
setAriaHidden();
|
|
287
|
+
(_document$body$queryS = document.body.querySelector('.wc-availability__link')) === null || _document$body$queryS === void 0 ? void 0 : _document$body$queryS.focus();
|
|
288
|
+
document.removeEventListener('keydown', onKeyDown);
|
|
289
|
+
};
|
|
290
|
+
}, [panelElements]);
|
|
291
|
+
var onBack = function onBack(e) {
|
|
292
|
+
e.preventDefault();
|
|
293
|
+
setScreen(screen - 1);
|
|
294
|
+
};
|
|
295
|
+
var ScreenComponent;
|
|
296
|
+
switch (screen) {
|
|
297
|
+
case 0:
|
|
298
|
+
ScreenComponent = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_screens_pre_chat_jsx__WEBPACK_IMPORTED_MODULE_3__.PreChat, {
|
|
299
|
+
screen: screen,
|
|
300
|
+
setScreen: setScreen
|
|
301
|
+
});
|
|
302
|
+
break;
|
|
303
|
+
case 1:
|
|
304
|
+
ScreenComponent = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_screens_request_chat_jsx__WEBPACK_IMPORTED_MODULE_4__.RequestChat, {
|
|
305
|
+
onBack: onBack
|
|
306
|
+
});
|
|
307
|
+
break;
|
|
308
|
+
default:
|
|
309
|
+
ScreenComponent = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_screens_pre_chat_jsx__WEBPACK_IMPORTED_MODULE_3__.PreChat, {
|
|
310
|
+
screen: screen,
|
|
311
|
+
setScreen: setScreen
|
|
312
|
+
});
|
|
313
|
+
}
|
|
314
|
+
var Component = /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
315
|
+
id: "wc-panel",
|
|
316
|
+
className: "wc-panel",
|
|
317
|
+
role: "dialog",
|
|
318
|
+
tabIndex: "-1",
|
|
319
|
+
"aria-modal": "true",
|
|
320
|
+
"aria-labelledby": "wc-header-title"
|
|
321
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement(_panel_header_jsx__WEBPACK_IMPORTED_MODULE_2__.PanelHeader, {
|
|
322
|
+
screen: screen,
|
|
323
|
+
isConnected: false,
|
|
324
|
+
onBack: onBack,
|
|
325
|
+
onClose: onClose
|
|
326
|
+
}), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
327
|
+
className: "wc-body"
|
|
328
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("div", {
|
|
329
|
+
className: "wc-content govuk-body-s"
|
|
330
|
+
}, ScreenComponent)));
|
|
331
|
+
return /*#__PURE__*/(0,react_dom__WEBPACK_IMPORTED_MODULE_1__.createPortal)(Component, document.body);
|
|
332
|
+
}
|
|
333
|
+
|
|
334
|
+
/***/ }),
|
|
335
|
+
|
|
336
|
+
/***/ "./src/client/components/screens/pre-chat.jsx":
|
|
337
|
+
/*!****************************************************!*\
|
|
338
|
+
!*** ./src/client/components/screens/pre-chat.jsx ***!
|
|
339
|
+
\****************************************************/
|
|
340
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
341
|
+
|
|
342
|
+
__webpack_require__.r(__webpack_exports__);
|
|
343
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
344
|
+
/* harmony export */ PreChat: () => (/* binding */ PreChat)
|
|
345
|
+
/* harmony export */ });
|
|
346
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
347
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
348
|
+
|
|
349
|
+
function PreChat(_ref) {
|
|
350
|
+
var screen = _ref.screen,
|
|
351
|
+
setScreen = _ref.setScreen;
|
|
352
|
+
var onContinue = function onContinue(e) {
|
|
353
|
+
e.preventDefault();
|
|
354
|
+
setScreen(screen + 1);
|
|
355
|
+
};
|
|
356
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
|
|
357
|
+
className: "govuk-heading-s"
|
|
358
|
+
}, "What you can use webchat for"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
|
|
359
|
+
className: "govuk-body-s"
|
|
360
|
+
}, "Webchat lets you talk directly to a Floodline adviser."), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
|
|
361
|
+
className: "govuk-body-s"
|
|
362
|
+
}, "You can use webchat to get:"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("ul", {
|
|
363
|
+
className: "govuk-list govuk-list--bullet govuk-body-s"
|
|
364
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, "current flood warnings and alerts in your area"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, "information on the flood warning service"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("li", null, "advice on what to do before, during and after a flood")), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
|
|
365
|
+
className: "govuk-body-s"
|
|
366
|
+
}, "There are other ways to ", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
|
367
|
+
className: "govuk-link",
|
|
368
|
+
href: "https://www.gov.uk/sign-up-for-flood-warnings"
|
|
369
|
+
}, "sign up for flood warnings"), " and ", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
|
370
|
+
className: "govuk-link",
|
|
371
|
+
href: "https://defragroup.eu.qualtrics.com/jfe/form/SV_8uMAuaH3kbJl965?Source=https://check-for-flooding.service.gov.uk"
|
|
372
|
+
}, "manage your flood warnings account"), "."), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
|
|
373
|
+
className: "govuk-body-s"
|
|
374
|
+
}, "Do not use webchat to ", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
|
375
|
+
className: "govuk-link",
|
|
376
|
+
href: "https://www.gov.uk/report-flood-cause"
|
|
377
|
+
}, "report a flood"), "."), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("button", {
|
|
378
|
+
className: "govuk-button",
|
|
379
|
+
"data-module": "govuk-button",
|
|
380
|
+
onClick: onContinue
|
|
381
|
+
}, "Continue"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
|
|
382
|
+
className: "govuk-heading-s"
|
|
383
|
+
}, "Other flood information"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
|
|
384
|
+
className: "govuk-body-s"
|
|
385
|
+
}, "Call Floodline for all other flood and flood warning information."), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("p", {
|
|
386
|
+
className: "govuk-body-s"
|
|
387
|
+
}, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("strong", null, "Floodline helpline"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("br", null), "Telephone: 0345 988 1188", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("br", null), "Textphone: 0345 602 6340", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("br", null), "Open 24 hours a day, 7 days a week", /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("br", null), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
|
388
|
+
className: "govuk-link",
|
|
389
|
+
href: "https://gov.uk/call-charges"
|
|
390
|
+
}, "Find out more about call charges")));
|
|
391
|
+
}
|
|
392
|
+
|
|
393
|
+
/***/ }),
|
|
394
|
+
|
|
395
|
+
/***/ "./src/client/components/screens/request-chat.jsx":
|
|
396
|
+
/*!********************************************************!*\
|
|
397
|
+
!*** ./src/client/components/screens/request-chat.jsx ***!
|
|
398
|
+
\********************************************************/
|
|
399
|
+
/***/ ((__unused_webpack_module, __webpack_exports__, __webpack_require__) => {
|
|
400
|
+
|
|
401
|
+
__webpack_require__.r(__webpack_exports__);
|
|
402
|
+
/* harmony export */ __webpack_require__.d(__webpack_exports__, {
|
|
403
|
+
/* harmony export */ RequestChat: () => (/* binding */ RequestChat)
|
|
404
|
+
/* harmony export */ });
|
|
405
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0__ = __webpack_require__(/*! react */ "react");
|
|
406
|
+
/* harmony import */ var react__WEBPACK_IMPORTED_MODULE_0___default = /*#__PURE__*/__webpack_require__.n(react__WEBPACK_IMPORTED_MODULE_0__);
|
|
407
|
+
|
|
408
|
+
function RequestChat(_ref) {
|
|
409
|
+
var onBack = _ref.onBack;
|
|
410
|
+
return /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement((react__WEBPACK_IMPORTED_MODULE_0___default().Fragment), null, /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("a", {
|
|
411
|
+
href: "#",
|
|
412
|
+
className: "wc-back-link govuk-back-link",
|
|
413
|
+
onClick: onBack
|
|
414
|
+
}, "What you can use webchat for"), /*#__PURE__*/react__WEBPACK_IMPORTED_MODULE_0___default().createElement("h3", {
|
|
415
|
+
className: "govuk-heading-s"
|
|
416
|
+
}, "Your name and question"));
|
|
417
|
+
}
|
|
418
|
+
|
|
419
|
+
/***/ }),
|
|
420
|
+
|
|
122
421
|
/***/ "./src/client/lib/check-availability.js":
|
|
123
422
|
/*!**********************************************!*\
|
|
124
423
|
!*** ./src/client/lib/check-availability.js ***!
|
|
@@ -301,6 +600,16 @@ module.exports = require("react");
|
|
|
301
600
|
|
|
302
601
|
/***/ }),
|
|
303
602
|
|
|
603
|
+
/***/ "react-dom":
|
|
604
|
+
/*!****************************!*\
|
|
605
|
+
!*** external "react-dom" ***!
|
|
606
|
+
\****************************/
|
|
607
|
+
/***/ ((module) => {
|
|
608
|
+
|
|
609
|
+
module.exports = require("react-dom");
|
|
610
|
+
|
|
611
|
+
/***/ }),
|
|
612
|
+
|
|
304
613
|
/***/ "react-dom/client":
|
|
305
614
|
/*!***********************************!*\
|
|
306
615
|
!*** external "react-dom/client" ***!
|
package/dist/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","mappings":";;;;;;;;;;;;;;;;;;;;;;;;AAA0D;AACT;AACgC;AAE1E,SAASO,YAAYA,CAAEC,KAAK,EAAE;EACnC,IAAAC,oBAAA,GAA0BH,yEAAmB,CAAC,CAAC;IAAAI,qBAAA,GAAAC,cAAA,CAAAF,oBAAA;IAAxCG,MAAM,GAAAF,qBAAA;IAAEG,OAAO,GAAAH,qBAAA;EACtB,IAAAI,SAAA,GAA4BX,+CAAQ,CAAC,KAAK,CAAC;IAAAY,UAAA,GAAAJ,cAAA,CAAAG,SAAA;IAApCE,OAAO,GAAAD,UAAA;IAAEE,QAAQ,GAAAF,UAAA;EACxB,IAAMG,SAAS,GAAGhB,6CAAM,CAAC,CAAC;EAC1B,IAAMiB,OAAO,GAAG,SAAVA,OAAOA,CAAA,EAAS;IACpBN,OAAO,CAAC,CAACD,MAAM,CAAC;EAClB,CAAC;EACD,IAAMQ,SAAS,GAAG,SAAZA,SAASA,CAAGC,KAAK,EAAI;IACzB,IAAIA,KAAK,CAACC,GAAG,KAAK,GAAG,EAAE;MACrBD,KAAK,CAACE,cAAc,CAAC,CAAC;IACxB;EACF,CAAC;EACD,IAAMC,OAAO,GAAG,SAAVA,OAAOA,CAAGH,KAAK,EAAI;IACvB,IAAIA,KAAK,CAACC,GAAG,KAAK,GAAG,EAAE;MACrBT,OAAO,CAAC,CAACD,MAAM,CAAC;IAClB;EACF,CAAC;EAED,IAAMa,oBAAoB,GAAG,SAAvBA,oBAAoBA,CAAGC,OAAO,EAAI;IACtC,IAAAC,QAAA,GAAAhB,cAAA,CAAgBe,OAAO;MAAhBE,KAAK,GAAAD,QAAA;IACZ,IAAME,WAAW,GAAG,CAACD,KAAK,CAACE,cAAc,IAAIF,KAAK,CAACG,kBAAkB,CAACC,GAAG,GAAG,CAAC;IAC7Ef,QAAQ,CAAC,CAACL,MAAM,IAAIiB,WAAW,CAAC;EAClC,CAAC;EAED5B,gDAAS,CAAC,YAAM;IAAA,IAAAgC,kBAAA;IACd,IAAMC,QAAQ,GAAG,IAAIC,MAAM,CAACC,oBAAoB,CAACX,oBAAoB,EAAE;MACrEY,UAAU,EAAE;IACd,CAAC,CAAC;IACF,IAAMC,aAAa,IAAAL,kBAAA,GAAGf,SAAS,CAACqB,OAAO,cAAAN,kBAAA,uBAAjBA,kBAAA,CAAmBK,aAAa;IACtD,IAAIA,aAAa,EAAE;MACjBJ,QAAQ,CAACM,OAAO,CAACF,aAAa,CAAC;IACjC;IACA,OAAO,YAAM;MACX,IAAIA,aAAa,EAAE;QACjBJ,QAAQ,CAACO,SAAS,CAACH,aAAa,CAAC;MACnC;IACF,CAAC;EACH,CAAC,EAAE,CAACpB,SAAS,EAAEN,MAAM,CAAC,CAAC;EAEvBX,gDAAS,CAAC,YAAM;IACdyC,QAAQ,CAACC,eAAe,CAACC,SAAS,CAACC,MAAM,CAAC,mBAAmB,EAAE7B,OAAO,CAAC;IACvE0B,QAAQ,CAACI,IAAI,CAACF,SAAS,CAACC,MAAM,CAAC,mBAAmB,EAAE7B,OAAO,CAAC;EAC9D,CAAC,EAAE,CAACA,OAAO,CAAC,CAAC;EAEb,QAAQR,KAAK,CAACuC,YAAY;IACxB,KAAK,WAAW;MACd,oBACE/C,0DAAA;QACEiD,SAAS,EAAE7C,2DAAU,CAAC,iBAAiB,EAAEY,OAAO,IAAI,wBAAwB,CAAE;QAC9EkC,GAAG,EAAEhC;MAAU,gBAEflB,0DAAA;QAAKiD,SAAS,EAAC;MAAwB,gBACrCjD,0DAAA;QACEiD,SAAS,EAAC,uBAAuB;QACjCE,IAAI,EAAC,UAAU;QAACC,IAAI,EAAC,QAAQ;QAACC,SAAS,EAAC,OAAO;QAC/ClC,OAAO,EAAEA,OAAQ;QACjBK,OAAO,EAAEA,OAAQ;QACjBJ,SAAS,EAAEA;MAAU,gBAErBpB,0DAAA,CAACsD,mBAAmB,MAAE,CACrB,CACA,CACF,CAAC;IAEV,KAAK,UAAU;IACf,KAAK,aAAa;MAChB,oBACEtD,0DAAA;QAAGiD,SAAS,EAAC;MAAY,GAAC,wDAAyD,CAAC;IAExF;MACE,oBACEjD,0DAAA;QAAGiD,SAAS,EAAC;MAAY,GAAC,uBAAwB,CAAC;EAEzD;AACF;AAEA,SAASK,mBAAmBA,CAAA,EAAI;EAC9B,IAAAC,iBAAA,GAAiBlD,sEAAgB,CAAC,CAAC;IAAAmD,kBAAA,GAAA7C,cAAA,CAAA4C,iBAAA;IAA5BE,MAAM,GAAAD,kBAAA;EACb,IAAME,kBAAkB,GAAGD,MAAM,CAACE,MAAM,CAAC,UAAAC,OAAO;IAAA,OAAI,CAACA,OAAO,CAACC,IAAI;EAAA,EAAC,CAACC,MAAM;EACzE,IAAI,CAACL,MAAM,CAACK,MAAM,EAAE;IAClB,oBACE9D,0DAAA,CAAAA,uDAAA,QAAE,YAEA,CAAC;EAEP;EACA,oBACEA,0DAAA,CAAAA,uDAAA,QAAE,YACU,EAAC,CAAC,CAAC0D,kBAAkB,iBAC7B1D,0DAAA,CAAAA,uDAAA,qBACEA,0DAAA;IAAMiD,SAAS,EAAC;EAAyB,GAAES,kBAAyB,CAAC,eACrE1D,0DAAA;IAAMiD,SAAS,EAAC;EAAuB,GAAC,GAAC,EAACS,kBAAkB,KAAK,CAAC,GAAG,aAAa,GAAG,cAAqB,CAC1G,CAEJ,CAAC;AAEP;;;;;;;;;;;;;;;+CCnGA,qJAAAM,mBAAA,YAAAA,oBAAA,WAAAC,OAAA,SAAAA,OAAA,OAAAC,EAAA,GAAAC,MAAA,CAAAC,SAAA,EAAAC,MAAA,GAAAH,EAAA,CAAAI,cAAA,EAAAC,cAAA,GAAAJ,MAAA,CAAAI,cAAA,cAAAC,GAAA,EAAAlD,GAAA,EAAAmD,IAAA,IAAAD,GAAA,CAAAlD,GAAA,IAAAmD,IAAA,CAAAC,KAAA,KAAAC,OAAA,wBAAAC,MAAA,GAAAA,MAAA,OAAAC,cAAA,GAAAF,OAAA,CAAAG,QAAA,kBAAAC,mBAAA,GAAAJ,OAAA,CAAAK,aAAA,uBAAAC,iBAAA,GAAAN,OAAA,CAAAO,WAAA,8BAAAC,OAAAX,GAAA,EAAAlD,GAAA,EAAAoD,KAAA,WAAAP,MAAA,CAAAI,cAAA,CAAAC,GAAA,EAAAlD,GAAA,IAAAoD,KAAA,EAAAA,KAAA,EAAAU,UAAA,MAAAC,YAAA,MAAAC,QAAA,SAAAd,GAAA,CAAAlD,GAAA,WAAA6D,MAAA,mBAAAI,GAAA,IAAAJ,MAAA,YAAAA,OAAAX,GAAA,EAAAlD,GAAA,EAAAoD,KAAA,WAAAF,GAAA,CAAAlD,GAAA,IAAAoD,KAAA,gBAAAc,KAAAC,OAAA,EAAAC,OAAA,EAAAC,IAAA,EAAAC,WAAA,QAAAC,cAAA,GAAAH,OAAA,IAAAA,OAAA,CAAAtB,SAAA,YAAA0B,SAAA,GAAAJ,OAAA,GAAAI,SAAA,EAAAC,SAAA,GAAA5B,MAAA,CAAA6B,MAAA,CAAAH,cAAA,CAAAzB,SAAA,GAAA6B,OAAA,OAAAC,OAAA,CAAAN,WAAA,gBAAArB,cAAA,CAAAwB,SAAA,eAAArB,KAAA,EAAAyB,gBAAA,CAAAV,OAAA,EAAAE,IAAA,EAAAM,OAAA,MAAAF,SAAA,aAAAK,SAAAC,EAAA,EAAA7B,GAAA,EAAA8B,GAAA,mBAAAC,IAAA,YAAAD,GAAA,EAAAD,EAAA,CAAAG,IAAA,CAAAhC,GAAA,EAAA8B,GAAA,cAAAf,GAAA,aAAAgB,IAAA,WAAAD,GAAA,EAAAf,GAAA,QAAAtB,OAAA,CAAAuB,IAAA,GAAAA,IAAA,MAAAiB,gBAAA,gBAAAX,UAAA,cAAAY,kBAAA,cAAAC,2BAAA,SAAAC,iBAAA,OAAAzB,MAAA,CAAAyB,iBAAA,EAAA/B,cAAA,qCAAAgC,QAAA,GAAA1C,MAAA,CAAA2C,cAAA,EAAAC,uBAAA,GAAAF,QAAA,IAAAA,QAAA,CAAAA,QAAA,CAAAG,MAAA,QAAAD,uBAAA,IAAAA,uBAAA,KAAA7C,EAAA,IAAAG,MAAA,CAAAmC,IAAA,CAAAO,uBAAA,EAAAlC,cAAA,MAAA+B,iBAAA,GAAAG,uBAAA,OAAAE,EAAA,GAAAN,0BAAA,CAAAvC,SAAA,GAAA0B,SAAA,CAAA1B,SAAA,GAAAD,MAAA,CAAA6B,MAAA,CAAAY,iBAAA,YAAAM,sBAAA9C,SAAA,gCAAA+C,OAAA,WAAAC,MAAA,IAAAjC,MAAA,CAAAf,SAAA,EAAAgD,MAAA,YAAAd,GAAA,gBAAAe,OAAA,CAAAD,MAAA,EAAAd,GAAA,sBAAAgB,cAAAvB,SAAA,EAAAwB,WAAA,aAAAC,OAAAJ,MAAA,EAAAd,GAAA,EAAAmB,OAAA,EAAAC,MAAA,QAAAC,MAAA,GAAAvB,QAAA,CAAAL,SAAA,CAAAqB,MAAA,GAAArB,SAAA,EAAAO,GAAA,mBAAAqB,MAAA,CAAApB,IAAA,QAAAqB,MAAA,GAAAD,MAAA,CAAArB,GAAA,EAAA5B,KAAA,GAAAkD,MAAA,CAAAlD,KAAA,SAAAA,KAAA,gBAAAmD,OAAA,CAAAnD,KAAA,KAAAL,MAAA,CAAAmC,IAAA,CAAA9B,KAAA,eAAA6C,WAAA,CAAAE,OAAA,CAAA/C,KAAA,CAAAoD,OAAA,EAAAC,IAAA,WAAArD,KAAA,IAAA8C,MAAA,SAAA9C,KAAA,EAAA+C,OAAA,EAAAC,MAAA,gBAAAnC,GAAA,IAAAiC,MAAA,UAAAjC,GAAA,EAAAkC,OAAA,EAAAC,MAAA,QAAAH,WAAA,CAAAE,OAAA,CAAA/C,KAAA,EAAAqD,IAAA,WAAAC,SAAA,IAAAJ,MAAA,CAAAlD,KAAA,GAAAsD,SAAA,EAAAP,OAAA,CAAAG,MAAA,gBAAAK,KAAA,WAAAT,MAAA,UAAAS,KAAA,EAAAR,OAAA,EAAAC,MAAA,SAAAA,MAAA,CAAAC,MAAA,CAAArB,GAAA,SAAA4B,eAAA,EAAA3D,cAAA,oBAAAG,KAAA,WAAAA,MAAA0C,MAAA,EAAAd,GAAA,aAAA6B,2BAAA,eAAAZ,WAAA,WAAAE,OAAA,EAAAC,MAAA,IAAAF,MAAA,CAAAJ,MAAA,EAAAd,GAAA,EAAAmB,OAAA,EAAAC,MAAA,gBAAAQ,eAAA,GAAAA,eAAA,GAAAA,eAAA,CAAAH,IAAA,CAAAI,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAAhC,iBAAAV,OAAA,EAAAE,IAAA,EAAAM,OAAA,QAAAmC,KAAA,sCAAAhB,MAAA,EAAAd,GAAA,wBAAA8B,KAAA,YAAAC,KAAA,sDAAAD,KAAA,oBAAAhB,MAAA,QAAAd,GAAA,WAAA5B,KAAA,UAAA4D,IAAA,eAAArC,OAAA,CAAAmB,MAAA,GAAAA,MAAA,EAAAnB,OAAA,CAAAK,GAAA,GAAAA,GAAA,UAAAiC,QAAA,GAAAtC,OAAA,CAAAsC,QAAA,MAAAA,QAAA,QAAAC,cAAA,GAAAC,mBAAA,CAAAF,QAAA,EAAAtC,OAAA,OAAAuC,cAAA,QAAAA,cAAA,KAAA/B,gBAAA,mBAAA+B,cAAA,qBAAAvC,OAAA,CAAAmB,MAAA,EAAAnB,OAAA,CAAAyC,IAAA,GAAAzC,OAAA,CAAA0C,KAAA,GAAA1C,OAAA,CAAAK,GAAA,sBAAAL,OAAA,CAAAmB,MAAA,6BAAAgB,KAAA,QAAAA,KAAA,gBAAAnC,OAAA,CAAAK,GAAA,EAAAL,OAAA,CAAA2C,iBAAA,CAAA3C,OAAA,CAAAK,GAAA,uBAAAL,OAAA,CAAAmB,MAAA,IAAAnB,OAAA,CAAA4C,MAAA,WAAA5C,OAAA,CAAAK,GAAA,GAAA8B,KAAA,oBAAAT,MAAA,GAAAvB,QAAA,CAAAX,OAAA,EAAAE,IAAA,EAAAM,OAAA,oBAAA0B,MAAA,CAAApB,IAAA,QAAA6B,KAAA,GAAAnC,OAAA,CAAAqC,IAAA,mCAAAX,MAAA,CAAArB,GAAA,KAAAG,gBAAA,qBAAA/B,KAAA,EAAAiD,MAAA,CAAArB,GAAA,EAAAgC,IAAA,EAAArC,OAAA,CAAAqC,IAAA,kBAAAX,MAAA,CAAApB,IAAA,KAAA6B,KAAA,gBAAAnC,OAAA,CAAAmB,MAAA,YAAAnB,OAAA,CAAAK,GAAA,GAAAqB,MAAA,CAAArB,GAAA,mBAAAmC,oBAAAF,QAAA,EAAAtC,OAAA,QAAA6C,UAAA,GAAA7C,OAAA,CAAAmB,MAAA,EAAAA,MAAA,GAAAmB,QAAA,CAAAzD,QAAA,CAAAgE,UAAA,OAAAC,SAAA,KAAA3B,MAAA,SAAAnB,OAAA,CAAAsC,QAAA,qBAAAO,UAAA,IAAAP,QAAA,CAAAzD,QAAA,eAAAmB,OAAA,CAAAmB,MAAA,aAAAnB,OAAA,CAAAK,GAAA,GAAAyC,SAAA,EAAAN,mBAAA,CAAAF,QAAA,EAAAtC,OAAA,eAAAA,OAAA,CAAAmB,MAAA,kBAAA0B,UAAA,KAAA7C,OAAA,CAAAmB,MAAA,YAAAnB,OAAA,CAAAK,GAAA,OAAA0C,SAAA,uCAAAF,UAAA,iBAAArC,gBAAA,MAAAkB,MAAA,GAAAvB,QAAA,CAAAgB,MAAA,EAAAmB,QAAA,CAAAzD,QAAA,EAAAmB,OAAA,CAAAK,GAAA,mBAAAqB,MAAA,CAAApB,IAAA,SAAAN,OAAA,CAAAmB,MAAA,YAAAnB,OAAA,CAAAK,GAAA,GAAAqB,MAAA,CAAArB,GAAA,EAAAL,OAAA,CAAAsC,QAAA,SAAA9B,gBAAA,MAAAwC,IAAA,GAAAtB,MAAA,CAAArB,GAAA,SAAA2C,IAAA,GAAAA,IAAA,CAAAX,IAAA,IAAArC,OAAA,CAAAsC,QAAA,CAAAW,UAAA,IAAAD,IAAA,CAAAvE,KAAA,EAAAuB,OAAA,CAAAkD,IAAA,GAAAZ,QAAA,CAAAa,OAAA,eAAAnD,OAAA,CAAAmB,MAAA,KAAAnB,OAAA,CAAAmB,MAAA,WAAAnB,OAAA,CAAAK,GAAA,GAAAyC,SAAA,GAAA9C,OAAA,CAAAsC,QAAA,SAAA9B,gBAAA,IAAAwC,IAAA,IAAAhD,OAAA,CAAAmB,MAAA,YAAAnB,OAAA,CAAAK,GAAA,OAAA0C,SAAA,sCAAA/C,OAAA,CAAAsC,QAAA,SAAA9B,gBAAA,cAAA4C,aAAAC,IAAA,QAAA1H,KAAA,KAAA2H,MAAA,EAAAD,IAAA,YAAAA,IAAA,KAAA1H,KAAA,CAAA4H,QAAA,GAAAF,IAAA,WAAAA,IAAA,KAAA1H,KAAA,CAAA6H,UAAA,GAAAH,IAAA,KAAA1H,KAAA,CAAA8H,QAAA,GAAAJ,IAAA,WAAAK,UAAA,CAAAC,IAAA,CAAAhI,KAAA,cAAAiI,cAAAjI,KAAA,QAAA+F,MAAA,GAAA/F,KAAA,CAAAkI,UAAA,QAAAnC,MAAA,CAAApB,IAAA,oBAAAoB,MAAA,CAAArB,GAAA,EAAA1E,KAAA,CAAAkI,UAAA,GAAAnC,MAAA,aAAAzB,QAAAN,WAAA,SAAA+D,UAAA,MAAAJ,MAAA,aAAA3D,WAAA,CAAAuB,OAAA,CAAAkC,YAAA,cAAAU,KAAA,iBAAA/C,OAAAgD,QAAA,QAAAA,QAAA,WAAAA,QAAA,QAAAC,cAAA,GAAAD,QAAA,CAAAnF,cAAA,OAAAoF,cAAA,SAAAA,cAAA,CAAAzD,IAAA,CAAAwD,QAAA,4BAAAA,QAAA,CAAAb,IAAA,SAAAa,QAAA,OAAAE,KAAA,CAAAF,QAAA,CAAAlG,MAAA,SAAAqG,CAAA,OAAAhB,IAAA,YAAAA,KAAA,aAAAgB,CAAA,GAAAH,QAAA,CAAAlG,MAAA,OAAAO,MAAA,CAAAmC,IAAA,CAAAwD,QAAA,EAAAG,CAAA,UAAAhB,IAAA,CAAAzE,KAAA,GAAAsF,QAAA,CAAAG,CAAA,GAAAhB,IAAA,CAAAb,IAAA,OAAAa,IAAA,SAAAA,IAAA,CAAAzE,KAAA,GAAAqE,SAAA,EAAAI,IAAA,CAAAb,IAAA,OAAAa,IAAA,YAAAA,IAAA,CAAAA,IAAA,GAAAA,IAAA,gBAAAH,SAAA,CAAAnB,OAAA,CAAAmC,QAAA,kCAAAtD,iBAAA,CAAAtC,SAAA,GAAAuC,0BAAA,EAAApC,cAAA,CAAA0C,EAAA,mBAAAvC,KAAA,EAAAiC,0BAAA,EAAAtB,YAAA,SAAAd,cAAA,CAAAoC,0BAAA,mBAAAjC,KAAA,EAAAgC,iBAAA,EAAArB,YAAA,SAAAqB,iBAAA,CAAA0D,WAAA,GAAAjF,MAAA,CAAAwB,0BAAA,EAAA1B,iBAAA,wBAAAhB,OAAA,CAAAoG,mBAAA,aAAAC,MAAA,QAAAC,IAAA,wBAAAD,MAAA,IAAAA,MAAA,CAAAE,WAAA,WAAAD,IAAA,KAAAA,IAAA,KAAA7D,iBAAA,6BAAA6D,IAAA,CAAAH,WAAA,IAAAG,IAAA,CAAAE,IAAA,OAAAxG,OAAA,CAAAyG,IAAA,aAAAJ,MAAA,WAAAnG,MAAA,CAAAwG,cAAA,GAAAxG,MAAA,CAAAwG,cAAA,CAAAL,MAAA,EAAA3D,0BAAA,KAAA2D,MAAA,CAAAM,SAAA,GAAAjE,0BAAA,EAAAxB,MAAA,CAAAmF,MAAA,EAAArF,iBAAA,yBAAAqF,MAAA,CAAAlG,SAAA,GAAAD,MAAA,CAAA6B,MAAA,CAAAiB,EAAA,GAAAqD,MAAA,KAAArG,OAAA,CAAA4G,KAAA,aAAAvE,GAAA,aAAAwB,OAAA,EAAAxB,GAAA,OAAAY,qBAAA,CAAAI,aAAA,CAAAlD,SAAA,GAAAe,MAAA,CAAAmC,aAAA,CAAAlD,SAAA,EAAAW,mBAAA,iCAAAd,OAAA,CAAAqD,aAAA,GAAAA,aAAA,EAAArD,OAAA,CAAA6G,KAAA,aAAArF,OAAA,EAAAC,OAAA,EAAAC,IAAA,EAAAC,WAAA,EAAA2B,WAAA,eAAAA,WAAA,KAAAA,WAAA,GAAAwD,OAAA,OAAAC,IAAA,OAAA1D,aAAA,CAAA9B,IAAA,CAAAC,OAAA,EAAAC,OAAA,EAAAC,IAAA,EAAAC,WAAA,GAAA2B,WAAA,UAAAtD,OAAA,CAAAoG,mBAAA,CAAA3E,OAAA,IAAAsF,IAAA,GAAAA,IAAA,CAAA7B,IAAA,GAAApB,IAAA,WAAAH,MAAA,WAAAA,MAAA,CAAAU,IAAA,GAAAV,MAAA,CAAAlD,KAAA,GAAAsG,IAAA,CAAA7B,IAAA,WAAAjC,qBAAA,CAAAD,EAAA,GAAA9B,MAAA,CAAA8B,EAAA,EAAAhC,iBAAA,gBAAAE,MAAA,CAAA8B,EAAA,EAAApC,cAAA,iCAAAM,MAAA,CAAA8B,EAAA,6DAAAhD,OAAA,CAAAgH,IAAA,aAAAC,GAAA,QAAAC,MAAA,GAAAhH,MAAA,CAAA+G,GAAA,GAAAD,IAAA,gBAAA3J,GAAA,IAAA6J,MAAA,EAAAF,IAAA,CAAArB,IAAA,CAAAtI,GAAA,UAAA2J,IAAA,CAAAG,OAAA,aAAAjC,KAAA,WAAA8B,IAAA,CAAAnH,MAAA,SAAAxC,GAAA,GAAA2J,IAAA,CAAAI,GAAA,QAAA/J,GAAA,IAAA6J,MAAA,SAAAhC,IAAA,CAAAzE,KAAA,GAAApD,GAAA,EAAA6H,IAAA,CAAAb,IAAA,OAAAa,IAAA,WAAAA,IAAA,CAAAb,IAAA,OAAAa,IAAA,QAAAlF,OAAA,CAAA+C,MAAA,GAAAA,MAAA,EAAAd,OAAA,CAAA9B,SAAA,KAAAoG,WAAA,EAAAtE,OAAA,EAAA6D,KAAA,WAAAA,MAAAuB,aAAA,aAAAC,IAAA,WAAApC,IAAA,WAAAT,IAAA,QAAAC,KAAA,GAAAI,SAAA,OAAAT,IAAA,YAAAC,QAAA,cAAAnB,MAAA,gBAAAd,GAAA,GAAAyC,SAAA,OAAAY,UAAA,CAAAxC,OAAA,CAAA0C,aAAA,IAAAyB,aAAA,WAAAb,IAAA,kBAAAA,IAAA,CAAAe,MAAA,OAAAnH,MAAA,CAAAmC,IAAA,OAAAiE,IAAA,MAAAP,KAAA,EAAAO,IAAA,CAAAgB,KAAA,cAAAhB,IAAA,IAAA1B,SAAA,MAAA2C,IAAA,WAAAA,KAAA,SAAApD,IAAA,WAAAqD,UAAA,QAAAhC,UAAA,IAAAG,UAAA,kBAAA6B,UAAA,CAAApF,IAAA,QAAAoF,UAAA,CAAArF,GAAA,cAAAsF,IAAA,KAAAhD,iBAAA,WAAAA,kBAAAiD,SAAA,aAAAvD,IAAA,QAAAuD,SAAA,MAAA5F,OAAA,kBAAA6F,OAAAC,GAAA,EAAAC,MAAA,WAAArE,MAAA,CAAApB,IAAA,YAAAoB,MAAA,CAAArB,GAAA,GAAAuF,SAAA,EAAA5F,OAAA,CAAAkD,IAAA,GAAA4C,GAAA,EAAAC,MAAA,KAAA/F,OAAA,CAAAmB,MAAA,WAAAnB,OAAA,CAAAK,GAAA,GAAAyC,SAAA,KAAAiD,MAAA,aAAA7B,CAAA,QAAAR,UAAA,CAAA7F,MAAA,MAAAqG,CAAA,SAAAA,CAAA,QAAAvI,KAAA,QAAA+H,UAAA,CAAAQ,CAAA,GAAAxC,MAAA,GAAA/F,KAAA,CAAAkI,UAAA,iBAAAlI,KAAA,CAAA2H,MAAA,SAAAuC,MAAA,aAAAlK,KAAA,CAAA2H,MAAA,SAAAgC,IAAA,QAAAU,QAAA,GAAA5H,MAAA,CAAAmC,IAAA,CAAA5E,KAAA,eAAAsK,UAAA,GAAA7H,MAAA,CAAAmC,IAAA,CAAA5E,KAAA,qBAAAqK,QAAA,IAAAC,UAAA,aAAAX,IAAA,GAAA3J,KAAA,CAAA4H,QAAA,SAAAsC,MAAA,CAAAlK,KAAA,CAAA4H,QAAA,gBAAA+B,IAAA,GAAA3J,KAAA,CAAA6H,UAAA,SAAAqC,MAAA,CAAAlK,KAAA,CAAA6H,UAAA,cAAAwC,QAAA,aAAAV,IAAA,GAAA3J,KAAA,CAAA4H,QAAA,SAAAsC,MAAA,CAAAlK,KAAA,CAAA4H,QAAA,qBAAA0C,UAAA,YAAA7D,KAAA,qDAAAkD,IAAA,GAAA3J,KAAA,CAAA6H,UAAA,SAAAqC,MAAA,CAAAlK,KAAA,CAAA6H,UAAA,YAAAZ,MAAA,WAAAA,OAAAtC,IAAA,EAAAD,GAAA,aAAA6D,CAAA,QAAAR,UAAA,CAAA7F,MAAA,MAAAqG,CAAA,SAAAA,CAAA,QAAAvI,KAAA,QAAA+H,UAAA,CAAAQ,CAAA,OAAAvI,KAAA,CAAA2H,MAAA,SAAAgC,IAAA,IAAAlH,MAAA,CAAAmC,IAAA,CAAA5E,KAAA,wBAAA2J,IAAA,GAAA3J,KAAA,CAAA6H,UAAA,QAAA0C,YAAA,GAAAvK,KAAA,aAAAuK,YAAA,iBAAA5F,IAAA,mBAAAA,IAAA,KAAA4F,YAAA,CAAA5C,MAAA,IAAAjD,GAAA,IAAAA,GAAA,IAAA6F,YAAA,CAAA1C,UAAA,KAAA0C,YAAA,cAAAxE,MAAA,GAAAwE,YAAA,GAAAA,YAAA,CAAArC,UAAA,cAAAnC,MAAA,CAAApB,IAAA,GAAAA,IAAA,EAAAoB,MAAA,CAAArB,GAAA,GAAAA,GAAA,EAAA6F,YAAA,SAAA/E,MAAA,gBAAA+B,IAAA,GAAAgD,YAAA,CAAA1C,UAAA,EAAAhD,gBAAA,SAAA2F,QAAA,CAAAzE,MAAA,MAAAyE,QAAA,WAAAA,SAAAzE,MAAA,EAAA+B,QAAA,oBAAA/B,MAAA,CAAApB,IAAA,QAAAoB,MAAA,CAAArB,GAAA,qBAAAqB,MAAA,CAAApB,IAAA,mBAAAoB,MAAA,CAAApB,IAAA,QAAA4C,IAAA,GAAAxB,MAAA,CAAArB,GAAA,gBAAAqB,MAAA,CAAApB,IAAA,SAAAqF,IAAA,QAAAtF,GAAA,GAAAqB,MAAA,CAAArB,GAAA,OAAAc,MAAA,kBAAA+B,IAAA,yBAAAxB,MAAA,CAAApB,IAAA,IAAAmD,QAAA,UAAAP,IAAA,GAAAO,QAAA,GAAAjD,gBAAA,KAAA4F,MAAA,WAAAA,OAAA5C,UAAA,aAAAU,CAAA,QAAAR,UAAA,CAAA7F,MAAA,MAAAqG,CAAA,SAAAA,CAAA,QAAAvI,KAAA,QAAA+H,UAAA,CAAAQ,CAAA,OAAAvI,KAAA,CAAA6H,UAAA,KAAAA,UAAA,cAAA2C,QAAA,CAAAxK,KAAA,CAAAkI,UAAA,EAAAlI,KAAA,CAAA8H,QAAA,GAAAG,aAAA,CAAAjI,KAAA,GAAA6E,gBAAA,yBAAA6F,OAAA/C,MAAA,aAAAY,CAAA,QAAAR,UAAA,CAAA7F,MAAA,MAAAqG,CAAA,SAAAA,CAAA,QAAAvI,KAAA,QAAA+H,UAAA,CAAAQ,CAAA,OAAAvI,KAAA,CAAA2H,MAAA,KAAAA,MAAA,QAAA5B,MAAA,GAAA/F,KAAA,CAAAkI,UAAA,kBAAAnC,MAAA,CAAApB,IAAA,QAAAgG,MAAA,GAAA5E,MAAA,CAAArB,GAAA,EAAAuD,aAAA,CAAAjI,KAAA,YAAA2K,MAAA,gBAAAlE,KAAA,8BAAAmE,aAAA,WAAAA,cAAAxC,QAAA,EAAAd,UAAA,EAAAE,OAAA,gBAAAb,QAAA,KAAAzD,QAAA,EAAAkC,MAAA,CAAAgD,QAAA,GAAAd,UAAA,EAAAA,UAAA,EAAAE,OAAA,EAAAA,OAAA,oBAAAhC,MAAA,UAAAd,GAAA,GAAAyC,SAAA,GAAAtC,gBAAA,OAAAxC,OAAA;AAAA,SAAAwI,mBAAAC,GAAA,EAAAjF,OAAA,EAAAC,MAAA,EAAAiF,KAAA,EAAAC,MAAA,EAAAtL,GAAA,EAAAgF,GAAA,cAAA2C,IAAA,GAAAyD,GAAA,CAAApL,GAAA,EAAAgF,GAAA,OAAA5B,KAAA,GAAAuE,IAAA,CAAAvE,KAAA,WAAAuD,KAAA,IAAAP,MAAA,CAAAO,KAAA,iBAAAgB,IAAA,CAAAX,IAAA,IAAAb,OAAA,CAAA/C,KAAA,YAAAqG,OAAA,CAAAtD,OAAA,CAAA/C,KAAA,EAAAqD,IAAA,CAAA4E,KAAA,EAAAC,MAAA;AAAA,SAAAC,kBAAAxG,EAAA,6BAAAV,IAAA,SAAAmH,IAAA,GAAAC,SAAA,aAAAhC,OAAA,WAAAtD,OAAA,EAAAC,MAAA,QAAAgF,GAAA,GAAArG,EAAA,CAAA2G,KAAA,CAAArH,IAAA,EAAAmH,IAAA,YAAAH,MAAAjI,KAAA,IAAA+H,kBAAA,CAAAC,GAAA,EAAAjF,OAAA,EAAAC,MAAA,EAAAiF,KAAA,EAAAC,MAAA,UAAAlI,KAAA,cAAAkI,OAAArH,GAAA,IAAAkH,kBAAA,CAAAC,GAAA,EAAAjF,OAAA,EAAAC,MAAA,EAAAiF,KAAA,EAAAC,MAAA,WAAArH,GAAA,KAAAoH,KAAA,CAAA5D,SAAA;AADO,SAAekE,iBAAiBA,CAAAC,EAAA;EAAA,OAAAC,kBAAA,CAAAH,KAAA,OAAAD,SAAA;AAAA;AAMtC,SAAAI,mBAAA;EAAAA,kBAAA,GAAAN,iBAAA,eAAA7I,mBAAA,GAAA0G,IAAA,CANM,SAAA0C,QAAkCC,QAAQ;IAAA,IAAAC,QAAA,EAAAC,IAAA;IAAA,OAAAvJ,mBAAA,GAAAwB,IAAA,UAAAgI,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAlC,IAAA,GAAAkC,QAAA,CAAAtE,IAAA;QAAA;UAAAsE,QAAA,CAAAtE,IAAA;UAAA,OACxBuE,KAAK,CAACL,QAAQ,CAAC;QAAA;UAAhCC,QAAQ,GAAAG,QAAA,CAAA/E,IAAA;UAAA+E,QAAA,CAAAtE,IAAA;UAAA,OACKmE,QAAQ,CAACK,IAAI,CAAC,CAAC;QAAA;UAA5BJ,IAAI,GAAAE,QAAA,CAAA/E,IAAA;UAAA,OAAA+E,QAAA,CAAA5E,MAAA,WACH;YACL9F,YAAY,EAAEwK,IAAI,CAACxK,YAAY,IAAI;UACrC,CAAC;QAAA;QAAA;UAAA,OAAA0K,QAAA,CAAA/B,IAAA;MAAA;IAAA,GAAA0B,OAAA;EAAA,CACF;EAAA,OAAAD,kBAAA,CAAAH,KAAA,OAAAD,SAAA;AAAA;;;;;;;;;;;;;;ACNM,IAAM3M,UAAU,GAAG,SAAbA,UAAUA,CAAA;EAAA,SAAAwN,IAAA,GAAAb,SAAA,CAAAjJ,MAAA,EAAO+J,OAAO,OAAAC,KAAA,CAAAF,IAAA,GAAAG,IAAA,MAAAA,IAAA,GAAAH,IAAA,EAAAG,IAAA;IAAPF,OAAO,CAAAE,IAAA,IAAAhB,SAAA,CAAAgB,IAAA;EAAA;EAAA,OAAKF,OAAO,CAAClK,MAAM,CAAC,UAAAqK,SAAS;IAAA,OAAIA,SAAS,IAAI,OAAOA,SAAS,KAAK,QAAQ;EAAA,EAAC,CAACC,IAAI,CAAC,GAAG,CAAC;AAAA;;;;;;;;;;;;;;;;ACAtE;AAE9C,IAAM3N,mBAAmB,GAAG4N,4DAAiB,CAAClI,MAAM,CAAC,KAAK,CAAC;AAC3D,IAAM3F,gBAAgB,GAAG6N,4DAAiB,CAAClI,MAAM,CAAC,EAAE,CAAC;;;;;;;;;;;;;;;;;;;;;;;;;;;;;ACHhB;AAAA,IAEvBkI,iBAAiB;EACpC,SAAAA,kBAAaE,YAAY,EAAE;IAAAC,eAAA,OAAAH,iBAAA;IACzB,IAAI,CAACI,MAAM,GAAGF,YAAY;IAC1B,IAAI,CAACG,UAAU,GAAG,EAAE;EACtB;EAACC,YAAA,CAAAN,iBAAA;IAAA5M,GAAA;IAAAoD,KAAA,EAED,SAAA+J,OAAQ/J,KAAK,EAAE;MACb,IAAI,CAAC4J,MAAM,GAAG5J,KAAK;MACnB,IAAI,CAACgK,UAAU,CAAC,CAAC;IACnB;EAAC;IAAApN,GAAA;IAAAoD,KAAA,EAED,SAAAiK,UAAWC,QAAQ,EAAE;MAAA,IAAAC,KAAA;MACnB,IAAI,CAACN,UAAU,MAAAO,MAAA,CAAAC,kBAAA,CAAO,IAAI,CAACR,UAAU,IAAEK,QAAQ,EAAC;MAChD,OAAO,YAAM;QACXC,KAAI,CAACN,UAAU,GAAGM,KAAI,CAACN,UAAU,CAAC5K,MAAM,CAAC,UAAAqL,CAAC;UAAA,OAAIA,CAAC,KAAKJ,QAAQ;QAAA,EAAC;MAC/D,CAAC;IACH;EAAC;IAAAtN,GAAA;IAAAoD,KAAA,EAED,SAAAgK,WAAA,EAAc;MAAA,IAAAO,SAAA,GAAAC,0BAAA,CACW,IAAI,CAACX,UAAU;QAAAY,KAAA;MAAA;QAAtC,KAAAF,SAAA,CAAAG,CAAA,MAAAD,KAAA,GAAAF,SAAA,CAAAI,CAAA,IAAA/G,IAAA,GAAwC;UAAA,IAA7BsG,QAAQ,GAAAO,KAAA,CAAAzK,KAAA;UACjBkK,QAAQ,CAAC,CAAC;QACZ;MAAC,SAAArJ,GAAA;QAAA0J,SAAA,CAAAK,CAAA,CAAA/J,GAAA;MAAA;QAAA0J,SAAA,CAAAM,CAAA;MAAA;IACH;EAAC;IAAAjO,GAAA;IAAAoD,KAAA,EAED,SAAA8K,YAAA,EAAe;MACb,OAAO,IAAI,CAAClB,MAAM;IACpB;EAAC;IAAAhN,GAAA;IAAAoD,KAAA,EAED,SAAAsB,OAAeoI,YAAY,EAAE;MAC3B,IAAMqB,KAAK,GAAG,IAAIvB,iBAAiB,CAACE,YAAY,CAAC;MACjD,IAAMsB,cAAc,GAAGD,KAAK,CAACd,SAAS,CAACgB,IAAI,CAACF,KAAK,CAAC;MAClD,IAAMG,gBAAgB,GAAGH,KAAK,CAACD,WAAW,CAACG,IAAI,CAACF,KAAK,CAAC;MACtD,IAAMI,WAAW,GAAGJ,KAAK,CAAChB,MAAM,CAACkB,IAAI,CAACF,KAAK,CAAC;MAE5C,OAAO;QAAA,OAAM,CACXtB,2DAAoB,CAACuB,cAAc,EAAEE,gBAAgB,CAAC,EACtDC,WAAW,CACZ;MAAA;IACH;EAAC;EAAA,OAAA3B,iBAAA;AAAA;;;;;;;;;;;ACxCH;;;;;;;;;;ACAA;;;;;;UCAA;UACA;;UAEA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;UACA;;UAEA;UACA;;UAEA;UACA;UACA;;;;;WCtBA;WACA;WACA;WACA;WACA;WACA,iCAAiC,WAAW;WAC5C;WACA;;;;;WCPA;WACA;WACA;WACA;WACA,yCAAyC,wCAAwC;WACjF;WACA;WACA;;;;;WCPA;;;;;WCAA;WACA;WACA;WACA,uDAAuD,iBAAiB;WACxE;WACA,gDAAgD,aAAa;WAC7D;;;;;;;;;;;;;;;;;;;;;+CCLA,qJAAAlK,mBAAA,YAAAA,oBAAA,WAAAC,OAAA,SAAAA,OAAA,OAAAC,EAAA,GAAAC,MAAA,CAAAC,SAAA,EAAAC,MAAA,GAAAH,EAAA,CAAAI,cAAA,EAAAC,cAAA,GAAAJ,MAAA,CAAAI,cAAA,cAAAC,GAAA,EAAAlD,GAAA,EAAAmD,IAAA,IAAAD,GAAA,CAAAlD,GAAA,IAAAmD,IAAA,CAAAC,KAAA,KAAAC,OAAA,wBAAAC,MAAA,GAAAA,MAAA,OAAAC,cAAA,GAAAF,OAAA,CAAAG,QAAA,kBAAAC,mBAAA,GAAAJ,OAAA,CAAAK,aAAA,uBAAAC,iBAAA,GAAAN,OAAA,CAAAO,WAAA,8BAAAC,OAAAX,GAAA,EAAAlD,GAAA,EAAAoD,KAAA,WAAAP,MAAA,CAAAI,cAAA,CAAAC,GAAA,EAAAlD,GAAA,IAAAoD,KAAA,EAAAA,KAAA,EAAAU,UAAA,MAAAC,YAAA,MAAAC,QAAA,SAAAd,GAAA,CAAAlD,GAAA,WAAA6D,MAAA,mBAAAI,GAAA,IAAAJ,MAAA,YAAAA,OAAAX,GAAA,EAAAlD,GAAA,EAAAoD,KAAA,WAAAF,GAAA,CAAAlD,GAAA,IAAAoD,KAAA,gBAAAc,KAAAC,OAAA,EAAAC,OAAA,EAAAC,IAAA,EAAAC,WAAA,QAAAC,cAAA,GAAAH,OAAA,IAAAA,OAAA,CAAAtB,SAAA,YAAA0B,SAAA,GAAAJ,OAAA,GAAAI,SAAA,EAAAC,SAAA,GAAA5B,MAAA,CAAA6B,MAAA,CAAAH,cAAA,CAAAzB,SAAA,GAAA6B,OAAA,OAAAC,OAAA,CAAAN,WAAA,gBAAArB,cAAA,CAAAwB,SAAA,eAAArB,KAAA,EAAAyB,gBAAA,CAAAV,OAAA,EAAAE,IAAA,EAAAM,OAAA,MAAAF,SAAA,aAAAK,SAAAC,EAAA,EAAA7B,GAAA,EAAA8B,GAAA,mBAAAC,IAAA,YAAAD,GAAA,EAAAD,EAAA,CAAAG,IAAA,CAAAhC,GAAA,EAAA8B,GAAA,cAAAf,GAAA,aAAAgB,IAAA,WAAAD,GAAA,EAAAf,GAAA,QAAAtB,OAAA,CAAAuB,IAAA,GAAAA,IAAA,MAAAiB,gBAAA,gBAAAX,UAAA,cAAAY,kBAAA,cAAAC,2BAAA,SAAAC,iBAAA,OAAAzB,MAAA,CAAAyB,iBAAA,EAAA/B,cAAA,qCAAAgC,QAAA,GAAA1C,MAAA,CAAA2C,cAAA,EAAAC,uBAAA,GAAAF,QAAA,IAAAA,QAAA,CAAAA,QAAA,CAAAG,MAAA,QAAAD,uBAAA,IAAAA,uBAAA,KAAA7C,EAAA,IAAAG,MAAA,CAAAmC,IAAA,CAAAO,uBAAA,EAAAlC,cAAA,MAAA+B,iBAAA,GAAAG,uBAAA,OAAAE,EAAA,GAAAN,0BAAA,CAAAvC,SAAA,GAAA0B,SAAA,CAAA1B,SAAA,GAAAD,MAAA,CAAA6B,MAAA,CAAAY,iBAAA,YAAAM,sBAAA9C,SAAA,gCAAA+C,OAAA,WAAAC,MAAA,IAAAjC,MAAA,CAAAf,SAAA,EAAAgD,MAAA,YAAAd,GAAA,gBAAAe,OAAA,CAAAD,MAAA,EAAAd,GAAA,sBAAAgB,cAAAvB,SAAA,EAAAwB,WAAA,aAAAC,OAAAJ,MAAA,EAAAd,GAAA,EAAAmB,OAAA,EAAAC,MAAA,QAAAC,MAAA,GAAAvB,QAAA,CAAAL,SAAA,CAAAqB,MAAA,GAAArB,SAAA,EAAAO,GAAA,mBAAAqB,MAAA,CAAApB,IAAA,QAAAqB,MAAA,GAAAD,MAAA,CAAArB,GAAA,EAAA5B,KAAA,GAAAkD,MAAA,CAAAlD,KAAA,SAAAA,KAAA,gBAAAmD,OAAA,CAAAnD,KAAA,KAAAL,MAAA,CAAAmC,IAAA,CAAA9B,KAAA,eAAA6C,WAAA,CAAAE,OAAA,CAAA/C,KAAA,CAAAoD,OAAA,EAAAC,IAAA,WAAArD,KAAA,IAAA8C,MAAA,SAAA9C,KAAA,EAAA+C,OAAA,EAAAC,MAAA,gBAAAnC,GAAA,IAAAiC,MAAA,UAAAjC,GAAA,EAAAkC,OAAA,EAAAC,MAAA,QAAAH,WAAA,CAAAE,OAAA,CAAA/C,KAAA,EAAAqD,IAAA,WAAAC,SAAA,IAAAJ,MAAA,CAAAlD,KAAA,GAAAsD,SAAA,EAAAP,OAAA,CAAAG,MAAA,gBAAAK,KAAA,WAAAT,MAAA,UAAAS,KAAA,EAAAR,OAAA,EAAAC,MAAA,SAAAA,MAAA,CAAAC,MAAA,CAAArB,GAAA,SAAA4B,eAAA,EAAA3D,cAAA,oBAAAG,KAAA,WAAAA,MAAA0C,MAAA,EAAAd,GAAA,aAAA6B,2BAAA,eAAAZ,WAAA,WAAAE,OAAA,EAAAC,MAAA,IAAAF,MAAA,CAAAJ,MAAA,EAAAd,GAAA,EAAAmB,OAAA,EAAAC,MAAA,gBAAAQ,eAAA,GAAAA,eAAA,GAAAA,eAAA,CAAAH,IAAA,CAAAI,0BAAA,EAAAA,0BAAA,IAAAA,0BAAA,qBAAAhC,iBAAAV,OAAA,EAAAE,IAAA,EAAAM,OAAA,QAAAmC,KAAA,sCAAAhB,MAAA,EAAAd,GAAA,wBAAA8B,KAAA,YAAAC,KAAA,sDAAAD,KAAA,oBAAAhB,MAAA,QAAAd,GAAA,WAAA5B,KAAA,UAAA4D,IAAA,eAAArC,OAAA,CAAAmB,MAAA,GAAAA,MAAA,EAAAnB,OAAA,CAAAK,GAAA,GAAAA,GAAA,UAAAiC,QAAA,GAAAtC,OAAA,CAAAsC,QAAA,MAAAA,QAAA,QAAAC,cAAA,GAAAC,mBAAA,CAAAF,QAAA,EAAAtC,OAAA,OAAAuC,cAAA,QAAAA,cAAA,KAAA/B,gBAAA,mBAAA+B,cAAA,qBAAAvC,OAAA,CAAAmB,MAAA,EAAAnB,OAAA,CAAAyC,IAAA,GAAAzC,OAAA,CAAA0C,KAAA,GAAA1C,OAAA,CAAAK,GAAA,sBAAAL,OAAA,CAAAmB,MAAA,6BAAAgB,KAAA,QAAAA,KAAA,gBAAAnC,OAAA,CAAAK,GAAA,EAAAL,OAAA,CAAA2C,iBAAA,CAAA3C,OAAA,CAAAK,GAAA,uBAAAL,OAAA,CAAAmB,MAAA,IAAAnB,OAAA,CAAA4C,MAAA,WAAA5C,OAAA,CAAAK,GAAA,GAAA8B,KAAA,oBAAAT,MAAA,GAAAvB,QAAA,CAAAX,OAAA,EAAAE,IAAA,EAAAM,OAAA,oBAAA0B,MAAA,CAAApB,IAAA,QAAA6B,KAAA,GAAAnC,OAAA,CAAAqC,IAAA,mCAAAX,MAAA,CAAArB,GAAA,KAAAG,gBAAA,qBAAA/B,KAAA,EAAAiD,MAAA,CAAArB,GAAA,EAAAgC,IAAA,EAAArC,OAAA,CAAAqC,IAAA,kBAAAX,MAAA,CAAApB,IAAA,KAAA6B,KAAA,gBAAAnC,OAAA,CAAAmB,MAAA,YAAAnB,OAAA,CAAAK,GAAA,GAAAqB,MAAA,CAAArB,GAAA,mBAAAmC,oBAAAF,QAAA,EAAAtC,OAAA,QAAA6C,UAAA,GAAA7C,OAAA,CAAAmB,MAAA,EAAAA,MAAA,GAAAmB,QAAA,CAAAzD,QAAA,CAAAgE,UAAA,OAAAC,SAAA,KAAA3B,MAAA,SAAAnB,OAAA,CAAAsC,QAAA,qBAAAO,UAAA,IAAAP,QAAA,CAAAzD,QAAA,eAAAmB,OAAA,CAAAmB,MAAA,aAAAnB,OAAA,CAAAK,GAAA,GAAAyC,SAAA,EAAAN,mBAAA,CAAAF,QAAA,EAAAtC,OAAA,eAAAA,OAAA,CAAAmB,MAAA,kBAAA0B,UAAA,KAAA7C,OAAA,CAAAmB,MAAA,YAAAnB,OAAA,CAAAK,GAAA,OAAA0C,SAAA,uCAAAF,UAAA,iBAAArC,gBAAA,MAAAkB,MAAA,GAAAvB,QAAA,CAAAgB,MAAA,EAAAmB,QAAA,CAAAzD,QAAA,EAAAmB,OAAA,CAAAK,GAAA,mBAAAqB,MAAA,CAAApB,IAAA,SAAAN,OAAA,CAAAmB,MAAA,YAAAnB,OAAA,CAAAK,GAAA,GAAAqB,MAAA,CAAArB,GAAA,EAAAL,OAAA,CAAAsC,QAAA,SAAA9B,gBAAA,MAAAwC,IAAA,GAAAtB,MAAA,CAAArB,GAAA,SAAA2C,IAAA,GAAAA,IAAA,CAAAX,IAAA,IAAArC,OAAA,CAAAsC,QAAA,CAAAW,UAAA,IAAAD,IAAA,CAAAvE,KAAA,EAAAuB,OAAA,CAAAkD,IAAA,GAAAZ,QAAA,CAAAa,OAAA,eAAAnD,OAAA,CAAAmB,MAAA,KAAAnB,OAAA,CAAAmB,MAAA,WAAAnB,OAAA,CAAAK,GAAA,GAAAyC,SAAA,GAAA9C,OAAA,CAAAsC,QAAA,SAAA9B,gBAAA,IAAAwC,IAAA,IAAAhD,OAAA,CAAAmB,MAAA,YAAAnB,OAAA,CAAAK,GAAA,OAAA0C,SAAA,sCAAA/C,OAAA,CAAAsC,QAAA,SAAA9B,gBAAA,cAAA4C,aAAAC,IAAA,QAAA1H,KAAA,KAAA2H,MAAA,EAAAD,IAAA,YAAAA,IAAA,KAAA1H,KAAA,CAAA4H,QAAA,GAAAF,IAAA,WAAAA,IAAA,KAAA1H,KAAA,CAAA6H,UAAA,GAAAH,IAAA,KAAA1H,KAAA,CAAA8H,QAAA,GAAAJ,IAAA,WAAAK,UAAA,CAAAC,IAAA,CAAAhI,KAAA,cAAAiI,cAAAjI,KAAA,QAAA+F,MAAA,GAAA/F,KAAA,CAAAkI,UAAA,QAAAnC,MAAA,CAAApB,IAAA,oBAAAoB,MAAA,CAAArB,GAAA,EAAA1E,KAAA,CAAAkI,UAAA,GAAAnC,MAAA,aAAAzB,QAAAN,WAAA,SAAA+D,UAAA,MAAAJ,MAAA,aAAA3D,WAAA,CAAAuB,OAAA,CAAAkC,YAAA,cAAAU,KAAA,iBAAA/C,OAAAgD,QAAA,QAAAA,QAAA,WAAAA,QAAA,QAAAC,cAAA,GAAAD,QAAA,CAAAnF,cAAA,OAAAoF,cAAA,SAAAA,cAAA,CAAAzD,IAAA,CAAAwD,QAAA,4BAAAA,QAAA,CAAAb,IAAA,SAAAa,QAAA,OAAAE,KAAA,CAAAF,QAAA,CAAAlG,MAAA,SAAAqG,CAAA,OAAAhB,IAAA,YAAAA,KAAA,aAAAgB,CAAA,GAAAH,QAAA,CAAAlG,MAAA,OAAAO,MAAA,CAAAmC,IAAA,CAAAwD,QAAA,EAAAG,CAAA,UAAAhB,IAAA,CAAAzE,KAAA,GAAAsF,QAAA,CAAAG,CAAA,GAAAhB,IAAA,CAAAb,IAAA,OAAAa,IAAA,SAAAA,IAAA,CAAAzE,KAAA,GAAAqE,SAAA,EAAAI,IAAA,CAAAb,IAAA,OAAAa,IAAA,YAAAA,IAAA,CAAAA,IAAA,GAAAA,IAAA,gBAAAH,SAAA,CAAAnB,OAAA,CAAAmC,QAAA,kCAAAtD,iBAAA,CAAAtC,SAAA,GAAAuC,0BAAA,EAAApC,cAAA,CAAA0C,EAAA,mBAAAvC,KAAA,EAAAiC,0BAAA,EAAAtB,YAAA,SAAAd,cAAA,CAAAoC,0BAAA,mBAAAjC,KAAA,EAAAgC,iBAAA,EAAArB,YAAA,SAAAqB,iBAAA,CAAA0D,WAAA,GAAAjF,MAAA,CAAAwB,0BAAA,EAAA1B,iBAAA,wBAAAhB,OAAA,CAAAoG,mBAAA,aAAAC,MAAA,QAAAC,IAAA,wBAAAD,MAAA,IAAAA,MAAA,CAAAE,WAAA,WAAAD,IAAA,KAAAA,IAAA,KAAA7D,iBAAA,6BAAA6D,IAAA,CAAAH,WAAA,IAAAG,IAAA,CAAAE,IAAA,OAAAxG,OAAA,CAAAyG,IAAA,aAAAJ,MAAA,WAAAnG,MAAA,CAAAwG,cAAA,GAAAxG,MAAA,CAAAwG,cAAA,CAAAL,MAAA,EAAA3D,0BAAA,KAAA2D,MAAA,CAAAM,SAAA,GAAAjE,0BAAA,EAAAxB,MAAA,CAAAmF,MAAA,EAAArF,iBAAA,yBAAAqF,MAAA,CAAAlG,SAAA,GAAAD,MAAA,CAAA6B,MAAA,CAAAiB,EAAA,GAAAqD,MAAA,KAAArG,OAAA,CAAA4G,KAAA,aAAAvE,GAAA,aAAAwB,OAAA,EAAAxB,GAAA,OAAAY,qBAAA,CAAAI,aAAA,CAAAlD,SAAA,GAAAe,MAAA,CAAAmC,aAAA,CAAAlD,SAAA,EAAAW,mBAAA,iCAAAd,OAAA,CAAAqD,aAAA,GAAAA,aAAA,EAAArD,OAAA,CAAA6G,KAAA,aAAArF,OAAA,EAAAC,OAAA,EAAAC,IAAA,EAAAC,WAAA,EAAA2B,WAAA,eAAAA,WAAA,KAAAA,WAAA,GAAAwD,OAAA,OAAAC,IAAA,OAAA1D,aAAA,CAAA9B,IAAA,CAAAC,OAAA,EAAAC,OAAA,EAAAC,IAAA,EAAAC,WAAA,GAAA2B,WAAA,UAAAtD,OAAA,CAAAoG,mBAAA,CAAA3E,OAAA,IAAAsF,IAAA,GAAAA,IAAA,CAAA7B,IAAA,GAAApB,IAAA,WAAAH,MAAA,WAAAA,MAAA,CAAAU,IAAA,GAAAV,MAAA,CAAAlD,KAAA,GAAAsG,IAAA,CAAA7B,IAAA,WAAAjC,qBAAA,CAAAD,EAAA,GAAA9B,MAAA,CAAA8B,EAAA,EAAAhC,iBAAA,gBAAAE,MAAA,CAAA8B,EAAA,EAAApC,cAAA,iCAAAM,MAAA,CAAA8B,EAAA,6DAAAhD,OAAA,CAAAgH,IAAA,aAAAC,GAAA,QAAAC,MAAA,GAAAhH,MAAA,CAAA+G,GAAA,GAAAD,IAAA,gBAAA3J,GAAA,IAAA6J,MAAA,EAAAF,IAAA,CAAArB,IAAA,CAAAtI,GAAA,UAAA2J,IAAA,CAAAG,OAAA,aAAAjC,KAAA,WAAA8B,IAAA,CAAAnH,MAAA,SAAAxC,GAAA,GAAA2J,IAAA,CAAAI,GAAA,QAAA/J,GAAA,IAAA6J,MAAA,SAAAhC,IAAA,CAAAzE,KAAA,GAAApD,GAAA,EAAA6H,IAAA,CAAAb,IAAA,OAAAa,IAAA,WAAAA,IAAA,CAAAb,IAAA,OAAAa,IAAA,QAAAlF,OAAA,CAAA+C,MAAA,GAAAA,MAAA,EAAAd,OAAA,CAAA9B,SAAA,KAAAoG,WAAA,EAAAtE,OAAA,EAAA6D,KAAA,WAAAA,MAAAuB,aAAA,aAAAC,IAAA,WAAApC,IAAA,WAAAT,IAAA,QAAAC,KAAA,GAAAI,SAAA,OAAAT,IAAA,YAAAC,QAAA,cAAAnB,MAAA,gBAAAd,GAAA,GAAAyC,SAAA,OAAAY,UAAA,CAAAxC,OAAA,CAAA0C,aAAA,IAAAyB,aAAA,WAAAb,IAAA,kBAAAA,IAAA,CAAAe,MAAA,OAAAnH,MAAA,CAAAmC,IAAA,OAAAiE,IAAA,MAAAP,KAAA,EAAAO,IAAA,CAAAgB,KAAA,cAAAhB,IAAA,IAAA1B,SAAA,MAAA2C,IAAA,WAAAA,KAAA,SAAApD,IAAA,WAAAqD,UAAA,QAAAhC,UAAA,IAAAG,UAAA,kBAAA6B,UAAA,CAAApF,IAAA,QAAAoF,UAAA,CAAArF,GAAA,cAAAsF,IAAA,KAAAhD,iBAAA,WAAAA,kBAAAiD,SAAA,aAAAvD,IAAA,QAAAuD,SAAA,MAAA5F,OAAA,kBAAA6F,OAAAC,GAAA,EAAAC,MAAA,WAAArE,MAAA,CAAApB,IAAA,YAAAoB,MAAA,CAAArB,GAAA,GAAAuF,SAAA,EAAA5F,OAAA,CAAAkD,IAAA,GAAA4C,GAAA,EAAAC,MAAA,KAAA/F,OAAA,CAAAmB,MAAA,WAAAnB,OAAA,CAAAK,GAAA,GAAAyC,SAAA,KAAAiD,MAAA,aAAA7B,CAAA,QAAAR,UAAA,CAAA7F,MAAA,MAAAqG,CAAA,SAAAA,CAAA,QAAAvI,KAAA,QAAA+H,UAAA,CAAAQ,CAAA,GAAAxC,MAAA,GAAA/F,KAAA,CAAAkI,UAAA,iBAAAlI,KAAA,CAAA2H,MAAA,SAAAuC,MAAA,aAAAlK,KAAA,CAAA2H,MAAA,SAAAgC,IAAA,QAAAU,QAAA,GAAA5H,MAAA,CAAAmC,IAAA,CAAA5E,KAAA,eAAAsK,UAAA,GAAA7H,MAAA,CAAAmC,IAAA,CAAA5E,KAAA,qBAAAqK,QAAA,IAAAC,UAAA,aAAAX,IAAA,GAAA3J,KAAA,CAAA4H,QAAA,SAAAsC,MAAA,CAAAlK,KAAA,CAAA4H,QAAA,gBAAA+B,IAAA,GAAA3J,KAAA,CAAA6H,UAAA,SAAAqC,MAAA,CAAAlK,KAAA,CAAA6H,UAAA,cAAAwC,QAAA,aAAAV,IAAA,GAAA3J,KAAA,CAAA4H,QAAA,SAAAsC,MAAA,CAAAlK,KAAA,CAAA4H,QAAA,qBAAA0C,UAAA,YAAA7D,KAAA,qDAAAkD,IAAA,GAAA3J,KAAA,CAAA6H,UAAA,SAAAqC,MAAA,CAAAlK,KAAA,CAAA6H,UAAA,YAAAZ,MAAA,WAAAA,OAAAtC,IAAA,EAAAD,GAAA,aAAA6D,CAAA,QAAAR,UAAA,CAAA7F,MAAA,MAAAqG,CAAA,SAAAA,CAAA,QAAAvI,KAAA,QAAA+H,UAAA,CAAAQ,CAAA,OAAAvI,KAAA,CAAA2H,MAAA,SAAAgC,IAAA,IAAAlH,MAAA,CAAAmC,IAAA,CAAA5E,KAAA,wBAAA2J,IAAA,GAAA3J,KAAA,CAAA6H,UAAA,QAAA0C,YAAA,GAAAvK,KAAA,aAAAuK,YAAA,iBAAA5F,IAAA,mBAAAA,IAAA,KAAA4F,YAAA,CAAA5C,MAAA,IAAAjD,GAAA,IAAAA,GAAA,IAAA6F,YAAA,CAAA1C,UAAA,KAAA0C,YAAA,cAAAxE,MAAA,GAAAwE,YAAA,GAAAA,YAAA,CAAArC,UAAA,cAAAnC,MAAA,CAAApB,IAAA,GAAAA,IAAA,EAAAoB,MAAA,CAAArB,GAAA,GAAAA,GAAA,EAAA6F,YAAA,SAAA/E,MAAA,gBAAA+B,IAAA,GAAAgD,YAAA,CAAA1C,UAAA,EAAAhD,gBAAA,SAAA2F,QAAA,CAAAzE,MAAA,MAAAyE,QAAA,WAAAA,SAAAzE,MAAA,EAAA+B,QAAA,oBAAA/B,MAAA,CAAApB,IAAA,QAAAoB,MAAA,CAAArB,GAAA,qBAAAqB,MAAA,CAAApB,IAAA,mBAAAoB,MAAA,CAAApB,IAAA,QAAA4C,IAAA,GAAAxB,MAAA,CAAArB,GAAA,gBAAAqB,MAAA,CAAApB,IAAA,SAAAqF,IAAA,QAAAtF,GAAA,GAAAqB,MAAA,CAAArB,GAAA,OAAAc,MAAA,kBAAA+B,IAAA,yBAAAxB,MAAA,CAAApB,IAAA,IAAAmD,QAAA,UAAAP,IAAA,GAAAO,QAAA,GAAAjD,gBAAA,KAAA4F,MAAA,WAAAA,OAAA5C,UAAA,aAAAU,CAAA,QAAAR,UAAA,CAAA7F,MAAA,MAAAqG,CAAA,SAAAA,CAAA,QAAAvI,KAAA,QAAA+H,UAAA,CAAAQ,CAAA,OAAAvI,KAAA,CAAA6H,UAAA,KAAAA,UAAA,cAAA2C,QAAA,CAAAxK,KAAA,CAAAkI,UAAA,EAAAlI,KAAA,CAAA8H,QAAA,GAAAG,aAAA,CAAAjI,KAAA,GAAA6E,gBAAA,yBAAA6F,OAAA/C,MAAA,aAAAY,CAAA,QAAAR,UAAA,CAAA7F,MAAA,MAAAqG,CAAA,SAAAA,CAAA,QAAAvI,KAAA,QAAA+H,UAAA,CAAAQ,CAAA,OAAAvI,KAAA,CAAA2H,MAAA,KAAAA,MAAA,QAAA5B,MAAA,GAAA/F,KAAA,CAAAkI,UAAA,kBAAAnC,MAAA,CAAApB,IAAA,QAAAgG,MAAA,GAAA5E,MAAA,CAAArB,GAAA,EAAAuD,aAAA,CAAAjI,KAAA,YAAA2K,MAAA,gBAAAlE,KAAA,8BAAAmE,aAAA,WAAAA,cAAAxC,QAAA,EAAAd,UAAA,EAAAE,OAAA,gBAAAb,QAAA,KAAAzD,QAAA,EAAAkC,MAAA,CAAAgD,QAAA,GAAAd,UAAA,EAAAA,UAAA,EAAAE,OAAA,EAAAA,OAAA,oBAAAhC,MAAA,UAAAd,GAAA,GAAAyC,SAAA,GAAAtC,gBAAA,OAAAxC,OAAA;AAAA,SAAAwI,mBAAAC,GAAA,EAAAjF,OAAA,EAAAC,MAAA,EAAAiF,KAAA,EAAAC,MAAA,EAAAtL,GAAA,EAAAgF,GAAA,cAAA2C,IAAA,GAAAyD,GAAA,CAAApL,GAAA,EAAAgF,GAAA,OAAA5B,KAAA,GAAAuE,IAAA,CAAAvE,KAAA,WAAAuD,KAAA,IAAAP,MAAA,CAAAO,KAAA,iBAAAgB,IAAA,CAAAX,IAAA,IAAAb,OAAA,CAAA/C,KAAA,YAAAqG,OAAA,CAAAtD,OAAA,CAAA/C,KAAA,EAAAqD,IAAA,CAAA4E,KAAA,EAAAC,MAAA;AAAA,SAAAC,kBAAAxG,EAAA,6BAAAV,IAAA,SAAAmH,IAAA,GAAAC,SAAA,aAAAhC,OAAA,WAAAtD,OAAA,EAAAC,MAAA,QAAAgF,GAAA,GAAArG,EAAA,CAAA2G,KAAA,CAAArH,IAAA,EAAAmH,IAAA,YAAAH,MAAAjI,KAAA,IAAA+H,kBAAA,CAAAC,GAAA,EAAAjF,OAAA,EAAAC,MAAA,EAAAiF,KAAA,EAAAC,MAAA,UAAAlI,KAAA,cAAAkI,OAAArH,GAAA,IAAAkH,kBAAA,CAAAC,GAAA,EAAAjF,OAAA,EAAAC,MAAA,EAAAiF,KAAA,EAAAC,MAAA,WAAArH,GAAA,KAAAoH,KAAA,CAAA5D,SAAA;AADyB;AACoB;AAC4B;AACb;AAErD,SAAeiH,IAAIA,CAAA9C,EAAA,EAAA+C,GAAA;EAAA,OAAAC,KAAA,CAAAlD,KAAA,OAAAD,SAAA;AAAA;AAUzB,SAAAmD,MAAA;EAAAA,KAAA,GAAArD,iBAAA,eAAA7I,mBAAA,GAAA0G,IAAA,CAVM,SAAA0C,QAAqB+C,SAAS,EAAEC,OAAO;IAAA,IAAAC,IAAA,EAAAtN,YAAA,EAAA6E,MAAA;IAAA,OAAA5D,mBAAA,GAAAwB,IAAA,UAAAgI,SAAAC,QAAA;MAAA,kBAAAA,QAAA,CAAAlC,IAAA,GAAAkC,QAAA,CAAAtE,IAAA;QAAA;UACtCkH,IAAI,GAAGN,4DAAU,CAACI,SAAS,CAAC;UAAA1C,QAAA,CAAAlC,IAAA;UAAAkC,QAAA,CAAAtE,IAAA;UAAA,OAGX8D,0EAAiB,CAACmD,OAAO,CAACE,oBAAoB,CAAC;QAAA;UAA9D1I,MAAM,GAAA6F,QAAA,CAAA/E,IAAA;UACZ3F,YAAY,GAAG6E,MAAM,CAAC7E,YAAY;UAAA0K,QAAA,CAAAtE,IAAA;UAAA;QAAA;UAAAsE,QAAA,CAAAlC,IAAA;UAAAkC,QAAA,CAAA8C,EAAA,GAAA9C,QAAA;UAElC1K,YAAY,GAAG,aAAa;QAAA;UAE9BsN,IAAI,CAACG,MAAM,eAACxQ,0DAAA,CAACO,mFAAY;YAACwC,YAAY,EAAEA;UAAa,CAAE,CAAC,CAAC;QAAA;QAAA;UAAA,OAAA0K,QAAA,CAAA/B,IAAA;MAAA;IAAA,GAAA0B,OAAA;EAAA,CAC1D;EAAA,OAAA8C,KAAA,CAAAlD,KAAA,OAAAD,SAAA;AAAA,C","sources":["webpack://@defra/flood-webchat/./src/client/components/availability/availability.jsx","webpack://@defra/flood-webchat/./src/client/lib/check-availability.js","webpack://@defra/flood-webchat/./src/client/lib/classnames.js","webpack://@defra/flood-webchat/./src/client/lib/external-stores.js","webpack://@defra/flood-webchat/./src/client/lib/external-sync-store.js","webpack://@defra/flood-webchat/external commonjs \"react\"","webpack://@defra/flood-webchat/external commonjs \"react-dom/client\"","webpack://@defra/flood-webchat/webpack/bootstrap","webpack://@defra/flood-webchat/webpack/runtime/compat get default export","webpack://@defra/flood-webchat/webpack/runtime/define property getters","webpack://@defra/flood-webchat/webpack/runtime/hasOwnProperty shorthand","webpack://@defra/flood-webchat/webpack/runtime/make namespace object","webpack://@defra/flood-webchat/./src/client/index.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react'\nimport { classnames } from '../../lib/classnames'\nimport { useMessageThread, useWebchatOpenState } from '../../lib/external-stores'\n\nexport function Availability (props) {\n const [isOpen, setOpen] = useWebchatOpenState()\n const [isFixed, setFixed] = useState(false)\n const buttonRef = useRef()\n const onClick = () => {\n setOpen(!isOpen)\n }\n const onKeyDown = event => {\n if (event.key === ' ') {\n event.preventDefault()\n }\n }\n const onKeyUp = event => {\n if (event.key === ' ') {\n setOpen(!isOpen)\n }\n }\n\n const intersectionCallback = entries => {\n const [entry] = entries\n const isBelowFold = !entry.isIntersecting && entry.boundingClientRect.top > 0\n setFixed(!isOpen && isBelowFold)\n }\n\n useEffect(() => {\n const observer = new window.IntersectionObserver(intersectionCallback, {\n rootMargin: '35px'\n })\n const parentElement = buttonRef.current?.parentElement\n if (parentElement) {\n observer.observe(parentElement)\n }\n return () => {\n if (parentElement) {\n observer.unobserve(parentElement)\n }\n }\n }, [buttonRef, isOpen])\n\n useEffect(() => {\n document.documentElement.classList.toggle('wc-scroll-padding', isFixed)\n document.body.classList.toggle('wc-scroll-padding', isFixed)\n }, [isFixed])\n\n switch (props.availability) {\n case 'AVAILABLE':\n return (\n <div\n className={classnames('wc-availability', isFixed && 'wc-availability--fixed')}\n ref={buttonRef}\n >\n <div className='wc-availability__inner'>\n <a\n className='wc-availability__link'\n href='#webchat' role='button' draggable='false'\n onClick={onClick}\n onKeyUp={onKeyUp}\n onKeyDown={onKeyDown}\n >\n <AvailabilityContent />\n </a>\n </div>\n </div>\n )\n case 'EXISTING':\n case 'UNAVAILABLE':\n return (\n <p className='govuk-body'>When it is available, a 'start chat' link will appear.</p>\n )\n default:\n return (\n <p className='govuk-body'>Checking availability</p>\n )\n }\n}\n\nfunction AvailabilityContent () {\n const [thread] = useMessageThread()\n const unreadMessageCount = thread.filter(message => !message.read).length\n if (!thread.length) {\n return (\n <>\n Start Chat\n </>\n )\n }\n return (\n <>\n Show Chat {!!unreadMessageCount && (\n <>\n <span className='wc-availability__unseen'>{unreadMessageCount}</span>\n <span className='govuk-visually-hidden'> {unreadMessageCount === 1 ? 'new message' : 'new messages'}</span>\n </>\n )}\n </>\n )\n}\n","export async function checkAvailability (endpoint) {\n const response = await fetch(endpoint)\n const data = await response.json()\n return {\n availability: data.availability || 'UNAVAILABLE'\n }\n}\n","export const classnames = (...classes) => classes.filter(classname => classname && typeof classname === 'string').join(' ')\n","import ExternalSyncStore from './external-sync-store'\n\nexport const useWebchatOpenState = ExternalSyncStore.create(false)\nexport const useMessageThread = ExternalSyncStore.create([])\n","import { useSyncExternalStore } from 'react'\n\nexport default class ExternalSyncStore {\n constructor (initialValue) {\n this._value = initialValue\n this._listeners = []\n }\n\n update (value) {\n this._value = value\n this.emitChange()\n }\n\n subscribe (listener) {\n this._listeners = [...this._listeners, listener]\n return () => {\n this._listeners = this._listeners.filter(l => l !== listener)\n }\n }\n\n emitChange () {\n for (const listener of this._listeners) {\n listener()\n }\n }\n\n getSnapshot () {\n return this._value\n }\n\n static create (initialValue) {\n const store = new ExternalSyncStore(initialValue)\n const boundSubscribe = store.subscribe.bind(store)\n const boundGetSnapshot = store.getSnapshot.bind(store)\n const boundUpdate = store.update.bind(store)\n\n return () => [\n useSyncExternalStore(boundSubscribe, boundGetSnapshot),\n boundUpdate\n ]\n }\n}\n","module.exports = require(\"react\");","module.exports = require(\"react-dom/client\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import React from 'react'\nimport { createRoot } from 'react-dom/client'\nimport { Availability } from './components/availability/availability.jsx'\nimport { checkAvailability } from './lib/check-availability'\n\nexport async function init (container, options) {\n const root = createRoot(container)\n let availability\n try {\n const result = await checkAvailability(options.availabilityEndpoint)\n availability = result.availability\n } catch (e) {\n availability = 'UNAVAILABLE'\n }\n root.render(<Availability availability={availability} />)\n}\n"],"names":["React","useEffect","useRef","useState","classnames","useMessageThread","useWebchatOpenState","Availability","props","_useWebchatOpenState","_useWebchatOpenState2","_slicedToArray","isOpen","setOpen","_useState","_useState2","isFixed","setFixed","buttonRef","onClick","onKeyDown","event","key","preventDefault","onKeyUp","intersectionCallback","entries","_entries","entry","isBelowFold","isIntersecting","boundingClientRect","top","_buttonRef$current","observer","window","IntersectionObserver","rootMargin","parentElement","current","observe","unobserve","document","documentElement","classList","toggle","body","availability","createElement","className","ref","href","role","draggable","AvailabilityContent","_useMessageThread","_useMessageThread2","thread","unreadMessageCount","filter","message","read","length","Fragment","_regeneratorRuntime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","defineProperty","obj","desc","value","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","call","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","_typeof","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","Error","done","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","undefined","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","i","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","_catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","arguments","apply","checkAvailability","_x","_checkAvailability","_callee","endpoint","response","data","_callee$","_context","fetch","json","_len","classes","Array","_key","classname","join","ExternalSyncStore","useSyncExternalStore","initialValue","_classCallCheck","_value","_listeners","_createClass","update","emitChange","subscribe","listener","_this","concat","_toConsumableArray","l","_iterator","_createForOfIteratorHelper","_step","s","n","e","f","getSnapshot","store","boundSubscribe","bind","boundGetSnapshot","boundUpdate","default","createRoot","init","_x2","_init","container","options","root","availabilityEndpoint","t0","render"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"client.js","mappings":"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","sources":["webpack://@defra/flood-webchat/./src/client/components/availability/availability.jsx","webpack://@defra/flood-webchat/./src/client/components/panel/panel-header.jsx","webpack://@defra/flood-webchat/./src/client/components/panel/panel.jsx","webpack://@defra/flood-webchat/./src/client/components/screens/pre-chat.jsx","webpack://@defra/flood-webchat/./src/client/components/screens/request-chat.jsx","webpack://@defra/flood-webchat/./src/client/lib/check-availability.js","webpack://@defra/flood-webchat/./src/client/lib/classnames.js","webpack://@defra/flood-webchat/./src/client/lib/external-stores.js","webpack://@defra/flood-webchat/./src/client/lib/external-sync-store.js","webpack://@defra/flood-webchat/external commonjs \"react\"","webpack://@defra/flood-webchat/external commonjs \"react-dom\"","webpack://@defra/flood-webchat/external commonjs \"react-dom/client\"","webpack://@defra/flood-webchat/webpack/bootstrap","webpack://@defra/flood-webchat/webpack/runtime/compat get default export","webpack://@defra/flood-webchat/webpack/runtime/define property getters","webpack://@defra/flood-webchat/webpack/runtime/hasOwnProperty shorthand","webpack://@defra/flood-webchat/webpack/runtime/make namespace object","webpack://@defra/flood-webchat/./src/client/index.jsx"],"sourcesContent":["import React, { useEffect, useRef, useState } from 'react'\nimport { classnames } from '../../lib/classnames'\nimport { useMessageThread, useWebchatOpenState } from '../../lib/external-stores'\nimport { Panel } from '../panel/panel.jsx'\n\nexport function Availability (props) {\n const [isOpen, setOpen] = useWebchatOpenState()\n const [isFixed, setFixed] = useState(false)\n const buttonRef = useRef()\n const onClick = () => {\n setOpen(!isOpen)\n }\n const onKeyDown = event => {\n if (event.key === ' ') {\n event.preventDefault()\n }\n }\n const onKeyUp = event => {\n if (event.key === ' ') {\n setOpen(!isOpen)\n }\n }\n\n const intersectionCallback = entries => {\n const [entry] = entries\n const isBelowFold = !entry.isIntersecting && entry.boundingClientRect.top > 0\n setFixed(!isOpen && isBelowFold)\n }\n\n useEffect(() => {\n const observer = new window.IntersectionObserver(intersectionCallback, {\n rootMargin: '35px'\n })\n const parentElement = buttonRef.current?.parentElement\n if (parentElement) {\n observer.observe(parentElement)\n }\n return () => {\n if (parentElement) {\n observer.unobserve(parentElement)\n }\n }\n }, [buttonRef, isOpen])\n\n useEffect(() => {\n document.documentElement.classList.toggle('wc-scroll-padding', isFixed)\n document.body.classList.toggle('wc-scroll-padding', isFixed)\n }, [isFixed])\n\n switch (props.availability) {\n case 'AVAILABLE':\n return (\n <>\n <div\n className={classnames('wc-availability', isFixed && 'wc-availability--fixed')}\n ref={buttonRef}\n >\n <div className='wc-availability__inner'>\n <a\n className='wc-availability__link'\n href='#webchat' role='button' draggable='false'\n onClick={onClick}\n onKeyUp={onKeyUp}\n onKeyDown={onKeyDown}\n >\n <AvailabilityContent />\n </a>\n </div>\n </div>\n {isOpen && <Panel screenNumber={0} onClose={onClick} />}\n </>\n )\n case 'EXISTING':\n case 'UNAVAILABLE':\n return (\n <p className='govuk-body'>When it is available, a 'start chat' link will appear.</p>\n )\n default:\n return (\n <p className='govuk-body'>Checking availability</p>\n )\n }\n}\n\nfunction AvailabilityContent () {\n const [thread] = useMessageThread()\n const unreadMessageCount = thread.filter(message => !message.read).length\n if (!thread.length) {\n return (\n <>\n Start Chat\n </>\n )\n }\n return (\n <>\n Show Chat {!!unreadMessageCount && (\n <>\n <span className='wc-availability__unseen'>{unreadMessageCount}</span>\n <span className='govuk-visually-hidden'> {unreadMessageCount === 1 ? 'new message' : 'new messages'}</span>\n </>\n )}\n </>\n )\n}\n","import React from 'react'\n\nexport function PanelHeader ({ screen, isConnected, onBack, onClose }) {\n let ButtonComponent = (\n <button className='wc-header__close' aria-label='Close the webchat' onClick={onClose}>\n <svg aria-hidden='true' focusable='false' width='20' height='20' viewBox='0 0 20 20'>\n <path d='M10,8.6L15.6,3L17,4.4L11.4,10L17,15.6L15.6,17L10,11.4L4.4,17L3,15.6L8.6,10L3,4.4L4.4,3L10,8.6Z' fill='currentColor' />\n </svg>\n </button>\n )\n\n if (isConnected) {\n ButtonComponent = (\n <button className='wc-hide-btn' aria-label='Minimise the webchat' data-wc-hide-btn>\n <svg aria-hidden='true' focusable='false' width='20' height='20' viewBox='0 0 20 20'>\n <path d='M10 14.4l-7-7L4.4 6l5.6 5.6L15.6 6 17 7.4l-7 7z' fill='currentColor' />\n </svg>\n </button>\n )\n }\n\n const BackButtonComponent = !isConnected && screen !== 0 ? <a href='#' className='wc-header__link govuk-back-link govuk-back-link--inverse' onClick={onBack}>Back</a> : null\n\n return (\n <div className='wc-header'>\n {BackButtonComponent}\n\n <h2 id='wc-header-title' className='wc-header__title govuk-heading-s'>\n Floodline Webchat\n </h2>\n\n {ButtonComponent}\n </div>\n )\n}\n","import React, { useEffect, useState, useCallback } from 'react'\nimport { createPortal } from 'react-dom'\n\nimport { PanelHeader } from './panel-header.jsx'\nimport { PreChat } from '../screens/pre-chat.jsx'\nimport { RequestChat } from '../screens/request-chat.jsx'\n\nexport const setAriaHidden = (bool) => {\n for (const node of document.body.children) {\n if (node.id !== 'wc-panel') {\n (bool) ? node.setAttribute('aria-hidden', 'true') : node.removeAttribute('aria-hidden')\n }\n }\n}\n\nexport const getFocusableElements = () => {\n const selectors = [\n '#wc-panel a:not([disabled])',\n '#wc-panel button:not([disabled])',\n '#wc-panel select:not([disabled])',\n '#wc-panel input:not([disabled])',\n '#wc-panel textarea:not([disabled])',\n '#wc-panel *[tabindex=\"0\"]:not([disabled])'\n ]\n\n const elements = document.body.querySelectorAll(selectors.join(','))\n return Array.from(elements).filter(e => !e.closest('[hidden]') && !e.closest('[aria-hidden=\"true\"]'))\n}\n\nexport function Panel ({ screenNumber, onClose }) {\n const [screen, setScreen] = useState(screenNumber)\n const [panelElements, setPanelElements] = useState([])\n\n const onKeyDown = useCallback((e) => {\n if (e.key === 'Escape' || e.key === 'Esc') return onClose()\n\n if (e.key === 'Tab') {\n const webchatPanelElement = document.querySelector('#wc-panel')\n\n if (webchatPanelElement && !document.activeElement.closest('#wc-panel')) {\n webchatPanelElement.focus()\n }\n\n if (e.shiftKey) {\n if (document.activeElement === panelElements[0]) {\n panelElements[panelElements.length - 1].focus()\n e.preventDefault()\n } else if (document.activeElement === document.querySelector('#wc-panel')) {\n panelElements[panelElements.length - 1]?.focus()\n e.preventDefault()\n }\n } else if (document.activeElement === panelElements[panelElements.length - 1]) {\n panelElements[0].focus()\n e.preventDefault()\n }\n }\n }, [panelElements])\n\n useEffect(() => {\n setPanelElements(getFocusableElements())\n }, [screen])\n\n useEffect(() => {\n setAriaHidden(true)\n document.querySelector('#wc-panel').focus()\n document.addEventListener('keydown', onKeyDown)\n\n return () => {\n setAriaHidden()\n document.body.querySelector('.wc-availability__link')?.focus()\n document.removeEventListener('keydown', onKeyDown)\n }\n }, [panelElements])\n\n const onBack = (e) => {\n e.preventDefault()\n setScreen(screen - 1)\n }\n\n let ScreenComponent\n\n switch (screen) {\n case 0:\n ScreenComponent = <PreChat screen={screen} setScreen={setScreen} />\n break\n case 1:\n ScreenComponent = <RequestChat onBack={onBack} />\n break\n default:\n ScreenComponent = <PreChat screen={screen} setScreen={setScreen} />\n }\n\n const Component = (\n <div id='wc-panel' className='wc-panel' role='dialog' tabIndex='-1' aria-modal='true' aria-labelledby='wc-header-title'>\n <PanelHeader screen={screen} isConnected={false} onBack={onBack} onClose={onClose} />\n\n <div className='wc-body'>\n <div className='wc-content govuk-body-s'>\n {ScreenComponent}\n </div>\n </div>\n </div>\n )\n\n return createPortal(Component, document.body)\n}\n","import React from 'react'\n\nexport function PreChat ({ screen, setScreen }) {\n const onContinue = (e) => {\n e.preventDefault()\n setScreen(screen + 1)\n }\n\n return (\n <>\n <h3 className='govuk-heading-s'>What you can use webchat for</h3>\n <p className='govuk-body-s'>Webchat lets you talk directly to a Floodline adviser.</p>\n\n <p className='govuk-body-s'>You can use webchat to get:</p>\n <ul className='govuk-list govuk-list--bullet govuk-body-s'>\n <li>current flood warnings and alerts in your area</li>\n <li>information on the flood warning service</li>\n <li>advice on what to do before, during and after a flood</li>\n </ul>\n\n <p className='govuk-body-s'>There are other ways to <a className='govuk-link' href='https://www.gov.uk/sign-up-for-flood-warnings'>sign up for flood warnings</a> and <a className='govuk-link' href='https://defragroup.eu.qualtrics.com/jfe/form/SV_8uMAuaH3kbJl965?Source=https://check-for-flooding.service.gov.uk'>manage your flood warnings account</a>.</p>\n <p className='govuk-body-s'>Do not use webchat to <a className='govuk-link' href='https://www.gov.uk/report-flood-cause'>report a flood</a>.</p>\n\n <button className='govuk-button' data-module='govuk-button' onClick={onContinue}>Continue</button>\n\n <h3 className='govuk-heading-s'>Other flood information</h3>\n\n <p className='govuk-body-s'>Call Floodline for all other flood and flood warning information.</p>\n <p className='govuk-body-s'>\n <strong>Floodline helpline</strong>\n <br />\n Telephone: 0345 988 1188\n <br />\n Textphone: 0345 602 6340\n <br />\n Open 24 hours a day, 7 days a week\n <br />\n <a className='govuk-link' href='https://gov.uk/call-charges'>Find out more about call charges</a>\n </p>\n </>\n )\n}\n","import React from 'react'\n\nexport function RequestChat ({ onBack }) {\n return (\n <>\n <a href='#' className='wc-back-link govuk-back-link' onClick={onBack}>What you can use webchat for</a>\n <h3 className='govuk-heading-s'>Your name and question</h3>\n </>\n )\n}\n","export async function checkAvailability (endpoint) {\n const response = await fetch(endpoint)\n const data = await response.json()\n return {\n availability: data.availability || 'UNAVAILABLE'\n }\n}\n","export const classnames = (...classes) => classes.filter(classname => classname && typeof classname === 'string').join(' ')\n","import ExternalSyncStore from './external-sync-store'\n\nexport const useWebchatOpenState = ExternalSyncStore.create(false)\nexport const useMessageThread = ExternalSyncStore.create([])\n","import { useSyncExternalStore } from 'react'\n\nexport default class ExternalSyncStore {\n constructor (initialValue) {\n this._value = initialValue\n this._listeners = []\n }\n\n update (value) {\n this._value = value\n this.emitChange()\n }\n\n subscribe (listener) {\n this._listeners = [...this._listeners, listener]\n return () => {\n this._listeners = this._listeners.filter(l => l !== listener)\n }\n }\n\n emitChange () {\n for (const listener of this._listeners) {\n listener()\n }\n }\n\n getSnapshot () {\n return this._value\n }\n\n static create (initialValue) {\n const store = new ExternalSyncStore(initialValue)\n const boundSubscribe = store.subscribe.bind(store)\n const boundGetSnapshot = store.getSnapshot.bind(store)\n const boundUpdate = store.update.bind(store)\n\n return () => [\n useSyncExternalStore(boundSubscribe, boundGetSnapshot),\n boundUpdate\n ]\n }\n}\n","module.exports = require(\"react\");","module.exports = require(\"react-dom\");","module.exports = require(\"react-dom/client\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// getDefaultExport function for compatibility with non-harmony modules\n__webpack_require__.n = (module) => {\n\tvar getter = module && module.__esModule ?\n\t\t() => (module['default']) :\n\t\t() => (module);\n\t__webpack_require__.d(getter, { a: getter });\n\treturn getter;\n};","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","import React from 'react'\nimport { createRoot } from 'react-dom/client'\nimport { Availability } from './components/availability/availability.jsx'\nimport { checkAvailability } from './lib/check-availability'\n\nexport async function init (container, options) {\n const root = createRoot(container)\n let availability\n try {\n const result = await checkAvailability(options.availabilityEndpoint)\n availability = result.availability\n } catch (e) {\n availability = 'UNAVAILABLE'\n }\n root.render(<Availability availability={availability} />)\n}\n"],"names":["React","useEffect","useRef","useState","classnames","useMessageThread","useWebchatOpenState","Panel","Availability","props","_useWebchatOpenState","_useWebchatOpenState2","_slicedToArray","isOpen","setOpen","_useState","_useState2","isFixed","setFixed","buttonRef","onClick","onKeyDown","event","key","preventDefault","onKeyUp","intersectionCallback","entries","_entries","entry","isBelowFold","isIntersecting","boundingClientRect","top","_buttonRef$current","observer","window","IntersectionObserver","rootMargin","parentElement","current","observe","unobserve","document","documentElement","classList","toggle","body","availability","createElement","Fragment","className","ref","href","role","draggable","AvailabilityContent","screenNumber","onClose","_useMessageThread","_useMessageThread2","thread","unreadMessageCount","filter","message","read","length","PanelHeader","_ref","screen","isConnected","onBack","ButtonComponent","focusable","width","height","viewBox","d","fill","BackButtonComponent","id","useCallback","createPortal","PreChat","RequestChat","setAriaHidden","bool","_iterator","_createForOfIteratorHelper","children","_step","s","n","done","node","value","setAttribute","removeAttribute","err","e","f","getFocusableElements","selectors","elements","querySelectorAll","join","Array","from","closest","setScreen","_useState3","_useState4","panelElements","setPanelElements","webchatPanelElement","querySelector","activeElement","focus","shiftKey","_panelElements","addEventListener","_document$body$queryS","removeEventListener","ScreenComponent","Component","tabIndex","onContinue","_regeneratorRuntime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","defineProperty","obj","desc","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","call","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","_typeof","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","Error","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","undefined","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","i","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","_catch","thrown","delegateYield","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","arguments","apply","checkAvailability","_x","_checkAvailability","_callee","endpoint","response","data","_callee$","_context","fetch","json","_len","classes","_key","classname","ExternalSyncStore","useSyncExternalStore","initialValue","_classCallCheck","_value","_listeners","_createClass","update","emitChange","subscribe","listener","_this","concat","_toConsumableArray","l","getSnapshot","store","boundSubscribe","bind","boundGetSnapshot","boundUpdate","default","createRoot","init","_x2","_init","container","options","root","availabilityEndpoint","t0","render"],"sourceRoot":""}
|
package/dist/server.js
CHANGED
|
@@ -272,16 +272,17 @@ module.exports = {
|
|
|
272
272
|
/***/ ((module) => {
|
|
273
273
|
|
|
274
274
|
var isWithinHours = function isWithinHours(days) {
|
|
275
|
-
var
|
|
275
|
+
var date = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : null;
|
|
276
|
+
var now = date ? new Date(date) : new Date();
|
|
276
277
|
var name = now.toLocaleDateString('en-GB', {
|
|
277
278
|
weekday: 'long'
|
|
278
279
|
});
|
|
279
280
|
var day = days.find(function (d) {
|
|
280
281
|
return d.day.toLowerCase() === name.toLowerCase();
|
|
281
282
|
});
|
|
282
|
-
var
|
|
283
|
-
var open = "".concat(
|
|
284
|
-
var close = "".concat(
|
|
283
|
+
var dateItems = now.toLocaleDateString('en-GB').split('/');
|
|
284
|
+
var open = "".concat(dateItems[2], "-").concat(dateItems[1], "-").concat(dateItems[0], "T").concat(day.openTime);
|
|
285
|
+
var close = "".concat(dateItems[2], "-").concat(dateItems[1], "-").concat(dateItems[0], "T").concat(day.closeTime);
|
|
285
286
|
return now.getTime() >= Date.parse(open) && now.getTime() <= Date.parse(close);
|
|
286
287
|
};
|
|
287
288
|
module.exports = {
|
package/dist/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","mappings":"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","sources":["webpack://@defra/flood-webchat/./src/server/index.js","webpack://@defra/flood-webchat/./src/server/lib/client.js","webpack://@defra/flood-webchat/./src/server/lib/utils.js","webpack://@defra/flood-webchat/external commonjs \"axios\"","webpack://@defra/flood-webchat/external commonjs \"jwt-decode\"","webpack://@defra/flood-webchat/external commonjs \"querystring\"","webpack://@defra/flood-webchat/webpack/bootstrap","webpack://@defra/flood-webchat/webpack/before-startup","webpack://@defra/flood-webchat/webpack/startup","webpack://@defra/flood-webchat/webpack/after-startup"],"sourcesContent":["const { authenticate, getHost, getIsOpen, getActivity } = require('./lib/client.js')\n\n/**\n * Returns webchat availability\n * @param options {object}\n * @param options.clientId {string}\n * @param options.clientSecret {string}\n * @param options.accessKey {string}\n * @param options.accessSecret {string}\n * @param options.skillEndpoint {string}\n * @param options.hoursEndpoint {string}\n * @param options.maxQueueCount {string}\n * @returns {Promise<{date: Date, availability: (string)}>}\n */\nmodule.exports = async function getAvailability ({\n clientId,\n clientSecret,\n accessKey,\n accessSecret,\n skillEndpoint,\n hoursEndpoint,\n maxQueueCount\n}) {\n const authorisation = 'Basic ' + Buffer.from(`${encodeURIComponent(clientId)}:${encodeURIComponent(clientSecret)}`).toString('base64')\n\n // Cache authentication and re-authenticate when needed (lasts 1 hour?)\n const { tenantId, token, tokenType } = await authenticate({ authorisation, accessKey, accessSecret })\n\n const host = await getHost({ tenantId })\n\n const [{ hasCapacity, hasAgentsAvailable }, isOpen] = await Promise.all([\n getActivity({ tokenType, token, host, skillEndpoint, maxQueueCount }),\n getIsOpen({ token, tokenType, host, hoursEndpoint })\n ])\n\n const isAvailable = isOpen && hasAgentsAvailable && hasCapacity\n const isExistingOnly = isOpen && hasAgentsAvailable && !hasCapacity\n\n let availability = 'UNAVAILABLE'\n\n if (isAvailable) {\n availability = 'AVAILABLE'\n } else if (isExistingOnly) {\n availability = 'EXISTING'\n }\n\n return {\n date: new Date(),\n availability\n }\n}\n","const querystring = require('querystring')\nconst axios = require('axios')\nconst jwtdecode = require('jwt-decode')\nconst { isWithinHours } = require('./utils.js')\n\nconst contentType = 'application/x-www-form-urlencoded'\n\nconst authenticate = async ({ authorisation, accessKey, accessSecret }) => {\n const uri = 'https://cxone.niceincontact.com/auth/token'\n\n const config = {\n signal: AbortSignal.timeout(3000),\n headers: {\n Host: 'eu1.niceincontact.com',\n 'Content-Type': contentType,\n Authorization: authorisation\n }\n }\n\n const body = querystring.stringify({\n grant_type: 'password',\n username: accessKey,\n password: accessSecret\n })\n\n const auth = await axios.post(uri, body, config)\n\n return {\n token: auth.data.access_token,\n tokenType: auth.data.token_type,\n tenantId: jwtdecode(auth.data.id_token)?.tenantId\n }\n}\n\nconst getHost = async ({ tenantId }) => {\n const uri = `https://cxone.niceincontact.com/.well-known/cxone-configuration?tenantId=${tenantId}`\n\n const config = {\n signal: AbortSignal.timeout(3000)\n }\n\n const api = await axios.get(uri, config)\n\n return `api-${api.data.area}.niceincontact.com`\n}\n\nconst getActivity = async ({ tokenType, token, host, skillEndpoint, maxQueueCount }) => {\n const config = {\n signal: AbortSignal.timeout(3000),\n headers: {\n Host: host,\n Authorization: `${tokenType} ${token}`,\n 'Content-Type': contentType\n }\n }\n const uri = `https://${host}${skillEndpoint}`\n\n const skill = await axios.get(uri, config)\n\n const activity = skill.data.skillActivity[0]\n\n return {\n hasCapacity: activity.queueCount < maxQueueCount,\n hasAgentsAvailable: activity.agentsAvailable >= 1\n }\n}\n\nconst getIsOpen = async ({ host, token, tokenType, hoursEndpoint }) => {\n const config = {\n signal: AbortSignal.timeout(3000),\n headers: {\n Host: 'api-l36.niceincontact.com',\n Authorization: `${tokenType} ${token}`,\n 'Content-Type': contentType\n }\n }\n\n const uri = `https://${host}${hoursEndpoint}`\n\n const hours = await axios.get(uri, config)\n\n const days = hours.data.resultSet.hoursOfOperationProfiles[0].days\n\n return isWithinHours(days)\n}\n\nmodule.exports = {\n authenticate,\n getHost,\n getIsOpen,\n getActivity\n}\n","const isWithinHours = days => {\n const now = new Date()\n const name = now.toLocaleDateString('en-GB', { weekday: 'long' })\n const day = days.find(d => d.day.toLowerCase() === name.toLowerCase())\n const date = now.toLocaleDateString('en-GB').split('/')\n const open = `${date[2]}-${date[1]}-${date[0]}T${day.openTime}.000Z`\n const close = `${date[2]}-${date[1]}-${date[0]}T${day.closeTime}.000Z`\n\n return now.getTime() >= Date.parse(open) && now.getTime() <= Date.parse(close)\n}\n\nmodule.exports = {\n isWithinHours\n}\n","module.exports = require(\"axios\");","module.exports = require(\"jwt-decode\");","module.exports = require(\"querystring\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(\"./src/server/index.js\");\n",""],"names":["_regeneratorRuntime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","defineProperty","obj","key","desc","value","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","call","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","_typeof","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","Error","done","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","undefined","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","_catch","thrown","delegateYield","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","toString","Array","from","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","isArray","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","arguments","apply","_require","require","authenticate","getHost","getIsOpen","getActivity","module","_getAvailability","_callee","_ref","clientId","clientSecret","accessKey","accessSecret","skillEndpoint","hoursEndpoint","maxQueueCount","authorisation","_yield$authenticate","tenantId","token","tokenType","host","_yield$Promise$all","_yield$Promise$all2","_yield$Promise$all2$","hasCapacity","hasAgentsAvailable","isOpen","isAvailable","isExistingOnly","availability","_callee$","_context","Buffer","concat","encodeURIComponent","all","date","Date","getAvailability","querystring","axios","jwtdecode","isWithinHours","contentType","_ref2","_jwtdecode","uri","config","body","auth","signal","AbortSignal","timeout","headers","Host","Authorization","stringify","grant_type","username","password","post","data","access_token","token_type","id_token","_ref4","_callee2","_ref3","api","_callee2$","_context2","get","area","_x2","_ref6","_callee3","_ref5","skill","activity","_callee3$","_context3","skillActivity","queueCount","agentsAvailable","_x3","_ref8","_callee4","_ref7","hours","days","_callee4$","_context4","resultSet","hoursOfOperationProfiles","_x4","now","toLocaleDateString","weekday","day","find","d","toLowerCase","split","open","openTime","close","closeTime","getTime","parse"],"sourceRoot":""}
|
|
1
|
+
{"version":3,"file":"server.js","mappings":"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","sources":["webpack://@defra/flood-webchat/./src/server/index.js","webpack://@defra/flood-webchat/./src/server/lib/client.js","webpack://@defra/flood-webchat/./src/server/lib/utils.js","webpack://@defra/flood-webchat/external commonjs \"axios\"","webpack://@defra/flood-webchat/external commonjs \"jwt-decode\"","webpack://@defra/flood-webchat/external commonjs \"querystring\"","webpack://@defra/flood-webchat/webpack/bootstrap","webpack://@defra/flood-webchat/webpack/before-startup","webpack://@defra/flood-webchat/webpack/startup","webpack://@defra/flood-webchat/webpack/after-startup"],"sourcesContent":["const { authenticate, getHost, getIsOpen, getActivity } = require('./lib/client.js')\n\n/**\n * Returns webchat availability\n * @param options {object}\n * @param options.clientId {string}\n * @param options.clientSecret {string}\n * @param options.accessKey {string}\n * @param options.accessSecret {string}\n * @param options.skillEndpoint {string}\n * @param options.hoursEndpoint {string}\n * @param options.maxQueueCount {string}\n * @returns {Promise<{date: Date, availability: (string)}>}\n */\nmodule.exports = async function getAvailability ({\n clientId,\n clientSecret,\n accessKey,\n accessSecret,\n skillEndpoint,\n hoursEndpoint,\n maxQueueCount\n}) {\n const authorisation = 'Basic ' + Buffer.from(`${encodeURIComponent(clientId)}:${encodeURIComponent(clientSecret)}`).toString('base64')\n\n // Cache authentication and re-authenticate when needed (lasts 1 hour?)\n const { tenantId, token, tokenType } = await authenticate({ authorisation, accessKey, accessSecret })\n\n const host = await getHost({ tenantId })\n\n const [{ hasCapacity, hasAgentsAvailable }, isOpen] = await Promise.all([\n getActivity({ tokenType, token, host, skillEndpoint, maxQueueCount }),\n getIsOpen({ token, tokenType, host, hoursEndpoint })\n ])\n\n const isAvailable = isOpen && hasAgentsAvailable && hasCapacity\n const isExistingOnly = isOpen && hasAgentsAvailable && !hasCapacity\n\n let availability = 'UNAVAILABLE'\n\n if (isAvailable) {\n availability = 'AVAILABLE'\n } else if (isExistingOnly) {\n availability = 'EXISTING'\n }\n\n return {\n date: new Date(),\n availability\n }\n}\n","const querystring = require('querystring')\nconst axios = require('axios')\nconst jwtdecode = require('jwt-decode')\nconst { isWithinHours } = require('./utils.js')\n\nconst contentType = 'application/x-www-form-urlencoded'\n\nconst authenticate = async ({ authorisation, accessKey, accessSecret }) => {\n const uri = 'https://cxone.niceincontact.com/auth/token'\n\n const config = {\n signal: AbortSignal.timeout(3000),\n headers: {\n Host: 'eu1.niceincontact.com',\n 'Content-Type': contentType,\n Authorization: authorisation\n }\n }\n\n const body = querystring.stringify({\n grant_type: 'password',\n username: accessKey,\n password: accessSecret\n })\n\n const auth = await axios.post(uri, body, config)\n\n return {\n token: auth.data.access_token,\n tokenType: auth.data.token_type,\n tenantId: jwtdecode(auth.data.id_token)?.tenantId\n }\n}\n\nconst getHost = async ({ tenantId }) => {\n const uri = `https://cxone.niceincontact.com/.well-known/cxone-configuration?tenantId=${tenantId}`\n\n const config = {\n signal: AbortSignal.timeout(3000)\n }\n\n const api = await axios.get(uri, config)\n\n return `api-${api.data.area}.niceincontact.com`\n}\n\nconst getActivity = async ({ tokenType, token, host, skillEndpoint, maxQueueCount }) => {\n const config = {\n signal: AbortSignal.timeout(3000),\n headers: {\n Host: host,\n Authorization: `${tokenType} ${token}`,\n 'Content-Type': contentType\n }\n }\n const uri = `https://${host}${skillEndpoint}`\n\n const skill = await axios.get(uri, config)\n\n const activity = skill.data.skillActivity[0]\n\n return {\n hasCapacity: activity.queueCount < maxQueueCount,\n hasAgentsAvailable: activity.agentsAvailable >= 1\n }\n}\n\nconst getIsOpen = async ({ host, token, tokenType, hoursEndpoint }) => {\n const config = {\n signal: AbortSignal.timeout(3000),\n headers: {\n Host: 'api-l36.niceincontact.com',\n Authorization: `${tokenType} ${token}`,\n 'Content-Type': contentType\n }\n }\n\n const uri = `https://${host}${hoursEndpoint}`\n\n const hours = await axios.get(uri, config)\n\n const days = hours.data.resultSet.hoursOfOperationProfiles[0].days\n\n return isWithinHours(days)\n}\n\nmodule.exports = {\n authenticate,\n getHost,\n getIsOpen,\n getActivity\n}\n","const isWithinHours = (days, date = null) => {\n const now = date ? new Date(date) : new Date()\n\n const name = now.toLocaleDateString('en-GB', { weekday: 'long' })\n const day = days.find(d => d.day.toLowerCase() === name.toLowerCase())\n const dateItems = now.toLocaleDateString('en-GB').split('/')\n const open = `${dateItems[2]}-${dateItems[1]}-${dateItems[0]}T${day.openTime}`\n const close = `${dateItems[2]}-${dateItems[1]}-${dateItems[0]}T${day.closeTime}`\n\n return now.getTime() >= Date.parse(open) && now.getTime() <= Date.parse(close)\n}\n\nmodule.exports = {\n isWithinHours\n}\n","module.exports = require(\"axios\");","module.exports = require(\"jwt-decode\");","module.exports = require(\"querystring\");","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","","// startup\n// Load entry module and return exports\n// This entry module is referenced by other modules so it can't be inlined\nvar __webpack_exports__ = __webpack_require__(\"./src/server/index.js\");\n",""],"names":["_regeneratorRuntime","exports","Op","Object","prototype","hasOwn","hasOwnProperty","defineProperty","obj","key","desc","value","$Symbol","Symbol","iteratorSymbol","iterator","asyncIteratorSymbol","asyncIterator","toStringTagSymbol","toStringTag","define","enumerable","configurable","writable","err","wrap","innerFn","outerFn","self","tryLocsList","protoGenerator","Generator","generator","create","context","Context","makeInvokeMethod","tryCatch","fn","arg","type","call","ContinueSentinel","GeneratorFunction","GeneratorFunctionPrototype","IteratorPrototype","getProto","getPrototypeOf","NativeIteratorPrototype","values","Gp","defineIteratorMethods","forEach","method","_invoke","AsyncIterator","PromiseImpl","invoke","resolve","reject","record","result","_typeof","__await","then","unwrapped","error","previousPromise","callInvokeWithMethodAndArg","state","Error","done","delegate","delegateResult","maybeInvokeDelegate","sent","_sent","dispatchException","abrupt","methodName","undefined","TypeError","info","resultName","next","nextLoc","pushTryEntry","locs","entry","tryLoc","catchLoc","finallyLoc","afterLoc","tryEntries","push","resetTryEntry","completion","reset","iterable","iteratorMethod","isNaN","length","i","displayName","isGeneratorFunction","genFun","ctor","constructor","name","mark","setPrototypeOf","__proto__","awrap","async","Promise","iter","keys","val","object","reverse","pop","skipTempReset","prev","charAt","slice","stop","rootRecord","rval","exception","handle","loc","caught","hasCatch","hasFinally","finallyEntry","complete","finish","_catch","thrown","delegateYield","_slicedToArray","arr","_arrayWithHoles","_iterableToArrayLimit","_unsupportedIterableToArray","_nonIterableRest","o","minLen","_arrayLikeToArray","n","toString","Array","from","test","len","arr2","_i","_s","_e","_x","_r","_arr","_n","_d","isArray","asyncGeneratorStep","gen","_next","_throw","_asyncToGenerator","args","arguments","apply","_require","require","authenticate","getHost","getIsOpen","getActivity","module","_getAvailability","_callee","_ref","clientId","clientSecret","accessKey","accessSecret","skillEndpoint","hoursEndpoint","maxQueueCount","authorisation","_yield$authenticate","tenantId","token","tokenType","host","_yield$Promise$all","_yield$Promise$all2","_yield$Promise$all2$","hasCapacity","hasAgentsAvailable","isOpen","isAvailable","isExistingOnly","availability","_callee$","_context","Buffer","concat","encodeURIComponent","all","date","Date","getAvailability","querystring","axios","jwtdecode","isWithinHours","contentType","_ref2","_jwtdecode","uri","config","body","auth","signal","AbortSignal","timeout","headers","Host","Authorization","stringify","grant_type","username","password","post","data","access_token","token_type","id_token","_ref4","_callee2","_ref3","api","_callee2$","_context2","get","area","_x2","_ref6","_callee3","_ref5","skill","activity","_callee3$","_context3","skillActivity","queueCount","agentsAvailable","_x3","_ref8","_callee4","_ref7","hours","days","_callee4$","_context4","resultSet","hoursOfOperationProfiles","_x4","now","toLocaleDateString","weekday","day","find","d","toLowerCase","dateItems","split","open","openTime","close","closeTime","getTime","parse"],"sourceRoot":""}
|
package/main.scss
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
|
|
2
2
|
// Required GOVUK Styles
|
|
3
|
-
@import "
|
|
4
|
-
@import "
|
|
3
|
+
@import "govuk-frontend/govuk/core/typography";
|
|
4
|
+
@import "govuk-frontend/govuk/utilities/visually-hidden";
|
|
5
5
|
|
|
6
6
|
// Components
|
|
7
7
|
@import "./src/client/components/availability/availability";
|
|
8
|
+
@import "./src/client/components/panel/panel";
|
|
8
9
|
|
|
9
10
|
|
|
10
11
|
.wc-scroll-padding {
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@defra/flood-webchat",
|
|
3
|
-
"version": "0.0.1-beta.
|
|
3
|
+
"version": "0.0.1-beta.4",
|
|
4
4
|
"description": "",
|
|
5
5
|
"main": "dist/server.js",
|
|
6
6
|
"browser": "dist/client.js",
|
|
@@ -30,6 +30,7 @@
|
|
|
30
30
|
"@babel/core": "^7.22.10",
|
|
31
31
|
"@babel/preset-env": "^7.22.10",
|
|
32
32
|
"@babel/preset-react": "^7.22.15",
|
|
33
|
+
"@testing-library/jest-dom": "^6.1.3",
|
|
33
34
|
"@testing-library/react": "^14.0.0",
|
|
34
35
|
"@testing-library/user-event": "^14.5.1",
|
|
35
36
|
"@types/jest": "^29.5.4",
|
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
import React, { useEffect, useRef, useState } from 'react'
|
|
2
2
|
import { classnames } from '../../lib/classnames'
|
|
3
3
|
import { useMessageThread, useWebchatOpenState } from '../../lib/external-stores'
|
|
4
|
+
import { Panel } from '../panel/panel.jsx'
|
|
4
5
|
|
|
5
6
|
export function Availability (props) {
|
|
6
7
|
const [isOpen, setOpen] = useWebchatOpenState()
|
|
@@ -49,22 +50,25 @@ export function Availability (props) {
|
|
|
49
50
|
switch (props.availability) {
|
|
50
51
|
case 'AVAILABLE':
|
|
51
52
|
return (
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
<
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
53
|
+
<>
|
|
54
|
+
<div
|
|
55
|
+
className={classnames('wc-availability', isFixed && 'wc-availability--fixed')}
|
|
56
|
+
ref={buttonRef}
|
|
57
|
+
>
|
|
58
|
+
<div className='wc-availability__inner'>
|
|
59
|
+
<a
|
|
60
|
+
className='wc-availability__link'
|
|
61
|
+
href='#webchat' role='button' draggable='false'
|
|
62
|
+
onClick={onClick}
|
|
63
|
+
onKeyUp={onKeyUp}
|
|
64
|
+
onKeyDown={onKeyDown}
|
|
65
|
+
>
|
|
66
|
+
<AvailabilityContent />
|
|
67
|
+
</a>
|
|
68
|
+
</div>
|
|
66
69
|
</div>
|
|
67
|
-
|
|
70
|
+
{isOpen && <Panel screenNumber={0} onClose={onClick} />}
|
|
71
|
+
</>
|
|
68
72
|
)
|
|
69
73
|
case 'EXISTING':
|
|
70
74
|
case 'UNAVAILABLE':
|
|
@@ -0,0 +1,35 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
|
|
3
|
+
export function PanelHeader ({ screen, isConnected, onBack, onClose }) {
|
|
4
|
+
let ButtonComponent = (
|
|
5
|
+
<button className='wc-header__close' aria-label='Close the webchat' onClick={onClose}>
|
|
6
|
+
<svg aria-hidden='true' focusable='false' width='20' height='20' viewBox='0 0 20 20'>
|
|
7
|
+
<path d='M10,8.6L15.6,3L17,4.4L11.4,10L17,15.6L15.6,17L10,11.4L4.4,17L3,15.6L8.6,10L3,4.4L4.4,3L10,8.6Z' fill='currentColor' />
|
|
8
|
+
</svg>
|
|
9
|
+
</button>
|
|
10
|
+
)
|
|
11
|
+
|
|
12
|
+
if (isConnected) {
|
|
13
|
+
ButtonComponent = (
|
|
14
|
+
<button className='wc-hide-btn' aria-label='Minimise the webchat' data-wc-hide-btn>
|
|
15
|
+
<svg aria-hidden='true' focusable='false' width='20' height='20' viewBox='0 0 20 20'>
|
|
16
|
+
<path d='M10 14.4l-7-7L4.4 6l5.6 5.6L15.6 6 17 7.4l-7 7z' fill='currentColor' />
|
|
17
|
+
</svg>
|
|
18
|
+
</button>
|
|
19
|
+
)
|
|
20
|
+
}
|
|
21
|
+
|
|
22
|
+
const BackButtonComponent = !isConnected && screen !== 0 ? <a href='#' className='wc-header__link govuk-back-link govuk-back-link--inverse' onClick={onBack}>Back</a> : null
|
|
23
|
+
|
|
24
|
+
return (
|
|
25
|
+
<div className='wc-header'>
|
|
26
|
+
{BackButtonComponent}
|
|
27
|
+
|
|
28
|
+
<h2 id='wc-header-title' className='wc-header__title govuk-heading-s'>
|
|
29
|
+
Floodline Webchat
|
|
30
|
+
</h2>
|
|
31
|
+
|
|
32
|
+
{ButtonComponent}
|
|
33
|
+
</div>
|
|
34
|
+
)
|
|
35
|
+
}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
import React, { useEffect, useState, useCallback } from 'react'
|
|
2
|
+
import { createPortal } from 'react-dom'
|
|
3
|
+
|
|
4
|
+
import { PanelHeader } from './panel-header.jsx'
|
|
5
|
+
import { PreChat } from '../screens/pre-chat.jsx'
|
|
6
|
+
import { RequestChat } from '../screens/request-chat.jsx'
|
|
7
|
+
|
|
8
|
+
export const setAriaHidden = (bool) => {
|
|
9
|
+
for (const node of document.body.children) {
|
|
10
|
+
if (node.id !== 'wc-panel') {
|
|
11
|
+
(bool) ? node.setAttribute('aria-hidden', 'true') : node.removeAttribute('aria-hidden')
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
}
|
|
15
|
+
|
|
16
|
+
export const getFocusableElements = () => {
|
|
17
|
+
const selectors = [
|
|
18
|
+
'#wc-panel a:not([disabled])',
|
|
19
|
+
'#wc-panel button:not([disabled])',
|
|
20
|
+
'#wc-panel select:not([disabled])',
|
|
21
|
+
'#wc-panel input:not([disabled])',
|
|
22
|
+
'#wc-panel textarea:not([disabled])',
|
|
23
|
+
'#wc-panel *[tabindex="0"]:not([disabled])'
|
|
24
|
+
]
|
|
25
|
+
|
|
26
|
+
const elements = document.body.querySelectorAll(selectors.join(','))
|
|
27
|
+
return Array.from(elements).filter(e => !e.closest('[hidden]') && !e.closest('[aria-hidden="true"]'))
|
|
28
|
+
}
|
|
29
|
+
|
|
30
|
+
export function Panel ({ screenNumber, onClose }) {
|
|
31
|
+
const [screen, setScreen] = useState(screenNumber)
|
|
32
|
+
const [panelElements, setPanelElements] = useState([])
|
|
33
|
+
|
|
34
|
+
const onKeyDown = useCallback((e) => {
|
|
35
|
+
if (e.key === 'Escape' || e.key === 'Esc') return onClose()
|
|
36
|
+
|
|
37
|
+
if (e.key === 'Tab') {
|
|
38
|
+
const webchatPanelElement = document.querySelector('#wc-panel')
|
|
39
|
+
|
|
40
|
+
if (webchatPanelElement && !document.activeElement.closest('#wc-panel')) {
|
|
41
|
+
webchatPanelElement.focus()
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
if (e.shiftKey) {
|
|
45
|
+
if (document.activeElement === panelElements[0]) {
|
|
46
|
+
panelElements[panelElements.length - 1].focus()
|
|
47
|
+
e.preventDefault()
|
|
48
|
+
} else if (document.activeElement === document.querySelector('#wc-panel')) {
|
|
49
|
+
panelElements[panelElements.length - 1]?.focus()
|
|
50
|
+
e.preventDefault()
|
|
51
|
+
}
|
|
52
|
+
} else if (document.activeElement === panelElements[panelElements.length - 1]) {
|
|
53
|
+
panelElements[0].focus()
|
|
54
|
+
e.preventDefault()
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}, [panelElements])
|
|
58
|
+
|
|
59
|
+
useEffect(() => {
|
|
60
|
+
setPanelElements(getFocusableElements())
|
|
61
|
+
}, [screen])
|
|
62
|
+
|
|
63
|
+
useEffect(() => {
|
|
64
|
+
setAriaHidden(true)
|
|
65
|
+
document.querySelector('#wc-panel').focus()
|
|
66
|
+
document.addEventListener('keydown', onKeyDown)
|
|
67
|
+
|
|
68
|
+
return () => {
|
|
69
|
+
setAriaHidden()
|
|
70
|
+
document.body.querySelector('.wc-availability__link')?.focus()
|
|
71
|
+
document.removeEventListener('keydown', onKeyDown)
|
|
72
|
+
}
|
|
73
|
+
}, [panelElements])
|
|
74
|
+
|
|
75
|
+
const onBack = (e) => {
|
|
76
|
+
e.preventDefault()
|
|
77
|
+
setScreen(screen - 1)
|
|
78
|
+
}
|
|
79
|
+
|
|
80
|
+
let ScreenComponent
|
|
81
|
+
|
|
82
|
+
switch (screen) {
|
|
83
|
+
case 0:
|
|
84
|
+
ScreenComponent = <PreChat screen={screen} setScreen={setScreen} />
|
|
85
|
+
break
|
|
86
|
+
case 1:
|
|
87
|
+
ScreenComponent = <RequestChat onBack={onBack} />
|
|
88
|
+
break
|
|
89
|
+
default:
|
|
90
|
+
ScreenComponent = <PreChat screen={screen} setScreen={setScreen} />
|
|
91
|
+
}
|
|
92
|
+
|
|
93
|
+
const Component = (
|
|
94
|
+
<div id='wc-panel' className='wc-panel' role='dialog' tabIndex='-1' aria-modal='true' aria-labelledby='wc-header-title'>
|
|
95
|
+
<PanelHeader screen={screen} isConnected={false} onBack={onBack} onClose={onClose} />
|
|
96
|
+
|
|
97
|
+
<div className='wc-body'>
|
|
98
|
+
<div className='wc-content govuk-body-s'>
|
|
99
|
+
{ScreenComponent}
|
|
100
|
+
</div>
|
|
101
|
+
</div>
|
|
102
|
+
</div>
|
|
103
|
+
)
|
|
104
|
+
|
|
105
|
+
return createPortal(Component, document.body)
|
|
106
|
+
}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
.wc-panel {
|
|
2
|
+
display: flex;
|
|
3
|
+
flex-direction: column;
|
|
4
|
+
position: fixed;
|
|
5
|
+
bottom: 0;
|
|
6
|
+
right: 0;
|
|
7
|
+
top: 0;
|
|
8
|
+
left: 0;
|
|
9
|
+
width: 100%;
|
|
10
|
+
height: 100%;
|
|
11
|
+
background-color: govuk-colour('white');
|
|
12
|
+
z-index: 999;
|
|
13
|
+
outline: none;
|
|
14
|
+
|
|
15
|
+
@include mq ($from: 'tablet') {
|
|
16
|
+
bottom: 0;
|
|
17
|
+
right: 0;
|
|
18
|
+
top: auto;
|
|
19
|
+
left: auto;
|
|
20
|
+
width: 400px;
|
|
21
|
+
height: 540px;
|
|
22
|
+
margin-bottom: 10px;
|
|
23
|
+
margin-right: 10px;
|
|
24
|
+
}
|
|
25
|
+
}
|
|
26
|
+
|
|
27
|
+
.wc-header {
|
|
28
|
+
display: flex;
|
|
29
|
+
flex-direction: row;
|
|
30
|
+
align-items: center;
|
|
31
|
+
background-color: govuk-colour('black');
|
|
32
|
+
|
|
33
|
+
&__link {
|
|
34
|
+
margin: 0 govuk-spacing(2);
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
&__title {
|
|
38
|
+
padding: 0 0 0 govuk-spacing(2);
|
|
39
|
+
color: govuk-colour('white');
|
|
40
|
+
margin-bottom: 0;
|
|
41
|
+
}
|
|
42
|
+
|
|
43
|
+
&__close {
|
|
44
|
+
display: flex;
|
|
45
|
+
justify-content: center;
|
|
46
|
+
color: govuk-colour('white');
|
|
47
|
+
background: none;
|
|
48
|
+
border: 0;
|
|
49
|
+
padding: govuk-spacing(2);
|
|
50
|
+
margin: 0 0 0 auto;
|
|
51
|
+
cursor: pointer;
|
|
52
|
+
|
|
53
|
+
&:focus {
|
|
54
|
+
@include govuk-focused-text;
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
|
|
59
|
+
.wc-body {
|
|
60
|
+
@include govuk-responsive-padding(3);
|
|
61
|
+
|
|
62
|
+
flex: 1;
|
|
63
|
+
position: relative;
|
|
64
|
+
overflow-y: auto;
|
|
65
|
+
overscroll-behavior: contain;
|
|
66
|
+
border: 1px solid govuk-colour('black');
|
|
67
|
+
}
|
|
68
|
+
|
|
69
|
+
.wc-back-link {
|
|
70
|
+
margin: govuk-spacing(1) 0 govuk-spacing(6) 0;
|
|
71
|
+
}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
|
|
3
|
+
export function PreChat ({ screen, setScreen }) {
|
|
4
|
+
const onContinue = (e) => {
|
|
5
|
+
e.preventDefault()
|
|
6
|
+
setScreen(screen + 1)
|
|
7
|
+
}
|
|
8
|
+
|
|
9
|
+
return (
|
|
10
|
+
<>
|
|
11
|
+
<h3 className='govuk-heading-s'>What you can use webchat for</h3>
|
|
12
|
+
<p className='govuk-body-s'>Webchat lets you talk directly to a Floodline adviser.</p>
|
|
13
|
+
|
|
14
|
+
<p className='govuk-body-s'>You can use webchat to get:</p>
|
|
15
|
+
<ul className='govuk-list govuk-list--bullet govuk-body-s'>
|
|
16
|
+
<li>current flood warnings and alerts in your area</li>
|
|
17
|
+
<li>information on the flood warning service</li>
|
|
18
|
+
<li>advice on what to do before, during and after a flood</li>
|
|
19
|
+
</ul>
|
|
20
|
+
|
|
21
|
+
<p className='govuk-body-s'>There are other ways to <a className='govuk-link' href='https://www.gov.uk/sign-up-for-flood-warnings'>sign up for flood warnings</a> and <a className='govuk-link' href='https://defragroup.eu.qualtrics.com/jfe/form/SV_8uMAuaH3kbJl965?Source=https://check-for-flooding.service.gov.uk'>manage your flood warnings account</a>.</p>
|
|
22
|
+
<p className='govuk-body-s'>Do not use webchat to <a className='govuk-link' href='https://www.gov.uk/report-flood-cause'>report a flood</a>.</p>
|
|
23
|
+
|
|
24
|
+
<button className='govuk-button' data-module='govuk-button' onClick={onContinue}>Continue</button>
|
|
25
|
+
|
|
26
|
+
<h3 className='govuk-heading-s'>Other flood information</h3>
|
|
27
|
+
|
|
28
|
+
<p className='govuk-body-s'>Call Floodline for all other flood and flood warning information.</p>
|
|
29
|
+
<p className='govuk-body-s'>
|
|
30
|
+
<strong>Floodline helpline</strong>
|
|
31
|
+
<br />
|
|
32
|
+
Telephone: 0345 988 1188
|
|
33
|
+
<br />
|
|
34
|
+
Textphone: 0345 602 6340
|
|
35
|
+
<br />
|
|
36
|
+
Open 24 hours a day, 7 days a week
|
|
37
|
+
<br />
|
|
38
|
+
<a className='govuk-link' href='https://gov.uk/call-charges'>Find out more about call charges</a>
|
|
39
|
+
</p>
|
|
40
|
+
</>
|
|
41
|
+
)
|
|
42
|
+
}
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import React from 'react'
|
|
2
|
+
|
|
3
|
+
export function RequestChat ({ onBack }) {
|
|
4
|
+
return (
|
|
5
|
+
<>
|
|
6
|
+
<a href='#' className='wc-back-link govuk-back-link' onClick={onBack}>What you can use webchat for</a>
|
|
7
|
+
<h3 className='govuk-heading-s'>Your name and question</h3>
|
|
8
|
+
</>
|
|
9
|
+
)
|
|
10
|
+
}
|
package/src/server/lib/utils.js
CHANGED
|
@@ -1,10 +1,11 @@
|
|
|
1
|
-
const isWithinHours = days => {
|
|
2
|
-
const now = new Date()
|
|
1
|
+
const isWithinHours = (days, date = null) => {
|
|
2
|
+
const now = date ? new Date(date) : new Date()
|
|
3
|
+
|
|
3
4
|
const name = now.toLocaleDateString('en-GB', { weekday: 'long' })
|
|
4
5
|
const day = days.find(d => d.day.toLowerCase() === name.toLowerCase())
|
|
5
|
-
const
|
|
6
|
-
const open = `${
|
|
7
|
-
const close = `${
|
|
6
|
+
const dateItems = now.toLocaleDateString('en-GB').split('/')
|
|
7
|
+
const open = `${dateItems[2]}-${dateItems[1]}-${dateItems[0]}T${day.openTime}`
|
|
8
|
+
const close = `${dateItems[2]}-${dateItems[1]}-${dateItems[0]}T${day.closeTime}`
|
|
8
9
|
|
|
9
10
|
return now.getTime() >= Date.parse(open) && now.getTime() <= Date.parse(close)
|
|
10
11
|
}
|