@projectcor/maia-components 2.49.0 → 2.49.1-1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/App.js +44 -19
- package/lib/components/atoms/ActionableButton.spec.js +111 -0
- package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.spec.js +52 -0
- package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.utils.spec.js +11 -0
- package/lib/components/atoms/ApprovalBox/ApprovalBox.helpers.spec.js +63 -0
- package/lib/components/atoms/ApprovalBox/ApprovalBox.spec.js +183 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCard.spec.js +123 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.helpers.js +3 -1
- package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.helpers.spec.js +139 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.spec.js +385 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardImage.js +3 -1
- package/lib/components/atoms/AttachmentCard/AttachmentCardImage.spec.js +78 -0
- package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.helpers.spec.js +94 -0
- package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.js +24 -14
- package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.spec.js +396 -0
- package/lib/components/atoms/AttachmentPreviewModal/ExcelPreview.js +28 -10
- package/lib/components/atoms/AttachmentPreviewModal/ExcelPreview.spec.js +80 -0
- package/lib/components/atoms/AttachmentPreviewModal/PptPreview.helpers.spec.js +526 -0
- package/lib/components/atoms/AttachmentPreviewModal/PptPreview.js +19 -15
- package/lib/components/atoms/AttachmentPreviewModal/PptPreview.spec.js +169 -0
- package/lib/components/atoms/AttachmentPreviewModal/WordPreview.helpers.spec.js +11 -0
- package/lib/components/atoms/AttachmentPreviewModal/WordPreview.js +8 -4
- package/lib/components/atoms/AttachmentPreviewModal/WordPreview.spec.js +77 -0
- package/lib/components/atoms/Backdrop/Backdrop.spec.js +28 -0
- package/lib/components/atoms/CardMenu/CardMenu.spec.js +56 -0
- package/lib/components/atoms/ChatClientSelector/ChatClientSelector.spec.js +67 -0
- package/lib/components/atoms/Checkbox/Checkbox.spec.js +27 -0
- package/lib/components/atoms/Chip/Chip.spec.js +82 -0
- package/lib/components/atoms/ChipLlm/ChipLlm.spec.js +26 -0
- package/lib/components/atoms/ClientSelector/ClientSelector.helpers.spec.js +45 -0
- package/lib/components/atoms/ClientSelector/ClientSelector.js +15 -13
- package/lib/components/atoms/ClientSelector/ClientSelector.spec.js +133 -0
- package/lib/components/atoms/ContextMentionChip/ContextMentionChip.spec.js +29 -0
- package/lib/components/atoms/ContextMentionChip/MentionOverflowLabel.spec.js +46 -0
- package/lib/components/atoms/ContextMentionChip/buildChipElement.helpers.spec.js +109 -0
- package/lib/components/atoms/ContextMentionChip/buildChipElement.spec.js +81 -0
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.helpers.spec.js +92 -0
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.spec.js +319 -0
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.spec.js +107 -0
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.spec.js +136 -0
- package/lib/components/atoms/CopyToClipboard.spec.js +74 -0
- package/lib/components/atoms/EditableLabel/EditableLabel.spec.js +76 -0
- package/lib/components/atoms/EntitySelector/EntitySelector.spec.js +86 -0
- package/lib/components/atoms/Expand/Expand.spec.js +57 -0
- package/lib/components/atoms/Fade/Fade.js +10 -6
- package/lib/components/atoms/Fade/Fade.spec.js +66 -0
- package/lib/components/atoms/FeedbackButton/FeedbackButton.spec.js +75 -0
- package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.spec.js +104 -0
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +3 -1
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.spec.js +91 -0
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +19 -7
- package/lib/components/atoms/HelpButton.spec.js +87 -0
- package/lib/components/atoms/ImagePreview/ImagePreview.spec.js +96 -0
- package/lib/components/atoms/ListMenuOption/ListMenuOption.spec.js +54 -0
- package/lib/components/atoms/LoadingFaqs/LoadingFaqs.spec.js +21 -0
- package/lib/components/atoms/LoadingSearchClients/LoadingSearchClients.spec.js +20 -0
- package/lib/components/atoms/LoadingSearchProjects/LoadingSearchProjects.spec.js +26 -0
- package/lib/components/atoms/LoadingText/LoadingText.spec.js +25 -0
- package/lib/components/atoms/MAIAButton/MAIAButton.spec.js +42 -0
- package/lib/components/atoms/MAIAError/MAIAError.spec.js +27 -0
- package/lib/components/atoms/MAIAInput/MAIAInput.attachments.helpers.js +3 -2
- package/lib/components/atoms/MAIAInput/MAIAInput.attachments.helpers.spec.js +113 -0
- package/lib/components/atoms/MAIAInput/MAIAInput.helpers.js +3 -2
- package/lib/components/atoms/MAIAInput/MAIAInput.helpers.spec.js +381 -0
- package/lib/components/atoms/MAIAInput/MAIAInput.js +14 -7
- package/lib/components/atoms/MAIAInput/MAIAInput.spec.js +641 -0
- package/lib/components/atoms/MAIAInput/MAIAInputEditor.helpers.spec.js +92 -0
- package/lib/components/atoms/MAIAInput/MAIAInputEditor.spec.js +193 -0
- package/lib/components/atoms/MAIAInput/maiaInputLayout.spec.js +32 -0
- package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.spec.js +64 -0
- package/lib/components/atoms/MaiaWrapper/MaiaWrapper.spec.js +43 -0
- package/lib/components/atoms/MaiaWrapper/MaiaWrapperBase.js +9 -4
- package/lib/components/atoms/MaiaWrapper/MaiaWrapperBase.spec.js +114 -0
- package/lib/components/atoms/MaiaWrapper/ModernMaiaWrapper.spec.js +51 -0
- package/lib/components/atoms/ModalClientAccess/ModalClientAccess.spec.js +48 -0
- package/lib/components/atoms/ModalProject/ModalProject.spec.js +66 -0
- package/lib/components/atoms/NextPageLoader.spec.js +37 -0
- package/lib/components/atoms/OnboardingModalButton/OnboardingModal.spec.js +20 -0
- package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.helpers.spec.js +35 -0
- package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.spec.js +47 -0
- package/lib/components/atoms/OptionAccessibility/OptionAccessibility.js +4 -5
- package/lib/components/atoms/OptionAccessibility/OptionAccessibility.spec.js +146 -0
- package/lib/components/atoms/PrimaryButton.spec.js +42 -0
- package/lib/components/atoms/ProjectSelector/ProjectSelector.spec.js +69 -0
- package/lib/components/atoms/ReasoningBlock/ReasoningBlock.js +7 -2
- package/lib/components/atoms/ReasoningBlock/ReasoningBlock.spec.js +69 -0
- package/lib/components/atoms/ReasoningBlock/ReasoningBlock.styles.js +41 -24
- package/lib/components/atoms/ReasoningBlock/ReasoningSteps.js +25 -10
- package/lib/components/atoms/ReasoningBlock/ReasoningSteps.spec.js +59 -0
- package/lib/components/atoms/ReasoningBlock/ReasoningTimeline.js +78 -43
- package/lib/components/atoms/ReasoningBlock/ReasoningTimeline.spec.js +170 -0
- package/lib/components/atoms/ReasoningBlock/groupParallelSteps.js +9 -11
- package/lib/components/atoms/ReasoningBlock/groupParallelSteps.spec.js +199 -0
- package/lib/components/atoms/ReasoningBlock/reasoningLeading.spec.js +70 -0
- package/lib/components/atoms/ReasoningBlock/reasoningLiveNarration.js +37 -15
- package/lib/components/atoms/ReasoningBlock/reasoningLiveNarration.spec.js +120 -0
- package/lib/components/atoms/ReasoningBlock/reasoningMotion.js +8 -0
- package/lib/components/atoms/ReasoningBlock/reasoningTimeline.helpers.spec.js +31 -0
- package/lib/components/atoms/ReasoningBlock/useCollapsibleHeight.js +52 -0
- package/lib/components/atoms/ReasoningBlock/useCollapsibleHeight.spec.js +90 -0
- package/lib/components/atoms/ReasoningBlock/useReasoningMarkerHandoff.js +29 -0
- package/lib/components/atoms/ReasoningBlock/useReasoningMarkerHandoff.spec.js +38 -0
- package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.spec.js +16 -0
- package/lib/components/atoms/SkillsDropdown/SkillsDropdown.spec.js +107 -0
- package/lib/components/atoms/SlashCommandChip/SlashCommandChip.spec.js +24 -0
- package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.helpers.spec.js +71 -0
- package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.spec.js +120 -0
- package/lib/components/atoms/Switch/Switch.spec.js +41 -0
- package/lib/components/atoms/TextArea/CustomTextArea.spec.js +52 -0
- package/lib/components/atoms/TextArea/TextArea.helpers.spec.js +25 -0
- package/lib/components/atoms/TextArea/TextArea.spec.js +126 -0
- package/lib/components/atoms/ThirdButton.spec.js +29 -0
- package/lib/components/atoms/VideoModal/VideoModal.spec.js +68 -0
- package/lib/components/atoms/WithAppCfg.spec.js +82 -0
- package/lib/components/index.js +2 -1
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.helpers.spec.js +53 -0
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +3 -2
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.spec.js +742 -0
- package/lib/components/molecules/AbmSection/AbmGeneralSection.helpers.spec.js +107 -0
- package/lib/components/molecules/AbmSection/AbmGeneralSection.spec.js +256 -0
- package/lib/components/molecules/AbmSection/AbmKnowledgeSection.helpers.js +6 -4
- package/lib/components/molecules/AbmSection/AbmKnowledgeSection.helpers.spec.js +175 -0
- package/lib/components/molecules/AbmSection/AbmKnowledgeSection.js +25 -16
- package/lib/components/molecules/AbmSection/AbmKnowledgeSection.spec.js +318 -0
- package/lib/components/molecules/AbmSection/AbmLoaderFiles.helpers.spec.js +50 -0
- package/lib/components/molecules/AbmSection/AbmLoaderFiles.spec.js +94 -0
- package/lib/components/molecules/AgentInputBlock/AgentInputBlockMessage.js +83 -0
- package/lib/components/molecules/AgentInputBlock/AgentInputBlockMessage.styles.js +30 -0
- package/lib/components/molecules/AgentInputBlock/index.js +5 -0
- package/lib/components/molecules/AgentInputBlock/resolveAgentInputBlock.js +52 -0
- package/lib/components/molecules/AgentInputBlock/resolveAgentInputBlock.spec.js +76 -0
- package/lib/components/molecules/AgentInputBlock/resolveLegacyContextSession.js +20 -0
- package/lib/components/molecules/AgentInputBlock/resolveLegacyContextSession.spec.js +34 -0
- package/lib/components/molecules/AgentInputBlock/useAgentChangeModelAction.js +36 -0
- package/lib/components/molecules/ChatAIClientSelector/ChatAIClientSelector.spec.js +66 -0
- package/lib/components/molecules/ChatAIContent/ChatAIContent.js +7 -3
- package/lib/components/molecules/ChatAIContent/ChatAIContent.spec.js +145 -0
- package/lib/components/molecules/ChatAIHistory/ChatAIHistory.spec.js +204 -0
- package/lib/components/molecules/ChatAIHome/ChatAIHome.helpers.spec.js +622 -0
- package/lib/components/molecules/ChatAIHome/ChatAIHome.js +93 -72
- package/lib/components/molecules/ChatAIHome/ChatAIHome.spec.js +264 -0
- package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.spec.js +86 -0
- package/lib/components/molecules/ChatAIHome/styles.js +85 -78
- package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.spec.js +104 -0
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.helpers.spec.js +742 -0
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +30 -14
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.spec.js +541 -0
- package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.spec.js +46 -0
- package/lib/components/molecules/ChatAIMessages/newStyles.js +32 -35
- package/lib/components/molecules/ChatAIModal/ChatAIModal.helpers.js +8 -1
- package/lib/components/molecules/ChatAIModal/ChatAIModal.helpers.spec.js +1394 -0
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +25 -8
- package/lib/components/molecules/ChatAIModal/ChatAIModal.spec.js +1401 -0
- package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +2 -2
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.helpers.spec.js +33 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.spec.js +116 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +15 -153
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.spec.js +134 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +2 -26
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.helpers.spec.js +142 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +63 -367
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.spec.js +241 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.utils.js +69 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.utils.spec.js +144 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeaderAgentDropdown.js +95 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeaderAgentSelector.js +174 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeaderLayoutMenu.js +99 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeaderLayoutMenu.spec.js +65 -0
- package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.spec.js +37 -0
- package/lib/components/molecules/ChatAIModal/constants.spec.js +16 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.spec.js +22 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/useFloatingPanelDragTilt.spec.js +67 -0
- package/lib/components/molecules/ChatAIModal/layout.spec.js +72 -0
- package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.helpers.spec.js +93 -0
- package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.spec.js +297 -0
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.helpers.spec.js +62 -0
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.spec.js +221 -0
- package/lib/components/molecules/ChatAIProjectSelector/ChatAIProjectSelector.spec.js +66 -0
- package/lib/components/molecules/ChatFooter/ChatFooter.js +10 -4
- package/lib/components/molecules/ChatFooter/ChatFooter.spec.js +369 -0
- package/lib/components/molecules/ChatFooter/ChatFooterCorAccess.spec.js +10 -0
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.helpers.spec.js +104 -0
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.js +5 -2
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.spec.js +139 -0
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.spec.js +84 -0
- package/lib/components/molecules/MessageFeedback/MessageFeedback.spec.js +116 -0
- package/lib/components/molecules/ProjectSummaryChat/ProjectSummaryChat.spec.js +126 -0
- package/lib/components/molecules/ProjectSummaryConfig/ProjectSummaryConfig.spec.js +115 -0
- package/lib/components/molecules/ProjectSummaryContent/ProjectSummaryContent.spec.js +79 -0
- package/lib/components/molecules/ProjectSummaryModal/ProjectSummaryModal.spec.js +37 -0
- package/lib/components/molecules/Sidebar/Sidebar.helpers.spec.js +119 -0
- package/lib/components/molecules/Sidebar/Sidebar.js +41 -23
- package/lib/components/molecules/Sidebar/Sidebar.spec.js +464 -0
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.helpers.spec.js +1067 -0
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +2 -2
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.spec.js +1236 -0
- package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.spec.js +112 -0
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.helpers.spec.js +77 -0
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.spec.js +503 -0
- package/lib/components/organisms/ChatAI/ChatAI.spec.js +174 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPage.js +525 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPage.spec.js +246 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPage.styles.js +16 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.js +253 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.spec.js +139 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHeader.styles.js +13 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHome.js +284 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHome.spec.js +275 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHome.styles.js +196 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHomeActionCardSlot.js +94 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHomeActionCardSlot.spec.js +69 -0
- package/lib/components/organisms/ChatAIPage/ChatAIPageHomeActionCards.skeleton.js +38 -0
- package/lib/components/organisms/ChatAIPage/getDaypart.js +9 -0
- package/lib/components/organisms/ChatAIPage/getDaypart.spec.js +19 -0
- package/lib/components/organisms/ChatAIPage/index.js +3 -0
- package/lib/components/organisms/ClientAIButton/ClientAIButton.spec.js +53 -0
- package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.spec.js +59 -0
- package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.spec.js +79 -0
- package/lib/components/organisms/EditQuestionModal/EditQuestionModal.spec.js +86 -0
- package/lib/components/organisms/ModalFileExceeds/ModalFileExceeds.spec.js +49 -0
- package/lib/components/organisms/ProjectAIButton/ProjectAIButton.spec.js +67 -0
- package/lib/components/organisms/ProjectSummary/ProjectSummary.js +11 -7
- package/lib/components/organisms/ProjectSummary/ProjectSummary.spec.js +117 -0
- package/lib/components/organisms/SnackBar/Snackbar.spec.js +66 -0
- package/lib/components/organisms/SourcesInformation/SourceItem.spec.js +19 -0
- package/lib/components/organisms/SourcesInformation/SourcesInformationModal.js +4 -1
- package/lib/components/organisms/SourcesInformation/SourcesInformationModal.spec.js +52 -0
- package/lib/constants/formatExtensions.spec.js +14 -0
- package/lib/constants/maiaExternalConnectorsAccess.spec.js +29 -0
- package/lib/constants/maiaFeatureAccess.spec.js +30 -0
- package/lib/constants/maiaHourAgentAccess.spec.js +30 -0
- package/lib/constants/maiaTaskPanelAccess.spec.js +41 -0
- package/lib/constants/permissions/clientRoleAccess.spec.js +65 -0
- package/lib/constants/permissions/index.js +2 -2
- package/lib/constants/permissions/utils.js +4 -1
- package/lib/constants/permissions/utils.spec.js +128 -0
- package/lib/constants/plannerSyncEvents.spec.js +31 -0
- package/lib/constants/taskUrls.spec.js +9 -0
- package/lib/dev/DevMaiaPage.js +30 -0
- package/lib/dev/DevReasoningTimeline.js +68 -37
- package/lib/dev/Providers.js +5 -3
- package/lib/hooks/frequentlyUsedActionsCache.js +17 -0
- package/lib/hooks/frequentlyUsedActionsCache.spec.js +25 -0
- package/lib/hooks/useAccessClient/useAccessClient.spec.js +149 -0
- package/lib/hooks/useAgentModel/useAgentModel.spec.js +83 -0
- package/lib/hooks/useAgentModel/useCreateAgent.helpers.spec.js +268 -0
- package/lib/hooks/useAgentModel/useCreateAgent.spec.js +314 -0
- package/lib/hooks/useAgentModel/useDeleteAgent.spec.js +183 -0
- package/lib/hooks/useAgentModel/useUpdateAgent.js +7 -6
- package/lib/hooks/useAgentModel/useUpdateAgent.spec.js +374 -0
- package/lib/hooks/useAgentSuggestions.spec.js +89 -0
- package/lib/hooks/useCaretPosition.spec.js +58 -0
- package/lib/hooks/useChatManager/useChatManager.helpers.js +3 -3
- package/lib/hooks/useChatManager/useChatManager.helpers.spec.js +2027 -0
- package/lib/hooks/useChatManager/useChatManager.js +8 -7
- package/lib/hooks/useChatManager/useChatManager.spec.js +2409 -0
- package/lib/hooks/useChatMessages/useChatMessages.helpers.spec.js +491 -0
- package/lib/hooks/useChatMessages/useChatMessages.spec.js +729 -0
- package/lib/hooks/useChats/useChats.spec.js +208 -0
- package/lib/hooks/useClientSearch.helpers.spec.js +52 -0
- package/lib/hooks/useClientSearch.spec.js +86 -0
- package/lib/hooks/useContextMentions.helpers.spec.js +267 -0
- package/lib/hooks/useContextMentions.spec.js +338 -0
- package/lib/hooks/useContextPinPopover.helpers.spec.js +183 -0
- package/lib/hooks/useContextPinPopover.spec.js +159 -0
- package/lib/hooks/useContinueLegacyContextInNewChat/index.js +2 -0
- package/lib/hooks/useContinueLegacyContextInNewChat/useContinueLegacyContextInNewChat.js +93 -0
- package/lib/hooks/useDebounce.spec.js +42 -0
- package/lib/hooks/useEntitySearch.helpers.spec.js +723 -0
- package/lib/hooks/useEntitySearch.js +3 -1
- package/lib/hooks/useEntitySearch.spec.js +718 -0
- package/lib/hooks/useEvent.spec.js +45 -0
- package/lib/hooks/useFrequentlyAskedQuestions.spec.js +222 -0
- package/lib/hooks/useFrequentlyUsedActions.js +60 -22
- package/lib/hooks/useFrequentlyUsedActions.spec.js +135 -0
- package/lib/hooks/useIsMaiaPageRoute.js +26 -0
- package/lib/hooks/useIsMaiaPageRoute.spec.js +26 -0
- package/lib/hooks/useKnowledge/deleteKnowledge.spec.js +122 -0
- package/lib/hooks/useKnowledge/downloadKnowledge.js +4 -4
- package/lib/hooks/useKnowledge/downloadKnowledge.spec.js +148 -0
- package/lib/hooks/useKnowledge/saveKnowledge.spec.js +104 -0
- package/lib/hooks/useKnowledge/useKnowledgeOperations.js +16 -15
- package/lib/hooks/useKnowledge/useKnowledgeOperations.spec.js +178 -0
- package/lib/hooks/useMaiaChatSessionMeta/index.js +2 -0
- package/lib/hooks/useMaiaChatSessionMeta/useMaiaChatSessionMeta.js +24 -0
- package/lib/hooks/useMentionAllowedTypes.spec.js +89 -0
- package/lib/hooks/useMentionPopover.helpers.spec.js +100 -0
- package/lib/hooks/useMentionPopover.spec.js +392 -0
- package/lib/hooks/useMinimizedPillBottomOffset.helpers.spec.js +176 -0
- package/lib/hooks/useMinimizedPillBottomOffset.spec.js +89 -0
- package/lib/hooks/useMinimizedPillNoveltyDot/useMinimizedPillNoveltyDot.spec.js +67 -0
- package/lib/hooks/useModal/useModal.spec.js +73 -0
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.helpers.spec.js +138 -0
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.spec.js +417 -0
- package/lib/hooks/useProjectSearch.helpers.spec.js +89 -0
- package/lib/hooks/useProjectSearch.spec.js +91 -0
- package/lib/hooks/useProjectSummary.spec.js +193 -0
- package/lib/hooks/useProjectSummaryConfig.helpers.spec.js +151 -0
- package/lib/hooks/useProjectSummaryConfig.js +10 -5
- package/lib/hooks/useProjectSummaryConfig.spec.js +133 -0
- package/lib/hooks/useReasoningTrace/reasoningStore.spec.js +112 -0
- package/lib/hooks/useRecentClientsSearch.helpers.spec.js +33 -0
- package/lib/hooks/useRecentClientsSearch.spec.js +85 -0
- package/lib/hooks/useRecentContexts.spec.js +139 -0
- package/lib/hooks/useResize.spec.js +37 -0
- package/lib/hooks/useSkillsCatalog.spec.js +88 -0
- package/lib/hooks/useSlashCommands.spec.js +139 -0
- package/lib/hooks/useSmoothStreamText/useSmoothStreamText.spec.js +101 -0
- package/lib/hooks/useSnackBarManager/useSnackBarManager.spec.js +33 -0
- package/lib/hooks/useStreamResponse.spec.js +199 -0
- package/lib/hooks/useT.spec.js +20 -0
- package/lib/hooks/useToggle.spec.js +33 -0
- package/lib/hooks/useToggleFavorite/useToggleFavorite.spec.js +171 -0
- package/lib/index.js +5 -2
- package/lib/lang/br/index.js +26 -1
- package/lib/lang/en/index.js +26 -1
- package/lib/lang/es/index.js +26 -1
- package/lib/lang/fr/index.js +26 -1
- package/lib/services/appcues.spec.js +37 -0
- package/lib/services/maia/Access/updateAccess.spec.js +137 -0
- package/lib/services/maia/Actions/getFrequentlyUsedActions.js +1 -1
- package/lib/services/maia/Actions/getFrequentlyUsedActions.spec.js +56 -0
- package/lib/services/maia/Actions/getSlashCommands.spec.js +91 -0
- package/lib/services/maia/Agents/connectors.js +3 -1
- package/lib/services/maia/Agents/connectors.spec.js +496 -0
- package/lib/services/maia/Agents/createAgent.spec.js +55 -0
- package/lib/services/maia/Agents/deleteAgent.spec.js +57 -0
- package/lib/services/maia/Agents/fetchAgentDetail.spec.js +108 -0
- package/lib/services/maia/Agents/getAgentById.spec.js +190 -0
- package/lib/services/maia/Agents/getAgentModels.spec.js +190 -0
- package/lib/services/maia/Agents/getAgentSuggestions.spec.js +89 -0
- package/lib/services/maia/Agents/getAgents.helpers.spec.js +325 -0
- package/lib/services/maia/Agents/getAgents.spec.js +1135 -0
- package/lib/services/maia/Agents/setAgentToolGroups.spec.js +45 -0
- package/lib/services/maia/Agents/toggleFavorite.spec.js +59 -0
- package/lib/services/maia/Agents/updateAgent.spec.js +48 -0
- package/lib/services/maia/Chats/deleteChat.spec.js +31 -0
- package/lib/services/maia/Chats/getChatMessages.spec.js +150 -0
- package/lib/services/maia/Chats/getChatsByUserId.spec.js +149 -0
- package/lib/services/maia/Chats/markSessionAsRead.spec.js +30 -0
- package/lib/services/maia/Chats/patchChat.spec.js +41 -0
- package/lib/services/maia/Chats/wasHelpfulChat.spec.js +28 -0
- package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.spec.js +58 -0
- package/lib/services/maia/Knowledge/delete.spec.js +45 -0
- package/lib/services/maia/Knowledge/download.spec.js +78 -0
- package/lib/services/maia/Knowledge/save.spec.js +58 -0
- package/lib/services/maia/Orchestrator/orchestrator.helpers.spec.js +225 -0
- package/lib/services/maia/Orchestrator/orchestrator.spec.js +181 -0
- package/lib/services/maia/RecentClients/getRecentClients.spec.js +52 -0
- package/lib/services/maia/RecentContexts/getRecentContexts.spec.js +103 -0
- package/lib/services/maia/RecentProjects/getRecentProjects.spec.js +82 -0
- package/lib/services/maia/RecentTasks/getRecentTasks.spec.js +63 -0
- package/lib/services/maia/RecentUsers/getRecentUsers.spec.js +82 -0
- package/lib/services/maia/Skills/createSkill.spec.js +68 -0
- package/lib/services/maia/Skills/deleteSkill.spec.js +42 -0
- package/lib/services/maia/Skills/generateSkill.spec.js +48 -0
- package/lib/services/maia/Skills/getSkills.spec.js +152 -0
- package/lib/services/maia/Skills/updateSkill.spec.js +62 -0
- package/lib/services/maia/client.spec.js +56 -0
- package/lib/services/utils/fetchCOR.spec.js +211 -0
- package/lib/services/utils/getCookie.spec.js +20 -0
- package/lib/services/utils/mapChatMessages.helpers.spec.js +336 -0
- package/lib/services/utils/mapChatMessages.spec.js +254 -0
- package/lib/store/chatsSidebarOptimistic.spec.js +145 -0
- package/lib/store/maiaLastChatPersistence.spec.js +22 -0
- package/lib/store/maiaPanelSessionPersistence.spec.js +62 -0
- package/lib/store/sessions/sessionNotificationSound.spec.js +145 -0
- package/lib/store/sessions/sessionNotifications.helpers.spec.js +63 -0
- package/lib/store/sessions/sessionNotifications.spec.js +106 -0
- package/lib/store/sessions/sessionStreamManager.helpers.spec.js +177 -0
- package/lib/store/sessions/sessionStreamManager.js +51 -55
- package/lib/store/sessions/sessionStreamManager.spec.js +939 -0
- package/lib/store/sessions/sessions.types.spec.js +16 -0
- package/lib/store/sessions/useSessionsStore.spec.js +135 -0
- package/lib/store/useChatsStore.js +4 -3
- package/lib/store/useChatsStore.spec.js +619 -0
- package/lib/store/useFaqsStore.spec.js +57 -0
- package/lib/styles/cascade.js +29 -3
- package/lib/styles/transitions.js +3 -1
- package/lib/types/global.d.js +1 -1
- package/lib/utils/actionCategoryMap.spec.js +18 -0
- package/lib/utils/agentDisplayName.spec.js +48 -0
- package/lib/utils/autoApproveStorage.spec.js +25 -0
- package/lib/utils/chatInputFiles.spec.js +39 -0
- package/lib/utils/contextMentionIcons.spec.js +41 -0
- package/lib/utils/contextMentionLabel.spec.js +13 -0
- package/lib/utils/contextMentionTriggers.spec.js +44 -0
- package/lib/utils/contextMentionTypeLabel.spec.js +14 -0
- package/lib/utils/corConnectorMentionTypes.spec.js +23 -0
- package/lib/utils/entityLinkRender.spec.js +72 -0
- package/lib/utils/fileDownloadHelper.spec.js +67 -0
- package/lib/utils/formatQuickActionMessage.spec.js +27 -0
- package/lib/utils/formatUnreadCount.spec.js +12 -0
- package/lib/utils/getUnitFileSize.spec.js +18 -0
- package/lib/utils/hitlAnalytics.spec.js +136 -0
- package/lib/utils/hoursPlannerQuickActionType.js +74 -1
- package/lib/utils/hoursPlannerQuickActionType.spec.js +64 -0
- package/lib/utils/imagePreprocessor.helpers.spec.js +28 -0
- package/lib/utils/imagePreprocessor.js +14 -3
- package/lib/utils/imagePreprocessor.spec.js +112 -0
- package/lib/utils/maiaPageRoute.js +24 -0
- package/lib/utils/maiaPageRoute.spec.js +23 -0
- package/lib/utils/mapBackendLang.spec.js +19 -0
- package/lib/utils/navigateContextEntity.js +2 -2
- package/lib/utils/navigateContextEntity.spec.js +50 -0
- package/lib/utils/normalizeAgentConnectors.spec.js +98 -0
- package/lib/utils/openTaskInCorPanel.js +2 -2
- package/lib/utils/openTaskInCorPanel.spec.js +43 -0
- package/lib/utils/orchestratorSubagents.spec.js +32 -0
- package/lib/utils/reasoningMappers.spec.js +103 -0
- package/lib/utils/recentContextsHomeLimit.spec.js +32 -0
- package/lib/utils/renderContextMentions.helpers.spec.js +87 -0
- package/lib/utils/renderContextMentions.spec.js +268 -0
- package/lib/utils/retryCompletion.spec.js +181 -0
- package/lib/utils/skillContentSize.spec.js +13 -0
- package/lib/utils/slashCommandMarker.spec.js +43 -0
- package/lib/utils/sortManagerHoursHomeFuas.spec.js +51 -0
- package/lib/utils/sseStreamContent.spec.js +31 -0
- package/lib/utils/streamActivityMessages.helpers.js +5 -4
- package/lib/utils/streamActivityMessages.helpers.spec.js +84 -0
- package/lib/utils/streamActivityMessages.js +32 -20
- package/lib/utils/streamActivityMessages.spec.js +336 -0
- package/lib/utils/validateTrimmedFields.spec.js +26 -0
- package/package.json +1 -1
- package/README.md +0 -2
|
@@ -0,0 +1,46 @@
|
|
|
1
|
+
import { fireEvent, renderWithProviders, screen } from '../../../test/test-utils';
|
|
2
|
+
import { ChatAISuggestions } from './ChatAISuggestions';
|
|
3
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
4
|
+
describe('ChatAISuggestions', function () {
|
|
5
|
+
it('returns null without suggestions', function () {
|
|
6
|
+
var _renderWithProviders = renderWithProviders(/*#__PURE__*/_jsx(ChatAISuggestions, {
|
|
7
|
+
suggestions: [],
|
|
8
|
+
onSelectSuggestion: jest.fn()
|
|
9
|
+
})),
|
|
10
|
+
container = _renderWithProviders.container;
|
|
11
|
+
expect(container).toBeEmptyDOMElement();
|
|
12
|
+
});
|
|
13
|
+
it('selects a suggestion and refocuses the input', function () {
|
|
14
|
+
jest.spyOn(window, 'requestAnimationFrame').mockImplementation(function (cb) {
|
|
15
|
+
cb(0);
|
|
16
|
+
return 0;
|
|
17
|
+
});
|
|
18
|
+
var onSelectSuggestion = jest.fn();
|
|
19
|
+
var onRefocus = jest.fn();
|
|
20
|
+
document.addEventListener('maia-input-refocus', onRefocus);
|
|
21
|
+
renderWithProviders(/*#__PURE__*/_jsx(ChatAISuggestions, {
|
|
22
|
+
suggestions: ['Resumí el brief', 'Creá una tarea'],
|
|
23
|
+
onSelectSuggestion: onSelectSuggestion
|
|
24
|
+
}));
|
|
25
|
+
fireEvent.click(screen.getByRole('button', {
|
|
26
|
+
name: /Resumí el brief/
|
|
27
|
+
}));
|
|
28
|
+
expect(onSelectSuggestion).toHaveBeenCalledWith('Resumí el brief');
|
|
29
|
+
expect(onRefocus).toHaveBeenCalled();
|
|
30
|
+
document.removeEventListener('maia-input-refocus', onRefocus);
|
|
31
|
+
window.requestAnimationFrame.mockRestore();
|
|
32
|
+
});
|
|
33
|
+
it('does not select when disabled', function () {
|
|
34
|
+
var onSelectSuggestion = jest.fn();
|
|
35
|
+
renderWithProviders(/*#__PURE__*/_jsx(ChatAISuggestions, {
|
|
36
|
+
suggestions: ['Resumí'],
|
|
37
|
+
onSelectSuggestion: onSelectSuggestion,
|
|
38
|
+
disabled: true
|
|
39
|
+
}));
|
|
40
|
+
fireEvent.click(screen.getByRole('button', {
|
|
41
|
+
name: /Resumí/
|
|
42
|
+
}));
|
|
43
|
+
expect(onSelectSuggestion).not.toHaveBeenCalled();
|
|
44
|
+
});
|
|
45
|
+
});
|
|
46
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJmaXJlRXZlbnQiLCJyZW5kZXJXaXRoUHJvdmlkZXJzIiwic2NyZWVuIiwiQ2hhdEFJU3VnZ2VzdGlvbnMiLCJqc3giLCJfanN4IiwiZGVzY3JpYmUiLCJpdCIsIl9yZW5kZXJXaXRoUHJvdmlkZXJzIiwic3VnZ2VzdGlvbnMiLCJvblNlbGVjdFN1Z2dlc3Rpb24iLCJqZXN0IiwiZm4iLCJjb250YWluZXIiLCJleHBlY3QiLCJ0b0JlRW1wdHlET01FbGVtZW50Iiwic3B5T24iLCJ3aW5kb3ciLCJtb2NrSW1wbGVtZW50YXRpb24iLCJjYiIsIm9uUmVmb2N1cyIsImRvY3VtZW50IiwiYWRkRXZlbnRMaXN0ZW5lciIsImNsaWNrIiwiZ2V0QnlSb2xlIiwibmFtZSIsInRvSGF2ZUJlZW5DYWxsZWRXaXRoIiwidG9IYXZlQmVlbkNhbGxlZCIsInJlbW92ZUV2ZW50TGlzdGVuZXIiLCJyZXF1ZXN0QW5pbWF0aW9uRnJhbWUiLCJtb2NrUmVzdG9yZSIsImRpc2FibGVkIiwibm90Il0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1lc3NhZ2VzL0NoYXRBSVN1Z2dlc3Rpb25zLnNwZWMudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGZpcmVFdmVudCwgcmVuZGVyV2l0aFByb3ZpZGVycywgc2NyZWVuIH0gZnJvbSAnLi4vLi4vLi4vdGVzdC90ZXN0LXV0aWxzJ1xuaW1wb3J0IHsgQ2hhdEFJU3VnZ2VzdGlvbnMgfSBmcm9tICcuL0NoYXRBSVN1Z2dlc3Rpb25zJ1xuXG5kZXNjcmliZSgnQ2hhdEFJU3VnZ2VzdGlvbnMnLCAoKSA9PiB7XG4gIGl0KCdyZXR1cm5zIG51bGwgd2l0aG91dCBzdWdnZXN0aW9ucycsICgpID0+IHtcbiAgICBjb25zdCB7IGNvbnRhaW5lciB9ID0gcmVuZGVyV2l0aFByb3ZpZGVycyg8Q2hhdEFJU3VnZ2VzdGlvbnMgc3VnZ2VzdGlvbnM9e1tdfSBvblNlbGVjdFN1Z2dlc3Rpb249e2plc3QuZm4oKX0gLz4pXG5cbiAgICBleHBlY3QoY29udGFpbmVyKS50b0JlRW1wdHlET01FbGVtZW50KClcbiAgfSlcblxuICBpdCgnc2VsZWN0cyBhIHN1Z2dlc3Rpb24gYW5kIHJlZm9jdXNlcyB0aGUgaW5wdXQnLCAoKSA9PiB7XG4gICAgamVzdC5zcHlPbih3aW5kb3csICdyZXF1ZXN0QW5pbWF0aW9uRnJhbWUnKS5tb2NrSW1wbGVtZW50YXRpb24oY2IgPT4ge1xuICAgICAgY2IoMClcbiAgICAgIHJldHVybiAwXG4gICAgfSlcbiAgICBjb25zdCBvblNlbGVjdFN1Z2dlc3Rpb24gPSBqZXN0LmZuKClcbiAgICBjb25zdCBvblJlZm9jdXMgPSBqZXN0LmZuKClcbiAgICBkb2N1bWVudC5hZGRFdmVudExpc3RlbmVyKCdtYWlhLWlucHV0LXJlZm9jdXMnLCBvblJlZm9jdXMpXG5cbiAgICByZW5kZXJXaXRoUHJvdmlkZXJzKFxuICAgICAgPENoYXRBSVN1Z2dlc3Rpb25zIHN1Z2dlc3Rpb25zPXtbJ1Jlc3Vtw60gZWwgYnJpZWYnLCAnQ3Jlw6EgdW5hIHRhcmVhJ119IG9uU2VsZWN0U3VnZ2VzdGlvbj17b25TZWxlY3RTdWdnZXN0aW9ufSAvPlxuICAgIClcblxuICAgIGZpcmVFdmVudC5jbGljayhzY3JlZW4uZ2V0QnlSb2xlKCdidXR0b24nLCB7IG5hbWU6IC9SZXN1bcOtIGVsIGJyaWVmLyB9KSlcblxuICAgIGV4cGVjdChvblNlbGVjdFN1Z2dlc3Rpb24pLnRvSGF2ZUJlZW5DYWxsZWRXaXRoKCdSZXN1bcOtIGVsIGJyaWVmJylcbiAgICBleHBlY3Qob25SZWZvY3VzKS50b0hhdmVCZWVuQ2FsbGVkKClcblxuICAgIGRvY3VtZW50LnJlbW92ZUV2ZW50TGlzdGVuZXIoJ21haWEtaW5wdXQtcmVmb2N1cycsIG9uUmVmb2N1cylcbiAgICA7KHdpbmRvdy5yZXF1ZXN0QW5pbWF0aW9uRnJhbWUgYXMgamVzdC5Nb2NrKS5tb2NrUmVzdG9yZSgpXG4gIH0pXG5cbiAgaXQoJ2RvZXMgbm90IHNlbGVjdCB3aGVuIGRpc2FibGVkJywgKCkgPT4ge1xuICAgIGNvbnN0IG9uU2VsZWN0U3VnZ2VzdGlvbiA9IGplc3QuZm4oKVxuICAgIHJlbmRlcldpdGhQcm92aWRlcnMoPENoYXRBSVN1Z2dlc3Rpb25zIHN1Z2dlc3Rpb25zPXtbJ1Jlc3Vtw60nXX0gb25TZWxlY3RTdWdnZXN0aW9uPXtvblNlbGVjdFN1Z2dlc3Rpb259IGRpc2FibGVkIC8+KVxuXG4gICAgZmlyZUV2ZW50LmNsaWNrKHNjcmVlbi5nZXRCeVJvbGUoJ2J1dHRvbicsIHsgbmFtZTogL1Jlc3Vtw60vIH0pKVxuXG4gICAgZXhwZWN0KG9uU2VsZWN0U3VnZ2VzdGlvbikubm90LnRvSGF2ZUJlZW5DYWxsZWQoKVxuICB9KVxufSlcbiJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBU0EsU0FBUyxFQUFFQyxtQkFBbUIsRUFBRUMsTUFBTSxRQUFRLDBCQUEwQjtBQUNqRixTQUFTQyxpQkFBaUIsUUFBUSxxQkFBcUI7QUFBQSxTQUFBQyxHQUFBLElBQUFDLElBQUE7QUFFdkRDLFFBQVEsQ0FBQyxtQkFBbUIsRUFBRSxZQUFNO0VBQ2xDQyxFQUFFLENBQUMsa0NBQWtDLEVBQUUsWUFBTTtJQUMzQyxJQUFBQyxvQkFBQSxHQUFzQlAsbUJBQW1CLGNBQUNJLElBQUEsQ0FBQ0YsaUJBQWlCO1FBQUNNLFdBQVcsRUFBRSxFQUFHO1FBQUNDLGtCQUFrQixFQUFFQyxJQUFJLENBQUNDLEVBQUUsQ0FBQztNQUFFLENBQUUsQ0FBQyxDQUFDO01BQXhHQyxTQUFTLEdBQUFMLG9CQUFBLENBQVRLLFNBQVM7SUFFakJDLE1BQU0sQ0FBQ0QsU0FBUyxDQUFDLENBQUNFLG1CQUFtQixDQUFDLENBQUM7RUFDekMsQ0FBQyxDQUFDO0VBRUZSLEVBQUUsQ0FBQyw4Q0FBOEMsRUFBRSxZQUFNO0lBQ3ZESSxJQUFJLENBQUNLLEtBQUssQ0FBQ0MsTUFBTSxFQUFFLHVCQUF1QixDQUFDLENBQUNDLGtCQUFrQixDQUFDLFVBQUFDLEVBQUUsRUFBSTtNQUNuRUEsRUFBRSxDQUFDLENBQUMsQ0FBQztNQUNMLE9BQU8sQ0FBQztJQUNWLENBQUMsQ0FBQztJQUNGLElBQU1ULGtCQUFrQixHQUFHQyxJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDLElBQU1RLFNBQVMsR0FBR1QsSUFBSSxDQUFDQyxFQUFFLENBQUMsQ0FBQztJQUMzQlMsUUFBUSxDQUFDQyxnQkFBZ0IsQ0FBQyxvQkFBb0IsRUFBRUYsU0FBUyxDQUFDO0lBRTFEbkIsbUJBQW1CLGNBQ2pCSSxJQUFBLENBQUNGLGlCQUFpQjtNQUFDTSxXQUFXLEVBQUUsQ0FBQyxpQkFBaUIsRUFBRSxnQkFBZ0IsQ0FBRTtNQUFDQyxrQkFBa0IsRUFBRUE7SUFBbUIsQ0FBRSxDQUNsSCxDQUFDO0lBRURWLFNBQVMsQ0FBQ3VCLEtBQUssQ0FBQ3JCLE1BQU0sQ0FBQ3NCLFNBQVMsQ0FBQyxRQUFRLEVBQUU7TUFBRUMsSUFBSSxFQUFFO0lBQWtCLENBQUMsQ0FBQyxDQUFDO0lBRXhFWCxNQUFNLENBQUNKLGtCQUFrQixDQUFDLENBQUNnQixvQkFBb0IsQ0FBQyxpQkFBaUIsQ0FBQztJQUNsRVosTUFBTSxDQUFDTSxTQUFTLENBQUMsQ0FBQ08sZ0JBQWdCLENBQUMsQ0FBQztJQUVwQ04sUUFBUSxDQUFDTyxtQkFBbUIsQ0FBQyxvQkFBb0IsRUFBRVIsU0FBUyxDQUFDO0lBQzNESCxNQUFNLENBQUNZLHFCQUFxQixDQUFlQyxXQUFXLENBQUMsQ0FBQztFQUM1RCxDQUFDLENBQUM7RUFFRnZCLEVBQUUsQ0FBQywrQkFBK0IsRUFBRSxZQUFNO0lBQ3hDLElBQU1HLGtCQUFrQixHQUFHQyxJQUFJLENBQUNDLEVBQUUsQ0FBQyxDQUFDO0lBQ3BDWCxtQkFBbUIsY0FBQ0ksSUFBQSxDQUFDRixpQkFBaUI7TUFBQ00sV0FBVyxFQUFFLENBQUMsUUFBUSxDQUFFO01BQUNDLGtCQUFrQixFQUFFQSxrQkFBbUI7TUFBQ3FCLFFBQVE7SUFBQSxDQUFFLENBQUMsQ0FBQztJQUVwSC9CLFNBQVMsQ0FBQ3VCLEtBQUssQ0FBQ3JCLE1BQU0sQ0FBQ3NCLFNBQVMsQ0FBQyxRQUFRLEVBQUU7TUFBRUMsSUFBSSxFQUFFO0lBQVMsQ0FBQyxDQUFDLENBQUM7SUFFL0RYLE1BQU0sQ0FBQ0osa0JBQWtCLENBQUMsQ0FBQ3NCLEdBQUcsQ0FBQ0wsZ0JBQWdCLENBQUMsQ0FBQztFQUNuRCxDQUFDLENBQUM7QUFDSixDQUFDLENBQUMiLCJpZ25vcmVMaXN0IjpbXX0=
|
|
@@ -8,28 +8,25 @@ export var MessageWrapper = styled.div.withConfig({
|
|
|
8
8
|
componentId: "sc-1k23l8x-0"
|
|
9
9
|
})(["padding:16px;"]);
|
|
10
10
|
|
|
11
|
-
/**
|
|
11
|
+
/** Área de mensajes: columna acotada; el scroll vive solo en SCMessagesScroll. */
|
|
12
12
|
export var SCMessagesOuter = styled.div.withConfig({
|
|
13
13
|
displayName: "newStyles__SCMessagesOuter",
|
|
14
14
|
componentId: "sc-1k23l8x-1"
|
|
15
|
-
})(["display:flex;flex
|
|
16
|
-
var $scrollOnParent = _ref.$scrollOnParent;
|
|
17
|
-
return $scrollOnParent ? '' : 'overflow: auto; overscroll-behavior-y: contain;';
|
|
18
|
-
});
|
|
15
|
+
})(["display:flex;flex:1 1 0%;flex-direction:column;width:100%;min-height:0;position:relative;overflow:hidden;"]);
|
|
19
16
|
|
|
20
|
-
/**
|
|
17
|
+
/** Scroller del hilo: fija el botón "ir al final" y los gradientes en el área del chat. */
|
|
21
18
|
export var SCMessagesScroll = styled.div.withConfig({
|
|
22
19
|
displayName: "newStyles__SCMessagesScroll",
|
|
23
20
|
componentId: "sc-1k23l8x-2"
|
|
24
|
-
})(["flex:1
|
|
21
|
+
})(["flex:1 1 0%;min-height:0;width:100%;overflow-y:auto;overscroll-behavior-y:contain;display:flex;justify-content:center;"]);
|
|
25
22
|
|
|
26
|
-
/**
|
|
23
|
+
/** Columna de mensajes (max 864px). Sin overflow propio: crece dentro de SCMessagesScroll. */
|
|
27
24
|
export var SCMessagesInner = styled.div.withConfig({
|
|
28
25
|
displayName: "newStyles__SCMessagesInner",
|
|
29
26
|
componentId: "sc-1k23l8x-3"
|
|
30
|
-
})(["flex
|
|
31
|
-
var $
|
|
32
|
-
return
|
|
27
|
+
})(["flex:1 0 auto;display:flex;flex-direction:column;gap:24px;padding:0 16px;width:100%;max-width:864px;overflow:visible;", " &::after{content:'';flex-shrink:0;height:40px;margin-top:-24px;}"], function (_ref) {
|
|
28
|
+
var $skipEnter = _ref.$skipEnter;
|
|
29
|
+
return !$skipEnter && css(["animation:", " 0.5s ease-out;"], fadeIn);
|
|
33
30
|
});
|
|
34
31
|
export var SCTurnSpacer = styled.div.withConfig({
|
|
35
32
|
displayName: "newStyles__SCTurnSpacer",
|
|
@@ -37,8 +34,8 @@ export var SCTurnSpacer = styled.div.withConfig({
|
|
|
37
34
|
})(["height:0;flex-shrink:0;margin-top:-24px;pointer-events:none;"]);
|
|
38
35
|
|
|
39
36
|
/** Difuminado en los bordes del área scrolleable: indica que hay contenido fuera de vista. */
|
|
40
|
-
var messagesEdgeGradient = css(["position:absolute;left:0;right:0;height:48px;width:100%;max-width:864px;margin:0 auto;pointer-events:none;z-index:5;opacity:", ";transition:opacity 0.3s ease-in-out;"], function (
|
|
41
|
-
var $show =
|
|
37
|
+
var messagesEdgeGradient = css(["position:absolute;left:0;right:0;height:48px;width:100%;max-width:864px;margin:0 auto;pointer-events:none;z-index:5;opacity:", ";transition:opacity 0.3s ease-in-out;"], function (_ref2) {
|
|
38
|
+
var $show = _ref2.$show;
|
|
42
39
|
return $show ? 1 : 0;
|
|
43
40
|
});
|
|
44
41
|
export var SCMessagesGradientTop = styled.div.withConfig({
|
|
@@ -64,11 +61,11 @@ export var SCOptionsList = styled.div.withConfig({
|
|
|
64
61
|
export var SCOptionItem = styled.div.withConfig({
|
|
65
62
|
displayName: "newStyles__SCOptionItem",
|
|
66
63
|
componentId: "sc-1k23l8x-9"
|
|
67
|
-
})(["color:", ";font-size:14px;line-height:140%;cursor:", ";opacity:", ";"], GLOBAL_COLORS.dark, function (
|
|
68
|
-
var $hasSelection =
|
|
64
|
+
})(["color:", ";font-size:14px;line-height:140%;cursor:", ";opacity:", ";"], GLOBAL_COLORS.dark, function (_ref3) {
|
|
65
|
+
var $hasSelection = _ref3.$hasSelection;
|
|
69
66
|
return $hasSelection ? 'not-allowed' : 'pointer';
|
|
70
|
-
}, function (
|
|
71
|
-
var $dimmed =
|
|
67
|
+
}, function (_ref4) {
|
|
68
|
+
var $dimmed = _ref4.$dimmed;
|
|
72
69
|
return $dimmed ? 0.5 : 1;
|
|
73
70
|
});
|
|
74
71
|
|
|
@@ -92,8 +89,8 @@ export var SCProjectLinkIcon = styled.span.withConfig({
|
|
|
92
89
|
export var SCMessageItemWrapper = styled.div.withConfig({
|
|
93
90
|
displayName: "newStyles__SCMessageItemWrapper",
|
|
94
91
|
componentId: "sc-1k23l8x-13"
|
|
95
|
-
})(["position:relative;display:flex;gap:8px;flex-direction:column;", ""], function (
|
|
96
|
-
var $isAssistant =
|
|
92
|
+
})(["position:relative;display:flex;gap:8px;flex-direction:column;", ""], function (_ref5) {
|
|
93
|
+
var $isAssistant = _ref5.$isAssistant;
|
|
97
94
|
return $isAssistant && 'justify-content: start;';
|
|
98
95
|
});
|
|
99
96
|
|
|
@@ -107,8 +104,8 @@ export var SCMessageItemInner = styled.div.withConfig({
|
|
|
107
104
|
export var SCAttachmentsRow = styled.div.withConfig({
|
|
108
105
|
displayName: "newStyles__SCAttachmentsRow",
|
|
109
106
|
componentId: "sc-1k23l8x-15"
|
|
110
|
-
})(["display:flex;justify-content:", ";gap:12px;flex-wrap:wrap;"], function (
|
|
111
|
-
var $isAssistant =
|
|
107
|
+
})(["display:flex;justify-content:", ";gap:12px;flex-wrap:wrap;"], function (_ref6) {
|
|
108
|
+
var $isAssistant = _ref6.$isAssistant;
|
|
112
109
|
return $isAssistant ? 'flex-start' : 'flex-end';
|
|
113
110
|
});
|
|
114
111
|
|
|
@@ -122,20 +119,20 @@ export var SCApprovalActionsColumn = styled.div.withConfig({
|
|
|
122
119
|
export var SCCAIMessageWrapper = styled.div.withConfig({
|
|
123
120
|
displayName: "newStyles__SCCAIMessageWrapper",
|
|
124
121
|
componentId: "sc-1k23l8x-17"
|
|
125
|
-
})(["contain:layout style;min-width:0;max-width:100%;padding:", ";border-radius:8px;background-color:", ";display:flex;flex-direction:column;gap:16px;", " &.has-task-links a[data-cor-link='task']{text-decoration:none !important;color:#202020 !important;font-weight:600 !important;position:relative;display:inline !important;padding:2px 0 !important;padding-left:22px !important;white-space:normal !important;overflow-wrap:break-word !important;word-break:break-word !important;&:hover{text-decoration-line:underline !important;text-decoration-color:#b3b3b3 !important;text-decoration-thickness:1px !important;text-underline-offset:2px !important;background:#bed5eb !important;border-radius:4px !important;}&::before{content:'';position:absolute;left:0;top:0;width:20px;height:20px;background-image:", ";background-size:contain;background-repeat:no-repeat;background-position:center;}}&.has-project-links a[data-cor-link='project']{text-decoration:none !important;color:#202020 !important;font-weight:600 !important;display:inline-flex !important;align-items:baseline !important;gap:2px !important;padding:2px 0 !important;white-space:normal !important;overflow-wrap:break-word !important;word-break:break-word !important;vertical-align:baseline !important;&:hover{text-decoration-line:underline !important;text-decoration-color:#b3b3b3 !important;text-decoration-thickness:1px !important;text-underline-offset:2px !important;background:#bed5eb !important;border-radius:4px !important;}}", ""], function (
|
|
126
|
-
var isCurrentUser =
|
|
122
|
+
})(["contain:layout style;min-width:0;max-width:100%;padding:", ";border-radius:8px;background-color:", ";display:flex;flex-direction:column;gap:16px;", " &.has-task-links a[data-cor-link='task']{text-decoration:none !important;color:#202020 !important;font-weight:600 !important;position:relative;display:inline !important;padding:2px 0 !important;padding-left:22px !important;white-space:normal !important;overflow-wrap:break-word !important;word-break:break-word !important;&:hover{text-decoration-line:underline !important;text-decoration-color:#b3b3b3 !important;text-decoration-thickness:1px !important;text-underline-offset:2px !important;background:#bed5eb !important;border-radius:4px !important;}&::before{content:'';position:absolute;left:0;top:0;width:20px;height:20px;background-image:", ";background-size:contain;background-repeat:no-repeat;background-position:center;}}&.has-project-links a[data-cor-link='project']{text-decoration:none !important;color:#202020 !important;font-weight:600 !important;display:inline-flex !important;align-items:baseline !important;gap:2px !important;padding:2px 0 !important;white-space:normal !important;overflow-wrap:break-word !important;word-break:break-word !important;vertical-align:baseline !important;&:hover{text-decoration-line:underline !important;text-decoration-color:#b3b3b3 !important;text-decoration-thickness:1px !important;text-underline-offset:2px !important;background:#bed5eb !important;border-radius:4px !important;}}", ""], function (_ref7) {
|
|
123
|
+
var isCurrentUser = _ref7.isCurrentUser;
|
|
127
124
|
return isCurrentUser ? '12px' : '0px';
|
|
128
|
-
}, function (
|
|
129
|
-
var isCurrentUser =
|
|
130
|
-
isFrontendCancelled =
|
|
125
|
+
}, function (_ref8) {
|
|
126
|
+
var isCurrentUser = _ref8.isCurrentUser,
|
|
127
|
+
isFrontendCancelled = _ref8.isFrontendCancelled;
|
|
131
128
|
if (isFrontendCancelled) return 'transparent';
|
|
132
129
|
if (isCurrentUser) return BLUE_IA_COLORS[50];
|
|
133
130
|
return 'transparent';
|
|
134
|
-
}, function (
|
|
135
|
-
var isCurrentUser =
|
|
131
|
+
}, function (_ref9) {
|
|
132
|
+
var isCurrentUser = _ref9.isCurrentUser;
|
|
136
133
|
return isCurrentUser && css(["overflow-wrap:anywhere;align-self:flex-end;max-width:75%;"]);
|
|
137
|
-
}, TASK_LINK_ICON_CSS_URL, function (
|
|
138
|
-
var isCurrentUser =
|
|
134
|
+
}, TASK_LINK_ICON_CSS_URL, function (_ref0) {
|
|
135
|
+
var isCurrentUser = _ref0.isCurrentUser;
|
|
139
136
|
return isCurrentUser && css(["&.has-task-links a[data-cor-link='task']{font-size:14px !important;line-height:20px !important;}&.has-task-links a[data-cor-link='task']::before{top:0;top:calc((1lh - 20px) / 2);}&.has-project-links a[data-cor-link='project']{font-size:14px !important;line-height:20px !important;}"]);
|
|
140
137
|
});
|
|
141
138
|
var fadeInUp = keyframes(["from{opacity:0;transform:translateX(-50%) translateY(10px);}to{opacity:1;transform:translateX(-50%) translateY(0);}"]);
|
|
@@ -148,11 +145,11 @@ export var ScrollToBottomButton = styled.button.withConfig({
|
|
|
148
145
|
export var SCScrollIconSwap = styled.span.withConfig({
|
|
149
146
|
displayName: "newStyles__SCScrollIconSwap",
|
|
150
147
|
componentId: "sc-1k23l8x-19"
|
|
151
|
-
})(["position:absolute;display:inline-flex;align-items:center;justify-content:center;opacity:", ";transform:scale(", ");transition:opacity 180ms ease-out,transform 180ms ease-out;pointer-events:none;"], function (
|
|
152
|
-
var $visible =
|
|
148
|
+
})(["position:absolute;display:inline-flex;align-items:center;justify-content:center;opacity:", ";transform:scale(", ");transition:opacity 180ms ease-out,transform 180ms ease-out;pointer-events:none;"], function (_ref1) {
|
|
149
|
+
var $visible = _ref1.$visible;
|
|
153
150
|
return $visible ? 1 : 0;
|
|
154
|
-
}, function (
|
|
155
|
-
var $visible =
|
|
151
|
+
}, function (_ref10) {
|
|
152
|
+
var $visible = _ref10.$visible;
|
|
156
153
|
return $visible ? 1 : 0.72;
|
|
157
154
|
});
|
|
158
155
|
var writingDot = keyframes(["0%,60%,100%{transform:translateY(0);opacity:0.35;}30%{transform:translateY(-3px);opacity:1;}"]);
|
|
@@ -160,4 +157,4 @@ export var SCWritingDots = styled.span.withConfig({
|
|
|
160
157
|
displayName: "newStyles__SCWritingDots",
|
|
161
158
|
componentId: "sc-1k23l8x-20"
|
|
162
159
|
})(["display:inline-flex;align-items:center;gap:3px;span{width:4px;height:4px;border-radius:50%;background:#202020;animation:", " 1.2s ease-in-out infinite;}span:nth-child(2){animation-delay:0.16s;}span:nth-child(3){animation-delay:0.32s;}"], writingDot);
|
|
163
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJrZXlmcmFtZXMiLCJCTFVFX0lBX0NPTE9SUyIsIkdMT0JBTF9DT0xPUlMiLCJUQVNLX0xJTktfSUNPTl9DU1NfVVJMIiwiZmFkZUluIiwiTWVzc2FnZVdyYXBwZXIiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIlNDTWVzc2FnZXNPdXRlciIsIl9yZWYiLCIkc2Nyb2xsT25QYXJlbnQiLCJTQ01lc3NhZ2VzU2Nyb2xsIiwiU0NNZXNzYWdlc0lubmVyIiwiX3JlZjIiLCJTQ1R1cm5TcGFjZXIiLCJtZXNzYWdlc0VkZ2VHcmFkaWVudCIsIl9yZWYzIiwiJHNob3ciLCJTQ01lc3NhZ2VzR3JhZGllbnRUb3AiLCJTQ01lc3NhZ2VzR3JhZGllbnRCb3R0b20iLCJTQ0xvYWRpbmdNZXNzYWdlc0NvbHVtbiIsIlNDT3B0aW9uc0xpc3QiLCJTQ09wdGlvbkl0ZW0iLCJkYXJrIiwiX3JlZjQiLCIkaGFzU2VsZWN0aW9uIiwiX3JlZjUiLCIkZGltbWVkIiwiU0NUYXNrTGluayIsImEiLCJTQ1Byb2plY3RMaW5rIiwiU0NQcm9qZWN0TGlua0ljb24iLCJzcGFuIiwiU0NNZXNzYWdlSXRlbVdyYXBwZXIiLCJfcmVmNiIsIiRpc0Fzc2lzdGFudCIsIlNDTWVzc2FnZUl0ZW1Jbm5lciIsIlNDQXR0YWNobWVudHNSb3ciLCJfcmVmNyIsIlNDQXBwcm92YWxBY3Rpb25zQ29sdW1uIiwiU0NDQUlNZXNzYWdlV3JhcHBlciIsIl9yZWY4IiwiaXNDdXJyZW50VXNlciIsIl9yZWY5IiwiaXNGcm9udGVuZENhbmNlbGxlZCIsIl9yZWYwIiwiX3JlZjEiLCJmYWRlSW5VcCIsIlNjcm9sbFRvQm90dG9tQnV0dG9uIiwiYnV0dG9uIiwiU0NTY3JvbGxJY29uU3dhcCIsIl9yZWYxMCIsIiR2aXNpYmxlIiwiX3JlZjExIiwid3JpdGluZ0RvdCIsIlNDV3JpdGluZ0RvdHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvY29tcG9uZW50cy9tb2xlY3VsZXMvQ2hhdEFJTWVzc2FnZXMvbmV3U3R5bGVzLnRzIl0sInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludC1kaXNhYmxlIEB0eXBlc2NyaXB0LWVzbGludC9pbmRlbnQgKi9cbmltcG9ydCBzdHlsZWQsIHsgY3NzLCBrZXlmcmFtZXMgfSBmcm9tICdzdHlsZWQtY29tcG9uZW50cydcbmltcG9ydCB7IEJMVUVfSUFfQ09MT1JTLCBHTE9CQUxfQ09MT1JTIH0gZnJvbSAnLi4vLi4vLi4vc3R5bGVzL2NvbmZpZydcbmltcG9ydCB7IFRBU0tfTElOS19JQ09OX0NTU19VUkwgfSBmcm9tICcuLi8uLi8uLi9jb25zdGFudHMvdGFza0xpbmtJY29uJ1xuXG5jb25zdCBmYWRlSW4gPSBrZXlmcmFtZXNgXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IE1lc3NhZ2VXcmFwcGVyID0gc3R5bGVkLmRpdmBcbiAgcGFkZGluZzogMTZweDtcbmBcblxuLyoqIENvbnRlbmVkb3IgZXh0ZXJpb3IgZGVsIMOhcmVhIGRlIG1lbnNhamVzLiBDdWFuZG8gZXhwYW5kZWQsIG5vIGhhY2Ugc2Nyb2xsOyBlbCBzY3JvbGwgbG8gdGllbmUgU0NNZXNzYWdlc1Njcm9sbC4gKi9cbmV4cG9ydCBjb25zdCBTQ01lc3NhZ2VzT3V0ZXIgPSBzdHlsZWQuZGl2PHsgJHNjcm9sbE9uUGFyZW50PzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1ncm93OiAxO1xuICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBtaW4taGVpZ2h0OiAwO1xuICAkeyh7ICRzY3JvbGxPblBhcmVudCB9KSA9PiAoJHNjcm9sbE9uUGFyZW50ID8gJycgOiAnb3ZlcmZsb3c6IGF1dG87IG92ZXJzY3JvbGwtYmVoYXZpb3IteTogY29udGFpbjsnKX1cbmBcblxuLyoqIEN1YW5kbyBleHBhbmRlZCwgZXN0ZSBjb250ZW5lZG9yIGhhY2Ugc2Nyb2xsIHBhcmEgcXVlIGVsIGJvdMOzbiBcImlyIGFsIGZpbmFsXCIgcXVlZGUgZmlqbyBlbiBlbCDDoXJlYSBkZWwgY2hhdCAqL1xuZXhwb3J0IGNvbnN0IFNDTWVzc2FnZXNTY3JvbGwgPSBzdHlsZWQuZGl2YFxuICBmbGV4OiAxO1xuICBtaW4taGVpZ2h0OiAwO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yLXk6IGNvbnRhaW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuYFxuXG4vKiogQ29udGVuZWRvciBpbnRlcmlvciBkZSBtZW5zYWplcyAobWF4V2lkdGggODY0cHgpLiBDdWFuZG8gZXhwYW5kZWQsIG92ZXJmbG93IHZpc2libGUgcGFyYSBxdWUgc2Nyb2xsIGxvIHRlbmdhIFNDTWVzc2FnZXNTY3JvbGwgKi9cbmV4cG9ydCBjb25zdCBTQ01lc3NhZ2VzSW5uZXIgPSBzdHlsZWQuZGl2PHsgJHNjcm9sbE9uUGFyZW50PzogYm9vbGVhbiB9PmBcbiAgZmxleC1ncm93OiAxO1xuICBkaXNwbGF5OiBmbGV4O1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICBnYXA6IDI0cHg7XG4gIHBhZGRpbmc6IDAgMTZweDtcbiAgd2lkdGg6IDEwMCU7XG4gIG1heC13aWR0aDogODY0cHg7XG4gIGFuaW1hdGlvbjogJHtmYWRlSW59IDAuNXMgZWFzZS1vdXQ7XG4gICR7KHsgJHNjcm9sbE9uUGFyZW50IH0pID0+XG4gICAgJHNjcm9sbE9uUGFyZW50ID8gJ292ZXJmbG93OiB2aXNpYmxlOycgOiAnb3ZlcmZsb3cteTogYXV0bzsgb3ZlcnNjcm9sbC1iZWhhdmlvci15OiBjb250YWluOyd9XG5cbiAgLyogQ29sY2jDs24gZGUgc2Nyb2xsIGFsIGZpbmFsIHBhcmEgcXVlIGVsIMO6bHRpbW8gbWVuc2FqZSBubyBxdWVkZSBwZWdhZG8gYWxcbiAgICAgaW5wdXQuIFZhIGNvbW8gZmxleCBpdGVtIChubyBwYWRkaW5nKSBwb3JxdWUgY3VhbmRvIGVzdGUgY29udGVuZWRvciBlcyBlbFxuICAgICBzY3JvbGxlciBlbCBwYWRkaW5nLWJvdHRvbSBubyBzZSByZXNwZXRhIGFsIGZpbmFsIGRlbCBzY3JvbGwuXG4gICAgIEVsIG1hcmdpbiBuZWdhdGl2byBjYW5jZWxhIGVsIGdhcCBkZWwgbGlzdGFkby4gKi9cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGhlaWdodDogNDBweDtcbiAgICBtYXJnaW4tdG9wOiAtMjRweDtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NUdXJuU3BhY2VyID0gc3R5bGVkLmRpdmBcbiAgaGVpZ2h0OiAwO1xuICBmbGV4LXNocmluazogMDtcbiAgbWFyZ2luLXRvcDogLTI0cHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuYFxuXG4vKiogRGlmdW1pbmFkbyBlbiBsb3MgYm9yZGVzIGRlbCDDoXJlYSBzY3JvbGxlYWJsZTogaW5kaWNhIHF1ZSBoYXkgY29udGVuaWRvIGZ1ZXJhIGRlIHZpc3RhLiAqL1xuY29uc3QgbWVzc2FnZXNFZGdlR3JhZGllbnQgPSBjc3M8eyAkc2hvdzogYm9vbGVhbiB9PmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiA0OHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA4NjRweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAvKiBEZWJham8gZGVsIFNjcm9sbFRvQm90dG9tQnV0dG9uICh6LWluZGV4IDEwKS4gKi9cbiAgei1pbmRleDogNTtcbiAgb3BhY2l0eTogJHsoeyAkc2hvdyB9KSA9PiAoJHNob3cgPyAxIDogMCl9O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01lc3NhZ2VzR3JhZGllbnRUb3AgPSBzdHlsZWQuZGl2PHsgJHNob3c6IGJvb2xlYW4gfT5gXG4gICR7bWVzc2FnZXNFZGdlR3JhZGllbnR9XG4gIHRvcDogMDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgIHRvIGJvdHRvbSxcbiAgICAjZmZmZmZmIDAlLFxuICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSAzMCUsXG4gICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIDcwJSxcbiAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCVcbiAgKTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDTWVzc2FnZXNHcmFkaWVudEJvdHRvbSA9IHN0eWxlZC5kaXY8eyAkc2hvdzogYm9vbGVhbiB9PmBcbiAgJHttZXNzYWdlc0VkZ2VHcmFkaWVudH1cbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgdG8gdG9wLFxuICAgICNmZmZmZmYgMCUsXG4gICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpIDMwJSxcbiAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgNzAlLFxuICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJVxuICApO1xuYFxuXG4vKiogQ29sdW1uYSBwYXJhIGxvYWRpbmcvbG9hZGluZyBtZXNzYWdlcyAqL1xuZXhwb3J0IGNvbnN0IFNDTG9hZGluZ01lc3NhZ2VzQ29sdW1uID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLyogU0NNZXNzYWdlc0lubmVyIHVzYSBnYXAgMjRweDsgZWwgbmVnYXRpdm8gbG8gY2FuY2VsYWJhIHkgZWwgaW5kaWNhZG9yXG4gICAgIHF1ZWRhYmEgcGVnYWRvIGFsIGJ1YmJsZSBkZWwgdXN1YXJpby4gRGVqYW1vcyAxNnB4IGRlIGFpcmUuICovXG4gIG1hcmdpbi10b3A6IC04cHg7XG5gXG5cbi8qKiBMaXN0YSBkZSBvcGNpb25lcyAoTWVzc2FnZU9wdGlvbnMpICovXG5leHBvcnQgY29uc3QgU0NPcHRpb25zTGlzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTJweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDT3B0aW9uSXRlbSA9IHN0eWxlZC5kaXY8eyAkaGFzU2VsZWN0aW9uPzogYm9vbGVhbjsgJGRpbW1lZD86IGJvb2xlYW4gfT5gXG4gIGNvbG9yOiAke0dMT0JBTF9DT0xPUlMuZGFya307XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGN1cnNvcjogJHsoeyAkaGFzU2VsZWN0aW9uIH0pID0+ICgkaGFzU2VsZWN0aW9uID8gJ25vdC1hbGxvd2VkJyA6ICdwb2ludGVyJyl9O1xuICBvcGFjaXR5OiAkeyh7ICRkaW1tZWQgfSkgPT4gKCRkaW1tZWQgPyAwLjUgOiAxKX07XG5gXG5cbi8qKiBFbmxhY2UgZGUgdGFyZWEgKHRhc2sgbGluaykgKi9cbmV4cG9ydCBjb25zdCBTQ1Rhc2tMaW5rID0gc3R5bGVkLmFgXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMzM3YWI3ICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbmBcblxuLyoqIEVubGFjZSBkZSBwcm95ZWN0byAocHJvamVjdCBsaW5rKSAqL1xuZXhwb3J0IGNvbnN0IFNDUHJvamVjdExpbmsgPSBzdHlsZWQuYWBcbiAgY3Vyc29yOiBwb2ludGVyO1xuYFxuXG5leHBvcnQgY29uc3QgU0NQcm9qZWN0TGlua0ljb24gPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA0cHg7XG5gXG5cbi8qKiBXcmFwcGVyIGRlIHVuIG1lbnNhamUgKHBvc2ljacOzbiwgZmxleCwgZ2FwKSAqL1xuZXhwb3J0IGNvbnN0IFNDTWVzc2FnZUl0ZW1XcmFwcGVyID0gc3R5bGVkLmRpdjx7ICRpc0Fzc2lzdGFudD86IGJvb2xlYW4gfT5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA4cHg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICR7KHsgJGlzQXNzaXN0YW50IH0pID0+ICRpc0Fzc2lzdGFudCAmJiAnanVzdGlmeS1jb250ZW50OiBzdGFydDsnfVxuYFxuXG4vKiogQ29udGVuZWRvciBpbnRlcmlvciBkZWwgbWVuc2FqZSAoYXR0YWNobWVudHMgKyBhcHByb3ZhbCArIGNvbnRlbnQpICovXG5leHBvcnQgY29uc3QgU0NNZXNzYWdlSXRlbUlubmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA4cHg7XG4gIG1pbi13aWR0aDogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuYFxuXG4vKiogRmlsYSBkZSBhdHRhY2htZW50cyAoZmxleCBlbmQgcGFyYSB1c3VhcmlvLCBmbGV4IHN0YXJ0IHBhcmEgYXNzaXN0YW50KSAqL1xuZXhwb3J0IGNvbnN0IFNDQXR0YWNobWVudHNSb3cgPSBzdHlsZWQuZGl2PHsgJGlzQXNzaXN0YW50PzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiAkeyh7ICRpc0Fzc2lzdGFudCB9KSA9PiAoJGlzQXNzaXN0YW50ID8gJ2ZsZXgtc3RhcnQnIDogJ2ZsZXgtZW5kJyl9O1xuICBnYXA6IDEycHg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbmBcblxuLyoqIENvbHVtbmEgZGUgYWNjaW9uZXMgZGUgYXBwcm92YWwgKi9cbmV4cG9ydCBjb25zdCBTQ0FwcHJvdmFsQWN0aW9uc0NvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTJweDtcbmBcblxuLyoqIFdyYXBwZXIgZGVsIGNvbnRlbmlkbyBkZWwgbWVuc2FqZS4gY29udGFpbiBsaW1pdGEgcmVwYWludCBkdXJhbnRlIHN0cmVhbWluZyBhbCDDoXJlYSBkZWwgdGV4dG8uICovXG5leHBvcnQgY29uc3QgU0NDQUlNZXNzYWdlV3JhcHBlciA9IHN0eWxlZC5kaXY8eyBpc0N1cnJlbnRVc2VyOiBib29sZWFuOyBpc0Zyb250ZW5kQ2FuY2VsbGVkPzogYm9vbGVhbiB9PmBcbiAgY29udGFpbjogbGF5b3V0IHN0eWxlO1xuICBtaW4td2lkdGg6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJHsoeyBpc0N1cnJlbnRVc2VyIH0pID0+IChpc0N1cnJlbnRVc2VyID8gJzEycHgnIDogJzBweCcpfTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IGlzQ3VycmVudFVzZXIsIGlzRnJvbnRlbmRDYW5jZWxsZWQgfSkgPT4ge1xuICAgIGlmIChpc0Zyb250ZW5kQ2FuY2VsbGVkKSByZXR1cm4gJ3RyYW5zcGFyZW50J1xuICAgIGlmIChpc0N1cnJlbnRVc2VyKSByZXR1cm4gQkxVRV9JQV9DT0xPUlNbNTBdXG4gICAgcmV0dXJuICd0cmFuc3BhcmVudCdcbiAgfX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTZweDtcbiAgJHsoeyBpc0N1cnJlbnRVc2VyIH0pID0+XG4gICAgaXNDdXJyZW50VXNlciAmJlxuICAgIGNzc2BcbiAgICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICBtYXgtd2lkdGg6IDc1JTtcbiAgICBgfVxuXG4gICYuaGFzLXRhc2stbGlua3MgYVtkYXRhLWNvci1saW5rPSd0YXNrJ10ge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMjAyMDIwICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAycHggMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMjJweCAhaW1wb3J0YW50O1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZCAhaW1wb3J0YW50O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6ICNiM2IzYjMgIWltcG9ydGFudDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDFweCAhaW1wb3J0YW50O1xuICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHggIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQ6ICNiZWQ1ZWIgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICR7VEFTS19MSU5LX0lDT05fQ1NTX1VSTH07XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gICYuaGFzLXByb2plY3QtbGlua3MgYVtkYXRhLWNvci1saW5rPSdwcm9qZWN0J10ge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMjAyMDIwICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG4gICAgZ2FwOiAycHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAycHggMCAhaW1wb3J0YW50O1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZCAhaW1wb3J0YW50O1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6ICNiM2IzYjMgIWltcG9ydGFudDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDFweCAhaW1wb3J0YW50O1xuICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHggIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQ6ICNiZWQ1ZWIgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICR7KHsgaXNDdXJyZW50VXNlciB9KSA9PlxuICAgIGlzQ3VycmVudFVzZXIgJiZcbiAgICBjc3NgXG4gICAgICAmLmhhcy10YXNrLWxpbmtzIGFbZGF0YS1jb3ItbGluaz0ndGFzayddIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgICYuaGFzLXRhc2stbGlua3MgYVtkYXRhLWNvci1saW5rPSd0YXNrJ106OmJlZm9yZSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgdG9wOiBjYWxjKCgxbGggLSAyMHB4KSAvIDIpO1xuICAgICAgfVxuXG4gICAgICAmLmhhcy1wcm9qZWN0LWxpbmtzIGFbZGF0YS1jb3ItbGluaz0ncHJvamVjdCddIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgYH1cbmBcblxuY29uc3QgZmFkZUluVXAgPSBrZXlmcmFtZXNgXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoMTBweCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoMCk7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNjcm9sbFRvQm90dG9tQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTBweDtcbiAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gIGJvcmRlci1yYWRpdXM6IDIxLjVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q5ZDlkOTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCA0cHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDE1cHg7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDEwO1xuICBhbmltYXRpb246ICR7ZmFkZUluVXB9IDAuM3MgZWFzZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2U7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjdmN2Y3O1xuICB9XG5gXG5cbi8qIExvcyBkb3MgaWNvbm9zIHNlIHN1cGVycG9uZW4gcGFyYSBwb2RlciBjcnV6YXJsb3M7IGVsIGJvdMOzbiB5YSBlcyBgcG9zaXRpb246IGFic29sdXRlYC4gKi9cbmV4cG9ydCBjb25zdCBTQ1Njcm9sbEljb25Td2FwID0gc3R5bGVkLnNwYW48eyAkdmlzaWJsZTogYm9vbGVhbiB9PmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG9wYWNpdHk6ICR7KHsgJHZpc2libGUgfSkgPT4gKCR2aXNpYmxlID8gMSA6IDApfTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgkeyh7ICR2aXNpYmxlIH0pID0+ICgkdmlzaWJsZSA/IDEgOiAwLjcyKX0pO1xuICB0cmFuc2l0aW9uOlxuICAgIG9wYWNpdHkgMTgwbXMgZWFzZS1vdXQsXG4gICAgdHJhbnNmb3JtIDE4MG1zIGVhc2Utb3V0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbmBcblxuY29uc3Qgd3JpdGluZ0RvdCA9IGtleWZyYW1lc2BcbiAgMCUsIDYwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIG9wYWNpdHk6IDAuMzU7XG4gIH1cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NXcml0aW5nRG90cyA9IHN0eWxlZC5zcGFuYFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAzcHg7XG5cbiAgc3BhbiB7XG4gICAgd2lkdGg6IDRweDtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogIzIwMjAyMDtcbiAgICBhbmltYXRpb246ICR7d3JpdGluZ0RvdH0gMS4ycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgfVxuXG4gIHNwYW46bnRoLWNoaWxkKDIpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuMTZzO1xuICB9XG5cbiAgc3BhbjpudGgtY2hpbGQoMykge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC4zMnM7XG4gIH1cbmBcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQSxPQUFPQSxNQUFNLElBQUlDLEdBQUcsRUFBRUMsU0FBUyxRQUFRLG1CQUFtQjtBQUMxRCxTQUFTQyxjQUFjLEVBQUVDLGFBQWEsUUFBUSx3QkFBd0I7QUFDdEUsU0FBU0Msc0JBQXNCLFFBQVEsaUNBQWlDO0FBRXhFLElBQU1DLE1BQU0sR0FBR0osU0FBUyxvQ0FPdkI7QUFFRCxPQUFPLElBQU1LLGNBQWMsR0FBR1AsTUFBTSxDQUFDUSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEscUJBRXZDOztBQUVEO0FBQ0EsT0FBTyxJQUFNQyxlQUFlLEdBQUdaLE1BQU0sQ0FBQ1EsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDRGQU1yQyxVQUFBRSxJQUFBO0VBQUEsSUFBR0MsZUFBZSxHQUFBRCxJQUFBLENBQWZDLGVBQWU7RUFBQSxPQUFRQSxlQUFlLEdBQUcsRUFBRSxHQUFH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
|
|
160
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJzdHlsZWQiLCJjc3MiLCJrZXlmcmFtZXMiLCJCTFVFX0lBX0NPTE9SUyIsIkdMT0JBTF9DT0xPUlMiLCJUQVNLX0xJTktfSUNPTl9DU1NfVVJMIiwiZmFkZUluIiwiTWVzc2FnZVdyYXBwZXIiLCJkaXYiLCJ3aXRoQ29uZmlnIiwiZGlzcGxheU5hbWUiLCJjb21wb25lbnRJZCIsIlNDTWVzc2FnZXNPdXRlciIsIlNDTWVzc2FnZXNTY3JvbGwiLCJTQ01lc3NhZ2VzSW5uZXIiLCJfcmVmIiwiJHNraXBFbnRlciIsIlNDVHVyblNwYWNlciIsIm1lc3NhZ2VzRWRnZUdyYWRpZW50IiwiX3JlZjIiLCIkc2hvdyIsIlNDTWVzc2FnZXNHcmFkaWVudFRvcCIsIlNDTWVzc2FnZXNHcmFkaWVudEJvdHRvbSIsIlNDTG9hZGluZ01lc3NhZ2VzQ29sdW1uIiwiU0NPcHRpb25zTGlzdCIsIlNDT3B0aW9uSXRlbSIsImRhcmsiLCJfcmVmMyIsIiRoYXNTZWxlY3Rpb24iLCJfcmVmNCIsIiRkaW1tZWQiLCJTQ1Rhc2tMaW5rIiwiYSIsIlNDUHJvamVjdExpbmsiLCJTQ1Byb2plY3RMaW5rSWNvbiIsInNwYW4iLCJTQ01lc3NhZ2VJdGVtV3JhcHBlciIsIl9yZWY1IiwiJGlzQXNzaXN0YW50IiwiU0NNZXNzYWdlSXRlbUlubmVyIiwiU0NBdHRhY2htZW50c1JvdyIsIl9yZWY2IiwiU0NBcHByb3ZhbEFjdGlvbnNDb2x1bW4iLCJTQ0NBSU1lc3NhZ2VXcmFwcGVyIiwiX3JlZjciLCJpc0N1cnJlbnRVc2VyIiwiX3JlZjgiLCJpc0Zyb250ZW5kQ2FuY2VsbGVkIiwiX3JlZjkiLCJfcmVmMCIsImZhZGVJblVwIiwiU2Nyb2xsVG9Cb3R0b21CdXR0b24iLCJidXR0b24iLCJTQ1Njcm9sbEljb25Td2FwIiwiX3JlZjEiLCIkdmlzaWJsZSIsIl9yZWYxMCIsIndyaXRpbmdEb3QiLCJTQ1dyaXRpbmdEb3RzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2NvbXBvbmVudHMvbW9sZWN1bGVzL0NoYXRBSU1lc3NhZ2VzL25ld1N0eWxlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvKiBlc2xpbnQtZGlzYWJsZSBAdHlwZXNjcmlwdC1lc2xpbnQvaW5kZW50ICovXG5pbXBvcnQgc3R5bGVkLCB7IGNzcywga2V5ZnJhbWVzIH0gZnJvbSAnc3R5bGVkLWNvbXBvbmVudHMnXG5pbXBvcnQgeyBCTFVFX0lBX0NPTE9SUywgR0xPQkFMX0NPTE9SUyB9IGZyb20gJy4uLy4uLy4uL3N0eWxlcy9jb25maWcnXG5pbXBvcnQgeyBUQVNLX0xJTktfSUNPTl9DU1NfVVJMIH0gZnJvbSAnLi4vLi4vLi4vY29uc3RhbnRzL3Rhc2tMaW5rSWNvbidcblxuY29uc3QgZmFkZUluID0ga2V5ZnJhbWVzYFxuICBmcm9tIHtcbiAgICBvcGFjaXR5OiAwO1xuICB9XG4gIHRvIHtcbiAgICBvcGFjaXR5OiAxO1xuICB9XG5gXG5cbmV4cG9ydCBjb25zdCBNZXNzYWdlV3JhcHBlciA9IHN0eWxlZC5kaXZgXG4gIHBhZGRpbmc6IDE2cHg7XG5gXG5cbi8qKiDDgXJlYSBkZSBtZW5zYWplczogY29sdW1uYSBhY290YWRhOyBlbCBzY3JvbGwgdml2ZSBzb2xvIGVuIFNDTWVzc2FnZXNTY3JvbGwuICovXG5leHBvcnQgY29uc3QgU0NNZXNzYWdlc091dGVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleDogMSAxIDAlO1xuICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICB3aWR0aDogMTAwJTtcbiAgbWluLWhlaWdodDogMDtcbiAgcG9zaXRpb246IHJlbGF0aXZlO1xuICBvdmVyZmxvdzogaGlkZGVuO1xuYFxuXG4vKiogU2Nyb2xsZXIgZGVsIGhpbG86IGZpamEgZWwgYm90w7NuIFwiaXIgYWwgZmluYWxcIiB5IGxvcyBncmFkaWVudGVzIGVuIGVsIMOhcmVhIGRlbCBjaGF0LiAqL1xuZXhwb3J0IGNvbnN0IFNDTWVzc2FnZXNTY3JvbGwgPSBzdHlsZWQuZGl2YFxuICBmbGV4OiAxIDEgMCU7XG4gIG1pbi1oZWlnaHQ6IDA7XG4gIHdpZHRoOiAxMDAlO1xuICBvdmVyZmxvdy15OiBhdXRvO1xuICBvdmVyc2Nyb2xsLWJlaGF2aW9yLXk6IGNvbnRhaW47XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuYFxuXG4vKiogQ29sdW1uYSBkZSBtZW5zYWplcyAobWF4IDg2NHB4KS4gU2luIG92ZXJmbG93IHByb3BpbzogY3JlY2UgZGVudHJvIGRlIFNDTWVzc2FnZXNTY3JvbGwuICovXG5leHBvcnQgY29uc3QgU0NNZXNzYWdlc0lubmVyID0gc3R5bGVkLmRpdjx7ICRza2lwRW50ZXI/OiBib29sZWFuIH0+YFxuICBmbGV4OiAxIDAgYXV0bztcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiAyNHB4O1xuICBwYWRkaW5nOiAwIDE2cHg7XG4gIHdpZHRoOiAxMDAlO1xuICBtYXgtd2lkdGg6IDg2NHB4O1xuICBvdmVyZmxvdzogdmlzaWJsZTtcbiAgJHsoeyAkc2tpcEVudGVyIH0pID0+XG4gICAgISRza2lwRW50ZXIgJiZcbiAgICBjc3NgXG4gICAgICBhbmltYXRpb246ICR7ZmFkZUlufSAwLjVzIGVhc2Utb3V0O1xuICAgIGB9XG5cbiAgLyogQ29sY2jDs24gZGUgc2Nyb2xsIGFsIGZpbmFsIHBhcmEgcXVlIGVsIMO6bHRpbW8gbWVuc2FqZSBubyBxdWVkZSBwZWdhZG8gYWxcbiAgICAgaW5wdXQuIFZhIGNvbW8gZmxleCBpdGVtIChubyBwYWRkaW5nKSBwb3JxdWUgY3VhbmRvIGVzdGUgY29udGVuZWRvciBlcyBlbFxuICAgICBzY3JvbGxlciBlbCBwYWRkaW5nLWJvdHRvbSBubyBzZSByZXNwZXRhIGFsIGZpbmFsIGRlbCBzY3JvbGwuXG4gICAgIEVsIG1hcmdpbiBuZWdhdGl2byBjYW5jZWxhIGVsIGdhcCBkZWwgbGlzdGFkby4gKi9cbiAgJjo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGhlaWdodDogNDBweDtcbiAgICBtYXJnaW4tdG9wOiAtMjRweDtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NUdXJuU3BhY2VyID0gc3R5bGVkLmRpdmBcbiAgaGVpZ2h0OiAwO1xuICBmbGV4LXNocmluazogMDtcbiAgbWFyZ2luLXRvcDogLTI0cHg7XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuYFxuXG4vKiogRGlmdW1pbmFkbyBlbiBsb3MgYm9yZGVzIGRlbCDDoXJlYSBzY3JvbGxlYWJsZTogaW5kaWNhIHF1ZSBoYXkgY29udGVuaWRvIGZ1ZXJhIGRlIHZpc3RhLiAqL1xuY29uc3QgbWVzc2FnZXNFZGdlR3JhZGllbnQgPSBjc3M8eyAkc2hvdzogYm9vbGVhbiB9PmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBsZWZ0OiAwO1xuICByaWdodDogMDtcbiAgaGVpZ2h0OiA0OHB4O1xuICB3aWR0aDogMTAwJTtcbiAgbWF4LXdpZHRoOiA4NjRweDtcbiAgbWFyZ2luOiAwIGF1dG87XG4gIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAvKiBEZWJham8gZGVsIFNjcm9sbFRvQm90dG9tQnV0dG9uICh6LWluZGV4IDEwKS4gKi9cbiAgei1pbmRleDogNTtcbiAgb3BhY2l0eTogJHsoeyAkc2hvdyB9KSA9PiAoJHNob3cgPyAxIDogMCl9O1xuICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuM3MgZWFzZS1pbi1vdXQ7XG5gXG5cbmV4cG9ydCBjb25zdCBTQ01lc3NhZ2VzR3JhZGllbnRUb3AgPSBzdHlsZWQuZGl2PHsgJHNob3c6IGJvb2xlYW4gfT5gXG4gICR7bWVzc2FnZXNFZGdlR3JhZGllbnR9XG4gIHRvcDogMDtcbiAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgIHRvIGJvdHRvbSxcbiAgICAjZmZmZmZmIDAlLFxuICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSAzMCUsXG4gICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjUpIDcwJSxcbiAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDApIDEwMCVcbiAgKTtcbmBcblxuZXhwb3J0IGNvbnN0IFNDTWVzc2FnZXNHcmFkaWVudEJvdHRvbSA9IHN0eWxlZC5kaXY8eyAkc2hvdzogYm9vbGVhbiB9PmBcbiAgJHttZXNzYWdlc0VkZ2VHcmFkaWVudH1cbiAgYm90dG9tOiAwO1xuICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgdG8gdG9wLFxuICAgICNmZmZmZmYgMCUsXG4gICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjkpIDMwJSxcbiAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNSkgNzAlLFxuICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMCkgMTAwJVxuICApO1xuYFxuXG4vKiogQ29sdW1uYSBwYXJhIGxvYWRpbmcvbG9hZGluZyBtZXNzYWdlcyAqL1xuZXhwb3J0IGNvbnN0IFNDTG9hZGluZ01lc3NhZ2VzQ29sdW1uID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgLyogU0NNZXNzYWdlc0lubmVyIHVzYSBnYXAgMjRweDsgZWwgbmVnYXRpdm8gbG8gY2FuY2VsYWJhIHkgZWwgaW5kaWNhZG9yXG4gICAgIHF1ZWRhYmEgcGVnYWRvIGFsIGJ1YmJsZSBkZWwgdXN1YXJpby4gRGVqYW1vcyAxNnB4IGRlIGFpcmUuICovXG4gIG1hcmdpbi10b3A6IC04cHg7XG5gXG5cbi8qKiBMaXN0YSBkZSBvcGNpb25lcyAoTWVzc2FnZU9wdGlvbnMpICovXG5leHBvcnQgY29uc3QgU0NPcHRpb25zTGlzdCA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTJweDtcbmBcblxuZXhwb3J0IGNvbnN0IFNDT3B0aW9uSXRlbSA9IHN0eWxlZC5kaXY8eyAkaGFzU2VsZWN0aW9uPzogYm9vbGVhbjsgJGRpbW1lZD86IGJvb2xlYW4gfT5gXG4gIGNvbG9yOiAke0dMT0JBTF9DT0xPUlMuZGFya307XG4gIGZvbnQtc2l6ZTogMTRweDtcbiAgbGluZS1oZWlnaHQ6IDE0MCU7XG4gIGN1cnNvcjogJHsoeyAkaGFzU2VsZWN0aW9uIH0pID0+ICgkaGFzU2VsZWN0aW9uID8gJ25vdC1hbGxvd2VkJyA6ICdwb2ludGVyJyl9O1xuICBvcGFjaXR5OiAkeyh7ICRkaW1tZWQgfSkgPT4gKCRkaW1tZWQgPyAwLjUgOiAxKX07XG5gXG5cbi8qKiBFbmxhY2UgZGUgdGFyZWEgKHRhc2sgbGluaykgKi9cbmV4cG9ydCBjb25zdCBTQ1Rhc2tMaW5rID0gc3R5bGVkLmFgXG4gIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XG4gIGNvbG9yOiAjMzM3YWI3ICFpbXBvcnRhbnQ7XG4gIGN1cnNvcjogcG9pbnRlcjtcbmBcblxuLyoqIEVubGFjZSBkZSBwcm95ZWN0byAocHJvamVjdCBsaW5rKSAqL1xuZXhwb3J0IGNvbnN0IFNDUHJvamVjdExpbmsgPSBzdHlsZWQuYWBcbiAgY3Vyc29yOiBwb2ludGVyO1xuYFxuXG5leHBvcnQgY29uc3QgU0NQcm9qZWN0TGlua0ljb24gPSBzdHlsZWQuc3BhbmBcbiAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICBmbGV4LXNocmluazogMDtcbiAgd2lkdGg6IDIwcHg7XG4gIGhlaWdodDogMjBweDtcbiAgbGluZS1oZWlnaHQ6IDA7XG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgdG9wOiA0cHg7XG5gXG5cbi8qKiBXcmFwcGVyIGRlIHVuIG1lbnNhamUgKHBvc2ljacOzbiwgZmxleCwgZ2FwKSAqL1xuZXhwb3J0IGNvbnN0IFNDTWVzc2FnZUl0ZW1XcmFwcGVyID0gc3R5bGVkLmRpdjx7ICRpc0Fzc2lzdGFudD86IGJvb2xlYW4gfT5gXG4gIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgZGlzcGxheTogZmxleDtcbiAgZ2FwOiA4cHg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICR7KHsgJGlzQXNzaXN0YW50IH0pID0+ICRpc0Fzc2lzdGFudCAmJiAnanVzdGlmeS1jb250ZW50OiBzdGFydDsnfVxuYFxuXG4vKiogQ29udGVuZWRvciBpbnRlcmlvciBkZWwgbWVuc2FqZSAoYXR0YWNobWVudHMgKyBhcHByb3ZhbCArIGNvbnRlbnQpICovXG5leHBvcnQgY29uc3QgU0NNZXNzYWdlSXRlbUlubmVyID0gc3R5bGVkLmRpdmBcbiAgZGlzcGxheTogZmxleDtcbiAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgZ2FwOiA4cHg7XG4gIG1pbi13aWR0aDogMDtcbiAgbWF4LXdpZHRoOiAxMDAlO1xuYFxuXG4vKiogRmlsYSBkZSBhdHRhY2htZW50cyAoZmxleCBlbmQgcGFyYSB1c3VhcmlvLCBmbGV4IHN0YXJ0IHBhcmEgYXNzaXN0YW50KSAqL1xuZXhwb3J0IGNvbnN0IFNDQXR0YWNobWVudHNSb3cgPSBzdHlsZWQuZGl2PHsgJGlzQXNzaXN0YW50PzogYm9vbGVhbiB9PmBcbiAgZGlzcGxheTogZmxleDtcbiAganVzdGlmeS1jb250ZW50OiAkeyh7ICRpc0Fzc2lzdGFudCB9KSA9PiAoJGlzQXNzaXN0YW50ID8gJ2ZsZXgtc3RhcnQnIDogJ2ZsZXgtZW5kJyl9O1xuICBnYXA6IDEycHg7XG4gIGZsZXgtd3JhcDogd3JhcDtcbmBcblxuLyoqIENvbHVtbmEgZGUgYWNjaW9uZXMgZGUgYXBwcm92YWwgKi9cbmV4cG9ydCBjb25zdCBTQ0FwcHJvdmFsQWN0aW9uc0NvbHVtbiA9IHN0eWxlZC5kaXZgXG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTJweDtcbmBcblxuLyoqIFdyYXBwZXIgZGVsIGNvbnRlbmlkbyBkZWwgbWVuc2FqZS4gY29udGFpbiBsaW1pdGEgcmVwYWludCBkdXJhbnRlIHN0cmVhbWluZyBhbCDDoXJlYSBkZWwgdGV4dG8uICovXG5leHBvcnQgY29uc3QgU0NDQUlNZXNzYWdlV3JhcHBlciA9IHN0eWxlZC5kaXY8eyBpc0N1cnJlbnRVc2VyOiBib29sZWFuOyBpc0Zyb250ZW5kQ2FuY2VsbGVkPzogYm9vbGVhbiB9PmBcbiAgY29udGFpbjogbGF5b3V0IHN0eWxlO1xuICBtaW4td2lkdGg6IDA7XG4gIG1heC13aWR0aDogMTAwJTtcbiAgcGFkZGluZzogJHsoeyBpc0N1cnJlbnRVc2VyIH0pID0+IChpc0N1cnJlbnRVc2VyID8gJzEycHgnIDogJzBweCcpfTtcbiAgYm9yZGVyLXJhZGl1czogOHB4O1xuICBiYWNrZ3JvdW5kLWNvbG9yOiAkeyh7IGlzQ3VycmVudFVzZXIsIGlzRnJvbnRlbmRDYW5jZWxsZWQgfSkgPT4ge1xuICAgIGlmIChpc0Zyb250ZW5kQ2FuY2VsbGVkKSByZXR1cm4gJ3RyYW5zcGFyZW50J1xuICAgIGlmIChpc0N1cnJlbnRVc2VyKSByZXR1cm4gQkxVRV9JQV9DT0xPUlNbNTBdXG4gICAgcmV0dXJuICd0cmFuc3BhcmVudCdcbiAgfX07XG4gIGRpc3BsYXk6IGZsZXg7XG4gIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gIGdhcDogMTZweDtcbiAgJHsoeyBpc0N1cnJlbnRVc2VyIH0pID0+XG4gICAgaXNDdXJyZW50VXNlciAmJlxuICAgIGNzc2BcbiAgICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xuICAgICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgICBtYXgtd2lkdGg6IDc1JTtcbiAgICBgfVxuXG4gICYuaGFzLXRhc2stbGlua3MgYVtkYXRhLWNvci1saW5rPSd0YXNrJ10ge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMjAyMDIwICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAycHggMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmctbGVmdDogMjJweCAhaW1wb3J0YW50O1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZCAhaW1wb3J0YW50O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6ICNiM2IzYjMgIWltcG9ydGFudDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDFweCAhaW1wb3J0YW50O1xuICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHggIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQ6ICNiZWQ1ZWIgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICY6OmJlZm9yZSB7XG4gICAgICBjb250ZW50OiAnJztcbiAgICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICAgIGxlZnQ6IDA7XG4gICAgICB0b3A6IDA7XG4gICAgICB3aWR0aDogMjBweDtcbiAgICAgIGhlaWdodDogMjBweDtcbiAgICAgIGJhY2tncm91bmQtaW1hZ2U6ICR7VEFTS19MSU5LX0lDT05fQ1NTX1VSTH07XG4gICAgICBiYWNrZ3JvdW5kLXNpemU6IGNvbnRhaW47XG4gICAgICBiYWNrZ3JvdW5kLXJlcGVhdDogbm8tcmVwZWF0O1xuICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIH1cbiAgfVxuXG4gICYuaGFzLXByb2plY3QtbGlua3MgYVtkYXRhLWNvci1saW5rPSdwcm9qZWN0J10ge1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMjAyMDIwICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgYWxpZ24taXRlbXM6IGJhc2VsaW5lICFpbXBvcnRhbnQ7XG4gICAgZ2FwOiAycHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAycHggMCAhaW1wb3J0YW50O1xuICAgIHdoaXRlLXNwYWNlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdy13cmFwOiBicmVhay13b3JkICFpbXBvcnRhbnQ7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZCAhaW1wb3J0YW50O1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZSAhaW1wb3J0YW50O1xuXG4gICAgJjpob3ZlciB7XG4gICAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lICFpbXBvcnRhbnQ7XG4gICAgICB0ZXh0LWRlY29yYXRpb24tY29sb3I6ICNiM2IzYjMgIWltcG9ydGFudDtcbiAgICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDFweCAhaW1wb3J0YW50O1xuICAgICAgdGV4dC11bmRlcmxpbmUtb2Zmc2V0OiAycHggIWltcG9ydGFudDtcbiAgICAgIGJhY2tncm91bmQ6ICNiZWQ1ZWIgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDRweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgfVxuXG4gICR7KHsgaXNDdXJyZW50VXNlciB9KSA9PlxuICAgIGlzQ3VycmVudFVzZXIgJiZcbiAgICBjc3NgXG4gICAgICAmLmhhcy10YXNrLWxpbmtzIGFbZGF0YS1jb3ItbGluaz0ndGFzayddIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICB9XG5cbiAgICAgICYuaGFzLXRhc2stbGlua3MgYVtkYXRhLWNvci1saW5rPSd0YXNrJ106OmJlZm9yZSB7XG4gICAgICAgIHRvcDogMDtcbiAgICAgICAgdG9wOiBjYWxjKCgxbGggLSAyMHB4KSAvIDIpO1xuICAgICAgfVxuXG4gICAgICAmLmhhcy1wcm9qZWN0LWxpbmtzIGFbZGF0YS1jb3ItbGluaz0ncHJvamVjdCddIHtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgYH1cbmBcblxuY29uc3QgZmFkZUluVXAgPSBrZXlmcmFtZXNgXG4gIGZyb20ge1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoMTBweCk7XG4gIH1cbiAgdG8ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoMCk7XG4gIH1cbmBcblxuZXhwb3J0IGNvbnN0IFNjcm9sbFRvQm90dG9tQnV0dG9uID0gc3R5bGVkLmJ1dHRvbmBcbiAgZGlzcGxheTogZmxleDtcbiAgd2lkdGg6IDQwcHg7XG4gIGhlaWdodDogNDBweDtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gIGdhcDogMTBweDtcbiAgYXNwZWN0LXJhdGlvOiAxLzE7XG4gIGJvcmRlci1yYWRpdXM6IDIxLjVweDtcbiAgYm9yZGVyOiAxcHggc29saWQgI2Q5ZDlkOTtcbiAgYmFja2dyb3VuZDogI2ZmZjtcbiAgYm94LXNoYWRvdzogMCA0cHggNHB4IDAgcmdiYSgwLCAwLCAwLCAwLjA1KTtcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBib3R0b206IDE1cHg7XG4gIGxlZnQ6IDUwJTtcbiAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpO1xuICBjdXJzb3I6IHBvaW50ZXI7XG4gIHotaW5kZXg6IDEwO1xuICBhbmltYXRpb246ICR7ZmFkZUluVXB9IDAuM3MgZWFzZTtcbiAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjNzIGVhc2U7XG4gIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xuICAmOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjdmN2Y3O1xuICB9XG5gXG5cbi8qIExvcyBkb3MgaWNvbm9zIHNlIHN1cGVycG9uZW4gcGFyYSBwb2RlciBjcnV6YXJsb3M7IGVsIGJvdMOzbiB5YSBlcyBgcG9zaXRpb246IGFic29sdXRlYC4gKi9cbmV4cG9ydCBjb25zdCBTQ1Njcm9sbEljb25Td2FwID0gc3R5bGVkLnNwYW48eyAkdmlzaWJsZTogYm9vbGVhbiB9PmBcbiAgcG9zaXRpb246IGFic29sdXRlO1xuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gIG9wYWNpdHk6ICR7KHsgJHZpc2libGUgfSkgPT4gKCR2aXNpYmxlID8gMSA6IDApfTtcbiAgdHJhbnNmb3JtOiBzY2FsZSgkeyh7ICR2aXNpYmxlIH0pID0+ICgkdmlzaWJsZSA/IDEgOiAwLjcyKX0pO1xuICB0cmFuc2l0aW9uOlxuICAgIG9wYWNpdHkgMTgwbXMgZWFzZS1vdXQsXG4gICAgdHJhbnNmb3JtIDE4MG1zIGVhc2Utb3V0O1xuICBwb2ludGVyLWV2ZW50czogbm9uZTtcbmBcblxuY29uc3Qgd3JpdGluZ0RvdCA9IGtleWZyYW1lc2BcbiAgMCUsIDYwJSwgMTAwJSB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIG9wYWNpdHk6IDAuMzU7XG4gIH1cbiAgMzAlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTNweCk7XG4gICAgb3BhY2l0eTogMTtcbiAgfVxuYFxuXG5leHBvcnQgY29uc3QgU0NXcml0aW5nRG90cyA9IHN0eWxlZC5zcGFuYFxuICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgZ2FwOiAzcHg7XG5cbiAgc3BhbiB7XG4gICAgd2lkdGg6IDRweDtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogIzIwMjAyMDtcbiAgICBhbmltYXRpb246ICR7d3JpdGluZ0RvdH0gMS4ycyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbiAgfVxuXG4gIHNwYW46bnRoLWNoaWxkKDIpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IDAuMTZzO1xuICB9XG5cbiAgc3BhbjpudGgtY2hpbGQoMykge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMC4zMnM7XG4gIH1cbmBcbiJdLCJtYXBwaW5ncyI6IkFBQUE7QUFDQSxPQUFPQSxNQUFNLElBQUlDLEdBQUcsRUFBRUMsU0FBUyxRQUFRLG1CQUFtQjtBQUMxRCxTQUFTQyxjQUFjLEVBQUVDLGFBQWEsUUFBUSx3QkFBd0I7QUFDdEUsU0FBU0Msc0JBQXNCLFFBQVEsaUNBQWlDO0FBRXhFLElBQU1DLE1BQU0sR0FBR0osU0FBUyxvQ0FPdkI7QUFFRCxPQUFPLElBQU1LLGNBQWMsR0FBR1AsTUFBTSxDQUFDUSxHQUFHLENBQUFDLFVBQUE7RUFBQUMsV0FBQTtFQUFBQyxXQUFBO0FBQUEscUJBRXZDOztBQUVEO0FBQ0EsT0FBTyxJQUFNQyxlQUFlLEdBQUdaLE1BQU0sQ0FBQ1EsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLGlIQVF4Qzs7QUFFRDtBQUNBLE9BQU8sSUFBTUUsZ0JBQWdCLEdBQUdiLE1BQU0sQ0FBQ1EsR0FBRyxDQUFBQyxVQUFBO0VBQUFDLFdBQUE7RUFBQUMsV0FBQTtBQUFBLDhIQVF6Qzs7QUFFRDtBQUNBLE9BQU8sSUFBTUcsZUFBZSxHQUFHZCxNQUFNLENBQUNRLEdBQUcsQ0FBQUMsVUFBQTtFQUFBQyxXQUFBO0VBQUFDLFdBQUE7QUFBQSxtTUFTckMsVUFBQUksSUFBQTtFQUFBLElBQUdDLFVBQVUsR0FBQUQsSUFBQSxDQUFWQyxVQUFVO0VBQUEsT0FDYixDQUFDQSxVQUFVLElBQ1hmLEdBQUcsb0NBQ1lLLE1BQU0sQ0FDcEI7QUFBQSxFQVlKO0FBRUQsT0FBTyxJQUFN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
|