@projectcor/maia-components 2.29.0 → 2.30.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/lib/App.js +55 -0
- package/lib/components/atoms/ActionableButton.js +60 -0
- package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.js +89 -0
- package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.styles.js +21 -0
- package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.utils.js +9 -0
- package/lib/components/atoms/AgentActivityIndicator/index.js +2 -0
- package/lib/components/atoms/ApprovalBox/ApprovalBox.js +209 -0
- package/lib/components/atoms/ApprovalBox/ApprovalBox.styles.js +93 -0
- package/lib/components/atoms/ApprovalBox/index.js +2 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCard.js +218 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCard.styles.js +52 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.js +448 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.styles.js +58 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardImage.js +55 -0
- package/lib/components/atoms/AttachmentCard/AttachmentCardImage.styles.js +14 -0
- package/lib/components/atoms/AttachmentCard/index.js +4 -0
- package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.js +442 -0
- package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.styles.js +119 -0
- package/lib/components/atoms/AttachmentPreviewModal/ExcelPreview.js +222 -0
- package/lib/components/atoms/AttachmentPreviewModal/PptPreview.js +313 -0
- package/lib/components/atoms/AttachmentPreviewModal/WordPreview.js +128 -0
- package/lib/components/atoms/AttachmentPreviewModal/index.js +2 -0
- package/lib/components/atoms/Backdrop/Backdrop.js +17 -0
- package/lib/components/atoms/Backdrop/Backdrop.styles.js +9 -0
- package/lib/components/atoms/Backdrop/index.js +2 -0
- package/lib/components/atoms/CardItem.js +7 -0
- package/lib/components/atoms/CardMenu/CardMenu.js +131 -0
- package/lib/components/atoms/CardMenu/index.js +2 -0
- package/lib/components/atoms/CardMenu/styles.js +21 -0
- package/lib/components/atoms/ChatClientSelector/ChatClientSelector.js +77 -0
- package/lib/components/atoms/ChatClientSelector/index.js +2 -0
- package/lib/components/atoms/ChatDisclaimerMessage/ChatDisclaimerMessage.js +9 -0
- package/lib/components/atoms/ChatDisclaimerMessage/index.js +2 -0
- package/lib/components/atoms/ChatDisclaimerMessage/styles.js +6 -0
- package/lib/components/atoms/Checkbox/Checkbox.js +34 -0
- package/lib/components/atoms/Checkbox/index.js +2 -0
- package/lib/components/atoms/Checkbox/styles.js +39 -0
- package/lib/components/atoms/Chip/Chip.js +150 -0
- package/lib/components/atoms/Chip/index.js +2 -0
- package/lib/components/atoms/Chip/styles.js +43 -0
- package/lib/components/atoms/ChipLlm/ChipLlm.js +45 -0
- package/lib/components/atoms/ChipLlm/ChipLlm.style.js +21 -0
- package/lib/components/atoms/ChipLlm/index.js +2 -0
- package/lib/components/atoms/ChipStatus/ChipStatus.interface.js +2 -0
- package/lib/components/atoms/ChipStatus/ChipStatus.js +14 -0
- package/lib/components/atoms/ChipStatus/ChipStatus.styles.js +27 -0
- package/lib/components/atoms/ChipStatus/index.js +2 -0
- package/lib/components/atoms/ClearButton.js +6 -0
- package/lib/components/atoms/ClientSelector/ClientSelector.js +146 -0
- package/lib/components/atoms/ClientSelector/ClientSelector.styles.js +15 -0
- package/lib/components/atoms/ClientSelector/index.js +2 -0
- package/lib/components/atoms/ContextMentionChip/ContextMentionChip.js +38 -0
- package/lib/components/atoms/ContextMentionChip/ContextMentionChip.styles.js +188 -0
- package/lib/components/atoms/ContextMentionChip/MentionOverflowLabel.js +39 -0
- package/lib/components/atoms/ContextMentionChip/buildChipElement.js +434 -0
- package/lib/components/atoms/ContextMentionChip/index.js +4 -0
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +411 -0
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.styles.js +10 -0
- package/lib/components/atoms/ContextMentionEditor/index.js +2 -0
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +309 -0
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +157 -0
- package/lib/components/atoms/ContextMentionItem/index.js +2 -0
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +307 -0
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.styles.js +108 -0
- package/lib/components/atoms/ContextMentionPopover/index.js +3 -0
- package/lib/components/atoms/CopyToClipboard.js +70 -0
- package/lib/components/atoms/EditableLabel/EditableLabel.js +110 -0
- package/lib/components/atoms/EditableLabel/index.js +2 -0
- package/lib/components/atoms/EditableLabel/styles.js +7 -0
- package/lib/components/atoms/EmptySearchClients/EmptySearchClients.js +22 -0
- package/lib/components/atoms/EmptySearchClients/EmptySearchClients.styles.js +18 -0
- package/lib/components/atoms/EmptySearchClients/index.js +2 -0
- package/lib/components/atoms/EmptySearchProjects/EmptySearchProjects.js +19 -0
- package/lib/components/atoms/EmptySearchProjects/EmptySearchProjects.styles.js +15 -0
- package/lib/components/atoms/EmptySearchProjects/index.js +2 -0
- package/lib/components/atoms/EntitySelector/EntitySelector.js +247 -0
- package/lib/components/atoms/EntitySelector/EntitySelector.skeleton.js +38 -0
- package/lib/components/atoms/EntitySelector/EntitySelector.styles.js +67 -0
- package/lib/components/atoms/EntitySelector/index.js +2 -0
- package/lib/components/atoms/ErrorSearchClients/ErrorSearchClients.js +14 -0
- package/lib/components/atoms/ErrorSearchClients/ErrorSearchClients.styles.js +15 -0
- package/lib/components/atoms/ErrorSearchFaqs/ErrorSearchFaqs.js +14 -0
- package/lib/components/atoms/ErrorSearchFaqs/ErrorSearchFaqs.style.js +15 -0
- package/lib/components/atoms/ErrorSearchFaqs/index.js +2 -0
- package/lib/components/atoms/ErrorSearchProjects/ErrorSearchProjects.js +18 -0
- package/lib/components/atoms/ErrorSearchProjects/ErrorSearchProjects.style.js +15 -0
- package/lib/components/atoms/ErrorSearchProjects/index.js +2 -0
- package/lib/components/atoms/Expand/Expand.js +32 -0
- package/lib/components/atoms/Expand/index.js +2 -0
- package/lib/components/atoms/Fade/Fade.js +56 -0
- package/lib/components/atoms/Fade/index.js +2 -0
- package/lib/components/atoms/FeedbackButton/FeedbackButton.js +59 -0
- package/lib/components/atoms/FeedbackButton/FeedbackButton.styles.js +14 -0
- package/lib/components/atoms/FeedbackButton/index.js +2 -0
- package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.js +138 -0
- package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.skeleton.js +44 -0
- package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.styles.js +43 -0
- package/lib/components/atoms/FrequentlyAskedQuestions/index.js +2 -0
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +122 -0
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.skeleton.js +43 -0
- package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +62 -0
- package/lib/components/atoms/FrequentlyUsedActions/index.js +2 -0
- package/lib/components/atoms/GoBackButton.js +24 -0
- package/lib/components/atoms/HelpButton.js +44 -0
- package/lib/components/atoms/IconButton.js +56 -0
- package/lib/components/atoms/ImagePreview/ImagePreview.js +96 -0
- package/lib/components/atoms/ImagePreview/ImagePreview.styles.js +70 -0
- package/lib/components/atoms/Input/CustomInput.interface.js +2 -0
- package/lib/components/atoms/Input/CustomInput.js +91 -0
- package/lib/components/atoms/Input/CustomInput.styles.js +39 -0
- package/lib/components/atoms/Input/index.js +2 -0
- package/lib/components/atoms/ListMenuOption/ListMenuOption.js +41 -0
- package/lib/components/atoms/ListMenuOption/index.js +2 -0
- package/lib/components/atoms/ListMenuOption/styles.js +9 -0
- package/lib/components/atoms/Loader.js +41 -0
- package/lib/components/atoms/LoadingFaqs/LoadingFaqs.js +11 -0
- package/lib/components/atoms/LoadingFaqs/LoadingFaqs.style.js +6 -0
- package/lib/components/atoms/LoadingFaqs/index.js +2 -0
- package/lib/components/atoms/LoadingSearchClients/LoadingSearchClients.js +11 -0
- package/lib/components/atoms/LoadingSearchClients/LoadingSearchClients.styles.js +6 -0
- package/lib/components/atoms/LoadingSearchClients/index.js +2 -0
- package/lib/components/atoms/LoadingSearchProjects/LoadingSearchProjects.js +14 -0
- package/lib/components/atoms/LoadingSearchProjects/LoadingSearchProjects.style.js +10 -0
- package/lib/components/atoms/LoadingSearchProjects/index.js +2 -0
- package/lib/components/atoms/LoadingText/LoadingText.js +18 -0
- package/lib/components/atoms/LoadingText/index.js +2 -0
- package/lib/components/atoms/LoadingText/styles.js +7 -0
- package/lib/components/atoms/MAIAButton/MAIAButton.js +33 -0
- package/lib/components/atoms/MAIAButton/index.js +2 -0
- package/lib/components/atoms/MAIAError/MAIAError.js +15 -0
- package/lib/components/atoms/MAIAError/index.js +2 -0
- package/lib/components/atoms/MAIAInput/MAIAInput.js +1058 -0
- package/lib/components/atoms/MAIAInput/MAIAInputEditor.js +266 -0
- package/lib/components/atoms/MAIAInput/index.js +2 -0
- package/lib/components/atoms/MAIAInput/maiaInputLayout.js +25 -0
- package/lib/components/atoms/MAIAInput/styles.js +182 -0
- package/lib/components/atoms/MAIAMessage/MAIAMessage.interfaces.js +2 -0
- package/lib/components/atoms/MAIAMessage/MAIAMessage.js +22 -0
- package/lib/components/atoms/MAIAMessage/index.js +2 -0
- package/lib/components/atoms/MAIAMessage/styles.js +7 -0
- package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.config.js +23 -0
- package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.interfaces.js +2 -0
- package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.js +51 -0
- package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.styles.js +26 -0
- package/lib/components/atoms/MaiaStreamdown/index.js +2 -0
- package/lib/components/atoms/MaiaWrapper/MaiaWrapper.js +18 -0
- package/lib/components/atoms/MaiaWrapper/MaiaWrapperBase.js +84 -0
- package/lib/components/atoms/MaiaWrapper/ModernMaiaWrapper.js +15 -0
- package/lib/components/atoms/MaiaWrapper/index.js +3 -0
- package/lib/components/atoms/MaiaWrapper/styles.js +21 -0
- package/lib/components/atoms/ModalClientAccess/ModalClientAccess.interface.js +2 -0
- package/lib/components/atoms/ModalClientAccess/ModalClientAccess.js +84 -0
- package/lib/components/atoms/ModalClientAccess/ModalClientAccess.styles.js +53 -0
- package/lib/components/atoms/ModalClientAccess/index.js +2 -0
- package/lib/components/atoms/ModalInfo/ModalInfo.js +52 -0
- package/lib/components/atoms/ModalInfo/ModalInfoContent.js +7 -0
- package/lib/components/atoms/ModalInfo/index.js +3 -0
- package/lib/components/atoms/ModalInfo/styles.js +7 -0
- package/lib/components/atoms/ModalProject/ModalProject.interface.js +2 -0
- package/lib/components/atoms/ModalProject/ModalProject.js +112 -0
- package/lib/components/atoms/ModalProject/ModalProject.style.js +59 -0
- package/lib/components/atoms/ModalProject/index.js +2 -0
- package/lib/components/atoms/NextPageLoader.js +33 -0
- package/lib/components/atoms/OnboardingModalButton/OnboardingModal.js +28 -0
- package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.js +180 -0
- package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.styles.js +34 -0
- package/lib/components/atoms/OnboardingModalButton/index.js +3 -0
- package/lib/components/atoms/OptionAccessibility/OptionAccessibility.js +131 -0
- package/lib/components/atoms/OptionAccessibility/OptionAccessibility.styles.js +59 -0
- package/lib/components/atoms/OptionAccessibility/index.js +2 -0
- package/lib/components/atoms/OptionCorPermission/OptionCorPermission.js +27 -0
- package/lib/components/atoms/OptionCorPermission/OptionCorPermission.styles.js +18 -0
- package/lib/components/atoms/OptionCorPermission/index.js +2 -0
- package/lib/components/atoms/PrimaryButton.js +31 -0
- package/lib/components/atoms/ProjectSelector/ProjectSelector.js +77 -0
- package/lib/components/atoms/ProjectSelector/ProjectSelector.styles.js +61 -0
- package/lib/components/atoms/ProjectSelector/index.js +2 -0
- package/lib/components/atoms/SecondaryButton.js +20 -0
- package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.js +20 -0
- package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.styles.js +20 -0
- package/lib/components/atoms/SessionGeneratingDot/index.js +2 -0
- package/lib/components/atoms/Skeleton/Skeleton.js +36 -0
- package/lib/components/atoms/Skeleton/index.js +2 -0
- package/lib/components/atoms/SlashCommandChip/SlashCommandChip.js +16 -0
- package/lib/components/atoms/SlashCommandChip/SlashCommandChip.styles.js +24 -0
- package/lib/components/atoms/SlashCommandChip/buildSlashChipElement.js +18 -0
- package/lib/components/atoms/SlashCommandChip/index.js +4 -0
- package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.js +210 -0
- package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.styles.js +53 -0
- package/lib/components/atoms/SlashCommandDropdown/index.js +2 -0
- package/lib/components/atoms/Switch/Switch.js +27 -0
- package/lib/components/atoms/Switch/Switch.styles.js +22 -0
- package/lib/components/atoms/Switch/index.js +2 -0
- package/lib/components/atoms/TextArea/CustomTextArea.interface.js +2 -0
- package/lib/components/atoms/TextArea/CustomTextArea.js +93 -0
- package/lib/components/atoms/TextArea/CustomTextArea.styles.js +25 -0
- package/lib/components/atoms/TextArea/TextArea.interfaces.js +2 -0
- package/lib/components/atoms/TextArea/TextArea.js +172 -0
- package/lib/components/atoms/TextArea/TextArea.styles.js +16 -0
- package/lib/components/atoms/TextArea/index.js +2 -0
- package/lib/components/atoms/ThirdButton.js +19 -0
- package/lib/components/atoms/VideoModal/VideoModal.js +76 -0
- package/lib/components/atoms/VideoModal/index.js +2 -0
- package/lib/components/atoms/WithAppCfg.js +26 -0
- package/lib/components/atoms/WithFeatureValidation.js +23 -0
- package/lib/components/atoms/WrapperCenterIcon/WrapperCenterIcon.js +9 -0
- package/lib/components/atoms/WrapperCenterIcon/WrapperCenterIcon.styles.js +6 -0
- package/lib/components/atoms/WrapperCenterIcon/index.js +2 -0
- package/lib/components/atoms/icons/AIIcon.js +23 -0
- package/lib/components/atoms/icons/AacFile.js +39 -0
- package/lib/components/atoms/icons/AccessibilityIcon.js +42 -0
- package/lib/components/atoms/icons/ActionAssignIcon.js +111 -0
- package/lib/components/atoms/icons/ActionCalendarIcon.js +112 -0
- package/lib/components/atoms/icons/ActionChargeHoursIcon.js +111 -0
- package/lib/components/atoms/icons/ActionChatIcon.js +71 -0
- package/lib/components/atoms/icons/ActionCreateIcon.js +91 -0
- package/lib/components/atoms/icons/ActionCreateReworkIcon.js +39 -0
- package/lib/components/atoms/icons/ActionCreateSubtaskIcon.js +37 -0
- package/lib/components/atoms/icons/ActionEditIcon.js +39 -0
- package/lib/components/atoms/icons/ActionSummaryMessagesIcon.js +88 -0
- package/lib/components/atoms/icons/ActionSummaryTaskIcon.js +37 -0
- package/lib/components/atoms/icons/ActionTimeBackIcon.js +112 -0
- package/lib/components/atoms/icons/AgentMaiaIcon.js +31 -0
- package/lib/components/atoms/icons/Brain.js +77 -0
- package/lib/components/atoms/icons/CorAccessIcon.js +41 -0
- package/lib/components/atoms/icons/CorLogo.js +76 -0
- package/lib/components/atoms/icons/CsvFile.js +41 -0
- package/lib/components/atoms/icons/DocFile.js +41 -0
- package/lib/components/atoms/icons/DocxFile.js +41 -0
- package/lib/components/atoms/icons/EmptyClientIllustration.js +67 -0
- package/lib/components/atoms/icons/EmptyHistory.js +46 -0
- package/lib/components/atoms/icons/EmptySearchIllustration.js +37 -0
- package/lib/components/atoms/icons/EmptyState.js +84 -0
- package/lib/components/atoms/icons/EmptyStateAgents.js +58 -0
- package/lib/components/atoms/icons/ErrorIcon.js +14 -0
- package/lib/components/atoms/icons/ErrorSearchIllustration.js +52 -0
- package/lib/components/atoms/icons/ErrorState.js +51 -0
- package/lib/components/atoms/icons/FaqChevronIcon.js +39 -0
- package/lib/components/atoms/icons/FaqsIcon.js +51 -0
- package/lib/components/atoms/icons/FlacIcon.js +39 -0
- package/lib/components/atoms/icons/FolderIcon.js +29 -0
- package/lib/components/atoms/icons/HomeIcon.js +30 -0
- package/lib/components/atoms/icons/ImageFile.js +46 -0
- package/lib/components/atoms/icons/M4aFile.js +39 -0
- package/lib/components/atoms/icons/MAIAIcon.js +20 -0
- package/lib/components/atoms/icons/MAIAIsologo.js +65 -0
- package/lib/components/atoms/icons/MDFile.js +41 -0
- package/lib/components/atoms/icons/MaiaChatLayoutFloatingIcon.js +41 -0
- package/lib/components/atoms/icons/MaiaChatLayoutFullscreenIcon.js +41 -0
- package/lib/components/atoms/icons/MaiaChatLayoutMenuIcon.js +33 -0
- package/lib/components/atoms/icons/MaiaChatLayoutSidebarIcon.js +41 -0
- package/lib/components/atoms/icons/MaiaInputAddIcon.js +42 -0
- package/lib/components/atoms/icons/MaiaInputAttachIcon.js +29 -0
- package/lib/components/atoms/icons/MaiaInputAttachmentImageIcon.js +33 -0
- package/lib/components/atoms/icons/MaiaInputDeepSearchIcon.js +35 -0
- package/lib/components/atoms/icons/MaiaInputMentionIcon.js +44 -0
- package/lib/components/atoms/icons/MaiaInputRobotIcon.js +29 -0
- package/lib/components/atoms/icons/MaiaInputSendIcon.js +29 -0
- package/lib/components/atoms/icons/MaiaInputSlashIcon.js +29 -0
- package/lib/components/atoms/icons/MaiaInputWebSearchIcon.js +35 -0
- package/lib/components/atoms/icons/MaiaSettingsProject.js +111 -0
- package/lib/components/atoms/icons/MaiaSettingsProjectV2.js +193 -0
- package/lib/components/atoms/icons/MaiaSparkleIcon.js +75 -0
- package/lib/components/atoms/icons/MaiaStoreIcon.js +31 -0
- package/lib/components/atoms/icons/Mp3File.js +39 -0
- package/lib/components/atoms/icons/Mp4File.js +39 -0
- package/lib/components/atoms/icons/MyAgentsNavIcon.js +51 -0
- package/lib/components/atoms/icons/NewChat.js +29 -0
- package/lib/components/atoms/icons/NotionIcon.js +36 -0
- package/lib/components/atoms/icons/OgaFile.js +39 -0
- package/lib/components/atoms/icons/OggFile.js +39 -0
- package/lib/components/atoms/icons/PdfFile.js +39 -0
- package/lib/components/atoms/icons/PptFile.js +47 -0
- package/lib/components/atoms/icons/PptxFile.js +49 -0
- package/lib/components/atoms/icons/RetryIcon.js +34 -0
- package/lib/components/atoms/icons/SkillIcon.js +30 -0
- package/lib/components/atoms/icons/SkillsNavIcon.js +27 -0
- package/lib/components/atoms/icons/SubtaskIcon.js +36 -0
- package/lib/components/atoms/icons/TaskLinkIcon.js +27 -0
- package/lib/components/atoms/icons/TelescopeIcon.js +60 -0
- package/lib/components/atoms/icons/TemplateGradientIcon.js +42 -0
- package/lib/components/atoms/icons/TextFile.js +41 -0
- package/lib/components/atoms/icons/WavFile.js +39 -0
- package/lib/components/atoms/icons/WebmFile.js +50 -0
- package/lib/components/atoms/icons/XlsFile.js +42 -0
- package/lib/components/atoms/icons/XlsxFile.js +42 -0
- package/lib/components/atoms/icons/index.js +50 -0
- package/lib/components/atoms/index.js +42 -0
- package/lib/components/index.js +11 -0
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.interface.js +2 -0
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +149 -0
- package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.styles.js +53 -0
- package/lib/components/molecules/AbmSection/AbmGeneralSection.js +415 -0
- package/lib/components/molecules/AbmSection/AbmGeneralSection.styles.js +152 -0
- package/lib/components/molecules/AbmSection/AbmKnowledgeSection.js +374 -0
- package/lib/components/molecules/AbmSection/AbmKnowledgeSection.styles.js +106 -0
- package/lib/components/molecules/AbmSection/AbmLoaderFiles.js +92 -0
- package/lib/components/molecules/AbmSection/AbmLoaderFiles.styles.js +57 -0
- package/lib/components/molecules/AbmSection/index.js +4 -0
- package/lib/components/molecules/ChatAIClientSelector/ChatAIClientSelector.js +52 -0
- package/lib/components/molecules/ChatAIClientSelector/index.js +2 -0
- package/lib/components/molecules/ChatAIContent/ChatAIContent.js +117 -0
- package/lib/components/molecules/ChatAIContent/ChatAIContent.skeleton.js +187 -0
- package/lib/components/molecules/ChatAIContent/ChatAIContent.styles.js +6 -0
- package/lib/components/molecules/ChatAIContent/index.js +2 -0
- package/lib/components/molecules/ChatAIHistory/ChatAIHistory.js +241 -0
- package/lib/components/molecules/ChatAIHistory/index.js +2 -0
- package/lib/components/molecules/ChatAIHistory/styles.js +22 -0
- package/lib/components/molecules/ChatAIHome/ChatAIHome.js +649 -0
- package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.js +115 -0
- package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.styles.js +95 -0
- package/lib/components/molecules/ChatAIHome/index.js +2 -0
- package/lib/components/molecules/ChatAIHome/styles.js +335 -0
- package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.js +137 -0
- package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +853 -0
- package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.js +47 -0
- package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.styles.js +37 -0
- package/lib/components/molecules/ChatAIMessages/README.md +101 -0
- package/lib/components/molecules/ChatAIMessages/index.js +2 -0
- package/lib/components/molecules/ChatAIMessages/newStyles.js +131 -0
- package/lib/components/molecules/ChatAIMessages/styles.js +94 -0
- package/lib/components/molecules/ChatAIModal/ChatAIModal.js +1217 -0
- package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +58 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.js +127 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.styles.js +34 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/index.js +2 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +189 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +26 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/index.js +2 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +448 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +108 -0
- package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/index.js +2 -0
- package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.js +48 -0
- package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.styles.js +38 -0
- package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/index.js +2 -0
- package/lib/components/molecules/ChatAIModal/constants.js +40 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.js +16 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.styles.js +12 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/constants.js +13 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/index.js +3 -0
- package/lib/components/molecules/ChatAIModal/floatingPanelMotion/useFloatingPanelDragTilt.js +57 -0
- package/lib/components/molecules/ChatAIModal/index.js +2 -0
- package/lib/components/molecules/ChatAIModal/layout.js +74 -0
- package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.js +457 -0
- package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.styles.js +218 -0
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +357 -0
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +145 -0
- package/lib/components/molecules/ChatAIMySkills/index.js +2 -0
- package/lib/components/molecules/ChatAIProjectSelector/ChatAIProjectSelector.js +48 -0
- package/lib/components/molecules/ChatAIProjectSelector/ChatAIProjectSelector.styles.js +49 -0
- package/lib/components/molecules/ChatAIProjectSelector/index.js +2 -0
- package/lib/components/molecules/ChatFooter/ChatFooter.js +337 -0
- package/lib/components/molecules/ChatFooter/ChatFooterCorAccess.js +32 -0
- package/lib/components/molecules/ChatFooter/ChatFooterCorAccess.styles.js +14 -0
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.js +201 -0
- package/lib/components/molecules/ChatFooter/ChatFooterFaqs.styles.js +51 -0
- package/lib/components/molecules/ChatFooter/index.js +2 -0
- package/lib/components/molecules/ChatFooter/styles.js +23 -0
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +62 -0
- package/lib/components/molecules/ContextMentionInput/ContextMentionInput.styles.js +6 -0
- package/lib/components/molecules/ContextMentionInput/index.js +2 -0
- package/lib/components/molecules/MessageFeedback/MessageFeedback.js +118 -0
- package/lib/components/molecules/MessageFeedback/index.js +2 -0
- package/lib/components/molecules/MessageFeedback/styles.js +14 -0
- package/lib/components/molecules/ProjectSummaryChat/ProjectSummaryChat.js +127 -0
- package/lib/components/molecules/ProjectSummaryChat/index.js +2 -0
- package/lib/components/molecules/ProjectSummaryChat/styles.js +8 -0
- package/lib/components/molecules/ProjectSummaryConfig/ProjectSummaryConfig.js +152 -0
- package/lib/components/molecules/ProjectSummaryConfig/index.js +2 -0
- package/lib/components/molecules/ProjectSummaryConfig/styles.js +86 -0
- package/lib/components/molecules/ProjectSummaryContent/ProjectSummaryContent.js +49 -0
- package/lib/components/molecules/ProjectSummaryContent/index.js +2 -0
- package/lib/components/molecules/ProjectSummaryModal/ProjectSummaryModal.js +19 -0
- package/lib/components/molecules/ProjectSummaryModal/index.js +2 -0
- package/lib/components/molecules/ProjectSummaryModal/styles.js +2 -0
- package/lib/components/molecules/Sidebar/Sidebar.js +715 -0
- package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +157 -0
- package/lib/components/molecules/Sidebar/Sidebar.skeleton.js +48 -0
- package/lib/components/molecules/Sidebar/Sidebar.styles.js +75 -0
- package/lib/components/molecules/Sidebar/index.js +2 -0
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +1420 -0
- package/lib/components/organisms/AbmAgentModal/AbmAgentModal.styles.js +93 -0
- package/lib/components/organisms/AbmAgentModal/index.js +2 -0
- package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +175 -0
- package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.styles.js +34 -0
- package/lib/components/organisms/AbmSkillGenerateModal/index.js +2 -0
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +432 -0
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +98 -0
- package/lib/components/organisms/AbmSkillModal/index.js +2 -0
- package/lib/components/organisms/ChatAI/ChatAI.js +167 -0
- package/lib/components/organisms/ChatAI/index.js +2 -0
- package/lib/components/organisms/ChatAI/styles.js +7 -0
- package/lib/components/organisms/ClientAIButton/ClientAIButton.js +23 -0
- package/lib/components/organisms/ClientAIButton/index.js +2 -0
- package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.js +86 -0
- package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.styles.js +39 -0
- package/lib/components/organisms/DeleteAgentModal/index.js +2 -0
- package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.js +122 -0
- package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.styles.js +47 -0
- package/lib/components/organisms/DeleteQuestionModal/index.js +2 -0
- package/lib/components/organisms/EditQuestionModal/EditQuestionModal.js +138 -0
- package/lib/components/organisms/EditQuestionModal/EditQuestionModal.styles.js +69 -0
- package/lib/components/organisms/EditQuestionModal/index.js +2 -0
- package/lib/components/organisms/ModalFileExceeds/ModalFileExceeds.js +113 -0
- package/lib/components/organisms/ModalFileExceeds/ModalFileExceeds.styles.js +54 -0
- package/lib/components/organisms/ModalFileExceeds/index.js +2 -0
- package/lib/components/organisms/ProjectAIButton/ProjectAIButton.js +26 -0
- package/lib/components/organisms/ProjectAIButton/index.js +2 -0
- package/lib/components/organisms/ProjectSummary/ProjectSummary.js +60 -0
- package/lib/components/organisms/ProjectSummary/index.js +2 -0
- package/lib/components/organisms/ProjectSummary/styles.js +7 -0
- package/lib/components/organisms/SnackBar/Snackbar.interface.js +2 -0
- package/lib/components/organisms/SnackBar/Snackbar.js +73 -0
- package/lib/components/organisms/SnackBar/Snackbar.styles.js +9 -0
- package/lib/components/organisms/SnackBar/index.js +2 -0
- package/lib/components/organisms/SourcesInformation/SourceItem.js +18 -0
- package/lib/components/organisms/SourcesInformation/SourceItem.styles.js +14 -0
- package/lib/components/organisms/SourcesInformation/SourcesInformationModal.js +66 -0
- package/lib/components/organisms/SourcesInformation/SourcesInformationModal.styles.js +27 -0
- package/lib/components/organisms/SourcesInformation/index.js +2 -0
- package/lib/constants/config.js +13 -0
- package/lib/constants/formatExtensions.js +55 -0
- package/lib/constants/gqlClient.js +4 -0
- package/lib/constants/maiaHourAgentAccess.js +15 -0
- package/lib/constants/maiaTaskPanelAccess.js +24 -0
- package/lib/constants/maiaTaskPanelOutsideClick.js +9 -0
- package/lib/constants/maiaTaskPanelZIndex.js +19 -0
- package/lib/constants/permissions/config.js +72 -0
- package/lib/constants/permissions/index.js +3 -0
- package/lib/constants/permissions/types.js +2 -0
- package/lib/constants/permissions/utils.js +18 -0
- package/lib/constants/plannerSyncEvents.js +15 -0
- package/lib/constants/taskLinkIcon.js +15 -0
- package/lib/constants/taskUrls.js +11 -0
- package/lib/context/cor-user.js +31 -0
- package/lib/context/global-context.js +39 -0
- package/lib/dev/DevChatAI.js +101 -0
- package/lib/dev/DevContextMentionInput.js +67 -0
- package/lib/dev/ProjectSummary.js +9 -0
- package/lib/dev/Providers.js +27 -0
- package/lib/exports.js +2 -0
- package/lib/hooks/README.md +192 -0
- package/lib/hooks/index.js +30 -0
- package/lib/hooks/useAccessClient/index.js +2 -0
- package/lib/hooks/useAccessClient/useAccessClient.js +81 -0
- package/lib/hooks/useAgentModel/index.js +2 -0
- package/lib/hooks/useAgentModel/useAgentModel.js +62 -0
- package/lib/hooks/useAgentModel/useCreateAgent.js +128 -0
- package/lib/hooks/useAgentModel/useDeleteAgent.js +88 -0
- package/lib/hooks/useAgentModel/useUpdateAgent.js +129 -0
- package/lib/hooks/useAgentSuggestions.js +60 -0
- package/lib/hooks/useCaretPosition.js +65 -0
- package/lib/hooks/useChatManager/index.js +2 -0
- package/lib/hooks/useChatManager/useChatManager.interface.js +2 -0
- package/lib/hooks/useChatManager/useChatManager.js +1782 -0
- package/lib/hooks/useChatMessages/index.js +2 -0
- package/lib/hooks/useChatMessages/useChatMessages.interface.js +2 -0
- package/lib/hooks/useChatMessages/useChatMessages.js +722 -0
- package/lib/hooks/useChats/index.js +2 -0
- package/lib/hooks/useChats/useChats.interfaces.js +2 -0
- package/lib/hooks/useChats/useChats.js +187 -0
- package/lib/hooks/useClientSearch.js +163 -0
- package/lib/hooks/useContextMentions.js +463 -0
- package/lib/hooks/useContextPinPopover.js +228 -0
- package/lib/hooks/useDebounce.js +18 -0
- package/lib/hooks/useEntitySearch.js +1239 -0
- package/lib/hooks/useEvent.js +93 -0
- package/lib/hooks/useFrequentlyAskedQuestions.js +150 -0
- package/lib/hooks/useFrequentlyUsedActions.js +94 -0
- package/lib/hooks/useKnowledge/deleteKnowledge.js +69 -0
- package/lib/hooks/useKnowledge/downloadKnowledge.js +81 -0
- package/lib/hooks/useKnowledge/index.js +4 -0
- package/lib/hooks/useKnowledge/saveKnowledge.js +107 -0
- package/lib/hooks/useKnowledge/useKnowledgeOperations.js +156 -0
- package/lib/hooks/useMaiaTaskPanelZIndex.js +17 -0
- package/lib/hooks/useMentionAllowedTypes.js +136 -0
- package/lib/hooks/useMentionPopover.js +366 -0
- package/lib/hooks/useMinimizedPillBottomOffset.js +110 -0
- package/lib/hooks/useModal/index.js +2 -0
- package/lib/hooks/useModal/useModal.interfaces.js +2 -0
- package/lib/hooks/useModal/useModal.js +47 -0
- package/lib/hooks/useOnboardingNavigation.js +20 -0
- package/lib/hooks/useOrchestratorStream/index.js +2 -0
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +2 -0
- package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +269 -0
- package/lib/hooks/useProjectSearch.js +183 -0
- package/lib/hooks/useProjectSummary.js +101 -0
- package/lib/hooks/useProjectSummaryConfig.js +211 -0
- package/lib/hooks/useProjects.js +46 -0
- package/lib/hooks/useRecentClientsSearch.js +150 -0
- package/lib/hooks/useRecentContexts.js +86 -0
- package/lib/hooks/useResize.js +29 -0
- package/lib/hooks/useSlashCommands.js +84 -0
- package/lib/hooks/useSmoothStreamText/index.js +2 -0
- package/lib/hooks/useSmoothStreamText/useSmoothStreamText.js +197 -0
- package/lib/hooks/useSnackBarManager/useSnackBarManager.js +41 -0
- package/lib/hooks/useStreamResponse.js +112 -0
- package/lib/hooks/useStreamdownStyles.js +13 -0
- package/lib/hooks/useStreamingMessage/index.js +2 -0
- package/lib/hooks/useStreamingMessage/useStreamingMessage.js +18 -0
- package/lib/hooks/useT.js +17 -0
- package/lib/hooks/useTabTaskDefault.js +33 -0
- package/lib/hooks/useTaskPanel.js +22 -0
- package/lib/hooks/useTextOverflowEllipsisTooltip.js +34 -0
- package/lib/hooks/useToggle.js +19 -0
- package/lib/hooks/useToggleFavorite/index.js +2 -0
- package/lib/hooks/useToggleFavorite/useToggleFavorite.js +83 -0
- package/lib/index.css +76 -0
- package/lib/index.js +30 -0
- package/lib/lang/br/index.js +761 -0
- package/lib/lang/en/index.js +761 -0
- package/lib/lang/es/index.js +762 -0
- package/lib/lang/fr/index.js +582 -0
- package/lib/lang/index.js +24 -0
- package/lib/lang/utils.js +33 -0
- package/lib/mocks/mockChats.js +395 -0
- package/lib/mocks/mockOrchestrator.js +5 -0
- package/lib/mocks/mockProject.js +11 -0
- package/lib/mocks/mockProjectSummary.js +6 -0
- package/lib/mocks/mockedUser.js +169 -0
- package/lib/services/apolloClient.js +3 -0
- package/lib/services/appcues.js +19 -0
- package/lib/services/corpilot/ProjectSummary/getProjectSummary.js +31 -0
- package/lib/services/corpilot/ProjectSummary/index.js +5 -0
- package/lib/services/corpilot/client.js +27 -0
- package/lib/services/corpilot/index.js +5 -0
- package/lib/services/maia/Access/updateAccess.js +59 -0
- package/lib/services/maia/Actions/getFrequentlyUsedActions.js +46 -0
- package/lib/services/maia/Actions/getSlashCommands.js +39 -0
- package/lib/services/maia/Actions/index.js +7 -0
- package/lib/services/maia/Agents/createAgent.js +39 -0
- package/lib/services/maia/Agents/deleteAgent.js +38 -0
- package/lib/services/maia/Agents/fetchAgentDetail.js +122 -0
- package/lib/services/maia/Agents/getAgentById.js +162 -0
- package/lib/services/maia/Agents/getAgentModels.js +112 -0
- package/lib/services/maia/Agents/getAgentSuggestions.js +44 -0
- package/lib/services/maia/Agents/getAgents.js +718 -0
- package/lib/services/maia/Agents/setAgentToolGroups.js +42 -0
- package/lib/services/maia/Agents/toggleFavorite.js +34 -0
- package/lib/services/maia/Agents/updateAgent.js +39 -0
- package/lib/services/maia/Chats/deleteChat.js +32 -0
- package/lib/services/maia/Chats/getChatMessages.js +144 -0
- package/lib/services/maia/Chats/getChatsByUserId.js +82 -0
- package/lib/services/maia/Chats/index.js +15 -0
- package/lib/services/maia/Chats/markSessionAsRead.js +32 -0
- package/lib/services/maia/Chats/patchChat.js +43 -0
- package/lib/services/maia/Chats/wasHelpfulChat.js +31 -0
- package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.js +55 -0
- package/lib/services/maia/Faqs/index.js +5 -0
- package/lib/services/maia/Knowledge/delete.js +41 -0
- package/lib/services/maia/Knowledge/download.js +48 -0
- package/lib/services/maia/Knowledge/index.js +3 -0
- package/lib/services/maia/Knowledge/save.js +43 -0
- package/lib/services/maia/Orchestrator/index.js +7 -0
- package/lib/services/maia/Orchestrator/orchestrator.js +246 -0
- package/lib/services/maia/RecentClients/getRecentClients.js +43 -0
- package/lib/services/maia/RecentClients/index.js +6 -0
- package/lib/services/maia/RecentContexts/getRecentContexts.js +54 -0
- package/lib/services/maia/RecentContexts/index.js +6 -0
- package/lib/services/maia/RecentProjects/getRecentProjects.js +55 -0
- package/lib/services/maia/RecentProjects/index.js +6 -0
- package/lib/services/maia/RecentTasks/getRecentTasks.js +54 -0
- package/lib/services/maia/RecentTasks/index.js +6 -0
- package/lib/services/maia/RecentUsers/getRecentUsers.js +59 -0
- package/lib/services/maia/RecentUsers/index.js +6 -0
- package/lib/services/maia/Skills/createSkill.js +39 -0
- package/lib/services/maia/Skills/deleteSkill.js +38 -0
- package/lib/services/maia/Skills/generateSkill.js +41 -0
- package/lib/services/maia/Skills/getSkills.js +90 -0
- package/lib/services/maia/Skills/updateSkill.js +39 -0
- package/lib/services/maia/client.js +27 -0
- package/lib/services/maia/index.js +17 -0
- package/lib/services/query/ClientSearchQuery.js +5 -0
- package/lib/services/query/entitySearchQuery.js +18 -0
- package/lib/services/query/index.js +2 -0
- package/lib/services/query/projectSearchByValueQuery.js +5 -0
- package/lib/services/query/taskUserTabQuery.js +8 -0
- package/lib/services/query/usersDirectoryQuery.js +19 -0
- package/lib/services/types.js +6 -0
- package/lib/services/utils/fetchCOR.js +117 -0
- package/lib/services/utils/getCookie.js +10 -0
- package/lib/services/utils/index.js +3 -0
- package/lib/services/utils/mapChatMessages.js +287 -0
- package/lib/services/utils/validateIsMaia.js +4 -0
- package/lib/store/chatsSidebarOptimistic.js +92 -0
- package/lib/store/chatsStore.types.js +2 -0
- package/lib/store/chatsStoreLifecycle.js +8 -0
- package/lib/store/faqsStore.types.js +2 -0
- package/lib/store/index.js +4 -0
- package/lib/store/maiaLastChatPersistence.js +35 -0
- package/lib/store/sessions/activeView.js +22 -0
- package/lib/store/sessions/index.js +9 -0
- package/lib/store/sessions/sessionHitlContext.js +15 -0
- package/lib/store/sessions/sessionNotificationSound.js +57 -0
- package/lib/store/sessions/sessionNotifications.js +110 -0
- package/lib/store/sessions/sessionNotifications.types.js +2 -0
- package/lib/store/sessions/sessionStreamManager.js +715 -0
- package/lib/store/sessions/sessionStreamingText.js +80 -0
- package/lib/store/sessions/sessions.types.js +35 -0
- package/lib/store/sessions/useSessionMeta.js +39 -0
- package/lib/store/sessions/useSessionStreamingText.js +18 -0
- package/lib/store/sessions/useSessionsStore.js +197 -0
- package/lib/store/useChatsStore.js +387 -0
- package/lib/store/useFaqsStore.js +27 -0
- package/lib/streamdownStyles.js +9 -0
- package/lib/styles/StyledCleanContainer.js +7 -0
- package/lib/styles/cascade.js +14 -0
- package/lib/styles/config.js +47 -0
- package/lib/styles/shared/scrollable.js +3 -0
- package/lib/styles/transitions.js +21 -0
- package/lib/types/Action.js +2 -0
- package/lib/types/AgentSuggestion.js +2 -0
- package/lib/types/Chat.js +10 -0
- package/lib/types/Client.js +2 -0
- package/lib/types/FrequentlyAskedQuestion.js +2 -0
- package/lib/types/Project.js +2 -0
- package/lib/types/ProjectSummaryConfigKeys.js +9 -0
- package/lib/types/Task.js +2 -0
- package/lib/types/agent.js +2 -0
- package/lib/types/agentModal.js +2 -0
- package/lib/types/contextMention.js +37 -0
- package/lib/types/global.d.js +2 -0
- package/lib/types/skill.js +2 -0
- package/lib/types/streamActivity.js +2 -0
- package/lib/types/userType.d.js +2 -0
- package/lib/utils/actionCategoryMap.js +37 -0
- package/lib/utils/actionIconMap.js +61 -0
- package/lib/utils/agentDisplayName.js +42 -0
- package/lib/utils/chatInputFiles.js +52 -0
- package/lib/utils/contextMentionIcons.js +134 -0
- package/lib/utils/contextMentionLabel.js +4 -0
- package/lib/utils/contextMentionTriggers.js +54 -0
- package/lib/utils/contextMentionTypeLabel.js +17 -0
- package/lib/utils/corConnectorMentionTypes.js +41 -0
- package/lib/utils/ensureStreamdownStyles.js +21 -0
- package/lib/utils/entityLinkRender.js +135 -0
- package/lib/utils/fileDownloadHelper.js +40 -0
- package/lib/utils/formatQuickActionMessage.js +16 -0
- package/lib/utils/formatUnreadCount.js +6 -0
- package/lib/utils/getUnitFileSize.js +13 -0
- package/lib/utils/hitlAnalytics.js +65 -0
- package/lib/utils/hoursPlannerQuickActionType.js +64 -0
- package/lib/utils/imagePreprocessor.js +108 -0
- package/lib/utils/index.js +3 -0
- package/lib/utils/maiaHostOpen.js +19 -0
- package/lib/utils/maiaStreamdownRehypePlugins.js +27 -0
- package/lib/utils/mapBackendLang.js +8 -0
- package/lib/utils/normalizeAgentConnectors.js +70 -0
- package/lib/utils/openTaskInCorPanel.js +22 -0
- package/lib/utils/orchestratorSubagents.js +11 -0
- package/lib/utils/renderContextMentions.js +399 -0
- package/lib/utils/retryCompletion.js +85 -0
- package/lib/utils/slashCommandMarker.js +30 -0
- package/lib/utils/sortManagerHoursHomeFuas.js +14 -0
- package/lib/utils/sseStreamContent.js +17 -0
- package/lib/utils/streamActivityMessages.js +359 -0
- package/lib/utils/validateTrimmedFields.js +8 -0
- package/package.json +1 -1
|
@@ -0,0 +1,761 @@
|
|
|
1
|
+
import _defineProperty from "@babel/runtime/helpers/defineProperty";
|
|
2
|
+
function ownKeys(e, r) { var t = Object.keys(e); if (Object.getOwnPropertySymbols) { var o = Object.getOwnPropertySymbols(e); r && (o = o.filter(function (r) { return Object.getOwnPropertyDescriptor(e, r).enumerable; })), t.push.apply(t, o); } return t; }
|
|
3
|
+
function _objectSpread(e) { for (var r = 1; r < arguments.length; r++) { var t = null != arguments[r] ? arguments[r] : {}; r % 2 ? ownKeys(Object(t), !0).forEach(function (r) { _defineProperty(e, r, t[r]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) { Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r)); }); } return e; }
|
|
4
|
+
import { SECTIONS } from '../../constants/config';
|
|
5
|
+
import { ProjectSummaryConfigKeys } from '../../types/ProjectSummaryConfigKeys';
|
|
6
|
+
var globals = {
|
|
7
|
+
close: 'Fechar',
|
|
8
|
+
minimize: 'Minimizar',
|
|
9
|
+
howWorks: 'Como funciona?',
|
|
10
|
+
brandName: 'MAIA',
|
|
11
|
+
expand: 'Expandir',
|
|
12
|
+
collapse: 'Recolher',
|
|
13
|
+
goBack: 'Voltar ao início',
|
|
14
|
+
copy: 'Copiar',
|
|
15
|
+
copied: 'Copiado',
|
|
16
|
+
saved: 'Salvo',
|
|
17
|
+
selectProject: 'Selecionar projeto',
|
|
18
|
+
save: 'Salvar',
|
|
19
|
+
cancel: 'Cancelar'
|
|
20
|
+
};
|
|
21
|
+
var error = {
|
|
22
|
+
title: 'Ocorreu um problema',
|
|
23
|
+
description: 'No momento, estamos enfrentando alguns problemas, por favor, tente novamente em alguns minutos.',
|
|
24
|
+
tryAgain: 'Tentar novamente'
|
|
25
|
+
};
|
|
26
|
+
var genericSection = {
|
|
27
|
+
error: error,
|
|
28
|
+
globals: globals
|
|
29
|
+
};
|
|
30
|
+
var projectSummarySection = {
|
|
31
|
+
resume: 'Resumir',
|
|
32
|
+
hello: 'Olá, {{name}}!',
|
|
33
|
+
welcome: 'Sou a MAIA, sua assistente na COR',
|
|
34
|
+
feedback: {
|
|
35
|
+
thumbsUp: 'Foi útil para mim',
|
|
36
|
+
thumbsDown: 'Não foi útil para mim',
|
|
37
|
+
sources: 'Fuentes'
|
|
38
|
+
},
|
|
39
|
+
config: {
|
|
40
|
+
projectSummary: 'Resumir projeto',
|
|
41
|
+
projectSummaryTitle: 'Resumo de projetos',
|
|
42
|
+
goBack: 'Voltar ao início',
|
|
43
|
+
selectedProject: 'Projeto selecionado',
|
|
44
|
+
selectProject: 'Selecionar projeto',
|
|
45
|
+
configureResume: 'Configurações avançadas',
|
|
46
|
+
generatingResume: 'Gerando resumo',
|
|
47
|
+
generateResume: 'Gerar',
|
|
48
|
+
hideConfig: 'Ocultar configurações'
|
|
49
|
+
},
|
|
50
|
+
configureSettings: _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, ProjectSummaryConfigKeys.GENERAL_STATUS, 'Datas e prazos'), ProjectSummaryConfigKeys.INCOME_COSTS, 'Rentabilidade'), ProjectSummaryConfigKeys.TIME_HOURS, 'Estimativa de horas e uso'), ProjectSummaryConfigKeys.TASKS_PROGRESS, 'Tarefas e avanços'), ProjectSummaryConfigKeys.REWORKS, 'Retrabalho')
|
|
51
|
+
};
|
|
52
|
+
var homeMenu = {
|
|
53
|
+
projectSummary: {
|
|
54
|
+
title: 'Resumo do projeto',
|
|
55
|
+
description: 'Elabore relatórios com IA com base no seu projeto'
|
|
56
|
+
},
|
|
57
|
+
faq: {
|
|
58
|
+
title: 'Perguntas Frequentes',
|
|
59
|
+
startTitle: 'Você pode começar por...',
|
|
60
|
+
empty: 'Não há perguntas frequentes',
|
|
61
|
+
error: 'Ops! Tivemos um problema ao carregar as perguntas frequentes. Por favor, tente novamente em alguns minutos.',
|
|
62
|
+
categories: {
|
|
63
|
+
projects: 'Projeto',
|
|
64
|
+
tasks: 'Tarefas',
|
|
65
|
+
hours: 'Horas',
|
|
66
|
+
reworks: 'Retrabalhos',
|
|
67
|
+
undefined: 'Sem categoria'
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
fua: {
|
|
71
|
+
title: 'Ações frequentes',
|
|
72
|
+
newBadge: 'Novo',
|
|
73
|
+
error: 'Ops! Tivemos um problema ao carregar as ações frequentes. Por favor, tente novamente em alguns minutos.'
|
|
74
|
+
},
|
|
75
|
+
recentContexts: {
|
|
76
|
+
title: 'Escolha um contexto recente para uma resposta mais precisa:',
|
|
77
|
+
types: {
|
|
78
|
+
client: 'Cliente',
|
|
79
|
+
project: 'Projeto',
|
|
80
|
+
task: 'Tarefa'
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
contextHome: {
|
|
84
|
+
greeting: 'Olá, {{name}} 👋',
|
|
85
|
+
subtitle: 'Sou MAIA, sua assistente em tarefas, projetos e clientes.\nSeguimos com algo recente?',
|
|
86
|
+
subtitleCollaborator: 'Sou MAIA, sua assistente em tarefas. Seguimos com algo recente?',
|
|
87
|
+
subtitleCollaboratorWithHours: 'Registre suas horas ou comece um chat sobre uma tarefa.',
|
|
88
|
+
subtitleManagerWithHours: 'Por onde você quer começar?',
|
|
89
|
+
hoursSection: {
|
|
90
|
+
title: 'Registrar horas'
|
|
91
|
+
},
|
|
92
|
+
recentTasksSection: {
|
|
93
|
+
title: 'Consultar sobre uma tarefa',
|
|
94
|
+
subtitle: 'Escolha uma tarefa recente para usar como contexto.'
|
|
95
|
+
},
|
|
96
|
+
recentContextsSectionManager: {
|
|
97
|
+
title: 'Ou retome algo recente',
|
|
98
|
+
subtitle: 'Escolha uma tarefa, projeto ou cliente para usar como contexto'
|
|
99
|
+
},
|
|
100
|
+
contextGreeting: {
|
|
101
|
+
project: 'O que você quer que analisemos? Horas, estimativas, retrabalhos? Você escolhe!',
|
|
102
|
+
task: 'Estou aqui para ajudá-lo com esta tarefa. Use uma das funções para começar.',
|
|
103
|
+
client: 'O que você quer que analisemos? Rentabilidade, avanços, deadlines? Você escolhe!'
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
plannerHome: {
|
|
107
|
+
title: 'Vamos começar a registrar suas horas',
|
|
108
|
+
subtitle: 'Por onde começamos?'
|
|
109
|
+
},
|
|
110
|
+
action: {
|
|
111
|
+
categories: {
|
|
112
|
+
tasks: 'Ações sobre tarefas',
|
|
113
|
+
collaborators: 'Colaboradores e responsáveis',
|
|
114
|
+
labels: 'Etiquetas e tipos',
|
|
115
|
+
checklists: 'Checklists',
|
|
116
|
+
deliverables: 'Entregáveis',
|
|
117
|
+
reworks: 'Retrabalhos',
|
|
118
|
+
hours: 'Lançamento de horas'
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
createdBy: 'por',
|
|
122
|
+
createdByTooltip: 'Usuário criador do agente',
|
|
123
|
+
createdByTooltipDeleted: 'Usuário excluído. Seu nome é mantido para referência.',
|
|
124
|
+
taskGreeting: 'Estou aqui para ajudá-lo com esta tarefa. Use uma das funções para começar.',
|
|
125
|
+
hello: {
|
|
126
|
+
title: 'Pronto! Já estou usando o projeto',
|
|
127
|
+
title_1: 'Antecipe desvios. Vamos analisar este projeto.',
|
|
128
|
+
title_2: 'O que você quer que analisemos? Horas, estimativas, retrabalhos? Você escolhe!',
|
|
129
|
+
title_3: 'Vamos revisar o andamento deste projeto.',
|
|
130
|
+
subtitle: 'Para começar, posso te ajudar com essas opções. Ou, se preferir, escreva diretamente sua pergunta!',
|
|
131
|
+
titlePm: 'Olá, {{name}}! Sou {{agent}}, sua assistente',
|
|
132
|
+
subtitlePm: 'Para te dar respostas precisas, preciso saber sobre qual projeto vamos conversar. Qual você escolhe?'
|
|
133
|
+
},
|
|
134
|
+
maiaker: {
|
|
135
|
+
title: 'Transforme processos repetitivos em agentes inteligentes',
|
|
136
|
+
description: 'Crie agentes que analisem e gerem conteúdo de acordo com as suas necessidades.',
|
|
137
|
+
createManualAgent: 'Criar agente manualmente',
|
|
138
|
+
badgeNew: 'Novo',
|
|
139
|
+
briefCard: {
|
|
140
|
+
title: 'Agente especialista em brief',
|
|
141
|
+
description: 'Crie e melhore briefs para que estejam prontos para usar em tarefas.',
|
|
142
|
+
prompt: 'Quero criar um agente especialista em brief.'
|
|
143
|
+
},
|
|
144
|
+
comingSoonCard: {
|
|
145
|
+
title: 'Em breve, mais novidades',
|
|
146
|
+
description: 'Estamos trabalhando para oferecer mais agentes'
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
};
|
|
150
|
+
export default _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, SECTIONS.projectSummary, _objectSpread(_objectSpread({}, genericSection), projectSummarySection)), SECTIONS.chatAI, _objectSpread(_objectSpread(_objectSpread({}, genericSection), projectSummarySection), {}, {
|
|
151
|
+
homeMenu: homeMenu,
|
|
152
|
+
contextMention: {
|
|
153
|
+
keyboardHint: 'Navegação entre abas: @, @@… em ordem. Também Alt/Cmd + ←/→',
|
|
154
|
+
recentsTitle: 'Recentes',
|
|
155
|
+
userNoPosition: 'Sem cargo',
|
|
156
|
+
me: 'Yo',
|
|
157
|
+
tabs: {
|
|
158
|
+
client: 'Cliente',
|
|
159
|
+
project: 'Projeto',
|
|
160
|
+
task: 'Tarefa',
|
|
161
|
+
user: 'Usuário',
|
|
162
|
+
mcp: 'Conectores',
|
|
163
|
+
skill: 'Habilidades'
|
|
164
|
+
},
|
|
165
|
+
loading: 'Buscando...',
|
|
166
|
+
error: 'Tivemos um problema. Tente novamente.',
|
|
167
|
+
skillQueryTooShort: 'Digite pelo menos 3 caracteres para buscar',
|
|
168
|
+
empty: {
|
|
169
|
+
recents: 'Comece a digitar para buscar',
|
|
170
|
+
withQuery: 'Sem resultados para "{{query}}"',
|
|
171
|
+
skillNoItems: 'Nenhuma habilidade ainda',
|
|
172
|
+
skillWithQuery: 'Nenhuma habilidade correspondente a "{{query}}"'
|
|
173
|
+
},
|
|
174
|
+
counters: {
|
|
175
|
+
projects: 'projetos',
|
|
176
|
+
tasks: 'tarefas'
|
|
177
|
+
}
|
|
178
|
+
},
|
|
179
|
+
contextPin: {
|
|
180
|
+
addContext: 'Contexto global',
|
|
181
|
+
searchPlaceholder: 'Buscar contexto…',
|
|
182
|
+
remove: 'Remover contexto'
|
|
183
|
+
},
|
|
184
|
+
button: 'IA',
|
|
185
|
+
title: 'Olá, {{name}}!',
|
|
186
|
+
newChat: 'Novo chat',
|
|
187
|
+
description: 'Sou a MAIA, sua assistente, e estou aqui para te ajudar com as suas dúvidas.',
|
|
188
|
+
openAgentCreator: 'Criar agente',
|
|
189
|
+
openMarketplace: 'Marketplace de agentes',
|
|
190
|
+
history: {
|
|
191
|
+
tooltip: 'Histórico',
|
|
192
|
+
title: 'Histórico vazio',
|
|
193
|
+
description: 'Nenhuma conversa encontrada',
|
|
194
|
+
item: {
|
|
195
|
+
date: 'Última atualização {{date}}'
|
|
196
|
+
},
|
|
197
|
+
menu: {
|
|
198
|
+
rename: 'Renomear',
|
|
199
|
+
"delete": 'Excluir'
|
|
200
|
+
},
|
|
201
|
+
loadingMore: 'Carregando mais conversas'
|
|
202
|
+
},
|
|
203
|
+
onboarding: {
|
|
204
|
+
maia: 'MAIA',
|
|
205
|
+
agentCustom: 'Agentes custom',
|
|
206
|
+
howCreateAgent: 'Como criar um agente?',
|
|
207
|
+
tooltip: 'Como funciona?',
|
|
208
|
+
howItWorks: 'Como funciona?'
|
|
209
|
+
},
|
|
210
|
+
qa: {
|
|
211
|
+
title: 'Perguntas Frequentes',
|
|
212
|
+
items: {
|
|
213
|
+
rentabilidad_proyecto: 'Qual é a rentabilidade deste projeto?',
|
|
214
|
+
avance_proyecto: 'Quais são os avanços deste projeto?',
|
|
215
|
+
tareas_proyecto: 'Quais são as próximas tarefas a vencer?'
|
|
216
|
+
}
|
|
217
|
+
},
|
|
218
|
+
chat: {
|
|
219
|
+
generating: 'Pensando',
|
|
220
|
+
generatingAttachment: 'Analisando adjunto',
|
|
221
|
+
generatingDeepSearch: 'Iniciando a pesquisa',
|
|
222
|
+
generatingWebSearch: 'Pesquisando na web',
|
|
223
|
+
suggestionsTitle: 'Respostas sugeridas',
|
|
224
|
+
createAgentActionsTitle: 'Próximo passo',
|
|
225
|
+
createAgentActionStartChat: 'Iniciar conversa com o novo agente',
|
|
226
|
+
createAgentActionKnowledge: 'Enviar arquivos para a base de conhecimento',
|
|
227
|
+
createAgentActionLoadError: 'Não foi possível carregar o agente. Tente novamente.',
|
|
228
|
+
writing: 'Escrevendo a resposta',
|
|
229
|
+
executingAction: 'Executando ação',
|
|
230
|
+
processing: 'Processando',
|
|
231
|
+
activity: {
|
|
232
|
+
generating: {
|
|
233
|
+
preparing: 'Preparando sua resposta',
|
|
234
|
+
considering: 'Revisando sua consulta',
|
|
235
|
+
almostReady: 'Definindo a abordagem'
|
|
236
|
+
},
|
|
237
|
+
thinking: {
|
|
238
|
+
analyzing: 'Analisando sua consulta',
|
|
239
|
+
reviewing: 'Revisando o contexto',
|
|
240
|
+
planning: 'Montando a resposta'
|
|
241
|
+
},
|
|
242
|
+
search: {
|
|
243
|
+
scanning: 'Buscando na web',
|
|
244
|
+
summarizing: 'Revisando resultados'
|
|
245
|
+
},
|
|
246
|
+
deepSearch: {
|
|
247
|
+
exploring: 'Explorando fontes',
|
|
248
|
+
crossChecking: 'Verificando informações'
|
|
249
|
+
},
|
|
250
|
+
attachment: {
|
|
251
|
+
reading: 'Lendo o anexo',
|
|
252
|
+
extracting: 'Extraindo o que importa',
|
|
253
|
+
readingPlural: 'Lendo os anexos',
|
|
254
|
+
extractingPlural: 'Extraindo o que importa'
|
|
255
|
+
},
|
|
256
|
+
writing: {
|
|
257
|
+
composing: 'Escrevendo a resposta'
|
|
258
|
+
},
|
|
259
|
+
dynamicContextTooltip: 'Este contexto foi gerado dinamicamente e pode mudar ao longo da conversa.',
|
|
260
|
+
creatingTask: 'Criando tarefa',
|
|
261
|
+
creatingTasksBatch: 'Criando tarefas',
|
|
262
|
+
creatingAgent: 'Criando agente',
|
|
263
|
+
editingAgent: 'Editando agente',
|
|
264
|
+
editingTask: 'Editando tarefa',
|
|
265
|
+
editingTasksBatch: 'Editando tarefas',
|
|
266
|
+
deletingTask: 'Excluindo tarefa',
|
|
267
|
+
deletingTasksBatch: 'Excluindo tarefas',
|
|
268
|
+
assigningUser: 'Atribuindo usuário',
|
|
269
|
+
unassigningUser: 'Removendo usuário',
|
|
270
|
+
assigningLabel: 'Atribuindo etiqueta',
|
|
271
|
+
updatingTaskType: 'Atualizando tipo de tarefa',
|
|
272
|
+
updatingEstimatedHours: 'Atualizando horas estimadas',
|
|
273
|
+
updatingDeliverable: 'Atualizando entregável',
|
|
274
|
+
loggingHours: 'Registrando horas',
|
|
275
|
+
creatingChecklist: 'Criando checklist',
|
|
276
|
+
creatingLabel: 'Criando etiqueta',
|
|
277
|
+
editingProject: 'Editando projeto',
|
|
278
|
+
creatingChecklistItem: 'Adicionando item ao checklist',
|
|
279
|
+
queryingHours: 'Consultando horas',
|
|
280
|
+
configuringAgentAccess: 'Alterando visibilidade do agente',
|
|
281
|
+
sendingTaskMessage: 'Enviando mensagem na tarefa',
|
|
282
|
+
deletingChecklistItem: 'Excluindo item do checklist',
|
|
283
|
+
removingTaskType: 'Removendo tipo de tarefa',
|
|
284
|
+
removingLabel: 'Removendo etiqueta',
|
|
285
|
+
updatingDeliverableCount: 'Atualizando contador de entregáveis',
|
|
286
|
+
creatingRework: 'Criando retrabalho',
|
|
287
|
+
updatingRework: 'Atualizando retrabalho',
|
|
288
|
+
generatingFile: 'Gerando arquivo',
|
|
289
|
+
resumingAction: 'Executando ação aprovada'
|
|
290
|
+
},
|
|
291
|
+
loadingMore: 'Carregando mais mensagens',
|
|
292
|
+
footer: {
|
|
293
|
+
placeholder: 'Escreva sua pergunta aqui…',
|
|
294
|
+
orchestratorPlaceholder: 'Pergunte à Maia, @ para mencionar ou / para ações rápidas',
|
|
295
|
+
agentLabel: 'O Agente',
|
|
296
|
+
disclaimer: '{{agentName}} pode cometer erros. Verifique as informações importantes.',
|
|
297
|
+
disclaimerAgent: 'Modelos de IA podem cometer erros. Verifique as informações importantes.',
|
|
298
|
+
corAccessLabel: 'Acesso ao COR',
|
|
299
|
+
corAccessTooltip: 'Acesso aos dados do COR'
|
|
300
|
+
},
|
|
301
|
+
error: 'Ocorreu um erro ao gerar sua resposta, por favor, tente novamente.',
|
|
302
|
+
retry: 'Tentar novamente',
|
|
303
|
+
errorAccessDenied: 'Você não tem acesso para interagir com este agente. É possível que suas configurações de acessibilidade tenham mudado. Por favor, contate a pessoa na sua organização que gerencia agentes para obter mais informações.',
|
|
304
|
+
errorPromptTooLong: 'Você excedeu o limite de contexto {{used}} tokens. Por favor, tente novamente ou continue em outro chat',
|
|
305
|
+
changeProject: 'Detectei que você quer mudar de Projeto.\n\n**Selecione o projeto para continuar:**',
|
|
306
|
+
searchWeb: 'Pesquisar na web',
|
|
307
|
+
deepSearch: 'Busca avançada na internet (acesso a mais fontes)',
|
|
308
|
+
attachFile: 'Anexar arquivo',
|
|
309
|
+
plusMenuAttach: 'Anexar arquivos',
|
|
310
|
+
dropFilesHere: 'Solte os arquivos aqui',
|
|
311
|
+
plusMenuDeepInvestigation: 'Investigar a fundo',
|
|
312
|
+
plusMenuQuickActions: 'Ações rápidas',
|
|
313
|
+
openPlusMenuAria: 'Anexos e opções de pesquisa',
|
|
314
|
+
openMentionAria: 'Mencionar',
|
|
315
|
+
removeAttachmentAria: 'Remover arquivo',
|
|
316
|
+
removeActiveToolAria: 'Remover modo de pesquisa',
|
|
317
|
+
send: 'Enviar',
|
|
318
|
+
limitFiles: 'Você excedeu o limite de anexos',
|
|
319
|
+
stop: 'Interromper resposta',
|
|
320
|
+
cancelled: 'A pesquisa foi cancelada.',
|
|
321
|
+
tooManyActiveSessions: 'Há muitas conversas gerando ao mesmo tempo. Aguarde uma terminar antes de iniciar outra.',
|
|
322
|
+
attachmentPreviewModal: {
|
|
323
|
+
loading: 'Carregando...',
|
|
324
|
+
unsupportedFileMessage: 'Tivemos um problema ao carregar a pré-visualização. Por favor, tente novamente em alguns minutos.',
|
|
325
|
+
typeLabel: 'Tipo:',
|
|
326
|
+
unknown: 'Desconhecido',
|
|
327
|
+
sizeLabel: 'Tamanho:',
|
|
328
|
+
excel: {
|
|
329
|
+
sheetSelectorLabel: 'Planilha:',
|
|
330
|
+
loadError: 'Não foi possível carregar o conteúdo do arquivo Excel.',
|
|
331
|
+
fileReadError: 'Erro ao ler o arquivo.',
|
|
332
|
+
sheetLoadError: 'Erro ao carregar a planilha selecionada.'
|
|
333
|
+
},
|
|
334
|
+
word: {
|
|
335
|
+
loadError: 'Não foi possível carregar o conteúdo do documento Word.',
|
|
336
|
+
legacyDocUnsupported: 'A visualização de arquivos .doc não está disponível. Use o formato .docx.'
|
|
337
|
+
},
|
|
338
|
+
ppt: {
|
|
339
|
+
loadError: 'Não foi possível carregar o conteúdo da apresentação.',
|
|
340
|
+
legacyPptUnsupported: 'A visualização de arquivos .ppt não está disponível. Use o formato .pptx.',
|
|
341
|
+
slideLabel: 'Slide {{number}}',
|
|
342
|
+
emptySlide: 'Este slide não tem texto nem imagens para visualizar.'
|
|
343
|
+
}
|
|
344
|
+
}
|
|
345
|
+
},
|
|
346
|
+
deleteQuestionModal: {
|
|
347
|
+
title: 'Deseja excluir esta conversa?',
|
|
348
|
+
firstPart: 'Você está prestes a excluir',
|
|
349
|
+
secondPart: 'Esta ação é irreversível.',
|
|
350
|
+
cancel: 'Cancelar',
|
|
351
|
+
"delete": 'Excluir'
|
|
352
|
+
},
|
|
353
|
+
deleteSkillModal: {
|
|
354
|
+
title: 'Deseja excluir esta skill?',
|
|
355
|
+
firstPart: 'Você está prestes a excluir',
|
|
356
|
+
secondPart: 'Esta ação é irreversível.',
|
|
357
|
+
cancel: 'Cancelar',
|
|
358
|
+
"delete": 'Excluir'
|
|
359
|
+
},
|
|
360
|
+
editQuestionModal: {
|
|
361
|
+
newName: 'Novo nome',
|
|
362
|
+
title: 'Renomear conversa',
|
|
363
|
+
rename: 'Renomear',
|
|
364
|
+
cancel: 'Cancelar',
|
|
365
|
+
maxLength: 'Você atingiu o limite de 140 caracteres.'
|
|
366
|
+
},
|
|
367
|
+
modalFileExceeds: {
|
|
368
|
+
limitFilesTitle: 'Máx. Anexos excedidos.',
|
|
369
|
+
limitSizeTitle: 'Você excedeu o limite de tamanho permitido',
|
|
370
|
+
limitFilesDescription: 'Você pode anexar no máximo 5 arquivos por mensagem. Os seguintes arquivos não puderam ser anexados:',
|
|
371
|
+
limitSizeDescription: 'Um ou mais arquivos excedem o tamanho máximo permitido por tipo. Os seguintes arquivos não puderam ser anexados:',
|
|
372
|
+
accept: 'Aceitar',
|
|
373
|
+
limit: 'limite'
|
|
374
|
+
},
|
|
375
|
+
sourcesInformationModal: {
|
|
376
|
+
title: 'Fuentes:'
|
|
377
|
+
},
|
|
378
|
+
agents: {
|
|
379
|
+
title: 'Agentes',
|
|
380
|
+
newAgent: 'Novo agente',
|
|
381
|
+
createAgent: 'Criar Agente',
|
|
382
|
+
edit: 'Editar',
|
|
383
|
+
maia: '(Especialista de projeto)',
|
|
384
|
+
addFavorite: 'Adicionar aos favoritos',
|
|
385
|
+
removeFavorite: 'Remover dos favoritos',
|
|
386
|
+
favoriteToggledAddedSuccess: 'Agente adicionado aos favoritos',
|
|
387
|
+
favoriteToggledRemovedSuccess: 'Agente removido de favoritos',
|
|
388
|
+
favoriteToggledError: 'Não foi possível salvar seu favorito. Tente novamente.',
|
|
389
|
+
favoriteToggledRemovedError: 'Não foi possível remover o favorito. Tente novamente.',
|
|
390
|
+
maiaIntroduction: 'Bem-vindo à MAIA, sua assistente para melhorar o seu dia a dia.'
|
|
391
|
+
},
|
|
392
|
+
conversations: {
|
|
393
|
+
title: 'Minhas conversas',
|
|
394
|
+
agentsSectionTitle: 'Agentes',
|
|
395
|
+
maiakerNav: 'Criador de agentes',
|
|
396
|
+
myAgentsNav: 'Meus agentes',
|
|
397
|
+
mySkillsNav: 'Minhas skills',
|
|
398
|
+
error: 'Ocorreu um erro ao carregar o histórico de conversas',
|
|
399
|
+
empty: 'Todas as suas conversas com os agentes serão exibidas aqui',
|
|
400
|
+
emptyLabel: 'Mensagem com anexos',
|
|
401
|
+
unreadLabel: 'Não lido',
|
|
402
|
+
minimizedOpen: 'Abrir MAIA',
|
|
403
|
+
minimizedSeeAnswer: 'Ver resposta',
|
|
404
|
+
collapse: 'Recolher',
|
|
405
|
+
expand: 'Expandir',
|
|
406
|
+
newChat: 'Novo chat',
|
|
407
|
+
generating: 'Gerando resposta',
|
|
408
|
+
sessionFinished: '{{title}} terminou de responder',
|
|
409
|
+
sessionFinishedApproval: '{{title}} requer sua aprovação',
|
|
410
|
+
sessionFinishedError: '{{title}} teve um erro ao responder',
|
|
411
|
+
openAgentCreator: 'Criar agente',
|
|
412
|
+
openMarketplace: 'Marketplace de agentes'
|
|
413
|
+
},
|
|
414
|
+
marketplace: {
|
|
415
|
+
back: 'Voltar',
|
|
416
|
+
title: 'Ideias para criar agentes',
|
|
417
|
+
description: 'Escolha uma sugestão bem construída e abra o editor com o agente já preenchido para adaptar ao seu caso.',
|
|
418
|
+
myAgentsTitle: 'Meus agentes',
|
|
419
|
+
myAgentsReadyTitle: 'Seus agentes estao prontos para ajudar voce em tarefas',
|
|
420
|
+
myAgentsDescription: 'Estes sao seus agentes custom. Selecione um para iniciar a conversa com esse perfil.',
|
|
421
|
+
myAgentsEmptyStateTitle: 'Voce ainda nao tem agentes criados',
|
|
422
|
+
myAgentsEmptyStateDescription: 'Clique no botao abaixo para comecar a criar agentes sob medida.',
|
|
423
|
+
myAgentsEmptyStateDescriptionNoPerm: 'Quando alguem com permissao para cria-los configurar, voce podera acessa-los por aqui.',
|
|
424
|
+
myAgentsEmptyStateButton: 'Criar agente',
|
|
425
|
+
myAgentsFallbackIntro: 'Agente personalizado pronto para ajudar no seu fluxo de trabalho.',
|
|
426
|
+
myAgentsFallbackDescription: 'Clique em usar agente para iniciar uma conversa com este agente.',
|
|
427
|
+
myAgentsFallbackDate: 'Ha alguns dias',
|
|
428
|
+
myAgentsToday: 'Hoje',
|
|
429
|
+
myAgentsOneDayAgo: 'Ha 1 dia',
|
|
430
|
+
myAgentsDaysAgo: 'Ha {{days}} dias',
|
|
431
|
+
cardMenuAriaLabel: 'Menu de acoes do agente',
|
|
432
|
+
use: 'Usar',
|
|
433
|
+
createAgent: 'Criar agente manualmente',
|
|
434
|
+
searchAgentPlaceholder: 'Buscar agente...',
|
|
435
|
+
searchMinLength: 'mín. 3 caracteres',
|
|
436
|
+
searchNoResults: 'Nenhum resultado encontrado.',
|
|
437
|
+
searchNoResultsSubtitle: 'Crie um agente de IA que possa pensar, agir e automatizar o trabalho para você',
|
|
438
|
+
useTemplate: 'Criar com esta ideia',
|
|
439
|
+
useMyAgent: 'Usar agente',
|
|
440
|
+
badges: {
|
|
441
|
+
branding: 'Branding',
|
|
442
|
+
linkedin: 'LinkedIn',
|
|
443
|
+
marketing: 'Marketing'
|
|
444
|
+
}
|
|
445
|
+
},
|
|
446
|
+
mySkills: {
|
|
447
|
+
title: 'Suas skills prontas para potencializar seus agentes',
|
|
448
|
+
subtitle: 'As skills sao globais: estao disponiveis para todos os seus agentes.',
|
|
449
|
+
createSkill: 'Criar skill',
|
|
450
|
+
preview: 'Pre-visualizacao',
|
|
451
|
+
previewEmpty: 'Nada para pre-visualizar ainda.',
|
|
452
|
+
uploadMd: 'Enviar .md',
|
|
453
|
+
uploadError: 'Apenas arquivos .md sao permitidos',
|
|
454
|
+
createWithMaia: 'Criar com Maia',
|
|
455
|
+
writeInstructions: 'Escrever instrucoes',
|
|
456
|
+
uploadSkill: 'Enviar uma skill',
|
|
457
|
+
generatePlaceholder: 'Quero uma Skill para criar meus projetos',
|
|
458
|
+
generateWithMaia: 'Criar a Skill com Maia',
|
|
459
|
+
generateNeedsName: 'Escreva um nome primeiro para descrever a skill',
|
|
460
|
+
generateSuccess: 'Skill gerada com Maia',
|
|
461
|
+
generateError: 'Nao foi possivel gerar a skill. Tente novamente.',
|
|
462
|
+
cardMenuAriaLabel: 'Menu de acoes da skill',
|
|
463
|
+
edit: 'Editar',
|
|
464
|
+
"delete": 'Excluir',
|
|
465
|
+
cancel: 'Cancelar',
|
|
466
|
+
save: 'Salvar',
|
|
467
|
+
close: 'Fechar',
|
|
468
|
+
createTitle: 'Nova skill',
|
|
469
|
+
editTitle: 'Editar skill',
|
|
470
|
+
nameLabel: 'Nome',
|
|
471
|
+
namePlaceholder: 'Nome da skill',
|
|
472
|
+
contentLabel: 'Skill',
|
|
473
|
+
contentPlaceholder: 'Escreva a skill...',
|
|
474
|
+
emptyStateTitle: 'Voce ainda nao tem skills criadas',
|
|
475
|
+
emptyStateDescription: 'Clique no botao abaixo para comecar a criar suas skills.',
|
|
476
|
+
emptyStateDescriptionNoPerm: 'Quando alguem com permissao para cria-las configurar, voce podera acessa-las por aqui.',
|
|
477
|
+
emptyStateButton: 'Criar skill',
|
|
478
|
+
createSuccess: 'Skill criada com sucesso',
|
|
479
|
+
createError: 'Nao foi possivel criar a skill. Tente novamente.',
|
|
480
|
+
updateSuccess: 'Skill atualizada com sucesso',
|
|
481
|
+
updateError: 'Nao foi possivel atualizar a skill. Tente novamente.',
|
|
482
|
+
deleteSuccess: 'Skill excluida com sucesso',
|
|
483
|
+
deleteError: 'Nao foi possivel excluir a skill. Tente novamente.'
|
|
484
|
+
},
|
|
485
|
+
snackbar: {
|
|
486
|
+
deleteChat: {
|
|
487
|
+
success: 'Sua conversa foi excluída com sucesso.',
|
|
488
|
+
error: 'Ocorreu um erro inesperado. Por favor tente novamente.'
|
|
489
|
+
},
|
|
490
|
+
renamedChat: {
|
|
491
|
+
success: 'Conversa renomeada com sucesso',
|
|
492
|
+
error: 'Ocorreu um erro inesperado. Por favor tente novamente.'
|
|
493
|
+
},
|
|
494
|
+
loadMoreAgents: {
|
|
495
|
+
error: 'Ocorreu um erro inesperado. Por favor tente novamente.'
|
|
496
|
+
}
|
|
497
|
+
},
|
|
498
|
+
approvalBox: {
|
|
499
|
+
untitledAgent: 'Agente sem nome',
|
|
500
|
+
actions: {
|
|
501
|
+
create_task: 'Criação de tarefa',
|
|
502
|
+
create_tasks_batch: 'Criação de tarefas',
|
|
503
|
+
create_agent: 'Criar agente',
|
|
504
|
+
edit_agent: 'Edição de agente',
|
|
505
|
+
edit_project: 'Edição de projeto',
|
|
506
|
+
edit_task: 'Edição de tarefa',
|
|
507
|
+
edit_tasks_batch: 'Edição de tarefas',
|
|
508
|
+
delete_task: 'Exclusão de tarefa',
|
|
509
|
+
delete_tasks_batch: 'Exclusão de tarefas',
|
|
510
|
+
task_assign: 'Atribuição de usuário',
|
|
511
|
+
task_unassign: 'Remoção de usuário',
|
|
512
|
+
assign_task_label: 'Atribuição de etiqueta',
|
|
513
|
+
create_labels: 'Criação de etiqueta',
|
|
514
|
+
update_task_type: 'Atualização de tipo de tarefa',
|
|
515
|
+
update_estimated_hours: 'Atualização de horas estimadas',
|
|
516
|
+
update_deliverable: 'Atualização de entregável',
|
|
517
|
+
create_hour: 'Registro de horas',
|
|
518
|
+
create_checklist: 'Criação de checklist',
|
|
519
|
+
create_checklist_item: 'Criação de item do checklist',
|
|
520
|
+
clone_task: 'Clonar tarefa',
|
|
521
|
+
get_task_date_hours: 'Consulta de horas por data',
|
|
522
|
+
configure_agent_access: 'Alterar visibilidade do agente',
|
|
523
|
+
send_task_message: 'Envio de mensagem na tarefa',
|
|
524
|
+
delete_checklist_item: 'Exclusão de item do checklist',
|
|
525
|
+
remove_task_type: 'Remoção do tipo de tarefa',
|
|
526
|
+
remove_task_label: 'Remoção de etiqueta',
|
|
527
|
+
count_deliverable: 'Atualização da contagem de entregáveis',
|
|
528
|
+
create_rework: 'Criação de retrabalho',
|
|
529
|
+
update_rework: 'Atualização de retrabalho',
|
|
530
|
+
delete_agent: 'Exclusão de agente',
|
|
531
|
+
unknown: 'Ação desconhecida'
|
|
532
|
+
},
|
|
533
|
+
special: {
|
|
534
|
+
createRework: {
|
|
535
|
+
title: 'Criar retrabalho',
|
|
536
|
+
description: 'Será criado um retrabalho na tarefa com as informações indicadas.'
|
|
537
|
+
},
|
|
538
|
+
updateDeliverableChildren: {
|
|
539
|
+
title: 'Atualizar progresso dos entregáveis',
|
|
540
|
+
description: 'Será atualizado o progresso dos subentregáveis vinculados a esta tarefa.'
|
|
541
|
+
}
|
|
542
|
+
},
|
|
543
|
+
fields: {
|
|
544
|
+
name: 'Nome',
|
|
545
|
+
emoji: 'Emoji',
|
|
546
|
+
introduction: 'Introdução',
|
|
547
|
+
input_placeholder: 'Placeholder',
|
|
548
|
+
user_prompt: 'Prompt principal',
|
|
549
|
+
language: 'Idioma',
|
|
550
|
+
provider: 'Provider',
|
|
551
|
+
model_name: 'Modelo',
|
|
552
|
+
api_key: 'API key'
|
|
553
|
+
},
|
|
554
|
+
title: 'Confirmação requerida',
|
|
555
|
+
description: 'Você precisa aprovar a seguinte ação:',
|
|
556
|
+
approve: 'Aprovar',
|
|
557
|
+
deny: 'Negar',
|
|
558
|
+
manualApprovalWarning: 'Maia detectou que a solicitação foi aprovada manualmente',
|
|
559
|
+
status: {
|
|
560
|
+
approved: 'Solicitação Aprovada',
|
|
561
|
+
denied: 'Solicitação Negada'
|
|
562
|
+
}
|
|
563
|
+
},
|
|
564
|
+
chipLlm: {
|
|
565
|
+
tooltip: 'Modelo: {{model}}'
|
|
566
|
+
},
|
|
567
|
+
clientSelector: {
|
|
568
|
+
project: 'projeto',
|
|
569
|
+
projects: 'projetos'
|
|
570
|
+
}
|
|
571
|
+
})), SECTIONS.abmAgent, _objectSpread(_objectSpread({}, genericSection), {}, {
|
|
572
|
+
legendDeletedAgent: 'Este agente foi excluído no dia',
|
|
573
|
+
legendProjectDeleted: 'O projeto {{name}} foi excluído. Não é possível continuar a conversa',
|
|
574
|
+
legendNoAccess: 'Você não tem mais acesso para interagir com o agente {{name}}',
|
|
575
|
+
legendNoPermissions: 'Você não tem mais permissão para visualizar ou interagir com o agente {{name}}',
|
|
576
|
+
legendLegacyContextSession: 'Esta conversa pertence a um contexto anterior. Você pode continuar com {{name}} em um novo chat.',
|
|
577
|
+
continueInNewChat: 'Continuar em um novo chat',
|
|
578
|
+
legendModelDeprecated: 'O modelo selecionado para este agente não está mais disponível. Troque para outro modelo para continuar usando-o.',
|
|
579
|
+
legendProviderStatus: 'O modelo usado por este agente está enfrentando problemas temporários. Você pode aguardar a recuperação ou trocar para outro modelo.',
|
|
580
|
+
changeModel: 'Trocar modelo',
|
|
581
|
+
agents: 'Agentes',
|
|
582
|
+
layoutMenuTooltip: 'Layout do chat',
|
|
583
|
+
layoutSidebar: 'Chat paralelo',
|
|
584
|
+
layoutFullscreen: 'Chat completo',
|
|
585
|
+
layoutFloating: 'Chat flutuante',
|
|
586
|
+
back: 'Voltar',
|
|
587
|
+
addAgent: 'Adicionar novo agente',
|
|
588
|
+
newAgent: 'Novo agente',
|
|
589
|
+
createAgent: 'Criar Agente',
|
|
590
|
+
editAgent: 'Editar agente',
|
|
591
|
+
cancel: 'Cancelar',
|
|
592
|
+
accept: 'Aceitar',
|
|
593
|
+
deleteAgent: 'Excluir agente',
|
|
594
|
+
"continue": 'Continuar',
|
|
595
|
+
edit: 'Editar',
|
|
596
|
+
"delete": 'Excluir',
|
|
597
|
+
feedback: 'Enviar Feedback',
|
|
598
|
+
sendFeedback: 'Enviar feedback',
|
|
599
|
+
saveChanges: 'Salvar alterações',
|
|
600
|
+
createAgentLabelButton: 'Criar agente',
|
|
601
|
+
openAgentCreator: 'Criar agente',
|
|
602
|
+
openMarketplace: 'Marketplace de agentes',
|
|
603
|
+
confirmAgentCreated: 'O agente foi criado com sucesso',
|
|
604
|
+
confirmAgentUpdatedWithFilesError: 'O agente foi editado com sucesso, mas alguns arquivos não puderam ser processados.',
|
|
605
|
+
confirmAgentWithFilesError: 'O agente foi criado com sucesso, mas alguns arquivos não puderam ser processados.',
|
|
606
|
+
confirmAgentDeleted: 'O agente foi excluído com sucesso',
|
|
607
|
+
confirmAgentUpdated: 'O agente foi atualizado com sucesso',
|
|
608
|
+
confirmCloseCreateAgent: 'Tem certeza que deseja fechar? As alterações serão perdidas.',
|
|
609
|
+
confirmCloseEditAgent: 'Tem certeza que deseja fechar? As alterações serão perdidas.',
|
|
610
|
+
confirmReloadBrowser: 'Tem certeza que deseja recarregar a página? As alterações serão perdidas.',
|
|
611
|
+
errorAccessDenied: 'Você não tem permissão para acessar este agente. Contate o suporte.',
|
|
612
|
+
errorAgentCreated: 'Ocorreu um erro inesperado. Por favor tente novamente.',
|
|
613
|
+
attachmentCard: {
|
|
614
|
+
download: 'Descarregar',
|
|
615
|
+
"delete": 'Excluir'
|
|
616
|
+
},
|
|
617
|
+
generalSection: {
|
|
618
|
+
title: 'Geral',
|
|
619
|
+
generalSettings: 'Configuração geral',
|
|
620
|
+
requiredFieldsLabel: '*obrigatórios',
|
|
621
|
+
infoLabel: 'Adicione todas as informações para personalizar o comportamento do seu agente.',
|
|
622
|
+
optionalLabel: 'Opcional',
|
|
623
|
+
basicSettings: 'Configuração básica',
|
|
624
|
+
selectEmoji: 'Selecionar emoji',
|
|
625
|
+
name: 'Qual é o nome do seu agente?',
|
|
626
|
+
namePlaceholder: 'Dê um nome ao seu agente',
|
|
627
|
+
behaviorSettings: 'Configuração de comportamento',
|
|
628
|
+
initialPrompt: 'Quais são as instruções?',
|
|
629
|
+
initialPromptPlaceholder: 'Exemplo: Você é um redator de mídias sociais que escreve e adapta mensagens para diferentes redes, garantindo consistência no tom, na personalidade e nos valores da marca.',
|
|
630
|
+
modelAiLabel: 'Modelo de IA',
|
|
631
|
+
noModelsAvailable: 'Não há modelos disponíveis',
|
|
632
|
+
inputPlaceholderTitle: 'O que o usuário verá no campo de chat antes de escrever?',
|
|
633
|
+
inputPlaceholder: 'Pergunte o que precisar…',
|
|
634
|
+
introduction: 'Como o seu agente vai se apresentar?',
|
|
635
|
+
introductionPlaceholder: 'Exemplo: Olá! 👋 Vou te ajudar a criar, adaptar e revisar textos para diferentes plataformas, garantindo que mantenham a voz, o tom e a personalidade da sua marca. Você pode me pedir ideias para campanhas, adaptar um texto para outro canal ou revisar a coerência da mensagem.',
|
|
636
|
+
addFavorite: 'Adicionar aos favoritos',
|
|
637
|
+
removeFavorite: 'Remover dos favoritos',
|
|
638
|
+
error: {
|
|
639
|
+
maxCaracterName: 'Você atingiu o limite de 150 caracteres.',
|
|
640
|
+
maxCaracterInitialPrompt: 'Você atingiu o limite de 5000 caracteres.',
|
|
641
|
+
maxInputPlaceholder: 'Você atingiu o limite de 100 caracteres.',
|
|
642
|
+
maxCaracterIntroduction: 'Você atingiu o limite de 400 caracteres.'
|
|
643
|
+
},
|
|
644
|
+
howToWritePrompt: 'Como escrever um prompt',
|
|
645
|
+
whatIsModelAiTitle: 'Qual modelo de IA você vai usar?',
|
|
646
|
+
whatIsModelAi: 'O que é um modelo de IA?',
|
|
647
|
+
createdBy: 'Por',
|
|
648
|
+
createdByTooltip: 'Usuário criador do agente',
|
|
649
|
+
createdByTooltipDeleted: 'Usuário excluído. Seu nome é mantido para referência.'
|
|
650
|
+
},
|
|
651
|
+
knowledgeSection: {
|
|
652
|
+
title: 'Conhecimento',
|
|
653
|
+
knowledgeTab: 'Base de conhecimentos',
|
|
654
|
+
infoLabel: 'Carregue os arquivos que seu agente usará como fonte para suas respostas.',
|
|
655
|
+
selectFileTitle: 'SELECIONAR ARQUIVOS',
|
|
656
|
+
attachFiles: 'Anexar arquivos',
|
|
657
|
+
dropZoneText: {
|
|
658
|
+
1: 'Clique aqui para carregar',
|
|
659
|
+
2: 'ou arraste os arquivos'
|
|
660
|
+
},
|
|
661
|
+
infoFileTypes: '.md, .pdf, .doc, .docx, .ppt, .pptx, .txt, .csv, .png, .jpg, .jpeg, .xls, .xlsx (máx. total de 5MB)',
|
|
662
|
+
error: {
|
|
663
|
+
maxFilesTitle: 'Limite de tamanho total excedido.',
|
|
664
|
+
maxFilesDescription: 'Você pode anexar arquivos até um total de 5 MB. Os seguintes arquivos não puderam ser anexados:',
|
|
665
|
+
maxSizeTitle: 'Você excedeu o limite de tamanho permitido',
|
|
666
|
+
maxSizeDescription: {
|
|
667
|
+
1: 'O limite máximo de 5 MB foi atingido.',
|
|
668
|
+
2: 'Esses arquivos não foram carregados porque excedem o espaço disponível:'
|
|
669
|
+
},
|
|
670
|
+
invalidExtensionDescription: {
|
|
671
|
+
1: 'Somente arquivos com as seguintes extensões são aceitos: .md, .pdf, .doc, .docx, .ppt, .pptx, .txt, .csv, .png, .jpg, .jpeg, .xls, .xlsx',
|
|
672
|
+
2: 'Estes arquivos não foram carregados porque sua extensão não é permitida:'
|
|
673
|
+
}
|
|
674
|
+
},
|
|
675
|
+
moreInfo: 'Veja como funciona aqui'
|
|
676
|
+
},
|
|
677
|
+
accessibilitySection: {
|
|
678
|
+
titleTab: 'Permissões',
|
|
679
|
+
titleSection: 'Visibilidade e permissões do agente',
|
|
680
|
+
subtitleSection: 'Defina quem pode usar este agente e se ele pode acessar dados do COR.',
|
|
681
|
+
corPermissionsTitle: 'Permissões de acesso aos dados do COR',
|
|
682
|
+
corPermissionsSubtitle: 'A que este agente tem acesso?',
|
|
683
|
+
taskAccessTitle: 'Acesso a tarefas',
|
|
684
|
+
taskAccessDescription: 'O agente poderá ler, criar, modificar e excluir tarefas de acordo com as permissões do usuário.',
|
|
685
|
+
visibilityTitle: 'Visibilidade do agente',
|
|
686
|
+
whoCanAccess: 'Quem pode usar este agente?',
|
|
687
|
+
allCompanyTitle: 'Toda a empresa',
|
|
688
|
+
allCompanyDescription: 'Todos os usuários da sua organização poderão ver e usar este agente.',
|
|
689
|
+
clientTitle: 'Para clientes específicos',
|
|
690
|
+
clientDescription: 'Associe este agente a um ou mais clientes. Todos os usuários poderão ver com quais clientes ele está vinculado.',
|
|
691
|
+
ownTitle: 'Somente eu',
|
|
692
|
+
ownDescription: 'Este agente será privado e não estará disponível para outros usuários.',
|
|
693
|
+
clientsSelected: 'Clientes selecionados:',
|
|
694
|
+
searchError: 'Ops! Tivemos um problema ao carregar os clientes. Pode tentar novamente em instantes?',
|
|
695
|
+
searchEmpty: 'Ops! Não encontramos clientes com esse nome. Tente outra busca.',
|
|
696
|
+
searchInitial: 'Comece a digitar o nome de um cliente para associá-lo',
|
|
697
|
+
searchPlaceholder: 'Buscar cliente',
|
|
698
|
+
clientInactive: 'Este cliente está inativo. Recomendamos removê-lo da lista.',
|
|
699
|
+
clientDeletedTooltip: 'Este cliente foi excluído. Recomendamos removê-lo da lista.',
|
|
700
|
+
clientDeleted: 'Cliente excluído',
|
|
701
|
+
clientsError: 'Verifique os clientes associados'
|
|
702
|
+
},
|
|
703
|
+
processingKnowledge: {
|
|
704
|
+
descriptionCreate: 'Estamos criando o Agente e sua base de conhecimento. Isso pode levar alguns instantes. Por favor, não feche esta janela até que o processo seja concluído.',
|
|
705
|
+
descriptionUpdate: 'Estamos atualizando o Agente e sua base de conhecimento. Isso pode levar alguns instantes. Por favor, não feche esta janela até que o processo seja concluído.',
|
|
706
|
+
fileRow: 'Arquivo',
|
|
707
|
+
statusRow: 'Status',
|
|
708
|
+
pending: 'Pendente',
|
|
709
|
+
processing: 'Processando',
|
|
710
|
+
failed: 'Falha',
|
|
711
|
+
done: 'Completado',
|
|
712
|
+
loadingFiles: 'Carregando arquivos...',
|
|
713
|
+
error: {}
|
|
714
|
+
},
|
|
715
|
+
deleteAgentModal: {
|
|
716
|
+
title: 'Deseja excluir este agente?',
|
|
717
|
+
firstPart: 'Você está prestes a excluir ',
|
|
718
|
+
secondPart: 'Esta ação não pode ser desfeita.',
|
|
719
|
+
cancel: 'Cancelar',
|
|
720
|
+
"delete": 'Excluir'
|
|
721
|
+
}
|
|
722
|
+
})), SECTIONS.projectSelector, _objectSpread(_objectSpread({}, genericSection), {}, {
|
|
723
|
+
projectSelector: {
|
|
724
|
+
title: 'Em qual projeto você gostaria de ajuda?',
|
|
725
|
+
hello: {
|
|
726
|
+
title: 'Sou MAIA, sua especialista em projetos.',
|
|
727
|
+
subtitle: 'Para te dar respostas precisas, preciso saber sobre qual projeto vamos conversar. Qual você escolhe?'
|
|
728
|
+
},
|
|
729
|
+
subtitle: 'Selecione o projeto para que a MAIA responda com base em um contexto.',
|
|
730
|
+
labelProject: 'Selecione um projeto',
|
|
731
|
+
placeholder: 'Busque um projeto pelo nome',
|
|
732
|
+
changeProject: 'Mudar de projeto',
|
|
733
|
+
recentProjects: 'Recentes',
|
|
734
|
+
searchingProjects: 'Buscando seus projetos...',
|
|
735
|
+
errorMessage: 'Ops! Tivemos um problema ao carregar os projetos. Por favor, tente novamente em alguns minutos.',
|
|
736
|
+
emptyRecentProjects: 'Você não tem projetos recentes. Digite o nome de um projeto na busca para encontrá-lo.',
|
|
737
|
+
emptyState: 'Ops! Não encontramos projetos com esse nome. Tente outra busca.',
|
|
738
|
+
withoutClient: 'Sem cliente',
|
|
739
|
+
withoutTitle: 'Sem título'
|
|
740
|
+
}
|
|
741
|
+
})), SECTIONS.clientSelector, _objectSpread(_objectSpread({}, genericSection), {}, {
|
|
742
|
+
clientSelector: {
|
|
743
|
+
title: 'Em qual cliente você gostaria de ajuda?',
|
|
744
|
+
hello: {
|
|
745
|
+
title: 'Sou MAIA, sua especialista em clientes.',
|
|
746
|
+
subtitle: 'Para te dar respostas precisas, preciso saber sobre qual cliente vamos conversar. Qual você escolhe?'
|
|
747
|
+
},
|
|
748
|
+
subtitle: 'Selecione o cliente para que a MAIA responda com base em um contexto.',
|
|
749
|
+
labelClient: 'Selecione um cliente',
|
|
750
|
+
placeholder: 'Buscar cliente pelo nome',
|
|
751
|
+
changeClient: 'Mudar de cliente',
|
|
752
|
+
recentClients: 'Recentes',
|
|
753
|
+
searchingClients: 'Buscando seus clientes...',
|
|
754
|
+
errorMessage: 'Tivemos um problema ao carregar os clientes. Por favor, tente novamente em alguns minutos.',
|
|
755
|
+
emptyRecentClients: 'Você não tem clientes recentes. Digite o nome de um cliente na busca para encontrá-lo.',
|
|
756
|
+
emptyState: 'Ops! Não encontramos clientes com esse nome. Tente outra busca.',
|
|
757
|
+
project: 'projeto',
|
|
758
|
+
projects: 'projetos'
|
|
759
|
+
}
|
|
760
|
+
}));
|
|
761
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTRUNUSU9OUyIsIlByb2plY3RTdW1tYXJ5Q29uZmlnS2V5cyIsImdsb2JhbHMiLCJjbG9zZSIsIm1pbmltaXplIiwiaG93V29ya3MiLCJicmFuZE5hbWUiLCJleHBhbmQiLCJjb2xsYXBzZSIsImdvQmFjayIsImNvcHkiLCJjb3BpZWQiLCJzYXZlZCIsInNlbGVjdFByb2plY3QiLCJzYXZlIiwiY2FuY2VsIiwiZXJyb3IiLCJ0aXRsZSIsImRlc2NyaXB0aW9uIiwidHJ5QWdhaW4iLCJnZW5lcmljU2VjdGlvbiIsInByb2plY3RTdW1tYXJ5U2VjdGlvbiIsInJlc3VtZSIsImhlbGxvIiwid2VsY29tZSIsImZlZWRiYWNrIiwidGh1bWJzVXAiLCJ0aHVtYnNEb3duIiwic291cmNlcyIsImNvbmZpZyIsInByb2plY3RTdW1tYXJ5IiwicHJvamVjdFN1bW1hcnlUaXRsZSIsInNlbGVjdGVkUHJvamVjdCIsImNvbmZpZ3VyZVJlc3VtZSIsImdlbmVyYXRpbmdSZXN1bWUiLCJnZW5lcmF0ZVJlc3VtZSIsImhpZGVDb25maWciLCJjb25maWd1cmVTZXR0aW5ncyIsIl9kZWZpbmVQcm9wZXJ0eSIsIkdFTkVSQUxfU1RBVFVTIiwiSU5DT01FX0NPU1RTIiwiVElNRV9IT1VSUyIsIlRBU0tTX1BST0dSRVNTIiwiUkVXT1JLUyIsImhvbWVNZW51IiwiZmFxIiwic3RhcnRUaXRsZSIsImVtcHR5IiwiY2F0ZWdvcmllcyIsInByb2plY3RzIiwidGFza3MiLCJob3VycyIsInJld29ya3MiLCJ1bmRlZmluZWQiLCJmdWEiLCJuZXdCYWRnZSIsInJlY2VudENvbnRleHRzIiwidHlwZXMiLCJjbGllbnQiLCJwcm9qZWN0IiwidGFzayIsImNvbnRleHRIb21lIiwiZ3JlZXRpbmciLCJzdWJ0aXRsZSIsInN1YnRpdGxlQ29sbGFib3JhdG9yIiwic3VidGl0bGVDb2xsYWJvcmF0b3JXaXRoSG91cnMiLCJzdWJ0aXRsZU1hbmFnZXJXaXRoSG91cnMiLCJob3Vyc1NlY3Rpb24iLCJyZWNlbnRUYXNrc1NlY3Rpb24iLCJyZWNlbnRDb250ZXh0c1NlY3Rpb25NYW5hZ2VyIiwiY29udGV4dEdyZWV0aW5nIiwicGxhbm5lckhvbWUiLCJhY3Rpb24iLCJjb2xsYWJvcmF0b3JzIiwibGFiZWxzIiwiY2hlY2tsaXN0cyIsImRlbGl2ZXJhYmxlcyIsImNyZWF0ZWRCeSIsImNyZWF0ZWRCeVRvb2x0aXAiLCJjcmVhdGVkQnlUb29sdGlwRGVsZXRlZCIsInRhc2tHcmVldGluZyIsInRpdGxlXzEiLCJ0aXRsZV8yIiwidGl0bGVfMyIsInRpdGxlUG0iLCJzdWJ0aXRsZVBtIiwibWFpYWtlciIsImNyZWF0ZU1hbnVhbEFnZW50IiwiYmFkZ2VOZXciLCJicmllZkNhcmQiLCJwcm9tcHQiLCJjb21pbmdTb29uQ2FyZCIsIl9vYmplY3RTcHJlYWQiLCJjaGF0QUkiLCJjb250ZXh0TWVudGlvbiIsImtleWJvYXJkSGludCIsInJlY2VudHNUaXRsZSIsInVzZXJOb1Bvc2l0aW9uIiwibWUiLCJ0YWJzIiwidXNlciIsIm1jcCIsInNraWxsIiwibG9hZGluZyIsInNraWxsUXVlcnlUb29TaG9ydCIsInJlY2VudHMiLCJ3aXRoUXVlcnkiLCJza2lsbE5vSXRlbXMiLCJza2lsbFdpdGhRdWVyeSIsImNvdW50ZXJzIiwiY29udGV4dFBpbiIsImFkZENvbnRleHQiLCJzZWFyY2hQbGFjZWhvbGRlciIsInJlbW92ZSIsImJ1dHRvbiIsIm5ld0NoYXQiLCJvcGVuQWdlbnRDcmVhdG9yIiwib3Blbk1hcmtldHBsYWNlIiwiaGlzdG9yeSIsInRvb2x0aXAiLCJpdGVtIiwiZGF0ZSIsIm1lbnUiLCJyZW5hbWUiLCJsb2FkaW5nTW9yZSIsIm9uYm9hcmRpbmciLCJtYWlhIiwiYWdlbnRDdXN0b20iLCJob3dDcmVhdGVBZ2VudCIsImhvd0l0V29ya3MiLCJxYSIsIml0ZW1zIiwicmVudGFiaWxpZGFkX3Byb3llY3RvIiwiYXZhbmNlX3Byb3llY3RvIiwidGFyZWFzX3Byb3llY3RvIiwiY2hhdCIsImdlbmVyYXRpbmciLCJnZW5lcmF0aW5nQXR0YWNobWVudCIsImdlbmVyYXRpbmdEZWVwU2VhcmNoIiwiZ2VuZXJhdGluZ1dlYlNlYXJjaCIsInN1Z2dlc3Rpb25zVGl0bGUiLCJjcmVhdGVBZ2VudEFjdGlvbnNUaXRsZSIsImNyZWF0ZUFnZW50QWN0aW9uU3RhcnRDaGF0IiwiY3JlYXRlQWdlbnRBY3Rpb25Lbm93bGVkZ2UiLCJjcmVhdGVBZ2VudEFjdGlvbkxvYWRFcnJvciIsIndyaXRpbmciLCJleGVjdXRpbmdBY3Rpb24iLCJwcm9jZXNzaW5nIiwiYWN0aXZpdHkiLCJwcmVwYXJpbmciLCJjb25zaWRlcmluZyIsImFsbW9zdFJlYWR5IiwidGhpbmtpbmciLCJhbmFseXppbmciLCJyZXZpZXdpbmciLCJwbGFubmluZyIsInNlYXJjaCIsInNjYW5uaW5nIiwic3VtbWFyaXppbmciLCJkZWVwU2VhcmNoIiwiZXhwbG9yaW5nIiwiY3Jvc3NDaGVja2luZyIsImF0dGFjaG1lbnQiLCJyZWFkaW5nIiwiZXh0cmFjdGluZyIsInJlYWRpbmdQbHVyYWwiLCJleHRyYWN0aW5nUGx1cmFsIiwiY29tcG9zaW5nIiwiZHluYW1pY0NvbnRleHRUb29sdGlwIiwiY3JlYXRpbmdUYXNrIiwiY3JlYXRpbmdUYXNrc0JhdGNoIiwiY3JlYXRpbmdBZ2VudCIsImVkaXRpbmdBZ2VudCIsImVkaXRpbmdUYXNrIiwiZWRpdGluZ1Rhc2tzQmF0Y2giLCJkZWxldGluZ1Rhc2siLCJkZWxldGluZ1Rhc2tzQmF0Y2giLCJhc3NpZ25pbmdVc2VyIiwidW5hc3NpZ25pbmdVc2VyIiwiYXNzaWduaW5nTGFiZWwiLCJ1cGRhdGluZ1Rhc2tUeXBlIiwidXBkYXRpbmdFc3RpbWF0ZWRIb3VycyIsInVwZGF0aW5nRGVsaXZlcmFibGUiLCJsb2dnaW5nSG91cnMiLCJjcmVhdGluZ0NoZWNrbGlzdCIsImNyZWF0aW5nTGFiZWwiLCJlZGl0aW5nUHJvamVjdCIsImNyZWF0aW5nQ2hlY2tsaXN0SXRlbSIsInF1ZXJ5aW5nSG91cnMiLCJjb25maWd1cmluZ0FnZW50QWNjZXNzIiwic2VuZGluZ1Rhc2tNZXNzYWdlIiwiZGVsZXRpbmdDaGVja2xpc3RJdGVtIiwicmVtb3ZpbmdUYXNrVHlwZSIsInJlbW92aW5nTGFiZWwiLCJ1cGRhdGluZ0RlbGl2ZXJhYmxlQ291bnQiLCJjcmVhdGluZ1Jld29yayIsInVwZGF0aW5nUmV3b3JrIiwiZ2VuZXJhdGluZ0ZpbGUiLCJyZXN1bWluZ0FjdGlvbiIsImZvb3RlciIsInBsYWNlaG9sZGVyIiwib3JjaGVzdHJhdG9yUGxhY2Vob2xkZXIiLCJhZ2VudExhYmVsIiwiZGlzY2xhaW1lciIsImRpc2NsYWltZXJBZ2VudCIsImNvckFjY2Vzc0xhYmVsIiwiY29yQWNjZXNzVG9vbHRpcCIsInJldHJ5IiwiZXJyb3JBY2Nlc3NEZW5pZWQiLCJlcnJvclByb21wdFRvb0xvbmciLCJjaGFuZ2VQcm9qZWN0Iiwic2VhcmNoV2ViIiwiYXR0YWNoRmlsZSIsInBsdXNNZW51QXR0YWNoIiwiZHJvcEZpbGVzSGVyZSIsInBsdXNNZW51RGVlcEludmVzdGlnYXRpb24iLCJwbHVzTWVudVF1aWNrQWN0aW9ucyIsIm9wZW5QbHVzTWVudUFyaWEiLCJvcGVuTWVudGlvbkFyaWEiLCJyZW1vdmVBdHRhY2htZW50QXJpYSIsInJlbW92ZUFjdGl2ZVRvb2xBcmlhIiwic2VuZCIsImxpbWl0RmlsZXMiLCJzdG9wIiwiY2FuY2VsbGVkIiwidG9vTWFueUFjdGl2ZVNlc3Npb25zIiwiYXR0YWNobWVudFByZXZpZXdNb2RhbCIsInVuc3VwcG9ydGVkRmlsZU1lc3NhZ2UiLCJ0eXBlTGFiZWwiLCJ1bmtub3duIiwic2l6ZUxhYmVsIiwiZXhjZWwiLCJzaGVldFNlbGVjdG9yTGFiZWwiLCJsb2FkRXJyb3IiLCJmaWxlUmVhZEVycm9yIiwic2hlZXRMb2FkRXJyb3IiLCJ3b3JkIiwibGVnYWN5RG9jVW5zdXBwb3J0ZWQiLCJwcHQiLCJsZWdhY3lQcHRVbnN1cHBvcnRlZCIsInNsaWRlTGFiZWwiLCJlbXB0eVNsaWRlIiwiZGVsZXRlUXVlc3Rpb25Nb2RhbCIsImZpcnN0UGFydCIsInNlY29uZFBhcnQiLCJkZWxldGVTa2lsbE1vZGFsIiwiZWRpdFF1ZXN0aW9uTW9kYWwiLCJuZXdOYW1lIiwibWF4TGVuZ3RoIiwibW9kYWxGaWxlRXhjZWVkcyIsImxpbWl0RmlsZXNUaXRsZSIsImxpbWl0U2l6ZVRpdGxlIiwibGltaXRGaWxlc0Rlc2NyaXB0aW9uIiwibGltaXRTaXplRGVzY3JpcHRpb24iLCJhY2NlcHQiLCJsaW1pdCIsInNvdXJjZXNJbmZvcm1hdGlvbk1vZGFsIiwiYWdlbnRzIiwibmV3QWdlbnQiLCJjcmVhdGVBZ2VudCIsImVkaXQiLCJhZGRGYXZvcml0ZSIsInJlbW92ZUZhdm9yaXRlIiwiZmF2b3JpdGVUb2dnbGVkQWRkZWRTdWNjZXNzIiwiZmF2b3JpdGVUb2dnbGVkUmVtb3ZlZFN1Y2Nlc3MiLCJmYXZvcml0ZVRvZ2dsZWRFcnJvciIsImZhdm9yaXRlVG9nZ2xlZFJlbW92ZWRFcnJvciIsIm1haWFJbnRyb2R1Y3Rpb24iLCJjb252ZXJzYXRpb25zIiwiYWdlbnRzU2VjdGlvblRpdGxlIiwibWFpYWtlck5hdiIsIm15QWdlbnRzTmF2IiwibXlTa2lsbHNOYXYiLCJlbXB0eUxhYmVsIiwidW5yZWFkTGFiZWwiLCJtaW5pbWl6ZWRPcGVuIiwibWluaW1pemVkU2VlQW5zd2VyIiwic2Vzc2lvbkZpbmlzaGVkIiwic2Vzc2lvbkZpbmlzaGVkQXBwcm92YWwiLCJzZXNzaW9uRmluaXNoZWRFcnJvciIsIm1hcmtldHBsYWNlIiwiYmFjayIsIm15QWdlbnRzVGl0bGUiLCJteUFnZW50c1JlYWR5VGl0bGUiLCJteUFnZW50c0Rlc2NyaXB0aW9uIiwibXlBZ2VudHNFbXB0eVN0YXRlVGl0bGUiLCJteUFnZW50c0VtcHR5U3RhdGVEZXNjcmlwdGlvbiIsIm15QWdlbnRzRW1wdHlTdGF0ZURlc2NyaXB0aW9uTm9QZXJtIiwibXlBZ2VudHNFbXB0eVN0YXRlQnV0dG9uIiwibXlBZ2VudHNGYWxsYmFja0ludHJvIiwibXlBZ2VudHNGYWxsYmFja0Rlc2NyaXB0aW9uIiwibXlBZ2VudHNGYWxsYmFja0RhdGUiLCJteUFnZW50c1RvZGF5IiwibXlBZ2VudHNPbmVEYXlBZ28iLCJteUFnZW50c0RheXNBZ28iLCJjYXJkTWVudUFyaWFMYWJlbCIsInVzZSIsInNlYXJjaEFnZW50UGxhY2Vob2xkZXIiLCJzZWFyY2hNaW5MZW5ndGgiLCJzZWFyY2hOb1Jlc3VsdHMiLCJzZWFyY2hOb1Jlc3VsdHNTdWJ0aXRsZSIsInVzZVRlbXBsYXRlIiwidXNlTXlBZ2VudCIsImJhZGdlcyIsImJyYW5kaW5nIiwibGlua2VkaW4iLCJtYXJrZXRpbmciLCJteVNraWxscyIsImNyZWF0ZVNraWxsIiwicHJldmlldyIsInByZXZpZXdFbXB0eSIsInVwbG9hZE1kIiwidXBsb2FkRXJyb3IiLCJjcmVhdGVXaXRoTWFpYSIsIndyaXRlSW5zdHJ1Y3Rpb25zIiwidXBsb2FkU2tpbGwiLCJnZW5lcmF0ZVBsYWNlaG9sZGVyIiwiZ2VuZXJhdGVXaXRoTWFpYSIsImdlbmVyYXRlTmVlZHNOYW1lIiwiZ2VuZXJhdGVTdWNjZXNzIiwiZ2VuZXJhdGVFcnJvciIsImNyZWF0ZVRpdGxlIiwiZWRpdFRpdGxlIiwibmFtZUxhYmVsIiwibmFtZVBsYWNlaG9sZGVyIiwiY29udGVudExhYmVsIiwiY29udGVudFBsYWNlaG9sZGVyIiwiZW1wdHlTdGF0ZVRpdGxlIiwiZW1wdHlTdGF0ZURlc2NyaXB0aW9uIiwiZW1wdHlTdGF0ZURlc2NyaXB0aW9uTm9QZXJtIiwiZW1wdHlTdGF0ZUJ1dHRvbiIsImNyZWF0ZVN1Y2Nlc3MiLCJjcmVhdGVFcnJvciIsInVwZGF0ZVN1Y2Nlc3MiLCJ1cGRhdGVFcnJvciIsImRlbGV0ZVN1Y2Nlc3MiLCJkZWxldGVFcnJvciIsInNuYWNrYmFyIiwiZGVsZXRlQ2hhdCIsInN1Y2Nlc3MiLCJyZW5hbWVkQ2hhdCIsImxvYWRNb3JlQWdlbnRzIiwiYXBwcm92YWxCb3giLCJ1bnRpdGxlZEFnZW50IiwiYWN0aW9ucyIsImNyZWF0ZV90YXNrIiwiY3JlYXRlX3Rhc2tzX2JhdGNoIiwiY3JlYXRlX2FnZW50IiwiZWRpdF9hZ2VudCIsImVkaXRfcHJvamVjdCIsImVkaXRfdGFzayIsImVkaXRfdGFza3NfYmF0Y2giLCJkZWxldGVfdGFzayIsImRlbGV0ZV90YXNrc19iYXRjaCIsInRhc2tfYXNzaWduIiwidGFza191bmFzc2lnbiIsImFzc2lnbl90YXNrX2xhYmVsIiwiY3JlYXRlX2xhYmVscyIsInVwZGF0ZV90YXNrX3R5cGUiLCJ1cGRhdGVfZXN0aW1hdGVkX2hvdXJzIiwidXBkYXRlX2RlbGl2ZXJhYmxlIiwiY3JlYXRlX2hvdXIiLCJjcmVhdGVfY2hlY2tsaXN0IiwiY3JlYXRlX2NoZWNrbGlzdF9pdGVtIiwiY2xvbmVfdGFzayIsImdldF90YXNrX2RhdGVfaG91cnMiLCJjb25maWd1cmVfYWdlbnRfYWNjZXNzIiwic2VuZF90YXNrX21lc3NhZ2UiLCJkZWxldGVfY2hlY2tsaXN0X2l0ZW0iLCJyZW1vdmVfdGFza190eXBlIiwicmVtb3ZlX3Rhc2tfbGFiZWwiLCJjb3VudF9kZWxpdmVyYWJsZSIsImNyZWF0ZV9yZXdvcmsiLCJ1cGRhdGVfcmV3b3JrIiwiZGVsZXRlX2FnZW50Iiwic3BlY2lhbCIsImNyZWF0ZVJld29yayIsInVwZGF0ZURlbGl2ZXJhYmxlQ2hpbGRyZW4iLCJmaWVsZHMiLCJuYW1lIiwiZW1vamkiLCJpbnRyb2R1Y3Rpb24iLCJpbnB1dF9wbGFjZWhvbGRlciIsInVzZXJfcHJvbXB0IiwibGFuZ3VhZ2UiLCJwcm92aWRlciIsIm1vZGVsX25hbWUiLCJhcGlfa2V5IiwiYXBwcm92ZSIsImRlbnkiLCJtYW51YWxBcHByb3ZhbFdhcm5pbmciLCJzdGF0dXMiLCJhcHByb3ZlZCIsImRlbmllZCIsImNoaXBMbG0iLCJjbGllbnRTZWxlY3RvciIsImFibUFnZW50IiwibGVnZW5kRGVsZXRlZEFnZW50IiwibGVnZW5kUHJvamVjdERlbGV0ZWQiLCJsZWdlbmROb0FjY2VzcyIsImxlZ2VuZE5vUGVybWlzc2lvbnMiLCJsZWdlbmRMZWdhY3lDb250ZXh0U2Vzc2lvbiIsImNvbnRpbnVlSW5OZXdDaGF0IiwibGVnZW5kTW9kZWxEZXByZWNhdGVkIiwibGVnZW5kUHJvdmlkZXJTdGF0dXMiLCJjaGFuZ2VNb2RlbCIsImxheW91dE1lbnVUb29sdGlwIiwibGF5b3V0U2lkZWJhciIsImxheW91dEZ1bGxzY3JlZW4iLCJsYXlvdXRGbG9hdGluZyIsImFkZEFnZW50IiwiZWRpdEFnZW50IiwiZGVsZXRlQWdlbnQiLCJzZW5kRmVlZGJhY2siLCJzYXZlQ2hhbmdlcyIsImNyZWF0ZUFnZW50TGFiZWxCdXR0b24iLCJjb25maXJtQWdlbnRDcmVhdGVkIiwiY29uZmlybUFnZW50VXBkYXRlZFdpdGhGaWxlc0Vycm9yIiwiY29uZmlybUFnZW50V2l0aEZpbGVzRXJyb3IiLCJjb25maXJtQWdlbnREZWxldGVkIiwiY29uZmlybUFnZW50VXBkYXRlZCIsImNvbmZpcm1DbG9zZUNyZWF0ZUFnZW50IiwiY29uZmlybUNsb3NlRWRpdEFnZW50IiwiY29uZmlybVJlbG9hZEJyb3dzZXIiLCJlcnJvckFnZW50Q3JlYXRlZCIsImF0dGFjaG1lbnRDYXJkIiwiZG93bmxvYWQiLCJnZW5lcmFsU2VjdGlvbiIsImdlbmVyYWxTZXR0aW5ncyIsInJlcXVpcmVkRmllbGRzTGFiZWwiLCJpbmZvTGFiZWwiLCJvcHRpb25hbExhYmVsIiwiYmFzaWNTZXR0aW5ncyIsInNlbGVjdEVtb2ppIiwiYmVoYXZpb3JTZXR0aW5ncyIsImluaXRpYWxQcm9tcHQiLCJpbml0aWFsUHJvbXB0UGxhY2Vob2xkZXIiLCJtb2RlbEFpTGFiZWwiLCJub01vZGVsc0F2YWlsYWJsZSIsImlucHV0UGxhY2Vob2xkZXJUaXRsZSIsImlucHV0UGxhY2Vob2xkZXIiLCJpbnRyb2R1Y3Rpb25QbGFjZWhvbGRlciIsIm1heENhcmFjdGVyTmFtZSIsIm1heENhcmFjdGVySW5pdGlhbFByb21wdCIsIm1heElucHV0UGxhY2Vob2xkZXIiLCJtYXhDYXJhY3RlckludHJvZHVjdGlvbiIsImhvd1RvV3JpdGVQcm9tcHQiLCJ3aGF0SXNNb2RlbEFpVGl0bGUiLCJ3aGF0SXNNb2RlbEFpIiwia25vd2xlZGdlU2VjdGlvbiIsImtub3dsZWRnZVRhYiIsInNlbGVjdEZpbGVUaXRsZSIsImF0dGFjaEZpbGVzIiwiZHJvcFpvbmVUZXh0IiwiaW5mb0ZpbGVUeXBlcyIsIm1heEZpbGVzVGl0bGUiLCJtYXhGaWxlc0Rlc2NyaXB0aW9uIiwibWF4U2l6ZVRpdGxlIiwibWF4U2l6ZURlc2NyaXB0aW9uIiwiaW52YWxpZEV4dGVuc2lvbkRlc2NyaXB0aW9uIiwibW9yZUluZm8iLCJhY2Nlc3NpYmlsaXR5U2VjdGlvbiIsInRpdGxlVGFiIiwidGl0bGVTZWN0aW9uIiwic3VidGl0bGVTZWN0aW9uIiwiY29yUGVybWlzc2lvbnNUaXRsZSIsImNvclBlcm1pc3Npb25zU3VidGl0bGUiLCJ0YXNrQWNjZXNzVGl0bGUiLCJ0YXNrQWNjZXNzRGVzY3JpcHRpb24iLCJ2aXNpYmlsaXR5VGl0bGUiLCJ3aG9DYW5BY2Nlc3MiLCJhbGxDb21wYW55VGl0bGUiLCJhbGxDb21wYW55RGVzY3JpcHRpb24iLCJjbGllbnRUaXRsZSIsImNsaWVudERlc2NyaXB0aW9uIiwib3duVGl0bGUiLCJvd25EZXNjcmlwdGlvbiIsImNsaWVudHNTZWxlY3RlZCIsInNlYXJjaEVycm9yIiwic2VhcmNoRW1wdHkiLCJzZWFyY2hJbml0aWFsIiwiY2xpZW50SW5hY3RpdmUiLCJjbGllbnREZWxldGVkVG9vbHRpcCIsImNsaWVudERlbGV0ZWQiLCJjbGllbnRzRXJyb3IiLCJwcm9jZXNzaW5nS25vd2xlZGdlIiwiZGVzY3JpcHRpb25DcmVhdGUiLCJkZXNjcmlwdGlvblVwZGF0ZSIsImZpbGVSb3ciLCJzdGF0dXNSb3ciLCJwZW5kaW5nIiwiZmFpbGVkIiwiZG9uZSIsImxvYWRpbmdGaWxlcyIsImRlbGV0ZUFnZW50TW9kYWwiLCJwcm9qZWN0U2VsZWN0b3IiLCJsYWJlbFByb2plY3QiLCJyZWNlbnRQcm9qZWN0cyIsInNlYXJjaGluZ1Byb2plY3RzIiwiZXJyb3JNZXNzYWdlIiwiZW1wdHlSZWNlbnRQcm9qZWN0cyIsImVtcHR5U3RhdGUiLCJ3aXRob3V0Q2xpZW50Iiwid2l0aG91dFRpdGxlIiwibGFiZWxDbGllbnQiLCJjaGFuZ2VDbGllbnQiLCJyZWNlbnRDbGllbnRzIiwic2VhcmNoaW5nQ2xpZW50cyIsImVtcHR5UmVjZW50Q2xpZW50cyJdLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9sYW5nL2JyL2luZGV4LmpzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFNFQ1RJT05TIH0gZnJvbSAnLi4vLi4vY29uc3RhbnRzL2NvbmZpZydcbmltcG9ydCB7IFByb2plY3RTdW1tYXJ5Q29uZmlnS2V5cyB9IGZyb20gJy4uLy4uL3R5cGVzL1Byb2plY3RTdW1tYXJ5Q29uZmlnS2V5cydcblxuY29uc3QgZ2xvYmFscyA9IHtcbiAgY2xvc2U6ICdGZWNoYXInLFxuICBtaW5pbWl6ZTogJ01pbmltaXphcicsXG4gIGhvd1dvcmtzOiAnQ29tbyBmdW5jaW9uYT8nLFxuICBicmFuZE5hbWU6ICdNQUlBJyxcbiAgZXhwYW5kOiAnRXhwYW5kaXInLFxuICBjb2xsYXBzZTogJ1JlY29saGVyJyxcbiAgZ29CYWNrOiAnVm9sdGFyIGFvIGluw61jaW8nLFxuICBjb3B5OiAnQ29waWFyJyxcbiAgY29waWVkOiAnQ29waWFkbycsXG4gIHNhdmVkOiAnU2Fsdm8nLFxuICBzZWxlY3RQcm9qZWN0OiAnU2VsZWNpb25hciBwcm9qZXRvJyxcbiAgc2F2ZTogJ1NhbHZhcicsXG4gIGNhbmNlbDogJ0NhbmNlbGFyJyxcbn1cblxuY29uc3QgZXJyb3IgPSB7XG4gIHRpdGxlOiAnT2NvcnJldSB1bSBwcm9ibGVtYScsXG4gIGRlc2NyaXB0aW9uOiAnTm8gbW9tZW50bywgZXN0YW1vcyBlbmZyZW50YW5kbyBhbGd1bnMgcHJvYmxlbWFzLCBwb3IgZmF2b3IsIHRlbnRlIG5vdmFtZW50ZSBlbSBhbGd1bnMgbWludXRvcy4nLFxuICB0cnlBZ2FpbjogJ1RlbnRhciBub3ZhbWVudGUnLFxufVxuXG5jb25zdCBnZW5lcmljU2VjdGlvbiA9IHtcbiAgZXJyb3IsXG4gIGdsb2JhbHMsXG59XG5cbmNvbnN0IHByb2plY3RTdW1tYXJ5U2VjdGlvbiA9IHtcbiAgcmVzdW1lOiAnUmVzdW1pcicsXG4gIGhlbGxvOiAnT2zDoSwge3tuYW1lfX0hJyxcbiAgd2VsY29tZTogJ1NvdSBhIE1BSUEsIHN1YSBhc3Npc3RlbnRlIG5hIENPUicsXG5cbiAgZmVlZGJhY2s6IHtcbiAgICB0aHVtYnNVcDogJ0ZvaSDDunRpbCBwYXJhIG1pbScsXG4gICAgdGh1bWJzRG93bjogJ07Do28gZm9pIMO6dGlsIHBhcmEgbWltJyxcbiAgICBzb3VyY2VzOiAnRnVlbnRlcycsXG4gIH0sXG5cbiAgY29uZmlnOiB7XG4gICAgcHJvamVjdFN1bW1hcnk6ICdSZXN1bWlyIHByb2pldG8nLFxuICAgIHByb2plY3RTdW1tYXJ5VGl0bGU6ICdSZXN1bW8gZGUgcHJvamV0b3MnLFxuICAgIGdvQmFjazogJ1ZvbHRhciBhbyBpbsOtY2lvJyxcbiAgICBzZWxlY3RlZFByb2plY3Q6ICdQcm9qZXRvIHNlbGVjaW9uYWRvJyxcbiAgICBzZWxlY3RQcm9qZWN0OiAnU2VsZWNpb25hciBwcm9qZXRvJyxcbiAgICBjb25maWd1cmVSZXN1bWU6ICdDb25maWd1cmHDp8O1ZXMgYXZhbsOnYWRhcycsXG4gICAgZ2VuZXJhdGluZ1Jlc3VtZTogJ0dlcmFuZG8gcmVzdW1vJyxcbiAgICBnZW5lcmF0ZVJlc3VtZTogJ0dlcmFyJyxcbiAgICBoaWRlQ29uZmlnOiAnT2N1bHRhciBjb25maWd1cmHDp8O1ZXMnLFxuICB9LFxuXG4gIGNvbmZpZ3VyZVNldHRpbmdzOiB7XG4gICAgW1Byb2plY3RTdW1tYXJ5Q29uZmlnS2V5cy5HRU5FUkFMX1NUQVRVU106ICdEYXRhcyBlIHByYXpvcycsXG4gICAgW1Byb2plY3RTdW1tYXJ5Q29uZmlnS2V5cy5JTkNPTUVfQ09TVFNdOiAnUmVudGFiaWxpZGFkZScsXG4gICAgW1Byb2plY3RTdW1tYXJ5Q29uZmlnS2V5cy5USU1FX0hPVVJTXTogJ0VzdGltYXRpdmEgZGUgaG9yYXMgZSB1c28nLFxuICAgIFtQcm9qZWN0U3VtbWFyeUNvbmZpZ0tleXMuVEFTS1NfUFJPR1JFU1NdOiAnVGFyZWZhcyBlIGF2YW7Dp29zJyxcbiAgICBbUHJvamVjdFN1bW1hcnlDb25maWdLZXlzLlJFV09SS1NdOiAnUmV0cmFiYWxobycsXG4gIH0sXG59XG5cbmNvbnN0IGhvbWVNZW51ID0ge1xuICBwcm9qZWN0U3VtbWFyeToge1xuICAgIHRpdGxlOiAnUmVzdW1vIGRvIHByb2pldG8nLFxuICAgIGRlc2NyaXB0aW9uOiAnRWxhYm9yZSByZWxhdMOzcmlvcyBjb20gSUEgY29tIGJhc2Ugbm8gc2V1IHByb2pldG8nLFxuICB9LFxuICBmYXE6IHtcbiAgICB0aXRsZTogJ1Blcmd1bnRhcyBGcmVxdWVudGVzJyxcbiAgICBzdGFydFRpdGxlOiAnVm9jw6ogcG9kZSBjb21lw6dhciBwb3IuLi4nLFxuICAgIGVtcHR5OiAnTsOjbyBow6EgcGVyZ3VudGFzIGZyZXF1ZW50ZXMnLFxuICAgIGVycm9yOlxuICAgICAgJ09wcyEgVGl2ZW1vcyB1bSBwcm9ibGVtYSBhbyBjYXJyZWdhciBhcyBwZXJndW50YXMgZnJlcXVlbnRlcy4gUG9yIGZhdm9yLCB0ZW50ZSBub3ZhbWVudGUgZW0gYWxndW5zIG1pbnV0b3MuJyxcbiAgICBjYXRlZ29yaWVzOiB7XG4gICAgICBwcm9qZWN0czogJ1Byb2pldG8nLFxuICAgICAgdGFza3M6ICdUYXJlZmFzJyxcbiAgICAgIGhvdXJzOiAnSG9yYXMnLFxuICAgICAgcmV3b3JrczogJ1JldHJhYmFsaG9zJyxcbiAgICAgIHVuZGVmaW5lZDogJ1NlbSBjYXRlZ29yaWEnLFxuICAgIH0sXG4gIH0sXG4gIGZ1YToge1xuICAgIHRpdGxlOiAnQcOnw7VlcyBmcmVxdWVudGVzJyxcbiAgICBuZXdCYWRnZTogJ05vdm8nLFxuICAgIGVycm9yOiAnT3BzISBUaXZlbW9zIHVtIHByb2JsZW1hIGFvIGNhcnJlZ2FyIGFzIGHDp8O1ZXMgZnJlcXVlbnRlcy4gUG9yIGZhdm9yLCB0ZW50ZSBub3ZhbWVudGUgZW0gYWxndW5zIG1pbnV0b3MuJyxcbiAgfSxcbiAgcmVjZW50Q29udGV4dHM6IHtcbiAgICB0aXRsZTogJ0VzY29saGEgdW0gY29udGV4dG8gcmVjZW50ZSBwYXJhIHVtYSByZXNwb3N0YSBtYWlzIHByZWNpc2E6JyxcbiAgICB0eXBlczoge1xuICAgICAgY2xpZW50OiAnQ2xpZW50ZScsXG4gICAgICBwcm9qZWN0OiAnUHJvamV0bycsXG4gICAgICB0YXNrOiAnVGFyZWZhJyxcbiAgICB9LFxuICB9LFxuICBjb250ZXh0SG9tZToge1xuICAgIGdyZWV0aW5nOiAnT2zDoSwge3tuYW1lfX0g8J+RiycsXG4gICAgc3VidGl0bGU6ICdTb3UgTUFJQSwgc3VhIGFzc2lzdGVudGUgZW0gdGFyZWZhcywgcHJvamV0b3MgZSBjbGllbnRlcy5cXG5TZWd1aW1vcyBjb20gYWxnbyByZWNlbnRlPycsXG4gICAgc3VidGl0bGVDb2xsYWJvcmF0b3I6ICdTb3UgTUFJQSwgc3VhIGFzc2lzdGVudGUgZW0gdGFyZWZhcy4gU2VndWltb3MgY29tIGFsZ28gcmVjZW50ZT8nLFxuICAgIHN1YnRpdGxlQ29sbGFib3JhdG9yV2l0aEhvdXJzOiAnUmVnaXN0cmUgc3VhcyBob3JhcyBvdSBjb21lY2UgdW0gY2hhdCBzb2JyZSB1bWEgdGFyZWZhLicsXG4gICAgc3VidGl0bGVNYW5hZ2VyV2l0aEhvdXJzOiAnUG9yIG9uZGUgdm9jw6ogcXVlciBjb21lw6dhcj8nLFxuICAgIGhvdXJzU2VjdGlvbjoge1xuICAgICAgdGl0bGU6ICdSZWdpc3RyYXIgaG9yYXMnLFxuICAgIH0sXG4gICAgcmVjZW50VGFza3NTZWN0aW9uOiB7XG4gICAgICB0aXRsZTogJ0NvbnN1bHRhciBzb2JyZSB1bWEgdGFyZWZhJyxcbiAgICAgIHN1YnRpdGxlOiAnRXNjb2xoYSB1bWEgdGFyZWZhIHJlY2VudGUgcGFyYSB1c2FyIGNvbW8gY29udGV4dG8uJyxcbiAgICB9LFxuICAgIHJlY2VudENvbnRleHRzU2VjdGlvbk1hbmFnZXI6IHtcbiAgICAgIHRpdGxlOiAnT3UgcmV0b21lIGFsZ28gcmVjZW50ZScsXG4gICAgICBzdWJ0aXRsZTogJ0VzY29saGEgdW1hIHRhcmVmYSwgcHJvamV0byBvdSBjbGllbnRlIHBhcmEgdXNhciBjb21vIGNvbnRleHRvJyxcbiAgICB9LFxuICAgIGNvbnRleHRHcmVldGluZzoge1xuICAgICAgcHJvamVjdDogJ08gcXVlIHZvY8OqIHF1ZXIgcXVlIGFuYWxpc2Vtb3M/IEhvcmFzLCBlc3RpbWF0aXZhcywgcmV0cmFiYWxob3M/IFZvY8OqIGVzY29saGUhJyxcbiAgICAgIHRhc2s6ICdFc3RvdSBhcXVpIHBhcmEgYWp1ZMOhLWxvIGNvbSBlc3RhIHRhcmVmYS4gVXNlIHVtYSBkYXMgZnVuw6fDtWVzIHBhcmEgY29tZcOnYXIuJyxcbiAgICAgIGNsaWVudDogJ08gcXVlIHZvY8OqIHF1ZXIgcXVlIGFuYWxpc2Vtb3M/IFJlbnRhYmlsaWRhZGUsIGF2YW7Dp29zLCBkZWFkbGluZXM/IFZvY8OqIGVzY29saGUhJyxcbiAgICB9LFxuICB9LFxuICBwbGFubmVySG9tZToge1xuICAgIHRpdGxlOiAnVmFtb3MgY29tZcOnYXIgYSByZWdpc3RyYXIgc3VhcyBob3JhcycsXG4gICAgc3VidGl0bGU6ICdQb3Igb25kZSBjb21lw6dhbW9zPycsXG4gIH0sXG4gIGFjdGlvbjoge1xuICAgIGNhdGVnb3JpZXM6IHtcbiAgICAgIHRhc2tzOiAnQcOnw7VlcyBzb2JyZSB0YXJlZmFzJyxcbiAgICAgIGNvbGxhYm9yYXRvcnM6ICdDb2xhYm9yYWRvcmVzIGUgcmVzcG9uc8OhdmVpcycsXG4gICAgICBsYWJlbHM6ICdFdGlxdWV0YXMgZSB0aXBvcycsXG4gICAgICBjaGVja2xpc3RzOiAnQ2hlY2tsaXN0cycsXG4gICAgICBkZWxpdmVyYWJsZXM6ICdFbnRyZWfDoXZlaXMnLFxuICAgICAgcmV3b3JrczogJ1JldHJhYmFsaG9zJyxcbiAgICAgIGhvdXJzOiAnTGFuw6dhbWVudG8gZGUgaG9yYXMnLFxuICAgIH0sXG4gIH0sXG4gIGNyZWF0ZWRCeTogJ3BvcicsXG4gIGNyZWF0ZWRCeVRvb2x0aXA6ICdVc3XDoXJpbyBjcmlhZG9yIGRvIGFnZW50ZScsXG4gIGNyZWF0ZWRCeVRvb2x0aXBEZWxldGVkOiAnVXN1w6FyaW8gZXhjbHXDrWRvLiBTZXUgbm9tZSDDqSBtYW50aWRvIHBhcmEgcmVmZXLDqm5jaWEuJyxcbiAgdGFza0dyZWV0aW5nOiAnRXN0b3UgYXF1aSBwYXJhIGFqdWTDoS1sbyBjb20gZXN0YSB0YXJlZmEuIFVzZSB1bWEgZGFzIGZ1bsOnw7VlcyBwYXJhIGNvbWXDp2FyLicsXG4gIGhlbGxvOiB7XG4gICAgdGl0bGU6ICdQcm9udG8hIErDoSBlc3RvdSB1c2FuZG8gbyBwcm9qZXRvJyxcbiAgICB0aXRsZV8xOiAnQW50ZWNpcGUgZGVzdmlvcy4gVmFtb3MgYW5hbGlzYXIgZXN0ZSBwcm9qZXRvLicsXG4gICAgdGl0bGVfMjogJ08gcXVlIHZvY8OqIHF1ZXIgcXVlIGFuYWxpc2Vtb3M/IEhvcmFzLCBlc3RpbWF0aXZhcywgcmV0cmFiYWxob3M/IFZvY8OqIGVzY29saGUhJyxcbiAgICB0aXRsZV8zOiAnVmFtb3MgcmV2aXNhciBvIGFuZGFtZW50byBkZXN0ZSBwcm9qZXRvLicsXG4gICAgc3VidGl0bGU6ICdQYXJhIGNvbWXDp2FyLCBwb3NzbyB0ZSBhanVkYXIgY29tIGVzc2FzIG9ww6fDtWVzLiBPdSwgc2UgcHJlZmVyaXIsIGVzY3JldmEgZGlyZXRhbWVudGUgc3VhIHBlcmd1bnRhIScsXG4gICAgdGl0bGVQbTogJ09sw6EsIHt7bmFtZX19ISBTb3Uge3thZ2VudH19LCBzdWEgYXNzaXN0ZW50ZScsXG4gICAgc3VidGl0bGVQbTogJ1BhcmEgdGUgZGFyIHJlc3Bvc3RhcyBwcmVjaXNhcywgcHJlY2lzbyBzYWJlciBzb2JyZSBxdWFsIHByb2pldG8gdmFtb3MgY29udmVyc2FyLiBRdWFsIHZvY8OqIGVzY29saGU/JyxcbiAgfSxcbiAgbWFpYWtlcjoge1xuICAgIHRpdGxlOiAnVHJhbnNmb3JtZSBwcm9jZXNzb3MgcmVwZXRpdGl2b3MgZW0gYWdlbnRlcyBpbnRlbGlnZW50ZXMnLFxuICAgIGRlc2NyaXB0aW9uOiAnQ3JpZSBhZ2VudGVzIHF1ZSBhbmFsaXNlbSBlIGdlcmVtIGNvbnRlw7pkbyBkZSBhY29yZG8gY29tIGFzIHN1YXMgbmVjZXNzaWRhZGVzLicsXG4gICAgY3JlYXRlTWFudWFsQWdlbnQ6ICdDcmlhciBhZ2VudGUgbWFudWFsbWVudGUnLFxuICAgIGJhZGdlTmV3OiAnTm92bycsXG4gICAgYnJpZWZDYXJkOiB7XG4gICAgICB0aXRsZTogJ0FnZW50ZSBlc3BlY2lhbGlzdGEgZW0gYnJpZWYnLFxuICAgICAgZGVzY3JpcHRpb246ICdDcmllIGUgbWVsaG9yZSBicmllZnMgcGFyYSBxdWUgZXN0ZWphbSBwcm9udG9zIHBhcmEgdXNhciBlbSB0YXJlZmFzLicsXG4gICAgICBwcm9tcHQ6ICdRdWVybyBjcmlhciB1bSBhZ2VudGUgZXNwZWNpYWxpc3RhIGVtIGJyaWVmLicsXG4gICAgfSxcbiAgICBjb21pbmdTb29uQ2FyZDoge1xuICAgICAgdGl0bGU6ICdFbSBicmV2ZSwgbWFpcyBub3ZpZGFkZXMnLFxuICAgICAgZGVzY3JpcHRpb246ICdFc3RhbW9zIHRyYWJhbGhhbmRvIHBhcmEgb2ZlcmVjZXIgbWFpcyBhZ2VudGVzJyxcbiAgICB9LFxuICB9LFxufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIFtTRUNUSU9OUy5wcm9qZWN0U3VtbWFyeV06IHtcbiAgICAuLi5nZW5lcmljU2VjdGlvbixcbiAgICAuLi5wcm9qZWN0U3VtbWFyeVNlY3Rpb24sXG4gIH0sXG4gIFtTRUNUSU9OUy5jaGF0QUldOiB7XG4gICAgLi4uZ2VuZXJpY1NlY3Rpb24sXG4gICAgLi4ucHJvamVjdFN1bW1hcnlTZWN0aW9uLFxuICAgIGhvbWVNZW51LFxuXG4gICAgY29udGV4dE1lbnRpb246IHtcbiAgICAgIGtleWJvYXJkSGludDogJ05hdmVnYcOnw6NvIGVudHJlIGFiYXM6IEAsIEBA4oCmIGVtIG9yZGVtLiBUYW1iw6ltIEFsdC9DbWQgKyDihpAv4oaSJyxcbiAgICAgIHJlY2VudHNUaXRsZTogJ1JlY2VudGVzJyxcbiAgICAgIHVzZXJOb1Bvc2l0aW9uOiAnU2VtIGNhcmdvJyxcbiAgICAgIG1lOiAnWW8nLFxuICAgICAgdGFiczoge1xuICAgICAgICBjbGllbnQ6ICdDbGllbnRlJyxcbiAgICAgICAgcHJvamVjdDogJ1Byb2pldG8nLFxuICAgICAgICB0YXNrOiAnVGFyZWZhJyxcbiAgICAgICAgdXNlcjogJ1VzdcOhcmlvJyxcbiAgICAgICAgbWNwOiAnQ29uZWN0b3JlcycsXG4gICAgICAgIHNraWxsOiAnSGFiaWxpZGFkZXMnLFxuICAgICAgfSxcbiAgICAgIGxvYWRpbmc6ICdCdXNjYW5kby4uLicsXG4gICAgICBlcnJvcjogJ1RpdmVtb3MgdW0gcHJvYmxlbWEuIFRlbnRlIG5vdmFtZW50ZS4nLFxuICAgICAgc2tpbGxRdWVyeVRvb1Nob3J0OiAnRGlnaXRlIHBlbG8gbWVub3MgMyBjYXJhY3RlcmVzIHBhcmEgYnVzY2FyJyxcbiAgICAgIGVtcHR5OiB7XG4gICAgICAgIHJlY2VudHM6ICdDb21lY2UgYSBkaWdpdGFyIHBhcmEgYnVzY2FyJyxcbiAgICAgICAgd2l0aFF1ZXJ5OiAnU2VtIHJlc3VsdGFkb3MgcGFyYSBcInt7cXVlcnl9fVwiJyxcbiAgICAgICAgc2tpbGxOb0l0ZW1zOiAnTmVuaHVtYSBoYWJpbGlkYWRlIGFpbmRhJyxcbiAgICAgICAgc2tpbGxXaXRoUXVlcnk6ICdOZW5odW1hIGhhYmlsaWRhZGUgY29ycmVzcG9uZGVudGUgYSBcInt7cXVlcnl9fVwiJyxcbiAgICAgIH0sXG4gICAgICBjb3VudGVyczoge1xuICAgICAgICBwcm9qZWN0czogJ3Byb2pldG9zJyxcbiAgICAgICAgdGFza3M6ICd0YXJlZmFzJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBjb250ZXh0UGluOiB7XG4gICAgICBhZGRDb250ZXh0OiAnQ29udGV4dG8gZ2xvYmFsJyxcbiAgICAgIHNlYXJjaFBsYWNlaG9sZGVyOiAnQnVzY2FyIGNvbnRleHRv4oCmJyxcbiAgICAgIHJlbW92ZTogJ1JlbW92ZXIgY29udGV4dG8nLFxuICAgIH0sXG4gICAgYnV0dG9uOiAnSUEnLFxuICAgIHRpdGxlOiAnT2zDoSwge3tuYW1lfX0hJyxcbiAgICBuZXdDaGF0OiAnTm92byBjaGF0JyxcbiAgICBkZXNjcmlwdGlvbjogJ1NvdSBhIE1BSUEsIHN1YSBhc3Npc3RlbnRlLCBlIGVzdG91IGFxdWkgcGFyYSB0ZSBhanVkYXIgY29tIGFzIHN1YXMgZMO6dmlkYXMuJyxcbiAgICBvcGVuQWdlbnRDcmVhdG9yOiAnQ3JpYXIgYWdlbnRlJyxcbiAgICBvcGVuTWFya2V0cGxhY2U6ICdNYXJrZXRwbGFjZSBkZSBhZ2VudGVzJyxcbiAgICBoaXN0b3J5OiB7XG4gICAgICB0b29sdGlwOiAnSGlzdMOzcmljbycsXG4gICAgICB0aXRsZTogJ0hpc3TDs3JpY28gdmF6aW8nLFxuICAgICAgZGVzY3JpcHRpb246ICdOZW5odW1hIGNvbnZlcnNhIGVuY29udHJhZGEnLFxuICAgICAgaXRlbToge1xuICAgICAgICBkYXRlOiAnw5psdGltYSBhdHVhbGl6YcOnw6NvIHt7ZGF0ZX19JyxcbiAgICAgIH0sXG4gICAgICBtZW51OiB7XG4gICAgICAgIHJlbmFtZTogJ1Jlbm9tZWFyJyxcbiAgICAgICAgZGVsZXRlOiAnRXhjbHVpcicsXG4gICAgICB9LFxuICAgICAgbG9hZGluZ01vcmU6ICdDYXJyZWdhbmRvIG1haXMgY29udmVyc2FzJyxcbiAgICB9LFxuICAgIG9uYm9hcmRpbmc6IHtcbiAgICAgIG1haWE6ICdNQUlBJyxcbiAgICAgIGFnZW50Q3VzdG9tOiAnQWdlbnRlcyBjdXN0b20nLFxuICAgICAgaG93Q3JlYXRlQWdlbnQ6ICdDb21vIGNyaWFyIHVtIGFnZW50ZT8nLFxuICAgICAgdG9vbHRpcDogJ0NvbW8gZnVuY2lvbmE/JyxcbiAgICAgIGhvd0l0V29ya3M6ICdDb21vIGZ1bmNpb25hPycsXG4gICAgfSxcbiAgICBxYToge1xuICAgICAgdGl0bGU6ICdQZXJndW50YXMgRnJlcXVlbnRlcycsXG4gICAgICBpdGVtczoge1xuICAgICAgICByZW50YWJpbGlkYWRfcHJveWVjdG86ICdRdWFsIMOpIGEgcmVudGFiaWxpZGFkZSBkZXN0ZSBwcm9qZXRvPycsXG4gICAgICAgIGF2YW5jZV9wcm95ZWN0bzogJ1F1YWlzIHPDo28gb3MgYXZhbsOnb3MgZGVzdGUgcHJvamV0bz8nLFxuICAgICAgICB0YXJlYXNfcHJveWVjdG86ICdRdWFpcyBzw6NvIGFzIHByw7N4aW1hcyB0YXJlZmFzIGEgdmVuY2VyPycsXG4gICAgICB9LFxuICAgIH0sXG4gICAgY2hhdDoge1xuICAgICAgZ2VuZXJhdGluZzogJ1BlbnNhbmRvJyxcbiAgICAgIGdlbmVyYXRpbmdBdHRhY2htZW50OiAnQW5hbGlzYW5kbyBhZGp1bnRvJyxcbiAgICAgIGdlbmVyYXRpbmdEZWVwU2VhcmNoOiAnSW5pY2lhbmRvIGEgcGVzcXVpc2EnLFxuICAgICAgZ2VuZXJhdGluZ1dlYlNlYXJjaDogJ1Blc3F1aXNhbmRvIG5hIHdlYicsXG4gICAgICBzdWdnZXN0aW9uc1RpdGxlOiAnUmVzcG9zdGFzIHN1Z2VyaWRhcycsXG4gICAgICBjcmVhdGVBZ2VudEFjdGlvbnNUaXRsZTogJ1Byw7N4aW1vIHBhc3NvJyxcbiAgICAgIGNyZWF0ZUFnZW50QWN0aW9uU3RhcnRDaGF0OiAnSW5pY2lhciBjb252ZXJzYSBjb20gbyBub3ZvIGFnZW50ZScsXG4gICAgICBjcmVhdGVBZ2VudEFjdGlvbktub3dsZWRnZTogJ0VudmlhciBhcnF1aXZvcyBwYXJhIGEgYmFzZSBkZSBjb25oZWNpbWVudG8nLFxuICAgICAgY3JlYXRlQWdlbnRBY3Rpb25Mb2FkRXJyb3I6ICdOw6NvIGZvaSBwb3Nzw612ZWwgY2FycmVnYXIgbyBhZ2VudGUuIFRlbnRlIG5vdmFtZW50ZS4nLFxuICAgICAgd3JpdGluZzogJ0VzY3JldmVuZG8gYSByZXNwb3N0YScsXG4gICAgICBleGVjdXRpbmdBY3Rpb246ICdFeGVjdXRhbmRvIGHDp8OjbycsXG4gICAgICBwcm9jZXNzaW5nOiAnUHJvY2Vzc2FuZG8nLFxuICAgICAgYWN0aXZpdHk6IHtcbiAgICAgICAgZ2VuZXJhdGluZzoge1xuICAgICAgICAgIHByZXBhcmluZzogJ1ByZXBhcmFuZG8gc3VhIHJlc3Bvc3RhJyxcbiAgICAgICAgICBjb25zaWRlcmluZzogJ1JldmlzYW5kbyBzdWEgY29uc3VsdGEnLFxuICAgICAgICAgIGFsbW9zdFJlYWR5OiAnRGVmaW5pbmRvIGEgYWJvcmRhZ2VtJyxcbiAgICAgICAgfSxcbiAgICAgICAgdGhpbmtpbmc6IHtcbiAgICAgICAgICBhbmFseXppbmc6ICdBbmFsaXNhbmRvIHN1YSBjb25zdWx0YScsXG4gICAgICAgICAgcmV2aWV3aW5nOiAnUmV2aXNhbmRvIG8gY29udGV4dG8nLFxuICAgICAgICAgIHBsYW5uaW5nOiAnTW9udGFuZG8gYSByZXNwb3N0YScsXG4gICAgICAgIH0sXG4gICAgICAgIHNlYXJjaDoge1xuICAgICAgICAgIHNjYW5uaW5nOiAnQnVzY2FuZG8gbmEgd2ViJyxcbiAgICAgICAgICBzdW1tYXJpemluZzogJ1JldmlzYW5kbyByZXN1bHRhZG9zJyxcbiAgICAgICAgfSxcbiAgICAgICAgZGVlcFNlYXJjaDoge1xuICAgICAgICAgIGV4cGxvcmluZzogJ0V4cGxvcmFuZG8gZm9udGVzJyxcbiAgICAgICAgICBjcm9zc0NoZWNraW5nOiAnVmVyaWZpY2FuZG8gaW5mb3JtYcOnw7VlcycsXG4gICAgICAgIH0sXG4gICAgICAgIGF0dGFjaG1lbnQ6IHtcbiAgICAgICAgICByZWFkaW5nOiAnTGVuZG8gbyBhbmV4bycsXG4gICAgICAgICAgZXh0cmFjdGluZzogJ0V4dHJhaW5kbyBvIHF1ZSBpbXBvcnRhJyxcbiAgICAgICAgICByZWFkaW5nUGx1cmFsOiAnTGVuZG8gb3MgYW5leG9zJyxcbiAgICAgICAgICBleHRyYWN0aW5nUGx1cmFsOiAnRXh0cmFpbmRvIG8gcXVlIGltcG9ydGEnLFxuICAgICAgICB9LFxuICAgICAgICB3cml0aW5nOiB7XG4gICAgICAgICAgY29tcG9zaW5nOiAnRXNjcmV2ZW5kbyBhIHJlc3Bvc3RhJyxcbiAgICAgICAgfSxcbiAgICAgICAgZHluYW1pY0NvbnRleHRUb29sdGlwOiAnRXN0ZSBjb250ZXh0byBmb2kgZ2VyYWRvIGRpbmFtaWNhbWVudGUgZSBwb2RlIG11ZGFyIGFvIGxvbmdvIGRhIGNvbnZlcnNhLicsXG4gICAgICAgIGNyZWF0aW5nVGFzazogJ0NyaWFuZG8gdGFyZWZhJyxcbiAgICAgICAgY3JlYXRpbmdUYXNrc0JhdGNoOiAnQ3JpYW5kbyB0YXJlZmFzJyxcbiAgICAgICAgY3JlYXRpbmdBZ2VudDogJ0NyaWFuZG8gYWdlbnRlJyxcbiAgICAgICAgZWRpdGluZ0FnZW50OiAnRWRpdGFuZG8gYWdlbnRlJyxcbiAgICAgICAgZWRpdGluZ1Rhc2s6ICdFZGl0YW5kbyB0YXJlZmEnLFxuICAgICAgICBlZGl0aW5nVGFza3NCYXRjaDogJ0VkaXRhbmRvIHRhcmVmYXMnLFxuICAgICAgICBkZWxldGluZ1Rhc2s6ICdFeGNsdWluZG8gdGFyZWZhJyxcbiAgICAgICAgZGVsZXRpbmdUYXNrc0JhdGNoOiAnRXhjbHVpbmRvIHRhcmVmYXMnLFxuICAgICAgICBhc3NpZ25pbmdVc2VyOiAnQXRyaWJ1aW5kbyB1c3XDoXJpbycsXG4gICAgICAgIHVuYXNzaWduaW5nVXNlcjogJ1JlbW92ZW5kbyB1c3XDoXJpbycsXG4gICAgICAgIGFzc2lnbmluZ0xhYmVsOiAnQXRyaWJ1aW5kbyBldGlxdWV0YScsXG4gICAgICAgIHVwZGF0aW5nVGFza1R5cGU6ICdBdHVhbGl6YW5kbyB0aXBvIGRlIHRhcmVmYScsXG4gICAgICAgIHVwZGF0aW5nRXN0aW1hdGVkSG91cnM6ICdBdHVhbGl6YW5kbyBob3JhcyBlc3RpbWFkYXMnLFxuICAgICAgICB1cGRhdGluZ0RlbGl2ZXJhYmxlOiAnQXR1YWxpemFuZG8gZW50cmVnw6F2ZWwnLFxuICAgICAgICBsb2dnaW5nSG91cnM6ICdSZWdpc3RyYW5kbyBob3JhcycsXG4gICAgICAgIGNyZWF0aW5nQ2hlY2tsaXN0OiAnQ3JpYW5kbyBjaGVja2xpc3QnLFxuICAgICAgICBjcmVhdGluZ0xhYmVsOiAnQ3JpYW5kbyBldGlxdWV0YScsXG4gICAgICAgIGVkaXRpbmdQcm9qZWN0OiAnRWRpdGFuZG8gcHJvamV0bycsXG4gICAgICAgIGNyZWF0aW5nQ2hlY2tsaXN0SXRlbTogJ0FkaWNpb25hbmRvIGl0ZW0gYW8gY2hlY2tsaXN0JyxcbiAgICAgICAgcXVlcnlpbmdIb3VyczogJ0NvbnN1bHRhbmRvIGhvcmFzJyxcbiAgICAgICAgY29uZmlndXJpbmdBZ2VudEFjY2VzczogJ0FsdGVyYW5kbyB2aXNpYmlsaWRhZGUgZG8gYWdlbnRlJyxcbiAgICAgICAgc2VuZGluZ1Rhc2tNZXNzYWdlOiAnRW52aWFuZG8gbWVuc2FnZW0gbmEgdGFyZWZhJyxcbiAgICAgICAgZGVsZXRpbmdDaGVja2xpc3RJdGVtOiAnRXhjbHVpbmRvIGl0ZW0gZG8gY2hlY2tsaXN0JyxcbiAgICAgICAgcmVtb3ZpbmdUYXNrVHlwZTogJ1JlbW92ZW5kbyB0aXBvIGRlIHRhcmVmYScsXG4gICAgICAgIHJlbW92aW5nTGFiZWw6ICdSZW1vdmVuZG8gZXRpcXVldGEnLFxuICAgICAgICB1cGRhdGluZ0RlbGl2ZXJhYmxlQ291bnQ6ICdBdHVhbGl6YW5kbyBjb250YWRvciBkZSBlbnRyZWfDoXZlaXMnLFxuICAgICAgICBjcmVhdGluZ1Jld29yazogJ0NyaWFuZG8gcmV0cmFiYWxobycsXG4gICAgICAgIHVwZGF0aW5nUmV3b3JrOiAnQXR1YWxpemFuZG8gcmV0cmFiYWxobycsXG4gICAgICAgIGdlbmVyYXRpbmdGaWxlOiAnR2VyYW5kbyBhcnF1aXZvJyxcbiAgICAgICAgcmVzdW1pbmdBY3Rpb246ICdFeGVjdXRhbmRvIGHDp8OjbyBhcHJvdmFkYScsXG4gICAgICB9LFxuICAgICAgbG9hZGluZ01vcmU6ICdDYXJyZWdhbmRvIG1haXMgbWVuc2FnZW5zJyxcbiAgICAgIGZvb3Rlcjoge1xuICAgICAgICBwbGFjZWhvbGRlcjogJ0VzY3JldmEgc3VhIHBlcmd1bnRhIGFxdWnigKYnLFxuICAgICAgICBvcmNoZXN0cmF0b3JQbGFjZWhvbGRlcjogJ1Blcmd1bnRlIMOgIE1haWEsIEAgcGFyYSBtZW5jaW9uYXIgb3UgLyBwYXJhIGHDp8O1ZXMgcsOhcGlkYXMnLFxuICAgICAgICBhZ2VudExhYmVsOiAnTyBBZ2VudGUnLFxuICAgICAgICBkaXNjbGFpbWVyOiAne3thZ2VudE5hbWV9fSBwb2RlIGNvbWV0ZXIgZXJyb3MuIFZlcmlmaXF1ZSBhcyBpbmZvcm1hw6fDtWVzIGltcG9ydGFudGVzLicsXG4gICAgICAgIGRpc2NsYWltZXJBZ2VudDogJ01vZGVsb3MgZGUgSUEgcG9kZW0gY29tZXRlciBlcnJvcy4gVmVyaWZpcXVlIGFzIGluZm9ybWHDp8O1ZXMgaW1wb3J0YW50ZXMuJyxcbiAgICAgICAgY29yQWNjZXNzTGFiZWw6ICdBY2Vzc28gYW8gQ09SJyxcbiAgICAgICAgY29yQWNjZXNzVG9vbHRpcDogJ0FjZXNzbyBhb3MgZGFkb3MgZG8gQ09SJyxcbiAgICAgIH0sXG4gICAgICBlcnJvcjogJ09jb3JyZXUgdW0gZXJybyBhbyBnZXJhciBzdWEgcmVzcG9zdGEsIHBvciBmYXZvciwgdGVudGUgbm92YW1lbnRlLicsXG4gICAgICByZXRyeTogJ1RlbnRhciBub3ZhbWVudGUnLFxuICAgICAgZXJyb3JBY2Nlc3NEZW5pZWQ6XG4gICAgICAgICdWb2PDqiBuw6NvIHRlbSBhY2Vzc28gcGFyYSBpbnRlcmFnaXIgY29tIGVzdGUgYWdlbnRlLiDDiSBwb3Nzw612ZWwgcXVlIHN1YXMgY29uZmlndXJhw6fDtWVzIGRlIGFjZXNzaWJpbGlkYWRlIHRlbmhhbSBtdWRhZG8uIFBvciBmYXZvciwgY29udGF0ZSBhIHBlc3NvYSBuYSBzdWEgb3JnYW5pemHDp8OjbyBxdWUgZ2VyZW5jaWEgYWdlbnRlcyBwYXJhIG9idGVyIG1haXMgaW5mb3JtYcOnw7Vlcy4nLFxuICAgICAgZXJyb3JQcm9tcHRUb29Mb25nOlxuICAgICAgICAnVm9jw6ogZXhjZWRldSBvIGxpbWl0ZSBkZSBjb250ZXh0byB7e3VzZWR9fSB0b2tlbnMuIFBvciBmYXZvciwgdGVudGUgbm92YW1lbnRlIG91IGNvbnRpbnVlIGVtIG91dHJvIGNoYXQnLFxuICAgICAgY2hhbmdlUHJvamVjdDogJ0RldGVjdGVpIHF1ZSB2b2PDqiBxdWVyIG11ZGFyIGRlIFByb2pldG8uXFxuXFxuKipTZWxlY2lvbmUgbyBwcm9qZXRvIHBhcmEgY29udGludWFyOioqJyxcbiAgICAgIHNlYXJjaFdlYjogJ1Blc3F1aXNhciBuYSB3ZWInLFxuICAgICAgZGVlcFNlYXJjaDogJ0J1c2NhIGF2YW7Dp2FkYSBuYSBpbnRlcm5ldCAoYWNlc3NvIGEgbWFpcyBmb250ZXMpJyxcbiAgICAgIGF0dGFjaEZpbGU6ICdBbmV4YXIgYXJxdWl2bycsXG4gICAgICBwbHVzTWVudUF0dGFjaDogJ0FuZXhhciBhcnF1aXZvcycsXG4gICAgICBkcm9wRmlsZXNIZXJlOiAnU29sdGUgb3MgYXJxdWl2b3MgYXF1aScsXG4gICAgICBwbHVzTWVudURlZXBJbnZlc3RpZ2F0aW9uOiAnSW52ZXN0aWdhciBhIGZ1bmRvJyxcbiAgICAgIHBsdXNNZW51UXVpY2tBY3Rpb25zOiAnQcOnw7VlcyByw6FwaWRhcycsXG4gICAgICBvcGVuUGx1c01lbnVBcmlhOiAnQW5leG9zIGUgb3DDp8O1ZXMgZGUgcGVzcXVpc2EnLFxuICAgICAgb3Blbk1lbnRpb25BcmlhOiAnTWVuY2lvbmFyJyxcbiAgICAgIHJlbW92ZUF0dGFjaG1lbnRBcmlhOiAnUmVtb3ZlciBhcnF1aXZvJyxcbiAgICAgIHJlbW92ZUFjdGl2ZVRvb2xBcmlhOiAnUmVtb3ZlciBtb2RvIGRlIHBlc3F1aXNhJyxcbiAgICAgIHNlbmQ6ICdFbnZpYXInLFxuICAgICAgbGltaXRGaWxlczogJ1ZvY8OqIGV4Y2VkZXUgbyBsaW1pdGUgZGUgYW5leG9zJyxcbiAgICAgIHN0b3A6ICdJbnRlcnJvbXBlciByZXNwb3N0YScsXG4gICAgICBjYW5jZWxsZWQ6ICdBIHBlc3F1aXNhIGZvaSBjYW5jZWxhZGEuJyxcbiAgICAgIHRvb01hbnlBY3RpdmVTZXNzaW9uczogJ0jDoSBtdWl0YXMgY29udmVyc2FzIGdlcmFuZG8gYW8gbWVzbW8gdGVtcG8uIEFndWFyZGUgdW1hIHRlcm1pbmFyIGFudGVzIGRlIGluaWNpYXIgb3V0cmEuJyxcbiAgICAgIGF0dGFjaG1lbnRQcmV2aWV3TW9kYWw6IHtcbiAgICAgICAgbG9hZGluZzogJ0NhcnJlZ2FuZG8uLi4nLFxuICAgICAgICB1bnN1cHBvcnRlZEZpbGVNZXNzYWdlOlxuICAgICAgICAgICdUaXZlbW9zIHVtIHByb2JsZW1hIGFvIGNhcnJlZ2FyIGEgcHLDqS12aXN1YWxpemHDp8Ojby4gUG9yIGZhdm9yLCB0ZW50ZSBub3ZhbWVudGUgZW0gYWxndW5zIG1pbnV0b3MuJyxcbiAgICAgICAgdHlwZUxhYmVsOiAnVGlwbzonLFxuICAgICAgICB1bmtub3duOiAnRGVzY29uaGVjaWRvJyxcbiAgICAgICAgc2l6ZUxhYmVsOiAnVGFtYW5obzonLFxuICAgICAgICBleGNlbDoge1xuICAgICAgICAgIHNoZWV0U2VsZWN0b3JMYWJlbDogJ1BsYW5pbGhhOicsXG4gICAgICAgICAgbG9hZEVycm9yOiAnTsOjbyBmb2kgcG9zc8OtdmVsIGNhcnJlZ2FyIG8gY29udGXDumRvIGRvIGFycXVpdm8gRXhjZWwuJyxcbiAgICAgICAgICBmaWxlUmVhZEVycm9yOiAnRXJybyBhbyBsZXIgbyBhcnF1aXZvLicsXG4gICAgICAgICAgc2hlZXRMb2FkRXJyb3I6ICdFcnJvIGFvIGNhcnJlZ2FyIGEgcGxhbmlsaGEgc2VsZWNpb25hZGEuJyxcbiAgICAgICAgfSxcbiAgICAgICAgd29yZDoge1xuICAgICAgICAgIGxvYWRFcnJvcjogJ07Do28gZm9pIHBvc3PDrXZlbCBjYXJyZWdhciBvIGNvbnRlw7pkbyBkbyBkb2N1bWVudG8gV29yZC4nLFxuICAgICAgICAgIGxlZ2FjeURvY1Vuc3VwcG9ydGVkOiAnQSB2aXN1YWxpemHDp8OjbyBkZSBhcnF1aXZvcyAuZG9jIG7Do28gZXN0w6EgZGlzcG9uw612ZWwuIFVzZSBvIGZvcm1hdG8gLmRvY3guJyxcbiAgICAgICAgfSxcbiAgICAgICAgcHB0OiB7XG4gICAgICAgICAgbG9hZEVycm9yOiAnTsOjbyBmb2kgcG9zc8OtdmVsIGNhcnJlZ2FyIG8gY29udGXDumRvIGRhIGFwcmVzZW50YcOnw6NvLicsXG4gICAgICAgICAgbGVnYWN5UHB0VW5zdXBwb3J0ZWQ6ICdBIHZpc3VhbGl6YcOnw6NvIGRlIGFycXVpdm9zIC5wcHQgbsOjbyBlc3TDoSBkaXNwb27DrXZlbC4gVXNlIG8gZm9ybWF0byAucHB0eC4nLFxuICAgICAgICAgIHNsaWRlTGFiZWw6ICdTbGlkZSB7e251bWJlcn19JyxcbiAgICAgICAgICBlbXB0eVNsaWRlOiAnRXN0ZSBzbGlkZSBuw6NvIHRlbSB0ZXh0byBuZW0gaW1hZ2VucyBwYXJhIHZpc3VhbGl6YXIuJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBkZWxldGVRdWVzdGlvbk1vZGFsOiB7XG4gICAgICB0aXRsZTogJ0Rlc2VqYSBleGNsdWlyIGVzdGEgY29udmVyc2E/JyxcbiAgICAgIGZpcnN0UGFydDogJ1ZvY8OqIGVzdMOhIHByZXN0ZXMgYSBleGNsdWlyJyxcbiAgICAgIHNlY29uZFBhcnQ6ICdFc3RhIGHDp8OjbyDDqSBpcnJldmVyc8OtdmVsLicsXG4gICAgICBjYW5jZWw6ICdDYW5jZWxhcicsXG4gICAgICBkZWxldGU6ICdFeGNsdWlyJyxcbiAgICB9LFxuICAgIGRlbGV0ZVNraWxsTW9kYWw6IHtcbiAgICAgIHRpdGxlOiAnRGVzZWphIGV4Y2x1aXIgZXN0YSBza2lsbD8nLFxuICAgICAgZmlyc3RQYXJ0OiAnVm9jw6ogZXN0w6EgcHJlc3RlcyBhIGV4Y2x1aXInLFxuICAgICAgc2Vjb25kUGFydDogJ0VzdGEgYcOnw6NvIMOpIGlycmV2ZXJzw612ZWwuJyxcbiAgICAgIGNhbmNlbDogJ0NhbmNlbGFyJyxcbiAgICAgIGRlbGV0ZTogJ0V4Y2x1aXInLFxuICAgIH0sXG4gICAgZWRpdFF1ZXN0aW9uTW9kYWw6IHtcbiAgICAgIG5ld05hbWU6ICdOb3ZvIG5vbWUnLFxuICAgICAgdGl0bGU6ICdSZW5vbWVhciBjb252ZXJzYScsXG4gICAgICByZW5hbWU6ICdSZW5vbWVhcicsXG4gICAgICBjYW5jZWw6ICdDYW5jZWxhcicsXG4gICAgICBtYXhMZW5ndGg6ICdWb2PDqiBhdGluZ2l1IG8gbGltaXRlIGRlIDE0MCBjYXJhY3RlcmVzLicsXG4gICAgfSxcbiAgICBtb2RhbEZpbGVFeGNlZWRzOiB7XG4gICAgICBsaW1pdEZpbGVzVGl0bGU6ICdNw6F4LiBBbmV4b3MgZXhjZWRpZG9zLicsXG4gICAgICBsaW1pdFNpemVUaXRsZTogJ1ZvY8OqIGV4Y2VkZXUgbyBsaW1pdGUgZGUgdGFtYW5obyBwZXJtaXRpZG8nLFxuICAgICAgbGltaXRGaWxlc0Rlc2NyaXB0aW9uOlxuICAgICAgICAnVm9jw6ogcG9kZSBhbmV4YXIgbm8gbcOheGltbyA1IGFycXVpdm9zIHBvciBtZW5zYWdlbS4gT3Mgc2VndWludGVzIGFycXVpdm9zIG7Do28gcHVkZXJhbSBzZXIgYW5leGFkb3M6JyxcbiAgICAgIGxpbWl0U2l6ZURlc2NyaXB0aW9uOlxuICAgICAgICAnVW0gb3UgbWFpcyBhcnF1aXZvcyBleGNlZGVtIG8gdGFtYW5obyBtw6F4aW1vIHBlcm1pdGlkbyBwb3IgdGlwby4gT3Mgc2VndWludGVzIGFycXVpdm9zIG7Do28gcHVkZXJhbSBzZXIgYW5leGFkb3M6JyxcbiAgICAgIGFjY2VwdDogJ0FjZWl0YXInLFxuICAgICAgbGltaXQ6ICdsaW1pdGUnLFxuICAgIH0sXG4gICAgc291cmNlc0luZm9ybWF0aW9uTW9kYWw6IHtcbiAgICAgIHRpdGxlOiAnRnVlbnRlczonLFxuICAgIH0sXG4gICAgYWdlbnRzOiB7XG4gICAgICB0aXRsZTogJ0FnZW50ZXMnLFxuICAgICAgbmV3QWdlbnQ6ICdOb3ZvIGFnZW50ZScsXG4gICAgICBjcmVhdGVBZ2VudDogJ0NyaWFyIEFnZW50ZScsXG4gICAgICBlZGl0OiAnRWRpdGFyJyxcbiAgICAgIG1haWE6ICcoRXNwZWNpYWxpc3RhIGRlIHByb2pldG8pJyxcbiAgICAgIGFkZEZhdm9yaXRlOiAnQWRpY2lvbmFyIGFvcyBmYXZvcml0b3MnLFxuICAgICAgcmVtb3ZlRmF2b3JpdGU6ICdSZW1vdmVyIGRvcyBmYXZvcml0b3MnLFxuICAgICAgZmF2b3JpdGVUb2dnbGVkQWRkZWRTdWNjZXNzOiAnQWdlbnRlIGFkaWNpb25hZG8gYW9zIGZhdm9yaXRvcycsXG4gICAgICBmYXZvcml0ZVRvZ2dsZWRSZW1vdmVkU3VjY2VzczogJ0FnZW50ZSByZW1vdmlkbyBkZSBmYXZvcml0b3MnLFxuICAgICAgZmF2b3JpdGVUb2dnbGVkRXJyb3I6ICdOw6NvIGZvaSBwb3Nzw612ZWwgc2FsdmFyIHNldSBmYXZvcml0by4gVGVudGUgbm92YW1lbnRlLicsXG4gICAgICBmYXZvcml0ZVRvZ2dsZWRSZW1vdmVkRXJyb3I6ICdOw6NvIGZvaSBwb3Nzw612ZWwgcmVtb3ZlciBvIGZhdm9yaXRvLiBUZW50ZSBub3ZhbWVudGUuJyxcbiAgICAgIG1haWFJbnRyb2R1Y3Rpb246ICdCZW0tdmluZG8gw6AgTUFJQSwgc3VhIGFzc2lzdGVudGUgcGFyYSBtZWxob3JhciBvIHNldSBkaWEgYSBkaWEuJyxcbiAgICB9LFxuICAgIGNvbnZlcnNhdGlvbnM6IHtcbiAgICAgIHRpdGxlOiAnTWluaGFzIGNvbnZlcnNhcycsXG4gICAgICBhZ2VudHNTZWN0aW9uVGl0bGU6ICdBZ2VudGVzJyxcbiAgICAgIG1haWFrZXJOYXY6ICdDcmlhZG9yIGRlIGFnZW50ZXMnLFxuICAgICAgbXlBZ2VudHNOYXY6ICdNZXVzIGFnZW50ZXMnLFxuICAgICAgbXlTa2lsbHNOYXY6ICdNaW5oYXMgc2tpbGxzJyxcbiAgICAgIGVycm9yOiAnT2NvcnJldSB1bSBlcnJvIGFvIGNhcnJlZ2FyIG8gaGlzdMOzcmljbyBkZSBjb252ZXJzYXMnLFxuICAgICAgZW1wdHk6ICdUb2RhcyBhcyBzdWFzIGNvbnZlcnNhcyBjb20gb3MgYWdlbnRlcyBzZXLDo28gZXhpYmlkYXMgYXF1aScsXG4gICAgICBlbXB0eUxhYmVsOiAnTWVuc2FnZW0gY29tIGFuZXhvcycsXG4gICAgICB1bnJlYWRMYWJlbDogJ07Do28gbGlkbycsXG4gICAgICBtaW5pbWl6ZWRPcGVuOiAnQWJyaXIgTUFJQScsXG4gICAgICBtaW5pbWl6ZWRTZWVBbnN3ZXI6ICdWZXIgcmVzcG9zdGEnLFxuICAgICAgY29sbGFwc2U6ICdSZWNvbGhlcicsXG4gICAgICBleHBhbmQ6ICdFeHBhbmRpcicsXG4gICAgICBuZXdDaGF0OiAnTm92byBjaGF0JyxcbiAgICAgIGdlbmVyYXRpbmc6ICdHZXJhbmRvIHJlc3Bvc3RhJyxcbiAgICAgIHNlc3Npb25GaW5pc2hlZDogJ3t7dGl0bGV9fSB0ZXJtaW5vdSBkZSByZXNwb25kZXInLFxuICAgICAgc2Vzc2lvbkZpbmlzaGVkQXBwcm92YWw6ICd7e3RpdGxlfX0gcmVxdWVyIHN1YSBhcHJvdmHDp8OjbycsXG4gICAgICBzZXNzaW9uRmluaXNoZWRFcnJvcjogJ3t7dGl0bGV9fSB0ZXZlIHVtIGVycm8gYW8gcmVzcG9uZGVyJyxcbiAgICAgIG9wZW5BZ2VudENyZWF0b3I6ICdDcmlhciBhZ2VudGUnLFxuICAgICAgb3Blbk1hcmtldHBsYWNlOiAnTWFya2V0cGxhY2UgZGUgYWdlbnRlcycsXG4gICAgfSxcbiAgICBtYXJrZXRwbGFjZToge1xuICAgICAgYmFjazogJ1ZvbHRhcicsXG4gICAgICB0aXRsZTogJ0lkZWlhcyBwYXJhIGNyaWFyIGFnZW50ZXMnLFxuICAgICAgZGVzY3JpcHRpb246XG4gICAgICAgICdFc2NvbGhhIHVtYSBzdWdlc3TDo28gYmVtIGNvbnN0cnXDrWRhIGUgYWJyYSBvIGVkaXRvciBjb20gbyBhZ2VudGUgasOhIHByZWVuY2hpZG8gcGFyYSBhZGFwdGFyIGFvIHNldSBjYXNvLicsXG4gICAgICBteUFnZW50c1RpdGxlOiAnTWV1cyBhZ2VudGVzJyxcbiAgICAgIG15QWdlbnRzUmVhZHlUaXRsZTogJ1NldXMgYWdlbnRlcyBlc3RhbyBwcm9udG9zIHBhcmEgYWp1ZGFyIHZvY2UgZW0gdGFyZWZhcycsXG4gICAgICBteUFnZW50c0Rlc2NyaXB0aW9uOiAnRXN0ZXMgc2FvIHNldXMgYWdlbnRlcyBjdXN0b20uIFNlbGVjaW9uZSB1bSBwYXJhIGluaWNpYXIgYSBjb252ZXJzYSBjb20gZXNzZSBwZXJmaWwuJyxcbiAgICAgIG15QWdlbnRzRW1wdHlTdGF0ZVRpdGxlOiAnVm9jZSBhaW5kYSBuYW8gdGVtIGFnZW50ZXMgY3JpYWRvcycsXG4gICAgICBteUFnZW50c0VtcHR5U3RhdGVEZXNjcmlwdGlvbjogJ0NsaXF1ZSBubyBib3RhbyBhYmFpeG8gcGFyYSBjb21lY2FyIGEgY3JpYXIgYWdlbnRlcyBzb2IgbWVkaWRhLicsXG4gICAgICBteUFnZW50c0VtcHR5U3RhdGVEZXNjcmlwdGlvbk5vUGVybTpcbiAgICAgICAgJ1F1YW5kbyBhbGd1ZW0gY29tIHBlcm1pc3NhbyBwYXJhIGNyaWEtbG9zIGNvbmZpZ3VyYXIsIHZvY2UgcG9kZXJhIGFjZXNzYS1sb3MgcG9yIGFxdWkuJyxcbiAgICAgIG15QWdlbnRzRW1wdHlTdGF0ZUJ1dHRvbjogJ0NyaWFyIGFnZW50ZScsXG4gICAgICBteUFnZW50c0ZhbGxiYWNrSW50cm86ICdBZ2VudGUgcGVyc29uYWxpemFkbyBwcm9udG8gcGFyYSBhanVkYXIgbm8gc2V1IGZsdXhvIGRlIHRyYWJhbGhvLicsXG4gICAgICBteUFnZW50c0ZhbGxiYWNrRGVzY3JpcHRpb246ICdDbGlxdWUgZW0gdXNhciBhZ2VudGUgcGFyYSBpbmljaWFyIHVtYSBjb252ZXJzYSBjb20gZXN0ZSBhZ2VudGUuJyxcbiAgICAgIG15QWdlbnRzRmFsbGJhY2tEYXRlOiAnSGEgYWxndW5zIGRpYXMnLFxuICAgICAgbXlBZ2VudHNUb2RheTogJ0hvamUnLFxuICAgICAgbXlBZ2VudHNPbmVEYXlBZ286ICdIYSAxIGRpYScsXG4gICAgICBteUFnZW50c0RheXNBZ286ICdIYSB7e2RheXN9fSBkaWFzJyxcbiAgICAgIGNhcmRNZW51QXJpYUxhYmVsOiAnTWVudSBkZSBhY29lcyBkbyBhZ2VudGUnLFxuICAgICAgdXNlOiAnVXNhcicsXG4gICAgICBjcmVhdGVBZ2VudDogJ0NyaWFyIGFnZW50ZSBtYW51YWxtZW50ZScsXG4gICAgICBzZWFyY2hBZ2VudFBsYWNlaG9sZGVyOiAnQnVzY2FyIGFnZW50ZS4uLicsXG4gICAgICBzZWFyY2hNaW5MZW5ndGg6ICdtw61uLiAzIGNhcmFjdGVyZXMnLFxuICAgICAgc2VhcmNoTm9SZXN1bHRzOiAnTmVuaHVtIHJlc3VsdGFkbyBlbmNvbnRyYWRvLicsXG4gICAgICBzZWFyY2hOb1Jlc3VsdHNTdWJ0aXRsZTogJ0NyaWUgdW0gYWdlbnRlIGRlIElBIHF1ZSBwb3NzYSBwZW5zYXIsIGFnaXIgZSBhdXRvbWF0aXphciBvIHRyYWJhbGhvIHBhcmEgdm9jw6onLFxuICAgICAgdXNlVGVtcGxhdGU6ICdDcmlhciBjb20gZXN0YSBpZGVpYScsXG4gICAgICB1c2VNeUFnZW50OiAnVXNhciBhZ2VudGUnLFxuICAgICAgYmFkZ2VzOiB7XG4gICAgICAgIGJyYW5kaW5nOiAnQnJhbmRpbmcnLFxuICAgICAgICBsaW5rZWRpbjogJ0xpbmtlZEluJyxcbiAgICAgICAgbWFya2V0aW5nOiAnTWFya2V0aW5nJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBteVNraWxsczoge1xuICAgICAgdGl0bGU6ICdTdWFzIHNraWxscyBwcm9udGFzIHBhcmEgcG90ZW5jaWFsaXphciBzZXVzIGFnZW50ZXMnLFxuICAgICAgc3VidGl0bGU6ICdBcyBza2lsbHMgc2FvIGdsb2JhaXM6IGVzdGFvIGRpc3Bvbml2ZWlzIHBhcmEgdG9kb3Mgb3Mgc2V1cyBhZ2VudGVzLicsXG4gICAgICBjcmVhdGVTa2lsbDogJ0NyaWFyIHNraWxsJyxcbiAgICAgIHByZXZpZXc6ICdQcmUtdmlzdWFsaXphY2FvJyxcbiAgICAgIHByZXZpZXdFbXB0eTogJ05hZGEgcGFyYSBwcmUtdmlzdWFsaXphciBhaW5kYS4nLFxuICAgICAgdXBsb2FkTWQ6ICdFbnZpYXIgLm1kJyxcbiAgICAgIHVwbG9hZEVycm9yOiAnQXBlbmFzIGFycXVpdm9zIC5tZCBzYW8gcGVybWl0aWRvcycsXG4gICAgICBjcmVhdGVXaXRoTWFpYTogJ0NyaWFyIGNvbSBNYWlhJyxcbiAgICAgIHdyaXRlSW5zdHJ1Y3Rpb25zOiAnRXNjcmV2ZXIgaW5zdHJ1Y29lcycsXG4gICAgICB1cGxvYWRTa2lsbDogJ0VudmlhciB1bWEgc2tpbGwnLFxuICAgICAgZ2VuZXJhdGVQbGFjZWhvbGRlcjogJ1F1ZXJvIHVtYSBTa2lsbCBwYXJhIGNyaWFyIG1ldXMgcHJvamV0b3MnLFxuICAgICAgZ2VuZXJhdGVXaXRoTWFpYTogJ0NyaWFyIGEgU2tpbGwgY29tIE1haWEnLFxuICAgICAgZ2VuZXJhdGVOZWVkc05hbWU6ICdFc2NyZXZhIHVtIG5vbWUgcHJpbWVpcm8gcGFyYSBkZXNjcmV2ZXIgYSBza2lsbCcsXG4gICAgICBnZW5lcmF0ZVN1Y2Nlc3M6ICdTa2lsbCBnZXJhZGEgY29tIE1haWEnLFxuICAgICAgZ2VuZXJhdGVFcnJvcjogJ05hbyBmb2kgcG9zc2l2ZWwgZ2VyYXIgYSBza2lsbC4gVGVudGUgbm92YW1lbnRlLicsXG4gICAgICBjYXJkTWVudUFyaWFMYWJlbDogJ01lbnUgZGUgYWNvZXMgZGEgc2tpbGwnLFxuICAgICAgZWRpdDogJ0VkaXRhcicsXG4gICAgICBkZWxldGU6ICdFeGNsdWlyJyxcbiAgICAgIGNhbmNlbDogJ0NhbmNlbGFyJyxcbiAgICAgIHNhdmU6ICdTYWx2YXInLFxuICAgICAgY2xvc2U6ICdGZWNoYXInLFxuICAgICAgY3JlYXRlVGl0bGU6ICdOb3ZhIHNraWxsJyxcbiAgICAgIGVkaXRUaXRsZTogJ0VkaXRhciBza2lsbCcsXG4gICAgICBuYW1lTGFiZWw6ICdOb21lJyxcbiAgICAgIG5hbWVQbGFjZWhvbGRlcjogJ05vbWUgZGEgc2tpbGwnLFxuICAgICAgY29udGVudExhYmVsOiAnU2tpbGwnLFxuICAgICAgY29udGVudFBsYWNlaG9sZGVyOiAnRXNjcmV2YSBhIHNraWxsLi4uJyxcbiAgICAgIGVtcHR5U3RhdGVUaXRsZTogJ1ZvY2UgYWluZGEgbmFvIHRlbSBza2lsbHMgY3JpYWRhcycsXG4gICAgICBlbXB0eVN0YXRlRGVzY3JpcHRpb246ICdDbGlxdWUgbm8gYm90YW8gYWJhaXhvIHBhcmEgY29tZWNhciBhIGNyaWFyIHN1YXMgc2tpbGxzLicsXG4gICAgICBlbXB0eVN0YXRlRGVzY3JpcHRpb25Ob1Blcm06XG4gICAgICAgICdRdWFuZG8gYWxndWVtIGNvbSBwZXJtaXNzYW8gcGFyYSBjcmlhLWxhcyBjb25maWd1cmFyLCB2b2NlIHBvZGVyYSBhY2Vzc2EtbGFzIHBvciBhcXVpLicsXG4gICAgICBlbXB0eVN0YXRlQnV0dG9uOiAnQ3JpYXIgc2tpbGwnLFxuICAgICAgY3JlYXRlU3VjY2VzczogJ1NraWxsIGNyaWFkYSBjb20gc3VjZXNzbycsXG4gICAgICBjcmVhdGVFcnJvcjogJ05hbyBmb2kgcG9zc2l2ZWwgY3JpYXIgYSBza2lsbC4gVGVudGUgbm92YW1lbnRlLicsXG4gICAgICB1cGRhdGVTdWNjZXNzOiAnU2tpbGwgYXR1YWxpemFkYSBjb20gc3VjZXNzbycsXG4gICAgICB1cGRhdGVFcnJvcjogJ05hbyBmb2kgcG9zc2l2ZWwgYXR1YWxpemFyIGEgc2tpbGwuIFRlbnRlIG5vdmFtZW50ZS4nLFxuICAgICAgZGVsZXRlU3VjY2VzczogJ1NraWxsIGV4Y2x1aWRhIGNvbSBzdWNlc3NvJyxcbiAgICAgIGRlbGV0ZUVycm9yOiAnTmFvIGZvaSBwb3NzaXZlbCBleGNsdWlyIGEgc2tpbGwuIFRlbnRlIG5vdmFtZW50ZS4nLFxuICAgIH0sXG4gICAgc25hY2tiYXI6IHtcbiAgICAgIGRlbGV0ZUNoYXQ6IHtcbiAgICAgICAgc3VjY2VzczogJ1N1YSBjb252ZXJzYSBmb2kgZXhjbHXDrWRhIGNvbSBzdWNlc3NvLicsXG4gICAgICAgIGVycm9yOiAnT2NvcnJldSB1bSBlcnJvIGluZXNwZXJhZG8uIFBvciBmYXZvciB0ZW50ZSBub3ZhbWVudGUuJyxcbiAgICAgIH0sXG4gICAgICByZW5hbWVkQ2hhdDoge1xuICAgICAgICBzdWNjZXNzOiAnQ29udmVyc2EgcmVub21lYWRhIGNvbSBzdWNlc3NvJyxcbiAgICAgICAgZXJyb3I6ICdPY29ycmV1IHVtIGVycm8gaW5lc3BlcmFkby4gUG9yIGZhdm9yIHRlbnRlIG5vdmFtZW50ZS4nLFxuICAgICAgfSxcbiAgICAgIGxvYWRNb3JlQWdlbnRzOiB7XG4gICAgICAgIGVycm9yOiAnT2NvcnJldSB1bSBlcnJvIGluZXNwZXJhZG8uIFBvciBmYXZvciB0ZW50ZSBub3ZhbWVudGUuJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBhcHByb3ZhbEJveDoge1xuICAgICAgdW50aXRsZWRBZ2VudDogJ0FnZW50ZSBzZW0gbm9tZScsXG4gICAgICBhY3Rpb25zOiB7XG4gICAgICAgIGNyZWF0ZV90YXNrOiAnQ3JpYcOnw6NvIGRlIHRhcmVmYScsXG4gICAgICAgIGNyZWF0ZV90YXNrc19iYXRjaDogJ0NyaWHDp8OjbyBkZSB0YXJlZmFzJyxcbiAgICAgICAgY3JlYXRlX2FnZW50OiAnQ3JpYXIgYWdlbnRlJyxcbiAgICAgICAgZWRpdF9hZ2VudDogJ0VkacOnw6NvIGRlIGFnZW50ZScsXG4gICAgICAgIGVkaXRfcHJvamVjdDogJ0VkacOnw6NvIGRlIHByb2pldG8nLFxuICAgICAgICBlZGl0X3Rhc2s6ICdFZGnDp8OjbyBkZSB0YXJlZmEnLFxuICAgICAgICBlZGl0X3Rhc2tzX2JhdGNoOiAnRWRpw6fDo28gZGUgdGFyZWZhcycsXG4gICAgICAgIGRlbGV0ZV90YXNrOiAnRXhjbHVzw6NvIGRlIHRhcmVmYScsXG4gICAgICAgIGRlbGV0ZV90YXNrc19iYXRjaDogJ0V4Y2x1c8OjbyBkZSB0YXJlZmFzJyxcbiAgICAgICAgdGFza19hc3NpZ246ICdBdHJpYnVpw6fDo28gZGUgdXN1w6FyaW8nLFxuICAgICAgICB0YXNrX3VuYXNzaWduOiAnUmVtb8Onw6NvIGRlIHVzdcOhcmlvJyxcbiAgICAgICAgYXNzaWduX3Rhc2tfbGFiZWw6ICdBdHJpYnVpw6fDo28gZGUgZXRpcXVldGEnLFxuICAgICAgICBjcmVhdGVfbGFiZWxzOiAnQ3JpYcOnw6NvIGRlIGV0aXF1ZXRhJyxcbiAgICAgICAgdXBkYXRlX3Rhc2tfdHlwZTogJ0F0dWFsaXphw6fDo28gZGUgdGlwbyBkZSB0YXJlZmEnLFxuICAgICAgICB1cGRhdGVfZXN0aW1hdGVkX2hvdXJzOiAnQXR1YWxpemHDp8OjbyBkZSBob3JhcyBlc3RpbWFkYXMnLFxuICAgICAgICB1cGRhdGVfZGVsaXZlcmFibGU6ICdBdHVhbGl6YcOnw6NvIGRlIGVudHJlZ8OhdmVsJyxcbiAgICAgICAgY3JlYXRlX2hvdXI6ICdSZWdpc3RybyBkZSBob3JhcycsXG4gICAgICAgIGNyZWF0ZV9jaGVja2xpc3Q6ICdDcmlhw6fDo28gZGUgY2hlY2tsaXN0JyxcbiAgICAgICAgY3JlYXRlX2NoZWNrbGlzdF9pdGVtOiAnQ3JpYcOnw6NvIGRlIGl0ZW0gZG8gY2hlY2tsaXN0JyxcbiAgICAgICAgY2xvbmVfdGFzazogJ0Nsb25hciB0YXJlZmEnLFxuICAgICAgICBnZXRfdGFza19kYXRlX2hvdXJzOiAnQ29uc3VsdGEgZGUgaG9yYXMgcG9yIGRhdGEnLFxuICAgICAgICBjb25maWd1cmVfYWdlbnRfYWNjZXNzOiAnQWx0ZXJhciB2aXNpYmlsaWRhZGUgZG8gYWdlbnRlJyxcbiAgICAgICAgc2VuZF90YXNrX21lc3NhZ2U6ICdFbnZpbyBkZSBtZW5zYWdlbSBuYSB0YXJlZmEnLFxuICAgICAgICBkZWxldGVfY2hlY2tsaXN0X2l0ZW06ICdFeGNsdXPDo28gZGUgaXRlbSBkbyBjaGVja2xpc3QnLFxuICAgICAgICByZW1vdmVfdGFza190eXBlOiAnUmVtb8Onw6NvIGRvIHRpcG8gZGUgdGFyZWZhJyxcbiAgICAgICAgcmVtb3ZlX3Rhc2tfbGFiZWw6ICdSZW1vw6fDo28gZGUgZXRpcXVldGEnLFxuICAgICAgICBjb3VudF9kZWxpdmVyYWJsZTogJ0F0dWFsaXphw6fDo28gZGEgY29udGFnZW0gZGUgZW50cmVnw6F2ZWlzJyxcbiAgICAgICAgY3JlYXRlX3Jld29yazogJ0NyaWHDp8OjbyBkZSByZXRyYWJhbGhvJyxcbiAgICAgICAgdXBkYXRlX3Jld29yazogJ0F0dWFsaXphw6fDo28gZGUgcmV0cmFiYWxobycsXG4gICAgICAgIGRlbGV0ZV9hZ2VudDogJ0V4Y2x1c8OjbyBkZSBhZ2VudGUnLFxuICAgICAgICB1bmtub3duOiAnQcOnw6NvIGRlc2NvbmhlY2lkYScsXG4gICAgICB9LFxuICAgICAgc3BlY2lhbDoge1xuICAgICAgICBjcmVhdGVSZXdvcms6IHtcbiAgICAgICAgICB0aXRsZTogJ0NyaWFyIHJldHJhYmFsaG8nLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU2Vyw6EgY3JpYWRvIHVtIHJldHJhYmFsaG8gbmEgdGFyZWZhIGNvbSBhcyBpbmZvcm1hw6fDtWVzIGluZGljYWRhcy4nLFxuICAgICAgICB9LFxuICAgICAgICB1cGRhdGVEZWxpdmVyYWJsZUNoaWxkcmVuOiB7XG4gICAgICAgICAgdGl0bGU6ICdBdHVhbGl6YXIgcHJvZ3Jlc3NvIGRvcyBlbnRyZWfDoXZlaXMnLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnU2Vyw6EgYXR1YWxpemFkbyBvIHByb2dyZXNzbyBkb3Mgc3ViZW50cmVnw6F2ZWlzIHZpbmN1bGFkb3MgYSBlc3RhIHRhcmVmYS4nLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGZpZWxkczoge1xuICAgICAgICBuYW1lOiAnTm9tZScsXG4gICAgICAgIGVtb2ppOiAnRW1vamknLFxuICAgICAgICBpbnRyb2R1Y3Rpb246ICdJbnRyb2R1w6fDo28nLFxuICAgICAgICBpbnB1dF9wbGFjZWhvbGRlcjogJ1BsYWNlaG9sZGVyJyxcbiAgICAgICAgdXNlcl9wcm9tcHQ6ICdQcm9tcHQgcHJpbmNpcGFsJyxcbiAgICAgICAgbGFuZ3VhZ2U6ICdJZGlvbWEnLFxuICAgICAgICBwcm92aWRlcjogJ1Byb3ZpZGVyJyxcbiAgICAgICAgbW9kZWxfbmFtZTogJ01vZGVsbycsXG4gICAgICAgIGFwaV9rZXk6ICdBUEkga2V5JyxcbiAgICAgIH0sXG4gICAgICB0aXRsZTogJ0NvbmZpcm1hw6fDo28gcmVxdWVyaWRhJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnVm9jw6ogcHJlY2lzYSBhcHJvdmFyIGEgc2VndWludGUgYcOnw6NvOicsXG4gICAgICBhcHByb3ZlOiAnQXByb3ZhcicsXG4gICAgICBkZW55OiAnTmVnYXInLFxuICAgICAgbWFudWFsQXBwcm92YWxXYXJuaW5nOiAnTWFpYSBkZXRlY3RvdSBxdWUgYSBzb2xpY2l0YcOnw6NvIGZvaSBhcHJvdmFkYSBtYW51YWxtZW50ZScsXG4gICAgICBzdGF0dXM6IHtcbiAgICAgICAgYXBwcm92ZWQ6ICdTb2xpY2l0YcOnw6NvIEFwcm92YWRhJyxcbiAgICAgICAgZGVuaWVkOiAnU29saWNpdGHDp8OjbyBOZWdhZGEnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGNoaXBMbG06IHtcbiAgICAgIHRvb2x0aXA6ICdNb2RlbG86IHt7bW9kZWx9fScsXG4gICAgfSxcbiAgICBjbGllbnRTZWxlY3Rvcjoge1xuICAgICAgcHJvamVjdDogJ3Byb2pldG8nLFxuICAgICAgcHJvamVjdHM6ICdwcm9qZXRvcycsXG4gICAgfSxcbiAgfSxcbiAgW1NFQ1RJT05TLmFibUFnZW50XToge1xuICAgIC4uLmdlbmVyaWNTZWN0aW9uLFxuICAgIGxlZ2VuZERlbGV0ZWRBZ2VudDogJ0VzdGUgYWdlbnRlIGZvaSBleGNsdcOtZG8gbm8gZGlhJyxcbiAgICBsZWdlbmRQcm9qZWN0RGVsZXRlZDogJ08gcHJvamV0byB7e25hbWV9fSBmb2kgZXhjbHXDrWRvLiBOw6NvIMOpIHBvc3PDrXZlbCBjb250aW51YXIgYSBjb252ZXJzYScsXG4gICAgbGVnZW5kTm9BY2Nlc3M6ICdWb2PDqiBuw6NvIHRlbSBtYWlzIGFjZXNzbyBwYXJhIGludGVyYWdpciBjb20gbyBhZ2VudGUge3tuYW1lfX0nLFxuICAgIGxlZ2VuZE5vUGVybWlzc2lvbnM6ICdWb2PDqiBuw6NvIHRlbSBtYWlzIHBlcm1pc3PDo28gcGFyYSB2aXN1YWxpemFyIG91IGludGVyYWdpciBjb20gbyBhZ2VudGUge3tuYW1lfX0nLFxuICAgIGxlZ2VuZExlZ2FjeUNvbnRleHRTZXNzaW9uOlxuICAgICAgJ0VzdGEgY29udmVyc2EgcGVydGVuY2UgYSB1bSBjb250ZXh0byBhbnRlcmlvci4gVm9jw6ogcG9kZSBjb250aW51YXIgY29tIHt7bmFtZX19IGVtIHVtIG5vdm8gY2hhdC4nLFxuICAgIGNvbnRpbnVlSW5OZXdDaGF0OiAnQ29udGludWFyIGVtIHVtIG5vdm8gY2hhdCcsXG4gICAgbGVnZW5kTW9kZWxEZXByZWNhdGVkOlxuICAgICAgJ08gbW9kZWxvIHNlbGVjaW9uYWRvIHBhcmEgZXN0ZSBhZ2VudGUgbsOjbyBlc3TDoSBtYWlzIGRpc3BvbsOtdmVsLiBUcm9xdWUgcGFyYSBvdXRybyBtb2RlbG8gcGFyYSBjb250aW51YXIgdXNhbmRvLW8uJyxcbiAgICBsZWdlbmRQcm92aWRlclN0YXR1czpcbiAgICAgICdPIG1vZGVsbyB1c2FkbyBwb3IgZXN0ZSBhZ2VudGUgZXN0w6EgZW5mcmVudGFuZG8gcHJvYmxlbWFzIHRlbXBvcsOhcmlvcy4gVm9jw6ogcG9kZSBhZ3VhcmRhciBhIHJlY3VwZXJhw6fDo28gb3UgdHJvY2FyIHBhcmEgb3V0cm8gbW9kZWxvLicsXG4gICAgY2hhbmdlTW9kZWw6ICdUcm9jYXIgbW9kZWxvJyxcbiAgICBhZ2VudHM6ICdBZ2VudGVzJyxcbiAgICBsYXlvdXRNZW51VG9vbHRpcDogJ0xheW91dCBkbyBjaGF0JyxcbiAgICBsYXlvdXRTaWRlYmFyOiAnQ2hhdCBwYXJhbGVsbycsXG4gICAgbGF5b3V0RnVsbHNjcmVlbjogJ0NoYXQgY29tcGxldG8nLFxuICAgIGxheW91dEZsb2F0aW5nOiAnQ2hhdCBmbHV0dWFudGUnLFxuICAgIGJhY2s6ICdWb2x0YXInLFxuICAgIGFkZEFnZW50OiAnQWRpY2lvbmFyIG5vdm8gYWdlbnRlJyxcbiAgICBuZXdBZ2VudDogJ05vdm8gYWdlbnRlJyxcbiAgICBjcmVhdGVBZ2VudDogJ0NyaWFyIEFnZW50ZScsXG4gICAgZWRpdEFnZW50OiAnRWRpdGFyIGFnZW50ZScsXG4gICAgY2FuY2VsOiAnQ2FuY2VsYXInLFxuICAgIGFjY2VwdDogJ0FjZWl0YXInLFxuICAgIGRlbGV0ZUFnZW50OiAnRXhjbHVpciBhZ2VudGUnLFxuICAgIGNvbnRpbnVlOiAnQ29udGludWFyJyxcbiAgICBlZGl0OiAnRWRpdGFyJyxcbiAgICBkZWxldGU6ICdFeGNsdWlyJyxcbiAgICBmZWVkYmFjazogJ0VudmlhciBGZWVkYmFjaycsXG4gICAgc2VuZEZlZWRiYWNrOiAnRW52aWFyIGZlZWRiYWNrJyxcbiAgICBzYXZlQ2hhbmdlczogJ1NhbHZhciBhbHRlcmHDp8O1ZXMnLFxuICAgIGNyZWF0ZUFnZW50TGFiZWxCdXR0b246ICdDcmlhciBhZ2VudGUnLFxuICAgIG9wZW5BZ2VudENyZWF0b3I6ICdDcmlhciBhZ2VudGUnLFxuICAgIG9wZW5NYXJrZXRwbGFjZTogJ01hcmtldHBsYWNlIGRlIGFnZW50ZXMnLFxuICAgIGNvbmZpcm1BZ2VudENyZWF0ZWQ6ICdPIGFnZW50ZSBmb2kgY3JpYWRvIGNvbSBzdWNlc3NvJyxcbiAgICBjb25maXJtQWdlbnRVcGRhdGVkV2l0aEZpbGVzRXJyb3I6XG4gICAgICAnTyBhZ2VudGUgZm9pIGVkaXRhZG8gY29tIHN1Y2Vzc28sIG1hcyBhbGd1bnMgYXJxdWl2b3MgbsOjbyBwdWRlcmFtIHNlciBwcm9jZXNzYWRvcy4nLFxuICAgIGNvbmZpcm1BZ2VudFdpdGhGaWxlc0Vycm9yOiAnTyBhZ2VudGUgZm9pIGNyaWFkbyBjb20gc3VjZXNzbywgbWFzIGFsZ3VucyBhcnF1aXZvcyBuw6NvIHB1ZGVyYW0gc2VyIHByb2Nlc3NhZG9zLicsXG4gICAgY29uZmlybUFnZW50RGVsZXRlZDogJ08gYWdlbnRlIGZvaSBleGNsdcOtZG8gY29tIHN1Y2Vzc28nLFxuICAgIGNvbmZpcm1BZ2VudFVwZGF0ZWQ6ICdPIGFnZW50ZSBmb2kgYXR1YWxpemFkbyBjb20gc3VjZXNzbycsXG4gICAgY29uZmlybUNsb3NlQ3JlYXRlQWdlbnQ6ICdUZW0gY2VydGV6YSBxdWUgZGVzZWphIGZlY2hhcj8gQXMgYWx0ZXJhw6fDtWVzIHNlcsOjbyBwZXJkaWRhcy4nLFxuICAgIGNvbmZpcm1DbG9zZUVkaXRBZ2VudDogJ1RlbSBjZXJ0ZXphIHF1ZSBkZXNlamEgZmVjaGFyPyBBcyBhbHRlcmHDp8O1ZXMgc2Vyw6NvIHBlcmRpZGFzLicsXG4gICAgY29uZmlybVJlbG9hZEJyb3dzZXI6ICdUZW0gY2VydGV6YSBxdWUgZGVzZWphIHJlY2FycmVnYXIgYSBww6FnaW5hPyBBcyBhbHRlcmHDp8O1ZXMgc2Vyw6NvIHBlcmRpZGFzLicsXG4gICAgZXJyb3JBY2Nlc3NEZW5pZWQ6ICdWb2PDqiBuw6NvIHRlbSBwZXJtaXNzw6NvIHBhcmEgYWNlc3NhciBlc3RlIGFnZW50ZS4gQ29udGF0ZSBvIHN1cG9ydGUuJyxcbiAgICBlcnJvckFnZW50Q3JlYXRlZDogJ09jb3JyZXUgdW0gZXJybyBpbmVzcGVyYWRvLiBQb3IgZmF2b3IgdGVudGUgbm92YW1lbnRlLicsXG4gICAgYXR0YWNobWVudENhcmQ6IHtcbiAgICAgIGRvd25sb2FkOiAnRGVzY2FycmVnYXInLFxuICAgICAgZGVsZXRlOiAnRXhjbHVpcicsXG4gICAgfSxcbiAgICBnZW5lcmFsU2VjdGlvbjoge1xuICAgICAgdGl0bGU6ICdHZXJhbCcsXG4gICAgICBnZW5lcmFsU2V0dGluZ3M6ICdDb25maWd1cmHDp8OjbyBnZXJhbCcsXG4gICAgICByZXF1aXJlZEZpZWxkc0xhYmVsOiAnKm9icmlnYXTDs3Jpb3MnLFxuICAgICAgaW5mb0xhYmVsOiAnQWRpY2lvbmUgdG9kYXMgYXMgaW5mb3JtYcOnw7VlcyBwYXJhIHBlcnNvbmFsaXphciBvIGNvbXBvcnRhbWVudG8gZG8gc2V1IGFnZW50ZS4nLFxuICAgICAgb3B0aW9uYWxMYWJlbDogJ09wY2lvbmFsJyxcbiAgICAgIGJhc2ljU2V0dGluZ3M6ICdDb25maWd1cmHDp8OjbyBiw6FzaWNhJyxcbiAgICAgIHNlbGVjdEVtb2ppOiAnU2VsZWNpb25hciBlbW9qaScsXG4gICAgICBuYW1lOiAnUXVhbCDDqSBvIG5vbWUgZG8gc2V1IGFnZW50ZT8nLFxuICAgICAgbmFtZVBsYWNlaG9sZGVyOiAnRMOqIHVtIG5vbWUgYW8gc2V1IGFnZW50ZScsXG4gICAgICBiZWhhdmlvclNldHRpbmdzOiAnQ29uZmlndXJhw6fDo28gZGUgY29tcG9ydGFtZW50bycsXG4gICAgICBpbml0aWFsUHJvbXB0OiAnUXVhaXMgc8OjbyBhcyBpbnN0cnXDp8O1ZXM/JyxcbiAgICAgIGluaXRpYWxQcm9tcHRQbGFjZWhvbGRlcjpcbiAgICAgICAgJ0V4ZW1wbG86IFZvY8OqIMOpIHVtIHJlZGF0b3IgZGUgbcOtZGlhcyBzb2NpYWlzIHF1ZSBlc2NyZXZlIGUgYWRhcHRhIG1lbnNhZ2VucyBwYXJhIGRpZmVyZW50ZXMgcmVkZXMsIGdhcmFudGluZG8gY29uc2lzdMOqbmNpYSBubyB0b20sIG5hIHBlcnNvbmFsaWRhZGUgZSBub3MgdmFsb3JlcyBkYSBtYXJjYS4nLFxuICAgICAgbW9kZWxBaUxhYmVsOiAnTW9kZWxvIGRlIElBJyxcbiAgICAgIG5vTW9kZWxzQXZhaWxhYmxlOiAnTsOjbyBow6EgbW9kZWxvcyBkaXNwb27DrXZlaXMnLFxuICAgICAgaW5wdXRQbGFjZWhvbGRlclRpdGxlOiAnTyBxdWUgbyB1c3XDoXJpbyB2ZXLDoSBubyBjYW1wbyBkZSBjaGF0IGFudGVzIGRlIGVzY3JldmVyPycsXG4gICAgICBpbnB1dFBsYWNlaG9sZGVyOiAnUGVyZ3VudGUgbyBxdWUgcHJlY2lzYXLigKYnLFxuICAgICAgaW50cm9kdWN0aW9uOiAnQ29tbyBvIHNldSBhZ2VudGUgdmFpIHNlIGFwcmVzZW50YXI/JyxcbiAgICAgIGludHJvZHVjdGlvblBsYWNlaG9sZGVyOlxuICAgICAgICAnRXhlbXBsbzogT2zDoSEg8J+RiyBWb3UgdGUgYWp1ZGFyIGEgY3JpYXIsIGFkYXB0YXIgZSByZXZpc2FyIHRleHRvcyBwYXJhIGRpZmVyZW50ZXMgcGxhdGFmb3JtYXMsIGdhcmFudGluZG8gcXVlIG1hbnRlbmhhbSBhIHZveiwgbyB0b20gZSBhIHBlcnNvbmFsaWRhZGUgZGEgc3VhIG1hcmNhLiBWb2PDqiBwb2RlIG1lIHBlZGlyIGlkZWlhcyBwYXJhIGNhbXBhbmhhcywgYWRhcHRhciB1bSB0ZXh0byBwYXJhIG91dHJvIGNhbmFsIG91IHJldmlzYXIgYSBjb2Vyw6puY2lhIGRhIG1lbnNhZ2VtLicsXG4gICAgICBhZGRGYXZvcml0ZTogJ0FkaWNpb25hciBhb3MgZmF2b3JpdG9zJyxcbiAgICAgIHJlbW92ZUZhdm9yaXRlOiAnUmVtb3ZlciBkb3MgZmF2b3JpdG9zJyxcbiAgICAgIGVycm9yOiB7XG4gICAgICAgIG1heENhcmFjdGVyTmFtZTogJ1ZvY8OqIGF0aW5naXUgbyBsaW1pdGUgZGUgMTUwIGNhcmFjdGVyZXMuJyxcbiAgICAgICAgbWF4Q2FyYWN0ZXJJbml0aWFsUHJvbXB0OiAnVm9jw6ogYXRpbmdpdSBvIGxpbWl0ZSBkZSA1MDAwIGNhcmFjdGVyZXMuJyxcbiAgICAgICAgbWF4SW5wdXRQbGFjZWhvbGRlcjogJ1ZvY8OqIGF0aW5naXUgbyBsaW1pdGUgZGUgMTAwIGNhcmFjdGVyZXMuJyxcbiAgICAgICAgbWF4Q2FyYWN0ZXJJbnRyb2R1Y3Rpb246ICdWb2PDqiBhdGluZ2l1IG8gbGltaXRlIGRlIDQwMCBjYXJhY3RlcmVzLicsXG4gICAgICB9LFxuICAgICAgaG93VG9Xcml0ZVByb21wdDogJ0NvbW8gZXNjcmV2ZXIgdW0gcHJvbXB0JyxcbiAgICAgIHdoYXRJc01vZGVsQWlUaXRsZTogJ1F1YWwgbW9kZWxvIGRlIElBIHZvY8OqIHZhaSB1c2FyPycsXG4gICAgICB3aGF0SXNNb2RlbEFpOiAnTyBxdWUgw6kgdW0gbW9kZWxvIGRlIElBPycsXG4gICAgICBjcmVhdGVkQnk6ICdQb3InLFxuICAgICAgY3JlYXRlZEJ5VG9vbHRpcDogJ1VzdcOhcmlvIGNyaWFkb3IgZG8gYWdlbnRlJyxcbiAgICAgIGNyZWF0ZWRCeVRvb2x0aXBEZWxldGVkOiAnVXN1w6FyaW8gZXhjbHXDrWRvLiBTZXUgbm9tZSDDqSBtYW50aWRvIHBhcmEgcmVmZXLDqm5jaWEuJyxcbiAgICB9LFxuICAgIGtub3dsZWRnZVNlY3Rpb246IHtcbiAgICAgIHRpdGxlOiAnQ29uaGVjaW1lbnRvJyxcbiAgICAgIGtub3dsZWRnZVRhYjogJ0Jhc2UgZGUgY29uaGVjaW1lbnRvcycsXG4gICAgICBpbmZvTGFiZWw6ICdDYXJyZWd1ZSBvcyBhcnF1aXZvcyBxdWUgc2V1IGFnZW50ZSB1c2Fyw6EgY29tbyBmb250ZSBwYXJhIHN1YXMgcmVzcG9zdGFzLicsXG4gICAgICBzZWxlY3RGaWxlVGl0bGU6ICdTRUxFQ0lPTkFSIEFSUVVJVk9TJyxcbiAgICAgIGF0dGFjaEZpbGVzOiAnQW5leGFyIGFycXVpdm9zJyxcbiAgICAgIGRyb3Bab25lVGV4dDoge1xuICAgICAgICAxOiAnQ2xpcXVlIGFxdWkgcGFyYSBjYXJyZWdhcicsXG4gICAgICAgIDI6ICdvdSBhcnJhc3RlIG9zIGFycXVpdm9zJyxcbiAgICAgIH0sXG4gICAgICBpbmZvRmlsZVR5cGVzOlxuICAgICAgICAnLm1kLCAucGRmLCAuZG9jLCAuZG9jeCwgLnBwdCwgLnBwdHgsIC50eHQsIC5jc3YsIC5wbmcsIC5qcGcsIC5qcGVnLCAueGxzLCAueGxzeCAgKG3DoXguIHRvdGFsIGRlIDVNQiknLFxuICAgICAgZXJyb3I6IHtcbiAgICAgICAgbWF4RmlsZXNUaXRsZTogJ0xpbWl0ZSBkZSB0YW1hbmhvIHRvdGFsIGV4Y2VkaWRvLicsXG4gICAgICAgIG1heEZpbGVzRGVzY3JpcHRpb246XG4gICAgICAgICAgJ1ZvY8OqIHBvZGUgYW5leGFyIGFycXVpdm9zIGF0w6kgdW0gdG90YWwgZGUgNSBNQi4gT3Mgc2VndWludGVzIGFycXVpdm9zIG7Do28gcHVkZXJhbSBzZXIgYW5leGFkb3M6JyxcbiAgICAgICAgbWF4U2l6ZVRpdGxlOiAnVm9jw6ogZXhjZWRldSBvIGxpbWl0ZSBkZSB0YW1hbmhvIHBlcm1pdGlkbycsXG4gICAgICAgIG1heFNpemVEZXNjcmlwdGlvbjoge1xuICAgICAgICAgIDE6ICdPIGxpbWl0ZSBtw6F4aW1vIGRlIDUgTUIgZm9pIGF0aW5naWRvLicsXG4gICAgICAgICAgMjogJ0Vzc2VzIGFycXVpdm9zIG7Do28gZm9yYW0gY2FycmVnYWRvcyBwb3JxdWUgZXhjZWRlbSBvIGVzcGHDp28gZGlzcG9uw612ZWw6JyxcbiAgICAgICAgfSxcbiAgICAgICAgaW52YWxpZEV4dGVuc2lvbkRlc2NyaXB0aW9uOiB7XG4gICAgICAgICAgMTogJ1NvbWVudGUgYXJxdWl2b3MgY29tIGFzIHNlZ3VpbnRlcyBleHRlbnPDtWVzIHPDo28gYWNlaXRvczogLm1kLCAucGRmLCAuZG9jLCAuZG9jeCwgLnBwdCwgLnBwdHgsIC50eHQsIC5jc3YsIC5wbmcsIC5qcGcsIC5qcGVnLCAueGxzLCAueGxzeCcsXG4gICAgICAgICAgMjogJ0VzdGVzIGFycXVpdm9zIG7Do28gZm9yYW0gY2FycmVnYWRvcyBwb3JxdWUgc3VhIGV4dGVuc8OjbyBuw6NvIMOpIHBlcm1pdGlkYTonLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIG1vcmVJbmZvOiAnVmVqYSBjb21vIGZ1bmNpb25hIGFxdWknLFxuICAgIH0sXG4gICAgYWNjZXNzaWJpbGl0eVNlY3Rpb246IHtcbiAgICAgIHRpdGxlVGFiOiAnUGVybWlzc8O1ZXMnLFxuICAgICAgdGl0bGVTZWN0aW9uOiAnVmlzaWJpbGlkYWRlIGUgcGVybWlzc8O1ZXMgZG8gYWdlbnRlJyxcbiAgICAgIHN1YnRpdGxlU2VjdGlvbjogJ0RlZmluYSBxdWVtIHBvZGUgdXNhciBlc3RlIGFnZW50ZSBlIHNlIGVsZSBwb2RlIGFjZXNzYXIgZGFkb3MgZG8gQ09SLicsXG4gICAgICBjb3JQZXJtaXNzaW9uc1RpdGxlOiAnUGVybWlzc8O1ZXMgZGUgYWNlc3NvIGFvcyBkYWRvcyBkbyBDT1InLFxuICAgICAgY29yUGVybWlzc2lvbnNTdWJ0aXRsZTogJ0EgcXVlIGVzdGUgYWdlbnRlIHRlbSBhY2Vzc28/JyxcbiAgICAgIHRhc2tBY2Nlc3NUaXRsZTogJ0FjZXNzbyBhIHRhcmVmYXMnLFxuICAgICAgdGFza0FjY2Vzc0Rlc2NyaXB0aW9uOlxuICAgICAgICAnTyBhZ2VudGUgcG9kZXLDoSBsZXIsIGNyaWFyLCBtb2RpZmljYXIgZSBleGNsdWlyIHRhcmVmYXMgZGUgYWNvcmRvIGNvbSBhcyBwZXJtaXNzw7VlcyBkbyB1c3XDoXJpby4nLFxuICAgICAgdmlzaWJpbGl0eVRpdGxlOiAnVmlzaWJpbGlkYWRlIGRvIGFnZW50ZScsXG4gICAgICB3aG9DYW5BY2Nlc3M6ICdRdWVtIHBvZGUgdXNhciBlc3RlIGFnZW50ZT8nLFxuICAgICAgYWxsQ29tcGFueVRpdGxlOiAnVG9kYSBhIGVtcHJlc2EnLFxuICAgICAgYWxsQ29tcGFueURlc2NyaXB0aW9uOiAnVG9kb3Mgb3MgdXN1w6FyaW9zIGRhIHN1YSBvcmdhbml6YcOnw6NvIHBvZGVyw6NvIHZlciBlIHVzYXIgZXN0ZSBhZ2VudGUuJyxcbiAgICAgIGNsaWVudFRpdGxlOiAnUGFyYSBjbGllbnRlcyBlc3BlY8OtZmljb3MnLFxuICAgICAgY2xpZW50RGVzY3JpcHRpb246XG4gICAgICAgICdBc3NvY2llIGVzdGUgYWdlbnRlIGEgdW0gb3UgbWFpcyBjbGllbnRlcy4gVG9kb3Mgb3MgdXN1w6FyaW9zIHBvZGVyw6NvIHZlciBjb20gcXVhaXMgY2xpZW50ZXMgZWxlIGVzdMOhIHZpbmN1bGFkby4nLFxuICAgICAgb3duVGl0bGU6ICdTb21lbnRlIGV1JyxcbiAgICAgIG93bkRlc2NyaXB0aW9uOiAnRXN0ZSBhZ2VudGUgc2Vyw6EgcHJpdmFkbyBlIG7Do28gZXN0YXLDoSBkaXNwb27DrXZlbCBwYXJhIG91dHJvcyB1c3XDoXJpb3MuJyxcbiAgICAgIGNsaWVudHNTZWxlY3RlZDogJ0NsaWVudGVzIHNlbGVjaW9uYWRvczonLFxuICAgICAgc2VhcmNoRXJyb3I6ICdPcHMhIFRpdmVtb3MgdW0gcHJvYmxlbWEgYW8gY2FycmVnYXIgb3MgY2xpZW50ZXMuIFBvZGUgdGVudGFyIG5vdmFtZW50ZSBlbSBpbnN0YW50ZXM/JyxcbiAgICAgIHNlYXJjaEVtcHR5OiAnT3BzISBOw6NvIGVuY29udHJhbW9zIGNsaWVudGVzIGNvbSBlc3NlIG5vbWUuIFRlbnRlIG91dHJhIGJ1c2NhLicsXG4gICAgICBzZWFyY2hJbml0aWFsOiAnQ29tZWNlIGEgZGlnaXRhciBvIG5vbWUgZGUgdW0gY2xpZW50ZSBwYXJhIGFzc29jacOhLWxvJyxcbiAgICAgIHNlYXJjaFBsYWNlaG9sZGVyOiAnQnVzY2FyIGNsaWVudGUnLFxuICAgICAgY2xpZW50SW5hY3RpdmU6ICdFc3RlIGNsaWVudGUgZXN0w6EgaW5hdGl2by4gUmVjb21lbmRhbW9zIHJlbW92w6otbG8gZGEgbGlzdGEuJyxcbiAgICAgIGNsaWVudERlbGV0ZWRUb29sdGlwOiAnRXN0ZSBjbGllbnRlIGZvaSBleGNsdcOtZG8uIFJlY29tZW5kYW1vcyByZW1vdsOqLWxvIGRhIGxpc3RhLicsXG4gICAgICBjbGllbnREZWxldGVkOiAnQ2xpZW50ZSBleGNsdcOtZG8nLFxuICAgICAgY2xpZW50c0Vycm9yOiAnVmVyaWZpcXVlIG9zIGNsaWVudGVzIGFzc29jaWFkb3MnLFxuICAgIH0sXG4gICAgcHJvY2Vzc2luZ0tub3dsZWRnZToge1xuICAgICAgZGVzY3JpcHRpb25DcmVhdGU6XG4gICAgICAgICdFc3RhbW9zIGNyaWFuZG8gbyBBZ2VudGUgZSBzdWEgYmFzZSBkZSBjb25oZWNpbWVudG8uIElzc28gcG9kZSBsZXZhciBhbGd1bnMgaW5zdGFudGVzLiBQb3IgZmF2b3IsIG7Do28gZmVjaGUgZXN0YSBqYW5lbGEgYXTDqSBxdWUgbyBwcm9jZXNzbyBzZWphIGNvbmNsdcOtZG8uJyxcbiAgICAgIGRlc2NyaXB0aW9uVXBkYXRlOlxuICAgICAgICAnRXN0YW1vcyBhdHVhbGl6YW5kbyBvIEFnZW50ZSBlIHN1YSBiYXNlIGRlIGNvbmhlY2ltZW50by4gSXNzbyBwb2RlIGxldmFyIGFsZ3VucyBpbnN0YW50ZXMuIFBvciBmYXZvciwgbsOjbyBmZWNoZSBlc3RhIGphbmVsYSBhdMOpIHF1ZSBvIHByb2Nlc3NvIHNlamEgY29uY2x1w61kby4nLFxuICAgICAgZmlsZVJvdzogJ0FycXVpdm8nLFxuICAgICAgc3RhdHVzUm93OiAnU3RhdHVzJyxcbiAgICAgIHBlbmRpbmc6ICdQZW5kZW50ZScsXG4gICAgICBwcm9jZXNzaW5nOiAnUHJvY2Vzc2FuZG8nLFxuICAgICAgZmFpbGVkOiAnRmFsaGEnLFxuICAgICAgZG9uZTogJ0NvbXBsZXRhZG8nLFxuICAgICAgbG9hZGluZ0ZpbGVzOiAnQ2FycmVnYW5kbyBhcnF1aXZvcy4uLicsXG4gICAgICBlcnJvcjoge30sXG4gICAgfSxcbiAgICBkZWxldGVBZ2VudE1vZGFsOiB7XG4gICAgICB0aXRsZTogJ0Rlc2VqYSBleGNsdWlyIGVzdGUgYWdlbnRlPycsXG4gICAgICBmaXJzdFBhcnQ6ICdWb2PDqiBlc3TDoSBwcmVzdGVzIGEgZXhjbHVpciAnLFxuICAgICAgc2Vjb25kUGFydDogJ0VzdGEgYcOnw6NvIG7Do28gcG9kZSBzZXIgZGVzZmVpdGEuJyxcbiAgICAgIGNhbmNlbDogJ0NhbmNlbGFyJyxcbiAgICAgIGRlbGV0ZTogJ0V4Y2x1aXInLFxuICAgIH0sXG4gIH0sXG4gIFtTRUNUSU9OUy5wcm9qZWN0U2VsZWN0b3JdOiB7XG4gICAgLi4uZ2VuZXJpY1NlY3Rpb24sXG4gICAgcHJvamVjdFNlbGVjdG9yOiB7XG4gICAgICB0aXRsZTogJ0VtIHF1YWwgcHJvamV0byB2b2PDqiBnb3N0YXJpYSBkZSBhanVkYT8nLFxuICAgICAgaGVsbG86IHtcbiAgICAgICAgdGl0bGU6ICdTb3UgTUFJQSwgc3VhIGVzcGVjaWFsaXN0YSBlbSBwcm9qZXRvcy4nLFxuICAgICAgICBzdWJ0aXRsZTpcbiAgICAgICAgICAnUGFyYSB0ZSBkYXIgcmVzcG9zdGFzIHByZWNpc2FzLCBwcmVjaXNvIHNhYmVyIHNvYnJlIHF1YWwgcHJvamV0byB2YW1vcyBjb252ZXJzYXIuIFF1YWwgdm9jw6ogZXNjb2xoZT8nLFxuICAgICAgfSxcbiAgICAgIHN1YnRpdGxlOiAnU2VsZWNpb25lIG8gcHJvamV0byBwYXJhIHF1ZSBhIE1BSUEgcmVzcG9uZGEgY29tIGJhc2UgZW0gdW0gY29udGV4dG8uJyxcbiAgICAgIGxhYmVsUHJvamVjdDogJ1NlbGVjaW9uZSB1bSBwcm9qZXRvJyxcbiAgICAgIHBsYWNlaG9sZGVyOiAnQnVzcXVlIHVtIHByb2pldG8gcGVsbyBub21lJyxcbiAgICAgIGNoYW5nZVByb2plY3Q6ICdNdWRhciBkZSBwcm9qZXRvJyxcbiAgICAgIHJlY2VudFByb2plY3RzOiAnUmVjZW50ZXMnLFxuICAgICAgc2VhcmNoaW5nUHJvamVjdHM6ICdCdXNjYW5kbyBzZXVzIHByb2pldG9zLi4uJyxcbiAgICAgIGVycm9yTWVzc2FnZTogJ09wcyEgVGl2ZW1vcyB1bSBwcm9ibGVtYSBhbyBjYXJyZWdhciBvcyBwcm9qZXRvcy4gUG9yIGZhdm9yLCB0ZW50ZSBub3ZhbWVudGUgZW0gYWxndW5zIG1pbnV0b3MuJyxcbiAgICAgIGVtcHR5UmVjZW50UHJvamVjdHM6ICdWb2PDqiBuw6NvIHRlbSBwcm9qZXRvcyByZWNlbnRlcy4gRGlnaXRlIG8gbm9tZSBkZSB1bSBwcm9qZXRvIG5hIGJ1c2NhIHBhcmEgZW5jb250csOhLWxvLicsXG4gICAgICBlbXB0eVN0YXRlOiAnT3BzISBOw6NvIGVuY29udHJhbW9zIHByb2pldG9zIGNvbSBlc3NlIG5vbWUuIFRlbnRlIG91dHJhIGJ1c2NhLicsXG4gICAgICB3aXRob3V0Q2xpZW50OiAnU2VtIGNsaWVudGUnLFxuICAgICAgd2l0aG91dFRpdGxlOiAnU2VtIHTDrXR1bG8nLFxuICAgIH0sXG4gIH0sXG4gIFtTRUNUSU9OUy5jbGllbnRTZWxlY3Rvcl06IHtcbiAgICAuLi5nZW5lcmljU2VjdGlvbixcbiAgICBjbGllbnRTZWxlY3Rvcjoge1xuICAgICAgdGl0bGU6ICdFbSBxdWFsIGNsaWVudGUgdm9jw6ogZ29zdGFyaWEgZGUgYWp1ZGE/JyxcbiAgICAgIGhlbGxvOiB7XG4gICAgICAgIHRpdGxlOiAnU291IE1BSUEsIHN1YSBlc3BlY2lhbGlzdGEgZW0gY2xpZW50ZXMuJyxcbiAgICAgICAgc3VidGl0bGU6XG4gICAgICAgICAgJ1BhcmEgdGUgZGFyIHJlc3Bvc3RhcyBwcmVjaXNhcywgcHJlY2lzbyBzYWJlciBzb2JyZSBxdWFsIGNsaWVudGUgdmFtb3MgY29udmVyc2FyLiBRdWFsIHZvY8OqIGVzY29saGU/JyxcbiAgICAgIH0sXG4gICAgICBzdWJ0aXRsZTogJ1NlbGVjaW9uZSBvIGNsaWVudGUgcGFyYSBxdWUgYSBNQUlBIHJlc3BvbmRhIGNvbSBiYXNlIGVtIHVtIGNvbnRleHRvLicsXG4gICAgICBsYWJlbENsaWVudDogJ1NlbGVjaW9uZSB1bSBjbGllbnRlJyxcbiAgICAgIHBsYWNlaG9sZGVyOiAnQnVzY2FyIGNsaWVudGUgcGVsbyBub21lJyxcbiAgICAgIGNoYW5nZUNsaWVudDogJ011ZGFyIGRlIGNsaWVudGUnLFxuICAgICAgcmVjZW50Q2xpZW50czogJ1JlY2VudGVzJyxcbiAgICAgIHNlYXJjaGluZ0NsaWVudHM6ICdCdXNjYW5kbyBzZXVzIGNsaWVudGVzLi4uJyxcbiAgICAgIGVycm9yTWVzc2FnZTogJ1RpdmVtb3MgdW0gcHJvYmxlbWEgYW8gY2FycmVnYXIgb3MgY2xpZW50ZXMuIFBvciBmYXZvciwgdGVudGUgbm92YW1lbnRlIGVtIGFsZ3VucyBtaW51dG9zLicsXG4gICAgICBlbXB0eVJlY2VudENsaWVudHM6ICdWb2PDqiBuw6NvIHRlbSBjbGllbnRlcyByZWNlbnRlcy4gRGlnaXRlIG8gbm9tZSBkZSB1bSBjbGllbnRlIG5hIGJ1c2NhIHBhcmEgZW5jb250csOhLWxvLicsXG4gICAgICBlbXB0eVN0YXRlOiAnT3BzISBOw6NvIGVuY29udHJhbW9zIGNsaWVudGVzIGNvbSBlc3NlIG5vbWUuIFRlbnRlIG91dHJhIGJ1c2NhLicsXG4gICAgICBwcm9qZWN0OiAncHJvamV0bycsXG4gICAgICBw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Q3pCd1YsTUFBTSxFQUFFLE9BQU87SUFDZkMsSUFBSSxFQUFFLFlBQVk7SUFDbEJDLFlBQVksRUFBRSx3QkFBd0I7SUFDdEM3ZCxLQUFLLEVBQUUsQ0FBQztFQUNWLENBQUM7RUFDRDhkLGdCQUFnQixFQUFFO0lBQ2hCN2QsS0FBSyxFQUFFLDZCQUE2QjtJQUNwQ2tPLFNBQVMsRUFBRSw4QkFBOEI7SUFDekNDLFVBQVUsRUFBRSxrQ0FBa0M7SUFDOUNyTyxNQUFNLEVBQUUsVUFBVTtJQUNsQixVQUFRO0VBQ1Y7QUFBQyxLQUVGZixRQUFRLENBQUMrZSxlQUFlLEVBQUFuWixhQUFBLENBQUFBLGFBQUEsS0FDcEJ4RSxjQUFjO0VBQ2pCMmQsZUFBZSxFQUFFO0lBQ2Y5ZCxLQUFLLEVBQUUseUNBQXlDO0lBQ2hETSxLQUFLLEVBQUU7TUFDTE4sS0FBSyxFQUFFLHlDQUF5QztNQUNoRDhDLFFBQVEsRUFDTjtJQUNKLENBQUM7SUFDREEsUUFBUSxFQUFFLHVFQUF1RTtJQUNqRmliLFlBQVksRUFBRSxzQkFBc0I7SUFDcEN4UyxXQUFXLEVBQUUsNkJBQTZCO0lBQzFDVSxhQUFhLEVBQUUsa0JBQWtCO0lBQ2pDK1IsY0FBYyxFQUFFLFVBQVU7SUFDMUJDLGlCQUFpQixFQUFFLDJCQUEyQjtJQUM5Q0MsWUFBWSxFQUFFLGlHQUFpRztJQUMvR0MsbUJBQW1CLEVBQUUsd0ZBQXdGO0lBQzdHQyxVQUFVLEVBQUUsaUVBQWlFO0lBQzdFQyxhQUFhLEVBQUUsYUFBYTtJQUM1QkMsWUFBWSxFQUFFO0VBQ2hCO0FBQUMsS0FFRnZmLFFBQVEsQ0FBQzJZLGNBQWMsRUFBQS9TLGFBQUEsQ0FBQUEsYUFBQSxLQUNuQnhFLGNBQWM7RUFDakJ1WCxjQUFjLEVBQUU7SUFDZDFYLEtBQUssRUFBRSx5Q0FBeUM7SUFDaERNLEtBQUssRUFBRTtNQUNMTixLQUFLLEVBQUUseUNBQXlDO01BQ2hEOEMsUUFBUSxFQUNOO0lBQ0osQ0FBQztJQUNEQSxRQUFRLEVBQUUsdUVBQXVFO0lBQ2pGeWIsV0FBVyxFQUFFLHNCQUFzQjtJQUNuQ2hULFdBQVcsRUFBRSwwQkFBMEI7SUFDdkNpVCxZQUFZLEVBQUUsa0JBQWtCO0lBQ2hDQyxhQUFhLEVBQUUsVUFBVTtJQUN6QkMsZ0JBQWdCLEVBQUUsMkJBQTJCO0lBQzdDUixZQUFZLEVBQUUsNEZBQTRGO0lBQzFHUyxrQkFBa0IsRUFBRSx3RkFBd0Y7SUFDNUdQLFVBQVUsRUFBRSxpRUFBaUU7SUFDN0UxYixPQUFPLEVBQUUsU0FBUztJQUNsQlYsUUFBUSxFQUFFO0VBQ1o7QUFBQyIsImlnbm9yZUxpc3QiOltdfQ==
|