@projectcor/maia-components 2.35.3 → 2.35.4-1

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 (187) hide show
  1. package/CHANGELOG.md +727 -0
  2. package/lib/App.js +44 -19
  3. package/lib/components/atoms/ApprovalBox/ApprovalBox.spec.js +107 -0
  4. package/lib/components/atoms/Checkbox/Checkbox.spec.js +27 -0
  5. package/lib/components/atoms/Chip/Chip.spec.js +32 -0
  6. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.spec.js +29 -0
  7. package/lib/components/atoms/Fade/Fade.spec.js +31 -0
  8. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +4 -20
  9. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +7 -18
  10. package/lib/components/atoms/MAIAButton/MAIAButton.spec.js +42 -0
  11. package/lib/components/atoms/MAIAInput/MAIAInput.js +10 -26
  12. package/lib/components/atoms/MAIAInput/MAIAInput.spec.js +201 -0
  13. package/lib/components/atoms/MAIAInput/styles.js +27 -34
  14. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.spec.js +68 -0
  15. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.spec.js +85 -0
  16. package/lib/components/atoms/Switch/Switch.spec.js +41 -0
  17. package/lib/components/index.js +2 -1
  18. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +7 -3
  19. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +5 -16
  20. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.js +2 -23
  21. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.styles.js +5 -33
  22. package/lib/components/molecules/ChatAIHome/styles.js +2 -11
  23. package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.js +20 -31
  24. package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.spec.js +104 -0
  25. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +6 -2
  26. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.spec.js +291 -0
  27. package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.spec.js +46 -0
  28. package/lib/components/molecules/ChatAIMessages/newStyles.js +29 -26
  29. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +4 -2
  30. package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +2 -2
  31. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.js +1 -8
  32. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.styles.js +9 -15
  33. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +3 -14
  34. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +2 -2
  35. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +67 -74
  36. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +5 -14
  37. package/lib/components/molecules/ChatAIModal/layout.js +2 -2
  38. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.js +2 -12
  39. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.styles.js +3 -3
  40. package/lib/components/molecules/ChatFooter/ChatFooter.js +48 -64
  41. package/lib/components/molecules/ChatFooter/ChatFooter.spec.js +112 -0
  42. package/lib/components/molecules/ChatFooter/styles.js +6 -12
  43. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.spec.js +84 -0
  44. package/lib/components/molecules/MessageFeedback/MessageFeedback.spec.js +116 -0
  45. package/lib/components/molecules/Sidebar/Sidebar.js +27 -22
  46. package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +2 -2
  47. package/lib/components/molecules/Sidebar/Sidebar.spec.js +203 -0
  48. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +12 -37
  49. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.spec.js +335 -0
  50. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.spec.js +237 -0
  51. package/lib/components/organisms/ChatAI/ChatAI.js +1 -6
  52. package/lib/components/organisms/ChatAI/ChatAI.spec.js +174 -0
  53. package/lib/components/organisms/ChatAIPage/ChatAIPage.js +484 -0
  54. package/lib/components/organisms/ChatAIPage/ChatAIPage.spec.js +231 -0
  55. package/lib/components/organisms/ChatAIPage/ChatAIPage.styles.js +16 -0
  56. package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.js +253 -0
  57. package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.spec.js +139 -0
  58. package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.styles.js +13 -0
  59. package/lib/components/organisms/ChatAIPage/ChatAIPageHome.js +217 -0
  60. package/lib/components/organisms/ChatAIPage/ChatAIPageHome.spec.js +102 -0
  61. package/lib/components/organisms/ChatAIPage/ChatAIPageHome.styles.js +147 -0
  62. package/lib/components/organisms/ChatAIPage/getDaypart.js +9 -0
  63. package/lib/components/organisms/ChatAIPage/getDaypart.spec.js +19 -0
  64. package/lib/components/organisms/ChatAIPage/index.js +3 -0
  65. package/lib/components/organisms/ChatAIPage/pageHomeMockCards.js +17 -0
  66. package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.spec.js +59 -0
  67. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.spec.js +79 -0
  68. package/lib/components/organisms/EditQuestionModal/EditQuestionModal.spec.js +86 -0
  69. package/lib/constants/permissions/index.js +2 -2
  70. package/lib/constants/permissions/utils.js +4 -1
  71. package/lib/dev/DevMaiaPage.js +30 -0
  72. package/lib/hooks/useCaretPosition.spec.js +58 -0
  73. package/lib/hooks/useChatManager/useChatManager.js +8 -16
  74. package/lib/hooks/useDebounce.spec.js +42 -0
  75. package/lib/hooks/useEvent.spec.js +35 -0
  76. package/lib/hooks/useIsMaiaPageRoute.js +26 -0
  77. package/lib/hooks/useIsMaiaPageRoute.spec.js +26 -0
  78. package/lib/hooks/useMentionAllowedTypes.spec.js +100 -0
  79. package/lib/hooks/useModal/useModal.spec.js +73 -0
  80. package/lib/hooks/useResize.spec.js +37 -0
  81. package/lib/hooks/useSnackBarManager/useSnackBarManager.spec.js +33 -0
  82. package/lib/hooks/useT.spec.js +20 -0
  83. package/lib/hooks/useToggle.spec.js +33 -0
  84. package/lib/index.js +5 -2
  85. package/lib/lang/br/index.js +24 -4
  86. package/lib/lang/en/index.js +24 -4
  87. package/lib/lang/es/index.js +24 -4
  88. package/lib/lang/fr/index.js +25 -5
  89. package/lib/services/maia/Access/updateAccess.spec.js +108 -0
  90. package/lib/services/maia/Actions/getFrequentlyUsedActions.spec.js +69 -0
  91. package/lib/services/maia/Actions/getSlashCommands.spec.js +74 -0
  92. package/lib/services/maia/Agents/createAgent.spec.js +55 -0
  93. package/lib/services/maia/Agents/deleteAgent.spec.js +42 -0
  94. package/lib/services/maia/Agents/fetchAgentDetail.spec.js +108 -0
  95. package/lib/services/maia/Agents/getAgentById.spec.js +55 -0
  96. package/lib/services/maia/Agents/getAgentSuggestions.spec.js +82 -0
  97. package/lib/services/maia/Agents/setAgentToolGroups.spec.js +45 -0
  98. package/lib/services/maia/Agents/toggleFavorite.spec.js +47 -0
  99. package/lib/services/maia/Agents/updateAgent.spec.js +48 -0
  100. package/lib/services/maia/Chats/deleteChat.spec.js +31 -0
  101. package/lib/services/maia/Chats/getChatMessages.spec.js +150 -0
  102. package/lib/services/maia/Chats/getChatsByUserId.js +1 -1
  103. package/lib/services/maia/Chats/getChatsByUserId.spec.js +149 -0
  104. package/lib/services/maia/Chats/markSessionAsRead.spec.js +30 -0
  105. package/lib/services/maia/Chats/patchChat.spec.js +41 -0
  106. package/lib/services/maia/Chats/wasHelpfulChat.spec.js +28 -0
  107. package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.spec.js +58 -0
  108. package/lib/services/maia/Knowledge/delete.spec.js +45 -0
  109. package/lib/services/maia/Knowledge/download.spec.js +78 -0
  110. package/lib/services/maia/Knowledge/save.spec.js +58 -0
  111. package/lib/services/maia/Orchestrator/orchestrator.js +11 -5
  112. package/lib/services/maia/RecentClients/getRecentClients.spec.js +52 -0
  113. package/lib/services/maia/RecentContexts/getRecentContexts.spec.js +83 -0
  114. package/lib/services/maia/RecentProjects/getRecentProjects.spec.js +82 -0
  115. package/lib/services/maia/RecentTasks/getRecentTasks.spec.js +63 -0
  116. package/lib/services/maia/RecentUsers/getRecentUsers.spec.js +82 -0
  117. package/lib/services/maia/Skills/createSkill.spec.js +59 -0
  118. package/lib/services/maia/Skills/deleteSkill.spec.js +42 -0
  119. package/lib/services/maia/Skills/generateSkill.spec.js +48 -0
  120. package/lib/services/maia/Skills/updateSkill.spec.js +55 -0
  121. package/lib/services/maia/client.spec.js +56 -0
  122. package/lib/services/maia/index.js +2 -4
  123. package/lib/services/utils/fetchCOR.js +57 -106
  124. package/lib/services/utils/fetchCOR.spec.js +211 -0
  125. package/lib/services/utils/getCookie.spec.js +20 -0
  126. package/lib/services/utils/index.js +1 -2
  127. package/lib/store/chatsSidebarOptimistic.spec.js +120 -0
  128. package/lib/store/faqsStore.types.js +1 -1
  129. package/lib/store/index.js +1 -2
  130. package/lib/store/maiaLastChatPersistence.spec.js +22 -0
  131. package/lib/store/maiaPanelSessionPersistence.spec.js +62 -0
  132. package/lib/store/sessions/sessionStreamManager.js +7 -24
  133. package/lib/store/sessions/sessions.types.spec.js +16 -0
  134. package/lib/store/sessions/useSessionsStore.spec.js +135 -0
  135. package/lib/store/useChatsStore.js +3 -3
  136. package/lib/store/useChatsStore.spec.js +619 -0
  137. package/lib/store/useFaqsStore.spec.js +57 -0
  138. package/lib/styles/cascade.js +29 -3
  139. package/lib/styles/transitions.js +3 -1
  140. package/lib/test/buttonMock.js +22 -0
  141. package/lib/test/fetchPolyfill.js +160 -0
  142. package/lib/test/fileMock.js +2 -0
  143. package/lib/test/global-context.js +49 -0
  144. package/lib/test/iconMock.js +19 -0
  145. package/lib/test/mockFetch.js +49 -0
  146. package/lib/test/portalRoot.js +13 -0
  147. package/lib/test/styleMock.js +2 -0
  148. package/lib/test/test-utils.js +26 -0
  149. package/lib/test/tooltipMock.js +11 -0
  150. package/lib/types/Chat.js +1 -1
  151. package/lib/types/FrequentlyAskedQuestion.js +1 -1
  152. package/lib/types/global.d.js +1 -1
  153. package/lib/utils/agentDisplayName.spec.js +44 -0
  154. package/lib/utils/autoApproveStorage.spec.js +25 -0
  155. package/lib/utils/chatInputFiles.spec.js +39 -0
  156. package/lib/utils/contextMentionLabel.spec.js +13 -0
  157. package/lib/utils/contextMentionTriggers.spec.js +36 -0
  158. package/lib/utils/contextMentionTypeLabel.spec.js +14 -0
  159. package/lib/utils/corConnectorMentionTypes.spec.js +23 -0
  160. package/lib/utils/fileDownloadHelper.spec.js +67 -0
  161. package/lib/utils/formatQuickActionMessage.spec.js +27 -0
  162. package/lib/utils/formatUnreadCount.spec.js +12 -0
  163. package/lib/utils/getUnitFileSize.spec.js +18 -0
  164. package/lib/utils/hitlAnalytics.spec.js +100 -0
  165. package/lib/utils/hoursPlannerQuickActionType.spec.js +64 -0
  166. package/lib/utils/maiaPageRoute.js +24 -0
  167. package/lib/utils/maiaPageRoute.spec.js +23 -0
  168. package/lib/utils/mapBackendLang.spec.js +19 -0
  169. package/lib/utils/normalizeAgentConnectors.spec.js +59 -0
  170. package/lib/utils/orchestratorSubagents.spec.js +32 -0
  171. package/lib/utils/reasoningMappers.spec.js +103 -0
  172. package/lib/utils/retryCompletion.spec.js +99 -0
  173. package/lib/utils/skillContentSize.spec.js +13 -0
  174. package/lib/utils/slashCommandMarker.spec.js +43 -0
  175. package/lib/utils/sortManagerHoursHomeFuas.spec.js +51 -0
  176. package/lib/utils/sseStreamContent.spec.js +31 -0
  177. package/lib/utils/streamActivityMessages.spec.js +98 -0
  178. package/lib/utils/validateTrimmedFields.spec.js +26 -0
  179. package/package.json +9 -6
  180. package/lib/components/molecules/UsageBlockedBanner/UsageBlockedBanner.js +0 -33
  181. package/lib/components/molecules/UsageBlockedBanner/UsageBlockedBanner.styles.js +0 -47
  182. package/lib/components/molecules/UsageBlockedBanner/index.js +0 -2
  183. package/lib/services/maia/Usage/getUsage.js +0 -45
  184. package/lib/services/maia/Usage/index.js +0 -6
  185. package/lib/services/utils/MaiaApiError.js +0 -34
  186. package/lib/store/useUsageStore.js +0 -108
  187. package/lib/types/usage.js +0 -9
@@ -0,0 +1,201 @@
1
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
2
+ import { fireEvent, renderWithProviders, screen } from '../../../test/test-utils';
3
+ import { GlobalContextTestProvider } from '../../../test/global-context';
4
+ import { MAIAInput } from './MAIAInput';
5
+ import { jsx as _jsx } from "react/jsx-runtime";
6
+ jest.mock('../../../hooks/useEvent', function () {
7
+ return {
8
+ EVENTS: {
9
+ aiChatPlusOpen: 'AI_CHAT_PLUS_OPEN',
10
+ aiChatQuickActionOpen: 'AI_CHAT_QUICK_ACTION_OPEN'
11
+ },
12
+ useEvent: function useEvent() {
13
+ return jest.fn();
14
+ }
15
+ };
16
+ });
17
+ jest.mock('../../../hooks/useSlashCommands', function () {
18
+ return {
19
+ useSlashCommands: function useSlashCommands() {
20
+ return {
21
+ commands: []
22
+ };
23
+ }
24
+ };
25
+ });
26
+ jest.mock('../../../hooks/useMentionPopover', function () {
27
+ return {
28
+ useMentionPopover: function useMentionPopover() {
29
+ return {
30
+ popoverOpen: false,
31
+ resetMentionOpenTracking: jest.fn(),
32
+ handleTrigger: jest.fn(),
33
+ handleKeyDown: function handleKeyDown() {
34
+ return false;
35
+ },
36
+ popoverNode: null,
37
+ close: jest.fn()
38
+ };
39
+ }
40
+ };
41
+ });
42
+ jest.mock('../../../hooks/useMaiaTaskPanelZIndex', function () {
43
+ return {
44
+ useMaiaTaskPanelZIndex: function useMaiaTaskPanelZIndex() {
45
+ return 1300;
46
+ }
47
+ };
48
+ });
49
+ jest.mock('../../organisms/ModalFileExceeds', function () {
50
+ return {
51
+ ModalFileExceeds: function ModalFileExceeds() {
52
+ return null;
53
+ }
54
+ };
55
+ });
56
+ jest.mock('../SlashCommandDropdown', function () {
57
+ return {
58
+ SlashCommandDropdown: function SlashCommandDropdown() {
59
+ return null;
60
+ }
61
+ };
62
+ });
63
+ jest.mock('../ContextMentionEditor', function () {
64
+ var React = jest.requireActual('react');
65
+ return {
66
+ ContextMentionEditor: React.forwardRef(function (_ref, ref) {
67
+ var onInput = _ref.onInput,
68
+ placeholder = _ref.placeholder,
69
+ disabled = _ref.disabled;
70
+ var _React$useState = React.useState(''),
71
+ _React$useState2 = _slicedToArray(_React$useState, 2),
72
+ value = _React$useState2[0],
73
+ setValue = _React$useState2[1];
74
+ var emit = function emit(text) {
75
+ onInput === null || onInput === void 0 || onInput({
76
+ text: text,
77
+ mentions: [],
78
+ slashCommands: [],
79
+ trigger: {
80
+ active: false,
81
+ query: '',
82
+ atRunLength: 0
83
+ }
84
+ });
85
+ };
86
+ React.useImperativeHandle(ref, function () {
87
+ return {
88
+ focus: jest.fn(),
89
+ clear: function clear() {
90
+ setValue('');
91
+ emit('');
92
+ },
93
+ setPlainText: function setPlainText(text) {
94
+ setValue(text);
95
+ emit(text);
96
+ },
97
+ serialize: function serialize() {
98
+ return {
99
+ text: value,
100
+ mentions: [],
101
+ slashCommands: []
102
+ };
103
+ },
104
+ insertMentionTrigger: jest.fn(),
105
+ insertSlashTrigger: jest.fn(),
106
+ insertMention: jest.fn(),
107
+ insertSlashCommand: jest.fn(),
108
+ syncTriggerAtRunLength: jest.fn(),
109
+ syncSkillTrigger: jest.fn(),
110
+ hasVisualMultiline: function hasVisualMultiline() {
111
+ return false;
112
+ },
113
+ getEditorClientRect: function getEditorClientRect() {
114
+ return null;
115
+ }
116
+ };
117
+ });
118
+ return /*#__PURE__*/_jsx("textarea", {
119
+ "aria-label": "maia-editor",
120
+ placeholder: placeholder,
121
+ disabled: disabled,
122
+ value: value,
123
+ onChange: function onChange(event) {
124
+ setValue(event.target.value);
125
+ emit(event.target.value);
126
+ }
127
+ });
128
+ })
129
+ };
130
+ });
131
+ var sendButton = function sendButton() {
132
+ return screen.getAllByRole('button').find(function (button) {
133
+ return !button.getAttribute('aria-label') && !button.getAttribute('aria-haspopup');
134
+ });
135
+ };
136
+ describe('MAIAInput', function () {
137
+ it('keeps send disabled without text', function () {
138
+ renderWithProviders(/*#__PURE__*/_jsx(GlobalContextTestProvider, {
139
+ children: /*#__PURE__*/_jsx(MAIAInput, {
140
+ onSendMessage: jest.fn(),
141
+ placeholder: "Escrib\xED"
142
+ })
143
+ }));
144
+ expect(screen.getByPlaceholderText('Escribí')).toBeInTheDocument();
145
+ expect(sendButton()).toBeDisabled();
146
+ });
147
+ it('sends the typed message and clears the editor', function () {
148
+ var onSendMessage = jest.fn();
149
+ renderWithProviders(/*#__PURE__*/_jsx(GlobalContextTestProvider, {
150
+ children: /*#__PURE__*/_jsx(MAIAInput, {
151
+ onSendMessage: onSendMessage
152
+ })
153
+ }));
154
+ fireEvent.change(screen.getByLabelText('maia-editor'), {
155
+ target: {
156
+ value: 'Hola draft'
157
+ }
158
+ });
159
+ fireEvent.click(sendButton());
160
+ expect(onSendMessage).toHaveBeenCalledWith('Hola draft', [], []);
161
+ expect(screen.getByLabelText('maia-editor')).toHaveValue('');
162
+ });
163
+ it('does not send when disabled', function () {
164
+ var onSendMessage = jest.fn();
165
+ renderWithProviders(/*#__PURE__*/_jsx(GlobalContextTestProvider, {
166
+ children: /*#__PURE__*/_jsx(MAIAInput, {
167
+ onSendMessage: onSendMessage,
168
+ disabled: true
169
+ })
170
+ }));
171
+ expect(screen.getByLabelText('maia-editor')).toBeDisabled();
172
+ expect(sendButton()).toBeDisabled();
173
+ fireEvent.click(sendButton());
174
+ expect(onSendMessage).not.toHaveBeenCalled();
175
+ });
176
+ it('shows stop while writing', function () {
177
+ var onStopGeneration = jest.fn();
178
+ renderWithProviders(/*#__PURE__*/_jsx(GlobalContextTestProvider, {
179
+ children: /*#__PURE__*/_jsx(MAIAInput, {
180
+ onSendMessage: jest.fn(),
181
+ isWriting: true,
182
+ onStopGeneration: onStopGeneration
183
+ })
184
+ }));
185
+ fireEvent.click(sendButton());
186
+ expect(onStopGeneration).toHaveBeenCalled();
187
+ });
188
+ it('opens the plus menu', function () {
189
+ renderWithProviders(/*#__PURE__*/_jsx(GlobalContextTestProvider, {
190
+ children: /*#__PURE__*/_jsx(MAIAInput, {
191
+ onSendMessage: jest.fn()
192
+ })
193
+ }));
194
+ fireEvent.click(screen.getByRole('button', {
195
+ name: 'chat.openPlusMenuAria'
196
+ }));
197
+ expect(screen.getByText('chat.plusMenuAttach')).toBeInTheDocument();
198
+ expect(screen.getByText('chat.searchWeb')).toBeInTheDocument();
199
+ });
200
+ });
201
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmaXJlRXZlbnQiLCJyZW5kZXJXaXRoUHJvdmlkZXJzIiwic2NyZWVuIiwiR2xvYmFsQ29udGV4dFRlc3RQcm92aWRlciIsIk1BSUFJbnB1dCIsImpzeCIsIl9qc3giLCJqZXN0IiwibW9jayIsIkVWRU5UUyIsImFpQ2hhdFBsdXNPcGVuIiwiYWlDaGF0UXVpY2tBY3Rpb25PcGVuIiwidXNlRXZlbnQiLCJmbiIsInVzZVNsYXNoQ29tbWFuZHMiLCJjb21tYW5kcyIsInVzZU1lbnRpb25Qb3BvdmVyIiwicG9wb3Zlck9wZW4iLCJyZXNldE1lbnRpb25PcGVuVHJhY2tpbmciLCJoYW5kbGVUcmlnZ2VyIiwiaGFuZGxlS2V5RG93biIsInBvcG92ZXJOb2RlIiwiY2xvc2UiLCJ1c2VNYWlhVGFza1BhbmVsWkluZGV4IiwiTW9kYWxGaWxlRXhjZWVkcyIsIlNsYXNoQ29tbWFuZERyb3Bkb3duIiwiUmVhY3QiLCJyZXF1aXJlQWN0dWFsIiwiQ29udGV4dE1lbnRpb25FZGl0b3IiLCJmb3J3YXJkUmVmIiwiX3JlZiIsInJlZiIsIm9uSW5wdXQiLCJwbGFjZWhvbGRlciIsImRpc2FibGVkIiwiX1JlYWN0JHVzZVN0YXRlIiwidXNlU3RhdGUiLCJfUmVhY3QkdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJ2YWx1ZSIsInNldFZhbHVlIiwiZW1pdCIsInRleHQiLCJtZW50aW9ucyIsInNsYXNoQ29tbWFuZHMiLCJ0cmlnZ2VyIiwiYWN0aXZlIiwicXVlcnkiLCJhdFJ1bkxlbmd0aCIsInVzZUltcGVyYXRpdmVIYW5kbGUiLCJmb2N1cyIsImNsZWFyIiwic2V0UGxhaW5UZXh0Iiwic2VyaWFsaXplIiwiaW5zZXJ0TWVudGlvblRyaWdnZXIiLCJpbnNlcnRTbGFzaFRyaWdnZXIiLCJpbnNlcnRNZW50aW9uIiwiaW5zZXJ0U2xhc2hDb21tYW5kIiwic3luY1RyaWdnZXJBdFJ1bkxlbmd0aCIsInN5bmNTa2lsbFRyaWdnZXIiLCJoYXNWaXN1YWxNdWx0aWxpbmUiLCJnZXRFZGl0b3JDbGllbnRSZWN0Iiwib25DaGFuZ2UiLCJldmVudCIsInRhcmdldCIsInNlbmRCdXR0b24iLCJnZXRBbGxCeVJvbGUiLCJmaW5kIiwiYnV0dG9uIiwiZ2V0QXR0cmlidXRlIiwiZGVzY3JpYmUiLCJpdCIsImNoaWxkcmVuIiwib25TZW5kTWVzc2FnZSIsImV4cGVjdCIsImdldEJ5UGxhY2Vob2xkZXJUZXh0IiwidG9CZUluVGhlRG9jdW1lbnQiLCJ0b0JlRGlzYWJsZWQiLCJjaGFuZ2UiLCJnZXRCeUxhYmVsVGV4dCIsImNsaWNrIiwidG9IYXZlQmVlbkNhbGxlZFdpdGgiLCJ0b0hhdmVWYWx1ZSIsIm5vdCIsInRvSGF2ZUJlZW5DYWxsZWQiLCJvblN0b3BHZW5lcmF0aW9uIiwiaXNXcml0aW5nIiwiZ2V0QnlSb2xlIiwibmFtZSIsImdldEJ5VGV4dCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL01BSUFJbnB1dC9NQUlBSW5wdXQuc3BlYy50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgZmlyZUV2ZW50LCByZW5kZXJXaXRoUHJvdmlkZXJzLCBzY3JlZW4gfSBmcm9tICcuLi8uLi8uLi90ZXN0L3Rlc3QtdXRpbHMnXG5pbXBvcnQgeyBHbG9iYWxDb250ZXh0VGVzdFByb3ZpZGVyIH0gZnJvbSAnLi4vLi4vLi4vdGVzdC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IE1BSUFJbnB1dCB9IGZyb20gJy4vTUFJQUlucHV0J1xuXG5qZXN0Lm1vY2soJy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50JywgKCkgPT4gKHtcbiAgRVZFTlRTOiB7XG4gICAgYWlDaGF0UGx1c09wZW46ICdBSV9DSEFUX1BMVVNfT1BFTicsXG4gICAgYWlDaGF0UXVpY2tBY3Rpb25PcGVuOiAnQUlfQ0hBVF9RVUlDS19BQ1RJT05fT1BFTicsXG4gIH0sXG4gIHVzZUV2ZW50OiAoKSA9PiBqZXN0LmZuKCksXG59KSlcblxuamVzdC5tb2NrKCcuLi8uLi8uLi9ob29rcy91c2VTbGFzaENvbW1hbmRzJywgKCkgPT4gKHtcbiAgdXNlU2xhc2hDb21tYW5kczogKCkgPT4gKHsgY29tbWFuZHM6IFtdIH0pLFxufSkpXG5cbmplc3QubW9jaygnLi4vLi4vLi4vaG9va3MvdXNlTWVudGlvblBvcG92ZXInLCAoKSA9PiAoe1xuICB1c2VNZW50aW9uUG9wb3ZlcjogKCkgPT4gKHtcbiAgICBwb3BvdmVyT3BlbjogZmFsc2UsXG4gICAgcmVzZXRNZW50aW9uT3BlblRyYWNraW5nOiBqZXN0LmZuKCksXG4gICAgaGFuZGxlVHJpZ2dlcjogamVzdC5mbigpLFxuICAgIGhhbmRsZUtleURvd246ICgpID0+IGZhbHNlLFxuICAgIHBvcG92ZXJOb2RlOiBudWxsLFxuICAgIGNsb3NlOiBqZXN0LmZuKCksXG4gIH0pLFxufSkpXG5cbmplc3QubW9jaygnLi4vLi4vLi4vaG9va3MvdXNlTWFpYVRhc2tQYW5lbFpJbmRleCcsICgpID0+ICh7XG4gIHVzZU1haWFUYXNrUGFuZWxaSW5kZXg6ICgpID0+IDEzMDAsXG59KSlcblxuamVzdC5tb2NrKCcuLi8uLi9vcmdhbmlzbXMvTW9kYWxGaWxlRXhjZWVkcycsICgpID0+ICh7XG4gIE1vZGFsRmlsZUV4Y2VlZHM6ICgpID0+IG51bGwsXG59KSlcblxuamVzdC5tb2NrKCcuLi9TbGFzaENvbW1hbmREcm9wZG93bicsICgpID0+ICh7XG4gIFNsYXNoQ29tbWFuZERyb3Bkb3duOiAoKSA9PiBudWxsLFxufSkpXG5cbmplc3QubW9jaygnLi4vQ29udGV4dE1lbnRpb25FZGl0b3InLCAoKSA9PiB7XG4gIGNvbnN0IFJlYWN0ID0gamVzdC5yZXF1aXJlQWN0dWFsKCdyZWFjdCcpIGFzIHR5cGVvZiBpbXBvcnQoJ3JlYWN0JylcbiAgcmV0dXJuIHtcbiAgICBDb250ZXh0TWVudGlvbkVkaXRvcjogUmVhY3QuZm9yd2FyZFJlZihcbiAgICAgIChcbiAgICAgICAge1xuICAgICAgICAgIG9uSW5wdXQsXG4gICAgICAgICAgcGxhY2Vob2xkZXIsXG4gICAgICAgICAgZGlzYWJsZWQsXG4gICAgICAgIH06IHtcbiAgICAgICAgICBvbklucHV0PzogKHN0YXRlOiB7XG4gICAgICAgICAgICB0ZXh0OiBzdHJpbmdcbiAgICAgICAgICAgIG1lbnRpb25zOiB1bmtub3duW11cbiAgICAgICAgICAgIHNsYXNoQ29tbWFuZHM6IHVua25vd25bXVxuICAgICAgICAgICAgdHJpZ2dlcjogeyBhY3RpdmU6IGJvb2xlYW47IHF1ZXJ5OiBzdHJpbmc7IGF0UnVuTGVuZ3RoOiBudW1iZXIgfVxuICAgICAgICAgIH0pID0+IHZvaWRcbiAgICAgICAgICBwbGFjZWhvbGRlcj86IHN0cmluZ1xuICAgICAgICAgIGRpc2FibGVkPzogYm9vbGVhblxuICAgICAgICB9LFxuICAgICAgICByZWY6IHtcbiAgICAgICAgICBmb2N1czogKCkgPT4gdm9pZFxuICAgICAgICAgIGNsZWFyOiAoKSA9PiB2b2lkXG4gICAgICAgICAgc2V0UGxhaW5UZXh0OiAodGV4dDogc3RyaW5nKSA9PiB2b2lkXG4gICAgICAgICAgc2VyaWFsaXplOiAoKSA9PiB7IHRleHQ6IHN0cmluZzsgbWVudGlvbnM6IHVua25vd25bXTsgc2xhc2hDb21tYW5kczogdW5rbm93bltdIH1cbiAgICAgICAgICBpbnNlcnRNZW50aW9uVHJpZ2dlcjogKCkgPT4gdm9pZFxuICAgICAgICB9IHwgbnVsbFxuICAgICAgKSA9PiB7XG4gICAgICAgIGNvbnN0IFt2YWx1ZSwgc2V0VmFsdWVdID0gUmVhY3QudXNlU3RhdGUoJycpXG4gICAgICAgIGNvbnN0IGVtaXQgPSAodGV4dDogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgb25JbnB1dD8uKHtcbiAgICAgICAgICAgIHRleHQsXG4gICAgICAgICAgICBtZW50aW9uczogW10sXG4gICAgICAgICAgICBzbGFzaENvbW1hbmRzOiBbXSxcbiAgICAgICAgICAgIHRyaWdnZXI6IHsgYWN0aXZlOiBmYWxzZSwgcXVlcnk6ICcnLCBhdFJ1bkxlbmd0aDogMCB9LFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cblxuICAgICAgICBSZWFjdC51c2VJbXBlcmF0aXZlSGFuZGxlKHJlZiwgKCkgPT4gKHtcbiAgICAgICAgICBmb2N1czogamVzdC5mbigpLFxuICAgICAgICAgIGNsZWFyOiAoKSA9PiB7XG4gICAgICAgICAgICBzZXRWYWx1ZSgnJylcbiAgICAgICAgICAgIGVtaXQoJycpXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXRQbGFpblRleHQ6ICh0ZXh0OiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIHNldFZhbHVlKHRleHQpXG4gICAgICAgICAgICBlbWl0KHRleHQpXG4gICAgICAgICAgfSxcbiAgICAgICAgICBzZXJpYWxpemU6ICgpID0+ICh7IHRleHQ6IHZhbHVlLCBtZW50aW9uczogW10sIHNsYXNoQ29tbWFuZHM6IFtdIH0pLFxuICAgICAgICAgIGluc2VydE1lbnRpb25UcmlnZ2VyOiBqZXN0LmZuKCksXG4gICAgICAgICAgaW5zZXJ0U2xhc2hUcmlnZ2VyOiBqZXN0LmZuKCksXG4gICAgICAgICAgaW5zZXJ0TWVudGlvbjogamVzdC5mbigpLFxuICAgICAgICAgIGluc2VydFNsYXNoQ29tbWFuZDogamVzdC5mbigpLFxuICAgICAgICAgIHN5bmNUcmlnZ2VyQXRSdW5MZW5ndGg6IGplc3QuZm4oKSxcbiAgICAgICAgICBzeW5jU2tpbGxUcmlnZ2VyOiBqZXN0LmZuKCksXG4gICAgICAgICAgaGFzVmlzdWFsTXVsdGlsaW5lOiAoKSA9PiBmYWxzZSxcbiAgICAgICAgICBnZXRFZGl0b3JDbGllbnRSZWN0OiAoKSA9PiBudWxsLFxuICAgICAgICB9KSlcblxuICAgICAgICByZXR1cm4gKFxuICAgICAgICAgIDx0ZXh0YXJlYVxuICAgICAgICAgICAgYXJpYS1sYWJlbD1cIm1haWEtZWRpdG9yXCJcbiAgICAgICAgICAgIHBsYWNlaG9sZGVyPXtwbGFjZWhvbGRlcn1cbiAgICAgICAgICAgIGRpc2FibGVkPXtkaXNhYmxlZH1cbiAgICAgICAgICAgIHZhbHVlPXt2YWx1ZX1cbiAgICAgICAgICAgIG9uQ2hhbmdlPXtldmVudCA9PiB7XG4gICAgICAgICAgICAgIHNldFZhbHVlKGV2ZW50LnRhcmdldC52YWx1ZSlcbiAgICAgICAgICAgICAgZW1pdChldmVudC50YXJnZXQudmFsdWUpXG4gICAgICAgICAgICB9fVxuICAgICAgICAgIC8+XG4gICAgICAgIClcbiAgICAgIH1cbiAgICApLFxuICB9XG59KVxuXG5jb25zdCBzZW5kQnV0dG9uID0gKCkgPT5cbiAgc2NyZWVuXG4gICAgLmdldEFsbEJ5Um9sZSgnYnV0dG9uJylcbiAgICAuZmluZChidXR0b24gPT4gIWJ1dHRvbi5nZXRBdHRyaWJ1dGUoJ2FyaWEtbGFiZWwnKSAmJiAhYnV0dG9uLmdldEF0dHJpYnV0ZSgnYXJpYS1oYXNwb3B1cCcpKVxuXG5kZXNjcmliZSgnTUFJQUlucHV0JywgKCkgPT4ge1xuICBpdCgna2VlcHMgc2VuZCBkaXNhYmxlZCB3aXRob3V0IHRleHQnLCAoKSA9PiB7XG4gICAgcmVuZGVyV2l0aFByb3ZpZGVycyhcbiAgICAgIDxHbG9iYWxDb250ZXh0VGVzdFByb3ZpZGVyPlxuICAgICAgICA8TUFJQUlucHV0IG9uU2VuZE1lc3NhZ2U9e2plc3QuZm4oKX0gcGxhY2Vob2xkZXI9XCJFc2NyaWLDrVwiIC8+XG4gICAgICA8L0dsb2JhbENvbnRleHRUZXN0UHJvdmlkZXI+XG4gICAgKVxuXG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeVBsYWNlaG9sZGVyVGV4dCgnRXNjcmliw60nKSkudG9CZUluVGhlRG9jdW1lbnQoKVxuICAgIGV4cGVjdChzZW5kQnV0dG9uKCkpLnRvQmVEaXNhYmxlZCgpXG4gIH0pXG5cbiAgaXQoJ3NlbmRzIHRoZSB0eXBlZCBtZXNzYWdlIGFuZCBjbGVhcnMgdGhlIGVkaXRvcicsICgpID0+IHtcbiAgICBjb25zdCBvblNlbmRNZXNzYWdlID0gamVzdC5mbigpXG4gICAgcmVuZGVyV2l0aFByb3ZpZGVycyhcbiAgICAgIDxHbG9iYWxDb250ZXh0VGVzdFByb3ZpZGVyPlxuICAgICAgICA8TUFJQUlucHV0IG9uU2VuZE1lc3NhZ2U9e29uU2VuZE1lc3NhZ2V9IC8+XG4gICAgICA8L0dsb2JhbENvbnRleHRUZXN0UHJvdmlkZXI+XG4gICAgKVxuXG4gICAgZmlyZUV2ZW50LmNoYW5nZShzY3JlZW4uZ2V0QnlMYWJlbFRleHQoJ21haWEtZWRpdG9yJyksIHsgdGFyZ2V0OiB7IHZhbHVlOiAnSG9sYSBkcmFmdCcgfSB9KVxuICAgIGZpcmVFdmVudC5jbGljayhzZW5kQnV0dG9uKCkgYXMgSFRNTEJ1dHRvbkVsZW1lbnQpXG5cbiAgICBleHBlY3Qob25TZW5kTWVzc2FnZSkudG9IYXZlQmVlbkNhbGxlZFdpdGgoJ0hvbGEgZHJhZnQnLCBbXSwgW10pXG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeUxhYmVsVGV4dCgnbWFpYS1lZGl0b3InKSkudG9IYXZlVmFsdWUoJycpXG4gIH0pXG5cbiAgaXQoJ2RvZXMgbm90IHNlbmQgd2hlbiBkaXNhYmxlZCcsICgpID0+IHtcbiAgICBjb25zdCBvblNlbmRNZXNzYWdlID0gamVzdC5mbigpXG4gICAgcmVuZGVyV2l0aFByb3ZpZGVycyhcbiAgICAgIDxHbG9iYWxDb250ZXh0VGVzdFByb3ZpZGVyPlxuICAgICAgICA8TUFJQUlucHV0IG9uU2VuZE1lc3NhZ2U9e29uU2VuZE1lc3NhZ2V9IGRpc2FibGVkIC8+XG4gICAgICA8L0dsb2JhbENvbnRleHRUZXN0UHJvdmlkZXI+XG4gICAgKVxuXG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeUxhYmVsVGV4dCgnbWFpYS1lZGl0b3InKSkudG9CZURpc2FibGVkKClcbiAgICBleHBlY3Qoc2VuZEJ1dHRvbigpKS50b0JlRGlzYWJsZWQoKVxuICAgIGZpcmVFdmVudC5jbGljayhzZW5kQnV0dG9uKCkgYXMgSFRNTEJ1dHRvbkVsZW1lbnQpXG4gICAgZXhwZWN0KG9uU2VuZE1lc3NhZ2UpLm5vdC50b0hhdmVCZWVuQ2FsbGVkKClcbiAgfSlcblxuICBpdCgnc2hvd3Mgc3RvcCB3aGlsZSB3cml0aW5nJywgKCkgPT4ge1xuICAgIGNvbnN0IG9uU3RvcEdlbmVyYXRpb24gPSBqZXN0LmZuKClcbiAgICByZW5kZXJXaXRoUHJvdmlkZXJzKFxuICAgICAgPEdsb2JhbENvbnRleHRUZXN0UHJvdmlkZXI+XG4gICAgICAgIDxNQUlBSW5wdXQgb25TZW5kTWVzc2FnZT17amVzdC5mbigpfSBpc1dyaXRpbmcgb25TdG9wR2VuZXJhdGlvbj17b25TdG9wR2VuZXJhdGlvbn0gLz5cbiAgICAgIDwvR2xvYmFsQ29udGV4dFRlc3RQcm92aWRlcj5cbiAgICApXG5cbiAgICBmaXJlRXZlbnQuY2xpY2soc2VuZEJ1dHRvbigpIGFzIEhUTUxCdXR0b25FbGVtZW50KVxuICAgIGV4cGVjdChvblN0b3BHZW5lcmF0aW9uKS50b0hhdmVCZWVuQ2FsbGVkKClcbiAgfSlcblxuICBpdCgnb3BlbnMgdGhlIHBsdXMgbWVudScsICgpID0+IHtcbiAgICByZW5kZXJXaXRoUHJvdmlkZXJzKFxuICAgICAgPEdsb2JhbENvbnRleHRUZXN0UHJvdmlkZXI+XG4gICAgICAgIDxNQUlBSW5wdXQgb25TZW5kTWVzc2FnZT17amVzdC5mbigpfSAvPlxuICAgICAgPC9HbG9iYWxDb250ZXh0VGVzdFByb3ZpZGVyPlxuICAgIClcblxuICAgIGZpcmVFdmVudC5jbGljayhzY3JlZW4uZ2V0QnlSb2xlKCdidXR0b24nLCB7IG5hbWU6ICdjaGF0Lm9wZW5QbHVzTWVudUFyaWEnIH0pKVxuXG4gICAgZXhwZWN0KHNjcmVlbi5nZXRCeVRleHQoJ2NoYXQucGx1c01lbnVBdHRhY2gnKSkudG9CZUluVGhlRG9jdW1lbnQoKVxuICAgIGV4cGVjdChzY3JlZW4uZ2V0QnlUZXh0KCdjaGF0LnNlYXJjaFdlYicpKS50b0JlSW5UaGVEb2N1bWVudCgpXG4gIH0pXG59KVxuIl0sIm1hcHBpbmdzIjoiO0FBQUEsU0FBU0EsU0FBUyxFQUFFQyxtQkFBbUIsRUFBRUMsTUFBTSxRQUFRLDBCQUEwQjtBQUNqRixTQUFTQyx5QkFBeUIsUUFBUSw4QkFBOEI7QUFDeEUsU0FBU0MsU0FB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QUFDO0lBQzNESCxNQUFNLENBQUNULFVBQVUsQ0FBQyxDQUFDLENBQUMsQ0FBQ1ksWUFBWSxDQUFDLENBQUM7SUFDbkM3RSxTQUFTLENBQUNnRixLQUFLLENBQUNmLFVBQVUsQ0FBQyxDQUFzQixDQUFDO0lBQ2xEUyxNQUFNLENBQUNELGFBQWEsQ0FBQyxDQUFDVSxHQUFHLENBQUNDLGdCQUFnQixDQUFDLENBQUM7RUFDOUMsQ0FBQyxDQUFDO0VBRUZiLEVBQUUsQ0FBQywwQkFBMEIsRUFBRSxZQUFNO0lBQ25DLElBQU1jLGdCQUFnQixHQUFHOUUsSUFBSSxDQUFDTSxFQUFFLENBQUMsQ0FBQztJQUNsQ1osbUJBQW1CLGNBQ2pCSyxJQUFBLENBQUNILHlCQUF5QjtNQUFBcUUsUUFBQSxlQUN4QmxFLElBQUEsQ0FBQ0YsU0FBUztRQUFDcUUsYUFBYSxFQUFFbEUsSUFBSSxDQUFDTSxFQUFFLENBQUMsQ0FBRTtRQUFDeUUsU0FBUztRQUFDRCxnQkFBZ0IsRUFBRUE7TUFBaUIsQ0FBRTtJQUFDLENBQzVELENBQzdCLENBQUM7SUFFRHJGLFNBQVMsQ0FBQ2dGLEtBQUssQ0FBQ2YsVUFBVSxDQUFDLENBQXNCLENBQUM7SUFDbERTLE1BQU0sQ0FBQ1csZ0JBQWdCLENBQUMsQ0FBQ0QsZ0JBQWdCLENBQUMsQ0FBQztFQUM3QyxDQUFDLENBQUM7RUFFRmIsRUFBRSxDQUFDLHFCQUFxQixFQUFFLFlBQU07SUFDOUJ0RSxtQkFBbUIsY0FDakJLLElBQUEsQ0FBQ0gseUJBQXlCO01BQUFxRSxRQUFBLGVBQ3hCbEUsSUFBQSxDQUFDRixTQUFTO1FBQUNxRSxhQUFhLEVBQUVsRSxJQUFJLENBQUNNLEVBQUUsQ0FBQztNQUFFLENBQUU7SUFBQyxDQUNkLENBQzdCLENBQUM7SUFFRGIsU0FBUyxDQUFDZ0YsS0FBSyxDQUFDOUUsTUFBTSxDQUFDcUYsU0FBUyxDQUFDLFFBQVEsRUFBRTtNQUFFQyxJQUFJLEVBQUU7SUFBd0IsQ0FBQyxDQUFDLENBQUM7SUFFOUVkLE1BQU0sQ0FBQ3hFLE1BQU0sQ0FBQ3VGLFNBQVMsQ0FBQyxxQkFBcUIsQ0FBQyxDQUFDLENBQUNiLGlCQUFpQixDQUFDLENBQUM7SUFDbkVGLE1BQU0sQ0FBQ3hFLE1BQU0sQ0FBQ3VGLFNBQVMsQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUNiLGlCQUFpQixDQUFDLENBQUM7RUFDaEUsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119
@@ -12,21 +12,14 @@ var customInputStyles = css(["outline:none;background:linear-gradient(white,whit
12
12
  export var StyledMAIAInputWrapper = styled.div.withConfig({
13
13
  displayName: "styles__StyledMAIAInputWrapper",
14
14
  componentId: "sc-cs6u9w-0"
15
- })(["box-sizing:border-box;position:relative;width:100%;border-radius:8px;transition:border-color 0.2s ease,box-shadow 0.2s ease;padding:8px;cursor:", ";display:flex;min-height:58px;max-height:", "px;gap:", "px;flex-direction:column;align-items:flex-start;overflow:hidden;border:1px solid ", ";box-shadow:none;", " &:focus-within{", "}", " ", ""], function (_ref) {
15
+ })(["box-sizing:border-box;position:relative;width:100%;border-radius:8px;transition:border-color 0.2s ease,box-shadow 0.2s ease;padding:8px;cursor:", ";display:flex;min-height:58px;max-height:", "px;gap:", "px;flex-direction:column;align-items:flex-start;overflow:hidden;border:1px solid ", ";box-shadow:none;&:focus-within{", "}", " ", ""], function (_ref) {
16
16
  var disabled = _ref.disabled;
17
17
  return disabled ? 'not-allowed' : 'auto';
18
- }, MAIA_INPUT_WRAPPER_MAX_HEIGHT_PX, MAIA_INPUT_CHIPS_CONTENT_GAP_PX, colors.text.disabled, function (_ref2) {
19
- var $usageBlocked = _ref2.$usageBlocked;
20
- return $usageBlocked && css(["position:relative;z-index:1;border-color:#b3b3b3;background:#ffffff;&:focus-within{border:1px solid #b3b3b3;box-shadow:none;animation:none;background:#ffffff;}"]);
18
+ }, MAIA_INPUT_WRAPPER_MAX_HEIGHT_PX, MAIA_INPUT_CHIPS_CONTENT_GAP_PX, colors.text.disabled, customInputStyles, function (_ref2) {
19
+ var hasAttachments = _ref2.hasAttachments;
20
+ return hasAttachments && css(["", ""], customInputStyles);
21
21
  }, function (_ref3) {
22
- var $usageBlocked = _ref3.$usageBlocked;
23
- return !$usageBlocked && css(["", ""], customInputStyles);
24
- }, function (_ref4) {
25
- var hasAttachments = _ref4.hasAttachments,
26
- $usageBlocked = _ref4.$usageBlocked;
27
- return hasAttachments && !$usageBlocked && css(["", ""], customInputStyles);
28
- }, function (_ref5) {
29
- var $fileDragActive = _ref5.$fileDragActive;
22
+ var $fileDragActive = _ref3.$fileDragActive;
30
23
  return $fileDragActive && css(["border:1px dashed ", ";background:rgba(45,119,189,0.06);box-shadow:none;animation:none;"], BLUE_IA_COLORS[500]);
31
24
  });
32
25
  export var StyledMAIADropOverlay = styled.div.withConfig({
@@ -82,14 +75,14 @@ export var StyledMAIAInput = styled.textarea.withConfig({
82
75
  export var StyledMAIASendButton = styled(ClearButton).withConfig({
83
76
  displayName: "styles__StyledMAIASendButton",
84
77
  componentId: "sc-cs6u9w-11"
85
- })(["background-color:", ";height:30px;width:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background-color 0.2s ease;svg{transition:transform 0.2s ease;", "}&:hover{background-color:", " !important;}&:active{transform:scale(0.9);svg{transition:transform 0.2s ease;path{stroke:white !important;}}}transition:transform 0.2s ease;&:disabled{cursor:not-allowed;background-color:#f2f2f2 !important;", " &:hover{svg{transform:none;}}&:active{transform:none;}}"], function (_ref6) {
86
- var hasValues = _ref6.hasValues;
78
+ })(["background-color:", ";height:30px;width:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;transition:background-color 0.2s ease;svg{transition:transform 0.2s ease;", "}&:hover{background-color:", " !important;}&:active{transform:scale(0.9);svg{transition:transform 0.2s ease;path{stroke:white !important;}}}transition:transform 0.2s ease;&:disabled{cursor:not-allowed;background-color:#f2f2f2 !important;", " &:hover{svg{transform:none;}}&:active{transform:none;}}"], function (_ref4) {
79
+ var hasValues = _ref4.hasValues;
87
80
  return hasValues ? "".concat(BLUE_IA_COLORS[500]) : '#f2f2f2';
88
- }, function (_ref7) {
89
- var hasValues = _ref7.hasValues;
81
+ }, function (_ref5) {
82
+ var hasValues = _ref5.hasValues;
90
83
  return hasValues && css(["path{stroke:white !important;}"]);
91
- }, BLUE_IA_COLORS[700], function (_ref8) {
92
- var hasValues = _ref8.hasValues;
84
+ }, BLUE_IA_COLORS[700], function (_ref6) {
85
+ var hasValues = _ref6.hasValues;
93
86
  return !hasValues && css(["svg path{stroke:", " !important;}"], colors.text.disabled);
94
87
  });
95
88
  export var SCMIWrapperAttachments = styled.div.withConfig({
@@ -123,8 +116,8 @@ export var PlusMenuToolsRow = styled.div.withConfig({
123
116
  export var PlusToggleButton = styled.button.withConfig({
124
117
  displayName: "styles__PlusToggleButton",
125
118
  componentId: "sc-cs6u9w-19"
126
- })(["display:flex;width:32px;height:32px;box-sizing:border-box;padding:0;justify-content:center;align-items:center;border:none;border-radius:8px;background:", ";cursor:pointer;flex-shrink:0;&:hover:not(:disabled),&:focus-visible:not(:disabled){background:#f2f2f2;}&:disabled{cursor:not-allowed;opacity:0.5;}&:focus-visible{outline:none;}"], function (_ref9) {
127
- var $menuOpen = _ref9.$menuOpen;
119
+ })(["display:flex;width:32px;height:32px;box-sizing:border-box;padding:0;justify-content:center;align-items:center;border:none;border-radius:8px;background:", ";cursor:pointer;flex-shrink:0;&:hover:not(:disabled),&:focus-visible:not(:disabled){background:#f2f2f2;}&:disabled{cursor:not-allowed;opacity:0.5;}&:focus-visible{outline:none;}"], function (_ref7) {
120
+ var $menuOpen = _ref7.$menuOpen;
128
121
  return $menuOpen ? '#f2f2f2' : colors.white.main;
129
122
  });
130
123
  export var PlusMenuPaper = styled.div.withConfig({
@@ -142,7 +135,7 @@ export var PlusMenuDivider = styled.div.withConfig({
142
135
  export var PlusMenuItemButton = styled.button.withConfig({
143
136
  displayName: "styles__PlusMenuItemButton",
144
137
  componentId: "sc-cs6u9w-23"
145
- })(["display:flex;width:100%;padding:8px;align-items:center;gap:8px;border:none;background:transparent;border-radius:4px;cursor:pointer;font-family:inherit;text-align:left;box-sizing:border-box;&:hover:not(:disabled){background:", ";}&:disabled{cursor:not-allowed;opacity:0.5;}&:focus-visible{outline:2px solid ", ";outline-offset:-2px;}"], colors.background.secondary, BLUE_IA_COLORS[500]);
138
+ })(["display:flex;width:100%;padding:8px;align-items:center;gap:8px;border:none;background:transparent;border-radius:4px;cursor:pointer;font-family:inherit;text-align:left;box-sizing:border-box;&:hover{background:", ";}&:focus-visible{outline:2px solid ", ";outline-offset:-2px;}"], colors.background.secondary, BLUE_IA_COLORS[500]);
146
139
  export var PlusMenuItemLabel = styled.span.withConfig({
147
140
  displayName: "styles__PlusMenuItemLabel",
148
141
  componentId: "sc-cs6u9w-24"
@@ -150,27 +143,27 @@ export var PlusMenuItemLabel = styled.span.withConfig({
150
143
  export var ActiveToolChipRoot = styled.div.withConfig({
151
144
  displayName: "styles__ActiveToolChipRoot",
152
145
  componentId: "sc-cs6u9w-25"
153
- })(["display:flex;max-width:144px;padding:4px 8px;align-items:center;gap:2px;box-sizing:border-box;cursor:default;border-radius:", ";background:", ";box-shadow:", ";transition:background-color 0.22s ease,border-radius 0.22s ease,box-shadow 0.22s ease;", ""], function (_ref0) {
154
- var $hovered = _ref0.$hovered;
146
+ })(["display:flex;max-width:144px;padding:4px 8px;align-items:center;gap:2px;box-sizing:border-box;cursor:default;border-radius:", ";background:", ";box-shadow:", ";transition:background-color 0.22s ease,border-radius 0.22s ease,box-shadow 0.22s ease;", ""], function (_ref8) {
147
+ var $hovered = _ref8.$hovered;
155
148
  return $hovered ? '16px' : '0';
156
- }, function (_ref1) {
157
- var $hovered = _ref1.$hovered;
149
+ }, function (_ref9) {
150
+ var $hovered = _ref9.$hovered;
158
151
  return $hovered ? MAIA_CHAT_INPUT_UI.chipSurfaceHover : 'transparent';
159
- }, function (_ref10) {
160
- var $hovered = _ref10.$hovered;
152
+ }, function (_ref0) {
153
+ var $hovered = _ref0.$hovered;
161
154
  return $hovered ? '0 1px 3px rgba(0, 0, 0, 0.07)' : 'none';
162
- }, function (_ref11) {
163
- var $exiting = _ref11.$exiting;
155
+ }, function (_ref1) {
156
+ var $exiting = _ref1.$exiting;
164
157
  return $exiting && css(["pointer-events:none;animation:", " 0.22s ease forwards;"], activeToolChipOut);
165
158
  });
166
159
  export var ActiveToolChipIconButton = styled.button.withConfig({
167
160
  displayName: "styles__ActiveToolChipIconButton",
168
161
  componentId: "sc-cs6u9w-26"
169
- })(["display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:transparent;cursor:pointer;flex-shrink:0;transition:transform 0.2s ease;svg{display:block;}", " &:hover{", "}&:focus-visible{outline:2px solid ", ";outline-offset:1px;}"], function (_ref12) {
170
- var $closeShown = _ref12.$closeShown;
162
+ })(["display:flex;align-items:center;justify-content:center;width:20px;height:20px;padding:0;border:none;background:transparent;cursor:pointer;flex-shrink:0;transition:transform 0.2s ease;svg{display:block;}", " &:hover{", "}&:focus-visible{outline:2px solid ", ";outline-offset:1px;}"], function (_ref10) {
163
+ var $closeShown = _ref10.$closeShown;
171
164
  return $closeShown && css(["svg{animation:", " 0.24s ease forwards;}"], activeToolChipCloseIconIn);
172
- }, function (_ref13) {
173
- var $closeShown = _ref13.$closeShown;
165
+ }, function (_ref11) {
166
+ var $closeShown = _ref11.$closeShown;
174
167
  return $closeShown && css(["transform:scale(1.06);"]);
175
168
  }, BLUE_IA_COLORS[500]);
176
169
  export var ActiveToolChipLabel = styled.span.withConfig({
@@ -186,4 +179,4 @@ export var StyledMAIAStopButton = styled.button.withConfig({
186
179
  displayName: "styles__StyledMAIAStopButton",
187
180
  componentId: "sc-cs6u9w-29"
188
181
  })(["background:none;border:none;padding:0;font:inherit;background-color:#f2f2f2 !important;height:30px;width:30px;border-radius:8px;display:flex;align-items:center;justify-content:center;cursor:pointer;&:hover{background-color:", " !important;", "{background-color:", " !important;}}&:disabled{cursor:not-allowed;background-color:#f2f2f2 !important;opacity:0.6;}"], BLUE_IA_COLORS[50], StyledMAIAStopIcon, BLUE_IA_COLORS[500]);
189
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJrZXlmcmFtZXMiLCJjb2xvcnMiLCJCTFVFX0lBX0NPTE9SUyIsIk1BSUFfQ0hBVF9JTlBVVF9VSSIsInNjcm9sbGFibGVTdHlsZXMiLCJDbGVhckJ1dHRvbiIsIk1BSUFfSU5QVVRfQ0hJUFNfQ09OVEVOVF9HQVBfUFgiLCJNQUlBX0lOUFVUX0lOVEVSTkFMX0dBUF9QWCIsIk1BSUFfSU5QVVRfV1JBUFBFUl9NQVhfSEVJR0hUX1BYIiwiZmxvdyIsImFjdGl2ZVRvb2xDaGlwQ2xvc2VJY29uSW4iLCJhY3RpdmVUb29sQ2hpcE91dCIsImN1c3RvbUlucHV0U3R5bGVzIiwiU3R5bGVkTUFJQUlucHV0V3JhcHBlciIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiX3JlZiIsImRpc2FibGVkIiwidGV4dCIsIl9yZWYyIiwiJHVzYWdlQmxvY2tlZCIsIl9yZWYzIiwiX3JlZjQiLCJoYXNBdHRhY2htZW50cyIsIl9yZWY1IiwiJGZpbGVEcmFnQWN0aXZlIiwiU3R5bGVkTUFJQURyb3BPdmVybGF5IiwiU3R5bGVkTUFJQU1haW5Ub29sYmFyR3JpZCIsIlNDSW5wdXRFZGl0b3JDZWxsIiwiU0NJbnB1dENoaXBzUm93IiwiU0NJbnB1dFRvb2xiYXJSb3ciLCJTdHlsZWRNQUlBUGx1c1Rvb2xiYXJDZWxsIiwiU3R5bGVkTUFJQVNlbmRUb29sYmFyQ2VsbCIsIlNDSW5wdXRNZXRhSW5kaWNhdG9ycyIsIlNDSW5wdXRNZXRhSWNvbkJ1dHRvbiIsInNwYW4iLCJ3aGl0ZSIsIm1haW4iLCJTdHlsZWRNQUlBSW5wdXQiLCJ0ZXh0YXJlYSIsInNlY29uZGFyeSIsIlN0eWxlZE1BSUFTZW5kQnV0dG9uIiwiX3JlZjYiLCJoYXNWYWx1ZXMiLCJjb25jYXQiLCJfcmVmNyIsIl9yZWY4IiwiU0NNSVdyYXBwZXJBdHRhY2htZW50cyIsIlNDTUlBdHRhY2htZW50IiwiU0NNSUF0dGFjaG1lbnRJY29uIiwiU0NNSUF0dGFjaG1lbnRGaWxlSWNvbiIsIlNDTUlBdHRhY2htZW50RGVsZXRlSWNvbiIsImJ1dHRvbiIsIlNDTUlBdHRhY2htZW50TmFtZSIsIlBsdXNNZW51VG9vbHNSb3ciLCJQbHVzVG9nZ2xlQnV0dG9uIiwiX3JlZjkiLCIkbWVudU9wZW4iLCJQbHVzTWVudVBhcGVyIiwiZ3JheSIsImxpZ2h0IiwiUGx1c01lbnVJbm5lckNvbHVtbiIsIlBsdXNNZW51RGl2aWRlciIsIlBsdXNNZW51SXRlbUJ1dHRvbiIsImJhY2tncm91bmQiLCJQbHVzTWVudUl0ZW1MYWJlbCIsIm1lbnVJY29uIiwiQWN0aXZlVG9vbENoaXBSb290IiwiX3JlZjAiLCIkaG92ZXJlZCIsIl9yZWYxIiwiY2hpcFN1cmZhY2VIb3ZlciIsIl9yZWYxMCIsIl9yZWYxMSIsIiRleGl0aW5nIiwiQWN0aXZlVG9vbENoaXBJY29uQnV0dG9uIiwiX3JlZjEyIiwiJGNsb3NlU2hvd24iLCJfcmVmMTMiLCJBY3RpdmVUb29sQ2hpcExhYmVsIiwicHJpbWFyeSIsInN0b3BQdWxzZSIsIlN0eWxlZE1BSUFTdG9wSWNvbiIsIlN0eWxlZE1BSUFTdG9wQnV0dG9uIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvYXRvbXMvTUFJQUlucHV0L3N0eWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvaW5kZW50ICovXG5pbXBvcnQgc3R5bGVkLCB7IGNzcywga2V5ZnJhbWVzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5pbXBvcnQgY29sb3JzIGZyb20gJ0Bwcm9qZWN0Y29yL3RoZW1lL2xpYi9iYXNlL2NvbG9ycydcbmltcG9ydCB7IEJMVUVfSUFfQ09MT1JTLCBNQUlBX0NIQVRfSU5QVVRfVUkgfSBmcm9tICcuLi8uLi8uLi9zdHlsZXMvY29uZmlnJ1xuaW1wb3J0IHsgc2Nyb2xsYWJsZVN0eWxlcyB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy9zaGFyZWQvc2Nyb2xsYWJsZSdcbmltcG9ydCB7IENsZWFyQnV0dG9uIH0gZnJvbSAnLi4vQ2xlYXJCdXR0b24nXG5pbXBvcnQge1xuICBNQUlBX0lOUFVUX0NISVBTX0NPTlRFTlRfR0FQX1BYLFxuICBNQUlBX0lOUFVUX0lOVEVSTkFMX0dBUF9QWCxcbiAgTUFJQV9JTlBVVF9XUkFQUEVSX01BWF9IRUlHSFRfUFgsXG59IGZyb20gJy4vbWFpYUlucHV0TGF5b3V0J1xuXG5leHBvcnQgY29uc3QgZmxvdyA9IGtleWZyYW1lc2BcbiAgMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246XG4gICAgICAwJSAwJSxcbiAgICAgIDAlIDUwJTtcbiAgfVxuICA1MCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246XG4gICAgICAwJSAwJSxcbiAgICAgIDEwMCUgNTAlO1xuICB9XG4gIDEwMCUge1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246XG4gICAgICAwJSAwJSxcbiAgICAgIDAlIDUwJTtcbiAgfVxuYFxuXG5jb25zdCBhY3RpdmVUb29sQ2hpcENsb3NlSWNvbkluID0ga2V5ZnJhbWVzYFxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwLjU1O1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC44Mik7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgfVxuYFxuXG5jb25zdCBhY3RpdmVUb29sQ2hpcE91dCA9IGtleWZyYW1lc2BcbiAgZnJvbSB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpIHRyYW5zbGF0ZVkoMCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkyKSB0cmFuc2xhdGVZKDNweCk7XG4gIH1cbmBcblxuY29uc3QgY3VzdG9tSW5wdXRTdHlsZXMgPSBjc3NgXG4gIG91dGxpbmU6IG5vbmU7XG4gIGJhY2tncm91bmQ6XG4gICAgbGluZWFyLWdyYWRpZW50KHdoaXRlLCB3aGl0ZSkgcGFkZGluZy1ib3gsXG4gICAgbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjNGQzNTY5IDAlLCAjODc0MGJmIDU5LjYyJSwgIzJkNzdiZCAxMDAlKSBib3JkZXItYm94O1xuICBib3JkZXI6IDFweCBzb2xpZCB0cmFuc3BhcmVudDtcbiAgYmFja2dyb3VuZC1zaXplOlxuICAgIDEwMCUgMTAwJSxcbiAgICAyMDAlIDEwMCU7XG4gIGFuaW1hdGlvbjogJHtmbG93fSAzcyBlYXNlIGluZmluaXRlO1xuICBib3gtc2hhZG93OlxuICAgIDNweCA0cHggMTRweCAwIHJnYmEoMTM1LCA2NCwgMTkxLCAwLjE1KSxcbiAgICAtM3B4IC00cHggMTRweCAwIHJnYmEoNDUsIDExOSwgMTg5LCAwLjE1KTtcbmBcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1BSUFJbnB1dFdyYXBwZXIgPSBzdHlsZWQuZGl2PHtcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gICR1c2FnZUJsb2NrZWQ/OiBib29sZWFuXG4gIGFsaWduQnV0dG9ucz86ICdob3Jpem9udGFsJyB8ICd2ZXJ0aWNhbCdcbiAgaGFzQXR0YWNobWVudHM6IGJvb2xlYW5cbiAgLyoqIEVzdGFkbyBpbmljaWFsOiB0b29sYmFyIGVuIHVuYSBzb2xhIGzDrW5lYSBzaW4gYWRqdW50b3MgbmkgdG9vbHMgZGVsICsgbmkgbXVsdGlsaW5lICovXG4gIGNvbXBhY3RTaW5nbGVSb3dUb29sYmFyPzogYm9vbGVhblxuICAkZmlsZURyYWdBY3RpdmU/OiBib29sZWFuXG59PmBcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICB3aWR0aDogMTAwJTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICB0cmFuc2l0aW9uOlxuICAgIGJvcmRlci1jb2xvciAwLjJzIGVhc2UsXG4gICAgYm94LXNoYWRvdyAwLjJzIGVhc2U7XG4gIHBhZGRpbmc6IDhweDtcbiAgY3Vyc29yOiAkeyh7IGRpc2FibGVkIH0pID0+IChkaXNhYmxlZCA/ICdub3QtYWxsb3dlZCcgOiAnYXV0bycpfTtcbiAgZGlzcGxheTogZmxleDtcbiAgbWluLWhlaWdodDogNThweDtcbiAgbWF4LWhlaWdodDogJHtNQUlBX0lOUFVUX1dSQVBQRVJfTUFYX0hFSUdIVF9QWH1weDtcbiAgZ2FwOiAke01BSUFfSU5QVVRfQ0hJUFNfQ09OVEVOVF9HQVBfUFh9cHg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gIGJvcmRlcjogMXB4IHNvbGlkICR7Y29sb3JzLnRleHQuZGlzYWJsZWR9O1xuICBib3gtc2hhZG93OiBub25lO1xuXG4gICR7KHsgJHVzYWdlQmxvY2tlZCB9KSA9PlxuICAgICR1c2FnZUJsb2NrZWQgJiZcbiAgICBjc3NgXG4gICAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgICB6LWluZGV4OiAxO1xuICAgICAgYm9yZGVyLWNvbG9yOiAjYjNiM2IzO1xuICAgICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcblxuICAgICAgJjpmb2N1cy13aXRoaW4ge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAjYjNiM2IzO1xuICAgICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgICB9XG4gICAgYH1cblxuICAmOmZvY3VzLXdpdGhpbiB7XG4gICAgJHsoeyAkdXNhZ2VCbG9ja2VkIH0pID0+XG4gICAgICAhJHVzYWdlQmxvY2tlZCAmJlxuICAgICAgY3NzYFxuICAgICAgICAke2N1c3RvbUlucHV0U3R5bGVzfVxuICAgICAgYH1cbiAgfVxuXG4gICR7KHsgaGFzQXR0YWNobWVudHMsICR1c2FnZUJsb2NrZWQgfSkgPT5cbiAgICBoYXNBdHRhY2htZW50cyAmJlxuICAgICEkdXNhZ2VCbG9ja2VkICYmXG4gICAgY3NzYFxuICAgICAgJHtjdXN0b21JbnB1dFN0eWxlc31cbiAgICBgfVxuXG4gICR7KHsgJGZpbGVEcmFnQWN0aXZlIH0pID0+XG4gICAgJGZpbGVEcmFnQWN0aXZlICYmXG4gICAgY3NzYFxuICAgICAgYm9yZGVyOiAxcHggZGFzaGVkICR7QkxVRV9JQV9DT0xPUlNbNTAwXX07XG4gICAgICBiYWNrZ3JvdW5kOiByZ2JhKDQ1LCAxMTksIDE4OSwgMC4wNik7XG4gICAgICBib3gtc2hhZG93OiBub25lO1xuICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgIGB9XG5gXG5cbmV4cG9ydCBjb25zdCBTdHlsZWRNQUlBRHJvcE92ZXJsYXkgPSBzdHlsZWQuZGl2YFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICB6LWluZGV4OiAyO1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA1MDA7XG4gIGNvbG9yOiAke0JMVUVfSUFfQ09MT1JTWzcwMF19O1xuICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMnB4KTtcbiAgLXdlYmtpdC1iYWNrZHJvcC1maWx0ZXI6IGJsdXIoMnB4KTtcbiAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpO1xuYFxuXG4vKiogVG9vbGJhciBmaWphIGVuIDIgZmlsYXM6IGlucHV0IGFycmliYSwgKyAvIHNlbmQgYWJham8gKHRvb2xiYXIgbm8gc2Nyb2xsZWEpLiAqL1xuZXhwb3J0IGNvbnN0IFN0eWxlZE1BSUFNYWluVG9vbGJhckdyaWQgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBncmlkO1xuICB3aWR0aDogMTAwJTtcbiAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIDFmciBhdXRvO1xuICBncmlkLXRlbXBsYXRlLXJvd3M6IG1pbm1heCgwLCBhdXRvKSBhdXRvO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgcm93LWdhcDogJHtNQUlBX0lOUFVUX0lOVEVSTkFMX0dBUF9QWH1weDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgZmxleDogMSAxIGF1dG87XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIG1heC1oZWlnaHQ6IDEwMCU7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5gXG5cbi8qKiBDZWxkYSBkZWwgZWRpdG9yIChlbCBzY3JvbGwgdml2ZSBlbiBlbCBjb250ZW50ZWRpdGFibGUpLiAqL1xuZXhwb3J0IGNvbnN0IFNDSW5wdXRFZGl0b3JDZWxsID0gc3R5bGVkLmRpdmBcbiAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgZ3JpZC1yb3c6IDE7XG4gIG1pbi13aWR0aDogMDtcbiAgbWluLWhlaWdodDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbmBcblxuLyoqIEZpbGEgY29tcGFydGlkYTogY2hpcCBkZSBjb250ZXh0byArIGNoaXBzIGRlIGF0dGFjaG1lbnRzICh3cmFwKS4gKi9cbmV4cG9ydCBjb25zdCBTQ0lucHV0Q2hpcHNSb3cgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgYWxpZ24tY29udGVudDogZmxleC1zdGFydDtcbiAgZ2FwOiA0cHg7XG4gIGFsaWduLXNlbGY6IHN0cmV0Y2g7XG4gIGZsZXgtd3JhcDogd3JhcDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIG1pbi13aWR0aDogMDtcbiAgcGFkZGluZy1sZWZ0OiA0cHg7XG5gXG5cbi8qKiBGaWxhIGluZmVyaW9yIGRlIGJvdG9uZXM6IHNpZW1wcmUgdmlzaWJsZSwgbnVuY2Egc2Nyb2xsZWEgY29uIGVsIHRleHRvLiAqL1xuZXhwb3J0IGNvbnN0IFNDSW5wdXRUb29sYmFyUm93ID0gc3R5bGVkLmRpdmBcbiAgZ3JpZC1jb2x1bW46IDEgLyAtMTtcbiAgZ3JpZC1yb3c6IDI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgZ2FwOiA4cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBmbGV4LXNocmluazogMDtcbiAgbWluLWhlaWdodDogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1BSUFQbHVzVG9vbGJhckNlbGwgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LXNlbGY6IHN0YXJ0O1xuICBmbGV4LXNocmluazogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1BSUFTZW5kVG9vbGJhckNlbGwgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAganVzdGlmeS1zZWxmOiBlbmQ7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtYXJnaW4tbGVmdDogYXV0bztcbmBcblxuLyoqIEluZGljYWRvcmVzIGEgbGEgaXpxdWllcmRhIGRlbCBzZW5kIChhY2Nlc28gQ09SIC8gbW9kZWxvKSBwYXJhIGFnZW50ZXMgY3VzdG9tLiAqL1xuZXhwb3J0IGNvbnN0IFNDSW5wdXRNZXRhSW5kaWNhdG9ycyA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBmbGV4LXNocmluazogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDSW5wdXRNZXRhSWNvbkJ1dHRvbiA9IHN0eWxlZC5zcGFuYFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMzBweDtcbiAgaGVpZ2h0OiAzMHB4O1xuICBwYWRkaW5nOiAwO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYmFja2dyb3VuZDogJHtjb2xvcnMud2hpdGUubWFpbn07XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGN1cnNvcjogZGVmYXVsdDtcbmBcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1BSUFJbnB1dCA9IHN0eWxlZC50ZXh0YXJlYTx7XG4gIGFsaWduQnV0dG9ucz86ICd2ZXJ0aWNhbCcgfCAnaG9yaXpvbnRhbCdcbiAgJHRvb2xiYXJMYXlvdXRWYXJpYW50PzogJ3N0YWNrZWRSb3dzJ1xufT5gXG4gICR7c2Nyb2xsYWJsZVN0eWxlc31cbiAgd2lkdGg6IDEwMCU7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgcGFkZGluZzogMDtcbiAgcmVzaXplOiBub25lO1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXI6IG5vbmU7XG4gIG91dGxpbmU6IG5vbmU7XG4gIG1pbi1oZWlnaHQ6IDIwcHg7XG4gIG1heC1oZWlnaHQ6IDE3MHB4O1xuICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICBncmlkLXJvdzogMTtcbiAgbWluLXdpZHRoOiAwO1xuICBsaW5lLWhlaWdodDogMjBweDtcblxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICB9XG5cbiAgJjpmb2N1cyB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuXG4gICY6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogJHtjb2xvcnMudGV4dC5zZWNvbmRhcnl9O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgbGV0dGVyLXNwYWNpbmc6IC0wLjIxcHg7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1BSUFTZW5kQnV0dG9uID0gc3R5bGVkKENsZWFyQnV0dG9uKTx7IGhhc1ZhbHVlcz86IGJvb2xlYW4gfT5gXG4gIGJhY2tncm91bmQtY29sb3I6ICR7KHsgaGFzVmFsdWVzIH0pID0+IChoYXNWYWx1ZXMgPyBgJHtCTFVFX0lBX0NPTE9SU1s1MDBdfWAgOiAnI2YyZjJmMicpfTtcbiAgaGVpZ2h0OiAzMHB4O1xuICB3aWR0aDogMzBweDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBkaXNwbGF5OiBmbGV4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG5cbiAgc3ZnIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICAgICR7KHsgaGFzVmFsdWVzIH0pID0+XG4gICAgICBoYXNWYWx1ZXMgJiZcbiAgICAgIGNzc2BcbiAgICAgICAgcGF0aCB7XG4gICAgICAgICAgc3Ryb2tlOiB3aGl0ZSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICBgfVxuICB9XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogJHtCTFVFX0lBX0NPTE9SU1s3MDBdfSAhaW1wb3J0YW50O1xuICB9XG5cbiAgJjphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45KTtcbiAgICBzdmcge1xuICAgICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbiAgICAgIHBhdGgge1xuICAgICAgICBzdHJva2U6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcblxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMmYyZjIgIWltcG9ydGFudDtcblxuICAgICR7KHsgaGFzVmFsdWVzIH0pID0+XG4gICAgICAhaGFzVmFsdWVzICYmXG4gICAgICBjc3NgXG4gICAgICAgIHN2ZyBwYXRoIHtcbiAgICAgICAgICBzdHJva2U6ICR7Y29sb3JzLnRleHQuZGlzYWJsZWR9ICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIGB9XG5cbiAgICAmOmhvdmVyIHtcbiAgICAgIHN2ZyB7XG4gICAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICAgIH1cbiAgICB9XG5cbiAgICAmOmFjdGl2ZSB7XG4gICAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgfVxuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01JV3JhcHBlckF0dGFjaG1lbnRzID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiAxMnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuYFxuXG5leHBvcnQgY29uc3QgU0NNSUF0dGFjaG1lbnQgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGhlaWdodDogMjRweDtcbiAgbWF4LXdpZHRoOiAxMThweDtcbiAgcGFkZGluZzogNnB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDJweDtcbiAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgYmFja2dyb3VuZDogI2Y5ZjlmOTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgbWluLXdpZHRoOiAwO1xuICBjdXJzb3I6IGRlZmF1bHQ7XG4gIHRyYW5zaXRpb246IGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xuXG4gICY6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDTUlBdHRhY2htZW50SWNvbiA9IHN0eWxlZC5zcGFuYFxuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxNHB4O1xuICBoZWlnaHQ6IDE0cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcblxuICBzdmcsXG4gIGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDTUlBdHRhY2htZW50RmlsZUljb24gPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xuXG4gIHN2ZyB7XG4gICAgd2lkdGg6IDEzcHg7XG4gICAgaGVpZ2h0OiAxM3B4O1xuICB9XG5cbiAgJHtTQ01JQXR0YWNobWVudH06aG92ZXIgJiB7XG4gICAgb3BhY2l0eTogMDtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NNSUF0dGFjaG1lbnREZWxldGVJY29uID0gc3R5bGVkLmJ1dHRvbmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBpbnNldDogMDtcbiAgei1pbmRleDogMTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDEwMCU7XG4gIGhlaWdodDogMTAwJTtcbiAgcGFkZGluZzogMDtcbiAgbWFyZ2luOiAwO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgYm9yZGVyOiBub25lO1xuICBib3JkZXItcmFkaXVzOiA1MCU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBjb2xvcjogIzY2NjY2NjtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIG9wYWNpdHk6IDA7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xuXG4gIHN2ZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZTtcbiAgfVxuXG4gICR7U0NNSUF0dGFjaG1lbnR9OmhvdmVyICYge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG4gIH1cblxuICAmOmhvdmVyIHN2ZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA2KTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NNSUF0dGFjaG1lbnROYW1lID0gc3R5bGVkLnNwYW5gXG4gIGZsZXg6IDEgMSBhdXRvO1xuICBtaW4td2lkdGg6IDA7XG4gIG92ZXJmbG93OiBoaWRkZW47XG4gIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICBjb2xvcjogIzY2NjY2NjtcbiAgZm9udC1mYW1pbHk6ICdXb3JrIFNhbnMnLCBzYW5zLXNlcmlmO1xuICBmb250LXNpemU6IDEycHg7XG4gIGZvbnQtc3R5bGU6IG5vcm1hbDtcbiAgZm9udC13ZWlnaHQ6IDQwMDtcbiAgbGluZS1oZWlnaHQ6IDE2cHg7XG4gIGxldHRlci1zcGFjaW5nOiAwO1xuYFxuXG5leHBvcnQgY29uc3QgUGx1c01lbnVUb29sc1JvdyA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuYFxuXG5leHBvcnQgY29uc3QgUGx1c1RvZ2dsZUJ1dHRvbiA9IHN0eWxlZC5idXR0b248eyAkbWVudU9wZW46IGJvb2xlYW4gfT5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAzMnB4O1xuICBoZWlnaHQ6IDMycHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgYmFja2dyb3VuZDogJHsoeyAkbWVudU9wZW4gfSkgPT4gKCRtZW51T3BlbiA/ICcjZjJmMmYyJyA6IGNvbG9ycy53aGl0ZS5tYWluKX07XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmxleC1zaHJpbms6IDA7XG5cbiAgJjpob3Zlcjpub3QoOmRpc2FibGVkKSxcbiAgJjpmb2N1cy12aXNpYmxlOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjJmMmYyO1xuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBvcGFjaXR5OiAwLjU7XG4gIH1cblxuICAmOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFBsdXNNZW51UGFwZXIgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgd2lkdGg6IDIwOXB4O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwYWRkaW5nOiAxMnB4IDhweDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBib3JkZXI6IDFweCBzb2xpZCAke2NvbG9ycy5jb2xvcnMuZ3JheS5saWdodH07XG4gIGJhY2tncm91bmQ6ICR7Y29sb3JzLndoaXRlLm1haW59O1xuICBib3gtc2hhZG93OlxuICAgIDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMDgpLFxuICAgIDAgMXB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMDQpO1xuYFxuXG5leHBvcnQgY29uc3QgUGx1c01lbnVJbm5lckNvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDRweDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbmBcblxuZXhwb3J0IGNvbnN0IFBsdXNNZW51RGl2aWRlciA9IHN0eWxlZC5kaXZgXG4gIHdpZHRoOiAxNzBweDtcbiAgaGVpZ2h0OiAxcHg7XG4gIGJhY2tncm91bmQ6ICR7Y29sb3JzLmNvbG9ycy5ncmF5LmxpZ2h0fTtcbiAgZmxleC1zaHJpbms6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBQbHVzTWVudUl0ZW1CdXR0b24gPSBzdHlsZWQuYnV0dG9uYFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgcGFkZGluZzogOHB4O1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBnYXA6IDhweDtcbiAgYm9yZGVyOiBub25lO1xuICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgYm9yZGVyLXJhZGl1czogNHB4O1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICB0ZXh0LWFsaWduOiBsZWZ0O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuXG4gICY6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6ICR7Y29sb3JzLmJhY2tncm91bmQuc2Vjb25kYXJ5fTtcbiAgfVxuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgb3BhY2l0eTogMC41O1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgJHtCTFVFX0lBX0NPTE9SU1s1MDBdfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgUGx1c01lbnVJdGVtTGFiZWwgPSBzdHlsZWQuc3BhbmBcbiAgZmxleDogMTtcbiAgbWluLXdpZHRoOiAwO1xuICBjb2xvcjogJHtNQUlBX0NIQVRfSU5QVVRfVUkubWVudUljb259O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuYFxuXG5leHBvcnQgY29uc3QgQWN0aXZlVG9vbENoaXBSb290ID0gc3R5bGVkLmRpdjx7ICRob3ZlcmVkOiBib29sZWFuOyAkZXhpdGluZzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgbWF4LXdpZHRoOiAxNDRweDtcbiAgcGFkZGluZzogNHB4IDhweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAycHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYm9yZGVyLXJhZGl1czogJHsoeyAkaG92ZXJlZCB9KSA9PiAoJGhvdmVyZWQgPyAnMTZweCcgOiAnMCcpfTtcbiAgYmFja2dyb3VuZDogJHsoeyAkaG92ZXJlZCB9KSA9PiAoJGhvdmVyZWQgPyBNQUlBX0NIQVRfSU5QVVRfVUkuY2hpcFN1cmZhY2VIb3ZlciA6ICd0cmFuc3BhcmVudCcpfTtcbiAgYm94LXNoYWRvdzogJHsoeyAkaG92ZXJlZCB9KSA9PiAoJGhvdmVyZWQgPyAnMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4wNyknIDogJ25vbmUnKX07XG4gIHRyYW5zaXRpb246XG4gICAgYmFja2dyb3VuZC1jb2xvciAwLjIycyBlYXNlLFxuICAgIGJvcmRlci1yYWRpdXMgMC4yMnMgZWFzZSxcbiAgICBib3gtc2hhZG93IDAuMjJzIGVhc2U7XG5cbiAgJHsoeyAkZXhpdGluZyB9KSA9PlxuICAgICRleGl0aW5nICYmXG4gICAgY3NzYFxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBhbmltYXRpb246ICR7YWN0aXZlVG9vbENoaXBPdXR9IDAuMjJzIGVhc2UgZm9yd2FyZHM7XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IEFjdGl2ZVRvb2xDaGlwSWNvbkJ1dHRvbiA9IHN0eWxlZC5idXR0b248eyAkY2xvc2VTaG93bjogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG5cbiAgc3ZnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICR7KHsgJGNsb3NlU2hvd24gfSkgPT5cbiAgICAkY2xvc2VTaG93biAmJlxuICAgIGNzc2BcbiAgICAgIHN2ZyB7XG4gICAgICAgIGFuaW1hdGlvbjogJHthY3RpdmVUb29sQ2hpcENsb3NlSWNvbklufSAwLjI0cyBlYXNlIGZvcndhcmRzO1xuICAgICAgfVxuICAgIGB9XG5cbiAgLyogU2NhbGUgc29sbyBjb24gbGEgY3J1eiB2aXNpYmxlIHkgaG92ZXIgc29icmUgZWxsYSAobm8gc29icmUgZWwgY2hpcC9pY29ubyBkZSB0b29sKSAqL1xuICAmOmhvdmVyIHtcbiAgICAkeyh7ICRjbG9zZVNob3duIH0pID0+XG4gICAgICAkY2xvc2VTaG93biAmJlxuICAgICAgY3NzYFxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDYpO1xuICAgICAgYH1cbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkICR7QkxVRV9JQV9DT0xPUlNbNTAwXX07XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgQWN0aXZlVG9vbENoaXBMYWJlbCA9IHN0eWxlZC5zcGFuYFxuICBjb2xvcjogJHtjb2xvcnMudGV4dC5wcmltYXJ5fTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG5gXG5jb25zdCBzdG9wUHVsc2UgPSBrZXlmcmFtZXNgXG4gIDAlLFxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICB9XG5gXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQVN0b3BJY29uID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEzcHg7XG4gIGhlaWdodDogMTNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhjOGM4YztcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBhbmltYXRpb246ICR7c3RvcFB1bHNlfSAxLjZzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuYFxuZXhwb3J0IGNvbnN0IFN0eWxlZE1BSUFTdG9wQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBmb250OiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke0JMVUVfSUFfQ09MT1JTWzUwXX0gIWltcG9ydGFudDtcblxuICAgICR7U3R5bGVkTUFJQVN0b3BJY29ufSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke0JMVUVfSUFfQ09MT1JTWzUwMF19ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMC42O1xuICB9XG5gXG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0EsT0FBT0EsTUFBTSxJQUFJQyxHQUFHLEVBQUVDLFNBQVMs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
182
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJrZXlmcmFtZXMiLCJjb2xvcnMiLCJCTFVFX0lBX0NPTE9SUyIsIk1BSUFfQ0hBVF9JTlBVVF9VSSIsInNjcm9sbGFibGVTdHlsZXMiLCJDbGVhckJ1dHRvbiIsIk1BSUFfSU5QVVRfQ0hJUFNfQ09OVEVOVF9HQVBfUFgiLCJNQUlBX0lOUFVUX0lOVEVSTkFMX0dBUF9QWCIsIk1BSUFfSU5QVVRfV1JBUFBFUl9NQVhfSEVJR0hUX1BYIiwiZmxvdyIsImFjdGl2ZVRvb2xDaGlwQ2xvc2VJY29uSW4iLCJhY3RpdmVUb29sQ2hpcE91dCIsImN1c3RvbUlucHV0U3R5bGVzIiwiU3R5bGVkTUFJQUlucHV0V3JhcHBlciIsImRpdiIsIndpdGhDb25maWciLCJkaXNwbGF5TmFtZSIsImNvbXBvbmVudElkIiwiX3JlZiIsImRpc2FibGVkIiwidGV4dCIsIl9yZWYyIiwiaGFzQXR0YWNobWVudHMiLCJfcmVmMyIsIiRmaWxlRHJhZ0FjdGl2ZSIsIlN0eWxlZE1BSUFEcm9wT3ZlcmxheSIsIlN0eWxlZE1BSUFNYWluVG9vbGJhckdyaWQiLCJTQ0lucHV0RWRpdG9yQ2VsbCIsIlNDSW5wdXRDaGlwc1JvdyIsIlNDSW5wdXRUb29sYmFyUm93IiwiU3R5bGVkTUFJQVBsdXNUb29sYmFyQ2VsbCIsIlN0eWxlZE1BSUFTZW5kVG9vbGJhckNlbGwiLCJTQ0lucHV0TWV0YUluZGljYXRvcnMiLCJTQ0lucHV0TWV0YUljb25CdXR0b24iLCJzcGFuIiwid2hpdGUiLCJtYWluIiwiU3R5bGVkTUFJQUlucHV0IiwidGV4dGFyZWEiLCJzZWNvbmRhcnkiLCJTdHlsZWRNQUlBU2VuZEJ1dHRvbiIsIl9yZWY0IiwiaGFzVmFsdWVzIiwiY29uY2F0IiwiX3JlZjUiLCJfcmVmNiIsIlNDTUlXcmFwcGVyQXR0YWNobWVudHMiLCJTQ01JQXR0YWNobWVudCIsIlNDTUlBdHRhY2htZW50SWNvbiIsIlNDTUlBdHRhY2htZW50RmlsZUljb24iLCJTQ01JQXR0YWNobWVudERlbGV0ZUljb24iLCJidXR0b24iLCJTQ01JQXR0YWNobWVudE5hbWUiLCJQbHVzTWVudVRvb2xzUm93IiwiUGx1c1RvZ2dsZUJ1dHRvbiIsIl9yZWY3IiwiJG1lbnVPcGVuIiwiUGx1c01lbnVQYXBlciIsImdyYXkiLCJsaWdodCIsIlBsdXNNZW51SW5uZXJDb2x1bW4iLCJQbHVzTWVudURpdmlkZXIiLCJQbHVzTWVudUl0ZW1CdXR0b24iLCJiYWNrZ3JvdW5kIiwiUGx1c01lbnVJdGVtTGFiZWwiLCJtZW51SWNvbiIsIkFjdGl2ZVRvb2xDaGlwUm9vdCIsIl9yZWY4IiwiJGhvdmVyZWQiLCJfcmVmOSIsImNoaXBTdXJmYWNlSG92ZXIiLCJfcmVmMCIsIl9yZWYxIiwiJGV4aXRpbmciLCJBY3RpdmVUb29sQ2hpcEljb25CdXR0b24iLCJfcmVmMTAiLCIkY2xvc2VTaG93biIsIl9yZWYxMSIsIkFjdGl2ZVRvb2xDaGlwTGFiZWwiLCJwcmltYXJ5Iiwic3RvcFB1bHNlIiwiU3R5bGVkTUFJQVN0b3BJY29uIiwiU3R5bGVkTUFJQVN0b3BCdXR0b24iXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9NQUlBSW5wdXQvc3R5bGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9pbmRlbnQgKi9cbmltcG9ydCBzdHlsZWQsIHsgY3NzLCBrZXlmcmFtZXMgfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cydcbmltcG9ydCBjb2xvcnMgZnJvbSAnQHByb2plY3Rjb3IvdGhlbWUvbGliL2Jhc2UvY29sb3JzJ1xuaW1wb3J0IHsgQkxVRV9JQV9DT0xPUlMsIE1BSUFfQ0hBVF9JTlBVVF9VSSB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy9jb25maWcnXG5pbXBvcnQgeyBzY3JvbGxhYmxlU3R5bGVzIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL3NoYXJlZC9zY3JvbGxhYmxlJ1xuaW1wb3J0IHsgQ2xlYXJCdXR0b24gfSBmcm9tICcuLi9DbGVhckJ1dHRvbidcbmltcG9ydCB7XG4gIE1BSUFfSU5QVVRfQ0hJUFNfQ09OVEVOVF9HQVBfUFgsXG4gIE1BSUFfSU5QVVRfSU5URVJOQUxfR0FQX1BYLFxuICBNQUlBX0lOUFVUX1dSQVBQRVJfTUFYX0hFSUdIVF9QWCxcbn0gZnJvbSAnLi9tYWlhSW5wdXRMYXlvdXQnXG5cbmV4cG9ydCBjb25zdCBmbG93ID0ga2V5ZnJhbWVzYFxuICAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjpcbiAgICAgIDAlIDAlLFxuICAgICAgMCUgNTAlO1xuICB9XG4gIDUwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjpcbiAgICAgIDAlIDAlLFxuICAgICAgMTAwJSA1MCU7XG4gIH1cbiAgMTAwJSB7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjpcbiAgICAgIDAlIDAlLFxuICAgICAgMCUgNTAlO1xuICB9XG5gXG5cbmNvbnN0IGFjdGl2ZVRvb2xDaGlwQ2xvc2VJY29uSW4gPSBrZXlmcmFtZXNgXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDAuNTU7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgyKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG5gXG5cbmNvbnN0IGFjdGl2ZVRvb2xDaGlwT3V0ID0ga2V5ZnJhbWVzYFxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMSkgdHJhbnNsYXRlWSgwKTtcbiAgfVxuICB0byB7XG4gICAgb3BhY2l0eTogMDtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTIpIHRyYW5zbGF0ZVkoM3B4KTtcbiAgfVxuYFxuXG5jb25zdCBjdXN0b21JbnB1dFN0eWxlcyA9IGNzc2BcbiAgb3V0bGluZTogbm9uZTtcbiAgYmFja2dyb3VuZDpcbiAgICBsaW5lYXItZ3JhZGllbnQod2hpdGUsIHdoaXRlKSBwYWRkaW5nLWJveCxcbiAgICBsaW5lYXItZ3JhZGllbnQoOTBkZWcsICM0ZDM1NjkgMCUsICM4NzQwYmYgNTkuNjIlLCAjMmQ3N2JkIDEwMCUpIGJvcmRlci1ib3g7XG4gIGJvcmRlcjogMXB4IHNvbGlkIHRyYW5zcGFyZW50O1xuICBiYWNrZ3JvdW5kLXNpemU6XG4gICAgMTAwJSAxMDAlLFxuICAgIDIwMCUgMTAwJTtcbiAgYW5pbWF0aW9uOiAke2Zsb3d9IDNzIGVhc2UgaW5maW5pdGU7XG4gIGJveC1zaGFkb3c6XG4gICAgM3B4IDRweCAxNHB4IDAgcmdiYSgxMzUsIDY0LCAxOTEsIDAuMTUpLFxuICAgIC0zcHggLTRweCAxNHB4IDAgcmdiYSg0NSwgMTE5LCAxODksIDAuMTUpO1xuYFxuXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQUlucHV0V3JhcHBlciA9IHN0eWxlZC5kaXY8e1xuICBkaXNhYmxlZD86IGJvb2xlYW5cbiAgYWxpZ25CdXR0b25zPzogJ2hvcml6b250YWwnIHwgJ3ZlcnRpY2FsJ1xuICBoYXNBdHRhY2htZW50czogYm9vbGVhblxuICAvKiogRXN0YWRvIGluaWNpYWw6IHRvb2xiYXIgZW4gdW5hIHNvbGEgbMOtbmVhIHNpbiBhZGp1bnRvcyBuaSB0b29scyBkZWwgKyBuaSBtdWx0aWxpbmUgKi9cbiAgY29tcGFjdFNpbmdsZVJvd1Rvb2xiYXI/OiBib29sZWFuXG4gICRmaWxlRHJhZ0FjdGl2ZT86IGJvb2xlYW5cbn0+YFxuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gIHdpZHRoOiAxMDAlO1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIHRyYW5zaXRpb246XG4gICAgYm9yZGVyLWNvbG9yIDAuMnMgZWFzZSxcbiAgICBib3gtc2hhZG93IDAuMnMgZWFzZTtcbiAgcGFkZGluZzogOHB4O1xuICBjdXJzb3I6ICR7KHsgZGlzYWJsZWQgfSkgPT4gKGRpc2FibGVkID8gJ25vdC1hbGxvd2VkJyA6ICdhdXRvJyl9O1xuICBkaXNwbGF5OiBmbGV4O1xuICBtaW4taGVpZ2h0OiA1OHB4O1xuICBtYXgtaGVpZ2h0OiAke01BSUFfSU5QVVRfV1JBUFBFUl9NQVhfSEVJR0hUX1BYfXB4O1xuICBnYXA6ICR7TUFJQV9JTlBVVF9DSElQU19DT05URU5UX0dBUF9QWH1weDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgYm9yZGVyOiAxcHggc29saWQgJHtjb2xvcnMudGV4dC5kaXNhYmxlZH07XG4gIGJveC1zaGFkb3c6IG5vbmU7XG5cbiAgJjpmb2N1cy13aXRoaW4ge1xuICAgICR7Y3VzdG9tSW5wdXRTdHlsZXN9XG4gIH1cblxuICAkeyh7IGhhc0F0dGFjaG1lbnRzIH0pID0+XG4gICAgaGFzQXR0YWNobWVudHMgJiZcbiAgICBjc3NgXG4gICAgICAke2N1c3RvbUlucHV0U3R5bGVzfVxuICAgIGB9XG5cbiAgJHsoeyAkZmlsZURyYWdBY3RpdmUgfSkgPT5cbiAgICAkZmlsZURyYWdBY3RpdmUgJiZcbiAgICBjc3NgXG4gICAgICBib3JkZXI6IDFweCBkYXNoZWQgJHtCTFVFX0lBX0NPTE9SU1s1MDBdfTtcbiAgICAgIGJhY2tncm91bmQ6IHJnYmEoNDUsIDExOSwgMTg5LCAwLjA2KTtcbiAgICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IFN0eWxlZE1BSUFEcm9wT3ZlcmxheSA9IHN0eWxlZC5kaXZgXG4gIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgaW5zZXQ6IDA7XG4gIHotaW5kZXg6IDI7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgY29sb3I6ICR7QkxVRV9JQV9DT0xPUlNbNzAwXX07XG4gIGJhY2tkcm9wLWZpbHRlcjogYmx1cigycHgpO1xuICAtd2Via2l0LWJhY2tkcm9wLWZpbHRlcjogYmx1cigycHgpO1xuICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNyk7XG5gXG5cbi8qKiBUb29sYmFyIGZpamEgZW4gMiBmaWxhczogaW5wdXQgYXJyaWJhLCArIC8gc2VuZCBhYmFqbyAodG9vbGJhciBubyBzY3JvbGxlYSkuICovXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQU1haW5Ub29sYmFyR3JpZCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGdyaWQ7XG4gIHdpZHRoOiAxMDAlO1xuICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gMWZyIGF1dG87XG4gIGdyaWQtdGVtcGxhdGUtcm93czogbWlubWF4KDAsIGF1dG8pIGF1dG87XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICByb3ctZ2FwOiAke01BSUFfSU5QVVRfSU5URVJOQUxfR0FQX1BYfXB4O1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuICBmbGV4OiAxIDEgYXV0bztcbiAgbWluLWhlaWdodDogMDtcbiAgbWF4LWhlaWdodDogMTAwJTtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbmBcblxuLyoqIENlbGRhIGRlbCBlZGl0b3IgKGVsIHNjcm9sbCB2aXZlIGVuIGVsIGNvbnRlbnRlZGl0YWJsZSkuICovXG5leHBvcnQgY29uc3QgU0NJbnB1dEVkaXRvckNlbGwgPSBzdHlsZWQuZGl2YFxuICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICBncmlkLXJvdzogMTtcbiAgbWluLXdpZHRoOiAwO1xuICBtaW4taGVpZ2h0OiAwO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuYFxuXG4vKiogRmlsYSBjb21wYXJ0aWRhOiBjaGlwIGRlIGNvbnRleHRvICsgY2hpcHMgZGUgYXR0YWNobWVudHMgKHdyYXApLiAqL1xuZXhwb3J0IGNvbnN0IFNDSW5wdXRDaGlwc1JvdyA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICBhbGlnbi1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICBnYXA6IDRweDtcbiAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgZmxleC13cmFwOiB3cmFwO1xuICBmbGV4LXNocmluazogMDtcbiAgbWluLXdpZHRoOiAwO1xuICBwYWRkaW5nLWxlZnQ6IDRweDtcbmBcblxuLyoqIEZpbGEgaW5mZXJpb3IgZGUgYm90b25lczogc2llbXByZSB2aXNpYmxlLCBudW5jYSBzY3JvbGxlYSBjb24gZWwgdGV4dG8uICovXG5leHBvcnQgY29uc3QgU0NJbnB1dFRvb2xiYXJSb3cgPSBzdHlsZWQuZGl2YFxuICBncmlkLWNvbHVtbjogMSAvIC0xO1xuICBncmlkLXJvdzogMjtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICBnYXA6IDhweDtcbiAgd2lkdGg6IDEwMCU7XG4gIGZsZXgtc2hyaW5rOiAwO1xuICBtaW4taGVpZ2h0OiAwO1xuYFxuXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQVBsdXNUb29sYmFyQ2VsbCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktc2VsZjogc3RhcnQ7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYFxuXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQVNlbmRUb29sYmFyQ2VsbCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBqdXN0aWZ5LXNlbGY6IGVuZDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIG1hcmdpbi1sZWZ0OiBhdXRvO1xuYFxuXG4vKiogSW5kaWNhZG9yZXMgYSBsYSBpenF1aWVyZGEgZGVsIHNlbmQgKGFjY2VzbyBDT1IgLyBtb2RlbG8pIHBhcmEgYWdlbnRlcyBjdXN0b20uICovXG5leHBvcnQgY29uc3QgU0NJbnB1dE1ldGFJbmRpY2F0b3JzID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG4gIGZsZXgtc2hyaW5rOiAwO1xuYFxuXG5leHBvcnQgY29uc3QgU0NJbnB1dE1ldGFJY29uQnV0dG9uID0gc3R5bGVkLnNwYW5gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAzMHB4O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBmbGV4LXNocmluazogMDtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBiYWNrZ3JvdW5kOiAke2NvbG9ycy53aGl0ZS5tYWlufTtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgY3Vyc29yOiBkZWZhdWx0O1xuYFxuXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQUlucHV0ID0gc3R5bGVkLnRleHRhcmVhPHtcbiAgYWxpZ25CdXR0b25zPzogJ3ZlcnRpY2FsJyB8ICdob3Jpem9udGFsJ1xuICAkdG9vbGJhckxheW91dFZhcmlhbnQ/OiAnc3RhY2tlZFJvd3MnXG59PmBcbiAgJHtzY3JvbGxhYmxlU3R5bGVzfVxuICB3aWR0aDogMTAwJTtcbiAgZm9udC1zaXplOiAxNHB4O1xuICBwYWRkaW5nOiAwO1xuICByZXNpemU6IG5vbmU7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGJvcmRlcjogbm9uZTtcbiAgb3V0bGluZTogbm9uZTtcbiAgbWluLWhlaWdodDogMjBweDtcbiAgbWF4LWhlaWdodDogMTcwcHg7XG4gIGdyaWQtY29sdW1uOiAxIC8gLTE7XG4gIGdyaWQtcm93OiAxO1xuICBtaW4td2lkdGg6IDA7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gIH1cblxuICAmOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICB9XG5cbiAgJjo6cGxhY2Vob2xkZXIge1xuICAgIGNvbG9yOiAke2NvbG9ycy50ZXh0LnNlY29uZGFyeX07XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbiAgICBsZXR0ZXItc3BhY2luZzogLTAuMjFweDtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQVNlbmRCdXR0b24gPSBzdHlsZWQoQ2xlYXJCdXR0b24pPHsgaGFzVmFsdWVzPzogYm9vbGVhbiB9PmBcbiAgYmFja2dyb3VuZC1jb2xvcjogJHsoeyBoYXNWYWx1ZXMgfSkgPT4gKGhhc1ZhbHVlcyA/IGAke0JMVUVfSUFfQ09MT1JTWzUwMF19YCA6ICcjZjJmMmYyJyl9O1xuICBoZWlnaHQ6IDMwcHg7XG4gIHdpZHRoOiAzMHB4O1xuICBib3JkZXItcmFkaXVzOiA4cHg7XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZTtcblxuICBzdmcge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG4gICAgJHsoeyBoYXNWYWx1ZXMgfSkgPT5cbiAgICAgIGhhc1ZhbHVlcyAmJlxuICAgICAgY3NzYFxuICAgICAgICBwYXRoIHtcbiAgICAgICAgICBzdHJva2U6IHdoaXRlICFpbXBvcnRhbnQ7XG4gICAgICAgIH1cbiAgICAgIGB9XG4gIH1cblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke0JMVUVfSUFfQ09MT1JTWzcwMF19ICFpbXBvcnRhbnQ7XG4gIH1cblxuICAmOmFjdGl2ZSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICAgIHN2ZyB7XG4gICAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICAgICAgcGF0aCB7XG4gICAgICAgIHN0cm9rZTogd2hpdGUgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuXG4gICY6ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YyZjJmMiAhaW1wb3J0YW50O1xuXG4gICAgJHsoeyBoYXNWYWx1ZXMgfSkgPT5cbiAgICAgICFoYXNWYWx1ZXMgJiZcbiAgICAgIGNzc2BcbiAgICAgICAgc3ZnIHBhdGgge1xuICAgICAgICAgIHN0cm9rZTogJHtjb2xvcnMudGV4dC5kaXNhYmxlZH0gIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgYH1cblxuICAgICY6aG92ZXIge1xuICAgICAgc3ZnIHtcbiAgICAgICAgdHJhbnNmb3JtOiBub25lO1xuICAgICAgfVxuICAgIH1cblxuICAgICY6YWN0aXZlIHtcbiAgICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICB9XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNDTUlXcmFwcGVyQXR0YWNobWVudHMgPSBzdHlsZWQuZGl2YFxuICBkaXNwbGF5OiBmbGV4O1xuICBnYXA6IDEycHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01JQXR0YWNobWVudCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgaGVpZ2h0OiAyNHB4O1xuICBtYXgtd2lkdGg6IDExOHB4O1xuICBwYWRkaW5nOiA2cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMnB4O1xuICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICBiYWNrZ3JvdW5kOiAjZjlmOWY5O1xuICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICBtaW4td2lkdGg6IDA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZC1jb2xvciAwLjJzIGVhc2U7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2YyZjJmMjtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NNSUF0dGFjaG1lbnRJY29uID0gc3R5bGVkLnNwYW5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDE0cHg7XG4gIGhlaWdodDogMTRweDtcbiAgZmxleC1zaHJpbms6IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuXG4gIHN2ZyxcbiAgaW1nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NNSUF0dGFjaG1lbnRGaWxlSWNvbiA9IHN0eWxlZC5zcGFuYFxuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBhbGlnbi1pdGVtczogY2VudGVyO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG5cbiAgc3ZnIHtcbiAgICB3aWR0aDogMTNweDtcbiAgICBoZWlnaHQ6IDEzcHg7XG4gIH1cblxuICAke1NDTUlBdHRhY2htZW50fTpob3ZlciAmIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01JQXR0YWNobWVudERlbGV0ZUljb24gPSBzdHlsZWQuYnV0dG9uYFxuICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gIGluc2V0OiAwO1xuICB6LWluZGV4OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICB3aWR0aDogMTAwJTtcbiAgaGVpZ2h0OiAxMDAlO1xuICBwYWRkaW5nOiAwO1xuICBtYXJnaW46IDA7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBib3JkZXI6IG5vbmU7XG4gIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGNvbG9yOiAjNjY2NjY2O1xuICBsaW5lLWhlaWdodDogMDtcbiAgb3BhY2l0eTogMDtcbiAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG5cbiAgc3ZnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICB9XG5cbiAgJHtTQ01JQXR0YWNobWVudH06aG92ZXIgJiB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbiAgfVxuXG4gICY6aG92ZXIgc3ZnIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDYpO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01JQXR0YWNobWVudE5hbWUgPSBzdHlsZWQuc3BhbmBcbiAgZmxleDogMSAxIGF1dG87XG4gIG1pbi13aWR0aDogMDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGNvbG9yOiAjNjY2NjY2O1xuICBmb250LWZhbWlseTogJ1dvcmsgU2FucycsIHNhbnMtc2VyaWY7XG4gIGZvbnQtc2l6ZTogMTJweDtcbiAgZm9udC1zdHlsZTogbm9ybWFsO1xuICBmb250LXdlaWdodDogNDAwO1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgbGV0dGVyLXNwYWNpbmc6IDA7XG5gXG5cbmV4cG9ydCBjb25zdCBQbHVzTWVudVRvb2xzUm93ID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiA4cHg7XG5gXG5cbmV4cG9ydCBjb25zdCBQbHVzVG9nZ2xlQnV0dG9uID0gc3R5bGVkLmJ1dHRvbjx7ICRtZW51T3BlbjogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDMycHg7XG4gIGhlaWdodDogMzJweDtcbiAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgcGFkZGluZzogMDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGJvcmRlcjogbm9uZTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBiYWNrZ3JvdW5kOiAkeyh7ICRtZW51T3BlbiB9KSA9PiAoJG1lbnVPcGVuID8gJyNmMmYyZjInIDogY29sb3JzLndoaXRlLm1haW4pfTtcbiAgY3Vyc29yOiBwb2ludGVyO1xuICBmbGV4LXNocmluazogMDtcblxuICAmOmhvdmVyOm5vdCg6ZGlzYWJsZWQpLFxuICAmOmZvY3VzLXZpc2libGU6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6ICNmMmYyZjI7XG4gIH1cblxuICAmOmRpc2FibGVkIHtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogbm9uZTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgUGx1c01lbnVQYXBlciA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICB3aWR0aDogMjA5cHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIHBhZGRpbmc6IDEycHggOHB4O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGJvcmRlcjogMXB4IHNvbGlkICR7Y29sb3JzLmNvbG9ycy5ncmF5LmxpZ2h0fTtcbiAgYmFja2dyb3VuZDogJHtjb2xvcnMud2hpdGUubWFpbn07XG4gIGJveC1zaGFkb3c6XG4gICAgMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wOCksXG4gICAgMCAxcHggNHB4IHJnYmEoMCwgMCwgMCwgMC4wNCk7XG5gXG5cbmV4cG9ydCBjb25zdCBQbHVzTWVudUlubmVyQ29sdW1uID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogNHB4O1xuICBhbGlnbi1zZWxmOiBzdHJldGNoO1xuYFxuXG5leHBvcnQgY29uc3QgUGx1c01lbnVEaXZpZGVyID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDE3MHB4O1xuICBoZWlnaHQ6IDFweDtcbiAgYmFja2dyb3VuZDogJHtjb2xvcnMuY29sb3JzLmdyYXkubGlnaHR9O1xuICBmbGV4LXNocmluazogMDtcbmBcblxuZXhwb3J0IGNvbnN0IFBsdXNNZW51SXRlbUJ1dHRvbiA9IHN0eWxlZC5idXR0b25gXG4gIGRpc3BsYXk6IGZsZXg7XG4gIHdpZHRoOiAxMDAlO1xuICBwYWRkaW5nOiA4cHg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogOHB4O1xuICBib3JkZXI6IG5vbmU7XG4gIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICBib3JkZXItcmFkaXVzOiA0cHg7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gIHRleHQtYWxpZ246IGxlZnQ7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG5cbiAgJjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogJHtjb2xvcnMuYmFja2dyb3VuZC5zZWNvbmRhcnl9O1xuICB9XG5cbiAgJjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgJHtCTFVFX0lBX0NPTE9SU1s1MDBdfTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgUGx1c01lbnVJdGVtTGFiZWwgPSBzdHlsZWQuc3BhbmBcbiAgZmxleDogMTtcbiAgbWluLXdpZHRoOiAwO1xuICBjb2xvcjogJHtNQUlBX0NIQVRfSU5QVVRfVUkubWVudUljb259O1xuICBmb250LXNpemU6IDE0cHg7XG4gIGZvbnQtd2VpZ2h0OiA0MDA7XG4gIGxpbmUtaGVpZ2h0OiAyMHB4O1xuYFxuXG5leHBvcnQgY29uc3QgQWN0aXZlVG9vbENoaXBSb290ID0gc3R5bGVkLmRpdjx7ICRob3ZlcmVkOiBib29sZWFuOyAkZXhpdGluZzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgbWF4LXdpZHRoOiAxNDRweDtcbiAgcGFkZGluZzogNHB4IDhweDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAycHg7XG4gIGJveC1zaXppbmc6IGJvcmRlci1ib3g7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgYm9yZGVyLXJhZGl1czogJHsoeyAkaG92ZXJlZCB9KSA9PiAoJGhvdmVyZWQgPyAnMTZweCcgOiAnMCcpfTtcbiAgYmFja2dyb3VuZDogJHsoeyAkaG92ZXJlZCB9KSA9PiAoJGhvdmVyZWQgPyBNQUlBX0NIQVRfSU5QVVRfVUkuY2hpcFN1cmZhY2VIb3ZlciA6ICd0cmFuc3BhcmVudCcpfTtcbiAgYm94LXNoYWRvdzogJHsoeyAkaG92ZXJlZCB9KSA9PiAoJGhvdmVyZWQgPyAnMCAxcHggM3B4IHJnYmEoMCwgMCwgMCwgMC4wNyknIDogJ25vbmUnKX07XG4gIHRyYW5zaXRpb246XG4gICAgYmFja2dyb3VuZC1jb2xvciAwLjIycyBlYXNlLFxuICAgIGJvcmRlci1yYWRpdXMgMC4yMnMgZWFzZSxcbiAgICBib3gtc2hhZG93IDAuMjJzIGVhc2U7XG5cbiAgJHsoeyAkZXhpdGluZyB9KSA9PlxuICAgICRleGl0aW5nICYmXG4gICAgY3NzYFxuICAgICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgICBhbmltYXRpb246ICR7YWN0aXZlVG9vbENoaXBPdXR9IDAuMjJzIGVhc2UgZm9yd2FyZHM7XG4gICAgYH1cbmBcblxuZXhwb3J0IGNvbnN0IEFjdGl2ZVRvb2xDaGlwSWNvbkJ1dHRvbiA9IHN0eWxlZC5idXR0b248eyAkY2xvc2VTaG93bjogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIHdpZHRoOiAyMHB4O1xuICBoZWlnaHQ6IDIwcHg7XG4gIHBhZGRpbmc6IDA7XG4gIGJvcmRlcjogbm9uZTtcbiAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbiAgZmxleC1zaHJpbms6IDA7XG4gIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG5cbiAgc3ZnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgfVxuXG4gICR7KHsgJGNsb3NlU2hvd24gfSkgPT5cbiAgICAkY2xvc2VTaG93biAmJlxuICAgIGNzc2BcbiAgICAgIHN2ZyB7XG4gICAgICAgIGFuaW1hdGlvbjogJHthY3RpdmVUb29sQ2hpcENsb3NlSWNvbklufSAwLjI0cyBlYXNlIGZvcndhcmRzO1xuICAgICAgfVxuICAgIGB9XG5cbiAgLyogU2NhbGUgc29sbyBjb24gbGEgY3J1eiB2aXNpYmxlIHkgaG92ZXIgc29icmUgZWxsYSAobm8gc29icmUgZWwgY2hpcC9pY29ubyBkZSB0b29sKSAqL1xuICAmOmhvdmVyIHtcbiAgICAkeyh7ICRjbG9zZVNob3duIH0pID0+XG4gICAgICAkY2xvc2VTaG93biAmJlxuICAgICAgY3NzYFxuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDYpO1xuICAgICAgYH1cbiAgfVxuXG4gICY6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkICR7QkxVRV9JQV9DT0xPUlNbNTAwXX07XG4gICAgb3V0bGluZS1vZmZzZXQ6IDFweDtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgQWN0aXZlVG9vbENoaXBMYWJlbCA9IHN0eWxlZC5zcGFuYFxuICBjb2xvcjogJHtjb2xvcnMudGV4dC5wcmltYXJ5fTtcbiAgZm9udC1zaXplOiAxMnB4O1xuICBsaW5lLWhlaWdodDogMTZweDtcbiAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG4gIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gIGN1cnNvcjogZGVmYXVsdDtcbiAgdXNlci1zZWxlY3Q6IG5vbmU7XG5gXG5jb25zdCBzdG9wUHVsc2UgPSBrZXlmcmFtZXNgXG4gIDAlLFxuICAxMDAlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICB9XG4gIDUwJSB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgwLjkpO1xuICB9XG5gXG5leHBvcnQgY29uc3QgU3R5bGVkTUFJQVN0b3BJY29uID0gc3R5bGVkLmRpdmBcbiAgd2lkdGg6IDEzcHg7XG4gIGhlaWdodDogMTNweDtcbiAgYmFja2dyb3VuZC1jb2xvcjogIzhjOGM4YztcbiAgYm9yZGVyLXJhZGl1czogMnB4O1xuICBhbmltYXRpb246ICR7c3RvcFB1bHNlfSAxLjZzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xuYFxuZXhwb3J0IGNvbnN0IFN0eWxlZE1BSUFTdG9wQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgYmFja2dyb3VuZDogbm9uZTtcbiAgYm9yZGVyOiBub25lO1xuICBwYWRkaW5nOiAwO1xuICBmb250OiBpbmhlcml0O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyICFpbXBvcnRhbnQ7XG4gIGhlaWdodDogMzBweDtcbiAgd2lkdGg6IDMwcHg7XG4gIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgZGlzcGxheTogZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGN1cnNvcjogcG9pbnRlcjtcblxuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke0JMVUVfSUFfQ09MT1JTWzUwXX0gIWltcG9ydGFudDtcblxuICAgICR7U3R5bGVkTUFJQVN0b3BJY29ufSB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiAke0JMVUVfSUFfQ09MT1JTWzUwMF19ICFpbXBvcnRhbnQ7XG4gICAgfVxuICB9XG5cbiAgJjpkaXNhYmxlZCB7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZjJmMmYyICFpbXBvcnRhbnQ7XG4gICAgb3BhY2l0eTogMC42O1xuICB9XG5gXG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0EsT0FBT0EsTUFBTSxJQUFJQyxHQUFHLEVBQUVDLFNBQVMsUUFBUSxtQkFBbUI7QUFDMUQsT0FBT0MsTUFBTSxNQUFNLG1DQUFtQztBQUN0RCxTQUFTQyxjQUFjLEVBQUVDLGtCQUFrQixRQUFRLHdCQUF3QjtBQUMzRSxTQUFTQyxnQkFBZ0IsUUFBUSxtQ0FBbUM7QUFDcEUsU0FBU0MsV0FBVyxRQUFRLGdCQUFnQjtBQUM1QyxTQUNFQywrQkFBK0IsRUFDL0JDLDBCQUEwQixFQUMxQkMsZ0NBQWdDLFFBQzNCLG1CQUFtQjtBQUUxQixPQUFPLElBQU1DLElBQUksR0FBR1QsU0FBUywwSEFnQjVCO0FBRUQsSUFBTVUseUJBQXlCLEdBQUdWLFNBQVMsZ0ZBUzFDO0FBRUQsSUFBTVcsaUJBQWlCLEdBQUdYLFNBQVMsMkdBU2xDO0FBRUQsSUFBTVksaUJBQWlCLEdBQUdiLEdBQUcseVVBU2RVLElBQUksQ0FJbEI7QUFFRCxPQUFPLElBQU1JLHNCQUFzQixHQUFHZixNQUFNLENBQUNnQixHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsdVZBZ0JwQyxVQUFBQyxJQUFBO0VBQUEsSUFBR0MsUUFBUSxHQUFBRCxJQUFBLENBQVJDLFFBQVE7RUFBQSxPQUFRQSxRQUFRLEdBQUcsYUFBYSxHQUFHLE1BQU07QUFBQSxDQUFDLEVBR2pEWCxnQ0FBZ0MsRUFDdkNGLCtCQUErQixFQUtsQkwsTUFBTSxD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Q0FBQyxFQUM5QyxVQUFBQyxLQUFBO0VBQUEsSUFBR0QsUUFBUSxHQUFBQyxLQUFBLENBQVJELFFBQVE7RUFBQSxPQUFRQSxRQUFRLEdBQUdqRSxrQkFBa0IsQ0FBQ21FLGdCQUFnQixHQUFHLGFBQWE7QUFBQSxDQUFDLEVBQ2xGLFVBQUFDLEtBQUE7RUFBQSxJQUFHSCxRQUFRLEdBQUFHLEtBQUEsQ0FBUkgsUUFBUTtFQUFBLE9BQVFBLFFBQVEsR0FBRywrQkFBK0IsR0FBRyxNQUFNO0FBQUEsQ0FBQyxFQU1uRixVQUFBSSxLQUFBO0VBQUEsSUFBR0MsUUFBUSxHQUFBRCxLQUFBLENBQVJDLFFBQVE7RUFBQSxPQUNYQSxRQUFRLElBQ1IxRSxHQUFHLDhEQUVZWSxpQkFBaUIsQ0FDL0I7QUFBQSxFQUNKO0FBRUQsT0FBTyxJQUFNK0Qsd0JBQXdCLEdBQUc1RSxNQUFNLENBQUNxRCxNQUFNLENBQUFwQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGdTQWlCakQsVUFBQTBELE1BQUE7RUFBQSxJQUFHQyxXQUFXLEdBQUFELE1BQUEsQ0FBWEMsV0FBVztFQUFBLE9BQ2RBLFdBQVcsSUFDWDdFLEdBQUcsK0NBRWNXLHlCQUF5QixDQUV6QztBQUFBLEdBSUMsVUFBQW1FLE1BQUE7RUFBQSxJQUFHRCxXQUFXLEdBQUFDLE1BQUEsQ0FBWEQsV0FBVztFQUFBLE9BQ2RBLFdBQVcsSUFDWDdFLEdBQUcsNEJBRUY7QUFBQSxHQUlrQkcsY0FBYyxDQUFDLEdBQUcsQ0FBQyxDQUczQztBQUVELE9BQU8sSUFBTTRFLG1CQUFtQixHQUFHaEYsTUFBTSxDQUFDb0MsSUFBSSxDQUFBbkIsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSw4SUFDbkNoQixNQUFNLENBQUNtQixJQUFJLENBQUMyRCxPQUFPLENBUTdCO0FBQ0QsSUFBTUMsU0FBUyxHQUFHaEYsU0FBUyw0REFRMUI7QUFDRCxPQUFPLElBQU1pRixrQkFBa0IsR0FBR25GLE1BQU0sQ0FBQ2dCLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxvSEFLN0IrRCxTQUFTLENBQ3ZCO0FBQ0QsT0FBTyxJQUFNRSxvQkFBb0IsR0FBR3BGLE1BQU0sQ0FBQ3FELE1BQU0sQ0FBQXBDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEsK1dBZXpCZixjQUFjLENBQUMsRUFBRSxDQUFDLEVBRXBDK0Usa0JBQWtCLEVBQ0UvRSxjQUFjLENBQUMsR0FBRyxDQUFDLENBUzVDIiwiaWdub3JlTGlzdCI6W119
@@ -0,0 +1,68 @@
1
+ import { fireEvent, renderWithProviders, screen } from '../../../test/test-utils';
2
+ import { ReasoningBlock } from './ReasoningBlock';
3
+ import { jsx as _jsx } from "react/jsx-runtime";
4
+ jest.mock('../MaiaStreamdown/MaiaStreamdown', function () {
5
+ return {
6
+ MaiaStreamdown: function MaiaStreamdown(_ref) {
7
+ var children = _ref.children;
8
+ return /*#__PURE__*/_jsx("div", {
9
+ children: children
10
+ });
11
+ }
12
+ };
13
+ });
14
+ jest.mock('../../../hooks/useEvent', function () {
15
+ return {
16
+ EVENTS: {
17
+ aiChatThinking: 'AI_CHAT_THINKING'
18
+ },
19
+ useEvent: function useEvent() {
20
+ return jest.fn();
21
+ }
22
+ };
23
+ });
24
+ describe('ReasoningBlock', function () {
25
+ it('returns null without visible steps', function () {
26
+ var _renderWithProviders = renderWithProviders(/*#__PURE__*/_jsx(ReasoningBlock, {
27
+ messageId: "m1",
28
+ trace: {
29
+ steps: [{
30
+ i: 0,
31
+ type: 'thinking',
32
+ text: '...'
33
+ }],
34
+ summary: {
35
+ stepCount: 1,
36
+ toolCount: 0
37
+ }
38
+ }
39
+ })),
40
+ container = _renderWithProviders.container;
41
+ expect(container).toBeEmptyDOMElement();
42
+ });
43
+ it('toggles the expanded trace', function () {
44
+ renderWithProviders(/*#__PURE__*/_jsx(ReasoningBlock, {
45
+ messageId: "m1",
46
+ trace: {
47
+ steps: [{
48
+ i: 0,
49
+ type: 'narration',
50
+ text: 'Revisando'
51
+ }, {
52
+ i: 1,
53
+ type: 'tool',
54
+ tool: 'edit_task'
55
+ }],
56
+ summary: {
57
+ stepCount: 2,
58
+ toolCount: 1
59
+ }
60
+ }
61
+ }));
62
+ var toggle = screen.getByRole('button');
63
+ expect(toggle).toHaveAttribute('aria-expanded', 'false');
64
+ fireEvent.click(toggle);
65
+ expect(toggle).toHaveAttribute('aria-expanded', 'true');
66
+ });
67
+ });
68
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmaXJlRXZlbnQiLCJyZW5kZXJXaXRoUHJvdmlkZXJzIiwic2NyZWVuIiwiUmVhc29uaW5nQmxvY2siLCJqc3giLCJfanN4IiwiamVzdCIsIm1vY2siLCJNYWlhU3RyZWFtZG93biIsIl9yZWYiLCJjaGlsZHJlbiIsIkVWRU5UUyIsImFpQ2hhdFRoaW5raW5nIiwidXNlRXZlbnQiLCJmbiIsImRlc2NyaWJlIiwiaXQiLCJfcmVuZGVyV2l0aFByb3ZpZGVycyIsIm1lc3NhZ2VJZCIsInRyYWNlIiwic3RlcHMiLCJpIiwidHlwZSIsInRleHQiLCJzdW1tYXJ5Iiwic3RlcENvdW50IiwidG9vbENvdW50IiwiY29udGFpbmVyIiwiZXhwZWN0IiwidG9CZUVtcHR5RE9NRWxlbWVudCIsInRvb2wiLCJ0b2dnbGUiLCJnZXRCeVJvbGUiLCJ0b0hhdmVBdHRyaWJ1dGUiLCJjbGljayJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL1JlYXNvbmluZ0Jsb2NrL1JlYXNvbmluZ0Jsb2NrLnNwZWMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpcmVFdmVudCwgcmVuZGVyV2l0aFByb3ZpZGVycywgc2NyZWVuIH0gZnJvbSAnLi4vLi4vLi4vdGVzdC90ZXN0LXV0aWxzJ1xuaW1wb3J0IHsgUmVhc29uaW5nQmxvY2sgfSBmcm9tICcuL1JlYXNvbmluZ0Jsb2NrJ1xuXG5qZXN0Lm1vY2soJy4uL01haWFTdHJlYW1kb3duL01haWFTdHJlYW1kb3duJywgKCkgPT4gKHtcbiAgTWFpYVN0cmVhbWRvd246ICh7IGNoaWxkcmVuIH06IHsgY2hpbGRyZW4/OiBzdHJpbmcgfSkgPT4gPGRpdj57Y2hpbGRyZW59PC9kaXY+LFxufSkpXG5cbmplc3QubW9jaygnLi4vLi4vLi4vaG9va3MvdXNlRXZlbnQnLCAoKSA9PiAoe1xuICBFVkVOVFM6IHsgYWlDaGF0VGhpbmtpbmc6ICdBSV9DSEFUX1RISU5LSU5HJyB9LFxuICB1c2VFdmVudDogKCkgPT4gamVzdC5mbigpLFxufSkpXG5cbmRlc2NyaWJlKCdSZWFzb25pbmdCbG9jaycsICgpID0+IHtcbiAgaXQoJ3JldHVybnMgbnVsbCB3aXRob3V0IHZpc2libGUgc3RlcHMnLCAoKSA9PiB7XG4gICAgY29uc3QgeyBjb250YWluZXIgfSA9IHJlbmRlcldpdGhQcm92aWRlcnMoXG4gICAgICA8UmVhc29uaW5nQmxvY2tcbiAgICAgICAgbWVzc2FnZUlkPVwibTFcIlxuICAgICAgICB0cmFjZT17eyBzdGVwczogW3sgaTogMCwgdHlwZTogJ3RoaW5raW5nJywgdGV4dDogJy4uLicgfV0sIHN1bW1hcnk6IHsgc3RlcENvdW50OiAxLCB0b29sQ291bnQ6IDAgfSB9fVxuICAgICAgLz5cbiAgICApXG5cbiAgICBleHBlY3QoY29udGFpbmVyKS50b0JlRW1wdHlET01FbGVtZW50KClcbiAgfSlcblxuICBpdCgndG9nZ2xlcyB0aGUgZXhwYW5kZWQgdHJhY2UnLCAoKSA9PiB7XG4gICAgcmVuZGVyV2l0aFByb3ZpZGVycyhcbiAgICAgIDxSZWFzb25pbmdCbG9ja1xuICAgICAgICBtZXNzYWdlSWQ9XCJtMVwiXG4gICAgICAgIHRyYWNlPXt7XG4gICAgICAgICAgc3RlcHM6IFtcbiAgICAgICAgICAgIHsgaTogMCwgdHlwZTogJ25hcnJhdGlvbicsIHRleHQ6ICdSZXZpc2FuZG8nIH0sXG4gICAgICAgICAgICB7IGk6IDEsIHR5cGU6ICd0b29sJywgdG9vbDogJ2VkaXRfdGFzaycgfSxcbiAgICAgICAgICBdLFxuICAgICAgICAgIHN1bW1hcnk6IHsgc3RlcENvdW50OiAyLCB0b29sQ291bnQ6IDEgfSxcbiAgICAgICAgfX1cbiAgICAgIC8+XG4gICAgKVxuXG4gICAgY29uc3QgdG9nZ2xlID0gc2NyZWVuLmdldEJ5Um9sZSgnYnV0dG9uJylcbiAgICBleHBlY3QodG9nZ2xlKS50b0hhdmVBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCAnZmFsc2UnKVxuXG4gICAgZmlyZUV2ZW50LmNsaWNrKHRvZ2dsZSlcbiAgICBleHBlY3QodG9nZ2xlKS50b0hhdmVBdHRyaWJ1dGUoJ2FyaWEtZXhwYW5kZWQnLCAndHJ1ZScpXG4gIH0pXG59KVxuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxTQUFTLEVBQUVDLG1CQUFtQixFQUFFQyxNQUFNLFFBQVEsMEJBQTBCO0FBQ2pGLFNBQVNDLGNBQWMsUUFBUSxrQkFBa0I7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFFakRDLElBQUksQ0FBQ0MsSUFBSSxDQUFDLGtDQUFrQyxFQUFFO0VBQUEsT0FBTztJQUNuREMsY0FBYyxFQUFFLFNBQWhCQSxjQUFjQSxDQUFBQyxJQUFBO01BQUEsSUFBS0MsUUFBUSxHQUFBRCxJQUFBLENBQVJDLFFBQVE7TUFBQSxvQkFBOEJMLElBQUE7UUFBQUssUUFBQSxFQUFNQTtNQUFRLENBQU0sQ0FBQztJQUFBO0VBQ2hGLENBQUM7QUFBQSxDQUFDLENBQUM7QUFFSEosSUFBSSxDQUFDQyxJQUFJLENBQUMseUJBQXlCLEVBQUU7RUFBQSxPQUFPO0lBQzFDSSxNQUFNLEVBQUU7TUFBRUMsY0FBYyxFQUFFO0lBQW1CLENBQUM7SUFDOUNDLFFBQVEsRUFBRSxTQUFWQSxRQUFRQSxDQUFBO01BQUEsT0FBUVAsSUFBSSxDQUFDUSxFQUFFLENBQUMsQ0FBQztJQUFBO0VBQzNCLENBQUM7QUFBQSxDQUFDLENBQUM7QUFFSEMsUUFBUSxDQUFDLGdCQUFnQixFQUFFLFlBQU07RUFDL0JDLEVBQUUsQ0FBQyxvQ0FBb0MsRUFBRSxZQUFNO0lBQzdDLElBQUFDLG9CQUFBLEdBQXNCaEIsbUJBQW1CLGNBQ3ZDSSxJQUFBLENBQUNGLGNBQWM7UUFDYmUsU0FBUyxFQUFDLElBQUk7UUFDZEMsS0FBSyxFQUFFO1VBQUVDLEtBQUssRUFBRSxDQUFDO1lBQUVDLENBQUMsRUFBRSxDQUFDO1lBQUVDLElBQUksRUFBRSxVQUFVO1lBQUVDLElBQUksRUFBRTtVQUFNLENBQUMsQ0FBQztVQUFFQyxPQUFPLEVBQUU7WUFBRUMsU0FBUyxFQUFFLENBQUM7WUFBRUMsU0FBUyxFQUFFO1VBQUU7UUFBRTtNQUFFLENBQ3RHLENBQ0gsQ0FBQztNQUxPQyxTQUFTLEdBQUFWLG9CQUFBLENBQVRVLFNBQVM7SUFPakJDLE1BQU0sQ0FBQ0QsU0FBUyxDQUFDLENBQUNFLG1CQUFtQixDQUFDLENBQUM7RUFDekMsQ0FBQyxDQUFDO0VBRUZiLEVBQUUsQ0FBQyw0QkFBNEIsRUFBRSxZQUFNO0lBQ3JDZixtQkFBbUIsY0FDakJJLElBQUEsQ0FBQ0YsY0FBYztNQUNiZSxTQUFTLEVBQUMsSUFBSTtNQUNkQyxLQUFLLEVBQUU7UUFDTEMsS0FBSyxFQUFFLENBQ0w7VUFBRUMsQ0FBQyxFQUFFLENBQUM7VUFBRUMsSUFBSSxFQUFFLFdBQVc7VUFBRUMsSUFBSSxFQUFFO1FBQVksQ0FBQyxFQUM5QztVQUFFRixDQUFDLEVBQUUsQ0FBQztVQUFFQyxJQUFJLEVBQUUsTUFBTTtVQUFFUSxJQUFJLEVBQUU7UUFBWSxDQUFDLENBQzFDO1FBQ0ROLE9BQU8sRUFBRTtVQUFFQyxTQUFTLEVBQUUsQ0FBQztVQUFFQyxTQUFTLEVBQUU7UUFBRTtNQUN4QztJQUFFLENBQ0gsQ0FDSCxDQUFDO0lBRUQsSUFBTUssTUFBTSxHQUFHN0IsTUFBTSxDQUFDOEIsU0FBUyxDQUFDLFFBQVEsQ0FBQztJQUN6Q0osTUFBTSxDQUFDRyxNQUFNLENBQUMsQ0FBQ0UsZUFBZSxDQUFDLGVBQWUsRUFBRSxPQUFPLENBQUM7SUFFeERqQyxTQUFTLENBQUNrQyxLQUFLLENBQUNILE1BQU0sQ0FBQztJQUN2QkgsTUFBTSxDQUFDRyxNQUFNLENBQUMsQ0FBQ0UsZUFBZSxDQUFDLGVBQWUsRUFBRSxNQUFNLENBQUM7RUFDekQsQ0FBQyxDQUFDO0FBQ0osQ0FBQyxDQUFDIiwiaWdub3JlTGlzdCI6W119