@projectcor/maia-components 2.44.5-0 → 2.45.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +2 -0
- package/lib/App.js +19 -44
- package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.js +51 -5
- package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.js +76 -18
- package/lib/components/atoms/AttachmentPreviewModal/PptPreview.js +31 -3
- package/lib/components/atoms/AttachmentPreviewModal/WordPreview.js +4 -2
- package/lib/components/atoms/ContextMentionChip/buildChipElement.js +255 -15
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +34 -5
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +1 -3
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +7 -19
- package/lib/components/atoms/MAIAInput/MAIAInput.js +10 -4
- package/lib/components/atoms/MAIAInput/MAIAInputEditor.js +60 -8
- package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.js +15 -3
- package/lib/components/atoms/ReasoningBlock/ReasoningBlock.js +2 -7
- package/lib/components/atoms/ReasoningBlock/ReasoningBlock.styles.js +16 -21
- package/lib/components/atoms/ReasoningBlock/ReasoningSteps.js +5 -7
- package/lib/components/atoms/ReasoningBlock/ReasoningTimeline.js +52 -72
- package/lib/components/atoms/ReasoningBlock/reasoningLeading.js +1 -6
- package/lib/components/atoms/ReasoningBlock/reasoningLiveNarration.js +15 -36
- package/lib/components/index.js +1 -2
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +29 -5
- package/lib/components/molecules/AbmSection/AbmGeneralSection.js +40 -6
- package/lib/components/molecules/AbmSection/AbmKnowledgeSection.js +90 -18
- package/lib/components/molecules/AbmSection/AbmLoaderFiles.js +15 -5
- package/lib/components/molecules/ChatAIContent/ChatAIContent.js +3 -7
- package/lib/components/molecules/ChatAIHome/ChatAIHome.js +6 -21
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +47 -19
- package/lib/components/molecules/ChatAIMessages/newStyles.js +26 -29
- package/lib/components/molecules/ChatAIModal/ChatAIModal.helpers.js +4 -147
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +108 -64
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.js +2 -3
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +153 -15
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +26 -2
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +86 -76
- package/lib/components/molecules/ChatFooter/ChatFooter.js +3 -5
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.js +44 -9
- package/lib/components/molecules/Sidebar/Sidebar.js +23 -41
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +171 -56
- package/lib/constants/permissions/index.js +2 -2
- package/lib/constants/permissions/utils.js +1 -4
- package/lib/dev/DevReasoningTimeline.js +37 -68
- package/lib/dev/Providers.js +3 -5
- package/lib/hooks/useChatManager/useChatManager.js +351 -76
- package/lib/hooks/useChatMessages/useChatMessages.js +82 -12
- package/lib/hooks/useClientSearch.js +32 -4
- package/lib/hooks/useContextMentions.js +163 -2
- package/lib/hooks/useContextPinPopover.js +75 -16
- package/lib/hooks/useEntitySearch.js +391 -38
- package/lib/hooks/useFrequentlyUsedActions.js +22 -60
- package/lib/hooks/useMentionPopover.js +35 -9
- package/lib/hooks/useMinimizedPillBottomOffset.js +45 -15
- package/lib/hooks/useProjectSearch.js +58 -4
- package/lib/hooks/useProjectSummaryConfig.js +52 -14
- package/lib/hooks/useRecentClientsSearch.js +32 -4
- package/lib/index.js +2 -5
- package/lib/lang/approvalBoxToolActions.js +492 -0
- package/lib/lang/br/index.js +23 -59
- package/lib/lang/en/index.js +23 -59
- package/lib/lang/es/index.js +23 -59
- package/lib/lang/fr/index.js +23 -59
- package/lib/services/maia/Actions/getFrequentlyUsedActions.js +1 -1
- package/lib/services/maia/Agents/getAgents.js +242 -78
- package/lib/services/maia/Orchestrator/orchestrator.js +121 -38
- package/lib/store/sessions/sessionNotifications.js +41 -35
- package/lib/store/sessions/sessionStreamManager.js +52 -40
- package/lib/styles/cascade.js +3 -29
- package/lib/styles/transitions.js +1 -3
- package/lib/types/agentModal.js +1 -1
- package/lib/types/global.d.js +1 -1
- package/lib/utils/hoursPlannerQuickActionType.js +1 -74
- package/lib/utils/imagePreprocessor.js +37 -12
- package/lib/utils/streamActivityMessages.js +60 -32
- package/package.json +1 -1
- package/lib/components/atoms/ActionableButton.spec.js +0 -111
- package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.spec.js +0 -52
- package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.utils.spec.js +0 -11
- package/lib/components/atoms/ApprovalBox/ApprovalBox.spec.js +0 -135
- package/lib/components/atoms/AttachmentCard/AttachmentCard.spec.js +0 -123
- package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.helpers.js +0 -65
- package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.helpers.spec.js +0 -66
- package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.spec.js +0 -211
- package/lib/components/atoms/AttachmentCard/AttachmentCardImage.spec.js +0 -78
- package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.helpers.js +0 -55
- package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.helpers.spec.js +0 -41
- package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.spec.js +0 -253
- package/lib/components/atoms/AttachmentPreviewModal/ExcelPreview.spec.js +0 -80
- package/lib/components/atoms/AttachmentPreviewModal/PptPreview.helpers.js +0 -31
- package/lib/components/atoms/AttachmentPreviewModal/PptPreview.helpers.spec.js +0 -33
- package/lib/components/atoms/AttachmentPreviewModal/PptPreview.spec.js +0 -25
- package/lib/components/atoms/AttachmentPreviewModal/WordPreview.helpers.js +0 -4
- package/lib/components/atoms/AttachmentPreviewModal/WordPreview.helpers.spec.js +0 -11
- package/lib/components/atoms/AttachmentPreviewModal/WordPreview.spec.js +0 -77
- package/lib/components/atoms/Backdrop/Backdrop.spec.js +0 -28
- package/lib/components/atoms/CardMenu/CardMenu.spec.js +0 -56
- package/lib/components/atoms/ChatClientSelector/ChatClientSelector.spec.js +0 -67
- package/lib/components/atoms/Checkbox/Checkbox.spec.js +0 -27
- package/lib/components/atoms/Chip/Chip.spec.js +0 -82
- package/lib/components/atoms/ChipLlm/ChipLlm.spec.js +0 -26
- package/lib/components/atoms/ClientSelector/ClientSelector.spec.js +0 -88
- package/lib/components/atoms/ContextMentionChip/ContextMentionChip.spec.js +0 -29
- package/lib/components/atoms/ContextMentionChip/MentionOverflowLabel.spec.js +0 -46
- package/lib/components/atoms/ContextMentionChip/buildChipElement.helpers.js +0 -227
- package/lib/components/atoms/ContextMentionChip/buildChipElement.helpers.spec.js +0 -77
- package/lib/components/atoms/ContextMentionChip/buildChipElement.spec.js +0 -81
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.helpers.js +0 -31
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.helpers.spec.js +0 -48
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.spec.js +0 -231
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.spec.js +0 -107
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.spec.js +0 -136
- package/lib/components/atoms/CopyToClipboard.spec.js +0 -74
- package/lib/components/atoms/EditableLabel/EditableLabel.spec.js +0 -76
- package/lib/components/atoms/EntitySelector/EntitySelector.spec.js +0 -86
- package/lib/components/atoms/Expand/Expand.spec.js +0 -57
- package/lib/components/atoms/Fade/Fade.spec.js +0 -31
- package/lib/components/atoms/FeedbackButton/FeedbackButton.spec.js +0 -75
- package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.spec.js +0 -104
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.spec.js +0 -91
- package/lib/components/atoms/HelpButton.spec.js +0 -87
- package/lib/components/atoms/ImagePreview/ImagePreview.spec.js +0 -96
- package/lib/components/atoms/ListMenuOption/ListMenuOption.spec.js +0 -54
- package/lib/components/atoms/LoadingFaqs/LoadingFaqs.spec.js +0 -21
- package/lib/components/atoms/LoadingSearchClients/LoadingSearchClients.spec.js +0 -20
- package/lib/components/atoms/LoadingSearchProjects/LoadingSearchProjects.spec.js +0 -26
- package/lib/components/atoms/LoadingText/LoadingText.spec.js +0 -25
- package/lib/components/atoms/MAIAButton/MAIAButton.spec.js +0 -42
- package/lib/components/atoms/MAIAError/MAIAError.spec.js +0 -27
- package/lib/components/atoms/MAIAInput/MAIAInput.helpers.js +0 -12
- package/lib/components/atoms/MAIAInput/MAIAInput.helpers.spec.js +0 -26
- package/lib/components/atoms/MAIAInput/MAIAInput.spec.js +0 -430
- package/lib/components/atoms/MAIAInput/MAIAInputEditor.helpers.js +0 -50
- package/lib/components/atoms/MAIAInput/MAIAInputEditor.helpers.spec.js +0 -20
- package/lib/components/atoms/MAIAInput/MAIAInputEditor.spec.js +0 -53
- package/lib/components/atoms/MAIAInput/maiaInputLayout.spec.js +0 -22
- package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.spec.js +0 -64
- package/lib/components/atoms/MaiaWrapper/MaiaWrapper.spec.js +0 -43
- package/lib/components/atoms/MaiaWrapper/MaiaWrapperBase.spec.js +0 -114
- package/lib/components/atoms/MaiaWrapper/ModernMaiaWrapper.spec.js +0 -51
- package/lib/components/atoms/ModalClientAccess/ModalClientAccess.spec.js +0 -48
- package/lib/components/atoms/ModalProject/ModalProject.spec.js +0 -66
- package/lib/components/atoms/NextPageLoader.spec.js +0 -37
- package/lib/components/atoms/OnboardingModalButton/OnboardingModal.spec.js +0 -20
- package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.helpers.js +0 -17
- package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.helpers.spec.js +0 -35
- package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.spec.js +0 -47
- package/lib/components/atoms/OptionAccessibility/OptionAccessibility.spec.js +0 -86
- package/lib/components/atoms/PrimaryButton.spec.js +0 -42
- package/lib/components/atoms/ProjectSelector/ProjectSelector.spec.js +0 -69
- package/lib/components/atoms/ReasoningBlock/ReasoningBlock.spec.js +0 -69
- package/lib/components/atoms/ReasoningBlock/ReasoningSteps.spec.js +0 -59
- package/lib/components/atoms/ReasoningBlock/ReasoningTimeline.spec.js +0 -132
- package/lib/components/atoms/ReasoningBlock/groupParallelSteps.spec.js +0 -162
- package/lib/components/atoms/ReasoningBlock/reasoningLeading.spec.js +0 -70
- package/lib/components/atoms/ReasoningBlock/reasoningLiveNarration.spec.js +0 -120
- package/lib/components/atoms/ReasoningBlock/reasoningMotion.js +0 -4
- package/lib/components/atoms/ReasoningBlock/reasoningTimeline.helpers.js +0 -10
- package/lib/components/atoms/ReasoningBlock/reasoningTimeline.helpers.spec.js +0 -31
- package/lib/components/atoms/ReasoningBlock/useCollapsibleHeight.js +0 -52
- package/lib/components/atoms/ReasoningBlock/useCollapsibleHeight.spec.js +0 -90
- package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.spec.js +0 -16
- package/lib/components/atoms/SkillsDropdown/SkillsDropdown.spec.js +0 -107
- package/lib/components/atoms/SlashCommandChip/SlashCommandChip.spec.js +0 -24
- package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.spec.js +0 -85
- package/lib/components/atoms/Switch/Switch.spec.js +0 -41
- package/lib/components/atoms/TextArea/CustomTextArea.spec.js +0 -52
- package/lib/components/atoms/TextArea/TextArea.spec.js +0 -68
- package/lib/components/atoms/ThirdButton.spec.js +0 -29
- package/lib/components/atoms/VideoModal/VideoModal.spec.js +0 -68
- package/lib/components/atoms/WithAppCfg.spec.js +0 -60
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.helpers.js +0 -37
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.helpers.spec.js +0 -53
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.spec.js +0 -371
- package/lib/components/molecules/AbmSection/AbmGeneralSection.helpers.js +0 -39
- package/lib/components/molecules/AbmSection/AbmGeneralSection.helpers.spec.js +0 -57
- package/lib/components/molecules/AbmSection/AbmGeneralSection.spec.js +0 -227
- package/lib/components/molecules/AbmSection/AbmKnowledgeSection.helpers.js +0 -86
- package/lib/components/molecules/AbmSection/AbmKnowledgeSection.helpers.spec.js +0 -108
- package/lib/components/molecules/AbmSection/AbmKnowledgeSection.spec.js +0 -254
- package/lib/components/molecules/AbmSection/AbmLoaderFiles.helpers.js +0 -17
- package/lib/components/molecules/AbmSection/AbmLoaderFiles.helpers.spec.js +0 -50
- package/lib/components/molecules/AbmSection/AbmLoaderFiles.spec.js +0 -94
- package/lib/components/molecules/AgentInputBlock/AgentInputBlockMessage.js +0 -83
- package/lib/components/molecules/AgentInputBlock/AgentInputBlockMessage.styles.js +0 -30
- package/lib/components/molecules/AgentInputBlock/index.js +0 -5
- package/lib/components/molecules/AgentInputBlock/resolveAgentInputBlock.js +0 -52
- package/lib/components/molecules/AgentInputBlock/resolveAgentInputBlock.spec.js +0 -76
- package/lib/components/molecules/AgentInputBlock/resolveLegacyContextSession.js +0 -20
- package/lib/components/molecules/AgentInputBlock/resolveLegacyContextSession.spec.js +0 -34
- package/lib/components/molecules/AgentInputBlock/useAgentChangeModelAction.js +0 -36
- package/lib/components/molecules/ChatAIClientSelector/ChatAIClientSelector.spec.js +0 -66
- package/lib/components/molecules/ChatAIContent/ChatAIContent.spec.js +0 -145
- package/lib/components/molecules/ChatAIHistory/ChatAIHistory.spec.js +0 -204
- package/lib/components/molecules/ChatAIHome/ChatAIHome.spec.js +0 -246
- package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.spec.js +0 -86
- package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.spec.js +0 -104
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.helpers.js +0 -54
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.helpers.spec.js +0 -77
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.spec.js +0 -410
- package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.spec.js +0 -46
- package/lib/components/molecules/ChatAIModal/ChatAIModal.helpers.spec.js +0 -471
- package/lib/components/molecules/ChatAIModal/ChatAIModal.spec.js +0 -659
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.helpers.js +0 -5
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.helpers.spec.js +0 -33
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.spec.js +0 -116
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.spec.js +0 -134
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.helpers.js +0 -30
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.helpers.spec.js +0 -95
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.spec.js +0 -241
- package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.spec.js +0 -37
- package/lib/components/molecules/ChatAIModal/constants.spec.js +0 -16
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.spec.js +0 -22
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/useFloatingPanelDragTilt.spec.js +0 -67
- package/lib/components/molecules/ChatAIModal/layout.spec.js +0 -72
- package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.spec.js +0 -172
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.spec.js +0 -128
- package/lib/components/molecules/ChatAIProjectSelector/ChatAIProjectSelector.spec.js +0 -66
- package/lib/components/molecules/ChatFooter/ChatFooter.spec.js +0 -355
- package/lib/components/molecules/ChatFooter/ChatFooterCorAccess.spec.js +0 -10
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.helpers.js +0 -48
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.helpers.spec.js +0 -82
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.spec.js +0 -139
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.spec.js +0 -84
- package/lib/components/molecules/MessageFeedback/MessageFeedback.spec.js +0 -116
- package/lib/components/molecules/ProjectSummaryChat/ProjectSummaryChat.spec.js +0 -126
- package/lib/components/molecules/ProjectSummaryConfig/ProjectSummaryConfig.spec.js +0 -115
- package/lib/components/molecules/ProjectSummaryContent/ProjectSummaryContent.spec.js +0 -79
- package/lib/components/molecules/ProjectSummaryModal/ProjectSummaryModal.spec.js +0 -37
- package/lib/components/molecules/Sidebar/Sidebar.spec.js +0 -453
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.helpers.js +0 -198
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.helpers.spec.js +0 -385
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.spec.js +0 -1125
- package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.spec.js +0 -112
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.spec.js +0 -405
- package/lib/components/organisms/ChatAI/ChatAI.spec.js +0 -174
- package/lib/components/organisms/ChatAIPage/ChatAIPage.js +0 -525
- package/lib/components/organisms/ChatAIPage/ChatAIPage.spec.js +0 -231
- package/lib/components/organisms/ChatAIPage/ChatAIPage.styles.js +0 -16
- package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.js +0 -253
- package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.spec.js +0 -139
- package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.styles.js +0 -13
- package/lib/components/organisms/ChatAIPage/ChatAIPageHome.js +0 -267
- package/lib/components/organisms/ChatAIPage/ChatAIPageHome.spec.js +0 -261
- package/lib/components/organisms/ChatAIPage/ChatAIPageHome.styles.js +0 -194
- package/lib/components/organisms/ChatAIPage/ChatAIPageHomeActionCardSlot.js +0 -105
- package/lib/components/organisms/ChatAIPage/ChatAIPageHomeActionCardSlot.spec.js +0 -73
- package/lib/components/organisms/ChatAIPage/ChatAIPageHomeActionCards.skeleton.js +0 -38
- package/lib/components/organisms/ChatAIPage/getDaypart.js +0 -9
- package/lib/components/organisms/ChatAIPage/getDaypart.spec.js +0 -19
- package/lib/components/organisms/ChatAIPage/index.js +0 -3
- package/lib/components/organisms/ClientAIButton/ClientAIButton.spec.js +0 -53
- package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.spec.js +0 -59
- package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.spec.js +0 -79
- package/lib/components/organisms/EditQuestionModal/EditQuestionModal.spec.js +0 -86
- package/lib/components/organisms/ModalFileExceeds/ModalFileExceeds.spec.js +0 -49
- package/lib/components/organisms/ProjectAIButton/ProjectAIButton.spec.js +0 -67
- package/lib/components/organisms/ProjectSummary/ProjectSummary.spec.js +0 -117
- package/lib/components/organisms/SnackBar/Snackbar.spec.js +0 -66
- package/lib/components/organisms/SourcesInformation/SourceItem.spec.js +0 -19
- package/lib/components/organisms/SourcesInformation/SourcesInformationModal.spec.js +0 -52
- package/lib/constants/maiaExternalConnectorsAccess.spec.js +0 -29
- package/lib/constants/permissions/utils.spec.js +0 -128
- package/lib/dev/DevMaiaPage.js +0 -30
- package/lib/hooks/frequentlyUsedActionsCache.js +0 -17
- package/lib/hooks/frequentlyUsedActionsCache.spec.js +0 -25
- package/lib/hooks/useAccessClient/useAccessClient.spec.js +0 -149
- package/lib/hooks/useAgentModel/useAgentModel.spec.js +0 -83
- package/lib/hooks/useAgentModel/useCreateAgent.spec.js +0 -231
- package/lib/hooks/useAgentModel/useDeleteAgent.spec.js +0 -183
- package/lib/hooks/useAgentModel/useUpdateAgent.spec.js +0 -313
- package/lib/hooks/useAgentSuggestions.spec.js +0 -89
- package/lib/hooks/useCaretPosition.spec.js +0 -58
- package/lib/hooks/useChatManager/useChatManager.helpers.js +0 -353
- package/lib/hooks/useChatManager/useChatManager.helpers.spec.js +0 -506
- package/lib/hooks/useChatManager/useChatManager.spec.js +0 -1261
- package/lib/hooks/useChatMessages/useChatMessages.helpers.js +0 -109
- package/lib/hooks/useChatMessages/useChatMessages.helpers.spec.js +0 -176
- package/lib/hooks/useChatMessages/useChatMessages.spec.js +0 -379
- package/lib/hooks/useChats/useChats.spec.js +0 -208
- package/lib/hooks/useClientSearch.helpers.js +0 -36
- package/lib/hooks/useClientSearch.helpers.spec.js +0 -52
- package/lib/hooks/useClientSearch.spec.js +0 -86
- package/lib/hooks/useContextMentions.helpers.js +0 -152
- package/lib/hooks/useContextMentions.helpers.spec.js +0 -143
- package/lib/hooks/useContextMentions.spec.js +0 -239
- package/lib/hooks/useContextMentions.types.js +0 -2
- package/lib/hooks/useContextPinPopover.helpers.js +0 -95
- package/lib/hooks/useContextPinPopover.helpers.spec.js +0 -115
- package/lib/hooks/useContextPinPopover.spec.js +0 -159
- package/lib/hooks/useContinueLegacyContextInNewChat/index.js +0 -2
- package/lib/hooks/useContinueLegacyContextInNewChat/useContinueLegacyContextInNewChat.js +0 -93
- package/lib/hooks/useDebounce.spec.js +0 -42
- package/lib/hooks/useEntitySearch.helpers.js +0 -359
- package/lib/hooks/useEntitySearch.helpers.spec.js +0 -321
- package/lib/hooks/useEntitySearch.spec.js +0 -443
- package/lib/hooks/useEvent.spec.js +0 -45
- package/lib/hooks/useFrequentlyAskedQuestions.spec.js +0 -222
- package/lib/hooks/useFrequentlyUsedActions.spec.js +0 -135
- package/lib/hooks/useIsMaiaPageRoute.js +0 -26
- package/lib/hooks/useIsMaiaPageRoute.spec.js +0 -26
- package/lib/hooks/useKnowledge/deleteKnowledge.spec.js +0 -122
- package/lib/hooks/useKnowledge/downloadKnowledge.spec.js +0 -148
- package/lib/hooks/useKnowledge/saveKnowledge.spec.js +0 -104
- package/lib/hooks/useKnowledge/useKnowledgeOperations.spec.js +0 -178
- package/lib/hooks/useMaiaChatSessionMeta/index.js +0 -2
- package/lib/hooks/useMaiaChatSessionMeta/useMaiaChatSessionMeta.js +0 -24
- package/lib/hooks/useMentionAllowedTypes.spec.js +0 -89
- package/lib/hooks/useMentionPopover.helpers.js +0 -41
- package/lib/hooks/useMentionPopover.helpers.spec.js +0 -71
- package/lib/hooks/useMentionPopover.spec.js +0 -215
- package/lib/hooks/useMinimizedPillBottomOffset.helpers.js +0 -47
- package/lib/hooks/useMinimizedPillBottomOffset.helpers.spec.js +0 -132
- package/lib/hooks/useMinimizedPillBottomOffset.spec.js +0 -89
- package/lib/hooks/useMinimizedPillNoveltyDot/useMinimizedPillNoveltyDot.spec.js +0 -67
- package/lib/hooks/useModal/useModal.spec.js +0 -73
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.spec.js +0 -192
- package/lib/hooks/useProjectSearch.helpers.js +0 -61
- package/lib/hooks/useProjectSearch.helpers.spec.js +0 -70
- package/lib/hooks/useProjectSearch.spec.js +0 -91
- package/lib/hooks/useProjectSummary.spec.js +0 -193
- package/lib/hooks/useProjectSummaryConfig.helpers.js +0 -62
- package/lib/hooks/useProjectSummaryConfig.helpers.spec.js +0 -92
- package/lib/hooks/useProjectSummaryConfig.spec.js +0 -133
- package/lib/hooks/useReasoningTrace/reasoningStore.spec.js +0 -112
- package/lib/hooks/useRecentClientsSearch.helpers.js +0 -33
- package/lib/hooks/useRecentClientsSearch.helpers.spec.js +0 -33
- package/lib/hooks/useRecentClientsSearch.spec.js +0 -85
- package/lib/hooks/useRecentContexts.spec.js +0 -139
- package/lib/hooks/useResize.spec.js +0 -37
- package/lib/hooks/useSkillsCatalog.spec.js +0 -88
- package/lib/hooks/useSlashCommands.spec.js +0 -139
- package/lib/hooks/useSmoothStreamText/useSmoothStreamText.spec.js +0 -101
- package/lib/hooks/useSnackBarManager/useSnackBarManager.spec.js +0 -33
- package/lib/hooks/useStreamResponse.spec.js +0 -199
- package/lib/hooks/useT.spec.js +0 -20
- package/lib/hooks/useToggle.spec.js +0 -33
- package/lib/hooks/useToggleFavorite/useToggleFavorite.spec.js +0 -171
- package/lib/services/maia/Access/updateAccess.spec.js +0 -137
- package/lib/services/maia/Actions/getFrequentlyUsedActions.spec.js +0 -56
- package/lib/services/maia/Actions/getSlashCommands.spec.js +0 -91
- package/lib/services/maia/Agents/connectors.spec.js +0 -359
- package/lib/services/maia/Agents/createAgent.spec.js +0 -55
- package/lib/services/maia/Agents/deleteAgent.spec.js +0 -57
- package/lib/services/maia/Agents/fetchAgentDetail.spec.js +0 -108
- package/lib/services/maia/Agents/getAgentById.spec.js +0 -190
- package/lib/services/maia/Agents/getAgentModels.spec.js +0 -190
- package/lib/services/maia/Agents/getAgentSuggestions.spec.js +0 -89
- package/lib/services/maia/Agents/getAgents.helpers.js +0 -181
- package/lib/services/maia/Agents/getAgents.helpers.spec.js +0 -211
- package/lib/services/maia/Agents/getAgents.spec.js +0 -697
- package/lib/services/maia/Agents/setAgentToolGroups.spec.js +0 -45
- package/lib/services/maia/Agents/toggleFavorite.spec.js +0 -59
- package/lib/services/maia/Agents/updateAgent.spec.js +0 -48
- package/lib/services/maia/Chats/deleteChat.spec.js +0 -31
- package/lib/services/maia/Chats/getChatMessages.spec.js +0 -150
- package/lib/services/maia/Chats/getChatsByUserId.spec.js +0 -149
- package/lib/services/maia/Chats/markSessionAsRead.spec.js +0 -30
- package/lib/services/maia/Chats/patchChat.spec.js +0 -41
- package/lib/services/maia/Chats/wasHelpfulChat.spec.js +0 -28
- package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.spec.js +0 -58
- package/lib/services/maia/Knowledge/delete.spec.js +0 -45
- package/lib/services/maia/Knowledge/download.spec.js +0 -78
- package/lib/services/maia/Knowledge/save.spec.js +0 -58
- package/lib/services/maia/Orchestrator/orchestrator.helpers.js +0 -130
- package/lib/services/maia/Orchestrator/orchestrator.helpers.spec.js +0 -153
- package/lib/services/maia/Orchestrator/orchestrator.spec.js +0 -181
- package/lib/services/maia/RecentClients/getRecentClients.spec.js +0 -52
- package/lib/services/maia/RecentContexts/getRecentContexts.spec.js +0 -103
- package/lib/services/maia/RecentProjects/getRecentProjects.spec.js +0 -82
- package/lib/services/maia/RecentTasks/getRecentTasks.spec.js +0 -63
- package/lib/services/maia/RecentUsers/getRecentUsers.spec.js +0 -82
- package/lib/services/maia/Skills/createSkill.spec.js +0 -68
- package/lib/services/maia/Skills/deleteSkill.spec.js +0 -42
- package/lib/services/maia/Skills/generateSkill.spec.js +0 -48
- package/lib/services/maia/Skills/getSkills.spec.js +0 -152
- package/lib/services/maia/Skills/updateSkill.spec.js +0 -62
- package/lib/services/maia/client.spec.js +0 -56
- package/lib/services/utils/fetchCOR.spec.js +0 -211
- package/lib/services/utils/getCookie.spec.js +0 -20
- package/lib/services/utils/mapChatMessages.spec.js +0 -254
- package/lib/store/chatsSidebarOptimistic.spec.js +0 -112
- package/lib/store/maiaLastChatPersistence.spec.js +0 -22
- package/lib/store/maiaPanelSessionPersistence.spec.js +0 -62
- package/lib/store/sessions/sessionNotificationSound.spec.js +0 -145
- package/lib/store/sessions/sessionNotifications.helpers.js +0 -45
- package/lib/store/sessions/sessionNotifications.helpers.spec.js +0 -63
- package/lib/store/sessions/sessionNotifications.spec.js +0 -106
- package/lib/store/sessions/sessionStreamManager.spec.js +0 -503
- package/lib/store/sessions/sessions.types.spec.js +0 -16
- package/lib/store/sessions/useSessionsStore.spec.js +0 -135
- package/lib/store/useChatsStore.spec.js +0 -619
- package/lib/store/useFaqsStore.spec.js +0 -57
- package/lib/test/mockSseStream.js +0 -121
- package/lib/test/streamdownCodeMock.js +0 -6
- package/lib/test/streamdownMock.js +0 -12
- package/lib/utils/actionCategoryMap.spec.js +0 -18
- package/lib/utils/agentDisplayName.spec.js +0 -44
- package/lib/utils/autoApproveStorage.spec.js +0 -25
- package/lib/utils/chatInputFiles.spec.js +0 -39
- package/lib/utils/contextMentionIcons.spec.js +0 -41
- package/lib/utils/contextMentionLabel.spec.js +0 -13
- package/lib/utils/contextMentionTriggers.spec.js +0 -38
- package/lib/utils/contextMentionTypeLabel.spec.js +0 -14
- package/lib/utils/corConnectorMentionTypes.spec.js +0 -23
- package/lib/utils/entityLinkRender.spec.js +0 -72
- package/lib/utils/fileDownloadHelper.spec.js +0 -67
- package/lib/utils/formatQuickActionMessage.spec.js +0 -27
- package/lib/utils/formatUnreadCount.spec.js +0 -12
- package/lib/utils/getUnitFileSize.spec.js +0 -18
- package/lib/utils/hitlAnalytics.spec.js +0 -100
- package/lib/utils/hoursPlannerQuickActionType.spec.js +0 -64
- package/lib/utils/imagePreprocessor.helpers.js +0 -28
- package/lib/utils/imagePreprocessor.helpers.spec.js +0 -28
- package/lib/utils/imagePreprocessor.spec.js +0 -112
- package/lib/utils/maiaPageRoute.js +0 -24
- package/lib/utils/maiaPageRoute.spec.js +0 -23
- package/lib/utils/mapBackendLang.spec.js +0 -19
- package/lib/utils/navigateContextEntity.spec.js +0 -50
- package/lib/utils/normalizeAgentConnectors.spec.js +0 -107
- package/lib/utils/orchestratorSubagents.spec.js +0 -32
- package/lib/utils/reasoningMappers.spec.js +0 -103
- package/lib/utils/recentContextsHomeLimit.spec.js +0 -32
- package/lib/utils/renderContextMentions.spec.js +0 -158
- package/lib/utils/retryCompletion.spec.js +0 -99
- package/lib/utils/skillContentSize.spec.js +0 -13
- package/lib/utils/slashCommandMarker.spec.js +0 -43
- package/lib/utils/sortManagerHoursHomeFuas.spec.js +0 -51
- package/lib/utils/sseStreamContent.spec.js +0 -31
- package/lib/utils/streamActivityMessages.spec.js +0 -227
- package/lib/utils/validateTrimmedFields.spec.js +0 -26
|
@@ -8,11 +8,6 @@ export var LEADING_NARRATION_INDEX = -1;
|
|
|
8
8
|
export var isLeadingNarrationStep = function isLeadingNarrationStep(step) {
|
|
9
9
|
return step.i === LEADING_NARRATION_INDEX && step.type === 'narration';
|
|
10
10
|
};
|
|
11
|
-
|
|
12
|
-
/** Los `thinking` son el razonamiento crudo del modelo: fuera de la vista por defecto. */
|
|
13
|
-
export var isVisibleStep = function isVisibleStep(step) {
|
|
14
|
-
return step.type !== 'thinking';
|
|
15
|
-
};
|
|
16
11
|
export var findLeadingNarration = function findLeadingNarration(steps) {
|
|
17
12
|
return steps.find(isLeadingNarrationStep);
|
|
18
13
|
};
|
|
@@ -70,4 +65,4 @@ export var stripOrphanLeadingNarration = function stripOrphanLeadingNarration(st
|
|
|
70
65
|
return !isLeadingNarrationStep(step);
|
|
71
66
|
});
|
|
72
67
|
};
|
|
73
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
68
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJMRUFESU5HX05BUlJBVElPTl9JTkRFWCIsImlzTGVhZGluZ05hcnJhdGlvblN0ZXAiLCJzdGVwIiwiaSIsInR5cGUiLCJmaW5kTGVhZGluZ05hcnJhdGlvbiIsInN0ZXBzIiwiZmluZCIsImhhc0FjdGlvblN0ZXAiLCJzb21lIiwidG9vbCIsIm5hcnJhdGlvblRleHRzTWF0Y2giLCJjb21taXR0ZWQiLCJzdHJlYW1lZCIsInN0YXJ0c1dpdGgiLCJuYXJyYXRpb25UZXh0c1JlbGF0ZWQiLCJsZWZ0IiwicmlnaHQiLCJsb29rc0xpa2VJbnRlcm1lZGlhdGVOYXJyYXRpb25TdHJlYW0iLCJ0ZXh0IiwidHJpbW1lZCIsInRyaW0iLCJsZW5ndGgiLCJ0ZXN0IiwicGxhY2VMZWFkaW5nTmFycmF0aW9uRmlyc3QiLCJsaXZlU3RlcHMiLCJhdXRob3JpdGF0aXZlU3RlcHMiLCJsZWFkaW5nIiwibWF0Y2hJbmRleCIsImZpbmRJbmRleCIsIm5leHQiLCJzbGljZSIsIl9uZXh0JHNwbGljZSIsInNwbGljZSIsIl9uZXh0JHNwbGljZTIiLCJfc2xpY2VkVG9BcnJheSIsIm5hcnJhdGlvbiIsImNvbmNhdCIsIl90b0NvbnN1bWFibGVBcnJheSIsIl9vYmplY3RTcHJlYWQiLCJzdHJpcE9ycGhhbkxlYWRpbmdOYXJyYXRpb24iLCJmaWx0ZXIiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9SZWFzb25pbmdCbG9jay9yZWFzb25pbmdMZWFkaW5nLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVhc29uaW5nU3RlcCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL3JlYXNvbmluZydcblxuLyoqIFN0ZXAgc2ludMOpdGljbzogbmFycmFjacOzbiBxdWUgbGxlZ8OzIGNvbW8gdG9rZW5zIGFudGVzIGRlIGN1YWxxdWllciBhY2Npw7NuLiAqL1xuZXhwb3J0IGNvbnN0IExFQURJTkdfTkFSUkFUSU9OX0lOREVYID0gLTFcblxuZXhwb3J0IGNvbnN0IGlzTGVhZGluZ05hcnJhdGlvblN0ZXAgPSAoc3RlcDogUmVhc29uaW5nU3RlcCk6IGJvb2xlYW4gPT5cbiAgc3RlcC5pID09PSBMRUFESU5HX05BUlJBVElPTl9JTkRFWCAmJiBzdGVwLnR5cGUgPT09ICduYXJyYXRpb24nXG5cbmV4cG9ydCBjb25zdCBmaW5kTGVhZGluZ05hcnJhdGlvbiA9IChzdGVwczogUmVhc29uaW5nU3RlcFtdKTogUmVhc29uaW5nU3RlcCB8IHVuZGVmaW5lZCA9PlxuICBzdGVwcy5maW5kKGlzTGVhZGluZ05hcnJhdGlvblN0ZXApXG5cbmV4cG9ydCBjb25zdCBoYXNBY3Rpb25TdGVwID0gKHN0ZXBzOiBSZWFzb25pbmdTdGVwW10pOiBib29sZWFuID0+XG4gIHN0ZXBzLnNvbWUoc3RlcCA9PiBzdGVwLnR5cGUgPT09ICd0b29sJyB8fCBzdGVwLnR5cGUgPT09ICdoYW5kb2ZmJyB8fCAoISFzdGVwLnRvb2wgJiYgc3RlcC50eXBlICE9PSAnbmFycmF0aW9uJykpXG5cbmV4cG9ydCBjb25zdCBuYXJyYXRpb25UZXh0c01hdGNoID0gKGNvbW1pdHRlZDogc3RyaW5nIHwgdW5kZWZpbmVkLCBzdHJlYW1lZDogc3RyaW5nIHwgbnVsbCk6IGJvb2xlYW4gPT4ge1xuICBpZiAoIWNvbW1pdHRlZCB8fCAhc3RyZWFtZWQpIHJldHVybiBmYWxzZVxuICBpZiAoY29tbWl0dGVkID09PSBzdHJlYW1lZCkgcmV0dXJuIHRydWVcbiAgcmV0dXJuIGNvbW1pdHRlZC5zdGFydHNXaXRoKHN0cmVhbWVkKVxufVxuXG5leHBvcnQgY29uc3QgbmFycmF0aW9uVGV4dHNSZWxhdGVkID0gKGxlZnQ6IHN0cmluZyB8IHVuZGVmaW5lZCwgcmlnaHQ6IHN0cmluZyB8IHVuZGVmaW5lZCk6IGJvb2xlYW4gPT4ge1xuICBpZiAoIWxlZnQgfHwgIXJpZ2h0KSByZXR1cm4gZmFsc2VcbiAgaWYgKGxlZnQgPT09IHJpZ2h0KSByZXR1cm4gdHJ1ZVxuICByZXR1cm4gbGVmdC5zdGFydHNXaXRoKHJpZ2h0KSB8fCByaWdodC5zdGFydHNXaXRoKGxlZnQpXG59XG5cbi8qKiBOYXJyYWNpw7NuIGludGVybWVkaWEgPSBww6FycmFmbyBjb3J0bzsgdGFibGFzIG8gaGVhZGVycyBpbmRpY2FuIHJlc3B1ZXN0YSBmaW5hbC4gKi9cbmV4cG9ydCBjb25zdCBsb29rc0xpa2VJbnRlcm1lZGlhdGVOYXJyYXRpb25TdHJlYW0gPSAodGV4dDogc3RyaW5nKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IHRyaW1tZWQgPSB0ZXh0LnRyaW0oKVxuICBpZiAoIXRyaW1tZWQpIHJldHVybiB0cnVlXG4gIGlmICh0cmltbWVkLmxlbmd0aCA+IDMyMCkgcmV0dXJuIGZhbHNlXG4gIGlmICgvXFxuKD86I3sxLDN9XFxzfC0tLXxcXHwuK1xcfCkvLnRlc3QodGV4dCkpIHJldHVybiBmYWxzZVxuICByZXR1cm4gdHJ1ZVxufVxuXG4vKipcbiAqIFNpIGxhIG5hcnJhY2nDs24gc2UgZXNjcmliacOzIGFudGVzIHF1ZSBsb3Mgc3RlcHMsIGVuIGVsIGNvbXBsZXRlIGRlbCBiYWNrIHN1ZWxlXG4gKiBxdWVkYXIgYWwgZmluYWwgKGNvbW8gc2kgZnVlcmEgZGVsIMO6bHRpbW8gdG9vbCkuIExhIGRldm9sdmVtb3MgYWwgaW5pY2lvLlxuICovXG5leHBvcnQgY29uc3QgcGxhY2VMZWFkaW5nTmFycmF0aW9uRmlyc3QgPSAoXG4gIGxpdmVTdGVwczogUmVhc29uaW5nU3RlcFtdLFxuICBhdXRob3JpdGF0aXZlU3RlcHM6IFJlYXNvbmluZ1N0ZXBbXVxuKTogUmVhc29uaW5nU3RlcFtdID0+IHtcbiAgY29uc3QgbGVhZGluZyA9IGZpbmRMZWFkaW5nTmFycmF0aW9uKGxpdmVTdGVwcylcbiAgaWYgKCFsZWFkaW5nPy50ZXh0IHx8ICFhdXRob3JpdGF0aXZlU3RlcHMubGVuZ3RoKSByZXR1cm4gYXV0aG9yaXRhdGl2ZVN0ZXBzXG5cbiAgY29uc3QgbWF0Y2hJbmRleCA9IGF1dGhvcml0YXRpdmVTdGVwcy5maW5kSW5kZXgoXG4gICAgc3RlcCA9PiBzdGVwLnR5cGUgPT09ICduYXJyYXRpb24nICYmIG5hcnJhdGlvblRleHRzUmVsYXRlZChzdGVwLnRleHQsIGxlYWRpbmcudGV4dClcbiAgKVxuXG4gIGlmIChtYXRjaEluZGV4ID09PSAwKSByZXR1cm4gYXV0aG9yaXRhdGl2ZVN0ZXBzXG4gIGlmIChtYXRjaEluZGV4ID4gMCkge1xuICAgIGNvbnN0IG5leHQgPSBhdXRob3JpdGF0aXZlU3RlcHMuc2xpY2UoKVxuICAgIGNvbnN0IFtuYXJyYXRpb25dID0gbmV4dC5zcGxpY2UobWF0Y2hJbmRleCwgMSlcbiAgICByZXR1cm4gW25hcnJhdGlvbiwgLi4ubmV4dF1cbiAgfVxuXG4gIHJldHVybiBbeyAuLi5sZWFkaW5nIH0sIC4uLmF1dGhvcml0YXRpdmVTdGVwc11cbn1cblxuLyoqIFR1cm5vIHNvbG8gY29uIG5hcnJhY2nDs24gc2ludMOpdGljYSAoc2luIGFjY2lvbmVzIGRlbCBiYWNrKTogbm8gZXMgcmF6b25hbWllbnRvIHJlYWwuICovXG5leHBvcnQgY29uc3Qgc3RyaXBPcnBoYW5MZWFkaW5nTmFycmF0aW9uID0gKHN0ZXBzOiBSZWFzb25pbmdTdGVwW10pOiBSZWFzb25pbmdTdGVwW10gPT4ge1xuICBjb25zdCBsZWFkaW5nID0gZmluZExlYWRpbmdOYXJyYXRpb24oc3RlcHMpXG4gIGlmICghbGVhZGluZyB8fCBoYXNBY3Rpb25TdGVwKHN0ZXBzKSkgcmV0dXJuIHN0ZXBzXG4gIHJldHVybiBzdGVwcy5maWx0ZXIoc3RlcCA9PiAhaXNMZWFkaW5nTmFycmF0aW9uU3RlcChzdGVwKSlcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQTtBQUNBLE9BQU8sSUFBTUEsdUJBQXVCLEdBQUcsQ0FBQyxDQUFDO0FBRXpDLE9BQU8sSUFBTUMsc0JBQXNCLEdBQUcsU0FBekJBLHNCQUFzQkEsQ0FBSUMsSUFBbUI7RUFBQSxPQUN4REEsSUFBSSxDQUFDQyxDQUFDLEtBQUtILHVCQUF1QixJQUFJRSxJQUFJLENBQUNFLElBQUksS0FB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
|
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { reasoningStore } from '../../../hooks/useReasoningTrace/reasoningStore';
|
|
2
|
-
import { findLeadingNarration, hasActionStep, narrationTextsMatch } from './reasoningLeading';
|
|
2
|
+
import { findLeadingNarration, hasActionStep, looksLikeIntermediateNarrationStream, narrationTextsMatch } from './reasoningLeading';
|
|
3
3
|
import { isVisibleStep } from './ReasoningSteps';
|
|
4
4
|
export var PENDING_NARRATION_KEY = 'pending-narration';
|
|
5
5
|
export { narrationTextsMatch } from './reasoningLeading';
|
|
@@ -11,42 +11,21 @@ export var isSeamlessNarrationCommit = function isSeamlessNarrationCommit(step,
|
|
|
11
11
|
return step.type === 'narration' && narrationTextsMatch(step.text, streamedText);
|
|
12
12
|
};
|
|
13
13
|
|
|
14
|
-
/** Narración inicial sin tools: vive en el cuerpo, no en la traza. */
|
|
15
|
-
export var shouldHideOrphanLeadingNarration = function shouldHideOrphanLeadingNarration(steps) {
|
|
16
|
-
return !hasActionStep(steps);
|
|
17
|
-
};
|
|
18
|
-
|
|
19
|
-
/**
|
|
20
|
-
* Oculta la narración commiteada al final de la traza mientras el mismo texto
|
|
21
|
-
* sigue streameando en el cuerpo del mensaje (evita duplicado body + bloque).
|
|
22
|
-
*/
|
|
23
|
-
export var shouldHideTailNarrationInTimeline = function shouldHideTailNarrationInTimeline(steps, streamActivity, streamingText) {
|
|
24
|
-
var context = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : {};
|
|
25
|
-
var _context$showThinking = context.showThinking,
|
|
26
|
-
showThinking = _context$showThinking === void 0 ? false : _context$showThinking;
|
|
27
|
-
if ((streamActivity === null || streamActivity === void 0 ? void 0 : streamActivity.phase) !== 'writing') return false;
|
|
28
|
-
if (!streamingText.trim()) return false;
|
|
29
|
-
var last = visibleReasoningSteps(steps, showThinking).at(-1);
|
|
30
|
-
if ((last === null || last === void 0 ? void 0 : last.type) !== 'narration') return false;
|
|
31
|
-
return narrationTextsMatch(last.text, streamingText);
|
|
32
|
-
};
|
|
33
|
-
|
|
34
14
|
/**
|
|
35
15
|
* Narración de turno: tokens sin step van anclados al inicio. Una narración
|
|
36
16
|
* commiteada (pre answer_reset) se pinta en su fila, no se recuelga al último tool.
|
|
37
17
|
*/
|
|
38
|
-
export var shouldStreamNarrationInTimeline = function shouldStreamNarrationInTimeline(steps, streamActivity, streamingText) {
|
|
39
|
-
var
|
|
40
|
-
var messageId = context.messageId,
|
|
41
|
-
_context$showThinking2 = context.showThinking,
|
|
42
|
-
showThinking = _context$showThinking2 === void 0 ? false : _context$showThinking2;
|
|
18
|
+
export var shouldStreamNarrationInTimeline = function shouldStreamNarrationInTimeline(steps, streamActivity, streamingText, messageId) {
|
|
19
|
+
var showThinking = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
|
|
43
20
|
if ((streamActivity === null || streamActivity === void 0 ? void 0 : streamActivity.phase) !== 'writing') return false;
|
|
44
21
|
if (!streamingText.trim()) return false;
|
|
45
22
|
var visible = visibleReasoningSteps(steps, showThinking);
|
|
46
23
|
var leading = findLeadingNarration(steps);
|
|
47
24
|
|
|
48
|
-
//
|
|
49
|
-
if (leading && !hasActionStep(visible))
|
|
25
|
+
// Tokens antes de cualquier acción: la narración es el primer paso.
|
|
26
|
+
if (leading && !hasActionStep(visible) && looksLikeIntermediateNarrationStream(streamingText)) {
|
|
27
|
+
return true;
|
|
28
|
+
}
|
|
50
29
|
|
|
51
30
|
// Leading ya anclada: el body todavía es esa misma narración (sin respuesta final).
|
|
52
31
|
if (leading && narrationTextsMatch(leading.text, streamingText)) {
|
|
@@ -55,28 +34,28 @@ export var shouldStreamNarrationInTimeline = function shouldStreamNarrationInTim
|
|
|
55
34
|
var last = visible[visible.length - 1];
|
|
56
35
|
if (!last || last.type === 'thinking') return false;
|
|
57
36
|
if (last.type === 'narration') {
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
37
|
+
if (messageId && !reasoningStore.isNarrationHandoffPending(messageId)) {
|
|
38
|
+
return false;
|
|
39
|
+
}
|
|
61
40
|
return narrationTextsMatch(last.text, streamingText);
|
|
62
41
|
}
|
|
63
42
|
return false;
|
|
64
43
|
};
|
|
65
44
|
|
|
66
45
|
/** Texto de la fila live al final de la traza; null si ya está anclada o va al cuerpo. */
|
|
67
|
-
export var resolvePendingNarrationText = function resolvePendingNarrationText(steps, streamActivity, streamingText) {
|
|
68
|
-
var
|
|
69
|
-
if (!shouldStreamNarrationInTimeline(steps, streamActivity, streamingText,
|
|
46
|
+
export var resolvePendingNarrationText = function resolvePendingNarrationText(steps, streamActivity, streamingText, messageId) {
|
|
47
|
+
var showThinking = arguments.length > 4 && arguments[4] !== undefined ? arguments[4] : false;
|
|
48
|
+
if (!shouldStreamNarrationInTimeline(steps, streamActivity, streamingText, messageId, showThinking)) return null;
|
|
70
49
|
var leading = findLeadingNarration(steps);
|
|
71
50
|
// Ya está anclada al inicio: no recuelgues el mismo texto detrás de cada tool.
|
|
72
51
|
if (leading && narrationTextsMatch(leading.text, streamingText)) {
|
|
73
52
|
return null;
|
|
74
53
|
}
|
|
75
|
-
var last = visibleReasoningSteps(steps,
|
|
54
|
+
var last = visibleReasoningSteps(steps, showThinking).at(-1);
|
|
76
55
|
if ((last === null || last === void 0 ? void 0 : last.type) === 'narration' && narrationTextsMatch(last.text, streamingText)) {
|
|
77
56
|
return streamingText;
|
|
78
57
|
}
|
|
79
58
|
if (!last || last.type === 'thinking') return streamingText;
|
|
80
59
|
return null;
|
|
81
60
|
};
|
|
82
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZWFzb25pbmdTdG9yZSIsImZpbmRMZWFkaW5nTmFycmF0aW9uIiwiaGFzQWN0aW9uU3RlcCIsIm5hcnJhdGlvblRleHRzTWF0Y2giLCJpc1Zpc2libGVTdGVwIiwiUEVORElOR19OQVJSQVRJT05fS0VZIiwidmlzaWJsZVJlYXNvbmluZ1N0ZXBzIiwic3RlcHMiLCJzaG93VGhpbmtpbmciLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJmaWx0ZXIiLCJpc1NlYW1sZXNzTmFycmF0aW9uQ29tbWl0Iiwic3RlcCIsInN0cmVhbWVkVGV4dCIsInR5cGUiLCJ0ZXh0Iiwic2hvdWxkSGlkZU9ycGhhbkxlYWRpbmdOYXJyYXRpb24iLCJzaG91bGRIaWRlVGFpbE5hcnJhdGlvbkluVGltZWxpbmUiLCJzdHJlYW1BY3Rpdml0eSIsInN0cmVhbWluZ1RleHQiLCJjb250ZXh0IiwiX2NvbnRleHQkc2hvd1RoaW5raW5nIiwicGhhc2UiLCJ0cmltIiwibGFzdCIsImF0Iiwic2hvdWxkU3RyZWFtTmFycmF0aW9uSW5UaW1lbGluZSIsIm1lc3NhZ2VJZCIsIl9jb250ZXh0JHNob3dUaGlua2luZzIiLCJ2aXNpYmxlIiwibGVhZGluZyIsImlzTmFycmF0aW9uSGFuZG9mZlBlbmRpbmciLCJyZXNvbHZlUGVuZGluZ05hcnJhdGlvblRleHQiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9hdG9tcy9SZWFzb25pbmdCbG9jay9yZWFzb25pbmdMaXZlTmFycmF0aW9uLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVhc29uaW5nU3RlcCB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL3JlYXNvbmluZydcbmltcG9ydCB0eXBlIHsgU3RyZWFtQWN0aXZpdHkgfSBmcm9tICcuLi8uLi8uLi90eXBlcy9zdHJlYW1BY3Rpdml0eSdcbmltcG9ydCB7IHJlYXNvbmluZ1N0b3JlIH0gZnJvbSAnLi4vLi4vLi4vaG9va3MvdXNlUmVhc29uaW5nVHJhY2UvcmVhc29uaW5nU3RvcmUnXG5pbXBvcnQgeyBmaW5kTGVhZGluZ05hcnJhdGlvbiwgaGFzQWN0aW9uU3RlcCwgbmFycmF0aW9uVGV4dHNNYXRjaCB9IGZyb20gJy4vcmVhc29uaW5nTGVhZGluZydcbmltcG9ydCB7IGlzVmlzaWJsZVN0ZXAgfSBmcm9tICcuL1JlYXNvbmluZ1N0ZXBzJ1xuXG5leHBvcnQgY29uc3QgUEVORElOR19OQVJSQVRJT05fS0VZID0gJ3BlbmRpbmctbmFycmF0aW9uJ1xuXG5leHBvcnQgdHlwZSBTdHJlYW1OYXJyYXRpb25Db250ZXh0ID0ge1xuICBtZXNzYWdlSWQ/OiBzdHJpbmcgfCBudWxsXG4gIHNob3dUaGlua2luZz86IGJvb2xlYW5cbn1cblxuZXhwb3J0IHsgbmFycmF0aW9uVGV4dHNNYXRjaCB9IGZyb20gJy4vcmVhc29uaW5nTGVhZGluZydcblxuZXhwb3J0IGNvbnN0IHZpc2libGVSZWFzb25pbmdTdGVwcyA9IChzdGVwczogUmVhc29uaW5nU3RlcFtdLCBzaG93VGhpbmtpbmcgPSBmYWxzZSk6IFJlYXNvbmluZ1N0ZXBbXSA9PlxuICBzaG93VGhpbmtpbmcgPyBzdGVwcyA6IHN0ZXBzLmZpbHRlcihpc1Zpc2libGVTdGVwKVxuXG5leHBvcnQgY29uc3QgaXNTZWFtbGVzc05hcnJhdGlvbkNvbW1pdCA9IChzdGVwOiBSZWFzb25pbmdTdGVwLCBzdHJlYW1lZFRleHQ6IHN0cmluZyB8IG51bGwpOiBib29sZWFuID0+XG4gIHN0ZXAudHlwZSA9PT0gJ25hcnJhdGlvbicgJiYgbmFycmF0aW9uVGV4dHNNYXRjaChzdGVwLnRleHQsIHN0cmVhbWVkVGV4dClcblxuLyoqIE5hcnJhY2nDs24gaW5pY2lhbCBzaW4gdG9vbHM6IHZpdmUgZW4gZWwgY3VlcnBvLCBubyBlbiBsYSB0cmF6YS4gKi9cbmV4cG9ydCBjb25zdCBzaG91bGRIaWRlT3JwaGFuTGVhZGluZ05hcnJhdGlvbiA9IChzdGVwczogUmVhc29uaW5nU3RlcFtdKTogYm9vbGVhbiA9PiAhaGFzQWN0aW9uU3RlcChzdGVwcylcblxuLyoqXG4gKiBPY3VsdGEgbGEgbmFycmFjacOzbiBjb21taXRlYWRhIGFsIGZpbmFsIGRlIGxhIHRyYXphIG1pZW50cmFzIGVsIG1pc21vIHRleHRvXG4gKiBzaWd1ZSBzdHJlYW1lYW5kbyBlbiBlbCBjdWVycG8gZGVsIG1lbnNhamUgKGV2aXRhIGR1cGxpY2FkbyBib2R5ICsgYmxvcXVlKS5cbiAqL1xuZXhwb3J0IGNvbnN0IHNob3VsZEhpZGVUYWlsTmFycmF0aW9uSW5UaW1lbGluZSA9IChcbiAgc3RlcHM6IFJlYXNvbmluZ1N0ZXBbXSxcbiAgc3RyZWFtQWN0aXZpdHk6IFN0cmVhbUFjdGl2aXR5IHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgc3RyZWFtaW5nVGV4dDogc3RyaW5nLFxuICBjb250ZXh0OiBTdHJlYW1OYXJyYXRpb25Db250ZXh0ID0ge31cbik6IGJvb2xlYW4gPT4ge1xuICBjb25zdCB7IHNob3dUaGlua2luZyA9IGZhbHNlIH0gPSBjb250ZXh0XG4gIGlmIChzdHJlYW1BY3Rpdml0eT8ucGhhc2UgIT09ICd3cml0aW5nJykgcmV0dXJuIGZhbHNlXG4gIGlmICghc3RyZWFtaW5nVGV4dC50cmltKCkpIHJldHVybiBmYWxzZVxuXG4gIGNvbnN0IGxhc3QgPSB2aXNpYmxlUmVhc29uaW5nU3RlcHMoc3RlcHMsIHNob3dUaGlua2luZykuYXQoLTEpXG4gIGlmIChsYXN0Py50eXBlICE9PSAnbmFycmF0aW9uJykgcmV0dXJuIGZhbHNlXG5cbiAgcmV0dXJuIG5hcnJhdGlvblRleHRzTWF0Y2gobGFzdC50ZXh0LCBzdHJlYW1pbmdUZXh0KVxufVxuXG4vKipcbiAqIE5hcnJhY2nDs24gZGUgdHVybm86IHRva2VucyBzaW4gc3RlcCB2YW4gYW5jbGFkb3MgYWwgaW5pY2lvLiBVbmEgbmFycmFjacOzblxuICogY29tbWl0ZWFkYSAocHJlIGFuc3dlcl9yZXNldCkgc2UgcGludGEgZW4gc3UgZmlsYSwgbm8gc2UgcmVjdWVsZ2EgYWwgw7psdGltbyB0b29sLlxuICovXG5leHBvcnQgY29uc3Qgc2hvdWxkU3RyZWFtTmFycmF0aW9uSW5UaW1lbGluZSA9IChcbiAgc3RlcHM6IFJlYXNvbmluZ1N0ZXBbXSxcbiAgc3RyZWFtQWN0aXZpdHk6IFN0cmVhbUFjdGl2aXR5IHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgc3RyZWFtaW5nVGV4dDogc3RyaW5nLFxuICBjb250ZXh0OiBTdHJlYW1OYXJyYXRpb25Db250ZXh0ID0ge31cbik6IGJvb2xlYW4gPT4ge1xuICBjb25zdCB7IG1lc3NhZ2VJZCwgc2hvd1RoaW5raW5nID0gZmFsc2UgfSA9IGNvbnRleHRcbiAgaWYgKHN0cmVhbUFjdGl2aXR5Py5waGFzZSAhPT0gJ3dyaXRpbmcnKSByZXR1cm4gZmFsc2VcbiAgaWYgKCFzdHJlYW1pbmdUZXh0LnRyaW0oKSkgcmV0dXJuIGZhbHNlXG5cbiAgY29uc3QgdmlzaWJsZSA9IHZpc2libGVSZWFzb25pbmdTdGVwcyhzdGVwcywgc2hvd1RoaW5raW5nKVxuICBjb25zdCBsZWFkaW5nID0gZmluZExlYWRpbmdOYXJyYXRpb24oc3RlcHMpXG5cbiAgLy8gQW50ZXMgZGUgY3VhbHF1aWVyIGFjY2nDs24gZWwgdGV4dG8gdmEgYWwgY3VlcnBvLCBubyBhIGxhIHRyYXphLlxuICBpZiAobGVhZGluZyAmJiAhaGFzQWN0aW9uU3RlcCh2aXNpYmxlKSkgcmV0dXJuIGZhbHNlXG5cbiAgLy8gTGVhZGluZyB5YSBhbmNsYWRhOiBlbCBib2R5IHRvZGF2w61hIGVzIGVzYSBtaXNtYSBuYXJyYWNpw7NuIChzaW4gcmVzcHVlc3RhIGZpbmFsKS5cbiAgaWYgKGxlYWRpbmcgJiYgbmFycmF0aW9uVGV4dHNNYXRjaChsZWFkaW5nLnRleHQsIHN0cmVhbWluZ1RleHQpKSB7XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIGNvbnN0IGxhc3QgPSB2aXNpYmxlW3Zpc2libGUubGVuZ3RoIC0gMV1cbiAgaWYgKCFsYXN0IHx8IGxhc3QudHlwZSA9PT0gJ3RoaW5raW5nJykgcmV0dXJuIGZhbHNlXG5cbiAgaWYgKGxhc3QudHlwZSA9PT0gJ25hcnJhdGlvbicpIHtcbiAgICAvLyBNaWVudHJhcyBlbCBtaXNtbyB0ZXh0byB2aXZlIGVuIGVsIGJvZHksIG5vIGR1cGxpY2FyIGVuIHRpbWVsaW5lLlxuICAgIGlmIChuYXJyYXRpb25UZXh0c01hdGNoKGxhc3QudGV4dCwgc3RyZWFtaW5nVGV4dCkpIHJldHVybiBmYWxzZVxuICAgIGlmIChtZXNzYWdlSWQgJiYgIXJlYXNvbmluZ1N0b3JlLmlzTmFycmF0aW9uSGFuZG9mZlBlbmRpbmcobWVzc2FnZUlkKSkgcmV0dXJuIGZhbHNlXG4gICAgcmV0dXJuIG5hcnJhdGlvblRleHRzTWF0Y2gobGFzdC50ZXh0LCBzdHJlYW1pbmdUZXh0KVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlXG59XG5cbi8qKiBUZXh0byBkZSBsYSBmaWxhIGxpdmUgYWwgZmluYWwgZGUgbGEgdHJhemE7IG51bGwgc2kgeWEgZXN0w6EgYW5jbGFkYSBvIHZhIGFsIGN1ZXJwby4gKi9cbmV4cG9ydCBjb25zdCByZXNvbHZlUGVuZGluZ05hcnJhdGlvblRleHQgPSAoXG4gIHN0ZXBzOiBSZWFzb25pbmdTdGVwW10sXG4gIHN0cmVhbUFjdGl2aXR5OiBTdHJlYW1BY3Rpdml0eSB8IG51bGwgfCB1bmRlZmluZWQsXG4gIHN0cmVhbWluZ1RleHQ6IHN0cmluZyxcbiAgY29udGV4dDogU3RyZWFtTmFycmF0aW9uQ29udGV4dCA9IHt9XG4pOiBzdHJpbmcgfCBudWxsID0+IHtcbiAgaWYgKCFzaG91bGRTdHJlYW1OYXJyYXRpb25JblRpbWVsaW5lKHN0ZXBzLCBzdHJlYW1BY3Rpdml0eSwgc3RyZWFtaW5nVGV4dCwgY29udGV4dCkpIHJldHVybiBudWxsXG5cbiAgY29uc3QgbGVhZGluZyA9IGZpbmRMZWFkaW5nTmFycmF0aW9uKHN0ZXBzKVxuICAvLyBZYSBlc3TDoSBhbmNsYWRhIGFsIGluaWNpbzogbm8gcmVjdWVsZ3VlcyBlbCBtaXNtbyB0ZXh0byBkZXRyw6FzIGRlIGNhZGEgdG9vbC5cbiAgaWYgKGxlYWRpbmcgJiYgbmFycmF0aW9uVGV4dHNNYXRjaChsZWFkaW5nLnRleHQsIHN0cmVhbWluZ1RleHQpKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIGNvbnN0IGxhc3QgPSB2aXNpYmxlUmVhc29uaW5nU3RlcHMoc3RlcHMsIGNvbnRleHQuc2hvd1RoaW5raW5nKS5hdCgtMSlcbiAgaWYgKGxhc3Q/LnR5cGUgPT09ICduYXJyYXRpb24nICYmIG5hcnJhdGlvblRleHRzTWF0Y2gobGFzdC50ZXh0LCBzdHJlYW1pbmdUZXh0KSkge1xuICAgIHJldHVybiBzdHJlYW1pbmdUZXh0XG4gIH1cblxuICBpZiAoIWxhc3QgfHwgbGFzdC50eXBlID09PSAndGhpbmtpbmcnKSByZXR1cm4gc3RyZWFtaW5nVGV4dFxuXG4gIHJldHVybiBudWxsXG59XG4iXSwibWFwcGluZ3MiOiJBQUVBLFNBQVNBLGNBQWMsUUFBUSxpREFBaUQ7QUFDaEYsU0FBU0Msb0JBQW9CLEVBQUVDLGFBQWEsRUFBRUMsbUJBQW1CLFFBQVEsb0JBQW9CO0FBQzdGLFNBQVNDLGFBQWEsUUFBUSxrQkFBa0I7QUFFaEQsT0FBTyxJQUFNQyxxQkFBcUIsR0FBRyxtQkFBbUI7QUFPeEQsU0FBU0YsbUJBQW1CLFFBQVEsb0JBQW9CO0FBRXhELE9BQU8sSUFBTUcscUJBQXFCLEdBQUcsU0FBeEJBLHFCQUFxQkEsQ0FBSUMsS0FBc0I7RUFBQSxJQUFFQyxZQUFZLEdBQUFDLFNBQUEsQ0FBQUMsTUFBQSxRQUFBRCxTQUFBLFFBQUFFLFNBQUEsR0FBQUYsU0FBQSxNQUFHLEtBQUs7RUFBQSxPQUNoRkQsWUFBWSxHQUFHRCxLQUFLLEdBQUdBLEtBQUssQ0FBQ0ssTUFBTSxDQUFDUixhQUFhLENBQUM7QUFBQTtBQUVwRCxPQUFPLElBQU1TLHlCQUF5QixHQUFHLFNBQTVCQSx5QkFBeUJBLENBQUlDLElBQW1CLEVBQUVDLFlBQTJCO0VBQUEsT0FDeEZELElBQUksQ0FBQ0UsSUFBSSxLQUFLLFdBQVcsSUFBSWIsbUJBQW1CLENBQUNX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
|
|
61
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJyZWFzb25pbmdTdG9yZSIsImZpbmRMZWFkaW5nTmFycmF0aW9uIiwiaGFzQWN0aW9uU3RlcCIsImxvb2tzTGlrZUludGVybWVkaWF0ZU5hcnJhdGlvblN0cmVhbSIsIm5hcnJhdGlvblRleHRzTWF0Y2giLCJpc1Zpc2libGVTdGVwIiwiUEVORElOR19OQVJSQVRJT05fS0VZIiwidmlzaWJsZVJlYXNvbmluZ1N0ZXBzIiwic3RlcHMiLCJzaG93VGhpbmtpbmciLCJhcmd1bWVudHMiLCJsZW5ndGgiLCJ1bmRlZmluZWQiLCJmaWx0ZXIiLCJpc1NlYW1sZXNzTmFycmF0aW9uQ29tbWl0Iiwic3RlcCIsInN0cmVhbWVkVGV4dCIsInR5cGUiLCJ0ZXh0Iiwic2hvdWxkU3RyZWFtTmFycmF0aW9uSW5UaW1lbGluZSIsInN0cmVhbUFjdGl2aXR5Iiwic3RyZWFtaW5nVGV4dCIsIm1lc3NhZ2VJZCIsInBoYXNlIiwidHJpbSIsInZpc2libGUiLCJsZWFkaW5nIiwibGFzdCIsImlzTmFycmF0aW9uSGFuZG9mZlBlbmRpbmciLCJyZXNvbHZlUGVuZGluZ05hcnJhdGlvblRleHQiLCJhdCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL2F0b21zL1JlYXNvbmluZ0Jsb2NrL3JlYXNvbmluZ0xpdmVOYXJyYXRpb24udHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHR5cGUgeyBSZWFzb25pbmdTdGVwIH0gZnJvbSAnLi4vLi4vLi4vdHlwZXMvcmVhc29uaW5nJ1xuaW1wb3J0IHR5cGUgeyBTdHJlYW1BY3Rpdml0eSB9IGZyb20gJy4uLy4uLy4uL3R5cGVzL3N0cmVhbUFjdGl2aXR5J1xuaW1wb3J0IHsgcmVhc29uaW5nU3RvcmUgfSBmcm9tICcuLi8uLi8uLi9ob29rcy91c2VSZWFzb25pbmdUcmFjZS9yZWFzb25pbmdTdG9yZSdcbmltcG9ydCB7XG4gIGZpbmRMZWFkaW5nTmFycmF0aW9uLFxuICBoYXNBY3Rpb25TdGVwLFxuICBsb29rc0xpa2VJbnRlcm1lZGlhdGVOYXJyYXRpb25TdHJlYW0sXG4gIG5hcnJhdGlvblRleHRzTWF0Y2gsXG59IGZyb20gJy4vcmVhc29uaW5nTGVhZGluZydcbmltcG9ydCB7IGlzVmlzaWJsZVN0ZXAgfSBmcm9tICcuL1JlYXNvbmluZ1N0ZXBzJ1xuXG5leHBvcnQgY29uc3QgUEVORElOR19OQVJSQVRJT05fS0VZID0gJ3BlbmRpbmctbmFycmF0aW9uJ1xuXG5leHBvcnQgeyBuYXJyYXRpb25UZXh0c01hdGNoIH0gZnJvbSAnLi9yZWFzb25pbmdMZWFkaW5nJ1xuXG5leHBvcnQgY29uc3QgdmlzaWJsZVJlYXNvbmluZ1N0ZXBzID0gKHN0ZXBzOiBSZWFzb25pbmdTdGVwW10sIHNob3dUaGlua2luZyA9IGZhbHNlKTogUmVhc29uaW5nU3RlcFtdID0+XG4gIHNob3dUaGlua2luZyA/IHN0ZXBzIDogc3RlcHMuZmlsdGVyKGlzVmlzaWJsZVN0ZXApXG5cbmV4cG9ydCBjb25zdCBpc1NlYW1sZXNzTmFycmF0aW9uQ29tbWl0ID0gKHN0ZXA6IFJlYXNvbmluZ1N0ZXAsIHN0cmVhbWVkVGV4dDogc3RyaW5nIHwgbnVsbCk6IGJvb2xlYW4gPT5cbiAgc3RlcC50eXBlID09PSAnbmFycmF0aW9uJyAmJiBuYXJyYXRpb25UZXh0c01hdGNoKHN0ZXAudGV4dCwgc3RyZWFtZWRUZXh0KVxuXG4vKipcbiAqIE5hcnJhY2nDs24gZGUgdHVybm86IHRva2VucyBzaW4gc3RlcCB2YW4gYW5jbGFkb3MgYWwgaW5pY2lvLiBVbmEgbmFycmFjacOzblxuICogY29tbWl0ZWFkYSAocHJlIGFuc3dlcl9yZXNldCkgc2UgcGludGEgZW4gc3UgZmlsYSwgbm8gc2UgcmVjdWVsZ2EgYWwgw7psdGltbyB0b29sLlxuICovXG5leHBvcnQgY29uc3Qgc2hvdWxkU3RyZWFtTmFycmF0aW9uSW5UaW1lbGluZSA9IChcbiAgc3RlcHM6IFJlYXNvbmluZ1N0ZXBbXSxcbiAgc3RyZWFtQWN0aXZpdHk6IFN0cmVhbUFjdGl2aXR5IHwgbnVsbCB8IHVuZGVmaW5lZCxcbiAgc3RyZWFtaW5nVGV4dDogc3RyaW5nLFxuICBtZXNzYWdlSWQ/OiBzdHJpbmcgfCBudWxsLFxuICBzaG93VGhpbmtpbmcgPSBmYWxzZVxuKTogYm9vbGVhbiA9PiB7XG4gIGlmIChzdHJlYW1BY3Rpdml0eT8ucGhhc2UgIT09ICd3cml0aW5nJykgcmV0dXJuIGZhbHNlXG4gIGlmICghc3RyZWFtaW5nVGV4dC50cmltKCkpIHJldHVybiBmYWxzZVxuXG4gIGNvbnN0IHZpc2libGUgPSB2aXNpYmxlUmVhc29uaW5nU3RlcHMoc3RlcHMsIHNob3dUaGlua2luZylcbiAgY29uc3QgbGVhZGluZyA9IGZpbmRMZWFkaW5nTmFycmF0aW9uKHN0ZXBzKVxuXG4gIC8vIFRva2VucyBhbnRlcyBkZSBjdWFscXVpZXIgYWNjacOzbjogbGEgbmFycmFjacOzbiBlcyBlbCBwcmltZXIgcGFzby5cbiAgaWYgKGxlYWRpbmcgJiYgIWhhc0FjdGlvblN0ZXAodmlzaWJsZSkgJiYgbG9va3NMaWtlSW50ZXJtZWRpYXRlTmFycmF0aW9uU3RyZWFtKHN0cmVhbWluZ1RleHQpKSB7XG4gICAgcmV0dXJuIHRydWVcbiAgfVxuXG4gIC8vIExlYWRpbmcgeWEgYW5jbGFkYTogZWwgYm9keSB0b2RhdsOtYSBlcyBlc2EgbWlzbWEgbmFycmFjacOzbiAoc2luIHJlc3B1ZXN0YSBmaW5hbCkuXG4gIGlmIChsZWFkaW5nICYmIG5hcnJhdGlvblRleHRzTWF0Y2gobGVhZGluZy50ZXh0LCBzdHJlYW1pbmdUZXh0KSkge1xuICAgIHJldHVybiB0cnVlXG4gIH1cblxuICBjb25zdCBsYXN0ID0gdmlzaWJsZVt2aXNpYmxlLmxlbmd0aCAtIDFdXG4gIGlmICghbGFzdCB8fCBsYXN0LnR5cGUgPT09ICd0aGlua2luZycpIHJldHVybiBmYWxzZVxuXG4gIGlmIChsYXN0LnR5cGUgPT09ICduYXJyYXRpb24nKSB7XG4gICAgaWYgKG1lc3NhZ2VJZCAmJiAhcmVhc29uaW5nU3RvcmUuaXNOYXJyYXRpb25IYW5kb2ZmUGVuZGluZyhtZXNzYWdlSWQpKSB7XG4gICAgICByZXR1cm4gZmFsc2VcbiAgICB9XG4gICAgcmV0dXJuIG5hcnJhdGlvblRleHRzTWF0Y2gobGFzdC50ZXh0LCBzdHJlYW1pbmdUZXh0KVxuICB9XG5cbiAgcmV0dXJuIGZhbHNlXG59XG5cbi8qKiBUZXh0byBkZSBsYSBmaWxhIGxpdmUgYWwgZmluYWwgZGUgbGEgdHJhemE7IG51bGwgc2kgeWEgZXN0w6EgYW5jbGFkYSBvIHZhIGFsIGN1ZXJwby4gKi9cbmV4cG9ydCBjb25zdCByZXNvbHZlUGVuZGluZ05hcnJhdGlvblRleHQgPSAoXG4gIHN0ZXBzOiBSZWFzb25pbmdTdGVwW10sXG4gIHN0cmVhbUFjdGl2aXR5OiBTdHJlYW1BY3Rpdml0eSB8IG51bGwgfCB1bmRlZmluZWQsXG4gIHN0cmVhbWluZ1RleHQ6IHN0cmluZyxcbiAgbWVzc2FnZUlkPzogc3RyaW5nIHwgbnVsbCxcbiAgc2hvd1RoaW5raW5nID0gZmFsc2Vcbik6IHN0cmluZyB8IG51bGwgPT4ge1xuICBpZiAoIXNob3VsZFN0cmVhbU5hcnJhdGlvbkluVGltZWxpbmUoc3RlcHMsIHN0cmVhbUFjdGl2aXR5LCBzdHJlYW1pbmdUZXh0LCBtZXNzYWdlSWQsIHNob3dUaGlua2luZykpIHJldHVybiBudWxsXG5cbiAgY29uc3QgbGVhZGluZyA9IGZpbmRMZWFkaW5nTmFycmF0aW9uKHN0ZXBzKVxuICAvLyBZYSBlc3TDoSBhbmNsYWRhIGFsIGluaWNpbzogbm8gcmVjdWVsZ3VlcyBlbCBtaXNtbyB0ZXh0byBkZXRyw6FzIGRlIGNhZGEgdG9vbC5cbiAgaWYgKGxlYWRpbmcgJiYgbmFycmF0aW9uVGV4dHNNYXRjaChsZWFkaW5nLnRleHQsIHN0cmVhbWluZ1RleHQpKSB7XG4gICAgcmV0dXJuIG51bGxcbiAgfVxuXG4gIGNvbnN0IGxhc3QgPSB2aXNpYmxlUmVhc29uaW5nU3RlcHMoc3RlcHMsIHNob3dUaGlua2luZykuYXQoLTEpXG4gIGlmIChsYXN0Py50eXBlID09PSAnbmFycmF0aW9uJyAmJiBuYXJyYXRpb25UZXh0c01hdGNoKGxhc3QudGV4dCwgc3RyZWFtaW5nVGV4dCkpIHtcbiAgICByZXR1cm4gc3RyZWFtaW5nVGV4dFxuICB9XG5cbiAgaWYgKCFsYXN0IHx8IGxhc3QudHlwZSA9PT0gJ3RoaW5raW5nJykgcmV0dXJuIHN0cmVhbWluZ1RleHRcblxuICByZXR1cm4gbnVsbFxufVxuIl0sIm1hcHBpbmdzIjoiQUFFQSxTQUFTQSxjQUFjLFFBQVEsaURBQWlEO0FBQ2hGLFNBQ0VDLG9CQUFvQixFQUNwQkMsYUFBYSxFQUNiQyxvQ0FBb0MsRUFDcENDLG1CQUFtQixRQUNkLG9CQUFvQjtBQUMzQixTQUFTQyxhQUFhLFFBQVEsa0JBQWtCO0FBRWhELE9BQU8sSUFBTUMscUJBQXFCLEdBQUcsbUJBQW1CO0FBRXhELFNBQVNGLG1CQUFtQixRQUFRLG9CQUFvQjtBQUV4RCxPQUFPLElBQU1HLHFCQUFxQixHQUFHLFNBQXhCQSxxQkFBcUJBLENBQUlDLEtBQXNCO0VBQUEsSUFBRUMsWUFBWSxHQUFBQyxTQUFBLENBQUFDLE1BQUEsUUFBQUQsU0FBQSxRQUFBRSxTQUFBLEdBQUFGLFNBQUEsTUFBRyxLQUFLO0VBQUEsT0FDaEZELFlBQVksR0FBR0QsS0FBSyxHQUFHQSxLQUFLLENBQUNLLE1BQU0sQ0FBQ1IsYUFBYSxDQUFDO0FBQUE7QUFFcEQsT0FBTyxJQUFNUyx5QkFBeUIsR0FBRyxTQUE1QkEseUJBQXlCQSxDQUFJQyxJQUFtQixFQUFFQyxZQUEyQjtFQUFBLE9BQ3hGRCxJQUFJLENBQUNFLElBQUksS0FBSyxXQUFXLElBQUliLG1CQUFtQixDQUFDVyxJQUFJLENBQUNHLElBQUksRUFBRUYsWUFBWSxDQUFDO0FBQUE7O0FBRTNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0EsT0FBTyxJQUFNRywrQkFBK0IsR0FBRyxTQUFsQ0EsK0JBQStCQSxDQUMxQ1gsS0FBc0IsRUFDdEJZLGNBQWlELEVBQ2pEQyxhQUFxQixFQUNyQkMsU0FBeUIsRUFFYjtFQUFBLElBRFpiLFlBQVksR0FBQUMsU0FBQSxDQUFBQyxN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
|
package/lib/components/index.js
CHANGED
|
@@ -6,7 +6,6 @@ export { ProjectSummaryModal } from './molecules/ProjectSummaryModal';
|
|
|
6
6
|
export { ContextMentionInput } from './molecules/ContextMentionInput';
|
|
7
7
|
export { ProjectSummary } from './organisms/ProjectSummary';
|
|
8
8
|
export { ChatAI } from './organisms/ChatAI';
|
|
9
|
-
export { ChatAIPage } from './organisms/ChatAIPage';
|
|
10
9
|
export { ProjectAIButton } from './organisms/ProjectAIButton';
|
|
11
10
|
export { ClientAIButton } from './organisms/ClientAIButton';
|
|
12
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,
|
|
11
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJNQUlBQnV0dG9uIiwiTWFpYVdyYXBwZXIiLCJNQUlBRXJyb3IiLCJBSUljb24iLCJQcm9qZWN0U3VtbWFyeU1vZGFsIiwiQ29udGV4dE1lbnRpb25JbnB1dCIsIlByb2plY3RTdW1tYXJ5IiwiQ2hhdEFJIiwiUHJvamVjdEFJQnV0dG9uIiwiQ2xpZW50QUlCdXR0b24iXSwic291cmNlcyI6WyIuLi8uLi9zcmMvY29tcG9uZW50cy9pbmRleC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgeyBNQUlBQnV0dG9uIH0gZnJvbSAnLi9hdG9tcy9NQUlBQnV0dG9uJ1xuZXhwb3J0IHsgTWFpYVdyYXBwZXIgfSBmcm9tICcuL2F0b21zL01haWFXcmFwcGVyJ1xuZXhwb3J0IHsgTUFJQUVycm9yIH0gZnJvbSAnLi9hdG9tcy9NQUlBRXJyb3InXG5cbmV4cG9ydCB7IEFJSWNvbiB9IGZyb20gJy4vYXRvbXMvaWNvbnMnXG5cbmV4cG9ydCB7IFByb2plY3RTdW1tYXJ5TW9kYWwgfSBmcm9tICcuL21vbGVjdWxlcy9Qcm9qZWN0U3VtbWFyeU1vZGFsJ1xuZXhwb3J0IHsgQ29udGV4dE1lbnRpb25JbnB1dCB9IGZyb20gJy4vbW9sZWN1bGVzL0NvbnRleHRNZW50aW9uSW5wdXQnXG5cbmV4cG9ydCB7IFByb2plY3RTdW1tYXJ5IH0gZnJvbSAnLi9vcmdhbmlzbXMvUHJvamVjdFN1bW1hcnknXG5leHBvcnQgeyBDaGF0QUkgfSBmcm9tICcuL29yZ2FuaXNtcy9DaGF0QUknXG5leHBvcnQgeyBQcm9qZWN0QUlCdXR0b24gfSBmcm9tICcuL29yZ2FuaXNtcy9Qcm9qZWN0QUlCdXR0b24nXG5leHBvcnQgeyBDbGllbnRBSUJ1dHRvbiB9IGZyb20gJy4vb3JnYW5pc21zL0NsaWVudEFJQnV0dG9uJ1xuIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxVQUFVLFFBQVEsb0JBQW9CO0FBQy9DLFNBQVNDLFdBQVcsUUFBUSxxQkFBcUI7QUFDakQsU0FBU0MsU0FBUyxRQUFRLG1CQUFtQjtBQUU3QyxTQUFTQyxNQUFNLFFBQVEsZUFBZTtBQUV0QyxTQUFTQyxtQkFBbUIsUUFBUSxpQ0FBaUM7QUFDckUsU0FBU0MsbUJBQW1CLFFBQVEsaUNBQWlDO0FBRXJFLFNBQVNDLGNBQWMsUUFBUSw0QkFBNEI7QUFDM0QsU0FBU0MsTUFBTSxRQUFRLG9CQUFvQjtBQUMzQyxTQUFTQyxlQUFlLFFBQVEsNkJBQTZCO0FBQzdELFNBQVNDLGNBQWMsUUFBUSw0QkFBNEIiLCJpZ25vcmVMaXN0IjpbXX0=
|
package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js
CHANGED
|
@@ -12,7 +12,6 @@ import { getAvailableConnectors } from '../../../../services/maia/Agents/connect
|
|
|
12
12
|
import { DEFAULT_COR_ACCESS } from '../../../../utils/normalizeAgentConnectors';
|
|
13
13
|
import { hasMaiaExternalConnectorsAccess } from '../../../../constants/maiaExternalConnectorsAccess';
|
|
14
14
|
import { SCAASWrapper, SCAASHeader, SCAASTitle, SCAASSubtitle, SCAASContent, SCAASSection, SCAASSectionHeader, SCAASSectionTitle, SCAASSectionSubtitle, SCAASOptionsContainer, SCAASDivider } from './AbmAccessibilitySection.styles';
|
|
15
|
-
import { buildAccessibilitySelection, mapAccessibilityAnalyticsOption, shouldTrackAccessibilityClientSelection } from './AbmAccessibilitySection.helpers';
|
|
16
15
|
import { jsx as _jsx, jsxs as _jsxs, Fragment as _Fragment } from "react/jsx-runtime";
|
|
17
16
|
// Orden = jerarquía de COR (cliente > proyecto > tarea), de más amplio a más específico.
|
|
18
17
|
var COR_PERMISSION_ROWS = [{
|
|
@@ -51,13 +50,38 @@ export var AbmAccessibilitySection = function AbmAccessibilitySection(_ref) {
|
|
|
51
50
|
setCatalogConnectors = _useState4[1];
|
|
52
51
|
var externalConnectorsEnabled = hasMaiaExternalConnectorsAccess();
|
|
53
52
|
var _handleSelectOption = function handleSelectOption(option, clients) {
|
|
53
|
+
var optionMapping = {
|
|
54
|
+
company: 'all_company',
|
|
55
|
+
clients: 'by_clientes',
|
|
56
|
+
only_me: 'just_me'
|
|
57
|
+
};
|
|
54
58
|
eventAmplitude(EVENTS.accessibilityType, {
|
|
55
|
-
option:
|
|
59
|
+
option: optionMapping[option]
|
|
60
|
+
});
|
|
61
|
+
var valueToSend = {
|
|
62
|
+
accessType: option,
|
|
63
|
+
clients: null,
|
|
64
|
+
corAccess: formValues.corAccess,
|
|
65
|
+
selectedConnectors: formValues.selectedConnectors
|
|
66
|
+
};
|
|
67
|
+
if (option !== 'clients' || !clients) {
|
|
68
|
+
setFormValues(valueToSend);
|
|
69
|
+
return;
|
|
70
|
+
}
|
|
71
|
+
var clientFormData = clients.map(function (client) {
|
|
72
|
+
return {
|
|
73
|
+
id: client.id,
|
|
74
|
+
name: client.name,
|
|
75
|
+
is_active: client.is_active,
|
|
76
|
+
is_deleted: client.is_deleted
|
|
77
|
+
};
|
|
56
78
|
});
|
|
57
|
-
if (
|
|
79
|
+
if (clients && clients.length > 0) {
|
|
58
80
|
eventAmplitude(EVENTS.accessibilitySelectClient);
|
|
59
81
|
}
|
|
60
|
-
setFormValues(
|
|
82
|
+
setFormValues(_objectSpread(_objectSpread({}, valueToSend), {}, {
|
|
83
|
+
clients: clientFormData
|
|
84
|
+
}));
|
|
61
85
|
};
|
|
62
86
|
var handleCorAccessChange = function handleCorAccessChange(slug, checked) {
|
|
63
87
|
eventAmplitude(EVENTS.connectorCor, {
|
|
@@ -230,4 +254,4 @@ export var AbmAccessibilitySection = function AbmAccessibilitySection(_ref) {
|
|
|
230
254
|
})]
|
|
231
255
|
});
|
|
232
256
|
};
|
|
233
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZVRyYW5zbGF0aW9uIiwiT3B0aW9uQWNjZXNzaWJpbGl0eSIsIk9wdGlvbkNvclBlcm1pc3Npb24iLCJFVkVOVFMiLCJ1c2VFdmVudCIsImdldEF2YWlsYWJsZUNvbm5lY3RvcnMiLCJERUZBVUxUX0NPUl9BQ0NFU1MiLCJoYXNNYWlhRXh0ZXJuYWxDb25uZWN0b3JzQWNjZXNzIiwiU0NBQVNXcmFwcGVyIiwiU0NBQVNIZWFkZXIiLCJTQ0FBU1RpdGxlIiwiU0NBQVNTdWJ0aXRsZSIsIlNDQUFTQ29udGVudCIsIlNDQUFTU2VjdGlvbiIsIlNDQUFTU2VjdGlvbkhlYWRlciIsIlNDQUFTU2VjdGlvblRpdGxlIiwiU0NBQVNTZWN0aW9uU3VidGl0bGUiLCJTQ0FBU09wdGlvbnNDb250YWluZXIiLCJTQ0FBU0RpdmlkZXIiLCJidWlsZEFjY2Vzc2liaWxpdHlTZWxlY3Rpb24iLCJtYXBBY2Nlc3NpYmlsaXR5QW5hbHl0aWNzT3B0aW9uIiwic2hvdWxkVHJhY2tBY2Nlc3NpYmlsaXR5Q2xpZW50U2VsZWN0aW9uIiwianN4IiwiX2pzeCIsImpzeHMiLCJfanN4cyIsIkZyYWdtZW50IiwiX0ZyYWdtZW50IiwiQ09SX1BFUk1JU1NJT05fUk9XUyIsInNsdWciLCJ0aXRsZUtleSIsImRlc2NyaXB0aW9uS2V5IiwiQWJtQWNjZXNzaWJpbGl0eVNlY3Rpb24iLCJfcmVmIiwiX3ZhbHVlcyRhY2Nlc3NpYmlsaXR5IiwiX3ZhbHVlcyRhY2Nlc3NpYmlsaXR5MiIsIl92YWx1ZXMkYWNjZXNzaWJpbGl0eTMiLCJfdmFsdWVzJGFjY2Vzc2liaWxpdHk0IiwiX3ZhbHVlcyRhY2Nlc3NpYmlsaXR5NSIsIl92YWx1ZXMkYWNjZXNzaWJpbGl0eTciLCJfZm9ybVZhbHVlcyRjbGllbnRzIiwidmFsdWVzIiwiaGFuZGxlU2V0QWdlbnRWYWx1ZXMiLCJfdXNlVHJhbnNsYXRpb24iLCJ0IiwiZXZlbnRBbXBsaXR1ZGUiLCJfdXNlU3RhdGUiLCJhY2Nlc3NUeXBlIiwiYWNjZXNzaWJpbGl0eSIsImNsaWVudHMiLCJjb3JBY2Nlc3MiLCJzZWxlY3RlZENvbm5lY3RvcnMiLCJfdXNlU3RhdGUyIiwiX3NsaWNlZFRvQXJyYXkiLCJmb3JtVmFsdWVzIiwic2V0Rm9ybVZhbHVlcyIsIl91c2VTdGF0ZTMiLCJfdXNlU3RhdGU0IiwiY2F0YWxvZ0Nvbm5lY3RvcnMiLCJzZXRDYXRhbG9nQ29ubmVjdG9ycyIsImV4dGVybmFsQ29ubmVjdG9yc0VuYWJsZWQiLCJoYW5kbGVTZWxlY3RPcHRpb24iLCJvcHRpb24iLCJhY2Nlc3NpYmlsaXR5VHlwZSIsImFjY2Vzc2liaWxpdHlTZWxlY3RDbGllbnQiLCJoYW5kbGVDb3JBY2Nlc3NDaGFuZ2UiLCJjaGVja2VkIiwiY29ubmVjdG9yQ29yIiwicHJldiIsIl9vYmplY3RTcHJlYWQiLCJfZGVmaW5lUHJvcGVydHkiLCJoYW5kbGVDb25uZWN0b3JBY2Nlc3NDaGFuZ2UiLCJjb25uZWN0b3JNY3AiLCJuZXh0IiwiU2V0IiwiYWRkIiwiQXJyYXkiLCJmcm9tIiwiX3ZhbHVlcyRhY2Nlc3NpYmlsaXR5NiIsIm5leHRDb25uZWN0b3JzIiwiY3VycmVudCIsIl90b0NvbnN1bWFibGVBcnJheSIsInNvcnQiLCJqb2luIiwiaW5jb21pbmciLCJrZXkiLCJ2YWx1ZSIsInVuZGVmaW5lZCIsImNhbmNlbGxlZCIsInRoZW4iLCJjb25uZWN0b3JzIiwiZmlsdGVyIiwiY29ubmVjdG9yIiwiaXNfYWN0aXZlIiwiZXJyb3IiLCJjb25zb2xlIiwiY2hpbGRyZW4iLCIkaW5kZXgiLCJtYXAiLCJfcmVmMiIsInRpdGxlIiwiY29uY2F0IiwiZGVzY3JpcHRpb24iLCJvbkNoYW5nZSIsIm5hbWUiLCJpbmNsdWRlcyIsIm9wdGlvblNlbGVjdGVkIiwiaXNDbGllbnQiLCJwcm9wcyIsInNlbGVjdGVkQ2xpZW50cyIsImNsaWVudCIsIl9jbGllbnQkbmFtZSIsImlkIiwiaXNfZGVsZXRlZCJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9BYm1TZWN0aW9uL0FibUFjY2Vzc2liaWxpdHlTZWN0aW9uL0FibUFjY2Vzc2liaWxpdHlTZWN0aW9uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBPcHRpb25BY2Nlc3NpYmlsaXR5IH0gZnJvbSAnLi4vLi4vLi4vYXRvbXMvT3B0aW9uQWNjZXNzaWJpbGl0eSdcbmltcG9ydCB7IE9wdGlvbkNvclBlcm1pc3Npb24gfSBmcm9tICcuLi8uLi8uLi9hdG9tcy9PcHRpb25Db3JQZXJtaXNzaW9uJ1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHsgZ2V0QXZhaWxhYmxlQ29ubmVjdG9ycywgdHlwZSBDYXRhbG9nQ29ubmVjdG9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvbWFpYS9BZ2VudHMvY29ubmVjdG9ycydcbmltcG9ydCB7IENvckFjY2VzcywgQ29yVG9vbEdyb3VwU2x1ZywgREVGQVVMVF9DT1JfQUNDRVNTIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMvbm9ybWFsaXplQWdlbnRDb25uZWN0b3JzJ1xuaW1wb3J0IHsgaGFzTWFpYUV4dGVybmFsQ29ubmVjdG9yc0FjY2VzcyB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbnN0YW50cy9tYWlhRXh0ZXJuYWxDb25uZWN0b3JzQWNjZXNzJ1xuaW1wb3J0IHtcbiAgU0NBQVNXcmFwcGVyLFxuICBTQ0FBU0hlYWRlcixcbiAgU0NBQVNUaXRsZSxcbiAgU0NBQVNTdWJ0aXRsZSxcbiAgU0NBQVNDb250ZW50LFxuICBTQ0FBU1NlY3Rpb24sXG4gIFNDQUFTU2VjdGlvbkhlYWRlcixcbiAgU0NBQVNTZWN0aW9uVGl0bGUsXG4gIFNDQUFTU2VjdGlvblN1YnRpdGxlLFxuICBTQ0FBU09wdGlvbnNDb250YWluZXIsXG4gIFNDQUFTRGl2aWRlcixcbn0gZnJvbSAnLi9BYm1BY2Nlc3NpYmlsaXR5U2VjdGlvbi5zdHlsZXMnXG5pbXBvcnQgeyBDbGllbnRGb3JtRGF0YSB9IGZyb20gJy4vQWJtQWNjZXNzaWJpbGl0eVNlY3Rpb24uaW50ZXJmYWNlJ1xuaW1wb3J0IHtcbiAgYnVpbGRBY2Nlc3NpYmlsaXR5U2VsZWN0aW9uLFxuICBtYXBBY2Nlc3NpYmlsaXR5QW5hbHl0aWNzT3B0aW9uLFxuICBzaG91bGRUcmFja0FjY2Vzc2liaWxpdHlDbGllbnRTZWxlY3Rpb24sXG59IGZyb20gJy4vQWJtQWNjZXNzaWJpbGl0eVNlY3Rpb24uaGVscGVycydcblxuaW50ZXJmYWNlIEFibUFjY2Vzc2liaWxpdHlTZWN0aW9uUHJvcHMge1xuICB2YWx1ZXM/OiB7XG4gICAgYWNjZXNzaWJpbGl0eT86IHtcbiAgICAgIGFjY2Vzc1R5cGU/OiBzdHJpbmdcbiAgICAgIGNsaWVudHM/OiBDbGllbnRGb3JtRGF0YVtdIHwgbnVsbFxuICAgICAgY29yQWNjZXNzPzogQ29yQWNjZXNzXG4gICAgICBzZWxlY3RlZENvbm5lY3RvcnM/OiBzdHJpbmdbXVxuICAgIH1cbiAgfVxuICBoYW5kbGVTZXRBZ2VudFZhbHVlcz86ICh7IGtleSwgdmFsdWUgfTogeyBrZXk6IHN0cmluZzsgdmFsdWU6IHVua25vd24gfSkgPT4gdm9pZFxufVxuXG4vLyBPcmRlbiA9IGplcmFycXXDrWEgZGUgQ09SIChjbGllbnRlID4gcHJveWVjdG8gPiB0YXJlYSksIGRlIG3DoXMgYW1wbGlvIGEgbcOhcyBlc3BlY8OtZmljby5cbmNvbnN0IENPUl9QRVJNSVNTSU9OX1JPV1M6IHsgc2x1ZzogQ29yVG9vbEdyb3VwU2x1ZzsgdGl0bGVLZXk6IHN0cmluZzsgZGVzY3JpcHRpb25LZXk6IHN0cmluZyB9W10gPSBbXG4gIHsgc2x1ZzogJ2NsaWVudGVzJywgdGl0bGVLZXk6ICdjbGllbnRBY2Nlc3NUaXRsZScsIGRlc2NyaXB0aW9uS2V5OiAnY2xpZW50QWNjZXNzRGVzY3JpcHRpb24nIH0sXG4gIHsgc2x1ZzogJ3Byb3llY3RvcycsIHRpdGxlS2V5OiAncHJvamVjdEFjY2Vzc1RpdGxlJywgZGVzY3JpcHRpb25LZXk6ICdwcm9qZWN0QWNjZXNzRGVzY3JpcHRpb24nIH0sXG4gIHsgc2x1ZzogJ3RhcmVhcycsIHRpdGxlS2V5OiAndGFza0FjY2Vzc1RpdGxlJywgZGVzY3JpcHRpb25LZXk6ICd0YXNrQWNjZXNzRGVzY3JpcHRpb24nIH0sXG5dXG5cbmV4cG9ydCBjb25zdCBBYm1BY2Nlc3NpYmlsaXR5U2VjdGlvbiA9ICh7IHZhbHVlcywgaGFuZGxlU2V0QWdlbnRWYWx1ZXMgfTogQWJtQWNjZXNzaWJpbGl0eVNlY3Rpb25Qcm9wcykgPT4ge1xuICBjb25zdCB7IHQgfSA9IHVzZVRyYW5zbGF0aW9uKCdhYm1fYWdlbnRfc2VjdGlvbicpXG4gIGNvbnN0IGV2ZW50QW1wbGl0dWRlID0gdXNlRXZlbnQoKVxuXG4gIGNvbnN0IFtmb3JtVmFsdWVzLCBzZXRGb3JtVmFsdWVzXSA9IHVzZVN0YXRlPHtcbiAgICBhY2Nlc3NUeXBlOiBzdHJpbmdcbiAgICBjbGllbnRzOiBDbGllbnRGb3JtRGF0YVtdIHwgbnVsbFxuICAgIGNvckFjY2VzczogQ29yQWNjZXNzXG4gICAgc2VsZWN0ZWRDb25uZWN0b3JzOiBzdHJpbmdbXVxuICB9Pih7XG4gICAgYWNjZXNzVHlwZTogdmFsdWVzPy5hY2Nlc3NpYmlsaXR5Py5hY2Nlc3NUeXBlIHx8ICdjb21wYW55JyxcbiAgICBjbGllbnRzOiB2YWx1ZXM/LmFjY2Vzc2liaWxpdHk/LmNsaWVudHMgfHwgbnVsbCxcbiAgICBjb3JBY2Nlc3M6IHZhbHVlcz8uYWNjZXNzaWJpbGl0eT8uY29yQWNjZXNzID8/IERFRkFVTFRfQ09SX0FDQ0VTUyxcbiAgICBzZWxlY3RlZENvbm5lY3RvcnM6IHZhbHVlcz8uYWNjZXNzaWJpbGl0eT8uc2VsZWN0ZWRDb25uZWN0b3JzIHx8IFtdLFxuICB9KVxuICAvLyBFbCBjYXTDoWxvZ28gbG8gZGVmaW5lIGVsIGJhY2sgKGBHRVQgL3YxL2Nvbm5lY3RvcnNgKTsgZWwgQUJNIHJlbmRlcml6YSB1bmEgZmlsYSBwb3IgY29uZWN0b3IgYWN0aXZvLlxuICBjb25zdCBbY2F0YWxvZ0Nvbm5lY3RvcnMsIHNldENhdGFsb2dDb25uZWN0b3JzXSA9IHVzZVN0YXRlPENhdGFsb2dDb25uZWN0b3JbXT4oW10pXG4gIGNvbnN0IGV4dGVybmFsQ29ubmVjdG9yc0VuYWJsZWQgPSBoYXNNYWlhRXh0ZXJuYWxDb25uZWN0b3JzQWNjZXNzKClcblxuICBjb25zdCBoYW5kbGVTZWxlY3RPcHRpb24gPSAob3B0aW9uOiBzdHJpbmcsIGNsaWVudHM/OiBDbGllbnRGb3JtRGF0YVtdIHwgbnVsbCkgPT4ge1xuICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5hY2Nlc3NpYmlsaXR5VHlwZSwgeyBvcHRpb246IG1hcEFjY2Vzc2liaWxpdHlBbmFseXRpY3NPcHRpb24ob3B0aW9uKSB9KVxuXG4gICAgaWYgKHNob3VsZFRyYWNrQWNjZXNzaWJpbGl0eUNsaWVudFNlbGVjdGlvbihjbGllbnRzKSkge1xuICAgICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmFjY2Vzc2liaWxpdHlTZWxlY3RDbGllbnQpXG4gICAgfVxuXG4gICAgc2V0Rm9ybVZhbHVlcyhidWlsZEFjY2Vzc2liaWxpdHlTZWxlY3Rpb24ob3B0aW9uLCBjbGllbnRzLCBmb3JtVmFsdWVzLmNvckFjY2VzcywgZm9ybVZhbHVlcy5zZWxlY3RlZENvbm5lY3RvcnMpKVxuICB9XG5cbiAgY29uc3QgaGFuZGxlQ29yQWNjZXNzQ2hhbmdlID0gKHNsdWc6IENvclRvb2xHcm91cFNsdWcsIGNoZWNrZWQ6IGJvb2xlYW4pID0+IHtcbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuY29ubmVjdG9yQ29yLCB7IG9wdGlvbjogY2hlY2tlZCA/ICdvbicgOiAnb2ZmJywgc2x1ZyB9KVxuXG4gICAgc2V0Rm9ybVZhbHVlcyhwcmV2ID0+ICh7XG4gICAgICAuLi5wcmV2LFxuICAgICAgY29yQWNjZXNzOiB7IC4uLnByZXYuY29yQWNjZXNzLCBbc2x1Z106IGNoZWNrZWQgfSxcbiAgICB9KSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUNvbm5lY3RvckFjY2Vzc0NoYW5nZSA9IChzbHVnOiBzdHJpbmcsIGNoZWNrZWQ6IGJvb2xlYW4pID0+IHtcbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuY29ubmVjdG9yTWNwLCB7IG9wdGlvbjogY2hlY2tlZCA/ICdvbicgOiAnb2ZmJywgc2x1ZyB9KVxuXG4gICAgc2V0Rm9ybVZhbHVlcyhwcmV2ID0+IHtcbiAgICAgIGNvbnN0IG5leHQgPSBuZXcgU2V0KHByZXYuc2VsZWN0ZWRDb25uZWN0b3JzKVxuICAgICAgaWYgKGNoZWNrZWQpIHtcbiAgICAgICAgbmV4dC5hZGQoc2x1ZylcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5leHQuZGVsZXRlKHNsdWcpXG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5wcmV2LFxuICAgICAgICBzZWxlY3RlZENvbm5lY3RvcnM6IEFycmF5LmZyb20obmV4dCksXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgbmV4dENvbm5lY3RvcnMgPSB2YWx1ZXM/LmFjY2Vzc2liaWxpdHk/LnNlbGVjdGVkQ29ubmVjdG9yc1xuICAgIGlmICghbmV4dENvbm5lY3RvcnMpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBzZXRGb3JtVmFsdWVzKHByZXYgPT4ge1xuICAgICAgY29uc3QgY3VycmVudCA9IFsuLi5wcmV2LnNlbGVjdGVkQ29ubmVjdG9yc10uc29ydCgpLmpvaW4oJ3wnKVxuICAgICAgY29uc3QgaW5jb21pbmcgPSBbLi4ubmV4dENvbm5lY3RvcnNdLnNvcnQoKS5qb2luKCd8JylcbiAgICAgIGlmIChjdXJyZW50ID09PSBpbmNvbWluZykge1xuICAgICAgICByZXR1cm4gcHJldlxuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ucHJldixcbiAgICAgICAgc2VsZWN0ZWRDb25uZWN0b3JzOiBuZXh0Q29ubmVjdG9ycyxcbiAgICAgIH1cbiAgICB9KVxuICB9LCBbdmFsdWVzPy5hY2Nlc3NpYmlsaXR5Py5zZWxlY3RlZENvbm5lY3RvcnNdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGZvcm1WYWx1ZXMpIHtcbiAgICAgIGhhbmRsZVNldEFnZW50VmFsdWVzPy4oe1xuICAgICAgICBrZXk6ICdhY2Nlc3NpYmlsaXR5JyxcbiAgICAgICAgdmFsdWU6IGZvcm1WYWx1ZXMsXG4gICAgICB9KVxuICAgIH1cbiAgfSwgW2Zvcm1WYWx1ZXNdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFleHRlcm5hbENvbm5lY3RvcnNFbmFibGVkKSByZXR1cm4gdW5kZWZpbmVkXG5cbiAgICBsZXQgY2FuY2VsbGVkID0gZmFsc2VcbiAgICBnZXRBdmFpbGFibGVDb25uZWN0b3JzKClcbiAgICAgIC50aGVuKGNvbm5lY3RvcnMgPT4ge1xuICAgICAgICBpZiAoIWNhbmNlbGxlZCkge1xuICAgICAgICAgIHNldENhdGFsb2dDb25uZWN0b3JzKGNvbm5lY3RvcnMuZmlsdGVyKGNvbm5lY3RvciA9PiBjb25uZWN0b3IuaXNfYWN0aXZlKSlcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIC5jYXRjaChlcnJvciA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIGNvbm5lY3RvcnMgY2F0YWxvZzonLCBlcnJvcilcbiAgICAgICAgaWYgKCFjYW5jZWxsZWQpIHtcbiAgICAgICAgICBzZXRDYXRhbG9nQ29ubmVjdG9ycyhbXSlcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY2FuY2VsbGVkID0gdHJ1ZVxuICAgIH1cbiAgfSwgW2V4dGVybmFsQ29ubmVjdG9yc0VuYWJsZWRdKVxuXG4gIHJldHVybiAoXG4gICAgPFNDQUFTV3JhcHBlcj5cbiAgICAgIDxTQ0FBU0hlYWRlciAkaW5kZXg9ezB9PlxuICAgICAgICA8U0NBQVNUaXRsZT57dCgnYWNjZXNzaWJpbGl0eVNlY3Rpb24udGl0bGVTZWN0aW9uJyl9PC9TQ0FBU1RpdGxlPlxuICAgICAgICA8U0NBQVNTdWJ0aXRsZT57dCgnYWNjZXNzaWJpbGl0eVNlY3Rpb24uc3VidGl0bGVTZWN0aW9uJyl9PC9TQ0FBU1N1YnRpdGxlPlxuICAgICAgPC9TQ0FBU0hlYWRlcj5cbiAgICAgIDxTQ0FBU0NvbnRlbnQgJGluZGV4PXsxfT5cbiAgICAgICAgPFNDQUFTU2VjdGlvbj5cbiAgICAgICAgICA8U0NBQVNTZWN0aW9uSGVhZGVyPlxuICAgICAgICAgICAgPFNDQUFTU2VjdGlvblRpdGxlPnt0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi5jb3JQZXJtaXNzaW9uc1RpdGxlJyl9PC9TQ0FBU1NlY3Rpb25UaXRsZT5cbiAgICAgICAgICAgIDxTQ0FBU1NlY3Rpb25TdWJ0aXRsZT57dCgnYWNjZXNzaWJpbGl0eVNlY3Rpb24uY29yUGVybWlzc2lvbnNTdWJ0aXRsZScpfTwvU0NBQVNTZWN0aW9uU3VidGl0bGU+XG4gICAgICAgICAgPC9TQ0FBU1NlY3Rpb25IZWFkZXI+XG4gICAgICAgICAge0NPUl9QRVJNSVNTSU9OX1JPV1MubWFwKCh7IHNsdWcsIHRpdGxlS2V5LCBkZXNjcmlwdGlvbktleSB9KSA9PiAoXG4gICAgICAgICAgICA8T3B0aW9uQ29yUGVybWlzc2lvblxuICAgICAgICAgICAgICBrZXk9e3NsdWd9XG4gICAgICAgICAgICAgIHRpdGxlPXt0KGBhY2Nlc3NpYmlsaXR5U2VjdGlvbi4ke3RpdGxlS2V5fWApfVxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbj17dChgYWNjZXNzaWJpbGl0eVNlY3Rpb24uJHtkZXNjcmlwdGlvbktleX1gKX1cbiAgICAgICAgICAgICAgY2hlY2tlZD17Zm9ybVZhbHVlcy5jb3JBY2Nlc3Nbc2x1Z119XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXtjaGVja2VkID0+IGhhbmRsZUNvckFjY2Vzc0NoYW5nZShzbHVnLCBjaGVja2VkKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU0NBQVNTZWN0aW9uPlxuXG4gICAgICAgIHtleHRlcm5hbENvbm5lY3RvcnNFbmFibGVkICYmIChcbiAgICAgICAgICA8PlxuICAgICAgICAgICAgPFNDQUFTRGl2aWRlciAvPlxuXG4gICAgICAgICAgICA8U0NBQVNTZWN0aW9uPlxuICAgICAgICAgICAgICA8U0NBQVNTZWN0aW9uSGVhZGVyPlxuICAgICAgICAgICAgICAgIDxTQ0FBU1NlY3Rpb25UaXRsZT57dCgnYWNjZXNzaWJpbGl0eVNlY3Rpb24ubWNwUGVybWlzc2lvbnNUaXRsZScpfTwvU0NBQVNTZWN0aW9uVGl0bGU+XG4gICAgICAgICAgICAgICAgPFNDQUFTU2VjdGlvblN1YnRpdGxlPnt0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi5tY3BQZXJtaXNzaW9uc1N1YnRpdGxlJyl9PC9TQ0FBU1NlY3Rpb25TdWJ0aXRsZT5cbiAgICAgICAgICAgICAgPC9TQ0FBU1NlY3Rpb25IZWFkZXI+XG4gICAgICAgICAgICAgIHtjYXRhbG9nQ29ubmVjdG9ycy5tYXAoY29ubmVjdG9yID0+IChcbiAgICAgICAgICAgICAgICA8T3B0aW9uQ29yUGVybWlzc2lvblxuICAgICAgICAgICAgICAgICAga2V5PXtjb25uZWN0b3Iuc2x1Z31cbiAgICAgICAgICAgICAgICAgIHRpdGxlPXtjb25uZWN0b3IubmFtZX1cbiAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uPXtcbiAgICAgICAgICAgICAgICAgICAgY29ubmVjdG9yLmRlc2NyaXB0aW9uIHx8XG4gICAgICAgICAgICAgICAgICAgIHQoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLmNvbm5lY3RvckFjY2Vzc0Rlc2NyaXB0aW9uJywgeyBuYW1lOiBjb25uZWN0b3IubmFtZSB9KVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgY2hlY2tlZD17Zm9ybVZhbHVlcy5zZWxlY3RlZENvbm5lY3RvcnMuaW5jbHVkZXMoY29ubmVjdG9yLnNsdWcpfVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2NoZWNrZWQgPT4gaGFuZGxlQ29ubmVjdG9yQWNjZXNzQ2hhbmdlKGNvbm5lY3Rvci5zbHVnLCBjaGVja2VkKX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvU0NBQVNTZWN0aW9uPlxuICAgICAgICAgIDwvPlxuICAgICAgICApfVxuXG4gICAgICAgIDxTQ0FBU0RpdmlkZXIgLz5cblxuICAgICAgICA8U0NBQVNTZWN0aW9uPlxuICAgICAgICAgIDxTQ0FBU1NlY3Rpb25IZWFkZXI+XG4gICAgICAgICAgICA8U0NBQVNTZWN0aW9uVGl0bGU+e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLnZpc2liaWxpdHlUaXRsZScpfTwvU0NBQVNTZWN0aW9uVGl0bGU+XG4gICAgICAgICAgICA8U0NBQVNTZWN0aW9uU3VidGl0bGU+e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLndob0NhbkFjY2VzcycpfTwvU0NBQVNTZWN0aW9uU3VidGl0bGU+XG4gICAgICAgICAgPC9TQ0FBU1NlY3Rpb25IZWFkZXI+XG4gICAgICAgICAgPFNDQUFTT3B0aW9uc0NvbnRhaW5lcj5cbiAgICAgICAgICAgIDxPcHRpb25BY2Nlc3NpYmlsaXR5XG4gICAgICAgICAgICAgIHRpdGxlPXt0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi5hbGxDb21wYW55VGl0bGUnKX1cbiAgICAgICAgICAgICAgZGVzY3JpcHRpb249e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLmFsbENvbXBhbnlEZXNjcmlwdGlvbicpfVxuICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RPcHRpb249eygpID0+IGhhbmRsZVNlbGVjdE9wdGlvbignY29tcGFueScpfVxuICAgICAgICAgICAgICBvcHRpb25TZWxlY3RlZD17Zm9ybVZhbHVlcy5hY2Nlc3NUeXBlfVxuICAgICAgICAgICAgICBuYW1lPVwiY29tcGFueVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPE9wdGlvbkFjY2Vzc2liaWxpdHlcbiAgICAgICAgICAgICAgdGl0bGU9e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLmNsaWVudFRpdGxlJyl9XG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uPXt0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi5jbGllbnREZXNjcmlwdGlvbicpfVxuICAgICAgICAgICAgICBpc0NsaWVudD17Zm9ybVZhbHVlcy5hY2Nlc3NUeXBlID09PSAnY2xpZW50cyd9XG4gICAgICAgICAgICAgIGhhbmRsZVNlbGVjdE9wdGlvbj17KHByb3BzPzogQ2xpZW50Rm9ybURhdGFbXSkgPT4gaGFuZGxlU2VsZWN0T3B0aW9uKCdjbGllbnRzJywgcHJvcHMpfVxuICAgICAgICAgICAgICBvcHRpb25TZWxlY3RlZD17Zm9ybVZhbHVlcy5hY2Nlc3NUeXBlfVxuICAgICAgICAgICAgICBuYW1lPVwiY2xpZW50c1wiXG4gICAgICAgICAgICAgIHNlbGVjdGVkQ2xpZW50cz17Zm9ybVZhbHVlcy5jbGllbnRzPy5tYXAoY2xpZW50ID0+ICh7XG4gICAgICAgICAgICAgICAgaWQ6IGNsaWVudC5pZCxcbiAgICAgICAgICAgICAgICBuYW1lOiBjbGllbnQubmFtZSA/PyAnJyxcbiAgICAgICAgICAgICAgICBpc19hY3RpdmU6IGNsaWVudC5pc19hY3RpdmUsXG4gICAgICAgICAgICAgICAgaXNfZGVsZXRlZDogY2xpZW50LmlzX2RlbGV0ZWQsXG4gICAgICAgICAgICAgIH0pKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8T3B0aW9uQWNjZXNzaWJpbGl0eVxuICAgICAgICAgICAgICB0aXRsZT17dCgnYWNjZXNzaWJpbGl0eVNlY3Rpb24ub3duVGl0bGUnKX1cbiAgICAgICAgICAgICAgZGVzY3JpcHRpb249e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLm93bkRlc2NyaXB0aW9uJyl9XG4gICAgICAgICAgICAgIGhhbmRsZVNlbGVjdE9wdGlvbj17KCkgPT4gaGFuZGxlU2VsZWN0T3B0aW9uKCdvbmx5X21lJyl9XG4gICAgICAgICAgICAgIG9wdGlvblNlbGVjdGVkPXtmb3JtVmFsdWVzLmFjY2Vzc1R5cGV9XG4gICAgICAgICAgICAgIG5hbWU9XCJvbmx5X21lXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9TQ0FBU09wdGlvbnNDb250YWluZXI+XG4gICAgICAgIDwvU0NBQVNTZWN0aW9uPlxuICAgICAgPC9TQ0FBU0NvbnRlbnQ+XG4gICAgPC9TQ0FBU1dyYXBwZXI+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxTQUFTQSxRQUFRLEVBQUVDLFNBQVMsUUFBUSxPQUFPO0FBQzNDLFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBQzlDLFNBQVNDLG1CQUFtQixRQUFRLG9DQUFvQztBQUN4RSxTQUFTQyxtQkFBbUIsUUFBUSxvQ0FBb0M7QUFDeEUsU0FBU0MsTUFBTSxFQUFFQyxRQUFRLFFBQVEsNEJBQTRCO0FBQzdELFNBQVNDLHNCQUFzQixRQUErQiw2Q0FBNkM7QUFDM0csU0FBc0NDLGtCQUFrQixRQUFRLDRDQUE0QztBQUM1RyxTQUFTQywrQkFBK0IsUUFBUSxvREFBb0Q7QUFDcEcsU0FDRUMsWUFBWSxFQUNaQyxXQUFXLEVBQ1hDLFVBQVUsRUFDVkMsYUFBYSxFQUNiQyxZQUFZLEVBQ1pDLFlBQVksRUFDWkMsa0JBQWtCLEVBQ2xCQyxpQkFBaUIsRUFDakJDLG9CQUFvQixFQUNwQkMscUJBQXFCLEVBQ3JCQyxZQUFZLFFBQ1Asa0NBQWtDO0FBRXpDLFNBQ0VDLDJCQUEyQixFQUMzQkMsK0JBQStCLEVBQy9CQyx1Q0FBdUMsUUFDbEMsbUNBQW1DO0FBQUEsU0FBQUMsR0FBQSxJQUFBQyxJQUFBLEVBQUFDLElBQUEsSUFBQUMsS0FBQSxFQUFBQyxRQUFBLElBQUFDLFNBQUE7QUFjMUM7QUFDQSxJQUFNQyxtQkFBMkYsR0FB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
|
|
257
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJ1c2VTdGF0ZSIsInVzZUVmZmVjdCIsInVzZVRyYW5zbGF0aW9uIiwiT3B0aW9uQWNjZXNzaWJpbGl0eSIsIk9wdGlvbkNvclBlcm1pc3Npb24iLCJFVkVOVFMiLCJ1c2VFdmVudCIsImdldEF2YWlsYWJsZUNvbm5lY3RvcnMiLCJERUZBVUxUX0NPUl9BQ0NFU1MiLCJoYXNNYWlhRXh0ZXJuYWxDb25uZWN0b3JzQWNjZXNzIiwiU0NBQVNXcmFwcGVyIiwiU0NBQVNIZWFkZXIiLCJTQ0FBU1RpdGxlIiwiU0NBQVNTdWJ0aXRsZSIsIlNDQUFTQ29udGVudCIsIlNDQUFTU2VjdGlvbiIsIlNDQUFTU2VjdGlvbkhlYWRlciIsIlNDQUFTU2VjdGlvblRpdGxlIiwiU0NBQVNTZWN0aW9uU3VidGl0bGUiLCJTQ0FBU09wdGlvbnNDb250YWluZXIiLCJTQ0FBU0RpdmlkZXIiLCJqc3giLCJfanN4IiwianN4cyIsIl9qc3hzIiwiRnJhZ21lbnQiLCJfRnJhZ21lbnQiLCJDT1JfUEVSTUlTU0lPTl9ST1dTIiwic2x1ZyIsInRpdGxlS2V5IiwiZGVzY3JpcHRpb25LZXkiLCJBYm1BY2Nlc3NpYmlsaXR5U2VjdGlvbiIsIl9yZWYiLCJfdmFsdWVzJGFjY2Vzc2liaWxpdHkiLCJfdmFsdWVzJGFjY2Vzc2liaWxpdHkyIiwiX3ZhbHVlcyRhY2Nlc3NpYmlsaXR5MyIsIl92YWx1ZXMkYWNjZXNzaWJpbGl0eTQiLCJfdmFsdWVzJGFjY2Vzc2liaWxpdHk1IiwiX3ZhbHVlcyRhY2Nlc3NpYmlsaXR5NyIsIl9mb3JtVmFsdWVzJGNsaWVudHMiLCJ2YWx1ZXMiLCJoYW5kbGVTZXRBZ2VudFZhbHVlcyIsIl91c2VUcmFuc2xhdGlvbiIsInQiLCJldmVudEFtcGxpdHVkZSIsIl91c2VTdGF0ZSIsImFjY2Vzc1R5cGUiLCJhY2Nlc3NpYmlsaXR5IiwiY2xpZW50cyIsImNvckFjY2VzcyIsInNlbGVjdGVkQ29ubmVjdG9ycyIsIl91c2VTdGF0ZTIiLCJfc2xpY2VkVG9BcnJheSIsImZvcm1WYWx1ZXMiLCJzZXRGb3JtVmFsdWVzIiwiX3VzZVN0YXRlMyIsIl91c2VTdGF0ZTQiLCJjYXRhbG9nQ29ubmVjdG9ycyIsInNldENhdGFsb2dDb25uZWN0b3JzIiwiZXh0ZXJuYWxDb25uZWN0b3JzRW5hYmxlZCIsImhhbmRsZVNlbGVjdE9wdGlvbiIsIm9wdGlvbiIsIm9wdGlvbk1hcHBpbmciLCJjb21wYW55Iiwib25seV9tZSIsImFjY2Vzc2liaWxpdHlUeXBlIiwidmFsdWVUb1NlbmQiLCJjbGllbnRGb3JtRGF0YSIsIm1hcCIsImNsaWVudCIsImlkIiwibmFtZSIsImlzX2FjdGl2ZSIsImlzX2RlbGV0ZWQiLCJsZW5ndGgiLCJhY2Nlc3NpYmlsaXR5U2VsZWN0Q2xpZW50IiwiX29iamVjdFNwcmVhZCIsImhhbmRsZUNvckFjY2Vzc0NoYW5nZSIsImNoZWNrZWQiLCJjb25uZWN0b3JDb3IiLCJwcmV2IiwiX2RlZmluZVByb3BlcnR5IiwiaGFuZGxlQ29ubmVjdG9yQWNjZXNzQ2hhbmdlIiwiY29ubmVjdG9yTWNwIiwibmV4dCIsIlNldCIsImFkZCIsIkFycmF5IiwiZnJvbSIsIl92YWx1ZXMkYWNjZXNzaWJpbGl0eTYiLCJuZXh0Q29ubmVjdG9ycyIsImN1cnJlbnQiLCJfdG9Db25zdW1hYmxlQXJyYXkiLCJzb3J0Iiwiam9pbiIsImluY29taW5nIiwia2V5IiwidmFsdWUiLCJ1bmRlZmluZWQiLCJjYW5jZWxsZWQiLCJ0aGVuIiwiY29ubmVjdG9ycyIsImZpbHRlciIsImNvbm5lY3RvciIsImVycm9yIiwiY29uc29sZSIsImNoaWxkcmVuIiwiJGluZGV4IiwiX3JlZjIiLCJ0aXRsZSIsImNvbmNhdCIsImRlc2NyaXB0aW9uIiwib25DaGFuZ2UiLCJpbmNsdWRlcyIsIm9wdGlvblNlbGVjdGVkIiwiaXNDbGllbnQiLCJwcm9wcyIsInNlbGVjdGVkQ2xpZW50cyIsIl9jbGllbnQkbmFtZSJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uLy4uL3NyYy9jb21wb25lbnRzL21vbGVjdWxlcy9BYm1TZWN0aW9uL0FibUFjY2Vzc2liaWxpdHlTZWN0aW9uL0FibUFjY2Vzc2liaWxpdHlTZWN0aW9uLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB1c2VTdGF0ZSwgdXNlRWZmZWN0IH0gZnJvbSAncmVhY3QnXG5pbXBvcnQgeyB1c2VUcmFuc2xhdGlvbiB9IGZyb20gJ3JlYWN0LWkxOG5leHQnXG5pbXBvcnQgeyBPcHRpb25BY2Nlc3NpYmlsaXR5IH0gZnJvbSAnLi4vLi4vLi4vYXRvbXMvT3B0aW9uQWNjZXNzaWJpbGl0eSdcbmltcG9ydCB7IE9wdGlvbkNvclBlcm1pc3Npb24gfSBmcm9tICcuLi8uLi8uLi9hdG9tcy9PcHRpb25Db3JQZXJtaXNzaW9uJ1xuaW1wb3J0IHsgRVZFTlRTLCB1c2VFdmVudCB9IGZyb20gJy4uLy4uLy4uLy4uL2hvb2tzL3VzZUV2ZW50J1xuaW1wb3J0IHsgZ2V0QXZhaWxhYmxlQ29ubmVjdG9ycywgdHlwZSBDYXRhbG9nQ29ubmVjdG9yIH0gZnJvbSAnLi4vLi4vLi4vLi4vc2VydmljZXMvbWFpYS9BZ2VudHMvY29ubmVjdG9ycydcbmltcG9ydCB7IENvckFjY2VzcywgQ29yVG9vbEdyb3VwU2x1ZywgREVGQVVMVF9DT1JfQUNDRVNTIH0gZnJvbSAnLi4vLi4vLi4vLi4vdXRpbHMvbm9ybWFsaXplQWdlbnRDb25uZWN0b3JzJ1xuaW1wb3J0IHsgaGFzTWFpYUV4dGVybmFsQ29ubmVjdG9yc0FjY2VzcyB9IGZyb20gJy4uLy4uLy4uLy4uL2NvbnN0YW50cy9tYWlhRXh0ZXJuYWxDb25uZWN0b3JzQWNjZXNzJ1xuaW1wb3J0IHtcbiAgU0NBQVNXcmFwcGVyLFxuICBTQ0FBU0hlYWRlcixcbiAgU0NBQVNUaXRsZSxcbiAgU0NBQVNTdWJ0aXRsZSxcbiAgU0NBQVNDb250ZW50LFxuICBTQ0FBU1NlY3Rpb24sXG4gIFNDQUFTU2VjdGlvbkhlYWRlcixcbiAgU0NBQVNTZWN0aW9uVGl0bGUsXG4gIFNDQUFTU2VjdGlvblN1YnRpdGxlLFxuICBTQ0FBU09wdGlvbnNDb250YWluZXIsXG4gIFNDQUFTRGl2aWRlcixcbn0gZnJvbSAnLi9BYm1BY2Nlc3NpYmlsaXR5U2VjdGlvbi5zdHlsZXMnXG5pbXBvcnQgeyBDbGllbnRGb3JtRGF0YSB9IGZyb20gJy4vQWJtQWNjZXNzaWJpbGl0eVNlY3Rpb24uaW50ZXJmYWNlJ1xuXG5pbnRlcmZhY2UgQWJtQWNjZXNzaWJpbGl0eVNlY3Rpb25Qcm9wcyB7XG4gIHZhbHVlcz86IHtcbiAgICBhY2Nlc3NpYmlsaXR5Pzoge1xuICAgICAgYWNjZXNzVHlwZT86IHN0cmluZ1xuICAgICAgY2xpZW50cz86IENsaWVudEZvcm1EYXRhW10gfCBudWxsXG4gICAgICBjb3JBY2Nlc3M/OiBDb3JBY2Nlc3NcbiAgICAgIHNlbGVjdGVkQ29ubmVjdG9ycz86IHN0cmluZ1tdXG4gICAgfVxuICB9XG4gIGhhbmRsZVNldEFnZW50VmFsdWVzPzogKHsga2V5LCB2YWx1ZSB9OiB7IGtleTogc3RyaW5nOyB2YWx1ZTogdW5rbm93biB9KSA9PiB2b2lkXG59XG5cbi8vIE9yZGVuID0gamVyYXJxdcOtYSBkZSBDT1IgKGNsaWVudGUgPiBwcm95ZWN0byA+IHRhcmVhKSwgZGUgbcOhcyBhbXBsaW8gYSBtw6FzIGVzcGVjw61maWNvLlxuY29uc3QgQ09SX1BFUk1JU1NJT05fUk9XUzogeyBzbHVnOiBDb3JUb29sR3JvdXBTbHVnOyB0aXRsZUtleTogc3RyaW5nOyBkZXNjcmlwdGlvbktleTogc3RyaW5nIH1bXSA9IFtcbiAgeyBzbHVnOiAnY2xpZW50ZXMnLCB0aXRsZUtleTogJ2NsaWVudEFjY2Vzc1RpdGxlJywgZGVzY3JpcHRpb25LZXk6ICdjbGllbnRBY2Nlc3NEZXNjcmlwdGlvbicgfSxcbiAgeyBzbHVnOiAncHJveWVjdG9zJywgdGl0bGVLZXk6ICdwcm9qZWN0QWNjZXNzVGl0bGUnLCBkZXNjcmlwdGlvbktleTogJ3Byb2plY3RBY2Nlc3NEZXNjcmlwdGlvbicgfSxcbiAgeyBzbHVnOiAndGFyZWFzJywgdGl0bGVLZXk6ICd0YXNrQWNjZXNzVGl0bGUnLCBkZXNjcmlwdGlvbktleTogJ3Rhc2tBY2Nlc3NEZXNjcmlwdGlvbicgfSxcbl1cblxuZXhwb3J0IGNvbnN0IEFibUFjY2Vzc2liaWxpdHlTZWN0aW9uID0gKHsgdmFsdWVzLCBoYW5kbGVTZXRBZ2VudFZhbHVlcyB9OiBBYm1BY2Nlc3NpYmlsaXR5U2VjdGlvblByb3BzKSA9PiB7XG4gIGNvbnN0IHsgdCB9ID0gdXNlVHJhbnNsYXRpb24oJ2FibV9hZ2VudF9zZWN0aW9uJylcbiAgY29uc3QgZXZlbnRBbXBsaXR1ZGUgPSB1c2VFdmVudCgpXG5cbiAgY29uc3QgW2Zvcm1WYWx1ZXMsIHNldEZvcm1WYWx1ZXNdID0gdXNlU3RhdGU8e1xuICAgIGFjY2Vzc1R5cGU6IHN0cmluZ1xuICAgIGNsaWVudHM6IENsaWVudEZvcm1EYXRhW10gfCBudWxsXG4gICAgY29yQWNjZXNzOiBDb3JBY2Nlc3NcbiAgICBzZWxlY3RlZENvbm5lY3RvcnM6IHN0cmluZ1tdXG4gIH0+KHtcbiAgICBhY2Nlc3NUeXBlOiB2YWx1ZXM/LmFjY2Vzc2liaWxpdHk/LmFjY2Vzc1R5cGUgfHwgJ2NvbXBhbnknLFxuICAgIGNsaWVudHM6IHZhbHVlcz8uYWNjZXNzaWJpbGl0eT8uY2xpZW50cyB8fCBudWxsLFxuICAgIGNvckFjY2VzczogdmFsdWVzPy5hY2Nlc3NpYmlsaXR5Py5jb3JBY2Nlc3MgPz8gREVGQVVMVF9DT1JfQUNDRVNTLFxuICAgIHNlbGVjdGVkQ29ubmVjdG9yczogdmFsdWVzPy5hY2Nlc3NpYmlsaXR5Py5zZWxlY3RlZENvbm5lY3RvcnMgfHwgW10sXG4gIH0pXG4gIC8vIEVsIGNhdMOhbG9nbyBsbyBkZWZpbmUgZWwgYmFjayAoYEdFVCAvdjEvY29ubmVjdG9yc2ApOyBlbCBBQk0gcmVuZGVyaXphIHVuYSBmaWxhIHBvciBjb25lY3RvciBhY3Rpdm8uXG4gIGNvbnN0IFtjYXRhbG9nQ29ubmVjdG9ycywgc2V0Q2F0YWxvZ0Nvbm5lY3RvcnNdID0gdXNlU3RhdGU8Q2F0YWxvZ0Nvbm5lY3RvcltdPihbXSlcbiAgY29uc3QgZXh0ZXJuYWxDb25uZWN0b3JzRW5hYmxlZCA9IGhhc01haWFFeHRlcm5hbENvbm5lY3RvcnNBY2Nlc3MoKVxuXG4gIGNvbnN0IGhhbmRsZVNlbGVjdE9wdGlvbiA9IChvcHRpb246IHN0cmluZywgY2xpZW50cz86IENsaWVudEZvcm1EYXRhW10gfCBudWxsKSA9PiB7XG4gICAgY29uc3Qgb3B0aW9uTWFwcGluZzogeyBba2V5OiBzdHJpbmddOiBzdHJpbmcgfSA9IHtcbiAgICAgIGNvbXBhbnk6ICdhbGxfY29tcGFueScsXG4gICAgICBjbGllbnRzOiAnYnlfY2xpZW50ZXMnLFxuICAgICAgb25seV9tZTogJ2p1c3RfbWUnLFxuICAgIH1cblxuICAgIGV2ZW50QW1wbGl0dWRlKEVWRU5UUy5hY2Nlc3NpYmlsaXR5VHlwZSwgeyBvcHRpb246IG9wdGlvbk1hcHBpbmdbb3B0aW9uXSB9KVxuXG4gICAgY29uc3QgdmFsdWVUb1NlbmQgPSB7XG4gICAgICBhY2Nlc3NUeXBlOiBvcHRpb24sXG4gICAgICBjbGllbnRzOiBudWxsIGFzIENsaWVudEZvcm1EYXRhW10gfCBudWxsLFxuICAgICAgY29yQWNjZXNzOiBmb3JtVmFsdWVzLmNvckFjY2VzcyxcbiAgICAgIHNlbGVjdGVkQ29ubmVjdG9yczogZm9ybVZhbHVlcy5zZWxlY3RlZENvbm5lY3RvcnMsXG4gICAgfVxuICAgIGlmIChvcHRpb24gIT09ICdjbGllbnRzJyB8fCAhY2xpZW50cykge1xuICAgICAgc2V0Rm9ybVZhbHVlcyh2YWx1ZVRvU2VuZClcbiAgICAgIHJldHVyblxuICAgIH1cblxuICAgIGNvbnN0IGNsaWVudEZvcm1EYXRhID0gY2xpZW50cy5tYXAoY2xpZW50ID0+ICh7XG4gICAgICBpZDogY2xpZW50LmlkLFxuICAgICAgbmFtZTogY2xpZW50Lm5hbWUsXG4gICAgICBpc19hY3RpdmU6IGNsaWVudC5pc19hY3RpdmUsXG4gICAgICBpc19kZWxldGVkOiBjbGllbnQuaXNfZGVsZXRlZCxcbiAgICB9KSlcblxuICAgIGlmIChjbGllbnRzICYmIGNsaWVudHMubGVuZ3RoID4gMCkge1xuICAgICAgZXZlbnRBbXBsaXR1ZGUoRVZFTlRTLmFjY2Vzc2liaWxpdHlTZWxlY3RDbGllbnQpXG4gICAgfVxuXG4gICAgc2V0Rm9ybVZhbHVlcyh7IC4uLnZhbHVlVG9TZW5kLCBjbGllbnRzOiBjbGllbnRGb3JtRGF0YSB9KVxuICB9XG5cbiAgY29uc3QgaGFuZGxlQ29yQWNjZXNzQ2hhbmdlID0gKHNsdWc6IENvclRvb2xHcm91cFNsdWcsIGNoZWNrZWQ6IGJvb2xlYW4pID0+IHtcbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuY29ubmVjdG9yQ29yLCB7IG9wdGlvbjogY2hlY2tlZCA/ICdvbicgOiAnb2ZmJywgc2x1ZyB9KVxuXG4gICAgc2V0Rm9ybVZhbHVlcyhwcmV2ID0+ICh7XG4gICAgICAuLi5wcmV2LFxuICAgICAgY29yQWNjZXNzOiB7IC4uLnByZXYuY29yQWNjZXNzLCBbc2x1Z106IGNoZWNrZWQgfSxcbiAgICB9KSlcbiAgfVxuXG4gIGNvbnN0IGhhbmRsZUNvbm5lY3RvckFjY2Vzc0NoYW5nZSA9IChzbHVnOiBzdHJpbmcsIGNoZWNrZWQ6IGJvb2xlYW4pID0+IHtcbiAgICBldmVudEFtcGxpdHVkZShFVkVOVFMuY29ubmVjdG9yTWNwLCB7IG9wdGlvbjogY2hlY2tlZCA/ICdvbicgOiAnb2ZmJywgc2x1ZyB9KVxuXG4gICAgc2V0Rm9ybVZhbHVlcyhwcmV2ID0+IHtcbiAgICAgIGNvbnN0IG5leHQgPSBuZXcgU2V0KHByZXYuc2VsZWN0ZWRDb25uZWN0b3JzKVxuICAgICAgaWYgKGNoZWNrZWQpIHtcbiAgICAgICAgbmV4dC5hZGQoc2x1ZylcbiAgICAgIH0gZWxzZSB7XG4gICAgICAgIG5leHQuZGVsZXRlKHNsdWcpXG4gICAgICB9XG4gICAgICByZXR1cm4ge1xuICAgICAgICAuLi5wcmV2LFxuICAgICAgICBzZWxlY3RlZENvbm5lY3RvcnM6IEFycmF5LmZyb20obmV4dCksXG4gICAgICB9XG4gICAgfSlcbiAgfVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgY29uc3QgbmV4dENvbm5lY3RvcnMgPSB2YWx1ZXM/LmFjY2Vzc2liaWxpdHk/LnNlbGVjdGVkQ29ubmVjdG9yc1xuICAgIGlmICghbmV4dENvbm5lY3RvcnMpIHtcbiAgICAgIHJldHVyblxuICAgIH1cbiAgICBzZXRGb3JtVmFsdWVzKHByZXYgPT4ge1xuICAgICAgY29uc3QgY3VycmVudCA9IFsuLi5wcmV2LnNlbGVjdGVkQ29ubmVjdG9yc10uc29ydCgpLmpvaW4oJ3wnKVxuICAgICAgY29uc3QgaW5jb21pbmcgPSBbLi4ubmV4dENvbm5lY3RvcnNdLnNvcnQoKS5qb2luKCd8JylcbiAgICAgIGlmIChjdXJyZW50ID09PSBpbmNvbWluZykge1xuICAgICAgICByZXR1cm4gcHJldlxuICAgICAgfVxuICAgICAgcmV0dXJuIHtcbiAgICAgICAgLi4ucHJldixcbiAgICAgICAgc2VsZWN0ZWRDb25uZWN0b3JzOiBuZXh0Q29ubmVjdG9ycyxcbiAgICAgIH1cbiAgICB9KVxuICB9LCBbdmFsdWVzPy5hY2Nlc3NpYmlsaXR5Py5zZWxlY3RlZENvbm5lY3RvcnNdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKGZvcm1WYWx1ZXMpIHtcbiAgICAgIGhhbmRsZVNldEFnZW50VmFsdWVzPy4oe1xuICAgICAgICBrZXk6ICdhY2Nlc3NpYmlsaXR5JyxcbiAgICAgICAgdmFsdWU6IGZvcm1WYWx1ZXMsXG4gICAgICB9KVxuICAgIH1cbiAgfSwgW2Zvcm1WYWx1ZXNdKVxuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFleHRlcm5hbENvbm5lY3RvcnNFbmFibGVkKSByZXR1cm4gdW5kZWZpbmVkXG5cbiAgICBsZXQgY2FuY2VsbGVkID0gZmFsc2VcbiAgICBnZXRBdmFpbGFibGVDb25uZWN0b3JzKClcbiAgICAgIC50aGVuKGNvbm5lY3RvcnMgPT4ge1xuICAgICAgICBpZiAoIWNhbmNlbGxlZCkge1xuICAgICAgICAgIHNldENhdGFsb2dDb25uZWN0b3JzKGNvbm5lY3RvcnMuZmlsdGVyKGNvbm5lY3RvciA9PiBjb25uZWN0b3IuaXNfYWN0aXZlKSlcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICAgIC5jYXRjaChlcnJvciA9PiB7XG4gICAgICAgIGNvbnNvbGUuZXJyb3IoJ0Vycm9yIGZldGNoaW5nIGNvbm5lY3RvcnMgY2F0YWxvZzonLCBlcnJvcilcbiAgICAgICAgaWYgKCFjYW5jZWxsZWQpIHtcbiAgICAgICAgICBzZXRDYXRhbG9nQ29ubmVjdG9ycyhbXSlcbiAgICAgICAgfVxuICAgICAgfSlcbiAgICByZXR1cm4gKCkgPT4ge1xuICAgICAgY2FuY2VsbGVkID0gdHJ1ZVxuICAgIH1cbiAgfSwgW2V4dGVybmFsQ29ubmVjdG9yc0VuYWJsZWRdKVxuXG4gIHJldHVybiAoXG4gICAgPFNDQUFTV3JhcHBlcj5cbiAgICAgIDxTQ0FBU0hlYWRlciAkaW5kZXg9ezB9PlxuICAgICAgICA8U0NBQVNUaXRsZT57dCgnYWNjZXNzaWJpbGl0eVNlY3Rpb24udGl0bGVTZWN0aW9uJyl9PC9TQ0FBU1RpdGxlPlxuICAgICAgICA8U0NBQVNTdWJ0aXRsZT57dCgnYWNjZXNzaWJpbGl0eVNlY3Rpb24uc3VidGl0bGVTZWN0aW9uJyl9PC9TQ0FBU1N1YnRpdGxlPlxuICAgICAgPC9TQ0FBU0hlYWRlcj5cbiAgICAgIDxTQ0FBU0NvbnRlbnQgJGluZGV4PXsxfT5cbiAgICAgICAgPFNDQUFTU2VjdGlvbj5cbiAgICAgICAgICA8U0NBQVNTZWN0aW9uSGVhZGVyPlxuICAgICAgICAgICAgPFNDQUFTU2VjdGlvblRpdGxlPnt0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi5jb3JQZXJtaXNzaW9uc1RpdGxlJyl9PC9TQ0FBU1NlY3Rpb25UaXRsZT5cbiAgICAgICAgICAgIDxTQ0FBU1NlY3Rpb25TdWJ0aXRsZT57dCgnYWNjZXNzaWJpbGl0eVNlY3Rpb24uY29yUGVybWlzc2lvbnNTdWJ0aXRsZScpfTwvU0NBQVNTZWN0aW9uU3VidGl0bGU+XG4gICAgICAgICAgPC9TQ0FBU1NlY3Rpb25IZWFkZXI+XG4gICAgICAgICAge0NPUl9QRVJNSVNTSU9OX1JPV1MubWFwKCh7IHNsdWcsIHRpdGxlS2V5LCBkZXNjcmlwdGlvbktleSB9KSA9PiAoXG4gICAgICAgICAgICA8T3B0aW9uQ29yUGVybWlzc2lvblxuICAgICAgICAgICAgICBrZXk9e3NsdWd9XG4gICAgICAgICAgICAgIHRpdGxlPXt0KGBhY2Nlc3NpYmlsaXR5U2VjdGlvbi4ke3RpdGxlS2V5fWApfVxuICAgICAgICAgICAgICBkZXNjcmlwdGlvbj17dChgYWNjZXNzaWJpbGl0eVNlY3Rpb24uJHtkZXNjcmlwdGlvbktleX1gKX1cbiAgICAgICAgICAgICAgY2hlY2tlZD17Zm9ybVZhbHVlcy5jb3JBY2Nlc3Nbc2x1Z119XG4gICAgICAgICAgICAgIG9uQ2hhbmdlPXtjaGVja2VkID0+IGhhbmRsZUNvckFjY2Vzc0NoYW5nZShzbHVnLCBjaGVja2VkKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvU0NBQVNTZWN0aW9uPlxuXG4gICAgICAgIHtleHRlcm5hbENvbm5lY3RvcnNFbmFibGVkICYmIChcbiAgICAgICAgICA8PlxuICAgICAgICAgICAgPFNDQUFTRGl2aWRlciAvPlxuXG4gICAgICAgICAgICA8U0NBQVNTZWN0aW9uPlxuICAgICAgICAgICAgICA8U0NBQVNTZWN0aW9uSGVhZGVyPlxuICAgICAgICAgICAgICAgIDxTQ0FBU1NlY3Rpb25UaXRsZT57dCgnYWNjZXNzaWJpbGl0eVNlY3Rpb24ubWNwUGVybWlzc2lvbnNUaXRsZScpfTwvU0NBQVNTZWN0aW9uVGl0bGU+XG4gICAgICAgICAgICAgICAgPFNDQUFTU2VjdGlvblN1YnRpdGxlPnt0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi5tY3BQZXJtaXNzaW9uc1N1YnRpdGxlJyl9PC9TQ0FBU1NlY3Rpb25TdWJ0aXRsZT5cbiAgICAgICAgICAgICAgPC9TQ0FBU1NlY3Rpb25IZWFkZXI+XG4gICAgICAgICAgICAgIHtjYXRhbG9nQ29ubmVjdG9ycy5tYXAoY29ubmVjdG9yID0+IChcbiAgICAgICAgICAgICAgICA8T3B0aW9uQ29yUGVybWlzc2lvblxuICAgICAgICAgICAgICAgICAga2V5PXtjb25uZWN0b3Iuc2x1Z31cbiAgICAgICAgICAgICAgICAgIHRpdGxlPXtjb25uZWN0b3IubmFtZX1cbiAgICAgICAgICAgICAgICAgIGRlc2NyaXB0aW9uPXtcbiAgICAgICAgICAgICAgICAgICAgY29ubmVjdG9yLmRlc2NyaXB0aW9uIHx8XG4gICAgICAgICAgICAgICAgICAgIHQoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLmNvbm5lY3RvckFjY2Vzc0Rlc2NyaXB0aW9uJywgeyBuYW1lOiBjb25uZWN0b3IubmFtZSB9KVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgY2hlY2tlZD17Zm9ybVZhbHVlcy5zZWxlY3RlZENvbm5lY3RvcnMuaW5jbHVkZXMoY29ubmVjdG9yLnNsdWcpfVxuICAgICAgICAgICAgICAgICAgb25DaGFuZ2U9e2NoZWNrZWQgPT4gaGFuZGxlQ29ubmVjdG9yQWNjZXNzQ2hhbmdlKGNvbm5lY3Rvci5zbHVnLCBjaGVja2VkKX1cbiAgICAgICAgICAgICAgICAvPlxuICAgICAgICAgICAgICApKX1cbiAgICAgICAgICAgIDwvU0NBQVNTZWN0aW9uPlxuICAgICAgICAgIDwvPlxuICAgICAgICApfVxuXG4gICAgICAgIDxTQ0FBU0RpdmlkZXIgLz5cblxuICAgICAgICA8U0NBQVNTZWN0aW9uPlxuICAgICAgICAgIDxTQ0FBU1NlY3Rpb25IZWFkZXI+XG4gICAgICAgICAgICA8U0NBQVNTZWN0aW9uVGl0bGU+e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLnZpc2liaWxpdHlUaXRsZScpfTwvU0NBQVNTZWN0aW9uVGl0bGU+XG4gICAgICAgICAgICA8U0NBQVNTZWN0aW9uU3VidGl0bGU+e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLndob0NhbkFjY2VzcycpfTwvU0NBQVNTZWN0aW9uU3VidGl0bGU+XG4gICAgICAgICAgPC9TQ0FBU1NlY3Rpb25IZWFkZXI+XG4gICAgICAgICAgPFNDQUFTT3B0aW9uc0NvbnRhaW5lcj5cbiAgICAgICAgICAgIDxPcHRpb25BY2Nlc3NpYmlsaXR5XG4gICAgICAgICAgICAgIHRpdGxlPXt0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi5hbGxDb21wYW55VGl0bGUnKX1cbiAgICAgICAgICAgICAgZGVzY3JpcHRpb249e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLmFsbENvbXBhbnlEZXNjcmlwdGlvbicpfVxuICAgICAgICAgICAgICBoYW5kbGVTZWxlY3RPcHRpb249eygpID0+IGhhbmRsZVNlbGVjdE9wdGlvbignY29tcGFueScpfVxuICAgICAgICAgICAgICBvcHRpb25TZWxlY3RlZD17Zm9ybVZhbHVlcy5hY2Nlc3NUeXBlfVxuICAgICAgICAgICAgICBuYW1lPVwiY29tcGFueVwiXG4gICAgICAgICAgICAvPlxuICAgICAgICAgICAgPE9wdGlvbkFjY2Vzc2liaWxpdHlcbiAgICAgICAgICAgICAgdGl0bGU9e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLmNsaWVudFRpdGxlJyl9XG4gICAgICAgICAgICAgIGRlc2NyaXB0aW9uPXt0KCdhY2Nlc3NpYmlsaXR5U2VjdGlvbi5jbGllbnREZXNjcmlwdGlvbicpfVxuICAgICAgICAgICAgICBpc0NsaWVudD17Zm9ybVZhbHVlcy5hY2Nlc3NUeXBlID09PSAnY2xpZW50cyd9XG4gICAgICAgICAgICAgIGhhbmRsZVNlbGVjdE9wdGlvbj17KHByb3BzPzogQ2xpZW50Rm9ybURhdGFbXSkgPT4gaGFuZGxlU2VsZWN0T3B0aW9uKCdjbGllbnRzJywgcHJvcHMpfVxuICAgICAgICAgICAgICBvcHRpb25TZWxlY3RlZD17Zm9ybVZhbHVlcy5hY2Nlc3NUeXBlfVxuICAgICAgICAgICAgICBuYW1lPVwiY2xpZW50c1wiXG4gICAgICAgICAgICAgIHNlbGVjdGVkQ2xpZW50cz17Zm9ybVZhbHVlcy5jbGllbnRzPy5tYXAoY2xpZW50ID0+ICh7XG4gICAgICAgICAgICAgICAgaWQ6IGNsaWVudC5pZCxcbiAgICAgICAgICAgICAgICBuYW1lOiBjbGllbnQubmFtZSA/PyAnJyxcbiAgICAgICAgICAgICAgICBpc19hY3RpdmU6IGNsaWVudC5pc19hY3RpdmUsXG4gICAgICAgICAgICAgICAgaXNfZGVsZXRlZDogY2xpZW50LmlzX2RlbGV0ZWQsXG4gICAgICAgICAgICAgIH0pKX1cbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgICA8T3B0aW9uQWNjZXNzaWJpbGl0eVxuICAgICAgICAgICAgICB0aXRsZT17dCgnYWNjZXNzaWJpbGl0eVNlY3Rpb24ub3duVGl0bGUnKX1cbiAgICAgICAgICAgICAgZGVzY3JpcHRpb249e3QoJ2FjY2Vzc2liaWxpdHlTZWN0aW9uLm93bkRlc2NyaXB0aW9uJyl9XG4gICAgICAgICAgICAgIGhhbmRsZVNlbGVjdE9wdGlvbj17KCkgPT4gaGFuZGxlU2VsZWN0T3B0aW9uKCdvbmx5X21lJyl9XG4gICAgICAgICAgICAgIG9wdGlvblNlbGVjdGVkPXtmb3JtVmFsdWVzLmFjY2Vzc1R5cGV9XG4gICAgICAgICAgICAgIG5hbWU9XCJvbmx5X21lXCJcbiAgICAgICAgICAgIC8+XG4gICAgICAgICAgPC9TQ0FBU09wdGlvbnNDb250YWluZXI+XG4gICAgICAgIDwvU0NBQVNTZWN0aW9uPlxuICAgICAgPC9TQ0FBU0NvbnRlbnQ+XG4gICAgPC9TQ0FBU1dyYXBwZXI+XG4gIClcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFBQSxTQUFTQSxRQUFRLEVBQUVDLFNBQVMsUUFBUSxPQUFPO0FBQzNDLFNBQVNDLGNBQWMsUUFBUSxlQUFlO0FBQzlDLFNBQVNDLG1CQUFtQixRQUFRLG9DQUFvQztBQUN4RSxTQUFTQyxtQkFBbUIsUUFBUSxvQ0FBb0M7QUFDeEUsU0FBU0MsTUFBTSxFQUFFQyxRQUFRLFFBQVEsNEJBQTRCO0FBQzdELFNBQVNDLHNCQUFzQixRQUErQiw2Q0FBNkM7QUFDM0csU0FB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
|