@projectcor/maia-components 2.11.40-0 → 2.11.40-10
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/components/atoms/ContextMentionChip/ContextMentionChip.js +5 -3
- package/lib/components/atoms/ContextMentionChip/ContextMentionChip.styles.js +7 -4
- package/lib/components/atoms/ContextMentionChip/buildChipElement.js +100 -32
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +6 -2
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +43 -44
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +61 -30
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +30 -4
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.styles.js +7 -3
- package/lib/components/molecules/ChatAIMessages/newStyles.js +3 -3
- package/lib/constants/config.js +3 -1
- package/lib/context/cor-user.js +1 -1
- package/lib/hooks/useClientSearch.js +3 -2
- package/lib/hooks/useContextMentions.js +14 -14
- package/lib/hooks/useEntitySearch.js +537 -66
- package/lib/hooks/useMentionPopover.js +19 -5
- package/lib/hooks/useProjectSearch.js +3 -2
- package/lib/hooks/useRecentClientsSearch.js +3 -2
- package/lib/hooks/useTextOverflowEllipsisTooltip.js +1 -2
- package/lib/services/maia/RecentTasks/getRecentTasks.js +15 -4
- package/lib/services/query/entitySearchQuery.js +4 -2
- package/lib/types/contextMention.js +1 -1
- package/lib/utils/renderContextMentions.js +15 -9
- package/package.json +2 -1
|
@@ -2,6 +2,7 @@ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
|
|
|
2
2
|
import styled, { css } from 'styled-components';
|
|
3
3
|
import { CONTEXT_MENTION_CHIP_CLASS } from '../types/contextMention';
|
|
4
4
|
import { MENTION_CHIP_COLORS, MENTION_CHIP_NON_TASK_HOVER_BG } from '../components/atoms/ContextMentionChip/ContextMentionChip.styles';
|
|
5
|
+
import { VIOLET_IA_COLORS } from '../styles/config';
|
|
5
6
|
import { SCTaskLink } from '../components/molecules/ChatAIMessages/newStyles';
|
|
6
7
|
import { getContextMentionIcon } from './contextMentionIcons';
|
|
7
8
|
import { normalizeContextMentionLabel } from './contextMentionLabel';
|
|
@@ -73,8 +74,9 @@ var mentionChildrenToLabel = function mentionChildrenToLabel(children) {
|
|
|
73
74
|
}
|
|
74
75
|
return normalizeContextMentionLabel(String(children));
|
|
75
76
|
};
|
|
76
|
-
var inlineMentionHoverCss = function inlineMentionHoverCss(isClickable) {
|
|
77
|
-
|
|
77
|
+
var inlineMentionHoverCss = function inlineMentionHoverCss(type, isClickable) {
|
|
78
|
+
var bg = type === 'project' ? VIOLET_IA_COLORS[100] : MENTION_CHIP_NON_TASK_HOVER_BG;
|
|
79
|
+
return css(["background:", ";opacity:", ";"], bg, isClickable ? 0.95 : 1);
|
|
78
80
|
};
|
|
79
81
|
|
|
80
82
|
/** Span inline estilado (menciones no-task en chat). */
|
|
@@ -93,8 +95,9 @@ var SCInlineMention = styled.span.withConfig({
|
|
|
93
95
|
var $isClickable = _ref3.$isClickable;
|
|
94
96
|
return $isClickable ? 'pointer' : 'default';
|
|
95
97
|
}, function (_ref4) {
|
|
96
|
-
var $
|
|
97
|
-
|
|
98
|
+
var $type = _ref4.$type,
|
|
99
|
+
$isClickable = _ref4.$isClickable;
|
|
100
|
+
return inlineMentionHoverCss($type, $isClickable);
|
|
98
101
|
});
|
|
99
102
|
var SCInlineMentionIcon = styled.span.withConfig({
|
|
100
103
|
displayName: "renderContextMentions__SCInlineMentionIcon",
|
|
@@ -144,6 +147,7 @@ export var renderMentionLink = function renderMentionLink(href, children) {
|
|
|
144
147
|
}
|
|
145
148
|
var isProject = type === 'project';
|
|
146
149
|
var projectUrl = isProject ? "/project/".concat(id, "/dashboard") : null;
|
|
150
|
+
var showIcon = !isProject;
|
|
147
151
|
var handleProjectClick = function handleProjectClick(e) {
|
|
148
152
|
if (!projectUrl) return;
|
|
149
153
|
e.preventDefault();
|
|
@@ -159,10 +163,10 @@ export var renderMentionLink = function renderMentionLink(href, children) {
|
|
|
159
163
|
onClick: isProject ? handleProjectClick : undefined,
|
|
160
164
|
role: isProject ? 'button' : undefined,
|
|
161
165
|
tabIndex: isProject ? 0 : undefined,
|
|
162
|
-
children: [/*#__PURE__*/_jsx(SCInlineMentionIcon, {
|
|
166
|
+
children: [showIcon ? /*#__PURE__*/_jsx(SCInlineMentionIcon, {
|
|
163
167
|
$task: isTask,
|
|
164
168
|
children: getContextMentionIcon(type, MENTION_CHIP_COLORS[type].fg, id, iconSize)
|
|
165
|
-
}), label]
|
|
169
|
+
}) : null, label]
|
|
166
170
|
});
|
|
167
171
|
};
|
|
168
172
|
|
|
@@ -212,6 +216,8 @@ var MentionChip = function MentionChip(_ref7) {
|
|
|
212
216
|
var url = getMentionUrl(type, id);
|
|
213
217
|
var isClickable = !!url;
|
|
214
218
|
var isTask = type === 'task';
|
|
219
|
+
var isProject = type === 'project';
|
|
220
|
+
var showIcon = !isProject;
|
|
215
221
|
var iconSize = isTask ? 16 : 14;
|
|
216
222
|
var handleClick = function handleClick(e) {
|
|
217
223
|
if (!isClickable || !url) return;
|
|
@@ -251,10 +257,10 @@ var MentionChip = function MentionChip(_ref7) {
|
|
|
251
257
|
onClick: isClickable ? handleClick : undefined,
|
|
252
258
|
role: isClickable ? 'button' : undefined,
|
|
253
259
|
tabIndex: isClickable ? 0 : undefined,
|
|
254
|
-
children: [/*#__PURE__*/_jsx(SCInlineMentionIcon, {
|
|
260
|
+
children: [showIcon ? /*#__PURE__*/_jsx(SCInlineMentionIcon, {
|
|
255
261
|
$task: isTask,
|
|
256
262
|
children: getContextMentionIcon(type, MENTION_CHIP_COLORS[type].fg, id, iconSize)
|
|
257
|
-
}), normalizedLabel]
|
|
263
|
+
}) : null, normalizedLabel]
|
|
258
264
|
});
|
|
259
265
|
};
|
|
260
266
|
|
|
@@ -290,4 +296,4 @@ export var renderTextWithMentions = function renderTextWithMentions(text) {
|
|
|
290
296
|
if (lastIdx < text.length) out.push(text.slice(lastIdx));
|
|
291
297
|
return out;
|
|
292
298
|
};
|
|
293
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTUyIsIk1FTlRJT05fQ0hJUF9DT0xPUlMiLCJNRU5USU9OX0NISVBfTk9OX1RBU0tfSE9WRVJfQkciLCJTQ1Rhc2tMaW5rIiwiZ2V0Q29udGV4dE1lbnRpb25JY29uIiwibm9ybWFsaXplQ29udGV4dE1lbnRpb25MYWJlbCIsIm9wZW5UYXNrSW5Db3JQYW5lbCIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJNRU5USU9OX01BUktFUl9SRUdFWCIsIk1BSUFfTUVOVElPTl9QUk9UT0NPTCIsIklOQ09NUExFVEVfTUVOVElPTl9NQVJLRVJfUkVHRVgiLCJBTExPV0VEX1RZUEVTIiwicGFyc2VNZW50aW9uUHJvdG9jb2xIcmVmIiwiaHJlZiIsInJlc3QiLCJzbGljZSIsImxlbmd0aCIsInNsYXNoSWR4IiwiaW5kZXhPZiIsInJhd1R5cGUiLCJyYXdJZCIsImlkIiwiZGVjb2RlVVJJQ29tcG9uZW50IiwiX3VudXNlZCIsInR5cGUiLCJpbmNsdWRlcyIsInNlcmlhbGl6ZU1lbnRpb24iLCJtZW50aW9uIiwiY29uY2F0IiwibGFiZWwiLCJ0cmFuc2Zvcm1NZW50aW9uTWFya2VycyIsInRleHQiLCJyZXBsYWNlIiwiX20iLCJzYWZlTGFiZWwiLCJTdHJpbmciLCJlbmNvZGVVUklDb21wb25lbnQiLCJtZW50aW9uQ2hpbGRyZW5Ub0xhYmVsIiwiY2hpbGRyZW4iLCJBcnJheSIsImlzQXJyYXkiLCJtYXAiLCJjIiwiam9pbiIsImlubGluZU1lbnRpb25Ib3ZlckNzcyIsImlzQ2xpY2thYmxlIiwiU0NJbmxpbmVNZW50aW9uIiwic3BhbiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiX3JlZiIsIl9NRU5USU9OX0NISVBfQ09MT1JTJCIsIiR0eXBlIiwidXNlciIsImJnIiwiX3JlZjIiLCJfTUVOVElPTl9DSElQX0NPTE9SUyQyIiwiZmciLCJfcmVmMyIsIiRpc0NsaWNrYWJsZSIsIl9yZWY0IiwiU0NJbmxpbmVNZW50aW9uSWNvbiIsIl9yZWY1IiwiJHRhc2siLCJfcmVmNiIsInJlbmRlck1lbnRpb25MaW5rIiwic3RhcnRzV2l0aCIsIl9wYXJzZU1lbnRpb25Qcm90b2NvbCIsImlzVGFzayIsImljb25TaXplIiwidGFza1VybCIsImhhbmRsZVRhc2tDbGljayIsImUiLCJtZXRhS2V5IiwiY3RybEtleSIsInByZXZlbnREZWZhdWx0Iiwic3RvcFByb3BhZ2F0aW9uIiwiaGFuZGxlVGFza0tleURvd24iLCJrZXkiLCJjbGFzc05hbWUiLCJvbkNsaWNrIiwib25LZXlEb3duIiwiaXNQcm9qZWN0IiwicHJvamVjdFVybCIsImhhbmRsZVByb2plY3RDbGljayIsIndpbmRvdyIsIm9wZW4iLCJ1bmRlZmluZWQiLCJyb2xlIiwidGFiSW5kZXgiLCJzdHJpcE1lbnRpb25NYXJrZXJzIiwiX3R5cGUiLCJfaWQiLCJmb3JtYXRDaGF0TGlzdFRpdGxlTWVudGlvbnMiLCJ3aXRob3V0Q29tcGxldGVNYXJrZXJzIiwidHJpbSIsImdldE1lbnRpb25VcmwiLCJNZW50aW9uQ2hpcCIsIl9yZWY3Iiwibm9ybWFsaXplZExhYmVsIiwidXJsIiwiaGFuZGxlQ2xpY2siLCJoYW5kbGVLZXlEb3duIiwicmVuZGVyVGV4dFdpdGhNZW50aW9ucyIsIm91dCIsImxhc3RJZHgiLCJsYXN0SW5kZXgiLCJtYXRjaCIsImV4ZWMiLCJrZXlJZHgiLCJpbmRleCIsInB1c2giLCJfbWF0Y2giLCJfbWF0Y2gyIiwiX3NsaWNlZFRvQXJyYXkiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvcmVuZGVyQ29udGV4dE1lbnRpb25zLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWFjdE5vZGUsIFJlYWN0RWxlbWVudCwgTW91c2VFdmVudCwgS2V5Ym9hcmRFdmVudCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHN0eWxlZCwgeyBjc3MgfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cydcbmltcG9ydCB7IENvbnRleHRFbnRpdHlUeXBlLCBDb250ZXh0TWVudGlvbiwgQ09OVEVYVF9NRU5USU9OX0NISVBfQ0xBU1MgfSBmcm9tICcuLi90eXBlcy9jb250ZXh0TWVudGlvbidcbmltcG9ydCB7XG4gIE1FTlRJT05fQ0hJUF9DT0xPUlMsXG4gIE1FTlRJT05fQ0hJUF9OT05fVEFTS19IT1ZFUl9CRyxcbn0gZnJvbSAnLi4vY29tcG9uZW50cy9hdG9tcy9Db250ZXh0TWVudGlvbkNoaXAvQ29udGV4dE1lbnRpb25DaGlwLnN0eWxlcydcbmltcG9ydCB7IFNDVGFza0xpbmsgfSBmcm9tICcuLi9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNZXNzYWdlcy9uZXdTdHlsZXMnXG5pbXBvcnQgeyBnZXRDb250ZXh0TWVudGlvbkljb24gfSBmcm9tICcuL2NvbnRleHRNZW50aW9uSWNvbnMnXG5pbXBvcnQgeyBub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsIH0gZnJvbSAnLi9jb250ZXh0TWVudGlvbkxhYmVsJ1xuaW1wb3J0IHsgb3BlblRhc2tJbkNvclBhbmVsIH0gZnJvbSAnLi9vcGVuVGFza0luQ29yUGFuZWwnXG5cbi8qKlxuICogRm9ybWF0byBkZWwgbWFyY2Fkb3IgcXVlIHZpYWphIGVuIGVsIHRleHRvIGRlbCBtZW5zYWplOlxuICogICBbW21lbnRpb246PHR5cGU+OjxpZD58PGxhYmVsPl1dXG4gKlxuICogRWwgZWRpdG9yIGxvIGVtaXRlIGN1YW5kbyBzZXJpYWxpemEgZWwgY29udGVudGVkaXRhYmxlLCBlbCBiYWNrZW5kIGxvXG4gKiBwZXJzaXN0ZSB0YWwgY3VhbCB5IGFsIHJlbmRlcml6YXIgc2UgdHJhbnNmb3JtYSBlbiB1biBsaW5rIG1hcmtkb3duIGNvblxuICogdW4gcHJvdG9jb2xvIHByb3BpbyBxdWUgYEN1c3RvbUxpbmtgIGludGVyY2VwdGEgeSBkaWJ1amEgY29tbyBzcGFuXG4gKiBlc3RpbGFkby5cbiAqXG4gKiBQb3Igc2VwYXJhZG8sIGxhIG1ldGFkYXRhIGBjb250ZXh0X21lc3NhZ2VgIGxsZXZhIGxvcyB2YWxvcmVzIGxpbXBpb3NcbiAqIChpZCArIG5hbWUpIHBhcmEgcXVlIGVsIGJhY2tlbmQgcHVlZGEgaW50ZXJwcmV0YXIgbGFzIGVudGlkYWRlcyBzaW5cbiAqIHRlbmVyIHF1ZSBwYXJzZWFyIGVsIHRleHRvLlxuICovXG4vKipcbiAqIExhYmVsIHB1ZWRlIGNvbnRlbmVyIGBdYCAoZWo6IFwiW0VkdWNhdGVdQmxvZyBQb3N0IC4uLlwiKSwgcG9yIGVzb1xuICogc2UgY2FwdHVyYSBkZSBmb3JtYSBsYXp5IGhhc3RhIGVsIGNpZXJyZSByZWFsIGBdXWAuXG4gKi9cbmV4cG9ydCBjb25zdCBNRU5USU9OX01BUktFUl9SRUdFWCA9IC9cXFtcXFttZW50aW9uOihjbGllbnR8cHJvamVjdHx0YXNrfHVzZXJ8bWNwKTooW158XFxdXSspXFx8KFtcXHNcXFNdKj8pXFxdXFxdL2dcbmV4cG9ydCBjb25zdCBNQUlBX01FTlRJT05fUFJPVE9DT0wgPSAnbWFpYS1tZW50aW9uOi8vJ1xuY29uc3QgSU5DT01QTEVURV9NRU5USU9OX01BUktFUl9SRUdFWCA9IC9cXFtcXFttZW50aW9uOltcXHNcXFNdKiQvXG5cbmNvbnN0IEFMTE9XRURfVFlQRVM6IENvbnRleHRFbnRpdHlUeXBlW10gPSBbJ2NsaWVudCcsICdwcm9qZWN0JywgJ3Rhc2snLCAndXNlcicsICdtY3AnXVxuXG5jb25zdCBwYXJzZU1lbnRpb25Qcm90b2NvbEhyZWYgPSAoaHJlZjogc3RyaW5nKTogeyB0eXBlOiBDb250ZXh0RW50aXR5VHlwZTsgaWQ6IHN0cmluZyB9ID0+IHtcbiAgY29uc3QgcmVzdCA9IGhyZWYuc2xpY2UoTUFJQV9NRU5USU9OX1BST1RPQ09MLmxlbmd0aClcbiAgY29uc3Qgc2xhc2hJZHggPSByZXN0LmluZGV4T2YoJy8nKVxuICBjb25zdCByYXdUeXBlID0gc2xhc2hJZHggPj0gMCA/IHJlc3Quc2xpY2UoMCwgc2xhc2hJZHgpIDogcmVzdFxuICBjb25zdCByYXdJZCA9IHNsYXNoSWR4ID49IDAgPyByZXN0LnNsaWNlKHNsYXNoSWR4ICsgMSkgOiAnJ1xuICBsZXQgaWQgPSAnJ1xuICB0cnkge1xuICAgIGlkID0gcmF3SWQgPyBkZWNvZGVVUklDb21wb25lbnQocmF3SWQpIDogJydcbiAgfSBjYXRjaCB7XG4gICAgaWQgPSByYXdJZFxuICB9XG4gIGNvbnN0IHR5cGUgPSBBTExPV0VEX1RZUEVTLmluY2x1ZGVzKHJhd1R5cGUgYXMgQ29udGV4dEVudGl0eVR5cGUpID8gKHJhd1R5cGUgYXMgQ29udGV4dEVudGl0eVR5cGUpIDogJ3VzZXInXG4gIHJldHVybiB7IHR5cGUsIGlkIH1cbn1cblxuLyoqIEdlbmVyYSBlbCBtYXJjYWRvciBwYXJhIHVuIG1lbnRpb24gZGFkby4gTG8gdXNhIGVsIGVkaXRvciBhbCBzZXJpYWxpemFyLiAqL1xuZXhwb3J0IGNvbnN0IHNlcmlhbGl6ZU1lbnRpb24gPSAobWVudGlvbjogQ29udGV4dE1lbnRpb24pOiBzdHJpbmcgPT5cbiAgYFtbbWVudGlvbjoke21lbnRpb24udHlwZX06JHttZW50aW9uLmlkfXwke21lbnRpb24ubGFiZWx9XV1gXG5cbi8qKlxuICogQ29udmllcnRlIGNhZGEgYFtbbWVudGlvbjouLi5dXWAgZW4gdW4gbGluayBtYXJrZG93biBjb24gcHJvdG9jb2xvIHByb3Bpb1xuICogcGFyYSBxdWUgU3RyZWFtZG93biBsbyBlbWl0YSBjb21vIGA8YT5gIHkgYEN1c3RvbUxpbmtgIGxvIGludGVyY2VwdGUuXG4gKi9cbmV4cG9ydCBjb25zdCB0cmFuc2Zvcm1NZW50aW9uTWFya2VycyA9ICh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBpZiAoIXRleHQpIHJldHVybiB0ZXh0XG4gIHJldHVybiB0ZXh0LnJlcGxhY2UoTUVOVElPTl9NQVJLRVJfUkVHRVgsIChfbSwgdHlwZSwgaWQsIGxhYmVsKSA9PiB7XG4gICAgY29uc3Qgc2FmZUxhYmVsID0gU3RyaW5nKGxhYmVsKS5yZXBsYWNlKC9bXFxcXFxcXV0vZywgJ1xcXFwkJicpXG4gICAgcmV0dXJuIGBbJHtzYWZlTGFiZWx9XSgke01BSUFfTUVOVElPTl9QUk9UT0NPTH0ke3R5cGV9LyR7ZW5jb2RlVVJJQ29tcG9uZW50KFN0cmluZyhpZCkpfSlgXG4gIH0pXG59XG5cbmNvbnN0IG1lbnRpb25DaGlsZHJlblRvTGFiZWwgPSAoY2hpbGRyZW46IFJlYWN0Tm9kZSk6IHN0cmluZyA9PiB7XG4gIGlmICh0eXBlb2YgY2hpbGRyZW4gPT09ICdzdHJpbmcnKSByZXR1cm4gbm9ybWFsaXplQ29udGV4dE1lbnRpb25MYWJlbChjaGlsZHJlbilcbiAgaWYgKGNoaWxkcmVuID09IG51bGwgfHwgY2hpbGRyZW4gPT09IGZhbHNlKSByZXR1cm4gJydcbiAgaWYgKEFycmF5LmlzQXJyYXkoY2hpbGRyZW4pKSB7XG4gICAgcmV0dXJuIG5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwoY2hpbGRyZW4ubWFwKGMgPT4gKHR5cGVvZiBjID09PSAnc3RyaW5nJyA/IGMgOiAnJykpLmpvaW4oJycpKVxuICB9XG4gIHJldHVybiBub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsKFN0cmluZyhjaGlsZHJlbikpXG59XG5cbmNvbnN0IGlubGluZU1lbnRpb25Ib3ZlckNzcyA9IChpc0NsaWNrYWJsZT86IGJvb2xlYW4pID0+IGNzc2BcbiAgYmFja2dyb3VuZDogJHtNRU5USU9OX0NISVBfTk9OX1RBU0tfSE9WRVJfQkd9O1xuICBvcGFjaXR5OiAke2lzQ2xpY2thYmxlID8gMC45NSA6IDF9O1xuYFxuXG4vKiogU3BhbiBpbmxpbmUgZXN0aWxhZG8gKG1lbmNpb25lcyBuby10YXNrIGVuIGNoYXQpLiAqL1xuY29uc3QgU0NJbmxpbmVNZW50aW9uID0gc3R5bGVkLnNwYW48eyAkdHlwZTogQ29udGV4dEVudGl0eVR5cGU7ICRpc0NsaWNrYWJsZT86IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGlubGluZTtcbiAgcGFkZGluZzogMnB4IDRweDtcbiAgbWFyZ2luOiAwIDFweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBmb250LWZhbWlseTogdmFyKC0tY29yLXR5cG9ncmFwaHktZm9udC1mYW1pbHksICdXb3JrIFNhbnMnKTtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgZm9udC1zaXplOiBpbmhlcml0O1xuICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbiAgYmFja2dyb3VuZDogJHsoeyAkdHlwZSB9KSA9PiAoTUVOVElPTl9DSElQX0NPTE9SU1skdHlwZV0gPz8gTUVOVElPTl9DSElQX0NPTE9SUy51c2VyKS5iZ307XG4gIGNvbG9yOiAkeyh7ICR0eXBlIH0pID0+IChNRU5USU9OX0NISVBfQ09MT1JTWyR0eXBlXSA/PyBNRU5USU9OX0NISVBfQ09MT1JTLnVzZXIpLmZnfTtcbiAgd2hpdGUtc3BhY2U6IG5vcm1hbDtcbiAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgd29yZC1icmVhazogYnJlYWstd29yZDtcbiAgY3Vyc29yOiAkeyh7ICRpc0NsaWNrYWJsZSB9KSA9PiAoJGlzQ2xpY2thYmxlID8gJ3BvaW50ZXInIDogJ2RlZmF1bHQnKX07XG4gIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcblxuICAmOmhvdmVyIHtcbiAgICAkeyh7ICRpc0NsaWNrYWJsZSB9KSA9PiBpbmxpbmVNZW50aW9uSG92ZXJDc3MoJGlzQ2xpY2thYmxlKX1cbiAgfVxuYFxuXG5jb25zdCBTQ0lubGluZU1lbnRpb25JY29uID0gc3R5bGVkLnNwYW48eyAkdGFzaz86IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgdmVydGljYWwtYWxpZ246IG1pZGRsZTtcbiAgbWFyZ2luLXJpZ2h0OiAycHg7XG4gIGxpbmUtaGVpZ2h0OiAxO1xuICB3aWR0aDogJHsoeyAkdGFzayB9KSA9PiAoJHRhc2sgPyAnMTZweCcgOiAnMTRweCcpfTtcbiAgaGVpZ2h0OiAkeyh7ICR0YXNrIH0pID0+ICgkdGFzayA/ICcxNnB4JyA6ICcxNHB4Jyl9O1xuYFxuXG4vKipcbiAqIFNpIGVsIGhyZWYgY29ycmVzcG9uZGUgYWwgcHJvdG9jb2xvIGRlIG1lbnRpb24sIGRldnVlbHZlIHVuIG5vZG8gZXN0aWxhZG8gcG9yIHRpcG8uXG4gKiBMYXMgdGFyZWFzIHVzYW4gYDxhPmAgY29tbyBsb3MgZW5sYWNlcyBkZSB0YXJlYSBkZWwgYWdlbnRlIChgLmhhcy10YXNrLWxpbmtzYCkuXG4gKi9cbmV4cG9ydCBjb25zdCByZW5kZXJNZW50aW9uTGluayA9IChocmVmOiBzdHJpbmcgfCB1bmRlZmluZWQsIGNoaWxkcmVuOiBSZWFjdE5vZGUpOiBSZWFjdE5vZGUgfCBudWxsID0+IHtcbiAgaWYgKCFocmVmIHx8ICFocmVmLnN0YXJ0c1dpdGgoTUFJQV9NRU5USU9OX1BST1RPQ09MKSkgcmV0dXJuIG51bGxcbiAgY29uc3QgeyB0eXBlLCBpZCB9ID0gcGFyc2VNZW50aW9uUHJvdG9jb2xIcmVmKGhyZWYpXG4gIGNvbnN0IGxhYmVsID0gbWVudGlvbkNoaWxkcmVuVG9MYWJlbChjaGlsZHJlbilcbiAgY29uc3QgaXNUYXNrID0gdHlwZSA9PT0gJ3Rhc2snXG4gIGNvbnN0IGljb25TaXplID0gaXNUYXNrID8gMTYgOiAxNFxuICBjb25zdCB0YXNrVXJsID0gYC90YXNrcy8ke2lkfS9kZXRhaWxgXG5cbiAgY29uc3QgaGFuZGxlVGFza0NsaWNrID0gKGU6IE1vdXNlRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+KSA9PiB7XG4gICAgaWYgKGUubWV0YUtleSB8fCBlLmN0cmxLZXkpIHJldHVyblxuICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIGUuc3RvcFByb3BhZ2F0aW9uKClcbiAgICBvcGVuVGFza0luQ29yUGFuZWwoaWQsICdkZXRhaWwnKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlVGFza0tleURvd24gPSAoZTogS2V5Ym9hcmRFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4pID0+IHtcbiAgICBpZiAoZS5rZXkgIT09ICdFbnRlcicgJiYgZS5rZXkgIT09ICcgJykgcmV0dXJuXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgb3BlblRhc2tJbkNvclBhbmVsKGlkLCAnZGV0YWlsJylcbiAgfVxuXG4gIGlmIChpc1Rhc2spIHtcbiAgICByZXR1cm4gKFxuICAgICAgPFNDVGFza0xpbmtcbiAgICAgICAgaHJlZj17dGFza1VybH1cbiAgICAgICAgY2xhc3NOYW1lPXtDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTU31cbiAgICAgICAgZGF0YS1tZW50aW9uLXR5cGU9e3R5cGV9XG4gICAgICAgIGRhdGEtbWVudGlvbi1zdXJmYWNlPVwiY2hhdFwiXG4gICAgICAgIG9uQ2xpY2s9e2hhbmRsZVRhc2tDbGlja31cbiAgICAgICAgb25LZXlEb3duPXtoYW5kbGVUYXNrS2V5RG93bn1cbiAgICAgID5cbiAgICAgICAge2xhYmVsfVxuICAgICAgPC9TQ1Rhc2tMaW5rPlxuICAgIClcbiAgfVxuXG4gIGNvbnN0IGlzUHJvamVjdCA9IHR5cGUgPT09ICdwcm9qZWN0J1xuICBjb25zdCBwcm9qZWN0VXJsID0gaXNQcm9qZWN0ID8gYC9wcm9qZWN0LyR7aWR9L2Rhc2hib2FyZGAgOiBudWxsXG5cbiAgY29uc3QgaGFuZGxlUHJvamVjdENsaWNrID0gKGU6IE1vdXNlRXZlbnQ8SFRNTFNwYW5FbGVtZW50PikgPT4ge1xuICAgIGlmICghcHJvamVjdFVybCkgcmV0dXJuXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgZS5zdG9wUHJvcGFnYXRpb24oKVxuICAgIHdpbmRvdy5vcGVuKHByb2plY3RVcmwsICdfYmxhbmsnKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U0NJbmxpbmVNZW50aW9uXG4gICAgICAkdHlwZT17dHlwZX1cbiAgICAgICRpc0NsaWNrYWJsZT17aXNQcm9qZWN0fVxuICAgICAgY2xhc3NOYW1lPXtDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTU31cbiAgICAgIGRhdGEtbWVudGlvbi10eXBlPXt0eXBlfVxuICAgICAgZGF0YS1tZW50aW9uLXN1cmZhY2U9XCJjaGF0XCJcbiAgICAgIG9uQ2xpY2s9e2lzUHJvamVjdCA/IGhhbmRsZVByb2plY3RDbGljayA6IHVuZGVmaW5lZH1cbiAgICAgIHJvbGU9e2lzUHJvamVjdCA/ICdidXR0b24nIDogdW5kZWZpbmVkfVxuICAgICAgdGFiSW5kZXg9e2lzUHJvamVjdCA/IDAgOiB1bmRlZmluZWR9XG4gICAgPlxuICAgICAgPFNDSW5saW5lTWVudGlvbkljb24gJHRhc2s9e2lzVGFza30+XG4gICAgICAgIHtnZXRDb250ZXh0TWVudGlvbkljb24odHlwZSwgTUVOVElPTl9DSElQX0NPTE9SU1t0eXBlXS5mZywgaWQsIGljb25TaXplKX1cbiAgICAgIDwvU0NJbmxpbmVNZW50aW9uSWNvbj5cbiAgICAgIHtsYWJlbH1cbiAgICA8L1NDSW5saW5lTWVudGlvbj5cbiAgKVxufVxuXG4vKiogUXVpdGEgbG9zIG1hcmtlcnMgZGVsIHRleHRvLCBkZWphbmRvIHNvbG8gYGxhYmVsYC4gw5p0aWwgcGFyYSBmYWxsYmFjayBwbGFuby4gKi9cbmV4cG9ydCBjb25zdCBzdHJpcE1lbnRpb25NYXJrZXJzID0gKHRleHQ6IHN0cmluZyk6IHN0cmluZyA9PlxuICB0ZXh0LnJlcGxhY2UoTUVOVElPTl9NQVJLRVJfUkVHRVgsIChfbSwgX3R5cGUsIF9pZCwgbGFiZWwpID0+IG5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwoU3RyaW5nKGxhYmVsKSkpXG5cbi8qKlxuICogVMOtdHVsb3MgZGUgY29udmVyc2FjacOzbiAocC4gZWouIGBsYXN0X3F1ZXN0aW9uYCBkZXJpdmFkbyBkZWwgcHJpbWVyIG1lbnNhamUpIHB1ZWRlblxuICogaW5jbHVpciBlbCB0ZXh0byBzZXJpYWxpemFkbyBgW1ttZW50aW9uOnR5cGU6aWR8bGFiZWxdXWAuIFBhcmEgc2lkZWJhciB5IGxpc3RhZG9zLFxuICogcmVlbXBsYXphIGNhZGEgYmxvcXVlIHBvciBgbGFiZWxgIGVuIHRleHRvIHBsYW5vLCBzaW4gZWwgbWFyY2Fkb3IgY3J1ZG8uXG4gKi9cbmV4cG9ydCBjb25zdCBmb3JtYXRDaGF0TGlzdFRpdGxlTWVudGlvbnMgPSAodGV4dDogc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCk6IHN0cmluZyA9PiB7XG4gIGlmICh0ZXh0ID09IG51bGwgfHwgdGV4dCA9PT0gJycpIHJldHVybiB0ZXh0ID8/ICcnXG4gIGNvbnN0IHdpdGhvdXRDb21wbGV0ZU1hcmtlcnMgPSB0ZXh0LnJlcGxhY2UoTUVOVElPTl9NQVJLRVJfUkVHRVgsIChfbSwgX3R5cGUsIF9pZCwgbGFiZWwpID0+XG4gICAgbm9ybWFsaXplQ29udGV4dE1lbnRpb25MYWJlbChTdHJpbmcobGFiZWwpLnRyaW0oKSlcbiAgKVxuICByZXR1cm4gd2l0aG91dENvbXBsZXRlTWFya2Vycy5yZXBsYWNlKElOQ09NUExFVEVfTUVOVElPTl9NQVJLRVJfUkVHRVgsICcnKS50cmltKClcbn1cblxuLyoqIEdlbmVyYSBsYSBVUkwgZGUgbmF2ZWdhY2nDs24gcGFyYSB1biBtZW50aW9uIHNlZ8O6biBzdSB0aXBvLiAqL1xuY29uc3QgZ2V0TWVudGlvblVybCA9ICh0eXBlOiBDb250ZXh0RW50aXR5VHlwZSwgaWQ6IHN0cmluZyB8IG51bWJlcik6IHN0cmluZyB8IG51bGwgPT4ge1xuICBzd2l0Y2ggKHR5cGUpIHtcbiAgICBjYXNlICdjbGllbnQnOlxuICAgICAgcmV0dXJuIGAvY2xpZW50cy8ke2lkfWBcbiAgICBjYXNlICdwcm9qZWN0JzpcbiAgICAgIHJldHVybiBgL3Byb2plY3QvJHtpZH0vZGFzaGJvYXJkYFxuICAgIGNhc2UgJ3Rhc2snOlxuICAgICAgcmV0dXJuIGAvdGFza3MvJHtpZH0vZGV0YWlsYFxuICAgIGNhc2UgJ3VzZXInOlxuICAgICAgcmV0dXJuIG51bGwgLy8gTG9zIHVzZXJzIG5vIHNvbiBjbGlja2VhYmxlc1xuICAgIGNhc2UgJ21jcCc6XG4gICAgICByZXR1cm4gbnVsbFxuICAgIGRlZmF1bHQ6XG4gICAgICByZXR1cm4gbnVsbFxuICB9XG59XG5cbmNvbnN0IE1lbnRpb25DaGlwID0gKHsgdHlwZSwgaWQsIGxhYmVsIH06IHsgdHlwZTogQ29udGV4dEVudGl0eVR5cGU7IGlkOiBzdHJpbmc7IGxhYmVsOiBzdHJpbmcgfSkgPT4ge1xuICBjb25zdCBub3JtYWxpemVkTGFiZWwgPSBub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsKGxhYmVsKVxuICBjb25zdCB1cmwgPSBnZXRNZW50aW9uVXJsKHR5cGUsIGlkKVxuICBjb25zdCBpc0NsaWNrYWJsZSA9ICEhdXJsXG4gIGNvbnN0IGlzVGFzayA9IHR5cGUgPT09ICd0YXNrJ1xuICBjb25zdCBpY29uU2l6ZSA9IGlzVGFzayA/IDE2IDogMTRcblxuICBjb25zdCBoYW5kbGVDbGljayA9IChlOiBNb3VzZUV2ZW50PEhUTUxBbmNob3JFbGVtZW50IHwgSFRNTFNwYW5FbGVtZW50PikgPT4ge1xuICAgIGlmICghaXNDbGlja2FibGUgfHwgIXVybCkgcmV0dXJuXG4gICAgaWYgKHR5cGUgPT09ICd0YXNrJykge1xuICAgICAgaWYgKGUubWV0YUtleSB8fCBlLmN0cmxLZXkpIHJldHVyblxuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICBvcGVuVGFza0luQ29yUGFuZWwoaWQsICdkZXRhaWwnKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIHdpbmRvdy5vcGVuKHVybCwgJ19ibGFuaycpXG4gIH1cblxuICBjb25zdCBoYW5kbGVLZXlEb3duID0gKGU6IEtleWJvYXJkRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQgfCBIVE1MU3BhbkVsZW1lbnQ+KSA9PiB7XG4gICAgaWYgKCFpc0NsaWNrYWJsZSB8fCB0eXBlICE9PSAndGFzaycpIHJldHVyblxuICAgIGlmIChlLmtleSAhPT0gJ0VudGVyJyAmJiBlLmtleSAhPT0gJyAnKSByZXR1cm5cbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICBvcGVuVGFza0luQ29yUGFuZWwoaWQsICdkZXRhaWwnKVxuICB9XG5cbiAgaWYgKHR5cGUgPT09ICd0YXNrJykge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NUYXNrTGlua1xuICAgICAgICBocmVmPXt1cmwgPz8gJyMnfVxuICAgICAgICBjbGFzc05hbWU9e0NPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTfVxuICAgICAgICBkYXRhLW1lbnRpb24tdHlwZT1cInRhc2tcIlxuICAgICAgICBkYXRhLW1lbnRpb24tc3VyZmFjZT1cImNoYXRcIlxuICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbGlja31cbiAgICAgICAgb25LZXlEb3duPXtoYW5kbGVLZXlEb3dufVxuICAgICAgPlxuICAgICAgICB7bm9ybWFsaXplZExhYmVsfVxuICAgICAgPC9TQ1Rhc2tMaW5rPlxuICAgIClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDSW5saW5lTWVudGlvblxuICAgICAgJHR5cGU9e3R5cGV9XG4gICAgICAkaXNDbGlja2FibGU9e2lzQ2xpY2thYmxlfVxuICAgICAgY2xhc3NOYW1lPXtDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTU31cbiAgICAgIGRhdGEtbWVudGlvbi10eXBlPXt0eXBlfVxuICAgICAgZGF0YS1tZW50aW9uLXN1cmZhY2U9XCJjaGF0XCJcbiAgICAgIG9uQ2xpY2s9e2lzQ2xpY2thYmxlID8gaGFuZGxlQ2xpY2sgOiB1bmRlZmluZWR9XG4gICAgICByb2xlPXtpc0NsaWNrYWJsZSA/ICdidXR0b24nIDogdW5kZWZpbmVkfVxuICAgICAgdGFiSW5kZXg9e2lzQ2xpY2thYmxlID8gMCA6IHVuZGVmaW5lZH1cbiAgICA+XG4gICAgICA8U0NJbmxpbmVNZW50aW9uSWNvbiAkdGFzaz17aXNUYXNrfT5cbiAgICAgICAge2dldENvbnRleHRNZW50aW9uSWNvbih0eXBlLCBNRU5USU9OX0NISVBfQ09MT1JTW3R5cGVdLmZnLCBpZCwgaWNvblNpemUpfVxuICAgICAgPC9TQ0lubGluZU1lbnRpb25JY29uPlxuICAgICAge25vcm1hbGl6ZWRMYWJlbH1cbiAgICA8L1NDSW5saW5lTWVudGlvbj5cbiAgKVxufVxuXG4vKipcbiAqIFNwbGl0ZWEgZWwgdGV4dG8gcG9yIG1hcmtlcnMgeSBkZXZ1ZWx2ZSB1biBhcnJheSBkZSBSZWFjdE5vZGVzOlxuICogdGV4dG8gcGxhbm8gKyBzcGFucyBlc3RpbGFkb3MgcGFyYSBjYWRhIG1lbnRpb24uIFJlbmRlcml6YSBkaXJlY3RhbWVudGVcbiAqIHNpbiBwYXNhciBwb3IgU3RyZWFtZG93biAobm8gc29wb3J0YSBtYXJrZG93biBlbiBlc3RlIG1vZG8pLlxuICovXG5leHBvcnQgY29uc3QgcmVuZGVyVGV4dFdpdGhNZW50aW9ucyA9ICh0ZXh0OiBzdHJpbmcpOiBBcnJheTxzdHJpbmcgfCBSZWFjdEVsZW1lbnQ+ID0+IHtcbiAgaWYgKCF0ZXh0KSByZXR1cm4gW3RleHRdXG4gIGNvbnN0IG91dDogQXJyYXk8c3RyaW5nIHwgUmVhY3RFbGVtZW50PiA9IFtdXG4gIGxldCBsYXN0SWR4ID0gMFxuICBNRU5USU9OX01BUktFUl9SRUdFWC5sYXN0SW5kZXggPSAwXG4gIGxldCBtYXRjaDogUmVnRXhwRXhlY0FycmF5IHwgbnVsbCA9IE1FTlRJT05fTUFSS0VSX1JFR0VYLmV4ZWModGV4dClcbiAgbGV0IGtleUlkeCA9IDBcbiAgd2hpbGUgKG1hdGNoKSB7XG4gICAgaWYgKG1hdGNoLmluZGV4ID4gbGFzdElkeCkgb3V0LnB1c2godGV4dC5zbGljZShsYXN0SWR4LCBtYXRjaC5pbmRleCkpXG4gICAgY29uc3QgWywgcmF3VHlwZSwgaWQsIGxhYmVsXSA9IG1hdGNoXG4gICAgY29uc3QgdHlwZSA9IEFMTE9XRURfVFlQRVMuaW5jbHVkZXMocmF3VHlwZSBhcyBDb250ZXh0RW50aXR5VHlwZSkgPyAocmF3VHlwZSBhcyBDb250ZXh0RW50aXR5VHlwZSkgOiAndXNlcidcblxuICAgIG91dC5wdXNoKDxNZW50aW9uQ2hpcCBrZXk9e2BtZW50aW9uLSR7a2V5SWR4fS0ke21hdGNoLmluZGV4fWB9IHR5cGU9e3R5cGV9IGlkPXtpZH0gbGFiZWw9e2xhYmVsfSAvPilcblxuICAgIGxhc3RJZHggPSBtYXRjaC5pbmRleCArIG1hdGNoWzBdLmxlbmd0aFxuICAgIGtleUlkeCArPSAxXG4gICAgbWF0Y2ggPSBNRU5USU9OX01BUktFUl9SRUdFWC5leGVjKHRleHQpXG4gIH1cbiAgaWYgKGxhc3RJZHggPCB0ZXh0Lmxlbmd0aCkgb3V0LnB1c2godGV4dC5zbGljZShsYXN0SWR4KSlcbiAgcmV0dXJuIG91dFxufVxuIl0sIm1hcHBpbmdzIjoiO0FBQ0EsT0FBT0EsTUFBTSxJQUFJQyxHQUFHLFFBQVEsbUJBQW1CO0FBQy9DLFNBQTRDQywwQkFBMEIsUUFBUSx5QkFBeUI7QUFDdkcsU0FDRUMsbUJBQW1CLEVBQ25CQyw4QkFBOEIsUUFDekIsa0VBQWtFO0FBQ3pFLFNBQVNDLFVBQVUsUUFBUSxrREFBa0Q7QUFDN0UsU0FBU0MscUJBQXFCLFFBQVEsdUJBQXVCO0FBQzdELFNBQVNDLDRCQUE0QixRQUFRLHVCQUF1QjtBQUNwRSxTQUFTQyxrQkFBa0IsUUFBUSxzQkFBc0I7O0FBRXpEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFIQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBO0FBSUEsT0FBTyxJQUFNQyxvQkFBb0IsR0FBRyx1RUFBdUU7QUFDM0csT0FBTyxJQUFNQyxxQkFBcUIsR0FBRyxpQkFBaUI7QUFDdEQsSUFBTUMsK0JBQStCLEdBQUcsc0JBQXNCO0FBRTlELElBQU1DLGFBQWtDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDO0FBRXZGLElBQU1DLHdCQUF3QixHQUFHLFNBQTNCQSx3QkFBd0JBLENBQUlDLElBQVksRUFBOEM7RUFDMUYsSUFBTUMsSUFBSSxHQUFHRCxJQUFJLENBQUNFLEtBQUssQ0FBQ04scUJBQXFCLENBQUNPLE1BQU0sQ0FBQztFQUNyRCxJQUFNQyxRQUFRLEdBQUdILElBQUksQ0FBQ0ksT0FBTyxDQUFDLEdBQUcsQ0FBQztFQUNsQyxJQUFNQyxPQUFPLEdBQUdGLFFBQVEsSUFBSSxDQUFDLEdBQUdILElBQUksQ0FBQ0MsS0FBSyxDQUFDLENBQUMsRUFBRUUsUUFBUSxDQUFDLEdBQUdILElBQUk7RUFDOUQsSUFBTU0sS0FBSyxHQUFHSCxRQUFRLElBQUksQ0FBQyxHQUFHSCxJQUFJLENBQUNDLEtBQUssQ0FBQ0UsUUFBUSxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUU7RUFDM0QsSUFBSUksRUFBRSxHQUFHLEVBQUU7RUFDWCxJQUFJO0lBQ0ZBLEVBQUUsR0FBR0QsS0FBSyxHQUFHRSxrQkFBa0IsQ0FBQ0YsS0FBSyxDQUFDLEdBQUcsRUFBRTtFQUM3QyxDQUFDLENBQUMsT0FBQUcsT0FBQSxFQUFNO0lBQ05GLEVBQUUsR0FBR0QsS0FBSztFQUNaO0VBQ0EsSUFBTUksSUFBSSxHQUFHYixhQUFhLENBQUNjLFFBQVEsQ0FBQ04sT0FBNEIsQ0FBQyxHQUFJQSxPQUFPLEdBQXlCLE1BQU07RUFDM0csT0FBTztJQUFFSyxJQUFJLEVBQUpBLElBQUk7SUFBRUgsRUFBRSxFQUFGQTtFQUFHLENBQUM7QUFDckIsQ0FBQzs7QUFFRDtBQUNBLE9BQU8sSUFBTUssZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFnQkEsQ0FBSUMsT0FBdUI7RUFBQSxvQkFBQUMsTUFBQSxDQUN6Q0QsT0FBTyxDQUFDSCxJQUFJLE9BQUFJLE1BQUEsQ0FBSUQsT0FBTyxDQUFDTixFQUFFLE9BQUFPLE1BQUEsQ0FBSUQsT0FBTyxDQUFDRSxLQUFLO0FBQUEsQ0FBSTs7QUFFOUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLElBQU1DLHVCQUF1QixHQUFHLFNBQTFCQSx1QkFBdUJBLENBQUlDLElBQVksRUFBYTtFQUMvRCxJQUFJLENBQUNBLElBQUksRUFBRSxPQUFPQSxJQUFJO0VBQ3RCLE9BQU9BLElBQUksQ0FBQ0MsT0FBTyxDQUFDeEIsb0JBQW9CLEVBQUUsVUFBQ3lCLEVBQUUsRUFBRVQsSUFBSSxFQUFFSCxFQUFFLEVBQUVRLEtBQUssRUFBSztJQUNqRSxJQUFNSyxTQUFTLEdBQUdDLE1BQU0sQ0FBQ04sS0FBSyxDQUFDLENBQUNHLE9BQU8sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQzFELFdBQUFKLE1BQUEsQ0FBV00sU0FBUyxRQUFBTixNQUFBLENBQUtuQixxQkFBcUIsRUFBQW1CLE1BQUEsQ0FBR0osSUFBSSxPQUFBSSxNQUFBLENBQUlRLGtCQUFrQixDQUFDRCxNQUFNLENBQUNkLEVBQUUsQ0FBQyxDQUFDO0VBQ3pGLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxJQUFNZ0Isc0JBQXNCLEdBQUcsU0FBekJBLHNCQUFzQkEsQ0FBSUMsUUFBbUIsRUFBYTtFQUM5RCxJQUFJLE9BQU9BLFFBQVEsS0FBSyxRQUFRLEVBQUUsT0FBT3BDLDRCQUE0QixDQUFDb0MsUUFBUSxDQUFDO0VBQy9FLElBQUlBLFFBQVEsSUFBSSxJQUFJLElBQUlBLFFBQVEsS0FBSyxLQUFLLEVBQUUsT0FBTyxFQUFFO0VBQ3JELElBQUlDLEtBQUssQ0FBQ0MsT0FBTyxDQUFDRixRQUFRLENBQUMsRUFBRTtJQUMzQixPQUFPcEMsNEJBQTRCLENBQUNvQyxRQUFRLENBQUNHLEdBQUcsQ0FBQyxVQUFBQyxDQUFDO01BQUEsT0FBSyxPQUFPQSxDQUFDLEtBQUssUUFBUSxHQUFHQSxDQUFDLEdBQUcsRUFBRTtJQUFBLENBQUMsQ0FBQyxDQUFDQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7RUFDbkc7RUFDQSxPQUFPekMsNEJBQTRCLENBQUNpQyxNQUFNLENBQUNHLFFBQVEsQ0FBQyxDQUFDO0FBQ3ZELENBQUM7QUFFRCxJQUFNTSxxQkFBcUIsR0FBRyxTQUF4QkEscUJBQXFCQSxDQUFJQyxXQUFxQjtFQUFBLE9BQUtqRCxHQUFHLG9DQUM1Q0csOEJBQThCLEVBQ2pDOEMsV0FBVyxHQUFHLElBQUksR0FBRyxDQUFDO0FBQUEsQ0FDbEM7O0FBRUQ7QUFDQSxJQUFNQyxlQUFlLEdBQUduRCxNQUFNLENBQUNvRCxJQUFJLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsd1ZBU25CLFVBQUFDLElBQUE7RUFBQSxJQUFBQyxxQkFBQTtFQUFBLElBQUdDLEtBQUssR0FBQUYsSUFBQSxDQUFMRSxLQUFLO0VBQUEsT0FBTyxFQUFBRCxxQkFBQSxHQUFDdEQsbUJBQW1CLENBQUN1RCxLQUFLLENBQUMsY0FBQUQscUJBQUEsY0FBQUEscUJBQUEsR0FBSXRELG1CQUFtQixDQUFDd0QsSUFBSSxFQUFFQyxFQUFFO0FBQUEsR0FDL0UsVUFBQUMsS0FBQTtFQUFBLElBQUFDLHNCQUFBO0VBQUEsSUFBR0osS0FBSyxHQUFBRyxLQUFBLENBQUxILEtBQUs7RUFBQSxPQUFPLEVBQUFJLHNCQUFBLEdBQUMzRCxtQkFBbUIsQ0FBQ3VELEtBQUssQ0FBQyxjQUFBSSxzQkFBQSxjQUFBQSxzQkFBQSxHQUFJM0QsbUJBQW1CLENBQUN3RCxJQUFJLEVBQUVJLEVBQUU7QUFBQSxHQUl6RSxVQUFBQyxLQUFBO0VBQUEsSUFBR0MsWUFBWSxHQUFBRCxLQUFBLENBQVpDLFlBQVk7RUFBQSxPQUFRQSxZQUFZLEdBQUcsU0FBUyxHQUFHLFNBQVM7QUFBQSxDQUFDLEVBS2xFLFVBQUFDLEtBQUE7RUFBQSxJQUFHRCxZQUFZLEdBQUFDLEtBQUEsQ0FBWkQsWUFBWTtFQUFBLE9BQU9oQixxQkFBcUIsQ0FBQ2dCLFlBQVksQ0FBQztBQUFBLEVBRTlEO0FBRUQsSUFBTUUsbUJBQW1CLEdBQUduRSxNQUFNLENBQUNvRCxJQUFJLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsMEdBSzVCLFVBQUFhLEtBQUE7RUFBQSxJQUFHQyxLQUFLLEdBQUFELEtBQUEsQ0FBTEMsS0FBSztFQUFBLE9BQVFBLEtBQUssR0FBRyxNQUFNLEdBQUcsTUFBTTtBQUFBLENBQUMsRUFDdkMsVUFBQUMsS0FBQTtFQUFBLElBQUdELEtBQUssR0FBQUMsS0FBQSxDQUFMRCxLQUFLO0VBQUEsT0FBUUEsS0FBSyxHQUFHLE1BQU0sR0FBRyxNQUFNO0FBQUEsQ0FBQyxDQUNuRDs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sSUFBTUUsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBSXJELElBQXdCLEVBQUV5QixRQUFtQixFQUF1QjtFQUNwRyxJQUFJLENBQUN6QixJQUFJLElBQUksQ0FBQ0EsSUFBSSxDQUFDc0QsVUFBVSxDQUFDMUQscUJBQXFCLENBQUMsRUFBRSxPQUFPLElBQUk7RUFDakUsSUFBQTJELHFCQUFBLEdBQXFCeEQsd0JBQXdCLENBQUNDLElBQUksQ0FBQztJQUEzQ1csSUFBSSxHQUFBNEMscUJBQUEsQ0FBSjVDLElBQUk7SUFBRUgsRUFBRSxHQUFBK0MscUJBQUEsQ0FBRi9DLEVBQUU7RUFDaEIsSUFBTVEsS0FBSyxHQUFHUSxzQkFBc0IsQ0FBQ0MsUUFBUSxDQUFDO0VBQzlDLElBQU0rQixNQUFNLEdBQUc3QyxJQUFJLEtBQUssTUFBTTtFQUM5QixJQUFNOEMsUUFBUSxHQUFHRCxNQUFNLEdBQUcsRUFBRSxHQUFHLEVBQUU7RUFDakMsSUFBTUUsT0FBTyxhQUFBM0MsTUFBQSxDQUFhUCxFQUFFLFlBQVM7RUFFckMsSUFBTW1ELGVBQWUsR0FBRyxTQUFsQkEsZUFBZUEsQ0FBSUMsQ0FBZ0MsRUFBSztJQUM1RCxJQUFJQSxDQUFDLENBQUNDLE9BQU8sSUFBSUQsQ0FBQyxDQUFDRSxPQUFPLEVBQUU7SUFDNUJGLENBQUMsQ0FBQ0csY0FBYyxDQUFDLENBQUM7SUFDbEJILENBQUMsQ0FBQ0ksZUFBZSxDQUFDLENBQUM7SUFDbkIxRSxrQkFBa0IsQ0FBQ2tCLEVBQUUsRUFBRSxRQUFRLENBQUM7RUFDbEMsQ0FBQztFQUVELElBQU15RCxpQkFBaUIsR0FBRyxTQUFwQkEsaUJBQWlCQSxDQUFJTCxDQUFtQyxFQUFLO0lBQ2pFLElBQUlBLENBQUMsQ0FBQ00sR0FBRyxLQUFLLE9BQU8sSUFBSU4sQ0FBQyxDQUFDTSxHQUFHLEtBQUssR0FBRyxFQUFFO0lBQ3hDTixDQUFDLENBQUNHLGNBQWMsQ0FBQyxDQUFDO0lBQ2xCekUsa0JBQWtCLENBQUNrQixFQUFFLEVBQUUsUUFBUSxDQUFDO0VBQ2xDLENBQUM7RUFFRCxJQUFJZ0QsTUFBTSxFQUFFO0lBQ1Ysb0JBQ0VoRSxJQUFBLENBQUNMLFVBQVU7TUFDVGEsSUFBSSxFQUFFMEQsT0FBUTtNQUNkUyxTQUFTLEVBQUVuRiwwQkFBMkI7TUFDdEMscUJBQW1CMkIsSUFBSztNQUN4Qix3QkFBcUIsTUFBTTtNQUMzQnlELE9BQU8sRUFBRVQsZUFBZ0I7TUFDekJVLFNBQVMsRUFBRUosaUJBQWtCO01BQUF4QyxRQUFBLEVBRTVCVDtJQUFLLENBQ0ksQ0FBQztFQUVqQjtFQUVBLElBQU1zRCxTQUFTLEdBQUczRCxJQUFJLEtBQUssU0FBUztFQUNwQyxJQUFNNEQsVUFBVSxHQUFHRCxTQUFTLGVBQUF2RCxNQUFBLENBQWVQLEVBQUUsa0JBQWUsSUFBSTtFQUVoRSxJQUFNZ0Usa0JBQWtCLEdBQUcsU0FBckJBLGtCQUFrQkEsQ0FBSVosQ0FBOEIsRUFBSztJQUM3RCxJQUFJLENBQUNXLFVBQVUsRUFBRTtJQUNqQlgsQ0FBQyxDQUFDRyxjQUFjLENBQUMsQ0FBQztJQUNsQkgsQ0FBQyxDQUFDSSxlQUFlLENBQUMsQ0FBQztJQUNuQlMsTUFBTSxDQUFDQyxJQUFJLENBQUNILFVBQVUsRUFBRSxRQUFRLENBQUM7RUFDbkMsQ0FBQztFQUVELG9CQUNFN0UsS0FBQSxDQUFDdUMsZUFBZTtJQUNkTyxLQUFLLEVBQUU3QixJQUFLO0lBQ1pvQyxZQUFZLEVBQUV1QixTQUFVO0lBQ3hCSCxTQUFTLEVBQUVuRiwwQkFBMkI7SUFDdEMscUJBQW1CMkIsSUFBSztJQUN4Qix3QkFBcUIsTUFBTTtJQUMzQnlELE9BQU8sRUFBRUUsU0FBUyxHQUFHRSxrQkFBa0IsR0FBR0csU0FBVTtJQUNwREMsSUFBSSxFQUFFTixTQUFTLEdBQUcsUUFBUSxHQUFHSyxTQUFVO0lBQ3ZDRSxRQUFRLEVBQUVQLFNBQVMsR0FBRyxDQUFDLEdBQUdLLFNBQVU7SUFBQWxELFFBQUEsZ0JBRXBDakMsSUFBQSxDQUFDeUQsbUJBQW1CO01BQUNFLEtBQUssRUFBRUssTUFBTztNQUFBL0IsUUFBQSxFQUNoQ3JDLHFCQUFxQixDQUFDdUIsSUFBSSxFQUFFMUIsbUJBQW1CLENBQUMwQixJQUFJLENBQUMsQ0FBQ2tDLEVBQUUsRUFBRXJDLEVBQUUsRUFBRWlELFFBQVE7SUFBQyxDQUNyRCxDQUFDLEVBQ3JCekMsS0FBSztFQUFBLENBQ1MsQ0FBQztBQUV0QixDQUFDOztBQUVEO0FBQ0EsT0FBTyxJQUFNOEQsbUJBQW1CLEdBQUcsU0FBdEJBLG1CQUFtQkEsQ0FBSTVELElBQVk7RUFBQSxPQUM5Q0EsSUFBSSxDQUFDQyxPQUFPLENBQUN4QixvQkFBb0IsRUFBRSxVQUFDeUIsRUFBRSxFQUFFMkQsS0FBSyxFQUFFQyxHQUFHLEVBQUVoRSxLQUFLO0lBQUEsT0FBSzNCLDRCQUE0QixDQUFDaUMsTUFBTSxDQUFDTixLQUFLLENBQUMsQ0FBQztFQUFBLEVBQUM7QUFBQTs7QUFFNUc7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sSUFBTWlFLDJCQUEyQixHQUFHLFNBQTlCQSwyQkFBMkJBLENBQUkvRCxJQUErQixFQUFhO0VBQ3RGLElBQUlBLElBQUksSUFBSSxJQUFJLElBQUlBLElBQUksS0FBSyxFQUFFLEVBQUUsT0FBT0EsSUFBSSxhQUFKQSxJQUFJLGNBQUpBLElBQUksR0FBSSxFQUFFO0VBQ2xELElBQU1nRSxzQkFBc0IsR0FBR2hFLElBQUksQ0FBQ0MsT0FBTyxDQUFDeEIsb0JBQW9CLEVBQUUsVUFBQ3lCLEVBQUUsRUFBRTJELEtBQUssRUFBRUMsR0FBRyxFQUFFaEUsS0FBSztJQUFBLE9BQ3RGM0IsNEJBQTRCLENBQUNpQyxNQUFNLENBQUNOLEtBQUssQ0FBQyxDQUFDbUUsSUFBSSxDQUFDLENBQUMsQ0FBQztFQUFBLENBQ3BELENBQUM7RUFDRCxPQUFPRCxzQkFBc0IsQ0FBQy9ELE9BQU8sQ0FBQ3RCLCtCQUErQixFQUFFLEVBQUUsQ0FBQyxDQUFDc0YsSUFBSSxDQUFDLENBQUM7QUFDbkYsQ0FBQzs7QUFFRDtBQUNBLElBQU1DLGFBQWEsR0FBRyxTQUFoQkEsYUFBYUEsQ0FBSXpFLElBQXVCLEVBQUVILEVBQW1CLEVBQW9CO0VBQ3JGLFFBQVFHLElBQUk7SUFDVixLQUFLLFFBQVE7TUFDWCxtQkFBQUksTUFBQSxDQUFtQlAsRUFBRTtJQUN2QixLQUFLLFNBQVM7TUFDWixtQkFBQU8sTUFBQSxDQUFtQlAsRUFBRTtJQUN2QixLQUFLLE1BQU07TUFDVCxpQkFBQU8sTUFBQSxDQUFpQlAsRUFBRTtJQUNyQixLQUFLLE1BQU07TUFDVCxPQUFPLElBQUk7SUFBQztJQUNkLEtBQUssS0FBSztNQUNSLE9BQU8sSUFBSTtJQUNiO01BQ0UsT0FBTyxJQUFJO0VBQ2Y7QUFDRixDQUFDO0FBRUQsSUFBTTZFLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFBQyxLQUFBLEVBQW9GO0VBQUEsSUFBOUUzRSxJQUFJLEdBQUEyRSxLQUFBLENBQUozRSxJQUFJO0lBQUVILEVBQUUsR0FBQThFLEtBQUEsQ0FBRjlFLEVBQUU7SUFBRVEsS0FBSyxHQUFBc0UsS0FBQSxDQUFMdEUsS0FBSztFQUNwQyxJQUFNdUUsZUFBZSxHQUFHbEcsNEJBQTRCLENBQUMyQixLQUFLLENBQUM7RUFDM0QsSUFBTXdFLEdBQUcsR0FBR0osYUFBYSxDQUFDekUsSUFBSSxFQUFFSCxFQUFFLENBQUM7RUFDbkMsSUFBTXdCLFdBQVcsR0FBRyxDQUFDLENBQUN3RCxHQUFHO0VBQ3pCLElBQU1oQyxNQUFNLEdBQUc3QyxJQUFJLEtBQUssTUFBTTtFQUM5QixJQUFNOEMsUUFBUSxHQUFHRCxNQUFNLEdBQUcsRUFBRSxHQUFHLEVBQUU7RUFFakMsSUFBTWlDLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFJN0IsQ0FBa0QsRUFBSztJQUMxRSxJQUFJLENBQUM1QixXQUFXLElBQUksQ0FBQ3dELEdBQUcsRUFBRTtJQUMxQixJQUFJN0UsSUFBSSxLQUFLLE1BQU0sRUFBRTtNQUNuQixJQUFJaUQsQ0FBQyxDQUFDQyxPQUFPLElBQUlELENBQUMsQ0FBQ0UsT0FBTyxFQUFFO01BQzVCRixDQUFDLENBQUNHLGNBQWMsQ0FBQyxDQUFDO01BQ2xCSCxDQUFDLENBQUNJLGVBQWUsQ0FBQyxDQUFDO01BQ25CMUUsa0JBQWtCLENBQUNrQixFQUFFLEVBQUUsUUFBUSxDQUFDO01BQ2hDO0lBQ0Y7SUFDQW9ELENBQUMsQ0FBQ0csY0FBYyxDQUFDLENBQUM7SUFDbEJVLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDYyxHQUFHLEVBQUUsUUFBUSxDQUFDO0VBQzVCLENBQUM7RUFFRCxJQUFNRSxhQUFhLEdBQUcsU0FBaEJBLGFBQWFBLENBQUk5QixDQUFxRCxFQUFLO0lBQy9FLElBQUksQ0FBQzVCLFdBQVcsSUFBSXJCLElBQUksS0FBSyxNQUFNLEVBQUU7SUFDckMsSUFBSWlELENBQUMsQ0FBQ00sR0FBRyxLQUFLLE9BQU8sSUFBSU4sQ0FBQyxDQUFDTSxHQUFHLEtBQUssR0FBRyxFQUFFO0lBQ3hDTixDQUFDLENBQUNHLGNBQWMsQ0FBQyxDQUFDO0lBQ2xCekUsa0JBQWtCLENBQUNrQixFQUFFLEVBQUUsUUFBUSxDQUFDO0VBQ2xDLENBQUM7RUFFRCxJQUFJRyxJQUFJLEtBQUssTUFBTSxFQUFFO0lBQ25CLG9CQUNFbkIsSUFBQSxDQUFDTCxVQUFVO01BQ1RhLElBQUksRUFBRXdGLEdBQUcsYUFBSEEsR0FBRyxjQUFIQSxHQUFHLEdBQUksR0FBSTtNQUNqQnJCLFNBQVMsRUFBRW5GLDBCQUEyQjtNQUN0QyxxQkFBa0IsTUFBTTtNQUN4Qix3QkFBcUIsTUFBTTtNQUMzQm9GLE9BQU8sRUFBRXFCLFdBQVk7TUFDckJwQixTQUFTLEVBQUVxQixhQUFjO01BQUFqRSxRQUFBLEVBRXhCOEQ7SUFBZSxDQUNOLENBQUM7RUFFakI7RUFFQSxvQkFDRTdGLEtBQUEsQ0FBQ3VDLGVBQWU7SUFDZE8sS0FBSyxFQUFFN0IsSUFBSztJQUNab0MsWUFBWSxFQUFFZixXQUFZO0lBQzFCbUMsU0FBUyxFQUFFbkYsMEJBQTJCO0lBQ3RDLHFCQUFtQjJCLElBQUs7SUFDeEIsd0JBQXFCLE1BQU07SUFDM0J5RCxPQUFPLEVBQUVwQyxXQUFXLEdBQUd5RCxXQUFXLEdBQUdkLFNBQVU7SUFDL0NDLElBQUksRUFBRTVDLFdBQVcsR0FBRyxRQUFRLEdBQUcyQyxTQUFVO0lBQ3pDRSxRQUFRLEVBQUU3QyxXQUFXLEdBQUcsQ0FBQyxHQUFHMkMsU0FBVTtJQUFBbEQsUUFBQSxnQkFFdENqQyxJQUFBLENBQUN5RCxtQkFBbUI7TUFBQ0UsS0FBSyxFQUFFSyxNQUFPO01BQUEvQixRQUFBLEVBQ2hDckMscUJBQXFCLENBQUN1QixJQUFJLEVBQUUxQixtQkFBbUIsQ0FBQzBCLElBQUksQ0FBQyxDQUFDa0MsRUFBRSxFQUFFckMsRUFBRSxFQUFFaUQsUUFBUTtJQUFDLENBQ3JELENBQUMsRUFDckI4QixlQUFlO0VBQUEsQ0FDRCxDQUFDO0FBRXRCLENBQUM7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sSUFBTUksc0JBQXNCLEdBQUcsU0FBekJBLHNCQUFzQkEsQ0FBSXpFLElBQVksRUFBbUM7RUFDcEYsSUFBSSxDQUFDQSxJQUFJLEVBQUUsT0FBTyxDQUFDQSxJQUFJLENBQUM7RUFDeEIsSUFBTTBFLEdBQWlDLEdBQUcsRUFBRTtFQUM1QyxJQUFJQyxPQUFPLEdBQUcsQ0FBQztFQUNmbEcsb0JBQW9CLENBQUNtRyxTQUFTLEdBQUcsQ0FBQztFQUNsQyxJQUFJQyxLQUE2QixHQUFHcEcsb0JBQW9CLENBQUNxRyxJQUFJLENBQUM5RSxJQUFJLENBQUM7RUFDbkUsSUFBSStFLE1BQU0sR0FBRyxDQUFDO0VBQ2QsT0FBT0YsS0FBSyxFQUFFO0lBQ1osSUFBSUEsS0FBSyxDQUFDRyxLQUFLLEdBQUdMLE9BQU8sRUFBRUQsR0FBRyxDQUFDTyxJQUFJLENBQUNqRixJQUFJLENBQUNoQixLQUFLLENBQUMyRixPQUFPLEVBQUVFLEtBQUssQ0FBQ0csS0FBSyxDQUFDLENBQUM7SUFDckUsSUFBQUUsTUFBQSxHQUErQkwsS0FBSztNQUFBTSxPQUFBLEdBQUFDLGNBQUEsQ0FBQUYsTUFBQTtNQUEzQjlGLE9BQU8sR0FBQStGLE9BQUE7TUFBRTdGLEVBQUUsR0FBQTZGLE9BQUE7TUFBRXJGLEtBQUssR0FBQXFGLE9BQUE7SUFDM0IsSUFBTTFGLElBQUksR0FBR2IsYUFBYSxDQUFDYyxRQUFRLENBQUNOLE9BQTRCLENBQUMsR0FBSUEsT0FBTyxHQUF5QixNQUFNO0lBRTNHc0YsR0FBRyxDQUFDTyxJQUFJLGNBQUMzRyxJQUFBLENBQUM2RixXQUFXO01BQTBDMUUsSUFBSSxFQUFFQSxJQUFLO01BQUNILEVBQUUsRUFBRUEsRUFBRztNQUFDUSxLQUFLLEVBQUVBO0lBQU0sY0FBQUQsTUFBQSxDQUExRGtGLE1BQU0sT0FBQWxGLE1BQUEsQ0FBSWdGLEtBQUssQ0FBQ0csS0FBSyxDQUF1QyxDQUFDLENBQUM7SUFFcEdMLE9BQU8sR0FBR0UsS0FBSyxDQUFDRyxLQUFLLEdBQUdILEtBQUssQ0FBQyxDQUFDLENBQUMsQ0FBQzVGLE1BQU07SUFDdkM4RixNQUFNLElBQUksQ0FBQztJQUNYRixLQUFLLEdBQUdwRyxvQkFBb0IsQ0FBQ3FHLElBQUksQ0FBQzlFLElBQUksQ0FBQztFQUN6QztFQUNBLElBQUkyRSxPQUFPLEdBQUczRSxJQUFJLENBQUNmLE1BQU0sRUFBRXlGLEdBQUcsQ0FBQ08sSUFBSSxDQUFDakYsSUFBSSxDQUFDaEIsS0FBSyxDQUFDMkYsT0FBTyxDQUFDLENBQUM7RUFDeEQsT0FBT0QsR0FBRztBQUNaLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
299
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTUyIsIk1FTlRJT05fQ0hJUF9DT0xPUlMiLCJNRU5USU9OX0NISVBfTk9OX1RBU0tfSE9WRVJfQkciLCJWSU9MRVRfSUFfQ09MT1JTIiwiU0NUYXNrTGluayIsImdldENvbnRleHRNZW50aW9uSWNvbiIsIm5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwiLCJvcGVuVGFza0luQ29yUGFuZWwiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiTUVOVElPTl9NQVJLRVJfUkVHRVgiLCJNQUlBX01FTlRJT05fUFJPVE9DT0wiLCJJTkNPTVBMRVRFX01FTlRJT05fTUFSS0VSX1JFR0VYIiwiQUxMT1dFRF9UWVBFUyIsInBhcnNlTWVudGlvblByb3RvY29sSHJlZiIsImhyZWYiLCJyZXN0Iiwic2xpY2UiLCJsZW5ndGgiLCJzbGFzaElkeCIsImluZGV4T2YiLCJyYXdUeXBlIiwicmF3SWQiLCJpZCIsImRlY29kZVVSSUNvbXBvbmVudCIsIl91bnVzZWQiLCJ0eXBlIiwiaW5jbHVkZXMiLCJzZXJpYWxpemVNZW50aW9uIiwibWVudGlvbiIsImNvbmNhdCIsImxhYmVsIiwidHJhbnNmb3JtTWVudGlvbk1hcmtlcnMiLCJ0ZXh0IiwicmVwbGFjZSIsIl9tIiwic2FmZUxhYmVsIiwiU3RyaW5nIiwiZW5jb2RlVVJJQ29tcG9uZW50IiwibWVudGlvbkNoaWxkcmVuVG9MYWJlbCIsImNoaWxkcmVuIiwiQXJyYXkiLCJpc0FycmF5IiwibWFwIiwiYyIsImpvaW4iLCJpbmxpbmVNZW50aW9uSG92ZXJDc3MiLCJpc0NsaWNrYWJsZSIsImJnIiwiU0NJbmxpbmVNZW50aW9uIiwic3BhbiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiX3JlZiIsIl9NRU5USU9OX0NISVBfQ09MT1JTJCIsIiR0eXBlIiwidXNlciIsIl9yZWYyIiwiX01FTlRJT05fQ0hJUF9DT0xPUlMkMiIsImZnIiwiX3JlZjMiLCIkaXNDbGlja2FibGUiLCJfcmVmNCIsIlNDSW5saW5lTWVudGlvbkljb24iLCJfcmVmNSIsIiR0YXNrIiwiX3JlZjYiLCJyZW5kZXJNZW50aW9uTGluayIsInN0YXJ0c1dpdGgiLCJfcGFyc2VNZW50aW9uUHJvdG9jb2wiLCJpc1Rhc2siLCJpY29uU2l6ZSIsInRhc2tVcmwiLCJoYW5kbGVUYXNrQ2xpY2siLCJlIiwibWV0YUtleSIsImN0cmxLZXkiLCJwcmV2ZW50RGVmYXVsdCIsInN0b3BQcm9wYWdhdGlvbiIsImhhbmRsZVRhc2tLZXlEb3duIiwia2V5IiwiY2xhc3NOYW1lIiwib25DbGljayIsIm9uS2V5RG93biIsImlzUHJvamVjdCIsInByb2plY3RVcmwiLCJzaG93SWNvbiIsImhhbmRsZVByb2plY3RDbGljayIsIndpbmRvdyIsIm9wZW4iLCJ1bmRlZmluZWQiLCJyb2xlIiwidGFiSW5kZXgiLCJzdHJpcE1lbnRpb25NYXJrZXJzIiwiX3R5cGUiLCJfaWQiLCJmb3JtYXRDaGF0TGlzdFRpdGxlTWVudGlvbnMiLCJ3aXRob3V0Q29tcGxldGVNYXJrZXJzIiwidHJpbSIsImdldE1lbnRpb25VcmwiLCJNZW50aW9uQ2hpcCIsIl9yZWY3Iiwibm9ybWFsaXplZExhYmVsIiwidXJsIiwiaGFuZGxlQ2xpY2siLCJoYW5kbGVLZXlEb3duIiwicmVuZGVyVGV4dFdpdGhNZW50aW9ucyIsIm91dCIsImxhc3RJZHgiLCJsYXN0SW5kZXgiLCJtYXRjaCIsImV4ZWMiLCJrZXlJZHgiLCJpbmRleCIsInB1c2giLCJfbWF0Y2giLCJfbWF0Y2gyIiwiX3NsaWNlZFRvQXJyYXkiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvcmVuZGVyQ29udGV4dE1lbnRpb25zLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZWFjdE5vZGUsIFJlYWN0RWxlbWVudCwgTW91c2VFdmVudCwgS2V5Ym9hcmRFdmVudCB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHN0eWxlZCwgeyBjc3MgfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cydcbmltcG9ydCB7IENvbnRleHRFbnRpdHlUeXBlLCBDb250ZXh0TWVudGlvbiwgQ09OVEVYVF9NRU5USU9OX0NISVBfQ0xBU1MgfSBmcm9tICcuLi90eXBlcy9jb250ZXh0TWVudGlvbidcbmltcG9ydCB7XG4gIE1FTlRJT05fQ0hJUF9DT0xPUlMsXG4gIE1FTlRJT05fQ0hJUF9OT05fVEFTS19IT1ZFUl9CRyxcbn0gZnJvbSAnLi4vY29tcG9uZW50cy9hdG9tcy9Db250ZXh0TWVudGlvbkNoaXAvQ29udGV4dE1lbnRpb25DaGlwLnN0eWxlcydcbmltcG9ydCB7IFZJT0xFVF9JQV9DT0xPUlMgfSBmcm9tICcuLi9zdHlsZXMvY29uZmlnJ1xuaW1wb3J0IHsgU0NUYXNrTGluayB9IGZyb20gJy4uL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1lc3NhZ2VzL25ld1N0eWxlcydcbmltcG9ydCB7IGdldENvbnRleHRNZW50aW9uSWNvbiB9IGZyb20gJy4vY29udGV4dE1lbnRpb25JY29ucydcbmltcG9ydCB7IG5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwgfSBmcm9tICcuL2NvbnRleHRNZW50aW9uTGFiZWwnXG5pbXBvcnQgeyBvcGVuVGFza0luQ29yUGFuZWwgfSBmcm9tICcuL29wZW5UYXNrSW5Db3JQYW5lbCdcblxuLyoqXG4gKiBGb3JtYXRvIGRlbCBtYXJjYWRvciBxdWUgdmlhamEgZW4gZWwgdGV4dG8gZGVsIG1lbnNhamU6XG4gKiAgIFtbbWVudGlvbjo8dHlwZT46PGlkPnw8bGFiZWw+XV1cbiAqXG4gKiBFbCBlZGl0b3IgbG8gZW1pdGUgY3VhbmRvIHNlcmlhbGl6YSBlbCBjb250ZW50ZWRpdGFibGUsIGVsIGJhY2tlbmQgbG9cbiAqIHBlcnNpc3RlIHRhbCBjdWFsIHkgYWwgcmVuZGVyaXphciBzZSB0cmFuc2Zvcm1hIGVuIHVuIGxpbmsgbWFya2Rvd24gY29uXG4gKiB1biBwcm90b2NvbG8gcHJvcGlvIHF1ZSBgQ3VzdG9tTGlua2AgaW50ZXJjZXB0YSB5IGRpYnVqYSBjb21vIHNwYW5cbiAqIGVzdGlsYWRvLlxuICpcbiAqIFBvciBzZXBhcmFkbywgbGEgbWV0YWRhdGEgYGNvbnRleHRfbWVzc2FnZWAgbGxldmEgbG9zIHZhbG9yZXMgbGltcGlvc1xuICogKGlkICsgbmFtZSkgcGFyYSBxdWUgZWwgYmFja2VuZCBwdWVkYSBpbnRlcnByZXRhciBsYXMgZW50aWRhZGVzIHNpblxuICogdGVuZXIgcXVlIHBhcnNlYXIgZWwgdGV4dG8uXG4gKi9cbi8qKlxuICogTGFiZWwgcHVlZGUgY29udGVuZXIgYF1gIChlajogXCJbRWR1Y2F0ZV1CbG9nIFBvc3QgLi4uXCIpLCBwb3IgZXNvXG4gKiBzZSBjYXB0dXJhIGRlIGZvcm1hIGxhenkgaGFzdGEgZWwgY2llcnJlIHJlYWwgYF1dYC5cbiAqL1xuZXhwb3J0IGNvbnN0IE1FTlRJT05fTUFSS0VSX1JFR0VYID0gL1xcW1xcW21lbnRpb246KGNsaWVudHxwcm9qZWN0fHRhc2t8dXNlcnxtY3ApOihbXnxcXF1dKylcXHwoW1xcc1xcU10qPylcXF1cXF0vZ1xuZXhwb3J0IGNvbnN0IE1BSUFfTUVOVElPTl9QUk9UT0NPTCA9ICdtYWlhLW1lbnRpb246Ly8nXG5jb25zdCBJTkNPTVBMRVRFX01FTlRJT05fTUFSS0VSX1JFR0VYID0gL1xcW1xcW21lbnRpb246W1xcc1xcU10qJC9cblxuY29uc3QgQUxMT1dFRF9UWVBFUzogQ29udGV4dEVudGl0eVR5cGVbXSA9IFsnY2xpZW50JywgJ3Byb2plY3QnLCAndGFzaycsICd1c2VyJywgJ21jcCddXG5cbmNvbnN0IHBhcnNlTWVudGlvblByb3RvY29sSHJlZiA9IChocmVmOiBzdHJpbmcpOiB7IHR5cGU6IENvbnRleHRFbnRpdHlUeXBlOyBpZDogc3RyaW5nIH0gPT4ge1xuICBjb25zdCByZXN0ID0gaHJlZi5zbGljZShNQUlBX01FTlRJT05fUFJPVE9DT0wubGVuZ3RoKVxuICBjb25zdCBzbGFzaElkeCA9IHJlc3QuaW5kZXhPZignLycpXG4gIGNvbnN0IHJhd1R5cGUgPSBzbGFzaElkeCA+PSAwID8gcmVzdC5zbGljZSgwLCBzbGFzaElkeCkgOiByZXN0XG4gIGNvbnN0IHJhd0lkID0gc2xhc2hJZHggPj0gMCA/IHJlc3Quc2xpY2Uoc2xhc2hJZHggKyAxKSA6ICcnXG4gIGxldCBpZCA9ICcnXG4gIHRyeSB7XG4gICAgaWQgPSByYXdJZCA/IGRlY29kZVVSSUNvbXBvbmVudChyYXdJZCkgOiAnJ1xuICB9IGNhdGNoIHtcbiAgICBpZCA9IHJhd0lkXG4gIH1cbiAgY29uc3QgdHlwZSA9IEFMTE9XRURfVFlQRVMuaW5jbHVkZXMocmF3VHlwZSBhcyBDb250ZXh0RW50aXR5VHlwZSkgPyAocmF3VHlwZSBhcyBDb250ZXh0RW50aXR5VHlwZSkgOiAndXNlcidcbiAgcmV0dXJuIHsgdHlwZSwgaWQgfVxufVxuXG4vKiogR2VuZXJhIGVsIG1hcmNhZG9yIHBhcmEgdW4gbWVudGlvbiBkYWRvLiBMbyB1c2EgZWwgZWRpdG9yIGFsIHNlcmlhbGl6YXIuICovXG5leHBvcnQgY29uc3Qgc2VyaWFsaXplTWVudGlvbiA9IChtZW50aW9uOiBDb250ZXh0TWVudGlvbik6IHN0cmluZyA9PlxuICBgW1ttZW50aW9uOiR7bWVudGlvbi50eXBlfToke21lbnRpb24uaWR9fCR7bWVudGlvbi5sYWJlbH1dXWBcblxuLyoqXG4gKiBDb252aWVydGUgY2FkYSBgW1ttZW50aW9uOi4uLl1dYCBlbiB1biBsaW5rIG1hcmtkb3duIGNvbiBwcm90b2NvbG8gcHJvcGlvXG4gKiBwYXJhIHF1ZSBTdHJlYW1kb3duIGxvIGVtaXRhIGNvbW8gYDxhPmAgeSBgQ3VzdG9tTGlua2AgbG8gaW50ZXJjZXB0ZS5cbiAqL1xuZXhwb3J0IGNvbnN0IHRyYW5zZm9ybU1lbnRpb25NYXJrZXJzID0gKHRleHQ6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIGlmICghdGV4dCkgcmV0dXJuIHRleHRcbiAgcmV0dXJuIHRleHQucmVwbGFjZShNRU5USU9OX01BUktFUl9SRUdFWCwgKF9tLCB0eXBlLCBpZCwgbGFiZWwpID0+IHtcbiAgICBjb25zdCBzYWZlTGFiZWwgPSBTdHJpbmcobGFiZWwpLnJlcGxhY2UoL1tcXFxcXFxdXS9nLCAnXFxcXCQmJylcbiAgICByZXR1cm4gYFske3NhZmVMYWJlbH1dKCR7TUFJQV9NRU5USU9OX1BST1RPQ09MfSR7dHlwZX0vJHtlbmNvZGVVUklDb21wb25lbnQoU3RyaW5nKGlkKSl9KWBcbiAgfSlcbn1cblxuY29uc3QgbWVudGlvbkNoaWxkcmVuVG9MYWJlbCA9IChjaGlsZHJlbjogUmVhY3ROb2RlKTogc3RyaW5nID0+IHtcbiAgaWYgKHR5cGVvZiBjaGlsZHJlbiA9PT0gJ3N0cmluZycpIHJldHVybiBub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsKGNoaWxkcmVuKVxuICBpZiAoY2hpbGRyZW4gPT0gbnVsbCB8fCBjaGlsZHJlbiA9PT0gZmFsc2UpIHJldHVybiAnJ1xuICBpZiAoQXJyYXkuaXNBcnJheShjaGlsZHJlbikpIHtcbiAgICByZXR1cm4gbm9ybWFsaXplQ29udGV4dE1lbnRpb25MYWJlbChjaGlsZHJlbi5tYXAoYyA9PiAodHlwZW9mIGMgPT09ICdzdHJpbmcnID8gYyA6ICcnKSkuam9pbignJykpXG4gIH1cbiAgcmV0dXJuIG5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwoU3RyaW5nKGNoaWxkcmVuKSlcbn1cblxuY29uc3QgaW5saW5lTWVudGlvbkhvdmVyQ3NzID0gKHR5cGU6IENvbnRleHRFbnRpdHlUeXBlLCBpc0NsaWNrYWJsZT86IGJvb2xlYW4pID0+IHtcbiAgY29uc3QgYmcgPSB0eXBlID09PSAncHJvamVjdCcgPyBWSU9MRVRfSUFfQ09MT1JTWzEwMF0gOiBNRU5USU9OX0NISVBfTk9OX1RBU0tfSE9WRVJfQkdcbiAgcmV0dXJuIGNzc2BcbiAgICBiYWNrZ3JvdW5kOiAke2JnfTtcbiAgICBvcGFjaXR5OiAke2lzQ2xpY2thYmxlID8gMC45NSA6IDF9O1xuICBgXG59XG5cbi8qKiBTcGFuIGlubGluZSBlc3RpbGFkbyAobWVuY2lvbmVzIG5vLXRhc2sgZW4gY2hhdCkuICovXG5jb25zdCBTQ0lubGluZU1lbnRpb24gPSBzdHlsZWQuc3Bhbjx7ICR0eXBlOiBDb250ZXh0RW50aXR5VHlwZTsgJGlzQ2xpY2thYmxlPzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogaW5saW5lO1xuICBwYWRkaW5nOiAycHggNHB4O1xuICBtYXJnaW46IDAgMXB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGZvbnQtZmFtaWx5OiB2YXIoLS1jb3ItdHlwb2dyYXBoeS1mb250LWZhbWlseSwgJ1dvcmsgU2FucycpO1xuICBmb250LXdlaWdodDogNTAwO1xuICBmb250LXNpemU6IGluaGVyaXQ7XG4gIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kOiAkeyh7ICR0eXBlIH0pID0+IChNRU5USU9OX0NISVBfQ09MT1JTWyR0eXBlXSA/PyBNRU5USU9OX0NISVBfQ09MT1JTLnVzZXIpLmJnfTtcbiAgY29sb3I6ICR7KHsgJHR5cGUgfSkgPT4gKE1FTlRJT05fQ0hJUF9DT0xPUlNbJHR5cGVdID8/IE1FTlRJT05fQ0hJUF9DT0xPUlMudXNlcikuZmd9O1xuICB3aGl0ZS1zcGFjZTogbm9ybWFsO1xuICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkO1xuICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xuICBjdXJzb3I6ICR7KHsgJGlzQ2xpY2thYmxlIH0pID0+ICgkaXNDbGlja2FibGUgPyAncG9pbnRlcicgOiAnZGVmYXVsdCcpfTtcbiAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICY6aG92ZXIge1xuICAgICR7KHsgJHR5cGUsICRpc0NsaWNrYWJsZSB9KSA9PiBpbmxpbmVNZW50aW9uSG92ZXJDc3MoJHR5cGUsICRpc0NsaWNrYWJsZSl9XG4gIH1cbmBcblxuY29uc3QgU0NJbmxpbmVNZW50aW9uSWNvbiA9IHN0eWxlZC5zcGFuPHsgJHRhc2s/OiBib29sZWFuIH0+YFxuICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gIHZlcnRpY2FsLWFsaWduOiBtaWRkbGU7XG4gIG1hcmdpbi1yaWdodDogMnB4O1xuICBsaW5lLWhlaWdodDogMTtcbiAgd2lkdGg6ICR7KHsgJHRhc2sgfSkgPT4gKCR0YXNrID8gJzE2cHgnIDogJzE0cHgnKX07XG4gIGhlaWdodDogJHsoeyAkdGFzayB9KSA9PiAoJHRhc2sgPyAnMTZweCcgOiAnMTRweCcpfTtcbmBcblxuLyoqXG4gKiBTaSBlbCBocmVmIGNvcnJlc3BvbmRlIGFsIHByb3RvY29sbyBkZSBtZW50aW9uLCBkZXZ1ZWx2ZSB1biBub2RvIGVzdGlsYWRvIHBvciB0aXBvLlxuICogTGFzIHRhcmVhcyB1c2FuIGA8YT5gIGNvbW8gbG9zIGVubGFjZXMgZGUgdGFyZWEgZGVsIGFnZW50ZSAoYC5oYXMtdGFzay1saW5rc2ApLlxuICovXG5leHBvcnQgY29uc3QgcmVuZGVyTWVudGlvbkxpbmsgPSAoaHJlZjogc3RyaW5nIHwgdW5kZWZpbmVkLCBjaGlsZHJlbjogUmVhY3ROb2RlKTogUmVhY3ROb2RlIHwgbnVsbCA9PiB7XG4gIGlmICghaHJlZiB8fCAhaHJlZi5zdGFydHNXaXRoKE1BSUFfTUVOVElPTl9QUk9UT0NPTCkpIHJldHVybiBudWxsXG4gIGNvbnN0IHsgdHlwZSwgaWQgfSA9IHBhcnNlTWVudGlvblByb3RvY29sSHJlZihocmVmKVxuICBjb25zdCBsYWJlbCA9IG1lbnRpb25DaGlsZHJlblRvTGFiZWwoY2hpbGRyZW4pXG4gIGNvbnN0IGlzVGFzayA9IHR5cGUgPT09ICd0YXNrJ1xuICBjb25zdCBpY29uU2l6ZSA9IGlzVGFzayA/IDE2IDogMTRcbiAgY29uc3QgdGFza1VybCA9IGAvdGFza3MvJHtpZH0vZGV0YWlsYFxuXG4gIGNvbnN0IGhhbmRsZVRhc2tDbGljayA9IChlOiBNb3VzZUV2ZW50PEhUTUxBbmNob3JFbGVtZW50PikgPT4ge1xuICAgIGlmIChlLm1ldGFLZXkgfHwgZS5jdHJsS2V5KSByZXR1cm5cbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgb3BlblRhc2tJbkNvclBhbmVsKGlkLCAnZGV0YWlsJylcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZVRhc2tLZXlEb3duID0gKGU6IEtleWJvYXJkRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQ+KSA9PiB7XG4gICAgaWYgKGUua2V5ICE9PSAnRW50ZXInICYmIGUua2V5ICE9PSAnICcpIHJldHVyblxuICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIG9wZW5UYXNrSW5Db3JQYW5lbChpZCwgJ2RldGFpbCcpXG4gIH1cblxuICBpZiAoaXNUYXNrKSB7XG4gICAgcmV0dXJuIChcbiAgICAgIDxTQ1Rhc2tMaW5rXG4gICAgICAgIGhyZWY9e3Rhc2tVcmx9XG4gICAgICAgIGNsYXNzTmFtZT17Q09OVEVYVF9NRU5USU9OX0NISVBfQ0xBU1N9XG4gICAgICAgIGRhdGEtbWVudGlvbi10eXBlPXt0eXBlfVxuICAgICAgICBkYXRhLW1lbnRpb24tc3VyZmFjZT1cImNoYXRcIlxuICAgICAgICBvbkNsaWNrPXtoYW5kbGVUYXNrQ2xpY2t9XG4gICAgICAgIG9uS2V5RG93bj17aGFuZGxlVGFza0tleURvd259XG4gICAgICA+XG4gICAgICAgIHtsYWJlbH1cbiAgICAgIDwvU0NUYXNrTGluaz5cbiAgICApXG4gIH1cblxuICBjb25zdCBpc1Byb2plY3QgPSB0eXBlID09PSAncHJvamVjdCdcbiAgY29uc3QgcHJvamVjdFVybCA9IGlzUHJvamVjdCA/IGAvcHJvamVjdC8ke2lkfS9kYXNoYm9hcmRgIDogbnVsbFxuICBjb25zdCBzaG93SWNvbiA9ICFpc1Byb2plY3RcblxuICBjb25zdCBoYW5kbGVQcm9qZWN0Q2xpY2sgPSAoZTogTW91c2VFdmVudDxIVE1MU3BhbkVsZW1lbnQ+KSA9PiB7XG4gICAgaWYgKCFwcm9qZWN0VXJsKSByZXR1cm5cbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgd2luZG93Lm9wZW4ocHJvamVjdFVybCwgJ19ibGFuaycpXG4gIH1cblxuICByZXR1cm4gKFxuICAgIDxTQ0lubGluZU1lbnRpb25cbiAgICAgICR0eXBlPXt0eXBlfVxuICAgICAgJGlzQ2xpY2thYmxlPXtpc1Byb2plY3R9XG4gICAgICBjbGFzc05hbWU9e0NPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTfVxuICAgICAgZGF0YS1tZW50aW9uLXR5cGU9e3R5cGV9XG4gICAgICBkYXRhLW1lbnRpb24tc3VyZmFjZT1cImNoYXRcIlxuICAgICAgb25DbGljaz17aXNQcm9qZWN0ID8gaGFuZGxlUHJvamVjdENsaWNrIDogdW5kZWZpbmVkfVxuICAgICAgcm9sZT17aXNQcm9qZWN0ID8gJ2J1dHRvbicgOiB1bmRlZmluZWR9XG4gICAgICB0YWJJbmRleD17aXNQcm9qZWN0ID8gMCA6IHVuZGVmaW5lZH1cbiAgICA+XG4gICAgICB7c2hvd0ljb24gPyAoXG4gICAgICAgIDxTQ0lubGluZU1lbnRpb25JY29uICR0YXNrPXtpc1Rhc2t9PlxuICAgICAgICAgIHtnZXRDb250ZXh0TWVudGlvbkljb24odHlwZSwgTUVOVElPTl9DSElQX0NPTE9SU1t0eXBlXS5mZywgaWQsIGljb25TaXplKX1cbiAgICAgICAgPC9TQ0lubGluZU1lbnRpb25JY29uPlxuICAgICAgKSA6IG51bGx9XG4gICAgICB7bGFiZWx9XG4gICAgPC9TQ0lubGluZU1lbnRpb24+XG4gIClcbn1cblxuLyoqIFF1aXRhIGxvcyBtYXJrZXJzIGRlbCB0ZXh0bywgZGVqYW5kbyBzb2xvIGBsYWJlbGAuIMOadGlsIHBhcmEgZmFsbGJhY2sgcGxhbm8uICovXG5leHBvcnQgY29uc3Qgc3RyaXBNZW50aW9uTWFya2VycyA9ICh0ZXh0OiBzdHJpbmcpOiBzdHJpbmcgPT5cbiAgdGV4dC5yZXBsYWNlKE1FTlRJT05fTUFSS0VSX1JFR0VYLCAoX20sIF90eXBlLCBfaWQsIGxhYmVsKSA9PiBub3JtYWxpemVDb250ZXh0TWVudGlvbkxhYmVsKFN0cmluZyhsYWJlbCkpKVxuXG4vKipcbiAqIFTDrXR1bG9zIGRlIGNvbnZlcnNhY2nDs24gKHAuIGVqLiBgbGFzdF9xdWVzdGlvbmAgZGVyaXZhZG8gZGVsIHByaW1lciBtZW5zYWplKSBwdWVkZW5cbiAqIGluY2x1aXIgZWwgdGV4dG8gc2VyaWFsaXphZG8gYFtbbWVudGlvbjp0eXBlOmlkfGxhYmVsXV1gLiBQYXJhIHNpZGViYXIgeSBsaXN0YWRvcyxcbiAqIHJlZW1wbGF6YSBjYWRhIGJsb3F1ZSBwb3IgYGxhYmVsYCBlbiB0ZXh0byBwbGFubywgc2luIGVsIG1hcmNhZG9yIGNydWRvLlxuICovXG5leHBvcnQgY29uc3QgZm9ybWF0Q2hhdExpc3RUaXRsZU1lbnRpb25zID0gKHRleHQ6IHN0cmluZyB8IG51bGwgfCB1bmRlZmluZWQpOiBzdHJpbmcgPT4ge1xuICBpZiAodGV4dCA9PSBudWxsIHx8IHRleHQgPT09ICcnKSByZXR1cm4gdGV4dCA/PyAnJ1xuICBjb25zdCB3aXRob3V0Q29tcGxldGVNYXJrZXJzID0gdGV4dC5yZXBsYWNlKE1FTlRJT05fTUFSS0VSX1JFR0VYLCAoX20sIF90eXBlLCBfaWQsIGxhYmVsKSA9PlxuICAgIG5vcm1hbGl6ZUNvbnRleHRNZW50aW9uTGFiZWwoU3RyaW5nKGxhYmVsKS50cmltKCkpXG4gIClcbiAgcmV0dXJuIHdpdGhvdXRDb21wbGV0ZU1hcmtlcnMucmVwbGFjZShJTkNPTVBMRVRFX01FTlRJT05fTUFSS0VSX1JFR0VYLCAnJykudHJpbSgpXG59XG5cbi8qKiBHZW5lcmEgbGEgVVJMIGRlIG5hdmVnYWNpw7NuIHBhcmEgdW4gbWVudGlvbiBzZWfDum4gc3UgdGlwby4gKi9cbmNvbnN0IGdldE1lbnRpb25VcmwgPSAodHlwZTogQ29udGV4dEVudGl0eVR5cGUsIGlkOiBzdHJpbmcgfCBudW1iZXIpOiBzdHJpbmcgfCBudWxsID0+IHtcbiAgc3dpdGNoICh0eXBlKSB7XG4gICAgY2FzZSAnY2xpZW50JzpcbiAgICAgIHJldHVybiBgL2NsaWVudHMvJHtpZH1gXG4gICAgY2FzZSAncHJvamVjdCc6XG4gICAgICByZXR1cm4gYC9wcm9qZWN0LyR7aWR9L2Rhc2hib2FyZGBcbiAgICBjYXNlICd0YXNrJzpcbiAgICAgIHJldHVybiBgL3Rhc2tzLyR7aWR9L2RldGFpbGBcbiAgICBjYXNlICd1c2VyJzpcbiAgICAgIHJldHVybiBudWxsIC8vIExvcyB1c2VycyBubyBzb24gY2xpY2tlYWJsZXNcbiAgICBjYXNlICdtY3AnOlxuICAgICAgcmV0dXJuIG51bGxcbiAgICBkZWZhdWx0OlxuICAgICAgcmV0dXJuIG51bGxcbiAgfVxufVxuXG5jb25zdCBNZW50aW9uQ2hpcCA9ICh7IHR5cGUsIGlkLCBsYWJlbCB9OiB7IHR5cGU6IENvbnRleHRFbnRpdHlUeXBlOyBpZDogc3RyaW5nOyBsYWJlbDogc3RyaW5nIH0pID0+IHtcbiAgY29uc3Qgbm9ybWFsaXplZExhYmVsID0gbm9ybWFsaXplQ29udGV4dE1lbnRpb25MYWJlbChsYWJlbClcbiAgY29uc3QgdXJsID0gZ2V0TWVudGlvblVybCh0eXBlLCBpZClcbiAgY29uc3QgaXNDbGlja2FibGUgPSAhIXVybFxuICBjb25zdCBpc1Rhc2sgPSB0eXBlID09PSAndGFzaydcbiAgY29uc3QgaXNQcm9qZWN0ID0gdHlwZSA9PT0gJ3Byb2plY3QnXG4gIGNvbnN0IHNob3dJY29uID0gIWlzUHJvamVjdFxuICBjb25zdCBpY29uU2l6ZSA9IGlzVGFzayA/IDE2IDogMTRcblxuICBjb25zdCBoYW5kbGVDbGljayA9IChlOiBNb3VzZUV2ZW50PEhUTUxBbmNob3JFbGVtZW50IHwgSFRNTFNwYW5FbGVtZW50PikgPT4ge1xuICAgIGlmICghaXNDbGlja2FibGUgfHwgIXVybCkgcmV0dXJuXG4gICAgaWYgKHR5cGUgPT09ICd0YXNrJykge1xuICAgICAgaWYgKGUubWV0YUtleSB8fCBlLmN0cmxLZXkpIHJldHVyblxuICAgICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgICBlLnN0b3BQcm9wYWdhdGlvbigpXG4gICAgICBvcGVuVGFza0luQ29yUGFuZWwoaWQsICdkZXRhaWwnKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIGUucHJldmVudERlZmF1bHQoKVxuICAgIHdpbmRvdy5vcGVuKHVybCwgJ19ibGFuaycpXG4gIH1cblxuICBjb25zdCBoYW5kbGVLZXlEb3duID0gKGU6IEtleWJvYXJkRXZlbnQ8SFRNTEFuY2hvckVsZW1lbnQgfCBIVE1MU3BhbkVsZW1lbnQ+KSA9PiB7XG4gICAgaWYgKCFpc0NsaWNrYWJsZSB8fCB0eXBlICE9PSAndGFzaycpIHJldHVyblxuICAgIGlmIChlLmtleSAhPT0gJ0VudGVyJyAmJiBlLmtleSAhPT0gJyAnKSByZXR1cm5cbiAgICBlLnByZXZlbnREZWZhdWx0KClcbiAgICBvcGVuVGFza0luQ29yUGFuZWwoaWQsICdkZXRhaWwnKVxuICB9XG5cbiAgaWYgKHR5cGUgPT09ICd0YXNrJykge1xuICAgIHJldHVybiAoXG4gICAgICA8U0NUYXNrTGlua1xuICAgICAgICBocmVmPXt1cmwgPz8gJyMnfVxuICAgICAgICBjbGFzc05hbWU9e0NPTlRFWFRfTUVOVElPTl9DSElQX0NMQVNTfVxuICAgICAgICBkYXRhLW1lbnRpb24tdHlwZT1cInRhc2tcIlxuICAgICAgICBkYXRhLW1lbnRpb24tc3VyZmFjZT1cImNoYXRcIlxuICAgICAgICBvbkNsaWNrPXtoYW5kbGVDbGlja31cbiAgICAgICAgb25LZXlEb3duPXtoYW5kbGVLZXlEb3dufVxuICAgICAgPlxuICAgICAgICB7bm9ybWFsaXplZExhYmVsfVxuICAgICAgPC9TQ1Rhc2tMaW5rPlxuICAgIClcbiAgfVxuXG4gIHJldHVybiAoXG4gICAgPFNDSW5saW5lTWVudGlvblxuICAgICAgJHR5cGU9e3R5cGV9XG4gICAgICAkaXNDbGlja2FibGU9e2lzQ2xpY2thYmxlfVxuICAgICAgY2xhc3NOYW1lPXtDT05URVhUX01FTlRJT05fQ0hJUF9DTEFTU31cbiAgICAgIGRhdGEtbWVudGlvbi10eXBlPXt0eXBlfVxuICAgICAgZGF0YS1tZW50aW9uLXN1cmZhY2U9XCJjaGF0XCJcbiAgICAgIG9uQ2xpY2s9e2lzQ2xpY2thYmxlID8gaGFuZGxlQ2xpY2sgOiB1bmRlZmluZWR9XG4gICAgICByb2xlPXtpc0NsaWNrYWJsZSA/ICdidXR0b24nIDogdW5kZWZpbmVkfVxuICAgICAgdGFiSW5kZXg9e2lzQ2xpY2thYmxlID8gMCA6IHVuZGVmaW5lZH1cbiAgICA+XG4gICAgICB7c2hvd0ljb24gPyAoXG4gICAgICAgIDxTQ0lubGluZU1lbnRpb25JY29uICR0YXNrPXtpc1Rhc2t9PlxuICAgICAgICAgIHtnZXRDb250ZXh0TWVudGlvbkljb24odHlwZSwgTUVOVElPTl9DSElQX0NPTE9SU1t0eXBlXS5mZywgaWQsIGljb25TaXplKX1cbiAgICAgICAgPC9TQ0lubGluZU1lbnRpb25JY29uPlxuICAgICAgKSA6IG51bGx9XG4gICAgICB7bm9ybWFsaXplZExhYmVsfVxuICAgIDwvU0NJbmxpbmVNZW50aW9uPlxuICApXG59XG5cbi8qKlxuICogU3BsaXRlYSBlbCB0ZXh0byBwb3IgbWFya2VycyB5IGRldnVlbHZlIHVuIGFycmF5IGRlIFJlYWN0Tm9kZXM6XG4gKiB0ZXh0byBwbGFubyArIHNwYW5zIGVzdGlsYWRvcyBwYXJhIGNhZGEgbWVudGlvbi4gUmVuZGVyaXphIGRpcmVjdGFtZW50ZVxuICogc2luIHBhc2FyIHBvciBTdHJlYW1kb3duIChubyBzb3BvcnRhIG1hcmtkb3duIGVuIGVzdGUgbW9kbykuXG4gKi9cbmV4cG9ydCBjb25zdCByZW5kZXJUZXh0V2l0aE1lbnRpb25zID0gKHRleHQ6IHN0cmluZyk6IEFycmF5PHN0cmluZyB8IFJlYWN0RWxlbWVudD4gPT4ge1xuICBpZiAoIXRleHQpIHJldHVybiBbdGV4dF1cbiAgY29uc3Qgb3V0OiBBcnJheTxzdHJpbmcgfCBSZWFjdEVsZW1lbnQ+ID0gW11cbiAgbGV0IGxhc3RJZHggPSAwXG4gIE1FTlRJT05fTUFSS0VSX1JFR0VYLmxhc3RJbmRleCA9IDBcbiAgbGV0IG1hdGNoOiBSZWdFeHBFeGVjQXJyYXkgfCBudWxsID0gTUVOVElPTl9NQVJLRVJfUkVHRVguZXhlYyh0ZXh0KVxuICBsZXQga2V5SWR4ID0gMFxuICB3aGlsZSAobWF0Y2gpIHtcbiAgICBpZiAobWF0Y2guaW5kZXggPiBsYXN0SWR4KSBvdXQucHVzaCh0ZXh0LnNsaWNlKGxhc3RJZHgsIG1hdGNoLmluZGV4KSlcbiAgICBjb25zdCBbLCByYXdUeXBlLCBpZCwgbGFiZWxdID0gbWF0Y2hcbiAgICBjb25zdCB0eXBlID0gQUxMT1dFRF9UWVBFUy5pbmNsdWRlcyhyYXdUeXBlIGFzIENvbnRleHRFbnRpdHlUeXBlKSA/IChyYXdUeXBlIGFzIENvbnRleHRFbnRpdHlUeXBlKSA6ICd1c2VyJ1xuXG4gICAgb3V0LnB1c2goPE1lbnRpb25DaGlwIGtleT17YG1lbnRpb24tJHtrZXlJZHh9LSR7bWF0Y2guaW5kZXh9YH0gdHlwZT17dHlwZX0gaWQ9e2lkfSBsYWJlbD17bGFiZWx9IC8+KVxuXG4gICAgbGFzdElkeCA9IG1hdGNoLmluZGV4ICsgbWF0Y2hbMF0ubGVuZ3RoXG4gICAga2V5SWR4ICs9IDFcbiAgICBtYXRjaCA9IE1FTlRJT05fTUFSS0VSX1JFR0VYLmV4ZWModGV4dClcbiAgfVxuICBpZiAobGFzdElkeCA8IHRleHQubGVuZ3RoKSBvdXQucHVzaCh0ZXh0LnNsaWNlKGxhc3RJZHgpKVxuICByZXR1cm4gb3V0XG59XG4iXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPQSxNQUFNLElBQUlDLEdBQUcsUUFBUSxtQkFBbUI7QUFDL0MsU0FBNENDLDBCQUEwQixRQUFRLHlCQUF5QjtBQUN2RyxTQUNFQyxtQkFBbUIsRUFDbkJDLDhCQUE4QixRQUN6QixrRUFBa0U7QUFDekUsU0FBU0MsZ0JBQWdCLFFBQVEsa0JBQWtCO0FBQ25ELFNBQVNDLFVBQVUsUUFBUSxrREFBa0Q7QUFDN0UsU0FBU0MscUJBQXFCLFFBQVEsdUJBQXVCO0FBQzdELFNBQVNDLDRCQUE0QixRQUFRLHVCQUF1QjtBQUNwRSxTQUFTQyxrQkFBa0IsUUFBUSxzQkFBc0I7O0FBRXpEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFIQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBO0FBSUEsT0FBTyxJQUFNQyxvQkFBb0IsR0FBRyx1RUFBdUU7QUFDM0csT0FBTyxJQUFNQyxxQkFBcUIsR0FBRyxpQkFBaUI7QUFDdEQsSUFBTUMsK0JBQStCLEdBQUcsc0JBQXNCO0FBRTlELElBQU1DLGFBQWtDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsU0FBUyxFQUFFLE1BQU0sRUFBRSxNQUFNLEVBQUUsS0FBSyxDQUFDO0FBRXZGLElBQU1DLHdCQUF3QixHQUFHLFNBQTNCQSx3QkFBd0JBLENBQUlDLElBQVksRUFBOEM7RUFDMUYsSUFBTUMsSUFBSSxHQUFHRCxJQUFJLENBQUNFLEtBQUssQ0FBQ04scUJBQXFCLENBQUNPLE1BQU0sQ0FBQztFQUNyRCxJQUFNQyxRQUFRLEdBQUdILElBQUksQ0FBQ0ksT0FBTyxDQUFDLEdBQUcsQ0FBQztFQUNsQyxJQUFNQyxPQUFPLEdBQUdGLFFBQVEsSUFBSSxDQUFDLEdBQUdILElBQUksQ0FBQ0MsS0FBSyxDQUFDLENBQUMsRUFBRUUsUUFBUSxDQUFDLEdBQUdILElBQUk7RUFDOUQsSUFBTU0sS0FBSyxHQUFHSCxRQUFRLElBQUksQ0FBQyxHQUFHSCxJQUFJLENBQUNDLEtBQUssQ0FBQ0UsUUFBUSxHQUFHLENBQUMsQ0FBQyxHQUFHLEVBQUU7RUFDM0QsSUFBSUksRUFBRSxHQUFHLEVBQUU7RUFDWCxJQUFJO0lBQ0ZBLEVBQUUsR0FBR0QsS0FBSyxHQUFHRSxrQkFBa0IsQ0FBQ0YsS0FBSyxDQUFDLEdBQUcsRUFBRTtFQUM3QyxDQUFDLENBQUMsT0FBQUcsT0FBQSxFQUFNO0lBQ05GLEVBQUUsR0FBR0QsS0FBSztFQUNaO0VBQ0EsSUFBTUksSUFBSSxHQUFHYixhQUFhLENBQUNjLFFBQVEsQ0FBQ04sT0FBNEIsQ0FBQyxHQUFJQSxPQUFPLEdBQXlCLE1BQU07RUFDM0csT0FBTztJQUFFSyxJQUFJLEVBQUpBLElBQUk7SUFBRUgsRUFBRSxFQUFGQTtFQUFHLENBQUM7QUFDckIsQ0FBQzs7QUFFRDtBQUNBLE9BQU8sSUFBTUssZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFnQkEsQ0FBSUMsT0FBdUI7RUFBQSxvQkFBQUMsTUFBQSxDQUN6Q0QsT0FBTyxDQUFDSCxJQUFJLE9BQUFJLE1BQUEsQ0FBSUQsT0FBTyxDQUFDTixFQUFFLE9BQUFPLE1BQUEsQ0FBSUQsT0FBTyxDQUFDRSxLQUFLO0FBQUEsQ0FBSTs7QUFFOUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLElBQU1DLHVCQUF1QixHQUFHLFNBQTFCQSx1QkFBdUJBLENBQUlDLElBQVksRUFBYTtFQUMvRCxJQUFJLENBQUNBLElBQUksRUFBRSxPQUFPQSxJQUFJO0VBQ3RCLE9BQU9BLElBQUksQ0FBQ0MsT0FBTyxDQUFDeEIsb0JBQW9CLEVBQUUsVUFBQ3lCLEVBQUUsRUFBRVQsSUFBSSxFQUFFSCxFQUFFLEVBQUVRLEtBQUssRUFBSztJQUNqRSxJQUFNSyxTQUFTLEdBQUdDLE1BQU0sQ0FBQ04sS0FBSyxDQUFDLENBQUNHLE9BQU8sQ0FBQyxTQUFTLEVBQUUsTUFBTSxDQUFDO0lBQzFELFdBQUFKLE1BQUEsQ0FBV00sU0FBUyxRQUFBTixNQUFBLENBQUtuQixxQkFBcUIsRUFBQW1CLE1BQUEsQ0FBR0osSUFBSSxPQUFBSSxNQUFBLENBQUlRLGtCQUFrQixDQUFDRCxNQUFNLENBQUNkLEVBQUUsQ0FBQyxDQUFDO0VBQ3pGLENBQUMsQ0FBQztBQUNKLENBQUM7QUFFRCxJQUFNZ0Isc0JBQXNCLEdBQUcsU0FBekJBLHNCQUFzQkEsQ0FBSUMsUUFBbUIsRUFBYTtFQUM5RCxJQUFJLE9BQU9BLFFBQVEsS0FBSyxRQUFRLEVBQUUsT0FBT3BDLDRCQUE0QixDQUFDb0MsUUFBUSxDQUFDO0VBQy9FLElBQUlBLFFBQVEsSUFBSSxJQUFJLElBQUlBLFFBQVEsS0FBSyxLQUFLLEVBQUUsT0FBTyxFQUFFO0VBQ3JELElBQUlDLEtBQUssQ0FBQ0MsT0FBTyxDQUFDRixRQUFRLENBQUMsRUFBRTtJQUMzQixPQUFPcEMsNEJBQTRCLENBQUNvQyxRQUFRLENBQUNHLEdBQUcsQ0FBQyxVQUFBQyxDQUFDO01BQUEsT0FBSyxPQUFPQSxDQUFDLEtBQUssUUFBUSxHQUFHQSxDQUFDLEdBQUcsRUFBRTtJQUFBLENBQUMsQ0FBQyxDQUFDQyxJQUFJLENBQUMsRUFBRSxDQUFDLENBQUM7RUFDbkc7RUFDQSxPQUFPekMsNEJBQTRCLENBQUNpQyxNQUFNLENBQUNHLFFBQVEsQ0FBQyxDQUFDO0FBQ3ZELENBQUM7QUFFRCxJQUFNTSxxQkFBcUIsR0FBRyxTQUF4QkEscUJBQXFCQSxDQUFJcEIsSUFBdUIsRUFBRXFCLFdBQXFCLEVBQUs7RUFDaEYsSUFBTUMsRUFBRSxHQUFHdEIsSUFBSSxLQUFLLFNBQVMsR0FBR3pCLGdCQUFnQixDQUFDLEdBQUcsQ0FBQyxHQUFHRCw4QkFBOEI7RUFDdEYsT0FBT0gsR0FBRyxvQ0FDTW1ELEVBQUUsRUFDTEQsV0FBVyxHQUFHLElBQUksR0FBRyxDQUFDO0FBRXJDLENBQUM7O0FBRUQ7QUFDQSxJQUFNRSxlQUFlLEdBQUdyRCxNQUFNLENBQUNzRCxJQUFJLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsd1ZBU25CLFVBQUFDLElBQUE7RUFBQSxJQUFBQyxxQkFBQTtFQUFBLElBQUdDLEtBQUssR0FBQUYsSUFBQSxDQUFMRSxLQUFLO0VBQUEsT0FBTyxFQUFBRCxxQkFBQSxHQUFDeEQsbUJBQW1CLENBQUN5RCxLQUFLLENBQUMsY0FBQUQscUJBQUEsY0FBQUEscUJBQUEsR0FBSXhELG1CQUFtQixDQUFDMEQsSUFBSSxFQUFFVCxFQUFFO0FBQUEsR0FDL0UsVUFBQVUsS0FBQTtFQUFBLElBQUFDLHNCQUFBO0VBQUEsSUFBR0gsS0FBSyxHQUFBRSxLQUFBLENBQUxGLEtBQUs7RUFBQSxPQUFPLEVBQUFHLHNCQUFBLEdBQUM1RCxtQkFBbUIsQ0FBQ3lELEtBQUssQ0FBQyxjQUFBRyxzQkFBQSxjQUFBQSxzQkFBQSxHQUFJNUQsbUJBQW1CLENBQUMwRCxJQUFJLEVBQUVHLEVBQUU7QUFBQSxHQUl6RSxVQUFBQyxLQUFBO0VBQUEsSUFBR0MsWUFBWSxHQUFBRCxLQUFBLENBQVpDLFlBQVk7RUFBQSxPQUFRQSxZQUFZLEdBQUcsU0FBUyxHQUFHLFNBQVM7QUFBQSxDQUFDLEVBS2xFLFVBQUFDLEtBQUE7RUFBQSxJQUFHUCxLQUFLLEdBQUFPLEtBQUEsQ0FBTFAsS0FBSztJQUFFTSxZQUFZLEdBQUFDLEtBQUEsQ0FBWkQsWUFBWTtFQUFBLE9BQU9oQixxQkFBcUIsQ0FBQ1UsS0FBSyxFQUFFTSxZQUFZLENBQUM7QUFBQSxFQUU1RTtBQUVELElBQU1FLG1CQUFtQixHQUFHcEUsTUFBTSxDQUFDc0QsSUFBSSxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDBHQUs1QixVQUFBWSxLQUFBO0VBQUEsSUFBR0MsS0FBSyxHQUFBRCxLQUFBLENBQUxDLEtBQUs7RUFBQSxPQUFRQSxLQUFLLEdBQUcsTUFBTSxHQUFHLE1BQU07QUFBQSxDQUFDLEVBQ3ZDLFVBQUFDLEtBQUE7RUFBQSxJQUFHRCxLQUFLLEdBQUFDLEtBQUEsQ0FBTEQsS0FBSztFQUFBLE9BQVFBLEtBQUssR0FBRyxNQUFNLEdBQUcsTUFBTTtBQUFBLENBQUMsQ0FDbkQ7O0FBRUQ7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLElBQU1FLGlCQUFpQixHQUFHLFNBQXBCQSxpQkFBaUJBLENBQUlyRCxJQUF3QixFQUFFeUIsUUFBbUIsRUFBdUI7RUFDcEcsSUFBSSxDQUFDekIsSUFBSSxJQUFJLENBQUNBLElBQUksQ0FBQ3NELFVBQVUsQ0FBQzFELHFCQUFxQixDQUFDLEVBQUUsT0FBTyxJQUFJO0VBQ2pFLElBQUEyRCxxQkFBQSxHQUFxQnhELHdCQUF3QixDQUFDQyxJQUFJLENBQUM7SUFBM0NXLElBQUksR0FBQTRDLHFCQUFBLENBQUo1QyxJQUFJO0lBQUVILEVBQUUsR0FBQStDLHFCQUFBLENBQUYvQyxFQUFFO0VBQ2hCLElBQU1RLEtBQUssR0FBR1Esc0JBQXNCLENBQUNDLFFBQVEsQ0FBQztFQUM5QyxJQUFNK0IsTUFBTSxHQUFHN0MsSUFBSSxLQUFLLE1BQU07RUFDOUIsSUFBTThDLFFBQVEsR0FBR0QsTUFBTSxHQUFHLEVBQUUsR0FBRyxFQUFFO0VBQ2pDLElBQU1FLE9BQU8sYUFBQTNDLE1BQUEsQ0FBYVAsRUFBRSxZQUFTO0VBRXJDLElBQU1tRCxlQUFlLEdBQUcsU0FBbEJBLGVBQWVBLENBQUlDLENBQWdDLEVBQUs7SUFDNUQsSUFBSUEsQ0FBQyxDQUFDQyxPQUFPLElBQUlELENBQUMsQ0FBQ0UsT0FBTyxFQUFFO0lBQzVCRixDQUFDLENBQUNHLGNBQWMsQ0FBQyxDQUFDO0lBQ2xCSCxDQUFDLENBQUNJLGVBQWUsQ0FBQyxDQUFDO0lBQ25CMUUsa0JBQWtCLENBQUNrQixFQUFFLEVBQUUsUUFBUSxDQUFDO0VBQ2xDLENBQUM7RUFFRCxJQUFNeUQsaUJBQWlCLEdBQUcsU0FBcEJBLGlCQUFpQkEsQ0FBSUwsQ0FBbUMsRUFBSztJQUNqRSxJQUFJQSxDQUFDLENBQUNNLEdBQUcsS0FBSyxPQUFPLElBQUlOLENBQUMsQ0FBQ00sR0FBRyxLQUFLLEdBQUcsRUFBRTtJQUN4Q04sQ0FBQyxDQUFDRyxjQUFjLENBQUMsQ0FBQztJQUNsQnpFLGtCQUFrQixDQUFDa0IsRUFBRSxFQUFFLFFBQVEsQ0FBQztFQUNsQyxDQUFDO0VBRUQsSUFBSWdELE1BQU0sRUFBRTtJQUNWLG9CQUNFaEUsSUFBQSxDQUFDTCxVQUFVO01BQ1RhLElBQUksRUFBRTBELE9BQVE7TUFDZFMsU0FBUyxFQUFFcEYsMEJBQTJCO01BQ3RDLHFCQUFtQjRCLElBQUs7TUFDeEIsd0JBQXFCLE1BQU07TUFDM0J5RCxPQUFPLEVBQUVULGVBQWdCO01BQ3pCVSxTQUFTLEVBQUVKLGlCQUFrQjtNQUFBeEMsUUFBQSxFQUU1QlQ7SUFBSyxDQUNJLENBQUM7RUFFakI7RUFFQSxJQUFNc0QsU0FBUyxHQUFHM0QsSUFBSSxLQUFLLFNBQVM7RUFDcEMsSUFBTTRELFVBQVUsR0FBR0QsU0FBUyxlQUFBdkQsTUFBQSxDQUFlUCxFQUFFLGtCQUFlLElBQUk7RUFDaEUsSUFBTWdFLFFBQVEsR0FBRyxDQUFDRixTQUFTO0VBRTNCLElBQU1HLGtCQUFrQixHQUFHLFNBQXJCQSxrQkFBa0JBLENBQUliLENBQThCLEVBQUs7SUFDN0QsSUFBSSxDQUFDVyxVQUFVLEVBQUU7SUFDakJYLENBQUMsQ0FBQ0csY0FBYyxDQUFDLENBQUM7SUFDbEJILENBQUMsQ0FBQ0ksZUFBZSxDQUFDLENBQUM7SUFDbkJVLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDSixVQUFVLEVBQUUsUUFBUSxDQUFDO0VBQ25DLENBQUM7RUFFRCxvQkFDRTdFLEtBQUEsQ0FBQ3dDLGVBQWU7SUFDZE8sS0FBSyxFQUFFOUIsSUFBSztJQUNab0MsWUFBWSxFQUFFdUIsU0FBVTtJQUN4QkgsU0FBUyxFQUFFcEYsMEJBQTJCO0lBQ3RDLHFCQUFtQjRCLElBQUs7SUFDeEIsd0JBQXFCLE1BQU07SUFDM0J5RCxPQUFPLEVBQUVFLFNBQVMsR0FBR0csa0JBQWtCLEdBQUdHLFNBQVU7SUFDcERDLElBQUksRUFBRVAsU0FBUyxHQUFHLFFBQVEsR0FBR00sU0FBVTtJQUN2Q0UsUUFBUSxFQUFFUixTQUFTLEdBQUcsQ0FBQyxHQUFHTSxTQUFVO0lBQUFuRCxRQUFBLEdBRW5DK0MsUUFBUSxnQkFDUGhGLElBQUEsQ0FBQ3lELG1CQUFtQjtNQUFDRSxLQUFLLEVBQUVLLE1BQU87TUFBQS9CLFFBQUEsRUFDaENyQyxxQkFBcUIsQ0FBQ3VCLElBQUksRUFBRTNCLG1CQUFtQixDQUFDMkIsSUFBSSxDQUFDLENBQUNrQyxFQUFFLEVBQUVyQyxFQUFFLEVBQUVpRCxRQUFRO0lBQUMsQ0FDckQsQ0FBQyxHQUNwQixJQUFJLEVBQ1B6QyxLQUFLO0VBQUEsQ0FDUyxDQUFDO0FBRXRCLENBQUM7O0FBRUQ7QUFDQSxPQUFPLElBQU0rRCxtQkFBbUIsR0FBRyxTQUF0QkEsbUJBQW1CQSxDQUFJN0QsSUFBWTtFQUFBLE9BQzlDQSxJQUFJLENBQUNDLE9BQU8sQ0FBQ3hCLG9CQUFvQixFQUFFLFVBQUN5QixFQUFFLEVBQUU0RCxLQUFLLEVBQUVDLEdBQUcsRUFBRWpFLEtBQUs7SUFBQSxPQUFLM0IsNEJBQTRCLENBQUNpQyxNQUFNLENBQUNOLEtBQUssQ0FBQyxDQUFDO0VBQUEsRUFBQztBQUFBOztBQUU1RztBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxJQUFNa0UsMkJBQTJCLEdBQUcsU0FBOUJBLDJCQUEyQkEsQ0FBSWhFLElBQStCLEVBQWE7RUFDdEYsSUFBSUEsSUFBSSxJQUFJLElBQUksSUFBSUEsSUFBSSxLQUFLLEVBQUUsRUFBRSxPQUFPQSxJQUFJLGFBQUpBLElBQUksY0FBSkEsSUFBSSxHQUFJLEVBQUU7RUFDbEQsSUFBTWlFLHNCQUFzQixHQUFHakUsSUFBSSxDQUFDQyxPQUFPLENBQUN4QixvQkFBb0IsRUFBRSxVQUFDeUIsRUFBRSxFQUFFNEQsS0FBSyxFQUFFQyxHQUFHLEVBQUVqRSxLQUFLO0lBQUEsT0FDdEYzQiw0QkFBNEIsQ0FBQ2lDLE1BQU0sQ0FBQ04sS0FBSyxDQUFDLENBQUNvRSxJQUFJLENBQUMsQ0FBQyxDQUFDO0VBQUEsQ0FDcEQsQ0FBQztFQUNELE9BQU9ELHNCQUFzQixDQUFDaEUsT0FBTyxDQUFDdEIsK0JBQStCLEVBQUUsRUFBRSxDQUFDLENBQUN1RixJQUFJLENBQUMsQ0FBQztBQUNuRixDQUFDOztBQUVEO0FBQ0EsSUFBTUMsYUFBYSxHQUFHLFNBQWhCQSxhQUFhQSxDQUFJMUUsSUFBdUIsRUFBRUgsRUFBbUIsRUFBb0I7RUFDckYsUUFBUUcsSUFBSTtJQUNWLEtBQUssUUFBUTtNQUNYLG1CQUFBSSxNQUFBLENBQW1CUCxFQUFFO0lBQ3ZCLEtBQUssU0FBUztNQUNaLG1CQUFBTyxNQUFBLENBQW1CUCxFQUFFO0lBQ3ZCLEtBQUssTUFBTTtNQUNULGlCQUFBTyxNQUFBLENBQWlCUCxFQUFFO0lBQ3JCLEtBQUssTUFBTTtNQUNULE9BQU8sSUFBSTtJQUFDO0lBQ2QsS0FBSyxLQUFLO01BQ1IsT0FBTyxJQUFJO0lBQ2I7TUFDRSxPQUFPLElBQUk7RUFDZjtBQUNGLENBQUM7QUFFRCxJQUFNOEUsV0FBVyxHQUFHLFNBQWRBLFdBQVdBLENBQUFDLEtBQUEsRUFBb0Y7RUFBQSxJQUE5RTVFLElBQUksR0FBQTRFLEtBQUEsQ0FBSjVFLElBQUk7SUFBRUgsRUFBRSxHQUFBK0UsS0FBQSxDQUFGL0UsRUFBRTtJQUFFUSxLQUFLLEdBQUF1RSxLQUFBLENBQUx2RSxLQUFLO0VBQ3BDLElBQU13RSxlQUFlLEdBQUduRyw0QkFBNEIsQ0FBQzJCLEtBQUssQ0FBQztFQUMzRCxJQUFNeUUsR0FBRyxHQUFHSixhQUFhLENBQUMxRSxJQUFJLEVBQUVILEVBQUUsQ0FBQztFQUNuQyxJQUFNd0IsV0FBVyxHQUFHLENBQUMsQ0FBQ3lELEdBQUc7RUFDekIsSUFBTWpDLE1BQU0sR0FBRzdDLElBQUksS0FBSyxNQUFNO0VBQzlCLElBQU0yRCxTQUFTLEdBQUczRCxJQUFJLEtBQUssU0FBUztFQUNwQyxJQUFNNkQsUUFBUSxHQUFHLENBQUNGLFNBQVM7RUFDM0IsSUFBTWIsUUFBUSxHQUFHRCxNQUFNLEdBQUcsRUFBRSxHQUFHLEVBQUU7RUFFakMsSUFBTWtDLFdBQVcsR0FBRyxTQUFkQSxXQUFXQSxDQUFJOUIsQ0FBa0QsRUFBSztJQUMxRSxJQUFJLENBQUM1QixXQUFXLElBQUksQ0FBQ3lELEdBQUcsRUFBRTtJQUMxQixJQUFJOUUsSUFBSSxLQUFLLE1BQU0sRUFBRTtNQUNuQixJQUFJaUQsQ0FBQyxDQUFDQyxPQUFPLElBQUlELENBQUMsQ0FBQ0UsT0FBTyxFQUFFO01BQzVCRixDQUFDLENBQUNHLGNBQWMsQ0FBQyxDQUFDO01BQ2xCSCxDQUFDLENBQUNJLGVBQWUsQ0FBQyxDQUFDO01BQ25CMUUsa0JBQWtCLENBQUNrQixFQUFFLEVBQUUsUUFBUSxDQUFDO01BQ2hDO0lBQ0Y7SUFDQW9ELENBQUMsQ0FBQ0csY0FBYyxDQUFDLENBQUM7SUFDbEJXLE1BQU0sQ0FBQ0MsSUFBSSxDQUFDYyxHQUFHLEVBQUUsUUFBUSxDQUFDO0VBQzVCLENBQUM7RUFFRCxJQUFNRSxhQUFhLEdBQUcsU0FBaEJBLGFBQWFBLENBQUkvQixDQUFxRCxFQUFLO0lBQy9FLElBQUksQ0FBQzVCLFdBQVcsSUFBSXJCLElBQUksS0FBSyxNQUFNLEVBQUU7SUFDckMsSUFBSWlELENBQUMsQ0FBQ00sR0FBRyxLQUFLLE9BQU8sSUFBSU4sQ0FBQyxDQUFDTSxHQUFHLEtBQUssR0FBRyxFQUFFO0lBQ3hDTixDQUFDLENBQUNHLGNBQWMsQ0FBQyxDQUFDO0lBQ2xCekUsa0JBQWtCLENBQUNrQixFQUFFLEVBQUUsUUFBUSxDQUFDO0VBQ2xDLENBQUM7RUFFRCxJQUFJRyxJQUFJLEtBQUssTUFBTSxFQUFFO0lBQ25CLG9CQUNFbkIsSUFBQSxDQUFDTCxVQUFVO01BQ1RhLElBQUksRUFBRXlGLEdBQUcsYUFBSEEsR0FBRyxjQUFIQSxHQUFHLEdBQUksR0FBSTtNQUNqQnRCLFNBQVMsRUFBRXBGLDBCQUEyQjtNQUN0QyxxQkFBa0IsTUFBTTtNQUN4Qix3QkFBcUIsTUFBTTtNQUMzQnFGLE9BQU8sRUFBRXNCLFdBQVk7TUFDckJyQixTQUFTLEVBQUVzQixhQUFjO01BQUFsRSxRQUFBLEVBRXhCK0Q7SUFBZSxDQUNOLENBQUM7RUFFakI7RUFFQSxvQkFDRTlGLEtBQUEsQ0FBQ3dDLGVBQWU7SUFDZE8sS0FBSyxFQUFFOUIsSUFBSztJQUNab0MsWUFBWSxFQUFFZixXQUFZO0lBQzFCbUMsU0FBUyxFQUFFcEYsMEJBQTJCO0lBQ3RDLHFCQUFtQjRCLElBQUs7SUFDeEIsd0JBQXFCLE1BQU07SUFDM0J5RCxPQUFPLEVBQUVwQyxXQUFXLEdBQUcwRCxXQUFXLEdBQUdkLFNBQVU7SUFDL0NDLElBQUksRUFBRTdDLFdBQVcsR0FBRyxRQUFRLEdBQUc0QyxTQUFVO0lBQ3pDRSxRQUFRLEVBQUU5QyxXQUFXLEdBQUcsQ0FBQyxHQUFHNEMsU0FBVTtJQUFBbkQsUUFBQSxHQUVyQytDLFFBQVEsZ0JBQ1BoRixJQUFBLENBQUN5RCxtQkFBbUI7TUFBQ0UsS0FBSyxFQUFFSyxNQUFPO01BQUEvQixRQUFBLEVBQ2hDckMscUJBQXFCLENBQUN1QixJQUFJLEVBQUUzQixtQkFBbUIsQ0FBQzJCLElBQUksQ0FBQyxDQUFDa0MsRUFBRSxFQUFFckMsRUFBRSxFQUFFaUQsUUFBUTtJQUFDLENBQ3JELENBQUMsR0FDcEIsSUFBSSxFQUNQK0IsZUFBZTtFQUFBLENBQ0QsQ0FBQztBQUV0QixDQUFDOztBQUVEO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLElBQU1JLHNCQUFzQixHQUFHLFNBQXpCQSxzQkFBc0JBLENBQUkxRSxJQUFZLEVBQW1DO0VBQ3BGLElBQUksQ0FBQ0EsSUFBSSxFQUFFLE9BQU8sQ0FBQ0EsSUFBSSxDQUFDO0VBQ3hCLElBQU0yRSxHQUFpQyxHQUFHLEVBQUU7RUFDNUMsSUFBSUMsT0FBTyxHQUFHLENBQUM7RUFDZm5HLG9CQUFvQixDQUFDb0csU0FBUyxHQUFHLENBQUM7RUFDbEMsSUFBSUMsS0FBNkIsR0FBR3JHLG9CQUFvQixDQUFDc0csSUFBSSxDQUFDL0UsSUFBSSxDQUFDO0VBQ25FLElBQUlnRixNQUFNLEdBQUcsQ0FBQztFQUNkLE9BQU9GLEtBQUssRUFBRTtJQUNaLElBQUlBLEtBQUssQ0FBQ0csS0FBSyxHQUFHTCxPQUFPLEVBQUVELEdBQUcsQ0FBQ08sSUFBSSxDQUFDbEYsSUFBSSxDQUFDaEIsS0FBSyxDQUFDNEYsT0FBTyxFQUFFRSxLQUFLLENBQUNHLEtBQUssQ0FBQyxDQUFDO0lBQ3JFLElBQUFFLE1BQUEsR0FBK0JMLEtBQUs7TUFBQU0sT0FBQSxHQUFBQyxjQUFBLENBQUFGLE1BQUE7TUFBM0IvRixPQUFPLEdBQUFnRyxPQUFBO01BQUU5RixFQUFFLEdBQUE4RixPQUFBO01BQUV0RixLQUFLLEdBQUFzRixPQUFBO0lBQzNCLElBQU0zRixJQUFJLEdBQUdiLGFBQWEsQ0FBQ2MsUUFBUSxDQUFDTixPQUE0QixDQUFDLEdBQUlBLE9BQU8sR0FBeUIsTUFBTTtJQUUzR3VGLEdBQUcsQ0FBQ08sSUFBSSxjQUFDNUcsSUFBQSxDQUFDOEYsV0FBVztNQUEwQzNFLElBQUksRUFBRUEsSUFBSztNQUFDSCxFQUFFLEVBQUVBLEVBQUc7TUFBQ1EsS0FBSyxFQUFFQTtJQUFNLGNBQUFELE1BQUEsQ0FBMURtRixNQUFNLE9BQUFuRixNQUFBLENBQUlpRixLQUFLLENBQUNHLEtBQUssQ0FBdUMsQ0FBQyxDQUFDO0lBRXBHTCxPQUFPLEdBQUdFLEtBQUssQ0FBQ0csS0FBSyxHQUFHSCxLQUFLLENBQUMsQ0FBQyxDQUFDLENBQUM3RixNQUFNO0lBQ3ZDK0YsTUFBTSxJQUFJLENBQUM7SUFDWEYsS0FBSyxHQUFHckcsb0JBQW9CLENBQUNzRyxJQUFJLENBQUMvRSxJQUFJLENBQUM7RUFDekM7RUFDQSxJQUFJNEUsT0FBTyxHQUFHNUUsSUFBSSxDQUFDZixNQUFNLEVBQUUwRixHQUFHLENBQUNPLElBQUksQ0FBQ2xGLElBQUksQ0FBQ2hCLEtBQUssQ0FBQzRGLE9BQU8sQ0FBQyxDQUFDO0VBQ3hELE9BQU9ELEdBQUc7QUFDWixDQUFDIiwiaWdub3JlTGlzdCI6W119
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@projectcor/maia-components",
|
|
3
|
-
"version": "2.11.40-
|
|
3
|
+
"version": "2.11.40-10",
|
|
4
4
|
"description": "",
|
|
5
5
|
"keywords": [],
|
|
6
6
|
"repository": {
|
|
@@ -37,6 +37,7 @@
|
|
|
37
37
|
},
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@streamdown/code": "^1.0.1",
|
|
40
|
+
"rehype-sanitize": "^6.0.0",
|
|
40
41
|
"react-file-viewer": "^1.2.1",
|
|
41
42
|
"streamdown": "^2.1.0",
|
|
42
43
|
"xlsx": "^0.18.5",
|