@projectcor/maia-components 2.11.26-5 → 2.11.26-7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (54) hide show
  1. package/lib/components/atoms/ApprovalBox/ApprovalBox.js +25 -55
  2. package/lib/components/atoms/ApprovalBox/ApprovalBox.styles.js +47 -46
  3. package/lib/components/atoms/FeedbackButton/FeedbackButton.styles.js +2 -2
  4. package/lib/components/atoms/icons/ChatConversation.js +40 -0
  5. package/lib/components/atoms/icons/MaiaChatLayoutMenuIcon.js +33 -0
  6. package/lib/components/atoms/icons/index.js +3 -1
  7. package/lib/components/molecules/ChatAIHistory/ChatAIHistory.js +16 -3
  8. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +54 -44
  9. package/lib/components/molecules/ChatAIHome/styles.js +43 -35
  10. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +55 -39
  11. package/lib/components/molecules/ChatAIMessages/ChatDaySeparator.js +43 -0
  12. package/lib/components/molecules/ChatAIMessages/ChatDaySeparator.styles.js +11 -0
  13. package/lib/components/molecules/ChatAIMessages/chatMessageUtils.js +5 -0
  14. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +199 -71
  15. package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +28 -15
  16. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +81 -16
  17. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +16 -1
  18. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.js +13 -0
  19. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.styles.js +9 -0
  20. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/constants.js +13 -0
  21. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/index.js +3 -0
  22. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/useFloatingPanelDragTilt.js +57 -0
  23. package/lib/components/molecules/ChatAIModal/layout.js +35 -0
  24. package/lib/components/molecules/Sidebar/Sidebar.js +257 -322
  25. package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +18 -23
  26. package/lib/components/molecules/Sidebar/Sidebar.styles.js +54 -37
  27. package/lib/components/molecules/Sidebar/SidebarChats.styles.js +73 -0
  28. package/lib/components/molecules/Sidebar/SidebarChatsSection.js +69 -0
  29. package/lib/components/molecules/Sidebar/SidebarChatsSectionModal.js +151 -0
  30. package/lib/components/molecules/Sidebar/SidebarHistoryChat.js +238 -0
  31. package/lib/components/molecules/Sidebar/sidebarChats.helpers.js +70 -0
  32. package/lib/components/molecules/Sidebar/sidebarChats.types.js +14 -0
  33. package/lib/dev/Providers.js +2 -2
  34. package/lib/dev/fixtures/devUser.js +173 -0
  35. package/lib/dev/fixtures/mockedUser.js +169 -0
  36. package/lib/hooks/useChatManager/useChatManager.js +3 -25
  37. package/lib/hooks/useChats/useChats.js +12 -4
  38. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +6 -33
  39. package/lib/lang/br/index.js +19 -2
  40. package/lib/lang/en/index.js +19 -2
  41. package/lib/lang/es/index.js +19 -2
  42. package/lib/lang/fr/index.js +19 -2
  43. package/lib/services/maia/Chats/getChatMessagesV2.js +114 -0
  44. package/lib/services/maia/Chats/getChatsByUserId.js +14 -8
  45. package/lib/services/maia/Chats/getSessionsGroupedV2.js +70 -0
  46. package/lib/services/maia/Chats/index.js +5 -1
  47. package/lib/services/maia/client.js +44 -9
  48. package/lib/store/chatsStore.types.js +10 -2
  49. package/lib/store/useChatsStore.js +75 -37
  50. package/lib/types/Chat.js +3 -1
  51. package/package.json +1 -1
  52. package/lib/hooks/useOrchestratorStream/streamRevealSmooth.js +0 -57
  53. package/lib/mocks/mockChats.js +0 -395
  54. package/lib/mocks/mockedUser.js +0 -169
@@ -0,0 +1,43 @@
1
+ /* eslint-disable react/function-component-definition */
2
+
3
+ import { SCDaySeparatorChip, SCDaySeparatorRow } from './ChatDaySeparator.styles';
4
+ import { jsx as _jsx } from "react/jsx-runtime";
5
+ export function getLocalDayKey(d) {
6
+ if (!d || Number.isNaN(d.getTime())) return null;
7
+ var y = d.getFullYear();
8
+ var m = String(d.getMonth() + 1).padStart(2, '0');
9
+ var day = String(d.getDate()).padStart(2, '0');
10
+ return "".concat(y, "-").concat(m, "-").concat(day);
11
+ }
12
+ function isSameLocalDay(a, b) {
13
+ var ka = getLocalDayKey(a);
14
+ var kb = getLocalDayKey(b);
15
+ return ka !== null && kb !== null && ka === kb;
16
+ }
17
+ export function formatChatDaySeparatorLabel(date, t, language) {
18
+ var now = new Date();
19
+ if (isSameLocalDay(date, now)) return t('chat.daySeparator.today');
20
+ var yesterday = new Date(now);
21
+ yesterday.setDate(yesterday.getDate() - 1);
22
+ if (isSameLocalDay(date, yesterday)) return t('chat.daySeparator.yesterday');
23
+ try {
24
+ return new Intl.DateTimeFormat(language, {
25
+ dateStyle: 'medium'
26
+ }).format(date);
27
+ } catch (_unused) {
28
+ return new Intl.DateTimeFormat('es', {
29
+ dateStyle: 'medium'
30
+ }).format(date);
31
+ }
32
+ }
33
+ export var ChatDaySeparator = function ChatDaySeparator(_ref) {
34
+ var label = _ref.label;
35
+ return /*#__PURE__*/_jsx(SCDaySeparatorRow, {
36
+ role: "separator",
37
+ "aria-label": label,
38
+ children: /*#__PURE__*/_jsx(SCDaySeparatorChip, {
39
+ children: label
40
+ })
41
+ });
42
+ };
43
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTQ0RheVNlcGFyYXRvckNoaXAiLCJTQ0RheVNlcGFyYXRvclJvdyIsImpzeCIsIl9qc3giLCJnZXRMb2NhbERheUtleSIsImQiLCJOdW1iZXIiLCJpc05hTiIsImdldFRpbWUiLCJ5IiwiZ2V0RnVsbFllYXIiLCJtIiwiU3RyaW5nIiwiZ2V0TW9udGgiLCJwYWRTdGFydCIsImRheSIsImdldERhdGUiLCJjb25jYXQiLCJpc1NhbWVMb2NhbERheSIsImEiLCJiIiwia2EiLCJrYiIsImZvcm1hdENoYXREYXlTZXBhcmF0b3JMYWJlbCIsImRhdGUiLCJ0IiwibGFuZ3VhZ2UiLCJub3ciLCJEYXRlIiwieWVzdGVyZGF5Iiwic2V0RGF0ZSIsIkludGwiLCJEYXRlVGltZUZvcm1hdCIsImRhdGVTdHlsZSIsImZvcm1hdCIsIl91bnVzZWQiLCJDaGF0RGF5U2VwYXJhdG9yIiwiX3JlZiIsImxhYmVsIiwicm9sZSIsImNoaWxkcmVuIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1lc3NhZ2VzL0NoYXREYXlTZXBhcmF0b3IudHN4Il0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIHJlYWN0L2Z1bmN0aW9uLWNvbXBvbmVudC1kZWZpbml0aW9uICovXG5pbXBvcnQgdHlwZSB7IFRGdW5jdGlvbiB9IGZyb20gJ2kxOG5leHQnXG5pbXBvcnQgdHlwZSB7IEZDIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyBTQ0RheVNlcGFyYXRvckNoaXAsIFNDRGF5U2VwYXJhdG9yUm93IH0gZnJvbSAnLi9DaGF0RGF5U2VwYXJhdG9yLnN0eWxlcydcblxuZXhwb3J0IGZ1bmN0aW9uIGdldExvY2FsRGF5S2V5KGQ6IERhdGUpOiBzdHJpbmcgfCBudWxsIHtcbiAgaWYgKCFkIHx8IE51bWJlci5pc05hTihkLmdldFRpbWUoKSkpIHJldHVybiBudWxsXG4gIGNvbnN0IHkgPSBkLmdldEZ1bGxZZWFyKClcbiAgY29uc3QgbSA9IFN0cmluZyhkLmdldE1vbnRoKCkgKyAxKS5wYWRTdGFydCgyLCAnMCcpXG4gIGNvbnN0IGRheSA9IFN0cmluZyhkLmdldERhdGUoKSkucGFkU3RhcnQoMiwgJzAnKVxuICByZXR1cm4gYCR7eX0tJHttfS0ke2RheX1gXG59XG5cbmZ1bmN0aW9uIGlzU2FtZUxvY2FsRGF5KGE6IERhdGUsIGI6IERhdGUpOiBib29sZWFuIHtcbiAgY29uc3Qga2EgPSBnZXRMb2NhbERheUtleShhKVxuICBjb25zdCBrYiA9IGdldExvY2FsRGF5S2V5KGIpXG4gIHJldHVybiBrYSAhPT0gbnVsbCAmJiBrYiAhPT0gbnVsbCAmJiBrYSA9PT0ga2Jcbn1cblxuZXhwb3J0IGZ1bmN0aW9uIGZvcm1hdENoYXREYXlTZXBhcmF0b3JMYWJlbChkYXRlOiBEYXRlLCB0OiBURnVuY3Rpb24sIGxhbmd1YWdlOiBzdHJpbmcpOiBzdHJpbmcge1xuICBjb25zdCBub3cgPSBuZXcgRGF0ZSgpXG4gIGlmIChpc1NhbWVMb2NhbERheShkYXRlLCBub3cpKSByZXR1cm4gdCgnY2hhdC5kYXlTZXBhcmF0b3IudG9kYXknKVxuICBjb25zdCB5ZXN0ZXJkYXkgPSBuZXcgRGF0ZShub3cpXG4gIHllc3RlcmRheS5zZXREYXRlKHllc3RlcmRheS5nZXREYXRlKCkgLSAxKVxuICBpZiAoaXNTYW1lTG9jYWxEYXkoZGF0ZSwgeWVzdGVyZGF5KSkgcmV0dXJuIHQoJ2NoYXQuZGF5U2VwYXJhdG9yLnllc3RlcmRheScpXG4gIHRyeSB7XG4gICAgcmV0dXJuIG5ldyBJbnRsLkRhdGVUaW1lRm9ybWF0KGxhbmd1YWdlLCB7IGRhdGVTdHlsZTogJ21lZGl1bScgfSkuZm9ybWF0KGRhdGUpXG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBuZXcgSW50bC5EYXRlVGltZUZvcm1hdCgnZXMnLCB7IGRhdGVTdHlsZTogJ21lZGl1bScgfSkuZm9ybWF0KGRhdGUpXG4gIH1cbn1cblxuZXhwb3J0IGNvbnN0IENoYXREYXlTZXBhcmF0b3I6IEZDPHsgbGFiZWw6IHN0cmluZyB9PiA9ICh7IGxhYmVsIH0pID0+IChcbiAgPFNDRGF5U2VwYXJhdG9yUm93IHJvbGU9XCJzZXBhcmF0b3JcIiBhcmlhLWxhYmVsPXtsYWJlbH0+XG4gICAgPFNDRGF5U2VwYXJhdG9yQ2hpcD57bGFiZWx9PC9TQ0RheVNlcGFyYXRvckNoaXA+XG4gIDwvU0NEYXlTZXBhcmF0b3JSb3c+XG4pXG4iXSwibWFwcGluZ3MiOiJBQUFBOztBQUdBLFNBQVNBLGtCQUFrQixFQUFFQyxpQkFBaUIsUUFBUSwyQkFBMkI7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFFakYsT0FBTyxTQUFTQyxjQUFjQSxDQUFDQyxDQUFPLEVBQWlCO0VBQ3JELElBQUksQ0FBQ0EsQ0FBQyxJQUFJQyxNQUFNLENBQUNDLEtBQUssQ0FBQ0YsQ0FBQyxDQUFDRyxPQUFPLENBQUMsQ0FBQyxDQUFDLEVBQUUsT0FBTyxJQUFJO0VBQ2hELElBQU1DLENBQUMsR0FBR0osQ0FBQyxDQUFDSyxXQUFXLENBQUMsQ0FBQztFQUN6QixJQUFNQyxDQUFDLEdBQUdDLE1BQU0sQ0FBQ1AsQ0FBQyxDQUFDUSxRQUFRLENBQUMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDQyxRQUFRLENBQUMsQ0FBQyxFQUFFLEdBQUcsQ0FBQztFQUNuRCxJQUFNQyxHQUFHLEdBQUdILE1BQU0sQ0FBQ1AsQ0FBQyxDQUFDVyxPQUFPLENBQUMsQ0FBQyxDQUFDLENBQUNGLFFBQVEsQ0FBQyxDQUFDLEVBQUUsR0FBRyxDQUFDO0VBQ2hELFVBQUFHLE1BQUEsQ0FBVVIsQ0FBQyxPQUFBUSxNQUFBLENBQUlOLENBQUMsT0FBQU0sTUFBQSxDQUFJRixHQUFHO0FBQ3pCO0FBRUEsU0FBU0csY0FBY0EsQ0FBQ0MsQ0FBTyxFQUFFQyxDQUFPLEVBQVc7RUFDakQsSUFBTUMsRUFBRSxHQUFHakIsY0FBYyxDQUFDZSxDQUFDLENBQUM7RUFDNUIsSUFBTUcsRUFBRSxHQUFHbEIsY0FBYyxDQUFDZ0IsQ0FBQyxDQUFDO0VBQzVCLE9BQU9DLEVBQUUsS0FBSyxJQUFJLElBQUlDLEVBQUUsS0FBSyxJQUFJLElBQUlELEVBQUUsS0FBS0MsRUFBRTtBQUNoRDtBQUVBLE9BQU8sU0FBU0MsMkJBQTJCQSxDQUFDQyxJQUFVLEVBQUVDLENBQVksRUFBRUMsUUFBZ0IsRUFBVTtFQUM5RixJQUFNQyxHQUFHLEdBQUcsSUFBSUMsSUFBSSxDQUFDLENBQUM7RUFDdEIsSUFBSVYsY0FBYyxDQUFDTSxJQUFJLEVBQUVHLEdBQUcsQ0FBQyxFQUFFLE9BQU9GLENBQUMsQ0FBQyx5QkFBeUIsQ0FBQztFQUNsRSxJQUFNSSxTQUFTLEdBQUcsSUFBSUQsSUFBSSxDQUFDRCxHQUFHLENBQUM7RUFDL0JFLFNBQVMsQ0FBQ0MsT0FBTyxDQUFDRCxTQUFTLENBQUNiLE9BQU8sQ0FBQyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0VBQzFDLElBQUlFLGNBQWMsQ0FBQ00sSUFBSSxFQUFFSyxTQUFTLENBQUMsRUFBRSxPQUFPSixDQUFDLENBQUMsNkJBQTZCLENBQUM7RUFDNUUsSUFBSTtJQUNGLE9BQU8sSUFBSU0sSUFBSSxDQUFDQyxjQUFjLENBQUNOLFFBQVEsRUFBRTtNQUFFTyxTQUFTLEVBQUU7SUFBUyxDQUFDLENBQUMsQ0FBQ0MsTUFBTSxDQUFDVixJQUFJLENBQUM7RUFDaEYsQ0FBQyxDQUFDLE9BQUFXLE9BQUEsRUFBTTtJQUNOLE9BQU8sSUFBSUosSUFBSSxDQUFDQyxjQUFjLENBQUMsSUFBSSxFQUFFO01BQUVDLFNBQVMsRUFBRTtJQUFTLENBQUMsQ0FBQyxDQUFDQyxNQUFNLENBQUNWLElBQUksQ0FBQztFQUM1RTtBQUNGO0FBRUEsT0FBTyxJQUFNWSxnQkFBdUMsR0FBRyxTQUExQ0EsZ0JBQXVDQSxDQUFBQyxJQUFBO0VBQUEsSUFBTUMsS0FBSyxHQUFBRCxJQUFBLENBQUxDLEtBQUs7RUFBQSxvQkFDN0RuQyxJQUFBLENBQUNGLGlCQUFpQjtJQUFDc0MsSUFBSSxFQUFDLFdBQVc7SUFBQyxjQUFZRCxLQUFNO0lBQUFFLFFBQUEsZUFDcERyQyxJQUFBLENBQUNILGtCQUFrQjtNQUFBd0MsUUFBQSxFQUFFRjtJQUFLLENBQXFCO0VBQUMsQ0FDL0IsQ0FBQztBQUFBLENBQ3JCIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,11 @@
1
+ import styled from 'styled-components';
2
+ import colors from '@projectcor/theme/lib/base/colors';
3
+ export var SCDaySeparatorRow = styled.div.withConfig({
4
+ displayName: "ChatDaySeparatorstyles__SCDaySeparatorRow",
5
+ componentId: "sc-1jz4nos-0"
6
+ })(["display:flex;justify-content:center;align-items:center;width:100%;"]);
7
+ export var SCDaySeparatorChip = styled.span.withConfig({
8
+ displayName: "ChatDaySeparatorstyles__SCDaySeparatorChip",
9
+ componentId: "sc-1jz4nos-1"
10
+ })(["display:inline-flex;align-items:center;justify-content:center;border:0.5px solid #bfbfbf;border-radius:20px;padding:6px 12px;font-size:12px;line-height:130%;color:", ";font-weight:500;"], colors.secondary);
11
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjb2xvcnMiLCJTQ0RheVNlcGFyYXRvclJvdyIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiU0NEYXlTZXBhcmF0b3JDaGlwIiwic3BhbiIsInNlY29uZGFyeSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNZXNzYWdlcy9DaGF0RGF5U2VwYXJhdG9yLnN0eWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgc3R5bGVkIGZyb20gJ3N0eWxlZC1jb21wb25lbnRzJ1xuaW1wb3J0IGNvbG9ycyBmcm9tICdAcHJvamVjdGNvci90aGVtZS9saWIvYmFzZS9jb2xvcnMnXG5cbmV4cG9ydCBjb25zdCBTQ0RheVNlcGFyYXRvclJvdyA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICB3aWR0aDogMTAwJTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDRGF5U2VwYXJhdG9yQ2hpcCA9IHN0eWxlZC5zcGFuYFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGJvcmRlcjogMC41cHggc29saWQgI2JmYmZiZjtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgcGFkZGluZzogNnB4IDEycHg7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgbGluZS1oZWlnaHQ6IDEzMCU7XG4gIGNvbG9yOiAke2NvbG9ycy5zZWNvbmRhcnl9O1xuICBmb250LXdlaWdodDogNTAwO1xuYFxuIl0sIm1hcHBpbmdzIjoiQUFBQSxPQUFPQSxNQUFNLE1BQU0sbUJBQW1CO0FBQ3RDLE9BQU9DLE1BQU0sTUFBTSxtQ0FBbUM7QUFFdEQsT0FBTyxJQUFNQyxpQkFBaUIsR0FBR0YsTUFBTSxDQUFDRyxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsMEVBSzFDO0FBRUQsT0FBTyxJQUFNQyxrQkFBa0IsR0FBR1AsTUFBTSxDQUFDUSxJQUFJLENBQUFKLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsaU1BU2xDTCxNQUFNLENBQUNRLFNBQVMsQ0FFMUIiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,5 @@
1
+ export function isRenderableChatMessage(message) {
2
+ var _message$attachments, _message$sources, _message$project;
3
+ return !!((_message$attachments = message.attachments) !== null && _message$attachments !== void 0 && _message$attachments.length || (_message$sources = message.sources) !== null && _message$sources !== void 0 && _message$sources.length || message.message || (_message$project = message.project) !== null && _message$project !== void 0 && _message$project.name || message.approval);
4
+ }
5
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJpc1JlbmRlcmFibGVDaGF0TWVzc2FnZSIsIm1lc3NhZ2UiLCJfbWVzc2FnZSRhdHRhY2htZW50cyIsIl9tZXNzYWdlJHNvdXJjZXMiLCJfbWVzc2FnZSRwcm9qZWN0IiwiYXR0YWNobWVudHMiLCJsZW5ndGgiLCJzb3VyY2VzIiwicHJvamVjdCIsIm5hbWUiLCJhcHByb3ZhbCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0QUlNZXNzYWdlcy9jaGF0TWVzc2FnZVV0aWxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgQ2hhdE1lc3NhZ2UgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9DaGF0J1xuXG5leHBvcnQgZnVuY3Rpb24gaXNSZW5kZXJhYmxlQ2hhdE1lc3NhZ2UobWVzc2FnZTogQ2hhdE1lc3NhZ2UpOiBib29sZWFuIHtcbiAgcmV0dXJuICEhKFxuICAgIG1lc3NhZ2UuYXR0YWNobWVudHM/Lmxlbmd0aCB8fFxuICAgIG1lc3NhZ2Uuc291cmNlcz8ubGVuZ3RoIHx8XG4gICAgbWVzc2FnZS5tZXNzYWdlIHx8XG4gICAgbWVzc2FnZS5wcm9qZWN0Py5uYW1lIHx8XG4gICAgbWVzc2FnZS5hcHByb3ZhbFxuICApXG59XG4iXSwibWFwcGluZ3MiOiJBQUVBLE9BQU8sU0FBU0EsdUJBQXVCQSxDQUFDQyxPQUFvQixFQUFXO0VBQUEsSUFBQUMsb0JBQUEsRUFBQUMsZ0JBQUEsRUFBQUMsZ0JBQUE7RUFDckUsT0FBTyxDQUFDLEVBQ04sQ0FBQUYsb0JBQUEsR0FBQUQsT0FBTyxDQUFDSSxXQUFXLGNBQUFILG9CQUFBLGVBQW5CQSxvQkFBQSxDQUFxQkksTUFBTSxLQUFBSCxnQkFBQSxHQUMzQkYsT0FBTyxDQUFDTSxPQUFPLGNBQUFKLGdCQUFBLGVBQWZBLGdCQUFBLENBQWlCRyxNQUFNLElBQ3ZCTCxPQUFPLENBQUNBLE9BQU8sS0FBQUcsZ0JBQUEsR0FDZkgsT0FBTyxDQUFDTyxPQUFPLGNBQUFKLGdCQUFBLGVBQWZBLGdCQUFBLENBQWlCSyxJQUFJLElBQ3JCUixPQUFPLENBQUNTLFFBQVEsQ0FDakI7QUFDSCIsImlnbm9yZUxpc3QiOltdfQ==