@projectcor/maia-components 2.11.109-4 → 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
@@ -81,8 +81,7 @@ export var useOrchestratorStream = function useOrchestratorStream(_ref) {
81
81
  agentName: payload.agentName,
82
82
  agentId: payload.agentId,
83
83
  isWebSearchActive: payload.isWebSearchActive,
84
- isDeepSearchActive: payload.isDeepSearchActive,
85
- isAutoApproveActive: payload.isAutoApproveActive
84
+ isDeepSearchActive: payload.isDeepSearchActive
86
85
  }, payload.projectId ? {
87
86
  projectId: payload.projectId
88
87
  } : {}), payload.attachments ? {
@@ -137,7 +136,7 @@ export var useOrchestratorStream = function useOrchestratorStream(_ref) {
137
136
  },
138
137
  onFinishStream: function onFinishStream(finishPayload) {
139
138
  var _onFinishStreamRef$cu;
140
- return (_onFinishStreamRef$cu = onFinishStreamRef.current) === null || _onFinishStreamRef$cu === void 0 ? void 0 : _onFinishStreamRef$cu.call(onFinishStreamRef, ctx, finishPayload.content, finishPayload.sources, finishPayload.memorySessionId, finishPayload.attachments, finishPayload.suggestions, finishPayload.completedAgentId, finishPayload.resolvedContext, finishPayload.reasoning);
139
+ return (_onFinishStreamRef$cu = onFinishStreamRef.current) === null || _onFinishStreamRef$cu === void 0 ? void 0 : _onFinishStreamRef$cu.call(onFinishStreamRef, ctx, finishPayload.content, finishPayload.sources, finishPayload.memorySessionId, finishPayload.attachments, finishPayload.suggestions, finishPayload.completedAgentId, finishPayload.resolvedContext);
141
140
  },
142
141
  onError: function onError(errorType, errorMessage) {
143
142
  var _onErrorRef$current;
@@ -159,11 +158,85 @@ export var useOrchestratorStream = function useOrchestratorStream(_ref) {
159
158
  return _ref2.apply(this, arguments);
160
159
  };
161
160
  }(), [t, hitlExecutionContextRef]);
161
+ var retryCompletion = useCallback(/*#__PURE__*/function () {
162
+ var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(payload) {
163
+ var sessionId, messageId, placeholderId, ctx;
164
+ return _regeneratorRuntime.wrap(function (_context2) {
165
+ while (1) switch (_context2.prev = _context2.next) {
166
+ case 0:
167
+ sessionId = payload.chatId, messageId = payload.messageId;
168
+ placeholderId = "answer-".concat(messageId, "-streaming");
169
+ ctx = {
170
+ sessionId: sessionId,
171
+ messageId: messageId,
172
+ placeholderId: placeholderId
173
+ };
174
+ return _context2.abrupt("return", sessionStreamManager.startRetryStream({
175
+ sessionId: sessionId,
176
+ placeholderId: placeholderId,
177
+ retryRequest: _objectSpread(_objectSpread(_objectSpread(_objectSpread(_objectSpread({
178
+ sessionId: sessionId,
179
+ memorySessionId: payload.memorySessionId,
180
+ agentId: payload.agentId,
181
+ lang: payload.lang,
182
+ isWebSearchActive: payload.isWebSearchActive,
183
+ isDeepSearchActive: payload.isDeepSearchActive
184
+ }, payload.projectId ? {
185
+ projectId: payload.projectId
186
+ } : {}), payload.clientId != null ? {
187
+ clientId: payload.clientId
188
+ } : {}), payload.taskId != null ? {
189
+ taskId: payload.taskId
190
+ } : {}), payload.agentType != null ? {
191
+ agentType: payload.agentType
192
+ } : {}), payload.contextData ? {
193
+ contextData: payload.contextData
194
+ } : {}),
195
+ t: t,
196
+ activityOptions: {
197
+ isWebSearchActive: payload.isWebSearchActive,
198
+ isDeepSearchActive: payload.isDeepSearchActive
199
+ },
200
+ agentId: payload.agentId,
201
+ agentName: payload.agentName,
202
+ callbacks: {
203
+ onStreamUpdate: function onStreamUpdate(content) {
204
+ var _onStreamUpdateRef$cu2;
205
+ return (_onStreamUpdateRef$cu2 = onStreamUpdateRef.current) === null || _onStreamUpdateRef$cu2 === void 0 ? void 0 : _onStreamUpdateRef$cu2.call(onStreamUpdateRef, ctx, content);
206
+ },
207
+ onStartWriting: function onStartWriting() {
208
+ var _onStartWritingRef$cu2;
209
+ return (_onStartWritingRef$cu2 = onStartWritingRef.current) === null || _onStartWritingRef$cu2 === void 0 ? void 0 : _onStartWritingRef$cu2.call(onStartWritingRef);
210
+ },
211
+ onFinishStream: function onFinishStream(finishPayload) {
212
+ var _onFinishStreamRef$cu2;
213
+ return (_onFinishStreamRef$cu2 = onFinishStreamRef.current) === null || _onFinishStreamRef$cu2 === void 0 ? void 0 : _onFinishStreamRef$cu2.call(onFinishStreamRef, ctx, finishPayload.content, finishPayload.sources, finishPayload.memorySessionId, finishPayload.attachments, finishPayload.suggestions, finishPayload.completedAgentId, finishPayload.resolvedContext);
214
+ },
215
+ onError: function onError(errorType, errorMessage) {
216
+ var _onErrorRef$current2;
217
+ return (_onErrorRef$current2 = onErrorRef.current) === null || _onErrorRef$current2 === void 0 ? void 0 : _onErrorRef$current2.call(onErrorRef, ctx, errorType, errorMessage);
218
+ },
219
+ onApprovalRequired: function onApprovalRequired(approval, accumulatedContent) {
220
+ var _onApprovalRequiredRe2;
221
+ return (_onApprovalRequiredRe2 = onApprovalRequiredRef.current) === null || _onApprovalRequiredRe2 === void 0 ? void 0 : _onApprovalRequiredRe2.call(onApprovalRequiredRef, ctx, approval, accumulatedContent);
222
+ }
223
+ }
224
+ }));
225
+ case 1:
226
+ case "end":
227
+ return _context2.stop();
228
+ }
229
+ }, _callee2);
230
+ }));
231
+ return function (_x2) {
232
+ return _ref3.apply(this, arguments);
233
+ };
234
+ }(), [t]);
162
235
  var stopStreaming = useCallback(function () {
163
236
  sessionStreamManager.stopStream(activeSessionId, {
164
- onStop: function onStop() {
237
+ onStop: function onStop(partialText) {
165
238
  var _onStopRef$current;
166
- return (_onStopRef$current = onStopRef.current) === null || _onStopRef$current === void 0 ? void 0 : _onStopRef$current.call(onStopRef);
239
+ return (_onStopRef$current = onStopRef.current) === null || _onStopRef$current === void 0 ? void 0 : _onStopRef$current.call(onStopRef, partialText);
167
240
  }
168
241
  });
169
242
  }, [activeSessionId]);
@@ -182,6 +255,7 @@ export var useOrchestratorStream = function useOrchestratorStream(_ref) {
182
255
  }, [activeSessionId]);
183
256
  return {
184
257
  askMaia: askMaia,
258
+ retryCompletion: retryCompletion,
185
259
  isLoading: isLoading,
186
260
  isWriting: isWriting,
187
261
  loadingMessage: loadingMessage,
@@ -192,4 +266,4 @@ export var useOrchestratorStream = function useOrchestratorStream(_ref) {
192
266
  abortStreamSilently: abortStreamSilently
193
267
  };
194
268
  };
195
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZVJlZiIsInVzZVRyYW5zbGF0aW9uIiwiU0VDVElPTlMiLCJzZXNzaW9uU3RyZWFtTWFuYWdlciIsInVzZVNlc3Npb25zU3RvcmUiLCJ1c2VTZXNzaW9uU3RyZWFtU3RhdGUiLCJ1c2VPcmNoZXN0cmF0b3JTdHJlYW0iLCJfcmVmIiwiYWN0aXZlU2Vzc2lvbklkIiwib25TdHJlYW1VcGRhdGUiLCJvbkZpbmlzaFN0cmVhbSIsIm9uU3RhcnRXcml0aW5nIiwib25TdG9wIiwib25FcnJvciIsIm9uQXBwcm92YWxSZXF1aXJlZCIsImhpdGxFeGVjdXRpb25Db250ZXh0UmVmIiwiX3VzZVRyYW5zbGF0aW9uIiwiY2hhdEFJIiwidCIsIl91c2VTZXNzaW9uU3RyZWFtU3RhdCIsImlzTG9hZGluZyIsImlzV3JpdGluZyIsImxvYWRpbmdNZXNzYWdlIiwic3RyZWFtQWN0aXZpdHkiLCJvblN0cmVhbVVwZGF0ZVJlZiIsIm9uRmluaXNoU3RyZWFtUmVmIiwib25TdGFydFdyaXRpbmdSZWYiLCJvblN0b3BSZWYiLCJvbkVycm9yUmVmIiwib25BcHByb3ZhbFJlcXVpcmVkUmVmIiwiY3VycmVudCIsImFza01haWEiLCJfcmVmMiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwicGF5bG9hZCIsIl9wYXlsb2FkJGF0dGFjaG1lbnRzIiwiX3BheWxvYWQkYXR0YWNobWVudHMkIiwiX3BheWxvYWQkYXR0YWNobWVudHMyIiwiX2hpdGxFeGVjdXRpb25Db250ZXh0Iiwic2Vzc2lvbklkIiwibWVzc2FnZUlkIiwicGxhY2Vob2xkZXJJZCIsImN0eCIsInJlcXVlc3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImNoYXRJZCIsImNvbmNhdCIsIl9vYmplY3RTcHJlYWQiLCJpbnB1dCIsIm1lc3NhZ2UiLCJoaXN0b3J5IiwibGFuZyIsInVzZXJJZCIsImZpcnN0TmFtZSIsImxhc3ROYW1lIiwiY29tcGFueUlkIiwiY2xpZW50SWQiLCJmZWVJZCIsImFnZW50TmFtZSIsImFnZW50SWQiLCJpc1dlYlNlYXJjaEFjdGl2ZSIsImlzRGVlcFNlYXJjaEFjdGl2ZSIsImlzQXV0b0FwcHJvdmVBY3RpdmUiLCJwcm9qZWN0SWQiLCJhdHRhY2htZW50cyIsInByb2plY3ROYW1lIiwiY2xpZW50TmFtZSIsInRhc2tJZCIsInRhc2tOYW1lIiwiZmFxSWQiLCJhZ2VudFN1Z2dlc3Rpb25JZCIsImZ1YUlkIiwic2NJZCIsImFnZW50RW50aXR5IiwiYWdlbnRUeXBlIiwiY29udGV4dE1lc3NhZ2UiLCJjb250ZXh0RGF0YSIsImFicnVwdCIsInN0YXJ0U3RyZWFtIiwiYWN0aXZpdHlPcHRpb25zIiwiaGFzQXR0YWNobWVudHMiLCJCb29sZWFuIiwibGVuZ3RoIiwiYXR0YWNobWVudHNDb3VudCIsImhpdGxFeGVjdXRpb25Db250ZXh0IiwiY2FsbGJhY2tzIiwiY29udGVudCIsIl9vblN0cmVhbVVwZGF0ZVJlZiRjdSIsImNhbGwiLCJfb25TdGFydFdyaXRpbmdSZWYkY3UiLCJmaW5pc2hQYXlsb2FkIiwiX29uRmluaXNoU3RyZWFtUmVmJGN1Iiwic291cmNlcyIsIm1lbW9yeVNlc3Npb25JZCIsInN1Z2dlc3Rpb25zIiwiY29tcGxldGVkQWdlbnRJZCIsInJlc29sdmVkQ29udGV4dCIsInJlYXNvbmluZyIsImVycm9yVHlwZSIsImVycm9yTWVzc2FnZSIsIl9vbkVycm9yUmVmJGN1cnJlbnQiLCJhcHByb3ZhbCIsImFjY3VtdWxhdGVkQ29udGVudCIsIl9vbkFwcHJvdmFsUmVxdWlyZWRSZSIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwic3RvcFN0cmVhbWluZyIsInN0b3BTdHJlYW0iLCJfb25TdG9wUmVmJGN1cnJlbnQiLCJhYm9ydFN0cmVhbVNpbGVudGx5IiwiYWJvcnRTaWxlbnRseSIsInVwZGF0ZVN0cmVhbUFjdGl2aXR5IiwiYWN0aXZpdHkiLCJnZXRTdGF0ZSIsInNldEFjdGl2aXR5IiwicmVzZXQiLCJwYXRjaE1ldGEiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvdXNlT3JjaGVzdHJhdG9yU3RyZWFtL3VzZU9yY2hlc3RyYXRvclN0cmVhbS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlUmVmIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBBdHRhY2htZW50RmlsZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRGb290ZXIvQ2hhdEZvb3RlcidcbmltcG9ydCB7IENoYXRIaXN0b3J5IH0gZnJvbSAnLi4vLi4vdHlwZXMvQ2hhdCdcbmltcG9ydCB7IEFnZW50RW50aXR5LCBBZ2VudFR5cGUgfSBmcm9tICcuLi8uLi90eXBlcy9hZ2VudCdcbmltcG9ydCB7IENvbnRleHRNZXNzYWdlIH0gZnJvbSAnLi4vLi4vdHlwZXMvY29udGV4dE1lbnRpb24nXG5pbXBvcnQgeyBVc2VPcmNoZXN0cmF0b3JTdHJlYW1Qcm9wcywgU3RyZWFtQ29udGV4dCB9IGZyb20gJy4vdXNlT3JjaGVzdHJhdG9yU3RyZWFtLmludGVyZmFjZSdcbmltcG9ydCB7IFNFQ1RJT05TIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2NvbmZpZydcbmltcG9ydCB0eXBlIHsgU3RyZWFtQWN0aXZpdHkgfSBmcm9tICcuLi8uLi90eXBlcy9zdHJlYW1BY3Rpdml0eSdcbmltcG9ydCB7IHNlc3Npb25TdHJlYW1NYW5hZ2VyIH0gZnJvbSAnLi4vLi4vc3RvcmUvc2Vzc2lvbnMvc2Vzc2lvblN0cmVhbU1hbmFnZXInXG5pbXBvcnQgeyB1c2VTZXNzaW9uc1N0b3JlIH0gZnJvbSAnLi4vLi4vc3RvcmUvc2Vzc2lvbnMvdXNlU2Vzc2lvbnNTdG9yZSdcbmltcG9ydCB7IHVzZVNlc3Npb25TdHJlYW1TdGF0ZSB9IGZyb20gJy4uLy4uL3N0b3JlL3Nlc3Npb25zL3VzZVNlc3Npb25NZXRhJ1xuaW1wb3J0IHR5cGUgeyBTdGFydFN0cmVhbVJlc3VsdCB9IGZyb20gJy4uLy4uL3N0b3JlL3Nlc3Npb25zL3Nlc3Npb25zLnR5cGVzJ1xuXG50eXBlIEFza01haWFQYXlsb2FkID0ge1xuICBtZXNzYWdlOiBzdHJpbmdcbiAgaGlzdG9yeTogQ2hhdEhpc3RvcnlbXVxuICBwcm9qZWN0SWQ6IG51bWJlciB8IG51bGxcbiAgbGFuZzogc3RyaW5nXG4gIHVzZXJJZDogc3RyaW5nXG4gIGZpcnN0TmFtZT86IHN0cmluZ1xuICBsYXN0TmFtZT86IHN0cmluZ1xuICBjb21wYW55SWQ6IHN0cmluZ1xuICBjaGF0SWQ6IHN0cmluZ1xuICBtZXNzYWdlSWQ6IHN0cmluZ1xuICBjbGllbnRJZD86IG51bWJlclxuICBjbGllbnROYW1lPzogc3RyaW5nXG4gIGZlZUlkPzogbnVtYmVyXG4gIGFnZW50TmFtZTogc3RyaW5nXG4gIGFnZW50SWQ6IHN0cmluZ1xuICBpc1dlYlNlYXJjaEFjdGl2ZT86IGJvb2xlYW5cbiAgaXNEZWVwU2VhcmNoQWN0aXZlPzogYm9vbGVhblxuICBpc0F1dG9BcHByb3ZlQWN0aXZlPzogYm9vbGVhblxuICBhdHRhY2htZW50cz86IEF0dGFjaG1lbnRGaWxlW11cbiAgcHJvamVjdE5hbWU/OiBzdHJpbmdcbiAgdGFza0lkPzogbnVtYmVyXG4gIHRhc2tOYW1lPzogc3RyaW5nXG4gIGZhcUlkPzogc3RyaW5nXG4gIGFnZW50U3VnZ2VzdGlvbklkPzogc3RyaW5nXG4gIGZ1YUlkPzogc3RyaW5nXG4gIHNjSWQ/OiBzdHJpbmdcbiAgYWdlbnRFbnRpdHk/OiBBZ2VudEVudGl0eVxuICBhZ2VudFR5cGU/OiBBZ2VudFR5cGVcbiAgYWdlbnRFbW9qaT86IHN0cmluZyB8IG51bGxcbiAgY29udGV4dE1lc3NhZ2U/OiBDb250ZXh0TWVzc2FnZVxuICBjb250ZXh0RGF0YT86IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG59XG5cbi8qKlxuICogQWRhcHRlciBzb2JyZSBgc2Vzc2lvblN0cmVhbU1hbmFnZXJgLiBNYW50aWVuZSBsYSBBUEkgcMO6YmxpY2EgaGlzdMOzcmljYVxuICogKGBhc2tNYWlhYCwgYGlzTG9hZGluZ2AsIGBpc1dyaXRpbmdgLCBgc3RvcFN0cmVhbWluZ2AsIGV0Yy4pIHBlcm8gYWhvcmEgZWxcbiAqIG1vdG9yIGRlIHN0cmVhbWluZyB2aXZlIGVuIGVsIG1hbmFnZXIgKG1vZHVsZS1sZXZlbCksIGxvIHF1ZSBwZXJtaXRlIHRlbmVyXG4gKiB2YXJpYXMgc2VzaW9uZXMgZ2VuZXJhbmRvIGEgbGEgdmV6IHkgcXVlIHNvYnJldml2YW4gYSBjYW1iaW9zIGRlIHZpc3RhLlxuICpcbiAqIExvcyBmbGFncyByZWFjdGl2b3MgKGBpc0xvYWRpbmdgL2Bpc1dyaXRpbmdgL2BzdHJlYW1BY3Rpdml0eWApIHNlIGxlZW4gZGVsXG4gKiBzdG9yZSBwYXJhIGxhIHNlc2nDs24gYWN0dWFsbWVudGUgYWN0aXZhIChgYWN0aXZlU2Vzc2lvbklkYCkuXG4gKi9cbmV4cG9ydCBjb25zdCB1c2VPcmNoZXN0cmF0b3JTdHJlYW0gPSAoe1xuICBhY3RpdmVTZXNzaW9uSWQsXG4gIG9uU3RyZWFtVXBkYXRlLFxuICBvbkZpbmlzaFN0cmVhbSxcbiAgb25TdGFydFdyaXRpbmcsXG4gIG9uU3RvcCxcbiAgb25FcnJvcixcbiAgb25BcHByb3ZhbFJlcXVpcmVkLFxuICBoaXRsRXhlY3V0aW9uQ29udGV4dFJlZixcbn06IFVzZU9yY2hlc3RyYXRvclN0cmVhbVByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oW1NFQ1RJT05TLmNoYXRBSV0pXG5cbiAgY29uc3QgeyBpc0xvYWRpbmcsIGlzV3JpdGluZywgbG9hZGluZ01lc3NhZ2UsIHN0cmVhbUFjdGl2aXR5IH0gPSB1c2VTZXNzaW9uU3RyZWFtU3RhdGUoYWN0aXZlU2Vzc2lvbklkKVxuXG4gIGNvbnN0IG9uU3RyZWFtVXBkYXRlUmVmID0gdXNlUmVmKG9uU3RyZWFtVXBkYXRlKVxuICBjb25zdCBvbkZpbmlzaFN0cmVhbVJlZiA9IHVzZVJlZihvbkZpbmlzaFN0cmVhbSlcbiAgY29uc3Qgb25TdGFydFdyaXRpbmdSZWYgPSB1c2VSZWYob25TdGFydFdyaXRpbmcpXG4gIGNvbnN0IG9uU3RvcFJlZiA9IHVzZVJlZihvblN0b3ApXG4gIGNvbnN0IG9uRXJyb3JSZWYgPSB1c2VSZWYob25FcnJvcilcbiAgY29uc3Qgb25BcHByb3ZhbFJlcXVpcmVkUmVmID0gdXNlUmVmKG9uQXBwcm92YWxSZXF1aXJlZClcblxuICBvblN0cmVhbVVwZGF0ZVJlZi5jdXJyZW50ID0gb25TdHJlYW1VcGRhdGVcbiAgb25GaW5pc2hTdHJlYW1SZWYuY3VycmVudCA9IG9uRmluaXNoU3RyZWFtXG4gIG9uU3RhcnRXcml0aW5nUmVmLmN1cnJlbnQgPSBvblN0YXJ0V3JpdGluZ1xuICBvblN0b3BSZWYuY3VycmVudCA9IG9uU3RvcFxuICBvbkVycm9yUmVmLmN1cnJlbnQgPSBvbkVycm9yXG4gIG9uQXBwcm92YWxSZXF1aXJlZFJlZi5jdXJyZW50ID0gb25BcHByb3ZhbFJlcXVpcmVkXG5cbiAgY29uc3QgYXNrTWFpYSA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChwYXlsb2FkOiBBc2tNYWlhUGF5bG9hZCk6IFByb21pc2U8U3RhcnRTdHJlYW1SZXN1bHQ+ID0+IHtcbiAgICAgIGNvbnN0IHsgY2hhdElkOiBzZXNzaW9uSWQsIG1lc3NhZ2VJZCB9ID0gcGF5bG9hZFxuICAgICAgY29uc3QgcGxhY2Vob2xkZXJJZCA9IGBhbnN3ZXItJHttZXNzYWdlSWR9LXN0cmVhbWluZ2BcbiAgICAgIGNvbnN0IGN0eDogU3RyZWFtQ29udGV4dCA9IHsgc2Vzc2lvbklkLCBtZXNzYWdlSWQsIHBsYWNlaG9sZGVySWQgfVxuXG4gICAgICBjb25zdCByZXF1ZXN0ID0ge1xuICAgICAgICBpbnB1dDogcGF5bG9hZC5tZXNzYWdlLFxuICAgICAgICBoaXN0b3J5OiBwYXlsb2FkLmhpc3RvcnksXG4gICAgICAgIGxhbmc6IHBheWxvYWQubGFuZyxcbiAgICAgICAgdXNlcklkOiBwYXlsb2FkLnVzZXJJZCxcbiAgICAgICAgLi4uKHBheWxvYWQuZmlyc3ROYW1lID8geyBmaXJzdE5hbWU6IHBheWxvYWQuZmlyc3ROYW1lIH0gOiB7fSksXG4gICAgICAgIC4uLihwYXlsb2FkLmxhc3ROYW1lID8geyBsYXN0TmFtZTogcGF5bG9hZC5sYXN0TmFtZSB9IDoge30pLFxuICAgICAgICBjb21wYW55SWQ6IHBheWxvYWQuY29tcGFueUlkLFxuICAgICAgICBjaGF0SWQ6IHBheWxvYWQuY2hhdElkLFxuICAgICAgICBtZXNzYWdlSWQ6IHBheWxvYWQubWVzc2FnZUlkLFxuICAgICAgICBjbGllbnRJZDogcGF5bG9hZC5jbGllbnRJZCxcbiAgICAgICAgLi4uKHBheWxvYWQuZmVlSWQgIT0gbnVsbCA/IHsgZmVlSWQ6IHBheWxvYWQuZmVlSWQgfSA6IHt9KSxcbiAgICAgICAgYWdlbnROYW1lOiBwYXlsb2FkLmFnZW50TmFtZSxcbiAgICAgICAgYWdlbnRJZDogcGF5bG9hZC5hZ2VudElkLFxuICAgICAgICBpc1dlYlNlYXJjaEFjdGl2ZTogcGF5bG9hZC5pc1dlYlNlYXJjaEFjdGl2ZSxcbiAgICAgICAgaXNEZWVwU2VhcmNoQWN0aXZlOiBwYXlsb2FkLmlzRGVlcFNlYXJjaEFjdGl2ZSxcbiAgICAgICAgaXNBdXRvQXBwcm92ZUFjdGl2ZTogcGF5bG9hZC5pc0F1dG9BcHByb3ZlQWN0aXZlLFxuICAgICAgICAuLi4ocGF5bG9hZC5wcm9qZWN0SWQgPyB7IHByb2plY3RJZDogcGF5bG9hZC5wcm9qZWN0SWQgfSA6IHt9KSxcbiAgICAgICAgLi4uKHBheWxvYWQuYXR0YWNobWVudHMgPyB7IGF0dGFjaG1lbnRzOiBwYXlsb2FkLmF0dGFjaG1lbnRzIH0gOiB7fSksXG4gICAgICAgIC4uLihwYXlsb2FkLnByb2plY3ROYW1lID8geyBwcm9qZWN0TmFtZTogcGF5bG9hZC5wcm9qZWN0TmFtZSB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC5jbGllbnROYW1lID8geyBjbGllbnROYW1lOiBwYXlsb2FkLmNsaWVudE5hbWUgfSA6IHt9KSxcbiAgICAgICAgLi4uKHBheWxvYWQudGFza0lkICE9IG51bGwgPyB7IHRhc2tJZDogcGF5bG9hZC50YXNrSWQgfSA6IHt9KSxcbiAgICAgICAgLi4uKHBheWxvYWQudGFza05hbWUgPyB7IHRhc2tOYW1lOiBwYXlsb2FkLnRhc2tOYW1lIH0gOiB7fSksXG4gICAgICAgIC4uLihwYXlsb2FkLmZhcUlkID8geyBmYXFJZDogcGF5bG9hZC5mYXFJZCB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC5hZ2VudFN1Z2dlc3Rpb25JZCA/IHsgYWdlbnRTdWdnZXN0aW9uSWQ6IHBheWxvYWQuYWdlbnRTdWdnZXN0aW9uSWQgfSA6IHt9KSxcbiAgICAgICAgLi4uKHBheWxvYWQuZnVhSWQgPyB7IGZ1YUlkOiBwYXlsb2FkLmZ1YUlkIH0gOiB7fSksXG4gICAgICAgIC4uLihwYXlsb2FkLnNjSWQgPyB7IHNjSWQ6IHBheWxvYWQuc2NJZCB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC5hZ2VudEVudGl0eSAhPSBudWxsID8geyBhZ2VudEVudGl0eTogcGF5bG9hZC5hZ2VudEVudGl0eSB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC5hZ2VudFR5cGUgIT0gbnVsbCA/IHsgYWdlbnRUeXBlOiBwYXlsb2FkLmFnZW50VHlwZSB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC5jb250ZXh0TWVzc2FnZSA/IHsgY29udGV4dE1lc3NhZ2U6IHBheWxvYWQuY29udGV4dE1lc3NhZ2UgfSA6IHt9KSxcbiAgICAgICAgLi4uKHBheWxvYWQuY29udGV4dERhdGEgPyB7IGNvbnRleHREYXRhOiBwYXlsb2FkLmNvbnRleHREYXRhIH0gOiB7fSksXG4gICAgICB9XG5cbiAgICAgIHJldHVybiBzZXNzaW9uU3RyZWFtTWFuYWdlci5zdGFydFN0cmVhbSh7XG4gICAgICAgIHNlc3Npb25JZCxcbiAgICAgICAgcGxhY2Vob2xkZXJJZCxcbiAgICAgICAgcmVxdWVzdCxcbiAgICAgICAgdCxcbiAgICAgICAgYWN0aXZpdHlPcHRpb25zOiB7XG4gICAgICAgICAgaXNXZWJTZWFyY2hBY3RpdmU6IHBheWxvYWQuaXNXZWJTZWFyY2hBY3RpdmUsXG4gICAgICAgICAgaXNEZWVwU2VhcmNoQWN0aXZlOiBwYXlsb2FkLmlzRGVlcFNlYXJjaEFjdGl2ZSxcbiAgICAgICAgICBoYXNBdHRhY2htZW50czogQm9vbGVhbihwYXlsb2FkLmF0dGFjaG1lbnRzPy5sZW5ndGgpLFxuICAgICAgICAgIGF0dGFjaG1lbnRzQ291bnQ6IHBheWxvYWQuYXR0YWNobWVudHM/Lmxlbmd0aCA/PyAwLFxuICAgICAgICB9LFxuICAgICAgICBoaXRsRXhlY3V0aW9uQ29udGV4dDogaGl0bEV4ZWN1dGlvbkNvbnRleHRSZWY/LmN1cnJlbnQgPz8gbnVsbCxcbiAgICAgICAgYWdlbnRJZDogcGF5bG9hZC5hZ2VudElkLFxuICAgICAgICBhZ2VudE5hbWU6IHBheWxvYWQuYWdlbnROYW1lLFxuICAgICAgICBjYWxsYmFja3M6IHtcbiAgICAgICAgICBvblN0cmVhbVVwZGF0ZTogY29udGVudCA9PiBvblN0cmVhbVVwZGF0ZVJlZi5jdXJyZW50Py4oY3R4LCBjb250ZW50KSxcbiAgICAgICAgICBvblN0YXJ0V3JpdGluZzogKCkgPT4gb25TdGFydFdyaXRpbmdSZWYuY3VycmVudD8uKCksXG4gICAgICAgICAgb25GaW5pc2hTdHJlYW06IGZpbmlzaFBheWxvYWQgPT5cbiAgICAgICAgICAgIG9uRmluaXNoU3RyZWFtUmVmLmN1cnJlbnQ/LihcbiAgICAgICAgICAgICAgY3R4LFxuICAgICAgICAgICAgICBmaW5pc2hQYXlsb2FkLmNvbnRlbnQsXG4gICAgICAgICAgICAgIGZpbmlzaFBheWxvYWQuc291cmNlcyxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5tZW1vcnlTZXNzaW9uSWQsXG4gICAgICAgICAgICAgIGZpbmlzaFBheWxvYWQuYXR0YWNobWVudHMsXG4gICAgICAgICAgICAgIGZpbmlzaFBheWxvYWQuc3VnZ2VzdGlvbnMsXG4gICAgICAgICAgICAgIGZpbmlzaFBheWxvYWQuY29tcGxldGVkQWdlbnRJZCxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5yZXNvbHZlZENvbnRleHQgYXMgYW55LFxuICAgICAgICAgICAgICBmaW5pc2hQYXlsb2FkLnJlYXNvbmluZ1xuICAgICAgICAgICAgKSxcbiAgICAgICAgICBvbkVycm9yOiAoZXJyb3JUeXBlLCBlcnJvck1lc3NhZ2UpID0+IG9uRXJyb3JSZWYuY3VycmVudD8uKGN0eCwgZXJyb3JUeXBlLCBlcnJvck1lc3NhZ2UpLFxuICAgICAgICAgIG9uQXBwcm92YWxSZXF1aXJlZDogKGFwcHJvdmFsLCBhY2N1bXVsYXRlZENvbnRlbnQpID0+XG4gICAgICAgICAgICBvbkFwcHJvdmFsUmVxdWlyZWRSZWYuY3VycmVudD8uKGN0eCwgYXBwcm92YWwsIGFjY3VtdWxhdGVkQ29udGVudCksXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgIH0sXG4gICAgW3QsIGhpdGxFeGVjdXRpb25Db250ZXh0UmVmXVxuICApXG5cbiAgY29uc3Qgc3RvcFN0cmVhbWluZyA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXNzaW9uU3RyZWFtTWFuYWdlci5zdG9wU3RyZWFtKGFjdGl2ZVNlc3Npb25JZCwge1xuICAgICAgb25TdG9wOiAoKSA9PiBvblN0b3BSZWYuY3VycmVudD8uKCksXG4gICAgfSlcbiAgfSwgW2FjdGl2ZVNlc3Npb25JZF0pXG5cbiAgY29uc3QgYWJvcnRTdHJlYW1TaWxlbnRseSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXNzaW9uU3RyZWFtTWFuYWdlci5hYm9ydFNpbGVudGx5KGFjdGl2ZVNlc3Npb25JZClcbiAgfSwgW2FjdGl2ZVNlc3Npb25JZF0pXG5cbiAgY29uc3QgdXBkYXRlU3RyZWFtQWN0aXZpdHkgPSB1c2VDYWxsYmFjayhcbiAgICAoYWN0aXZpdHk6IFN0cmVhbUFjdGl2aXR5IHwgbnVsbCkgPT4ge1xuICAgICAgdXNlU2Vzc2lvbnNTdG9yZS5nZXRTdGF0ZSgpLnNldEFjdGl2aXR5KGFjdGl2ZVNlc3Npb25JZCwgYWN0aXZpdHkpXG4gICAgfSxcbiAgICBbYWN0aXZlU2Vzc2lvbklkXVxuICApXG5cbiAgY29uc3QgcmVzZXQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgdXNlU2Vzc2lvbnNTdG9yZS5nZXRTdGF0ZSgpLnBhdGNoTWV0YShhY3RpdmVTZXNzaW9uSWQsIHsgaXNMb2FkaW5nOiBmYWxzZSwgaXNXcml0aW5nOiBmYWxzZSB9KVxuICAgIHVzZVNlc3Npb25zU3RvcmUuZ2V0U3RhdGUoKS5zZXRBY3Rpdml0eShhY3RpdmVTZXNzaW9uSWQsIG51bGwpXG4gIH0sIFthY3RpdmVTZXNzaW9uSWRdKVxuXG4gIHJldHVybiB7XG4gICAgYXNrTWFpYSxcbiAgICBpc0xvYWRpbmcsXG4gICAgaXNXcml0aW5nLFxuICAgIGxvYWRpbmdNZXNzYWdlLFxuICAgIHN0cmVhbUFjdGl2aXR5LFxuICAgIHVwZGF0ZVN0cmVhbUFjdGl2aXR5LFxuICAgIHJlc2V0LFxuICAgIHN0b3BTdHJlYW1pbmcsXG4gICAgYWJvcnRTdHJlYW1TaWxlbnRseSxcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ0EsU0FBU0EsV0FBVyxFQUFFQyxNQUFNLFFBQVEsT0FBTztBQUMzQyxTQUFTQyxjQUFjLFFBQVEsZUFBZTtBQU05QyxTQUFTQyxRQUFRLFFBQVEsd0JBQXdCO0FBRWpELFNBQVNDLG9CQUFvQixRQUFRLDJDQUEyQztBQUNoRixTQUFTQyxnQkFBZ0IsUUFBUSx1Q0FBdUM7QUFDeEUsU0FBU0MscUJBQXFCLFFBQVEscUNBQXFDO0FBcUMzRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLElBQU1DLHFCQUFxQixH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
269
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZVJlZiIsInVzZVRyYW5zbGF0aW9uIiwiU0VDVElPTlMiLCJzZXNzaW9uU3RyZWFtTWFuYWdlciIsInVzZVNlc3Npb25zU3RvcmUiLCJ1c2VTZXNzaW9uU3RyZWFtU3RhdGUiLCJ1c2VPcmNoZXN0cmF0b3JTdHJlYW0iLCJfcmVmIiwiYWN0aXZlU2Vzc2lvbklkIiwib25TdHJlYW1VcGRhdGUiLCJvbkZpbmlzaFN0cmVhbSIsIm9uU3RhcnRXcml0aW5nIiwib25TdG9wIiwib25FcnJvciIsIm9uQXBwcm92YWxSZXF1aXJlZCIsImhpdGxFeGVjdXRpb25Db250ZXh0UmVmIiwiX3VzZVRyYW5zbGF0aW9uIiwiY2hhdEFJIiwidCIsIl91c2VTZXNzaW9uU3RyZWFtU3RhdCIsImlzTG9hZGluZyIsImlzV3JpdGluZyIsImxvYWRpbmdNZXNzYWdlIiwic3RyZWFtQWN0aXZpdHkiLCJvblN0cmVhbVVwZGF0ZVJlZiIsIm9uRmluaXNoU3RyZWFtUmVmIiwib25TdGFydFdyaXRpbmdSZWYiLCJvblN0b3BSZWYiLCJvbkVycm9yUmVmIiwib25BcHByb3ZhbFJlcXVpcmVkUmVmIiwiY3VycmVudCIsImFza01haWEiLCJfcmVmMiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwicGF5bG9hZCIsIl9wYXlsb2FkJGF0dGFjaG1lbnRzIiwiX3BheWxvYWQkYXR0YWNobWVudHMkIiwiX3BheWxvYWQkYXR0YWNobWVudHMyIiwiX2hpdGxFeGVjdXRpb25Db250ZXh0Iiwic2Vzc2lvbklkIiwibWVzc2FnZUlkIiwicGxhY2Vob2xkZXJJZCIsImN0eCIsInJlcXVlc3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImNoYXRJZCIsImNvbmNhdCIsIl9vYmplY3RTcHJlYWQiLCJpbnB1dCIsIm1lc3NhZ2UiLCJoaXN0b3J5IiwibGFuZyIsInVzZXJJZCIsImZpcnN0TmFtZSIsImxhc3ROYW1lIiwiY29tcGFueUlkIiwiY2xpZW50SWQiLCJmZWVJZCIsImFnZW50TmFtZSIsImFnZW50SWQiLCJpc1dlYlNlYXJjaEFjdGl2ZSIsImlzRGVlcFNlYXJjaEFjdGl2ZSIsInByb2plY3RJZCIsImF0dGFjaG1lbnRzIiwicHJvamVjdE5hbWUiLCJjbGllbnROYW1lIiwidGFza0lkIiwidGFza05hbWUiLCJmYXFJZCIsImFnZW50U3VnZ2VzdGlvbklkIiwiZnVhSWQiLCJzY0lkIiwiYWdlbnRFbnRpdHkiLCJhZ2VudFR5cGUiLCJjb250ZXh0TWVzc2FnZSIsImNvbnRleHREYXRhIiwiYWJydXB0Iiwic3RhcnRTdHJlYW0iLCJhY3Rpdml0eU9wdGlvbnMiLCJoYXNBdHRhY2htZW50cyIsIkJvb2xlYW4iLCJsZW5ndGgiLCJhdHRhY2htZW50c0NvdW50IiwiaGl0bEV4ZWN1dGlvbkNvbnRleHQiLCJjYWxsYmFja3MiLCJjb250ZW50IiwiX29uU3RyZWFtVXBkYXRlUmVmJGN1IiwiY2FsbCIsIl9vblN0YXJ0V3JpdGluZ1JlZiRjdSIsImZpbmlzaFBheWxvYWQiLCJfb25GaW5pc2hTdHJlYW1SZWYkY3UiLCJzb3VyY2VzIiwibWVtb3J5U2Vzc2lvbklkIiwic3VnZ2VzdGlvbnMiLCJjb21wbGV0ZWRBZ2VudElkIiwicmVzb2x2ZWRDb250ZXh0IiwiZXJyb3JUeXBlIiwiZXJyb3JNZXNzYWdlIiwiX29uRXJyb3JSZWYkY3VycmVudCIsImFwcHJvdmFsIiwiYWNjdW11bGF0ZWRDb250ZW50IiwiX29uQXBwcm92YWxSZXF1aXJlZFJlIiwic3RvcCIsIl94IiwiYXBwbHkiLCJhcmd1bWVudHMiLCJyZXRyeUNvbXBsZXRpb24iLCJfcmVmMyIsIl9jYWxsZWUyIiwiX2NvbnRleHQyIiwic3RhcnRSZXRyeVN0cmVhbSIsInJldHJ5UmVxdWVzdCIsIl9vblN0cmVhbVVwZGF0ZVJlZiRjdTIiLCJfb25TdGFydFdyaXRpbmdSZWYkY3UyIiwiX29uRmluaXNoU3RyZWFtUmVmJGN1MiIsIl9vbkVycm9yUmVmJGN1cnJlbnQyIiwiX29uQXBwcm92YWxSZXF1aXJlZFJlMiIsIl94MiIsInN0b3BTdHJlYW1pbmciLCJzdG9wU3RyZWFtIiwicGFydGlhbFRleHQiLCJfb25TdG9wUmVmJGN1cnJlbnQiLCJhYm9ydFN0cmVhbVNpbGVudGx5IiwiYWJvcnRTaWxlbnRseSIsInVwZGF0ZVN0cmVhbUFjdGl2aXR5IiwiYWN0aXZpdHkiLCJnZXRTdGF0ZSIsInNldEFjdGl2aXR5IiwicmVzZXQiLCJwYXRjaE1ldGEiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvaG9va3MvdXNlT3JjaGVzdHJhdG9yU3RyZWFtL3VzZU9yY2hlc3RyYXRvclN0cmVhbS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlUmVmIH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBBdHRhY2htZW50RmlsZSB9IGZyb20gJy4uLy4uL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRGb290ZXIvQ2hhdEZvb3RlcidcbmltcG9ydCB7IENoYXRIaXN0b3J5IH0gZnJvbSAnLi4vLi4vdHlwZXMvQ2hhdCdcbmltcG9ydCB7IEFnZW50RW50aXR5LCBBZ2VudFR5cGUgfSBmcm9tICcuLi8uLi90eXBlcy9hZ2VudCdcbmltcG9ydCB7IENvbnRleHRNZXNzYWdlIH0gZnJvbSAnLi4vLi4vdHlwZXMvY29udGV4dE1lbnRpb24nXG5pbXBvcnQgeyBVc2VPcmNoZXN0cmF0b3JTdHJlYW1Qcm9wcywgU3RyZWFtQ29udGV4dCB9IGZyb20gJy4vdXNlT3JjaGVzdHJhdG9yU3RyZWFtLmludGVyZmFjZSdcbmltcG9ydCB7IFNFQ1RJT05TIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2NvbmZpZydcbmltcG9ydCB0eXBlIHsgU3RyZWFtQWN0aXZpdHkgfSBmcm9tICcuLi8uLi90eXBlcy9zdHJlYW1BY3Rpdml0eSdcbmltcG9ydCB7IHNlc3Npb25TdHJlYW1NYW5hZ2VyIH0gZnJvbSAnLi4vLi4vc3RvcmUvc2Vzc2lvbnMvc2Vzc2lvblN0cmVhbU1hbmFnZXInXG5pbXBvcnQgeyB1c2VTZXNzaW9uc1N0b3JlIH0gZnJvbSAnLi4vLi4vc3RvcmUvc2Vzc2lvbnMvdXNlU2Vzc2lvbnNTdG9yZSdcbmltcG9ydCB7IHVzZVNlc3Npb25TdHJlYW1TdGF0ZSB9IGZyb20gJy4uLy4uL3N0b3JlL3Nlc3Npb25zL3VzZVNlc3Npb25NZXRhJ1xuaW1wb3J0IHR5cGUgeyBTdGFydFN0cmVhbVJlc3VsdCB9IGZyb20gJy4uLy4uL3N0b3JlL3Nlc3Npb25zL3Nlc3Npb25zLnR5cGVzJ1xuXG50eXBlIFJldHJ5Q29tcGxldGlvblBheWxvYWQgPSB7XG4gIGNoYXRJZDogc3RyaW5nXG4gIG1lc3NhZ2VJZDogc3RyaW5nXG4gIG1lbW9yeVNlc3Npb25JZDogc3RyaW5nXG4gIGxhbmc6IHN0cmluZ1xuICBhZ2VudElkOiBzdHJpbmdcbiAgYWdlbnROYW1lOiBzdHJpbmdcbiAgYWdlbnRUeXBlPzogQWdlbnRUeXBlXG4gIGlzV2ViU2VhcmNoQWN0aXZlPzogYm9vbGVhblxuICBpc0RlZXBTZWFyY2hBY3RpdmU/OiBib29sZWFuXG4gIHByb2plY3RJZD86IG51bWJlciB8IG51bGxcbiAgY2xpZW50SWQ/OiBudW1iZXJcbiAgdGFza0lkPzogbnVtYmVyXG4gIGNvbnRleHREYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbn1cblxudHlwZSBBc2tNYWlhUGF5bG9hZCA9IHtcbiAgbWVzc2FnZTogc3RyaW5nXG4gIGhpc3Rvcnk6IENoYXRIaXN0b3J5W11cbiAgcHJvamVjdElkOiBudW1iZXIgfCBudWxsXG4gIGxhbmc6IHN0cmluZ1xuICB1c2VySWQ6IHN0cmluZ1xuICBmaXJzdE5hbWU/OiBzdHJpbmdcbiAgbGFzdE5hbWU/OiBzdHJpbmdcbiAgY29tcGFueUlkOiBzdHJpbmdcbiAgY2hhdElkOiBzdHJpbmdcbiAgbWVzc2FnZUlkOiBzdHJpbmdcbiAgY2xpZW50SWQ/OiBudW1iZXJcbiAgY2xpZW50TmFtZT86IHN0cmluZ1xuICBmZWVJZD86IG51bWJlclxuICBhZ2VudE5hbWU6IHN0cmluZ1xuICBhZ2VudElkOiBzdHJpbmdcbiAgaXNXZWJTZWFyY2hBY3RpdmU/OiBib29sZWFuXG4gIGlzRGVlcFNlYXJjaEFjdGl2ZT86IGJvb2xlYW5cbiAgYXR0YWNobWVudHM/OiBBdHRhY2htZW50RmlsZVtdXG4gIHByb2plY3ROYW1lPzogc3RyaW5nXG4gIHRhc2tJZD86IG51bWJlclxuICB0YXNrTmFtZT86IHN0cmluZ1xuICBmYXFJZD86IHN0cmluZ1xuICBhZ2VudFN1Z2dlc3Rpb25JZD86IHN0cmluZ1xuICBmdWFJZD86IHN0cmluZ1xuICBzY0lkPzogc3RyaW5nXG4gIGFnZW50RW50aXR5PzogQWdlbnRFbnRpdHlcbiAgYWdlbnRUeXBlPzogQWdlbnRUeXBlXG4gIGFnZW50RW1vamk/OiBzdHJpbmcgfCBudWxsXG4gIGNvbnRleHRNZXNzYWdlPzogQ29udGV4dE1lc3NhZ2VcbiAgY29udGV4dERhdGE/OiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPlxufVxuXG4vKipcbiAqIEFkYXB0ZXIgc29icmUgYHNlc3Npb25TdHJlYW1NYW5hZ2VyYC4gTWFudGllbmUgbGEgQVBJIHDDumJsaWNhIGhpc3TDs3JpY2FcbiAqIChgYXNrTWFpYWAsIGBpc0xvYWRpbmdgLCBgaXNXcml0aW5nYCwgYHN0b3BTdHJlYW1pbmdgLCBldGMuKSBwZXJvIGFob3JhIGVsXG4gKiBtb3RvciBkZSBzdHJlYW1pbmcgdml2ZSBlbiBlbCBtYW5hZ2VyIChtb2R1bGUtbGV2ZWwpLCBsbyBxdWUgcGVybWl0ZSB0ZW5lclxuICogdmFyaWFzIHNlc2lvbmVzIGdlbmVyYW5kbyBhIGxhIHZleiB5IHF1ZSBzb2JyZXZpdmFuIGEgY2FtYmlvcyBkZSB2aXN0YS5cbiAqXG4gKiBMb3MgZmxhZ3MgcmVhY3Rpdm9zIChgaXNMb2FkaW5nYC9gaXNXcml0aW5nYC9gc3RyZWFtQWN0aXZpdHlgKSBzZSBsZWVuIGRlbFxuICogc3RvcmUgcGFyYSBsYSBzZXNpw7NuIGFjdHVhbG1lbnRlIGFjdGl2YSAoYGFjdGl2ZVNlc3Npb25JZGApLlxuICovXG5leHBvcnQgY29uc3QgdXNlT3JjaGVzdHJhdG9yU3RyZWFtID0gKHtcbiAgYWN0aXZlU2Vzc2lvbklkLFxuICBvblN0cmVhbVVwZGF0ZSxcbiAgb25GaW5pc2hTdHJlYW0sXG4gIG9uU3RhcnRXcml0aW5nLFxuICBvblN0b3AsXG4gIG9uRXJyb3IsXG4gIG9uQXBwcm92YWxSZXF1aXJlZCxcbiAgaGl0bEV4ZWN1dGlvbkNvbnRleHRSZWYsXG59OiBVc2VPcmNoZXN0cmF0b3JTdHJlYW1Qcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKFtTRUNUSU9OUy5jaGF0QUldKVxuXG4gIGNvbnN0IHsgaXNMb2FkaW5nLCBpc1dyaXRpbmcsIGxvYWRpbmdNZXNzYWdlLCBzdHJlYW1BY3Rpdml0eSB9ID0gdXNlU2Vzc2lvblN0cmVhbVN0YXRlKGFjdGl2ZVNlc3Npb25JZClcblxuICBjb25zdCBvblN0cmVhbVVwZGF0ZVJlZiA9IHVzZVJlZihvblN0cmVhbVVwZGF0ZSlcbiAgY29uc3Qgb25GaW5pc2hTdHJlYW1SZWYgPSB1c2VSZWYob25GaW5pc2hTdHJlYW0pXG4gIGNvbnN0IG9uU3RhcnRXcml0aW5nUmVmID0gdXNlUmVmKG9uU3RhcnRXcml0aW5nKVxuICBjb25zdCBvblN0b3BSZWYgPSB1c2VSZWYob25TdG9wKVxuICBjb25zdCBvbkVycm9yUmVmID0gdXNlUmVmKG9uRXJyb3IpXG4gIGNvbnN0IG9uQXBwcm92YWxSZXF1aXJlZFJlZiA9IHVzZVJlZihvbkFwcHJvdmFsUmVxdWlyZWQpXG5cbiAgb25TdHJlYW1VcGRhdGVSZWYuY3VycmVudCA9IG9uU3RyZWFtVXBkYXRlXG4gIG9uRmluaXNoU3RyZWFtUmVmLmN1cnJlbnQgPSBvbkZpbmlzaFN0cmVhbVxuICBvblN0YXJ0V3JpdGluZ1JlZi5jdXJyZW50ID0gb25TdGFydFdyaXRpbmdcbiAgb25TdG9wUmVmLmN1cnJlbnQgPSBvblN0b3BcbiAgb25FcnJvclJlZi5jdXJyZW50ID0gb25FcnJvclxuICBvbkFwcHJvdmFsUmVxdWlyZWRSZWYuY3VycmVudCA9IG9uQXBwcm92YWxSZXF1aXJlZFxuXG4gIGNvbnN0IGFza01haWEgPSB1c2VDYWxsYmFjayhcbiAgICBhc3luYyAocGF5bG9hZDogQXNrTWFpYVBheWxvYWQpOiBQcm9taXNlPFN0YXJ0U3RyZWFtUmVzdWx0PiA9PiB7XG4gICAgICBjb25zdCB7IGNoYXRJZDogc2Vzc2lvbklkLCBtZXNzYWdlSWQgfSA9IHBheWxvYWRcbiAgICAgIGNvbnN0IHBsYWNlaG9sZGVySWQgPSBgYW5zd2VyLSR7bWVzc2FnZUlkfS1zdHJlYW1pbmdgXG4gICAgICBjb25zdCBjdHg6IFN0cmVhbUNvbnRleHQgPSB7IHNlc3Npb25JZCwgbWVzc2FnZUlkLCBwbGFjZWhvbGRlcklkIH1cblxuICAgICAgY29uc3QgcmVxdWVzdCA9IHtcbiAgICAgICAgaW5wdXQ6IHBheWxvYWQubWVzc2FnZSxcbiAgICAgICAgaGlzdG9yeTogcGF5bG9hZC5oaXN0b3J5LFxuICAgICAgICBsYW5nOiBwYXlsb2FkLmxhbmcsXG4gICAgICAgIHVzZXJJZDogcGF5bG9hZC51c2VySWQsXG4gICAgICAgIC4uLihwYXlsb2FkLmZpcnN0TmFtZSA/IHsgZmlyc3ROYW1lOiBwYXlsb2FkLmZpcnN0TmFtZSB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC5sYXN0TmFtZSA/IHsgbGFzdE5hbWU6IHBheWxvYWQubGFzdE5hbWUgfSA6IHt9KSxcbiAgICAgICAgY29tcGFueUlkOiBwYXlsb2FkLmNvbXBhbnlJZCxcbiAgICAgICAgY2hhdElkOiBwYXlsb2FkLmNoYXRJZCxcbiAgICAgICAgbWVzc2FnZUlkOiBwYXlsb2FkLm1lc3NhZ2VJZCxcbiAgICAgICAgY2xpZW50SWQ6IHBheWxvYWQuY2xpZW50SWQsXG4gICAgICAgIC4uLihwYXlsb2FkLmZlZUlkICE9IG51bGwgPyB7IGZlZUlkOiBwYXlsb2FkLmZlZUlkIH0gOiB7fSksXG4gICAgICAgIGFnZW50TmFtZTogcGF5bG9hZC5hZ2VudE5hbWUsXG4gICAgICAgIGFnZW50SWQ6IHBheWxvYWQuYWdlbnRJZCxcbiAgICAgICAgaXNXZWJTZWFyY2hBY3RpdmU6IHBheWxvYWQuaXNXZWJTZWFyY2hBY3RpdmUsXG4gICAgICAgIGlzRGVlcFNlYXJjaEFjdGl2ZTogcGF5bG9hZC5pc0RlZXBTZWFyY2hBY3RpdmUsXG4gICAgICAgIC4uLihwYXlsb2FkLnByb2plY3RJZCA/IHsgcHJvamVjdElkOiBwYXlsb2FkLnByb2plY3RJZCB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC5hdHRhY2htZW50cyA/IHsgYXR0YWNobWVudHM6IHBheWxvYWQuYXR0YWNobWVudHMgfSA6IHt9KSxcbiAgICAgICAgLi4uKHBheWxvYWQucHJvamVjdE5hbWUgPyB7IHByb2plY3ROYW1lOiBwYXlsb2FkLnByb2plY3ROYW1lIH0gOiB7fSksXG4gICAgICAgIC4uLihwYXlsb2FkLmNsaWVudE5hbWUgPyB7IGNsaWVudE5hbWU6IHBheWxvYWQuY2xpZW50TmFtZSB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC50YXNrSWQgIT0gbnVsbCA/IHsgdGFza0lkOiBwYXlsb2FkLnRhc2tJZCB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC50YXNrTmFtZSA/IHsgdGFza05hbWU6IHBheWxvYWQudGFza05hbWUgfSA6IHt9KSxcbiAgICAgICAgLi4uKHBheWxvYWQuZmFxSWQgPyB7IGZhcUlkOiBwYXlsb2FkLmZhcUlkIH0gOiB7fSksXG4gICAgICAgIC4uLihwYXlsb2FkLmFnZW50U3VnZ2VzdGlvbklkID8geyBhZ2VudFN1Z2dlc3Rpb25JZDogcGF5bG9hZC5hZ2VudFN1Z2dlc3Rpb25JZCB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC5mdWFJZCA/IHsgZnVhSWQ6IHBheWxvYWQuZnVhSWQgfSA6IHt9KSxcbiAgICAgICAgLi4uKHBheWxvYWQuc2NJZCA/IHsgc2NJZDogcGF5bG9hZC5zY0lkIH0gOiB7fSksXG4gICAgICAgIC4uLihwYXlsb2FkLmFnZW50RW50aXR5ICE9IG51bGwgPyB7IGFnZW50RW50aXR5OiBwYXlsb2FkLmFnZW50RW50aXR5IH0gOiB7fSksXG4gICAgICAgIC4uLihwYXlsb2FkLmFnZW50VHlwZSAhPSBudWxsID8geyBhZ2VudFR5cGU6IHBheWxvYWQuYWdlbnRUeXBlIH0gOiB7fSksXG4gICAgICAgIC4uLihwYXlsb2FkLmNvbnRleHRNZXNzYWdlID8geyBjb250ZXh0TWVzc2FnZTogcGF5bG9hZC5jb250ZXh0TWVzc2FnZSB9IDoge30pLFxuICAgICAgICAuLi4ocGF5bG9hZC5jb250ZXh0RGF0YSA/IHsgY29udGV4dERhdGE6IHBheWxvYWQuY29udGV4dERhdGEgfSA6IHt9KSxcbiAgICAgIH1cblxuICAgICAgcmV0dXJuIHNlc3Npb25TdHJlYW1NYW5hZ2VyLnN0YXJ0U3RyZWFtKHtcbiAgICAgICAgc2Vzc2lvbklkLFxuICAgICAgICBwbGFjZWhvbGRlcklkLFxuICAgICAgICByZXF1ZXN0LFxuICAgICAgICB0LFxuICAgICAgICBhY3Rpdml0eU9wdGlvbnM6IHtcbiAgICAgICAgICBpc1dlYlNlYXJjaEFjdGl2ZTogcGF5bG9hZC5pc1dlYlNlYXJjaEFjdGl2ZSxcbiAgICAgICAgICBpc0RlZXBTZWFyY2hBY3RpdmU6IHBheWxvYWQuaXNEZWVwU2VhcmNoQWN0aXZlLFxuICAgICAgICAgIGhhc0F0dGFjaG1lbnRzOiBCb29sZWFuKHBheWxvYWQuYXR0YWNobWVudHM/Lmxlbmd0aCksXG4gICAgICAgICAgYXR0YWNobWVudHNDb3VudDogcGF5bG9hZC5hdHRhY2htZW50cz8ubGVuZ3RoID8/IDAsXG4gICAgICAgIH0sXG4gICAgICAgIGhpdGxFeGVjdXRpb25Db250ZXh0OiBoaXRsRXhlY3V0aW9uQ29udGV4dFJlZj8uY3VycmVudCA/PyBudWxsLFxuICAgICAgICBhZ2VudElkOiBwYXlsb2FkLmFnZW50SWQsXG4gICAgICAgIGFnZW50TmFtZTogcGF5bG9hZC5hZ2VudE5hbWUsXG4gICAgICAgIGNhbGxiYWNrczoge1xuICAgICAgICAgIG9uU3RyZWFtVXBkYXRlOiBjb250ZW50ID0+IG9uU3RyZWFtVXBkYXRlUmVmLmN1cnJlbnQ/LihjdHgsIGNvbnRlbnQpLFxuICAgICAgICAgIG9uU3RhcnRXcml0aW5nOiAoKSA9PiBvblN0YXJ0V3JpdGluZ1JlZi5jdXJyZW50Py4oKSxcbiAgICAgICAgICBvbkZpbmlzaFN0cmVhbTogZmluaXNoUGF5bG9hZCA9PlxuICAgICAgICAgICAgb25GaW5pc2hTdHJlYW1SZWYuY3VycmVudD8uKFxuICAgICAgICAgICAgICBjdHgsXG4gICAgICAgICAgICAgIGZpbmlzaFBheWxvYWQuY29udGVudCxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5zb3VyY2VzLFxuICAgICAgICAgICAgICBmaW5pc2hQYXlsb2FkLm1lbW9yeVNlc3Npb25JZCxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5hdHRhY2htZW50cyxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5zdWdnZXN0aW9ucyxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5jb21wbGV0ZWRBZ2VudElkLFxuICAgICAgICAgICAgICBmaW5pc2hQYXlsb2FkLnJlc29sdmVkQ29udGV4dCBhcyBhbnlcbiAgICAgICAgICAgICksXG4gICAgICAgICAgb25FcnJvcjogKGVycm9yVHlwZSwgZXJyb3JNZXNzYWdlKSA9PiBvbkVycm9yUmVmLmN1cnJlbnQ/LihjdHgsIGVycm9yVHlwZSwgZXJyb3JNZXNzYWdlKSxcbiAgICAgICAgICBvbkFwcHJvdmFsUmVxdWlyZWQ6IChhcHByb3ZhbCwgYWNjdW11bGF0ZWRDb250ZW50KSA9PlxuICAgICAgICAgICAgb25BcHByb3ZhbFJlcXVpcmVkUmVmLmN1cnJlbnQ/LihjdHgsIGFwcHJvdmFsLCBhY2N1bXVsYXRlZENvbnRlbnQpLFxuICAgICAgICB9LFxuICAgICAgfSlcbiAgICB9LFxuICAgIFt0LCBoaXRsRXhlY3V0aW9uQ29udGV4dFJlZl1cbiAgKVxuXG4gIGNvbnN0IHJldHJ5Q29tcGxldGlvbiA9IHVzZUNhbGxiYWNrKFxuICAgIGFzeW5jIChwYXlsb2FkOiBSZXRyeUNvbXBsZXRpb25QYXlsb2FkKTogUHJvbWlzZTxTdGFydFN0cmVhbVJlc3VsdD4gPT4ge1xuICAgICAgY29uc3QgeyBjaGF0SWQ6IHNlc3Npb25JZCwgbWVzc2FnZUlkIH0gPSBwYXlsb2FkXG4gICAgICBjb25zdCBwbGFjZWhvbGRlcklkID0gYGFuc3dlci0ke21lc3NhZ2VJZH0tc3RyZWFtaW5nYFxuICAgICAgY29uc3QgY3R4OiBTdHJlYW1Db250ZXh0ID0geyBzZXNzaW9uSWQsIG1lc3NhZ2VJZCwgcGxhY2Vob2xkZXJJZCB9XG5cbiAgICAgIHJldHVybiBzZXNzaW9uU3RyZWFtTWFuYWdlci5zdGFydFJldHJ5U3RyZWFtKHtcbiAgICAgICAgc2Vzc2lvbklkLFxuICAgICAgICBwbGFjZWhvbGRlcklkLFxuICAgICAgICByZXRyeVJlcXVlc3Q6IHtcbiAgICAgICAgICBzZXNzaW9uSWQsXG4gICAgICAgICAgbWVtb3J5U2Vzc2lvbklkOiBwYXlsb2FkLm1lbW9yeVNlc3Npb25JZCxcbiAgICAgICAgICBhZ2VudElkOiBwYXlsb2FkLmFnZW50SWQsXG4gICAgICAgICAgbGFuZzogcGF5bG9hZC5sYW5nLFxuICAgICAgICAgIGlzV2ViU2VhcmNoQWN0aXZlOiBwYXlsb2FkLmlzV2ViU2VhcmNoQWN0aXZlLFxuICAgICAgICAgIGlzRGVlcFNlYXJjaEFjdGl2ZTogcGF5bG9hZC5pc0RlZXBTZWFyY2hBY3RpdmUsXG4gICAgICAgICAgLi4uKHBheWxvYWQucHJvamVjdElkID8geyBwcm9qZWN0SWQ6IHBheWxvYWQucHJvamVjdElkIH0gOiB7fSksXG4gICAgICAgICAgLi4uKHBheWxvYWQuY2xpZW50SWQgIT0gbnVsbCA/IHsgY2xpZW50SWQ6IHBheWxvYWQuY2xpZW50SWQgfSA6IHt9KSxcbiAgICAgICAgICAuLi4ocGF5bG9hZC50YXNrSWQgIT0gbnVsbCA/IHsgdGFza0lkOiBwYXlsb2FkLnRhc2tJZCB9IDoge30pLFxuICAgICAgICAgIC4uLihwYXlsb2FkLmFnZW50VHlwZSAhPSBudWxsID8geyBhZ2VudFR5cGU6IHBheWxvYWQuYWdlbnRUeXBlIH0gOiB7fSksXG4gICAgICAgICAgLi4uKHBheWxvYWQuY29udGV4dERhdGEgPyB7IGNvbnRleHREYXRhOiBwYXlsb2FkLmNvbnRleHREYXRhIH0gOiB7fSksXG4gICAgICAgIH0sXG4gICAgICAgIHQsXG4gICAgICAgIGFjdGl2aXR5T3B0aW9uczoge1xuICAgICAgICAgIGlzV2ViU2VhcmNoQWN0aXZlOiBwYXlsb2FkLmlzV2ViU2VhcmNoQWN0aXZlLFxuICAgICAgICAgIGlzRGVlcFNlYXJjaEFjdGl2ZTogcGF5bG9hZC5pc0RlZXBTZWFyY2hBY3RpdmUsXG4gICAgICAgIH0sXG4gICAgICAgIGFnZW50SWQ6IHBheWxvYWQuYWdlbnRJZCxcbiAgICAgICAgYWdlbnROYW1lOiBwYXlsb2FkLmFnZW50TmFtZSxcbiAgICAgICAgY2FsbGJhY2tzOiB7XG4gICAgICAgICAgb25TdHJlYW1VcGRhdGU6IGNvbnRlbnQgPT4gb25TdHJlYW1VcGRhdGVSZWYuY3VycmVudD8uKGN0eCwgY29udGVudCksXG4gICAgICAgICAgb25TdGFydFdyaXRpbmc6ICgpID0+IG9uU3RhcnRXcml0aW5nUmVmLmN1cnJlbnQ/LigpLFxuICAgICAgICAgIG9uRmluaXNoU3RyZWFtOiBmaW5pc2hQYXlsb2FkID0+XG4gICAgICAgICAgICBvbkZpbmlzaFN0cmVhbVJlZi5jdXJyZW50Py4oXG4gICAgICAgICAgICAgIGN0eCxcbiAgICAgICAgICAgICAgZmluaXNoUGF5bG9hZC5jb250ZW50LFxuICAgICAgICAgICAgICBmaW5pc2hQYXlsb2FkLnNvdXJjZXMsXG4gICAgICAgICAgICAgIGZpbmlzaFBheWxvYWQubWVtb3J5U2Vzc2lvbklkLFxuICAgICAgICAgICAgICBmaW5pc2hQYXlsb2FkLmF0dGFjaG1lbnRzLFxuICAgICAgICAgICAgICBmaW5pc2hQYXlsb2FkLnN1Z2dlc3Rpb25zLFxuICAgICAgICAgICAgICBmaW5pc2hQYXlsb2FkLmNvbXBsZXRlZEFnZW50SWQsXG4gICAgICAgICAgICAgIGZpbmlzaFBheWxvYWQucmVzb2x2ZWRDb250ZXh0IGFzIGFueVxuICAgICAgICAgICAgKSxcbiAgICAgICAgICBvbkVycm9yOiAoZXJyb3JUeXBlLCBlcnJvck1lc3NhZ2UpID0+IG9uRXJyb3JSZWYuY3VycmVudD8uKGN0eCwgZXJyb3JUeXBlLCBlcnJvck1lc3NhZ2UpLFxuICAgICAgICAgIG9uQXBwcm92YWxSZXF1aXJlZDogKGFwcHJvdmFsLCBhY2N1bXVsYXRlZENvbnRlbnQpID0+XG4gICAgICAgICAgICBvbkFwcHJvdmFsUmVxdWlyZWRSZWYuY3VycmVudD8uKGN0eCwgYXBwcm92YWwsIGFjY3VtdWxhdGVkQ29udGVudCksXG4gICAgICAgIH0sXG4gICAgICB9KVxuICAgIH0sXG4gICAgW3RdXG4gIClcblxuICBjb25zdCBzdG9wU3RyZWFtaW5nID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNlc3Npb25TdHJlYW1NYW5hZ2VyLnN0b3BTdHJlYW0oYWN0aXZlU2Vzc2lvbklkLCB7XG4gICAgICBvblN0b3A6IHBhcnRpYWxUZXh0ID0+IG9uU3RvcFJlZi5jdXJyZW50Py4ocGFydGlhbFRleHQpLFxuICAgIH0pXG4gIH0sIFthY3RpdmVTZXNzaW9uSWRdKVxuXG4gIGNvbnN0IGFib3J0U3RyZWFtU2lsZW50bHkgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2Vzc2lvblN0cmVhbU1hbmFnZXIuYWJvcnRTaWxlbnRseShhY3RpdmVTZXNzaW9uSWQpXG4gIH0sIFthY3RpdmVTZXNzaW9uSWRdKVxuXG4gIGNvbnN0IHVwZGF0ZVN0cmVhbUFjdGl2aXR5ID0gdXNlQ2FsbGJhY2soXG4gICAgKGFjdGl2aXR5OiBTdHJlYW1BY3Rpdml0eSB8IG51bGwpID0+IHtcbiAgICAgIHVzZVNlc3Npb25zU3RvcmUuZ2V0U3RhdGUoKS5zZXRBY3Rpdml0eShhY3RpdmVTZXNzaW9uSWQsIGFjdGl2aXR5KVxuICAgIH0sXG4gICAgW2FjdGl2ZVNlc3Npb25JZF1cbiAgKVxuXG4gIGNvbnN0IHJlc2V0ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHVzZVNlc3Npb25zU3RvcmUuZ2V0U3RhdGUoKS5wYXRjaE1ldGEoYWN0aXZlU2Vzc2lvbklkLCB7IGlzTG9hZGluZzogZmFsc2UsIGlzV3JpdGluZzogZmFsc2UgfSlcbiAgICB1c2VTZXNzaW9uc1N0b3JlLmdldFN0YXRlKCkuc2V0QWN0aXZpdHkoYWN0aXZlU2Vzc2lvbklkLCBudWxsKVxuICB9LCBbYWN0aXZlU2Vzc2lvbklkXSlcblxuICByZXR1cm4ge1xuICAgIGFza01haWEsXG4gICAgcmV0cnlDb21wbGV0aW9uLFxuICAgIGlzTG9hZGluZyxcbiAgICBpc1dyaXRpbmcsXG4gICAgbG9hZGluZ01lc3NhZ2UsXG4gICAgc3RyZWFtQWN0aXZpdHksXG4gICAgdXBkYXRlU3RyZWFtQWN0aXZpdHksXG4gICAgcmVzZXQsXG4gICAgc3RvcFN0cmVhbWluZyxcbiAgICBhYm9ydFN0cmVhbVNpbGVudGx5LFxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBQUE7QUFDQSxTQUFTQSxXQUFXLEVBQUVDLE1BQU0sUUFBUSxPQUFPO0FBQzNDLFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBTTlDLFNBQVNDLFFBQVEsUUFBUSx3QkFBd0I7QUFFakQsU0FBU0Msb0JBQW9CLFFBQVEsMkNBQTJDO0FBQ2hGLFNBQVNDLGdCQUFnQixRQUFRLHVDQUF1QztBQUN4RSxTQUFTQyxxQkFBcUIsUUFBUSxxQ0FBcUM7QUFvRDNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sSUFBTUMscUJBQXFCLEdBQUcsU0FBeEJBLHFC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
@@ -4,7 +4,6 @@ function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbol
4
4
  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; }
5
5
  import { useCallback, useRef, useMemo, useState, useEffect } from 'react';
6
6
  import { SECTIONS } from '../constants/config';
7
- import { readAutoApprove, writeAutoApprove } from '../utils/autoApproveStorage';
8
7
  import { buildConfigureSettingsItems } from '../constants/permissions';
9
8
  import { useUser } from '../context/cor-user';
10
9
  import { useTWithSection } from './useT';
@@ -34,33 +33,27 @@ export var useProjectSummaryConfig = function useProjectSummaryConfig(_ref) {
34
33
  _useState6 = _slicedToArray(_useState5, 2),
35
34
  isDeepSearchActive = _useState6[0],
36
35
  setIsDeepSearchActive = _useState6[1];
37
- var _useState7 = useState(function () {
38
- return readAutoApprove(user === null || user === void 0 ? void 0 : user.id);
39
- }),
40
- _useState8 = _slicedToArray(_useState7, 2),
41
- isAutoApproveActive = _useState8[0],
42
- setIsAutoApproveActive = _useState8[1];
43
- var _useState9 = useState(entity || {
36
+ var _useState7 = useState(entity || {
44
37
  projectId: null,
45
38
  clientId: null
46
39
  }),
40
+ _useState8 = _slicedToArray(_useState7, 2),
41
+ entityValues = _useState8[0],
42
+ setEntityValues = _useState8[1];
43
+ var _useState9 = useState(initialClient !== null && initialClient !== void 0 ? initialClient : null),
47
44
  _useState0 = _slicedToArray(_useState9, 2),
48
- entityValues = _useState0[0],
49
- setEntityValues = _useState0[1];
50
- var _useState1 = useState(initialClient !== null && initialClient !== void 0 ? initialClient : null),
51
- _useState10 = _slicedToArray(_useState1, 2),
52
- client = _useState10[0],
53
- setClientState = _useState10[1];
45
+ client = _useState0[0],
46
+ setClientState = _useState0[1];
54
47
  var setClient = setClientProp !== null && setClientProp !== void 0 ? setClientProp : setClientState;
55
- var _useState11 = useState(initialTask !== null && initialTask !== void 0 ? initialTask : null),
56
- _useState12 = _slicedToArray(_useState11, 2),
57
- task = _useState12[0],
58
- setTaskState = _useState12[1];
48
+ var _useState1 = useState(initialTask !== null && initialTask !== void 0 ? initialTask : null),
49
+ _useState10 = _slicedToArray(_useState1, 2),
50
+ task = _useState10[0],
51
+ setTaskState = _useState10[1];
59
52
  var setTask = useCallback(function (newTask) {
60
53
  return setTaskState(newTask);
61
54
  }, []);
62
55
  var configureSettingsItems = useRef(buildConfigureSettingsItems(user, t));
63
- var _useState13 = useState(function () {
56
+ var _useState11 = useState(function () {
64
57
  if ((section === 'project' || section === 'task') && (project === null || project === void 0 ? void 0 : project.id) != null) {
65
58
  var _project$client$name, _project$client;
66
59
  return {
@@ -71,9 +64,9 @@ export var useProjectSummaryConfig = function useProjectSummaryConfig(_ref) {
71
64
  }
72
65
  return null;
73
66
  }),
74
- _useState14 = _slicedToArray(_useState13, 2),
75
- chipsProject = _useState14[0],
76
- setChipsProjectState = _useState14[1];
67
+ _useState12 = _slicedToArray(_useState11, 2),
68
+ chipsProject = _useState12[0],
69
+ setChipsProjectState = _useState12[1];
77
70
 
78
71
  // Sincronizar chipsProject cuando el project prop cambia (ej. navegación entre proyectos o tareas)
79
72
  useEffect(function () {
@@ -138,16 +131,6 @@ export var useProjectSummaryConfig = function useProjectSummaryConfig(_ref) {
138
131
  return !prev;
139
132
  });
140
133
  }, []);
141
- var toggleAutoApprove = useCallback(function () {
142
- setIsAutoApproveActive(function (prev) {
143
- var next = !prev;
144
- writeAutoApprove(user === null || user === void 0 ? void 0 : user.id, next);
145
- return next;
146
- });
147
- }, [user === null || user === void 0 ? void 0 : user.id]);
148
- useEffect(function () {
149
- setIsAutoApproveActive(readAutoApprove(user === null || user === void 0 ? void 0 : user.id));
150
- }, [user === null || user === void 0 ? void 0 : user.id]);
151
134
  var setChipsProject = useCallback(function (newChipsProject) {
152
135
  setChipsProjectState(newChipsProject);
153
136
  }, []);
@@ -212,8 +195,6 @@ export var useProjectSummaryConfig = function useProjectSummaryConfig(_ref) {
212
195
  setTask: setTask,
213
196
  isWebSearchActive: isWebSearchActive,
214
197
  toggleWebSearch: toggleWebSearch,
215
- isAutoApproveActive: isAutoApproveActive,
216
- toggleAutoApprove: toggleAutoApprove,
217
198
  isDeepSearchActive: isDeepSearchActive,
218
199
  toggleDeepSearch: toggleDeepSearch,
219
200
  hasMultiAgents: hasMultiAgents,
@@ -221,10 +202,10 @@ export var useProjectSummaryConfig = function useProjectSummaryConfig(_ref) {
221
202
  setChipsProject: setChipsProject,
222
203
  pinnedContext: pinnedContext
223
204
  };
224
- }, [section, entityValues === null || entityValues === void 0 ? void 0 : entityValues.projectId, entityValues === null || entityValues === void 0 ? void 0 : entityValues.clientId, agent, selectAgent, clearAgent, setEntityValues, restoreConfigureSettings, project === null || project === void 0 ? void 0 : project.id, setProject, client === null || client === void 0 ? void 0 : client.id, setClient, task === null || task === void 0 ? void 0 : task.id, setTask, isWebSearchActive, toggleWebSearch, isAutoApproveActive, toggleAutoApprove, isDeepSearchActive, toggleDeepSearch, hasMultiAgents, chipsProject, setChipsProject, pinnedContext]);
205
+ }, [section, entityValues === null || entityValues === void 0 ? void 0 : entityValues.projectId, entityValues === null || entityValues === void 0 ? void 0 : entityValues.clientId, agent, selectAgent, clearAgent, setEntityValues, restoreConfigureSettings, project === null || project === void 0 ? void 0 : project.id, setProject, client === null || client === void 0 ? void 0 : client.id, setClient, task === null || task === void 0 ? void 0 : task.id, setTask, isWebSearchActive, toggleWebSearch, isDeepSearchActive, toggleDeepSearch, hasMultiAgents, chipsProject, setChipsProject, pinnedContext]);
225
206
  return {
226
207
  context: context,
227
208
  restoreConfigureSettings: restoreConfigureSettings
228
209
  };
229
210
  };
230
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZVJlZiIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsIlNFQ1RJT05TIiwicmVhZEF1dG9BcHByb3ZlIiwid3JpdGVBdXRvQXBwcm92ZSIsImJ1aWxkQ29uZmlndXJlU2V0dGluZ3NJdGVtcyIsInVzZVVzZXIiLCJ1c2VUV2l0aFNlY3Rpb24iLCJ1c2VQcm9qZWN0U3VtbWFyeUNvbmZpZyIsIl9yZWYiLCJfcHJvamVjdCRjbGllbnQzIiwic2VjdGlvbiIsImVudGl0eSIsInByb2plY3QiLCJzZXRQcm9qZWN0IiwiX3JlZiRjbGllbnQiLCJjbGllbnQiLCJpbml0aWFsQ2xpZW50Iiwic2V0Q2xpZW50UHJvcCIsInNldENsaWVudCIsIl9yZWYkdGFzayIsInRhc2siLCJpbml0aWFsVGFzayIsImhhc011bHRpQWdlbnRzIiwidXNlciIsInQiLCJjaGF0QUkiLCJfdXNlU3RhdGUiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJhZ2VudCIsInNldEFnZW50IiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJpc1dlYlNlYXJjaEFjdGl2ZSIsInNldElzV2ViU2VhcmNoQWN0aXZlIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJpc0RlZXBTZWFyY2hBY3RpdmUiLCJzZXRJc0RlZXBTZWFyY2hBY3RpdmUiLCJfdXNlU3RhdGU3IiwiaWQiLCJfdXNlU3RhdGU4IiwiaXNBdXRvQXBwcm92ZUFjdGl2ZSIsInNldElzQXV0b0FwcHJvdmVBY3RpdmUiLCJfdXNlU3RhdGU5IiwicHJvamVjdElkIiwiY2xpZW50SWQiLCJfdXNlU3RhdGUwIiwiZW50aXR5VmFsdWVzIiwic2V0RW50aXR5VmFsdWVzIiwiX3VzZVN0YXRlMSIsIl91c2VTdGF0ZTEwIiwic2V0Q2xpZW50U3RhdGUiLCJfdXNlU3RhdGUxMSIsIl91c2VTdGF0ZTEyIiwic2V0VGFza1N0YXRlIiwic2V0VGFzayIsIm5ld1Rhc2siLCJjb25maWd1cmVTZXR0aW5nc0l0ZW1zIiwiX3VzZVN0YXRlMTMiLCJfcHJvamVjdCRjbGllbnQkbmFtZSIsIl9wcm9qZWN0JGNsaWVudCIsIlN0cmluZyIsInByb2plY3ROYW1lIiwibmFtZSIsImNsaWVudE5hbWUiLCJfdXNlU3RhdGUxNCIsImNoaXBzUHJvamVjdCIsInNldENoaXBzUHJvamVjdFN0YXRlIiwicHJldiIsIl9wcm9qZWN0JGNsaWVudCRuYW1lMiIsIl9wcm9qZWN0JGNsaWVudDIiLCJfZW50aXR5JHByb2plY3RJZCIsIl9lbnRpdHkkY2xpZW50SWQiLCJyZXN0b3JlQ29uZmlndXJlU2V0dGluZ3MiLCJfY29uZmlndXJlU2V0dGluZ3NJdGUiLCJjdXJyZW50IiwibWFwIiwiaXRlbSIsIl9vYmplY3RTcHJlYWQiLCJjaGVja2VkIiwiaGlkZGVuIiwic2VsZWN0QWdlbnQiLCJuZXdBZ2VudCIsImNsZWFyQWdlbnQiLCJ0b2dnbGVXZWJTZWFyY2giLCJ0b2dnbGVEZWVwU2VhcmNoIiwidG9nZ2xlQXV0b0FwcHJvdmUiLCJuZXh0Iiwic2V0Q2hpcHNQcm9qZWN0IiwibmV3Q2hpcHNQcm9qZWN0IiwicGlubmVkQ29udGV4dCIsInR5cGUiLCJwYXJlbnRzIiwiY29udGV4dCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9ob29rcy91c2VQcm9qZWN0U3VtbWFyeUNvbmZpZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlUmVmLCB1c2VNZW1vLCB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnXG5cbmltcG9ydCB7IENoaXBzUHJvamVjdCwgUGlubmVkQ29udGV4dCwgdHlwZSBTZWN0aW9uIH0gZnJvbSAnLi4vY29udGV4dC9nbG9iYWwtY29udGV4dCdcbmltcG9ydCB7IFNFQ1RJT05TIH0gZnJvbSAnLi4vY29uc3RhbnRzL2NvbmZpZydcbmltcG9ydCB7IHJlYWRBdXRvQXBwcm92ZSwgd3JpdGVBdXRvQXBwcm92ZSB9IGZyb20gJy4uL3V0aWxzL2F1dG9BcHByb3ZlU3RvcmFnZSdcbmltcG9ydCB7IGJ1aWxkQ29uZmlndXJlU2V0dGluZ3NJdGVtcyB9IGZyb20gJy4uL2NvbnN0YW50cy9wZXJtaXNzaW9ucydcbmltcG9ydCB7IHVzZVVzZXIgfSBmcm9tICcuLi9jb250ZXh0L2Nvci11c2VyJ1xuaW1wb3J0IHsgQWdlbnQgfSBmcm9tICcuLi90eXBlcy9hZ2VudCdcblxuaW1wb3J0IHsgdXNlVFdpdGhTZWN0aW9uIH0gZnJvbSAnLi91c2VUJ1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gJy4uL3R5cGVzL1Byb2plY3QnXG5pbXBvcnQgeyBDbGllbnQgfSBmcm9tICcuLi90eXBlcy9DbGllbnQnXG5pbXBvcnQgeyBUYXNrIH0gZnJvbSAnLi4vdHlwZXMvVGFzaydcblxudHlwZSBQcm9qZWN0U3VtbWFyeUNvbmZpZ1Byb3BzID0ge1xuICBzZWN0aW9uOiAncHJvamVjdCcgfCAnaGVhZGVyJyB8ICdjbGllbnQnIHwgJ3Rhc2snIHwgJ3BsYW5uZXInXG4gIGVudGl0eT86IHtcbiAgICBwcm9qZWN0SWQ6IHN0cmluZyB8IG51bGxcbiAgICBjbGllbnRJZDogc3RyaW5nIHwgbnVsbFxuICB9IHwgbnVsbFxuICBwcm9qZWN0OiBQcm9qZWN0IHwgbnVsbFxuICBzZXRQcm9qZWN0OiAocHJvamVjdDogUHJvamVjdCB8IG51bGwpID0+IHZvaWRcbiAgY2xpZW50PzogQ2xpZW50IHwgbnVsbFxuICBzZXRDbGllbnQ/OiAoY2xpZW50OiBDbGllbnQgfCBudWxsKSA9PiB2b2lkXG4gIHRhc2s/OiBUYXNrIHwgbnVsbFxuICBoYXNNdWx0aUFnZW50cz86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IHVzZVByb2plY3RTdW1tYXJ5Q29uZmlnID0gKHtcbiAgc2VjdGlvbixcbiAgZW50aXR5LFxuICBwcm9qZWN0LFxuICBzZXRQcm9qZWN0LFxuICBjbGllbnQ6IGluaXRpYWxDbGllbnQgPSBudWxsLFxuICBzZXRDbGllbnQ6IHNldENsaWVudFByb3AsXG4gIHRhc2s6IGluaXRpYWxUYXNrID0gbnVsbCxcbiAgaGFzTXVsdGlBZ2VudHMsXG59OiBQcm9qZWN0U3VtbWFyeUNvbmZpZ1Byb3BzKSA9PiB7XG4gIGNvbnN0IHVzZXIgPSB1c2VVc2VyKClcbiAgY29uc3QgdCA9IHVzZVRXaXRoU2VjdGlvbihTRUNUSU9OUy5jaGF0QUkpXG4gIGNvbnN0IFthZ2VudCwgc2V0QWdlbnRdID0gdXNlU3RhdGU8QWdlbnQgfCBudWxsPihudWxsKVxuICBjb25zdCBbaXNXZWJTZWFyY2hBY3RpdmUsIHNldElzV2ViU2VhcmNoQWN0aXZlXSA9IHVzZVN0YXRlPGJvb2xlYW4+KGZhbHNlKVxuICBjb25zdCBbaXNEZWVwU2VhcmNoQWN0aXZlLCBzZXRJc0RlZXBTZWFyY2hBY3RpdmVdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpXG4gIGNvbnN0IFtpc0F1dG9BcHByb3ZlQWN0aXZlLCBzZXRJc0F1dG9BcHByb3ZlQWN0aXZlXSA9IHVzZVN0YXRlPGJvb2xlYW4+KCgpID0+IHJlYWRBdXRvQXBwcm92ZSh1c2VyPy5pZCkpXG4gIGNvbnN0IFtlbnRpdHlWYWx1ZXMsIHNldEVudGl0eVZhbHVlc10gPSB1c2VTdGF0ZTx7XG4gICAgcHJvamVjdElkOiBzdHJpbmcgfCBudWxsXG4gICAgY2xpZW50SWQ6IHN0cmluZyB8IG51bGxcbiAgfT4oZW50aXR5IHx8IHsgcHJvamVjdElkOiBudWxsLCBjbGllbnRJZDogbnVsbCB9KVxuICBjb25zdCBbY2xpZW50LCBzZXRDbGllbnRTdGF0ZV0gPSB1c2VTdGF0ZTxDbGllbnQgfCBudWxsPihpbml0aWFsQ2xpZW50ID8/IG51bGwpXG5cbiAgY29uc3Qgc2V0Q2xpZW50ID0gc2V0Q2xpZW50UHJvcCA/PyBzZXRDbGllbnRTdGF0ZVxuXG4gIGNvbnN0IFt0YXNrLCBzZXRUYXNrU3RhdGVdID0gdXNlU3RhdGU8VGFzayB8IG51bGw+KGluaXRpYWxUYXNrID8/IG51bGwpXG4gIGNvbnN0IHNldFRhc2sgPSB1c2VDYWxsYmFjaygobmV3VGFzazogVGFzayB8IG51bGwpID0+IHNldFRhc2tTdGF0ZShuZXdUYXNrKSwgW10pXG5cbiAgY29uc3QgY29uZmlndXJlU2V0dGluZ3NJdGVtcyA9IHVzZVJlZihidWlsZENvbmZpZ3VyZVNldHRpbmdzSXRlbXModXNlciwgdCkpXG4gIGNvbnN0IFtjaGlwc1Byb2plY3QsIHNldENoaXBzUHJvamVjdFN0YXRlXSA9IHVzZVN0YXRlPENoaXBzUHJvamVjdCB8IG51bGw+KCgpID0+IHtcbiAgICBpZiAoKHNlY3Rpb24gPT09ICdwcm9qZWN0JyB8fCBzZWN0aW9uID09PSAndGFzaycpICYmIHByb2plY3Q/LmlkICE9IG51bGwpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHByb2plY3RJZDogU3RyaW5nKHByb2plY3QuaWQpLFxuICAgICAgICBwcm9qZWN0TmFtZTogcHJvamVjdC5uYW1lLFxuICAgICAgICBjbGllbnROYW1lOiBwcm9qZWN0LmNsaWVudD8ubmFtZSA/PyAnJyxcbiAgICAgIH1cbiAgICB9XG4gICAgcmV0dXJuIG51bGxcbiAgfSlcblxuICAvLyBTaW5jcm9uaXphciBjaGlwc1Byb2plY3QgY3VhbmRvIGVsIHByb2plY3QgcHJvcCBjYW1iaWEgKGVqLiBuYXZlZ2FjacOzbiBlbnRyZSBwcm95ZWN0b3MgbyB0YXJlYXMpXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKChzZWN0aW9uID09PSAncHJvamVjdCcgfHwgc2VjdGlvbiA9PT0gJ3Rhc2snKSAmJiBwcm9qZWN0Py5pZCAhPSBudWxsKSB7XG4gICAgICBzZXRDaGlwc1Byb2plY3RTdGF0ZShwcmV2ID0+IHtcbiAgICAgICAgaWYgKHByZXY/LnByb2plY3RJZCA9PT0gU3RyaW5nKHByb2plY3QuaWQpKSByZXR1cm4gcHJldlxuICAgICAgICByZXR1cm4ge1xuICAgICAgICAgIHByb2plY3RJZDogU3RyaW5nKHByb2plY3QuaWQpLFxuICAgICAgICAgIHByb2plY3ROYW1lOiBwcm9qZWN0Lm5hbWUsXG4gICAgICAgICAgY2xpZW50TmFtZTogcHJvamVjdC5jbGllbnQ/Lm5hbWUgPz8gJycsXG4gICAgICAgIH1cbiAgICAgIH0pXG4gICAgfVxuICB9LCBbc2VjdGlvbiwgcHJvamVjdD8uaWQsIHByb2plY3Q/Lm5hbWUsIHByb2plY3Q/LmNsaWVudD8ubmFtZV0pXG5cbiAgLy8gU2luY3Jvbml6YXIgY2xpZW50IGN1YW5kbyBsYSBwcm9wIGxsZWd1ZSBkZXNwdcOpcyBkZWwgcHJpbWVyIHJlbmRlciAoZWouIHNlY3Rpb24gY2xpZW50LCBkYXRvcyBhc3luYylcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoc2VjdGlvbiA9PT0gJ2NsaWVudCcpIHtcbiAgICAgIHNldENsaWVudFN0YXRlKGluaXRpYWxDbGllbnQgPz8gbnVsbClcbiAgICB9XG4gIH0sIFtzZWN0aW9uLCBpbml0aWFsQ2xpZW50XSlcblxuICAvLyBTaW5jcm9uaXphciB0YXNrIGN1YW5kbyBsYSBwcm9wIGxsZWd1ZSBkZXNwdcOpcyBkZWwgcHJpbWVyIHJlbmRlclxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChzZWN0aW9uID09PSAndGFzaycpIHtcbiAgICAgIHNldFRhc2tTdGF0ZShpbml0aWFsVGFzayA/PyBudWxsKVxuICAgIH1cbiAgfSwgW3NlY3Rpb24sIGluaXRpYWxUYXNrXSlcblxuICAvLyBTaW5jcm9uaXphciBlbnRpdHlWYWx1ZXMgY3VhbmRvIGVudGl0eSBjYW1iaWUgKGVqLiBsbGVndWUgZGVzcHXDqXMgZGVsIHByaW1lciByZW5kZXIpXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGVudGl0eSAhPSBudWxsKSB7XG4gICAgICBzZXRFbnRpdHlWYWx1ZXMoe1xuICAgICAgICBwcm9qZWN0SWQ6IGVudGl0eS5wcm9qZWN0SWQgPz8gbnVsbCxcbiAgICAgICAgY2xpZW50SWQ6IGVudGl0eS5jbGllbnRJZCA/PyBudWxsLFxuICAgICAgfSlcbiAgICB9XG4gIH0sIFtlbnRpdHk/LnByb2plY3RJZCwgZW50aXR5Py5jbGllbnRJZF0pXG5cbiAgY29uc3QgcmVzdG9yZUNvbmZpZ3VyZVNldHRpbmdzID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIGNvbmZpZ3VyZVNldHRpbmdzSXRlbXMuY3VycmVudCA9IGNvbmZpZ3VyZVNldHRpbmdzSXRlbXMuY3VycmVudD8ubWFwKGl0ZW0gPT4gKHtcbiAgICAgIC4uLml0ZW0sXG4gICAgICBjaGVja2VkOiAhaXRlbS5oaWRkZW4sXG4gICAgfSkpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IHNlbGVjdEFnZW50ID0gdXNlQ2FsbGJhY2soKG5ld0FnZW50OiBBZ2VudCkgPT4ge1xuICAgIHNldEFnZW50KG5ld0FnZW50KVxuICB9LCBbXSlcblxuICBjb25zdCBjbGVhckFnZW50ID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldEFnZW50KG51bGwpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IHRvZ2dsZVdlYlNlYXJjaCA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc1dlYlNlYXJjaEFjdGl2ZShwcmV2ID0+ICFwcmV2KVxuICB9LCBbXSlcblxuICBjb25zdCB0b2dnbGVEZWVwU2VhcmNoID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldElzRGVlcFNlYXJjaEFjdGl2ZShwcmV2ID0+ICFwcmV2KVxuICB9LCBbXSlcblxuICBjb25zdCB0b2dnbGVBdXRvQXBwcm92ZSA9IHVzZUNhbGxiYWNrKCgpID0+IHtcbiAgICBzZXRJc0F1dG9BcHByb3ZlQWN0aXZlKHByZXYgPT4ge1xuICAgICAgY29uc3QgbmV4dCA9ICFwcmV2XG4gICAgICB3cml0ZUF1dG9BcHByb3ZlKHVzZXI/LmlkLCBuZXh0KVxuICAgICAgcmV0dXJuIG5leHRcbiAgICB9KVxuICB9LCBbdXNlcj8uaWRdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgc2V0SXNBdXRvQXBwcm92ZUFjdGl2ZShyZWFkQXV0b0FwcHJvdmUodXNlcj8uaWQpKVxuICB9LCBbdXNlcj8uaWRdKVxuXG4gIGNvbnN0IHNldENoaXBzUHJvamVjdCA9IHVzZUNhbGxiYWNrKChuZXdDaGlwc1Byb2plY3Q6IENoaXBzUHJvamVjdCB8IG51bGwpID0+IHtcbiAgICBzZXRDaGlwc1Byb2plY3RTdGF0ZShuZXdDaGlwc1Byb2plY3QpXG4gIH0sIFtdKVxuXG4gIC8vIFBpbiBkZXJpdmFkbyAoUkZDIMKnMTIuMik6IGxhIGVudGlkYWQgbcOhcyBlc3BlY8OtZmljYSBhY3RpdmEgKHRhcmVhID4gcHJveWVjdG8gPiBjbGllbnRlKSxcbiAgLy8gY29uIHN1IHNjb3BlIGhhY2lhIGFycmliYSBlbiBgcGFyZW50c2AuIE1vbm8gaG95OyBhcnJheS1yZWFkeSBwYXJhIGNyb3NzLWVudGl0eS5cbiAgY29uc3QgcGlubmVkQ29udGV4dCA9IHVzZU1lbW88UGlubmVkQ29udGV4dCB8IG51bGw+KCgpID0+IHtcbiAgICBpZiAodGFzaz8uaWQgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogJ3Rhc2snLFxuICAgICAgICBpZDogdGFzay5pZCxcbiAgICAgICAgbmFtZTogdGFzay5uYW1lLFxuICAgICAgICBwYXJlbnRzOiB7XG4gICAgICAgICAgLi4uKHRhc2suY2xpZW50SWQgIT0gbnVsbCA/IHsgY2xpZW50SWQ6IHRhc2suY2xpZW50SWQgfSA6IHt9KSxcbiAgICAgICAgICAuLi4odGFzay5wcm9qZWN0SWQgIT0gbnVsbCA/IHsgcHJvamVjdElkOiB0YXNrLnByb2plY3RJZCB9IDoge30pLFxuICAgICAgICB9LFxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2hpcHNQcm9qZWN0Py5wcm9qZWN0SWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICdwcm9qZWN0JyxcbiAgICAgICAgaWQ6IGNoaXBzUHJvamVjdC5wcm9qZWN0SWQsXG4gICAgICAgIG5hbWU6IGNoaXBzUHJvamVjdC5wcm9qZWN0TmFtZSxcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb2plY3Q/LmlkICE9IG51bGwpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICdwcm9qZWN0JyxcbiAgICAgICAgaWQ6IHByb2plY3QuaWQsXG4gICAgICAgIG5hbWU6IHByb2plY3QubmFtZSxcbiAgICAgICAgLi4uKHByb2plY3QuY2xpZW50SWQgIT0gbnVsbCA/IHsgcGFyZW50czogeyBjbGllbnRJZDogcHJvamVjdC5jbGllbnRJZCB9IH0gOiB7fSksXG4gICAgICB9XG4gICAgfVxuICAgIGlmIChjbGllbnQ/LmlkICE9IG51bGwpIHtcbiAgICAgIHJldHVybiB7IHR5cGU6ICdjbGllbnQnLCBpZDogY2xpZW50LmlkLCBuYW1lOiBjbGllbnQubmFtZSB9XG4gICAgfVxuICAgIHJldHVybiBudWxsXG4gIH0sIFtcbiAgICB0YXNrPy5pZCxcbiAgICB0YXNrPy5uYW1lLFxuICAgIHRhc2s/LmNsaWVudElkLFxuICAgIHRhc2s/LnByb2plY3RJZCxcbiAgICBjaGlwc1Byb2plY3QsXG4gICAgcHJvamVjdD8uaWQsXG4gICAgcHJvamVjdD8ubmFtZSxcbiAgICBwcm9qZWN0Py5jbGllbnRJZCxcbiAgICBjbGllbnQ/LmlkLFxuICAgIGNsaWVudD8ubmFtZSxcbiAgXSlcblxuICBjb25zdCBjb250ZXh0ID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgZW50aXR5VmFsdWVzLFxuICAgICAgc2VjdGlvbjogc2VjdGlvbiBhcyBTZWN0aW9uLFxuICAgICAgYWdlbnQsXG4gICAgICBzZWxlY3RBZ2VudCxcbiAgICAgIGNsZWFyQWdlbnQsXG4gICAgICBjb25maWd1cmVTZXR0aW5nc0l0ZW1zLFxuICAgICAgcmVzdG9yZUNvbmZpZ3VyZVNldHRpbmdzLFxuICAgICAgc2V0RW50aXR5VmFsdWVzLFxuICAgICAgcHJvamVjdCxcbiAgICAgIHNldFByb2plY3QsXG4gICAgICBjbGllbnQsXG4gICAgICBzZXRDbGllbnQsXG4gICAgICB0YXNrLFxuICAgICAgc2V0VGFzayxcbiAgICAgIGlzV2ViU2VhcmNoQWN0aXZlLFxuICAgICAgdG9nZ2xlV2ViU2VhcmNoLFxuICAgICAgaXNBdXRvQXBwcm92ZUFjdGl2ZSxcbiAgICAgIHRvZ2dsZUF1dG9BcHByb3ZlLFxuICAgICAgaXNEZWVwU2VhcmNoQWN0aXZlLFxuICAgICAgdG9nZ2xlRGVlcFNlYXJjaCxcbiAgICAgIGhhc011bHRpQWdlbnRzLFxuICAgICAgY2hpcHNQcm9qZWN0LFxuICAgICAgc2V0Q2hpcHNQcm9qZWN0LFxuICAgICAgcGlubmVkQ29udGV4dCxcbiAgICB9KSxcbiAgICBbXG4gICAgICBzZWN0aW9uLFxuICAgICAgZW50aXR5VmFsdWVzPy5wcm9qZWN0SWQsXG4gICAgICBlbnRpdHlWYWx1ZXM/LmNsaWVudElkLFxuICAgICAgYWdlbnQsXG4gICAgICBzZWxlY3RBZ2VudCxcbiAgICAgIGNsZWFyQWdlbnQsXG4gICAgICBzZXRFbnRpdHlWYWx1ZXMsXG4gICAgICByZXN0b3JlQ29uZmlndXJlU2V0dGluZ3MsXG4gICAgICBwcm9qZWN0Py5pZCxcbiAgICAgIHNldFByb2plY3QsXG4gICAgICBjbGllbnQ/LmlkLFxuICAgICAgc2V0Q2xpZW50LFxuICAgICAgdGFzaz8uaWQsXG4gICAgICBzZXRUYXNrLFxuICAgICAgaXNXZWJTZWFyY2hBY3RpdmUsXG4gICAgICB0b2dnbGVXZWJTZWFyY2gsXG4gICAgICBpc0F1dG9BcHByb3ZlQWN0aXZlLFxuICAgICAgdG9nZ2xlQXV0b0FwcHJvdmUsXG4gICAgICBpc0RlZXBTZWFyY2hBY3RpdmUsXG4gICAgICB0b2dnbGVEZWVwU2VhcmNoLFxuICAgICAgaGFzTXVsdGlBZ2VudHMsXG4gICAgICBjaGlwc1Byb2plY3QsXG4gICAgICBzZXRDaGlwc1Byb2plY3QsXG4gICAgICBwaW5uZWRDb250ZXh0LFxuICAgIF1cbiAgKVxuXG4gIHJldHVybiB7XG4gICAgY29udGV4dCxcbiAgICByZXN0b3JlQ29uZmlndXJlU2V0dGluZ3MsXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLFNBQVNBLFdBQVcsRUFBRUMsTUFBTSxFQUFFQyxPQUFPLEVBQUVDLFFBQVEsRUFBRUMsU0FBUyxRQUFR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VyxFQUFYQSxXQUFXO01BQ1hFLFVBQVUsRUFBVkEsVUFBVTtNQUNWMUIsc0JBQXNCLEVBQXRCQSxzQkFBc0I7TUFDdEJnQix3QkFBd0IsRUFBeEJBLHdCQUF3QjtNQUN4QnpCLGVBQWUsRUFBZkEsZUFBZTtNQUNmckMsT0FBTyxFQUFQQSxPQUFPO01BQ1BDLFVBQVUsRUFBVkEsVUFBVTtNQUNWRSxNQUFNLEVBQU5BLE1BQU07TUFDTkcsU0FBUyxFQUFUQSxTQUFTO01BQ1RFLElBQUksRUFBSkEsSUFBSTtNQUNKb0MsT0FBTyxFQUFQQSxPQUFPO01BQ1B2QixpQkFBaUIsRUFBakJBLGlCQUFpQjtNQUNqQm9ELGVBQWUsRUFBZkEsZUFBZTtNQUNmM0MsbUJBQW1CLEVBQW5CQSxtQkFBbUI7TUFDbkI2QyxpQkFBaUIsRUFBakJBLGlCQUFpQjtNQUNqQmxELGtCQUFrQixFQUFsQkEsa0JBQWtCO01BQ2xCaUQsZ0JBQWdCLEVBQWhCQSxnQkFBZ0I7TUFDaEJoRSxjQUFjLEVBQWRBLGNBQWM7TUFDZDZDLFlBQVksRUFBWkEsWUFBWTtNQUNac0IsZUFBZSxFQUFmQSxlQUFlO01BQ2ZFLGFBQWEsRUFBYkE7SUFDRixDQUFDO0VBQUEsQ0FBQyxFQUNGLENBQ0VqRixPQUFPLEVBQ1BzQyxZQUFZLGFBQVpBLFlBQVksdUJBQVpBLFlBQVksQ0FBRUgsU0FBUyxFQUN2QkcsWUFBWSxhQUFaQSxZQUFZLHVCQUFaQSxZQUFZLENBQUVGLFFBQVEsRUFDdEJqQixLQUFLLEVBQ0xxRCxXQUFXLEVBQ1hFLFVBQVUsRUFDVm5DLGVBQWUsRUFDZnlCLHdCQUF3QixFQUN4QjlELE9BQU8sYUFBUEEsT0FBTyx1QkFBUEEsT0FBTyxDQUFFNEIsRUFBRSxFQUNYM0IsVUFBVSxFQUNWRSxNQUFNLGFBQU5BLE1BQU0sdUJBQU5BLE1BQU0sQ0FBRXlCLEVBQUUsRUFDVnRCLFNBQVMsRUFDVEUsSUFBSSxhQUFKQSxJQUFJLHVCQUFKQSxJQUFJLENBQUVvQixFQUFFLEVBQ1JnQixPQUFPLEVBQ1B2QixpQkFBaUIsRUFDakJvRCxlQUFlLEVBQ2YzQyxtQkFBbUIsRUFDbkI2QyxpQkFBaUIsRUFDakJsRCxrQkFBa0IsRUFDbEJpRCxnQkFBZ0IsRUFDaEJoRSxjQUFjLEVBQ2Q2QyxZQUFZLEVBQ1pzQixlQUFlLEVBQ2ZFLGFBQWEsQ0FFakIsQ0FBQztFQUVELE9BQU87SUFDTEcsT0FBTyxFQUFQQSxPQUFPO0lBQ1BwQix3QkFBd0IsRUFBeEJBO0VBQ0YsQ0FBQztBQUNILENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
211
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZVJlZiIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsIlNFQ1RJT05TIiwiYnVpbGRDb25maWd1cmVTZXR0aW5nc0l0ZW1zIiwidXNlVXNlciIsInVzZVRXaXRoU2VjdGlvbiIsInVzZVByb2plY3RTdW1tYXJ5Q29uZmlnIiwiX3JlZiIsIl9wcm9qZWN0JGNsaWVudDMiLCJzZWN0aW9uIiwiZW50aXR5IiwicHJvamVjdCIsInNldFByb2plY3QiLCJfcmVmJGNsaWVudCIsImNsaWVudCIsImluaXRpYWxDbGllbnQiLCJzZXRDbGllbnRQcm9wIiwic2V0Q2xpZW50IiwiX3JlZiR0YXNrIiwidGFzayIsImluaXRpYWxUYXNrIiwiaGFzTXVsdGlBZ2VudHMiLCJ1c2VyIiwidCIsImNoYXRBSSIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImFnZW50Iiwic2V0QWdlbnQiLCJfdXNlU3RhdGUzIiwiX3VzZVN0YXRlNCIsImlzV2ViU2VhcmNoQWN0aXZlIiwic2V0SXNXZWJTZWFyY2hBY3RpdmUiLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImlzRGVlcFNlYXJjaEFjdGl2ZSIsInNldElzRGVlcFNlYXJjaEFjdGl2ZSIsIl91c2VTdGF0ZTciLCJwcm9qZWN0SWQiLCJjbGllbnRJZCIsIl91c2VTdGF0ZTgiLCJlbnRpdHlWYWx1ZXMiLCJzZXRFbnRpdHlWYWx1ZXMiLCJfdXNlU3RhdGU5IiwiX3VzZVN0YXRlMCIsInNldENsaWVudFN0YXRlIiwiX3VzZVN0YXRlMSIsIl91c2VTdGF0ZTEwIiwic2V0VGFza1N0YXRlIiwic2V0VGFzayIsIm5ld1Rhc2siLCJjb25maWd1cmVTZXR0aW5nc0l0ZW1zIiwiX3VzZVN0YXRlMTEiLCJpZCIsIl9wcm9qZWN0JGNsaWVudCRuYW1lIiwiX3Byb2plY3QkY2xpZW50IiwiU3RyaW5nIiwicHJvamVjdE5hbWUiLCJuYW1lIiwiY2xpZW50TmFtZSIsIl91c2VTdGF0ZTEyIiwiY2hpcHNQcm9qZWN0Iiwic2V0Q2hpcHNQcm9qZWN0U3RhdGUiLCJwcmV2IiwiX3Byb2plY3QkY2xpZW50JG5hbWUyIiwiX3Byb2plY3QkY2xpZW50MiIsIl9lbnRpdHkkcHJvamVjdElkIiwiX2VudGl0eSRjbGllbnRJZCIsInJlc3RvcmVDb25maWd1cmVTZXR0aW5ncyIsIl9jb25maWd1cmVTZXR0aW5nc0l0ZSIsImN1cnJlbnQiLCJtYXAiLCJpdGVtIiwiX29iamVjdFNwcmVhZCIsImNoZWNrZWQiLCJoaWRkZW4iLCJzZWxlY3RBZ2VudCIsIm5ld0FnZW50IiwiY2xlYXJBZ2VudCIsInRvZ2dsZVdlYlNlYXJjaCIsInRvZ2dsZURlZXBTZWFyY2giLCJzZXRDaGlwc1Byb2plY3QiLCJuZXdDaGlwc1Byb2plY3QiLCJwaW5uZWRDb250ZXh0IiwidHlwZSIsInBhcmVudHMiLCJjb250ZXh0Il0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2hvb2tzL3VzZVByb2plY3RTdW1tYXJ5Q29uZmlnLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZUNhbGxiYWNrLCB1c2VSZWYsIHVzZU1lbW8sIHVzZVN0YXRlLCB1c2VFZmZlY3QgfSBmcm9tICdyZWFjdCdcblxuaW1wb3J0IHsgQ2hpcHNQcm9qZWN0LCBQaW5uZWRDb250ZXh0LCB0eXBlIFNlY3Rpb24gfSBmcm9tICcuLi9jb250ZXh0L2dsb2JhbC1jb250ZXh0J1xuaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHsgYnVpbGRDb25maWd1cmVTZXR0aW5nc0l0ZW1zIH0gZnJvbSAnLi4vY29uc3RhbnRzL3Blcm1pc3Npb25zJ1xuaW1wb3J0IHsgdXNlVXNlciB9IGZyb20gJy4uL2NvbnRleHQvY29yLXVzZXInXG5pbXBvcnQgeyBBZ2VudCB9IGZyb20gJy4uL3R5cGVzL2FnZW50J1xuXG5pbXBvcnQgeyB1c2VUV2l0aFNlY3Rpb24gfSBmcm9tICcuL3VzZVQnXG5pbXBvcnQgeyBQcm9qZWN0IH0gZnJvbSAnLi4vdHlwZXMvUHJvamVjdCdcbmltcG9ydCB7IENsaWVudCB9IGZyb20gJy4uL3R5cGVzL0NsaWVudCdcbmltcG9ydCB7IFRhc2sgfSBmcm9tICcuLi90eXBlcy9UYXNrJ1xuXG50eXBlIFByb2plY3RTdW1tYXJ5Q29uZmlnUHJvcHMgPSB7XG4gIHNlY3Rpb246ICdwcm9qZWN0JyB8ICdoZWFkZXInIHwgJ2NsaWVudCcgfCAndGFzaycgfCAncGxhbm5lcidcbiAgZW50aXR5Pzoge1xuICAgIHByb2plY3RJZDogc3RyaW5nIHwgbnVsbFxuICAgIGNsaWVudElkOiBzdHJpbmcgfCBudWxsXG4gIH0gfCBudWxsXG4gIHByb2plY3Q6IFByb2plY3QgfCBudWxsXG4gIHNldFByb2plY3Q6IChwcm9qZWN0OiBQcm9qZWN0IHwgbnVsbCkgPT4gdm9pZFxuICBjbGllbnQ/OiBDbGllbnQgfCBudWxsXG4gIHNldENsaWVudD86IChjbGllbnQ6IENsaWVudCB8IG51bGwpID0+IHZvaWRcbiAgdGFzaz86IFRhc2sgfCBudWxsXG4gIGhhc011bHRpQWdlbnRzPzogYm9vbGVhblxufVxuXG5leHBvcnQgY29uc3QgdXNlUHJvamVjdFN1bW1hcnlDb25maWcgPSAoe1xuICBzZWN0aW9uLFxuICBlbnRpdHksXG4gIHByb2plY3QsXG4gIHNldFByb2plY3QsXG4gIGNsaWVudDogaW5pdGlhbENsaWVudCA9IG51bGwsXG4gIHNldENsaWVudDogc2V0Q2xpZW50UHJvcCxcbiAgdGFzazogaW5pdGlhbFRhc2sgPSBudWxsLFxuICBoYXNNdWx0aUFnZW50cyxcbn06IFByb2plY3RTdW1tYXJ5Q29uZmlnUHJvcHMpID0+IHtcbiAgY29uc3QgdXNlciA9IHVzZVVzZXIoKVxuICBjb25zdCB0ID0gdXNlVFdpdGhTZWN0aW9uKFNFQ1RJT05TLmNoYXRBSSlcbiAgY29uc3QgW2FnZW50LCBzZXRBZ2VudF0gPSB1c2VTdGF0ZTxBZ2VudCB8IG51bGw+KG51bGwpXG4gIGNvbnN0IFtpc1dlYlNlYXJjaEFjdGl2ZSwgc2V0SXNXZWJTZWFyY2hBY3RpdmVdID0gdXNlU3RhdGU8Ym9vbGVhbj4oZmFsc2UpXG4gIGNvbnN0IFtpc0RlZXBTZWFyY2hBY3RpdmUsIHNldElzRGVlcFNlYXJjaEFjdGl2ZV0gPSB1c2VTdGF0ZTxib29sZWFuPihmYWxzZSlcbiAgY29uc3QgW2VudGl0eVZhbHVlcywgc2V0RW50aXR5VmFsdWVzXSA9IHVzZVN0YXRlPHtcbiAgICBwcm9qZWN0SWQ6IHN0cmluZyB8IG51bGxcbiAgICBjbGllbnRJZDogc3RyaW5nIHwgbnVsbFxuICB9PihlbnRpdHkgfHwgeyBwcm9qZWN0SWQ6IG51bGwsIGNsaWVudElkOiBudWxsIH0pXG4gIGNvbnN0IFtjbGllbnQsIHNldENsaWVudFN0YXRlXSA9IHVzZVN0YXRlPENsaWVudCB8IG51bGw+KGluaXRpYWxDbGllbnQgPz8gbnVsbClcblxuICBjb25zdCBzZXRDbGllbnQgPSBzZXRDbGllbnRQcm9wID8/IHNldENsaWVudFN0YXRlXG5cbiAgY29uc3QgW3Rhc2ssIHNldFRhc2tTdGF0ZV0gPSB1c2VTdGF0ZTxUYXNrIHwgbnVsbD4oaW5pdGlhbFRhc2sgPz8gbnVsbClcbiAgY29uc3Qgc2V0VGFzayA9IHVzZUNhbGxiYWNrKChuZXdUYXNrOiBUYXNrIHwgbnVsbCkgPT4gc2V0VGFza1N0YXRlKG5ld1Rhc2spLCBbXSlcblxuICBjb25zdCBjb25maWd1cmVTZXR0aW5nc0l0ZW1zID0gdXNlUmVmKGJ1aWxkQ29uZmlndXJlU2V0dGluZ3NJdGVtcyh1c2VyLCB0KSlcbiAgY29uc3QgW2NoaXBzUHJvamVjdCwgc2V0Q2hpcHNQcm9qZWN0U3RhdGVdID0gdXNlU3RhdGU8Q2hpcHNQcm9qZWN0IHwgbnVsbD4oKCkgPT4ge1xuICAgIGlmICgoc2VjdGlvbiA9PT0gJ3Byb2plY3QnIHx8IHNlY3Rpb24gPT09ICd0YXNrJykgJiYgcHJvamVjdD8uaWQgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgcHJvamVjdElkOiBTdHJpbmcocHJvamVjdC5pZCksXG4gICAgICAgIHByb2plY3ROYW1lOiBwcm9qZWN0Lm5hbWUsXG4gICAgICAgIGNsaWVudE5hbWU6IHByb2plY3QuY2xpZW50Py5uYW1lID8/ICcnLFxuICAgICAgfVxuICAgIH1cbiAgICByZXR1cm4gbnVsbFxuICB9KVxuXG4gIC8vIFNpbmNyb25pemFyIGNoaXBzUHJvamVjdCBjdWFuZG8gZWwgcHJvamVjdCBwcm9wIGNhbWJpYSAoZWouIG5hdmVnYWNpw7NuIGVudHJlIHByb3llY3RvcyBvIHRhcmVhcylcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoKHNlY3Rpb24gPT09ICdwcm9qZWN0JyB8fCBzZWN0aW9uID09PSAndGFzaycpICYmIHByb2plY3Q/LmlkICE9IG51bGwpIHtcbiAgICAgIHNldENoaXBzUHJvamVjdFN0YXRlKHByZXYgPT4ge1xuICAgICAgICBpZiAocHJldj8ucHJvamVjdElkID09PSBTdHJpbmcocHJvamVjdC5pZCkpIHJldHVybiBwcmV2XG4gICAgICAgIHJldHVybiB7XG4gICAgICAgICAgcHJvamVjdElkOiBTdHJpbmcocHJvamVjdC5pZCksXG4gICAgICAgICAgcHJvamVjdE5hbWU6IHByb2plY3QubmFtZSxcbiAgICAgICAgICBjbGllbnROYW1lOiBwcm9qZWN0LmNsaWVudD8ubmFtZSA/PyAnJyxcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICB9XG4gIH0sIFtzZWN0aW9uLCBwcm9qZWN0Py5pZCwgcHJvamVjdD8ubmFtZSwgcHJvamVjdD8uY2xpZW50Py5uYW1lXSlcblxuICAvLyBTaW5jcm9uaXphciBjbGllbnQgY3VhbmRvIGxhIHByb3AgbGxlZ3VlIGRlc3B1w6lzIGRlbCBwcmltZXIgcmVuZGVyIChlai4gc2VjdGlvbiBjbGllbnQsIGRhdG9zIGFzeW5jKVxuICB1c2VFZmZlY3QoKCkgPT4ge1xuICAgIGlmIChzZWN0aW9uID09PSAnY2xpZW50Jykge1xuICAgICAgc2V0Q2xpZW50U3RhdGUoaW5pdGlhbENsaWVudCA/PyBudWxsKVxuICAgIH1cbiAgfSwgW3NlY3Rpb24sIGluaXRpYWxDbGllbnRdKVxuXG4gIC8vIFNpbmNyb25pemFyIHRhc2sgY3VhbmRvIGxhIHByb3AgbGxlZ3VlIGRlc3B1w6lzIGRlbCBwcmltZXIgcmVuZGVyXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHNlY3Rpb24gPT09ICd0YXNrJykge1xuICAgICAgc2V0VGFza1N0YXRlKGluaXRpYWxUYXNrID8/IG51bGwpXG4gICAgfVxuICB9LCBbc2VjdGlvbiwgaW5pdGlhbFRhc2tdKVxuXG4gIC8vIFNpbmNyb25pemFyIGVudGl0eVZhbHVlcyBjdWFuZG8gZW50aXR5IGNhbWJpZSAoZWouIGxsZWd1ZSBkZXNwdcOpcyBkZWwgcHJpbWVyIHJlbmRlcilcbiAgdXNlRWZmZWN0KCgpID0+IHtcbiAgICBpZiAoZW50aXR5ICE9IG51bGwpIHtcbiAgICAgIHNldEVudGl0eVZhbHVlcyh7XG4gICAgICAgIHByb2plY3RJZDogZW50aXR5LnByb2plY3RJZCA/PyBudWxsLFxuICAgICAgICBjbGllbnRJZDogZW50aXR5LmNsaWVudElkID8/IG51bGwsXG4gICAgICB9KVxuICAgIH1cbiAgfSwgW2VudGl0eT8ucHJvamVjdElkLCBlbnRpdHk/LmNsaWVudElkXSlcblxuICBjb25zdCByZXN0b3JlQ29uZmlndXJlU2V0dGluZ3MgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgY29uZmlndXJlU2V0dGluZ3NJdGVtcy5jdXJyZW50ID0gY29uZmlndXJlU2V0dGluZ3NJdGVtcy5jdXJyZW50Py5tYXAoaXRlbSA9PiAoe1xuICAgICAgLi4uaXRlbSxcbiAgICAgIGNoZWNrZWQ6ICFpdGVtLmhpZGRlbixcbiAgICB9KSlcbiAgfSwgW10pXG5cbiAgY29uc3Qgc2VsZWN0QWdlbnQgPSB1c2VDYWxsYmFjaygobmV3QWdlbnQ6IEFnZW50KSA9PiB7XG4gICAgc2V0QWdlbnQobmV3QWdlbnQpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IGNsZWFyQWdlbnQgPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0QWdlbnQobnVsbClcbiAgfSwgW10pXG5cbiAgY29uc3QgdG9nZ2xlV2ViU2VhcmNoID0gdXNlQ2FsbGJhY2soKCkgPT4ge1xuICAgIHNldElzV2ViU2VhcmNoQWN0aXZlKHByZXYgPT4gIXByZXYpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IHRvZ2dsZURlZXBTZWFyY2ggPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgc2V0SXNEZWVwU2VhcmNoQWN0aXZlKHByZXYgPT4gIXByZXYpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IHNldENoaXBzUHJvamVjdCA9IHVzZUNhbGxiYWNrKChuZXdDaGlwc1Byb2plY3Q6IENoaXBzUHJvamVjdCB8IG51bGwpID0+IHtcbiAgICBzZXRDaGlwc1Byb2plY3RTdGF0ZShuZXdDaGlwc1Byb2plY3QpXG4gIH0sIFtdKVxuXG4gIC8vIFBpbiBkZXJpdmFkbyAoUkZDIMKnMTIuMik6IGxhIGVudGlkYWQgbcOhcyBlc3BlY8OtZmljYSBhY3RpdmEgKHRhcmVhID4gcHJveWVjdG8gPiBjbGllbnRlKSxcbiAgLy8gY29uIHN1IHNjb3BlIGhhY2lhIGFycmliYSBlbiBgcGFyZW50c2AuIE1vbm8gaG95OyBhcnJheS1yZWFkeSBwYXJhIGNyb3NzLWVudGl0eS5cbiAgY29uc3QgcGlubmVkQ29udGV4dCA9IHVzZU1lbW88UGlubmVkQ29udGV4dCB8IG51bGw+KCgpID0+IHtcbiAgICBpZiAodGFzaz8uaWQgIT0gbnVsbCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgdHlwZTogJ3Rhc2snLFxuICAgICAgICBpZDogdGFzay5pZCxcbiAgICAgICAgbmFtZTogdGFzay5uYW1lLFxuICAgICAgICBwYXJlbnRzOiB7XG4gICAgICAgICAgLi4uKHRhc2suY2xpZW50SWQgIT0gbnVsbCA/IHsgY2xpZW50SWQ6IHRhc2suY2xpZW50SWQgfSA6IHt9KSxcbiAgICAgICAgICAuLi4odGFzay5wcm9qZWN0SWQgIT0gbnVsbCA/IHsgcHJvamVjdElkOiB0YXNrLnByb2plY3RJZCB9IDoge30pLFxuICAgICAgICB9LFxuICAgICAgfVxuICAgIH1cbiAgICBpZiAoY2hpcHNQcm9qZWN0Py5wcm9qZWN0SWQpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICdwcm9qZWN0JyxcbiAgICAgICAgaWQ6IGNoaXBzUHJvamVjdC5wcm9qZWN0SWQsXG4gICAgICAgIG5hbWU6IGNoaXBzUHJvamVjdC5wcm9qZWN0TmFtZSxcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHByb2plY3Q/LmlkICE9IG51bGwpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6ICdwcm9qZWN0JyxcbiAgICAgICAgaWQ6IHByb2plY3QuaWQsXG4gICAgICAgIG5hbWU6IHByb2plY3QubmFtZSxcbiAgICAgICAgLi4uKHByb2plY3QuY2xpZW50SWQgIT0gbnVsbCA/IHsgcGFyZW50czogeyBjbGllbnRJZDogcHJvamVjdC5jbGllbnRJZCB9IH0gOiB7fSksXG4gICAgICB9XG4gICAgfVxuICAgIGlmIChjbGllbnQ/LmlkICE9IG51bGwpIHtcbiAgICAgIHJldHVybiB7IHR5cGU6ICdjbGllbnQnLCBpZDogY2xpZW50LmlkLCBuYW1lOiBjbGllbnQubmFtZSB9XG4gICAgfVxuICAgIHJldHVybiBudWxsXG4gIH0sIFtcbiAgICB0YXNrPy5pZCxcbiAgICB0YXNrPy5uYW1lLFxuICAgIHRhc2s/LmNsaWVudElkLFxuICAgIHRhc2s/LnByb2plY3RJZCxcbiAgICBjaGlwc1Byb2plY3QsXG4gICAgcHJvamVjdD8uaWQsXG4gICAgcHJvamVjdD8ubmFtZSxcbiAgICBwcm9qZWN0Py5jbGllbnRJZCxcbiAgICBjbGllbnQ/LmlkLFxuICAgIGNsaWVudD8ubmFtZSxcbiAgXSlcblxuICBjb25zdCBjb250ZXh0ID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgZW50aXR5VmFsdWVzLFxuICAgICAgc2VjdGlvbjogc2VjdGlvbiBhcyBTZWN0aW9uLFxuICAgICAgYWdlbnQsXG4gICAgICBzZWxlY3RBZ2VudCxcbiAgICAgIGNsZWFyQWdlbnQsXG4gICAgICBjb25maWd1cmVTZXR0aW5nc0l0ZW1zLFxuICAgICAgcmVzdG9yZUNvbmZpZ3VyZVNldHRpbmdzLFxuICAgICAgc2V0RW50aXR5VmFsdWVzLFxuICAgICAgcHJvamVjdCxcbiAgICAgIHNldFByb2plY3QsXG4gICAgICBjbGllbnQsXG4gICAgICBzZXRDbGllbnQsXG4gICAgICB0YXNrLFxuICAgICAgc2V0VGFzayxcbiAgICAgIGlzV2ViU2VhcmNoQWN0aXZlLFxuICAgICAgdG9nZ2xlV2ViU2VhcmNoLFxuICAgICAgaXNEZWVwU2VhcmNoQWN0aXZlLFxuICAgICAgdG9nZ2xlRGVlcFNlYXJjaCxcbiAgICAgIGhhc011bHRpQWdlbnRzLFxuICAgICAgY2hpcHNQcm9qZWN0LFxuICAgICAgc2V0Q2hpcHNQcm9qZWN0LFxuICAgICAgcGlubmVkQ29udGV4dCxcbiAgICB9KSxcbiAgICBbXG4gICAgICBzZWN0aW9uLFxuICAgICAgZW50aXR5VmFsdWVzPy5wcm9qZWN0SWQsXG4gICAgICBlbnRpdHlWYWx1ZXM/LmNsaWVudElkLFxuICAgICAgYWdlbnQsXG4gICAgICBzZWxlY3RBZ2VudCxcbiAgICAgIGNsZWFyQWdlbnQsXG4gICAgICBzZXRFbnRpdHlWYWx1ZXMsXG4gICAgICByZXN0b3JlQ29uZmlndXJlU2V0dGluZ3MsXG4gICAgICBwcm9qZWN0Py5pZCxcbiAgICAgIHNldFByb2plY3QsXG4gICAgICBjbGllbnQ/LmlkLFxuICAgICAgc2V0Q2xpZW50LFxuICAgICAgdGFzaz8uaWQsXG4gICAgICBzZXRUYXNrLFxuICAgICAgaXNXZWJTZWFyY2hBY3RpdmUsXG4gICAgICB0b2dnbGVXZWJTZWFyY2gsXG4gICAgICBpc0RlZXBTZWFyY2hBY3RpdmUsXG4gICAgICB0b2dnbGVEZWVwU2VhcmNoLFxuICAgICAgaGFzTXVsdGlBZ2VudHMsXG4gICAgICBjaGlwc1Byb2plY3QsXG4gICAgICBzZXRDaGlwc1Byb2plY3QsXG4gICAgICBwaW5uZWRDb250ZXh0LFxuICAgIF1cbiAgKVxuXG4gIHJldHVybiB7XG4gICAgY29udGV4dCxcbiAgICByZXN0b3JlQ29uZmlndXJlU2V0dGluZ3MsXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLFNBQVNBLFdBQVcsRUFBRUMsTUFBTSxFQUFFQyxPQUFPLEVBQUVDLFFBQVEsRUFBRUMsU0FBUyxRQUFRLE9BQU87QUFHekUsU0FBU0MsUUFBUSxRQUFRLHFCQUFxQjtBQUM5QyxTQUFTQywyQkFBMkIsUUFBUSwwQkFBMEI7QUFDdEUsU0FBU0MsT0FBTyxRQUFRLHFCQUFxQjtBQUc3QyxTQUFTQyxlQUFlLFFBQVEsUUFBUTtBQW1CeEMsT0FBTyxJQUFNQyx1QkFBdUIsR0FBRyxTQUExQkEsdUJBQXVCQSxDQUFBQyxJQUFBLEVBU0g7RUFBQSxJQUFBQyxnQkFBQTtFQUFBLElBUi9CQyxPQUFPLEdBQUFGLElBQUEsQ0FBUEUsT0FBTztJQUNQQyxNQUFNLEdBQUFILElBQUEsQ0FBTkcsTUFBTTtJQUNOQyxPQUFPLEdBQUFKLElBQUEsQ0FBUEksT0FBTztJQUNQQyxVQUFVLEdBQUFMLElBQUEsQ0FBVkssVUFBVTtJQUFBQyxXQUFBLEdBQUFOLElBQUEsQ0FDVk8sTUFBTTtJQUFFQyxhQUFhLEdBQUFGLFdBQUEsY0FBRyxJQUFJLEdBQUFBLFdBQUE7SUFDakJHLGFBQWEsR0FBQVQsSUFBQSxDQUF4QlUsU0FBUztJQUFBQyxTQUFBLEdBQUFYLElBQUEsQ0FDVFksSUFBSTtJQUFFQyxXQUFXLEdBQUFGLFNBQUEsY0FBRyxJQUFJLEdBQUFBLFNBQUE7SUFDeEJHLGNBQWMsR0FBQWQsSUFBQSxDQUFkYyxjQUFjO0VBRWQsSUFBTUMsSUFBSSxHQUFHbEIsT0FBTyxDQUFDLENBQUM7RUFDdEIsSUFBTW1CLENBQUMsR0FBR2xCLGVBQWUsQ0FBQ0gsUUFBUSxDQUFDc0IsTUFBTSxDQUFDO0VBQzFDLElBQUFDLFNBQUEsR0FBMEJ6QixRQUFRLENBQWUsSUFBSSxDQUFDO0lBQUEwQixVQUFBLEdBQUFDLGNBQUEsQ0FBQUYsU0FB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
@@ -0,0 +1,66 @@
1
+ import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
2
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
3
+ import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
5
+ import { useCallback, useState } from 'react';
6
+ import { fetchMaia } from '../services/maia/client';
7
+ export var useSkillsCatalog = function useSkillsCatalog() {
8
+ var _useState = useState([]),
9
+ _useState2 = _slicedToArray(_useState, 2),
10
+ skills = _useState2[0],
11
+ setSkills = _useState2[1];
12
+ var _useState3 = useState(false),
13
+ _useState4 = _slicedToArray(_useState3, 2),
14
+ loading = _useState4[0],
15
+ setLoading = _useState4[1];
16
+ var _useState5 = useState(false),
17
+ _useState6 = _slicedToArray(_useState5, 2),
18
+ error = _useState6[0],
19
+ setError = _useState6[1];
20
+ var fetchSkills = useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
21
+ var _data$data, response, data, _t;
22
+ return _regeneratorRuntime.wrap(function (_context) {
23
+ while (1) switch (_context.prev = _context.next) {
24
+ case 0:
25
+ setLoading(true);
26
+ setError(false);
27
+ _context.prev = 1;
28
+ _context.next = 2;
29
+ return fetchMaia({
30
+ path: 'skills?limit=100&offset=0&scope=all',
31
+ method: 'GET'
32
+ });
33
+ case 2:
34
+ response = _context.sent;
35
+ _context.next = 3;
36
+ return response.json();
37
+ case 3:
38
+ data = _context.sent;
39
+ setSkills(_toConsumableArray((_data$data = data === null || data === void 0 ? void 0 : data.data) !== null && _data$data !== void 0 ? _data$data : []).sort(function (a, b) {
40
+ return a.name.localeCompare(b.name);
41
+ }));
42
+ _context.next = 5;
43
+ break;
44
+ case 4:
45
+ _context.prev = 4;
46
+ _t = _context["catch"](1);
47
+ setError(true);
48
+ setSkills([]);
49
+ case 5:
50
+ _context.prev = 5;
51
+ setLoading(false);
52
+ return _context.finish(5);
53
+ case 6:
54
+ case "end":
55
+ return _context.stop();
56
+ }
57
+ }, _callee, null, [[1, 4, 5, 6]]);
58
+ })), []);
59
+ return {
60
+ skills: skills,
61
+ loading: loading,
62
+ error: error,
63
+ fetchSkills: fetchSkills
64
+ };
65
+ };
66
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VDYWxsYmFjayIsInVzZVN0YXRlIiwiZmV0Y2hNYWlhIiwidXNlU2tpbGxzQ2F0YWxvZyIsIl91c2VTdGF0ZSIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsInNraWxscyIsInNldFNraWxscyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwibG9hZGluZyIsInNldExvYWRpbmciLCJfdXNlU3RhdGU1IiwiX3VzZVN0YXRlNiIsImVycm9yIiwic2V0RXJyb3IiLCJmZXRjaFNraWxscyIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwiX2RhdGEkZGF0YSIsInJlc3BvbnNlIiwiZGF0YSIsIl90Iiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJwYXRoIiwibWV0aG9kIiwic2VudCIsImpzb24iLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJzb3J0IiwiYSIsImIiLCJuYW1lIiwibG9jYWxlQ29tcGFyZSIsImZpbmlzaCIsInN0b3AiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaG9va3MvdXNlU2tpbGxzQ2F0YWxvZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VDYWxsYmFjaywgdXNlU3RhdGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB7IGZldGNoTWFpYSB9IGZyb20gJy4uL3NlcnZpY2VzL21haWEvY2xpZW50J1xuaW1wb3J0IHsgU2tpbGwsIFNraWxsc1Jlc3BvbnNlIH0gZnJvbSAnLi4vdHlwZXMvc2tpbGwnXG5cbmV4cG9ydCBjb25zdCB1c2VTa2lsbHNDYXRhbG9nID0gKCkgPT4ge1xuICBjb25zdCBbc2tpbGxzLCBzZXRTa2lsbHNdID0gdXNlU3RhdGU8U2tpbGxbXT4oW10pXG4gIGNvbnN0IFtsb2FkaW5nLCBzZXRMb2FkaW5nXSA9IHVzZVN0YXRlKGZhbHNlKVxuICBjb25zdCBbZXJyb3IsIHNldEVycm9yXSA9IHVzZVN0YXRlKGZhbHNlKVxuXG4gIGNvbnN0IGZldGNoU2tpbGxzID0gdXNlQ2FsbGJhY2soYXN5bmMgKCkgPT4ge1xuICAgIHNldExvYWRpbmcodHJ1ZSlcbiAgICBzZXRFcnJvcihmYWxzZSlcbiAgICB0cnkge1xuICAgICAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaE1haWEoeyBwYXRoOiAnc2tpbGxzP2xpbWl0PTEwMCZvZmZzZXQ9MCZzY29wZT1hbGwnLCBtZXRob2Q6ICdHRVQnIH0pXG4gICAgICBjb25zdCBkYXRhOiBTa2lsbHNSZXNwb25zZSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxuICAgICAgc2V0U2tpbGxzKFsuLi4oZGF0YT8uZGF0YSA/PyBbXSldLnNvcnQoKGEsIGIpID0+IGEubmFtZS5sb2NhbGVDb21wYXJlKGIubmFtZSkpKVxuICAgIH0gY2F0Y2gge1xuICAgICAgc2V0RXJyb3IodHJ1ZSlcbiAgICAgIHNldFNraWxscyhbXSlcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0TG9hZGluZyhmYWxzZSlcbiAgICB9XG4gIH0sIFtdKVxuXG4gIHJldHVybiB7IHNraWxscywgbG9hZGluZywgZXJyb3IsIGZldGNoU2tpbGxzIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLFNBQVNBLFdBQVcsRUFBRUMsUUFBUSxRQUFRLE9BQU87QUFDN0MsU0FBU0MsU0FBUyxRQUFRLHlCQUF5QjtBQUduRCxPQUFPLElBQU1DLGdCQUFnQixHQUFHLFNBQW5CQSxnQkFBZ0JBLENBQUEsRUFBUztFQUNwQyxJQUFBQyxTQUFBLEdBQTRCSCxRQUFRLENBQVUsRUFBRSxDQUFDO0lBQUFJLFVBQUEsR0FBQUMsY0FBQSxDQUFBRixTQUFBO0lBQTFDRyxNQUFNLEdBQUFGLFVBQUE7SUFBRUcsU0FBUyxHQUFBSCxVQUFBO0VBQ3hCLElBQUFJLFVBQUEsR0FBOEJSLFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQVMsVUFBQSxHQUFBSixjQUFBLENBQUFHLFVBQUE7SUFBdENFLE9BQU8sR0FBQUQsVUFBQTtJQUFFRSxVQUFVLEdBQUFGLFVBQUE7RUFDMUIsSUFBQUcsVUFBQSxHQUEwQlosUUFBUSxDQUFDLEtBQUssQ0FBQztJQUFBYSxVQUFBLEdBQUFSLGNBQUEsQ0FBQU8sVUFBQTtJQUFsQ0UsS0FBSyxHQUFBRCxVQUFBO0lBQUVFLFFBQVEsR0FBQUYsVUFBQTtFQUV0QixJQUFNRyxXQUFXLEdBQUdqQixXQUFXLGNBQUFrQixpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUMsU0FBQUMsUUFBQTtJQUFBLElBQUFDLFVBQUEsRUFBQUMsUUFBQSxFQUFBQyxJQUFBLEVBQUFDLEVBQUE7SUFBQSxPQUFBTixtQkFBQSxDQUFBTyxJQUFBLFdBQUFDLFFBQUE7TUFBQSxrQkFBQUEsUUFBQSxDQUFBQyxJQUFBLEdBQUFELFFBQUEsQ0FBQUUsSUFBQTtRQUFBO1VBQzlCakIsVUFBVSxDQUFDLElBQUksQ0FBQztVQUNoQkksUUFBUSxDQUFDLEtBQUssQ0FBQztVQUFBVyxRQUFBLENBQUFDLElBQUE7VUFBQUQsUUFBQSxDQUFBRSxJQUFBO1VBQUEsT0FFVTNCLFNBQVMsQ0FBQztZQUFFNEIsSUFBSSxFQUFFLHFDQUFxQztZQUFFQyxNQUFNLEVBQUU7VUFBTSxDQUFDLENBQUM7UUFBQTtVQUExRlIsUUFBUSxHQUFBSSxRQUFBLENBQUFLLElBQUE7VUFBQUwsUUFBQSxDQUFBRSxJQUFBO1VBQUEsT0FDcUJOLFFBQVEsQ0FBQ1UsSUFBSSxDQUFDLENBQUM7UUFBQTtVQUE1Q1QsSUFBb0IsR0FBQUcsUUFBQSxDQUFBSyxJQUFBO1VBQzFCeEIsU0FBUyxDQUFDMEIsa0JBQUEsRUFBQVosVUFBQSxHQUFLRSxJQUFJLGFBQUpBLElBQUksdUJBQUpBLElBQUksQ0FBRUEsSUFBSSxjQUFBRixVQUFBLGNBQUFBLFVBQUEsR0FBSSxFQUFFLEVBQUdhLElBQUksQ0FBQyxVQUFDQyxDQUFDLEVBQUVDLENBQUM7WUFBQSxPQUFLRCxDQUFDLENBQUNFLElBQUksQ0FBQ0MsYUFBYSxDQUFDRixDQUFDLENBQUNDLElBQUksQ0FBQztVQUFBLEVBQUMsQ0FBQztVQUFBWCxRQUFBLENBQUFFLElBQUE7VUFBQTtRQUFBO1VBQUFGLFFBQUEsQ0FBQUMsSUFBQTtVQUFBSCxFQUFBLEdBQUFFLFFBQUE7VUFFL0VYLFFBQVEsQ0FBQyxJQUFJLENBQUM7VUFDZFIsU0FBUyxDQUFDLEVBQUUsQ0FBQztRQUFBO1VBQUFtQixRQUFBLENBQUFDLElBQUE7VUFFYmhCLFVBQVUsQ0FBQyxLQUFLLENBQUM7VUFBQSxPQUFBZSxRQUFBLENBQUFhLE1BQUE7UUFBQTtRQUFBO1VBQUEsT0FBQWIsUUFBQSxDQUFBYyxJQUFBO01BQUE7SUFBQSxHQUFBcEIsT0FBQTtFQUFBLENBRXBCLElBQUUsRUFBRSxDQUFDO0VBRU4sT0FBTztJQUFFZCxNQUFNLEVBQU5BLE1BQU07SUFBRUksT0FBTyxFQUFQQSxPQUFPO0lBQUVJLEtBQUssRUFBTEEsS0FBSztJQUFFRSxXQUFXLEVBQVhBO0VBQVksQ0FBQztBQUNoRCxDQUFDIiwiaWdub3JlTGlzdCI6W119