@projectcor/maia-components 2.38.4 → 2.39.0
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/README.md +2 -0
- package/lib/components/atoms/ActionableButton.js +1 -6
- package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.js +4 -14
- package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.styles.js +3 -12
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +4 -20
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +7 -18
- package/lib/components/atoms/MAIAInput/MAIAInput.js +14 -29
- package/lib/components/atoms/MAIAInput/styles.js +29 -36
- package/lib/components/atoms/ReasoningBlock/ReasoningBlock.js +3 -3
- package/lib/components/atoms/ReasoningBlock/ReasoningBlock.styles.js +2 -2
- package/lib/components/molecules/ChatAIHome/ChatAIHome.js +5 -16
- package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.js +2 -23
- package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.styles.js +5 -33
- package/lib/components/molecules/ChatAIHome/styles.js +2 -11
- package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.js +20 -31
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +2 -7
- package/lib/components/molecules/ChatAIModal/ChatAIModal.helpers.js +56 -0
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +202 -134
- package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +2 -2
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.js +1 -8
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.styles.js +9 -15
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +3 -18
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +2 -2
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +2 -13
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +5 -14
- package/lib/components/molecules/ChatAIModal/layout.js +2 -2
- package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.js +2 -12
- package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.styles.js +3 -3
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +10 -34
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +6 -14
- package/lib/components/molecules/ChatFooter/ChatFooter.js +45 -66
- package/lib/components/molecules/ChatFooter/styles.js +6 -12
- package/lib/components/molecules/MessageFeedback/MessageFeedback.js +5 -15
- package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +2 -2
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +11 -30
- package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +18 -31
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +21 -41
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +2 -2
- package/lib/components/organisms/ChatAI/ChatAI.js +1 -6
- package/lib/constants/formatExtensions.js +7 -8
- package/lib/hooks/useChatManager/useChatManager.js +34 -55
- package/lib/lang/br/index.js +2 -6
- package/lib/lang/en/index.js +2 -6
- package/lib/lang/es/index.js +2 -6
- package/lib/lang/fr/index.js +3 -7
- package/lib/services/maia/Agents/getAgents.js +5 -5
- package/lib/services/maia/index.js +2 -4
- package/lib/services/utils/fetchCOR.js +57 -106
- package/lib/services/utils/index.js +1 -2
- package/lib/store/index.js +1 -2
- package/lib/store/sessions/sessionStreamManager.js +35 -70
- package/lib/store/sessions/sessions.types.js +1 -1
- package/package.json +2 -2
- package/lib/components/molecules/UsageBlockedBanner/UsageBlockedBanner.js +0 -30
- package/lib/components/molecules/UsageBlockedBanner/UsageBlockedBanner.styles.js +0 -47
- package/lib/components/molecules/UsageBlockedBanner/index.js +0 -2
- package/lib/lang/__mocks__/index.js +0 -9
- package/lib/services/maia/Usage/getUsage.js +0 -45
- package/lib/services/maia/Usage/index.js +0 -6
- package/lib/services/utils/MaiaApiError.js +0 -34
- package/lib/store/useUsageStore.js +0 -115
- package/lib/types/usage.js +0 -16
- package/lib/utils/usageBlockedMessage.js +0 -11
|
@@ -11,8 +11,6 @@ import { Loader } from '../../atoms/Loader';
|
|
|
11
11
|
import { SECTIONS } from '../../../constants/config';
|
|
12
12
|
import { useSnackBarManager } from '../../../hooks/useSnackBarManager/useSnackBarManager';
|
|
13
13
|
import { generateSkill } from '../../../services/maia/Skills/generateSkill';
|
|
14
|
-
import { getUsageStoreState } from '../../../store/useUsageStore';
|
|
15
|
-
import { getUsageBlockedBannerText } from '../../../utils/usageBlockedMessage';
|
|
16
14
|
import { SCASGCancelButton, SCASGCloseButton, SCASGFooter, SCASGGenerateButton, SCASGHeader, SCASGHeaderTitle, SCASGTextarea, SCASGWrapper } from './AbmSkillGenerateModal.styles';
|
|
17
15
|
|
|
18
16
|
/** Open this modal from anywhere with: document.dispatchEvent(new CustomEvent('abm-skill-generate-open')) */
|
|
@@ -54,10 +52,6 @@ export var AbmSkillGenerateModal = function AbmSkillGenerateModal() {
|
|
|
54
52
|
}, []);
|
|
55
53
|
useEffect(function () {
|
|
56
54
|
var handleOpen = function handleOpen() {
|
|
57
|
-
if (getUsageStoreState().blocked) {
|
|
58
|
-
handleSnackbarError(getUsageBlockedBannerText());
|
|
59
|
-
return;
|
|
60
|
-
}
|
|
61
55
|
setInput('');
|
|
62
56
|
isOpenRef.current = true;
|
|
63
57
|
setIsOpen(true);
|
|
@@ -66,7 +60,7 @@ export var AbmSkillGenerateModal = function AbmSkillGenerateModal() {
|
|
|
66
60
|
return function () {
|
|
67
61
|
document.removeEventListener(SKILL_GENERATE_OPEN_EVENT, handleOpen);
|
|
68
62
|
};
|
|
69
|
-
}, [
|
|
63
|
+
}, []);
|
|
70
64
|
var handleGenerate = /*#__PURE__*/function () {
|
|
71
65
|
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
|
|
72
66
|
var text, _yield$generateSkill, content, _t;
|
|
@@ -80,26 +74,19 @@ export var AbmSkillGenerateModal = function AbmSkillGenerateModal() {
|
|
|
80
74
|
}
|
|
81
75
|
return _context.abrupt("return");
|
|
82
76
|
case 1:
|
|
83
|
-
if (!getUsageStoreState().blocked) {
|
|
84
|
-
_context.next = 2;
|
|
85
|
-
break;
|
|
86
|
-
}
|
|
87
|
-
handleSnackbarError(getUsageBlockedBannerText());
|
|
88
|
-
return _context.abrupt("return");
|
|
89
|
-
case 2:
|
|
90
77
|
setIsGenerating(true);
|
|
91
|
-
_context.prev =
|
|
92
|
-
_context.next =
|
|
78
|
+
_context.prev = 2;
|
|
79
|
+
_context.next = 3;
|
|
93
80
|
return generateSkill(text);
|
|
94
|
-
case
|
|
81
|
+
case 3:
|
|
95
82
|
_yield$generateSkill = _context.sent;
|
|
96
83
|
content = _yield$generateSkill.content;
|
|
97
84
|
if (isOpenRef.current) {
|
|
98
|
-
_context.next =
|
|
85
|
+
_context.next = 4;
|
|
99
86
|
break;
|
|
100
87
|
}
|
|
101
88
|
return _context.abrupt("return");
|
|
102
|
-
case
|
|
89
|
+
case 4:
|
|
103
90
|
// Hand off to the full editor (write/preview) with the generated content for review + save.
|
|
104
91
|
document.dispatchEvent(new CustomEvent('abm-skill-modal-set-values', {
|
|
105
92
|
detail: {
|
|
@@ -117,27 +104,27 @@ export var AbmSkillGenerateModal = function AbmSkillGenerateModal() {
|
|
|
117
104
|
}
|
|
118
105
|
}));
|
|
119
106
|
handleClose();
|
|
120
|
-
_context.next =
|
|
107
|
+
_context.next = 7;
|
|
121
108
|
break;
|
|
122
|
-
case
|
|
123
|
-
_context.prev =
|
|
124
|
-
_t = _context["catch"](
|
|
109
|
+
case 5:
|
|
110
|
+
_context.prev = 5;
|
|
111
|
+
_t = _context["catch"](2);
|
|
125
112
|
if (isOpenRef.current) {
|
|
126
|
-
_context.next =
|
|
113
|
+
_context.next = 6;
|
|
127
114
|
break;
|
|
128
115
|
}
|
|
129
116
|
return _context.abrupt("return");
|
|
130
|
-
case
|
|
117
|
+
case 6:
|
|
131
118
|
handleSnackbarError(t('mySkills.generateError'));
|
|
132
|
-
case
|
|
133
|
-
_context.prev =
|
|
119
|
+
case 7:
|
|
120
|
+
_context.prev = 7;
|
|
134
121
|
setIsGenerating(false);
|
|
135
|
-
return _context.finish(
|
|
136
|
-
case
|
|
122
|
+
return _context.finish(7);
|
|
123
|
+
case 8:
|
|
137
124
|
case "end":
|
|
138
125
|
return _context.stop();
|
|
139
126
|
}
|
|
140
|
-
}, _callee, null, [[
|
|
127
|
+
}, _callee, null, [[2, 5, 7, 8]]);
|
|
141
128
|
}));
|
|
142
129
|
return function handleGenerate() {
|
|
143
130
|
return _ref.apply(this, arguments);
|
|
@@ -192,4 +179,4 @@ export var AbmSkillGenerateModal = function AbmSkillGenerateModal() {
|
|
|
192
179
|
})
|
|
193
180
|
}), container);
|
|
194
181
|
};
|
|
195
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZVN0YXRlIiwiY3JlYXRlUG9ydGFsIiwiQ3Jvc3MiLCJ1c2VUcmFuc2xhdGlvbiIsIkJhY2tkcm9wIiwiTG9hZGVyIiwiU0VDVElPTlMiLCJ1c2VTbmFja0Jhck1hbmFnZXIiLCJnZW5lcmF0ZVNraWxsIiwiZ2V0VXNhZ2VTdG9yZVN0YXRlIiwiZ2V0VXNhZ2VCbG9ja2VkQmFubmVyVGV4dCIsIlNDQVNHQ2FuY2VsQnV0dG9uIiwiU0NBU0dDbG9zZUJ1dHRvbiIsIlNDQVNHRm9vdGVyIiwiU0NBU0dHZW5lcmF0ZUJ1dHRvbiIsIlNDQVNHSGVhZGVyIiwiU0NBU0dIZWFkZXJUaXRsZSIsIlNDQVNHVGV4dGFyZWEiLCJTQ0FTR1dyYXBwZXIiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiU0tJTExfR0VORVJBVEVfT1BFTl9FVkVOVCIsInBhcnNlU2tpbGxOYW1lIiwiY29udGVudCIsIm1hdGNoIiwidHJpbSIsInBhcnNlU2tpbGxEZXNjcmlwdGlvbiIsImZyb250bWF0dGVyTWF0Y2giLCJkZXNjcmlwdGlvbk1hdGNoIiwiQWJtU2tpbGxHZW5lcmF0ZU1vZGFsIiwiX3VzZVRyYW5zbGF0aW9uIiwiY2hhdEFJIiwidCIsIl91c2VTbmFja0Jhck1hbmFnZXIiLCJoYW5kbGVTbmFja2JhckVycm9yIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwiaXNPcGVuIiwic2V0SXNPcGVuIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJpc0dlbmVyYXRpbmciLCJzZXRJc0dlbmVyYXRpbmciLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImlucHV0Iiwic2V0SW5wdXQiLCJpc09wZW5SZWYiLCJoYW5kbGVDbG9zZSIsImN1cnJlbnQiLCJoYW5kbGVPcGVuIiwiYmxvY2tlZCIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJoYW5kbGVHZW5lcmF0ZSIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsInRleHQiLCJfeWllbGQkZ2VuZXJhdGVTa2lsbCIsIl90Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJhYnJ1cHQiLCJzZW50IiwiZGlzcGF0Y2hFdmVudCIsIkN1c3RvbUV2ZW50IiwiZGV0YWlsIiwic2tpbGxWYWx1ZXMiLCJ2YWx1ZXMiLCJpc0VkaXRpbmciLCJnZW5lcmFsIiwibmFtZSIsImRlc2NyaXB0aW9uIiwiZmluaXNoIiwic3RvcCIsImFwcGx5IiwiYXJndW1lbnRzIiwiY29udGFpbmVyIiwiZ2V0RWxlbWVudEJ5SWQiLCJ6SW5kZXgiLCJvbkNsaWNrIiwiY2hpbGRyZW4iLCJldmVudCIsInN0b3BQcm9wYWdhdGlvbiIsInR5cGUiLCJjb2xvciIsIndpZHRoIiwiaGVpZ2h0IiwiYXV0b0ZvY3VzIiwicGxhY2Vob2xkZXIiLCJ2YWx1ZSIsImRpc2FibGVkIiwib25DaGFuZ2UiLCJ0YXJnZXQiLCJzaXplIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvb3JnYW5pc21zL0FibVNraWxsR2VuZXJhdGVNb2RhbC9BYm1Ta2lsbEdlbmVyYXRlTW9kYWwudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9uby1leHBsaWNpdC1hbnkgKi9cbmltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VFZmZlY3QsIHVzZVJlZiwgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGNyZWF0ZVBvcnRhbCB9IGZyb20gJ3JlYWN0LWRvbSdcbmltcG9ydCB7IENyb3NzIH0gZnJvbSAnQHByb2plY3Rjb3IvaWNvbnMvbGliL2NvbXBvbmVudHMvQ3Jvc3MnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBCYWNrZHJvcCB9IGZyb20gJy4uLy4uL2F0b21zL0JhY2tkcm9wJ1xuaW1wb3J0IHsgTG9hZGVyIH0gZnJvbSAnLi4vLi4vYXRvbXMvTG9hZGVyJ1xuaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHsgdXNlU25hY2tCYXJNYW5hZ2VyIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlU25hY2tCYXJNYW5hZ2VyL3VzZVNuYWNrQmFyTWFuYWdlcidcbmltcG9ydCB7IGdlbmVyYXRlU2tpbGwgfSBmcm9tICcuLi8uLi8uLi9zZXJ2aWNlcy9tYWlhL1NraWxscy9nZW5lcmF0ZVNraWxsJ1xuaW1wb3J0IHsgZ2V0VXNhZ2VTdG9yZVN0YXRlIH0gZnJvbSAnLi4vLi4vLi4vc3RvcmUvdXNlVXNhZ2VTdG9yZSdcbmltcG9ydCB7IGdldFVzYWdlQmxvY2tlZEJhbm5lclRleHQgfSBmcm9tICcuLi8uLi8uLi91dGlscy91c2FnZUJsb2NrZWRNZXNzYWdlJ1xuaW1wb3J0IHtcbiAgU0NBU0dDYW5jZWxCdXR0b24sXG4gIFNDQVNHQ2xvc2VCdXR0b24sXG4gIFNDQVNHRm9vdGVyLFxuICBTQ0FTR0dlbmVyYXRlQnV0dG9uLFxuICBTQ0FTR0hlYWRlcixcbiAgU0NBU0dIZWFkZXJUaXRsZSxcbiAgU0NBU0dUZXh0YXJlYSxcbiAgU0NBU0dXcmFwcGVyLFxufSBmcm9tICcuL0FibVNraWxsR2VuZXJhdGVNb2RhbC5zdHlsZXMnXG5cbi8qKiBPcGVuIHRoaXMgbW9kYWwgZnJvbSBhbnl3aGVyZSB3aXRoOiBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KG5ldyBDdXN0b21FdmVudCgnYWJtLXNraWxsLWdlbmVyYXRlLW9wZW4nKSkgKi9cbmV4cG9ydCBjb25zdCBTS0lMTF9HRU5FUkFURV9PUEVOX0VWRU5UID0gJ2FibS1za2lsbC1nZW5lcmF0ZS1vcGVuJ1xuXG5jb25zdCBwYXJzZVNraWxsTmFtZSA9IChjb250ZW50OiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBjb25zdCBtYXRjaCA9IGNvbnRlbnQubWF0Y2goL15uYW1lOlxccyooLispJC9tKVxuICByZXR1cm4gbWF0Y2ggPyBtYXRjaFsxXS50cmltKCkgOiAnJ1xufVxuXG5jb25zdCBwYXJzZVNraWxsRGVzY3JpcHRpb24gPSAoY29udGVudDogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgY29uc3QgZnJvbnRtYXR0ZXJNYXRjaCA9IGNvbnRlbnQubWF0Y2goL14tLS1cXHMqXFxuKFtcXHNcXFNdKj8pXFxuLS0tLylcbiAgaWYgKCFmcm9udG1hdHRlck1hdGNoKSByZXR1cm4gJydcbiAgY29uc3QgZGVzY3JpcHRpb25NYXRjaCA9IGZyb250bWF0dGVyTWF0Y2hbMV0ubWF0Y2goL15kZXNjcmlwdGlvbjpcXHMqKC4rKSQvbSlcbiAgcmV0dXJuIGRlc2NyaXB0aW9uTWF0Y2ggPyBkZXNjcmlwdGlvbk1hdGNoWzFdLnRyaW0oKSA6ICcnXG59XG5cbmV4cG9ydCBjb25zdCBBYm1Ta2lsbEdlbmVyYXRlTW9kYWwgPSAoKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oW1NFQ1RJT05TLmNoYXRBSV0pXG4gIGNvbnN0IHsgaGFuZGxlU25hY2tiYXJFcnJvciB9ID0gdXNlU25hY2tCYXJNYW5hZ2VyKClcbiAgY29uc3QgW2lzT3Blbiwgc2V0SXNPcGVuXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbaXNHZW5lcmF0aW5nLCBzZXRJc0dlbmVyYXRpbmddID0gdXNlU3RhdGUoZmFsc2UpXG4gIGNvbnN0IFtpbnB1dCwgc2V0SW5wdXRdID0gdXNlU3RhdGUoJycpXG4gIGNvbnN0IGlzT3BlblJlZiA9IHVzZVJlZihmYWxzZSlcblxuICBjb25zdCBoYW5kbGVDbG9zZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBpc09wZW5SZWYuY3VycmVudCA9IGZhbHNlXG4gICAgc2V0SXNPcGVuKGZhbHNlKVxuICAgIHNldElzR2VuZXJhdGluZyhmYWxzZSlcbiAgICBzZXRJbnB1dCgnJylcbiAgfSwgW10pXG5cbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBjb25zdCBoYW5kbGVPcGVuID0gKCkgPT4ge1xuICAgICAgaWYgKGdldFVzYWdlU3RvcmVTdGF0ZSgpLmJsb2NrZWQpIHtcbiAgICAgICAgaGFuZGxlU25hY2tiYXJFcnJvcihnZXRVc2FnZUJsb2NrZWRCYW5uZXJUZXh0KCkpXG4gICAgICAgIHJldHVyblxuICAgICAgfVxuICAgICAgc2V0SW5wdXQoJycpXG4gICAgICBpc09wZW5SZWYuY3VycmVudCA9IHRydWVcbiAgICAgIHNldElzT3Blbih0cnVlKVxuICAgIH1cbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKFNLSUxMX0dFTkVSQVRFX09QRU5fRVZFTlQsIGhhbmRsZU9wZW4pXG4gICAgcmV0dXJuICgpID0+IHtcbiAgICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoU0tJTExfR0VORVJBVEVfT1BFTl9FVkVOVCwgaGFuZGxlT3BlbilcbiAgICB9XG4gIH0sIFtoYW5kbGVTbmFja2JhckVycm9yLCB0XSlcblxuICBjb25zdCBoYW5kbGVHZW5lcmF0ZSA9IGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB0ZXh0ID0gaW5wdXQudHJpbSgpXG4gICAgaWYgKCF0ZXh0IHx8IGlzR2VuZXJhdGluZykgcmV0dXJuXG4gICAgaWYgKGdldFVzYWdlU3RvcmVTdGF0ZSgpLmJsb2NrZWQpIHtcbiAgICAgIGhhbmRsZVNuYWNrYmFyRXJyb3IoZ2V0VXNhZ2VCbG9ja2VkQmFubmVyVGV4dCgpKVxuICAgICAgcmV0dXJuXG4gICAgfVxuICAgIHNldElzR2VuZXJhdGluZyh0cnVlKVxuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IGNvbnRlbnQgfSA9IGF3YWl0IGdlbmVyYXRlU2tpbGwodGV4dClcbiAgICAgIC8vIFNpIGVsIHVzdWFyaW8gY2VycsOzIGVsIG1vZGFsIG1pZW50cmFzIGdlbmVyYWJhLCBubyBhYnJpciBlbCBlZGl0b3IuXG4gICAgICBpZiAoIWlzT3BlblJlZi5jdXJyZW50KSByZXR1cm5cbiAgICAgIC8vIEhhbmQgb2ZmIHRvIHRoZSBmdWxsIGVkaXRvciAod3JpdGUvcHJldmlldykgd2l0aCB0aGUgZ2VuZXJhdGVkIGNvbnRlbnQgZm9yIHJldmlldyArIHNhdmUuXG4gICAgICBkb2N1bWVudC5kaXNwYXRjaEV2ZW50KFxuICAgICAgICBuZXcgQ3VzdG9tRXZlbnQoJ2FibS1za2lsbC1tb2RhbC1zZXQtdmFsdWVzJywge1xuICAgICAgICAgIGRldGFpbDoge1xuICAgICAgICAgICAgc2tpbGxWYWx1ZXM6IHtcbiAgICAgICAgICAgICAgdmFsdWVzOiB7XG4gICAgICAgICAgICAgICAgaXNFZGl0aW5nOiBmYWxzZSxcbiAgICAgICAgICAgICAgICBnZW5lcmFsOiB7XG4gICAgICAgICAgICAgICAgICBuYW1lOiBwYXJzZVNraWxsTmFtZShjb250ZW50KSxcbiAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uOiBwYXJzZVNraWxsRGVzY3JpcHRpb24oY29udGVudCksXG4gICAgICAgICAgICAgICAgICBjb250ZW50LFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIGlzT3BlbjogdHJ1ZSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSlcbiAgICAgIClcbiAgICAgIGhhbmRsZUNsb3NlKClcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgaWYgKCFpc09wZW5SZWYuY3VycmVudCkgcmV0dXJuXG4gICAgICBoYW5kbGVTbmFja2JhckVycm9yKHQoJ215U2tpbGxzLmdlbmVyYXRlRXJyb3InKSlcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0SXNHZW5lcmF0aW5nKGZhbHNlKVxuICAgIH1cbiAgfVxuXG4gIGlmICghaXNPcGVuKSByZXR1cm4gbnVsbFxuXG4gIGNvbnN0IGNvbnRhaW5lciA9IGRvY3VtZW50LmdldEVsZW1lbnRCeUlkKCdtb2RhbC1yb290LWFjdGlvbnMnKVxuICBpZiAoIWNvbnRhaW5lcikgcmV0dXJuIG51bGxcblxuICByZXR1cm4gY3JlYXRlUG9ydGFsKFxuICAgIDxCYWNrZHJvcCB6SW5kZXg9ezExMTJ9IG9uQ2xpY2s9e2hhbmRsZUNsb3NlfT5cbiAgICAgIDxTQ0FTR1dyYXBwZXIgb25DbGljaz17ZXZlbnQgPT4gZXZlbnQuc3RvcFByb3BhZ2F0aW9uKCl9PlxuICAgICAgICA8U0NBU0dIZWFkZXI+XG4gICAgICAgICAgPFNDQVNHSGVhZGVyVGl0bGU+e3QoJ215U2tpbGxzLmNyZWF0ZVdpdGhNYWlhJyl9PC9TQ0FTR0hlYWRlclRpdGxlPlxuICAgICAgICAgIDxTQ0FTR0Nsb3NlQnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtoYW5kbGVDbG9zZX0gYXJpYS1sYWJlbD17dCgnbXlTa2lsbHMuY2xvc2UnKX0+XG4gICAgICAgICAgICA8Q3Jvc3MgY29sb3I9XCIjYTZhNmE2XCIgd2lkdGg9ezE4fSBoZWlnaHQ9ezE4fSAvPlxuICAgICAgICAgIDwvU0NBU0dDbG9zZUJ1dHRvbj5cbiAgICAgICAgPC9TQ0FTR0hlYWRlcj5cblxuICAgICAgICA8U0NBU0dUZXh0YXJlYVxuICAgICAgICAgIGF1dG9Gb2N1c1xuICAgICAgICAgIHBsYWNlaG9sZGVyPXt0KCdteVNraWxscy5nZW5lcmF0ZVBsYWNlaG9sZGVyJyl9XG4gICAgICAgICAgdmFsdWU9e2lucHV0fVxuICAgICAgICAgIGRpc2FibGVkPXtpc0dlbmVyYXRpbmd9XG4gICAgICAgICAgb25DaGFuZ2U9e2V2ZW50ID0+IHNldElucHV0KGV2ZW50LnRhcmdldC52YWx1ZSl9XG4gICAgICAgIC8+XG5cbiAgICAgICAgPFNDQVNHRm9vdGVyPlxuICAgICAgICAgIDxTQ0FTR0NhbmNlbEJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17aGFuZGxlQ2xvc2V9IGRpc2FibGVkPXtpc0dlbmVyYXRpbmd9PlxuICAgICAgICAgICAge3QoJ215U2tpbGxzLmNhbmNlbCcpfVxuICAgICAgICAgIDwvU0NBU0dDYW5jZWxCdXR0b24+XG4gICAgICAgICAgPFNDQVNHR2VuZXJhdGVCdXR0b24gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e2hhbmRsZUdlbmVyYXRlfSBkaXNhYmxlZD17IWlucHV0LnRyaW0oKSB8fCBpc0dlbmVyYXRpbmd9PlxuICAgICAgICAgICAge2lzR2VuZXJhdGluZyA/IDxMb2FkZXIgc2l6ZT1cInNtYWxsXCIgLz4gOiB0KCdteVNraWxscy5jcmVhdGVXaXRoTWFpYScpfVxuICAgICAgICAgIDwvU0NBU0dHZW5lcmF0ZUJ1dHRvbj5cbiAgICAgICAgPC9TQ0FTR0Zvb3Rlcj5cbiAgICAgIDwvU0NBU0dXcmFwcGVyPlxuICAgIDwvQmFja2Ryb3A+LFxuICAgIGNvbnRhaW5lclxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUFBO0FBQ0EsU0FBU0EsV0FBVyxFQUFFQyxTQUFTLEVBQUVDLE1BQU0sRUFBRUMsUUFBUSxRQUFRLE9BQU87QUFDaEUsU0FBU0MsWUFBWSxRQUFRLFdBQVc7QUFDeEMsU0FBU0MsS0FBSyxRQUFRLHdDQUF3QztBQUM5RCxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQUM5QyxTQUFTQyxRQUFRLFFBQVEsc0JBQXNCO0FBQy9DLFNBQVNDLE1BQU0sUUFBUSxvQkFBb0I7QUFDM0MsU0FBU0MsUUFBUSxRQUFRLDJCQUEyQjtBQUNwRCxTQUFTQyxrQkFBa0IsUUFBUSxzREFBc0Q7QUFDekYsU0FBU0MsYUFBYSxRQUFRLDZDQUE2QztBQUMzRSxTQUFTQyxrQkFBa0IsUUFBUSw4QkFBOEI7QUFDakUsU0FBU0MseUJBQXlCLFFBQVEsb0NBQW9DO0FBQzlFLFNBQ0VDLGlCQUFpQixFQUNqQkMsZ0JBQWdCLEVBQ2hCQyxXQUFXLEVBQ1hDLG1CQUFtQixFQUNuQkMsV0FBVyxFQUNYQyxnQkFBZ0IsRUFDaEJDLGFBQWEsRUFDYkMsWUFBWSxRQUNQLGdDQUFnQzs7QUFFdkM7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBO0FBQ0EsT0FBTyxJQUFNQyx5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
|
|
182
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZUVmZmVjdCIsInVzZVJlZiIsInVzZVN0YXRlIiwiY3JlYXRlUG9ydGFsIiwiQ3Jvc3MiLCJ1c2VUcmFuc2xhdGlvbiIsIkJhY2tkcm9wIiwiTG9hZGVyIiwiU0VDVElPTlMiLCJ1c2VTbmFja0Jhck1hbmFnZXIiLCJnZW5lcmF0ZVNraWxsIiwiU0NBU0dDYW5jZWxCdXR0b24iLCJTQ0FTR0Nsb3NlQnV0dG9uIiwiU0NBU0dGb290ZXIiLCJTQ0FTR0dlbmVyYXRlQnV0dG9uIiwiU0NBU0dIZWFkZXIiLCJTQ0FTR0hlYWRlclRpdGxlIiwiU0NBU0dUZXh0YXJlYSIsIlNDQVNHV3JhcHBlciIsImpzeCIsIl9qc3giLCJqc3hzIiwiX2pzeHMiLCJTS0lMTF9HRU5FUkFURV9PUEVOX0VWRU5UIiwicGFyc2VTa2lsbE5hbWUiLCJjb250ZW50IiwibWF0Y2giLCJ0cmltIiwicGFyc2VTa2lsbERlc2NyaXB0aW9uIiwiZnJvbnRtYXR0ZXJNYXRjaCIsImRlc2NyaXB0aW9uTWF0Y2giLCJBYm1Ta2lsbEdlbmVyYXRlTW9kYWwiLCJfdXNlVHJhbnNsYXRpb24iLCJjaGF0QUkiLCJ0IiwiX3VzZVNuYWNrQmFyTWFuYWdlciIsImhhbmRsZVNuYWNrYmFyRXJyb3IiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJpc09wZW4iLCJzZXRJc09wZW4iLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImlzR2VuZXJhdGluZyIsInNldElzR2VuZXJhdGluZyIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiaW5wdXQiLCJzZXRJbnB1dCIsImlzT3BlblJlZiIsImhhbmRsZUNsb3NlIiwiY3VycmVudCIsImhhbmRsZU9wZW4iLCJkb2N1bWVudCIsImFkZEV2ZW50TGlzdGVuZXIiLCJyZW1vdmVFdmVudExpc3RlbmVyIiwiaGFuZGxlR2VuZXJhdGUiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJ0ZXh0IiwiX3lpZWxkJGdlbmVyYXRlU2tpbGwiLCJfdCIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwiYWJydXB0Iiwic2VudCIsImRpc3BhdGNoRXZlbnQiLCJDdXN0b21FdmVudCIsImRldGFpbCIsInNraWxsVmFsdWVzIiwidmFsdWVzIiwiaXNFZGl0aW5nIiwiZ2VuZXJhbCIsIm5hbWUiLCJkZXNjcmlwdGlvbiIsImZpbmlzaCIsInN0b3AiLCJhcHBseSIsImFyZ3VtZW50cyIsImNvbnRhaW5lciIsImdldEVsZW1lbnRCeUlkIiwiekluZGV4Iiwib25DbGljayIsImNoaWxkcmVuIiwiZXZlbnQiLCJzdG9wUHJvcGFnYXRpb24iLCJ0eXBlIiwiY29sb3IiLCJ3aWR0aCIsImhlaWdodCIsImF1dG9Gb2N1cyIsInBsYWNlaG9sZGVyIiwidmFsdWUiLCJkaXNhYmxlZCIsIm9uQ2hhbmdlIiwidGFyZ2V0Iiwic2l6ZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL29yZ2FuaXNtcy9BYm1Ta2lsbEdlbmVyYXRlTW9kYWwvQWJtU2tpbGxHZW5lcmF0ZU1vZGFsLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlRWZmZWN0LCB1c2VSZWYsIHVzZVN0YXRlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBjcmVhdGVQb3J0YWwgfSBmcm9tICdyZWFjdC1kb20nXG5pbXBvcnQgeyBDcm9zcyB9IGZyb20gJ0Bwcm9qZWN0Y29yL2ljb25zL2xpYi9jb21wb25lbnRzL0Nyb3NzJ1xuaW1wb3J0IHsgdXNlVHJhbnNsYXRpb24gfSBmcm9tICdyZWFjdC1pMThuZXh0J1xuaW1wb3J0IHsgQmFja2Ryb3AgfSBmcm9tICcuLi8uLi9hdG9tcy9CYWNrZHJvcCdcbmltcG9ydCB7IExvYWRlciB9IGZyb20gJy4uLy4uL2F0b21zL0xvYWRlcidcbmltcG9ydCB7IFNFQ1RJT05TIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL2NvbmZpZydcbmltcG9ydCB7IHVzZVNuYWNrQmFyTWFuYWdlciB9IGZyb20gJy4uLy4uLy4uL2hvb2tzL3VzZVNuYWNrQmFyTWFuYWdlci91c2VTbmFja0Jhck1hbmFnZXInXG5pbXBvcnQgeyBnZW5lcmF0ZVNraWxsIH0gZnJvbSAnLi4vLi4vLi4vc2VydmljZXMvbWFpYS9Ta2lsbHMvZ2VuZXJhdGVTa2lsbCdcbmltcG9ydCB7XG4gIFNDQVNHQ2FuY2VsQnV0dG9uLFxuICBTQ0FTR0Nsb3NlQnV0dG9uLFxuICBTQ0FTR0Zvb3RlcixcbiAgU0NBU0dHZW5lcmF0ZUJ1dHRvbixcbiAgU0NBU0dIZWFkZXIsXG4gIFNDQVNHSGVhZGVyVGl0bGUsXG4gIFNDQVNHVGV4dGFyZWEsXG4gIFNDQVNHV3JhcHBlcixcbn0gZnJvbSAnLi9BYm1Ta2lsbEdlbmVyYXRlTW9kYWwuc3R5bGVzJ1xuXG4vKiogT3BlbiB0aGlzIG1vZGFsIGZyb20gYW55d2hlcmUgd2l0aDogZG9jdW1lbnQuZGlzcGF0Y2hFdmVudChuZXcgQ3VzdG9tRXZlbnQoJ2FibS1za2lsbC1nZW5lcmF0ZS1vcGVuJykpICovXG5leHBvcnQgY29uc3QgU0tJTExfR0VORVJBVEVfT1BFTl9FVkVOVCA9ICdhYm0tc2tpbGwtZ2VuZXJhdGUtb3BlbidcblxuY29uc3QgcGFyc2VTa2lsbE5hbWUgPSAoY29udGVudDogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgY29uc3QgbWF0Y2ggPSBjb250ZW50Lm1hdGNoKC9ebmFtZTpcXHMqKC4rKSQvbSlcbiAgcmV0dXJuIG1hdGNoID8gbWF0Y2hbMV0udHJpbSgpIDogJydcbn1cblxuY29uc3QgcGFyc2VTa2lsbERlc2NyaXB0aW9uID0gKGNvbnRlbnQ6IHN0cmluZyk6IHN0cmluZyA9PiB7XG4gIGNvbnN0IGZyb250bWF0dGVyTWF0Y2ggPSBjb250ZW50Lm1hdGNoKC9eLS0tXFxzKlxcbihbXFxzXFxTXSo/KVxcbi0tLS8pXG4gIGlmICghZnJvbnRtYXR0ZXJNYXRjaCkgcmV0dXJuICcnXG4gIGNvbnN0IGRlc2NyaXB0aW9uTWF0Y2ggPSBmcm9udG1hdHRlck1hdGNoWzFdLm1hdGNoKC9eZGVzY3JpcHRpb246XFxzKiguKykkL20pXG4gIHJldHVybiBkZXNjcmlwdGlvbk1hdGNoID8gZGVzY3JpcHRpb25NYXRjaFsxXS50cmltKCkgOiAnJ1xufVxuXG5leHBvcnQgY29uc3QgQWJtU2tpbGxHZW5lcmF0ZU1vZGFsID0gKCkgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKFtTRUNUSU9OUy5jaGF0QUldKVxuICBjb25zdCB7IGhhbmRsZVNuYWNrYmFyRXJyb3IgfSA9IHVzZVNuYWNrQmFyTWFuYWdlcigpXG4gIGNvbnN0IFtpc09wZW4sIHNldElzT3Blbl0gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2lzR2VuZXJhdGluZywgc2V0SXNHZW5lcmF0aW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbaW5wdXQsIHNldElucHV0XSA9IHVzZVN0YXRlKCcnKVxuICBjb25zdCBpc09wZW5SZWYgPSB1c2VSZWYoZmFsc2UpXG5cbiAgY29uc3QgaGFuZGxlQ2xvc2UgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgaXNPcGVuUmVmLmN1cnJlbnQgPSBmYWxzZVxuICAgIHNldElzT3BlbihmYWxzZSlcbiAgICBzZXRJc0dlbmVyYXRpbmcoZmFsc2UpXG4gICAgc2V0SW5wdXQoJycpXG4gIH0sIFtdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgaGFuZGxlT3BlbiA9ICgpID0+IHtcbiAgICAgIHNldElucHV0KCcnKVxuICAgICAgaXNPcGVuUmVmLmN1cnJlbnQgPSB0cnVlXG4gICAgICBzZXRJc09wZW4odHJ1ZSlcbiAgICB9XG4gICAgZG9jdW1lbnQuYWRkRXZlbnRMaXN0ZW5lcihTS0lMTF9HRU5FUkFURV9PUEVOX0VWRU5ULCBoYW5kbGVPcGVuKVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBkb2N1bWVudC5yZW1vdmVFdmVudExpc3RlbmVyKFNLSUxMX0dFTkVSQVRFX09QRU5fRVZFTlQsIGhhbmRsZU9wZW4pXG4gICAgfVxuICB9LCBbXSlcblxuICBjb25zdCBoYW5kbGVHZW5lcmF0ZSA9IGFzeW5jICgpID0+IHtcbiAgICBjb25zdCB0ZXh0ID0gaW5wdXQudHJpbSgpXG4gICAgaWYgKCF0ZXh0IHx8IGlzR2VuZXJhdGluZykgcmV0dXJuXG4gICAgc2V0SXNHZW5lcmF0aW5nKHRydWUpXG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHsgY29udGVudCB9ID0gYXdhaXQgZ2VuZXJhdGVTa2lsbCh0ZXh0KVxuICAgICAgLy8gU2kgZWwgdXN1YXJpbyBjZXJyw7MgZWwgbW9kYWwgbWllbnRyYXMgZ2VuZXJhYmEsIG5vIGFicmlyIGVsIGVkaXRvci5cbiAgICAgIGlmICghaXNPcGVuUmVmLmN1cnJlbnQpIHJldHVyblxuICAgICAgLy8gSGFuZCBvZmYgdG8gdGhlIGZ1bGwgZWRpdG9yICh3cml0ZS9wcmV2aWV3KSB3aXRoIHRoZSBnZW5lcmF0ZWQgY29udGVudCBmb3IgcmV2aWV3ICsgc2F2ZS5cbiAgICAgIGRvY3VtZW50LmRpc3BhdGNoRXZlbnQoXG4gICAgICAgIG5ldyBDdXN0b21FdmVudCgnYWJtLXNraWxsLW1vZGFsLXNldC12YWx1ZXMnLCB7XG4gICAgICAgICAgZGV0YWlsOiB7XG4gICAgICAgICAgICBza2lsbFZhbHVlczoge1xuICAgICAgICAgICAgICB2YWx1ZXM6IHtcbiAgICAgICAgICAgICAgICBpc0VkaXRpbmc6IGZhbHNlLFxuICAgICAgICAgICAgICAgIGdlbmVyYWw6IHtcbiAgICAgICAgICAgICAgICAgIG5hbWU6IHBhcnNlU2tpbGxOYW1lKGNvbnRlbnQpLFxuICAgICAgICAgICAgICAgICAgZGVzY3JpcHRpb246IHBhcnNlU2tpbGxEZXNjcmlwdGlvbihjb250ZW50KSxcbiAgICAgICAgICAgICAgICAgIGNvbnRlbnQsXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgaXNPcGVuOiB0cnVlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9LFxuICAgICAgICB9KVxuICAgICAgKVxuICAgICAgaGFuZGxlQ2xvc2UoKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBpZiAoIWlzT3BlblJlZi5jdXJyZW50KSByZXR1cm5cbiAgICAgIGhhbmRsZVNuYWNrYmFyRXJyb3IodCgnbXlTa2lsbHMuZ2VuZXJhdGVFcnJvcicpKVxuICAgIH0gZmluYWxseSB7XG4gICAgICBzZXRJc0dlbmVyYXRpbmcoZmFsc2UpXG4gICAgfVxuICB9XG5cbiAgaWYgKCFpc09wZW4pIHJldHVybiBudWxsXG5cbiAgY29uc3QgY29udGFpbmVyID0gZG9jdW1lbnQuZ2V0RWxlbWVudEJ5SWQoJ21vZGFsLXJvb3QtYWN0aW9ucycpXG4gIGlmICghY29udGFpbmVyKSByZXR1cm4gbnVsbFxuXG4gIHJldHVybiBjcmVhdGVQb3J0YWwoXG4gICAgPEJhY2tkcm9wIHpJbmRleD17MTExMn0gb25DbGljaz17aGFuZGxlQ2xvc2V9PlxuICAgICAgPFNDQVNHV3JhcHBlciBvbkNsaWNrPXtldmVudCA9PiBldmVudC5zdG9wUHJvcGFnYXRpb24oKX0+XG4gICAgICAgIDxTQ0FTR0hlYWRlcj5cbiAgICAgICAgICA8U0NBU0dIZWFkZXJUaXRsZT57dCgnbXlTa2lsbHMuY3JlYXRlV2l0aE1haWEnKX08L1NDQVNHSGVhZGVyVGl0bGU+XG4gICAgICAgICAgPFNDQVNHQ2xvc2VCdXR0b24gdHlwZT1cImJ1dHRvblwiIG9uQ2xpY2s9e2hhbmRsZUNsb3NlfSBhcmlhLWxhYmVsPXt0KCdteVNraWxscy5jbG9zZScpfT5cbiAgICAgICAgICAgIDxDcm9zcyBjb2xvcj1cIiNhNmE2YTZcIiB3aWR0aD17MTh9IGhlaWdodD17MTh9IC8+XG4gICAgICAgICAgPC9TQ0FTR0Nsb3NlQnV0dG9uPlxuICAgICAgICA8L1NDQVNHSGVhZGVyPlxuXG4gICAgICAgIDxTQ0FTR1RleHRhcmVhXG4gICAgICAgICAgYXV0b0ZvY3VzXG4gICAgICAgICAgcGxhY2Vob2xkZXI9e3QoJ215U2tpbGxzLmdlbmVyYXRlUGxhY2Vob2xkZXInKX1cbiAgICAgICAgICB2YWx1ZT17aW5wdXR9XG4gICAgICAgICAgZGlzYWJsZWQ9e2lzR2VuZXJhdGluZ31cbiAgICAgICAgICBvbkNoYW5nZT17ZXZlbnQgPT4gc2V0SW5wdXQoZXZlbnQudGFyZ2V0LnZhbHVlKX1cbiAgICAgICAgLz5cblxuICAgICAgICA8U0NBU0dGb290ZXI+XG4gICAgICAgICAgPFNDQVNHQ2FuY2VsQnV0dG9uIHR5cGU9XCJidXR0b25cIiBvbkNsaWNrPXtoYW5kbGVDbG9zZX0gZGlzYWJsZWQ9e2lzR2VuZXJhdGluZ30+XG4gICAgICAgICAgICB7dCgnbXlTa2lsbHMuY2FuY2VsJyl9XG4gICAgICAgICAgPC9TQ0FTR0NhbmNlbEJ1dHRvbj5cbiAgICAgICAgICA8U0NBU0dHZW5lcmF0ZUJ1dHRvbiB0eXBlPVwiYnV0dG9uXCIgb25DbGljaz17aGFuZGxlR2VuZXJhdGV9IGRpc2FibGVkPXshaW5wdXQudHJpbSgpIHx8IGlzR2VuZXJhdGluZ30+XG4gICAgICAgICAgICB7aXNHZW5lcmF0aW5nID8gPExvYWRlciBzaXplPVwic21hbGxcIiAvPiA6IHQoJ215U2tpbGxzLmNyZWF0ZVdpdGhNYWlhJyl9XG4gICAgICAgICAgPC9TQ0FTR0dlbmVyYXRlQnV0dG9uPlxuICAgICAgICA8L1NDQVNHRm9vdGVyPlxuICAgICAgPC9TQ0FTR1dyYXBwZXI+XG4gICAgPC9CYWNrZHJvcD4sXG4gICAgY29udGFpbmVyXG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUE7QUFDQSxTQUFTQSxXQUFXLEVBQUVDLFNBQVMsRUFBRUMsTUFBTSxFQUFFQyxRQUFRLFFBQVEsT0FBTztBQUNoRSxTQUFTQyxZQUFZLFFBQVEsV0FBVztBQUN4QyxTQUFTQyxLQUFLLFFBQVEsd0NBQXdD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
|