@projectcor/maia-components 2.29.0 → 2.30.1-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/CHANGELOG.md +656 -0
- 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 +445 -0
- package/lib/components/atoms/ContextMentionChip/index.js +4 -0
- package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +533 -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 +282 -0
- package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +148 -0
- package/lib/components/atoms/ContextMentionItem/index.js +2 -0
- package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +290 -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 +1233 -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 +186 -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/SkillsDropdown/SkillsDropdown.js +208 -0
- package/lib/components/atoms/SkillsDropdown/SkillsDropdown.styles.js +77 -0
- package/lib/components/atoms/SkillsDropdown/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/PlusIcon.js +29 -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/SkillCreatedByIcon.js +20 -0
- package/lib/components/atoms/icons/SkillIcon.js +30 -0
- package/lib/components/atoms/icons/SkillVisibilityEveryoneIcon.js +23 -0
- package/lib/components/atoms/icons/SkillVisibilityOnlyMeIcon.js +23 -0
- package/lib/components/atoms/icons/SkillsNavIcon.js +24 -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 +54 -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 +236 -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 +119 -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 +1254 -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 +453 -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 +430 -0
- package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +169 -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 +60 -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 +716 -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 +1449 -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 +182 -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 +585 -0
- package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +154 -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 +10 -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 +175 -0
- package/lib/hooks/useAgentModel/useDeleteAgent.js +88 -0
- package/lib/hooks/useAgentModel/useUpdateAgent.js +176 -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 +500 -0
- package/lib/hooks/useContextPinPopover.js +228 -0
- package/lib/hooks/useDebounce.js +18 -0
- package/lib/hooks/useEntitySearch.js +1053 -0
- package/lib/hooks/useEvent.js +94 -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 +120 -0
- package/lib/hooks/useMentionPopover.js +342 -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/useSkillsCatalog.js +66 -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 +793 -0
- package/lib/lang/en/index.js +793 -0
- package/lib/lang/es/index.js +794 -0
- package/lib/lang/fr/index.js +614 -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/connectors.js +250 -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 +120 -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 +51 -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 +95 -0
- package/lib/utils/openTaskInCorPanel.js +22 -0
- package/lib/utils/orchestratorSubagents.js +11 -0
- package/lib/utils/renderContextMentions.js +420 -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
- package/README.md +0 -2
|
@@ -0,0 +1,793 @@
|
|
|
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: 'Close',
|
|
8
|
+
minimize: 'Minimize',
|
|
9
|
+
howWorks: 'How does it work?',
|
|
10
|
+
brandName: 'MAIA',
|
|
11
|
+
expand: 'Expand',
|
|
12
|
+
collapse: 'Collapse',
|
|
13
|
+
goBack: 'Go back to the start',
|
|
14
|
+
copy: 'Copy',
|
|
15
|
+
copied: 'Copied',
|
|
16
|
+
saved: 'Saved',
|
|
17
|
+
selectProject: 'Select project',
|
|
18
|
+
save: 'Save',
|
|
19
|
+
cancel: 'Cancel'
|
|
20
|
+
};
|
|
21
|
+
var error = {
|
|
22
|
+
title: 'A problem has occurred',
|
|
23
|
+
description: 'We are currently experiencing some issues, please try again in a few minutes.',
|
|
24
|
+
tryAgain: 'Try again'
|
|
25
|
+
};
|
|
26
|
+
var genericSection = {
|
|
27
|
+
error: error,
|
|
28
|
+
globals: globals
|
|
29
|
+
};
|
|
30
|
+
var projectSummarySection = {
|
|
31
|
+
resume: 'Resume',
|
|
32
|
+
hello: 'Hi, {{name}}!',
|
|
33
|
+
welcome: "I'm MAIA, your assistant at COR",
|
|
34
|
+
feedback: {
|
|
35
|
+
thumbsUp: 'It was helpful',
|
|
36
|
+
thumbsDown: "It wasn't helpful",
|
|
37
|
+
sources: 'Sources'
|
|
38
|
+
},
|
|
39
|
+
config: {
|
|
40
|
+
projectSummary: 'Summarize project',
|
|
41
|
+
projectSummaryTitle: 'Project summary',
|
|
42
|
+
goBack: 'Go back',
|
|
43
|
+
selectedProject: 'Selected project',
|
|
44
|
+
selectProject: 'Select project',
|
|
45
|
+
configureResume: 'Advanced settings',
|
|
46
|
+
generatingResume: 'Generating summary',
|
|
47
|
+
generateResume: 'Generate',
|
|
48
|
+
hideConfig: 'Hide settings'
|
|
49
|
+
},
|
|
50
|
+
configureSettings: _defineProperty(_defineProperty(_defineProperty(_defineProperty(_defineProperty({}, ProjectSummaryConfigKeys.GENERAL_STATUS, 'Dates and deadlines'), ProjectSummaryConfigKeys.INCOME_COSTS, 'Profitability'), ProjectSummaryConfigKeys.TIME_HOURS, 'Estimated hours and usage'), ProjectSummaryConfigKeys.TASKS_PROGRESS, 'Tasks and progress'), ProjectSummaryConfigKeys.REWORKS, 'Rework')
|
|
51
|
+
};
|
|
52
|
+
var homeMenu = {
|
|
53
|
+
projectSummary: {
|
|
54
|
+
title: 'Project Summary',
|
|
55
|
+
description: 'Generate reports with AI based on your project'
|
|
56
|
+
},
|
|
57
|
+
faq: {
|
|
58
|
+
title: 'Frequently Asked Questions',
|
|
59
|
+
startTitle: 'You can start with...',
|
|
60
|
+
empty: 'No frequently asked questions',
|
|
61
|
+
error: 'Oops! We had a problem loading the frequently asked questions. Please try again in a few minutes.',
|
|
62
|
+
categories: {
|
|
63
|
+
projects: 'Project',
|
|
64
|
+
tasks: 'Tasks',
|
|
65
|
+
hours: 'Hours',
|
|
66
|
+
reworks: 'Rework',
|
|
67
|
+
undefined: 'No category'
|
|
68
|
+
}
|
|
69
|
+
},
|
|
70
|
+
fua: {
|
|
71
|
+
title: 'Frequently used actions',
|
|
72
|
+
newBadge: 'New',
|
|
73
|
+
error: 'Oops! We had a problem loading the frequently used actions. Please try again in a few minutes.'
|
|
74
|
+
},
|
|
75
|
+
recentContexts: {
|
|
76
|
+
title: 'Choose a recent context for a more accurate answer:',
|
|
77
|
+
types: {
|
|
78
|
+
client: 'Client',
|
|
79
|
+
project: 'Project',
|
|
80
|
+
task: 'Task'
|
|
81
|
+
}
|
|
82
|
+
},
|
|
83
|
+
contextHome: {
|
|
84
|
+
greeting: 'Hi, {{name}} 👋',
|
|
85
|
+
subtitle: "I'm MAIA, your assistant for tasks, projects, and clients.\nShall we continue with something recent?",
|
|
86
|
+
subtitleCollaborator: "I'm MAIA, your assistant for tasks. Shall we continue with something recent?",
|
|
87
|
+
subtitleCollaboratorWithHours: 'Log your hours or start a chat about a task.',
|
|
88
|
+
subtitleManagerWithHours: 'Where would you like to start?',
|
|
89
|
+
hoursSection: {
|
|
90
|
+
title: 'Log hours'
|
|
91
|
+
},
|
|
92
|
+
recentTasksSection: {
|
|
93
|
+
title: 'Ask about a task',
|
|
94
|
+
subtitle: 'Pick a recent task to use as context.'
|
|
95
|
+
},
|
|
96
|
+
recentContextsSectionManager: {
|
|
97
|
+
title: 'Or resume something recent',
|
|
98
|
+
subtitle: 'Pick a task, project, or client to use as context'
|
|
99
|
+
},
|
|
100
|
+
contextGreeting: {
|
|
101
|
+
project: 'What do you want us to analyze? Hours, estimates, rework? You choose!',
|
|
102
|
+
task: "I'm here to help you with this task. Use one of the actions to get started.",
|
|
103
|
+
client: 'What do you want us to analyze? Profitability, progress, deadlines? You choose!'
|
|
104
|
+
}
|
|
105
|
+
},
|
|
106
|
+
plannerHome: {
|
|
107
|
+
title: "Let's start tracking your hours",
|
|
108
|
+
subtitle: 'Where should we begin?'
|
|
109
|
+
},
|
|
110
|
+
action: {
|
|
111
|
+
categories: {
|
|
112
|
+
tasks: 'Task actions',
|
|
113
|
+
collaborators: 'Collaborators and assignees',
|
|
114
|
+
labels: 'Labels and types',
|
|
115
|
+
checklists: 'Checklists',
|
|
116
|
+
deliverables: 'Deliverables',
|
|
117
|
+
reworks: 'Reworks',
|
|
118
|
+
hours: 'Time logging'
|
|
119
|
+
}
|
|
120
|
+
},
|
|
121
|
+
createdBy: 'by',
|
|
122
|
+
createdByTooltip: 'Agent creator user',
|
|
123
|
+
createdByTooltipDeleted: 'User deleted. Their name is kept for reference.',
|
|
124
|
+
taskGreeting: "I'm here to help you with this task. Use one of the actions to get started.",
|
|
125
|
+
hello: {
|
|
126
|
+
title: 'Done! I’m now using the project',
|
|
127
|
+
title_1: 'Anticipate deviations. Let’s analyze this project.',
|
|
128
|
+
title_2: 'What do you want us to analyze? Hours, estimates, rework? You choose!',
|
|
129
|
+
title_3: 'Let’s review this project’s progress.',
|
|
130
|
+
subtitle: 'To get started, I can help you with these options. Or feel free to type your question directly!',
|
|
131
|
+
titlePm: 'Hi, {{name}}! I’m {{agent}}, your assistant.',
|
|
132
|
+
subtitlePm: 'To give you accurate answers, I need to know which project we’re talking about. Which one do you choose?'
|
|
133
|
+
},
|
|
134
|
+
maiaker: {
|
|
135
|
+
title: 'Turn repetitive processes into smart agents',
|
|
136
|
+
description: 'Create agents that analyze and generate content tailored to your needs.',
|
|
137
|
+
createManualAgent: 'Create agent manually',
|
|
138
|
+
badgeNew: 'New',
|
|
139
|
+
briefCard: {
|
|
140
|
+
title: 'Brief specialist agent',
|
|
141
|
+
description: 'Create and improve briefs so they are ready to use in tasks.',
|
|
142
|
+
prompt: 'I want to create a brief specialist agent.'
|
|
143
|
+
},
|
|
144
|
+
comingSoonCard: {
|
|
145
|
+
title: 'More coming soon',
|
|
146
|
+
description: "We're working to bring you more agents"
|
|
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: 'Tab navigation: @, @@… in order. Also Alt/Cmd + ←/→',
|
|
154
|
+
recentsTitle: 'Recents',
|
|
155
|
+
userNoPosition: 'No position',
|
|
156
|
+
me: 'Yo',
|
|
157
|
+
tabs: {
|
|
158
|
+
client: 'Client',
|
|
159
|
+
project: 'Project',
|
|
160
|
+
task: 'Task',
|
|
161
|
+
user: 'User',
|
|
162
|
+
mcp: 'Connectors',
|
|
163
|
+
skill: 'Skills'
|
|
164
|
+
},
|
|
165
|
+
loading: 'Searching...',
|
|
166
|
+
error: 'Something went wrong. Please try again.',
|
|
167
|
+
empty: {
|
|
168
|
+
recents: 'Start typing to search',
|
|
169
|
+
withQuery: 'No results for "{{query}}"'
|
|
170
|
+
},
|
|
171
|
+
counters: {
|
|
172
|
+
projects: 'projects',
|
|
173
|
+
tasks: 'tasks'
|
|
174
|
+
}
|
|
175
|
+
},
|
|
176
|
+
contextPin: {
|
|
177
|
+
addContext: 'Global context',
|
|
178
|
+
searchPlaceholder: 'Search context…',
|
|
179
|
+
remove: 'Remove context'
|
|
180
|
+
},
|
|
181
|
+
button: 'AI',
|
|
182
|
+
title: 'Hi, {{name}}!',
|
|
183
|
+
description: "I'm MAIA, your assistant, and I'm here to help you with your questions.",
|
|
184
|
+
newChat: 'New chat',
|
|
185
|
+
openAgentCreator: 'Create agent',
|
|
186
|
+
openMarketplace: 'Agent marketplace',
|
|
187
|
+
history: {
|
|
188
|
+
tooltip: 'History',
|
|
189
|
+
title: 'Empty history',
|
|
190
|
+
description: 'No conversations found',
|
|
191
|
+
item: {
|
|
192
|
+
date: 'Last update {{date}}'
|
|
193
|
+
},
|
|
194
|
+
menu: {
|
|
195
|
+
rename: 'Rename',
|
|
196
|
+
"delete": 'Delete'
|
|
197
|
+
},
|
|
198
|
+
loadingMore: 'Loading more conversations'
|
|
199
|
+
},
|
|
200
|
+
onboarding: {
|
|
201
|
+
maia: 'MAIA',
|
|
202
|
+
agentCustom: 'Custom agents',
|
|
203
|
+
howCreateAgent: 'How to create an agent?',
|
|
204
|
+
tooltip: 'How does it work?',
|
|
205
|
+
howItWorks: 'How does it work?'
|
|
206
|
+
},
|
|
207
|
+
qa: {
|
|
208
|
+
title: 'Frequently Asked Questions',
|
|
209
|
+
items: {
|
|
210
|
+
rentabilidad_proyecto: 'What is the profitability of this project?',
|
|
211
|
+
avance_proyecto: 'What is the progress of this project?',
|
|
212
|
+
tareas_proyecto: 'What are the upcoming tasks due?'
|
|
213
|
+
}
|
|
214
|
+
},
|
|
215
|
+
chat: {
|
|
216
|
+
generating: 'Thinking',
|
|
217
|
+
generatingAttachment: 'Analyzing attachment',
|
|
218
|
+
generatingDeepSearch: 'Starting research',
|
|
219
|
+
generatingWebSearch: 'Searching the web',
|
|
220
|
+
suggestionsTitle: 'Suggested responses',
|
|
221
|
+
createAgentActionsTitle: 'Next step',
|
|
222
|
+
createAgentActionStartChat: 'Start a chat with the new agent',
|
|
223
|
+
createAgentActionKnowledge: 'Upload files to the knowledge base',
|
|
224
|
+
createAgentActionLoadError: 'Could not load the agent. Please try again.',
|
|
225
|
+
writing: 'Writing the response',
|
|
226
|
+
executingAction: 'Executing action',
|
|
227
|
+
processing: 'Processing',
|
|
228
|
+
activity: {
|
|
229
|
+
generating: {
|
|
230
|
+
preparing: 'Preparing your response',
|
|
231
|
+
considering: 'Reviewing your question',
|
|
232
|
+
almostReady: 'Shaping the approach'
|
|
233
|
+
},
|
|
234
|
+
thinking: {
|
|
235
|
+
analyzing: 'Analyzing your question',
|
|
236
|
+
reviewing: 'Reviewing context',
|
|
237
|
+
planning: 'Structuring the response'
|
|
238
|
+
},
|
|
239
|
+
search: {
|
|
240
|
+
scanning: 'Searching the web',
|
|
241
|
+
summarizing: 'Reviewing results'
|
|
242
|
+
},
|
|
243
|
+
deepSearch: {
|
|
244
|
+
exploring: 'Exploring sources',
|
|
245
|
+
crossChecking: 'Verifying information'
|
|
246
|
+
},
|
|
247
|
+
attachment: {
|
|
248
|
+
reading: 'Reading your attachment',
|
|
249
|
+
extracting: 'Extracting what matters',
|
|
250
|
+
readingPlural: 'Reading your attachments',
|
|
251
|
+
extractingPlural: 'Extracting what matters'
|
|
252
|
+
},
|
|
253
|
+
writing: {
|
|
254
|
+
composing: 'Writing the response'
|
|
255
|
+
},
|
|
256
|
+
dynamicContextTooltip: 'This context was dynamically generated and may change throughout the conversation.',
|
|
257
|
+
creatingTask: 'Creating task',
|
|
258
|
+
creatingTasksBatch: 'Creating tasks',
|
|
259
|
+
creatingAgent: 'Creating agent',
|
|
260
|
+
editingAgent: 'Editing agent',
|
|
261
|
+
editingTask: 'Editing task',
|
|
262
|
+
editingTasksBatch: 'Editing tasks',
|
|
263
|
+
deletingTask: 'Deleting task',
|
|
264
|
+
deletingTasksBatch: 'Deleting tasks',
|
|
265
|
+
assigningUser: 'Assigning user',
|
|
266
|
+
unassigningUser: 'Unassigning user',
|
|
267
|
+
assigningLabel: 'Assigning label',
|
|
268
|
+
updatingTaskType: 'Updating task type',
|
|
269
|
+
updatingEstimatedHours: 'Updating estimated hours',
|
|
270
|
+
updatingDeliverable: 'Updating deliverable',
|
|
271
|
+
loggingHours: 'Logging hours',
|
|
272
|
+
creatingChecklist: 'Creating checklist',
|
|
273
|
+
creatingLabel: 'Creating label',
|
|
274
|
+
editingProject: 'Editing project',
|
|
275
|
+
creatingChecklistItem: 'Adding checklist item',
|
|
276
|
+
queryingHours: 'Querying hours',
|
|
277
|
+
configuringAgentAccess: 'Changing agent visibility',
|
|
278
|
+
sendingTaskMessage: 'Sending task message',
|
|
279
|
+
deletingChecklistItem: 'Deleting checklist item',
|
|
280
|
+
removingTaskType: 'Removing task type',
|
|
281
|
+
removingLabel: 'Removing label',
|
|
282
|
+
updatingDeliverableCount: 'Updating deliverable count',
|
|
283
|
+
creatingRework: 'Creating rework',
|
|
284
|
+
updatingRework: 'Updating rework',
|
|
285
|
+
generatingFile: 'Generating file',
|
|
286
|
+
resumingAction: 'Running approved action'
|
|
287
|
+
},
|
|
288
|
+
loadingMore: 'Loading more messages',
|
|
289
|
+
footer: {
|
|
290
|
+
placeholder: 'Type your question here…',
|
|
291
|
+
orchestratorPlaceholder: 'Ask Maia, @ to mention or / for quick actions',
|
|
292
|
+
agentLabel: 'The Agent',
|
|
293
|
+
disclaimer: '{{agentName}} may make mistakes. Please verify important information.',
|
|
294
|
+
disclaimerAgent: 'AI models may make mistakes. Verify important information.',
|
|
295
|
+
corAccessLabel: 'COR access',
|
|
296
|
+
corAccessTooltip: 'COR data access'
|
|
297
|
+
},
|
|
298
|
+
error: 'An error occurred while generating your response, please try again.',
|
|
299
|
+
retry: 'Retry',
|
|
300
|
+
errorAccessDenied: "You don't have access to interact with this agent. It is possible that your accessibility settings have changed. Please contact the person in your organization who manages agents for more information.",
|
|
301
|
+
errorPromptTooLong: 'You have exceeded the context limit {{used}} tokens. Please retry or continue in another chat',
|
|
302
|
+
changeProject: 'I detected that you want to change Project.\n\n**Select the project to continue:**',
|
|
303
|
+
searchWeb: 'Search the web',
|
|
304
|
+
deepSearch: 'Advanced internet search (access to more sources)',
|
|
305
|
+
attachFile: 'Attach file',
|
|
306
|
+
plusMenuAttach: 'Attach files',
|
|
307
|
+
dropFilesHere: 'Drop files here',
|
|
308
|
+
plusMenuDeepInvestigation: 'Research in depth',
|
|
309
|
+
plusMenuQuickActions: 'Quick actions',
|
|
310
|
+
openPlusMenuAria: 'Attachments and search options',
|
|
311
|
+
openMentionAria: 'Mention',
|
|
312
|
+
removeAttachmentAria: 'Remove file',
|
|
313
|
+
removeActiveToolAria: 'Remove search mode',
|
|
314
|
+
send: 'Send',
|
|
315
|
+
limitFiles: 'You have exceeded the attachment limit',
|
|
316
|
+
stop: 'Stop generating',
|
|
317
|
+
cancelled: 'The search has been cancelled.',
|
|
318
|
+
tooManyActiveSessions: 'Too many conversations are generating at once. Wait for one to finish before starting another.',
|
|
319
|
+
attachmentPreviewModal: {
|
|
320
|
+
loading: 'Loading...',
|
|
321
|
+
unsupportedFileMessage: 'We had a problem loading the preview. Please try again in a few minutes.',
|
|
322
|
+
typeLabel: 'Type:',
|
|
323
|
+
unknown: 'Unknown',
|
|
324
|
+
sizeLabel: 'Size:',
|
|
325
|
+
excel: {
|
|
326
|
+
sheetSelectorLabel: 'Sheet:',
|
|
327
|
+
loadError: 'Could not load Excel file content.',
|
|
328
|
+
fileReadError: 'Error reading file.',
|
|
329
|
+
sheetLoadError: 'Error loading selected sheet.'
|
|
330
|
+
},
|
|
331
|
+
word: {
|
|
332
|
+
loadError: 'Could not load Word document content.',
|
|
333
|
+
legacyDocUnsupported: 'Preview for .doc files is not available. Please use .docx format.'
|
|
334
|
+
},
|
|
335
|
+
ppt: {
|
|
336
|
+
loadError: 'Could not load presentation content.',
|
|
337
|
+
legacyPptUnsupported: 'Preview for .ppt files is not available. Please use .pptx format.',
|
|
338
|
+
slideLabel: 'Slide {{number}}',
|
|
339
|
+
emptySlide: 'This slide has no text or images to preview.'
|
|
340
|
+
}
|
|
341
|
+
}
|
|
342
|
+
},
|
|
343
|
+
deleteQuestionModal: {
|
|
344
|
+
title: 'Do you want to delete this conversation?',
|
|
345
|
+
firstPart: 'You are about to delete',
|
|
346
|
+
secondPart: 'This action is irreversible.',
|
|
347
|
+
cancel: 'Cancel',
|
|
348
|
+
"delete": 'Delete'
|
|
349
|
+
},
|
|
350
|
+
deleteSkillModal: {
|
|
351
|
+
title: 'Do you want to delete this skill?',
|
|
352
|
+
firstPart: 'You are about to delete',
|
|
353
|
+
secondPart: 'This action is irreversible.',
|
|
354
|
+
cancel: 'Cancel',
|
|
355
|
+
"delete": 'Delete'
|
|
356
|
+
},
|
|
357
|
+
editQuestionModal: {
|
|
358
|
+
newName: 'New name',
|
|
359
|
+
title: 'Rename conversation',
|
|
360
|
+
rename: 'Rename',
|
|
361
|
+
cancel: 'Cancel',
|
|
362
|
+
maxLength: 'You’ve reached the 140-character limit.'
|
|
363
|
+
},
|
|
364
|
+
modalFileExceeds: {
|
|
365
|
+
limitFilesTitle: 'Maximum attachments exceeded.',
|
|
366
|
+
limitSizeTitle: "You've exceeded the allowed file size limit",
|
|
367
|
+
limitFilesDescription: 'You can attach a maximum of 5 files per message. The following files could not be attached:',
|
|
368
|
+
limitSizeDescription: 'One or more files exceed the maximum allowed size by type. The following files could not be attached:',
|
|
369
|
+
accept: 'Accept',
|
|
370
|
+
limit: 'limit'
|
|
371
|
+
},
|
|
372
|
+
sourcesInformationModal: {
|
|
373
|
+
title: 'Sources:'
|
|
374
|
+
},
|
|
375
|
+
agents: {
|
|
376
|
+
title: 'Agents',
|
|
377
|
+
newAgent: 'New agent',
|
|
378
|
+
createAgent: 'Create Agent',
|
|
379
|
+
edit: 'Edit',
|
|
380
|
+
maia: '(Project specialist)',
|
|
381
|
+
addFavorite: 'Add to favorites',
|
|
382
|
+
removeFavorite: 'Remove from favorites',
|
|
383
|
+
favoriteToggledAddedSuccess: 'Agent added to favorites',
|
|
384
|
+
favoriteToggledRemovedSuccess: 'Agent removed from favorites',
|
|
385
|
+
favoriteToggledError: 'Your favorite couldn’t be saved. Please try again.',
|
|
386
|
+
favoriteToggledRemovedError: 'The favorite couldn’t be removed. Please try again.',
|
|
387
|
+
maiaIntroduction: 'Welcome to MAIA, your assistant to make your day-to-day better.'
|
|
388
|
+
},
|
|
389
|
+
conversations: {
|
|
390
|
+
title: 'My conversations',
|
|
391
|
+
agentsSectionTitle: 'Agents',
|
|
392
|
+
maiakerNav: 'Agent builder',
|
|
393
|
+
myAgentsNav: 'My agents',
|
|
394
|
+
mySkillsNav: 'Skills',
|
|
395
|
+
error: 'An error occurred while loading the conversation history',
|
|
396
|
+
empty: 'All your conversations with the agents will be displayed here',
|
|
397
|
+
emptyLabel: 'Message with attachments',
|
|
398
|
+
unreadLabel: 'Unread',
|
|
399
|
+
minimizedOpen: 'Open MAIA',
|
|
400
|
+
minimizedSeeAnswer: 'See answer',
|
|
401
|
+
collapse: 'Collapse',
|
|
402
|
+
expand: 'Expand',
|
|
403
|
+
newChat: 'New chat',
|
|
404
|
+
generating: 'Generating response',
|
|
405
|
+
sessionFinished: '{{title}} finished responding',
|
|
406
|
+
sessionFinishedApproval: '{{title}} requires your approval',
|
|
407
|
+
sessionFinishedError: '{{title}} encountered an error',
|
|
408
|
+
openAgentCreator: 'Create agent',
|
|
409
|
+
openMarketplace: 'Agent marketplace'
|
|
410
|
+
},
|
|
411
|
+
marketplace: {
|
|
412
|
+
back: 'Back',
|
|
413
|
+
title: 'Ideas for building agents',
|
|
414
|
+
description: 'Choose a strong starting point and open the editor with the agent already prefilled so you can adapt it to your use case.',
|
|
415
|
+
myAgentsTitle: 'My agents',
|
|
416
|
+
myAgentsReadyTitle: 'Your agents are ready to help you with tasks',
|
|
417
|
+
myAgentsDescription: 'These are your custom agents. Select one to start chatting with that profile.',
|
|
418
|
+
myAgentsEmptyStateTitle: "You don't have any agents yet",
|
|
419
|
+
myAgentsEmptyStateDescription: 'Click the button below to start creating agents tailored to your needs.',
|
|
420
|
+
myAgentsEmptyStateDescriptionNoPerm: 'When someone with permission sets them up, you will be able to access them from here.',
|
|
421
|
+
myAgentsEmptyStateButton: 'Create agent',
|
|
422
|
+
myAgentsFallbackIntro: 'Custom agent ready to help in your workflow.',
|
|
423
|
+
myAgentsFallbackDescription: 'Click use agent to start a conversation with this agent.',
|
|
424
|
+
myAgentsFallbackDate: 'A few days ago',
|
|
425
|
+
myAgentsToday: 'Today',
|
|
426
|
+
myAgentsOneDayAgo: '1 day ago',
|
|
427
|
+
myAgentsDaysAgo: '{{days}} days ago',
|
|
428
|
+
cardMenuAriaLabel: 'Agent actions menu',
|
|
429
|
+
use: 'Use',
|
|
430
|
+
createAgent: 'Create agent manually',
|
|
431
|
+
searchAgentPlaceholder: 'Search agent...',
|
|
432
|
+
searchMinLength: 'min. 3 characters',
|
|
433
|
+
searchNoResults: 'No results found.',
|
|
434
|
+
searchNoResultsSubtitle: 'Create an AI agent that can think, act, and automate work for you',
|
|
435
|
+
useTemplate: 'Create from this idea',
|
|
436
|
+
useMyAgent: 'Use agent',
|
|
437
|
+
badges: {
|
|
438
|
+
branding: 'Branding',
|
|
439
|
+
linkedin: 'LinkedIn',
|
|
440
|
+
marketing: 'Marketing'
|
|
441
|
+
}
|
|
442
|
+
},
|
|
443
|
+
mySkills: {
|
|
444
|
+
title: 'Specialize MAIA with your own rules',
|
|
445
|
+
subtitle: 'Skills are global: they are available to all of your agents.',
|
|
446
|
+
tabMySkills: 'My skills',
|
|
447
|
+
tabSharedSkills: 'Shared skills',
|
|
448
|
+
dropdownButton: 'Skills',
|
|
449
|
+
dropdownCreate: 'Create new skill',
|
|
450
|
+
dropdownEmpty: 'No skills yet',
|
|
451
|
+
dropdownError: 'Something went wrong. Please try again.',
|
|
452
|
+
mySkillsDescription: 'Skills created by you.',
|
|
453
|
+
sharedSkillsDescription: 'Skills shared by other members of your team.',
|
|
454
|
+
searchPlaceholder: 'Search skills...',
|
|
455
|
+
createManually: 'Create manually',
|
|
456
|
+
visibilityOnlyMe: 'Only me',
|
|
457
|
+
visibilityEveryone: 'Visible to everyone',
|
|
458
|
+
sharedEmptyStateTitle: 'No one has shared skills with you yet.',
|
|
459
|
+
sharedEmptyStateDescription: 'When your company shares skills, they will appear here.',
|
|
460
|
+
createSkill: 'Create skill',
|
|
461
|
+
preview: 'Preview',
|
|
462
|
+
previewEmpty: 'Nothing to preview yet.',
|
|
463
|
+
uploadMd: 'Upload .md',
|
|
464
|
+
uploadError: 'Only .md files are allowed',
|
|
465
|
+
createWithMaia: 'Create with Maia',
|
|
466
|
+
writeInstructions: 'Write skill instructions',
|
|
467
|
+
uploadSkill: 'Upload a skill',
|
|
468
|
+
generatePlaceholder: 'I want a Skill to create my projects',
|
|
469
|
+
generateWithMaia: 'Create the Skill with Maia',
|
|
470
|
+
generateNeedsName: 'Enter a name first to describe the skill',
|
|
471
|
+
generateSuccess: 'Skill generated with Maia',
|
|
472
|
+
generateError: 'The skill could not be generated. Please try again.',
|
|
473
|
+
cardMenuAriaLabel: 'Skill actions menu',
|
|
474
|
+
edit: 'Edit',
|
|
475
|
+
"delete": 'Delete',
|
|
476
|
+
cancel: 'Cancel',
|
|
477
|
+
save: 'Save',
|
|
478
|
+
close: 'Close',
|
|
479
|
+
createTitle: 'Skill creation',
|
|
480
|
+
editTitle: 'Edit skill',
|
|
481
|
+
viewTitle: 'Shared skill',
|
|
482
|
+
useSkill: 'Use skill',
|
|
483
|
+
infoTooltip: 'Skills are instructions you give an agent so it solves a task the same way every time. Mention it with # in the chat and the agent will follow those steps.',
|
|
484
|
+
sharedCreatedBy: 'Created by {{name}}',
|
|
485
|
+
nameLabel: 'Name',
|
|
486
|
+
namePlaceholder: 'Skill name',
|
|
487
|
+
descriptionLabel: 'Description',
|
|
488
|
+
descriptionPlaceholder: 'Briefly describe what the skill is for',
|
|
489
|
+
instructionsLabel: 'Instructions',
|
|
490
|
+
shareWithCompany: 'Enable for the whole company',
|
|
491
|
+
createdBy: 'Created by',
|
|
492
|
+
lastUpdated: 'Last updated',
|
|
493
|
+
saveAndUse: 'Save and use skill',
|
|
494
|
+
contentLabel: 'Skill',
|
|
495
|
+
contentPlaceholder: 'Write the skill...',
|
|
496
|
+
emptyStateTitle: "You don't have any skills yet",
|
|
497
|
+
emptyStateDescription: 'Click the button below to start creating skills tailored to you.',
|
|
498
|
+
emptyStateDescriptionNoPerm: 'When someone with permission sets them up, you will be able to access them from here.',
|
|
499
|
+
emptyStateButton: 'Create skill',
|
|
500
|
+
searchEmptyStateTitle: "We couldn't find any skills",
|
|
501
|
+
searchEmptyStateDescription: 'Try another term or check your search.',
|
|
502
|
+
createSuccess: 'Skill created successfully',
|
|
503
|
+
createError: 'The skill could not be created. Please try again.',
|
|
504
|
+
updateSuccess: 'Skill updated successfully',
|
|
505
|
+
updateError: 'The skill could not be updated. Please try again.',
|
|
506
|
+
deleteSuccess: 'Skill deleted successfully',
|
|
507
|
+
deleteError: 'The skill could not be deleted. Please try again.'
|
|
508
|
+
},
|
|
509
|
+
snackbar: {
|
|
510
|
+
deleteChat: {
|
|
511
|
+
success: 'Chat deleted successfully',
|
|
512
|
+
error: 'An unexpected error occurred. Please, try again.'
|
|
513
|
+
},
|
|
514
|
+
renamedChat: {
|
|
515
|
+
success: 'Conversation renamed successfully',
|
|
516
|
+
error: 'An unexpected error occurred. Please, try again.'
|
|
517
|
+
},
|
|
518
|
+
loadMoreAgents: {
|
|
519
|
+
error: 'An unexpected error occurred. Please, try again.'
|
|
520
|
+
}
|
|
521
|
+
},
|
|
522
|
+
approvalBox: {
|
|
523
|
+
untitledAgent: 'Untitled agent',
|
|
524
|
+
actions: {
|
|
525
|
+
create_task: 'Creation of task',
|
|
526
|
+
create_tasks_batch: 'Creation of tasks',
|
|
527
|
+
create_agent: 'Create agent',
|
|
528
|
+
edit_agent: 'Edit agent',
|
|
529
|
+
edit_project: 'Edit project',
|
|
530
|
+
edit_task: 'Edit task',
|
|
531
|
+
edit_tasks_batch: 'Edit tasks',
|
|
532
|
+
delete_task: 'Delete task',
|
|
533
|
+
delete_tasks_batch: 'Delete tasks',
|
|
534
|
+
task_assign: 'Assign user',
|
|
535
|
+
task_unassign: 'Unassign user',
|
|
536
|
+
assign_task_label: 'Assign label',
|
|
537
|
+
create_labels: 'Create label',
|
|
538
|
+
update_task_type: 'Update task type',
|
|
539
|
+
update_estimated_hours: 'Update estimated hours',
|
|
540
|
+
update_deliverable: 'Update deliverable',
|
|
541
|
+
create_hour: 'Log hours',
|
|
542
|
+
create_checklist: 'Create checklist',
|
|
543
|
+
create_checklist_item: 'Add checklist item',
|
|
544
|
+
clone_task: 'Clone task',
|
|
545
|
+
get_task_date_hours: 'Get hours by date',
|
|
546
|
+
configure_agent_access: 'Change agent visibility',
|
|
547
|
+
send_task_message: 'Send task message',
|
|
548
|
+
delete_checklist_item: 'Delete checklist item',
|
|
549
|
+
remove_task_type: 'Remove task type',
|
|
550
|
+
remove_task_label: 'Remove label',
|
|
551
|
+
count_deliverable: 'Update deliverable count',
|
|
552
|
+
create_rework: 'Create rework',
|
|
553
|
+
update_rework: 'Update rework',
|
|
554
|
+
delete_agent: 'Delete agent',
|
|
555
|
+
unknown: 'Unknown action'
|
|
556
|
+
},
|
|
557
|
+
special: {
|
|
558
|
+
createRework: {
|
|
559
|
+
title: 'Create rework',
|
|
560
|
+
description: 'A rework request will be created on the task with the information below.'
|
|
561
|
+
},
|
|
562
|
+
updateDeliverableChildren: {
|
|
563
|
+
title: 'Update deliverable progress',
|
|
564
|
+
description: 'The progress of linked sub-deliverables for this task will be updated.'
|
|
565
|
+
}
|
|
566
|
+
},
|
|
567
|
+
fields: {
|
|
568
|
+
name: 'Name',
|
|
569
|
+
emoji: 'Emoji',
|
|
570
|
+
introduction: 'Introduction',
|
|
571
|
+
input_placeholder: 'Placeholder',
|
|
572
|
+
user_prompt: 'Main prompt',
|
|
573
|
+
language: 'Language',
|
|
574
|
+
provider: 'Provider',
|
|
575
|
+
model_name: 'Model',
|
|
576
|
+
api_key: 'API key'
|
|
577
|
+
},
|
|
578
|
+
title: 'Confirmation required',
|
|
579
|
+
description: 'You need to approve the following action:',
|
|
580
|
+
approve: 'Approve',
|
|
581
|
+
deny: 'Deny',
|
|
582
|
+
manualApprovalWarning: 'Maia detected that the request was manually approved',
|
|
583
|
+
status: {
|
|
584
|
+
approved: 'Request Approved',
|
|
585
|
+
denied: 'Request Denied'
|
|
586
|
+
}
|
|
587
|
+
},
|
|
588
|
+
chipLlm: {
|
|
589
|
+
tooltip: 'Model: {{model}}'
|
|
590
|
+
},
|
|
591
|
+
clientSelector: {
|
|
592
|
+
project: 'project',
|
|
593
|
+
projects: 'projects'
|
|
594
|
+
}
|
|
595
|
+
})), SECTIONS.abmAgent, _objectSpread(_objectSpread({}, genericSection), {}, {
|
|
596
|
+
agents: 'Agents',
|
|
597
|
+
layoutMenuTooltip: 'Chat layout',
|
|
598
|
+
layoutSidebar: 'Side chat',
|
|
599
|
+
layoutFullscreen: 'Fullscreen chat',
|
|
600
|
+
layoutFloating: 'Floating chat',
|
|
601
|
+
back: 'Back',
|
|
602
|
+
addAgent: 'Add new agent',
|
|
603
|
+
legendDeletedAgent: 'This agent was deleted on',
|
|
604
|
+
legendProjectDeleted: 'The project {{name}} has been deleted. It is not possible to continue the conversation',
|
|
605
|
+
legendNoAccess: 'You no longer have access to interact with the agent {{name}}',
|
|
606
|
+
legendNoPermissions: 'You no longer have permission to view or interact with the agent {{name}}',
|
|
607
|
+
legendLegacyContextSession: 'This conversation belongs to a previous context. You can continue with {{name}} in a new chat.',
|
|
608
|
+
continueInNewChat: 'Continue in a new chat',
|
|
609
|
+
legendModelDeprecated: 'The model selected for this agent is no longer available. Switch to another model to continue using it.',
|
|
610
|
+
legendProviderStatus: 'The model used by this agent is experiencing temporary issues. You can wait for it to recover or switch to a different model.',
|
|
611
|
+
changeModel: 'Change model',
|
|
612
|
+
newAgent: 'New agent',
|
|
613
|
+
createAgent: 'Create Agent',
|
|
614
|
+
editAgent: 'Edit agent',
|
|
615
|
+
cancel: 'Cancel',
|
|
616
|
+
accept: 'Accept',
|
|
617
|
+
deleteAgent: 'Delete agent',
|
|
618
|
+
"continue": 'Continue',
|
|
619
|
+
edit: 'Edit',
|
|
620
|
+
"delete": 'Delete',
|
|
621
|
+
feedback: 'Send Feedback',
|
|
622
|
+
sendFeedback: 'Send feedback',
|
|
623
|
+
saveChanges: 'Save changes',
|
|
624
|
+
createAgentLabelButton: 'Create agent',
|
|
625
|
+
openAgentCreator: 'Create agent',
|
|
626
|
+
openMarketplace: 'Agent marketplace',
|
|
627
|
+
confirmAgentCreated: 'The agent has been successfully created',
|
|
628
|
+
confirmAgentUpdated: 'The agent has been successfully updated',
|
|
629
|
+
confirmCloseCreateAgent: 'Are you sure you want to close? Changes will be lost.',
|
|
630
|
+
confirmCloseEditAgent: 'Are you sure you want to close? Changes will be lost.',
|
|
631
|
+
confirmReloadBrowser: 'Are you sure you want to reload the page? Changes will be lost.',
|
|
632
|
+
confirmAgentUpdatedWithFilesError: 'The agent was edited successfully, but some files could not be processed.',
|
|
633
|
+
confirmAgentWithFilesError: 'The agent was created successfully, but some files could not be processed.',
|
|
634
|
+
confirmAgentDeleted: 'The agent has been successfully deleted',
|
|
635
|
+
errorAccessDenied: "You don't have permission to access this agent. Contact support.",
|
|
636
|
+
errorAgentCreated: 'An unexpected error occurred. Please, try again.',
|
|
637
|
+
attachmentCard: {
|
|
638
|
+
download: 'Download',
|
|
639
|
+
"delete": 'Delete'
|
|
640
|
+
},
|
|
641
|
+
generalSection: {
|
|
642
|
+
title: 'General',
|
|
643
|
+
generalSettings: 'General settings',
|
|
644
|
+
requiredFieldsLabel: '*required',
|
|
645
|
+
infoLabel: 'Add all the information to customize your agent’s behavior.',
|
|
646
|
+
optionalLabel: 'Optional',
|
|
647
|
+
basicSettings: 'Basic settings',
|
|
648
|
+
selectEmoji: 'Select emoji',
|
|
649
|
+
name: 'What is your agent’s name?',
|
|
650
|
+
namePlaceholder: 'Give your agent a name',
|
|
651
|
+
behaviorSettings: 'Behavior settings',
|
|
652
|
+
initialPrompt: 'What are the instructions?',
|
|
653
|
+
initialPromptPlaceholder: 'Example: You are a social media copywriter who writes and adapts messages for different platforms, ensuring consistency in tone, personality, and brand values.',
|
|
654
|
+
modelAiLabel: 'AI model',
|
|
655
|
+
noModelsAvailable: 'No models available',
|
|
656
|
+
inputPlaceholderTitle: 'What will the user see in the chat field before typing?',
|
|
657
|
+
inputPlaceholder: 'Ask me anything you need…',
|
|
658
|
+
introduction: 'How will your agent introduce itself?',
|
|
659
|
+
introductionPlaceholder: 'Example: Hi! 👋 I’m here to help you create, adapt, and review copy for different platforms, ensuring your brand’s voice, tone, and personality stay consistent. You can ask me to suggest campaign ideas, adapt a message for another channel, or review the coherence of your content.',
|
|
660
|
+
addFavorite: 'Add to favorites',
|
|
661
|
+
removeFavorite: 'Remove from favorites',
|
|
662
|
+
error: {
|
|
663
|
+
maxCaracterName: 'You have reached the 150-character limit.',
|
|
664
|
+
maxCaracterInitialPrompt: 'You’ve reached the 5000-character limit.',
|
|
665
|
+
maxInputPlaceholder: 'You’ve reached the 100-character limit.',
|
|
666
|
+
maxCaracterIntroduction: 'You’ve reached the 400-character limit.'
|
|
667
|
+
},
|
|
668
|
+
howToWritePrompt: 'How to write a prompt',
|
|
669
|
+
whatIsModelAiTitle: 'Which AI model will you use?',
|
|
670
|
+
whatIsModelAi: 'What is a model of AI?',
|
|
671
|
+
createdBy: 'By',
|
|
672
|
+
createdByTooltip: 'Agent creator user',
|
|
673
|
+
createdByTooltipDeleted: 'User deleted. Their name is kept for reference.'
|
|
674
|
+
},
|
|
675
|
+
knowledgeSection: {
|
|
676
|
+
title: 'Knowledge',
|
|
677
|
+
knowledgeTab: 'Knowledge base',
|
|
678
|
+
infoLabel: 'Upload the files your agent will use as a reference for its responses.',
|
|
679
|
+
selectFileTitle: 'Select files',
|
|
680
|
+
attachFiles: 'Attach files',
|
|
681
|
+
dropZoneText: {
|
|
682
|
+
1: 'Click here to upload',
|
|
683
|
+
2: 'or drag files'
|
|
684
|
+
},
|
|
685
|
+
infoFileTypes: '.md, .pdf, .doc, .docx, .ppt, .pptx, .txt, .csv, .png, .jpg, .jpeg, .xls, .xlsx (max. total 5MB)',
|
|
686
|
+
error: {
|
|
687
|
+
maxFilesTitle: 'Total size limit exceeded.',
|
|
688
|
+
maxFilesDescription: 'You can attach files up to a total of 5 MB. The following files could not be attached:',
|
|
689
|
+
maxSizeTitle: 'You have exceeded the allowed file size limit',
|
|
690
|
+
maxSizeDescription: {
|
|
691
|
+
1: 'The maximum limit of 5 MB was reached.',
|
|
692
|
+
2: 'These files were not uploaded because they exceed the available space:'
|
|
693
|
+
},
|
|
694
|
+
invalidExtensionDescription: {
|
|
695
|
+
1: 'Only files with the following extensions are accepted: .md, .pdf, .doc, .docx, .ppt, .pptx, .txt, .csv, .png, .jpg, .jpeg, .xls, .xlsx',
|
|
696
|
+
2: 'These files were not uploaded because their extension is not allowed:'
|
|
697
|
+
}
|
|
698
|
+
},
|
|
699
|
+
moreInfo: 'See how it works here'
|
|
700
|
+
},
|
|
701
|
+
accessibilitySection: {
|
|
702
|
+
titleTab: 'Permissions',
|
|
703
|
+
titleSection: 'Agent visibility and permissions',
|
|
704
|
+
subtitleSection: 'Define who can use this agent and whether it can access COR data.',
|
|
705
|
+
corPermissionsTitle: 'COR data access permissions',
|
|
706
|
+
corPermissionsSubtitle: 'What can this agent access?',
|
|
707
|
+
taskAccessTitle: 'Task access',
|
|
708
|
+
taskAccessDescription: 'The agent will be able to read, create, update, and delete tasks according to the user’s permissions.',
|
|
709
|
+
mcpPermissionsTitle: 'External connectors',
|
|
710
|
+
mcpPermissionsSubtitle: 'Which external tools can this agent access?',
|
|
711
|
+
netsuiteAccessTitle: 'NetSuite',
|
|
712
|
+
netsuiteAccessDescription: 'The agent will be able to read and update NetSuite records. We will ask you to authorize access when you save.',
|
|
713
|
+
connectorAccessDescription: 'The agent will be able to use {{name}}. We will ask you to authorize access when you save.',
|
|
714
|
+
connectorAuthFailed: 'We could not open the connector login. Try again or check the OAuth setup.',
|
|
715
|
+
connectorAuthIncomplete: 'NetSuite login did not finish. Save again, click Allow, and wait for the window to close.',
|
|
716
|
+
netsuiteAuthSetupRequired: 'NetSuite does not auto-register the app. An admin must create an Integration (Public Client, AI Connector scope, MAIA Redirect URI). After that, login appears in the popup.',
|
|
717
|
+
visibilityTitle: 'Agent visibility',
|
|
718
|
+
whoCanAccess: 'Who can use this agent?',
|
|
719
|
+
allCompanyTitle: 'Entire company',
|
|
720
|
+
allCompanyDescription: 'All users of your organization will be able to see and use this agent.',
|
|
721
|
+
clientTitle: 'For specific clients',
|
|
722
|
+
clientDescription: 'Associate this agent with one or more clients. All users will be able to see which clients are linked.',
|
|
723
|
+
ownTitle: 'Only me',
|
|
724
|
+
ownDescription: 'This agent will be private and will not be available to other users.',
|
|
725
|
+
clientsSelected: 'Clients selected:',
|
|
726
|
+
searchError: 'Oops! We had trouble loading the clients. Could you try again in a moment?',
|
|
727
|
+
searchEmpty: 'Oops! We couldn’t find clients with that name. Try another search.',
|
|
728
|
+
searchInitial: 'Start typing a client’s name to link it',
|
|
729
|
+
searchPlaceholder: 'Search client',
|
|
730
|
+
clientInactive: 'This client is inactive. We recommend removing it from the list.',
|
|
731
|
+
clientDeletedTooltip: 'This client was deleted. We recommend removing it from the list.',
|
|
732
|
+
clientDeleted: 'Client deleted',
|
|
733
|
+
clientsError: 'Check the associated clients'
|
|
734
|
+
},
|
|
735
|
+
processingKnowledge: {
|
|
736
|
+
descriptionCreate: 'We are creating the Agent and its knowledge base. This may take a few moments. Please do not close this window until the process has been completed.',
|
|
737
|
+
descriptionUpdate: 'We are updating the Agent and its knowledge base. This may take a few moments. Please do not close this window until the process has been completed.',
|
|
738
|
+
fileRow: 'File',
|
|
739
|
+
statusRow: 'Status',
|
|
740
|
+
pending: 'Pending',
|
|
741
|
+
processing: 'Processing',
|
|
742
|
+
failed: 'Failed',
|
|
743
|
+
done: 'Done',
|
|
744
|
+
loadingFiles: 'Loading files...',
|
|
745
|
+
error: {}
|
|
746
|
+
},
|
|
747
|
+
deleteAgentModal: {
|
|
748
|
+
title: 'Do you want to delete this agent?',
|
|
749
|
+
firstPart: 'You are about to delete ',
|
|
750
|
+
secondPart: 'This action cannot be undone.',
|
|
751
|
+
cancel: 'Cancel',
|
|
752
|
+
"delete": 'Delete'
|
|
753
|
+
}
|
|
754
|
+
})), SECTIONS.projectSelector, _objectSpread(_objectSpread({}, genericSection), {}, {
|
|
755
|
+
projectSelector: {
|
|
756
|
+
title: 'Which project would you like help with?',
|
|
757
|
+
hello: {
|
|
758
|
+
title: 'I’m MAIA, your project specialist.',
|
|
759
|
+
subtitle: 'To give you accurate answers, I need to know which project we’re talking about. Which one do you choose?'
|
|
760
|
+
},
|
|
761
|
+
subtitle: 'Select a project so MAIA can respond in context.',
|
|
762
|
+
labelProject: 'Select a project',
|
|
763
|
+
placeholder: 'Search for a project by name',
|
|
764
|
+
changeProject: 'Change project',
|
|
765
|
+
recentProjects: 'Recents',
|
|
766
|
+
searchingProjects: 'Searching your projects...',
|
|
767
|
+
errorMessage: 'Oops! We had a problem loading the projects. Please try again in a few minutes.',
|
|
768
|
+
emptyRecentProjects: 'You don’t have recent projects. Type a project name in the search to find it.',
|
|
769
|
+
emptyState: 'Oops! We couldn’t find any projects with that name. Try another search.',
|
|
770
|
+
withoutClient: 'No client',
|
|
771
|
+
withoutTitle: 'No title'
|
|
772
|
+
}
|
|
773
|
+
})), SECTIONS.clientSelector, _objectSpread(_objectSpread({}, genericSection), {}, {
|
|
774
|
+
clientSelector: {
|
|
775
|
+
title: 'Which client would you like help with?',
|
|
776
|
+
hello: {
|
|
777
|
+
title: "I'm MAIA, your client specialist.",
|
|
778
|
+
subtitle: "To give you accurate answers, I need to know which client we're talking about. Which one do you choose?"
|
|
779
|
+
},
|
|
780
|
+
subtitle: 'Select a client so MAIA can respond in context.',
|
|
781
|
+
labelClient: 'Select a client',
|
|
782
|
+
placeholder: 'Search client by name',
|
|
783
|
+
changeClient: 'Change client',
|
|
784
|
+
recentClients: 'Recents',
|
|
785
|
+
searchingClients: 'Searching your clients...',
|
|
786
|
+
errorMessage: 'We had a problem loading the clients. Please try again in a few minutes.',
|
|
787
|
+
emptyRecentClients: "You don't have recent clients. Type a client name in the search to find it.",
|
|
788
|
+
emptyState: "Oops! We couldn't find clients with that name. Try another search.",
|
|
789
|
+
project: 'project',
|
|
790
|
+
projects: 'projects'
|
|
791
|
+
}
|
|
792
|
+
}));
|
|
793
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTRUNUSU9OUyIsIlByb2plY3RTdW1tYXJ5Q29uZmlnS2V5cyIsImdsb2JhbHMiLCJjbG9zZSIsIm1pbmltaXplIiwiaG93V29ya3MiLCJicmFuZE5hbWUiLCJleHBhbmQiLCJjb2xsYXBzZSIsImdvQmFjayIsImNvcHkiLCJjb3BpZWQiLCJzYXZlZCIsInNlbGVjdFByb2plY3QiLCJzYXZlIiwiY2FuY2VsIiwiZXJyb3IiLCJ0aXRsZSIsImRlc2NyaXB0aW9uIiwidHJ5QWdhaW4iLCJnZW5lcmljU2VjdGlvbiIsInByb2plY3RTdW1tYXJ5U2VjdGlvbiIsInJlc3VtZSIsImhlbGxvIiwid2VsY29tZSIsImZlZWRiYWNrIiwidGh1bWJzVXAiLCJ0aHVtYnNEb3duIiwic291cmNlcyIsImNvbmZpZyIsInByb2plY3RTdW1tYXJ5IiwicHJvamVjdFN1bW1hcnlUaXRsZSIsInNlbGVjdGVkUHJvamVjdCIsImNvbmZpZ3VyZVJlc3VtZSIsImdlbmVyYXRpbmdSZXN1bWUiLCJnZW5lcmF0ZVJlc3VtZSIsImhpZGVDb25maWciLCJjb25maWd1cmVTZXR0aW5ncyIsIl9kZWZpbmVQcm9wZXJ0eSIsIkdFTkVSQUxfU1RBVFVTIiwiSU5DT01FX0NPU1RTIiwiVElNRV9IT1VSUyIsIlRBU0tTX1BST0dSRVNTIiwiUkVXT1JLUyIsImhvbWVNZW51IiwiZmFxIiwic3RhcnRUaXRsZSIsImVtcHR5IiwiY2F0ZWdvcmllcyIsInByb2plY3RzIiwidGFza3MiLCJob3VycyIsInJld29ya3MiLCJ1bmRlZmluZWQiLCJmdWEiLCJuZXdCYWRnZSIsInJlY2VudENvbnRleHRzIiwidHlwZXMiLCJjbGllbnQiLCJwcm9qZWN0IiwidGFzayIsImNvbnRleHRIb21lIiwiZ3JlZXRpbmciLCJzdWJ0aXRsZSIsInN1YnRpdGxlQ29sbGFib3JhdG9yIiwic3VidGl0bGVDb2xsYWJvcmF0b3JXaXRoSG91cnMiLCJzdWJ0aXRsZU1hbmFnZXJXaXRoSG91cnMiLCJob3Vyc1NlY3Rpb24iLCJyZWNlbnRUYXNrc1NlY3Rpb24iLCJyZWNlbnRDb250ZXh0c1NlY3Rpb25NYW5hZ2VyIiwiY29udGV4dEdyZWV0aW5nIiwicGxhbm5lckhvbWUiLCJhY3Rpb24iLCJjb2xsYWJvcmF0b3JzIiwibGFiZWxzIiwiY2hlY2tsaXN0cyIsImRlbGl2ZXJhYmxlcyIsImNyZWF0ZWRCeSIsImNyZWF0ZWRCeVRvb2x0aXAiLCJjcmVhdGVkQnlUb29sdGlwRGVsZXRlZCIsInRhc2tHcmVldGluZyIsInRpdGxlXzEiLCJ0aXRsZV8yIiwidGl0bGVfMyIsInRpdGxlUG0iLCJzdWJ0aXRsZVBtIiwibWFpYWtlciIsImNyZWF0ZU1hbnVhbEFnZW50IiwiYmFkZ2VOZXciLCJicmllZkNhcmQiLCJwcm9tcHQiLCJjb21pbmdTb29uQ2FyZCIsIl9vYmplY3RTcHJlYWQiLCJjaGF0QUkiLCJjb250ZXh0TWVudGlvbiIsImtleWJvYXJkSGludCIsInJlY2VudHNUaXRsZSIsInVzZXJOb1Bvc2l0aW9uIiwibWUiLCJ0YWJzIiwidXNlciIsIm1jcCIsInNraWxsIiwibG9hZGluZyIsInJlY2VudHMiLCJ3aXRoUXVlcnkiLCJjb3VudGVycyIsImNvbnRleHRQaW4iLCJhZGRDb250ZXh0Iiwic2VhcmNoUGxhY2Vob2xkZXIiLCJyZW1vdmUiLCJidXR0b24iLCJuZXdDaGF0Iiwib3BlbkFnZW50Q3JlYXRvciIsIm9wZW5NYXJrZXRwbGFjZSIsImhpc3RvcnkiLCJ0b29sdGlwIiwiaXRlbSIsImRhdGUiLCJtZW51IiwicmVuYW1lIiwibG9hZGluZ01vcmUiLCJvbmJvYXJkaW5nIiwibWFpYSIsImFnZW50Q3VzdG9tIiwiaG93Q3JlYXRlQWdlbnQiLCJob3dJdFdvcmtzIiwicWEiLCJpdGVtcyIsInJlbnRhYmlsaWRhZF9wcm95ZWN0byIsImF2YW5jZV9wcm95ZWN0byIsInRhcmVhc19wcm95ZWN0byIsImNoYXQiLCJnZW5lcmF0aW5nIiwiZ2VuZXJhdGluZ0F0dGFjaG1lbnQiLCJnZW5lcmF0aW5nRGVlcFNlYXJjaCIsImdlbmVyYXRpbmdXZWJTZWFyY2giLCJzdWdnZXN0aW9uc1RpdGxlIiwiY3JlYXRlQWdlbnRBY3Rpb25zVGl0bGUiLCJjcmVhdGVBZ2VudEFjdGlvblN0YXJ0Q2hhdCIsImNyZWF0ZUFnZW50QWN0aW9uS25vd2xlZGdlIiwiY3JlYXRlQWdlbnRBY3Rpb25Mb2FkRXJyb3IiLCJ3cml0aW5nIiwiZXhlY3V0aW5nQWN0aW9uIiwicHJvY2Vzc2luZyIsImFjdGl2aXR5IiwicHJlcGFyaW5nIiwiY29uc2lkZXJpbmciLCJhbG1vc3RSZWFkeSIsInRoaW5raW5nIiwiYW5hbHl6aW5nIiwicmV2aWV3aW5nIiwicGxhbm5pbmciLCJzZWFyY2giLCJzY2FubmluZyIsInN1bW1hcml6aW5nIiwiZGVlcFNlYXJjaCIsImV4cGxvcmluZyIsImNyb3NzQ2hlY2tpbmciLCJhdHRhY2htZW50IiwicmVhZGluZyIsImV4dHJhY3RpbmciLCJyZWFkaW5nUGx1cmFsIiwiZXh0cmFjdGluZ1BsdXJhbCIsImNvbXBvc2luZyIsImR5bmFtaWNDb250ZXh0VG9vbHRpcCIsImNyZWF0aW5nVGFzayIsImNyZWF0aW5nVGFza3NCYXRjaCIsImNyZWF0aW5nQWdlbnQiLCJlZGl0aW5nQWdlbnQiLCJlZGl0aW5nVGFzayIsImVkaXRpbmdUYXNrc0JhdGNoIiwiZGVsZXRpbmdUYXNrIiwiZGVsZXRpbmdUYXNrc0JhdGNoIiwiYXNzaWduaW5nVXNlciIsInVuYXNzaWduaW5nVXNlciIsImFzc2lnbmluZ0xhYmVsIiwidXBkYXRpbmdUYXNrVHlwZSIsInVwZGF0aW5nRXN0aW1hdGVkSG91cnMiLCJ1cGRhdGluZ0RlbGl2ZXJhYmxlIiwibG9nZ2luZ0hvdXJzIiwiY3JlYXRpbmdDaGVja2xpc3QiLCJjcmVhdGluZ0xhYmVsIiwiZWRpdGluZ1Byb2plY3QiLCJjcmVhdGluZ0NoZWNrbGlzdEl0ZW0iLCJxdWVyeWluZ0hvdXJzIiwiY29uZmlndXJpbmdBZ2VudEFjY2VzcyIsInNlbmRpbmdUYXNrTWVzc2FnZSIsImRlbGV0aW5nQ2hlY2tsaXN0SXRlbSIsInJlbW92aW5nVGFza1R5cGUiLCJyZW1vdmluZ0xhYmVsIiwidXBkYXRpbmdEZWxpdmVyYWJsZUNvdW50IiwiY3JlYXRpbmdSZXdvcmsiLCJ1cGRhdGluZ1Jld29yayIsImdlbmVyYXRpbmdGaWxlIiwicmVzdW1pbmdBY3Rpb24iLCJmb290ZXIiLCJwbGFjZWhvbGRlciIsIm9yY2hlc3RyYXRvclBsYWNlaG9sZGVyIiwiYWdlbnRMYWJlbCIsImRpc2NsYWltZXIiLCJkaXNjbGFpbWVyQWdlbnQiLCJjb3JBY2Nlc3NMYWJlbCIsImNvckFjY2Vzc1Rvb2x0aXAiLCJyZXRyeSIsImVycm9yQWNjZXNzRGVuaWVkIiwiZXJyb3JQcm9tcHRUb29Mb25nIiwiY2hhbmdlUHJvamVjdCIsInNlYXJjaFdlYiIsImF0dGFjaEZpbGUiLCJwbHVzTWVudUF0dGFjaCIsImRyb3BGaWxlc0hlcmUiLCJwbHVzTWVudURlZXBJbnZlc3RpZ2F0aW9uIiwicGx1c01lbnVRdWlja0FjdGlvbnMiLCJvcGVuUGx1c01lbnVBcmlhIiwib3Blbk1lbnRpb25BcmlhIiwicmVtb3ZlQXR0YWNobWVudEFyaWEiLCJyZW1vdmVBY3RpdmVUb29sQXJpYSIsInNlbmQiLCJsaW1pdEZpbGVzIiwic3RvcCIsImNhbmNlbGxlZCIsInRvb01hbnlBY3RpdmVTZXNzaW9ucyIsImF0dGFjaG1lbnRQcmV2aWV3TW9kYWwiLCJ1bnN1cHBvcnRlZEZpbGVNZXNzYWdlIiwidHlwZUxhYmVsIiwidW5rbm93biIsInNpemVMYWJlbCIsImV4Y2VsIiwic2hlZXRTZWxlY3RvckxhYmVsIiwibG9hZEVycm9yIiwiZmlsZVJlYWRFcnJvciIsInNoZWV0TG9hZEVycm9yIiwid29yZCIsImxlZ2FjeURvY1Vuc3VwcG9ydGVkIiwicHB0IiwibGVnYWN5UHB0VW5zdXBwb3J0ZWQiLCJzbGlkZUxhYmVsIiwiZW1wdHlTbGlkZSIsImRlbGV0ZVF1ZXN0aW9uTW9kYWwiLCJmaXJzdFBhcnQiLCJzZWNvbmRQYXJ0IiwiZGVsZXRlU2tpbGxNb2RhbCIsImVkaXRRdWVzdGlvbk1vZGFsIiwibmV3TmFtZSIsIm1heExlbmd0aCIsIm1vZGFsRmlsZUV4Y2VlZHMiLCJsaW1pdEZpbGVzVGl0bGUiLCJsaW1pdFNpemVUaXRsZSIsImxpbWl0RmlsZXNEZXNjcmlwdGlvbiIsImxpbWl0U2l6ZURlc2NyaXB0aW9uIiwiYWNjZXB0IiwibGltaXQiLCJzb3VyY2VzSW5mb3JtYXRpb25Nb2RhbCIsImFnZW50cyIsIm5ld0FnZW50IiwiY3JlYXRlQWdlbnQiLCJlZGl0IiwiYWRkRmF2b3JpdGUiLCJyZW1vdmVGYXZvcml0ZSIsImZhdm9yaXRlVG9nZ2xlZEFkZGVkU3VjY2VzcyIsImZhdm9yaXRlVG9nZ2xlZFJlbW92ZWRTdWNjZXNzIiwiZmF2b3JpdGVUb2dnbGVkRXJyb3IiLCJmYXZvcml0ZVRvZ2dsZWRSZW1vdmVkRXJyb3IiLCJtYWlhSW50cm9kdWN0aW9uIiwiY29udmVyc2F0aW9ucyIsImFnZW50c1NlY3Rpb25UaXRsZSIsIm1haWFrZXJOYXYiLCJteUFnZW50c05hdiIsIm15U2tpbGxzTmF2IiwiZW1wdHlMYWJlbCIsInVucmVhZExhYmVsIiwibWluaW1pemVkT3BlbiIsIm1pbmltaXplZFNlZUFuc3dlciIsInNlc3Npb25GaW5pc2hlZCIsInNlc3Npb25GaW5pc2hlZEFwcHJvdmFsIiwic2Vzc2lvbkZpbmlzaGVkRXJyb3IiLCJtYXJrZXRwbGFjZSIsImJhY2siLCJteUFnZW50c1RpdGxlIiwibXlBZ2VudHNSZWFkeVRpdGxlIiwibXlBZ2VudHNEZXNjcmlwdGlvbiIsIm15QWdlbnRzRW1wdHlTdGF0ZVRpdGxlIiwibXlBZ2VudHNFbXB0eVN0YXRlRGVzY3JpcHRpb24iLCJteUFnZW50c0VtcHR5U3RhdGVEZXNjcmlwdGlvbk5vUGVybSIsIm15QWdlbnRzRW1wdHlTdGF0ZUJ1dHRvbiIsIm15QWdlbnRzRmFsbGJhY2tJbnRybyIsIm15QWdlbnRzRmFsbGJhY2tEZXNjcmlwdGlvbiIsIm15QWdlbnRzRmFsbGJhY2tEYXRlIiwibXlBZ2VudHNUb2RheSIsIm15QWdlbnRzT25lRGF5QWdvIiwibXlBZ2VudHNEYXlzQWdvIiwiY2FyZE1lbnVBcmlhTGFiZWwiLCJ1c2UiLCJzZWFyY2hBZ2VudFBsYWNlaG9sZGVyIiwic2VhcmNoTWluTGVuZ3RoIiwic2VhcmNoTm9SZXN1bHRzIiwic2VhcmNoTm9SZXN1bHRzU3VidGl0bGUiLCJ1c2VUZW1wbGF0ZSIsInVzZU15QWdlbnQiLCJiYWRnZXMiLCJicmFuZGluZyIsImxpbmtlZGluIiwibWFya2V0aW5nIiwibXlTa2lsbHMiLCJ0YWJNeVNraWxscyIsInRhYlNoYXJlZFNraWxscyIsImRyb3Bkb3duQnV0dG9uIiwiZHJvcGRvd25DcmVhdGUiLCJkcm9wZG93bkVtcHR5IiwiZHJvcGRvd25FcnJvciIsIm15U2tpbGxzRGVzY3JpcHRpb24iLCJzaGFyZWRTa2lsbHNEZXNjcmlwdGlvbiIsImNyZWF0ZU1hbnVhbGx5IiwidmlzaWJpbGl0eU9ubHlNZSIsInZpc2liaWxpdHlFdmVyeW9uZSIsInNoYXJlZEVtcHR5U3RhdGVUaXRsZSIsInNoYXJlZEVtcHR5U3RhdGVEZXNjcmlwdGlvbiIsImNyZWF0ZVNraWxsIiwicHJldmlldyIsInByZXZpZXdFbXB0eSIsInVwbG9hZE1kIiwidXBsb2FkRXJyb3IiLCJjcmVhdGVXaXRoTWFpYSIsIndyaXRlSW5zdHJ1Y3Rpb25zIiwidXBsb2FkU2tpbGwiLCJnZW5lcmF0ZVBsYWNlaG9sZGVyIiwiZ2VuZXJhdGVXaXRoTWFpYSIsImdlbmVyYXRlTmVlZHNOYW1lIiwiZ2VuZXJhdGVTdWNjZXNzIiwiZ2VuZXJhdGVFcnJvciIsImNyZWF0ZVRpdGxlIiwiZWRpdFRpdGxlIiwidmlld1RpdGxlIiwidXNlU2tpbGwiLCJpbmZvVG9vbHRpcCIsInNoYXJlZENyZWF0ZWRCeSIsIm5hbWVMYWJlbCIsIm5hbWVQbGFjZWhvbGRlciIsImRlc2NyaXB0aW9uTGFiZWwiLCJkZXNjcmlwdGlvblBsYWNlaG9sZGVyIiwiaW5zdHJ1Y3Rpb25zTGFiZWwiLCJzaGFyZVdpdGhDb21wYW55IiwibGFzdFVwZGF0ZWQiLCJzYXZlQW5kVXNlIiwiY29udGVudExhYmVsIiwiY29udGVudFBsYWNlaG9sZGVyIiwiZW1wdHlTdGF0ZVRpdGxlIiwiZW1wdHlTdGF0ZURlc2NyaXB0aW9uIiwiZW1wdHlTdGF0ZURlc2NyaXB0aW9uTm9QZXJtIiwiZW1wdHlTdGF0ZUJ1dHRvbiIsInNlYXJjaEVtcHR5U3RhdGVUaXRsZSIsInNlYXJjaEVtcHR5U3RhdGVEZXNjcmlwdGlvbiIsImNyZWF0ZVN1Y2Nlc3MiLCJjcmVhdGVFcnJvciIsInVwZGF0ZVN1Y2Nlc3MiLCJ1cGRhdGVFcnJvciIsImRlbGV0ZVN1Y2Nlc3MiLCJkZWxldGVFcnJvciIsInNuYWNrYmFyIiwiZGVsZXRlQ2hhdCIsInN1Y2Nlc3MiLCJyZW5hbWVkQ2hhdCIsImxvYWRNb3JlQWdlbnRzIiwiYXBwcm92YWxCb3giLCJ1bnRpdGxlZEFnZW50IiwiYWN0aW9ucyIsImNyZWF0ZV90YXNrIiwiY3JlYXRlX3Rhc2tzX2JhdGNoIiwiY3JlYXRlX2FnZW50IiwiZWRpdF9hZ2VudCIsImVkaXRfcHJvamVjdCIsImVkaXRfdGFzayIsImVkaXRfdGFza3NfYmF0Y2giLCJkZWxldGVfdGFzayIsImRlbGV0ZV90YXNrc19iYXRjaCIsInRhc2tfYXNzaWduIiwidGFza191bmFzc2lnbiIsImFzc2lnbl90YXNrX2xhYmVsIiwiY3JlYXRlX2xhYmVscyIsInVwZGF0ZV90YXNrX3R5cGUiLCJ1cGRhdGVfZXN0aW1hdGVkX2hvdXJzIiwidXBkYXRlX2RlbGl2ZXJhYmxlIiwiY3JlYXRlX2hvdXIiLCJjcmVhdGVfY2hlY2tsaXN0IiwiY3JlYXRlX2NoZWNrbGlzdF9pdGVtIiwiY2xvbmVfdGFzayIsImdldF90YXNrX2RhdGVfaG91cnMiLCJjb25maWd1cmVfYWdlbnRfYWNjZXNzIiwic2VuZF90YXNrX21lc3NhZ2UiLCJkZWxldGVfY2hlY2tsaXN0X2l0ZW0iLCJyZW1vdmVfdGFza190eXBlIiwicmVtb3ZlX3Rhc2tfbGFiZWwiLCJjb3VudF9kZWxpdmVyYWJsZSIsImNyZWF0ZV9yZXdvcmsiLCJ1cGRhdGVfcmV3b3JrIiwiZGVsZXRlX2FnZW50Iiwic3BlY2lhbCIsImNyZWF0ZVJld29yayIsInVwZGF0ZURlbGl2ZXJhYmxlQ2hpbGRyZW4iLCJmaWVsZHMiLCJuYW1lIiwiZW1vamkiLCJpbnRyb2R1Y3Rpb24iLCJpbnB1dF9wbGFjZWhvbGRlciIsInVzZXJfcHJvbXB0IiwibGFuZ3VhZ2UiLCJwcm92aWRlciIsIm1vZGVsX25hbWUiLCJhcGlfa2V5IiwiYXBwcm92ZSIsImRlbnkiLCJtYW51YWxBcHByb3ZhbFdhcm5pbmciLCJzdGF0dXMiLCJhcHByb3ZlZCIsImRlbmllZCIsImNoaXBMbG0iLCJjbGllbnRTZWxlY3RvciIsImFibUFnZW50IiwibGF5b3V0TWVudVRvb2x0aXAiLCJsYXlvdXRTaWRlYmFyIiwibGF5b3V0RnVsbHNjcmVlbiIsImxheW91dEZsb2F0aW5nIiwiYWRkQWdlbnQiLCJsZWdlbmREZWxldGVkQWdlbnQiLCJsZWdlbmRQcm9qZWN0RGVsZXRlZCIsImxlZ2VuZE5vQWNjZXNzIiwibGVnZW5kTm9QZXJtaXNzaW9ucyIsImxlZ2VuZExlZ2FjeUNvbnRleHRTZXNzaW9uIiwiY29udGludWVJbk5ld0NoYXQiLCJsZWdlbmRNb2RlbERlcHJlY2F0ZWQiLCJsZWdlbmRQcm92aWRlclN0YXR1cyIsImNoYW5nZU1vZGVsIiwiZWRpdEFnZW50IiwiZGVsZXRlQWdlbnQiLCJzZW5kRmVlZGJhY2siLCJzYXZlQ2hhbmdlcyIsImNyZWF0ZUFnZW50TGFiZWxCdXR0b24iLCJjb25maXJtQWdlbnRDcmVhdGVkIiwiY29uZmlybUFnZW50VXBkYXRlZCIsImNvbmZpcm1DbG9zZUNyZWF0ZUFnZW50IiwiY29uZmlybUNsb3NlRWRpdEFnZW50IiwiY29uZmlybVJlbG9hZEJyb3dzZXIiLCJjb25maXJtQWdlbnRVcGRhdGVkV2l0aEZpbGVzRXJyb3IiLCJjb25maXJtQWdlbnRXaXRoRmlsZXNFcnJvciIsImNvbmZpcm1BZ2VudERlbGV0ZWQiLCJlcnJvckFnZW50Q3JlYXRlZCIsImF0dGFjaG1lbnRDYXJkIiwiZG93bmxvYWQiLCJnZW5lcmFsU2VjdGlvbiIsImdlbmVyYWxTZXR0aW5ncyIsInJlcXVpcmVkRmllbGRzTGFiZWwiLCJpbmZvTGFiZWwiLCJvcHRpb25hbExhYmVsIiwiYmFzaWNTZXR0aW5ncyIsInNlbGVjdEVtb2ppIiwiYmVoYXZpb3JTZXR0aW5ncyIsImluaXRpYWxQcm9tcHQiLCJpbml0aWFsUHJvbXB0UGxhY2Vob2xkZXIiLCJtb2RlbEFpTGFiZWwiLCJub01vZGVsc0F2YWlsYWJsZSIsImlucHV0UGxhY2Vob2xkZXJUaXRsZSIsImlucHV0UGxhY2Vob2xkZXIiLCJpbnRyb2R1Y3Rpb25QbGFjZWhvbGRlciIsIm1heENhcmFjdGVyTmFtZSIsIm1heENhcmFjdGVySW5pdGlhbFByb21wdCIsIm1heElucHV0UGxhY2Vob2xkZXIiLCJtYXhDYXJhY3RlckludHJvZHVjdGlvbiIsImhvd1RvV3JpdGVQcm9tcHQiLCJ3aGF0SXNNb2RlbEFpVGl0bGUiLCJ3aGF0SXNNb2RlbEFpIiwia25vd2xlZGdlU2VjdGlvbiIsImtub3dsZWRnZVRhYiIsInNlbGVjdEZpbGVUaXRsZSIsImF0dGFjaEZpbGVzIiwiZHJvcFpvbmVUZXh0IiwiaW5mb0ZpbGVUeXBlcyIsIm1heEZpbGVzVGl0bGUiLCJtYXhGaWxlc0Rlc2NyaXB0aW9uIiwibWF4U2l6ZVRpdGxlIiwibWF4U2l6ZURlc2NyaXB0aW9uIiwiaW52YWxpZEV4dGVuc2lvbkRlc2NyaXB0aW9uIiwibW9yZUluZm8iLCJhY2Nlc3NpYmlsaXR5U2VjdGlvbiIsInRpdGxlVGFiIiwidGl0bGVTZWN0aW9uIiwic3VidGl0bGVTZWN0aW9uIiwiY29yUGVybWlzc2lvbnNUaXRsZSIsImNvclBlcm1pc3Npb25zU3VidGl0bGUiLCJ0YXNrQWNjZXNzVGl0bGUiLCJ0YXNrQWNjZXNzRGVzY3JpcHRpb24iLCJtY3BQZXJtaXNzaW9uc1RpdGxlIiwibWNwUGVybWlzc2lvbnNTdWJ0aXRsZSIsIm5ldHN1aXRlQWNjZXNzVGl0bGUiLCJuZXRzdWl0ZUFjY2Vzc0Rlc2NyaXB0aW9uIiwiY29ubmVjdG9yQWNjZXNzRGVzY3JpcHRpb24iLCJjb25uZWN0b3JBdXRoRmFpbGVkIiwiY29ubmVjdG9yQXV0aEluY29tcGxldGUiLCJuZXRzdWl0ZUF1dGhTZXR1cFJlcXVpcmVkIiwidmlzaWJpbGl0eVRpdGxlIiwid2hvQ2FuQWNjZXNzIiwiYWxsQ29tcGFueVRpdGxlIiwiYWxsQ29tcGFueURlc2NyaXB0aW9uIiwiY2xpZW50VGl0bGUiLCJjbGllbnREZXNjcmlwdGlvbiIsIm93blRpdGxlIiwib3duRGVzY3JpcHRpb24iLCJjbGllbnRzU2VsZWN0ZWQiLCJzZWFyY2hFcnJvciIsInNlYXJjaEVtcHR5Iiwic2VhcmNoSW5pdGlhbCIsImNsaWVudEluYWN0aXZlIiwiY2xpZW50RGVsZXRlZFRvb2x0aXAiLCJjbGllbnREZWxldGVkIiwiY2xpZW50c0Vycm9yIiwicHJvY2Vzc2luZ0tub3dsZWRnZSIsImRlc2NyaXB0aW9uQ3JlYXRlIiwiZGVzY3JpcHRpb25VcGRhdGUiLCJmaWxlUm93Iiwic3RhdHVzUm93IiwicGVuZGluZyIsImZhaWxlZCIsImRvbmUiLCJsb2FkaW5nRmlsZXMiLCJkZWxldGVBZ2VudE1vZGFsIiwicHJvamVjdFNlbGVjdG9yIiwibGFiZWxQcm9qZWN0IiwicmVjZW50UHJvamVjdHMiLCJzZWFyY2hpbmdQcm9qZWN0cyIsImVycm9yTWVzc2FnZSIsImVtcHR5UmVjZW50UHJvamVjdHMiLCJlbXB0eVN0YXRlIiwid2l0aG91dENsaWVudCIsIndpdGhvdXRUaXRsZSIsImxhYmVsQ2xpZW50IiwiY2hhbmdlQ2xpZW50IiwicmVjZW50Q2xpZW50cyIsInNlYXJjaGluZ0NsaWVudHMiLCJlbXB0eVJlY2VudENsaWVudHMiXSwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvbGFuZy9lbi9pbmRleC5qcyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBTRUNUSU9OUyB9IGZyb20gJy4uLy4uL2NvbnN0YW50cy9jb25maWcnXG5pbXBvcnQgeyBQcm9qZWN0U3VtbWFyeUNvbmZpZ0tleXMgfSBmcm9tICcuLi8uLi90eXBlcy9Qcm9qZWN0U3VtbWFyeUNvbmZpZ0tleXMnXG5cbmNvbnN0IGdsb2JhbHMgPSB7XG4gIGNsb3NlOiAnQ2xvc2UnLFxuICBtaW5pbWl6ZTogJ01pbmltaXplJyxcbiAgaG93V29ya3M6ICdIb3cgZG9lcyBpdCB3b3JrPycsXG4gIGJyYW5kTmFtZTogJ01BSUEnLFxuICBleHBhbmQ6ICdFeHBhbmQnLFxuICBjb2xsYXBzZTogJ0NvbGxhcHNlJyxcbiAgZ29CYWNrOiAnR28gYmFjayB0byB0aGUgc3RhcnQnLFxuICBjb3B5OiAnQ29weScsXG4gIGNvcGllZDogJ0NvcGllZCcsXG4gIHNhdmVkOiAnU2F2ZWQnLFxuICBzZWxlY3RQcm9qZWN0OiAnU2VsZWN0IHByb2plY3QnLFxuICBzYXZlOiAnU2F2ZScsXG4gIGNhbmNlbDogJ0NhbmNlbCcsXG59XG5cbmNvbnN0IGVycm9yID0ge1xuICB0aXRsZTogJ0EgcHJvYmxlbSBoYXMgb2NjdXJyZWQnLFxuICBkZXNjcmlwdGlvbjogJ1dlIGFyZSBjdXJyZW50bHkgZXhwZXJpZW5jaW5nIHNvbWUgaXNzdWVzLCBwbGVhc2UgdHJ5IGFnYWluIGluIGEgZmV3IG1pbnV0ZXMuJyxcbiAgdHJ5QWdhaW46ICdUcnkgYWdhaW4nLFxufVxuXG5jb25zdCBnZW5lcmljU2VjdGlvbiA9IHtcbiAgZXJyb3IsXG4gIGdsb2JhbHMsXG59XG5cbmNvbnN0IHByb2plY3RTdW1tYXJ5U2VjdGlvbiA9IHtcbiAgcmVzdW1lOiAnUmVzdW1lJyxcbiAgaGVsbG86ICdIaSwge3tuYW1lfX0hJyxcbiAgd2VsY29tZTogXCJJJ20gTUFJQSwgeW91ciBhc3Npc3RhbnQgYXQgQ09SXCIsXG5cbiAgZmVlZGJhY2s6IHtcbiAgICB0aHVtYnNVcDogJ0l0IHdhcyBoZWxwZnVsJyxcbiAgICB0aHVtYnNEb3duOiBcIkl0IHdhc24ndCBoZWxwZnVsXCIsXG4gICAgc291cmNlczogJ1NvdXJjZXMnLFxuICB9LFxuXG4gIGNvbmZpZzoge1xuICAgIHByb2plY3RTdW1tYXJ5OiAnU3VtbWFyaXplIHByb2plY3QnLFxuICAgIHByb2plY3RTdW1tYXJ5VGl0bGU6ICdQcm9qZWN0IHN1bW1hcnknLFxuICAgIGdvQmFjazogJ0dvIGJhY2snLFxuICAgIHNlbGVjdGVkUHJvamVjdDogJ1NlbGVjdGVkIHByb2plY3QnLFxuICAgIHNlbGVjdFByb2plY3Q6ICdTZWxlY3QgcHJvamVjdCcsXG4gICAgY29uZmlndXJlUmVzdW1lOiAnQWR2YW5jZWQgc2V0dGluZ3MnLFxuICAgIGdlbmVyYXRpbmdSZXN1bWU6ICdHZW5lcmF0aW5nIHN1bW1hcnknLFxuICAgIGdlbmVyYXRlUmVzdW1lOiAnR2VuZXJhdGUnLFxuICAgIGhpZGVDb25maWc6ICdIaWRlIHNldHRpbmdzJyxcbiAgfSxcblxuICBjb25maWd1cmVTZXR0aW5nczoge1xuICAgIFtQcm9qZWN0U3VtbWFyeUNvbmZpZ0tleXMuR0VORVJBTF9TVEFUVVNdOiAnRGF0ZXMgYW5kIGRlYWRsaW5lcycsXG4gICAgW1Byb2plY3RTdW1tYXJ5Q29uZmlnS2V5cy5JTkNPTUVfQ09TVFNdOiAnUHJvZml0YWJpbGl0eScsXG4gICAgW1Byb2plY3RTdW1tYXJ5Q29uZmlnS2V5cy5USU1FX0hPVVJTXTogJ0VzdGltYXRlZCBob3VycyBhbmQgdXNhZ2UnLFxuICAgIFtQcm9qZWN0U3VtbWFyeUNvbmZpZ0tleXMuVEFTS1NfUFJPR1JFU1NdOiAnVGFza3MgYW5kIHByb2dyZXNzJyxcbiAgICBbUHJvamVjdFN1bW1hcnlDb25maWdLZXlzLlJFV09SS1NdOiAnUmV3b3JrJyxcbiAgfSxcbn1cblxuY29uc3QgaG9tZU1lbnUgPSB7XG4gIHByb2plY3RTdW1tYXJ5OiB7XG4gICAgdGl0bGU6ICdQcm9qZWN0IFN1bW1hcnknLFxuICAgIGRlc2NyaXB0aW9uOiAnR2VuZXJhdGUgcmVwb3J0cyB3aXRoIEFJIGJhc2VkIG9uIHlvdXIgcHJvamVjdCcsXG4gIH0sXG4gIGZhcToge1xuICAgIHRpdGxlOiAnRnJlcXVlbnRseSBBc2tlZCBRdWVzdGlvbnMnLFxuICAgIHN0YXJ0VGl0bGU6ICdZb3UgY2FuIHN0YXJ0IHdpdGguLi4nLFxuICAgIGVtcHR5OiAnTm8gZnJlcXVlbnRseSBhc2tlZCBxdWVzdGlvbnMnLFxuICAgIGVycm9yOiAnT29wcyEgV2UgaGFkIGEgcHJvYmxlbSBsb2FkaW5nIHRoZSBmcmVxdWVudGx5IGFza2VkIHF1ZXN0aW9ucy4gUGxlYXNlIHRyeSBhZ2FpbiBpbiBhIGZldyBtaW51dGVzLicsXG4gICAgY2F0ZWdvcmllczoge1xuICAgICAgcHJvamVjdHM6ICdQcm9qZWN0JyxcbiAgICAgIHRhc2tzOiAnVGFza3MnLFxuICAgICAgaG91cnM6ICdIb3VycycsXG4gICAgICByZXdvcmtzOiAnUmV3b3JrJyxcbiAgICAgIHVuZGVmaW5lZDogJ05vIGNhdGVnb3J5JyxcbiAgICB9LFxuICB9LFxuICBmdWE6IHtcbiAgICB0aXRsZTogJ0ZyZXF1ZW50bHkgdXNlZCBhY3Rpb25zJyxcbiAgICBuZXdCYWRnZTogJ05ldycsXG4gICAgZXJyb3I6ICdPb3BzISBXZSBoYWQgYSBwcm9ibGVtIGxvYWRpbmcgdGhlIGZyZXF1ZW50bHkgdXNlZCBhY3Rpb25zLiBQbGVhc2UgdHJ5IGFnYWluIGluIGEgZmV3IG1pbnV0ZXMuJyxcbiAgfSxcbiAgcmVjZW50Q29udGV4dHM6IHtcbiAgICB0aXRsZTogJ0Nob29zZSBhIHJlY2VudCBjb250ZXh0IGZvciBhIG1vcmUgYWNjdXJhdGUgYW5zd2VyOicsXG4gICAgdHlwZXM6IHtcbiAgICAgIGNsaWVudDogJ0NsaWVudCcsXG4gICAgICBwcm9qZWN0OiAnUHJvamVjdCcsXG4gICAgICB0YXNrOiAnVGFzaycsXG4gICAgfSxcbiAgfSxcbiAgY29udGV4dEhvbWU6IHtcbiAgICBncmVldGluZzogJ0hpLCB7e25hbWV9fSDwn5GLJyxcbiAgICBzdWJ0aXRsZTogXCJJJ20gTUFJQSwgeW91ciBhc3Npc3RhbnQgZm9yIHRhc2tzLCBwcm9qZWN0cywgYW5kIGNsaWVudHMuXFxuU2hhbGwgd2UgY29udGludWUgd2l0aCBzb21ldGhpbmcgcmVjZW50P1wiLFxuICAgIHN1YnRpdGxlQ29sbGFib3JhdG9yOiBcIkknbSBNQUlBLCB5b3VyIGFzc2lzdGFudCBmb3IgdGFza3MuIFNoYWxsIHdlIGNvbnRpbnVlIHdpdGggc29tZXRoaW5nIHJlY2VudD9cIixcbiAgICBzdWJ0aXRsZUNvbGxhYm9yYXRvcldpdGhIb3VyczogJ0xvZyB5b3VyIGhvdXJzIG9yIHN0YXJ0IGEgY2hhdCBhYm91dCBhIHRhc2suJyxcbiAgICBzdWJ0aXRsZU1hbmFnZXJXaXRoSG91cnM6ICdXaGVyZSB3b3VsZCB5b3UgbGlrZSB0byBzdGFydD8nLFxuICAgIGhvdXJzU2VjdGlvbjoge1xuICAgICAgdGl0bGU6ICdMb2cgaG91cnMnLFxuICAgIH0sXG4gICAgcmVjZW50VGFza3NTZWN0aW9uOiB7XG4gICAgICB0aXRsZTogJ0FzayBhYm91dCBhIHRhc2snLFxuICAgICAgc3VidGl0bGU6ICdQaWNrIGEgcmVjZW50IHRhc2sgdG8gdXNlIGFzIGNvbnRleHQuJyxcbiAgICB9LFxuICAgIHJlY2VudENvbnRleHRzU2VjdGlvbk1hbmFnZXI6IHtcbiAgICAgIHRpdGxlOiAnT3IgcmVzdW1lIHNvbWV0aGluZyByZWNlbnQnLFxuICAgICAgc3VidGl0bGU6ICdQaWNrIGEgdGFzaywgcHJvamVjdCwgb3IgY2xpZW50IHRvIHVzZSBhcyBjb250ZXh0JyxcbiAgICB9LFxuICAgIGNvbnRleHRHcmVldGluZzoge1xuICAgICAgcHJvamVjdDogJ1doYXQgZG8geW91IHdhbnQgdXMgdG8gYW5hbHl6ZT8gSG91cnMsIGVzdGltYXRlcywgcmV3b3JrPyBZb3UgY2hvb3NlIScsXG4gICAgICB0YXNrOiBcIkknbSBoZXJlIHRvIGhlbHAgeW91IHdpdGggdGhpcyB0YXNrLiBVc2Ugb25lIG9mIHRoZSBhY3Rpb25zIHRvIGdldCBzdGFydGVkLlwiLFxuICAgICAgY2xpZW50OiAnV2hhdCBkbyB5b3Ugd2FudCB1cyB0byBhbmFseXplPyBQcm9maXRhYmlsaXR5LCBwcm9ncmVzcywgZGVhZGxpbmVzPyBZb3UgY2hvb3NlIScsXG4gICAgfSxcbiAgfSxcbiAgcGxhbm5lckhvbWU6IHtcbiAgICB0aXRsZTogXCJMZXQncyBzdGFydCB0cmFja2luZyB5b3VyIGhvdXJzXCIsXG4gICAgc3VidGl0bGU6ICdXaGVyZSBzaG91bGQgd2UgYmVnaW4/JyxcbiAgfSxcbiAgYWN0aW9uOiB7XG4gICAgY2F0ZWdvcmllczoge1xuICAgICAgdGFza3M6ICdUYXNrIGFjdGlvbnMnLFxuICAgICAgY29sbGFib3JhdG9yczogJ0NvbGxhYm9yYXRvcnMgYW5kIGFzc2lnbmVlcycsXG4gICAgICBsYWJlbHM6ICdMYWJlbHMgYW5kIHR5cGVzJyxcbiAgICAgIGNoZWNrbGlzdHM6ICdDaGVja2xpc3RzJyxcbiAgICAgIGRlbGl2ZXJhYmxlczogJ0RlbGl2ZXJhYmxlcycsXG4gICAgICByZXdvcmtzOiAnUmV3b3JrcycsXG4gICAgICBob3VyczogJ1RpbWUgbG9nZ2luZycsXG4gICAgfSxcbiAgfSxcbiAgY3JlYXRlZEJ5OiAnYnknLFxuICBjcmVhdGVkQnlUb29sdGlwOiAnQWdlbnQgY3JlYXRvciB1c2VyJyxcbiAgY3JlYXRlZEJ5VG9vbHRpcERlbGV0ZWQ6ICdVc2VyIGRlbGV0ZWQuIFRoZWlyIG5hbWUgaXMga2VwdCBmb3IgcmVmZXJlbmNlLicsXG4gIHRhc2tHcmVldGluZzogXCJJJ20gaGVyZSB0byBoZWxwIHlvdSB3aXRoIHRoaXMgdGFzay4gVXNlIG9uZSBvZiB0aGUgYWN0aW9ucyB0byBnZXQgc3RhcnRlZC5cIixcbiAgaGVsbG86IHtcbiAgICB0aXRsZTogJ0RvbmUhIEnigJltIG5vdyB1c2luZyB0aGUgcHJvamVjdCcsXG4gICAgdGl0bGVfMTogJ0FudGljaXBhdGUgZGV2aWF0aW9ucy4gTGV04oCZcyBhbmFseXplIHRoaXMgcHJvamVjdC4nLFxuICAgIHRpdGxlXzI6ICdXaGF0IGRvIHlvdSB3YW50IHVzIHRvIGFuYWx5emU/IEhvdXJzLCBlc3RpbWF0ZXMsIHJld29yaz8gWW91IGNob29zZSEnLFxuICAgIHRpdGxlXzM6ICdMZXTigJlzIHJldmlldyB0aGlzIHByb2plY3TigJlzIHByb2dyZXNzLicsXG4gICAgc3VidGl0bGU6ICdUbyBnZXQgc3RhcnRlZCwgSSBjYW4gaGVscCB5b3Ugd2l0aCB0aGVzZSBvcHRpb25zLiBPciBmZWVsIGZyZWUgdG8gdHlwZSB5b3VyIHF1ZXN0aW9uIGRpcmVjdGx5IScsXG4gICAgdGl0bGVQbTogJ0hpLCB7e25hbWV9fSEgSeKAmW0ge3thZ2VudH19LCB5b3VyIGFzc2lzdGFudC4nLFxuICAgIHN1YnRpdGxlUG06XG4gICAgICAnVG8gZ2l2ZSB5b3UgYWNjdXJhdGUgYW5zd2VycywgSSBuZWVkIHRvIGtub3cgd2hpY2ggcHJvamVjdCB3ZeKAmXJlIHRhbGtpbmcgYWJvdXQuIFdoaWNoIG9uZSBkbyB5b3UgY2hvb3NlPycsXG4gIH0sXG4gIG1haWFrZXI6IHtcbiAgICB0aXRsZTogJ1R1cm4gcmVwZXRpdGl2ZSBwcm9jZXNzZXMgaW50byBzbWFydCBhZ2VudHMnLFxuICAgIGRlc2NyaXB0aW9uOiAnQ3JlYXRlIGFnZW50cyB0aGF0IGFuYWx5emUgYW5kIGdlbmVyYXRlIGNvbnRlbnQgdGFpbG9yZWQgdG8geW91ciBuZWVkcy4nLFxuICAgIGNyZWF0ZU1hbnVhbEFnZW50OiAnQ3JlYXRlIGFnZW50IG1hbnVhbGx5JyxcbiAgICBiYWRnZU5ldzogJ05ldycsXG4gICAgYnJpZWZDYXJkOiB7XG4gICAgICB0aXRsZTogJ0JyaWVmIHNwZWNpYWxpc3QgYWdlbnQnLFxuICAgICAgZGVzY3JpcHRpb246ICdDcmVhdGUgYW5kIGltcHJvdmUgYnJpZWZzIHNvIHRoZXkgYXJlIHJlYWR5IHRvIHVzZSBpbiB0YXNrcy4nLFxuICAgICAgcHJvbXB0OiAnSSB3YW50IHRvIGNyZWF0ZSBhIGJyaWVmIHNwZWNpYWxpc3QgYWdlbnQuJyxcbiAgICB9LFxuICAgIGNvbWluZ1Nvb25DYXJkOiB7XG4gICAgICB0aXRsZTogJ01vcmUgY29taW5nIHNvb24nLFxuICAgICAgZGVzY3JpcHRpb246IFwiV2UncmUgd29ya2luZyB0byBicmluZyB5b3UgbW9yZSBhZ2VudHNcIixcbiAgICB9LFxuICB9LFxufVxuXG5leHBvcnQgZGVmYXVsdCB7XG4gIFtTRUNUSU9OUy5wcm9qZWN0U3VtbWFyeV06IHtcbiAgICAuLi5nZW5lcmljU2VjdGlvbixcbiAgICAuLi5wcm9qZWN0U3VtbWFyeVNlY3Rpb24sXG4gIH0sXG4gIFtTRUNUSU9OUy5jaGF0QUldOiB7XG4gICAgLi4uZ2VuZXJpY1NlY3Rpb24sXG4gICAgLi4ucHJvamVjdFN1bW1hcnlTZWN0aW9uLFxuICAgIGhvbWVNZW51LFxuXG4gICAgY29udGV4dE1lbnRpb246IHtcbiAgICAgIGtleWJvYXJkSGludDogJ1RhYiBuYXZpZ2F0aW9uOiBALCBAQOKApiBpbiBvcmRlci4gQWxzbyBBbHQvQ21kICsg4oaQL+KGkicsXG4gICAgICByZWNlbnRzVGl0bGU6ICdSZWNlbnRzJyxcbiAgICAgIHVzZXJOb1Bvc2l0aW9uOiAnTm8gcG9zaXRpb24nLFxuICAgICAgbWU6ICdZbycsXG4gICAgICB0YWJzOiB7XG4gICAgICAgIGNsaWVudDogJ0NsaWVudCcsXG4gICAgICAgIHByb2plY3Q6ICdQcm9qZWN0JyxcbiAgICAgICAgdGFzazogJ1Rhc2snLFxuICAgICAgICB1c2VyOiAnVXNlcicsXG4gICAgICAgIG1jcDogJ0Nvbm5lY3RvcnMnLFxuICAgICAgICBza2lsbDogJ1NraWxscycsXG4gICAgICB9LFxuICAgICAgbG9hZGluZzogJ1NlYXJjaGluZy4uLicsXG4gICAgICBlcnJvcjogJ1NvbWV0aGluZyB3ZW50IHdyb25nLiBQbGVhc2UgdHJ5IGFnYWluLicsXG4gICAgICBlbXB0eToge1xuICAgICAgICByZWNlbnRzOiAnU3RhcnQgdHlwaW5nIHRvIHNlYXJjaCcsXG4gICAgICAgIHdpdGhRdWVyeTogJ05vIHJlc3VsdHMgZm9yIFwie3txdWVyeX19XCInLFxuICAgICAgfSxcbiAgICAgIGNvdW50ZXJzOiB7XG4gICAgICAgIHByb2plY3RzOiAncHJvamVjdHMnLFxuICAgICAgICB0YXNrczogJ3Rhc2tzJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBjb250ZXh0UGluOiB7XG4gICAgICBhZGRDb250ZXh0OiAnR2xvYmFsIGNvbnRleHQnLFxuICAgICAgc2VhcmNoUGxhY2Vob2xkZXI6ICdTZWFyY2ggY29udGV4dOKApicsXG4gICAgICByZW1vdmU6ICdSZW1vdmUgY29udGV4dCcsXG4gICAgfSxcbiAgICBidXR0b246ICdBSScsXG4gICAgdGl0bGU6ICdIaSwge3tuYW1lfX0hJyxcbiAgICBkZXNjcmlwdGlvbjogXCJJJ20gTUFJQSwgeW91ciBhc3Npc3RhbnQsIGFuZCBJJ20gaGVyZSB0byBoZWxwIHlvdSB3aXRoIHlvdXIgcXVlc3Rpb25zLlwiLFxuICAgIG5ld0NoYXQ6ICdOZXcgY2hhdCcsXG4gICAgb3BlbkFnZW50Q3JlYXRvcjogJ0NyZWF0ZSBhZ2VudCcsXG4gICAgb3Blbk1hcmtldHBsYWNlOiAnQWdlbnQgbWFya2V0cGxhY2UnLFxuICAgIGhpc3Rvcnk6IHtcbiAgICAgIHRvb2x0aXA6ICdIaXN0b3J5JyxcbiAgICAgIHRpdGxlOiAnRW1wdHkgaGlzdG9yeScsXG4gICAgICBkZXNjcmlwdGlvbjogJ05vIGNvbnZlcnNhdGlvbnMgZm91bmQnLFxuICAgICAgaXRlbToge1xuICAgICAgICBkYXRlOiAnTGFzdCB1cGRhdGUge3tkYXRlfX0nLFxuICAgICAgfSxcbiAgICAgIG1lbnU6IHtcbiAgICAgICAgcmVuYW1lOiAnUmVuYW1lJyxcbiAgICAgICAgZGVsZXRlOiAnRGVsZXRlJyxcbiAgICAgIH0sXG4gICAgICBsb2FkaW5nTW9yZTogJ0xvYWRpbmcgbW9yZSBjb252ZXJzYXRpb25zJyxcbiAgICB9LFxuICAgIG9uYm9hcmRpbmc6IHtcbiAgICAgIG1haWE6ICdNQUlBJyxcbiAgICAgIGFnZW50Q3VzdG9tOiAnQ3VzdG9tIGFnZW50cycsXG4gICAgICBob3dDcmVhdGVBZ2VudDogJ0hvdyB0byBjcmVhdGUgYW4gYWdlbnQ/JyxcbiAgICAgIHRvb2x0aXA6ICdIb3cgZG9lcyBpdCB3b3JrPycsXG4gICAgICBob3dJdFdvcmtzOiAnSG93IGRvZXMgaXQgd29yaz8nLFxuICAgIH0sXG4gICAgcWE6IHtcbiAgICAgIHRpdGxlOiAnRnJlcXVlbnRseSBBc2tlZCBRdWVzdGlvbnMnLFxuICAgICAgaXRlbXM6IHtcbiAgICAgICAgcmVudGFiaWxpZGFkX3Byb3llY3RvOiAnV2hhdCBpcyB0aGUgcHJvZml0YWJpbGl0eSBvZiB0aGlzIHByb2plY3Q/JyxcbiAgICAgICAgYXZhbmNlX3Byb3llY3RvOiAnV2hhdCBpcyB0aGUgcHJvZ3Jlc3Mgb2YgdGhpcyBwcm9qZWN0PycsXG4gICAgICAgIHRhcmVhc19wcm95ZWN0bzogJ1doYXQgYXJlIHRoZSB1cGNvbWluZyB0YXNrcyBkdWU/JyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBjaGF0OiB7XG4gICAgICBnZW5lcmF0aW5nOiAnVGhpbmtpbmcnLFxuICAgICAgZ2VuZXJhdGluZ0F0dGFjaG1lbnQ6ICdBbmFseXppbmcgYXR0YWNobWVudCcsXG4gICAgICBnZW5lcmF0aW5nRGVlcFNlYXJjaDogJ1N0YXJ0aW5nIHJlc2VhcmNoJyxcbiAgICAgIGdlbmVyYXRpbmdXZWJTZWFyY2g6ICdTZWFyY2hpbmcgdGhlIHdlYicsXG4gICAgICBzdWdnZXN0aW9uc1RpdGxlOiAnU3VnZ2VzdGVkIHJlc3BvbnNlcycsXG4gICAgICBjcmVhdGVBZ2VudEFjdGlvbnNUaXRsZTogJ05leHQgc3RlcCcsXG4gICAgICBjcmVhdGVBZ2VudEFjdGlvblN0YXJ0Q2hhdDogJ1N0YXJ0IGEgY2hhdCB3aXRoIHRoZSBuZXcgYWdlbnQnLFxuICAgICAgY3JlYXRlQWdlbnRBY3Rpb25Lbm93bGVkZ2U6ICdVcGxvYWQgZmlsZXMgdG8gdGhlIGtub3dsZWRnZSBiYXNlJyxcbiAgICAgIGNyZWF0ZUFnZW50QWN0aW9uTG9hZEVycm9yOiAnQ291bGQgbm90IGxvYWQgdGhlIGFnZW50LiBQbGVhc2UgdHJ5IGFnYWluLicsXG4gICAgICB3cml0aW5nOiAnV3JpdGluZyB0aGUgcmVzcG9uc2UnLFxuICAgICAgZXhlY3V0aW5nQWN0aW9uOiAnRXhlY3V0aW5nIGFjdGlvbicsXG4gICAgICBwcm9jZXNzaW5nOiAnUHJvY2Vzc2luZycsXG4gICAgICBhY3Rpdml0eToge1xuICAgICAgICBnZW5lcmF0aW5nOiB7XG4gICAgICAgICAgcHJlcGFyaW5nOiAnUHJlcGFyaW5nIHlvdXIgcmVzcG9uc2UnLFxuICAgICAgICAgIGNvbnNpZGVyaW5nOiAnUmV2aWV3aW5nIHlvdXIgcXVlc3Rpb24nLFxuICAgICAgICAgIGFsbW9zdFJlYWR5OiAnU2hhcGluZyB0aGUgYXBwcm9hY2gnLFxuICAgICAgICB9LFxuICAgICAgICB0aGlua2luZzoge1xuICAgICAgICAgIGFuYWx5emluZzogJ0FuYWx5emluZyB5b3VyIHF1ZXN0aW9uJyxcbiAgICAgICAgICByZXZpZXdpbmc6ICdSZXZpZXdpbmcgY29udGV4dCcsXG4gICAgICAgICAgcGxhbm5pbmc6ICdTdHJ1Y3R1cmluZyB0aGUgcmVzcG9uc2UnLFxuICAgICAgICB9LFxuICAgICAgICBzZWFyY2g6IHtcbiAgICAgICAgICBzY2FubmluZzogJ1NlYXJjaGluZyB0aGUgd2ViJyxcbiAgICAgICAgICBzdW1tYXJpemluZzogJ1Jldmlld2luZyByZXN1bHRzJyxcbiAgICAgICAgfSxcbiAgICAgICAgZGVlcFNlYXJjaDoge1xuICAgICAgICAgIGV4cGxvcmluZzogJ0V4cGxvcmluZyBzb3VyY2VzJyxcbiAgICAgICAgICBjcm9zc0NoZWNraW5nOiAnVmVyaWZ5aW5nIGluZm9ybWF0aW9uJyxcbiAgICAgICAgfSxcbiAgICAgICAgYXR0YWNobWVudDoge1xuICAgICAgICAgIHJlYWRpbmc6ICdSZWFkaW5nIHlvdXIgYXR0YWNobWVudCcsXG4gICAgICAgICAgZXh0cmFjdGluZzogJ0V4dHJhY3Rpbmcgd2hhdCBtYXR0ZXJzJyxcbiAgICAgICAgICByZWFkaW5nUGx1cmFsOiAnUmVhZGluZyB5b3VyIGF0dGFjaG1lbnRzJyxcbiAgICAgICAgICBleHRyYWN0aW5nUGx1cmFsOiAnRXh0cmFjdGluZyB3aGF0IG1hdHRlcnMnLFxuICAgICAgICB9LFxuICAgICAgICB3cml0aW5nOiB7XG4gICAgICAgICAgY29tcG9zaW5nOiAnV3JpdGluZyB0aGUgcmVzcG9uc2UnLFxuICAgICAgICB9LFxuICAgICAgICBkeW5hbWljQ29udGV4dFRvb2x0aXA6ICdUaGlzIGNvbnRleHQgd2FzIGR5bmFtaWNhbGx5IGdlbmVyYXRlZCBhbmQgbWF5IGNoYW5nZSB0aHJvdWdob3V0IHRoZSBjb252ZXJzYXRpb24uJyxcbiAgICAgICAgY3JlYXRpbmdUYXNrOiAnQ3JlYXRpbmcgdGFzaycsXG4gICAgICAgIGNyZWF0aW5nVGFza3NCYXRjaDogJ0NyZWF0aW5nIHRhc2tzJyxcbiAgICAgICAgY3JlYXRpbmdBZ2VudDogJ0NyZWF0aW5nIGFnZW50JyxcbiAgICAgICAgZWRpdGluZ0FnZW50OiAnRWRpdGluZyBhZ2VudCcsXG4gICAgICAgIGVkaXRpbmdUYXNrOiAnRWRpdGluZyB0YXNrJyxcbiAgICAgICAgZWRpdGluZ1Rhc2tzQmF0Y2g6ICdFZGl0aW5nIHRhc2tzJyxcbiAgICAgICAgZGVsZXRpbmdUYXNrOiAnRGVsZXRpbmcgdGFzaycsXG4gICAgICAgIGRlbGV0aW5nVGFza3NCYXRjaDogJ0RlbGV0aW5nIHRhc2tzJyxcbiAgICAgICAgYXNzaWduaW5nVXNlcjogJ0Fzc2lnbmluZyB1c2VyJyxcbiAgICAgICAgdW5hc3NpZ25pbmdVc2VyOiAnVW5hc3NpZ25pbmcgdXNlcicsXG4gICAgICAgIGFzc2lnbmluZ0xhYmVsOiAnQXNzaWduaW5nIGxhYmVsJyxcbiAgICAgICAgdXBkYXRpbmdUYXNrVHlwZTogJ1VwZGF0aW5nIHRhc2sgdHlwZScsXG4gICAgICAgIHVwZGF0aW5nRXN0aW1hdGVkSG91cnM6ICdVcGRhdGluZyBlc3RpbWF0ZWQgaG91cnMnLFxuICAgICAgICB1cGRhdGluZ0RlbGl2ZXJhYmxlOiAnVXBkYXRpbmcgZGVsaXZlcmFibGUnLFxuICAgICAgICBsb2dnaW5nSG91cnM6ICdMb2dnaW5nIGhvdXJzJyxcbiAgICAgICAgY3JlYXRpbmdDaGVja2xpc3Q6ICdDcmVhdGluZyBjaGVja2xpc3QnLFxuICAgICAgICBjcmVhdGluZ0xhYmVsOiAnQ3JlYXRpbmcgbGFiZWwnLFxuICAgICAgICBlZGl0aW5nUHJvamVjdDogJ0VkaXRpbmcgcHJvamVjdCcsXG4gICAgICAgIGNyZWF0aW5nQ2hlY2tsaXN0SXRlbTogJ0FkZGluZyBjaGVja2xpc3QgaXRlbScsXG4gICAgICAgIHF1ZXJ5aW5nSG91cnM6ICdRdWVyeWluZyBob3VycycsXG4gICAgICAgIGNvbmZpZ3VyaW5nQWdlbnRBY2Nlc3M6ICdDaGFuZ2luZyBhZ2VudCB2aXNpYmlsaXR5JyxcbiAgICAgICAgc2VuZGluZ1Rhc2tNZXNzYWdlOiAnU2VuZGluZyB0YXNrIG1lc3NhZ2UnLFxuICAgICAgICBkZWxldGluZ0NoZWNrbGlzdEl0ZW06ICdEZWxldGluZyBjaGVja2xpc3QgaXRlbScsXG4gICAgICAgIHJlbW92aW5nVGFza1R5cGU6ICdSZW1vdmluZyB0YXNrIHR5cGUnLFxuICAgICAgICByZW1vdmluZ0xhYmVsOiAnUmVtb3ZpbmcgbGFiZWwnLFxuICAgICAgICB1cGRhdGluZ0RlbGl2ZXJhYmxlQ291bnQ6ICdVcGRhdGluZyBkZWxpdmVyYWJsZSBjb3VudCcsXG4gICAgICAgIGNyZWF0aW5nUmV3b3JrOiAnQ3JlYXRpbmcgcmV3b3JrJyxcbiAgICAgICAgdXBkYXRpbmdSZXdvcms6ICdVcGRhdGluZyByZXdvcmsnLFxuICAgICAgICBnZW5lcmF0aW5nRmlsZTogJ0dlbmVyYXRpbmcgZmlsZScsXG4gICAgICAgIHJlc3VtaW5nQWN0aW9uOiAnUnVubmluZyBhcHByb3ZlZCBhY3Rpb24nLFxuICAgICAgfSxcbiAgICAgIGxvYWRpbmdNb3JlOiAnTG9hZGluZyBtb3JlIG1lc3NhZ2VzJyxcbiAgICAgIGZvb3Rlcjoge1xuICAgICAgICBwbGFjZWhvbGRlcjogJ1R5cGUgeW91ciBxdWVzdGlvbiBoZXJl4oCmJyxcbiAgICAgICAgb3JjaGVzdHJhdG9yUGxhY2Vob2xkZXI6ICdBc2sgTWFpYSwgQCB0byBtZW50aW9uIG9yIC8gZm9yIHF1aWNrIGFjdGlvbnMnLFxuICAgICAgICBhZ2VudExhYmVsOiAnVGhlIEFnZW50JyxcbiAgICAgICAgZGlzY2xhaW1lcjogJ3t7YWdlbnROYW1lfX0gbWF5IG1ha2UgbWlzdGFrZXMuIFBsZWFzZSB2ZXJpZnkgaW1wb3J0YW50IGluZm9ybWF0aW9uLicsXG4gICAgICAgIGRpc2NsYWltZXJBZ2VudDogJ0FJIG1vZGVscyBtYXkgbWFrZSBtaXN0YWtlcy4gVmVyaWZ5IGltcG9ydGFudCBpbmZvcm1hdGlvbi4nLFxuICAgICAgICBjb3JBY2Nlc3NMYWJlbDogJ0NPUiBhY2Nlc3MnLFxuICAgICAgICBjb3JBY2Nlc3NUb29sdGlwOiAnQ09SIGRhdGEgYWNjZXNzJyxcbiAgICAgIH0sXG4gICAgICBlcnJvcjogJ0FuIGVycm9yIG9jY3VycmVkIHdoaWxlIGdlbmVyYXRpbmcgeW91ciByZXNwb25zZSwgcGxlYXNlIHRyeSBhZ2Fpbi4nLFxuICAgICAgcmV0cnk6ICdSZXRyeScsXG4gICAgICBlcnJvckFjY2Vzc0RlbmllZDpcbiAgICAgICAgXCJZb3UgZG9uJ3QgaGF2ZSBhY2Nlc3MgdG8gaW50ZXJhY3Qgd2l0aCB0aGlzIGFnZW50LiBJdCBpcyBwb3NzaWJsZSB0aGF0IHlvdXIgYWNjZXNzaWJpbGl0eSBzZXR0aW5ncyBoYXZlIGNoYW5nZWQuIFBsZWFzZSBjb250YWN0IHRoZSBwZXJzb24gaW4geW91ciBvcmdhbml6YXRpb24gd2hvIG1hbmFnZXMgYWdlbnRzIGZvciBtb3JlIGluZm9ybWF0aW9uLlwiLFxuICAgICAgZXJyb3JQcm9tcHRUb29Mb25nOlxuICAgICAgICAnWW91IGhhdmUgZXhjZWVkZWQgdGhlIGNvbnRleHQgbGltaXQge3t1c2VkfX0gdG9rZW5zLiBQbGVhc2UgcmV0cnkgb3IgY29udGludWUgaW4gYW5vdGhlciBjaGF0JyxcbiAgICAgIGNoYW5nZVByb2plY3Q6ICdJIGRldGVjdGVkIHRoYXQgeW91IHdhbnQgdG8gY2hhbmdlIFByb2plY3QuXFxuXFxuKipTZWxlY3QgdGhlIHByb2plY3QgdG8gY29udGludWU6KionLFxuICAgICAgc2VhcmNoV2ViOiAnU2VhcmNoIHRoZSB3ZWInLFxuICAgICAgZGVlcFNlYXJjaDogJ0FkdmFuY2VkIGludGVybmV0IHNlYXJjaCAoYWNjZXNzIHRvIG1vcmUgc291cmNlcyknLFxuICAgICAgYXR0YWNoRmlsZTogJ0F0dGFjaCBmaWxlJyxcbiAgICAgIHBsdXNNZW51QXR0YWNoOiAnQXR0YWNoIGZpbGVzJyxcbiAgICAgIGRyb3BGaWxlc0hlcmU6ICdEcm9wIGZpbGVzIGhlcmUnLFxuICAgICAgcGx1c01lbnVEZWVwSW52ZXN0aWdhdGlvbjogJ1Jlc2VhcmNoIGluIGRlcHRoJyxcbiAgICAgIHBsdXNNZW51UXVpY2tBY3Rpb25zOiAnUXVpY2sgYWN0aW9ucycsXG4gICAgICBvcGVuUGx1c01lbnVBcmlhOiAnQXR0YWNobWVudHMgYW5kIHNlYXJjaCBvcHRpb25zJyxcbiAgICAgIG9wZW5NZW50aW9uQXJpYTogJ01lbnRpb24nLFxuICAgICAgcmVtb3ZlQXR0YWNobWVudEFyaWE6ICdSZW1vdmUgZmlsZScsXG4gICAgICByZW1vdmVBY3RpdmVUb29sQXJpYTogJ1JlbW92ZSBzZWFyY2ggbW9kZScsXG4gICAgICBzZW5kOiAnU2VuZCcsXG4gICAgICBsaW1pdEZpbGVzOiAnWW91IGhhdmUgZXhjZWVkZWQgdGhlIGF0dGFjaG1lbnQgbGltaXQnLFxuICAgICAgc3RvcDogJ1N0b3AgZ2VuZXJhdGluZycsXG4gICAgICBjYW5jZWxsZWQ6ICdUaGUgc2VhcmNoIGhhcyBiZWVuIGNhbmNlbGxlZC4nLFxuICAgICAgdG9vTWFueUFjdGl2ZVNlc3Npb25zOlxuICAgICAgICAnVG9vIG1hbnkgY29udmVyc2F0aW9ucyBhcmUgZ2VuZXJhdGluZyBhdCBvbmNlLiBXYWl0IGZvciBvbmUgdG8gZmluaXNoIGJlZm9yZSBzdGFydGluZyBhbm90aGVyLicsXG4gICAgICBhdHRhY2htZW50UHJldmlld01vZGFsOiB7XG4gICAgICAgIGxvYWRpbmc6ICdMb2FkaW5nLi4uJyxcbiAgICAgICAgdW5zdXBwb3J0ZWRGaWxlTWVzc2FnZTogJ1dlIGhhZCBhIHByb2JsZW0gbG9hZGluZyB0aGUgcHJldmlldy4gUGxlYXNlIHRyeSBhZ2FpbiBpbiBhIGZldyBtaW51dGVzLicsXG4gICAgICAgIHR5cGVMYWJlbDogJ1R5cGU6JyxcbiAgICAgICAgdW5rbm93bjogJ1Vua25vd24nLFxuICAgICAgICBzaXplTGFiZWw6ICdTaXplOicsXG4gICAgICAgIGV4Y2VsOiB7XG4gICAgICAgICAgc2hlZXRTZWxlY3RvckxhYmVsOiAnU2hlZXQ6JyxcbiAgICAgICAgICBsb2FkRXJyb3I6ICdDb3VsZCBub3QgbG9hZCBFeGNlbCBmaWxlIGNvbnRlbnQuJyxcbiAgICAgICAgICBmaWxlUmVhZEVycm9yOiAnRXJyb3IgcmVhZGluZyBmaWxlLicsXG4gICAgICAgICAgc2hlZXRMb2FkRXJyb3I6ICdFcnJvciBsb2FkaW5nIHNlbGVjdGVkIHNoZWV0LicsXG4gICAgICAgIH0sXG4gICAgICAgIHdvcmQ6IHtcbiAgICAgICAgICBsb2FkRXJyb3I6ICdDb3VsZCBub3QgbG9hZCBXb3JkIGRvY3VtZW50IGNvbnRlbnQuJyxcbiAgICAgICAgICBsZWdhY3lEb2NVbnN1cHBvcnRlZDogJ1ByZXZpZXcgZm9yIC5kb2MgZmlsZXMgaXMgbm90IGF2YWlsYWJsZS4gUGxlYXNlIHVzZSAuZG9jeCBmb3JtYXQuJyxcbiAgICAgICAgfSxcbiAgICAgICAgcHB0OiB7XG4gICAgICAgICAgbG9hZEVycm9yOiAnQ291bGQgbm90IGxvYWQgcHJlc2VudGF0aW9uIGNvbnRlbnQuJyxcbiAgICAgICAgICBsZWdhY3lQcHRVbnN1cHBvcnRlZDogJ1ByZXZpZXcgZm9yIC5wcHQgZmlsZXMgaXMgbm90IGF2YWlsYWJsZS4gUGxlYXNlIHVzZSAucHB0eCBmb3JtYXQuJyxcbiAgICAgICAgICBzbGlkZUxhYmVsOiAnU2xpZGUge3tudW1iZXJ9fScsXG4gICAgICAgICAgZW1wdHlTbGlkZTogJ1RoaXMgc2xpZGUgaGFzIG5vIHRleHQgb3IgaW1hZ2VzIHRvIHByZXZpZXcuJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBkZWxldGVRdWVzdGlvbk1vZGFsOiB7XG4gICAgICB0aXRsZTogJ0RvIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGNvbnZlcnNhdGlvbj8nLFxuICAgICAgZmlyc3RQYXJ0OiAnWW91IGFyZSBhYm91dCB0byBkZWxldGUnLFxuICAgICAgc2Vjb25kUGFydDogJ1RoaXMgYWN0aW9uIGlzIGlycmV2ZXJzaWJsZS4nLFxuICAgICAgY2FuY2VsOiAnQ2FuY2VsJyxcbiAgICAgIGRlbGV0ZTogJ0RlbGV0ZScsXG4gICAgfSxcbiAgICBkZWxldGVTa2lsbE1vZGFsOiB7XG4gICAgICB0aXRsZTogJ0RvIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIHNraWxsPycsXG4gICAgICBmaXJzdFBhcnQ6ICdZb3UgYXJlIGFib3V0IHRvIGRlbGV0ZScsXG4gICAgICBzZWNvbmRQYXJ0OiAnVGhpcyBhY3Rpb24gaXMgaXJyZXZlcnNpYmxlLicsXG4gICAgICBjYW5jZWw6ICdDYW5jZWwnLFxuICAgICAgZGVsZXRlOiAnRGVsZXRlJyxcbiAgICB9LFxuICAgIGVkaXRRdWVzdGlvbk1vZGFsOiB7XG4gICAgICBuZXdOYW1lOiAnTmV3IG5hbWUnLFxuICAgICAgdGl0bGU6ICdSZW5hbWUgY29udmVyc2F0aW9uJyxcbiAgICAgIHJlbmFtZTogJ1JlbmFtZScsXG4gICAgICBjYW5jZWw6ICdDYW5jZWwnLFxuICAgICAgbWF4TGVuZ3RoOiAnWW914oCZdmUgcmVhY2hlZCB0aGUgMTQwLWNoYXJhY3RlciBsaW1pdC4nLFxuICAgIH0sXG4gICAgbW9kYWxGaWxlRXhjZWVkczoge1xuICAgICAgbGltaXRGaWxlc1RpdGxlOiAnTWF4aW11bSBhdHRhY2htZW50cyBleGNlZWRlZC4nLFxuICAgICAgbGltaXRTaXplVGl0bGU6IFwiWW91J3ZlIGV4Y2VlZGVkIHRoZSBhbGxvd2VkIGZpbGUgc2l6ZSBsaW1pdFwiLFxuICAgICAgbGltaXRGaWxlc0Rlc2NyaXB0aW9uOlxuICAgICAgICAnWW91IGNhbiBhdHRhY2ggYSBtYXhpbXVtIG9mIDUgZmlsZXMgcGVyIG1lc3NhZ2UuIFRoZSBmb2xsb3dpbmcgZmlsZXMgY291bGQgbm90IGJlIGF0dGFjaGVkOicsXG4gICAgICBsaW1pdFNpemVEZXNjcmlwdGlvbjpcbiAgICAgICAgJ09uZSBvciBtb3JlIGZpbGVzIGV4Y2VlZCB0aGUgbWF4aW11bSBhbGxvd2VkIHNpemUgYnkgdHlwZS4gVGhlIGZvbGxvd2luZyBmaWxlcyBjb3VsZCBub3QgYmUgYXR0YWNoZWQ6JyxcbiAgICAgIGFjY2VwdDogJ0FjY2VwdCcsXG4gICAgICBsaW1pdDogJ2xpbWl0JyxcbiAgICB9LFxuICAgIHNvdXJjZXNJbmZvcm1hdGlvbk1vZGFsOiB7XG4gICAgICB0aXRsZTogJ1NvdXJjZXM6JyxcbiAgICB9LFxuICAgIGFnZW50czoge1xuICAgICAgdGl0bGU6ICdBZ2VudHMnLFxuICAgICAgbmV3QWdlbnQ6ICdOZXcgYWdlbnQnLFxuICAgICAgY3JlYXRlQWdlbnQ6ICdDcmVhdGUgQWdlbnQnLFxuICAgICAgZWRpdDogJ0VkaXQnLFxuICAgICAgbWFpYTogJyhQcm9qZWN0IHNwZWNpYWxpc3QpJyxcbiAgICAgIGFkZEZhdm9yaXRlOiAnQWRkIHRvIGZhdm9yaXRlcycsXG4gICAgICByZW1vdmVGYXZvcml0ZTogJ1JlbW92ZSBmcm9tIGZhdm9yaXRlcycsXG4gICAgICBmYXZvcml0ZVRvZ2dsZWRBZGRlZFN1Y2Nlc3M6ICdBZ2VudCBhZGRlZCB0byBmYXZvcml0ZXMnLFxuICAgICAgZmF2b3JpdGVUb2dnbGVkUmVtb3ZlZFN1Y2Nlc3M6ICdBZ2VudCByZW1vdmVkIGZyb20gZmF2b3JpdGVzJyxcbiAgICAgIGZhdm9yaXRlVG9nZ2xlZEVycm9yOiAnWW91ciBmYXZvcml0ZSBjb3VsZG7igJl0IGJlIHNhdmVkLiBQbGVhc2UgdHJ5IGFnYWluLicsXG4gICAgICBmYXZvcml0ZVRvZ2dsZWRSZW1vdmVkRXJyb3I6ICdUaGUgZmF2b3JpdGUgY291bGRu4oCZdCBiZSByZW1vdmVkLiBQbGVhc2UgdHJ5IGFnYWluLicsXG4gICAgICBtYWlhSW50cm9kdWN0aW9uOiAnV2VsY29tZSB0byBNQUlBLCB5b3VyIGFzc2lzdGFudCB0byBtYWtlIHlvdXIgZGF5LXRvLWRheSBiZXR0ZXIuJyxcbiAgICB9LFxuICAgIGNvbnZlcnNhdGlvbnM6IHtcbiAgICAgIHRpdGxlOiAnTXkgY29udmVyc2F0aW9ucycsXG4gICAgICBhZ2VudHNTZWN0aW9uVGl0bGU6ICdBZ2VudHMnLFxuICAgICAgbWFpYWtlck5hdjogJ0FnZW50IGJ1aWxkZXInLFxuICAgICAgbXlBZ2VudHNOYXY6ICdNeSBhZ2VudHMnLFxuICAgICAgbXlTa2lsbHNOYXY6ICdTa2lsbHMnLFxuICAgICAgZXJyb3I6ICdBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBsb2FkaW5nIHRoZSBjb252ZXJzYXRpb24gaGlzdG9yeScsXG4gICAgICBlbXB0eTogJ0FsbCB5b3VyIGNvbnZlcnNhdGlvbnMgd2l0aCB0aGUgYWdlbnRzIHdpbGwgYmUgZGlzcGxheWVkIGhlcmUnLFxuICAgICAgZW1wdHlMYWJlbDogJ01lc3NhZ2Ugd2l0aCBhdHRhY2htZW50cycsXG4gICAgICB1bnJlYWRMYWJlbDogJ1VucmVhZCcsXG4gICAgICBtaW5pbWl6ZWRPcGVuOiAnT3BlbiBNQUlBJyxcbiAgICAgIG1pbmltaXplZFNlZUFuc3dlcjogJ1NlZSBhbnN3ZXInLFxuICAgICAgY29sbGFwc2U6ICdDb2xsYXBzZScsXG4gICAgICBleHBhbmQ6ICdFeHBhbmQnLFxuICAgICAgbmV3Q2hhdDogJ05ldyBjaGF0JyxcbiAgICAgIGdlbmVyYXRpbmc6ICdHZW5lcmF0aW5nIHJlc3BvbnNlJyxcbiAgICAgIHNlc3Npb25GaW5pc2hlZDogJ3t7dGl0bGV9fSBmaW5pc2hlZCByZXNwb25kaW5nJyxcbiAgICAgIHNlc3Npb25GaW5pc2hlZEFwcHJvdmFsOiAne3t0aXRsZX19IHJlcXVpcmVzIHlvdXIgYXBwcm92YWwnLFxuICAgICAgc2Vzc2lvbkZpbmlzaGVkRXJyb3I6ICd7e3RpdGxlfX0gZW5jb3VudGVyZWQgYW4gZXJyb3InLFxuICAgICAgb3BlbkFnZW50Q3JlYXRvcjogJ0NyZWF0ZSBhZ2VudCcsXG4gICAgICBvcGVuTWFya2V0cGxhY2U6ICdBZ2VudCBtYXJrZXRwbGFjZScsXG4gICAgfSxcbiAgICBtYXJrZXRwbGFjZToge1xuICAgICAgYmFjazogJ0JhY2snLFxuICAgICAgdGl0bGU6ICdJZGVhcyBmb3IgYnVpbGRpbmcgYWdlbnRzJyxcbiAgICAgIGRlc2NyaXB0aW9uOlxuICAgICAgICAnQ2hvb3NlIGEgc3Ryb25nIHN0YXJ0aW5nIHBvaW50IGFuZCBvcGVuIHRoZSBlZGl0b3Igd2l0aCB0aGUgYWdlbnQgYWxyZWFkeSBwcmVmaWxsZWQgc28geW91IGNhbiBhZGFwdCBpdCB0byB5b3VyIHVzZSBjYXNlLicsXG4gICAgICBteUFnZW50c1RpdGxlOiAnTXkgYWdlbnRzJyxcbiAgICAgIG15QWdlbnRzUmVhZHlUaXRsZTogJ1lvdXIgYWdlbnRzIGFyZSByZWFkeSB0byBoZWxwIHlvdSB3aXRoIHRhc2tzJyxcbiAgICAgIG15QWdlbnRzRGVzY3JpcHRpb246ICdUaGVzZSBhcmUgeW91ciBjdXN0b20gYWdlbnRzLiBTZWxlY3Qgb25lIHRvIHN0YXJ0IGNoYXR0aW5nIHdpdGggdGhhdCBwcm9maWxlLicsXG4gICAgICBteUFnZW50c0VtcHR5U3RhdGVUaXRsZTogXCJZb3UgZG9uJ3QgaGF2ZSBhbnkgYWdlbnRzIHlldFwiLFxuICAgICAgbXlBZ2VudHNFbXB0eVN0YXRlRGVzY3JpcHRpb246ICdDbGljayB0aGUgYnV0dG9uIGJlbG93IHRvIHN0YXJ0IGNyZWF0aW5nIGFnZW50cyB0YWlsb3JlZCB0byB5b3VyIG5lZWRzLicsXG4gICAgICBteUFnZW50c0VtcHR5U3RhdGVEZXNjcmlwdGlvbk5vUGVybTpcbiAgICAgICAgJ1doZW4gc29tZW9uZSB3aXRoIHBlcm1pc3Npb24gc2V0cyB0aGVtIHVwLCB5b3Ugd2lsbCBiZSBhYmxlIHRvIGFjY2VzcyB0aGVtIGZyb20gaGVyZS4nLFxuICAgICAgbXlBZ2VudHNFbXB0eVN0YXRlQnV0dG9uOiAnQ3JlYXRlIGFnZW50JyxcbiAgICAgIG15QWdlbnRzRmFsbGJhY2tJbnRybzogJ0N1c3RvbSBhZ2VudCByZWFkeSB0byBoZWxwIGluIHlvdXIgd29ya2Zsb3cuJyxcbiAgICAgIG15QWdlbnRzRmFsbGJhY2tEZXNjcmlwdGlvbjogJ0NsaWNrIHVzZSBhZ2VudCB0byBzdGFydCBhIGNvbnZlcnNhdGlvbiB3aXRoIHRoaXMgYWdlbnQuJyxcbiAgICAgIG15QWdlbnRzRmFsbGJhY2tEYXRlOiAnQSBmZXcgZGF5cyBhZ28nLFxuICAgICAgbXlBZ2VudHNUb2RheTogJ1RvZGF5JyxcbiAgICAgIG15QWdlbnRzT25lRGF5QWdvOiAnMSBkYXkgYWdvJyxcbiAgICAgIG15QWdlbnRzRGF5c0FnbzogJ3t7ZGF5c319IGRheXMgYWdvJyxcbiAgICAgIGNhcmRNZW51QXJpYUxhYmVsOiAnQWdlbnQgYWN0aW9ucyBtZW51JyxcbiAgICAgIHVzZTogJ1VzZScsXG4gICAgICBjcmVhdGVBZ2VudDogJ0NyZWF0ZSBhZ2VudCBtYW51YWxseScsXG4gICAgICBzZWFyY2hBZ2VudFBsYWNlaG9sZGVyOiAnU2VhcmNoIGFnZW50Li4uJyxcbiAgICAgIHNlYXJjaE1pbkxlbmd0aDogJ21pbi4gMyBjaGFyYWN0ZXJzJyxcbiAgICAgIHNlYXJjaE5vUmVzdWx0czogJ05vIHJlc3VsdHMgZm91bmQuJyxcbiAgICAgIHNlYXJjaE5vUmVzdWx0c1N1YnRpdGxlOiAnQ3JlYXRlIGFuIEFJIGFnZW50IHRoYXQgY2FuIHRoaW5rLCBhY3QsIGFuZCBhdXRvbWF0ZSB3b3JrIGZvciB5b3UnLFxuICAgICAgdXNlVGVtcGxhdGU6ICdDcmVhdGUgZnJvbSB0aGlzIGlkZWEnLFxuICAgICAgdXNlTXlBZ2VudDogJ1VzZSBhZ2VudCcsXG4gICAgICBiYWRnZXM6IHtcbiAgICAgICAgYnJhbmRpbmc6ICdCcmFuZGluZycsXG4gICAgICAgIGxpbmtlZGluOiAnTGlua2VkSW4nLFxuICAgICAgICBtYXJrZXRpbmc6ICdNYXJrZXRpbmcnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIG15U2tpbGxzOiB7XG4gICAgICB0aXRsZTogJ1NwZWNpYWxpemUgTUFJQSB3aXRoIHlvdXIgb3duIHJ1bGVzJyxcbiAgICAgIHN1YnRpdGxlOiAnU2tpbGxzIGFyZSBnbG9iYWw6IHRoZXkgYXJlIGF2YWlsYWJsZSB0byBhbGwgb2YgeW91ciBhZ2VudHMuJyxcbiAgICAgIHRhYk15U2tpbGxzOiAnTXkgc2tpbGxzJyxcbiAgICAgIHRhYlNoYXJlZFNraWxsczogJ1NoYXJlZCBza2lsbHMnLFxuICAgICAgZHJvcGRvd25CdXR0b246ICdTa2lsbHMnLFxuICAgICAgZHJvcGRvd25DcmVhdGU6ICdDcmVhdGUgbmV3IHNraWxsJyxcbiAgICAgIGRyb3Bkb3duRW1wdHk6ICdObyBza2lsbHMgeWV0JyxcbiAgICAgIGRyb3Bkb3duRXJyb3I6ICdTb21ldGhpbmcgd2VudCB3cm9uZy4gUGxlYXNlIHRyeSBhZ2Fpbi4nLFxuICAgICAgbXlTa2lsbHNEZXNjcmlwdGlvbjogJ1NraWxscyBjcmVhdGVkIGJ5IHlvdS4nLFxuICAgICAgc2hhcmVkU2tpbGxzRGVzY3JpcHRpb246ICdTa2lsbHMgc2hhcmVkIGJ5IG90aGVyIG1lbWJlcnMgb2YgeW91ciB0ZWFtLicsXG4gICAgICBzZWFyY2hQbGFjZWhvbGRlcjogJ1NlYXJjaCBza2lsbHMuLi4nLFxuICAgICAgY3JlYXRlTWFudWFsbHk6ICdDcmVhdGUgbWFudWFsbHknLFxuICAgICAgdmlzaWJpbGl0eU9ubHlNZTogJ09ubHkgbWUnLFxuICAgICAgdmlzaWJpbGl0eUV2ZXJ5b25lOiAnVmlzaWJsZSB0byBldmVyeW9uZScsXG4gICAgICBzaGFyZWRFbXB0eVN0YXRlVGl0bGU6ICdObyBvbmUgaGFzIHNoYXJlZCBza2lsbHMgd2l0aCB5b3UgeWV0LicsXG4gICAgICBzaGFyZWRFbXB0eVN0YXRlRGVzY3JpcHRpb246ICdXaGVuIHlvdXIgY29tcGFueSBzaGFyZXMgc2tpbGxzLCB0aGV5IHdpbGwgYXBwZWFyIGhlcmUuJyxcbiAgICAgIGNyZWF0ZVNraWxsOiAnQ3JlYXRlIHNraWxsJyxcbiAgICAgIHByZXZpZXc6ICdQcmV2aWV3JyxcbiAgICAgIHByZXZpZXdFbXB0eTogJ05vdGhpbmcgdG8gcHJldmlldyB5ZXQuJyxcbiAgICAgIHVwbG9hZE1kOiAnVXBsb2FkIC5tZCcsXG4gICAgICB1cGxvYWRFcnJvcjogJ09ubHkgLm1kIGZpbGVzIGFyZSBhbGxvd2VkJyxcbiAgICAgIGNyZWF0ZVdpdGhNYWlhOiAnQ3JlYXRlIHdpdGggTWFpYScsXG4gICAgICB3cml0ZUluc3RydWN0aW9uczogJ1dyaXRlIHNraWxsIGluc3RydWN0aW9ucycsXG4gICAgICB1cGxvYWRTa2lsbDogJ1VwbG9hZCBhIHNraWxsJyxcbiAgICAgIGdlbmVyYXRlUGxhY2Vob2xkZXI6ICdJIHdhbnQgYSBTa2lsbCB0byBjcmVhdGUgbXkgcHJvamVjdHMnLFxuICAgICAgZ2VuZXJhdGVXaXRoTWFpYTogJ0NyZWF0ZSB0aGUgU2tpbGwgd2l0aCBNYWlhJyxcbiAgICAgIGdlbmVyYXRlTmVlZHNOYW1lOiAnRW50ZXIgYSBuYW1lIGZpcnN0IHRvIGRlc2NyaWJlIHRoZSBza2lsbCcsXG4gICAgICBnZW5lcmF0ZVN1Y2Nlc3M6ICdTa2lsbCBnZW5lcmF0ZWQgd2l0aCBNYWlhJyxcbiAgICAgIGdlbmVyYXRlRXJyb3I6ICdUaGUgc2tpbGwgY291bGQgbm90IGJlIGdlbmVyYXRlZC4gUGxlYXNlIHRyeSBhZ2Fpbi4nLFxuICAgICAgY2FyZE1lbnVBcmlhTGFiZWw6ICdTa2lsbCBhY3Rpb25zIG1lbnUnLFxuICAgICAgZWRpdDogJ0VkaXQnLFxuICAgICAgZGVsZXRlOiAnRGVsZXRlJyxcbiAgICAgIGNhbmNlbDogJ0NhbmNlbCcsXG4gICAgICBzYXZlOiAnU2F2ZScsXG4gICAgICBjbG9zZTogJ0Nsb3NlJyxcbiAgICAgIGNyZWF0ZVRpdGxlOiAnU2tpbGwgY3JlYXRpb24nLFxuICAgICAgZWRpdFRpdGxlOiAnRWRpdCBza2lsbCcsXG4gICAgICB2aWV3VGl0bGU6ICdTaGFyZWQgc2tpbGwnLFxuICAgICAgdXNlU2tpbGw6ICdVc2Ugc2tpbGwnLFxuICAgICAgaW5mb1Rvb2x0aXA6XG4gICAgICAgICdTa2lsbHMgYXJlIGluc3RydWN0aW9ucyB5b3UgZ2l2ZSBhbiBhZ2VudCBzbyBpdCBzb2x2ZXMgYSB0YXNrIHRoZSBzYW1lIHdheSBldmVyeSB0aW1lLiBNZW50aW9uIGl0IHdpdGggIyBpbiB0aGUgY2hhdCBhbmQgdGhlIGFnZW50IHdpbGwgZm9sbG93IHRob3NlIHN0ZXBzLicsXG4gICAgICBzaGFyZWRDcmVhdGVkQnk6ICdDcmVhdGVkIGJ5IHt7bmFtZX19JyxcbiAgICAgIG5hbWVMYWJlbDogJ05hbWUnLFxuICAgICAgbmFtZVBsYWNlaG9sZGVyOiAnU2tpbGwgbmFtZScsXG4gICAgICBkZXNjcmlwdGlvbkxhYmVsOiAnRGVzY3JpcHRpb24nLFxuICAgICAgZGVzY3JpcHRpb25QbGFjZWhvbGRlcjogJ0JyaWVmbHkgZGVzY3JpYmUgd2hhdCB0aGUgc2tpbGwgaXMgZm9yJyxcbiAgICAgIGluc3RydWN0aW9uc0xhYmVsOiAnSW5zdHJ1Y3Rpb25zJyxcbiAgICAgIHNoYXJlV2l0aENvbXBhbnk6ICdFbmFibGUgZm9yIHRoZSB3aG9sZSBjb21wYW55JyxcbiAgICAgIGNyZWF0ZWRCeTogJ0NyZWF0ZWQgYnknLFxuICAgICAgbGFzdFVwZGF0ZWQ6ICdMYXN0IHVwZGF0ZWQnLFxuICAgICAgc2F2ZUFuZFVzZTogJ1NhdmUgYW5kIHVzZSBza2lsbCcsXG4gICAgICBjb250ZW50TGFiZWw6ICdTa2lsbCcsXG4gICAgICBjb250ZW50UGxhY2Vob2xkZXI6ICdXcml0ZSB0aGUgc2tpbGwuLi4nLFxuICAgICAgZW1wdHlTdGF0ZVRpdGxlOiBcIllvdSBkb24ndCBoYXZlIGFueSBza2lsbHMgeWV0XCIsXG4gICAgICBlbXB0eVN0YXRlRGVzY3JpcHRpb246ICdDbGljayB0aGUgYnV0dG9uIGJlbG93IHRvIHN0YXJ0IGNyZWF0aW5nIHNraWxscyB0YWlsb3JlZCB0byB5b3UuJyxcbiAgICAgIGVtcHR5U3RhdGVEZXNjcmlwdGlvbk5vUGVybTpcbiAgICAgICAgJ1doZW4gc29tZW9uZSB3aXRoIHBlcm1pc3Npb24gc2V0cyB0aGVtIHVwLCB5b3Ugd2lsbCBiZSBhYmxlIHRvIGFjY2VzcyB0aGVtIGZyb20gaGVyZS4nLFxuICAgICAgZW1wdHlTdGF0ZUJ1dHRvbjogJ0NyZWF0ZSBza2lsbCcsXG4gICAgICBzZWFyY2hFbXB0eVN0YXRlVGl0bGU6IFwiV2UgY291bGRuJ3QgZmluZCBhbnkgc2tpbGxzXCIsXG4gICAgICBzZWFyY2hFbXB0eVN0YXRlRGVzY3JpcHRpb246ICdUcnkgYW5vdGhlciB0ZXJtIG9yIGNoZWNrIHlvdXIgc2VhcmNoLicsXG4gICAgICBjcmVhdGVTdWNjZXNzOiAnU2tpbGwgY3JlYXRlZCBzdWNjZXNzZnVsbHknLFxuICAgICAgY3JlYXRlRXJyb3I6ICdUaGUgc2tpbGwgY291bGQgbm90IGJlIGNyZWF0ZWQuIFBsZWFzZSB0cnkgYWdhaW4uJyxcbiAgICAgIHVwZGF0ZVN1Y2Nlc3M6ICdTa2lsbCB1cGRhdGVkIHN1Y2Nlc3NmdWxseScsXG4gICAgICB1cGRhdGVFcnJvcjogJ1RoZSBza2lsbCBjb3VsZCBub3QgYmUgdXBkYXRlZC4gUGxlYXNlIHRyeSBhZ2Fpbi4nLFxuICAgICAgZGVsZXRlU3VjY2VzczogJ1NraWxsIGRlbGV0ZWQgc3VjY2Vzc2Z1bGx5JyxcbiAgICAgIGRlbGV0ZUVycm9yOiAnVGhlIHNraWxsIGNvdWxkIG5vdCBiZSBkZWxldGVkLiBQbGVhc2UgdHJ5IGFnYWluLicsXG4gICAgfSxcbiAgICBzbmFja2Jhcjoge1xuICAgICAgZGVsZXRlQ2hhdDoge1xuICAgICAgICBzdWNjZXNzOiAnQ2hhdCBkZWxldGVkIHN1Y2Nlc3NmdWxseScsXG4gICAgICAgIGVycm9yOiAnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cnJlZC4gUGxlYXNlLCB0cnkgYWdhaW4uJyxcbiAgICAgIH0sXG4gICAgICByZW5hbWVkQ2hhdDoge1xuICAgICAgICBzdWNjZXNzOiAnQ29udmVyc2F0aW9uIHJlbmFtZWQgc3VjY2Vzc2Z1bGx5JyxcbiAgICAgICAgZXJyb3I6ICdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VycmVkLiBQbGVhc2UsIHRyeSBhZ2Fpbi4nLFxuICAgICAgfSxcbiAgICAgIGxvYWRNb3JlQWdlbnRzOiB7XG4gICAgICAgIGVycm9yOiAnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cnJlZC4gUGxlYXNlLCB0cnkgYWdhaW4uJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBhcHByb3ZhbEJveDoge1xuICAgICAgdW50aXRsZWRBZ2VudDogJ1VudGl0bGVkIGFnZW50JyxcbiAgICAgIGFjdGlvbnM6IHtcbiAgICAgICAgY3JlYXRlX3Rhc2s6ICdDcmVhdGlvbiBvZiB0YXNrJyxcbiAgICAgICAgY3JlYXRlX3Rhc2tzX2JhdGNoOiAnQ3JlYXRpb24gb2YgdGFza3MnLFxuICAgICAgICBjcmVhdGVfYWdlbnQ6ICdDcmVhdGUgYWdlbnQnLFxuICAgICAgICBlZGl0X2FnZW50OiAnRWRpdCBhZ2VudCcsXG4gICAgICAgIGVkaXRfcHJvamVjdDogJ0VkaXQgcHJvamVjdCcsXG4gICAgICAgIGVkaXRfdGFzazogJ0VkaXQgdGFzaycsXG4gICAgICAgIGVkaXRfdGFza3NfYmF0Y2g6ICdFZGl0IHRhc2tzJyxcbiAgICAgICAgZGVsZXRlX3Rhc2s6ICdEZWxldGUgdGFzaycsXG4gICAgICAgIGRlbGV0ZV90YXNrc19iYXRjaDogJ0RlbGV0ZSB0YXNrcycsXG4gICAgICAgIHRhc2tfYXNzaWduOiAnQXNzaWduIHVzZXInLFxuICAgICAgICB0YXNrX3VuYXNzaWduOiAnVW5hc3NpZ24gdXNlcicsXG4gICAgICAgIGFzc2lnbl90YXNrX2xhYmVsOiAnQXNzaWduIGxhYmVsJyxcbiAgICAgICAgY3JlYXRlX2xhYmVsczogJ0NyZWF0ZSBsYWJlbCcsXG4gICAgICAgIHVwZGF0ZV90YXNrX3R5cGU6ICdVcGRhdGUgdGFzayB0eXBlJyxcbiAgICAgICAgdXBkYXRlX2VzdGltYXRlZF9ob3VyczogJ1VwZGF0ZSBlc3RpbWF0ZWQgaG91cnMnLFxuICAgICAgICB1cGRhdGVfZGVsaXZlcmFibGU6ICdVcGRhdGUgZGVsaXZlcmFibGUnLFxuICAgICAgICBjcmVhdGVfaG91cjogJ0xvZyBob3VycycsXG4gICAgICAgIGNyZWF0ZV9jaGVja2xpc3Q6ICdDcmVhdGUgY2hlY2tsaXN0JyxcbiAgICAgICAgY3JlYXRlX2NoZWNrbGlzdF9pdGVtOiAnQWRkIGNoZWNrbGlzdCBpdGVtJyxcbiAgICAgICAgY2xvbmVfdGFzazogJ0Nsb25lIHRhc2snLFxuICAgICAgICBnZXRfdGFza19kYXRlX2hvdXJzOiAnR2V0IGhvdXJzIGJ5IGRhdGUnLFxuICAgICAgICBjb25maWd1cmVfYWdlbnRfYWNjZXNzOiAnQ2hhbmdlIGFnZW50IHZpc2liaWxpdHknLFxuICAgICAgICBzZW5kX3Rhc2tfbWVzc2FnZTogJ1NlbmQgdGFzayBtZXNzYWdlJyxcbiAgICAgICAgZGVsZXRlX2NoZWNrbGlzdF9pdGVtOiAnRGVsZXRlIGNoZWNrbGlzdCBpdGVtJyxcbiAgICAgICAgcmVtb3ZlX3Rhc2tfdHlwZTogJ1JlbW92ZSB0YXNrIHR5cGUnLFxuICAgICAgICByZW1vdmVfdGFza19sYWJlbDogJ1JlbW92ZSBsYWJlbCcsXG4gICAgICAgIGNvdW50X2RlbGl2ZXJhYmxlOiAnVXBkYXRlIGRlbGl2ZXJhYmxlIGNvdW50JyxcbiAgICAgICAgY3JlYXRlX3Jld29yazogJ0NyZWF0ZSByZXdvcmsnLFxuICAgICAgICB1cGRhdGVfcmV3b3JrOiAnVXBkYXRlIHJld29yaycsXG4gICAgICAgIGRlbGV0ZV9hZ2VudDogJ0RlbGV0ZSBhZ2VudCcsXG4gICAgICAgIHVua25vd246ICdVbmtub3duIGFjdGlvbicsXG4gICAgICB9LFxuICAgICAgc3BlY2lhbDoge1xuICAgICAgICBjcmVhdGVSZXdvcms6IHtcbiAgICAgICAgICB0aXRsZTogJ0NyZWF0ZSByZXdvcmsnLFxuICAgICAgICAgIGRlc2NyaXB0aW9uOiAnQSByZXdvcmsgcmVxdWVzdCB3aWxsIGJlIGNyZWF0ZWQgb24gdGhlIHRhc2sgd2l0aCB0aGUgaW5mb3JtYXRpb24gYmVsb3cuJyxcbiAgICAgICAgfSxcbiAgICAgICAgdXBkYXRlRGVsaXZlcmFibGVDaGlsZHJlbjoge1xuICAgICAgICAgIHRpdGxlOiAnVXBkYXRlIGRlbGl2ZXJhYmxlIHByb2dyZXNzJyxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ1RoZSBwcm9ncmVzcyBvZiBsaW5rZWQgc3ViLWRlbGl2ZXJhYmxlcyBmb3IgdGhpcyB0YXNrIHdpbGwgYmUgdXBkYXRlZC4nLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIGZpZWxkczoge1xuICAgICAgICBuYW1lOiAnTmFtZScsXG4gICAgICAgIGVtb2ppOiAnRW1vamknLFxuICAgICAgICBpbnRyb2R1Y3Rpb246ICdJbnRyb2R1Y3Rpb24nLFxuICAgICAgICBpbnB1dF9wbGFjZWhvbGRlcjogJ1BsYWNlaG9sZGVyJyxcbiAgICAgICAgdXNlcl9wcm9tcHQ6ICdNYWluIHByb21wdCcsXG4gICAgICAgIGxhbmd1YWdlOiAnTGFuZ3VhZ2UnLFxuICAgICAgICBwcm92aWRlcjogJ1Byb3ZpZGVyJyxcbiAgICAgICAgbW9kZWxfbmFtZTogJ01vZGVsJyxcbiAgICAgICAgYXBpX2tleTogJ0FQSSBrZXknLFxuICAgICAgfSxcbiAgICAgIHRpdGxlOiAnQ29uZmlybWF0aW9uIHJlcXVpcmVkJyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnWW91IG5lZWQgdG8gYXBwcm92ZSB0aGUgZm9sbG93aW5nIGFjdGlvbjonLFxuICAgICAgYXBwcm92ZTogJ0FwcHJvdmUnLFxuICAgICAgZGVueTogJ0RlbnknLFxuICAgICAgbWFudWFsQXBwcm92YWxXYXJuaW5nOiAnTWFpYSBkZXRlY3RlZCB0aGF0IHRoZSByZXF1ZXN0IHdhcyBtYW51YWxseSBhcHByb3ZlZCcsXG4gICAgICBzdGF0dXM6IHtcbiAgICAgICAgYXBwcm92ZWQ6ICdSZXF1ZXN0IEFwcHJvdmVkJyxcbiAgICAgICAgZGVuaWVkOiAnUmVxdWVzdCBEZW5pZWQnLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGNoaXBMbG06IHtcbiAgICAgIHRvb2x0aXA6ICdNb2RlbDoge3ttb2RlbH19JyxcbiAgICB9LFxuICAgIGNsaWVudFNlbGVjdG9yOiB7XG4gICAgICBwcm9qZWN0OiAncHJvamVjdCcsXG4gICAgICBwcm9qZWN0czogJ3Byb2plY3RzJyxcbiAgICB9LFxuICB9LFxuICBbU0VDVElPTlMuYWJtQWdlbnRdOiB7XG4gICAgLi4uZ2VuZXJpY1NlY3Rpb24sXG4gICAgYWdlbnRzOiAnQWdlbnRzJyxcbiAgICBsYXlvdXRNZW51VG9vbHRpcDogJ0NoYXQgbGF5b3V0JyxcbiAgICBsYXlvdXRTaWRlYmFyOiAnU2lkZSBjaGF0JyxcbiAgICBsYXlvdXRGdWxsc2NyZWVuOiAnRnVsbHNjcmVlbiBjaGF0JyxcbiAgICBsYXlvdXRGbG9hdGluZzogJ0Zsb2F0aW5nIGNoYXQnLFxuICAgIGJhY2s6ICdCYWNrJyxcbiAgICBhZGRBZ2VudDogJ0FkZCBuZXcgYWdlbnQnLFxuICAgIGxlZ2VuZERlbGV0ZWRBZ2VudDogJ1RoaXMgYWdlbnQgd2FzIGRlbGV0ZWQgb24nLFxuICAgIGxlZ2VuZFByb2plY3REZWxldGVkOiAnVGhlIHByb2plY3Qge3tuYW1lfX0gaGFzIGJlZW4gZGVsZXRlZC4gSXQgaXMgbm90IHBvc3NpYmxlIHRvIGNvbnRpbnVlIHRoZSBjb252ZXJzYXRpb24nLFxuICAgIGxlZ2VuZE5vQWNjZXNzOiAnWW91IG5vIGxvbmdlciBoYXZlIGFjY2VzcyB0byBpbnRlcmFjdCB3aXRoIHRoZSBhZ2VudCB7e25hbWV9fScsXG4gICAgbGVnZW5kTm9QZXJtaXNzaW9uczogJ1lvdSBubyBsb25nZXIgaGF2ZSBwZXJtaXNzaW9uIHRvIHZpZXcgb3IgaW50ZXJhY3Qgd2l0aCB0aGUgYWdlbnQge3tuYW1lfX0nLFxuICAgIGxlZ2VuZExlZ2FjeUNvbnRleHRTZXNzaW9uOlxuICAgICAgJ1RoaXMgY29udmVyc2F0aW9uIGJlbG9uZ3MgdG8gYSBwcmV2aW91cyBjb250ZXh0LiBZb3UgY2FuIGNvbnRpbnVlIHdpdGgge3tuYW1lfX0gaW4gYSBuZXcgY2hhdC4nLFxuICAgIGNvbnRpbnVlSW5OZXdDaGF0OiAnQ29udGludWUgaW4gYSBuZXcgY2hhdCcsXG4gICAgbGVnZW5kTW9kZWxEZXByZWNhdGVkOlxuICAgICAgJ1RoZSBtb2RlbCBzZWxlY3RlZCBmb3IgdGhpcyBhZ2VudCBpcyBubyBsb25nZXIgYXZhaWxhYmxlLiBTd2l0Y2ggdG8gYW5vdGhlciBtb2RlbCB0byBjb250aW51ZSB1c2luZyBpdC4nLFxuICAgIGxlZ2VuZFByb3ZpZGVyU3RhdHVzOlxuICAgICAgJ1RoZSBtb2RlbCB1c2VkIGJ5IHRoaXMgYWdlbnQgaXMgZXhwZXJpZW5jaW5nIHRlbXBvcmFyeSBpc3N1ZXMuIFlvdSBjYW4gd2FpdCBmb3IgaXQgdG8gcmVjb3ZlciBvciBzd2l0Y2ggdG8gYSBkaWZmZXJlbnQgbW9kZWwuJyxcbiAgICBjaGFuZ2VNb2RlbDogJ0NoYW5nZSBtb2RlbCcsXG4gICAgbmV3QWdlbnQ6ICdOZXcgYWdlbnQnLFxuICAgIGNyZWF0ZUFnZW50OiAnQ3JlYXRlIEFnZW50JyxcbiAgICBlZGl0QWdlbnQ6ICdFZGl0IGFnZW50JyxcbiAgICBjYW5jZWw6ICdDYW5jZWwnLFxuICAgIGFjY2VwdDogJ0FjY2VwdCcsXG4gICAgZGVsZXRlQWdlbnQ6ICdEZWxldGUgYWdlbnQnLFxuICAgIGNvbnRpbnVlOiAnQ29udGludWUnLFxuICAgIGVkaXQ6ICdFZGl0JyxcbiAgICBkZWxldGU6ICdEZWxldGUnLFxuICAgIGZlZWRiYWNrOiAnU2VuZCBGZWVkYmFjaycsXG4gICAgc2VuZEZlZWRiYWNrOiAnU2VuZCBmZWVkYmFjaycsXG4gICAgc2F2ZUNoYW5nZXM6ICdTYXZlIGNoYW5nZXMnLFxuICAgIGNyZWF0ZUFnZW50TGFiZWxCdXR0b246ICdDcmVhdGUgYWdlbnQnLFxuICAgIG9wZW5BZ2VudENyZWF0b3I6ICdDcmVhdGUgYWdlbnQnLFxuICAgIG9wZW5NYXJrZXRwbGFjZTogJ0FnZW50IG1hcmtldHBsYWNlJyxcbiAgICBjb25maXJtQWdlbnRDcmVhdGVkOiAnVGhlIGFnZW50IGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBjcmVhdGVkJyxcbiAgICBjb25maXJtQWdlbnRVcGRhdGVkOiAnVGhlIGFnZW50IGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSB1cGRhdGVkJyxcbiAgICBjb25maXJtQ2xvc2VDcmVhdGVBZ2VudDogJ0FyZSB5b3Ugc3VyZSB5b3Ugd2FudCB0byBjbG9zZT8gQ2hhbmdlcyB3aWxsIGJlIGxvc3QuJyxcbiAgICBjb25maXJtQ2xvc2VFZGl0QWdlbnQ6ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY2xvc2U/IENoYW5nZXMgd2lsbCBiZSBsb3N0LicsXG4gICAgY29uZmlybVJlbG9hZEJyb3dzZXI6ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gcmVsb2FkIHRoZSBwYWdlPyBDaGFuZ2VzIHdpbGwgYmUgbG9zdC4nLFxuICAgIGNvbmZpcm1BZ2VudFVwZGF0ZWRXaXRoRmlsZXNFcnJvcjogJ1RoZSBhZ2VudCB3YXMgZWRpdGVkIHN1Y2Nlc3NmdWxseSwgYnV0IHNvbWUgZmlsZXMgY291bGQgbm90IGJlIHByb2Nlc3NlZC4nLFxuICAgIGNvbmZpcm1BZ2VudFdpdGhGaWxlc0Vycm9yOiAnVGhlIGFnZW50IHdhcyBjcmVhdGVkIHN1Y2Nlc3NmdWxseSwgYnV0IHNvbWUgZmlsZXMgY291bGQgbm90IGJlIHByb2Nlc3NlZC4nLFxuICAgIGNvbmZpcm1BZ2VudERlbGV0ZWQ6ICdUaGUgYWdlbnQgaGFzIGJlZW4gc3VjY2Vzc2Z1bGx5IGRlbGV0ZWQnLFxuICAgIGVycm9yQWNjZXNzRGVuaWVkOiBcIllvdSBkb24ndCBoYXZlIHBlcm1pc3Npb24gdG8gYWNjZXNzIHRoaXMgYWdlbnQuIENvbnRhY3Qgc3VwcG9ydC5cIixcbiAgICBlcnJvckFnZW50Q3JlYXRlZDogJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJyZWQuIFBsZWFzZSwgdHJ5IGFnYWluLicsXG4gICAgYXR0YWNobWVudENhcmQ6IHtcbiAgICAgIGRvd25sb2FkOiAnRG93bmxvYWQnLFxuICAgICAgZGVsZXRlOiAnRGVsZXRlJyxcbiAgICB9LFxuICAgIGdlbmVyYWxTZWN0aW9uOiB7XG4gICAgICB0aXRsZTogJ0dlbmVyYWwnLFxuICAgICAgZ2VuZXJhbFNldHRpbmdzOiAnR2VuZXJhbCBzZXR0aW5ncycsXG4gICAgICByZXF1aXJlZEZpZWxkc0xhYmVsOiAnKnJlcXVpcmVkJyxcbiAgICAgIGluZm9MYWJlbDogJ0FkZCBhbGwgdGhlIGluZm9ybWF0aW9uIHRvIGN1c3RvbWl6ZSB5b3VyIGFnZW504oCZcyBiZWhhdmlvci4nLFxuICAgICAgb3B0aW9uYWxMYWJlbDogJ09wdGlvbmFsJyxcbiAgICAgIGJhc2ljU2V0dGluZ3M6ICdCYXNpYyBzZXR0aW5ncycsXG4gICAgICBzZWxlY3RFbW9qaTogJ1NlbGVjdCBlbW9qaScsXG4gICAgICBuYW1lOiAnV2hhdCBpcyB5b3VyIGFnZW504oCZcyBuYW1lPycsXG4gICAgICBuYW1lUGxhY2Vob2xkZXI6ICdHaXZlIHlvdXIgYWdlbnQgYSBuYW1lJyxcbiAgICAgIGJlaGF2aW9yU2V0dGluZ3M6ICdCZWhhdmlvciBzZXR0aW5ncycsXG4gICAgICBpbml0aWFsUHJvbXB0OiAnV2hhdCBhcmUgdGhlIGluc3RydWN0aW9ucz8nLFxuICAgICAgaW5pdGlhbFByb21wdFBsYWNlaG9sZGVyOlxuICAgICAgICAnRXhhbXBsZTogWW91IGFyZSBhIHNvY2lhbCBtZWRpYSBjb3B5d3JpdGVyIHdobyB3cml0ZXMgYW5kIGFkYXB0cyBtZXNzYWdlcyBmb3IgZGlmZmVyZW50IHBsYXRmb3JtcywgZW5zdXJpbmcgY29uc2lzdGVuY3kgaW4gdG9uZSwgcGVyc29uYWxpdHksIGFuZCBicmFuZCB2YWx1ZXMuJyxcbiAgICAgIG1vZGVsQWlMYWJlbDogJ0FJIG1vZGVsJyxcbiAgICAgIG5vTW9kZWxzQXZhaWxhYmxlOiAnTm8gbW9kZWxzIGF2YWlsYWJsZScsXG4gICAgICBpbnB1dFBsYWNlaG9sZGVyVGl0bGU6ICdXaGF0IHdpbGwgdGhlIHVzZXIgc2VlIGluIHRoZSBjaGF0IGZpZWxkIGJlZm9yZSB0eXBpbmc/JyxcbiAgICAgIGlucHV0UGxhY2Vob2xkZXI6ICdBc2sgbWUgYW55dGhpbmcgeW91IG5lZWTigKYnLFxuICAgICAgaW50cm9kdWN0aW9uOiAnSG93IHdpbGwgeW91ciBhZ2VudCBpbnRyb2R1Y2UgaXRzZWxmPycsXG4gICAgICBpbnRyb2R1Y3Rpb25QbGFjZWhvbGRlcjpcbiAgICAgICAgJ0V4YW1wbGU6IEhpISDwn5GLIEnigJltIGhlcmUgdG8gaGVscCB5b3UgY3JlYXRlLCBhZGFwdCwgYW5kIHJldmlldyBjb3B5IGZvciBkaWZmZXJlbnQgcGxhdGZvcm1zLCBlbnN1cmluZyB5b3VyIGJyYW5k4oCZcyB2b2ljZSwgdG9uZSwgYW5kIHBlcnNvbmFsaXR5IHN0YXkgY29uc2lzdGVudC4gWW91IGNhbiBhc2sgbWUgdG8gc3VnZ2VzdCBjYW1wYWlnbiBpZGVhcywgYWRhcHQgYSBtZXNzYWdlIGZvciBhbm90aGVyIGNoYW5uZWwsIG9yIHJldmlldyB0aGUgY29oZXJlbmNlIG9mIHlvdXIgY29udGVudC4nLFxuICAgICAgYWRkRmF2b3JpdGU6ICdBZGQgdG8gZmF2b3JpdGVzJyxcbiAgICAgIHJlbW92ZUZhdm9yaXRlOiAnUmVtb3ZlIGZyb20gZmF2b3JpdGVzJyxcbiAgICAgIGVycm9yOiB7XG4gICAgICAgIG1heENhcmFjdGVyTmFtZTogJ1lvdSBoYXZlIHJlYWNoZWQgdGhlIDE1MC1jaGFyYWN0ZXIgbGltaXQuJyxcbiAgICAgICAgbWF4Q2FyYWN0ZXJJbml0aWFsUHJvbXB0OiAnWW914oCZdmUgcmVhY2hlZCB0aGUgNTAwMC1jaGFyYWN0ZXIgbGltaXQuJyxcbiAgICAgICAgbWF4SW5wdXRQbGFjZWhvbGRlcjogJ1lvdeKAmXZlIHJlYWNoZWQgdGhlIDEwMC1jaGFyYWN0ZXIgbGltaXQuJyxcbiAgICAgICAgbWF4Q2FyYWN0ZXJJbnRyb2R1Y3Rpb246ICdZb3XigJl2ZSByZWFjaGVkIHRoZSA0MDAtY2hhcmFjdGVyIGxpbWl0LicsXG4gICAgICB9LFxuICAgICAgaG93VG9Xcml0ZVByb21wdDogJ0hvdyB0byB3cml0ZSBhIHByb21wdCcsXG4gICAgICB3aGF0SXNNb2RlbEFpVGl0bGU6ICdXaGljaCBBSSBtb2RlbCB3aWxsIHlvdSB1c2U/JyxcbiAgICAgIHdoYXRJc01vZGVsQWk6ICdXaGF0IGlzIGEgbW9kZWwgb2YgQUk/JyxcbiAgICAgIGNyZWF0ZWRCeTogJ0J5JyxcbiAgICAgIGNyZWF0ZWRCeVRvb2x0aXA6ICdBZ2VudCBjcmVhdG9yIHVzZXInLFxuICAgICAgY3JlYXRlZEJ5VG9vbHRpcERlbGV0ZWQ6ICdVc2VyIGRlbGV0ZWQuIFRoZWlyIG5hbWUgaXMga2VwdCBmb3IgcmVmZXJlbmNlLicsXG4gICAgfSxcbiAgICBrbm93bGVkZ2VTZWN0aW9uOiB7XG4gICAgICB0aXRsZTogJ0tub3dsZWRnZScsXG4gICAgICBrbm93bGVkZ2VUYWI6ICdLbm93bGVkZ2UgYmFzZScsXG4gICAgICBpbmZvTGFiZWw6ICdVcGxvYWQgdGhlIGZpbGVzIHlvdXIgYWdlbnQgd2lsbCB1c2UgYXMgYSByZWZlcmVuY2UgZm9yIGl0cyByZXNwb25zZXMuJyxcbiAgICAgIHNlbGVjdEZpbGVUaXRsZTogJ1NlbGVjdCBmaWxlcycsXG4gICAgICBhdHRhY2hGaWxlczogJ0F0dGFjaCBmaWxlcycsXG4gICAgICBkcm9wWm9uZVRleHQ6IHtcbiAgICAgICAgMTogJ0NsaWNrIGhlcmUgdG8gdXBsb2FkJyxcbiAgICAgICAgMjogJ29yIGRyYWcgZmlsZXMnLFxuICAgICAgfSxcbiAgICAgIGluZm9GaWxlVHlwZXM6XG4gICAgICAgICcubWQsIC5wZGYsIC5kb2MsIC5kb2N4LCAucHB0LCAucHB0eCwgLnR4dCwgLmNzdiwgLnBuZywgLmpwZywgLmpwZWcsIC54bHMsIC54bHN4ICAobWF4LiB0b3RhbCA1TUIpJyxcbiAgICAgIGVycm9yOiB7XG4gICAgICAgIG1heEZpbGVzVGl0bGU6ICdUb3RhbCBzaXplIGxpbWl0IGV4Y2VlZGVkLicsXG4gICAgICAgIG1heEZpbGVzRGVzY3JpcHRpb246ICdZb3UgY2FuIGF0dGFjaCBmaWxlcyB1cCB0byBhIHRvdGFsIG9mIDUgTUIuIFRoZSBmb2xsb3dpbmcgZmlsZXMgY291bGQgbm90IGJlIGF0dGFjaGVkOicsXG4gICAgICAgIG1heFNpemVUaXRsZTogJ1lvdSBoYXZlIGV4Y2VlZGVkIHRoZSBhbGxvd2VkIGZpbGUgc2l6ZSBsaW1pdCcsXG4gICAgICAgIG1heFNpemVEZXNjcmlwdGlvbjoge1xuICAgICAgICAgIDE6ICdUaGUgbWF4aW11bSBsaW1pdCBvZiA1IE1CIHdhcyByZWFjaGVkLicsXG4gICAgICAgICAgMjogJ1RoZXNlIGZpbGVzIHdlcmUgbm90IHVwbG9hZGVkIGJlY2F1c2UgdGhleSBleGNlZWQgdGhlIGF2YWlsYWJsZSBzcGFjZTonLFxuICAgICAgICB9LFxuICAgICAgICBpbnZhbGlkRXh0ZW5zaW9uRGVzY3JpcHRpb246IHtcbiAgICAgICAgICAxOiAnT25seSBmaWxlcyB3aXRoIHRoZSBmb2xsb3dpbmcgZXh0ZW5zaW9ucyBhcmUgYWNjZXB0ZWQ6IC5tZCwgLnBkZiwgLmRvYywgLmRvY3gsIC5wcHQsIC5wcHR4LCAudHh0LCAuY3N2LCAucG5nLCAuanBnLCAuanBlZywgLnhscywgLnhsc3gnLFxuICAgICAgICAgIDI6ICdUaGVzZSBmaWxlcyB3ZXJlIG5vdCB1cGxvYWRlZCBiZWNhdXNlIHRoZWlyIGV4dGVuc2lvbiBpcyBub3QgYWxsb3dlZDonLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICAgIG1vcmVJbmZvOiAnU2VlIGhvdyBpdCB3b3JrcyBoZXJlJyxcbiAgICB9LFxuICAgIGFjY2Vzc2liaWxpdHlTZWN0aW9uOiB7XG4gICAgICB0aXRsZVRhYjogJ1Blcm1pc3Npb25zJyxcbiAgICAgIHRpdGxlU2VjdGlvbjogJ0FnZW50IHZpc2liaWxpdHkgYW5kIHBlcm1pc3Npb25zJyxcbiAgICAgIHN1YnRpdGxlU2VjdGlvbjogJ0RlZmluZSB3aG8gY2FuIHVzZSB0aGlzIGFnZW50IGFuZCB3aGV0aGVyIGl0IGNhbiBhY2Nlc3MgQ09SIGRhdGEuJyxcbiAgICAgIGNvclBlcm1pc3Npb25zVGl0bGU6ICdDT1IgZGF0YSBhY2Nlc3MgcGVybWlzc2lvbnMnLFxuICAgICAgY29yUGVybWlzc2lvbnNTdWJ0aXRsZTogJ1doYXQgY2FuIHRoaXMgYWdlbnQgYWNjZXNzPycsXG4gICAgICB0YXNrQWNjZXNzVGl0bGU6ICdUYXNrIGFjY2VzcycsXG4gICAgICB0YXNrQWNjZXNzRGVzY3JpcHRpb246XG4gICAgICAgICdUaGUgYWdlbnQgd2lsbCBiZSBhYmxlIHRvIHJlYWQsIGNyZWF0ZSwgdXBkYXRlLCBhbmQgZGVsZXRlIHRhc2tzIGFjY29yZGluZyB0byB0aGUgdXNlcuKAmXMgcGVybWlzc2lvbnMuJyxcbiAgICAgIG1jcFBlcm1pc3Npb25zVGl0bGU6ICdFeHRlcm5hbCBjb25uZWN0b3JzJyxcbiAgICAgIG1jcFBlcm1pc3Npb25zU3VidGl0bGU6ICdXaGljaCBleHRlcm5hbCB0b29scyBjYW4gdGhpcyBhZ2VudCBhY2Nlc3M/JyxcbiAgICAgIG5ldHN1aXRlQWNjZXNzVGl0bGU6ICdOZXRTdWl0ZScsXG4gICAgICBuZXRzdWl0ZUFjY2Vzc0Rlc2NyaXB0aW9uOlxuICAgICAgICAnVGhlIGFnZW50IHdpbGwgYmUgYWJsZSB0byByZWFkIGFuZCB1cGRhdGUgTmV0U3VpdGUgcmVjb3Jkcy4gV2Ugd2lsbCBhc2sgeW91IHRvIGF1dGhvcml6ZSBhY2Nlc3Mgd2hlbiB5b3Ugc2F2ZS4nLFxuICAgICAgY29ubmVjdG9yQWNjZXNzRGVzY3JpcHRpb246XG4gICAgICAgICdUaGUgYWdlbnQgd2lsbCBiZSBhYmxlIHRvIHVzZSB7e25hbWV9fS4gV2Ugd2lsbCBhc2sgeW91IHRvIGF1dGhvcml6ZSBhY2Nlc3Mgd2hlbiB5b3Ugc2F2ZS4nLFxuICAgICAgY29ubmVjdG9yQXV0aEZhaWxlZDogJ1dlIGNvdWxkIG5vdCBvcGVuIHRoZSBjb25uZWN0b3IgbG9naW4uIFRyeSBhZ2FpbiBvciBjaGVjayB0aGUgT0F1dGggc2V0dXAuJyxcbiAgICAgIGNvbm5lY3RvckF1dGhJbmNvbXBsZXRlOiAnTmV0U3VpdGUgbG9naW4gZGlkIG5vdCBmaW5pc2guIFNhdmUgYWdhaW4sIGNsaWNrIEFsbG93LCBhbmQgd2FpdCBmb3IgdGhlIHdpbmRvdyB0byBjbG9zZS4nLFxuICAgICAgbmV0c3VpdGVBdXRoU2V0dXBSZXF1aXJlZDpcbiAgICAgICAgJ05ldFN1aXRlIGRvZXMgbm90IGF1dG8tcmVnaXN0ZXIgdGhlIGFwcC4gQW4gYWRtaW4gbXVzdCBjcmVhdGUgYW4gSW50ZWdyYXRpb24gKFB1YmxpYyBDbGllbnQsIEFJIENvbm5lY3RvciBzY29wZSwgTUFJQSBSZWRpcmVjdCBVUkkpLiBBZnRlciB0aGF0LCBsb2dpbiBhcHBlYXJzIGluIHRoZSBwb3B1cC4nLFxuICAgICAgdmlzaWJpbGl0eVRpdGxlOiAnQWdlbnQgdmlzaWJpbGl0eScsXG4gICAgICB3aG9DYW5BY2Nlc3M6ICdXaG8gY2FuIHVzZSB0aGlzIGFnZW50PycsXG4gICAgICBhbGxDb21wYW55VGl0bGU6ICdFbnRpcmUgY29tcGFueScsXG4gICAgICBhbGxDb21wYW55RGVzY3JpcHRpb246ICdBbGwgdXNlcnMgb2YgeW91ciBvcmdhbml6YXRpb24gd2lsbCBiZSBhYmxlIHRvIHNlZSBhbmQgdXNlIHRoaXMgYWdlbnQuJyxcbiAgICAgIGNsaWVudFRpdGxlOiAnRm9yIHNwZWNpZmljIGNsaWVudHMnLFxuICAgICAgY2xpZW50RGVzY3JpcHRpb246XG4gICAgICAgICdBc3NvY2lhdGUgdGhpcyBhZ2VudCB3aXRoIG9uZSBvciBtb3JlIGNsaWVudHMuIEFsbCB1c2VycyB3aWxsIGJlIGFibGUgdG8gc2VlIHdoaWNoIGNsaWVudHMgYXJlIGxpbmtlZC4nLFxuICAgICAgb3duVGl0bGU6ICdPbmx5IG1lJyxcbiAgICAgIG93bkRlc2NyaXB0aW9uOiAnVGhpcyBhZ2VudCB3aWxsIGJlIHByaXZhdGUgYW5kIHdpbGwgbm90IGJlIGF2YWlsYWJsZSB0byBvdGhlciB1c2Vycy4nLFxuICAgICAgY2xpZW50c1NlbGVjdGVkOiAnQ2xpZW50cyBzZWxlY3RlZDonLFxuICAgICAgc2VhcmNoRXJyb3I6ICdPb3BzISBXZSBoYWQgdHJvdWJsZSBsb2FkaW5nIHRoZSBjbGllbnRzLiBDb3VsZCB5b3UgdHJ5IGFnYWluIGluIGEgbW9tZW50PycsXG4gICAgICBzZWFyY2hFbXB0eTogJ09vcHMhIFdlIGNvdWxkbuKAmXQgZmluZCBjbGllbnRzIHdpdGggdGhhdCBuYW1lLiBUcnkgYW5vdGhlciBzZWFyY2guJyxcbiAgICAgIHNlYXJjaEluaXRpYWw6ICdTdGFydCB0eXBpbmcgYSBjbGllbnTigJlzIG5hbWUgdG8gbGluayBpdCcsXG4gICAgICBzZWFyY2hQbGFjZWhvbGRlcjogJ1NlYXJjaCBjbGllbnQnLFxuICAgICAgY2xpZW50SW5hY3RpdmU6ICdUaGlzIGNsaWVudCBpcyBpbmFjdGl2ZS4gV2UgcmVjb21tZW5kIHJlbW92aW5nIGl0IGZyb20gdGhlIGxpc3QuJyxcbiAgICAgIGNsaWVudERlbGV0ZWRUb29sdGlwOiAnVGhpcyBjbGllbnQgd2FzIGRlbGV0ZWQuIFdlIHJlY29tbWVuZCByZW1vdmluZyBpdCBmcm9tIHRoZSBsaXN0LicsXG4gICAgICBjbGllbnREZWxldGVkOiAnQ2xpZW50IGRlbGV0ZWQnLFxuICAgICAgY2xpZW50c0Vycm9yOiAnQ2hlY2sgdGhlIGFzc29jaWF0ZWQgY2xpZW50cycsXG4gICAgfSxcbiAgICBwcm9jZXNzaW5nS25vd2xlZGdlOiB7XG4gICAgICBkZXNjcmlwdGlvbkNyZWF0ZTpcbiAgICAgICAgJ1dlIGFyZSBjcmVhdGluZyB0aGUgQWdlbnQgYW5kIGl0cyBrbm93bGVkZ2UgYmFzZS4gVGhpcyBtYXkgdGFrZSBhIGZldyBtb21lbnRzLiBQbGVhc2UgZG8gbm90IGNsb3NlIHRoaXMgd2luZG93IHVudGlsIHRoZSBwcm9jZXNzIGhhcyBiZWVuIGNvbXBsZXRlZC4nLFxuICAgICAgZGVzY3JpcHRpb25VcGRhdGU6XG4gICAgICAgICdXZSBhcmUgdXBkYXRpbmcgdGhlIEFnZW50IGFuZCBpdHMga25vd2xlZGdlIGJhc2UuIFRoaXMgbWF5IHRha2UgYSBmZXcgbW9tZW50cy4gUGxlYXNlIGRvIG5vdCBjbG9zZSB0aGlzIHdpbmRvdyB1bnRpbCB0aGUgcHJvY2VzcyBoYXMgYmVlbiBjb21wbGV0ZWQuJyxcbiAgICAgIGZpbGVSb3c6ICdGaWxlJyxcbiAgICAgIHN0YXR1c1JvdzogJ1N0YXR1cycsXG4gICAgICBwZW5kaW5nOiAnUGVuZGluZycsXG4gICAgICBwcm9jZXNzaW5nOiAnUHJvY2Vzc2luZycsXG4gICAgICBmYWlsZWQ6ICdGYWlsZWQnLFxuICAgICAgZG9uZTogJ0RvbmUnLFxuICAgICAgbG9hZGluZ0ZpbGVzOiAnTG9hZGluZyBmaWxlcy4uLicsXG4gICAgICBlcnJvcjoge30sXG4gICAgfSxcbiAgICBkZWxldGVBZ2VudE1vZGFsOiB7XG4gICAgICB0aXRsZTogJ0RvIHlvdSB3YW50IHRvIGRlbGV0ZSB0aGlzIGFnZW50PycsXG4gICAgICBmaXJzdFBhcnQ6ICdZb3UgYXJlIGFib3V0IHRvIGRlbGV0ZSAnLFxuICAgICAgc2Vjb25kUGFydDogJ1RoaXMgYWN0aW9uIGNhbm5vdCBiZSB1bmRvbmUuJyxcbiAgICAgIGNhbmNlbDogJ0NhbmNlbCcsXG4gICAgICBkZWxldGU6ICdEZWxldGUnLFxuICAgIH0sXG4gIH0sXG4gIFtTRUNUSU9OUy5wcm9qZWN0U2VsZWN0b3JdOiB7XG4gICAgLi4uZ2VuZXJpY1NlY3Rpb24sXG4gICAgcHJvamVjdFNlbGVjdG9yOiB7XG4gICAgICB0aXRsZTogJ1doaWNoIHByb2plY3Qgd291bGQgeW91IGxpa2UgaGVscCB3aXRoPycsXG4gICAgICBoZWxsbzoge1xuICAgICAgICB0aXRsZTogJ0nigJltIE1BSUEsIHlvdXIgcHJvamVjdCBzcGVjaWFsaXN0LicsXG4gICAgICAgIHN1YnRpdGxlOlxuICAgICAgICAgICdUbyBnaXZlIHlvdSBhY2N1cmF0ZSBhbnN3ZXJzLCBJIG5lZWQgdG8ga25vdyB3aGljaCBwcm9qZWN0IHdl4oCZcmUgdGFsa2luZyBhYm91dC4gV2hpY2ggb25lIGRvIHlvdSBjaG9vc2U/JyxcbiAgICAgIH0sXG4gICAgICBzdWJ0aXRsZTogJ1NlbGVjdCBhIHByb2plY3Qgc28gTUFJQSBjYW4gcmVzcG9uZCBpbiBjb250ZXh0LicsXG4gICAgICBsYWJlbFByb2plY3Q6ICdTZWxlY3QgYSBwcm9qZWN0JyxcbiAgICAgIHBsYWNlaG9sZGVyOiAnU2VhcmNoIGZvciBhIHByb2plY3QgYnkgbmFtZScsXG4gICAgICBjaGFuZ2VQcm9qZWN0OiAnQ2hhbmdlIHByb2plY3QnLFxuICAgICAgcmVjZW50UHJvamVjdHM6ICdSZWNlbnRzJyxcbiAgICAgIHNlYXJjaGluZ1Byb2plY3RzOiAnU2VhcmNoaW5nIHlvdXIgcHJvamVjdHMuLi4nLFxuICAgICAgZXJyb3JNZXNzYWdlOiAnT29wcyEgV2UgaGFkIGEgcHJvYmxlbSBsb2FkaW5nIHRoZSBwcm9qZWN0cy4gUGxlYXNlIHRyeSBhZ2FpbiBpbiBhIGZldyBtaW51dGVzLicsXG4gICAgICBlbXB0eVJlY2VudFByb2plY3RzOiAnWW91IGRvbuKAmXQgaGF2ZSByZWNlbnQgcHJvamVjdHMuIFR5cGUgYSBwcm9qZWN0IG5hbWUgaW4gdGhlIHNlYXJjaCB0byBmaW5kIGl0LicsXG4gICAgICBlbXB0eVN0YXRlOiAnT29wcyEgV2UgY291bGRu4oCZdCBmaW5kIGFueSBwcm9qZWN0cyB3aXRoIHRoYXQgbmFtZS4gVHJ5IGFub3RoZXIgc2VhcmNoLicsXG4gICAgICB3aXRob3V0Q2xpZW50OiAnTm8gY2xpZW50JyxcbiAgICAgIHdpdGhvdXRUaXRsZTogJ05vIHRpdGxlJyxcbiAgICB9LFxuICB9LFxuICBbU0VDVElPTlMuY2xpZW50U2VsZWN0b3JdOiB7XG4gICAgLi4uZ2VuZXJpY1NlY3Rpb24sXG4gICAgY2xpZW50U2VsZWN0b3I6IHtcbiAgICAgIHRpdGxlOiAnV2hpY2ggY2xpZW50IHdvdWxkIHlvdSBsaWtlIGhlbHAgd2l0aD8nLFxuICAgICAgaGVsbG86IHtcbiAgICAgICAgdGl0bGU6IFwiSSdtIE1BSUEsIHlvdXIgY2xpZW50IHNwZWNpYWxpc3QuXCIsXG4gICAgICAgIHN1YnRpdGxlOlxuICAgICAgICAgIFwiVG8gZ2l2ZSB5b3UgYWNjdXJhdGUgYW5zd2VycywgSSBuZWVkIHRvIGtub3cgd2hpY2ggY2xpZW50IHdlJ3JlIHRhbGtpbmcgYWJvdXQuIFdoaWNoIG9uZSBkbyB5b3UgY2hvb3NlP1wiLFxuICAgICAgfSxcbiAgICAgIHN1YnRpdGxlOiAnU2VsZWN0IGEgY2xpZW50IHNvIE1BSUEgY2FuIHJlc3BvbmQgaW4gY29udGV4dC4nLFxuICAgICAgbGFiZWxDbGllbnQ6ICdTZWxlY3QgYSBjbGllbnQnLFxuICAgICAgcGxhY2Vob2xkZXI6ICdTZWFyY2ggY2xpZW50IGJ5IG5hbWUnLFxuICAgICAgY2hhbmdlQ2xpZW50OiAnQ2hhbmdlIGNsaWVudCcsXG4gICAgICByZWNlbnRDbGllbnRzOiAnUmVjZW50cycsXG4gICAgICBzZWFyY2hpbmdDbGllbnRzOiAnU2VhcmNoaW5nIHlvdXIgY2xpZW50cy4uLicsXG4gICAgICBlcnJvck1lc3NhZ2U6ICdXZSBoYWQgYSBwcm9ibGVtIGxvYWRpbmcgdGhlIGNsaWVudHMuIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSBmZXcgbWludXRlcy4nLFxuICAgICAgZW1wdHlSZWNlbnRDbGllbnRzOiBcIllvdSBkb24ndCBoYXZlIHJlY2VudCBjbGllbnRzLiBUeXBlIGEgY2xpZW50IG5hbWUgaW4gdGhlIHNlYXJjaCB0byBmaW5kIGl0LlwiLFxuICAgICAgZW1wdHlTdGF0ZTogXCJPb3BzISBXZSBjb3VsZG4ndCBmaW5kIGNsaWVudHMgd2l0aCB0aGF0IG5hbWUuIFRyeSBhbm90aGVyIHNlYXJjaC5cIixcbiAgICAgIHByb2plY3Q6ICdwcm9qZWN0JyxcbiAgICAgIHByb2plY3RzOiAncHJvamVjdHMnLFxuICAgIH0sXG4gIH0sXG59XG4iXSwibWFwcGluZ3MiOiI7OztBQUFBLFNBQVNBLFFBQVEsUUFBUSx3QkFBd0I7QUFDakQsU0FBU0Msd0JBQXdCLFFBQVEsc0NBQXNDO0FBRS9FLElBQU1DLE9BQU8sR0FBRztFQUNkQyxLQUFLLEVBQUUsT0FBTztFQUNkQyxRQUFRLEVBQUUsVUFBVTtFQUNwQkMsUUFBUSxFQUFFLG1CQUFtQjtFQUM3QkMsU0FBUyxFQUFFLE1BQU07RUFDakJDLE1BQU0sRUFBRSxRQUFRO0VBQ2hCQyxRQUFRLEVBQUUsVUFBVTtFQUNwQkMsTUFBTSxFQUFFLHNCQUFzQjtFQUM5QkMsSUFBSSxFQUFFLE1BQU07RUFDWkMsTUFBTSxFQUFFLFFBQVE7RUFDaEJDLEtBQUssRUFBRSxPQUFPO0VBQ2RDLGFBQWEsRUFBRSxnQkFBZ0I7RUFDL0JDLElBQUksRUFBRSxNQUFNO0VBQ1pDLE1BQU0sRUFBRTtBQUNWLENBQUM7QUFFRCxJQUFNQyxLQUFLLEdBQUc7RUFDWkMsS0FBSyxFQUFFLHdCQUF3QjtFQUMvQkMsV0FBVyxFQUFFLCtFQUErRTtFQUM1RkMsUUFBUSxFQUFFO0FBQ1osQ0FBQztBQUVELElBQU1DLGNBQWMsR0FBRztFQUNyQkosS0FBSyxFQUFMQSxLQUFLO0VBQ0xkLE9BQU8sRUFBUEE7QUFDRixDQUFDO0FBRUQsSUFBTW1CLHFCQUFxQixHQUFHO0VBQzVCQyxNQUFNLEVBQUUsUUFBUTtFQUNoQkMsS0FBSyxFQUFFLGVBQWU7RUFDdEJDLE9BQU8sRUFBRSxpQ0FBaUM7RUFFMUNDLFFBQVEsRUFBRTtJQUNSQyxRQUFRLEVBQUUsZ0JBQWdCO0lBQzFCQyxVQUFVLEVBQUUsbUJBQW1CO0lBQy9CQyxPQUFPLEVBQUU7RUFDWCxDQUFDO0VBRURDLE1BQU0sRUFBRTtJQUNOQyxjQUFjLEVBQUUs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
|