@projectcor/maia-components 2.35.4-4 → 2.35.9

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 (216) hide show
  1. package/lib/components/atoms/ActionableButton.js +6 -1
  2. package/lib/components/atoms/ApprovalBox/ApprovalBox.js +4 -63
  3. package/lib/components/atoms/ApprovalBox/ApprovalBox.styles.js +4 -16
  4. package/lib/components/atoms/ContextMentionChip/buildChipElement.js +1 -12
  5. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +5 -127
  6. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +29 -2
  7. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +33 -24
  8. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +19 -2
  9. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.js +14 -4
  10. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.styles.js +12 -3
  11. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +20 -4
  12. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +18 -7
  13. package/lib/components/atoms/MAIAInput/MAIAInput.js +42 -243
  14. package/lib/components/atoms/MAIAInput/styles.js +44 -41
  15. package/lib/components/atoms/icons/SkillsNavIcon.js +7 -4
  16. package/lib/components/atoms/icons/index.js +1 -5
  17. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +11 -34
  18. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +3 -5
  19. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +16 -5
  20. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.js +23 -2
  21. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.styles.js +33 -5
  22. package/lib/components/molecules/ChatAIHome/styles.js +11 -2
  23. package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.js +31 -20
  24. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +9 -4
  25. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +21 -61
  26. package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +2 -2
  27. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.js +8 -1
  28. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.styles.js +15 -9
  29. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +14 -3
  30. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +2 -2
  31. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +17 -11
  32. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +14 -5
  33. package/lib/components/molecules/ChatAIModal/layout.js +2 -2
  34. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.js +12 -2
  35. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.styles.js +3 -3
  36. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +272 -334
  37. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +109 -132
  38. package/lib/components/molecules/ChatFooter/ChatFooter.js +63 -57
  39. package/lib/components/molecules/ChatFooter/styles.js +12 -6
  40. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +3 -1
  41. package/lib/components/molecules/MessageFeedback/MessageFeedback.js +15 -5
  42. package/lib/components/molecules/Sidebar/Sidebar.js +7 -15
  43. package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +3 -3
  44. package/lib/components/molecules/UsageBlockedBanner/UsageBlockedBanner.js +28 -0
  45. package/lib/components/molecules/UsageBlockedBanner/UsageBlockedBanner.styles.js +47 -0
  46. package/lib/components/molecules/UsageBlockedBanner/index.js +2 -0
  47. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +40 -30
  48. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +31 -25
  49. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +203 -430
  50. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +74 -131
  51. package/lib/components/organisms/ChatAI/ChatAI.js +6 -1
  52. package/lib/constants/config.js +4 -1
  53. package/lib/constants/permissions/utils.js +3 -3
  54. package/lib/hooks/useAgentModel/useCreateAgent.js +6 -6
  55. package/lib/hooks/useAgentModel/useUpdateAgent.js +6 -6
  56. package/lib/hooks/useChatManager/useChatManager.js +58 -38
  57. package/lib/hooks/useContextMentions.js +56 -96
  58. package/lib/hooks/useEntitySearch.js +278 -92
  59. package/lib/hooks/useEvent.js +2 -15
  60. package/lib/hooks/useMentionAllowedTypes.js +25 -9
  61. package/lib/hooks/useMentionPopover.js +33 -9
  62. package/lib/lang/br/index.js +12 -39
  63. package/lib/lang/en/index.js +12 -39
  64. package/lib/lang/es/index.js +13 -40
  65. package/lib/lang/fr/index.js +13 -40
  66. package/lib/services/maia/Agents/setAgentToolGroups.js +2 -2
  67. package/lib/services/maia/Chats/getChatsByUserId.js +1 -1
  68. package/lib/services/maia/Orchestrator/orchestrator.js +7 -16
  69. package/lib/services/maia/Skills/createSkill.js +1 -1
  70. package/lib/services/maia/Skills/getSkills.js +40 -70
  71. package/lib/services/maia/Skills/updateSkill.js +1 -1
  72. package/lib/services/maia/Usage/getUsage.js +45 -0
  73. package/lib/services/maia/Usage/index.js +6 -0
  74. package/lib/services/maia/index.js +4 -2
  75. package/lib/services/utils/MaiaApiError.js +34 -0
  76. package/lib/services/utils/fetchCOR.js +106 -57
  77. package/lib/services/utils/index.js +2 -1
  78. package/lib/store/faqsStore.types.js +1 -1
  79. package/lib/store/index.js +2 -1
  80. package/lib/store/sessions/sessionStreamManager.js +61 -35
  81. package/lib/store/sessions/sessions.types.js +1 -1
  82. package/lib/store/useChatsStore.js +3 -3
  83. package/lib/store/useUsageStore.js +111 -0
  84. package/lib/types/Chat.js +1 -1
  85. package/lib/types/FrequentlyAskedQuestion.js +1 -1
  86. package/lib/types/agentModal.js +1 -1
  87. package/lib/types/skill.js +1 -1
  88. package/lib/types/usage.js +9 -0
  89. package/lib/utils/contextMentionTriggers.js +5 -2
  90. package/lib/utils/normalizeAgentConnectors.js +16 -44
  91. package/lib/utils/renderContextMentions.js +18 -39
  92. package/lib/utils/usageBlockedMessage.js +11 -0
  93. package/package.json +6 -9
  94. package/CHANGELOG.md +0 -727
  95. package/lib/components/atoms/ApprovalBox/ApprovalBox.spec.js +0 -135
  96. package/lib/components/atoms/Checkbox/Checkbox.spec.js +0 -27
  97. package/lib/components/atoms/Chip/Chip.spec.js +0 -32
  98. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.spec.js +0 -29
  99. package/lib/components/atoms/Fade/Fade.spec.js +0 -31
  100. package/lib/components/atoms/MAIAButton/MAIAButton.spec.js +0 -42
  101. package/lib/components/atoms/MAIAInput/MAIAInput.spec.js +0 -283
  102. package/lib/components/atoms/ReasoningBlock/ReasoningBlock.spec.js +0 -68
  103. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.js +0 -208
  104. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.spec.js +0 -107
  105. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.styles.js +0 -77
  106. package/lib/components/atoms/SkillsDropdown/index.js +0 -2
  107. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.spec.js +0 -85
  108. package/lib/components/atoms/Switch/Switch.spec.js +0 -41
  109. package/lib/components/atoms/icons/PlusIcon.js +0 -29
  110. package/lib/components/atoms/icons/SkillCreatedByIcon.js +0 -20
  111. package/lib/components/atoms/icons/SkillVisibilityEveryoneIcon.js +0 -23
  112. package/lib/components/atoms/icons/SkillVisibilityOnlyMeIcon.js +0 -23
  113. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.spec.js +0 -77
  114. package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.spec.js +0 -104
  115. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.spec.js +0 -291
  116. package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.spec.js +0 -46
  117. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.spec.js +0 -128
  118. package/lib/components/molecules/ChatFooter/ChatFooter.spec.js +0 -105
  119. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.spec.js +0 -84
  120. package/lib/components/molecules/MessageFeedback/MessageFeedback.spec.js +0 -116
  121. package/lib/components/molecules/Sidebar/Sidebar.spec.js +0 -192
  122. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.spec.js +0 -335
  123. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.spec.js +0 -315
  124. package/lib/components/organisms/ChatAI/ChatAI.spec.js +0 -174
  125. package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.spec.js +0 -59
  126. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.spec.js +0 -79
  127. package/lib/components/organisms/EditQuestionModal/EditQuestionModal.spec.js +0 -86
  128. package/lib/hooks/useAgentModel/useCreateAgent.spec.js +0 -95
  129. package/lib/hooks/useAgentModel/useUpdateAgent.spec.js +0 -96
  130. package/lib/hooks/useCaretPosition.spec.js +0 -58
  131. package/lib/hooks/useDebounce.spec.js +0 -42
  132. package/lib/hooks/useEvent.spec.js +0 -40
  133. package/lib/hooks/useMentionAllowedTypes.spec.js +0 -89
  134. package/lib/hooks/useModal/useModal.spec.js +0 -73
  135. package/lib/hooks/useResize.spec.js +0 -37
  136. package/lib/hooks/useSkillsCatalog.js +0 -66
  137. package/lib/hooks/useSkillsCatalog.spec.js +0 -88
  138. package/lib/hooks/useSnackBarManager/useSnackBarManager.spec.js +0 -33
  139. package/lib/hooks/useT.spec.js +0 -20
  140. package/lib/hooks/useToggle.spec.js +0 -33
  141. package/lib/services/maia/Access/updateAccess.spec.js +0 -108
  142. package/lib/services/maia/Actions/getFrequentlyUsedActions.spec.js +0 -69
  143. package/lib/services/maia/Actions/getSlashCommands.spec.js +0 -74
  144. package/lib/services/maia/Agents/createAgent.spec.js +0 -55
  145. package/lib/services/maia/Agents/deleteAgent.spec.js +0 -42
  146. package/lib/services/maia/Agents/fetchAgentDetail.spec.js +0 -108
  147. package/lib/services/maia/Agents/getAgentById.spec.js +0 -55
  148. package/lib/services/maia/Agents/getAgentSuggestions.spec.js +0 -82
  149. package/lib/services/maia/Agents/setAgentToolGroups.spec.js +0 -45
  150. package/lib/services/maia/Agents/toggleFavorite.spec.js +0 -47
  151. package/lib/services/maia/Agents/updateAgent.spec.js +0 -48
  152. package/lib/services/maia/Chats/deleteChat.spec.js +0 -31
  153. package/lib/services/maia/Chats/getChatMessages.spec.js +0 -150
  154. package/lib/services/maia/Chats/getChatsByUserId.spec.js +0 -149
  155. package/lib/services/maia/Chats/markSessionAsRead.spec.js +0 -30
  156. package/lib/services/maia/Chats/patchChat.spec.js +0 -41
  157. package/lib/services/maia/Chats/wasHelpfulChat.spec.js +0 -28
  158. package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.spec.js +0 -58
  159. package/lib/services/maia/Knowledge/delete.spec.js +0 -45
  160. package/lib/services/maia/Knowledge/download.spec.js +0 -78
  161. package/lib/services/maia/Knowledge/save.spec.js +0 -58
  162. package/lib/services/maia/Orchestrator/orchestrator.spec.js +0 -72
  163. package/lib/services/maia/RecentClients/getRecentClients.spec.js +0 -52
  164. package/lib/services/maia/RecentContexts/getRecentContexts.spec.js +0 -83
  165. package/lib/services/maia/RecentProjects/getRecentProjects.spec.js +0 -82
  166. package/lib/services/maia/RecentTasks/getRecentTasks.spec.js +0 -63
  167. package/lib/services/maia/RecentUsers/getRecentUsers.spec.js +0 -82
  168. package/lib/services/maia/Skills/createSkill.spec.js +0 -68
  169. package/lib/services/maia/Skills/deleteSkill.spec.js +0 -42
  170. package/lib/services/maia/Skills/generateSkill.spec.js +0 -48
  171. package/lib/services/maia/Skills/getSkills.spec.js +0 -152
  172. package/lib/services/maia/Skills/updateSkill.spec.js +0 -62
  173. package/lib/services/maia/client.spec.js +0 -56
  174. package/lib/services/utils/fetchCOR.spec.js +0 -211
  175. package/lib/services/utils/getCookie.spec.js +0 -20
  176. package/lib/store/chatsSidebarOptimistic.spec.js +0 -120
  177. package/lib/store/maiaLastChatPersistence.spec.js +0 -22
  178. package/lib/store/maiaPanelSessionPersistence.spec.js +0 -62
  179. package/lib/store/sessions/sessions.types.spec.js +0 -16
  180. package/lib/store/sessions/useSessionsStore.spec.js +0 -135
  181. package/lib/store/useChatsStore.spec.js +0 -619
  182. package/lib/store/useFaqsStore.spec.js +0 -57
  183. package/lib/test/buttonMock.js +0 -22
  184. package/lib/test/fetchPolyfill.js +0 -160
  185. package/lib/test/fileMock.js +0 -2
  186. package/lib/test/global-context.js +0 -49
  187. package/lib/test/iconMock.js +0 -19
  188. package/lib/test/mockFetch.js +0 -49
  189. package/lib/test/portalRoot.js +0 -13
  190. package/lib/test/styleMock.js +0 -2
  191. package/lib/test/test-utils.js +0 -26
  192. package/lib/test/tooltipMock.js +0 -11
  193. package/lib/utils/agentDisplayName.spec.js +0 -44
  194. package/lib/utils/autoApproveStorage.spec.js +0 -25
  195. package/lib/utils/chatInputFiles.spec.js +0 -39
  196. package/lib/utils/contextMentionLabel.spec.js +0 -13
  197. package/lib/utils/contextMentionTriggers.spec.js +0 -38
  198. package/lib/utils/contextMentionTypeLabel.spec.js +0 -14
  199. package/lib/utils/corConnectorMentionTypes.spec.js +0 -23
  200. package/lib/utils/fileDownloadHelper.spec.js +0 -67
  201. package/lib/utils/formatQuickActionMessage.spec.js +0 -27
  202. package/lib/utils/formatUnreadCount.spec.js +0 -12
  203. package/lib/utils/getUnitFileSize.spec.js +0 -18
  204. package/lib/utils/hitlAnalytics.spec.js +0 -100
  205. package/lib/utils/hoursPlannerQuickActionType.spec.js +0 -64
  206. package/lib/utils/mapBackendLang.spec.js +0 -19
  207. package/lib/utils/normalizeAgentConnectors.spec.js +0 -89
  208. package/lib/utils/orchestratorSubagents.spec.js +0 -32
  209. package/lib/utils/reasoningMappers.spec.js +0 -103
  210. package/lib/utils/retryCompletion.spec.js +0 -99
  211. package/lib/utils/skillContentSize.spec.js +0 -13
  212. package/lib/utils/slashCommandMarker.spec.js +0 -43
  213. package/lib/utils/sortManagerHoursHomeFuas.spec.js +0 -51
  214. package/lib/utils/sseStreamContent.spec.js +0 -31
  215. package/lib/utils/streamActivityMessages.spec.js +0 -98
  216. package/lib/utils/validateTrimmedFields.spec.js +0 -26
@@ -52,7 +52,7 @@ export var useChatsStore = create(function (set, get) {
52
52
  nextItem = _yield$maia$Chats$get.nextItem;
53
53
  hasMore = _yield$maia$Chats$get.hasMore;
54
54
  unreadCount = _yield$maia$Chats$get.unreadCount;
55
- nextOffset = hasMore && nextItem != null ? Number(nextItem) : null;
55
+ nextOffset = hasMore && nextItem ? Number(nextItem) : null;
56
56
  apiItems = items;
57
57
  apiIds = new Set(apiItems.map(function (item) {
58
58
  return item.sessionExternalId;
@@ -125,7 +125,7 @@ export var useChatsStore = create(function (set, get) {
125
125
  nextItem = _yield$maia$Chats$get2.nextItem;
126
126
  hasMore = _yield$maia$Chats$get2.hasMore;
127
127
  unreadCount = _yield$maia$Chats$get2.unreadCount;
128
- newNextOffset = hasMore && nextItem != null ? Number(nextItem) : null;
128
+ newNextOffset = hasMore && nextItem ? Number(nextItem) : null;
129
129
  set(function (state) {
130
130
  return {
131
131
  chats: [].concat(_toConsumableArray(state.chats), _toConsumableArray(items)),
@@ -384,4 +384,4 @@ export var useChatsStore = create(function (set, get) {
384
384
  export var getChatsStoreState = function getChatsStoreState() {
385
385
  return useChatsStore.getState();
386
386
  };
387
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGUiLCJtYWlhIiwiREVGQVVMVF9MSU1JVCIsImluaXRpYWxTdGF0ZSIsImNoYXRzIiwib3B0aW1pc3RpY1Nlc3Npb25JZHMiLCJsb2FkaW5nQ2hhdHMiLCJpc0xvYWRpbmdNb3JlQ2hhdHMiLCJuZXh0T2Zmc2V0IiwibGltaXQiLCJvZmZzZXQiLCJtb3VudENvdW50IiwidW5yZWFkQ291bnQiLCJhY3RpdmVDaGF0SWQiLCJpc0NoYXRWaWV3VmlzaWJsZSIsInVzZUNoYXRzU3RvcmUiLCJzZXQiLCJnZXQiLCJfb2JqZWN0U3ByZWFkIiwiZmV0Y2hDaGF0cyIsIl9mZXRjaENoYXRzIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJfcmVmIiwiYWdlbnQiLCJzZWN0aW9uIiwiX3JlZiRsaW1pdCIsIl9yZWYkb2Zmc2V0Iiwib25FcnJvciIsImxhbmciLCJfcmVmJGJhY2tncm91bmQiLCJiYWNrZ3JvdW5kIiwiaGFzRXhpc3RpbmdDaGF0cyIsIl95aWVsZCRtYWlhJENoYXRzJGdldCIsIml0ZW1zIiwibmV4dEl0ZW0iLCJoYXNNb3JlIiwiYXBpSXRlbXMiLCJhcGlJZHMiLCJfZ2V0IiwiY3VycmVudENoYXRzIiwic3RpbGxPcHRpbWlzdGljIiwiX3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImxlbmd0aCIsIkNoYXRzIiwiZ2V0Q2hhdHNCeVVzZXJJZCIsInNlbnQiLCJOdW1iZXIiLCJTZXQiLCJtYXAiLCJpdGVtIiwic2Vzc2lvbkV4dGVybmFsSWQiLCJmaWx0ZXIiLCJjaGF0IiwiaW5jbHVkZXMiLCJoYXMiLCJjb25jYXQiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJpZCIsImNvbnNvbGUiLCJlcnJvciIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwibG9hZE1vcmVDaGF0cyIsIl9sb2FkTW9yZUNoYXRzIiwiX2NhbGxlZTIiLCJfcmVmMiIsIl9nZXQyIiwiX3lpZWxkJG1haWEkQ2hhdHMkZ2V0MiIsIm5ld05leHRPZmZzZXQiLCJfdDIiLCJfY29udGV4dDIiLCJhYnJ1cHQiLCJzdGF0ZSIsIl94MiIsInByZXBlbmRDaGF0IiwiZmlsdGVyZWQiLCJleGlzdGluZyIsImFscmVhZHlPcHRpbWlzdGljIiwiZGVsZXRlQ2hhdCIsIl9kZWxldGVDaGF0IiwiX2NhbGxlZTMiLCJfcmVmMyIsImNoYXRJZCIsInVzZXJJZCIsIl90MyIsIl9jb250ZXh0MyIsIl94MyIsInVwZGF0ZUNoYXQiLCJfdXBkYXRlQ2hhdCIsIl9jYWxsZWU0IiwiX3JlZjQiLCJfY3VycmVudCR0aXRsZSIsImN1cnJlbnQiLCJsYXN0UXVlc3Rpb24iLCJfdDQiLCJfY29udGV4dDQiLCJmaW5kIiwiYyIsInRpdGxlIiwicGF0Y2hDaGF0IiwiX3g0IiwibWFya0NoYXRBc1JlYWQiLCJfbWFya0NoYXRBc1JlYWQiLCJfY2FsbGVlNSIsIm9wdGlvbnMiLCJfdDUiLCJfY29udGV4dDUiLCJmb3JjZSIsImlzUmVhZCIsIk1hdGgiLCJtYXgiLCJtYXJrU2Vzc2lvbkFzUmVhZCIsIl94NSIsIl94NiIsIm1hcmtDaGF0QXNVbnJlYWQiLCJzZXRDaGF0UmVhZFN0YXRlIiwic2V0QWN0aXZlQ2hhdElkIiwic2V0Q2hhdFZpZXdWaXNpYmxlIiwidmlzaWJsZSIsInNldFVucmVhZENvdW50IiwiY291bnQiLCJyZXNldCIsImFjcXVpcmUiLCJyZWxlYXNlIiwibmV3Q291bnQiLCJnZXRDaGF0c1N0b3JlU3RhdGUiLCJnZXRTdGF0ZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yZS91c2VDaGF0c1N0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llcyAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgY3JlYXRlIH0gZnJvbSAnenVzdGFuZCdcbmltcG9ydCBtYWlhIGZyb20gJy4uL3NlcnZpY2VzL21haWEnXG5pbXBvcnQgdHlwZSB7IENoYXRMaXN0SXRlbSwgRmV0Y2hDaGF0c1BhcmFtcywgTG9hZE1vcmVDaGF0c1BhcmFtcywgRGVsZXRlQ2hhdFBhcmFtcyB9IGZyb20gJy4vY2hhdHNTdG9yZS50eXBlcydcblxuY29uc3QgREVGQVVMVF9MSU1JVCA9IDIwXG5cbnR5cGUgQ2hhdHNTdGF0ZSA9IHtcbiAgY2hhdHM6IENoYXRMaXN0SXRlbVtdXG4gIC8qKiBTZXNpb25lcyBhZ3JlZ2FkYXMgb3B0aW1pc3RhbWVudGUgaGFzdGEgcXVlIGVsIGJhY2tlbmQgbGFzIGRldnVlbHZhIGVuIEdFVCBzZXNzaW9ucy4gKi9cbiAgb3B0aW1pc3RpY1Nlc3Npb25JZHM6IHN0cmluZ1tdXG4gIGxvYWRpbmdDaGF0czogYm9vbGVhblxuICBpc0xvYWRpbmdNb3JlQ2hhdHM6IGJvb2xlYW5cbiAgbmV4dE9mZnNldDogbnVtYmVyIHwgbnVsbFxuICBsaW1pdDogbnVtYmVyXG4gIG9mZnNldDogbnVtYmVyXG4gIG1vdW50Q291bnQ6IG51bWJlclxuICB1bnJlYWRDb3VudDogbnVtYmVyXG4gIGFjdGl2ZUNoYXRJZDogc3RyaW5nIHwgbnVsbFxuICBpc0NoYXRWaWV3VmlzaWJsZTogYm9vbGVhblxufVxuXG50eXBlIENoYXRzQWN0aW9ucyA9IHtcbiAgZmV0Y2hDaGF0czogKHBhcmFtczogRmV0Y2hDaGF0c1BhcmFtcykgPT4gUHJvbWlzZTx2b2lkPlxuICBsb2FkTW9yZUNoYXRzOiAocGFyYW1zOiBMb2FkTW9yZUNoYXRzUGFyYW1zKSA9PiBQcm9taXNlPHZvaWQ+XG4gIHByZXBlbmRDaGF0OiAoY2hhdDogQ2hhdExpc3RJdGVtKSA9PiB2b2lkXG4gIGRlbGV0ZUNoYXQ6IChwYXJhbXM6IERlbGV0ZUNoYXRQYXJhbXMpID0+IFByb21pc2U8Ym9vbGVhbj5cbiAgdXBkYXRlQ2hhdDogKGNoYXQ6IFBhcnRpYWw8Q2hhdExpc3RJdGVtPiAmIHsgc2Vzc2lvbkV4dGVybmFsSWQ6IHN0cmluZzsgaWQ6IHN0cmluZyB9KSA9PiBQcm9taXNlPGJvb2xlYW4+XG4gIG1hcmtDaGF0QXNSZWFkOiAoY2hhdElkPzogc3RyaW5nIHwgbnVsbCwgb3B0aW9ucz86IHsgZm9yY2U/OiBib29sZWFuIH0pID0+IFByb21pc2U8dm9pZD5cbiAgbWFya0NoYXRBc1VucmVhZDogKGNoYXRJZD86IHN0cmluZyB8IG51bGwpID0+IHZvaWRcbiAgc2V0Q2hhdFJlYWRTdGF0ZTogKGNoYXRJZDogc3RyaW5nLCBpc1JlYWQ6IGJvb2xlYW4pID0+IHZvaWRcbiAgc2V0QWN0aXZlQ2hhdElkOiAoY2hhdElkOiBzdHJpbmcgfCBudWxsKSA9PiB2b2lkXG4gIHNldENoYXRWaWV3VmlzaWJsZTogKHZpc2libGU6IGJvb2xlYW4pID0+IHZvaWRcbiAgc2V0VW5yZWFkQ291bnQ6IChjb3VudDogbnVtYmVyKSA9PiB2b2lkXG4gIHJlc2V0OiAoKSA9PiB2b2lkXG4gIGFjcXVpcmU6ICgpID0+IHZvaWRcbiAgcmVsZWFzZTogKCkgPT4gdm9pZFxufVxuXG5jb25zdCBpbml0aWFsU3RhdGU6IENoYXRzU3RhdGUgPSB7XG4gIGNoYXRzOiBbXSxcbiAgb3B0aW1pc3RpY1Nlc3Npb25JZHM6IFtdLFxuICBsb2FkaW5nQ2hhdHM6IHRydWUsXG4gIGlzTG9hZGluZ01vcmVDaGF0czogZmFsc2UsXG4gIG5leHRPZmZzZXQ6IG51bGwsXG4gIGxpbWl0OiBERUZBVUxUX0xJTUlULFxuICBvZmZzZXQ6IDAsXG4gIG1vdW50Q291bnQ6IDAsXG4gIHVucmVhZENvdW50OiAwLFxuICBhY3RpdmVDaGF0SWQ6IG51bGwsXG4gIGlzQ2hhdFZpZXdWaXNpYmxlOiB0cnVlLFxufVxuXG5leHBvcnQgY29uc3QgdXNlQ2hhdHNTdG9yZSA9IGNyZWF0ZTxDaGF0c1N0YXRlICYgQ2hhdHNBY3Rpb25zPigoc2V0LCBnZXQpID0+ICh7XG4gIC4uLmluaXRpYWxTdGF0ZSxcblxuICBmZXRjaENoYXRzOiBhc3luYyAoeyBhZ2VudCwgc2VjdGlvbiwgbGltaXQgPSBERUZBVUxUX0xJTUlULCBvZmZzZXQgPSAwLCBvbkVycm9yLCBsYW5nLCBiYWNrZ3JvdW5kID0gZmFsc2UgfSkgPT4ge1xuICAgIGNvbnN0IGhhc0V4aXN0aW5nQ2hhdHMgPSBnZXQoKS5jaGF0cy5sZW5ndGggPiAwXG4gICAgaWYgKCFiYWNrZ3JvdW5kIHx8ICFoYXNFeGlzdGluZ0NoYXRzKSB7XG4gICAgICBzZXQoeyBsb2FkaW5nQ2hhdHM6IHRydWUgfSlcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHsgaXRlbXMsIG5leHRJdGVtLCBoYXNNb3JlLCB1bnJlYWRDb3VudCB9ID0gYXdhaXQgbWFpYS5DaGF0cy5nZXRDaGF0c0J5VXNlcklkKHtcbiAgICAgICAgYWdlbnQsXG4gICAgICAgIHNlY3Rpb24sXG4gICAgICAgIGxpbWl0LFxuICAgICAgICBvZmZzZXQsXG4gICAgICAgIGxhbmcsXG4gICAgICB9KVxuICAgICAgY29uc3QgbmV4dE9mZnNldCA9IGhhc01vcmUgJiYgbmV4dEl0ZW0gIT0gbnVsbCA/IE51bWJlcihuZXh0SXRlbSkgOiBudWxsXG4gICAgICBjb25zdCBhcGlJdGVtcyA9IGl0ZW1zIGFzIENoYXRMaXN0SXRlbVtdXG4gICAgICBjb25zdCBhcGlJZHMgPSBuZXcgU2V0KGFwaUl0ZW1zLm1hcChpdGVtID0+IGl0ZW0uc2Vzc2lvbkV4dGVybmFsSWQpKVxuICAgICAgY29uc3QgeyBjaGF0czogY3VycmVudENoYXRzLCBvcHRpbWlzdGljU2Vzc2lvbklkcyB9ID0gZ2V0KClcbiAgICAgIGNvbnN0IHN0aWxsT3B0aW1pc3RpYyA9IGN1cnJlbnRDaGF0cy5maWx0ZXIoXG4gICAgICAgIGNoYXQgPT4gb3B0aW1pc3RpY1Nlc3Npb25JZHMuaW5jbHVkZXMoY2hhdC5zZXNzaW9uRXh0ZXJuYWxJZCkgJiYgIWFwaUlkcy5oYXMoY2hhdC5zZXNzaW9uRXh0ZXJuYWxJZClcbiAgICAgIClcbiAgICAgIHNldCh7XG4gICAgICAgIGNoYXRzOiBbLi4uc3RpbGxPcHRpbWlzdGljLCAuLi5hcGlJdGVtc10sXG4gICAgICAgIG9wdGltaXN0aWNTZXNzaW9uSWRzOiBvcHRpbWlzdGljU2Vzc2lvbklkcy5maWx0ZXIoaWQgPT4gIWFwaUlkcy5oYXMoaWQpKSxcbiAgICAgICAgbG9hZGluZ0NoYXRzOiBmYWxzZSxcbiAgICAgICAgbmV4dE9mZnNldCxcbiAgICAgICAgbGltaXQsXG4gICAgICAgIG9mZnNldDogbmV4dE9mZnNldCA/PyAwLFxuICAgICAgICB1bnJlYWRDb3VudCxcbiAgICAgIH0pXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIGNoYXRzOicsIGVycm9yKVxuICAgICAgc2V0KHsgbG9hZGluZ0NoYXRzOiBmYWxzZSB9KVxuICAgICAgb25FcnJvcj8uKClcbiAgICB9XG4gIH0sXG5cbiAgbG9hZE1vcmVDaGF0czogYXN5bmMgKHsgYWdlbnQsIHNlY3Rpb24sIG9uRXJyb3IsIGxhbmcgfSkgPT4ge1xuICAgIGNvbnN0IHsgbmV4dE9mZnNldCwgbGltaXQsIGlzTG9hZGluZ01vcmVDaGF0cyB9ID0gZ2V0KClcbiAgICBpZiAobmV4dE9mZnNldCA9PT0gbnVsbCB8fCBpc0xvYWRpbmdNb3JlQ2hhdHMpIHJldHVyblxuICAgIHNldCh7IGlzTG9hZGluZ01vcmVDaGF0czogdHJ1ZSB9KVxuICAgIHRyeSB7XG4gICAgICBjb25zdCB7IGl0ZW1zLCBuZXh0SXRlbSwgaGFzTW9yZSwgdW5yZWFkQ291bnQgfSA9IGF3YWl0IG1haWEuQ2hhdHMuZ2V0Q2hhdHNCeVVzZXJJZCh7XG4gICAgICAgIGFnZW50LFxuICAgICAgICBzZWN0aW9uLFxuICAgICAgICBsaW1pdCxcbiAgICAgICAgb2Zmc2V0OiBuZXh0T2Zmc2V0LFxuICAgICAgICBsYW5nLFxuICAgICAgfSlcbiAgICAgIGNvbnN0IG5ld05leHRPZmZzZXQgPSBoYXNNb3JlICYmIG5leHRJdGVtICE9IG51bGwgPyBOdW1iZXIobmV4dEl0ZW0pIDogbnVsbFxuICAgICAgc2V0KHN0YXRlID0+ICh7XG4gICAgICAgIGNoYXRzOiBbLi4uc3RhdGUuY2hhdHMsIC4uLihpdGVtcyBhcyBDaGF0TGlzdEl0ZW1bXSldLFxuICAgICAgICBpc0xvYWRpbmdNb3JlQ2hhdHM6IGZhbHNlLFxuICAgICAgICBuZXh0T2Zmc2V0OiBuZXdOZXh0T2Zmc2V0LFxuICAgICAgICBvZmZzZXQ6IG5ld05leHRPZmZzZXQgPz8gMCxcbiAgICAgICAgdW5yZWFkQ291bnQsXG4gICAgICB9KSlcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgbG9hZGluZyBtb3JlIGNoYXRzOicsIGVycm9yKVxuICAgICAgc2V0KHsgaXNMb2FkaW5nTW9yZUNoYXRzOiBmYWxzZSB9KVxuICAgICAgb25FcnJvcj8uKClcbiAgICB9XG4gIH0sXG5cbiAgcHJlcGVuZENoYXQ6IGNoYXQgPT5cbiAgICBzZXQoc3RhdGUgPT4ge1xuICAgICAgY29uc3QgZmlsdGVyZWQgPSBzdGF0ZS5jaGF0cy5maWx0ZXIoZXhpc3RpbmcgPT4gZXhpc3Rpbmcuc2Vzc2lvbkV4dGVybmFsSWQgIT09IGNoYXQuc2Vzc2lvbkV4dGVybmFsSWQpXG4gICAgICBjb25zdCBhbHJlYWR5T3B0aW1pc3RpYyA9IHN0YXRlLm9wdGltaXN0aWNTZXNzaW9uSWRzLmluY2x1ZGVzKGNoYXQuc2Vzc2lvbkV4dGVybmFsSWQpXG4gICAgICByZXR1cm4ge1xuICAgICAgICBjaGF0czogW2NoYXQsIC4uLmZpbHRlcmVkXSxcbiAgICAgICAgb3B0aW1pc3RpY1Nlc3Npb25JZHM6IGFscmVhZHlPcHRpbWlzdGljXG4gICAgICAgICAgPyBzdGF0ZS5vcHRpbWlzdGljU2Vzc2lvbklkc1xuICAgICAgICAgIDogWy4uLnN0YXRlLm9wdGltaXN0aWNTZXNzaW9uSWRzLCBjaGF0LnNlc3Npb25FeHRlcm5hbElkXSxcbiAgICAgIH1cbiAgICB9KSxcblxuICBkZWxldGVDaGF0OiBhc3luYyAoeyBjaGF0SWQsIHVzZXJJZCB9KSA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGF3YWl0IG1haWEuQ2hhdHMuZGVsZXRlQ2hhdCh7IGNoYXRJZCwgdXNlcklkIH0pXG4gICAgICBzZXQoc3RhdGUgPT4gKHtcbiAgICAgICAgY2hhdHM6IHN0YXRlLmNoYXRzLmZpbHRlcihjaGF0ID0+IGNoYXQuc2Vzc2lvbkV4dGVybmFsSWQgIT09IGNoYXRJZCksXG4gICAgICAgIG9wdGltaXN0aWNTZXNzaW9uSWRzOiBzdGF0ZS5vcHRpbWlzdGljU2Vzc2lvbklkcy5maWx0ZXIoaWQgPT4gaWQgIT09IGNoYXRJZCksXG4gICAgICB9KSlcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGRlbGV0aW5nIGNoYXQ6JywgZXJyb3IpXG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gIH0sXG5cbiAgdXBkYXRlQ2hhdDogYXN5bmMgY2hhdCA9PiB7XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IGN1cnJlbnQgPSBnZXQoKS5jaGF0cy5maW5kKGMgPT4gYy5pZCA9PT0gY2hhdC5pZClcbiAgICAgIGNvbnN0IGxhc3RRdWVzdGlvbiA9IGN1cnJlbnQ/LnRpdGxlID8/IGNoYXQudGl0bGUgPz8gJydcbiAgICAgIGF3YWl0IG1haWEuQ2hhdHMucGF0Y2hDaGF0KHtcbiAgICAgICAgY2hhdElkOiBjaGF0LnNlc3Npb25FeHRlcm5hbElkLFxuICAgICAgICBsYXN0UXVlc3Rpb24sXG4gICAgICAgIC4uLihjaGF0LnRpdGxlICE9IG51bGwgJiYgeyB0aXRsZTogY2hhdC50aXRsZSB9KSxcbiAgICAgIH0pXG4gICAgICBzZXQoc3RhdGUgPT4gKHtcbiAgICAgICAgY2hhdHM6IHN0YXRlLmNoYXRzLm1hcChjID0+IChjLmlkID09PSBjaGF0LmlkID8geyAuLi5jLCAuLi5jaGF0IH0gOiBjKSksXG4gICAgICB9KSlcbiAgICAgIHJldHVybiB0cnVlXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIHVwZGF0aW5nIGNoYXQ6JywgZXJyb3IpXG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gIH0sXG5cbiAgbWFya0NoYXRBc1JlYWQ6IGFzeW5jIChjaGF0SWQsIG9wdGlvbnMpID0+IHtcbiAgICBjb25zdCBpZCA9IGNoYXRJZCB8fCBnZXQoKS5hY3RpdmVDaGF0SWRcbiAgICBpZiAoIWlkKSByZXR1cm5cblxuICAgIGNvbnN0IGNoYXQgPSBnZXQoKS5jaGF0cy5maW5kKGMgPT4gYy5zZXNzaW9uRXh0ZXJuYWxJZCA9PT0gaWQpXG4gICAgaWYgKCFvcHRpb25zPy5mb3JjZSAmJiBjaGF0Py5pc1JlYWQpIHJldHVyblxuXG4gICAgaWYgKGNoYXQ/LmlzUmVhZCA9PT0gZmFsc2UpIHtcbiAgICAgIHNldChzdGF0ZSA9PiAoe1xuICAgICAgICBjaGF0czogc3RhdGUuY2hhdHMubWFwKGMgPT4gKGMuc2Vzc2lvbkV4dGVybmFsSWQgPT09IGlkID8geyAuLi5jLCBpc1JlYWQ6IHRydWUgfSA6IGMpKSxcbiAgICAgICAgdW5yZWFkQ291bnQ6IE1hdGgubWF4KDAsIHN0YXRlLnVucmVhZENvdW50IC0gMSksXG4gICAgICB9KSlcbiAgICB9XG5cbiAgICB0cnkge1xuICAgICAgYXdhaXQgbWFpYS5DaGF0cy5tYXJrU2Vzc2lvbkFzUmVhZCh7IGNoYXRJZDogaWQgfSlcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgbWFya2luZyBjaGF0IGFzIHJlYWQ6JywgZXJyb3IpXG4gICAgfVxuICB9LFxuXG4gIG1hcmtDaGF0QXNVbnJlYWQ6IGNoYXRJZCA9PiB7XG4gICAgaWYgKCFjaGF0SWQpIHJldHVyblxuICAgIGNvbnN0IGNoYXQgPSBnZXQoKS5jaGF0cy5maW5kKGMgPT4gYy5zZXNzaW9uRXh0ZXJuYWxJZCA9PT0gY2hhdElkKVxuICAgIGlmIChjaGF0Py5pc1JlYWQgPT09IGZhbHNlKSByZXR1cm5cblxuICAgIHNldChzdGF0ZSA9PiAoe1xuICAgICAgY2hhdHM6IHN0YXRlLmNoYXRzLm1hcChjID0+IChjLnNlc3Npb25FeHRlcm5hbElkID09PSBjaGF0SWQgPyB7IC4uLmMsIGlzUmVhZDogZmFsc2UgfSA6IGMpKSxcbiAgICAgIHVucmVhZENvdW50OiBzdGF0ZS51bnJlYWRDb3VudCArIDEsXG4gICAgfSkpXG4gIH0sXG5cbiAgc2V0Q2hhdFJlYWRTdGF0ZTogKGNoYXRJZCwgaXNSZWFkKSA9PlxuICAgIHNldChzdGF0ZSA9PiAoe1xuICAgICAgY2hhdHM6IHN0YXRlLmNoYXRzLm1hcChjID0+IChjLnNlc3Npb25FeHRlcm5hbElkID09PSBjaGF0SWQgPyB7IC4uLmMsIGlzUmVhZCB9IDogYykpLFxuICAgIH0pKSxcblxuICBzZXRBY3RpdmVDaGF0SWQ6IGNoYXRJZCA9PiBzZXQoeyBhY3RpdmVDaGF0SWQ6IGNoYXRJZCB9KSxcblxuICBzZXRDaGF0Vmlld1Zpc2libGU6IHZpc2libGUgPT4gc2V0KHsgaXNDaGF0Vmlld1Zpc2libGU6IHZpc2libGUgfSksXG5cbiAgc2V0VW5yZWFkQ291bnQ6IGNvdW50ID0+IHNldCh7IHVucmVhZENvdW50OiBNYXRoLm1heCgwLCBjb3VudCkgfSksXG5cbiAgcmVzZXQ6ICgpID0+IHNldChzdGF0ZSA9PiAoeyAuLi5pbml0aWFsU3RhdGUsIG1vdW50Q291bnQ6IHN0YXRlLm1vdW50Q291bnQgfSkpLFxuXG4gIGFjcXVpcmU6ICgpID0+IHNldChzdGF0ZSA9PiAoeyBtb3VudENvdW50OiBzdGF0ZS5tb3VudENvdW50ICsgMSB9KSksXG5cbiAgcmVsZWFzZTogKCkgPT4ge1xuICAgIHNldChzdGF0ZSA9PiB7XG4gICAgICBjb25zdCBuZXdDb3VudCA9IE1hdGgubWF4KDAsIHN0YXRlLm1vdW50Q291bnQgLSAxKVxuICAgICAgaWYgKG5ld0NvdW50ID09PSAwKSB7XG4gICAgICAgIHJldHVybiB7IC4uLmluaXRpYWxTdGF0ZSwgbW91bnRDb3VudDogMCB9XG4gICAgICB9XG4gICAgICByZXR1cm4geyBtb3VudENvdW50OiBuZXdDb3VudCB9XG4gICAgfSlcbiAgfSxcbn0pKVxuXG5leHBvcnQgY29uc3QgZ2V0Q2hhdHNTdG9yZVN0YXRlID0gKCkgPT4gdXNlQ2hhdHNTdG9yZS5nZXRTdGF0ZSgpXG4iXSwibWFwcGluZ3MiOiI7Ozs7OztBQUFBO0FBQ0E7QUFDQSxTQUFTQSxNQUFNLFFBQVEsU0FBUztBQUNoQyxPQUFPQyxJQUFJLE1BQU0sa0JBQWtCO0FBR25DLElBQU1DLGFBQWEsR0FBRyxFQUFFO0FBa0N4QixJQUFNQyxZQUF3QixHQUFHO0VBQy9CQyxLQUFLLEVBQUUsRUFBRTtFQUNUQyxvQkFBb0IsRUFBRSxFQUFFO0VBQ3hCQyxZQUFZLEVBQUUsSUFBSTtFQUNsQkMsa0JBQWtCLEVBQUUsS0FBSztFQUN6QkMsVUFBVSxFQUFFLElBQUk7RUFDaEJDLEtBQUssRUFBRVAsYUFBYTtFQUNwQlEsTUFBTSxFQUFFLENBQUM7RUFDVEMsVUFBVSxFQUFFLENBQUM7RUFDYkMsV0FBVyxFQUFFLENBQUM7RUFDZEMsWUFBWSxFQUFFLElBQUk7RUFDbEJDLGlCQUFpQixFQUFFO0FBQ3JCLENBQUM7QUFFRCxPQUFPLElBQU1DLGFBQWEsR0FBR2YsTUFBTSxDQUE0QixVQUFDZ0IsR0FBRyxFQUFFQyxHQUFHO0VBQUEsT0FBQUMsYUFBQSxDQUFBQSxhQUFBLEtBQ25FZixZQUFZO0lBRWZnQixVQUFVO01BQUEsSUFBQUMsV0FBQSxHQUFBQyxpQkFBQSxjQUFBQyxtQkFBQSxDQUFBQyxJQUFBLENBQUUsU0FBQUMsUUFBQUMsSUFBQTtRQUFBLElBQUFDLEtBQUEsRUFBQUMsT0FBQSxFQUFBQyxVQUFBLEVBQUFuQixLQUFBLEVBQUFvQixXQUFBLEVBQUFuQixNQUFBLEVBQUFvQixPQUFBLEVBQUFDLElBQUEsRUFBQUMsZUFBQSxFQUFBQyxVQUFBLEVBQUFDLGdCQUFBLEVBQUFDLHFCQUFBLEVBQUFDLEtBQUEsRUFBQUMsUUFBQSxFQUFBQyxPQUFBLEVBQUExQixXQUFBLEVBQUFKLFVBQUEsRUFBQStCLFFB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LFNBQWpCQSxlQUFlQSxDQUFFbEMsTUFBTTtNQUFBLE9BQUkzRSxHQUFHLENBQUM7UUFBRUgsWUFBWSxFQUFFOEU7TUFBTyxDQUFDLENBQUM7SUFBQTtJQUV4RG1DLGtCQUFrQixFQUFFLFNBQXBCQSxrQkFBa0JBLENBQUVDLE9BQU87TUFBQSxPQUFJL0csR0FBRyxDQUFDO1FBQUVGLGlCQUFpQixFQUFFaUg7TUFBUSxDQUFDLENBQUM7SUFBQTtJQUVsRUMsY0FBYyxFQUFFLFNBQWhCQSxjQUFjQSxDQUFFQyxLQUFLO01BQUEsT0FBSWpILEdBQUcsQ0FBQztRQUFFSixXQUFXLEVBQUUwRyxJQUFJLENBQUNDLEdBQUcsQ0FBQyxDQUFDLEVBQUVVLEtBQUs7TUFBRSxDQUFDLENBQUM7SUFBQTtJQUVqRUMsS0FBSyxFQUFFLFNBQVBBLEtBQUtBLENBQUE7TUFBQSxPQUFRbEgsR0FBRyxDQUFDLFVBQUFpRSxLQUFLO1FBQUEsT0FBQS9ELGFBQUEsQ0FBQUEsYUFBQSxLQUFVZixZQUFZO1VBQUVRLFVBQVUsRUFBRXNFLEtBQUssQ0FBQ3RFO1FBQVU7TUFBQSxDQUFHLENBQUM7SUFBQTtJQUU5RXdILE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBO01BQUEsT0FBUW5ILEdBQUcsQ0FBQyxVQUFBaUUsS0FBSztRQUFBLE9BQUs7VUFBRXRFLFVBQVUsRUFBRXNFLEtBQUssQ0FBQ3RFLFVBQVUsR0FBRztRQUFFLENBQUM7TUFBQSxDQUFDLENBQUM7SUFBQTtJQUVuRXlILE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBLEVBQVE7TUFDYnBILEdBQUcsQ0FBQyxVQUFBaUUsS0FBSyxFQUFJO1FBQ1gsSUFBTW9ELFFBQVEsR0FBR2YsSUFBSSxDQUFDQyxHQUFHLENBQUMsQ0FBQyxFQUFFdEMsS0FBSyxDQUFDdEUsVUFBVSxHQUFHLENBQUMsQ0FBQztRQUNsRCxJQUFJMEgsUUFBUSxLQUFLLENBQUMsRUFBRTtVQUNsQixPQUFBbkgsYUFBQSxDQUFBQSxhQUFBLEtBQVlmLFlBQVk7WUFBRVEsVUFBVSxFQUFFO1VBQUM7UUFDekM7UUFDQSxPQUFPO1VBQUVBLFVBQVUsRUFBRTBIO1FBQVMsQ0FBQztNQUNqQyxDQUFDLENBQUM7SUFDSjtFQUFDO0FBQUEsQ0FDRCxDQUFDO0FBRUgsT0FBTyxJQUFNQyxrQkFBa0IsR0FBRyxTQUFyQkEsa0JBQWtCQSxDQUFBO0VBQUEsT0FBU3ZILGFBQWEsQ0FBQ3dILFFBQVEsQ0FBQyxDQUFDO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
387
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGUiLCJtYWlhIiwiREVGQVVMVF9MSU1JVCIsImluaXRpYWxTdGF0ZSIsImNoYXRzIiwib3B0aW1pc3RpY1Nlc3Npb25JZHMiLCJsb2FkaW5nQ2hhdHMiLCJpc0xvYWRpbmdNb3JlQ2hhdHMiLCJuZXh0T2Zmc2V0IiwibGltaXQiLCJvZmZzZXQiLCJtb3VudENvdW50IiwidW5yZWFkQ291bnQiLCJhY3RpdmVDaGF0SWQiLCJpc0NoYXRWaWV3VmlzaWJsZSIsInVzZUNoYXRzU3RvcmUiLCJzZXQiLCJnZXQiLCJfb2JqZWN0U3ByZWFkIiwiZmV0Y2hDaGF0cyIsIl9mZXRjaENoYXRzIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJfcmVmIiwiYWdlbnQiLCJzZWN0aW9uIiwiX3JlZiRsaW1pdCIsIl9yZWYkb2Zmc2V0Iiwib25FcnJvciIsImxhbmciLCJfcmVmJGJhY2tncm91bmQiLCJiYWNrZ3JvdW5kIiwiaGFzRXhpc3RpbmdDaGF0cyIsIl95aWVsZCRtYWlhJENoYXRzJGdldCIsIml0ZW1zIiwibmV4dEl0ZW0iLCJoYXNNb3JlIiwiYXBpSXRlbXMiLCJhcGlJZHMiLCJfZ2V0IiwiY3VycmVudENoYXRzIiwic3RpbGxPcHRpbWlzdGljIiwiX3QiLCJ3cmFwIiwiX2NvbnRleHQiLCJwcmV2IiwibmV4dCIsImxlbmd0aCIsIkNoYXRzIiwiZ2V0Q2hhdHNCeVVzZXJJZCIsInNlbnQiLCJOdW1iZXIiLCJTZXQiLCJtYXAiLCJpdGVtIiwic2Vzc2lvbkV4dGVybmFsSWQiLCJmaWx0ZXIiLCJjaGF0IiwiaW5jbHVkZXMiLCJoYXMiLCJjb25jYXQiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJpZCIsImNvbnNvbGUiLCJlcnJvciIsInN0b3AiLCJfeCIsImFwcGx5IiwiYXJndW1lbnRzIiwibG9hZE1vcmVDaGF0cyIsIl9sb2FkTW9yZUNoYXRzIiwiX2NhbGxlZTIiLCJfcmVmMiIsIl9nZXQyIiwiX3lpZWxkJG1haWEkQ2hhdHMkZ2V0MiIsIm5ld05leHRPZmZzZXQiLCJfdDIiLCJfY29udGV4dDIiLCJhYnJ1cHQiLCJzdGF0ZSIsIl94MiIsInByZXBlbmRDaGF0IiwiZmlsdGVyZWQiLCJleGlzdGluZyIsImFscmVhZHlPcHRpbWlzdGljIiwiZGVsZXRlQ2hhdCIsIl9kZWxldGVDaGF0IiwiX2NhbGxlZTMiLCJfcmVmMyIsImNoYXRJZCIsInVzZXJJZCIsIl90MyIsIl9jb250ZXh0MyIsIl94MyIsInVwZGF0ZUNoYXQiLCJfdXBkYXRlQ2hhdCIsIl9jYWxsZWU0IiwiX3JlZjQiLCJfY3VycmVudCR0aXRsZSIsImN1cnJlbnQiLCJsYXN0UXVlc3Rpb24iLCJfdDQiLCJfY29udGV4dDQiLCJmaW5kIiwiYyIsInRpdGxlIiwicGF0Y2hDaGF0IiwiX3g0IiwibWFya0NoYXRBc1JlYWQiLCJfbWFya0NoYXRBc1JlYWQiLCJfY2FsbGVlNSIsIm9wdGlvbnMiLCJfdDUiLCJfY29udGV4dDUiLCJmb3JjZSIsImlzUmVhZCIsIk1hdGgiLCJtYXgiLCJtYXJrU2Vzc2lvbkFzUmVhZCIsIl94NSIsIl94NiIsIm1hcmtDaGF0QXNVbnJlYWQiLCJzZXRDaGF0UmVhZFN0YXRlIiwic2V0QWN0aXZlQ2hhdElkIiwic2V0Q2hhdFZpZXdWaXNpYmxlIiwidmlzaWJsZSIsInNldFVucmVhZENvdW50IiwiY291bnQiLCJyZXNldCIsImFjcXVpcmUiLCJyZWxlYXNlIiwibmV3Q291bnQiLCJnZXRDaGF0c1N0b3JlU3RhdGUiLCJnZXRTdGF0ZSJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9zdG9yZS91c2VDaGF0c1N0b3JlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIGltcG9ydC9uby1leHRyYW5lb3VzLWRlcGVuZGVuY2llcyAqL1xuLyogZXNsaW50LWRpc2FibGUgQHR5cGVzY3JpcHQtZXNsaW50L25vLWV4cGxpY2l0LWFueSAqL1xuaW1wb3J0IHsgY3JlYXRlIH0gZnJvbSAnenVzdGFuZCdcbmltcG9ydCBtYWlhIGZyb20gJy4uL3NlcnZpY2VzL21haWEnXG5pbXBvcnQgdHlwZSB7IENoYXRMaXN0SXRlbSwgRmV0Y2hDaGF0c1BhcmFtcywgTG9hZE1vcmVDaGF0c1BhcmFtcywgRGVsZXRlQ2hhdFBhcmFtcyB9IGZyb20gJy4vY2hhdHNTdG9yZS50eXBlcydcblxuY29uc3QgREVGQVVMVF9MSU1JVCA9IDIwXG5cbnR5cGUgQ2hhdHNTdGF0ZSA9IHtcbiAgY2hhdHM6IENoYXRMaXN0SXRlbVtdXG4gIC8qKiBTZXNpb25lcyBhZ3JlZ2FkYXMgb3B0aW1pc3RhbWVudGUgaGFzdGEgcXVlIGVsIGJhY2tlbmQgbGFzIGRldnVlbHZhIGVuIEdFVCBzZXNzaW9ucy4gKi9cbiAgb3B0aW1pc3RpY1Nlc3Npb25JZHM6IHN0cmluZ1tdXG4gIGxvYWRpbmdDaGF0czogYm9vbGVhblxuICBpc0xvYWRpbmdNb3JlQ2hhdHM6IGJvb2xlYW5cbiAgbmV4dE9mZnNldDogbnVtYmVyIHwgbnVsbFxuICBsaW1pdDogbnVtYmVyXG4gIG9mZnNldDogbnVtYmVyXG4gIG1vdW50Q291bnQ6IG51bWJlclxuICB1bnJlYWRDb3VudDogbnVtYmVyXG4gIGFjdGl2ZUNoYXRJZDogc3RyaW5nIHwgbnVsbFxuICBpc0NoYXRWaWV3VmlzaWJsZTogYm9vbGVhblxufVxuXG50eXBlIENoYXRzQWN0aW9ucyA9IHtcbiAgZmV0Y2hDaGF0czogKHBhcmFtczogRmV0Y2hDaGF0c1BhcmFtcykgPT4gUHJvbWlzZTx2b2lkPlxuICBsb2FkTW9yZUNoYXRzOiAocGFyYW1zOiBMb2FkTW9yZUNoYXRzUGFyYW1zKSA9PiBQcm9taXNlPHZvaWQ+XG4gIHByZXBlbmRDaGF0OiAoY2hhdDogQ2hhdExpc3RJdGVtKSA9PiB2b2lkXG4gIGRlbGV0ZUNoYXQ6IChwYXJhbXM6IERlbGV0ZUNoYXRQYXJhbXMpID0+IFByb21pc2U8Ym9vbGVhbj5cbiAgdXBkYXRlQ2hhdDogKGNoYXQ6IFBhcnRpYWw8Q2hhdExpc3RJdGVtPiAmIHsgc2Vzc2lvbkV4dGVybmFsSWQ6IHN0cmluZzsgaWQ6IHN0cmluZyB9KSA9PiBQcm9taXNlPGJvb2xlYW4+XG4gIG1hcmtDaGF0QXNSZWFkOiAoY2hhdElkPzogc3RyaW5nIHwgbnVsbCwgb3B0aW9ucz86IHsgZm9yY2U/OiBib29sZWFuIH0pID0+IFByb21pc2U8dm9pZD5cbiAgbWFya0NoYXRBc1VucmVhZDogKGNoYXRJZD86IHN0cmluZyB8IG51bGwpID0+IHZvaWRcbiAgc2V0Q2hhdFJlYWRTdGF0ZTogKGNoYXRJZDogc3RyaW5nLCBpc1JlYWQ6IGJvb2xlYW4pID0+IHZvaWRcbiAgc2V0QWN0aXZlQ2hhdElkOiAoY2hhdElkOiBzdHJpbmcgfCBudWxsKSA9PiB2b2lkXG4gIHNldENoYXRWaWV3VmlzaWJsZTogKHZpc2libGU6IGJvb2xlYW4pID0+IHZvaWRcbiAgc2V0VW5yZWFkQ291bnQ6IChjb3VudDogbnVtYmVyKSA9PiB2b2lkXG4gIHJlc2V0OiAoKSA9PiB2b2lkXG4gIGFjcXVpcmU6ICgpID0+IHZvaWRcbiAgcmVsZWFzZTogKCkgPT4gdm9pZFxufVxuXG5jb25zdCBpbml0aWFsU3RhdGU6IENoYXRzU3RhdGUgPSB7XG4gIGNoYXRzOiBbXSxcbiAgb3B0aW1pc3RpY1Nlc3Npb25JZHM6IFtdLFxuICBsb2FkaW5nQ2hhdHM6IHRydWUsXG4gIGlzTG9hZGluZ01vcmVDaGF0czogZmFsc2UsXG4gIG5leHRPZmZzZXQ6IG51bGwsXG4gIGxpbWl0OiBERUZBVUxUX0xJTUlULFxuICBvZmZzZXQ6IDAsXG4gIG1vdW50Q291bnQ6IDAsXG4gIHVucmVhZENvdW50OiAwLFxuICBhY3RpdmVDaGF0SWQ6IG51bGwsXG4gIGlzQ2hhdFZpZXdWaXNpYmxlOiB0cnVlLFxufVxuXG5leHBvcnQgY29uc3QgdXNlQ2hhdHNTdG9yZSA9IGNyZWF0ZTxDaGF0c1N0YXRlICYgQ2hhdHNBY3Rpb25zPigoc2V0LCBnZXQpID0+ICh7XG4gIC4uLmluaXRpYWxTdGF0ZSxcblxuICBmZXRjaENoYXRzOiBhc3luYyAoeyBhZ2VudCwgc2VjdGlvbiwgbGltaXQgPSBERUZBVUxUX0xJTUlULCBvZmZzZXQgPSAwLCBvbkVycm9yLCBsYW5nLCBiYWNrZ3JvdW5kID0gZmFsc2UgfSkgPT4ge1xuICAgIGNvbnN0IGhhc0V4aXN0aW5nQ2hhdHMgPSBnZXQoKS5jaGF0cy5sZW5ndGggPiAwXG4gICAgaWYgKCFiYWNrZ3JvdW5kIHx8ICFoYXNFeGlzdGluZ0NoYXRzKSB7XG4gICAgICBzZXQoeyBsb2FkaW5nQ2hhdHM6IHRydWUgfSlcbiAgICB9XG4gICAgdHJ5IHtcbiAgICAgIGNvbnN0IHsgaXRlbXMsIG5leHRJdGVtLCBoYXNNb3JlLCB1bnJlYWRDb3VudCB9ID0gYXdhaXQgbWFpYS5DaGF0cy5nZXRDaGF0c0J5VXNlcklkKHtcbiAgICAgICAgYWdlbnQsXG4gICAgICAgIHNlY3Rpb24sXG4gICAgICAgIGxpbWl0LFxuICAgICAgICBvZmZzZXQsXG4gICAgICAgIGxhbmcsXG4gICAgICB9KVxuICAgICAgY29uc3QgbmV4dE9mZnNldCA9IGhhc01vcmUgJiYgbmV4dEl0ZW0gPyBOdW1iZXIobmV4dEl0ZW0pIDogbnVsbFxuICAgICAgY29uc3QgYXBpSXRlbXMgPSBpdGVtcyBhcyBDaGF0TGlzdEl0ZW1bXVxuICAgICAgY29uc3QgYXBpSWRzID0gbmV3IFNldChhcGlJdGVtcy5tYXAoaXRlbSA9PiBpdGVtLnNlc3Npb25FeHRlcm5hbElkKSlcbiAgICAgIGNvbnN0IHsgY2hhdHM6IGN1cnJlbnRDaGF0cywgb3B0aW1pc3RpY1Nlc3Npb25JZHMgfSA9IGdldCgpXG4gICAgICBjb25zdCBzdGlsbE9wdGltaXN0aWMgPSBjdXJyZW50Q2hhdHMuZmlsdGVyKFxuICAgICAgICBjaGF0ID0+IG9wdGltaXN0aWNTZXNzaW9uSWRzLmluY2x1ZGVzKGNoYXQuc2Vzc2lvbkV4dGVybmFsSWQpICYmICFhcGlJZHMuaGFzKGNoYXQuc2Vzc2lvbkV4dGVybmFsSWQpXG4gICAgICApXG4gICAgICBzZXQoe1xuICAgICAgICBjaGF0czogWy4uLnN0aWxsT3B0aW1pc3RpYywgLi4uYXBpSXRlbXNdLFxuICAgICAgICBvcHRpbWlzdGljU2Vzc2lvbklkczogb3B0aW1pc3RpY1Nlc3Npb25JZHMuZmlsdGVyKGlkID0+ICFhcGlJZHMuaGFzKGlkKSksXG4gICAgICAgIGxvYWRpbmdDaGF0czogZmFsc2UsXG4gICAgICAgIG5leHRPZmZzZXQsXG4gICAgICAgIGxpbWl0LFxuICAgICAgICBvZmZzZXQ6IG5leHRPZmZzZXQgPz8gMCxcbiAgICAgICAgdW5yZWFkQ291bnQsXG4gICAgICB9KVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBmZXRjaGluZyBjaGF0czonLCBlcnJvcilcbiAgICAgIHNldCh7IGxvYWRpbmdDaGF0czogZmFsc2UgfSlcbiAgICAgIG9uRXJyb3I/LigpXG4gICAgfVxuICB9LFxuXG4gIGxvYWRNb3JlQ2hhdHM6IGFzeW5jICh7IGFnZW50LCBzZWN0aW9uLCBvbkVycm9yLCBsYW5nIH0pID0+IHtcbiAgICBjb25zdCB7IG5leHRPZmZzZXQsIGxpbWl0LCBpc0xvYWRpbmdNb3JlQ2hhdHMgfSA9IGdldCgpXG4gICAgaWYgKG5leHRPZmZzZXQgPT09IG51bGwgfHwgaXNMb2FkaW5nTW9yZUNoYXRzKSByZXR1cm5cbiAgICBzZXQoeyBpc0xvYWRpbmdNb3JlQ2hhdHM6IHRydWUgfSlcbiAgICB0cnkge1xuICAgICAgY29uc3QgeyBpdGVtcywgbmV4dEl0ZW0sIGhhc01vcmUsIHVucmVhZENvdW50IH0gPSBhd2FpdCBtYWlhLkNoYXRzLmdldENoYXRzQnlVc2VySWQoe1xuICAgICAgICBhZ2VudCxcbiAgICAgICAgc2VjdGlvbixcbiAgICAgICAgbGltaXQsXG4gICAgICAgIG9mZnNldDogbmV4dE9mZnNldCxcbiAgICAgICAgbGFuZyxcbiAgICAgIH0pXG4gICAgICBjb25zdCBuZXdOZXh0T2Zmc2V0ID0gaGFzTW9yZSAmJiBuZXh0SXRlbSA/IE51bWJlcihuZXh0SXRlbSkgOiBudWxsXG4gICAgICBzZXQoc3RhdGUgPT4gKHtcbiAgICAgICAgY2hhdHM6IFsuLi5zdGF0ZS5jaGF0cywgLi4uKGl0ZW1zIGFzIENoYXRMaXN0SXRlbVtdKV0sXG4gICAgICAgIGlzTG9hZGluZ01vcmVDaGF0czogZmFsc2UsXG4gICAgICAgIG5leHRPZmZzZXQ6IG5ld05leHRPZmZzZXQsXG4gICAgICAgIG9mZnNldDogbmV3TmV4dE9mZnNldCA/PyAwLFxuICAgICAgICB1bnJlYWRDb3VudCxcbiAgICAgIH0pKVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBsb2FkaW5nIG1vcmUgY2hhdHM6JywgZXJyb3IpXG4gICAgICBzZXQoeyBpc0xvYWRpbmdNb3JlQ2hhdHM6IGZhbHNlIH0pXG4gICAgICBvbkVycm9yPy4oKVxuICAgIH1cbiAgfSxcblxuICBwcmVwZW5kQ2hhdDogY2hhdCA9PlxuICAgIHNldChzdGF0ZSA9PiB7XG4gICAgICBjb25zdCBmaWx0ZXJlZCA9IHN0YXRlLmNoYXRzLmZpbHRlcihleGlzdGluZyA9PiBleGlzdGluZy5zZXNzaW9uRXh0ZXJuYWxJZCAhPT0gY2hhdC5zZXNzaW9uRXh0ZXJuYWxJZClcbiAgICAgIGNvbnN0IGFscmVhZHlPcHRpbWlzdGljID0gc3RhdGUub3B0aW1pc3RpY1Nlc3Npb25JZHMuaW5jbHVkZXMoY2hhdC5zZXNzaW9uRXh0ZXJuYWxJZClcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGNoYXRzOiBbY2hhdCwgLi4uZmlsdGVyZWRdLFxuICAgICAgICBvcHRpbWlzdGljU2Vzc2lvbklkczogYWxyZWFkeU9wdGltaXN0aWNcbiAgICAgICAgICA/IHN0YXRlLm9wdGltaXN0aWNTZXNzaW9uSWRzXG4gICAgICAgICAgOiBbLi4uc3RhdGUub3B0aW1pc3RpY1Nlc3Npb25JZHMsIGNoYXQuc2Vzc2lvbkV4dGVybmFsSWRdLFxuICAgICAgfVxuICAgIH0pLFxuXG4gIGRlbGV0ZUNoYXQ6IGFzeW5jICh7IGNoYXRJZCwgdXNlcklkIH0pID0+IHtcbiAgICB0cnkge1xuICAgICAgYXdhaXQgbWFpYS5DaGF0cy5kZWxldGVDaGF0KHsgY2hhdElkLCB1c2VySWQgfSlcbiAgICAgIHNldChzdGF0ZSA9PiAoe1xuICAgICAgICBjaGF0czogc3RhdGUuY2hhdHMuZmlsdGVyKGNoYXQgPT4gY2hhdC5zZXNzaW9uRXh0ZXJuYWxJZCAhPT0gY2hhdElkKSxcbiAgICAgICAgb3B0aW1pc3RpY1Nlc3Npb25JZHM6IHN0YXRlLm9wdGltaXN0aWNTZXNzaW9uSWRzLmZpbHRlcihpZCA9PiBpZCAhPT0gY2hhdElkKSxcbiAgICAgIH0pKVxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgZGVsZXRpbmcgY2hhdDonLCBlcnJvcilcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgfSxcblxuICB1cGRhdGVDaGF0OiBhc3luYyBjaGF0ID0+IHtcbiAgICB0cnkge1xuICAgICAgY29uc3QgY3VycmVudCA9IGdldCgpLmNoYXRzLmZpbmQoYyA9PiBjLmlkID09PSBjaGF0LmlkKVxuICAgICAgY29uc3QgbGFzdFF1ZXN0aW9uID0gY3VycmVudD8udGl0bGUgPz8gY2hhdC50aXRsZSA/PyAnJ1xuICAgICAgYXdhaXQgbWFpYS5DaGF0cy5wYXRjaENoYXQoe1xuICAgICAgICBjaGF0SWQ6IGNoYXQuc2Vzc2lvbkV4dGVybmFsSWQsXG4gICAgICAgIGxhc3RRdWVzdGlvbixcbiAgICAgICAgLi4uKGNoYXQudGl0bGUgIT0gbnVsbCAmJiB7IHRpdGxlOiBjaGF0LnRpdGxlIH0pLFxuICAgICAgfSlcbiAgICAgIHNldChzdGF0ZSA9PiAoe1xuICAgICAgICBjaGF0czogc3RhdGUuY2hhdHMubWFwKGMgPT4gKGMuaWQgPT09IGNoYXQuaWQgPyB7IC4uLmMsIC4uLmNoYXQgfSA6IGMpKSxcbiAgICAgIH0pKVxuICAgICAgcmV0dXJuIHRydWVcbiAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgY29uc29sZS5lcnJvcignRXJyb3IgdXBkYXRpbmcgY2hhdDonLCBlcnJvcilcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIH1cbiAgfSxcblxuICBtYXJrQ2hhdEFzUmVhZDogYXN5bmMgKGNoYXRJZCwgb3B0aW9ucykgPT4ge1xuICAgIGNvbnN0IGlkID0gY2hhdElkIHx8IGdldCgpLmFjdGl2ZUNoYXRJZFxuICAgIGlmICghaWQpIHJldHVyblxuXG4gICAgY29uc3QgY2hhdCA9IGdldCgpLmNoYXRzLmZpbmQoYyA9PiBjLnNlc3Npb25FeHRlcm5hbElkID09PSBpZClcbiAgICBpZiAoIW9wdGlvbnM/LmZvcmNlICYmIGNoYXQ/LmlzUmVhZCkgcmV0dXJuXG5cbiAgICBpZiAoY2hhdD8uaXNSZWFkID09PSBmYWxzZSkge1xuICAgICAgc2V0KHN0YXRlID0+ICh7XG4gICAgICAgIGNoYXRzOiBzdGF0ZS5jaGF0cy5tYXAoYyA9PiAoYy5zZXNzaW9uRXh0ZXJuYWxJZCA9PT0gaWQgPyB7IC4uLmMsIGlzUmVhZDogdHJ1ZSB9IDogYykpLFxuICAgICAgICB1bnJlYWRDb3VudDogTWF0aC5tYXgoMCwgc3RhdGUudW5yZWFkQ291bnQgLSAxKSxcbiAgICAgIH0pKVxuICAgIH1cblxuICAgIHRyeSB7XG4gICAgICBhd2FpdCBtYWlhLkNoYXRzLm1hcmtTZXNzaW9uQXNSZWFkKHsgY2hhdElkOiBpZCB9KVxuICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICBjb25zb2xlLmVycm9yKCdFcnJvciBtYXJraW5nIGNoYXQgYXMgcmVhZDonLCBlcnJvcilcbiAgICB9XG4gIH0sXG5cbiAgbWFya0NoYXRBc1VucmVhZDogY2hhdElkID0+IHtcbiAgICBpZiAoIWNoYXRJZCkgcmV0dXJuXG4gICAgY29uc3QgY2hhdCA9IGdldCgpLmNoYXRzLmZpbmQoYyA9PiBjLnNlc3Npb25FeHRlcm5hbElkID09PSBjaGF0SWQpXG4gICAgaWYgKGNoYXQ/LmlzUmVhZCA9PT0gZmFsc2UpIHJldHVyblxuXG4gICAgc2V0KHN0YXRlID0+ICh7XG4gICAgICBjaGF0czogc3RhdGUuY2hhdHMubWFwKGMgPT4gKGMuc2Vzc2lvbkV4dGVybmFsSWQgPT09IGNoYXRJZCA/IHsgLi4uYywgaXNSZWFkOiBmYWxzZSB9IDogYykpLFxuICAgICAgdW5yZWFkQ291bnQ6IHN0YXRlLnVucmVhZENvdW50ICsgMSxcbiAgICB9KSlcbiAgfSxcblxuICBzZXRDaGF0UmVhZFN0YXRlOiAoY2hhdElkLCBpc1JlYWQpID0+XG4gICAgc2V0KHN0YXRlID0+ICh7XG4gICAgICBjaGF0czogc3RhdGUuY2hhdHMubWFwKGMgPT4gKGMuc2Vzc2lvbkV4dGVybmFsSWQgPT09IGNoYXRJZCA/IHsgLi4uYywgaXNSZWFkIH0gOiBjKSksXG4gICAgfSkpLFxuXG4gIHNldEFjdGl2ZUNoYXRJZDogY2hhdElkID0+IHNldCh7IGFjdGl2ZUNoYXRJZDogY2hhdElkIH0pLFxuXG4gIHNldENoYXRWaWV3VmlzaWJsZTogdmlzaWJsZSA9PiBzZXQoeyBpc0NoYXRWaWV3VmlzaWJsZTogdmlzaWJsZSB9KSxcblxuICBzZXRVbnJlYWRDb3VudDogY291bnQgPT4gc2V0KHsgdW5yZWFkQ291bnQ6IE1hdGgubWF4KDAsIGNvdW50KSB9KSxcblxuICByZXNldDogKCkgPT4gc2V0KHN0YXRlID0+ICh7IC4uLmluaXRpYWxTdGF0ZSwgbW91bnRDb3VudDogc3RhdGUubW91bnRDb3VudCB9KSksXG5cbiAgYWNxdWlyZTogKCkgPT4gc2V0KHN0YXRlID0+ICh7IG1vdW50Q291bnQ6IHN0YXRlLm1vdW50Q291bnQgKyAxIH0pKSxcblxuICByZWxlYXNlOiAoKSA9PiB7XG4gICAgc2V0KHN0YXRlID0+IHtcbiAgICAgIGNvbnN0IG5ld0NvdW50ID0gTWF0aC5tYXgoMCwgc3RhdGUubW91bnRDb3VudCAtIDEpXG4gICAgICBpZiAobmV3Q291bnQgPT09IDApIHtcbiAgICAgICAgcmV0dXJuIHsgLi4uaW5pdGlhbFN0YXRlLCBtb3VudENvdW50OiAwIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiB7IG1vdW50Q291bnQ6IG5ld0NvdW50IH1cbiAgICB9KVxuICB9LFxufSkpXG5cbmV4cG9ydCBjb25zdCBnZXRDaGF0c1N0b3JlU3RhdGUgPSAoKSA9PiB1c2VDaGF0c1N0b3JlLmdldFN0YXRlKClcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBQUE7QUFDQTtBQUNBLFNBQVNBLE1BQU0sUUFBUSxTQUFTO0FBQ2hDLE9BQU9DLElBQUksTUFBTSxrQkFBa0I7QUFHbkMsSUFBTUMsYUFBYSxHQUFHLEVBQUU7QUFrQ3hCLElBQU1DLFlBQXdCLEdBQUc7RUFDL0JDLEtBQUssRUFBRSxFQUFFO0VBQ1RDLG9CQUFvQixFQUFFLEVBQUU7RUFDeEJDLFlBQVksRUFBRSxJQUFJO0VBQ2xCQyxrQkFBa0IsRUFBRSxLQUFLO0VBQ3pCQyxVQUFVLEVBQUUsSUFBSTtFQUNoQkMsS0FBSyxFQUFFUCxhQUFhO0VBQ3BCUSxNQUFNLEVBQUUsQ0FBQztFQUNUQyxVQUFVLEVBQUUsQ0FBQztFQUNiQyxXQUFXLEVBQUUsQ0FBQztFQUNkQyxZQUFZLEVBQUUsSUFBSTtFQUNsQkMsaUJBQWlCLEVBQUU7QUFDckIsQ0FBQztBQUVELE9BQU8sSUFBTUMsYUFBYSxHQUFHZixNQUFNLENBQTRCLFVBQUNnQixHQUFHLEVBQUVDLEdBQUc7RUFBQSxPQUFBQyxhQUFBLENBQUFBLGFBQUEsS0FDbkVmLFlBQVk7SUFFZmdCLFVBQVU7TUFBQSxJQUFBQyxXQUFBLEdBQUFDLGlCQUFBLGNBQUFDLG1CQUFBLENBQUFDLElBQUEsQ0FBRSxTQUFBQyxRQUFBQyxJQUFBO1FBQUEsSUFBQUMsS0FBQSxFQUFBQyxPQUFBLEVBQUFDLFVBQUEsRUFBQW5CLEtBQUEsRUFBQW9CLFdBQUEsRUFBQW5CLE1BQUEsRUFBQW9CLE9BQUEsRUFBQUMsSUFBQSxFQUFBQyxlQUFBLEVBQUFDLFVBQUEsRUFBQUMsZ0JBQUEsRUFBQUMscUJBQUEsRUFBQUMsS0FBQSxFQUFBQyxRQUFBLEVBQUFDLE9BQUEsRUFBQTFCLFdBQUEsRUFBQUosVUFBQSxFQUFBK0IsUUFBQSxFQUFBQyxNQUFBLEVB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RSxHQUFHLENBQUM7UUFBRUgsWUFBWSxFQUFFOEU7TUFBTyxDQUFDLENBQUM7SUFBQTtJQUV4RG1DLGtCQUFrQixFQUFFLFNBQXBCQSxrQkFBa0JBLENBQUVDLE9BQU87TUFBQSxPQUFJL0csR0FBRyxDQUFDO1FBQUVGLGlCQUFpQixFQUFFaUg7TUFBUSxDQUFDLENBQUM7SUFBQTtJQUVsRUMsY0FBYyxFQUFFLFNBQWhCQSxjQUFjQSxDQUFFQyxLQUFLO01BQUEsT0FBSWpILEdBQUcsQ0FBQztRQUFFSixXQUFXLEVBQUUwRyxJQUFJLENBQUNDLEdBQUcsQ0FBQyxDQUFDLEVBQUVVLEtBQUs7TUFBRSxDQUFDLENBQUM7SUFBQTtJQUVqRUMsS0FBSyxFQUFFLFNBQVBBLEtBQUtBLENBQUE7TUFBQSxPQUFRbEgsR0FBRyxDQUFDLFVBQUFpRSxLQUFLO1FBQUEsT0FBQS9ELGFBQUEsQ0FBQUEsYUFBQSxLQUFVZixZQUFZO1VBQUVRLFVBQVUsRUFBRXNFLEtBQUssQ0FBQ3RFO1FBQVU7TUFBQSxDQUFHLENBQUM7SUFBQTtJQUU5RXdILE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBO01BQUEsT0FBUW5ILEdBQUcsQ0FBQyxVQUFBaUUsS0FBSztRQUFBLE9BQUs7VUFBRXRFLFVBQVUsRUFBRXNFLEtBQUssQ0FBQ3RFLFVBQVUsR0FBRztRQUFFLENBQUM7TUFBQSxDQUFDLENBQUM7SUFBQTtJQUVuRXlILE9BQU8sRUFBRSxTQUFUQSxPQUFPQSxDQUFBLEVBQVE7TUFDYnBILEdBQUcsQ0FBQyxVQUFBaUUsS0FBSyxFQUFJO1FBQ1gsSUFBTW9ELFFBQVEsR0FBR2YsSUFBSSxDQUFDQyxHQUFHLENBQUMsQ0FBQyxFQUFFdEMsS0FBSyxDQUFDdEUsVUFBVSxHQUFHLENBQUMsQ0FBQztRQUNsRCxJQUFJMEgsUUFBUSxLQUFLLENBQUMsRUFBRTtVQUNsQixPQUFBbkgsYUFBQSxDQUFBQSxhQUFBLEtBQVlmLFlBQVk7WUFBRVEsVUFBVSxFQUFFO1VBQUM7UUFDekM7UUFDQSxPQUFPO1VBQUVBLFVBQVUsRUFBRTBIO1FBQVMsQ0FBQztNQUNqQyxDQUFDLENBQUM7SUFDSjtFQUFDO0FBQUEsQ0FDRCxDQUFDO0FBRUgsT0FBTyxJQUFNQyxrQkFBa0IsR0FBRyxTQUFyQkEsa0JBQWtCQSxDQUFBO0VBQUEsT0FBU3ZILGFBQWEsQ0FBQ3dILFFBQVEsQ0FBQyxDQUFDO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -0,0 +1,111 @@
1
+ import _asyncToGenerator from "@babel/runtime/helpers/asyncToGenerator";
2
+ import _defineProperty from "@babel/runtime/helpers/defineProperty";
3
+ import _regeneratorRuntime from "@babel/runtime/regenerator";
4
+ 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; }
5
+ 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; }
6
+ import { create } from 'zustand';
7
+ import i18n from '../lang';
8
+ import { getUsage } from '../services/maia/Usage';
9
+ import { USAGE_QUOTA_EXCEEDED_CODE } from '../types/usage';
10
+ import { getUsageBlockedBannerText } from '../utils/usageBlockedMessage';
11
+ var initialState = {
12
+ usage: null,
13
+ blocked: false,
14
+ quotaExceededMessage: null,
15
+ loading: false,
16
+ fetched: false
17
+ };
18
+
19
+ /** Evita que un GET usage en vuelo pise un 402 más reciente. */
20
+ var fetchSeq = 0;
21
+ export var useUsageStore = create(function (set, get) {
22
+ return _objectSpread(_objectSpread({}, initialState), {}, {
23
+ fetchUsage: function () {
24
+ var _fetchUsage = _asyncToGenerator(/*#__PURE__*/_regeneratorRuntime.mark(function _callee() {
25
+ var seq, usage, _t;
26
+ return _regeneratorRuntime.wrap(function (_context) {
27
+ while (1) switch (_context.prev = _context.next) {
28
+ case 0:
29
+ fetchSeq += 1;
30
+ seq = fetchSeq;
31
+ set({
32
+ loading: true
33
+ });
34
+ _context.prev = 1;
35
+ _context.next = 2;
36
+ return getUsage(i18n.language);
37
+ case 2:
38
+ usage = _context.sent;
39
+ if (!(seq !== fetchSeq)) {
40
+ _context.next = 3;
41
+ break;
42
+ }
43
+ return _context.abrupt("return");
44
+ case 3:
45
+ set(_objectSpread({
46
+ usage: usage,
47
+ // Solo bloquear cuando el backend lo dice explícitamente (fail-open si falta).
48
+ blocked: usage.blocked === true,
49
+ loading: false,
50
+ fetched: true
51
+ }, usage.blocked === true ? {
52
+ quotaExceededMessage: getUsageBlockedBannerText()
53
+ } : {
54
+ quotaExceededMessage: null
55
+ }));
56
+ _context.next = 6;
57
+ break;
58
+ case 4:
59
+ _context.prev = 4;
60
+ _t = _context["catch"](1);
61
+ if (!(seq !== fetchSeq)) {
62
+ _context.next = 5;
63
+ break;
64
+ }
65
+ return _context.abrupt("return");
66
+ case 5:
67
+ // Fail-open: si usage no responde, no desbloquear un 402 ya aplicado.
68
+ console.error('Failed to fetch MAIA usage', _t);
69
+ set(function (state) {
70
+ return {
71
+ loading: false,
72
+ fetched: true,
73
+ blocked: state.blocked
74
+ };
75
+ });
76
+ case 6:
77
+ case "end":
78
+ return _context.stop();
79
+ }
80
+ }, _callee, null, [[1, 4]]);
81
+ }));
82
+ function fetchUsage() {
83
+ return _fetchUsage.apply(this, arguments);
84
+ }
85
+ return fetchUsage;
86
+ }(),
87
+ applyQuotaExceeded: function applyQuotaExceeded() {
88
+ // Invalida fetches en vuelo para que no limpien el bloqueo del 402.
89
+ fetchSeq += 1;
90
+ set({
91
+ blocked: true,
92
+ quotaExceededMessage: getUsageBlockedBannerText()
93
+ });
94
+ // Alinear el resto de la UI con el backend (race del pool compartido).
95
+ get().fetchUsage()["catch"](function () {
96
+ return undefined;
97
+ });
98
+ },
99
+ reset: function reset() {
100
+ fetchSeq += 1;
101
+ set(_objectSpread({}, initialState));
102
+ }
103
+ });
104
+ });
105
+ export var getUsageStoreState = function getUsageStoreState() {
106
+ return useUsageStore.getState();
107
+ };
108
+ export var isUsageQuotaExceededError = function isUsageQuotaExceededError(code) {
109
+ return code === USAGE_QUOTA_EXCEEDED_CODE;
110
+ };
111
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJjcmVhdGUiLCJpMThuIiwiZ2V0VXNhZ2UiLCJVU0FHRV9RVU9UQV9FWENFRURFRF9DT0RFIiwiZ2V0VXNhZ2VCbG9ja2VkQmFubmVyVGV4dCIsImluaXRpYWxTdGF0ZSIsInVzYWdlIiwiYmxvY2tlZCIsInF1b3RhRXhjZWVkZWRNZXNzYWdlIiwibG9hZGluZyIsImZldGNoZWQiLCJmZXRjaFNlcSIsInVzZVVzYWdlU3RvcmUiLCJzZXQiLCJnZXQiLCJfb2JqZWN0U3ByZWFkIiwiZmV0Y2hVc2FnZSIsIl9mZXRjaFVzYWdlIiwiX2FzeW5jVG9HZW5lcmF0b3IiLCJfcmVnZW5lcmF0b3JSdW50aW1lIiwibWFyayIsIl9jYWxsZWUiLCJzZXEiLCJfdCIsIndyYXAiLCJfY29udGV4dCIsInByZXYiLCJuZXh0IiwibGFuZ3VhZ2UiLCJzZW50IiwiYWJydXB0IiwiY29uc29sZSIsImVycm9yIiwic3RhdGUiLCJzdG9wIiwiYXBwbHkiLCJhcmd1bWVudHMiLCJhcHBseVF1b3RhRXhjZWVkZWQiLCJ1bmRlZmluZWQiLCJyZXNldCIsImdldFVzYWdlU3RvcmVTdGF0ZSIsImdldFN0YXRlIiwiaXNVc2FnZVF1b3RhRXhjZWVkZWRFcnJvciIsImNvZGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvc3RvcmUvdXNlVXNhZ2VTdG9yZS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGUgfSBmcm9tICd6dXN0YW5kJ1xuaW1wb3J0IGkxOG4gZnJvbSAnLi4vbGFuZydcbmltcG9ydCB7IGdldFVzYWdlIH0gZnJvbSAnLi4vc2VydmljZXMvbWFpYS9Vc2FnZSdcbmltcG9ydCB0eXBlIHsgTWFpYVVzYWdlIH0gZnJvbSAnLi4vdHlwZXMvdXNhZ2UnXG5pbXBvcnQgeyBVU0FHRV9RVU9UQV9FWENFRURFRF9DT0RFIH0gZnJvbSAnLi4vdHlwZXMvdXNhZ2UnXG5pbXBvcnQgeyBnZXRVc2FnZUJsb2NrZWRCYW5uZXJUZXh0IH0gZnJvbSAnLi4vdXRpbHMvdXNhZ2VCbG9ja2VkTWVzc2FnZSdcblxudHlwZSBVc2FnZVN0YXRlID0ge1xuICB1c2FnZTogTWFpYVVzYWdlIHwgbnVsbFxuICAvKiogRnVlbnRlIGRlIHZlcmRhZCBVSTogdHJ1ZSBzaSBHRVQgdXNhZ2UuYmxvY2tlZCBvIHRyYXMgNDAyIHVzYWdlX3F1b3RhX2V4Y2VlZGVkLiAqL1xuICBibG9ja2VkOiBib29sZWFuXG4gIC8qKiBUZXh0byBkZWwgY2FydGVsLCBzaWVtcHJlIGVuIGVsIGlkaW9tYSBkZSBsYSBhcHAgKG5vIGVsIG1lbnNhamUgY3J1ZG8gZGVsIDQwMikuICovXG4gIHF1b3RhRXhjZWVkZWRNZXNzYWdlOiBzdHJpbmcgfCBudWxsXG4gIGxvYWRpbmc6IGJvb2xlYW5cbiAgZmV0Y2hlZDogYm9vbGVhblxufVxuXG50eXBlIFVzYWdlQWN0aW9ucyA9IHtcbiAgZmV0Y2hVc2FnZTogKCkgPT4gUHJvbWlzZTx2b2lkPlxuICAvKiogTWFyY2EgYmxvcXVlbyBpbm1lZGlhdG8gcG9yIDQwMjsgcmVmcmVzY2EgdXNhZ2UgZW4gcGFyYWxlbG8uICovXG4gIGFwcGx5UXVvdGFFeGNlZWRlZDogKCkgPT4gdm9pZFxuICByZXNldDogKCkgPT4gdm9pZFxufVxuXG5jb25zdCBpbml0aWFsU3RhdGU6IFVzYWdlU3RhdGUgPSB7XG4gIHVzYWdlOiBudWxsLFxuICBibG9ja2VkOiBmYWxzZSxcbiAgcXVvdGFFeGNlZWRlZE1lc3NhZ2U6IG51bGwsXG4gIGxvYWRpbmc6IGZhbHNlLFxuICBmZXRjaGVkOiBmYWxzZSxcbn1cblxuLyoqIEV2aXRhIHF1ZSB1biBHRVQgdXNhZ2UgZW4gdnVlbG8gcGlzZSB1biA0MDIgbcOhcyByZWNpZW50ZS4gKi9cbmxldCBmZXRjaFNlcSA9IDBcblxuZXhwb3J0IGNvbnN0IHVzZVVzYWdlU3RvcmUgPSBjcmVhdGU8VXNhZ2VTdGF0ZSAmIFVzYWdlQWN0aW9ucz4oKHNldCwgZ2V0KSA9PiAoe1xuICAuLi5pbml0aWFsU3RhdGUsXG5cbiAgZmV0Y2hVc2FnZTogYXN5bmMgKCkgPT4ge1xuICAgIGZldGNoU2VxICs9IDFcbiAgICBjb25zdCBzZXEgPSBmZXRjaFNlcVxuICAgIHNldCh7IGxvYWRpbmc6IHRydWUgfSlcbiAgICB0cnkge1xuICAgICAgY29uc3QgdXNhZ2UgPSBhd2FpdCBnZXRVc2FnZShpMThuLmxhbmd1YWdlKVxuICAgICAgaWYgKHNlcSAhPT0gZmV0Y2hTZXEpIHJldHVyblxuXG4gICAgICBzZXQoe1xuICAgICAgICB1c2FnZSxcbiAgICAgICAgLy8gU29sbyBibG9xdWVhciBjdWFuZG8gZWwgYmFja2VuZCBsbyBkaWNlIGV4cGzDrWNpdGFtZW50ZSAoZmFpbC1vcGVuIHNpIGZhbHRhKS5cbiAgICAgICAgYmxvY2tlZDogdXNhZ2UuYmxvY2tlZCA9PT0gdHJ1ZSxcbiAgICAgICAgbG9hZGluZzogZmFsc2UsXG4gICAgICAgIGZldGNoZWQ6IHRydWUsXG4gICAgICAgIC4uLih1c2FnZS5ibG9ja2VkID09PSB0cnVlXG4gICAgICAgICAgPyB7IHF1b3RhRXhjZWVkZWRNZXNzYWdlOiBnZXRVc2FnZUJsb2NrZWRCYW5uZXJUZXh0KCkgfVxuICAgICAgICAgIDogeyBxdW90YUV4Y2VlZGVkTWVzc2FnZTogbnVsbCB9KSxcbiAgICAgIH0pXG4gICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgIGlmIChzZXEgIT09IGZldGNoU2VxKSByZXR1cm5cbiAgICAgIC8vIEZhaWwtb3Blbjogc2kgdXNhZ2Ugbm8gcmVzcG9uZGUsIG5vIGRlc2Jsb3F1ZWFyIHVuIDQwMiB5YSBhcGxpY2Fkby5cbiAgICAgIGNvbnNvbGUuZXJyb3IoJ0ZhaWxlZCB0byBmZXRjaCBNQUlBIHVzYWdlJywgZXJyb3IpXG4gICAgICBzZXQoc3RhdGUgPT4gKHtcbiAgICAgICAgbG9hZGluZzogZmFsc2UsXG4gICAgICAgIGZldGNoZWQ6IHRydWUsXG4gICAgICAgIGJsb2NrZWQ6IHN0YXRlLmJsb2NrZWQsXG4gICAgICB9KSlcbiAgICB9XG4gIH0sXG5cbiAgYXBwbHlRdW90YUV4Y2VlZGVkOiAoKSA9PiB7XG4gICAgLy8gSW52YWxpZGEgZmV0Y2hlcyBlbiB2dWVsbyBwYXJhIHF1ZSBubyBsaW1waWVuIGVsIGJsb3F1ZW8gZGVsIDQwMi5cbiAgICBmZXRjaFNlcSArPSAxXG4gICAgc2V0KHtcbiAgICAgIGJsb2NrZWQ6IHRydWUsXG4gICAgICBxdW90YUV4Y2VlZGVkTWVzc2FnZTogZ2V0VXNhZ2VCbG9ja2VkQmFubmVyVGV4dCgpLFxuICAgIH0pXG4gICAgLy8gQWxpbmVhciBlbCByZXN0byBkZSBsYSBVSSBjb24gZWwgYmFja2VuZCAocmFjZSBkZWwgcG9vbCBjb21wYXJ0aWRvKS5cbiAgICBnZXQoKVxuICAgICAgLmZldGNoVXNhZ2UoKVxuICAgICAgLmNhdGNoKCgpID0+IHVuZGVmaW5lZClcbiAgfSxcblxuICByZXNldDogKCkgPT4ge1xuICAgIGZldGNoU2VxICs9IDFcbiAgICBzZXQoeyAuLi5pbml0aWFsU3RhdGUgfSlcbiAgfSxcbn0pKVxuXG5leHBvcnQgY29uc3QgZ2V0VXNhZ2VTdG9yZVN0YXRlID0gKCkgPT4gdXNlVXNhZ2VTdG9yZS5nZXRTdGF0ZSgpXG5cbmV4cG9ydCBjb25zdCBpc1VzYWdlUXVvdGFFeGNlZWRlZEVycm9yID0gKGNvZGU/OiBzdHJpbmcpOiBib29sZWFuID0+IGNvZGUgPT09IFVTQUdFX1FVT1RBX0VYQ0VFREVEX0NPREVcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxTQUFTQSxNQUFNLFFBQVEsU0FBUztBQUNoQyxPQUFPQyxJQUFJLE1BQU0sU0FBUztBQUMxQixTQUFTQyxRQUFRLFFBQVEsd0JBQXdCO0FBRWpELFNBQVNDLHlCQUF5QixRQUFRLGdCQUFnQjtBQUMxRCxTQUFTQyx5QkFBeUIsUUFBUSw4QkFBOEI7QUFtQnhFLElBQU1DLFlBQXdCLEdBQUc7RUFDL0JDLEtBQUssRUFBRSxJQUFJO0VBQ1hDLE9BQU8sRUFBRSxLQUFLO0VBQ2RDLG9CQUFvQixFQUFFLElBQUk7RUFDMUJDLE9BQU8sRUFBRSxLQUFLO0VBQ2RDLE9BQU8sRUFBRTtBQUNYLENBQUM7O0FBRUQ7QUFDQSxJQUFJQyxRQUFRLEdBQUcsQ0FBQztBQUVoQixPQUFPLElBQU1DLGFBQWEsR0FBR1osTUFBTSxDQUE0QixVQUFDYSxHQUFHLEVBQUVDLEdBQUc7RUFBQSxPQUFBQyxhQUFBLENBQUFBLGFBQUEsS0FDbkVWLFlBQVk7SUFFZlcsVUFBVTtNQUFBLElBQUFDLFdBQUEsR0FBQUMsaUJBQUEsY0FBQUMsbUJBQUEsQ0FBQUMsSUFBQSxDQUFFLFNBQUFDLFFBQUE7UUFBQSxJQUFBQyxHQUFBLEVBQUFoQixLQUFBLEVBQUFpQixFQUFBO1FBQUEsT0FBQUosbUJBQUEsQ0FBQUssSUFBQSxXQUFBQyxRQUFBO1VBQUEsa0JBQUFBLFFBQUEsQ0FBQUMsSUFBQSxHQUFBRCxRQUFBLENBQUFFLElBQUE7WUFBQTtjQUNWaEIsUUFBUSxJQUFJLENBQUM7Y0FDUFcsR0FBRyxHQUFHWCxRQUFRO2NBQ3BCRSxHQUFHLENBQUM7Z0JBQUVKLE9BQU8sRUFBRTtjQUFLLENBQUMsQ0FBQztjQUFBZ0IsUUFBQSxDQUFBQyxJQUFBO2NBQUFELFFBQUEsQ0FBQUUsSUFBQTtjQUFBLE9BRUF6QixRQUFRLENBQUNELElBQUksQ0FBQzJCLFFBQVEsQ0FBQztZQUFBO2NBQXJDdEIsS0FBSyxHQUFBbUIsUUFBQSxDQUFBSSxJQUFBO2NBQUEsTUFDUFAsR0FBRyxLQUFLWCxRQUFRO2dCQUFBYyxRQUFBLENBQUFFLElBQUE7Z0JBQUE7Y0FBQTtjQUFBLE9BQUFGLFFBQUEsQ0FBQUssTUFBQTtZQUFBO2NBRXBCakIsR0FBRyxDQUFBRSxhQUFBO2dCQUNEVCxLQUFLLEVBQUxBLEtBQUs7Z0JBQ0w7Z0JBQ0FDLE9BQU8sRUFBRUQsS0FBSyxDQUFDQyxPQUFPLEtBQUssSUFBSTtnQkFDL0JFLE9BQU8sRUFBRSxLQUFLO2dCQUNkQyxPQUFPLEVBQUU7Y0FBSSxHQUNUSixLQUFLLENBQUNDLE9BQU8sS0FBSyxJQUFJLEdBQ3RCO2dCQUFFQyxvQkFBb0IsRUFBRUoseUJBQXlCLENBQUM7Y0FBRSxDQUFDLEdBQ3JEO2dCQUFFSSxvQkFBb0IsRUFBRTtjQUFLLENBQUMsQ0FDbkMsQ0FBQztjQUFBaUIsUUFBQSxDQUFBRSxJQUFBO2NBQUE7WUFBQTtjQUFBRixRQUFBLENBQUFDLElBQUE7Y0FBQUgsRUFBQSxHQUFBRSxRQUFBO2NBQUEsTUFFRUgsR0FBRyxLQUFLWCxRQUFRO2dCQUFBYyxRQUFBLENBQUFFLElBQUE7Z0JBQUE7Y0FBQTtjQUFBLE9BQUFGLFFBQUEsQ0FBQUssTUFBQTtZQUFBO2NBQ3BCO2NBQ0FDLE9BQU8sQ0FBQ0MsS0FBSyxDQUFDLDRCQUE0QixFQUFBVCxFQUFPLENBQUM7Y0FDbERWLEdBQUcsQ0FBQyxVQUFBb0IsS0FBSztnQkFBQSxPQUFLO2tCQUNaeEIsT0FBTyxFQUFFLEtBQUs7a0JBQ2RDLE9BQU8sRUFBRSxJQUFJO2tCQUNiSCxPQUFPLEVBQUUwQixLQUFLLENBQUMxQjtnQkFDakIsQ0FBQztjQUFBLENBQUMsQ0FBQztZQUFBO1lBQUE7Y0FBQSxPQUFBa0IsUUFBQSxDQUFBUyxJQUFBO1VBQUE7UUFBQSxHQUFBYixPQUFBO01BQUEsQ0FFTjtNQUFBLFNBNUJETCxVQUFVQSxDQUFBO1FBQUEsT0FBQUMsV0FBQSxDQUFBa0IsS0FBQSxPQUFBQyxTQUFBO01BQUE7TUFBQSxPQUFWcEIsVUFBVTtJQUFBLEdBNEJUO0lBRURxQixrQkFBa0IsRUFBRSxTQUFwQkEsa0JBQWtCQSxDQUFBLEVBQVE7TUFDeEI7TUFDQTFCLFFBQVEsSUFBSSxDQUFDO01BQ2JFLEdBQUcsQ0FBQztRQUNGTixPQUFPLEVBQUUsSUFBSTtRQUNiQyxvQkFBb0IsRUFBRUoseUJBQXlCLENBQUM7TUFDbEQsQ0FBQyxDQUFDO01BQ0Y7TUFDQVUsR0FBRyxDQUFDLENBQUMsQ0FDRkUsVUFBVSxDQUFDLENBQUMsU0FDUCxDQUFDO1FBQUEsT0FBTXNCLFNBQVM7TUFBQSxFQUFDO0lBQzNCLENBQUM7SUFFREMsS0FBSyxFQUFFLFNBQVBBLEtBQUtBLENBQUEsRUFBUTtNQUNYNUIsUUFBUSxJQUFJLENBQUM7TUFDYkUsR0FBRyxDQUFBRSxhQUFBLEtBQU1WLFlBQVksQ0FBRSxDQUFDO0lBQzFCO0VBQUM7QUFBQSxDQUNELENBQUM7QUFFSCxPQUFPLElBQU1tQyxrQkFBa0IsR0FBRyxTQUFyQkEsa0JBQWtCQSxDQUFBO0VBQUEsT0FBUzVCLGFBQWEsQ0FBQzZCLFFBQVEsQ0FBQyxDQUFDO0FBQUE7QUFFaEUsT0FBTyxJQUFNQyx5QkFBeUIsR0FBRyxTQUE1QkEseUJBQXlCQSxDQUFJQyxJQUFhO0VBQUEsT0FBY0EsSUFBSSxLQUFLeEMseUJBQXlCO0FBQUEiLCJpZ25vcmVMaXN0IjpbXX0=
package/lib/types/Chat.js CHANGED
@@ -7,4 +7,4 @@ export var ChatHistoryRole = /*#__PURE__*/function (ChatHistoryRole) {
7
7
  }({});
8
8
 
9
9
  // Backend pending_approval format (before transformation)
10
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDaGF0SGlzdG9yeVJvbGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvQ2hhdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB0eXBlIHsgUmVhc29uaW5nVHJhY2UsIFJlYXNvbmluZ1RyYWNlUGF5bG9hZCB9IGZyb20gJy4vcmVhc29uaW5nJ1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gJy4vUHJvamVjdCdcbmltcG9ydCB7IEF0dGFjaG1lbnRGaWxlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyJ1xuaW1wb3J0IHsgQ29udGV4dE1lc3NhZ2UgfSBmcm9tICcuL2NvbnRleHRNZW50aW9uJ1xuXG5leHBvcnQgdHlwZSBDaGF0SXRlbSA9IHtcbiAgY2hhdF9pZDogc3RyaW5nXG4gIGNoYXRfc3RhdHVzOiBzdHJpbmdcbiAgbGFzdF9xdWVzdGlvbjogc3RyaW5nXG4gIGxhc3RfcXVlc3Rpb25fZGF0ZTogc3RyaW5nXG4gIG1lc3NhZ2VfaWQ6IHN0cmluZ1xuICBxX2Fuc3dlcnM6IG51bWJlclxuICBnZW5lcmFsX3JhdGluZzogbnVtYmVyXG4gIHVzZXJfaWQ6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBDaGF0UmVzcG9uc2UgPSB7XG4gIGl0ZW1zOiBDaGF0SXRlbVtdXG4gIGxhc3RfZXZhbHVhdGVkX2tleTogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIENoYXQgPSB7XG4gIGlkOiBzdHJpbmdcbiAgdGl0bGU6IHN0cmluZ1xuICBkYXRlOiBEYXRlXG4gIGFnZW50X3R5cGU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgQ2hhdE1lc3NhZ2VVc2VyID0ge1xuICBpZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBhdmF0YXI/OiBzdHJpbmdcbiAgYXZhdGFySWNvbj86IFJlYWN0Tm9kZVxufVxuXG5leHBvcnQgZW51bSBDaGF0SGlzdG9yeVJvbGUge1xuICBVU0VSID0gJ3VzZXInLFxuICBBU1NJU1RBTlQgPSAnYXNzaXN0YW50Jyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQZW5kaW5nQWN0aW9uIHtcbiAgdG9vbF9uYW1lOiBzdHJpbmdcbiAgdG9vbF9jYWxsX2lkOiBzdHJpbmdcbiAgdG9vbF9hcmdzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgYW55W11cbiAgdGhyZWFkX2lkOiBzdHJpbmcgLy8gRWFjaCBhY3Rpb24gaGFzIGl0cyBvd24gdW5pcXVlIHRocmVhZF9pZFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwcHJvdmFsUmVxdWVzdCB7XG4gIHR5cGU6ICdhcHByb3ZhbF9yZXF1aXJlZCdcbiAgcGVuZGluZ19hY3Rpb25zOiBQZW5kaW5nQWN0aW9uW11cbiAgdG90YWxfYWN0aW9uczogbnVtYmVyXG4gIG9yaWdpbmFsX3RocmVhZF9pZDogc3RyaW5nIC8vIE9yaWdpbmFsIGNoZWNrcG9pbnQgdGhyZWFkX2lkXG4gIHNlc3Npb25faWQ6IHN0cmluZ1xuICBtZXRhZGF0YTogUmVjb3JkPHN0cmluZywgYW55PlxuICBtYW51YWxfYXBwcm92YWxfZGV0ZWN0ZWQ/OiBib29sZWFuXG4gIHdhcm5pbmdfbWVzc2FnZT86IHN0cmluZ1xuICBhdXRvX2FwcHJvdmVkPzogYm9vbGVhblxuICBhcHByb3ZhbF9zdGF0dXM/OiAncGVuZGluZycgfCAnYXBwcm92ZWQnXG4gIHJlYXNvbmluZz86IFJlYXNvbmluZ1RyYWNlUGF5bG9hZCB8IG51bGxcbn1cblxuLy8gQmFja2VuZCBwZW5kaW5nX2FwcHJvdmFsIGZvcm1hdCAoYmVmb3JlIHRyYW5zZm9ybWF0aW9uKVxuZXhwb3J0IGludGVyZmFjZSBCYWNrZW5kUGVuZGluZ0FwcHJvdmFsIHtcbiAgdHlwZTogJ2FwcHJvdmFsX3JlcXVpcmVkJ1xuICB0b29sX2NhbGxfaWQ6IHN0cmluZ1xuICB0b29sX25hbWU/OiBzdHJpbmdcbiAgdG9vbF9hcmdzPzogUmVjb3JkPHN0cmluZywgYW55PiB8IGFueVtdXG4gIG9yaWdpbmFsX3RocmVhZF9pZDogc3RyaW5nXG4gIHNlc3Npb25faWQ6IHN0cmluZ1xuICBtZXRhZGF0YTogUmVjb3JkPHN0cmluZywgYW55PlxuICBtYW51YWxfYXBwcm92YWxfZGV0ZWN0ZWQ/OiBib29sZWFuXG4gIHdhcm5pbmdfbWVzc2FnZT86IHN0cmluZ1xuICBhdXRvX2FwcHJvdmVkPzogYm9vbGVhblxufVxuXG5leHBvcnQgdHlwZSBDaGF0TWVzc2FnZSA9IHtcbiAgaWQ6IHN0cmluZ1xuICBtZXNzYWdlOiBzdHJpbmdcbiAgZGF0ZTogRGF0ZVxuICBpc0Vycm9yPzogYm9vbGVhblxuICBpc19jYW5jZWxsZWQ/OiBib29sZWFuXG4gIGlzRnJvbnRlbmRDYW5jZWxsZWQ/OiBib29sZWFuXG4gIHVzZXI6IENoYXRNZXNzYWdlVXNlclxuICBwcm9qZWN0SWQ/OiBudW1iZXIgfCBzdHJpbmdcbiAgcHJvamVjdE5hbWU/OiBzdHJpbmdcbiAgY2xpZW50SWQ/OiBudW1iZXIgfCBzdHJpbmdcbiAgY2xpZW50TmFtZT86IHN0cmluZ1xuICBpc0NoYW5nZVByb2plY3Q/OiBib29sZWFuXG4gIHByb2plY3Q/OiBQcm9qZWN0XG4gIGFnZW50SWQ/OiBzdHJpbmdcbiAgb3B0aW9ucz86IHtcbiAgICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gICAgbmFtZT86IHN0cmluZ1xuICB9W11cbiAgcm9sZT86IENoYXRIaXN0b3J5Um9sZVxuICBzb3VyY2VzPzogYW55XG4gIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXVxuICB3YXNIZWxwZnVsPzogYm9vbGVhbiB8IG51bGxcbiAgbWVtb3J5U2Vzc2lvbklkPzogc3RyaW5nXG4gIHN1Z2dlc3Rpb25zPzogc3RyaW5nW10gfCBudWxsXG4gIC8qKiBUcmFzIGFwcm9iYXIgY3JlYXRlX2FnZW50OiBhY2Npb25lcyByw6FwaWRhcyBlbiBlbCBtZW5zYWplIGZpbmFsOyByZXF1aWVyZSBhZ2VudElkIGRldGVjdGFkbyBlbiBlbCB0ZXh0byAqL1xuICBjcmVhdGVBZ2VudEZvbGxvd1VwPzogeyBhZ2VudElkOiBzdHJpbmcgfSB8IG51bGxcbiAgYXBwcm92YWw/OiBBcHByb3ZhbFJlcXVlc3RcbiAgYXBwcm92YWxTdGF0dXM/OiAncGVuZGluZycgfCAnYXBwcm92ZWQnIHwgJ3JlamVjdGVkJ1xuICBwcm9qZWN0TWV0YWRhdGE/OiB7XG4gICAgaXNfZGVsZXRlZD86IGJvb2xlYW4gfCBudWxsXG4gIH1cbiAgLyoqXG4gICAqIEVudGlkYWRlcyBtZW5jaW9uYWRhcyBjb24gYEBgIGVuIEVTRSBtZW5zYWplIHB1bnR1YWwuIE5vIHNlIHByb3BhZ2EgYWxcbiAgICogY29udGV4dG8gZ2xvYmFsIG5pIGEgb3Ryb3MgdHVybm9zOyBzw7NsbyB2aXZlIGFjw6EgcGFyYSBxdWUgZWwgcmVuZGVyZXJcbiAgICogcHVlZGEgcGludGFyIGNoaXBzIHkgcGFyYSBtYW5kYXJsbyBhbCBvcmNoZXN0cmF0b3IgdsOtYSBtZXRhZGF0YS5cbiAgICovXG4gIGNvbnRleHRNZXNzYWdlPzogQ29udGV4dE1lc3NhZ2VcbiAgcmVhc29uaW5nPzogUmVhc29uaW5nVHJhY2UgfCBudWxsXG59XG5cbmV4cG9ydCB0eXBlIENoYXRNZXNzYWdlSXRlbSA9IHtcbiAgY2hhdElkOiBzdHJpbmdcbiAgY2hhdFN0YXR1czogc3RyaW5nXG4gIGxhc3RRdWVzdGlvbjogc3RyaW5nXG4gIGxhc3RRdWVzdGlvbkRhdGU6IHN0cmluZ1xuICBtZXNzYWdlSWQ6IHN0cmluZ1xuICBxQW5zd2VyczogbnVtYmVyXG4gIGdlbmVyYWxSYXRpbmc6IG51bWJlclxuICB1c2VySWQ6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBDaGF0TWVzc2FnZUl0ZW1SZXNwb25zZSA9IHtcbiAgYWdlbnRfaWQ6IHN0cmluZ1xuICB1c2VyX2lkOiBzdHJpbmdcbiAgYW5zd2VyOiBzdHJpbmdcbiAgZGF0ZTogc3RyaW5nXG4gIHRpbWVzdGFtcDogc3RyaW5nXG4gIHF1ZXN0aW9uOiBzdHJpbmdcbiAgd2FzX2hlbHBmdWw6IGJvb2xlYW4gfCBudWxsXG4gIG1lc3NhZ2VfaWQ6IHN0cmluZ1xuICBtZW1vcnlfc2Vzc2lvbl9pZDogc3RyaW5nXG4gIHN1Z2dlc3Rpb25zPzogc3RyaW5nW10gfCBudWxsXG4gIHN1Z2dlc3RfcmVwbHk/OiBzdHJpbmdbXSB8IG51bGxcbiAgaXNfY2FuY2VsbGVkPzogYm9vbGVhblxuICByZWFzb25pbmc/OiBSZWFzb25pbmdUcmFjZVBheWxvYWQgfCBudWxsXG4gIHByb2plY3RfbWV0YWRhdGE/OiB7XG4gICAgaWQ6IG51bWJlciB8IHN0cmluZ1xuICAgIG5hbWU6IHN0cmluZ1xuICAgIGlzX2RlbGV0ZWQ/OiBib29sZWFuIHwgbnVsbFxuICB9XG4gIGNsaWVudF9tZXRhZGF0YT86IHtcbiAgICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gICAgbmFtZTogc3RyaW5nXG4gIH1cbiAgdGFza19tZXRhZGF0YT86IHtcbiAgICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gICAgbmFtZTogc3RyaW5nXG4gIH1cbiAgcHJvamVjdF9pZD86IG51bWJlclxuICBhdHRhY2htZW50cz86IEF0dGFjaG1lbnRGaWxlW11cbiAgc291cmNlcz86IHsgc291cmNlOiBzdHJpbmc7IHJlZmVyZW5jZTogc3RyaW5nIH1bXVxuICBzdGF0dXM/OiBzdHJpbmdcbiAgcGVuZGluZ19hcHByb3ZhbD86IEJhY2tlbmRQZW5kaW5nQXBwcm92YWxcbiAgdGhyZWFkX2lkPzogc3RyaW5nXG4gIC8qKiBTZXQgZGUgZW50aWRhZGVzIG1lbmNpb25hZGFzIGNvbiBgQGAgcXVlIGVsIHVzdWFyaW8gZW52acOzIGVuIGVzZSBtZW5zYWplICovXG4gIGNvbnRleHRfbWVzc2FnZT86IENvbnRleHRNZXNzYWdlXG59XG5cbmV4cG9ydCB0eXBlIENoYXRNZXNzYWdlc1Jlc3BvbnNlU2NoZW1hID0ge1xuICBpdGVtczogQ2hhdE1lc3NhZ2VJdGVtUmVzcG9uc2VbXVxuICBsYXN0X2V2YWx1YXRlZF9rZXk6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYXRIaXN0b3J5IHtcbiAgY29udGVudDogc3RyaW5nXG4gIHJvbGU6IENoYXRIaXN0b3J5Um9sZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYXRJdGVtUmVzcG9uc2Uge1xuICBhZ2VudF9uYW1lOiBzdHJpbmdcbiAgYWdlbnRfaWQ6IG51bWJlclxuICBhZ2VudF90eXBlPzogc3RyaW5nXG4gIGVtb2ppOiBzdHJpbmcgfCBudWxsXG4gIGlkOiBudW1iZXJcbiAgbGFzdF9xdWVzdGlvbjogc3RyaW5nXG4gIGxhc3RfcXVlc3Rpb25fZGF0ZTogc3RyaW5nXG4gIHNlc3Npb25fZXh0ZXJuYWxfaWQ6IHN0cmluZ1xuICB0aXRsZTogc3RyaW5nIHwgbnVsbFxuICBpc19yZWFkPzogYm9vbGVhblxuICBhdHRhY2htZW50czogQXR0YWNobWVudEZpbGVbXVxuICBwcm9qZWN0X21ldGFkYXRhPzoge1xuICAgIGlkOiBudW1iZXIgfCBzdHJpbmdcbiAgICBuYW1lOiBzdHJpbmdcbiAgfVxuICBjbGllbnRfbWV0YWRhdGE/OiB7XG4gICAgaWQ6IG51bWJlclxuICAgIG5hbWU6IHN0cmluZ1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhdHNSZXNwb25zZVNjaGVtYSB7XG4gIGRhdGE6IENoYXRJdGVtUmVzcG9uc2VbXVxuICBoYXNfbW9yZTogYm9vbGVhblxuICBuZXh0X29mZnNldDogbnVtYmVyIHwgbnVsbFxuICB1bnJlYWRfY291bnQ/OiBudW1iZXJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUYXNrSW5mbyB7XG4gIGlkOiBzdHJpbmdcbiAgdGl0bGU6IHN0cmluZ1xuICB1cmw6IHN0cmluZ1xuICBwcm9qZWN0TmFtZT86IHN0cmluZ1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTs7QUFxQ0EsV0FBWUEsZUFBZSwwQkFBZkEsZUFBZTtFQUFmQSxlQUFlO0VBQWZBLGVBQWU7RUFBQSxPQUFmQSxlQUFlO0FBQUE7O0FBMEIzQiIsImlnbm9yZUxpc3QiOltdfQ==
10
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDaGF0SGlzdG9yeVJvbGUiXSwic291cmNlcyI6WyIuLi8uLi9zcmMvdHlwZXMvQ2hhdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvbm8tZXhwbGljaXQtYW55ICovXG5pbXBvcnQgeyBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCdcbmltcG9ydCB0eXBlIHsgUmVhc29uaW5nVHJhY2UsIFJlYXNvbmluZ1RyYWNlUGF5bG9hZCB9IGZyb20gJy4vcmVhc29uaW5nJ1xuaW1wb3J0IHsgUHJvamVjdCB9IGZyb20gJy4vUHJvamVjdCdcbmltcG9ydCB7IEF0dGFjaG1lbnRGaWxlIH0gZnJvbSAnLi4vY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEZvb3Rlci9DaGF0Rm9vdGVyJ1xuaW1wb3J0IHsgQ29udGV4dE1lc3NhZ2UgfSBmcm9tICcuL2NvbnRleHRNZW50aW9uJ1xuXG5leHBvcnQgdHlwZSBDaGF0SXRlbSA9IHtcbiAgY2hhdF9pZDogc3RyaW5nXG4gIGNoYXRfc3RhdHVzOiBzdHJpbmdcbiAgbGFzdF9xdWVzdGlvbjogc3RyaW5nXG4gIGxhc3RfcXVlc3Rpb25fZGF0ZTogc3RyaW5nXG4gIG1lc3NhZ2VfaWQ6IHN0cmluZ1xuICBxX2Fuc3dlcnM6IG51bWJlclxuICBnZW5lcmFsX3JhdGluZzogbnVtYmVyXG4gIHVzZXJfaWQ6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBDaGF0UmVzcG9uc2UgPSB7XG4gIGl0ZW1zOiBDaGF0SXRlbVtdXG4gIGxhc3RfZXZhbHVhdGVkX2tleTogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIENoYXQgPSB7XG4gIGlkOiBzdHJpbmdcbiAgdGl0bGU6IHN0cmluZ1xuICBkYXRlOiBEYXRlXG4gIGFnZW50X3R5cGU/OiBzdHJpbmdcbn1cblxuZXhwb3J0IHR5cGUgQ2hhdE1lc3NhZ2VVc2VyID0ge1xuICBpZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBhdmF0YXI/OiBzdHJpbmdcbiAgYXZhdGFySWNvbj86IFJlYWN0Tm9kZVxufVxuXG5leHBvcnQgZW51bSBDaGF0SGlzdG9yeVJvbGUge1xuICBVU0VSID0gJ3VzZXInLFxuICBBU1NJU1RBTlQgPSAnYXNzaXN0YW50Jyxcbn1cblxuZXhwb3J0IGludGVyZmFjZSBQZW5kaW5nQWN0aW9uIHtcbiAgdG9vbF9uYW1lOiBzdHJpbmdcbiAgdG9vbF9jYWxsX2lkOiBzdHJpbmdcbiAgdG9vbF9hcmdzOiBSZWNvcmQ8c3RyaW5nLCBhbnk+IHwgYW55W11cbiAgdGhyZWFkX2lkOiBzdHJpbmcgLy8gRWFjaCBhY3Rpb24gaGFzIGl0cyBvd24gdW5pcXVlIHRocmVhZF9pZFxufVxuXG5leHBvcnQgaW50ZXJmYWNlIEFwcHJvdmFsUmVxdWVzdCB7XG4gIHR5cGU6ICdhcHByb3ZhbF9yZXF1aXJlZCdcbiAgcGVuZGluZ19hY3Rpb25zOiBQZW5kaW5nQWN0aW9uW11cbiAgdG90YWxfYWN0aW9uczogbnVtYmVyXG4gIG9yaWdpbmFsX3RocmVhZF9pZDogc3RyaW5nIC8vIE9yaWdpbmFsIGNoZWNrcG9pbnQgdGhyZWFkX2lkXG4gIHNlc3Npb25faWQ6IHN0cmluZ1xuICBtZXRhZGF0YTogUmVjb3JkPHN0cmluZywgYW55PlxuICBtYW51YWxfYXBwcm92YWxfZGV0ZWN0ZWQ/OiBib29sZWFuXG4gIHdhcm5pbmdfbWVzc2FnZT86IHN0cmluZ1xuICBhdXRvX2FwcHJvdmVkPzogYm9vbGVhblxuICBhcHByb3ZhbF9zdGF0dXM/OiAncGVuZGluZycgfCAnYXBwcm92ZWQnXG4gIHJlYXNvbmluZz86IFJlYXNvbmluZ1RyYWNlUGF5bG9hZCB8IG51bGxcbn1cblxuLy8gQmFja2VuZCBwZW5kaW5nX2FwcHJvdmFsIGZvcm1hdCAoYmVmb3JlIHRyYW5zZm9ybWF0aW9uKVxuZXhwb3J0IGludGVyZmFjZSBCYWNrZW5kUGVuZGluZ0FwcHJvdmFsIHtcbiAgdHlwZTogJ2FwcHJvdmFsX3JlcXVpcmVkJ1xuICB0b29sX2NhbGxfaWQ6IHN0cmluZ1xuICB0b29sX25hbWU/OiBzdHJpbmdcbiAgdG9vbF9hcmdzPzogUmVjb3JkPHN0cmluZywgYW55PiB8IGFueVtdXG4gIG9yaWdpbmFsX3RocmVhZF9pZDogc3RyaW5nXG4gIHNlc3Npb25faWQ6IHN0cmluZ1xuICBtZXRhZGF0YTogUmVjb3JkPHN0cmluZywgYW55PlxuICBtYW51YWxfYXBwcm92YWxfZGV0ZWN0ZWQ/OiBib29sZWFuXG4gIHdhcm5pbmdfbWVzc2FnZT86IHN0cmluZ1xuICBhdXRvX2FwcHJvdmVkPzogYm9vbGVhblxufVxuXG5leHBvcnQgdHlwZSBDaGF0TWVzc2FnZSA9IHtcbiAgaWQ6IHN0cmluZ1xuICBtZXNzYWdlOiBzdHJpbmdcbiAgZGF0ZTogRGF0ZVxuICBpc0Vycm9yPzogYm9vbGVhblxuICBpc19jYW5jZWxsZWQ/OiBib29sZWFuXG4gIGlzRnJvbnRlbmRDYW5jZWxsZWQ/OiBib29sZWFuXG4gIHVzZXI6IENoYXRNZXNzYWdlVXNlclxuICBwcm9qZWN0SWQ/OiBudW1iZXIgfCBzdHJpbmdcbiAgcHJvamVjdE5hbWU/OiBzdHJpbmdcbiAgY2xpZW50SWQ/OiBudW1iZXIgfCBzdHJpbmdcbiAgY2xpZW50TmFtZT86IHN0cmluZ1xuICBpc0NoYW5nZVByb2plY3Q/OiBib29sZWFuXG4gIHByb2plY3Q/OiBQcm9qZWN0XG4gIGFnZW50SWQ/OiBzdHJpbmdcbiAgb3B0aW9ucz86IHtcbiAgICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gICAgbmFtZT86IHN0cmluZ1xuICB9W11cbiAgcm9sZT86IENoYXRIaXN0b3J5Um9sZVxuICBzb3VyY2VzPzogYW55XG4gIGF0dGFjaG1lbnRzPzogQXR0YWNobWVudEZpbGVbXVxuICB3YXNIZWxwZnVsPzogYm9vbGVhbiB8IG51bGxcbiAgbWVtb3J5U2Vzc2lvbklkPzogc3RyaW5nXG4gIHN1Z2dlc3Rpb25zPzogc3RyaW5nW10gfCBudWxsXG4gIC8qKiBUcmFzIGFwcm9iYXIgY3JlYXRlX2FnZW50OiBhY2Npb25lcyByw6FwaWRhcyBlbiBlbCBtZW5zYWplIGZpbmFsOyByZXF1aWVyZSBhZ2VudElkIGRldGVjdGFkbyBlbiBlbCB0ZXh0byAqL1xuICBjcmVhdGVBZ2VudEZvbGxvd1VwPzogeyBhZ2VudElkOiBzdHJpbmcgfSB8IG51bGxcbiAgYXBwcm92YWw/OiBBcHByb3ZhbFJlcXVlc3RcbiAgYXBwcm92YWxTdGF0dXM/OiAncGVuZGluZycgfCAnYXBwcm92ZWQnIHwgJ3JlamVjdGVkJ1xuICBwcm9qZWN0TWV0YWRhdGE/OiB7XG4gICAgaXNfZGVsZXRlZD86IGJvb2xlYW4gfCBudWxsXG4gIH1cbiAgLyoqXG4gICAqIEVudGlkYWRlcyBtZW5jaW9uYWRhcyBjb24gYEBgIGVuIEVTRSBtZW5zYWplIHB1bnR1YWwuIE5vIHNlIHByb3BhZ2EgYWxcbiAgICogY29udGV4dG8gZ2xvYmFsIG5pIGEgb3Ryb3MgdHVybm9zOyBzw7NsbyB2aXZlIGFjw6EgcGFyYSBxdWUgZWwgcmVuZGVyZXJcbiAgICogcHVlZGEgcGludGFyIGNoaXBzIHkgcGFyYSBtYW5kYXJsbyBhbCBvcmNoZXN0cmF0b3IgdsOtYSBtZXRhZGF0YS5cbiAgICovXG4gIGNvbnRleHRNZXNzYWdlPzogQ29udGV4dE1lc3NhZ2VcbiAgcmVhc29uaW5nPzogUmVhc29uaW5nVHJhY2UgfCBudWxsXG59XG5cbmV4cG9ydCB0eXBlIENoYXRNZXNzYWdlSXRlbSA9IHtcbiAgY2hhdElkOiBzdHJpbmdcbiAgY2hhdFN0YXR1czogc3RyaW5nXG4gIGxhc3RRdWVzdGlvbjogc3RyaW5nXG4gIGxhc3RRdWVzdGlvbkRhdGU6IHN0cmluZ1xuICBtZXNzYWdlSWQ6IHN0cmluZ1xuICBxQW5zd2VyczogbnVtYmVyXG4gIGdlbmVyYWxSYXRpbmc6IG51bWJlclxuICB1c2VySWQ6IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBDaGF0TWVzc2FnZUl0ZW1SZXNwb25zZSA9IHtcbiAgYWdlbnRfaWQ6IHN0cmluZ1xuICB1c2VyX2lkOiBzdHJpbmdcbiAgYW5zd2VyOiBzdHJpbmdcbiAgZGF0ZTogc3RyaW5nXG4gIHRpbWVzdGFtcDogc3RyaW5nXG4gIHF1ZXN0aW9uOiBzdHJpbmdcbiAgd2FzX2hlbHBmdWw6IGJvb2xlYW4gfCBudWxsXG4gIG1lc3NhZ2VfaWQ6IHN0cmluZ1xuICBtZW1vcnlfc2Vzc2lvbl9pZDogc3RyaW5nXG4gIHN1Z2dlc3Rpb25zPzogc3RyaW5nW10gfCBudWxsXG4gIHN1Z2dlc3RfcmVwbHk/OiBzdHJpbmdbXSB8IG51bGxcbiAgaXNfY2FuY2VsbGVkPzogYm9vbGVhblxuICByZWFzb25pbmc/OiBSZWFzb25pbmdUcmFjZVBheWxvYWQgfCBudWxsXG4gIHByb2plY3RfbWV0YWRhdGE/OiB7XG4gICAgaWQ6IG51bWJlciB8IHN0cmluZ1xuICAgIG5hbWU6IHN0cmluZ1xuICAgIGlzX2RlbGV0ZWQ/OiBib29sZWFuIHwgbnVsbFxuICB9XG4gIGNsaWVudF9tZXRhZGF0YT86IHtcbiAgICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gICAgbmFtZTogc3RyaW5nXG4gIH1cbiAgdGFza19tZXRhZGF0YT86IHtcbiAgICBpZDogbnVtYmVyIHwgc3RyaW5nXG4gICAgbmFtZTogc3RyaW5nXG4gIH1cbiAgcHJvamVjdF9pZD86IG51bWJlclxuICBhdHRhY2htZW50cz86IEF0dGFjaG1lbnRGaWxlW11cbiAgc291cmNlcz86IHsgc291cmNlOiBzdHJpbmc7IHJlZmVyZW5jZTogc3RyaW5nIH1bXVxuICBzdGF0dXM/OiBzdHJpbmdcbiAgcGVuZGluZ19hcHByb3ZhbD86IEJhY2tlbmRQZW5kaW5nQXBwcm92YWxcbiAgdGhyZWFkX2lkPzogc3RyaW5nXG4gIC8qKiBTZXQgZGUgZW50aWRhZGVzIG1lbmNpb25hZGFzIGNvbiBgQGAgcXVlIGVsIHVzdWFyaW8gZW52acOzIGVuIGVzZSBtZW5zYWplICovXG4gIGNvbnRleHRfbWVzc2FnZT86IENvbnRleHRNZXNzYWdlXG59XG5cbmV4cG9ydCB0eXBlIENoYXRNZXNzYWdlc1Jlc3BvbnNlU2NoZW1hID0ge1xuICBpdGVtczogQ2hhdE1lc3NhZ2VJdGVtUmVzcG9uc2VbXVxuICBsYXN0X2V2YWx1YXRlZF9rZXk6IHN0cmluZ1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYXRIaXN0b3J5IHtcbiAgY29udGVudDogc3RyaW5nXG4gIHJvbGU6IENoYXRIaXN0b3J5Um9sZVxufVxuXG5leHBvcnQgaW50ZXJmYWNlIENoYXRJdGVtUmVzcG9uc2Uge1xuICBhZ2VudF9uYW1lOiBzdHJpbmdcbiAgYWdlbnRfaWQ6IG51bWJlclxuICBhZ2VudF90eXBlPzogc3RyaW5nXG4gIGVtb2ppOiBzdHJpbmcgfCBudWxsXG4gIGlkOiBudW1iZXJcbiAgbGFzdF9xdWVzdGlvbjogc3RyaW5nXG4gIGxhc3RfcXVlc3Rpb25fZGF0ZTogc3RyaW5nXG4gIHNlc3Npb25fZXh0ZXJuYWxfaWQ6IHN0cmluZ1xuICB0aXRsZTogc3RyaW5nIHwgbnVsbFxuICBpc19yZWFkPzogYm9vbGVhblxuICBhdHRhY2htZW50czogQXR0YWNobWVudEZpbGVbXVxuICBwcm9qZWN0X21ldGFkYXRhPzoge1xuICAgIGlkOiBudW1iZXIgfCBzdHJpbmdcbiAgICBuYW1lOiBzdHJpbmdcbiAgfVxuICBjbGllbnRfbWV0YWRhdGE/OiB7XG4gICAgaWQ6IG51bWJlclxuICAgIG5hbWU6IHN0cmluZ1xuICB9XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2hhdHNSZXNwb25zZVNjaGVtYSB7XG4gIGRhdGE6IENoYXRJdGVtUmVzcG9uc2VbXVxuICBoYXNfbW9yZTogYm9vbGVhblxuICBuZXh0X29mZnNldDogc3RyaW5nIHwgbnVsbFxuICB1bnJlYWRfY291bnQ/OiBudW1iZXJcbn1cblxuZXhwb3J0IGludGVyZmFjZSBUYXNrSW5mbyB7XG4gIGlkOiBzdHJpbmdcbiAgdGl0bGU6IHN0cmluZ1xuICB1cmw6IHN0cmluZ1xuICBwcm9qZWN0TmFtZT86IHN0cmluZ1xufVxuIl0sIm1hcHBpbmdzIjoiQUFBQTs7QUFxQ0EsV0FBWUEsZUFBZSwwQkFBZkEsZUFBZTtFQUFmQSxlQUFlO0VBQWZBLGVBQWU7RUFBQSxPQUFmQSxlQUFlO0FBQUE7O0FBMEIzQiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL0ZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uID0ge1xuICBpZDogc3RyaW5nXG4gIHRpdGxlOiBzdHJpbmdcbiAgcHJvbXB0OiBzdHJpbmdcbiAgbGFuZ3VhZ2U6IHN0cmluZ1xuICBjYXRlZ29yeTogc3RyaW5nIHwgbnVsbFxuICAvKiogT3JkZW4gZGUgYXBhcmljacOzbiBlbiBsYSBVSSAodmllbmUgZW4gbGEgcmVzcHVlc3RhIGRlIGxhIEFQSSkgKi9cbiAgb3JkZXI/OiBudW1iZXJcbiAgYWdlbnRfaWQ/OiBudW1iZXJcbiAgY29tcGFueV9pZD86IHN0cmluZyB8IG51bGxcbiAgY3JlYXRlZF9ieT86IG51bWJlciB8IG51bGxcbiAgY3JlYXRlZF9hdD86IHN0cmluZ1xuICB1cGRhdGVkX2F0Pzogc3RyaW5nXG4gIGlzX2RlbGV0ZWQ/OiBib29sZWFuXG4gIGRlbGV0ZWRfYXQ/OiBzdHJpbmcgfCBudWxsXG59XG5cbmV4cG9ydCB0eXBlIEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uUmVzcG9uc2UgPSB7XG4gIGRhdGE6IEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uW11cbiAgaGFzX21vcmU6IGJvb2xlYW5cbiAgbmV4dF9vZmZzZXQ6IG51bWJlciB8IG51bGxcbn1cbiJdLCJtYXBwaW5ncyI6IiIsImlnbm9yZUxpc3QiOltdfQ==
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL0ZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uID0ge1xuICBpZDogc3RyaW5nXG4gIHRpdGxlOiBzdHJpbmdcbiAgcHJvbXB0OiBzdHJpbmdcbiAgbGFuZ3VhZ2U6IHN0cmluZ1xuICBjYXRlZ29yeTogc3RyaW5nIHwgbnVsbFxuICAvKiogT3JkZW4gZGUgYXBhcmljacOzbiBlbiBsYSBVSSAodmllbmUgZW4gbGEgcmVzcHVlc3RhIGRlIGxhIEFQSSkgKi9cbiAgb3JkZXI/OiBudW1iZXJcbiAgYWdlbnRfaWQ/OiBudW1iZXJcbiAgY29tcGFueV9pZD86IHN0cmluZyB8IG51bGxcbiAgY3JlYXRlZF9ieT86IG51bWJlciB8IG51bGxcbiAgY3JlYXRlZF9hdD86IHN0cmluZ1xuICB1cGRhdGVkX2F0Pzogc3RyaW5nXG4gIGlzX2RlbGV0ZWQ/OiBib29sZWFuXG4gIGRlbGV0ZWRfYXQ/OiBzdHJpbmcgfCBudWxsXG59XG5cbmV4cG9ydCB0eXBlIEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uUmVzcG9uc2UgPSB7XG4gIGRhdGE6IEZyZXF1ZW50bHlBc2tlZFF1ZXN0aW9uW11cbiAgaGFzX21vcmU6IGJvb2xlYW5cbiAgbmV4dF9vZmZzZXQ6IHN0cmluZyB8IG51bGxcbn1cbiJdLCJtYXBwaW5ncyI6IiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2FnZW50TW9kYWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2xpZW50Rm9ybURhdGEgfSBmcm9tICcuLi9jb21wb25lbnRzL21vbGVjdWxlcy9BYm1TZWN0aW9uL0FibUFjY2Vzc2liaWxpdHlTZWN0aW9uL0FibUFjY2Vzc2liaWxpdHlTZWN0aW9uLmludGVyZmFjZSdcbmltcG9ydCB7IEFnZW50TW9kZWwgfSBmcm9tICcuL2FnZW50J1xuaW1wb3J0IHsgQXR0YWNobWVudEZpbGUgfSBmcm9tICcuLi9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0Rm9vdGVyL0NoYXRGb290ZXInXG5pbXBvcnQgeyBDb3JBY2Nlc3MgfSBmcm9tICcuLi91dGlscy9ub3JtYWxpemVBZ2VudENvbm5lY3RvcnMnXG5cbmV4cG9ydCB0eXBlIE1vZGFsVmFsdWVzID0ge1xuICBpc0VkaXRpbmc6IGJvb2xlYW5cbiAga25vd2xlZGdlOiBBdHRhY2htZW50RmlsZVtdXG4gIGdlbmVyYWw6IHtcbiAgICBuYW1lOiBzdHJpbmdcbiAgICBlbW9qaTogc3RyaW5nXG4gICAgaW50cm9kdWN0aW9uOiBzdHJpbmdcbiAgICBpbnB1dFBsYWNlaG9sZGVyOiBzdHJpbmdcbiAgICBpc0FjdGl2ZTogYm9vbGVhblxuICAgIGFpTW9kZWw6IEFnZW50TW9kZWwgfCBudWxsXG4gICAgaWQ6IG51bWJlciB8IG51bGxcbiAgICB1c2VyUHJvbXB0OiBzdHJpbmcgfCBudWxsXG4gICAga25vd2xlZGdlQmFzZXM6IHN0cmluZ1tdXG4gICAgaXNfZmF2b3JpdGU/OiBib29sZWFuXG4gICAgY3JlYXRlZF9ieT86IHtcbiAgICAgIG5hbWU6IHN0cmluZ1xuICAgICAgaXNfZGVsZXRlZDogYm9vbGVhblxuICAgIH1cbiAgfVxuICBhY2Nlc3NpYmlsaXR5OiB7XG4gICAgYWNjZXNzVHlwZTogJ2NvbXBhbnknIHwgJ2NsaWVudHMnIHwgJ29ubHlfbWUnXG4gICAgY2xpZW50cz86IENsaWVudEZvcm1EYXRhW10gfCBudWxsXG4gICAgLyoqIFBlcm1pc29zIGRlIGxvcyAzIGNvbmVjdG9yZXMgQ09SOiBjbGllbnRlcywgcHJveWVjdG9zLCB0YXJlYXMgKi9cbiAgICBjb3JBY2Nlc3M/OiBDb3JBY2Nlc3NcbiAgfVxufVxuIl0sIm1hcHBpbmdzIjoiIiwiaWdub3JlTGlzdCI6W119
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL2FnZW50TW9kYWwudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2xpZW50Rm9ybURhdGEgfSBmcm9tICcuLi9jb21wb25lbnRzL21vbGVjdWxlcy9BYm1TZWN0aW9uL0FibUFjY2Vzc2liaWxpdHlTZWN0aW9uL0FibUFjY2Vzc2liaWxpdHlTZWN0aW9uLmludGVyZmFjZSdcbmltcG9ydCB7IEFnZW50TW9kZWwgfSBmcm9tICcuL2FnZW50J1xuaW1wb3J0IHsgQXR0YWNobWVudEZpbGUgfSBmcm9tICcuLi9jb21wb25lbnRzL21vbGVjdWxlcy9DaGF0Rm9vdGVyL0NoYXRGb290ZXInXG5cbmV4cG9ydCB0eXBlIE1vZGFsVmFsdWVzID0ge1xuICBpc0VkaXRpbmc6IGJvb2xlYW5cbiAga25vd2xlZGdlOiBBdHRhY2htZW50RmlsZVtdXG4gIGdlbmVyYWw6IHtcbiAgICBuYW1lOiBzdHJpbmdcbiAgICBlbW9qaTogc3RyaW5nXG4gICAgaW50cm9kdWN0aW9uOiBzdHJpbmdcbiAgICBpbnB1dFBsYWNlaG9sZGVyOiBzdHJpbmdcbiAgICBpc0FjdGl2ZTogYm9vbGVhblxuICAgIGFpTW9kZWw6IEFnZW50TW9kZWwgfCBudWxsXG4gICAgaWQ6IG51bWJlciB8IG51bGxcbiAgICB1c2VyUHJvbXB0OiBzdHJpbmcgfCBudWxsXG4gICAga25vd2xlZGdlQmFzZXM6IHN0cmluZ1tdXG4gICAgaXNfZmF2b3JpdGU/OiBib29sZWFuXG4gICAgY3JlYXRlZF9ieT86IHtcbiAgICAgIG5hbWU6IHN0cmluZ1xuICAgICAgaXNfZGVsZXRlZDogYm9vbGVhblxuICAgIH1cbiAgfVxuICBhY2Nlc3NpYmlsaXR5OiB7XG4gICAgYWNjZXNzVHlwZTogJ2NvbXBhbnknIHwgJ2NsaWVudHMnIHwgJ29ubHlfbWUnXG4gICAgY2xpZW50cz86IENsaWVudEZvcm1EYXRhW10gfCBudWxsXG4gICAgLyoqIFBlcm1pc28gZGUgY29uZWN0b3IgQ09SOiBhY2Nlc28gYSB0YXJlYXMgKi9cbiAgICB0YXNrQWNjZXNzPzogYm9vbGVhblxuICB9XG59XG4iXSwibWFwcGluZ3MiOiIiLCJpZ25vcmVMaXN0IjpbXX0=
@@ -1,2 +1,2 @@
1
1
  export {};
2
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3NraWxsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFNraWxsQWNjZXNzVHlwZSA9ICdvbmx5X21lJyB8ICdjb21wYW55J1xuXG5leHBvcnQgdHlwZSBTa2lsbCA9IHtcbiAgaWQ6IHN0cmluZ1xuICBuYW1lOiBzdHJpbmdcbiAgZGVzY3JpcHRpb246IHN0cmluZ1xuICBjb250ZW50OiBzdHJpbmdcbiAgYWNjZXNzX3R5cGU/OiBTa2lsbEFjY2Vzc1R5cGVcbiAgY3JlYXRlZF9ieV9uYW1lPzogc3RyaW5nXG4gIGNyZWF0ZWRfYXQ/OiBzdHJpbmdcbiAgdXBkYXRlZF9hdD86IHN0cmluZ1xufVxuXG5leHBvcnQgdHlwZSBTa2lsbHNSZXNwb25zZSA9IHtcbiAgZGF0YTogU2tpbGxbXVxuICBoYXNfbW9yZT86IGJvb2xlYW5cbiAgbmV4dF9vZmZzZXQ/OiBudW1iZXIgfCBudWxsXG59XG4iXSwibWFwcGluZ3MiOiIiLCJpZ25vcmVMaXN0IjpbXX0=
2
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3NraWxsLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCB0eXBlIFNraWxsID0ge1xuICBpZDogc3RyaW5nXG4gIG5hbWU6IHN0cmluZ1xuICBjb250ZW50OiBzdHJpbmdcbiAgY3JlYXRlZF9hdD86IHN0cmluZ1xuICB1cGRhdGVkX2F0Pzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIFNraWxsc1Jlc3BvbnNlID0ge1xuICBkYXRhOiBTa2lsbFtdXG4gIGhhc19tb3JlPzogYm9vbGVhblxuICBuZXh0X29mZnNldD86IG51bWJlciB8IG51bGxcbn1cbiJdLCJtYXBwaW5ncyI6IiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -0,0 +1,9 @@
1
+ /**
2
+ * Respuesta de GET /v1/usage (pool de tokens por company).
3
+ * `blocked` es la fuente de verdad del FE — no recomputar por consumed vs granted.
4
+ */
5
+
6
+ /** Detail body de POST orchestrator cuando HTTP 402 + code usage_quota_exceeded. */
7
+
8
+ export var USAGE_QUOTA_EXCEEDED_CODE = 'usage_quota_exceeded';
9
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJVU0FHRV9RVU9UQV9FWENFRURFRF9DT0RFIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3R5cGVzL3VzYWdlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qKlxuICogUmVzcHVlc3RhIGRlIEdFVCAvdjEvdXNhZ2UgKHBvb2wgZGUgdG9rZW5zIHBvciBjb21wYW55KS5cbiAqIGBibG9ja2VkYCBlcyBsYSBmdWVudGUgZGUgdmVyZGFkIGRlbCBGRSDigJQgbm8gcmVjb21wdXRhciBwb3IgY29uc3VtZWQgdnMgZ3JhbnRlZC5cbiAqL1xuZXhwb3J0IHR5cGUgTWFpYVVzYWdlID0ge1xuICBjb21wYW55X2lkOiBzdHJpbmdcbiAgcGVyaW9kX3N0YXJ0OiBzdHJpbmdcbiAgcGVyaW9kX2VuZDogc3RyaW5nXG4gIHNlYXRzOiBudW1iZXJcbiAgdXNkX3Blcl9zZWF0OiBudW1iZXJcbiAgZ3JhbnRlZF91c2Q6IG51bWJlclxuICBjb25zdW1lZF91c2Q6IG51bWJlclxuICByZW1haW5pbmdfdXNkOiBudW1iZXJcbiAgcGN0OiBudW1iZXJcbiAgYmxvY2tlZDogYm9vbGVhblxuICBjb25zdW1lZF90b2tlbnM6IG51bWJlclxuICBvbl9kZW1hbmRfZ3JhbnRlZF91c2Q6IG51bWJlclxuICBvbl9kZW1hbmRfY29uc3VtZWRfdXNkOiBudW1iZXJcbiAgc2VhdHNfa25vd246IGJvb2xlYW5cbiAgZW5mb3JjZW1lbnRfZW5hYmxlZDogYm9vbGVhblxufVxuXG4vKiogRGV0YWlsIGJvZHkgZGUgUE9TVCBvcmNoZXN0cmF0b3IgY3VhbmRvIEhUVFAgNDAyICsgY29kZSB1c2FnZV9xdW90YV9leGNlZWRlZC4gKi9cbmV4cG9ydCB0eXBlIFVzYWdlUXVvdGFFeGNlZWRlZERldGFpbCA9IHtcbiAgbWVzc2FnZTogc3RyaW5nXG4gIGNvZGU6ICd1c2FnZV9xdW90YV9leGNlZWRlZCdcbiAgZ3JhbnRlZF91c2Q/OiBudW1iZXJcbiAgY29uc3VtZWRfdXNkPzogbnVtYmVyXG4gIHBlcmlvZF9lbmQ/OiBzdHJpbmdcbn1cblxuZXhwb3J0IGNvbnN0IFVTQUdFX1FVT1RBX0VYQ0VFREVEX0NPREUgPSAndXNhZ2VfcXVvdGFfZXhjZWVkZWQnIGFzIGNvbnN0XG4iXSwibWFwcGluZ3MiOiJBQUFBO0FBQ0E7QUFDQTtBQUNBOztBQW1CQTs7QUFTQSxPQUFPLElBQU1BLHlCQUF5QixHQUFHLHNCQUErQiIsImlnbm9yZUxpc3QiOltdfQ==
@@ -5,10 +5,12 @@ export var TYPE_TO_TRIGGER_SEQUENCE = {
5
5
  task: 2,
6
6
  project: 3,
7
7
  client: 4,
8
- /** Triggers con slash: @@/ mcp (atRunLength negativo en el editor) */
8
+ /** Triggers con slash: @/ skills, @@/ mcp (atRunLength negativo en el editor) */
9
+ skill: -1,
9
10
  mcp: -2
10
11
  };
11
12
  export var getMentionTabPrefix = function getMentionTabPrefix(type) {
13
+ if (type === 'skill') return '@/';
12
14
  var mapped = TYPE_TO_TRIGGER_SEQUENCE[type];
13
15
  if (mapped === undefined) return '@';
14
16
  if (mapped < 0) return "".concat('@'.repeat(Math.abs(mapped)), "/");
@@ -16,6 +18,7 @@ export var getMentionTabPrefix = function getMentionTabPrefix(type) {
16
18
  };
17
19
  export var getAtRunTabTypes = function getAtRunTabTypes(allowedTypes) {
18
20
  return allowedTypes.filter(function (type) {
21
+ if (type === 'skill') return false;
19
22
  var mapped = TYPE_TO_TRIGGER_SEQUENCE[type];
20
23
  return mapped === undefined || mapped > 0;
21
24
  });
@@ -48,4 +51,4 @@ export var getTriggerSequenceFromType = function getTriggerSequenceFromType(type
48
51
  var idx = allowedTypes.indexOf(type);
49
52
  return idx >= 0 ? idx + 1 : 1;
50
53
  };
51
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUWVBFX1RPX1RSSUdHRVJfU0VRVUVOQ0UiLCJ1c2VyIiwidGFzayIsInByb2plY3QiLCJjbGllbnQiLCJtY3AiLCJnZXRNZW50aW9uVGFiUHJlZml4IiwidHlwZSIsIm1hcHBlZCIsInVuZGVmaW5lZCIsImNvbmNhdCIsInJlcGVhdCIsIk1hdGgiLCJhYnMiLCJnZXRBdFJ1blRhYlR5cGVzIiwiYWxsb3dlZFR5cGVzIiwiZmlsdGVyIiwiZ2V0VHlwZUZyb21UcmlnZ2VyU2VxdWVuY2UiLCJhdFJ1bkxlbmd0aCIsImRlZmF1bHRUeXBlIiwiX09iamVjdCRlbnRyaWVzJGZpbmQkMiIsIl9PYmplY3QkZW50cmllcyRmaW5kMiIsIl9hbGxvd2VkVHlwZXMkdGFiSWR4IiwiX09iamVjdCRlbnRyaWVzJGZpbmQkIiwiX09iamVjdCRlbnRyaWVzJGZpbmQiLCJzbGFzaFR5cGUiLCJPYmplY3QiLCJlbnRyaWVzIiwiZmluZCIsIl9yZWYiLCJfcmVmMiIsIl9zbGljZWRUb0FycmF5IiwibGVuIiwiaW5jbHVkZXMiLCJub3JtYWxpemVkIiwibWF4IiwiZmxvb3IiLCJtYXBwZWRUeXBlIiwiX3JlZjMiLCJfcmVmNCIsInRhYklkeCIsIm1pbiIsImxlbmd0aCIsImdldFRyaWdnZXJTZXF1ZW5jZUZyb21UeXBlIiwiaWR4IiwiaW5kZXhPZiJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9jb250ZXh0TWVudGlvblRyaWdnZXJzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IENvbnRleHRFbnRpdHlUeXBlIH0gZnJvbSAnLi4vdHlwZXMvY29udGV4dE1lbnRpb24nXG5cbi8qKiBTZWN1ZW5jaWEgZGUgYEBgIChwb3NpdGl2YSkgbyBgQC9gL2BAQC9g4oCmIChuZWdhdGl2YSA9IHJ1biBkZSBAICsgc2xhc2gpIHBvciB0aXBvIGRlIHRhYi4gKi9cbmV4cG9ydCBjb25zdCBUWVBFX1RPX1RSSUdHRVJfU0VRVUVOQ0U6IFBhcnRpYWw8UmVjb3JkPENvbnRleHRFbnRpdHlUeXBlLCBudW1iZXI+PiA9IHtcbiAgdXNlcjogMSxcbiAgdGFzazogMixcbiAgcHJvamVjdDogMyxcbiAgY2xpZW50OiA0LFxuICAvKiogVHJpZ2dlcnMgY29uIHNsYXNoOiBAQC8gbWNwIChhdFJ1bkxlbmd0aCBuZWdhdGl2byBlbiBlbCBlZGl0b3IpICovXG4gIG1jcDogLTIsXG59XG5cbmV4cG9ydCBjb25zdCBnZXRNZW50aW9uVGFiUHJlZml4ID0gKHR5cGU6IENvbnRleHRFbnRpdHlUeXBlKTogc3RyaW5nID0+IHtcbiAgY29uc3QgbWFwcGVkID0gVFlQRV9UT19UUklHR0VSX1NFUVVFTkNFW3R5cGVdXG4gIGlmIChtYXBwZWQgPT09IHVuZGVmaW5lZCkgcmV0dXJuICdAJ1xuICBpZiAobWFwcGVkIDwgMCkgcmV0dXJuIGAkeydAJy5yZXBlYXQoTWF0aC5hYnMobWFwcGVkKSl9L2BcbiAgcmV0dXJuICdAJy5yZXBlYXQobWFwcGVkKVxufVxuXG5leHBvcnQgY29uc3QgZ2V0QXRSdW5UYWJUeXBlcyA9IChhbGxvd2VkVHlwZXM6IENvbnRleHRFbnRpdHlUeXBlW10pOiBDb250ZXh0RW50aXR5VHlwZVtdID0+XG4gIGFsbG93ZWRUeXBlcy5maWx0ZXIodHlwZSA9PiB7XG4gICAgY29uc3QgbWFwcGVkID0gVFlQRV9UT19UUklHR0VSX1NFUVVFTkNFW3R5cGVdXG4gICAgcmV0dXJuIG1hcHBlZCA9PT0gdW5kZWZpbmVkIHx8IG1hcHBlZCA+IDBcbiAgfSlcblxuZXhwb3J0IGNvbnN0IGdldFR5cGVGcm9tVHJpZ2dlclNlcXVlbmNlID0gKFxuICBhdFJ1bkxlbmd0aDogbnVtYmVyLFxuICBhbGxvd2VkVHlwZXM6IENvbnRleHRFbnRpdHlUeXBlW10sXG4gIGRlZmF1bHRUeXBlOiBDb250ZXh0RW50aXR5VHlwZVxuKTogQ29udGV4dEVudGl0eVR5cGUgPT4ge1xuICBpZiAoYXRSdW5MZW5ndGggPCAwKSB7XG4gICAgY29uc3Qgc2xhc2hUeXBlID0gKE9iamVjdC5lbnRyaWVzKFRZUEVfVE9fVFJJR0dFUl9TRVFVRU5DRSkuZmluZCgoWywgbGVuXSkgPT4gbGVuID09PSBhdFJ1bkxlbmd0aCk/LlswXSA/P1xuICAgICAgbnVsbCkgYXMgQ29udGV4dEVudGl0eVR5cGUgfCBudWxsXG4gICAgaWYgKHNsYXNoVHlwZSAmJiBhbGxvd2VkVHlwZXMuaW5jbHVkZXMoc2xhc2hUeXBlKSkgcmV0dXJuIHNsYXNoVHlwZVxuICAgIHJldHVybiBkZWZhdWx0VHlwZVxuICB9XG4gIGNvbnN0IG5vcm1hbGl6ZWQgPSBNYXRoLm1heCgxLCBNYXRoLmZsb29yKGF0UnVuTGVuZ3RoKSlcbiAgY29uc3QgbWFwcGVkVHlwZSA9IChPYmplY3QuZW50cmllcyhUWVBFX1RPX1RSSUdHRVJfU0VRVUVOQ0UpLmZpbmQoKFssIGxlbl0pID0+IGxlbiA9PT0gbm9ybWFsaXplZCk/LlswXSA/P1xuICAgIG51bGwpIGFzIENvbnRleHRFbnRpdHlUeXBlIHwgbnVsbFxuICBpZiAobWFwcGVkVHlwZSAmJiBhbGxvd2VkVHlwZXMuaW5jbHVkZXMobWFwcGVkVHlwZSkpIHJldHVybiBtYXBwZWRUeXBlXG4gIGNvbnN0IHRhYklkeCA9IE1hdGgubWluKE1hdGgubWF4KDAsIG5vcm1hbGl6ZWQgLSAxKSwgYWxsb3dlZFR5cGVzLmxlbmd0aCAtIDEpXG4gIHJldHVybiBhbGxvd2VkVHlwZXNbdGFiSWR4XSA/PyBkZWZhdWx0VHlwZVxufVxuXG5leHBvcnQgY29uc3QgZ2V0VHJpZ2dlclNlcXVlbmNlRnJvbVR5cGUgPSAodHlwZTogQ29udGV4dEVudGl0eVR5cGUsIGFsbG93ZWRUeXBlczogQ29udGV4dEVudGl0eVR5cGVbXSk6IG51bWJlciA9PiB7XG4gIGNvbnN0IG1hcHBlZCA9IFRZUEVfVE9fVFJJR0dFUl9TRVFVRU5DRVt0eXBlXVxuICBpZiAobWFwcGVkICE9PSB1bmRlZmluZWQpIHJldHVybiBtYXBwZWRcbiAgY29uc3QgaWR4ID0gYWxsb3dlZFR5cGVzLmluZGV4T2YodHlwZSlcbiAgcmV0dXJuIGlkeCA+PSAwID8gaWR4ICsg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
54
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJUWVBFX1RPX1RSSUdHRVJfU0VRVUVOQ0UiLCJ1c2VyIiwidGFzayIsInByb2plY3QiLCJjbGllbnQiLCJza2lsbCIsIm1jcCIsImdldE1lbnRpb25UYWJQcmVmaXgiLCJ0eXBlIiwibWFwcGVkIiwidW5kZWZpbmVkIiwiY29uY2F0IiwicmVwZWF0IiwiTWF0aCIsImFicyIsImdldEF0UnVuVGFiVHlwZXMiLCJhbGxvd2VkVHlwZXMiLCJmaWx0ZXIiLCJnZXRUeXBlRnJvbVRyaWdnZXJTZXF1ZW5jZSIsImF0UnVuTGVuZ3RoIiwiZGVmYXVsdFR5cGUiLCJfT2JqZWN0JGVudHJpZXMkZmluZCQyIiwiX09iamVjdCRlbnRyaWVzJGZpbmQyIiwiX2FsbG93ZWRUeXBlcyR0YWJJZHgiLCJfT2JqZWN0JGVudHJpZXMkZmluZCQiLCJfT2JqZWN0JGVudHJpZXMkZmluZCIsInNsYXNoVHlwZSIsIk9iamVjdCIsImVudHJpZXMiLCJmaW5kIiwiX3JlZiIsIl9yZWYyIiwiX3NsaWNlZFRvQXJyYXkiLCJsZW4iLCJpbmNsdWRlcyIsIm5vcm1hbGl6ZWQiLCJtYXgiLCJmbG9vciIsIm1hcHBlZFR5cGUiLCJfcmVmMyIsIl9yZWY0IiwidGFiSWR4IiwibWluIiwibGVuZ3RoIiwiZ2V0VHJpZ2dlclNlcXVlbmNlRnJvbVR5cGUiLCJpZHgiLCJpbmRleE9mIl0sInNvdXJjZXMiOlsiLi4vLi4vc3JjL3V0aWxzL2NvbnRleHRNZW50aW9uVHJpZ2dlcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ29udGV4dEVudGl0eVR5cGUgfSBmcm9tICcuLi90eXBlcy9jb250ZXh0TWVudGlvbidcblxuLyoqIFNlY3VlbmNpYSBkZSBgQGAgKHBvc2l0aXZhKSBvIGBAL2AvYEBAL2DigKYgKG5lZ2F0aXZhID0gcnVuIGRlIEAgKyBzbGFzaCkgcG9yIHRpcG8gZGUgdGFiLiAqL1xuZXhwb3J0IGNvbnN0IFRZUEVfVE9fVFJJR0dFUl9TRVFVRU5DRTogUGFydGlhbDxSZWNvcmQ8Q29udGV4dEVudGl0eVR5cGUsIG51bWJlcj4+ID0ge1xuICB1c2VyOiAxLFxuICB0YXNrOiAyLFxuICBwcm9qZWN0OiAzLFxuICBjbGllbnQ6IDQsXG4gIC8qKiBUcmlnZ2VycyBjb24gc2xhc2g6IEAvIHNraWxscywgQEAvIG1jcCAoYXRSdW5MZW5ndGggbmVnYXRpdm8gZW4gZWwgZWRpdG9yKSAqL1xuICBza2lsbDogLTEsXG4gIG1jcDogLTIsXG59XG5cbmV4cG9ydCBjb25zdCBnZXRNZW50aW9uVGFiUHJlZml4ID0gKHR5cGU6IENvbnRleHRFbnRpdHlUeXBlKTogc3RyaW5nID0+IHtcbiAgaWYgKHR5cGUgPT09ICdza2lsbCcpIHJldHVybiAnQC8nXG4gIGNvbnN0IG1hcHBlZCA9IFRZUEVfVE9fVFJJR0dFUl9TRVFVRU5DRVt0eXBlXVxuICBpZiAobWFwcGVkID09PSB1bmRlZmluZWQpIHJldHVybiAnQCdcbiAgaWYgKG1hcHBlZCA8IDApIHJldHVybiBgJHsnQCcucmVwZWF0KE1hdGguYWJzKG1hcHBlZCkpfS9gXG4gIHJldHVybiAnQCcucmVwZWF0KG1hcHBlZClcbn1cblxuZXhwb3J0IGNvbnN0IGdldEF0UnVuVGFiVHlwZXMgPSAoYWxsb3dlZFR5cGVzOiBDb250ZXh0RW50aXR5VHlwZVtdKTogQ29udGV4dEVudGl0eVR5cGVbXSA9PlxuICBhbGxvd2VkVHlwZXMuZmlsdGVyKHR5cGUgPT4ge1xuICAgIGlmICh0eXBlID09PSAnc2tpbGwnKSByZXR1cm4gZmFsc2VcbiAgICBjb25zdCBtYXBwZWQgPSBUWVBFX1RPX1RSSUdHRVJfU0VRVUVOQ0VbdHlwZV1cbiAgICByZXR1cm4gbWFwcGVkID09PSB1bmRlZmluZWQgfHwgbWFwcGVkID4gMFxuICB9KVxuXG5leHBvcnQgY29uc3QgZ2V0VHlwZUZyb21UcmlnZ2VyU2VxdWVuY2UgPSAoXG4gIGF0UnVuTGVuZ3RoOiBudW1iZXIsXG4gIGFsbG93ZWRUeXBlczogQ29udGV4dEVudGl0eVR5cGVbXSxcbiAgZGVmYXVsdFR5cGU6IENvbnRleHRFbnRpdHlUeXBlXG4pOiBDb250ZXh0RW50aXR5VHlwZSA9PiB7XG4gIGlmIChhdFJ1bkxlbmd0aCA8IDApIHtcbiAgICBjb25zdCBzbGFzaFR5cGUgPSAoT2JqZWN0LmVudHJpZXMoVFlQRV9UT19UUklHR0VSX1NFUVVFTkNFKS5maW5kKChbLCBsZW5dKSA9PiBsZW4gPT09IGF0UnVuTGVuZ3RoKT8uWzBdID8/XG4gICAgICBudWxsKSBhcyBDb250ZXh0RW50aXR5VHlwZSB8IG51bGxcbiAgICBpZiAoc2xhc2hUeXBlICYmIGFsbG93ZWRUeXBlcy5pbmNsdWRlcyhzbGFzaFR5cGUpKSByZXR1cm4gc2xhc2hUeXBlXG4gICAgcmV0dXJuIGRlZmF1bHRUeXBlXG4gIH1cbiAgY29uc3Qgbm9ybWFsaXplZCA9IE1hdGgubWF4KDEsIE1hdGguZmxvb3IoYXRSdW5MZW5ndGgpKVxuICBjb25zdCBtYXBwZWRUeXBlID0gKE9iamVjdC5lbnRyaWVzKFRZUEVfVE9fVFJJR0dFUl9TRVFVRU5DRSkuZmluZCgoWywgbGVuXSkgPT4gbGVuID09PSBub3JtYWxpemVkKT8uWzBdID8/XG4gICAgbnVsbCkgYXMgQ29udGV4dEVudGl0eVR5cGUgfCBudWxsXG4gIGlmIChtYXBwZWRUeXBlICYmIGFsbG93ZWRUeXBlcy5pbmNsdWRlcyhtYXBwZWRUeXBlKSkgcmV0dXJuIG1hcHBlZFR5cGVcbiAgY29uc3QgdGFiSWR4ID0gTWF0aC5taW4oTWF0aC5tYXgoMCwgbm9ybWFsaXplZCAtIDEpLCBhbGxvd2VkVHlwZXMubGVuZ3RoIC0gMSlcbiAgcmV0dXJuIGFsbG93ZWRUeXBlc1t0YWJJZHhdID8/IGRlZmF1bHRUeXBlXG59XG5cbmV4cG9ydCBjb25zdCBnZXRUcmlnZ2VyU2VxdWVuY2VGcm9tVHlwZSA9ICh0eXBlOiBDb250ZXh0RW50aXR5VHlwZSwgYWxsb3dlZFR5cGVzOiBDb250ZXh0RW50aXR5VHlwZVtdKTogbnVtYmVyID0+IHtcbiAgY29uc3QgbWFwcGVkID0gVFlQRV9UT19UUklHR0VSX1NFUVVFTkNFW3R5cGVdXG4gIGlmIChtYXBwZWQgIT09IHVuZGVmaW5lZCkgcmV0dXJuIG1hcHBlZFxuICBjb25zdCBpZHggPSBhbGxvd2VkVHlwZXMuaW5kZXhPZih0eXBlKVxuICByZXR1cm4gaWR4ID49IDAgPyBpZHggKyAxIDogMVxufVxuIl0sIm1hcHBpbmdzIjoiO0FBRUE7QUFDQSxPQUFPLElBQU1BLHdCQUFvRSxHQUFHO0VBQ2xGQyxJQUFJLEVBQUUsQ0FBQztFQUNQQyxJQUFJLEVBQUUsQ0FBQztFQUNQQyxPQUFPLEVBQUUsQ0FBQztFQUNWQyxNQUFNLEVBQUUsQ0FBQztFQUNUO0VBQ0FDLEtBQUssRUFBRSxDQUFDLENBQUM7RUFDVEMsR0FBRyxFQUFFLENBQUM7QUFDUixDQUFDO0FBRUQsT0FBTyxJQUFNQyxtQkFBbUIsR0FBRyxTQUF0QkEsbUJBQW1CQSxDQUFJQyxJQUF1QixFQUFhO0VBQ3RFLElBQUlBLElBQUksS0FBSyxPQUFPLEVBQUUsT0FBTyxJQUFJO0VBQ2pDLElBQU1DLE1BQU0sR0FBR1Qsd0JBQXdCLENBQUNRLElBQUksQ0FBQztFQUM3QyxJQUFJQyxNQUFNLEtBQUtDLFNBQVMsRUFBRSxPQUFPLEdBQUc7RUFDcEMsSUFBSUQsTUFBTSxHQUFHLENBQUMsRUFBRSxVQUFBRSxNQUFBLENBQVUsR0FBRyxDQUFDQyxNQUFNLENBQUNDLElBQUksQ0FBQ0MsR0FBRyxDQUFDTCxNQUFNLENBQUMsQ0FBQztFQUN0RCxPQUFPLEdBQUcsQ0FBQ0csTUFBTSxDQUFDSCxNQUFNLENBQUM7QUFDM0IsQ0FBQztBQUVELE9BQU8sSUFBTU0sZ0JBQWdCLEdBQUcsU0FBbkJBLGdCQUFnQkEsQ0FBSUMsWUFBaUM7RUFBQSxPQUNoRUEsWUFBWSxDQUFDQyxNQUFNLENBQUMsVUFBQVQsSUFBSSxFQUFJO0lBQzFCLElBQUlBLElBQUksS0FBSyxPQUFPLEVBQUUsT0FBTyxLQUFLO0lBQ2xDLElBQU1DLE1BQU0sR0FBR1Qsd0JBQXdCLENBQUNRLElBQUksQ0FBQztJQUM3QyxPQUFPQyxNQUFNLEtBQUtDLFNBQVMsSUFBSUQsTUFBTSxH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
@@ -2,50 +2,28 @@ import _defineProperty from "@babel/runtime/helpers/defineProperty";
2
2
  import _typeof from "@babel/runtime/helpers/typeof";
3
3
  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; }
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
- import { normalizeCorEntitySlug } from './corConnectorMentionTypes';
6
-
7
5
  /** Grupo de conectores COR dentro de `connectors`. */
8
6
  export var COR_CONNECTOR_GROUP = 'COR';
9
7
 
10
- /**
11
- * Slugs de tool groups COR, uno por conector/toggle del ABM.
12
- * Orden = jerarquía de COR (cliente > proyecto > tarea), de más amplio a más específico —
13
- * es el orden en que se muestran los toggles en el tab Permisos.
14
- */
15
- export var COR_TOOL_GROUP_SLUGS = ['clientes', 'proyectos', 'tareas'];
16
-
17
- /** Estado de los 3 conectores COR, uno por slug. */
18
-
19
- /** Los 3 conectores vienen prendidos por defecto en agentes nuevos (manual y MAIAKER). */
20
- export var DEFAULT_COR_ACCESS = {
21
- clientes: true,
22
- proyectos: true,
23
- tareas: true
24
- };
25
- var ENTITY_BY_SLUG = {
26
- clientes: 'client',
27
- proyectos: 'project',
28
- tareas: 'task'
29
- };
8
+ /** Slugs de tool groups COR que habilita el switch de "acceso a tareas" del ABM. */
9
+ export var COR_TOOL_GROUP_SLUGS = ['tareas', 'proyectos'];
30
10
 
31
11
  /**
32
- * Construye el array `tool_group_slugs` para la ruta `POST agents/{id}/tool-groups`
33
- * a partir del estado de los 3 toggles: un slug por conector prendido.
12
+ * Construye el array `tool_group_slugs` para la ruta `POST agents/{id}/tool-groups` a partir del switch.
13
+ * Activo → `['tareas', 'proyectos']`; apagado → `[]`.
34
14
  */
35
- export var buildAgentToolGroupsRequest = function buildAgentToolGroupsRequest(corAccess) {
36
- return COR_TOOL_GROUP_SLUGS.filter(function (slug) {
37
- return corAccess[slug];
38
- });
15
+ export var buildAgentToolGroupsRequest = function buildAgentToolGroupsRequest(taskAccess) {
16
+ return taskAccess ? [].concat(COR_TOOL_GROUP_SLUGS) : [];
39
17
  };
40
18
 
41
19
  /**
42
20
  * Construye los `connectors` agrupados (mismo formato que devuelve el back en listado/sesión)
43
- * a partir del estado de los toggles, para hidratar de forma optimista el agente recién creado/editado sin refetch.
21
+ * a partir del switch, para hidratar de forma optimista el agente recién creado/editado sin refetch.
44
22
  */
45
- export var buildAgentConnectorsFromCorAccess = function buildAgentConnectorsFromCorAccess(corAccess) {
23
+ export var buildAgentConnectorsFromTaskAccess = function buildAgentConnectorsFromTaskAccess(taskAccess) {
46
24
  return [{
47
25
  group: COR_CONNECTOR_GROUP,
48
- slugs: buildAgentToolGroupsRequest(corAccess)
26
+ slugs: taskAccess ? [].concat(COR_TOOL_GROUP_SLUGS) : []
49
27
  }, {
50
28
  group: 'MCP',
51
29
  slugs: []
@@ -73,19 +51,13 @@ export var normalizeAgentConnectors = function normalizeAgentConnectors(raw) {
73
51
  };
74
52
 
75
53
  /**
76
- * Deriva el estado de los 3 toggles desde `tool_group_slugs` del detalle del agente
77
- * (`GET agents/{id}`). Cada conector queda prendido sólo si su propio slug está presente
78
- * (tolera variantes de entidad/legacy vía `normalizeCorEntitySlug`), a diferencia del viejo
79
- * "prendido si el array trae cualquier slug" que no distinguía un conector de otro.
54
+ * Deriva el estado del switch de "acceso a tareas" desde `tool_group_slugs` del detalle del agente
55
+ * (`GET agents/{id}`). Activo si el array trae al menos un slug.
80
56
  */
81
- export var deriveCorAccessFromToolGroupSlugs = function deriveCorAccessFromToolGroupSlugs(raw) {
82
- var entities = new Set(Array.isArray(raw) ? raw.filter(function (slug) {
83
- return typeof slug === 'string';
84
- }).map(normalizeCorEntitySlug) : []);
85
- return COR_TOOL_GROUP_SLUGS.reduce(function (acc, slug) {
86
- acc[slug] = entities.has(ENTITY_BY_SLUG[slug]);
87
- return acc;
88
- }, {});
57
+ export var deriveTaskAccessFromToolGroupSlugs = function deriveTaskAccessFromToolGroupSlugs(raw) {
58
+ return Array.isArray(raw) && raw.some(function (slug) {
59
+ return typeof slug === 'string' && slug.length > 0;
60
+ });
89
61
  };
90
62
 
91
63
  /** Asegura `connectors` normalizados en un agente proveniente del listado de customs. */
@@ -95,4 +67,4 @@ export var withNormalizedConnectors = function withNormalizedConnectors(agent) {
95
67
  connectors: connectors
96
68
  }) : agent;
97
69
  };
98
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJub3JtYWxpemVDb3JFbnRpdHlTbHVnIiwiQ09SX0NPTk5FQ1RPUl9HUk9VUCIsIkNPUl9UT09MX0dST1VQX1NMVUdTIiwiREVGQVVMVF9DT1JfQUNDRVNTIiwiY2xpZW50ZXMiLCJwcm95ZWN0b3MiLCJ0YXJlYXMiLCJFTlRJVFlfQllfU0xVRyIsImJ1aWxkQWdlbnRUb29sR3JvdXBzUmVxdWVzdCIsImNvckFjY2VzcyIsImZpbHRlciIsInNsdWciLCJidWlsZEFnZW50Q29ubmVjdG9yc0Zyb21Db3JBY2Nlc3MiLCJncm91cCIsInNsdWdzIiwibm9ybWFsaXplQWdlbnRDb25uZWN0b3JzIiwicmF3IiwiQXJyYXkiLCJpc0FycmF5IiwidW5kZWZpbmVkIiwicGFyc2VkIiwiY29ubmVjdG9yIiwiX3R5cGVvZiIsIm1hcCIsImxlbmd0aCIsImRlcml2ZUNvckFjY2Vzc0Zyb21Ub29sR3JvdXBTbHVncyIsImVudGl0aWVzIiwiU2V0IiwicmVkdWNlIiwiYWNjIiwiaGFzIiwid2l0aE5vcm1hbGl6ZWRDb25uZWN0b3JzIiwiYWdlbnQiLCJjb25uZWN0b3JzIiwiX29iamVjdFNwcmVhZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9ub3JtYWxpemVBZ2VudENvbm5lY3RvcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBZ2VudENvbm5lY3RvciB9IGZyb20gJy4uL3R5cGVzL2FnZW50J1xuaW1wb3J0IHsgbm9ybWFsaXplQ29yRW50aXR5U2x1ZyB9IGZyb20gJy4vY29yQ29ubmVjdG9yTWVudGlvblR5cGVzJ1xuXG4vKiogR3J1cG8gZGUgY29uZWN0b3JlcyBDT1IgZGVudHJvIGRlIGBjb25uZWN0b3JzYC4gKi9cbmV4cG9ydCBjb25zdCBDT1JfQ09OTkVDVE9SX0dST1VQID0gJ0NPUidcblxuLyoqXG4gKiBTbHVncyBkZSB0b29sIGdyb3VwcyBDT1IsIHVubyBwb3IgY29uZWN0b3IvdG9nZ2xlIGRlbCBBQk0uXG4gKiBPcmRlbiA9IGplcmFycXXDrWEgZGUgQ09SIChjbGllbnRlID4gcHJveWVjdG8gPiB0YXJlYSksIGRlIG3DoXMgYW1wbGlvIGEgbcOhcyBlc3BlY8OtZmljbyDigJRcbiAqIGVzIGVsIG9yZGVuIGVuIHF1ZSBzZSBtdWVzdHJhbiBsb3MgdG9nZ2xlcyBlbiBlbCB0YWIgUGVybWlzb3MuXG4gKi9cbmV4cG9ydCBjb25zdCBDT1JfVE9PTF9HUk9VUF9TTFVHUyA9IFsnY2xpZW50ZXMnLCAncHJveWVjdG9zJywgJ3RhcmVhcyddIGFzIGNvbnN0XG5cbmV4cG9ydCB0eXBlIENvclRvb2xHcm91cFNsdWcgPSAodHlwZW9mIENPUl9UT09MX0dST1VQX1NMVUdTKVtudW1iZXJdXG5cbi8qKiBFc3RhZG8gZGUgbG9zIDMgY29uZWN0b3JlcyBDT1IsIHVubyBwb3Igc2x1Zy4gKi9cbmV4cG9ydCB0eXBlIENvckFjY2VzcyA9IFJlY29yZDxDb3JUb29sR3JvdXBTbHVnLCBib29sZWFuPlxuXG4vKiogTG9zIDMgY29uZWN0b3JlcyB2aWVuZW4gcHJlbmRpZG9zIHBvciBkZWZlY3RvIGVuIGFnZW50ZXMgbnVldm9zIChtYW51YWwgeSBNQUlBS0VSKS4gKi9cbmV4cG9ydCBjb25zdCBERUZBVUxUX0NPUl9BQ0NFU1M6IENvckFjY2VzcyA9IHtcbiAgY2xpZW50ZXM6IHRydWUsXG4gIHByb3llY3RvczogdHJ1ZSxcbiAgdGFyZWFzOiB0cnVlLFxufVxuXG5jb25zdCBFTlRJVFlfQllfU0xVRzogUmVjb3JkPENvclRvb2xHcm91cFNsdWcsICdjbGllbnQnIHwgJ3Byb2plY3QnIHwgJ3Rhc2snPiA9IHtcbiAgY2xpZW50ZXM6ICdjbGllbnQnLFxuICBwcm95ZWN0b3M6ICdwcm9qZWN0JyxcbiAgdGFyZWFzOiAndGFzaycsXG59XG5cbi8qKlxuICogQ29uc3RydXllIGVsIGFycmF5IGB0b29sX2dyb3VwX3NsdWdzYCBwYXJhIGxhIHJ1dGEgYFBPU1QgYWdlbnRzL3tpZH0vdG9vbC1ncm91cHNgXG4gKiBhIHBhcnRpciBkZWwgZXN0YWRvIGRlIGxvcyAzIHRvZ2dsZXM6IHVuIHNsdWcgcG9yIGNvbmVjdG9yIHByZW5kaWRvLlxuICovXG5leHBvcnQgY29uc3QgYnVpbGRBZ2VudFRvb2xHcm91cHNSZXF1ZXN0ID0gKGNvckFjY2VzczogQ29yQWNjZXNzKTogc3RyaW5nW10gPT5cbiAgQ09SX1RPT0xfR1JPVVBfU0xVR1MuZmlsdGVyKHNsdWcgPT4gY29yQWNjZXNzW3NsdWddKVxuXG4vKipcbiAqIENvbnN0cnV5ZSBsb3MgYGNvbm5lY3RvcnNgIGFncnVwYWRvcyAobWlzbW8gZm9ybWF0byBxdWUgZGV2dWVsdmUgZWwgYmFjayBlbiBsaXN0YWRvL3Nlc2nDs24pXG4gKiBhIHBhcnRpciBkZWwgZXN0YWRvIGRlIGxvcyB0b2dnbGVzLCBwYXJhIGhpZHJhdGFyIGRlIGZvcm1hIG9wdGltaXN0YSBlbCBhZ2VudGUgcmVjacOpbiBjcmVhZG8vZWRpdGFkbyBzaW4gcmVmZXRjaC5cbiAqL1xuZXhwb3J0IGNvbnN0IGJ1aWxkQWdlbnRDb25uZWN0b3JzRnJvbUNvckFjY2VzcyA9IChjb3JBY2Nlc3M6IENvckFjY2Vzcyk6IEFnZW50Q29ubmVjdG9yW10gPT4gW1xuICB7IGdyb3VwOiBDT1JfQ09OTkVDVE9SX0dST1VQLCBzbHVnczogYnVpbGRBZ2VudFRvb2xHcm91cHNSZXF1ZXN0KGNvckFjY2VzcykgfSxcbiAgeyBncm91cDogJ01DUCcsIHNsdWdzOiBbXSB9LFxuXVxuXG4vKiogTm9ybWFsaXphIGVsIGFycmF5IGBjb25uZWN0b3JzYCBxdWUgZGV2dWVsdmUgbGEgQVBJIGRlIGFnZW50ZXMgbyBzZXNpb25lcy4gKi9cbmV4cG9ydCBjb25zdCBub3JtYWxpemVBZ2VudENvbm5lY3RvcnMgPSAocmF3OiB1bmtub3duKTogQWdlbnRDb25uZWN0b3JbXSB8IHVuZGVmaW5lZCA9PiB7XG4gIGlmICghQXJyYXkuaXNBcnJheShyYXcpKSByZXR1cm4gdW5kZWZpbmVkXG4gIGNvbnN0IHBhcnNlZCA9IHJhd1xuICAgIC5maWx0ZXIoKGNvbm5lY3Rvcik6IGNvbm5lY3RvciBpcyBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPiA9PiAhIWNvbm5lY3RvciAmJiB0eXBlb2YgY29ubmVjdG9yID09PSAnb2JqZWN0JylcbiAgICAubWFwKGNvbm5lY3RvciA9PiB7XG4gICAgICBjb25zdCBncm91cCA9IHR5cGVvZiBjb25uZWN0b3IuZ3JvdXAgPT09ICdzdHJpbmcnID8gY29ubmVjdG9yLmdyb3VwIDogJydcbiAgICAgIGNvbnN0IHNsdWdzID0gQXJyYXkuaXNBcnJheShjb25uZWN0b3Iuc2x1Z3MpXG4gICAgICAgID8gY29ubmVjdG9yLnNsdWdzLmZpbHRlcigoc2x1Zyk6IHNsdWcgaXMgc3RyaW5nID0+IHR5cGVvZiBzbHVnID09PSAnc3RyaW5nJylcbiAgICAgICAgOiBbXVxuICAgICAgcmV0dXJuIHsgZ3JvdXAsIHNsdWdzIH1cbiAgICB9KVxuICAgIC5maWx0ZXIoY29ubmVjdG9yID0+IGNvbm5lY3Rvci5ncm91cC5sZW5ndGggPiAwKVxuXG4gIHJldHVybiBwYXJzZWQubGVuZ3RoID4gMCA/IHBhcnNlZCA6IHVuZGVmaW5lZFxufVxuXG4vKipcbiAqIERlcml2YSBlbCBlc3RhZG8gZGUgbG9zIDMgdG9nZ2xlcyBkZXNkZSBgdG9vbF9ncm91cF9zbHVnc2AgZGVsIGRldGFsbGUgZGVsIGFnZW50ZVxuICogKGBHRVQgYWdlbnRzL3tpZH1gKS4gQ2FkYSBjb25lY3RvciBxdWVkYSBwcmVuZGlkbyBzw7NsbyBzaSBzdSBwcm9waW8gc2x1ZyBlc3TDoSBwcmVzZW50ZVxuICogKHRvbGVyYSB2YXJpYW50ZXMgZGUgZW50aWRhZC9sZWdhY3kgdsOtYSBgbm9ybWFsaXplQ29yRW50aXR5U2x1Z2ApLCBhIGRpZmVyZW5jaWEgZGVsIHZpZWpvXG4gKiBcInByZW5kaWRvIHNpIGVsIGFycmF5IHRyYWUgY3VhbHF1aWVyIHNsdWdcIiBxdWUgbm8gZGlzdGluZ3XDrWEgdW4gY29uZWN0b3IgZGUgb3Ryby5cbiAqL1xuZXhwb3J0IGNvbnN0IGRlcml2ZUNvckFjY2Vzc0Zyb21Ub29sR3JvdXBTbHVncyA9IChyYXc6IHVua25vd24pOiBDb3JBY2Nlc3MgPT4ge1xuICBjb25zdCBlbnRpdGllcyA9IG5ldyBTZXQoXG4gICAgQXJyYXkuaXNBcnJheShyYXcpXG4gICAgICA/IHJhdy5maWx0ZXIoKHNsdWcpOiBzbHVnIGlzIHN0cmluZyA9PiB0eXBlb2Ygc2x1ZyA9PT0gJ3N0cmluZycpLm1hcChub3JtYWxpemVDb3JFbnRpdHlTbHVnKVxuICAgICAgOiBbXVxuICApXG5cbiAgcmV0dXJuIENPUl9UT09MX0dST1VQX1NMVUdTLnJlZHVjZSgoYWNjLCBzbHVnKSA9PiB7XG4gICAgYWNjW3NsdWddID0gZW50aXRpZXMuaGFzKEVOVElUWV9CWV9TTFVHW3NsdWddKVxuICAgIHJldHVybiBhY2NcbiAgfSwge30gYXMgQ29yQWNjZXNzKVxufVxuXG4vKiogQXNlZ3VyYSBgY29ubmVjdG9yc2Agbm9ybWFsaXphZG9zIGVuIHVuIGFnZW50ZSBwcm92ZW5pZW50ZSBkZWwgbGlzdGFkbyBkZSBjdXN0b21zLiAqL1xuZXhwb3J0IGNvbnN0IHdpdGhOb3JtYWxpemVkQ29ubmVjdG9ycyA9IDxUIGV4dGVuZHMgeyBjb25uZWN0b3JzPzogdW5rbm93biB9PihhZ2VudDogVCk6IFQgPT4ge1xuICBjb25zdCBjb25uZWN0b3JzID0gbm9ybWFsaXplQWdlbnRDb25uZWN0b3JzKGFnZW50LmNvbm5lY3RvcnMpXG4gIHJldHVybiBjb25uZWN0b3JzID8geyAuLi5hZ2VudCwgY29ubmVjdG9ycyB9IDogYWdlbnRcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUNBLFNBQVNBLHNCQUFzQixRQUFRLDRCQUE0Qjs7QUFFbkU7QUFDQSxPQUFPLElBQU1DLG1CQUFtQixHQUFHLEtBQUs7O0FBRXhDO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLElBQU1DLG9CQUFvQixHQUFHLENBQUMsVUFBVSxFQUFFLFdBQVcsRUFBRSxRQUFRLENBQVU7O0FBSWhGOztBQUdBO0FBQ0EsT0FBTyxJQUFNQyxrQkFBNkIsR0FBRztFQUMzQ0MsUUFBUSxFQUFFLElBQUk7RUFDZEMsU0FBUyxFQUFFLElBQUk7RUFDZkMsTUFBTSxFQUFFO0FBQ1YsQ0FBQztBQUVELElBQU1DLGNBQXVFLEdBQUc7RUFDOUVILFFBQVEsRUFBRSxRQUFRO0VBQ2xCQyxTQUFTLEVBQUUsU0FBUztFQUNwQkMsTUFBTSxFQUFFO0FBQ1YsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sSUFBTUUsMkJBQTJCLEdBQUcsU0FBOUJBLDJCQUEyQkEsQ0FBSUMsU0FBb0I7RUFBQSxPQUM5RFAsb0JBQW9CLENBQUNRLE1BQU0sQ0FBQyxVQUFBQyxJQUFJO0lBQUEsT0FBSUYsU0FBUyxDQUFDRSxJQUFJLENBQUM7RUFBQSxFQUFDO0FBQUE7O0FBRXREO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxJQUFNQyxpQ0FBaUMsR0FBRyxTQUFwQ0EsaUNBQWlDQSxDQUFJSCxTQUFvQjtFQUFBLE9BQXVCLENBQzNGO0lBQUVJLEtBQUssRUFBRVosbUJBQW1CO0lBQUVhLEtBQUssRUFBRU4sMkJBQTJCLENBQUNDLFNBQVM7RUFBRSxDQUFDLEVBQzdFO0lBQUVJLEtBQUssRUFBRSxLQUFLO0lBQUVDLEtBQUssRUFBRTtFQUFHLENBQUMsQ0FDNUI7QUFBQTs7QUFFRDtBQUNBLE9BQU8sSUFBTUMsd0JBQXdCLEdBQUcsU0FBM0JBLHdCQUF3QkEsQ0FBSUMsR0FBWSxFQUFtQztFQUN0RixJQUFJLENBQUNDLEtBQUssQ0FBQ0MsT0FBTyxDQUFDRixHQUFHLENBQUMsRUFBRSxPQUFPRyxTQUFTO0VBQ3pDLElBQU1DLE1BQU0sR0FBR0osR0FBRyxDQUNmTixNQUFNLENBQUMsVUFBQ1csU0FBUztJQUFBLE9BQTJDLENBQUMsQ0FBQ0EsU0FBUyxJQUFJQyxPQUFBLENBQU9ELFNBQVMsTUFBSyxRQUFRO0VBQUEsRUFBQyxDQUN6R0UsR0FBRyxDQUFDLFVBQUFGLFNBQVMsRUFBSTtJQUNoQixJQUFNUixLQUFLLEdBQUcsT0FBT1EsU0FBUyxDQUFDUixLQUFLLEtBQUssUUFBUSxHQUFHUSxTQUFTLENBQUNSLEtBQUssR0FBRyxFQUFFO0lBQ3hFLElBQU1DLEtBQUssR0FBR0csS0FBSyxDQUFDQyxPQUFPLENBQUNHLFNBQVMsQ0FBQ1AsS0FBSyxDQUFDLEdBQ3hDTyxTQUFTLENBQUNQLEtBQUssQ0FBQ0osTUFBTSxDQUFDLFVBQUNDLElBQUk7TUFBQSxPQUFxQixPQUFPQSxJQUFJLEtBQUssUUFBUTtJQUFBLEVBQUMsR0FDMUUsRUFBRTtJQUNOLE9BQU87TUFBRUUsS0FBSyxFQUFMQSxLQUFLO01BQUVDLEtBQUssRUFBTEE7SUFBTSxDQUFDO0VBQ3pCLENBQUMsQ0FBQyxDQUNESixNQUFNLENBQUMsVUFBQVcsU0FBUztJQUFBLE9BQUlBLFNBQVMsQ0FBQ1IsS0FBSyxDQUFDVyxNQUFNLEdBQUcsQ0FBQztFQUFBLEVBQUM7RUFFbEQsT0FBT0osTUFBTSxDQUFDSSxNQUFNLEdBQUcsQ0FBQyxHQUFHSixNQUFNLEdBQUdELFNBQVM7QUFDL0MsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLElBQU1NLGlDQUFpQyxHQUFHLFNBQXBDQSxpQ0FBaUNBLENBQUlULEdBQVksRUFBZ0I7RUFDNUUsSUFBTVUsUUFBUSxHQUFHLElBQUlDLEdBQUcsQ0FDdEJWLEtBQUssQ0FBQ0MsT0FBTyxDQUFDRixHQUFHLENBQUMsR0FDZEEsR0FBRyxDQUFDTixNQUFNLENBQUMsVUFBQ0MsSUFBSTtJQUFBLE9BQXFCLE9BQU9BLElBQUksS0FBSyxRQUFRO0VBQUEsRUFBQyxDQUFDWSxHQUFHLENBQUN2QixzQkFBc0IsQ0FBQyxHQUMxRixFQUNOLENBQUM7RUFFRCxPQUFPRSxvQkFBb0IsQ0FBQzBCLE1BQU0sQ0FBQyxVQUFDQyxHQUFHLEVBQUVsQixJQUFJLEVBQUs7SUFDaERrQixHQUFHLENBQUNsQixJQUFJLENBQUMsR0FBR2UsUUFBUSxDQUFDSSxHQUFHLENBQUN2QixjQUFjLENBQUNJLElBQUksQ0FBQyxDQUFDO0lBQzlDLE9BQU9rQixHQUFHO0VBQ1osQ0FBQyxFQUFFLENBQUMsQ0FBYyxDQUFDO0FBQ3JCLENBQUM7O0FBRUQ7QUFDQSxPQUFPLElBQU1FLHdCQUF3QixHQUFHLFNBQTNCQSx3QkFBd0JBLENBQXdDQyxLQUFRLEVBQVE7RUFDM0YsSUFBTUMsVUFBVSxHQUFHbEIsd0JBQXdCLENBQUNpQixLQUFLLENBQUNDLFVBQVUsQ0FBQztFQUM3RCxPQUFPQSxVQUFVLEdBQUFDLGFBQUEsQ0FBQUEsYUFBQSxLQUFRRixLQUFLO0lBQUVDLFVBQVUsRUFBVkE7RUFBVSxLQUFLRCxLQUFLO0FBQ3RELENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
70
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJDT1JfQ09OTkVDVE9SX0dST1VQIiwiQ09SX1RPT0xfR1JPVVBfU0xVR1MiLCJidWlsZEFnZW50VG9vbEdyb3Vwc1JlcXVlc3QiLCJ0YXNrQWNjZXNzIiwiY29uY2F0IiwiYnVpbGRBZ2VudENvbm5lY3RvcnNGcm9tVGFza0FjY2VzcyIsImdyb3VwIiwic2x1Z3MiLCJub3JtYWxpemVBZ2VudENvbm5lY3RvcnMiLCJyYXciLCJBcnJheSIsImlzQXJyYXkiLCJ1bmRlZmluZWQiLCJwYXJzZWQiLCJmaWx0ZXIiLCJjb25uZWN0b3IiLCJfdHlwZW9mIiwibWFwIiwic2x1ZyIsImxlbmd0aCIsImRlcml2ZVRhc2tBY2Nlc3NGcm9tVG9vbEdyb3VwU2x1Z3MiLCJzb21lIiwid2l0aE5vcm1hbGl6ZWRDb25uZWN0b3JzIiwiYWdlbnQiLCJjb25uZWN0b3JzIiwiX29iamVjdFNwcmVhZCJdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy91dGlscy9ub3JtYWxpemVBZ2VudENvbm5lY3RvcnMudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBBZ2VudENvbm5lY3RvciB9IGZyb20gJy4uL3R5cGVzL2FnZW50J1xuXG4vKiogR3J1cG8gZGUgY29uZWN0b3JlcyBDT1IgZGVudHJvIGRlIGBjb25uZWN0b3JzYC4gKi9cbmV4cG9ydCBjb25zdCBDT1JfQ09OTkVDVE9SX0dST1VQID0gJ0NPUidcblxuLyoqIFNsdWdzIGRlIHRvb2wgZ3JvdXBzIENPUiBxdWUgaGFiaWxpdGEgZWwgc3dpdGNoIGRlIFwiYWNjZXNvIGEgdGFyZWFzXCIgZGVsIEFCTS4gKi9cbmV4cG9ydCBjb25zdCBDT1JfVE9PTF9HUk9VUF9TTFVHUzogcmVhZG9ubHkgc3RyaW5nW10gPSBbJ3RhcmVhcycsICdwcm95ZWN0b3MnXVxuXG4vKipcbiAqIENvbnN0cnV5ZSBlbCBhcnJheSBgdG9vbF9ncm91cF9zbHVnc2AgcGFyYSBsYSBydXRhIGBQT1NUIGFnZW50cy97aWR9L3Rvb2wtZ3JvdXBzYCBhIHBhcnRpciBkZWwgc3dpdGNoLlxuICogQWN0aXZvIOKGkiBgWyd0YXJlYXMnLCAncHJveWVjdG9zJ11gOyBhcGFnYWRvIOKGkiBgW11gLlxuICovXG5leHBvcnQgY29uc3QgYnVpbGRBZ2VudFRvb2xHcm91cHNSZXF1ZXN0ID0gKHRhc2tBY2Nlc3M6IGJvb2xlYW4pOiBzdHJpbmdbXSA9PlxuICB0YXNrQWNjZXNzID8gWy4uLkNPUl9UT09MX0dST1VQX1NMVUdTXSA6IFtdXG5cbi8qKlxuICogQ29uc3RydXllIGxvcyBgY29ubmVjdG9yc2AgYWdydXBhZG9zIChtaXNtbyBmb3JtYXRvIHF1ZSBkZXZ1ZWx2ZSBlbCBiYWNrIGVuIGxpc3RhZG8vc2VzacOzbilcbiAqIGEgcGFydGlyIGRlbCBzd2l0Y2gsIHBhcmEgaGlkcmF0YXIgZGUgZm9ybWEgb3B0aW1pc3RhIGVsIGFnZW50ZSByZWNpw6luIGNyZWFkby9lZGl0YWRvIHNpbiByZWZldGNoLlxuICovXG5leHBvcnQgY29uc3QgYnVpbGRBZ2VudENvbm5lY3RvcnNGcm9tVGFza0FjY2VzcyA9ICh0YXNrQWNjZXNzOiBib29sZWFuKTogQWdlbnRDb25uZWN0b3JbXSA9PiBbXG4gIHsgZ3JvdXA6IENPUl9DT05ORUNUT1JfR1JPVVAsIHNsdWdzOiB0YXNrQWNjZXNzID8gWy4uLkNPUl9UT09MX0dST1VQX1NMVUdTXSA6IFtdIH0sXG4gIHsgZ3JvdXA6ICdNQ1AnLCBzbHVnczogW10gfSxcbl1cblxuLyoqIE5vcm1hbGl6YSBlbCBhcnJheSBgY29ubmVjdG9yc2AgcXVlIGRldnVlbHZlIGxhIEFQSSBkZSBhZ2VudGVzIG8gc2VzaW9uZXMuICovXG5leHBvcnQgY29uc3Qgbm9ybWFsaXplQWdlbnRDb25uZWN0b3JzID0gKHJhdzogdW5rbm93bik6IEFnZW50Q29ubmVjdG9yW10gfCB1bmRlZmluZWQgPT4ge1xuICBpZiAoIUFycmF5LmlzQXJyYXkocmF3KSkgcmV0dXJuIHVuZGVmaW5lZFxuICBjb25zdCBwYXJzZWQgPSByYXdcbiAgICAuZmlsdGVyKChjb25uZWN0b3IpOiBjb25uZWN0b3IgaXMgUmVjb3JkPHN0cmluZywgdW5rbm93bj4gPT4gISFjb25uZWN0b3IgJiYgdHlwZW9mIGNvbm5lY3RvciA9PT0gJ29iamVjdCcpXG4gICAgLm1hcChjb25uZWN0b3IgPT4ge1xuICAgICAgY29uc3QgZ3JvdXAgPSB0eXBlb2YgY29ubmVjdG9yLmdyb3VwID09PSAnc3RyaW5nJyA/IGNvbm5lY3Rvci5ncm91cCA6ICcnXG4gICAgICBjb25zdCBzbHVncyA9IEFycmF5LmlzQXJyYXkoY29ubmVjdG9yLnNsdWdzKVxuICAgICAgICA/IGNvbm5lY3Rvci5zbHVncy5maWx0ZXIoKHNsdWcpOiBzbHVnIGlzIHN0cmluZyA9PiB0eXBlb2Ygc2x1ZyA9PT0gJ3N0cmluZycpXG4gICAgICAgIDogW11cbiAgICAgIHJldHVybiB7IGdyb3VwLCBzbHVncyB9XG4gICAgfSlcbiAgICAuZmlsdGVyKGNvbm5lY3RvciA9PiBjb25uZWN0b3IuZ3JvdXAubGVuZ3RoID4gMClcblxuICByZXR1cm4gcGFyc2VkLmxlbmd0aCA+IDAgPyBwYXJzZWQgOiB1bmRlZmluZWRcbn1cblxuLyoqXG4gKiBEZXJpdmEgZWwgZXN0YWRvIGRlbCBzd2l0Y2ggZGUgXCJhY2Nlc28gYSB0YXJlYXNcIiBkZXNkZSBgdG9vbF9ncm91cF9zbHVnc2AgZGVsIGRldGFsbGUgZGVsIGFnZW50ZVxuICogKGBHRVQgYWdlbnRzL3tpZH1gKS4gQWN0aXZvIHNpIGVsIGFycmF5IHRyYWUgYWwgbWVub3MgdW4gc2x1Zy5cbiAqL1xuZXhwb3J0IGNvbnN0IGRlcml2ZVRhc2tBY2Nlc3NGcm9tVG9vbEdyb3VwU2x1Z3MgPSAocmF3OiB1bmtub3duKTogYm9vbGVhbiA9PlxuICBBcnJheS5pc0FycmF5KHJhdykgJiYgcmF3LnNvbWUoc2x1ZyA9PiB0eXBlb2Ygc2x1ZyA9PT0gJ3N0cmluZycgJiYgc2x1Zy5sZW5ndGggPiAwKVxuXG4vKiogQXNlZ3VyYSBgY29ubmVjdG9yc2Agbm9ybWFsaXphZG9zIGVuIHVuIGFnZW50ZSBwcm92ZW5pZW50ZSBkZWwgbGlzdGFkbyBkZSBjdXN0b21zLiAqL1xuZXhwb3J0IGNvbnN0IHdpdGhOb3JtYWxpemVkQ29ubmVjdG9ycyA9IDxUIGV4dGVuZHMgeyBjb25uZWN0b3JzPzogdW5rbm93biB9PihhZ2VudDogVCk6IFQgPT4ge1xuICBjb25zdCBjb25uZWN0b3JzID0gbm9ybWFsaXplQWdlbnRDb25uZWN0b3JzKGFnZW50LmNvbm5lY3RvcnMpXG4gIHJldHVybiBjb25uZWN0b3JzID8geyAuLi5hZ2VudCwgY29ubmVjdG9ycyB9IDogYWdlbnRcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7OztBQUVBO0FBQ0EsT0FBTyxJQUFNQSxtQkFBbUIsR0FBRyxLQUFLOztBQUV4QztBQUNBLE9BQU8sSUFBTUMsb0JBQXVDLEdBQUcsQ0FBQyxRQUFRLEVBQUUsV0FBVyxDQUFDOztBQUU5RTtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sSUFBTUMsMkJBQTJCLEdBQUcsU0FBOUJBLDJCQUEyQkEsQ0FBSUMsVUFBbUI7RUFBQSxPQUM3REEsVUFBVSxNQUFBQyxNQUFBLENBQU9ILG9CQUFvQixJQUFJLEVBQUU7QUFBQTs7QUFFN0M7QUFDQTtBQUNBO0FBQ0E7QUFDQSxPQUFPLElBQU1JLGtDQUFrQyxHQUFHLFNBQXJDQSxrQ0FBa0NBLENBQUlGLFVBQW1CO0VBQUEsT0FBdUIsQ0FDM0Y7SUFBRUcsS0FBSyxFQUFFTixtQkFBbUI7SUFBRU8sS0FBSyxFQUFFSixVQUFVLE1BQUFDLE1BQUEsQ0FBT0gsb0JBQW9CLElBQUk7RUFBRyxDQUFDLEVBQ2xGO0lBQUVLLEtBQUssRUFBRSxLQUFLO0lBQUVDLEtBQUssRUFBRTtFQUFHLENBQUMsQ0FDNUI7QUFBQTs7QUFFRDtBQUNBLE9BQU8sSUFBTUMsd0JBQXdCLEdBQUcsU0FBM0JBLHdCQUF3QkEsQ0FBSUMsR0FBWSxFQUFtQztFQUN0RixJQUFJLENBQUNDLEtBQUssQ0FBQ0MsT0FBTyxDQUFDRixHQUFHLENBQUMsRUFBRSxPQUFPRyxTQUFTO0VBQ3pDLElBQU1DLE1BQU0sR0FBR0osR0FBRyxDQUNmSyxNQUFNLENBQUMsVUFBQ0MsU0FBUztJQUFBLE9BQTJDLENBQUMsQ0FBQ0EsU0FBUyxJQUFJQyxPQUFBLENBQU9ELFNBQVMsTUFBSyxRQUFRO0VBQUEsRUFBQyxDQUN6R0UsR0FBRyxDQUFDLFVBQUFGLFNBQVMsRUFBSTtJQUNoQixJQUFNVCxLQUFLLEdBQUcsT0FBT1MsU0FBUyxDQUFDVCxLQUFLLEtBQUssUUFBUSxHQUFHUyxTQUFTLENBQUNULEtBQUssR0FBRyxFQUFFO0lBQ3hFLElBQU1DLEtBQUssR0FBR0csS0FBSyxDQUFDQyxPQUFPLENBQUNJLFNBQVMsQ0FBQ1IsS0FBSyxDQUFDLEdBQ3hDUSxTQUFTLENBQUNSLEtBQUssQ0FBQ08sTUFBTSxDQUFDLFVBQUNJLElBQUk7TUFBQSxPQUFxQixPQUFPQSxJQUFJLEtBQUssUUFBUTtJQUFBLEVBQUMsR0FDMUUsRUFBRTtJQUNOLE9BQU87TUFBRVosS0FBSyxFQUFMQSxLQUFLO01BQUVDLEtBQUssRUFBTEE7SUFBTSxDQUFDO0VBQ3pCLENBQUMsQ0FBQyxDQUNETyxNQUFNLENBQUMsVUFBQUMsU0FBUztJQUFBLE9BQUlBLFNBQVMsQ0FBQ1QsS0FBSyxDQUFDYSxNQUFNLEdBQUcsQ0FBQztFQUFBLEVBQUM7RUFFbEQsT0FBT04sTUFBTSxDQUFDTSxNQUFNLEdBQUcsQ0FBQyxHQUFHTixNQUFNLEdBQUdELFNBQVM7QUFDL0MsQ0FBQzs7QUFFRDtBQUNBO0FBQ0E7QUFDQTtBQUNBLE9BQU8sSUFBTVEsa0NBQWtDLEdBQUcsU0FBckNBLGtDQUFrQ0EsQ0FBSVgsR0FBWTtFQUFBLE9BQzdEQyxLQUFLLENBQUNDLE9BQU8sQ0FBQ0YsR0FBRyxDQUFDLElBQUlBLEdBQUcsQ0FBQ1ksSUFBSSxDQUFDLFVBQUFILElBQUk7SUFBQSxPQUFJLE9BQU9BLElBQUksS0FBSyxRQUFRLElBQUlBLElBQUksQ0FBQ0MsTUFBTSxHQUFHLENBQUM7RUFBQSxFQUFDO0FBQUE7O0FBRXJGO0FBQ0EsT0FBTyxJQUFNRyx3QkFBd0IsR0FBRyxTQUEzQkEsd0JBQXdCQSxDQUF3Q0MsS0FBUSxFQUFRO0VBQzNGLElBQU1DLFVBQVUsR0FBR2hCLHdCQUF3QixDQUFDZSxLQUFLLENBQUNDLFVBQVUsQ0FBQztFQUM3RCxPQUFPQSxVQUFVLEdBQUFDLGFBQUEsQ0FBQUEsYUFBQSxLQUFRRixLQUFLO0lBQUVDLFVBQVUsRUFBVkE7RUFBVSxLQUFLRCxLQUFLO0FBQ3RELENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=