@projectcor/maia-components 2.11.10-1 → 2.11.10-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.
- package/lib/App.js +28 -10
- package/lib/components/atoms/Chip/Chip.js +4 -5
- package/lib/components/atoms/Chip/styles.js +2 -2
- package/lib/components/atoms/ErrorSearchProjects/ErrorSearchProjects.js +3 -5
- package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.js +3 -4
- package/lib/components/atoms/ProjectSelector/ProjectSelector.js +193 -56
- package/lib/components/index.js +1 -2
- package/lib/components/molecules/ChatAIContent/ChatAIContent.js +1 -9
- package/lib/components/molecules/ChatAIHome/ChatAIHome.js +49 -5
- package/lib/components/molecules/ChatAIHome/styles.js +25 -13
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +1 -1
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +13 -21
- package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +10 -7
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +6 -3
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +3 -5
- package/lib/components/molecules/ChatAIModal/constants.js +2 -6
- package/lib/components/molecules/ChatFooter/ChatFooter.js +47 -8
- package/lib/components/molecules/ChatFooter/styles.js +10 -1
- package/lib/components/molecules/Sidebar/Sidebar.js +2 -8
- package/lib/components/organisms/ChatAI/ChatAI.js +18 -15
- package/lib/constants/config.js +2 -2
- package/lib/context/global-context.js +1 -1
- package/lib/dev/DevChatAIActionsTasks.js +54 -0
- package/lib/hooks/useChatManager/useChatManager.interface.js +1 -1
- package/lib/hooks/useChatManager/useChatManager.js +48 -60
- package/lib/hooks/useChatMessages/useChatMessages.js +41 -79
- package/lib/hooks/useChats/useChats.js +11 -10
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +22 -6
- package/lib/hooks/useProjectSummaryConfig.js +23 -36
- package/lib/lang/br/index.js +7 -25
- package/lib/lang/en/index.js +7 -25
- package/lib/lang/es/index.js +7 -25
- package/lib/lang/fr/index.js +7 -21
- package/lib/services/maia/Agents/getAgents.js +7 -10
- package/lib/services/maia/Chats/getChatMessages.js +16 -30
- package/lib/services/maia/Chats/getChatsByUserId.js +3 -4
- package/lib/services/maia/Orchestrator/orchestrator.js +21 -6
- package/lib/services/maia/index.js +2 -4
- package/lib/services/utils/mapChatMessages.js +4 -12
- package/lib/store/chatsStore.types.js +1 -1
- package/lib/store/useChatsStore.js +13 -9
- package/lib/types/Chat.js +1 -1
- package/lib/types/agent.js +1 -1
- package/package.json +1 -1
- package/lib/components/atoms/ChatClientSelector/ChatClientSelector.js +0 -69
- package/lib/components/atoms/ChatClientSelector/index.js +0 -2
- package/lib/components/atoms/EntitySelector/EntitySelector.js +0 -181
- package/lib/components/atoms/EntitySelector/EntitySelector.styles.js +0 -57
- package/lib/components/atoms/EntitySelector/index.js +0 -2
- package/lib/components/molecules/ChatAIClientSelector/ChatAIClientSelector.js +0 -56
- package/lib/components/molecules/ChatAIClientSelector/index.js +0 -2
- package/lib/components/organisms/ClientAIButton/ClientAIButton.js +0 -26
- package/lib/components/organisms/ClientAIButton/index.js +0 -2
- package/lib/hooks/useRecentClientsSearch.js +0 -176
- package/lib/services/maia/RecentClients/getRecentClients.js +0 -43
- package/lib/services/maia/RecentClients/index.js +0 -6
- package/lib/types/Client.js +0 -2
|
@@ -14,7 +14,7 @@ import { MAIAInput } from '../../atoms/MAIAInput';
|
|
|
14
14
|
import { useGlobalContext } from '../../../context/global-context';
|
|
15
15
|
import { useT } from '../../../hooks/useT';
|
|
16
16
|
import { EVENTS, useEvent } from '../../../hooks/useEvent';
|
|
17
|
-
import { StyledChatFooter } from './styles';
|
|
17
|
+
import { StyledChatFooter, SCFooterActionsTasksContainer, SCFooterActionChip } from './styles';
|
|
18
18
|
import { CsvFileIcon, MDFileIcon, DocFileIcon, DocxFileIcon, TextFileIcon, PdfFileIcon, ImageFileIcon, XlsxFileIcon, XlsFileIcon, Mp3FileIcon, WavFileIcon, FlacFileIcon, M4aFileIcon, Mp4FileIcon, OgaFileIcon, OggFileIcon, WebmFileIcon } from '../../atoms/icons';
|
|
19
19
|
import { ImagePreview } from '../../atoms/ImagePreview/ImagePreview';
|
|
20
20
|
import { preprocessImageForBackend } from '../../../utils/imagePreprocessor';
|
|
@@ -49,12 +49,15 @@ export function ChatFooter(_ref) {
|
|
|
49
49
|
isWriting = _ref.isWriting,
|
|
50
50
|
onStopGeneration = _ref.onStopGeneration,
|
|
51
51
|
chatId = _ref.chatId,
|
|
52
|
-
newChatKey = _ref.newChatKey
|
|
52
|
+
newChatKey = _ref.newChatKey,
|
|
53
|
+
_ref$showActionsTasks = _ref.showActionsTasksChips,
|
|
54
|
+
showActionsTasksChips = _ref$showActionsTasks === void 0 ? false : _ref$showActionsTasks;
|
|
53
55
|
var _useGlobalContext = useGlobalContext(),
|
|
54
56
|
project = _useGlobalContext.project,
|
|
55
57
|
agent = _useGlobalContext.agent,
|
|
56
58
|
chipsProject = _useGlobalContext.chipsProject,
|
|
57
|
-
|
|
59
|
+
section = _useGlobalContext.section,
|
|
60
|
+
task = _useGlobalContext.task;
|
|
58
61
|
var _useT = useT(),
|
|
59
62
|
t = _useT.t;
|
|
60
63
|
var event = useEvent();
|
|
@@ -92,18 +95,33 @@ export function ChatFooter(_ref) {
|
|
|
92
95
|
var chipItems = useMemo(function () {
|
|
93
96
|
if (items) return items;
|
|
94
97
|
var tempItems = [];
|
|
95
|
-
if (
|
|
96
|
-
tempItems.push(client.name);
|
|
97
|
-
} else if (chipsProject) {
|
|
98
|
+
if (chipsProject) {
|
|
98
99
|
if (chipsProject.clientName) tempItems.push(chipsProject.clientName);
|
|
99
100
|
if (chipsProject.projectName) tempItems.push(chipsProject.projectName);
|
|
101
|
+
if (chipsProject.taskName) tempItems.push(chipsProject.taskName);
|
|
100
102
|
} else {
|
|
101
103
|
var _project$client;
|
|
102
104
|
if (project !== null && project !== void 0 && (_project$client = project.client) !== null && _project$client !== void 0 && _project$client.name) tempItems.push(project.client.name);
|
|
103
105
|
if (project !== null && project !== void 0 && project.name) tempItems.push(project.name);
|
|
106
|
+
if (section === 'actionsTasks' && task !== null && task !== void 0 && task.name) tempItems.push(task.name);
|
|
104
107
|
}
|
|
105
108
|
return tempItems;
|
|
106
|
-
}, [items, project, chipsProject,
|
|
109
|
+
}, [items, project, chipsProject, section, task === null || task === void 0 ? void 0 : task.name]);
|
|
110
|
+
var actionsTasksItems = useMemo(function () {
|
|
111
|
+
return [{
|
|
112
|
+
id: 'actionsTasks-messagesSummary',
|
|
113
|
+
label: t('homeMenu.actionsTasks.messagesSummary', 'Resumir los mensajes de la tarea seleccionada')
|
|
114
|
+
}, {
|
|
115
|
+
id: 'actionsTasks-assignees',
|
|
116
|
+
label: t('homeMenu.actionsTasks.assignees', 'Analizar los colaboradores asignados a la tarea')
|
|
117
|
+
}, {
|
|
118
|
+
id: 'actionsTasks-hours',
|
|
119
|
+
label: t('homeMenu.actionsTasks.hours', 'Comparar estimación vs horas cargadas en la tarea')
|
|
120
|
+
}, {
|
|
121
|
+
id: 'actionsTasks-dependencies',
|
|
122
|
+
label: t('homeMenu.actionsTasks.dependencies', 'Revisar dependencias, retrabajos o bloqueos de la tarea')
|
|
123
|
+
}];
|
|
124
|
+
}, [t]);
|
|
107
125
|
var onChange = function onChange() {
|
|
108
126
|
if (reportedEvent.current) return;
|
|
109
127
|
event(EVENTS.pmAiTypedText, {
|
|
@@ -112,11 +130,17 @@ export function ChatFooter(_ref) {
|
|
|
112
130
|
reportedEvent.current = true;
|
|
113
131
|
};
|
|
114
132
|
var handleSendMessage = function handleSendMessage(message, newAttachments) {
|
|
133
|
+
var _newAttachments$lengt;
|
|
115
134
|
event(EVENTS.aiChatSend, {
|
|
116
135
|
agent_type: agent === null || agent === void 0 ? void 0 : agent.type,
|
|
117
136
|
agent_id: agent === null || agent === void 0 ? void 0 : agent.id,
|
|
118
137
|
agent_name: agent === null || agent === void 0 ? void 0 : agent.name
|
|
119
138
|
});
|
|
139
|
+
console.info('[Maia][Footer] sendMessage', {
|
|
140
|
+
section: section,
|
|
141
|
+
messagePreview: message.slice(0, 80),
|
|
142
|
+
attachmentsCount: (_newAttachments$lengt = newAttachments === null || newAttachments === void 0 ? void 0 : newAttachments.length) !== null && _newAttachments$lengt !== void 0 ? _newAttachments$lengt : 0
|
|
143
|
+
});
|
|
120
144
|
onSendMessage(message, newAttachments);
|
|
121
145
|
setAttachments([]);
|
|
122
146
|
};
|
|
@@ -231,6 +255,21 @@ export function ChatFooter(_ref) {
|
|
|
231
255
|
return /*#__PURE__*/_jsxs(StyledChatFooter, {
|
|
232
256
|
children: [!!chipItems.length && isMAIA && !loadingMessages && /*#__PURE__*/_jsx(Chip, {
|
|
233
257
|
items: chipItems
|
|
258
|
+
}), section === 'actionsTasks' && showActionsTasksChips && isMAIA && !loadingMessages && /*#__PURE__*/_jsx(SCFooterActionsTasksContainer, {
|
|
259
|
+
"aria-label": t('homeMenu.actionsTasks.title'),
|
|
260
|
+
children: actionsTasksItems.map(function (item) {
|
|
261
|
+
return /*#__PURE__*/_jsx(SCFooterActionChip, {
|
|
262
|
+
type: "button",
|
|
263
|
+
onClick: function onClick() {
|
|
264
|
+
console.info('[Maia][Footer] actionsTasks chip click', {
|
|
265
|
+
id: item.id,
|
|
266
|
+
label: item.label
|
|
267
|
+
});
|
|
268
|
+
handleSendMessage(item.label);
|
|
269
|
+
},
|
|
270
|
+
children: item.label
|
|
271
|
+
}, item.id);
|
|
272
|
+
})
|
|
234
273
|
}), /*#__PURE__*/_jsx(MAIAInput, {
|
|
235
274
|
onSendMessage: handleSendMessage,
|
|
236
275
|
className: MODAL_ELEMENTS,
|
|
@@ -260,4 +299,4 @@ export function ChatFooter(_ref) {
|
|
|
260
299
|
})]
|
|
261
300
|
});
|
|
262
301
|
}
|
|
263
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VNZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJBdHRhY2giLCJNT0RBTF9FTEVNRU5UUyIsIkNoaXAiLCJNQUlBSW5wdXQiLCJ1c2VHbG9iYWxDb250ZXh0IiwidXNlVCIsIkVWRU5UUyIsInVzZUV2ZW50IiwiU3R5bGVkQ2hhdEZvb3RlciIsIkNzdkZpbGVJY29uIiwiTURGaWxlSWNvbiIsIkRvY0ZpbGVJY29uIiwiRG9jeEZpbGVJY29uIiwiVGV4dEZpbGVJY29uIiwiUGRmRmlsZUljb24iLCJJbWFnZUZpbGVJY29uIiwiWGxzeEZpbGVJY29uIiwiWGxzRmlsZUljb24iLCJNcDNGaWxlSWNvbiIsIldhdkZpbGVJY29uIiwiRmxhY0ZpbGVJY29uIiwiTTRhRmlsZUljb24iLCJNcDRGaWxlSWNvbiIsIk9nYUZpbGVJY29uIiwiT2dnRmlsZUljb24iLCJXZWJtRmlsZUljb24iLCJJbWFnZVByZXZpZXciLCJwcmVwcm9jZXNzSW1hZ2VGb3JCYWNrZW5kIiwidmFsaWRhdGVJc01haWEiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiSWNvbkJ5RmlsZVR5cGUiLCJDaGF0Rm9vdGVyIiwiX3JlZiIsIm9uU2VuZE1lc3NhZ2UiLCJpdGVtcyIsImRpc2FibGVkIiwiaXNTdHJlYW1pbmciLCJpc1dyaXRpbmciLCJvblN0b3BHZW5lcmF0aW9uIiwiY2hhdElkIiwibmV3Q2hhdEtleSIsIl91c2VHbG9iYWxDb250ZXh0IiwicHJvamVjdCIsImFnZW50IiwiY2hpcHNQcm9qZWN0IiwiY2xpZW50IiwiX3VzZVQiLCJ0IiwiZXZlbnQiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJhdHRhY2htZW50cyIsInNldEF0dGFjaG1lbnRzIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJsb2FkaW5nTWVzc2FnZXMiLCJzZXRMb2FkaW5nTWVzc2FnZXMiLCJyZXBvcnRlZEV2ZW50IiwiaGFuZGxlTG9hZGluZ01lc3NhZ2VzQ2hhbmdlIiwiZSIsImRldGFpbCIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJoYW5kbGVTZXNzaW9uQ2hhbmdlIiwiY2hpcEl0ZW1zIiwidGVtcEl0ZW1zIiwiZW50aXR5IiwibmFtZSIsInB1c2giLCJjbGllbnROYW1lIiwicHJvamVjdE5hbWUiLCJfcHJvamVjdCRjbGllbnQiLCJvbkNoYW5nZSIsImN1cnJlbnQiLCJwbUFpVHlwZWRUZXh0IiwiYWdlbnRfdHlwZSIsInR5cGUiLCJoYW5kbGVTZW5kTWVzc2FnZSIsIm1lc3NhZ2UiLCJuZXdBdHRhY2htZW50cyIsImFpQ2hhdFNlbmQiLCJhZ2VudF9pZCIsImlkIiwiYWdlbnRfbmFtZSIsImhhbmRsZUZpbGVBdHRhY2giLCJfcmVmMiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwiZmlsZSIsIl9maWxlTmFtZVBhcnRzJHBvcCIsImZpbGVOYW1lUGFydHMiLCJmaWxlRXh0ZW5zaW9uIiwiaXNJbWFnZUJ5RXh0ZW5zaW9uIiwiaXNJbWFnZUJ5TWltZSIsImlzSW1hZ2UiLCJleHRlbnNpb25Ub0ljb24iLCJpY29uIiwiZXh0ZW5zaW9uVG9NaW1lVHlwZSIsIm1pbWVUeXBlQnlFeHRlbnNpb24iLCJwcm9jZXNzZWRGaWxlIiwiaW1hZ2VVcmwiLCJuZXdBdHRhY2htZW50IiwiX3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInNwbGl0IiwibGVuZ3RoIiwiY29uY2F0IiwicG9wIiwidG9Mb3dlckNhc2UiLCJpbmNsdWRlcyIsInN0YXJ0c1dpdGgiLCJjb2xvciIsIndpZHRoIiwiaGVpZ2h0Iiwic2VudCIsImNvbnNvbGUiLCJlcnJvciIsIlVSTCIsImNyZWF0ZU9iamVjdFVSTCIsInNyYyIsImFsdCIsImJvcmRlclJhZGl1cyIsIm9yaWdpbmFsRmlsZSIsInVuZGVmaW5lZCIsIkRhdGUiLCJub3ciLCJNYXRoIiwicmFuZG9tIiwic2l6ZSIsIl90b0NvbnN1bWFibGVBcnJheSIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwiaGFuZGxlRGVsZXRlQXR0YWNobWVudCIsImZpbGVJZCIsImZpbHRlciIsImF0dGFjaG1lbnQiLCJpc01BSUEiLCJjaGlsZHJlbiIsImNsYXNzTmFtZSIsInBsYWNlaG9sZGVyIiwiaW5wdXRfcGxhY2Vob2xkZXIiLCJvbkZpbGVBdHRhY2giLCJvbkRlbGV0ZUF0dGFjaG1lbnQiLCJhdHQiLCJtYXAiLCJOdW1iZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby11bmRlZiAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvcmVxdWlyZS1kZWZhdWx0LXByb3BzICovXG5pbXBvcnQgeyBSZWFjdE5vZGUsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQXR0YWNoIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQXR0YWNoJ1xuaW1wb3J0IHsgTU9EQUxfRUxFTUVOVFMgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VNb2RhbC91c2VNb2RhbCdcblxuaW1wb3J0IHsgQ2hpcCB9IGZyb20gJy4uLy4uL2F0b21zL0NoaXAnXG5pbXBvcnQgeyBNQUlBSW5wdXQgfSBmcm9tICcuLi8uLi9hdG9tcy9NQUlBSW5wdXQnXG5cbmltcG9ydCB7IHVzZUdsb2JhbENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgdXNlVCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVQnXG5pbXBvcnQgeyBFVkVOVFMsIHVzZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnXG5pbXBvcnQgeyBTdHlsZWRDaGF0Rm9vdGVyIH0gZnJvbSAnLi9zdHlsZXMnXG5pbXBvcnQge1xuICBDc3ZGaWxlSWNvbixcbiAgTURGaWxlSWNvbixcbiAgRG9jRmlsZUljb24sXG4gIERvY3hGaWxlSWNvbixcbiAgVGV4dEZpbGVJY29uLFxuICBQZGZGaWxlSWNvbixcbiAgSW1hZ2VGaWxlSWNvbixcbiAgWGxzeEZpbGVJY29uLFxuICBYbHNGaWxlSWNvbixcbiAgTXAzRmlsZUljb24sXG4gIFdhdkZpbGVJY29uLFxuICBGbGFjRmlsZUljb24sXG4gIE00YUZpbGVJY29uLFxuICBNcDRGaWxlSWNvbixcbiAgT2dhRmlsZUljb24sXG4gIE9nZ0ZpbGVJY29uLFxuICBXZWJtRmlsZUljb24sXG59IGZyb20gJy4uLy4uL2F0b21zL2ljb25zJ1xuaW1wb3J0IHsgSW1hZ2VQcmV2aWV3IH0gZnJvbSAnLi4vLi4vYXRvbXMvSW1hZ2VQcmV2aWV3L0ltYWdlUHJldmlldydcbmltcG9ydCB7IHByZXByb2Nlc3NJbWFnZUZvckJhY2tlbmQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9pbWFnZVByZXByb2Nlc3NvcidcbmltcG9ydCB7IHZhbGlkYXRlSXNNYWlhIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvdmFsaWRhdGVJc01haWEnXG5pbXBvcnQgeyBBZ2VudCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2FnZW50J1xuXG5leHBvcnQgdHlwZSBBdHRhY2htZW50RmlsZSA9IHtcbiAgZmlsZTogRmlsZVxuICBvcmlnaW5hbEZpbGU/OiBGaWxlXG4gIHVybF90aHVtYm5haWw/OiBzdHJpbmdcbiAgdXJsX29yaWdpbmFsPzogc3RyaW5nXG4gIHVybF9maWxlPzogc3RyaW5nXG4gIGlkOiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIHNpemU6IG51bWJlclxuICB0eXBlOiBzdHJpbmdcbiAgaWNvbj86IFJlYWN0Tm9kZVxuICBleHQ/OiBzdHJpbmdcbiAgc3RhdHVzPzogJ3BlbmRpbmcnIHwgJ3Byb2Nlc3NpbmcnIHwgJ2RvbmUnIHwgJ2ZhaWxlZCcgfCAnc3RhcnRlZCdcbn1cblxudHlwZSBDaGF0Rm9vdGVyUHJvcHMgPSB7XG4gIGl0ZW1zPzogc3RyaW5nW11cbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIGlzU3RyZWFtaW5nPzogYm9vbGVhblxuICBpc1dyaXRpbmc/OiBib29sZWFuXG4gIG9uU2VuZE1lc3NhZ2U6IChtZXNzYWdlOiBzdHJpbmcsIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXSkgPT4gdm9pZFxuICBvblN0b3BHZW5lcmF0aW9uPzogKCkgPT4gdm9pZFxuICBjaGF0SWQ/OiBzdHJpbmcgfCBudWxsXG4gIG5ld0NoYXRLZXk/OiBudW1iZXJcbn1cblxuZXhwb3J0IGNvbnN0IEljb25CeUZpbGVUeXBlID0ge1xuICAndGV4dC9wbGFpbic6IDxUZXh0RmlsZUljb24gLz4sXG4gICd0ZXh0L3gtbWFya2Rvd24nOiA8TURGaWxlSWNvbiAvPixcbiAgJ3RleHQvY3N2JzogPENzdkZpbGVJY29uIC8+LFxuICAnYXBwbGljYXRpb24vbXN3b3JkJzogPERvY0ZpbGVJY29uIC8+LFxuICAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQnOiA8RG9jeEZpbGVJY29uIC8+LFxuICAnYXBwbGljYXRpb24vcGRmJzogPFBkZkZpbGVJY29uIC8+LFxuICAnaW1hZ2UvcG5nJzogPEltYWdlRmlsZUljb24gLz4sXG4gICdpbWFnZS9qcGVnJzogPEltYWdlRmlsZUljb24gLz4sXG4gICdpbWFnZS9qcGcnOiA8SW1hZ2VGaWxlSWNvbiAvPixcbiAgJ2FwcGxpY2F0aW9uL3ZuZC5vcGVueG1sZm9ybWF0cy1vZmZpY2Vkb2N1bWVudC5zcHJlYWRzaGVldG1sLnNoZWV0JzogPFhsc3hGaWxlSWNvbiAvPixcbiAgJ2FwcGxpY2F0aW9uL3ZuZC5tcy1leGNlbCc6IDxYbHNGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL21wZWcnOiA8TXAzRmlsZUljb24gLz4sXG4gICdhdWRpby9mbGFjJzogPEZsYWNGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL21wNCc6IDxNcDRGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL200YSc6IDxNNGFGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL29nZyc6IDxPZ2dGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL29nYSc6IDxPZ2FGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL3dhdic6IDxXYXZGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL3dlYm0nOiA8V2VibUZpbGVJY29uIC8+LFxufVxuXG5leHBvcnQgZnVuY3Rpb24gQ2hhdEZvb3Rlcih7XG4gIG9uU2VuZE1lc3NhZ2UsXG4gIGl0ZW1zLFxuICBkaXNhYmxlZCxcbiAgaXNTdHJlYW1pbmcsXG4gIGlzV3JpdGluZyxcbiAgb25TdG9wR2VuZXJhdGlvbixcbiAgY2hhdElkLFxuICBuZXdDaGF0S2V5LFxufTogQ2hhdEZvb3RlclByb3BzKSB7XG4gIGNvbnN0IHsgcHJvamVjdCwgYWdlbnQsIGNoaXBzUHJvamVjdCwgY2xpZW50IH0gPSB1c2VHbG9iYWxDb250ZXh0KClcbiAgY29uc3QgeyB0IH0gPSB1c2VUKClcbiAgY29uc3QgZXZlbnQgPSB1c2VFdmVudCgpXG4gIGNvbnN0IFthdHRhY2htZW50cywgc2V0QXR0YWNobWVudHNdID0gdXNlU3RhdGU8QXR0YWNobWVudEZpbGVbXT4oW10pXG4gIGNvbnN0IFtsb2FkaW5nTWVzc2FnZXMsIHNldExvYWRpbmdNZXNzYWdlc10gPSB1c2VTdGF0ZShmYWxzZSlcblxuICBjb25zdCByZXBvcnRlZEV2ZW50ID0gdXNlUmVmKGZhbHNlKVxuXG4gIC8vIHVzZUVmZmVjdCB0byBsaXN0ZW4gbG9hZGluZ01lc3NhZ2VzXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlTG9hZGluZ01lc3NhZ2VzQ2hhbmdlID0gKGU6IEN1c3RvbUV2ZW50KSA9PiB7XG4gICAgICBzZXRMb2FkaW5nTWVzc2FnZXMoZS5kZXRhaWwubG9hZGluZ01lc3NhZ2VzKVxuICAgIH1cblxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYXQtbG9hZGluZy1tZXNzYWdlcy1jaGFuZ2VkJywgaGFuZGxlTG9hZGluZ01lc3NhZ2VzQ2hhbmdlIGFzIEV2ZW50TGlzdGVuZXIpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2hhdC1sb2FkaW5nLW1lc3NhZ2VzLWNoYW5nZWQnLCBoYW5kbGVMb2FkaW5nTWVzc2FnZXNDaGFuZ2UgYXMgRXZlbnRMaXN0ZW5lcilcbiAgICB9XG4gIH0sIFtdKVxuXG4gIC8vIENsZWFyIGF0dGFjaG1lbnRzIHdoZW4gc2Vzc2lvbiBjaGFuZ2VzICh1c2VyIHN3aXRjaGVzIHRvIGEgZGlmZmVyZW50IGNoYXQpXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlU2Vzc2lvbkNoYW5nZSA9ICgpID0+IHtcbiAgICAgIHNldEF0dGFjaG1lbnRzKFtdKVxuICAgIH1cblxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ2NoYXQtc2Vzc2lvbi1jaGFuZ2VkJywgaGFuZGxlU2Vzc2lvbkNoYW5nZSlcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdjaGF0LXNlc3Npb24tY2hhbmdlZCcsIGhhbmRsZVNlc3Npb25DaGFuZ2UpXG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCBjaGlwSXRlbXMgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoaXRlbXMpIHJldHVybiBpdGVtc1xuXG4gICAgY29uc3QgdGVtcEl0ZW1zOiBzdHJpbmdbXSA9IFtdXG5cbiAgICBpZiAoYWdlbnQ/LmVudGl0eSA9PT0gJ2NsaWVudCcgJiYgY2xpZW50Py5uYW1lKSB7XG4gICAgICB0ZW1wSXRlbXMucHVzaChjbGllbnQubmFtZSlcbiAgICB9IGVsc2UgaWYgKGNoaXBzUHJvamVjdCkge1xuICAgICAgaWYgKGNoaXBzUHJvamVjdC5jbGllbnROYW1lKSB0ZW1wSXRlbXMucHVzaChjaGlwc1Byb2plY3QuY2xpZW50TmFtZSlcbiAgICAgIGlmIChjaGlwc1Byb2plY3QucHJvamVjdE5hbWUpIHRlbXBJdGVtcy5wdXNoKGNoaXBzUHJvamVjdC5wcm9qZWN0TmFtZSlcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHByb2plY3Q/LmNsaWVudD8ubmFtZSkgdGVtcEl0ZW1zLnB1c2gocHJvamVjdC5jbGllbnQubmFtZSlcbiAgICAgIGlmIChwcm9qZWN0Py5uYW1lKSB0ZW1wSXRlbXMucHVzaChwcm9qZWN0Lm5hbWUpXG4gICAgfVxuXG4gICAgcmV0dXJuIHRlbXBJdGVtc1xuICB9LCBbaXRlbXMsIHByb2plY3QsIGNoaXBzUHJvamVjdCwgYWdlbnQ/LmVudGl0eSwgY2xpZW50XSlcblxuICBjb25zdCBvbkNoYW5nZSA9ICgpID0+IHtcbiAgICBpZiAocmVwb3J0ZWRFdmVudC5jdXJyZW50KSByZXR1cm5cbiAgICBldmVudChFVkVOVFMucG1BaVR5cGVkVGV4dCwge1xuICAgICAgYWdlbnRfdHlwZTogYWdlbnQ/LnR5cGUsXG4gICAgfSlcbiAgICByZXBvcnRlZEV2ZW50LmN1cnJlbnQgPSB0cnVlXG4gIH1cblxuICBjb25zdCBoYW5kbGVTZW5kTWVzc2FnZSA9IChtZXNzYWdlOiBzdHJpbmcsIG5ld0F0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXSkgPT4ge1xuICAgIGV2ZW50KEVWRU5UUy5haUNoYXRTZW5kLCB7XG4gICAgICBhZ2VudF90eXBlOiBhZ2VudD8udHlwZSxcbiAgICAgIGFnZW50X2lkOiBhZ2VudD8uaWQsXG4gICAgICBhZ2VudF9uYW1lOiBhZ2VudD8ubmFtZSxcbiAgICB9KVxuICAgIG9uU2VuZE1lc3NhZ2UobWVzc2FnZSwgbmV3QXR0YWNobWVudHMpXG4gICAgc2V0QXR0YWNobWVudHMoW10pXG4gIH1cblxuICBjb25zdCBoYW5kbGVGaWxlQXR0YWNoID0gYXN5bmMgKGZpbGU6IEZpbGUpID0+IHtcbiAgICBjb25zdCBmaWxlTmFtZVBhcnRzID0gZmlsZS5uYW1lLnNwbGl0KCcuJylcbiAgICBjb25zdCBmaWxlRXh0ZW5zaW9uID0gZmlsZU5hbWVQYXJ0cy5sZW5ndGggPiAxID8gYC4ke2ZpbGVOYW1lUGFydHMucG9wKCk/LnRvTG93ZXJDYXNlKCl9YCA6ICcnXG4gICAgY29uc3QgaXNJbWFnZUJ5RXh0ZW5zaW9uID0gWycucG5nJywgJy5qcGcnLCAnLmpwZWcnXS5pbmNsdWRlcyhmaWxlRXh0ZW5zaW9uKVxuICAgIGNvbnN0IGlzSW1hZ2VCeU1pbWUgPSBmaWxlLnR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJylcbiAgICBjb25zdCBpc0ltYWdlID0gaXNJbWFnZUJ5TWltZSAmJiBpc0ltYWdlQnlFeHRlbnNpb25cbiAgICAvLyBNYXBlbyBkZSBleHRlbnNpw7NuIGEgaWNvbm8gZGlyZWN0byBwYXJhIGNhc29zIGVzcGVjaWFsZXMgKGF1ZGlvL29nZyB5IGF1ZGlvL21wNClcbiAgICBjb25zdCBleHRlbnNpb25Ub0ljb246IFJlY29yZDxzdHJpbmcsIFJlYWN0Tm9kZT4gPSB7XG4gICAgICAnLm9nZyc6IDxPZ2dGaWxlSWNvbiAvPixcbiAgICAgICcub2dhJzogPE9nYUZpbGVJY29uIC8+LFxuICAgICAgJy5tcDQnOiA8TXA0RmlsZUljb24gLz4sXG4gICAgICAnLm00YSc6IDxNNGFGaWxlSWNvbiAvPixcbiAgICB9XG5cbiAgICBsZXQgaWNvbiA9IEljb25CeUZpbGVUeXBlW2ZpbGUudHlwZV1cblxuICAgIC8vIFNpIGVsIHRpcG8gZXMgYXVkaW8vb2dnIG8gYXVkaW8vbXA0LCB1c2FyIGxhIGV4dGVuc2nDs24gcGFyYSBkZXRlcm1pbmFyIGVsIGljb25vXG4gICAgaWYgKChmaWxlLnR5cGUgPT09ICdhdWRpby9vZ2cnIHx8IGZpbGUudHlwZSA9PT0gJ2F1ZGlvL21wNCcpICYmIGZpbGVFeHRlbnNpb24pIHtcbiAgICAgIGljb24gPSBleHRlbnNpb25Ub0ljb25bZmlsZUV4dGVuc2lvbl0gfHwgaWNvblxuICAgIH1cblxuICAgIGlmICghaWNvbikge1xuICAgICAgY29uc3QgZXh0ZW5zaW9uVG9NaW1lVHlwZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgICAgJy50eHQnOiAndGV4dC9wbGFpbicsXG4gICAgICAgICcubWQnOiAndGV4dC94LW1hcmtkb3duJyxcbiAgICAgICAgJy5jc3YnOiAndGV4dC9jc3YnLFxuICAgICAgICAnLmRvYyc6ICdhcHBsaWNhdGlvbi9tc3dvcmQnLFxuICAgICAgICAnLmRvY3gnOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQnLFxuICAgICAgICAnLnBkZic6ICdhcHBsaWNhdGlvbi9wZGYnLFxuICAgICAgICAnLnhsc3gnOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQnLFxuICAgICAgICAnLnhscyc6ICdhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwnLFxuICAgICAgICAnLmZsYWMnOiAnYXVkaW8vZmxhYycsXG4gICAgICAgICcubTRhJzogJ2F1ZGlvL200YScsXG4gICAgICAgICcubXAzJzogJ2F1ZGlvL21wZWcnLFxuICAgICAgICAnLm1wNCc6ICdhdWRpby9tcDQnLFxuICAgICAgICAnLm9nYSc6ICdhdWRpby9vZ2EnLFxuICAgICAgICAnLm9nZyc6ICdhdWRpby9vZ2cnLFxuICAgICAgICAnLndhdic6ICdhdWRpby93YXYnLFxuICAgICAgICAnLndlYm0nOiAnYXVkaW8vd2VibScsXG4gICAgICB9XG4gICAgICBjb25zdCBtaW1lVHlwZUJ5RXh0ZW5zaW9uID0gZXh0ZW5zaW9uVG9NaW1lVHlwZVtmaWxlRXh0ZW5zaW9uXVxuICAgICAgaWYgKG1pbWVUeXBlQnlFeHRlbnNpb24pIHtcbiAgICAgICAgaWNvbiA9IEljb25CeUZpbGVUeXBlW21pbWVUeXBlQnlFeHRlbnNpb25dXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpY29uID0gPEF0dGFjaCBjb2xvcj1cInJnYmEoMTM1LCA2NCwgMTkxLCAxKVwiIHdpZHRoPXsxOH0gaGVpZ2h0PXsxOH0gLz5cbiAgICAgIH1cbiAgICB9XG4gICAgbGV0IHByb2Nlc3NlZEZpbGUgPSBmaWxlXG5cbiAgICAvLyBTaSBlcyB1bmEgaW1hZ2VuLCBwcmUtcHJvY2VzYXJsYSBwYXJhIGVsIGJhY2tlbmRcbiAgICBpZiAoaXNJbWFnZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gUHJvY2VzYW5kbyBpbWFnZW5cbiAgICAgICAgcHJvY2Vzc2VkRmlsZSA9IGF3YWl0IHByZXByb2Nlc3NJbWFnZUZvckJhY2tlbmQoZmlsZSlcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHByZS1wcm9jZXNhbmRvIGltYWdlbjonLCBlcnJvcilcbiAgICAgICAgLy8gQ29udGludWFyIGNvbiBlbCBhcmNoaXZvIG9yaWdpbmFsIHNpIGhheSBlcnJvclxuICAgICAgfVxuXG4gICAgICBjb25zdCBpbWFnZVVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoZmlsZSlcblxuICAgICAgaWNvbiA9IDxJbWFnZVByZXZpZXcgc3JjPXtpbWFnZVVybH0gYWx0PXtmaWxlLm5hbWV9IHdpZHRoPVwiNjNweFwiIGhlaWdodD1cIjYzcHhcIiBib3JkZXJSYWRpdXM9XCI2cHhcIiAvPlxuICAgIH1cblxuICAgIGNvbnN0IG5ld0F0dGFjaG1lbnQ6IEF0dGFjaG1lbnRGaWxlID0ge1xuICAgICAgZmlsZTogcHJvY2Vzc2VkRmlsZSxcbiAgICAgIG9yaWdpbmFsRmlsZTogaXNJbWFnZSA/IGZpbGUgOiB1bmRlZmluZWQsXG4gICAgICBpZDogYCR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpfWAsXG4gICAgICBuYW1lOiBmaWxlLm5hbWUsXG4gICAgICBzaXplOiBwcm9jZXNzZWRGaWxlLnNpemUsXG4gICAgICB0eXBlOiBwcm9jZXNzZWRGaWxlLnR5cGUsXG4gICAgICBpY29uLFxuICAgIH1cblxuICAgIHNldEF0dGFjaG1lbnRzKHByZXYgPT4gWy4uLnByZXYsIG5ld0F0dGFjaG1lbnRdKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlRGVsZXRlQXR0YWNobWVudCA9IChmaWxlSWQ6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IG5ld0F0dGFjaG1lbnRzID0gYXR0YWNobWVudHMuZmlsdGVyKGF0dGFjaG1lbnQgPT4gYXR0YWNobWVudC5pZCAhPT0gZmlsZUlkKVxuICAgIHNldEF0dGFjaG1lbnRzKG5ld0F0dGFjaG1lbnRzKVxuICB9XG5cbiAgY29uc3QgaXNNQUlBID0gdmFsaWRhdGVJc01haWEoYWdlbnQgYXMgQWdlbnQpXG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQ2hhdEZvb3Rlcj5cbiAgICAgIHshIWNoaXBJdGVtcy5sZW5ndGggJiYgaXNNQUlBICYmICFsb2FkaW5nTWVzc2FnZXMgJiYgPENoaXAgaXRlbXM9e2NoaXBJdGVtc30gLz59XG4gICAgICA8TUFJQUlucHV0XG4gICAgICAgIG9uU2VuZE1lc3NhZ2U9e2hhbmRsZVNlbmRNZXNzYWdlfVxuICAgICAgICBjbGFzc05hbWU9e01PREFMX0VMRU1FTlRTfVxuICAgICAgICBkaXNhYmxlZD17ZGlzYWJsZWR9XG4gICAgICAgIHBsYWNlaG9sZGVyPXthZ2VudD8uaW5wdXRfcGxhY2Vob2xkZXIgfHwgdCgnY2hhdC5mb290ZXIucGxhY2Vob2xkZXInKX1cbiAgICAgICAgb25DaGFuZ2U9e29uQ2hhbmdlfVxuICAgICAgICBvbkZpbGVBdHRhY2g9e2hhbmRsZUZpbGVBdHRhY2h9XG4gICAgICAgIG9uRGVsZXRlQXR0YWNobWVudD17aGFuZGxlRGVsZXRlQXR0YWNobWVudH1cbiAgICAgICAgYXR0YWNobWVudHM9e2F0dGFjaG1lbnRzXG4gICAgICAgICAgLmZpbHRlcihhdHQgPT4gISFhdHQuZmlsZSlcbiAgICAgICAgICAubWFwKGF0dCA9PiAoe1xuICAgICAgICAgICAgZmlsZTogYXR0LmZpbGUhLFxuICAgICAgICAgICAgb3JpZ2luYWxGaWxlOiBhdHQub3JpZ2luYWxGaWxlLFxuICAgICAgICAgICAgaWQ6IGF0dC5pZCxcbiAgICAgICAgICAgIG5hbWU6IGF0dC5uYW1lLFxuICAgICAgICAgICAgc2l6ZTogdHlwZW9mIGF0dC5zaXplID09PSAnbnVtYmVyJyA/IGF0dC5zaXplIDogTnVtYmVyKGF0dC5zaXplKSB8fCAwLFxuICAgICAgICAgICAgdHlwZTogYXR0LnR5cGUsXG4gICAgICAgICAgICBpY29uOiBhdHQuaWNvbixcbiAgICAgICAgICB9KSl9XG4gICAgICAgIGlzU3RyZWFtaW5nPXtpc1N0cmVhbWluZ31cbiAgICAgICAgaXNXcml0aW5nPXtpc1dyaXRpbmd9XG4gICAgICAgIG9uU3RvcEdlbmVyYXRpb249e29uU3RvcEdlbmVyYXRpb259XG4gICAgICAgIGNoYXRJZD17Y2hhdElkIHx8IHVuZGVmaW5lZH1cbiAgICAgICAgbmV3Q2hhdEtleT17bmV3Q2hhdEtleX1cbiAgICAgIC8+XG4gICAgPC9TdHlsZWRDaGF0Rm9vdGVyPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7QUFBQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQW9CQSxPQUFPLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxFQUFFQyxTQUFTLFFBQVEsT0FBTztBQUN2RSxTQUFTQyxNQUFNLFFBQVEseUNBQXlDO0FBQ2hFLFNBQVNDLGNBQWMsUUFBUSxrQ0FBa0M7QUFFakUsU0FBU0MsSUFBSSxRQUFRLGtCQUFrQjtBQUN2QyxTQUFTQyxTQUFTLFFBQVEsdUJBQXVCO0FBRWpELFNBQVNDLGdCQUFnQixRQUFRLGlDQUFpQztBQUNsRSxTQUFTQyxJQUFJLFFBQVEscUJBQXFCO0FBQzFDLFNBQVNDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLHlCQUF5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
|
|
302
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VNZW1vIiwidXNlUmVmIiwidXNlU3RhdGUiLCJ1c2VFZmZlY3QiLCJBdHRhY2giLCJNT0RBTF9FTEVNRU5UUyIsIkNoaXAiLCJNQUlBSW5wdXQiLCJ1c2VHbG9iYWxDb250ZXh0IiwidXNlVCIsIkVWRU5UUyIsInVzZUV2ZW50IiwiU3R5bGVkQ2hhdEZvb3RlciIsIlNDRm9vdGVyQWN0aW9uc1Rhc2tzQ29udGFpbmVyIiwiU0NGb290ZXJBY3Rpb25DaGlwIiwiQ3N2RmlsZUljb24iLCJNREZpbGVJY29uIiwiRG9jRmlsZUljb24iLCJEb2N4RmlsZUljb24iLCJUZXh0RmlsZUljb24iLCJQZGZGaWxlSWNvbiIsIkltYWdlRmlsZUljb24iLCJYbHN4RmlsZUljb24iLCJYbHNGaWxlSWNvbiIsIk1wM0ZpbGVJY29uIiwiV2F2RmlsZUljb24iLCJGbGFjRmlsZUljb24iLCJNNGFGaWxlSWNvbiIsIk1wNEZpbGVJY29uIiwiT2dhRmlsZUljb24iLCJPZ2dGaWxlSWNvbiIsIldlYm1GaWxlSWNvbiIsIkltYWdlUHJldmlldyIsInByZXByb2Nlc3NJbWFnZUZvckJhY2tlbmQiLCJ2YWxpZGF0ZUlzTWFpYSIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJJY29uQnlGaWxlVHlwZSIsIkNoYXRGb290ZXIiLCJfcmVmIiwib25TZW5kTWVzc2FnZSIsIml0ZW1zIiwiZGlzYWJsZWQiLCJpc1N0cmVhbWluZyIsImlzV3JpdGluZyIsIm9uU3RvcEdlbmVyYXRpb24iLCJjaGF0SWQiLCJuZXdDaGF0S2V5IiwiX3JlZiRzaG93QWN0aW9uc1Rhc2tzIiwic2hvd0FjdGlvbnNUYXNrc0NoaXBzIiwiX3VzZUdsb2JhbENvbnRleHQiLCJwcm9qZWN0IiwiYWdlbnQiLCJjaGlwc1Byb2plY3QiLCJzZWN0aW9uIiwidGFzayIsIl91c2VUIiwidCIsImV2ZW50IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiYXR0YWNobWVudHMiLCJzZXRBdHRhY2htZW50cyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwibG9hZGluZ01lc3NhZ2VzIiwic2V0TG9hZGluZ01lc3NhZ2VzIiwicmVwb3J0ZWRFdmVudCIsImhhbmRsZUxvYWRpbmdNZXNzYWdlc0NoYW5nZSIsImUiLCJkZXRhaWwiLCJkb2N1bWVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiaGFuZGxlU2Vzc2lvbkNoYW5nZSIsImNoaXBJdGVtcyIsInRlbXBJdGVtcyIsImNsaWVudE5hbWUiLCJwdXNoIiwicHJvamVjdE5hbWUiLCJ0YXNrTmFtZSIsIl9wcm9qZWN0JGNsaWVudCIsImNsaWVudCIsIm5hbWUiLCJhY3Rpb25zVGFza3NJdGVtcyIsImlkIiwibGFiZWwiLCJvbkNoYW5nZSIsImN1cnJlbnQiLCJwbUFpVHlwZWRUZXh0IiwiYWdlbnRfdHlwZSIsInR5cGUiLCJoYW5kbGVTZW5kTWVzc2FnZSIsIm1lc3NhZ2UiLCJuZXdBdHRhY2htZW50cyIsIl9uZXdBdHRhY2htZW50cyRsZW5ndCIsImFpQ2hhdFNlbmQiLCJhZ2VudF9pZCIsImFnZW50X25hbWUiLCJjb25zb2xlIiwiaW5mbyIsIm1lc3NhZ2VQcmV2aWV3Iiwic2xpY2UiLCJhdHRhY2htZW50c0NvdW50IiwibGVuZ3RoIiwiaGFuZGxlRmlsZUF0dGFjaCIsIl9yZWYyIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJmaWxlIiwiX2ZpbGVOYW1lUGFydHMkcG9wIiwiZmlsZU5hbWVQYXJ0cyIsImZpbGVFeHRlbnNpb24iLCJpc0ltYWdlQnlFeHRlbnNpb24iLCJpc0ltYWdlQnlNaW1lIiwiaXNJbWFnZSIsImV4dGVuc2lvblRvSWNvbiIsImljb24iLCJleHRlbnNpb25Ub01pbWVUeXBlIiwibWltZVR5cGVCeUV4dGVuc2lvbiIsInByb2Nlc3NlZEZpbGUiLCJpbWFnZVVybCIsIm5ld0F0dGFjaG1lbnQiLCJfdCIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0Iiwic3BsaXQiLCJjb25jYXQiLCJwb3AiLCJ0b0xvd2VyQ2FzZSIsImluY2x1ZGVzIiwic3RhcnRzV2l0aCIsImNvbG9yIiwid2lkdGgiLCJoZWlnaHQiLCJzZW50IiwiZXJyb3IiLCJVUkwiLCJjcmVhdGVPYmplY3RVUkwiLCJzcmMiLCJhbHQiLCJib3JkZXJSYWRpdXMiLCJvcmlnaW5hbEZpbGUiLCJ1bmRlZmluZWQiLCJEYXRlIiwibm93IiwiTWF0aCIsInJhbmRvbSIsInNpemUiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJzdG9wIiwiX3giLCJhcHBseSIsImFyZ3VtZW50cyIsImhhbmRsZURlbGV0ZUF0dGFjaG1lbnQiLCJmaWxlSWQiLCJmaWx0ZXIiLCJhdHRhY2htZW50IiwiaXNNQUlBIiwiY2hpbGRyZW4iLCJtYXAiLCJpdGVtIiwib25DbGljayIsImNsYXNzTmFtZSIsInBsYWNlaG9sZGVyIiwiaW5wdXRfcGxhY2Vob2xkZXIiLCJvbkZpbGVBdHRhY2giLCJvbkRlbGV0ZUF0dGFjaG1lbnQiLCJhdHQiLCJOdW1iZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgKi9cbi8qIGVzbGludC1kaXNhYmxlIG5vLXVudXNlZC12YXJzICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby11bmRlZiAqL1xuLyogZXNsaW50LWRpc2FibGUgcmVhY3QvcmVxdWlyZS1kZWZhdWx0LXByb3BzICovXG5pbXBvcnQgeyBSZWFjdE5vZGUsIHVzZU1lbW8sIHVzZVJlZiwgdXNlU3RhdGUsIHVzZUVmZmVjdCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgQXR0YWNoIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQXR0YWNoJ1xuaW1wb3J0IHsgTU9EQUxfRUxFTUVOVFMgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VNb2RhbC91c2VNb2RhbCdcblxuaW1wb3J0IHsgQ2hpcCB9IGZyb20gJy4uLy4uL2F0b21zL0NoaXAnXG5pbXBvcnQgeyBNQUlBSW5wdXQgfSBmcm9tICcuLi8uLi9hdG9tcy9NQUlBSW5wdXQnXG5cbmltcG9ydCB7IHVzZUdsb2JhbENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgdXNlVCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVQnXG5pbXBvcnQgeyBFVkVOVFMsIHVzZUV2ZW50IH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnXG5pbXBvcnQgeyBTdHlsZWRDaGF0Rm9vdGVyLCBTQ0Zvb3RlckFjdGlvbnNUYXNrc0NvbnRhaW5lciwgU0NGb290ZXJBY3Rpb25DaGlwIH0gZnJvbSAnLi9zdHlsZXMnXG5pbXBvcnQge1xuICBDc3ZGaWxlSWNvbixcbiAgTURGaWxlSWNvbixcbiAgRG9jRmlsZUljb24sXG4gIERvY3hGaWxlSWNvbixcbiAgVGV4dEZpbGVJY29uLFxuICBQZGZGaWxlSWNvbixcbiAgSW1hZ2VGaWxlSWNvbixcbiAgWGxzeEZpbGVJY29uLFxuICBYbHNGaWxlSWNvbixcbiAgTXAzRmlsZUljb24sXG4gIFdhdkZpbGVJY29uLFxuICBGbGFjRmlsZUljb24sXG4gIE00YUZpbGVJY29uLFxuICBNcDRGaWxlSWNvbixcbiAgT2dhRmlsZUljb24sXG4gIE9nZ0ZpbGVJY29uLFxuICBXZWJtRmlsZUljb24sXG59IGZyb20gJy4uLy4uL2F0b21zL2ljb25zJ1xuaW1wb3J0IHsgSW1hZ2VQcmV2aWV3IH0gZnJvbSAnLi4vLi4vYXRvbXMvSW1hZ2VQcmV2aWV3L0ltYWdlUHJldmlldydcbmltcG9ydCB7IHByZXByb2Nlc3NJbWFnZUZvckJhY2tlbmQgfSBmcm9tICcuLi8uLi8uLi91dGlscy9pbWFnZVByZXByb2Nlc3NvcidcbmltcG9ydCB7IHZhbGlkYXRlSXNNYWlhIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvdXRpbHMvdmFsaWRhdGVJc01haWEnXG5pbXBvcnQgeyBBZ2VudCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2FnZW50J1xuXG5leHBvcnQgdHlwZSBBdHRhY2htZW50RmlsZSA9IHtcbiAgZmlsZTogRmlsZVxuICBvcmlnaW5hbEZpbGU/OiBGaWxlXG4gIHVybF90aHVtYm5haWw/OiBzdHJpbmdcbiAgdXJsX29yaWdpbmFsPzogc3RyaW5nXG4gIHVybF9maWxlPzogc3RyaW5nXG4gIGlkOiBzdHJpbmdcbiAgbmFtZTogc3RyaW5nXG4gIHNpemU6IG51bWJlclxuICB0eXBlOiBzdHJpbmdcbiAgaWNvbj86IFJlYWN0Tm9kZVxuICBleHQ/OiBzdHJpbmdcbiAgc3RhdHVzPzogJ3BlbmRpbmcnIHwgJ3Byb2Nlc3NpbmcnIHwgJ2RvbmUnIHwgJ2ZhaWxlZCcgfCAnc3RhcnRlZCdcbn1cblxudHlwZSBDaGF0Rm9vdGVyUHJvcHMgPSB7XG4gIGl0ZW1zPzogc3RyaW5nW11cbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIGlzU3RyZWFtaW5nPzogYm9vbGVhblxuICBpc1dyaXRpbmc/OiBib29sZWFuXG4gIG9uU2VuZE1lc3NhZ2U6IChtZXNzYWdlOiBzdHJpbmcsIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXSkgPT4gdm9pZFxuICBvblN0b3BHZW5lcmF0aW9uPzogKCkgPT4gdm9pZFxuICBjaGF0SWQ/OiBzdHJpbmcgfCBudWxsXG4gIG5ld0NoYXRLZXk/OiBudW1iZXJcbiAgLyoqIEN1YW5kbyB0cnVlLCBtdWVzdHJhIGxvcyBjaGlwcyBkZSBhY3Rpb25zVGFza3MgKHNvbG8gZW4gdmlzdGEgY2hhdCwgbm8gZW4gaG9tZSkgKi9cbiAgc2hvd0FjdGlvbnNUYXNrc0NoaXBzPzogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgSWNvbkJ5RmlsZVR5cGUgPSB7XG4gICd0ZXh0L3BsYWluJzogPFRleHRGaWxlSWNvbiAvPixcbiAgJ3RleHQveC1tYXJrZG93bic6IDxNREZpbGVJY29uIC8+LFxuICAndGV4dC9jc3YnOiA8Q3N2RmlsZUljb24gLz4sXG4gICdhcHBsaWNhdGlvbi9tc3dvcmQnOiA8RG9jRmlsZUljb24gLz4sXG4gICdhcHBsaWNhdGlvbi92bmQub3BlbnhtbGZvcm1hdHMtb2ZmaWNlZG9jdW1lbnQud29yZHByb2Nlc3NpbmdtbC5kb2N1bWVudCc6IDxEb2N4RmlsZUljb24gLz4sXG4gICdhcHBsaWNhdGlvbi9wZGYnOiA8UGRmRmlsZUljb24gLz4sXG4gICdpbWFnZS9wbmcnOiA8SW1hZ2VGaWxlSWNvbiAvPixcbiAgJ2ltYWdlL2pwZWcnOiA8SW1hZ2VGaWxlSWNvbiAvPixcbiAgJ2ltYWdlL2pwZyc6IDxJbWFnZUZpbGVJY29uIC8+LFxuICAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQnOiA8WGxzeEZpbGVJY29uIC8+LFxuICAnYXBwbGljYXRpb24vdm5kLm1zLWV4Y2VsJzogPFhsc0ZpbGVJY29uIC8+LFxuICAnYXVkaW8vbXBlZyc6IDxNcDNGaWxlSWNvbiAvPixcbiAgJ2F1ZGlvL2ZsYWMnOiA8RmxhY0ZpbGVJY29uIC8+LFxuICAnYXVkaW8vbXA0JzogPE1wNEZpbGVJY29uIC8+LFxuICAnYXVkaW8vbTRhJzogPE00YUZpbGVJY29uIC8+LFxuICAnYXVkaW8vb2dnJzogPE9nZ0ZpbGVJY29uIC8+LFxuICAnYXVkaW8vb2dhJzogPE9nYUZpbGVJY29uIC8+LFxuICAnYXVkaW8vd2F2JzogPFdhdkZpbGVJY29uIC8+LFxuICAnYXVkaW8vd2VibSc6IDxXZWJtRmlsZUljb24gLz4sXG59XG5cbmV4cG9ydCBmdW5jdGlvbiBDaGF0Rm9vdGVyKHtcbiAgb25TZW5kTWVzc2FnZSxcbiAgaXRlbXMsXG4gIGRpc2FibGVkLFxuICBpc1N0cmVhbWluZyxcbiAgaXNXcml0aW5nLFxuICBvblN0b3BHZW5lcmF0aW9uLFxuICBjaGF0SWQsXG4gIG5ld0NoYXRLZXksXG4gIHNob3dBY3Rpb25zVGFza3NDaGlwcyA9IGZhbHNlLFxufTogQ2hhdEZvb3RlclByb3BzKSB7XG4gIGNvbnN0IHsgcHJvamVjdCwgYWdlbnQsIGNoaXBzUHJvamVjdCwgc2VjdGlvbiwgdGFzayB9ID0gdXNlR2xvYmFsQ29udGV4dCgpXG4gIGNvbnN0IHsgdCB9ID0gdXNlVCgpXG4gIGNvbnN0IGV2ZW50ID0gdXNlRXZlbnQoKVxuICBjb25zdCBbYXR0YWNobWVudHMsIHNldEF0dGFjaG1lbnRzXSA9IHVzZVN0YXRlPEF0dGFjaG1lbnRGaWxlW10+KFtdKVxuICBjb25zdCBbbG9hZGluZ01lc3NhZ2VzLCBzZXRMb2FkaW5nTWVzc2FnZXNdID0gdXNlU3RhdGUoZmFsc2UpXG5cbiAgY29uc3QgcmVwb3J0ZWRFdmVudCA9IHVzZVJlZihmYWxzZSlcblxuICAvLyB1c2VFZmZlY3QgdG8gbGlzdGVuIGxvYWRpbmdNZXNzYWdlc1xuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZUxvYWRpbmdNZXNzYWdlc0NoYW5nZSA9IChlOiBDdXN0b21FdmVudCkgPT4ge1xuICAgICAgc2V0TG9hZGluZ01lc3NhZ2VzKGUuZGV0YWlsLmxvYWRpbmdNZXNzYWdlcylcbiAgICB9XG5cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjaGF0LWxvYWRpbmctbWVzc2FnZXMtY2hhbmdlZCcsIGhhbmRsZUxvYWRpbmdNZXNzYWdlc0NoYW5nZSBhcyBFdmVudExpc3RlbmVyKVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ2NoYXQtbG9hZGluZy1tZXNzYWdlcy1jaGFuZ2VkJywgaGFuZGxlTG9hZGluZ01lc3NhZ2VzQ2hhbmdlIGFzIEV2ZW50TGlzdGVuZXIpXG4gICAgfVxuICB9LCBbXSlcblxuICAvLyBDbGVhciBhdHRhY2htZW50cyB3aGVuIHNlc3Npb24gY2hhbmdlcyAodXNlciBzd2l0Y2hlcyB0byBhIGRpZmZlcmVudCBjaGF0KVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZVNlc3Npb25DaGFuZ2UgPSAoKSA9PiB7XG4gICAgICBzZXRBdHRhY2htZW50cyhbXSlcbiAgICB9XG5cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdjaGF0LXNlc3Npb24tY2hhbmdlZCcsIGhhbmRsZVNlc3Npb25DaGFuZ2UpXG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignY2hhdC1zZXNzaW9uLWNoYW5nZWQnLCBoYW5kbGVTZXNzaW9uQ2hhbmdlKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgY29uc3QgY2hpcEl0ZW1zID0gdXNlTWVtbygoKSA9PiB7XG4gICAgaWYgKGl0ZW1zKSByZXR1cm4gaXRlbXNcblxuICAgIGNvbnN0IHRlbXBJdGVtczogc3RyaW5nW10gPSBbXVxuXG4gICAgaWYgKGNoaXBzUHJvamVjdCkge1xuICAgICAgaWYgKGNoaXBzUHJvamVjdC5jbGllbnROYW1lKSB0ZW1wSXRlbXMucHVzaChjaGlwc1Byb2plY3QuY2xpZW50TmFtZSlcbiAgICAgIGlmIChjaGlwc1Byb2plY3QucHJvamVjdE5hbWUpIHRlbXBJdGVtcy5wdXNoKGNoaXBzUHJvamVjdC5wcm9qZWN0TmFtZSlcbiAgICAgIGlmIChjaGlwc1Byb2plY3QudGFza05hbWUpIHRlbXBJdGVtcy5wdXNoKGNoaXBzUHJvamVjdC50YXNrTmFtZSlcbiAgICB9IGVsc2Uge1xuICAgICAgaWYgKHByb2plY3Q/LmNsaWVudD8ubmFtZSkgdGVtcEl0ZW1zLnB1c2gocHJvamVjdC5jbGllbnQubmFtZSlcbiAgICAgIGlmIChwcm9qZWN0Py5uYW1lKSB0ZW1wSXRlbXMucHVzaChwcm9qZWN0Lm5hbWUpXG4gICAgICBpZiAoc2VjdGlvbiA9PT0gJ2FjdGlvbnNUYXNrcycgJiYgdGFzaz8ubmFtZSkgdGVtcEl0ZW1zLnB1c2godGFzay5uYW1lKVxuICAgIH1cblxuICAgIHJldHVybiB0ZW1wSXRlbXNcbiAgfSwgW2l0ZW1zLCBwcm9qZWN0LCBjaGlwc1Byb2plY3QsIHNlY3Rpb24sIHRhc2s/Lm5hbWVdKVxuXG4gIGNvbnN0IGFjdGlvbnNUYXNrc0l0ZW1zID0gdXNlTWVtbyhcbiAgICAoKSA9PiBbXG4gICAgICB7XG4gICAgICAgIGlkOiAnYWN0aW9uc1Rhc2tzLW1lc3NhZ2VzU3VtbWFyeScsXG4gICAgICAgIGxhYmVsOiB0KCdob21lTWVudS5hY3Rpb25zVGFza3MubWVzc2FnZXNTdW1tYXJ5JywgJ1Jlc3VtaXIgbG9zIG1lbnNhamVzIGRlIGxhIHRhcmVhIHNlbGVjY2lvbmFkYScpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdhY3Rpb25zVGFza3MtYXNzaWduZWVzJyxcbiAgICAgICAgbGFiZWw6IHQoJ2hvbWVNZW51LmFjdGlvbnNUYXNrcy5hc3NpZ25lZXMnLCAnQW5hbGl6YXIgbG9zIGNvbGFib3JhZG9yZXMgYXNpZ25hZG9zIGEgbGEgdGFyZWEnKSxcbiAgICAgIH0sXG4gICAgICB7XG4gICAgICAgIGlkOiAnYWN0aW9uc1Rhc2tzLWhvdXJzJyxcbiAgICAgICAgbGFiZWw6IHQoJ2hvbWVNZW51LmFjdGlvbnNUYXNrcy5ob3VycycsICdDb21wYXJhciBlc3RpbWFjacOzbiB2cyBob3JhcyBjYXJnYWRhcyBlbiBsYSB0YXJlYScpLFxuICAgICAgfSxcbiAgICAgIHtcbiAgICAgICAgaWQ6ICdhY3Rpb25zVGFza3MtZGVwZW5kZW5jaWVzJyxcbiAgICAgICAgbGFiZWw6IHQoJ2hvbWVNZW51LmFjdGlvbnNUYXNrcy5kZXBlbmRlbmNpZXMnLCAnUmV2aXNhciBkZXBlbmRlbmNpYXMsIHJldHJhYmFqb3MgbyBibG9xdWVvcyBkZSBsYSB0YXJlYScpLFxuICAgICAgfSxcbiAgICBdLFxuICAgIFt0XVxuICApXG5cbiAgY29uc3Qgb25DaGFuZ2UgPSAoKSA9PiB7XG4gICAgaWYgKHJlcG9ydGVkRXZlbnQuY3VycmVudCkgcmV0dXJuXG4gICAgZXZlbnQoRVZFTlRTLnBtQWlUeXBlZFRleHQsIHtcbiAgICAgIGFnZW50X3R5cGU6IGFnZW50Py50eXBlLFxuICAgIH0pXG4gICAgcmVwb3J0ZWRFdmVudC5jdXJyZW50ID0gdHJ1ZVxuICB9XG5cbiAgY29uc3QgaGFuZGxlU2VuZE1lc3NhZ2UgPSAobWVzc2FnZTogc3RyaW5nLCBuZXdBdHRhY2htZW50cz86IEF0dGFjaG1lbnRGaWxlW10pID0+IHtcbiAgICBldmVudChFVkVOVFMuYWlDaGF0U2VuZCwge1xuICAgICAgYWdlbnRfdHlwZTogYWdlbnQ/LnR5cGUsXG4gICAgICBhZ2VudF9pZDogYWdlbnQ/LmlkLFxuICAgICAgYWdlbnRfbmFtZTogYWdlbnQ/Lm5hbWUsXG4gICAgfSlcbiAgICBjb25zb2xlLmluZm8oJ1tNYWlhXVtGb290ZXJdIHNlbmRNZXNzYWdlJywge1xuICAgICAgc2VjdGlvbixcbiAgICAgIG1lc3NhZ2VQcmV2aWV3OiBtZXNzYWdlLnNsaWNlKDAsIDgwKSxcbiAgICAgIGF0dGFjaG1lbnRzQ291bnQ6IG5ld0F0dGFjaG1lbnRzPy5sZW5ndGggPz8gMCxcbiAgICB9KVxuICAgIG9uU2VuZE1lc3NhZ2UobWVzc2FnZSwgbmV3QXR0YWNobWVudHMpXG4gICAgc2V0QXR0YWNobWVudHMoW10pXG4gIH1cblxuICBjb25zdCBoYW5kbGVGaWxlQXR0YWNoID0gYXN5bmMgKGZpbGU6IEZpbGUpID0+IHtcbiAgICBjb25zdCBmaWxlTmFtZVBhcnRzID0gZmlsZS5uYW1lLnNwbGl0KCcuJylcbiAgICBjb25zdCBmaWxlRXh0ZW5zaW9uID0gZmlsZU5hbWVQYXJ0cy5sZW5ndGggPiAxID8gYC4ke2ZpbGVOYW1lUGFydHMucG9wKCk/LnRvTG93ZXJDYXNlKCl9YCA6ICcnXG4gICAgY29uc3QgaXNJbWFnZUJ5RXh0ZW5zaW9uID0gWycucG5nJywgJy5qcGcnLCAnLmpwZWcnXS5pbmNsdWRlcyhmaWxlRXh0ZW5zaW9uKVxuICAgIGNvbnN0IGlzSW1hZ2VCeU1pbWUgPSBmaWxlLnR5cGUuc3RhcnRzV2l0aCgnaW1hZ2UvJylcbiAgICBjb25zdCBpc0ltYWdlID0gaXNJbWFnZUJ5TWltZSAmJiBpc0ltYWdlQnlFeHRlbnNpb25cbiAgICAvLyBNYXBlbyBkZSBleHRlbnNpw7NuIGEgaWNvbm8gZGlyZWN0byBwYXJhIGNhc29zIGVzcGVjaWFsZXMgKGF1ZGlvL29nZyB5IGF1ZGlvL21wNClcbiAgICBjb25zdCBleHRlbnNpb25Ub0ljb246IFJlY29yZDxzdHJpbmcsIFJlYWN0Tm9kZT4gPSB7XG4gICAgICAnLm9nZyc6IDxPZ2dGaWxlSWNvbiAvPixcbiAgICAgICcub2dhJzogPE9nYUZpbGVJY29uIC8+LFxuICAgICAgJy5tcDQnOiA8TXA0RmlsZUljb24gLz4sXG4gICAgICAnLm00YSc6IDxNNGFGaWxlSWNvbiAvPixcbiAgICB9XG5cbiAgICBsZXQgaWNvbiA9IEljb25CeUZpbGVUeXBlW2ZpbGUudHlwZV1cblxuICAgIC8vIFNpIGVsIHRpcG8gZXMgYXVkaW8vb2dnIG8gYXVkaW8vbXA0LCB1c2FyIGxhIGV4dGVuc2nDs24gcGFyYSBkZXRlcm1pbmFyIGVsIGljb25vXG4gICAgaWYgKChmaWxlLnR5cGUgPT09ICdhdWRpby9vZ2cnIHx8IGZpbGUudHlwZSA9PT0gJ2F1ZGlvL21wNCcpICYmIGZpbGVFeHRlbnNpb24pIHtcbiAgICAgIGljb24gPSBleHRlbnNpb25Ub0ljb25bZmlsZUV4dGVuc2lvbl0gfHwgaWNvblxuICAgIH1cblxuICAgIGlmICghaWNvbikge1xuICAgICAgY29uc3QgZXh0ZW5zaW9uVG9NaW1lVHlwZTogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAgICAgJy50eHQnOiAndGV4dC9wbGFpbicsXG4gICAgICAgICcubWQnOiAndGV4dC94LW1hcmtkb3duJyxcbiAgICAgICAgJy5jc3YnOiAndGV4dC9jc3YnLFxuICAgICAgICAnLmRvYyc6ICdhcHBsaWNhdGlvbi9tc3dvcmQnLFxuICAgICAgICAnLmRvY3gnOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LndvcmRwcm9jZXNzaW5nbWwuZG9jdW1lbnQnLFxuICAgICAgICAnLnBkZic6ICdhcHBsaWNhdGlvbi9wZGYnLFxuICAgICAgICAnLnhsc3gnOiAnYXBwbGljYXRpb24vdm5kLm9wZW54bWxmb3JtYXRzLW9mZmljZWRvY3VtZW50LnNwcmVhZHNoZWV0bWwuc2hlZXQnLFxuICAgICAgICAnLnhscyc6ICdhcHBsaWNhdGlvbi92bmQubXMtZXhjZWwnLFxuICAgICAgICAnLmZsYWMnOiAnYXVkaW8vZmxhYycsXG4gICAgICAgICcubTRhJzogJ2F1ZGlvL200YScsXG4gICAgICAgICcubXAzJzogJ2F1ZGlvL21wZWcnLFxuICAgICAgICAnLm1wNCc6ICdhdWRpby9tcDQnLFxuICAgICAgICAnLm9nYSc6ICdhdWRpby9vZ2EnLFxuICAgICAgICAnLm9nZyc6ICdhdWRpby9vZ2cnLFxuICAgICAgICAnLndhdic6ICdhdWRpby93YXYnLFxuICAgICAgICAnLndlYm0nOiAnYXVkaW8vd2VibScsXG4gICAgICB9XG4gICAgICBjb25zdCBtaW1lVHlwZUJ5RXh0ZW5zaW9uID0gZXh0ZW5zaW9uVG9NaW1lVHlwZVtmaWxlRXh0ZW5zaW9uXVxuICAgICAgaWYgKG1pbWVUeXBlQnlFeHRlbnNpb24pIHtcbiAgICAgICAgaWNvbiA9IEljb25CeUZpbGVUeXBlW21pbWVUeXBlQnlFeHRlbnNpb25dXG4gICAgICB9IGVsc2Uge1xuICAgICAgICBpY29uID0gPEF0dGFjaCBjb2xvcj1cInJnYmEoMTM1LCA2NCwgMTkxLCAxKVwiIHdpZHRoPXsxOH0gaGVpZ2h0PXsxOH0gLz5cbiAgICAgIH1cbiAgICB9XG4gICAgbGV0IHByb2Nlc3NlZEZpbGUgPSBmaWxlXG5cbiAgICAvLyBTaSBlcyB1bmEgaW1hZ2VuLCBwcmUtcHJvY2VzYXJsYSBwYXJhIGVsIGJhY2tlbmRcbiAgICBpZiAoaXNJbWFnZSkge1xuICAgICAgdHJ5IHtcbiAgICAgICAgLy8gUHJvY2VzYW5kbyBpbWFnZW5cbiAgICAgICAgcHJvY2Vzc2VkRmlsZSA9IGF3YWl0IHByZXByb2Nlc3NJbWFnZUZvckJhY2tlbmQoZmlsZSlcbiAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHByZS1wcm9jZXNhbmRvIGltYWdlbjonLCBlcnJvcilcbiAgICAgICAgLy8gQ29udGludWFyIGNvbiBlbCBhcmNoaXZvIG9yaWdpbmFsIHNpIGhheSBlcnJvclxuICAgICAgfVxuXG4gICAgICBjb25zdCBpbWFnZVVybCA9IFVSTC5jcmVhdGVPYmplY3RVUkwoZmlsZSlcblxuICAgICAgaWNvbiA9IDxJbWFnZVByZXZpZXcgc3JjPXtpbWFnZVVybH0gYWx0PXtmaWxlLm5hbWV9IHdpZHRoPVwiNjNweFwiIGhlaWdodD1cIjYzcHhcIiBib3JkZXJSYWRpdXM9XCI2cHhcIiAvPlxuICAgIH1cblxuICAgIGNvbnN0IG5ld0F0dGFjaG1lbnQ6IEF0dGFjaG1lbnRGaWxlID0ge1xuICAgICAgZmlsZTogcHJvY2Vzc2VkRmlsZSxcbiAgICAgIG9yaWdpbmFsRmlsZTogaXNJbWFnZSA/IGZpbGUgOiB1bmRlZmluZWQsXG4gICAgICBpZDogYCR7RGF0ZS5ub3coKX0tJHtNYXRoLnJhbmRvbSgpfWAsXG4gICAgICBuYW1lOiBmaWxlLm5hbWUsXG4gICAgICBzaXplOiBwcm9jZXNzZWRGaWxlLnNpemUsXG4gICAgICB0eXBlOiBwcm9jZXNzZWRGaWxlLnR5cGUsXG4gICAgICBpY29uLFxuICAgIH1cblxuICAgIHNldEF0dGFjaG1lbnRzKHByZXYgPT4gWy4uLnByZXYsIG5ld0F0dGFjaG1lbnRdKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlRGVsZXRlQXR0YWNobWVudCA9IChmaWxlSWQ6IHN0cmluZykgPT4ge1xuICAgIGNvbnN0IG5ld0F0dGFjaG1lbnRzID0gYXR0YWNobWVudHMuZmlsdGVyKGF0dGFjaG1lbnQgPT4gYXR0YWNobWVudC5pZCAhPT0gZmlsZUlkKVxuICAgIHNldEF0dGFjaG1lbnRzKG5ld0F0dGFjaG1lbnRzKVxuICB9XG5cbiAgY29uc3QgaXNNQUlBID0gdmFsaWRhdGVJc01haWEoYWdlbnQgYXMgQWdlbnQpXG5cbiAgcmV0dXJuIChcbiAgICA8U3R5bGVkQ2hhdEZvb3Rlcj5cbiAgICAgIHshIWNoaXBJdGVtcy5sZW5ndGggJiYgaXNNQUlBICYmICFsb2FkaW5nTWVzc2FnZXMgJiYgPENoaXAgaXRlbXM9e2NoaXBJdGVtc30gLz59XG4gICAgICB7c2VjdGlvbiA9PT0gJ2FjdGlvbnNUYXNrcycgJiYgc2hvd0FjdGlvbnNUYXNrc0NoaXBzICYmIGlzTUFJQSAmJiAhbG9hZGluZ01lc3NhZ2VzICYmIChcbiAgICAgICAgPFNDRm9vdGVyQWN0aW9uc1Rhc2tzQ29udGFpbmVyIGFyaWEtbGFiZWw9e3QoJ2hvbWVNZW51LmFjdGlvbnNUYXNrcy50aXRsZScpfT5cbiAgICAgICAgICB7YWN0aW9uc1Rhc2tzSXRlbXMubWFwKGl0ZW0gPT4gKFxuICAgICAgICAgICAgPFNDRm9vdGVyQWN0aW9uQ2hpcFxuICAgICAgICAgICAgICBrZXk9e2l0ZW0uaWR9XG4gICAgICAgICAgICAgIHR5cGU9XCJidXR0b25cIlxuICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiB7XG4gICAgICAgICAgICAgICAgY29uc29sZS5pbmZvKCdbTWFpYV1bRm9vdGVyXSBhY3Rpb25zVGFza3MgY2hpcCBjbGljaycsIHtcbiAgICAgICAgICAgICAgICAgIGlkOiBpdGVtLmlkLFxuICAgICAgICAgICAgICAgICAgbGFiZWw6IGl0ZW0ubGFiZWwsXG4gICAgICAgICAgICAgICAgfSlcbiAgICAgICAgICAgICAgICBoYW5kbGVTZW5kTWVzc2FnZShpdGVtLmxhYmVsKVxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7aXRlbS5sYWJlbH1cbiAgICAgICAgICAgIDwvU0NGb290ZXJBY3Rpb25DaGlwPlxuICAgICAgICAgICkpfVxuICAgICAgICA8L1NDRm9vdGVyQWN0aW9uc1Rhc2tzQ29udGFpbmVyPlxuICAgICAgKX1cbiAgICAgIDxNQUlBSW5wdXRcbiAgICAgICAgb25TZW5kTWVzc2FnZT17aGFuZGxlU2VuZE1lc3NhZ2V9XG4gICAgICAgIGNsYXNzTmFtZT17TU9EQUxfRUxFTUVOVFN9XG4gICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgcGxhY2Vob2xkZXI9e2FnZW50Py5pbnB1dF9wbGFjZWhvbGRlciB8fCB0KCdjaGF0LmZvb3Rlci5wbGFjZWhvbGRlcicpfVxuICAgICAgICBvbkNoYW5nZT17b25DaGFuZ2V9XG4gICAgICAgIG9uRmlsZUF0dGFjaD17aGFuZGxlRmlsZUF0dGFjaH1cbiAgICAgICAgb25EZWxldGVBdHRhY2htZW50PXtoYW5kbGVEZWxldGVBdHRhY2htZW50fVxuICAgICAgICBhdHRhY2htZW50cz17YXR0YWNobWVudHNcbiAgICAgICAgICAuZmlsdGVyKGF0dCA9PiAhIWF0dC5maWxlKVxuICAgICAgICAgIC5tYXAoYXR0ID0+ICh7XG4gICAgICAgICAgICBmaWxlOiBhdHQuZmlsZSEsXG4gICAgICAgICAgICBvcmlnaW5hbEZpbGU6IGF0dC5vcmlnaW5hbEZpbGUsXG4gICAgICAgICAgICBpZDogYXR0LmlkLFxuICAgICAgICAgICAgbmFtZTogYXR0Lm5hbWUsXG4gICAgICAgICAgICBzaXplOiB0eXBlb2YgYXR0LnNpemUgPT09ICdudW1iZXInID8gYXR0LnNpemUgOiBOdW1iZXIoYXR0LnNpemUpIHx8IDAsXG4gICAgICAgICAgICB0eXBlOiBhdHQudHlwZSxcbiAgICAgICAgICAgIGljb246IGF0dC5pY29uLFxuICAgICAgICAgIH0pKX1cbiAgICAgICAgaXNTdHJlYW1pbmc9e2lzU3RyZWFtaW5nfVxuICAgICAgICBpc1dyaXRpbmc9e2lzV3JpdGluZ31cbiAgICAgICAgb25TdG9wR2VuZXJhdGlvbj17b25TdG9wR2VuZXJhdGlvbn1cbiAgICAgICAgY2hhdElkPXtjaGF0SWQgfHwgdW5kZWZpbmVkfVxuICAgICAgICBuZXdDaGF0S2V5PXtuZXdDaGF0S2V5fVxuICAg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
|
|
@@ -1,6 +1,15 @@
|
|
|
1
1
|
import styled from 'styled-components';
|
|
2
|
+
import { GLOBAL_COLORS } from '../../../styles/config';
|
|
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;"]);
|
|
6
|
-
|
|
7
|
+
export var SCFooterActionsTasksContainer = styled.div.withConfig({
|
|
8
|
+
displayName: "styles__SCFooterActionsTasksContainer",
|
|
9
|
+
componentId: "sc-qhd26v-1"
|
|
10
|
+
})(["display:flex;flex-direction:row;align-items:center;gap:10px;width:100%;max-height:32px;overflow-y:hidden;overflow-x:auto;box-sizing:border-box;padding:4px 0 4px;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,0.08) transparent;&::-webkit-scrollbar{height:2px;}&::-webkit-scrollbar-track{background:transparent;}&::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.08);border-radius:999px;}&:hover::-webkit-scrollbar-thumb{background:rgba(0,0,0,0.3);}"]);
|
|
11
|
+
export var SCFooterActionChip = styled.button.withConfig({
|
|
12
|
+
displayName: "styles__SCFooterActionChip",
|
|
13
|
+
componentId: "sc-qhd26v-2"
|
|
14
|
+
})(["border-radius:999px;border:1px solid rgba(242,242,242,1);padding:4px 10px;background-color:#ffffff;font-size:11px;line-height:1.2;color:#666666;white-space:nowrap;display:inline-flex;align-items:center;cursor:pointer;transition:background-color 0.15s ease-in-out,color 0.15s ease-in-out,box-shadow 0.15s ease-in-out;&:hover{background-color:", ";color:#333333;box-shadow:0 0 0 1px ", ";}&:focus-visible{outline:2px solid ", ";outline-offset:2px;}&:disabled{cursor:default;opacity:0.6;}"], GLOBAL_COLORS.light, GLOBAL_COLORS.background, GLOBAL_COLORS.primary);
|
|
15
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJHTE9CQUxfQ09MT1JTIiwiU3R5bGVkQ2hhdEZvb3RlciIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiU0NGb290ZXJBY3Rpb25zVGFza3NDb250YWluZXIiLCJTQ0Zvb3RlckFjdGlvbkNoaXAiLCJidXR0b24iLCJsaWdodCIsImJhY2tncm91bmQiLCJwcmltYXJ5Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRGb290ZXIvc3R5bGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBzdHlsZWQgZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5pbXBvcnQgeyBHTE9CQUxfQ09MT1JTIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL2NvbmZpZydcblxuZXhwb3J0IGNvbnN0IFN0eWxlZENoYXRGb290ZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDZweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogODY0cHg7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ0Zvb3RlckFjdGlvbnNUYXNrc0NvbnRhaW5lciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTBweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC1oZWlnaHQ6IDMycHg7XG4gIG92ZXJmbG93LXk6IGhpZGRlbjtcbiAgb3ZlcmZsb3cteDogYXV0bztcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogNHB4IDAgNHB4O1xuXG4gIHNjcm9sbGJhci13aWR0aDogdGhpbjtcbiAgc2Nyb2xsYmFyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMDgpIHRyYW5zcGFyZW50O1xuXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyIHtcbiAgICBoZWlnaHQ6IDJweDtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRyYWNrIHtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgfVxuXG4gICY6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDAsIDAsIDAuMDgpO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICB9XG5cbiAgJjpob3Zlcjo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NGb290ZXJBY3Rpb25DaGlwID0gc3R5bGVkLmJ1dHRvbmBcbiAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjQyLCAyNDIsIDI0MiwgMSk7XG4gIHBhZGRpbmc6IDRweCAxMHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICBmb250LXNpemU6IDExcHg7XG4gIGxpbmUtaGVpZ2h0OiAxLjI7XG4gIGNvbG9yOiAjNjY2NjY2O1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICB0cmFuc2l0aW9uOlxuICAgIGJhY2tncm91bmQtY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsXG4gICAgY29sb3IgMC4xNXMgZWFzZS1pbi1vdXQsXG4gICAgYm94LXNoYWRvdyAwLjE1cyBlYXNlLWluLW91dDtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke0dMT0JBTF9DT0xPUlMubGlnaHR9O1xuICAgIGNvbG9yOiAjMzMzMzMzO1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDFweCAke0dMT0JBTF9DT0xPUlMuYmFja2dyb3VuZH07XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAke0dMT0JBTF9DT0xPUlMucHJpbWFyeX07XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBvcGFjaXR5OiAwLjY7XG4gIH1cbmBcbiJdLCJtYXBwaW5ncyI6IkFBQUEsT0FBT0EsTUFBTSxNQUFNLG1CQUFtQjtBQUN0QyxTQUFTQyxhQUFhLFFBQVEsd0JBQXdCO0FBRXRELE9BQU8sSUFBTUMsZ0JBQWdCLEdBQUdGLE1BQU0sQ0FBQ0csR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDhFQU16QztBQUVELE9BQU8sSUFBTUMsNkJBQTZCLEdBQUdQLE1BQU0sQ0FBQ0csR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLHdjQStCdEQ7QUFFRCxPQUFPLElBQU1FLGtCQUFrQixHQUFHUixNQUFNLENBQUNTLE1BQU0sQ0FBQUwsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw4ZUFrQnZCTCxhQUFhLENBQUNTLEtBQUssRUFFZlQsYUFBYSxDQUFDVSxVQUFVLEVBSTNCVixhQUFhLENBQUNXLE9BQU8sQ0FRN0MiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -42,12 +42,6 @@ var actions = {
|
|
|
42
42
|
return /*#__PURE__*/_jsx(DeleteQuestionModal, _objectSpread({}, props));
|
|
43
43
|
}
|
|
44
44
|
};
|
|
45
|
-
|
|
46
|
-
/** Abrevia "especialista"/"especialist" → "Esp." (ES/PT) y "specialist" → "Spec." (EN) en el nombre del agente. */
|
|
47
|
-
function abbreviateSpecialistInAgentName(agentName) {
|
|
48
|
-
if (!agentName || typeof agentName !== 'string') return agentName;
|
|
49
|
-
return agentName.replace(/\b(especialista|especialist)\b/gi, 'Esp.').replace(/\bspecialist\b/gi, 'Spec.');
|
|
50
|
-
}
|
|
51
45
|
var ListHistoryChat = function ListHistoryChat(_ref) {
|
|
52
46
|
var chat = _ref.chat,
|
|
53
47
|
_onClick = _ref.onClick,
|
|
@@ -122,7 +116,7 @@ var ListHistoryChat = function ListHistoryChat(_ref) {
|
|
|
122
116
|
children: chat.emoji
|
|
123
117
|
}), /*#__PURE__*/_jsxs(SCLHCWrapperAgentText, {
|
|
124
118
|
ref: agentRef,
|
|
125
|
-
children: [chat.
|
|
119
|
+
children: [chat.agent, chat.projectName && " - ".concat(chat.projectName)]
|
|
126
120
|
})]
|
|
127
121
|
})
|
|
128
122
|
})]
|
|
@@ -614,4 +608,4 @@ export var Sidebar = function Sidebar(_ref3) {
|
|
|
614
608
|
})]
|
|
615
609
|
});
|
|
616
610
|
};
|
|
617
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsIkNoZXZyb25Eb3VibGVMZWZ0IiwiQ1VCdXR0b24iLCJNZW51RG90cyIsIlBlbmNpbCIsIlRyYXNoIiwiVG9vbHRpcCIsIkVtcHR5SGlzdG9yeUljb24iLCJ1c2VSZXNpemVMaXN0ZW5lciIsInVzZUNoYXRzIiwiTG9hZGVyIiwiRXJyb3JTdGF0ZSIsIk1BSUFJY29uIiwiTmV3Q2hhdCIsIkVWRU5UUyIsInVzZVQiLCJPcHRpb25JdGVtIiwiRWRpdFF1ZXN0aW9uTW9kYWwiLCJEZWxldGVRdWVzdGlvbk1vZGFsIiwiRXJyb3JJY29uIiwidXNlVXNlciIsIk9uYm9hcmRpbmdNb2RhbEJ1dHRvbiIsIkZlZWRiYWNrQnV0dG9uIiwidXNlR2xvYmFsQ29udGV4dCIsIlNDTEhDV3JhcHBlciIsIlNDTEhDV3JhcHBlckFnZW50IiwiU0NMSENXcmFwcGVyQWdlbnRUZXh0IiwiU0NMSENXcmFwcGVyQnV0dG9uQWN0aW9ucyIsIlNDTEhDV3JhcHBlckNvbnRlbnQiLCJTQ0xIQ1dyYXBwZXJUaXRsZSIsIlNDU1dyYXBwZXJDb2xsYXBzZWRCdXR0b24iLCJTQ1NXcmFwcGVyTmV3Q2hhdEljb24iLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJhY3Rpb25zIiwiZWRpdCIsInByb3BzIiwiX29iamVjdFNwcmVhZCIsImRlbGV0ZSIsImFiYnJldmlhdGVTcGVjaWFsaXN0SW5BZ2VudE5hbWUiLCJhZ2VudE5hbWUiLCJyZXBsYWNlIiwiTGlzdEhpc3RvcnlDaGF0IiwiX3JlZiIsImNoYXQiLCJvbkNsaWNrIiwiaXNNb2RhbE9wZW4iLCJvbk9wZW5Nb2RhbCIsIm9uQ2xvc2VNb2RhbCIsImhhbmRsZXJzIiwiaXNTZWxlY3RlZCIsInRleHRSZWYiLCJhZ2VudFJlZiIsIl91c2VSZXNpemVMaXN0ZW5lciIsInRpdGxlIiwic2hvd1Rvb2x0aXAiLCJfdXNlUmVzaXplTGlzdGVuZXIyIiwiYWdlbnQiLCJzaG93VG9vbHRpcEFnZW50IiwiX3VzZVQiLCJ0IiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiYWN0aW9uIiwic2V0QWN0aW9uIiwibWVudUl0ZW1zIiwibGFiZWwiLCJvbkNsaWNrSXRlbSIsImNoYXRJZCIsIkljb24iLCJldmVudEtleSIsInBtQWlNZW51RWRpdCIsInBtQWlNZW51RGVsZXRlIiwiaGFuZGxlQ29uZmlybUFjdGlvbiIsImNoYXREYXRhIiwiaGFuZGxlVXBkYXRlQ2hhdCIsImhhbmRsZURlbGV0ZUNoYXQiLCJjaGlsZHJlbiIsImUiLCJzdG9wUHJvcGFnYXRpb24iLCJyZWYiLCJwcm9qZWN0TmFtZSIsImNvbmNhdCIsImFnZW50VHlwZSIsIndpZHRoIiwiaGVpZ2h0Iiwic3R5bGUiLCJmb250U2l6ZSIsImVtb2ppIiwiaWNvbk9ubHkiLCJzaXplIiwidmFyaWFudCIsImV2ZW50IiwiaWQiLCJwb3NpdGlvbiIsInRvcCIsInJpZ2h0IiwiYmFja2dyb3VuZENvbG9yIiwiekluZGV4IiwiZGlzcGxheSIsImZsZXhEaXJlY3Rpb24iLCJib3JkZXJSYWRpdXMiLCJib3JkZXIiLCJtaW5XaWR0aCIsIm1hcCIsIl9yZWYyIiwic2Vzc2lvbkV4dGVybmFsSWQiLCJvbkNsb3NlIiwiaGFuZGxlU2V0SXNPcGVuTW9kYWwiLCJTaWRlYmFyIiwiX3JlZjMiLCJfdXNlciRwZXJtaXNzaW9ucyIsIm9uR29Ub0NoYXQiLCJfcmVmMyRvbkVycm9yIiwib25FcnJvciIsImhhbmRsZUdvVG9Ib21lIiwic2hvd05ld0NoYXQiLCJyZWZldGNoQ2hhdHMiLCJoYW5kbGVTZXRSZWZldGNoQ2hhdHMiLCJoYXNFcnJvciIsInJlc2V0U2VsZWN0ZWRDaGF0UmVmIiwiX3VzZVQyIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJpc09wZW4iLCJzZXRJc09wZW4iLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImlzT3Blbk1vZGFsIiwic2V0SXNPcGVuTW9kYWwiLCJfdXNlU3RhdGU3IiwiX3VzZVN0YXRlOCIsInNlbGVjdGVkQ2hhdCIsInNldFNlbGVjdGVkQ2hhdCIsImNoYXRzRmV0Y2hlZFJlZiIsImNoYXRzQ29udGFpbmVyUmVmIiwidXNlciIsIl91c2VHbG9iYWxDb250ZXh0Iiwic2VsZWN0ZWRBZ2VudCIsIl91c2VDaGF0cyIsImxvYWRpbmdDaGF0cyIsImNoYXRzIiwiZGVsZXRlQ2hhdCIsInVwZGF0ZUNoYXQiLCJmZXRjaENoYXRzIiwibGltaXQiLCJvZmZzZXQiLCJoYXNNb3JlQ2hhdHMiLCJsb2FkTW9yZUNoYXRzIiwiaXNMb2FkaW5nTW9yZUNoYXRzIiwidXNlclBlcm1pc3Npb25zIiwicGVybWlzc2lvbnMiLCJhaV9hZ2VudHMiLCJjdXJyZW50IiwiX3JlZjQiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0Iiwic3RvcCIsIl94IiwiYXBwbHkiLCJhcmd1bWVudHMiLCJoYW5kbGVPcGVuTW9kYWwiLCJoYW5kbGVDbG9zZU1vZGFsIiwiaGFuZGxlQ2xpY2tPdXRzaWRlIiwidGFyZ2V0IiwiY2xvc2VzdCIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJoYW5kbGVUb2dnbGVTaWRlYmFyIiwiaGFuZGxlU2Nyb2xsIiwiX2NoYXRzQ29udGFpbmVyUmVmJGN1Iiwic2Nyb2xsVG9wIiwic2Nyb2xsSGVpZ2h0IiwiY2xpZW50SGVpZ2h0IiwiaXNBdEJvdHRvbSIsImNvbnRhaW5lciIsImhhbmRsZU5ld0NoYXQiLCJfcmVmNSIsIl9jYWxsZWUyIiwiX2NvbnRleHQyIiwiaGFuZGxlUmVmZXRjaFNlc3Npb24iLCJzaG93TmV3Q2hhdEJ1dHRvbiIsInZpZXciLCJpc19kZWxldGVkIiwiaGFzX25vdF9wZXJtaXNzaW9ucyIsImhhc19ub3RfYWNjZXNzIiwicGFkZGluZyIsIm1heFdpZHRoIiwidHJhbnNpdGlvbiIsImJvcmRlclRvcFJpZ2h0UmFkaXVzIiwiYm9yZGVyQm90dG9tUmlnaHRSYWRpdXMiLCJnYXAiLCJvdmVyZmxvdyIsIm92ZXJzY3JvbGxCZWhhdmlvciIsImFsaWduSXRlbXMiLCJqdXN0aWZ5Q29udGVudCIsImNvbG9yIiwiZmxleEdyb3ciLCJmb250V2VpZ2h0IiwibGluZUhlaWdodCIsInBhZGRpbmdMZWZ0Iiwib3ZlcmZsb3dZIiwib3ZlcnNjcm9sbEJlaGF2aW9yWSIsImxlbmd0aCIsIm1heEhlaWdodCIsInRleHRBbGlnbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9TaWRlYmFyL1NpZGViYXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIG5vLXBhcmFtLXJlYXNzaWduICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tc2hhZG93ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBuby1uZXN0ZWQtdGVybmFyeSAqL1xuLyogZXNsaW50LWRpc2FibGUganN4LWExMXkvY2xpY2stZXZlbnRzLWhhdmUta2V5LWV2ZW50cyAqL1xuLyogZXNsaW50LWRpc2FibGUganN4LWExMXkvbm8tc3RhdGljLWVsZW1lbnQtaW50ZXJhY3Rpb25zICovXG5pbXBvcnQgeyBNdXRhYmxlUmVmT2JqZWN0LCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IENoZXZyb25Eb3VibGVMZWZ0IH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ2hldnJvbkRvdWJsZUxlZnQnXG5pbXBvcnQgeyBDVUJ1dHRvbiB9IGZyb20gJ0Bwcm9qZWN0Y29yL2J1dHRvbi9saWIvY29tcG9uZW50cy9DVUJ1dHRvbidcbmltcG9ydCB7IE1lbnVEb3RzIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvTWVudURvdHMnXG5pbXBvcnQgeyBQZW5jaWwgfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9QZW5jaWwnXG5pbXBvcnQgeyBUcmFzaCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL1RyYXNoJ1xuXG5pbXBvcnQgeyBUb29sdGlwIH0gZnJvbSAnQHByb2plY3Rjb3IvdG9vbHRpcHYyL2xpYi9jb21wb25lbnRzL1Rvb2x0aXAnXG5cbmltcG9ydCB7IEVtcHR5SGlzdG9yeUljb24gfSBmcm9tICcuLi8uLi9hdG9tcy9pY29ucy9FbXB0eUhpc3RvcnknXG5pbXBvcnQgeyB1c2VSZXNpemVMaXN0ZW5lciB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVJlc2l6ZSdcbmltcG9ydCB7IHVzZUNoYXRzIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlQ2hhdHMnXG5pbXBvcnQgeyBMb2FkZXIgfSBmcm9tICcuLi8uLi9hdG9tcy9Mb2FkZXInXG5pbXBvcnQgeyBFcnJvclN0YXRlLCBNQUlBSWNvbiwgTmV3Q2hhdCB9IGZyb20gJy4uLy4uL2F0b21zL2ljb25zJ1xuaW1wb3J0IHsgRVZFTlRTIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnXG5pbXBvcnQgeyB1c2VUIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlVCdcbmltcG9ydCB7IE9wdGlvbkl0ZW0gfSBmcm9tICcuLi8uLi9hdG9tcy9DYXJkTWVudS9DYXJkTWVudSdcbmltcG9ydCB7IEVkaXRRdWVzdGlvbk1vZGFsIH0gZnJvbSAnLi4vLi4vb3JnYW5pc21zL0VkaXRRdWVzdGlvbk1vZGFsJ1xuaW1wb3J0IHsgRGVsZXRlUXVlc3Rpb25Nb2RhbCB9IGZyb20gJy4uLy4uL29yZ2FuaXNtcy9EZWxldGVRdWVzdGlvbk1vZGFsJ1xuaW1wb3J0IHsgRXJyb3JJY29uIH0gZnJvbSAnLi4vLi4vYXRvbXMvaWNvbnMvRXJyb3JJY29uJ1xuaW1wb3J0IHsgdXNlVXNlciB9IGZyb20gJy4uLy4uLy4uL2NvbnRleHQvY29yLXVzZXInXG5pbXBvcnQgeyBPbmJvYXJkaW5nTW9kYWxCdXR0b24gfSBmcm9tICcuLi8uLi9hdG9tcy9PbmJvYXJkaW5nTW9kYWxCdXR0b24nXG5pbXBvcnQgeyBGZWVkYmFja0J1dHRvbiB9IGZyb20gJy4uLy4uL2F0b21zL0ZlZWRiYWNrQnV0dG9uJ1xuaW1wb3J0IHsgdXNlR2xvYmFsQ29udGV4dCB9IGZyb20gJy4uLy4uLy4uL2NvbnRleHQvZ2xvYmFsLWNvbnRleHQnXG5pbXBvcnQge1xuICBTQ0xIQ1dyYXBwZXIsXG4gIFNDTEhDV3JhcHBlckFnZW50LFxuICBTQ0xIQ1dyYXBwZXJBZ2VudFRleHQsXG4gIFNDTEhDV3JhcHBlckJ1dHRvbkFjdGlvbnMsXG4gIFNDTEhDV3JhcHBlckNvbnRlbnQsXG4gIFNDTEhDV3JhcHBlclRpdGxlLFxuICBTQ1NXcmFwcGVyQ29sbGFwc2VkQnV0dG9uLFxuICBTQ1NXcmFwcGVyTmV3Q2hhdEljb24sXG59IGZyb20gJy4vU2lkZWJhci5zdHlsZXMnXG5cbmNvbnN0IGFjdGlvbnMgPSB7XG4gIGVkaXQ6IChwcm9wczogYW55KSA9PiA8RWRpdFF1ZXN0aW9uTW9kYWwgey4uLnByb3BzfSAvPixcbiAgZGVsZXRlOiAocHJvcHM6IGFueSkgPT4gPERlbGV0ZVF1ZXN0aW9uTW9kYWwgey4uLnByb3BzfSAvPixcbn1cblxuLyoqIEFicmV2aWEgXCJlc3BlY2lhbGlzdGFcIi9cImVzcGVjaWFsaXN0XCIg4oaSIFwiRXNwLlwiIChFUy9QVCkgeSBcInNwZWNpYWxpc3RcIiDihpIgXCJTcGVjLlwiIChFTikgZW4gZWwgbm9tYnJlIGRlbCBhZ2VudGUuICovXG5mdW5jdGlvbiBhYmJyZXZpYXRlU3BlY2lhbGlzdEluQWdlbnROYW1lKGFnZW50TmFtZTogc3RyaW5nKTogc3RyaW5nIHtcbiAgaWYgKCFhZ2VudE5hbWUgfHwgdHlwZW9mIGFnZW50TmFtZSAhPT0gJ3N0cmluZycpIHJldHVybiBhZ2VudE5hbWVcbiAgcmV0dXJuIGFnZW50TmFtZS5yZXBsYWNlKC9cXGIoZXNwZWNpYWxpc3RhfGVzcGVjaWFsaXN0KVxcYi9naSwgJ0VzcC4nKS5yZXBsYWNlKC9cXGJzcGVjaWFsaXN0XFxiL2dpLCAnU3BlYy4nKVxufVxuXG5jb25zdCBMaXN0SGlzdG9yeUNoYXQgPSAoe1xuICBjaGF0LFxuICBvbkNsaWNrLFxuICBpc01vZGFsT3BlbixcbiAgb25PcGVuTW9kYWwsXG4gIG9uQ2xvc2VNb2RhbCxcbiAgaGFuZGxlcnMsXG4gIGlzU2VsZWN0ZWQsXG59OiB7XG4gIGNoYXQ6IGFueVxuICBvbkNsaWNrOiAoY2hhdDogYW55KSA9PiB2b2lkXG4gIGlzTW9kYWxPcGVuOiBib29sZWFuXG4gIG9uT3Blbk1vZGFsOiAoY2hhdElkOiBzdHJpbmcpID0+IHZvaWRcbiAgb25DbG9zZU1vZGFsOiAoKSA9PiB2b2lkXG4gIGhhbmRsZXJzOiB7XG4gICAgaGFuZGxlRGVsZXRlQ2hhdDogKGNoYXQ6IGFueSkgPT4gdm9pZFxuICAgIGhhbmRsZVVwZGF0ZUNoYXQ6IChjaGF0OiBhbnkpID0+IHZvaWRcbiAgfVxuICBpc1NlbGVjdGVkOiBib29sZWFuXG59KSA9PiB7XG4gIGNvbnN0IHRleHRSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IGFnZW50UmVmID0gdXNlUmVmPEhUTUxEaXZFbGVtZW50PihudWxsKVxuICBjb25zdCB7IHNob3dUb29sdGlwIH0gPSB1c2VSZXNpemVMaXN0ZW5lcih0ZXh0UmVmLCBbY2hhdC50aXRsZV0pXG4gIGNvbnN0IHsgc2hvd1Rvb2x0aXA6IHNob3dUb29sdGlwQWdlbnQgfSA9IHVzZVJlc2l6ZUxpc3RlbmVyKGFnZW50UmVmLCBbY2hhdC5hZ2VudF0pXG4gIGNvbnN0IHsgdCB9ID0gdXNlVCgpXG4gIGNvbnN0IFthY3Rpb24sIHNldEFjdGlvbl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxuXG4gIGNvbnN0IG1lbnVJdGVtcyA9IFtcbiAgICB7XG4gICAgICBsYWJlbDogdCgnaGlzdG9yeS5tZW51LnJlbmFtZScpLFxuICAgICAgb25DbGlja0l0ZW06IChjaGF0SWQ6IHN0cmluZykgPT4ge1xuICAgICAgICBzZXRBY3Rpb24oJ2VkaXQnKVxuICAgICAgICBvbk9wZW5Nb2RhbChjaGF0SWQpXG4gICAgICB9LFxuICAgICAgSWNvbjogUGVuY2lsLFxuICAgICAgZXZlbnRLZXk6IEVWRU5UUy5wbUFpTWVudUVkaXQsXG4gICAgfSxcbiAgICB7XG4gICAgICBsYWJlbDogdCgnaGlzdG9yeS5tZW51LmRlbGV0ZScpLFxuICAgICAgb25DbGlja0l0ZW06IChjaGF0SWQ6IHN0cmluZykgPT4ge1xuICAgICAgICBzZXRBY3Rpb24oJ2RlbGV0ZScpXG4gICAgICAgIG9uT3Blbk1vZGFsKGNoYXRJZClcbiAgICAgIH0sXG4gICAgICBJY29uOiBUcmFzaCxcbiAgICAgIGV2ZW50S2V5OiBFVkVOVFMucG1BaU1lbnVEZWxldGUsXG4gICAgfSxcbiAgXVxuXG4gIGNvbnN0IGhhbmRsZUNvbmZpcm1BY3Rpb24gPSAoY2hhdERhdGE6IGFueSkgPT4ge1xuICAgIGlmIChhY3Rpb24gPT09ICdlZGl0Jykge1xuICAgICAgaGFuZGxlcnMuaGFuZGxlVXBkYXRlQ2hhdChjaGF0RGF0YSlcbiAgICB9IGVsc2Uge1xuICAgICAgaGFuZGxlcnMuaGFuZGxlRGVsZXRlQ2hhdChjaGF0RGF0YSlcbiAgICB9XG4gICAgc2V0QWN0aW9uKG51bGwpXG4gICAgb25DbG9zZU1vZGFsKClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPD5cbiAgICAgIDxTQ0xIQ1dyYXBwZXJDb250ZW50XG4gICAgICAgIG9uQ2xpY2s9e2UgPT4ge1xuICAgICAgICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICAgICAgICBvbkNsaWNrKGNoYXQpXG4gICAgICAgIH19XG4gICAgICAgIGtleT17YGNvbnZlcnNhdGlvbi0ke2NoYXQuc2Vzc2lvbkV4dGVybmFsSWR9YH1cbiAgICAgICAgaXNNb2RhbE9wZW49e2lzTW9kYWxPcGVufVxuICAgICAgICBpc1NlbGVjdGVkPXtpc1NlbGVjdGVkfVxuICAgICAgPlxuICAgICAgICA8U0NMSENXcmFwcGVyPlxuICAgICAgICAgIDxUb29sdGlwIHRpdGxlPXtzaG93VG9vbHRpcCA/IGNoYXQudGl0bGUgOiAnJ30+XG4gICAgICAgICAgICA8U0NMSENXcmFwcGVyVGl0bGUgcmVmPXt0ZXh0UmVmfT57Y2hhdC50aXRsZSB8fCB0KCdjb252ZXJzYXRpb25zLmVtcHR5TGFiZWwnKX08L1NDTEhDV3JhcHBlclRpdGxlPlxuICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICA8VG9vbHRpcCB0aXRsZT17c2hvd1Rvb2x0aXBBZ2VudCA/IGNoYXQuYWdlbnQgKyAoY2hhdC5wcm9qZWN0TmFtZSA/IGAgLSAke2NoYXQucHJvamVjdE5hbWV9YCA6ICcnKSA6ICcnfT5cbiAgICAgICAgICAgIDxTQ0xIQ1dyYXBwZXJBZ2VudD5cbiAgICAgICAgICAgICAge2NoYXQuYWdlbnRUeXBlID09PSAnY2xvbmUnID8gKFxuICAgICAgICAgICAgICAgIDxNQUlBSWNvbiB3aWR0aD17MTR9IGhlaWdodD17MTR9IC8+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgPHNwYW4gc3R5bGU9e3sgZm9udFNpemU6ICcxNHB4JyB9fT57Y2hhdC5lbW9qaX08L3NwYW4+XG4gICAgICAgICAgICAgICl9XG5cbiAgICAgICAgICAgICAgPFNDTEhDV3JhcHBlckFnZW50VGV4dCByZWY9e2FnZW50UmVmfT5cbiAgICAgICAgICAgICAgICB7Y2hhdC5hZ2VudFR5cGUgPT09ICdjbG9uZScgPyBhYmJyZXZpYXRlU3BlY2lhbGlzdEluQWdlbnROYW1lKGNoYXQuYWdlbnQpIDogY2hhdC5hZ2VudH1cbiAgICAgICAgICAgICAgICB7Y2hhdC5wcm9qZWN0TmFtZSAmJiBgIC0gJHtjaGF0LnByb2plY3ROYW1lfWB9XG4gICAgICAgICAgICAgIDwvU0NMSENXcmFwcGVyQWdlbnRUZXh0PlxuICAgICAgICAgICAgPC9TQ0xIQ1dyYXBwZXJBZ2VudD5cbiAgICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIDwvU0NMSENXcmFwcGVyPlxuICAgICAgICA8U0NMSENXcmFwcGVyQnV0dG9uQWN0aW9ucz5cbiAgICAgICAgICA8Q1VCdXR0b25cbiAgICAgICAgICAgIGljb25Pbmx5XG4gICAgICAgICAgICBzaXplPVwic21hbGxcIlxuICAgICAgICAgICAgdmFyaWFudD1cInRleHRcIlxuICAgICAgICAgICAgb25DbGljaz17ZXZlbnQgPT4ge1xuICAgICAgICAgICAgICBldmVudC5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgICAgICBvbk9wZW5Nb2RhbChjaGF0LmlkKVxuICAgICAgICAgICAgfX1cbiAgICAgICAgICA+XG4gICAgICAgICAgICA8TWVudURvdHMgd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSAvPlxuICAgICAgICAgIDwvQ1VCdXR0b24+XG4gICAgICAgICAge2lzTW9kYWxPcGVuICYmICFhY3Rpb24gJiYgKFxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBkYXRhLW1vZGFsLWNvbnRhaW5lclxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIHBvc2l0aW9uOiAnYWJzb2x1dGUnLFxuICAgICAgICAgICAgICAgIHRvcDogJzMycHgnLFxuICAgICAgICAgICAgICAgIHJpZ2h0OiAnMTZweCcsXG4gICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnd2hpdGUnLFxuICAgICAgICAgICAgICAgIHpJbmRleDogMTAwMCxcbiAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnNHB4JyxcbiAgICAgICAgICAgICAgICBib3JkZXI6ICcxcHggc29saWQgcmdiYSgyMjQsIDIyNCwgMjI0LCAxKScsXG4gICAgICAgICAgICAgICAgbWluV2lkdGg6ICcxMjRweCcsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHttZW51SXRlbXMubWFwKCh7IGxhYmVsLCBvbkNsaWNrSXRlbSwgSWNvbiwgZXZlbnRLZXkgfSkgPT4gKFxuICAgICAgICAgICAgICAgIDxPcHRpb25JdGVtXG4gICAgICAgICAgICAgICAgICBrZXk9e2xhYmVsfVxuICAgICAgICAgICAgICAgICAgbGFiZWw9e2xhYmVsfVxuICAgICAgICAgICAgICAgICAgb25DbGljaz17KCkgPT4gb25DbGlja0l0ZW0oY2hhdC5pZCl9XG4gICAgICAgICAgICAgICAgICBJY29uPXtJY29ufVxuICAgICAgICAgICAgICAgICAgZXZlbnRLZXk9e2V2ZW50S2V5fVxuICAgICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICAgICkpfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKX1cbiAgICAgICAgPC9TQ0xIQ1dyYXBwZXJCdXR0b25BY3Rpb25zPlxuICAgICAgPC9TQ0xIQ1dyYXBwZXJDb250ZW50PlxuICAgICAgeyEhYWN0aW9uICYmXG4gICAgICAgIGFjdGlvbnNbYWN0aW9uXSh7XG4gICAgICAgICAgb25DbG9zZTogKCkgPT4ge1xuICAgICAgICAgICAgb25DbG9zZU1vZGFsKClcbiAgICAgICAgICAgIHNldEFjdGlvbihudWxsKVxuICAgICAgICAgIH0sXG4gICAgICAgICAgY2hhdCxcbiAgICAgICAgICBoYW5kbGVyczoge1xuICAgICAgICAgICAgaGFuZGxlQ29uZmlybUFjdGlvbixcbiAgICAgICAgICAgIGhhbmRsZVNldElzT3Blbk1vZGFsOiBvbkNsb3NlTW9kYWwsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSl9XG4gICAgPC8+XG4gIClcbn1cblxuZXhwb3J0IGNvbnN0IFNpZGViYXIgPSAoe1xuICBvbkdvVG9DaGF0LFxuICBvbkVycm9yID0gKCkgPT4gbnVsbCxcbiAgaGFuZGxlR29Ub0hvbWUsXG4gIHNob3dOZXdDaGF0LFxuICByZWZldGNoQ2hhdHMsXG4gIGhhbmRsZVNldFJlZmV0Y2hDaGF0cyxcbiAgaGFzRXJyb3IsXG4gIHJlc2V0U2VsZWN0ZWRDaGF0UmVmLFxufToge1xuICBvbkdvVG9DaGF0OiAoY2hhdElkOiBzdHJpbmcpID0+IHZvaWRcbiAgb25FcnJvcjogKCkgPT4gdm9pZFxuICBoYW5kbGVHb1RvSG9tZTogKCkgPT4gdm9pZFxuICBzaG93TmV3Q2hhdDogYm9vbGVhblxuICByZWZldGNoQ2hhdHM6IGJvb2xlYW5cbiAgaGFuZGxlU2V0UmVmZXRjaENoYXRzOiAocmVmZXRjaDogYm9vbGVhbikgPT4gdm9pZFxuICBoYXNFcnJvcjogYm9vbGVhblxuICByZXNldFNlbGVjdGVkQ2hhdFJlZj86IE11dGFibGVSZWZPYmplY3Q8KCgpID0+IHZvaWQpIHwgbnVsbD5cbn0pID0+IHtcbiAgY29uc3QgeyB0IH0gPSB1c2VUKClcbiAgY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlKHRydWUpXG4gIGNvbnN0IFtpc09wZW5Nb2RhbCwgc2V0SXNPcGVuTW9kYWxdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgW3NlbGVjdGVkQ2hhdCwgc2V0U2VsZWN0ZWRDaGF0XSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG4gIGNvbnN0IGNoYXRzRmV0Y2hlZFJlZiA9IHVzZVJlZihmYWxzZSlcbiAgY29uc3QgY2hhdHNDb250YWluZXJSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHVzZXIgPSB1c2VVc2VyKClcbiAgY29uc3QgeyBhZ2VudDogc2VsZWN0ZWRBZ2VudCB9ID0gdXNlR2xvYmFsQ29udGV4dCgpXG4gIGNvbnN0IHtcbiAgICBsb2FkaW5nQ2hhdHMsXG4gICAgY2hhdHMsXG4gICAgZGVsZXRlQ2hhdCxcbiAgICB1cGRhdGVDaGF0LFxuICAgIGZldGNoQ2hhdHMsXG4gICAgbGltaXQsXG4gICAgb2Zmc2V0LFxuICAgIGhhc01vcmVDaGF0cyxcbiAgICBsb2FkTW9yZUNoYXRzLFxuICAgIGlzTG9hZGluZ01vcmVDaGF0cyxcbiAgfSA9IHVzZUNoYXRzKHtcbiAgICBvbkVycm9yLFxuICB9KVxuXG4gIGNvbnN0IHVzZXJQZXJtaXNzaW9ucyA9IHVzZXI/LnBlcm1pc3Npb25zPy5haV9hZ2VudHNcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChyZXNldFNlbGVjdGVkQ2hhdFJlZikge1xuICAgICAgcmVzZXRTZWxlY3RlZENoYXRSZWYuY3VycmVudCA9ICgpID0+IHNldFNlbGVjdGVkQ2hhdChudWxsKVxuICAgIH1cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgaWYgKHJlc2V0U2VsZWN0ZWRDaGF0UmVmKSB7XG4gICAgICAgIHJlc2V0U2VsZWN0ZWRDaGF0UmVmLmN1cnJlbnQgPSBudWxsXG4gICAgICB9XG4gICAgfVxuICB9LCBbcmVzZXRTZWxlY3RlZENoYXRSZWZdKVxuXG4gIGNvbnN0IGhhbmRsZURlbGV0ZUNoYXQgPSBhc3luYyAoY2hhdDogYW55KSA9PiB7XG4gICAgZGVsZXRlQ2hhdChjaGF0LnNlc3Npb25FeHRlcm5hbElkKVxuICAgIHNldElzT3Blbk1vZGFsKG51bGwpXG4gICAgaGFuZGxlR29Ub0hvbWUoKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlVXBkYXRlQ2hhdCA9IChjaGF0OiBhbnkpID0+IHtcbiAgICB1cGRhdGVDaGF0KGNoYXQpXG4gICAgc2V0SXNPcGVuTW9kYWwobnVsbClcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZU9wZW5Nb2RhbCA9IChjaGF0SWQ6IHN0cmluZykgPT4ge1xuICAgIGlmIChpc09wZW5Nb2RhbCAmJiBpc09wZW5Nb2RhbCAhPT0gY2hhdElkKSB7XG4gICAgICBzZXRJc09wZW5Nb2RhbChudWxsKVxuICAgIH0gZWxzZSB7XG4gICAgICBzZXRJc09wZW5Nb2RhbChjaGF0SWQpXG4gICAgfVxuICB9XG5cbiAgY29uc3QgaGFuZGxlQ2xvc2VNb2RhbCA9ICgpID0+IHtcbiAgICBzZXRJc09wZW5Nb2RhbChudWxsKVxuICB9XG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVDbGlja091dHNpZGUgPSAoZXZlbnQ6IE1vdXNlRXZlbnQpID0+IHtcbiAgICAgIGlmIChpc09wZW5Nb2RhbCAmJiAhKGV2ZW50LnRhcmdldCBhcyBFbGVtZW50KS5jbG9zZXN0KCdbZGF0YS1tb2RhbC1jb250YWluZXJdJykpIHtcbiAgICAgICAgc2V0SXNPcGVuTW9kYWwobnVsbClcbiAgICAgIH1cbiAgICB9XG5cbiAgICBpZiAoaXNPcGVuTW9kYWwpIHtcbiAgICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ21vdXNlZG93bicsIGhhbmRsZUNsaWNrT3V0c2lkZSlcbiAgICB9XG5cbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgZG9jdW1lbnQucmVtb3ZlRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgIH1cbiAgfSwgW2lzT3Blbk1vZGFsXSlcblxuICBjb25zdCBoYW5kbGVUb2dnbGVTaWRlYmFyID0gKCkgPT4ge1xuICAgIGlmIChpc09wZW5Nb2RhbCkge1xuICAgICAgc2V0SXNPcGVuTW9kYWwobnVsbClcbiAgICB9XG4gICAgc2V0SXNPcGVuKHByZXYgPT4gIXByZXYpXG4gIH1cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChpc09wZW4gJiYgIWNoYXRzRmV0Y2hlZFJlZi5jdXJyZW50KSB7XG4gICAgICBjaGF0c0ZldGNoZWRSZWYuY3VycmVudCA9IHRydWVcbiAgICAgIGZldGNoQ2hhdHMoeyBsaW1pdCwgb2Zmc2V0IH0pXG4gICAgICByZXR1cm5cbiAgICB9XG4gICAgaWYgKHJlZmV0Y2hDaGF0cykge1xuICAgICAgZmV0Y2hDaGF0cyh7IGxpbWl0LCBvZmZzZXQgfSlcbiAgICAgIGhhbmRsZVNldFJlZmV0Y2hDaGF0cyhmYWxzZSlcbiAgICB9XG4gIH0sIFtpc09wZW4sIHJlZmV0Y2hDaGF0cywgaGFuZGxlU2V0UmVmZXRjaENoYXRzXSlcblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZVNjcm9sbCA9ICgpID0+IHtcbiAgICAgIGlmICghY2hhdHNDb250YWluZXJSZWYuY3VycmVudCB8fCAhaGFzTW9yZUNoYXRzIHx8IGlzTG9hZGluZ01vcmVDaGF0cyB8fCBoYXNFcnJvcikge1xuICAgICAgICByZXR1cm5cbiAgICAgIH1cblxuICAgICAgY29uc3QgeyBzY3JvbGxUb3AsIHNjcm9sbEhlaWdodCwgY2xpZW50SGVpZ2h0IH0gPSBjaGF0c0NvbnRhaW5lclJlZi5jdXJyZW50XG4gICAgICBjb25zdCBpc0F0Qm90dG9tID0gc2Nyb2xsVG9wICsgY2xpZW50SGVpZ2h0ID49IHNjcm9sbEhlaWdodCAtIDEwXG5cbiAgICAgIGlmIChpc0F0Qm90dG9tKSB7XG4gICAgICAgIGxvYWRNb3JlQ2hhdHMoKVxuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IGNvbnRhaW5lciA9IGNoYXRzQ29udGFpbmVyUmVmLmN1cnJlbnRcbiAgICBpZiAoY29udGFpbmVyKSB7XG4gICAgICBjb250YWluZXIuYWRkRXZlbnRMaXN0ZW5lcignc2Nyb2xsJywgaGFuZGxlU2Nyb2xsKVxuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAoY29udGFpbmVyKSB7XG4gICAgICAgIGNvbnRhaW5lci5yZW1vdmVFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpXG4gICAgICB9XG4gICAgfVxuICB9LCBbaGFzTW9yZUNoYXRzLCBpc0xvYWRpbmdNb3JlQ2hhdHMsIGxvYWRNb3JlQ2hhdHMsIGhhc0Vycm9yXSlcblxuICBjb25zdCBoYW5kbGVOZXdDaGF0ID0gYXN5bmMgKCkgPT4ge1xuICAgIGlmIChpc09wZW5Nb2RhbCkge1xuICAgICAgc2V0SXNPcGVuTW9kYWwobnVsbClcbiAgICB9XG4gICAgc2V0U2VsZWN0ZWRDaGF0KG51bGwpXG4gICAgYXdhaXQgZmV0Y2hDaGF0cyh7IGxpbWl0LCBvZmZzZXQ6IDAgfSlcbiAgICBoYW5kbGVHb1RvSG9tZSgpXG4gIH1cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZVJlZmV0Y2hTZXNzaW9uID0gKCkgPT4ge1xuICAgICAgZmV0Y2hDaGF0cyh7IGxpbWl0OiAyMCwgb2Zmc2V0OiAwIH0pXG4gICAgfVxuICAgIGRvY3VtZW50LmFkZEV2ZW50TGlzdGVuZXIoJ3JlZmV0Y2gtc2Vzc2lvbicsIGhhbmRsZVJlZmV0Y2hTZXNzaW9uKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdyZWZldGNoLXNlc3Npb24nLCBoYW5kbGVSZWZldGNoU2Vzc2lvbilcbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IHNob3dOZXdDaGF0QnV0dG9uID1cbiAgICAhc2hvd05ld0NoYXQgJiZcbiAgICAhaGFzRXJyb3IgJiZcbiAgICAhbG9hZGluZ0NoYXRzICYmXG4gICAgKCh1c2VyUGVybWlzc2lvbnM/LnZpZXcgJiZcbiAgICAgICFzZWxlY3RlZEFnZW50Py5pc19kZWxldGVkICYmXG4gICAgICAhc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9wZXJtaXNzaW9ucyAmJlxuICAgICAgIXNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfYWNjZXNzKSB8fFxuICAgICAgKCF1c2VyUGVybWlzc2lvbnM/LnZpZXcgJiZcbiAgICAgICAgIXNlbGVjdGVkQWdlbnQ/LmlzX2RlbGV0ZWQgJiZcbiAgICAgICAgIXNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfcGVybWlzc2lvbnMgJiZcbiAgICAgICAgIXNlbGVjdGVkQWdlbnQ/Lmhhc19ub3RfYWNjZXNzKSlcblxuICByZXR1cm4gKFxuICAgIDxkaXZcbiAgICAgIHN0eWxlPXt7XG4gICAgICAgIGJhY2tncm91bmRDb2xvcjogJyNmOWY5ZjknLFxuICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICBwYWRkaW5nOiAnMTJweCAxMHB4JyxcbiAgICAgICAgbWluV2lkdGg6IGAke2lzT3BlbiA/ICcyMDBweCcgOiAnNDZweCd9YCxcbiAgICAgICAgbWF4V2lkdGg6ICcyNzBweCcsXG4gICAgICAgIHRyYW5zaXRpb246ICdhbGwgMC4zcyBlYXNlLWluLW91dCcsXG4gICAgICAgIGJvcmRlclJhZGl1czogJ2luaGVyaXQnLFxuICAgICAgICBib3JkZXJUb3BSaWdodFJhZGl1czogJzAnLFxuICAgICAgICBib3JkZXJCb3R0b21SaWdodFJhZGl1czogJzAnLFxuICAgICAgICBnYXA6ICcxMnB4JyxcbiAgICAgICAgb3ZlcmZsb3c6ICdoaWRkZW4nLFxuICAgICAgICBvdmVyc2Nyb2xsQmVoYXZpb3I6ICdjb250YWluJyxcbiAgICAgICAgLi4uKCFpc09wZW4gJiYgeyBhbGlnbkl0ZW1zOiAnY2VudGVyJywganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJyB9KSxcbiAgICAgIH19XG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICBnYXA6ICcyMnB4JyxcbiAgICAgICAgICBmbGV4RGlyZWN0aW9uOiBgJHtpc09wZW4gPyAncm93LXJldmVyc2UnIDogJ2NvbHVtbid9YCxcbiAgICAgICAgICAuLi4oaXNPcGVuICYmIHsganVzdGlmeUNvbnRlbnQ6ICdzcGFjZS1iZXR3ZWVuJyB9KSxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAgPFRvb2x0aXAgdGl0bGU9e2lzT3BlbiA/IHQoJ2NvbnZlcnNhdGlvbnMuY29sbGFwc2UnKSA6IHQoJ2NvbnZlcnNhdGlvbnMuZXhwYW5kJyl9PlxuICAgICAgICAgIDxTQ1NXcmFwcGVyQ29sbGFwc2VkQnV0dG9uIG9uQ2xpY2s9e2hhbmRsZVRvZ2dsZVNpZGViYXJ9IGlzT3Blbj17aXNPcGVufT5cbiAgICAgICAgICAgIDxDaGV2cm9uRG91YmxlTGVmdCBjb2xvcj1cInJnYmEoMTAyLCAxMDIsIDEwMiwgMSlcIiB3aWR0aD17MjB9IGhlaWdodD17MjB9IC8+XG4gICAgICAgICAgPC9TQ1NXcmFwcGVyQ29sbGFwc2VkQnV0dG9uPlxuICAgICAgICA8L1Rvb2x0aXA+XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGdhcDogYCR7aXNPcGVuID8gJzE2cHgnIDogJzIycHgnfWAsIGZsZXhEaXJlY3Rpb246IGAke2lzT3BlbiA/ICdyb3cnIDogJ2NvbHVtbid9YCB9fVxuICAgICAgICA+XG4gICAgICAgICAge3Nob3dOZXdDaGF0QnV0dG9uICYmIChcbiAgICAgICAgICAgIDxUb29sdGlwIHRpdGxlPXt0KCdjb252ZXJzYXRpb25zLm5ld0NoYXQnKX0+XG4gICAgICAgICAgICAgIDxTQ1NXcmFwcGVyTmV3Q2hhdEljb24gb25DbGljaz17aGFuZGxlTmV3Q2hhdH0+XG4gICAgICAgICAgICAgICAgPE5ld0NoYXQgd2lkdGg9ezIwfSBoZWlnaHQ9ezIwfSAvPlxuICAgICAgICAgICAgICA8L1NDU1dyYXBwZXJOZXdDaGF0SWNvbj5cbiAgICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgICApfVxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgICAgPGRpdlxuICAgICAgICBzdHlsZT17e1xuICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICB3aWR0aDogJzEwMCUnLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgIGhlaWdodDogJ2NhbGMoMTAwJSAtIDMycHgpJyxcbiAgICAgICAgICBqdXN0aWZ5Q29udGVudDogYCR7aXNPcGVuID8gJycgOiAnZmxleC1lbmQnfWAsXG4gICAgICAgIH19XG4gICAgICA+XG4gICAgICAgIHtpc09wZW4gJiYgKFxuICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgIHBhZGRpbmc6ICc4cHggMCAwIDAnLFxuICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgICAgICBnYXA6ICc0cHgnLFxuICAgICAgICAgICAgICBmbGV4R3JvdzogMSxcbiAgICAgICAgICAgICAgbWluV2lkdGg6ICcyNDRweCcsXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZm9udFNpemU6ICcxNHB4JyxcbiAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiAnNDAwJyxcbiAgICAgICAgICAgICAgICBjb2xvcjogJyM2NjY2NjYnLFxuICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6ICcxNDAlJyxcbiAgICAgICAgICAgICAgICBwYWRkaW5nTGVmdDogJzEycHgnLFxuICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICB7dCgnY29udmVyc2F0aW9ucy50aXRsZScpfVxuICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICByZWY9e2NoYXRzQ29udGFpbmVyUmVmfVxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgICAgICAgICBnYXA6ICc0cHgnLFxuICAgICAgICAgICAgICAgIGZsZXhHcm93OiAxLFxuICAgICAgICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgICAgICAgb3ZlcmZsb3dZOiAnYXV0bycsXG4gICAgICAgICAgICAgICAgb3ZlcnNjcm9sbEJlaGF2aW9yWTogJ2NvbnRhaW4nLFxuICAgICAgICAgICAgICAgIC4uLihjaGF0cy5sZW5ndGggJiYgeyBtYXhIZWlnaHQ6IGBjYWxjKDEwMHZoIC0gJHtoYXNFcnJvciA/IDE5NyA6IDE2MH1weClgIH0pLFxuICAgICAgICAgICAgICAgIC4uLighY2hhdHMubGVuZ3RoICYmIHsgYWxpZ25JdGVtczogJ2NlbnRlcicgfSksXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtoYXNFcnJvciAmJiAhY2hhdHMubGVuZ3RoID8gKFxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICAgICAgZmxleEdyb3c6IDEsXG4gICAgICAgICAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGZsZXhHcm93OiAxIH19PlxuICAgICAgICAgICAgICAgICAgICA8RXJyb3JTdGF0ZSAvPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgICAgICAgIGdhcDogJzE2cHgnLFxuICAgICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMjUzLCAyMzYsIDIzNiwgMSknLFxuICAgICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzhweCcsXG4gICAgICAgICAgICAgICAgICAgICAgcGFkZGluZzogJzEycHgnLFxuICAgICAgICAgICAgICAgICAgICAgIGJvcmRlcjogJzFweCBzb2xpZCByZ2JhKDE5OSwgNSwgNSwgMSknLFxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyB9fT5cbiAgICAgICAgICAgICAgICAgICAgICA8RXJyb3JJY29uIC8+XG4gICAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgICAgICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogJzQwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ3JnYmEoMzIsIDMyLCAzMSwgMSknLFxuICAgICAgICAgICAgICAgICAgICAgICAgbGluZUhlaWdodDogJzE0MCUnLFxuICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAgICB7dCgnY29udmVyc2F0aW9ucy5lcnJvcicpfVxuICAgICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgKSA6IGxvYWRpbmdDaGF0cyA/IChcbiAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGhlaWdodDogJzY3MHB4JyB9fT5cbiAgICAgICAgICAgICAgICAgIDxMb2FkZXIgLz5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgKSA6IGNoYXRzLmxlbmd0aCA/IChcbiAgICAgICAgICAgICAgICA8PlxuICAgICAgICAgICAgICAgICAge2NoYXRzLm1hcChjaGF0ID0+IHtcbiAgICAgICAgICAgICAgICAgICAgcmV0dXJuIChcbiAgICAgICAgICAgICAgICAgICAgICA8TGlzdEhpc3RvcnlDaGF0XG4gICAgICAgICAgICAgICAgICAgICAgICBrZXk9e2NoYXQuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICBjaGF0PXtjaGF0fVxuICAgICAgICAgICAgICAgICAgICAgICAgb25DbGljaz17Y2hhdERhdGEgPT4ge1xuICAgICAgICAgICAgICAgICAgICAgICAgICBpZiAoaXNPcGVuTW9kYWwpIHtcbiAgICAgICAgICAgICAgICAgICAgICAgICAgICBzZXRJc09wZW5Nb2RhbChudWxsKVxuICAgICAgICAgICAgICAgICAgICAgICAgICB9XG4gICAgICAgICAgICAgICAgICAgICAgICAgIHNldFNlbGVjdGVkQ2hhdChjaGF0RGF0YS5zZXNzaW9uRXh0ZXJuYWxJZClcbiAgICAgICAgICAgICAgICAgICAgICAgICAgb25Hb1RvQ2hhdChjaGF0RGF0YSlcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICBpc01vZGFsT3Blbj17aXNPcGVuTW9kYWwgPT09IGNoYXQuaWR9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbk9wZW5Nb2RhbD17aGFuZGxlT3Blbk1vZGFsfVxuICAgICAgICAgICAgICAgICAgICAgICAgb25DbG9zZU1vZGFsPXtoYW5kbGVDbG9zZU1vZGFsfVxuICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlcnM9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlRGVsZXRlQ2hhdCxcbiAgICAgICAgICAgICAgICAgICAgICAgICAgaGFuZGxlVXBkYXRlQ2hhdCxcbiAgICAgICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICAgICAgICBpc1NlbGVjdGVkPXtzZWxlY3RlZENoYXQgPT09IGNoYXQuc2Vzc2lvbkV4dGVybmFsSWR9XG4gICAgICAgICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgICAgICAgKVxuICAgICAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgICAgICB7aXNMb2FkaW5nTW9yZUNoYXRzICYmIChcbiAgICAgICAgICAgICAgICAgICAgPGRpdiBzdHlsZT17eyBkaXNwbGF5OiAnZmxleCcsIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJywgcGFkZGluZzogJzE2cHgnIH19PlxuICAgICAgICAgICAgICAgICAgICAgIDxMb2FkZXIgLz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgICAgIDwvPlxuICAgICAgICAgICAgICApIDogKFxuICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICAgICAgZmxleEdyb3c6IDEsXG4gICAgICAgICAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgICAgICAgICAgICBnYXA6ICcxOHB4JyxcbiAgICAgICAgICAgICAgICAgICAgd2lkdGg6ICcyMDFweCcsXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxFbXB0eUhpc3RvcnlJY29uIC8+XG4gICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAnMTRweCcsXG4gICAgICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogJzQwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICdyZ2JhKDEwMiwgMTAyLCAxMDIsIDEpJyxcbiAgICAgICAgICAgICAgICAgICAgICBsaW5lSGVpZ2h0OiAnMTQwJScsXG4gICAgICAgICAgICAgICAgICAgICAgdGV4dEFsaWduOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3QoJ2NvbnZlcnNhdGlvbnMuZW1wdHknKX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogJ2NlbnRlcicsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHtoYXNFcnJvciAmJiBjaGF0cy5sZW5ndGggPyAoXG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICAgICAgZ2FwOiAnMTZweCcsXG4gICAgICAgICAgICAgICAgICAgIGJhY2tncm91bmRDb2xvcjogJ3JnYmEoMjUzLCAyMzYsIDIzNiwgMSknLFxuICAgICAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICc4cHgnLFxuICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAnMTJweCcsXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlcjogJzFweCBzb2xpZCByZ2JhKDE5OSwgNSwgNSwgMSknLFxuICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgYWxpZ25JdGVtczogJ2NlbnRlcicsIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyB9fT5cbiAgICAgICAgICAgICAgICAgICAgPEVycm9ySWNvbiAvPlxuICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICA8c3BhblxuICAgICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAnMTRweCcsXG4gICAgICAgICAgICAgICAgICAgICAgZm9udFdlaWdodDogJzQwMCcsXG4gICAgICAgICAgICAgICAgICAgICAgY29sb3I6ICdyZ2JhKDMyLCAzMiwgMzEsIDEpJyxcbiAgICAgICAgICAgICAgICAgICAgICBsaW5lSGVpZ2h0OiAnMTQwJScsXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIHt0KCdjb252ZXJzYXRpb25zLmVycm9yJyl9XG4gICAgICAgICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICkgOiBudWxsfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICAgIDxkaXZcbiAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgZ2FwOiAnOHB4JyxcbiAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246IGlzT3BlbiA/ICdyb3cnIDogJ2NvbHVtbicsXG4gICAgICAgICAgICBqdXN0aWZ5Q29udGVudDogc2VsZWN0ZWRBZ2VudCA/ICdzcGFjZS1iZXR3ZWVuJyA6ICdmbGV4LWVuZCcsXG4gICAgICAgICAgfX1cbiAgICAgICAgPlxuICAgICAgICAgIHtzZWxlY3RlZEFnZW50ICYmIDxGZWVkYmFja0J1dHRvbiBzZWxlY3RlZEFnZW50PXtzZWxlY3RlZEFnZW50fSBpc09wZW49e2lzT3Blbn0gLz59XG4gICAgICAgICAgPE9uYm9hcmRpbmdNb2RhbEJ1dHRvbiAvPlxuICAgICAgICA8L2Rpdj5cbiAgICAgIDwvZGl2PlxuICAgIDwvZGl2PlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLFNBQTJCQSxTQUFTLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLE9BQU87QUFDckUsU0FBU0MsaUJBQWlCLFFBQVEsb0RBQW9EO0FBQ3RGLFNBQVNDLFFBQVEsUUFBUSw0Q0FBNEM7QUFDckUsU0FBU0MsUUFBUSxRQUFRLDJDQUEyQztBQUNwRSxTQUFTQyxNQUFNLFFBQVEseUNBQXlDO0FBQ2hFLFNBQVNDLEtBQUssUUFBUSx3Q0FBd0M7QUFFOUQsU0FBU0MsT0FBTyxRQUFRLDhDQUE4QztBQUV0RSxTQUFTQyxnQkFBZ0IsUUFBUSxnQ0FBZ0M7QUFDakUsU0FBU0MsaUJBQWlCLFFBQVEsMEJBQTBCO0FBQzVELFNBQVNDLFFBQVEsUUFBUSx5QkFBeUI7QUFDbEQsU0FBU0MsTUFBTSxRQUFRLG9CQUFvQjtBQUMzQyxTQUFTQyxVQUFVLEVBQUVDLFFBQVEsRUFBRUMsT0FBTyxRQUFRLG1CQUFtQjtBQUNqRSxTQUFTQyxNQUFNLFFBQVEseUJBQXlCO0FBQ2hELFNBQVNDLElBQUksUUFBUSxxQkFBcUI7QUFDMUMsU0FBU0MsVUFBVSxRQUFRLCtCQUErQjtBQUMxRCxTQUFTQyxpQkFBaUIsUUFBUSxtQ0FBbUM7QUFDckUsU0FBU0MsbUJBQW1CLFFBQVEs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
|
|
611
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VFZmZlY3QiLCJ1c2VSZWYiLCJ1c2VTdGF0ZSIsIkNoZXZyb25Eb3VibGVMZWZ0IiwiQ1VCdXR0b24iLCJNZW51RG90cyIsIlBlbmNpbCIsIlRyYXNoIiwiVG9vbHRpcCIsIkVtcHR5SGlzdG9yeUljb24iLCJ1c2VSZXNpemVMaXN0ZW5lciIsInVzZUNoYXRzIiwiTG9hZGVyIiwiRXJyb3JTdGF0ZSIsIk1BSUFJY29uIiwiTmV3Q2hhdCIsIkVWRU5UUyIsInVzZVQiLCJPcHRpb25JdGVtIiwiRWRpdFF1ZXN0aW9uTW9kYWwiLCJEZWxldGVRdWVzdGlvbk1vZGFsIiwiRXJyb3JJY29uIiwidXNlVXNlciIsIk9uYm9hcmRpbmdNb2RhbEJ1dHRvbiIsIkZlZWRiYWNrQnV0dG9uIiwidXNlR2xvYmFsQ29udGV4dCIsIlNDTEhDV3JhcHBlciIsIlNDTEhDV3JhcHBlckFnZW50IiwiU0NMSENXcmFwcGVyQWdlbnRUZXh0IiwiU0NMSENXcmFwcGVyQnV0dG9uQWN0aW9ucyIsIlNDTEhDV3JhcHBlckNvbnRlbnQiLCJTQ0xIQ1dyYXBwZXJUaXRsZSIsIlNDU1dyYXBwZXJDb2xsYXBzZWRCdXR0b24iLCJTQ1NXcmFwcGVyTmV3Q2hhdEljb24iLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJhY3Rpb25zIiwiZWRpdCIsInByb3BzIiwiX29iamVjdFNwcmVhZCIsImRlbGV0ZSIsIkxpc3RIaXN0b3J5Q2hhdCIsIl9yZWYiLCJjaGF0Iiwib25DbGljayIsImlzTW9kYWxPcGVuIiwib25PcGVuTW9kYWwiLCJvbkNsb3NlTW9kYWwiLCJoYW5kbGVycyIsImlzU2VsZWN0ZWQiLCJ0ZXh0UmVmIiwiYWdlbnRSZWYiLCJfdXNlUmVzaXplTGlzdGVuZXIiLCJ0aXRsZSIsInNob3dUb29sdGlwIiwiX3VzZVJlc2l6ZUxpc3RlbmVyMiIsImFnZW50Iiwic2hvd1Rvb2x0aXBBZ2VudCIsIl91c2VUIiwidCIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImFjdGlvbiIsInNldEFjdGlvbiIsIm1lbnVJdGVtcyIsImxhYmVsIiwib25DbGlja0l0ZW0iLCJjaGF0SWQiLCJJY29uIiwiZXZlbnRLZXkiLCJwbUFpTWVudUVkaXQiLCJwbUFpTWVudURlbGV0ZSIsImhhbmRsZUNvbmZpcm1BY3Rpb24iLCJjaGF0RGF0YSIsImhhbmRsZVVwZGF0ZUNoYXQiLCJoYW5kbGVEZWxldGVDaGF0IiwiY2hpbGRyZW4iLCJlIiwic3RvcFByb3BhZ2F0aW9uIiwicmVmIiwicHJvamVjdE5hbWUiLCJjb25jYXQiLCJhZ2VudFR5cGUiLCJ3aWR0aCIsImhlaWdodCIsInN0eWxlIiwiZm9udFNpemUiLCJlbW9qaSIsImljb25Pbmx5Iiwic2l6ZSIsInZhcmlhbnQiLCJldmVudCIsImlkIiwicG9zaXRpb24iLCJ0b3AiLCJyaWdodCIsImJhY2tncm91bmRDb2xvciIsInpJbmRleCIsImRpc3BsYXkiLCJmbGV4RGlyZWN0aW9uIiwiYm9yZGVyUmFkaXVzIiwiYm9yZGVyIiwibWluV2lkdGgiLCJtYXAiLCJfcmVmMiIsInNlc3Npb25FeHRlcm5hbElkIiwib25DbG9zZSIsImhhbmRsZVNldElzT3Blbk1vZGFsIiwiU2lkZWJhciIsIl9yZWYzIiwiX3VzZXIkcGVybWlzc2lvbnMiLCJvbkdvVG9DaGF0IiwiX3JlZjMkb25FcnJvciIsIm9uRXJyb3IiLCJoYW5kbGVHb1RvSG9tZSIsInNob3dOZXdDaGF0IiwicmVmZXRjaENoYXRzIiwiaGFuZGxlU2V0UmVmZXRjaENoYXRzIiwiaGFzRXJyb3IiLCJyZXNldFNlbGVjdGVkQ2hhdFJlZiIsIl91c2VUMiIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiaXNPcGVuIiwic2V0SXNPcGVuIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJpc09wZW5Nb2RhbCIsInNldElzT3Blbk1vZGFsIiwiX3VzZVN0YXRlNyIsIl91c2VTdGF0ZTgiLCJzZWxlY3RlZENoYXQiLCJzZXRTZWxlY3RlZENoYXQiLCJjaGF0c0ZldGNoZWRSZWYiLCJjaGF0c0NvbnRhaW5lclJlZiIsInVzZXIiLCJfdXNlR2xvYmFsQ29udGV4dCIsInNlbGVjdGVkQWdlbnQiLCJfdXNlQ2hhdHMiLCJsb2FkaW5nQ2hhdHMiLCJjaGF0cyIsImRlbGV0ZUNoYXQiLCJ1cGRhdGVDaGF0IiwiZmV0Y2hDaGF0cyIsImxpbWl0Iiwib2Zmc2V0IiwiaGFzTW9yZUNoYXRzIiwibG9hZE1vcmVDaGF0cyIsImlzTG9hZGluZ01vcmVDaGF0cyIsInVzZXJQZXJtaXNzaW9ucyIsInBlcm1pc3Npb25zIiwiYWlfYWdlbnRzIiwiY3VycmVudCIsIl9yZWY0IiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwiaGFuZGxlT3Blbk1vZGFsIiwiaGFuZGxlQ2xvc2VNb2RhbCIsImhhbmRsZUNsaWNrT3V0c2lkZSIsInRhcmdldCIsImNsb3Nlc3QiLCJkb2N1bWVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiaGFuZGxlVG9nZ2xlU2lkZWJhciIsImhhbmRsZVNjcm9sbCIsIl9jaGF0c0NvbnRhaW5lclJlZiRjdSIsInNjcm9sbFRvcCIsInNjcm9sbEhlaWdodCIsImNsaWVudEhlaWdodCIsImlzQXRCb3R0b20iLCJjb250YWluZXIiLCJoYW5kbGVOZXdDaGF0IiwiX3JlZjUiLCJfY2FsbGVlMiIsIl9jb250ZXh0MiIsImhhbmRsZVJlZmV0Y2hTZXNzaW9uIiwic2hvd05ld0NoYXRCdXR0b24iLCJ2aWV3IiwiaXNfZGVsZXRlZCIsImhhc19ub3RfcGVybWlzc2lvbnMiLCJoYXNfbm90X2FjY2VzcyIsInBhZGRpbmciLCJtYXhXaWR0aCIsInRyYW5zaXRpb24iLCJib3JkZXJUb3BSaWdodFJhZGl1cyIsImJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzIiwiZ2FwIiwib3ZlcmZsb3ciLCJvdmVyc2Nyb2xsQmVoYXZpb3IiLCJhbGlnbkl0ZW1zIiwianVzdGlmeUNvbnRlbnQiLCJjb2xvciIsImZsZXhHcm93IiwiZm9udFdlaWdodCIsImxpbmVIZWlnaHQiLCJwYWRkaW5nTGVmdCIsIm92ZXJmbG93WSIsIm92ZXJzY3JvbGxCZWhhdmlvclkiLCJsZW5ndGgiLCJtYXhIZWlnaHQiLCJ0ZXh0QWxpZ24iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvU2lkZWJhci9TaWRlYmFyLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBuby1wYXJhbS1yZWFzc2lnbiAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLXNoYWRvdyAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuLyogZXNsaW50LWRpc2FibGUgbm8tbmVzdGVkLXRlcm5hcnkgKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L2NsaWNrLWV2ZW50cy1oYXZlLWtleS1ldmVudHMgKi9cbi8qIGVzbGludC1kaXNhYmxlIGpzeC1hMTF5L25vLXN0YXRpYy1lbGVtZW50LWludGVyYWN0aW9ucyAqL1xuaW1wb3J0IHsgTXV0YWJsZVJlZk9iamVjdCwgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBDaGV2cm9uRG91YmxlTGVmdCB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0NoZXZyb25Eb3VibGVMZWZ0J1xuaW1wb3J0IHsgQ1VCdXR0b24gfSBmcm9tICdAcHJvamVjdGNvci9idXR0b24vbGliL2NvbXBvbmVudHMvQ1VCdXR0b24nXG5pbXBvcnQgeyBNZW51RG90cyB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL01lbnVEb3RzJ1xuaW1wb3J0IHsgUGVuY2lsIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvUGVuY2lsJ1xuaW1wb3J0IHsgVHJhc2ggfSBmcm9tICdAcHJvamVjdGNvci9pY29ucy9saWIvY29tcG9uZW50cy9UcmFzaCdcblxuaW1wb3J0IHsgVG9vbHRpcCB9IGZyb20gJ0Bwcm9qZWN0Y29yL3Rvb2x0aXB2Mi9saWIvY29tcG9uZW50cy9Ub29sdGlwJ1xuXG5pbXBvcnQgeyBFbXB0eUhpc3RvcnlJY29uIH0gZnJvbSAnLi4vLi4vYXRvbXMvaWNvbnMvRW1wdHlIaXN0b3J5J1xuaW1wb3J0IHsgdXNlUmVzaXplTGlzdGVuZXIgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VSZXNpemUnXG5pbXBvcnQgeyB1c2VDaGF0cyB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUNoYXRzJ1xuaW1wb3J0IHsgTG9hZGVyIH0gZnJvbSAnLi4vLi4vYXRvbXMvTG9hZGVyJ1xuaW1wb3J0IHsgRXJyb3JTdGF0ZSwgTUFJQUljb24sIE5ld0NoYXQgfSBmcm9tICcuLi8uLi9hdG9tcy9pY29ucydcbmltcG9ydCB7IEVWRU5UUyB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHsgdXNlVCB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVQnXG5pbXBvcnQgeyBPcHRpb25JdGVtIH0gZnJvbSAnLi4vLi4vYXRvbXMvQ2FyZE1lbnUvQ2FyZE1lbnUnXG5pbXBvcnQgeyBFZGl0UXVlc3Rpb25Nb2RhbCB9IGZyb20gJy4uLy4uL29yZ2FuaXNtcy9FZGl0UXVlc3Rpb25Nb2RhbCdcbmltcG9ydCB7IERlbGV0ZVF1ZXN0aW9uTW9kYWwgfSBmcm9tICcuLi8uLi9vcmdhbmlzbXMvRGVsZXRlUXVlc3Rpb25Nb2RhbCdcbmltcG9ydCB7IEVycm9ySWNvbiB9IGZyb20gJy4uLy4uL2F0b21zL2ljb25zL0Vycm9ySWNvbidcbmltcG9ydCB7IHVzZVVzZXIgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2Nvci11c2VyJ1xuaW1wb3J0IHsgT25ib2FyZGluZ01vZGFsQnV0dG9uIH0gZnJvbSAnLi4vLi4vYXRvbXMvT25ib2FyZGluZ01vZGFsQnV0dG9uJ1xuaW1wb3J0IHsgRmVlZGJhY2tCdXR0b24gfSBmcm9tICcuLi8uLi9hdG9tcy9GZWVkYmFja0J1dHRvbidcbmltcG9ydCB7IHVzZUdsb2JhbENvbnRleHQgfSBmcm9tICcuLi8uLi8uLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHtcbiAgU0NMSENXcmFwcGVyLFxuICBTQ0xIQ1dyYXBwZXJBZ2VudCxcbiAgU0NMSENXcmFwcGVyQWdlbnRUZXh0LFxuICBTQ0xIQ1dyYXBwZXJCdXR0b25BY3Rpb25zLFxuICBTQ0xIQ1dyYXBwZXJDb250ZW50LFxuICBTQ0xIQ1dyYXBwZXJUaXRsZSxcbiAgU0NTV3JhcHBlckNvbGxhcHNlZEJ1dHRvbixcbiAgU0NTV3JhcHBlck5ld0NoYXRJY29uLFxufSBmcm9tICcuL1NpZGViYXIuc3R5bGVzJ1xuXG5jb25zdCBhY3Rpb25zID0ge1xuICBlZGl0OiAocHJvcHM6IGFueSkgPT4gPEVkaXRRdWVzdGlvbk1vZGFsIHsuLi5wcm9wc30gLz4sXG4gIGRlbGV0ZTogKHByb3BzOiBhbnkpID0+IDxEZWxldGVRdWVzdGlvbk1vZGFsIHsuLi5wcm9wc30gLz4sXG59XG5cbmNvbnN0IExpc3RIaXN0b3J5Q2hhdCA9ICh7XG4gIGNoYXQsXG4gIG9uQ2xpY2ssXG4gIGlzTW9kYWxPcGVuLFxuICBvbk9wZW5Nb2RhbCxcbiAgb25DbG9zZU1vZGFsLFxuICBoYW5kbGVycyxcbiAgaXNTZWxlY3RlZCxcbn06IHtcbiAgY2hhdDogYW55XG4gIG9uQ2xpY2s6IChjaGF0OiBhbnkpID0+IHZvaWRcbiAgaXNNb2RhbE9wZW46IGJvb2xlYW5cbiAgb25PcGVuTW9kYWw6IChjaGF0SWQ6IHN0cmluZykgPT4gdm9pZFxuICBvbkNsb3NlTW9kYWw6ICgpID0+IHZvaWRcbiAgaGFuZGxlcnM6IHtcbiAgICBoYW5kbGVEZWxldGVDaGF0OiAoY2hhdDogYW55KSA9PiB2b2lkXG4gICAgaGFuZGxlVXBkYXRlQ2hhdDogKGNoYXQ6IGFueSkgPT4gdm9pZFxuICB9XG4gIGlzU2VsZWN0ZWQ6IGJvb2xlYW5cbn0pID0+IHtcbiAgY29uc3QgdGV4dFJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgYWdlbnRSZWYgPSB1c2VSZWY8SFRNTERpdkVsZW1lbnQ+KG51bGwpXG4gIGNvbnN0IHsgc2hvd1Rvb2x0aXAgfSA9IHVzZVJlc2l6ZUxpc3RlbmVyKHRleHRSZWYsIFtjaGF0LnRpdGxlXSlcbiAgY29uc3QgeyBzaG93VG9vbHRpcDogc2hvd1Rvb2x0aXBBZ2VudCB9ID0gdXNlUmVzaXplTGlzdGVuZXIoYWdlbnRSZWYsIFtjaGF0LmFnZW50XSlcbiAgY29uc3QgeyB0IH0gPSB1c2VUKClcbiAgY29uc3QgW2FjdGlvbiwgc2V0QWN0aW9uXSA9IHVzZVN0YXRlPHN0cmluZyB8IG51bGw+KG51bGwpXG5cbiAgY29uc3QgbWVudUl0ZW1zID0gW1xuICAgIHtcbiAgICAgIGxhYmVsOiB0KCdoaXN0b3J5Lm1lbnUucmVuYW1lJyksXG4gICAgICBvbkNsaWNrSXRlbTogKGNoYXRJZDogc3RyaW5nKSA9PiB7XG4gICAgICAgIHNldEFjdGlvbignZWRpdCcpXG4gICAgICAgIG9uT3Blbk1vZGFsKGNoYXRJZClcbiAgICAgIH0sXG4gICAgICBJY29uOiBQZW5jaWwsXG4gICAgICBldmVudEtleTogRVZFTlRTLnBtQWlNZW51RWRpdCxcbiAgICB9LFxuICAgIHtcbiAgICAgIGxhYmVsOiB0KCdoaXN0b3J5Lm1lbnUuZGVsZXRlJyksXG4gICAgICBvbkNsaWNrSXRlbTogKGNoYXRJZDogc3RyaW5nKSA9PiB7XG4gICAgICAgIHNldEFjdGlvbignZGVsZXRlJylcbiAgICAgICAgb25PcGVuTW9kYWwoY2hhdElkKVxuICAgICAgfSxcbiAgICAgIEljb246IFRyYXNoLFxuICAgICAgZXZlbnRLZXk6IEVWRU5UUy5wbUFpTWVudURlbGV0ZSxcbiAgICB9LFxuICBdXG5cbiAgY29uc3QgaGFuZGxlQ29uZmlybUFjdGlvbiA9IChjaGF0RGF0YTogYW55KSA9PiB7XG4gICAgaWYgKGFjdGlvbiA9PT0gJ2VkaXQnKSB7XG4gICAgICBoYW5kbGVycy5oYW5kbGVVcGRhdGVDaGF0KGNoYXREYXRhKVxuICAgIH0gZWxzZSB7XG4gICAgICBoYW5kbGVycy5oYW5kbGVEZWxldGVDaGF0KGNoYXREYXRhKVxuICAgIH1cbiAgICBzZXRBY3Rpb24obnVsbClcbiAgICBvbkNsb3NlTW9kYWwoKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8PlxuICAgICAgPFNDTEhDV3JhcHBlckNvbnRlbnRcbiAgICAgICAgb25DbGljaz17ZSA9PiB7XG4gICAgICAgICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuICAgICAgICAgIG9uQ2xpY2soY2hhdClcbiAgICAgICAgfX1cbiAgICAgICAga2V5PXtgY29udmVyc2F0aW9uLSR7Y2hhdC5zZXNzaW9uRXh0ZXJuYWxJZH1gfVxuICAgICAgICBpc01vZGFsT3Blbj17aXNNb2RhbE9wZW59XG4gICAgICAgIGlzU2VsZWN0ZWQ9e2lzU2VsZWN0ZWR9XG4gICAgICA+XG4gICAgICAgIDxTQ0xIQ1dyYXBwZXI+XG4gICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e3Nob3dUb29sdGlwID8gY2hhdC50aXRsZSA6ICcnfT5cbiAgICAgICAgICAgIDxTQ0xIQ1dyYXBwZXJUaXRsZSByZWY9e3RleHRSZWZ9PntjaGF0LnRpdGxlIHx8IHQoJ2NvbnZlcnNhdGlvbnMuZW1wdHlMYWJlbCcpfTwvU0NMSENXcmFwcGVyVGl0bGU+XG4gICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgIDxUb29sdGlwIHRpdGxlPXtzaG93VG9vbHRpcEFnZW50ID8gY2hhdC5hZ2VudCArIChjaGF0LnByb2plY3ROYW1lID8gYCAtICR7Y2hhdC5wcm9qZWN0TmFtZX1gIDogJycpIDogJyd9PlxuICAgICAgICAgICAgPFNDTEhDV3JhcHBlckFnZW50PlxuICAgICAgICAgICAgICB7Y2hhdC5hZ2VudFR5cGUgPT09ICdjbG9uZScgPyAoXG4gICAgICAgICAgICAgICAgPE1BSUFJY29uIHdpZHRoPXsxNH0gaGVpZ2h0PXsxNH0gLz5cbiAgICAgICAgICAgICAgKSA6IChcbiAgICAgICAgICAgICAgICA8c3BhbiBzdHlsZT17eyBmb250U2l6ZTogJzE0cHgnIH19PntjaGF0LmVtb2ppfTwvc3Bhbj5cbiAgICAgICAgICAgICAgKX1cblxuICAgICAgICAgICAgICA8U0NMSENXcmFwcGVyQWdlbnRUZXh0IHJlZj17YWdlbnRSZWZ9PlxuICAgICAgICAgICAgICAgIHtjaGF0LmFnZW50fVxuICAgICAgICAgICAgICAgIHtjaGF0LnByb2plY3ROYW1lICYmIGAgLSAke2NoYXQucHJvamVjdE5hbWV9YH1cbiAgICAgICAgICAgICAgPC9TQ0xIQ1dyYXBwZXJBZ2VudFRleHQ+XG4gICAgICAgICAgICA8L1NDTEhDV3JhcHBlckFnZW50PlxuICAgICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgPC9TQ0xIQ1dyYXBwZXI+XG4gICAgICAgIDxTQ0xIQ1dyYXBwZXJCdXR0b25BY3Rpb25zPlxuICAgICAgICAgIDxDVUJ1dHRvblxuICAgICAgICAgICAgaWNvbk9ubHlcbiAgICAgICAgICAgIHNpemU9XCJzbWFsbFwiXG4gICAgICAgICAgICB2YXJpYW50PVwidGV4dFwiXG4gICAgICAgICAgICBvbkNsaWNrPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgIGV2ZW50LnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICAgICAgICAgIG9uT3Blbk1vZGFsKGNoYXQuaWQpXG4gICAgICAgICAgICB9fVxuICAgICAgICAgID5cbiAgICAgICAgICAgIDxNZW51RG90cyB3aWR0aD17MjB9IGhlaWdodD17MjB9IC8+XG4gICAgICAgICAgPC9DVUJ1dHRvbj5cbiAgICAgICAgICB7aXNNb2RhbE9wZW4gJiYgIWFjdGlvbiAmJiAoXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGRhdGEtbW9kYWwtY29udGFpbmVyXG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgcG9zaXRpb246ICdhYnNvbHV0ZScsXG4gICAgICAgICAgICAgICAgdG9wOiAnMzJweCcsXG4gICAgICAgICAgICAgICAgcmlnaHQ6ICcxNnB4JyxcbiAgICAgICAgICAgICAgICBiYWNrZ3JvdW5kQ29sb3I6ICd3aGl0ZScsXG4gICAgICAgICAgICAgICAgekluZGV4OiAxMDAwLFxuICAgICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgICAgICAgICAgICBib3JkZXJSYWRpdXM6ICc0cHgnLFxuICAgICAgICAgICAgICAgIGJvcmRlcjogJzFweCBzb2xpZCByZ2JhKDIyNCwgMjI0LCAyMjQsIDEpJyxcbiAgICAgICAgICAgICAgICBtaW5XaWR0aDogJzEyNHB4JyxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge21lbnVJdGVtcy5tYXAoKHsgbGFiZWwsIG9uQ2xpY2tJdGVtLCBJY29uLCBldmVudEtleSB9KSA9PiAoXG4gICAgICAgICAgICAgICAgPE9wdGlvbkl0ZW1cbiAgICAgICAgICAgICAgICAgIGtleT17bGFiZWx9XG4gICAgICAgICAgICAgICAgICBsYWJlbD17bGFiZWx9XG4gICAgICAgICAgICAgICAgICBvbkNsaWNrPXsoKSA9PiBvbkNsaWNrSXRlbShjaGF0LmlkKX1cbiAgICAgICAgICAgICAgICAgIEljb249e0ljb259XG4gICAgICAgICAgICAgICAgICBldmVudEtleT17ZXZlbnRLZXl9XG4gICAgICAgICAgICAgICAgLz5cbiAgICAgICAgICAgICAgKSl9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICApfVxuICAgICAgICA8L1NDTEhDV3JhcHBlckJ1dHRvbkFjdGlvbnM+XG4gICAgICA8L1NDTEhDV3JhcHBlckNvbnRlbnQ+XG4gICAgICB7ISFhY3Rpb24gJiZcbiAgICAgICAgYWN0aW9uc1thY3Rpb25dKHtcbiAgICAgICAgICBvbkNsb3NlOiAoKSA9PiB7XG4gICAgICAgICAgICBvbkNsb3NlTW9kYWwoKVxuICAgICAgICAgICAgc2V0QWN0aW9uKG51bGwpXG4gICAgICAgICAgfSxcbiAgICAgICAgICBjaGF0LFxuICAgICAgICAgIGhhbmRsZXJzOiB7XG4gICAgICAgICAgICBoYW5kbGVDb25maXJtQWN0aW9uLFxuICAgICAgICAgICAgaGFuZGxlU2V0SXNPcGVuTW9kYWw6IG9uQ2xvc2VNb2RhbCxcbiAgICAgICAgICB9LFxuICAgICAgICB9KX1cbiAgICA8Lz5cbiAgKVxufVxuXG5leHBvcnQgY29uc3QgU2lkZWJhciA9ICh7XG4gIG9uR29Ub0NoYXQsXG4gIG9uRXJyb3IgPSAoKSA9PiBudWxsLFxuICBoYW5kbGVHb1RvSG9tZSxcbiAgc2hvd05ld0NoYXQsXG4gIHJlZmV0Y2hDaGF0cyxcbiAgaGFuZGxlU2V0UmVmZXRjaENoYXRzLFxuICBoYXNFcnJvcixcbiAgcmVzZXRTZWxlY3RlZENoYXRSZWYsXG59OiB7XG4gIG9uR29Ub0NoYXQ6IChjaGF0SWQ6IHN0cmluZykgPT4gdm9pZFxuICBvbkVycm9yOiAoKSA9PiB2b2lkXG4gIGhhbmRsZUdvVG9Ib21lOiAoKSA9PiB2b2lkXG4gIHNob3dOZXdDaGF0OiBib29sZWFuXG4gIHJlZmV0Y2hDaGF0czogYm9vbGVhblxuICBoYW5kbGVTZXRSZWZldGNoQ2hhdHM6IChyZWZldGNoOiBib29sZWFuKSA9PiB2b2lkXG4gIGhhc0Vycm9yOiBib29sZWFuXG4gIHJlc2V0U2VsZWN0ZWRDaGF0UmVmPzogTXV0YWJsZVJlZk9iamVjdDwoKCkgPT4gdm9pZCkgfCBudWxsPlxufSkgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVQoKVxuICBjb25zdCBbaXNPcGVuLCBzZXRJc09wZW5dID0gdXNlU3RhdGUodHJ1ZSlcbiAgY29uc3QgW2lzT3Blbk1vZGFsLCBzZXRJc09wZW5Nb2RhbF0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxuICBjb25zdCBbc2VsZWN0ZWRDaGF0LCBzZXRTZWxlY3RlZENoYXRdID0gdXNlU3RhdGU8c3RyaW5nIHwgbnVsbD4obnVsbClcbiAgY29uc3QgY2hhdHNGZXRjaGVkUmVmID0gdXNlUmVmKGZhbHNlKVxuICBjb25zdCBjaGF0c0NvbnRhaW5lclJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbClcbiAgY29uc3QgdXNlciA9IHVzZVVzZXIoKVxuICBjb25zdCB7IGFnZW50OiBzZWxlY3RlZEFnZW50IH0gPSB1c2VHbG9iYWxDb250ZXh0KClcbiAgY29uc3Qge1xuICAgIGxvYWRpbmdDaGF0cyxcbiAgICBjaGF0cyxcbiAgICBkZWxldGVDaGF0LFxuICAgIHVwZGF0ZUNoYXQsXG4gICAgZmV0Y2hDaGF0cyxcbiAgICBsaW1pdCxcbiAgICBvZmZzZXQsXG4gICAgaGFzTW9yZUNoYXRzLFxuICAgIGxvYWRNb3JlQ2hhdHMsXG4gICAgaXNMb2FkaW5nTW9yZUNoYXRzLFxuICB9ID0gdXNlQ2hhdHMoe1xuICAgIG9uRXJyb3IsXG4gIH0pXG5cbiAgY29uc3QgdXNlclBlcm1pc3Npb25zID0gdXNlcj8ucGVybWlzc2lvbnM/LmFpX2FnZW50c1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHJlc2V0U2VsZWN0ZWRDaGF0UmVmKSB7XG4gICAgICByZXNldFNlbGVjdGVkQ2hhdFJlZi5jdXJyZW50ID0gKCkgPT4gc2V0U2VsZWN0ZWRDaGF0KG51bGwpXG4gICAgfVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZiAocmVzZXRTZWxlY3RlZENoYXRSZWYpIHtcbiAgICAgICAgcmVzZXRTZWxlY3RlZENoYXRSZWYuY3VycmVudCA9IG51bGxcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtyZXNldFNlbGVjdGVkQ2hhdFJlZl0pXG5cbiAgY29uc3QgaGFuZGxlRGVsZXRlQ2hhdCA9IGFzeW5jIChjaGF0OiBhbnkpID0+IHtcbiAgICBkZWxldGVDaGF0KGNoYXQuc2Vzc2lvbkV4dGVybmFsSWQpXG4gICAgc2V0SXNPcGVuTW9kYWwobnVsbClcbiAgICBoYW5kbGVHb1RvSG9tZSgpXG4gIH1cblxuICBjb25zdCBoYW5kbGVVcGRhdGVDaGF0ID0gKGNoYXQ6IGFueSkgPT4ge1xuICAgIHVwZGF0ZUNoYXQoY2hhdClcbiAgICBzZXRJc09wZW5Nb2RhbChudWxsKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlT3Blbk1vZGFsID0gKGNoYXRJZDogc3RyaW5nKSA9PiB7XG4gICAgaWYgKGlzT3Blbk1vZGFsICYmIGlzT3Blbk1vZGFsICE9PSBjaGF0SWQpIHtcbiAgICAgIHNldElzT3Blbk1vZGFsKG51bGwpXG4gICAgfSBlbHNlIHtcbiAgICAgIHNldElzT3Blbk1vZGFsKGNoYXRJZClcbiAgICB9XG4gIH1cblxuICBjb25zdCBoYW5kbGVDbG9zZU1vZGFsID0gKCkgPT4ge1xuICAgIHNldElzT3Blbk1vZGFsKG51bGwpXG4gIH1cblxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGNvbnN0IGhhbmRsZUNsaWNrT3V0c2lkZSA9IChldmVudDogTW91c2VFdmVudCkgPT4ge1xuICAgICAgaWYgKGlzT3Blbk1vZGFsICYmICEoZXZlbnQudGFyZ2V0IGFzIEVsZW1lbnQpLmNsb3Nlc3QoJ1tkYXRhLW1vZGFsLWNvbnRhaW5lcl0nKSkge1xuICAgICAgICBzZXRJc09wZW5Nb2RhbChudWxsKVxuICAgICAgfVxuICAgIH1cblxuICAgIGlmIChpc09wZW5Nb2RhbCkge1xuICAgICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcignbW91c2Vkb3duJywgaGFuZGxlQ2xpY2tPdXRzaWRlKVxuICAgIH1cblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKCdtb3VzZWRvd24nLCBoYW5kbGVDbGlja091dHNpZGUpXG4gICAgfVxuICB9LCBbaXNPcGVuTW9kYWxdKVxuXG4gIGNvbnN0IGhhbmRsZVRvZ2dsZVNpZGViYXIgPSAoKSA9PiB7XG4gICAgaWYgKGlzT3Blbk1vZGFsKSB7XG4gICAgICBzZXRJc09wZW5Nb2RhbChudWxsKVxuICAgIH1cbiAgICBzZXRJc09wZW4ocHJldiA9PiAhcHJldilcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGlzT3BlbiAmJiAhY2hhdHNGZXRjaGVkUmVmLmN1cnJlbnQpIHtcbiAgICAgIGNoYXRzRmV0Y2hlZFJlZi5jdXJyZW50ID0gdHJ1ZVxuICAgICAgZmV0Y2hDaGF0cyh7IGxpbWl0LCBvZmZzZXQgfSlcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBpZiAocmVmZXRjaENoYXRzKSB7XG4gICAgICBmZXRjaENoYXRzKHsgbGltaXQsIG9mZnNldCB9KVxuICAgICAgaGFuZGxlU2V0UmVmZXRjaENoYXRzKGZhbHNlKVxuICAgIH1cbiAgfSwgW2lzT3BlbiwgcmVmZXRjaENoYXRzLCBoYW5kbGVTZXRSZWZldGNoQ2hhdHNdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlU2Nyb2xsID0gKCkgPT4ge1xuICAgICAgaWYgKCFjaGF0c0NvbnRhaW5lclJlZi5jdXJyZW50IHx8ICFoYXNNb3JlQ2hhdHMgfHwgaXNMb2FkaW5nTW9yZUNoYXRzIHx8IGhhc0Vycm9yKSB7XG4gICAgICAgIHJldHVyblxuICAgICAgfVxuXG4gICAgICBjb25zdCB7IHNjcm9sbFRvcCwgc2Nyb2xsSGVpZ2h0LCBjbGllbnRIZWlnaHQgfSA9IGNoYXRzQ29udGFpbmVyUmVmLmN1cnJlbnRcbiAgICAgIGNvbnN0IGlzQXRCb3R0b20gPSBzY3JvbGxUb3AgKyBjbGllbnRIZWlnaHQgPj0gc2Nyb2xsSGVpZ2h0IC0gMTBcblxuICAgICAgaWYgKGlzQXRCb3R0b20pIHtcbiAgICAgICAgbG9hZE1vcmVDaGF0cygpXG4gICAgICB9XG4gICAgfVxuXG4gICAgY29uc3QgY29udGFpbmVyID0gY2hhdHNDb250YWluZXJSZWYuY3VycmVudFxuICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgIGNvbnRhaW5lci5hZGRFdmVudExpc3RlbmVyKCdzY3JvbGwnLCBoYW5kbGVTY3JvbGwpXG4gICAgfVxuXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGlmIChjb250YWluZXIpIHtcbiAgICAgICAgY29udGFpbmVyLnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3Njcm9sbCcsIGhhbmRsZVNjcm9sbClcbiAgICAgIH1cbiAgICB9XG4gIH0sIFtoYXNNb3JlQ2hhdHMsIGlzTG9hZGluZ01vcmVDaGF0cywgbG9hZE1vcmVDaGF0cywgaGFzRXJyb3JdKVxuXG4gIGNvbnN0IGhhbmRsZU5ld0NoYXQgPSBhc3luYyAoKSA9PiB7XG4gICAgaWYgKGlzT3Blbk1vZGFsKSB7XG4gICAgICBzZXRJc09wZW5Nb2RhbChudWxsKVxuICAgIH1cbiAgICBzZXRTZWxlY3RlZENoYXQobnVsbClcbiAgICBhd2FpdCBmZXRjaENoYXRzKHsgbGltaXQsIG9mZnNldDogMCB9KVxuICAgIGhhbmRsZUdvVG9Ib21lKClcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlUmVmZXRjaFNlc3Npb24gPSAoKSA9PiB7XG4gICAgICBmZXRjaENoYXRzKHsgbGltaXQ6IDIwLCBvZmZzZXQ6IDAgfSlcbiAgICB9XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcigncmVmZXRjaC1zZXNzaW9uJywgaGFuZGxlUmVmZXRjaFNlc3Npb24pXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ3JlZmV0Y2gtc2Vzc2lvbicsIGhhbmRsZVJlZmV0Y2hTZXNzaW9uKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgY29uc3Qgc2hvd05ld0NoYXRCdXR0b24gPVxuICAgICFzaG93TmV3Q2hhdCAmJlxuICAgICFoYXNFcnJvciAmJlxuICAgICFsb2FkaW5nQ2hhdHMgJiZcbiAgICAoKHVzZXJQZXJtaXNzaW9ucz8udmlldyAmJlxuICAgICAgIXNlbGVjdGVkQWdlbnQ/LmlzX2RlbGV0ZWQgJiZcbiAgICAgICFzZWxlY3RlZEFnZW50Py5oYXNfbm90X3Blcm1pc3Npb25zICYmXG4gICAgICAhc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9hY2Nlc3MpIHx8XG4gICAgICAoIXVzZXJQZXJtaXNzaW9ucz8udmlldyAmJlxuICAgICAgICAhc2VsZWN0ZWRBZ2VudD8uaXNfZGVsZXRlZCAmJlxuICAgICAgICAhc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9wZXJtaXNzaW9ucyAmJlxuICAgICAgICAhc2VsZWN0ZWRBZ2VudD8uaGFzX25vdF9hY2Nlc3MpKVxuXG4gIHJldHVybiAoXG4gICAgPGRpdlxuICAgICAgc3R5bGU9e3tcbiAgICAgICAgYmFja2dyb3VuZENvbG9yOiAnI2Y5ZjlmOScsXG4gICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgIHBhZGRpbmc6ICcxMnB4IDEwcHgnLFxuICAgICAgICBtaW5XaWR0aDogYCR7aXNPcGVuID8gJzIwMHB4JyA6ICc0NnB4J31gLFxuICAgICAgICBtYXhXaWR0aDogJzI3MHB4JyxcbiAgICAgICAgdHJhbnNpdGlvbjogJ2FsbCAwLjNzIGVhc2UtaW4tb3V0JyxcbiAgICAgICAgYm9yZGVyUmFkaXVzOiAnaW5oZXJpdCcsXG4gICAgICAgIGJvcmRlclRvcFJpZ2h0UmFkaXVzOiAnMCcsXG4gICAgICAgIGJvcmRlckJvdHRvbVJpZ2h0UmFkaXVzOiAnMCcsXG4gICAgICAgIGdhcDogJzEycHgnLFxuICAgICAgICBvdmVyZmxvdzogJ2hpZGRlbicsXG4gICAgICAgIG92ZXJzY3JvbGxCZWhhdmlvcjogJ2NvbnRhaW4nLFxuICAgICAgICAuLi4oIWlzT3BlbiAmJiB7IGFsaWduSXRlbXM6ICdjZW50ZXInLCBqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nIH0pLFxuICAgICAgfX1cbiAgICA+XG4gICAgICA8ZGl2XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgIGdhcDogJzIycHgnLFxuICAgICAgICAgIGZsZXhEaXJlY3Rpb246IGAke2lzT3BlbiA/ICdyb3ctcmV2ZXJzZScgOiAnY29sdW1uJ31gLFxuICAgICAgICAgIC4uLihpc09wZW4gJiYgeyBqdXN0aWZ5Q29udGVudDogJ3NwYWNlLWJldHdlZW4nIH0pLFxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICA8VG9vbHRpcCB0aXRsZT17aXNPcGVuID8gdCgnY29udmVyc2F0aW9ucy5jb2xsYXBzZScpIDogdCgnY29udmVyc2F0aW9ucy5leHBhbmQnKX0+XG4gICAgICAgICAgPFNDU1dyYXBwZXJDb2xsYXBzZWRCdXR0b24gb25DbGljaz17aGFuZGxlVG9nZ2xlU2lkZWJhcn0gaXNPcGVuPXtpc09wZW59PlxuICAgICAgICAgICAgPENoZXZyb25Eb3VibGVMZWZ0IGNvbG9yPVwicmdiYSgxMDIsIDEwMiwgMTAyLCAxKVwiIHdpZHRoPXsyMH0gaGVpZ2h0PXsyMH0gLz5cbiAgICAgICAgICA8L1NDU1dyYXBwZXJDb2xsYXBzZWRCdXR0b24+XG4gICAgICAgIDwvVG9vbHRpcD5cbiAgICAgICAgPGRpdlxuICAgICAgICAgIHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywgZ2FwOiBgJHtpc09wZW4gPyAnMTZweCcgOiAnMjJweCd9YCwgZmxleERpcmVjdGlvbjogYCR7aXNPcGVuID8gJ3JvdycgOiAnY29sdW1uJ31gIH19XG4gICAgICAgID5cbiAgICAgICAgICB7c2hvd05ld0NoYXRCdXR0b24gJiYgKFxuICAgICAgICAgICAgPFRvb2x0aXAgdGl0bGU9e3QoJ2NvbnZlcnNhdGlvbnMubmV3Q2hhdCcpfT5cbiAgICAgICAgICAgICAgPFNDU1dyYXBwZXJOZXdDaGF0SWNvbiBvbkNsaWNrPXtoYW5kbGVOZXdDaGF0fT5cbiAgICAgICAgICAgICAgICA8TmV3Q2hhdCB3aWR0aD17MjB9IGhlaWdodD17MjB9IC8+XG4gICAgICAgICAgICAgIDwvU0NTV3JhcHBlck5ld0NoYXRJY29uPlxuICAgICAgICAgICAgPC9Ub29sdGlwPlxuICAgICAgICAgICl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgICA8ZGl2XG4gICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgIHdpZHRoOiAnMTAwJScsXG4gICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgICAgaGVpZ2h0OiAnY2FsYygxMDAlIC0gMzJweCknLFxuICAgICAgICAgIGp1c3RpZnlDb250ZW50OiBgJHtpc09wZW4gPyAnJyA6ICdmbGV4LWVuZCd9YCxcbiAgICAgICAgfX1cbiAgICAgID5cbiAgICAgICAge2lzT3BlbiAmJiAoXG4gICAgICAgICAgPGRpdlxuICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgcGFkZGluZzogJzhweCAwIDAgMCcsXG4gICAgICAgICAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgICAgICAgIGdhcDogJzRweCcsXG4gICAgICAgICAgICAgIGZsZXhHcm93OiAxLFxuICAgICAgICAgICAgICBtaW5XaWR0aDogJzI0NHB4JyxcbiAgICAgICAgICAgIH19XG4gICAgICAgICAgPlxuICAgICAgICAgICAgPHNwYW5cbiAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICBmb250U2l6ZTogJzE0cHgnLFxuICAgICAgICAgICAgICAgIGZvbnRXZWlnaHQ6ICc0MDAnLFxuICAgICAgICAgICAgICAgIGNvbG9yOiAnIzY2NjY2NicsXG4gICAgICAgICAgICAgICAgbGluZUhlaWdodDogJzE0MCUnLFxuICAgICAgICAgICAgICAgIHBhZGRpbmdMZWZ0OiAnMTJweCcsXG4gICAgICAgICAgICAgIH19XG4gICAgICAgICAgICA+XG4gICAgICAgICAgICAgIHt0KCdjb252ZXJzYXRpb25zLnRpdGxlJyl9XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIHJlZj17Y2hhdHNDb250YWluZXJSZWZ9XG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuICAgICAgICAgICAgICAgIGdhcDogJzRweCcsXG4gICAgICAgICAgICAgICAgZmxleEdyb3c6IDEsXG4gICAgICAgICAgICAgICAgd2lkdGg6ICcxMDAlJyxcbiAgICAgICAgICAgICAgICBvdmVyZmxvd1k6ICdhdXRvJyxcbiAgICAgICAgICAgICAgICBvdmVyc2Nyb2xsQmVoYXZpb3JZOiAnY29udGFpbicsXG4gICAgICAgICAgICAgICAgLi4uKGNoYXRzLmxlbmd0aCAmJiB7IG1heEhlaWdodDogYGNhbGMoMTAwdmggLSAke2hhc0Vycm9yID8gMTk3IDogMTYwfXB4KWAgfSksXG4gICAgICAgICAgICAgICAgLi4uKCFjaGF0cy5sZW5ndGggJiYgeyBhbGlnbkl0ZW1zOiAnY2VudGVyJyB9KSxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2hhc0Vycm9yICYmICFjaGF0cy5sZW5ndGggPyAoXG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgICAgICBmbGV4R3JvdzogMSxcbiAgICAgICAgICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywgZmxleEdyb3c6IDEgfX0+XG4gICAgICAgICAgICAgICAgICAgIDxFcnJvclN0YXRlIC8+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgICAgICAgICAgYWxpZ25JdGVtczogJ2NlbnRlcicsXG4gICAgICAgICAgICAgICAgICAgICAgZ2FwOiAnMTZweCcsXG4gICAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAncmdiYSgyNTMsIDIzNiwgMjM2LCAxKScsXG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyUmFkaXVzOiAnOHB4JyxcbiAgICAgICAgICAgICAgICAgICAgICBwYWRkaW5nOiAnMTJweCcsXG4gICAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkIHJnYmEoMTk5LCA1LCA1LCAxKScsXG4gICAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInIH19PlxuICAgICAgICAgICAgICAgICAgICAgIDxFcnJvckljb24gLz5cbiAgICAgICAgICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgICAgIGZvbnRTaXplOiAnMTRweCcsXG4gICAgICAgICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiAnNDAwJyxcbiAgICAgICAgICAgICAgICAgICAgICAgIGNvbG9yOiAncmdiYSgzMiwgMzIsIDMxLCAxKScsXG4gICAgICAgICAgICAgICAgICAgICAgICBsaW5lSGVpZ2h0OiAnMTQwJScsXG4gICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICAgIHt0KCdjb252ZXJzYXRpb25zLmVycm9yJyl9XG4gICAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICApIDogbG9hZGluZ0NoYXRzID8gKFxuICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3sgaGVpZ2h0OiAnNjcwcHgnIH19PlxuICAgICAgICAgICAgICAgICAgPExvYWRlciAvPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICApIDogY2hhdHMubGVuZ3RoID8gKFxuICAgICAgICAgICAgICAgIDw+XG4gICAgICAgICAgICAgICAgICB7Y2hhdHMubWFwKGNoYXQgPT4ge1xuICAgICAgICAgICAgICAgICAgICByZXR1cm4gKFxuICAgICAgICAgICAgICAgICAgICAgIDxMaXN0SGlzdG9yeUNoYXRcbiAgICAgICAgICAgICAgICAgICAgICAgIGtleT17Y2hhdC5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgIGNoYXQ9e2NoYXR9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsaWNrPXtjaGF0RGF0YSA9PiB7XG4gICAgICAgICAgICAgICAgICAgICAgICAgIGlmIChpc09wZW5Nb2RhbCkge1xuICAgICAgICAgICAgICAgICAgICAgICAgICAgIHNldElzT3Blbk1vZGFsKG51bGwpXG4gICAgICAgICAgICAgICAgICAgICAgICAgIH1cbiAgICAgICAgICAgICAgICAgICAgICAgICAgc2V0U2VsZWN0ZWRDaGF0KGNoYXREYXRhLnNlc3Npb25FeHRlcm5hbElkKVxuICAgICAgICAgICAgICAgICAgICAgICAgICBvbkdvVG9DaGF0KGNoYXREYXRhKVxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlzTW9kYWxPcGVuPXtpc09wZW5Nb2RhbCA9PT0gY2hhdC5pZH1cbiAgICAgICAgICAgICAgICAgICAgICAgIG9uT3Blbk1vZGFsPXtoYW5kbGVPcGVuTW9kYWx9XG4gICAgICAgICAgICAgICAgICAgICAgICBvbkNsb3NlTW9kYWw9e2hhbmRsZUNsb3NlTW9kYWx9XG4gICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVycz17e1xuICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVEZWxldGVDaGF0LFxuICAgICAgICAgICAgICAgICAgICAgICAgICBoYW5kbGVVcGRhdGVDaGF0LFxuICAgICAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgICAgICAgIGlzU2VsZWN0ZWQ9e3NlbGVjdGVkQ2hhdCA9PT0gY2hhdC5zZXNzaW9uRXh0ZXJuYWxJZH1cbiAgICAgICAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICAgICAgICApXG4gICAgICAgICAgICAgICAgICB9KX1cbiAgICAgICAgICAgICAgICAgIHtpc0xvYWRpbmdNb3JlQ2hhdHMgJiYgKFxuICAgICAgICAgICAgICAgICAgICA8ZGl2IHN0eWxlPXt7IGRpc3BsYXk6ICdmbGV4JywganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLCBwYWRkaW5nOiAnMTZweCcgfX0+XG4gICAgICAgICAgICAgICAgICAgICAgPExvYWRlciAvPlxuICAgICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgICl9XG4gICAgICAgICAgICAgICAgPC8+XG4gICAgICAgICAgICAgICkgOiAoXG4gICAgICAgICAgICAgICAgPGRpdlxuICAgICAgICAgICAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgICAgICBhbGlnbkl0ZW1zOiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgICAgICAganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgICAgICBmbGV4R3JvdzogMSxcbiAgICAgICAgICAgICAgICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICAgICAgICAgICAgICAgIGdhcDogJzE4cHgnLFxuICAgICAgICAgICAgICAgICAgICB3aWR0aDogJzIwMXB4JyxcbiAgICAgICAgICAgICAgICAgIH19XG4gICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgPEVtcHR5SGlzdG9yeUljb24gLz5cbiAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6ICcxNHB4JyxcbiAgICAgICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiAnNDAwJyxcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ3JnYmEoMTAyLCAxMDIsIDEwMiwgMSknLFxuICAgICAgICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6ICcxNDAlJyxcbiAgICAgICAgICAgICAgICAgICAgICB0ZXh0QWxpZ246ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgICAgICB7dCgnY29udmVyc2F0aW9ucy5lbXB0eScpfVxuICAgICAgICAgICAgICAgICAgPC9zcGFuPlxuICAgICAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICAgICApfVxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiAnY2VudGVyJyxcbiAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAge2hhc0Vycm9yICYmIGNoYXRzLmxlbmd0aCA/IChcbiAgICAgICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgICAgICBzdHlsZT17e1xuICAgICAgICAgICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICAgICAgICAgIGFsaWduSXRlbXM6ICdjZW50ZXInLFxuICAgICAgICAgICAgICAgICAgICBnYXA6ICcxNnB4JyxcbiAgICAgICAgICAgICAgICAgICAgYmFja2dyb3VuZENvbG9yOiAncmdiYSgyNTMsIDIzNiwgMjM2LCAxKScsXG4gICAgICAgICAgICAgICAgICAgIGJvcmRlclJhZGl1czogJzhweCcsXG4gICAgICAgICAgICAgICAgICAgIHBhZGRpbmc6ICcxMnB4JyxcbiAgICAgICAgICAgICAgICAgICAgYm9yZGVyOiAnMXB4IHNvbGlkIHJnYmEoMTk5LCA1LCA1LCAxKScsXG4gICAgICAgICAgICAgICAgICB9fVxuICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgIDxkaXYgc3R5bGU9e3sgZGlzcGxheTogJ2ZsZXgnLCBhbGlnbkl0ZW1zOiAnY2VudGVyJywganVzdGlmeUNvbnRlbnQ6ICdjZW50ZXInIH19PlxuICAgICAgICAgICAgICAgICAgICA8RXJyb3JJY29uIC8+XG4gICAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgICAgIDxzcGFuXG4gICAgICAgICAgICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICAgICAgICAgICAgZm9udFNpemU6ICcxNHB4JyxcbiAgICAgICAgICAgICAgICAgICAgICBmb250V2VpZ2h0OiAnNDAwJyxcbiAgICAgICAgICAgICAgICAgICAgICBjb2xvcjogJ3JnYmEoMzIsIDMyLCAzMSwgMSknLFxuICAgICAgICAgICAgICAgICAgICAgIGxpbmVIZWlnaHQ6ICcxNDAlJyxcbiAgICAgICAgICAgICAgICAgICAgfX1cbiAgICAgICAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgICAgICAge3QoJ2NvbnZlcnNhdGlvbnMuZXJyb3InKX1cbiAgICAgICAgICAgICAgICAgIDwvc3Bhbj5cbiAgICAgICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICAgICAgKSA6IG51bGx9XG4gICAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgICA8L2Rpdj5cbiAgICAgICAgKX1cbiAgICAgICAgPGRpdlxuICAgICAgICAgIHN0eWxlPXt7XG4gICAgICAgICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICAgICAgICBnYXA6ICc4cHgnLFxuICAgICAgICAgICAgZmxleERpcmVjdGlvbjogaXNPcGVuID8gJ3JvdycgOiAnY29sdW1uJyxcbiAgICAgICAgICAgIGp1c3RpZnlDb250ZW50OiBzZWxlY3RlZEFnZW50ID8gJ3NwYWNlLWJldHdlZW4nIDogJ2ZsZXgtZW5kJyxcbiAgICAgICAgICB9fVxuICAgICAgICA+XG4gICAgICAgICAge3NlbGVjdGVkQWdlbnQgJiYgPEZlZWRiYWNrQnV0dG9uIHNlbGVjdGVkQWdlbnQ9e3NlbGVjdGVkQWdlbnR9IGlzT3Blbj17aXNPcGVufSAvPn1cbiAgICAgICAgICA8T25ib2FyZGluZ01vZGFsQnV0dG9uIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgPC9kaXY+XG4gICAgPC9kaXY+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsU0FBMkJBLFNBQVMsRUFBRUMsTUFBTSxFQUFFQyxRQUFRLFFBQVEsT0FBTztBQUNyRSxTQUFTQyxpQkFBaUIsUUFBUSxvREFBb0Q7QUFDdEYsU0FBU0MsUUFBUSxRQUFRLDRDQUE0QztBQUNyRSxTQUFTQyxRQUFRLFFBQVEsMkNBQTJDO0FBQ3BFLFNBQVNDLE1BQU0sUUFB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
|