UNPKG

matrix-react-sdk

Version:
108 lines (105 loc) 18.8 kB
"use strict"; var _interopRequireDefault = require("@babel/runtime/helpers/interopRequireDefault"); Object.defineProperty(exports, "__esModule", { value: true }); exports.default = void 0; var _react = _interopRequireWildcard(require("react")); var _classnames = _interopRequireDefault(require("classnames")); var _compoundWeb = require("@vector-im/compound-web"); var _close = _interopRequireDefault(require("@vector-im/compound-design-tokens/assets/web/icons/close")); var _chevronLeft = _interopRequireDefault(require("@vector-im/compound-design-tokens/assets/web/icons/chevron-left")); var _AutoHideScrollbar = _interopRequireDefault(require("../../structures/AutoHideScrollbar")); var _languageHandler = require("../../../languageHandler"); var _RightPanelStore = _interopRequireDefault(require("../../../stores/right-panel/RightPanelStore")); var _RightPanelStorePhases = require("../../../stores/right-panel/RightPanelStorePhases"); var _context = require("./context"); function _getRequireWildcardCache(e) { if ("function" != typeof WeakMap) return null; var r = new WeakMap(), t = new WeakMap(); return (_getRequireWildcardCache = function (e) { return e ? t : r; })(e); } function _interopRequireWildcard(e, r) { if (!r && e && e.__esModule) return e; if (null === e || "object" != typeof e && "function" != typeof e) return { default: e }; var t = _getRequireWildcardCache(r); if (t && t.has(e)) return t.get(e); var n = { __proto__: null }, a = Object.defineProperty && Object.getOwnPropertyDescriptor; for (var u in e) if ("default" !== u && {}.hasOwnProperty.call(e, u)) { var i = a ? Object.getOwnPropertyDescriptor(e, u) : null; i && (i.get || i.set) ? Object.defineProperty(n, u, i) : n[u] = e[u]; } return n.default = e, t && t.set(e, n), n; } /* Copyright 2024 New Vector Ltd. Copyright 2020 The Matrix.org Foundation C.I.C. SPDX-License-Identifier: AGPL-3.0-only OR GPL-3.0-only Please see LICENSE files in the repository root for full details. */ function closeRightPanel(ev) { ev.preventDefault(); ev.stopPropagation(); _RightPanelStore.default.instance.popCard(); } const BaseCard = /*#__PURE__*/(0, _react.forwardRef)(({ closeLabel, onClose, onBack, className, id, ariaLabelledBy, role, hideHeaderButtons, header, footer, withoutScrollContainer, children, onKeyDown, closeButtonRef }, ref) => { let backButton; const cardHistory = _RightPanelStore.default.instance.roomPhaseHistory; if (cardHistory.length > 1 && !hideHeaderButtons) { const prevCard = cardHistory[cardHistory.length - 2]; const onBackClick = ev => { onBack?.(ev); _RightPanelStore.default.instance.popCard(); }; const label = (0, _RightPanelStorePhases.backLabelForPhase)(prevCard.phase) ?? (0, _languageHandler._t)("action|back"); backButton = /*#__PURE__*/_react.default.createElement(_compoundWeb.IconButton, { size: "28px", "data-testid": "base-card-back-button", onClick: onBackClick, tooltip: label, subtleBackground: true }, /*#__PURE__*/_react.default.createElement(_chevronLeft.default, null)); } let closeButton; if (!hideHeaderButtons) { closeButton = /*#__PURE__*/_react.default.createElement(_compoundWeb.IconButton, { size: "28px", "data-testid": "base-card-close-button", onClick: onClose ?? closeRightPanel, ref: closeButtonRef, tooltip: closeLabel ?? (0, _languageHandler._t)("action|close"), subtleBackground: true }, /*#__PURE__*/_react.default.createElement(_close.default, null)); } if (!withoutScrollContainer) { children = /*#__PURE__*/_react.default.createElement(_AutoHideScrollbar.default, null, children); } const shouldRenderHeader = header || !hideHeaderButtons; return /*#__PURE__*/_react.default.createElement(_context.CardContext.Provider, { value: { isCard: true } }, /*#__PURE__*/_react.default.createElement("div", { id: id, "aria-labelledby": ariaLabelledBy, role: role, className: (0, _classnames.default)("mx_BaseCard", className), ref: ref, onKeyDown: onKeyDown }, shouldRenderHeader && /*#__PURE__*/_react.default.createElement("div", { className: "mx_BaseCard_header" }, backButton, typeof header === "string" ? /*#__PURE__*/_react.default.createElement("div", { className: "mx_BaseCard_header_title" }, /*#__PURE__*/_react.default.createElement(_compoundWeb.Text, { size: "md", weight: "medium", className: "mx_BaseCard_header_title_heading", role: "heading" }, header)) : header ?? /*#__PURE__*/_react.default.createElement("div", { className: "mx_BaseCard_header_spacer" }), closeButton), children, footer && /*#__PURE__*/_react.default.createElement("div", { className: "mx_BaseCard_footer" }, footer))); }); var _default = exports.default = BaseCard; //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJfcmVhY3QiLCJfaW50ZXJvcFJlcXVpcmVXaWxkY2FyZCIsInJlcXVpcmUiLCJfY2xhc3NuYW1lcyIsIl9pbnRlcm9wUmVxdWlyZURlZmF1bHQiLCJfY29tcG91bmRXZWIiLCJfY2xvc2UiLCJfY2hldnJvbkxlZnQiLCJfQXV0b0hpZGVTY3JvbGxiYXIiLCJfbGFuZ3VhZ2VIYW5kbGVyIiwiX1JpZ2h0UGFuZWxTdG9yZSIsIl9SaWdodFBhbmVsU3RvcmVQaGFzZXMiLCJfY29udGV4dCIsIl9nZXRSZXF1aXJlV2lsZGNhcmRDYWNoZSIsImUiLCJXZWFrTWFwIiwiciIsInQiLCJfX2VzTW9kdWxlIiwiZGVmYXVsdCIsImhhcyIsImdldCIsIm4iLCJfX3Byb3RvX18iLCJhIiwiT2JqZWN0IiwiZGVmaW5lUHJvcGVydHkiLCJnZXRPd25Qcm9wZXJ0eURlc2NyaXB0b3IiLCJ1IiwiaGFzT3duUHJvcGVydHkiLCJjYWxsIiwiaSIsInNldCIsImNsb3NlUmlnaHRQYW5lbCIsImV2IiwicHJldmVudERlZmF1bHQiLCJzdG9wUHJvcGFnYXRpb24iLCJSaWdodFBhbmVsU3RvcmUiLCJpbnN0YW5jZSIsInBvcENhcmQiLCJCYXNlQ2FyZCIsImZvcndhcmRSZWYiLCJjbG9zZUxhYmVsIiwib25DbG9zZSIsIm9uQmFjayIsImNsYXNzTmFtZSIsImlkIiwiYXJpYUxhYmVsbGVkQnkiLCJyb2xlIiwiaGlkZUhlYWRlckJ1dHRvbnMiLCJoZWFkZXIiLCJmb290ZXIiLCJ3aXRob3V0U2Nyb2xsQ29udGFpbmVyIiwiY2hpbGRyZW4iLCJvbktleURvd24iLCJjbG9zZUJ1dHRvblJlZiIsInJlZiIsImJhY2tCdXR0b24iLCJjYXJkSGlzdG9yeSIsInJvb21QaGFzZUhpc3RvcnkiLCJsZW5ndGgiLCJwcmV2Q2FyZCIsIm9uQmFja0NsaWNrIiwibGFiZWwiLCJiYWNrTGFiZWxGb3JQaGFzZSIsInBoYXNlIiwiX3QiLCJjcmVhdGVFbGVtZW50IiwiSWNvbkJ1dHRvbiIsInNpemUiLCJvbkNsaWNrIiwidG9vbHRpcCIsInN1YnRsZUJhY2tncm91bmQiLCJjbG9zZUJ1dHRvbiIsInNob3VsZFJlbmRlckhlYWRlciIsIkNhcmRDb250ZXh0IiwiUHJvdmlkZXIiLCJ2YWx1ZSIsImlzQ2FyZCIsImNsYXNzTmFtZXMiLCJUZXh0Iiwid2VpZ2h0IiwiX2RlZmF1bHQiLCJleHBvcnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvdmlld3MvcmlnaHRfcGFuZWwvQmFzZUNhcmQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qXG5Db3B5cmlnaHQgMjAyNCBOZXcgVmVjdG9yIEx0ZC5cbkNvcHlyaWdodCAyMDIwIFRoZSBNYXRyaXgub3JnIEZvdW5kYXRpb24gQy5JLkMuXG5cblNQRFgtTGljZW5zZS1JZGVudGlmaWVyOiBBR1BMLTMuMC1vbmx5IE9SIEdQTC0zLjAtb25seVxuUGxlYXNlIHNlZSBMSUNFTlNFIGZpbGVzIGluIHRoZSByZXBvc2l0b3J5IHJvb3QgZm9yIGZ1bGwgZGV0YWlscy5cbiovXG5cbmltcG9ydCBSZWFjdCwgeyBmb3J3YXJkUmVmLCBSZWFjdE5vZGUsIEtleWJvYXJkRXZlbnQsIFJlZiwgTW91c2VFdmVudCB9IGZyb20gXCJyZWFjdFwiO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSBcImNsYXNzbmFtZXNcIjtcbmltcG9ydCB7IEljb25CdXR0b24sIFRleHQgfSBmcm9tIFwiQHZlY3Rvci1pbS9jb21wb3VuZC13ZWJcIjtcbmltcG9ydCBDbG9zZUljb24gZnJvbSBcIkB2ZWN0b3ItaW0vY29tcG91bmQtZGVzaWduLXRva2Vucy9hc3NldHMvd2ViL2ljb25zL2Nsb3NlXCI7XG5pbXBvcnQgQ2hldnJvbkxlZnRJY29uIGZyb20gXCJAdmVjdG9yLWltL2NvbXBvdW5kLWRlc2lnbi10b2tlbnMvYXNzZXRzL3dlYi9pY29ucy9jaGV2cm9uLWxlZnRcIjtcblxuaW1wb3J0IEF1dG9IaWRlU2Nyb2xsYmFyIGZyb20gXCIuLi8uLi9zdHJ1Y3R1cmVzL0F1dG9IaWRlU2Nyb2xsYmFyXCI7XG5pbXBvcnQgeyBfdCB9IGZyb20gXCIuLi8uLi8uLi9sYW5ndWFnZUhhbmRsZXJcIjtcbmltcG9ydCBSaWdodFBhbmVsU3RvcmUgZnJvbSBcIi4uLy4uLy4uL3N0b3Jlcy9yaWdodC1wYW5lbC9SaWdodFBhbmVsU3RvcmVcIjtcbmltcG9ydCB7IGJhY2tMYWJlbEZvclBoYXNlIH0gZnJvbSBcIi4uLy4uLy4uL3N0b3Jlcy9yaWdodC1wYW5lbC9SaWdodFBhbmVsU3RvcmVQaGFzZXNcIjtcbmltcG9ydCB7IENhcmRDb250ZXh0IH0gZnJvbSBcIi4vY29udGV4dFwiO1xuXG5pbnRlcmZhY2UgSVByb3BzIHtcbiAgICBoZWFkZXI/OiBSZWFjdE5vZGUgfCBudWxsO1xuICAgIGhpZGVIZWFkZXJCdXR0b25zPzogYm9vbGVhbjtcbiAgICBmb290ZXI/OiBSZWFjdE5vZGU7XG4gICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgIGlkPzogc3RyaW5nO1xuICAgIHJvbGU/OiBcInRhYnBhbmVsXCI7XG4gICAgYXJpYUxhYmVsbGVkQnk/OiBzdHJpbmc7XG4gICAgd2l0aG91dFNjcm9sbENvbnRhaW5lcj86IGJvb2xlYW47XG4gICAgY2xvc2VMYWJlbD86IHN0cmluZztcbiAgICBvbkNsb3NlPyhldjogTW91c2VFdmVudDxIVE1MQnV0dG9uRWxlbWVudD4pOiB2b2lkO1xuICAgIG9uQmFjaz8oZXY6IE1vdXNlRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+KTogdm9pZDtcbiAgICBvbktleURvd24/KGV2OiBLZXlib2FyZEV2ZW50KTogdm9pZDtcbiAgICBjYXJkU3RhdGU/OiBhbnk7XG4gICAgcmVmPzogUmVmPEhUTUxEaXZFbGVtZW50PjtcbiAgICAvLyBSZWYgZm9yIHRoZSAnY2xvc2UnIGJ1dHRvbiB0aGUgY2FyZFxuICAgIGNsb3NlQnV0dG9uUmVmPzogUmVmPEhUTUxCdXR0b25FbGVtZW50PjtcbiAgICBjaGlsZHJlbjogUmVhY3ROb2RlO1xufVxuXG5mdW5jdGlvbiBjbG9zZVJpZ2h0UGFuZWwoZXY6IE1vdXNlRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+KTogdm9pZCB7XG4gICAgZXYucHJldmVudERlZmF1bHQoKTtcbiAgICBldi5zdG9wUHJvcGFnYXRpb24oKTtcbiAgICBSaWdodFBhbmVsU3RvcmUuaW5zdGFuY2UucG9wQ2FyZCgpO1xufVxuXG5jb25zdCBCYXNlQ2FyZDogUmVhY3QuRkM8SVByb3BzPiA9IGZvcndhcmRSZWY8SFRNTERpdkVsZW1lbnQsIElQcm9wcz4oXG4gICAgKFxuICAgICAgICB7XG4gICAgICAgICAgICBjbG9zZUxhYmVsLFxuICAgICAgICAgICAgb25DbG9zZSxcbiAgICAgICAgICAgIG9uQmFjayxcbiAgICAgICAgICAgIGNsYXNzTmFtZSxcbiAgICAgICAgICAgIGlkLFxuICAgICAgICAgICAgYXJpYUxhYmVsbGVkQnksXG4gICAgICAgICAgICByb2xlLFxuICAgICAgICAgICAgaGlkZUhlYWRlckJ1dHRvbnMsXG4gICAgICAgICAgICBoZWFkZXIsXG4gICAgICAgICAgICBmb290ZXIsXG4gICAgICAgICAgICB3aXRob3V0U2Nyb2xsQ29udGFpbmVyLFxuICAgICAgICAgICAgY2hpbGRyZW4sXG4gICAgICAgICAgICBvbktleURvd24sXG4gICAgICAgICAgICBjbG9zZUJ1dHRvblJlZixcbiAgICAgICAgfSxcbiAgICAgICAgcmVmLFxuICAgICkgPT4ge1xuICAgICAgICBsZXQgYmFja0J1dHRvbjtcbiAgICAgICAgY29uc3QgY2FyZEhpc3RvcnkgPSBSaWdodFBhbmVsU3RvcmUuaW5zdGFuY2Uucm9vbVBoYXNlSGlzdG9yeTtcbiAgICAgICAgaWYgKGNhcmRIaXN0b3J5Lmxlbmd0aCA+IDEgJiYgIWhpZGVIZWFkZXJCdXR0b25zKSB7XG4gICAgICAgICAgICBjb25zdCBwcmV2Q2FyZCA9IGNhcmRIaXN0b3J5W2NhcmRIaXN0b3J5Lmxlbmd0aCAtIDJdO1xuICAgICAgICAgICAgY29uc3Qgb25CYWNrQ2xpY2sgPSAoZXY6IE1vdXNlRXZlbnQ8SFRNTEJ1dHRvbkVsZW1lbnQ+KTogdm9pZCA9PiB7XG4gICAgICAgICAgICAgICAgb25CYWNrPy4oZXYpO1xuICAgICAgICAgICAgICAgIFJpZ2h0UGFuZWxTdG9yZS5pbnN0YW5jZS5wb3BDYXJkKCk7XG4gICAgICAgICAgICB9O1xuICAgICAgICAgICAgY29uc3QgbGFiZWwgPSBiYWNrTGFiZWxGb3JQaGFzZShwcmV2Q2FyZC5waGFzZSkgPz8gX3QoXCJhY3Rpb258YmFja1wiKTtcbiAgICAgICAgICAgIGJhY2tCdXR0b24gPSAoXG4gICAgICAgICAgICAgICAgPEljb25CdXR0b25cbiAgICAgICAgICAgICAgICAgICAgc2l6ZT1cIjI4cHhcIlxuICAgICAgICAgICAgICAgICAgICBkYXRhLXRlc3RpZD1cImJhc2UtY2FyZC1iYWNrLWJ1dHRvblwiXG4gICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9e29uQmFja0NsaWNrfVxuICAgICAgICAgICAgICAgICAgICB0b29sdGlwPXtsYWJlbH1cbiAgICAgICAgICAgICAgICAgICAgc3VidGxlQmFja2dyb3VuZFxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgPENoZXZyb25MZWZ0SWNvbiAvPlxuICAgICAgICAgICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgICAgICAgICk7XG4gICAgICAgIH1cblxuICAgICAgICBsZXQgY2xvc2VCdXR0b247XG4gICAgICAgIGlmICghaGlkZUhlYWRlckJ1dHRvbnMpIHtcbiAgICAgICAgICAgIGNsb3NlQnV0dG9uID0gKFxuICAgICAgICAgICAgICAgIDxJY29uQnV0dG9uXG4gICAgICAgICAgICAgICAgICAgIHNpemU9XCIyOHB4XCJcbiAgICAgICAgICAgICAgICAgICAgZGF0YS10ZXN0aWQ9XCJiYXNlLWNhcmQtY2xvc2UtYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAgICAgb25DbGljaz17b25DbG9zZSA/PyBjbG9zZVJpZ2h0UGFuZWx9XG4gICAgICAgICAgICAgICAgICAgIHJlZj17Y2xvc2VCdXR0b25SZWZ9XG4gICAgICAgICAgICAgICAgICAgIHRvb2x0aXA9e2Nsb3NlTGFiZWwgPz8gX3QoXCJhY3Rpb258Y2xvc2VcIil9XG4gICAgICAgICAgICAgICAgICAgIHN1YnRsZUJhY2tncm91bmRcbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxDbG9zZUljb24gLz5cbiAgICAgICAgICAgICAgICA8L0ljb25CdXR0b24+XG4gICAgICAgICAgICApO1xuICAgICAgICB9XG5cbiAgICAgICAgaWYgKCF3aXRob3V0U2Nyb2xsQ29udGFpbmVyKSB7XG4gICAgICAgICAgICBjaGlsZHJlbiA9IDxBdXRvSGlkZVNjcm9sbGJhcj57Y2hpbGRyZW59PC9BdXRvSGlkZVNjcm9sbGJhcj47XG4gICAgICAgIH1cblxuICAgICAgICBjb25zdCBzaG91bGRSZW5kZXJIZWFkZXIgPSBoZWFkZXIgfHwgIWhpZGVIZWFkZXJCdXR0b25zO1xuXG4gICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICA8Q2FyZENvbnRleHQuUHJvdmlkZXIgdmFsdWU9e3sgaXNDYXJkOiB0cnVlIH19PlxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgaWQ9e2lkfVxuICAgICAgICAgICAgICAgICAgICBhcmlhLWxhYmVsbGVkYnk9e2FyaWFMYWJlbGxlZEJ5fVxuICAgICAgICAgICAgICAgICAgICByb2xlPXtyb2xlfVxuICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoXCJteF9CYXNlQ2FyZFwiLCBjbGFzc05hbWUpfVxuICAgICAgICAgICAgICAgICAgICByZWY9e3JlZn1cbiAgICAgICAgICAgICAgICAgICAgb25LZXlEb3duPXtvbktleURvd259XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7c2hvdWxkUmVuZGVySGVhZGVyICYmIChcbiAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXhfQmFzZUNhcmRfaGVhZGVyXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge2JhY2tCdXR0b259XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAge3R5cGVvZiBoZWFkZXIgPT09IFwic3RyaW5nXCIgPyAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwibXhfQmFzZUNhcmRfaGVhZGVyX3RpdGxlXCI+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8VGV4dFxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNpemU9XCJtZFwiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgd2VpZ2h0PVwibWVkaXVtXCJcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJteF9CYXNlQ2FyZF9oZWFkZXJfdGl0bGVfaGVhZGluZ1wiXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgcm9sZT1cImhlYWRpbmdcIlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIHtoZWFkZXJ9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgICA8L1RleHQ+XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgICAgIChoZWFkZXIgPz8gPGRpdiBjbGFzc05hbWU9XCJteF9CYXNlQ2FyZF9oZWFkZXJfc3BhY2VyXCIgLz4pXG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICB7Y2xvc2VCdXR0b259XG4gICAgICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAge2NoaWxkcmVufVxuICAgICAgICAgICAgICAgICAgICB7Zm9vdGVyICYmIDxkaXYgY2xhc3NOYW1lPVwibXhfQmFzZUNhcmRfZm9vdGVyXCI+e2Zvb3Rlcn08L2Rpdj59XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8L0NhcmRDb250ZXh0LlByb3ZpZGVyPlxuICAgICAgICApO1xuICAgIH0sXG4pO1xuXG5leHBvcnQgZGVmYXVsdCBCYXNlQ2FyZDtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQVFBLElBQUFBLE1BQUEsR0FBQUMsdUJBQUEsQ0FBQUMsT0FBQTtBQUNBLElBQUFDLFdBQUEsR0FBQUMsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFHLFlBQUEsR0FBQUgsT0FBQTtBQUNBLElBQUFJLE1BQUEsR0FBQUYsc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFLLFlBQUEsR0FBQUgsc0JBQUEsQ0FBQUYsT0FBQTtBQUVBLElBQUFNLGtCQUFBLEdBQUFKLHNCQUFBLENBQUFGLE9BQUE7QUFDQSxJQUFBTyxnQkFBQSxHQUFBUCxPQUFBO0FBQ0EsSUFBQVEsZ0JBQUEsR0FBQU4sc0JBQUEsQ0FBQUYsT0FBQTtBQUNBLElBQUFTLHNCQUFBLEdBQUFULE9BQUE7QUFDQSxJQUFBVSxRQUFBLEdBQUFWLE9BQUE7QUFBd0MsU0FBQVcseUJBQUFDLENBQUEsNkJBQUFDLE9BQUEsbUJBQUFDLENBQUEsT0FBQUQsT0FBQSxJQUFBRSxDQUFBLE9BQUFGLE9BQUEsWUFBQUYsd0JBQUEsWUFBQUEsQ0FBQUMsQ0FBQSxXQUFBQSxDQUFBLEdBQUFHLENBQUEsR0FBQUQsQ0FBQSxLQUFBRixDQUFBO0FBQUEsU0FBQWIsd0JBQUFhLENBQUEsRUFBQUUsQ0FBQSxTQUFBQSxDQUFBLElBQUFGLENBQUEsSUFBQUEsQ0FBQSxDQUFBSSxVQUFBLFNBQUFKLENBQUEsZUFBQUEsQ0FBQSx1QkFBQUEs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