@projectcor/maia-components 2.11.109-3 → 2.11.110-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.
Files changed (86) hide show
  1. package/lib/components/atoms/ContextMentionChip/buildChipElement.js +12 -1
  2. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +127 -5
  3. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +2 -29
  4. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +24 -33
  5. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +2 -19
  6. package/lib/components/atoms/IconButton.js +2 -2
  7. package/lib/components/atoms/MAIAInput/MAIAInput.js +203 -88
  8. package/lib/components/atoms/MAIAInput/styles.js +15 -11
  9. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.js +188 -0
  10. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.styles.js +69 -0
  11. package/lib/components/atoms/SkillsDropdown/index.js +2 -0
  12. package/lib/components/atoms/icons/PlusIcon.js +29 -0
  13. package/lib/components/atoms/icons/RetryIcon.js +34 -0
  14. package/lib/components/atoms/icons/SkillVisibilityEveryoneIcon.js +23 -0
  15. package/lib/components/atoms/icons/SkillVisibilityOnlyMeIcon.js +23 -0
  16. package/lib/components/atoms/icons/SkillsNavIcon.js +4 -7
  17. package/lib/components/atoms/icons/index.js +4 -1
  18. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +5 -3
  19. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +135 -380
  20. package/lib/components/molecules/ChatAIMessages/newStyles.js +18 -50
  21. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +198 -198
  22. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +11 -16
  23. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.js +8 -26
  24. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.styles.js +7 -24
  25. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +259 -232
  26. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +124 -104
  27. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +1 -3
  28. package/lib/components/molecules/MessageFeedback/MessageFeedback.js +14 -2
  29. package/lib/components/molecules/MessageFeedback/styles.js +2 -6
  30. package/lib/components/molecules/Sidebar/Sidebar.js +5 -4
  31. package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +2 -2
  32. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +8 -1
  33. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +285 -167
  34. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +86 -66
  35. package/lib/components/organisms/ChatAI/ChatAI.js +3 -22
  36. package/lib/components/organisms/ClientAIButton/ClientAIButton.js +1 -4
  37. package/lib/components/organisms/ProjectAIButton/ProjectAIButton.js +1 -4
  38. package/lib/constants/config.js +1 -4
  39. package/lib/constants/permissions/utils.js +3 -3
  40. package/lib/context/global-context.js +1 -1
  41. package/lib/dev/DevChatAI.js +1 -4
  42. package/lib/hooks/useChatManager/useChatManager.js +401 -146
  43. package/lib/hooks/useChatMessages/useChatMessages.js +27 -25
  44. package/lib/hooks/useContextMentions.js +93 -56
  45. package/lib/hooks/useEntitySearch.js +92 -278
  46. package/lib/hooks/useMentionAllowedTypes.js +9 -25
  47. package/lib/hooks/useMentionPopover.js +9 -33
  48. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +1 -1
  49. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +80 -6
  50. package/lib/hooks/useProjectSummaryConfig.js +17 -36
  51. package/lib/hooks/useSkillsCatalog.js +66 -0
  52. package/lib/lang/br/index.js +61 -251
  53. package/lib/lang/en/index.js +61 -251
  54. package/lib/lang/es/index.js +62 -252
  55. package/lib/lang/fr/index.js +61 -251
  56. package/lib/services/maia/Orchestrator/index.js +4 -3
  57. package/lib/services/maia/Orchestrator/orchestrator.js +84 -23
  58. package/lib/services/maia/Skills/createSkill.js +1 -1
  59. package/lib/services/maia/Skills/getSkills.js +70 -40
  60. package/lib/services/maia/Skills/updateSkill.js +1 -1
  61. package/lib/services/utils/mapChatMessages.js +26 -25
  62. package/lib/store/maiaLastChatPersistence.js +35 -0
  63. package/lib/store/sessions/sessionStreamManager.js +191 -99
  64. package/lib/store/sessions/sessions.types.js +1 -1
  65. package/lib/types/Chat.js +1 -1
  66. package/lib/types/skill.js +1 -1
  67. package/lib/utils/contextMentionTriggers.js +2 -5
  68. package/lib/utils/hitlAnalytics.js +3 -4
  69. package/lib/utils/maiaHostOpen.js +1 -10
  70. package/lib/utils/renderContextMentions.js +39 -18
  71. package/lib/utils/retryCompletion.js +85 -0
  72. package/lib/utils/streamActivityMessages.js +41 -106
  73. package/package.json +1 -1
  74. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.js +0 -136
  75. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.styles.js +0 -73
  76. package/lib/components/atoms/ReasoningBlock/index.js +0 -2
  77. package/lib/components/organisms/CloseWhileGeneratingModal/CloseWhileGeneratingModal.js +0 -56
  78. package/lib/components/organisms/CloseWhileGeneratingModal/CloseWhileGeneratingModal.styles.js +0 -35
  79. package/lib/components/organisms/CloseWhileGeneratingModal/index.js +0 -2
  80. package/lib/hooks/useReasoningTrace/index.js +0 -3
  81. package/lib/hooks/useReasoningTrace/reasoningStore.js +0 -142
  82. package/lib/hooks/useReasoningTrace/useReasoningTrace.js +0 -14
  83. package/lib/store/maiaMinimizedPersistence.js +0 -49
  84. package/lib/types/reasoning.js +0 -2
  85. package/lib/utils/autoApproveStorage.js +0 -26
  86. package/lib/utils/reasoningMappers.js +0 -62
@@ -1,26 +0,0 @@
1
- var KEY_PREFIX = 'maia.autoApprove';
2
- var storageKey = function storageKey(userId) {
3
- return userId != null && userId !== '' ? "".concat(KEY_PREFIX, ".").concat(userId) : KEY_PREFIX;
4
- };
5
- export var readAutoApprove = function readAutoApprove(userId) {
6
- if (typeof window === 'undefined') {
7
- return false;
8
- }
9
- try {
10
- return window.localStorage.getItem(storageKey(userId)) === 'true';
11
- } catch (_unused) {
12
- return false;
13
- }
14
- };
15
- export var writeAutoApprove = function writeAutoApprove(userId, active) {
16
- if (typeof window === 'undefined') {
17
- return false;
18
- }
19
- try {
20
- window.localStorage.setItem(storageKey(userId), active ? 'true' : 'false');
21
- return true;
22
- } catch (_unused2) {
23
- return false;
24
- }
25
- };
26
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJLRVlfUFJFRklYIiwic3RvcmFnZUtleSIsInVzZXJJZCIsImNvbmNhdCIsInJlYWRBdXRvQXBwcm92ZSIsIndpbmRvdyIsImxvY2FsU3RvcmFnZSIsImdldEl0ZW0iLCJfdW51c2VkIiwid3JpdGVBdXRvQXBwcm92ZSIsImFjdGl2ZSIsInNldEl0ZW0iLCJfdW51c2VkMiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9hdXRvQXBwcm92ZVN0b3JhZ2UudHMiXSwic291cmNlc0NvbnRlbnQiOlsiY29uc3QgS0VZX1BSRUZJWCA9ICdtYWlhLmF1dG9BcHByb3ZlJ1xuXG5jb25zdCBzdG9yYWdlS2V5ID0gKHVzZXJJZD86IG51bWJlciB8IHN0cmluZyB8IG51bGwpOiBzdHJpbmcgPT5cbiAgdXNlcklkICE9IG51bGwgJiYgdXNlcklkICE9PSAnJyA/IGAke0tFWV9QUkVGSVh9LiR7dXNlcklkfWAgOiBLRVlfUFJFRklYXG5cbmV4cG9ydCBjb25zdCByZWFkQXV0b0FwcHJvdmUgPSAodXNlcklkPzogbnVtYmVyIHwgc3RyaW5nIHwgbnVsbCk6IGJvb2xlYW4gPT4ge1xuICBpZiAodHlwZW9mIHdpbmRvdyA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxuICB0cnkge1xuICAgIHJldHVybiB3aW5kb3cubG9jYWxTdG9yYWdlLmdldEl0ZW0oc3RvcmFnZUtleSh1c2VySWQpKSA9PT0gJ3RydWUnXG4gIH0gY2F0Y2gge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG59XG5cbmV4cG9ydCBjb25zdCB3cml0ZUF1dG9BcHByb3ZlID0gKHVzZXJJZDogbnVtYmVyIHwgc3RyaW5nIHwgbnVsbCB8IHVuZGVmaW5lZCwgYWN0aXZlOiBib29sZWFuKTogYm9vbGVhbiA9PiB7XG4gIGlmICh0eXBlb2Ygd2luZG93ID09PSAndW5kZWZpbmVkJykge1xuICAgIHJldHVybiBmYWxzZVxuICB9XG4gIHRyeSB7XG4gICAgd2luZG93LmxvY2FsU3RvcmFnZS5zZXRJdGVtKHN0b3JhZ2VLZXkodXNlcklkKSwgYWN0aXZlID8gJ3RydWUnIDogJ2ZhbHNlJylcbiAgICByZXR1cm4gdHJ1ZVxuICB9IGNhdGNoIHtcbiAgICByZXR1cm4gZmFsc2VcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxJQUFNQSxVQUFVLEdBQUcsa0JBQWtCO0FBRXJDLElBQU1DLFVBQVUsR0FBRyxTQUFiQSxVQUFVQSxDQUFJQyxNQUErQjtFQUFBLE9BQ2pEQSxNQUFNLElBQUksSUFBSSxJQUFJQSxNQUFNLEtBQUssRUFBRSxNQUFBQyxNQUFBLENBQU1ILFVBQVUsT0FBQUcsTUFBQSxDQUFJRCxNQUFNLElBQUtGLFVBQVU7QUFBQTtBQUUxRSxPQUFPLElBQU1JLGVBQWUsR0FBRyxTQUFsQkEsZUFBZUEsQ0FBSUYsTUFBK0IsRUFBYztFQUMzRSxJQUFJLE9BQU9HLE1BQU0sS0FBSyxXQUFXLEVBQUU7SUFDakMsT0FBTyxLQUFLO0VBQ2Q7RUFDQSxJQUFJO0lBQ0YsT0FBT0EsTUFBTSxDQUFDQyxZQUFZLENBQUNDLE9BQU8sQ0FBQ04sVUFBVSxDQUFDQyxNQUFNLENBQUMsQ0FBQyxLQUFLLE1BQU07RUFDbkUsQ0FBQyxDQUFDLE9BQUFNLE9BQUEsRUFBTTtJQUNOLE9BQU8sS0FBSztFQUNkO0FBQ0YsQ0FBQztBQUVELE9BQU8sSUFBTUMsZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFnQkEsQ0FBSVAsTUFBMEMsRUFBRVEsTUFBZSxFQUFjO0VBQ3hHLElBQUksT0FBT0wsTUFBTSxLQUFLLFdBQVcsRUFBRTtJQUNqQyxPQUFPLEtBQUs7RUFDZDtFQUNBLElBQUk7SUFDRkEsTUFBTSxDQUFDQyxZQUFZLENBQUNLLE9BQU8sQ0FBQ1YsVUFBVSxDQUFDQyxNQUFNLENBQUMsRUFBRVEsTUFBTSxHQUFHLE1BQU0sR0FBRyxPQUFPLENBQUM7SUFDMUUsT0FBTyxJQUFJO0VBQ2IsQ0FBQyxDQUFDLE9BQUFFLFFBQUEsRUFBTTtJQUNOLE9BQU8sS0FBSztFQUNkO0FBQ0YsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,62 +0,0 @@
1
- import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
- 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; }
3
- 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; }
4
- export var mapReasoningStep = function mapReasoningStep(payload) {
5
- var _payload$type;
6
- return _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
7
- i: payload.i,
8
- type: (_payload$type = payload.type) !== null && _payload$type !== void 0 ? _payload$type : 'thinking'
9
- }, payload.text !== undefined ? {
10
- text: payload.text
11
- } : {}), payload.redacted ? {
12
- redacted: true
13
- } : {}), payload.truncated ? {
14
- truncated: true
15
- } : {}), payload.tool ? {
16
- tool: payload.tool
17
- } : {}), payload.to ? {
18
- to: payload.to
19
- } : {}), payload.args ? {
20
- args: payload.args
21
- } : {}), payload.status ? {
22
- status: payload.status
23
- } : {}), payload.result_preview ? {
24
- resultPreview: payload.result_preview
25
- } : {});
26
- };
27
- export var mapReasoningSummary = function mapReasoningSummary(payload) {
28
- var _payload$step_count, _payload$tool_count;
29
- if (!payload) return null;
30
- return _objectSpread(_objectSpread({
31
- stepCount: (_payload$step_count = payload.step_count) !== null && _payload$step_count !== void 0 ? _payload$step_count : 0,
32
- toolCount: (_payload$tool_count = payload.tool_count) !== null && _payload$tool_count !== void 0 ? _payload$tool_count : 0
33
- }, payload.duration_ms !== undefined ? {
34
- durationMs: payload.duration_ms
35
- } : {}), payload.truncated ? {
36
- truncated: true
37
- } : {});
38
- };
39
- export var deriveReasoningSummary = function deriveReasoningSummary(steps) {
40
- return {
41
- stepCount: steps.length,
42
- toolCount: steps.filter(function (step) {
43
- return step.type !== 'thinking' && step.type !== 'narration';
44
- }).length
45
- };
46
- };
47
- export var mapReasoningTrace = function mapReasoningTrace(payload) {
48
- var _payload$steps, _mapReasoningSummary;
49
- if (!(payload !== null && payload !== void 0 && (_payload$steps = payload.steps) !== null && _payload$steps !== void 0 && _payload$steps.length)) return null;
50
- var steps = payload.steps.map(mapReasoningStep);
51
- return {
52
- steps: steps,
53
- summary: (_mapReasoningSummary = mapReasoningSummary(payload.summary)) !== null && _mapReasoningSummary !== void 0 ? _mapReasoningSummary : deriveReasoningSummary(steps)
54
- };
55
- };
56
- export var buildReasoningTrace = function buildReasoningTrace(steps, summary) {
57
- return steps.length ? {
58
- steps: steps,
59
- summary: summary !== null && summary !== void 0 ? summary : deriveReasoningSummary(steps)
60
- } : null;
61
- };
62
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtYXBSZWFzb25pbmdTdGVwIiwicGF5bG9hZCIsIl9wYXlsb2FkJHR5cGUiLCJfb2JqZWN0U3ByZWFkIiwiaSIsInR5cGUiLCJ0ZXh0IiwidW5kZWZpbmVkIiwicmVkYWN0ZWQiLCJ0cnVuY2F0ZWQiLCJ0b29sIiwidG8iLCJhcmdzIiwic3RhdHVzIiwicmVzdWx0X3ByZXZpZXciLCJyZXN1bHRQcmV2aWV3IiwibWFwUmVhc29uaW5nU3VtbWFyeSIsIl9wYXlsb2FkJHN0ZXBfY291bnQiLCJfcGF5bG9hZCR0b29sX2NvdW50Iiwic3RlcENvdW50Iiwic3RlcF9jb3VudCIsInRvb2xDb3VudCIsInRvb2xfY291bnQiLCJkdXJhdGlvbl9tcyIsImR1cmF0aW9uTXMiLCJkZXJpdmVSZWFzb25pbmdTdW1tYXJ5Iiwic3RlcHMiLCJsZW5ndGgiLCJmaWx0ZXIiLCJzdGVwIiwibWFwUmVhc29uaW5nVHJhY2UiLCJfcGF5bG9hZCRzdGVwcyIsIl9tYXBSZWFzb25pbmdTdW1tYXJ5IiwibWFwIiwic3VtbWFyeSIsImJ1aWxkUmVhc29uaW5nVHJhY2UiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdXRpbHMvcmVhc29uaW5nTWFwcGVycy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7XG4gIFJlYXNvbmluZ1N0ZXAsXG4gIFJlYXNvbmluZ1N1bW1hcnksXG4gIFJlYXNvbmluZ1N1bW1hcnlQYXlsb2FkLFxuICBSZWFzb25pbmdTdGVwUGF5bG9hZCxcbiAgUmVhc29uaW5nVHJhY2UsXG4gIFJlYXNvbmluZ1RyYWNlUGF5bG9hZCxcbn0gZnJvbSAnLi4vdHlwZXMvcmVhc29uaW5nJ1xuXG5leHBvcnQgY29uc3QgbWFwUmVhc29uaW5nU3RlcCA9IChwYXlsb2FkOiBSZWFzb25pbmdTdGVwUGF5bG9hZCk6IFJlYXNvbmluZ1N0ZXAgPT4gKHtcbiAgaTogcGF5bG9hZC5pLFxuICB0eXBlOiBwYXlsb2FkLnR5cGUgPz8gJ3RoaW5raW5nJyxcbiAgLi4uKHBheWxvYWQudGV4dCAhPT0gdW5kZWZpbmVkID8geyB0ZXh0OiBwYXlsb2FkLnRleHQgfSA6IHt9KSxcbiAgLi4uKHBheWxvYWQucmVkYWN0ZWQgPyB7IHJlZGFjdGVkOiB0cnVlIH0gOiB7fSksXG4gIC4uLihwYXlsb2FkLnRydW5jYXRlZCA/IHsgdHJ1bmNhdGVkOiB0cnVlIH0gOiB7fSksXG4gIC4uLihwYXlsb2FkLnRvb2wgPyB7IHRvb2w6IHBheWxvYWQudG9vbCB9IDoge30pLFxuICAuLi4ocGF5bG9hZC50byA/IHsgdG86IHBheWxvYWQudG8gfSA6IHt9KSxcbiAgLi4uKHBheWxvYWQuYXJncyA/IHsgYXJnczogcGF5bG9hZC5hcmdzIH0gOiB7fSksXG4gIC4uLihwYXlsb2FkLnN0YXR1cyA/IHsgc3RhdHVzOiBwYXlsb2FkLnN0YXR1cyB9IDoge30pLFxuICAuLi4ocGF5bG9hZC5yZXN1bHRfcHJldmlldyA/IHsgcmVzdWx0UHJldmlldzogcGF5bG9hZC5yZXN1bHRfcHJldmlldyB9IDoge30pLFxufSlcblxuZXhwb3J0IGNvbnN0IG1hcFJlYXNvbmluZ1N1bW1hcnkgPSAocGF5bG9hZDogUmVhc29uaW5nU3VtbWFyeVBheWxvYWQgfCBudWxsIHwgdW5kZWZpbmVkKTogUmVhc29uaW5nU3VtbWFyeSB8IG51bGwgPT4ge1xuICBpZiAoIXBheWxvYWQpIHJldHVybiBudWxsXG4gIHJldHVybiB7XG4gICAgc3RlcENvdW50OiBwYXlsb2FkLnN0ZXBfY291bnQgPz8gMCxcbiAgICB0b29sQ291bnQ6IHBheWxvYWQudG9vbF9jb3VudCA/PyAwLFxuICAgIC4uLihwYXlsb2FkLmR1cmF0aW9uX21zICE9PSB1bmRlZmluZWQgPyB7IGR1cmF0aW9uTXM6IHBheWxvYWQuZHVyYXRpb25fbXMgfSA6IHt9KSxcbiAgICAuLi4ocGF5bG9hZC50cnVuY2F0ZWQgPyB7IHRydW5jYXRlZDogdHJ1ZSB9IDoge30pLFxuICB9XG59XG5cbmV4cG9ydCBjb25zdCBkZXJpdmVSZWFzb25pbmdTdW1tYXJ5ID0gKHN0ZXBzOiBSZWFzb25pbmdTdGVwW10pOiBSZWFzb25pbmdTdW1tYXJ5ID0+ICh7XG4gIHN0ZXBDb3VudDogc3RlcHMubGVuZ3RoLFxuICB0b29sQ291bnQ6IHN0ZXBzLmZpbHRlcihzdGVwID0+IHN0ZXAudHlwZSAhPT0gJ3RoaW5raW5nJyAmJiBzdGVwLnR5cGUgIT09ICduYXJyYXRpb24nKS5sZW5ndGgsXG59KVxuXG5leHBvcnQgY29uc3QgbWFwUmVhc29uaW5nVHJhY2UgPSAocGF5bG9hZDogUmVhc29uaW5nVHJhY2VQYXlsb2FkIHwgbnVsbCB8IHVuZGVmaW5lZCk6IFJlYXNvbmluZ1RyYWNlIHwgbnVsbCA9PiB7XG4gIGlmICghcGF5bG9hZD8uc3RlcHM/Lmxlbmd0aCkgcmV0dXJuIG51bGxcbiAgY29uc3Qgc3RlcHMgPSBwYXlsb2FkLnN0ZXBzLm1hcChtYXBSZWFzb25pbmdTdGVwKVxuICByZXR1cm4geyBzdGVwcywgc3VtbWFyeTogbWFwUmVhc29uaW5nU3VtbWFyeShwYXlsb2FkLnN1bW1hcnkpID8/IGRlcml2ZVJlYXNvbmluZ1N1bW1hcnkoc3RlcHMpIH1cbn1cblxuZXhwb3J0IGNvbnN0IGJ1aWxkUmVhc29uaW5nVHJhY2UgPSAoXG4gIHN0ZXBzOiBSZWFzb25pbmdTdGVwW10sXG4gIHN1bW1hcnk/OiBSZWFzb25pbmdTdW1tYXJ5IHwgbnVsbFxuKTogUmVhc29uaW5nVHJhY2UgfCBudWxsID0+IChzdGVwcy5sZW5ndGggPyB7IHN0ZXBzLCBzdW1tYXJ5OiBzdW1tYXJ5ID8/IGRlcml2ZVJlYXNvbmluZ1N1bW1hcnkoc3RlcHMpIH0gOiBudWxsKVxuIl0sIm1hcHBpbmdzIjoiOzs7QUFTQSxPQUFPLElBQU1BLGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBZ0JBLENBQUlDLE9BQTZCO0VBQUEsSUFBQUMsYUFBQTtFQUFBLE9BQUFDLGFBQUEsQ0FBQUEsYUFBQSxDQUFBQSxhQUFBLENBQUFBLGFBQUEsQ0FBQUEsYUFBQSxDQUFBQSxhQUFBLENBQUFBLGFBQUEsQ0FBQUEsYUFBQTtJQUM1REMsQ0FBQyxF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