@projectcor/maia-components 2.11.109-3 → 2.11.110-0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/components/atoms/ContextMentionChip/buildChipElement.js +12 -1
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +127 -5
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +2 -29
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +24 -33
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +2 -19
- package/lib/components/atoms/IconButton.js +2 -2
- package/lib/components/atoms/MAIAInput/MAIAInput.js +203 -88
- package/lib/components/atoms/MAIAInput/styles.js +15 -11
- package/lib/components/atoms/SkillsDropdown/SkillsDropdown.js +188 -0
- package/lib/components/atoms/SkillsDropdown/SkillsDropdown.styles.js +69 -0
- package/lib/components/atoms/SkillsDropdown/index.js +2 -0
- package/lib/components/atoms/icons/PlusIcon.js +29 -0
- package/lib/components/atoms/icons/RetryIcon.js +34 -0
- package/lib/components/atoms/icons/SkillVisibilityEveryoneIcon.js +23 -0
- package/lib/components/atoms/icons/SkillVisibilityOnlyMeIcon.js +23 -0
- package/lib/components/atoms/icons/SkillsNavIcon.js +4 -7
- package/lib/components/atoms/icons/index.js +4 -1
- package/lib/components/molecules/ChatAIContent/ChatAIContent.js +5 -3
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +135 -380
- package/lib/components/molecules/ChatAIMessages/newStyles.js +18 -50
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +198 -198
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +11 -16
- package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.js +8 -26
- package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.styles.js +7 -24
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +259 -232
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +124 -104
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +1 -3
- package/lib/components/molecules/MessageFeedback/MessageFeedback.js +14 -2
- package/lib/components/molecules/MessageFeedback/styles.js +2 -6
- package/lib/components/molecules/Sidebar/Sidebar.js +5 -4
- package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +2 -2
- package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +8 -1
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +285 -167
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +86 -66
- package/lib/components/organisms/ChatAI/ChatAI.js +3 -22
- package/lib/components/organisms/ClientAIButton/ClientAIButton.js +1 -4
- package/lib/components/organisms/ProjectAIButton/ProjectAIButton.js +1 -4
- package/lib/constants/config.js +1 -4
- package/lib/constants/permissions/utils.js +3 -3
- package/lib/context/global-context.js +1 -1
- package/lib/dev/DevChatAI.js +1 -4
- package/lib/hooks/useChatManager/useChatManager.js +401 -146
- package/lib/hooks/useChatMessages/useChatMessages.js +27 -25
- package/lib/hooks/useContextMentions.js +93 -56
- package/lib/hooks/useEntitySearch.js +92 -278
- package/lib/hooks/useMentionAllowedTypes.js +9 -25
- package/lib/hooks/useMentionPopover.js +9 -33
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +1 -1
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +80 -6
- package/lib/hooks/useProjectSummaryConfig.js +17 -36
- package/lib/hooks/useSkillsCatalog.js +66 -0
- package/lib/lang/br/index.js +61 -251
- package/lib/lang/en/index.js +61 -251
- package/lib/lang/es/index.js +62 -252
- package/lib/lang/fr/index.js +61 -251
- package/lib/services/maia/Orchestrator/index.js +4 -3
- package/lib/services/maia/Orchestrator/orchestrator.js +84 -23
- package/lib/services/maia/Skills/createSkill.js +1 -1
- package/lib/services/maia/Skills/getSkills.js +70 -40
- package/lib/services/maia/Skills/updateSkill.js +1 -1
- package/lib/services/utils/mapChatMessages.js +26 -25
- package/lib/store/maiaLastChatPersistence.js +35 -0
- package/lib/store/sessions/sessionStreamManager.js +191 -99
- package/lib/store/sessions/sessions.types.js +1 -1
- package/lib/types/Chat.js +1 -1
- package/lib/types/skill.js +1 -1
- package/lib/utils/contextMentionTriggers.js +2 -5
- package/lib/utils/hitlAnalytics.js +3 -4
- package/lib/utils/maiaHostOpen.js +1 -10
- package/lib/utils/renderContextMentions.js +39 -18
- package/lib/utils/retryCompletion.js +85 -0
- package/lib/utils/streamActivityMessages.js +41 -106
- package/package.json +1 -1
- package/lib/components/atoms/ReasoningBlock/ReasoningBlock.js +0 -136
- package/lib/components/atoms/ReasoningBlock/ReasoningBlock.styles.js +0 -73
- package/lib/components/atoms/ReasoningBlock/index.js +0 -2
- package/lib/components/organisms/CloseWhileGeneratingModal/CloseWhileGeneratingModal.js +0 -56
- package/lib/components/organisms/CloseWhileGeneratingModal/CloseWhileGeneratingModal.styles.js +0 -35
- package/lib/components/organisms/CloseWhileGeneratingModal/index.js +0 -2
- package/lib/hooks/useReasoningTrace/index.js +0 -3
- package/lib/hooks/useReasoningTrace/reasoningStore.js +0 -142
- package/lib/hooks/useReasoningTrace/useReasoningTrace.js +0 -14
- package/lib/store/maiaMinimizedPersistence.js +0 -49
- package/lib/types/reasoning.js +0 -2
- package/lib/utils/autoApproveStorage.js +0 -26
- 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
|
|
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(
|
|
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
|
-
|
|
49
|
-
|
|
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
|
|
56
|
-
|
|
57
|
-
task =
|
|
58
|
-
setTaskState =
|
|
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
|
|
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
|
-
|
|
75
|
-
chipsProject =
|
|
76
|
-
setChipsProjectState =
|
|
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,
|
|
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/LmlkLFxuICAgICAgc2V0Q2xpZW50LFxuICAgICAgdGFzaz8uaWQsXG4gICAgICBzZXRUYXNrLFxuICAgICAgaXNXZWJTZWFyY2hBY3RpdmUsXG4gICAgICB0b2dnbGVXZWJTZWFyY2gsXG4gICAgICBpc0RlZXBTZWFyY2hBY3RpdmUsXG4gICAgICB0b2dnbGVEZWVwU2VhcmNoLFxuICAgICAgaGFzTXVsdGlBZ2VudHMsXG4gICAgICBjaGlwc1Byb2plY3QsXG4gICAgICBzZXRDaGlwc1Byb2plY3QsXG4gICAgICBwaW5uZWRDb250ZXh0LFxuICAgIF1cbiAgKVxuXG4gIHJldHVybiB7XG4gICAgY29udGV4dCxcbiAgICByZXN0b3JlQ29uZmlndXJlU2V0dGluZ3MsXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUFBLFNBQVNBLFdBQVcsRUFBRUMsTUFBTSxFQUFFQyxPQUFPLEVBQUVDLFFBQVEsRUFBRUMsU0FBUyxRQUFRLE9BQU87QUFHekUsU0FBU0MsUUFBUSxRQUFRLHFCQUFxQjtBQUM5QyxTQUFTQywyQkFBMkIsUUFBUSwwQkFBMEI7QUFDdEUsU0FBU0MsT0FBTyxRQUFRLHFCQUFxQjtBQUc3QyxTQUFTQyxlQUFlLFFBQVEsUUFBUTtBQW1CeEMsT0FBTyxJQUFNQyx1QkFBdUIsR0FBRyxTQUExQkEsdUJBQXVCQSxDQUFBQyxJQUFBLEVBU0g7RUFBQSxJQUFBQyxnQkFBQTtFQUFBLElBUi9CQyxPQUFPLEdBQUFGLElBQUEsQ0FBUEUsT0FBTztJQUNQQyxNQUFNLEdBQUFILElBQUEsQ0FBTkcsTUFBTTtJQUNOQyxPQUFPLEdBQUFKLElBQUEsQ0FBUEksT0FBTztJQUNQQyxVQUFVLEdBQUFMLElBQUEsQ0FBVkssVUFBVTtJQUFBQyxXQUFBLEdBQUFOLElBQUEsQ0FDVk8sTUFBTTtJQUFFQyxhQUFhLEdBQUFGLFdBQUEsY0FBRyxJQUFJLEdBQUFBLFdBQUE7SUFDakJHLGFBQWEsR0FBQVQsSUFBQSxDQUF4QlUsU0FBUztJQUFBQyxTQUFBLEdBQUFYLElBQUEsQ0FDVFksSUFBSTtJQUFFQyxXQUFXLEdBQUFGLFNBQUEsY0FBRyxJQUFJLEdBQUFBLFNBQUE7SUFDeEJHLGNBQWMsR0FBQWQsSUFBQSxDQUFkYyxjQUFjO0VBRWQsSUFBTUMsSUFBSSxHQUFHbEIsT0FBTyxDQUFDLENBQUM7RUFDdEIsSUFBTW1CLENBQUMsR0FBR2xCLGVBQWUsQ0FBQ0gsUUFBUSxDQUFDc0IsTUFBTSxDQUFDO0VBQzFDLElBQUFDLFNBQUEsR0FBMEJ6QixRQUFRLENBQWUsSUFBSSxDQUFDO0lBQUEwQixVQUFBLEdBQUFDLGNBQUEsQ0FBQUYsU0FBQTtJQUEvQ0csS0FBSyxHQUFBRixVQUFBO0lBQUVHLFFBQVEsR0FBQUgsVUFBQTtFQUN0QixJQUFBSSxVQUFBLEdBQWtEOUIsUUFBUSxDQUFVLEtBQUssQ0FBQztJQUFBK0IsVUFBQSxHQUFBSixjQUFBLENBQUFHLFVBQUE7SUFBbkVFLGlCQUFpQixHQUFBRCxVQUFBO0lBQUVFLG9CQUFvQixHQUFBRixVQUFBO0VBQzlDLElBQUFHLFVBQUEsR0FBb0RsQyxRQUFRLENBQVUsS0FBSyxDQUFDO0lBQUFtQyxVQUFBLEdBQUFSLGNBQUEsQ0FBQU8sVUFBQTtJQUFyRUUsa0JBQWtCLEdBQUFELFVBQUE7SUFBRUUscUJBQXFCLEdBQUFGLFVBQUE7RUFDaEQsSUFBQUcsVUFBQSxHQUF3Q3RDLFFBQVEsQ0FHN0NVLE1BQU0sSUFBSTtNQUFFNkIsU0FBUyxFQUFFLElBQUk7TUFBRUMsUUFBUSxFQUFFO0lBQUssQ0FBQyxDQUFDO0lBQUFDLFVBQUEsR0FBQWQsY0FBQSxDQUFBVyxVQUFBO0lBSDFDSSxZQUFZLEdBQUFELFVBQUE7SUFBRUUsZUFBZSxHQUFBRixVQUFBO0VBSXBDLElBQUFHLFVBQUEsR0FBaUM1QyxRQUFRLENBQWdCZSxhQUFhLGFBQWJBLGFBQWEsY0FBYkEsYUFBYSxHQUFJLElBQUksQ0FBQztJQUFBOEIsVUFBQSxHQUFBbEIsY0FBQSxDQUFBaUIsVUFBQTtJQUF4RTlCLE1BQU0sR0FBQStCLFVBQUE7SUFBRUMsY0FBYyxHQUFBRCxVQUFBO0VBRTdCLElBQU01QixTQUFTLEdBQUdELGFBQWEsYUFBYkEsYUFBYSxjQUFiQSxhQUFhLEdBQUk4QixjQUFjO0VBRWpELElBQUFDLFVBQUEsR0FBNkIvQyxRQUFRLENBQWNvQixXQUFXLGFBQVhBLFdBQVcsY0FBWEEsV0FBVyxHQUFJLElBQUksQ0FBQztJQUFBNEIsV0FBQSxHQUFBckIsY0FBQSxDQUFBb0IsVUFBQTtJQUFoRTVCLElBQUksR0FBQTZCLFdBQUE7SUFBRUMsWUFBWSxHQUFBRCxXQUFBO0VBQ3pCLElBQU1FLE9BQU8sR0FBR3JELFdBQVcsQ0FBQyxVQUFDc0QsT0FBb0I7SUFBQSxPQUFLRixZQUFZLENBQUNFLE9BQU8sQ0FBQztFQUFBLEdBQUUsRUFBRSxDQUFDO0VBRWhGLElBQU1DLHNCQUFzQixHQUFHdEQsTUFBTSxDQUFDSywyQkFBMkIsQ0FBQ21CLElBQUksRUFBRUMsQ0FBQyxDQUFDLENBQUM7RUFDM0UsSUFBQThCLFdBQUEsR0FBNkNyRCxRQUFRLENBQXNCLFlBQU07TUFDL0UsSUFBSSxDQUFDUyxPQUFPLEtBQUssU0FBUyxJQUFJQSxPQUFPLEtBQUssTUFBTSxLQUFLLENBQUFFLE9BQU8sYUFBUEEsT0FBTyx1QkFBUEEsT0FBTyxDQUFFMkMsRUFBRSxLQUFJLElBQUksRUFBRTtRQUFBLElBQUFDLG9CQUFBLEVBQUFDLGVBQUE7UUFDeEUsT0FBTztVQUNMakIsU0FBUyxFQUFFa0IsTUFBTSxDQUFDOUMsT0FBTyxDQUFDMkMsRUFBRSxDQUFDO1VBQzdCSSxXQUFXLEVBQUUvQyxPQUFPLENBQUNnRCxJQUFJO1VBQ3pCQyxVQUFVLEdBQUFMLG9CQUFBLElBQUFDLGVBQUEsR0FBRTdDLE9BQU8sQ0FBQ0csTUFBTSxjQUFBMEMsZUFBQSx1QkFBZEEsZUFBQSxDQUFnQkcsSUFBSSxjQUFBSixvQkFBQSxjQUFBQSxvQkFBQSxHQUFJO1FBQ3RDLENBQUM7TUFDSDtNQUNBLE9BQU8sSUFBSTtJQUNiLENBQUMsQ0FBQztJQUFBTSxXQUFBLEdBQUFsQyxjQUFBLENBQUEwQixXQUFBO0lBVEtTLFlBQVksR0FBQUQsV0FBQTtJQUFFRSxvQkFBb0IsR0FBQUYsV0FBQTs7RUFXekM7RUFDQTVELFNBQVMsQ0FBQyxZQUFNO0lBQ2QsSUFBSSxDQUFDUSxPQUFPLEtBQUssU0FBUyxJQUFJQSxPQUFPLEtBQUssTUFBTSxLQUFLLENBQUFFLE9BQU8sYUFBUEEsT0FBTyx1QkFBUEEsT0FBTyxDQUFFMkMsRUFBRSxLQUFJLElBQUksRUFBRTtNQUN4RVMsb0JBQW9CLENBQUMsVUFBQUMsSUFBSSxFQUFJO1FBQUEsSUFBQUMscUJBQUEsRUFBQUMsZ0JBQUE7UUFDM0IsSUFBSSxDQUFBRixJQUFJLGFBQUpBLElBQUksdUJBQUpBLElBQUksQ0FBRXpCLFNBQVMsTUFBS2tCLE1BQU0sQ0FBQzlDLE9BQU8sQ0FBQzJDLEVBQUUsQ0FBQyxFQUFFLE9BQU9VLElBQUk7UUFDdkQsT0FBTztVQUNMekIsU0FBUyxFQUFFa0IsTUFBTSxDQUFDOUMsT0FBTyxDQUFDMkMsRUFBRSxDQUFDO1VBQzdCSSxXQUFXLEVBQUUvQyxPQUFPLENBQUNnRCxJQUFJO1VBQ3pCQyxVQUFVLEdBQUFLLHFCQUFBLElBQUFDLGdCQUFBLEdBQUV2RCxPQUFPLENBQUNHLE1BQU0sY0FBQW9ELGdCQUFBLHVCQUFkQSxnQkFBQSxDQUFnQlAsSUFBSSxjQUFBTSxxQkFBQSxjQUFBQSxxQkFBQSxHQUFJO1FBQ3RDLENBQUM7TUFDSCxDQUFDLENBQUM7SUFDSjtFQUNGLENBQUMsRUFBRSxDQUFDeEQsT0FBTyxFQUFFRSxPQUFPLGFBQVBBLE9BQU8sdUJBQVBBLE9BQU8sQ0FBRTJDLEVBQUUsRUFBRTNDLE9BQU8sYUFBUEEsT0FBTyx1QkFBUEEsT0FBTyxDQUFFZ0QsSUFBSSxFQUFFaEQsT0FBTyxhQUFQQSxPQUFPLGdCQUFBSCxnQkFBQSxHQUFQRyxPQUFPLENBQUVHLE1BQU0sY0FBQU4sZ0JBQUEsdUJBQWZBLGdCQUFBLENBQWlCbUQsSUFBSSxDQUFDLENBQUM7O0VBRWhFO0VBQ0ExRCxTQUFTLENBQUMsWUFBTTtJQUNkLElBQUlRLE9BQU8sS0FBSyxRQUFRLEVBQUU7TUFDeEJxQyxjQUFjLENBQUMvQixhQUFhLGFBQWJBLGFBQWEsY0FBYkEsYUFBYSxHQUFJLElBQUksQ0FBQztJQUN2QztFQUNGLENBQUMsRUFBRSxDQUFDTixPQUFPLEVBQUVNLGFBQWEsQ0FBQyxDQUFDOztFQUU1QjtFQUNBZCxTQUFTLENBQUMsWUFBTTtJQUNkLElBQUlRLE9BQU8sS0FBSyxNQUFNLEVBQUU7TUFDdEJ3QyxZQUFZLENBQUM3QixXQUFXLGFBQVhBLFdBQVcsY0FBWEEsV0FBVyxHQUFJLElBQUksQ0FBQztJQUNuQztFQUNGLENBQUMsRUFBRSxDQUFDWCxPQUFPLEVBQUVXLFdBQVcsQ0FBQyxDQUFDOztFQUUxQjtFQUNBbkIsU0FBUyxDQUFDLFlBQU07SUFDZCxJQUFJUyxNQUFNLElBQUksSUFBSSxFQUFFO01BQUEsSUFBQXlELGlCQUFBLEVBQUFDLGdCQUFBO01BQ2xCekIsZUFBZSxDQUFDO1FBQ2RKLFNBQVMsR0FBQTRCLGlCQUFBLEdBQUV6RCxNQUFNLENBQUM2QixTQUFTLGNBQUE0QixpQkFBQSxjQUFBQSxpQkFBQSxHQUFJLElBQUk7UUFDbkMzQixRQUFRLEdBQUE0QixnQkFBQSxHQUFFMUQsTUFBTSxDQUFDOEIsUUFBUSxjQUFBNEIsZ0JBQUEsY0FBQUEsZ0JBQUEsR0FBSTtNQUMvQixDQUFDLENBQUM7SUFDSjtFQUNGLENBQUMsRUFBRSxDQUFDMUQsTUFBTSxhQUFOQSxNQUFNLHVCQUFOQSxNQUFNLENBQUU2QixTQUFTLEVBQUU3QixNQUFNLGFBQU5BLE1BQU0sdUJBQU5BLE1BQU0sQ0FBRThCLFFBQVEsQ0FBQyxDQUFDO0VBRXpDLElBQU02Qix3QkFBd0IsR0FBR3hFLFdBQVcsQ0FBQyxZQUFNO0lBQUEsSUFBQXlFLHFCQUFBO0lBQ2pEbEIsc0JBQXNCLENBQUNtQixPQUFPLElBQUFELHFCQUFBLEdBQUdsQixzQkFBc0IsQ0FBQ21CLE9BQU8sY0FBQUQscUJBQUEsdUJBQTlCQSxxQkFBQSxDQUFnQ0UsR0FBRyxDQUFDLFVBQUFDLElBQUk7TUFBQSxPQUFBQyxhQUFBLENBQUFBLGFBQUEsS0FDcEVELElBQUk7UUFDUEUsT0FBTyxFQUFFLENBQUNGLElBQUksQ0FBQ0c7TUFBTTtJQUFBLENBQ3JCLENBQUM7RUFDTCxDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRU4sSUFBTUMsV0FBVyxHQUFHaEYsV0FBVyxDQUFDLFVBQUNpRixRQUFlLEVBQUs7SUFDbkRqRCxRQUFRLENBQUNpRCxRQUFRLENBQUM7RUFDcEIsQ0FBQyxFQUFFLEVBQUUsQ0FBQztFQUVOLElBQU1DLFVBQVUsR0FBR2xGLFdBQVcsQ0FBQyxZQUFNO0lBQ25DZ0MsUUFBUSxDQUFDLElBQUksQ0FBQztFQUNoQixDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRU4sSUFBTW1ELGVBQWUsR0FBR25GLFdBQVcsQ0FBQyxZQUFNO0lBQ3hDb0Msb0JBQW9CLENBQUMsVUFBQStCLElBQUk7TUFBQSxPQUFJLENBQUNBLElBQUk7SUFBQSxFQUFDO0VBQ3JDLENBQUMsRUFBRSxFQUFFLENBQUM7RUFFTixJQUFNaUIsZ0JBQWdCLEdBQUdwRixXQUFXLENBQUMsWUFBTTtJQUN6Q3dDLHFCQUFxQixDQUFDLFVBQUEyQixJQUFJO01BQUEsT0FBSSxDQUFDQSxJQUFJO0lBQUEsRUFBQztFQUN0QyxDQUFDLEVBQUUsRUFBRSxDQUFDO0VBRU4sSUFBTWtCLGVBQWUsR0FBR3JGLFdBQVcsQ0FBQyxVQUFDc0YsZUFBb0MsRUFBSztJQUM1RXBCLG9CQUFvQixDQUFDb0IsZUFBZSxDQUFDO0VBQ3ZDLENBQUMsRUFBRSxFQUFFLENBQUM7O0VBRU47RUFDQTtFQUNBLElBQU1DLGFBQWEsR0FBR3JGLE9BQU8sQ0FBdUIsWUFBTTtJQUN4RCxJQUFJLENBQUFvQixJQUFJLGFBQUpBLElBQUksdUJBQUpBLElBQUksQ0FBRW1DLEVBQUUsS0FBSSxJQUFJLEVBQUU7TUFDcEIsT0FBTztRQUNMK0IsSUFBSSxFQUFFLE1BQU07UUFDWi9CLEVBQUUsRUFBRW5DLElBQUksQ0FBQ21DLEVBQUU7UUFDWEssSUFBSSxFQUFFeEMsSUFBSSxDQUFDd0MsSUFBSTtRQUNmMkIsT0FBTyxFQUFBWixhQUFBLENBQUFBLGFBQUEsS0FDRHZELElBQUksQ0FBQ3FCLFFBQVEsSUFBSSxJQUFJLEdBQUc7VUFBRUEsUUFBUSxFQUFFckIsSUFBSSxDQUFDcUI7UUFBUyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQ3hEckIsSUFBSSxDQUFDb0IsU0FBUyxJQUFJLElBQUksR0FBRztVQUFFQSxTQUFTLEVBQUVwQixJQUFJLENBQUNvQjtRQUFVLENBQUMsR0FBRyxDQUFDLENBQUM7TUFFbkUsQ0FBQztJQUNIO0lBQ0EsSUFBSXVCLFlBQVksYUFBWkEsWUFBWSxlQUFaQSxZQUFZLENBQUV2QixTQUFTLEVBQUU7TUFDM0IsT0FBTztRQUNMOEMsSUFBSSxFQUFFLFNBQVM7UUFDZi9CLEVBQUUsRUFBRVEsWUFBWSxDQUFDdkIsU0FBUztRQUMxQm9CLElBQUksRUFBRUcsWUFBWSxDQUFDSjtNQUNyQixDQUFDO0lBQ0g7SUFDQSxJQUFJLENBQUEvQyxPQUFPLGFBQVBBLE9BQU8sdUJBQVBBLE9BQU8sQ0FBRTJDLEVBQUUsS0FBSSxJQUFJLEVBQUU7TUFDdkIsT0FBQW9CLGFBQUE7UUFDRVcsSUFBSSxFQUFFLFNBQVM7UUFDZi9CLEVBQUUsRUFBRTNDLE9BQU8sQ0FBQzJDLEVBQUU7UUFDZEssSUFBSSxFQUFFaEQsT0FBTyxDQUFDZ0Q7TUFBSSxHQUNkaEQsT0FBTyxDQUFDNkIsUUFBUSxJQUFJLElBQUksR0FBRztRQUFFOEMsT0FBTyxFQUFFO1VBQUU5QyxRQUFRLEVBQUU3QixPQUFPLENBQUM2QjtRQUFTO01BQUUsQ0FBQyxHQUFHLENBQUMsQ0FBQztJQUVuRjtJQUNBLElBQUksQ0FBQTFCLE1BQU0sYUFBTkEsTUFBTSx1QkFBTkEsTUFBTSxDQUFFd0MsRUFBRSxLQUFJLElBQUksRUFBRTtNQUN0QixPQUFPO1FBQUUrQixJQUFJLEVBQUUsUUFBUTtRQUFFL0IsRUFBRSxFQUFFeEMsTUFBTSxDQUFDd0MsRUFBRTtRQUFFSyxJQUFJLEVBQUU3QyxNQUFNLENBQUM2QztNQUFLLENBQUM7SUFDN0Q7SUFDQSxPQUFPLElBQUk7RUFDYixDQUFDLEVBQUUsQ0FDRHhDLElBQUksYUFBSkEsSUFBSSx1QkFBSkEsSUFBSSxDQUFFbUMsRUFBRSxFQUNSbkMsSUFBSSxhQUFKQSxJQUFJLHVCQUFKQSxJQUFJLENBQUV3QyxJQUFJLEVBQ1Z4QyxJQUFJLGFBQUpBLElBQUksdUJBQUpBLElBQUksQ0FBRXFCLFFBQVEsRUFDZHJCLElBQUksYUFBSkEsSUFBSSx1QkFBSkEsSUFBSSxDQUFFb0IsU0FBUyxFQUNmdUIsWUFBWSxFQUNabkQsT0FBTyxhQUFQQSxPQUFPLHVCQUFQQSxPQUFPLENBQUUyQyxFQUFFLEVBQ1gzQyxPQUFPLGFBQVBBLE9BQU8sdUJBQVBBLE9BQU8sQ0FBRWdELElBQUksRUFDYmhELE9BQU8sYUFBUEEsT0FBTyx1QkFBUEEsT0FBTyxDQUFFNkIsUUFBUSxFQUNqQjFCLE1BQU0sYUFBTkEsTUFBTSx1QkFBTkEsTUFBTSxDQUFFd0MsRUFBRSxFQUNWeEMsTUFBTSxhQUFOQSxNQUFNLHVCQUFOQSxNQUFNLENBQUU2QyxJQUFJLENBQ2IsQ0FBQztFQUVGLElBQU00QixPQUFPLEdBQUd4RixPQUFPLENBQ3JCO0lBQUEsT0FBTztNQUNMMkMsWUFBWSxFQUFaQSxZQUFZO01BQ1pqQyxPQUFPLEVBQUVBLE9BQWtCO01BQzNCbUIsS0FBSyxFQUFMQSxLQUFLO01BQ0xpRCxXQUFXLEVBQVhBLFdBQVc7TUFDWEUsVUFBVSxFQUFWQSxVQUFVO01BQ1YzQixzQkFBc0IsRUFBdEJBLHNCQUFzQjtNQUN0QmlCLHdCQUF3QixFQUF4QkEsd0JBQXdCO01BQ3hCMUIsZUFBZSxFQUFmQSxlQUFlO01BQ2ZoQyxPQUFPLEVBQVBBLE9BQU87TUFDUEMsVUFBVSxFQUFWQSxVQUFVO01BQ1ZFLE1BQU0sRUFBTkEsTUFBTTtNQUNORyxTQUFTLEVBQVRBLFNBQVM7TUFDVEUsSUFBSSxFQUFKQSxJQUFJO01BQ0orQixPQUFPLEVBQVBBLE9BQU87TUFDUGxCLGlCQUFpQixFQUFqQkEsaUJBQWlCO01BQ2pCZ0QsZUFBZSxFQUFmQSxlQUFlO01BQ2Y1QyxrQkFBa0IsRUFBbEJBLGtCQUFrQjtNQUNsQjZDLGdCQUFnQixFQUFoQkEsZ0JBQWdCO01BQ2hCNUQsY0FBYyxFQUFkQSxjQUFjO01BQ2R5QyxZQUFZLEVBQVpBLFlBQVk7TUFDWm9CLGVBQWUsRUFBZkEsZUFBZTtNQUNmRSxhQUFhLEVBQWJBO0lBQ0YsQ0FBQztFQUFBLENBQUMsRUFDRixDQUNFM0UsT0FBTyxFQUNQaUMsWUFBWSxhQUFaQSxZQUFZLHVCQUFaQSxZQUFZLENBQUVILFNBQVMsRUFDdkJHLFlBQVksYUFBWkEsWUFBWSx1QkFBWkEsWUFBWSxDQUFFRixRQUFRLEVBQ3RCWixLQUFLLEVBQ0xpRCxXQUFXLEVBQ1hFLFVBQVUsRUFDVnBDLGVBQWUsRUFDZjBCLHdCQUF3QixFQUN4QjFELE9BQU8sYUFBUEEsT0FBTyx1QkFBUEEsT0FBTyxDQUFFMkMsRUFBRSxFQUNYMUMsVUFBVSxFQUNWRSxNQUFNLGFBQU5BLE1BQU0sdUJBQU5BLE1BQU0sQ0FBRXdDLEVBQUUsRUFDVnJDLFNBQVMsRUFDVEUsSUFBSSxhQUFKQSxJQUFJLHVCQUFKQSxJQUFJLENBQUVtQyxFQUFFLEVBQ1JKLE9BQU8sRUFDUGxCLGlCQUFpQixFQUNqQmdELGVBQWUsRUFDZjVDLGtCQUFrQixFQUNsQjZDLGdCQUFnQixFQUNoQjVELGNBQWMsRUFDZHlDLFlBQVksRUFDWm9CLGVBQWUsRUFDZkUsYUFBYSxDQUVqQixDQUFDO0VBRUQsT0FBTztJQUNMRyxPQUFPLEVBQVBBLE9BQU87SUFDUGxCLHdCQUF3QixFQUF4QkE7RUFDRixDQUFDO0FBQ0gsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
|
|
@@ -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
|