@projectcor/maia-components 2.11.110-0 → 2.26.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.
Files changed (667) hide show
  1. package/README.md +2 -0
  2. package/package.json +3 -3
  3. package/CHANGELOG.md +0 -642
  4. package/lib/App.js +0 -55
  5. package/lib/components/atoms/ActionableButton.js +0 -60
  6. package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.js +0 -89
  7. package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.styles.js +0 -21
  8. package/lib/components/atoms/AgentActivityIndicator/AgentActivityIndicator.utils.js +0 -9
  9. package/lib/components/atoms/AgentActivityIndicator/index.js +0 -2
  10. package/lib/components/atoms/ApprovalBox/ApprovalBox.js +0 -209
  11. package/lib/components/atoms/ApprovalBox/ApprovalBox.styles.js +0 -93
  12. package/lib/components/atoms/ApprovalBox/index.js +0 -2
  13. package/lib/components/atoms/AttachmentCard/AttachmentCard.js +0 -218
  14. package/lib/components/atoms/AttachmentCard/AttachmentCard.styles.js +0 -52
  15. package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.js +0 -448
  16. package/lib/components/atoms/AttachmentCard/AttachmentCardAudio.styles.js +0 -58
  17. package/lib/components/atoms/AttachmentCard/AttachmentCardImage.js +0 -55
  18. package/lib/components/atoms/AttachmentCard/AttachmentCardImage.styles.js +0 -14
  19. package/lib/components/atoms/AttachmentCard/index.js +0 -4
  20. package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.js +0 -442
  21. package/lib/components/atoms/AttachmentPreviewModal/AttachmentPreviewModal.styles.js +0 -119
  22. package/lib/components/atoms/AttachmentPreviewModal/ExcelPreview.js +0 -222
  23. package/lib/components/atoms/AttachmentPreviewModal/PptPreview.js +0 -313
  24. package/lib/components/atoms/AttachmentPreviewModal/WordPreview.js +0 -128
  25. package/lib/components/atoms/AttachmentPreviewModal/index.js +0 -2
  26. package/lib/components/atoms/Backdrop/Backdrop.js +0 -17
  27. package/lib/components/atoms/Backdrop/Backdrop.styles.js +0 -9
  28. package/lib/components/atoms/Backdrop/index.js +0 -2
  29. package/lib/components/atoms/CardItem.js +0 -7
  30. package/lib/components/atoms/CardMenu/CardMenu.js +0 -131
  31. package/lib/components/atoms/CardMenu/index.js +0 -2
  32. package/lib/components/atoms/CardMenu/styles.js +0 -21
  33. package/lib/components/atoms/ChatClientSelector/ChatClientSelector.js +0 -77
  34. package/lib/components/atoms/ChatClientSelector/index.js +0 -2
  35. package/lib/components/atoms/ChatDisclaimerMessage/ChatDisclaimerMessage.js +0 -9
  36. package/lib/components/atoms/ChatDisclaimerMessage/index.js +0 -2
  37. package/lib/components/atoms/ChatDisclaimerMessage/styles.js +0 -6
  38. package/lib/components/atoms/Checkbox/Checkbox.js +0 -34
  39. package/lib/components/atoms/Checkbox/index.js +0 -2
  40. package/lib/components/atoms/Checkbox/styles.js +0 -39
  41. package/lib/components/atoms/Chip/Chip.js +0 -150
  42. package/lib/components/atoms/Chip/index.js +0 -2
  43. package/lib/components/atoms/Chip/styles.js +0 -43
  44. package/lib/components/atoms/ChipLlm/ChipLlm.js +0 -45
  45. package/lib/components/atoms/ChipLlm/ChipLlm.style.js +0 -21
  46. package/lib/components/atoms/ChipLlm/index.js +0 -2
  47. package/lib/components/atoms/ChipStatus/ChipStatus.interface.js +0 -2
  48. package/lib/components/atoms/ChipStatus/ChipStatus.js +0 -14
  49. package/lib/components/atoms/ChipStatus/ChipStatus.styles.js +0 -27
  50. package/lib/components/atoms/ChipStatus/index.js +0 -2
  51. package/lib/components/atoms/ClearButton.js +0 -6
  52. package/lib/components/atoms/ClientSelector/ClientSelector.js +0 -146
  53. package/lib/components/atoms/ClientSelector/ClientSelector.styles.js +0 -15
  54. package/lib/components/atoms/ClientSelector/index.js +0 -2
  55. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.js +0 -38
  56. package/lib/components/atoms/ContextMentionChip/ContextMentionChip.styles.js +0 -188
  57. package/lib/components/atoms/ContextMentionChip/MentionOverflowLabel.js +0 -39
  58. package/lib/components/atoms/ContextMentionChip/buildChipElement.js +0 -445
  59. package/lib/components/atoms/ContextMentionChip/index.js +0 -4
  60. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.js +0 -533
  61. package/lib/components/atoms/ContextMentionEditor/ContextMentionEditor.styles.js +0 -10
  62. package/lib/components/atoms/ContextMentionEditor/index.js +0 -2
  63. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.js +0 -282
  64. package/lib/components/atoms/ContextMentionItem/ContextMentionItem.styles.js +0 -148
  65. package/lib/components/atoms/ContextMentionItem/index.js +0 -2
  66. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.js +0 -290
  67. package/lib/components/atoms/ContextMentionPopover/ContextMentionPopover.styles.js +0 -108
  68. package/lib/components/atoms/ContextMentionPopover/index.js +0 -3
  69. package/lib/components/atoms/CopyToClipboard.js +0 -70
  70. package/lib/components/atoms/EditableLabel/EditableLabel.js +0 -110
  71. package/lib/components/atoms/EditableLabel/index.js +0 -2
  72. package/lib/components/atoms/EditableLabel/styles.js +0 -7
  73. package/lib/components/atoms/EmptySearchClients/EmptySearchClients.js +0 -22
  74. package/lib/components/atoms/EmptySearchClients/EmptySearchClients.styles.js +0 -18
  75. package/lib/components/atoms/EmptySearchClients/index.js +0 -2
  76. package/lib/components/atoms/EmptySearchProjects/EmptySearchProjects.js +0 -19
  77. package/lib/components/atoms/EmptySearchProjects/EmptySearchProjects.styles.js +0 -15
  78. package/lib/components/atoms/EmptySearchProjects/index.js +0 -2
  79. package/lib/components/atoms/EntitySelector/EntitySelector.js +0 -247
  80. package/lib/components/atoms/EntitySelector/EntitySelector.skeleton.js +0 -38
  81. package/lib/components/atoms/EntitySelector/EntitySelector.styles.js +0 -67
  82. package/lib/components/atoms/EntitySelector/index.js +0 -2
  83. package/lib/components/atoms/ErrorSearchClients/ErrorSearchClients.js +0 -14
  84. package/lib/components/atoms/ErrorSearchClients/ErrorSearchClients.styles.js +0 -15
  85. package/lib/components/atoms/ErrorSearchFaqs/ErrorSearchFaqs.js +0 -14
  86. package/lib/components/atoms/ErrorSearchFaqs/ErrorSearchFaqs.style.js +0 -15
  87. package/lib/components/atoms/ErrorSearchFaqs/index.js +0 -2
  88. package/lib/components/atoms/ErrorSearchProjects/ErrorSearchProjects.js +0 -18
  89. package/lib/components/atoms/ErrorSearchProjects/ErrorSearchProjects.style.js +0 -15
  90. package/lib/components/atoms/ErrorSearchProjects/index.js +0 -2
  91. package/lib/components/atoms/Expand/Expand.js +0 -32
  92. package/lib/components/atoms/Expand/index.js +0 -2
  93. package/lib/components/atoms/Fade/Fade.js +0 -56
  94. package/lib/components/atoms/Fade/index.js +0 -2
  95. package/lib/components/atoms/FeedbackButton/FeedbackButton.js +0 -59
  96. package/lib/components/atoms/FeedbackButton/FeedbackButton.styles.js +0 -14
  97. package/lib/components/atoms/FeedbackButton/index.js +0 -2
  98. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.js +0 -138
  99. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.skeleton.js +0 -44
  100. package/lib/components/atoms/FrequentlyAskedQuestions/FrequentlyAskedQuestions.styles.js +0 -43
  101. package/lib/components/atoms/FrequentlyAskedQuestions/index.js +0 -2
  102. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.js +0 -122
  103. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.skeleton.js +0 -43
  104. package/lib/components/atoms/FrequentlyUsedActions/FrequentlyUsedActions.styles.js +0 -62
  105. package/lib/components/atoms/FrequentlyUsedActions/index.js +0 -2
  106. package/lib/components/atoms/GoBackButton.js +0 -24
  107. package/lib/components/atoms/HelpButton.js +0 -44
  108. package/lib/components/atoms/IconButton.js +0 -56
  109. package/lib/components/atoms/ImagePreview/ImagePreview.js +0 -96
  110. package/lib/components/atoms/ImagePreview/ImagePreview.styles.js +0 -70
  111. package/lib/components/atoms/Input/CustomInput.interface.js +0 -2
  112. package/lib/components/atoms/Input/CustomInput.js +0 -91
  113. package/lib/components/atoms/Input/CustomInput.styles.js +0 -39
  114. package/lib/components/atoms/Input/index.js +0 -2
  115. package/lib/components/atoms/ListMenuOption/ListMenuOption.js +0 -41
  116. package/lib/components/atoms/ListMenuOption/index.js +0 -2
  117. package/lib/components/atoms/ListMenuOption/styles.js +0 -9
  118. package/lib/components/atoms/Loader.js +0 -41
  119. package/lib/components/atoms/LoadingFaqs/LoadingFaqs.js +0 -11
  120. package/lib/components/atoms/LoadingFaqs/LoadingFaqs.style.js +0 -6
  121. package/lib/components/atoms/LoadingFaqs/index.js +0 -2
  122. package/lib/components/atoms/LoadingSearchClients/LoadingSearchClients.js +0 -11
  123. package/lib/components/atoms/LoadingSearchClients/LoadingSearchClients.styles.js +0 -6
  124. package/lib/components/atoms/LoadingSearchClients/index.js +0 -2
  125. package/lib/components/atoms/LoadingSearchProjects/LoadingSearchProjects.js +0 -14
  126. package/lib/components/atoms/LoadingSearchProjects/LoadingSearchProjects.style.js +0 -10
  127. package/lib/components/atoms/LoadingSearchProjects/index.js +0 -2
  128. package/lib/components/atoms/LoadingText/LoadingText.js +0 -18
  129. package/lib/components/atoms/LoadingText/index.js +0 -2
  130. package/lib/components/atoms/LoadingText/styles.js +0 -7
  131. package/lib/components/atoms/MAIAButton/MAIAButton.js +0 -33
  132. package/lib/components/atoms/MAIAButton/index.js +0 -2
  133. package/lib/components/atoms/MAIAError/MAIAError.js +0 -15
  134. package/lib/components/atoms/MAIAError/index.js +0 -2
  135. package/lib/components/atoms/MAIAInput/MAIAInput.js +0 -1232
  136. package/lib/components/atoms/MAIAInput/MAIAInputEditor.js +0 -266
  137. package/lib/components/atoms/MAIAInput/index.js +0 -2
  138. package/lib/components/atoms/MAIAInput/maiaInputLayout.js +0 -25
  139. package/lib/components/atoms/MAIAInput/styles.js +0 -186
  140. package/lib/components/atoms/MAIAMessage/MAIAMessage.interfaces.js +0 -2
  141. package/lib/components/atoms/MAIAMessage/MAIAMessage.js +0 -22
  142. package/lib/components/atoms/MAIAMessage/index.js +0 -2
  143. package/lib/components/atoms/MAIAMessage/styles.js +0 -7
  144. package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.config.js +0 -23
  145. package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.interfaces.js +0 -2
  146. package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.js +0 -51
  147. package/lib/components/atoms/MaiaStreamdown/MaiaStreamdown.styles.js +0 -26
  148. package/lib/components/atoms/MaiaStreamdown/index.js +0 -2
  149. package/lib/components/atoms/MaiaWrapper/MaiaWrapper.js +0 -18
  150. package/lib/components/atoms/MaiaWrapper/MaiaWrapperBase.js +0 -84
  151. package/lib/components/atoms/MaiaWrapper/ModernMaiaWrapper.js +0 -15
  152. package/lib/components/atoms/MaiaWrapper/index.js +0 -3
  153. package/lib/components/atoms/MaiaWrapper/styles.js +0 -21
  154. package/lib/components/atoms/ModalClientAccess/ModalClientAccess.interface.js +0 -2
  155. package/lib/components/atoms/ModalClientAccess/ModalClientAccess.js +0 -84
  156. package/lib/components/atoms/ModalClientAccess/ModalClientAccess.styles.js +0 -53
  157. package/lib/components/atoms/ModalClientAccess/index.js +0 -2
  158. package/lib/components/atoms/ModalInfo/ModalInfo.js +0 -52
  159. package/lib/components/atoms/ModalInfo/ModalInfoContent.js +0 -7
  160. package/lib/components/atoms/ModalInfo/index.js +0 -3
  161. package/lib/components/atoms/ModalInfo/styles.js +0 -7
  162. package/lib/components/atoms/ModalProject/ModalProject.interface.js +0 -2
  163. package/lib/components/atoms/ModalProject/ModalProject.js +0 -112
  164. package/lib/components/atoms/ModalProject/ModalProject.style.js +0 -59
  165. package/lib/components/atoms/ModalProject/index.js +0 -2
  166. package/lib/components/atoms/NextPageLoader.js +0 -33
  167. package/lib/components/atoms/OnboardingModalButton/OnboardingModal.js +0 -28
  168. package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.js +0 -180
  169. package/lib/components/atoms/OnboardingModalButton/OnboardingModalButton.styles.js +0 -34
  170. package/lib/components/atoms/OnboardingModalButton/index.js +0 -3
  171. package/lib/components/atoms/OptionAccessibility/OptionAccessibility.js +0 -131
  172. package/lib/components/atoms/OptionAccessibility/OptionAccessibility.styles.js +0 -59
  173. package/lib/components/atoms/OptionAccessibility/index.js +0 -2
  174. package/lib/components/atoms/OptionCorPermission/OptionCorPermission.js +0 -27
  175. package/lib/components/atoms/OptionCorPermission/OptionCorPermission.styles.js +0 -18
  176. package/lib/components/atoms/OptionCorPermission/index.js +0 -2
  177. package/lib/components/atoms/PrimaryButton.js +0 -31
  178. package/lib/components/atoms/ProjectSelector/ProjectSelector.js +0 -77
  179. package/lib/components/atoms/ProjectSelector/ProjectSelector.styles.js +0 -61
  180. package/lib/components/atoms/ProjectSelector/index.js +0 -2
  181. package/lib/components/atoms/SecondaryButton.js +0 -20
  182. package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.js +0 -20
  183. package/lib/components/atoms/SessionGeneratingDot/SessionGeneratingDot.styles.js +0 -20
  184. package/lib/components/atoms/SessionGeneratingDot/index.js +0 -2
  185. package/lib/components/atoms/Skeleton/Skeleton.js +0 -36
  186. package/lib/components/atoms/Skeleton/index.js +0 -2
  187. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.js +0 -188
  188. package/lib/components/atoms/SkillsDropdown/SkillsDropdown.styles.js +0 -69
  189. package/lib/components/atoms/SkillsDropdown/index.js +0 -2
  190. package/lib/components/atoms/SlashCommandChip/SlashCommandChip.js +0 -16
  191. package/lib/components/atoms/SlashCommandChip/SlashCommandChip.styles.js +0 -24
  192. package/lib/components/atoms/SlashCommandChip/buildSlashChipElement.js +0 -18
  193. package/lib/components/atoms/SlashCommandChip/index.js +0 -4
  194. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.js +0 -210
  195. package/lib/components/atoms/SlashCommandDropdown/SlashCommandDropdown.styles.js +0 -53
  196. package/lib/components/atoms/SlashCommandDropdown/index.js +0 -2
  197. package/lib/components/atoms/Switch/Switch.js +0 -27
  198. package/lib/components/atoms/Switch/Switch.styles.js +0 -22
  199. package/lib/components/atoms/Switch/index.js +0 -2
  200. package/lib/components/atoms/TextArea/CustomTextArea.interface.js +0 -2
  201. package/lib/components/atoms/TextArea/CustomTextArea.js +0 -93
  202. package/lib/components/atoms/TextArea/CustomTextArea.styles.js +0 -25
  203. package/lib/components/atoms/TextArea/TextArea.interfaces.js +0 -2
  204. package/lib/components/atoms/TextArea/TextArea.js +0 -172
  205. package/lib/components/atoms/TextArea/TextArea.styles.js +0 -16
  206. package/lib/components/atoms/TextArea/index.js +0 -2
  207. package/lib/components/atoms/ThirdButton.js +0 -19
  208. package/lib/components/atoms/VideoModal/VideoModal.js +0 -76
  209. package/lib/components/atoms/VideoModal/index.js +0 -2
  210. package/lib/components/atoms/WithAppCfg.js +0 -26
  211. package/lib/components/atoms/WithFeatureValidation.js +0 -23
  212. package/lib/components/atoms/WrapperCenterIcon/WrapperCenterIcon.js +0 -9
  213. package/lib/components/atoms/WrapperCenterIcon/WrapperCenterIcon.styles.js +0 -6
  214. package/lib/components/atoms/WrapperCenterIcon/index.js +0 -2
  215. package/lib/components/atoms/icons/AIIcon.js +0 -23
  216. package/lib/components/atoms/icons/AacFile.js +0 -39
  217. package/lib/components/atoms/icons/AccessibilityIcon.js +0 -42
  218. package/lib/components/atoms/icons/ActionAssignIcon.js +0 -111
  219. package/lib/components/atoms/icons/ActionCalendarIcon.js +0 -112
  220. package/lib/components/atoms/icons/ActionChargeHoursIcon.js +0 -111
  221. package/lib/components/atoms/icons/ActionChatIcon.js +0 -71
  222. package/lib/components/atoms/icons/ActionCreateIcon.js +0 -91
  223. package/lib/components/atoms/icons/ActionCreateReworkIcon.js +0 -39
  224. package/lib/components/atoms/icons/ActionCreateSubtaskIcon.js +0 -37
  225. package/lib/components/atoms/icons/ActionEditIcon.js +0 -39
  226. package/lib/components/atoms/icons/ActionSummaryMessagesIcon.js +0 -88
  227. package/lib/components/atoms/icons/ActionSummaryTaskIcon.js +0 -37
  228. package/lib/components/atoms/icons/ActionTimeBackIcon.js +0 -112
  229. package/lib/components/atoms/icons/AgentMaiaIcon.js +0 -31
  230. package/lib/components/atoms/icons/Brain.js +0 -77
  231. package/lib/components/atoms/icons/CorAccessIcon.js +0 -41
  232. package/lib/components/atoms/icons/CorLogo.js +0 -76
  233. package/lib/components/atoms/icons/CsvFile.js +0 -41
  234. package/lib/components/atoms/icons/DocFile.js +0 -41
  235. package/lib/components/atoms/icons/DocxFile.js +0 -41
  236. package/lib/components/atoms/icons/EmptyClientIllustration.js +0 -67
  237. package/lib/components/atoms/icons/EmptyHistory.js +0 -46
  238. package/lib/components/atoms/icons/EmptySearchIllustration.js +0 -37
  239. package/lib/components/atoms/icons/EmptyState.js +0 -84
  240. package/lib/components/atoms/icons/EmptyStateAgents.js +0 -58
  241. package/lib/components/atoms/icons/ErrorIcon.js +0 -14
  242. package/lib/components/atoms/icons/ErrorSearchIllustration.js +0 -52
  243. package/lib/components/atoms/icons/ErrorState.js +0 -51
  244. package/lib/components/atoms/icons/FaqChevronIcon.js +0 -39
  245. package/lib/components/atoms/icons/FaqsIcon.js +0 -51
  246. package/lib/components/atoms/icons/FlacIcon.js +0 -39
  247. package/lib/components/atoms/icons/FolderIcon.js +0 -29
  248. package/lib/components/atoms/icons/HomeIcon.js +0 -30
  249. package/lib/components/atoms/icons/ImageFile.js +0 -46
  250. package/lib/components/atoms/icons/M4aFile.js +0 -39
  251. package/lib/components/atoms/icons/MAIAIcon.js +0 -20
  252. package/lib/components/atoms/icons/MAIAIsologo.js +0 -65
  253. package/lib/components/atoms/icons/MDFile.js +0 -41
  254. package/lib/components/atoms/icons/MaiaChatLayoutFloatingIcon.js +0 -41
  255. package/lib/components/atoms/icons/MaiaChatLayoutFullscreenIcon.js +0 -41
  256. package/lib/components/atoms/icons/MaiaChatLayoutMenuIcon.js +0 -33
  257. package/lib/components/atoms/icons/MaiaChatLayoutSidebarIcon.js +0 -41
  258. package/lib/components/atoms/icons/MaiaInputAddIcon.js +0 -42
  259. package/lib/components/atoms/icons/MaiaInputAttachIcon.js +0 -29
  260. package/lib/components/atoms/icons/MaiaInputAttachmentImageIcon.js +0 -33
  261. package/lib/components/atoms/icons/MaiaInputDeepSearchIcon.js +0 -35
  262. package/lib/components/atoms/icons/MaiaInputMentionIcon.js +0 -44
  263. package/lib/components/atoms/icons/MaiaInputRobotIcon.js +0 -29
  264. package/lib/components/atoms/icons/MaiaInputSendIcon.js +0 -29
  265. package/lib/components/atoms/icons/MaiaInputSlashIcon.js +0 -29
  266. package/lib/components/atoms/icons/MaiaInputWebSearchIcon.js +0 -35
  267. package/lib/components/atoms/icons/MaiaSettingsProject.js +0 -111
  268. package/lib/components/atoms/icons/MaiaSettingsProjectV2.js +0 -193
  269. package/lib/components/atoms/icons/MaiaSparkleIcon.js +0 -75
  270. package/lib/components/atoms/icons/MaiaStoreIcon.js +0 -31
  271. package/lib/components/atoms/icons/Mp3File.js +0 -39
  272. package/lib/components/atoms/icons/Mp4File.js +0 -39
  273. package/lib/components/atoms/icons/MyAgentsNavIcon.js +0 -51
  274. package/lib/components/atoms/icons/NewChat.js +0 -29
  275. package/lib/components/atoms/icons/NotionIcon.js +0 -36
  276. package/lib/components/atoms/icons/OgaFile.js +0 -39
  277. package/lib/components/atoms/icons/OggFile.js +0 -39
  278. package/lib/components/atoms/icons/PdfFile.js +0 -39
  279. package/lib/components/atoms/icons/PlusIcon.js +0 -29
  280. package/lib/components/atoms/icons/PptFile.js +0 -47
  281. package/lib/components/atoms/icons/PptxFile.js +0 -49
  282. package/lib/components/atoms/icons/RetryIcon.js +0 -34
  283. package/lib/components/atoms/icons/SkillIcon.js +0 -30
  284. package/lib/components/atoms/icons/SkillVisibilityEveryoneIcon.js +0 -23
  285. package/lib/components/atoms/icons/SkillVisibilityOnlyMeIcon.js +0 -23
  286. package/lib/components/atoms/icons/SkillsNavIcon.js +0 -24
  287. package/lib/components/atoms/icons/SubtaskIcon.js +0 -36
  288. package/lib/components/atoms/icons/TaskLinkIcon.js +0 -27
  289. package/lib/components/atoms/icons/TelescopeIcon.js +0 -60
  290. package/lib/components/atoms/icons/TemplateGradientIcon.js +0 -42
  291. package/lib/components/atoms/icons/TextFile.js +0 -41
  292. package/lib/components/atoms/icons/WavFile.js +0 -39
  293. package/lib/components/atoms/icons/WebmFile.js +0 -50
  294. package/lib/components/atoms/icons/XlsFile.js +0 -42
  295. package/lib/components/atoms/icons/XlsxFile.js +0 -42
  296. package/lib/components/atoms/icons/index.js +0 -53
  297. package/lib/components/atoms/index.js +0 -42
  298. package/lib/components/index.js +0 -11
  299. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.interface.js +0 -2
  300. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.js +0 -149
  301. package/lib/components/molecules/AbmSection/AbmAccessibilitySection/AbmAccessibilitySection.styles.js +0 -53
  302. package/lib/components/molecules/AbmSection/AbmGeneralSection.js +0 -415
  303. package/lib/components/molecules/AbmSection/AbmGeneralSection.styles.js +0 -152
  304. package/lib/components/molecules/AbmSection/AbmKnowledgeSection.js +0 -374
  305. package/lib/components/molecules/AbmSection/AbmKnowledgeSection.styles.js +0 -106
  306. package/lib/components/molecules/AbmSection/AbmLoaderFiles.js +0 -92
  307. package/lib/components/molecules/AbmSection/AbmLoaderFiles.styles.js +0 -57
  308. package/lib/components/molecules/AbmSection/index.js +0 -4
  309. package/lib/components/molecules/ChatAIClientSelector/ChatAIClientSelector.js +0 -52
  310. package/lib/components/molecules/ChatAIClientSelector/index.js +0 -2
  311. package/lib/components/molecules/ChatAIContent/ChatAIContent.js +0 -119
  312. package/lib/components/molecules/ChatAIContent/ChatAIContent.skeleton.js +0 -187
  313. package/lib/components/molecules/ChatAIContent/ChatAIContent.styles.js +0 -6
  314. package/lib/components/molecules/ChatAIContent/index.js +0 -2
  315. package/lib/components/molecules/ChatAIHistory/ChatAIHistory.js +0 -241
  316. package/lib/components/molecules/ChatAIHistory/index.js +0 -2
  317. package/lib/components/molecules/ChatAIHistory/styles.js +0 -22
  318. package/lib/components/molecules/ChatAIHome/ChatAIHome.js +0 -649
  319. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.js +0 -115
  320. package/lib/components/molecules/ChatAIHome/ChatAIHomeMaiaker.styles.js +0 -95
  321. package/lib/components/molecules/ChatAIHome/index.js +0 -2
  322. package/lib/components/molecules/ChatAIHome/styles.js +0 -335
  323. package/lib/components/molecules/ChatAIMessages/ChatAICreateAgentActions.js +0 -137
  324. package/lib/components/molecules/ChatAIMessages/ChatAIMessages.js +0 -853
  325. package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.js +0 -47
  326. package/lib/components/molecules/ChatAIMessages/ChatAISuggestions.styles.js +0 -37
  327. package/lib/components/molecules/ChatAIMessages/README.md +0 -101
  328. package/lib/components/molecules/ChatAIMessages/index.js +0 -2
  329. package/lib/components/molecules/ChatAIMessages/newStyles.js +0 -131
  330. package/lib/components/molecules/ChatAIMessages/styles.js +0 -94
  331. package/lib/components/molecules/ChatAIModal/ChatAIModal.js +0 -1250
  332. package/lib/components/molecules/ChatAIModal/ChatAIModal.styles.js +0 -58
  333. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.js +0 -127
  334. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/ChatAiAgentOptions.styles.js +0 -34
  335. package/lib/components/molecules/ChatAIModal/components/ChatAiAgentOptions/index.js +0 -2
  336. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.js +0 -189
  337. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/ChatAiModalFooter.styles.js +0 -26
  338. package/lib/components/molecules/ChatAIModal/components/ChatAiModalFooter/index.js +0 -2
  339. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.js +0 -453
  340. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/ChatAiModalHeader.styles.js +0 -108
  341. package/lib/components/molecules/ChatAIModal/components/ChatAiModalHeader/index.js +0 -2
  342. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.js +0 -48
  343. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/MaiaMinimizedPill.styles.js +0 -38
  344. package/lib/components/molecules/ChatAIModal/components/MaiaMinimizedPill/index.js +0 -2
  345. package/lib/components/molecules/ChatAIModal/constants.js +0 -40
  346. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.js +0 -16
  347. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/FloatingPanelMotion.styles.js +0 -12
  348. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/constants.js +0 -13
  349. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/index.js +0 -3
  350. package/lib/components/molecules/ChatAIModal/floatingPanelMotion/useFloatingPanelDragTilt.js +0 -57
  351. package/lib/components/molecules/ChatAIModal/index.js +0 -2
  352. package/lib/components/molecules/ChatAIModal/layout.js +0 -74
  353. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.js +0 -457
  354. package/lib/components/molecules/ChatAIMyAgents/ChatAIMyAgents.styles.js +0 -218
  355. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.js +0 -384
  356. package/lib/components/molecules/ChatAIMySkills/ChatAIMySkills.styles.js +0 -165
  357. package/lib/components/molecules/ChatAIMySkills/index.js +0 -2
  358. package/lib/components/molecules/ChatAIProjectSelector/ChatAIProjectSelector.js +0 -48
  359. package/lib/components/molecules/ChatAIProjectSelector/ChatAIProjectSelector.styles.js +0 -49
  360. package/lib/components/molecules/ChatAIProjectSelector/index.js +0 -2
  361. package/lib/components/molecules/ChatFooter/ChatFooter.js +0 -337
  362. package/lib/components/molecules/ChatFooter/ChatFooterCorAccess.js +0 -32
  363. package/lib/components/molecules/ChatFooter/ChatFooterCorAccess.styles.js +0 -14
  364. package/lib/components/molecules/ChatFooter/ChatFooterFaqs.js +0 -201
  365. package/lib/components/molecules/ChatFooter/ChatFooterFaqs.styles.js +0 -51
  366. package/lib/components/molecules/ChatFooter/index.js +0 -2
  367. package/lib/components/molecules/ChatFooter/styles.js +0 -23
  368. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.js +0 -60
  369. package/lib/components/molecules/ContextMentionInput/ContextMentionInput.styles.js +0 -6
  370. package/lib/components/molecules/ContextMentionInput/index.js +0 -2
  371. package/lib/components/molecules/MessageFeedback/MessageFeedback.js +0 -118
  372. package/lib/components/molecules/MessageFeedback/index.js +0 -2
  373. package/lib/components/molecules/MessageFeedback/styles.js +0 -14
  374. package/lib/components/molecules/ProjectSummaryChat/ProjectSummaryChat.js +0 -127
  375. package/lib/components/molecules/ProjectSummaryChat/index.js +0 -2
  376. package/lib/components/molecules/ProjectSummaryChat/styles.js +0 -8
  377. package/lib/components/molecules/ProjectSummaryConfig/ProjectSummaryConfig.js +0 -152
  378. package/lib/components/molecules/ProjectSummaryConfig/index.js +0 -2
  379. package/lib/components/molecules/ProjectSummaryConfig/styles.js +0 -86
  380. package/lib/components/molecules/ProjectSummaryContent/ProjectSummaryContent.js +0 -49
  381. package/lib/components/molecules/ProjectSummaryContent/index.js +0 -2
  382. package/lib/components/molecules/ProjectSummaryModal/ProjectSummaryModal.js +0 -19
  383. package/lib/components/molecules/ProjectSummaryModal/index.js +0 -2
  384. package/lib/components/molecules/ProjectSummaryModal/styles.js +0 -2
  385. package/lib/components/molecules/Sidebar/Sidebar.js +0 -716
  386. package/lib/components/molecules/Sidebar/Sidebar.layout.styles.js +0 -157
  387. package/lib/components/molecules/Sidebar/Sidebar.skeleton.js +0 -48
  388. package/lib/components/molecules/Sidebar/Sidebar.styles.js +0 -75
  389. package/lib/components/molecules/Sidebar/index.js +0 -2
  390. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.js +0 -1420
  391. package/lib/components/organisms/AbmAgentModal/AbmAgentModal.styles.js +0 -93
  392. package/lib/components/organisms/AbmAgentModal/index.js +0 -2
  393. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.js +0 -182
  394. package/lib/components/organisms/AbmSkillGenerateModal/AbmSkillGenerateModal.styles.js +0 -34
  395. package/lib/components/organisms/AbmSkillGenerateModal/index.js +0 -2
  396. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.js +0 -550
  397. package/lib/components/organisms/AbmSkillModal/AbmSkillModal.styles.js +0 -118
  398. package/lib/components/organisms/AbmSkillModal/index.js +0 -2
  399. package/lib/components/organisms/ChatAI/ChatAI.js +0 -167
  400. package/lib/components/organisms/ChatAI/index.js +0 -2
  401. package/lib/components/organisms/ChatAI/styles.js +0 -7
  402. package/lib/components/organisms/ClientAIButton/ClientAIButton.js +0 -23
  403. package/lib/components/organisms/ClientAIButton/index.js +0 -2
  404. package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.js +0 -86
  405. package/lib/components/organisms/DeleteAgentModal/DeleteAgentModal.styles.js +0 -39
  406. package/lib/components/organisms/DeleteAgentModal/index.js +0 -2
  407. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.js +0 -122
  408. package/lib/components/organisms/DeleteQuestionModal/DeleteQuestionModal.styles.js +0 -47
  409. package/lib/components/organisms/DeleteQuestionModal/index.js +0 -2
  410. package/lib/components/organisms/EditQuestionModal/EditQuestionModal.js +0 -138
  411. package/lib/components/organisms/EditQuestionModal/EditQuestionModal.styles.js +0 -69
  412. package/lib/components/organisms/EditQuestionModal/index.js +0 -2
  413. package/lib/components/organisms/ModalFileExceeds/ModalFileExceeds.js +0 -113
  414. package/lib/components/organisms/ModalFileExceeds/ModalFileExceeds.styles.js +0 -54
  415. package/lib/components/organisms/ModalFileExceeds/index.js +0 -2
  416. package/lib/components/organisms/ProjectAIButton/ProjectAIButton.js +0 -26
  417. package/lib/components/organisms/ProjectAIButton/index.js +0 -2
  418. package/lib/components/organisms/ProjectSummary/ProjectSummary.js +0 -60
  419. package/lib/components/organisms/ProjectSummary/index.js +0 -2
  420. package/lib/components/organisms/ProjectSummary/styles.js +0 -7
  421. package/lib/components/organisms/SnackBar/Snackbar.interface.js +0 -2
  422. package/lib/components/organisms/SnackBar/Snackbar.js +0 -73
  423. package/lib/components/organisms/SnackBar/Snackbar.styles.js +0 -9
  424. package/lib/components/organisms/SnackBar/index.js +0 -2
  425. package/lib/components/organisms/SourcesInformation/SourceItem.js +0 -18
  426. package/lib/components/organisms/SourcesInformation/SourceItem.styles.js +0 -14
  427. package/lib/components/organisms/SourcesInformation/SourcesInformationModal.js +0 -66
  428. package/lib/components/organisms/SourcesInformation/SourcesInformationModal.styles.js +0 -27
  429. package/lib/components/organisms/SourcesInformation/index.js +0 -2
  430. package/lib/constants/config.js +0 -10
  431. package/lib/constants/formatExtensions.js +0 -55
  432. package/lib/constants/gqlClient.js +0 -4
  433. package/lib/constants/maiaHourAgentAccess.js +0 -15
  434. package/lib/constants/maiaTaskPanelAccess.js +0 -24
  435. package/lib/constants/maiaTaskPanelOutsideClick.js +0 -9
  436. package/lib/constants/maiaTaskPanelZIndex.js +0 -19
  437. package/lib/constants/permissions/config.js +0 -72
  438. package/lib/constants/permissions/index.js +0 -3
  439. package/lib/constants/permissions/types.js +0 -2
  440. package/lib/constants/permissions/utils.js +0 -18
  441. package/lib/constants/plannerSyncEvents.js +0 -15
  442. package/lib/constants/taskLinkIcon.js +0 -15
  443. package/lib/constants/taskUrls.js +0 -11
  444. package/lib/context/cor-user.js +0 -31
  445. package/lib/context/global-context.js +0 -39
  446. package/lib/dev/DevChatAI.js +0 -101
  447. package/lib/dev/DevContextMentionInput.js +0 -67
  448. package/lib/dev/ProjectSummary.js +0 -9
  449. package/lib/dev/Providers.js +0 -27
  450. package/lib/exports.js +0 -2
  451. package/lib/hooks/README.md +0 -192
  452. package/lib/hooks/index.js +0 -30
  453. package/lib/hooks/useAccessClient/index.js +0 -2
  454. package/lib/hooks/useAccessClient/useAccessClient.js +0 -81
  455. package/lib/hooks/useAgentModel/index.js +0 -2
  456. package/lib/hooks/useAgentModel/useAgentModel.js +0 -62
  457. package/lib/hooks/useAgentModel/useCreateAgent.js +0 -128
  458. package/lib/hooks/useAgentModel/useDeleteAgent.js +0 -88
  459. package/lib/hooks/useAgentModel/useUpdateAgent.js +0 -129
  460. package/lib/hooks/useAgentSuggestions.js +0 -60
  461. package/lib/hooks/useCaretPosition.js +0 -65
  462. package/lib/hooks/useChatManager/index.js +0 -2
  463. package/lib/hooks/useChatManager/useChatManager.interface.js +0 -2
  464. package/lib/hooks/useChatManager/useChatManager.js +0 -1782
  465. package/lib/hooks/useChatMessages/index.js +0 -2
  466. package/lib/hooks/useChatMessages/useChatMessages.interface.js +0 -2
  467. package/lib/hooks/useChatMessages/useChatMessages.js +0 -722
  468. package/lib/hooks/useChats/index.js +0 -2
  469. package/lib/hooks/useChats/useChats.interfaces.js +0 -2
  470. package/lib/hooks/useChats/useChats.js +0 -187
  471. package/lib/hooks/useClientSearch.js +0 -163
  472. package/lib/hooks/useContextMentions.js +0 -500
  473. package/lib/hooks/useContextPinPopover.js +0 -228
  474. package/lib/hooks/useDebounce.js +0 -18
  475. package/lib/hooks/useEntitySearch.js +0 -1053
  476. package/lib/hooks/useEvent.js +0 -93
  477. package/lib/hooks/useFrequentlyAskedQuestions.js +0 -150
  478. package/lib/hooks/useFrequentlyUsedActions.js +0 -94
  479. package/lib/hooks/useKnowledge/deleteKnowledge.js +0 -69
  480. package/lib/hooks/useKnowledge/downloadKnowledge.js +0 -81
  481. package/lib/hooks/useKnowledge/index.js +0 -4
  482. package/lib/hooks/useKnowledge/saveKnowledge.js +0 -107
  483. package/lib/hooks/useKnowledge/useKnowledgeOperations.js +0 -156
  484. package/lib/hooks/useMaiaTaskPanelZIndex.js +0 -17
  485. package/lib/hooks/useMentionAllowedTypes.js +0 -120
  486. package/lib/hooks/useMentionPopover.js +0 -342
  487. package/lib/hooks/useMinimizedPillBottomOffset.js +0 -110
  488. package/lib/hooks/useModal/index.js +0 -2
  489. package/lib/hooks/useModal/useModal.interfaces.js +0 -2
  490. package/lib/hooks/useModal/useModal.js +0 -47
  491. package/lib/hooks/useOnboardingNavigation.js +0 -20
  492. package/lib/hooks/useOrchestratorStream/index.js +0 -2
  493. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.interface.js +0 -2
  494. package/lib/hooks/useOrchestratorStream/useOrchestratorStream.js +0 -269
  495. package/lib/hooks/useProjectSearch.js +0 -183
  496. package/lib/hooks/useProjectSummary.js +0 -101
  497. package/lib/hooks/useProjectSummaryConfig.js +0 -211
  498. package/lib/hooks/useProjects.js +0 -46
  499. package/lib/hooks/useRecentClientsSearch.js +0 -150
  500. package/lib/hooks/useRecentContexts.js +0 -86
  501. package/lib/hooks/useResize.js +0 -29
  502. package/lib/hooks/useSkillsCatalog.js +0 -66
  503. package/lib/hooks/useSlashCommands.js +0 -84
  504. package/lib/hooks/useSmoothStreamText/index.js +0 -2
  505. package/lib/hooks/useSmoothStreamText/useSmoothStreamText.js +0 -197
  506. package/lib/hooks/useSnackBarManager/useSnackBarManager.js +0 -41
  507. package/lib/hooks/useStreamResponse.js +0 -112
  508. package/lib/hooks/useStreamdownStyles.js +0 -13
  509. package/lib/hooks/useStreamingMessage/index.js +0 -2
  510. package/lib/hooks/useStreamingMessage/useStreamingMessage.js +0 -18
  511. package/lib/hooks/useT.js +0 -17
  512. package/lib/hooks/useTabTaskDefault.js +0 -33
  513. package/lib/hooks/useTaskPanel.js +0 -22
  514. package/lib/hooks/useTextOverflowEllipsisTooltip.js +0 -34
  515. package/lib/hooks/useToggle.js +0 -19
  516. package/lib/hooks/useToggleFavorite/index.js +0 -2
  517. package/lib/hooks/useToggleFavorite/useToggleFavorite.js +0 -83
  518. package/lib/index.css +0 -76
  519. package/lib/index.js +0 -30
  520. package/lib/lang/br/index.js +0 -783
  521. package/lib/lang/en/index.js +0 -783
  522. package/lib/lang/es/index.js +0 -784
  523. package/lib/lang/fr/index.js +0 -604
  524. package/lib/lang/index.js +0 -24
  525. package/lib/lang/utils.js +0 -33
  526. package/lib/mocks/mockChats.js +0 -395
  527. package/lib/mocks/mockOrchestrator.js +0 -5
  528. package/lib/mocks/mockProject.js +0 -11
  529. package/lib/mocks/mockProjectSummary.js +0 -6
  530. package/lib/mocks/mockedUser.js +0 -169
  531. package/lib/services/apolloClient.js +0 -3
  532. package/lib/services/appcues.js +0 -19
  533. package/lib/services/corpilot/ProjectSummary/getProjectSummary.js +0 -31
  534. package/lib/services/corpilot/ProjectSummary/index.js +0 -5
  535. package/lib/services/corpilot/client.js +0 -27
  536. package/lib/services/corpilot/index.js +0 -5
  537. package/lib/services/maia/Access/updateAccess.js +0 -59
  538. package/lib/services/maia/Actions/getFrequentlyUsedActions.js +0 -46
  539. package/lib/services/maia/Actions/getSlashCommands.js +0 -39
  540. package/lib/services/maia/Actions/index.js +0 -7
  541. package/lib/services/maia/Agents/createAgent.js +0 -39
  542. package/lib/services/maia/Agents/deleteAgent.js +0 -38
  543. package/lib/services/maia/Agents/fetchAgentDetail.js +0 -122
  544. package/lib/services/maia/Agents/getAgentById.js +0 -162
  545. package/lib/services/maia/Agents/getAgentModels.js +0 -112
  546. package/lib/services/maia/Agents/getAgentSuggestions.js +0 -44
  547. package/lib/services/maia/Agents/getAgents.js +0 -718
  548. package/lib/services/maia/Agents/setAgentToolGroups.js +0 -42
  549. package/lib/services/maia/Agents/toggleFavorite.js +0 -34
  550. package/lib/services/maia/Agents/updateAgent.js +0 -39
  551. package/lib/services/maia/Chats/deleteChat.js +0 -32
  552. package/lib/services/maia/Chats/getChatMessages.js +0 -144
  553. package/lib/services/maia/Chats/getChatsByUserId.js +0 -82
  554. package/lib/services/maia/Chats/index.js +0 -15
  555. package/lib/services/maia/Chats/markSessionAsRead.js +0 -32
  556. package/lib/services/maia/Chats/patchChat.js +0 -43
  557. package/lib/services/maia/Chats/wasHelpfulChat.js +0 -31
  558. package/lib/services/maia/Faqs/getFrequentlyAskedQuestions.js +0 -55
  559. package/lib/services/maia/Faqs/index.js +0 -5
  560. package/lib/services/maia/Knowledge/delete.js +0 -41
  561. package/lib/services/maia/Knowledge/download.js +0 -48
  562. package/lib/services/maia/Knowledge/index.js +0 -3
  563. package/lib/services/maia/Knowledge/save.js +0 -43
  564. package/lib/services/maia/Orchestrator/index.js +0 -7
  565. package/lib/services/maia/Orchestrator/orchestrator.js +0 -246
  566. package/lib/services/maia/RecentClients/getRecentClients.js +0 -43
  567. package/lib/services/maia/RecentClients/index.js +0 -6
  568. package/lib/services/maia/RecentContexts/getRecentContexts.js +0 -54
  569. package/lib/services/maia/RecentContexts/index.js +0 -6
  570. package/lib/services/maia/RecentProjects/getRecentProjects.js +0 -55
  571. package/lib/services/maia/RecentProjects/index.js +0 -6
  572. package/lib/services/maia/RecentTasks/getRecentTasks.js +0 -54
  573. package/lib/services/maia/RecentTasks/index.js +0 -6
  574. package/lib/services/maia/RecentUsers/getRecentUsers.js +0 -59
  575. package/lib/services/maia/RecentUsers/index.js +0 -6
  576. package/lib/services/maia/Skills/createSkill.js +0 -39
  577. package/lib/services/maia/Skills/deleteSkill.js +0 -38
  578. package/lib/services/maia/Skills/generateSkill.js +0 -41
  579. package/lib/services/maia/Skills/getSkills.js +0 -120
  580. package/lib/services/maia/Skills/updateSkill.js +0 -39
  581. package/lib/services/maia/client.js +0 -27
  582. package/lib/services/maia/index.js +0 -17
  583. package/lib/services/query/ClientSearchQuery.js +0 -5
  584. package/lib/services/query/entitySearchQuery.js +0 -18
  585. package/lib/services/query/index.js +0 -2
  586. package/lib/services/query/projectSearchByValueQuery.js +0 -5
  587. package/lib/services/query/taskUserTabQuery.js +0 -8
  588. package/lib/services/query/usersDirectoryQuery.js +0 -19
  589. package/lib/services/types.js +0 -6
  590. package/lib/services/utils/fetchCOR.js +0 -117
  591. package/lib/services/utils/getCookie.js +0 -10
  592. package/lib/services/utils/index.js +0 -3
  593. package/lib/services/utils/mapChatMessages.js +0 -287
  594. package/lib/services/utils/validateIsMaia.js +0 -4
  595. package/lib/store/chatsSidebarOptimistic.js +0 -92
  596. package/lib/store/chatsStore.types.js +0 -2
  597. package/lib/store/chatsStoreLifecycle.js +0 -8
  598. package/lib/store/faqsStore.types.js +0 -2
  599. package/lib/store/index.js +0 -4
  600. package/lib/store/maiaLastChatPersistence.js +0 -35
  601. package/lib/store/sessions/activeView.js +0 -22
  602. package/lib/store/sessions/index.js +0 -9
  603. package/lib/store/sessions/sessionHitlContext.js +0 -15
  604. package/lib/store/sessions/sessionNotificationSound.js +0 -57
  605. package/lib/store/sessions/sessionNotifications.js +0 -110
  606. package/lib/store/sessions/sessionNotifications.types.js +0 -2
  607. package/lib/store/sessions/sessionStreamManager.js +0 -715
  608. package/lib/store/sessions/sessionStreamingText.js +0 -80
  609. package/lib/store/sessions/sessions.types.js +0 -35
  610. package/lib/store/sessions/useSessionMeta.js +0 -39
  611. package/lib/store/sessions/useSessionStreamingText.js +0 -18
  612. package/lib/store/sessions/useSessionsStore.js +0 -197
  613. package/lib/store/useChatsStore.js +0 -387
  614. package/lib/store/useFaqsStore.js +0 -27
  615. package/lib/streamdownStyles.js +0 -9
  616. package/lib/styles/StyledCleanContainer.js +0 -7
  617. package/lib/styles/cascade.js +0 -14
  618. package/lib/styles/config.js +0 -47
  619. package/lib/styles/shared/scrollable.js +0 -3
  620. package/lib/styles/transitions.js +0 -21
  621. package/lib/types/Action.js +0 -2
  622. package/lib/types/AgentSuggestion.js +0 -2
  623. package/lib/types/Chat.js +0 -10
  624. package/lib/types/Client.js +0 -2
  625. package/lib/types/FrequentlyAskedQuestion.js +0 -2
  626. package/lib/types/Project.js +0 -2
  627. package/lib/types/ProjectSummaryConfigKeys.js +0 -9
  628. package/lib/types/Task.js +0 -2
  629. package/lib/types/agent.js +0 -2
  630. package/lib/types/agentModal.js +0 -2
  631. package/lib/types/contextMention.js +0 -37
  632. package/lib/types/global.d.js +0 -2
  633. package/lib/types/skill.js +0 -2
  634. package/lib/types/streamActivity.js +0 -2
  635. package/lib/types/userType.d.js +0 -2
  636. package/lib/utils/actionCategoryMap.js +0 -37
  637. package/lib/utils/actionIconMap.js +0 -61
  638. package/lib/utils/agentDisplayName.js +0 -42
  639. package/lib/utils/chatInputFiles.js +0 -52
  640. package/lib/utils/contextMentionIcons.js +0 -134
  641. package/lib/utils/contextMentionLabel.js +0 -4
  642. package/lib/utils/contextMentionTriggers.js +0 -51
  643. package/lib/utils/contextMentionTypeLabel.js +0 -17
  644. package/lib/utils/corConnectorMentionTypes.js +0 -41
  645. package/lib/utils/ensureStreamdownStyles.js +0 -21
  646. package/lib/utils/entityLinkRender.js +0 -135
  647. package/lib/utils/fileDownloadHelper.js +0 -40
  648. package/lib/utils/formatQuickActionMessage.js +0 -16
  649. package/lib/utils/formatUnreadCount.js +0 -6
  650. package/lib/utils/getUnitFileSize.js +0 -13
  651. package/lib/utils/hitlAnalytics.js +0 -65
  652. package/lib/utils/hoursPlannerQuickActionType.js +0 -64
  653. package/lib/utils/imagePreprocessor.js +0 -108
  654. package/lib/utils/index.js +0 -3
  655. package/lib/utils/maiaHostOpen.js +0 -19
  656. package/lib/utils/maiaStreamdownRehypePlugins.js +0 -27
  657. package/lib/utils/mapBackendLang.js +0 -8
  658. package/lib/utils/normalizeAgentConnectors.js +0 -70
  659. package/lib/utils/openTaskInCorPanel.js +0 -22
  660. package/lib/utils/orchestratorSubagents.js +0 -11
  661. package/lib/utils/renderContextMentions.js +0 -420
  662. package/lib/utils/retryCompletion.js +0 -85
  663. package/lib/utils/slashCommandMarker.js +0 -30
  664. package/lib/utils/sortManagerHoursHomeFuas.js +0 -14
  665. package/lib/utils/sseStreamContent.js +0 -17
  666. package/lib/utils/streamActivityMessages.js +0 -359
  667. package/lib/utils/validateTrimmedFields.js +0 -8
@@ -1,783 +0,0 @@
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: 'Skill',
482
- sharedCreatedBy: 'Created by {{name}}',
483
- nameLabel: 'Name',
484
- namePlaceholder: 'Skill name',
485
- descriptionLabel: 'Description',
486
- descriptionPlaceholder: 'Briefly describe what the skill is for',
487
- instructionsLabel: 'Instructions',
488
- shareWithCompany: 'Enable for the whole company',
489
- createdBy: 'Created by',
490
- lastUpdated: 'Last updated',
491
- saveAndUse: 'Save and use skill',
492
- contentLabel: 'Skill',
493
- contentPlaceholder: 'Write the skill...',
494
- emptyStateTitle: "You don't have any skills yet",
495
- emptyStateDescription: 'Click the button below to start creating skills tailored to you.',
496
- emptyStateDescriptionNoPerm: 'When someone with permission sets them up, you will be able to access them from here.',
497
- emptyStateButton: 'Create skill',
498
- searchEmptyStateTitle: "We couldn't find any skills",
499
- searchEmptyStateDescription: 'Try another term or check your search.',
500
- createSuccess: 'Skill created successfully',
501
- createError: 'The skill could not be created. Please try again.',
502
- updateSuccess: 'Skill updated successfully',
503
- updateError: 'The skill could not be updated. Please try again.',
504
- deleteSuccess: 'Skill deleted successfully',
505
- deleteError: 'The skill could not be deleted. Please try again.'
506
- },
507
- snackbar: {
508
- deleteChat: {
509
- success: 'Chat deleted successfully',
510
- error: 'An unexpected error occurred. Please, try again.'
511
- },
512
- renamedChat: {
513
- success: 'Conversation renamed successfully',
514
- error: 'An unexpected error occurred. Please, try again.'
515
- },
516
- loadMoreAgents: {
517
- error: 'An unexpected error occurred. Please, try again.'
518
- }
519
- },
520
- approvalBox: {
521
- untitledAgent: 'Untitled agent',
522
- actions: {
523
- create_task: 'Creation of task',
524
- create_tasks_batch: 'Creation of tasks',
525
- create_agent: 'Create agent',
526
- edit_agent: 'Edit agent',
527
- edit_project: 'Edit project',
528
- edit_task: 'Edit task',
529
- edit_tasks_batch: 'Edit tasks',
530
- delete_task: 'Delete task',
531
- delete_tasks_batch: 'Delete tasks',
532
- task_assign: 'Assign user',
533
- task_unassign: 'Unassign user',
534
- assign_task_label: 'Assign label',
535
- create_labels: 'Create label',
536
- update_task_type: 'Update task type',
537
- update_estimated_hours: 'Update estimated hours',
538
- update_deliverable: 'Update deliverable',
539
- create_hour: 'Log hours',
540
- create_checklist: 'Create checklist',
541
- create_checklist_item: 'Add checklist item',
542
- clone_task: 'Clone task',
543
- get_task_date_hours: 'Get hours by date',
544
- configure_agent_access: 'Change agent visibility',
545
- send_task_message: 'Send task message',
546
- delete_checklist_item: 'Delete checklist item',
547
- remove_task_type: 'Remove task type',
548
- remove_task_label: 'Remove label',
549
- count_deliverable: 'Update deliverable count',
550
- create_rework: 'Create rework',
551
- update_rework: 'Update rework',
552
- delete_agent: 'Delete agent',
553
- unknown: 'Unknown action'
554
- },
555
- special: {
556
- createRework: {
557
- title: 'Create rework',
558
- description: 'A rework request will be created on the task with the information below.'
559
- },
560
- updateDeliverableChildren: {
561
- title: 'Update deliverable progress',
562
- description: 'The progress of linked sub-deliverables for this task will be updated.'
563
- }
564
- },
565
- fields: {
566
- name: 'Name',
567
- emoji: 'Emoji',
568
- introduction: 'Introduction',
569
- input_placeholder: 'Placeholder',
570
- user_prompt: 'Main prompt',
571
- language: 'Language',
572
- provider: 'Provider',
573
- model_name: 'Model',
574
- api_key: 'API key'
575
- },
576
- title: 'Confirmation required',
577
- description: 'You need to approve the following action:',
578
- approve: 'Approve',
579
- deny: 'Deny',
580
- manualApprovalWarning: 'Maia detected that the request was manually approved',
581
- status: {
582
- approved: 'Request Approved',
583
- denied: 'Request Denied'
584
- }
585
- },
586
- chipLlm: {
587
- tooltip: 'Model: {{model}}'
588
- },
589
- clientSelector: {
590
- project: 'project',
591
- projects: 'projects'
592
- }
593
- })), SECTIONS.abmAgent, _objectSpread(_objectSpread({}, genericSection), {}, {
594
- agents: 'Agents',
595
- layoutMenuTooltip: 'Chat layout',
596
- layoutSidebar: 'Side chat',
597
- layoutFullscreen: 'Fullscreen chat',
598
- layoutFloating: 'Floating chat',
599
- back: 'Back',
600
- addAgent: 'Add new agent',
601
- legendDeletedAgent: 'This agent was deleted on',
602
- legendProjectDeleted: 'The project {{name}} has been deleted. It is not possible to continue the conversation',
603
- legendNoAccess: 'You no longer have access to interact with the agent {{name}}',
604
- legendNoPermissions: 'You no longer have permission to view or interact with the agent {{name}}',
605
- legendLegacyContextSession: 'This conversation belongs to a previous context. You can continue with {{name}} in a new chat.',
606
- continueInNewChat: 'Continue in a new chat',
607
- legendModelDeprecated: 'The model selected for this agent is no longer available. Switch to another model to continue using it.',
608
- legendProviderStatus: 'The model used by this agent is experiencing temporary issues. You can wait for it to recover or switch to a different model.',
609
- changeModel: 'Change model',
610
- newAgent: 'New agent',
611
- createAgent: 'Create Agent',
612
- editAgent: 'Edit agent',
613
- cancel: 'Cancel',
614
- accept: 'Accept',
615
- deleteAgent: 'Delete agent',
616
- "continue": 'Continue',
617
- edit: 'Edit',
618
- "delete": 'Delete',
619
- feedback: 'Send Feedback',
620
- sendFeedback: 'Send feedback',
621
- saveChanges: 'Save changes',
622
- createAgentLabelButton: 'Create agent',
623
- openAgentCreator: 'Create agent',
624
- openMarketplace: 'Agent marketplace',
625
- confirmAgentCreated: 'The agent has been successfully created',
626
- confirmAgentUpdated: 'The agent has been successfully updated',
627
- confirmCloseCreateAgent: 'Are you sure you want to close? Changes will be lost.',
628
- confirmCloseEditAgent: 'Are you sure you want to close? Changes will be lost.',
629
- confirmReloadBrowser: 'Are you sure you want to reload the page? Changes will be lost.',
630
- confirmAgentUpdatedWithFilesError: 'The agent was edited successfully, but some files could not be processed.',
631
- confirmAgentWithFilesError: 'The agent was created successfully, but some files could not be processed.',
632
- confirmAgentDeleted: 'The agent has been successfully deleted',
633
- errorAccessDenied: "You don't have permission to access this agent. Contact support.",
634
- errorAgentCreated: 'An unexpected error occurred. Please, try again.',
635
- attachmentCard: {
636
- download: 'Download',
637
- "delete": 'Delete'
638
- },
639
- generalSection: {
640
- title: 'General',
641
- generalSettings: 'General settings',
642
- requiredFieldsLabel: '*required',
643
- infoLabel: 'Add all the information to customize your agent’s behavior.',
644
- optionalLabel: 'Optional',
645
- basicSettings: 'Basic settings',
646
- selectEmoji: 'Select emoji',
647
- name: 'What is your agent’s name?',
648
- namePlaceholder: 'Give your agent a name',
649
- behaviorSettings: 'Behavior settings',
650
- initialPrompt: 'What are the instructions?',
651
- initialPromptPlaceholder: 'Example: You are a social media copywriter who writes and adapts messages for different platforms, ensuring consistency in tone, personality, and brand values.',
652
- modelAiLabel: 'AI model',
653
- noModelsAvailable: 'No models available',
654
- inputPlaceholderTitle: 'What will the user see in the chat field before typing?',
655
- inputPlaceholder: 'Ask me anything you need…',
656
- introduction: 'How will your agent introduce itself?',
657
- 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.',
658
- addFavorite: 'Add to favorites',
659
- removeFavorite: 'Remove from favorites',
660
- error: {
661
- maxCaracterName: 'You have reached the 150-character limit.',
662
- maxCaracterInitialPrompt: 'You’ve reached the 5000-character limit.',
663
- maxInputPlaceholder: 'You’ve reached the 100-character limit.',
664
- maxCaracterIntroduction: 'You’ve reached the 400-character limit.'
665
- },
666
- howToWritePrompt: 'How to write a prompt',
667
- whatIsModelAiTitle: 'Which AI model will you use?',
668
- whatIsModelAi: 'What is a model of AI?',
669
- createdBy: 'By',
670
- createdByTooltip: 'Agent creator user',
671
- createdByTooltipDeleted: 'User deleted. Their name is kept for reference.'
672
- },
673
- knowledgeSection: {
674
- title: 'Knowledge',
675
- knowledgeTab: 'Knowledge base',
676
- infoLabel: 'Upload the files your agent will use as a reference for its responses.',
677
- selectFileTitle: 'Select files',
678
- attachFiles: 'Attach files',
679
- dropZoneText: {
680
- 1: 'Click here to upload',
681
- 2: 'or drag files'
682
- },
683
- infoFileTypes: '.md, .pdf, .doc, .docx, .ppt, .pptx, .txt, .csv, .png, .jpg, .jpeg, .xls, .xlsx (max. total 5MB)',
684
- error: {
685
- maxFilesTitle: 'Total size limit exceeded.',
686
- maxFilesDescription: 'You can attach files up to a total of 5 MB. The following files could not be attached:',
687
- maxSizeTitle: 'You have exceeded the allowed file size limit',
688
- maxSizeDescription: {
689
- 1: 'The maximum limit of 5 MB was reached.',
690
- 2: 'These files were not uploaded because they exceed the available space:'
691
- },
692
- invalidExtensionDescription: {
693
- 1: 'Only files with the following extensions are accepted: .md, .pdf, .doc, .docx, .ppt, .pptx, .txt, .csv, .png, .jpg, .jpeg, .xls, .xlsx',
694
- 2: 'These files were not uploaded because their extension is not allowed:'
695
- }
696
- },
697
- moreInfo: 'See how it works here'
698
- },
699
- accessibilitySection: {
700
- titleTab: 'Permissions',
701
- titleSection: 'Agent visibility and permissions',
702
- subtitleSection: 'Define who can use this agent and whether it can access COR data.',
703
- corPermissionsTitle: 'COR data access permissions',
704
- corPermissionsSubtitle: 'What can this agent access?',
705
- taskAccessTitle: 'Task access',
706
- taskAccessDescription: 'The agent will be able to read, create, update, and delete tasks according to the user’s permissions.',
707
- visibilityTitle: 'Agent visibility',
708
- whoCanAccess: 'Who can use this agent?',
709
- allCompanyTitle: 'Entire company',
710
- allCompanyDescription: 'All users of your organization will be able to see and use this agent.',
711
- clientTitle: 'For specific clients',
712
- clientDescription: 'Associate this agent with one or more clients. All users will be able to see which clients are linked.',
713
- ownTitle: 'Only me',
714
- ownDescription: 'This agent will be private and will not be available to other users.',
715
- clientsSelected: 'Clients selected:',
716
- searchError: 'Oops! We had trouble loading the clients. Could you try again in a moment?',
717
- searchEmpty: 'Oops! We couldn’t find clients with that name. Try another search.',
718
- searchInitial: 'Start typing a client’s name to link it',
719
- searchPlaceholder: 'Search client',
720
- clientInactive: 'This client is inactive. We recommend removing it from the list.',
721
- clientDeletedTooltip: 'This client was deleted. We recommend removing it from the list.',
722
- clientDeleted: 'Client deleted',
723
- clientsError: 'Check the associated clients'
724
- },
725
- processingKnowledge: {
726
- 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.',
727
- 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.',
728
- fileRow: 'File',
729
- statusRow: 'Status',
730
- pending: 'Pending',
731
- processing: 'Processing',
732
- failed: 'Failed',
733
- done: 'Done',
734
- loadingFiles: 'Loading files...',
735
- error: {}
736
- },
737
- deleteAgentModal: {
738
- title: 'Do you want to delete this agent?',
739
- firstPart: 'You are about to delete ',
740
- secondPart: 'This action cannot be undone.',
741
- cancel: 'Cancel',
742
- "delete": 'Delete'
743
- }
744
- })), SECTIONS.projectSelector, _objectSpread(_objectSpread({}, genericSection), {}, {
745
- projectSelector: {
746
- title: 'Which project would you like help with?',
747
- hello: {
748
- title: 'I’m MAIA, your project specialist.',
749
- subtitle: 'To give you accurate answers, I need to know which project we’re talking about. Which one do you choose?'
750
- },
751
- subtitle: 'Select a project so MAIA can respond in context.',
752
- labelProject: 'Select a project',
753
- placeholder: 'Search for a project by name',
754
- changeProject: 'Change project',
755
- recentProjects: 'Recents',
756
- searchingProjects: 'Searching your projects...',
757
- errorMessage: 'Oops! We had a problem loading the projects. Please try again in a few minutes.',
758
- emptyRecentProjects: 'You don’t have recent projects. Type a project name in the search to find it.',
759
- emptyState: 'Oops! We couldn’t find any projects with that name. Try another search.',
760
- withoutClient: 'No client',
761
- withoutTitle: 'No title'
762
- }
763
- })), SECTIONS.clientSelector, _objectSpread(_objectSpread({}, genericSection), {}, {
764
- clientSelector: {
765
- title: 'Which client would you like help with?',
766
- hello: {
767
- title: "I'm MAIA, your client specialist.",
768
- subtitle: "To give you accurate answers, I need to know which client we're talking about. Which one do you choose?"
769
- },
770
- subtitle: 'Select a client so MAIA can respond in context.',
771
- labelClient: 'Select a client',
772
- placeholder: 'Search client by name',
773
- changeClient: 'Change client',
774
- recentClients: 'Recents',
775
- searchingClients: 'Searching your clients...',
776
- errorMessage: 'We had a problem loading the clients. Please try again in a few minutes.',
777
- emptyRecentClients: "You don't have recent clients. Type a client name in the search to find it.",
778
- emptyState: "Oops! We couldn't find clients with that name. Try another search.",
779
- project: 'project',
780
- projects: 'projects'
781
- }
782
- }));
783
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJuYW1lcyI6WyJTRUNUSU9OUyIsIlByb2plY3RTdW1tYXJ5Q29uZmlnS2V5cyIsImdsb2JhbHMiLCJjbG9zZSIsIm1pbmltaXplIiwiaG93V29ya3MiLCJicmFuZE5hbWUiLCJleHBhbmQiLCJjb2xsYXBzZSIsImdvQmFjayIsImNvcHkiLCJjb3BpZWQiLCJzYXZlZCIsInNlbGVjdFByb2plY3QiLCJzYXZlIiwiY2FuY2VsIiwiZXJyb3IiLCJ0aXRsZSIsImRlc2NyaXB0aW9uIiwidHJ5QWdhaW4iLCJnZW5lcmljU2VjdGlvbiIsInByb2plY3RTdW1tYXJ5U2VjdGlvbiIsInJlc3VtZSIsImhlbGxvIiwid2VsY29tZSIsImZlZWRiYWNrIiwidGh1bWJzVXAiLCJ0aHVtYnNEb3duIiwic291cmNlcyIsImNvbmZpZyIsInByb2plY3RTdW1tYXJ5IiwicHJvamVjdFN1bW1hcnlUaXRsZSIsInNlbGVjdGVkUHJvamVjdCIsImNvbmZpZ3VyZVJlc3VtZSIsImdlbmVyYXRpbmdSZXN1bWUiLCJnZW5lcmF0ZVJlc3VtZSIsImhpZGVDb25maWciLCJjb25maWd1cmVTZXR0aW5ncyIsIl9kZWZpbmVQcm9wZXJ0eSIsIkdFTkVSQUxfU1RBVFVTIiwiSU5DT01FX0NPU1RTIiwiVElNRV9IT1VSUyIsIlRBU0tTX1BST0dSRVNTIiwiUkVXT1JLUyIsImhvbWVNZW51IiwiZmFxIiwic3RhcnRUaXRsZSIsImVtcHR5IiwiY2F0ZWdvcmllcyIsInByb2plY3RzIiwidGFza3MiLCJob3VycyIsInJld29ya3MiLCJ1bmRlZmluZWQiLCJmdWEiLCJuZXdCYWRnZSIsInJlY2VudENvbnRleHRzIiwidHlwZXMiLCJjbGllbnQiLCJwcm9qZWN0IiwidGFzayIsImNvbnRleHRIb21lIiwiZ3JlZXRpbmciLCJzdWJ0aXRsZSIsInN1YnRpdGxlQ29sbGFib3JhdG9yIiwic3VidGl0bGVDb2xsYWJvcmF0b3JXaXRoSG91cnMiLCJzdWJ0aXRsZU1hbmFnZXJXaXRoSG91cnMiLCJob3Vyc1NlY3Rpb24iLCJyZWNlbnRUYXNrc1NlY3Rpb24iLCJyZWNlbnRDb250ZXh0c1NlY3Rpb25NYW5hZ2VyIiwiY29udGV4dEdyZWV0aW5nIiwicGxhbm5lckhvbWUiLCJhY3Rpb24iLCJjb2xsYWJvcmF0b3JzIiwibGFiZWxzIiwiY2hlY2tsaXN0cyIsImRlbGl2ZXJhYmxlcyIsImNyZWF0ZWRCeSIsImNyZWF0ZWRCeVRvb2x0aXAiLCJjcmVhdGVkQnlUb29sdGlwRGVsZXRlZCIsInRhc2tHcmVldGluZyIsInRpdGxlXzEiLCJ0aXRsZV8yIiwidGl0bGVfMyIsInRpdGxlUG0iLCJzdWJ0aXRsZVBtIiwibWFpYWtlciIsImNyZWF0ZU1hbnVhbEFnZW50IiwiYmFkZ2VOZXciLCJicmllZkNhcmQiLCJwcm9tcHQiLCJjb21pbmdTb29uQ2FyZCIsIl9vYmplY3RTcHJlYWQiLCJjaGF0QUkiLCJjb250ZXh0TWVudGlvbiIsImtleWJvYXJkSGludCIsInJlY2VudHNUaXRsZSIsInVzZXJOb1Bvc2l0aW9uIiwibWUiLCJ0YWJzIiwidXNlciIsIm1jcCIsInNraWxsIiwibG9hZGluZyIsInJlY2VudHMiLCJ3aXRoUXVlcnkiLCJjb3VudGVycyIsImNvbnRleHRQaW4iLCJhZGRDb250ZXh0Iiwic2VhcmNoUGxhY2Vob2xkZXIiLCJyZW1vdmUiLCJidXR0b24iLCJuZXdDaGF0Iiwib3BlbkFnZW50Q3JlYXRvciIsIm9wZW5NYXJrZXRwbGFjZSIsImhpc3RvcnkiLCJ0b29sdGlwIiwiaXRlbSIsImRhdGUiLCJtZW51IiwicmVuYW1lIiwibG9hZGluZ01vcmUiLCJvbmJvYXJkaW5nIiwibWFpYSIsImFnZW50Q3VzdG9tIiwiaG93Q3JlYXRlQWdlbnQiLCJob3dJdFdvcmtzIiwicWEiLCJpdGVtcyIsInJlbnRhYmlsaWRhZF9wcm95ZWN0byIsImF2YW5jZV9wcm95ZWN0byIsInRhcmVhc19wcm95ZWN0byIsImNoYXQiLCJnZW5lcmF0aW5nIiwiZ2VuZXJhdGluZ0F0dGFjaG1lbnQiLCJnZW5lcmF0aW5nRGVlcFNlYXJjaCIsImdlbmVyYXRpbmdXZWJTZWFyY2giLCJzdWdnZXN0aW9uc1RpdGxlIiwiY3JlYXRlQWdlbnRBY3Rpb25zVGl0bGUiLCJjcmVhdGVBZ2VudEFjdGlvblN0YXJ0Q2hhdCIsImNyZWF0ZUFnZW50QWN0aW9uS25vd2xlZGdlIiwiY3JlYXRlQWdlbnRBY3Rpb25Mb2FkRXJyb3IiLCJ3cml0aW5nIiwiZXhlY3V0aW5nQWN0aW9uIiwicHJvY2Vzc2luZyIsImFjdGl2aXR5IiwicHJlcGFyaW5nIiwiY29uc2lkZXJpbmciLCJhbG1vc3RSZWFkeSIsInRoaW5raW5nIiwiYW5hbHl6aW5nIiwicmV2aWV3aW5nIiwicGxhbm5pbmciLCJzZWFyY2giLCJzY2FubmluZyIsInN1bW1hcml6aW5nIiwiZGVlcFNlYXJjaCIsImV4cGxvcmluZyIsImNyb3NzQ2hlY2tpbmciLCJhdHRhY2htZW50IiwicmVhZGluZyIsImV4dHJhY3RpbmciLCJyZWFkaW5nUGx1cmFsIiwiZXh0cmFjdGluZ1BsdXJhbCIsImNvbXBvc2luZyIsImR5bmFtaWNDb250ZXh0VG9vbHRpcCIsImNyZWF0aW5nVGFzayIsImNyZWF0aW5nVGFza3NCYXRjaCIsImNyZWF0aW5nQWdlbnQiLCJlZGl0aW5nQWdlbnQiLCJlZGl0aW5nVGFzayIsImVkaXRpbmdUYXNrc0JhdGNoIiwiZGVsZXRpbmdUYXNrIiwiZGVsZXRpbmdUYXNrc0JhdGNoIiwiYXNzaWduaW5nVXNlciIsInVuYXNzaWduaW5nVXNlciIsImFzc2lnbmluZ0xhYmVsIiwidXBkYXRpbmdUYXNrVHlwZSIsInVwZGF0aW5nRXN0aW1hdGVkSG91cnMiLCJ1cGRhdGluZ0RlbGl2ZXJhYmxlIiwibG9nZ2luZ0hvdXJzIiwiY3JlYXRpbmdDaGVja2xpc3QiLCJjcmVhdGluZ0xhYmVsIiwiZWRpdGluZ1Byb2plY3QiLCJjcmVhdGluZ0NoZWNrbGlzdEl0ZW0iLCJxdWVyeWluZ0hvdXJzIiwiY29uZmlndXJpbmdBZ2VudEFjY2VzcyIsInNlbmRpbmdUYXNrTWVzc2FnZSIsImRlbGV0aW5nQ2hlY2tsaXN0SXRlbSIsInJlbW92aW5nVGFza1R5cGUiLCJyZW1vdmluZ0xhYmVsIiwidXBkYXRpbmdEZWxpdmVyYWJsZUNvdW50IiwiY3JlYXRpbmdSZXdvcmsiLCJ1cGRhdGluZ1Jld29yayIsImdlbmVyYXRpbmdGaWxlIiwicmVzdW1pbmdBY3Rpb24iLCJmb290ZXIiLCJwbGFjZWhvbGRlciIsIm9yY2hlc3RyYXRvclBsYWNlaG9sZGVyIiwiYWdlbnRMYWJlbCIsImRpc2NsYWltZXIiLCJkaXNjbGFpbWVyQWdlbnQiLCJjb3JBY2Nlc3NMYWJlbCIsImNvckFjY2Vzc1Rvb2x0aXAiLCJyZXRyeSIsImVycm9yQWNjZXNzRGVuaWVkIiwiZXJyb3JQcm9tcHRUb29Mb25nIiwiY2hhbmdlUHJvamVjdCIsInNlYXJjaFdlYiIsImF0dGFjaEZpbGUiLCJwbHVzTWVudUF0dGFjaCIsImRyb3BGaWxlc0hlcmUiLCJwbHVzTWVudURlZXBJbnZlc3RpZ2F0aW9uIiwicGx1c01lbnVRdWlja0FjdGlvbnMiLCJvcGVuUGx1c01lbnVBcmlhIiwib3Blbk1lbnRpb25BcmlhIiwicmVtb3ZlQXR0YWNobWVudEFyaWEiLCJyZW1vdmVBY3RpdmVUb29sQXJpYSIsInNlbmQiLCJsaW1pdEZpbGVzIiwic3RvcCIsImNhbmNlbGxlZCIsInRvb01hbnlBY3RpdmVTZXNzaW9ucyIsImF0dGFjaG1lbnRQcmV2aWV3TW9kYWwiLCJ1bnN1cHBvcnRlZEZpbGVNZXNzYWdlIiwidHlwZUxhYmVsIiwidW5rbm93biIsInNpemVMYWJlbCIsImV4Y2VsIiwic2hlZXRTZWxlY3RvckxhYmVsIiwibG9hZEVycm9yIiwiZmlsZVJlYWRFcnJvciIsInNoZWV0TG9hZEVycm9yIiwid29yZCIsImxlZ2FjeURvY1Vuc3VwcG9ydGVkIiwicHB0IiwibGVnYWN5UHB0VW5zdXBwb3J0ZWQiLCJzbGlkZUxhYmVsIiwiZW1wdHlTbGlkZSIsImRlbGV0ZVF1ZXN0aW9uTW9kYWwiLCJmaXJzdFBhcnQiLCJzZWNvbmRQYXJ0IiwiZGVsZXRlU2tpbGxNb2RhbCIsImVkaXRRdWVzdGlvbk1vZGFsIiwibmV3TmFtZSIsIm1heExlbmd0aCIsIm1vZGFsRmlsZUV4Y2VlZHMiLCJsaW1pdEZpbGVzVGl0bGUiLCJsaW1pdFNpemVUaXRsZSIsImxpbWl0RmlsZXNEZXNjcmlwdGlvbiIsImxpbWl0U2l6ZURlc2NyaXB0aW9uIiwiYWNjZXB0IiwibGltaXQiLCJzb3VyY2VzSW5mb3JtYXRpb25Nb2RhbCIsImFnZW50cyIsIm5ld0FnZW50IiwiY3JlYXRlQWdlbnQiLCJlZGl0IiwiYWRkRmF2b3JpdGUiLCJyZW1vdmVGYXZvcml0ZSIsImZhdm9yaXRlVG9nZ2xlZEFkZGVkU3VjY2VzcyIsImZhdm9yaXRlVG9nZ2xlZFJlbW92ZWRTdWNjZXNzIiwiZmF2b3JpdGVUb2dnbGVkRXJyb3IiLCJmYXZvcml0ZVRvZ2dsZWRSZW1vdmVkRXJyb3IiLCJtYWlhSW50cm9kdWN0aW9uIiwiY29udmVyc2F0aW9ucyIsImFnZW50c1NlY3Rpb25UaXRsZSIsIm1haWFrZXJOYXYiLCJteUFnZW50c05hdiIsIm15U2tpbGxzTmF2IiwiZW1wdHlMYWJlbCIsInVucmVhZExhYmVsIiwibWluaW1pemVkT3BlbiIsIm1pbmltaXplZFNlZUFuc3dlciIsInNlc3Npb25GaW5pc2hlZCIsInNlc3Npb25GaW5pc2hlZEFwcHJvdmFsIiwic2Vzc2lvbkZpbmlzaGVkRXJyb3IiLCJtYXJrZXRwbGFjZSIsImJhY2siLCJteUFnZW50c1RpdGxlIiwibXlBZ2VudHNSZWFkeVRpdGxlIiwibXlBZ2VudHNEZXNjcmlwdGlvbiIsIm15QWdlbnRzRW1wdHlTdGF0ZVRpdGxlIiwibXlBZ2VudHNFbXB0eVN0YXRlRGVzY3JpcHRpb24iLCJteUFnZW50c0VtcHR5U3RhdGVEZXNjcmlwdGlvbk5vUGVybSIsIm15QWdlbnRzRW1wdHlTdGF0ZUJ1dHRvbiIsIm15QWdlbnRzRmFsbGJhY2tJbnRybyIsIm15QWdlbnRzRmFsbGJhY2tEZXNjcmlwdGlvbiIsIm15QWdlbnRzRmFsbGJhY2tEYXRlIiwibXlBZ2VudHNUb2RheSIsIm15QWdlbnRzT25lRGF5QWdvIiwibXlBZ2VudHNEYXlzQWdvIiwiY2FyZE1lbnVBcmlhTGFiZWwiLCJ1c2UiLCJzZWFyY2hBZ2VudFBsYWNlaG9sZGVyIiwic2VhcmNoTWluTGVuZ3RoIiwic2VhcmNoTm9SZXN1bHRzIiwic2VhcmNoTm9SZXN1bHRzU3VidGl0bGUiLCJ1c2VUZW1wbGF0ZSIsInVzZU15QWdlbnQiLCJiYWRnZXMiLCJicmFuZGluZyIsImxpbmtlZGluIiwibWFya2V0aW5nIiwibXlTa2lsbHMiLCJ0YWJNeVNraWxscyIsInRhYlNoYXJlZFNraWxscyIsImRyb3Bkb3duQnV0dG9uIiwiZHJvcGRvd25DcmVhdGUiLCJkcm9wZG93bkVtcHR5IiwiZHJvcGRvd25FcnJvciIsIm15U2tpbGxzRGVzY3JpcHRpb24iLCJzaGFyZWRTa2lsbHNEZXNjcmlwdGlvbiIsImNyZWF0ZU1hbnVhbGx5IiwidmlzaWJpbGl0eU9ubHlNZSIsInZpc2liaWxpdHlFdmVyeW9uZSIsInNoYXJlZEVtcHR5U3RhdGVUaXRsZSIsInNoYXJlZEVtcHR5U3RhdGVEZXNjcmlwdGlvbiIsImNyZWF0ZVNraWxsIiwicHJldmlldyIsInByZXZpZXdFbXB0eSIsInVwbG9hZE1kIiwidXBsb2FkRXJyb3IiLCJjcmVhdGVXaXRoTWFpYSIsIndyaXRlSW5zdHJ1Y3Rpb25zIiwidXBsb2FkU2tpbGwiLCJnZW5lcmF0ZVBsYWNlaG9sZGVyIiwiZ2VuZXJhdGVXaXRoTWFpYSIsImdlbmVyYXRlTmVlZHNOYW1lIiwiZ2VuZXJhdGVTdWNjZXNzIiwiZ2VuZXJhdGVFcnJvciIsImNyZWF0ZVRpdGxlIiwiZWRpdFRpdGxlIiwidmlld1RpdGxlIiwic2hhcmVkQ3JlYXRlZEJ5IiwibmFtZUxhYmVsIiwibmFtZVBsYWNlaG9sZGVyIiwiZGVzY3JpcHRpb25MYWJlbCIsImRlc2NyaXB0aW9uUGxhY2Vob2xkZXIiLCJpbnN0cnVjdGlvbnNMYWJlbCIsInNoYXJlV2l0aENvbXBhbnkiLCJsYXN0VXBkYXRlZCIsInNhdmVBbmRVc2UiLCJjb250ZW50TGFiZWwiLCJjb250ZW50UGxhY2Vob2xkZXIiLCJlbXB0eVN0YXRlVGl0bGUiLCJlbXB0eVN0YXRlRGVzY3JpcHRpb24iLCJlbXB0eVN0YXRlRGVzY3JpcHRpb25Ob1Blcm0iLCJlbXB0eVN0YXRlQnV0dG9uIiwic2VhcmNoRW1wdHlTdGF0ZVRpdGxlIiwic2VhcmNoRW1wdHlTdGF0ZURlc2NyaXB0aW9uIiwiY3JlYXRlU3VjY2VzcyIsImNyZWF0ZUVycm9yIiwidXBkYXRlU3VjY2VzcyIsInVwZGF0ZUVycm9yIiwiZGVsZXRlU3VjY2VzcyIsImRlbGV0ZUVycm9yIiwic25hY2tiYXIiLCJkZWxldGVDaGF0Iiwic3VjY2VzcyIsInJlbmFtZWRDaGF0IiwibG9hZE1vcmVBZ2VudHMiLCJhcHByb3ZhbEJveCIsInVudGl0bGVkQWdlbnQiLCJhY3Rpb25zIiwiY3JlYXRlX3Rhc2siLCJjcmVhdGVfdGFza3NfYmF0Y2giLCJjcmVhdGVfYWdlbnQiLCJlZGl0X2FnZW50IiwiZWRpdF9wcm9qZWN0IiwiZWRpdF90YXNrIiwiZWRpdF90YXNrc19iYXRjaCIsImRlbGV0ZV90YXNrIiwiZGVsZXRlX3Rhc2tzX2JhdGNoIiwidGFza19hc3NpZ24iLCJ0YXNrX3VuYXNzaWduIiwiYXNzaWduX3Rhc2tfbGFiZWwiLCJjcmVhdGVfbGFiZWxzIiwidXBkYXRlX3Rhc2tfdHlwZSIsInVwZGF0ZV9lc3RpbWF0ZWRfaG91cnMiLCJ1cGRhdGVfZGVsaXZlcmFibGUiLCJjcmVhdGVfaG91ciIsImNyZWF0ZV9jaGVja2xpc3QiLCJjcmVhdGVfY2hlY2tsaXN0X2l0ZW0iLCJjbG9uZV90YXNrIiwiZ2V0X3Rhc2tfZGF0ZV9ob3VycyIsImNvbmZpZ3VyZV9hZ2VudF9hY2Nlc3MiLCJzZW5kX3Rhc2tfbWVzc2FnZSIsImRlbGV0ZV9jaGVja2xpc3RfaXRlbSIsInJlbW92ZV90YXNrX3R5cGUiLCJyZW1vdmVfdGFza19sYWJlbCIsImNvdW50X2RlbGl2ZXJhYmxlIiwiY3JlYXRlX3Jld29yayIsInVwZGF0ZV9yZXdvcmsiLCJkZWxldGVfYWdlbnQiLCJzcGVjaWFsIiwiY3JlYXRlUmV3b3JrIiwidXBkYXRlRGVsaXZlcmFibGVDaGlsZHJlbiIsImZpZWxkcyIsIm5hbWUiLCJlbW9qaSIsImludHJvZHVjdGlvbiIsImlucHV0X3BsYWNlaG9sZGVyIiwidXNlcl9wcm9tcHQiLCJsYW5ndWFnZSIsInByb3ZpZGVyIiwibW9kZWxfbmFtZSIsImFwaV9rZXkiLCJhcHByb3ZlIiwiZGVueSIsIm1hbnVhbEFwcHJvdmFsV2FybmluZyIsInN0YXR1cyIsImFwcHJvdmVkIiwiZGVuaWVkIiwiY2hpcExsbSIsImNsaWVudFNlbGVjdG9yIiwiYWJtQWdlbnQiLCJsYXlvdXRNZW51VG9vbHRpcCIsImxheW91dFNpZGViYXIiLCJsYXlvdXRGdWxsc2NyZWVuIiwibGF5b3V0RmxvYXRpbmciLCJhZGRBZ2VudCIsImxlZ2VuZERlbGV0ZWRBZ2VudCIsImxlZ2VuZFByb2plY3REZWxldGVkIiwibGVnZW5kTm9BY2Nlc3MiLCJsZWdlbmROb1Blcm1pc3Npb25zIiwibGVnZW5kTGVnYWN5Q29udGV4dFNlc3Npb24iLCJjb250aW51ZUluTmV3Q2hhdCIsImxlZ2VuZE1vZGVsRGVwcmVjYXRlZCIsImxlZ2VuZFByb3ZpZGVyU3RhdHVzIiwiY2hhbmdlTW9kZWwiLCJlZGl0QWdlbnQiLCJkZWxldGVBZ2VudCIsInNlbmRGZWVkYmFjayIsInNhdmVDaGFuZ2VzIiwiY3JlYXRlQWdlbnRMYWJlbEJ1dHRvbiIsImNvbmZpcm1BZ2VudENyZWF0ZWQiLCJjb25maXJtQWdlbnRVcGRhdGVkIiwiY29uZmlybUNsb3NlQ3JlYXRlQWdlbnQiLCJjb25maXJtQ2xvc2VFZGl0QWdlbnQiLCJjb25maXJtUmVsb2FkQnJvd3NlciIsImNvbmZpcm1BZ2VudFVwZGF0ZWRXaXRoRmlsZXNFcnJvciIsImNvbmZpcm1BZ2VudFdpdGhGaWxlc0Vycm9yIiwiY29uZmlybUFnZW50RGVsZXRlZCIsImVycm9yQWdlbnRDcmVhdGVkIiwiYXR0YWNobWVudENhcmQiLCJkb3dubG9hZCIsImdlbmVyYWxTZWN0aW9uIiwiZ2VuZXJhbFNldHRpbmdzIiwicmVxdWlyZWRGaWVsZHNMYWJlbCIsImluZm9MYWJlbCIsIm9wdGlvbmFsTGFiZWwiLCJiYXNpY1NldHRpbmdzIiwic2VsZWN0RW1vamkiLCJiZWhhdmlvclNldHRpbmdzIiwiaW5pdGlhbFByb21wdCIsImluaXRpYWxQcm9tcHRQbGFjZWhvbGRlciIsIm1vZGVsQWlMYWJlbCIsIm5vTW9kZWxzQXZhaWxhYmxlIiwiaW5wdXRQbGFjZWhvbGRlclRpdGxlIiwiaW5wdXRQbGFjZWhvbGRlciIsImludHJvZHVjdGlvblBsYWNlaG9sZGVyIiwibWF4Q2FyYWN0ZXJOYW1lIiwibWF4Q2FyYWN0ZXJJbml0aWFsUHJvbXB0IiwibWF4SW5wdXRQbGFjZWhvbGRlciIsIm1heENhcmFjdGVySW50cm9kdWN0aW9uIiwiaG93VG9Xcml0ZVByb21wdCIsIndoYXRJc01vZGVsQWlUaXRsZSIsIndoYXRJc01vZGVsQWkiLCJrbm93bGVkZ2VTZWN0aW9uIiwia25vd2xlZGdlVGFiIiwic2VsZWN0RmlsZVRpdGxlIiwiYXR0YWNoRmlsZXMiLCJkcm9wWm9uZVRleHQiLCJpbmZvRmlsZVR5cGVzIiwibWF4RmlsZXNUaXRsZSIsIm1heEZpbGVzRGVzY3JpcHRpb24iLCJtYXhTaXplVGl0bGUiLCJtYXhTaXplRGVzY3JpcHRpb24iLCJpbnZhbGlkRXh0ZW5zaW9uRGVzY3JpcHRpb24iLCJtb3JlSW5mbyIsImFjY2Vzc2liaWxpdHlTZWN0aW9uIiwidGl0bGVUYWIiLCJ0aXRsZVNlY3Rpb24iLCJzdWJ0aXRsZVNlY3Rpb24iLCJjb3JQZXJtaXNzaW9uc1RpdGxlIiwiY29yUGVybWlzc2lvbnNTdWJ0aXRsZSIsInRhc2tBY2Nlc3NUaXRsZSIsInRhc2tBY2Nlc3NEZXNjcmlwdGlvbiIsInZpc2liaWxpdHlUaXRsZSIsIndob0NhbkFjY2VzcyIsImFsbENvbXBhbnlUaXRsZSIsImFsbENvbXBhbnlEZXNjcmlwdGlvbiIsImNsaWVudFRpdGxlIiwiY2xpZW50RGVzY3JpcHRpb24iLCJvd25UaXRsZSIsIm93bkRlc2NyaXB0aW9uIiwiY2xpZW50c1NlbGVjdGVkIiwic2VhcmNoRXJyb3IiLCJzZWFyY2hFbXB0eSIsInNlYXJjaEluaXRpYWwiLCJjbGllbnRJbmFjdGl2ZSIsImNsaWVudERlbGV0ZWRUb29sdGlwIiwiY2xpZW50RGVsZXRlZCIsImNsaWVudHNFcnJvciIsInByb2Nlc3NpbmdLbm93bGVkZ2UiLCJkZXNjcmlwdGlvbkNyZWF0ZSIsImRlc2NyaXB0aW9uVXBkYXRlIiwiZmlsZVJvdyIsInN0YXR1c1JvdyIsInBlbmRpbmciLCJmYWlsZWQiLCJkb25lIiwibG9hZGluZ0ZpbGVzIiwiZGVsZXRlQWdlbnRNb2RhbCIsInByb2plY3RTZWxlY3RvciIsImxhYmVsUHJvamVjdCIsInJlY2VudFByb2plY3RzIiwic2VhcmNoaW5nUHJvamVjdHMiLCJlcnJvck1lc3NhZ2UiLCJlbXB0eVJlY2VudFByb2plY3RzIiwiZW1wdHlTdGF0ZSIsIndpdGhvdXRDbGllbnQiLCJ3aXRob3V0VGl0bGUiLCJsYWJlbENsaWVudCIsImNoYW5nZUNsaWVudCIsInJlY2VudENsaWVudHMiLCJzZWFyY2hpbmdDbGllbnRzIiwiZW1wdHlSZWNlbnRDbGllbnRzIl0sInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2xhbmcvZW4vaW5kZXguanMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgU0VDVElPTlMgfSBmcm9tICcuLi8uLi9jb25zdGFudHMvY29uZmlnJ1xuaW1wb3J0IHsgUHJvamVjdFN1bW1hcnlDb25maWdLZXlzIH0gZnJvbSAnLi4vLi4vdHlwZXMvUHJvamVjdFN1bW1hcnlDb25maWdLZXlzJ1xuXG5jb25zdCBnbG9iYWxzID0ge1xuICBjbG9zZTogJ0Nsb3NlJyxcbiAgbWluaW1pemU6ICdNaW5pbWl6ZScsXG4gIGhvd1dvcmtzOiAnSG93IGRvZXMgaXQgd29yaz8nLFxuICBicmFuZE5hbWU6ICdNQUlBJyxcbiAgZXhwYW5kOiAnRXhwYW5kJyxcbiAgY29sbGFwc2U6ICdDb2xsYXBzZScsXG4gIGdvQmFjazogJ0dvIGJhY2sgdG8gdGhlIHN0YXJ0JyxcbiAgY29weTogJ0NvcHknLFxuICBjb3BpZWQ6ICdDb3BpZWQnLFxuICBzYXZlZDogJ1NhdmVkJyxcbiAgc2VsZWN0UHJvamVjdDogJ1NlbGVjdCBwcm9qZWN0JyxcbiAgc2F2ZTogJ1NhdmUnLFxuICBjYW5jZWw6ICdDYW5jZWwnLFxufVxuXG5jb25zdCBlcnJvciA9IHtcbiAgdGl0bGU6ICdBIHByb2JsZW0gaGFzIG9jY3VycmVkJyxcbiAgZGVzY3JpcHRpb246ICdXZSBhcmUgY3VycmVudGx5IGV4cGVyaWVuY2luZyBzb21lIGlzc3VlcywgcGxlYXNlIHRyeSBhZ2FpbiBpbiBhIGZldyBtaW51dGVzLicsXG4gIHRyeUFnYWluOiAnVHJ5IGFnYWluJyxcbn1cblxuY29uc3QgZ2VuZXJpY1NlY3Rpb24gPSB7XG4gIGVycm9yLFxuICBnbG9iYWxzLFxufVxuXG5jb25zdCBwcm9qZWN0U3VtbWFyeVNlY3Rpb24gPSB7XG4gIHJlc3VtZTogJ1Jlc3VtZScsXG4gIGhlbGxvOiAnSGksIHt7bmFtZX19IScsXG4gIHdlbGNvbWU6IFwiSSdtIE1BSUEsIHlvdXIgYXNzaXN0YW50IGF0IENPUlwiLFxuXG4gIGZlZWRiYWNrOiB7XG4gICAgdGh1bWJzVXA6ICdJdCB3YXMgaGVscGZ1bCcsXG4gICAgdGh1bWJzRG93bjogXCJJdCB3YXNuJ3QgaGVscGZ1bFwiLFxuICAgIHNvdXJjZXM6ICdTb3VyY2VzJyxcbiAgfSxcblxuICBjb25maWc6IHtcbiAgICBwcm9qZWN0U3VtbWFyeTogJ1N1bW1hcml6ZSBwcm9qZWN0JyxcbiAgICBwcm9qZWN0U3VtbWFyeVRpdGxlOiAnUHJvamVjdCBzdW1tYXJ5JyxcbiAgICBnb0JhY2s6ICdHbyBiYWNrJyxcbiAgICBzZWxlY3RlZFByb2plY3Q6ICdTZWxlY3RlZCBwcm9qZWN0JyxcbiAgICBzZWxlY3RQcm9qZWN0OiAnU2VsZWN0IHByb2plY3QnLFxuICAgIGNvbmZpZ3VyZVJlc3VtZTogJ0FkdmFuY2VkIHNldHRpbmdzJyxcbiAgICBnZW5lcmF0aW5nUmVzdW1lOiAnR2VuZXJhdGluZyBzdW1tYXJ5JyxcbiAgICBnZW5lcmF0ZVJlc3VtZTogJ0dlbmVyYXRlJyxcbiAgICBoaWRlQ29uZmlnOiAnSGlkZSBzZXR0aW5ncycsXG4gIH0sXG5cbiAgY29uZmlndXJlU2V0dGluZ3M6IHtcbiAgICBbUHJvamVjdFN1bW1hcnlDb25maWdLZXlzLkdFTkVSQUxfU1RBVFVTXTogJ0RhdGVzIGFuZCBkZWFkbGluZXMnLFxuICAgIFtQcm9qZWN0U3VtbWFyeUNvbmZpZ0tleXMuSU5DT01FX0NPU1RTXTogJ1Byb2ZpdGFiaWxpdHknLFxuICAgIFtQcm9qZWN0U3VtbWFyeUNvbmZpZ0tleXMuVElNRV9IT1VSU106ICdFc3RpbWF0ZWQgaG91cnMgYW5kIHVzYWdlJyxcbiAgICBbUHJvamVjdFN1bW1hcnlDb25maWdLZXlzLlRBU0tTX1BST0dSRVNTXTogJ1Rhc2tzIGFuZCBwcm9ncmVzcycsXG4gICAgW1Byb2plY3RTdW1tYXJ5Q29uZmlnS2V5cy5SRVdPUktTXTogJ1Jld29yaycsXG4gIH0sXG59XG5cbmNvbnN0IGhvbWVNZW51ID0ge1xuICBwcm9qZWN0U3VtbWFyeToge1xuICAgIHRpdGxlOiAnUHJvamVjdCBTdW1tYXJ5JyxcbiAgICBkZXNjcmlwdGlvbjogJ0dlbmVyYXRlIHJlcG9ydHMgd2l0aCBBSSBiYXNlZCBvbiB5b3VyIHByb2plY3QnLFxuICB9LFxuICBmYXE6IHtcbiAgICB0aXRsZTogJ0ZyZXF1ZW50bHkgQXNrZWQgUXVlc3Rpb25zJyxcbiAgICBzdGFydFRpdGxlOiAnWW91IGNhbiBzdGFydCB3aXRoLi4uJyxcbiAgICBlbXB0eTogJ05vIGZyZXF1ZW50bHkgYXNrZWQgcXVlc3Rpb25zJyxcbiAgICBlcnJvcjogJ09vcHMhIFdlIGhhZCBhIHByb2JsZW0gbG9hZGluZyB0aGUgZnJlcXVlbnRseSBhc2tlZCBxdWVzdGlvbnMuIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSBmZXcgbWludXRlcy4nLFxuICAgIGNhdGVnb3JpZXM6IHtcbiAgICAgIHByb2plY3RzOiAnUHJvamVjdCcsXG4gICAgICB0YXNrczogJ1Rhc2tzJyxcbiAgICAgIGhvdXJzOiAnSG91cnMnLFxuICAgICAgcmV3b3JrczogJ1Jld29yaycsXG4gICAgICB1bmRlZmluZWQ6ICdObyBjYXRlZ29yeScsXG4gICAgfSxcbiAgfSxcbiAgZnVhOiB7XG4gICAgdGl0bGU6ICdGcmVxdWVudGx5IHVzZWQgYWN0aW9ucycsXG4gICAgbmV3QmFkZ2U6ICdOZXcnLFxuICAgIGVycm9yOiAnT29wcyEgV2UgaGFkIGEgcHJvYmxlbSBsb2FkaW5nIHRoZSBmcmVxdWVudGx5IHVzZWQgYWN0aW9ucy4gUGxlYXNlIHRyeSBhZ2FpbiBpbiBhIGZldyBtaW51dGVzLicsXG4gIH0sXG4gIHJlY2VudENvbnRleHRzOiB7XG4gICAgdGl0bGU6ICdDaG9vc2UgYSByZWNlbnQgY29udGV4dCBmb3IgYSBtb3JlIGFjY3VyYXRlIGFuc3dlcjonLFxuICAgIHR5cGVzOiB7XG4gICAgICBjbGllbnQ6ICdDbGllbnQnLFxuICAgICAgcHJvamVjdDogJ1Byb2plY3QnLFxuICAgICAgdGFzazogJ1Rhc2snLFxuICAgIH0sXG4gIH0sXG4gIGNvbnRleHRIb21lOiB7XG4gICAgZ3JlZXRpbmc6ICdIaSwge3tuYW1lfX0g8J+RiycsXG4gICAgc3VidGl0bGU6IFwiSSdtIE1BSUEsIHlvdXIgYXNzaXN0YW50IGZvciB0YXNrcywgcHJvamVjdHMsIGFuZCBjbGllbnRzLlxcblNoYWxsIHdlIGNvbnRpbnVlIHdpdGggc29tZXRoaW5nIHJlY2VudD9cIixcbiAgICBzdWJ0aXRsZUNvbGxhYm9yYXRvcjogXCJJJ20gTUFJQSwgeW91ciBhc3Npc3RhbnQgZm9yIHRhc2tzLiBTaGFsbCB3ZSBjb250aW51ZSB3aXRoIHNvbWV0aGluZyByZWNlbnQ/XCIsXG4gICAgc3VidGl0bGVDb2xsYWJvcmF0b3JXaXRoSG91cnM6ICdMb2cgeW91ciBob3VycyBvciBzdGFydCBhIGNoYXQgYWJvdXQgYSB0YXNrLicsXG4gICAgc3VidGl0bGVNYW5hZ2VyV2l0aEhvdXJzOiAnV2hlcmUgd291bGQgeW91IGxpa2UgdG8gc3RhcnQ/JyxcbiAgICBob3Vyc1NlY3Rpb246IHtcbiAgICAgIHRpdGxlOiAnTG9nIGhvdXJzJyxcbiAgICB9LFxuICAgIHJlY2VudFRhc2tzU2VjdGlvbjoge1xuICAgICAgdGl0bGU6ICdBc2sgYWJvdXQgYSB0YXNrJyxcbiAgICAgIHN1YnRpdGxlOiAnUGljayBhIHJlY2VudCB0YXNrIHRvIHVzZSBhcyBjb250ZXh0LicsXG4gICAgfSxcbiAgICByZWNlbnRDb250ZXh0c1NlY3Rpb25NYW5hZ2VyOiB7XG4gICAgICB0aXRsZTogJ09yIHJlc3VtZSBzb21ldGhpbmcgcmVjZW50JyxcbiAgICAgIHN1YnRpdGxlOiAnUGljayBhIHRhc2ssIHByb2plY3QsIG9yIGNsaWVudCB0byB1c2UgYXMgY29udGV4dCcsXG4gICAgfSxcbiAgICBjb250ZXh0R3JlZXRpbmc6IHtcbiAgICAgIHByb2plY3Q6ICdXaGF0IGRvIHlvdSB3YW50IHVzIHRvIGFuYWx5emU/IEhvdXJzLCBlc3RpbWF0ZXMsIHJld29yaz8gWW91IGNob29zZSEnLFxuICAgICAgdGFzazogXCJJJ20gaGVyZSB0byBoZWxwIHlvdSB3aXRoIHRoaXMgdGFzay4gVXNlIG9uZSBvZiB0aGUgYWN0aW9ucyB0byBnZXQgc3RhcnRlZC5cIixcbiAgICAgIGNsaWVudDogJ1doYXQgZG8geW91IHdhbnQgdXMgdG8gYW5hbHl6ZT8gUHJvZml0YWJpbGl0eSwgcHJvZ3Jlc3MsIGRlYWRsaW5lcz8gWW91IGNob29zZSEnLFxuICAgIH0sXG4gIH0sXG4gIHBsYW5uZXJIb21lOiB7XG4gICAgdGl0bGU6IFwiTGV0J3Mgc3RhcnQgdHJhY2tpbmcgeW91ciBob3Vyc1wiLFxuICAgIHN1YnRpdGxlOiAnV2hlcmUgc2hvdWxkIHdlIGJlZ2luPycsXG4gIH0sXG4gIGFjdGlvbjoge1xuICAgIGNhdGVnb3JpZXM6IHtcbiAgICAgIHRhc2tzOiAnVGFzayBhY3Rpb25zJyxcbiAgICAgIGNvbGxhYm9yYXRvcnM6ICdDb2xsYWJvcmF0b3JzIGFuZCBhc3NpZ25lZXMnLFxuICAgICAgbGFiZWxzOiAnTGFiZWxzIGFuZCB0eXBlcycsXG4gICAgICBjaGVja2xpc3RzOiAnQ2hlY2tsaXN0cycsXG4gICAgICBkZWxpdmVyYWJsZXM6ICdEZWxpdmVyYWJsZXMnLFxuICAgICAgcmV3b3JrczogJ1Jld29ya3MnLFxuICAgICAgaG91cnM6ICdUaW1lIGxvZ2dpbmcnLFxuICAgIH0sXG4gIH0sXG4gIGNyZWF0ZWRCeTogJ2J5JyxcbiAgY3JlYXRlZEJ5VG9vbHRpcDogJ0FnZW50IGNyZWF0b3IgdXNlcicsXG4gIGNyZWF0ZWRCeVRvb2x0aXBEZWxldGVkOiAnVXNlciBkZWxldGVkLiBUaGVpciBuYW1lIGlzIGtlcHQgZm9yIHJlZmVyZW5jZS4nLFxuICB0YXNrR3JlZXRpbmc6IFwiSSdtIGhlcmUgdG8gaGVscCB5b3Ugd2l0aCB0aGlzIHRhc2suIFVzZSBvbmUgb2YgdGhlIGFjdGlvbnMgdG8gZ2V0IHN0YXJ0ZWQuXCIsXG4gIGhlbGxvOiB7XG4gICAgdGl0bGU6ICdEb25lISBJ4oCZbSBub3cgdXNpbmcgdGhlIHByb2plY3QnLFxuICAgIHRpdGxlXzE6ICdBbnRpY2lwYXRlIGRldmlhdGlvbnMuIExldOKAmXMgYW5hbHl6ZSB0aGlzIHByb2plY3QuJyxcbiAgICB0aXRsZV8yOiAnV2hhdCBkbyB5b3Ugd2FudCB1cyB0byBhbmFseXplPyBIb3VycywgZXN0aW1hdGVzLCByZXdvcms/IFlvdSBjaG9vc2UhJyxcbiAgICB0aXRsZV8zOiAnTGV04oCZcyByZXZpZXcgdGhpcyBwcm9qZWN04oCZcyBwcm9ncmVzcy4nLFxuICAgIHN1YnRpdGxlOiAnVG8gZ2V0IHN0YXJ0ZWQsIEkgY2FuIGhlbHAgeW91IHdpdGggdGhlc2Ugb3B0aW9ucy4gT3IgZmVlbCBmcmVlIHRvIHR5cGUgeW91ciBxdWVzdGlvbiBkaXJlY3RseSEnLFxuICAgIHRpdGxlUG06ICdIaSwge3tuYW1lfX0hIEnigJltIHt7YWdlbnR9fSwgeW91ciBhc3Npc3RhbnQuJyxcbiAgICBzdWJ0aXRsZVBtOlxuICAgICAgJ1RvIGdpdmUgeW91IGFjY3VyYXRlIGFuc3dlcnMsIEkgbmVlZCB0byBrbm93IHdoaWNoIHByb2plY3Qgd2XigJlyZSB0YWxraW5nIGFib3V0LiBXaGljaCBvbmUgZG8geW91IGNob29zZT8nLFxuICB9LFxuICBtYWlha2VyOiB7XG4gICAgdGl0bGU6ICdUdXJuIHJlcGV0aXRpdmUgcHJvY2Vzc2VzIGludG8gc21hcnQgYWdlbnRzJyxcbiAgICBkZXNjcmlwdGlvbjogJ0NyZWF0ZSBhZ2VudHMgdGhhdCBhbmFseXplIGFuZCBnZW5lcmF0ZSBjb250ZW50IHRhaWxvcmVkIHRvIHlvdXIgbmVlZHMuJyxcbiAgICBjcmVhdGVNYW51YWxBZ2VudDogJ0NyZWF0ZSBhZ2VudCBtYW51YWxseScsXG4gICAgYmFkZ2VOZXc6ICdOZXcnLFxuICAgIGJyaWVmQ2FyZDoge1xuICAgICAgdGl0bGU6ICdCcmllZiBzcGVjaWFsaXN0IGFnZW50JyxcbiAgICAgIGRlc2NyaXB0aW9uOiAnQ3JlYXRlIGFuZCBpbXByb3ZlIGJyaWVmcyBzbyB0aGV5IGFyZSByZWFkeSB0byB1c2UgaW4gdGFza3MuJyxcbiAgICAgIHByb21wdDogJ0kgd2FudCB0byBjcmVhdGUgYSBicmllZiBzcGVjaWFsaXN0IGFnZW50LicsXG4gICAgfSxcbiAgICBjb21pbmdTb29uQ2FyZDoge1xuICAgICAgdGl0bGU6ICdNb3JlIGNvbWluZyBzb29uJyxcbiAgICAgIGRlc2NyaXB0aW9uOiBcIldlJ3JlIHdvcmtpbmcgdG8gYnJpbmcgeW91IG1vcmUgYWdlbnRzXCIsXG4gICAgfSxcbiAgfSxcbn1cblxuZXhwb3J0IGRlZmF1bHQge1xuICBbU0VDVElPTlMucHJvamVjdFN1bW1hcnldOiB7XG4gICAgLi4uZ2VuZXJpY1NlY3Rpb24sXG4gICAgLi4ucHJvamVjdFN1bW1hcnlTZWN0aW9uLFxuICB9LFxuICBbU0VDVElPTlMuY2hhdEFJXToge1xuICAgIC4uLmdlbmVyaWNTZWN0aW9uLFxuICAgIC4uLnByb2plY3RTdW1tYXJ5U2VjdGlvbixcbiAgICBob21lTWVudSxcblxuICAgIGNvbnRleHRNZW50aW9uOiB7XG4gICAgICBrZXlib2FyZEhpbnQ6ICdUYWIgbmF2aWdhdGlvbjogQCwgQEDigKYgaW4gb3JkZXIuIEFsc28gQWx0L0NtZCArIOKGkC/ihpInLFxuICAgICAgcmVjZW50c1RpdGxlOiAnUmVjZW50cycsXG4gICAgICB1c2VyTm9Qb3NpdGlvbjogJ05vIHBvc2l0aW9uJyxcbiAgICAgIG1lOiAnWW8nLFxuICAgICAgdGFiczoge1xuICAgICAgICBjbGllbnQ6ICdDbGllbnQnLFxuICAgICAgICBwcm9qZWN0OiAnUHJvamVjdCcsXG4gICAgICAgIHRhc2s6ICdUYXNrJyxcbiAgICAgICAgdXNlcjogJ1VzZXInLFxuICAgICAgICBtY3A6ICdDb25uZWN0b3JzJyxcbiAgICAgICAgc2tpbGw6ICdTa2lsbHMnLFxuICAgICAgfSxcbiAgICAgIGxvYWRpbmc6ICdTZWFyY2hpbmcuLi4nLFxuICAgICAgZXJyb3I6ICdTb21ldGhpbmcgd2VudCB3cm9uZy4gUGxlYXNlIHRyeSBhZ2Fpbi4nLFxuICAgICAgZW1wdHk6IHtcbiAgICAgICAgcmVjZW50czogJ1N0YXJ0IHR5cGluZyB0byBzZWFyY2gnLFxuICAgICAgICB3aXRoUXVlcnk6ICdObyByZXN1bHRzIGZvciBcInt7cXVlcnl9fVwiJyxcbiAgICAgIH0sXG4gICAgICBjb3VudGVyczoge1xuICAgICAgICBwcm9qZWN0czogJ3Byb2plY3RzJyxcbiAgICAgICAgdGFza3M6ICd0YXNrcycsXG4gICAgICB9LFxuICAgIH0sXG4gICAgY29udGV4dFBpbjoge1xuICAgICAgYWRkQ29udGV4dDogJ0dsb2JhbCBjb250ZXh0JyxcbiAgICAgIHNlYXJjaFBsYWNlaG9sZGVyOiAnU2VhcmNoIGNvbnRleHTigKYnLFxuICAgICAgcmVtb3ZlOiAnUmVtb3ZlIGNvbnRleHQnLFxuICAgIH0sXG4gICAgYnV0dG9uOiAnQUknLFxuICAgIHRpdGxlOiAnSGksIHt7bmFtZX19IScsXG4gICAgZGVzY3JpcHRpb246IFwiSSdtIE1BSUEsIHlvdXIgYXNzaXN0YW50LCBhbmQgSSdtIGhlcmUgdG8gaGVscCB5b3Ugd2l0aCB5b3VyIHF1ZXN0aW9ucy5cIixcbiAgICBuZXdDaGF0OiAnTmV3IGNoYXQnLFxuICAgIG9wZW5BZ2VudENyZWF0b3I6ICdDcmVhdGUgYWdlbnQnLFxuICAgIG9wZW5NYXJrZXRwbGFjZTogJ0FnZW50IG1hcmtldHBsYWNlJyxcbiAgICBoaXN0b3J5OiB7XG4gICAgICB0b29sdGlwOiAnSGlzdG9yeScsXG4gICAgICB0aXRsZTogJ0VtcHR5IGhpc3RvcnknLFxuICAgICAgZGVzY3JpcHRpb246ICdObyBjb252ZXJzYXRpb25zIGZvdW5kJyxcbiAgICAgIGl0ZW06IHtcbiAgICAgICAgZGF0ZTogJ0xhc3QgdXBkYXRlIHt7ZGF0ZX19JyxcbiAgICAgIH0sXG4gICAgICBtZW51OiB7XG4gICAgICAgIHJlbmFtZTogJ1JlbmFtZScsXG4gICAgICAgIGRlbGV0ZTogJ0RlbGV0ZScsXG4gICAgICB9LFxuICAgICAgbG9hZGluZ01vcmU6ICdMb2FkaW5nIG1vcmUgY29udmVyc2F0aW9ucycsXG4gICAgfSxcbiAgICBvbmJvYXJkaW5nOiB7XG4gICAgICBtYWlhOiAnTUFJQScsXG4gICAgICBhZ2VudEN1c3RvbTogJ0N1c3RvbSBhZ2VudHMnLFxuICAgICAgaG93Q3JlYXRlQWdlbnQ6ICdIb3cgdG8gY3JlYXRlIGFuIGFnZW50PycsXG4gICAgICB0b29sdGlwOiAnSG93IGRvZXMgaXQgd29yaz8nLFxuICAgICAgaG93SXRXb3JrczogJ0hvdyBkb2VzIGl0IHdvcms/JyxcbiAgICB9LFxuICAgIHFhOiB7XG4gICAgICB0aXRsZTogJ0ZyZXF1ZW50bHkgQXNrZWQgUXVlc3Rpb25zJyxcbiAgICAgIGl0ZW1zOiB7XG4gICAgICAgIHJlbnRhYmlsaWRhZF9wcm95ZWN0bzogJ1doYXQgaXMgdGhlIHByb2ZpdGFiaWxpdHkgb2YgdGhpcyBwcm9qZWN0PycsXG4gICAgICAgIGF2YW5jZV9wcm95ZWN0bzogJ1doYXQgaXMgdGhlIHByb2dyZXNzIG9mIHRoaXMgcHJvamVjdD8nLFxuICAgICAgICB0YXJlYXNfcHJveWVjdG86ICdXaGF0IGFyZSB0aGUgdXBjb21pbmcgdGFza3MgZHVlPycsXG4gICAgICB9LFxuICAgIH0sXG4gICAgY2hhdDoge1xuICAgICAgZ2VuZXJhdGluZzogJ1RoaW5raW5nJyxcbiAgICAgIGdlbmVyYXRpbmdBdHRhY2htZW50OiAnQW5hbHl6aW5nIGF0dGFjaG1lbnQnLFxuICAgICAgZ2VuZXJhdGluZ0RlZXBTZWFyY2g6ICdTdGFydGluZyByZXNlYXJjaCcsXG4gICAgICBnZW5lcmF0aW5nV2ViU2VhcmNoOiAnU2VhcmNoaW5nIHRoZSB3ZWInLFxuICAgICAgc3VnZ2VzdGlvbnNUaXRsZTogJ1N1Z2dlc3RlZCByZXNwb25zZXMnLFxuICAgICAgY3JlYXRlQWdlbnRBY3Rpb25zVGl0bGU6ICdOZXh0IHN0ZXAnLFxuICAgICAgY3JlYXRlQWdlbnRBY3Rpb25TdGFydENoYXQ6ICdTdGFydCBhIGNoYXQgd2l0aCB0aGUgbmV3IGFnZW50JyxcbiAgICAgIGNyZWF0ZUFnZW50QWN0aW9uS25vd2xlZGdlOiAnVXBsb2FkIGZpbGVzIHRvIHRoZSBrbm93bGVkZ2UgYmFzZScsXG4gICAgICBjcmVhdGVBZ2VudEFjdGlvbkxvYWRFcnJvcjogJ0NvdWxkIG5vdCBsb2FkIHRoZSBhZ2VudC4gUGxlYXNlIHRyeSBhZ2Fpbi4nLFxuICAgICAgd3JpdGluZzogJ1dyaXRpbmcgdGhlIHJlc3BvbnNlJyxcbiAgICAgIGV4ZWN1dGluZ0FjdGlvbjogJ0V4ZWN1dGluZyBhY3Rpb24nLFxuICAgICAgcHJvY2Vzc2luZzogJ1Byb2Nlc3NpbmcnLFxuICAgICAgYWN0aXZpdHk6IHtcbiAgICAgICAgZ2VuZXJhdGluZzoge1xuICAgICAgICAgIHByZXBhcmluZzogJ1ByZXBhcmluZyB5b3VyIHJlc3BvbnNlJyxcbiAgICAgICAgICBjb25zaWRlcmluZzogJ1Jldmlld2luZyB5b3VyIHF1ZXN0aW9uJyxcbiAgICAgICAgICBhbG1vc3RSZWFkeTogJ1NoYXBpbmcgdGhlIGFwcHJvYWNoJyxcbiAgICAgICAgfSxcbiAgICAgICAgdGhpbmtpbmc6IHtcbiAgICAgICAgICBhbmFseXppbmc6ICdBbmFseXppbmcgeW91ciBxdWVzdGlvbicsXG4gICAgICAgICAgcmV2aWV3aW5nOiAnUmV2aWV3aW5nIGNvbnRleHQnLFxuICAgICAgICAgIHBsYW5uaW5nOiAnU3RydWN0dXJpbmcgdGhlIHJlc3BvbnNlJyxcbiAgICAgICAgfSxcbiAgICAgICAgc2VhcmNoOiB7XG4gICAgICAgICAgc2Nhbm5pbmc6ICdTZWFyY2hpbmcgdGhlIHdlYicsXG4gICAgICAgICAgc3VtbWFyaXppbmc6ICdSZXZpZXdpbmcgcmVzdWx0cycsXG4gICAgICAgIH0sXG4gICAgICAgIGRlZXBTZWFyY2g6IHtcbiAgICAgICAgICBleHBsb3Jpbmc6ICdFeHBsb3Jpbmcgc291cmNlcycsXG4gICAgICAgICAgY3Jvc3NDaGVja2luZzogJ1ZlcmlmeWluZyBpbmZvcm1hdGlvbicsXG4gICAgICAgIH0sXG4gICAgICAgIGF0dGFjaG1lbnQ6IHtcbiAgICAgICAgICByZWFkaW5nOiAnUmVhZGluZyB5b3VyIGF0dGFjaG1lbnQnLFxuICAgICAgICAgIGV4dHJhY3Rpbmc6ICdFeHRyYWN0aW5nIHdoYXQgbWF0dGVycycsXG4gICAgICAgICAgcmVhZGluZ1BsdXJhbDogJ1JlYWRpbmcgeW91ciBhdHRhY2htZW50cycsXG4gICAgICAgICAgZXh0cmFjdGluZ1BsdXJhbDogJ0V4dHJhY3Rpbmcgd2hhdCBtYXR0ZXJzJyxcbiAgICAgICAgfSxcbiAgICAgICAgd3JpdGluZzoge1xuICAgICAgICAgIGNvbXBvc2luZzogJ1dyaXRpbmcgdGhlIHJlc3BvbnNlJyxcbiAgICAgICAgfSxcbiAgICAgICAgZHluYW1pY0NvbnRleHRUb29sdGlwOiAnVGhpcyBjb250ZXh0IHdhcyBkeW5hbWljYWxseSBnZW5lcmF0ZWQgYW5kIG1heSBjaGFuZ2UgdGhyb3VnaG91dCB0aGUgY29udmVyc2F0aW9uLicsXG4gICAgICAgIGNyZWF0aW5nVGFzazogJ0NyZWF0aW5nIHRhc2snLFxuICAgICAgICBjcmVhdGluZ1Rhc2tzQmF0Y2g6ICdDcmVhdGluZyB0YXNrcycsXG4gICAgICAgIGNyZWF0aW5nQWdlbnQ6ICdDcmVhdGluZyBhZ2VudCcsXG4gICAgICAgIGVkaXRpbmdBZ2VudDogJ0VkaXRpbmcgYWdlbnQnLFxuICAgICAgICBlZGl0aW5nVGFzazogJ0VkaXRpbmcgdGFzaycsXG4gICAgICAgIGVkaXRpbmdUYXNrc0JhdGNoOiAnRWRpdGluZyB0YXNrcycsXG4gICAgICAgIGRlbGV0aW5nVGFzazogJ0RlbGV0aW5nIHRhc2snLFxuICAgICAgICBkZWxldGluZ1Rhc2tzQmF0Y2g6ICdEZWxldGluZyB0YXNrcycsXG4gICAgICAgIGFzc2lnbmluZ1VzZXI6ICdBc3NpZ25pbmcgdXNlcicsXG4gICAgICAgIHVuYXNzaWduaW5nVXNlcjogJ1VuYXNzaWduaW5nIHVzZXInLFxuICAgICAgICBhc3NpZ25pbmdMYWJlbDogJ0Fzc2lnbmluZyBsYWJlbCcsXG4gICAgICAgIHVwZGF0aW5nVGFza1R5cGU6ICdVcGRhdGluZyB0YXNrIHR5cGUnLFxuICAgICAgICB1cGRhdGluZ0VzdGltYXRlZEhvdXJzOiAnVXBkYXRpbmcgZXN0aW1hdGVkIGhvdXJzJyxcbiAgICAgICAgdXBkYXRpbmdEZWxpdmVyYWJsZTogJ1VwZGF0aW5nIGRlbGl2ZXJhYmxlJyxcbiAgICAgICAgbG9nZ2luZ0hvdXJzOiAnTG9nZ2luZyBob3VycycsXG4gICAgICAgIGNyZWF0aW5nQ2hlY2tsaXN0OiAnQ3JlYXRpbmcgY2hlY2tsaXN0JyxcbiAgICAgICAgY3JlYXRpbmdMYWJlbDogJ0NyZWF0aW5nIGxhYmVsJyxcbiAgICAgICAgZWRpdGluZ1Byb2plY3Q6ICdFZGl0aW5nIHByb2plY3QnLFxuICAgICAgICBjcmVhdGluZ0NoZWNrbGlzdEl0ZW06ICdBZGRpbmcgY2hlY2tsaXN0IGl0ZW0nLFxuICAgICAgICBxdWVyeWluZ0hvdXJzOiAnUXVlcnlpbmcgaG91cnMnLFxuICAgICAgICBjb25maWd1cmluZ0FnZW50QWNjZXNzOiAnQ2hhbmdpbmcgYWdlbnQgdmlzaWJpbGl0eScsXG4gICAgICAgIHNlbmRpbmdUYXNrTWVzc2FnZTogJ1NlbmRpbmcgdGFzayBtZXNzYWdlJyxcbiAgICAgICAgZGVsZXRpbmdDaGVja2xpc3RJdGVtOiAnRGVsZXRpbmcgY2hlY2tsaXN0IGl0ZW0nLFxuICAgICAgICByZW1vdmluZ1Rhc2tUeXBlOiAnUmVtb3ZpbmcgdGFzayB0eXBlJyxcbiAgICAgICAgcmVtb3ZpbmdMYWJlbDogJ1JlbW92aW5nIGxhYmVsJyxcbiAgICAgICAgdXBkYXRpbmdEZWxpdmVyYWJsZUNvdW50OiAnVXBkYXRpbmcgZGVsaXZlcmFibGUgY291bnQnLFxuICAgICAgICBjcmVhdGluZ1Jld29yazogJ0NyZWF0aW5nIHJld29yaycsXG4gICAgICAgIHVwZGF0aW5nUmV3b3JrOiAnVXBkYXRpbmcgcmV3b3JrJyxcbiAgICAgICAgZ2VuZXJhdGluZ0ZpbGU6ICdHZW5lcmF0aW5nIGZpbGUnLFxuICAgICAgICByZXN1bWluZ0FjdGlvbjogJ1J1bm5pbmcgYXBwcm92ZWQgYWN0aW9uJyxcbiAgICAgIH0sXG4gICAgICBsb2FkaW5nTW9yZTogJ0xvYWRpbmcgbW9yZSBtZXNzYWdlcycsXG4gICAgICBmb290ZXI6IHtcbiAgICAgICAgcGxhY2Vob2xkZXI6ICdUeXBlIHlvdXIgcXVlc3Rpb24gaGVyZeKApicsXG4gICAgICAgIG9yY2hlc3RyYXRvclBsYWNlaG9sZGVyOiAnQXNrIE1haWEsIEAgdG8gbWVudGlvbiBvciAvIGZvciBxdWljayBhY3Rpb25zJyxcbiAgICAgICAgYWdlbnRMYWJlbDogJ1RoZSBBZ2VudCcsXG4gICAgICAgIGRpc2NsYWltZXI6ICd7e2FnZW50TmFtZX19IG1heSBtYWtlIG1pc3Rha2VzLiBQbGVhc2UgdmVyaWZ5IGltcG9ydGFudCBpbmZvcm1hdGlvbi4nLFxuICAgICAgICBkaXNjbGFpbWVyQWdlbnQ6ICdBSSBtb2RlbHMgbWF5IG1ha2UgbWlzdGFrZXMuIFZlcmlmeSBpbXBvcnRhbnQgaW5mb3JtYXRpb24uJyxcbiAgICAgICAgY29yQWNjZXNzTGFiZWw6ICdDT1IgYWNjZXNzJyxcbiAgICAgICAgY29yQWNjZXNzVG9vbHRpcDogJ0NPUiBkYXRhIGFjY2VzcycsXG4gICAgICB9LFxuICAgICAgZXJyb3I6ICdBbiBlcnJvciBvY2N1cnJlZCB3aGlsZSBnZW5lcmF0aW5nIHlvdXIgcmVzcG9uc2UsIHBsZWFzZSB0cnkgYWdhaW4uJyxcbiAgICAgIHJldHJ5OiAnUmV0cnknLFxuICAgICAgZXJyb3JBY2Nlc3NEZW5pZWQ6XG4gICAgICAgIFwiWW91IGRvbid0IGhhdmUgYWNjZXNzIHRvIGludGVyYWN0IHdpdGggdGhpcyBhZ2VudC4gSXQgaXMgcG9zc2libGUgdGhhdCB5b3VyIGFjY2Vzc2liaWxpdHkgc2V0dGluZ3MgaGF2ZSBjaGFuZ2VkLiBQbGVhc2UgY29udGFjdCB0aGUgcGVyc29uIGluIHlvdXIgb3JnYW5pemF0aW9uIHdobyBtYW5hZ2VzIGFnZW50cyBmb3IgbW9yZSBpbmZvcm1hdGlvbi5cIixcbiAgICAgIGVycm9yUHJvbXB0VG9vTG9uZzpcbiAgICAgICAgJ1lvdSBoYXZlIGV4Y2VlZGVkIHRoZSBjb250ZXh0IGxpbWl0IHt7dXNlZH19IHRva2Vucy4gUGxlYXNlIHJldHJ5IG9yIGNvbnRpbnVlIGluIGFub3RoZXIgY2hhdCcsXG4gICAgICBjaGFuZ2VQcm9qZWN0OiAnSSBkZXRlY3RlZCB0aGF0IHlvdSB3YW50IHRvIGNoYW5nZSBQcm9qZWN0LlxcblxcbioqU2VsZWN0IHRoZSBwcm9qZWN0IHRvIGNvbnRpbnVlOioqJyxcbiAgICAgIHNlYXJjaFdlYjogJ1NlYXJjaCB0aGUgd2ViJyxcbiAgICAgIGRlZXBTZWFyY2g6ICdBZHZhbmNlZCBpbnRlcm5ldCBzZWFyY2ggKGFjY2VzcyB0byBtb3JlIHNvdXJjZXMpJyxcbiAgICAgIGF0dGFjaEZpbGU6ICdBdHRhY2ggZmlsZScsXG4gICAgICBwbHVzTWVudUF0dGFjaDogJ0F0dGFjaCBmaWxlcycsXG4gICAgICBkcm9wRmlsZXNIZXJlOiAnRHJvcCBmaWxlcyBoZXJlJyxcbiAgICAgIHBsdXNNZW51RGVlcEludmVzdGlnYXRpb246ICdSZXNlYXJjaCBpbiBkZXB0aCcsXG4gICAgICBwbHVzTWVudVF1aWNrQWN0aW9uczogJ1F1aWNrIGFjdGlvbnMnLFxuICAgICAgb3BlblBsdXNNZW51QXJpYTogJ0F0dGFjaG1lbnRzIGFuZCBzZWFyY2ggb3B0aW9ucycsXG4gICAgICBvcGVuTWVudGlvbkFyaWE6ICdNZW50aW9uJyxcbiAgICAgIHJlbW92ZUF0dGFjaG1lbnRBcmlhOiAnUmVtb3ZlIGZpbGUnLFxuICAgICAgcmVtb3ZlQWN0aXZlVG9vbEFyaWE6ICdSZW1vdmUgc2VhcmNoIG1vZGUnLFxuICAgICAgc2VuZDogJ1NlbmQnLFxuICAgICAgbGltaXRGaWxlczogJ1lvdSBoYXZlIGV4Y2VlZGVkIHRoZSBhdHRhY2htZW50IGxpbWl0JyxcbiAgICAgIHN0b3A6ICdTdG9wIGdlbmVyYXRpbmcnLFxuICAgICAgY2FuY2VsbGVkOiAnVGhlIHNlYXJjaCBoYXMgYmVlbiBjYW5jZWxsZWQuJyxcbiAgICAgIHRvb01hbnlBY3RpdmVTZXNzaW9uczpcbiAgICAgICAgJ1RvbyBtYW55IGNvbnZlcnNhdGlvbnMgYXJlIGdlbmVyYXRpbmcgYXQgb25jZS4gV2FpdCBmb3Igb25lIHRvIGZpbmlzaCBiZWZvcmUgc3RhcnRpbmcgYW5vdGhlci4nLFxuICAgICAgYXR0YWNobWVudFByZXZpZXdNb2RhbDoge1xuICAgICAgICBsb2FkaW5nOiAnTG9hZGluZy4uLicsXG4gICAgICAgIHVuc3VwcG9ydGVkRmlsZU1lc3NhZ2U6ICdXZSBoYWQgYSBwcm9ibGVtIGxvYWRpbmcgdGhlIHByZXZpZXcuIFBsZWFzZSB0cnkgYWdhaW4gaW4gYSBmZXcgbWludXRlcy4nLFxuICAgICAgICB0eXBlTGFiZWw6ICdUeXBlOicsXG4gICAgICAgIHVua25vd246ICdVbmtub3duJyxcbiAgICAgICAgc2l6ZUxhYmVsOiAnU2l6ZTonLFxuICAgICAgICBleGNlbDoge1xuICAgICAgICAgIHNoZWV0U2VsZWN0b3JMYWJlbDogJ1NoZWV0OicsXG4gICAgICAgICAgbG9hZEVycm9yOiAnQ291bGQgbm90IGxvYWQgRXhjZWwgZmlsZSBjb250ZW50LicsXG4gICAgICAgICAgZmlsZVJlYWRFcnJvcjogJ0Vycm9yIHJlYWRpbmcgZmlsZS4nLFxuICAgICAgICAgIHNoZWV0TG9hZEVycm9yOiAnRXJyb3IgbG9hZGluZyBzZWxlY3RlZCBzaGVldC4nLFxuICAgICAgICB9LFxuICAgICAgICB3b3JkOiB7XG4gICAgICAgICAgbG9hZEVycm9yOiAnQ291bGQgbm90IGxvYWQgV29yZCBkb2N1bWVudCBjb250ZW50LicsXG4gICAgICAgICAgbGVnYWN5RG9jVW5zdXBwb3J0ZWQ6ICdQcmV2aWV3IGZvciAuZG9jIGZpbGVzIGlzIG5vdCBhdmFpbGFibGUuIFBsZWFzZSB1c2UgLmRvY3ggZm9ybWF0LicsXG4gICAgICAgIH0sXG4gICAgICAgIHBwdDoge1xuICAgICAgICAgIGxvYWRFcnJvcjogJ0NvdWxkIG5vdCBsb2FkIHByZXNlbnRhdGlvbiBjb250ZW50LicsXG4gICAgICAgICAgbGVnYWN5UHB0VW5zdXBwb3J0ZWQ6ICdQcmV2aWV3IGZvciAucHB0IGZpbGVzIGlzIG5vdCBhdmFpbGFibGUuIFBsZWFzZSB1c2UgLnBwdHggZm9ybWF0LicsXG4gICAgICAgICAgc2xpZGVMYWJlbDogJ1NsaWRlIHt7bnVtYmVyfX0nLFxuICAgICAgICAgIGVtcHR5U2xpZGU6ICdUaGlzIHNsaWRlIGhhcyBubyB0ZXh0IG9yIGltYWdlcyB0byBwcmV2aWV3LicsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0sXG4gICAgZGVsZXRlUXVlc3Rpb25Nb2RhbDoge1xuICAgICAgdGl0bGU6ICdEbyB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBjb252ZXJzYXRpb24/JyxcbiAgICAgIGZpcnN0UGFydDogJ1lvdSBhcmUgYWJvdXQgdG8gZGVsZXRlJyxcbiAgICAgIHNlY29uZFBhcnQ6ICdUaGlzIGFjdGlvbiBpcyBpcnJldmVyc2libGUuJyxcbiAgICAgIGNhbmNlbDogJ0NhbmNlbCcsXG4gICAgICBkZWxldGU6ICdEZWxldGUnLFxuICAgIH0sXG4gICAgZGVsZXRlU2tpbGxNb2RhbDoge1xuICAgICAgdGl0bGU6ICdEbyB5b3Ugd2FudCB0byBkZWxldGUgdGhpcyBza2lsbD8nLFxuICAgICAgZmlyc3RQYXJ0OiAnWW91IGFyZSBhYm91dCB0byBkZWxldGUnLFxuICAgICAgc2Vjb25kUGFydDogJ1RoaXMgYWN0aW9uIGlzIGlycmV2ZXJzaWJsZS4nLFxuICAgICAgY2FuY2VsOiAnQ2FuY2VsJyxcbiAgICAgIGRlbGV0ZTogJ0RlbGV0ZScsXG4gICAgfSxcbiAgICBlZGl0UXVlc3Rpb25Nb2RhbDoge1xuICAgICAgbmV3TmFtZTogJ05ldyBuYW1lJyxcbiAgICAgIHRpdGxlOiAnUmVuYW1lIGNvbnZlcnNhdGlvbicsXG4gICAgICByZW5hbWU6ICdSZW5hbWUnLFxuICAgICAgY2FuY2VsOiAnQ2FuY2VsJyxcbiAgICAgIG1heExlbmd0aDogJ1lvdeKAmXZlIHJlYWNoZWQgdGhlIDE0MC1jaGFyYWN0ZXIgbGltaXQuJyxcbiAgICB9LFxuICAgIG1vZGFsRmlsZUV4Y2VlZHM6IHtcbiAgICAgIGxpbWl0RmlsZXNUaXRsZTogJ01heGltdW0gYXR0YWNobWVudHMgZXhjZWVkZWQuJyxcbiAgICAgIGxpbWl0U2l6ZVRpdGxlOiBcIllvdSd2ZSBleGNlZWRlZCB0aGUgYWxsb3dlZCBmaWxlIHNpemUgbGltaXRcIixcbiAgICAgIGxpbWl0RmlsZXNEZXNjcmlwdGlvbjpcbiAgICAgICAgJ1lvdSBjYW4gYXR0YWNoIGEgbWF4aW11bSBvZiA1IGZpbGVzIHBlciBtZXNzYWdlLiBUaGUgZm9sbG93aW5nIGZpbGVzIGNvdWxkIG5vdCBiZSBhdHRhY2hlZDonLFxuICAgICAgbGltaXRTaXplRGVzY3JpcHRpb246XG4gICAgICAgICdPbmUgb3IgbW9yZSBmaWxlcyBleGNlZWQgdGhlIG1heGltdW0gYWxsb3dlZCBzaXplIGJ5IHR5cGUuIFRoZSBmb2xsb3dpbmcgZmlsZXMgY291bGQgbm90IGJlIGF0dGFjaGVkOicsXG4gICAgICBhY2NlcHQ6ICdBY2NlcHQnLFxuICAgICAgbGltaXQ6ICdsaW1pdCcsXG4gICAgfSxcbiAgICBzb3VyY2VzSW5mb3JtYXRpb25Nb2RhbDoge1xuICAgICAgdGl0bGU6ICdTb3VyY2VzOicsXG4gICAgfSxcbiAgICBhZ2VudHM6IHtcbiAgICAgIHRpdGxlOiAnQWdlbnRzJyxcbiAgICAgIG5ld0FnZW50OiAnTmV3IGFnZW50JyxcbiAgICAgIGNyZWF0ZUFnZW50OiAnQ3JlYXRlIEFnZW50JyxcbiAgICAgIGVkaXQ6ICdFZGl0JyxcbiAgICAgIG1haWE6ICcoUHJvamVjdCBzcGVjaWFsaXN0KScsXG4gICAgICBhZGRGYXZvcml0ZTogJ0FkZCB0byBmYXZvcml0ZXMnLFxuICAgICAgcmVtb3ZlRmF2b3JpdGU6ICdSZW1vdmUgZnJvbSBmYXZvcml0ZXMnLFxuICAgICAgZmF2b3JpdGVUb2dnbGVkQWRkZWRTdWNjZXNzOiAnQWdlbnQgYWRkZWQgdG8gZmF2b3JpdGVzJyxcbiAgICAgIGZhdm9yaXRlVG9nZ2xlZFJlbW92ZWRTdWNjZXNzOiAnQWdlbnQgcmVtb3ZlZCBmcm9tIGZhdm9yaXRlcycsXG4gICAgICBmYXZvcml0ZVRvZ2dsZWRFcnJvcjogJ1lvdXIgZmF2b3JpdGUgY291bGRu4oCZdCBiZSBzYXZlZC4gUGxlYXNlIHRyeSBhZ2Fpbi4nLFxuICAgICAgZmF2b3JpdGVUb2dnbGVkUmVtb3ZlZEVycm9yOiAnVGhlIGZhdm9yaXRlIGNvdWxkbuKAmXQgYmUgcmVtb3ZlZC4gUGxlYXNlIHRyeSBhZ2Fpbi4nLFxuICAgICAgbWFpYUludHJvZHVjdGlvbjogJ1dlbGNvbWUgdG8gTUFJQSwgeW91ciBhc3Npc3RhbnQgdG8gbWFrZSB5b3VyIGRheS10by1kYXkgYmV0dGVyLicsXG4gICAgfSxcbiAgICBjb252ZXJzYXRpb25zOiB7XG4gICAgICB0aXRsZTogJ015IGNvbnZlcnNhdGlvbnMnLFxuICAgICAgYWdlbnRzU2VjdGlvblRpdGxlOiAnQWdlbnRzJyxcbiAgICAgIG1haWFrZXJOYXY6ICdBZ2VudCBidWlsZGVyJyxcbiAgICAgIG15QWdlbnRzTmF2OiAnTXkgYWdlbnRzJyxcbiAgICAgIG15U2tpbGxzTmF2OiAnU2tpbGxzJyxcbiAgICAgIGVycm9yOiAnQW4gZXJyb3Igb2NjdXJyZWQgd2hpbGUgbG9hZGluZyB0aGUgY29udmVyc2F0aW9uIGhpc3RvcnknLFxuICAgICAgZW1wdHk6ICdBbGwgeW91ciBjb252ZXJzYXRpb25zIHdpdGggdGhlIGFnZW50cyB3aWxsIGJlIGRpc3BsYXllZCBoZXJlJyxcbiAgICAgIGVtcHR5TGFiZWw6ICdNZXNzYWdlIHdpdGggYXR0YWNobWVudHMnLFxuICAgICAgdW5yZWFkTGFiZWw6ICdVbnJlYWQnLFxuICAgICAgbWluaW1pemVkT3BlbjogJ09wZW4gTUFJQScsXG4gICAgICBtaW5pbWl6ZWRTZWVBbnN3ZXI6ICdTZWUgYW5zd2VyJyxcbiAgICAgIGNvbGxhcHNlOiAnQ29sbGFwc2UnLFxuICAgICAgZXhwYW5kOiAnRXhwYW5kJyxcbiAgICAgIG5ld0NoYXQ6ICdOZXcgY2hhdCcsXG4gICAgICBnZW5lcmF0aW5nOiAnR2VuZXJhdGluZyByZXNwb25zZScsXG4gICAgICBzZXNzaW9uRmluaXNoZWQ6ICd7e3RpdGxlfX0gZmluaXNoZWQgcmVzcG9uZGluZycsXG4gICAgICBzZXNzaW9uRmluaXNoZWRBcHByb3ZhbDogJ3t7dGl0bGV9fSByZXF1aXJlcyB5b3VyIGFwcHJvdmFsJyxcbiAgICAgIHNlc3Npb25GaW5pc2hlZEVycm9yOiAne3t0aXRsZX19IGVuY291bnRlcmVkIGFuIGVycm9yJyxcbiAgICAgIG9wZW5BZ2VudENyZWF0b3I6ICdDcmVhdGUgYWdlbnQnLFxuICAgICAgb3Blbk1hcmtldHBsYWNlOiAnQWdlbnQgbWFya2V0cGxhY2UnLFxuICAgIH0sXG4gICAgbWFya2V0cGxhY2U6IHtcbiAgICAgIGJhY2s6ICdCYWNrJyxcbiAgICAgIHRpdGxlOiAnSWRlYXMgZm9yIGJ1aWxkaW5nIGFnZW50cycsXG4gICAgICBkZXNjcmlwdGlvbjpcbiAgICAgICAgJ0Nob29zZSBhIHN0cm9uZyBzdGFydGluZyBwb2ludCBhbmQgb3BlbiB0aGUgZWRpdG9yIHdpdGggdGhlIGFnZW50IGFscmVhZHkgcHJlZmlsbGVkIHNvIHlvdSBjYW4gYWRhcHQgaXQgdG8geW91ciB1c2UgY2FzZS4nLFxuICAgICAgbXlBZ2VudHNUaXRsZTogJ015IGFnZW50cycsXG4gICAgICBteUFnZW50c1JlYWR5VGl0bGU6ICdZb3VyIGFnZW50cyBhcmUgcmVhZHkgdG8gaGVscCB5b3Ugd2l0aCB0YXNrcycsXG4gICAgICBteUFnZW50c0Rlc2NyaXB0aW9uOiAnVGhlc2UgYXJlIHlvdXIgY3VzdG9tIGFnZW50cy4gU2VsZWN0IG9uZSB0byBzdGFydCBjaGF0dGluZyB3aXRoIHRoYXQgcHJvZmlsZS4nLFxuICAgICAgbXlBZ2VudHNFbXB0eVN0YXRlVGl0bGU6IFwiWW91IGRvbid0IGhhdmUgYW55IGFnZW50cyB5ZXRcIixcbiAgICAgIG15QWdlbnRzRW1wdHlTdGF0ZURlc2NyaXB0aW9uOiAnQ2xpY2sgdGhlIGJ1dHRvbiBiZWxvdyB0byBzdGFydCBjcmVhdGluZyBhZ2VudHMgdGFpbG9yZWQgdG8geW91ciBuZWVkcy4nLFxuICAgICAgbXlBZ2VudHNFbXB0eVN0YXRlRGVzY3JpcHRpb25Ob1Blcm06XG4gICAgICAgICdXaGVuIHNvbWVvbmUgd2l0aCBwZXJtaXNzaW9uIHNldHMgdGhlbSB1cCwgeW91IHdpbGwgYmUgYWJsZSB0byBhY2Nlc3MgdGhlbSBmcm9tIGhlcmUuJyxcbiAgICAgIG15QWdlbnRzRW1wdHlTdGF0ZUJ1dHRvbjogJ0NyZWF0ZSBhZ2VudCcsXG4gICAgICBteUFnZW50c0ZhbGxiYWNrSW50cm86ICdDdXN0b20gYWdlbnQgcmVhZHkgdG8gaGVscCBpbiB5b3VyIHdvcmtmbG93LicsXG4gICAgICBteUFnZW50c0ZhbGxiYWNrRGVzY3JpcHRpb246ICdDbGljayB1c2UgYWdlbnQgdG8gc3RhcnQgYSBjb252ZXJzYXRpb24gd2l0aCB0aGlzIGFnZW50LicsXG4gICAgICBteUFnZW50c0ZhbGxiYWNrRGF0ZTogJ0EgZmV3IGRheXMgYWdvJyxcbiAgICAgIG15QWdlbnRzVG9kYXk6ICdUb2RheScsXG4gICAgICBteUFnZW50c09uZURheUFnbzogJzEgZGF5IGFnbycsXG4gICAgICBteUFnZW50c0RheXNBZ286ICd7e2RheXN9fSBkYXlzIGFnbycsXG4gICAgICBjYXJkTWVudUFyaWFMYWJlbDogJ0FnZW50IGFjdGlvbnMgbWVudScsXG4gICAgICB1c2U6ICdVc2UnLFxuICAgICAgY3JlYXRlQWdlbnQ6ICdDcmVhdGUgYWdlbnQgbWFudWFsbHknLFxuICAgICAgc2VhcmNoQWdlbnRQbGFjZWhvbGRlcjogJ1NlYXJjaCBhZ2VudC4uLicsXG4gICAgICBzZWFyY2hNaW5MZW5ndGg6ICdtaW4uIDMgY2hhcmFjdGVycycsXG4gICAgICBzZWFyY2hOb1Jlc3VsdHM6ICdObyByZXN1bHRzIGZvdW5kLicsXG4gICAgICBzZWFyY2hOb1Jlc3VsdHNTdWJ0aXRsZTogJ0NyZWF0ZSBhbiBBSSBhZ2VudCB0aGF0IGNhbiB0aGluaywgYWN0LCBhbmQgYXV0b21hdGUgd29yayBmb3IgeW91JyxcbiAgICAgIHVzZVRlbXBsYXRlOiAnQ3JlYXRlIGZyb20gdGhpcyBpZGVhJyxcbiAgICAgIHVzZU15QWdlbnQ6ICdVc2UgYWdlbnQnLFxuICAgICAgYmFkZ2VzOiB7XG4gICAgICAgIGJyYW5kaW5nOiAnQnJhbmRpbmcnLFxuICAgICAgICBsaW5rZWRpbjogJ0xpbmtlZEluJyxcbiAgICAgICAgbWFya2V0aW5nOiAnTWFya2V0aW5nJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBteVNraWxsczoge1xuICAgICAgdGl0bGU6ICdTcGVjaWFsaXplIE1BSUEgd2l0aCB5b3VyIG93biBydWxlcycsXG4gICAgICBzdWJ0aXRsZTogJ1NraWxscyBhcmUgZ2xvYmFsOiB0aGV5IGFyZSBhdmFpbGFibGUgdG8gYWxsIG9mIHlvdXIgYWdlbnRzLicsXG4gICAgICB0YWJNeVNraWxsczogJ015IHNraWxscycsXG4gICAgICB0YWJTaGFyZWRTa2lsbHM6ICdTaGFyZWQgc2tpbGxzJyxcbiAgICAgIGRyb3Bkb3duQnV0dG9uOiAnU2tpbGxzJyxcbiAgICAgIGRyb3Bkb3duQ3JlYXRlOiAnQ3JlYXRlIG5ldyBza2lsbCcsXG4gICAgICBkcm9wZG93bkVtcHR5OiAnTm8gc2tpbGxzIHlldCcsXG4gICAgICBkcm9wZG93bkVycm9yOiAnU29tZXRoaW5nIHdlbnQgd3JvbmcuIFBsZWFzZSB0cnkgYWdhaW4uJyxcbiAgICAgIG15U2tpbGxzRGVzY3JpcHRpb246ICdTa2lsbHMgY3JlYXRlZCBieSB5b3UuJyxcbiAgICAgIHNoYXJlZFNraWxsc0Rlc2NyaXB0aW9uOiAnU2tpbGxzIHNoYXJlZCBieSBvdGhlciBtZW1iZXJzIG9mIHlvdXIgdGVhbS4nLFxuICAgICAgc2VhcmNoUGxhY2Vob2xkZXI6ICdTZWFyY2ggc2tpbGxzLi4uJyxcbiAgICAgIGNyZWF0ZU1hbnVhbGx5OiAnQ3JlYXRlIG1hbnVhbGx5JyxcbiAgICAgIHZpc2liaWxpdHlPbmx5TWU6ICdPbmx5IG1lJyxcbiAgICAgIHZpc2liaWxpdHlFdmVyeW9uZTogJ1Zpc2libGUgdG8gZXZlcnlvbmUnLFxuICAgICAgc2hhcmVkRW1wdHlTdGF0ZVRpdGxlOiAnTm8gb25lIGhhcyBzaGFyZWQgc2tpbGxzIHdpdGggeW91IHlldC4nLFxuICAgICAgc2hhcmVkRW1wdHlTdGF0ZURlc2NyaXB0aW9uOiAnV2hlbiB5b3VyIGNvbXBhbnkgc2hhcmVzIHNraWxscywgdGhleSB3aWxsIGFwcGVhciBoZXJlLicsXG4gICAgICBjcmVhdGVTa2lsbDogJ0NyZWF0ZSBza2lsbCcsXG4gICAgICBwcmV2aWV3OiAnUHJldmlldycsXG4gICAgICBwcmV2aWV3RW1wdHk6ICdOb3RoaW5nIHRvIHByZXZpZXcgeWV0LicsXG4gICAgICB1cGxvYWRNZDogJ1VwbG9hZCAubWQnLFxuICAgICAgdXBsb2FkRXJyb3I6ICdPbmx5IC5tZCBmaWxlcyBhcmUgYWxsb3dlZCcsXG4gICAgICBjcmVhdGVXaXRoTWFpYTogJ0NyZWF0ZSB3aXRoIE1haWEnLFxuICAgICAgd3JpdGVJbnN0cnVjdGlvbnM6ICdXcml0ZSBza2lsbCBpbnN0cnVjdGlvbnMnLFxuICAgICAgdXBsb2FkU2tpbGw6ICdVcGxvYWQgYSBza2lsbCcsXG4gICAgICBnZW5lcmF0ZVBsYWNlaG9sZGVyOiAnSSB3YW50IGEgU2tpbGwgdG8gY3JlYXRlIG15IHByb2plY3RzJyxcbiAgICAgIGdlbmVyYXRlV2l0aE1haWE6ICdDcmVhdGUgdGhlIFNraWxsIHdpdGggTWFpYScsXG4gICAgICBnZW5lcmF0ZU5lZWRzTmFtZTogJ0VudGVyIGEgbmFtZSBmaXJzdCB0byBkZXNjcmliZSB0aGUgc2tpbGwnLFxuICAgICAgZ2VuZXJhdGVTdWNjZXNzOiAnU2tpbGwgZ2VuZXJhdGVkIHdpdGggTWFpYScsXG4gICAgICBnZW5lcmF0ZUVycm9yOiAnVGhlIHNraWxsIGNvdWxkIG5vdCBiZSBnZW5lcmF0ZWQuIFBsZWFzZSB0cnkgYWdhaW4uJyxcbiAgICAgIGNhcmRNZW51QXJpYUxhYmVsOiAnU2tpbGwgYWN0aW9ucyBtZW51JyxcbiAgICAgIGVkaXQ6ICdFZGl0JyxcbiAgICAgIGRlbGV0ZTogJ0RlbGV0ZScsXG4gICAgICBjYW5jZWw6ICdDYW5jZWwnLFxuICAgICAgc2F2ZTogJ1NhdmUnLFxuICAgICAgY2xvc2U6ICdDbG9zZScsXG4gICAgICBjcmVhdGVUaXRsZTogJ1NraWxsIGNyZWF0aW9uJyxcbiAgICAgIGVkaXRUaXRsZTogJ0VkaXQgc2tpbGwnLFxuICAgICAgdmlld1RpdGxlOiAnU2tpbGwnLFxuICAgICAgc2hhcmVkQ3JlYXRlZEJ5OiAnQ3JlYXRlZCBieSB7e25hbWV9fScsXG4gICAgICBuYW1lTGFiZWw6ICdOYW1lJyxcbiAgICAgIG5hbWVQbGFjZWhvbGRlcjogJ1NraWxsIG5hbWUnLFxuICAgICAgZGVzY3JpcHRpb25MYWJlbDogJ0Rlc2NyaXB0aW9uJyxcbiAgICAgIGRlc2NyaXB0aW9uUGxhY2Vob2xkZXI6ICdCcmllZmx5IGRlc2NyaWJlIHdoYXQgdGhlIHNraWxsIGlzIGZvcicsXG4gICAgICBpbnN0cnVjdGlvbnNMYWJlbDogJ0luc3RydWN0aW9ucycsXG4gICAgICBzaGFyZVdpdGhDb21wYW55OiAnRW5hYmxlIGZvciB0aGUgd2hvbGUgY29tcGFueScsXG4gICAgICBjcmVhdGVkQnk6ICdDcmVhdGVkIGJ5JyxcbiAgICAgIGxhc3RVcGRhdGVkOiAnTGFzdCB1cGRhdGVkJyxcbiAgICAgIHNhdmVBbmRVc2U6ICdTYXZlIGFuZCB1c2Ugc2tpbGwnLFxuICAgICAgY29udGVudExhYmVsOiAnU2tpbGwnLFxuICAgICAgY29udGVudFBsYWNlaG9sZGVyOiAnV3JpdGUgdGhlIHNraWxsLi4uJyxcbiAgICAgIGVtcHR5U3RhdGVUaXRsZTogXCJZb3UgZG9uJ3QgaGF2ZSBhbnkgc2tpbGxzIHlldFwiLFxuICAgICAgZW1wdHlTdGF0ZURlc2NyaXB0aW9uOiAnQ2xpY2sgdGhlIGJ1dHRvbiBiZWxvdyB0byBzdGFydCBjcmVhdGluZyBza2lsbHMgdGFpbG9yZWQgdG8geW91LicsXG4gICAgICBlbXB0eVN0YXRlRGVzY3JpcHRpb25Ob1Blcm06XG4gICAgICAgICdXaGVuIHNvbWVvbmUgd2l0aCBwZXJtaXNzaW9uIHNldHMgdGhlbSB1cCwgeW91IHdpbGwgYmUgYWJsZSB0byBhY2Nlc3MgdGhlbSBmcm9tIGhlcmUuJyxcbiAgICAgIGVtcHR5U3RhdGVCdXR0b246ICdDcmVhdGUgc2tpbGwnLFxuICAgICAgc2VhcmNoRW1wdHlTdGF0ZVRpdGxlOiBcIldlIGNvdWxkbid0IGZpbmQgYW55IHNraWxsc1wiLFxuICAgICAgc2VhcmNoRW1wdHlTdGF0ZURlc2NyaXB0aW9uOiAnVHJ5IGFub3RoZXIgdGVybSBvciBjaGVjayB5b3VyIHNlYXJjaC4nLFxuICAgICAgY3JlYXRlU3VjY2VzczogJ1NraWxsIGNyZWF0ZWQgc3VjY2Vzc2Z1bGx5JyxcbiAgICAgIGNyZWF0ZUVycm9yOiAnVGhlIHNraWxsIGNvdWxkIG5vdCBiZSBjcmVhdGVkLiBQbGVhc2UgdHJ5IGFnYWluLicsXG4gICAgICB1cGRhdGVTdWNjZXNzOiAnU2tpbGwgdXBkYXRlZCBzdWNjZXNzZnVsbHknLFxuICAgICAgdXBkYXRlRXJyb3I6ICdUaGUgc2tpbGwgY291bGQgbm90IGJlIHVwZGF0ZWQuIFBsZWFzZSB0cnkgYWdhaW4uJyxcbiAgICAgIGRlbGV0ZVN1Y2Nlc3M6ICdTa2lsbCBkZWxldGVkIHN1Y2Nlc3NmdWxseScsXG4gICAgICBkZWxldGVFcnJvcjogJ1RoZSBza2lsbCBjb3VsZCBub3QgYmUgZGVsZXRlZC4gUGxlYXNlIHRyeSBhZ2Fpbi4nLFxuICAgIH0sXG4gICAgc25hY2tiYXI6IHtcbiAgICAgIGRlbGV0ZUNoYXQ6IHtcbiAgICAgICAgc3VjY2VzczogJ0NoYXQgZGVsZXRlZCBzdWNjZXNzZnVsbHknLFxuICAgICAgICBlcnJvcjogJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJyZWQuIFBsZWFzZSwgdHJ5IGFnYWluLicsXG4gICAgICB9LFxuICAgICAgcmVuYW1lZENoYXQ6IHtcbiAgICAgICAgc3VjY2VzczogJ0NvbnZlcnNhdGlvbiByZW5hbWVkIHN1Y2Nlc3NmdWxseScsXG4gICAgICAgIGVycm9yOiAnQW4gdW5leHBlY3RlZCBlcnJvciBvY2N1cnJlZC4gUGxlYXNlLCB0cnkgYWdhaW4uJyxcbiAgICAgIH0sXG4gICAgICBsb2FkTW9yZUFnZW50czoge1xuICAgICAgICBlcnJvcjogJ0FuIHVuZXhwZWN0ZWQgZXJyb3Igb2NjdXJyZWQuIFBsZWFzZSwgdHJ5IGFnYWluLicsXG4gICAgICB9LFxuICAgIH0sXG4gICAgYXBwcm92YWxCb3g6IHtcbiAgICAgIHVudGl0bGVkQWdlbnQ6ICdVbnRpdGxlZCBhZ2VudCcsXG4gICAgICBhY3Rpb25zOiB7XG4gICAgICAgIGNyZWF0ZV90YXNrOiAnQ3JlYXRpb24gb2YgdGFzaycsXG4gICAgICAgIGNyZWF0ZV90YXNrc19iYXRjaDogJ0NyZWF0aW9uIG9mIHRhc2tzJyxcbiAgICAgICAgY3JlYXRlX2FnZW50OiAnQ3JlYXRlIGFnZW50JyxcbiAgICAgICAgZWRpdF9hZ2VudDogJ0VkaXQgYWdlbnQnLFxuICAgICAgICBlZGl0X3Byb2plY3Q6ICdFZGl0IHByb2plY3QnLFxuICAgICAgICBlZGl0X3Rhc2s6ICdFZGl0IHRhc2snLFxuICAgICAgICBlZGl0X3Rhc2tzX2JhdGNoOiAnRWRpdCB0YXNrcycsXG4gICAgICAgIGRlbGV0ZV90YXNrOiAnRGVsZXRlIHRhc2snLFxuICAgICAgICBkZWxldGVfdGFza3NfYmF0Y2g6ICdEZWxldGUgdGFza3MnLFxuICAgICAgICB0YXNrX2Fzc2lnbjogJ0Fzc2lnbiB1c2VyJyxcbiAgICAgICAgdGFza191bmFzc2lnbjogJ1VuYXNzaWduIHVzZXInLFxuICAgICAgICBhc3NpZ25fdGFza19sYWJlbDogJ0Fzc2lnbiBsYWJlbCcsXG4gICAgICAgIGNyZWF0ZV9sYWJlbHM6ICdDcmVhdGUgbGFiZWwnLFxuICAgICAgICB1cGRhdGVfdGFza190eXBlOiAnVXBkYXRlIHRhc2sgdHlwZScsXG4gICAgICAgIHVwZGF0ZV9lc3RpbWF0ZWRfaG91cnM6ICdVcGRhdGUgZXN0aW1hdGVkIGhvdXJzJyxcbiAgICAgICAgdXBkYXRlX2RlbGl2ZXJhYmxlOiAnVXBkYXRlIGRlbGl2ZXJhYmxlJyxcbiAgICAgICAgY3JlYXRlX2hvdXI6ICdMb2cgaG91cnMnLFxuICAgICAgICBjcmVhdGVfY2hlY2tsaXN0OiAnQ3JlYXRlIGNoZWNrbGlzdCcsXG4gICAgICAgIGNyZWF0ZV9jaGVja2xpc3RfaXRlbTogJ0FkZCBjaGVja2xpc3QgaXRlbScsXG4gICAgICAgIGNsb25lX3Rhc2s6ICdDbG9uZSB0YXNrJyxcbiAgICAgICAgZ2V0X3Rhc2tfZGF0ZV9ob3VyczogJ0dldCBob3VycyBieSBkYXRlJyxcbiAgICAgICAgY29uZmlndXJlX2FnZW50X2FjY2VzczogJ0NoYW5nZSBhZ2VudCB2aXNpYmlsaXR5JyxcbiAgICAgICAgc2VuZF90YXNrX21lc3NhZ2U6ICdTZW5kIHRhc2sgbWVzc2FnZScsXG4gICAgICAgIGRlbGV0ZV9jaGVja2xpc3RfaXRlbTogJ0RlbGV0ZSBjaGVja2xpc3QgaXRlbScsXG4gICAgICAgIHJlbW92ZV90YXNrX3R5cGU6ICdSZW1vdmUgdGFzayB0eXBlJyxcbiAgICAgICAgcmVtb3ZlX3Rhc2tfbGFiZWw6ICdSZW1vdmUgbGFiZWwnLFxuICAgICAgICBjb3VudF9kZWxpdmVyYWJsZTogJ1VwZGF0ZSBkZWxpdmVyYWJsZSBjb3VudCcsXG4gICAgICAgIGNyZWF0ZV9yZXdvcms6ICdDcmVhdGUgcmV3b3JrJyxcbiAgICAgICAgdXBkYXRlX3Jld29yazogJ1VwZGF0ZSByZXdvcmsnLFxuICAgICAgICBkZWxldGVfYWdlbnQ6ICdEZWxldGUgYWdlbnQnLFxuICAgICAgICB1bmtub3duOiAnVW5rbm93biBhY3Rpb24nLFxuICAgICAgfSxcbiAgICAgIHNwZWNpYWw6IHtcbiAgICAgICAgY3JlYXRlUmV3b3JrOiB7XG4gICAgICAgICAgdGl0bGU6ICdDcmVhdGUgcmV3b3JrJyxcbiAgICAgICAgICBkZXNjcmlwdGlvbjogJ0EgcmV3b3JrIHJlcXVlc3Qgd2lsbCBiZSBjcmVhdGVkIG9uIHRoZSB0YXNrIHdpdGggdGhlIGluZm9ybWF0aW9uIGJlbG93LicsXG4gICAgICAgIH0sXG4gICAgICAgIHVwZGF0ZURlbGl2ZXJhYmxlQ2hpbGRyZW46IHtcbiAgICAgICAgICB0aXRsZTogJ1VwZGF0ZSBkZWxpdmVyYWJsZSBwcm9ncmVzcycsXG4gICAgICAgICAgZGVzY3JpcHRpb246ICdUaGUgcHJvZ3Jlc3Mgb2YgbGlua2VkIHN1Yi1kZWxpdmVyYWJsZXMgZm9yIHRoaXMgdGFzayB3aWxsIGJlIHVwZGF0ZWQuJyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBmaWVsZHM6IHtcbiAgICAgICAgbmFtZTogJ05hbWUnLFxuICAgICAgICBlbW9qaTogJ0Vtb2ppJyxcbiAgICAgICAgaW50cm9kdWN0aW9uOiAnSW50cm9kdWN0aW9uJyxcbiAgICAgICAgaW5wdXRfcGxhY2Vob2xkZXI6ICdQbGFjZWhvbGRlcicsXG4gICAgICAgIHVzZXJfcHJvbXB0OiAnTWFpbiBwcm9tcHQnLFxuICAgICAgICBsYW5ndWFnZTogJ0xhbmd1YWdlJyxcbiAgICAgICAgcHJvdmlkZXI6ICdQcm92aWRlcicsXG4gICAgICAgIG1vZGVsX25hbWU6ICdNb2RlbCcsXG4gICAgICAgIGFwaV9rZXk6ICdBUEkga2V5JyxcbiAgICAgIH0sXG4gICAgICB0aXRsZTogJ0NvbmZpcm1hdGlvbiByZXF1aXJlZCcsXG4gICAgICBkZXNjcmlwdGlvbjogJ1lvdSBuZWVkIHRvIGFwcHJvdmUgdGhlIGZvbGxvd2luZyBhY3Rpb246JyxcbiAgICAgIGFwcHJvdmU6ICdBcHByb3ZlJyxcbiAgICAgIGRlbnk6ICdEZW55JyxcbiAgICAgIG1hbnVhbEFwcHJvdmFsV2FybmluZzogJ01haWEgZGV0ZWN0ZWQgdGhhdCB0aGUgcmVxdWVzdCB3YXMgbWFudWFsbHkgYXBwcm92ZWQnLFxuICAgICAgc3RhdHVzOiB7XG4gICAgICAgIGFwcHJvdmVkOiAnUmVxdWVzdCBBcHByb3ZlZCcsXG4gICAgICAgIGRlbmllZDogJ1JlcXVlc3QgRGVuaWVkJyxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBjaGlwTGxtOiB7XG4gICAgICB0b29sdGlwOiAnTW9kZWw6IHt7bW9kZWx9fScsXG4gICAgfSxcbiAgICBjbGllbnRTZWxlY3Rvcjoge1xuICAgICAgcHJvamVjdDogJ3Byb2plY3QnLFxuICAgICAgcHJvamVjdHM6ICdwcm9qZWN0cycsXG4gICAgfSxcbiAgfSxcbiAgW1NFQ1RJT05TLmFibUFnZW50XToge1xuICAgIC4uLmdlbmVyaWNTZWN0aW9uLFxuICAgIGFnZW50czogJ0FnZW50cycsXG4gICAgbGF5b3V0TWVudVRvb2x0aXA6ICdDaGF0IGxheW91dCcsXG4gICAgbGF5b3V0U2lkZWJhcjogJ1NpZGUgY2hhdCcsXG4gICAgbGF5b3V0RnVsbHNjcmVlbjogJ0Z1bGxzY3JlZW4gY2hhdCcsXG4gICAgbGF5b3V0RmxvYXRpbmc6ICdGbG9hdGluZyBjaGF0JyxcbiAgICBiYWNrOiAnQmFjaycsXG4gICAgYWRkQWdlbnQ6ICdBZGQgbmV3IGFnZW50JyxcbiAgICBsZWdlbmREZWxldGVkQWdlbnQ6ICdUaGlzIGFnZW50IHdhcyBkZWxldGVkIG9uJyxcbiAgICBsZWdlbmRQcm9qZWN0RGVsZXRlZDogJ1RoZSBwcm9qZWN0IHt7bmFtZX19IGhhcyBiZWVuIGRlbGV0ZWQuIEl0IGlzIG5vdCBwb3NzaWJsZSB0byBjb250aW51ZSB0aGUgY29udmVyc2F0aW9uJyxcbiAgICBsZWdlbmROb0FjY2VzczogJ1lvdSBubyBsb25nZXIgaGF2ZSBhY2Nlc3MgdG8gaW50ZXJhY3Qgd2l0aCB0aGUgYWdlbnQge3tuYW1lfX0nLFxuICAgIGxlZ2VuZE5vUGVybWlzc2lvbnM6ICdZb3Ugbm8gbG9uZ2VyIGhhdmUgcGVybWlzc2lvbiB0byB2aWV3IG9yIGludGVyYWN0IHdpdGggdGhlIGFnZW50IHt7bmFtZX19JyxcbiAgICBsZWdlbmRMZWdhY3lDb250ZXh0U2Vzc2lvbjpcbiAgICAgICdUaGlzIGNvbnZlcnNhdGlvbiBiZWxvbmdzIHRvIGEgcHJldmlvdXMgY29udGV4dC4gWW91IGNhbiBjb250aW51ZSB3aXRoIHt7bmFtZX19IGluIGEgbmV3IGNoYXQuJyxcbiAgICBjb250aW51ZUluTmV3Q2hhdDogJ0NvbnRpbnVlIGluIGEgbmV3IGNoYXQnLFxuICAgIGxlZ2VuZE1vZGVsRGVwcmVjYXRlZDpcbiAgICAgICdUaGUgbW9kZWwgc2VsZWN0ZWQgZm9yIHRoaXMgYWdlbnQgaXMgbm8gbG9uZ2VyIGF2YWlsYWJsZS4gU3dpdGNoIHRvIGFub3RoZXIgbW9kZWwgdG8gY29udGludWUgdXNpbmcgaXQuJyxcbiAgICBsZWdlbmRQcm92aWRlclN0YXR1czpcbiAgICAgICdUaGUgbW9kZWwgdXNlZCBieSB0aGlzIGFnZW50IGlzIGV4cGVyaWVuY2luZyB0ZW1wb3JhcnkgaXNzdWVzLiBZb3UgY2FuIHdhaXQgZm9yIGl0IHRvIHJlY292ZXIgb3Igc3dpdGNoIHRvIGEgZGlmZmVyZW50IG1vZGVsLicsXG4gICAgY2hhbmdlTW9kZWw6ICdDaGFuZ2UgbW9kZWwnLFxuICAgIG5ld0FnZW50OiAnTmV3IGFnZW50JyxcbiAgICBjcmVhdGVBZ2VudDogJ0NyZWF0ZSBBZ2VudCcsXG4gICAgZWRpdEFnZW50OiAnRWRpdCBhZ2VudCcsXG4gICAgY2FuY2VsOiAnQ2FuY2VsJyxcbiAgICBhY2NlcHQ6ICdBY2NlcHQnLFxuICAgIGRlbGV0ZUFnZW50OiAnRGVsZXRlIGFnZW50JyxcbiAgICBjb250aW51ZTogJ0NvbnRpbnVlJyxcbiAgICBlZGl0OiAnRWRpdCcsXG4gICAgZGVsZXRlOiAnRGVsZXRlJyxcbiAgICBmZWVkYmFjazogJ1NlbmQgRmVlZGJhY2snLFxuICAgIHNlbmRGZWVkYmFjazogJ1NlbmQgZmVlZGJhY2snLFxuICAgIHNhdmVDaGFuZ2VzOiAnU2F2ZSBjaGFuZ2VzJyxcbiAgICBjcmVhdGVBZ2VudExhYmVsQnV0dG9uOiAnQ3JlYXRlIGFnZW50JyxcbiAgICBvcGVuQWdlbnRDcmVhdG9yOiAnQ3JlYXRlIGFnZW50JyxcbiAgICBvcGVuTWFya2V0cGxhY2U6ICdBZ2VudCBtYXJrZXRwbGFjZScsXG4gICAgY29uZmlybUFnZW50Q3JlYXRlZDogJ1RoZSBhZ2VudCBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgY3JlYXRlZCcsXG4gICAgY29uZmlybUFnZW50VXBkYXRlZDogJ1RoZSBhZ2VudCBoYXMgYmVlbiBzdWNjZXNzZnVsbHkgdXBkYXRlZCcsXG4gICAgY29uZmlybUNsb3NlQ3JlYXRlQWdlbnQ6ICdBcmUgeW91IHN1cmUgeW91IHdhbnQgdG8gY2xvc2U/IENoYW5nZXMgd2lsbCBiZSBsb3N0LicsXG4gICAgY29uZmlybUNsb3NlRWRpdEFnZW50OiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIGNsb3NlPyBDaGFuZ2VzIHdpbGwgYmUgbG9zdC4nLFxuICAgIGNvbmZpcm1SZWxvYWRCcm93c2VyOiAnQXJlIHlvdSBzdXJlIHlvdSB3YW50IHRvIHJlbG9hZCB0aGUgcGFnZT8gQ2hhbmdlcyB3aWxsIGJlIGxvc3QuJyxcbiAgICBjb25maXJtQWdlbnRVcGRhdGVkV2l0aEZpbGVzRXJyb3I6ICdUaGUgYWdlbnQgd2FzIGVkaXRlZCBzdWNjZXNzZnVsbHksIGJ1dCBzb21lIGZpbGVzIGNvdWxkIG5vdCBiZSBwcm9jZXNzZWQuJyxcbiAgICBjb25maXJtQWdlbnRXaXRoRmlsZXNFcnJvcjogJ1RoZSBhZ2VudCB3YXMgY3JlYXRlZCBzdWNjZXNzZnVsbHksIGJ1dCBzb21lIGZpbGVzIGNvdWxkIG5vdCBiZSBwcm9jZXNzZWQuJyxcbiAgICBjb25maXJtQWdlbnREZWxldGVkOiAnVGhlIGFnZW50IGhhcyBiZWVuIHN1Y2Nlc3NmdWxseSBkZWxldGVkJyxcbiAgICBlcnJvckFjY2Vzc0RlbmllZDogXCJZb3UgZG9uJ3QgaGF2ZSBwZXJtaXNzaW9uIHRvIGFjY2VzcyB0aGlzIGFnZW50LiBDb250YWN0IHN1cHBvcnQuXCIsXG4gICAgZXJyb3JBZ2VudENyZWF0ZWQ6ICdBbiB1bmV4cGVjdGVkIGVycm9yIG9jY3VycmVkLiBQbGVhc2UsIHRyeSBhZ2Fpbi4nLFxuICAgIGF0dGFjaG1lbnRDYXJkOiB7XG4gICAgICBkb3dubG9hZDogJ0Rvd25sb2FkJyxcbiAgICAgIGRlbGV0ZTogJ0RlbGV0ZScsXG4gICAgfSxcbiAgICBnZW5lcmFsU2VjdGlvbjoge1xuICAgICAgdGl0bGU6ICdHZW5lcmFsJyxcbiAgICAgIGdlbmVyYWxTZXR0aW5nczogJ0dlbmVyYWwgc2V0dGluZ3MnLFxuICAgICAgcmVxdWlyZWRGaWVsZHNMYWJlbDogJypyZXF1aXJlZCcsXG4gICAgICBpbmZvTGFiZWw6ICdBZGQgYWxsIHRoZSBpbmZvcm1hdGlvbiB0byBjdXN0b21pemUgeW91ciBhZ2VudOKAmXMgYmVoYXZpb3IuJyxcbiAgICAgIG9wdGlvbmFsTGFiZWw6ICdPcHRpb25hbCcsXG4gICAgICBiYXNpY1NldHRpbmdzOiAnQmFzaWMgc2V0dGluZ3MnLFxuICAgICAgc2VsZWN0RW1vamk6ICdTZWxlY3QgZW1vamknLFxuICAgICAgbmFtZTogJ1doYXQgaXMgeW91ciBhZ2VudOKAmXMgbmFtZT8nLFxuICAgICAgbmFtZVBsYWNlaG9sZGVyOiAnR2l2ZSB5b3VyIGFnZW50IGEgbmFtZScsXG4gICAgICBiZWhhdmlvclNldHRpbmdzOiAnQmVoYXZpb3Igc2V0dGluZ3MnLFxuICAgICAgaW5pdGlhbFByb21wdDogJ1doYXQgYXJlIHRoZSBpbnN0cnVjdGlvbnM/JyxcbiAgICAgIGluaXRpYWxQcm9tcHRQbGFjZWhvbGRlcjpcbiAgICAgICAgJ0V4YW1wbGU6IFlvdSBhcmUgYSBzb2NpYWwgbWVkaWEgY29weXdyaXRlciB3aG8gd3JpdGVzIGFuZCBhZGFwdHMgbWVzc2FnZXMgZm9yIGRpZmZlcmVudCBwbGF0Zm9ybXMsIGVuc3VyaW5nIGNvbnNpc3RlbmN5IGluIHRvbmUsIHBlcnNvbmFsaXR5LCBhbmQgYnJhbmQgdmFsdWVzLicsXG4gICAgICBtb2RlbEFpTGFiZWw6ICdBSSBtb2RlbCcsXG4gICAgICBub01vZGVsc0F2YWlsYWJsZTogJ05vIG1vZGVscyBhdmFpbGFibGUnLFxuICAgICAgaW5wdXRQbGFjZWhvbGRlclRpdGxlOiAnV2hhdCB3aWxsIHRoZSB1c2VyIHNlZSBpbiB0aGUgY2hhdCBmaWVsZCBiZWZvcmUgdHlwaW5nPycsXG4gICAgICBpbnB1dFBsYWNlaG9sZGVyOiAnQXNrIG1lIGFueXRoaW5nIHlvdSBuZWVk4oCmJyxcbiAgICAgIGludHJvZHVjdGlvbjogJ0hvdyB3aWxsIHlvdXIgYWdlbnQgaW50cm9kdWNlIGl0c2VsZj8nLFxuICAgICAgaW50cm9kdWN0aW9uUGxhY2Vob2xkZXI6XG4gICAgICAgICdFeGFtcGxlOiBIaSEg8J+RiyBJ4oCZbSBoZXJlIHRvIGhlbHAgeW91IGNyZWF0ZSwgYWRhcHQsIGFuZCByZXZpZXcgY29weSBmb3IgZGlmZmVyZW50IHBsYXRmb3JtcywgZW5zdXJpbmcgeW91ciBicmFuZOKAmXMgdm9pY2UsIHRvbmUsIGFuZCBwZXJzb25hbGl0eSBzdGF5IGNvbnNpc3RlbnQuIFlvdSBjYW4gYXNrIG1lIHRvIHN1Z2dlc3QgY2FtcGFpZ24gaWRlYXMsIGFkYXB0IGEgbWVzc2FnZSBmb3IgYW5vdGhlciBjaGFubmVsLCBvciByZXZpZXcgdGhlIGNvaGVyZW5jZSBvZiB5b3VyIGNvbnRlbnQuJyxcbiAgICAgIGFkZEZhdm9yaXRlOiAnQWRkIHRvIGZhdm9yaXRlcycsXG4gICAgICByZW1vdmVGYXZvcml0ZTogJ1JlbW92ZSBmcm9tIGZhdm9yaXRlcycsXG4gICAgICBlcnJvcjoge1xuICAgICAgICBtYXhDYXJhY3Rlck5hbWU6ICdZb3UgaGF2ZSByZWFjaGVkIHRoZSAxNTAtY2hhcmFjdGVyIGxpbWl0LicsXG4gICAgICAgIG1heENhcmFjdGVySW5pdGlhbFByb21wdDogJ1lvdeKAmXZlIHJlYWNoZWQgdGhlIDUwMDAtY2hhcmFjdGVyIGxpbWl0LicsXG4gICAgICAgIG1heElucHV0UGxhY2Vob2xkZXI6ICdZb3XigJl2ZSByZWFjaGVkIHRoZSAxMDAtY2hhcmFjdGVyIGxpbWl0LicsXG4gICAgICAgIG1heENhcmFjdGVySW50cm9kdWN0aW9uOiAnWW914oCZdmUgcmVhY2hlZCB0aGUgNDAwLWNoYXJhY3RlciBsaW1pdC4nLFxuICAgICAgfSxcbiAgICAgIGhvd1RvV3JpdGVQcm9tcHQ6ICdIb3cgdG8gd3JpdGUgYSBwcm9tcHQnLFxuICAgICAgd2hhdElzTW9kZWxBaVRpdGxlOiAnV2hpY2ggQUkgbW9kZWwgd2lsbCB5b3UgdXNlPycsXG4gICAgICB3aGF0SXNNb2RlbEFpOiAnV2hhdCBpcyBhIG1vZGVsIG9mIEFJPycsXG4gICAgICBjcmVhdGVkQnk6ICdCeScsXG4gICAgICBjcmVhdGVkQnlUb29sdGlwOiAnQWdlbnQgY3JlYXRvciB1c2VyJyxcbiAgICAgIGNyZWF0ZWRCeVRvb2x0aXBEZWxldGVkOiAnVXNlciBkZWxldGVkLiBUaGVpciBuYW1lIGlzIGtlcHQgZm9yIHJlZmVyZW5jZS4nLFxuICAgIH0sXG4gICAga25vd2xlZGdlU2VjdGlvbjoge1xuICAgICAgdGl0bGU6ICdLbm93bGVkZ2UnLFxuICAgICAga25vd2xlZGdlVGFiOiAnS25vd2xlZGdlIGJhc2UnLFxuICAgICAgaW5mb0xhYmVsOiAnVXBsb2FkIHRoZSBmaWxlcyB5b3VyIGFnZW50IHdpbGwgdXNlIGFzIGEgcmVmZXJlbmNlIGZvciBpdHMgcmVzcG9uc2VzLicsXG4gICAgICBzZWxlY3RGaWxlVGl0bGU6ICdTZWxlY3QgZmlsZXMnLFxuICAgICAgYXR0YWNoRmlsZXM6ICdBdHRhY2ggZmlsZXMnLFxuICAgICAgZHJvcFpvbmVUZXh0OiB7XG4gICAgICAgIDE6ICdDbGljayBoZXJlIHRvIHVwbG9hZCcsXG4gICAgICAgIDI6ICdvciBkcmFnIGZpbGVzJyxcbiAgICAgIH0sXG4gICAgICBpbmZvRmlsZVR5cGVzOlxuICAgICAgICAnLm1kLCAucGRmLCAuZG9jLCAuZG9jeCwgLnBwdCwgLnBwdHgsIC50eHQsIC5jc3YsIC5wbmcsIC5qcGcsIC5qcGVnLCAueGxzLCAueGxzeCAgKG1heC4gdG90YWwgNU1CKScsXG4gICAgICBlcnJvcjoge1xuICAgICAgICBtYXhGaWxlc1RpdGxlOiAnVG90YWwgc2l6ZSBsaW1pdCBleGNlZWRlZC4nLFxuICAgICAgICBtYXhGaWxlc0Rlc2NyaXB0aW9uOiAnWW91IGNhbiBhdHRhY2ggZmlsZXMgdXAgdG8gYSB0b3RhbCBvZiA1IE1CLiBUaGUgZm9sbG93aW5nIGZpbGVzIGNvdWxkIG5vdCBiZSBhdHRhY2hlZDonLFxuICAgICAgICBtYXhTaXplVGl0bGU6ICdZb3UgaGF2ZSBleGNlZWRlZCB0aGUgYWxsb3dlZCBmaWxlIHNpemUgbGltaXQnLFxuICAgICAgICBtYXhTaXplRGVzY3JpcHRpb246IHtcbiAgICAgICAgICAxOiAnVGhlIG1heGltdW0gbGltaXQgb2YgNSBNQiB3YXMgcmVhY2hlZC4nLFxuICAgICAgICAgIDI6ICdUaGVzZSBmaWxlcyB3ZXJlIG5vdCB1cGxvYWRlZCBiZWNhdXNlIHRoZXkgZXhjZWVkIHRoZSBhdmFpbGFibGUgc3BhY2U6JyxcbiAgICAgICAgfSxcbiAgICAgICAgaW52YWxpZEV4dGVuc2lvbkRlc2NyaXB0aW9uOiB7XG4gICAgICAgICAgMTogJ09ubHkgZmlsZXMgd2l0aCB0aGUgZm9sbG93aW5nIGV4dGVuc2lvbnMgYXJlIGFjY2VwdGVkOiAubWQsIC5wZGYsIC5kb2MsIC5kb2N4LCAucHB0LCAucHB0eCwgLnR4dCwgLmNzdiwgLnBuZywgLmpwZywgLmpwZWcsIC54bHMsIC54bHN4JyxcbiAgICAgICAgICAyOiAnVGhlc2UgZmlsZXMgd2VyZSBub3QgdXBsb2FkZWQgYmVjYXVzZSB0aGVpciBleHRlbnNpb24gaXMgbm90IGFsbG93ZWQ6JyxcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgICBtb3JlSW5mbzogJ1NlZSBob3cgaXQgd29ya3MgaGVyZScsXG4gICAgfSxcbiAgICBhY2Nlc3NpYmlsaXR5U2VjdGlvbjoge1xuICAgICAgdGl0bGVUYWI6ICdQZXJtaXNzaW9ucycsXG4gICAgICB0aXRsZVNlY3Rpb246ICdBZ2VudCB2aXNpYmlsaXR5IGFuZCBwZXJtaXNzaW9ucycsXG4gICAgICBzdWJ0aXRsZVNlY3Rpb246ICdEZWZpbmUgd2hvIGNhbiB1c2UgdGhpcyBhZ2VudCBhbmQgd2hldGhlciBpdCBjYW4gYWNjZXNzIENPUiBkYXRhLicsXG4gICAgICBjb3JQZXJtaXNzaW9uc1RpdGxlOiAnQ09SIGRhdGEgYWNjZXNzIHBlcm1pc3Npb25zJyxcbiAgICAgIGNvclBlcm1pc3Npb25zU3VidGl0bGU6ICdXaGF0IGNhbiB0aGlzIGFnZW50IGFjY2Vzcz8nLFxuICAgICAgdGFza0FjY2Vzc1RpdGxlOiAnVGFzayBhY2Nlc3MnLFxuICAgICAgdGFza0FjY2Vzc0Rlc2NyaXB0aW9uOlxuICAgICAgICAnVGhlIGFnZW50IHdpbGwgYmUgYWJsZSB0byByZWFkLCBjcmVhdGUsIHVwZGF0ZSwgYW5kIGRlbGV0ZSB0YXNrcyBhY2NvcmRpbmcgdG8gdGhlIHVzZXLigJlzIHBlcm1pc3Npb25zLicsXG4gICAgICB2aXNpYmlsaXR5VGl0bGU6ICdBZ2VudCB2aXNpYmlsaXR5JyxcbiAgICAgIHdob0NhbkFjY2VzczogJ1dobyBjYW4gdXNlIHRoaXMgYWdlbnQ/JyxcbiAgICAgIGFsbENvbXBhbnlUaXRsZTogJ0VudGlyZSBjb21wYW55JyxcbiAgICAgIGFsbENvbXBhbnlEZXNjcmlwdGlvbjogJ0FsbCB1c2VycyBvZiB5b3VyIG9yZ2FuaXphdGlvbiB3aWxsIGJlIGFibGUgdG8gc2VlIGFuZCB1c2UgdGhpcyBhZ2VudC4nLFxuICAgICAgY2xpZW50VGl0bGU6ICdGb3Igc3BlY2lmaWMgY2xpZW50cycsXG4gICAgICBjbGllbnREZXNjcmlwdGlvbjpcbiAgICAgICAgJ0Fzc29jaWF0ZSB0aGlzIGFnZW50IHdpdGggb25lIG9yIG1vcmUgY2xpZW50cy4gQWxsIHVzZXJzIHdpbGwgYmUgYWJsZSB0byBzZWUgd2hpY2ggY2xpZW50cyBhcmUgbGlua2VkLicsXG4gICAgICBvd25UaXRsZTogJ09ubHkgbWUnLFxuICAgICAgb3duRGVzY3JpcHRpb246ICdUaGlzIGFnZW50IHdpbGwgYmUgcHJpdmF0ZSBhbmQgd2lsbCBub3QgYmUgYXZhaWxhYmxlIHRvIG90aGVyIHVzZXJzLicsXG4gICAgICBjbGllbnRzU2VsZWN0ZWQ6ICdDbGllbnRzIHNlbGVjdGVkOicsXG4gICAgICBzZWFyY2hFcnJvcjogJ09vcHMhIFdlIGhhZCB0cm91YmxlIGxvYWRpbmcgdGhlIGNsaWVudHMuIENvdWxkIHlvdSB0cnkgYWdhaW4gaW4gYSBtb21lbnQ/JyxcbiAgICAgIHNlYXJjaEVtcHR5OiAnT29wcyEgV2UgY291bGRu4oCZdCBmaW5kIGNsaWVudHMgd2l0aCB0aGF0IG5hbWUuIFRyeSBhbm90aGVyIHNlYXJjaC4nLFxuICAgICAgc2VhcmNoSW5pdGlhbDogJ1N0YXJ0IHR5cGluZyBhIGNsaWVudOKAmXMgbmFtZSB0byBsaW5rIGl0JyxcbiAgICAgIHNlYXJjaFBsYWNlaG9sZGVyOiAnU2VhcmNoIGNsaWVudCcsXG4gICAgICBjbGllbnRJbmFjdGl2ZTogJ1RoaXMgY2xpZW50IGlzIGluYWN0aXZlLiBXZSByZWNvbW1lbmQgcmVtb3ZpbmcgaXQgZnJvbSB0aGUgbGlzdC4nLFxuICAgICAgY2xpZW50RGVsZXRlZFRvb2x0aXA6ICdUaGlzIGNsaWVudCB3YXMgZGVsZXRlZC4gV2UgcmVjb21tZW5kIHJlbW92aW5nIGl0IGZyb20gdGhlIGxpc3QuJyxcbiAgICAgIGNsaWVudERlbGV0ZWQ6ICdDbGllbnQgZGVsZXRlZCcsXG4gICAgICBjbGllbnRzRXJyb3I6ICdDaGVjayB0aGUgYXNzb2NpYXRlZCBjbGllbnRzJyxcbiAgICB9LFxuICAgIHByb2Nlc3NpbmdLbm93bGVkZ2U6IHtcbiAgICAgIGRlc2NyaXB0aW9uQ3JlYXRlOlxuICAgICAgICAnV2UgYXJlIGNyZWF0aW5nIHRoZSBBZ2VudCBhbmQgaXRzIGtub3dsZWRnZSBiYXNlLiBUaGlzIG1heSB0YWtlIGEgZmV3IG1vbWVudHMuIFBsZWFzZSBkbyBub3QgY2xvc2UgdGhpcyB3aW5kb3cgdW50aWwgdGhlIHByb2Nlc3MgaGFzIGJlZW4gY29tcGxldGVkLicsXG4gICAgICBkZXNjcmlwdGlvblVwZGF0ZTpcbiAgICAgICAgJ1dlIGFyZSB1cGRhdGluZyB0aGUgQWdlbnQgYW5kIGl0cyBrbm93bGVkZ2UgYmFzZS4gVGhpcyBtYXkgdGFrZSBhIGZldyBtb21lbnRzLiBQbGVhc2UgZG8gbm90IGNsb3NlIHRoaXMgd2luZG93IHVudGlsIHRoZSBwcm9jZXNzIGhhcyBiZWVuIGNvbXBsZXRlZC4nLFxuICAgICAgZmlsZVJvdzogJ0ZpbGUnLFxuICAgICAgc3RhdHVzUm93OiAnU3RhdHVzJyxcbiAgICAgIHBlbmRpbmc6ICdQZW5kaW5nJyxcbiAgICAgIHByb2Nlc3Npbmc6ICdQcm9jZXNzaW5nJyxcbiAgICAgIGZhaWxlZDogJ0ZhaWxlZCcsXG4gICAgICBkb25lOiAnRG9uZScsXG4gICAgICBsb2FkaW5nRmlsZXM6ICdMb2FkaW5nIGZpbGVzLi4uJyxcbiAgICAgIGVycm9yOiB7fSxcbiAgICB9LFxuICAgIGRlbGV0ZUFnZW50TW9kYWw6IHtcbiAgICAgIHRpdGxlOiAnRG8geW91IHdhbnQgdG8gZGVsZXRlIHRoaXMgYWdlbnQ/JyxcbiAgICAgIGZpcnN0UGFydDogJ1lvdSBhcmUgYWJvdXQgdG8gZGVsZXRlICcsXG4gICAgICBzZWNvbmRQYXJ0OiAnVGhpcyBhY3Rpb24gY2Fubm90IGJlIHVuZG9uZS4nLFxuICAgICAgY2FuY2VsOiAnQ2FuY2VsJyxcbiAgICAgIGRlbGV0ZTogJ0RlbGV0ZScsXG4gICAgfSxcbiAgfSxcbiAgW1NFQ1RJT05TLnByb2plY3RTZWxlY3Rvcl06IHtcbiAgICAuLi5nZW5lcmljU2VjdGlvbixcbiAgICBwcm9qZWN0U2VsZWN0b3I6IHtcbiAgICAgIHRpdGxlOiAnV2hpY2ggcHJvamVjdCB3b3VsZCB5b3UgbGlrZSBoZWxwIHdpdGg/JyxcbiAgICAgIGhlbGxvOiB7XG4gICAgICAgIHRpdGxlOiAnSeKAmW0gTUFJQSwgeW91ciBwcm9qZWN0IHNwZWNpYWxpc3QuJyxcbiAgICAgICAgc3VidGl0bGU6XG4gICAgICAgICAgJ1RvIGdpdmUgeW91IGFjY3VyYXRlIGFuc3dlcnMsIEkgbmVlZCB0byBrbm93IHdoaWNoIHByb2plY3Qgd2XigJlyZSB0YWxraW5nIGFib3V0LiBXaGljaCBvbmUgZG8geW91IGNob29zZT8nLFxuICAgICAgfSxcbiAgICAgIHN1YnRpdGxlOiAnU2VsZWN0IGEgcHJvamVjdCBzbyBNQUlBIGNhbiByZXNwb25kIGluIGNvbnRleHQuJyxcbiAgICAgIGxhYmVsUHJvamVjdDogJ1NlbGVjdCBhIHByb2plY3QnLFxuICAgICAgcGxhY2Vob2xkZXI6ICdTZWFyY2ggZm9yIGEgcHJvamVjdCBieSBuYW1lJyxcbiAgICAgIGNoYW5nZVByb2plY3Q6ICdDaGFuZ2UgcHJvamVjdCcsXG4gICAgICByZWNlbnRQcm9qZWN0czogJ1JlY2VudHMnLFxuICAgICAgc2VhcmNoaW5nUHJvamVjdHM6ICdTZWFyY2hpbmcgeW91ciBwcm9qZWN0cy4uLicsXG4gICAgICBlcnJvck1lc3NhZ2U6ICdPb3BzISBXZSBoYWQgYSBwcm9ibGVtIGxvYWRpbmcgdGhlIHByb2plY3RzLiBQbGVhc2UgdHJ5IGFnYWluIGluIGEgZmV3IG1pbnV0ZXMuJyxcbiAgICAgIGVtcHR5UmVjZW50UHJvamVjdHM6ICdZb3UgZG9u4oCZdCBoYXZlIHJlY2VudCBwcm9qZWN0cy4gVHlwZSBhIHByb2plY3QgbmFtZSBpbiB0aGUgc2VhcmNoIHRvIGZpbmQgaXQuJyxcbiAgICAgIGVtcHR5U3RhdGU6ICdPb3BzISBXZSBjb3VsZG7igJl0IGZpbmQgYW55IHByb2plY3RzIHdpdGggdGhhdCBuYW1lLiBUcnkgYW5vdGhlciBzZWFyY2guJyxcbiAgICAgIHdpdGhvdXRDbGllbnQ6ICdObyBjbGllbnQnLFxuICAgICAgd2l0aG91dFRpdGxlOiAnTm8gdGl0bGUnLFxuICAgIH0sXG4gIH0sXG4gIFtTRUNUSU9OUy5jbGllbnRTZWxlY3Rvcl06IHtcbiAgICAuLi5nZW5lcmljU2VjdGlvbixcbiAgICBjbGllbnRTZWxlY3Rvcjoge1xuICAgICAgdGl0bGU6ICdXaGljaCBjbGllbnQgd291bGQgeW91IGxpa2UgaGVscCB3aXRoPycsXG4gICAgICBoZWxsbzoge1xuICAgICAgICB0aXRsZTogXCJJJ20gTUFJQSwgeW91ciBjbGllbnQgc3BlY2lhbGlzdC5cIixcbiAgICAgICAgc3VidGl0bGU6XG4gICAgICAgICAgXCJUbyBnaXZlIHlvdSBhY2N1cmF0ZSBhbnN3ZXJzLCBJIG5lZWQgdG8ga25vdyB3aGljaCBjbGllbnQgd2UncmUgdGFsa2luZyBhYm91dC4gV2hpY2ggb25lIGRvIHlvdSBjaG9vc2U/XCIsXG4gICAgICB9LFxuICAgICAgc3VidGl0bGU6ICdTZWxlY3QgYSBjbGllbnQgc28gTUFJQSBjYW4gcmVzcG9uZCBpbiBjb250ZXh0LicsXG4gICAgICBsYWJlbENsaWVudDogJ1NlbGVjdCBhIGNsaWVudCcsXG4gICAgICBwbGFjZWhvbGRlcjogJ1NlYXJjaCBjbGllbnQgYnkgbmFtZScsXG4gICAgICBjaGFuZ2VDbGllbnQ6ICdDaGFuZ2UgY2xpZW50JyxcbiAgICAgIHJlY2VudENsaWVudHM6ICdSZWNlbnRzJyxcbiAgICAgIHNlYXJjaGluZ0NsaWVudHM6ICdTZWFyY2hpbmcgeW91ciBjbGllbnRzLi4uJyxcbiAgICAgIGVycm9yTWVzc2FnZTogJ1dlIGhhZCBhIHByb2JsZW0gbG9hZGluZyB0aGUgY2xpZW50cy4gUGxlYXNlIHRyeSBhZ2FpbiBpbiBhIGZldyBtaW51dGVzLicsXG4gICAgICBlbXB0eVJlY2VudENsaWVudHM6IFwiWW91IGRvbid0IGhhdmUgcmVjZW50IGNsaWVudHMuIFR5cGUgYSBjbGllbnQgbmFtZSBpbiB0aGUgc2VhcmNoIHRvIGZpbmQgaXQuXCIsXG4gICAgICBlbXB0eVN0YXRlOiBcIk9vcHMhIFdlIGNvdWxkbid0IGZpbmQgY2xpZW50cyB3aXRoIHRoYXQgbmFtZS4gVHJ5IGFub3RoZXIgc2VhcmNoLlwiLFxuICAgICAgcHJvamVjdDogJ3Byb2plY3QnLFxuICAgICAgcHJvamVjdHM6ICdwcm9qZWN0cycsXG4gICAgfSxcbiAgfSxcbn1cbiJdLCJtYXBwaW5ncyI6Ijs7O0FBQUEsU0FBU0EsUUFBUSxRQUFRLHdCQUF3QjtBQUNqRCxTQUFTQyx3QkFBd0IsUUFBUSxzQ0FBc0M7QUFFL0UsSUFBTUMsT0FBTyxHQUFHO0VBQ2RDLEtBQUssRUFBRSxPQUFPO0VBQ2RDLFFBQVEsRUFBRSxVQUFVO0VBQ3BCQyxRQUFRLEVBQUUsbUJBQW1CO0VBQzdCQyxTQUFTLEVBQUUsTUFBTTtFQUNqQkMsTUFBTSxFQUFFLFFBQVE7RUFDaEJDLFFBQVEsRUFBRSxVQUFVO0VBQ3BCQyxNQUFNLEVBQUUsc0JBQXNCO0VBQzlCQyxJQUFJLEVBQUUsTUFBTTtFQUNaQyxNQUFNLEVBQUUsUUFBUTtFQUNoQkMsS0FBSyxFQUFFLE9BQU87RUFDZEMsYUFBYSxFQUFFLGdCQUFnQjtFQUMvQkMsSUFBSSxFQUFFLE1BQU07RUFDWkMsTUFBTSxFQUFFO0FBQ1YsQ0FBQztBQUVELElBQU1DLEtBQUssR0FBRztFQUNaQyxLQUFLLEVBQUUsd0JBQXdCO0VBQy9CQyxXQUFXLEVBQUUsK0VBQStFO0VBQzVGQyxRQUFRLEVBQUU7QUFDWixDQUFDO0FBRUQsSUFBTUMsY0FBYyxHQUFHO0VBQ3JCSixLQUFLLEVBQUxBLEtBQUs7RUFDTGQsT0FBTyxFQUFQQTtBQUNGLENBQUM7QUFFRCxJQUFNbUIscUJBQXFCLEdBQUc7RUFDNUJDLE1BQU0sRUFBRSxRQUFRO0VBQ2hCQyxLQUFLLEVBQUUsZUFBZTtFQUN0QkMsT0FBTyxFQUFFLGlDQUFpQztFQUUxQ0MsUUFBUSxFQUFFO0lBQ1JDLFFBQVEsRUFBRSxnQkFBZ0I7SUFDMUJDLFVBQVUsRUFBRSxtQkFBbUI7SUFDL0JDLE9BQU8sRUFBRTtFQUNYLENBQUM7RUFFREMsTUFBTSxFQUFFO0lBQ05DLGNBQWMsRUFBRSxtQkFBbUI7SUFDbkNDLG1CQUFtQixFQUFFLGlCQUFpQjtJQUN0Q3RCLE1BQU0sRUFBRSxTQUFTO0lBQ2pCdUIsZUFBZSxFQUFFLGtCQUFrQjtJQUNuQ25CLGFBQWEsRUFBRSxnQkFBZ0I7SUFDL0JvQixlQUFlLEVBQUUsbUJBQW1CO0lBQ3BDQyxnQkFBZ0IsRUFBRSxvQkFBb0I7SUFDdENDLGNBQWMsRUFBRSxVQUFVO0lBQzFCQyxVQUFVLEVBQUU7RUFDZCxDQUFDO0VBRURDLGlCQUFpQixFQUFBQyxlQUFBLENBQUFBLGVBQUEsQ0FBQUEsZUFBQSxDQUFBQSxlQUFBLENBQUFBLGVBQUEsS0FDZHJDLHdCQUF3QixDQUFDc0MsY0FBYyxFQUFHLHFCQUFxQixHQUMvRHRDLHdCQUF3QixDQUFDdUMsWUFBWSxFQUFHLGVBQWUsR0FDdkR2Qyx3QkFBd0IsQ0FBQ3dDLFVBQVUsRUFBRywyQkFBMkIsR0FDakV4Qyx3QkFBd0IsQ0FBQ3lDLGNBQWMsRUFBRyxvQkFBb0IsR0FDOUR6Qyx3QkFBd0IsQ0FBQzBDLE9BQU8sRUFBRyxRQUFRO0FBRWhELENBQUM7QUFFRCxJQUFNQyxRQUFRLEdBQUc7RUFDZmQsY0FBYyxFQUFFO0lBQ2RiLEtBQUssRUFBRSxpQkFBaUI7SUFDeEJDLFdBQVcsRUFBRTtFQUNmLENBQUM7RUFDRDJCLEdBQUcsRUFBRTtJQUNINUIsS0FBSyxFQUFFLDRCQUE0QjtJQUNuQzZCLFVBQVUsRUFBRSx1QkFBdUI7SUFDbkNDLEtBQUssRUFBRSwrQkFBK0I7SUFDdEMvQixLQUFLLEVBQUUsbUdBQW1HO0lBQzFHZ0MsVUFBVSxFQUFFO01BQ1ZDLFFBQVEsRUFBRSxTQUFTO01BQ25CQyxLQUFLLEVBQUUsT0FBTztNQUNkQyxLQUFLLEVBQUUsT0FBTztNQUNkQyxPQUFPLEVBQUUsUUFBUTtNQUNqQkMsU0FBUyxFQUFFO0lBQ2I7RUFDRixDQUFDO0VBQ0RDLEdBQUcsRUFBRTtJQUNIckMsS0FBSyxFQUFFLHlCQUF5QjtJQUNoQ3NDLFFBQVEsRUFBRSxLQUFLO0lBQ2Z2QyxLQUFLLEVBQUU7RUFDVCxDQUFDO0VBQ0R3QyxjQUFjLEVBQUU7SUFDZHZDLEtBQUssRUFBRSxxREFBcUQ7SUFDNUR3QyxLQUFLLEVBQUU7TUFDTEMsTUFBTSxFQUFFLFFBQVE7TUFDaEJDLE9BQU8sRUFBRSxTQUFTO01BQ2xCQyxJQUFJLEVBQUU7SUFDUjtFQUNGLENBQUM7RUFDREMsV0FBVyxFQUFFO0lBQ1hDLFFBQVEsRUFBRSxpQkFBaUI7SUFDM0JDLFFBQVEsRUFBRSxzR0FBc0c7SUFDaEhDLG9CQUFvQixFQUFFLDhFQUE4RTtJQUNwR0MsNkJBQTZCLEVBQUUsOENBQThDO0lBQzdFQyx3QkFBd0IsRUFBRSxnQ0FBZ0M7SUFDMURDLFlBQVksRUFBRTtNQUNabEQsS0FBSyxFQUFFO0lBQ1QsQ0FBQztJQUNEbUQsa0JBQWtCLEVBQUU7TUFDbEJuRCxLQUFLLEVBQUUsa0JBQWtCO01BQ3pCOEMsUUFBUSxFQUFFO0lBQ1osQ0FBQztJQUNETSw0QkFBNEIsRUFBRTtNQUM1QnBELEtBQUssRUFBRSw0QkFBNEI7TUFDbkM4QyxRQUFRLEVBQUU7SUFDWixDQUFDO0lBQ0RPLGVBQWUsRUFBRTtNQUNmWCxPQUFPLEVBQUUsdUVBQXVFO01BQ2hGQyxJQUFJLEVBQUUsNkVBQTZFO01BQ25GRixNQUFNLEVBQUU7SUFDVjtFQUNGLENBQUM7RUFDRGEsV0FBVyxFQUFFO0lBQ1h0RCxLQUFLLEVBQUUsaUNBQWlDO0lBQ3hDOEMsUUFBUSxFQUFFO0VBQ1osQ0FBQztFQUNEUyxNQUFNLEVBQUU7SUFDTnhCLFVBQVUsRUFBRTtNQUNWRSxLQUFLLEVBQUUsY0FBYztNQUNyQnVCLGFBQWEsRUFBRSw2QkFBNkI7TUFDNUNDLE1BQU0sRUFBRSxrQkFBa0I7TUFDMUJDLFVBQVUsRUFBRSxZQUFZO01BQ3hCQyxZQUFZLEVBQUUsY0FBYztNQUM1QnhCLE9BQU8sRUFBRSxTQUFTO01BQ2xCRCxLQUFLLEVBQUU7SUFDVDtFQUNGLENBQUM7RUFDRDBCLFNBQVMsRUFBRSxJQUFJO0VBQ2ZDLGdCQUFnQixFQUFFLG9CQUFvQjtFQUN0Q0MsdUJBQXVCLEVBQUUsaURBQWlEO0VBQzFFQyxZQUFZLEVBQUUsNkVBQTZFO0VBQzNGekQsS0FBSyxFQUFFO0lBQ0xOLEtBQUssRUFBRSxpQ0FBaUM7SUFDeENnRSxPQUFPLEVBQUUsb0RBQW9EO0lBQzdEQyxPQUFPLEVBQUUsdUVBQXVFO0lBQ2hGQyxPQUFPLEVBQUUsdUNBQXVDO0lBQ2hEcEIsUUFBUSxFQUFFLGlHQUFpRztJQUMzR3FCLE9BQU8sRUFBRSw4Q0FBOEM7SUFDdkRDLFVBQVUsRUFDUjtFQUNKLENBQUM7RUFDREMsT0FBTyxFQUFFO0lBQ1ByRSxLQUFLLEVBQUUsNkNBQTZDO0lBQ3BEQyxXQUFXLEVBQUUseUVBQXlFO0lBQ3RGcUUsaUJBQWlCLEVBQUUsdUJBQXVCO0lBQzFDQyxRQUFRLEVBQUUsS0FBSztJQUNmQyxTQUFTLEVBQUU7TUFDVHhFLEtBQUssRUFBRSx3QkFBd0I7TUFDL0JDLFdBQVcsRUFBRSw4REFBOEQ7TUFDM0V3RSxNQUFNLEVBQUU7SUFDVixDQUFDO0lBQ0RDLGNBQWMsRUFBRTtNQUNkMUUsS0FBSyxFQUFFLGtCQUFrQjtNQUN6QkMsV0FBVyxFQUFFO0lBQ2Y7RUFDRjtBQUNGLENBQUM7QUFFRCxlQUFBb0IsZUFBQSxDQUFBQSxlQUFBLENBQUFBLGVBQUEsQ0FBQUEsZUFBQSxDQUFBQSxlQUFBLEtBQ0d0QyxRQUFRLENBQUM4QixjQUFjLEVBQUE4RCxhQUFBLENBQUFBLGFBQUEsS0FDbkJ4RSxjQUFjLEdBQ2RDLHFCQUFxQixJQUV6QnJCLFFBQVEsQ0FBQzZGLE1BQU0sRUFBQUQsYUFBQSxDQUFBQSxhQUFBLENBQUFBLGFBQUEsS0FDWHhFLGNBQWMsR0FDZEMscUJBQXFCO0VBQ3hCdUIsUUFBUSxFQUFSQSxRQUFRO0VBRVJrRCxjQUFjLEVBQUU7SUFDZEMsWUFBWSxFQUFFLHFEQUFxRDtJQUNuRUMsWUFBWSxFQUFFLFNBQVM7SUFDdkJDLGNBQWMsRUFBRSxhQUFhO0lBQzdCQyxFQUFFLEVBQUUsSUFBSTtJQUNSQyxJQUFJLEVBQUU7TUFDSnpDLE1BQU0sRUFBRSxRQUFRO01BQ2hCQyxPQUFPLEVBQUUsU0FBUztNQUNsQkMsSUFBSSxFQUFFLE1BQU07TUFDWndDLElBQUksRUFBRSxNQUFNO01BQ1pDLEdBQUcsRUFBRSxZQUFZO01BQ2pCQyxLQUFLLEVBQUU7SUFDVCxDQUFDO0lBQ0RDLE9BQU8sRUFBRSxjQUFjO0lBQ3ZCdkYsS0FBSyxFQUFFLHlDQUF5QztJQUNoRCtCLEtBQUssRUFBRTtNQUNMeUQsT0FBTyxFQUFFLHdCQUF3QjtNQUNqQ0MsU0FBUyxFQUFFO0lBQ2IsQ0FBQztJQUNEQyxRQUFRLEVBQUU7TUFDUnpELFFBQVEsRUFBRSxVQUFVO01BQ3BCQyxLQUFLLEVBQUU7SUFDVDtFQUNGLENBQUM7RUFDRHlELFVBQVUsRUFBRTtJQUNWQyxVQUFVLEVBQUUsZ0JBQWdCO0lBQzVCQyxpQkFBaUIsRUFBRSxpQkFBaUI7SUFDcENDLE1BQU0sRUFBRTtFQUNWLENBQUM7RUFDREMsTUFBTSxFQUFFLElBQUk7RUFDWjlGLEtBQUssRUFBRSxlQUFlO0VBQ3RCQyxXQUFXLEVBQUUseUVBQXlFO0VBQ3RGOEYsT0FBTyxFQUFFLFVBQVU7RUFDbkJDLGdCQUFnQixFQUFFLGNBQWM7RUFDaENDLGVBQWUsRUFBRSxtQkFBbUI7RUFDcENDLE9BQU8sRUFBRTtJQUNQQyxPQUFPLEVBQUUsU0FBUztJQUNsQm5HLEtBQUssRUFBRSxlQUFlO0lBQ3RCQyxXQUFXLEVBQUUsd0JBQXdCO0lBQ3JDbUcsSUFBSSxFQUFFO01BQ0pDLElBQUksRUFBRTtJQUNSLENBQUM7SUFDREMsSUFBSSxFQUFFO01BQ0pDLE1BQU0sRUFBRSxRQUFRO01BQ2hCLFVBQVE7SUFDVixDQUFDO0lBQ0RDLFdBQVcsRUFBRTtFQUNmLENBQUM7RUFDREMsVUFBVSxFQUFFO0lBQ1ZDLElBQUksRUFBRSxNQUFNO0lBQ1pDLFdBQVcsRUFBRSxlQUFlO0lBQzVCQyxjQUFjLEVBQUUseUJBQXlCO0lBQ3pDVCxPQUFPLEVBQUUsbUJBQW1CO0lBQzVCVSxVQUFVLEVBQUU7RUFDZCxDQUFDO0VBQ0RDLEVBQUUsRUFBRTtJQUNGOUcsS0FBSyxFQUFFLDRCQUE0QjtJQUNuQytHLEtBQUssRUFBRTtNQUNMQyxxQkFBcUIsRUFBRSw0Q0FBNEM7TUFDbkVDLGVBQWUsRUFBRSx1Q0FBdUM7TUFDeERDLGVBQWUsRUFBRTtJQUNuQjtFQUNGLENBQUM7RUFDREMsSUFBSSxFQUFFO0lBQ0pDLFVBQVUsRUFBRSxVQUFVO0lBQ3RCQyxvQkFBb0IsRUFBRSxzQkFBc0I7SUFDNUNDLG9CQUFvQixFQUFFLG1CQUFtQjtJQUN6Q0MsbUJBQW1CLEVBQUUsbUJBQW1CO0lBQ3hDQyxnQkFBZ0IsRUFBRSxxQkFBcUI7SUFDdkNDLHVCQUF1QixFQUFFLFdBQVc7SUFDcENDLDBCQUEwQixFQUFFLGlDQUFpQztJQUM3REMsMEJBQTBCLEVBQUUsb0NBQW9DO0lBQ2hFQywwQkFBMEIsRUFBRSw2Q0FBNkM7SUFDekVDLE9BQU8sRUFBRSxzQkFBc0I7SUFDL0JDLGVBQWUsRUFBRSxrQkFBa0I7SUFDbkNDLFVBQVUsRUFBRSxZQUFZO0lBQ3hCQyxRQUFRLEVBQUU7TUFDUlosVUFBVSxFQUFFO1FBQ1ZhLFNBQVMsRUFBRSx5QkFBeUI7UUFDcENDLFdBQVcsRUFBRSx5QkFBeUI7UUFDdENDLFdBQVcsRUFBRTtNQUNmLENBQUM7TUFDREMsUUFBUSxFQUFFO1FBQ1JDLFNBQVMsRUFBRSx5QkFBeUI7UUFDcENDLFNBQVMsRUFBRSxtQkFBbUI7UUFDOUJDLFFBQVEsRUFBRTtNQUNaLENBQUM7TUFDREMsTUFBTSxFQUFFO1FBQ05DLFFBQVEsRUFBRSxtQkFBbUI7UUFDN0JDLFdBQVcsRUFBRTtNQUNmLENBQUM7TUFDREMsVUFBVSxFQUFFO1FBQ1ZDLFNBQVMsRUFBRSxtQkFBbUI7UUFDOUJDLGFBQWEsRUFBRTtNQUNqQixDQUFDO01BQ0RDLFVBQVUsRUFBRTtRQUNWQyxPQUFPLEVBQUUseUJBQXlCO1FBQ2xDQyxVQUFVLEVBQUUseUJBQXlCO1FBQ3JDQyxhQUFhLEVBQUUsMEJBQTBCO1FBQ3pDQyxnQkFBZ0IsRUFBRTtNQUNwQixDQUFDO01BQ0RyQixPQUFPLEVBQUU7UUFDUHNCLFNBQVMsRUFBRTtNQUNiLENBQUM7TUFDREMscUJBQXFCLEVBQUUsb0ZBQW9GO01BQzNHQyxZQUFZLEVBQUUsZUFBZTtNQUM3QkMsa0JBQWtCLEVBQUUsZ0JBQWdCO01BQ3BDQyxhQUFhLEVBQUUsZ0JBQWdCO01BQy9CQyxZQUFZLEVBQUUsZUFBZTtNQUM3QkMsV0FBVyxFQUFFLGNBQWM7TUFDM0JDLGlCQUFpQixFQUFFLGVBQWU7TUFDbENDLFlBQVksRUFBRSxlQUFlO01BQzdCQyxrQkFBa0IsRUFBRSxnQkFBZ0I7TUFDcENDLGFBQWEsRUFBRSxnQkFBZ0I7TUFDL0JDLGVBQWUsRUFBRSxrQkFBa0I7TUFDbkNDLGNBQWMsRUFBRSxpQkFBaUI7TUFDakNDLGdCQUFnQixFQUFFLG9CQUFvQjtNQUN0Q0Msc0JBQXNCLEVBQUUsMEJBQTBCO01BQ2xEQyxtQkFBbUIsRUFBRSxzQkFBc0I7TUFDM0NDLFlBQVksRUFBRSxlQUFlO01BQzdCQyxpQkFBaUIsRUFBRSxvQkFBb0I7TUFDdkNDLGFBQWEsRUFBRSxnQkFBZ0I7TUFDL0JDLGNBQWMsRUFBRSxpQkFBaUI7TUFDakNDLHFCQUFxQixFQUFFLHVCQUF1QjtNQUM5Q0MsYUFBYSxFQUFFLGdCQUFnQjtNQUMvQkMsc0JBQXNCLEVBQUUsMkJBQTJCO01BQ25EQyxrQkFBa0IsRUFBRSxzQkFBc0I7TUFDMUNDLHFCQUFxQixFQUFFLHlCQUF5QjtNQUNoREMsZ0JBQWdCLEVBQUUsb0JBQW9CO01BQ3RDQyxhQUFhLEVBQUUsZ0JBQWdCO01BQy9CQyx3QkFBd0IsRUFBRSw0QkFBNEI7TUFDdERDLGNBQWMsRUFBRSxpQkFBaUI7TUFDakNDLGNBQWMsRUFBRSxpQkFBaUI7TUFDakNDLGNBQWMsRUFBRSxpQkFBaUI7TUFDakNDLGNBQWMsRUFBRTtJQUNsQixDQUFDO0lBQ0QxRSxXQUFXLEVBQUUsdUJBQXVCO0lBQ3BDMkUsTUFBTSxFQUFFO01BQ05DLFdBQVcsRUFBRSwwQkFBMEI7TUFDdkNDLHVCQUF1QixFQUFFLCtDQUErQztNQUN4RUMsVUFBVSxFQUFFLFdBQVc7TUFDdkJDLFVBQVUsRUFBRSx1RUFBdUU7TUFDbkZDLGVBQWUsRUFBRSw0REFBNEQ7TUFDN0VDLGNBQWMsRUFBRSxZQUFZO01BQzVCQyxnQkFBZ0IsRUFBRTtJQUNwQixDQUFDO0lBQ0QzTCxLQUFLLEVBQUUscUVBQXFFO0lBQzVFNEwsS0FBSyxFQUFFLE9BQU87SUFDZEMsaUJBQWlCLEVBQ2YsME1BQTBNO0lBQzVNQyxrQkFBa0IsRUFDaEIsK0ZBQStGO0lBQ2pHQyxhQUFhLEVBQUUsb0ZBQW9GO0lBQ25HQyxTQUFTLEVBQUUsZ0JBQWdCO0lBQzNCcEQsVUFBVSxFQUFFLG1EQUFtRDtJQUMvRHFELFVBQVUsRUFBRSxhQUFhO0lBQ3pCQyxjQUFjLEVBQUUsY0FBYztJQUM5QkMsYUFBYSxFQUFFLGlCQUFpQjtJQUNoQ0MseUJBQXlCLEVBQUUsbUJBQW1CO0lBQzlDQyxvQkFBb0IsRUFBRSxlQUFlO0lBQ3JDQyxnQkFBZ0IsRUFBRSxnQ0FBZ0M7SUFDbERDLGVBQWUsRUFBRSxTQUFTO0lBQzFCQyxvQkFBb0IsRUFBRSxhQUFhO0lBQ25DQyxvQkFBb0IsRUFBRSxvQkFBb0I7SUFDMUNDLElBQUksRUFBRSxNQUFNO0lBQ1pDLFVBQVUsRUFBRSx3Q0FBd0M7SUFDcERDLElBQUksRUFBRSxpQkFBaUI7SUFDdkJDLFNBQVMsRUFBRSxnQ0FBZ0M7SUFDM0NDLHFCQUFxQixFQUNuQixnR0FBZ0c7SUFDbEdDLHNCQUFzQixFQUFFO01BQ3RCeEgsT0FBTyxFQUFFLFlBQVk7TUFDckJ5SCxzQkFBc0IsRUFBRSwwRUFBMEU7TUFDbEdDLFNBQVMsRUFBRSxPQUFPO01BQ2xCQyxPQUFPLEVBQUUsU0FBUztNQUNsQkMsU0FBUyxFQUFFLE9BQU87TUFDbEJDLEtBQUssRUFBRTtRQUNMQyxrQkFBa0IsRUFBRSxRQUFRO1FBQzVCQyxTQUFTLEVBQUUsb0NBQW9DO1FBQy9DQyxhQUFhLEVBQUUscUJBQXFCO1FBQ3BDQyxjQUFjLEVBQUU7TUFDbEIsQ0FBQztNQUNEQyxJQUFJLEVBQUU7UUFDSkgsU0FBUyxFQUFFLHVDQUF1QztRQUNsREksb0JBQW9CLEVBQUU7TUFDeEIsQ0FBQztNQUNEQyxHQUFHLEVBQUU7UUFDSEwsU0FBUyxFQUFFLHNDQUFzQztRQUNqRE0sb0JBQW9CLEVBQUUsbUVBQW1FO1FBQ3pGQyxVQUFVLEVBQUUsa0JBQWtCO1FBQzlCQyxVQUFVLEVBQUU7TUFDZDtJQUNGO0VBQ0YsQ0FBQztFQUNEQyxtQkFBbUIsRUFBRTtJQUNuQjlOLEtBQUssRUFBRSwwQ0FBMEM7SUFDakQrTixTQUFTLEVBQUUseUJBQXlCO0lBQ3BDQyxVQUFVLEVBQUUsOEJBQThCO0lBQzFDbE8sTUFBTSxFQUFFLFFBQVE7SUFDaEIsVUFBUTtFQUNWLENBQUM7RUFDRG1PLGdCQUFnQixFQUFFO0lBQ2hCak8sS0FBSyxFQUFFLG1DQUFtQztJQUMxQytOLFNBQVMsRUFBRSx5QkFBeUI7SUFDcENDLFVBQVUsRUFBRSw4QkFBOEI7SUFDMUNsTyxNQUFNLEVBQUUsUUFBUTtJQUNoQixVQUFRO0VBQ1YsQ0FBQztFQUNEb08saUJBQWlCLEVBQUU7SUFDakJDLE9BQU8sRUFBRSxVQUFVO0lBQ25Cbk8sS0FBSyxFQUFFLHFCQUFxQjtJQUM1QnVHLE1BQU0sRUFBRSxRQUFRO0lBQ2hCekcsTUFBTSxFQUFFLFFBQVE7SUFDaEJzTyxTQUFTLEVBQUU7RUFDYixDQUFDO0VBQ0RDLGdCQUFnQixFQUFFO0lBQ2hCQyxlQUFlLEVBQUUsK0JBQStCO0lBQ2hEQyxjQUFjLEVBQUUsNkNBQTZDO0lBQzdEQyxxQkFBcUIsRUFDbkIsNkZBQTZGO0lBQy9GQyxvQkFBb0IsRUFDbEIsdUdBQXVHO0lBQ3pHQyxNQUFNLEVBQUUsUUFBUTtJQUNoQkMsS0FBSyxFQUFFO0VBQ1QsQ0FBQztFQUNEQyx1QkFBdUIsRUFBRTtJQUN2QjVPLEtBQUssRUFBRTtFQUNULENBQUM7RUFDRDZPLE1BQU0sRUFBRTtJQUNON08sS0FBSyxFQUFFLFFBQVE7SUFDZjhPLFFBQVEsRUFBRSxXQUFXO0lBQ3JCQyxXQUFXLEVBQUUsY0FBYztJQUMzQkMsSUFBSSxFQUFFLE1BQU07SUFDWnRJLElBQUksRUFBRSxzQkFBc0I7SUFDNUJ1SSxXQUFXLEVBQUUsa0JBQWtCO0lBQy9CQyxjQUFjLEVBQUUsdUJBQXVCO0lBQ3ZDQywyQkFBMkIsRUFBRSwwQkFBMEI7SUFDdkRDLDZCQUE2QixFQUFFLDhCQUE4QjtJQUM3REMsb0JBQW9CLEVBQUUsb0RBQW9EO0lBQzFFQywyQkFBMkIsRUFBRSxxREFBcUQ7SUFDbEZDLGdCQUFnQixFQUFFO0VBQ3BCLENBQUM7RUFDREMsYUFBYSxFQUFFO0lBQ2J4UCxLQUFLLEVBQUUsa0JBQWtCO0lBQ3pCeVAsa0JBQWtCLEVBQUUsUUFBUTtJQUM1QkMsVUFBVSxFQUFFLGVBQWU7SUFDM0JDLFdBQVcsRUFBRSxXQUFXO0lBQ3hCQyxXQUFXLEVBQUUsUUFBUTtJQUNyQjdQLEtBQUssRUFBRSwwREFBMEQ7SUFDakUrQixLQUFLLEVBQUUsK0RBQStEO0lBQ3RFK04sVUFBVSxFQUFFLDBCQUEwQjtJQUN0Q0MsV0FBVyxFQUFFLFFBQVE7SUFDckJDLGFBQWEsRUFBRSxXQUFXO0lBQzFCQyxrQkFBa0IsRUFBRSxZQUFZO0lBQ2hDelEsUUFBUSxFQUFFLFVBQVU7SUFDcEJELE1BQU0sRUFBRSxRQUFRO0lBQ2hCeUcsT0FBTyxFQUFFLFVBQVU7SUFDbkJxQixVQUFVLEVBQUUscUJBQXFCO0lBQ2pDNkksZUFBZSxFQUFFLCtCQUErQjtJQUNoREMsdUJBQXVCLEVBQUUsa0NBQWtDO0lBQzNEQyxvQkFBb0IsRUFBRSxnQ0FBZ0M7SUFDdERuSyxnQkFBZ0IsRUFBRSxjQUFjO0lBQ2hDQyxlQUFlLEVBQUU7RUFDbkIsQ0FBQztFQUNEbUssV0FBVyxFQUFFO0lBQ1hDLElBQUksRUFBRSxNQUFNO0lBQ1pyUSxLQUFLLEVBQUUsMkJBQTJCO0lBQ2xDQyxXQUFXLEVBQ1QsMkhBQTJIO0lBQzdIcVEsYUFBYSxFQUFFLFdBQVc7SUFDMUJDLGtCQUFrQixFQUFFLDhDQUE4QztJQUNsRUMsbUJBQW1CLEVBQUUsK0VBQStFO0lBQ3BHQyx1QkFBdUIsRUFBRSwrQkFBK0I7SUFDeERDLDZCQUE2QixFQUFFLHlFQUF5RTtJQUN4R0MsbUNBQW1DLEVBQ2pDLHVGQUF1RjtJQUN6RkMsd0JBQXdCLEVBQUUsY0FBYztJQUN4Q0MscUJBQXFCLEVBQUUsOENBQThDO0lBQ3JFQywyQkFBMkIsRUFBRSwwREFBMEQ7SUFDdkZDLG9CQUFvQixFQUFFLGdCQUFnQjtJQUN0Q0MsYUFBYSxFQUFFLE9BQU87SUFDdEJDLGlCQUFpQixFQUFFLFdBQVc7SUFDOUJDLGVBQWUsRUFBRSxtQkFBbUI7SUFDcENDLGlCQUFpQixFQUFFLG9CQUFvQjtJQUN2Q0MsR0FBRyxFQUFFLEtBQUs7SUFDVnJDLFdBQVcsRUFBRSx1QkFBdUI7SUFDcENzQyxzQkFBc0IsRUFBRSxpQkFBaUI7SUFDekNDLGVBQWUsRUFBRSxtQkFBbUI7SUFDcENDLGVBQWUsRUFBRSxtQkFBbUI7SUFDcENDLHVCQUF1QixFQUFFLG1FQUFtRTtJQUM1RkMsV0FBVyxFQUFFLHVCQUF1QjtJQUNwQ0MsVUFBVSxFQUFFLFdBQVc7SUFDdkJDLE1BQU0sRUFBRTtNQUNOQyxRQUFRLEVBQUUsVUFBVTtNQUNwQkMsUUFBUSxFQUFFLFVBQVU7TUFDcEJDLFNBQVMsRUFBRTtJQUNiO0VBQ0YsQ0FBQztFQUNEQyxRQUFRLEVBQUU7SUFDUi9SLEtBQUssRUFBRSxxQ0FBcUM7SUFDNUM4QyxRQUFRLEVBQUUsOERBQThEO0lBQ3hFa1AsV0FBVyxFQUFFLFdBQVc7SUFDeEJDLGVBQWUsRUFBRSxlQUFlO0lBQ2hDQyxjQUFjLEVBQUUsUUFBUTtJQUN4QkMsY0FBYyxFQUFFLGtCQUFrQjtJQUNsQ0MsYUFBYSxFQUFFLGVBQWU7SUFDOUJDLGFBQWEsRUFBRSx5Q0FBeUM7SUFDeERDLG1CQUFtQixFQUFFLHdCQUF3QjtJQUM3Q0MsdUJBQXVCLEVBQUUsOENBQThDO0lBQ3ZFM00saUJBQWlCLEVBQUUsa0JBQWtCO0lBQ3JDNE0sY0FBYyxFQUFFLGlCQUFpQjtJQUNqQ0MsZ0JBQWdCLEVBQUUsU0FBUztJQUMzQkMsa0JBQWtCLEVBQUUscUJBQXFCO0lBQ3pDQyxxQkFBcUIsRUFBRSx3Q0FBd0M7SUFDL0RDLDJCQUEyQixFQUFFLHlEQUF5RDtJQUN0RkMsV0FBVyxFQUFFLGNBQWM7SUFDM0JDLE9BQU8sRUFBRSxTQUFTO0lBQ2xCQyxZQUFZLEVBQUUseUJBQXlCO0lBQ3ZDQyxRQUFRLEVBQUUsWUFBWTtJQUN0QkMsV0FBVyxFQUFFLDRCQUE0QjtJQUN6Q0MsY0FBYyxFQUFFLGtCQUFrQjtJQUNsQ0MsaUJBQWlCLEVBQUUsMEJBQTBCO0lBQzdDQyxXQUFXLEVBQUUsZ0JBQWdCO0lBQzdCQyxtQkFBbUIsRUFBRSxzQ0FBc0M7SUFDM0RDLGdCQUFnQixFQUFFLDRCQUE0QjtJQUM5Q0MsaUJBQWlCLEVBQUUsMENBQTBDO0lBQzdEQyxlQUFlLEVBQUUsMkJBQTJCO0lBQzVDQyxhQUFhLEVBQUUscURBQXFEO0lBQ3BFdEMsaUJBQWlCLEVBQUUsb0JBQW9CO0lBQ3ZDbkMsSUFBSSxFQUFFLE1BQU07SUFDWixVQUFRLFFBQVE7SUFDaEJsUCxNQUFNLEVBQUUsUUFBUTtJQUNoQkQsSUFBSSxFQUFFLE1BQU07SUFDWlgsS0FBSyxFQUFFLE9BQU87SUFDZHdVLFdBQVcsRUFBRSxnQkFBZ0I7SUFDN0JDLFNBQVMsRUFBRSxZQUFZO0lBQ3ZCQyxTQUFTLEVBQUUsT0FBTztJQUNsQkMsZUFBZSxFQUFFLHFCQUFxQjtJQUN0Q0MsU0FBUyxFQUFFLE1BQU07SUFDakJDLGVBQWUsRUFBRSxZQUFZO0lBQzdCQyxnQkFBZ0IsRUFBRSxhQUFhO0lBQy9CQyxzQkFBc0IsRUFBRSx3Q0FBd0M7SUFDaEVDLGlCQUFpQixFQUFFLGNBQWM7SUFDakNDLGdCQUFnQixFQUFFLDhCQUE4QjtJQUNoRHZRLFNBQVMsRUFBRSxZQUFZO0lBQ3ZCd1EsV0FBVyxFQUFFLGNBQWM7SUFDM0JDLFVBQVUsRUFBRSxvQkFBb0I7SUFDaENDLFlBQVksRUFBRSxPQUFPO0lBQ3JCQyxrQkFBa0IsRUFBRSxvQkFBb0I7SUFDeENDLGVBQWUsRUFBRSwrQkFBK0I7SUFDaERDLHFCQUFxQixFQUFFLGtFQUFrRTtJQUN6RkMsMkJBQTJCLEVBQ3pCLHVGQUF1RjtJQUN6RkMsZ0JBQWdCLEVBQUUsY0FBYztJQUNoQ0MscUJBQXFCLEVBQUUsNkJBQTZCO0lBQ3BEQywyQkFBMkIsRUFBRSx3Q0FBd0M7SUFDckVDLGFBQWEsRUFBRSw0QkFBNEI7SUFDM0NDLFdBQVcsRUFBRSxtREFBbUQ7SUFDaEVDLGFBQWEsRUFBRSw0QkFBNEI7SUFDM0NDLFdBQVcsRUFBRSxtREFBbUQ7SUFDaEVDLGFBQWEsRUFBRSw0QkFBNEI7SUFDM0NDLFdBQVcsRUFBRTtFQUNmLENBQUM7RUFDREMsUUFBUSxFQUFFO0lBQ1JDLFVBQVUsRUFBRTtNQUNWQyxPQUFPLEVBQUUsMkJBQTJCO01BQ3BDdlYsS0FBSyxFQUFFO0lBQ1QsQ0FBQztJQUNEd1YsV0FBVyxFQUFFO01BQ1hELE9BQU8sRUFBRSxtQ0FBbUM7TUFDNUN2VixLQUFLLEVBQUU7SUFDVCxDQUFDO0lBQ0R5VixjQUFjLEVBQUU7TUFDZHpWLEtBQUssRUFBRTtJQUNUO0VBQ0YsQ0FBQztFQUNEMFYsV0FBVyxFQUFFO0lBQ1hDLGFBQWEsRUFBRSxnQkFBZ0I7SUFDL0JDLE9BQU8sRUFBRTtNQUNQQyxXQUFXLEVBQUUsa0JBQWtCO01BQy9CQyxrQkFBa0IsRUFBRSxtQkFBbUI7TUFDdkNDLFlBQVksRUFBRSxjQUFjO01BQzVCQyxVQUFVLEVBQUUsWUFBWTtNQUN4QkMsWUFBWSxFQUFFLGNBQWM7TUFDNUJDLFNBQVMsRUFBRSxXQUFXO01BQ3RCQyxnQkFBZ0IsRUFBRSxZQUFZO01BQzlCQyxXQUFXLEVBQUUsYUFBYTtNQUMxQkMsa0JBQWtCLEVBQUUsY0FBYztNQUNsQ0MsV0FBVyxFQUFFLGFBQWE7TUFDMUJDLGFBQWEsRUFBRSxlQUFlO01BQzlCQyxpQkFBaUIsRUFBRSxjQUFjO01BQ2pDQyxhQUFhLEVBQUUsY0FBYztNQUM3QkMsZ0JBQWdCLEVBQUUsa0JBQWtCO01BQ3BDQyxzQkFBc0IsRUFBRSx3QkFBd0I7TUFDaERDLGtCQUFrQixFQUFFLG9CQUFvQjtNQUN4Q0MsV0FBVyxFQUFFLFdBQVc7TUFDeEJDLGdCQUFnQixFQUFFLGtCQUFrQjtNQUNwQ0MscUJBQXFCLEVBQUUsb0JBQW9CO01BQzNDQyxVQUFVLEVBQUUsWUFBWTtNQUN4QkMsbUJBQW1CLEVBQUUsbUJBQW1CO01BQ3hDQyxzQkFBc0IsRUFBRSx5QkFBeUI7TUFDakRDLGlCQUFpQixFQUFFLG1CQUFtQjtNQUN0Q0MscUJBQXFCLEVBQUUsdUJBQXVCO01BQzlDQyxnQkFBZ0IsRUFBRSxrQkFBa0I7TUFDcENDLGlCQUFpQixFQUFFLGNBQWM7TUFDakNDLGlCQUFpQixFQUFFLDBCQUEwQjtNQUM3Q0MsYUFBYSxFQUFFLGVBQWU7TUFDOUJDLGFBQWEsRUFBRSxlQUFlO01BQzlCQyxZQUFZLEVBQUUsY0FBYztNQUM1QnhLLE9BQU8sRUFBRTtJQUNYLENBQUM7SUFDRHlLLE9BQU8sRUFBRTtNQUNQQyxZQUFZLEVBQUU7UUFDWjNYLEtBQUssRUFBRSxlQUFlO1FBQ3RCQyxXQUFXLEVBQUU7TUFDZixDQUFDO01BQ0QyWCx5QkFBeUIsRUFBRTtRQUN6QjVYLEtBQUssRUFBRSw2QkFBNkI7UUFDcENDLFdBQVcsRUFBRTtNQUNmO0lBQ0YsQ0FBQztJQUNENFgsTUFBTSxFQUFFO01BQ05DLElBQUksRUFBRSxNQUFNO01BQ1pDLEtBQUssRUFBRSxPQUFPO01BQ2RDLFlBQVksRUFBRSxjQUFjO01BQzVCQyxpQkFBaUIsRUFBRSxhQUFhO01BQ2hDQyxXQUFXLEVBQUUsYUFBYTtNQUMxQkMsUUFBUSxFQUFFLFVBQVU7TUFDcEJDLFFBQVEsRUFBRSxVQUFVO01BQ3BCQyxVQUFVLEVBQUUsT0FBTztNQUNuQkMsT0FBTyxFQUFFO0lBQ1gsQ0FBQztJQUNEdFksS0FBSyxFQUFFLHVCQUF1QjtJQUM5QkMsV0FBVyxFQUFFLDJDQUEyQztJQUN4RHNZLE9BQU8sRUFBRSxTQUFTO0lBQ2xCQyxJQUFJLEVBQUUsTUFBTTtJQUNaQyxxQkFBcUIsRUFBRSxzREFBc0Q7SUFDN0VDLE1BQU0sRUFBRTtNQUNOQyxRQUFRLEVBQUUsa0JBQWtCO01BQzVCQyxNQUFNLEVBQUU7SUFDVjtFQUNGLENBQUM7RUFDREMsT0FBTyxFQUFFO0lBQ1AxUyxPQUFPLEVBQUU7RUFDWCxDQUFDO0VBQ0QyUyxjQUFjLEVBQUU7SUFDZHBXLE9BQU8sRUFBRSxTQUFTO0lBQ2xCVixRQUFRLEVBQUU7RUFDWjtBQUFDLEtBRUZqRCxRQUFRLENBQUNnYSxRQUFRLEVBQUFwVSxhQUFBLENBQUFBLGFBQUEsS0FDYnhFLGNBQWM7RUFDakIwTyxNQUFNLEVBQUUsUUFBUTtFQUNoQm1LLGlCQUFpQixFQUFFLGFBQWE7RUFDaENDLGFBQWEsRUFBRSxXQUFXO0VBQzFCQyxnQkFBZ0IsRUFBRSxpQkFBaUI7RUFDbkNDLGNBQWMsRUFBRSxlQUFlO0VBQy9COUksSUFBSSxFQUFFLE1BQU07RUFDWitJLFFBQVEsRUFBRSxlQUFlO0VBQ3pCQyxrQkFBa0IsRUFBRSwyQkFBMkI7RUFDL0NDLG9CQUFvQixFQUFFLHdGQUF3RjtFQUM5R0MsY0FBYyxFQUFFLCtEQUErRDtFQUMvRUMsbUJBQW1CLEVBQUUsMkVBQTJFO0VBQ2hHQywwQkFBMEIsRUFDeEIsZ0dBQWdHO0VBQ2xHQyxpQkFBaUIsRUFBRSx3QkFBd0I7RUFDM0NDLHFCQUFxQixFQUNuQix5R0FBeUc7RUFDM0dDLG9CQUFvQixFQUNsQiwrSEFBK0g7RUFDaklDLFdBQVcsRUFBRSxjQUFjO0VBQzNCL0ssUUFBUSxFQUFFLFdBQVc7RUFDckJDLFdBQVcsRUFBRSxjQUFjO0VBQzNCK0ssU0FBUyxFQUFFLFlBQVk7RUFDdkJoYSxNQUFNLEVBQUUsUUFBUTtFQUNoQjRPLE1BQU0sRUFBRSxRQUFRO0VBQ2hCcUwsV0FBVyxFQUFFLGNBQWM7RUFDM0IsWUFBVSxVQUFVO0VBQ3BCL0ssSUFBSSxFQUFFLE1BQU07RUFDWixVQUFRLFFBQVE7RUFDaEJ4TyxRQUFRLEVBQUUsZUFBZTtFQUN6QndaLFlBQVksRUFBRSxlQUFlO0VBQzdCQyxXQUFXLEVBQUUsY0FBYztFQUMzQkMsc0JBQXNCLEVBQUUsY0FBYztFQUN0Q2xVLGdCQUFnQixFQUFFLGNBQWM7RUFDaENDLGVBQWUsRUFBRSxtQkFBbUI7RUFDcENrVSxtQkFBbUIsRUFBRSx5Q0FBeUM7RUFDOURDLG1CQUFtQixFQUFFLHlDQUF5QztFQUM5REMsdUJBQXVCLEVBQUUsdURBQXVEO0VBQ2hGQyxxQkFBcUIsRUFBRSx1REFBdUQ7RUFDOUVDLG9CQUFvQixFQUFFLGlFQUFpRTtFQUN2RkMsaUNBQWlDLEVBQUUsMkVBQTJFO0VBQzlHQywwQkFBMEIsRUFBRSw0RUFBNEU7RUFDeEdDLG1CQUFtQixFQUFFLHlDQUF5QztFQUM5RDlPLGlCQUFpQixFQUFFLGtFQUFrRTtFQUNyRitPLGlCQUFpQixFQUFFLGtEQUFrRDtFQUNyRUMsY0FBYyxFQUFFO0lBQ2RDLFFBQVEsRUFBRSxVQUFVO0lBQ3BCLFVBQVE7RUFDVixDQUFDO0VBQ0RDLGNBQWMsRUFBRTtJQUNkOWEsS0FBSyxFQUFFLFNBQVM7SUFDaEIrYSxlQUFlLEVBQUUsa0JBQWtCO0lBQ25DQyxtQkFBbUIsRUFBRSxXQUFXO0lBQ2hDQyxTQUFTLEVBQUUsNkRBQTZEO0lBQ3hFQyxhQUFhLEVBQUUsVUFBVTtJQUN6QkMsYUFBYSxFQUFFLGdCQUFnQjtJQUMvQkMsV0FBVyxFQUFFLGNBQWM7SUFDM0J0RCxJQUFJLEVBQUUsNEJBQTRCO0lBQ2xDL0QsZUFBZSxFQUFFLHdCQUF3QjtJQUN6Q3NILGdCQUFnQixFQUFFLG1CQUFtQjtJQUNyQ0MsYUFBYSxFQUFFLDRCQUE0QjtJQUMzQ0Msd0JBQXdCLEVBQ3RCLGlLQUFpSztJQUNuS0MsWUFBWSxFQUFFLFVBQVU7SUFDeEJDLGlCQUFpQixFQUFFLHFCQUFxQjtJQUN4Q0MscUJBQXFCLEVBQUUseURBQXlEO0lBQ2hGQyxnQkFBZ0IsRUFBRSwyQkFBMkI7SUFDN0MzRCxZQUFZLEVBQUUsdUNBQXVDO0lBQ3JENEQsdUJBQXVCLEVBQ3JCLDBSQUEwUjtJQUM1UjNNLFdBQVcsRUFBRSxrQkFBa0I7SUFDL0JDLGNBQWMsRUFBRSx1QkFBdUI7SUFDdkNuUCxLQUFLLEVBQUU7TUFDTDhiLGVBQWUsRUFBRSwyQ0FBMkM7TUFDNURDLHdCQUF3QixFQUFFLDBDQUEwQztNQUNwRUMsbUJBQW1CLEVBQUUseUNBQXlDO01BQzlEQyx1QkFBdUIsRUFBRTtJQUMzQixDQUFDO0lBQ0RDLGdCQUFnQixFQUFFLHVCQUF1QjtJQUN6Q0Msa0JBQWtCLEVBQUUsOEJBQThCO0lBQ2xEQyxhQUFhLEVBQUUsd0JBQXdCO0lBQ3ZDdlksU0FBUyxFQUFFLElBQUk7SUFDZkMsZ0JBQWdCLEVBQUUsb0JBQW9CO0lBQ3RDQyx1QkFBdUIsRUFBRTtFQUMzQixDQUFDO0VBQ0RzWSxnQkFBZ0IsRUFBRTtJQUNoQnBjLEtBQUssRUFBRSxXQUFXO0lBQ2xCcWMsWUFBWSxFQUFFLGdCQUFnQjtJQUM5QnBCLFNBQVMsRUFBRSx3RUFBd0U7SUFDbkZxQixlQUFlLEVBQUUsY0FBYztJQUMvQkMsV0FBVyxFQUFFLGNBQWM7SUFDM0JDLFlBQVksRUFBRTtNQUNaLENBQUMsRUFBRSxzQkFBc0I7TUFDekIsQ0FBQyxFQUFFO0lBQ0wsQ0FBQztJQUNEQyxhQUFhLEVBQ1gsbUdBQW1HO0lBQ3JHMWMsS0FBSyxFQUFFO01BQ0wyYyxhQUFhLEVBQUUsNEJBQTRCO01BQzNDQyxtQkFBbUIsRUFBRSx3RkFBd0Y7TUFDN0dDLFlBQVksRUFBRSwrQ0FBK0M7TUFDN0RDLGtCQUFrQixFQUFFO1FBQ2xCLENBQUMsRUFBRSx3Q0FBd0M7UUFDM0MsQ0FBQyxFQUFFO01BQ0wsQ0FBQztNQUNEQywyQkFBMkIsRUFBRTtRQUMzQixDQUFDLEVBQUUsd0lBQXdJO1FBQzNJLENBQUMsRUFBRTtNQUNMO0lBQ0YsQ0FBQztJQUNEQyxRQUFRLEVBQUU7RUFDWixDQUFDO0VBQ0RDLG9CQUFvQixFQUFFO0lBQ3BCQyxRQUFRLEVBQUUsYUFBYTtJQUN2QkMsWUFBWSxFQUFFLGtDQUFrQztJQUNoREMsZUFBZSxFQUFFLG1FQUFtRTtJQUNwRkMsbUJBQW1CLEVBQUUsNkJBQTZCO0lBQ2xEQyxzQkFBc0IsRUFBRSw2QkFBNkI7SUFDckRDLGVBQWUsRUFBRSxhQUFhO0lBQzlCQyxxQkFBcUIsRUFDbkIsdUdBQXVHO0lBQ3pHQyxlQUFlLEVBQUUsa0JBQWtCO0lBQ25DQyxZQUFZLEVBQUUseUJBQXlCO0lBQ3ZDQyxlQUFlLEVBQUUsZ0JBQWdCO0lBQ2pDQyxxQkFBcUIsRUFBRSx3RUFBd0U7SUFDL0ZDLFdBQVcsRUFBRSxzQkFBc0I7SUFDbkNDLGlCQUFpQixFQUNmLHdHQUF3RztJQUMxR0MsUUFBUSxFQUFFLFNBQVM7SUFDbkJDLGNBQWMsRUFBRSxzRUFBc0U7SUFDdEZDLGVBQWUsRUFBRSxtQkFBbUI7SUFDcENDLFdBQVcsRUFBRSw0RUFBNEU7SUFDekZDLFdBQVcsRUFBRSxvRUFBb0U7SUFDakZDLGFBQWEsRUFBRSx5Q0FBeUM7SUFDeER2WSxpQkFBaUIsRUFBRSxlQUFlO0lBQ2xDd1ksY0FBYyxFQUFFLGtFQUFrRTtJQUNsRkMsb0JBQW9CLEVBQUUsa0VBQWtFO0lBQ3hGQyxhQUFhLEVBQUUsZ0JBQWdCO0lBQy9CQyxZQUFZLEVBQUU7RUFDaEIsQ0FBQztFQUNEQyxtQkFBbUIsRUFBRTtJQUNuQkMsaUJBQWlCLEVBQ2Ysc0pBQXNKO0lBQ3hKQyxpQkFBaUIsRUFDZixzSkFBc0o7SUFDeEpDLE9BQU8sRUFBRSxNQUFNO0lBQ2ZDLFNBQVMsRUFBRSxRQUFRO0lBQ25CQyxPQUFPLEVBQUUsU0FBUztJQUNsQjlXLFVBQVUsRUFBRSxZQUFZO0lBQ3hCK1csTUFBTSxFQUFFLFFBQVE7SUFDaEJDLElBQUksRUFBRSxNQUFNO0lBQ1pDLFlBQVksRUFBRSxrQkFBa0I7SUFDaENqZixLQUFLLEVBQUUsQ0FBQztFQUNWLENBQUM7RUFDRGtmLGdCQUFnQixFQUFFO0lBQ2hCamYsS0FBSyxFQUFFLG1DQUFtQztJQUMxQytOLFNBQVMsRUFBRSwwQkFBMEI7SUFDckNDLFVBQVUsRUFBRSwrQkFBK0I7SUFDM0NsTyxNQUFNLEVBQUUsUUFBUTtJQUNoQixVQUFRO0VBQ1Y7QUFBQyxLQUVGZixRQUFRLENBQUNtZ0IsZUFBZSxFQUFBdmEsYUFBQSxDQUFBQSxhQUFBLEtBQ3BCeEUsY0FBYztFQUNqQitlLGVBQWUsRUFBRTtJQUNmbGYsS0FBSyxFQUFFLHlDQUF5QztJQUNoRE0sS0FBSyxFQUFFO01BQ0xOLEtBQUssRUFBRSxvQ0FBb0M7TUFDM0M4QyxRQUFRLEVBQ047SUFDSixDQUFDO0lBQ0RBLFFBQVEsRUFBRSxrREFBa0Q7SUFDNURxYyxZQUFZLEVBQUUsa0JBQWtCO0lBQ2hDL1QsV0FBVyxFQUFFLDhCQUE4QjtJQUMzQ1UsYUFBYSxFQUFFLGdCQUFnQjtJQUMvQnNULGNBQWMsRUFBRSxTQUFTO0lBQ3pCQyxpQkFBaUIsRUFBRSw0QkFBNEI7SUFDL0NDLFlBQVksRUFBRSxpRkFBaUY7SUFDL0ZDLG1CQUFtQixFQUFFLCtFQUErRTtJQUNwR0MsVUFBVSxFQUFFLHlFQUF5RTtJQUNyRkMsYUFBYSxFQUFFLFdBQVc7SUFDMUJDLFlBQVksRUFBRTtFQUNoQjtBQUFDLEtBRUYzZ0IsUUFBUSxDQUFDK1osY0FBYyxFQUFBblUsYUFBQSxDQUFBQSxhQUFBLEtBQ25CeEUsY0FBYztFQUNqQjJZLGNBQWMsRUFBRTtJQUNkOVksS0FBSyxFQUFFLHdDQUF3QztJQUMvQ00sS0FBSyxFQUFFO01BQ0xOLEtBQUssRUFBRSxtQ0FBbUM7TUFDMUM4QyxRQUFRLEVBQ047SUFDSixDQUFDO0lBQ0RBLFFBQVEsRUFBRSxpREFBaUQ7SUFDM0Q2YyxXQUFXLEVBQUUsaUJBQWlCO0lBQzlCdlUsV0FBVyxFQUFFLHVCQUF1QjtJQUNwQ3dVLFlBQVksRUFBRSxlQUFlO0lBQzdCQyxhQUFhLEVBQUUsU0FBUztJQUN4QkMsZ0JBQWdCLEVBQUUsMkJBQTJCO0lBQzdDUixZQUFZLEVBQUUsMEVBQTBFO0lBQ3hGUyxrQkFBa0IsRUFBRSw2RUFBNkU7SUFDakdQLFVBQVUsRUFBRSxvRUFBb0U7SUFDaEY5YyxPQUFPLEVBQUUsU0FBUztJQUNsQlYsUUFBUSxFQUFFO0VBQ1o7QUFBQyIsImlnbm9yZUxpc3QiOltdfQ==