@projectcor/maia-components 2.11.109-3 → 2.11.110-0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/lib/components/atoms/ContextMentionChip/buildChipElement.js +12 -1
  2. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +127 -5
  3. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +2 -29
  4. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +24 -33
  5. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +2 -19
  6. package/lib/components/atoms/IconButton.js +2 -2
  7. package/lib/components/atoms/MAIAInput/MAIAInput.js +203 -88
  8. package/lib/components/atoms/MAIAInput/styles.js +15 -11
  9. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.js +188 -0
  10. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.styles.js +69 -0
  11. package/lib/components/atoms/SkillsDropdown/index.js +2 -0
  12. package/lib/components/atoms/icons/PlusIcon.js +29 -0
  13. package/lib/components/atoms/icons/RetryIcon.js +34 -0
  14. package/lib/components/atoms/icons/SkillVisibilityEveryoneIcon.js +23 -0
  15. package/lib/components/atoms/icons/SkillVisibilityOnlyMeIcon.js +23 -0
  16. package/lib/components/atoms/icons/SkillsNavIcon.js +4 -7
  17. package/lib/components/atoms/icons/index.js +4 -1
  18. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +5 -3
  19. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +135 -380
  20. package/lib/components/molecules/ChatAIMessages/newStyles.js +18 -50
  21. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +198 -198
  22. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +11 -16
  23. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.js +8 -26
  24. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.styles.js +7 -24
  25. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +259 -232
  26. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +124 -104
  27. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +1 -3
  28. package/lib/components/molecules/MessageFeedback/MessageFeedback.js +14 -2
  29. package/lib/components/molecules/MessageFeedback/styles.js +2 -6
  30. package/lib/components/molecules/Sidebar/Sidebar.js +5 -4
  31. package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +2 -2
  32. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +8 -1
  33. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +285 -167
  34. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +86 -66
  35. package/lib/components/organisms/ChatAI/ChatAI.js +3 -22
  36. package/lib/components/organisms/ClientAIButton/ClientAIButton.js +1 -4
  37. package/lib/components/organisms/ProjectAIButton/ProjectAIButton.js +1 -4
  38. package/lib/constants/config.js +1 -4
  39. package/lib/constants/permissions/utils.js +3 -3
  40. package/lib/context/global-context.js +1 -1
  41. package/lib/dev/DevChatAI.js +1 -4
  42. package/lib/hooks/useChatManager/useChatManager.js +401 -146
  43. package/lib/hooks/useChatMessages/useChatMessages.js +27 -25
  44. package/lib/hooks/useContextMentions.js +93 -56
  45. package/lib/hooks/useEntitySearch.js +92 -278
  46. package/lib/hooks/useMentionAllowedTypes.js +9 -25
  47. package/lib/hooks/useMentionPopover.js +9 -33
  48. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +1 -1
  49. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +80 -6
  50. package/lib/hooks/useProjectSummaryConfig.js +17 -36
  51. package/lib/hooks/useSkillsCatalog.js +66 -0
  52. package/lib/lang/br/index.js +61 -251
  53. package/lib/lang/en/index.js +61 -251
  54. package/lib/lang/es/index.js +62 -252
  55. package/lib/lang/fr/index.js +61 -251
  56. package/lib/services/maia/Orchestrator/index.js +4 -3
  57. package/lib/services/maia/Orchestrator/orchestrator.js +84 -23
  58. package/lib/services/maia/Skills/createSkill.js +1 -1
  59. package/lib/services/maia/Skills/getSkills.js +70 -40
  60. package/lib/services/maia/Skills/updateSkill.js +1 -1
  61. package/lib/services/utils/mapChatMessages.js +26 -25
  62. package/lib/store/maiaLastChatPersistence.js +35 -0
  63. package/lib/store/sessions/sessionStreamManager.js +191 -99
  64. package/lib/store/sessions/sessions.types.js +1 -1
  65. package/lib/types/Chat.js +1 -1
  66. package/lib/types/skill.js +1 -1
  67. package/lib/utils/contextMentionTriggers.js +2 -5
  68. package/lib/utils/hitlAnalytics.js +3 -4
  69. package/lib/utils/maiaHostOpen.js +1 -10
  70. package/lib/utils/renderContextMentions.js +39 -18
  71. package/lib/utils/retryCompletion.js +85 -0
  72. package/lib/utils/streamActivityMessages.js +41 -106
  73. package/package.json +1 -1
  74. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.js +0 -136
  75. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.styles.js +0 -73
  76. package/lib/components/atoms/ReasoningBlock/index.js +0 -2
  77. package/lib/components/organisms/CloseWhileGeneratingModal/CloseWhileGeneratingModal.js +0 -56
  78. package/lib/components/organisms/CloseWhileGeneratingModal/CloseWhileGeneratingModal.styles.js +0 -35
  79. package/lib/components/organisms/CloseWhileGeneratingModal/index.js +0 -2
  80. package/lib/hooks/useReasoningTrace/index.js +0 -3
  81. package/lib/hooks/useReasoningTrace/reasoningStore.js +0 -142
  82. package/lib/hooks/useReasoningTrace/useReasoningTrace.js +0 -14
  83. package/lib/store/maiaMinimizedPersistence.js +0 -49
  84. package/lib/types/reasoning.js +0 -2
  85. package/lib/utils/autoApproveStorage.js +0 -26
  86. package/lib/utils/reasoningMappers.js +0 -62
@@ -1,6 +1,7 @@
1
- import { orchestrator, continueThread } from './orchestrator';
1
+ import { orchestrator, continueThread, retryCompletion } from './orchestrator';
2
2
  export default {
3
3
  orchestrator: orchestrator,
4
- continueThread: continueThread
4
+ continueThread: continueThread,
5
+ retryCompletion: retryCompletion
5
6
  };
6
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJvcmNoZXN0cmF0b3IiLCJjb250aW51ZVRocmVhZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9tYWlhL09yY2hlc3RyYXRvci9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBvcmNoZXN0cmF0b3IsIGNvbnRpbnVlVGhyZWFkIH0gZnJvbSAnLi9vcmNoZXN0cmF0b3InXG5cbmV4cG9ydCBkZWZhdWx0IHtcbiAgb3JjaGVzdHJhdG9yLFxuICBjb250aW51ZVRocmVhZCxcbn1cbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsWUFBWSxFQUFFQyxjQUFjLFFBQVEsZ0JBQWdCO0FBRTdELGVBQWU7RUFDYkQsWUFBWSxFQUFaQSxZQUFZO0VBQ1pDLGNBQWMsRUFBZEE7QUFDRixDQUFDIiwiaWdub3JlTGlzdCI6W119
7
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJvcmNoZXN0cmF0b3IiLCJjb250aW51ZVRocmVhZCIsInJldHJ5Q29tcGxldGlvbiJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9tYWlhL09yY2hlc3RyYXRvci9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBvcmNoZXN0cmF0b3IsIGNvbnRpbnVlVGhyZWFkLCByZXRyeUNvbXBsZXRpb24gfSBmcm9tICcuL29yY2hlc3RyYXRvcidcblxuZXhwb3J0IGRlZmF1bHQge1xuICBvcmNoZXN0cmF0b3IsXG4gIGNvbnRpbnVlVGhyZWFkLFxuICByZXRyeUNvbXBsZXRpb24sXG59XG4iXSwibWFwcGluZ3MiOiJBQUFBLFNBQVNBLFlBQVksRUFBRUMsY0FBYyxFQUFFQyxlQUFlLFFBQVEsZ0JBQWdCO0FBRTlFLGVBQWU7RUFDYkYsWUFBWSxFQUFaQSxZQUFZO0VBQ1pDLGNBQWMsRUFBZEEsY0FBYztFQUNkQyxlQUFlLEVBQWZBO0FBQ0YsQ0FBQyIsImlnbm9yZUxpc3QiOltdfQ==
@@ -43,13 +43,76 @@ var validateAttachments = function validateAttachments(attachments) {
43
43
  }
44
44
  });
45
45
  };
46
- export var continueThread = /*#__PURE__*/function () {
46
+ var toRetryLocale = function toRetryLocale(lang) {
47
+ if (lang === 'br') return 'pt-BR';
48
+ if (lang === 'es') return 'es-AR';
49
+ if (lang === 'fr') return 'fr-FR';
50
+ return 'en-US';
51
+ };
52
+ export var retryCompletion = /*#__PURE__*/function () {
47
53
  var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(body, signal) {
48
- var threadIds, sessionId, decision, editedActions, agentId, lang, isAutoApproveActive, requestBody;
54
+ var sessionId, memorySessionId, agentId, lang, isWebSearchActive, isDeepSearchActive, projectId, clientId, taskId, agentType, contextData, path, headers, contextId, timezone;
49
55
  return _regeneratorRuntime.wrap(function (_context) {
50
56
  while (1) switch (_context.prev = _context.next) {
51
57
  case 0:
52
- threadIds = body.threadIds, sessionId = body.sessionId, decision = body.decision, editedActions = body.editedActions, agentId = body.agentId, lang = body.lang, isAutoApproveActive = body.isAutoApproveActive;
58
+ sessionId = body.sessionId, memorySessionId = body.memorySessionId, agentId = body.agentId, lang = body.lang, isWebSearchActive = body.isWebSearchActive, isDeepSearchActive = body.isDeepSearchActive, projectId = body.projectId, clientId = body.clientId, taskId = body.taskId, agentType = body.agentType, contextData = body.contextData;
59
+ path = 'orchestrator/retry_completion?mode=stream';
60
+ if (isWebSearchActive === true) {
61
+ path += '&search_web=true';
62
+ }
63
+ if (isDeepSearchActive === true) {
64
+ path += '&search_web=true&depth=true';
65
+ }
66
+ headers = {
67
+ 'X-Agent-Id': agentId.toString(),
68
+ 'Accept-Language': mapCORLang(lang)
69
+ };
70
+ if (agentType === 'orchestrator') {
71
+ contextId = '';
72
+ if (taskId != null) contextId = "task:".concat(taskId);else if (projectId != null) contextId = "project:".concat(projectId);else if (clientId != null) contextId = "client:".concat(clientId);
73
+ if (contextId) {
74
+ headers['X-Context-Id'] = contextId;
75
+ }
76
+ }
77
+ if (contextData && Object.keys(contextData).length > 0) {
78
+ headers['X-Context-Data'] = encodeContextDataHeader(contextData);
79
+ }
80
+ timezone = typeof Intl !== 'undefined' ? Intl.DateTimeFormat().resolvedOptions().timeZone : 'America/Buenos_Aires';
81
+ return _context.abrupt("return", fetchMaia({
82
+ path: path,
83
+ method: 'POST',
84
+ headers: headers,
85
+ body: {
86
+ session_id: sessionId,
87
+ parent_message_uuid: memorySessionId,
88
+ turn_message_uuids: {
89
+ assistant_message_uuid: memorySessionId
90
+ },
91
+ memory_session_id: memorySessionId,
92
+ prompt: '',
93
+ locale: toRetryLocale(lang),
94
+ timezone: timezone,
95
+ metadata: {}
96
+ },
97
+ signal: signal
98
+ }));
99
+ case 1:
100
+ case "end":
101
+ return _context.stop();
102
+ }
103
+ }, _callee);
104
+ }));
105
+ return function retryCompletion(_x, _x2) {
106
+ return _ref.apply(this, arguments);
107
+ };
108
+ }();
109
+ export var continueThread = /*#__PURE__*/function () {
110
+ var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(body, signal) {
111
+ var threadIds, sessionId, decision, editedActions, agentId, lang, requestBody;
112
+ return _regeneratorRuntime.wrap(function (_context2) {
113
+ while (1) switch (_context2.prev = _context2.next) {
114
+ case 0:
115
+ threadIds = body.threadIds, sessionId = body.sessionId, decision = body.decision, editedActions = body.editedActions, agentId = body.agentId, lang = body.lang;
53
116
  requestBody = {
54
117
  thread_ids: threadIds,
55
118
  session_id: sessionId,
@@ -58,34 +121,33 @@ export var continueThread = /*#__PURE__*/function () {
58
121
  if (decision === 'edit' && editedActions) {
59
122
  requestBody.edited_actions = editedActions;
60
123
  }
61
- return _context.abrupt("return", fetchMaia({
124
+ return _context2.abrupt("return", fetchMaia({
62
125
  path: 'orchestrator/continue-thread?mode=stream',
63
126
  method: 'POST',
64
127
  headers: {
65
128
  'X-Agent-Id': agentId.toString(),
66
- 'Accept-Language': mapCORLang(lang),
67
- 'X-HITL-Approval-Mode': isAutoApproveActive ? 'full_access' : 'approve_each'
129
+ 'Accept-Language': mapCORLang(lang)
68
130
  },
69
131
  body: requestBody,
70
132
  signal: signal
71
133
  }));
72
134
  case 1:
73
135
  case "end":
74
- return _context.stop();
136
+ return _context2.stop();
75
137
  }
76
- }, _callee);
138
+ }, _callee2);
77
139
  }));
78
- return function continueThread(_x, _x2) {
79
- return _ref.apply(this, arguments);
140
+ return function continueThread(_x3, _x4) {
141
+ return _ref2.apply(this, arguments);
80
142
  };
81
143
  }();
82
144
  export var orchestrator = /*#__PURE__*/function () {
83
- var _ref2 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2(body, signal) {
84
- var input, projectId, lang, userId, firstName, lastName, chatId, clientId, clientName, feeId, agentId, isWebSearchActive, isDeepSearchActive, isAutoApproveActive, attachments, projectName, taskId, taskName, faqId, agentSuggestionId, fuaId, scId, agentEntity, agentType, contextMessage, contextData, formData, metadata, path, headers, contextId;
85
- return _regeneratorRuntime.wrap(function (_context2) {
86
- while (1) switch (_context2.prev = _context2.next) {
145
+ var _ref3 = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee3(body, signal) {
146
+ var input, projectId, lang, userId, firstName, lastName, chatId, clientId, clientName, feeId, agentId, isWebSearchActive, isDeepSearchActive, attachments, projectName, taskId, taskName, faqId, agentSuggestionId, fuaId, scId, agentEntity, agentType, contextMessage, contextData, formData, metadata, path, headers, contextId;
147
+ return _regeneratorRuntime.wrap(function (_context3) {
148
+ while (1) switch (_context3.prev = _context3.next) {
87
149
  case 0:
88
- input = body.input, projectId = body.projectId, lang = body.lang, userId = body.userId, firstName = body.firstName, lastName = body.lastName, chatId = body.chatId, clientId = body.clientId, clientName = body.clientName, feeId = body.feeId, agentId = body.agentId, isWebSearchActive = body.isWebSearchActive, isDeepSearchActive = body.isDeepSearchActive, isAutoApproveActive = body.isAutoApproveActive, attachments = body.attachments, projectName = body.projectName, taskId = body.taskId, taskName = body.taskName, faqId = body.faqId, agentSuggestionId = body.agentSuggestionId, fuaId = body.fuaId, scId = body.scId, agentEntity = body.agentEntity, agentType = body.agentType, contextMessage = body.contextMessage, contextData = body.contextData;
150
+ input = body.input, projectId = body.projectId, lang = body.lang, userId = body.userId, firstName = body.firstName, lastName = body.lastName, chatId = body.chatId, clientId = body.clientId, clientName = body.clientName, feeId = body.feeId, agentId = body.agentId, isWebSearchActive = body.isWebSearchActive, isDeepSearchActive = body.isDeepSearchActive, attachments = body.attachments, projectName = body.projectName, taskId = body.taskId, taskName = body.taskName, faqId = body.faqId, agentSuggestionId = body.agentSuggestionId, fuaId = body.fuaId, scId = body.scId, agentEntity = body.agentEntity, agentType = body.agentType, contextMessage = body.contextMessage, contextData = body.contextData;
89
151
  formData = new FormData();
90
152
  formData.append('input', input);
91
153
  formData.append('session_id', chatId);
@@ -137,8 +199,7 @@ export var orchestrator = /*#__PURE__*/function () {
137
199
  path += '&search_web=true&depth=true';
138
200
  }
139
201
  headers = {
140
- 'X-Agent-Id': agentId.toString(),
141
- 'X-HITL-Approval-Mode': isAutoApproveActive ? 'full_access' : 'approve_each'
202
+ 'X-Agent-Id': agentId.toString()
142
203
  }; // Pin de contexto (RFC §9.1): el header le dice al router a quién derivar antes de parsear el body.
143
204
  // Mono-entidad con prioridad por jerarquía (tarea > proyecto > cliente).
144
205
  // Solo aplica al orquestador (MAIA): es el único agente sin scope propio, donde el pin define la derivación.
@@ -165,7 +226,7 @@ export var orchestrator = /*#__PURE__*/function () {
165
226
  if (contextData && Object.keys(contextData).length > 0) {
166
227
  headers['X-Context-Data'] = encodeContextDataHeader(contextData);
167
228
  }
168
- return _context2.abrupt("return", fetchMaia({
229
+ return _context3.abrupt("return", fetchMaia({
169
230
  path: path,
170
231
  method: 'POST',
171
232
  headers: headers,
@@ -174,12 +235,12 @@ export var orchestrator = /*#__PURE__*/function () {
174
235
  }));
175
236
  case 1:
176
237
  case "end":
177
- return _context2.stop();
238
+ return _context3.stop();
178
239
  }
179
- }, _callee2);
240
+ }, _callee3);
180
241
  }));
181
- return function orchestrator(_x3, _x4) {
182
- return _ref2.apply(this, arguments);
242
+ return function orchestrator(_x5, _x6) {
243
+ return _ref3.apply(this, arguments);
183
244
  };
184
245
  }();
185
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtYXBDT1JMYW5nIiwiZmV0Y2hNYWlhIiwiRklMRV9GT1JNQVRfRVhURU5TSU9OUyIsIkZJTEVfUFJFU0VOVEFUSU9OX0ZPUk1BVF9FWFRFTlNJT05TIiwiRklMRV9NQUlBX1ZJU0lPTl9GT1JNQVRfRVhURU5TSU9OUyIsIkZJTEVfQVVESU9fRk9STUFUX0VYVEVOU0lPTlMiLCJnZXRNYXhBdHRhY2htZW50U2l6ZU1iIiwiZW5jb2RlQ29udGV4dERhdGFIZWFkZXIiLCJjb250ZXh0RGF0YSIsImpzb24iLCJKU09OIiwic3RyaW5naWZ5IiwiYnl0ZXMiLCJUZXh0RW5jb2RlciIsImVuY29kZSIsImJpbmFyeSIsImkiLCJsZW5ndGgiLCJTdHJpbmciLCJmcm9tQ2hhckNvZGUiLCJidG9hIiwiTUFYX0ZJTEVTIiwiQUxMT1dFRF9GSUxFX0VYVEVOU0lPTlMiLCJ2YWxpZGF0ZUF0dGFjaG1lbnRzIiwiYXR0YWNobWVudHMiLCJFcnJvciIsImNvbmNhdCIsImZvckVhY2giLCJhdHRhY2htZW50IiwiZmlsZUV4dGVuc2lvbiIsIm5hbWUiLCJ0b0xvd2VyQ2FzZSIsInN1YnN0cmluZyIsImxhc3RJbmRleE9mIiwiaW5jbHVkZXMiLCJqb2luIiwiZmlsZVNpemUiLCJzaXplIiwiTnVtYmVyIiwibWF4U2l6ZU1iIiwibWF4U2l6ZUJ5dGVzIiwiY29udGludWVUaHJlYWQiLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJib2R5Iiwic2lnbmFsIiwidGhyZWFkSWRzIiwic2Vzc2lvbklkIiwiZGVjaXNpb24iLCJlZGl0ZWRBY3Rpb25zIiwiYWdlbnRJZCIsImxhbmciLCJpc0F1dG9BcHByb3ZlQWN0aXZlIiwicmVxdWVzdEJvZHkiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInRocmVhZF9pZHMiLCJzZXNzaW9uX2lkIiwiZWRpdGVkX2FjdGlvbnMiLCJhYnJ1cHQiLCJwYXRoIiwibWV0aG9kIiwiaGVhZGVycyIsInRvU3RyaW5nIiwic3RvcCIsIl94IiwiX3gyIiwiYXBwbHkiLCJhcmd1bWVudHMiLCJvcmNoZXN0cmF0b3IiLCJfcmVmMiIsIl9jYWxsZWUyIiwiaW5wdXQiLCJwcm9qZWN0SWQiLCJ1c2VySWQiLCJmaXJzdE5hbWUiLCJsYXN0TmFtZSIsImNoYXRJZCIsImNsaWVudElkIiwiY2xpZW50TmFtZSIsImZlZUlkIiwiaXNXZWJTZWFyY2hBY3RpdmUiLCJpc0RlZXBTZWFyY2hBY3RpdmUiLCJwcm9qZWN0TmFtZSIsInRhc2tJZCIsInRhc2tOYW1lIiwiZmFxSWQiLCJhZ2VudFN1Z2dlc3Rpb25JZCIsImZ1YUlkIiwic2NJZCIsImFnZW50RW50aXR5IiwiYWdlbnRUeXBlIiwiY29udGV4dE1lc3NhZ2UiLCJmb3JtRGF0YSIsIm1ldGFkYXRhIiwiY29udGV4dElkIiwiX2NvbnRleHQyIiwiRm9ybURhdGEiLCJhcHBlbmQiLCJmaWxlVG9TZW5kIiwib3JpZ2luYWxGaWxlIiwiZmlsZSIsIl9vYmplY3RTcHJlYWQiLCJ1c2VyX2lkIiwiZmlyc3RfbmFtZSIsImxhc3RfbmFtZSIsImZlZV9pZCIsImNsaWVudF9pZCIsImNsaWVudF9uYW1lIiwicHJvamVjdF9pZCIsInByb2plY3RfbmFtZSIsInRhc2tfaWQiLCJ0YXNrX25hbWUiLCJzdWJkb21haW4iLCJ3aW5kb3ciLCJsb2NhdGlvbiIsImhvc3RuYW1lIiwic3BsaXQiLCJPYmplY3QiLCJrZXlzIiwiY29udGV4dF9tZXNzYWdlIiwiX3gzIiwiX3g0Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL21haWEvT3JjaGVzdHJhdG9yL29yY2hlc3RyYXRvci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgKi9cbi8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tY3ljbGUgKi9cbmltcG9ydCB7IEF0dGFjaG1lbnRGaWxlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyJ1xuaW1wb3J0IHsgbWFwQ09STGFuZyB9IGZyb20gJy4uLy4uLy4uL2xhbmcvdXRpbHMnXG5pbXBvcnQgeyBDaGF0SGlzdG9yeSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL0NoYXQnXG5pbXBvcnQgeyBBZ2VudEVudGl0eSwgQWdlbnRUeXBlIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyBDb250ZXh0TWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuaW1wb3J0IHsgZmV0Y2hNYWlhIH0gZnJvbSAnLi4vY2xpZW50J1xuaW1wb3J0IHtcbiAgRklMRV9GT1JNQVRfRVhURU5TSU9OUyxcbiAgRklMRV9QUkVTRU5UQVRJT05fRk9STUFUX0VYVEVOU0lPTlMsXG4gIEZJTEVfTUFJQV9WSVNJT05fRk9STUFUX0VYVEVOU0lPTlMsXG4gIEZJTEVfQVVESU9fRk9STUFUX0VYVEVOU0lPTlMsXG4gIGdldE1heEF0dGFjaG1lbnRTaXplTWIsXG59IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9mb3JtYXRFeHRlbnNpb25zJ1xuXG4vKiogQ29kaWZpY2EgSlNPTiBVVEYtOCBlbiBiYXNlNjQgcGFyYSBoZWFkZXJzIEhUVFAgKGV2aXRhIHByb2JsZW1hcyBjb24gY2FyYWN0ZXJlcyBlc3BlY2lhbGVzKS4gKi9cbmNvbnN0IGVuY29kZUNvbnRleHREYXRhSGVhZGVyID0gKGNvbnRleHREYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IHN0cmluZyA9PiB7XG4gIGNvbnN0IGpzb24gPSBKU09OLnN0cmluZ2lmeShjb250ZXh0RGF0YSlcbiAgY29uc3QgYnl0ZXMgPSBuZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoanNvbilcbiAgbGV0IGJpbmFyeSA9ICcnXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYnl0ZXMubGVuZ3RoOyBpICs9IDEpIHtcbiAgICBiaW5hcnkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShieXRlc1tpXSEpXG4gIH1cbiAgcmV0dXJuIGJ0b2EoYmluYXJ5KVxufVxuXG50eXBlIE9yY2hlc3RyYXRvclJlcXVlc3QgPSB7XG4gIGlucHV0OiBzdHJpbmdcbiAgcHJvamVjdElkPzogbnVtYmVyXG4gIGxhbmc6IHN0cmluZ1xuICB1c2VySWQ6IHN0cmluZ1xuICBmaXJzdE5hbWU/OiBzdHJpbmdcbiAgbGFzdE5hbWU/OiBzdHJpbmdcbiAgY29tcGFueUlkOiBzdHJpbmdcbiAgY2hhdElkOiBzdHJpbmdcbiAgaGlzdG9yeTogQ2hhdEhpc3RvcnlbXVxuICBtZXNzYWdlSWQ6IHN0cmluZ1xuICBjbGllbnRJZD86IG51bWJlclxuICBjbGllbnROYW1lPzogc3RyaW5nXG4gIGZlZUlkPzogbnVtYmVyXG4gIGFnZW50TmFtZTogc3RyaW5nXG4gIGFnZW50SWQ6IG51bWJlciB8IHN0cmluZ1xuICBpc1dlYlNlYXJjaEFjdGl2ZT86IGJvb2xlYW5cbiAgaXNEZWVwU2VhcmNoQWN0aXZlPzogYm9vbGVhblxuICBpc0F1dG9BcHByb3ZlQWN0aXZlPzogYm9vbGVhblxuICBhdHRhY2htZW50cz86IEF0dGFjaG1lbnRGaWxlW11cbiAgcHJvamVjdE5hbWU/OiBzdHJpbmdcbiAgdGFza0lkPzogbnVtYmVyXG4gIHRhc2tOYW1lPzogc3RyaW5nXG4gIGZhcUlkPzogc3RyaW5nXG4gIGFnZW50U3VnZ2VzdGlvbklkPzogc3RyaW5nXG4gIGZ1YUlkPzogc3RyaW5nXG4gIHNjSWQ/OiBzdHJpbmdcbiAgYWdlbnRFbnRpdHk/OiBBZ2VudEVudGl0eVxuICBhZ2VudFR5cGU/OiBBZ2VudFR5cGVcbiAgLyoqXG4gICAqIEVudGlkYWRlcyBtZW5jaW9uYWRhcyBjb24gYEBgIGVuIEVTRSBtZW5zYWplLiBTZSBpbnllY3RhIGNvbW9cbiAgICogYGNvbnRleHRfbWVzc2FnZWAgZGVudHJvIGRlIGxhIG1ldGFkYXRhIGRlbCBvcmNoZXN0cmF0b3IgeSBzb2xvIHZpdmUgZW5cbiAgICogZXNlIHR1cm5vIChubyBwcm9wYWdhIGFsIGNvbnRleHRvIGdsb2JhbCBuaSBhIGZ1dHVyb3MgbWVuc2FqZXMpLlxuICAgKi9cbiAgY29udGV4dE1lc3NhZ2U/OiBDb250ZXh0TWVzc2FnZVxuICAvKiogUGF5bG9hZCBkZWwgYmFubmVyIChob3N0IENPUikgZW52aWFkbyBjb21vIGhlYWRlciBgWC1Db250ZXh0LURhdGFgIChKU09OIGVuIGJhc2U2NCkuICovXG4gIGNvbnRleHREYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbn1cblxuY29uc3QgTUFYX0ZJTEVTID0gNVxuY29uc3QgQUxMT1dFRF9GSUxFX0VYVEVOU0lPTlMgPSBbXG4gICcudHh0JyxcbiAgJy5tZCcsXG4gICcuY3N2JyxcbiAgJy5kb2MnLFxuICAnLmRvY3gnLFxuICAnLnBwdCcsXG4gICcucHB0eCcsXG4gICcucG5nJyxcbiAgJy5qcGcnLFxuICAnLmpwZWcnLFxuICAnLnBkZicsXG4gICcueGxzeCcsXG4gICcueGxzJyxcbiAgJy5mbGFjJyxcbiAgJy5tNGEnLFxuICAnLm1wMycsXG4gICcubXA0JyxcbiAgJy5vZ2EnLFxuICAnLm9nZycsXG4gICcud2F2JyxcbiAgJy53ZWJtJyxcbl1cblxuY29uc3QgdmFsaWRhdGVBdHRhY2htZW50cyA9IChhdHRhY2htZW50czogQXR0YWNobWVudEZpbGVbXSk6IHZvaWQgPT4ge1xuICBpZiAoYXR0YWNobWVudHMubGVuZ3RoID4gTUFYX0ZJTEVTKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBNw6F4aW1vICR7TUFYX0ZJTEVTfSBhcmNoaXZvcyBwZXJtaXRpZG9zYClcbiAgfVxuXG4gIGF0dGFjaG1lbnRzLmZvckVhY2goYXR0YWNobWVudCA9PiB7XG4gICAgLy8gVmFsaWRhciBleHRlbnNpw7NuIGRlbCBhcmNoaXZvXG4gICAgY29uc3QgZmlsZUV4dGVuc2lvbiA9IGF0dGFjaG1lbnQubmFtZS50b0xvd2VyQ2FzZSgpLnN1YnN0cmluZyhhdHRhY2htZW50Lm5hbWUubGFzdEluZGV4T2YoJy4nKSlcbiAgICBpZiAoIUFMTE9XRURfRklMRV9FWFRFTlNJT05TLmluY2x1ZGVzKGZpbGVFeHRlbnNpb24pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBFbCBhcmNoaXZvIFwiJHthdHRhY2htZW50Lm5hbWV9XCIgbm8gdGllbmUgdW4gZm9ybWF0byBzb3BvcnRhZG8uIEZvcm1hdG9zIHBlcm1pdGlkb3M6ICR7QUxMT1dFRF9GSUxFX0VYVEVOU0lPTlMuam9pbignLCAnKX1gXG4gICAgICApXG4gICAgfVxuXG4gICAgLy8gVmFsaWRhciB0YW1hw7FvIGRlbCBhcmNoaXZvIHNlZ8O6biBlbCB0aXBvXG4gICAgY29uc3QgZmlsZVNpemUgPSB0eXBlb2YgYXR0YWNobWVudC5zaXplID09PSAnbnVtYmVyJyA/IGF0dGFjaG1lbnQuc2l6ZSA6IE51bWJlcihhdHRhY2htZW50LnNpemUpXG4gICAgY29uc3QgbWF4U2l6ZU1iID0gZ2V0TWF4QXR0YWNobWVudFNpemVNYihmaWxlRXh0ZW5zaW9uKVxuICAgIGNvbnN0IG1heFNpemVCeXRlcyA9IG1heFNpemVNYiAqIDEwMjQgKiAxMDI0XG5cbiAgICBpZiAoXG4gICAgICAoRklMRV9GT1JNQVRfRVhURU5TSU9OUy5pbmNsdWRlcyhmaWxlRXh0ZW5zaW9uKSB8fFxuICAgICAgICBGSUxFX1BSRVNFTlRBVElPTl9GT1JNQVRfRVhURU5TSU9OUy5pbmNsdWRlcyhmaWxlRXh0ZW5zaW9uKSB8fFxuICAgICAgICBGSUxFX01BSUFfVklTSU9OX0ZPUk1BVF9FWFRFTlNJT05TLmluY2x1ZGVzKGZpbGVFeHRlbnNpb24pIHx8XG4gICAgICAgIEZJTEVfQVVESU9fRk9STUFUX0VYVEVOU0lPTlMuaW5jbHVkZXMoZmlsZUV4dGVuc2lvbikpICYmXG4gICAgICBmaWxlU2l6ZSA+IG1heFNpemVCeXRlc1xuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBFbCBhcmNoaXZvIFwiJHthdHRhY2htZW50Lm5hbWV9XCIgZXhjZWRlIGVsIHRhbWHDsW8gbcOheGltbyBkZSAke21heFNpemVNYn1NQmApXG4gICAgfVxuICB9KVxufVxuXG50eXBlIENvbnRpbnVlVGhyZWFkUmVxdWVzdCA9IHtcbiAgdGhyZWFkSWRzOiBzdHJpbmdbXVxuICBzZXNzaW9uSWQ6IHN0cmluZ1xuICBkZWNpc2lvbjogJ2FwcHJvdmUnIHwgJ2VkaXQnIHwgJ3JlamVjdCdcbiAgZWRpdGVkQWN0aW9ucz86IEFycmF5PHsgdG9vbF9uYW1lOiBzdHJpbmc7IGFyZ3M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IH0+XG4gIGFnZW50SWQ6IG51bWJlciB8IHN0cmluZ1xuICBsYW5nOiBzdHJpbmdcbiAgaXNBdXRvQXBwcm92ZUFjdGl2ZT86IGJvb2xlYW5cbn1cblxuZXhwb3J0IGNvbnN0IGNvbnRpbnVlVGhyZWFkID0gYXN5bmMgKGJvZHk6IENvbnRpbnVlVGhyZWFkUmVxdWVzdCwgc2lnbmFsPzogQWJvcnRTaWduYWwpOiBQcm9taXNlPFJlc3BvbnNlPiA9PiB7XG4gIGNvbnN0IHsgdGhyZWFkSWRzLCBzZXNzaW9uSWQsIGRlY2lzaW9uLCBlZGl0ZWRBY3Rpb25zLCBhZ2VudElkLCBsYW5nLCBpc0F1dG9BcHByb3ZlQWN0aXZlIH0gPSBib2R5XG5cbiAgY29uc3QgcmVxdWVzdEJvZHk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge1xuICAgIHRocmVhZF9pZHM6IHRocmVhZElkcyxcbiAgICBzZXNzaW9uX2lkOiBzZXNzaW9uSWQsXG4gICAgZGVjaXNpb24sXG4gIH1cblxuICBpZiAoZGVjaXNpb24gPT09ICdlZGl0JyAmJiBlZGl0ZWRBY3Rpb25zKSB7XG4gICAgcmVxdWVzdEJvZHkuZWRpdGVkX2FjdGlvbnMgPSBlZGl0ZWRBY3Rpb25zXG4gIH1cblxuICByZXR1cm4gZmV0Y2hNYWlhKHtcbiAgICBwYXRoOiAnb3JjaGVzdHJhdG9yL2NvbnRpbnVlLXRocmVhZD9tb2RlPXN0cmVhbScsXG4gICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgaGVhZGVyczoge1xuICAgICAgJ1gtQWdlbnQtSWQnOiBhZ2VudElkLnRvU3RyaW5nKCksXG4gICAgICAnQWNjZXB0LUxhbmd1YWdlJzogbWFwQ09STGFuZyhsYW5nKSxcbiAgICAgICdYLUhJVEwtQXBwcm92YWwtTW9kZSc6IGlzQXV0b0FwcHJvdmVBY3RpdmUgPyAnZnVsbF9hY2Nlc3MnIDogJ2FwcHJvdmVfZWFjaCcsXG4gICAgfSxcbiAgICBib2R5OiByZXF1ZXN0Qm9keSxcbiAgICBzaWduYWwsXG4gIH0pXG59XG5cbmV4cG9ydCBjb25zdCBvcmNoZXN0cmF0b3IgPSBhc3luYyAoYm9keTogT3JjaGVzdHJhdG9yUmVxdWVzdCwgc2lnbmFsPzogQWJvcnRTaWduYWwpOiBQcm9taXNlPFJlc3BvbnNlPiA9PiB7XG4gIGNvbnN0IHtcbiAgICBpbnB1dCxcbiAgICBwcm9qZWN0SWQsXG4gICAgbGFuZyxcbiAgICB1c2VySWQsXG4gICAgZmlyc3ROYW1lLFxuICAgIGxhc3ROYW1lLFxuICAgIGNoYXRJZCxcbiAgICBjbGllbnRJZCxcbiAgICBjbGllbnROYW1lLFxuICAgIGZlZUlkLFxuICAgIGFnZW50SWQsXG4gICAgaXNXZWJTZWFyY2hBY3RpdmUsXG4gICAgaXNEZWVwU2VhcmNoQWN0aXZlLFxuICAgIGlzQXV0b0FwcHJvdmVBY3RpdmUsXG4gICAgYXR0YWNobWVudHMsXG4gICAgcHJvamVjdE5hbWUsXG4gICAgdGFza0lkLFxuICAgIHRhc2tOYW1lLFxuICAgIGZhcUlkLFxuICAgIGFnZW50U3VnZ2VzdGlvbklkLFxuICAgIGZ1YUlkLFxuICAgIHNjSWQsXG4gICAgYWdlbnRFbnRpdHksXG4gICAgYWdlbnRUeXBlLFxuICAgIGNvbnRleHRNZXNzYWdlLFxuICAgIGNvbnRleHREYXRhLFxuICB9ID0gYm9keVxuXG4gIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKClcbiAgZm9ybURhdGEuYXBwZW5kKCdpbnB1dCcsIGlucHV0KVxuICBmb3JtRGF0YS5hcHBlbmQoJ3Nlc3Npb25faWQnLCBjaGF0SWQpXG5cbiAgaWYgKGF0dGFjaG1lbnRzPy5sZW5ndGgpIHtcbiAgICB2YWxpZGF0ZUF0dGFjaG1lbnRzKGF0dGFjaG1lbnRzKVxuXG4gICAgYXR0YWNobWVudHMuZm9yRWFjaChhdHRhY2htZW50ID0+IHtcbiAgICAgIC8vIFVzYXIgZWwgYXJjaGl2byBvcmlnaW5hbCBzaSBleGlzdGUgKHBhcmEgaW3DoWdlbmVzIHByb2Nlc2FkYXMpLCBzaW5vIHVzYXIgZWwgYXJjaGl2byBub3JtYWxcbiAgICAgIGNvbnN0IGZpbGVUb1NlbmQgPSBhdHRhY2htZW50Lm9yaWdpbmFsRmlsZSB8fCBhdHRhY2htZW50LmZpbGVcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZXMnLCBmaWxlVG9TZW5kKVxuICAgIH0pXG4gIH1cblxuICBsZXQgbWV0YWRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIGlmIChhZ2VudEVudGl0eSA9PT0gJ2dsb2JhbCcgJiYgYWdlbnRUeXBlICE9PSAnb3JjaGVzdHJhdG9yJykge1xuICAgIG1ldGFkYXRhID0ge31cbiAgfSBlbHNlIHtcbiAgICBtZXRhZGF0YSA9IHtcbiAgICAgIGxhbmc6IG1hcENPUkxhbmcobGFuZyksXG4gICAgICAuLi4odXNlcklkID8geyB1c2VyX2lkOiB1c2VySWQgfSA6IHt9KSxcbiAgICAgIC4uLihmaXJzdE5hbWUgPyB7IGZpcnN0X25hbWU6IGZpcnN0TmFtZSB9IDoge30pLFxuICAgICAgLi4uKGxhc3ROYW1lID8geyBsYXN0X25hbWU6IGxhc3ROYW1lIH0gOiB7fSksXG4gICAgICAuLi4oZmVlSWQgIT0gbnVsbCA/IHsgZmVlX2lkOiBmZWVJZCB9IDoge30pLFxuICAgICAgLi4uKGNsaWVudElkICE9IG51bGwgPyB7IGNsaWVudF9pZDogY2xpZW50SWQgfSA6IHt9KSxcbiAgICAgIC4uLihjbGllbnROYW1lID8geyBjbGllbnRfbmFtZTogY2xpZW50TmFtZSB9IDoge30pLFxuICAgICAgLi4uKHByb2plY3RJZCA/IHsgcHJvamVjdF9pZDogcHJvamVjdElkIH0gOiB7fSksXG4gICAgICAuLi4ocHJvamVjdE5hbWUgPyB7IHByb2plY3RfbmFtZTogcHJvamVjdE5hbWUgfSA6IHt9KSxcbiAgICAgIC4uLih0YXNrSWQgIT0gbnVsbCA/IHsgdGFza19pZDogdGFza0lkIH0gOiB7fSksXG4gICAgICAuLi4odGFza05hbWUgPyB7IHRhc2tfbmFtZTogdGFza05hbWUgfSA6IHt9KSxcbiAgICAgIHN1YmRvbWFpbjogd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLnNwbGl0KCcuJylbMF0sXG4gICAgICAuLi4oY29udGV4dE1lc3NhZ2UgJiYgT2JqZWN0LmtleXMoY29udGV4dE1lc3NhZ2UpLmxlbmd0aCA+IDAgPyB7IGNvbnRleHRfbWVzc2FnZTogY29udGV4dE1lc3NhZ2UgfSA6IHt9KSxcbiAgICB9XG4gIH1cbiAgZm9ybURhdGEuYXBwZW5kKCdtZXRhZGF0YScsIEpTT04uc3RyaW5naWZ5KG1ldGFkYXRhKSlcblxuICBsZXQgcGF0aCA9ICdvcmNoZXN0cmF0b3I/bW9kZT1zdHJlYW0nXG4gIGlmIChpc1dlYlNlYXJjaEFjdGl2ZSA9PT0gdHJ1ZSkge1xuICAgIHBhdGggKz0gJyZzZWFyY2hfd2ViPXRydWUnXG4gIH1cbiAgaWYgKGlzRGVlcFNlYXJjaEFjdGl2ZSA9PT0gdHJ1ZSkge1xuICAgIHBhdGggKz0gJyZzZWFyY2hfd2ViPXRydWUmZGVwdGg9dHJ1ZSdcbiAgfVxuXG4gIGNvbnN0IGhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgJ1gtQWdlbnQtSWQnOiBhZ2VudElkLnRvU3RyaW5nKCksXG4gICAgJ1gtSElUTC1BcHByb3ZhbC1Nb2RlJzogaXNBdXRvQXBwcm92ZUFjdGl2ZSA/ICdmdWxsX2FjY2VzcycgOiAnYXBwcm92ZV9lYWNoJyxcbiAgfVxuXG4gIC8vIFBpbiBkZSBjb250ZXh0byAoUkZDIMKnOS4xKTogZWwgaGVhZGVyIGxlIGRpY2UgYWwgcm91dGVyIGEgcXVpw6luIGRlcml2YXIgYW50ZXMgZGUgcGFyc2VhciBlbCBib2R5LlxuICAvLyBNb25vLWVudGlkYWQgY29uIHByaW9yaWRhZCBwb3IgamVyYXJxdcOtYSAodGFyZWEgPiBwcm95ZWN0byA+IGNsaWVudGUpLlxuICAvLyBTb2xvIGFwbGljYSBhbCBvcnF1ZXN0YWRvciAoTUFJQSk6IGVzIGVsIMO6bmljbyBhZ2VudGUgc2luIHNjb3BlIHByb3BpbywgZG9uZGUgZWwgcGluIGRlZmluZSBsYSBkZXJpdmFjacOzbi5cbiAgLy8gRWwgc2NvcGUgcGVyc2lzdGVudGUgZW4gYG1ldGFkYXRhYCAocHJvamVjdF9pZC9jbGllbnRfaWQvdGFza19pZCkgZXMgbGEgXCJjb2xlY2Npw7NuIGRlIHVub1wiIGFycmF5LXJlYWR5LlxuICBpZiAoYWdlbnRUeXBlID09PSAnb3JjaGVzdHJhdG9yJykge1xuICAgIGxldCBjb250ZXh0SWQgPSAnJ1xuICAgIGlmICh0YXNrSWQgIT0gbnVsbCkgY29udGV4dElkID0gYHRhc2s6JHt0YXNrSWR9YFxuICAgIGVsc2UgaWYgKHByb2plY3RJZCAhPSBudWxsKSBjb250ZXh0SWQgPSBgcHJvamVjdDoke3Byb2plY3RJZH1gXG4gICAgZWxzZSBpZiAoY2xpZW50SWQgIT0gbnVsbCkgY29udGV4dElkID0gYGNsaWVudDoke2NsaWVudElkfWBcbiAgICBpZiAoY29udGV4dElkKSB7XG4gICAgICBoZWFkZXJzWydYLUNvbnRleHQtSWQnXSA9IGNvbnRleHRJZFxuICAgIH1cbiAgfVxuXG4gIGlmIChmYXFJZCkge1xuICAgIGhlYWRlcnNbJ1gtRmFxLUlkJ10gPSBmYXFJZFxuICB9XG5cbiAgaWYgKGFnZW50U3VnZ2VzdGlvbklkICYmIGFnZW50RW50aXR5ID09PSAnZ2xvYmFsJykge1xuICAgIGhlYWRlcnNbJ1gtQWdlbnQtU3VnZ2VzdGlvbiddID0gYWdlbnRTdWdnZXN0aW9uSWRcbiAgfVxuXG4gIGlmIChmdWFJZCkge1xuICAgIGhlYWRlcnNbJ1gtRnVhLUlkJ10gPSBmdWFJZFxuICB9XG5cbiAgaWYgKHNjSWQpIHtcbiAgICBoZWFkZXJzWydYLVNDLUlkJ10gPSBzY0lkXG4gIH1cblxuICBpZiAoY29udGV4dERhdGEgJiYgT2JqZWN0LmtleXMoY29udGV4dERhdGEpLmxlbmd0aCA+IDApIHtcbiAgICBoZWFkZXJzWydYLUNvbnRleHQtRGF0YSddID0gZW5jb2RlQ29udGV4dERhdGFIZWFkZXIoY29udGV4dERhdGEpXG4gIH1cblxuICByZXR1cm4gZmV0Y2hNYWlhKHtcbiAgICBwYXRoLFxuICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgIGhlYWRlcnMsXG4gICAgYm9keTogZm9ybURhdGEsXG4gICAgc2lnbmFsLFxuICB9KVxufVxuIl0sIm1hcHBpbmdzIjoiOzs7OztBQUFBO0FBQ0E7QUFDQTs7QUFFQSxTQUFTQSxVQUFVLFFBQVEscUJBQXFCO0FBSWhELFNBQVNDLFNBQVMsUUFBUSxXQUFXO0FBQ3JDLFNBQ0VDLHNCQUFzQixFQUN0QkMsbUNBQW1DLEVBQ25DQyxrQ0FBa0MsRUFDbENDLDRCQUE0QixFQUM1QkMsc0JBQXNCLFFBQ2pCLHFDQUFxQzs7QUFFNUM7QUFDQSxJQUFNQyx1QkFBdUIsR0FBRyxTQUExQkEsdUJBQXVCQSxDQUFJQyxXQUFvQyxFQUFhO0VBQ2hGLElBQU1DLElBQUksR0FBR0MsSUFBSSxDQUFDQyxTQUFTLENBQUNILFdBQVcsQ0FBQztFQUN4QyxJQUFNSSxLQUFLLEdBQUcsSUFBSUMsV0FBVyxDQUFDLENBQUMsQ0FBQ0MsTUFBTSxDQUFDTCxJQUFJLENBQUM7RUFDNUMsSUFBSU0sTUFBTSxHQUFHLEVBQUU7RUFDZixLQUFLLElBQUlDLENBQUMsR0FBRyxDQUFDLEVBQUVBLENBQUMsR0FBR0osS0FBSyxDQUFDSyxNQUFNLEVBQUVELENBQUMsSUFBSSxDQUFDLEVBQUU7SUFDeENELE1BQU0sSUFBSUcsTUFBTSxDQUFDQyxZQUFZLENBQUNQLEtBQUssQ0FBQ0ksQ0FBQyxDQUFFLENBQUM7RUFDMUM7RUFDQSxPQUFPSSxJQUFJLENBQUNMLE1BQU0sQ0FBQztBQUNyQixDQUFDO0FBeUNELElBQU1NLFNBQVMsR0FBRyxDQUFDO0FBQ25CLElBQU1DLHVCQUF1QixHQUFHLENBQzlCLE1BQU0sRUFDTixLQUFLLEVBQ0wsTUFBTSxFQUNOLE1BQU0sRUFDTixPQUFPLEVBQ1AsTUFBTSxFQUNOLE9BQU8sRUFDUCxNQUFNLEVBQ04sTUFBTSxFQUNOLE9BQU8sRUFDUCxNQUFNLEVBQ04sT0FBTyxFQUNQLE1BQU0sRUFDTixPQUFPLEVBQ1AsTUFBTSxFQUNOLE1BQU0sRUFDTixNQUFNLEVBQ04sTUFBTSxFQUNOLE1BQU0sRUFDTixNQUFNLEVBQ04sT0FBTyxDQUNSO0FBRUQsSUFBTUMsbUJBQW1CLEdBQUcsU0FBdEJBLG1CQUFtQkEsQ0FBSUMsV0FBNkIsRUFBVztFQUNuRSxJQUFJQSxXQUFXLENBQUNQLE1BQU0sR0FBR0ksU0FBUyxFQUFFO0lBQ2xDLE1BQU0sSUFBSUksS0FBSyxjQUFBQyxNQUFBLENBQVdMLFNBQVMseUJBQXNCLENBQUM7RUFDNUQ7RUFFQUcsV0FBVyxDQUFDRyxPQUFPLENBQUMsVUFBQUMsVUFBVSxFQUFJO0lBQ2hDO0lBQ0EsSUFBTUMsYUFBYSxHQUFHRCxVQUFVLENBQUNFLElBQUksQ0FBQ0MsV0FBVyxDQUFDLENBQUMsQ0FBQ0MsU0FBUyxDQUFDSixVQUFVLENBQUNFLElBQUksQ0FBQ0csV0FBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDO0lBQy9GLElBQUksQ0FBQ1gsdUJBQXVCLENBQUNZLFFBQVEsQ0FBQ0wsYUFBYSxDQUFDLEVBQUU7TUFDcEQsTUFBTSxJQUFJSixLQUFLLGlCQUFBQyxNQUFBLENBQ0VFLFVBQVUsQ0FBQ0UsSUFBSSw2REFBQUosTUFBQSxDQUF5REosdUJBQXVCLENBQUNhLElBQUksQ0FBQyxJQUFJLENBQUMsQ0FDM0gsQ0FBQztJQUNIOztJQUVBO0lBQ0EsSUFBTUMsUUFBUSxHQUFHLE9BQU9SLFVBQVUsQ0FBQ1MsSUFBSSxLQUFLLFFBQVEsR0FBR1QsVUFBVSxDQUFDUyxJQUFJLEdBQUdDLE1BQU0sQ0FBQ1YsVUFBVSxDQUFDUyxJQUFJLENBQUM7SUFDaEcsSUFBTUUsU0FBUyxHQUFHakMsc0JBQXNCLENBQUN1QixhQUFhLENBQUM7SUFDdkQsSUFBTVcsWUFBWSxHQUFHRCxTQUFTLEdBQUcsSUFBSSxHQUFHLElBQUk7SUFFNUMsSUFDRSxDQUFDckMsc0JBQXNCLENBQUNnQyxRQUFRLENBQUNMLGFBQWEsQ0FBQyxJQUM3QzFCLG1DQUFtQyxDQUFDK0IsUUFBUSxDQUFDTCxhQUFhLENBQUMsSUFDM0R6QixrQ0FBa0MsQ0FBQzhCLFFBQVEsQ0FBQ0wsYUFBYSxDQUFDLElBQzFEeEIsNEJBQTRCLENBQUM2QixRQUFRLENBQUNMLGFBQWEsQ0FBQyxLQUN0RE8sUUFBUSxHQUFHSSxZQUFZLEVBQ3ZCO01BQ0EsTUFBTSxJQUFJZixLQUFLLGlCQUFBQyxNQUFBLENBQWdCRSxVQUFVLENBQUNFLElBQUksMENBQUFKLE1BQUEsQ0FBZ0NhLFNBQVMsT0FBSSxDQUFDO0lBQzlGO0VBQ0YsQ0FBQyxDQUFDO0FBQ0osQ0FBQztBQVlELE9BQU8sSUFBTUUsY0FBYztFQUFBLElBQUFDLElBQUEsR0FBQUMsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFHLFNBQUFDLFFBQU9DLElBQTJCLEVBQUVDLE1BQW9CO0lBQUEsSUFBQUMsU0FBQSxFQUFBQyxTQUFBLEVBQUFDLFFBQUEsRUFBQUMsYUFBQSxFQUFBQyxPQUFBLEVBQUFDLElBQUEsRUFBQUMsbUJBQUEsRUFBQUMsV0FBQTtJQUFBLE9BQUFaLG1CQUFBLENBQUFhLElBQUEsV0FBQUMsUUFBQTtNQUFBLGtCQUFBQSxRQUFBLENBQUFDLElBQUEsR0FBQUQsUUFBQSxDQUFBRSxJQUFBO1FBQUE7VUFDNUVYLFNBQVMsR0FBNkVGLElBQUksQ0FBMUZFLFNBQVMsRUFBRUMsU0FBUyxHQUFrRUgsSUFBSSxDQUEvRUcsU0FBUyxFQUFFQyxRQUFRLEdBQXdESixJQUFJLENBQXBFSSxRQUFRLEVBQUVDLGFBQWEsR0FBeUNMLElBQUksQ0FBMURLLGFBQWEsRUFBRUMsT0FBTyxHQUFnQ04sSUFBSSxDQUEzQ00sT0FBTyxFQUFFQyxJQUFJLEdBQTBCUCxJQUFJLENBQWxDTyxJQUFJLEVBQUVDLG1CQUFtQixHQUFLUixJQUFJLENBQTVCUSxtQkFBbUI7VUFFbkZDLFdBQW9DLEdBQUc7WUFDM0NLLFVBQVUsRUFBRVosU0FBUztZQUNyQmEsVUFBVSxFQUFFWixTQUFTO1lBQ3JCQyxRQUFRLEVBQVJBO1VBQ0YsQ0FBQztVQUVELElBQUlBLFFBQVEsS0FBSyxNQUFNLElBQUlDLGFBQWEsRUFBRTtZQUN4Q0ksV0FBVyxDQUFDTyxjQUFjLEdBQUdYLGFBQWE7VUFDNUM7VUFBQyxPQUFBTSxRQUFBLENBQUFNLE1BQUEsV0FFTS9ELFNBQVMsQ0FBQztZQUNmZ0UsSUFBSSxFQUFFLDBDQUEwQztZQUNoREMsTUFBTSxFQUFFLE1BQU07WUFDZEMsT0FBTyxFQUFFO2NBQ1AsWUFBWSxFQUFFZCxPQUFPLENBQUNlLFFBQVEsQ0FBQyxDQUFDO2NBQ2hDLGlCQUFpQixFQUFFcEUsVUFBVSxDQUFDc0QsSUFBSSxDQUFDO2NBQ25DLHNCQUFzQixFQUFFQyxtQkFBbUIsR0FBRyxhQUFhLEdBQUc7WUFDaEUsQ0FBQztZQUNEUixJQUFJLEVBQUVTLFdBQVc7WUFDakJSLE1BQU0sRUFBTkE7VUFDRixDQUFDLENBQUM7UUFBQTtRQUFBO1VBQUEsT0FBQVUsUUFBQSxDQUFBVyxJQUFBO01BQUE7SUFBQSxHQUFBdkIsT0FBQTtFQUFBLENBQ0g7RUFBQSxnQkF4QllMLGNBQWNBLENBQUE2QixFQUFBLEVBQUFDLEdBQUE7SUFBQSxPQUFBN0IsSUFBQSxDQUFBOEIsS0FBQSxPQUFBQyxTQUFBO0VBQUE7QUFBQSxHQXdCMUI7QUFFRCxPQUFPLElBQU1DLFlBQVk7RUFBQSxJQUFBQyxLQUFBLEdBQUFoQyxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUcsU0FBQStCLFNBQU83QixJQUF5QixFQUFFQyxNQUFvQjtJQUFBLElBQUE2QixLQUFBLEVBQUFDLFNBQUEsRUFBQXhCLElBQUEsRUFBQXlCLE1BQUEsRUFBQUMsU0FBQSxFQUFBQyxRQUFBLEVBQUFDLE1BQUEsRUFBQUMsUUFBQSxFQUFBQyxVQUFBLEVBQUFDLEtBQUEsRUFBQWhDLE9BQUEsRUFBQWlDLGlCQUFBLEVBQUFDLGtCQUFBLEVBQUFoQyxtQkFBQSxFQUFBL0IsV0FBQSxFQUFBZ0UsV0FBQSxFQUFBQyxNQUFBLEVBQUFDLFFBQUEsRUFBQUMsS0FBQSxFQUFBQyxpQkFBQSxFQUFBQyxLQUFBLEVBQUFDLElBQUEsRUFBQUMsV0FBQSxFQUFBQyxTQUFBLEVBQUFDLGNBQUEsRUFBQXpGLFdBQUEsRUFBQTBGLFFBQUEsRUFBQUMsUUFBQSxFQUFBbEMsSUFBQSxFQUFBRSxPQUFBLEVBQUFpQyxTQUFBO0lBQUEsT0FBQXhELG1CQUFBLENBQUFhLElBQUEsV0FBQTRDLFNBQUE7TUFBQSxrQkFBQUEsU0FBQSxDQUFBMUMsSUFBQSxHQUFBMEMsU0FBQSxDQUFBekMsSUFBQTtRQUFBO1VBRTlFaUIsS0FBSyxHQTBCSDlCLElBQUksQ0ExQk44QixLQUFLLEVBQ0xDLFNBQVMsR0F5QlAvQixJQUFJLENBekJOK0IsU0FBUyxFQUNUeEIsSUFBSSxHQXdCRlAsSUFBSSxDQXhCTk8sSUFBSSxFQUNKeUIsTUFBTSxHQXVCSmhDLElBQUksQ0F2Qk5nQyxNQUFNLEVBQ05DLFNBQVMsR0FzQlBqQyxJQUFJLENBdEJOaUMsU0FBUyxFQUNUQyxRQUFRLEdBcUJObEMsSUFBSSxDQXJCTmtDLFFBQVEsRUFDUkMsTUFBTSxHQW9CSm5DLElBQUksQ0FwQk5tQyxNQUFNLEVBQ05DLFFBQVEsR0FtQk5wQyxJQUFJLENBbkJOb0MsUUFBUSxFQUNSQyxVQUFVLEdBa0JSckMsSUFBSSxDQWxCTnFDLFVBQVUsRUFDVkMsS0FBSyxHQWlCSHRDLElBQUksQ0FqQk5zQyxLQUFLLEVBQ0xoQyxPQUFPLEdBZ0JMTixJQUFJLENBaEJOTSxPQUFPLEVBQ1BpQyxpQkFBaUIsR0FlZnZDLElBQUksQ0FmTnVDLGlCQUFpQixFQUNqQkMsa0JBQWtCLEdBY2hCeEMsSUFBSSxDQWROd0Msa0JBQWtCLEVBQ2xCaEMsbUJBQW1CLEdBYWpCUixJQUFJLENBYk5RLG1CQUFtQixFQUNuQi9CLFdBQVcsR0FZVHVCLElBQUksQ0FaTnZCLFdBQVcsRUFDWGdFLFdBQVcsR0FXVHpDLElBQUksQ0FYTnlDLFdBQVcsRUFDWEMsTUFBTSxHQVVKMUMsSUFBSSxDQVZOMEMsTUFBTSxFQUNOQyxRQUFRLEdBU04zQyxJQUFJLENBVE4yQyxRQUFRLEVBQ1JDLEtBQUssR0FRSDVDLElBQUksQ0FSTjRDLEtBQUssRUFDTEMsaUJBQWlCLEdBT2Y3QyxJQUFJLENBUE42QyxpQkFBaUIsRUFDakJDLEtBQUssR0FNSDlDLElBQUksQ0FOTjhDLEtBQUssRUFDTEMsSUFBSSxHQUtGL0MsSUFBSSxDQUxOK0MsSUFBSSxFQUNKQyxXQUFXLEdBSVRoRCxJQUFJLENBSk5nRCxXQUFXLEVBQ1hDLFNBQVMsR0FHUGpELElBQUksQ0FITmlELFNBQVMsRUFDVEMsY0FBYyxHQUVabEQsSUFBSSxDQUZOa0QsY0FBYyxFQUNkekYsV0FBVyxHQUNUdUMsSUFBSSxDQUROdkMsV0FBVztVQUdQMEYsUUFBUSxHQUFHLElBQUlJLFFBQVEsQ0FBQyxDQUFDO1VBQy9CSixRQUFRLENBQUNLLE1BQU0sQ0FBQyxPQUFPLEVBQUUxQixLQUFLLENBQUM7VUFDL0JxQixRQUFRLENBQUNLLE1BQU0sQ0FBQyxZQUFZLEVBQUVyQixNQUFNLENBQUM7VUFFckMsSUFBSTFELFdBQVcsYUFBWEEsV0FBVyxlQUFYQSxXQUFXLENBQUVQLE1BQU0sRUFBRTtZQUN2Qk0sbUJBQW1CLENBQUNDLFdBQVcsQ0FBQztZQUVoQ0EsV0FBVyxDQUFDRyxPQUFPLENBQUMsVUFBQUMsVUFBVSxFQUFJO2NBQ2hDO2NBQ0EsSUFBTTRFLFVBQVUsR0FBRzVFLFVBQVUsQ0FBQzZFLFlBQVksSUFBSTdFLFVBQVUsQ0FBQzhFLElBQUk7Y0FDN0RSLFFBQVEsQ0FBQ0ssTUFBTSxDQUFDLE9BQU8sRUFBRUMsVUFBVSxDQUFDO1lBQ3RDLENBQUMsQ0FBQztVQUNKO1VBR0EsSUFBSVQsV0FBVyxLQUFLLFFBQVEsSUFBSUMsU0FBUyxLQUFLLGNBQWMsRUFBRTtZQUM1REcsUUFBUSxHQUFHLENBQUMsQ0FBQztVQUNmLENBQUMsTUFBTTtZQUNMQSxRQUFRLEdBQUFRLGFBQUEsQ0FBQUEsYUFBQSxDQUFBQSxhQUFBLENBQUFBLGFBQUEsQ0FBQUEsYUFBQSxDQUFBQSxhQUFBLENBQUFBLGFBQUEsQ0FBQUEsYUFBQSxDQUFBQSxhQUFBLENBQUFBLGFBQUEsQ0FBQUEsYUFBQTtjQUNOckQsSUFBSSxFQUFFdEQsVUFBVSxDQUFDc0QsSUFBSTtZQUFDLEdBQ2xCeUIsTUFBTSxHQUFHO2NBQUU2QixPQUFPLEVBQUU3QjtZQUFPLENBQUMsR0FBRyxDQUFDLENBQUMsR0FDakNDLFNBQVMsR0FBRztjQUFFNkIsVUFBVSxFQUFFN0I7WUFBVSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQzFDQyxRQUFRLEdBQUc7Y0FBRTZCLFNBQVMsRUFBRTdCO1lBQVMsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUN2Q0ksS0FBSyxJQUFJLElBQUksR0FBRztjQUFFMEIsTUFBTSxFQUFFMUI7WUFBTSxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQ3RDRixRQUFRLElBQUksSUFBSSxHQUFHO2NBQUU2QixTQUFTLEVBQUU3QjtZQUFTLENBQUMsR0FBRyxDQUFDLENBQUMsR0FDL0NDLFVBQVUsR0FBRztjQUFFNkIsV0FBVyxFQUFFN0I7WUFBVyxDQUFDLEdBQUcsQ0FBQyxDQUFDLEdBQzdDTixTQUFTLEdBQUc7Y0FBRW9DLFVBQVUsRUFBRXBDO1lBQVUsQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUMxQ1UsV0FBVyxHQUFHO2NBQUUyQixZQUFZLEVBQUUzQjtZQUFZLENBQUMsR0FBRyxDQUFDLENBQUMsR0FDaERDLE1BQU0sSUFBSSxJQUFJLEdBQUc7Y0FBRTJCLE9BQU8sRUFBRTNCO1lBQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQyxHQUN6Q0MsUUFBUSxHQUFHO2NBQUUyQixTQUFTLEVBQUUzQjtZQUFTLENBQUMsR0FBRyxDQUFDLENBQUM7Y0FDM0M0QixTQUFTLEVBQUVDLE1BQU0sQ0FBQ0MsUUFBUSxDQUFDQyxRQUFRLENBQUNDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxDQUFDO1lBQUMsR0FDN0N6QixjQUFjLElBQUkwQixNQUFNLENBQUNDLElBQUksQ0FBQzNCLGNBQWMsQ0FBQyxDQUFDaEYsTUFBTSxHQUFHLENBQUMsR0FBRztjQUFFNEcsZUFBZSxFQUFFNUI7WUFBZSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQ3hHO1VBQ0g7VUFDQUMsUUFBUSxDQUFDSyxNQUFNLENBQUMsVUFBVSxFQUFFN0YsSUFBSSxDQUFDQyxTQUFTLENBQUN3RixRQUFRLENBQUMsQ0FBQztVQUVqRGxDLElBQUksR0FBRywwQkFBMEI7VUFDckMsSUFBSXFCLGlCQUFpQixLQUFLLElBQUksRUFBRTtZQUM5QnJCLElBQUksSUFBSSxrQkFBa0I7VUFDNUI7VUFDQSxJQUFJc0Isa0JBQWtCLEtBQUssSUFBSSxFQUFFO1lBQy9CdEIsSUFBSSxJQUFJLDZCQUE2QjtVQUN2QztVQUVNRSxPQUErQixHQUFHO1lBQ3RDLFlBQVksRUFBRWQsT0FBTyxDQUFDZSxRQUFRLENBQUMsQ0FBQztZQUNoQyxzQkFBc0IsRUFBRWIsbUJBQW1CLEdBQUcsYUFBYSxHQUFHO1VBQ2hFLENBQUMsRUFFRDtVQUNBO1VBQ0E7VUFDQTtVQUNBLElBQUl5QyxTQUFTLEtBQUssY0FBYyxFQUFFO1lBQzVCSSxTQUFTLEdBQUcsRUFBRTtZQUNsQixJQUFJWCxNQUFNLElBQUksSUFBSSxFQUFFVyxTQUFTLFdBQUExRSxNQUFBLENBQVcrRCxNQUFNLENBQUUsTUFDM0MsSUFBSVgsU0FBUyxJQUFJLElBQUksRUFBRXNCLFNBQVMsY0FBQTFFLE1BQUEsQ0FBY29ELFNBQVMsQ0FBRSxNQUN6RCxJQUFJSyxRQUFRLElBQUksSUFBSSxFQUFFaUIsU0FBUyxhQUFBMUUsTUFBQSxDQUFheUQsUUFBUSxDQUFFO1lBQzNELElBQUlpQixTQUFTLEVBQUU7Y0FDYmpDLE9BQU8sQ0FBQyxjQUFjLENBQUMsR0FBR2lDLFNBQVM7WUFDckM7VUFDRjtVQUVBLElBQUlULEtBQUssRUFBRTtZQUNUeEIsT0FBTyxDQUFDLFVBQVUsQ0FBQyxHQUFHd0IsS0FBSztVQUM3QjtVQUVBLElBQUlDLGlCQUFpQixJQUFJRyxXQUFXLEtBQUssUUFBUSxFQUFFO1lBQ2pENUIsT0FBTyxDQUFDLG9CQUFvQixDQUFDLEdBQUd5QixpQkFBaUI7VUFDbkQ7VUFFQSxJQUFJQyxLQUFLLEVBQUU7WUFDVDFCLE9BQU8sQ0FBQyxVQUFVLENBQUMsR0FBRzBCLEtBQUs7VUFDN0I7VUFFQSxJQUFJQyxJQUFJLEVBQUU7WUFDUjNCLE9BQU8sQ0FBQyxTQUFTLENBQUMsR0FBRzJCLElBQUk7VUFDM0I7VUFFQSxJQUFJdEYsV0FBVyxJQUFJbUgsTUFBTSxDQUFDQyxJQUFJLENBQUNwSCxXQUFXLENBQUMsQ0FBQ1MsTUFBTSxHQUFHLENBQUMsRUFBRTtZQUN0RGtELE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxHQUFHNUQsdUJBQXVCLENBQUNDLFdBQVcsQ0FBQztVQUNsRTtVQUFDLE9BQUE2RixTQUFBLENBQUFyQyxNQUFBLFdBRU0vRCxTQUFTLENBQUM7WUFDZmdFLElBQUksRUFBSkEsSUFBSTtZQUNKQyxNQUFNLEVBQUUsTUFBTTtZQUNkQyxPQUFPLEVBQVBBLE9BQU87WUFDUHBCLElBQUksRUFBRW1ELFFBQVE7WUFDZGxELE1BQU0sRUFBTkE7VUFDRixDQUFDLENBQUM7UUFBQTtRQUFBO1VBQUEsT0FBQXFELFNBQUEsQ0FBQWhDLElBQUE7TUFBQTtJQUFBLEdBQUFPLFFBQUE7RUFBQSxDQUNIO0VBQUEsZ0JBeEhZRixZQUFZQSxDQUFBb0QsR0FBQSxFQUFBQyxHQUFBO0lBQUEsT0FBQXBELEtBQUEsQ0FBQUgsS0FBQSxPQUFBQyxTQUFBO0VBQUE7QUFBQSxHQXdIeEIiLCJpZ25vcmVMaXN0IjpbXX0=
246
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJtYXBDT1JMYW5nIiwiZmV0Y2hNYWlhIiwiRklMRV9GT1JNQVRfRVhURU5TSU9OUyIsIkZJTEVfUFJFU0VOVEFUSU9OX0ZPUk1BVF9FWFRFTlNJT05TIiwiRklMRV9NQUlBX1ZJU0lPTl9GT1JNQVRfRVhURU5TSU9OUyIsIkZJTEVfQVVESU9fRk9STUFUX0VYVEVOU0lPTlMiLCJnZXRNYXhBdHRhY2htZW50U2l6ZU1iIiwiZW5jb2RlQ29udGV4dERhdGFIZWFkZXIiLCJjb250ZXh0RGF0YSIsImpzb24iLCJKU09OIiwic3RyaW5naWZ5IiwiYnl0ZXMiLCJUZXh0RW5jb2RlciIsImVuY29kZSIsImJpbmFyeSIsImkiLCJsZW5ndGgiLCJTdHJpbmciLCJmcm9tQ2hhckNvZGUiLCJidG9hIiwiTUFYX0ZJTEVTIiwiQUxMT1dFRF9GSUxFX0VYVEVOU0lPTlMiLCJ2YWxpZGF0ZUF0dGFjaG1lbnRzIiwiYXR0YWNobWVudHMiLCJFcnJvciIsImNvbmNhdCIsImZvckVhY2giLCJhdHRhY2htZW50IiwiZmlsZUV4dGVuc2lvbiIsIm5hbWUiLCJ0b0xvd2VyQ2FzZSIsInN1YnN0cmluZyIsImxhc3RJbmRleE9mIiwiaW5jbHVkZXMiLCJqb2luIiwiZmlsZVNpemUiLCJzaXplIiwiTnVtYmVyIiwibWF4U2l6ZU1iIiwibWF4U2l6ZUJ5dGVzIiwidG9SZXRyeUxvY2FsZSIsImxhbmciLCJyZXRyeUNvbXBsZXRpb24iLCJfcmVmIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJib2R5Iiwic2lnbmFsIiwic2Vzc2lvbklkIiwibWVtb3J5U2Vzc2lvbklkIiwiYWdlbnRJZCIsImlzV2ViU2VhcmNoQWN0aXZlIiwiaXNEZWVwU2VhcmNoQWN0aXZlIiwicHJvamVjdElkIiwiY2xpZW50SWQiLCJ0YXNrSWQiLCJhZ2VudFR5cGUiLCJwYXRoIiwiaGVhZGVycyIsImNvbnRleHRJZCIsInRpbWV6b25lIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJ0b1N0cmluZyIsIk9iamVjdCIsImtleXMiLCJJbnRsIiwiRGF0ZVRpbWVGb3JtYXQiLCJyZXNvbHZlZE9wdGlvbnMiLCJ0aW1lWm9uZSIsImFicnVwdCIsIm1ldGhvZCIsInNlc3Npb25faWQiLCJwYXJlbnRfbWVzc2FnZV91dWlkIiwidHVybl9tZXNzYWdlX3V1aWRzIiwiYXNzaXN0YW50X21lc3NhZ2VfdXVpZCIsIm1lbW9yeV9zZXNzaW9uX2lkIiwicHJvbXB0IiwibG9jYWxlIiwibWV0YWRhdGEiLCJzdG9wIiwiX3giLCJfeDIiLCJhcHBseSIsImFyZ3VtZW50cyIsImNvbnRpbnVlVGhyZWFkIiwiX3JlZjIiLCJfY2FsbGVlMiIsInRocmVhZElkcyIsImRlY2lzaW9uIiwiZWRpdGVkQWN0aW9ucyIsInJlcXVlc3RCb2R5IiwiX2NvbnRleHQyIiwidGhyZWFkX2lkcyIsImVkaXRlZF9hY3Rpb25zIiwiX3gzIiwiX3g0Iiwib3JjaGVzdHJhdG9yIiwiX3JlZjMiLCJfY2FsbGVlMyIsImlucHV0IiwidXNlcklkIiwiZmlyc3ROYW1lIiwibGFzdE5hbWUiLCJjaGF0SWQiLCJjbGllbnROYW1lIiwiZmVlSWQiLCJwcm9qZWN0TmFtZSIsInRhc2tOYW1lIiwiZmFxSWQiLCJhZ2VudFN1Z2dlc3Rpb25JZCIsImZ1YUlkIiwic2NJZCIsImFnZW50RW50aXR5IiwiY29udGV4dE1lc3NhZ2UiLCJmb3JtRGF0YSIsIl9jb250ZXh0MyIsIkZvcm1EYXRhIiwiYXBwZW5kIiwiZmlsZVRvU2VuZCIsIm9yaWdpbmFsRmlsZSIsImZpbGUiLCJfb2JqZWN0U3ByZWFkIiwidXNlcl9pZCIsImZpcnN0X25hbWUiLCJsYXN0X25hbWUiLCJmZWVfaWQiLCJjbGllbnRfaWQiLCJjbGllbnRfbmFtZSIsInByb2plY3RfaWQiLCJwcm9qZWN0X25hbWUiLCJ0YXNrX2lkIiwidGFza19uYW1lIiwic3ViZG9tYWluIiwid2luZG93IiwibG9jYXRpb24iLCJob3N0bmFtZSIsInNwbGl0IiwiY29udGV4dF9tZXNzYWdlIiwiX3g1IiwiX3g2Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL21haWEvT3JjaGVzdHJhdG9yL29yY2hlc3RyYXRvci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG4vKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tdW51c2VkLXZhcnMgKi9cbi8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBpbXBvcnQvbm8tY3ljbGUgKi9cbmltcG9ydCB7IEF0dGFjaG1lbnRGaWxlIH0gZnJvbSAnLi4vLi4vLi4vY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyJ1xuaW1wb3J0IHsgbWFwQ09STGFuZyB9IGZyb20gJy4uLy4uLy4uL2xhbmcvdXRpbHMnXG5pbXBvcnQgeyBDaGF0SGlzdG9yeSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL0NoYXQnXG5pbXBvcnQgeyBBZ2VudEVudGl0eSwgQWdlbnRUeXBlIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvYWdlbnQnXG5pbXBvcnQgeyBDb250ZXh0TWVzc2FnZSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL2NvbnRleHRNZW50aW9uJ1xuaW1wb3J0IHsgZmV0Y2hNYWlhIH0gZnJvbSAnLi4vY2xpZW50J1xuaW1wb3J0IHtcbiAgRklMRV9GT1JNQVRfRVhURU5TSU9OUyxcbiAgRklMRV9QUkVTRU5UQVRJT05fRk9STUFUX0VYVEVOU0lPTlMsXG4gIEZJTEVfTUFJQV9WSVNJT05fRk9STUFUX0VYVEVOU0lPTlMsXG4gIEZJTEVfQVVESU9fRk9STUFUX0VYVEVOU0lPTlMsXG4gIGdldE1heEF0dGFjaG1lbnRTaXplTWIsXG59IGZyb20gJy4uLy4uLy4uL2NvbnN0YW50cy9mb3JtYXRFeHRlbnNpb25zJ1xuXG4vKiogQ29kaWZpY2EgSlNPTiBVVEYtOCBlbiBiYXNlNjQgcGFyYSBoZWFkZXJzIEhUVFAgKGV2aXRhIHByb2JsZW1hcyBjb24gY2FyYWN0ZXJlcyBlc3BlY2lhbGVzKS4gKi9cbmNvbnN0IGVuY29kZUNvbnRleHREYXRhSGVhZGVyID0gKGNvbnRleHREYXRhOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPik6IHN0cmluZyA9PiB7XG4gIGNvbnN0IGpzb24gPSBKU09OLnN0cmluZ2lmeShjb250ZXh0RGF0YSlcbiAgY29uc3QgYnl0ZXMgPSBuZXcgVGV4dEVuY29kZXIoKS5lbmNvZGUoanNvbilcbiAgbGV0IGJpbmFyeSA9ICcnXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYnl0ZXMubGVuZ3RoOyBpICs9IDEpIHtcbiAgICBiaW5hcnkgKz0gU3RyaW5nLmZyb21DaGFyQ29kZShieXRlc1tpXSEpXG4gIH1cbiAgcmV0dXJuIGJ0b2EoYmluYXJ5KVxufVxuXG50eXBlIE9yY2hlc3RyYXRvclJlcXVlc3QgPSB7XG4gIGlucHV0OiBzdHJpbmdcbiAgcHJvamVjdElkPzogbnVtYmVyXG4gIGxhbmc6IHN0cmluZ1xuICB1c2VySWQ6IHN0cmluZ1xuICBmaXJzdE5hbWU/OiBzdHJpbmdcbiAgbGFzdE5hbWU/OiBzdHJpbmdcbiAgY29tcGFueUlkOiBzdHJpbmdcbiAgY2hhdElkOiBzdHJpbmdcbiAgaGlzdG9yeTogQ2hhdEhpc3RvcnlbXVxuICBtZXNzYWdlSWQ6IHN0cmluZ1xuICBjbGllbnRJZD86IG51bWJlclxuICBjbGllbnROYW1lPzogc3RyaW5nXG4gIGZlZUlkPzogbnVtYmVyXG4gIGFnZW50TmFtZTogc3RyaW5nXG4gIGFnZW50SWQ6IG51bWJlciB8IHN0cmluZ1xuICBpc1dlYlNlYXJjaEFjdGl2ZT86IGJvb2xlYW5cbiAgaXNEZWVwU2VhcmNoQWN0aXZlPzogYm9vbGVhblxuICBhdHRhY2htZW50cz86IEF0dGFjaG1lbnRGaWxlW11cbiAgcHJvamVjdE5hbWU/OiBzdHJpbmdcbiAgdGFza0lkPzogbnVtYmVyXG4gIHRhc2tOYW1lPzogc3RyaW5nXG4gIGZhcUlkPzogc3RyaW5nXG4gIGFnZW50U3VnZ2VzdGlvbklkPzogc3RyaW5nXG4gIGZ1YUlkPzogc3RyaW5nXG4gIHNjSWQ/OiBzdHJpbmdcbiAgYWdlbnRFbnRpdHk/OiBBZ2VudEVudGl0eVxuICBhZ2VudFR5cGU/OiBBZ2VudFR5cGVcbiAgLyoqXG4gICAqIEVudGlkYWRlcyBtZW5jaW9uYWRhcyBjb24gYEBgIGVuIEVTRSBtZW5zYWplLiBTZSBpbnllY3RhIGNvbW9cbiAgICogYGNvbnRleHRfbWVzc2FnZWAgZGVudHJvIGRlIGxhIG1ldGFkYXRhIGRlbCBvcmNoZXN0cmF0b3IgeSBzb2xvIHZpdmUgZW5cbiAgICogZXNlIHR1cm5vIChubyBwcm9wYWdhIGFsIGNvbnRleHRvIGdsb2JhbCBuaSBhIGZ1dHVyb3MgbWVuc2FqZXMpLlxuICAgKi9cbiAgY29udGV4dE1lc3NhZ2U/OiBDb250ZXh0TWVzc2FnZVxuICAvKiogUGF5bG9hZCBkZWwgYmFubmVyIChob3N0IENPUikgZW52aWFkbyBjb21vIGhlYWRlciBgWC1Db250ZXh0LURhdGFgIChKU09OIGVuIGJhc2U2NCkuICovXG4gIGNvbnRleHREYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbn1cblxuY29uc3QgTUFYX0ZJTEVTID0gNVxuY29uc3QgQUxMT1dFRF9GSUxFX0VYVEVOU0lPTlMgPSBbXG4gICcudHh0JyxcbiAgJy5tZCcsXG4gICcuY3N2JyxcbiAgJy5kb2MnLFxuICAnLmRvY3gnLFxuICAnLnBwdCcsXG4gICcucHB0eCcsXG4gICcucG5nJyxcbiAgJy5qcGcnLFxuICAnLmpwZWcnLFxuICAnLnBkZicsXG4gICcueGxzeCcsXG4gICcueGxzJyxcbiAgJy5mbGFjJyxcbiAgJy5tNGEnLFxuICAnLm1wMycsXG4gICcubXA0JyxcbiAgJy5vZ2EnLFxuICAnLm9nZycsXG4gICcud2F2JyxcbiAgJy53ZWJtJyxcbl1cblxuY29uc3QgdmFsaWRhdGVBdHRhY2htZW50cyA9IChhdHRhY2htZW50czogQXR0YWNobWVudEZpbGVbXSk6IHZvaWQgPT4ge1xuICBpZiAoYXR0YWNobWVudHMubGVuZ3RoID4gTUFYX0ZJTEVTKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKGBNw6F4aW1vICR7TUFYX0ZJTEVTfSBhcmNoaXZvcyBwZXJtaXRpZG9zYClcbiAgfVxuXG4gIGF0dGFjaG1lbnRzLmZvckVhY2goYXR0YWNobWVudCA9PiB7XG4gICAgLy8gVmFsaWRhciBleHRlbnNpw7NuIGRlbCBhcmNoaXZvXG4gICAgY29uc3QgZmlsZUV4dGVuc2lvbiA9IGF0dGFjaG1lbnQubmFtZS50b0xvd2VyQ2FzZSgpLnN1YnN0cmluZyhhdHRhY2htZW50Lm5hbWUubGFzdEluZGV4T2YoJy4nKSlcbiAgICBpZiAoIUFMTE9XRURfRklMRV9FWFRFTlNJT05TLmluY2x1ZGVzKGZpbGVFeHRlbnNpb24pKSB7XG4gICAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICAgIGBFbCBhcmNoaXZvIFwiJHthdHRhY2htZW50Lm5hbWV9XCIgbm8gdGllbmUgdW4gZm9ybWF0byBzb3BvcnRhZG8uIEZvcm1hdG9zIHBlcm1pdGlkb3M6ICR7QUxMT1dFRF9GSUxFX0VYVEVOU0lPTlMuam9pbignLCAnKX1gXG4gICAgICApXG4gICAgfVxuXG4gICAgLy8gVmFsaWRhciB0YW1hw7FvIGRlbCBhcmNoaXZvIHNlZ8O6biBlbCB0aXBvXG4gICAgY29uc3QgZmlsZVNpemUgPSB0eXBlb2YgYXR0YWNobWVudC5zaXplID09PSAnbnVtYmVyJyA/IGF0dGFjaG1lbnQuc2l6ZSA6IE51bWJlcihhdHRhY2htZW50LnNpemUpXG4gICAgY29uc3QgbWF4U2l6ZU1iID0gZ2V0TWF4QXR0YWNobWVudFNpemVNYihmaWxlRXh0ZW5zaW9uKVxuICAgIGNvbnN0IG1heFNpemVCeXRlcyA9IG1heFNpemVNYiAqIDEwMjQgKiAxMDI0XG5cbiAgICBpZiAoXG4gICAgICAoRklMRV9GT1JNQVRfRVhURU5TSU9OUy5pbmNsdWRlcyhmaWxlRXh0ZW5zaW9uKSB8fFxuICAgICAgICBGSUxFX1BSRVNFTlRBVElPTl9GT1JNQVRfRVhURU5TSU9OUy5pbmNsdWRlcyhmaWxlRXh0ZW5zaW9uKSB8fFxuICAgICAgICBGSUxFX01BSUFfVklTSU9OX0ZPUk1BVF9FWFRFTlNJT05TLmluY2x1ZGVzKGZpbGVFeHRlbnNpb24pIHx8XG4gICAgICAgIEZJTEVfQVVESU9fRk9STUFUX0VYVEVOU0lPTlMuaW5jbHVkZXMoZmlsZUV4dGVuc2lvbikpICYmXG4gICAgICBmaWxlU2l6ZSA+IG1heFNpemVCeXRlc1xuICAgICkge1xuICAgICAgdGhyb3cgbmV3IEVycm9yKGBFbCBhcmNoaXZvIFwiJHthdHRhY2htZW50Lm5hbWV9XCIgZXhjZWRlIGVsIHRhbWHDsW8gbcOheGltbyBkZSAke21heFNpemVNYn1NQmApXG4gICAgfVxuICB9KVxufVxuXG50eXBlIENvbnRpbnVlVGhyZWFkUmVxdWVzdCA9IHtcbiAgdGhyZWFkSWRzOiBzdHJpbmdbXVxuICBzZXNzaW9uSWQ6IHN0cmluZ1xuICBkZWNpc2lvbjogJ2FwcHJvdmUnIHwgJ2VkaXQnIHwgJ3JlamVjdCdcbiAgZWRpdGVkQWN0aW9ucz86IEFycmF5PHsgdG9vbF9uYW1lOiBzdHJpbmc7IGFyZ3M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+IH0+XG4gIGFnZW50SWQ6IG51bWJlciB8IHN0cmluZ1xuICBsYW5nOiBzdHJpbmdcbn1cblxuY29uc3QgdG9SZXRyeUxvY2FsZSA9IChsYW5nOiBzdHJpbmcpOiBzdHJpbmcgPT4ge1xuICBpZiAobGFuZyA9PT0gJ2JyJykgcmV0dXJuICdwdC1CUidcbiAgaWYgKGxhbmcgPT09ICdlcycpIHJldHVybiAnZXMtQVInXG4gIGlmIChsYW5nID09PSAnZnInKSByZXR1cm4gJ2ZyLUZSJ1xuICByZXR1cm4gJ2VuLVVTJ1xufVxuXG5leHBvcnQgdHlwZSBSZXRyeUNvbXBsZXRpb25SZXF1ZXN0ID0ge1xuICBzZXNzaW9uSWQ6IHN0cmluZ1xuICBtZW1vcnlTZXNzaW9uSWQ6IHN0cmluZ1xuICBhZ2VudElkOiBudW1iZXIgfCBzdHJpbmdcbiAgbGFuZzogc3RyaW5nXG4gIGlzV2ViU2VhcmNoQWN0aXZlPzogYm9vbGVhblxuICBpc0RlZXBTZWFyY2hBY3RpdmU/OiBib29sZWFuXG4gIHByb2plY3RJZD86IG51bWJlclxuICBjbGllbnRJZD86IG51bWJlclxuICB0YXNrSWQ/OiBudW1iZXJcbiAgYWdlbnRUeXBlPzogQWdlbnRUeXBlXG4gIGNvbnRleHREYXRhPzogUmVjb3JkPHN0cmluZywgdW5rbm93bj5cbn1cblxuZXhwb3J0IGNvbnN0IHJldHJ5Q29tcGxldGlvbiA9IGFzeW5jIChib2R5OiBSZXRyeUNvbXBsZXRpb25SZXF1ZXN0LCBzaWduYWw/OiBBYm9ydFNpZ25hbCk6IFByb21pc2U8UmVzcG9uc2U+ID0+IHtcbiAgY29uc3Qge1xuICAgIHNlc3Npb25JZCxcbiAgICBtZW1vcnlTZXNzaW9uSWQsXG4gICAgYWdlbnRJZCxcbiAgICBsYW5nLFxuICAgIGlzV2ViU2VhcmNoQWN0aXZlLFxuICAgIGlzRGVlcFNlYXJjaEFjdGl2ZSxcbiAgICBwcm9qZWN0SWQsXG4gICAgY2xpZW50SWQsXG4gICAgdGFza0lkLFxuICAgIGFnZW50VHlwZSxcbiAgICBjb250ZXh0RGF0YSxcbiAgfSA9IGJvZHlcblxuICBsZXQgcGF0aCA9ICdvcmNoZXN0cmF0b3IvcmV0cnlfY29tcGxldGlvbj9tb2RlPXN0cmVhbSdcbiAgaWYgKGlzV2ViU2VhcmNoQWN0aXZlID09PSB0cnVlKSB7XG4gICAgcGF0aCArPSAnJnNlYXJjaF93ZWI9dHJ1ZSdcbiAgfVxuICBpZiAoaXNEZWVwU2VhcmNoQWN0aXZlID09PSB0cnVlKSB7XG4gICAgcGF0aCArPSAnJnNlYXJjaF93ZWI9dHJ1ZSZkZXB0aD10cnVlJ1xuICB9XG5cbiAgY29uc3QgaGVhZGVyczogUmVjb3JkPHN0cmluZywgc3RyaW5nPiA9IHtcbiAgICAnWC1BZ2VudC1JZCc6IGFnZW50SWQudG9TdHJpbmcoKSxcbiAgICAnQWNjZXB0LUxhbmd1YWdlJzogbWFwQ09STGFuZyhsYW5nKSxcbiAgfVxuXG4gIGlmIChhZ2VudFR5cGUgPT09ICdvcmNoZXN0cmF0b3InKSB7XG4gICAgbGV0IGNvbnRleHRJZCA9ICcnXG4gICAgaWYgKHRhc2tJZCAhPSBudWxsKSBjb250ZXh0SWQgPSBgdGFzazoke3Rhc2tJZH1gXG4gICAgZWxzZSBpZiAocHJvamVjdElkICE9IG51bGwpIGNvbnRleHRJZCA9IGBwcm9qZWN0OiR7cHJvamVjdElkfWBcbiAgICBlbHNlIGlmIChjbGllbnRJZCAhPSBudWxsKSBjb250ZXh0SWQgPSBgY2xpZW50OiR7Y2xpZW50SWR9YFxuICAgIGlmIChjb250ZXh0SWQpIHtcbiAgICAgIGhlYWRlcnNbJ1gtQ29udGV4dC1JZCddID0gY29udGV4dElkXG4gICAgfVxuICB9XG5cbiAgaWYgKGNvbnRleHREYXRhICYmIE9iamVjdC5rZXlzKGNvbnRleHREYXRhKS5sZW5ndGggPiAwKSB7XG4gICAgaGVhZGVyc1snWC1Db250ZXh0LURhdGEnXSA9IGVuY29kZUNvbnRleHREYXRhSGVhZGVyKGNvbnRleHREYXRhKVxuICB9XG5cbiAgY29uc3QgdGltZXpvbmUgPVxuICAgIHR5cGVvZiBJbnRsICE9PSAndW5kZWZpbmVkJyA/IEludGwuRGF0ZVRpbWVGb3JtYXQoKS5yZXNvbHZlZE9wdGlvbnMoKS50aW1lWm9uZSA6ICdBbWVyaWNhL0J1ZW5vc19BaXJlcydcblxuICByZXR1cm4gZmV0Y2hNYWlhKHtcbiAgICBwYXRoLFxuICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgIGhlYWRlcnMsXG4gICAgYm9keToge1xuICAgICAgc2Vzc2lvbl9pZDogc2Vzc2lvbklkLFxuICAgICAgcGFyZW50X21lc3NhZ2VfdXVpZDogbWVtb3J5U2Vzc2lvbklkLFxuICAgICAgdHVybl9tZXNzYWdlX3V1aWRzOiB7IGFzc2lzdGFudF9tZXNzYWdlX3V1aWQ6IG1lbW9yeVNlc3Npb25JZCB9LFxuICAgICAgbWVtb3J5X3Nlc3Npb25faWQ6IG1lbW9yeVNlc3Npb25JZCxcbiAgICAgIHByb21wdDogJycsXG4gICAgICBsb2NhbGU6IHRvUmV0cnlMb2NhbGUobGFuZyksXG4gICAgICB0aW1lem9uZSxcbiAgICAgIG1ldGFkYXRhOiB7fSxcbiAgICB9LFxuICAgIHNpZ25hbCxcbiAgfSlcbn1cblxuZXhwb3J0IGNvbnN0IGNvbnRpbnVlVGhyZWFkID0gYXN5bmMgKGJvZHk6IENvbnRpbnVlVGhyZWFkUmVxdWVzdCwgc2lnbmFsPzogQWJvcnRTaWduYWwpOiBQcm9taXNlPFJlc3BvbnNlPiA9PiB7XG4gIGNvbnN0IHsgdGhyZWFkSWRzLCBzZXNzaW9uSWQsIGRlY2lzaW9uLCBlZGl0ZWRBY3Rpb25zLCBhZ2VudElkLCBsYW5nIH0gPSBib2R5XG5cbiAgY29uc3QgcmVxdWVzdEJvZHk6IFJlY29yZDxzdHJpbmcsIHVua25vd24+ID0ge1xuICAgIHRocmVhZF9pZHM6IHRocmVhZElkcyxcbiAgICBzZXNzaW9uX2lkOiBzZXNzaW9uSWQsXG4gICAgZGVjaXNpb24sXG4gIH1cblxuICBpZiAoZGVjaXNpb24gPT09ICdlZGl0JyAmJiBlZGl0ZWRBY3Rpb25zKSB7XG4gICAgcmVxdWVzdEJvZHkuZWRpdGVkX2FjdGlvbnMgPSBlZGl0ZWRBY3Rpb25zXG4gIH1cblxuICByZXR1cm4gZmV0Y2hNYWlhKHtcbiAgICBwYXRoOiAnb3JjaGVzdHJhdG9yL2NvbnRpbnVlLXRocmVhZD9tb2RlPXN0cmVhbScsXG4gICAgbWV0aG9kOiAnUE9TVCcsXG4gICAgaGVhZGVyczoge1xuICAgICAgJ1gtQWdlbnQtSWQnOiBhZ2VudElkLnRvU3RyaW5nKCksXG4gICAgICAnQWNjZXB0LUxhbmd1YWdlJzogbWFwQ09STGFuZyhsYW5nKSxcbiAgICB9LFxuICAgIGJvZHk6IHJlcXVlc3RCb2R5LFxuICAgIHNpZ25hbCxcbiAgfSlcbn1cblxuZXhwb3J0IGNvbnN0IG9yY2hlc3RyYXRvciA9IGFzeW5jIChib2R5OiBPcmNoZXN0cmF0b3JSZXF1ZXN0LCBzaWduYWw/OiBBYm9ydFNpZ25hbCk6IFByb21pc2U8UmVzcG9uc2U+ID0+IHtcbiAgY29uc3Qge1xuICAgIGlucHV0LFxuICAgIHByb2plY3RJZCxcbiAgICBsYW5nLFxuICAgIHVzZXJJZCxcbiAgICBmaXJzdE5hbWUsXG4gICAgbGFzdE5hbWUsXG4gICAgY2hhdElkLFxuICAgIGNsaWVudElkLFxuICAgIGNsaWVudE5hbWUsXG4gICAgZmVlSWQsXG4gICAgYWdlbnRJZCxcbiAgICBpc1dlYlNlYXJjaEFjdGl2ZSxcbiAgICBpc0RlZXBTZWFyY2hBY3RpdmUsXG4gICAgYXR0YWNobWVudHMsXG4gICAgcHJvamVjdE5hbWUsXG4gICAgdGFza0lkLFxuICAgIHRhc2tOYW1lLFxuICAgIGZhcUlkLFxuICAgIGFnZW50U3VnZ2VzdGlvbklkLFxuICAgIGZ1YUlkLFxuICAgIHNjSWQsXG4gICAgYWdlbnRFbnRpdHksXG4gICAgYWdlbnRUeXBlLFxuICAgIGNvbnRleHRNZXNzYWdlLFxuICAgIGNvbnRleHREYXRhLFxuICB9ID0gYm9keVxuXG4gIGNvbnN0IGZvcm1EYXRhID0gbmV3IEZvcm1EYXRhKClcbiAgZm9ybURhdGEuYXBwZW5kKCdpbnB1dCcsIGlucHV0KVxuICBmb3JtRGF0YS5hcHBlbmQoJ3Nlc3Npb25faWQnLCBjaGF0SWQpXG5cbiAgaWYgKGF0dGFjaG1lbnRzPy5sZW5ndGgpIHtcbiAgICB2YWxpZGF0ZUF0dGFjaG1lbnRzKGF0dGFjaG1lbnRzKVxuXG4gICAgYXR0YWNobWVudHMuZm9yRWFjaChhdHRhY2htZW50ID0+IHtcbiAgICAgIC8vIFVzYXIgZWwgYXJjaGl2byBvcmlnaW5hbCBzaSBleGlzdGUgKHBhcmEgaW3DoWdlbmVzIHByb2Nlc2FkYXMpLCBzaW5vIHVzYXIgZWwgYXJjaGl2byBub3JtYWxcbiAgICAgIGNvbnN0IGZpbGVUb1NlbmQgPSBhdHRhY2htZW50Lm9yaWdpbmFsRmlsZSB8fCBhdHRhY2htZW50LmZpbGVcbiAgICAgIGZvcm1EYXRhLmFwcGVuZCgnZmlsZXMnLCBmaWxlVG9TZW5kKVxuICAgIH0pXG4gIH1cblxuICBsZXQgbWV0YWRhdGE6IFJlY29yZDxzdHJpbmcsIHVua25vd24+XG4gIGlmIChhZ2VudEVudGl0eSA9PT0gJ2dsb2JhbCcgJiYgYWdlbnRUeXBlICE9PSAnb3JjaGVzdHJhdG9yJykge1xuICAgIG1ldGFkYXRhID0ge31cbiAgfSBlbHNlIHtcbiAgICBtZXRhZGF0YSA9IHtcbiAgICAgIGxhbmc6IG1hcENPUkxhbmcobGFuZyksXG4gICAgICAuLi4odXNlcklkID8geyB1c2VyX2lkOiB1c2VySWQgfSA6IHt9KSxcbiAgICAgIC4uLihmaXJzdE5hbWUgPyB7IGZpcnN0X25hbWU6IGZpcnN0TmFtZSB9IDoge30pLFxuICAgICAgLi4uKGxhc3ROYW1lID8geyBsYXN0X25hbWU6IGxhc3ROYW1lIH0gOiB7fSksXG4gICAgICAuLi4oZmVlSWQgIT0gbnVsbCA/IHsgZmVlX2lkOiBmZWVJZCB9IDoge30pLFxuICAgICAgLi4uKGNsaWVudElkICE9IG51bGwgPyB7IGNsaWVudF9pZDogY2xpZW50SWQgfSA6IHt9KSxcbiAgICAgIC4uLihjbGllbnROYW1lID8geyBjbGllbnRfbmFtZTogY2xpZW50TmFtZSB9IDoge30pLFxuICAgICAgLi4uKHByb2plY3RJZCA/IHsgcHJvamVjdF9pZDogcHJvamVjdElkIH0gOiB7fSksXG4gICAgICAuLi4ocHJvamVjdE5hbWUgPyB7IHByb2plY3RfbmFtZTogcHJvamVjdE5hbWUgfSA6IHt9KSxcbiAgICAgIC4uLih0YXNrSWQgIT0gbnVsbCA/IHsgdGFza19pZDogdGFza0lkIH0gOiB7fSksXG4gICAgICAuLi4odGFza05hbWUgPyB7IHRhc2tfbmFtZTogdGFza05hbWUgfSA6IHt9KSxcbiAgICAgIHN1YmRvbWFpbjogd2luZG93LmxvY2F0aW9uLmhvc3RuYW1lLnNwbGl0KCcuJylbMF0sXG4gICAgICAuLi4oY29udGV4dE1lc3NhZ2UgJiYgT2JqZWN0LmtleXMoY29udGV4dE1lc3NhZ2UpLmxlbmd0aCA+IDAgPyB7IGNvbnRleHRfbWVzc2FnZTogY29udGV4dE1lc3NhZ2UgfSA6IHt9KSxcbiAgICB9XG4gIH1cbiAgZm9ybURhdGEuYXBwZW5kKCdtZXRhZGF0YScsIEpTT04uc3RyaW5naWZ5KG1ldGFkYXRhKSlcblxuICBsZXQgcGF0aCA9ICdvcmNoZXN0cmF0b3I/bW9kZT1zdHJlYW0nXG4gIGlmIChpc1dlYlNlYXJjaEFjdGl2ZSA9PT0gdHJ1ZSkge1xuICAgIHBhdGggKz0gJyZzZWFyY2hfd2ViPXRydWUnXG4gIH1cbiAgaWYgKGlzRGVlcFNlYXJjaEFjdGl2ZSA9PT0gdHJ1ZSkge1xuICAgIHBhdGggKz0gJyZzZWFyY2hfd2ViPXRydWUmZGVwdGg9dHJ1ZSdcbiAgfVxuXG4gIGNvbnN0IGhlYWRlcnM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7XG4gICAgJ1gtQWdlbnQtSWQnOiBhZ2VudElkLnRvU3RyaW5nKCksXG4gIH1cblxuICAvLyBQaW4gZGUgY29udGV4dG8gKFJGQyDCpzkuMSk6IGVsIGhlYWRlciBsZSBkaWNlIGFsIHJvdXRlciBhIHF1acOpbiBkZXJpdmFyIGFudGVzIGRlIHBhcnNlYXIgZWwgYm9keS5cbiAgLy8gTW9uby1lbnRpZGFkIGNvbiBwcmlvcmlkYWQgcG9yIGplcmFycXXDrWEgKHRhcmVhID4gcHJveWVjdG8gPiBjbGllbnRlKS5cbiAgLy8gU29sbyBhcGxpY2EgYWwgb3JxdWVzdGFkb3IgKE1BSUEpOiBlcyBlbCDDum5pY28gYWdlbnRlIHNpbiBzY29wZSBwcm9waW8sIGRvbmRlIGVsIHBpbiBkZWZpbmUgbGEgZGVyaXZhY2nDs24uXG4gIC8vIEVsIHNjb3BlIHBlcnNpc3RlbnRlIGVuIGBtZXRhZGF0YWAgKHByb2plY3RfaWQvY2xpZW50X2lkL3Rhc2tfaWQpIGVzIGxhIFwiY29sZWNjacOzbiBkZSB1bm9cIiBhcnJheS1yZWFkeS5cbiAgaWYgKGFnZW50VHlwZSA9PT0gJ29yY2hlc3RyYXRvcicpIHtcbiAgICBsZXQgY29udGV4dElkID0gJydcbiAgICBpZiAodGFza0lkICE9IG51bGwpIGNvbnRleHRJZCA9IGB0YXNrOiR7dGFza0lkfWBcbiAgICBlbHNlIGlmIChwcm9qZWN0SWQgIT0gbnVsbCkgY29udGV4dElkID0gYHByb2plY3Q6JHtwcm9qZWN0SWR9YFxuICAgIGVsc2UgaWYgKGNsaWVudElkICE9IG51bGwpIGNvbnRleHRJZCA9IGBjbGllbnQ6JHtjbGllbnRJZH1gXG4gICAgaWYgKGNvbnRleHRJZCkge1xuICAgICAgaGVhZGVyc1snWC1Db250ZXh0LUlkJ10gPSBjb250ZXh0SWRcbiAgICB9XG4gIH1cblxuICBpZiAoZmFxSWQpIHtcbiAgICBoZWFkZXJzWydYLUZhcS1JZCddID0gZmFxSWRcbiAgfVxuXG4gIGlmIChhZ2VudFN1Z2dlc3Rpb25JZCAmJiBhZ2VudEVudGl0eSA9PT0gJ2dsb2JhbCcpIHtcbiAgICBoZWFkZXJzWydYLUFnZW50LVN1Z2dlc3Rpb24nXSA9IGFnZW50U3VnZ2VzdGlvbklkXG4gIH1cblxuICBpZiAoZnVhSWQpIHtcbiAgICBoZWFkZXJzWydYLUZ1YS1JZCddID0gZnVhSWRcbiAgfVxuXG4gIGlmIChzY0lkKSB7XG4gICAgaGVhZGVyc1snWC1TQy1JZCddID0gc2NJZFxuICB9XG5cbiAgaWYgKGNvbnRleHREYXRhICYmIE9iamVjdC5rZXlzKGNvbnRleHREYXRhKS5sZW5ndGggPiAwKSB7XG4gICAgaGVhZGVyc1snWC1Db250ZXh0LURhdGEnXSA9IGVuY29kZUNvbnRleHREYXRhSGVhZGVyKGNvbnRleHREYXRhKVxuICB9XG5cbiAgcmV0dXJuIGZldGNoTWFpYSh7XG4gICAgcGF0aCxcbiAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICBoZWFkZXJzLFxuICAgIGJvZHk6IGZvcm1EYXRhLFxuICAgIHNpZ25hbCxcbiAgfSlcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQTtBQUNBO0FBQ0E7O0FBRUEsU0FBU0EsVUFBVSxRQUFRLHFCQUFxQjtBQUloRCxTQUFTQyxTQUFTLFFBQVEsV0FBVztBQUNyQyxTQUNFQyxzQkFBc0IsRUFDdEJDLG1DQUFtQyxFQUNuQ0Msa0NBQWtDLEVBQ2xDQyw0QkFBNEIsRUFDNUJDLHNCQUFzQixRQUNqQixxQ0FBcUM7O0FBRTVDO0FBQ0EsSUFBTUMsdUJBQXVCLEdBQUcs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
@@ -36,4 +36,4 @@ export var createSkill = /*#__PURE__*/function () {
36
36
  return _ref.apply(this, arguments);
37
37
  };
38
38
  }();
39
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmZXRjaE1haWEiLCJjcmVhdGVTa2lsbCIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsInNraWxsIiwicmVzcG9uc2UiLCJkYXRhIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJwYXRoIiwibWV0aG9kIiwiYm9keSIsInNlbnQiLCJvayIsIkVycm9yIiwianNvbiIsImFicnVwdCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL21haWEvU2tpbGxzL2NyZWF0ZVNraWxsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZldGNoTWFpYSB9IGZyb20gJy4uL2NsaWVudCdcbmltcG9ydCB7IFNraWxsIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvc2tpbGwnXG5cbmV4cG9ydCB0eXBlIFNraWxsQ3JlYXRlUmVxdWVzdCA9IHtcbiAgbmFtZTogc3RyaW5nXG4gIGNvbnRlbnQ6IHN0cmluZ1xufVxuXG5leHBvcnQgY29uc3QgY3JlYXRlU2tpbGwgPSBhc3luYyAoc2tpbGw6IFNraWxsQ3JlYXRlUmVxdWVzdCk6IFByb21pc2U8U2tpbGw+ID0+IHtcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaE1haWEoe1xuICAgIHBhdGg6ICdza2lsbHMnLFxuICAgIG1ldGhvZDogJ1BPU1QnLFxuICAgIGJvZHk6IHNraWxsLFxuICB9KVxuXG4gIGlmICghcmVzcG9uc2Uub2spIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoJ0ZhaWxlZCB0byBjcmVhdGUgc2tpbGwnKVxuICB9XG5cbiAgY29uc3QgZGF0YSA9IGF3YWl0IHJlc3BvbnNlLmpzb24oKVxuXG4gIHJldHVybiBkYXRhXG59XG4iXSwibWFwcGluZ3MiOiI7O0FBQUEsU0FBU0EsU0FBUyxRQUFRLFdBQVc7QUFRckMsT0FBTyxJQUFNQyxXQUFXO0VBQUEsSUFBQUMsSUFBQSxHQUFBQyxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUcsU0FBQUMsUUFBT0MsS0FBeUI7SUFBQSxJQUFBQyxRQUFBLEVBQUFDLElBQUE7SUFBQSxPQUFBTCxtQkFBQSxDQUFBTSxJQUFBLFdBQUFDLFFBQUE7TUFBQSxrQkFBQUEsUUFBQSxDQUFBQyxJQUFBLEdBQUFELFFBQUEsQ0FBQUUsSUFBQTtRQUFBO1VBQUFGLFFBQUEsQ0FBQUUsSUFBQTtVQUFBLE9BQ2xDYixTQUFTLENBQUM7WUFDL0JjLElBQUksRUFBRSxRQUFRO1lBQ2RDLE1BQU0sRUFBRSxNQUFNO1lBQ2RDLElBQUksRUFBRVQ7VUFDUixDQUFDLENBQUM7UUFBQTtVQUpJQyxRQUFRLEdBQUFHLFFBQUEsQ0FBQU0sSUFBQTtVQUFBLElBTVRULFFBQVEsQ0FBQ1UsRUFBRTtZQUFBUCxRQUFBLENBQUFFLElBQUE7WUFBQTtVQUFBO1VBQUEsTUFDUixJQUFJTSxLQUFLLENBQUMsd0JBQXdCLENBQUM7UUFBQTtVQUFBUixRQUFBLENBQUFFLElBQUE7VUFBQSxPQUd4QkwsUUFBUSxDQUFDWSxJQUFJLENBQUMsQ0FBQztRQUFBO1VBQTVCWCxJQUFJLEdBQUFFLFFBQUEsQ0FBQU0sSUFBQTtVQUFBLE9BQUFOLFFBQUEsQ0FBQVUsTUFBQSxXQUVIWixJQUFJO1FBQUE7UUFBQTtVQUFBLE9BQUFFLFFBQUEsQ0FBQVcsSUFBQTtNQUFBO0lBQUEsR0FBQWhCLE9BQUE7RUFBQSxDQUNaO0VBQUEsZ0JBZFlMLFdBQVdBLENBQUFzQixFQUFBO0lBQUEsT0FBQXJCLElBQUEsQ0FBQXNCLEtBQUEsT0FBQUMsU0FBQTtFQUFBO0FBQUEsR0FjdkIiLCJpZ25vcmVMaXN0IjpbXX0=
39
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmZXRjaE1haWEiLCJjcmVhdGVTa2lsbCIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsInNraWxsIiwicmVzcG9uc2UiLCJkYXRhIiwid3JhcCIsIl9jb250ZXh0IiwicHJldiIsIm5leHQiLCJwYXRoIiwibWV0aG9kIiwiYm9keSIsInNlbnQiLCJvayIsIkVycm9yIiwianNvbiIsImFicnVwdCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL3NlcnZpY2VzL21haWEvU2tpbGxzL2NyZWF0ZVNraWxsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZldGNoTWFpYSB9IGZyb20gJy4uL2NsaWVudCdcbmltcG9ydCB7IFNraWxsLCBTa2lsbEFjY2Vzc1R5cGUgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9za2lsbCdcblxuZXhwb3J0IHR5cGUgU2tpbGxDcmVhdGVSZXF1ZXN0ID0ge1xuICBuYW1lOiBzdHJpbmdcbiAgZGVzY3JpcHRpb246IHN0cmluZ1xuICBjb250ZW50OiBzdHJpbmdcbiAgYWNjZXNzX3R5cGU/OiBTa2lsbEFjY2Vzc1R5cGVcbn1cblxuZXhwb3J0IGNvbnN0IGNyZWF0ZVNraWxsID0gYXN5bmMgKHNraWxsOiBTa2lsbENyZWF0ZVJlcXVlc3QpOiBQcm9taXNlPFNraWxsPiA9PiB7XG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2hNYWlhKHtcbiAgICBwYXRoOiAnc2tpbGxzJyxcbiAgICBtZXRob2Q6ICdQT1NUJyxcbiAgICBib2R5OiBza2lsbCxcbiAgfSlcblxuICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gY3JlYXRlIHNraWxsJylcbiAgfVxuXG4gIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKClcblxuICByZXR1cm4gZGF0YVxufVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQVNBLFNBQVMsUUFBUSxXQUFXO0FBVXJDLE9BQU8sSUFBTUMsV0FBVztFQUFBLElBQUFDLElBQUEsR0FBQUMsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFHLFNBQUFDLFFBQU9DLEtBQXlCO0lBQUEsSUFBQUMsUUFBQSxFQUFBQyxJQUFBO0lBQUEsT0FBQUwsbUJBQUEsQ0FBQU0sSUFBQSxXQUFBQyxRQUFBO01BQUEsa0JBQUFBLFFBQUEsQ0FBQUMsSUFBQSxHQUFBRCxRQUFBLENBQUFFLElBQUE7UUFBQTtVQUFBRixRQUFBLENBQUFFLElBQUE7VUFBQSxPQUNsQ2IsU0FBUyxDQUFDO1lBQy9CYyxJQUFJLEVBQUUsUUFBUTtZQUNkQyxNQUFNLEVBQUUsTUFBTTtZQUNkQyxJQUFJLEVBQUVUO1VBQ1IsQ0FBQyxDQUFDO1FBQUE7VUFKSUMsUUFBUSxHQUFBRyxRQUFBLENBQUFNLElBQUE7VUFBQSxJQU1UVCxRQUFRLENBQUNVLEVBQUU7WUFBQVAsUUFBQSxDQUFBRSxJQUFBO1lBQUE7VUFBQTtVQUFBLE1BQ1IsSUFBSU0sS0FBSyxDQUFDLHdCQUF3QixDQUFDO1FBQUE7VUFBQVIsUUFBQSxDQUFBRSxJQUFBO1VBQUEsT0FHeEJMLFFBQVEsQ0FBQ1ksSUFBSSxDQUFDLENBQUM7UUFBQTtVQUE1QlgsSUFBSSxHQUFBRSxRQUFBLENBQUFNLElBQUE7VUFBQSxPQUFBTixRQUFBLENBQUFVLE1BQUEsV0FFSFosSUFBSTtRQUFBO1FBQUE7VUFBQSxPQUFBRSxRQUFBLENBQUFXLElBQUE7TUFBQTtJQUFBLEdBQUFoQixPQUFBO0VBQUEsQ0FDWjtFQUFBLGdCQWRZTCxXQUFXQSxDQUFBc0IsRUFBQTtJQUFBLE9BQUFyQixJQUFBLENBQUFzQixLQUFBLE9BQUFDLFNBQUE7RUFBQTtBQUFBLEdBY3ZCIiwiaWdub3JlTGlzdCI6W119
@@ -1,84 +1,114 @@
1
1
  import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import _toConsumableArray from "@babel/runtime/helpers/toConsumableArray";
3
- import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
4
3
  import _slicedToArray from "@babel/runtime/helpers/slicedToArray";
4
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
5
5
  function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
6
6
  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; }
7
7
  import _regeneratorRuntime from "@babel/runtime/regenerator";
8
8
  import { useState, useCallback } from 'react';
9
9
  import { fetchMaia } from '../client';
10
- export var useGetSkills = function useGetSkills() {
11
- var _useState = useState([]),
12
- _useState2 = _slicedToArray(_useState, 2),
13
- skills = _useState2[0],
14
- setSkills = _useState2[1];
15
- var _useState3 = useState(false),
16
- _useState4 = _slicedToArray(_useState3, 2),
17
- loading = _useState4[0],
18
- setLoading = _useState4[1];
19
- var _useState5 = useState(null),
20
- _useState6 = _slicedToArray(_useState5, 2),
21
- error = _useState6[0],
22
- setError = _useState6[1];
23
- var handleGetSkills = useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
24
- var response, data, _t;
10
+ var fetchSkillsByScope = /*#__PURE__*/function () {
11
+ var _ref = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee(scope) {
12
+ var response, data;
25
13
  return _regeneratorRuntime.wrap(function (_context) {
26
14
  while (1) switch (_context.prev = _context.next) {
27
15
  case 0:
28
- setLoading(true);
29
- setError(null);
30
- _context.prev = 1;
31
- _context.next = 2;
16
+ _context.next = 1;
32
17
  return fetchMaia({
33
- path: 'skills?limit=100&offset=0',
18
+ path: "skills?limit=100&offset=0&scope=".concat(scope),
34
19
  method: 'GET'
35
20
  });
36
- case 2:
21
+ case 1:
37
22
  response = _context.sent;
38
- _context.next = 3;
23
+ _context.next = 2;
39
24
  return response.json();
40
- case 3:
25
+ case 2:
41
26
  data = _context.sent;
42
- setSkills(data.data || []);
43
- _context.next = 5;
27
+ return _context.abrupt("return", data.data || []);
28
+ case 3:
29
+ case "end":
30
+ return _context.stop();
31
+ }
32
+ }, _callee);
33
+ }));
34
+ return function fetchSkillsByScope(_x) {
35
+ return _ref.apply(this, arguments);
36
+ };
37
+ }();
38
+ export var useGetSkills = function useGetSkills() {
39
+ var _useState = useState([]),
40
+ _useState2 = _slicedToArray(_useState, 2),
41
+ mySkills = _useState2[0],
42
+ setMySkills = _useState2[1];
43
+ var _useState3 = useState([]),
44
+ _useState4 = _slicedToArray(_useState3, 2),
45
+ sharedSkills = _useState4[0],
46
+ setSharedSkills = _useState4[1];
47
+ var _useState5 = useState(false),
48
+ _useState6 = _slicedToArray(_useState5, 2),
49
+ loading = _useState6[0],
50
+ setLoading = _useState6[1];
51
+ var _useState7 = useState(null),
52
+ _useState8 = _slicedToArray(_useState7, 2),
53
+ error = _useState8[0],
54
+ setError = _useState8[1];
55
+ var handleGetSkills = useCallback(/*#__PURE__*/_asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee2() {
56
+ var _yield$Promise$all, _yield$Promise$all2, mine, shared, _t;
57
+ return _regeneratorRuntime.wrap(function (_context2) {
58
+ while (1) switch (_context2.prev = _context2.next) {
59
+ case 0:
60
+ setLoading(true);
61
+ setError(null);
62
+ _context2.prev = 1;
63
+ _context2.next = 2;
64
+ return Promise.all([fetchSkillsByScope('mine'), fetchSkillsByScope('company')]);
65
+ case 2:
66
+ _yield$Promise$all = _context2.sent;
67
+ _yield$Promise$all2 = _slicedToArray(_yield$Promise$all, 2);
68
+ mine = _yield$Promise$all2[0];
69
+ shared = _yield$Promise$all2[1];
70
+ setMySkills(mine);
71
+ setSharedSkills(shared);
72
+ _context2.next = 4;
44
73
  break;
45
- case 4:
46
- _context.prev = 4;
47
- _t = _context["catch"](1);
74
+ case 3:
75
+ _context2.prev = 3;
76
+ _t = _context2["catch"](1);
48
77
  setError(_t instanceof Error ? _t.message : 'An unknown error occurred');
49
- case 5:
50
- _context.prev = 5;
78
+ case 4:
79
+ _context2.prev = 4;
51
80
  setLoading(false);
52
- return _context.finish(5);
53
- case 6:
81
+ return _context2.finish(4);
82
+ case 5:
54
83
  case "end":
55
- return _context.stop();
84
+ return _context2.stop();
56
85
  }
57
- }, _callee, null, [[1, 4, 5, 6]]);
86
+ }, _callee2, null, [[1, 3, 4, 5]]);
58
87
  })), []);
59
88
  var addSkill = useCallback(function (newSkill) {
60
- setSkills(function (prev) {
89
+ setMySkills(function (prev) {
61
90
  return prev.some(function (skill) {
62
91
  return skill.id === newSkill.id;
63
92
  }) ? prev : [newSkill].concat(_toConsumableArray(prev));
64
93
  });
65
94
  }, []);
66
95
  var updateSkillInList = useCallback(function (updatedSkill) {
67
- setSkills(function (prev) {
96
+ setMySkills(function (prev) {
68
97
  return prev.map(function (skill) {
69
98
  return skill.id === updatedSkill.id ? _objectSpread(_objectSpread({}, skill), updatedSkill) : skill;
70
99
  });
71
100
  });
72
101
  }, []);
73
102
  var removeSkill = useCallback(function (skillId) {
74
- setSkills(function (prev) {
103
+ setMySkills(function (prev) {
75
104
  return prev.filter(function (skill) {
76
105
  return skill.id !== skillId;
77
106
  });
78
107
  });
79
108
  }, []);
80
109
  return {
81
- skills: skills,
110
+ mySkills: mySkills,
111
+ sharedSkills: sharedSkills,
82
112
  loading: loading,
83
113
  error: error,
84
114
  handleGetSkills: handleGetSkills,
@@ -87,4 +117,4 @@ export var useGetSkills = function useGetSkills() {
87
117
  removeSkill: removeSkill
88
118
  };
89
119
  };
90
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwiZmV0Y2hNYWlhIiwidXNlR2V0U2tpbGxzIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5Iiwic2tpbGxzIiwic2V0U2tpbGxzIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJsb2FkaW5nIiwic2V0TG9hZGluZyIsIl91c2VTdGF0ZTUiLCJfdXNlU3RhdGU2IiwiZXJyb3IiLCJzZXRFcnJvciIsImhhbmRsZUdldFNraWxscyIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwicmVzcG9uc2UiLCJkYXRhIiwiX3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInBhdGgiLCJtZXRob2QiLCJzZW50IiwianNvbiIsIkVycm9yIiwibWVzc2FnZSIsImZpbmlzaCIsInN0b3AiLCJhZGRTa2lsbCIsIm5ld1NraWxsIiwic29tZSIsInNraWxsIiwiaWQiLCJjb25jYXQiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJ1cGRhdGVTa2lsbEluTGlzdCIsInVwZGF0ZWRTa2lsbCIsIm1hcCIsIl9vYmplY3RTcHJlYWQiLCJyZW1vdmVTa2lsbCIsInNraWxsSWQiLCJmaWx0ZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvbWFpYS9Ta2lsbHMvZ2V0U2tpbGxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVN0YXRlLCB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgZmV0Y2hNYWlhIH0gZnJvbSAnLi4vY2xpZW50J1xuaW1wb3J0IHsgU2tpbGwgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9za2lsbCdcblxuZXhwb3J0IGNvbnN0IHVzZUdldFNraWxscyA9ICgpID0+IHtcbiAgY29uc3QgW3NraWxscywgc2V0U2tpbGxzXSA9IHVzZVN0YXRlPFNraWxsW10+KFtdKVxuICBjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxuXG4gIGNvbnN0IGhhbmRsZUdldFNraWxscyA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICBzZXRMb2FkaW5nKHRydWUpXG4gICAgc2V0RXJyb3IobnVsbClcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCByZXNwb25zZSA9IGF3YWl0IGZldGNoTWFpYSh7XG4gICAgICAgIHBhdGg6ICdza2lsbHM/bGltaXQ9MTAwJm9mZnNldD0wJyxcbiAgICAgICAgbWV0aG9kOiAnR0VUJyxcbiAgICAgIH0pXG4gICAgICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpXG4gICAgICBzZXRTa2lsbHMoZGF0YS5kYXRhIHx8IFtdKVxuICAgIH0gY2F0Y2ggKGVycikge1xuICAgICAgc2V0RXJyb3IoZXJyIGluc3RhbmNlb2YgRXJyb3IgPyBlcnIubWVzc2FnZSA6ICdBbiB1bmtub3duIGVycm9yIG9jY3VycmVkJylcbiAgICB9IGZpbmFsbHkge1xuICAgICAgc2V0TG9hZGluZyhmYWxzZSlcbiAgICB9XG4gIH0sIFtdKVxuXG4gIGNvbnN0IGFkZFNraWxsID0gdXNlQ2FsbGJhY2soKG5ld1NraWxsOiBTa2lsbCkgPT4ge1xuICAgIHNldFNraWxscyhwcmV2ID0+IChwcmV2LnNvbWUoc2tpbGwgPT4gc2tpbGwuaWQgPT09IG5ld1NraWxsLmlkKSA/IHByZXYgOiBbbmV3U2tpbGwsIC4uLnByZXZdKSlcbiAgfSwgW10pXG5cbiAgY29uc3QgdXBkYXRlU2tpbGxJbkxpc3QgPSB1c2VDYWxsYmFjaygodXBkYXRlZFNraWxsOiBTa2lsbCkgPT4ge1xuICAgIHNldFNraWxscyhwcmV2ID0+IHByZXYubWFwKHNraWxsID0+IChza2lsbC5pZCA9PT0gdXBkYXRlZFNraWxsLmlkID8geyAuLi5za2lsbCwgLi4udXBkYXRlZFNraWxsIH0gOiBza2lsbCkpKVxuICB9LCBbXSlcblxuICBjb25zdCByZW1vdmVTa2lsbCA9IHVzZUNhbGxiYWNrKChza2lsbElkOiBzdHJpbmcpID0+IHtcbiAgICBzZXRTa2lsbHMocHJldiA9PiBwcmV2LmZpbHRlcihza2lsbCA9PiBza2lsbC5pZCAhPT0gc2tpbGxJZCkpXG4gIH0sIFtdKVxuXG4gIHJldHVybiB7XG4gICAgc2tpbGxzLFxuICAgIGxvYWRpbmcsXG4gICAgZXJyb3IsXG4gICAgaGFuZGxlR2V0U2tpbGxzLFxuICAgIGFkZFNraWxsLFxuICAgIHVwZGF0ZVNraWxsSW5MaXN0LFxuICAgIHJlbW92ZVNraWxsLFxuICB9XG59XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQSxTQUFTQSxRQUFRLEVBQUVDLFdBQVcsUUFBUSxPQUFPO0FBQzdDLFNBQVNDLFNBQVMsUUFBUSxXQUFXO0FBR3JDLE9BQU8sSUFBTUMsWUFBWSxHQUFHLFNBQWZBLFlBQVlBLENBQUEsRUFBUztFQUNoQyxJQUFBQyxTQUFBLEdBQTRCSixRQUFRLENBQVUsRUFBRSxDQUFDO0lBQUFLLFVBQUEsR0FBQUMsY0FBQSxDQUFBRixTQUFBO0lBQTFDRyxNQUFNLEdBQUFGLFVBQUE7SUFBRUcsU0FBUyxHQUFBSCxVQUFBO0VBQ3hCLElBQUFJLFVBQUEsR0FBOEJULFFBQVEsQ0FBQyxLQUFLLENBQUM7SUFBQVUsVUFBQSxHQUFBSixjQUFBLENBQUFHLFVBQUE7SUFBdENFLE9BQU8sR0FBQUQsVUFBQTtJQUFFRSxVQUFVLEdBQUFGLFVBQUE7RUFDMUIsSUFBQUcsVUFBQSxHQUEwQmIsUUFBUSxDQUFnQixJQUFJLENBQUM7SUFBQWMsVUFBQSxHQUFBUixjQUFBLENBQUFPLFVBQUE7SUFBaERFLEtBQUssR0FBQUQsVUFBQTtJQUFFRSxRQUFRLEdBQUFGLFVBQUE7RUFFdEIsSUFBTUcsZUFBZSxHQUFHaEIsV0FBVyxjQUFBaUIsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFDLFNBQUFDLFFBQUE7SUFBQSxJ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
120
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUNhbGxiYWNrIiwiZmV0Y2hNYWlhIiwiZmV0Y2hTa2lsbHNCeVNjb3BlIiwiX3JlZiIsIl9hc3luY1RvR2VuZXJhdG9yIiwiX3JlZ2VuZXJhdG9yUnVudGltZSIsIm1hcmsiLCJfY2FsbGVlIiwic2NvcGUiLCJyZXNwb25zZSIsImRhdGEiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsInBhdGgiLCJjb25jYXQiLCJtZXRob2QiLCJzZW50IiwianNvbiIsImFicnVwdCIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwidXNlR2V0U2tpbGxzIiwiX3VzZVN0YXRlIiwiX3VzZVN0YXRlMiIsIl9zbGljZWRUb0FycmF5IiwibXlTa2lsbHMiLCJzZXRNeVNraWxscyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0Iiwic2hhcmVkU2tpbGxzIiwic2V0U2hhcmVkU2tpbGxzIiwiX3VzZVN0YXRlNSIsIl91c2VTdGF0ZTYiLCJsb2FkaW5nIiwic2V0TG9hZGluZyIsIl91c2VTdGF0ZTciLCJfdXNlU3RhdGU4IiwiZXJyb3IiLCJzZXRFcnJvciIsImhhbmRsZUdldFNraWxscyIsIl9jYWxsZWUyIiwiX3lpZWxkJFByb21pc2UkYWxsIiwiX3lpZWxkJFByb21pc2UkYWxsMiIsIm1pbmUiLCJzaGFyZWQiLCJfdCIsIl9jb250ZXh0MiIsIlByb21pc2UiLCJhbGwiLCJFcnJvciIsIm1lc3NhZ2UiLCJmaW5pc2giLCJhZGRTa2lsbCIsIm5ld1NraWxsIiwic29tZSIsInNraWxsIiwiaWQiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJ1cGRhdGVTa2lsbEluTGlzdCIsInVwZGF0ZWRTa2lsbCIsIm1hcCIsIl9vYmplY3RTcHJlYWQiLCJyZW1vdmVTa2lsbCIsInNraWxsSWQiLCJmaWx0ZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvc2VydmljZXMvbWFpYS9Ta2lsbHMvZ2V0U2tpbGxzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IHVzZVN0YXRlLCB1c2VDYWxsYmFjayB9IGZyb20gJ3JlYWN0J1xuaW1wb3J0IHsgZmV0Y2hNYWlhIH0gZnJvbSAnLi4vY2xpZW50J1xuaW1wb3J0IHsgU2tpbGwgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9za2lsbCdcblxuY29uc3QgZmV0Y2hTa2lsbHNCeVNjb3BlID0gYXN5bmMgKHNjb3BlOiAnbWluZScgfCAnY29tcGFueScpOiBQcm9taXNlPFNraWxsW10+ID0+IHtcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaE1haWEoe1xuICAgIHBhdGg6IGBza2lsbHM/bGltaXQ9MTAwJm9mZnNldD0wJnNjb3BlPSR7c2NvcGV9YCxcbiAgICBtZXRob2Q6ICdHRVQnLFxuICB9KVxuICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpXG4gIHJldHVybiBkYXRhLmRhdGEgfHwgW11cbn1cblxuZXhwb3J0IGNvbnN0IHVzZUdldFNraWxscyA9ICgpID0+IHtcbiAgY29uc3QgW215U2tpbGxzLCBzZXRNeVNraWxsc10gPSB1c2VTdGF0ZTxTa2lsbFtdPihbXSlcbiAgY29uc3QgW3NoYXJlZFNraWxscywgc2V0U2hhcmVkU2tpbGxzXSA9IHVzZVN0YXRlPFNraWxsW10+KFtdKVxuICBjb25zdCBbbG9hZGluZywgc2V0TG9hZGluZ10gPSB1c2VTdGF0ZShmYWxzZSlcbiAgY29uc3QgW2Vycm9yLCBzZXRFcnJvcl0gPSB1c2VTdGF0ZTxzdHJpbmcgfCBudWxsPihudWxsKVxuXG4gIGNvbnN0IGhhbmRsZUdldFNraWxscyA9IHVzZUNhbGxiYWNrKGFzeW5jICgpID0+IHtcbiAgICBzZXRMb2FkaW5nKHRydWUpXG4gICAgc2V0RXJyb3IobnVsbClcblxuICAgIHRyeSB7XG4gICAgICBjb25zdCBbbWluZSwgc2hhcmVkXSA9IGF3YWl0IFByb21pc2UuYWxsKFtmZXRjaFNraWxsc0J5U2NvcGUoJ21pbmUnKSwgZmV0Y2hTa2lsbHNCeVNjb3BlKCdjb21wYW55JyldKVxuICAgICAgc2V0TXlTa2lsbHMobWluZSlcbiAgICAgIHNldFNoYXJlZFNraWxscyhzaGFyZWQpXG4gICAgfSBjYXRjaCAoZXJyKSB7XG4gICAgICBzZXRFcnJvcihlcnIgaW5zdGFuY2VvZiBFcnJvciA/IGVyci5tZXNzYWdlIDogJ0FuIHVua25vd24gZXJyb3Igb2NjdXJyZWQnKVxuICAgIH0gZmluYWxseSB7XG4gICAgICBzZXRMb2FkaW5nKGZhbHNlKVxuICAgIH1cbiAgfSwgW10pXG5cbiAgY29uc3QgYWRkU2tpbGwgPSB1c2VDYWxsYmFjaygobmV3U2tpbGw6IFNraWxsKSA9PiB7XG4gICAgc2V0TXlTa2lsbHMocHJldiA9PiAocHJldi5zb21lKHNraWxsID0+IHNraWxsLmlkID09PSBuZXdTa2lsbC5pZCkgPyBwcmV2IDogW25ld1NraWxsLCAuLi5wcmV2XSkpXG4gIH0sIFtdKVxuXG4gIGNvbnN0IHVwZGF0ZVNraWxsSW5MaXN0ID0gdXNlQ2FsbGJhY2soKHVwZGF0ZWRTa2lsbDogU2tpbGwpID0+IHtcbiAgICBzZXRNeVNraWxscyhwcmV2ID0+IHByZXYubWFwKHNraWxsID0+IChza2lsbC5pZCA9PT0gdXBkYXRlZFNraWxsLmlkID8geyAuLi5za2lsbCwgLi4udXBkYXRlZFNraWxsIH0gOiBza2lsbCkpKVxuICB9LCBbXSlcblxuICBjb25zdCByZW1vdmVTa2lsbCA9IHVzZUNhbGxiYWNrKChza2lsbElkOiBzdHJpbmcpID0+IHtcbiAgICBzZXRNeVNraWxscyhwcmV2ID0+IHByZXYuZmlsdGVyKHNraWxsID0+IHNraWxsLmlkICE9PSBza2lsbElkKSlcbiAgfSwgW10pXG5cbiAgcmV0dXJuIHtcbiAgICBteVNraWxscyxcbiAgICBzaGFyZWRTa2lsbHMsXG4gICAgbG9hZGluZyxcbiAgICBlcnJvcixcbiAgICBoYW5kbGVHZXRTa2lsbHMsXG4gICAgYWRkU2tpbGwsXG4gICAgdXBkYXRlU2tpbGxJbkxpc3QsXG4gICAgcmVtb3ZlU2tpbGwsXG4gIH1cbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7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
@@ -36,4 +36,4 @@ export var updateSkill = /*#__PURE__*/function () {
36
36
  return _ref.apply(this, arguments);
37
37
  };
38
38
  }();
39
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmZXRjaE1haWEiLCJ1cGRhdGVTa2lsbCIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsInNraWxsSWQiLCJza2lsbCIsInJlc3BvbnNlIiwiZGF0YSIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwicGF0aCIsImNvbmNhdCIsIm1ldGhvZCIsImJvZHkiLCJzZW50Iiwib2siLCJFcnJvciIsImpzb24iLCJhYnJ1cHQiLCJzdG9wIiwiX3giLCJfeDIiLCJhcHBseSIsImFyZ3VtZW50cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9tYWlhL1NraWxscy91cGRhdGVTa2lsbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmZXRjaE1haWEgfSBmcm9tICcuLi9jbGllbnQnXG5pbXBvcnQgeyBTa2lsbCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL3NraWxsJ1xuXG5leHBvcnQgdHlwZSBTa2lsbFVwZGF0ZVJlcXVlc3QgPSB7XG4gIG5hbWU6IHN0cmluZ1xuICBjb250ZW50OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IHVwZGF0ZVNraWxsID0gYXN5bmMgKHNraWxsSWQ6IHN0cmluZywgc2tpbGw6IFNraWxsVXBkYXRlUmVxdWVzdCk6IFByb21pc2U8U2tpbGw+ID0+IHtcbiAgY29uc3QgcmVzcG9uc2UgPSBhd2FpdCBmZXRjaE1haWEoe1xuICAgIHBhdGg6IGBza2lsbHMvJHtza2lsbElkfWAsXG4gICAgbWV0aG9kOiAnUFVUJyxcbiAgICBib2R5OiBza2lsbCxcbiAgfSlcblxuICBpZiAoIXJlc3BvbnNlLm9rKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKCdGYWlsZWQgdG8gdXBkYXRlIHNraWxsJylcbiAgfVxuXG4gIGNvbnN0IGRhdGEgPSBhd2FpdCByZXNwb25zZS5qc29uKClcblxuICByZXR1cm4gZGF0YVxufVxuIl0sIm1hcHBpbmdzIjoiOztBQUFBLFNBQVNBLFNBQVMsUUFBUSxXQUFXO0FBUXJDLE9BQU8sSUFBTUMsV0FBVztFQUFBLElBQUFDLElBQUEsR0FBQUMsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFHLFNBQUFDLFFBQU9DLE9BQWUsRUFBRUMsS0FBeUI7SUFBQSxJQUFBQyxRQUFBLEVBQUFDLElBQUE7SUFBQSxPQUFBTixtQkFBQSxDQUFBTyxJQUFBLFdBQUFDLFFBQUE7TUFBQSxrQkFBQUEsUUFBQSxDQUFBQyxJQUFBLEdBQUFELFFBQUEsQ0FBQUUsSUFBQTtRQUFBO1VBQUFGLFFBQUEsQ0FBQUUsSUFBQTtVQUFBLE9BQ25EZCxTQUFTLENBQUM7WUFDL0JlLElBQUksWUFBQUMsTUFBQSxDQUFZVCxPQUFPLENBQUU7WUFDekJVLE1BQU0sRUFBRSxLQUFLO1lBQ2JDLElBQUksRUFBRVY7VUFDUixDQUFDLENBQUM7UUFBQTtVQUpJQyxRQUFRLEdBQUFHLFFBQUEsQ0FBQU8sSUFBQTtVQUFBLElBTVRWLFFBQVEsQ0FBQ1csRUFBRTtZQUFBUixRQUFBLENBQUFFLElBQUE7WUFBQTtVQUFBO1VBQUEsTUFDUixJQUFJTyxLQUFLLENBQUMsd0JBQXdCLENBQUM7UUFBQTtVQUFBVCxRQUFBLENBQUFFLElBQUE7VUFBQSxPQUd4QkwsUUFBUSxDQUFDYSxJQUFJLENBQUMsQ0FBQztRQUFBO1VBQTVCWixJQUFJLEdBQUFFLFFBQUEsQ0FBQU8sSUFBQTtVQUFBLE9BQUFQLFFBQUEsQ0FBQVcsTUFBQSxXQUVIYixJQUFJO1FBQUE7UUFBQTtVQUFBLE9BQUFFLFFBQUEsQ0FBQVksSUFBQTtNQUFBO0lBQUEsR0FBQWxCLE9BQUE7RUFBQSxDQUNaO0VBQUEsZ0JBZFlMLFdBQVdBLENBQUF3QixFQUFBLEVBQUFDLEdBQUE7SUFBQSxPQUFBeEIsSUFBQSxDQUFBeUIsS0FBQSxPQUFBQyxTQUFBO0VBQUE7QUFBQSxHQWN2QiIsImlnbm9yZUxpc3QiOltdfQ==
39
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmZXRjaE1haWEiLCJ1cGRhdGVTa2lsbCIsIl9yZWYiLCJfYXN5bmNUb0dlbmVyYXRvciIsIl9yZWdlbmVyYXRvclJ1bnRpbWUiLCJtYXJrIiwiX2NhbGxlZSIsInNraWxsSWQiLCJza2lsbCIsInJlc3BvbnNlIiwiZGF0YSIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwicGF0aCIsImNvbmNhdCIsIm1ldGhvZCIsImJvZHkiLCJzZW50Iiwib2siLCJFcnJvciIsImpzb24iLCJhYnJ1cHQiLCJzdG9wIiwiX3giLCJfeDIiLCJhcHBseSIsImFyZ3VtZW50cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9zZXJ2aWNlcy9tYWlhL1NraWxscy91cGRhdGVTa2lsbC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBmZXRjaE1haWEgfSBmcm9tICcuLi9jbGllbnQnXG5pbXBvcnQgeyBTa2lsbCwgU2tpbGxBY2Nlc3NUeXBlIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvc2tpbGwnXG5cbmV4cG9ydCB0eXBlIFNraWxsVXBkYXRlUmVxdWVzdCA9IHtcbiAgbmFtZTogc3RyaW5nXG4gIGRlc2NyaXB0aW9uOiBzdHJpbmdcbiAgY29udGVudDogc3RyaW5nXG4gIGFjY2Vzc190eXBlPzogU2tpbGxBY2Nlc3NUeXBlXG59XG5cbmV4cG9ydCBjb25zdCB1cGRhdGVTa2lsbCA9IGFzeW5jIChza2lsbElkOiBzdHJpbmcsIHNraWxsOiBTa2lsbFVwZGF0ZVJlcXVlc3QpOiBQcm9taXNlPFNraWxsPiA9PiB7XG4gIGNvbnN0IHJlc3BvbnNlID0gYXdhaXQgZmV0Y2hNYWlhKHtcbiAgICBwYXRoOiBgc2tpbGxzLyR7c2tpbGxJZH1gLFxuICAgIG1ldGhvZDogJ1BVVCcsXG4gICAgYm9keTogc2tpbGwsXG4gIH0pXG5cbiAgaWYgKCFyZXNwb25zZS5vaykge1xuICAgIHRocm93IG5ldyBFcnJvcignRmFpbGVkIHRvIHVwZGF0ZSBza2lsbCcpXG4gIH1cblxuICBjb25zdCBkYXRhID0gYXdhaXQgcmVzcG9uc2UuanNvbigpXG5cbiAgcmV0dXJuIGRhdGFcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7QUFBQSxTQUFTQSxTQUFTLFFBQVEsV0FBVztBQVVyQyxPQUFPLElBQU1DLFdBQVc7RUFBQSxJQUFBQyxJQUFBLEdBQUFDLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FBRyxTQUFBQyxRQUFPQyxPQUFlLEVBQUVDLEtBQXlCO0lBQUEsSUFBQUMsUUFBQSxFQUFBQyxJQUFBO0lBQUEsT0FBQU4sbUJBQUEsQ0FBQU8sSUFBQSxXQUFBQyxRQUFBO01BQUEsa0JBQUFBLFFBQUEsQ0FBQUMsSUFBQSxHQUFBRCxRQUFBLENBQUFFLElBQUE7UUFBQTtVQUFBRixRQUFBLENBQUFFLElBQUE7VUFBQSxPQUNuRGQsU0FBUyxDQUFDO1lBQy9CZSxJQUFJLFlBQUFDLE1BQUEsQ0FBWVQsT0FBTyxDQUFFO1lBQ3pCVSxNQUFNLEVBQUUsS0FBSztZQUNiQyxJQUFJLEVBQUVWO1VBQ1IsQ0FBQyxDQUFDO1FBQUE7VUFKSUMsUUFBUSxHQUFBRyxRQUFBLENBQUFPLElBQUE7VUFBQSxJQU1UVixRQUFRLENBQUNXLEVBQUU7WUFBQVIsUUFBQSxDQUFBRSxJQUFBO1lBQUE7VUFBQTtVQUFBLE1BQ1IsSUFBSU8sS0FBSyxDQUFDLHdCQUF3QixDQUFDO1FBQUE7VUFBQVQsUUFBQSxDQUFBRSxJQUFBO1VBQUEsT0FHeEJMLFFBQVEsQ0FBQ2EsSUFBSSxDQUFDLENBQUM7UUFBQTtVQUE1QlosSUFBSSxHQUFBRSxRQUFBLENBQUFPLElBQUE7VUFBQSxPQUFBUCxRQUFBLENBQUFXLE1BQUEsV0FFSGIsSUFBSTtRQUFBO1FBQUE7VUFBQSxPQUFBRSxRQUFBLENBQUFZLElBQUE7TUFBQTtJQUFBLEdBQUFsQixPQUFBO0VBQUEsQ0FDWjtFQUFBLGdCQWRZTCxXQUFXQSxDQUFBd0IsRUFBQSxFQUFBQyxHQUFBO0lBQUEsT0FBQXhCLElBQUEsQ0FBQXlCLEtBQUEsT0FBQUMsU0FBQTtFQUFBO0FBQUEsR0FjdkIiLCJpZ25vcmVMaXN0IjpbXX0=