@projectcor/maia-components 2.11.70 → 2.11.71-1

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 (59) hide show
  1. package/lib/components/atoms/Chip/Chip.js +50 -15
  2. package/lib/components/atoms/Chip/styles.js +9 -5
  3. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +38 -6
  4. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.styles.js +21 -13
  5. package/lib/components/atoms/MAIAInput/MAIAInput.js +32 -14
  6. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +297 -46
  7. package/lib/components/molecules/ChatAIHome/styles.js +63 -26
  8. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +54 -148
  9. package/lib/components/molecules/ChatAIMessages/newStyles.js +19 -9
  10. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +220 -42
  11. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.js +4 -1
  12. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +26 -1
  13. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +20 -25
  14. package/lib/components/molecules/ChatFooter/ChatFooter.js +75 -18
  15. package/lib/components/molecules/ChatFooter/ChatFooterFaqs.js +22 -7
  16. package/lib/components/molecules/ChatFooter/styles.js +11 -2
  17. package/lib/components/molecules/Sidebar/Sidebar.js +11 -7
  18. package/lib/components/organisms/EditQuestionModal/EditQuestionModal.js +2 -2
  19. package/lib/constants/maiaTaskPanelAccess.js +9 -7
  20. package/lib/constants/taskUrls.js +9 -2
  21. package/lib/context/global-context.js +8 -1
  22. package/lib/hooks/index.js +2 -1
  23. package/lib/hooks/useChatManager/useChatManager.js +149 -125
  24. package/lib/hooks/useChatMessages/useChatMessages.js +33 -2
  25. package/lib/hooks/useContextPinPopover.js +235 -0
  26. package/lib/hooks/useEntitySearch.js +74 -129
  27. package/lib/hooks/useEvent.js +2 -1
  28. package/lib/hooks/useFrequentlyAskedQuestions.js +12 -10
  29. package/lib/hooks/useFrequentlyUsedActions.js +5 -3
  30. package/lib/hooks/useMentionAllowedTypes.js +11 -1
  31. package/lib/hooks/useMentionPopover.js +3 -2
  32. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +1 -1
  33. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +27 -18
  34. package/lib/hooks/useProjectSearch.js +4 -28
  35. package/lib/hooks/useProjectSummaryConfig.js +74 -4
  36. package/lib/hooks/useRecentClientsSearch.js +4 -34
  37. package/lib/hooks/useRecentContexts.js +86 -0
  38. package/lib/hooks/useSmoothStreamText/useSmoothStreamText.js +24 -16
  39. package/lib/lang/br/index.js +28 -2
  40. package/lib/lang/en/index.js +28 -2
  41. package/lib/lang/es/index.js +28 -2
  42. package/lib/lang/fr/index.js +28 -2
  43. package/lib/services/maia/Actions/getFrequentlyUsedActions.js +6 -3
  44. package/lib/services/maia/Agents/getAgents.js +225 -175
  45. package/lib/services/maia/Chats/getChatMessages.js +13 -3
  46. package/lib/services/maia/Chats/getChatsByUserId.js +10 -2
  47. package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.js +6 -4
  48. package/lib/services/maia/Orchestrator/orchestrator.js +21 -5
  49. package/lib/services/maia/RecentContexts/getRecentContexts.js +54 -0
  50. package/lib/services/maia/RecentContexts/index.js +6 -0
  51. package/lib/services/maia/index.js +4 -2
  52. package/lib/services/utils/validateIsMaia.js +2 -2
  53. package/lib/types/agent.js +1 -1
  54. package/lib/types/global.d.js +1 -1
  55. package/lib/utils/agentDisplayName.js +9 -1
  56. package/lib/utils/entityLinkRender.js +135 -0
  57. package/lib/utils/hitlAnalytics.js +3 -3
  58. package/lib/utils/renderContextMentions.js +3 -1
  59. package/package.json +1 -1
@@ -8,6 +8,8 @@ import _regeneratorRuntime from "@babel/runtime/regenerator";
8
8
  /* eslint-disable react/require-default-props */
9
9
  import { useMemo, useRef, useState, useEffect } from 'react';
10
10
  import { Attach } from '@projectcor/icons/lib/components/Attach';
11
+ import { Globe } from '@projectcor/icons/lib/components/Globe';
12
+ import { ListChecklist } from '@projectcor/icons/lib/components/ListChecklist';
11
13
  import { MODAL_ELEMENTS } from '../../../hooks/useModal/useModal';
12
14
  import { Chip } from '../../atoms/Chip';
13
15
  // eslint-disable-next-line import/no-cycle
@@ -15,7 +17,7 @@ import { MAIAInput } from '../../atoms/MAIAInput';
15
17
  import { useGlobalContext } from '../../../context/global-context';
16
18
  import { useT } from '../../../hooks/useT';
17
19
  import { EVENTS, useEvent } from '../../../hooks/useEvent';
18
- import { StyledChatFooter, ChipsAndFaqsRow } from './styles';
20
+ import { StyledChatFooter, ChipsAndFaqsRow, ContextBarLeft } from './styles';
19
21
  import { CsvFileIcon, MDFileIcon, DocFileIcon, DocxFileIcon, TextFileIcon, PdfFileIcon, ImageFileIcon, XlsxFileIcon, XlsFileIcon, Mp3FileIcon, WavFileIcon, FlacFileIcon, M4aFileIcon, Mp4FileIcon, OgaFileIcon, OggFileIcon, WebmFileIcon } from '../../atoms/icons';
20
22
  import { ImagePreview } from '../../atoms/ImagePreview/ImagePreview';
21
23
  import { preprocessImageForBackend } from '../../../utils/imagePreprocessor';
@@ -67,6 +69,9 @@ export function ChatFooter(_ref) {
67
69
  var _useT = useT(),
68
70
  t = _useT.t;
69
71
  var event = useEvent();
72
+ var inputPopoverAnchorRef = useRef(null);
73
+ var contextBarAnchorRef = useRef(null);
74
+ var isOrchestrator = (agent === null || agent === void 0 ? void 0 : agent.type) === 'orchestrator';
70
75
  var _useState = useState([]),
71
76
  _useState2 = _slicedToArray(_useState, 2),
72
77
  attachments = _useState2[0],
@@ -99,20 +104,53 @@ export function ChatFooter(_ref) {
99
104
  document.removeEventListener('chat-session-changed', handleSessionChange);
100
105
  };
101
106
  }, []);
102
- var chipItems = useMemo(function () {
103
- if (items) return items;
104
- var tempItems = [];
105
- if ((agent === null || agent === void 0 ? void 0 : agent.entity) === 'client' && client !== null && client !== void 0 && client.name) {
106
- tempItems.push(client.name);
107
- } else if (task !== null && task !== void 0 && task.name) {
108
- tempItems.push(task.name);
109
- } else if (chipsProject !== null && chipsProject !== void 0 && chipsProject.projectName) {
110
- tempItems.push(chipsProject.projectName);
111
- } else if (project !== null && project !== void 0 && project.name) {
112
- tempItems.push(project.name);
113
- }
114
- return tempItems;
115
- }, [items, project, chipsProject, agent === null || agent === void 0 ? void 0 : agent.entity, client, task === null || task === void 0 ? void 0 : task.name]);
107
+ var _useMemo = useMemo(function () {
108
+ if (items) return {
109
+ chipItems: items
110
+ };
111
+
112
+ // Mono-contexto: solo la entidad más específica (sin anidar cliente/proyecto/tarea).
113
+ if ((agent === null || agent === void 0 ? void 0 : agent.type) === 'orchestrator') {
114
+ if (task !== null && task !== void 0 && task.name) return {
115
+ chipItems: [task.name],
116
+ chipType: 'task'
117
+ };
118
+ if (chipsProject !== null && chipsProject !== void 0 && chipsProject.projectName) return {
119
+ chipItems: [chipsProject.projectName],
120
+ chipType: 'project'
121
+ };
122
+ if (client !== null && client !== void 0 && client.name) return {
123
+ chipItems: [client.name],
124
+ chipType: 'client'
125
+ };
126
+ return {
127
+ chipItems: []
128
+ };
129
+ }
130
+ if ((agent === null || agent === void 0 ? void 0 : agent.entity) === 'client' && client !== null && client !== void 0 && client.name) {
131
+ return {
132
+ chipItems: [client.name],
133
+ chipType: 'client'
134
+ };
135
+ }
136
+ if (task !== null && task !== void 0 && task.name) return {
137
+ chipItems: [task.name],
138
+ chipType: 'task'
139
+ };
140
+ if (chipsProject !== null && chipsProject !== void 0 && chipsProject.projectName) return {
141
+ chipItems: [chipsProject.projectName],
142
+ chipType: 'project'
143
+ };
144
+ if (project !== null && project !== void 0 && project.name) return {
145
+ chipItems: [project.name],
146
+ chipType: 'project'
147
+ };
148
+ return {
149
+ chipItems: []
150
+ };
151
+ }, [items, project, chipsProject, agent === null || agent === void 0 ? void 0 : agent.entity, agent === null || agent === void 0 ? void 0 : agent.type, client, task === null || task === void 0 ? void 0 : task.name]),
152
+ chipItems = _useMemo.chipItems,
153
+ chipType = _useMemo.chipType;
116
154
  var onChange = function onChange() {
117
155
  if (reportedEvent.current) return;
118
156
  event(EVENTS.pmAiTypedText, {
@@ -247,10 +285,29 @@ export function ChatFooter(_ref) {
247
285
  var shouldShowFaqs = showFaqs && section !== 'task';
248
286
  return /*#__PURE__*/_jsxs(StyledChatFooter, {
249
287
  children: [isMAIA && !loadingMessages && /*#__PURE__*/_jsx(ChipsAndFaqsRow, {
250
- children: !!chipItems.length && /*#__PURE__*/_jsx(Chip, {
251
- items: chipItems
288
+ ref: contextBarAnchorRef,
289
+ children: /*#__PURE__*/_jsx(ContextBarLeft, {
290
+ children: chipItems.length ? /*#__PURE__*/_jsx(Chip, {
291
+ items: chipItems,
292
+ type: chipType,
293
+ leadingIcon: chipType === 'task' ? /*#__PURE__*/_jsx(ListChecklist, {
294
+ color: "#666",
295
+ width: "14px",
296
+ height: "14px"
297
+ }) : undefined
298
+ }) : isOrchestrator && /*#__PURE__*/_jsx(Chip, {
299
+ items: [t('contextPin.addContext', {
300
+ defaultValue: 'Contexto global'
301
+ })],
302
+ leadingIcon: /*#__PURE__*/_jsx(Globe, {
303
+ color: "#666",
304
+ width: "14px",
305
+ height: "14px"
306
+ })
307
+ })
252
308
  })
253
309
  }), /*#__PURE__*/_jsx(MAIAInput, {
310
+ popoverAnchorRef: inputPopoverAnchorRef,
254
311
  onSendMessage: handleSendMessage,
255
312
  className: MODAL_ELEMENTS,
256
313
  disabled: disabled,
@@ -283,4 +340,4 @@ export function ChatFooter(_ref) {
283
340
  })]
284
341
  });
285
342
  }
286
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VNZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJBdHRhY2giLCJNT0RBTF9FTEVNRU5UUyIsIkNoaXAiLCJNQUlBSW5wdXQiLCJ1c2VHbG9iYWxDb250ZXh0IiwidXNlVCIsIkVWRU5UUyIsInVzZUV2ZW50IiwiU3R5bGVkQ2hhdEZvb3RlciIsIkNoaXBzQW5kRmFxc1JvdyIsIkNzdkZpbGVJY29uIiwiTURGaWxlSWNvbiIsIkRvY0ZpbGVJY29uIiwiRG9jeEZpbGVJY29uIiwiVGV4dEZpbGVJY29uIiwiUGRmRmlsZUljb24iLCJJbWFnZUZpbGVJY29uIiwiWGxzeEZpbGVJY29uIiwiWGxzRmlsZUljb24iLCJNcDNGaWxlSWNvbiIsIldhdkZpbGVJY29uIiwiRmxhY0ZpbGVJY29uIiwiTTRhRmlsZUljb24iLCJNcDRGaWxlSWNvbiIsIk9nYUZpbGVJY29uIiwiT2dnRmlsZUljb24iLCJXZWJtRmlsZUljb24iLCJJbWFnZVByZXZpZXciLCJwcmVwcm9jZXNzSW1hZ2VGb3JCYWNrZW5kIiwidmFsaWRhdGVJc01haWEiLCJpc01haWFrZXJBZ2VudCIsIkNoYXREaXNjbGFpbWVyTWVzc2FnZSIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJJY29uQnlGaWxlVHlwZSIsIkNoYXRGb290ZXIiLCJfcmVmIiwib25TZW5kTWVzc2FnZSIsIml0ZW1zIiwiZGlzYWJsZWQiLCJpc1N0cmVhbWluZyIsImlzV3JpdGluZyIsIm9uU3RvcEdlbmVyYXRpb24iLCJjaGF0SWQiLCJuZXdDaGF0S2V5IiwiX3JlZiRzaG93RmFxcyIsInNob3dGYXFzIiwidG9vbHRpcFpJbmRleCIsImxheW91dE1vZGUiLCJfdXNlR2xvYmFsQ29udGV4dCIsInByb2plY3QiLCJhZ2VudCIsImNoaXBzUHJvamVjdCIsImNsaWVudCIsInRhc2siLCJzZWN0aW9uIiwiX3VzZVQiLCJ0IiwiZXZlbnQiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJhdHRhY2htZW50cyIsInNldEF0dGFjaG1lbnRzIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJsb2FkaW5nTWVzc2FnZXMiLCJzZXRMb2FkaW5nTWVzc2FnZXMiLCJyZXBvcnRlZEV2ZW50IiwiaXNNYXJrZXRwbGFjZUdsb2JhbEFnZW50IiwiaGFuZGxlTG9hZGluZ01lc3NhZ2VzQ2hhbmdlIiwiZSIsImRldGFpbCIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJoYW5kbGVTZXNzaW9uQ2hhbmdlIiwiY2hpcEl0ZW1zIiwidGVtcEl0ZW1zIiwiZW50aXR5IiwibmFtZSIsInB1c2giLCJwcm9qZWN0TmFtZSIsIm9uQ2hhbmdlIiwiY3VycmVudCIsInBtQWlUeXBlZFRleHQiLCJhZ2VudF90eXBlIiwidHlwZSIsImhhbmRsZVNlbmRNZXNzYWdlIiwibWVzc2FnZSIsIm5ld0F0dGFjaG1lbnRzIiwibWVudGlvbnMiLCJmYXFJZCIsImFnZW50U3VnZ2VzdGlvbklkIiwiZnVhSWQiLCJzY0lkIiwiYWlDaGF0U2VuZCIsImFnZW50X2lkIiwiaWQiLCJhZ2VudF9uYW1lIiwiaGFuZGxlU2VsZWN0RmFxIiwidW5kZWZpbmVkIiwiaGFuZGxlRmlsZUF0dGFjaCIsIl9yZWYyIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJmaWxlIiwiX2ZpbGVOYW1lUGFydHMkcG9wIiwiZmlsZU5hbWVQYXJ0cyIsImZpbGVFeHRlbnNpb24iLCJpc0ltYWdlQnlFeHRlbnNpb24iLCJpc0ltYWdlQnlNaW1lIiwiaXNJbWFnZSIsImV4dGVuc2lvblRvSWNvbiIsImljb24iLCJleHRlbnNpb25Ub01pbWVUeXBlIiwibWltZVR5cGVCeUV4dGVuc2lvbiIsInByb2Nlc3NlZEZpbGUiLCJpbWFnZVVybCIsIm5ld0F0dGFjaG1lbnQiLCJfdCIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0Iiwic3BsaXQiLCJsZW5ndGgiLCJjb25jYXQiLCJwb3AiLCJ0b0xvd2VyQ2FzZSIsImluY2x1ZGVzIiwic3RhcnRzV2l0aCIsImNvbG9yIiwid2lkdGgiLCJoZWlnaHQiLCJzZW50IiwiY29uc29sZSIsImVycm9yIiwiVVJMIiwiY3JlYXRlT2JqZWN0VVJMIiwic3JjIiwiYWx0IiwiYm9yZGVyUmFkaXVzIiwib3JpZ2luYWxGaWxlIiwiRGF0ZSIsIm5vdyIsIk1hdGgiLCJyYW5kb20iLCJzaXplIiwiX3RvQ29uc3VtYWJsZUFycmF5Iiwic3RvcCIsIl94IiwiYXBwbHkiLCJhcmd1bWVudHMiLCJoYW5kbGVEZWxldGVBdHRhY2htZW50IiwiZmlsZUlkIiwiZmlsdGVyIiwiYXR0YWNobWVudCIsImlzTUFJQSIsImRpc2NsYWltZXJNZXNzYWdlIiwiYWdlbnROYW1lIiwiaXNGYXFJbnRlcmFjdGlvbkRpc2FibGVkIiwiQm9vbGVhbiIsInNob3VsZFNob3dGYXFzIiwiY2hpbGRyZW4iLCJjbGFzc05hbWUiLCJwbGFjZWhvbGRlciIsImlucHV0X3BsYWNlaG9sZGVyIiwib25GaWxlQXR0YWNoIiwib25EZWxldGVBdHRhY2htZW50IiwiYXR0IiwibWFwIiwiTnVtYmVyIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRGb290ZXIvQ2hhdEZvb3Rlci50c3giXSwic291cmNlc0NvbnRlbnQiOlsiLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXVudXNlZC12YXJzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby11bnVzZWQtdmFycyAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tdW5kZWYgKi9cbi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L3JlcXVpcmUtZGVmYXVsdC1wcm9wcyAqL1xuaW1wb3J0IHsgUmVhY3ROb2RlLCB1c2VNZW1vLCB1c2VSZWYsIHVzZVN0YXRlLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IEF0dGFjaCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0F0dGFjaCdcbmltcG9ydCB7IE1PREFMX0VMRU1FTlRTIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlTW9kYWwvdXNlTW9kYWwnXG5cbmltcG9ydCB7IENoaXAgfSBmcm9tICcuLi8uLi9hdG9tcy9DaGlwJ1xuLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIGltcG9ydC9uby1jeWNsZVxuaW1wb3J0IHsgTUFJQUlucHV0IH0gZnJvbSAnLi4vLi4vYXRvbXMvTUFJQUlucHV0J1xuaW1wb3J0IHsgQ2hhdEZvb3RlckZhcXMgfSBmcm9tICcuL0NoYXRGb290ZXJGYXFzJ1xuXG5pbXBvcnQgeyB1c2VHbG9iYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IHVzZVQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VUJ1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHsgQ29udGV4dE1lbnRpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcy9jb250ZXh0TWVudGlvbidcbmltcG9ydCB7IFN0eWxlZENoYXRGb290ZXIsIENoaXBzQW5kRmFxc1JvdyB9IGZyb20gJy4vc3R5bGVzJ1xuaW1wb3J0IHtcbiAgQ3N2RmlsZUljb24sXG4gIE1ERmlsZUljb24sXG4gIERvY0ZpbGVJY29uLFxuICBEb2N4RmlsZUljb24sXG4gIFRleHRGaWxlSWNvbixcbiAgUGRmRmlsZUljb24sXG4gIEltYWdlRmlsZUljb24sXG4gIFhsc3hGaWxlSWNvbixcbiAgWGxzRmlsZUljb24sXG4gIE1wM0ZpbGVJY29uLFxuICBXYXZGaWxlSWNvbixcbiAgRmxhY0ZpbGVJY29uLFxuICBNNGFGaWxlSWNvbixcbiAgTXA0RmlsZUljb24sXG4gIE9nYUZpbGVJY29uLFxuICBPZ2dGaWxlSWNvbixcbiAgV2VibUZpbGVJY29uLFxufSBmcm9tICcuLi8uLi9hdG9tcy9pY29ucydcbmltcG9ydCB7IEltYWdlUHJldmlldyB9IGZyb20gJy4uLy4uL2F0b21zL0ltYWdlUHJldmlldy9JbWFnZVByZXZpZXcnXG5pbXBvcnQgeyBwcmVwcm9jZXNzSW1hZ2VGb3JCYWNrZW5kIH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvaW1hZ2VQcmVwcm9jZXNzb3InXG5pbXBvcnQgeyB2YWxpZGF0ZUlzTWFpYSB9IGZyb20gJy4uLy4uLy4uL3NlcnZpY2VzL3V0aWxzL3ZhbGlkYXRlSXNNYWlhJ1xuaW1wb3J0IHsgaXNNYWlha2VyQWdlbnQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9hZ2VudERpc3BsYXlOYW1lJ1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9hZ2VudCdcbmltcG9ydCB7IENoYXREaXNjbGFpbWVyTWVzc2FnZSB9IGZyb20gJy4uLy4uL2F0b21zL0NoYXREaXNjbGFpbWVyTWVzc2FnZSdcbmltcG9ydCB0eXBlIHsgTWFpYUNoYXRNb2RhbExheW91dE1vZGUgfSBmcm9tICcuLi9DaGF0QUlNb2RhbC9sYXlvdXQnXG5cbmV4cG9ydCB0eXBlIEF0dGFjaG1lbnRGaWxlID0ge1xuICBmaWxlOiBGaWxlXG4gIG9yaWdpbmFsRmlsZT86IEZpbGVcbiAgdXJsX3RodW1ibmFpbD86IHN0cmluZ1xuICB1cmxfb3JpZ2luYWw/OiBzdHJpbmdcbiAgdXJsX2ZpbGU/OiBzdHJpbmdcbiAgcm9sZT86ICd1c2VyJyB8ICdhc3Npc3RhbnQnXG4gIGlkOiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIHNpemU6IG51bWJlclxuICB0eXBlOiBzdHJpbmdcbiAgaWNvbj86IFJlYWN0Tm9kZVxuICBleHQ/OiBzdHJpbmdcbiAgc3RhdHVzPzogJ3BlbmRpbmcnIHwgJ3Byb2Nlc3NpbmcnIHwgJ2RvbmUnIHwgJ2ZhaWxlZCcgfCAnc3RhcnRlZCdcbn1cblxudHlwZSBDaGF0Rm9vdGVyUHJvcHMgPSB7XG4gIGl0ZW1zPzogc3RyaW5nW11cbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIGlzU3RyZWFtaW5nPzogYm9vbGVhblxuICBpc1dyaXRpbmc/OiBib29sZWFuXG4gIG9uU2VuZE1lc3NhZ2U6IChcbiAgICBtZXNzYWdlOiBzdHJpbmcsXG4gICAgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdLFxuICAgIGZhcUlkPzogc3RyaW5nLFxuICAgIGFnZW50U3VnZ2VzdGlvbklkPzogc3RyaW5nLFxuICAgIG1lbnRpb25zPzogQ29udGV4dE1lbnRpb25bXSxcbiAgICBmdWFJZD86IHN0cmluZyxcbiAgICBzY0lkPzogc3RyaW5nXG4gICkgPT4gdm9pZFxuICBvblN0b3BHZW5lcmF0aW9uPzogKCgpID0+IHZvaWQpIHwgbnVsbFxuICBjaGF0SWQ/OiBzdHJpbmcgfCBudWxsXG4gIG5ld0NoYXRLZXk/OiBudW1iZXJcbiAgLyoqIFNpIGVzIGZhbHNlLCBubyBzZSBtdWVzdHJhIGVsIGJvdMOzbiBkZSBGQVFzLiBEZWJlIHNlciB0cnVlIGN1YW5kbyBjdXJyZW50T3B0aW9uID09PSBjaGF0LiBFbiBzZWN0aW9uIHRhc2sgbm8gc2UgbXVlc3RyYSBhdW5xdWUgc2VhIHRydWUuICovXG4gIHNob3dGYXFzPzogYm9vbGVhblxuICB0b29sdGlwWkluZGV4PzogbnVtYmVyXG4gIGxheW91dE1vZGU/OiBNYWlhQ2hhdE1vZGFsTGF5b3V0TW9kZVxufVxuXG5leHBvcnQgY29uc3QgSWNvbkJ5RmlsZVR5cGUgPSB7XG4gICd0ZXh0L3BsYWluJzogPFRleHRGaWxlSWNvbiAvPixcbiAgJ3RleHQveC1tYXJrZG93bic6IDxNREZpbGVJY29uIC8+LFxuICAndGV4dC9jc3YnOiA8Q3N2RmlsZUljb24gLz4sXG4gICdhcHBsaWNhdGlvbi9tc3dvcmQnOiA8RG9jRmlsZUljb24gLz4sXG4gICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5kb2N1bWVudCc6IDxEb2N4RmlsZUljb24gLz4sXG4gICdhcHBsaWNhdGlvbi9wZGYnOiA8UGRmRmlsZUljb24gLz4sXG4gICdpbWFnZS9wbmcnOiA8SW1hZ2VGaWxlSWNvbiAvPixcbiAgJ2ltYWdlL2pwZWcnOiA8SW1hZ2VGaWxlSWNvbiAvPixcbiAgJ2ltYWdlL2pwZyc6IDxJbWFnZUZpbGVJY29uIC8+LFxuICAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQnOiA8WGxzeEZpbGVJY29uIC8+LFxuICAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJzogPFhsc0ZpbGVJY29uIC8+LFxuICAnYXVkaW8vbXBlZyc6IDxNcDNGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL2ZsYWMnOiA8RmxhY0ZpbGVJY29uIC8+LFxuICAnYXVkaW8vbXA0JzogPE1wNEZpbGVJY29uIC8+LFxuICAnYXVkaW8vbTRhJzogPE00YUZpbGVJY29uIC8+LFxuICAnYXVkaW8vb2dnJzogPE9nZ0ZpbGVJY29uIC8+LFxuICAnYXVkaW8vb2dhJzogPE9nYUZpbGVJY29uIC8+LFxuICAnYXVkaW8vd2F2JzogPFdhdkZpbGVJY29uIC8+LFxuICAnYXVkaW8vd2VibSc6IDxXZWJtRmlsZUljb24gLz4sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDaGF0Rm9vdGVyKHtcbiAgb25TZW5kTWVzc2FnZSxcbiAgaXRlbXMsXG4gIGRpc2FibGVkLFxuICBpc1N0cmVhbWluZyxcbiAgaXNXcml0aW5nLFxuICBvblN0b3BHZW5lcmF0aW9uLFxuICBjaGF0SWQsXG4gIG5ld0NoYXRLZXksXG4gIHNob3dGYXFzID0gdHJ1ZSxcbiAgdG9vbHRpcFpJbmRleCxcbiAgbGF5b3V0TW9kZSxcbn06IENoYXRGb290ZXJQcm9wcykge1xuICBjb25zdCB7IHByb2plY3QsIGFnZW50LCBjaGlwc1Byb2plY3QsIGNsaWVudCwgdGFzaywgc2VjdGlvbiB9ID0gdXNlR2xvYmFsQ29udGV4dCgpXG4gIGNvbnN0IHsgdCB9ID0gdXNlVCgpXG4gIGNvbnN0IGV2ZW50ID0gdXNlRXZlbnQoKVxuICBjb25zdCBbYXR0YWNobWVudHMsIHNldEF0dGFjaG1lbnRzXSA9IHVzZVN0YXRlPEF0dGFjaG1lbnRGaWxlW10+KFtdKVxuICBjb25zdCBbbG9hZGluZ01lc3NhZ2VzLCBzZXRMb2FkaW5nTWVzc2FnZXNdID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgY29uc3QgcmVwb3J0ZWRFdmVudCA9IHVzZVJlZihmYWxzZSlcbiAgY29uc3QgaXNNYXJrZXRwbGFjZUdsb2JhbEFnZW50ID0gaXNNYWlha2VyQWdlbnQoYWdlbnQpXG5cbiAgLy8gdXNlRWZmZWN0IHRvIGxpc3RlbiBsb2FkaW5nTWVzc2FnZXNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVMb2FkaW5nTWVzc2FnZXNDaGFuZ2UgPSAoZTogQ3VzdG9tRXZlbnQpID0+IHtcbiAgICAgIHNldExvYWRpbmdNZXNzYWdlcyhlLmRldGFpbC5sb2FkaW5nTWVzc2FnZXMpXG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2hhdC1sb2FkaW5nLW1lc3NhZ2VzLWNoYW5nZWQnLCBoYW5kbGVMb2FkaW5nTWVzc2FnZXNDaGFuZ2UgYXMgRXZlbnRMaXN0ZW5lcilcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjaGF0LWxvYWRpbmctbWVzc2FnZXMtY2hhbmdlZCcsIGhhbmRsZUxvYWRpbmdNZXNzYWdlc0NoYW5nZSBhcyBFdmVudExpc3RlbmVyKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgLy8gQ2xlYXIgYXR0YWNobWVudHMgd2hlbiBzZXNzaW9uIGNoYW5nZXMgKHVzZXIgc3dpdGNoZXMgdG8gYSBkaWZmZXJlbnQgY2hhdClcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVTZXNzaW9uQ2hhbmdlID0gKCkgPT4ge1xuICAgICAgc2V0QXR0YWNobWVudHMoW10pXG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2hhdC1zZXNzaW9uLWNoYW5nZWQnLCBoYW5kbGVTZXNzaW9uQ2hhbmdlKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NoYXQtc2Vzc2lvbi1jaGFuZ2VkJywgaGFuZGxlU2Vzc2lvbkNoYW5nZSlcbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IGNoaXBJdGVtcyA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGlmIChpdGVtcykgcmV0dXJuIGl0ZW1zXG5cbiAgICBjb25zdCB0ZW1wSXRlbXM6IHN0cmluZ1tdID0gW11cblxuICAgIGlmIChhZ2VudD8uZW50aXR5ID09PSAnY2xpZW50JyAmJiBjbGllbnQ/Lm5hbWUpIHtcbiAgICAgIHRlbXBJdGVtcy5wdXNoKGNsaWVudC5uYW1lKVxuICAgIH0gZWxzZSBpZiAodGFzaz8ubmFtZSkge1xuICAgICAgdGVtcEl0ZW1zLnB1c2godGFzay5uYW1lKVxuICAgIH0gZWxzZSBpZiAoY2hpcHNQcm9qZWN0Py5wcm9qZWN0TmFtZSkge1xuICAgICAgdGVtcEl0ZW1zLnB1c2goY2hpcHNQcm9qZWN0LnByb2plY3ROYW1lKVxuICAgIH0gZWxzZSBpZiAocHJvamVjdD8ubmFtZSkge1xuICAgICAgdGVtcEl0ZW1zLnB1c2gocHJvamVjdC5uYW1lKVxuICAgIH1cblxuICAgIHJldHVybiB0ZW1wSXRlbXNcbiAgfSwgW2l0ZW1zLCBwcm9qZWN0LCBjaGlwc1Byb2plY3QsIGFnZW50Py5lbnRpdHksIGNsaWVudCwgdGFzaz8ubmFtZV0pXG5cbiAgY29uc3Qgb25DaGFuZ2UgPSAoKSA9PiB7XG4gICAgaWYgKHJlcG9ydGVkRXZlbnQuY3VycmVudCkgcmV0dXJuXG4gICAgZXZlbnQoRVZFTlRTLnBtQWlUeXBlZFRleHQsIHtcbiAgICAgIGFnZW50X3R5cGU6IGlzTWFya2V0cGxhY2VHbG9iYWxBZ2VudCA/ICdtYXJrZXRwbGFjZScgOiBhZ2VudD8udHlwZSxcbiAgICB9KVxuICAgIHJlcG9ydGVkRXZlbnQuY3VycmVudCA9IHRydWVcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVNlbmRNZXNzYWdlID0gKFxuICAgIG1lc3NhZ2U6IHN0cmluZyxcbiAgICBuZXdBdHRhY2htZW50cz86IEF0dGFjaG1lbnRGaWxlW10sXG4gICAgbWVudGlvbnM/OiBDb250ZXh0TWVudGlvbltdLFxuICAgIGZhcUlkPzogc3RyaW5nLFxuICAgIGFnZW50U3VnZ2VzdGlvbklkPzogc3RyaW5nLFxuICAgIGZ1YUlkPzogc3RyaW5nLFxuICAgIHNjSWQ/OiBzdHJpbmdcbiAgKSA9PiB7XG4gICAgZXZlbnQoRVZFTlRTLmFpQ2hhdFNlbmQsIHtcbiAgICAgIGFnZW50X3R5cGU6IGlzTWFya2V0cGxhY2VHbG9iYWxBZ2VudCA/ICdtYXJrZXRwbGFjZScgOiBhZ2VudD8udHlwZSxcbiAgICAgIGFnZW50X2lkOiBhZ2VudD8uaWQsXG4gICAgICBhZ2VudF9uYW1lOiBhZ2VudD8ubmFtZSxcbiAgICB9KVxuICAgIG9uU2VuZE1lc3NhZ2UobWVzc2FnZSwgbmV3QXR0YWNobWVudHMsIGZhcUlkLCBhZ2VudFN1Z2dlc3Rpb25JZCwgbWVudGlvbnMsIGZ1YUlkLCBzY0lkKVxuICAgIHNldEF0dGFjaG1lbnRzKFtdKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlU2VsZWN0RmFxID0gKG1lc3NhZ2U6IHN0cmluZywgZmFxSWQ6IHN0cmluZykgPT4ge1xuICAgIG9uU2VuZE1lc3NhZ2UobWVzc2FnZSwgdW5kZWZpbmVkLCBmYXFJZCwgdW5kZWZpbmVkKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlRmlsZUF0dGFjaCA9IGFzeW5jIChmaWxlOiBGaWxlKSA9PiB7XG4gICAgY29uc3QgZmlsZU5hbWVQYXJ0cyA9IGZpbGUubmFtZS5zcGxpdCgnLicpXG4gICAgY29uc3QgZmlsZUV4dGVuc2lvbiA9IGZpbGVOYW1lUGFydHMubGVuZ3RoID4gMSA/IGAuJHtmaWxlTmFtZVBhcnRzLnBvcCgpPy50b0xvd2VyQ2FzZSgpfWAgOiAnJ1xuICAgIGNvbnN0IGlzSW1hZ2VCeUV4dGVuc2lvbiA9IFsnLnBuZycsICcuanBnJywgJy5qcGVnJ10uaW5jbHVkZXMoZmlsZUV4dGVuc2lvbilcbiAgICBjb25zdCBpc0ltYWdlQnlNaW1lID0gZmlsZS50eXBlLnN0YXJ0c1dpdGgoJ2ltYWdlLycpXG4gICAgY29uc3QgaXNJbWFnZSA9IGlzSW1hZ2VCeU1pbWUgJiYgaXNJbWFnZUJ5RXh0ZW5zaW9uXG4gICAgLy8gTWFwZW8gZGUgZXh0ZW5zacOzbiBhIGljb25vIGRpcmVjdG8gcGFyYSBjYXNvcyBlc3BlY2lhbGVzIChhdWRpby9vZ2cgeSBhdWRpby9tcDQpXG4gICAgY29uc3QgZXh0ZW5zaW9uVG9JY29uOiBSZWNvcmQ8c3RyaW5nLCBSZWFjdE5vZGU+ID0ge1xuICAgICAgJy5vZ2cnOiA8T2dnRmlsZUljb24gLz4sXG4gICAgICAnLm9nYSc6IDxPZ2FGaWxlSWNvbiAvPixcbiAgICAgICcubXA0JzogPE1wNEZpbGVJY29uIC8+LFxuICAgICAgJy5tNGEnOiA8TTRhRmlsZUljb24gLz4sXG4gICAgfVxuXG4gICAgbGV0IGljb24gPSBJY29uQnlGaWxlVHlwZVtmaWxlLnR5cGVdXG5cbiAgICAvLyBTaSBlbCB0aXBvIGVzIGF1ZGlvL29nZyBvIGF1ZGlvL21wNCwgdXNhciBsYSBleHRlbnNpw7NuIHBhcmEgZGV0ZXJtaW5hciBlbCBpY29ub1xuICAgIGlmICgoZmlsZS50eXBlID09PSAnYXVkaW8vb2dnJyB8fCBmaWxlLnR5cGUgPT09ICdhdWRpby9tcDQnKSAmJiBmaWxlRXh0ZW5zaW9uKSB7XG4gICAgICBpY29uID0gZXh0ZW5zaW9uVG9JY29uW2ZpbGVFeHRlbnNpb25dIHx8IGljb25cbiAgICB9XG5cbiAgICBpZiAoIWljb24pIHtcbiAgICAgIGNvbnN0IGV4dGVuc2lvblRvTWltZVR5cGU6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgICAgICcudHh0JzogJ3RleHQvcGxhaW4nLFxuICAgICAgICAnLm1kJzogJ3RleHQveC1tYXJrZG93bicsXG4gICAgICAgICcuY3N2JzogJ3RleHQvY3N2JyxcbiAgICAgICAgJy5kb2MnOiAnYXBwbGljYXRpb24vbXN3b3JkJyxcbiAgICAgICAgJy5kb2N4JzogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC53b3JkcHJvY2Vzc2luZ21sLmRvY3VtZW50JyxcbiAgICAgICAgJy5wZGYnOiAnYXBwbGljYXRpb24vcGRmJyxcbiAgICAgICAgJy54bHN4JzogJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JyxcbiAgICAgICAgJy54bHMnOiAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJyxcbiAgICAgICAgJy5mbGFjJzogJ2F1ZGlvL2ZsYWMnLFxuICAgICAgICAnLm00YSc6ICdhdWRpby9tNGEnLFxuICAgICAgICAnLm1wMyc6ICdhdWRpby9tcGVnJyxcbiAgICAgICAgJy5tcDQnOiAnYXVkaW8vbXA0JyxcbiAgICAgICAgJy5vZ2EnOiAnYXVkaW8vb2dhJyxcbiAgICAgICAgJy5vZ2cnOiAnYXVkaW8vb2dnJyxcbiAgICAgICAgJy53YXYnOiAnYXVkaW8vd2F2JyxcbiAgICAgICAgJy53ZWJtJzogJ2F1ZGlvL3dlYm0nLFxuICAgICAgfVxuICAgICAgY29uc3QgbWltZVR5cGVCeUV4dGVuc2lvbiA9IGV4dGVuc2lvblRvTWltZVR5cGVbZmlsZUV4dGVuc2lvbl1cbiAgICAgIGlmIChtaW1lVHlwZUJ5RXh0ZW5zaW9uKSB7XG4gICAgICAgIGljb24gPSBJY29uQnlGaWxlVHlwZVttaW1lVHlwZUJ5RXh0ZW5zaW9uXVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgaWNvbiA9IDxBdHRhY2ggY29sb3I9XCJyZ2JhKDEzNSwgNjQsIDE5MSwgMSlcIiB3aWR0aD17MTh9IGhlaWdodD17MTh9IC8+XG4gICAgICB9XG4gICAgfVxuICAgIGxldCBwcm9jZXNzZWRGaWxlID0gZmlsZVxuXG4gICAgLy8gU2kgZXMgdW5hIGltYWdlbiwgcHJlLXByb2Nlc2FybGEgcGFyYSBlbCBiYWNrZW5kXG4gICAgaWYgKGlzSW1hZ2UpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIC8vIFByb2Nlc2FuZG8gaW1hZ2VuXG4gICAgICAgIHByb2Nlc3NlZEZpbGUgPSBhd2FpdCBwcmVwcm9jZXNzSW1hZ2VGb3JCYWNrZW5kKGZpbGUpXG4gICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBwcmUtcHJvY2VzYW5kbyBpbWFnZW46JywgZXJyb3IpXG4gICAgICAgIC8vIENvbnRpbnVhciBjb24gZWwgYXJjaGl2byBvcmlnaW5hbCBzaSBoYXkgZXJyb3JcbiAgICAgIH1cblxuICAgICAgY29uc3QgaW1hZ2VVcmwgPSBVUkwuY3JlYXRlT2JqZWN0VVJMKGZpbGUpXG5cbiAgICAgIGljb24gPSA8SW1hZ2VQcmV2aWV3IHNyYz17aW1hZ2VVcmx9IGFsdD17ZmlsZS5uYW1lfSB3aWR0aD1cIjYzcHhcIiBoZWlnaHQ9XCI2M3B4XCIgYm9yZGVyUmFkaXVzPVwiNnB4XCIgLz5cbiAgICB9XG5cbiAgICBjb25zdCBuZXdBdHRhY2htZW50OiBBdHRhY2htZW50RmlsZSA9IHtcbiAgICAgIGZpbGU6IHByb2Nlc3NlZEZpbGUsXG4gICAgICBvcmlnaW5hbEZpbGU6IGlzSW1hZ2UgPyBmaWxlIDogdW5kZWZpbmVkLFxuICAgICAgaWQ6IGAke0RhdGUubm93KCl9LSR7TWF0aC5yYW5kb20oKX1gLFxuICAgICAgbmFtZTogZmlsZS5uYW1lLFxuICAgICAgc2l6ZTogcHJvY2Vzc2VkRmlsZS5zaXplLFxuICAgICAgdHlwZTogcHJvY2Vzc2VkRmlsZS50eXBlLFxuICAgICAgaWNvbixcbiAgICB9XG5cbiAgICBzZXRBdHRhY2htZW50cyhwcmV2ID0+IFsuLi5wcmV2LCBuZXdBdHRhY2htZW50XSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZURlbGV0ZUF0dGFjaG1lbnQgPSAoZmlsZUlkOiBzdHJpbmcpID0+IHtcbiAgICBjb25zdCBuZXdBdHRhY2htZW50cyA9IGF0dGFjaG1lbnRzLmZpbHRlcihhdHRhY2htZW50ID0+IGF0dGFjaG1lbnQuaWQgIT09IGZpbGVJZClcbiAgICBzZXRBdHRhY2htZW50cyhuZXdBdHRhY2htZW50cylcbiAgfVxuXG4gIGNvbnN0IGlzTUFJQSA9IHZhbGlkYXRlSXNNYWlhKGFnZW50IGFzIEFnZW50KVxuICBjb25zdCBkaXNjbGFpbWVyTWVzc2FnZSA9IGlzTUFJQVxuICAgID8gdCgnY2hhdC5mb290ZXIuZGlzY2xhaW1lcicsIHsgYWdlbnROYW1lOiB0KCdnbG9iYWxzLmJyYW5kTmFtZScpIH0pXG4gICAgOiB0KCdjaGF0LmZvb3Rlci5kaXNjbGFpbWVyQWdlbnQnKVxuXG4gIGNvbnN0IGlzRmFxSW50ZXJhY3Rpb25EaXNhYmxlZCA9IEJvb2xlYW4oZGlzYWJsZWQgfHwgaXNTdHJlYW1pbmcgfHwgaXNXcml0aW5nKVxuICBjb25zdCBzaG91bGRTaG93RmFxcyA9IHNob3dGYXFzICYmIHNlY3Rpb24gIT09ICd0YXNrJ1xuXG4gIHJldHVybiAoXG4gICAgPFN0eWxlZENoYXRGb290ZXI+XG4gICAgICB7aXNNQUlBICYmICFsb2FkaW5nTWVzc2FnZXMgJiYgKFxuICAgICAgICA8Q2hpcHNBbmRGYXFzUm93PlxuICAgICAgICAgIHshIWNoaXBJdGVtcy5sZW5ndGggJiYgPENoaXAgaXRlbXM9e2NoaXBJdGVtc30gLz59XG4gICAgICAgICAgey8qIHtzaG91bGRTaG93RmFxcyAmJiA8Q2hhdEZvb3RlckZhcXMgb25TZWxlY3RGYXE9e2hhbmRsZVNlbGVjdEZhcX0gZGlzYWJsZWQ9e2lzRmFxSW50ZXJhY3Rpb25EaXNhYmxlZH0gLz59ICovfVxuICAgICAgICA8L0NoaXBzQW5kRmFxc1Jvdz5cbiAgICAgICl9XG4gICAgICA8TUFJQUlucHV0XG4gICAgICAgIG9uU2VuZE1lc3NhZ2U9e2hhbmRsZVNlbmRNZXNzYWdlfVxuICAgICAgICBjbGFzc05hbWU9e01PREFMX0VMRU1FTlRTfVxuICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIHBsYWNlaG9sZGVyPXthZ2VudD8uaW5wdXRfcGxhY2Vob2xkZXIgfHwgdCgnY2hhdC5mb290ZXIucGxhY2Vob2xkZXInKX1cbiAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICBvbkZpbGVBdHRhY2g9e2hhbmRsZUZpbGVBdHRhY2h9XG4gICAgICAgIG9uRGVsZXRlQXR0YWNobWVudD17aGFuZGxlRGVsZXRlQXR0YWNobWVudH1cbiAgICAgICAgYXR0YWNobWVudHM9e2F0dGFjaG1lbnRzXG4gICAgICAgICAgLmZpbHRlcihhdHQgPT4gISFhdHQuZmlsZSlcbiAgICAgICAgICAubWFwKGF0dCA9PiAoe1xuICAgICAgICAgICAgZmlsZTogYXR0LmZpbGUhLFxuICAgICAgICAgICAgb3JpZ2luYWxGaWxlOiBhdHQub3JpZ2luYWxGaWxlLFxuICAgICAgICAgICAgaWQ6IGF0dC5pZCxcbiAgICAgICAgICAgIG5hbWU6IGF0dC5uYW1lLFxuICAgICAgICAgICAgc2l6ZTogdHlwZW9mIGF0dC5zaXplID09PSAnbnVtYmVyJyA/IGF0dC5zaXplIDogTnVtYmVyKGF0dC5zaXplKSB8fCAwLFxuICAgICAgICAgICAgdHlwZTogYXR0LnR5cGUsXG4gICAgICAgICAgICBpY29uOiBhdHQuaWNvbixcbiAgICAgICAgICB9KSl9XG4gICAgICAgIGlzU3RyZWFtaW5nPXtpc1N0cmVhbWluZ31cbiAgICAgICAgaXNXcml0aW5nPXtpc1dyaXRpbmd9XG4gICAgICAgIG9uU3RvcEdlbmVyYXRpb249e29uU3RvcEdlbmVyYXRpb259XG4gICAgICAgIGNoYXRJZD17Y2hhdElkIHx8IHVuZGVmaW5lZH1cbiAgICAgICAgbmV3Q2hhdEtleT17bmV3Q2hhdEtleX1cbiAgICAgICAgdG9vbHRpcFpJbmRleD17dG9vbHRpcFpJbmRleH1cbiAgICAgICAgbGF5b3V0TW9kZT17bGF5b3V0TW9kZX1cbiAgICAgIC8+XG4gICAgICA8Q2hhdERpc2NsYWltZXJNZXNzYWdlIG1lc3NhZ2U9e2Rp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
343
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VNZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJBdHRhY2giLCJHbG9iZSIsIkxpc3RDaGVja2xpc3QiLCJNT0RBTF9FTEVNRU5UUyIsIkNoaXAiLCJNQUlBSW5wdXQiLCJ1c2VHbG9iYWxDb250ZXh0IiwidXNlVCIsIkVWRU5UUyIsInVzZUV2ZW50IiwiU3R5bGVkQ2hhdEZvb3RlciIsIkNoaXBzQW5kRmFxc1JvdyIsIkNvbnRleHRCYXJMZWZ0IiwiQ3N2RmlsZUljb24iLCJNREZpbGVJY29uIiwiRG9jRmlsZUljb24iLCJEb2N4RmlsZUljb24iLCJUZXh0RmlsZUljb24iLCJQZGZGaWxlSWNvbiIsIkltYWdlRmlsZUljb24iLCJYbHN4RmlsZUljb24iLCJYbHNGaWxlSWNvbiIsIk1wM0ZpbGVJY29uIiwiV2F2RmlsZUljb24iLCJGbGFjRmlsZUljb24iLCJNNGFGaWxlSWNvbiIsIk1wNEZpbGVJY29uIiwiT2dhRmlsZUljb24iLCJPZ2dGaWxlSWNvbiIsIldlYm1GaWxlSWNvbiIsIkltYWdlUHJldmlldyIsInByZXByb2Nlc3NJbWFnZUZvckJhY2tlbmQiLCJ2YWxpZGF0ZUlzTWFpYSIsImlzTWFpYWtlckFnZW50IiwiQ2hhdERpc2NsYWltZXJNZXNzYWdlIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkljb25CeUZpbGVUeXBlIiwiQ2hhdEZvb3RlciIsIl9yZWYiLCJvblNlbmRNZXNzYWdlIiwiaXRlbXMiLCJkaXNhYmxlZCIsImlzU3RyZWFtaW5nIiwiaXNXcml0aW5nIiwib25TdG9wR2VuZXJhdGlvbiIsImNoYXRJZCIsIm5ld0NoYXRLZXkiLCJfcmVmJHNob3dGYXFzIiwic2hvd0ZhcXMiLCJ0b29sdGlwWkluZGV4IiwibGF5b3V0TW9kZSIsIl91c2VHbG9iYWxDb250ZXh0IiwicHJvamVjdCIsImFnZW50IiwiY2hpcHNQcm9qZWN0IiwiY2xpZW50IiwidGFzayIsInNlY3Rpb24iLCJfdXNlVCIsInQiLCJldmVudCIsImlucHV0UG9wb3ZlckFuY2hvclJlZiIsImNvbnRleHRCYXJBbmNob3JSZWYiLCJpc09yY2hlc3RyYXRvciIsInR5cGUiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJhdHRhY2htZW50cyIsInNldEF0dGFjaG1lbnRzIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJsb2FkaW5nTWVzc2FnZXMiLCJzZXRMb2FkaW5nTWVzc2FnZXMiLCJyZXBvcnRlZEV2ZW50IiwiaXNNYXJrZXRwbGFjZUdsb2JhbEFnZW50IiwiaGFuZGxlTG9hZGluZ01lc3NhZ2VzQ2hhbmdlIiwiZSIsImRldGFpbCIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJoYW5kbGVTZXNzaW9uQ2hhbmdlIiwiX3VzZU1lbW8iLCJjaGlwSXRlbXMiLCJuYW1lIiwiY2hpcFR5cGUiLCJwcm9qZWN0TmFtZSIsImVudGl0eSIsIm9uQ2hhbmdlIiwiY3VycmVudCIsInBtQWlUeXBlZFRleHQiLCJhZ2VudF90eXBlIiwiaGFuZGxlU2VuZE1lc3NhZ2UiLCJtZXNzYWdlIiwibmV3QXR0YWNobWVudHMiLCJtZW50aW9ucyIsImZhcUlkIiwiYWdlbnRTdWdnZXN0aW9uSWQiLCJmdWFJZCIsInNjSWQiLCJhaUNoYXRTZW5kIiwiYWdlbnRfaWQiLCJpZCIsImFnZW50X25hbWUiLCJoYW5kbGVTZWxlY3RGYXEiLCJ1bmRlZmluZWQiLCJoYW5kbGVGaWxlQXR0YWNoIiwiX3JlZjIiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsImZpbGUiLCJfZmlsZU5hbWVQYXJ0cyRwb3AiLCJmaWxlTmFtZVBhcnRzIiwiZmlsZUV4dGVuc2lvbiIsImlzSW1hZ2VCeUV4dGVuc2lvbiIsImlzSW1hZ2VCeU1pbWUiLCJpc0ltYWdlIiwiZXh0ZW5zaW9uVG9JY29uIiwiaWNvbiIsImV4dGVuc2lvblRvTWltZVR5cGUiLCJtaW1lVHlwZUJ5RXh0ZW5zaW9uIiwicHJvY2Vzc2VkRmlsZSIsImltYWdlVXJsIiwibmV3QXR0YWNobWVudCIsIl90Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJzcGxpdCIsImxlbmd0aCIsImNvbmNhdCIsInBvcCIsInRvTG93ZXJDYXNlIiwiaW5jbHVkZXMiLCJzdGFydHNXaXRoIiwiY29sb3IiLCJ3aWR0aCIsImhlaWdodCIsInNlbnQiLCJjb25zb2xlIiwiZXJyb3IiLCJVUkwiLCJjcmVhdGVPYmplY3RVUkwiLCJzcmMiLCJhbHQiLCJib3JkZXJSYWRpdXMiLCJvcmlnaW5hbEZpbGUiLCJEYXRlIiwibm93IiwiTWF0aCIsInJhbmRvbSIsInNpemUiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJzdG9wIiwiX3giLCJhcHBseSIsImFyZ3VtZW50cyIsImhhbmRsZURlbGV0ZUF0dGFjaG1lbnQiLCJmaWxlSWQiLCJmaWx0ZXIiLCJhdHRhY2htZW50IiwiaXNNQUlBIiwiZGlzY2xhaW1lck1lc3NhZ2UiLCJhZ2VudE5hbWUiLCJpc0ZhcUludGVyYWN0aW9uRGlzYWJsZWQiLCJCb29sZWFuIiwic2hvdWxkU2hvd0ZhcXMiLCJjaGlsZHJlbiIsInJlZiIsImxlYWRpbmdJY29uIiwiZGVmYXVsdFZhbHVlIiwicG9wb3ZlckFuY2hvclJlZiIsImNsYXNzTmFtZSIsInBsYWNlaG9sZGVyIiwiaW5wdXRfcGxhY2Vob2xkZXIiLCJvbkZpbGVBdHRhY2giLCJvbkRlbGV0ZUF0dGFjaG1lbnQiLCJhdHQiLCJtYXAiLCJOdW1iZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby11bmRlZiAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvcmVxdWlyZS1kZWZhdWx0LXByb3BzICovXG5pbXBvcnQgeyBSZWFjdE5vZGUsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQXR0YWNoIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQXR0YWNoJ1xuaW1wb3J0IHsgR2xvYmUgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9HbG9iZSdcbmltcG9ydCB7IExpc3RDaGVja2xpc3QgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9MaXN0Q2hlY2tsaXN0J1xuaW1wb3J0IHsgTU9EQUxfRUxFTUVOVFMgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VNb2RhbC91c2VNb2RhbCdcblxuaW1wb3J0IHsgQ2hpcCB9IGZyb20gJy4uLy4uL2F0b21zL0NoaXAnXG4vLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgaW1wb3J0L25vLWN5Y2xlXG5pbXBvcnQgeyBNQUlBSW5wdXQgfSBmcm9tICcuLi8uLi9hdG9tcy9NQUlBSW5wdXQnXG5pbXBvcnQgeyBDaGF0Rm9vdGVyRmFxcyB9IGZyb20gJy4vQ2hhdEZvb3RlckZhcXMnXG5cbmltcG9ydCB7IHVzZUdsb2JhbENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgdXNlVCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVQnXG5pbXBvcnQgeyBFVkVOVFMsIHVzZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnXG5pbXBvcnQgeyBDb250ZXh0RW50aXR5VHlwZSwgQ29udGV4dE1lbnRpb24gfSBmcm9tICcuLi8uLi8uLi90eXBlcy9jb250ZXh0TWVudGlvbidcbmltcG9ydCB7IFN0eWxlZENoYXRGb290ZXIsIENoaXBzQW5kRmFxc1JvdywgQ29udGV4dEJhckxlZnQgfSBmcm9tICcuL3N0eWxlcydcbmltcG9ydCB7XG4gIENzdkZpbGVJY29uLFxuICBNREZpbGVJY29uLFxuICBEb2NGaWxlSWNvbixcbiAgRG9jeEZpbGVJY29uLFxuICBUZXh0RmlsZUljb24sXG4gIFBkZkZpbGVJY29uLFxuICBJbWFnZUZpbGVJY29uLFxuICBYbHN4RmlsZUljb24sXG4gIFhsc0ZpbGVJY29uLFxuICBNcDNGaWxlSWNvbixcbiAgV2F2RmlsZUljb24sXG4gIEZsYWNGaWxlSWNvbixcbiAgTTRhRmlsZUljb24sXG4gIE1wNEZpbGVJY29uLFxuICBPZ2FGaWxlSWNvbixcbiAgT2dnRmlsZUljb24sXG4gIFdlYm1GaWxlSWNvbixcbn0gZnJvbSAnLi4vLi4vYXRvbXMvaWNvbnMnXG5pbXBvcnQgeyBJbWFnZVByZXZpZXcgfSBmcm9tICcuLi8uLi9hdG9tcy9JbWFnZVByZXZpZXcvSW1hZ2VQcmV2aWV3J1xuaW1wb3J0IHsgcHJlcHJvY2Vzc0ltYWdlRm9yQmFja2VuZCB9IGZyb20gJy4uLy4uLy4uL3V0aWxzL2ltYWdlUHJlcHJvY2Vzc29yJ1xuaW1wb3J0IHsgdmFsaWRhdGVJc01haWEgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy91dGlscy92YWxpZGF0ZUlzTWFpYSdcbmltcG9ydCB7IGlzTWFpYWtlckFnZW50IH0gZnJvbSAnLi4vLi4vLi4vdXRpbHMvYWdlbnREaXNwbGF5TmFtZSdcbmltcG9ydCB7IEFnZW50IH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyBDaGF0RGlzY2xhaW1lck1lc3NhZ2UgfSBmcm9tICcuLi8uLi9hdG9tcy9DaGF0RGlzY2xhaW1lck1lc3NhZ2UnXG5pbXBvcnQgdHlwZSB7IE1haWFDaGF0TW9kYWxMYXlvdXRNb2RlIH0gZnJvbSAnLi4vQ2hhdEFJTW9kYWwvbGF5b3V0J1xuXG5leHBvcnQgdHlwZSBBdHRhY2htZW50RmlsZSA9IHtcbiAgZmlsZTogRmlsZVxuICBvcmlnaW5hbEZpbGU/OiBGaWxlXG4gIHVybF90aHVtYm5haWw/OiBzdHJpbmdcbiAgdXJsX29yaWdpbmFsPzogc3RyaW5nXG4gIHVybF9maWxlPzogc3RyaW5nXG4gIHJvbGU/OiAndXNlcicgfCAnYXNzaXN0YW50J1xuICBpZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBzaXplOiBudW1iZXJcbiAgdHlwZTogc3RyaW5nXG4gIGljb24/OiBSZWFjdE5vZGVcbiAgZXh0Pzogc3RyaW5nXG4gIHN0YXR1cz86ICdwZW5kaW5nJyB8ICdwcm9jZXNzaW5nJyB8ICdkb25lJyB8ICdmYWlsZWQnIHwgJ3N0YXJ0ZWQnXG59XG5cbnR5cGUgQ2hhdEZvb3RlclByb3BzID0ge1xuICBpdGVtcz86IHN0cmluZ1tdXG4gIGRpc2FibGVkPzogYm9vbGVhblxuICBpc1N0cmVhbWluZz86IGJvb2xlYW5cbiAgaXNXcml0aW5nPzogYm9vbGVhblxuICBvblNlbmRNZXNzYWdlOiAoXG4gICAgbWVzc2FnZTogc3RyaW5nLFxuICAgIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXSxcbiAgICBmYXFJZD86IHN0cmluZyxcbiAgICBhZ2VudFN1Z2dlc3Rpb25JZD86IHN0cmluZyxcbiAgICBtZW50aW9ucz86IENvbnRleHRNZW50aW9uW10sXG4gICAgZnVhSWQ/OiBzdHJpbmcsXG4gICAgc2NJZD86IHN0cmluZ1xuICApID0+IHZvaWRcbiAgb25TdG9wR2VuZXJhdGlvbj86ICgoKSA9PiB2b2lkKSB8IG51bGxcbiAgY2hhdElkPzogc3RyaW5nIHwgbnVsbFxuICBuZXdDaGF0S2V5PzogbnVtYmVyXG4gIC8qKiBTaSBlcyBmYWxzZSwgbm8gc2UgbXVlc3RyYSBlbCBib3TDs24gZGUgRkFRcy4gRGViZSBzZXIgdHJ1ZSBjdWFuZG8gY3VycmVudE9wdGlvbiA9PT0gY2hhdC4gRW4gc2VjdGlvbiB0YXNrIG5vIHNlIG11ZXN0cmEgYXVucXVlIHNlYSB0cnVlLiAqL1xuICBzaG93RmFxcz86IGJvb2xlYW5cbiAgdG9vbHRpcFpJbmRleD86IG51bWJlclxuICBsYXlvdXRNb2RlPzogTWFpYUNoYXRNb2RhbExheW91dE1vZGVcbn1cblxuZXhwb3J0IGNvbnN0IEljb25CeUZpbGVUeXBlID0ge1xuICAndGV4dC9wbGFpbic6IDxUZXh0RmlsZUljb24gLz4sXG4gICd0ZXh0L3gtbWFya2Rvd24nOiA8TURGaWxlSWNvbiAvPixcbiAgJ3RleHQvY3N2JzogPENzdkZpbGVJY29uIC8+LFxuICAnYXBwbGljYXRpb24vbXN3b3JkJzogPERvY0ZpbGVJY29uIC8+LFxuICAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQnOiA8RG9jeEZpbGVJY29uIC8+LFxuICAnYXBwbGljYXRpb24vcGRmJzogPFBkZkZpbGVJY29uIC8+LFxuICAnaW1hZ2UvcG5nJzogPEltYWdlRmlsZUljb24gLz4sXG4gICdpbWFnZS9qcGVnJzogPEltYWdlRmlsZUljb24gLz4sXG4gICdpbWFnZS9qcGcnOiA8SW1hZ2VGaWxlSWNvbiAvPixcbiAgJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JzogPFhsc3hGaWxlSWNvbiAvPixcbiAgJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCc6IDxYbHNGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL21wZWcnOiA8TXAzRmlsZUljb24gLz4sXG4gICdhdWRpby9mbGFjJzogPEZsYWNGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL21wNCc6IDxNcDRGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL200YSc6IDxNNGFGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL29nZyc6IDxPZ2dGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL29nYSc6IDxPZ2FGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL3dhdic6IDxXYXZGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL3dlYm0nOiA8V2VibUZpbGVJY29uIC8+LFxufVxuXG5leHBvcnQgZnVuY3Rpb24gQ2hhdEZvb3Rlcih7XG4gIG9uU2VuZE1lc3NhZ2UsXG4gIGl0ZW1zLFxuICBkaXNhYmxlZCxcbiAgaXNTdHJlYW1pbmcsXG4gIGlzV3JpdGluZyxcbiAgb25TdG9wR2VuZXJhdGlvbixcbiAgY2hhdElkLFxuICBuZXdDaGF0S2V5LFxuICBzaG93RmFxcyA9IHRydWUsXG4gIHRvb2x0aXBaSW5kZXgsXG4gIGxheW91dE1vZGUsXG59OiBDaGF0Rm9vdGVyUHJvcHMpIHtcbiAgY29uc3QgeyBwcm9qZWN0LCBhZ2VudCwgY2hpcHNQcm9qZWN0LCBjbGllbnQsIHRhc2ssIHNlY3Rpb24gfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuICBjb25zdCB7IHQgfSA9IHVzZVQoKVxuICBjb25zdCBldmVudCA9IHVzZUV2ZW50KClcbiAgY29uc3QgaW5wdXRQb3BvdmVyQW5jaG9yUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBjb250ZXh0QmFyQW5jaG9yUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCBpc09yY2hlc3RyYXRvciA9IGFnZW50Py50eXBlID09PSAnb3JjaGVzdHJhdG9yJ1xuICBjb25zdCBbYXR0YWNobWVudHMsIHNldEF0dGFjaG1lbnRzXSA9IHVzZVN0YXRlPEF0dGFjaG1lbnRGaWxlW10+KFtdKVxuICBjb25zdCBbbG9hZGluZ01lc3NhZ2VzLCBzZXRMb2FkaW5nTWVzc2FnZXNdID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgY29uc3QgcmVwb3J0ZWRFdmVudCA9IHVzZVJlZihmYWxzZSlcbiAgY29uc3QgaXNNYXJrZXRwbGFjZUdsb2JhbEFnZW50ID0gaXNNYWlha2VyQWdlbnQoYWdlbnQpXG5cbiAgLy8gdXNlRWZmZWN0IHRvIGxpc3RlbiBsb2FkaW5nTWVzc2FnZXNcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVMb2FkaW5nTWVzc2FnZXNDaGFuZ2UgPSAoZTogQ3VzdG9tRXZlbnQpID0+IHtcbiAgICAgIHNldExvYWRpbmdNZXNzYWdlcyhlLmRldGFpbC5sb2FkaW5nTWVzc2FnZXMpXG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2hhdC1sb2FkaW5nLW1lc3NhZ2VzLWNoYW5nZWQnLCBoYW5kbGVMb2FkaW5nTWVzc2FnZXNDaGFuZ2UgYXMgRXZlbnRMaXN0ZW5lcilcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjaGF0LWxvYWRpbmctbWVzc2FnZXMtY2hhbmdlZCcsIGhhbmRsZUxvYWRpbmdNZXNzYWdlc0NoYW5nZSBhcyBFdmVudExpc3RlbmVyKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgLy8gQ2xlYXIgYXR0YWNobWVudHMgd2hlbiBzZXNzaW9uIGNoYW5nZXMgKHVzZXIgc3dpdGNoZXMgdG8gYSBkaWZmZXJlbnQgY2hhdClcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVTZXNzaW9uQ2hhbmdlID0gKCkgPT4ge1xuICAgICAgc2V0QXR0YWNobWVudHMoW10pXG4gICAgfVxuXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignY2hhdC1zZXNzaW9uLWNoYW5nZWQnLCBoYW5kbGVTZXNzaW9uQ2hhbmdlKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NoYXQtc2Vzc2lvbi1jaGFuZ2VkJywgaGFuZGxlU2Vzc2lvbkNoYW5nZSlcbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IHsgY2hpcEl0ZW1zLCBjaGlwVHlwZSB9ID0gdXNlTWVtbzx7IGNoaXBJdGVtczogc3RyaW5nW107IGNoaXBUeXBlPzogQ29udGV4dEVudGl0eVR5cGUgfT4oKCkgPT4ge1xuICAgIGlmIChpdGVtcykgcmV0dXJuIHsgY2hpcEl0ZW1zOiBpdGVtcyB9XG5cbiAgICAvLyBNb25vLWNvbnRleHRvOiBzb2xvIGxhIGVudGlkYWQgbcOhcyBlc3BlY8OtZmljYSAoc2luIGFuaWRhciBjbGllbnRlL3Byb3llY3RvL3RhcmVhKS5cbiAgICBpZiAoYWdlbnQ/LnR5cGUgPT09ICdvcmNoZXN0cmF0b3InKSB7XG4gICAgICBpZiAodGFzaz8ubmFtZSkgcmV0dXJuIHsgY2hpcEl0ZW1zOiBbdGFzay5uYW1lXSwgY2hpcFR5cGU6ICd0YXNrJyB9XG4gICAgICBpZiAoY2hpcHNQcm9qZWN0Py5wcm9qZWN0TmFtZSkgcmV0dXJuIHsgY2hpcEl0ZW1zOiBbY2hpcHNQcm9qZWN0LnByb2plY3ROYW1lXSwgY2hpcFR5cGU6ICdwcm9qZWN0JyB9XG4gICAgICBpZiAoY2xpZW50Py5uYW1lKSByZXR1cm4geyBjaGlwSXRlbXM6IFtjbGllbnQubmFtZV0sIGNoaXBUeXBlOiAnY2xpZW50JyB9XG4gICAgICByZXR1cm4geyBjaGlwSXRlbXM6IFtdIH1cbiAgICB9XG5cbiAgICBpZiAoYWdlbnQ/LmVudGl0eSA9PT0gJ2NsaWVudCcgJiYgY2xpZW50Py5uYW1lKSB7XG4gICAgICByZXR1cm4geyBjaGlwSXRlbXM6IFtjbGllbnQubmFtZV0sIGNoaXBUeXBlOiAnY2xpZW50JyB9XG4gICAgfVxuICAgIGlmICh0YXNrPy5uYW1lKSByZXR1cm4geyBjaGlwSXRlbXM6IFt0YXNrLm5hbWVdLCBjaGlwVHlwZTogJ3Rhc2snIH1cbiAgICBpZiAoY2hpcHNQcm9qZWN0Py5wcm9qZWN0TmFtZSkgcmV0dXJuIHsgY2hpcEl0ZW1zOiBbY2hpcHNQcm9qZWN0LnByb2plY3ROYW1lXSwgY2hpcFR5cGU6ICdwcm9qZWN0JyB9XG4gICAgaWYgKHByb2plY3Q/Lm5hbWUpIHJldHVybiB7IGNoaXBJdGVtczogW3Byb2plY3QubmFtZV0sIGNoaXBUeXBlOiAncHJvamVjdCcgfVxuXG4gICAgcmV0dXJuIHsgY2hpcEl0ZW1zOiBbXSB9XG4gIH0sIFtpdGVtcywgcHJvamVjdCwgY2hpcHNQcm9qZWN0LCBhZ2VudD8uZW50aXR5LCBhZ2VudD8udHlwZSwgY2xpZW50LCB0YXNrPy5uYW1lXSlcblxuICBjb25zdCBvbkNoYW5nZSA9ICgpID0+IHtcbiAgICBpZiAocmVwb3J0ZWRFdmVudC5jdXJyZW50KSByZXR1cm5cbiAgICBldmVudChFVkVOVFMucG1BaVR5cGVkVGV4dCwge1xuICAgICAgYWdlbnRfdHlwZTogaXNNYXJrZXRwbGFjZUdsb2JhbEFnZW50ID8gJ21hcmtldHBsYWNlJyA6IGFnZW50Py50eXBlLFxuICAgIH0pXG4gICAgcmVwb3J0ZWRFdmVudC5jdXJyZW50ID0gdHJ1ZVxuICB9XG5cbiAgY29uc3QgaGFuZGxlU2VuZE1lc3NhZ2UgPSAoXG4gICAgbWVzc2FnZTogc3RyaW5nLFxuICAgIG5ld0F0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXSxcbiAgICBtZW50aW9ucz86IENvbnRleHRNZW50aW9uW10sXG4gICAgZmFxSWQ/OiBzdHJpbmcsXG4gICAgYWdlbnRTdWdnZXN0aW9uSWQ/OiBzdHJpbmcsXG4gICAgZnVhSWQ/OiBzdHJpbmcsXG4gICAgc2NJZD86IHN0cmluZ1xuICApID0+IHtcbiAgICBldmVudChFVkVOVFMuYWlDaGF0U2VuZCwge1xuICAgICAgYWdlbnRfdHlwZTogaXNNYXJrZXRwbGFjZUdsb2JhbEFnZW50ID8gJ21hcmtldHBsYWNlJyA6IGFnZW50Py50eXBlLFxuICAgICAgYWdlbnRfaWQ6IGFnZW50Py5pZCxcbiAgICAgIGFnZW50X25hbWU6IGFnZW50Py5uYW1lLFxuICAgIH0pXG4gICAgb25TZW5kTWVzc2FnZShtZXNzYWdlLCBuZXdBdHRhY2htZW50cywgZmFxSWQsIGFnZW50U3VnZ2VzdGlvbklkLCBtZW50aW9ucywgZnVhSWQsIHNjSWQpXG4gICAgc2V0QXR0YWNobWVudHMoW10pXG4gIH1cblxuICBjb25zdCBoYW5kbGVTZWxlY3RGYXEgPSAobWVzc2FnZTogc3RyaW5nLCBmYXFJZDogc3RyaW5nKSA9PiB7XG4gICAgb25TZW5kTWVzc2FnZShtZXNzYWdlLCB1bmRlZmluZWQsIGZhcUlkLCB1bmRlZmluZWQpXG4gIH1cblxuICBjb25zdCBoYW5kbGVGaWxlQXR0YWNoID0gYXN5bmMgKGZpbGU6IEZpbGUpID0+IHtcbiAgICBjb25zdCBmaWxlTmFtZVBhcnRzID0gZmlsZS5uYW1lLnNwbGl0KCcuJylcbiAgICBjb25zdCBmaWxlRXh0ZW5zaW9uID0gZmlsZU5hbWVQYXJ0cy5sZW5ndGggPiAxID8gYC4ke2ZpbGVOYW1lUGFydHMucG9wKCk/LnRvTG93ZXJDYXNlKCl9YCA6ICcnXG4gICAgY29uc3QgaXNJbWFnZUJ5RXh0ZW5zaW9uID0gWycucG5nJywgJy5qcGcnLCAnLmpwZWcnXS5pbmNsdWRlcyhmaWxlRXh0ZW5zaW9uKVxuICAgIGNvbnN0IGlzSW1hZ2VCeU1pbWUgPSBmaWxlLnR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJylcbiAgICBjb25zdCBpc0ltYWdlID0gaXNJbWFnZUJ5TWltZSAmJiBpc0ltYWdlQnlFeHRlbnNpb25cbiAgICAvLyBNYXBlbyBkZSBleHRlbnNpw7NuIGEgaWNvbm8gZGlyZWN0byBwYXJhIGNhc29zIGVzcGVjaWFsZXMgKGF1ZGlvL29nZyB5IGF1ZGlvL21wNClcbiAgICBjb25zdCBleHRlbnNpb25Ub0ljb246IFJlY29yZDxzdHJpbmcsIFJlYWN0Tm9kZT4gPSB7XG4gICAgICAnLm9nZyc6IDxPZ2dGaWxlSWNvbiAvPixcbiAgICAgICcub2dhJzogPE9nYUZpbGVJY29uIC8+LFxuICAgICAgJy5tcDQnOiA8TXA0RmlsZUljb24gLz4sXG4gICAgICAnLm00YSc6IDxNNGFGaWxlSWNvbiAvPixcbiAgICB9XG5cbiAgICBsZXQgaWNvbiA9IEljb25CeUZpbGVUeXBlW2ZpbGUudHlwZV1cblxuICAgIC8vIFNpIGVsIHRpcG8gZXMgYXVkaW8vb2dnIG8gYXVkaW8vbXA0LCB1c2FyIGxhIGV4dGVuc2nDs24gcGFyYSBkZXRlcm1pbmFyIGVsIGljb25vXG4gICAgaWYgKChmaWxlLnR5cGUgPT09ICdhdWRpby9vZ2cnIHx8IGZpbGUudHlwZSA9PT0gJ2F1ZGlvL21wNCcpICYmIGZpbGVFeHRlbnNpb24pIHtcbiAgICAgIGljb24gPSBleHRlbnNpb25Ub0ljb25bZmlsZUV4dGVuc2lvbl0gfHwgaWNvblxuICAgIH1cblxuICAgIGlmICghaWNvbikge1xuICAgICAgY29uc3QgZXh0ZW5zaW9uVG9NaW1lVHlwZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgICAgJy50eHQnOiAndGV4dC9wbGFpbicsXG4gICAgICAgICcubWQnOiAndGV4dC94LW1hcmtkb3duJyxcbiAgICAgICAgJy5jc3YnOiAndGV4dC9jc3YnLFxuICAgICAgICAnLmRvYyc6ICdhcHBsaWNhdGlvbi9tc3dvcmQnLFxuICAgICAgICAnLmRvY3gnOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQnLFxuICAgICAgICAnLnBkZic6ICdhcHBsaWNhdGlvbi9wZGYnLFxuICAgICAgICAnLnhsc3gnOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQnLFxuICAgICAgICAnLnhscyc6ICdhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwnLFxuICAgICAgICAnLmZsYWMnOiAnYXVkaW8vZmxhYycsXG4gICAgICAgICcubTRhJzogJ2F1ZGlvL200YScsXG4gICAgICAgICcubXAzJzogJ2F1ZGlvL21wZWcnLFxuICAgICAgICAnLm1wNCc6ICdhdWRpby9tcDQnLFxuICAgICAgICAnLm9nYSc6ICdhdWRpby9vZ2EnLFxuICAgICAgICAnLm9nZyc6ICdhdWRpby9vZ2cnLFxuICAgICAgICAnLndhdic6ICdhdWRpby93YXYnLFxuICAgICAgICAnLndlYm0nOiAnYXVkaW8vd2VibScsXG4gICAgICB9XG4gICAgICBjb25zdCBtaW1lVHlwZUJ5RXh0ZW5zaW9uID0gZXh0ZW5zaW9uVG9NaW1lVHlwZVtmaWxlRXh0ZW5zaW9uXVxuICAgICAgaWYgKG1pbWVUeXBlQnlFeHRlbnNpb24pIHtcbiAgICAgICAgaWNvbiA9IEljb25CeUZpbGVUeXBlW21pbWVUeXBlQnlFeHRlbnNpb25dXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpY29uID0gPEF0dGFjaCBjb2xvcj1cInJnYmEoMTM1LCA2NCwgMTkxLCAxKVwiIHdpZHRoPXsxOH0gaGVpZ2h0PXsxOH0gLz5cbiAgICAgIH1cbiAgICB9XG4gICAgbGV0IHByb2Nlc3NlZEZpbGUgPSBmaWxlXG5cbiAgICAvLyBTaSBlcyB1bmEgaW1hZ2VuLCBwcmUtcHJvY2VzYXJsYSBwYXJhIGVsIGJhY2tlbmRcbiAgICBpZiAoaXNJbWFnZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gUHJvY2VzYW5kbyBpbWFnZW5cbiAgICAgICAgcHJvY2Vzc2VkRmlsZSA9IGF3YWl0IHByZXByb2Nlc3NJbWFnZUZvckJhY2tlbmQoZmlsZSlcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHByZS1wcm9jZXNhbmRvIGltYWdlbjonLCBlcnJvcilcbiAgICAgICAgLy8gQ29udGludWFyIGNvbiBlbCBhcmNoaXZvIG9yaWdpbmFsIHNpIGhheSBlcnJvclxuICAgICAgfVxuXG4gICAgICBjb25zdCBpbWFnZVVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoZmlsZSlcblxuICAgICAgaWNvbiA9IDxJbWFnZVByZXZpZXcgc3JjPXtpbWFnZVVybH0gYWx0PXtmaWxlLm5hbWV9IHdpZHRoPVwiNjNweFwiIGhlaWdodD1cIjYzcHhcIiBib3JkZXJSYWRpdXM9XCI2cHhcIiAvPlxuICAgIH1cblxuICAgIGNvbnN0IG5ld0F0dGFjaG1lbnQ6IEF0dGFjaG1lbnRGaWxlID0ge1xuICAgICAgZmlsZTogcHJvY2Vzc2VkRmlsZSxcbiAgICAgIG9yaWdpbmFsRmlsZTogaXNJbWFnZSA/IGZpbGUgOiB1bmRlZmluZWQsXG4gICAgICBpZDogYCR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpfWAsXG4gICAgICBuYW1lOiBmaWxlLm5hbWUsXG4gICAgICBzaXplOiBwcm9jZXNzZWRGaWxlLnNpemUsXG4gICAgICB0eXBlOiBwcm9jZXNzZWRGaWxlLnR5cGUsXG4gICAgICBpY29uLFxuICAgIH1cblxuICAgIHNldEF0dGFjaG1lbnRzKHByZXYgPT4gWy4uLnByZXYsIG5ld0F0dGFjaG1lbnRdKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlRGVsZXRlQXR0YWNobWVudCA9IChmaWxlSWQ6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IG5ld0F0dGFjaG1lbnRzID0gYXR0YWNobWVudHMuZmlsdGVyKGF0dGFjaG1lbnQgPT4gYXR0YWNobWVudC5pZCAhPT0gZmlsZUlkKVxuICAgIHNldEF0dGFjaG1lbnRzKG5ld0F0dGFjaG1lbnRzKVxuICB9XG5cbiAgY29uc3QgaXNNQUlBID0gdmFsaWRhdGVJc01haWEoYWdlbnQgYXMgQWdlbnQpXG4gIGNvbnN0IGRpc2NsYWltZXJNZXNzYWdlID0gaXNNQUlBXG4gICAgPyB0KCdjaGF0LmZvb3Rlci5kaXNjbGFpbWVyJywgeyBhZ2VudE5hbWU6IHQoJ2dsb2JhbHMuYnJhbmROYW1lJykgfSlcbiAgICA6IHQoJ2NoYXQuZm9vdGVyLmRpc2NsYWltZXJBZ2VudCcpXG5cbiAgY29uc3QgaXNGYXFJbnRlcmFjdGlvbkRpc2FibGVkID0gQm9vbGVhbihkaXNhYmxlZCB8fCBpc1N0cmVhbWluZyB8fCBpc1dyaXRpbmcpXG4gIGNvbnN0IHNob3VsZFNob3dGYXFzID0gc2hvd0ZhcXMgJiYgc2VjdGlvbiAhPT0gJ3Rhc2snXG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQ2hhdEZvb3Rlcj5cbiAgICAgIHtpc01BSUEgJiYgIWxvYWRpbmdNZXNzYWdlcyAmJiAoXG4gICAgICAgIDxDaGlwc0FuZEZhcXNSb3cgcmVmPXtjb250ZXh0QmFyQW5jaG9yUmVmfT5cbiAgICAgICAgICA8Q29udGV4dEJhckxlZnQ+XG4gICAgICAgICAgICB7Y2hpcEl0ZW1zLmxlbmd0aCA/IChcbiAgICAgICAgICAgICAgPENoaXBcbiAgICAgICAgICAgICAgICBpdGVtcz17Y2hpcEl0ZW1zfVxuICAgICAgICAgICAgICAgIHR5cGU9e2NoaXBUeXBlfVxuICAgICAgICAgICAgICAgIGxlYWRpbmdJY29uPXtcbiAgICAgICAgICAgICAgICAgIGNoaXBUeXBlID09PSAndGFzaycgPyA8TGlzdENoZWNrbGlzdCBjb2xvcj1cIiM2NjZcIiB3aWR0aD1cIjE0cHhcIiBoZWlnaHQ9XCIxNHB4XCIgLz4gOiB1bmRlZmluZWRcbiAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICBpc09yY2hlc3RyYXRvciAmJiAoXG4gICAgICAgICAgICAgICAgPENoaXBcbiAgICAgICAgICAgICAgICAgIGl0ZW1zPXtbdCgnY29udGV4dFBpbi5hZGRDb250ZXh0JywgeyBkZWZhdWx0VmFsdWU6ICdDb250ZXh0byBnbG9iYWwnIH0pXX1cbiAgICAgICAgICAgICAgICAgIGxlYWRpbmdJY29uPXs8R2xvYmUgY29sb3I9XCIjNjY2XCIgd2lkdGg9XCIxNHB4XCIgaGVpZ2h0PVwiMTRweFwiIC8+fVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgIClcbiAgICAgICAgICAgICl9XG4gICAgICAgICAgPC9Db250ZXh0QmFyTGVmdD5cbiAgICAgICAgICB7Lyoge3Nob3VsZFNob3dGYXFzICYmIDxDaGF0Rm9vdGVyRmFxcyBvblNlbGVjdEZhcT17aGFuZGxlU2VsZWN0RmFxfSBkaXNhYmxlZD17aXNGYXFJbnRlcmFjdGlvbkRpc2FibGVkfSAvPn0gKi99XG4gICAgICAgIDwvQ2hpcHNBbmRGYXFzUm93PlxuICAgICAgKX1cbiAgICAgIDxNQUlBSW5wdXRcbiAgICAgICAgcG9wb3ZlckFuY2hvclJlZj17aW5wdXRQb3BvdmVyQW5jaG9yUmVmfVxuICAgICAgICBvblNlbmRNZXNzYWdlPXtoYW5kbGVTZW5kTWVzc2FnZX1cbiAgICAgICAgY2xhc3NOYW1lPXtNT0RBTF9FTEVNRU5UU31cbiAgICAgICAgZGlzYWJsZWQ9e2Rpc2FibGVkfVxuICAgICAgICBwbGFjZWhvbGRlcj17YWdlbnQ/LmlucHV0X3BsYWNlaG9sZGVyIHx8IHQoJ2NoYXQuZm9vdGVyLnBsYWNlaG9sZGVyJyl9XG4gICAgICAgIG9uQ2hhbmdlPXtvbkNoYW5nZX1cbiAgICAgICAgb25GaWxlQXR0YWNoPXtoYW5kbGVGaWxlQXR0YWNofVxuICAgICAgICBvbkRlbGV0ZUF0dGFjaG1lbnQ9e2hhbmRsZURlbGV0ZUF0dGFjaG1lbnR9XG4gICAgICAgIGF0dGFjaG1lbnRzPXthdHRhY2htZW50c1xuICAgICAgICAgIC5maWx0ZXIoYXR0ID0+ICEhYXR0LmZpbGUpXG4gICAgICAgICAgLm1hcChhdHQgPT4gKHtcbiAgICAgICAgICAgIGZpbGU6IGF0dC5maWxlISxcbiAgICAgICAgICAgIG9yaWdpbmFsRmlsZTogYXR0Lm9yaWdpbmFsRmlsZSxcbiAgICAgICAgICAgIGlkOiBhdHQuaWQsXG4gICAgICAgICAgICBuYW1lOiBhdHQubmFtZSxcbiAgICAgICAgICAgIHNpemU6IHR5cGVvZiBhdHQuc2l6ZSA9PT0gJ251bWJlcicgPyBhdHQuc2l6ZSA6IE51bWJlcihhdHQuc2l6ZSkgfHwgMCxcbiAgICAgICAgICAgIHR5cGU6IGF0dC50eXBlLFxuICAgICAgICAgICAgaWNvbjogYXR0Lmljb24sXG4gICAgICAgICAgfSkpfVxuICAgICAgICBpc1N0cmVhbWluZz17aXNTdHJlYW1pbmd9XG4gICAgICAgIGlzV3JpdGluZz17aXNXcml0aW5nfVxuICAgICAgICBvblN0b3BHZW5lcmF0aW9uPXtvblN0b3BHZW5lcmF0aW9ufVxuICAgICAgICBjaGF0SWQ9e2NoYXRJZCB8fCB1bmRlZmluZWR9XG4gICAgICAgIG5ld0NoYXRLZXk9e25ld0NoYXRLZXl9XG4gICAgICAgIHRvb2x0aXBaSW5kZXg9e3Rvb2x0aXBaSW5kZXh9XG4gICAgICAgIGxheW91dE1vZGU9e2xheW91dE1vZGV9XG4gICAgICAvPlxuICAgICAgPENoYXREaXNjbGFpbWVyTWVzc2FnZSBtZXNzYWdlPXtkaXNjbGFpbWVyTWVzc2FnZX0g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
@@ -41,23 +41,38 @@ export function ChatFooterFaqs(_ref2) {
41
41
  i18n = _useT.i18n;
42
42
  var event = useEvent();
43
43
  var _useGlobalContext = useGlobalContext(),
44
- agent = _useGlobalContext.agent;
44
+ agent = _useGlobalContext.agent,
45
+ task = _useGlobalContext.task,
46
+ chipsProject = _useGlobalContext.chipsProject,
47
+ project = _useGlobalContext.project,
48
+ client = _useGlobalContext.client;
45
49
  var lang = mapCORLang(i18n.language);
46
50
  var agentId = agent === null || agent === void 0 ? void 0 : agent.id;
47
- var _useFrequentlyAskedQu = useFrequentlyAskedQuestions(agentId, lang),
51
+ var isCloneAgent = (agent === null || agent === void 0 ? void 0 : agent.type) === 'clone';
52
+ var isOrchestrator = (agent === null || agent === void 0 ? void 0 : agent.type) === 'orchestrator';
53
+
54
+ // Las FAQs se filtran por el `entity_type` del contexto pineado (project/client/task), tanto
55
+ // al abrir MAIA desde una sección como al cambiar de conversación (la metadata setea el contexto).
56
+ var entityType = function () {
57
+ if (task !== null && task !== void 0 && task.id) return 'task';
58
+ if (chipsProject !== null && chipsProject !== void 0 && chipsProject.projectId || project !== null && project !== void 0 && project.id) return 'project';
59
+ if (client !== null && client !== void 0 && client.id) return 'client';
60
+ return undefined;
61
+ }();
62
+ var _useFrequentlyAskedQu = useFrequentlyAskedQuestions(agentId, lang, entityType),
48
63
  faqs = _useFrequentlyAskedQu.faqs,
49
64
  loading = _useFrequentlyAskedQu.loading,
50
65
  error = _useFrequentlyAskedQu.error,
51
66
  handleGetFrequentlyAskedQuestions = _useFrequentlyAskedQu.handleGetFrequentlyAskedQuestions;
52
- var isCloneAgent = (agent === null || agent === void 0 ? void 0 : agent.type) === 'clone';
53
67
  useEffect(function () {
54
- if (isCloneAgent && agentId && lang) {
68
+ if ((isCloneAgent || isOrchestrator) && agentId && lang) {
55
69
  handleGetFrequentlyAskedQuestions({
56
70
  agentId: agentId,
57
- lang: lang
71
+ lang: lang,
72
+ entityType: entityType
58
73
  });
59
74
  }
60
- }, [isCloneAgent, agentId, lang, handleGetFrequentlyAskedQuestions]);
75
+ }, [isCloneAgent, isOrchestrator, agentId, lang, entityType, handleGetFrequentlyAskedQuestions]);
61
76
  var faqsByCategory = useMemo(function () {
62
77
  var grouped = {};
63
78
  var sortedFaqs = _toConsumableArray(faqs).sort(function (a, b) {
@@ -183,4 +198,4 @@ export function ChatFooterFaqs(_ref2) {
183
198
  })]
184
199
  });
185
200
  }
186
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwidXNlUmVmIiwidXNlQ2FsbGJhY2siLCJ1c2VNZW1vIiwiVG9vbHRpcCIsInVzZVQiLCJ1c2VSZXNpemVMaXN0ZW5lciIsInVzZUdsb2JhbENvbnRleHQiLCJ1c2VGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMiLCJFVkVOVFMiLCJ1c2VFdmVudCIsIlNDRmFxc0NoaXAiLCJTQ0ZhcXNUcmlnZ2VyV3JhcHBlciIsIlNDRmFxc01vZGFsRnJhbWUiLCJTQ0ZhcXNNb2RhbENvbnRlbnQiLCJTQ0ZhcXNDYXRlZ29yeUhlYWRlciIsIlNDRmFxc01vZGFsSXRlbSIsIlNDRmFxc01vZGFsSXRlbVRleHQiLCJtYXBDT1JMYW5nIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZhcU1vZGFsSXRlbSIsIl9yZWYiLCJmYXEiLCJvbkNsaWNrIiwiX3JlZiRkaXNhYmxlZCIsImRpc2FibGVkIiwidGV4dFJlZiIsIl91c2VSZXNpemVMaXN0ZW5lciIsInRpdGxlIiwic2hvd1Rvb2x0aXAiLCJjb250ZW50IiwidHlwZSIsImNoaWxkcmVuIiwicmVmIiwiQ2hhdEZvb3RlckZhcXMiLCJfcmVmMiIsIm9uU2VsZWN0RmFxIiwiX3JlZjIkZGlzYWJsZWQiLCJfdXNlVCIsInQiLCJpMThuIiwiZXZlbnQiLCJfdXNlR2xvYmFsQ29udGV4dCIsImFnZW50IiwibGFuZyIsImxhbmd1YWdlIiwiYWdlbnRJZCIsImlkIiwiX3VzZUZyZXF1ZW50bHlBc2tlZFF1IiwiZmFxcyIsImxvYWRpbmciLCJlcnJvciIsImhhbmRsZUdldEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyIsImlzQ2xvbmVBZ2VudCIsImZhcXNCeUNhdGVnb3J5IiwiZ3JvdXBlZCIsInNvcnRlZEZhcXMiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJzb3J0IiwiYSIsImIiLCJfYSRvcmRlciIsIl9iJG9yZGVyIiwib3JkZXJBIiwib3JkZXIiLCJOdW1iZXIiLCJNQVhfU0FGRV9JTlRFR0VSIiwib3JkZXJCIiwiZm9yRWFjaCIsImNhdGVnb3J5IiwicHVzaCIsIk9iamVjdCIsImtleXMiLCJjYXQiLCJfYSRvcmRlcjIiLCJfYiRvcmRlcjIiLCJlbnRyaWVzIiwiX3JlZjMiLCJfcmVmNCIsIl9jYXRlZ29yeUZhcXNBJDAkb3JkZSIsIl9jYXRlZ29yeUZhcXNBJCIsIl9jYXRlZ29yeUZhcXNCJDAkb3JkZSIsIl9jYXRlZ29yeUZhcXNCJCIsIl9yZWY1IiwiX3NsaWNlZFRvQXJyYXkiLCJjYXRlZ29yeUZhcXNBIiwiX3JlZjYiLCJjYXRlZ29yeUZhcXNCIiwiZmlyc3RPcmRlckEiLCJmaXJzdE9yZGVyQiIsIm1hcCIsIl9yZWY3IiwiX3JlZjgiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiaXNPcGVuIiwic2V0SXNPcGVuIiwid3JhcHBlclJlZiIsImhhbmRsZVRvZ2dsZSIsInByZXYiLCJoYW5kbGVGYXFDbGljayIsImFpQ2hhdFNlbGVjdEZBUSIsIm9wdGlvbiIsImlkX2ZhcSIsImNhdGVnb3J5X2ZhcSIsIm9yaWdpbl9mYXEiLCJhZ2VudF9lbnRpdHkiLCJlbnRpdHkiLCJoYW5kbGVFc2NhcGUiLCJlIiwia2V5IiwiaGFuZGxlQ2xpY2tPdXRzaWRlIiwidGFyZ2V0IiwiY3VycmVudCIsImNvbnRhaW5zIiwidW5kZWZpbmVkIiwiZG9jdW1lbnQiLCJhZGRFdmVudExpc3RlbmVyIiwidGltZW91dElkIiwic2V0VGltZW91dCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJjbGVhclRpbWVvdXQiLCJsZW5ndGgiLCJyb2xlIiwiX2ZhcXNCeUNhdGVnb3J5JGdyb3VwIiwiaXRlbXMiLCJGcmFnbWVudCIsImNvbmNhdCIsInRvTG93ZXJDYXNlIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRGb290ZXIvQ2hhdEZvb3RlckZhcXMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZUNhbGxiYWNrLCB1c2VNZW1vIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHByb2plY3Rjb3IvdG9vbHRpcHYyL2xpYi9jb21wb25lbnRzL1Rvb2x0aXAnXG5pbXBvcnQgeyB1c2VUIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlVCdcbmltcG9ydCB7IHVzZVJlc2l6ZUxpc3RlbmVyIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlUmVzaXplJ1xuaW1wb3J0IHsgdXNlR2xvYmFsQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL2NvbnRleHQvZ2xvYmFsLWNvbnRleHQnXG5pbXBvcnQgeyB1c2VGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMnXG5pbXBvcnQgeyBFVkVOVFMsIHVzZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnXG5pbXBvcnQge1xuICBTQ0ZhcXNDaGlwLFxuICBTQ0ZhcXNUcmlnZ2VyV3JhcHBlcixcbiAgU0NGYXFzTW9kYWxGcmFtZSxcbiAgU0NGYXFzTW9kYWxDb250ZW50LFxuICBTQ0ZhcXNDYXRlZ29yeUhlYWRlcixcbiAgU0NGYXFzTW9kYWxJdGVtLFxuICBTQ0ZhcXNNb2RhbEl0ZW1UZXh0LFxufSBmcm9tICcuL0NoYXRGb290ZXJGYXFzLnN0eWxlcydcbmltcG9ydCB7IG1hcENPUkxhbmcgfSBmcm9tICcuLi8uLi8uLi9sYW5nL3V0aWxzJ1xuaW1wb3J0IHR5cGUgeyBGcmVxdWVudGx5QXNrZWRRdWVzdGlvbiB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL0ZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uJ1xuXG5leHBvcnQgdHlwZSBGYXFJdGVtID0ge1xuICBpZDogc3RyaW5nXG4gIHRpdGxlOiBzdHJpbmdcbiAgY2F0ZWdvcnk6IHN0cmluZ1xufVxuXG5mdW5jdGlvbiBGYXFNb2RhbEl0ZW0oeyBmYXEsIG9uQ2xpY2ssIGRpc2FibGVkID0gZmFsc2UgfTogeyBmYXE6IEZhcUl0ZW07IG9uQ2xpY2s6ICgpID0+IHZvaWQ7IGRpc2FibGVkPzogYm9vbGVhbiB9KSB7XG4gIGNvbnN0IHRleHRSZWYgPSB1c2VSZWY8SFRNTFNwYW5FbGVtZW50PihudWxsKVxuICBjb25zdCB7IHNob3dUb29sdGlwIH0gPSB1c2VSZXNpemVMaXN0ZW5lcih0ZXh0UmVmLCBbZmFxLnRpdGxlXSlcblxuICBjb25zdCBjb250ZW50ID0gKFxuICAgIDxTQ0ZhcXNNb2RhbEl0ZW0gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e29uQ2xpY2t9IGRpc2FibGVkPXtkaXNhYmxlZH0+XG4gICAgICA8U0NGYXFzTW9kYWxJdGVtVGV4dCByZWY9e3RleHRSZWZ9PntmYXEudGl0bGV9PC9TQ0ZhcXNNb2RhbEl0ZW1UZXh0PlxuICAgIDwvU0NGYXFzTW9kYWxJdGVtPlxuICApXG5cbiAgcmV0dXJuIDxUb29sdGlwIHRpdGxlPXtzaG93VG9vbHRpcCA/IGZhcS50aXRsZSA6ICcnfT57Y29udGVudH08L1Rvb2x0aXA+XG59XG5cbnR5cGUgQ2hhdEZvb3RlckZhcXNQcm9wcyA9IHtcbiAgb25TZWxlY3RGYXE6IChtZXNzYWdlOiBzdHJpbmcsIGZhcUlkOiBzdHJpbmcpID0+IHZvaWRcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDaGF0Rm9vdGVyRmFxcyh7IG9uU2VsZWN0RmFxLCBkaXNhYmxlZCA9IGZhbHNlIH06IENoYXRGb290ZXJGYXFzUHJvcHMpIHtcbiAgY29uc3QgeyB0LCBpMThuIH0gPSB1c2VUKClcbiAgY29uc3QgZXZlbnQgPSB1c2VFdmVudCgpXG4gIGNvbnN0IHsgYWdlbnQgfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuICBjb25zdCBsYW5nID0gbWFwQ09STGFuZyhpMThuLmxhbmd1YWdlKVxuICBjb25zdCBhZ2VudElkID0gYWdlbnQ/LmlkXG5cbiAgY29uc3QgeyBmYXFzLCBsb2FkaW5nLCBlcnJvciwgaGFuZGxlR2V0RnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIH0gPSB1c2VGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMoYWdlbnRJZCwgbGFuZylcblxuICBjb25zdCBpc0Nsb25lQWdlbnQgPSBhZ2VudD8udHlwZSA9PT0gJ2Nsb25lJ1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzQ2xvbmVBZ2VudCAmJiBhZ2VudElkICYmIGxhbmcpIHtcbiAgICAgIGhhbmRsZUdldEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyh7IGFnZW50SWQsIGxhbmcgfSlcbiAgICB9XG4gIH0sIFtpc0Nsb25lQWdlbnQsIGFnZW50SWQsIGxhbmcsIGhhbmRsZUdldEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uc10pXG5cbiAgY29uc3QgZmFxc0J5Q2F0ZWdvcnkgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBjb25zdCBncm91cGVkOiBSZWNvcmQ8c3RyaW5nLCBGcmVxdWVudGx5QXNrZWRRdWVzdGlvbltdPiA9IHt9XG4gICAgY29uc3Qgc29ydGVkRmFxcyA9IFsuLi5mYXFzXS5zb3J0KChhLCBiKSA9PiB7XG4gICAgICBjb25zdCBvcmRlckEgPSBhLm9yZGVyID8/IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSXG4gICAgICBjb25zdCBvcmRlckIgPSBiLm9yZGVyID8/IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSXG5cbiAgICAgIHJldHVybiBvcmRlckEgLSBvcmRlckJcbiAgICB9KVxuXG4gICAgc29ydGVkRmFxcy5mb3JFYWNoKGZhcSA9PiB7XG4gICAgICBjb25zdCBjYXRlZ29yeSA9IGZhcS5jYXRlZ29yeSB8fCAndW5kZWZpbmVkJ1xuICAgICAgaWYgKCFncm91cGVkW2NhdGVnb3J5XSkgZ3JvdXBlZFtjYXRlZ29yeV0gPSBbXVxuICAgICAgZ3JvdXBlZFtjYXRlZ29yeV0ucHVzaChmYXEpXG4gICAgfSlcblxuICAgIE9iamVjdC5rZXlzKGdyb3VwZWQpLmZvckVhY2goY2F0ID0+IHtcbiAgICAgIGdyb3VwZWRbY2F0XS5zb3J0KChhLCBiKSA9PiAoYS5vcmRlciA/PyAwKSAtIChiLm9yZGVyID8/IDApKVxuICAgIH0pXG5cbiAgICBjb25zdCBvcmRlciA9IE9iamVjdC5lbnRyaWVzKGdyb3VwZWQpXG4gICAgICAuc29ydCgoWywgY2F0ZWdvcnlGYXFzQV0sIFssIGNhdGVnb3J5RmFxc0JdKSA9PiB7XG4gICAgICAgIGNvbnN0IGZpcnN0T3JkZXJBID0gY2F0ZWdvcnlGYXFzQVswXT8ub3JkZXIgPz8gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJcbiAgICAgICAgY29uc3QgZmlyc3RPcmRlckIgPSBjYXRlZ29yeUZhcXNCWzBdPy5vcmRlciA/PyBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxuXG4gICAgICAgIHJldHVybiBmaXJzdE9yZGVyQSAtIGZpcnN0T3JkZXJCXG4gICAgICB9KVxuICAgICAgLm1hcCgoW2NhdGVnb3J5XSkgPT4gY2F0ZWdvcnkpXG5cbiAgICByZXR1cm4geyBncm91cGVkLCBvcmRlciB9XG4gIH0sIFtmYXFzXSlcblxuICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IHdyYXBwZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG5cbiAgY29uc3QgaGFuZGxlVG9nZ2xlID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldElzT3BlbihwcmV2ID0+ICFwcmV2KVxuICB9LCBbXSlcblxuICBjb25zdCBoYW5kbGVGYXFDbGljayA9IHVzZUNhbGxiYWNrKFxuICAgIChmYXE6IEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uKSA9PiB7XG4gICAgICBpZiAoZGlzYWJsZWQpIHtcbiAgICAgICAgcmV0dXJuXG4gICAgICB9XG4gICAgICBvblNlbGVjdEZhcShmYXEudGl0bGUsIGZhcS5pZClcbiAgICAgIGV2ZW50KEVWRU5UUy5haUNoYXRTZWxlY3RGQVEsIHtcbiAgICAgICAgb3B0aW9uOiB7XG4gICAgICAgICAgaWRfZmFxOiBmYXEudGl0bGUsXG4gICAgICAgICAgY2F0ZWdvcnlfZmFxOiBmYXEuY2F0ZWdvcnksXG4gICAgICAgICAgb3JpZ2luX2ZhcTogJ2J1dHRvbl9jaGF0JyxcbiAgICAgICAgICBhZ2VudF9lbnRpdHk6IGFnZW50Py5lbnRpdHksXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgICAgc2V0SXNPcGVuKGZhbHNlKVxuICAgIH0sXG4gICAgW29uU2VsZWN0RmFxLCBldmVudCwgZGlzYWJsZWQsIGFnZW50Py5lbnRpdHldXG4gIClcblxuICBjb25zdCBoYW5kbGVFc2NhcGUgPSB1c2VDYWxsYmFjaygoZTogS2V5Ym9hcmRFdmVudCkgPT4ge1xuICAgIGlmIChlLmtleSA9PT0gJ0VzY2FwZScpIHNldElzT3BlbihmYWxzZSlcbiAgfSwgW10pXG5cbiAgY29uc3QgaGFuZGxlQ2xpY2tPdXRzaWRlID0gdXNlQ2FsbGJhY2soKGU6IE1vdXNlRXZlbnQpID0+IHtcbiAgICBjb25zdCB0YXJnZXQgPSBlLnRhcmdldCBhcyBOb2RlXG4gICAgaWYgKHdyYXBwZXJSZWYuY3VycmVudCAmJiAhd3JhcHBlclJlZi5jdXJyZW50LmNvbnRhaW5zKHRhcmdldCkpIHtcbiAgICAgIHNldElzT3BlbihmYWxzZSlcbiAgICB9XG4gIH0sIFtdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc09wZW4pIHJldHVybiB1bmRlZmluZWRcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdrZXlkb3duJywgaGFuZGxlRXNjYXBlLCB0cnVlKVxuICAgIGNvbnN0IHRpbWVvdXRJZCA9IHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgIH0sIDApXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2tleWRvd24nLCBoYW5kbGVFc2NhcGUsIHRydWUpXG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgICBjbGVhclRpbWVvdXQodGltZW91dElkKVxuICAgIH1cbiAgfSwgW2lzT3BlbiwgaGFuZGxlRXNjYXBlLCBoYW5kbGVDbGlja091dHNpZGVdKVxuXG4gIGlmIChmYXFzLmxlbmd0aCA9PT0gMCkge1xuICAgIHJldHVybiBudWxsXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTQ0ZhcXNUcmlnZ2VyV3JhcHBlciByZWY9e3dyYXBwZXJSZWZ9PlxuICAgICAgPFNDRmFxc0NoaXAgdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e2hhbmRsZVRvZ2dsZX0gYXJpYS1leHBhbmRlZD17aXNPcGVufSBhcmlhLWhhc3BvcHVwPVwidHJ1ZVwiPlxuICAgICAgICB7dCgnaG9tZU1lbnUuZmFxLnRpdGxlJyl9XG4gICAgICA8L1NDRmFxc0NoaXA+XG4gICAgICB7aXNPcGVuICYmIChcbiAgICAgICAgPFNDRmFxc01vZGFsRnJhbWUgcm9sZT1cImRpYWxvZ1wiIGFyaWEtbGFiZWw9e3QoJ2hvbWVNZW51LmZhcS50aXRsZScpfT5cbiAgICAgICAgICA8U0NGYXFzTW9kYWxDb250ZW50PlxuICAgICAgICAgICAgeyFsb2FkaW5nICYmXG4gICAgICAgICAgICAgICFlcnJvciAmJlxuICAgICAgICAgICAgICBmYXFzQnlDYXRlZ29yeS5vcmRlci5tYXAoY2F0ZWdvcnkgPT4ge1xuICAgICAgICAgICAgICAgIGNvbnN0IGl0ZW1zID0gZmFxc0J5Q2F0ZWdvcnkuZ3JvdXBlZFtjYXRlZ29yeV0gPz8gW11cbiAgICAgICAgICAgICAgICBpZiAoaXRlbXMubGVuZ3RoID09PSAwKSByZXR1cm4gbnVsbFxuICAgICAgICAgICAgICAgIHJldHVybiAoXG4gICAgICAgICAgICAgICAgICA8UmVhY3QuRnJhZ21lbnQga2V5PXtjYXRlZ29yeX0+XG4gICAgICAgICAgICAgICAgICAgIHtjYXRlZ29yeSAhPT0gJ3VuZGVmaW5lZCcgJiYgKFxuICAgICAgICAgICAgICAgICAgICAgIDxTQ0ZhcXNDYXRlZ29yeUhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgICAgIHt0KGBob21lTWVudS5mYXEuY2F0ZWdvcmllcy4ke2NhdGVnb3J5LnRvTG93ZXJDYXNlKCl9YCl9XG4gICAgICAgICAgICAgICAgICAgICAgPC9TQ0ZhcXNDYXRlZ29yeUhlYWRlcj5cbiAgICAgICAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgICAgICAgICAge2l0ZW1zLm1hcChmYXEgPT4gKFxuICAgICAgICAgICAgICAgICAgICAgIDxGYXFNb2RhbEl0ZW1cbiAgICAgICAgICAgICAgICAgICAgICAgIGtleT17ZmFxLmlkfVxuICAgICAgICAgICAgICAgICAgICAgICAgZmFxPXt7IGlkOiBmYXEuaWQsIHRpdGxlOiBmYXEudGl0bGUsIGNhdGVnb3J5OiBmYXEuY2F0ZWdvcnkgfHwgJ3VuZGVmaW5lZCcgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uQ2xpY2s9eygpID0+IGhhbmRsZUZhcUNsaWNrKGZhcSl9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICAgICAgICA8L1JlYWN0LkZyYWdtZW50PlxuICAgICAgICAgICAgICAgIClcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgPC9TQ0ZhcXNNb2RhbENvbnRlbnQ+XG4gICAgICAgIDwvU0NGYXFzTW9kYWxGcmFtZT5cbiAgICAgICl9XG4gICAgPC9TQ0ZhcXNUcmlnZ2VyV3JhcHBlcj5cbiAgKVxufVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLE9BQU9BLEtBQUssSUFBSUMsUUFBUSxFQUFFQyxTQUFTLEVBQUVDLE1BQU0sRUFBRUMsV0FBVyxFQUFFQyxPQUFPLFFBQVEsT0FBTztBQUNoRixTQUFTQyxPQUFPLFFBQVEsOENBQThDO0FBQ3RFLFNBQVNDLElB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
201
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsInVzZVN0YXRlIiwidXNlRWZmZWN0IiwidXNlUmVmIiwidXNlQ2FsbGJhY2siLCJ1c2VNZW1vIiwiVG9vbHRpcCIsInVzZVQiLCJ1c2VSZXNpemVMaXN0ZW5lciIsInVzZUdsb2JhbENvbnRleHQiLCJ1c2VGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnMiLCJFVkVOVFMiLCJ1c2VFdmVudCIsIlNDRmFxc0NoaXAiLCJTQ0ZhcXNUcmlnZ2VyV3JhcHBlciIsIlNDRmFxc01vZGFsRnJhbWUiLCJTQ0ZhcXNNb2RhbENvbnRlbnQiLCJTQ0ZhcXNDYXRlZ29yeUhlYWRlciIsIlNDRmFxc01vZGFsSXRlbSIsIlNDRmFxc01vZGFsSXRlbVRleHQiLCJtYXBDT1JMYW5nIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZhcU1vZGFsSXRlbSIsIl9yZWYiLCJmYXEiLCJvbkNsaWNrIiwiX3JlZiRkaXNhYmxlZCIsImRpc2FibGVkIiwidGV4dFJlZiIsIl91c2VSZXNpemVMaXN0ZW5lciIsInRpdGxlIiwic2hvd1Rvb2x0aXAiLCJjb250ZW50IiwidHlwZSIsImNoaWxkcmVuIiwicmVmIiwiQ2hhdEZvb3RlckZhcXMiLCJfcmVmMiIsIm9uU2VsZWN0RmFxIiwiX3JlZjIkZGlzYWJsZWQiLCJfdXNlVCIsInQiLCJpMThuIiwiZXZlbnQiLCJfdXNlR2xvYmFsQ29udGV4dCIsImFnZW50IiwidGFzayIsImNoaXBzUHJvamVjdCIsInByb2plY3QiLCJjbGllbnQiLCJsYW5nIiwibGFuZ3VhZ2UiLCJhZ2VudElkIiwiaWQiLCJpc0Nsb25lQWdlbnQiLCJpc09yY2hlc3RyYXRvciIsImVudGl0eVR5cGUiLCJwcm9qZWN0SWQiLCJ1bmRlZmluZWQiLCJfdXNlRnJlcXVlbnRseUFza2VkUXUiLCJmYXFzIiwibG9hZGluZyIsImVycm9yIiwiaGFuZGxlR2V0RnJlcXVlbnRseUFza2VkUXVlc3Rpb25zIiwiZmFxc0J5Q2F0ZWdvcnkiLCJncm91cGVkIiwic29ydGVkRmFxcyIsIl90b0NvbnN1bWFibGVBcnJheSIsInNvcnQiLCJhIiwiYiIsIl9hJG9yZGVyIiwiX2Ikb3JkZXIiLCJvcmRlckEiLCJvcmRlciIsIk51bWJlciIsIk1BWF9TQUZFX0lOVEVHRVIiLCJvcmRlckIiLCJmb3JFYWNoIiwiY2F0ZWdvcnkiLCJwdXNoIiwiT2JqZWN0Iiwia2V5cyIsImNhdCIsIl9hJG9yZGVyMiIsIl9iJG9yZGVyMiIsImVudHJpZXMiLCJfcmVmMyIsIl9yZWY0IiwiX2NhdGVnb3J5RmFxc0EkMCRvcmRlIiwiX2NhdGVnb3J5RmFxc0EkIiwiX2NhdGVnb3J5RmFxc0IkMCRvcmRlIiwiX2NhdGVnb3J5RmFxc0IkIiwiX3JlZjUiLCJfc2xpY2VkVG9BcnJheSIsImNhdGVnb3J5RmFxc0EiLCJfcmVmNiIsImNhdGVnb3J5RmFxc0IiLCJmaXJzdE9yZGVyQSIsImZpcnN0T3JkZXJCIiwibWFwIiwiX3JlZjciLCJfcmVmOCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJpc09wZW4iLCJzZXRJc09wZW4iLCJ3cmFwcGVyUmVmIiwiaGFuZGxlVG9nZ2xlIiwicHJldiIsImhhbmRsZUZhcUNsaWNrIiwiYWlDaGF0U2VsZWN0RkFRIiwib3B0aW9uIiwiaWRfZmFxIiwiY2F0ZWdvcnlfZmFxIiwib3JpZ2luX2ZhcSIsImFnZW50X2VudGl0eSIsImVudGl0eSIsImhhbmRsZUVzY2FwZSIsImUiLCJrZXkiLCJoYW5kbGVDbGlja091dHNpZGUiLCJ0YXJnZXQiLCJjdXJyZW50IiwiY29udGFpbnMiLCJkb2N1bWVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJ0aW1lb3V0SWQiLCJzZXRUaW1lb3V0IiwicmVtb3ZlRXZlbnRMaXN0ZW5lciIsImNsZWFyVGltZW91dCIsImxlbmd0aCIsInJvbGUiLCJfZmFxc0J5Q2F0ZWdvcnkkZ3JvdXAiLCJpdGVtcyIsIkZyYWdtZW50IiwiY29uY2F0IiwidG9Mb3dlckNhc2UiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyRmFxcy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFJlYWN0LCB7IHVzZVN0YXRlLCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlQ2FsbGJhY2ssIHVzZU1lbW8gfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IFRvb2x0aXAgfSBmcm9tICdAcHJvamVjdGNvci90b29sdGlwdjIvbGliL2NvbXBvbmVudHMvVG9vbHRpcCdcbmltcG9ydCB7IHVzZVQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VUJ1xuaW1wb3J0IHsgdXNlUmVzaXplTGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VSZXNpemUnXG5pbXBvcnQgeyB1c2VHbG9iYWxDb250ZXh0IH0gZnJvbSAnLi4vLi4vLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IHVzZUZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucydcbmltcG9ydCB7IEVWRU5UUywgdXNlRXZlbnQgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VFdmVudCdcbmltcG9ydCB7XG4gIFNDRmFxc0NoaXAsXG4gIFNDRmFxc1RyaWdnZXJXcmFwcGVyLFxuICBTQ0ZhcXNNb2RhbEZyYW1lLFxuICBTQ0ZhcXNNb2RhbENvbnRlbnQsXG4gIFNDRmFxc0NhdGVnb3J5SGVhZGVyLFxuICBTQ0ZhcXNNb2RhbEl0ZW0sXG4gIFNDRmFxc01vZGFsSXRlbVRleHQsXG59IGZyb20gJy4vQ2hhdEZvb3RlckZhcXMuc3R5bGVzJ1xuaW1wb3J0IHsgbWFwQ09STGFuZyB9IGZyb20gJy4uLy4uLy4uL2xhbmcvdXRpbHMnXG5pbXBvcnQgdHlwZSB7IEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvRnJlcXVlbnRseUFza2VkUXVlc3Rpb24nXG5cbmV4cG9ydCB0eXBlIEZhcUl0ZW0gPSB7XG4gIGlkOiBzdHJpbmdcbiAgdGl0bGU6IHN0cmluZ1xuICBjYXRlZ29yeTogc3RyaW5nXG59XG5cbmZ1bmN0aW9uIEZhcU1vZGFsSXRlbSh7IGZhcSwgb25DbGljaywgZGlzYWJsZWQgPSBmYWxzZSB9OiB7IGZhcTogRmFxSXRlbTsgb25DbGljazogKCkgPT4gdm9pZDsgZGlzYWJsZWQ/OiBib29sZWFuIH0pIHtcbiAgY29uc3QgdGV4dFJlZiA9IHVzZVJlZjxIVE1MU3BhbkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHsgc2hvd1Rvb2x0aXAgfSA9IHVzZVJlc2l6ZUxpc3RlbmVyKHRleHRSZWYsIFtmYXEudGl0bGVdKVxuXG4gIGNvbnN0IGNvbnRlbnQgPSAoXG4gICAgPFNDRmFxc01vZGFsSXRlbSB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17b25DbGlja30gZGlzYWJsZWQ9e2Rpc2FibGVkfT5cbiAgICAgIDxTQ0ZhcXNNb2RhbEl0ZW1UZXh0IHJlZj17dGV4dFJlZn0+e2ZhcS50aXRsZX08L1NDRmFxc01vZGFsSXRlbVRleHQ+XG4gICAgPC9TQ0ZhcXNNb2RhbEl0ZW0+XG4gIClcblxuICByZXR1cm4gPFRvb2x0aXAgdGl0bGU9e3Nob3dUb29sdGlwID8gZmFxLnRpdGxlIDogJyd9Pntjb250ZW50fTwvVG9vbHRpcD5cbn1cblxudHlwZSBDaGF0Rm9vdGVyRmFxc1Byb3BzID0ge1xuICBvblNlbGVjdEZhcTogKG1lc3NhZ2U6IHN0cmluZywgZmFxSWQ6IHN0cmluZykgPT4gdm9pZFxuICBkaXNhYmxlZD86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGZ1bmN0aW9uIENoYXRGb290ZXJGYXFzKHsgb25TZWxlY3RGYXEsIGRpc2FibGVkID0gZmFsc2UgfTogQ2hhdEZvb3RlckZhcXNQcm9wcykge1xuICBjb25zdCB7IHQsIGkxOG4gfSA9IHVzZVQoKVxuICBjb25zdCBldmVudCA9IHVzZUV2ZW50KClcbiAgY29uc3QgeyBhZ2VudCwgdGFzaywgY2hpcHNQcm9qZWN0LCBwcm9qZWN0LCBjbGllbnQgfSA9IHVzZUdsb2JhbENvbnRleHQoKVxuICBjb25zdCBsYW5nID0gbWFwQ09STGFuZyhpMThuLmxhbmd1YWdlKVxuICBjb25zdCBhZ2VudElkID0gYWdlbnQ/LmlkXG5cbiAgY29uc3QgaXNDbG9uZUFnZW50ID0gYWdlbnQ/LnR5cGUgPT09ICdjbG9uZSdcbiAgY29uc3QgaXNPcmNoZXN0cmF0b3IgPSBhZ2VudD8udHlwZSA9PT0gJ29yY2hlc3RyYXRvcidcblxuICAvLyBMYXMgRkFRcyBzZSBmaWx0cmFuIHBvciBlbCBgZW50aXR5X3R5cGVgIGRlbCBjb250ZXh0byBwaW5lYWRvIChwcm9qZWN0L2NsaWVudC90YXNrKSwgdGFudG9cbiAgLy8gYWwgYWJyaXIgTUFJQSBkZXNkZSB1bmEgc2VjY2nDs24gY29tbyBhbCBjYW1iaWFyIGRlIGNvbnZlcnNhY2nDs24gKGxhIG1ldGFkYXRhIHNldGVhIGVsIGNvbnRleHRvKS5cbiAgY29uc3QgZW50aXR5VHlwZSA9ICgoKSA9PiB7XG4gICAgaWYgKHRhc2s/LmlkKSByZXR1cm4gJ3Rhc2snXG4gICAgaWYgKGNoaXBzUHJvamVjdD8ucHJvamVjdElkIHx8IHByb2plY3Q/LmlkKSByZXR1cm4gJ3Byb2plY3QnXG4gICAgaWYgKGNsaWVudD8uaWQpIHJldHVybiAnY2xpZW50J1xuICAgIHJldHVybiB1bmRlZmluZWRcbiAgfSkoKVxuXG4gIGNvbnN0IHsgZmFxcywgbG9hZGluZywgZXJyb3IsIGhhbmRsZUdldEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyB9ID0gdXNlRnJlcXVlbnRseUFza2VkUXVlc3Rpb25zKFxuICAgIGFnZW50SWQsXG4gICAgbGFuZyxcbiAgICBlbnRpdHlUeXBlXG4gIClcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICgoaXNDbG9uZUFnZW50IHx8IGlzT3JjaGVzdHJhdG9yKSAmJiBhZ2VudElkICYmIGxhbmcpIHtcbiAgICAgIGhhbmRsZUdldEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9ucyh7IGFnZW50SWQsIGxhbmcsIGVudGl0eVR5cGUgfSlcbiAgICB9XG4gIH0sIFtpc0Nsb25lQWdlbnQsIGlzT3JjaGVzdHJhdG9yLCBhZ2VudElkLCBsYW5nLCBlbnRpdHlUeXBlLCBoYW5kbGVHZXRGcmVxdWVudGx5QXNrZWRRdWVzdGlvbnNdKVxuXG4gIGNvbnN0IGZhcXNCeUNhdGVnb3J5ID0gdXNlTWVtbygoKSA9PiB7XG4gICAgY29uc3QgZ3JvdXBlZDogUmVjb3JkPHN0cmluZywgRnJlcXVlbnRseUFza2VkUXVlc3Rpb25bXT4gPSB7fVxuICAgIGNvbnN0IHNvcnRlZEZhcXMgPSBbLi4uZmFxc10uc29ydCgoYSwgYikgPT4ge1xuICAgICAgY29uc3Qgb3JkZXJBID0gYS5vcmRlciA/PyBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxuICAgICAgY29uc3Qgb3JkZXJCID0gYi5vcmRlciA/PyBOdW1iZXIuTUFYX1NBRkVfSU5URUdFUlxuXG4gICAgICByZXR1cm4gb3JkZXJBIC0gb3JkZXJCXG4gICAgfSlcblxuICAgIHNvcnRlZEZhcXMuZm9yRWFjaChmYXEgPT4ge1xuICAgICAgY29uc3QgY2F0ZWdvcnkgPSBmYXEuY2F0ZWdvcnkgfHwgJ3VuZGVmaW5lZCdcbiAgICAgIGlmICghZ3JvdXBlZFtjYXRlZ29yeV0pIGdyb3VwZWRbY2F0ZWdvcnldID0gW11cbiAgICAgIGdyb3VwZWRbY2F0ZWdvcnldLnB1c2goZmFxKVxuICAgIH0pXG5cbiAgICBPYmplY3Qua2V5cyhncm91cGVkKS5mb3JFYWNoKGNhdCA9PiB7XG4gICAgICBncm91cGVkW2NhdF0uc29ydCgoYSwgYikgPT4gKGEub3JkZXIgPz8gMCkgLSAoYi5vcmRlciA/PyAwKSlcbiAgICB9KVxuXG4gICAgY29uc3Qgb3JkZXIgPSBPYmplY3QuZW50cmllcyhncm91cGVkKVxuICAgICAgLnNvcnQoKFssIGNhdGVnb3J5RmFxc0FdLCBbLCBjYXRlZ29yeUZhcXNCXSkgPT4ge1xuICAgICAgICBjb25zdCBmaXJzdE9yZGVyQSA9IGNhdGVnb3J5RmFxc0FbMF0/Lm9yZGVyID8/IE51bWJlci5NQVhfU0FGRV9JTlRFR0VSXG4gICAgICAgIGNvbnN0IGZpcnN0T3JkZXJCID0gY2F0ZWdvcnlGYXFzQlswXT8ub3JkZXIgPz8gTnVtYmVyLk1BWF9TQUZFX0lOVEVHRVJcblxuICAgICAgICByZXR1cm4gZmlyc3RPcmRlckEgLSBmaXJzdE9yZGVyQlxuICAgICAgfSlcbiAgICAgIC5tYXAoKFtjYXRlZ29yeV0pID0+IGNhdGVnb3J5KVxuXG4gICAgcmV0dXJuIHsgZ3JvdXBlZCwgb3JkZXIgfVxuICB9LCBbZmFxc10pXG5cbiAgY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCB3cmFwcGVyUmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuXG4gIGNvbnN0IGhhbmRsZVRvZ2dsZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc09wZW4ocHJldiA9PiAhcHJldilcbiAgfSwgW10pXG5cbiAgY29uc3QgaGFuZGxlRmFxQ2xpY2sgPSB1c2VDYWxsYmFjayhcbiAgICAoZmFxOiBGcmVxdWVudGx5QXNrZWRRdWVzdGlvbikgPT4ge1xuICAgICAgaWYgKGRpc2FibGVkKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgb25TZWxlY3RGYXEoZmFxLnRpdGxlLCBmYXEuaWQpXG4gICAgICBldmVudChFVkVOVFMuYWlDaGF0U2VsZWN0RkFRLCB7XG4gICAgICAgIG9wdGlvbjoge1xuICAgICAgICAgIGlkX2ZhcTogZmFxLnRpdGxlLFxuICAgICAgICAgIGNhdGVnb3J5X2ZhcTogZmFxLmNhdGVnb3J5LFxuICAgICAgICAgIG9yaWdpbl9mYXE6ICdidXR0b25fY2hhdCcsXG4gICAgICAgICAgYWdlbnRfZW50aXR5OiBhZ2VudD8uZW50aXR5LFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICAgIHNldElzT3BlbihmYWxzZSlcbiAgICB9LFxuICAgIFtvblNlbGVjdEZhcSwgZXZlbnQsIGRpc2FibGVkLCBhZ2VudD8uZW50aXR5XVxuICApXG5cbiAgY29uc3QgaGFuZGxlRXNjYXBlID0gdXNlQ2FsbGJhY2soKGU6IEtleWJvYXJkRXZlbnQpID0+IHtcbiAgICBpZiAoZS5rZXkgPT09ICdFc2NhcGUnKSBzZXRJc09wZW4oZmFsc2UpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZSA9IHVzZUNhbGxiYWNrKChlOiBNb3VzZUV2ZW50KSA9PiB7XG4gICAgY29uc3QgdGFyZ2V0ID0gZS50YXJnZXQgYXMgTm9kZVxuICAgIGlmICh3cmFwcGVyUmVmLmN1cnJlbnQgJiYgIXdyYXBwZXJSZWYuY3VycmVudC5jb250YWlucyh0YXJnZXQpKSB7XG4gICAgICBzZXRJc09wZW4oZmFsc2UpXG4gICAgfVxuICB9LCBbXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmICghaXNPcGVuKSByZXR1cm4gdW5kZWZpbmVkXG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigna2V5ZG93bicsIGhhbmRsZUVzY2FwZSwgdHJ1ZSlcbiAgICBjb25zdCB0aW1lb3V0SWQgPSBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSlcbiAgICB9LCAwKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdrZXlkb3duJywgaGFuZGxlRXNjYXBlLCB0cnVlKVxuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJZClcbiAgICB9XG4gIH0sIFtpc09wZW4sIGhhbmRsZUVzY2FwZSwgaGFuZGxlQ2xpY2tPdXRzaWRlXSlcblxuICBpZiAoZmFxcy5sZW5ndGggPT09IDApIHtcbiAgICByZXR1cm4gbnVsbFxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U0NGYXFzVHJpZ2dlcldyYXBwZXIgcmVmPXt3cmFwcGVyUmVmfT5cbiAgICAgIDxTQ0ZhcXNDaGlwIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtoYW5kbGVUb2dnbGV9IGFyaWEtZXhwYW5kZWQ9e2lzT3Blbn0gYXJpYS1oYXNwb3B1cD1cInRydWVcIj5cbiAgICAgICAge3QoJ2hvbWVNZW51LmZhcS50aXRsZScpfVxuICAgICAgPC9TQ0ZhcXNDaGlwPlxuICAgICAge2lzT3BlbiAmJiAoXG4gICAgICAgIDxTQ0ZhcXNNb2RhbEZyYW1lIHJvbGU9XCJkaWFsb2dcIiBhcmlhLWxhYmVsPXt0KCdob21lTWVudS5mYXEudGl0bGUnKX0+XG4gICAgICAgICAgPFNDRmFxc01vZGFsQ29udGVudD5cbiAgICAgICAgICAgIHshbG9hZGluZyAmJlxuICAgICAgICAgICAgICAhZXJyb3IgJiZcbiAgICAgICAgICAgICAgZmFxc0J5Q2F0ZWdvcnkub3JkZXIubWFwKGNhdGVnb3J5ID0+IHtcbiAgICAgICAgICAgICAgICBjb25zdCBpdGVtcyA9IGZhcXNCeUNhdGVnb3J5Lmdyb3VwZWRbY2F0ZWdvcnldID8/IFtdXG4gICAgICAgICAgICAgICAgaWYgKGl0ZW1zLmxlbmd0aCA9PT0gMCkgcmV0dXJuIG51bGxcbiAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgPFJlYWN0LkZyYWdtZW50IGtleT17Y2F0ZWdvcnl9PlxuICAgICAgICAgICAgICAgICAgICB7Y2F0ZWdvcnkgIT09ICd1bmRlZmluZWQnICYmIChcbiAgICAgICAgICAgICAgICAgICAgICA8U0NGYXFzQ2F0ZWdvcnlIZWFkZXI+XG4gICAgICAgICAgICAgICAgICAgICAgICB7dChgaG9tZU1lbnUuZmFxLmNhdGVnb3JpZXMuJHtjYXRlZ29yeS50b0xvd2VyQ2FzZSgpfWApfVxuICAgICAgICAgICAgICAgICAgICAgIDwvU0NGYXFzQ2F0ZWdvcnlIZWFkZXI+XG4gICAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgICAgIHtpdGVtcy5tYXAoZmFxID0+IChcbiAgICAgICAgICAgICAgICAgICAgICA8RmFxTW9kYWxJdGVtXG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2ZhcS5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGZhcT17eyBpZDogZmFxLmlkLCB0aXRsZTogZmFxLnRpdGxlLCBjYXRlZ29yeTogZmFxLmNhdGVnb3J5IHx8ICd1bmRlZmluZWQnIH19XG4gICAgICAgICAgICAgICAgICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBoYW5kbGVGYXFDbGljayhmYXEpfVxuICAgICAgICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgIH0pfVxuICAgICAgICAgIDwvU0NGYXFzTW9kYWxDb250ZW50PlxuICAgICAgICA8L1NDRmFxc01vZGFsRnJhbWU+XG4gICAgICApfVxuICAgIDwvU0NGYXFzVHJpZ2dlcldyYXBwZXI+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxPQUFPQSxLQUFLLElBQUlDLFFBQVEsRUFBRUMsU0FBUyxFQUFFQyxNQUFNLEVBQUVDLFdBQVcsRUFBRUMsT0FBTyxRQUFRLE9BQU87QUFDaEYsU0FBU0MsT0FBTyxRQUFRLDhDQUE4QztBQUN0RSxTQUFTQyxJQUFJLFFBQVEscUJBQXFCO0FBQzFDLFNBQVNDLGlCQUFpQixRQUFRLDBCQUEwQjtBQUM1RCxTQUFTQyxnQkFBZ0IsUUFBUSxpQ0FBaUM7QUFDbEUsU0FBU0MsMkJBQTJCLFFBQVEsNENBQTRDO0FBQ3hGLFNBQVNDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLHlCQUF5QjtBQUMxRCxTQUNFQyxVQUFVLEVBQ1ZDLG9CQUFvQixFQUNwQkMsZ0JBQWdCLEVBQ2hCQyxrQkFBa0IsRUFDbEJDLG9CQUFvQixFQUNwQkMsZUFB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
@@ -1,10 +1,19 @@
1
1
  import styled from 'styled-components';
2
+ import colors from '@projectcor/theme/lib/base/colors';
2
3
  export var StyledChatFooter = styled.div.withConfig({
3
4
  displayName: "styles__StyledChatFooter",
4
5
  componentId: "sc-qhd26v-0"
5
6
  })(["display:flex;flex-direction:column;gap:6px;width:100%;max-width:864px;"]);
7
+ export var ContextBarLeft = styled.div.withConfig({
8
+ displayName: "styles__ContextBarLeft",
9
+ componentId: "sc-qhd26v-1"
10
+ })(["display:flex;align-items:center;gap:6px;min-width:0;flex:0 1 auto;"]);
11
+ export var GlobalContextLabel = styled.span.withConfig({
12
+ displayName: "styles__GlobalContextLabel",
13
+ componentId: "sc-qhd26v-2"
14
+ })(["display:inline-flex;align-items:center;flex-shrink:0;height:30px;padding:0 10px;border:0.5px dashed #bfbfbf;border-radius:20px;color:", ";font-size:12px;line-height:130%;white-space:nowrap;"], colors.secondary);
6
15
  export var ChipsAndFaqsRow = styled.div.withConfig({
7
16
  displayName: "styles__ChipsAndFaqsRow",
8
- componentId: "sc-qhd26v-1"
17
+ componentId: "sc-qhd26v-3"
9
18
  })(["display:flex;align-items:center;justify-content:space-between;gap:6px;box-sizing:border-box;width:100%;min-width:0;& > *:first-child{flex:0 1 auto;min-width:0;max-width:100%;}& > *:last-child{flex-shrink:0;}"]);
10
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJTdHlsZWRDaGF0Rm9vdGVyIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJDaGlwc0FuZEZhcXNSb3ciXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEZvb3Rlci9zdHlsZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cydcblxuZXhwb3J0IGNvbnN0IFN0eWxlZENoYXRGb290ZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDZweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogODY0cHg7XG5gXG5cbmV4cG9ydCBjb25zdCBDaGlwc0FuZEZhcXNSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogNnB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAwO1xuXG4gIC8qIENoaXAgYWwgYW5jaG8gZGVsIHRleHRvOyBzaSBubyBlbnRyYSwgZW5jb2dlIHkgdHJ1bmNhLiBGQVEgZmlqbyBhIGxhIGRlcmVjaGEuICovXG4gICYgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJiA+ICo6bGFzdC1jaGlsZCB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cbmBcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxNQUFNLG1CQUFtQjtBQUV0QyxPQUFPLElBQU1DLGdCQUFnQixHQUFHRCxNQUFNLENBQUNFLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw4RUFNekM7QUFFRCxPQUFPLElBQU1DLGVBQWUsR0FBR04sTUFBTSxDQUFDRSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsdU5BbUJ4QyIsImlnbm9yZUxpc3QiOltdfQ==
19
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjb2xvcnMiLCJTdHlsZWRDaGF0Rm9vdGVyIiwiZGl2Iiwid2l0aENvbmZpZyIsImRpc3BsYXlOYW1lIiwiY29tcG9uZW50SWQiLCJDb250ZXh0QmFyTGVmdCIsIkdsb2JhbENvbnRleHRMYWJlbCIsInNwYW4iLCJzZWNvbmRhcnkiLCJDaGlwc0FuZEZhcXNSb3ciXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEZvb3Rlci9zdHlsZXMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHN0eWxlZCBmcm9tICdzdHlsZWQtY29tcG9uZW50cydcbmltcG9ydCBjb2xvcnMgZnJvbSAnQHByb2plY3Rjb3IvdGhlbWUvbGliL2Jhc2UvY29sb3JzJ1xuXG5leHBvcnQgY29uc3QgU3R5bGVkQ2hhdEZvb3RlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogNnB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA4NjRweDtcbmBcblxuZXhwb3J0IGNvbnN0IENvbnRleHRCYXJMZWZ0ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA2cHg7XG4gIG1pbi13aWR0aDogMDtcbiAgZmxleDogMCAxIGF1dG87XG5gXG5cbmV4cG9ydCBjb25zdCBHbG9iYWxDb250ZXh0TGFiZWwgPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBoZWlnaHQ6IDMwcHg7XG4gIHBhZGRpbmc6IDAgMTBweDtcbiAgYm9yZGVyOiAwLjVweCBkYXNoZWQgI2JmYmZiZjtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgY29sb3I6ICR7Y29sb3JzLnNlY29uZGFyeX07XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDEzMCU7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG5gXG5cbmV4cG9ydCBjb25zdCBDaGlwc0FuZEZhcXNSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gIGdhcDogNnB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICB3aWR0aDogMTAwJTtcbiAgbWluLXdpZHRoOiAwO1xuXG4gIC8qIENoaXAgYWwgYW5jaG8gZGVsIHRleHRvOyBzaSBubyBlbnRyYSwgZW5jb2dlIHkgdHJ1bmNhLiBGQVEgZmlqbyBhIGxhIGRlcmVjaGEuICovXG4gICYgPiAqOmZpcnN0LWNoaWxkIHtcbiAgICBmbGV4OiAwIDEgYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICB9XG5cbiAgJiA+ICo6bGFzdC1jaGlsZCB7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gIH1cbmBcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxNQUFNLG1CQUFtQjtBQUN0QyxPQUFPQyxNQUFNLE1BQU0sbUNBQW1DO0FBRXRELE9BQU8sSUFBTUMsZ0JBQWdCLEdBQUdGLE1BQU0sQ0FBQ0csR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDhFQU16QztBQUVELE9BQU8sSUFBTUMsY0FBYyxHQUFHUCxNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSwwRUFNdkM7QUFFRCxPQUFPLElBQU1FLGtCQUFrQixHQUFHUixNQUFNLENBQUNTLElBQUksQ0FBQUwsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxzTUFRbENMLE1BQU0sQ0FBQ1MsU0FBUyxDQUkxQjtBQUVELE9BQU8sSUFBTUMsZUFBZSxHQUFHWCxNQUFNLENBQUNHLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSx1TkFtQnhDIiwiaWdub3JlTGlzdCI6W119