@projectcor/maia-components 2.11.67-2 → 2.11.68-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/lib/components/atoms/Chip/Chip.js +15 -50
- package/lib/components/atoms/Chip/styles.js +5 -9
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +6 -38
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.styles.js +13 -21
- package/lib/components/atoms/MAIAInput/MAIAInput.js +215 -71
- package/lib/components/atoms/MAIAInput/styles.js +64 -24
- package/lib/components/atoms/MAIAMessage/MAIAMessage.js +4 -2
- package/lib/components/atoms/MAIAViz/MAIAViz.js +97 -0
- package/lib/components/atoms/MAIAViz/MAIAViz.parse.js +131 -0
- package/lib/components/atoms/MAIAViz/MAIAViz.skeleton.js +40 -0
- package/lib/components/atoms/MAIAViz/MAIAViz.styles.js +8 -0
- package/lib/components/atoms/MAIAViz/MAIAViz.types.js +49 -0
- package/lib/components/atoms/MAIAViz/MAIAVizBar.js +123 -0
- package/lib/components/atoms/MAIAViz/MAIAVizDonut.js +111 -0
- package/lib/components/atoms/MAIAViz/MAIAVizKpis.js +34 -0
- package/lib/components/atoms/MAIAViz/README.md +85 -0
- package/lib/components/atoms/MAIAViz/index.js +2 -0
- package/lib/components/molecules/ChatAIHome/ChatAIHome.js +46 -297
- package/lib/components/molecules/ChatAIHome/styles.js +26 -63
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +159 -84
- package/lib/components/molecules/ChatAIMessages/newStyles.js +9 -19
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +47 -223
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +1 -26
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +29 -22
- package/lib/components/molecules/ChatFooter/ChatFooter.js +18 -75
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.js +7 -22
- package/lib/components/molecules/ChatFooter/styles.js +2 -11
- package/lib/components/molecules/Sidebar/Sidebar.js +10 -12
- package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +5 -5
- package/lib/components/molecules/Sidebar/Sidebar.styles.js +13 -7
- package/lib/components/organisms/EditQuestionModal/EditQuestionModal.js +2 -2
- package/lib/constants/maiaTaskPanelAccess.js +5 -7
- package/lib/constants/taskUrls.js +1 -3
- package/lib/context/global-context.js +1 -8
- package/lib/dev/DevContextMentionInput.js +3 -1
- package/lib/hooks/index.js +1 -2
- package/lib/hooks/useChatManager/useChatManager.js +144 -155
- package/lib/hooks/useChatMessages/useChatMessages.js +2 -33
- package/lib/hooks/useEntitySearch.js +129 -74
- package/lib/hooks/useEvent.js +1 -2
- package/lib/hooks/useFrequentlyAskedQuestions.js +10 -12
- package/lib/hooks/useFrequentlyUsedActions.js +3 -5
- package/lib/hooks/useMentionAllowedTypes.js +1 -11
- package/lib/hooks/useMentionPopover.js +2 -3
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +1 -1
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +22 -28
- package/lib/hooks/useProjectSearch.js +28 -4
- package/lib/hooks/useProjectSummaryConfig.js +33 -88
- package/lib/hooks/useRecentClientsSearch.js +34 -4
- package/lib/hooks/useSmoothStreamText/useSmoothStreamText.js +16 -24
- package/lib/lang/br/index.js +10 -28
- package/lib/lang/en/index.js +10 -28
- package/lib/lang/es/index.js +10 -28
- package/lib/lang/fr/index.js +10 -28
- package/lib/services/maia/Actions/getFrequentlyUsedActions.js +3 -6
- package/lib/services/maia/Agents/getAgents.js +175 -225
- package/lib/services/maia/Chats/getChatMessages.js +3 -13
- package/lib/services/maia/Chats/getChatsByUserId.js +2 -10
- package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.js +4 -6
- package/lib/services/maia/Orchestrator/orchestrator.js +11 -25
- package/lib/services/maia/index.js +2 -4
- package/lib/services/utils/validateIsMaia.js +2 -2
- package/lib/types/Chat.js +1 -1
- package/lib/types/Hitl.js +2 -0
- package/lib/types/agent.js +1 -1
- package/lib/utils/agentDisplayName.js +1 -9
- package/lib/utils/hitlAnalytics.js +3 -3
- package/lib/utils/maiaStreamdownRenderers.js +16 -0
- package/lib/utils/renderContextMentions.js +1 -3
- package/package.json +1 -1
- package/lib/hooks/useContextPinPopover.js +0 -235
- package/lib/hooks/useRecentContexts.js +0 -86
- package/lib/services/maia/RecentContexts/getRecentContexts.js +0 -54
- package/lib/services/maia/RecentContexts/index.js +0 -6
- package/lib/utils/entityLinkRender.js +0 -132
|
@@ -1,54 +0,0 @@
|
|
|
1
|
-
import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
|
|
2
|
-
import _regeneratorRuntime from "@babel/runtime/regenerator";
|
|
3
|
-
import { fetchMaia } from '../client';
|
|
4
|
-
var buildPath = function buildPath(opts) {
|
|
5
|
-
var params = new URLSearchParams();
|
|
6
|
-
if ((opts === null || opts === void 0 ? void 0 : opts.limit) != null) {
|
|
7
|
-
params.set('limit', String(opts.limit));
|
|
8
|
-
}
|
|
9
|
-
var qs = params.toString();
|
|
10
|
-
return qs ? "recent-contexts?".concat(qs) : 'recent-contexts';
|
|
11
|
-
};
|
|
12
|
-
export var getRecentContexts = /*#__PURE__*/function () {
|
|
13
|
-
var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(opts) {
|
|
14
|
-
var _json$data;
|
|
15
|
-
var response, json, items;
|
|
16
|
-
return _regeneratorRuntime.wrap(function (_context) {
|
|
17
|
-
while (1) switch (_context.prev = _context.next) {
|
|
18
|
-
case 0:
|
|
19
|
-
_context.next = 1;
|
|
20
|
-
return fetchMaia({
|
|
21
|
-
path: buildPath(opts),
|
|
22
|
-
method: 'GET',
|
|
23
|
-
headers: opts !== null && opts !== void 0 && opts.agentId ? {
|
|
24
|
-
'X-Agent-Id': String(opts.agentId)
|
|
25
|
-
} : undefined
|
|
26
|
-
});
|
|
27
|
-
case 1:
|
|
28
|
-
response = _context.sent;
|
|
29
|
-
if (response.ok) {
|
|
30
|
-
_context.next = 2;
|
|
31
|
-
break;
|
|
32
|
-
}
|
|
33
|
-
throw new Error('Failed fetching recent contexts');
|
|
34
|
-
case 2:
|
|
35
|
-
_context.next = 3;
|
|
36
|
-
return response.json();
|
|
37
|
-
case 3:
|
|
38
|
-
json = _context.sent;
|
|
39
|
-
items = Array.isArray(json) ? json : (_json$data = json === null || json === void 0 ? void 0 : json.data) !== null && _json$data !== void 0 ? _json$data : [];
|
|
40
|
-
return _context.abrupt("return", items.filter(function (item) {
|
|
41
|
-
var context = item;
|
|
42
|
-
return (context === null || context === void 0 ? void 0 : context.id) != null && context.name != null && ['client', 'project', 'task'].includes(String(context.type));
|
|
43
|
-
}));
|
|
44
|
-
case 4:
|
|
45
|
-
case "end":
|
|
46
|
-
return _context.stop();
|
|
47
|
-
}
|
|
48
|
-
}, _callee);
|
|
49
|
-
}));
|
|
50
|
-
return function getRecentContexts(_x) {
|
|
51
|
-
return _ref.apply(this, arguments);
|
|
52
|
-
};
|
|
53
|
-
}();
|
|
54
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmZXRjaE1haWEiLCJidWlsZFBhdGgiLCJvcHRzIiwicGFyYW1zIiwiVVJMU2VhcmNoUGFyYW1zIiwibGltaXQiLCJzZXQiLCJTdHJpbmciLCJxcyIsInRvU3RyaW5nIiwiY29uY2F0IiwiZ2V0UmVjZW50Q29udGV4dHMiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJfanNvbiRkYXRhIiwicmVzcG9uc2UiLCJqc29uIiwiaXRlbXMiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInBhdGgiLCJtZXRob2QiLCJoZWFkZXJzIiwiYWdlbnRJZCIsInVuZGVmaW5lZCIsInNlbnQiLCJvayIsIkVycm9yIiwiQXJyYXkiLCJpc0FycmF5IiwiZGF0YSIsImFicnVwdCIsImZpbHRlciIsIml0ZW0iLCJjb250ZXh0IiwiaWQiLCJuYW1lIiwiaW5jbHVkZXMiLCJ0eXBlIiwic3RvcCIsIl94IiwiYXBwbHkiLCJhcmd1bWVudHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvbWFpYS9SZWNlbnRDb250ZXh0cy9nZXRSZWNlbnRDb250ZXh0cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmZXRjaE1haWEgfSBmcm9tICcuLi9jbGllbnQnXG5cbmV4cG9ydCB0eXBlIFJlY2VudENvbnRleHRUeXBlID0gJ2NsaWVudCcgfCAncHJvamVjdCcgfCAndGFzaydcblxuZXhwb3J0IHR5cGUgUmVjZW50Q29udGV4dFBhcmVudHMgPSB7XG4gIGNsaWVudF9pZD86IHN0cmluZyB8IG51bWJlciB8IG51bGxcbiAgY2xpZW50X25hbWU/OiBzdHJpbmcgfCBudWxsXG4gIHByb2plY3RfaWQ/OiBzdHJpbmcgfCBudW1iZXIgfCBudWxsXG4gIHByb2plY3RfbmFtZT86IHN0cmluZyB8IG51bGxcbn1cblxuZXhwb3J0IHR5cGUgUmVjZW50Q29udGV4dEl0ZW0gPSB7XG4gIHR5cGU6IFJlY2VudENvbnRleHRUeXBlXG4gIGlkOiBzdHJpbmcgfCBudW1iZXJcbiAgbmFtZTogc3RyaW5nXG4gIHBhcmVudHM/OiBSZWNlbnRDb250ZXh0UGFyZW50cyB8IG51bGxcbiAgbGFzdF9pbnRlcmFjdGlvbl9kYXRlPzogc3RyaW5nIHwgbnVsbFxufVxuXG5leHBvcnQgdHlwZSBHZXRSZWNlbnRDb250ZXh0c09wdGlvbnMgPSB7XG4gIGFnZW50SWQ/OiBzdHJpbmcgfCBudW1iZXJcbiAgbGltaXQ/OiBudW1iZXJcbn1cblxuY29uc3QgYnVpbGRQYXRoID0gKG9wdHM/OiBHZXRSZWNlbnRDb250ZXh0c09wdGlvbnMpID0+IHtcbiAgY29uc3QgcGFyYW1zID0gbmV3IFVSTFNlYXJjaFBhcmFtcygpXG4gIGlmIChvcHRzPy5saW1pdCAhPSBudWxsKSB7XG4gICAgcGFyYW1zLnNldCgnbGltaXQnLCBTdHJpbmcob3B0cy5saW1pdCkpXG4gIH1cbiAgY29uc3QgcXMgPSBwYXJhbXMudG9TdHJpbmcoKVxuICByZXR1cm4gcXMgPyBgcmVjZW50LWNvbnRleHRzPyR7cXN9YCA6ICdyZWNlbnQtY29udGV4dHMnXG59XG5cbmV4cG9ydCBjb25zdCBnZXRSZWNlbnRDb250ZXh0cyA9IGFzeW5jIChvcHRzPzogR2V0UmVjZW50Q29udGV4dHNPcHRpb25zKTogUHJvbWlzZTxSZWNlbnRDb250ZXh0SXRlbVtdPiA9PiB7XG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2hNYWlhKHtcbiAgICBwYXRoOiBidWlsZFBhdGgob3B0cyksXG4gICAgbWV0aG9kOiAnR0VUJyxcbiAgICBoZWFkZXJzOiBvcHRzPy5hZ2VudElkID8geyAnWC1BZ2VudC1JZCc6IFN0cmluZyhvcHRzLmFnZW50SWQpIH0gOiB1bmRlZmluZWQsXG4gIH0pXG5cbiAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIGZldGNoaW5nIHJlY2VudCBjb250ZXh0cycpXG4gIH1cblxuICBjb25zdCBqc29uID0gYXdhaXQgcmVzcG9uc2UuanNvbigpXG4gIGNvbnN0IGl0ZW1zID0gQXJyYXkuaXNBcnJheShqc29uKSA/IGpzb24gOiAoanNvbj8uZGF0YSA/PyBbXSlcbiAgcmV0dXJuIGl0ZW1zLmZpbHRlcigoaXRlbTogdW5rbm93bik6IGl0ZW0gaXMgUmVjZW50Q29udGV4dEl0ZW0gPT4ge1xuICAgIGNvbnN0IGNvbnRleHQgPSBpdGVtIGFzIFBhcnRpYWw8UmVjZW50Q29udGV4dEl0ZW0+XG4gICAgcmV0dXJuIGNvbnRleHQ/LmlkICE9IG51bGwgJiYgY29udGV4dC5uYW1lICE9IG51bGwgJiYgWydjbGllbnQnLCAncHJvamVjdCcsICd0YXNrJ10uaW5jbHVkZXMoU3RyaW5nKGNvbnRleHQudHlwZSkpXG4gIH0pXG59XG4iXSwibWFwcGluZ3MiOiI7O0FBQUEsU0FBU0EsU0FBUyxRQUFRLFdBQVc7QUF3QnJDLElBQU1DLFNBQVMsR0FBRyxTQUFaQSxTQUFTQSxDQUFJQyxJQUErQixFQUFLO0VBQ3JELElBQU1DLE1BQU0sR0FBRyxJQUFJQyxlQUFlLENBQUMsQ0FBQztFQUNwQyxJQUFJLENBQUFGLElBQUksYUFBSkEsSUFBSSx1QkFBSkEsSUFBSSxDQUFFRyxLQUFLLEtBQUksSUFBSSxFQUFFO0lBQ3ZCRixNQUFNLENBQUNHLEdBQUcsQ0FBQyxPQUFPLEVBQUVDLE1BQU0sQ0FBQ0wsSUFBSSxDQUFDRyxLQUFLLENBQUMsQ0FBQztFQUN6QztFQUNBLElBQU1HLEVBQUUsR0FBR0wsTUFBTSxDQUFDTSxRQUFRLENBQUMsQ0FBQztFQUM1QixPQUFPRCxFQUFFLHNCQUFBRSxNQUFBLENBQXNCRixFQUFFLElBQUssaUJBQWlCO0FBQ3pELENBQUM7QUFFRCxPQUFPLElBQU1HLGlCQUFpQjtFQUFBLElBQUFDLElBQUEsR0FBQUMsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFHLFNBQUFDLFFBQU9kLElBQStCO0lBQUEsSUFBQWUsVUFBQTtJQUFBLElBQUFDLFFBQUEsRUFBQUMsSUFBQSxFQUFBQyxLQUFBO0lBQUEsT0FBQU4sbUJBQUEsQ0FBQU8sSUFBQSxXQUFBQyxRQUFBO01BQUEsa0JBQUFBLFFBQUEsQ0FBQUMsSUFBQSxHQUFBRCxRQUFBLENBQUFFLElBQUE7UUFBQTtVQUFBRixRQUFBLENBQUFFLElBQUE7VUFBQSxPQUM5Q3hCLFNBQVMsQ0FBQztZQUMvQnlCLElBQUksRUFBRXhCLFNBQVMsQ0FBQ0MsSUFBSSxDQUFDO1lBQ3JCd0IsTUFBTSxFQUFFLEtBQUs7WUFDYkMsT0FBTyxFQUFFekIsSUFBSSxhQUFKQSxJQUFJLGVBQUpBLElBQUksQ0FBRTBCLE9BQU8sR0FBRztjQUFFLFlBQVksRUFBRXJCLE1BQU0sQ0FBQ0wsSUFBSSxDQUFDMEIsT0FBTztZQUFFLENBQUMsR0FBR0M7VUFDcEUsQ0FBQyxDQUFDO1FBQUE7VUFKSVgsUUFBUSxHQUFBSSxRQUFBLENBQUFRLElBQUE7VUFBQSxJQU1UWixRQUFRLENBQUNhLEVBQUU7WUFBQVQsUUFBQSxDQUFBRSxJQUFBO1lBQUE7VUFBQTtVQUFBLE1BQ1IsSUFBSVEsS0FBSyxDQUFDLGlDQUFpQyxDQUFDO1FBQUE7VUFBQVYsUUFBQSxDQUFBRSxJQUFBO1VBQUEsT0FHakNOLFFBQVEsQ0FBQ0MsSUFBSSxDQUFDLENBQUM7UUFBQTtVQUE1QkEsSUFBSSxHQUFBRyxRQUFBLENBQUFRLElBQUE7VUFDSlYsS0FBSyxHQUFHYSxLQUFLLENBQUNDLE9BQU8sQ0FBQ2YsSUFBSSxDQUFDLEdBQUdBLElBQUksSUFBQUYsVUFBQSxHQUFJRSxJQUFJLGFBQUpBLElBQUksdUJBQUpBLElBQUksQ0FBRWdCLElBQUksY0FBQWxCLFVBQUEsY0FBQUEsVUFBQSxHQUFJLEVBQUc7VUFBQSxPQUFBSyxRQUFBLENBQUFjLE1BQUEsV0FDdERoQixLQUFLLENBQUNpQixNQUFNLENBQUMsVUFBQ0MsSUFBYSxFQUFnQztZQUNoRSxJQUFNQyxPQUFPLEdBQUdELElBQWtDO1lBQ2xELE9BQU8sQ0FBQUMsT0FBTyxhQUFQQSxPQUFPLHVCQUFQQSxPQUFPLENBQUVDLEVBQUUsS0FBSSxJQUFJLElBQUlELE9BQU8sQ0FBQ0UsSUFBSSxJQUFJLElBQUksSUFBSSxDQUFDLFFBQVEsRUFBRSxTQUFTLEVBQUUsTUFBTSxDQUFDLENBQUNDLFFBQVEsQ0FBQ25DLE1BQU0sQ0FBQ2dDLE9BQU8sQ0FBQ0ksSUFBSSxDQUFDLENBQUM7VUFDcEgsQ0FBQyxDQUFDO1FBQUE7UUFBQTtVQUFBLE9BQUFyQixRQUFBLENBQUFzQixJQUFBO01BQUE7SUFBQSxHQUFBNUIsT0FBQTtFQUFBLENBQ0g7RUFBQSxnQkFqQllMLGlCQUFpQkEsQ0FBQWtDLEVBQUE7SUFBQSxPQUFBakMsSUFBQSxDQUFBa0MsS0FBQSxPQUFBQyxTQUFBO0VBQUE7QUFBQSxHQWlCN0IiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -1,6 +0,0 @@
|
|
|
1
|
-
import { getRecentContexts } from './getRecentContexts';
|
|
2
|
-
export { getRecentContexts } from './getRecentContexts';
|
|
3
|
-
export default {
|
|
4
|
-
getRecentContexts: getRecentContexts
|
|
5
|
-
};
|
|
6
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJnZXRSZWNlbnRDb250ZXh0cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9tYWlhL1JlY2VudENvbnRleHRzL2luZGV4LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGdldFJlY2VudENvbnRleHRzIH0gZnJvbSAnLi9nZXRSZWNlbnRDb250ZXh0cydcblxuZXhwb3J0IHsgZ2V0UmVjZW50Q29udGV4dHMsIHR5cGUgUmVjZW50Q29udGV4dEl0ZW0sIHR5cGUgUmVjZW50Q29udGV4dFR5cGUgfSBmcm9tICcuL2dldFJlY2VudENvbnRleHRzJ1xuXG5leHBvcnQgZGVmYXVsdCB7XG4gIGdldFJlY2VudENvbnRleHRzLFxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxpQkFBaUIsUUFBUSxxQkFBcUI7QUFFdkQsU0FBU0EsaUJBQWlCLFFBQXdELHFCQUFxQjtBQUV2RyxlQUFlO0VBQ2JBLGlCQUFpQixFQUFqQkE7QUFDRixDQUFDIiwiaWdub3JlTGlzdCI6W119
|
|
@@ -1,132 +0,0 @@
|
|
|
1
|
-
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
-
import _objectWithoutProperties from "@babel/runtime/helpers/objectWithoutProperties";
|
|
3
|
-
var _excluded = ["href", "children"];
|
|
4
|
-
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
5
|
-
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
6
|
-
import React from 'react';
|
|
7
|
-
import { TASK_URL_REGEX_PATTERN, PROJECT_URL_REGEX_PATTERN } from '../constants/taskUrls';
|
|
8
|
-
import { renderMentionLink } from './renderContextMentions';
|
|
9
|
-
import { useTaskPanel } from '../hooks/useTaskPanel';
|
|
10
|
-
import { getContextMentionIcon } from './contextMentionIcons';
|
|
11
|
-
import { SCTaskLink, SCProjectLink, SCProjectLinkIcon } from '../components/molecules/ChatAIMessages/newStyles';
|
|
12
|
-
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
13
|
-
var PROJECT_LINK_ICON_COLOR = '#202020';
|
|
14
|
-
var PROJECT_LINK_ICON_SIZE = 20;
|
|
15
|
-
var getTabSegmentFromHref = function getTabSegmentFromHref(href) {
|
|
16
|
-
var match = href.match(/\/tasks\/\d+\/([^/?]+)/);
|
|
17
|
-
return match && /^(detail|message|messages|files|history|hours)$/.test(match[1]) ? match[1] : 'detail';
|
|
18
|
-
};
|
|
19
|
-
|
|
20
|
-
/** Extrae las tareas enlazadas en el texto (URLs que coinciden con TASK_URL_REGEX_PATTERN). */
|
|
21
|
-
export var extractTasksFromMessage = function extractTasksFromMessage(message) {
|
|
22
|
-
if (!message) return [];
|
|
23
|
-
var taskUrlRegex = new RegExp(TASK_URL_REGEX_PATTERN, 'g');
|
|
24
|
-
var tasks = [];
|
|
25
|
-
var seenIds = new Set();
|
|
26
|
-
var match = null;
|
|
27
|
-
// eslint-disable-next-line no-cond-assign
|
|
28
|
-
while ((match = taskUrlRegex.exec(message)) !== null) {
|
|
29
|
-
var taskId = match[1];
|
|
30
|
-
var url = match[0];
|
|
31
|
-
if (!seenIds.has(taskId)) {
|
|
32
|
-
seenIds.add(taskId);
|
|
33
|
-
var escapedUrl = url.replace(/[.*+?^${}()|[\]\\]/g, '\\$&');
|
|
34
|
-
var markdownLinkRegex = new RegExp("\\[([^\\]]+)\\]\\(".concat(escapedUrl, "\\)"));
|
|
35
|
-
var linkMatch = message.match(markdownLinkRegex);
|
|
36
|
-
var title = linkMatch ? linkMatch[1] : "Tarea #".concat(taskId);
|
|
37
|
-
tasks.push({
|
|
38
|
-
id: taskId,
|
|
39
|
-
title: title,
|
|
40
|
-
url: url
|
|
41
|
-
});
|
|
42
|
-
}
|
|
43
|
-
}
|
|
44
|
-
return tasks;
|
|
45
|
-
};
|
|
46
|
-
var hasTaskLinks = function hasTaskLinks(text) {
|
|
47
|
-
return extractTasksFromMessage(text).length > 0;
|
|
48
|
-
};
|
|
49
|
-
var hasProjectLinks = function hasProjectLinks(text) {
|
|
50
|
-
return new RegExp(PROJECT_URL_REGEX_PATTERN).test(text);
|
|
51
|
-
};
|
|
52
|
-
var TASK_MENTION_MARKER_RE = /\[\[mention:task:/i;
|
|
53
|
-
var MAIA_TASK_MENTION_HREF_RE = /maia-mention:\/\/task\//i;
|
|
54
|
-
var hasTaskLinksOrTaskMentions = function hasTaskLinksOrTaskMentions(text) {
|
|
55
|
-
return hasTaskLinks(text) || TASK_MENTION_MARKER_RE.test(text) || MAIA_TASK_MENTION_HREF_RE.test(text);
|
|
56
|
-
};
|
|
57
|
-
export var getEntityLinkWrapperClassName = function getEntityLinkWrapperClassName(text) {
|
|
58
|
-
var classes = [];
|
|
59
|
-
if (hasTaskLinksOrTaskMentions(text)) classes.push('has-task-links');
|
|
60
|
-
if (hasProjectLinks(text)) classes.push('has-project-links');
|
|
61
|
-
return classes.join(' ');
|
|
62
|
-
};
|
|
63
|
-
var TaskLink = function TaskLink(_ref) {
|
|
64
|
-
var href = _ref.href,
|
|
65
|
-
taskId = _ref.taskId,
|
|
66
|
-
children = _ref.children;
|
|
67
|
-
var tabSegment = getTabSegmentFromHref(href);
|
|
68
|
-
var _useTaskPanel = useTaskPanel(taskId, tabSegment),
|
|
69
|
-
buildOpenTask = _useTaskPanel.buildOpenTask;
|
|
70
|
-
var openTask = buildOpenTask();
|
|
71
|
-
var handleClick = function handleClick(e) {
|
|
72
|
-
if (e.metaKey || e.ctrlKey) return;
|
|
73
|
-
e.preventDefault();
|
|
74
|
-
openTask();
|
|
75
|
-
};
|
|
76
|
-
return /*#__PURE__*/_jsx(SCTaskLink, {
|
|
77
|
-
href: href,
|
|
78
|
-
onClick: handleClick,
|
|
79
|
-
"data-cor-link": "task",
|
|
80
|
-
children: children
|
|
81
|
-
});
|
|
82
|
-
};
|
|
83
|
-
var ProjectLink = function ProjectLink(_ref2) {
|
|
84
|
-
var href = _ref2.href,
|
|
85
|
-
children = _ref2.children;
|
|
86
|
-
return /*#__PURE__*/_jsxs(SCProjectLink, {
|
|
87
|
-
href: href,
|
|
88
|
-
target: "_blank",
|
|
89
|
-
rel: "noopener noreferrer",
|
|
90
|
-
"data-cor-link": "project",
|
|
91
|
-
children: [/*#__PURE__*/_jsx(SCProjectLinkIcon, {
|
|
92
|
-
"aria-hidden": true,
|
|
93
|
-
children: getContextMentionIcon('project', PROJECT_LINK_ICON_COLOR, undefined, PROJECT_LINK_ICON_SIZE)
|
|
94
|
-
}), children]
|
|
95
|
-
});
|
|
96
|
-
};
|
|
97
|
-
export var EntityLinkCustomLink = function EntityLinkCustomLink(_ref3) {
|
|
98
|
-
var href = _ref3.href,
|
|
99
|
-
children = _ref3.children,
|
|
100
|
-
rest = _objectWithoutProperties(_ref3, _excluded);
|
|
101
|
-
if (!href || typeof href !== 'string') {
|
|
102
|
-
return /*#__PURE__*/_jsx("a", _objectSpread(_objectSpread({
|
|
103
|
-
href: href
|
|
104
|
-
}, rest), {}, {
|
|
105
|
-
children: children
|
|
106
|
-
}));
|
|
107
|
-
}
|
|
108
|
-
var mentionNode = renderMentionLink(href, children);
|
|
109
|
-
if (mentionNode) return mentionNode;
|
|
110
|
-
var projectMatch = href.match(new RegExp(PROJECT_URL_REGEX_PATTERN));
|
|
111
|
-
if (projectMatch) {
|
|
112
|
-
return /*#__PURE__*/_jsx(ProjectLink, {
|
|
113
|
-
href: href,
|
|
114
|
-
children: children
|
|
115
|
-
});
|
|
116
|
-
}
|
|
117
|
-
var taskMatch = href.match(new RegExp(TASK_URL_REGEX_PATTERN));
|
|
118
|
-
if (taskMatch) {
|
|
119
|
-
var taskId = taskMatch[1];
|
|
120
|
-
return /*#__PURE__*/_jsx(TaskLink, {
|
|
121
|
-
href: href,
|
|
122
|
-
taskId: taskId,
|
|
123
|
-
children: children
|
|
124
|
-
});
|
|
125
|
-
}
|
|
126
|
-
return /*#__PURE__*/_jsx("a", _objectSpread(_objectSpread({
|
|
127
|
-
href: href
|
|
128
|
-
}, rest), {}, {
|
|
129
|
-
children: children
|
|
130
|
-
}));
|
|
131
|
-
};
|
|
132
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJSZWFjdCIsIlRBU0tfVVJMX1JFR0VYX1BBVFRFUk4iLCJQUk9KRUNUX1VSTF9SRUdFWF9QQVRURVJOIiwicmVuZGVyTWVudGlvbkxpbmsiLCJ1c2VUYXNrUGFuZWwiLCJnZXRDb250ZXh0TWVudGlvbkljb24iLCJTQ1Rhc2tMaW5rIiwiU0NQcm9qZWN0TGluayIsIlNDUHJvamVjdExpbmtJY29uIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIlBST0pFQ1RfTElOS19JQ09OX0NPTE9SIiwiUFJPSkVDVF9MSU5LX0lDT05fU0laRSIsImdldFRhYlNlZ21lbnRGcm9tSHJlZiIsImhyZWYiLCJtYXRjaCIsInRlc3QiLCJleHRyYWN0VGFza3NGcm9tTWVzc2FnZSIsIm1lc3NhZ2UiLCJ0YXNrVXJsUmVnZXgiLCJSZWdFeHAiLCJ0YXNrcyIsInNlZW5JZHMiLCJTZXQiLCJleGVjIiwidGFza0lkIiwidXJsIiwiaGFzIiwiYWRkIiwiZXNjYXBlZFVybCIsInJlcGxhY2UiLCJtYXJrZG93bkxpbmtSZWdleCIsImNvbmNhdCIsImxpbmtNYXRjaCIsInRpdGxlIiwicHVzaCIsImlkIiwiaGFzVGFza0xpbmtzIiwidGV4dCIsImxlbmd0aCIsImhhc1Byb2plY3RMaW5rcyIsIlRBU0tfTUVOVElPTl9NQVJLRVJfUkUiLCJNQUlBX1RBU0tfTUVOVElPTl9IUkVGX1JFIiwiaGFzVGFza0xpbmtzT3JUYXNrTWVudGlvbnMiLCJnZXRFbnRpdHlMaW5rV3JhcHBlckNsYXNzTmFtZSIsImNsYXNzZXMiLCJqb2luIiwiVGFza0xpbmsiLCJfcmVmIiwiY2hpbGRyZW4iLCJ0YWJTZWdtZW50IiwiX3VzZVRhc2tQYW5lbCIsImJ1aWxkT3BlblRhc2siLCJvcGVuVGFzayIsImhhbmRsZUNsaWNrIiwiZSIsIm1ldGFLZXkiLCJjdHJsS2V5IiwicHJldmVudERlZmF1bHQiLCJvbkNsaWNrIiwiUHJvamVjdExpbmsiLCJfcmVmMiIsInRhcmdldCIsInJlbCIsInVuZGVmaW5lZCIsIkVudGl0eUxpbmtDdXN0b21MaW5rIiwiX3JlZjMiLCJyZXN0IiwiX29iamVjdFdpdGhvdXRQcm9wZXJ0aWVzIiwiX2V4Y2x1ZGVkIiwiX29iamVjdFNwcmVhZCIsIm1lbnRpb25Ob2RlIiwicHJvamVjdE1hdGNoIiwidGFza01hdGNoIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2VudGl0eUxpbmtSZW5kZXIudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwgeyBGQywgUmVhY3ROb2RlIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBUYXNrSW5mbyB9IGZyb20gJy4uL3R5cGVzL0NoYXQnXG5pbXBvcnQgeyBUQVNLX1VSTF9SRUdFWF9QQVRURVJOLCBQUk9KRUNUX1VSTF9SRUdFWF9QQVRURVJOIH0gZnJvbSAnLi4vY29uc3RhbnRzL3Rhc2tVcmxzJ1xuaW1wb3J0IHsgcmVuZGVyTWVudGlvbkxpbmsgfSBmcm9tICcuL3JlbmRlckNvbnRleHRNZW50aW9ucydcbmltcG9ydCB7IHVzZVRhc2tQYW5lbCB9IGZyb20gJy4uL2hvb2tzL3VzZVRhc2tQYW5lbCdcbmltcG9ydCB7IGdldENvbnRleHRNZW50aW9uSWNvbiB9IGZyb20gJy4vY29udGV4dE1lbnRpb25JY29ucydcbmltcG9ydCB7IFNDVGFza0xpbmssIFNDUHJvamVjdExpbmssIFNDUHJvamVjdExpbmtJY29uIH0gZnJvbSAnLi4vY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJTWVzc2FnZXMvbmV3U3R5bGVzJ1xuXG5jb25zdCBQUk9KRUNUX0xJTktfSUNPTl9DT0xPUiA9ICcjMjAyMDIwJ1xuY29uc3QgUFJPSkVDVF9MSU5LX0lDT05fU0laRSA9IDIwXG5cbmNvbnN0IGdldFRhYlNlZ21lbnRGcm9tSHJlZiA9IChocmVmOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBjb25zdCBtYXRjaCA9IGhyZWYubWF0Y2goL1xcL3Rhc2tzXFwvXFxkK1xcLyhbXi8/XSspLylcbiAgcmV0dXJuIG1hdGNoICYmIC9eKGRldGFpbHxtZXNzYWdlfG1lc3NhZ2VzfGZpbGVzfGhpc3Rvcnl8aG91cnMpJC8udGVzdChtYXRjaFsxXSkgPyBtYXRjaFsxXSA6ICdkZXRhaWwnXG59XG5cbi8qKiBFeHRyYWUgbGFzIHRhcmVhcyBlbmxhemFkYXMgZW4gZWwgdGV4dG8gKFVSTHMgcXVlIGNvaW5jaWRlbiBjb24gVEFTS19VUkxfUkVHRVhfUEFUVEVSTikuICovXG5leHBvcnQgY29uc3QgZXh0cmFjdFRhc2tzRnJvbU1lc3NhZ2UgPSAobWVzc2FnZTogc3RyaW5nKTogVGFza0luZm9bXSA9PiB7XG4gIGlmICghbWVzc2FnZSkgcmV0dXJuIFtdXG4gIGNvbnN0IHRhc2tVcmxSZWdleCA9IG5ldyBSZWdFeHAoVEFTS19VUkxfUkVHRVhfUEFUVEVSTiwgJ2cnKVxuICBjb25zdCB0YXNrczogVGFza0luZm9bXSA9IFtdXG4gIGNvbnN0IHNlZW5JZHMgPSBuZXcgU2V0PHN0cmluZz4oKVxuICBsZXQgbWF0Y2g6IFJlZ0V4cEV4ZWNBcnJheSB8IG51bGwgPSBudWxsXG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25kLWFzc2lnblxuICB3aGlsZSAoKG1hdGNoID0gdGFza1VybFJlZ2V4LmV4ZWMobWVzc2FnZSkpICE9PSBudWxsKSB7XG4gICAgY29uc3QgdGFza0lkID0gbWF0Y2hbMV1cbiAgICBjb25zdCB1cmwgPSBtYXRjaFswXVxuICAgIGlmICghc2Vlbklkcy5oYXModGFza0lkKSkge1xuICAgICAgc2Vlbklkcy5hZGQodGFza0lkKVxuICAgICAgY29uc3QgZXNjYXBlZFVybCA9IHVybC5yZXBsYWNlKC9bLiorP14ke30oKXxbXFxdXFxcXF0vZywgJ1xcXFwkJicpXG4gICAgICBjb25zdCBtYXJrZG93bkxpbmtSZWdleCA9IG5ldyBSZWdFeHAoYFxcXFxbKFteXFxcXF1dKylcXFxcXVxcXFwoJHtlc2NhcGVkVXJsfVxcXFwpYClcbiAgICAgIGNvbnN0IGxpbmtNYXRjaCA9IG1lc3NhZ2UubWF0Y2gobWFya2Rvd25MaW5rUmVnZXgpXG4gICAgICBjb25zdCB0aXRsZSA9IGxpbmtNYXRjaCA/IGxpbmtNYXRjaFsxXSA6IGBUYXJlYSAjJHt0YXNrSWR9YFxuICAgICAgdGFza3MucHVzaCh7IGlkOiB0YXNrSWQsIHRpdGxlLCB1cmwgfSlcbiAgICB9XG4gIH1cbiAgcmV0dXJuIHRhc2tzXG59XG5cbmNvbnN0IGhhc1Rhc2tMaW5rcyA9ICh0ZXh0OiBzdHJpbmcpOiBib29sZWFuID0+IGV4dHJhY3RUYXNrc0Zyb21NZXNzYWdlKHRleHQpLmxlbmd0aCA+IDBcblxuY29uc3QgaGFzUHJvamVjdExpbmtzID0gKHRleHQ6IHN0cmluZyk6IGJvb2xlYW4gPT4gbmV3IFJlZ0V4cChQUk9KRUNUX1VSTF9SRUdFWF9QQVRURVJOKS50ZXN0KHRleHQpXG5cbmNvbnN0IFRBU0tfTUVOVElPTl9NQVJLRVJfUkUgPSAvXFxbXFxbbWVudGlvbjp0YXNrOi9pXG5jb25zdCBNQUlBX1RBU0tfTUVOVElPTl9IUkVGX1JFID0gL21haWEtbWVudGlvbjpcXC9cXC90YXNrXFwvL2lcblxuY29uc3QgaGFzVGFza0xpbmtzT3JUYXNrTWVudGlvbnMgPSAodGV4dDogc3RyaW5nKTogYm9vbGVhbiA9PlxuICBoYXNUYXNrTGlua3ModGV4dCkgfHwgVEFTS19NRU5USU9OX01BUktFUl9SRS50ZXN0KHRleHQpIHx8IE1BSUFfVEFTS19NRU5USU9OX0hSRUZfUkUudGVzdCh0ZXh0KVxuXG5leHBvcnQgY29uc3QgZ2V0RW50aXR5TGlua1dyYXBwZXJDbGFzc05hbWUgPSAodGV4dDogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgY29uc3QgY2xhc3Nlczogc3RyaW5nW10gPSBbXVxuICBpZiAoaGFzVGFza0xpbmtzT3JUYXNrTWVudGlvbnModGV4dCkpIGNsYXNzZXMucHVzaCgnaGFzLXRhc2stbGlua3MnKVxuICBpZiAoaGFzUHJvamVjdExpbmtzKHRleHQpKSBjbGFzc2VzLnB1c2goJ2hhcy1wcm9qZWN0LWxpbmtzJylcbiAgcmV0dXJuIGNsYXNzZXMuam9pbignICcpXG59XG5cbmNvbnN0IFRhc2tMaW5rOiBGQzx7IGhyZWY6IHN0cmluZzsgdGFza0lkOiBzdHJpbmc7IGNoaWxkcmVuOiBSZWFjdE5vZGUgfT4gPSAoeyBocmVmLCB0YXNrSWQsIGNoaWxkcmVuIH0pID0+IHtcbiAgY29uc3QgdGFiU2VnbWVudCA9IGdldFRhYlNlZ21lbnRGcm9tSHJlZihocmVmKVxuICBjb25zdCB7IGJ1aWxkT3BlblRhc2sgfSA9IHVzZVRhc2tQYW5lbCh0YXNrSWQsIHRhYlNlZ21lbnQpXG4gIGNvbnN0IG9wZW5UYXNrID0gYnVpbGRPcGVuVGFzaygpXG5cbiAgY29uc3QgaGFuZGxlQ2xpY2sgPSAoZTogUmVhY3QuTW91c2VFdmVudDxIVE1MQW5jaG9yRWxlbWVudD4pID0+IHtcbiAgICBpZiAoZS5tZXRhS2V5IHx8IGUuY3RybEtleSkgcmV0dXJuXG4gICAgZS5wcmV2ZW50RGVmYXVsdCgpXG4gICAgb3BlblRhc2soKVxuICB9XG5cbiAgcmV0dXJuIChcbiAgICA8U0NUYXNrTGluayBocmVmPXtocmVmfSBvbkNsaWNrPXtoYW5kbGVDbGlja30gZGF0YS1jb3ItbGluaz1cInRhc2tcIj5cbiAgICAgIHtjaGlsZHJlbn1cbiAgICA8L1NDVGFza0xpbms+XG4gIClcbn1cblxuY29uc3QgUHJvamVjdExpbms6IEZDPHsgaHJlZjogc3RyaW5nOyBjaGlsZHJlbjogUmVhY3ROb2RlIH0+ID0gKHsgaHJlZiwgY2hpbGRyZW4gfSkgPT4gKFxuICA8U0NQcm9qZWN0TGluayBocmVmPXtocmVmfSB0YXJnZXQ9XCJfYmxhbmtcIiByZWw9XCJub29wZW5lciBub3JlZmVycmVyXCIgZGF0YS1jb3ItbGluaz1cInByb2plY3RcIj5cbiAgICA8U0NQcm9qZWN0TGlua0ljb24gYXJpYS1oaWRkZW4+XG4gICAgICB7Z2V0Q29udGV4dE1lbnRpb25JY29uKCdwcm9qZWN0JywgUFJPSkVDVF9MSU5LX0lDT05fQ09MT1IsIHVuZGVmaW5lZCwgUFJPSkVDVF9MSU5LX0lDT05fU0laRSl9XG4gICAgPC9TQ1Byb2plY3RMaW5rSWNvbj5cbiAgICB7Y2hpbGRyZW59XG4gIDwvU0NQcm9qZWN0TGluaz5cbilcblxudHlwZSBFbnRpdHlMaW5rQ3VzdG9tTGlua1Byb3BzID0gUmVhY3QuQW5jaG9ySFRNTEF0dHJpYnV0ZXM8SFRNTEFuY2hvckVsZW1lbnQ+ICYgeyBub2RlPzogdW5rbm93biB9XG5cbmV4cG9ydCBjb25zdCBFbnRpdHlMaW5rQ3VzdG9tTGluazogRkM8RW50aXR5TGlua0N1c3RvbUxpbmtQcm9wcz4gPSAoeyBocmVmLCBjaGlsZHJlbiwgLi4ucmVzdCB9KSA9PiB7XG4gIGlmICghaHJlZiB8fCB0eXBlb2YgaHJlZiAhPT0gJ3N0cmluZycpIHtcbiAgICByZXR1cm4gKFxuICAgICAgPGEgaHJlZj17aHJlZn0gey4uLnJlc3R9PlxuICAgICAgICB7Y2hpbGRyZW59XG4gICAgICA8L2E+XG4gICAgKVxuICB9XG4gIGNvbnN0IG1lbnRpb25Ob2RlID0gcmVuZGVyTWVudGlvbkxpbmsoaHJlZiwgY2hpbGRyZW4pXG4gIGlmIChtZW50aW9uTm9kZSkgcmV0dXJuIG1lbnRpb25Ob2RlIGFzIFJlYWN0LlJlYWN0RWxlbWVudFxuXG4gIGNvbnN0IHByb2plY3RNYXRjaCA9IGhyZWYubWF0Y2gobmV3IFJlZ0V4cChQUk9KRUNUX1VSTF9SRUdFWF9QQVRURVJOKSlcbiAgaWYgKHByb2plY3RNYXRjaCkge1xuICAgIHJldHVybiA8UHJvamVjdExpbmsgaHJlZj17aHJlZn0+e2NoaWxkcmVufTwvUHJvamVjdExpbms+XG4gIH1cblxuICBjb25zdCB0YXNrTWF0Y2ggPSBocmVmLm1hdGNoKG5ldyBSZWdFeHAoVEFTS19VUkxfUkVHRVhfUEFUVEVSTikpXG4gIGlmICh0YXNrTWF0Y2gpIHtcbiAgICBjb25zdCB0YXNrSWQgPSB0YXNrTWF0Y2hbMV1cbiAgICByZXR1cm4gKFxuICAgICAgPFRhc2tMaW5rIGhyZWY9e2hyZWZ9IHRhc2tJZD17dGFza0lkfT5cbiAgICAgICAge2NoaWxkcmVufVxuICAgICAgPC9UYXNrTGluaz5cbiAgICApXG4gIH1cbiAgcmV0dXJuIChcbiAgICA8YSBocmVmPXtocmVmfSB7Li4ucmVzdH0+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9hPlxuICApXG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUEsT0FBT0EsS0FBSyxNQUF5QixPQUFPO0FBRTVDLFNBQVNDLHNCQUFzQixFQUFFQyx5QkFBeUIsUUFBUSx1QkFBdUI7QUFDekYsU0FBU0MsaUJBQWlCLFFBQVEseUJBQXlCO0FBQzNELFNBQVNDLFlBQVksUUFBUSx1QkFBdUI7QUFDcEQsU0FBU0MscUJBQXFCLFFBQVEsdUJBQXVCO0FBQzdELFNBQVNDLFVBQVUsRUFBRUMsYUFBYSxFQUFFQyxpQkFBaUIsUUFBUSxrREFBa0Q7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUEsRUFBQUMsSUFBQSxJQUFBQyxLQUFBO0FBRS9HLElBQU1DLHVCQUF1QixHQUFHLFNBQVM7QUFDekMsSUFBTUMsc0JBQXNCLEdBQUcsRUFBRTtBQUVqQyxJQUFNQyxxQkFBcUIsR0FBRyxTQUF4QkEscUJBQXFCQSxDQUFJQyxJQUFZLEVBQWE7RUFDdEQsSUFBTUMsS0FBSyxHQUFHRCxJQUFJLENBQUNDLEtBQUssQ0FBQyx3QkFBd0IsQ0FBQztFQUNsRCxPQUFPQSxLQUFLLElBQUksaURBQWlELENBQUNDLElBQUksQ0FBQ0QsS0FBSyxDQUFDLENBQUMsQ0FBQyxDQUFDLEdBQUdBLEtBQUssQ0FBQyxDQUFDLENBQUMsR0FBRyxRQUFRO0FBQ3hHLENBQUM7O0FBRUQ7QUFDQSxPQUFPLElBQU1FLHVCQUF1QixHQUFHLFNBQTFCQSx1QkFBdUJBLENBQUlDLE9BQWUsRUFBaUI7RUFDdEUsSUFBSSxDQUFDQSxPQUFPLEVBQUUsT0FBTyxFQUFFO0VBQ3ZCLElBQU1DLFlBQVksR0FBRyxJQUFJQyxNQUFNLENBQUNyQixzQkFBc0IsRUFBRSxHQUFHLENBQUM7RUFDNUQsSUFBTXNCLEtBQWlCLEdBQUcsRUFBRTtFQUM1QixJQUFNQyxPQUFPLEdBQUcsSUFBSUMsR0FBRyxDQUFTLENBQUM7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
|