@projectcor/maia-components 2.11.26-11 → 2.11.26-2

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (50) hide show
  1. package/lib/components/atoms/ApprovalBox/ApprovalBox.js +36 -95
  2. package/lib/components/atoms/ApprovalBox/ApprovalBox.styles.js +47 -46
  3. package/lib/components/atoms/FeedbackButton/FeedbackButton.styles.js +2 -2
  4. package/lib/components/atoms/MAIAInput/MAIAInput.js +9 -3
  5. package/lib/components/atoms/MAIAInput/styles.js +26 -23
  6. package/lib/components/atoms/icons/ChatConversation.js +40 -0
  7. package/lib/components/atoms/icons/MaiaChatLayoutMenuIcon.js +33 -0
  8. package/lib/components/atoms/icons/index.js +3 -1
  9. package/lib/components/molecules/ChatAIHistory/ChatAIHistory.js +16 -3
  10. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +54 -44
  11. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.styles.js +2 -2
  12. package/lib/components/molecules/ChatAIHome/styles.js +43 -35
  13. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +120 -8
  14. package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +28 -15
  15. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +82 -23
  16. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +19 -12
  17. package/lib/components/molecules/ChatAIModal/layout.js +35 -0
  18. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.js +7 -7
  19. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.styles.js +5 -5
  20. package/lib/components/molecules/Sidebar/Sidebar.js +257 -322
  21. package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +18 -23
  22. package/lib/components/molecules/Sidebar/Sidebar.styles.js +54 -37
  23. package/lib/components/molecules/Sidebar/SidebarChats.styles.js +73 -0
  24. package/lib/components/molecules/Sidebar/SidebarChatsSection.js +69 -0
  25. package/lib/components/molecules/Sidebar/SidebarChatsSectionModal.js +151 -0
  26. package/lib/components/molecules/Sidebar/SidebarHistoryChat.js +238 -0
  27. package/lib/components/molecules/Sidebar/sidebarChats.helpers.js +70 -0
  28. package/lib/components/molecules/Sidebar/sidebarChats.types.js +14 -0
  29. package/lib/dev/Providers.js +2 -2
  30. package/lib/dev/fixtures/devUser.js +173 -0
  31. package/lib/dev/fixtures/mockedUser.js +169 -0
  32. package/lib/hooks/useChatManager/useChatManager.js +4 -15
  33. package/lib/hooks/useChats/useChats.js +12 -4
  34. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +3 -3
  35. package/lib/lang/br/index.js +15 -4
  36. package/lib/lang/en/index.js +15 -4
  37. package/lib/lang/es/index.js +15 -4
  38. package/lib/lang/fr/index.js +15 -3
  39. package/lib/services/maia/Chats/getChatMessagesV2.js +114 -0
  40. package/lib/services/maia/Chats/getChatsByUserId.js +14 -8
  41. package/lib/services/maia/Chats/getSessionsGroupedV2.js +70 -0
  42. package/lib/services/maia/Chats/index.js +5 -1
  43. package/lib/services/maia/client.js +44 -9
  44. package/lib/store/chatsStore.types.js +10 -2
  45. package/lib/store/useChatsStore.js +75 -37
  46. package/lib/types/Chat.js +3 -1
  47. package/package.json +1 -1
  48. package/lib/mocks/mockChats.js +0 -395
  49. package/lib/mocks/mockedUser.js +0 -169
  50. package/lib/utils/hitlAnalytics.js +0 -25
@@ -9,19 +9,24 @@ import { useTranslation } from 'react-i18next';
9
9
  import { SECTIONS } from '../../../../../constants/config';
10
10
  import { useGlobalContext } from '../../../../../context/global-context';
11
11
  import { useResizeListener } from '../../../../../hooks/useResize';
12
- import { Expand } from '../../../../atoms/Expand';
13
12
  import { IconButton } from '../../../../atoms/IconButton';
14
- import { MAIAIcon } from '../../../../atoms/icons';
13
+ import { MAIAIcon, MaiaChatLayoutMenuIcon } from '../../../../atoms/icons';
15
14
  import { ChatAIAgentOption } from '../ChatAiAgentOptions/ChatAiAgentOptions';
16
- import { SCCAIMHModal, SCCAIMHSelectedAgent, SCCAIMHSelectedAgentText, SCCAIMHWrapper, SCCAIMHWrapperButton, SCCAIMHWrapperIcon, SCCAIMHWrapperModal, SCCAIMHWrapperModalContent, SCCAIMHWrapperModalContentTitle, SCCAIMHDivider, SCCAIMHAgentsList, SCCAIMHLoaderWrapper, SCCAIWrapper } from './ChatAiModalHeader.styles';
15
+ import { SCCAIMHModal, SCCAIMHSelectedAgent, SCCAIMHSelectedAgentText, SCCAIMHWrapper, SCCAIMHWrapperButton, SCCAIMHWrapperIcon, SCCAIMHWrapperModal, SCCAIMHWrapperModalContent, SCCAIMHWrapperModalContentTitle, SCCAIMHDivider, SCCAIMHAgentsList, SCCAIMHLoaderWrapper, SCCAIWrapper, SCCAIMHLayoutMenuAnchor, SCCAIMHLayoutMenuPanel, SCCAIMHLayoutMenuRow } from './ChatAiModalHeader.styles';
17
16
  import { EVENTS, useEvent } from '../../../../../hooks/useEvent';
18
17
  import { CORUserRole, useUser } from '../../../../../context/cor-user';
19
18
  import { ChipLlm } from '../../../../atoms/ChipLlm';
20
19
  import { Loader } from '../../../../atoms/Loader';
21
20
  import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
22
21
  export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
23
- var expanded = _ref.expanded,
24
- setExpanded = _ref.setExpanded,
22
+ var layoutMode = _ref.layoutMode,
23
+ onLayoutModeChange = _ref.onLayoutModeChange,
24
+ expanded = _ref.expanded,
25
+ _ref$draggable = _ref.draggable,
26
+ draggable = _ref$draggable === void 0 ? false : _ref$draggable,
27
+ onDragStart = _ref.onDragStart,
28
+ onDragMove = _ref.onDragMove,
29
+ onDragEnd = _ref.onDragEnd,
25
30
  _ref$handleClose = _ref.handleClose,
26
31
  handleClose = _ref$handleClose === void 0 ? function () {
27
32
  return null;
@@ -57,6 +62,11 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
57
62
  setIsExpanded = _useState2[1];
58
63
  var textRefAgent = useRef(null);
59
64
  var dropdownRef = useRef(null);
65
+ var layoutMenuRef = useRef(null);
66
+ var _useState3 = useState(false),
67
+ _useState4 = _slicedToArray(_useState3, 2),
68
+ layoutMenuOpen = _useState4[0],
69
+ setLayoutMenuOpen = _useState4[1];
60
70
  var _useResizeListener = useResizeListener(textRefAgent, [selectedAgent === null || selectedAgent === void 0 ? void 0 : selectedAgent.name]),
61
71
  showTooltipAgent = _useResizeListener.showTooltip;
62
72
  var agentsRef = useRef(null);
@@ -139,22 +149,35 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
139
149
  });
140
150
  };
141
151
  useEffect(function () {
152
+ if (!isExpanded && !layoutMenuOpen) {
153
+ return undefined;
154
+ }
142
155
  var handleClickOutside = function handleClickOutside(event) {
143
- if (dropdownRef.current && !dropdownRef.current.contains(event.target)) {
156
+ var target = event.target;
157
+ if (isExpanded && dropdownRef.current && !dropdownRef.current.contains(target)) {
144
158
  setIsExpanded(false);
145
159
  }
160
+ if (layoutMenuOpen && layoutMenuRef.current && !layoutMenuRef.current.contains(target)) {
161
+ setLayoutMenuOpen(false);
162
+ }
146
163
  };
147
- if (isExpanded) {
148
- document.addEventListener('mousedown', handleClickOutside);
149
- }
164
+ document.addEventListener('mousedown', handleClickOutside);
150
165
  return function () {
151
166
  document.removeEventListener('mousedown', handleClickOutside);
152
167
  };
153
- }, [isExpanded]);
168
+ }, [isExpanded, layoutMenuOpen]);
169
+ var handlePickLayout = useCallback(function (mode) {
170
+ amplitudEvent(EVENTS.projectResumeExpand, {
171
+ expanded: mode === 'fullscreen'
172
+ });
173
+ onLayoutModeChange(mode);
174
+ setLayoutMenuOpen(false);
175
+ }, [amplitudEvent, onLayoutModeChange]);
154
176
  var userRolesDisabled = [CORUserRole.COLLABORATOR, CORUserRole.FREELANCER, CORUserRole.CLIENT];
155
177
  var renderModal = function renderModal() {
156
178
  return /*#__PURE__*/_jsxs(SCCAIMHWrapper, {
157
179
  ref: dropdownRef,
180
+ "data-no-drag": "true",
158
181
  onClick: agents.length ? handleExpandModal : undefined,
159
182
  id: "chat-ai-modal-header-wrapper",
160
183
  children: [/*#__PURE__*/_jsx(SCCAIMHSelectedAgent, {
@@ -213,18 +236,12 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
213
236
  })]
214
237
  });
215
238
  }()
216
- }), agentsForSelector.some(function (agent) {
217
- return agent.type === 'custom';
218
- }) && window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS && /*#__PURE__*/_jsxs(_Fragment, {
219
- children: [/*#__PURE__*/_jsxs(SCCAIMHWrapperModalContentTitle, {
220
- children: [t('agents'), " by ", user.company]
221
- }), /*#__PURE__*/_jsx(SCCAIMHDivider, {})]
222
239
  }), /*#__PURE__*/_jsxs(SCCAIMHAgentsList, {
223
240
  hasMore: hasMore,
224
241
  agentsCount: agentsForSelector.length,
225
242
  ref: agentsRef,
226
243
  children: [agentsForSelector === null || agentsForSelector === void 0 ? void 0 : agentsForSelector.map(function (agent, index) {
227
- if (agent !== null && agent !== void 0 && agent.is_deleted || agent !== null && agent !== void 0 && agent.has_not_permissions || agent !== null && agent !== void 0 && agent.has_not_access || (agent === null || agent === void 0 ? void 0 : agent.type) === 'clone' || (agent === null || agent === void 0 ? void 0 : agent.type) === 'custom' && !window.MAIA_CHAT_AI_FEATURE_ACCESS_MULTI_AGENTS) return null;
244
+ if (agent !== null && agent !== void 0 && agent.is_deleted || agent !== null && agent !== void 0 && agent.has_not_permissions || agent !== null && agent !== void 0 && agent.has_not_access || (agent === null || agent === void 0 ? void 0 : agent.type) === 'clone' || (agent === null || agent === void 0 ? void 0 : agent.type) === 'custom') return null;
228
245
  return /*#__PURE__*/_jsx(ChatAIAgentOption, {
229
246
  agent: agent,
230
247
  index: index,
@@ -250,15 +267,57 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
250
267
  $hasError: hasError,
251
268
  $loading: loading,
252
269
  $hasAgents: !!agents.length,
270
+ onPointerDown: draggable ? onDragStart : undefined,
271
+ onPointerMove: draggable ? onDragMove : undefined,
272
+ onPointerUp: draggable ? onDragEnd : undefined,
273
+ onPointerCancel: draggable ? onDragEnd : undefined,
274
+ onLostPointerCapture: draggable ? onDragEnd : undefined,
275
+ style: {
276
+ cursor: draggable ? 'grab' : undefined,
277
+ touchAction: draggable ? 'manipulation' : undefined
278
+ },
253
279
  children: [shouldRenderSelector ? renderModal() : /*#__PURE__*/_jsx("div", {}), /*#__PURE__*/_jsxs(SCCAIMHWrapperButton, {
280
+ "data-no-drag": "true",
254
281
  children: [selectedAgentType && selectedModelLlm && /*#__PURE__*/_jsx(ChipLlm, {
255
282
  model: selectedModelLlm,
256
283
  expanded: expanded
257
- }), /*#__PURE__*/_jsx(Expand, {
258
- expanded: expanded,
259
- handleClick: function handleClick() {
260
- return setExpanded(!expanded);
261
- }
284
+ }), /*#__PURE__*/_jsxs(SCCAIMHLayoutMenuAnchor, {
285
+ ref: layoutMenuRef,
286
+ "data-no-drag": "true",
287
+ children: [/*#__PURE__*/_jsx(IconButton, {
288
+ buttonId: "btn-maia-layout-menu",
289
+ handleClick: function handleClick() {
290
+ return setLayoutMenuOpen(function (prev) {
291
+ return !prev;
292
+ });
293
+ },
294
+ tooltip: t('layoutMenuTooltip'),
295
+ children: /*#__PURE__*/_jsx(MaiaChatLayoutMenuIcon, {})
296
+ }), layoutMenuOpen ? /*#__PURE__*/_jsxs(SCCAIMHLayoutMenuPanel, {
297
+ role: "menu",
298
+ children: [/*#__PURE__*/_jsx(SCCAIMHLayoutMenuRow, {
299
+ type: "button",
300
+ $active: layoutMode === 'sidebar',
301
+ onClick: function onClick() {
302
+ return handlePickLayout('sidebar');
303
+ },
304
+ children: t('layoutSidebar')
305
+ }), /*#__PURE__*/_jsx(SCCAIMHLayoutMenuRow, {
306
+ type: "button",
307
+ $active: layoutMode === 'fullscreen',
308
+ onClick: function onClick() {
309
+ return handlePickLayout('fullscreen');
310
+ },
311
+ children: t('layoutFullscreen')
312
+ }), /*#__PURE__*/_jsx(SCCAIMHLayoutMenuRow, {
313
+ type: "button",
314
+ $active: layoutMode === 'floating',
315
+ onClick: function onClick() {
316
+ return handlePickLayout('floating');
317
+ },
318
+ children: t('layoutFloating')
319
+ })]
320
+ }) : null]
262
321
  }), /*#__PURE__*/_jsx(IconButton, {
263
322
  handleClick: handleClose,
264
323
  tooltip: t('globals.close'),
@@ -267,4 +326,4 @@ export var ChatAIModalHeader = function ChatAIModalHeader(_ref) {
267
326
  })]
268
327
  });
269
328
  };
270
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIlRvb2x0aXAiLCJDcm9zcyIsIkNoZXZyb25Eb3duIiwidXNlVHJhbnNsYXRpb24iLCJTRUNUSU9OUyIsInVzZUdsb2JhbENvbnRleHQiLCJ1c2VSZXNpemVMaXN0ZW5lciIsIkV4cGFuZCIsIkljb25CdXR0b24iLCJNQUlBSWNvbiIsIkNoYXRBSUFnZW50T3B0aW9uIiwiU0NDQUlNSE1vZGFsIiwiU0NDQUlNSFNlbGVjdGVkQWdlbnQiLCJTQ0NBSU1IU2VsZWN0ZWRBZ2VudFRleHQiLCJTQ0NBSU1IV3JhcHBlciIsIlNDQ0FJTUhXcmFwcGVyQnV0dG9uIiwiU0NDQUlNSFdyYXBwZXJJY29uIiwiU0NDQUlNSFdyYXBwZXJNb2RhbCIsIlNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50IiwiU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnRUaXRsZSIsIlNDQ0FJTUhEaXZpZGVyIiwiU0NDQUlNSEFnZW50c0xpc3QiLCJTQ0NBSU1ITG9hZGVyV3JhcHBlciIsIlNDQ0FJV3JhcHBlciIsIkVWRU5UUyIsInVzZUV2ZW50IiwiQ09SVXNlclJvbGUiLCJ1c2VVc2VyIiwiQ2hpcExsbSIsIkxvYWRlciIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsIkNoYXRBSU1vZGFsSGVhZGVyIiwiX3JlZiIsImV4cGFuZGVkIiwic2V0RXhwYW5kZWQiLCJfcmVmJGhhbmRsZUNsb3NlIiwiaGFuZGxlQ2xvc2UiLCJfcmVmJGFnZW50cyIsImFnZW50cyIsIl9yZWYkaGFzRXJyb3IiLCJoYXNFcnJvciIsIl9yZWYkbG9hZGluZyIsImxvYWRpbmciLCJfcmVmJGxvYWRpbmdNb3JlIiwibG9hZGluZ01vcmUiLCJfcmVmJGhhc01vcmUiLCJoYXNNb3JlIiwiaGFuZGxlUmVzZXRDaGF0Iiwib25BZ2VudFVwZGF0ZSIsImxvYWRNb3JlQWdlbnRzIiwic29ydEFnZW50c0xpc3QiLCJfcmVmJGhpZGVBZ2VudFNlbGVjdG8iLCJoaWRlQWdlbnRTZWxlY3RvciIsIl91c2VUcmFuc2xhdGlvbiIsImFibUFnZW50IiwidCIsInVzZXIiLCJhbXBsaXR1ZEV2ZW50IiwiX3VzZUdsb2JhbENvbnRleHQiLCJzZWxlY3RlZEFnZW50IiwiYWdlbnQiLCJzZWxlY3RBZ2VudCIsInNldFByb2plY3QiLCJzZXRDbGllbnQiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJpc0V4cGFuZGVkIiwic2V0SXNFeHBhbmRlZCIsInRleHRSZWZBZ2VudCIsImRyb3Bkb3duUmVmIiwiX3VzZVJlc2l6ZUxpc3RlbmVyIiwibmFtZSIsInNob3dUb29sdGlwQWdlbnQiLCJzaG93VG9vbHRpcCIsImFnZW50c1JlZiIsImFnZW50c0ZvclNlbGVjdG9yIiwiZmlsdGVyIiwiYWdlbnRJdGVtIiwiZW50aXR5IiwidW5kZWZpbmVkIiwiaGFuZGxlU2Nyb2xsIiwiY3VycmVudCIsIl9hZ2VudHNSZWYkY3VycmVudCIsInNjcm9sbFRvcCIsInNjcm9sbEhlaWdodCIsImNsaWVudEhlaWdodCIsImRpc3RhbmNlRnJvbUJvdHRvbSIsInRpbWVvdXRJZCIsInNldFRpbWVvdXQiLCJzY3JvbGxFbGVtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsImNsZWFyVGltZW91dCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJsb2NhbEFnZW50cyIsIl9yZWYyIiwiaXNfZGVsZXRlZCIsImhhc19ub3RfcGVybWlzc2lvbnMiLCJoYXNfbm90X2FjY2VzcyIsImlzX2Zyb21fY29udmVyc2F0aW9uIiwiZnJvbUxpc3QiLCJmaW5kIiwiaWQiLCJoYW5kbGVTZWxlY3RBZ2VudCIsImFpQ2hhdEFnZW50U2VsZWN0IiwiYWdlbnRfdHlwZSIsInR5cGUiLCJoYW5kbGVFeHBhbmRNb2RhbCIsImFpQ2hhdE9wZW5BZ2VudFNlbGVjdCIsInByZXYiLCJoYW5kbGVDbGlja091dHNpZGUiLCJldmVudCIsImNvbnRhaW5zIiwidGFyZ2V0IiwiZG9jdW1lbnQiLCJ1c2VyUm9sZXNEaXNhYmxlZCIsIkNPTExBQk9SQVRPUiIsIkZSRUVMQU5DRVIiLCJDTElFTlQiLCJyZW5kZXJNb2RhbCIsInJlZiIsIm9uQ2xpY2siLCJsZW5ndGgiLCJjaGlsZHJlbiIsInRpdGxlIiwic3R5bGUiLCJkaXNwbGF5IiwiYWxpZ25JdGVtcyIsImdhcCIsImVtb2ppIiwicGxhY2VtZW50IiwiaXNBZ2VudERlbGV0ZWQiLCJ3aWR0aCIsImhlaWdodCIsImNvbG9yIiwid2luZG93IiwiTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTIiwiaW5jbHVkZXMiLCJyb2xlX2lkIiwiY2xvbmVBZ2VudHMiLCJhZyIsImlzQ2xvbmUiLCJtYXAiLCJjbG9uZUFnZW50IiwiaW5kZXgiLCJpc1NlbGVjdGVkIiwiaXNNYWlhIiwib25GYXZvcml0ZVRvZ2dsZSIsImNvbmNhdCIsInNvbWUiLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIiwiY29tcGFueSIsImFnZW50c0NvdW50Iiwic2l6ZSIsInNlbGVjdGVkTW9kZWxMbG0iLCJtb2RlbF9kaXNwbGF5X25hbWUiLCJzZWxlY3RlZEFnZW50VHlwZSIsInNob3VsZFJlbmRlclNlbGVjdG9yIiwiJGhhc0Vycm9yIiwiJGxvYWRpbmciLCIkaGFzQWdlbnRzIiwibW9kZWwiLCJoYW5kbGVDbGljayIsInRvb2x0aXAiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJTW9kYWwvY29tcG9uZW50cy9DaGF0QWlNb2RhbEhlYWRlci9DaGF0QWlNb2RhbEhlYWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L2luZGVudCAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tbmVzdGVkLXRlcm5hcnkgKi9cbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2ssIHVzZU1lbW8gfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tICdAcHJvamVjdGNvci90b29sdGlwdjIvbGliL2NvbXBvbmVudHMvVG9vbHRpcCdcbmltcG9ydCB7IENyb3NzIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ3Jvc3MnXG5pbXBvcnQgeyBDaGV2cm9uRG93biB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0NoZXZyb25Eb3duJ1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHsgdXNlR2xvYmFsQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbnRleHQvZ2xvYmFsLWNvbnRleHQnXG5pbXBvcnQgeyB1c2VSZXNpemVMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2hvb2tzL3VzZVJlc2l6ZSdcbmltcG9ydCB7IEV4cGFuZCB9IGZyb20gJy4uLy4uLy4uLy4uL2F0b21zL0V4cGFuZCdcbmltcG9ydCB7IEljb25CdXR0b24gfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9JY29uQnV0dG9uJ1xuaW1wb3J0IHsgTUFJQUljb24gfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9pY29ucydcbmltcG9ydCB7IENoYXRBSUFnZW50T3B0aW9uIH0gZnJvbSAnLi4vQ2hhdEFpQWdlbnRPcHRpb25zL0NoYXRBaUFnZW50T3B0aW9ucydcbmltcG9ydCB7XG4gIFNDQ0FJTUhNb2RhbCxcbiAgU0NDQUlNSFNlbGVjdGVkQWdlbnQsXG4gIFNDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dCxcbiAgU0NDQUlNSFdyYXBwZXIsXG4gIFNDQ0FJTUhXcmFwcGVyQnV0dG9uLFxuICBTQ0NBSU1IV3JhcHBlckljb24sXG4gIFNDQ0FJTUhXcmFwcGVyTW9kYWwsXG4gIFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50LFxuICBTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlLFxuICBTQ0NBSU1IRGl2aWRlcixcbiAgU0NDQUlNSEFnZW50c0xpc3QsXG4gIFNDQ0FJTUhMb2FkZXJXcmFwcGVyLFxuICBTQ0NBSVdyYXBwZXIsXG59IGZyb20gJy4vQ2hhdEFpTW9kYWxIZWFkZXIuc3R5bGVzJ1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHsgQ09SVXNlclJvbGUsIHVzZVVzZXIgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi9jb250ZXh0L2Nvci11c2VyJ1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tICcuLi8uLi8uLi8uLi8uLi90eXBlcy9hZ2VudCdcbmltcG9ydCB7IENoaXBMbG0gfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9DaGlwTGxtJ1xuaW1wb3J0IHsgTG9hZGVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vYXRvbXMvTG9hZGVyJ1xuXG5leHBvcnQgY29uc3QgQ2hhdEFJTW9kYWxIZWFkZXIgPSAoe1xuICBleHBhbmRlZCxcbiAgc2V0RXhwYW5kZWQsXG4gIGhhbmRsZUNsb3NlID0gKCkgPT4gbnVsbCxcbiAgYWdlbnRzID0gW10sXG4gIGhhc0Vycm9yID0gZmFsc2UsXG4gIGxvYWRpbmcgPSBmYWxzZSxcbiAgbG9hZGluZ01vcmUgPSBmYWxzZSxcbiAgaGFzTW9yZSA9IGZhbHNlLFxuICBoYW5kbGVSZXNldENoYXQsXG4gIG9uQWdlbnRVcGRhdGUsXG4gIGxvYWRNb3JlQWdlbnRzLFxuICBzb3J0QWdlbnRzTGlzdCxcbiAgaGlkZUFnZW50U2VsZWN0b3IgPSBmYWxzZSxcbn06IHtcbiAgZXhwYW5kZWQ6IGJvb2xlYW5cbiAgc2V0RXhwYW5kZWQ6IChleHBhbmRlZDogYm9vbGVhbikgPT4gdm9pZFxuICBoYW5kbGVDbG9zZT86ICgpID0+IHZvaWRcbiAgYWdlbnRzOiBBZ2VudFtdXG4gIGhhc0Vycm9yOiBib29sZWFuXG4gIGxvYWRpbmc6IGJvb2xlYW5cbiAgbG9hZGluZ01vcmU/OiBib29sZWFuXG4gIGhhc01vcmU/OiBib29sZWFuXG4gIGhhbmRsZVJlc2V0Q2hhdDogKCkgPT4gdm9pZFxuICBvbkFnZW50VXBkYXRlPzogKHVwZGF0ZWRBZ2VudDogQWdlbnQpID0+IHZvaWRcbiAgbG9hZE1vcmVBZ2VudHM/OiAoKSA9PiB2b2lkXG4gIHNvcnRBZ2VudHNMaXN0PzogKCkgPT4gdm9pZFxuICBoaWRlQWdlbnRTZWxlY3Rvcj86IGJvb2xlYW5cbn0pID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUcmFuc2xhdGlvbihbU0VDVElPTlMuYWJtQWdlbnRdKVxuICBjb25zdCB1c2VyID0gdXNlVXNlcigpXG4gIGNvbnN0IGFtcGxpdHVkRXZlbnQgPSB1c2VFdmVudCgpXG4gIGNvbnN0IHsgYWdlbnQ6IHNlbGVjdGVkQWdlbnQsIHNlbGVjdEFnZW50LCBzZXRQcm9qZWN0LCBzZXRDbGllbnQgfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuICBjb25zdCBbaXNFeHBhbmRlZCwgc2V0SXNFeHBhbmRlZF0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgdGV4dFJlZkFnZW50ID0gdXNlUmVmPEhUTUxTcGFuRWxlbWVudD4obnVsbClcbiAgY29uc3QgZHJvcGRvd25SZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHsgc2hvd1Rvb2x0aXA6IHNob3dUb29sdGlwQWdlbnQgfSA9IHVzZVJlc2l6ZUxpc3RlbmVyKHRleHRSZWZBZ2VudCwgW3NlbGVjdGVkQWdlbnQ/Lm5hbWVdKVxuICBjb25zdCBhZ2VudHNSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG5cbiAgY29uc3QgYWdlbnRzRm9yU2VsZWN0b3IgPSB1c2VNZW1vKCgpID0+IGFnZW50cy5maWx0ZXIoYWdlbnRJdGVtID0+IGFnZW50SXRlbS5lbnRpdHkgIT09ICdnbG9iYWwnKSwgW2FnZW50c10pXG5cbiAgLy8gTWFuZWphciBzY3JvbGwgaW5maW5pdG8gcGFyYSBjYXJnYXIgbcOhcyBhZ2VudHNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICAvLyBTb2xvIGN1YW5kbyBlbCBkcm9wZG93biBlc3TDqSBhYmllcnRvXG4gICAgaWYgKCFpc0V4cGFuZGVkKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKCkgPT4ge1xuICAgICAgaWYgKCFhZ2VudHNSZWYuY3VycmVudCB8fCAhbG9hZE1vcmVBZ2VudHMgfHwgIWhhc01vcmUgfHwgbG9hZGluZ01vcmUpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG5cbiAgICAgIGNvbnN0IHsgc2Nyb2xsVG9wLCBzY3JvbGxIZWlnaHQsIGNsaWVudEhlaWdodCB9ID0gYWdlbnRzUmVmLmN1cnJlbnRcbiAgICAgIGNvbnN0IGRpc3RhbmNlRnJvbUJvdHRvbSA9IHNjcm9sbEhlaWdodCAtIHNjcm9sbFRvcCAtIGNsaWVudEhlaWdodFxuXG4gICAgICAvLyBDYXJnYXIgbcOhcyAoNTBweCBhbnRlcylcbiAgICAgIGlmIChkaXN0YW5jZUZyb21Cb3R0b20gPCA1MCkge1xuICAgICAgICBsb2FkTW9yZUFnZW50cygpXG4gICAgICB9XG4gICAgfVxuXG4gICAgLy8gZGVsYXkgcGFyYSBhc2VndXJhciBxdWUgZWwgRE9NIGVzdMOpIHJlbmRlcml6YWRvXG4gICAgY29uc3QgdGltZW91dElkID0gc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICBjb25zdCBzY3JvbGxFbGVtZW50ID0gYWdlbnRzUmVmLmN1cnJlbnRcbiAgICAgIGlmIChzY3JvbGxFbGVtZW50KSB7XG4gICAgICAgIHNjcm9sbEVsZW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKVxuICAgICAgfVxuICAgIH0sIDEwMClcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBjbGVhclRpbWVvdXQodGltZW91dElkKVxuICAgICAgY29uc3Qgc2Nyb2xsRWxlbWVudCA9IGFnZW50c1JlZi5jdXJyZW50XG4gICAgICBpZiAoc2Nyb2xsRWxlbWVudCkge1xuICAgICAgICBzY3JvbGxFbGVtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbClcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtpc0V4cGFuZGVkLCBsb2FkTW9yZUFnZW50cywgaGFzTW9yZSwgbG9hZGluZ01vcmVdKVxuXG4gIGNvbnN0IGxvY2FsQWdlbnRzID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKFxuICAgICAgc2VsZWN0ZWRBZ2VudD8uaXNfZGVsZXRlZCB8fFxuICAgICAgc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9wZXJtaXNzaW9ucyB8fFxuICAgICAgc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9hY2Nlc3MgfHxcbiAgICAgIHNlbGVjdGVkQWdlbnQ/LmlzX2Zyb21fY29udmVyc2F0aW9uXG4gICAgKSB7XG4gICAgICByZXR1cm4gc2VsZWN0ZWRBZ2VudFxuICAgIH1cbiAgICBjb25zdCBmcm9tTGlzdCA9IGFnZW50cy5maW5kKFxuICAgICAgYWdlbnQgPT5cbiAgICAgICAgIWFnZW50LmlzX2RlbGV0ZWQgJiYgIWFnZW50Lmhhc19ub3RfcGVybWlzc2lvbnMgJiYgIWFnZW50Lmhhc19ub3RfYWNjZXNzICYmIGFnZW50LmlkID09PSBzZWxlY3RlZEFnZW50Py5pZFxuICAgIClcbiAgICAvLyBBZ2VudGUgaGlkcmF0YWRvIHBvciBHRVQgKHAuIGVqLiBudWV2byBjaGF0IHRyYXMgY3JlYXRlX2FnZW50KSBwdWVkZSBubyBlc3RhciBhw7puIGVuIGxhIGxpc3RhIHBhZ2luYWRhXG4gICAgcmV0dXJuIGZyb21MaXN0ID8/IHNlbGVjdGVkQWdlbnQgPz8gbnVsbFxuICB9LCBbYWdlbnRzLCBzZWxlY3RlZEFnZW50XSlcblxuICBjb25zdCBoYW5kbGVTZWxlY3RBZ2VudCA9IHVzZUNhbGxiYWNrKFxuICAgIChhZ2VudDogQWdlbnQpID0+IHtcbiAgICAgIHNlbGVjdEFnZW50KGFnZW50KVxuICAgICAgYW1wbGl0dWRFdmVudChFVkVOVFMuYWlDaGF0QWdlbnRTZWxlY3QsIHtcbiAgICAgICAgYWdlbnRfdHlwZTogYWdlbnQ/LnR5cGUsXG4gICAgICB9KVxuICAgICAgc2V0SXNFeHBhbmRlZChmYWxzZSlcbiAgICAgIHNldFByb2plY3QobnVsbClcbiAgICAgIHNldENsaWVudD8uKG51bGwpXG4gICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgaGFuZGxlUmVzZXRDaGF0KClcbiAgICAgIH0sIDEwMClcbiAgICB9LFxuICAgIFtzZWxlY3RBZ2VudCwgYW1wbGl0dWRFdmVudCwgaGFuZGxlUmVzZXRDaGF0LCBzZXRQcm9qZWN0LCBzZXRDbGllbnRdXG4gIClcblxuICBjb25zdCBoYW5kbGVFeHBhbmRNb2RhbCA9ICgpID0+IHtcbiAgICBpZiAoIWlzRXhwYW5kZWQpIHtcbiAgICAgIGFtcGxpdHVkRXZlbnQoRVZFTlRTLmFpQ2hhdE9wZW5BZ2VudFNlbGVjdClcbiAgICAgIC8vIEN1YW5kbyBzZSBhYnJlIGVsIHNlbGVjdG9yLCBvcmRlbmFyIGxvcyBhZ2VudGVzXG4gICAgICBpZiAoc29ydEFnZW50c0xpc3QpIHtcbiAgICAgICAgc29ydEFnZW50c0xpc3QoKVxuICAgICAgfVxuICAgIH1cbiAgICBzZXRJc0V4cGFuZGVkKHByZXYgPT4gIXByZXYpXG4gIH1cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZSA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgaWYgKGRyb3Bkb3duUmVmLmN1cnJlbnQgJiYgIWRyb3Bkb3duUmVmLmN1cnJlbnQuY29udGFpbnMoZXZlbnQudGFyZ2V0IGFzIE5vZGUpKSB7XG4gICAgICAgIHNldElzRXhwYW5kZWQoZmFsc2UpXG4gICAgICB9XG4gICAgfVxuXG4gICAgaWYgKGlzRXhwYW5kZWQpIHtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSlcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgIH1cbiAgfSwgW2lzRXhwYW5kZWRdKVxuXG4gIGNvbnN0IHVzZXJSb2xlc0Rpc2FibGVkID0gW0NPUlVzZXJSb2xlLkNPTExBQk9SQVRPUiwgQ09SVXNlclJvbGUuRlJFRUxBTkNFUiwgQ09SVXNlclJvbGUuQ0xJRU5UXVxuXG4gIGNvbnN0IHJlbmRlck1vZGFsID0gKCkgPT4ge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NDQUlNSFdyYXBwZXJcbiAgICAgICAgcmVmPXtkcm9wZG93blJlZn1cbiAgICAgICAgb25DbGljaz17YWdlbnRzLmxlbmd0aCA/IGhhbmRsZUV4cGFuZE1vZGFsIDogdW5kZWZpbmVkfVxuICAgICAgICBpZD1cImNoYXQtYWktbW9kYWwtaGVhZGVyLXdyYXBwZXJcIlxuICAgICAgPlxuICAgICAgICA8U0NDQUlNSFNlbGVjdGVkQWdlbnQ+XG4gICAgICAgICAgPFRvb2x0aXBcbiAgICAgICAgICAgIHRpdGxlPXtcbiAgICAgICAgICAgICAgc2hvd1Rvb2x0aXBBZ2VudCA/IChcbiAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6ICc0cHgnIH19PlxuICAgICAgICAgICAgICAgICAge2xvY2FsQWdlbnRzPy50eXBlID09PSAnY3VzdG9tJyA/IGxvY2FsQWdlbnRzPy5lbW9qaSA6IDxNQUlBSWNvbiAvPn0ge2xvY2FsQWdlbnRzPy5uYW1lfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAnJ1xuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwbGFjZW1lbnQ9e2lzRXhwYW5kZWQgPyAnbGVmdCcgOiAndG9wJ31cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8U0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0XG4gICAgICAgICAgICAgIHJlZj17dGV4dFJlZkFnZW50fVxuICAgICAgICAgICAgICBpc0FnZW50RGVsZXRlZD17XG4gICAgICAgICAgICAgICAgISFzZWxlY3RlZEFnZW50Py5pc19kZWxldGVkIHx8ICEhc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9wZXJtaXNzaW9ucyB8fCAhIXNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfYWNjZXNzXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAnNHB4JyB9fT5cbiAgICAgICAgICAgICAgICB7bG9jYWxBZ2VudHM/LnR5cGUgPT09ICdjdXN0b20nID8gbG9jYWxBZ2VudHM/LmVtb2ppIDogPE1BSUFJY29uIC8+fSB7bG9jYWxBZ2VudHM/Lm5hbWV9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvU0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0PlxuICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgPC9TQ0NBSU1IU2VsZWN0ZWRBZ2VudD5cbiAgICAgICAgPFNDQ0FJTUhXcmFwcGVySWNvbj5cbiAgICAgICAgICA8Q2hldnJvbkRvd24gd2lkdGg9ezE0fSBoZWlnaHQ9ezE0fSBjb2xvcj1cIiMyMDIwMUZcIiAvPlxuICAgICAgICA8L1NDQ0FJTUhXcmFwcGVySWNvbj5cbiAgICAgICAge2lzRXhwYW5kZWQgJiYgKFxuICAgICAgICAgIDxTQ0NBSU1IV3JhcHBlck1vZGFsPlxuICAgICAgICAgICAgPFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50PlxuICAgICAgICAgICAgICB7d2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUyAmJiAhdXNlclJvbGVzRGlzYWJsZWQuaW5jbHVkZXModXNlci5yb2xlX2lkKSAmJiAoXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjbG9uZUFnZW50cyA9IGFnZW50c0ZvclNlbGVjdG9yLmZpbHRlcigoYWc6IEFnZW50KSA9PiBhZy50eXBlID09PSAnY2xvbmUnKVxuICAgICAgICAgICAgICAgICAgICBpZiAoIWNsb25lQWdlbnRzLmxlbmd0aCkgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgPFNDQ0FJV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPE1BSUFJY29uIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlIGlzQ2xvbmU+TUFJQSBieSBDT1I8L1NDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1NDQ0FJV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTQ0NBSU1IRGl2aWRlciAvPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICB7Y2xvbmVBZ2VudHMubWFwKChjbG9uZUFnZW50LCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2hhdEFJQWdlbnRPcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2BhZ2VudC0ke2Nsb25lQWdlbnQuaWR9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZ2VudD17Y2xvbmVBZ2VudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlU2VsZWN0QWdlbnQ9e2hhbmRsZVNlbGVjdEFnZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzU2VsZWN0ZWQ9e3NlbGVjdGVkQWdlbnQ/LmlkID09PSBjbG9uZUFnZW50LmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTWFpYVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uRmF2b3JpdGVUb2dnbGU9e29uQWdlbnRVcGRhdGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAge2FnZW50c0ZvclNlbGVjdG9yLnNvbWUoYWdlbnQgPT4gYWdlbnQudHlwZSA9PT0gJ2N1c3RvbScpICYmXG4gICAgICAgICAgICAgICAgd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMgJiYgKFxuICAgICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgICAgPFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAge3QoJ2FnZW50cycpfSBieSB7dXNlci5jb21wYW55fVxuICAgICAgICAgICAgICAgICAgICA8L1NDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGU+XG4gICAgICAgICAgICAgICAgICAgIDxTQ0NBSU1IRGl2aWRlciAvPlxuICAgICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPFNDQ0FJTUhBZ2VudHNMaXN0IGhhc01vcmU9e2hhc01vcmV9IGFnZW50c0NvdW50PXthZ2VudHNGb3JTZWxlY3Rvci5sZW5ndGh9IHJlZj17YWdlbnRzUmVmfT5cbiAgICAgICAgICAgICAgICB7YWdlbnRzRm9yU2VsZWN0b3I/Lm1hcCgoYWdlbnQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIGFnZW50Py5pc19kZWxldGVkIHx8XG4gICAgICAgICAgICAgICAgICAgIGFnZW50Py5oYXNfbm90X3Blcm1pc3Npb25zIHx8XG4gICAgICAgICAgICAgICAgICAgIGFnZW50Py5oYXNfbm90X2FjY2VzcyB8fFxuICAgICAgICAgICAgICAgICAgICBhZ2VudD8udHlwZSA9PT0gJ2Nsb25lJyB8fFxuICAgICAgICAgICAgICAgICAgICAoYWdlbnQ/LnR5cGUgPT09ICdjdXN0b20nICYmICF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTX01VTFRJX0FHRU5UUylcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxDaGF0QUlBZ2VudE9wdGlvblxuICAgICAgICAgICAgICAgICAgICAgIGtleT17YGFnZW50LSR7YWdlbnQuaWR9YH1cbiAgICAgICAgICAgICAgICAgICAgICBhZ2VudD17YWdlbnR9XG4gICAgICAgICAgICAgICAgICAgICAgaW5kZXg9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbGVjdEFnZW50PXtoYW5kbGVTZWxlY3RBZ2VudH1cbiAgICAgICAgICAgICAgICAgICAgICBpc1NlbGVjdGVkPXtzZWxlY3RlZEFnZW50Py5pZCA9PT0gYWdlbnQuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgb25GYXZvcml0ZVRvZ2dsZT17b25BZ2VudFVwZGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICBzZXRJc0V4cGFuZGVkPXtzZXRJc0V4cGFuZGVkfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgIHtsb2FkaW5nTW9yZSAmJiAoXG4gICAgICAgICAgICAgICAgICA8U0NDQUlNSExvYWRlcldyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgIDxMb2FkZXIgc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgIDwvU0NDQUlNSExvYWRlcldyYXBwZXI+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9TQ0NBSU1IQWdlbnRzTGlzdD5cbiAgICAgICAgICAgIDwvU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQ+XG4gICAgICAgICAgPC9TQ0NBSU1IV3JhcHBlck1vZGFsPlxuICAgICAgICApfVxuICAgICAgPC9TQ0NBSU1IV3JhcHBlcj5cbiAgICApXG4gIH1cblxuICBjb25zdCBzZWxlY3RlZE1vZGVsTGxtID0gc2VsZWN0ZWRBZ2VudD8ubW9kZWxfZGlzcGxheV9uYW1lXG4gIGNvbnN0IHNlbGVjdGVkQWdlbnRUeXBlID0gc2VsZWN0ZWRBZ2VudD8udHlwZSA9PT0gJ2N1c3RvbSdcbiAgY29uc3Qgc2hvdWxkUmVuZGVyU2VsZWN0b3IgPVxuICAgICFoYXNFcnJvciAmJlxuICAgICFsb2FkaW5nICYmXG4gICAgIWhpZGVBZ2VudFNlbGVjdG9yICYmXG4gICAgISFzZWxlY3RlZEFnZW50ICYmXG4gICAgKCEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMgfHwgISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTKVxuXG4gIHJldHVybiAoXG4gICAgPFNDQ0FJTUhNb2RhbCAkaGFzRXJyb3I9e2hhc0Vycm9yfSAkbG9hZGluZz17bG9hZGluZ30gJGhhc0FnZW50cz17ISFhZ2VudHMubGVuZ3RofT5cbiAgICAgIHtzaG91bGRSZW5kZXJTZWxlY3RvciA/IHJlbmRlck1vZGFsKCkgOiA8ZGl2IC8+fVxuICAgICAgPFNDQ0FJTUhXcmFwcGVyQnV0dG9uPlxuICAgICAgICB7c2VsZWN0ZWRBZ2VudFR5cGUgJiYgc2VsZWN0ZWRNb2RlbExsbSAmJiA8Q2hpcExsbSBtb2RlbD17c2VsZWN0ZWRNb2RlbExsbX0gZXhwYW5kZWQ9e2V4cGFuZGVkfSAvPn1cbiAgICAgICAgPEV4cGFuZCBleHBhbmRlZD17ZXhwYW5kZWR9IGhhbmRsZUNsaWNrPXsoKSA9PiBzZXRFeHBhbmRlZCghZXhwYW5kZWQpfSAvPlxuICAgICAgICA8SWNvbkJ1dHRvbiBoYW5kbGVDbGljaz17aGFuZGxlQ2xvc2V9IHRvb2x0aXA9e3QoJ2dsb2JhbHMuY2xvc2UnKX0+XG4gICAgICAgICAgPENyb3NzIC8+XG4gICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgIDwvU0NDQUlNSFdyYXBwZXJCdXR0b24+XG4gICAgPC9TQ0NBSU1ITW9kYWw+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQSxTQUFTQSxTQUFTLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxFQUFFQyxXQUFXLEVBQUVDLE9BQU8sUUFBUSxPQUFPO0FBQ3pFLFNBQVNDLE9BQU8sUUFBUSw4Q0FBOEM7QUFDdEUsU0FBU0MsS0FBSyxRQUFRLHdDQUF3QztBQUM5RCxTQUFTQyxXQUFXLFFBQVEsOENBQThDO0FBQzFFLFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBQzlDLFNBQVNDLFFBQVEsUUFBUSxpQ0FBaUM7QUFDMUQsU0FBU0MsZ0JBQWdCLFFBQVEsdUNBQXVDO0FBQ3hFLFNBQVNDLGlCQUFpQixRQUFRLGdDQUFnQztBQUNsRSxTQUFTQyxNQUFNLFFBQVEsMEJBQTBCO0FBQ2pELFNBQVNDLFVBQVUsUUFBUSw4QkFBOEI7QUFDekQsU0FBU0MsUUFBUSxRQUFRLHlCQUF5QjtBQUNsRCxTQUFTQyxpQkFBaUIsUUFBUSwwQ0FBMEM7QUFDNUUsU0FDRUMsWUFBWSxFQUNaQyxvQkFBb0IsRUFDcEJDLHdCQUF3QixFQUN4QkMsY0FBYyxFQUNkQyxvQkFBb0IsRUFDcEJDLGtCQUFrQixFQUNsQkMsbUJBQW1CLEVBQ25CQywwQkFBMEIsRUFDMUJDLCtCQUErQixFQUMvQkMsY0FBYyxFQUNkQyxpQkFBaUIsRUFDakJDLG9CQUFvQixFQUNwQkMsWUFBWSxRQUNQLDRCQUE0QjtBQUNuQyxTQUFTQyxNQUFNLEVBQUVDLFFBQVEsUUFBUSwrQkFBK0I7QUFDaEUsU0FBU0MsV0FBVyxFQUFFQyxPQUFPLFFBQVEsaUNBQWlDO0FBRXRFLFNBQVNDLE9BQU8sUUFBUSwyQkFBMkI7QUFDbkQsU0FBU0MsTUFBTSxRQUFRLDBCQUEwQjtBQUFBLFNBQUFDLEdBQUEsSUFBQUMsSUFBQSxFQUFBQyxJQUFBLElBQUFDLEtBQUEsRUFBQUMsUUFBQSxJQUFBQyxTQUFBO0FBRWpELE9BQU8sSUFBTUMsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBQUMsSUFBQSxFQTRCeEI7RUFBQSxJQTNCSkMsUUFBUSxHQUFBRCxJQUFBLENBQVJDLFFBQVE7SUFDUkMsV0FBVyxHQUFBRixJQUFBLENBQVhFLFdBQVc7SUFBQUMsZ0JBQUEsR0FBQUgsSUFBQSxDQUNYSSxXQUFXO0lBQVhBLFdBQVcsR0FBQUQsZ0JBQUEsY0FBRztNQUFBLE9BQU0sSUFBSTtJQUFBLElBQUFBLGdCQUFBO0lBQUFFLFdBQUEsR0FBQUwsSUFBQSxDQUN4Qk0sTUFBTTtJQUFOQSxNQUFNLEdBQUFELFdBQUEsY0FBRyxFQUFFLEdBQUFBLFdBQUE7SUFBQUUsYUFBQSxHQUFBUCxJQUFBLENBQ1hRLFFBQVE7SUFBUkEsUUFBUSxHQUFBRCxhQUFBLGNBQUcsS0FBSyxHQUFBQSxhQUFBO0lBQUFFLFlBQUEsR0FBQVQsSUFBQSxDQUNoQlUsT0FBTztJQUFQQSxPQUFPLEdBQUFELFlBQUEsY0FBRyxLQUFLLEdBQUFBLFlBQUE7SUFBQUUsZ0JBQUEsR0FBQVgsSUFBQSxDQUNmWSxXQUFXO0lBQVhBLFdBQVcsR0FBQUQsZ0JBQUEsY0FBRyxLQUFLLEdBQUFBLGdCQUFBO0lBQUFFLFlBQUEsR0FBQWIsSUFBQSxDQUNuQmMsT0FBTztJQUFQQSxPQUFPLEdBQUFELFlBQUEsY0FBRyxLQUFLLEdBQUFBLFlBQUE7SUFDZkUsZUFBZSxHQUFBZixJQUFBLENBQWZlLGVBQWU7SUFDZkMsYUFBYSxHQUFBaEIsSUFBQSxDQUFiZ0IsYUFBYTtJQUNiQyxjQUFjLEdBQUFqQixJQUFBLENBQWRpQixjQUFjO0lBQ2RDLGNBQWMsR0FBQWxCLElBQUEsQ0FBZGtCLGNBQWM7SUFBQUMscUJBQUEsR0FBQW5CLElBQUEsQ0FDZG9CLGlCQUFpQjtJQUFqQkEsaUJBQWlCLEdBQUFELHFCQUFBLGNBQUcsS0FBSyxHQUFBQSxxQkFBQTtFQWdCekIsSUFBQUUsZUFBQSxHQUFjdkQsY0FBYyxDQUFDLENBQUNDLFFBQVEsQ0FBQ3VELFFBQVEsQ0FBQyxDQUFDO0lBQXpDQyxDQUFDLEdBQUFGLGVBQUEsQ0FBREUsQ0FBQztFQUNULElBQU1DLElBQUksR0FBR2xDLE9BQU8sQ0FBQyxDQUFDO0VBQ3RCLElBQU1tQyxhQUFhLEdBQUdyQyxRQUFRLENBQUMsQ0FBQztFQUNoQyxJQUFBc0MsaUJBQUEsR0FBcUUxRCxnQkFBZ0IsQ0FBQyxDQUFDO0lBQXhFMkQsYUFBYSxHQUFBRCxpQkFBQSxDQUFwQkUsS0FBSztJQUFpQkMsV0FBVyxHQUFBSCxpQkFBQSxDQUFYRyxXQUFXO0lBQUVDLFVBQVUsR0FBQUosaUJBQUEsQ0FBVkksVUFBVTtJQUFFQyxTQUFTLEdBQUFMLGlCQUFBLENBQVRLLFNBQVM7RUFDaEUsSUFBQUMsU0FBQSxHQUFvQ3hFLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQXlFLFVBQUEsR0FBQUMsY0FBQSxDQUFBRixTQUFBO0lBQTVDRyxVQUFVLEdBQUFGLFVBQUE7SUFBRUcsYUFBYSxHQUFBSCxVQUFBO0VBQ2hDLElBQU1JLFlBQVksR0FBRzlFLE1BQU0sQ0FBa0IsSUFBSSxDQUFDO0VBQ2xELElBQU0rRSxXQUFXLEdBQUcvRSxNQUFNLENBQWlCLElBQUksQ0FBQztFQUNoRCxJQUFBZ0Ysa0JBQUEsR0FBMEN0RSxpQkFBaUIsQ0FBQ29FLFlBQVksRUFBRSxDQUFDVixhQUFhLGFBQWJBLGFBQWEsdUJBQWJBLGFBQWEsQ0FBRWEsSUFBSSxDQUFDLENBQUM7SUFBM0VDLGdCQUFnQixHQUFBRixrQkFBQSxDQUE3QkcsV0FBVztFQUNuQixJQUFNQyxTQUFTLEdBQUdwRixNQUFNLENBQWlCLElBQUksQ0FBQztFQUU5QyxJQUFNcUYsaUJBQWlCLEdBQUdsRixPQUFPLENBQUM7SUFBQSxPQUFNNEMsTUFBTSxDQUFDdUMsTUFBTSxDQUFDLFVBQUFDLFNBQVM7TUFBQSxPQUFJQSxTQUFTLENBQUNDLE1BQU0sS0FBSyxRQUFRO0lBQUEsRUFBQztFQUFBLEdBQUUsQ0FBQ3pDLE1BQU0sQ0FBQyxDQUFDOztFQUU1RztFQUNBaEQsU0FBUyxDQUFDLFlBQU07SUFDZDtJQUNBLElBQUksQ0FBQzZFLFVBQVUsRUFBRTtNQUNmLE9BQU9hLFNBQVM7SUFDbEI7SUFFQSxJQUFNQyxZQUFZLEdBQUcsU0FBZkEsWUFBWUEsQ0FBQSxFQUFTO01BQ3pCLElBQUksQ0FBQ04sU0FBUyxDQUFDTyxPQUFPLElBQUksQ0FBQ2pDLGNBQWMsSUFBSSxDQUFDSCxPQUFPLElBQUlGLFdBQVcsRUFBRTtRQUNwRTtNQUNGO01BRUEsSUFBQXVDLGtCQUFBLEdBQWtEUixTQUFTLENBQUNPLE9BQU87UUFBM0RFLFNBQVMsR0FBQUQsa0JBQUEsQ0FBVEMsU0FBUztRQUFFQyxZQUFZLEdBQUFGLGtCQUFBLENBQVpFLFlBQVk7UUFBRUMsWUFBWSxHQUFBSCxrQkFBQSxDQUFaRyxZQUFZO01BQzdDLElBQU1DLGtCQUFrQixHQUFHRixZQUFZLEdBQUdELFNBQVMsR0FBR0UsWUFBWTs7TUFFbEU7TUFDQSxJQUFJQyxrQkFBa0IsR0FBRyxFQUFFLEVBQUU7UUFDM0J0QyxjQUFjLENBQUMsQ0FBQztNQUNsQjtJQUNGLENBQUM7O0lBRUQ7SUFDQSxJQUFNdUMsU0FBUyxHQUFHQyxVQUFVLENBQUMsWUFBTTtNQUNqQyxJQUFNQyxhQUFhLEdBQUdmLFNBQVMsQ0FBQ08sT0FBTztNQUN2QyxJQUFJUSxhQUFhLEVBQUU7UUFDakJBLGFBQWEsQ0FBQ0MsZ0JBQWdCLENBQUMsUUFBUSxFQUFFVixZQUFZLENBQUM7TUFDeEQ7SUFDRixDQUFDLEVBQUUsR0FBRyxDQUFDO0lBRVAsT0FBTyxZQUFNO01BQ1hXLFlBQVksQ0FBQ0osU0FBUyxDQUFDO01BQ3ZCLElBQU1FLGFBQWEsR0FBR2YsU0FBUyxDQUFDTyxPQUFPO01BQ3ZDLElBQUlRLGFBQWEsRUFBRTtRQUNqQkEsYUFBYSxDQUFDRyxtQkFBbUIsQ0FBQyxRQUFRLEVBQUVaLFlBQVksQ0FBQztNQUMzRDtJQUNGLENBQUM7RUFDSCxDQUFDLEVBQUUsQ0FBQ2QsVUFBVSxFQUFFbEIsY0FBYyxFQUFFSCxPQUFPLEVBQUVGLFdBQVcsQ0FBQyxDQUFDO0VBRXRELElBQU1rRCxXQUFXLEdBQUdwRyxPQUFPLENBQUMsWUFBTTtJQUFBLElBQUFxRyxLQUFBO0lBQ2hDLElBQ0VwQyxhQUFhLGFBQWJBLGFBQWEsZUFBYkEsYUFBYSxDQUFFcUMsVUFBVSxJQUN6QnJDLGFBQWEsYUFBYkEsYUFBYSxlQUFiQSxhQUFhLENBQUVzQyxtQkFBbUIsSUFDbEN0QyxhQUFhLGFBQWJBLGFBQWEsZUFBYkEsYUFBYSxDQUFFdUMsY0FBYyxJQUM3QnZDLGFBQWEsYUFBYkEsYUFBYSxlQUFiQSxhQUFhLENBQUV3QyxvQkFBb0IsRUFDbkM7TUFDQSxPQUFPeEMsYUFBYTtJQUN0QjtJQUNBLElBQU15QyxRQUFRLEdBQUc5RCxNQUFNLENBQUMrRCxJQUFJLENBQzFCLFVBQUF6QyxLQUFLO01BQUEsT0FDSCxDQUFDQSxLQUFLLENBQUNvQyxVQUFVLElBQUksQ0FBQ3BDLEtBQUssQ0FBQ3FDLG1CQUFtQixJQUFJLENBQUNyQyxLQUFLLENBQUNzQyxjQUFjLElBQUl0QyxLQUFLLENBQUMwQyxFQUFFLE1BQUszQyxhQUFhLGFBQWJBLGFBQWEsdUJBQWJBLGFBQWEsQ0FBRTJDLEVBQUU7SUFBQSxDQUM5RyxDQUFDO0lBQ0Q7SUFDQSxRQUFBUCxLQUFBLEdBQU9LLFFBQVEsYUFBUkEsUUFBUSxjQUFSQSxRQUFRLEdBQUl6QyxhQUFhLGNBQUFvQyxLQUFBLGNBQUFBLEtBQUEsR0FBSSxJQUFJO0VBQzFDLENBQUMsRUFBRSxDQUFDekQsTUFBTSxFQUFFcUIsYUFBYSxDQUFDLENBQUM7RUFFM0IsSUFBTTRDLGlCQUFpQixHQUFHOUcsV0FBVyxDQUNuQyxVQUFDbUUsS0FBWSxFQUFLO0lBQ2hCQyxXQUFXLENBQUNELEtBQUssQ0FBQztJQUNsQkgsYUFBYSxDQUFDdEMsTUFBTSxDQUFDcUYsaUJBQWlCLEVBQUU7TUFDdENDLFVBQVUsRUFBRTdDLEtBQUssYUFBTEEsS0FBSyx1QkFBTEEsS0FBSyxDQUFFOEM7SUFDckIsQ0FBQyxDQUFDO0lBQ0Z0QyxhQUFhLENBQUMsS0FBSyxDQUFDO0lBQ3BCTixVQUFVLENBQUMsSUFBSSxDQUFDO0lBQ2hCQyxTQUFTLGFBQVRBLFNBQVMsZUFBVEEsU0FBUyxDQUFHLElBQUksQ0FBQztJQUNqQjBCLFVBQVUsQ0FBQyxZQUFNO01BQ2YxQyxlQUFlLENBQUMsQ0FBQztJQUNuQixDQUFDLEVBQUUsR0FBRyxDQUFDO0VBQ1QsQ0FBQyxFQUNELENBQUNjLFdBQVcsRUFBRUosYUFBYSxFQUFFVixlQUFlLEVBQUVlLFVBQVUsRUFBRUMsU0FBUyxDQUNyRSxDQUFDO0VBRUQsSUFBTTRDLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBaUJBLENBQUEsRUFBUztJQUM5QixJQUFJLENBQUN4QyxVQUFVLEVBQUU7TUFDZlYsYUFBYSxDQUFDdEMsTUFBTSxDQUFDeUYscUJBQXFCLENBQUM7TUFDM0M7TUFDQSxJQUFJMUQsY0FBYyxFQUFFO1FBQ2xCQSxjQUFjLENBQUMsQ0FBQztNQUNsQjtJQUNGO0lBQ0FrQixhQUFhLENBQUMsVUFBQXlDLElBQUk7TUFBQSxPQUFJLENBQUNBLElBQUk7SUFBQSxFQUFDO0VBQzlCLENBQUM7RUFFRHZILFNBQVMsQ0FBQyxZQUFNO0lBQ2QsSUFBTXdILGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBa0JBLENBQUlDLEtBQWlCLEVBQUs7TUFDaEQsSUFBSXpDLFdBQVcsQ0FBQ1ksT0FBTyxJQUFJLENBQUNaLFdBQVcsQ0FBQ1ksT0FBTyxDQUFDOEIsUUFBUSxDQUFDRCxLQUFLLENBQUNFLE1BQWMsQ0FBQyxFQUFFO1FBQzlFN0MsYUFBYSxDQUFDLEtBQUssQ0FBQztNQUN0QjtJQUNGLENBQUM7SUFFRCxJQUFJRCxVQUFVLEVBQUU7TUFDZCtDLFFBQVEsQ0FBQ3ZCLGdCQUFnQixDQUFDLFdBQVcsRUFBRW1CLGtCQUFrQixDQUFDO0lBQzVEO0lBRUEsT0FBTyxZQUFNO01BQ1hJLFFBQVEsQ0FBQ3JCLG1CQUFtQixDQUFDLFdBQVcsRUFBRWlCLGtCQUFrQixDQUFDO0lBQy9ELENBQUM7RUFDSCxDQUFDLEVBQUUsQ0FBQzNDLFVBQVUsQ0FBQyxDQUFDO0VBRWhCLElBQU1nRCxpQkFBaUIsR0FBRyxDQUFDOUYsV0FBVyxDQUFDK0YsWUFBWSxFQUFFL0YsV0FBVyxDQUFDZ0csVUFBVSxFQUFFaEcsV0FBVyxDQUFDaUcsTUFBTSxDQUFDO0VBRWhHLElBQU1DLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFBLEVBQVM7SUFDeEIsb0JBQ0UzRixLQUFBLENBQUNuQixjQUFjO01BQ2IrRyxHQUFHLEVBQUVsRCxXQUFZO01BQ2pCbUQsT0FBTyxFQUFFbkYsTUFBTSxDQUFDb0YsTUFBTSxHQUFHZixpQkFBaUIsR0FBRzNCLFNBQVU7TUFDdkRzQixFQUFFLEVBQUMsOEJBQThCO01BQUFxQixRQUFBLGdCQUVqQ2pHLElBQUEsQ0FBQ25CLG9CQUFvQjtRQUFBb0gsUUFBQSxlQUNuQmpHLElBQUEsQ0FBQy9CLE9BQU87VUFDTmlJLEtBQUssRUFDSG5ELGdCQUFnQixnQkFDZDdDLEtBQUE7WUFBTWlHLEtBQUssRUFBRTtjQUFFQyxPQUFPLEVBQUUsTUFBTTtjQUFFQyxVQUFVLEVBQUUsUUFBUTtjQUFFQyxHQUFHLEVBQUU7WUFBTSxDQUFFO1lBQUFMLFFBQUEsR0FDaEUsQ0FBQTdCLFdBQVcsYUFBWEEsV0FBVyx1QkFBWEEsV0FBVyxDQUFFWSxJQUFJLE1BQUssUUFBUSxHQUFHWixXQUFXLGFBQVhBLFdBQVcsdUJBQVhBLFdBQVcsQ0FBRW1DLEtBQUssZ0JBQUd2RyxJQUFBLENBQUN0QixRQUFRLElBQUUsQ0FBQyxFQUFDLEdBQUMsRUFBQzBGLFdBQVcsYUFBWEEsV0FBVyx1QkFBWEEsV0FBVyxDQUFFdEIsSUFBSTtVQUFBLENBQ25GLENBQUMsR0FFUCxFQUVIO1VBQ0QwRCxTQUFTLEVBQUUvRCxVQUFVLEdBQUcsTUFBTSxHQUFHLEtBQU07VUFBQXdELFFBQUEsZUFFdkNqRyxJQUFBLENBQUNsQix3QkFBd0I7WUFDdkJnSCxHQUFHLEVBQUVuRCxZQUFhO1lBQ2xCOEQsY0FBYyxFQUNaLENBQUMsRUFBQ3hFLGFBQWEsYUFBYkEsYUFBYSxlQUFiQSxhQUFhLENBQUVxQyxVQUFVLEtBQUksQ0FBQyxFQUFDckMsYUFBYSxhQUFiQSxhQUFhLGVBQWJBLGFBQWEsQ0FBRXNDLG1CQUFtQixLQUFJLENBQUMsRUFBQ3RDLGFBQWEsYUFBYkEsYUFBYSxlQUFiQSxhQUFhLENBQUV1QyxjQUFjLENBQ3ZHO1lBQUF5QixRQUFBLGVBRUQvRixLQUFBO2NBQU1pRyxLQUFLLEVBQUU7Z0JBQUVDLE9BQU8sRUFBRSxNQUFNO2dCQUFFQyxVQUFVLEVBQUUsUUFBUTtnQkFBRUMsR0FBRyxFQUFFO2NBQU0sQ0FBRTtjQUFBTCxRQUFBLEdBQ2hFLENBQUE3QixXQUFXLGFBQVhBLFdBQVcsdUJBQVhBLFdBQVcsQ0FBRVksSUFBSSxNQUFLLFFBQVEsR0FBR1osV0FBVyxhQUFYQSxXQUFXLHVCQUFYQSxXQUFXLENBQUVtQyxLQUFLLGdCQUFHdkcsSUFBQSxDQUFDdEIsUUFBUSxJQUFFLENBQUMsRUFBQyxHQUFDLEVBQUMwRixXQUFXLGFBQVhBLFdBQVcsdUJBQVhBLFdBQVcsQ0FBRXRCLElBQUk7WUFBQSxDQUNuRjtVQUFDLENBQ2lCO1FBQUMsQ0FDcEI7TUFBQyxDQUNVLENBQUMsZUFDdkI5QyxJQUFBLENBQUNmLGtCQUFrQjtRQUFBZ0gsUUFBQSxlQUNqQmpHLElBQUEsQ0FBQzdCLFdBQVc7VUFBQ3VJLEtBQUssRUFBRSxFQUFHO1VBQUNDLE1BQU0sRUFBRSxFQUFHO1VBQUNDLEtBQUssRUFBQztRQUFTLENBQUU7TUFBQyxDQUNwQyxDQUFDLEVBQ3BCbkUsVUFBVSxpQkFDVHpDLElBQUEsQ0FBQ2QsbUJBQW1CO1FBQUErRyxRQUFBLGVBQ2xCL0YsS0FBQSxDQUFDZiwwQkFBMEI7VUFBQThHLFFBQUEsR0FDeEJZLE1BQU0sQ0FBQ0MsMkJBQTJCLElBQUksQ0FBQ3JCLGlCQUFpQixDQUFDc0IsUUFBUSxDQUFDakYsSUFBSSxDQUFDa0YsT0FBTyxDQUFDLGlCQUM5RWhILElBQUEsQ0FBQUksU0FBQTtZQUFBNkYsUUFBQSxFQUNJLFlBQU07Y0FDTixJQUFNZ0IsV0FBVyxHQUFHL0QsaUJBQWlCLENBQUNDLE1BQU0sQ0FBQyxVQUFDK0QsRUFBUztnQkFBQSxPQUFLQSxFQUFFLENBQUNsQyxJQUFJLEtBQUssT0FBTztjQUFBLEVBQUM7Y0FDaEYsSUFBSSxDQUFDaUMsV0FBVyxDQUFDakIsTUFBTSxFQUFFLE9BQU8sSUFBSTtjQUNwQyxvQkFDRTlGLEtBQUEsQ0FBQUUsU0FBQTtnQkFBQTZGLFFBQUEsZ0JBQ0UvRixLQUFBLENBQUNWLFlBQVk7a0JBQUF5RyxRQUFBLGdCQUNYakcsSUFBQSxDQUFDdEIsUUFBUSxJQUFFLENBQUMsZUFDWnNCLElBQUEsQ0FBQ1osK0JBQStCO29CQUFDK0gsT0FBTztvQkFBQWxCLFFBQUEsRUFBQztrQkFBVyxDQUFpQyxDQUFDO2dCQUFBLENBQzFFLENBQUMsZUFDZmpHLElBQUEsQ0FBQ1gsY0FBYyxJQUFFLENBQUMsRUFFakI0SCxXQUFXLENBQUNHLEdBQUcsQ0FBQyxVQUFDQyxVQUFVLEVBQUVDLEtBQUs7a0JBQUEsb0JBQ2pDdEgsSUFBQSxDQUFDckIsaUJBQWlCO29CQUVoQnVELEtBQUssRUFBRW1GLFVBQVc7b0JBQ2xCQyxLQUFLLEVBQUVBLEtBQU07b0JBQ2J6QyxpQkFBaUIsRUFBRUEsaUJBQWtCO29CQUNyQzBDLFVBQVUsRUFBRSxDQUFBdEYsYUFBYSxhQUFiQSxhQUFhLHVCQUFiQSxhQUFhLENBQUUyQyxFQUFFLE1BQUt5QyxVQUFVLENBQUN6QyxFQUFHO29CQUNoRDRDLE1BQU07b0JBQ05DLGdCQUFnQixFQUFFbkc7a0JBQWMsWUFBQW9HLE1BQUEsQ0FObEJMLFVBQVUsQ0FBQ3pDLEVBQUUsQ0FPNUIsQ0FBQztnQkFBQSxDQUNILENBQUM7Y0FBQSxDQUNGLENBQUM7WUFFUCxDQUFDLENBQUU7VUFBQyxDQUNKLENBQ0gsRUFDQTFCLGlCQUFpQixDQUFDeUUsSUFBSSxDQUFDLFVBQUF6RixLQUFLO1lBQUEsT0FBSUEsS0FBSyxDQUFDOEMsSUFBSSxLQUFLLFFBQVE7VUFBQSxFQUFDLElBQ3ZENkIsTUFBTSxDQUFDZSx3Q0FBd0MsaUJBQzdDMUgsS0FBQSxDQUFBRSxTQUFBO1lBQUE2RixRQUFBLGdCQUNFL0YsS0FBQSxDQUFDZCwrQkFBK0I7Y0FBQTZHLFFBQUEsR0FDN0JwRSxDQUFDLENBQUMsUUFBUSxDQUFDLEVBQUMsTUFBSSxFQUFDQyxJQUFJLENBQUMrRixPQUFPO1lBQUEsQ0FDQyxDQUFDLGVBQ2xDN0gsSUFBQSxDQUFDWCxjQUFjLElBQUUsQ0FBQztVQUFBLENBQ2xCLENBQ0gsZUFDSGEsS0FBQSxDQUFDWixpQkFBaUI7WUFBQzhCLE9BQU8sRUFBRUEsT0FBUTtZQUFDMEcsV0FBVyxFQUFFNUUsaUJBQWlCLENBQUM4QyxNQUFPO1lBQUNGLEdBQUcsRUFBRTdDLFNBQVU7WUFBQWdELFFBQUEsR0FDeEYvQyxpQkFBaUIsYUFBakJBLGlCQUFpQix1QkFBakJBLGlCQUFpQixDQUFFa0UsR0FBRyxDQUFDLFVBQUNsRixLQUFLLEVBQUVvRixLQUFLLEVBQUs7Y0FDeEMsSUFDRXBGLEtBQUssYUFBTEEsS0FBSyxlQUFMQSxLQUFLLENBQUVvQyxVQUFVLElBQ2pCcEMsS0FBSyxhQUFMQSxLQUFLLGVBQUxBLEtBQUssQ0FBRXFDLG1CQUFtQixJQUMxQnJDLEtBQUssYUFBTEEsS0FBSyxlQUFMQSxLQUFLLENBQUVzQyxjQUFjLElBQ3JCLENBQUF0QyxLQUFLLGFBQUxBLEtBQUssdUJBQUxBLEtBQUssQ0FBRThDLElBQUksTUFBSyxPQUFPLElBQ3RCLENBQUE5QyxLQUFLLGFBQUxBLEtBQUssdUJBQUxBLEtBQUssQ0FBRThDLElBQUksTUFBSyxRQUFRLElBQUksQ0FBQzZCLE1BQU0sQ0FBQ2Usd0NBQXlDLEVBRTlFLE9BQU8sSUFBSTtjQUNiLG9CQUNFNUgsSUFBQSxDQUFDckIsaUJBQWlCO2dCQUVoQnVELEtBQUssRUFBRUEsS0FBTTtnQkFDYm9GLEtBQUssRUFBRUEsS0FBTTtnQkFDYnpDLGlCQUFpQixFQUFFQSxpQkFBa0I7Z0JBQ3JDMEMsVUFBVSxFQUFFLENBQUF0RixhQUFhLGFBQWJBLGFBQWEsdUJBQWJBLGFBQWEsQ0FBRTJDLEVBQUUsTUFBSzFDLEtBQUssQ0FBQzBDLEVBQUc7Z0JBQzNDNkMsZ0JBQWdCLEVBQUVuRyxhQUFjO2dCQUNoQ29CLGFBQWEsRUFBRUE7Y0FBYyxZQUFBZ0YsTUFBQSxDQU5meEYsS0FBSyxDQUFDMEMsRUFBRSxDQU92QixDQUFDO1lBRU4sQ0FBQyxDQUFDLEVBQ0QxRCxXQUFXLGlCQUNWbEIsSUFBQSxDQUFDVCxvQkFBb0I7Y0FBQTBHLFFBQUEsZUFDbkJqRyxJQUFBLENBQUNGLE1BQU07Z0JBQUNpSSxJQUFJLEVBQUM7Y0FBTyxDQUFFO1lBQUMsQ0FDSCxDQUN2QjtVQUFBLENBQ2dCLENBQUM7UUFBQSxDQUNNO01BQUMsQ0FDVixDQUN0QjtJQUFBLENBQ2EsQ0FBQztFQUVyQixDQUFDO0VBRUQsSUFBTUMsZ0JBQWdCLEdBQUcvRixhQUFhLGFBQWJBLGFBQWEsdUJBQWJBLGFBQWEsQ0FBRWdHLGtCQUFrQjtFQUMxRCxJQUFNQyxpQkFBaUIsR0FBRyxDQUFBakcsYUFBYSxhQUFiQSxhQUFhLHVCQUFiQSxhQUFhLENBQUUrQyxJQUFJLE1BQUssUUFBUTtFQUMxRCxJQUFNbUQsb0JBQW9CLEdBQ3hCLENBQUNySCxRQUFRLElBQ1QsQ0FBQ0UsT0FBTyxJQUNSLENBQUNVLGlCQUFpQixJQUNsQixDQUFDLENBQUNPLGFBQWEsS0FDZCxDQUFDLENBQUM0RSxNQUFNLENBQUNlLHdDQUF3QyxJQUFJLENBQUMsQ0FBQ2YsTUFBTSxDQUFDQywyQkFBMkIsQ0FBQztFQUU3RixvQkFDRTVHLEtBQUEsQ0FBQ3RCLFlBQVk7SUFBQ3dKLFNBQVMsRUFBRXRILFFBQVM7SUFBQ3VILFFBQVEsRUFBRXJILE9BQVE7SUFBQ3NILFVBQVUsRUFBRSxDQUFDLENBQUMxSCxNQUFNLENBQUNvRixNQUFPO0lBQUFDLFFBQUEsR0FDL0VrQyxvQkFBb0IsR0FBR3RDLFdBQVcsQ0FBQyxDQUFDLGdCQUFHN0YsSUFBQSxVQUFNLENBQUMsZUFDL0NFLEtBQUEsQ0FBQ2xCLG9CQUFvQjtNQUFBaUgsUUFBQSxHQUNsQmlDLGlCQUFpQixJQUFJRixnQkFBZ0IsaUJBQUloSSxJQUFBLENBQUNILE9BQU87UUFBQzBJLEtBQUssRUFBRVAsZ0JBQWlCO1FBQUN6SCxRQUFRLEVBQUVBO01BQVMsQ0FBRSxDQUFDLGVBQ2xHUCxJQUFBLENBQUN4QixNQUFNO1FBQUMrQixRQUFRLEVBQUVBLFFBQVM7UUFBQ2lJLFdBQVcsRUFBRSxTQUFiQSxXQUFXQSxDQUFBO1VBQUEsT0FBUWhJLFdBQVcsQ0FBQyxDQUFDRCxRQUFRLENBQUM7UUFBQTtNQUFDLENBQUUsQ0FBQyxlQUN6RVAsSUFBQSxDQUFDdkIsVUFBVTtRQUFDK0osV0FBVyxFQUFFOUgsV0FBWTtRQUFDK0gsT0FBTyxFQUFFNUcsQ0FBQyxDQUFDLGVBQWUsQ0FBRTtRQUFBb0UsUUFBQSxlQUNoRWpHLElBQUEsQ0FBQzlCLEtBQUssSUFBRTtNQUFDLENBQ0MsQ0FBQztJQUFBLENBQ08sQ0FBQztFQUFBLENBQ1gsQ0FBQztBQUVuQixDQUFDIiwiaWdub3JlTGlzdCI6W119
329
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwidXNlTWVtbyIsIlRvb2x0aXAiLCJDcm9zcyIsIkNoZXZyb25Eb3duIiwidXNlVHJhbnNsYXRpb24iLCJTRUNUSU9OUyIsInVzZUdsb2JhbENvbnRleHQiLCJ1c2VSZXNpemVMaXN0ZW5lciIsIkljb25CdXR0b24iLCJNQUlBSWNvbiIsIk1haWFDaGF0TGF5b3V0TWVudUljb24iLCJDaGF0QUlBZ2VudE9wdGlvbiIsIlNDQ0FJTUhNb2RhbCIsIlNDQ0FJTUhTZWxlY3RlZEFnZW50IiwiU0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0IiwiU0NDQUlNSFdyYXBwZXIiLCJTQ0NBSU1IV3JhcHBlckJ1dHRvbiIsIlNDQ0FJTUhXcmFwcGVySWNvbiIsIlNDQ0FJTUhXcmFwcGVyTW9kYWwiLCJTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudCIsIlNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGUiLCJTQ0NBSU1IRGl2aWRlciIsIlNDQ0FJTUhBZ2VudHNMaXN0IiwiU0NDQUlNSExvYWRlcldyYXBwZXIiLCJTQ0NBSVdyYXBwZXIiLCJTQ0NBSU1ITGF5b3V0TWVudUFuY2hvciIsIlNDQ0FJTUhMYXlvdXRNZW51UGFuZWwiLCJTQ0NBSU1ITGF5b3V0TWVudVJvdyIsIkVWRU5UUyIsInVzZUV2ZW50IiwiQ09SVXNlclJvbGUiLCJ1c2VVc2VyIiwiQ2hpcExsbSIsIkxvYWRlciIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJGcmFnbWVudCIsIl9GcmFnbWVudCIsIkNoYXRBSU1vZGFsSGVhZGVyIiwiX3JlZiIsImxheW91dE1vZGUiLCJvbkxheW91dE1vZGVDaGFuZ2UiLCJleHBhbmRlZCIsIl9yZWYkZHJhZ2dhYmxlIiwiZHJhZ2dhYmxlIiwib25EcmFnU3RhcnQiLCJvbkRyYWdNb3ZlIiwib25EcmFnRW5kIiwiX3JlZiRoYW5kbGVDbG9zZSIsImhhbmRsZUNsb3NlIiwiX3JlZiRhZ2VudHMiLCJhZ2VudHMiLCJfcmVmJGhhc0Vycm9yIiwiaGFzRXJyb3IiLCJfcmVmJGxvYWRpbmciLCJsb2FkaW5nIiwiX3JlZiRsb2FkaW5nTW9yZSIsImxvYWRpbmdNb3JlIiwiX3JlZiRoYXNNb3JlIiwiaGFzTW9yZSIsImhhbmRsZVJlc2V0Q2hhdCIsIm9uQWdlbnRVcGRhdGUiLCJsb2FkTW9yZUFnZW50cyIsInNvcnRBZ2VudHNMaXN0IiwiX3JlZiRoaWRlQWdlbnRTZWxlY3RvIiwiaGlkZUFnZW50U2VsZWN0b3IiLCJfdXNlVHJhbnNsYXRpb24iLCJhYm1BZ2VudCIsInQiLCJ1c2VyIiwiYW1wbGl0dWRFdmVudCIsIl91c2VHbG9iYWxDb250ZXh0Iiwic2VsZWN0ZWRBZ2VudCIsImFnZW50Iiwic2VsZWN0QWdlbnQiLCJzZXRQcm9qZWN0Iiwic2V0Q2xpZW50IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaXNFeHBhbmRlZCIsInNldElzRXhwYW5kZWQiLCJ0ZXh0UmVmQWdlbnQiLCJkcm9wZG93blJlZiIsImxheW91dE1lbnVSZWYiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImxheW91dE1lbnVPcGVuIiwic2V0TGF5b3V0TWVudU9wZW4iLCJfdXNlUmVzaXplTGlzdGVuZXIiLCJuYW1lIiwic2hvd1Rvb2x0aXBBZ2VudCIsInNob3dUb29sdGlwIiwiYWdlbnRzUmVmIiwiYWdlbnRzRm9yU2VsZWN0b3IiLCJmaWx0ZXIiLCJhZ2VudEl0ZW0iLCJlbnRpdHkiLCJ1bmRlZmluZWQiLCJoYW5kbGVTY3JvbGwiLCJjdXJyZW50IiwiX2FnZW50c1JlZiRjdXJyZW50Iiwic2Nyb2xsVG9wIiwic2Nyb2xsSGVpZ2h0IiwiY2xpZW50SGVpZ2h0IiwiZGlzdGFuY2VGcm9tQm90dG9tIiwidGltZW91dElkIiwic2V0VGltZW91dCIsInNjcm9sbEVsZW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwiY2xlYXJUaW1lb3V0IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImxvY2FsQWdlbnRzIiwiX3JlZjIiLCJpc19kZWxldGVkIiwiaGFzX25vdF9wZXJtaXNzaW9ucyIsImhhc19ub3RfYWNjZXNzIiwiaXNfZnJvbV9jb252ZXJzYXRpb24iLCJmcm9tTGlzdCIsImZpbmQiLCJpZCIsImhhbmRsZVNlbGVjdEFnZW50IiwiYWlDaGF0QWdlbnRTZWxlY3QiLCJhZ2VudF90eXBlIiwidHlwZSIsImhhbmRsZUV4cGFuZE1vZGFsIiwiYWlDaGF0T3BlbkFnZW50U2VsZWN0IiwicHJldiIsImhhbmRsZUNsaWNrT3V0c2lkZSIsImV2ZW50IiwidGFyZ2V0IiwiY29udGFpbnMiLCJkb2N1bWVudCIsImhhbmRsZVBpY2tMYXlvdXQiLCJtb2RlIiwicHJvamVjdFJlc3VtZUV4cGFuZCIsInVzZXJSb2xlc0Rpc2FibGVkIiwiQ09MTEFCT1JBVE9SIiwiRlJFRUxBTkNFUiIsIkNMSUVOVCIsInJlbmRlck1vZGFsIiwicmVmIiwib25DbGljayIsImxlbmd0aCIsImNoaWxkcmVuIiwidGl0bGUiLCJzdHlsZSIsImRpc3BsYXkiLCJhbGlnbkl0ZW1zIiwiZ2FwIiwiZW1vamkiLCJwbGFjZW1lbnQiLCJpc0FnZW50RGVsZXRlZCIsIndpZHRoIiwiaGVpZ2h0IiwiY29sb3IiLCJ3aW5kb3ciLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1MiLCJpbmNsdWRlcyIsInJvbGVfaWQiLCJjbG9uZUFnZW50cyIsImFnIiwiaXNDbG9uZSIsIm1hcCIsImNsb25lQWdlbnQiLCJpbmRleCIsImlzU2VsZWN0ZWQiLCJpc01haWEiLCJvbkZhdm9yaXRlVG9nZ2xlIiwiY29uY2F0IiwiYWdlbnRzQ291bnQiLCJzaXplIiwic2VsZWN0ZWRNb2RlbExsbSIsIm1vZGVsX2Rpc3BsYXlfbmFtZSIsInNlbGVjdGVkQWdlbnRUeXBlIiwic2hvdWxkUmVuZGVyU2VsZWN0b3IiLCJNQUlBX0NIQVRfQUlfRkVBVFVSRV9BQ0NFU1NfTVVMVElfQUdFTlRTIiwiJGhhc0Vycm9yIiwiJGxvYWRpbmciLCIkaGFzQWdlbnRzIiwib25Qb2ludGVyRG93biIsIm9uUG9pbnRlck1vdmUiLCJvblBvaW50ZXJVcCIsIm9uUG9pbnRlckNhbmNlbCIsIm9uTG9zdFBvaW50ZXJDYXB0dXJlIiwiY3Vyc29yIiwidG91Y2hBY3Rpb24iLCJtb2RlbCIsImJ1dHRvbklkIiwiaGFuZGxlQ2xpY2siLCJ0b29sdGlwIiwicm9sZSIsIiRhY3RpdmUiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJTW9kYWwvY29tcG9uZW50cy9DaGF0QWlNb2RhbEhlYWRlci9DaGF0QWlNb2RhbEhlYWRlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L2luZGVudCAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tbmVzdGVkLXRlcm5hcnkgKi9cbmltcG9ydCB7IHVzZUVmZmVjdCwgdXNlUmVmLCB1c2VTdGF0ZSwgdXNlQ2FsbGJhY2ssIHVzZU1lbW8sIFBvaW50ZXJFdmVudCBhcyBSZWFjdFBvaW50ZXJFdmVudCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3Rvb2x0aXB2Mi9saWIvY29tcG9uZW50cy9Ub29sdGlwJ1xuaW1wb3J0IHsgQ3Jvc3MgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9Dcm9zcydcbmltcG9ydCB7IENoZXZyb25Eb3duIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ2hldnJvbkRvd24nXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyB1c2VHbG9iYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IHVzZVJlc2l6ZUxpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vaG9va3MvdXNlUmVzaXplJ1xuaW1wb3J0IHsgSWNvbkJ1dHRvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2F0b21zL0ljb25CdXR0b24nXG5pbXBvcnQgeyBNQUlBSWNvbiwgTWFpYUNoYXRMYXlvdXRNZW51SWNvbiB9IGZyb20gJy4uLy4uLy4uLy4uL2F0b21zL2ljb25zJ1xuaW1wb3J0IHsgQ2hhdEFJQWdlbnRPcHRpb24gfSBmcm9tICcuLi9DaGF0QWlBZ2VudE9wdGlvbnMvQ2hhdEFpQWdlbnRPcHRpb25zJ1xuaW1wb3J0IHtcbiAgU0NDQUlNSE1vZGFsLFxuICBTQ0NBSU1IU2VsZWN0ZWRBZ2VudCxcbiAgU0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0LFxuICBTQ0NBSU1IV3JhcHBlcixcbiAgU0NDQUlNSFdyYXBwZXJCdXR0b24sXG4gIFNDQ0FJTUhXcmFwcGVySWNvbixcbiAgU0NDQUlNSFdyYXBwZXJNb2RhbCxcbiAgU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQsXG4gIFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGUsXG4gIFNDQ0FJTUhEaXZpZGVyLFxuICBTQ0NBSU1IQWdlbnRzTGlzdCxcbiAgU0NDQUlNSExvYWRlcldyYXBwZXIsXG4gIFNDQ0FJV3JhcHBlcixcbiAgU0NDQUlNSExheW91dE1lbnVBbmNob3IsXG4gIFNDQ0FJTUhMYXlvdXRNZW51UGFuZWwsXG4gIFNDQ0FJTUhMYXlvdXRNZW51Um93LFxufSBmcm9tICcuL0NoYXRBaU1vZGFsSGVhZGVyLnN0eWxlcydcbmltcG9ydCB0eXBlIHsgTWFpYUNoYXRNb2RhbExheW91dE1vZGUgfSBmcm9tICcuLi8uLi9sYXlvdXQnXG5pbXBvcnQgeyBFVkVOVFMsIHVzZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnXG5pbXBvcnQgeyBDT1JVc2VyUm9sZSwgdXNlVXNlciB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL2NvbnRleHQvY29yLXVzZXInXG5pbXBvcnQgeyBBZ2VudCB9IGZyb20gJy4uLy4uLy4uLy4uLy4uL3R5cGVzL2FnZW50J1xuaW1wb3J0IHsgQ2hpcExsbSB9IGZyb20gJy4uLy4uLy4uLy4uL2F0b21zL0NoaXBMbG0nXG5pbXBvcnQgeyBMb2FkZXIgfSBmcm9tICcuLi8uLi8uLi8uLi9hdG9tcy9Mb2FkZXInXG5cbmV4cG9ydCBjb25zdCBDaGF0QUlNb2RhbEhlYWRlciA9ICh7XG4gIGxheW91dE1vZGUsXG4gIG9uTGF5b3V0TW9kZUNoYW5nZSxcbiAgZXhwYW5kZWQsXG4gIGRyYWdnYWJsZSA9IGZhbHNlLFxuICBvbkRyYWdTdGFydCxcbiAgb25EcmFnTW92ZSxcbiAgb25EcmFnRW5kLFxuICBoYW5kbGVDbG9zZSA9ICgpID0+IG51bGwsXG4gIGFnZW50cyA9IFtdLFxuICBoYXNFcnJvciA9IGZhbHNlLFxuICBsb2FkaW5nID0gZmFsc2UsXG4gIGxvYWRpbmdNb3JlID0gZmFsc2UsXG4gIGhhc01vcmUgPSBmYWxzZSxcbiAgaGFuZGxlUmVzZXRDaGF0LFxuICBvbkFnZW50VXBkYXRlLFxuICBsb2FkTW9yZUFnZW50cyxcbiAgc29ydEFnZW50c0xpc3QsXG4gIGhpZGVBZ2VudFNlbGVjdG9yID0gZmFsc2UsXG59OiB7XG4gIGxheW91dE1vZGU6IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlXG4gIG9uTGF5b3V0TW9kZUNoYW5nZTogKG1vZGU6IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlKSA9PiB2b2lkXG4gIGV4cGFuZGVkOiBib29sZWFuXG4gIGRyYWdnYWJsZT86IGJvb2xlYW5cbiAgb25EcmFnU3RhcnQ/OiAoZXZlbnQ6IFJlYWN0UG9pbnRlckV2ZW50PEhUTUxEaXZFbGVtZW50PikgPT4gdm9pZFxuICBvbkRyYWdNb3ZlPzogKGV2ZW50OiBSZWFjdFBvaW50ZXJFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHZvaWRcbiAgb25EcmFnRW5kPzogKGV2ZW50OiBSZWFjdFBvaW50ZXJFdmVudDxIVE1MRGl2RWxlbWVudD4pID0+IHZvaWRcbiAgaGFuZGxlQ2xvc2U/OiAoKSA9PiB2b2lkXG4gIGFnZW50czogQWdlbnRbXVxuICBoYXNFcnJvcjogYm9vbGVhblxuICBsb2FkaW5nOiBib29sZWFuXG4gIGxvYWRpbmdNb3JlPzogYm9vbGVhblxuICBoYXNNb3JlPzogYm9vbGVhblxuICBoYW5kbGVSZXNldENoYXQ6ICgpID0+IHZvaWRcbiAgb25BZ2VudFVwZGF0ZT86ICh1cGRhdGVkQWdlbnQ6IEFnZW50KSA9PiB2b2lkXG4gIGxvYWRNb3JlQWdlbnRzPzogKCkgPT4gdm9pZFxuICBzb3J0QWdlbnRzTGlzdD86ICgpID0+IHZvaWRcbiAgaGlkZUFnZW50U2VsZWN0b3I/OiBib29sZWFuXG59KSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oW1NFQ1RJT05TLmFibUFnZW50XSlcbiAgY29uc3QgdXNlciA9IHVzZVVzZXIoKVxuICBjb25zdCBhbXBsaXR1ZEV2ZW50ID0gdXNlRXZlbnQoKVxuICBjb25zdCB7IGFnZW50OiBzZWxlY3RlZEFnZW50LCBzZWxlY3RBZ2VudCwgc2V0UHJvamVjdCwgc2V0Q2xpZW50IH0gPSB1c2VHbG9iYWxDb250ZXh0KClcbiAgY29uc3QgW2lzRXhwYW5kZWQsIHNldElzRXhwYW5kZWRdID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IHRleHRSZWZBZ2VudCA9IHVzZVJlZjxIVE1MU3BhbkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IGRyb3Bkb3duUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBsYXlvdXRNZW51UmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBbbGF5b3V0TWVudU9wZW4sIHNldExheW91dE1lbnVPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCB7IHNob3dUb29sdGlwOiBzaG93VG9vbHRpcEFnZW50IH0gPSB1c2VSZXNpemVMaXN0ZW5lcih0ZXh0UmVmQWdlbnQsIFtzZWxlY3RlZEFnZW50Py5uYW1lXSlcbiAgY29uc3QgYWdlbnRzUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuXG4gIGNvbnN0IGFnZW50c0ZvclNlbGVjdG9yID0gdXNlTWVtbygoKSA9PiBhZ2VudHMuZmlsdGVyKGFnZW50SXRlbSA9PiBhZ2VudEl0ZW0uZW50aXR5ICE9PSAnZ2xvYmFsJyksIFthZ2VudHNdKVxuXG4gIC8vIE1hbmVqYXIgc2Nyb2xsIGluZmluaXRvIHBhcmEgY2FyZ2FyIG3DoXMgYWdlbnRzXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgLy8gU29sbyBjdWFuZG8gZWwgZHJvcGRvd24gZXN0w6kgYWJpZXJ0b1xuICAgIGlmICghaXNFeHBhbmRlZCkge1xuICAgICAgcmV0dXJuIHVuZGVmaW5lZFxuICAgIH1cblxuICAgIGNvbnN0IGhhbmRsZVNjcm9sbCA9ICgpID0+IHtcbiAgICAgIGlmICghYWdlbnRzUmVmLmN1cnJlbnQgfHwgIWxvYWRNb3JlQWdlbnRzIHx8ICFoYXNNb3JlIHx8IGxvYWRpbmdNb3JlKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBjb25zdCB7IHNjcm9sbFRvcCwgc2Nyb2xsSGVpZ2h0LCBjbGllbnRIZWlnaHQgfSA9IGFnZW50c1JlZi5jdXJyZW50XG4gICAgICBjb25zdCBkaXN0YW5jZUZyb21Cb3R0b20gPSBzY3JvbGxIZWlnaHQgLSBzY3JvbGxUb3AgLSBjbGllbnRIZWlnaHRcblxuICAgICAgLy8gQ2FyZ2FyIG3DoXMgKDUwcHggYW50ZXMpXG4gICAgICBpZiAoZGlzdGFuY2VGcm9tQm90dG9tIDwgNTApIHtcbiAgICAgICAgbG9hZE1vcmVBZ2VudHMoKVxuICAgICAgfVxuICAgIH1cblxuICAgIC8vIGRlbGF5IHBhcmEgYXNlZ3VyYXIgcXVlIGVsIERPTSBlc3TDqSByZW5kZXJpemFkb1xuICAgIGNvbnN0IHRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgY29uc3Qgc2Nyb2xsRWxlbWVudCA9IGFnZW50c1JlZi5jdXJyZW50XG4gICAgICBpZiAoc2Nyb2xsRWxlbWVudCkge1xuICAgICAgICBzY3JvbGxFbGVtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbClcbiAgICAgIH1cbiAgICB9LCAxMDApXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJZClcbiAgICAgIGNvbnN0IHNjcm9sbEVsZW1lbnQgPSBhZ2VudHNSZWYuY3VycmVudFxuICAgICAgaWYgKHNjcm9sbEVsZW1lbnQpIHtcbiAgICAgICAgc2Nyb2xsRWxlbWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpXG4gICAgICB9XG4gICAgfVxuICB9LCBbaXNFeHBhbmRlZCwgbG9hZE1vcmVBZ2VudHMsIGhhc01vcmUsIGxvYWRpbmdNb3JlXSlcblxuICBjb25zdCBsb2NhbEFnZW50cyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChcbiAgICAgIHNlbGVjdGVkQWdlbnQ/LmlzX2RlbGV0ZWQgfHxcbiAgICAgIHNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfcGVybWlzc2lvbnMgfHxcbiAgICAgIHNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfYWNjZXNzIHx8XG4gICAgICBzZWxlY3RlZEFnZW50Py5pc19mcm9tX2NvbnZlcnNhdGlvblxuICAgICkge1xuICAgICAgcmV0dXJuIHNlbGVjdGVkQWdlbnRcbiAgICB9XG4gICAgY29uc3QgZnJvbUxpc3QgPSBhZ2VudHMuZmluZChcbiAgICAgIGFnZW50ID0+XG4gICAgICAgICFhZ2VudC5pc19kZWxldGVkICYmICFhZ2VudC5oYXNfbm90X3Blcm1pc3Npb25zICYmICFhZ2VudC5oYXNfbm90X2FjY2VzcyAmJiBhZ2VudC5pZCA9PT0gc2VsZWN0ZWRBZ2VudD8uaWRcbiAgICApXG4gICAgLy8gQWdlbnRlIGhpZHJhdGFkbyBwb3IgR0VUIChwLiBlai4gbnVldm8gY2hhdCB0cmFzIGNyZWF0ZV9hZ2VudCkgcHVlZGUgbm8gZXN0YXIgYcO6biBlbiBsYSBsaXN0YSBwYWdpbmFkYVxuICAgIHJldHVybiBmcm9tTGlzdCA/PyBzZWxlY3RlZEFnZW50ID8/IG51bGxcbiAgfSwgW2FnZW50cywgc2VsZWN0ZWRBZ2VudF0pXG5cbiAgY29uc3QgaGFuZGxlU2VsZWN0QWdlbnQgPSB1c2VDYWxsYmFjayhcbiAgICAoYWdlbnQ6IEFnZW50KSA9PiB7XG4gICAgICBzZWxlY3RBZ2VudChhZ2VudClcbiAgICAgIGFtcGxpdHVkRXZlbnQoRVZFTlRTLmFpQ2hhdEFnZW50U2VsZWN0LCB7XG4gICAgICAgIGFnZW50X3R5cGU6IGFnZW50Py50eXBlLFxuICAgICAgfSlcbiAgICAgIHNldElzRXhwYW5kZWQoZmFsc2UpXG4gICAgICBzZXRQcm9qZWN0KG51bGwpXG4gICAgICBzZXRDbGllbnQ/LihudWxsKVxuICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgIGhhbmRsZVJlc2V0Q2hhdCgpXG4gICAgICB9LCAxMDApXG4gICAgfSxcbiAgICBbc2VsZWN0QWdlbnQsIGFtcGxpdHVkRXZlbnQsIGhhbmRsZVJlc2V0Q2hhdCwgc2V0UHJvamVjdCwgc2V0Q2xpZW50XVxuICApXG5cbiAgY29uc3QgaGFuZGxlRXhwYW5kTW9kYWwgPSAoKSA9PiB7XG4gICAgaWYgKCFpc0V4cGFuZGVkKSB7XG4gICAgICBhbXBsaXR1ZEV2ZW50KEVWRU5UUy5haUNoYXRPcGVuQWdlbnRTZWxlY3QpXG4gICAgICAvLyBDdWFuZG8gc2UgYWJyZSBlbCBzZWxlY3Rvciwgb3JkZW5hciBsb3MgYWdlbnRlc1xuICAgICAgaWYgKHNvcnRBZ2VudHNMaXN0KSB7XG4gICAgICAgIHNvcnRBZ2VudHNMaXN0KClcbiAgICAgIH1cbiAgICB9XG4gICAgc2V0SXNFeHBhbmRlZChwcmV2ID0+ICFwcmV2KVxuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoIWlzRXhwYW5kZWQgJiYgIWxheW91dE1lbnVPcGVuKSB7XG4gICAgICByZXR1cm4gdW5kZWZpbmVkXG4gICAgfVxuXG4gICAgY29uc3QgaGFuZGxlQ2xpY2tPdXRzaWRlID0gKGV2ZW50OiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgICBjb25zdCB0YXJnZXQgPSBldmVudC50YXJnZXQgYXMgTm9kZVxuICAgICAgaWYgKGlzRXhwYW5kZWQgJiYgZHJvcGRvd25SZWYuY3VycmVudCAmJiAhZHJvcGRvd25SZWYuY3VycmVudC5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICAgIHNldElzRXhwYW5kZWQoZmFsc2UpXG4gICAgICB9XG4gICAgICBpZiAobGF5b3V0TWVudU9wZW4gJiYgbGF5b3V0TWVudVJlZi5jdXJyZW50ICYmICFsYXlvdXRNZW51UmVmLmN1cnJlbnQuY29udGFpbnModGFyZ2V0KSkge1xuICAgICAgICBzZXRMYXlvdXRNZW51T3BlbihmYWxzZSlcbiAgICAgIH1cbiAgICB9XG5cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSlcbiAgICB9XG4gIH0sIFtpc0V4cGFuZGVkLCBsYXlvdXRNZW51T3Blbl0pXG5cbiAgY29uc3QgaGFuZGxlUGlja0xheW91dCA9IHVzZUNhbGxiYWNrKFxuICAgIChtb2RlOiBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZSkgPT4ge1xuICAgICAgYW1wbGl0dWRFdmVudChFVkVOVFMucHJvamVjdFJlc3VtZUV4cGFuZCwge1xuICAgICAgICBleHBhbmRlZDogbW9kZSA9PT0gJ2Z1bGxzY3JlZW4nLFxuICAgICAgfSlcbiAgICAgIG9uTGF5b3V0TW9kZUNoYW5nZShtb2RlKVxuICAgICAgc2V0TGF5b3V0TWVudU9wZW4oZmFsc2UpXG4gICAgfSxcbiAgICBbYW1wbGl0dWRFdmVudCwgb25MYXlvdXRNb2RlQ2hhbmdlXVxuICApXG5cbiAgY29uc3QgdXNlclJvbGVzRGlzYWJsZWQgPSBbQ09SVXNlclJvbGUuQ09MTEFCT1JBVE9SLCBDT1JVc2VyUm9sZS5GUkVFTEFOQ0VSLCBDT1JVc2VyUm9sZS5DTElFTlRdXG5cbiAgY29uc3QgcmVuZGVyTW9kYWwgPSAoKSA9PiB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ0NBSU1IV3JhcHBlclxuICAgICAgICByZWY9e2Ryb3Bkb3duUmVmfVxuICAgICAgICBkYXRhLW5vLWRyYWc9XCJ0cnVlXCJcbiAgICAgICAgb25DbGljaz17YWdlbnRzLmxlbmd0aCA/IGhhbmRsZUV4cGFuZE1vZGFsIDogdW5kZWZpbmVkfVxuICAgICAgICBpZD1cImNoYXQtYWktbW9kYWwtaGVhZGVyLXdyYXBwZXJcIlxuICAgICAgPlxuICAgICAgICA8U0NDQUlNSFNlbGVjdGVkQWdlbnQ+XG4gICAgICAgICAgPFRvb2x0aXBcbiAgICAgICAgICAgIHRpdGxlPXtcbiAgICAgICAgICAgICAgc2hvd1Rvb2x0aXBBZ2VudCA/IChcbiAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGFsaWduSXRlbXM6ICdjZW50ZXInLCBnYXA6ICc0cHgnIH19PlxuICAgICAgICAgICAgICAgICAge2xvY2FsQWdlbnRzPy50eXBlID09PSAnY3VzdG9tJyA/IGxvY2FsQWdlbnRzPy5lbW9qaSA6IDxNQUlBSWNvbiAvPn0ge2xvY2FsQWdlbnRzPy5uYW1lfVxuICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICAnJ1xuICAgICAgICAgICAgICApXG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBwbGFjZW1lbnQ9e2lzRXhwYW5kZWQgPyAnbGVmdCcgOiAndG9wJ31cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8U0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0XG4gICAgICAgICAgICAgIHJlZj17dGV4dFJlZkFnZW50fVxuICAgICAgICAgICAgICBpc0FnZW50RGVsZXRlZD17XG4gICAgICAgICAgICAgICAgISFzZWxlY3RlZEFnZW50Py5pc19kZWxldGVkIHx8ICEhc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9wZXJtaXNzaW9ucyB8fCAhIXNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfYWNjZXNzXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZ2FwOiAnNHB4JyB9fT5cbiAgICAgICAgICAgICAgICB7bG9jYWxBZ2VudHM/LnR5cGUgPT09ICdjdXN0b20nID8gbG9jYWxBZ2VudHM/LmVtb2ppIDogPE1BSUFJY29uIC8+fSB7bG9jYWxBZ2VudHM/Lm5hbWV9XG4gICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgIDwvU0NDQUlNSFNlbGVjdGVkQWdlbnRUZXh0PlxuICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgPC9TQ0NBSU1IU2VsZWN0ZWRBZ2VudD5cbiAgICAgICAgPFNDQ0FJTUhXcmFwcGVySWNvbj5cbiAgICAgICAgICA8Q2hldnJvbkRvd24gd2lkdGg9ezE0fSBoZWlnaHQ9ezE0fSBjb2xvcj1cIiMyMDIwMUZcIiAvPlxuICAgICAgICA8L1NDQ0FJTUhXcmFwcGVySWNvbj5cbiAgICAgICAge2lzRXhwYW5kZWQgJiYgKFxuICAgICAgICAgIDxTQ0NBSU1IV3JhcHBlck1vZGFsPlxuICAgICAgICAgICAgPFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50PlxuICAgICAgICAgICAgICB7d2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTUyAmJiAhdXNlclJvbGVzRGlzYWJsZWQuaW5jbHVkZXModXNlci5yb2xlX2lkKSAmJiAoXG4gICAgICAgICAgICAgICAgPD5cbiAgICAgICAgICAgICAgICAgIHsoKCkgPT4ge1xuICAgICAgICAgICAgICAgICAgICBjb25zdCBjbG9uZUFnZW50cyA9IGFnZW50c0ZvclNlbGVjdG9yLmZpbHRlcigoYWc6IEFnZW50KSA9PiBhZy50eXBlID09PSAnY2xvbmUnKVxuICAgICAgICAgICAgICAgICAgICBpZiAoIWNsb25lQWdlbnRzLmxlbmd0aCkgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAgICAgICAgPFNDQ0FJV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgICAgPE1BSUFJY29uIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICAgIDxTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlIGlzQ2xvbmU+TUFJQSBieSBDT1I8L1NDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50VGl0bGU+XG4gICAgICAgICAgICAgICAgICAgICAgICA8L1NDQ0FJV3JhcHBlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIDxTQ0NBSU1IRGl2aWRlciAvPlxuXG4gICAgICAgICAgICAgICAgICAgICAgICB7Y2xvbmVBZ2VudHMubWFwKChjbG9uZUFnZW50LCBpbmRleCkgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgICAgICA8Q2hhdEFJQWdlbnRPcHRpb25cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2BhZ2VudC0ke2Nsb25lQWdlbnQuaWR9YH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBhZ2VudD17Y2xvbmVBZ2VudH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBpbmRleD17aW5kZXh9XG4gICAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlU2VsZWN0QWdlbnQ9e2hhbmRsZVNlbGVjdEFnZW50fVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzU2VsZWN0ZWQ9e3NlbGVjdGVkQWdlbnQ/LmlkID09PSBjbG9uZUFnZW50LmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIGlzTWFpYVxuICAgICAgICAgICAgICAgICAgICAgICAgICAgIG9uRmF2b3JpdGVUb2dnbGU9e29uQWdlbnRVcGRhdGV9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgfSkoKX1cbiAgICAgICAgICAgICAgICA8Lz5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPFNDQ0FJTUhBZ2VudHNMaXN0IGhhc01vcmU9e2hhc01vcmV9IGFnZW50c0NvdW50PXthZ2VudHNGb3JTZWxlY3Rvci5sZW5ndGh9IHJlZj17YWdlbnRzUmVmfT5cbiAgICAgICAgICAgICAgICB7YWdlbnRzRm9yU2VsZWN0b3I/Lm1hcCgoYWdlbnQsIGluZGV4KSA9PiB7XG4gICAgICAgICAgICAgICAgICBpZiAoXG4gICAgICAgICAgICAgICAgICAgIGFnZW50Py5pc19kZWxldGVkIHx8XG4gICAgICAgICAgICAgICAgICAgIGFnZW50Py5oYXNfbm90X3Blcm1pc3Npb25zIHx8XG4gICAgICAgICAgICAgICAgICAgIGFnZW50Py5oYXNfbm90X2FjY2VzcyB8fFxuICAgICAgICAgICAgICAgICAgICBhZ2VudD8udHlwZSA9PT0gJ2Nsb25lJyB8fFxuICAgICAgICAgICAgICAgICAgICBhZ2VudD8udHlwZSA9PT0gJ2N1c3RvbSdcbiAgICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICAgIDxDaGF0QUlBZ2VudE9wdGlvblxuICAgICAgICAgICAgICAgICAgICAgIGtleT17YGFnZW50LSR7YWdlbnQuaWR9YH1cbiAgICAgICAgICAgICAgICAgICAgICBhZ2VudD17YWdlbnR9XG4gICAgICAgICAgICAgICAgICAgICAgaW5kZXg9e2luZGV4fVxuICAgICAgICAgICAgICAgICAgICAgIGhhbmRsZVNlbGVjdEFnZW50PXtoYW5kbGVTZWxlY3RBZ2VudH1cbiAgICAgICAgICAgICAgICAgICAgICBpc1NlbGVjdGVkPXtzZWxlY3RlZEFnZW50Py5pZCA9PT0gYWdlbnQuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgb25GYXZvcml0ZVRvZ2dsZT17b25BZ2VudFVwZGF0ZX1cbiAgICAgICAgICAgICAgICAgICAgICBzZXRJc0V4cGFuZGVkPXtzZXRJc0V4cGFuZGVkfVxuICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICAgIHtsb2FkaW5nTW9yZSAmJiAoXG4gICAgICAgICAgICAgICAgICA8U0NDQUlNSExvYWRlcldyYXBwZXI+XG4gICAgICAgICAgICAgICAgICAgIDxMb2FkZXIgc2l6ZT1cInNtYWxsXCIgLz5cbiAgICAgICAgICAgICAgICAgIDwvU0NDQUlNSExvYWRlcldyYXBwZXI+XG4gICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgPC9TQ0NBSU1IQWdlbnRzTGlzdD5cbiAgICAgICAgICAgIDwvU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQ+XG4gICAgICAgICAgPC9TQ0NBSU1IV3JhcHBlck1vZGFsPlxuICAgICAgICApfVxuICAgICAgPC9TQ0NBSU1IV3JhcHBlcj5cbiAgICApXG4gIH1cblxuICBjb25zdCBzZWxlY3RlZE1vZGVsTGxtID0gc2VsZWN0ZWRBZ2VudD8ubW9kZWxfZGlzcGxheV9uYW1lXG4gIGNvbnN0IHNlbGVjdGVkQWdlbnRUeXBlID0gc2VsZWN0ZWRBZ2VudD8udHlwZSA9PT0gJ2N1c3RvbSdcbiAgY29uc3Qgc2hvdWxkUmVuZGVyU2VsZWN0b3IgPVxuICAgICFoYXNFcnJvciAmJlxuICAgICFsb2FkaW5nICYmXG4gICAgIWhpZGVBZ2VudFNlbGVjdG9yICYmXG4gICAgISFzZWxlY3RlZEFnZW50ICYmXG4gICAgKCEhd2luZG93Lk1BSUFfQ0hBVF9BSV9GRUFUVVJFX0FDQ0VTU19NVUxUSV9BR0VOVFMgfHwgISF3aW5kb3cuTUFJQV9DSEFUX0FJX0ZFQVRVUkVfQUNDRVNTKVxuXG4gIHJldHVybiAoXG4gICAgPFNDQ0FJTUhNb2RhbFxuICAgICAgJGhhc0Vycm9yPXtoYXNFcnJvcn1cbiAgICAgICRsb2FkaW5nPXtsb2FkaW5nfVxuICAgICAgJGhhc0FnZW50cz17ISFhZ2VudHMubGVuZ3RofVxuICAgICAgb25Qb2ludGVyRG93bj17ZHJhZ2dhYmxlID8gb25EcmFnU3RhcnQgOiB1bmRlZmluZWR9XG4gICAgICBvblBvaW50ZXJNb3ZlPXtkcmFnZ2FibGUgPyBvbkRyYWdNb3ZlIDogdW5kZWZpbmVkfVxuICAgICAgb25Qb2ludGVyVXA9e2RyYWdnYWJsZSA/IG9uRHJhZ0VuZCA6IHVuZGVmaW5lZH1cbiAgICAgIG9uUG9pbnRlckNhbmNlbD17ZHJhZ2dhYmxlID8gb25EcmFnRW5kIDogdW5kZWZpbmVkfVxuICAgICAgb25Mb3N0UG9pbnRlckNhcHR1cmU9e2RyYWdnYWJsZSA/IG9uRHJhZ0VuZCA6IHVuZGVmaW5lZH1cbiAgICAgIHN0eWxlPXt7IGN1cnNvcjogZHJhZ2dhYmxlID8gJ2dyYWInIDogdW5kZWZpbmVkLCB0b3VjaEFjdGlvbjogZHJhZ2dhYmxlID8gJ21hbmlwdWxhdGlvbicgOiB1bmRlZmluZWQgfX1cbiAgICA+XG4gICAgICB7c2hvdWxkUmVuZGVyU2VsZWN0b3IgPyByZW5kZXJNb2RhbCgpIDogPGRpdiAvPn1cbiAgICAgIDxTQ0NBSU1IV3JhcHBlckJ1dHRvbiBkYXRhLW5vLWRyYWc9XCJ0cnVlXCI+XG4gICAgICAgIHtzZWxlY3RlZEFnZW50VHlwZSAmJiBzZWxlY3RlZE1vZGVsTGxtICYmIDxDaGlwTGxtIG1vZGVsPXtzZWxlY3RlZE1vZGVsTGxtfSBleHBhbmRlZD17ZXhwYW5kZWR9IC8+fVxuICAgICAgICA8U0NDQUlNSExheW91dE1lbnVBbmNob3IgcmVmPXtsYXlvdXRNZW51UmVmfSBkYXRhLW5vLWRyYWc9XCJ0cnVlXCI+XG4gICAgICAgICAgPEljb25CdXR0b25cbiAgICAgICAgICAgIGJ1dHRvbklkPVwiYnRuLW1haWEtbGF5b3V0LW1lbnVcIlxuICAgICAgICAgICAgaGFuZGxlQ2xpY2s9eygpID0+IHNldExheW91dE1lbnVPcGVuKHByZXYgPT4gIXByZXYpfVxuICAgICAgICAgICAgdG9vbHRpcD17dCgnbGF5b3V0TWVudVRvb2x0aXAnKX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8TWFpYUNoYXRMYXlvdXRNZW51SWNvbiAvPlxuICAgICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgICAgICB7bGF5b3V0TWVudU9wZW4gPyAoXG4gICAgICAgICAgICA8U0NDQUlNSExheW91dE1lbnVQYW5lbCByb2xlPVwibWVudVwiPlxuICAgICAgICAgICAgICA8U0NDQUlNSExheW91dE1lbnVSb3dcbiAgICAgICAgICAgICAgICB0eXBlPVwiYnV0dG9uXCJcbiAgICAgICAgICAgICAgICAkYWN0aXZlPXtsYXlvdXRNb2RlID09PSAnc2lkZWJhcid9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlUGlja0xheW91dCgnc2lkZWJhcicpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3QoJ2xheW91dFNpZGViYXInKX1cbiAgICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVJvdz5cbiAgICAgICAgICAgICAgPFNDQ0FJTUhMYXlvdXRNZW51Um93XG4gICAgICAgICAgICAgICAgdHlwZT1cImJ1dHRvblwiXG4gICAgICAgICAgICAgICAgJGFjdGl2ZT17bGF5b3V0TW9kZSA9PT0gJ2Z1bGxzY3JlZW4nfVxuICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZVBpY2tMYXlvdXQoJ2Z1bGxzY3JlZW4nKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt0KCdsYXlvdXRGdWxsc2NyZWVuJyl9XG4gICAgICAgICAgICAgIDwvU0NDQUlNSExheW91dE1lbnVSb3c+XG4gICAgICAgICAgICAgIDxTQ0NBSU1ITGF5b3V0TWVudVJvd1xuICAgICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICAgICRhY3RpdmU9e2xheW91dE1vZGUgPT09ICdmbG9hdGluZyd9XG4gICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gaGFuZGxlUGlja0xheW91dCgnZmxvYXRpbmcnKX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHt0KCdsYXlvdXRGbG9hdGluZycpfVxuICAgICAgICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51Um93PlxuICAgICAgICAgICAgPC9TQ0NBSU1ITGF5b3V0TWVudVBhbmVsPlxuICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICA8L1NDQ0FJTUhMYXlvdXRNZW51QW5jaG9yPlxuICAgICAgICA8SWNvbkJ1dHRvbiBoYW5kbGVDbGljaz17aGFuZGxlQ2xvc2V9IHRvb2x0aXA9e3QoJ2dsb2JhbHMuY2xvc2UnKX0+XG4gICAgICAgICAgPENyb3NzIC8+XG4gICAgICAgIDwvSWNvbkJ1dHRvbj5cbiAgICAgIDwvU0NDQUlNSFdyYXBwZXJCdXR0b24+XG4gICAgPC9TQ0NBSU1ITW9kYWw+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6IjtBQUFBO0FBQ0E7QUFDQSxTQUFTQSxTQUFTLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxFQUFFQyxXQUFXLEVBQUVDLE9BQU8sUUFBMkMsT0FBTztBQUM1RyxTQUFTQyxPQUFPLFFBQVEsOENBQThDO0FBQ3RFLFNBQVNDLEtBQUssUUFBUSx3Q0FBd0M7QUFDOUQsU0FBU0MsV0FBVyxRQUFRLDhDQUE4QztBQUMxRSxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUM5QyxTQUFTQyxRQUFRLFFBQVEsaUNBQWlDO0FBQzFELFNBQVNDLGdCQUFnQixRQUFRLHVDQUF1QztBQUN4RSxTQUFTQyxpQkFBaUIsUUFBUSxnQ0FB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
@@ -45,28 +45,35 @@ export var SCCAIMMAIAText = styled.h3.withConfig({
45
45
  displayName: "ChatAiModalHeaderstyles__SCCAIMMAIAText",
46
46
  componentId: "sc-r6xbtc-9"
47
47
  })(["font-size:16px;font-weight:500;position:relative;background:linear-gradient(to right,#ba43ff 0%,#ff43ca 50%,#ba43ff 100%);background-size:200% auto;-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;color:transparent;animation:shine 3s linear infinite,fadeInScale 0.8s ease-out;transform-origin:left center;@keyframes shine{to{background-position:200% center;}}@keyframes fadeInScale{0%{opacity:0;transform:scale(0.8);}100%{opacity:1;transform:scale(1);}}"]);
48
- export var SCCAIMHAddAgent = styled.div.withConfig({
49
- displayName: "ChatAiModalHeaderstyles__SCCAIMHAddAgent",
50
- componentId: "sc-r6xbtc-10"
51
- })(["display:flex;width:100%;padding:8px 12px;align-items:center;justify-content:center;cursor:pointer;font-size:14px;line-height:140%;background-color:#08c;color:white;gap:8px;border-radius:4px;&:hover{background-color:#069;}"]);
52
48
  export var SCCAIMHDivider = styled.div.withConfig({
53
49
  displayName: "ChatAiModalHeaderstyles__SCCAIMHDivider",
54
- componentId: "sc-r6xbtc-11"
50
+ componentId: "sc-r6xbtc-10"
55
51
  })(["height:0.5px;background-color:#d9d9d9;width:100%;margin:4px 0px 2px 0px;"]);
56
52
  export var SCCAIWrapper = styled.div.withConfig({
57
53
  displayName: "ChatAiModalHeaderstyles__SCCAIWrapper",
58
- componentId: "sc-r6xbtc-12"
54
+ componentId: "sc-r6xbtc-11"
59
55
  })(["display:flex;align-items:center;justify-content:center;gap:12px;padding-left:4px;svg{transform:scale(1.7);}"]);
60
56
  export var SCCAIMHAgentsList = styled.div.withConfig({
61
57
  displayName: "ChatAiModalHeaderstyles__SCCAIMHAgentsList",
62
- componentId: "sc-r6xbtc-13"
58
+ componentId: "sc-r6xbtc-12"
63
59
  })(["max-height:275px;overflow-y:auto;overscroll-behavior-y:contain;display:flex;flex-direction:column;gap:4px;"]);
64
60
  export var SCCAIMHLoaderWrapper = styled.div.withConfig({
65
61
  displayName: "ChatAiModalHeaderstyles__SCCAIMHLoaderWrapper",
66
- componentId: "sc-r6xbtc-14"
62
+ componentId: "sc-r6xbtc-13"
67
63
  })(["padding:8px;display:flex;justify-content:center;align-items:center;"]);
68
- export var SCCAIMHPlusIconWrapper = styled.div.withConfig({
69
- displayName: "ChatAiModalHeaderstyles__SCCAIMHPlusIconWrapper",
64
+ export var SCCAIMHLayoutMenuAnchor = styled.div.withConfig({
65
+ displayName: "ChatAiModalHeaderstyles__SCCAIMHLayoutMenuAnchor",
66
+ componentId: "sc-r6xbtc-14"
67
+ })(["position:relative;"]);
68
+ export var SCCAIMHLayoutMenuPanel = styled.div.withConfig({
69
+ displayName: "ChatAiModalHeaderstyles__SCCAIMHLayoutMenuPanel",
70
70
  componentId: "sc-r6xbtc-15"
71
- })(["display:flex;align-items:center;justify-content:center;"]);
72
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJTQ0NBSU1IV3JhcHBlciIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiU0NDQUlNSE1vZGFsIiwiU0NDQUlNSFdyYXBwZXJCdXR0b24iLCJTQ0NBSU1IU2VsZWN0ZWRBZ2VudCIsIlNDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dCIsInNwYW4iLCJfcmVmIiwiaXNBZ2VudERlbGV0ZWQiLCJTQ0NBSU1IV3JhcHBlckljb24iLCJTQ0NBSU1IV3JhcHBlck1vZGFsIiwiU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQiLCJTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlIiwiX3JlZjIiLCJpc0Nsb25lIiwiU0NDQUlNTUFJQVRleHQiLCJoMyIsIlNDQ0FJTUhBZGRBZ2VudCIsIlNDQ0FJTUhEaXZpZGVyIiwiU0NDQUlXcmFwcGVyIiwiU0NDQUlNSEFnZW50c0xpc3QiLCJTQ0NBSU1ITG9hZGVyV3JhcHBlciIsIlNDQ0FJTUhQbHVzSWNvbldyYXBwZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJTW9kYWwvY29tcG9uZW50cy9DaGF0QWlNb2RhbEhlYWRlci9DaGF0QWlNb2RhbEhlYWRlci5zdHlsZXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQsIHsgY3NzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1IV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDZweCA4cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJhY2tncm91bmQtY29sb3I6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGdhcDogNnB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgbWluLXdpZHRoOiA5MHB4O1xuICBtYXgtd2lkdGg6IDI1MnB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSE1vZGFsID0gc3R5bGVkLmRpdjx7ICRoYXNFcnJvcj86IGJvb2xlYW47ICRsb2FkaW5nPzogYm9vbGVhbjsgJGhhc0FnZW50cz86IGJvb2xlYW4gfT5gXG4gIHBhZGRpbmc6IDE2cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1zaHJpbms6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1IV3JhcHBlckJ1dHRvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGdhcDogMjRweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhTZWxlY3RlZEFnZW50ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBmbGV4LWdyb3c6IDE7XG4gIG1pbi13aWR0aDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dCA9IHN0eWxlZC5zcGFuPHsgaXNBZ2VudERlbGV0ZWQ/OiBib29sZWFuIH0+YFxuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBjb2xvcjogIzM0MzQzMztcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDZweDtcbiAgJHsoeyBpc0FnZW50RGVsZXRlZCB9KSA9PlxuICAgIGlzQWdlbnREZWxldGVkICYmXG4gICAgY3NzYFxuICAgICAgdGV4dC1kZWNvcmF0aW9uOiBsaW5lLXRocm91Z2g7XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhXcmFwcGVySWNvbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSFdyYXBwZXJNb2RhbCA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgdG9wOiAzOHB4O1xuICBsZWZ0OiAwO1xuICB3aWR0aDogMTAwJTtcbiAgei1pbmRleDogMTAwMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhXcmFwcGVyTW9kYWxDb250ZW50ID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDMzNHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB3aGl0ZTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBib3gtc2hhZG93OiAwcHggNHB4IDE2cHggMHB4IHJnYmEoMTgsIDE4LCAxOCwgMC4yNCk7XG4gIHBhZGRpbmc6IDhweDtcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA0cHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlID0gc3R5bGVkLnNwYW48eyBpc0Nsb25lPzogYm9vbGVhbiB9PmBcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICMyYjJiMmI7XG4gIGZvbnQtZmFtaWx5OiAnV29yayBTYW5zJztcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6ICR7KHsgaXNDbG9uZSB9KSA9PiAoaXNDbG9uZSA/ICcwcHgnIDogJzBweCAxMnB4Jyl9O1xuICBjdXJzb3I6IGRlZmF1bHQ7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1NQUlBVGV4dCA9IHN0eWxlZC5oM2BcbiAgZm9udC1zaXplOiAxNnB4O1xuICBmb250LXdlaWdodDogNTAwO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCh0byByaWdodCwgI2JhNDNmZiAwJSwgI2ZmNDNjYSA1MCUsICNiYTQzZmYgMTAwJSk7XG4gIGJhY2tncm91bmQtc2l6ZTogMjAwJSBhdXRvO1xuICAtd2Via2l0LWJhY2tncm91bmQtY2xpcDogdGV4dDtcbiAgLXdlYmtpdC10ZXh0LWZpbGwtY29sb3I6IHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gIGNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYW5pbWF0aW9uOlxuICAgIHNoaW5lIDNzIGxpbmVhciBpbmZpbml0ZSxcbiAgICBmYWRlSW5TY2FsZSAwLjhzIGVhc2Utb3V0O1xuICB0cmFuc2Zvcm0tb3JpZ2luOiBsZWZ0IGNlbnRlcjtcblxuICBAa2V5ZnJhbWVzIHNoaW5lIHtcbiAgICB0byB7XG4gICAgICBiYWNrZ3JvdW5kLXBvc2l0aW9uOiAyMDAlIGNlbnRlcjtcbiAgICB9XG4gIH1cblxuICBAa2V5ZnJhbWVzIGZhZGVJblNjYWxlIHtcbiAgICAwJSB7XG4gICAgICBvcGFjaXR5OiAwO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgIG9wYWNpdHk6IDE7XG4gICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgIH1cbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSEFkZEFnZW50ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIHBhZGRpbmc6IDhweCAxMnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGxpbmUtaGVpZ2h0OiAxNDAlO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjMDhjO1xuICBjb2xvcjogd2hpdGU7XG4gIGdhcDogOHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICMwNjk7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhEaXZpZGVyID0gc3R5bGVkLmRpdmBcbiAgaGVpZ2h0OiAwLjVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZDlkOTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogNHB4IDBweCAycHggMHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogMTJweDtcbiAgcGFkZGluZy1sZWZ0OiA0cHg7XG4gIHN2ZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjcpO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1IQWdlbnRzTGlzdCA9IHN0eWxlZC5kaXY8eyBoYXNNb3JlPzogYm9vbGVhbjsgYWdlbnRzQ291bnQ/OiBudW1iZXIgfT5gXG4gIG1heC1oZWlnaHQ6IDI3NXB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yLXk6IGNvbnRhaW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSExvYWRlcldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nOiA4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSFBsdXNJY29uV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLElBQUlDLEdBQUcsUUFBUSxtQkFBbUI7QUFFL0MsT0FBTyxJQUFNQyxjQUFjLEdBQUdGLE1BQU0sQ0FBQ0csR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLCtLQVd2QztBQUVELE9BQU8sSUFBTUMsWUFBWSxHQUFHUCxNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxpR0FNckM7QUFFRCxPQUFPLElBQU1FLG9CQUFvQixHQUFHUixNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw4QkFHN0M7QUFFRCxPQUFPLElBQU1HLG9CQUFvQixHQUFHVCxNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwyR0FPN0M7QUFFRCxPQUFPLElBQU1JLHdCQUF3QixHQUFHVixNQUFNLENBQUNXLElBQUksQ0FBQVAsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSx3S0FXL0MsVUFBQU0sSUFBQTtFQUFBLElBQUdDLGNBQWMsR0FBQUQsSUFBQSxDQUFkQyxjQUFjO0VBQUEsT0FDakJBLGNBQWMsSUFDZFosR0FBRyxtQ0FFRjtBQUFBLEVBQ0o7QUFFRCxPQUFPLElBQU1hLGtCQUFrQixHQUFHZCxNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwrREFJM0M7QUFFRCxPQUFPLElBQU1TLG1CQUFtQixHQUFHZixNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxrRUFNNUM7QUFFRCxPQUFPLElBQU1VLDBCQUEwQixHQUFHaEIsTUFBTSxDQUFDRyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsb0tBU25EO0FBRUQsT0FBTyxJQUFNVywrQkFBK0IsR0FBR2pCLE1BQU0sQ0FBQ1csSUFBSSxDQUFBUCxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLG1KQVE3QyxVQUFBWSxLQUFBO0VBQUEsSUFBR0MsT0FBTyxHQUFBRCxLQUFBLENBQVBDLE9BQU87RUFBQSxPQUFRQSxPQUFPLEdBQUcsS0FBSyxHQUFHLFVBQVU7QUFBQSxDQUFDLENBRTNEO0FBRUQsT0FBTyxJQUFNQyxjQUFjLEdBQUdwQixNQUFNLENBQUNxQixFQUFFLENBQUFqQixVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGtmQStCdEM7QUFFRCxPQUFPLElBQU1nQixlQUFlLEdBQUd0QixNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxxT0FnQnhDO0FBRUQsT0FBTyxJQUFNaUIsY0FBYyxHQUFHdkIsTUFBTSxDQUFDRyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsZ0ZBS3ZDO0FBRUQsT0FBTyxJQUFNa0IsWUFBWSxHQUFHeEIsTUFBTSxDQUFDRyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsbUhBU3JDO0FBRUQsT0FBTyxJQUFNbUIsaUJBQWlCLEdBQUd6QixNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxrSEFPMUM7QUFFRCxPQUFPLElBQU1vQixvQkFBb0IsR0FBRzFCLE1BQU0sQ0FBQ0csR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDJFQUs3QztBQUVELE9BQU8sSUFBTXFCLHNCQUFzQixHQUFHM0IsTUFBTSxDQUFDRyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsK0RBSS9DIiwiaWdub3JlTGlzdCI6W119
71
+ })(["position:absolute;top:calc(100% + 8px);right:0;z-index:1100;display:inline-flex;padding:12px 0;flex-direction:column;align-items:flex-start;border-radius:4px;border:0.5px solid #e0e0e0;background:#fff;box-shadow:0 1px 4px 0 rgba(0,0,0,0.08),0 1px 4px 0 rgba(0,0,0,0.04);min-width:220px;"]);
72
+ export var SCCAIMHLayoutMenuRow = styled.button.withConfig({
73
+ displayName: "ChatAiModalHeaderstyles__SCCAIMHLayoutMenuRow",
74
+ componentId: "sc-r6xbtc-16"
75
+ })(["display:flex;padding:4px 16px;align-items:center;gap:6px;align-self:stretch;border:none;background:", ";cursor:pointer;font-family:var(--cor-typography-font-family,'Work Sans'),sans-serif;font-size:var(--cor-typography-font-size-sm,14px);font-weight:400;line-height:var(--cor-typography-line-height-20,20px);letter-spacing:var(--cor-typography-letter-spacing-0,0);color:var(--Text-Secondary,#666);text-align:left;&:hover{background:var(--cor-color-grey-100,#f2f2f2);}"], function (_ref3) {
76
+ var $active = _ref3.$active;
77
+ return $active ? 'var(--cor-color-grey-100, #f2f2f2)' : 'transparent';
78
+ });
79
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJTQ0NBSU1IV3JhcHBlciIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiU0NDQUlNSE1vZGFsIiwiU0NDQUlNSFdyYXBwZXJCdXR0b24iLCJTQ0NBSU1IU2VsZWN0ZWRBZ2VudCIsIlNDQ0FJTUhTZWxlY3RlZEFnZW50VGV4dCIsInNwYW4iLCJfcmVmIiwiaXNBZ2VudERlbGV0ZWQiLCJTQ0NBSU1IV3JhcHBlckljb24iLCJTQ0NBSU1IV3JhcHBlck1vZGFsIiwiU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnQiLCJTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudFRpdGxlIiwiX3JlZjIiLCJpc0Nsb25lIiwiU0NDQUlNTUFJQVRleHQiLCJoMyIsIlNDQ0FJTUhEaXZpZGVyIiwiU0NDQUlXcmFwcGVyIiwiU0NDQUlNSEFnZW50c0xpc3QiLCJTQ0NBSU1ITG9hZGVyV3JhcHBlciIsIlNDQ0FJTUhMYXlvdXRNZW51QW5jaG9yIiwiU0NDQUlNSExheW91dE1lbnVQYW5lbCIsIlNDQ0FJTUhMYXlvdXRNZW51Um93IiwiYnV0dG9uIiwiX3JlZjMiLCIkYWN0aXZlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1vZGFsL2NvbXBvbmVudHMvQ2hhdEFpTW9kYWxIZWFkZXIvQ2hhdEFpTW9kYWxIZWFkZXIuc3R5bGVzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkLCB7IGNzcyB9IGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuXG5leHBvcnQgY29uc3QgU0NDQUlNSFdyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwYWRkaW5nOiA2cHggOHB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBiYWNrZ3JvdW5kLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBnYXA6IDZweDtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIG1pbi13aWR0aDogOTBweDtcbiAgbWF4LXdpZHRoOiAyNTJweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhNb2RhbCA9IHN0eWxlZC5kaXY8eyAkaGFzRXJyb3I/OiBib29sZWFuOyAkbG9hZGluZz86IGJvb2xlYW47ICRoYXNBZ2VudHM/OiBib29sZWFuIH0+YFxuICBwYWRkaW5nOiAxNnB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSFdyYXBwZXJCdXR0b24gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDI0cHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1IU2VsZWN0ZWRBZ2VudCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgZmxleC1ncm93OiAxO1xuICBtaW4td2lkdGg6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1IU2VsZWN0ZWRBZ2VudFRleHQgPSBzdHlsZWQuc3Bhbjx7IGlzQWdlbnREZWxldGVkPzogYm9vbGVhbiB9PmBcbiAgZm9udC1zaXplOiAxNHB4O1xuICBsaW5lLWhlaWdodDogMTQwJTtcbiAgY29sb3I6ICMzNDM0MzM7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA2cHg7XG4gICR7KHsgaXNBZ2VudERlbGV0ZWQgfSkgPT5cbiAgICBpc0FnZW50RGVsZXRlZCAmJlxuICAgIGNzc2BcbiAgICAgIHRleHQtZGVjb3JhdGlvbjogbGluZS10aHJvdWdoO1xuICAgIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1IV3JhcHBlckljb24gPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhXcmFwcGVyTW9kYWwgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIHRvcDogMzhweDtcbiAgbGVmdDogMDtcbiAgd2lkdGg6IDEwMCU7XG4gIHotaW5kZXg6IDEwMDA7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1IV3JhcHBlck1vZGFsQ29udGVudCA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAzMzRweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogd2hpdGU7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYm94LXNoYWRvdzogMHB4IDRweCAxNnB4IDBweCByZ2JhKDE4LCAxOCwgMTgsIDAuMjQpO1xuICBwYWRkaW5nOiA4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSFdyYXBwZXJNb2RhbENvbnRlbnRUaXRsZSA9IHN0eWxlZC5zcGFuPHsgaXNDbG9uZT86IGJvb2xlYW4gfT5gXG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAjMmIyYjJiO1xuICBmb250LWZhbWlseTogJ1dvcmsgU2Fucyc7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiAkeyh7IGlzQ2xvbmUgfSkgPT4gKGlzQ2xvbmUgPyAnMHB4JyA6ICcwcHggMTJweCcpfTtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNTUFJQVRleHQgPSBzdHlsZWQuaDNgXG4gIGZvbnQtc2l6ZTogMTZweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQodG8gcmlnaHQsICNiYTQzZmYgMCUsICNmZjQzY2EgNTAlLCAjYmE0M2ZmIDEwMCUpO1xuICBiYWNrZ3JvdW5kLXNpemU6IDIwMCUgYXV0bztcbiAgLXdlYmtpdC1iYWNrZ3JvdW5kLWNsaXA6IHRleHQ7XG4gIC13ZWJraXQtdGV4dC1maWxsLWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1jbGlwOiB0ZXh0O1xuICBjb2xvcjogdHJhbnNwYXJlbnQ7XG4gIGFuaW1hdGlvbjpcbiAgICBzaGluZSAzcyBsaW5lYXIgaW5maW5pdGUsXG4gICAgZmFkZUluU2NhbGUgMC44cyBlYXNlLW91dDtcbiAgdHJhbnNmb3JtLW9yaWdpbjogbGVmdCBjZW50ZXI7XG5cbiAgQGtleWZyYW1lcyBzaGluZSB7XG4gICAgdG8ge1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMjAwJSBjZW50ZXI7XG4gICAgfVxuICB9XG5cbiAgQGtleWZyYW1lcyBmYWRlSW5TY2FsZSB7XG4gICAgMCUge1xuICAgICAgb3BhY2l0eTogMDtcbiAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KTtcbiAgICB9XG4gICAgMTAwJSB7XG4gICAgICBvcGFjaXR5OiAxO1xuICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDQ0FJTUhEaXZpZGVyID0gc3R5bGVkLmRpdmBcbiAgaGVpZ2h0OiAwLjVweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogI2Q5ZDlkOTtcbiAgd2lkdGg6IDEwMCU7XG4gIG1hcmdpbjogNHB4IDBweCAycHggMHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGdhcDogMTJweDtcbiAgcGFkZGluZy1sZWZ0OiA0cHg7XG4gIHN2ZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjcpO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1IQWdlbnRzTGlzdCA9IHN0eWxlZC5kaXY8eyBoYXNNb3JlPzogYm9vbGVhbjsgYWdlbnRzQ291bnQ/OiBudW1iZXIgfT5gXG4gIG1heC1oZWlnaHQ6IDI3NXB4O1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yLXk6IGNvbnRhaW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSExvYWRlcldyYXBwZXIgPSBzdHlsZWQuZGl2YFxuICBwYWRkaW5nOiA4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSExheW91dE1lbnVBbmNob3IgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0NBSU1ITGF5b3V0TWVudVBhbmVsID0gc3R5bGVkLmRpdmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICB0b3A6IGNhbGMoMTAwJSArIDhweCk7XG4gIHJpZ2h0OiAwO1xuICB6LWluZGV4OiAxMTAwO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgcGFkZGluZzogMTJweCAwO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXI6IDAuNXB4IHNvbGlkICNlMGUwZTA7XG4gIGJhY2tncm91bmQ6ICNmZmY7XG4gIGJveC1zaGFkb3c6XG4gICAgMCAxcHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjA4KSxcbiAgICAwIDFweCA0cHggMCByZ2JhKDAsIDAsIDAsIDAuMDQpO1xuICBtaW4td2lkdGg6IDIyMHB4O1xuYFxuXG5leHBvcnQgY29uc3QgU0NDQUlNSExheW91dE1lbnVSb3cgPSBzdHlsZWQuYnV0dG9uPHsgJGFjdGl2ZT86IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBhZGRpbmc6IDRweCAxNnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDZweDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiAkeyh7ICRhY3RpdmUgfSkgPT4gKCRhY3RpdmUgPyAndmFyKC0tY29yLWNvbG9yLWdyZXktMTAwLCAjZjJmMmYyKScgOiAndHJhbnNwYXJlbnQnKX07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1mYW1pbHk6IHZhcigtLWNvci10eXBvZ3JhcGh5LWZvbnQtZmFtaWx5LCAnV29yayBTYW5zJyksIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1zaXplLXNtLCAxNHB4KTtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IHZhcigtLWNvci10eXBvZ3JhcGh5LWxpbmUtaGVpZ2h0LTIwLCAyMHB4KTtcbiAgbGV0dGVyLXNwYWNpbmc6IHZhcigtLWNvci10eXBvZ3JhcGh5LWxldHRlci1zcGFjaW5nLTAsIDApO1xuICBjb2xvcjogdmFyKC0tVGV4dC1TZWNvbmRhcnksICM2NjYpO1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNvci1jb2xvci1ncmV5LTEwMCwgI2YyZjJmMik7XG4gIH1cbmBcbiJdLCJtYXBwaW5ncyI6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
@@ -0,0 +1,35 @@
1
+ /** Ancho del panel flotante en px: base y escalado en pantallas muy anchas */
2
+ export var MAIA_FLOATING_PANEL_WIDTH_PX = {
3
+ "default": 480,
4
+ large: 600,
5
+ xxl: 720
6
+ };
7
+
8
+ /** Alto del panel flotante en px: base y escalado en pantallas muy anchas (el CSS aplica max-height: 85vh) */
9
+ export var MAIA_FLOATING_PANEL_HEIGHT_PX = {
10
+ "default": 620,
11
+ large: 720,
12
+ xxl: 960
13
+ };
14
+
15
+ /** Viewport mínimo (ancho) para usar medidas `large` */
16
+ export var MAIA_FLOATING_BREAKPOINT_LARGE = 1920;
17
+
18
+ /** Viewport mínimo (ancho) para usar medidas `xxl` */
19
+ export var MAIA_FLOATING_BREAKPOINT_XXL = 2560;
20
+
21
+ /** Ancho efectivo del panel (misma lógica que los @media del CSS) */
22
+ export function getMaiaFloatingPanelWidthPx() {
23
+ if (typeof window === 'undefined') {
24
+ return MAIA_FLOATING_PANEL_WIDTH_PX["default"];
25
+ }
26
+ var vw = window.innerWidth;
27
+ if (vw >= MAIA_FLOATING_BREAKPOINT_XXL) {
28
+ return MAIA_FLOATING_PANEL_WIDTH_PX.xxl;
29
+ }
30
+ if (vw >= MAIA_FLOATING_BREAKPOINT_LARGE) {
31
+ return MAIA_FLOATING_PANEL_WIDTH_PX.large;
32
+ }
33
+ return MAIA_FLOATING_PANEL_WIDTH_PX["default"];
34
+ }
35
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYIiwibGFyZ2UiLCJ4eGwiLCJNQUlBX0ZMT0FUSU5HX1BBTkVMX0hFSUdIVF9QWCIsIk1BSUFfRkxPQVRJTkdfQlJFQUtQT0lOVF9MQVJHRSIsIk1BSUFfRkxPQVRJTkdfQlJFQUtQT0lOVF9YWEwiLCJnZXRNYWlhRmxvYXRpbmdQYW5lbFdpZHRoUHgiLCJ3aW5kb3ciLCJ2dyIsImlubmVyV2lkdGgiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJTW9kYWwvbGF5b3V0LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlID0gJ3NpZGViYXInIHwgJ2Z1bGxzY3JlZW4nIHwgJ2Zsb2F0aW5nJ1xuXG4vKiogQW5jaG8gZGVsIHBhbmVsIGZsb3RhbnRlIGVuIHB4OiBiYXNlIHkgZXNjYWxhZG8gZW4gcGFudGFsbGFzIG11eSBhbmNoYXMgKi9cbmV4cG9ydCBjb25zdCBNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYID0ge1xuICBkZWZhdWx0OiA0ODAsXG4gIGxhcmdlOiA2MDAsXG4gIHh4bDogNzIwLFxufSBhcyBjb25zdFxuXG4vKiogQWx0byBkZWwgcGFuZWwgZmxvdGFudGUgZW4gcHg6IGJhc2UgeSBlc2NhbGFkbyBlbiBwYW50YWxsYXMgbXV5IGFuY2hhcyAoZWwgQ1NTIGFwbGljYSBtYXgtaGVpZ2h0OiA4NXZoKSAqL1xuZXhwb3J0IGNvbnN0IE1BSUFfRkxPQVRJTkdfUEFORUxfSEVJR0hUX1BYID0ge1xuICBkZWZhdWx0OiA2MjAsXG4gIGxhcmdlOiA3MjAsXG4gIHh4bDogOTYwLFxufSBhcyBjb25zdFxuXG4vKiogVmlld3BvcnQgbcOtbmltbyAoYW5jaG8pIHBhcmEgdXNhciBtZWRpZGFzIGBsYXJnZWAgKi9cbmV4cG9ydCBjb25zdCBNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfTEFSR0UgPSAxOTIwXG5cbi8qKiBWaWV3cG9ydCBtw61uaW1vIChhbmNobykgcGFyYSB1c2FyIG1lZGlkYXMgYHh4bGAgKi9cbmV4cG9ydCBjb25zdCBNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfWFhMID0gMjU2MFxuXG4vKiogQW5jaG8gZWZlY3Rpdm8gZGVsIHBhbmVsIChtaXNtYSBsw7NnaWNhIHF1ZSBsb3MgQG1lZGlhIGRlbCBDU1MpICovXG5leHBvcnQgZnVuY3Rpb24gZ2V0TWFpYUZsb2F0aW5nUGFuZWxXaWR0aFB4KCk6IG51bWJlciB7XG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYLmRlZmF1bHRcbiAgfVxuICBjb25zdCB2dyA9IHdpbmRvdy5pbm5lcldpZHRoXG4gIGlmICh2dyA+PSBNQUlBX0ZMT0FUSU5HX0JSRUFLUE9JTlRfWFhMKSB7XG4gICAgcmV0dXJuIE1BSUFfRkxPQVRJTkdfUEFORUxfV0lEVEhfUFgueHhsXG4gIH1cbiAgaWYgKHZ3ID49IE1BSUFfRkxPQVRJTkdfQlJFQUtQT0lOVF9MQVJHRSkge1xuICAgIHJldHVybiBNQUlBX0ZMT0FUSU5HX1BBTkVMX1dJRFRIX1BYLmxhcmdlXG4gIH1cbiAgcmV0dXJuIE1BSUFfRkxPQVRJTkdfUEFORUxfV0lEVEhfUFguZGVmYXVsdFxufVxuIl0sIm1hcHBpbmdzIjoiQUFFQTtBQUNBLE9BQU8sSUFBTUEsNEJBQTRCLEdBQUc7RUFDMUMsV0FBUyxHQUFHO0VBQ1pDLEtBQUssRUFBRSxHQUFHO0VBQ1ZDLEdBQUcsRUFBRTtBQUNQLENBQVU7O0FBRVY7QUFDQSxPQUFPLElBQU1DLDZCQUE2QixHQUFHO0VBQzNDLFdBQVMsR0FBRztFQUNaRixLQUFLLEVBQUUsR0FBRztFQUNWQyxHQUFHLEVBQUU7QUFDUCxDQUFVOztBQUVWO0FBQ0EsT0FBTyxJQUFNRSw4QkFBOEIsR0FBRyxJQUFJOztBQUVsRDtBQUNBLE9BQU8sSUFBTUMsNEJBQTRCLEdBQUcsSUFBSTs7QUFFaEQ7QUFDQSxPQUFPLFNBQVNDLDJCQUEyQkEsQ0FBQSxFQUFXO0VBQ3BELElBQUksT0FBT0MsTUFBTSxLQUFLLFdBQVcsRUFBRTtJQUNqQyxPQUFPUCw0QkFBNEIsV0FBUTtFQUM3QztFQUNBLElBQU1RLEVBQUUsR0FBR0QsTUFBTSxDQUFDRSxVQUFVO0VBQzVCLElBQUlELEVBQUUsSUFBSUgsNEJBQTRCLEVBQUU7SUFDdEMsT0FBT0wsNEJBQTRCLENBQUNFLEdBQUc7RUFDekM7RUFDQSxJQUFJTSxFQUFFLElBQUlKLDhCQUE4QixFQUFFO0lBQ3hDLE9BQU9KLDRCQUE0QixDQUFDQyxLQUFLO0VBQzNDO0VBQ0EsT0FBT0QsNEJBQTRCLFdBQVE7QUFDN0MiLCJpZ25vcmVMaXN0IjpbXX0=