@promptbook/components 0.113.0-9 → 0.114.0-1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/README.md +4 -3
  2. package/esm/index.es.js +1866 -428
  3. package/esm/index.es.js.map +1 -1
  4. package/esm/src/_packages/components.index.d.ts +8 -0
  5. package/esm/src/_packages/core.index.d.ts +4 -0
  6. package/esm/src/_packages/types.index.d.ts +12 -0
  7. package/esm/src/book-2.0/agent-source/AgentBasicInformation.d.ts +7 -0
  8. package/esm/src/book-2.0/agent-source/parseAgentSource/ParsedAgentProfile.d.ts +1 -1
  9. package/esm/src/book-2.0/book-language-documentation/BookLanguageDocumentationExample.d.ts +5 -13
  10. package/esm/src/book-2.0/book-language-documentation/BookLanguageManualDictionary.d.ts +195 -0
  11. package/esm/src/book-2.0/book-language-documentation/bookLanguageDocumentationExamples.d.ts +2 -1
  12. package/esm/src/book-2.0/book-language-documentation/createStandaloneBookLanguageMarkdown.d.ts +43 -1
  13. package/esm/src/book-2.0/book-language-documentation/czechBookLanguageManualDictionary.d.ts +10 -0
  14. package/esm/src/book-2.0/book-language-documentation/englishBookLanguageManualDictionary.d.ts +10 -0
  15. package/esm/src/book-2.0/book-language-documentation/getBookLanguageManualCommitmentGroups.d.ts +33 -0
  16. package/esm/src/book-2.0/book-language-documentation/getBookLanguageManualDictionary.d.ts +15 -0
  17. package/esm/src/book-2.0/book-language-documentation/getSafeCodeBlock.d.ts +10 -0
  18. package/esm/src/book-2.0/book-language-documentation/renderCommitmentCatalogSection.d.ts +30 -0
  19. package/esm/src/book-2.0/book-language-documentation/renderGroupedCommitmentDocumentationMarkdown.d.ts +2 -1
  20. package/esm/src/book-2.0/book-language-documentation/toStableAnchorId.d.ts +12 -0
  21. package/esm/src/book-3.0/AgentMessageRunReport.d.ts +78 -0
  22. package/esm/src/book-3.0/agentFolderPaths.d.ts +9 -0
  23. package/esm/src/book-3.0/codexLoginMethod.d.ts +38 -0
  24. package/esm/src/book-components/BookEditor/BookEditorSyntaxTokenStyles.d.ts +39 -0
  25. package/esm/src/book-components/BookEditor/createBookSourceHighlightStyles.d.ts +12 -0
  26. package/esm/src/book-components/BookEditor/highlightBookSourceToHtml.d.ts +20 -0
  27. package/esm/src/book-components/Chat/Chat/ChatCitationModal.d.ts +5 -0
  28. package/esm/src/book-components/Chat/Chat/ChatCitationModal.test.d.ts +2 -0
  29. package/esm/src/book-components/Chat/Chat/ChatFeedbackStar.d.ts +37 -0
  30. package/esm/src/book-components/Chat/Chat/ChatMessageItem.d.ts +4 -0
  31. package/esm/src/book-components/Chat/Chat/ChatMessageList.d.ts +4 -0
  32. package/esm/src/book-components/Chat/Chat/ChatMessageRichContent.d.ts +5 -0
  33. package/esm/src/book-components/Chat/Chat/ChatProps.d.ts +13 -0
  34. package/esm/src/book-components/Chat/Chat/ChatRatingModal.test.d.ts +2 -0
  35. package/esm/src/book-components/Chat/Chat/CitationIframePreview.d.ts +25 -2
  36. package/esm/src/book-components/Chat/Chat/pagePreview/LiveBrowserPreview.d.ts +39 -0
  37. package/esm/src/book-components/Chat/Chat/pagePreview/LiveBrowserPreview.test.d.ts +2 -0
  38. package/esm/src/book-components/Chat/Chat/pagePreview/LiveBrowserPreviewToolbar.d.ts +71 -0
  39. package/esm/src/book-components/Chat/Chat/pagePreview/PagePreviewInputEvent.d.ts +72 -0
  40. package/esm/src/book-components/Chat/Chat/pagePreview/PagePreviewInputQueue.d.ts +64 -0
  41. package/esm/src/book-components/Chat/Chat/pagePreview/PagePreviewInputQueue.test.d.ts +1 -0
  42. package/esm/src/book-components/Chat/Chat/pagePreview/PagePreviewSessionState.d.ts +14 -0
  43. package/esm/src/book-components/Chat/Chat/pagePreview/PagePreviewViewport.d.ts +37 -0
  44. package/esm/src/book-components/Chat/Chat/pagePreview/createPagePreviewSessionId.d.ts +20 -0
  45. package/esm/src/book-components/Chat/Chat/pagePreview/normalizePagePreviewInputEvent.d.ts +13 -0
  46. package/esm/src/book-components/Chat/Chat/pagePreview/normalizePagePreviewInputEvent.test.d.ts +1 -0
  47. package/esm/src/book-components/Chat/Chat/resolveChatRatingMessageKey.d.ts +8 -0
  48. package/esm/src/book-components/Chat/MarkdownContent/MarkdownContent.d.ts +2 -0
  49. package/esm/src/book-components/Chat/SourceChip/SourceChip.test.d.ts +2 -0
  50. package/esm/src/book-components/Chat/hooks/useResolvedCitationLabel.test.d.ts +2 -0
  51. package/esm/src/book-components/Chat/utils/renderMarkdown.d.ts +78 -0
  52. package/esm/src/book-components/Chat/utils/resolveCitationSourceDisplay.d.ts +149 -0
  53. package/esm/src/book-components/Chat/utils/thinkingMessageVariants.d.ts +9 -0
  54. package/esm/src/cli/cli-commands/agent-folder/agentProjectPaths.d.ts +2 -2
  55. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerChildEnvironment.d.ts +1 -0
  56. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerChildEnvironment.test.d.ts +1 -0
  57. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/PreparedAgentsServerLaunch.d.ts +1 -1
  58. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/forwardChildOutput.d.ts +1 -1
  59. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/startNextServer.d.ts +1 -1
  60. package/esm/src/cli/cli-commands/agents-server/startAgentsServer/startUserChatJobWorkerPump.d.ts +1 -1
  61. package/esm/src/cli/cli-commands/agents-server/startAgentsServer.d.ts +1 -1
  62. package/esm/src/cli/cli-commands/coder/add.d.ts +36 -0
  63. package/esm/src/cli/cli-commands/coder/add.test.d.ts +1 -0
  64. package/esm/src/cli/cli-commands/coder/boilerplateTemplates.d.ts +24 -0
  65. package/esm/src/cli/cli-commands/coder.d.ts +1 -0
  66. package/esm/src/cli/cli-commands/common/createNonNegativeIntegerOptionParser.d.ts +10 -0
  67. package/esm/src/cli/cli-commands/common/harness/$applyHarnessInstallationStatus.d.ts +9 -0
  68. package/esm/src/cli/cli-commands/common/harness/$askForHarnessInstallationApproval.d.ts +9 -0
  69. package/esm/src/cli/cli-commands/common/harness/$checkHarnessInstallation.d.ts +10 -0
  70. package/esm/src/cli/cli-commands/common/harness/$ensureHarnessInstallations.d.ts +13 -0
  71. package/esm/src/cli/cli-commands/common/harness/$installHarness.d.ts +13 -0
  72. package/esm/src/cli/cli-commands/common/harness/$resolveInstalledHarnessVersion.d.ts +10 -0
  73. package/esm/src/cli/cli-commands/common/harness/$resolveLatestHarnessVersion.d.ts +10 -0
  74. package/esm/src/cli/cli-commands/common/harness/HarnessDefinition.d.ts +40 -0
  75. package/esm/src/cli/cli-commands/common/harness/HarnessDefinition.test.d.ts +1 -0
  76. package/esm/src/cli/cli-commands/common/harness/HarnessInstallationStatus.d.ts +35 -0
  77. package/esm/src/cli/cli-commands/common/harness/buildHarnessInstallCommand.d.ts +10 -0
  78. package/esm/src/cli/cli-commands/common/harness/extractHarnessVersionFromOutput.d.ts +11 -0
  79. package/esm/src/cli/cli-commands/common/harness/extractHarnessVersionFromOutput.test.d.ts +1 -0
  80. package/esm/src/cli/cli-commands/common/harness/formatHarnessInstallationWarning.d.ts +7 -0
  81. package/esm/src/cli/cli-commands/common/harness/isHarnessVersionOutdated.d.ts +9 -0
  82. package/esm/src/cli/cli-commands/common/harness/isHarnessVersionOutdated.test.d.ts +1 -0
  83. package/esm/src/collection/agent-collection/constructors/agent-collection-in-supabase/buildAgentNameOrPermanentIdFilter.d.ts +18 -0
  84. package/esm/src/collection/agent-collection/constructors/agent-collection-in-supabase/buildAgentNameOrPermanentIdFilter.test.d.ts +1 -0
  85. package/esm/src/commitments/META/META.d.ts +2 -0
  86. package/esm/src/commitments/META_THINKING_MESSAGE/META_THINKING_MESSAGE.d.ts +26 -0
  87. package/esm/src/commitments/index.d.ts +2 -1
  88. package/esm/src/execution/utils/formatUsagePrice.d.ts +12 -0
  89. package/esm/src/execution/utils/formatUsagePrice.test.d.ts +1 -0
  90. package/esm/src/utils/agent-message-runtime/agentMessageRuntimePaths.d.ts +24 -0
  91. package/esm/src/utils/agent-message-runtime/resolveAgentMessageRuntimeActivity.d.ts +16 -0
  92. package/esm/src/utils/agent-message-runtime/resolveAgentMessageRuntimeActivity.test.d.ts +1 -0
  93. package/esm/src/utils/agents/terminalAgentAvatarVisual.d.ts +104 -0
  94. package/esm/src/utils/agents/terminalAgentAvatarVisual.test.d.ts +1 -0
  95. package/esm/src/utils/html/escapeHtml.d.ts +9 -0
  96. package/esm/src/utils/markdown/shiftMarkdownHeadingLevels.d.ts +15 -0
  97. package/esm/src/version.d.ts +1 -1
  98. package/package.json +1 -1
  99. package/umd/index.umd.js +1864 -426
  100. package/umd/index.umd.js.map +1 -1
  101. package/umd/src/_packages/components.index.d.ts +8 -0
  102. package/umd/src/_packages/core.index.d.ts +4 -0
  103. package/umd/src/_packages/types.index.d.ts +12 -0
  104. package/umd/src/book-2.0/agent-source/AgentBasicInformation.d.ts +7 -0
  105. package/umd/src/book-2.0/agent-source/parseAgentSource/ParsedAgentProfile.d.ts +1 -1
  106. package/umd/src/book-2.0/book-language-documentation/BookLanguageDocumentationExample.d.ts +5 -13
  107. package/umd/src/book-2.0/book-language-documentation/BookLanguageManualDictionary.d.ts +195 -0
  108. package/umd/src/book-2.0/book-language-documentation/bookLanguageDocumentationExamples.d.ts +2 -1
  109. package/umd/src/book-2.0/book-language-documentation/createStandaloneBookLanguageMarkdown.d.ts +43 -1
  110. package/umd/src/book-2.0/book-language-documentation/createStandaloneBookLanguageMarkdown.test.d.ts +1 -0
  111. package/umd/src/book-2.0/book-language-documentation/czechBookLanguageManualDictionary.d.ts +10 -0
  112. package/umd/src/book-2.0/book-language-documentation/englishBookLanguageManualDictionary.d.ts +10 -0
  113. package/umd/src/book-2.0/book-language-documentation/getBookLanguageManualCommitmentGroups.d.ts +33 -0
  114. package/umd/src/book-2.0/book-language-documentation/getBookLanguageManualDictionary.d.ts +15 -0
  115. package/umd/src/book-2.0/book-language-documentation/getSafeCodeBlock.d.ts +10 -0
  116. package/umd/src/book-2.0/book-language-documentation/renderCommitmentCatalogSection.d.ts +30 -0
  117. package/umd/src/book-2.0/book-language-documentation/renderGroupedCommitmentDocumentationMarkdown.d.ts +2 -1
  118. package/umd/src/book-2.0/book-language-documentation/toStableAnchorId.d.ts +12 -0
  119. package/umd/src/book-3.0/AgentMessageRunReport.d.ts +78 -0
  120. package/umd/src/book-3.0/AgentMessageRunReport.test.d.ts +1 -0
  121. package/umd/src/book-3.0/agentFolderPaths.d.ts +9 -0
  122. package/umd/src/book-3.0/codexLoginMethod.d.ts +38 -0
  123. package/umd/src/book-components/BookEditor/BookEditorSyntaxTokenStyles.d.ts +39 -0
  124. package/umd/src/book-components/BookEditor/createBookSourceHighlightStyles.d.ts +12 -0
  125. package/umd/src/book-components/BookEditor/highlightBookSourceToHtml.d.ts +20 -0
  126. package/umd/src/book-components/Chat/Chat/ChatCitationModal.d.ts +5 -0
  127. package/umd/src/book-components/Chat/Chat/ChatCitationModal.test.d.ts +2 -0
  128. package/umd/src/book-components/Chat/Chat/ChatFeedbackStar.d.ts +37 -0
  129. package/umd/src/book-components/Chat/Chat/ChatMessageItem.d.ts +4 -0
  130. package/umd/src/book-components/Chat/Chat/ChatMessageList.d.ts +4 -0
  131. package/umd/src/book-components/Chat/Chat/ChatMessageRichContent.d.ts +5 -0
  132. package/umd/src/book-components/Chat/Chat/ChatProps.d.ts +13 -0
  133. package/umd/src/book-components/Chat/Chat/ChatRatingModal.test.d.ts +2 -0
  134. package/umd/src/book-components/Chat/Chat/CitationIframePreview.d.ts +25 -2
  135. package/umd/src/book-components/Chat/Chat/pagePreview/LiveBrowserPreview.d.ts +39 -0
  136. package/umd/src/book-components/Chat/Chat/pagePreview/LiveBrowserPreview.test.d.ts +2 -0
  137. package/umd/src/book-components/Chat/Chat/pagePreview/LiveBrowserPreviewToolbar.d.ts +71 -0
  138. package/umd/src/book-components/Chat/Chat/pagePreview/PagePreviewInputEvent.d.ts +72 -0
  139. package/umd/src/book-components/Chat/Chat/pagePreview/PagePreviewInputQueue.d.ts +64 -0
  140. package/umd/src/book-components/Chat/Chat/pagePreview/PagePreviewInputQueue.test.d.ts +1 -0
  141. package/umd/src/book-components/Chat/Chat/pagePreview/PagePreviewSessionState.d.ts +14 -0
  142. package/umd/src/book-components/Chat/Chat/pagePreview/PagePreviewViewport.d.ts +37 -0
  143. package/umd/src/book-components/Chat/Chat/pagePreview/createPagePreviewSessionId.d.ts +20 -0
  144. package/umd/src/book-components/Chat/Chat/pagePreview/normalizePagePreviewInputEvent.d.ts +13 -0
  145. package/umd/src/book-components/Chat/Chat/pagePreview/normalizePagePreviewInputEvent.test.d.ts +1 -0
  146. package/umd/src/book-components/Chat/Chat/resolveChatRatingMessageKey.d.ts +8 -0
  147. package/umd/src/book-components/Chat/MarkdownContent/MarkdownContent.d.ts +2 -0
  148. package/umd/src/book-components/Chat/SourceChip/SourceChip.test.d.ts +2 -0
  149. package/umd/src/book-components/Chat/hooks/useResolvedCitationLabel.test.d.ts +2 -0
  150. package/umd/src/book-components/Chat/utils/renderMarkdown.d.ts +78 -0
  151. package/umd/src/book-components/Chat/utils/resolveCitationSourceDisplay.d.ts +149 -0
  152. package/umd/src/book-components/Chat/utils/thinkingMessageVariants.d.ts +9 -0
  153. package/umd/src/cli/cli-commands/agent-folder/agentProjectPaths.d.ts +2 -2
  154. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerChildEnvironment.d.ts +1 -0
  155. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/AgentsServerChildEnvironment.test.d.ts +1 -0
  156. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/PreparedAgentsServerLaunch.d.ts +1 -1
  157. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/forwardChildOutput.d.ts +1 -1
  158. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/startNextServer.d.ts +1 -1
  159. package/umd/src/cli/cli-commands/agents-server/startAgentsServer/startUserChatJobWorkerPump.d.ts +1 -1
  160. package/umd/src/cli/cli-commands/agents-server/startAgentsServer.d.ts +1 -1
  161. package/umd/src/cli/cli-commands/coder/add.d.ts +36 -0
  162. package/umd/src/cli/cli-commands/coder/add.test.d.ts +1 -0
  163. package/umd/src/cli/cli-commands/coder/boilerplateTemplates.d.ts +24 -0
  164. package/umd/src/cli/cli-commands/coder.d.ts +1 -0
  165. package/umd/src/cli/cli-commands/common/createNonNegativeIntegerOptionParser.d.ts +10 -0
  166. package/umd/src/cli/cli-commands/common/harness/$applyHarnessInstallationStatus.d.ts +9 -0
  167. package/umd/src/cli/cli-commands/common/harness/$askForHarnessInstallationApproval.d.ts +9 -0
  168. package/umd/src/cli/cli-commands/common/harness/$checkHarnessInstallation.d.ts +10 -0
  169. package/umd/src/cli/cli-commands/common/harness/$ensureHarnessInstallations.d.ts +13 -0
  170. package/umd/src/cli/cli-commands/common/harness/$installHarness.d.ts +13 -0
  171. package/umd/src/cli/cli-commands/common/harness/$resolveInstalledHarnessVersion.d.ts +10 -0
  172. package/umd/src/cli/cli-commands/common/harness/$resolveLatestHarnessVersion.d.ts +10 -0
  173. package/umd/src/cli/cli-commands/common/harness/HarnessDefinition.d.ts +40 -0
  174. package/umd/src/cli/cli-commands/common/harness/HarnessDefinition.test.d.ts +1 -0
  175. package/umd/src/cli/cli-commands/common/harness/HarnessInstallationStatus.d.ts +35 -0
  176. package/umd/src/cli/cli-commands/common/harness/buildHarnessInstallCommand.d.ts +10 -0
  177. package/umd/src/cli/cli-commands/common/harness/extractHarnessVersionFromOutput.d.ts +11 -0
  178. package/umd/src/cli/cli-commands/common/harness/extractHarnessVersionFromOutput.test.d.ts +1 -0
  179. package/umd/src/cli/cli-commands/common/harness/formatHarnessInstallationWarning.d.ts +7 -0
  180. package/umd/src/cli/cli-commands/common/harness/isHarnessVersionOutdated.d.ts +9 -0
  181. package/umd/src/cli/cli-commands/common/harness/isHarnessVersionOutdated.test.d.ts +1 -0
  182. package/umd/src/collection/agent-collection/constructors/agent-collection-in-supabase/buildAgentNameOrPermanentIdFilter.d.ts +18 -0
  183. package/umd/src/collection/agent-collection/constructors/agent-collection-in-supabase/buildAgentNameOrPermanentIdFilter.test.d.ts +1 -0
  184. package/umd/src/commitments/META/META.d.ts +2 -0
  185. package/umd/src/commitments/META_THINKING_MESSAGE/META_THINKING_MESSAGE.d.ts +26 -0
  186. package/umd/src/commitments/index.d.ts +2 -1
  187. package/umd/src/execution/utils/formatUsagePrice.d.ts +12 -0
  188. package/umd/src/execution/utils/formatUsagePrice.test.d.ts +1 -0
  189. package/umd/src/utils/agent-message-runtime/agentMessageRuntimePaths.d.ts +24 -0
  190. package/umd/src/utils/agent-message-runtime/resolveAgentMessageRuntimeActivity.d.ts +16 -0
  191. package/umd/src/utils/agent-message-runtime/resolveAgentMessageRuntimeActivity.test.d.ts +1 -0
  192. package/umd/src/utils/agents/terminalAgentAvatarVisual.d.ts +104 -0
  193. package/umd/src/utils/agents/terminalAgentAvatarVisual.test.d.ts +1 -0
  194. package/umd/src/utils/html/escapeHtml.d.ts +9 -0
  195. package/umd/src/utils/markdown/shiftMarkdownHeadingLevels.d.ts +15 -0
  196. package/umd/src/version.d.ts +1 -1
  197. package/esm/src/book-2.0/book-language-documentation/bookLanguageCommonPitfalls.d.ts +0 -25
  198. package/esm/src/book-components/_common/react-utils/escapeHtml.d.ts +0 -6
  199. package/umd/src/book-2.0/book-language-documentation/bookLanguageCommonPitfalls.d.ts +0 -25
  200. package/umd/src/book-components/_common/react-utils/escapeHtml.d.ts +0 -6
  201. /package/esm/src/{executables/browsers/locateInternetExplorer.test.d.ts → book-2.0/book-language-documentation/createStandaloneBookLanguageMarkdown.test.d.ts} +0 -0
  202. /package/{umd/src/executables/browsers/locateInternetExplorer.test.d.ts → esm/src/book-3.0/AgentMessageRunReport.test.d.ts} +0 -0
package/esm/index.es.js CHANGED
@@ -1,6 +1,6 @@
1
1
  import { jsxs, jsx, Fragment } from 'react/jsx-runtime';
2
2
  import { spaceTrim as spaceTrim$1 } from 'spacetrim';
3
- import { useMemo, useState, createContext, useContext, useEffect, useRef, useCallback, useId, memo, forwardRef } from 'react';
3
+ import { useMemo, useState, createContext, useContext, useEffect, useRef, useCallback, useId, memo, useLayoutEffect, forwardRef } from 'react';
4
4
  import CryptoJS from 'crypto-js';
5
5
  import hexEncoder from 'crypto-js/enc-hex';
6
6
  import { basename, join, dirname, isAbsolute } from 'path';
@@ -16,7 +16,7 @@ import showdown from 'showdown';
16
16
  import { toCanvas } from 'html-to-image';
17
17
  import { jsPDF } from 'jspdf';
18
18
  import { createRoot } from 'react-dom/client';
19
- import { Maximize2, X, Reply, Pause, Play, Volume2Icon, VolumeXIcon, VibrateIcon, VibrateOffIcon } from 'lucide-react';
19
+ import { Archive, Music, FileCode, FileText, File as File$1, ImageIcon, FileJson, Presentation, FileSpreadsheet, Table, Video, Globe2, Maximize2, X, Star, Reply, Pause, Play, Volume2Icon, VolumeXIcon, VibrateIcon, VibrateOffIcon } from 'lucide-react';
20
20
  import 'moment/locale/cs';
21
21
  import { forTime } from 'waitasecond';
22
22
  import sha256 from 'crypto-js/sha256';
@@ -41,7 +41,7 @@ const BOOK_LANGUAGE_VERSION = '2.0.0';
41
41
  * @generated
42
42
  * @see https://github.com/webgptorg/promptbook
43
43
  */
44
- const PROMPTBOOK_ENGINE_VERSION = '0.113.0-9';
44
+ const PROMPTBOOK_ENGINE_VERSION = '0.114.0-1';
45
45
  /**
46
46
  * TODO: string_promptbook_version should be constrained to the all versions of Promptbook engine
47
47
  * Note: [💞] Ignore a discrepancy between file name and entity name
@@ -11913,6 +11913,7 @@ class MessageSuffixCommitmentDefinition extends BaseCommitmentDefinition {
11913
11913
  * - META TITLE: Sets the agent's display title
11914
11914
  * - META DESCRIPTION: Sets the agent's description
11915
11915
  * - META INPUT PLACEHOLDER: Sets chat input placeholder text
11916
+ * - META THINKING MESSAGE: Adds custom thinking placeholder variants
11916
11917
  * - META [ANYTHING]: Any other meta information in uppercase format
11917
11918
  *
11918
11919
  * These commitments are special because they don't affect the system message,
@@ -11928,6 +11929,7 @@ class MessageSuffixCommitmentDefinition extends BaseCommitmentDefinition {
11928
11929
  * META TITLE Professional Assistant
11929
11930
  * META DESCRIPTION An AI assistant specialized in business tasks
11930
11931
  * META INPUT PLACEHOLDER Write a message...
11932
+ * META THINKING MESSAGE Thinking...
11931
11933
  * META AUTHOR John Doe
11932
11934
  * META VERSION 1.0
11933
11935
  * ```
@@ -11968,6 +11970,7 @@ class MetaCommitmentDefinition extends BaseCommitmentDefinition {
11968
11970
  - **META TITLE** - Sets the agent's display title
11969
11971
  - **META DESCRIPTION** - Sets the agent's description
11970
11972
  - **META INPUT PLACEHOLDER** - Sets chat input placeholder text
11973
+ - **META THINKING MESSAGE** - Adds custom thinking placeholder variants
11971
11974
  - **META [ANYTHING]** - Any other meta information in uppercase format
11972
11975
 
11973
11976
  ## Key aspects
@@ -11976,6 +11979,7 @@ class MetaCommitmentDefinition extends BaseCommitmentDefinition {
11976
11979
  - Used for visual representation and attribution in user interfaces
11977
11980
  - Multiple META commitments of different types can be used
11978
11981
  - Multiple META LINK commitments can be used for different social profiles
11982
+ - Multiple META THINKING MESSAGE commitments can be used for different thinking placeholder variants
11979
11983
  - If multiple META commitments of the same type are specified, the last one takes precedence (except for LINK)
11980
11984
 
11981
11985
  ## Examples
@@ -12688,6 +12692,68 @@ class MetaLinkCommitmentDefinition extends BaseCommitmentDefinition {
12688
12692
  }
12689
12693
  // Note: [💞] Ignore a discrepancy between file name and entity name
12690
12694
 
12695
+ /**
12696
+ * META THINKING MESSAGE commitment definition.
12697
+ *
12698
+ * The `META THINKING MESSAGE` commitment adds one custom thinking placeholder
12699
+ * variant used by chat UIs while an agent is composing a reply.
12700
+ *
12701
+ * @private Metadata-only commitment used by Agents Server chat UIs.
12702
+ */
12703
+ class MetaThinkingMessageCommitmentDefinition extends BaseCommitmentDefinition {
12704
+ constructor() {
12705
+ super('META THINKING MESSAGE');
12706
+ }
12707
+ /**
12708
+ * Short one-line description of META THINKING MESSAGE.
12709
+ */
12710
+ get description() {
12711
+ return 'Add a custom thinking placeholder shown while the agent replies.';
12712
+ }
12713
+ /**
12714
+ * Icon for this commitment.
12715
+ */
12716
+ get icon() {
12717
+ return '💭';
12718
+ }
12719
+ /**
12720
+ * Markdown documentation for META THINKING MESSAGE commitment.
12721
+ */
12722
+ get documentation() {
12723
+ return spaceTrim$1(`
12724
+ # META THINKING MESSAGE
12725
+
12726
+ Adds one custom placeholder variant shown while the agent is composing a reply.
12727
+
12728
+ ## Key aspects
12729
+
12730
+ - Does not modify model behavior, system message, or tools.
12731
+ - Multiple \`META THINKING MESSAGE\` commitments define multiple variants.
12732
+ - Chat UIs randomly rotate between the configured variants while the reply is running.
12733
+ - When no non-empty variants are configured, the server-level \`THINKING_MESSAGES\` metadata is used.
12734
+ - Supports multiline markdown content.
12735
+
12736
+ ## Example
12737
+
12738
+ \`\`\`book
12739
+ Helpful Assistant
12740
+
12741
+ META THINKING MESSAGE Thinking...
12742
+ META THINKING MESSAGE Processing...
12743
+ META THINKING MESSAGE
12744
+
12745
+ Doing
12746
+ extra **hard** work
12747
+ \`\`\`
12748
+ `);
12749
+ }
12750
+ applyToAgentModelRequirements(requirements, content) {
12751
+ // META THINKING MESSAGE is metadata only and does not alter model requirements.
12752
+ return requirements;
12753
+ }
12754
+ }
12755
+ // Note: [💞] Ignore a discrepancy between file name and entity name
12756
+
12691
12757
  /**
12692
12758
  * META VISIBILITY commitment definition.
12693
12759
  *
@@ -15003,6 +15069,7 @@ class UseBrowserCommitmentDefinition extends BaseCommitmentDefinition {
15003
15069
  1. **One-shot URL fetching**: Simple function to fetch and scrape URL content (active)
15004
15070
  2. **Running browser**: For complex tasks like scrolling, clicking, form filling, etc. (runtime-dependent)
15005
15071
  - The actual browser tool usage is handled by the agent runtime
15072
+ - On the Agents Server, every agent browses in its own persistent isolated browser profile, so cookies and logged-in sessions survive across chats (the profile is linked from the agent wallet)
15006
15073
  - Allows the agent to fetch current information from websites and documents
15007
15074
  - Useful for research tasks, fact-checking, and accessing dynamic content
15008
15075
  - Supports various content types including HTML pages and PDF documents
@@ -21641,6 +21708,7 @@ const COMMITMENT_REGISTRY = [
21641
21708
  new MetaDomainCommitmentDefinition(),
21642
21709
  new MetaDisclaimerCommitmentDefinition(),
21643
21710
  new MetaInputPlaceholderCommitmentDefinition(),
21711
+ new MetaThinkingMessageCommitmentDefinition(),
21644
21712
  new MetaVisibilityCommitmentDefinition(),
21645
21713
  new MetaCommitmentDefinition(),
21646
21714
  new MetaVoiceCommitmentDefinition(),
@@ -22090,6 +22158,7 @@ const META_COMMITMENT_APPLIERS = {
22090
22158
  'META DESCRIPTION': applyMetaDescriptionContent,
22091
22159
  'META DISCLAIMER': applyMetaDisclaimerContent,
22092
22160
  'META INPUT PLACEHOLDER': applyMetaInputPlaceholderContent,
22161
+ 'META THINKING MESSAGE': applyMetaThinkingMessageContent,
22093
22162
  'MESSAGE SUFFIX': applyMessageSuffixContent,
22094
22163
  'META COLOR': applyMetaColorContent,
22095
22164
  'META FONT': applyMetaFontContent,
@@ -22180,6 +22249,16 @@ function applyMetaDisclaimerContent(state, content) {
22180
22249
  function applyMetaInputPlaceholderContent(state, content) {
22181
22250
  state.meta.inputPlaceholder = spaceTrim$1(content);
22182
22251
  }
22252
+ /**
22253
+ * Applies one META THINKING MESSAGE content block into the custom thinking-message variants.
22254
+ */
22255
+ function applyMetaThinkingMessageContent(state, content) {
22256
+ const thinkingMessage = spaceTrim$1(content);
22257
+ if (!thinkingMessage) {
22258
+ return;
22259
+ }
22260
+ state.thinkingMessages = [...(state.thinkingMessages || []), thinkingMessage];
22261
+ }
22183
22262
  /**
22184
22263
  * Applies MESSAGE SUFFIX content into the canonical `meta.messageSuffix` field.
22185
22264
  */
@@ -22548,6 +22627,7 @@ function extractParsedAgentProfile(commitments) {
22548
22627
  capabilities: [],
22549
22628
  samples: [],
22550
22629
  knowledgeSources: [],
22630
+ thinkingMessages: [],
22551
22631
  pendingUserMessage: null,
22552
22632
  knownKnowledgeSourceUrls: new Set(),
22553
22633
  };
@@ -22560,6 +22640,7 @@ function extractParsedAgentProfile(commitments) {
22560
22640
  capabilities: state.capabilities,
22561
22641
  samples: state.samples,
22562
22642
  knowledgeSources: state.knowledgeSources,
22643
+ thinkingMessages: state.thinkingMessages,
22563
22644
  };
22564
22645
  }
22565
22646
  /**
@@ -22599,6 +22680,7 @@ function parseAgentSource(agentSource) {
22599
22680
  permanentId: parsedProfile.meta.id,
22600
22681
  personaDescription,
22601
22682
  initialMessage,
22683
+ thinkingMessages: parsedProfile.thinkingMessages,
22602
22684
  meta: parsedProfile.meta,
22603
22685
  links: parsedProfile.links,
22604
22686
  parameters: parseParameters(agentSource),
@@ -23767,6 +23849,52 @@ function useBookEditorMonacoInteractions({ editor, handleFiles, }) {
23767
23849
  };
23768
23850
  }
23769
23851
 
23852
+ /**
23853
+ * Single source of truth for how Book source is colored.
23854
+ *
23855
+ * The Monaco theme of `<BookEditor/>` and every static rendering of Book source
23856
+ * (for example the Book language manual PDF) are derived from these styles, so
23857
+ * a book always looks the same no matter where it is displayed.
23858
+ *
23859
+ * @private internal constant of `BookEditor`
23860
+ */
23861
+ const BOOK_EDITOR_SYNTAX_TOKEN_STYLES = [
23862
+ {
23863
+ token: 'title',
23864
+ foreground: PROMPTBOOK_SYNTAX_COLORS.TITLE.toHex(),
23865
+ fontStyle: 'bold underline',
23866
+ },
23867
+ {
23868
+ token: 'commitment',
23869
+ foreground: PROMPTBOOK_SYNTAX_COLORS.COMMITMENT.toHex(),
23870
+ fontStyle: 'bold',
23871
+ },
23872
+ {
23873
+ token: 'note-commitment',
23874
+ foreground: PROMPTBOOK_SYNTAX_COLORS.NOTE_COMMITMENT.toHex(),
23875
+ },
23876
+ {
23877
+ token: 'todo-commitment',
23878
+ foreground: PROMPTBOOK_SYNTAX_COLORS.TODO_COMMITMENT_TEXT.toHex(),
23879
+ background: PROMPTBOOK_SYNTAX_COLORS.TODO_COMMITMENT_BACKGROUND.toHex(),
23880
+ fontStyle: 'bold',
23881
+ },
23882
+ {
23883
+ token: 'parameter',
23884
+ foreground: PROMPTBOOK_SYNTAX_COLORS.PARAMETER.toHex(),
23885
+ fontStyle: 'italic',
23886
+ },
23887
+ {
23888
+ token: 'agent-reference',
23889
+ foreground: PROMPTBOOK_SYNTAX_COLORS.COMMITMENT.toHex(),
23890
+ fontStyle: 'underline',
23891
+ },
23892
+ {
23893
+ token: 'code-block',
23894
+ foreground: PROMPTBOOK_SYNTAX_COLORS.CODE_BLOCK.toHex(),
23895
+ },
23896
+ ];
23897
+
23770
23898
  /**
23771
23899
  * Regex source for absolute URL references inside TEAM/FROM/IMPORT commitments.
23772
23900
  *
@@ -24091,42 +24219,7 @@ const CODE_BLOCK_FENCE_REGEX = /^\s*```.*$/;
24091
24219
  *
24092
24220
  * @private function of BookEditorMonaco
24093
24221
  */
24094
- const BOOK_EDITOR_THEME_RULES = [
24095
- {
24096
- token: 'title',
24097
- foreground: PROMPTBOOK_SYNTAX_COLORS.TITLE.toHex(),
24098
- fontStyle: 'bold underline',
24099
- },
24100
- {
24101
- token: 'commitment',
24102
- foreground: PROMPTBOOK_SYNTAX_COLORS.COMMITMENT.toHex(),
24103
- fontStyle: 'bold',
24104
- },
24105
- {
24106
- token: 'note-commitment',
24107
- foreground: PROMPTBOOK_SYNTAX_COLORS.NOTE_COMMITMENT.toHex(),
24108
- },
24109
- {
24110
- token: 'todo-commitment',
24111
- foreground: PROMPTBOOK_SYNTAX_COLORS.TODO_COMMITMENT_TEXT.toHex(),
24112
- background: PROMPTBOOK_SYNTAX_COLORS.TODO_COMMITMENT_BACKGROUND.toHex(),
24113
- fontStyle: 'bold',
24114
- },
24115
- {
24116
- token: 'parameter',
24117
- foreground: PROMPTBOOK_SYNTAX_COLORS.PARAMETER.toHex(),
24118
- fontStyle: 'italic',
24119
- },
24120
- {
24121
- token: 'agent-reference',
24122
- foreground: PROMPTBOOK_SYNTAX_COLORS.COMMITMENT.toHex(),
24123
- fontStyle: 'underline',
24124
- },
24125
- {
24126
- token: 'code-block',
24127
- foreground: PROMPTBOOK_SYNTAX_COLORS.CODE_BLOCK.toHex(),
24128
- },
24129
- ];
24222
+ const BOOK_EDITOR_THEME_RULES = BOOK_EDITOR_SYNTAX_TOKEN_STYLES;
24130
24223
  /**
24131
24224
  * Re-defines the shared Book Monaco theme according to the requested light/dark mode.
24132
24225
  *
@@ -26095,6 +26188,15 @@ function areMessageKeyListsMatchingExceptLast(previousMessageKeys, nextMessageKe
26095
26188
  return previousMessageKeys.slice(0, -1).every((messageKey, index) => messageKey === nextMessageKeys[index]);
26096
26189
  }
26097
26190
 
26191
+ /**
26192
+ * Resolves the stable key used for local chat feedback state.
26193
+ *
26194
+ * @private utility of `<Chat/>`
26195
+ */
26196
+ function resolveChatRatingMessageKey(message) {
26197
+ return message.id || message.content /* <- TODO: [??][??] Is `message.content` good replacement for the ID */;
26198
+ }
26199
+
26098
26200
  /**
26099
26201
  * Constant for default feedback success message.
26100
26202
  */
@@ -26111,14 +26213,6 @@ const DEFAULT_FEEDBACK_ERROR_MESSAGE = 'Failed to save feedback. Please try agai
26111
26213
  * Constant for feedback status timeout.
26112
26214
  */
26113
26215
  const FEEDBACK_STATUS_TIMEOUT_IN_MILLISECONDS = 3000;
26114
- /**
26115
- * Resolves the key used to keep one message rating in the local map.
26116
- *
26117
- * @private function of `useChatRatings`
26118
- */
26119
- function resolveChatRatingMessageKey$1(message) {
26120
- return message.id || message.content /* <- TODO: [??][??] Is `message.content` good replacement for the ID */;
26121
- }
26122
26216
  /**
26123
26217
  * Normalizes the stored rating for the current feedback mode.
26124
26218
  *
@@ -26134,7 +26228,7 @@ function normalizeChatRatingValue(feedbackMode, rating) {
26134
26228
  */
26135
26229
  function createUpdatedMessageRatings(previousRatings, message, rating) {
26136
26230
  const nextRatings = new Map(previousRatings);
26137
- nextRatings.set(resolveChatRatingMessageKey$1(message), rating);
26231
+ nextRatings.set(resolveChatRatingMessageKey(message), rating);
26138
26232
  return nextRatings;
26139
26233
  }
26140
26234
  /**
@@ -26156,7 +26250,7 @@ function clearFeedbackStatusTimeout(feedbackStatusTimeoutRef) {
26156
26250
  */
26157
26251
  function resolveSelectedMessageRating(params) {
26158
26252
  const { feedbackMode, selectedMessage, messageRatings } = params;
26159
- const storedRating = messageRatings.get(resolveChatRatingMessageKey$1(selectedMessage));
26253
+ const storedRating = messageRatings.get(resolveChatRatingMessageKey(selectedMessage));
26160
26254
  if (feedbackMode === 'report_issue') {
26161
26255
  return storedRating || 1;
26162
26256
  }
@@ -26465,8 +26559,8 @@ function useChatRatings(options) {
26465
26559
  };
26466
26560
  }
26467
26561
 
26468
- var css_248z$7 = "@font-face{font-display:swap;font-family:OpenMojiBlack;src:url(/fonts/OpenMoji-black-glyf.woff2) format(\"woff2\"),url(https://s6.ptbk.io/fonts/OpenMoji-black-glyf.woff2) format(\"woff2\");unicode-range:u+23,u+2a,u+2d,u+30-39,u+a9,u+ae,u+200d,u+203c,u+2049,u+20e3,u+2117,u+2120,u+2122,u+2139,u+2194-2199,u+21a9,u+21aa,u+229c,u+231a,u+231b,u+2328,u+23cf,u+23e9-23f3,u+23f8-23fe,u+24c2,u+25a1,u+25aa-25ae,u+25b6,u+25c0,u+25c9,u+25d0,u+25d1,u+25e7-25ea,u+25ed,u+25ee,u+25fb-25fe,u+2600-2605,u+260e,u+2611,u+2614,u+2615,u+2618,u+261d,u+2620,u+2622,u+2623,u+2626,u+262a,u+262e,u+262f,u+2638-263a,u+2640,u+2642,u+2648-2653,u+265f,u+2660,u+2663,u+2665,u+2666,u+2668,u+267b,u+267e,u+267f,u+2691-2697,u+2699,u+269b,u+269c,u+26a0,u+26a1,u+26a7,u+26aa,u+26ab,u+26b0,u+26b1,u+26bd,u+26be,u+26c4,u+26c5,u+26c8,u+26ce,u+26cf,u+26d1,u+26d3,u+26d4,u+26e9,u+26ea,u+26f0-26f5,u+26f7-26fa,u+26fd,u+2702,u+2705,u+2708-270d,u+270f,u+2712,u+2714,u+2716,u+271d,u+2721,u+2728,u+2733,u+2734,u+2744,u+2747,u+274c,u+274e,u+2753-2755,u+2757,u+2763,u+2764,u+2795-2797,u+27a1,u+27b0,u+27bf,u+2934,u+2935,u+2b05-2b07,u+2b0c,u+2b0d,u+2b1b,u+2b1c,u+2b1f-2b24,u+2b2e,u+2b2f,u+2b50,u+2b55,u+2b58,u+2b8f,u+2bba-2bbc,u+2bc3,u+2bc4,u+2bea,u+2beb,u+3030,u+303d,u+3297,u+3299,u+e000-e009,u+e010,u+e011,u+e040-e06d,u+e080-e0b4,u+e0c0-e0cc,u+e0ff-e10d,u+e140-e14a,u+e150-e157,u+e181-e189,u+e1c0-e1c4,u+e1c6-e1d9,u+e200-e216,u+e240-e269,u+e280-e283,u+e2c0-e2c4,u+e2c6-e2da,u+e300-e303,u+e305-e30f,u+e312-e316,u+e318-e322,u+e324-e329,u+e32b,u+e340-e348,u+e380,u+e381,u+f000,u+f77a,u+f8ff,u+fe0f,u+1f004,u+1f0cf,u+1f10d-1f10f,u+1f12f,u+1f16d-1f171,u+1f17e,u+1f17f,u+1f18e,u+1f191-1f19a,u+1f1e6-1f1ff,u+1f201,u+1f202,u+1f21a,u+1f22f,u+1f232-1f23a,u+1f250,u+1f251,u+1f260-1f265,u+1f300-1f321,u+1f324-1f393,u+1f396,u+1f397,u+1f399-1f39b,u+1f39e-1f3f0,u+1f3f3-1f3f5,u+1f3f7-1f4fd,u+1f4ff-1f53d,u+1f549-1f54e,u+1f550-1f567,u+1f56f,u+1f570,u+1f573-1f57a,u+1f587,u+1f58a-1f58d,u+1f590,u+1f595,u+1f596,u+1f5a4,u+1f5a5,u+1f5a8,u+1f5b1,u+1f5b2,u+1f5bc,u+1f5c2-1f5c4,u+1f5d1-1f5d3,u+1f5dc-1f5de,u+1f5e1,u+1f5e3,u+1f5e8,u+1f5ef,u+1f5f3,u+1f5fa-1f64f,u+1f680-1f6c5,u+1f6cb-1f6d2,u+1f6d5-1f6d7,u+1f6dc-1f6e5,u+1f6e9,u+1f6eb,u+1f6ec,u+1f6f0,u+1f6f3-1f6fc,u+1f7e0-1f7eb,u+1f7f0,u+1f90c-1f93a,u+1f93c-1f945,u+1f947-1f9ff,u+1fa70-1fa7c,u+1fa80-1fa88,u+1fa90-1fabd,u+1fabf-1fac5,u+1face-1fadb,u+1fae0-1fae8,u+1faf0-1faf8,u+1fbc5-1fbc9,u+e0061-e0067,u+e0069,u+e006c-e0079,u+e007f}@font-face{font-display:swap;font-family:OpenMojiColor;src:url(/fonts/OpenMoji-color-cbdt.woff2) format(\"woff2\"),url(https://s6.ptbk.io/fonts/OpenMoji-color-cbdt.woff2) format(\"woff2\");unicode-range:u+23,u+2a,u+2d,u+30-39,u+a9,u+ae,u+200d,u+203c,u+2049,u+20e3,u+2117,u+2120,u+2122,u+2139,u+2194-2199,u+21a9,u+21aa,u+229c,u+231a,u+231b,u+2328,u+23cf,u+23e9-23f3,u+23f8-23fe,u+24c2,u+25a1,u+25aa-25ae,u+25b6,u+25c0,u+25c9,u+25d0,u+25d1,u+25e7-25ea,u+25ed,u+25ee,u+25fb-25fe,u+2600-2605,u+260e,u+2611,u+2614,u+2615,u+2618,u+261d,u+2620,u+2622,u+2623,u+2626,u+262a,u+262e,u+262f,u+2638-263a,u+2640,u+2642,u+2648-2653,u+265f,u+2660,u+2663,u+2665,u+2666,u+2668,u+267b,u+267e,u+267f,u+2691-2697,u+2699,u+269b,u+269c,u+26a0,u+26a1,u+26a7,u+26aa,u+26ab,u+26b0,u+26b1,u+26bd,u+26be,u+26c4,u+26c5,u+26c8,u+26ce,u+26cf,u+26d1,u+26d3,u+26d4,u+26e9,u+26ea,u+26f0-26f5,u+26f7-26fa,u+26fd,u+2702,u+2705,u+2708-270d,u+270f,u+2712,u+2714,u+2716,u+271d,u+2721,u+2728,u+2733,u+2734,u+2744,u+2747,u+274c,u+274e,u+2753-2755,u+2757,u+2763,u+2764,u+2795-2797,u+27a1,u+27b0,u+27bf,u+2934,u+2935,u+2b05-2b07,u+2b0c,u+2b0d,u+2b1b,u+2b1c,u+2b1f-2b24,u+2b2e,u+2b2f,u+2b50,u+2b55,u+2b58,u+2b8f,u+2bba-2bbc,u+2bc3,u+2bc4,u+2bea,u+2beb,u+3030,u+303d,u+3297,u+3299,u+e000-e009,u+e010,u+e011,u+e040-e06d,u+e080-e0b4,u+e0c0-e0cc,u+e0ff-e10d,u+e140-e14a,u+e150-e157,u+e181-e189,u+e1c0-e1c4,u+e1c6-e1d9,u+e200-e216,u+e240-e269,u+e280-e283,u+e2c0-e2c4,u+e2c6-e2da,u+e300-e303,u+e305-e30f,u+e312-e316,u+e318-e322,u+e324-e329,u+e32b,u+e340-e348,u+e380,u+e381,u+f000,u+f77a,u+f8ff,u+fe0f,u+1f004,u+1f0cf,u+1f10d-1f10f,u+1f12f,u+1f16d-1f171,u+1f17e,u+1f17f,u+1f18e,u+1f191-1f19a,u+1f1e6-1f1ff,u+1f201,u+1f202,u+1f21a,u+1f22f,u+1f232-1f23a,u+1f250,u+1f251,u+1f260-1f265,u+1f300-1f321,u+1f324-1f393,u+1f396,u+1f397,u+1f399-1f39b,u+1f39e-1f3f0,u+1f3f3-1f3f5,u+1f3f7-1f4fd,u+1f4ff-1f53d,u+1f549-1f54e,u+1f550-1f567,u+1f56f,u+1f570,u+1f573-1f57a,u+1f587,u+1f58a-1f58d,u+1f590,u+1f595,u+1f596,u+1f5a4,u+1f5a5,u+1f5a8,u+1f5b1,u+1f5b2,u+1f5bc,u+1f5c2-1f5c4,u+1f5d1-1f5d3,u+1f5dc-1f5de,u+1f5e1,u+1f5e3,u+1f5e8,u+1f5ef,u+1f5f3,u+1f5fa-1f64f,u+1f680-1f6c5,u+1f6cb-1f6d2,u+1f6d5-1f6d7,u+1f6dc-1f6e5,u+1f6e9,u+1f6eb,u+1f6ec,u+1f6f0,u+1f6f3-1f6fc,u+1f7e0-1f7eb,u+1f7f0,u+1f90c-1f93a,u+1f93c-1f945,u+1f947-1f9ff,u+1fa70-1fa7c,u+1fa80-1fa88,u+1fa90-1fabd,u+1fabf-1fac5,u+1face-1fadb,u+1fae0-1fae8,u+1faf0-1faf8,u+1fbc5-1fbc9,u+e0061-e0067,u+e0069,u+e006c-e0079,u+e007f}.Chat-module_copiedToClipboardMessage__apCPY{background:#222;border-radius:8px;box-shadow:0 2px 12px rgba(0,0,0,.18);color:#fff;font-size:1.1em;left:50%;opacity:.97;padding:10px 24px;pointer-events:none;position:fixed;top:32px;transform:translateX(-50%);z-index:9999}.Chat-module_Chat__j2eE5{--chat-message-min-width:170px;--chat-message-avatar-gap:14px;--chat-message-avatar-size:42px;--chat-message-max-width:min(72%,680px,calc(100% - var(--chat-message-avatar-size) - var(--chat-message-avatar-gap)));--chat-bubble-radius:24px;--chat-bubble-shadow:0 12px 34px rgba(15,23,42,.16);--chat-bubble-shadow-hover:0 18px 42px rgba(15,23,42,.2);--chat-bubble-border-color:hsla(0,0%,100%,.34);--chat-bubble-font-size:15px;--chat-bubble-line-height:1.62;--chat-input-visible-lines:3;--chat-input-font-size:15px;--chat-input-line-height:1.5;--chat-input-padding-y:10px;--chat-input-padding-x:12px;--chat-input-action-size:40px;--chat-input-textarea-height:calc(var(--chat-input-visible-lines)*var(--chat-input-font-size)*var(--chat-input-line-height) + var(--chat-input-padding-y)*2);--chat-message-meta-color:rgba(71,85,105,.85);--chat-message-lifecycle-badge-background:rgba(148,163,184,.16);--chat-message-lifecycle-badge-color:#475569;--chat-participant-label-color:rgba(71,85,105,.82);--chat-message-control-background:hsla(0,0%,100%,.28);--chat-message-control-border-color:hsla(0,0%,100%,.46);--chat-message-control-hover-background:hsla(0,0%,100%,.36);--chat-message-control-hover-border-color:hsla(0,0%,100%,.76);--chat-message-control-color:#111;--chat-message-control-shadow:0 2px 8px rgba(15,23,42,.16);--chat-message-control-hover-shadow:0 5px 14px rgba(15,23,42,.22);--chat-message-control-spinner-border-color:rgba(0,0,0,.3);--chat-message-control-spinner-accent-color:#111;--chat-article-control-background:#f8fafc;--chat-article-control-border-color:rgba(148,163,184,.65);--chat-article-control-hover-background:#fff;--chat-article-control-hover-border-color:rgba(100,116,139,.82);--chat-article-control-hover-shadow:0 2px 8px rgba(15,23,42,.12);--chat-article-rating-background:rgba(248,250,252,.9);--chat-article-rating-border-color:rgba(148,163,184,.5);--chat-article-rating-hover-background:rgba(241,245,249,.94);--chat-article-rating-hover-border-color:rgba(100,116,139,.62);--chat-article-rating-shadow:none;--chat-input-border-color:rgba(148,163,184,.14);--chat-input-backdrop:linear-gradient(180deg,rgba(248,250,252,0),rgba(248,250,252,.9) 44%,rgba(248,250,252,.96));--chat-full-page-input-backdrop:linear-gradient(180deg,hsla(0,0%,100%,.02),hsla(0,0%,100%,.86) 60%,hsla(0,0%,100%,.95));--chat-input-drag-over-backdrop:linear-gradient(180deg,rgba(56,189,248,.04),rgba(14,165,233,.13));--chat-input-container-background:linear-gradient(150deg,hsla(0,0%,100%,.98),rgba(248,250,252,.94));--chat-input-container-border-color:rgba(148,163,184,.3);--chat-input-container-shadow:0 14px 34px rgba(15,23,42,.12),inset 0 1px 0 hsla(0,0%,100%,.9);--chat-input-text-color:#0f172a;--chat-input-placeholder-color:#8b9bb1;--chat-input-action-color:#64748b;--chat-input-action-hover-background:#f1f5f9;--chat-input-action-hover-color:#0f172a;--chat-file-preview-background:hsla(0,0%,49%,.1);--chat-file-preview-border-color:hsla(0,0%,49%,.2);--chat-file-preview-hover-background:hsla(0,0%,49%,.15);--chat-file-preview-hover-border-color:hsla(0,0%,49%,.3);--chat-file-name-color:#000;--chat-file-size-color:#6b7280;--chat-dictation-panel-background:hsla(0,0%,100%,.9);--chat-dictation-panel-border-color:rgba(148,163,184,.35);--chat-dictation-panel-color:#0f172a;--chat-dictation-title-color:#475569;--chat-dictation-toggle-background:#f8fafc;--chat-dictation-toggle-color:#334155;--chat-dictation-transcript-background:rgba(239,246,255,.9);--chat-dictation-transcript-color:#0c4a6e;--chat-dictation-settings-color:#334155;--chat-dictation-fallback-color:#475569;--chat-reply-composer-background:hsla(0,0%,100%,.92);--chat-reply-composer-border-color:rgba(148,163,184,.3);--chat-reply-composer-shadow:0 10px 24px rgba(15,23,42,.08);--chat-reply-dismiss-background:rgba(148,163,184,.14);--chat-reply-dismiss-hover-background:rgba(148,163,184,.24);--chat-reply-dismiss-color:#475569;--chat-reply-dismiss-hover-color:#0f172a;--chat-speech-status-background:hsla(0,0%,100%,.95);--chat-speech-status-border-color:rgba(15,23,42,.15);--chat-speech-status-color:#0f172a;--chat-speech-status-shadow:0 12px 28px rgba(15,23,42,.18);--chat-speech-status-dot-background:#64748b;--chat-dictation-action-background:#f8fafc;--chat-dictation-action-border-color:rgba(148,163,184,.35);--chat-dictation-action-color:#0f172a;--chat-dictation-correction-label-color:#334155;--chat-dictation-correction-textarea-background:#fff;--chat-dictation-correction-textarea-color:#0f172a;--chat-dictation-correction-textarea-border-color:rgba(148,163,184,.35);display:flex;flex-direction:column;font-family:var(\n --chat-font-family,var(--font-poppins,\"Poppins\",system-ui,-apple-system,\"Segoe UI\",sans-serif)\n ),\"OpenMojiColor\",\"OpenMojiBlack\";height:100%;min-height:0;overflow:hidden;width:100%}.Chat-module_Chat__j2eE5[data-chat-theme=dark]{--chat-bubble-shadow:0 14px 34px rgba(2,6,23,.38);--chat-bubble-shadow-hover:0 18px 42px rgba(2,6,23,.48);--chat-bubble-border-color:rgba(148,163,184,.2);--chat-message-meta-color:rgba(148,163,184,.84);--chat-message-lifecycle-badge-background:rgba(148,163,184,.14);--chat-message-lifecycle-badge-color:#cbd5e1;--chat-participant-label-color:rgba(203,213,225,.76);--chat-message-control-background:rgba(15,23,42,.78);--chat-message-control-border-color:rgba(148,163,184,.4);--chat-message-control-hover-background:rgba(30,41,59,.96);--chat-message-control-hover-border-color:rgba(148,163,184,.72);--chat-message-control-color:#e2e8f0;--chat-message-control-shadow:0 10px 24px rgba(2,6,23,.34);--chat-message-control-hover-shadow:0 12px 28px rgba(2,6,23,.42);--chat-message-control-spinner-border-color:rgba(226,232,240,.3);--chat-message-control-spinner-accent-color:#e2e8f0;--chat-article-control-background:rgba(15,23,42,.86);--chat-article-control-border-color:rgba(71,85,105,.95);--chat-article-control-hover-background:rgba(30,41,59,.98);--chat-article-control-hover-border-color:rgba(148,163,184,.72);--chat-article-control-hover-shadow:0 12px 26px rgba(2,6,23,.32);--chat-article-rating-background:rgba(15,23,42,.86);--chat-article-rating-border-color:rgba(71,85,105,.95);--chat-article-rating-hover-background:rgba(30,41,59,.98);--chat-article-rating-hover-border-color:rgba(148,163,184,.72);--chat-article-rating-shadow:0 12px 26px rgba(2,6,23,.32);--chat-input-border-color:rgba(51,65,85,.78);--chat-input-backdrop:linear-gradient(180deg,rgba(2,6,23,0),rgba(2,6,23,.82) 48%,rgba(2,6,23,.96));--chat-full-page-input-backdrop:linear-gradient(180deg,rgba(2,6,23,0),rgba(2,6,23,.88) 58%,rgba(2,6,23,.98));--chat-input-drag-over-backdrop:linear-gradient(180deg,rgba(14,165,233,.08),rgba(8,47,73,.5));--chat-input-container-background:linear-gradient(150deg,rgba(15,23,42,.96),rgba(15,23,42,.9));--chat-input-container-border-color:rgba(71,85,105,.88);--chat-input-container-shadow:0 20px 44px rgba(2,6,23,.42),inset 0 1px 0 rgba(148,163,184,.1);--chat-input-text-color:#e2e8f0;--chat-input-placeholder-color:#94a3b8;--chat-input-action-color:#cbd5e1;--chat-input-action-hover-background:rgba(51,65,85,.78);--chat-input-action-hover-color:#f8fafc;--chat-file-preview-background:rgba(15,23,42,.78);--chat-file-preview-border-color:rgba(71,85,105,.72);--chat-file-preview-hover-background:rgba(30,41,59,.86);--chat-file-preview-hover-border-color:rgba(148,163,184,.42);--chat-file-name-color:#e2e8f0;--chat-file-size-color:#94a3b8;--chat-dictation-panel-background:rgba(15,23,42,.94);--chat-dictation-panel-border-color:rgba(71,85,105,.8);--chat-dictation-panel-color:#e2e8f0;--chat-dictation-title-color:#cbd5e1;--chat-dictation-toggle-background:rgba(30,41,59,.92);--chat-dictation-toggle-color:#e2e8f0;--chat-dictation-transcript-background:rgba(8,47,73,.64);--chat-dictation-transcript-color:#bae6fd;--chat-dictation-settings-color:#cbd5e1;--chat-dictation-fallback-color:#94a3b8;--chat-reply-composer-background:rgba(15,23,42,.94);--chat-reply-composer-border-color:rgba(71,85,105,.8);--chat-reply-composer-shadow:0 14px 28px rgba(2,6,23,.32);--chat-reply-dismiss-background:rgba(51,65,85,.76);--chat-reply-dismiss-hover-background:rgba(71,85,105,.9);--chat-reply-dismiss-color:#cbd5e1;--chat-reply-dismiss-hover-color:#f8fafc;--chat-speech-status-background:rgba(15,23,42,.96);--chat-speech-status-border-color:rgba(71,85,105,.8);--chat-speech-status-color:#e2e8f0;--chat-speech-status-shadow:0 16px 34px rgba(2,6,23,.42);--chat-speech-status-dot-background:#94a3b8;--chat-dictation-action-background:rgba(30,41,59,.92);--chat-dictation-action-border-color:rgba(71,85,105,.78);--chat-dictation-action-color:#e2e8f0;--chat-dictation-correction-label-color:#cbd5e1;--chat-dictation-correction-textarea-background:rgba(8,15,28,.98);--chat-dictation-correction-textarea-color:#e2e8f0;--chat-dictation-correction-textarea-border-color:rgba(71,85,105,.78);color:#e2e8f0}.Chat-module_constrainedArticleVisual__0axxM{--chat-article-layout-max-width:54rem;--chat-article-layout-padding-inline:clamp(16px,4vw,40px)}.Chat-module_chatMainFlow__--8FE{display:grid;grid-template:\"🟦\" min-content \"💬\" 1fr \"📝\" min-content/1fr;height:100%;max-width:100%;min-height:0;min-width:0;width:100%}.Chat-module_chatMainFlow__--8FE .Chat-module_chatBar__fLECN{background-color:#fff;border-bottom:1px solid rgba(15,23,36,.06);color:#0f1724;font-weight:500;grid-area:🟦;padding:16px 20px;text-align:center;width:100%}.Chat-module_TasksInProgress__fQfei{align-self:center;grid-area:🟦;height:min-content;justify-self:self-end;margin:8px 16px;width:auto}.Chat-module_actions__gTZ5T{align-items:center;align-self:self-start;display:flex;gap:8px;grid-area:💬;height:min-content;justify-self:self-end;margin:16px 20px 0;transition:opacity .2s ease;width:auto;will-change:opacity;z-index:40}.Chat-module_actions__gTZ5T.Chat-module_portal__uTOT8{margin:0}.Chat-module_actions__gTZ5T.Chat-module_left__7l5Mn{justify-self:self-start}.Chat-module_actions__gTZ5T.Chat-module_right__ABZrW{justify-self:self-end}.Chat-module_actionsFaded__qqAVQ{opacity:.3}.Chat-module_actionsScrolling__fIawW{opacity:.15;pointer-events:none}@media (max-width:900px){.Chat-module_chatButton__d9VgA{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_chatButton__d9VgA svg{height:18px!important;width:18px!important}.Chat-module_chatButtonText__RkGB-{display:none!important}.Chat-module_useTemplateButton__xcJNR{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_useTemplateButton__xcJNR svg{height:18px!important;width:18px!important}.Chat-module_useTemplateButton__xcJNR .Chat-module_chatButtonText__RkGB-{display:none!important}}@media (max-width:600px){.Chat-module_actions__gTZ5T{gap:7px;margin:14px 18px 0}}.Chat-module_chatMainFlow__--8FE .Chat-module_chatChildren__flOPK{grid-area:💬;height:100%;min-height:0;min-width:0;pointer-events:none;width:100%;z-index:300}.Chat-module_chatMainFlow__--8FE .Chat-module_chatChildren__flOPK>*{pointer-events:auto}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N{grid-area:💬;height:100%;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;padding:28px 24px 18px;scroll-behavior:smooth;width:100%;z-index:10}.Chat-module_articleModeChatMessages__ufofT{padding-left:var(--chat-article-layout-padding-inline);padding-right:var(--chat-article-layout-padding-inline)}.Chat-module_articleModeChatMessages__ufofT .Chat-module_chatMessage__nmLaZ{margin-left:auto;margin-right:auto;max-width:100%;width:min(var(--chat-article-layout-max-width),100%)}.Chat-module_articleModeChatMessages__ufofT .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7{justify-content:flex-start}.Chat-module_articleModeChatMessages__ufofT .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7 .Chat-module_messageStack__n0xNL{margin:0;max-width:100%;width:100%}.Chat-module_hasActionsAndFirstMessageIsLong__5jgoZ{padding-top:80px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N::-webkit-scrollbar{width:7px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N::-webkit-scrollbar-track{background:transparent}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N::-webkit-scrollbar-thumb{background:rgba(148,163,184,.35);border-radius:999px;transition:all .2s ease}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N::-webkit-scrollbar-thumb:hover{background:rgba(100,116,139,.55)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ{align-items:flex-end;animation:Chat-module_messageSlideIn__soTy2 .4s cubic-bezier(.25,.46,.45,.94);column-gap:var(--chat-message-avatar-gap);display:flex;flex-direction:row;margin-bottom:24px;max-width:100%;min-width:0;position:relative}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageStack__n0xNL{align-items:flex-start;display:flex;flex-direction:column;max-width:var(--chat-message-max-width);min-width:0}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV .Chat-module_messageStack__n0xNL{align-items:flex-end}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageStack__n0xNL>*{max-width:100%}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7{align-items:stretch;column-gap:0;justify-content:center;margin-bottom:28px;width:100%}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7 .Chat-module_messageStack__n0xNL{align-items:stretch;margin:0 auto;max-width:min(100%,860px);width:min(100%,860px)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm.Chat-module_articleModeAgentAvatar__UCKDX{display:none}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_messageWithMap__X5dr0{align-items:stretch}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_messageWithMap__X5dr0 .Chat-module_messageStack__n0xNL{align-items:stretch;max-width:min(90vw,920px,calc(100% - var(--chat-message-avatar-size) - var(--chat-message-avatar-gap)));width:min(90vw,920px,calc(100% - var(--chat-message-avatar-size) - var(--chat-message-avatar-gap)))}@media (max-width:900px){.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_messageWithMap__X5dr0 .Chat-module_messageStack__n0xNL{max-width:min(92vw,640px);width:min(92vw,640px)}}.Chat-module_messageMeta__eqCRu{align-items:center;color:var(--chat-message-meta-color);display:flex;flex-wrap:wrap;font-size:11.5px;gap:8px;line-height:1.4;margin:6px 8px 0}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV .Chat-module_messageMeta__eqCRu{align-self:flex-end;text-align:right}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7 .Chat-module_messageMeta__eqCRu{margin-left:0;margin-right:0}.Chat-module_messageLifecycleBadge__4jDDc{align-items:center;background:var(--chat-message-lifecycle-badge-background);border-radius:999px;color:var(--chat-message-lifecycle-badge-color);display:inline-flex;font-weight:600;letter-spacing:.02em;padding:2px 8px;text-transform:uppercase}.Chat-module_messageTimestamp__LDhRw{letter-spacing:.02em}.Chat-module_messageDuration__Y9Kg9{opacity:.85}.Chat-module_messageReplyButton__S5hXM{align-items:center;background:transparent;border:none;color:inherit;cursor:pointer;display:inline-flex;font:inherit;gap:5px;opacity:.88;padding:0;transition:opacity .18s ease,color .18s ease,transform .18s ease}.Chat-module_messageReplyButton__S5hXM:focus,.Chat-module_messageReplyButton__S5hXM:hover{color:#0f172a;opacity:1;transform:translateY(-.5px)}.Chat-module_messageReplyButtonIcon__2Nk3i{height:13px;width:13px}.Chat-module_messageLifecycleError__m-FO-{color:#b91c1c;font-size:12px;line-height:1.45;margin:4px 6px 0}.Chat-module_participantLabel__0Oo-3{color:var(--chat-participant-label-color);font-size:11.5px;font-weight:600;letter-spacing:.07em;margin:0 0 7px;text-transform:uppercase}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV .Chat-module_participantLabel__0Oo-3{text-align:right}@keyframes Chat-module_messageSlideIn__soTy2{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.Chat-module_isNotCompleteMessage__Hj2K7{opacity:.7;position:relative}.Chat-module_NonCompleteMessageFiller__G5-Ve{color:transparent}.Chat-module_isNotCompleteMessage__Hj2K7 .Chat-module_messageText__XgNyQ:after{animation:Chat-module_loadingPulse__VomRm 1.5s ease-in-out infinite;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.6),transparent);border-radius:2px;bottom:8px;content:\"\";height:4px;position:absolute;right:12px;width:20px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7.Chat-module_isNotCompleteMessage__Hj2K7 .Chat-module_messageText__XgNyQ:after{display:none}.Chat-module_citationFootnotes__LAWdh,.Chat-module_sourceCitations__oDtBX,.Chat-module_toolCallChips__UWgC1{border-top:1px solid hsla(0,0%,49%,.28);border-top:1px solid color-mix(in srgb,var(--message-text-color,#0f172a) 14%,transparent);display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:10px}.Chat-module_citationFootnotes__LAWdh{align-items:flex-start;flex-direction:column}.Chat-module_citationFootnoteItem__JXTAX{align-items:center;display:inline-flex;gap:8px;min-height:32px}.Chat-module_citationFootnoteNumber__CMmm9{color:color-mix(in srgb,var(--message-text-color,#0f172a) 78%,transparent);font-size:.84rem;font-weight:700;line-height:1;min-width:1.25rem}.Chat-module_toolCallChip__koN18{align-items:center;backdrop-filter:blur(8px);background:hsla(0,0%,100%,.26);background:color-mix(in srgb,var(--message-bg-color,#fff) 74%,hsla(0,0%,100%,.78) 26%);border:1px solid hsla(0,0%,49%,.3);border:1px solid color-mix(in srgb,var(--message-text-color,#0f172a) 20%,transparent);border-radius:999px;box-shadow:0 2px 8px rgba(15,23,42,.12);color:inherit;cursor:pointer;display:flex;font-family:OpenMojiColor,OpenMojiBlack,Arial,Helvetica,sans-serif;font-size:.8rem;font-weight:600;gap:8px;padding:5px 11px;transition:all .2s ease}.Chat-module_toolCallChip__koN18:hover{background:hsla(0,0%,100%,.34);background:color-mix(in srgb,var(--message-bg-color,#fff) 64%,hsla(0,0%,100%,.86) 36%);box-shadow:0 4px 12px rgba(15,23,42,.14);transform:translateY(-1px)}.Chat-module_toolCallChipOngoing__wKcDY{background:rgba(14,165,233,.1);border-color:rgba(59,130,246,.8)}.Chat-module_toolCallChipStatus__I-nl9{align-items:center;display:inline-flex;margin-left:auto}.Chat-module_teamToolCall__5F45R,.Chat-module_transitiveToolCall__WcaaK{gap:8px;justify-content:flex-start}.Chat-module_teamAgentChip__mvgtY,.Chat-module_transitiveAgentChip__zNOJf{flex-shrink:0}.Chat-module_toolCallLabel__q7EFf{flex:1;font-size:.9em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Chat-module_toolCallWithError__AtQqO{background:rgba(249,115,22,.12);border-color:rgba(249,115,22,.8)}.Chat-module_toolCallOrigin__-Io6Y{font-size:.85em;font-weight:500;opacity:.75;white-space:nowrap}.Chat-module_toolCallDetails__WUFlD{margin-bottom:24px}.Chat-module_toolCallDetails__WUFlD p{margin-bottom:8px}.Chat-module_toolCallData__UauCO{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;max-height:300px;overflow-x:auto;padding:12px;word-break:break-all}.Chat-module_toolCallChipSpinner__ZGTwl{animation:Chat-module_toolCallSpinner__LSiK6 .8s linear infinite;border:2px solid hsla(0,0%,100%,.3);border-radius:50%;border-top-color:#fff;height:14px;width:14px}@keyframes Chat-module_toolCallSpinner__LSiK6{to{transform:rotate(1turn)}}@keyframes Chat-module_loadingPulse__VomRm{0%,to{opacity:.3;transform:scaleX(.8)}50%{opacity:1;transform:scaleX(1.2)}}.Chat-module_typingIndicator__S-CT-{align-items:flex-end;animation:Chat-module_messageSlideIn__soTy2 .4s cubic-bezier(.25,.46,.45,.94);display:flex;margin-bottom:20px}.Chat-module_typingIndicator__S-CT- .Chat-module_avatar__gL6bm{flex-shrink:0;height:40px;margin:0 12px 4px;width:40px}.Chat-module_typingBubble__0Lb7B{backdrop-filter:blur(10px);border:1px solid hsla(0,0%,49%,.1);border-radius:20px;border-bottom-left-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.1);min-height:24px;padding:16px 20px}.Chat-module_typingBubble__0Lb7B,.Chat-module_typingDots__srOBB{align-items:center;display:flex;gap:4px}.Chat-module_typingDot__dnhKT{animation:Chat-module_typingBounce__1yp2v 1.4s ease-in-out infinite;background:linear-gradient(135deg,#6b7280,hsla(0,0%,49%,.6));border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.1);height:8px;width:8px}.Chat-module_typingDot__dnhKT:first-child{animation-delay:-.32s}.Chat-module_typingDot__dnhKT:nth-child(2){animation-delay:-.16s}.Chat-module_typingDot__dnhKT:nth-child(3){animation-delay:0s}@keyframes Chat-module_typingBounce__1yp2v{0%,80%,to{opacity:.5;transform:scale(.8) translateY(0)}40%{opacity:1;transform:scale(1.2) translateY(-8px)}}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV{align-items:flex-end;flex-direction:row-reverse;justify-content:flex-start}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV .Chat-module_messageText__XgNyQ{border-bottom-right-radius:10px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ:not(.Chat-module_isMe__nBtaV) .Chat-module_messageText__XgNyQ{border-bottom-left-radius:10px}.Chat-module_ratingStar__rRfqC{color:var(--star-inactive-color,#ccc);cursor:pointer;font-size:20px;transition:color .2s}.Chat-module_ratingStar__rRfqC.Chat-module_active__lbYL-{color:gold}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm{aspect-ratio:1/1;flex-shrink:0;height:var(--chat-message-avatar-size);margin:0 0 4px;position:relative;width:var(--chat-message-avatar-size)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{--chat-md-heading-font-family:var(\n --font-barlow-condensed,\"Barlow Condensed\",var(--font-poppins,\"Poppins\",system-ui,-apple-system,\"Segoe UI\",sans-serif)\n );--chat-md-body-font-family:inherit;--chat-md-text-color:var(--message-text-color,#0f172a);--chat-md-link-color:#2563eb;--chat-md-muted-color:var(--message-text-color,#0f172a);--chat-md-inline-code-bg:rgba(15,23,42,.16);--chat-md-inline-code-border:rgba(15,23,42,.2);--chat-md-inline-code-color:var(--message-text-color,#0f172a);--chat-md-blockquote-bg:hsla(0,0%,100%,.2);--chat-md-blockquote-border:rgba(56,189,248,.52);--chat-md-table-bg:hsla(0,0%,100%,.22);--chat-md-table-row-alt-bg:hsla(0,0%,100%,.12);--chat-md-table-head-bg:hsla(0,0%,100%,.3);--chat-md-table-border:hsla(0,0%,100%,.36);--chat-md-citation-bg:hsla(0,0%,100%,.25);--chat-md-citation-color:var(--message-text-color,#0f172a);backdrop-filter:blur(14px);background-color:var(--message-bg-color);border:1px solid var(--chat-bubble-border-color);border-radius:var(--chat-bubble-radius);box-shadow:var(--chat-bubble-shadow),inset 0 1px 0 hsla(0,0%,100%,.16);color:var(--message-text-color);font-family:inherit;font-size:var(--chat-bubble-font-size);hyphens:auto;letter-spacing:.0025em;line-height:var(--chat-bubble-line-height);margin-bottom:6px;max-width:100%;min-width:min(var(--chat-message-min-width),100%);overflow-wrap:anywhere;padding:16px 20px;position:relative;text-align:left;transform:translateX(var(--chat-message-swipe-offset,0));transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ.Chat-module_articleModeAgentMessageText__vBlIP{--chat-md-link-color:#1d4ed8;--chat-md-inline-code-bg:rgba(15,23,42,.08);--chat-md-inline-code-border:rgba(15,23,42,.16);--chat-md-blockquote-bg:rgba(148,163,184,.12);--chat-md-table-bg:rgba(248,250,252,.9);--chat-md-table-row-alt-bg:rgba(226,232,240,.45);--chat-md-table-head-bg:rgba(241,245,249,.92);--chat-md-table-border:rgba(148,163,184,.45);--chat-md-citation-bg:rgba(191,219,254,.24);backdrop-filter:none;background:transparent!important;border:0;border-radius:0;box-shadow:none;font-size:15.5px;line-height:1.75;margin-bottom:8px;min-width:0;padding:2px 0}.Chat-module_replyEnabledMessageText__-SV9f{touch-action:pan-y}.Chat-module_replySwipeActive__dhAqt{box-shadow:var(--chat-bubble-shadow-hover),0 0 0 1px rgba(56,189,248,.22),inset 0 1px 0 hsla(0,0%,100%,.16)}.Chat-module_replySwipeIndicator__u92JU{color:rgba(15,23,42,.45);left:-24px;opacity:.22;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:opacity .18s ease,transform .18s ease}.Chat-module_replySwipeIndicatorRight__3CoAW{left:auto;right:-24px}.Chat-module_replySwipeIndicatorActive__m9gwU{opacity:.9;transform:translateY(-50%) scale(1.05)}.Chat-module_replySwipeIndicatorIcon__0K1SX{height:16px;width:16px}.Chat-module_replyPreview__Lt-Bg{align-items:flex-start;background:hsla(0,0%,100%,.16);border:1px solid hsla(0,0%,100%,.26);border-radius:14px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1);display:flex;gap:10px;margin-bottom:12px;min-width:0;padding:10px 12px}.Chat-module_replyBubblePreview__DNe3r{opacity:.9}.Chat-module_replyComposerPreview__80Wdf{background:var(--chat-reply-composer-background);border-color:var(--chat-reply-composer-border-color);box-shadow:var(--chat-reply-composer-shadow);margin-bottom:2px}.Chat-module_replyPreviewAccent__Uo3pe{align-self:stretch;background:#0ea5e9;background:color-mix(in srgb,var(--brand-color,#0ea5e9) 84%,#fff 16%);border-radius:999px;flex-shrink:0;width:4px}.Chat-module_replyPreviewBody__reKG-{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.Chat-module_replyPreviewHeading__IeegE{font-size:11px;line-height:1.3;opacity:.82}.Chat-module_replyPreviewLabel__J-BrF{font-weight:600}.Chat-module_replyPreviewSender__z6SYu{font-weight:700}.Chat-module_replyPreviewText__cY-Hc{font-size:12.5px;line-height:1.35;min-width:0;opacity:.9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Chat-module_replyPreviewDismissButton__-L9MF{align-items:center;background:var(--chat-reply-dismiss-background);border:none;border-radius:999px;color:var(--chat-reply-dismiss-color);cursor:pointer;display:inline-flex;flex-shrink:0;height:28px;justify-content:center;transition:background .18s ease,color .18s ease,transform .18s ease;width:28px}.Chat-module_replyPreviewDismissButton__-L9MF:focus,.Chat-module_replyPreviewDismissButton__-L9MF:hover{background:var(--chat-reply-dismiss-hover-background);color:var(--chat-reply-dismiss-hover-color);transform:scale(1.02)}@supports (color:color-mix(in srgb,#000 50%,#fff 50%)){.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{--chat-bubble-border-color:color-mix(in srgb,var(--message-bg-color,#fff) 72%,hsla(0,0%,100%,.46) 28%);--chat-md-link-color:color-mix(in srgb,var(--message-text-color,#0f172a) 72%,#7dd3fc 28%);--chat-md-muted-color:color-mix(in srgb,var(--message-text-color,#0f172a) 84%,transparent);--chat-md-inline-code-bg:color-mix(in srgb,var(--message-bg-color,#fff) 65%,rgba(15,23,42,.2) 35%);--chat-md-inline-code-border:color-mix(in srgb,var(--message-text-color,#0f172a) 20%,transparent);--chat-md-blockquote-bg:color-mix(in srgb,var(--message-bg-color,#fff) 78%,hsla(0,0%,100%,.86) 22%);--chat-md-blockquote-border:color-mix(in srgb,var(--message-text-color,#0f172a) 34%,#7dd3fc 66%);--chat-md-table-bg:color-mix(in srgb,var(--message-bg-color,#fff) 78%,hsla(0,0%,100%,.9) 22%);--chat-md-table-row-alt-bg:color-mix(in srgb,var(--message-bg-color,#fff) 70%,hsla(0,0%,100%,.82) 30%);--chat-md-table-head-bg:color-mix(in srgb,var(--message-bg-color,#fff) 64%,hsla(0,0%,100%,.94) 36%);--chat-md-table-border:color-mix(in srgb,var(--message-text-color,#0f172a) 18%,transparent);--chat-md-citation-bg:color-mix(in srgb,var(--message-bg-color,#fff) 55%,hsla(0,0%,100%,.94) 45%);background:linear-gradient(158deg,color-mix(in srgb,var(--message-bg-color,#fff) 86%,hsla(0,0%,100%,.3) 14%),color-mix(in srgb,var(--message-bg-color,#fff) 95%,rgba(2,6,23,.08) 5%))}}.Chat-module_copyButtonContainer__Rij0U{opacity:0;pointer-events:none;position:absolute;right:12px;top:10px;transform:translateY(-2px);transition:opacity .18s ease,transform .18s ease;z-index:3}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ:hover .Chat-module_copyButtonContainer__Rij0U,.Chat-module_copyButtonContainer__Rij0U:focus-within{opacity:1;pointer-events:auto;transform:translateY(0)}.Chat-module_articleModeMessageActions__h2qaG{align-items:center;border-top:1px solid color-mix(in srgb,var(--message-text-color,#0f172a) 14%,transparent);display:flex;flex-wrap:wrap;gap:10px 12px;justify-content:flex-start;margin-top:14px;padding-top:12px}.Chat-module_articleModeMessageControls__hncCw{opacity:1;pointer-events:auto;position:static;right:auto;top:auto;transform:none;z-index:auto}.Chat-module_messageControlGroup__gAo4k{align-items:center;display:flex;gap:7px;pointer-events:auto}.Chat-module_articleModeMessageActions__h2qaG .Chat-module_copyButton__DcxT5,.Chat-module_articleModeMessageActions__h2qaG .Chat-module_playButton__ZigYL{background:var(--chat-article-control-background);border-color:var(--chat-article-control-border-color);box-shadow:none;color:var(--chat-message-control-color)}.Chat-module_articleModeMessageActions__h2qaG .Chat-module_copyButton__DcxT5:focus,.Chat-module_articleModeMessageActions__h2qaG .Chat-module_copyButton__DcxT5:hover,.Chat-module_articleModeMessageActions__h2qaG .Chat-module_playButton__ZigYL:hover:not(:disabled){background:var(--chat-article-control-hover-background);border-color:var(--chat-article-control-hover-border-color);box-shadow:var(--chat-article-control-hover-shadow)}.Chat-module_copyButton__DcxT5{backdrop-filter:blur(8px);border:1px solid var(--chat-message-control-border-color);box-shadow:var(--chat-message-control-shadow);display:flex;opacity:1;padding:4px 7px;transition:all .15s,box-shadow .15s,border .15s}.Chat-module_copyButton__DcxT5,.Chat-module_playButton__ZigYL{align-items:center;background:var(--chat-message-control-background);border-radius:10px;color:var(--chat-message-control-color);cursor:pointer;position:relative}.Chat-module_playButton__ZigYL{border:1px solid var(--chat-message-control-border-color);display:inline-flex;height:34px;justify-content:center;padding:0;transition:all .15s ease;width:34px}.Chat-module_playButtonIcon__wPErq{height:16px;width:16px}.Chat-module_playButtonSpinner__Ad33i{animation:Chat-module_messagePlaySpinner__ldlvy .9s linear infinite;border:2px solid var(--chat-message-control-spinner-border-color);border-radius:50%;border-top-color:var(--chat-message-control-spinner-accent-color);height:16px;width:16px}.Chat-module_playButton__ZigYL:hover:not(:disabled){background:var(--chat-message-control-hover-background);border-color:var(--chat-message-control-hover-border-color);box-shadow:var(--chat-message-control-hover-shadow)}.Chat-module_playButton__ZigYL:disabled{cursor:not-allowed;opacity:.6}@keyframes Chat-module_messagePlaySpinner__ldlvy{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.Chat-module_copiedTooltip__LH81j{animation:Chat-module_copiedTooltipFadeIn__QekO1 .2s;background:#222;border-radius:8px;box-shadow:0 2px 12px rgba(0,0,0,.18);color:#fff;font-size:.98em;left:50%;margin-top:4px;max-width:220px;opacity:.97;overflow-wrap:break-word;padding:6px 16px;pointer-events:none;position:absolute;top:110%;transform:translateX(-50%);white-space:nowrap;word-break:break-word;z-index:100}.Chat-module_copiedTooltipLeft__j-S-5{left:0!important;transform:none!important}.Chat-module_copiedTooltipRight__R-2cE{left:auto!important;right:0!important;transform:none!important}@keyframes Chat-module_copiedTooltipFadeIn__QekO1{0%{opacity:0;transform:translateX(-50%) translateY(8px) scale(.97)}to{opacity:.97;transform:translateX(-50%) translateY(0) scale(1)}}.Chat-module_copyButton__DcxT5:focus,.Chat-module_copyButton__DcxT5:hover{background:var(--chat-message-control-hover-background);border:1px solid var(--chat-message-control-hover-border-color);box-shadow:var(--chat-message-control-hover-shadow);opacity:1}.Chat-module_copyButton__DcxT5 svg{display:block}.Chat-module_Chat__j2eE5[data-chat-theme=dark] .Chat-module_copyButton__DcxT5 svg rect{fill:#cbd5e1;stroke:#94a3b8}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ:hover{box-shadow:var(--chat-bubble-shadow-hover),inset 0 1px 0 hsla(0,0%,100%,.16);transform:translateX(var(--chat-message-swipe-offset,0)) translateY(-1.5px)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ.Chat-module_articleModeAgentMessageText__vBlIP:hover{box-shadow:none;transform:none}.Chat-module_attachments__m1Fts{border-top:1px solid hsla(0,0%,49%,.28);border-top-color:color-mix(in srgb,var(--message-text-color,#0f172a) 12%,transparent);display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px}.Chat-module_attachment__aE9hK{align-items:center;background:hsla(0,0%,100%,.26);background:color-mix(in srgb,var(--message-bg-color,#fff) 74%,hsla(0,0%,100%,.8) 26%);border:1px solid hsla(0,0%,49%,.3);border-color:color-mix(in srgb,var(--message-text-color,#0f172a) 16%,transparent);border-radius:999px;color:inherit;cursor:pointer;display:flex;font-family:inherit;font-size:12.5px;gap:6px;line-height:inherit;max-width:200px;padding:7px 12px;text-decoration:none;transition:all .2s ease}.Chat-module_attachmentWithRemove__n2-O6{gap:0;overflow:hidden;padding:0}.Chat-module_attachmentMainAction__Onkl3{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:flex;font:inherit;gap:6px;line-height:inherit;min-width:0;padding:7px 8px 7px 12px;text-decoration:none}.Chat-module_attachmentRemoveButton__dC5ne{align-items:center;background:hsla(0,0%,100%,.24);border:0;border-radius:999px;color:inherit;cursor:pointer;display:inline-flex;flex:0 0 auto;height:22px;justify-content:center;margin-right:5px;opacity:.85;transition:background .2s ease,opacity .2s ease,transform .2s ease;width:22px}.Chat-module_attachmentRemoveButton__dC5ne:hover{background:rgba(239,68,68,.18);opacity:1;transform:scale(1.04)}.Chat-module_attachmentRemoveButton__dC5ne svg{height:12px;width:12px}.Chat-module_attachmentWithRemove__n2-O6 .Chat-module_attachmentName__aMx56{min-width:0}.Chat-module_attachment__aE9hK:hover{background:hsla(0,0%,100%,.34);background:color-mix(in srgb,var(--message-bg-color,#fff) 62%,hsla(0,0%,100%,.9) 38%);border-color:color-mix(in srgb,var(--message-text-color,#0f172a) 24%,transparent);transform:translateY(-1px)}.Chat-module_attachmentIcon__BX3Cy{font-size:14px;opacity:.8}.Chat-module_attachmentName__aMx56{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Chat-module_messageButtons__WaOob{border-top:1px solid hsla(0,0%,49%,.36);border-top-color:color-mix(in srgb,var(--message-text-color,#0f172a) 14%,transparent);display:flex;flex-wrap:wrap;gap:9px;margin-top:12px;padding-top:12px}.Chat-module_messageButton__mRnn-{-webkit-tap-highlight-color:transparent;align-items:center;backdrop-filter:blur(8px);background:hsla(0,0%,100%,.2);background:color-mix(in srgb,var(--message-bg-color,#fff) 78%,hsla(0,0%,100%,.8) 22%);border:1px solid hsla(0,0%,49%,.9);border-color:color-mix(in srgb,var(--message-text-color,#0f172a) 18%,transparent);border-radius:999px;cursor:pointer;display:inline-flex;font-size:12.5px;font-weight:600;letter-spacing:.01em;padding:8px 15px;touch-action:manipulation;transition:all .2s ease;user-select:none}.Chat-module_messageButton__mRnn-:disabled{box-shadow:none;cursor:progress;opacity:.72;transform:none}.Chat-module_messageButton__mRnn-:hover{background:hsla(0,0%,100%,.3);background:color-mix(in srgb,var(--message-bg-color,#fff) 66%,hsla(0,0%,100%,.9) 34%);border-color:color-mix(in srgb,var(--message-text-color,#0f172a) 26%,#7dd3fc 74%);box-shadow:0 5px 14px rgba(15,23,42,.14);transform:translateY(-1px)}.Chat-module_messageButton__mRnn-:hover:disabled{background:color-mix(in srgb,var(--message-bg-color,#fff) 78%,hsla(0,0%,100%,.8) 22%);border-color:color-mix(in srgb,var(--message-text-color,#0f172a) 18%,transparent)}.Chat-module_messageButton__mRnn-:active{transform:scale(.98);transition:transform .1s ease}.Chat-module_actionMessageButton__avcbv{background:rgba(55,65,81,.92);border-color:rgba(31,41,55,.95);color:#fff}.Chat-module_actionMessageButton__avcbv:hover{background:rgba(31,41,55,.98);border-color:rgba(17,24,39,.98);box-shadow:0 4px 14px rgba(15,23,42,.32)}.Chat-module_actionMessageButton__avcbv:hover:disabled{background:rgba(55,65,81,.92);border-color:rgba(31,41,55,.95)}.Chat-module_messageButton__mRnn- p{line-height:inherit;margin:0;padding:0}.Chat-module_messageButton__mRnn- strong{font-weight:600}.Chat-module_messageButton__mRnn- em{font-style:italic}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M{align-items:center;backdrop-filter:blur(10px);background:rgba(0,0,0,.8);border-radius:12px;bottom:-8px;display:flex;gap:2px;min-width:24px;opacity:0;padding:4px 6px;position:absolute;right:8px;transform:translateY(4px);transition:all .3s cubic-bezier(.25,.46,.45,.94);z-index:1}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M.Chat-module_articleModeRating__dwZqm{backdrop-filter:none;background:var(--chat-article-rating-background);border:1px solid var(--chat-article-rating-border-color);border-radius:999px;bottom:auto;min-width:0;opacity:1;padding:4px 8px;position:static;right:auto;transform:none;z-index:auto}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ:hover .Chat-module_rating__soc3M{opacity:1;transform:translateY(0)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M.Chat-module_articleModeRating__dwZqm:hover{background:var(--chat-article-rating-hover-background);border-color:var(--chat-article-rating-hover-border-color);box-shadow:var(--chat-article-rating-shadow);padding:4px 8px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M:hover{background:rgba(0,0,0,.9);box-shadow:0 4px 12px rgba(0,0,0,.3);padding:6px 8px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M span{cursor:pointer;display:inline-block;font-size:16px;transition:transform .2s ease,color .2s ease}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M:hover span{transform:scale(1.1)}.Chat-module_feedbackIssueButton__9NrrF{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:inline-flex;font-family:OpenMojiBlack,Noto Emoji,Apple Color Emoji,Segoe UI Emoji,sans-serif;font-size:16px;justify-content:center;line-height:1;padding:0}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan{backdrop-filter:blur(20px);background:var(--chat-input-backdrop);border-top:1px solid var(--chat-input-border-color);box-sizing:border-box;display:flex;flex-direction:column;gap:12px;grid-area:📝;max-width:100%;min-width:0;padding:20px 24px calc(20px + env(safe-area-inset-bottom));position:relative;width:100%;z-index:10}.Chat-module_articleModeChatInput__zBTV4{padding-left:var(--chat-article-layout-padding-inline);padding-right:var(--chat-article-layout-padding-inline)}.Chat-module_articleModeChatInput__zBTV4>:not(.Chat-module_speechStatusBubble__qBBWI):not(.Chat-module_dragOverlay__SEGoS){margin-left:auto;margin-right:auto;max-width:100%;width:min(var(--chat-article-layout-max-width),100%)}.Chat-module_Chat__j2eE5.Chat-module_fullPageVisual__zNAEy .Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan{background:var(--chat-full-page-input-backdrop)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan.Chat-module_dragOver__bkS-g{background:var(--chat-input-drag-over-backdrop)}.Chat-module_filePreviewContainer__R70hm{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.Chat-module_filePreviewContainer__R70hm.Chat-module_attachments__m1Fts{--message-bg-color:var(--input-bg-color);--message-text-color:var(--input-text-color);border-top:0;color:var(--input-text-color);margin-top:0;padding-top:0}.Chat-module_filePreview__kq2aX{align-items:center;backdrop-filter:blur(10px);background:var(--chat-file-preview-background);border:1px solid var(--chat-file-preview-border-color);border-radius:8px;display:flex;font-size:12px;gap:8px;padding:8px 12px;transition:all .2s ease}.Chat-module_filePreview__kq2aX:hover{background:var(--chat-file-preview-hover-background);border-color:var(--chat-file-preview-hover-border-color)}.Chat-module_fileIcon__zoSKW{font-size:14px;opacity:.7}.Chat-module_fileInfo__wBLi0{display:flex;flex-direction:column;gap:2px;min-width:0}.Chat-module_fileName__bBujo{color:var(--chat-file-name-color);font-weight:500;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Chat-module_fileSize__ivliq{color:var(--chat-file-size-color);font-size:11px}.Chat-module_removeFileButton__0gakR{align-items:center;background:rgba(255,0,0,.1);border:none;border-radius:50%;color:#f44;cursor:pointer;display:flex;flex-shrink:0;height:20px;justify-content:center;transition:all .2s ease;width:20px}.Chat-module_removeFileButton__0gakR:hover{background:rgba(255,0,0,.2);transform:scale(1.1)}.Chat-module_inputContainer__bPt99{align-items:center;background:var(--chat-input-container-background);border:1px solid var(--chat-input-container-border-color);border-radius:26px;box-shadow:var(--chat-input-container-shadow);display:flex;gap:10px;min-width:0;padding:9px 12px;transition:all .3s cubic-bezier(.25,.46,.45,.94)}.Chat-module_inputContainer__bPt99:focus-within{border-color:var(--brand-color,#0ea5e9);border-color:color-mix(in srgb,var(--brand-color,#0ea5e9) 58%,rgba(15,23,42,.2) 42%);box-shadow:0 18px 42px rgba(15,23,42,.16),0 0 0 4px rgba(14,165,233,.16);box-shadow:0 18px 42px rgba(15,23,42,.16),0 0 0 4px color-mix(in srgb,var(--brand-color,#0ea5e9) 16%,transparent);transform:translateY(-1px)}.Chat-module_Chat__j2eE5[data-chat-theme=dark] .Chat-module_inputContainer__bPt99:focus-within{border-color:rgba(125,211,252,.6);box-shadow:0 20px 44px rgba(2,6,23,.48),0 0 0 4px rgba(14,165,233,.18)}.Chat-module_inputContainer__bPt99 textarea::placeholder{color:var(--chat-input-placeholder-color);opacity:1}.Chat-module_attachmentButton__qLO47{align-items:center;background:transparent;border:none;border-radius:50%;color:var(--chat-input-action-color);cursor:pointer;display:flex;flex-shrink:0;height:var(--chat-input-action-size);justify-content:center;margin:0;transition:all .2s ease;width:var(--chat-input-action-size)}.Chat-module_attachmentButton__qLO47:hover:not(:disabled){background:var(--chat-input-action-hover-background);color:var(--chat-input-action-hover-color)}.Chat-module_attachmentButton__qLO47:disabled{cursor:not-allowed;opacity:.3}.Chat-module_voiceButton__d2zlP{align-items:center;background:transparent;border:none;border-radius:50%;color:var(--chat-input-action-color);cursor:pointer;display:flex;flex-shrink:0;height:var(--chat-input-action-size);justify-content:center;margin:0;transition:all .2s ease;width:var(--chat-input-action-size)}.Chat-module_voiceButton__d2zlP:hover:not(:disabled){background:var(--chat-input-action-hover-background);color:var(--chat-input-action-hover-color)}.Chat-module_voiceButtonActive__Uoi3W{animation:Chat-module_voiceRecordingPulse__y2wJ5 1.5s infinite;background:rgba(239,68,68,.1)!important;color:#ef4444!important}.Chat-module_speechStatusBubble__qBBWI{align-items:center;animation:Chat-module_speechStatusBubbleIn__PBm-c .2s ease-out;appearance:none;background:var(--chat-speech-status-background);border-radius:999px;border-style:solid;border-width:1px;border:1px solid var(--chat-speech-status-border-color);bottom:86px;box-shadow:var(--chat-speech-status-shadow);color:var(--chat-speech-status-color);cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:8px;letter-spacing:.01em;max-width:min(320px,calc(100% - 48px));padding:8px 12px;position:absolute;right:24px;text-align:left;z-index:25}.Chat-module_speechStatusBubbleDot__APu53{animation:Chat-module_speechStatusBubbleDotPulse__Guqsu 1.2s ease-in-out infinite;background:var(--chat-speech-status-dot-background);border-radius:50%;flex-shrink:0;height:8px;width:8px}.Chat-module_speechStatusBubbleRecording__faJs2{background:hsla(0,86%,97%,.97);border-color:rgba(239,68,68,.35);color:#991b1b}.Chat-module_speechStatusBubbleRecording__faJs2 .Chat-module_speechStatusBubbleDot__APu53{background:#ef4444}.Chat-module_speechStatusBubbleProcessing__Crbuu{background:rgba(236,254,255,.97);border-color:rgba(14,116,144,.35);color:#155e75}.Chat-module_speechStatusBubbleProcessing__Crbuu .Chat-module_speechStatusBubbleDot__APu53{background:#0ea5e9}.Chat-module_speechStatusBubbleError__Nd-Aj{background:hsla(0,86%,97%,.98);border-color:rgba(220,38,38,.35);color:#991b1b}.Chat-module_speechStatusBubbleError__Nd-Aj .Chat-module_speechStatusBubbleDot__APu53{animation:none;background:#dc2626}.Chat-module_Chat__j2eE5[data-chat-theme=dark] .Chat-module_speechStatusBubbleRecording__faJs2{background:rgba(127,29,29,.72);border-color:hsla(0,91%,71%,.44);color:#fecaca}.Chat-module_Chat__j2eE5[data-chat-theme=dark] .Chat-module_speechStatusBubbleProcessing__Crbuu{background:rgba(8,47,73,.74);border-color:rgba(125,211,252,.44);color:#bae6fd}.Chat-module_Chat__j2eE5[data-chat-theme=dark] .Chat-module_speechStatusBubbleError__Nd-Aj{background:rgba(127,29,29,.82);border-color:hsla(0,91%,71%,.5);color:#fecaca}.Chat-module_dictationPanel__kzbyG{background:var(--chat-dictation-panel-background);border:1px solid var(--chat-dictation-panel-border-color);border-radius:14px;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.2);color:var(--chat-dictation-panel-color);display:flex;flex-direction:column;gap:10px;padding:10px 12px}.Chat-module_dictationPanelHeader__rHXTh{align-items:center;display:flex;gap:8px;justify-content:space-between}.Chat-module_dictationPanelTitle__sO9XH{color:var(--chat-dictation-title-color);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.Chat-module_dictationPanelToggle__z3HMx{background:var(--chat-dictation-toggle-background);border:1px solid var(--chat-dictation-panel-border-color);border-radius:10px;color:var(--chat-dictation-toggle-color);cursor:pointer;font-size:11px;font-weight:600;padding:4px 8px}.Chat-module_dictationInterimTranscript__eAbMI{background:var(--chat-dictation-transcript-background);border:1px dashed rgba(59,130,246,.45);border-radius:10px;color:var(--chat-dictation-transcript-color);cursor:pointer;font-size:13px;line-height:1.45;padding:8px 10px;text-align:left}.Chat-module_dictationErrorPanel__mjbM7{background:hsla(0,86%,97%,.95);border:1px solid rgba(220,38,38,.25);border-radius:10px;color:#991b1b;display:flex;flex-direction:column;font-size:12px;font-weight:600;gap:8px;padding:8px 10px}.Chat-module_dictationErrorActions__K3ykb{display:flex;flex-wrap:wrap;gap:8px}.Chat-module_dictationCorrectionActions__ssE7i button,.Chat-module_dictationErrorActions__K3ykb button{background:var(--chat-dictation-action-background);border:1px solid var(--chat-dictation-action-border-color);border-radius:10px;color:var(--chat-dictation-action-color);cursor:pointer;font-size:12px;font-weight:600;padding:6px 10px}.Chat-module_dictationCorrectionPanel__5nh9M{display:flex;flex-direction:column;gap:8px}.Chat-module_dictationCorrectionLabel__U4uzT{color:var(--chat-dictation-correction-label-color);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.Chat-module_dictationCorrectionTextarea__5ovj9{background:var(--chat-dictation-correction-textarea-background);border:1px solid var(--chat-dictation-correction-textarea-border-color);border-radius:10px;color:var(--chat-dictation-correction-textarea-color);font-size:13px;line-height:1.5;min-height:68px;padding:8px 10px;resize:vertical;width:100%}.Chat-module_dictationCorrectionActions__ssE7i{display:flex;flex-wrap:wrap;gap:8px}.Chat-module_dictationSettingsPanel__0gI-V{display:grid;gap:8px 12px;grid-template-columns:repeat(2,minmax(0,1fr))}.Chat-module_dictationSettingsPanel__0gI-V label{align-items:center;color:var(--chat-dictation-settings-color);display:inline-flex;font-size:12px;gap:6px}.Chat-module_dictationFallbackNote__919pE{color:var(--chat-dictation-fallback-color);font-size:11px;line-height:1.45;margin:0}@keyframes Chat-module_speechStatusBubbleIn__PBm-c{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes Chat-module_speechStatusBubbleDotPulse__Guqsu{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.82)}}@keyframes Chat-module_voiceRecordingPulse__y2wJ5{0%{box-shadow:0 0 0 0 rgba(255,0,0,.4)}70%{box-shadow:0 0 0 10px rgba(255,0,0,0)}to{box-shadow:0 0 0 0 rgba(255,0,0,0)}}.Chat-module_uploadProgress__jBTKe{align-items:center;background:rgba(0,132,255,.1);border:1px solid rgba(0,132,255,.2);border-radius:8px;color:#0084ff;display:flex;font-size:13px;gap:12px;padding:8px 12px}.Chat-module_uploadProgressBar__Gutnt{background:rgba(0,132,255,.2);border-radius:2px;flex:1;height:4px;overflow:hidden}.Chat-module_uploadProgressFill__EgubT{animation:Chat-module_uploadProgress__jBTKe 1.5s ease-in-out infinite;background:linear-gradient(90deg,#0084ff,rgba(0,132,255,.8));border-radius:2px;height:100%}@keyframes Chat-module_uploadProgress__jBTKe{0%{transform:translateX(-100%)}50%{transform:translateX(0)}to{transform:translateX(100%)}}.Chat-module_dragOverlay__SEGoS{align-items:center;backdrop-filter:blur(10px);background:rgba(0,132,255,.1);border:2px dashed rgba(0,132,255,.5);border-radius:12px;bottom:0;display:flex;justify-content:center;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:20}.Chat-module_dragOverlayContent__gb9kF{align-items:center;color:#0084ff;display:flex;flex-direction:column;font-weight:600;gap:12px;text-align:center}.Chat-module_dragOverlayContent__gb9kF svg{opacity:.7}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea{-webkit-tap-highlight-color:transparent;appearance:none;-webkit-appearance:none;background:transparent;border:none;box-sizing:border-box;color:var(--chat-input-text-color);flex:1;font-family:inherit;font-size:var(--chat-input-font-size);font-weight:500;height:var(--chat-input-textarea-height);letter-spacing:.002em;line-height:var(--chat-input-line-height);margin:0;max-height:var(--chat-input-textarea-height);min-height:var(--chat-input-textarea-height);min-width:0;outline:none;overflow-y:auto;padding:var(--chat-input-padding-y) var(--chat-input-padding-x);resize:none;touch-action:manipulation}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea:disabled{cursor:not-allowed;opacity:.6;transform:none}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea::placeholder{color:var(--chat-input-placeholder-color);opacity:.9}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button[data-button-type=call-to-action]{-webkit-tap-highlight-color:transparent;align-items:center;aspect-ratio:1/1;border:none;border-radius:50%!important;box-shadow:0 4px 12px rgba(0,132,255,.25);color:#fff;display:flex;height:var(--chat-input-action-size);justify-content:center;margin:0!important;min-height:unset!important;min-width:unset!important;overflow:visible;padding:0!important;touch-action:manipulation;transition:all .3s cubic-bezier(.25,.46,.45,.94);user-select:none;width:var(--chat-input-action-size)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button[data-button-type=call-to-action]:hover{box-shadow:0 6px 16px rgba(0,132,255,.35);transform:scale(1.05)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button[data-button-type=call-to-action]:active{transform:scale(.95)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button[data-button-type=call-to-action] svg{height:20px;width:20px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button img{height:100%;object-fit:contain;width:50%}.Chat-module_scrollToBottomContainer__5rXpK{align-items:flex-start;display:flex;grid-area:📝;height:100%;justify-content:center;pointer-events:none;width:100%;z-index:20}.Chat-module_scrollToBottomContainer__5rXpK .Chat-module_scrollToBottomWrapper__PCIu1{align-items:center;animation:Chat-module_scrollButtonSlideIn__XnImg .3s ease-out;display:inline-flex;justify-content:center;pointer-events:all;position:relative;transform:translate(-50%,-150%);transition:transform .3s cubic-bezier(.25,.46,.45,.94)}.Chat-module_scrollToBottomContainer__5rXpK .Chat-module_scrollToBottom__nzxdZ{-webkit-tap-highlight-color:transparent;align-items:center;background:rgba(0,0,0,.5);border:none;border-radius:50%;box-shadow:0 4px 16px rgba(0,0,0,.3);color:#fff;cursor:pointer;display:flex;font-weight:700;height:48px;justify-content:center;outline:none;touch-action:manipulation;transition:all .3s cubic-bezier(.25,.46,.45,.94);user-select:none;width:48px}@keyframes Chat-module_scrollButtonSlideIn__XnImg{0%{opacity:0;transform:translate(-50%,20px) scale(.8)}to{opacity:.9;transform:translate(-50%) scale(1)}}.Chat-module_scrollToBottomBadge__N6T6-{align-items:center;background:#2563eb;border-radius:999px;box-shadow:0 2px 10px rgba(37,99,235,.4);color:#fff;display:inline-flex;font-size:10px;font-weight:600;justify-content:center;letter-spacing:.04em;min-width:32px;padding:2px 6px;pointer-events:none;position:absolute;right:-8px;text-transform:uppercase;top:-8px;white-space:nowrap}.Chat-module_ratingModal__XVKYm{align-items:center;animation:Chat-module_modalFadeIn__RPc3w .3s ease-out;backdrop-filter:blur(8px);background-color:rgba(0,0,0,.6);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes Chat-module_modalFadeIn__RPc3w{0%{backdrop-filter:blur(0);opacity:0}to{backdrop-filter:blur(8px);opacity:1}}.Chat-module_ratingModalContent__CCdq7{animation:Chat-module_modalSlideIn__XXtgN .3s cubic-bezier(.25,.46,.45,.94);backdrop-filter:blur(20px);background:#fff;border:1px solid hsla(0,0%,49%,.1);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.3);color:#0f1724;font-family:Arial,Helvetica,sans-serif,OpenMojiColor,OpenMojiBlack;max-width:480px;padding:32px;width:90%}@keyframes Chat-module_modalSlideIn__XXtgN{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.Chat-module_ratingModalContent__CCdq7 h3{color:#000;font-size:20px;font-weight:600;margin:0 0 24px;text-align:center}.Chat-module_stars__PCzNO{display:flex;gap:8px;justify-content:center;margin-bottom:24px}.Chat-module_stars__PCzNO span{border-radius:8px;cursor:pointer;font-size:28px;padding:4px;transition:all .2s ease}.Chat-module_stars__PCzNO span:hover{background:rgba(255,215,0,.1);transform:scale(1.2)}.Chat-module_ratingModalStar__XkbHr{cursor:pointer;font-size:24px;transition:color .2s}.Chat-module_ratingModal__XVKYm[data-chat-modal=image-attachment]{box-sizing:border-box;padding:24px}.Chat-module_toolCallModal__uNaIK{max-height:calc(100vh - 48px);max-width:800px;overflow-x:hidden;overflow-y:auto;padding:0;position:relative}.Chat-module_imageAttachmentModal__Ef6L5{display:flex;flex-direction:column;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);max-width:1040px;overflow:hidden;padding:0;position:relative;width:min(92vw,1040px)}.Chat-module_imageAttachmentModalHeader__onK3Z{background:#f8fafc;border-bottom:1px solid #e2e8f0;flex:0 0 auto;padding:20px 68px 14px 24px}.Chat-module_imageAttachmentModalTitle__AhuMt{color:#0f172a!important;font-size:16px!important;font-weight:600!important;line-height:1.35;margin:0!important;overflow-wrap:anywhere;text-align:left!important}.Chat-module_imageAttachmentModalPreview__gXDer{align-items:center;background:#0f172a;box-sizing:border-box;display:flex;flex:1 1 auto;justify-content:center;max-height:calc(100vh - 130px);max-height:calc(100dvh - 130px);min-height:0;overflow:hidden;padding:16px}.Chat-module_imageAttachmentModalImage__t61oG{display:block;max-height:calc(100vh - 162px);max-height:calc(100dvh - 162px);max-width:100%;object-fit:contain}.Chat-module_toolCallHeader__ZaTZF{align-items:center;background:linear-gradient(135deg,#eef2ff,#f5f3ff 40%,#fefcc9);border-bottom:1px solid rgba(15,23,42,.08);display:flex;gap:16px;padding:24px 32px 16px}.Chat-module_toolCallIcon__UgRKj{font-size:32px}.Chat-module_toolCallHeaderMeta__iAL-U{display:flex;flex-direction:column;gap:4px}.Chat-module_toolCallModalLabel__4dBP4{color:#475467;font-size:11px;letter-spacing:.35em;margin:0;text-transform:uppercase}.Chat-module_toolCallTitle__jhL0A{color:#0f172a;font-size:24px;font-weight:600;margin:0}.Chat-module_toolCallSubtitle__a2GIO{color:#475467;font-size:13px;margin:0}.Chat-module_toolCallGrid__Nfr7N{background:#fefefe;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));padding:24px 32px 16px}.Chat-module_toolCallPanel__kQZE9{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 18px 40px rgba(15,23,42,.08);padding:18px}.Chat-module_toolCallPanelTitle__-7OtJ{color:#94a3b8;font-size:12px;font-weight:600;letter-spacing:.25em;margin:0 0 12px;text-transform:uppercase}.Chat-module_toolCallList__5co3s{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.Chat-module_toolCallItem__k7W5Z{display:flex;flex-direction:column;gap:4px}.Chat-module_toolCallItemLabel__d3C1E{color:#94a3b8;font-size:11px;letter-spacing:.25em;text-transform:uppercase}.Chat-module_toolCallItemValue__cStQ0{color:#0f172a;font-size:14px;line-height:1.4;white-space:pre-wrap;word-break:break-word}.Chat-module_toolCallSummary__wGZwg{color:#0f172a;font-size:15px;line-height:1.6;margin:0}.Chat-module_toolCallSummaryMeta__RXiSv{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.Chat-module_toolCallSummaryMetaBadge__JBi-I{background:rgba(79,70,229,.15);border-radius:999px;color:#312e81;font-size:12px;font-weight:600;padding:5px 12px}.Chat-module_toolCallEmpty__bUz5v{color:#94a3b8;font-size:14px;margin:0}.Chat-module_toolCallPendingCard__L3m7T{background:linear-gradient(180deg,#f8fbff,#f8fafc);border:1px dashed #cbd5e1;border-radius:14px;display:flex;flex-direction:column;gap:10px;padding:14px}.Chat-module_toolCallPendingHeader__U3htF{align-items:center;display:flex;gap:10px;justify-content:space-between}.Chat-module_toolCallPendingTitle__4fwLL{color:#0f172a;font-size:13px;font-weight:600}.Chat-module_toolCallPendingBadge__bgY3c{background:rgba(14,165,233,.12);border-radius:999px;color:#0369a1;font-size:11px;font-weight:700;letter-spacing:.05em;padding:4px 10px;text-transform:uppercase}.Chat-module_toolCallPendingMessage__grnao{color:#475467;font-size:13px;line-height:1.5;margin:0}.Chat-module_toolCallPendingSkeleton__Td5Cu{display:flex;flex-direction:column;gap:8px}.Chat-module_toolCallPendingSkeletonLine__Vldel{animation:Chat-module_toolCallPendingSkeletonPulse__aKDNI 1.4s ease-in-out infinite;background:linear-gradient(90deg,rgba(226,232,240,.7),#f1f5f9,rgba(226,232,240,.7));background-size:200% 100%;border-radius:999px;height:10px}.Chat-module_toolCallPendingSkeletonShort__FnR-X{width:68%}@keyframes Chat-module_toolCallPendingSkeletonPulse__aKDNI{0%{background-position:100% 50%}to{background-position:-100% 50%}}.Chat-module_toolCallDetailsCard__UJthw{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;margin-top:16px;overflow:hidden}.Chat-module_toolCallDetailsCardRow__-VhfA{border-top:1px solid rgba(226,232,240,.9);color:#334155;display:flex;font-size:13px;gap:12px;justify-content:space-between;padding:12px 14px}.Chat-module_toolCallDetailsCardRow__-VhfA:first-child{border-top:none}.Chat-module_toolCallDetailsCardRow__-VhfA strong{color:#0f172a}.Chat-module_toolCallIssues__evhYM{display:flex;flex-wrap:wrap;gap:8px;padding:0 32px 16px}.Chat-module_toolCallIssueBadge__Qbwdp{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;gap:4px;padding:6px 10px}.Chat-module_toolCallIssueError__LImeS{background:rgba(239,68,68,.12);color:#b91c1c}.Chat-module_toolCallIssueWarning__chQDf{background:rgba(234,179,8,.16);color:#a16207}.Chat-module_toolCallModeFooter__XaRqI{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;padding:0 32px 24px}.Chat-module_toolCallModeButton__zlcca{background:#fff;border:1px solid #cbd5e1;border-radius:999px;color:#0f172a;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:border-color .2s ease,background-color .2s ease,transform .2s ease}.Chat-module_toolCallModeButton__zlcca:hover{background:#f8fafc;border-color:#94a3b8;transform:translateY(-1px)}.Chat-module_toolCallClockPanel__h4xZd{align-items:center;display:flex;flex-direction:column;gap:20px;padding:20px}.Chat-module_toolCallClockLabels__KJGxe{text-align:center}.Chat-module_toolCallClockPrimary__StLQ8{color:#0f172a;font-size:2em;font-weight:700}.Chat-module_toolCallClockSecondary__O4WaT{color:#475467}.Chat-module_toolCallClockMeta__aObb7{color:#667085;font-size:.9em;margin-top:5px}.Chat-module_timeoutToolSummary__kPPvu{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:16px}.Chat-module_timeoutToolPrimarySentence__pQfLn{color:#0f172a;font-size:15px;font-weight:600;line-height:1.5;margin:0}.Chat-module_timeoutToolSecondarySentence__iH5Uc{color:#475467;font-size:13px;line-height:1.5;margin:6px 0 0}.Chat-module_timeoutToolActionRow__occir{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.Chat-module_timeoutToolActionButton__8yz0R{background:#fff;border:1px solid #cbd5e1;border-radius:999px;color:#0f172a;cursor:pointer;font-size:12px;font-weight:600;padding:8px 14px;transition:border-color .2s ease,background-color .2s ease}.Chat-module_timeoutToolActionButton__8yz0R:hover{background:#f1f5f9;border-color:#94a3b8}.Chat-module_timeoutToolActionButton__8yz0R:disabled{cursor:default;opacity:.45}.Chat-module_memoryModalHeader__SpZJT{align-items:flex-start;background:linear-gradient(180deg,#fdfdfd,#f6f9ff);border-bottom:1px solid #e2e8f0;display:flex;gap:16px;padding:28px 32px 16px}.Chat-module_memoryModalIcon__eYbli{align-items:center;background:linear-gradient(135deg,#6366f1,#a855f7);border-radius:18px;box-shadow:0 18px 28px rgba(15,23,42,.18);color:#fff;display:inline-flex;font-size:24px;height:52px;justify-content:center;width:52px}.Chat-module_memoryModalHeaderText__S6MZG{flex:1}.Chat-module_memoryModalTitle__zzbaQ{color:#0f172a;font-size:22px;font-weight:600;margin:0}.Chat-module_memoryModalSubtitle__PStci{color:#475467;font-size:14px;margin:4px 0 0}.Chat-module_memoryModalStatus__bmrfc{align-items:center;border-radius:999px;display:inline-flex;font-size:13px;font-weight:600;gap:6px;margin-left:auto;padding:6px 14px;white-space:nowrap}.Chat-module_memoryStatusDot__c0oVs{background:currentColor;border-radius:50%;display:inline-block;height:8px;width:8px}.Chat-module_memoryModalContent__8E7oj{background:#fff;display:flex;flex-direction:column;gap:16px;padding:24px 32px 32px}.Chat-module_memoryMessage__q0pNK{color:#0f172a;font-size:15px;font-weight:500;margin:0}.Chat-module_memoryMetaRow__Hc-Xp{align-items:center;color:#475467;display:flex;font-size:13px;justify-content:space-between}.Chat-module_memoryMetaLabel__LFx11{font-weight:600;letter-spacing:.08em;text-transform:uppercase}.Chat-module_memoryMetaValue__4bILO{color:#0f172a;font-weight:600}.Chat-module_memoryRetrieveSection__VbuS4,.Chat-module_memoryStoreSection__qQJPN{display:flex;flex-direction:column;gap:12px}.Chat-module_memoryCard__-kIDN{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 10px 18px rgba(15,23,42,.08);padding:18px}.Chat-module_memoryCardContent__l9S4G{color:#0f172a;font-size:14px;line-height:1.6;overflow-wrap:break-word;white-space:pre-wrap}.Chat-module_memoryCardMeta__K66KE{align-items:center;color:#94a3b8;display:flex;font-size:12px;justify-content:space-between;margin-top:12px}.Chat-module_memoryScopeBadge__T2ACc{background:rgba(124,58,237,.12);border-radius:999px;color:#0f172a;font-size:11px;font-weight:700;padding:3px 10px}.Chat-module_memoryList__pUOg2{display:flex;flex-direction:column;gap:12px}.Chat-module_memoryEmptyState__fPrXA{background:#fef3c7;border:1px solid #fde68a;border-radius:12px;color:#92400e;font-weight:500;padding:16px}.Chat-module_memoryListFooter__Y0Q2Z{color:#475467;font-size:13px;text-align:center}.Chat-module_memoryStatusSuccess__4bhfo{background:rgba(16,185,129,.16);color:#047857}.Chat-module_memoryStatusWarning__AR6yh{background:rgba(234,179,8,.16);color:#a16207}.Chat-module_memoryStatusError__ZNAT6{background:rgba(239,68,68,.15);color:#b91c1c}.Chat-module_memoryStatusNeutral__Fa-4M{background:rgba(96,165,250,.15);color:#1d4ed8}.Chat-module_searchModalHeader__Y8V-w{align-items:center;background:#fdfdfd;border-bottom:1px solid #eee;display:flex;gap:16px;padding:24px 72px 24px 32px}.Chat-module_selfLearningModalHeader__PDIt1{align-items:center;background:linear-gradient(135deg,#f8fafc,#fef9c3 45%,#ecfccb);border-bottom:1px solid #e2e8f0;gap:18px}.Chat-module_selfLearningAvatarGroup__jgy2k{align-items:center;display:flex;gap:10px}.Chat-module_selfLearningAvatar__NHXKm{align-items:center;background:#e2e8f0;background-position:50%;background-size:cover;border-radius:50%;box-shadow:0 10px 20px rgba(15,23,42,.18);color:#0f172a;display:inline-flex;font-size:18px;font-weight:600;height:48px;justify-content:center;letter-spacing:.02em;width:48px}.Chat-module_selfLearningAvatarInitial__cuw19{line-height:1}.Chat-module_selfLearningTeacher__fGhX8{background:linear-gradient(135deg,#fde68a,#86efac)}.Chat-module_selfLearningHeaderText__LTwHL{display:flex;flex-direction:column;gap:6px;text-align:left}.Chat-module_selfLearningTitle__G0SAk{color:#0f172a;font-size:20px;font-weight:600;margin:0}.Chat-module_selfLearningMetaRow__z4Tg0{align-items:center;color:#64748b;display:flex;flex-wrap:wrap;font-size:13px;gap:10px;margin-bottom:12px}.Chat-module_selfLearningMeta__58Pet{color:#64748b;font-size:13px}.Chat-module_selfLearningMetaChip__0go88{background:#e2e8f0;border-radius:999px;color:#0f172a;font-size:12px;font-weight:600;padding:4px 10px}.Chat-module_selfLearningCommitments__7ECnr{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:16px}.Chat-module_selfLearningCommitmentsLabel__OkDO1{color:#94a3b8;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.Chat-module_selfLearningBookEditor__CZy5T{border-radius:12px;margin-top:12px;overflow:hidden}.Chat-module_selfLearningEmpty__vCKHL{color:#475569;font-size:13px;margin-top:12px}.Chat-module_modalCloseButton__AAfWS{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:999px;box-shadow:0 6px 16px rgba(15,23,42,.08);color:#475569;cursor:pointer;display:inline-flex;height:36px;justify-content:center;position:absolute;right:16px;top:16px;transition:background .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease;width:36px;z-index:1}.Chat-module_modalCloseButton__AAfWS:hover{background:#f8fafc;box-shadow:0 10px 24px rgba(15,23,42,.12);color:#0f172a;transform:translateY(-1px)}.Chat-module_modalCloseButton__AAfWS:focus-visible{outline:2px solid #94a3b8;outline-offset:2px}.Chat-module_teamModalHeader__SB5NL{flex-wrap:wrap;gap:12px}.Chat-module_teamHeaderParticipants__KS7aV{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.Chat-module_teamHeaderProfile__xRlcS{align-items:center;color:inherit;display:inline-flex;gap:12px;text-decoration:none}.Chat-module_teamHeaderProfileLink__fYTfT:hover{color:#0f172a}.Chat-module_teamHeaderAvatar__vXcTp{background-position:50%;background-repeat:no-repeat;background-size:cover;border:1px solid #e2e8f0;border-radius:999px;box-shadow:0 6px 14px rgba(15,23,42,.08);height:40px;width:40px}.Chat-module_teamHeaderName__ygJR9{color:#0f172a;font-size:18px;font-weight:600}.Chat-module_teamHeaderDivider__cnRMd{color:#94a3b8;font-size:14px;font-weight:600}.Chat-module_searchModalIcon__AR5KY{align-items:center;color:#475569;display:inline-flex;font-size:24px;justify-content:center}.Chat-module_searchModalQuery__5x-Ra{color:#202124!important;font-size:22px!important;font-weight:500!important;margin:0!important;text-align:left!important}.Chat-module_searchModalContent__mWLIE{background:#fff;max-height:60vh;overflow-y:auto;padding:24px 32px}.Chat-module_teamChatContainer__xdLtU{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;margin-bottom:20px;overflow:hidden}.Chat-module_teamToolCallSection__FH9l7{display:flex;flex-direction:column;gap:16px}.Chat-module_teamToolCallGroup__PO6rl{display:flex;flex-direction:column;gap:8px}.Chat-module_teamToolCallHeading__G-JSj{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.Chat-module_teamToolCallChips__hRWqh{display:flex;flex-wrap:wrap;gap:8px}.Chat-module_teamToolCallDetails__ZaTtt{background:#f8fafc;border:1px solid rgba(148,163,184,.4);border-radius:12px;padding:16px}.Chat-module_teamToolCallDetailsHeader__FPIgI{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.Chat-module_teamToolCallDetailsTitle__50SeL{align-items:center;color:#0f172a;display:flex;font-size:14px;font-weight:600;gap:6px}.Chat-module_teamToolCallDetailsClear__8yvu7{background:rgba(148,163,184,.2);border:1px solid rgba(148,163,184,.4);border-radius:999px;color:#475569;cursor:pointer;font-size:12px;padding:4px 10px;transition:all .2s ease}.Chat-module_teamToolCallDetailsClear__8yvu7:hover{background:rgba(148,163,184,.35)}.Chat-module_searchResultsList__xVDUZ{display:flex;flex-direction:column;gap:28px;text-align:left}.Chat-module_searchResultsRaw__i3GkD{max-width:650px;text-align:left}.Chat-module_searchResultItem__bTzq5{max-width:650px}.Chat-module_searchResultUrl__SbrH4{color:#202124;font-size:14px;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Chat-module_searchResultUrl__SbrH4 a{color:#202124;text-decoration:none}.Chat-module_searchResultTitle__XS7zN{font-size:20px!important;font-weight:400!important;line-height:1.3;margin:0 0 4px!important}.Chat-module_searchResultTitle__XS7zN a{color:#1a0dab;text-decoration:none}.Chat-module_searchResultTitle__XS7zN a:hover{text-decoration:underline}.Chat-module_searchResultSnippet__Wsun2{color:#4d5156;font-size:14px;line-height:1.58;margin:0}.Chat-module_noResults__AAv6s{color:#70757a;font-style:italic;padding:40px;text-align:center}.Chat-module_citationDetails__2v2e1,.Chat-module_toolCallDetails__WUFlD{margin:20px 0;text-align:left}.Chat-module_citationPreview__rGhCR{background:#f8f8f8;border:1px solid #ddd;border-radius:8px;margin-top:16px;overflow:hidden}.Chat-module_citationIframe__ngzFY{border:none;display:block;height:60vh;min-height:400px;width:100%}.Chat-module_citationIframeLoading__y5VW9{align-items:center;color:#888;display:flex;font-size:.9em;height:60vh;justify-content:center;min-height:400px;width:100%}.Chat-module_citationScreenshotFallback__jxfJX{display:flex;flex-direction:column;position:relative;width:100%}.Chat-module_citationScreenshotImage__hXjC7{display:block;max-height:60vh;min-height:400px;object-fit:cover;object-position:top;width:100%}.Chat-module_citationScreenshotLink__NHvbE{background:#f0f0f0;border-top:1px solid #ddd;color:#333;display:block;font-size:.9em;font-weight:500;padding:10px 16px;text-align:center;text-decoration:none;transition:background .15s}.Chat-module_citationScreenshotLink__NHvbE:hover{background:#e0e0e0;text-decoration:underline}.Chat-module_citationBrowserStreamFallback__0OLgz{display:flex;flex-direction:column;position:relative;width:100%}.Chat-module_citationBrowserStreamImage__AoBzT{cursor:crosshair;display:block;max-height:60vh;min-height:400px;object-fit:cover;object-position:top;touch-action:none;user-select:none;width:100%}.Chat-module_citationBrowserStreamLink__ikXDB{background:#f0f0f0;border-top:1px solid #ddd;color:#333;display:block;font-size:.9em;font-weight:500;padding:10px 16px;text-align:center;text-decoration:none;transition:background .15s}.Chat-module_citationBrowserStreamLink__ikXDB:hover{background:#e0e0e0;text-decoration:underline}.Chat-module_citationMetadata__DPaCF{background:#f8f8f8;border:1px solid #eee;border-radius:8px;margin-bottom:20px;padding:16px}.Chat-module_citationMetadata__DPaCF p{font-size:.9em;margin:8px 0}.Chat-module_citationMetadata__DPaCF strong{color:#333}.Chat-module_citationMetadata__DPaCF a{color:#007bff;text-decoration:none;word-break:break-all}.Chat-module_citationMetadata__DPaCF a:hover{text-decoration:underline}.Chat-module_citationExcerpt__VU4BS{background:#fff;border:1px solid #ddd;border-radius:8px;max-height:400px;overflow-y:auto;padding:16px}.Chat-module_citationExcerpt__VU4BS h4{color:#333;font-size:1em;margin:0 0 12px}.Chat-module_citationHint__5AkLx{font-size:.85em;margin-top:8px;opacity:.7}.Chat-module_toolCallDataContainer__rdEzC{background:#f8f8f8;border:1px solid #eee;border-radius:6px;margin-bottom:15px;max-height:300px;overflow-y:auto;padding:12px}.Chat-module_toolCallPayloadContainer__v2yVn{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.Chat-module_toolCallPayloadEditor__Hklyf .monaco-editor,.Chat-module_toolCallPayloadEditor__Hklyf .monaco-editor .monaco-scrollable-element,.Chat-module_toolCallPayloadEditor__Hklyf .monaco-editor .overflow-guard,.Chat-module_toolCallPayloadEditor__Hklyf .monaco-editor-background{background:#f8fafc!important}.Chat-module_toolCallData__UauCO{font-size:.85em;margin:0;white-space:pre-wrap;word-break:break-word}.Chat-module_toolCallModal__uNaIK .Chat-module_toolCallData__UauCO{background:#f8fafc;color:#0f172a}.Chat-module_ratingInput__z8Pv-{background:hsla(0,0%,49%,.05);border:2px solid hsla(0,0%,49%,.1);border-radius:12px;color:#0b1220;font-size:14px;line-height:1.5;margin-bottom:18px;min-height:100px;padding:16px;resize:vertical;transition:all .2s ease;width:100%}.Chat-module_ratingInput__z8Pv-:focus{background:hsla(0,0%,49%,.08);border-color:#0084ff;box-shadow:0 0 0 4px rgba(0,132,255,.1);outline:none}.Chat-module_ratingInput__z8Pv-[readonly]{background:hsla(0,0%,49%,.01);border:1px solid hsla(0,0%,49%,.5)}.Chat-module_ratingActions__nXcss{display:flex;gap:12px;justify-content:flex-end}.Chat-module_ratingActions__nXcss button{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;min-width:80px;padding:12px 24px;transition:all .2s ease}.Chat-module_ratingActions__nXcss button:first-child{background-color:hsla(0,0%,49%,.1);border:1px solid hsla(0,0%,49%,.2);color:#0b1220}.Chat-module_ratingActions__nXcss button:first-child:hover:not(:disabled){background-color:hsla(0,0%,49%,.2);color:#0b1220}.Chat-module_ratingActions__nXcss button:last-child{background:linear-gradient(135deg,#0084ff,#06c);color:#fff}.Chat-module_ratingActions__nXcss button:last-child:hover:not(:disabled){background:linear-gradient(135deg,#0071d1,#0052a3);box-shadow:0 4px 12px rgba(0,132,255,.3);transform:translateY(-1px)}.Chat-module_ratingActions__nXcss button:last-child:disabled{cursor:not-allowed;opacity:.5}.Chat-module_downloadButton__8--bk{align-items:center;background:linear-gradient(135deg,#0084ff,#06c);border:none;border-radius:8px;box-shadow:0 2px 8px rgba(0,132,255,.2);color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px 24px;transition:all .2s ease}.Chat-module_downloadButton__8--bk:hover{background:linear-gradient(135deg,#09f,#07d);box-shadow:0 4px 16px rgba(0,132,255,.3);transform:translateY(-2px)}.Chat-module_downloadButton__8--bk:active{box-shadow:0 2px 8px rgba(0,132,255,.2);transform:translateY(0)}.Chat-module_downloadButton__8--bk svg{flex-shrink:0}.Chat-module_downloadButton__8--bk span{font-weight:600}.Chat-module_chatButton__d9VgA,.Chat-module_useTemplateButton__xcJNR{-webkit-tap-highlight-color:transparent!important;align-items:center!important;backdrop-filter:blur(18px)!important;background:linear-gradient(140deg,#0f8ef5,#0b6fd0 56%,#0d5fbb)!important;border:1px solid hsla(0,0%,100%,.24)!important;border-radius:999px!important;box-shadow:0 10px 24px rgba(14,116,219,.28),inset 0 1px 0 hsla(0,0%,100%,.2)!important;color:#fff!important;cursor:pointer!important;display:inline-flex!important;font-family:inherit!important;font-size:12.5px!important;font-weight:600!important;gap:8px!important;justify-content:center!important;letter-spacing:.02em!important;line-height:1.2!important;margin:0!important;min-height:40px!important;min-width:110px!important;overflow:hidden!important;padding:11px 16px!important;position:relative!important;text-decoration:none!important;touch-action:manipulation!important;transition:transform .2s ease,box-shadow .2s ease,background .2s ease!important;user-select:none!important}.Chat-module_chatButton__d9VgA:before,.Chat-module_useTemplateButton__xcJNR:before{background:linear-gradient(100deg,transparent,hsla(0,0%,100%,.26) 48%,transparent);content:\"\";height:100%;left:-110%;position:absolute;top:0;transition:left .45s ease;width:75%}.Chat-module_chatButton__d9VgA:hover:before,.Chat-module_useTemplateButton__xcJNR:hover:before{left:140%}.Chat-module_chatButton__d9VgA:hover:not(:disabled),.Chat-module_useTemplateButton__xcJNR:hover:not(:disabled){background:linear-gradient(140deg,#1a9aff,#0d7de8 56%,#1168c9)!important;box-shadow:0 14px 30px rgba(14,116,219,.34),inset 0 1px 0 hsla(0,0%,100%,.2)!important;transform:translateY(-1.5px)}.Chat-module_chatButton__d9VgA:active,.Chat-module_useTemplateButton__xcJNR:active{transform:translateY(0) scale(.985);transition:transform .1s ease}.Chat-module_chatButton__d9VgA:focus,.Chat-module_useTemplateButton__xcJNR:focus{box-shadow:0 10px 24px rgba(14,116,219,.32),0 0 0 3px rgba(56,189,248,.28),inset 0 1px 0 hsla(0,0%,100%,.22)!important;outline:none}.Chat-module_chatButton__d9VgA svg,.Chat-module_useTemplateButton__xcJNR svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.24));flex-shrink:0;height:16px;opacity:1;transition:transform .2s ease,filter .2s ease;width:16px}.Chat-module_chatButton__d9VgA:hover svg,.Chat-module_useTemplateButton__xcJNR:hover svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.28));transform:scale(1.08) translateX(1px)}.Chat-module_chatButtonText__RkGB-{font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.12);transition:transform .2s ease;white-space:nowrap}.Chat-module_chatButton__d9VgA:hover .Chat-module_chatButtonText__RkGB-,.Chat-module_useTemplateButton__xcJNR:hover .Chat-module_chatButtonText__RkGB-{transform:translateX(1px)}.Chat-module_saveButtonContainer__lSNUJ{display:inline-block;position:relative}.Chat-module_saveMenu__-ph8y{background:#fff;border:1px solid #ddd;box-shadow:0 2px 8px rgba(0,0,0,.08);left:0;min-width:120px;position:absolute;top:100%;z-index:10}.Chat-module_saveMenuItem__ISApL{background:none;border:none;color:#111;cursor:pointer;display:block;padding:8px 16px;text-align:left;width:100%}.Chat-module_saveMenuItem__ISApL:hover{background-color:#f0f0f0}.Chat-module_saveMenuDivider__3ktTM{background-color:#ddd;height:1px;margin:4px 0}.Chat-module_chatFeedbackPanel__gfOzk{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 8px 18px rgba(15,23,42,.08);display:flex;flex-direction:column;gap:6px;padding:6px 8px;width:min(260px,100%)}.Chat-module_chatFeedbackToggle__IeOM6{align-items:center;background:transparent;border:none;border-radius:12px;cursor:pointer;display:flex;gap:10px;padding:6px 8px;text-align:left;transition:background .2s ease,transform .2s ease;width:100%}.Chat-module_chatFeedbackToggle__IeOM6:hover{background:#f5f5f5;transform:translateY(-.5px)}.Chat-module_chatFeedbackToggle__IeOM6:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.Chat-module_chatFeedbackIcon__XcB7A{background:#eef2ff;border-radius:10px;color:#6366f1;display:grid;flex-shrink:0;height:34px;place-items:center;transition:background .2s ease,color .2s ease;width:34px}.Chat-module_chatFeedbackToggle__IeOM6[data-enabled=true] .Chat-module_chatFeedbackIcon__XcB7A{background:#e0f2fe;color:#0284c7}.Chat-module_chatFeedbackToggle__IeOM6[data-enabled=false] .Chat-module_chatFeedbackIcon__XcB7A{background:#f3f4f6;color:#94a3b8}.Chat-module_chatFeedbackMeta__6t2be{display:flex;flex:1;flex-direction:column;gap:2px}.Chat-module_chatFeedbackLabel__qQgH3{color:#0f172a;font-size:.85rem;font-weight:600}.Chat-module_chatFeedbackDescription__I9bNg{color:#64748b;font-size:.75rem}.Chat-module_chatFeedbackIndicator__uHCr7{border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.08em;padding:2px 8px;text-transform:uppercase}.Chat-module_chatFeedbackIndicatorActive__bkw-w{background:#dcfce7;border:1px solid #34d399;color:#166534}.Chat-module_chatFeedbackIndicatorInactive__qMBkh{background:#fef9c3;border:1px solid #facc15;color:#713f12}.Chat-module_pauseButton__eeu7K{background:linear-gradient(135deg,#ffb347,#ff8c42)!important}.Chat-module_pauseButton__eeu7K:hover:not(:disabled){background:linear-gradient(135deg,#ffc067,#ff9e5f)!important}.Chat-module_pauseButton__eeu7K.Chat-module_pausing__pTx8b{cursor:wait!important;opacity:.6!important}.Chat-module_pauseButton__eeu7K.Chat-module_paused__j-pya{background:linear-gradient(135deg,#10b981,#059669)!important}.Chat-module_pauseButton__eeu7K.Chat-module_paused__j-pya:hover:not(:disabled){background:linear-gradient(135deg,#34d399,#059669)!important;box-shadow:0 8px 24px rgba(16,185,129,.35);transform:translateY(-2px) scale(1.02)}.Chat-module_pauseButton__eeu7K svg{transition:transform .3s ease}.Chat-module_pauseButton__eeu7K.Chat-module_paused__j-pya svg{transform:scale(1.1)}.Chat-module_pauseButton__eeu7K.Chat-module_pausing__pTx8b svg{opacity:.8}.Chat-module_stopButton__dkPOW{background:linear-gradient(135deg,#dc2626,#991b1c)!important;color:#fefefe!important}.Chat-module_stopButton__dkPOW:hover:not(:disabled){background:linear-gradient(135deg,#f87171,#dc2626)!important}.Chat-module_stopButton__dkPOW:disabled{cursor:not-allowed!important;opacity:.6!important}.Chat-module_stopButton__dkPOW svg{transition:transform .3s ease}.Chat-module_stopButton__dkPOW:focus-visible{outline:2px solid hsla(0,91%,71%,.8);outline-offset:2px}.Chat-module_voiceCallIndicatorBar__N2sWN{align-items:center;backdrop-filter:blur(10px);background:linear-gradient(135deg,rgba(34,197,94,.1),rgba(16,185,129,.1));border-bottom:1px solid rgba(34,197,94,.3);display:flex;grid-area:🟦;justify-content:center;padding:12px 20px;width:100%}.Chat-module_voiceCallIndicator__tsaaG{align-items:center;backdrop-filter:blur(10px);background:linear-gradient(135deg,rgba(34,197,94,.2),rgba(16,185,129,.2));border:1px solid rgba(34,197,94,.4);border-radius:20px;box-shadow:0 2px 8px rgba(34,197,94,.2);color:#10b981;display:inline-flex;font-size:13px;font-weight:600;gap:8px;padding:8px 16px;position:relative}.Chat-module_voiceCallIndicator__tsaaG svg{animation:Chat-module_voiceCallIconPulse__zZbJn 2s ease-in-out infinite;flex-shrink:0;height:16px;width:16px}.Chat-module_voiceCallIndicator__tsaaG span{font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.1)}.Chat-module_voiceCallPulse__XcGU4{animation:Chat-module_voiceCallPulse__XcGU4 1.5s ease-in-out infinite;background:#10b981;border-radius:50%;height:8px;position:absolute;right:8px;top:50%;transform:translateY(-50%);width:8px}@keyframes Chat-module_voiceCallIconPulse__zZbJn{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}@keyframes Chat-module_voiceCallPulse__XcGU4{0%,to{opacity:1;transform:translateY(-50%) scale(1)}50%{opacity:.6;transform:translateY(-50%) scale(1.3)}}.Chat-module_chatMessage__nmLaZ .Chat-module_voiceCallIndicator__tsaaG{border-radius:16px;font-size:12px;margin-bottom:8px;padding:6px 12px}.Chat-module_chatMessage__nmLaZ .Chat-module_voiceCallIndicator__tsaaG svg{height:14px;width:14px}.Chat-module_feedbackStatus__-df7l{word-wrap:break-word;animation:Chat-module_feedbackStatusSlideIn__n6bbB .28s ease-out;backdrop-filter:blur(20px);border-radius:14px;box-shadow:0 18px 32px rgba(15,23,42,.35);font-weight:500;max-width:340px;padding:14px 22px;pointer-events:none;position:fixed;right:20px;top:20px;z-index:10000}.Chat-module_feedbackStatusSuccess__Ax2q0{background:linear-gradient(135deg,#10b981,#059669);color:#f8fafc}.Chat-module_feedbackStatusError__dnv6d{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fef2f2}@keyframes Chat-module_feedbackStatusSlideIn__n6bbB{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@media (max-width:768px){.Chat-module_Chat__j2eE5{--chat-message-min-width:100px;--chat-message-avatar-size:36px;--chat-message-max-width:min(85%,560px,calc(100% - var(--chat-message-avatar-size) - var(--chat-message-avatar-gap)));--chat-message-avatar-gap:10px;--chat-input-font-size:16px;--chat-input-padding-y:14px;--chat-input-padding-x:18px;--chat-input-action-size:44px}.Chat-module_constrainedArticleVisual__0axxM{--chat-article-layout-padding-inline:clamp(24px,6vw,36px)}.Chat-module_actions__gTZ5T{gap:6px;margin:12px 16px 0}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N{padding:16px 20px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ{margin-bottom:16px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{border-radius:18px;font-size:14px;padding:12px 16px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7{margin-bottom:20px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7 .Chat-module_messageStack__n0xNL{margin:0;max-width:100%;width:100%}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ.Chat-module_articleModeAgentMessageText__vBlIP{border-radius:0;font-size:15px;line-height:1.68;padding:2px 0}.Chat-module_articleModeMessageActions__h2qaG{gap:8px;justify-content:flex-start}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm{margin:0 0 4px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan{gap:10px;padding:16px 20px calc(16px + env(safe-area-inset-bottom))}.Chat-module_speechStatusBubble__qBBWI{bottom:76px;font-size:11px;max-width:calc(100% - 28px);padding:7px 11px;right:14px}.Chat-module_dictationSettingsPanel__0gI-V{grid-template-columns:minmax(0,1fr)}.Chat-module_scrollToBottom__nzxdZ{font-size:18px;height:44px;top:calc(100% - 160px);width:44px}.Chat-module_chatButton__d9VgA{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_chatButton__d9VgA svg{height:18px!important;width:18px!important}.Chat-module_chatButtonText__RkGB-{display:none!important}.Chat-module_useTemplateButton__xcJNR{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_useTemplateButton__xcJNR svg{height:18px!important;width:18px!important}.Chat-module_useTemplateButton__xcJNR .Chat-module_chatButtonText__RkGB-{display:none!important}.Chat-module_ratingModalContent__CCdq7{border-radius:16px;margin:16px;max-height:80vh;overflow-y:auto;padding:24px 20px}.Chat-module_ratingModalContent__CCdq7.Chat-module_imageAttachmentModal__Ef6L5{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:hidden;padding:0}.Chat-module_stars__PCzNO{gap:6px;margin-bottom:20px}.Chat-module_stars__PCzNO span{font-size:32px;padding:8px}.Chat-module_ratingActions__nXcss{flex-direction:column-reverse;gap:8px}.Chat-module_ratingActions__nXcss button{border-radius:10px;font-size:16px;padding:14px;width:100%}.Chat-module_selfLearningModalHeader__PDIt1{align-items:flex-start;flex-direction:column}.Chat-module_selfLearningAvatarGroup__jgy2k{justify-content:flex-start}.Chat-module_selfLearningMetaRow__z4Tg0{align-items:flex-start}}@media (max-width:480px){.Chat-module_Chat__j2eE5{--chat-message-min-width:80px;--chat-message-avatar-size:32px;--chat-message-max-width:min(90%,520px,calc(100% - var(--chat-message-avatar-size) - var(--chat-message-avatar-gap)));--chat-message-avatar-gap:8px;--chat-input-padding-y:12px;--chat-input-padding-x:16px;--chat-input-action-size:40px}.Chat-module_actions__gTZ5T{gap:4px;margin:8px 12px 0}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N{padding:12px 16px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{border-radius:16px;font-size:14px;padding:10px 14px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm{margin:0 0 4px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan{gap:8px;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.Chat-module_speechStatusBubble__qBBWI{bottom:72px;max-width:calc(100% - 20px);right:10px}.Chat-module_dictationCorrectionActions__ssE7i,.Chat-module_dictationErrorActions__K3ykb{flex-direction:column}.Chat-module_chatButton__d9VgA{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_chatButton__d9VgA svg{height:18px!important;width:18px!important}.Chat-module_chatButtonText__RkGB-{display:none!important}.Chat-module_useTemplateButton__xcJNR{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_useTemplateButton__xcJNR svg{height:18px!important;width:18px!important}.Chat-module_useTemplateButton__xcJNR .Chat-module_chatButtonText__RkGB-{display:none!important}.Chat-module_scrollToBottom__nzxdZ{font-size:16px;height:40px;top:calc(100% - 140px);width:40px}.Chat-module_ratingModal__XVKYm{align-items:flex-end;padding:0}.Chat-module_ratingModal__XVKYm[data-chat-modal=image-attachment]{align-items:center;padding:12px}.Chat-module_ratingModalContent__CCdq7{border-radius:20px 20px 0 0;margin:0;max-height:70vh;padding:24px 16px 20px;width:100%}.Chat-module_ratingModalContent__CCdq7.Chat-module_imageAttachmentModal__Ef6L5{border-radius:16px;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);padding:0;width:100%}.Chat-module_imageAttachmentModalHeader__onK3Z{padding:16px 56px 12px 16px}.Chat-module_imageAttachmentModalPreview__gXDer{max-height:calc(100vh - 96px);max-height:calc(100dvh - 96px);padding:12px}.Chat-module_imageAttachmentModalImage__t61oG{max-height:calc(100vh - 120px);max-height:calc(100dvh - 120px)}}@media (prefers-reduced-motion:reduce){.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ,.Chat-module_feedbackStatus__-df7l,.Chat-module_ratingModalContent__CCdq7,.Chat-module_ratingModal__XVKYm,.Chat-module_scrollToBottom__nzxdZ{animation:none}.Chat-module_chatButton__d9VgA,.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button,.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea,.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{transition:none}}@media (prefers-contrast:high){.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{border:2px solid}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea{border-width:3px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button{border:2px solid}}.Chat-module_emailContainer__TBxXZ{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.Chat-module_emailModalHeader__Z4-CJ{background:#f8fafc}.Chat-module_emailHeaderText__1dR6R{display:flex;flex-direction:column;gap:2px}.Chat-module_emailHeaderLabel__7iAEH{color:#64748b;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.Chat-module_emailMetadata__8XXGf{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 4px rgba(15,23,42,.08);margin-bottom:16px;padding:18px 20px}.Chat-module_emailField__pcb03{display:flex;font-size:14px;gap:8px;line-height:1.5;margin-bottom:8px}.Chat-module_emailField__pcb03:last-child{margin-bottom:0}.Chat-module_emailField__pcb03 strong{color:#64748b;font-weight:600;min-width:60px}.Chat-module_emailRecipients__YVVys{color:#0f172a;word-break:break-word}.Chat-module_emailBody__OBt-w{text-align:left}.Chat-module_emailBody__OBt-w strong{color:#64748b;display:block;font-size:14px;font-weight:600;margin-bottom:12px}.Chat-module_emailBodyContent__-vFo2{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 4px rgba(15,23,42,.08);line-height:1.6;max-height:400px;overflow-y:auto;padding:22px}.Chat-module_emailBodyContent__-vFo2 p{margin:0 0 12px}.Chat-module_emailBodyContent__-vFo2 p:last-child{margin-bottom:0}.Chat-module_browserRunModalHeader__0AyeK{background:linear-gradient(135deg,#f8fafc,#ecfeff 40%,#ecfccb);border-bottom:1px solid #dbeafe}.Chat-module_browserRunHeaderText__JUbNv{display:flex;flex-direction:column;gap:2px}.Chat-module_browserRunHeaderStatus__uu3Fi{color:#475467;font-size:13px;line-height:1.5;margin:0}.Chat-module_browserRunHeaderLabel__uKYCb{color:#475569;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.Chat-module_browserRunMeta__lJkQc{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 4px rgba(15,23,42,.08);margin-bottom:18px;padding:16px 18px}.Chat-module_browserRunWarning__ojdEP{background:#fffbeb;border:1px solid #fbbf24;border-radius:12px;color:#92400e;margin-bottom:14px;padding:12px 14px}.Chat-module_browserRunError__aELQo{background:#fef2f2;border:1px solid #fca5a5;border-radius:12px;color:#7f1d1d;margin-bottom:14px;padding:12px 14px}.Chat-module_browserRunErrorSummary__ygz-g{font-size:14px;line-height:1.5;margin:0}.Chat-module_browserRunErrorSteps__S96nl{display:flex;flex-direction:column;gap:6px;margin:8px 0 0;padding-left:18px}.Chat-module_browserRunDebugDetails__SZ3VT{margin-top:10px}.Chat-module_browserRunDebugDetails__SZ3VT summary{color:#7f1d1d;cursor:pointer;font-weight:600}.Chat-module_browserRunDebugDetails__SZ3VT pre{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;font-size:12px;line-height:1.45;margin:10px 0 0;max-height:220px;overflow:auto;padding:10px}.Chat-module_browserRunFallbackContent__NYCkp{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:14px;padding:14px 16px}.Chat-module_browserRunStatusBanner__ljIE9{background:rgba(248,250,252,.95);border:1px solid rgba(148,163,184,.28);border-radius:14px;color:#334155;font-size:13px;line-height:1.5;margin-bottom:18px;padding:12px 14px}.Chat-module_browserRunMediaGrid__KDz3I{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.Chat-module_browserRunMediaCard__focNP{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 1px 4px rgba(15,23,42,.08);display:flex;flex-direction:column;gap:10px;padding:12px}.Chat-module_browserRunMediaCardHeader__sOfLw{display:flex;flex-direction:column;gap:4px}.Chat-module_browserRunMediaTitle__a6Ctw{color:#0f172a;font-size:14px;font-weight:600;margin:0}.Chat-module_browserRunMediaCaption__LG8E6{color:#475569;font-size:12px;line-height:1.5;margin:0}.Chat-module_browserRunMediaImage__UI4pd,.Chat-module_browserRunMediaVideo__z2RgF{background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;max-height:260px;object-fit:contain;width:100%}.Chat-module_browserRunActionLog__YZ0CQ{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-top:18px;padding:14px 16px}.Chat-module_browserRunActionLogTitle__XaEIW{color:#64748b;font-size:13px;letter-spacing:.08em;margin:0 0 10px;text-transform:uppercase}.Chat-module_browserRunActionList__SOgfd{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.Chat-module_browserRunActionItem__1q668{align-items:center;background:#fff;border:1px solid rgba(226,232,240,.9);border-radius:12px;color:#0f172a;display:flex;font-size:14px;gap:10px;line-height:1.5;padding:10px 12px}.Chat-module_browserRunActionPending__unJJt{opacity:.82}.Chat-module_browserRunActionRunning__NdlRL{background:rgba(14,165,233,.08);border-color:rgba(14,165,233,.35)}.Chat-module_browserRunActionComplete__PU36H{background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.22)}.Chat-module_browserRunActionError__y-cm0{background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.24)}.Chat-module_browserRunActionState__pkfKg{background:#cbd5e1;border-radius:999px;flex-shrink:0;height:10px;width:10px}.Chat-module_browserRunActionStateRunning__L1IbZ{background:#0ea5e9;box-shadow:0 0 0 4px rgba(14,165,233,.14)}.Chat-module_browserRunActionStateComplete__CpVEc{background:#10b981;box-shadow:0 0 0 4px rgba(16,185,129,.12)}.Chat-module_browserRunActionStateError__lU-t4{background:#ef4444;box-shadow:0 0 0 4px rgba(239,68,68,.12)}.Chat-module_browserRunActionMeta__df32n{color:#64748b;font-size:12px;font-weight:600;margin-left:auto}@media print{.Chat-module_Chat__j2eE5{background:transparent!important;box-shadow:none!important;color:#f8fafc!important;min-height:auto!important;padding:0!important}.Chat-module_chatMainFlow__--8FE{gap:0!important;min-height:auto!important}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N{background:linear-gradient(150deg,rgba(2,6,23,.98),rgba(15,23,42,.92))!important;border:1px solid rgba(56,189,248,.32)!important;border-radius:40px!important;box-shadow:inset 0 40px 80px rgba(0,0,0,.35)!important;padding:48px 40px 64px!important;page-break-inside:avoid}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ{break-inside:avoid;page-break-inside:avoid}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{background:linear-gradient(145deg,var(--agent-chat-brand-color-light,#7dd3fc),var(--agent-chat-brand-color,#0ea5e9))!important;border:1px solid hsla(0,0%,100%,.35)!important;border-radius:32px!important;box-shadow:inset 0 18px 40px rgba(2,6,23,.6)!important;color:#f8fafc!important;padding:18px 22px!important}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV .Chat-module_messageText__XgNyQ{background:#f8fbff!important;border:1px solid rgba(148,163,184,.45)!important;box-shadow:inset 0 10px 30px rgba(15,23,42,.3)!important;color:#0f172a!important}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm{border:1px solid hsla(0,0%,100%,.35)!important}.Chat-module_messageMeta__eqCRu,.Chat-module_participantLabel__0Oo-3{color:rgba(226,232,240,.8)!important}.Chat-module_actions__gTZ5T,.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan,.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ button,.Chat-module_copyButtonContainer__Rij0U,.Chat-module_feedbackStatus__-df7l,.Chat-module_scrollToBottom__nzxdZ,.Chat-module_voiceCallIndicatorBar__N2sWN,.Chat-module_voiceCallIndicator__tsaaG{display:none!important}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N>:last-child{padding-bottom:100px!important}}.Chat-module_emailStatus__T4UuL{color:#0f172a;font-weight:600;text-transform:capitalize}.Chat-module_imagePrompt__v7-Ho{backdrop-filter:blur(12px);background:hsla(0,0%,100%,.25);border:1px solid hsla(0,0%,49%,.35);border-radius:18px;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.25);display:flex;flex-direction:column;gap:8px;margin-bottom:16px;margin-top:16px;padding:12px}.Chat-module_imagePromptPreview__ve5dB{background:linear-gradient(180deg,rgba(15,118,255,.05),hsla(0,0%,100%,.4));border:1px dashed hsla(0,0%,49%,.3);border-radius:14px;min-height:160px;overflow:hidden;position:relative}.Chat-module_imagePromptImage__KjE3H{display:block;height:100%;object-fit:cover;width:100%}.Chat-module_imagePromptPlaceholder__b8cW6{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.Chat-module_imagePromptSpinner__nat8r{animation:Chat-module_imagePromptSpinner__nat8r .9s linear infinite;border:3px solid hsla(0,0%,100%,.35);border-radius:50%;border-top-color:#2563eb;height:36px;width:36px}@keyframes Chat-module_imagePromptSpinner__nat8r{to{transform:rotate(1turn)}}.Chat-module_imagePromptMeta__YwltP{display:flex;flex-direction:column;gap:4px}.Chat-module_imagePromptPrompt__N1E--{color:#111;font-size:13px;font-weight:500;overflow-wrap:anywhere}.Chat-module_imagePromptStatus__0ROQF{color:#6b7280;font-size:11px}.Chat-module_imagePromptError__x1952{align-items:center;background:rgba(220,38,38,.08);color:#dc2626;display:flex;font-size:12px;inset:0;justify-content:center;padding:12px;position:absolute;text-align:center}.Chat-module_richFeaturePlaceholder__mXS7-{align-items:center;background:rgba(56,189,248,.12);border:1px solid rgba(59,130,246,.25);border-radius:18px;display:flex;gap:12px;margin-bottom:16px;margin-top:16px;padding:12px 14px}.Chat-module_richFeaturePlaceholderSpinner__ingFq{animation:Chat-module_richFeatureSpinner__eOql6 .8s linear infinite;border:3px solid rgba(59,130,246,.3);border-radius:50%;border-top-color:#22d3ee;height:32px;width:32px}.Chat-module_richFeaturePlaceholderCopy__sEgxN{display:flex;flex-direction:column}.Chat-module_richFeaturePlaceholderTitle__lF7rJ{color:#0f172a;font-size:13px;font-weight:600}.Chat-module_richFeaturePlaceholderStatus__UJg09{color:#475569;font-size:11px}.Chat-module_progressPanel__9M8h9{background:linear-gradient(180deg,rgba(239,246,255,.94),rgba(219,234,254,.86));border:1px solid rgba(59,130,246,.24);border-radius:16px;display:flex;flex-direction:column;gap:10px;margin-bottom:12px;margin-top:10px;padding:12px 13px}.Chat-module_progressPanelTitle__rBdoY{color:#0f172a;font-size:12px;font-weight:700;line-height:1.3}.Chat-module_progressPanelTitle__rBdoY p{margin:0}.Chat-module_progressPanelSection__F3xUF{display:flex;flex-direction:column;gap:4px}.Chat-module_progressPanelSectionLabel__aTPgr{color:#1d4ed8;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.Chat-module_progressPanelSectionBody__Z7zX0{color:#0f172a;font-size:12px;line-height:1.35}.Chat-module_progressPanelSectionBody__Z7zX0 p{margin:0}.Chat-module_progressPanelList__PHFeP{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.Chat-module_progressPanelListItem__7v9jN{align-items:flex-start;display:grid;gap:8px;grid-template-columns:auto auto 1fr}.Chat-module_progressPanelListBullet__Tzvi7{color:#2563eb;font-size:14px;line-height:1.2;margin-top:2px}.Chat-module_progressPanelItemSpinner__oJ6Az{animation:Chat-module_progressPanelSpinner__pzxP2 .75s linear infinite;border:2px solid rgba(37,99,235,.26);border-radius:9999px;border-top-color:#2563eb;height:11px;margin-top:3px;width:11px}.Chat-module_progressPanelItemCompleted__7bJhG{align-items:center;background:rgba(34,197,94,.16);border-radius:9999px;color:#15803d;display:inline-flex;font-size:9px;font-weight:700;height:11px;justify-content:center;line-height:1;margin-top:2px;width:11px}.Chat-module_progressPanelItemText__tZPIs{color:#0f172a;font-size:12px;line-height:1.35}.Chat-module_progressPanelItemText__tZPIs p{margin:0}@keyframes Chat-module_progressPanelSpinner__pzxP2{to{transform:rotate(1turn)}}@keyframes Chat-module_richFeatureSpinner__eOql6{to{transform:rotate(1turn)}}\n/*# sourceMappingURL=data:application/json;base64,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Z0IsQ0FFaEIsZUFDSixDQUVBLHlDQUNJLFFBQ0osQ0FFQSx5Q0FDSSxZQUFhLENBQ2IscUJBQXNCLENBQ3RCLE9BQ0osQ0FFQSw4Q0FLSSxhQUFjLENBSmQsY0FBZSxDQUdmLGVBQWdCLENBRmhCLG9CQUFzQixDQUN0Qix3QkFHSixDQUVBLDZDQUVJLGFBQWMsQ0FEZCxjQUFlLENBRWYsZ0JBQ0osQ0FFQSwrQ0FDSSxRQUNKLENBRUEsc0NBSUksWUFBYSxDQUNiLHFCQUFzQixDQUN0QixPQUFRLENBTFIsZUFBZ0IsQ0FDaEIsUUFBUyxDQUNULFNBSUosQ0FFQSwwQ0FHSSxzQkFBdUIsQ0FGdkIsWUFBYSxDQUdiLE9BQVEsQ0FGUixtQ0FHSixDQUVBLDRDQUVJLGFBQWMsQ0FEZCxjQUFlLENBRWYsZUFBZ0IsQ0FDaEIsY0FDSixDQUVBLDZDQU1JLHNFQUFxRCxDQURyRCxvQ0FBeUIsQ0FGekIsb0JBQXFCLENBRXJCLHdCQUF5QixDQUh6QixXQUFZLENBS1osY0FBZSxDQU5mLFVBT0osQ0FFQSwrQ0FFSSxrQkFBbUIsQ0FNbkIsOEJBQW1DLENBRG5DLG9CQUFxQixDQUVyQixhQUFjLENBUmQsbUJBQW9CLENBU3BCLGFBQWMsQ0FFZCxlQUFnQixDQVBoQixXQUFZLENBRlosc0JBQXVCLENBUXZCLGFBQWMsQ0FMZCxjQUFlLENBRmYsVUFTSixDQUVBLDBDQUVJLGFBQWMsQ0FEZCxjQUFlLENBRWYsZ0JBQ0osQ0FFQSw0Q0FDSSxRQUNKLENBRUEsbURBQ0ksR0FDSSx1QkFDSixDQUNKLENBRUEsaURBQ0ksR0FDSSx1QkFDSixDQUNKIiwiZmlsZSI6IkNoYXQubW9kdWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnT3Blbk1vamlCbGFjayc7XG4gICAgc3JjOiB1cmwoJy9mb250cy9PcGVuTW9qaS1ibGFjay1nbHlmLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJ2h0dHBzOi8vczYucHRiay5pby9mb250cy9PcGVuTW9qaS1ibGFjay1nbHlmLndvZmYyJykgZm9ybWF0KCd3b2ZmMicpOyAvKiA8LSBUT0RPOiBb8J+QseKAjfCfmoBdIER5bmFtaWNhbGx5IGxvYWQgZnJvbSAvc2VydmVycy50cyAqL1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICB1bmljb2RlLXJhbmdlOiBVKzIzLCBVKzJBLCBVKzJELCBVKzMwLTM5LCBVK0E5LCBVK0FFLCBVKzIwMEQsIFUrMjAzQywgVSsyMDQ5LCBVKzIwRTMsIFUrMjExNywgVSsyMTIwLCBVKzIxMjIsIFUrMjEzOSxcbiAgICAgICAgVSsyMTk0LTIxOTksIFUrMjFBOSwgVSsyMUFBLCBVKzIyOUMsIFUrMjMxQSwgVSsyMzFCLCBVKzIzMjgsIFUrMjNDRiwgVSsyM0U5LTIzRjMsIFUrMjNGOC0yM0ZFLCBVKzI0QzIsIFUrMjVBMSxcbiAgICAgICAgVSsyNUFBLTI1QUUsIFUrMjVCNiwgVSsyNUMwLCBVKzI1QzksIFUrMjVEMCwgVSsyNUQxLCBVKzI1RTctMjVFQSwgVSsyNUVELCBVKzI1RUUsIFUrMjVGQi0yNUZFLCBVKzI2MDAtMjYwNSxcbiAgICAgICAgVSsyNjBFLCBVKzI2MTEsIFUrMjYxNCwgVSsyNjE1LCBVKzI2MTgsIFUrMjYxRCwgVSsyNjIwLCBVKzI2MjIsIFUrMjYyMywgVSsyNjI2LCBVKzI2MkEsIFUrMjYyRSwgVSsyNjJGLFxuICAgICAgICBVKzI2MzgtMjYzQSwgVSsyNjQwLCBVKzI2NDIsIFUrMjY0OC0yNjUzLCBVKzI2NUYsIFUrMjY2MCwgVSsyNjYzLCBVKzI2NjUsIFUrMjY2NiwgVSsyNjY4LCBVKzI2N0IsIFUrMjY3RSwgVSsyNjdGLFxuICAgICAgICBVKzI2OTEtMjY5NywgVSsyNjk5LCBVKzI2OUIsIFUrMjY5QywgVSsyNkEwLCBVKzI2QTEsIFUrMjZBNywgVSsyNkFBLCBVKzI2QUIsIFUrMjZCMCwgVSsyNkIxLCBVKzI2QkQsIFUrMjZCRSxcbiAgICAgICAgVSsyNkM0LCBVKzI2QzUsIFUrMjZDOCwgVSsyNkNFLCBVKzI2Q0YsIFUrMjZEMSwgVSsyNkQzLCBVKzI2RDQsIFUrMjZFOSwgVSsyNkVBLCBVKzI2RjAtMjZGNSwgVSsyNkY3LTI2RkEsIFUrMjZGRCxcbiAgICAgICAgVSsyNzAyLCBVKzI3MDUsIFUrMjcwOC0yNzBELCBVKzI3MEYsIFUrMjcxMiwgVSsyNzE0LCBVKzI3MTYsIFUrMjcxRCwgVSsyNzIxLCBVKzI3MjgsIFUrMjczMywgVSsyNzM0LCBVKzI3NDQsXG4gICAgICAgIFUrMjc0NywgVSsyNzRDLCBVKzI3NEUsIFUrMjc1My0yNzU1LCBVKzI3NTcsIFUrMjc2MywgVSsyNzY0LCBVKzI3OTUtMjc5NywgVSsyN0ExLCBVKzI3QjAsIFUrMjdCRiwgVSsyOTM0LCBVKzI5MzUsXG4gICAgICAgIFUrMkIwNS0yQjA3LCBVKzJCMEMsIFUrMkIwRCwgVSsyQjFCLCBVKzJCMUMsIFUrMkIxRi0yQjI0LCBVKzJCMkUsIFUrMkIyRiwgVSsyQjUwLCBVKzJCNTUsIFUrMkI1OCwgVSsyQjhGLFxuICAgICAgICBVKzJCQkEtMkJCQywgVSsyQkMzLCBVKzJCQzQsIFUrMkJFQSwgVSsyQkVCLCBVKzMwMzAsIFUrMzAzRCwgVSszMjk3LCBVKzMyOTksIFUrRTAwMC1FMDA5LCBVK0UwMTAsIFUrRTAxMSxcbiAgICAgICAgVStFMDQwLUUwNkQsIFUrRTA4MC1FMEI0LCBVK0UwQzAtRTBDQywgVStFMEZGLUUxMEQsIFUrRTE0MC1FMTRBLCBVK0UxNTAtRTE1NywgVStFMTgxLUUxODksIFUrRTFDMC1FMUM0LFxuICAgICAgICBVK0UxQzYtRTFEOSwgVStFMjAwLUUyMTYsIFUrRTI0MC1FMjY5LCBVK0UyODAtRTI4MywgVStFMkMwLUUyQzQsIFUrRTJDNi1FMkRBLCBVK0UzMDAtRTMwMywgVStFMzA1LUUzMEYsXG4gICAgICAgIFUrRTMxMi1FMzE2LCBVK0UzMTgtRTMyMiwgVStFMzI0LUUzMjksIFUrRTMyQiwgVStFMzQwLUUzNDgsIFUrRTM4MCwgVStFMzgxLCBVK0YwMDAsIFUrRjc3QSwgVStGOEZGLCBVK0ZFMEYsXG4gICAgICAgIFUrMUYwMDQsIFUrMUYwQ0YsIFUrMUYxMEQtMUYxMEYsIFUrMUYxMkYsIFUrMUYxNkQtMUYxNzEsIFUrMUYxN0UsIFUrMUYxN0YsIFUrMUYxOEUsIFUrMUYxOTEtMUYxOUEsIFUrMUYxRTYtMUYxRkYsXG4gICAgICAgIFUrMUYyMDEsIFUrMUYyMDIsIFUrMUYyMUEsIFUrMUYyMkYsIFUrMUYyMzItMUYyM0EsIFUrMUYyNTAsIFUrMUYyNTEsIFUrMUYyNjAtMUYyNjUsIFUrMUYzMDAtMUYzMjEsIFUrMUYzMjQtMUYzOTMsXG4gICAgICAgIFUrMUYzOTYsIFUrMUYzOTcsIFUrMUYzOTktMUYzOUIsIFUrMUYzOUUtMUYzRjAsIFUrMUYzRjMtMUYzRjUsIFUrMUYzRjctMUY0RkQsIFUrMUY0RkYtMUY1M0QsIFUrMUY1NDktMUY1NEUsXG4gICAgICAgIFUrMUY1NTAtMUY1NjcsIFUrMUY1NkYsIFUrMUY1NzAsIFUrMUY1NzMtMUY1N0EsIFUrMUY1ODcsIFUrMUY1OEEtMUY1OEQsIFUrMUY1OTAsIFUrMUY1OTUsIFUrMUY1OTYsIFUrMUY1QTQsXG4gICAgICAgIFUrMUY1QTUsIFUrMUY1QTgsIFUrMUY1QjEsIFUrMUY1QjIsIFUrMUY1QkMsIFUrMUY1QzItMUY1QzQsIFUrMUY1RDEtMUY1RDMsIFUrMUY1REMtMUY1REUsIFUrMUY1RTEsIFUrMUY1RTMsXG4gICAgICAgIFUrMUY1RTgsIFUrMUY1RUYsIFUrMUY1RjMsIFUrMUY1RkEtMUY2NEYsIFUrMUY2ODAtMUY2QzUsIFUrMUY2Q0ItMUY2RDIsIFUrMUY2RDUtMUY2RDcsIFUrMUY2REMtMUY2RTUsIFUrMUY2RTksXG4gICAgICAgIFUrMUY2RUIsIFUrMUY2RUMsIFUrMUY2RjAsIFUrMUY2RjMtMUY2RkMsIFUrMUY3RTAtMUY3RUIsIFUrMUY3RjAsIFUrMUY5MEMtMUY5M0EsIFUrMUY5M0MtMUY5NDUsIFUrMUY5NDctMUY5RkYsXG4gICAgICAgIFUrMUZBNzAtMUZBN0MsIFUrMUZBODAtMUZBODgsIFUrMUZBOTAtMUZBQkQsIFUrMUZBQkYtMUZBQzUsIFUrMUZBQ0UtMUZBREIsIFUrMUZBRTAtMUZBRTgsIFUrMUZBRjAtMUZBRjgsXG4gICAgICAgIFUrMUZCQzUtMUZCQzksIFUrRTAwNjEtRTAwNjcsIFUrRTAwNjksIFUrRTAwNkMtRTAwNzksIFUrRTAwN0Y7XG59XG5cbkBmb250LWZhY2Uge1xuICAgIGZvbnQtZmFtaWx5OiAnT3Blbk1vamlDb2xvcic7XG4gICAgc3JjOiB1cmwoJy9mb250cy9PcGVuTW9qaS1jb2xvci1jYmR0LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpLFxuICAgICAgICB1cmwoJ2h0dHBzOi8vczYucHRiay5pby9mb250cy9PcGVuTW9qaS1jb2xvci1jYmR0LndvZmYyJykgZm9ybWF0KCd3b2ZmMicpO1xuICAgIGZvbnQtZGlzcGxheTogc3dhcDtcbiAgICB1bmljb2RlLXJhbmdlOiBVKzIzLCBVKzJBLCBVKzJELCBVKzMwLTM5LCBVK0E5LCBVK0FFLCBVKzIwMEQsIFUrMjAzQywgVSsyMDQ5LCBVKzIwRTMsIFUrMjExNywgVSsyMTIwLCBVKzIxMjIsIFUrMjEzOSxcbiAgICAgICAgVSsyMTk0LTIxOTksIFUrMjFBOSwgVSsyMUFBLCBVKzIyOUMsIFUrMjMxQSwgVSsyMzFCLCBVKzIzMjgsIFUrMjNDRiwgVSsyM0U5LTIzRjMsIFUrMjNGOC0yM0ZFLCBVKzI0QzIsIFUrMjVBMSxcbiAgICAgICAgVSsyNUFBLTI1QUUsIFUrMjVCNiwgVSsyNUMwLCBVKzI1QzksIFUrMjVEMCwgVSsyNUQxLCBVKzI1RTctMjVFQSwgVSsyNUVELCBVKzI1RUUsIFUrMjVGQi0yNUZFLCBVKzI2MDAtMjYwNSxcbiAgICAgICAgVSsyNjBFLCBVKzI2MTEsIFUrMjYxNCwgVSsyNjE1LCBVKzI2MTgsIFUrMjYxRCwgVSsyNjIwLCBVKzI2MjIsIFUrMjYyMywgVSsyNjI2LCBVKzI2MkEsIFUrMjYyRSwgVSsyNjJGLFxuICAgICAgICBVKzI2MzgtMjYzQSwgVSsyNjQwLCBVKzI2NDIsIFUrMjY0OC0yNjUzLCBVKzI2NUYsIFUrMjY2MCwgVSsyNjYzLCBVKzI2NjUsIFUrMjY2NiwgVSsyNjY4LCBVKzI2N0IsIFUrMjY3RSwgVSsyNjdGLFxuICAgICAgICBVKzI2OTEtMjY5NywgVSsyNjk5LCBVKzI2OUIsIFUrMjY5QywgVSsyNkEwLCBVKzI2QTEsIFUrMjZBNywgVSsyNkFBLCBVKzI2QUIsIFUrMjZCMCwgVSsyNkIxLCBVKzI2QkQsIFUrMjZCRSxcbiAgICAgICAgVSsyNkM0LCBVKzI2QzUsIFUrMjZDOCwgVSsyNkNFLCBVKzI2Q0YsIFUrMjZEMSwgVSsyNkQzLCBVKzI2RDQsIFUrMjZFOSwgVSsyNkVBLCBVKzI2RjAtMjZGNSwgVSsyNkY3LTI2RkEsIFUrMjZGRCxcbiAgICAgICAgVSsyNzAyLCBVKzI3MDUsIFUrMjcwOC0yNzBELCBVKzI3MEYsIFUrMjcxMiwgVSsyNzE0LCBVKzI3MTYsIFUrMjcxRCwgVSsyNzIxLCBVKzI3MjgsIFUrMjczMywgVSsyNzM0LCBVKzI3NDQsXG4gICAgICAgIFUrMjc0NywgVSsyNzRDLCBVKzI3NEUsIFUrMjc1My0yNzU1LCBVKzI3NTcsIFUrMjc2MywgVSsyNzY0LCBVKzI3OTUtMjc5NywgVSsyN0ExLCBVKzI3QjAsIFUrMjdCRiwgVSsyOTM0LCBVKzI5MzUsXG4gICAgICAgIFUrMkIwNS0yQjA3LCBVKzJCMEMsIFUrMkIwRCwgVSsyQjFCLCBVKzJCMUMsIFUrMkIxRi0yQjI0LCBVKzJCMkUsIFUrMkIyRiwgVSsyQjUwLCBVKzJCNTUsIFUrMkI1OCwgVSsyQjhGLFxuICAgICAgICBVKzJCQkEtMkJCQywgVSsyQkMzLCBVKzJCQzQsIFUrMkJFQSwgVSsyQkVCLCBVKzMwMzAsIFUrMzAzRCwgVSszMjk3LCBVKzMyOTksIFUrRTAwMC1FMDA5LCBVK0UwMTAsIFUrRTAxMSxcbiAgICAgICAgVStFMDQwLUUwNkQsIFUrRTA4MC1FMEI0LCBVK0UwQzAtRTBDQywgVStFMEZGLUUxMEQsIFUrRTE0MC1FMTRBLCBVK0UxNTAtRTE1NywgVStFMTgxLUUxODksIFUrRTFDMC1FMUM0LFxuICAgICAgICBVK0UxQzYtRTFEOSwgVStFMjAwLUUyMTYsIFUrRTI0MC1FMjY5LCBVK0UyODAtRTI4MywgVStFMkMwLUUyQzQsIFUrRTJDNi1FMkRBLCBVK0UzMDAtRTMwMywgVStFMzA1LUUzMEYsXG4gICAgICAgIFUrRTMxMi1FMzE2LCBVK0UzMTgtRTMyMiwgVStFMzI0LUUzMjksIFUrRTMyQiwgVStFMzQwLUUzNDgsIFUrRTM4MCwgVStFMzgxLCBVK0YwMDAsIFUrRjc3QSwgVStGOEZGLCBVK0ZFMEYsXG4gICAgICAgIFUrMUYwMDQsIFUrMUYwQ0YsIFUrMUYxMEQtMUYxMEYsIFUrMUYxMkYsIFUrMUYxNkQtMUYxNzEsIFUrMUYxN0UsIFUrMUYxN0YsIFUrMUYxOEUsIFUrMUYxOTEtMUYxOUEsIFUrMUYxRTYtMUYxRkYsXG4gICAgICAgIFUrMUYyMDEsIFUrMUYyMDIsIFUrMUYyMUEsIFUrMUYyMkYsIFUrMUYyMzItMUYyM0EsIFUrMUYyNTAsIFUrMUYyNTEsIFUrMUYyNjAtMUYyNjUsIFUrMUYzMDAtMUYzMjEsIFUrMUYzMjQtMUYzOTMsXG4gICAgICAgIFUrMUYzOTYsIFUrMUYzOTcsIFUrMUYzOTktMUYzOUIsIFUrMUYzOUUtMUYzRjAsIFUrMUYzRjMtMUYzRjUsIFUrMUYzRjctMUY0RkQsIFUrMUY0RkYtMUY1M0QsIFUrMUY1NDktMUY1NEUsXG4gICAgICAgIFUrMUY1NTAtMUY1NjcsIFUrMUY1NkYsIFUrMUY1NzAsIFUrMUY1NzMtMUY1N0EsIFUrMUY1ODcsIFUrMUY1OEEtMUY1OEQsIFUrMUY1OTAsIFUrMUY1OTUsIFUrMUY1OTYsIFUrMUY1QTQsXG4gICAgICAgIFUrMUY1QTUsIFUrMUY1QTgsIFUrMUY1QjEsIFUrMUY1QjIsIFUrMUY1QkMsIFUrMUY1QzItMUY1QzQsIFUrMUY1RDEtMUY1RDMsIFUrMUY1REMtMUY1REUsIFUrMUY1RTEsIFUrMUY1RTMsXG4gICAgICAgIFUrMUY1RTgsIFUrMUY1RUYsIFUrMUY1RjMsIFUrMUY1RkEtMUY2NEYsIFUrMUY2ODAtMUY2QzUsIFUrMUY2Q0ItMUY2RDIsIFUrMUY2RDUtMUY2RDcsIFUrMUY2REMtMUY2RTUsIFUrMUY2RTksXG4gICAgICAgIFUrMUY2RUIsIFUrMUY2RUMsIFUrMUY2RjAsIFUrMUY2RjMtMUY2RkMsIFUrMUY3RTAtMUY3RUIsIFUrMUY3RjAsIFUrMUY5MEMtMUY5M0EsIFUrMUY5M0MtMUY5NDUsIFUrMUY5NDctMUY5RkYsXG4gICAgICAgIFUrMUZBNzAtMUZBN0MsIFUrMUZBODAtMUZBODgsIFUrMUZBOTAtMUZBQkQsIFUrMUZBQkYtMUZBQzUsIFUrMUZBQ0UtMUZBREIsIFUrMUZBRTAtMUZBRTgsIFUrMUZBRjAtMUZBRjgsXG4gICAgICAgIFUrMUZCQzUtMUZCQzksIFUrRTAwNjEtRTAwNjcsIFUrRTAwNjksIFUrRTAwNkMtRTAwNzksIFUrRTAwN0Y7XG59XG5cbi5jb3BpZWRUb0NsaXBib2FyZE1lc3NhZ2Uge1xuICAgIHBvc2l0aW9uOiBmaXhlZDtcbiAgICB0b3A6IDMycHg7XG4gICAgbGVmdDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKTtcbiAgICBiYWNrZ3JvdW5kOiAjMjIyO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIHBhZGRpbmc6IDEwcHggMjRweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgZm9udC1zaXplOiAxLjFlbTtcbiAgICBib3gtc2hhZG93OiAwIDJweCAxMnB4IHJnYmEoMCwgMCwgMCwgMC4xOCk7XG4gICAgb3BhY2l0eTogMC45NztcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICB6LWluZGV4OiA5OTk5O1xufVxuXG4uQ2hhdCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG5cbiAgICBmb250LWZhbWlseTogdmFyKFxuICAgICAgICAgICAgLS1jaGF0LWZvbnQtZmFtaWx5LFxuICAgICAgICAgICAgdmFyKC0tZm9udC1wb3BwaW5zLCAnUG9wcGlucycsIHN5c3RlbS11aSwgLWFwcGxlLXN5c3RlbSwgJ1NlZ29lIFVJJywgc2Fucy1zZXJpZilcbiAgICAgICAgKSxcbiAgICAgICAgJ09wZW5Nb2ppQ29sb3InLCAnT3Blbk1vamlCbGFjayc7XG5cbiAgICAtLWNoYXQtbWVzc2FnZS1taW4td2lkdGg6IDE3MHB4O1xuICAgIC0tY2hhdC1tZXNzYWdlLWF2YXRhci1nYXA6IDE0cHg7XG4gICAgLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLXNpemU6IDQycHg7XG4gICAgLS1jaGF0LW1lc3NhZ2UtbWF4LXdpZHRoOiBtaW4oXG4gICAgICAgIDcyJSxcbiAgICAgICAgNjgwcHgsXG4gICAgICAgIGNhbGMoMTAwJSAtIHZhcigtLWNoYXQtbWVzc2FnZS1hdmF0YXItc2l6ZSkgLSB2YXIoLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLWdhcCkpXG4gICAgKTtcbiAgICAtLWNoYXQtYnViYmxlLXJhZGl1czogMjRweDtcbiAgICAtLWNoYXQtYnViYmxlLXNoYWRvdzogMCAxMnB4IDM0cHggcmdiYSgxNSwgMjMsIDQyLCAwLjE2KTtcbiAgICAtLWNoYXQtYnViYmxlLXNoYWRvdy1ob3ZlcjogMCAxOHB4IDQycHggcmdiYSgxNSwgMjMsIDQyLCAwLjIpO1xuICAgIC0tY2hhdC1idWJibGUtYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzQpO1xuICAgIC0tY2hhdC1idWJibGUtZm9udC1zaXplOiAxNXB4O1xuICAgIC0tY2hhdC1idWJibGUtbGluZS1oZWlnaHQ6IDEuNjI7XG4gICAgLS1jaGF0LWlucHV0LXZpc2libGUtbGluZXM6IDM7XG4gICAgLS1jaGF0LWlucHV0LWZvbnQtc2l6ZTogMTVweDtcbiAgICAtLWNoYXQtaW5wdXQtbGluZS1oZWlnaHQ6IDEuNTtcbiAgICAtLWNoYXQtaW5wdXQtcGFkZGluZy15OiAxMHB4O1xuICAgIC0tY2hhdC1pbnB1dC1wYWRkaW5nLXg6IDEycHg7XG4gICAgLS1jaGF0LWlucHV0LWFjdGlvbi1zaXplOiA0MHB4O1xuICAgIC0tY2hhdC1pbnB1dC10ZXh0YXJlYS1oZWlnaHQ6IGNhbGMoXG4gICAgICAgIHZhcigtLWNoYXQtaW5wdXQtdmlzaWJsZS1saW5lcykgKiB2YXIoLS1jaGF0LWlucHV0LWZvbnQtc2l6ZSkgKiB2YXIoLS1jaGF0LWlucHV0LWxpbmUtaGVpZ2h0KSArXG4gICAgICAgICAgICAoMiAqIHZhcigtLWNoYXQtaW5wdXQtcGFkZGluZy15KSlcbiAgICApO1xuICAgIC0tY2hhdC1tZXNzYWdlLW1ldGEtY29sb3I6IHJnYmEoNzEsIDg1LCAxMDUsIDAuODUpO1xuICAgIC0tY2hhdC1tZXNzYWdlLWxpZmVjeWNsZS1iYWRnZS1iYWNrZ3JvdW5kOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMTYpO1xuICAgIC0tY2hhdC1tZXNzYWdlLWxpZmVjeWNsZS1iYWRnZS1jb2xvcjogIzQ3NTU2OTtcbiAgICAtLWNoYXQtcGFydGljaXBhbnQtbGFiZWwtY29sb3I6IHJnYmEoNzEsIDg1LCAxMDUsIDAuODIpO1xuICAgIC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI4KTtcbiAgICAtLWNoYXQtbWVzc2FnZS1jb250cm9sLWJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQ2KTtcbiAgICAtLWNoYXQtbWVzc2FnZS1jb250cm9sLWhvdmVyLWJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNik7XG4gICAgLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1ob3Zlci1ib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC43Nik7XG4gICAgLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1jb2xvcjogIzExMTExMTtcbiAgICAtLWNoYXQtbWVzc2FnZS1jb250cm9sLXNoYWRvdzogMCAycHggOHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xNik7XG4gICAgLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1ob3Zlci1zaGFkb3c6IDAgNXB4IDE0cHggcmdiYSgxNSwgMjMsIDQyLCAwLjIyKTtcbiAgICAtLWNoYXQtbWVzc2FnZS1jb250cm9sLXNwaW5uZXItYm9yZGVyLWNvbG9yOiByZ2JhKDAsIDAsIDAsIDAuMyk7XG4gICAgLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1zcGlubmVyLWFjY2VudC1jb2xvcjogIzExMTExMTtcbiAgICAtLWNoYXQtYXJ0aWNsZS1jb250cm9sLWJhY2tncm91bmQ6ICNmOGZhZmM7XG4gICAgLS1jaGF0LWFydGljbGUtY29udHJvbC1ib3JkZXItY29sb3I6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC42NSk7XG4gICAgLS1jaGF0LWFydGljbGUtY29udHJvbC1ob3Zlci1iYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIC0tY2hhdC1hcnRpY2xlLWNvbnRyb2wtaG92ZXItYm9yZGVyLWNvbG9yOiByZ2JhKDEwMCwgMTE2LCAxMzksIDAuODIpO1xuICAgIC0tY2hhdC1hcnRpY2xlLWNvbnRyb2wtaG92ZXItc2hhZG93OiAwIDJweCA4cHggcmdiYSgxNSwgMjMsIDQyLCAwLjEyKTtcbiAgICAtLWNoYXQtYXJ0aWNsZS1yYXRpbmctYmFja2dyb3VuZDogcmdiYSgyNDgsIDI1MCwgMjUyLCAwLjkpO1xuICAgIC0tY2hhdC1hcnRpY2xlLXJhdGluZy1ib3JkZXItY29sb3I6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC41KTtcbiAgICAtLWNoYXQtYXJ0aWNsZS1yYXRpbmctaG92ZXItYmFja2dyb3VuZDogcmdiYSgyNDEsIDI0NSwgMjQ5LCAwLjk0KTtcbiAgICAtLWNoYXQtYXJ0aWNsZS1yYXRpbmctaG92ZXItYm9yZGVyLWNvbG9yOiByZ2JhKDEwMCwgMTE2LCAxMzksIDAuNjIpO1xuICAgIC0tY2hhdC1hcnRpY2xlLXJhdGluZy1zaGFkb3c6IG5vbmU7XG4gICAgLS1jaGF0LWlucHV0LWJvcmRlci1jb2xvcjogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjE0KTtcbiAgICAtLWNoYXQtaW5wdXQtYmFja2Ryb3A6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgMTgwZGVnLFxuICAgICAgICByZ2JhKDI0OCwgMjUwLCAyNTIsIDApIDAlLFxuICAgICAgICByZ2JhKDI0OCwgMjUwLCAyNTIsIDAuOSkgNDQlLFxuICAgICAgICByZ2JhKDI0OCwgMjUwLCAyNTIsIDAuOTYpIDEwMCVcbiAgICApO1xuICAgIC0tY2hhdC1mdWxsLXBhZ2UtaW5wdXQtYmFja2Ryb3A6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgMTgwZGVnLFxuICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMDIpIDAlLFxuICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODYpIDYwJSxcbiAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk1KSAxMDAlXG4gICAgKTtcbiAgICAtLWNoYXQtaW5wdXQtZHJhZy1vdmVyLWJhY2tkcm9wOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIDE4MGRlZyxcbiAgICAgICAgcmdiYSg1NiwgMTg5LCAyNDgsIDAuMDQpIDAlLFxuICAgICAgICByZ2JhKDE0LCAxNjUsIDIzMywgMC4xMykgMTAwJVxuICAgICk7XG4gICAgLS1jaGF0LWlucHV0LWNvbnRhaW5lci1iYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIDE1MGRlZyxcbiAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk4KSAwJSxcbiAgICAgICAgcmdiYSgyNDgsIDI1MCwgMjUyLCAwLjk0KSAxMDAlXG4gICAgKTtcbiAgICAtLWNoYXQtaW5wdXQtY29udGFpbmVyLWJvcmRlci1jb2xvcjogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjMpO1xuICAgIC0tY2hhdC1pbnB1dC1jb250YWluZXItc2hhZG93OiAwIDE0cHggMzRweCByZ2JhKDE1LCAyMywgNDIsIDAuMTIpLFxuICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICAtLWNoYXQtaW5wdXQtdGV4dC1jb2xvcjogIzBmMTcyYTtcbiAgICAtLWNoYXQtaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICM4YjliYjE7XG4gICAgLS1jaGF0LWlucHV0LWFjdGlvbi1jb2xvcjogIzY0NzQ4YjtcbiAgICAtLWNoYXQtaW5wdXQtYWN0aW9uLWhvdmVyLWJhY2tncm91bmQ6ICNmMWY1Zjk7XG4gICAgLS1jaGF0LWlucHV0LWFjdGlvbi1ob3Zlci1jb2xvcjogIzBmMTcyYTtcbiAgICAtLWNoYXQtZmlsZS1wcmV2aWV3LWJhY2tncm91bmQ6IHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4xKTtcbiAgICAtLWNoYXQtZmlsZS1wcmV2aWV3LWJvcmRlci1jb2xvcjogcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjIpO1xuICAgIC0tY2hhdC1maWxlLXByZXZpZXctaG92ZXItYmFja2dyb3VuZDogcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjE1KTtcbiAgICAtLWNoYXQtZmlsZS1wcmV2aWV3LWhvdmVyLWJvcmRlci1jb2xvcjogcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjMpO1xuICAgIC0tY2hhdC1maWxlLW5hbWUtY29sb3I6ICMwMDAwMDA7XG4gICAgLS1jaGF0LWZpbGUtc2l6ZS1jb2xvcjogIzZiNzI4MDtcbiAgICAtLWNoYXQtZGljdGF0aW9uLXBhbmVsLWJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KTtcbiAgICAtLWNoYXQtZGljdGF0aW9uLXBhbmVsLWJvcmRlci1jb2xvcjogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjM1KTtcbiAgICAtLWNoYXQtZGljdGF0aW9uLXBhbmVsLWNvbG9yOiAjMGYxNzJhO1xuICAgIC0tY2hhdC1kaWN0YXRpb24tdGl0bGUtY29sb3I6ICM0NzU1Njk7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi10b2dnbGUtYmFja2dyb3VuZDogI2Y4ZmFmYztcbiAgICAtLWNoYXQtZGljdGF0aW9uLXRvZ2dsZS1jb2xvcjogIzMzNDE1NTtcbiAgICAtLWNoYXQtZGljdGF0aW9uLXRyYW5zY3JpcHQtYmFja2dyb3VuZDogcmdiYSgyMzksIDI0NiwgMjU1LCAwLjkpO1xuICAgIC0tY2hhdC1kaWN0YXRpb24tdHJhbnNjcmlwdC1jb2xvcjogIzBjNGE2ZTtcbiAgICAtLWNoYXQtZGljdGF0aW9uLXNldHRpbmdzLWNvbG9yOiAjMzM0MTU1O1xuICAgIC0tY2hhdC1kaWN0YXRpb24tZmFsbGJhY2stY29sb3I6ICM0NzU1Njk7XG4gICAgLS1jaGF0LXJlcGx5LWNvbXBvc2VyLWJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45Mik7XG4gICAgLS1jaGF0LXJlcGx5LWNvbXBvc2VyLWJvcmRlci1jb2xvcjogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjMpO1xuICAgIC0tY2hhdC1yZXBseS1jb21wb3Nlci1zaGFkb3c6IDAgMTBweCAyNHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4wOCk7XG4gICAgLS1jaGF0LXJlcGx5LWRpc21pc3MtYmFja2dyb3VuZDogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjE0KTtcbiAgICAtLWNoYXQtcmVwbHktZGlzbWlzcy1ob3Zlci1iYWNrZ3JvdW5kOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMjQpO1xuICAgIC0tY2hhdC1yZXBseS1kaXNtaXNzLWNvbG9yOiAjNDc1NTY5O1xuICAgIC0tY2hhdC1yZXBseS1kaXNtaXNzLWhvdmVyLWNvbG9yOiAjMGYxNzJhO1xuICAgIC0tY2hhdC1zcGVlY2gtc3RhdHVzLWJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NSk7XG4gICAgLS1jaGF0LXNwZWVjaC1zdGF0dXMtYm9yZGVyLWNvbG9yOiByZ2JhKDE1LCAyMywgNDIsIDAuMTUpO1xuICAgIC0tY2hhdC1zcGVlY2gtc3RhdHVzLWNvbG9yOiAjMGYxNzJhO1xuICAgIC0tY2hhdC1zcGVlY2gtc3RhdHVzLXNoYWRvdzogMCAxMnB4IDI4cHggcmdiYSgxNSwgMjMsIDQyLCAwLjE4KTtcbiAgICAtLWNoYXQtc3BlZWNoLXN0YXR1cy1kb3QtYmFja2dyb3VuZDogIzY0NzQ4YjtcbiAgICAtLWNoYXQtZGljdGF0aW9uLWFjdGlvbi1iYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgIC0tY2hhdC1kaWN0YXRpb24tYWN0aW9uLWJvcmRlci1jb2xvcjogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjM1KTtcbiAgICAtLWNoYXQtZGljdGF0aW9uLWFjdGlvbi1jb2xvcjogIzBmMTcyYTtcbiAgICAtLWNoYXQtZGljdGF0aW9uLWNvcnJlY3Rpb24tbGFiZWwtY29sb3I6ICMzMzQxNTU7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1jb3JyZWN0aW9uLXRleHRhcmVhLWJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1jb3JyZWN0aW9uLXRleHRhcmVhLWNvbG9yOiAjMGYxNzJhO1xuICAgIC0tY2hhdC1kaWN0YXRpb24tY29ycmVjdGlvbi10ZXh0YXJlYS1ib3JkZXItY29sb3I6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4zNSk7XG59XG5cbi5DaGF0W2RhdGEtY2hhdC10aGVtZT0nZGFyayddIHtcbiAgICBjb2xvcjogI2UyZThmMDtcbiAgICAtLWNoYXQtYnViYmxlLXNoYWRvdzogMCAxNHB4IDM0cHggcmdiYSgyLCA2LCAyMywgMC4zOCk7XG4gICAgLS1jaGF0LWJ1YmJsZS1zaGFkb3ctaG92ZXI6IDAgMThweCA0MnB4IHJnYmEoMiwgNiwgMjMsIDAuNDgpO1xuICAgIC0tY2hhdC1idWJibGUtYm9yZGVyLWNvbG9yOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMik7XG4gICAgLS1jaGF0LW1lc3NhZ2UtbWV0YS1jb2xvcjogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjg0KTtcbiAgICAtLWNoYXQtbWVzc2FnZS1saWZlY3ljbGUtYmFkZ2UtYmFja2dyb3VuZDogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjE0KTtcbiAgICAtLWNoYXQtbWVzc2FnZS1saWZlY3ljbGUtYmFkZ2UtY29sb3I6ICNjYmQ1ZTE7XG4gICAgLS1jaGF0LXBhcnRpY2lwYW50LWxhYmVsLWNvbG9yOiByZ2JhKDIwMywgMjEzLCAyMjUsIDAuNzYpO1xuICAgIC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtYmFja2dyb3VuZDogcmdiYSgxNSwgMjMsIDQyLCAwLjc4KTtcbiAgICAtLWNoYXQtbWVzc2FnZS1jb250cm9sLWJvcmRlci1jb2xvcjogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjQpO1xuICAgIC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtaG92ZXItYmFja2dyb3VuZDogcmdiYSgzMCwgNDEsIDU5LCAwLjk2KTtcbiAgICAtLWNoYXQtbWVzc2FnZS1jb250cm9sLWhvdmVyLWJvcmRlci1jb2xvcjogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjcyKTtcbiAgICAtLWNoYXQtbWVzc2FnZS1jb250cm9sLWNvbG9yOiAjZTJlOGYwO1xuICAgIC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtc2hhZG93OiAwIDEwcHggMjRweCByZ2JhKDIsIDYsIDIzLCAwLjM0KTtcbiAgICAtLWNoYXQtbWVzc2FnZS1jb250cm9sLWhvdmVyLXNoYWRvdzogMCAxMnB4IDI4cHggcmdiYSgyLCA2LCAyMywgMC40Mik7XG4gICAgLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1zcGlubmVyLWJvcmRlci1jb2xvcjogcmdiYSgyMjYsIDIzMiwgMjQwLCAwLjMpO1xuICAgIC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtc3Bpbm5lci1hY2NlbnQtY29sb3I6ICNlMmU4ZjA7XG4gICAgLS1jaGF0LWFydGljbGUtY29udHJvbC1iYWNrZ3JvdW5kOiByZ2JhKDE1LCAyMywgNDIsIDAuODYpO1xuICAgIC0tY2hhdC1hcnRpY2xlLWNvbnRyb2wtYm9yZGVyLWNvbG9yOiByZ2JhKDcxLCA4NSwgMTA1LCAwLjk1KTtcbiAgICAtLWNoYXQtYXJ0aWNsZS1jb250cm9sLWhvdmVyLWJhY2tncm91bmQ6IHJnYmEoMzAsIDQxLCA1OSwgMC45OCk7XG4gICAgLS1jaGF0LWFydGljbGUtY29udHJvbC1ob3Zlci1ib3JkZXItY29sb3I6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC43Mik7XG4gICAgLS1jaGF0LWFydGljbGUtY29udHJvbC1ob3Zlci1zaGFkb3c6IDAgMTJweCAyNnB4IHJnYmEoMiwgNiwgMjMsIDAuMzIpO1xuICAgIC0tY2hhdC1hcnRpY2xlLXJhdGluZy1iYWNrZ3JvdW5kOiByZ2JhKDE1LCAyMywgNDIsIDAuODYpO1xuICAgIC0tY2hhdC1hcnRpY2xlLXJhdGluZy1ib3JkZXItY29sb3I6IHJnYmEoNzEsIDg1LCAxMDUsIDAuOTUpO1xuICAgIC0tY2hhdC1hcnRpY2xlLXJhdGluZy1ob3Zlci1iYWNrZ3JvdW5kOiByZ2JhKDMwLCA0MSwgNTksIDAuOTgpO1xuICAgIC0tY2hhdC1hcnRpY2xlLXJhdGluZy1ob3Zlci1ib3JkZXItY29sb3I6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC43Mik7XG4gICAgLS1jaGF0LWFydGljbGUtcmF0aW5nLXNoYWRvdzogMCAxMnB4IDI2cHggcmdiYSgyLCA2LCAyMywgMC4zMik7XG4gICAgLS1jaGF0LWlucHV0LWJvcmRlci1jb2xvcjogcmdiYSg1MSwgNjUsIDg1LCAwLjc4KTtcbiAgICAtLWNoYXQtaW5wdXQtYmFja2Ryb3A6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgMTgwZGVnLFxuICAgICAgICByZ2JhKDIsIDYsIDIzLCAwKSAwJSxcbiAgICAgICAgcmdiYSgyLCA2LCAyMywgMC44MikgNDglLFxuICAgICAgICByZ2JhKDIsIDYsIDIzLCAwLjk2KSAxMDAlXG4gICAgKTtcbiAgICAtLWNoYXQtZnVsbC1wYWdlLWlucHV0LWJhY2tkcm9wOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIDE4MGRlZyxcbiAgICAgICAgcmdiYSgyLCA2LCAyMywgMCkgMCUsXG4gICAgICAgIHJnYmEoMiwgNiwgMjMsIDAuODgpIDU4JSxcbiAgICAgICAgcmdiYSgyLCA2LCAyMywgMC45OCkgMTAwJVxuICAgICk7XG4gICAgLS1jaGF0LWlucHV0LWRyYWctb3Zlci1iYWNrZHJvcDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAxODBkZWcsXG4gICAgICAgIHJnYmEoMTQsIDE2NSwgMjMzLCAwLjA4KSAwJSxcbiAgICAgICAgcmdiYSg4LCA0NywgNzMsIDAuNSkgMTAwJVxuICAgICk7XG4gICAgLS1jaGF0LWlucHV0LWNvbnRhaW5lci1iYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIDE1MGRlZyxcbiAgICAgICAgcmdiYSgxNSwgMjMsIDQyLCAwLjk2KSAwJSxcbiAgICAgICAgcmdiYSgxNSwgMjMsIDQyLCAwLjkpIDEwMCVcbiAgICApO1xuICAgIC0tY2hhdC1pbnB1dC1jb250YWluZXItYm9yZGVyLWNvbG9yOiByZ2JhKDcxLCA4NSwgMTA1LCAwLjg4KTtcbiAgICAtLWNoYXQtaW5wdXQtY29udGFpbmVyLXNoYWRvdzogMCAyMHB4IDQ0cHggcmdiYSgyLCA2LCAyMywgMC40MiksXG4gICAgICAgIGluc2V0IDAgMXB4IDAgcmdiYSgxNDgsIDE2MywgMTg0LCAwLjEpO1xuICAgIC0tY2hhdC1pbnB1dC10ZXh0LWNvbG9yOiAjZTJlOGYwO1xuICAgIC0tY2hhdC1pbnB1dC1wbGFjZWhvbGRlci1jb2xvcjogIzk0YTNiODtcbiAgICAtLWNoYXQtaW5wdXQtYWN0aW9uLWNvbG9yOiAjY2JkNWUxO1xuICAgIC0tY2hhdC1pbnB1dC1hY3Rpb24taG92ZXItYmFja2dyb3VuZDogcmdiYSg1MSwgNjUsIDg1LCAwLjc4KTtcbiAgICAtLWNoYXQtaW5wdXQtYWN0aW9uLWhvdmVyLWNvbG9yOiAjZjhmYWZjO1xuICAgIC0tY2hhdC1maWxlLXByZXZpZXctYmFja2dyb3VuZDogcmdiYSgxNSwgMjMsIDQyLCAwLjc4KTtcbiAgICAtLWNoYXQtZmlsZS1wcmV2aWV3LWJvcmRlci1jb2xvcjogcmdiYSg3MSwgODUsIDEwNSwgMC43Mik7XG4gICAgLS1jaGF0LWZpbGUtcHJldmlldy1ob3Zlci1iYWNrZ3JvdW5kOiByZ2JhKDMwLCA0MSwgNTksIDAuODYpO1xuICAgIC0tY2hhdC1maWxlLXByZXZpZXctaG92ZXItYm9yZGVyLWNvbG9yOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuNDIpO1xuICAgIC0tY2hhdC1maWxlLW5hbWUtY29sb3I6ICNlMmU4ZjA7XG4gICAgLS1jaGF0LWZpbGUtc2l6ZS1jb2xvcjogIzk0YTNiODtcbiAgICAtLWNoYXQtZGljdGF0aW9uLXBhbmVsLWJhY2tncm91bmQ6IHJnYmEoMTUsIDIzLCA0MiwgMC45NCk7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1wYW5lbC1ib3JkZXItY29sb3I6IHJnYmEoNzEsIDg1LCAxMDUsIDAuOCk7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1wYW5lbC1jb2xvcjogI2UyZThmMDtcbiAgICAtLWNoYXQtZGljdGF0aW9uLXRpdGxlLWNvbG9yOiAjY2JkNWUxO1xuICAgIC0tY2hhdC1kaWN0YXRpb24tdG9nZ2xlLWJhY2tncm91bmQ6IHJnYmEoMzAsIDQxLCA1OSwgMC45Mik7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi10b2dnbGUtY29sb3I6ICNlMmU4ZjA7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi10cmFuc2NyaXB0LWJhY2tncm91bmQ6IHJnYmEoOCwgNDcsIDczLCAwLjY0KTtcbiAgICAtLWNoYXQtZGljdGF0aW9uLXRyYW5zY3JpcHQtY29sb3I6ICNiYWU2ZmQ7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1zZXR0aW5ncy1jb2xvcjogI2NiZDVlMTtcbiAgICAtLWNoYXQtZGljdGF0aW9uLWZhbGxiYWNrLWNvbG9yOiAjOTRhM2I4O1xuICAgIC0tY2hhdC1yZXBseS1jb21wb3Nlci1iYWNrZ3JvdW5kOiByZ2JhKDE1LCAyMywgNDIsIDAuOTQpO1xuICAgIC0tY2hhdC1yZXBseS1jb21wb3Nlci1ib3JkZXItY29sb3I6IHJnYmEoNzEsIDg1LCAxMDUsIDAuOCk7XG4gICAgLS1jaGF0LXJlcGx5LWNvbXBvc2VyLXNoYWRvdzogMCAxNHB4IDI4cHggcmdiYSgyLCA2LCAyMywgMC4zMik7XG4gICAgLS1jaGF0LXJlcGx5LWRpc21pc3MtYmFja2dyb3VuZDogcmdiYSg1MSwgNjUsIDg1LCAwLjc2KTtcbiAgICAtLWNoYXQtcmVwbHktZGlzbWlzcy1ob3Zlci1iYWNrZ3JvdW5kOiByZ2JhKDcxLCA4NSwgMTA1LCAwLjkpO1xuICAgIC0tY2hhdC1yZXBseS1kaXNtaXNzLWNvbG9yOiAjY2JkNWUxO1xuICAgIC0tY2hhdC1yZXBseS1kaXNtaXNzLWhvdmVyLWNvbG9yOiAjZjhmYWZjO1xuICAgIC0tY2hhdC1zcGVlY2gtc3RhdHVzLWJhY2tncm91bmQ6IHJnYmEoMTUsIDIzLCA0MiwgMC45Nik7XG4gICAgLS1jaGF0LXNwZWVjaC1zdGF0dXMtYm9yZGVyLWNvbG9yOiByZ2JhKDcxLCA4NSwgMTA1LCAwLjgpO1xuICAgIC0tY2hhdC1zcGVlY2gtc3RhdHVzLWNvbG9yOiAjZTJlOGYwO1xuICAgIC0tY2hhdC1zcGVlY2gtc3RhdHVzLXNoYWRvdzogMCAxNnB4IDM0cHggcmdiYSgyLCA2LCAyMywgMC40Mik7XG4gICAgLS1jaGF0LXNwZWVjaC1zdGF0dXMtZG90LWJhY2tncm91bmQ6ICM5NGEzYjg7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1hY3Rpb24tYmFja2dyb3VuZDogcmdiYSgzMCwgNDEsIDU5LCAwLjkyKTtcbiAgICAtLWNoYXQtZGljdGF0aW9uLWFjdGlvbi1ib3JkZXItY29sb3I6IHJnYmEoNzEsIDg1LCAxMDUsIDAuNzgpO1xuICAgIC0tY2hhdC1kaWN0YXRpb24tYWN0aW9uLWNvbG9yOiAjZTJlOGYwO1xuICAgIC0tY2hhdC1kaWN0YXRpb24tY29ycmVjdGlvbi1sYWJlbC1jb2xvcjogI2NiZDVlMTtcbiAgICAtLWNoYXQtZGljdGF0aW9uLWNvcnJlY3Rpb24tdGV4dGFyZWEtYmFja2dyb3VuZDogcmdiYSg4LCAxNSwgMjgsIDAuOTgpO1xuICAgIC0tY2hhdC1kaWN0YXRpb24tY29ycmVjdGlvbi10ZXh0YXJlYS1jb2xvcjogI2UyZThmMDtcbiAgICAtLWNoYXQtZGljdGF0aW9uLWNvcnJlY3Rpb24tdGV4dGFyZWEtYm9yZGVyLWNvbG9yOiByZ2JhKDcxLCA4NSwgMTA1LCAwLjc4KTtcbn1cblxuLmNvbnN0cmFpbmVkQXJ0aWNsZVZpc3VhbCB7XG4gICAgLS1jaGF0LWFydGljbGUtbGF5b3V0LW1heC13aWR0aDogNTRyZW07XG4gICAgLS1jaGF0LWFydGljbGUtbGF5b3V0LXBhZGRpbmctaW5saW5lOiBjbGFtcCgxNnB4LCA0dncsIDQwcHgpO1xufVxuXG4uY2hhdE1haW5GbG93IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZTpcbiAgICAgICAgJ/Cfn6YnIG1pbi1jb250ZW50XG4gICAgICAgICfwn5KsJyAxZnJcbiAgICAgICAgJ/Cfk50nIG1pbi1jb250ZW50XG4gICAgICAgIC8gMWZyO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0QmFyIHtcbiAgICBncmlkLWFyZWE6IPCfn6Y7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTZweCAyMHB4O1xuICAgIGNvbG9yOiAjMGYxNzI0O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMTUsIDIzLCAzNiwgMC4wNik7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5UYXNrc0luUHJvZ3Jlc3Mge1xuICAgIGdyaWQtYXJlYTog8J+fpjtcbiAgICB3aWR0aDogYXV0bztcbiAgICBoZWlnaHQ6IG1pbi1jb250ZW50O1xuICAgIGFsaWduLXNlbGY6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LXNlbGY6IHNlbGYtZW5kO1xuICAgIG1hcmdpbjogOHB4IDE2cHg7XG59XG5cbi5hY3Rpb25zIHtcbiAgICBncmlkLWFyZWE6IPCfkqw7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBtaW4tY29udGVudDtcbiAgICB6LWluZGV4OiA0MDtcbiAgICBhbGlnbi1zZWxmOiBzZWxmLXN0YXJ0O1xuICAgIGp1c3RpZnktc2VsZjogc2VsZi1lbmQ7XG4gICAgbWFyZ2luOiAxNnB4IDIwcHggMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjJzIGVhc2U7XG4gICAgd2lsbC1jaGFuZ2U6IG9wYWNpdHk7XG59XG5cbi5hY3Rpb25zLnBvcnRhbCB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uYWN0aW9ucy5sZWZ0IHtcbiAgICBqdXN0aWZ5LXNlbGY6IHNlbGYtc3RhcnQ7XG59XG5cbi5hY3Rpb25zLnJpZ2h0IHtcbiAgICBqdXN0aWZ5LXNlbGY6IHNlbGYtZW5kO1xufVxuXG4uYWN0aW9uc0ZhZGVkIHtcbiAgICBvcGFjaXR5OiAwLjM7XG59XG5cbi5hY3Rpb25zU2Nyb2xsaW5nIHtcbiAgICBvcGFjaXR5OiAwLjE1O1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4vKiBMYXJnZSB0YWJsZXQgYW5kIHNtYWxsIGRlc2t0b3Agc2NyZWVucyAqL1xuQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgLmNoYXRCdXR0b24ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgZ2FwOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jaGF0QnV0dG9uIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMThweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jaGF0QnV0dG9uVGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudXNlVGVtcGxhdGVCdXR0b24ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgZ2FwOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51c2VUZW1wbGF0ZUJ1dHRvbiBzdmcge1xuICAgICAgICB3aWR0aDogMThweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDE4cHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudXNlVGVtcGxhdGVCdXR0b24gLmNoYXRCdXR0b25UZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLyogTWVkaXVtIHNjcmVlbnMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA2MDBweCkge1xuICAgIC5hY3Rpb25zIHtcbiAgICAgICAgbWFyZ2luOiAxNHB4IDE4cHggMDtcbiAgICAgICAgZ2FwOiA3cHg7XG4gICAgfVxufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0Q2hpbGRyZW4ge1xuICAgIGdyaWQtYXJlYTog8J+SrDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgei1pbmRleDogMzAwO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0Q2hpbGRyZW4gPiAqIHtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLyogQ2hhdCBtZXNzYWdlcyBhcmVhICovXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZXMge1xuICAgIGdyaWQtYXJlYTog8J+SrDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgei1pbmRleDogMTA7XG4gICAgcGFkZGluZzogMjhweCAyNHB4IDE4cHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBvdmVyZmxvdy14OiBoaWRkZW47XG4gICAgc2Nyb2xsLWJlaGF2aW9yOiBzbW9vdGg7XG59XG5cbi5hcnRpY2xlTW9kZUNoYXRNZXNzYWdlcyB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1jaGF0LWFydGljbGUtbGF5b3V0LXBhZGRpbmctaW5saW5lKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1jaGF0LWFydGljbGUtbGF5b3V0LXBhZGRpbmctaW5saW5lKTtcbn1cblxuLmFydGljbGVNb2RlQ2hhdE1lc3NhZ2VzIC5jaGF0TWVzc2FnZSB7XG4gICAgd2lkdGg6IG1pbih2YXIoLS1jaGF0LWFydGljbGUtbGF5b3V0LW1heC13aWR0aCksIDEwMCUpO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5hcnRpY2xlTW9kZUNoYXRNZXNzYWdlcyAuY2hhdE1lc3NhZ2UuYXJ0aWNsZU1vZGVBZ2VudE1lc3NhZ2Uge1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLmFydGljbGVNb2RlQ2hhdE1lc3NhZ2VzIC5jaGF0TWVzc2FnZS5hcnRpY2xlTW9kZUFnZW50TWVzc2FnZSAubWVzc2FnZVN0YWNrIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4uaGFzQWN0aW9uc0FuZEZpcnN0TWVzc2FnZUlzTG9uZyB7XG4gICAgcGFkZGluZy10b3A6IDgwcHg7XG59XG5cbi8qIEN1c3RvbSBzY3JvbGxiYXIgc3R5bGluZyAqL1xuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2VzOjotd2Via2l0LXNjcm9sbGJhciB7XG4gICAgd2lkdGg6IDdweDtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2VzOjotd2Via2l0LXNjcm9sbGJhci10cmFjayB7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlczo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4zNSk7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2VzOjotd2Via2l0LXNjcm9sbGJhci10aHVtYjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMDAsIDExNiwgMTM5LCAwLjU1KTtcbn1cblxuLyogSW5kaXZpZHVhbCBjaGF0IG1lc3NhZ2UgKi9cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgY29sdW1uLWdhcDogdmFyKC0tY2hhdC1tZXNzYWdlLWF2YXRhci1nYXApO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBhbmltYXRpb246IG1lc3NhZ2VTbGlkZUluIDAuNHMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlU3RhY2sge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcbiAgICBtYXgtd2lkdGg6IHZhcigtLWNoYXQtbWVzc2FnZS1tYXgtd2lkdGgpO1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UuaXNNZSAubWVzc2FnZVN0YWNrIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlU3RhY2sgPiAqIHtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlLmFydGljbGVNb2RlQWdlbnRNZXNzYWdlIHtcbiAgICBjb2x1bW4tZ2FwOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDI4cHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlLmFydGljbGVNb2RlQWdlbnRNZXNzYWdlIC5tZXNzYWdlU3RhY2sge1xuICAgIHdpZHRoOiBtaW4oMTAwJSwgODYwcHgpO1xuICAgIG1heC13aWR0aDogbWluKDEwMCUsIDg2MHB4KTtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICBtYXJnaW46IDAgYXV0bztcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLmF2YXRhci5hcnRpY2xlTW9kZUFnZW50QXZhdGFyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4ubWVzc2FnZVdpdGhNYXAge1xuICAgIC8qIG1hcmtlciBjbGFzcyBhcHBsaWVkIHRvIG1hcCBtZXNzYWdlcyBzbyB0aGV5IGNhbiBzdHJldGNoIHdpZGVyLiAqL1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZS5tZXNzYWdlV2l0aE1hcCB7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlLm1lc3NhZ2VXaXRoTWFwIC5tZXNzYWdlU3RhY2sge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xuICAgIHdpZHRoOiBtaW4oOTB2dywgOTIwcHgsIGNhbGMoMTAwJSAtIHZhcigtLWNoYXQtbWVzc2FnZS1hdmF0YXItc2l6ZSkgLSB2YXIoLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLWdhcCkpKTtcbiAgICBtYXgtd2lkdGg6IG1pbig5MHZ3LCA5MjBweCwgY2FsYygxMDAlIC0gdmFyKC0tY2hhdC1tZXNzYWdlLWF2YXRhci1zaXplKSAtIHZhcigtLWNoYXQtbWVzc2FnZS1hdmF0YXItZ2FwKSkpO1xufVxuXG5AbWVkaWEgKG1heC13aWR0aDogOTAwcHgpIHtcbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZS5tZXNzYWdlV2l0aE1hcCAubWVzc2FnZVN0YWNrIHtcbiAgICAgICAgd2lkdGg6IG1pbig5MnZ3LCA2NDBweCk7XG4gICAgICAgIG1heC13aWR0aDogbWluKDkydncsIDY0MHB4KTtcbiAgICB9XG59XG5cbi5tZXNzYWdlTWV0YSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDhweDtcbiAgICBtYXJnaW46IDZweCA4cHggMDtcbiAgICBmb250LXNpemU6IDExLjVweDtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1tZXNzYWdlLW1ldGEtY29sb3IpO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlLmlzTWUgLm1lc3NhZ2VNZXRhIHtcbiAgICBhbGlnbi1zZWxmOiBmbGV4LWVuZDtcbiAgICB0ZXh0LWFsaWduOiByaWdodDtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UuYXJ0aWNsZU1vZGVBZ2VudE1lc3NhZ2UgLm1lc3NhZ2VNZXRhIHtcbiAgICBtYXJnaW4tbGVmdDogMDtcbiAgICBtYXJnaW4tcmlnaHQ6IDA7XG59XG5cbi5tZXNzYWdlTGlmZWN5Y2xlQmFkZ2Uge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMnB4IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LW1lc3NhZ2UtbGlmZWN5Y2xlLWJhZGdlLWJhY2tncm91bmQpO1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LW1lc3NhZ2UtbGlmZWN5Y2xlLWJhZGdlLWNvbG9yKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbn1cblxuLm1lc3NhZ2VUaW1lc3RhbXAge1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW07XG59XG5cbi5tZXNzYWdlRHVyYXRpb24ge1xuICAgIG9wYWNpdHk6IDAuODU7XG59XG5cbi5tZXNzYWdlUmVwbHlCdXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA1cHg7XG4gICAgcGFkZGluZzogMDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgZm9udDogaW5oZXJpdDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3BhY2l0eTogMC44ODtcbiAgICB0cmFuc2l0aW9uOiBvcGFjaXR5IDAuMThzIGVhc2UsIGNvbG9yIDAuMThzIGVhc2UsIHRyYW5zZm9ybSAwLjE4cyBlYXNlO1xufVxuXG4ubWVzc2FnZVJlcGx5QnV0dG9uOmhvdmVyLFxuLm1lc3NhZ2VSZXBseUJ1dHRvbjpmb2N1cyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuNXB4KTtcbn1cblxuLm1lc3NhZ2VSZXBseUJ1dHRvbkljb24ge1xuICAgIHdpZHRoOiAxM3B4O1xuICAgIGhlaWdodDogMTNweDtcbn1cblxuLm1lc3NhZ2VMaWZlY3ljbGVFcnJvciB7XG4gICAgbWFyZ2luOiA0cHggNnB4IDA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiAjYjkxYzFjO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xufVxuXG4ucGFydGljaXBhbnRMYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMS41cHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wN2VtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6IHZhcigtLWNoYXQtcGFydGljaXBhbnQtbGFiZWwtY29sb3IpO1xuICAgIG1hcmdpbjogMCAwIDdweDtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UuaXNNZSAucGFydGljaXBhbnRMYWJlbCB7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbkBrZXlmcmFtZXMgbWVzc2FnZVNsaWRlSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMjBweCkgc2NhbGUoMC45NSk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApIHNjYWxlKDEpO1xuICAgIH1cbn1cblxuLmlzTm90Q29tcGxldGVNZXNzYWdlIHtcbiAgICAvKi9cbiAgICBvdXRsaW5lOiAxcHggZG90dGVkICNmZjAwMDAgIWltcG9ydGFudDtcbiAgICAvKiovXG5cbiAgICBvcGFjaXR5OiAwLjc7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uTm9uQ29tcGxldGVNZXNzYWdlRmlsbGVyIHtcbiAgICBjb2xvcjogdHJhbnNwYXJlbnQ7XG59XG5cbi8qIEVuaGFuY2VkIGxvYWRpbmcgc3RhdGVzIGZvciBtZXNzYWdlcyAqL1xuLmlzTm90Q29tcGxldGVNZXNzYWdlIC5tZXNzYWdlVGV4dDo6YWZ0ZXIge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICBib3R0b206IDhweDtcbiAgICByaWdodDogMTJweDtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoOTBkZWcsIHRyYW5zcGFyZW50LCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNiksIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgYW5pbWF0aW9uOiBsb2FkaW5nUHVsc2UgMS41cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UuYXJ0aWNsZU1vZGVBZ2VudE1lc3NhZ2UuaXNOb3RDb21wbGV0ZU1lc3NhZ2UgLm1lc3NhZ2VUZXh0OjphZnRlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLnRvb2xDYWxsQ2hpcHMsXG4uc291cmNlQ2l0YXRpb25zLFxuLmNpdGF0aW9uRm9vdG5vdGVzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogOHB4O1xuICAgIG1hcmdpbi10b3A6IDEwcHg7XG4gICAgcGFkZGluZy10b3A6IDEwcHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4yOCk7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDE0JSwgdHJhbnNwYXJlbnQpO1xufVxuXG4uY2l0YXRpb25Gb290bm90ZXMge1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG59XG5cbi5jaXRhdGlvbkZvb3Rub3RlSXRlbSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBtaW4taGVpZ2h0OiAzMnB4O1xufVxuXG4uY2l0YXRpb25Gb290bm90ZU51bWJlciB7XG4gICAgbWluLXdpZHRoOiAxLjI1cmVtO1xuICAgIGZvbnQtc2l6ZTogMC44NHJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKSA3OCUsIHRyYW5zcGFyZW50KTtcbn1cblxuLnRvb2xDYWxsQ2hpcCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIGZvbnQtc2l6ZTogMC44cmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZzogNXB4IDExcHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI2KTtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS1iZy1jb2xvciwgI2ZmZmZmZikgNzQlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzgpIDI2JSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjMpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDIwJSwgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDE1LCAyMywgNDIsIDAuMTIpO1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZvbnQtZmFtaWx5OiAnT3Blbk1vamlDb2xvcicsICdPcGVuTW9qaUJsYWNrJywgQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZjtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KTtcbn1cblxuLnRvb2xDYWxsQ2hpcDpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM0KTtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS1iZy1jb2xvciwgI2ZmZmZmZikgNjQlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODYpIDM2JSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgxNSwgMjMsIDQyLCAwLjE0KTtcbn1cblxuLnRvb2xDYWxsQ2hpcE9uZ29pbmcge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSg1OSwgMTMwLCAyNDYsIDAuOCk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxNCwgMTY1LCAyMzMsIDAuMSk7XG59XG5cbi50b29sQ2FsbENoaXBTdGF0dXMge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi50ZWFtVG9vbENhbGwsXG4udHJhbnNpdGl2ZVRvb2xDYWxsIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiA4cHg7XG59XG5cbi50ZWFtQWdlbnRDaGlwLFxuLnRyYW5zaXRpdmVBZ2VudENoaXAge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4udG9vbENhbGxMYWJlbCB7XG4gICAgZmxleDogMTtcbiAgICBmb250LXNpemU6IDAuOWVtO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnRvb2xDYWxsV2l0aEVycm9yIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjQ5LCAxMTUsIDIyLCAwLjgpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjQ5LCAxMTUsIDIyLCAwLjEyKTtcbn1cblxuLnRvb2xDYWxsT3JpZ2luIHtcbiAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICBvcGFjaXR5OiAwLjc1O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLnRvb2xDYWxsRGV0YWlscyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4udG9vbENhbGxEZXRhaWxzIHAge1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbn1cblxuLnRvb2xDYWxsRGF0YSB7XG4gICAgYmFja2dyb3VuZDogI2YxZjVmOTtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgd29yZC1icmVhazogYnJlYWstYWxsO1xuICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG59XG5cbi50b29sQ2FsbENoaXBTcGlubmVyIHtcbiAgICB3aWR0aDogMTRweDtcbiAgICBoZWlnaHQ6IDE0cHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICNmZmY7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGFuaW1hdGlvbjogdG9vbENhbGxTcGlubmVyIDAuOHMgbGluZWFyIGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHRvb2xDYWxsU3Bpbm5lciB7XG4gICAgdG8ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyBsb2FkaW5nUHVsc2Uge1xuICAgIDAlLFxuICAgIDEwMCUge1xuICAgICAgICBvcGFjaXR5OiAwLjM7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDAuOCk7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGVYKDEuMik7XG4gICAgfVxufVxuXG4vKiBUeXBpbmcgaW5kaWNhdG9yIGZvciBBSSBtZXNzYWdlcyAqL1xuLnR5cGluZ0luZGljYXRvciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBhbmltYXRpb246IG1lc3NhZ2VTbGlkZUluIDAuNHMgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xufVxuXG4udHlwaW5nSW5kaWNhdG9yIC5hdmF0YXIge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBtYXJnaW46IDAgMTJweCA0cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi8qIFvjipfvuI9dXG4udHlwaW5nSW5kaWNhdG9yIC5hdmF0YXIgaW1nIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZWVmNmZiO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4xKTtcbn1cbiovXG5cbi50eXBpbmdCdWJibGUge1xuICAgIHBhZGRpbmc6IDE2cHggMjBweDtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDZweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMSk7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNHB4O1xuICAgIG1pbi1oZWlnaHQ6IDI0cHg7XG59XG5cbi50eXBpbmdEb3RzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogNHB4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG59XG5cbi50eXBpbmdEb3Qge1xuICAgIHdpZHRoOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM2YjcyODAgMCUsIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC42KSAxMDAlKTtcbiAgICBhbmltYXRpb246IHR5cGluZ0JvdW5jZSAxLjRzIGluZmluaXRlIGVhc2UtaW4tb3V0O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDRweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi50eXBpbmdEb3Q6bnRoLWNoaWxkKDEpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IC0wLjMycztcbn1cblxuLnR5cGluZ0RvdDpudGgtY2hpbGQoMikge1xuICAgIGFuaW1hdGlvbi1kZWxheTogLTAuMTZzO1xufVxuXG4udHlwaW5nRG90Om50aC1jaGlsZCgzKSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAwcztcbn1cblxuQGtleWZyYW1lcyB0eXBpbmdCb3VuY2Uge1xuICAgIDAlLFxuICAgIDgwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgwLjgpIHRyYW5zbGF0ZVkoMCk7XG4gICAgICAgIG9wYWNpdHk6IDAuNTtcbiAgICB9XG4gICAgNDAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpIHRyYW5zbGF0ZVkoLThweCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZS5pc01lIHtcbiAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgZmxleC1kaXJlY3Rpb246IHJvdy1yZXZlcnNlO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UuaXNNZSAubWVzc2FnZVRleHQge1xuICAgIGJvcmRlci1ib3R0b20tcmlnaHQtcmFkaXVzOiAxMHB4O1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZTpub3QoLmlzTWUpIC5tZXNzYWdlVGV4dCB7XG4gICAgYm9yZGVyLWJvdHRvbS1sZWZ0LXJhZGl1czogMTBweDtcbn1cblxuLnJhdGluZ1N0YXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycztcbiAgICBjb2xvcjogdmFyKC0tc3Rhci1pbmFjdGl2ZS1jb2xvciwgI2NjYyk7XG59XG5cbi5yYXRpbmdTdGFyLmFjdGl2ZSB7XG4gICAgY29sb3I6ICNmZmQ3MDA7XG59XG5cbi8qIFNlbmRlciBBdmF0YXIgKi9cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5hdmF0YXIge1xuICAgIHdpZHRoOiB2YXIoLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLXNpemUpO1xuICAgIGhlaWdodDogdmFyKC0tY2hhdC1tZXNzYWdlLWF2YXRhci1zaXplKTtcbiAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgIG1hcmdpbjogMCAwIDRweDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIFvjipfvuI9dXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAuYXZhdGFyIGltZyB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYXZhdGFyLWJnLWNvbG9yLCAjZWVmNmZiKTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZSwgYm94LXNoYWRvdyAwLjJzIGVhc2U7XG59XG5cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLmF2YXRhciBpbWc6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuKi9cblxuLyogTWVzc2FnZSB0ZXh0IGJ1YmJsZSAqL1xuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLm1lc3NhZ2VUZXh0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yKTtcbiAgICBjb2xvcjogdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMTZweCAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWNoYXQtYnViYmxlLXJhZGl1cyk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogbWluKHZhcigtLWNoYXQtbWVzc2FnZS1taW4td2lkdGgpLCAxMDAlKTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jaGF0LWJ1YmJsZS1ib3JkZXItY29sb3IpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLWNoYXQtYnViYmxlLXNoYWRvdyksIGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE2KTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tY2hhdC1idWJibGUtbGluZS1oZWlnaHQpO1xuICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xuICAgIGh5cGhlbnM6IGF1dG87XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjJzIGVhc2UsIGJvcmRlci1jb2xvciAwLjJzIGVhc2U7XG4gICAgZm9udC1zaXplOiB2YXIoLS1jaGF0LWJ1YmJsZS1mb250LXNpemUpO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAwMjVlbTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTRweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLWNoYXQtbWVzc2FnZS1zd2lwZS1vZmZzZXQsIDBweCkpO1xuICAgIC0tY2hhdC1tZC1oZWFkaW5nLWZvbnQtZmFtaWx5OiB2YXIoXG4gICAgICAgIC0tZm9udC1iYXJsb3ctY29uZGVuc2VkLFxuICAgICAgICAnQmFybG93IENvbmRlbnNlZCcsXG4gICAgICAgIHZhcigtLWZvbnQtcG9wcGlucywgJ1BvcHBpbnMnLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sICdTZWdvZSBVSScsIHNhbnMtc2VyaWYpXG4gICAgKTtcbiAgICAtLWNoYXQtbWQtYm9keS1mb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAtLWNoYXQtbWQtdGV4dC1jb2xvcjogdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKTtcbiAgICAtLWNoYXQtbWQtbGluay1jb2xvcjogIzI1NjNlYjtcbiAgICAtLWNoYXQtbWQtbXV0ZWQtY29sb3I6IHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSk7XG4gICAgLS1jaGF0LW1kLWlubGluZS1jb2RlLWJnOiByZ2JhKDE1LCAyMywgNDIsIDAuMTYpO1xuICAgIC0tY2hhdC1tZC1pbmxpbmUtY29kZS1ib3JkZXI6IHJnYmEoMTUsIDIzLCA0MiwgMC4yKTtcbiAgICAtLWNoYXQtbWQtaW5saW5lLWNvZGUtY29sb3I6IHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSk7XG4gICAgLS1jaGF0LW1kLWJsb2NrcXVvdGUtYmc6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICAtLWNoYXQtbWQtYmxvY2txdW90ZS1ib3JkZXI6IHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjUyKTtcbiAgICAtLWNoYXQtbWQtdGFibGUtYmc6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yMik7XG4gICAgLS1jaGF0LW1kLXRhYmxlLXJvdy1hbHQtYmc6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7XG4gICAgLS1jaGF0LW1kLXRhYmxlLWhlYWQtYmc6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgICAtLWNoYXQtbWQtdGFibGUtYm9yZGVyOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzYpO1xuICAgIC0tY2hhdC1tZC1jaXRhdGlvbi1iZzogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgICAtLWNoYXQtbWQtY2l0YXRpb24tY29sb3I6IHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSk7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlVGV4dC5hcnRpY2xlTW9kZUFnZW50TWVzc2FnZVRleHQge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICBwYWRkaW5nOiAycHggMDtcbiAgICBsaW5lLWhlaWdodDogMS43NTtcbiAgICBmb250LXNpemU6IDE1LjVweDtcbiAgICAtLWNoYXQtbWQtbGluay1jb2xvcjogIzFkNGVkODtcbiAgICAtLWNoYXQtbWQtaW5saW5lLWNvZGUtYmc6IHJnYmEoMTUsIDIzLCA0MiwgMC4wOCk7XG4gICAgLS1jaGF0LW1kLWlubGluZS1jb2RlLWJvcmRlcjogcmdiYSgxNSwgMjMsIDQyLCAwLjE2KTtcbiAgICAtLWNoYXQtbWQtYmxvY2txdW90ZS1iZzogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjEyKTtcbiAgICAtLWNoYXQtbWQtdGFibGUtYmc6IHJnYmEoMjQ4LCAyNTAsIDI1MiwgMC45KTtcbiAgICAtLWNoYXQtbWQtdGFibGUtcm93LWFsdC1iZzogcmdiYSgyMjYsIDIzMiwgMjQwLCAwLjQ1KTtcbiAgICAtLWNoYXQtbWQtdGFibGUtaGVhZC1iZzogcmdiYSgyNDEsIDI0NSwgMjQ5LCAwLjkyKTtcbiAgICAtLWNoYXQtbWQtdGFibGUtYm9yZGVyOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuNDUpO1xuICAgIC0tY2hhdC1tZC1jaXRhdGlvbi1iZzogcmdiYSgxOTEsIDIxOSwgMjU0LCAwLjI0KTtcbn1cblxuLnJlcGx5RW5hYmxlZE1lc3NhZ2VUZXh0IHtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuXG4ucmVwbHlTd2lwZUFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tY2hhdC1idWJibGUtc2hhZG93LWhvdmVyKSwgMCAwIDAgMXB4IHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjIyKSxcbiAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTYpO1xufVxuXG4ucmVwbHlTd2lwZUluZGljYXRvciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IC0yNHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBvcGFjaXR5OiAwLjIyO1xuICAgIGNvbG9yOiByZ2JhKDE1LCAyMywgNDIsIDAuNDUpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xOHMgZWFzZSwgdHJhbnNmb3JtIDAuMThzIGVhc2U7XG59XG5cbi5yZXBseVN3aXBlSW5kaWNhdG9yUmlnaHQge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IC0yNHB4O1xufVxuXG4ucmVwbHlTd2lwZUluZGljYXRvckFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMC45O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxLjA1KTtcbn1cblxuLnJlcGx5U3dpcGVJbmRpY2F0b3JJY29uIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG59XG5cbi5yZXBseVByZXZpZXcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAxMHB4O1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNik7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE2KTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cblxuLnJlcGx5QnViYmxlUHJldmlldyB7XG4gICAgb3BhY2l0eTogMC45O1xufVxuXG4ucmVwbHlDb21wb3NlclByZXZpZXcge1xuICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LXJlcGx5LWNvbXBvc2VyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY2hhdC1yZXBseS1jb21wb3Nlci1ib3JkZXItY29sb3IpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLWNoYXQtcmVwbHktY29tcG9zZXItc2hhZG93KTtcbn1cblxuLnJlcGx5UHJldmlld0FjY2VudCB7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICB3aWR0aDogNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJhY2tncm91bmQ6ICMwZWE1ZTk7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJyYW5kLWNvbG9yLCAjMGVhNWU5KSA4NCUsIHdoaXRlIDE2JSk7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5yZXBseVByZXZpZXdCb2R5IHtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAycHg7XG59XG5cbi5yZXBseVByZXZpZXdIZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBvcGFjaXR5OiAwLjgyO1xufVxuXG4ucmVwbHlQcmV2aWV3TGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5yZXBseVByZXZpZXdTZW5kZXIge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5yZXBseVByZXZpZXdUZXh0IHtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZm9udC1zaXplOiAxMi41cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIG9wYWNpdHk6IDAuOTtcbn1cblxuLnJlcGx5UHJldmlld0Rpc21pc3NCdXR0b24ge1xuICAgIHdpZHRoOiAyOHB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2hhdC1yZXBseS1kaXNtaXNzLWJhY2tncm91bmQpO1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LXJlcGx5LWRpc21pc3MtY29sb3IpO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xOHMgZWFzZSwgY29sb3IgMC4xOHMgZWFzZSwgdHJhbnNmb3JtIDAuMThzIGVhc2U7XG59XG5cbi5yZXBseVByZXZpZXdEaXNtaXNzQnV0dG9uOmhvdmVyLFxuLnJlcGx5UHJldmlld0Rpc21pc3NCdXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtcmVwbHktZGlzbWlzcy1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1yZXBseS1kaXNtaXNzLWhvdmVyLWNvbG9yKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xufVxuXG5Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgIzAwMCA1MCUsICNmZmYgNTAlKSkge1xuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlVGV4dCB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgIDE1OGRlZyxcbiAgICAgICAgICAgIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA4NiUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKSAxNCUpLFxuICAgICAgICAgICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtYmctY29sb3IsICNmZmZmZmYpIDk1JSwgcmdiYSgyLCA2LCAyMywgMC4wOCkgNSUpXG4gICAgICAgICk7XG4gICAgICAgIC0tY2hhdC1idWJibGUtYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoXG4gICAgICAgICAgICBpbiBzcmdiLFxuICAgICAgICAgICAgdmFyKC0tbWVzc2FnZS1iZy1jb2xvciwgI2ZmZmZmZikgNzIlLFxuICAgICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQ2KSAyOCVcbiAgICAgICAgKTtcbiAgICAgICAgLS1jaGF0LW1kLWxpbmstY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDcyJSwgIzdkZDNmYyAyOCUpO1xuICAgICAgICAtLWNoYXQtbWQtbXV0ZWQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDg0JSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICAtLWNoYXQtbWQtaW5saW5lLWNvZGUtYmc6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA2NSUsIHJnYmEoMTUsIDIzLCA0MiwgMC4yKSAzNSUpO1xuICAgICAgICAtLWNoYXQtbWQtaW5saW5lLWNvZGUtYm9yZGVyOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKSAyMCUsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgLS1jaGF0LW1kLWJsb2NrcXVvdGUtYmc6IGNvbG9yLW1peChcbiAgICAgICAgICAgIGluIHNyZ2IsXG4gICAgICAgICAgICB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA3OCUsXG4gICAgICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODYpIDIyJVxuICAgICAgICApO1xuICAgICAgICAtLWNoYXQtbWQtYmxvY2txdW90ZS1ib3JkZXI6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDM0JSwgIzdkZDNmYyA2NiUpO1xuICAgICAgICAtLWNoYXQtbWQtdGFibGUtYmc6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA3OCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSAyMiUpO1xuICAgICAgICAtLWNoYXQtbWQtdGFibGUtcm93LWFsdC1iZzogY29sb3ItbWl4KFxuICAgICAgICAgICAgaW4gc3JnYixcbiAgICAgICAgICAgIHZhcigtLW1lc3NhZ2UtYmctY29sb3IsICNmZmZmZmYpIDcwJSxcbiAgICAgICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44MikgMzAlXG4gICAgICAgICk7XG4gICAgICAgIC0tY2hhdC1tZC10YWJsZS1oZWFkLWJnOiBjb2xvci1taXgoXG4gICAgICAgICAgICBpbiBzcmdiLFxuICAgICAgICAgICAgdmFyKC0tbWVzc2FnZS1iZy1jb2xvciwgI2ZmZmZmZikgNjQlLFxuICAgICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk0KSAzNiVcbiAgICAgICAgKTtcbiAgICAgICAgLS1jaGF0LW1kLXRhYmxlLWJvcmRlcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSkgMTglLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIC0tY2hhdC1tZC1jaXRhdGlvbi1iZzogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtYmctY29sb3IsICNmZmZmZmYpIDU1JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk0KSA0NSUpO1xuICAgIH1cbn1cblxuLyogQ29weSBidXR0b24gc3R5bGVzICovXG4uY29weUJ1dHRvbkNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTBweDtcbiAgICByaWdodDogMTJweDtcbiAgICB6LWluZGV4OiAzO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xOHMgZWFzZSwgdHJhbnNmb3JtIDAuMThzIGVhc2U7XG59XG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAubWVzc2FnZVRleHQ6aG92ZXIgLmNvcHlCdXR0b25Db250YWluZXIsXG4uY29weUJ1dHRvbkNvbnRhaW5lcjpmb2N1cy13aXRoaW4ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4uYXJ0aWNsZU1vZGVNZXNzYWdlQWN0aW9ucyB7XG4gICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSkgMTQlLCB0cmFuc3BhcmVudCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAxMHB4IDEycHg7XG59XG5cbi5hcnRpY2xlTW9kZU1lc3NhZ2VDb250cm9scyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB0b3A6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgei1pbmRleDogYXV0bztcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLm1lc3NhZ2VDb250cm9sR3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDdweDtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLmFydGljbGVNb2RlTWVzc2FnZUFjdGlvbnMgLmNvcHlCdXR0b24sXG4uYXJ0aWNsZU1vZGVNZXNzYWdlQWN0aW9ucyAucGxheUJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2hhdC1hcnRpY2xlLWNvbnRyb2wtYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jaGF0LWFydGljbGUtY29udHJvbC1ib3JkZXItY29sb3IpO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWNoYXQtbWVzc2FnZS1jb250cm9sLWNvbG9yKTtcbn1cblxuLmFydGljbGVNb2RlTWVzc2FnZUFjdGlvbnMgLnBsYXlCdXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCksXG4uYXJ0aWNsZU1vZGVNZXNzYWdlQWN0aW9ucyAuY29weUJ1dHRvbjpob3Zlcixcbi5hcnRpY2xlTW9kZU1lc3NhZ2VBY3Rpb25zIC5jb3B5QnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LWFydGljbGUtY29udHJvbC1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNoYXQtYXJ0aWNsZS1jb250cm9sLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tY2hhdC1hcnRpY2xlLWNvbnRyb2wtaG92ZXItc2hhZG93KTtcbn1cblxuLmNvcHlCdXR0b24ge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtbWVzc2FnZS1jb250cm9sLWJhY2tncm91bmQpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNoYXQtbWVzc2FnZS1jb250cm9sLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBwYWRkaW5nOiA0cHggN3B4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtY29sb3IpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLWNoYXQtbWVzc2FnZS1jb250cm9sLXNoYWRvdyk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzLCBib3gtc2hhZG93IDAuMTVzLCBib3JkZXIgMC4xNXM7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpO1xufVxuXG4ucGxheUJ1dHRvbiB7XG4gICAgd2lkdGg6IDM0cHg7XG4gICAgaGVpZ2h0OiAzNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtYm9yZGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1iYWNrZ3JvdW5kKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtY29sb3IpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4ucGxheUJ1dHRvbkljb24ge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbn1cblxuLnBsYXlCdXR0b25TcGlubmVyIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNoYXQtbWVzc2FnZS1jb250cm9sLXNwaW5uZXItYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1zcGlubmVyLWFjY2VudC1jb2xvcik7XG4gICAgYW5pbWF0aW9uOiBtZXNzYWdlUGxheVNwaW5uZXIgMC45cyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbi5wbGF5QnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNoYXQtbWVzc2FnZS1jb250cm9sLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtaG92ZXItc2hhZG93KTtcbn1cblxuLnBsYXlCdXR0b246ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgb3BhY2l0eTogMC42O1xufVxuXG5Aa2V5ZnJhbWVzIG1lc3NhZ2VQbGF5U3Bpbm5lciB7XG4gICAgZnJvbSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59XG5cbi5jb3BpZWRUb29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogMTEwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgYmFja2dyb3VuZDogIzIyMjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiA2cHggMTZweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgZm9udC1zaXplOiAwLjk4ZW07XG4gICAgYm94LXNoYWRvdzogMCAycHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTgpO1xuICAgIG9wYWNpdHk6IDAuOTc7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogMTAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIGFuaW1hdGlvbjogY29waWVkVG9vbHRpcEZhZGVJbiAwLjJzO1xuICAgIG1heC13aWR0aDogMjIwcHg7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4uY29waWVkVG9vbHRpcExlZnQge1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmNvcGllZFRvb2x0aXBSaWdodCB7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIFJlbW92ZWQgcmlnaHQtYWxpZ25lZCBvdmVycmlkZSB0byBrZWVwIHRvb2x0aXAgcG9zaXRpb24gc3RhYmxlICovXG5cbkBrZXlmcmFtZXMgY29waWVkVG9vbHRpcEZhZGVJbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDhweCkgc2NhbGUoMC45Nyk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMC45NztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XG4gICAgfVxufVxuXG4uY29weUJ1dHRvbjpob3Zlcixcbi5jb3B5QnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1ob3Zlci1ib3JkZXItY29sb3IpO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtaG92ZXItc2hhZG93KTtcbn1cblxuLmNvcHlCdXR0b24gc3ZnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLkNoYXRbZGF0YS1jaGF0LXRoZW1lPSdkYXJrJ10gLmNvcHlCdXR0b24gc3ZnIHJlY3Qge1xuICAgIGZpbGw6ICNjYmQ1ZTE7XG4gICAgc3Ryb2tlOiAjOTRhM2I4O1xufVxuXG4vKiBNYXJrZG93biBwcmltaXRpdmVzIGFyZSBpbnRlbnRpb25hbGx5IGNlbnRyYWxpemVkIGluIGBNYXJrZG93bkNvbnRlbnQubW9kdWxlLmNzc2AuICovXG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlVGV4dDpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tY2hhdC1idWJibGUtc2hhZG93LWhvdmVyKSwgaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTYpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCh2YXIoLS1jaGF0LW1lc3NhZ2Utc3dpcGUtb2Zmc2V0LCAwcHgpKSB0cmFuc2xhdGVZKC0xLjVweCk7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlVGV4dC5hcnRpY2xlTW9kZUFnZW50TWVzc2FnZVRleHQ6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKiBBdHRhY2htZW50cyBzdHlsZXMgKi9cbi5hdHRhY2htZW50cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjI4KTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKSAxMiUsIHRyYW5zcGFyZW50KTtcbn1cblxuLmF0dGFjaG1lbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICBwYWRkaW5nOiA3cHggMTJweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjYpO1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA3NCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KSAyNiUpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4zKTtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDE2JSwgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGZvbnQtc2l6ZTogMTIuNXB4O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4uYXR0YWNobWVudFdpdGhSZW1vdmUge1xuICAgIGdhcDogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5hdHRhY2htZW50TWFpbkFjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICBwYWRkaW5nOiA3cHggOHB4IDdweCAxMnB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5hdHRhY2htZW50UmVtb3ZlQnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI0KTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3BhY2l0eTogMC44NTtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgICBiYWNrZ3JvdW5kIDAuMnMgZWFzZSxcbiAgICAgICAgb3BhY2l0eSAwLjJzIGVhc2UsXG4gICAgICAgIHRyYW5zZm9ybSAwLjJzIGVhc2U7XG59XG5cbi5hdHRhY2htZW50UmVtb3ZlQnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjE4KTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNCk7XG59XG5cbi5hdHRhY2htZW50UmVtb3ZlQnV0dG9uIHN2ZyB7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xufVxuXG4uYXR0YWNobWVudFdpdGhSZW1vdmUgLmF0dGFjaG1lbnROYW1lIHtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5hdHRhY2htZW50OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzQpO1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA2MiUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSAzOCUpO1xuICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSkgMjQlLCB0cmFuc3BhcmVudCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG4uYXR0YWNobWVudEljb24ge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBvcGFjaXR5OiAwLjg7XG59XG5cbi5hdHRhY2htZW50TmFtZSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4vKiBNZXNzYWdlIGJ1dHRvbnMgY29udGFpbmVyICovXG4ubWVzc2FnZUJ1dHRvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogOXB4O1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4zNik7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSkgMTQlLCB0cmFuc3BhcmVudCk7XG59XG5cbi8qIEluZGl2aWR1YWwgbWVzc2FnZSBidXR0b24gKi9cbi5tZXNzYWdlQnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDhweCAxNXB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS1iZy1jb2xvciwgI2ZmZmZmZikgNzglLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCkgMjIlKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuOSk7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKSAxOCUsIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBmb250LXNpemU6IDEyLjVweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLm1lc3NhZ2VCdXR0b246ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogcHJvZ3Jlc3M7XG4gICAgb3BhY2l0eTogMC43MjtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLm1lc3NhZ2VCdXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS1iZy1jb2xvciwgI2ZmZmZmZikgNjYlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSkgMzQlKTtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDI2JSwgIzdkZDNmYyA3NCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICBib3gtc2hhZG93OiAwIDVweCAxNHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xNCk7XG59XG5cbi5tZXNzYWdlQnV0dG9uOmhvdmVyOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS1iZy1jb2xvciwgI2ZmZmZmZikgNzglLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCkgMjIlKTtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDE4JSwgdHJhbnNwYXJlbnQpO1xufVxuXG4ubWVzc2FnZUJ1dHRvbjphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXMgZWFzZTtcbn1cblxuLmFjdGlvbk1lc3NhZ2VCdXR0b24ge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNTUsIDY1LCA4MSwgMC45Mik7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDMxLCA0MSwgNTUsIDAuOTUpO1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG4uYWN0aW9uTWVzc2FnZUJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgzMSwgNDEsIDU1LCAwLjk4KTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTcsIDI0LCAzOSwgMC45OCk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTRweCByZ2JhKDE1LCAyMywgNDIsIDAuMzIpO1xufVxuXG4uYWN0aW9uTWVzc2FnZUJ1dHRvbjpob3ZlcjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZDogcmdiYSg1NSwgNjUsIDgxLCAwLjkyKTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMzEsIDQxLCA1NSwgMC45NSk7XG59XG5cbi8qIFJlbW92ZSBkZWZhdWx0IG1hcmtkb3duIHN0eWxlcyBmcm9tIGJ1dHRvbiBjb250ZW50ICovXG4ubWVzc2FnZUJ1dHRvbiBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLm1lc3NhZ2VCdXR0b24gc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4ubWVzc2FnZUJ1dHRvbiBlbSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiBSYXRpbmcgc3lzdGVtICovXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAucmF0aW5nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtOHB4O1xuICAgIHJpZ2h0OiA4cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDJweDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1pbi13aWR0aDogMjRweDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIHBhZGRpbmc6IDRweCA2cHg7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAucmF0aW5nLmFydGljbGVNb2RlUmF0aW5nIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICByaWdodDogYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LWFydGljbGUtcmF0aW5nLWJhY2tncm91bmQpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNoYXQtYXJ0aWNsZS1yYXRpbmctYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIGJhY2tkcm9wLWZpbHRlcjogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2U6aG92ZXIgLnJhdGluZyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5yYXRpbmcuYXJ0aWNsZU1vZGVSYXRpbmc6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtYXJ0aWNsZS1yYXRpbmctaG92ZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jaGF0LWFydGljbGUtcmF0aW5nLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gICAgcGFkZGluZzogNHB4IDhweDtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1jaGF0LWFydGljbGUtcmF0aW5nLXNoYWRvdyk7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5yYXRpbmc6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgICBwYWRkaW5nOiA2cHggOHB4O1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAucmF0aW5nIHNwYW4ge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLnJhdGluZzpob3ZlciBzcGFuIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG5cbi5mZWVkYmFja0lzc3VlQnV0dG9uIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1mYW1pbHk6ICdPcGVuTW9qaUJsYWNrJywgJ05vdG8gRW1vamknLCAnQXBwbGUgQ29sb3IgRW1vamknLCAnU2Vnb2UgVUkgRW1vamknLCBzYW5zLXNlcmlmO1xufVxuXG4vKiBDaGF0IGlucHV0IGFyZWEgKi9cbi5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB7XG4gICAgei1pbmRleDogMTA7XG4gICAgZ3JpZC1hcmVhOiDwn5OdO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDIwcHggMjRweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygyMHB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTJweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNoYXQtaW5wdXQtYm9yZGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LWlucHV0LWJhY2tkcm9wKTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG59XG5cbi5hcnRpY2xlTW9kZUNoYXRJbnB1dCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1jaGF0LWFydGljbGUtbGF5b3V0LXBhZGRpbmctaW5saW5lKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1jaGF0LWFydGljbGUtbGF5b3V0LXBhZGRpbmctaW5saW5lKTtcbn1cblxuLmFydGljbGVNb2RlQ2hhdElucHV0ID4gOm5vdCguc3BlZWNoU3RhdHVzQnViYmxlKTpub3QoLmRyYWdPdmVybGF5KSB7XG4gICAgd2lkdGg6IG1pbih2YXIoLS1jaGF0LWFydGljbGUtbGF5b3V0LW1heC13aWR0aCksIDEwMCUpO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5DaGF0LmZ1bGxQYWdlVmlzdWFsIC5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2hhdC1mdWxsLXBhZ2UtaW5wdXQtYmFja2Ryb3ApO1xufVxuXG4vKiBGaWxlIHVwbG9hZCBkcmFnLWFuZC1kcm9wIHN0eWxlcyAqL1xuLmNoYXRNYWluRmxvdyAuY2hhdElucHV0LmRyYWdPdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LWlucHV0LWRyYWctb3Zlci1iYWNrZHJvcCk7XG59XG5cbi8qIEZpbGUgcHJldmlldyBjb250YWluZXIgKi9cbi5maWxlUHJldmlld0NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4uZmlsZVByZXZpZXdDb250YWluZXIuYXR0YWNobWVudHMge1xuICAgIC0tbWVzc2FnZS1iZy1jb2xvcjogdmFyKC0taW5wdXQtYmctY29sb3IpO1xuICAgIC0tbWVzc2FnZS10ZXh0LWNvbG9yOiB2YXIoLS1pbnB1dC10ZXh0LWNvbG9yKTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgY29sb3I6IHZhcigtLWlucHV0LXRleHQtY29sb3IpO1xufVxuXG4vKiBJbmRpdmlkdWFsIGZpbGUgcHJldmlldyAqL1xuLmZpbGVQcmV2aWV3IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2hhdC1maWxlLXByZXZpZXctYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2hhdC1maWxlLXByZXZpZXctYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4uZmlsZVByZXZpZXc6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtZmlsZS1wcmV2aWV3LWhvdmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY2hhdC1maWxlLXByZXZpZXctaG92ZXItYm9yZGVyLWNvbG9yKTtcbn1cblxuLmZpbGVJY29uIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgb3BhY2l0eTogMC43O1xufVxuXG4uZmlsZUluZm8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDJweDtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5maWxlTmFtZSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1maWxlLW5hbWUtY29sb3IpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBtYXgtd2lkdGg6IDE1MHB4O1xufVxuXG4uZmlsZVNpemUge1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LWZpbGUtc2l6ZS1jb2xvcik7XG4gICAgZm9udC1zaXplOiAxMXB4O1xufVxuXG4ucmVtb3ZlRmlsZUJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDAsIDAsIDAuMSk7XG4gICAgY29sb3I6ICNmZjQ0NDQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ucmVtb3ZlRmlsZUJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDAsIDAsIDAuMik7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuXG4vKiBJbnB1dCBjb250YWluZXIgZm9yIHRleHRhcmVhIGFuZCBidXR0b25zICovXG4uaW5wdXRDb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtaW5wdXQtY29udGFpbmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNoYXQtaW5wdXQtY29udGFpbmVyLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogMjZweDtcbiAgICBwYWRkaW5nOiA5cHggMTJweDtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1jaGF0LWlucHV0LWNvbnRhaW5lci1zaGFkb3cpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbn1cblxuLmlucHV0Q29udGFpbmVyOmZvY3VzLXdpdGhpbiB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icmFuZC1jb2xvciwgIzBlYTVlOSk7XG4gICAgYm94LXNoYWRvdzogMCAxOHB4IDQycHggcmdiYSgxNSwgMjMsIDQyLCAwLjE2KSwgMCAwIDAgNHB4IHJnYmEoMTQsIDE2NSwgMjMzLCAwLjE2KTtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1icmFuZC1jb2xvciwgIzBlYTVlOSkgNTglLCByZ2JhKDE1LCAyMywgNDIsIDAuMikgNDIlKTtcbiAgICBib3gtc2hhZG93OiAwIDE4cHggNDJweCByZ2JhKDE1LCAyMywgNDIsIDAuMTYpLFxuICAgICAgICAwIDAgMCA0cHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJyYW5kLWNvbG9yLCAjMGVhNWU5KSAxNiUsIHRyYW5zcGFyZW50KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG5cbi5DaGF0W2RhdGEtY2hhdC10aGVtZT0nZGFyayddIC5pbnB1dENvbnRhaW5lcjpmb2N1cy13aXRoaW4ge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxMjUsIDIxMSwgMjUyLCAwLjYpO1xuICAgIGJveC1zaGFkb3c6IDAgMjBweCA0NHB4IHJnYmEoMiwgNiwgMjMsIDAuNDgpLCAwIDAgMCA0cHggcmdiYSgxNCwgMTY1LCAyMzMsIDAuMTgpO1xufVxuXG4uaW5wdXRDb250YWluZXIgdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1pbnB1dC1wbGFjZWhvbGRlci1jb2xvcik7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLyogQXR0YWNobWVudCBidXR0b24gKi9cbi5hdHRhY2htZW50QnV0dG9uIHtcbiAgICB3aWR0aDogdmFyKC0tY2hhdC1pbnB1dC1hY3Rpb24tc2l6ZSk7XG4gICAgaGVpZ2h0OiB2YXIoLS1jaGF0LWlucHV0LWFjdGlvbi1zaXplKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLWNoYXQtaW5wdXQtYWN0aW9uLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmF0dGFjaG1lbnRCdXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtaW5wdXQtYWN0aW9uLWhvdmVyLWJhY2tncm91bmQpO1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LWlucHV0LWFjdGlvbi1ob3Zlci1jb2xvcik7XG59XG5cbi5hdHRhY2htZW50QnV0dG9uOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLyogVm9pY2UgQnV0dG9uICovXG4udm9pY2VCdXR0b24ge1xuICAgIHdpZHRoOiB2YXIoLS1jaGF0LWlucHV0LWFjdGlvbi1zaXplKTtcbiAgICBoZWlnaHQ6IHZhcigtLWNoYXQtaW5wdXQtYWN0aW9uLXNpemUpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1pbnB1dC1hY3Rpb24tY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4udm9pY2VCdXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtaW5wdXQtYWN0aW9uLWhvdmVyLWJhY2tncm91bmQpO1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LWlucHV0LWFjdGlvbi1ob3Zlci1jb2xvcik7XG59XG5cbi52b2ljZUJ1dHRvbkFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4xKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZWY0NDQ0ICFpbXBvcnRhbnQ7XG4gICAgYW5pbWF0aW9uOiB2b2ljZVJlY29yZGluZ1B1bHNlIDEuNXMgaW5maW5pdGU7XG59XG5cbi5zcGVlY2hTdGF0dXNCdWJibGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMjRweDtcbiAgICBib3R0b206IDg2cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBtYXgtd2lkdGg6IG1pbigzMjBweCwgY2FsYygxMDAlIC0gNDhweCkpO1xuICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNoYXQtc3BlZWNoLXN0YXR1cy1ib3JkZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtc3BlZWNoLXN0YXR1cy1iYWNrZ3JvdW5kKTtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1zcGVlY2gtc3RhdHVzLWNvbG9yKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1jaGF0LXNwZWVjaC1zdGF0dXMtc2hhZG93KTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB6LWluZGV4OiAyNTtcbiAgICBhbmltYXRpb246IHNwZWVjaFN0YXR1c0J1YmJsZUluIDAuMnMgZWFzZS1vdXQ7XG59XG5cbi5zcGVlY2hTdGF0dXNCdWJibGVEb3Qge1xuICAgIHdpZHRoOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtc3BlZWNoLXN0YXR1cy1kb3QtYmFja2dyb3VuZCk7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgYW5pbWF0aW9uOiBzcGVlY2hTdGF0dXNCdWJibGVEb3RQdWxzZSAxLjJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG4uc3BlZWNoU3RhdHVzQnViYmxlUmVjb3JkaW5nIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMzUpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU0LCAyNDIsIDI0MiwgMC45Nyk7XG4gICAgY29sb3I6ICM5OTFiMWI7XG59XG5cbi5zcGVlY2hTdGF0dXNCdWJibGVSZWNvcmRpbmcgLnNwZWVjaFN0YXR1c0J1YmJsZURvdCB7XG4gICAgYmFja2dyb3VuZDogI2VmNDQ0NDtcbn1cblxuLnNwZWVjaFN0YXR1c0J1YmJsZVByb2Nlc3Npbmcge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNCwgMTE2LCAxNDQsIDAuMzUpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjM2LCAyNTQsIDI1NSwgMC45Nyk7XG4gICAgY29sb3I6ICMxNTVlNzU7XG59XG5cbi5zcGVlY2hTdGF0dXNCdWJibGVQcm9jZXNzaW5nIC5zcGVlY2hTdGF0dXNCdWJibGVEb3Qge1xuICAgIGJhY2tncm91bmQ6ICMwZWE1ZTk7XG59XG5cbi5zcGVlY2hTdGF0dXNCdWJibGVFcnJvciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIyMCwgMzgsIDM4LCAwLjM1KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NCwgMjQyLCAyNDIsIDAuOTgpO1xuICAgIGNvbG9yOiAjOTkxYjFiO1xufVxuXG4uc3BlZWNoU3RhdHVzQnViYmxlRXJyb3IgLnNwZWVjaFN0YXR1c0J1YmJsZURvdCB7XG4gICAgYmFja2dyb3VuZDogI2RjMjYyNjtcbiAgICBhbmltYXRpb246IG5vbmU7XG59XG5cbi5DaGF0W2RhdGEtY2hhdC10aGVtZT0nZGFyayddIC5zcGVlY2hTdGF0dXNCdWJibGVSZWNvcmRpbmcge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNDgsIDExMywgMTEzLCAwLjQ0KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEyNywgMjksIDI5LCAwLjcyKTtcbiAgICBjb2xvcjogI2ZlY2FjYTtcbn1cblxuLkNoYXRbZGF0YS1jaGF0LXRoZW1lPSdkYXJrJ10gLnNwZWVjaFN0YXR1c0J1YmJsZVByb2Nlc3Npbmcge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxMjUsIDIxMSwgMjUyLCAwLjQ0KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDgsIDQ3LCA3MywgMC43NCk7XG4gICAgY29sb3I6ICNiYWU2ZmQ7XG59XG5cbi5DaGF0W2RhdGEtY2hhdC10aGVtZT0nZGFyayddIC5zcGVlY2hTdGF0dXNCdWJibGVFcnJvciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI0OCwgMTEzLCAxMTMsIDAuNSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMjcsIDI5LCAyOSwgMC44Mik7XG4gICAgY29sb3I6ICNmZWNhY2E7XG59XG5cbi5kaWN0YXRpb25QYW5lbCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2hhdC1kaWN0YXRpb24tcGFuZWwtYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LWRpY3RhdGlvbi1wYW5lbC1iYWNrZ3JvdW5kKTtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1kaWN0YXRpb24tcGFuZWwtY29sb3IpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTBweDtcbn1cblxuLmRpY3RhdGlvblBhbmVsSGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogOHB4O1xufVxuXG4uZGljdGF0aW9uUGFuZWxUaXRsZSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LWRpY3RhdGlvbi10aXRsZS1jb2xvcik7XG59XG5cbi5kaWN0YXRpb25QYW5lbFRvZ2dsZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2hhdC1kaWN0YXRpb24tcGFuZWwtYm9yZGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LWRpY3RhdGlvbi10b2dnbGUtYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1kaWN0YXRpb24tdG9nZ2xlLWNvbG9yKTtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmRpY3RhdGlvbkludGVyaW1UcmFuc2NyaXB0IHtcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgcmdiYSg1OSwgMTMwLCAyNDYsIDAuNDUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2hhdC1kaWN0YXRpb24tdHJhbnNjcmlwdC1iYWNrZ3JvdW5kKTtcbiAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LWRpY3RhdGlvbi10cmFuc2NyaXB0LWNvbG9yKTtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZGljdGF0aW9uRXJyb3JQYW5lbCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMjAsIDM4LCAzOCwgMC4yNSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTQsIDI0MiwgMjQyLCAwLjk1KTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDhweDtcbiAgICBjb2xvcjogIzk5MWIxYjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmRpY3RhdGlvbkVycm9yQWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiA4cHg7XG59XG5cbi5kaWN0YXRpb25FcnJvckFjdGlvbnMgYnV0dG9uLFxuLmRpY3RhdGlvbkNvcnJlY3Rpb25BY3Rpb25zIGJ1dHRvbiB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2hhdC1kaWN0YXRpb24tYWN0aW9uLWJvcmRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2hhdC1kaWN0YXRpb24tYWN0aW9uLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgY29sb3I6IHZhcigtLWNoYXQtZGljdGF0aW9uLWFjdGlvbi1jb2xvcik7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZzogNnB4IDEwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZGljdGF0aW9uQ29ycmVjdGlvblBhbmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA4cHg7XG59XG5cbi5kaWN0YXRpb25Db3JyZWN0aW9uTGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LWRpY3RhdGlvbi1jb3JyZWN0aW9uLWxhYmVsLWNvbG9yKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG59XG5cbi5kaWN0YXRpb25Db3JyZWN0aW9uVGV4dGFyZWEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDY4cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2hhdC1kaWN0YXRpb24tY29ycmVjdGlvbi10ZXh0YXJlYS1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgcGFkZGluZzogOHB4IDEwcHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgY29sb3I6IHZhcigtLWNoYXQtZGljdGF0aW9uLWNvcnJlY3Rpb24tdGV4dGFyZWEtY29sb3IpO1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2hhdC1kaWN0YXRpb24tY29ycmVjdGlvbi10ZXh0YXJlYS1iYWNrZ3JvdW5kKTtcbn1cblxuLmRpY3RhdGlvbkNvcnJlY3Rpb25BY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDhweDtcbn1cblxuLmRpY3RhdGlvblNldHRpbmdzUGFuZWwge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgIGdhcDogOHB4IDEycHg7XG59XG5cbi5kaWN0YXRpb25TZXR0aW5nc1BhbmVsIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNnB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1kaWN0YXRpb24tc2V0dGluZ3MtY29sb3IpO1xufVxuXG4uZGljdGF0aW9uRmFsbGJhY2tOb3RlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LWRpY3RhdGlvbi1mYWxsYmFjay1jb2xvcik7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU7XG59XG5cbkBrZXlmcmFtZXMgc3BlZWNoU3RhdHVzQnViYmxlSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KSBzY2FsZSgwLjk4KTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNwZWVjaFN0YXR1c0J1YmJsZURvdFB1bHNlIHtcbiAgICAwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuODIpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyB2b2ljZVJlY29yZGluZ1B1bHNlIHtcbiAgICAwJSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgyNTUsIDAsIDAsIDAuNCk7XG4gICAgfVxuICAgIDcwJSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwcHggcmdiYSgyNTUsIDAsIDAsIDApO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDI1NSwgMCwgMCwgMCk7XG4gICAgfVxufVxuXG4vKiBVcGxvYWQgcHJvZ3Jlc3MgaW5kaWNhdG9yICovXG4udXBsb2FkUHJvZ3Jlc3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG4gICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAxMzIsIDI1NSwgMC4xKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDEzMiwgMjU1LCAwLjIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICMwMDg0ZmY7XG59XG5cbi51cGxvYWRQcm9ncmVzc0JhciB7XG4gICAgZmxleDogMTtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDEzMiwgMjU1LCAwLjIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udXBsb2FkUHJvZ3Jlc3NGaWxsIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjMDA4NGZmLCByZ2JhKDAsIDEzMiwgMjU1LCAwLjgpKTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgYW5pbWF0aW9uOiB1cGxvYWRQcm9ncmVzcyAxLjVzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHVwbG9hZFByb2dyZXNzIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgfVxufVxuXG4vKiBEcmFnIG92ZXJsYXkgKi9cbi5kcmFnT3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDEzMiwgMjU1LCAwLjEpO1xuICAgIGJvcmRlcjogMnB4IGRhc2hlZCByZ2JhKDAsIDEzMiwgMjU1LCAwLjUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICB6LWluZGV4OiAyMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmRyYWdPdmVybGF5Q29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIGNvbG9yOiAjMDA4NGZmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZHJhZ092ZXJsYXlDb250ZW50IHN2ZyB7XG4gICAgb3BhY2l0eTogMC43O1xufVxuXG4vKiBDaGF0IGlucHV0IGZpZWxkICovXG4uY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgdGV4dGFyZWEge1xuICAgIGZsZXg6IDE7XG4gICAgcGFkZGluZzogdmFyKC0tY2hhdC1pbnB1dC1wYWRkaW5nLXkpIHZhcigtLWNoYXQtaW5wdXQtcGFkZGluZy14KTtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLWNoYXQtaW5wdXQtdGV4dC1jb2xvcik7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGhlaWdodDogdmFyKC0tY2hhdC1pbnB1dC10ZXh0YXJlYS1oZWlnaHQpO1xuICAgIG1pbi1oZWlnaHQ6IHZhcigtLWNoYXQtaW5wdXQtdGV4dGFyZWEtaGVpZ2h0KTtcbiAgICBtYXgtaGVpZ2h0OiB2YXIoLS1jaGF0LWlucHV0LXRleHRhcmVhLWhlaWdodCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1jaGF0LWlucHV0LWZvbnQtc2l6ZSk7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMDJlbTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tY2hhdC1pbnB1dC1saW5lLWhlaWdodCk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHJlc2l6ZTogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgdGV4dGFyZWE6Zm9jdXMge1xuICAgIC8qIEZvY3VzIGlzIGhhbmRsZWQgYnkgLmlucHV0Q29udGFpbmVyICovXG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB0ZXh0YXJlYTpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC42O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgdHJhbnNmb3JtOiBub25lO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1pbnB1dC1wbGFjZWhvbGRlci1jb2xvcik7XG4gICAgb3BhY2l0eTogMC45O1xufVxuXG4vKiBDaGF0IHNlbmQgYnV0dG9uICovXG4uY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgYnV0dG9uW2RhdGEtYnV0dG9uLXR5cGU9J2NhbGwtdG8tYWN0aW9uJ10ge1xuICAgIHdpZHRoOiB2YXIoLS1jaGF0LWlucHV0LWFjdGlvbi1zaXplKTtcbiAgICBoZWlnaHQ6IHZhcigtLWNoYXQtaW5wdXQtYWN0aW9uLXNpemUpO1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblxuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG4gICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICBtaW4td2lkdGg6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogdW5zZXQgIWltcG9ydGFudDtcblxuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMTMyLCAyNTUsIDAuMjUpO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCBidXR0b25bZGF0YS1idXR0b24tdHlwZT0nY2FsbC10by1hY3Rpb24nXTpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICBib3gtc2hhZG93OiAwIDZweCAxNnB4IHJnYmEoMCwgMTMyLCAyNTUsIDAuMzUpO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgYnV0dG9uW2RhdGEtYnV0dG9uLXR5cGU9J2NhbGwtdG8tYWN0aW9uJ106YWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgYnV0dG9uW2RhdGEtYnV0dG9uLXR5cGU9J2NhbGwtdG8tYWN0aW9uJ10gc3ZnIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCBidXR0b24gaW1nIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG4vKiBTY3JvbGwgdG8gYm90dG9tIGJ1dHRvbiAqL1xuXG4uc2Nyb2xsVG9Cb3R0b21Db250YWluZXIge1xuICAgIC8qL1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgcmVkO1xuICAgIC8qKi9cblxuICAgIHotaW5kZXg6IDIwO1xuICAgIGdyaWQtYXJlYTog8J+TnTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uc2Nyb2xsVG9Cb3R0b21Db250YWluZXIgLnNjcm9sbFRvQm90dG9tV3JhcHBlciB7XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTE1MCUpO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYW5pbWF0aW9uOiBzY3JvbGxCdXR0b25TbGlkZUluIDAuM3MgZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xufVxuXG4uc2Nyb2xsVG9Cb3R0b21Db250YWluZXIgLnNjcm9sbFRvQm90dG9tIHtcbiAgICB3aWR0aDogNDhweDtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCAwIDAgLyAwLjUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuXG5Aa2V5ZnJhbWVzIHNjcm9sbEJ1dHRvblNsaWRlSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAyMHB4KSBzY2FsZSgwLjgpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCkgc2NhbGUoMSk7XG4gICAgfVxufVxuXG4uc2Nyb2xsVG9Cb3R0b21CYWRnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLThweDtcbiAgICByaWdodDogLThweDtcbiAgICBtaW4td2lkdGg6IDMycHg7XG4gICAgcGFkZGluZzogMnB4IDZweDtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBiYWNrZ3JvdW5kOiAjMjU2M2ViO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDEwcHggcmdiYSgzNywgOTksIDIzNSwgMC40KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKiBSYXRpbmcgbW9kYWwgKi9cbi5yYXRpbmdNb2RhbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMCwgMCwgMCwgMC42KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoOHB4KTtcblxuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB6LWluZGV4OiAxMDAwO1xuICAgIGFuaW1hdGlvbjogbW9kYWxGYWRlSW4gMC4zcyBlYXNlLW91dDtcbn1cblxuQGtleWZyYW1lcyBtb2RhbEZhZGVJbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigwcHgpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpO1xuICAgIH1cbn1cblxuLnJhdGluZ01vZGFsQ29udGVudCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBjb2xvcjogIzBmMTcyNDtcbiAgICBwYWRkaW5nOiAzMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgd2lkdGg6IDkwJTtcbiAgICBtYXgtd2lkdGg6IDQ4MHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMjBweCA2MHB4IHJnYmEoMCwgMCwgMCwgMC4zKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMSk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpO1xuICAgIGFuaW1hdGlvbjogbW9kYWxTbGlkZUluIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuXG4gICAgZm9udC1mYW1pbHk6IEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWYsICdPcGVuTW9qaUNvbG9yJywgJ09wZW5Nb2ppQmxhY2snO1xuICAgIC8qIDwtIFRPRE86IFvwn6egXVvwn46xXSBCZXR0ZXIsIGRlZmluZSBvdGhlciBmb250cyAqL1xufVxuXG5Aa2V5ZnJhbWVzIG1vZGFsU2xpZGVJbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgyMHB4KSBzY2FsZSgwLjk1KTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XG4gICAgfVxufVxuXG4ucmF0aW5nTW9kYWxDb250ZW50IGgzIHtcbiAgICBtYXJnaW46IDAgMCAyNHB4IDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGNvbG9yOiBibGFjaztcbiAgICBmb250LXNpemU6IDIwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnN0YXJzIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG59XG5cbi5zdGFycyBzcGFuIHtcbiAgICBmb250LXNpemU6IDI4cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgcGFkZGluZzogNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbn1cblxuLnN0YXJzIHNwYW46aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjE1LCAwLCAwLjEpO1xufVxuXG4ucmF0aW5nTW9kYWxTdGFyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XG59XG5cbi5yYXRpbmdNb2RhbFtkYXRhLWNoYXQtbW9kYWw9J2ltYWdlLWF0dGFjaG1lbnQnXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiAyNHB4O1xufVxuXG4udG9vbENhbGxNb2RhbCB7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0OHB4KTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5pbWFnZUF0dGFjaG1lbnRNb2RhbCB7XG4gICAgd2lkdGg6IG1pbig5MnZ3LCAxMDQwcHgpO1xuICAgIG1heC13aWR0aDogMTA0MHB4O1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0OHB4KTtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIDQ4cHgpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uaW1hZ2VBdHRhY2htZW50TW9kYWxIZWFkZXIge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHBhZGRpbmc6IDIwcHggNjhweCAxNHB4IDI0cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbn1cblxuLmltYWdlQXR0YWNobWVudE1vZGFsVGl0bGUge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMGYxNzJhICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbn1cblxuLmltYWdlQXR0YWNobWVudE1vZGFsUHJldmlldyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDEzMHB4KTtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIDEzMHB4KTtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIGJhY2tncm91bmQ6ICMwZjE3MmE7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaW1hZ2VBdHRhY2htZW50TW9kYWxJbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxNjJweCk7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDBkdmggLSAxNjJweCk7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuLnRvb2xDYWxsSGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxNnB4O1xuICAgIHBhZGRpbmc6IDI0cHggMzJweCAxNnB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNlZWYyZmYgMCUsICNmNWYzZmYgNDAlLCAjZmVmY2M5IDEwMCUpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDE1LCAyMywgNDIsIDAuMDgpO1xufVxuXG4udG9vbENhbGxJY29uIHtcbiAgICBmb250LXNpemU6IDMycHg7XG59XG5cbi50b29sQ2FsbEhlYWRlck1ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDRweDtcbn1cblxuLnRvb2xDYWxsTW9kYWxMYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjM1ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzQ3NTQ2NztcbiAgICBtYXJnaW46IDA7XG59XG5cbi50b29sQ2FsbFRpdGxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMwZjE3MmE7XG59XG5cbi50b29sQ2FsbFN1YnRpdGxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAjNDc1NDY3O1xufVxuXG4udG9vbENhbGxHcmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjUwcHgsIDFmcikpO1xuICAgIGdhcDogMTZweDtcbiAgICBwYWRkaW5nOiAyNHB4IDMycHggMTZweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xufVxuXG4udG9vbENhbGxQYW5lbCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgcGFkZGluZzogMThweDtcbiAgICBib3gtc2hhZG93OiAwIDE4cHggNDBweCByZ2JhKDE1LCAyMywgNDIsIDAuMDgpO1xufVxuXG4udG9vbENhbGxQYW5lbFRpdGxlIHtcbiAgICBtYXJnaW46IDAgMCAxMnB4IDA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMjVlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjOTRhM2I4O1xufVxuXG4udG9vbENhbGxMaXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEycHg7XG59XG5cbi50b29sQ2FsbEl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDRweDtcbn1cblxuLnRvb2xDYWxsSXRlbUxhYmVsIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMjVlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjOTRhM2I4O1xufVxuXG4udG9vbENhbGxJdGVtVmFsdWUge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xufVxuXG4udG9vbENhbGxTdW1tYXJ5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbi50b29sQ2FsbFN1bW1hcnlNZXRhIHtcbiAgICBtYXJnaW4tdG9wOiAxNHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogOHB4O1xufVxuXG4udG9vbENhbGxTdW1tYXJ5TWV0YUJhZGdlIHtcbiAgICBwYWRkaW5nOiA1cHggMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDc5LCA3MCwgMjI5LCAwLjE1KTtcbiAgICBjb2xvcjogIzMxMmU4MTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnRvb2xDYWxsRW1wdHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogIzk0YTNiODtcbiAgICBmb250LXNpemU6IDE0cHg7XG59XG5cbi50b29sQ2FsbFBlbmRpbmdDYXJkIHtcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgI2NiZDVlMTtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIHBhZGRpbmc6IDE0cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2Y4ZmJmZiAwJSwgI2Y4ZmFmYyAxMDAlKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMHB4O1xufVxuXG4udG9vbENhbGxQZW5kaW5nSGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogMTBweDtcbn1cblxuLnRvb2xDYWxsUGVuZGluZ1RpdGxlIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbn1cblxuLnRvb2xDYWxsUGVuZGluZ0JhZGdlIHtcbiAgICBwYWRkaW5nOiA0cHggMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE0LCAxNjUsIDIzMywgMC4xMik7XG4gICAgY29sb3I6ICMwMzY5YTE7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4udG9vbENhbGxQZW5kaW5nTWVzc2FnZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjNDc1NDY3O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4udG9vbENhbGxQZW5kaW5nU2tlbGV0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDhweDtcbn1cblxuLnRvb2xDYWxsUGVuZGluZ1NrZWxldG9uTGluZSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgyMjYsIDIzMiwgMjQwLCAwLjcpLCByZ2JhKDI0MSwgMjQ1LCAyNDksIDEpLCByZ2JhKDIyNiwgMjMyLCAyNDAsIDAuNykpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjAwJSAxMDAlO1xuICAgIGFuaW1hdGlvbjogdG9vbENhbGxQZW5kaW5nU2tlbGV0b25QdWxzZSAxLjRzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG4udG9vbENhbGxQZW5kaW5nU2tlbGV0b25TaG9ydCB7XG4gICAgd2lkdGg6IDY4JTtcbn1cblxuQGtleWZyYW1lcyB0b29sQ2FsbFBlbmRpbmdTa2VsZXRvblB1bHNlIHtcbiAgICBmcm9tIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMCUgNTAlO1xuICAgIH1cbn1cblxuLnRvb2xDYWxsRGV0YWlsc0NhcmQge1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIGJhY2tncm91bmQ6ICNmOGZhZmM7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRvb2xDYWxsRGV0YWlsc0NhcmRSb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogMTJweDtcbiAgICBwYWRkaW5nOiAxMnB4IDE0cHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAjMzM0MTU1O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDIyNiwgMjMyLCAyNDAsIDAuOSk7XG59XG5cbi50b29sQ2FsbERldGFpbHNDYXJkUm93OmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wOiBub25lO1xufVxuXG4udG9vbENhbGxEZXRhaWxzQ2FyZFJvdyBzdHJvbmcge1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4udG9vbENhbGxJc3N1ZXMge1xuICAgIHBhZGRpbmc6IDAgMzJweCAxNnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogOHB4O1xufVxuXG4udG9vbENhbGxJc3N1ZUJhZGdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmc6IDZweCAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xufVxuXG4udG9vbENhbGxJc3N1ZUVycm9yIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjEyKTtcbiAgICBjb2xvcjogI2I5MWMxYztcbn1cblxuLnRvb2xDYWxsSXNzdWVXYXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzNCwgMTc5LCA4LCAwLjE2KTtcbiAgICBjb2xvcjogI2ExNjIwNztcbn1cblxuLnRvb2xDYWxsTW9kZUZvb3RlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIHBhZGRpbmc6IDAgMzJweCAyNHB4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnRvb2xDYWxsTW9kZUJ1dHRvbiB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NiZDVlMTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIHBhZGRpbmc6IDhweCAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZSwgdHJhbnNmb3JtIDAuMnMgZWFzZTtcbn1cblxuLnRvb2xDYWxsTW9kZUJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbiAgICBib3JkZXItY29sb3I6ICM5NGEzYjg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG4udG9vbENhbGxDbG9ja1BhbmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDIwcHg7XG4gICAgcGFkZGluZzogMjBweDtcbn1cblxuLnRvb2xDYWxsQ2xvY2tMYWJlbHMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRvb2xDYWxsQ2xvY2tQcmltYXJ5IHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4udG9vbENhbGxDbG9ja1NlY29uZGFyeSB7XG4gICAgY29sb3I6ICM0NzU0Njc7XG59XG5cbi50b29sQ2FsbENsb2NrTWV0YSB7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgICBjb2xvcjogIzY2NzA4NTtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG59XG5cbi50aW1lb3V0VG9vbFN1bW1hcnkge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgIHBhZGRpbmc6IDE2cHg7XG59XG5cbi50aW1lb3V0VG9vbFByaW1hcnlTZW50ZW5jZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi50aW1lb3V0VG9vbFNlY29uZGFyeVNlbnRlbmNlIHtcbiAgICBtYXJnaW46IDZweCAwIDA7XG4gICAgY29sb3I6ICM0NzU0Njc7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi50aW1lb3V0VG9vbEFjdGlvblJvdyB7XG4gICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDhweDtcbn1cblxuLnRpbWVvdXRUb29sQWN0aW9uQnV0dG9uIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2JkNWUxO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgcGFkZGluZzogOHB4IDE0cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4udGltZW91dFRvb2xBY3Rpb25CdXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmMWY1Zjk7XG4gICAgYm9yZGVyLWNvbG9yOiAjOTRhM2I4O1xufVxuXG4udGltZW91dFRvb2xBY3Rpb25CdXR0b246ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBvcGFjaXR5OiAwLjQ1O1xufVxuXG4ubWVtb3J5TW9kYWxIZWFkZXIge1xuICAgIHBhZGRpbmc6IDI4cHggMzJweCAxNnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAxNnB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNmZGZkZmQgMCUsICNmNmY5ZmYgMTAwJSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmU4ZjA7XG59XG5cbi5tZW1vcnlNb2RhbEljb24ge1xuICAgIHdpZHRoOiA1MnB4O1xuICAgIGhlaWdodDogNTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM2MzY2ZjEsICNhODU1ZjcpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMThweCAyOHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xOCk7XG59XG5cbi5tZW1vcnlNb2RhbEhlYWRlclRleHQge1xuICAgIGZsZXg6IDE7XG59XG5cbi5tZW1vcnlNb2RhbFRpdGxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMwZjE3MmE7XG59XG5cbi5tZW1vcnlNb2RhbFN1YnRpdGxlIHtcbiAgICBtYXJnaW46IDRweCAwIDA7XG4gICAgY29sb3I6ICM0NzU0Njc7XG4gICAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4ubWVtb3J5TW9kYWxTdGF0dXMge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIHBhZGRpbmc6IDZweCAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA2cHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm1lbW9yeVN0YXR1c0RvdCB7XG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLm1lbW9yeU1vZGFsQ29udGVudCB7XG4gICAgcGFkZGluZzogMjRweCAzMnB4IDMycHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxNnB4O1xufVxuXG4ubWVtb3J5TWVzc2FnZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG4ubWVtb3J5TWV0YVJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICM0NzU0Njc7XG59XG5cbi5tZW1vcnlNZXRhTGFiZWwge1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4ubWVtb3J5TWV0YVZhbHVlIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4ubWVtb3J5U3RvcmVTZWN0aW9uLFxuLm1lbW9yeVJldHJpZXZlU2VjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTJweDtcbn1cblxuLm1lbW9yeUNhcmQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNWU3ZWI7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBwYWRkaW5nOiAxOHB4O1xuICAgIGJhY2tncm91bmQ6ICNmOGZhZmM7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDE4cHggcmdiYSgxNSwgMjMsIDQyLCAwLjA4KTtcbn1cblxuLm1lbW9yeUNhcmRDb250ZW50IHtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbn1cblxuLm1lbW9yeUNhcmRNZXRhIHtcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICM5NGEzYjg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4ubWVtb3J5U2NvcGVCYWRnZSB7XG4gICAgcGFkZGluZzogM3B4IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMjQsIDU4LCAyMzcsIDAuMTIpO1xufVxuXG4ubWVtb3J5TGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTJweDtcbn1cblxuLm1lbW9yeUVtcHR5U3RhdGUge1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgYmFja2dyb3VuZDogI2ZlZjNjNztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmRlNjhhO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgY29sb3I6ICM5MjQwMGU7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLm1lbW9yeUxpc3RGb290ZXIge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBjb2xvcjogIzQ3NTQ2NztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5tZW1vcnlTdGF0dXNTdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE2LCAxODUsIDEyOSwgMC4xNik7XG4gICAgY29sb3I6ICMwNDc4NTc7XG59XG5cbi5tZW1vcnlTdGF0dXNXYXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzNCwgMTc5LCA4LCAwLjE2KTtcbiAgICBjb2xvcjogI2ExNjIwNztcbn1cblxuLm1lbW9yeVN0YXR1c0Vycm9yIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjE1KTtcbiAgICBjb2xvcjogI2I5MWMxYztcbn1cblxuLm1lbW9yeVN0YXR1c05ldXRyYWwge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoOTYsIDE2NSwgMjUwLCAwLjE1KTtcbiAgICBjb2xvcjogIzFkNGVkODtcbn1cblxuLnNlYXJjaE1vZGFsSGVhZGVyIHtcbiAgICBwYWRkaW5nOiAyNHB4IDMycHg7XG4gICAgcGFkZGluZy1yaWdodDogNzJweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxNnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZGZkZmQ7XG59XG5cbi5zZWxmTGVhcm5pbmdNb2RhbEhlYWRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDE4cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2Y4ZmFmYyAwJSwgI2ZlZjljMyA0NSUsICNlY2ZjY2IgMTAwJSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmU4ZjA7XG59XG5cbi5zZWxmTGVhcm5pbmdBdmF0YXJHcm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbn1cblxuLnNlbGZMZWFybmluZ0F2YXRhciB7XG4gICAgd2lkdGg6IDQ4cHg7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZTJlOGYwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDE1LCAyMywgNDIsIDAuMTgpO1xufVxuXG4uc2VsZkxlYXJuaW5nQXZhdGFySW5pdGlhbCB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5zZWxmTGVhcm5pbmdUZWFjaGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZmRlNjhhIDAlLCAjODZlZmFjIDEwMCUpO1xufVxuXG4uc2VsZkxlYXJuaW5nSGVhZGVyVGV4dCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogNnB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5zZWxmTGVhcm5pbmdUaXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4uc2VsZkxlYXJuaW5nTWV0YVJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG5cbi5zZWxmTGVhcm5pbmdNZXRhIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICM2NDc0OGI7XG59XG5cbi5zZWxmTGVhcm5pbmdNZXRhQ2hpcCB7XG4gICAgYmFja2dyb3VuZDogI2UyZThmMDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBwYWRkaW5nOiA0cHggMTBweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnNlbGZMZWFybmluZ0NvbW1pdG1lbnRzIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBwYWRkaW5nOiAxNnB4O1xufVxuXG4uc2VsZkxlYXJuaW5nQ29tbWl0bWVudHNMYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzk0YTNiODtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uc2VsZkxlYXJuaW5nQm9va0VkaXRvciB7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG59XG5cbi5zZWxmTGVhcm5pbmdFbXB0eSB7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICM0NzU1Njk7XG59XG5cbi5tb2RhbENsb3NlQnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxNnB4O1xuICAgIHJpZ2h0OiAxNnB4O1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb2xvcjogIzQ3NTU2OTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3gtc2hhZG93OiAwIDZweCAxNnB4IHJnYmEoMTUsIDIzLCA0MiwgMC4wOCk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZSwgYm94LXNoYWRvdyAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjJzIGVhc2U7XG59XG5cbi5tb2RhbENsb3NlQnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGJveC1zaGFkb3c6IDAgMTBweCAyNHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG4ubW9kYWxDbG9zZUJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgIzk0YTNiODtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4udGVhbU1vZGFsSGVhZGVyIHtcbiAgICBnYXA6IDEycHg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4udGVhbUhlYWRlclBhcnRpY2lwYW50cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTJweDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi50ZWFtSGVhZGVyUHJvZmlsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiBpbmhlcml0O1xufVxuXG4udGVhbUhlYWRlclByb2ZpbGVMaW5rOmhvdmVyIHtcbiAgICBjb2xvcjogIzBmMTcyYTtcbn1cblxuLnRlYW1IZWFkZXJBdmF0YXIge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMTRweCByZ2JhKDE1LCAyMywgNDIsIDAuMDgpO1xufVxuXG4udGVhbUhlYWRlck5hbWUge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4udGVhbUhlYWRlckRpdmlkZXIge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjOTRhM2I4O1xufVxuXG4uc2VhcmNoTW9kYWxJY29uIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjb2xvcjogIzQ3NTU2OTtcbn1cblxuLnNlYXJjaE1vZGFsUXVlcnkge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMjJweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzIwMjEyNCAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLnNlYXJjaE1vZGFsQ29udGVudCB7XG4gICAgcGFkZGluZzogMjRweCAzMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgbWF4LWhlaWdodDogNjB2aDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4udGVhbUNoYXRDb250YWluZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNWU3ZWI7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6ICNmOGZhZmM7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLnRlYW1Ub29sQ2FsbFNlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDE2cHg7XG59XG5cbi50ZWFtVG9vbENhbGxHcm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogOHB4O1xufVxuXG4udGVhbVRvb2xDYWxsSGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xufVxuXG4udGVhbVRvb2xDYWxsQ2hpcHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogOHB4O1xufVxuXG4udGVhbVRvb2xDYWxsRGV0YWlscyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNDgsIDE2MywgMTg0LCAwLjQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgcGFkZGluZzogMTZweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xufVxuXG4udGVhbVRvb2xDYWxsRGV0YWlsc0hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDEycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cblxuLnRlYW1Ub29sQ2FsbERldGFpbHNUaXRsZSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNnB4O1xufVxuXG4udGVhbVRvb2xDYWxsRGV0YWlsc0NsZWFyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMik7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNDgsIDE2MywgMTg0LCAwLjQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIHBhZGRpbmc6IDRweCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICM0NzU1Njk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLnRlYW1Ub29sQ2FsbERldGFpbHNDbGVhcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjM1KTtcbn1cblxuLnNlYXJjaFJlc3VsdHNMaXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAyOHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5zZWFyY2hSZXN1bHRzUmF3IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1heC13aWR0aDogNjUwcHg7XG59XG5cbi5zZWFyY2hSZXN1bHRJdGVtIHtcbiAgICBtYXgtd2lkdGg6IDY1MHB4O1xufVxuXG4uc2VhcmNoUmVzdWx0VXJsIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICMyMDIxMjQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnNlYXJjaFJlc3VsdFVybCBhIHtcbiAgICBjb2xvcjogIzIwMjEyNDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5zZWFyY2hSZXN1bHRUaXRsZSB7XG4gICAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAwIDRweCAwICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLnNlYXJjaFJlc3VsdFRpdGxlIGEge1xuICAgIGNvbG9yOiAjMWEwZGFiO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnNlYXJjaFJlc3VsdFRpdGxlIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uc2VhcmNoUmVzdWx0U25pcHBldCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU4O1xuICAgIGNvbG9yOiAjNGQ1MTU2O1xuICAgIG1hcmdpbjogMDtcbn1cblxuLm5vUmVzdWx0cyB7XG4gICAgcGFkZGluZzogNDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICM3MDc1N2E7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4udG9vbENhbGxEZXRhaWxzIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbjogMjBweCAwO1xufVxuLmNpdGF0aW9uRGV0YWlscyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW46IDIwcHggMDtcbn1cblxuLmNpdGF0aW9uUHJldmlldyB7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG59XG5cbi5jaXRhdGlvbklmcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA2MHZoO1xuICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNpdGF0aW9uSWZyYW1lTG9hZGluZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA2MHZoO1xuICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjb2xvcjogIzg4ODtcbiAgICBmb250LXNpemU6IDAuOWVtO1xufVxuXG4uY2l0YXRpb25TY3JlZW5zaG90RmFsbGJhY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5jaXRhdGlvblNjcmVlbnNob3RJbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogNjB2aDtcbiAgICBtaW4taGVpZ2h0OiA0MDBweDtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb246IHRvcDtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNpdGF0aW9uU2NyZWVuc2hvdExpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxMHB4IDE2cHg7XG4gICAgYmFja2dyb3VuZDogI2YwZjBmMDtcbiAgICBjb2xvcjogIzMzMztcbiAgICBmb250LXNpemU6IDAuOWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXM7XG59XG5cbi5jaXRhdGlvblNjcmVlbnNob3RMaW5rOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTBlMGUwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uY2l0YXRpb25Ccm93c2VyU3RyZWFtRmFsbGJhY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5jaXRhdGlvbkJyb3dzZXJTdHJlYW1JbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogNjB2aDtcbiAgICBtaW4taGVpZ2h0OiA0MDBweDtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb246IHRvcDtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBjdXJzb3I6IGNyb3NzaGFpcjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICB0b3VjaC1hY3Rpb246IG5vbmU7XG59XG5cbi5jaXRhdGlvbkJyb3dzZXJTdHJlYW1MaW5rIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgcGFkZGluZzogMTBweCAxNnB4O1xuICAgIGJhY2tncm91bmQ6ICNmMGYwZjA7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgI2RkZDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzO1xufVxuXG4uY2l0YXRpb25Ccm93c2VyU3RyZWFtTGluazpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2UwZTBlMDtcbiAgICB0ZXh0LWRlY29yYXRpb246IHVuZGVybGluZTtcbn1cblxuLmNpdGF0aW9uTWV0YWRhdGEge1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gICAgcGFkZGluZzogMTZweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xufVxuXG4uY2l0YXRpb25NZXRhZGF0YSBwIHtcbiAgICBtYXJnaW46IDhweCAwO1xuICAgIGZvbnQtc2l6ZTogMC45ZW07XG59XG5cbi5jaXRhdGlvbk1ldGFkYXRhIHN0cm9uZyB7XG4gICAgY29sb3I6ICMzMzM7XG59XG5cbi5jaXRhdGlvbk1ldGFkYXRhIGEge1xuICAgIGNvbG9yOiAjMDA3YmZmO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB3b3JkLWJyZWFrOiBicmVhay1hbGw7XG59XG5cbi5jaXRhdGlvbk1ldGFkYXRhIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uY2l0YXRpb25FeGNlcnB0IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gICAgbWF4LWhlaWdodDogNDAwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbn1cblxuLmNpdGF0aW9uRXhjZXJwdCBoNCB7XG4gICAgbWFyZ2luOiAwIDAgMTJweCAwO1xuICAgIGNvbG9yOiAjMzMzO1xuICAgIGZvbnQtc2l6ZTogMWVtO1xufVxuXG4uY2l0YXRpb25IaW50IHtcbiAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICBtYXJnaW4tdG9wOiA4cHg7XG4gICAgb3BhY2l0eTogMC43O1xufVxuXG4udG9vbENhbGxEYXRhQ29udGFpbmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmOGY4O1xuICAgIHBhZGRpbmc6IDEycHg7XG4gICAgYm9yZGVyLXJhZGl1czogNnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlZWU7XG4gICAgbWFyZ2luLWJvdHRvbTogMTVweDtcbiAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4udG9vbENhbGxQYXlsb2FkQ29udGFpbmVyIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xufVxuXG4udG9vbENhbGxQYXlsb2FkRWRpdG9yIDpnbG9iYWwoLm1vbmFjby1lZGl0b3IpLFxuLnRvb2xDYWxsUGF5bG9hZEVkaXRvciA6Z2xvYmFsKC5tb25hY28tZWRpdG9yIC5vdmVyZmxvdy1ndWFyZCksXG4udG9vbENhbGxQYXlsb2FkRWRpdG9yIDpnbG9iYWwoLm1vbmFjby1lZGl0b3IgLm1vbmFjby1zY3JvbGxhYmxlLWVsZW1lbnQpLFxuLnRvb2xDYWxsUGF5bG9hZEVkaXRvciA6Z2xvYmFsKC5tb25hY28tZWRpdG9yLWJhY2tncm91bmQpIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjICFpbXBvcnRhbnQ7XG59XG5cbi50b29sQ2FsbERhdGEge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuLnRvb2xDYWxsTW9kYWwgLnRvb2xDYWxsRGF0YSB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbiAgICBjb2xvcjogIzBmMTcyYTtcbn1cblxuLnJhdGluZ0lucHV0IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAxMDBweDtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4xKTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgcmVzaXplOiB2ZXJ0aWNhbDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMDUpO1xuICAgIGNvbG9yOiAjMGIxMjIwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5yYXRpbmdJbnB1dDpmb2N1cyB7XG4gICAgYm9yZGVyLWNvbG9yOiAjMDA4NGZmO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4wOCk7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoMCwgMTMyLCAyNTUsIDAuMSk7XG4gICAgb3V0bGluZTogbm9uZTtcbn1cblxuLnJhdGluZ0lucHV0W3JlYWRvbmx5XSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjUpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4wMSk7XG59XG5cbi5yYXRpbmdBY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1lbmQ7XG4gICAgZ2FwOiAxMnB4O1xufVxuXG4ucmF0aW5nQWN0aW9ucyBidXR0b24ge1xuICAgIHBhZGRpbmc6IDEycHggMjRweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIG1pbi13aWR0aDogODBweDtcbn1cblxuLnJhdGluZ0FjdGlvbnMgYnV0dG9uOmZpcnN0LWNoaWxkIHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMSk7XG4gICAgY29sb3I6ICMwYjEyMjA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjIpO1xufVxuXG4ucmF0aW5nQWN0aW9ucyBidXR0b246Zmlyc3QtY2hpbGQ6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4yKTtcbiAgICBjb2xvcjogIzBiMTIyMDtcbn1cblxuLnJhdGluZ0FjdGlvbnMgYnV0dG9uOmxhc3QtY2hpbGQge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwMDg0ZmYgMCUsICMwMDY2Y2MgMTAwJSk7XG4gICAgY29sb3I6ICNmZmZmZmY7XG59XG5cbi5yYXRpbmdBY3Rpb25zIGJ1dHRvbjpsYXN0LWNoaWxkOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMDA3MWQxIDAlLCAjMDA1MmEzIDEwMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMTMyLCAyNTUsIDAuMyk7XG59XG5cbi5yYXRpbmdBY3Rpb25zIGJ1dHRvbjpsYXN0LWNoaWxkOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjU7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLmRvd25sb2FkQnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIHBhZGRpbmc6IDEycHggMjRweDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMDA4NGZmIDAlLCAjMDA2NmNjIDEwMCUpO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMTMyLCAyNTUsIDAuMik7XG59XG5cbi5kb3dubG9hZEJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzAwOTlmZiAwJSwgIzAwNzdkZCAxMDAlKTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTZweCByZ2JhKDAsIDEzMiwgMjU1LCAwLjMpO1xufVxuXG4uZG93bmxvYWRCdXR0b246YWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMCwgMTMyLCAyNTUsIDAuMik7XG59XG5cbi5kb3dubG9hZEJ1dHRvbiBzdmcge1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uZG93bmxvYWRCdXR0b24gc3BhbiB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLyogUHJpbWFyeSBjaGF0IHRvb2xiYXIgYnV0dG9ucyAqL1xuLmNoYXRCdXR0b24sXG4udXNlVGVtcGxhdGVCdXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4ICFpbXBvcnRhbnQ7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlciAhaW1wb3J0YW50O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAgZ2FwOiA4cHggIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAxMXB4IDE2cHggIWltcG9ydGFudDtcbiAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTQwZGVnLCAjMGY4ZWY1IDAlLCAjMGI2ZmQwIDU2JSwgIzBkNWZiYiAxMDAlKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmZmZmZmICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI0KSAhaW1wb3J0YW50O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IDEyLjVweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMiAhaW1wb3J0YW50O1xuICAgIGN1cnNvcjogcG9pbnRlciAhaW1wb3J0YW50O1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UsIGJveC1zaGFkb3cgMC4ycyBlYXNlLCBiYWNrZ3JvdW5kIDAuMnMgZWFzZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IDAgMTBweCAyNHB4IHJnYmEoMTQsIDExNiwgMjE5LCAwLjI4KSwgaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMikgIWltcG9ydGFudDtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMThweCkgIWltcG9ydGFudDtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb24gIWltcG9ydGFudDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZSAhaW1wb3J0YW50O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZSAhaW1wb3J0YW50O1xuICAgIG1pbi1oZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICBtaW4td2lkdGg6IDExMHB4ICFpbXBvcnRhbnQ7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlICFpbXBvcnRhbnQ7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbiAhaW1wb3J0YW50O1xufVxuXG4uY2hhdEJ1dHRvbjo6YmVmb3JlLFxuLnVzZVRlbXBsYXRlQnV0dG9uOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDA7XG4gICAgbGVmdDogLTExMCU7XG4gICAgd2lkdGg6IDc1JTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEwMGRlZywgdHJhbnNwYXJlbnQgMCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNikgNDglLCB0cmFuc3BhcmVudCAxMDAlKTtcbiAgICB0cmFuc2l0aW9uOiBsZWZ0IDAuNDVzIGVhc2U7XG59XG5cbi5jaGF0QnV0dG9uOmhvdmVyOjpiZWZvcmUsXG4udXNlVGVtcGxhdGVCdXR0b246aG92ZXI6OmJlZm9yZSB7XG4gICAgbGVmdDogMTQwJTtcbn1cblxuLmNoYXRCdXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCksXG4udXNlVGVtcGxhdGVCdXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNDBkZWcsICMxYTlhZmYgMCUsICMwZDdkZTggNTYlLCAjMTE2OGM5IDEwMCUpICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xLjVweCk7XG4gICAgYm94LXNoYWRvdzogMCAxNHB4IDMwcHggcmdiYSgxNCwgMTE2LCAyMTksIDAuMzQpLCBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSAhaW1wb3J0YW50O1xufVxuXG4uY2hhdEJ1dHRvbjphY3RpdmUsXG4udXNlVGVtcGxhdGVCdXR0b246YWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMC45ODUpO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjFzIGVhc2U7XG59XG5cbi5jaGF0QnV0dG9uOmZvY3VzLFxuLnVzZVRlbXBsYXRlQnV0dG9uOmZvY3VzIHtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJveC1zaGFkb3c6IDAgMTBweCAyNHB4IHJnYmEoMTQsIDExNiwgMjE5LCAwLjMyKSwgMCAwIDAgM3B4IHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjI4KSxcbiAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjIpICFpbXBvcnRhbnQ7XG59XG5cbi5jaGF0QnV0dG9uIHN2Zyxcbi51c2VUZW1wbGF0ZUJ1dHRvbiBzdmcge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UsIGZpbHRlciAwLjJzIGVhc2U7XG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjI0KSk7XG59XG5cbi5jaGF0QnV0dG9uOmhvdmVyIHN2Zyxcbi51c2VUZW1wbGF0ZUJ1dHRvbjpob3ZlciBzdmcge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wOCkgdHJhbnNsYXRlWCgxcHgpO1xuICAgIGZpbHRlcjogZHJvcC1zaGFkb3coMCAycHggNHB4IHJnYmEoMCwgMCwgMCwgMC4yOCkpO1xufVxuXG4uY2hhdEJ1dHRvblRleHQge1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4ycyBlYXNlO1xuICAgIHRleHQtc2hhZG93OiAwIDFweCAycHggcmdiYSgwLCAwLCAwLCAwLjEyKTtcbn1cblxuLmNoYXRCdXR0b246aG92ZXIgLmNoYXRCdXR0b25UZXh0LFxuLnVzZVRlbXBsYXRlQnV0dG9uOmhvdmVyIC5jaGF0QnV0dG9uVGV4dCB7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDFweCk7XG59XG5cbi5zYXZlQnV0dG9uQ29udGFpbmVyIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4uc2F2ZU1lbnUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICB0b3A6IDEwMCU7XG4gICAgbGVmdDogMDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNkZGQ7XG4gICAgei1pbmRleDogMTA7XG4gICAgbWluLXdpZHRoOiAxMjBweDtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAwLCAwLCAwLjA4KTtcbn1cblxuLnNhdmVNZW51SXRlbSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogOHB4IDE2cHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IG5vbmU7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICMxMTE7XG59XG5cbi5zYXZlTWVudUl0ZW06aG92ZXIge1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNmMGYwZjA7XG59XG5cbi5zYXZlTWVudURpdmlkZXIge1xuICAgIGhlaWdodDogMXB4O1xuICAgIGJhY2tncm91bmQtY29sb3I6ICNkZGQ7XG4gICAgbWFyZ2luOiA0cHggMDtcbn1cblxuLmNoYXRGZWVkYmFja1BhbmVsIHtcbiAgICB3aWR0aDogbWluKDI2MHB4LCAxMDAlKTtcbiAgICBwYWRkaW5nOiA2cHggOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2U1ZTdlYjtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDE4cHggcmdiYSgxNSwgMjMsIDQyLCAwLjA4KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA2cHg7XG59XG5cbi5jaGF0RmVlZGJhY2tUb2dnbGUge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogNnB4IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjJzIGVhc2U7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmNoYXRGZWVkYmFja1RvZ2dsZTpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2Y1ZjVmNTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTAuNXB4KTtcbn1cblxuLmNoYXRGZWVkYmFja1RvZ2dsZTpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgIzI1NjNlYjtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4uY2hhdEZlZWRiYWNrSWNvbiB7XG4gICAgd2lkdGg6IDM0cHg7XG4gICAgaGVpZ2h0OiAzNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogI2VlZjJmZjtcbiAgICBjb2xvcjogIzYzNjZmMTtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIHBsYWNlLWl0ZW1zOiBjZW50ZXI7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZTtcbn1cblxuLmNoYXRGZWVkYmFja1RvZ2dsZVtkYXRhLWVuYWJsZWQ9J3RydWUnXSAuY2hhdEZlZWRiYWNrSWNvbiB7XG4gICAgYmFja2dyb3VuZDogI2UwZjJmZTtcbiAgICBjb2xvcjogIzAyODRjNztcbn1cblxuLmNoYXRGZWVkYmFja1RvZ2dsZVtkYXRhLWVuYWJsZWQ9J2ZhbHNlJ10gLmNoYXRGZWVkYmFja0ljb24ge1xuICAgIGJhY2tncm91bmQ6ICNmM2Y0ZjY7XG4gICAgY29sb3I6ICM5NGEzYjg7XG59XG5cbi5jaGF0RmVlZGJhY2tNZXRhIHtcbiAgICBmbGV4OiAxO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDJweDtcbn1cblxuLmNoYXRGZWVkYmFja0xhYmVsIHtcbiAgICBmb250LXNpemU6IDAuODVyZW07XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbn1cblxuLmNoYXRGZWVkYmFja0Rlc2NyaXB0aW9uIHtcbiAgICBmb250LXNpemU6IDAuNzVyZW07XG4gICAgY29sb3I6ICM2NDc0OGI7XG59XG5cbi5jaGF0RmVlZGJhY2tJbmRpY2F0b3Ige1xuICAgIGZvbnQtc2l6ZTogMC43MnJlbTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBwYWRkaW5nOiAycHggOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xufVxuXG4uY2hhdEZlZWRiYWNrSW5kaWNhdG9yQWN0aXZlIHtcbiAgICBjb2xvcjogIzE2NjUzNDtcbiAgICBiYWNrZ3JvdW5kOiAjZGNmY2U3O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICMzNGQzOTk7XG59XG5cbi5jaGF0RmVlZGJhY2tJbmRpY2F0b3JJbmFjdGl2ZSB7XG4gICAgY29sb3I6ICM3MTNmMTI7XG4gICAgYmFja2dyb3VuZDogI2ZlZjljMztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmFjYzE1O1xufVxuXG4vKiBQYXVzZS9SZXN1bWUgYnV0dG9uIHZhcmlhbnQgKHJldXNlcyAuY2hhdEJ1dHRvbiBiYXNlIHN0eWxlcyBmb3IgRFJZKSAqL1xuLnBhdXNlQnV0dG9uIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZmZiMzQ3IDAlLCAjZmY4YzQyIDEwMCUpICFpbXBvcnRhbnQ7IC8qIFdhcm0gb3JhbmdlIGZvciBcImFjdGl2ZS9ydW5uaW5nXCIgKi9cbn1cblxuLnBhdXNlQnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZmZjMDY3IDAlLCAjZmY5ZTVmIDEwMCUpICFpbXBvcnRhbnQ7XG59XG5cbi5wYXVzZUJ1dHRvbi5wYXVzaW5nIHtcbiAgICBvcGFjaXR5OiAwLjYgIWltcG9ydGFudDtcbiAgICBjdXJzb3I6IHdhaXQgIWltcG9ydGFudDtcbn1cblxuLnBhdXNlQnV0dG9uLnBhdXNlZCB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzEwYjk4MSAwJSwgIzA1OTY2OSAxMDAlKSAhaW1wb3J0YW50OyAvKiBHcmVlbiB3aGVuIHBhdXNlZCAocmVhZHkgdG8gcmVzdW1lKSAqL1xufVxuXG4ucGF1c2VCdXR0b24ucGF1c2VkOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMzRkMzk5IDAlLCAjMDU5NjY5IDEwMCUpICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpIHNjYWxlKDEuMDIpO1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDI0cHggcmdiYSgxNiwgMTg1LCAxMjksIDAuMzUpO1xufVxuXG4ucGF1c2VCdXR0b24gc3ZnIHtcbiAgICB0cmFuc2l0aW9uOiB0cmFuc2Zvcm0gMC4zcyBlYXNlO1xufVxuXG4ucGF1c2VCdXR0b24ucGF1c2VkIHN2ZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuXG4ucGF1c2VCdXR0b24ucGF1c2luZyBzdmcge1xuICAgIG9wYWNpdHk6IDAuODtcbn1cblxuLnN0b3BCdXR0b24ge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNkYzI2MjYgMCUsICM5OTFiMWMgMTAwJSkgIWltcG9ydGFudDtcbiAgICBjb2xvcjogI2ZlZmVmZSAhaW1wb3J0YW50O1xufVxuXG4uc3RvcEJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2Y4NzE3MSAwJSwgI2RjMjYyNiAxMDAlKSAhaW1wb3J0YW50O1xufVxuXG4uc3RvcEJ1dHRvbjpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC42ICFpbXBvcnRhbnQ7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZCAhaW1wb3J0YW50O1xufVxuXG4uc3RvcEJ1dHRvbiBzdmcge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG59XG5cbi5zdG9wQnV0dG9uOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCByZ2JhKDI0OCwgMTEzLCAxMTMsIDAuOCk7XG4gICAgb3V0bGluZS1vZmZzZXQ6IDJweDtcbn1cblxuLyogVm9pY2UgY2FsbCBpbmRpY2F0b3IgYmFyICovXG4udm9pY2VDYWxsSW5kaWNhdG9yQmFyIHtcbiAgICBncmlkLWFyZWE6IPCfn6Y7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogMTJweCAyMHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMzQsIDE5NywgOTQsIDAuMSkgMCUsIHJnYmEoMTYsIDE4NSwgMTI5LCAwLjEpIDEwMCUpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDM0LCAxOTcsIDk0LCAwLjMpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG59XG5cbi8qIFZvaWNlIGNhbGwgaW5kaWNhdG9yICovXG4udm9pY2VDYWxsSW5kaWNhdG9yIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIHBhZGRpbmc6IDhweCAxNnB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsIHJnYmEoMzQsIDE5NywgOTQsIDAuMikgMCUsIHJnYmEoMTYsIDE4NSwgMTI5LCAwLjIpIDEwMCUpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMzQsIDE5NywgOTQsIDAuNCk7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBjb2xvcjogIzEwYjk4MTtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTBweCk7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMzQsIDE5NywgOTQsIDAuMik7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xufVxuXG4udm9pY2VDYWxsSW5kaWNhdG9yIHN2ZyB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGFuaW1hdGlvbjogdm9pY2VDYWxsSWNvblB1bHNlIDJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG4udm9pY2VDYWxsSW5kaWNhdG9yIHNwYW4ge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG59XG5cbi8qIFZvaWNlIGNhbGwgcHVsc2UgYW5pbWF0aW9uICovXG4udm9pY2VDYWxsUHVsc2Uge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogOHB4O1xuICAgIHRvcDogNTAlO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICB3aWR0aDogOHB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIGJhY2tncm91bmQ6ICMxMGI5ODE7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGFuaW1hdGlvbjogdm9pY2VDYWxsUHVsc2UgMS41cyBlYXNlLWluLW91dCBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyB2b2ljZUNhbGxJY29uUHVsc2Uge1xuICAgIDAlLFxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG4gICAgICAgIG9wYWNpdHk6IDAuODtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgdm9pY2VDYWxsUHVsc2Uge1xuICAgIDAlLFxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTUwJSkgc2NhbGUoMSk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxLjMpO1xuICAgICAgICBvcGFjaXR5OiAwLjY7XG4gICAgfVxufVxuXG4vKiBWb2ljZSBjYWxsIGluZGljYXRvciBpbiBtZXNzYWdlcyAqL1xuLmNoYXRNZXNzYWdlIC52b2ljZUNhbGxJbmRpY2F0b3Ige1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICBwYWRkaW5nOiA2cHggMTJweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbn1cblxuLmNoYXRNZXNzYWdlIC52b2ljZUNhbGxJbmRpY2F0b3Igc3ZnIHtcbiAgICB3aWR0aDogMTRweDtcbiAgICBoZWlnaHQ6IDE0cHg7XG59XG5cbi8qIEZlZWRiYWNrIHN0YXR1cyBiYW5uZXIgKi9cbi5mZWVkYmFja1N0YXR1cyB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMjBweDtcbiAgICByaWdodDogMjBweDtcbiAgICBwYWRkaW5nOiAxNHB4IDIycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBib3gtc2hhZG93OiAwIDE4cHggMzJweCByZ2JhKDE1LCAyMywgNDIsIDAuMzUpO1xuICAgIHotaW5kZXg6IDEwMDAwOyAvKiBbRml4IHotaW5kZXhdOiBFbnN1cmUgaXQncyBhYm92ZSB0aGUgaGVhZGVyICh6LTUwKSBhbmQgb3RoZXIgVUkgZWxlbWVudHMgKi9cbiAgICBhbmltYXRpb246IGZlZWRiYWNrU3RhdHVzU2xpZGVJbiAwLjI4cyBlYXNlLW91dDtcbiAgICBtYXgtd2lkdGg6IDM0MHB4O1xuICAgIHdvcmQtd3JhcDogYnJlYWstd29yZDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigyMHB4KTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmZlZWRiYWNrU3RhdHVzU3VjY2VzcyB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzEwYjk4MSAwJSwgIzA1OTY2OSAxMDAlKTtcbiAgICBjb2xvcjogI2Y4ZmFmYztcbn1cblxuLmZlZWRiYWNrU3RhdHVzRXJyb3Ige1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNlZjQ0NDQgMCUsICNkYzI2MjYgMTAwJSk7XG4gICAgY29sb3I6ICNmZWYyZjI7XG59XG5cbkBrZXlmcmFtZXMgZmVlZGJhY2tTdGF0dXNTbGlkZUluIHtcbiAgICBmcm9tIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDEwMCUpO1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKDApO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuLyogTW9iaWxlIHJlc3BvbnNpdmVuZXNzICovXG5AbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAuQ2hhdCB7XG4gICAgICAgIC0tY2hhdC1tZXNzYWdlLW1pbi13aWR0aDogMTAwcHg7XG4gICAgICAgIC0tY2hhdC1tZXNzYWdlLWF2YXRhci1zaXplOiAzNnB4O1xuICAgICAgICAtLWNoYXQtbWVzc2FnZS1tYXgtd2lkdGg6IG1pbihcbiAgICAgICAgICAgIDg1JSxcbiAgICAgICAgICAgIDU2MHB4LFxuICAgICAgICAgICAgY2FsYygxMDAlIC0gdmFyKC0tY2hhdC1tZXNzYWdlLWF2YXRhci1zaXplKSAtIHZhcigtLWNoYXQtbWVzc2FnZS1hdmF0YXItZ2FwKSlcbiAgICAgICAgKTtcbiAgICAgICAgLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLWdhcDogMTBweDtcbiAgICAgICAgLS1jaGF0LWlucHV0LWZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgLS1jaGF0LWlucHV0LXBhZGRpbmcteTogMTRweDtcbiAgICAgICAgLS1jaGF0LWlucHV0LXBhZGRpbmcteDogMThweDtcbiAgICAgICAgLS1jaGF0LWlucHV0LWFjdGlvbi1zaXplOiA0NHB4O1xuICAgIH1cblxuICAgIC5jb25zdHJhaW5lZEFydGljbGVWaXN1YWwge1xuICAgICAgICAtLWNoYXQtYXJ0aWNsZS1sYXlvdXQtcGFkZGluZy1pbmxpbmU6IGNsYW1wKDI0cHgsIDZ2dywgMzZweCk7XG4gICAgfVxuXG4gICAgLmFjdGlvbnMge1xuICAgICAgICBtYXJnaW46IDEycHggMTZweCAwO1xuICAgICAgICBnYXA6IDZweDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZXMge1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDIwcHg7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlVGV4dCB7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMTZweDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlLmFydGljbGVNb2RlQWdlbnRNZXNzYWdlIHtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZS5hcnRpY2xlTW9kZUFnZW50TWVzc2FnZSAubWVzc2FnZVN0YWNrIHtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIG1heC13aWR0aDogMTAwJTtcbiAgICAgICAgbWFyZ2luOiAwO1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlVGV4dC5hcnRpY2xlTW9kZUFnZW50TWVzc2FnZVRleHQge1xuICAgICAgICBwYWRkaW5nOiAycHggMDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMDtcbiAgICAgICAgZm9udC1zaXplOiAxNXB4O1xuICAgICAgICBsaW5lLWhlaWdodDogMS42ODtcbiAgICB9XG5cbiAgICAuYXJ0aWNsZU1vZGVNZXNzYWdlQWN0aW9ucyB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICAgICAgZ2FwOiA4cHg7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLmF2YXRhciB7XG4gICAgICAgIG1hcmdpbjogMCAwIDRweDtcbiAgICB9XG5cbiAgICAvKiBb44qX77iPXVxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5hdmF0YXIgaW1nIHtcbiAgICAgICAgd2lkdGg6IDM2cHg7XG4gICAgICAgIGFzcGVjdC1yYXRpbzogMSAvIDE7XG4gICAgfVxuICAgICovXG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0SW5wdXQge1xuICAgICAgICBwYWRkaW5nOiAxNnB4IDIwcHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxNnB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygxNnB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pKTtcbiAgICAgICAgZ2FwOiAxMHB4O1xuICAgIH1cblxuICAgIC5zcGVlY2hTdGF0dXNCdWJibGUge1xuICAgICAgICByaWdodDogMTRweDtcbiAgICAgICAgYm90dG9tOiA3NnB4O1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDI4cHgpO1xuICAgICAgICBmb250LXNpemU6IDExcHg7XG4gICAgICAgIHBhZGRpbmc6IDdweCAxMXB4O1xuICAgIH1cblxuICAgIC5kaWN0YXRpb25TZXR0aW5nc1BhbmVsIHtcbiAgICAgICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBtaW5tYXgoMCwgMWZyKTtcbiAgICB9XG5cbiAgICAuc2Nyb2xsVG9Cb3R0b20ge1xuICAgICAgICB3aWR0aDogNDRweDtcbiAgICAgICAgaGVpZ2h0OiA0NHB4O1xuICAgICAgICBmb250LXNpemU6IDE4cHg7XG4gICAgICAgIHRvcDogY2FsYygxMDAlIC0gMTYwcHgpO1xuICAgIH1cblxuICAgIC5jaGF0QnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2hhdEJ1dHRvbiBzdmcge1xuICAgICAgICB3aWR0aDogMThweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDE4cHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2hhdEJ1dHRvblRleHQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVzZVRlbXBsYXRlQnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudXNlVGVtcGxhdGVCdXR0b24gc3ZnIHtcbiAgICAgICAgd2lkdGg6IDE4cHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVzZVRlbXBsYXRlQnV0dG9uIC5jaGF0QnV0dG9uVGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAucmF0aW5nTW9kYWxDb250ZW50IHtcbiAgICAgICAgbWFyZ2luOiAxNnB4O1xuICAgICAgICBwYWRkaW5nOiAyNHB4IDIwcHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgICAgIG1heC1oZWlnaHQ6IDgwdmg7XG4gICAgICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgfVxuXG4gICAgLnJhdGluZ01vZGFsQ29udGVudC5pbWFnZUF0dGFjaG1lbnRNb2RhbCB7XG4gICAgICAgIHBhZGRpbmc6IDA7XG4gICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAzMnB4KTtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDBkdmggLSAzMnB4KTtcbiAgICAgICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB9XG5cbiAgICAuc3RhcnMge1xuICAgICAgICBnYXA6IDZweDtcbiAgICAgICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICB9XG5cbiAgICAuc3RhcnMgc3BhbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMzJweDtcbiAgICAgICAgcGFkZGluZzogOHB4O1xuICAgIH1cblxuICAgIC5yYXRpbmdBY3Rpb25zIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbi1yZXZlcnNlO1xuICAgICAgICBnYXA6IDhweDtcbiAgICB9XG5cbiAgICAucmF0aW5nQWN0aW9ucyBidXR0b24ge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgcGFkZGluZzogMTRweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIH1cblxuICAgIC5zZWxmTGVhcm5pbmdNb2RhbEhlYWRlciB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIC5zZWxmTGVhcm5pbmdBdmF0YXJHcm91cCB7XG4gICAgICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICB9XG5cbiAgICAuc2VsZkxlYXJuaW5nTWV0YVJvdyB7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIH1cbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDQ4MHB4KSB7XG4gICAgLkNoYXQge1xuICAgICAgICAtLWNoYXQtbWVzc2FnZS1taW4td2lkdGg6IDgwcHg7XG4gICAgICAgIC0tY2hhdC1tZXNzYWdlLWF2YXRhci1zaXplOiAzMnB4O1xuICAgICAgICAtLWNoYXQtbWVzc2FnZS1tYXgtd2lkdGg6IG1pbihcbiAgICAgICAgICAgIDkwJSxcbiAgICAgICAgICAgIDUyMHB4LFxuICAgICAgICAgICAgY2FsYygxMDAlIC0gdmFyKC0tY2hhdC1tZXNzYWdlLWF2YXRhci1zaXplKSAtIHZhcigtLWNoYXQtbWVzc2FnZS1hdmF0YXItZ2FwKSlcbiAgICAgICAgKTtcbiAgICAgICAgLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLWdhcDogOHB4O1xuICAgICAgICAtLWNoYXQtaW5wdXQtcGFkZGluZy15OiAxMnB4O1xuICAgICAgICAtLWNoYXQtaW5wdXQtcGFkZGluZy14OiAxNnB4O1xuICAgICAgICAtLWNoYXQtaW5wdXQtYWN0aW9uLXNpemU6IDQwcHg7XG4gICAgfVxuXG4gICAgLmFjdGlvbnMge1xuICAgICAgICBtYXJnaW46IDhweCAxMnB4IDA7XG4gICAgICAgIGdhcDogNHB4O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlcyB7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMTZweDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAubWVzc2FnZVRleHQge1xuICAgICAgICBwYWRkaW5nOiAxMHB4IDE0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAuYXZhdGFyIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNHB4O1xuICAgIH1cblxuICAgIC8qIFvjipfvuI9dXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLmF2YXRhciBpbWcge1xuICAgICAgICB3aWR0aDogMzJweDtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICB9XG4gICAgKi9cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB7XG4gICAgICAgIHBhZGRpbmc6IDEycHggMTZweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEycHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDEycHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkpO1xuICAgICAgICBnYXA6IDhweDtcbiAgICB9XG5cbiAgICAuc3BlZWNoU3RhdHVzQnViYmxlIHtcbiAgICAgICAgcmlnaHQ6IDEwcHg7XG4gICAgICAgIGJvdHRvbTogNzJweDtcbiAgICAgICAgbWF4LXdpZHRoOiBjYWxjKDEwMCUgLSAyMHB4KTtcbiAgICB9XG5cbiAgICAuZGljdGF0aW9uQ29ycmVjdGlvbkFjdGlvbnMsXG4gICAgLmRpY3RhdGlvbkVycm9yQWN0aW9ucyB7XG4gICAgICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgfVxuXG4gICAgLmNoYXRCdXR0b24ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgZ2FwOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jaGF0QnV0dG9uIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMThweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jaGF0QnV0dG9uVGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudXNlVGVtcGxhdGVCdXR0b24ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgZ2FwOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51c2VUZW1wbGF0ZUJ1dHRvbiBzdmcge1xuICAgICAgICB3aWR0aDogMThweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDE4cHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudXNlVGVtcGxhdGVCdXR0b24gLmNoYXRCdXR0b25UZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5zY3JvbGxUb0JvdHRvbSB7XG4gICAgICAgIHdpZHRoOiA0MHB4O1xuICAgICAgICBoZWlnaHQ6IDQwcHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMTZweDtcbiAgICAgICAgdG9wOiBjYWxjKDEwMCUgLSAxNDBweCk7XG4gICAgfVxuXG4gICAgLnJhdGluZ01vZGFsIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIH1cblxuICAgIC5yYXRpbmdNb2RhbFtkYXRhLWNoYXQtbW9kYWw9J2ltYWdlLWF0dGFjaG1lbnQnXSB7XG4gICAgICAgIHBhZGRpbmc6IDEycHg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnJhdGluZ01vZGFsQ29udGVudCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHggMjBweCAwIDA7XG4gICAgICAgIG1heC1oZWlnaHQ6IDcwdmg7XG4gICAgICAgIHBhZGRpbmc6IDI0cHggMTZweCAyMHB4O1xuICAgIH1cblxuICAgIC5yYXRpbmdNb2RhbENvbnRlbnQuaW1hZ2VBdHRhY2htZW50TW9kYWwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDI0cHgpO1xuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIDI0cHgpO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIH1cblxuICAgIC5pbWFnZUF0dGFjaG1lbnRNb2RhbEhlYWRlciB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggNTZweCAxMnB4IDE2cHg7XG4gICAgfVxuXG4gICAgLmltYWdlQXR0YWNobWVudE1vZGFsUHJldmlldyB7XG4gICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA5NnB4KTtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDBkdmggLSA5NnB4KTtcbiAgICAgICAgcGFkZGluZzogMTJweDtcbiAgICB9XG5cbiAgICAuaW1hZ2VBdHRhY2htZW50TW9kYWxJbWFnZSB7XG4gICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxMjBweCk7XG4gICAgICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwZHZoIC0gMTIwcHgpO1xuICAgIH1cbn1cblxuLyogUmVkdWNlZCBtb3Rpb24gc3VwcG9ydCAqL1xuQG1lZGlhIChwcmVmZXJzLXJlZHVjZWQtbW90aW9uOiByZWR1Y2UpIHtcbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSxcbiAgICAuc2Nyb2xsVG9Cb3R0b20sXG4gICAgLnJhdGluZ01vZGFsLFxuICAgIC5yYXRpbmdNb2RhbENvbnRlbnQsXG4gICAgLmZlZWRiYWNrU3RhdHVzIHtcbiAgICAgICAgYW5pbWF0aW9uOiBub25lO1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlVGV4dCxcbiAgICAuY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgdGV4dGFyZWEsXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IGJ1dHRvbixcbiAgICAvKiBb44qX77iPXSAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAuYXZhdGFyIGltZywgKi9cbiAgICAuY2hhdEJ1dHRvbiB7XG4gICAgICAgIHRyYW5zaXRpb246IG5vbmU7XG4gICAgfVxufVxuXG4vKiBIaWdoIGNvbnRyYXN0IG1vZGUgc3VwcG9ydCAqL1xuQG1lZGlhIChwcmVmZXJzLWNvbnRyYXN0OiBoaWdoKSB7XG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLm1lc3NhZ2VUZXh0IHtcbiAgICAgICAgYm9yZGVyOiAycHggc29saWQgY3VycmVudENvbG9yO1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB0ZXh0YXJlYSB7XG4gICAgICAgIGJvcmRlci13aWR0aDogM3B4O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCBidXR0b24ge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgfVxufVxuXG4vKiBFbWFpbCBtb2RhbCBzdHlsZXMgKi9cbi5lbWFpbENvbnRhaW5lciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxNnB4O1xufVxuXG4uZW1haWxNb2RhbEhlYWRlciB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbn1cblxuLmVtYWlsSGVhZGVyVGV4dCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMnB4O1xufVxuXG4uZW1haWxIZWFkZXJMYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzY0NzQ4Yjtcbn1cblxuLmVtYWlsTWV0YWRhdGEge1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZThmMDtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIHBhZGRpbmc6IDE4cHggMjBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxNnB4O1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDE1LCAyMywgNDIsIDAuMDgpO1xufVxuXG4uZW1haWxGaWVsZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDhweDtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5lbWFpbEZpZWxkOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5lbWFpbEZpZWxkIHN0cm9uZyB7XG4gICAgbWluLXdpZHRoOiA2MHB4O1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5lbWFpbFJlY2lwaWVudHMge1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG59XG5cbi5lbWFpbEJvZHkge1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5lbWFpbEJvZHkgc3Ryb25nIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uZW1haWxCb2R5Q29udGVudCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgcGFkZGluZzogMjJweDtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIG1heC1oZWlnaHQ6IDQwMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4wOCk7XG59XG5cbi5lbWFpbEJvZHlDb250ZW50IHAge1xuICAgIG1hcmdpbjogMCAwIDEycHggMDtcbn1cblxuLmVtYWlsQm9keUNvbnRlbnQgcDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uYnJvd3NlclJ1bk1vZGFsSGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZjhmYWZjIDAlLCAjZWNmZWZmIDQwJSwgI2VjZmNjYiAxMDAlKTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2RiZWFmZTtcbn1cblxuLmJyb3dzZXJSdW5IZWFkZXJUZXh0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAycHg7XG59XG5cbi5icm93c2VyUnVuSGVhZGVyU3RhdHVzIHtcbiAgICBtYXJnaW46IDA7XG4gICAgY29sb3I6ICM0NzU0Njc7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi5icm93c2VyUnVuSGVhZGVyTGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgY29sb3I6ICM0NzU1Njk7XG59XG5cbi5icm93c2VyUnVuTWV0YSB7XG4gICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBwYWRkaW5nOiAxNnB4IDE4cHg7XG4gICAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4wOCk7XG59XG5cbi5icm93c2VyUnVuV2FybmluZyB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmJiZjI0O1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZmJlYjtcbiAgICBjb2xvcjogIzkyNDAwZTtcbiAgICBwYWRkaW5nOiAxMnB4IDE0cHg7XG59XG5cbi5icm93c2VyUnVuRXJyb3Ige1xuICAgIG1hcmdpbi1ib3R0b206IDE0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZjYTVhNTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZWYyZjI7XG4gICAgY29sb3I6ICM3ZjFkMWQ7XG4gICAgcGFkZGluZzogMTJweCAxNHB4O1xufVxuXG4uYnJvd3NlclJ1bkVycm9yU3VtbWFyeSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4uYnJvd3NlclJ1bkVycm9yU3RlcHMge1xuICAgIG1hcmdpbjogOHB4IDAgMDtcbiAgICBwYWRkaW5nLWxlZnQ6IDE4cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogNnB4O1xufVxuXG4uYnJvd3NlclJ1bkRlYnVnRGV0YWlscyB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbn1cblxuLmJyb3dzZXJSdW5EZWJ1Z0RldGFpbHMgc3VtbWFyeSB7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGNvbG9yOiAjN2YxZDFkO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5icm93c2VyUnVuRGVidWdEZXRhaWxzIHByZSB7XG4gICAgbWFyZ2luOiAxMHB4IDAgMDtcbiAgICBwYWRkaW5nOiAxMHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY3ZWQ7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2ZlZDdhYTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgbWF4LWhlaWdodDogMjIwcHg7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xufVxuXG4uYnJvd3NlclJ1bkZhbGxiYWNrQ29udGVudCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBwYWRkaW5nOiAxNHB4IDE2cHg7XG59XG5cbi5icm93c2VyUnVuU3RhdHVzQmFubmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgIHBhZGRpbmc6IDEycHggMTRweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4yOCk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNDgsIDI1MCwgMjUyLCAwLjk1KTtcbiAgICBjb2xvcjogIzMzNDE1NTtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmJyb3dzZXJSdW5NZWRpYUdyaWQge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoYXV0by1maXQsIG1pbm1heCgyMjBweCwgMWZyKSk7XG4gICAgZ2FwOiAxNHB4O1xufVxuXG4uYnJvd3NlclJ1bk1lZGlhQ2FyZCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIGJveC1zaGFkb3c6IDAgMXB4IDRweCByZ2JhKDE1LCAyMywgNDIsIDAuMDgpO1xufVxuXG4uYnJvd3NlclJ1bk1lZGlhQ2FyZEhlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogNHB4O1xufVxuXG4uYnJvd3NlclJ1bk1lZGlhVGl0bGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmJyb3dzZXJSdW5NZWRpYUNhcHRpb24ge1xuICAgIG1hcmdpbjogMDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6ICM0NzU1Njk7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmJyb3dzZXJSdW5NZWRpYUltYWdlLFxuLmJyb3dzZXJSdW5NZWRpYVZpZGVvIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNjYmQ1ZTE7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbiAgICBtYXgtaGVpZ2h0OiAyNjBweDtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG4uYnJvd3NlclJ1bkFjdGlvbkxvZyB7XG4gICAgbWFyZ2luLXRvcDogMThweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgcGFkZGluZzogMTRweCAxNnB4O1xuICAgIGJhY2tncm91bmQ6ICNmOGZhZmM7XG59XG5cbi5icm93c2VyUnVuQWN0aW9uTG9nVGl0bGUge1xuICAgIG1hcmdpbjogMCAwIDEwcHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzY0NzQ4Yjtcbn1cblxuLmJyb3dzZXJSdW5BY3Rpb25MaXN0IHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDhweDtcbn1cblxuLmJyb3dzZXJSdW5BY3Rpb25JdGVtIHtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjI2LCAyMzIsIDI0MCwgMC45KTtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xufVxuXG4uYnJvd3NlclJ1bkFjdGlvblBlbmRpbmcge1xuICAgIG9wYWNpdHk6IDAuODI7XG59XG5cbi5icm93c2VyUnVuQWN0aW9uUnVubmluZyB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDE0LCAxNjUsIDIzMywgMC4zNSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxNCwgMTY1LCAyMzMsIDAuMDgpO1xufVxuXG4uYnJvd3NlclJ1bkFjdGlvbkNvbXBsZXRlIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTYsIDE4NSwgMTI5LCAwLjIyKTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE2LCAxODUsIDEyOSwgMC4wOCk7XG59XG5cbi5icm93c2VyUnVuQWN0aW9uRXJyb3Ige1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyMzksIDY4LCA2OCwgMC4yNCk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4wOCk7XG59XG5cbi5icm93c2VyUnVuQWN0aW9uU3RhdGUge1xuICAgIHdpZHRoOiAxMHB4O1xuICAgIGhlaWdodDogMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiAjY2JkNWUxO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4uYnJvd3NlclJ1bkFjdGlvblN0YXRlUnVubmluZyB7XG4gICAgYmFja2dyb3VuZDogIzBlYTVlOTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSgxNCwgMTY1LCAyMzMsIDAuMTQpO1xufVxuXG4uYnJvd3NlclJ1bkFjdGlvblN0YXRlQ29tcGxldGUge1xuICAgIGJhY2tncm91bmQ6ICMxMGI5ODE7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoMTYsIDE4NSwgMTI5LCAwLjEyKTtcbn1cblxuLmJyb3dzZXJSdW5BY3Rpb25TdGF0ZUVycm9yIHtcbiAgICBiYWNrZ3JvdW5kOiAjZWY0NDQ0O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDIzOSwgNjgsIDY4LCAwLjEyKTtcbn1cblxuLmJyb3dzZXJSdW5BY3Rpb25NZXRhIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBjb2xvcjogIzY0NzQ4YjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuQG1lZGlhIHByaW50IHtcbiAgICAuQ2hhdCB7XG4gICAgICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICNmOGZhZmMgIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyB7XG4gICAgICAgIG1pbi1oZWlnaHQ6IGF1dG8gIWltcG9ydGFudDtcbiAgICAgICAgZ2FwOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2VzIHtcbiAgICAgICAgcGFkZGluZzogNDhweCA0MHB4IDY0cHggIWltcG9ydGFudDtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE1MGRlZywgcmdiYSgyLCA2LCAyMywgMC45OCksIHJnYmEoMTUsIDIzLCA0MiwgMC45MikpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg1NiwgMTg5LCAyNDgsIDAuMzIpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgNDBweCA4MHB4IHJnYmEoMCwgMCwgMCwgMC4zNSkgaW5zZXQgIWltcG9ydGFudDtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIHtcbiAgICAgICAgcGFnZS1icmVhay1pbnNpZGU6IGF2b2lkO1xuICAgICAgICBicmVhay1pbnNpZGU6IGF2b2lkO1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlVGV4dCB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgIDE0NWRlZyxcbiAgICAgICAgICAgIHZhcigtLWFnZW50LWNoYXQtYnJhbmQtY29sb3ItbGlnaHQsICM3ZGQzZmMpLFxuICAgICAgICAgICAgdmFyKC0tYWdlbnQtY2hhdC1icmFuZC1jb2xvciwgIzBlYTVlOSlcbiAgICAgICAgKSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogI2Y4ZmFmYyAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAzMnB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNSkgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogMCAxOHB4IDQwcHggcmdiYSgyLCA2LCAyMywgMC42KSBpbnNldCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAxOHB4IDIycHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZS5pc01lIC5tZXNzYWdlVGV4dCB7XG4gICAgICAgIGJhY2tncm91bmQ6ICNmOGZiZmYgIWltcG9ydGFudDtcbiAgICAgICAgY29sb3I6ICMwZjE3MmEgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNDgsIDE2MywgMTg0LCAwLjQ1KSAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiAwIDEwcHggMzBweCByZ2JhKDE1LCAyMywgNDIsIDAuMykgaW5zZXQgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAuYXZhdGFyIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5tZXNzYWdlTWV0YSxcbiAgICAucGFydGljaXBhbnRMYWJlbCB7XG4gICAgICAgIGNvbG9yOiByZ2JhKDIyNiwgMjMyLCAyNDAsIDAuOCkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuYWN0aW9ucyxcbiAgICAuY2hhdE1haW5GbG93IC5jaGF0SW5wdXQsXG4gICAgLnNjcm9sbFRvQm90dG9tLFxuICAgIC5mZWVkYmFja1N0YXR1cyxcbiAgICAudm9pY2VDYWxsSW5kaWNhdG9yQmFyLFxuICAgIC52b2ljZUNhbGxJbmRpY2F0b3Ige1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNvcHlCdXR0b25Db250YWluZXIsXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLm1lc3NhZ2VUZXh0IGJ1dHRvbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZXMgPiA6bGFzdC1jaGlsZCB7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiAxMDBweCAhaW1wb3J0YW50O1xuICAgIH1cbn1cblxuLmVtYWlsU3RhdHVzIHtcbiAgICB0ZXh0LXRyYW5zZm9ybTogY2FwaXRhbGl6ZTtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4vKipcbiAqIFRPRE86IFvwn4yJXSBEUlkgTWFya2Rvd24gcHJpbWl0aXZlcyBzdHlsaW5nXG4gKi9cbi8qIEltYWdlIHByb21wdCBwcmV2aWV3IHN0eWxlcyAqL1xuLmltYWdlUHJvbXB0IHtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgcGFkZGluZzogMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4zNSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTJweCk7XG4gICAgYm94LXNoYWRvdzogaW5zZXQgMCAwIDAgMXB4IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNSk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogOHB4O1xufVxuXG4uaW1hZ2VQcm9tcHRQcmV2aWV3IHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIG1pbi1oZWlnaHQ6IDE2MHB4O1xuICAgIGJvcmRlcjogMXB4IGRhc2hlZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMyk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgxNSwgMTE4LCAyNTUsIDAuMDUpLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNCkpO1xufVxuXG4uaW1hZ2VQcm9tcHRJbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG9iamVjdC1maXQ6IGNvdmVyO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uaW1hZ2VQcm9tcHRQbGFjZWhvbGRlciB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbn1cblxuLmltYWdlUHJvbXB0U3Bpbm5lciB7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IDNweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzUpO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMyNTYzZWI7XG4gICAgYW5pbWF0aW9uOiBpbWFnZVByb21wdFNwaW5uZXIgMC45cyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbkBrZXlmcmFtZXMgaW1hZ2VQcm9tcHRTcGlubmVyIHtcbiAgICB0byB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuXG4uaW1hZ2VQcm9tcHRNZXRhIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA0cHg7XG59XG5cbi5pbWFnZVByb21wdFByb21wdCB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgY29sb3I6ICMxMTE7XG4gICAgb3ZlcmZsb3ctd3JhcDogYW55d2hlcmU7XG59XG5cbi5pbWFnZVByb21wdFN0YXR1cyB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGNvbG9yOiAjNmI3MjgwO1xufVxuXG4uaW1hZ2VQcm9tcHRFcnJvciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgY29sb3I6ICNkYzI2MjY7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMjAsIDM4LCAzOCwgMC4wOCk7XG59XG5cbi5yaWNoRmVhdHVyZVBsYWNlaG9sZGVyIHtcbiAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMThweDtcbiAgICBwYWRkaW5nOiAxMnB4IDE0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg1OSwgMTMwLCAyNDYsIDAuMjUpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjEyKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xufVxuXG4ucmljaEZlYXR1cmVQbGFjZWhvbGRlclNwaW5uZXIge1xuICAgIHdpZHRoOiAzMnB4O1xuICAgIGhlaWdodDogMzJweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYm9yZGVyOiAzcHggc29saWQgcmdiYSg1OSwgMTMwLCAyNDYsIDAuMyk7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzIyZDNlZTtcbiAgICBhbmltYXRpb246IHJpY2hGZWF0dXJlU3Bpbm5lciAwLjhzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuLnJpY2hGZWF0dXJlUGxhY2Vob2xkZXJDb3B5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5yaWNoRmVhdHVyZVBsYWNlaG9sZGVyVGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4ucmljaEZlYXR1cmVQbGFjZWhvbGRlclN0YXR1cyB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGNvbG9yOiAjNDc1NTY5O1xufVxuXG4ucHJvZ3Jlc3NQYW5lbCB7XG4gICAgbWFyZ2luLXRvcDogMTBweDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSg1OSwgMTMwLCAyNDYsIDAuMjQpO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsIHJnYmEoMjM5LCAyNDYsIDI1NSwgMC45NCksIHJnYmEoMjE5LCAyMzQsIDI1NCwgMC44NikpO1xuICAgIHBhZGRpbmc6IDEycHggMTNweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMHB4O1xufVxuXG4ucHJvZ3Jlc3NQYW5lbFRpdGxlIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBsaW5lLWhlaWdodDogMS4zO1xufVxuXG4ucHJvZ3Jlc3NQYW5lbFRpdGxlIHAge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLnByb2dyZXNzUGFuZWxTZWN0aW9uIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA0cHg7XG59XG5cbi5wcm9ncmVzc1BhbmVsU2VjdGlvbkxhYmVsIHtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMxZDRlZDg7XG59XG5cbi5wcm9ncmVzc1BhbmVsU2VjdGlvbkJvZHkge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcbn1cblxuLnByb2dyZXNzUGFuZWxTZWN0aW9uQm9keSBwIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbi5wcm9ncmVzc1BhbmVsTGlzdCB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA2cHg7XG59XG5cbi5wcm9ncmVzc1BhbmVsTGlzdEl0ZW0ge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiBhdXRvIGF1dG8gMWZyO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogOHB4O1xufVxuXG4ucHJvZ3Jlc3NQYW5lbExpc3RCdWxsZXQge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogIzI1NjNlYjtcbiAgICBsaW5lLWhlaWdodDogMS4yO1xuICAgIG1hcmdpbi10b3A6IDJweDtcbn1cblxuLnByb2dyZXNzUGFuZWxJdGVtU3Bpbm5lciB7XG4gICAgd2lkdGg6IDExcHg7XG4gICAgaGVpZ2h0OiAxMXB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OTlweDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDM3LCA5OSwgMjM1LCAwLjI2KTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMjU2M2ViO1xuICAgIGFuaW1hdGlvbjogcHJvZ3Jlc3NQYW5lbFNwaW5uZXIgMC43NXMgbGluZWFyIGluZmluaXRlO1xuICAgIG1hcmdpbi10b3A6IDNweDtcbn1cblxuLnByb2dyZXNzUGFuZWxJdGVtQ29tcGxldGVkIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAxMXB4O1xuICAgIGhlaWdodDogMTFweDtcbiAgICBtYXJnaW4tdG9wOiAycHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMzQsIDE5NywgOTQsIDAuMTYpO1xuICAgIGNvbG9yOiAjMTU4MDNkO1xuICAgIGZvbnQtc2l6ZTogOXB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5wcm9ncmVzc1BhbmVsSXRlbVRleHQge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcbn1cblxuLnByb2dyZXNzUGFuZWxJdGVtVGV4dCBwIHtcbiAgICBtYXJnaW46IDA7XG59XG5cbkBrZXlmcmFtZXMgcHJvZ3Jlc3NQYW5lbFNwaW5uZXIge1xuICAgIHRvIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgcmljaEZlYXR1cmVTcGlubmVyIHtcbiAgICB0byB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuIl19 */";
26469
- var styles$7 = {"copiedToClipboardMessage":"Chat-module_copiedToClipboardMessage__apCPY","Chat":"Chat-module_Chat__j2eE5","constrainedArticleVisual":"Chat-module_constrainedArticleVisual__0axxM","chatMainFlow":"Chat-module_chatMainFlow__--8FE","chatBar":"Chat-module_chatBar__fLECN","TasksInProgress":"Chat-module_TasksInProgress__fQfei","actions":"Chat-module_actions__gTZ5T","portal":"Chat-module_portal__uTOT8","left":"Chat-module_left__7l5Mn","right":"Chat-module_right__ABZrW","actionsFaded":"Chat-module_actionsFaded__qqAVQ","actionsScrolling":"Chat-module_actionsScrolling__fIawW","chatButton":"Chat-module_chatButton__d9VgA","chatButtonText":"Chat-module_chatButtonText__RkGB-","useTemplateButton":"Chat-module_useTemplateButton__xcJNR","chatChildren":"Chat-module_chatChildren__flOPK","chatMessages":"Chat-module_chatMessages__J2u2N","articleModeChatMessages":"Chat-module_articleModeChatMessages__ufofT","chatMessage":"Chat-module_chatMessage__nmLaZ","articleModeAgentMessage":"Chat-module_articleModeAgentMessage__Y79L7","messageStack":"Chat-module_messageStack__n0xNL","hasActionsAndFirstMessageIsLong":"Chat-module_hasActionsAndFirstMessageIsLong__5jgoZ","messageSlideIn":"Chat-module_messageSlideIn__soTy2","isMe":"Chat-module_isMe__nBtaV","avatar":"Chat-module_avatar__gL6bm","articleModeAgentAvatar":"Chat-module_articleModeAgentAvatar__UCKDX","messageWithMap":"Chat-module_messageWithMap__X5dr0","messageMeta":"Chat-module_messageMeta__eqCRu","messageLifecycleBadge":"Chat-module_messageLifecycleBadge__4jDDc","messageTimestamp":"Chat-module_messageTimestamp__LDhRw","messageDuration":"Chat-module_messageDuration__Y9Kg9","messageReplyButton":"Chat-module_messageReplyButton__S5hXM","messageReplyButtonIcon":"Chat-module_messageReplyButtonIcon__2Nk3i","messageLifecycleError":"Chat-module_messageLifecycleError__m-FO-","participantLabel":"Chat-module_participantLabel__0Oo-3","isNotCompleteMessage":"Chat-module_isNotCompleteMessage__Hj2K7","NonCompleteMessageFiller":"Chat-module_NonCompleteMessageFiller__G5-Ve","messageText":"Chat-module_messageText__XgNyQ","loadingPulse":"Chat-module_loadingPulse__VomRm","toolCallChips":"Chat-module_toolCallChips__UWgC1","sourceCitations":"Chat-module_sourceCitations__oDtBX","citationFootnotes":"Chat-module_citationFootnotes__LAWdh","citationFootnoteItem":"Chat-module_citationFootnoteItem__JXTAX","citationFootnoteNumber":"Chat-module_citationFootnoteNumber__CMmm9","toolCallChip":"Chat-module_toolCallChip__koN18","toolCallChipOngoing":"Chat-module_toolCallChipOngoing__wKcDY","toolCallChipStatus":"Chat-module_toolCallChipStatus__I-nl9","teamToolCall":"Chat-module_teamToolCall__5F45R","transitiveToolCall":"Chat-module_transitiveToolCall__WcaaK","teamAgentChip":"Chat-module_teamAgentChip__mvgtY","transitiveAgentChip":"Chat-module_transitiveAgentChip__zNOJf","toolCallLabel":"Chat-module_toolCallLabel__q7EFf","toolCallWithError":"Chat-module_toolCallWithError__AtQqO","toolCallOrigin":"Chat-module_toolCallOrigin__-Io6Y","toolCallDetails":"Chat-module_toolCallDetails__WUFlD","toolCallData":"Chat-module_toolCallData__UauCO","toolCallChipSpinner":"Chat-module_toolCallChipSpinner__ZGTwl","toolCallSpinner":"Chat-module_toolCallSpinner__LSiK6","typingIndicator":"Chat-module_typingIndicator__S-CT-","typingBubble":"Chat-module_typingBubble__0Lb7B","typingDots":"Chat-module_typingDots__srOBB","typingDot":"Chat-module_typingDot__dnhKT","typingBounce":"Chat-module_typingBounce__1yp2v","ratingStar":"Chat-module_ratingStar__rRfqC","active":"Chat-module_active__lbYL-","articleModeAgentMessageText":"Chat-module_articleModeAgentMessageText__vBlIP","replyEnabledMessageText":"Chat-module_replyEnabledMessageText__-SV9f","replySwipeActive":"Chat-module_replySwipeActive__dhAqt","replySwipeIndicator":"Chat-module_replySwipeIndicator__u92JU","replySwipeIndicatorRight":"Chat-module_replySwipeIndicatorRight__3CoAW","replySwipeIndicatorActive":"Chat-module_replySwipeIndicatorActive__m9gwU","replySwipeIndicatorIcon":"Chat-module_replySwipeIndicatorIcon__0K1SX","replyPreview":"Chat-module_replyPreview__Lt-Bg","replyBubblePreview":"Chat-module_replyBubblePreview__DNe3r","replyComposerPreview":"Chat-module_replyComposerPreview__80Wdf","replyPreviewAccent":"Chat-module_replyPreviewAccent__Uo3pe","replyPreviewBody":"Chat-module_replyPreviewBody__reKG-","replyPreviewHeading":"Chat-module_replyPreviewHeading__IeegE","replyPreviewLabel":"Chat-module_replyPreviewLabel__J-BrF","replyPreviewSender":"Chat-module_replyPreviewSender__z6SYu","replyPreviewText":"Chat-module_replyPreviewText__cY-Hc","replyPreviewDismissButton":"Chat-module_replyPreviewDismissButton__-L9MF","copyButtonContainer":"Chat-module_copyButtonContainer__Rij0U","articleModeMessageActions":"Chat-module_articleModeMessageActions__h2qaG","articleModeMessageControls":"Chat-module_articleModeMessageControls__hncCw","messageControlGroup":"Chat-module_messageControlGroup__gAo4k","copyButton":"Chat-module_copyButton__DcxT5","playButton":"Chat-module_playButton__ZigYL","playButtonIcon":"Chat-module_playButtonIcon__wPErq","playButtonSpinner":"Chat-module_playButtonSpinner__Ad33i","messagePlaySpinner":"Chat-module_messagePlaySpinner__ldlvy","copiedTooltip":"Chat-module_copiedTooltip__LH81j","copiedTooltipFadeIn":"Chat-module_copiedTooltipFadeIn__QekO1","copiedTooltipLeft":"Chat-module_copiedTooltipLeft__j-S-5","copiedTooltipRight":"Chat-module_copiedTooltipRight__R-2cE","attachments":"Chat-module_attachments__m1Fts","attachment":"Chat-module_attachment__aE9hK","attachmentWithRemove":"Chat-module_attachmentWithRemove__n2-O6","attachmentMainAction":"Chat-module_attachmentMainAction__Onkl3","attachmentRemoveButton":"Chat-module_attachmentRemoveButton__dC5ne","attachmentName":"Chat-module_attachmentName__aMx56","attachmentIcon":"Chat-module_attachmentIcon__BX3Cy","messageButtons":"Chat-module_messageButtons__WaOob","messageButton":"Chat-module_messageButton__mRnn-","actionMessageButton":"Chat-module_actionMessageButton__avcbv","rating":"Chat-module_rating__soc3M","articleModeRating":"Chat-module_articleModeRating__dwZqm","feedbackIssueButton":"Chat-module_feedbackIssueButton__9NrrF","chatInput":"Chat-module_chatInput__1Ecan","articleModeChatInput":"Chat-module_articleModeChatInput__zBTV4","speechStatusBubble":"Chat-module_speechStatusBubble__qBBWI","dragOverlay":"Chat-module_dragOverlay__SEGoS","fullPageVisual":"Chat-module_fullPageVisual__zNAEy","dragOver":"Chat-module_dragOver__bkS-g","filePreviewContainer":"Chat-module_filePreviewContainer__R70hm","filePreview":"Chat-module_filePreview__kq2aX","fileIcon":"Chat-module_fileIcon__zoSKW","fileInfo":"Chat-module_fileInfo__wBLi0","fileName":"Chat-module_fileName__bBujo","fileSize":"Chat-module_fileSize__ivliq","removeFileButton":"Chat-module_removeFileButton__0gakR","inputContainer":"Chat-module_inputContainer__bPt99","attachmentButton":"Chat-module_attachmentButton__qLO47","voiceButton":"Chat-module_voiceButton__d2zlP","voiceButtonActive":"Chat-module_voiceButtonActive__Uoi3W","voiceRecordingPulse":"Chat-module_voiceRecordingPulse__y2wJ5","speechStatusBubbleIn":"Chat-module_speechStatusBubbleIn__PBm-c","speechStatusBubbleDot":"Chat-module_speechStatusBubbleDot__APu53","speechStatusBubbleDotPulse":"Chat-module_speechStatusBubbleDotPulse__Guqsu","speechStatusBubbleRecording":"Chat-module_speechStatusBubbleRecording__faJs2","speechStatusBubbleProcessing":"Chat-module_speechStatusBubbleProcessing__Crbuu","speechStatusBubbleError":"Chat-module_speechStatusBubbleError__Nd-Aj","dictationPanel":"Chat-module_dictationPanel__kzbyG","dictationPanelHeader":"Chat-module_dictationPanelHeader__rHXTh","dictationPanelTitle":"Chat-module_dictationPanelTitle__sO9XH","dictationPanelToggle":"Chat-module_dictationPanelToggle__z3HMx","dictationInterimTranscript":"Chat-module_dictationInterimTranscript__eAbMI","dictationErrorPanel":"Chat-module_dictationErrorPanel__mjbM7","dictationErrorActions":"Chat-module_dictationErrorActions__K3ykb","dictationCorrectionActions":"Chat-module_dictationCorrectionActions__ssE7i","dictationCorrectionPanel":"Chat-module_dictationCorrectionPanel__5nh9M","dictationCorrectionLabel":"Chat-module_dictationCorrectionLabel__U4uzT","dictationCorrectionTextarea":"Chat-module_dictationCorrectionTextarea__5ovj9","dictationSettingsPanel":"Chat-module_dictationSettingsPanel__0gI-V","dictationFallbackNote":"Chat-module_dictationFallbackNote__919pE","uploadProgress":"Chat-module_uploadProgress__jBTKe","uploadProgressBar":"Chat-module_uploadProgressBar__Gutnt","uploadProgressFill":"Chat-module_uploadProgressFill__EgubT","dragOverlayContent":"Chat-module_dragOverlayContent__gb9kF","scrollToBottomContainer":"Chat-module_scrollToBottomContainer__5rXpK","scrollToBottomWrapper":"Chat-module_scrollToBottomWrapper__PCIu1","scrollButtonSlideIn":"Chat-module_scrollButtonSlideIn__XnImg","scrollToBottom":"Chat-module_scrollToBottom__nzxdZ","scrollToBottomBadge":"Chat-module_scrollToBottomBadge__N6T6-","ratingModal":"Chat-module_ratingModal__XVKYm","modalFadeIn":"Chat-module_modalFadeIn__RPc3w","ratingModalContent":"Chat-module_ratingModalContent__CCdq7","modalSlideIn":"Chat-module_modalSlideIn__XXtgN","stars":"Chat-module_stars__PCzNO","ratingModalStar":"Chat-module_ratingModalStar__XkbHr","toolCallModal":"Chat-module_toolCallModal__uNaIK","imageAttachmentModal":"Chat-module_imageAttachmentModal__Ef6L5","imageAttachmentModalHeader":"Chat-module_imageAttachmentModalHeader__onK3Z","imageAttachmentModalTitle":"Chat-module_imageAttachmentModalTitle__AhuMt","imageAttachmentModalPreview":"Chat-module_imageAttachmentModalPreview__gXDer","imageAttachmentModalImage":"Chat-module_imageAttachmentModalImage__t61oG","toolCallHeader":"Chat-module_toolCallHeader__ZaTZF","toolCallIcon":"Chat-module_toolCallIcon__UgRKj","toolCallHeaderMeta":"Chat-module_toolCallHeaderMeta__iAL-U","toolCallModalLabel":"Chat-module_toolCallModalLabel__4dBP4","toolCallTitle":"Chat-module_toolCallTitle__jhL0A","toolCallSubtitle":"Chat-module_toolCallSubtitle__a2GIO","toolCallGrid":"Chat-module_toolCallGrid__Nfr7N","toolCallPanel":"Chat-module_toolCallPanel__kQZE9","toolCallPanelTitle":"Chat-module_toolCallPanelTitle__-7OtJ","toolCallList":"Chat-module_toolCallList__5co3s","toolCallItem":"Chat-module_toolCallItem__k7W5Z","toolCallItemLabel":"Chat-module_toolCallItemLabel__d3C1E","toolCallItemValue":"Chat-module_toolCallItemValue__cStQ0","toolCallSummary":"Chat-module_toolCallSummary__wGZwg","toolCallSummaryMeta":"Chat-module_toolCallSummaryMeta__RXiSv","toolCallSummaryMetaBadge":"Chat-module_toolCallSummaryMetaBadge__JBi-I","toolCallEmpty":"Chat-module_toolCallEmpty__bUz5v","toolCallPendingCard":"Chat-module_toolCallPendingCard__L3m7T","toolCallPendingHeader":"Chat-module_toolCallPendingHeader__U3htF","toolCallPendingTitle":"Chat-module_toolCallPendingTitle__4fwLL","toolCallPendingBadge":"Chat-module_toolCallPendingBadge__bgY3c","toolCallPendingMessage":"Chat-module_toolCallPendingMessage__grnao","toolCallPendingSkeleton":"Chat-module_toolCallPendingSkeleton__Td5Cu","toolCallPendingSkeletonLine":"Chat-module_toolCallPendingSkeletonLine__Vldel","toolCallPendingSkeletonPulse":"Chat-module_toolCallPendingSkeletonPulse__aKDNI","toolCallPendingSkeletonShort":"Chat-module_toolCallPendingSkeletonShort__FnR-X","toolCallDetailsCard":"Chat-module_toolCallDetailsCard__UJthw","toolCallDetailsCardRow":"Chat-module_toolCallDetailsCardRow__-VhfA","toolCallIssues":"Chat-module_toolCallIssues__evhYM","toolCallIssueBadge":"Chat-module_toolCallIssueBadge__Qbwdp","toolCallIssueError":"Chat-module_toolCallIssueError__LImeS","toolCallIssueWarning":"Chat-module_toolCallIssueWarning__chQDf","toolCallModeFooter":"Chat-module_toolCallModeFooter__XaRqI","toolCallModeButton":"Chat-module_toolCallModeButton__zlcca","toolCallClockPanel":"Chat-module_toolCallClockPanel__h4xZd","toolCallClockLabels":"Chat-module_toolCallClockLabels__KJGxe","toolCallClockPrimary":"Chat-module_toolCallClockPrimary__StLQ8","toolCallClockSecondary":"Chat-module_toolCallClockSecondary__O4WaT","toolCallClockMeta":"Chat-module_toolCallClockMeta__aObb7","timeoutToolSummary":"Chat-module_timeoutToolSummary__kPPvu","timeoutToolPrimarySentence":"Chat-module_timeoutToolPrimarySentence__pQfLn","timeoutToolSecondarySentence":"Chat-module_timeoutToolSecondarySentence__iH5Uc","timeoutToolActionRow":"Chat-module_timeoutToolActionRow__occir","timeoutToolActionButton":"Chat-module_timeoutToolActionButton__8yz0R","memoryModalHeader":"Chat-module_memoryModalHeader__SpZJT","memoryModalIcon":"Chat-module_memoryModalIcon__eYbli","memoryModalHeaderText":"Chat-module_memoryModalHeaderText__S6MZG","memoryModalTitle":"Chat-module_memoryModalTitle__zzbaQ","memoryModalSubtitle":"Chat-module_memoryModalSubtitle__PStci","memoryModalStatus":"Chat-module_memoryModalStatus__bmrfc","memoryStatusDot":"Chat-module_memoryStatusDot__c0oVs","memoryModalContent":"Chat-module_memoryModalContent__8E7oj","memoryMessage":"Chat-module_memoryMessage__q0pNK","memoryMetaRow":"Chat-module_memoryMetaRow__Hc-Xp","memoryMetaLabel":"Chat-module_memoryMetaLabel__LFx11","memoryMetaValue":"Chat-module_memoryMetaValue__4bILO","memoryStoreSection":"Chat-module_memoryStoreSection__qQJPN","memoryRetrieveSection":"Chat-module_memoryRetrieveSection__VbuS4","memoryCard":"Chat-module_memoryCard__-kIDN","memoryCardContent":"Chat-module_memoryCardContent__l9S4G","memoryCardMeta":"Chat-module_memoryCardMeta__K66KE","memoryScopeBadge":"Chat-module_memoryScopeBadge__T2ACc","memoryList":"Chat-module_memoryList__pUOg2","memoryEmptyState":"Chat-module_memoryEmptyState__fPrXA","memoryListFooter":"Chat-module_memoryListFooter__Y0Q2Z","memoryStatusSuccess":"Chat-module_memoryStatusSuccess__4bhfo","memoryStatusWarning":"Chat-module_memoryStatusWarning__AR6yh","memoryStatusError":"Chat-module_memoryStatusError__ZNAT6","memoryStatusNeutral":"Chat-module_memoryStatusNeutral__Fa-4M","searchModalHeader":"Chat-module_searchModalHeader__Y8V-w","selfLearningModalHeader":"Chat-module_selfLearningModalHeader__PDIt1","selfLearningAvatarGroup":"Chat-module_selfLearningAvatarGroup__jgy2k","selfLearningAvatar":"Chat-module_selfLearningAvatar__NHXKm","selfLearningAvatarInitial":"Chat-module_selfLearningAvatarInitial__cuw19","selfLearningTeacher":"Chat-module_selfLearningTeacher__fGhX8","selfLearningHeaderText":"Chat-module_selfLearningHeaderText__LTwHL","selfLearningTitle":"Chat-module_selfLearningTitle__G0SAk","selfLearningMetaRow":"Chat-module_selfLearningMetaRow__z4Tg0","selfLearningMeta":"Chat-module_selfLearningMeta__58Pet","selfLearningMetaChip":"Chat-module_selfLearningMetaChip__0go88","selfLearningCommitments":"Chat-module_selfLearningCommitments__7ECnr","selfLearningCommitmentsLabel":"Chat-module_selfLearningCommitmentsLabel__OkDO1","selfLearningBookEditor":"Chat-module_selfLearningBookEditor__CZy5T","selfLearningEmpty":"Chat-module_selfLearningEmpty__vCKHL","modalCloseButton":"Chat-module_modalCloseButton__AAfWS","teamModalHeader":"Chat-module_teamModalHeader__SB5NL","teamHeaderParticipants":"Chat-module_teamHeaderParticipants__KS7aV","teamHeaderProfile":"Chat-module_teamHeaderProfile__xRlcS","teamHeaderProfileLink":"Chat-module_teamHeaderProfileLink__fYTfT","teamHeaderAvatar":"Chat-module_teamHeaderAvatar__vXcTp","teamHeaderName":"Chat-module_teamHeaderName__ygJR9","teamHeaderDivider":"Chat-module_teamHeaderDivider__cnRMd","searchModalIcon":"Chat-module_searchModalIcon__AR5KY","searchModalQuery":"Chat-module_searchModalQuery__5x-Ra","searchModalContent":"Chat-module_searchModalContent__mWLIE","teamChatContainer":"Chat-module_teamChatContainer__xdLtU","teamToolCallSection":"Chat-module_teamToolCallSection__FH9l7","teamToolCallGroup":"Chat-module_teamToolCallGroup__PO6rl","teamToolCallHeading":"Chat-module_teamToolCallHeading__G-JSj","teamToolCallChips":"Chat-module_teamToolCallChips__hRWqh","teamToolCallDetails":"Chat-module_teamToolCallDetails__ZaTtt","teamToolCallDetailsHeader":"Chat-module_teamToolCallDetailsHeader__FPIgI","teamToolCallDetailsTitle":"Chat-module_teamToolCallDetailsTitle__50SeL","teamToolCallDetailsClear":"Chat-module_teamToolCallDetailsClear__8yvu7","searchResultsList":"Chat-module_searchResultsList__xVDUZ","searchResultsRaw":"Chat-module_searchResultsRaw__i3GkD","searchResultItem":"Chat-module_searchResultItem__bTzq5","searchResultUrl":"Chat-module_searchResultUrl__SbrH4","searchResultTitle":"Chat-module_searchResultTitle__XS7zN","searchResultSnippet":"Chat-module_searchResultSnippet__Wsun2","noResults":"Chat-module_noResults__AAv6s","citationDetails":"Chat-module_citationDetails__2v2e1","citationPreview":"Chat-module_citationPreview__rGhCR","citationIframe":"Chat-module_citationIframe__ngzFY","citationIframeLoading":"Chat-module_citationIframeLoading__y5VW9","citationScreenshotFallback":"Chat-module_citationScreenshotFallback__jxfJX","citationScreenshotImage":"Chat-module_citationScreenshotImage__hXjC7","citationScreenshotLink":"Chat-module_citationScreenshotLink__NHvbE","citationBrowserStreamFallback":"Chat-module_citationBrowserStreamFallback__0OLgz","citationBrowserStreamImage":"Chat-module_citationBrowserStreamImage__AoBzT","citationBrowserStreamLink":"Chat-module_citationBrowserStreamLink__ikXDB","citationMetadata":"Chat-module_citationMetadata__DPaCF","citationExcerpt":"Chat-module_citationExcerpt__VU4BS","citationHint":"Chat-module_citationHint__5AkLx","toolCallDataContainer":"Chat-module_toolCallDataContainer__rdEzC","toolCallPayloadContainer":"Chat-module_toolCallPayloadContainer__v2yVn","toolCallPayloadEditor":"Chat-module_toolCallPayloadEditor__Hklyf","ratingInput":"Chat-module_ratingInput__z8Pv-","ratingActions":"Chat-module_ratingActions__nXcss","downloadButton":"Chat-module_downloadButton__8--bk","saveButtonContainer":"Chat-module_saveButtonContainer__lSNUJ","saveMenu":"Chat-module_saveMenu__-ph8y","saveMenuItem":"Chat-module_saveMenuItem__ISApL","saveMenuDivider":"Chat-module_saveMenuDivider__3ktTM","chatFeedbackPanel":"Chat-module_chatFeedbackPanel__gfOzk","chatFeedbackToggle":"Chat-module_chatFeedbackToggle__IeOM6","chatFeedbackIcon":"Chat-module_chatFeedbackIcon__XcB7A","chatFeedbackMeta":"Chat-module_chatFeedbackMeta__6t2be","chatFeedbackLabel":"Chat-module_chatFeedbackLabel__qQgH3","chatFeedbackDescription":"Chat-module_chatFeedbackDescription__I9bNg","chatFeedbackIndicator":"Chat-module_chatFeedbackIndicator__uHCr7","chatFeedbackIndicatorActive":"Chat-module_chatFeedbackIndicatorActive__bkw-w","chatFeedbackIndicatorInactive":"Chat-module_chatFeedbackIndicatorInactive__qMBkh","pauseButton":"Chat-module_pauseButton__eeu7K","pausing":"Chat-module_pausing__pTx8b","paused":"Chat-module_paused__j-pya","stopButton":"Chat-module_stopButton__dkPOW","voiceCallIndicatorBar":"Chat-module_voiceCallIndicatorBar__N2sWN","voiceCallIndicator":"Chat-module_voiceCallIndicator__tsaaG","voiceCallIconPulse":"Chat-module_voiceCallIconPulse__zZbJn","voiceCallPulse":"Chat-module_voiceCallPulse__XcGU4","feedbackStatus":"Chat-module_feedbackStatus__-df7l","feedbackStatusSlideIn":"Chat-module_feedbackStatusSlideIn__n6bbB","feedbackStatusSuccess":"Chat-module_feedbackStatusSuccess__Ax2q0","feedbackStatusError":"Chat-module_feedbackStatusError__dnv6d","emailContainer":"Chat-module_emailContainer__TBxXZ","emailModalHeader":"Chat-module_emailModalHeader__Z4-CJ","emailHeaderText":"Chat-module_emailHeaderText__1dR6R","emailHeaderLabel":"Chat-module_emailHeaderLabel__7iAEH","emailMetadata":"Chat-module_emailMetadata__8XXGf","emailField":"Chat-module_emailField__pcb03","emailRecipients":"Chat-module_emailRecipients__YVVys","emailBody":"Chat-module_emailBody__OBt-w","emailBodyContent":"Chat-module_emailBodyContent__-vFo2","browserRunModalHeader":"Chat-module_browserRunModalHeader__0AyeK","browserRunHeaderText":"Chat-module_browserRunHeaderText__JUbNv","browserRunHeaderStatus":"Chat-module_browserRunHeaderStatus__uu3Fi","browserRunHeaderLabel":"Chat-module_browserRunHeaderLabel__uKYCb","browserRunMeta":"Chat-module_browserRunMeta__lJkQc","browserRunWarning":"Chat-module_browserRunWarning__ojdEP","browserRunError":"Chat-module_browserRunError__aELQo","browserRunErrorSummary":"Chat-module_browserRunErrorSummary__ygz-g","browserRunErrorSteps":"Chat-module_browserRunErrorSteps__S96nl","browserRunDebugDetails":"Chat-module_browserRunDebugDetails__SZ3VT","browserRunFallbackContent":"Chat-module_browserRunFallbackContent__NYCkp","browserRunStatusBanner":"Chat-module_browserRunStatusBanner__ljIE9","browserRunMediaGrid":"Chat-module_browserRunMediaGrid__KDz3I","browserRunMediaCard":"Chat-module_browserRunMediaCard__focNP","browserRunMediaCardHeader":"Chat-module_browserRunMediaCardHeader__sOfLw","browserRunMediaTitle":"Chat-module_browserRunMediaTitle__a6Ctw","browserRunMediaCaption":"Chat-module_browserRunMediaCaption__LG8E6","browserRunMediaImage":"Chat-module_browserRunMediaImage__UI4pd","browserRunMediaVideo":"Chat-module_browserRunMediaVideo__z2RgF","browserRunActionLog":"Chat-module_browserRunActionLog__YZ0CQ","browserRunActionLogTitle":"Chat-module_browserRunActionLogTitle__XaEIW","browserRunActionList":"Chat-module_browserRunActionList__SOgfd","browserRunActionItem":"Chat-module_browserRunActionItem__1q668","browserRunActionPending":"Chat-module_browserRunActionPending__unJJt","browserRunActionRunning":"Chat-module_browserRunActionRunning__NdlRL","browserRunActionComplete":"Chat-module_browserRunActionComplete__PU36H","browserRunActionError":"Chat-module_browserRunActionError__y-cm0","browserRunActionState":"Chat-module_browserRunActionState__pkfKg","browserRunActionStateRunning":"Chat-module_browserRunActionStateRunning__L1IbZ","browserRunActionStateComplete":"Chat-module_browserRunActionStateComplete__CpVEc","browserRunActionStateError":"Chat-module_browserRunActionStateError__lU-t4","browserRunActionMeta":"Chat-module_browserRunActionMeta__df32n","emailStatus":"Chat-module_emailStatus__T4UuL","imagePrompt":"Chat-module_imagePrompt__v7-Ho","imagePromptPreview":"Chat-module_imagePromptPreview__ve5dB","imagePromptImage":"Chat-module_imagePromptImage__KjE3H","imagePromptPlaceholder":"Chat-module_imagePromptPlaceholder__b8cW6","imagePromptSpinner":"Chat-module_imagePromptSpinner__nat8r","imagePromptMeta":"Chat-module_imagePromptMeta__YwltP","imagePromptPrompt":"Chat-module_imagePromptPrompt__N1E--","imagePromptStatus":"Chat-module_imagePromptStatus__0ROQF","imagePromptError":"Chat-module_imagePromptError__x1952","richFeaturePlaceholder":"Chat-module_richFeaturePlaceholder__mXS7-","richFeaturePlaceholderSpinner":"Chat-module_richFeaturePlaceholderSpinner__ingFq","richFeatureSpinner":"Chat-module_richFeatureSpinner__eOql6","richFeaturePlaceholderCopy":"Chat-module_richFeaturePlaceholderCopy__sEgxN","richFeaturePlaceholderTitle":"Chat-module_richFeaturePlaceholderTitle__lF7rJ","richFeaturePlaceholderStatus":"Chat-module_richFeaturePlaceholderStatus__UJg09","progressPanel":"Chat-module_progressPanel__9M8h9","progressPanelTitle":"Chat-module_progressPanelTitle__rBdoY","progressPanelSection":"Chat-module_progressPanelSection__F3xUF","progressPanelSectionLabel":"Chat-module_progressPanelSectionLabel__aTPgr","progressPanelSectionBody":"Chat-module_progressPanelSectionBody__Z7zX0","progressPanelList":"Chat-module_progressPanelList__PHFeP","progressPanelListItem":"Chat-module_progressPanelListItem__7v9jN","progressPanelListBullet":"Chat-module_progressPanelListBullet__Tzvi7","progressPanelItemSpinner":"Chat-module_progressPanelItemSpinner__oJ6Az","progressPanelSpinner":"Chat-module_progressPanelSpinner__pzxP2","progressPanelItemCompleted":"Chat-module_progressPanelItemCompleted__7bJhG","progressPanelItemText":"Chat-module_progressPanelItemText__tZPIs"};
26562
+ var css_248z$7 = "@font-face{font-display:swap;font-family:OpenMojiBlack;src:url(/fonts/OpenMoji-black-glyf.woff2) format(\"woff2\"),url(https://s6.ptbk.io/fonts/OpenMoji-black-glyf.woff2) format(\"woff2\");unicode-range:u+23,u+2a,u+2d,u+30-39,u+a9,u+ae,u+200d,u+203c,u+2049,u+20e3,u+2117,u+2120,u+2122,u+2139,u+2194-2199,u+21a9,u+21aa,u+229c,u+231a,u+231b,u+2328,u+23cf,u+23e9-23f3,u+23f8-23fe,u+24c2,u+25a1,u+25aa-25ae,u+25b6,u+25c0,u+25c9,u+25d0,u+25d1,u+25e7-25ea,u+25ed,u+25ee,u+25fb-25fe,u+2600-2605,u+260e,u+2611,u+2614,u+2615,u+2618,u+261d,u+2620,u+2622,u+2623,u+2626,u+262a,u+262e,u+262f,u+2638-263a,u+2640,u+2642,u+2648-2653,u+265f,u+2660,u+2663,u+2665,u+2666,u+2668,u+267b,u+267e,u+267f,u+2691-2697,u+2699,u+269b,u+269c,u+26a0,u+26a1,u+26a7,u+26aa,u+26ab,u+26b0,u+26b1,u+26bd,u+26be,u+26c4,u+26c5,u+26c8,u+26ce,u+26cf,u+26d1,u+26d3,u+26d4,u+26e9,u+26ea,u+26f0-26f5,u+26f7-26fa,u+26fd,u+2702,u+2705,u+2708-270d,u+270f,u+2712,u+2714,u+2716,u+271d,u+2721,u+2728,u+2733,u+2734,u+2744,u+2747,u+274c,u+274e,u+2753-2755,u+2757,u+2763,u+2764,u+2795-2797,u+27a1,u+27b0,u+27bf,u+2934,u+2935,u+2b05-2b07,u+2b0c,u+2b0d,u+2b1b,u+2b1c,u+2b1f-2b24,u+2b2e,u+2b2f,u+2b50,u+2b55,u+2b58,u+2b8f,u+2bba-2bbc,u+2bc3,u+2bc4,u+2bea,u+2beb,u+3030,u+303d,u+3297,u+3299,u+e000-e009,u+e010,u+e011,u+e040-e06d,u+e080-e0b4,u+e0c0-e0cc,u+e0ff-e10d,u+e140-e14a,u+e150-e157,u+e181-e189,u+e1c0-e1c4,u+e1c6-e1d9,u+e200-e216,u+e240-e269,u+e280-e283,u+e2c0-e2c4,u+e2c6-e2da,u+e300-e303,u+e305-e30f,u+e312-e316,u+e318-e322,u+e324-e329,u+e32b,u+e340-e348,u+e380,u+e381,u+f000,u+f77a,u+f8ff,u+fe0f,u+1f004,u+1f0cf,u+1f10d-1f10f,u+1f12f,u+1f16d-1f171,u+1f17e,u+1f17f,u+1f18e,u+1f191-1f19a,u+1f1e6-1f1ff,u+1f201,u+1f202,u+1f21a,u+1f22f,u+1f232-1f23a,u+1f250,u+1f251,u+1f260-1f265,u+1f300-1f321,u+1f324-1f393,u+1f396,u+1f397,u+1f399-1f39b,u+1f39e-1f3f0,u+1f3f3-1f3f5,u+1f3f7-1f4fd,u+1f4ff-1f53d,u+1f549-1f54e,u+1f550-1f567,u+1f56f,u+1f570,u+1f573-1f57a,u+1f587,u+1f58a-1f58d,u+1f590,u+1f595,u+1f596,u+1f5a4,u+1f5a5,u+1f5a8,u+1f5b1,u+1f5b2,u+1f5bc,u+1f5c2-1f5c4,u+1f5d1-1f5d3,u+1f5dc-1f5de,u+1f5e1,u+1f5e3,u+1f5e8,u+1f5ef,u+1f5f3,u+1f5fa-1f64f,u+1f680-1f6c5,u+1f6cb-1f6d2,u+1f6d5-1f6d7,u+1f6dc-1f6e5,u+1f6e9,u+1f6eb,u+1f6ec,u+1f6f0,u+1f6f3-1f6fc,u+1f7e0-1f7eb,u+1f7f0,u+1f90c-1f93a,u+1f93c-1f945,u+1f947-1f9ff,u+1fa70-1fa7c,u+1fa80-1fa88,u+1fa90-1fabd,u+1fabf-1fac5,u+1face-1fadb,u+1fae0-1fae8,u+1faf0-1faf8,u+1fbc5-1fbc9,u+e0061-e0067,u+e0069,u+e006c-e0079,u+e007f}@font-face{font-display:swap;font-family:OpenMojiColor;src:url(/fonts/OpenMoji-color-cbdt.woff2) format(\"woff2\"),url(https://s6.ptbk.io/fonts/OpenMoji-color-cbdt.woff2) format(\"woff2\");unicode-range:u+23,u+2a,u+2d,u+30-39,u+a9,u+ae,u+200d,u+203c,u+2049,u+20e3,u+2117,u+2120,u+2122,u+2139,u+2194-2199,u+21a9,u+21aa,u+229c,u+231a,u+231b,u+2328,u+23cf,u+23e9-23f3,u+23f8-23fe,u+24c2,u+25a1,u+25aa-25ae,u+25b6,u+25c0,u+25c9,u+25d0,u+25d1,u+25e7-25ea,u+25ed,u+25ee,u+25fb-25fe,u+2600-2605,u+260e,u+2611,u+2614,u+2615,u+2618,u+261d,u+2620,u+2622,u+2623,u+2626,u+262a,u+262e,u+262f,u+2638-263a,u+2640,u+2642,u+2648-2653,u+265f,u+2660,u+2663,u+2665,u+2666,u+2668,u+267b,u+267e,u+267f,u+2691-2697,u+2699,u+269b,u+269c,u+26a0,u+26a1,u+26a7,u+26aa,u+26ab,u+26b0,u+26b1,u+26bd,u+26be,u+26c4,u+26c5,u+26c8,u+26ce,u+26cf,u+26d1,u+26d3,u+26d4,u+26e9,u+26ea,u+26f0-26f5,u+26f7-26fa,u+26fd,u+2702,u+2705,u+2708-270d,u+270f,u+2712,u+2714,u+2716,u+271d,u+2721,u+2728,u+2733,u+2734,u+2744,u+2747,u+274c,u+274e,u+2753-2755,u+2757,u+2763,u+2764,u+2795-2797,u+27a1,u+27b0,u+27bf,u+2934,u+2935,u+2b05-2b07,u+2b0c,u+2b0d,u+2b1b,u+2b1c,u+2b1f-2b24,u+2b2e,u+2b2f,u+2b50,u+2b55,u+2b58,u+2b8f,u+2bba-2bbc,u+2bc3,u+2bc4,u+2bea,u+2beb,u+3030,u+303d,u+3297,u+3299,u+e000-e009,u+e010,u+e011,u+e040-e06d,u+e080-e0b4,u+e0c0-e0cc,u+e0ff-e10d,u+e140-e14a,u+e150-e157,u+e181-e189,u+e1c0-e1c4,u+e1c6-e1d9,u+e200-e216,u+e240-e269,u+e280-e283,u+e2c0-e2c4,u+e2c6-e2da,u+e300-e303,u+e305-e30f,u+e312-e316,u+e318-e322,u+e324-e329,u+e32b,u+e340-e348,u+e380,u+e381,u+f000,u+f77a,u+f8ff,u+fe0f,u+1f004,u+1f0cf,u+1f10d-1f10f,u+1f12f,u+1f16d-1f171,u+1f17e,u+1f17f,u+1f18e,u+1f191-1f19a,u+1f1e6-1f1ff,u+1f201,u+1f202,u+1f21a,u+1f22f,u+1f232-1f23a,u+1f250,u+1f251,u+1f260-1f265,u+1f300-1f321,u+1f324-1f393,u+1f396,u+1f397,u+1f399-1f39b,u+1f39e-1f3f0,u+1f3f3-1f3f5,u+1f3f7-1f4fd,u+1f4ff-1f53d,u+1f549-1f54e,u+1f550-1f567,u+1f56f,u+1f570,u+1f573-1f57a,u+1f587,u+1f58a-1f58d,u+1f590,u+1f595,u+1f596,u+1f5a4,u+1f5a5,u+1f5a8,u+1f5b1,u+1f5b2,u+1f5bc,u+1f5c2-1f5c4,u+1f5d1-1f5d3,u+1f5dc-1f5de,u+1f5e1,u+1f5e3,u+1f5e8,u+1f5ef,u+1f5f3,u+1f5fa-1f64f,u+1f680-1f6c5,u+1f6cb-1f6d2,u+1f6d5-1f6d7,u+1f6dc-1f6e5,u+1f6e9,u+1f6eb,u+1f6ec,u+1f6f0,u+1f6f3-1f6fc,u+1f7e0-1f7eb,u+1f7f0,u+1f90c-1f93a,u+1f93c-1f945,u+1f947-1f9ff,u+1fa70-1fa7c,u+1fa80-1fa88,u+1fa90-1fabd,u+1fabf-1fac5,u+1face-1fadb,u+1fae0-1fae8,u+1faf0-1faf8,u+1fbc5-1fbc9,u+e0061-e0067,u+e0069,u+e006c-e0079,u+e007f}.Chat-module_copiedToClipboardMessage__apCPY{background:#222;border-radius:8px;box-shadow:0 2px 12px rgba(0,0,0,.18);color:#fff;font-size:1.1em;left:50%;opacity:.97;padding:10px 24px;pointer-events:none;position:fixed;top:32px;transform:translateX(-50%);z-index:9999}.Chat-module_Chat__j2eE5{--chat-message-min-width:170px;--chat-message-avatar-gap:14px;--chat-message-avatar-size:42px;--chat-message-max-width:min(72%,680px,calc(100% - var(--chat-message-avatar-size) - var(--chat-message-avatar-gap)));--chat-bubble-radius:24px;--chat-bubble-shadow:0 12px 34px rgba(15,23,42,.16);--chat-bubble-shadow-hover:0 18px 42px rgba(15,23,42,.2);--chat-bubble-border-color:hsla(0,0%,100%,.34);--chat-bubble-font-size:15px;--chat-bubble-line-height:1.62;--chat-input-visible-lines:3;--chat-input-font-size:15px;--chat-input-line-height:1.5;--chat-input-padding-y:10px;--chat-input-padding-x:12px;--chat-input-action-size:40px;--chat-input-textarea-height:calc(var(--chat-input-visible-lines)*var(--chat-input-font-size)*var(--chat-input-line-height) + var(--chat-input-padding-y)*2);--chat-message-meta-color:rgba(71,85,105,.85);--chat-message-lifecycle-badge-background:rgba(148,163,184,.16);--chat-message-lifecycle-badge-color:#475569;--chat-participant-label-color:rgba(71,85,105,.82);--chat-message-control-background:hsla(0,0%,100%,.28);--chat-message-control-border-color:hsla(0,0%,100%,.46);--chat-message-control-hover-background:hsla(0,0%,100%,.36);--chat-message-control-hover-border-color:hsla(0,0%,100%,.76);--chat-message-control-color:#111;--chat-message-control-shadow:0 2px 8px rgba(15,23,42,.16);--chat-message-control-hover-shadow:0 5px 14px rgba(15,23,42,.22);--chat-message-control-spinner-border-color:rgba(0,0,0,.3);--chat-message-control-spinner-accent-color:#111;--chat-article-control-background:#f8fafc;--chat-article-control-border-color:rgba(148,163,184,.65);--chat-article-control-hover-background:#fff;--chat-article-control-hover-border-color:rgba(100,116,139,.82);--chat-article-control-hover-shadow:0 2px 8px rgba(15,23,42,.12);--chat-article-rating-background:rgba(248,250,252,.9);--chat-article-rating-border-color:rgba(148,163,184,.5);--chat-article-rating-hover-background:rgba(241,245,249,.94);--chat-article-rating-hover-border-color:rgba(100,116,139,.62);--chat-article-rating-shadow:none;--chat-input-border-color:rgba(148,163,184,.14);--chat-input-backdrop:linear-gradient(180deg,rgba(248,250,252,0),rgba(248,250,252,.9) 44%,rgba(248,250,252,.96));--chat-full-page-input-backdrop:linear-gradient(180deg,hsla(0,0%,100%,.02),hsla(0,0%,100%,.86) 60%,hsla(0,0%,100%,.95));--chat-input-drag-over-backdrop:linear-gradient(180deg,rgba(56,189,248,.04),rgba(14,165,233,.13));--chat-input-container-background:linear-gradient(150deg,hsla(0,0%,100%,.98),rgba(248,250,252,.94));--chat-input-container-border-color:rgba(148,163,184,.3);--chat-input-container-shadow:0 14px 34px rgba(15,23,42,.12),inset 0 1px 0 hsla(0,0%,100%,.9);--chat-input-text-color:#0f172a;--chat-input-placeholder-color:#8b9bb1;--chat-input-action-color:#64748b;--chat-input-action-hover-background:#f1f5f9;--chat-input-action-hover-color:#0f172a;--chat-file-preview-background:hsla(0,0%,49%,.1);--chat-file-preview-border-color:hsla(0,0%,49%,.2);--chat-file-preview-hover-background:hsla(0,0%,49%,.15);--chat-file-preview-hover-border-color:hsla(0,0%,49%,.3);--chat-file-name-color:#000;--chat-file-size-color:#6b7280;--chat-dictation-panel-background:hsla(0,0%,100%,.9);--chat-dictation-panel-border-color:rgba(148,163,184,.35);--chat-dictation-panel-color:#0f172a;--chat-dictation-title-color:#475569;--chat-dictation-toggle-background:#f8fafc;--chat-dictation-toggle-color:#334155;--chat-dictation-transcript-background:rgba(239,246,255,.9);--chat-dictation-transcript-color:#0c4a6e;--chat-dictation-settings-color:#334155;--chat-dictation-fallback-color:#475569;--chat-reply-composer-background:hsla(0,0%,100%,.92);--chat-reply-composer-border-color:rgba(148,163,184,.3);--chat-reply-composer-shadow:0 10px 24px rgba(15,23,42,.08);--chat-reply-dismiss-background:rgba(148,163,184,.14);--chat-reply-dismiss-hover-background:rgba(148,163,184,.24);--chat-reply-dismiss-color:#475569;--chat-reply-dismiss-hover-color:#0f172a;--chat-speech-status-background:hsla(0,0%,100%,.95);--chat-speech-status-border-color:rgba(15,23,42,.15);--chat-speech-status-color:#0f172a;--chat-speech-status-shadow:0 12px 28px rgba(15,23,42,.18);--chat-speech-status-dot-background:#64748b;--chat-dictation-action-background:#f8fafc;--chat-dictation-action-border-color:rgba(148,163,184,.35);--chat-dictation-action-color:#0f172a;--chat-dictation-correction-label-color:#334155;--chat-dictation-correction-textarea-background:#fff;--chat-dictation-correction-textarea-color:#0f172a;--chat-dictation-correction-textarea-border-color:rgba(148,163,184,.35);display:flex;flex-direction:column;font-family:var(\n --chat-font-family,var(--font-poppins,\"Poppins\",system-ui,-apple-system,\"Segoe UI\",sans-serif)\n ),\"OpenMojiColor\",\"OpenMojiBlack\";height:100%;min-height:0;overflow:hidden;width:100%}.Chat-module_Chat__j2eE5[data-chat-theme=dark]{--chat-bubble-shadow:0 14px 34px rgba(2,6,23,.38);--chat-bubble-shadow-hover:0 18px 42px rgba(2,6,23,.48);--chat-bubble-border-color:rgba(148,163,184,.2);--chat-message-meta-color:rgba(148,163,184,.84);--chat-message-lifecycle-badge-background:rgba(148,163,184,.14);--chat-message-lifecycle-badge-color:#cbd5e1;--chat-participant-label-color:rgba(203,213,225,.76);--chat-message-control-background:rgba(15,23,42,.78);--chat-message-control-border-color:rgba(148,163,184,.4);--chat-message-control-hover-background:rgba(30,41,59,.96);--chat-message-control-hover-border-color:rgba(148,163,184,.72);--chat-message-control-color:#e2e8f0;--chat-message-control-shadow:0 10px 24px rgba(2,6,23,.34);--chat-message-control-hover-shadow:0 12px 28px rgba(2,6,23,.42);--chat-message-control-spinner-border-color:rgba(226,232,240,.3);--chat-message-control-spinner-accent-color:#e2e8f0;--chat-article-control-background:rgba(15,23,42,.86);--chat-article-control-border-color:rgba(71,85,105,.95);--chat-article-control-hover-background:rgba(30,41,59,.98);--chat-article-control-hover-border-color:rgba(148,163,184,.72);--chat-article-control-hover-shadow:0 12px 26px rgba(2,6,23,.32);--chat-article-rating-background:rgba(15,23,42,.86);--chat-article-rating-border-color:rgba(71,85,105,.95);--chat-article-rating-hover-background:rgba(30,41,59,.98);--chat-article-rating-hover-border-color:rgba(148,163,184,.72);--chat-article-rating-shadow:0 12px 26px rgba(2,6,23,.32);--chat-input-border-color:rgba(51,65,85,.78);--chat-input-backdrop:linear-gradient(180deg,rgba(2,6,23,0),rgba(2,6,23,.82) 48%,rgba(2,6,23,.96));--chat-full-page-input-backdrop:linear-gradient(180deg,rgba(2,6,23,0),rgba(2,6,23,.88) 58%,rgba(2,6,23,.98));--chat-input-drag-over-backdrop:linear-gradient(180deg,rgba(14,165,233,.08),rgba(8,47,73,.5));--chat-input-container-background:linear-gradient(150deg,rgba(15,23,42,.96),rgba(15,23,42,.9));--chat-input-container-border-color:rgba(71,85,105,.88);--chat-input-container-shadow:0 20px 44px rgba(2,6,23,.42),inset 0 1px 0 rgba(148,163,184,.1);--chat-input-text-color:#e2e8f0;--chat-input-placeholder-color:#94a3b8;--chat-input-action-color:#cbd5e1;--chat-input-action-hover-background:rgba(51,65,85,.78);--chat-input-action-hover-color:#f8fafc;--chat-file-preview-background:rgba(15,23,42,.78);--chat-file-preview-border-color:rgba(71,85,105,.72);--chat-file-preview-hover-background:rgba(30,41,59,.86);--chat-file-preview-hover-border-color:rgba(148,163,184,.42);--chat-file-name-color:#e2e8f0;--chat-file-size-color:#94a3b8;--chat-dictation-panel-background:rgba(15,23,42,.94);--chat-dictation-panel-border-color:rgba(71,85,105,.8);--chat-dictation-panel-color:#e2e8f0;--chat-dictation-title-color:#cbd5e1;--chat-dictation-toggle-background:rgba(30,41,59,.92);--chat-dictation-toggle-color:#e2e8f0;--chat-dictation-transcript-background:rgba(8,47,73,.64);--chat-dictation-transcript-color:#bae6fd;--chat-dictation-settings-color:#cbd5e1;--chat-dictation-fallback-color:#94a3b8;--chat-reply-composer-background:rgba(15,23,42,.94);--chat-reply-composer-border-color:rgba(71,85,105,.8);--chat-reply-composer-shadow:0 14px 28px rgba(2,6,23,.32);--chat-reply-dismiss-background:rgba(51,65,85,.76);--chat-reply-dismiss-hover-background:rgba(71,85,105,.9);--chat-reply-dismiss-color:#cbd5e1;--chat-reply-dismiss-hover-color:#f8fafc;--chat-speech-status-background:rgba(15,23,42,.96);--chat-speech-status-border-color:rgba(71,85,105,.8);--chat-speech-status-color:#e2e8f0;--chat-speech-status-shadow:0 16px 34px rgba(2,6,23,.42);--chat-speech-status-dot-background:#94a3b8;--chat-dictation-action-background:rgba(30,41,59,.92);--chat-dictation-action-border-color:rgba(71,85,105,.78);--chat-dictation-action-color:#e2e8f0;--chat-dictation-correction-label-color:#cbd5e1;--chat-dictation-correction-textarea-background:rgba(8,15,28,.98);--chat-dictation-correction-textarea-color:#e2e8f0;--chat-dictation-correction-textarea-border-color:rgba(71,85,105,.78);color:#e2e8f0}.Chat-module_constrainedArticleVisual__0axxM{--chat-article-layout-max-width:54rem;--chat-article-layout-padding-inline:clamp(16px,4vw,40px)}.Chat-module_chatMainFlow__--8FE{display:grid;grid-template:\"🟦\" min-content \"💬\" 1fr \"📝\" min-content/1fr;height:100%;max-width:100%;min-height:0;min-width:0;width:100%}.Chat-module_chatMainFlow__--8FE .Chat-module_chatBar__fLECN{background-color:#fff;border-bottom:1px solid rgba(15,23,36,.06);color:#0f1724;font-weight:500;grid-area:🟦;padding:16px 20px;text-align:center;width:100%}.Chat-module_TasksInProgress__fQfei{align-self:center;grid-area:🟦;height:min-content;justify-self:self-end;margin:8px 16px;width:auto}.Chat-module_actions__gTZ5T{align-items:center;align-self:self-start;display:flex;gap:8px;grid-area:💬;height:min-content;justify-self:self-end;margin:16px 20px 0;transition:opacity .2s ease;width:auto;will-change:opacity;z-index:40}.Chat-module_actions__gTZ5T.Chat-module_portal__uTOT8{margin:0}.Chat-module_actions__gTZ5T.Chat-module_left__7l5Mn{justify-self:self-start}.Chat-module_actions__gTZ5T.Chat-module_right__ABZrW{justify-self:self-end}.Chat-module_actionsFaded__qqAVQ{opacity:.3}.Chat-module_actionsScrolling__fIawW{opacity:.15;pointer-events:none}@media (max-width:900px){.Chat-module_chatButton__d9VgA{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_chatButton__d9VgA svg{height:18px!important;width:18px!important}.Chat-module_chatButtonText__RkGB-{display:none!important}.Chat-module_useTemplateButton__xcJNR{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_useTemplateButton__xcJNR svg{height:18px!important;width:18px!important}.Chat-module_useTemplateButton__xcJNR .Chat-module_chatButtonText__RkGB-{display:none!important}}@media (max-width:600px){.Chat-module_actions__gTZ5T{gap:7px;margin:14px 18px 0}}.Chat-module_chatMainFlow__--8FE .Chat-module_chatChildren__flOPK{grid-area:💬;height:100%;min-height:0;min-width:0;pointer-events:none;width:100%;z-index:300}.Chat-module_chatMainFlow__--8FE .Chat-module_chatChildren__flOPK>*{pointer-events:auto}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N{grid-area:💬;height:100%;min-height:0;min-width:0;overflow-x:hidden;overflow-y:auto;padding:28px 24px 18px;scroll-behavior:smooth;width:100%;z-index:10}.Chat-module_articleModeChatMessages__ufofT{padding-left:var(--chat-article-layout-padding-inline);padding-right:var(--chat-article-layout-padding-inline)}.Chat-module_articleModeChatMessages__ufofT .Chat-module_chatMessage__nmLaZ{margin-left:auto;margin-right:auto;max-width:100%;width:min(var(--chat-article-layout-max-width),100%)}.Chat-module_articleModeChatMessages__ufofT .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7{justify-content:flex-start}.Chat-module_articleModeChatMessages__ufofT .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7 .Chat-module_messageStack__n0xNL{margin:0;max-width:100%;width:100%}.Chat-module_hasActionsAndFirstMessageIsLong__5jgoZ{padding-top:80px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N::-webkit-scrollbar{width:7px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N::-webkit-scrollbar-track{background:transparent}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N::-webkit-scrollbar-thumb{background:rgba(148,163,184,.35);border-radius:999px;transition:all .2s ease}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N::-webkit-scrollbar-thumb:hover{background:rgba(100,116,139,.55)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ{align-items:flex-end;animation:Chat-module_messageSlideIn__soTy2 .4s cubic-bezier(.25,.46,.45,.94);column-gap:var(--chat-message-avatar-gap);display:flex;flex-direction:row;margin-bottom:24px;max-width:100%;min-width:0;position:relative}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageStack__n0xNL{align-items:flex-start;display:flex;flex-direction:column;max-width:var(--chat-message-max-width);min-width:0}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV .Chat-module_messageStack__n0xNL{align-items:flex-end}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageStack__n0xNL>*{max-width:100%}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7{align-items:stretch;column-gap:0;justify-content:center;margin-bottom:28px;width:100%}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7 .Chat-module_messageStack__n0xNL{align-items:stretch;margin:0 auto;max-width:min(100%,860px);width:min(100%,860px)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm.Chat-module_articleModeAgentAvatar__UCKDX{display:none}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_messageWithMap__X5dr0{align-items:stretch}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_messageWithMap__X5dr0 .Chat-module_messageStack__n0xNL{align-items:stretch;max-width:min(90vw,920px,calc(100% - var(--chat-message-avatar-size) - var(--chat-message-avatar-gap)));width:min(90vw,920px,calc(100% - var(--chat-message-avatar-size) - var(--chat-message-avatar-gap)))}@media (max-width:900px){.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_messageWithMap__X5dr0 .Chat-module_messageStack__n0xNL{max-width:min(92vw,640px);width:min(92vw,640px)}}.Chat-module_messageMeta__eqCRu{align-items:center;color:var(--chat-message-meta-color);display:flex;flex-wrap:wrap;font-size:11.5px;gap:8px;line-height:1.4;margin:6px 8px 0}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV .Chat-module_messageMeta__eqCRu{align-self:flex-end;text-align:right}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7 .Chat-module_messageMeta__eqCRu{margin-left:0;margin-right:0}.Chat-module_messageLifecycleBadge__4jDDc{align-items:center;background:var(--chat-message-lifecycle-badge-background);border-radius:999px;color:var(--chat-message-lifecycle-badge-color);display:inline-flex;font-weight:600;letter-spacing:.02em;padding:2px 8px;text-transform:uppercase}.Chat-module_messageTimestamp__LDhRw{letter-spacing:.02em}.Chat-module_messageDuration__Y9Kg9{opacity:.85}.Chat-module_messageReplyButton__S5hXM{align-items:center;background:transparent;border:none;color:inherit;cursor:pointer;display:inline-flex;font:inherit;gap:5px;opacity:.88;padding:0;transition:opacity .18s ease,color .18s ease,transform .18s ease}.Chat-module_messageReplyButton__S5hXM:focus,.Chat-module_messageReplyButton__S5hXM:hover{color:#0f172a;opacity:1;transform:translateY(-.5px)}.Chat-module_messageReplyButtonIcon__2Nk3i{height:13px;width:13px}.Chat-module_messageLifecycleError__m-FO-{color:#b91c1c;font-size:12px;line-height:1.45;margin:4px 6px 0}.Chat-module_participantLabel__0Oo-3{color:var(--chat-participant-label-color);font-size:11.5px;font-weight:600;letter-spacing:.07em;margin:0 0 7px;text-transform:uppercase}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV .Chat-module_participantLabel__0Oo-3{text-align:right}@keyframes Chat-module_messageSlideIn__soTy2{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.Chat-module_isNotCompleteMessage__Hj2K7{opacity:.7;position:relative}.Chat-module_NonCompleteMessageFiller__G5-Ve{color:transparent}.Chat-module_isNotCompleteMessage__Hj2K7 .Chat-module_messageText__XgNyQ:after{animation:Chat-module_loadingPulse__VomRm 1.5s ease-in-out infinite;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.6),transparent);border-radius:2px;bottom:8px;content:\"\";height:4px;position:absolute;right:12px;width:20px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7.Chat-module_isNotCompleteMessage__Hj2K7 .Chat-module_messageText__XgNyQ:after{display:none}.Chat-module_citationFootnotes__LAWdh,.Chat-module_sourceCitations__oDtBX,.Chat-module_toolCallChips__UWgC1{border-top:1px solid hsla(0,0%,49%,.28);border-top:1px solid color-mix(in srgb,var(--message-text-color,#0f172a) 14%,transparent);display:flex;flex-direction:row;flex-wrap:wrap;gap:8px;margin-top:10px;padding-top:10px}.Chat-module_citationFootnotes__LAWdh{align-items:flex-start;flex-direction:column}.Chat-module_citationFootnoteItem__JXTAX{align-items:center;display:inline-flex;gap:8px;min-height:32px}.Chat-module_citationFootnoteNumber__CMmm9{color:color-mix(in srgb,var(--message-text-color,#0f172a) 78%,transparent);font-size:.84rem;font-weight:700;line-height:1;min-width:1.25rem}.Chat-module_toolCallChip__koN18{align-items:center;backdrop-filter:blur(8px);background:hsla(0,0%,100%,.26);background:color-mix(in srgb,var(--message-bg-color,#fff) 74%,hsla(0,0%,100%,.78) 26%);border:1px solid hsla(0,0%,49%,.3);border:1px solid color-mix(in srgb,var(--message-text-color,#0f172a) 20%,transparent);border-radius:999px;box-shadow:0 2px 8px rgba(15,23,42,.12);color:inherit;cursor:pointer;display:flex;font-family:OpenMojiColor,OpenMojiBlack,Arial,Helvetica,sans-serif;font-size:.8rem;font-weight:600;gap:8px;padding:5px 11px;transition:all .2s ease}.Chat-module_toolCallChip__koN18:hover{background:hsla(0,0%,100%,.34);background:color-mix(in srgb,var(--message-bg-color,#fff) 64%,hsla(0,0%,100%,.86) 36%);box-shadow:0 4px 12px rgba(15,23,42,.14);transform:translateY(-1px)}.Chat-module_toolCallChipOngoing__wKcDY{background:rgba(14,165,233,.1);border-color:rgba(59,130,246,.8)}.Chat-module_toolCallChipStatus__I-nl9{align-items:center;display:inline-flex;margin-left:auto}.Chat-module_teamToolCall__5F45R,.Chat-module_transitiveToolCall__WcaaK{gap:8px;justify-content:flex-start}.Chat-module_teamAgentChip__mvgtY,.Chat-module_transitiveAgentChip__zNOJf{flex-shrink:0}.Chat-module_toolCallLabel__q7EFf{flex:1;font-size:.9em;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Chat-module_toolCallWithError__AtQqO{background:rgba(249,115,22,.12);border-color:rgba(249,115,22,.8)}.Chat-module_toolCallOrigin__-Io6Y{font-size:.85em;font-weight:500;opacity:.75;white-space:nowrap}.Chat-module_toolCallDetails__WUFlD{margin-bottom:24px}.Chat-module_toolCallDetails__WUFlD p{margin-bottom:8px}.Chat-module_toolCallData__UauCO{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;font-size:13px;max-height:300px;overflow-x:auto;padding:12px;word-break:break-all}.Chat-module_toolCallChipSpinner__ZGTwl{animation:Chat-module_toolCallSpinner__LSiK6 .8s linear infinite;border:2px solid hsla(0,0%,100%,.3);border-radius:50%;border-top-color:#fff;height:14px;width:14px}@keyframes Chat-module_toolCallSpinner__LSiK6{to{transform:rotate(1turn)}}@keyframes Chat-module_loadingPulse__VomRm{0%,to{opacity:.3;transform:scaleX(.8)}50%{opacity:1;transform:scaleX(1.2)}}.Chat-module_typingIndicator__S-CT-{align-items:flex-end;animation:Chat-module_messageSlideIn__soTy2 .4s cubic-bezier(.25,.46,.45,.94);display:flex;margin-bottom:20px}.Chat-module_typingIndicator__S-CT- .Chat-module_avatar__gL6bm{flex-shrink:0;height:40px;margin:0 12px 4px;width:40px}.Chat-module_typingBubble__0Lb7B{backdrop-filter:blur(10px);border:1px solid hsla(0,0%,49%,.1);border-radius:20px;border-bottom-left-radius:6px;box-shadow:0 2px 8px rgba(0,0,0,.1);min-height:24px;padding:16px 20px}.Chat-module_typingBubble__0Lb7B,.Chat-module_typingDots__srOBB{align-items:center;display:flex;gap:4px}.Chat-module_typingDot__dnhKT{animation:Chat-module_typingBounce__1yp2v 1.4s ease-in-out infinite;background:linear-gradient(135deg,#6b7280,hsla(0,0%,49%,.6));border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.1);height:8px;width:8px}.Chat-module_typingDot__dnhKT:first-child{animation-delay:-.32s}.Chat-module_typingDot__dnhKT:nth-child(2){animation-delay:-.16s}.Chat-module_typingDot__dnhKT:nth-child(3){animation-delay:0s}@keyframes Chat-module_typingBounce__1yp2v{0%,80%,to{opacity:.5;transform:scale(.8) translateY(0)}40%{opacity:1;transform:scale(1.2) translateY(-8px)}}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV{align-items:flex-end;flex-direction:row-reverse;justify-content:flex-start}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV .Chat-module_messageText__XgNyQ{border-bottom-right-radius:10px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ:not(.Chat-module_isMe__nBtaV) .Chat-module_messageText__XgNyQ{border-bottom-left-radius:10px}.Chat-module_ratingStar__rRfqC{color:var(--chat-feedback-star-color,var(--star-inactive-color,#ccc));cursor:pointer;font-size:20px;transition:color .2s}.Chat-module_feedbackStar__tC7XH{align-items:center;color:var(--chat-feedback-star-color,#ccc);display:inline-flex;justify-content:center;line-height:1}.Chat-module_feedbackStarIcon__BuPen{color:var(--chat-feedback-star-color,currentColor)!important;display:block}.Chat-module_feedbackStarIcon__BuPen,.Chat-module_feedbackStarIcon__BuPen *{fill:var(--chat-feedback-star-fill,none)!important;stroke:var(--chat-feedback-star-color,currentColor)!important}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm{aspect-ratio:1/1;flex-shrink:0;height:var(--chat-message-avatar-size);margin:0 0 4px;position:relative;width:var(--chat-message-avatar-size)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{--chat-md-heading-font-family:var(\n --font-barlow-condensed,\"Barlow Condensed\",var(--font-poppins,\"Poppins\",system-ui,-apple-system,\"Segoe UI\",sans-serif)\n );--chat-md-body-font-family:inherit;--chat-md-text-color:var(--message-text-color,#0f172a);--chat-md-link-color:#2563eb;--chat-md-muted-color:var(--message-text-color,#0f172a);--chat-md-inline-code-bg:rgba(15,23,42,.16);--chat-md-inline-code-border:rgba(15,23,42,.2);--chat-md-inline-code-color:var(--message-text-color,#0f172a);--chat-md-blockquote-bg:hsla(0,0%,100%,.2);--chat-md-blockquote-border:rgba(56,189,248,.52);--chat-md-table-bg:hsla(0,0%,100%,.22);--chat-md-table-row-alt-bg:hsla(0,0%,100%,.12);--chat-md-table-head-bg:hsla(0,0%,100%,.3);--chat-md-table-border:hsla(0,0%,100%,.36);--chat-md-citation-bg:hsla(0,0%,100%,.25);--chat-md-citation-color:var(--message-text-color,#0f172a);backdrop-filter:blur(14px);background-color:var(--message-bg-color);border:1px solid var(--chat-bubble-border-color);border-radius:var(--chat-bubble-radius);box-shadow:var(--chat-bubble-shadow),inset 0 1px 0 hsla(0,0%,100%,.16);color:var(--message-text-color);font-family:inherit;font-size:var(--chat-bubble-font-size);hyphens:auto;letter-spacing:.0025em;line-height:var(--chat-bubble-line-height);margin-bottom:6px;max-width:100%;min-width:min(var(--chat-message-min-width),100%);overflow-wrap:anywhere;padding:16px 20px;position:relative;text-align:left;transform:translateX(var(--chat-message-swipe-offset,0));transition:box-shadow .2s ease,transform .2s ease,border-color .2s ease}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ.Chat-module_articleModeAgentMessageText__vBlIP{--chat-md-link-color:#1d4ed8;--chat-md-inline-code-bg:rgba(15,23,42,.08);--chat-md-inline-code-border:rgba(15,23,42,.16);--chat-md-blockquote-bg:rgba(148,163,184,.12);--chat-md-table-bg:rgba(248,250,252,.9);--chat-md-table-row-alt-bg:rgba(226,232,240,.45);--chat-md-table-head-bg:rgba(241,245,249,.92);--chat-md-table-border:rgba(148,163,184,.45);--chat-md-citation-bg:rgba(191,219,254,.24);backdrop-filter:none;background:transparent!important;border:0;border-radius:0;box-shadow:none;font-size:15.5px;line-height:1.75;margin-bottom:8px;min-width:0;padding:2px 0}.Chat-module_replyEnabledMessageText__-SV9f{touch-action:pan-y}.Chat-module_replySwipeActive__dhAqt{box-shadow:var(--chat-bubble-shadow-hover),0 0 0 1px rgba(56,189,248,.22),inset 0 1px 0 hsla(0,0%,100%,.16)}.Chat-module_replySwipeIndicator__u92JU{color:rgba(15,23,42,.45);left:-24px;opacity:.22;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:opacity .18s ease,transform .18s ease}.Chat-module_replySwipeIndicatorRight__3CoAW{left:auto;right:-24px}.Chat-module_replySwipeIndicatorActive__m9gwU{opacity:.9;transform:translateY(-50%) scale(1.05)}.Chat-module_replySwipeIndicatorIcon__0K1SX{height:16px;width:16px}.Chat-module_replyPreview__Lt-Bg{align-items:flex-start;background:hsla(0,0%,100%,.16);border:1px solid hsla(0,0%,100%,.26);border-radius:14px;box-shadow:inset 0 1px 0 hsla(0,0%,100%,.1);display:flex;gap:10px;margin-bottom:12px;min-width:0;padding:10px 12px}.Chat-module_replyBubblePreview__DNe3r{opacity:.9}.Chat-module_replyComposerPreview__80Wdf{background:var(--chat-reply-composer-background);border-color:var(--chat-reply-composer-border-color);box-shadow:var(--chat-reply-composer-shadow);margin-bottom:2px}.Chat-module_replyPreviewAccent__Uo3pe{align-self:stretch;background:#0ea5e9;background:color-mix(in srgb,var(--brand-color,#0ea5e9) 84%,#fff 16%);border-radius:999px;flex-shrink:0;width:4px}.Chat-module_replyPreviewBody__reKG-{display:flex;flex:1;flex-direction:column;gap:2px;min-width:0}.Chat-module_replyPreviewHeading__IeegE{font-size:11px;line-height:1.3;opacity:.82}.Chat-module_replyPreviewLabel__J-BrF{font-weight:600}.Chat-module_replyPreviewSender__z6SYu{font-weight:700}.Chat-module_replyPreviewText__cY-Hc{font-size:12.5px;line-height:1.35;min-width:0;opacity:.9;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Chat-module_replyPreviewDismissButton__-L9MF{align-items:center;background:var(--chat-reply-dismiss-background);border:none;border-radius:999px;color:var(--chat-reply-dismiss-color);cursor:pointer;display:inline-flex;flex-shrink:0;height:28px;justify-content:center;transition:background .18s ease,color .18s ease,transform .18s ease;width:28px}.Chat-module_replyPreviewDismissButton__-L9MF:focus,.Chat-module_replyPreviewDismissButton__-L9MF:hover{background:var(--chat-reply-dismiss-hover-background);color:var(--chat-reply-dismiss-hover-color);transform:scale(1.02)}@supports (color:color-mix(in srgb,#000 50%,#fff 50%)){.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{--chat-bubble-border-color:color-mix(in srgb,var(--message-bg-color,#fff) 72%,hsla(0,0%,100%,.46) 28%);--chat-md-link-color:color-mix(in srgb,var(--message-text-color,#0f172a) 72%,#7dd3fc 28%);--chat-md-muted-color:color-mix(in srgb,var(--message-text-color,#0f172a) 84%,transparent);--chat-md-inline-code-bg:color-mix(in srgb,var(--message-bg-color,#fff) 65%,rgba(15,23,42,.2) 35%);--chat-md-inline-code-border:color-mix(in srgb,var(--message-text-color,#0f172a) 20%,transparent);--chat-md-blockquote-bg:color-mix(in srgb,var(--message-bg-color,#fff) 78%,hsla(0,0%,100%,.86) 22%);--chat-md-blockquote-border:color-mix(in srgb,var(--message-text-color,#0f172a) 34%,#7dd3fc 66%);--chat-md-table-bg:color-mix(in srgb,var(--message-bg-color,#fff) 78%,hsla(0,0%,100%,.9) 22%);--chat-md-table-row-alt-bg:color-mix(in srgb,var(--message-bg-color,#fff) 70%,hsla(0,0%,100%,.82) 30%);--chat-md-table-head-bg:color-mix(in srgb,var(--message-bg-color,#fff) 64%,hsla(0,0%,100%,.94) 36%);--chat-md-table-border:color-mix(in srgb,var(--message-text-color,#0f172a) 18%,transparent);--chat-md-citation-bg:color-mix(in srgb,var(--message-bg-color,#fff) 55%,hsla(0,0%,100%,.94) 45%);background:linear-gradient(158deg,color-mix(in srgb,var(--message-bg-color,#fff) 86%,hsla(0,0%,100%,.3) 14%),color-mix(in srgb,var(--message-bg-color,#fff) 95%,rgba(2,6,23,.08) 5%))}}.Chat-module_copyButtonContainer__Rij0U{opacity:0;pointer-events:none;position:absolute;right:12px;top:10px;transform:translateY(-2px);transition:opacity .18s ease,transform .18s ease;z-index:3}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ:hover .Chat-module_copyButtonContainer__Rij0U,.Chat-module_copyButtonContainer__Rij0U:focus-within{opacity:1;pointer-events:auto;transform:translateY(0)}.Chat-module_articleModeMessageActions__h2qaG{align-items:center;border-top:1px solid color-mix(in srgb,var(--message-text-color,#0f172a) 14%,transparent);display:flex;flex-wrap:wrap;gap:10px 12px;justify-content:flex-start;margin-top:14px;padding-top:12px}.Chat-module_articleModeMessageControls__hncCw{opacity:1;pointer-events:auto;position:static;right:auto;top:auto;transform:none;z-index:auto}.Chat-module_messageControlGroup__gAo4k{align-items:center;display:flex;gap:7px;pointer-events:auto}.Chat-module_articleModeMessageActions__h2qaG .Chat-module_copyButton__DcxT5,.Chat-module_articleModeMessageActions__h2qaG .Chat-module_playButton__ZigYL{background:var(--chat-article-control-background);border-color:var(--chat-article-control-border-color);box-shadow:none;color:var(--chat-message-control-color)}.Chat-module_articleModeMessageActions__h2qaG .Chat-module_copyButton__DcxT5:focus,.Chat-module_articleModeMessageActions__h2qaG .Chat-module_copyButton__DcxT5:hover,.Chat-module_articleModeMessageActions__h2qaG .Chat-module_playButton__ZigYL:hover:not(:disabled){background:var(--chat-article-control-hover-background);border-color:var(--chat-article-control-hover-border-color);box-shadow:var(--chat-article-control-hover-shadow)}.Chat-module_copyButton__DcxT5{backdrop-filter:blur(8px);border:1px solid var(--chat-message-control-border-color);box-shadow:var(--chat-message-control-shadow);display:flex;opacity:1;padding:4px 7px;transition:all .15s,box-shadow .15s,border .15s}.Chat-module_copyButton__DcxT5,.Chat-module_playButton__ZigYL{align-items:center;background:var(--chat-message-control-background);border-radius:10px;color:var(--chat-message-control-color);cursor:pointer;position:relative}.Chat-module_playButton__ZigYL{border:1px solid var(--chat-message-control-border-color);display:inline-flex;height:34px;justify-content:center;padding:0;transition:all .15s ease;width:34px}.Chat-module_playButtonIcon__wPErq{height:16px;width:16px}.Chat-module_playButtonSpinner__Ad33i{animation:Chat-module_messagePlaySpinner__ldlvy .9s linear infinite;border:2px solid var(--chat-message-control-spinner-border-color);border-radius:50%;border-top-color:var(--chat-message-control-spinner-accent-color);height:16px;width:16px}.Chat-module_playButton__ZigYL:hover:not(:disabled){background:var(--chat-message-control-hover-background);border-color:var(--chat-message-control-hover-border-color);box-shadow:var(--chat-message-control-hover-shadow)}.Chat-module_playButton__ZigYL:disabled{cursor:not-allowed;opacity:.6}@keyframes Chat-module_messagePlaySpinner__ldlvy{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.Chat-module_copiedTooltip__LH81j{animation:Chat-module_copiedTooltipFadeIn__QekO1 .2s;background:#222;border-radius:8px;box-shadow:0 2px 12px rgba(0,0,0,.18);color:#fff;font-size:.98em;left:50%;margin-top:4px;max-width:220px;opacity:.97;overflow-wrap:break-word;padding:6px 16px;pointer-events:none;position:absolute;top:110%;transform:translateX(-50%);white-space:nowrap;word-break:break-word;z-index:100}.Chat-module_copiedTooltipLeft__j-S-5{left:0!important;transform:none!important}.Chat-module_copiedTooltipRight__R-2cE{left:auto!important;right:0!important;transform:none!important}@keyframes Chat-module_copiedTooltipFadeIn__QekO1{0%{opacity:0;transform:translateX(-50%) translateY(8px) scale(.97)}to{opacity:.97;transform:translateX(-50%) translateY(0) scale(1)}}.Chat-module_copyButton__DcxT5:focus,.Chat-module_copyButton__DcxT5:hover{background:var(--chat-message-control-hover-background);border:1px solid var(--chat-message-control-hover-border-color);box-shadow:var(--chat-message-control-hover-shadow);opacity:1}.Chat-module_copyButton__DcxT5 svg{display:block}.Chat-module_Chat__j2eE5[data-chat-theme=dark] .Chat-module_copyButton__DcxT5 svg rect{fill:#cbd5e1;stroke:#94a3b8}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ:hover{box-shadow:var(--chat-bubble-shadow-hover),inset 0 1px 0 hsla(0,0%,100%,.16);transform:translateX(var(--chat-message-swipe-offset,0)) translateY(-1.5px)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ.Chat-module_articleModeAgentMessageText__vBlIP:hover{box-shadow:none;transform:none}.Chat-module_attachments__m1Fts{border-top:1px solid hsla(0,0%,49%,.28);border-top-color:color-mix(in srgb,var(--message-text-color,#0f172a) 12%,transparent);display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:12px}.Chat-module_attachment__aE9hK{align-items:center;background:hsla(0,0%,100%,.26);background:color-mix(in srgb,var(--message-bg-color,#fff) 74%,hsla(0,0%,100%,.8) 26%);border:1px solid hsla(0,0%,49%,.3);border-color:color-mix(in srgb,var(--message-text-color,#0f172a) 16%,transparent);border-radius:999px;color:inherit;cursor:pointer;display:flex;font-family:inherit;font-size:12.5px;gap:6px;line-height:inherit;max-width:200px;padding:7px 12px;text-decoration:none;transition:all .2s ease}.Chat-module_attachmentWithRemove__n2-O6{gap:0;overflow:hidden;padding:0}.Chat-module_attachmentMainAction__Onkl3{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:flex;font:inherit;gap:6px;line-height:inherit;min-width:0;padding:7px 8px 7px 12px;text-decoration:none}.Chat-module_attachmentRemoveButton__dC5ne{align-items:center;background:hsla(0,0%,100%,.24);border:0;border-radius:999px;color:inherit;cursor:pointer;display:inline-flex;flex:0 0 auto;height:22px;justify-content:center;margin-right:5px;opacity:.85;transition:background .2s ease,opacity .2s ease,transform .2s ease;width:22px}.Chat-module_attachmentRemoveButton__dC5ne:hover{background:rgba(239,68,68,.18);opacity:1;transform:scale(1.04)}.Chat-module_attachmentRemoveButton__dC5ne svg{height:12px;width:12px}.Chat-module_attachmentWithRemove__n2-O6 .Chat-module_attachmentName__aMx56{min-width:0}.Chat-module_attachment__aE9hK:hover{background:hsla(0,0%,100%,.34);background:color-mix(in srgb,var(--message-bg-color,#fff) 62%,hsla(0,0%,100%,.9) 38%);border-color:color-mix(in srgb,var(--message-text-color,#0f172a) 24%,transparent);transform:translateY(-1px)}.Chat-module_attachmentIcon__BX3Cy{font-size:14px;opacity:.8}.Chat-module_attachmentName__aMx56{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Chat-module_messageButtons__WaOob{border-top:1px solid hsla(0,0%,49%,.36);border-top-color:color-mix(in srgb,var(--message-text-color,#0f172a) 14%,transparent);display:flex;flex-wrap:wrap;gap:9px;margin-top:12px;padding-top:12px}.Chat-module_messageButton__mRnn-{-webkit-tap-highlight-color:transparent;align-items:center;backdrop-filter:blur(8px);background:hsla(0,0%,100%,.2);background:color-mix(in srgb,var(--message-bg-color,#fff) 78%,hsla(0,0%,100%,.8) 22%);border:1px solid hsla(0,0%,49%,.9);border-color:color-mix(in srgb,var(--message-text-color,#0f172a) 18%,transparent);border-radius:999px;cursor:pointer;display:inline-flex;font-size:12.5px;font-weight:600;letter-spacing:.01em;padding:8px 15px;touch-action:manipulation;transition:all .2s ease;user-select:none}.Chat-module_messageButton__mRnn-:disabled{box-shadow:none;cursor:progress;opacity:.72;transform:none}.Chat-module_messageButton__mRnn-:hover{background:hsla(0,0%,100%,.3);background:color-mix(in srgb,var(--message-bg-color,#fff) 66%,hsla(0,0%,100%,.9) 34%);border-color:color-mix(in srgb,var(--message-text-color,#0f172a) 26%,#7dd3fc 74%);box-shadow:0 5px 14px rgba(15,23,42,.14);transform:translateY(-1px)}.Chat-module_messageButton__mRnn-:hover:disabled{background:color-mix(in srgb,var(--message-bg-color,#fff) 78%,hsla(0,0%,100%,.8) 22%);border-color:color-mix(in srgb,var(--message-text-color,#0f172a) 18%,transparent)}.Chat-module_messageButton__mRnn-:active{transform:scale(.98);transition:transform .1s ease}.Chat-module_actionMessageButton__avcbv{background:rgba(55,65,81,.92);border-color:rgba(31,41,55,.95);color:#fff}.Chat-module_actionMessageButton__avcbv:hover{background:rgba(31,41,55,.98);border-color:rgba(17,24,39,.98);box-shadow:0 4px 14px rgba(15,23,42,.32)}.Chat-module_actionMessageButton__avcbv:hover:disabled{background:rgba(55,65,81,.92);border-color:rgba(31,41,55,.95)}.Chat-module_messageButton__mRnn- p{line-height:inherit;margin:0;padding:0}.Chat-module_messageButton__mRnn- strong{font-weight:600}.Chat-module_messageButton__mRnn- em{font-style:italic}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M{align-items:center;backdrop-filter:blur(10px);background:rgba(0,0,0,.8);border-radius:12px;bottom:-8px;display:flex;gap:2px;min-width:24px;opacity:0;padding:4px 6px;position:absolute;right:8px;transform:translateY(4px);transition:all .3s cubic-bezier(.25,.46,.45,.94);z-index:1}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M.Chat-module_articleModeRating__dwZqm{backdrop-filter:none;background:var(--chat-article-rating-background);border:1px solid var(--chat-article-rating-border-color);border-radius:999px;bottom:auto;min-width:0;opacity:1;padding:4px 8px;position:static;right:auto;transform:none;z-index:auto}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ:hover .Chat-module_rating__soc3M{opacity:1;transform:translateY(0)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M.Chat-module_articleModeRating__dwZqm:hover{background:var(--chat-article-rating-hover-background);border-color:var(--chat-article-rating-hover-border-color);box-shadow:var(--chat-article-rating-shadow);padding:4px 8px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M:hover{background:rgba(0,0,0,.9);box-shadow:0 4px 12px rgba(0,0,0,.3);padding:6px 8px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M span{cursor:pointer;display:inline-block;font-size:16px;transition:transform .2s ease,color .2s ease}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_rating__soc3M:hover span{transform:scale(1.1)}.Chat-module_feedbackIssueButton__9NrrF{align-items:center;background:transparent;border:0;color:inherit;cursor:pointer;display:inline-flex;font-family:OpenMojiBlack,Noto Emoji,Apple Color Emoji,Segoe UI Emoji,sans-serif;font-size:16px;justify-content:center;line-height:1;padding:0}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan{backdrop-filter:blur(20px);background:var(--chat-input-backdrop);border-top:1px solid var(--chat-input-border-color);box-sizing:border-box;display:flex;flex-direction:column;gap:12px;grid-area:📝;max-width:100%;min-width:0;padding:20px 24px calc(20px + env(safe-area-inset-bottom));position:relative;width:100%;z-index:10}.Chat-module_articleModeChatInput__zBTV4{padding-left:var(--chat-article-layout-padding-inline);padding-right:var(--chat-article-layout-padding-inline)}.Chat-module_articleModeChatInput__zBTV4>:not(.Chat-module_speechStatusBubble__qBBWI):not(.Chat-module_dragOverlay__SEGoS){margin-left:auto;margin-right:auto;max-width:100%;width:min(var(--chat-article-layout-max-width),100%)}.Chat-module_Chat__j2eE5.Chat-module_fullPageVisual__zNAEy .Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan{background:var(--chat-full-page-input-backdrop)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan.Chat-module_dragOver__bkS-g{background:var(--chat-input-drag-over-backdrop)}.Chat-module_filePreviewContainer__R70hm{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.Chat-module_filePreviewContainer__R70hm.Chat-module_attachments__m1Fts{--message-bg-color:var(--input-bg-color);--message-text-color:var(--input-text-color);border-top:0;color:var(--input-text-color);margin-top:0;padding-top:0}.Chat-module_filePreview__kq2aX{align-items:center;backdrop-filter:blur(10px);background:var(--chat-file-preview-background);border:1px solid var(--chat-file-preview-border-color);border-radius:8px;display:flex;font-size:12px;gap:8px;padding:8px 12px;transition:all .2s ease}.Chat-module_filePreview__kq2aX:hover{background:var(--chat-file-preview-hover-background);border-color:var(--chat-file-preview-hover-border-color)}.Chat-module_fileIcon__zoSKW{font-size:14px;opacity:.7}.Chat-module_fileInfo__wBLi0{display:flex;flex-direction:column;gap:2px;min-width:0}.Chat-module_fileName__bBujo{color:var(--chat-file-name-color);font-weight:500;max-width:150px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Chat-module_fileSize__ivliq{color:var(--chat-file-size-color);font-size:11px}.Chat-module_removeFileButton__0gakR{align-items:center;background:rgba(255,0,0,.1);border:none;border-radius:50%;color:#f44;cursor:pointer;display:flex;flex-shrink:0;height:20px;justify-content:center;transition:all .2s ease;width:20px}.Chat-module_removeFileButton__0gakR:hover{background:rgba(255,0,0,.2);transform:scale(1.1)}.Chat-module_inputContainer__bPt99{align-items:center;background:var(--chat-input-container-background);border:1px solid var(--chat-input-container-border-color);border-radius:26px;box-shadow:var(--chat-input-container-shadow);display:flex;gap:10px;min-width:0;padding:9px 12px;transition:all .3s cubic-bezier(.25,.46,.45,.94)}.Chat-module_inputContainer__bPt99:focus-within{border-color:var(--brand-color,#0ea5e9);border-color:color-mix(in srgb,var(--brand-color,#0ea5e9) 58%,rgba(15,23,42,.2) 42%);box-shadow:0 18px 42px rgba(15,23,42,.16),0 0 0 4px rgba(14,165,233,.16);box-shadow:0 18px 42px rgba(15,23,42,.16),0 0 0 4px color-mix(in srgb,var(--brand-color,#0ea5e9) 16%,transparent);transform:translateY(-1px)}.Chat-module_Chat__j2eE5[data-chat-theme=dark] .Chat-module_inputContainer__bPt99:focus-within{border-color:rgba(125,211,252,.6);box-shadow:0 20px 44px rgba(2,6,23,.48),0 0 0 4px rgba(14,165,233,.18)}.Chat-module_inputContainer__bPt99 textarea::placeholder{color:var(--chat-input-placeholder-color);opacity:1}.Chat-module_attachmentButton__qLO47{align-items:center;background:transparent;border:none;border-radius:50%;color:var(--chat-input-action-color);cursor:pointer;display:flex;flex-shrink:0;height:var(--chat-input-action-size);justify-content:center;margin:0;transition:all .2s ease;width:var(--chat-input-action-size)}.Chat-module_attachmentButton__qLO47:hover:not(:disabled){background:var(--chat-input-action-hover-background);color:var(--chat-input-action-hover-color)}.Chat-module_attachmentButton__qLO47:disabled{cursor:not-allowed;opacity:.3}.Chat-module_voiceButton__d2zlP{align-items:center;background:transparent;border:none;border-radius:50%;color:var(--chat-input-action-color);cursor:pointer;display:flex;flex-shrink:0;height:var(--chat-input-action-size);justify-content:center;margin:0;transition:all .2s ease;width:var(--chat-input-action-size)}.Chat-module_voiceButton__d2zlP:hover:not(:disabled){background:var(--chat-input-action-hover-background);color:var(--chat-input-action-hover-color)}.Chat-module_voiceButtonActive__Uoi3W{animation:Chat-module_voiceRecordingPulse__y2wJ5 1.5s infinite;background:rgba(239,68,68,.1)!important;color:#ef4444!important}.Chat-module_speechStatusBubble__qBBWI{align-items:center;animation:Chat-module_speechStatusBubbleIn__PBm-c .2s ease-out;appearance:none;background:var(--chat-speech-status-background);border-radius:999px;border-style:solid;border-width:1px;border:1px solid var(--chat-speech-status-border-color);bottom:86px;box-shadow:var(--chat-speech-status-shadow);color:var(--chat-speech-status-color);cursor:pointer;display:inline-flex;font-size:12px;font-weight:600;gap:8px;letter-spacing:.01em;max-width:min(320px,calc(100% - 48px));padding:8px 12px;position:absolute;right:24px;text-align:left;z-index:25}.Chat-module_speechStatusBubbleDot__APu53{animation:Chat-module_speechStatusBubbleDotPulse__Guqsu 1.2s ease-in-out infinite;background:var(--chat-speech-status-dot-background);border-radius:50%;flex-shrink:0;height:8px;width:8px}.Chat-module_speechStatusBubbleRecording__faJs2{background:hsla(0,86%,97%,.97);border-color:rgba(239,68,68,.35);color:#991b1b}.Chat-module_speechStatusBubbleRecording__faJs2 .Chat-module_speechStatusBubbleDot__APu53{background:#ef4444}.Chat-module_speechStatusBubbleProcessing__Crbuu{background:rgba(236,254,255,.97);border-color:rgba(14,116,144,.35);color:#155e75}.Chat-module_speechStatusBubbleProcessing__Crbuu .Chat-module_speechStatusBubbleDot__APu53{background:#0ea5e9}.Chat-module_speechStatusBubbleError__Nd-Aj{background:hsla(0,86%,97%,.98);border-color:rgba(220,38,38,.35);color:#991b1b}.Chat-module_speechStatusBubbleError__Nd-Aj .Chat-module_speechStatusBubbleDot__APu53{animation:none;background:#dc2626}.Chat-module_Chat__j2eE5[data-chat-theme=dark] .Chat-module_speechStatusBubbleRecording__faJs2{background:rgba(127,29,29,.72);border-color:hsla(0,91%,71%,.44);color:#fecaca}.Chat-module_Chat__j2eE5[data-chat-theme=dark] .Chat-module_speechStatusBubbleProcessing__Crbuu{background:rgba(8,47,73,.74);border-color:rgba(125,211,252,.44);color:#bae6fd}.Chat-module_Chat__j2eE5[data-chat-theme=dark] .Chat-module_speechStatusBubbleError__Nd-Aj{background:rgba(127,29,29,.82);border-color:hsla(0,91%,71%,.5);color:#fecaca}.Chat-module_dictationPanel__kzbyG{background:var(--chat-dictation-panel-background);border:1px solid var(--chat-dictation-panel-border-color);border-radius:14px;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.2);color:var(--chat-dictation-panel-color);display:flex;flex-direction:column;gap:10px;padding:10px 12px}.Chat-module_dictationPanelHeader__rHXTh{align-items:center;display:flex;gap:8px;justify-content:space-between}.Chat-module_dictationPanelTitle__sO9XH{color:var(--chat-dictation-title-color);font-size:12px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.Chat-module_dictationPanelToggle__z3HMx{background:var(--chat-dictation-toggle-background);border:1px solid var(--chat-dictation-panel-border-color);border-radius:10px;color:var(--chat-dictation-toggle-color);cursor:pointer;font-size:11px;font-weight:600;padding:4px 8px}.Chat-module_dictationInterimTranscript__eAbMI{background:var(--chat-dictation-transcript-background);border:1px dashed rgba(59,130,246,.45);border-radius:10px;color:var(--chat-dictation-transcript-color);cursor:pointer;font-size:13px;line-height:1.45;padding:8px 10px;text-align:left}.Chat-module_dictationErrorPanel__mjbM7{background:hsla(0,86%,97%,.95);border:1px solid rgba(220,38,38,.25);border-radius:10px;color:#991b1b;display:flex;flex-direction:column;font-size:12px;font-weight:600;gap:8px;padding:8px 10px}.Chat-module_dictationErrorActions__K3ykb{display:flex;flex-wrap:wrap;gap:8px}.Chat-module_dictationCorrectionActions__ssE7i button,.Chat-module_dictationErrorActions__K3ykb button{background:var(--chat-dictation-action-background);border:1px solid var(--chat-dictation-action-border-color);border-radius:10px;color:var(--chat-dictation-action-color);cursor:pointer;font-size:12px;font-weight:600;padding:6px 10px}.Chat-module_dictationCorrectionPanel__5nh9M{display:flex;flex-direction:column;gap:8px}.Chat-module_dictationCorrectionLabel__U4uzT{color:var(--chat-dictation-correction-label-color);font-size:11px;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.Chat-module_dictationCorrectionTextarea__5ovj9{background:var(--chat-dictation-correction-textarea-background);border:1px solid var(--chat-dictation-correction-textarea-border-color);border-radius:10px;color:var(--chat-dictation-correction-textarea-color);font-size:13px;line-height:1.5;min-height:68px;padding:8px 10px;resize:vertical;width:100%}.Chat-module_dictationCorrectionActions__ssE7i{display:flex;flex-wrap:wrap;gap:8px}.Chat-module_dictationSettingsPanel__0gI-V{display:grid;gap:8px 12px;grid-template-columns:repeat(2,minmax(0,1fr))}.Chat-module_dictationSettingsPanel__0gI-V label{align-items:center;color:var(--chat-dictation-settings-color);display:inline-flex;font-size:12px;gap:6px}.Chat-module_dictationFallbackNote__919pE{color:var(--chat-dictation-fallback-color);font-size:11px;line-height:1.45;margin:0}@keyframes Chat-module_speechStatusBubbleIn__PBm-c{0%{opacity:0;transform:translateY(6px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes Chat-module_speechStatusBubbleDotPulse__Guqsu{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(.82)}}@keyframes Chat-module_voiceRecordingPulse__y2wJ5{0%{box-shadow:0 0 0 0 rgba(255,0,0,.4)}70%{box-shadow:0 0 0 10px rgba(255,0,0,0)}to{box-shadow:0 0 0 0 rgba(255,0,0,0)}}.Chat-module_uploadProgress__jBTKe{align-items:center;background:rgba(0,132,255,.1);border:1px solid rgba(0,132,255,.2);border-radius:8px;color:#0084ff;display:flex;font-size:13px;gap:12px;padding:8px 12px}.Chat-module_uploadProgressBar__Gutnt{background:rgba(0,132,255,.2);border-radius:2px;flex:1;height:4px;overflow:hidden}.Chat-module_uploadProgressFill__EgubT{animation:Chat-module_uploadProgress__jBTKe 1.5s ease-in-out infinite;background:linear-gradient(90deg,#0084ff,rgba(0,132,255,.8));border-radius:2px;height:100%}@keyframes Chat-module_uploadProgress__jBTKe{0%{transform:translateX(-100%)}50%{transform:translateX(0)}to{transform:translateX(100%)}}.Chat-module_dragOverlay__SEGoS{align-items:center;backdrop-filter:blur(10px);background:rgba(0,132,255,.1);border:2px dashed rgba(0,132,255,.5);border-radius:12px;bottom:0;display:flex;justify-content:center;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:20}.Chat-module_dragOverlayContent__gb9kF{align-items:center;color:#0084ff;display:flex;flex-direction:column;font-weight:600;gap:12px;text-align:center}.Chat-module_dragOverlayContent__gb9kF svg{opacity:.7}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea{-webkit-tap-highlight-color:transparent;appearance:none;-webkit-appearance:none;background:transparent;border:none;box-sizing:border-box;color:var(--chat-input-text-color);flex:1;font-family:inherit;font-size:var(--chat-input-font-size);font-weight:500;height:var(--chat-input-textarea-height);letter-spacing:.002em;line-height:var(--chat-input-line-height);margin:0;max-height:var(--chat-input-textarea-height);min-height:var(--chat-input-textarea-height);min-width:0;outline:none;overflow-y:auto;padding:var(--chat-input-padding-y) var(--chat-input-padding-x);resize:none;touch-action:manipulation}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea:disabled{cursor:not-allowed;opacity:.6;transform:none}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea::placeholder{color:var(--chat-input-placeholder-color);opacity:.9}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button[data-button-type=call-to-action]{-webkit-tap-highlight-color:transparent;align-items:center;aspect-ratio:1/1;border:none;border-radius:50%!important;box-shadow:0 4px 12px rgba(0,132,255,.25);color:#fff;display:flex;height:var(--chat-input-action-size);justify-content:center;margin:0!important;min-height:unset!important;min-width:unset!important;overflow:visible;padding:0!important;touch-action:manipulation;transition:all .3s cubic-bezier(.25,.46,.45,.94);user-select:none;width:var(--chat-input-action-size)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button[data-button-type=call-to-action]:hover{box-shadow:0 6px 16px rgba(0,132,255,.35);transform:scale(1.05)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button[data-button-type=call-to-action]:active{transform:scale(.95)}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button[data-button-type=call-to-action] svg{height:20px;width:20px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button img{height:100%;object-fit:contain;width:50%}.Chat-module_scrollToBottomContainer__5rXpK{align-items:flex-start;display:flex;grid-area:📝;height:100%;justify-content:center;pointer-events:none;width:100%;z-index:20}.Chat-module_scrollToBottomContainer__5rXpK .Chat-module_scrollToBottomWrapper__PCIu1{align-items:center;animation:Chat-module_scrollButtonSlideIn__XnImg .3s ease-out;display:inline-flex;justify-content:center;pointer-events:all;position:relative;transform:translate(-50%,-150%);transition:transform .3s cubic-bezier(.25,.46,.45,.94)}.Chat-module_scrollToBottomContainer__5rXpK .Chat-module_scrollToBottom__nzxdZ{-webkit-tap-highlight-color:transparent;align-items:center;background:rgba(0,0,0,.5);border:none;border-radius:50%;box-shadow:0 4px 16px rgba(0,0,0,.3);color:#fff;cursor:pointer;display:flex;font-weight:700;height:48px;justify-content:center;outline:none;touch-action:manipulation;transition:all .3s cubic-bezier(.25,.46,.45,.94);user-select:none;width:48px}@keyframes Chat-module_scrollButtonSlideIn__XnImg{0%{opacity:0;transform:translate(-50%,20px) scale(.8)}to{opacity:.9;transform:translate(-50%) scale(1)}}.Chat-module_scrollToBottomBadge__N6T6-{align-items:center;background:#2563eb;border-radius:999px;box-shadow:0 2px 10px rgba(37,99,235,.4);color:#fff;display:inline-flex;font-size:10px;font-weight:600;justify-content:center;letter-spacing:.04em;min-width:32px;padding:2px 6px;pointer-events:none;position:absolute;right:-8px;text-transform:uppercase;top:-8px;white-space:nowrap}.Chat-module_ratingModal__XVKYm{align-items:center;animation:Chat-module_modalFadeIn__RPc3w .3s ease-out;background-color:rgba(15,23,42,.76);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}@keyframes Chat-module_modalFadeIn__RPc3w{0%{opacity:0}to{opacity:1}}.Chat-module_ratingModalContent__CCdq7{animation:Chat-module_modalSlideIn__XXtgN .3s cubic-bezier(.25,.46,.45,.94);backdrop-filter:blur(20px);background:#fff;border:1px solid hsla(0,0%,49%,.1);border-radius:16px;box-shadow:0 20px 60px rgba(0,0,0,.3);color:#0f1724;font-family:Arial,Helvetica,sans-serif,OpenMojiColor,OpenMojiBlack;max-width:480px;padding:32px;width:90%}@keyframes Chat-module_modalSlideIn__XXtgN{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.Chat-module_ratingModalContent__CCdq7 h3{color:#000;font-size:20px;font-weight:600;margin:0 0 24px;text-align:center}.Chat-module_stars__PCzNO{display:flex;gap:8px;justify-content:center;margin-bottom:24px}.Chat-module_stars__PCzNO span{border-radius:8px;cursor:pointer;font-size:28px;padding:4px;transition:all .2s ease}.Chat-module_stars__PCzNO span:hover{background:rgba(255,215,0,.1);transform:scale(1.2)}.Chat-module_ratingModalStar__XkbHr{cursor:pointer;font-size:24px;transition:color .2s}.Chat-module_ratingModal__XVKYm[data-chat-modal=citation-browser],.Chat-module_ratingModal__XVKYm[data-chat-modal=image-attachment]{box-sizing:border-box;padding:24px}.Chat-module_toolCallModal__uNaIK{max-height:calc(100vh - 48px);max-width:800px;overflow-x:hidden;overflow-y:auto;padding:0;position:relative}.Chat-module_citationBrowserModal__jYU4c{background:#f8fafc;display:flex;flex-direction:column;margin:0;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);max-width:800px;overflow:hidden;padding:0;width:min(90vw,800px)}.Chat-module_citationBrowserModalBody__lvTWb{display:flex;flex:1 1 auto;min-height:0}.Chat-module_imageAttachmentModal__Ef6L5{display:flex;flex-direction:column;max-height:calc(100vh - 48px);max-height:calc(100dvh - 48px);max-width:1040px;overflow:hidden;padding:0;position:relative;width:min(92vw,1040px)}.Chat-module_imageAttachmentModalHeader__onK3Z{background:#f8fafc;border-bottom:1px solid #e2e8f0;flex:0 0 auto;padding:20px 68px 14px 24px}.Chat-module_imageAttachmentModalTitle__AhuMt{color:#0f172a!important;font-size:16px!important;font-weight:600!important;line-height:1.35;margin:0!important;overflow-wrap:anywhere;text-align:left!important}.Chat-module_imageAttachmentModalPreview__gXDer{align-items:center;background:#0f172a;box-sizing:border-box;display:flex;flex:1 1 auto;justify-content:center;max-height:calc(100vh - 130px);max-height:calc(100dvh - 130px);min-height:0;overflow:hidden;padding:16px}.Chat-module_imageAttachmentModalImage__t61oG{display:block;max-height:calc(100vh - 162px);max-height:calc(100dvh - 162px);max-width:100%;object-fit:contain}.Chat-module_toolCallHeader__ZaTZF{align-items:center;background:linear-gradient(135deg,#eef2ff,#f5f3ff 40%,#fefcc9);border-bottom:1px solid rgba(15,23,42,.08);display:flex;gap:16px;padding:24px 32px 16px}.Chat-module_toolCallIcon__UgRKj{font-size:32px}.Chat-module_toolCallHeaderMeta__iAL-U{display:flex;flex-direction:column;gap:4px}.Chat-module_toolCallModalLabel__4dBP4{color:#475467;font-size:11px;letter-spacing:.35em;margin:0;text-transform:uppercase}.Chat-module_toolCallTitle__jhL0A{color:#0f172a;font-size:24px;font-weight:600;margin:0}.Chat-module_toolCallSubtitle__a2GIO{color:#475467;font-size:13px;margin:0}.Chat-module_toolCallGrid__Nfr7N{background:#fefefe;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));padding:24px 32px 16px}.Chat-module_toolCallPanel__kQZE9{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 18px 40px rgba(15,23,42,.08);padding:18px}.Chat-module_toolCallPanelTitle__-7OtJ{color:#94a3b8;font-size:12px;font-weight:600;letter-spacing:.25em;margin:0 0 12px;text-transform:uppercase}.Chat-module_toolCallList__5co3s{display:flex;flex-direction:column;gap:12px;list-style:none;margin:0;padding:0}.Chat-module_toolCallItem__k7W5Z{display:flex;flex-direction:column;gap:4px}.Chat-module_toolCallItemLabel__d3C1E{color:#94a3b8;font-size:11px;letter-spacing:.25em;text-transform:uppercase}.Chat-module_toolCallItemValue__cStQ0{color:#0f172a;font-size:14px;line-height:1.4;white-space:pre-wrap;word-break:break-word}.Chat-module_toolCallSummary__wGZwg{color:#0f172a;font-size:15px;line-height:1.6;margin:0}.Chat-module_toolCallSummaryMeta__RXiSv{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.Chat-module_toolCallSummaryMetaBadge__JBi-I{background:rgba(79,70,229,.15);border-radius:999px;color:#312e81;font-size:12px;font-weight:600;padding:5px 12px}.Chat-module_toolCallEmpty__bUz5v{color:#94a3b8;font-size:14px;margin:0}.Chat-module_toolCallPendingCard__L3m7T{background:linear-gradient(180deg,#f8fbff,#f8fafc);border:1px dashed #cbd5e1;border-radius:14px;display:flex;flex-direction:column;gap:10px;padding:14px}.Chat-module_toolCallPendingHeader__U3htF{align-items:center;display:flex;gap:10px;justify-content:space-between}.Chat-module_toolCallPendingTitle__4fwLL{color:#0f172a;font-size:13px;font-weight:600}.Chat-module_toolCallPendingBadge__bgY3c{background:rgba(14,165,233,.12);border-radius:999px;color:#0369a1;font-size:11px;font-weight:700;letter-spacing:.05em;padding:4px 10px;text-transform:uppercase}.Chat-module_toolCallPendingMessage__grnao{color:#475467;font-size:13px;line-height:1.5;margin:0}.Chat-module_toolCallPendingSkeleton__Td5Cu{display:flex;flex-direction:column;gap:8px}.Chat-module_toolCallPendingSkeletonLine__Vldel{animation:Chat-module_toolCallPendingSkeletonPulse__aKDNI 1.4s ease-in-out infinite;background:linear-gradient(90deg,rgba(226,232,240,.7),#f1f5f9,rgba(226,232,240,.7));background-size:200% 100%;border-radius:999px;height:10px}.Chat-module_toolCallPendingSkeletonShort__FnR-X{width:68%}@keyframes Chat-module_toolCallPendingSkeletonPulse__aKDNI{0%{background-position:100% 50%}to{background-position:-100% 50%}}.Chat-module_toolCallDetailsCard__UJthw{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;margin-top:16px;overflow:hidden}.Chat-module_toolCallDetailsCardRow__-VhfA{border-top:1px solid rgba(226,232,240,.9);color:#334155;display:flex;font-size:13px;gap:12px;justify-content:space-between;padding:12px 14px}.Chat-module_toolCallDetailsCardRow__-VhfA:first-child{border-top:none}.Chat-module_toolCallDetailsCardRow__-VhfA strong{color:#0f172a}.Chat-module_toolCallIssues__evhYM{display:flex;flex-wrap:wrap;gap:8px;padding:0 32px 16px}.Chat-module_toolCallIssueBadge__Qbwdp{align-items:center;border-radius:999px;display:inline-flex;font-size:12px;font-weight:600;gap:4px;padding:6px 10px}.Chat-module_toolCallIssueError__LImeS{background:rgba(239,68,68,.12);color:#b91c1c}.Chat-module_toolCallIssueWarning__chQDf{background:rgba(234,179,8,.16);color:#a16207}.Chat-module_toolCallModeFooter__XaRqI{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-end;padding:0 32px 24px}.Chat-module_toolCallModeButton__zlcca{background:#fff;border:1px solid #cbd5e1;border-radius:999px;color:#0f172a;cursor:pointer;font-size:13px;font-weight:600;padding:8px 16px;transition:border-color .2s ease,background-color .2s ease,transform .2s ease}.Chat-module_toolCallModeButton__zlcca:hover{background:#f8fafc;border-color:#94a3b8;transform:translateY(-1px)}.Chat-module_toolCallClockPanel__h4xZd{align-items:center;display:flex;flex-direction:column;gap:20px;padding:20px}.Chat-module_toolCallClockLabels__KJGxe{text-align:center}.Chat-module_toolCallClockPrimary__StLQ8{color:#0f172a;font-size:2em;font-weight:700}.Chat-module_toolCallClockSecondary__O4WaT{color:#475467}.Chat-module_toolCallClockMeta__aObb7{color:#667085;font-size:.9em;margin-top:5px}.Chat-module_timeoutToolSummary__kPPvu{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;padding:16px}.Chat-module_timeoutToolPrimarySentence__pQfLn{color:#0f172a;font-size:15px;font-weight:600;line-height:1.5;margin:0}.Chat-module_timeoutToolSecondarySentence__iH5Uc{color:#475467;font-size:13px;line-height:1.5;margin:6px 0 0}.Chat-module_timeoutToolActionRow__occir{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.Chat-module_timeoutToolActionButton__8yz0R{background:#fff;border:1px solid #cbd5e1;border-radius:999px;color:#0f172a;cursor:pointer;font-size:12px;font-weight:600;padding:8px 14px;transition:border-color .2s ease,background-color .2s ease}.Chat-module_timeoutToolActionButton__8yz0R:hover{background:#f1f5f9;border-color:#94a3b8}.Chat-module_timeoutToolActionButton__8yz0R:disabled{cursor:default;opacity:.45}.Chat-module_memoryModalHeader__SpZJT{align-items:flex-start;background:linear-gradient(180deg,#fdfdfd,#f6f9ff);border-bottom:1px solid #e2e8f0;display:flex;gap:16px;padding:28px 32px 16px}.Chat-module_memoryModalIcon__eYbli{align-items:center;background:linear-gradient(135deg,#6366f1,#a855f7);border-radius:18px;box-shadow:0 18px 28px rgba(15,23,42,.18);color:#fff;display:inline-flex;font-size:24px;height:52px;justify-content:center;width:52px}.Chat-module_memoryModalHeaderText__S6MZG{flex:1}.Chat-module_memoryModalTitle__zzbaQ{color:#0f172a;font-size:22px;font-weight:600;margin:0}.Chat-module_memoryModalSubtitle__PStci{color:#475467;font-size:14px;margin:4px 0 0}.Chat-module_memoryModalStatus__bmrfc{align-items:center;border-radius:999px;display:inline-flex;font-size:13px;font-weight:600;gap:6px;margin-left:auto;padding:6px 14px;white-space:nowrap}.Chat-module_memoryStatusDot__c0oVs{background:currentColor;border-radius:50%;display:inline-block;height:8px;width:8px}.Chat-module_memoryModalContent__8E7oj{background:#fff;display:flex;flex-direction:column;gap:16px;padding:24px 32px 32px}.Chat-module_memoryMessage__q0pNK{color:#0f172a;font-size:15px;font-weight:500;margin:0}.Chat-module_memoryMetaRow__Hc-Xp{align-items:center;color:#475467;display:flex;font-size:13px;justify-content:space-between}.Chat-module_memoryMetaLabel__LFx11{font-weight:600;letter-spacing:.08em;text-transform:uppercase}.Chat-module_memoryMetaValue__4bILO{color:#0f172a;font-weight:600}.Chat-module_memoryRetrieveSection__VbuS4,.Chat-module_memoryStoreSection__qQJPN{display:flex;flex-direction:column;gap:12px}.Chat-module_memoryCard__-kIDN{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 10px 18px rgba(15,23,42,.08);padding:18px}.Chat-module_memoryCardContent__l9S4G{color:#0f172a;font-size:14px;line-height:1.6;overflow-wrap:break-word;white-space:pre-wrap}.Chat-module_memoryCardMeta__K66KE{align-items:center;color:#94a3b8;display:flex;font-size:12px;justify-content:space-between;margin-top:12px}.Chat-module_memoryScopeBadge__T2ACc{background:rgba(124,58,237,.12);border-radius:999px;color:#0f172a;font-size:11px;font-weight:700;padding:3px 10px}.Chat-module_memoryList__pUOg2{display:flex;flex-direction:column;gap:12px}.Chat-module_memoryEmptyState__fPrXA{background:#fef3c7;border:1px solid #fde68a;border-radius:12px;color:#92400e;font-weight:500;padding:16px}.Chat-module_memoryListFooter__Y0Q2Z{color:#475467;font-size:13px;text-align:center}.Chat-module_memoryStatusSuccess__4bhfo{background:rgba(16,185,129,.16);color:#047857}.Chat-module_memoryStatusWarning__AR6yh{background:rgba(234,179,8,.16);color:#a16207}.Chat-module_memoryStatusError__ZNAT6{background:rgba(239,68,68,.15);color:#b91c1c}.Chat-module_memoryStatusNeutral__Fa-4M{background:rgba(96,165,250,.15);color:#1d4ed8}.Chat-module_searchModalHeader__Y8V-w{align-items:center;background:#fdfdfd;border-bottom:1px solid #eee;display:flex;gap:16px;padding:24px 72px 24px 32px}.Chat-module_selfLearningModalHeader__PDIt1{align-items:center;background:linear-gradient(135deg,#f8fafc,#fef9c3 45%,#ecfccb);border-bottom:1px solid #e2e8f0;gap:18px}.Chat-module_selfLearningAvatarGroup__jgy2k{align-items:center;display:flex;gap:10px}.Chat-module_selfLearningAvatar__NHXKm{align-items:center;background:#e2e8f0;background-position:50%;background-size:cover;border-radius:50%;box-shadow:0 10px 20px rgba(15,23,42,.18);color:#0f172a;display:inline-flex;font-size:18px;font-weight:600;height:48px;justify-content:center;letter-spacing:.02em;width:48px}.Chat-module_selfLearningAvatarInitial__cuw19{line-height:1}.Chat-module_selfLearningTeacher__fGhX8{background:linear-gradient(135deg,#fde68a,#86efac)}.Chat-module_selfLearningHeaderText__LTwHL{display:flex;flex-direction:column;gap:6px;text-align:left}.Chat-module_selfLearningTitle__G0SAk{color:#0f172a;font-size:20px;font-weight:600;margin:0}.Chat-module_selfLearningMetaRow__z4Tg0{align-items:center;color:#64748b;display:flex;flex-wrap:wrap;font-size:13px;gap:10px;margin-bottom:12px}.Chat-module_selfLearningMeta__58Pet{color:#64748b;font-size:13px}.Chat-module_selfLearningMetaChip__0go88{background:#e2e8f0;border-radius:999px;color:#0f172a;font-size:12px;font-weight:600;padding:4px 10px}.Chat-module_selfLearningCommitments__7ECnr{background:#f8fafc;border:1px solid #e2e8f0;border-radius:16px;padding:16px}.Chat-module_selfLearningCommitmentsLabel__OkDO1{color:#94a3b8;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.Chat-module_selfLearningBookEditor__CZy5T{border-radius:12px;margin-top:12px;overflow:hidden}.Chat-module_selfLearningEmpty__vCKHL{color:#475569;font-size:13px;margin-top:12px}.Chat-module_modalCloseButton__AAfWS{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:999px;box-shadow:0 6px 16px rgba(15,23,42,.08);color:#475569;cursor:pointer;display:inline-flex;height:36px;justify-content:center;position:absolute;right:16px;top:16px;transition:background .2s ease,color .2s ease,box-shadow .2s ease,transform .2s ease;width:36px;z-index:1}.Chat-module_modalCloseButton__AAfWS:hover{background:#f8fafc;box-shadow:0 10px 24px rgba(15,23,42,.12);color:#0f172a;transform:translateY(-1px)}.Chat-module_modalCloseButton__AAfWS:focus-visible{outline:2px solid #94a3b8;outline-offset:2px}.Chat-module_teamModalHeader__SB5NL{flex-wrap:wrap;gap:12px}.Chat-module_teamHeaderParticipants__KS7aV{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.Chat-module_teamHeaderProfile__xRlcS{align-items:center;color:inherit;display:inline-flex;gap:12px;text-decoration:none}.Chat-module_teamHeaderProfileLink__fYTfT:hover{color:#0f172a}.Chat-module_teamHeaderAvatar__vXcTp{background-position:50%;background-repeat:no-repeat;background-size:cover;border:1px solid #e2e8f0;border-radius:999px;box-shadow:0 6px 14px rgba(15,23,42,.08);height:40px;width:40px}.Chat-module_teamHeaderName__ygJR9{color:#0f172a;font-size:18px;font-weight:600}.Chat-module_teamHeaderDivider__cnRMd{color:#94a3b8;font-size:14px;font-weight:600}.Chat-module_searchModalIcon__AR5KY{align-items:center;color:#475569;display:inline-flex;font-size:24px;justify-content:center}.Chat-module_searchModalQuery__5x-Ra{color:#202124!important;font-size:22px!important;font-weight:500!important;margin:0!important;text-align:left!important}.Chat-module_searchModalContent__mWLIE{background:#fff;max-height:60vh;overflow-y:auto;padding:24px 32px}.Chat-module_teamChatContainer__xdLtU{background:#f8fafc;border:1px solid #e5e7eb;border-radius:16px;margin-bottom:20px;overflow:hidden}.Chat-module_teamToolCallSection__FH9l7{display:flex;flex-direction:column;gap:16px}.Chat-module_teamToolCallGroup__PO6rl{display:flex;flex-direction:column;gap:8px}.Chat-module_teamToolCallHeading__G-JSj{color:#64748b;font-size:12px;font-weight:600;letter-spacing:.08em;text-transform:uppercase}.Chat-module_teamToolCallChips__hRWqh{display:flex;flex-wrap:wrap;gap:8px}.Chat-module_teamToolCallDetails__ZaTtt{background:#f8fafc;border:1px solid rgba(148,163,184,.4);border-radius:12px;padding:16px}.Chat-module_teamToolCallDetailsHeader__FPIgI{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px}.Chat-module_teamToolCallDetailsTitle__50SeL{align-items:center;color:#0f172a;display:flex;font-size:14px;font-weight:600;gap:6px}.Chat-module_teamToolCallDetailsClear__8yvu7{background:rgba(148,163,184,.2);border:1px solid rgba(148,163,184,.4);border-radius:999px;color:#475569;cursor:pointer;font-size:12px;padding:4px 10px;transition:all .2s ease}.Chat-module_teamToolCallDetailsClear__8yvu7:hover{background:rgba(148,163,184,.35)}.Chat-module_searchResultsList__xVDUZ{display:flex;flex-direction:column;gap:28px;text-align:left}.Chat-module_searchResultsRaw__i3GkD{max-width:650px;text-align:left}.Chat-module_searchResultItem__bTzq5{max-width:650px}.Chat-module_searchResultUrl__SbrH4{color:#202124;font-size:14px;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.Chat-module_searchResultUrl__SbrH4 a{color:#202124;text-decoration:none}.Chat-module_searchResultTitle__XS7zN{font-size:20px!important;font-weight:400!important;line-height:1.3;margin:0 0 4px!important}.Chat-module_searchResultTitle__XS7zN a{color:#1a0dab;text-decoration:none}.Chat-module_searchResultTitle__XS7zN a:hover{text-decoration:underline}.Chat-module_searchResultSnippet__Wsun2{color:#4d5156;font-size:14px;line-height:1.58;margin:0}.Chat-module_noResults__AAv6s{color:#70757a;font-style:italic;padding:40px;text-align:center}.Chat-module_citationDetails__2v2e1,.Chat-module_toolCallDetails__WUFlD{margin:20px 0;text-align:left}.Chat-module_citationPreview__rGhCR{background:#f8f8f8;border:1px solid #ddd;border-radius:8px;margin-top:16px;overflow:hidden}.Chat-module_citationIframe__ngzFY{border:none;display:block;height:60vh;min-height:400px;width:100%}.Chat-module_citationIframeLoading__y5VW9{align-items:center;color:#888;display:flex;font-size:.9em;height:60vh;justify-content:center;min-height:400px;width:100%}.Chat-module_citationScreenshotFallback__jxfJX{display:flex;flex-direction:column;position:relative;width:100%}.Chat-module_citationScreenshotImage__hXjC7{display:block;max-height:60vh;min-height:400px;object-fit:cover;object-position:top;width:100%}.Chat-module_citationScreenshotLink__NHvbE{background:#f0f0f0;border-top:1px solid #ddd;color:#333;display:block;font-size:.9em;font-weight:500;padding:10px 16px;text-align:center;text-decoration:none;transition:background .15s}.Chat-module_citationScreenshotLink__NHvbE:hover{background:#e0e0e0;text-decoration:underline}.Chat-module_liveBrowserPreview__D94Kt{background:#f8fafc;display:flex;flex-direction:column;min-height:0;width:100%}.Chat-module_citationBrowserModal__jYU4c .Chat-module_liveBrowserPreview__D94Kt{flex:1 1 auto;min-height:0}.Chat-module_liveBrowserPreview__D94Kt:fullscreen{background:#0f172a}.Chat-module_liveBrowserPreviewToolbar__nFgSV{align-items:center;background:#f1f5f9;border-bottom:1px solid #e2e8f0;display:flex;gap:4px;padding:6px 8px}.Chat-module_liveBrowserPreviewToolbarButton__R-ZXl{align-items:center;background:transparent;border:none;border-radius:6px;color:#334155;cursor:pointer;display:flex;flex:none;font-size:14px;height:28px;justify-content:center;line-height:1;min-width:28px;padding:0 4px;text-decoration:none;transition:background .15s}.Chat-module_liveBrowserPreviewToolbarButton__R-ZXl:hover:not(:disabled){background:#e2e8f0}.Chat-module_liveBrowserPreviewToolbarButton__R-ZXl:disabled{cursor:default;opacity:.35}.Chat-module_liveBrowserPreviewZoomLabel__PbrV1{font-size:11px;font-variant-numeric:tabular-nums}.Chat-module_liveBrowserPreviewToolbarCloseButton__gcsb0{margin-left:2px}.Chat-module_liveBrowserPreviewToolbarCloseButton__gcsb0 svg{height:14px;width:14px}.Chat-module_liveBrowserPreviewUrlForm__4DSda{flex:1;margin:0 4px;min-width:0}.Chat-module_liveBrowserPreviewUrlInput__AugUm{background:#fff;border:1px solid #e2e8f0;border-radius:999px;color:#0f172a;font-size:12px;outline:none;padding:5px 12px;width:100%}.Chat-module_liveBrowserPreviewUrlInput__AugUm:focus{border-color:#94a3b8}.Chat-module_liveBrowserPreviewStreamArea__aIhQx{background:#f8f8f8;height:60vh;min-height:400px;outline:none;overflow:auto;position:relative;touch-action:none}.Chat-module_citationBrowserModal__jYU4c .Chat-module_liveBrowserPreviewStreamArea__aIhQx{height:min(60vh,640px);min-height:min(400px,calc(100dvh - 140px))}.Chat-module_liveBrowserPreviewStreamArea__aIhQx:focus-visible{box-shadow:inset 0 0 0 2px #94a3b8}.Chat-module_liveBrowserPreview__D94Kt:fullscreen .Chat-module_liveBrowserPreviewStreamArea__aIhQx{flex:1;height:auto;min-height:0}.Chat-module_liveBrowserPreviewStreamImage__bpTj3{background:#fff;display:block;position:relative;touch-action:none;user-select:none;width:100%}.Chat-module_liveBrowserPreviewConnecting__8Gn40{align-items:center;color:#64748b;display:flex;font-size:.9em;inset:0;justify-content:center;position:absolute}.Chat-module_liveBrowserPreviewOverlay__eheiG{align-items:center;background:rgba(15,23,42,.55);color:#fff;display:flex;flex-direction:column;gap:12px;inset:0;justify-content:center;position:absolute;text-align:center}.Chat-module_liveBrowserPreviewOverlayButton__o9SNO{background:#fff;border:none;border-radius:999px;color:#0f172a;cursor:pointer;font-weight:600;padding:8px 20px}.Chat-module_citationMetadata__DPaCF{background:#f8f8f8;border:1px solid #eee;border-radius:8px;margin-bottom:20px;padding:16px}.Chat-module_citationMetadata__DPaCF p{font-size:.9em;margin:8px 0}.Chat-module_citationMetadata__DPaCF strong{color:#333}.Chat-module_citationMetadata__DPaCF a{color:#007bff;text-decoration:none;word-break:break-all}.Chat-module_citationMetadata__DPaCF a:hover{text-decoration:underline}.Chat-module_citationExcerpt__VU4BS{background:#fff;border:1px solid #ddd;border-radius:8px;max-height:400px;overflow-y:auto;padding:16px}.Chat-module_citationExcerpt__VU4BS h4{color:#333;font-size:1em;margin:0 0 12px}.Chat-module_citationHint__5AkLx{font-size:.85em;margin-top:8px;opacity:.7}.Chat-module_toolCallDataContainer__rdEzC{background:#f8f8f8;border:1px solid #eee;border-radius:6px;margin-bottom:15px;max-height:300px;overflow-y:auto;padding:12px}.Chat-module_toolCallPayloadContainer__v2yVn{background:#f8fafc;border:1px solid #e2e8f0;border-radius:10px;overflow:hidden}.Chat-module_toolCallPayloadEditor__Hklyf .monaco-editor,.Chat-module_toolCallPayloadEditor__Hklyf .monaco-editor .monaco-scrollable-element,.Chat-module_toolCallPayloadEditor__Hklyf .monaco-editor .overflow-guard,.Chat-module_toolCallPayloadEditor__Hklyf .monaco-editor-background{background:#f8fafc!important}.Chat-module_toolCallData__UauCO{font-size:.85em;margin:0;white-space:pre-wrap;word-break:break-word}.Chat-module_toolCallModal__uNaIK .Chat-module_toolCallData__UauCO{background:#f8fafc;color:#0f172a}.Chat-module_ratingInput__z8Pv-{background:hsla(0,0%,49%,.05);border:2px solid hsla(0,0%,49%,.1);border-radius:12px;color:#0b1220;font-size:14px;line-height:1.5;margin-bottom:18px;min-height:100px;padding:16px;resize:vertical;transition:all .2s ease;width:100%}.Chat-module_ratingInput__z8Pv-:focus{background:hsla(0,0%,49%,.08);border-color:#0084ff;box-shadow:0 0 0 4px rgba(0,132,255,.1);outline:none}.Chat-module_ratingInput__z8Pv-[readonly]{background:hsla(0,0%,49%,.01);border:1px solid hsla(0,0%,49%,.5)}.Chat-module_ratingActions__nXcss{display:flex;gap:12px;justify-content:flex-end}.Chat-module_ratingActions__nXcss button{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;min-width:80px;padding:12px 24px;transition:all .2s ease}.Chat-module_ratingActions__nXcss button:first-child{background-color:hsla(0,0%,49%,.1);border:1px solid hsla(0,0%,49%,.2);color:#0b1220}.Chat-module_ratingActions__nXcss button:first-child:hover:not(:disabled){background-color:hsla(0,0%,49%,.2);color:#0b1220}.Chat-module_ratingActions__nXcss button:last-child{background:linear-gradient(135deg,#0084ff,#06c);color:#fff}.Chat-module_ratingActions__nXcss button:last-child:hover:not(:disabled){background:linear-gradient(135deg,#0071d1,#0052a3);box-shadow:0 4px 12px rgba(0,132,255,.3);transform:translateY(-1px)}.Chat-module_ratingActions__nXcss button:last-child:disabled{cursor:not-allowed;opacity:.5}.Chat-module_downloadButton__8--bk{align-items:center;background:linear-gradient(135deg,#0084ff,#06c);border:none;border-radius:8px;box-shadow:0 2px 8px rgba(0,132,255,.2);color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:12px 24px;transition:all .2s ease}.Chat-module_downloadButton__8--bk:hover{background:linear-gradient(135deg,#09f,#07d);box-shadow:0 4px 16px rgba(0,132,255,.3);transform:translateY(-2px)}.Chat-module_downloadButton__8--bk:active{box-shadow:0 2px 8px rgba(0,132,255,.2);transform:translateY(0)}.Chat-module_downloadButton__8--bk svg{flex-shrink:0}.Chat-module_downloadButton__8--bk span{font-weight:600}.Chat-module_chatButton__d9VgA,.Chat-module_useTemplateButton__xcJNR{-webkit-tap-highlight-color:transparent!important;align-items:center!important;backdrop-filter:blur(18px)!important;background:linear-gradient(140deg,#0f8ef5,#0b6fd0 56%,#0d5fbb)!important;border:1px solid hsla(0,0%,100%,.24)!important;border-radius:999px!important;box-shadow:0 10px 24px rgba(14,116,219,.28),inset 0 1px 0 hsla(0,0%,100%,.2)!important;color:#fff!important;cursor:pointer!important;display:inline-flex!important;font-family:inherit!important;font-size:12.5px!important;font-weight:600!important;gap:8px!important;justify-content:center!important;letter-spacing:.02em!important;line-height:1.2!important;margin:0!important;min-height:40px!important;min-width:110px!important;overflow:hidden!important;padding:11px 16px!important;position:relative!important;text-decoration:none!important;touch-action:manipulation!important;transition:transform .2s ease,box-shadow .2s ease,background .2s ease!important;user-select:none!important}.Chat-module_chatButton__d9VgA:before,.Chat-module_useTemplateButton__xcJNR:before{background:linear-gradient(100deg,transparent,hsla(0,0%,100%,.26) 48%,transparent);content:\"\";height:100%;left:-110%;position:absolute;top:0;transition:left .45s ease;width:75%}.Chat-module_chatButton__d9VgA:hover:before,.Chat-module_useTemplateButton__xcJNR:hover:before{left:140%}.Chat-module_chatButton__d9VgA:hover:not(:disabled),.Chat-module_useTemplateButton__xcJNR:hover:not(:disabled){background:linear-gradient(140deg,#1a9aff,#0d7de8 56%,#1168c9)!important;box-shadow:0 14px 30px rgba(14,116,219,.34),inset 0 1px 0 hsla(0,0%,100%,.2)!important;transform:translateY(-1.5px)}.Chat-module_chatButton__d9VgA:active,.Chat-module_useTemplateButton__xcJNR:active{transform:translateY(0) scale(.985);transition:transform .1s ease}.Chat-module_chatButton__d9VgA:focus,.Chat-module_useTemplateButton__xcJNR:focus{box-shadow:0 10px 24px rgba(14,116,219,.32),0 0 0 3px rgba(56,189,248,.28),inset 0 1px 0 hsla(0,0%,100%,.22)!important;outline:none}.Chat-module_chatButton__d9VgA svg,.Chat-module_useTemplateButton__xcJNR svg{filter:drop-shadow(0 1px 2px rgba(0,0,0,.24));flex-shrink:0;height:16px;opacity:1;transition:transform .2s ease,filter .2s ease;width:16px}.Chat-module_chatButton__d9VgA:hover svg,.Chat-module_useTemplateButton__xcJNR:hover svg{filter:drop-shadow(0 2px 4px rgba(0,0,0,.28));transform:scale(1.08) translateX(1px)}.Chat-module_chatButtonText__RkGB-{font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.12);transition:transform .2s ease;white-space:nowrap}.Chat-module_chatButton__d9VgA:hover .Chat-module_chatButtonText__RkGB-,.Chat-module_useTemplateButton__xcJNR:hover .Chat-module_chatButtonText__RkGB-{transform:translateX(1px)}.Chat-module_saveButtonContainer__lSNUJ{display:inline-block;position:relative}.Chat-module_saveMenu__-ph8y{background:#fff;border:1px solid #ddd;box-shadow:0 2px 8px rgba(0,0,0,.08);left:0;min-width:120px;position:absolute;top:100%;z-index:10}.Chat-module_saveMenuItem__ISApL{background:none;border:none;color:#111;cursor:pointer;display:block;padding:8px 16px;text-align:left;width:100%}.Chat-module_saveMenuItem__ISApL:hover{background-color:#f0f0f0}.Chat-module_saveMenuDivider__3ktTM{background-color:#ddd;height:1px;margin:4px 0}.Chat-module_chatFeedbackPanel__gfOzk{background:#fff;border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 8px 18px rgba(15,23,42,.08);display:flex;flex-direction:column;gap:6px;padding:6px 8px;width:min(260px,100%)}.Chat-module_chatFeedbackToggle__IeOM6{align-items:center;background:transparent;border:none;border-radius:12px;cursor:pointer;display:flex;gap:10px;padding:6px 8px;text-align:left;transition:background .2s ease,transform .2s ease;width:100%}.Chat-module_chatFeedbackToggle__IeOM6:hover{background:#f5f5f5;transform:translateY(-.5px)}.Chat-module_chatFeedbackToggle__IeOM6:focus-visible{outline:2px solid #2563eb;outline-offset:2px}.Chat-module_chatFeedbackIcon__XcB7A{background:#eef2ff;border-radius:10px;color:#6366f1;display:grid;flex-shrink:0;height:34px;place-items:center;transition:background .2s ease,color .2s ease;width:34px}.Chat-module_chatFeedbackToggle__IeOM6[data-enabled=true] .Chat-module_chatFeedbackIcon__XcB7A{background:#e0f2fe;color:#0284c7}.Chat-module_chatFeedbackToggle__IeOM6[data-enabled=false] .Chat-module_chatFeedbackIcon__XcB7A{background:#f3f4f6;color:#94a3b8}.Chat-module_chatFeedbackMeta__6t2be{display:flex;flex:1;flex-direction:column;gap:2px}.Chat-module_chatFeedbackLabel__qQgH3{color:#0f172a;font-size:.85rem;font-weight:600}.Chat-module_chatFeedbackDescription__I9bNg{color:#64748b;font-size:.75rem}.Chat-module_chatFeedbackIndicator__uHCr7{border-radius:999px;font-size:.72rem;font-weight:700;letter-spacing:.08em;padding:2px 8px;text-transform:uppercase}.Chat-module_chatFeedbackIndicatorActive__bkw-w{background:#dcfce7;border:1px solid #34d399;color:#166534}.Chat-module_chatFeedbackIndicatorInactive__qMBkh{background:#fef9c3;border:1px solid #facc15;color:#713f12}.Chat-module_pauseButton__eeu7K{background:linear-gradient(135deg,#ffb347,#ff8c42)!important}.Chat-module_pauseButton__eeu7K:hover:not(:disabled){background:linear-gradient(135deg,#ffc067,#ff9e5f)!important}.Chat-module_pauseButton__eeu7K.Chat-module_pausing__pTx8b{cursor:wait!important;opacity:.6!important}.Chat-module_pauseButton__eeu7K.Chat-module_paused__j-pya{background:linear-gradient(135deg,#10b981,#059669)!important}.Chat-module_pauseButton__eeu7K.Chat-module_paused__j-pya:hover:not(:disabled){background:linear-gradient(135deg,#34d399,#059669)!important;box-shadow:0 8px 24px rgba(16,185,129,.35);transform:translateY(-2px) scale(1.02)}.Chat-module_pauseButton__eeu7K svg{transition:transform .3s ease}.Chat-module_pauseButton__eeu7K.Chat-module_paused__j-pya svg{transform:scale(1.1)}.Chat-module_pauseButton__eeu7K.Chat-module_pausing__pTx8b svg{opacity:.8}.Chat-module_stopButton__dkPOW{background:linear-gradient(135deg,#dc2626,#991b1c)!important;color:#fefefe!important}.Chat-module_stopButton__dkPOW:hover:not(:disabled){background:linear-gradient(135deg,#f87171,#dc2626)!important}.Chat-module_stopButton__dkPOW:disabled{cursor:not-allowed!important;opacity:.6!important}.Chat-module_stopButton__dkPOW svg{transition:transform .3s ease}.Chat-module_stopButton__dkPOW:focus-visible{outline:2px solid hsla(0,91%,71%,.8);outline-offset:2px}.Chat-module_voiceCallIndicatorBar__N2sWN{align-items:center;backdrop-filter:blur(10px);background:linear-gradient(135deg,rgba(34,197,94,.1),rgba(16,185,129,.1));border-bottom:1px solid rgba(34,197,94,.3);display:flex;grid-area:🟦;justify-content:center;padding:12px 20px;width:100%}.Chat-module_voiceCallIndicator__tsaaG{align-items:center;backdrop-filter:blur(10px);background:linear-gradient(135deg,rgba(34,197,94,.2),rgba(16,185,129,.2));border:1px solid rgba(34,197,94,.4);border-radius:20px;box-shadow:0 2px 8px rgba(34,197,94,.2);color:#10b981;display:inline-flex;font-size:13px;font-weight:600;gap:8px;padding:8px 16px;position:relative}.Chat-module_voiceCallIndicator__tsaaG svg{animation:Chat-module_voiceCallIconPulse__zZbJn 2s ease-in-out infinite;flex-shrink:0;height:16px;width:16px}.Chat-module_voiceCallIndicator__tsaaG span{font-weight:600;text-shadow:0 1px 2px rgba(0,0,0,.1)}.Chat-module_voiceCallPulse__XcGU4{animation:Chat-module_voiceCallPulse__XcGU4 1.5s ease-in-out infinite;background:#10b981;border-radius:50%;height:8px;position:absolute;right:8px;top:50%;transform:translateY(-50%);width:8px}@keyframes Chat-module_voiceCallIconPulse__zZbJn{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.1)}}@keyframes Chat-module_voiceCallPulse__XcGU4{0%,to{opacity:1;transform:translateY(-50%) scale(1)}50%{opacity:.6;transform:translateY(-50%) scale(1.3)}}.Chat-module_chatMessage__nmLaZ .Chat-module_voiceCallIndicator__tsaaG{border-radius:16px;font-size:12px;margin-bottom:8px;padding:6px 12px}.Chat-module_chatMessage__nmLaZ .Chat-module_voiceCallIndicator__tsaaG svg{height:14px;width:14px}.Chat-module_feedbackStatus__-df7l{word-wrap:break-word;animation:Chat-module_feedbackStatusSlideIn__n6bbB .28s ease-out;backdrop-filter:blur(20px);border-radius:14px;box-shadow:0 18px 32px rgba(15,23,42,.35);font-weight:500;max-width:340px;padding:14px 22px;pointer-events:none;position:fixed;right:20px;top:20px;z-index:10000}.Chat-module_feedbackStatusSuccess__Ax2q0{background:linear-gradient(135deg,#10b981,#059669);color:#f8fafc}.Chat-module_feedbackStatusError__dnv6d{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fef2f2}@keyframes Chat-module_feedbackStatusSlideIn__n6bbB{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@media (max-width:768px){.Chat-module_Chat__j2eE5{--chat-message-min-width:100px;--chat-message-avatar-size:36px;--chat-message-max-width:min(85%,560px,calc(100% - var(--chat-message-avatar-size) - var(--chat-message-avatar-gap)));--chat-message-avatar-gap:10px;--chat-input-font-size:16px;--chat-input-padding-y:14px;--chat-input-padding-x:18px;--chat-input-action-size:44px}.Chat-module_constrainedArticleVisual__0axxM{--chat-article-layout-padding-inline:clamp(24px,6vw,36px)}.Chat-module_actions__gTZ5T{gap:6px;margin:12px 16px 0}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N{padding:16px 20px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ{margin-bottom:16px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{border-radius:18px;font-size:14px;padding:12px 16px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7{margin-bottom:20px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_articleModeAgentMessage__Y79L7 .Chat-module_messageStack__n0xNL{margin:0;max-width:100%;width:100%}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ.Chat-module_articleModeAgentMessageText__vBlIP{border-radius:0;font-size:15px;line-height:1.68;padding:2px 0}.Chat-module_articleModeMessageActions__h2qaG{gap:8px;justify-content:flex-start}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm{margin:0 0 4px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan{gap:10px;padding:16px 20px calc(16px + env(safe-area-inset-bottom))}.Chat-module_speechStatusBubble__qBBWI{bottom:76px;font-size:11px;max-width:calc(100% - 28px);padding:7px 11px;right:14px}.Chat-module_dictationSettingsPanel__0gI-V{grid-template-columns:minmax(0,1fr)}.Chat-module_scrollToBottom__nzxdZ{font-size:18px;height:44px;top:calc(100% - 160px);width:44px}.Chat-module_chatButton__d9VgA{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_chatButton__d9VgA svg{height:18px!important;width:18px!important}.Chat-module_chatButtonText__RkGB-{display:none!important}.Chat-module_useTemplateButton__xcJNR{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_useTemplateButton__xcJNR svg{height:18px!important;width:18px!important}.Chat-module_useTemplateButton__xcJNR .Chat-module_chatButtonText__RkGB-{display:none!important}.Chat-module_ratingModalContent__CCdq7{border-radius:16px;margin:16px;max-height:80vh;overflow-y:auto;padding:24px 20px}.Chat-module_ratingModalContent__CCdq7.Chat-module_imageAttachmentModal__Ef6L5{max-height:calc(100vh - 32px);max-height:calc(100dvh - 32px);overflow:hidden;padding:0}.Chat-module_stars__PCzNO{gap:6px;margin-bottom:20px}.Chat-module_stars__PCzNO span{font-size:32px;padding:8px}.Chat-module_ratingActions__nXcss{flex-direction:column-reverse;gap:8px}.Chat-module_ratingActions__nXcss button{border-radius:10px;font-size:16px;padding:14px;width:100%}.Chat-module_selfLearningModalHeader__PDIt1{align-items:flex-start;flex-direction:column}.Chat-module_selfLearningAvatarGroup__jgy2k{justify-content:flex-start}.Chat-module_selfLearningMetaRow__z4Tg0{align-items:flex-start}}@media (max-width:480px){.Chat-module_Chat__j2eE5{--chat-message-min-width:80px;--chat-message-avatar-size:32px;--chat-message-max-width:min(90%,520px,calc(100% - var(--chat-message-avatar-size) - var(--chat-message-avatar-gap)));--chat-message-avatar-gap:8px;--chat-input-padding-y:12px;--chat-input-padding-x:16px;--chat-input-action-size:40px}.Chat-module_actions__gTZ5T{gap:4px;margin:8px 12px 0}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N{padding:12px 16px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{border-radius:16px;font-size:14px;padding:10px 14px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm{margin:0 0 4px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan{gap:8px;padding:12px 16px calc(12px + env(safe-area-inset-bottom))}.Chat-module_speechStatusBubble__qBBWI{bottom:72px;max-width:calc(100% - 20px);right:10px}.Chat-module_dictationCorrectionActions__ssE7i,.Chat-module_dictationErrorActions__K3ykb{flex-direction:column}.Chat-module_chatButton__d9VgA{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_chatButton__d9VgA svg{height:18px!important;width:18px!important}.Chat-module_chatButtonText__RkGB-{display:none!important}.Chat-module_useTemplateButton__xcJNR{border-radius:50%!important;gap:0!important;height:40px!important;margin:0!important;min-height:40px!important;min-width:40px!important;padding:0!important;width:40px!important}.Chat-module_useTemplateButton__xcJNR svg{height:18px!important;width:18px!important}.Chat-module_useTemplateButton__xcJNR .Chat-module_chatButtonText__RkGB-{display:none!important}.Chat-module_scrollToBottom__nzxdZ{font-size:16px;height:40px;top:calc(100% - 140px);width:40px}.Chat-module_ratingModal__XVKYm{align-items:flex-end;padding:0}.Chat-module_ratingModal__XVKYm[data-chat-modal=image-attachment]{align-items:center;padding:12px}.Chat-module_ratingModal__XVKYm[data-chat-modal=citation-browser]{align-items:center;padding:8px}.Chat-module_ratingModalContent__CCdq7{border-radius:20px 20px 0 0;margin:0;max-height:70vh;padding:24px 16px 20px;width:100%}.Chat-module_ratingModalContent__CCdq7.Chat-module_imageAttachmentModal__Ef6L5{border-radius:16px;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);padding:0;width:100%}.Chat-module_ratingModalContent__CCdq7.Chat-module_citationBrowserModal__jYU4c{border-radius:14px;max-height:calc(100vh - 16px);max-height:calc(100dvh - 16px);padding:0;width:100%}.Chat-module_citationBrowserModal__jYU4c .Chat-module_liveBrowserPreviewStreamArea__aIhQx{height:58vh;min-height:min(320px,calc(100dvh - 112px))}.Chat-module_imageAttachmentModalHeader__onK3Z{padding:16px 56px 12px 16px}.Chat-module_imageAttachmentModalPreview__gXDer{max-height:calc(100vh - 96px);max-height:calc(100dvh - 96px);padding:12px}.Chat-module_imageAttachmentModalImage__t61oG{max-height:calc(100vh - 120px);max-height:calc(100dvh - 120px)}}@media (prefers-reduced-motion:reduce){.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ,.Chat-module_feedbackStatus__-df7l,.Chat-module_ratingModalContent__CCdq7,.Chat-module_ratingModal__XVKYm,.Chat-module_scrollToBottom__nzxdZ{animation:none}.Chat-module_chatButton__d9VgA,.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button,.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea,.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{transition:none}}@media (prefers-contrast:high){.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{border:2px solid}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan textarea{border-width:3px}.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan button{border:2px solid}}.Chat-module_emailContainer__TBxXZ{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.Chat-module_emailModalHeader__Z4-CJ{background:#f8fafc}.Chat-module_emailHeaderText__1dR6R{display:flex;flex-direction:column;gap:2px}.Chat-module_emailHeaderLabel__7iAEH{color:#64748b;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.Chat-module_emailMetadata__8XXGf{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 4px rgba(15,23,42,.08);margin-bottom:16px;padding:18px 20px}.Chat-module_emailField__pcb03{display:flex;font-size:14px;gap:8px;line-height:1.5;margin-bottom:8px}.Chat-module_emailField__pcb03:last-child{margin-bottom:0}.Chat-module_emailField__pcb03 strong{color:#64748b;font-weight:600;min-width:60px}.Chat-module_emailRecipients__YVVys{color:#0f172a;word-break:break-word}.Chat-module_emailBody__OBt-w{text-align:left}.Chat-module_emailBody__OBt-w strong{color:#64748b;display:block;font-size:14px;font-weight:600;margin-bottom:12px}.Chat-module_emailBodyContent__-vFo2{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 4px rgba(15,23,42,.08);line-height:1.6;max-height:400px;overflow-y:auto;padding:22px}.Chat-module_emailBodyContent__-vFo2 p{margin:0 0 12px}.Chat-module_emailBodyContent__-vFo2 p:last-child{margin-bottom:0}.Chat-module_browserRunModalHeader__0AyeK{background:linear-gradient(135deg,#f8fafc,#ecfeff 40%,#ecfccb);border-bottom:1px solid #dbeafe}.Chat-module_browserRunHeaderText__JUbNv{display:flex;flex-direction:column;gap:2px}.Chat-module_browserRunHeaderStatus__uu3Fi{color:#475467;font-size:13px;line-height:1.5;margin:0}.Chat-module_browserRunHeaderLabel__uKYCb{color:#475569;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.Chat-module_browserRunMeta__lJkQc{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 4px rgba(15,23,42,.08);margin-bottom:18px;padding:16px 18px}.Chat-module_browserRunWarning__ojdEP{background:#fffbeb;border:1px solid #fbbf24;border-radius:12px;color:#92400e;margin-bottom:14px;padding:12px 14px}.Chat-module_browserRunError__aELQo{background:#fef2f2;border:1px solid #fca5a5;border-radius:12px;color:#7f1d1d;margin-bottom:14px;padding:12px 14px}.Chat-module_browserRunErrorSummary__ygz-g{font-size:14px;line-height:1.5;margin:0}.Chat-module_browserRunErrorSteps__S96nl{display:flex;flex-direction:column;gap:6px;margin:8px 0 0;padding-left:18px}.Chat-module_browserRunDebugDetails__SZ3VT{margin-top:10px}.Chat-module_browserRunDebugDetails__SZ3VT summary{color:#7f1d1d;cursor:pointer;font-weight:600}.Chat-module_browserRunDebugDetails__SZ3VT pre{background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;font-size:12px;line-height:1.45;margin:10px 0 0;max-height:220px;overflow:auto;padding:10px}.Chat-module_browserRunFallbackContent__NYCkp{background:#fff;border:1px solid #e2e8f0;border-radius:12px;margin-bottom:14px;padding:14px 16px}.Chat-module_browserRunStatusBanner__ljIE9{background:rgba(248,250,252,.95);border:1px solid rgba(148,163,184,.28);border-radius:14px;color:#334155;font-size:13px;line-height:1.5;margin-bottom:18px;padding:12px 14px}.Chat-module_browserRunMediaGrid__KDz3I{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.Chat-module_browserRunMediaCard__focNP{background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 1px 4px rgba(15,23,42,.08);display:flex;flex-direction:column;gap:10px;padding:12px}.Chat-module_browserRunMediaCardHeader__sOfLw{display:flex;flex-direction:column;gap:4px}.Chat-module_browserRunMediaTitle__a6Ctw{color:#0f172a;font-size:14px;font-weight:600;margin:0}.Chat-module_browserRunMediaCaption__LG8E6{color:#475569;font-size:12px;line-height:1.5;margin:0}.Chat-module_browserRunMediaImage__UI4pd,.Chat-module_browserRunMediaVideo__z2RgF{background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;max-height:260px;object-fit:contain;width:100%}.Chat-module_browserRunActionLog__YZ0CQ{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;margin-top:18px;padding:14px 16px}.Chat-module_browserRunActionLogTitle__XaEIW{color:#64748b;font-size:13px;letter-spacing:.08em;margin:0 0 10px;text-transform:uppercase}.Chat-module_browserRunActionList__SOgfd{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:0}.Chat-module_browserRunActionItem__1q668{align-items:center;background:#fff;border:1px solid rgba(226,232,240,.9);border-radius:12px;color:#0f172a;display:flex;font-size:14px;gap:10px;line-height:1.5;padding:10px 12px}.Chat-module_browserRunActionPending__unJJt{opacity:.82}.Chat-module_browserRunActionRunning__NdlRL{background:rgba(14,165,233,.08);border-color:rgba(14,165,233,.35)}.Chat-module_browserRunActionComplete__PU36H{background:rgba(16,185,129,.08);border-color:rgba(16,185,129,.22)}.Chat-module_browserRunActionError__y-cm0{background:rgba(239,68,68,.08);border-color:rgba(239,68,68,.24)}.Chat-module_browserRunActionState__pkfKg{background:#cbd5e1;border-radius:999px;flex-shrink:0;height:10px;width:10px}.Chat-module_browserRunActionStateRunning__L1IbZ{background:#0ea5e9;box-shadow:0 0 0 4px rgba(14,165,233,.14)}.Chat-module_browserRunActionStateComplete__CpVEc{background:#10b981;box-shadow:0 0 0 4px rgba(16,185,129,.12)}.Chat-module_browserRunActionStateError__lU-t4{background:#ef4444;box-shadow:0 0 0 4px rgba(239,68,68,.12)}.Chat-module_browserRunActionMeta__df32n{color:#64748b;font-size:12px;font-weight:600;margin-left:auto}@media print{.Chat-module_Chat__j2eE5{background:transparent!important;box-shadow:none!important;color:#f8fafc!important;min-height:auto!important;padding:0!important}.Chat-module_chatMainFlow__--8FE{gap:0!important;min-height:auto!important}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N{background:linear-gradient(150deg,rgba(2,6,23,.98),rgba(15,23,42,.92))!important;border:1px solid rgba(56,189,248,.32)!important;border-radius:40px!important;box-shadow:inset 0 40px 80px rgba(0,0,0,.35)!important;padding:48px 40px 64px!important;page-break-inside:avoid}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ{break-inside:avoid;page-break-inside:avoid}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ{background:linear-gradient(145deg,var(--agent-chat-brand-color-light,#7dd3fc),var(--agent-chat-brand-color,#0ea5e9))!important;border:1px solid hsla(0,0%,100%,.35)!important;border-radius:32px!important;box-shadow:inset 0 18px 40px rgba(2,6,23,.6)!important;color:#f8fafc!important;padding:18px 22px!important}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ.Chat-module_isMe__nBtaV .Chat-module_messageText__XgNyQ{background:#f8fbff!important;border:1px solid rgba(148,163,184,.45)!important;box-shadow:inset 0 10px 30px rgba(15,23,42,.3)!important;color:#0f172a!important}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_avatar__gL6bm{border:1px solid hsla(0,0%,100%,.35)!important}.Chat-module_messageMeta__eqCRu,.Chat-module_participantLabel__0Oo-3{color:rgba(226,232,240,.8)!important}.Chat-module_actions__gTZ5T,.Chat-module_chatMainFlow__--8FE .Chat-module_chatInput__1Ecan,.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessage__nmLaZ .Chat-module_messageText__XgNyQ button,.Chat-module_copyButtonContainer__Rij0U,.Chat-module_feedbackStatus__-df7l,.Chat-module_scrollToBottom__nzxdZ,.Chat-module_voiceCallIndicatorBar__N2sWN,.Chat-module_voiceCallIndicator__tsaaG{display:none!important}.Chat-module_chatMainFlow__--8FE .Chat-module_chatMessages__J2u2N>:last-child{padding-bottom:100px!important}}.Chat-module_emailStatus__T4UuL{color:#0f172a;font-weight:600;text-transform:capitalize}.Chat-module_imagePrompt__v7-Ho{backdrop-filter:blur(12px);background:hsla(0,0%,100%,.25);border:1px solid hsla(0,0%,49%,.35);border-radius:18px;box-shadow:inset 0 0 0 1px hsla(0,0%,100%,.25);display:flex;flex-direction:column;gap:8px;margin-bottom:16px;margin-top:16px;padding:12px}.Chat-module_imagePromptPreview__ve5dB{background:linear-gradient(180deg,rgba(15,118,255,.05),hsla(0,0%,100%,.4));border:1px dashed hsla(0,0%,49%,.3);border-radius:14px;min-height:160px;overflow:hidden;position:relative}.Chat-module_imagePromptImage__KjE3H{display:block;height:100%;object-fit:cover;width:100%}.Chat-module_imagePromptPlaceholder__b8cW6{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.Chat-module_imagePromptSpinner__nat8r{animation:Chat-module_imagePromptSpinner__nat8r .9s linear infinite;border:3px solid hsla(0,0%,100%,.35);border-radius:50%;border-top-color:#2563eb;height:36px;width:36px}@keyframes Chat-module_imagePromptSpinner__nat8r{to{transform:rotate(1turn)}}.Chat-module_imagePromptMeta__YwltP{display:flex;flex-direction:column;gap:4px}.Chat-module_imagePromptPrompt__N1E--{color:#111;font-size:13px;font-weight:500;overflow-wrap:anywhere}.Chat-module_imagePromptStatus__0ROQF{color:#6b7280;font-size:11px}.Chat-module_imagePromptError__x1952{align-items:center;background:rgba(220,38,38,.08);color:#dc2626;display:flex;font-size:12px;inset:0;justify-content:center;padding:12px;position:absolute;text-align:center}.Chat-module_richFeaturePlaceholder__mXS7-{align-items:center;background:rgba(56,189,248,.12);border:1px solid rgba(59,130,246,.25);border-radius:18px;display:flex;gap:12px;margin-bottom:16px;margin-top:16px;padding:12px 14px}.Chat-module_richFeaturePlaceholderSpinner__ingFq{animation:Chat-module_richFeatureSpinner__eOql6 .8s linear infinite;border:3px solid rgba(59,130,246,.3);border-radius:50%;border-top-color:#22d3ee;height:32px;width:32px}.Chat-module_richFeaturePlaceholderCopy__sEgxN{display:flex;flex-direction:column}.Chat-module_richFeaturePlaceholderTitle__lF7rJ{color:#0f172a;font-size:13px;font-weight:600}.Chat-module_richFeaturePlaceholderStatus__UJg09{color:#475569;font-size:11px}.Chat-module_progressPanel__9M8h9{background:linear-gradient(180deg,rgba(239,246,255,.94),rgba(219,234,254,.86));border:1px solid rgba(59,130,246,.24);border-radius:16px;display:flex;flex-direction:column;gap:10px;margin-bottom:12px;margin-top:10px;padding:12px 13px}.Chat-module_progressPanelTitle__rBdoY{color:#0f172a;font-size:12px;font-weight:700;line-height:1.3}.Chat-module_progressPanelTitle__rBdoY p{margin:0}.Chat-module_progressPanelSection__F3xUF{display:flex;flex-direction:column;gap:4px}.Chat-module_progressPanelSectionLabel__aTPgr{color:#1d4ed8;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.Chat-module_progressPanelSectionBody__Z7zX0{color:#0f172a;font-size:12px;line-height:1.35}.Chat-module_progressPanelSectionBody__Z7zX0 p{margin:0}.Chat-module_progressPanelList__PHFeP{display:flex;flex-direction:column;gap:6px;list-style:none;margin:0;padding:0}.Chat-module_progressPanelListItem__7v9jN{align-items:flex-start;display:grid;gap:8px;grid-template-columns:auto auto 1fr}.Chat-module_progressPanelListBullet__Tzvi7{color:#2563eb;font-size:14px;line-height:1.2;margin-top:2px}.Chat-module_progressPanelItemSpinner__oJ6Az{animation:Chat-module_progressPanelSpinner__pzxP2 .75s linear infinite;border:2px solid rgba(37,99,235,.26);border-radius:9999px;border-top-color:#2563eb;height:11px;margin-top:3px;width:11px}.Chat-module_progressPanelItemCompleted__7bJhG{align-items:center;background:rgba(34,197,94,.16);border-radius:9999px;color:#15803d;display:inline-flex;font-size:9px;font-weight:700;height:11px;justify-content:center;line-height:1;margin-top:2px;width:11px}.Chat-module_progressPanelItemText__tZPIs{color:#0f172a;font-size:12px;line-height:1.35}.Chat-module_progressPanelItemText__tZPIs p{margin:0}@keyframes Chat-module_progressPanelSpinner__pzxP2{to{transform:rotate(1turn)}}@keyframes Chat-module_richFeatureSpinner__eOql6{to{transform:rotate(1turn)}}\n/*# sourceMappingURL=data:application/json;base64,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QUVmLGdCQUNKLENBRUEsNENBQ0ksUUFDSixDQUVBLG1EQUNJLEdBQ0ksdUJBQ0osQ0FDSixDQUVBLGlEQUNJLEdBQ0ksdUJBQ0osQ0FDSiIsImZpbGUiOiJDaGF0Lm1vZHVsZS5jc3MiLCJzb3VyY2VzQ29udGVudCI6WyJAZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ09wZW5Nb2ppQmxhY2snO1xuICAgIHNyYzogdXJsKCcvZm9udHMvT3Blbk1vamktYmxhY2stZ2x5Zi53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCdodHRwczovL3M2LnB0YmsuaW8vZm9udHMvT3Blbk1vamktYmxhY2stZ2x5Zi53b2ZmMicpIGZvcm1hdCgnd29mZjInKTsgLyogPC0gVE9ETzogW/CfkLHigI3wn5qAXSBEeW5hbWljYWxseSBsb2FkIGZyb20gL3NlcnZlcnMudHMgKi9cbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgdW5pY29kZS1yYW5nZTogVSsyMywgVSsyQSwgVSsyRCwgVSszMC0zOSwgVStBOSwgVStBRSwgVSsyMDBELCBVKzIwM0MsIFUrMjA0OSwgVSsyMEUzLCBVKzIxMTcsIFUrMjEyMCwgVSsyMTIyLCBVKzIxMzksXG4gICAgICAgIFUrMjE5NC0yMTk5LCBVKzIxQTksIFUrMjFBQSwgVSsyMjlDLCBVKzIzMUEsIFUrMjMxQiwgVSsyMzI4LCBVKzIzQ0YsIFUrMjNFOS0yM0YzLCBVKzIzRjgtMjNGRSwgVSsyNEMyLCBVKzI1QTEsXG4gICAgICAgIFUrMjVBQS0yNUFFLCBVKzI1QjYsIFUrMjVDMCwgVSsyNUM5LCBVKzI1RDAsIFUrMjVEMSwgVSsyNUU3LTI1RUEsIFUrMjVFRCwgVSsyNUVFLCBVKzI1RkItMjVGRSwgVSsyNjAwLTI2MDUsXG4gICAgICAgIFUrMjYwRSwgVSsyNjExLCBVKzI2MTQsIFUrMjYxNSwgVSsyNjE4LCBVKzI2MUQsIFUrMjYyMCwgVSsyNjIyLCBVKzI2MjMsIFUrMjYyNiwgVSsyNjJBLCBVKzI2MkUsIFUrMjYyRixcbiAgICAgICAgVSsyNjM4LTI2M0EsIFUrMjY0MCwgVSsyNjQyLCBVKzI2NDgtMjY1MywgVSsyNjVGLCBVKzI2NjAsIFUrMjY2MywgVSsyNjY1LCBVKzI2NjYsIFUrMjY2OCwgVSsyNjdCLCBVKzI2N0UsIFUrMjY3RixcbiAgICAgICAgVSsyNjkxLTI2OTcsIFUrMjY5OSwgVSsyNjlCLCBVKzI2OUMsIFUrMjZBMCwgVSsyNkExLCBVKzI2QTcsIFUrMjZBQSwgVSsyNkFCLCBVKzI2QjAsIFUrMjZCMSwgVSsyNkJELCBVKzI2QkUsXG4gICAgICAgIFUrMjZDNCwgVSsyNkM1LCBVKzI2QzgsIFUrMjZDRSwgVSsyNkNGLCBVKzI2RDEsIFUrMjZEMywgVSsyNkQ0LCBVKzI2RTksIFUrMjZFQSwgVSsyNkYwLTI2RjUsIFUrMjZGNy0yNkZBLCBVKzI2RkQsXG4gICAgICAgIFUrMjcwMiwgVSsyNzA1LCBVKzI3MDgtMjcwRCwgVSsyNzBGLCBVKzI3MTIsIFUrMjcxNCwgVSsyNzE2LCBVKzI3MUQsIFUrMjcyMSwgVSsyNzI4LCBVKzI3MzMsIFUrMjczNCwgVSsyNzQ0LFxuICAgICAgICBVKzI3NDcsIFUrMjc0QywgVSsyNzRFLCBVKzI3NTMtMjc1NSwgVSsyNzU3LCBVKzI3NjMsIFUrMjc2NCwgVSsyNzk1LTI3OTcsIFUrMjdBMSwgVSsyN0IwLCBVKzI3QkYsIFUrMjkzNCwgVSsyOTM1LFxuICAgICAgICBVKzJCMDUtMkIwNywgVSsyQjBDLCBVKzJCMEQsIFUrMkIxQiwgVSsyQjFDLCBVKzJCMUYtMkIyNCwgVSsyQjJFLCBVKzJCMkYsIFUrMkI1MCwgVSsyQjU1LCBVKzJCNTgsIFUrMkI4RixcbiAgICAgICAgVSsyQkJBLTJCQkMsIFUrMkJDMywgVSsyQkM0LCBVKzJCRUEsIFUrMkJFQiwgVSszMDMwLCBVKzMwM0QsIFUrMzI5NywgVSszMjk5LCBVK0UwMDAtRTAwOSwgVStFMDEwLCBVK0UwMTEsXG4gICAgICAgIFUrRTA0MC1FMDZELCBVK0UwODAtRTBCNCwgVStFMEMwLUUwQ0MsIFUrRTBGRi1FMTBELCBVK0UxNDAtRTE0QSwgVStFMTUwLUUxNTcsIFUrRTE4MS1FMTg5LCBVK0UxQzAtRTFDNCxcbiAgICAgICAgVStFMUM2LUUxRDksIFUrRTIwMC1FMjE2LCBVK0UyNDAtRTI2OSwgVStFMjgwLUUyODMsIFUrRTJDMC1FMkM0LCBVK0UyQzYtRTJEQSwgVStFMzAwLUUzMDMsIFUrRTMwNS1FMzBGLFxuICAgICAgICBVK0UzMTItRTMxNiwgVStFMzE4LUUzMjIsIFUrRTMyNC1FMzI5LCBVK0UzMkIsIFUrRTM0MC1FMzQ4LCBVK0UzODAsIFUrRTM4MSwgVStGMDAwLCBVK0Y3N0EsIFUrRjhGRiwgVStGRTBGLFxuICAgICAgICBVKzFGMDA0LCBVKzFGMENGLCBVKzFGMTBELTFGMTBGLCBVKzFGMTJGLCBVKzFGMTZELTFGMTcxLCBVKzFGMTdFLCBVKzFGMTdGLCBVKzFGMThFLCBVKzFGMTkxLTFGMTlBLCBVKzFGMUU2LTFGMUZGLFxuICAgICAgICBVKzFGMjAxLCBVKzFGMjAyLCBVKzFGMjFBLCBVKzFGMjJGLCBVKzFGMjMyLTFGMjNBLCBVKzFGMjUwLCBVKzFGMjUxLCBVKzFGMjYwLTFGMjY1LCBVKzFGMzAwLTFGMzIxLCBVKzFGMzI0LTFGMzkzLFxuICAgICAgICBVKzFGMzk2LCBVKzFGMzk3LCBVKzFGMzk5LTFGMzlCLCBVKzFGMzlFLTFGM0YwLCBVKzFGM0YzLTFGM0Y1LCBVKzFGM0Y3LTFGNEZELCBVKzFGNEZGLTFGNTNELCBVKzFGNTQ5LTFGNTRFLFxuICAgICAgICBVKzFGNTUwLTFGNTY3LCBVKzFGNTZGLCBVKzFGNTcwLCBVKzFGNTczLTFGNTdBLCBVKzFGNTg3LCBVKzFGNThBLTFGNThELCBVKzFGNTkwLCBVKzFGNTk1LCBVKzFGNTk2LCBVKzFGNUE0LFxuICAgICAgICBVKzFGNUE1LCBVKzFGNUE4LCBVKzFGNUIxLCBVKzFGNUIyLCBVKzFGNUJDLCBVKzFGNUMyLTFGNUM0LCBVKzFGNUQxLTFGNUQzLCBVKzFGNURDLTFGNURFLCBVKzFGNUUxLCBVKzFGNUUzLFxuICAgICAgICBVKzFGNUU4LCBVKzFGNUVGLCBVKzFGNUYzLCBVKzFGNUZBLTFGNjRGLCBVKzFGNjgwLTFGNkM1LCBVKzFGNkNCLTFGNkQyLCBVKzFGNkQ1LTFGNkQ3LCBVKzFGNkRDLTFGNkU1LCBVKzFGNkU5LFxuICAgICAgICBVKzFGNkVCLCBVKzFGNkVDLCBVKzFGNkYwLCBVKzFGNkYzLTFGNkZDLCBVKzFGN0UwLTFGN0VCLCBVKzFGN0YwLCBVKzFGOTBDLTFGOTNBLCBVKzFGOTNDLTFGOTQ1LCBVKzFGOTQ3LTFGOUZGLFxuICAgICAgICBVKzFGQTcwLTFGQTdDLCBVKzFGQTgwLTFGQTg4LCBVKzFGQTkwLTFGQUJELCBVKzFGQUJGLTFGQUM1LCBVKzFGQUNFLTFGQURCLCBVKzFGQUUwLTFGQUU4LCBVKzFGQUYwLTFGQUY4LFxuICAgICAgICBVKzFGQkM1LTFGQkM5LCBVK0UwMDYxLUUwMDY3LCBVK0UwMDY5LCBVK0UwMDZDLUUwMDc5LCBVK0UwMDdGO1xufVxuXG5AZm9udC1mYWNlIHtcbiAgICBmb250LWZhbWlseTogJ09wZW5Nb2ppQ29sb3InO1xuICAgIHNyYzogdXJsKCcvZm9udHMvT3Blbk1vamktY29sb3ItY2JkdC53b2ZmMicpIGZvcm1hdCgnd29mZjInKSxcbiAgICAgICAgdXJsKCdodHRwczovL3M2LnB0YmsuaW8vZm9udHMvT3Blbk1vamktY29sb3ItY2JkdC53b2ZmMicpIGZvcm1hdCgnd29mZjInKTtcbiAgICBmb250LWRpc3BsYXk6IHN3YXA7XG4gICAgdW5pY29kZS1yYW5nZTogVSsyMywgVSsyQSwgVSsyRCwgVSszMC0zOSwgVStBOSwgVStBRSwgVSsyMDBELCBVKzIwM0MsIFUrMjA0OSwgVSsyMEUzLCBVKzIxMTcsIFUrMjEyMCwgVSsyMTIyLCBVKzIxMzksXG4gICAgICAgIFUrMjE5NC0yMTk5LCBVKzIxQTksIFUrMjFBQSwgVSsyMjlDLCBVKzIzMUEsIFUrMjMxQiwgVSsyMzI4LCBVKzIzQ0YsIFUrMjNFOS0yM0YzLCBVKzIzRjgtMjNGRSwgVSsyNEMyLCBVKzI1QTEsXG4gICAgICAgIFUrMjVBQS0yNUFFLCBVKzI1QjYsIFUrMjVDMCwgVSsyNUM5LCBVKzI1RDAsIFUrMjVEMSwgVSsyNUU3LTI1RUEsIFUrMjVFRCwgVSsyNUVFLCBVKzI1RkItMjVGRSwgVSsyNjAwLTI2MDUsXG4gICAgICAgIFUrMjYwRSwgVSsyNjExLCBVKzI2MTQsIFUrMjYxNSwgVSsyNjE4LCBVKzI2MUQsIFUrMjYyMCwgVSsyNjIyLCBVKzI2MjMsIFUrMjYyNiwgVSsyNjJBLCBVKzI2MkUsIFUrMjYyRixcbiAgICAgICAgVSsyNjM4LTI2M0EsIFUrMjY0MCwgVSsyNjQyLCBVKzI2NDgtMjY1MywgVSsyNjVGLCBVKzI2NjAsIFUrMjY2MywgVSsyNjY1LCBVKzI2NjYsIFUrMjY2OCwgVSsyNjdCLCBVKzI2N0UsIFUrMjY3RixcbiAgICAgICAgVSsyNjkxLTI2OTcsIFUrMjY5OSwgVSsyNjlCLCBVKzI2OUMsIFUrMjZBMCwgVSsyNkExLCBVKzI2QTcsIFUrMjZBQSwgVSsyNkFCLCBVKzI2QjAsIFUrMjZCMSwgVSsyNkJELCBVKzI2QkUsXG4gICAgICAgIFUrMjZDNCwgVSsyNkM1LCBVKzI2QzgsIFUrMjZDRSwgVSsyNkNGLCBVKzI2RDEsIFUrMjZEMywgVSsyNkQ0LCBVKzI2RTksIFUrMjZFQSwgVSsyNkYwLTI2RjUsIFUrMjZGNy0yNkZBLCBVKzI2RkQsXG4gICAgICAgIFUrMjcwMiwgVSsyNzA1LCBVKzI3MDgtMjcwRCwgVSsyNzBGLCBVKzI3MTIsIFUrMjcxNCwgVSsyNzE2LCBVKzI3MUQsIFUrMjcyMSwgVSsyNzI4LCBVKzI3MzMsIFUrMjczNCwgVSsyNzQ0LFxuICAgICAgICBVKzI3NDcsIFUrMjc0QywgVSsyNzRFLCBVKzI3NTMtMjc1NSwgVSsyNzU3LCBVKzI3NjMsIFUrMjc2NCwgVSsyNzk1LTI3OTcsIFUrMjdBMSwgVSsyN0IwLCBVKzI3QkYsIFUrMjkzNCwgVSsyOTM1LFxuICAgICAgICBVKzJCMDUtMkIwNywgVSsyQjBDLCBVKzJCMEQsIFUrMkIxQiwgVSsyQjFDLCBVKzJCMUYtMkIyNCwgVSsyQjJFLCBVKzJCMkYsIFUrMkI1MCwgVSsyQjU1LCBVKzJCNTgsIFUrMkI4RixcbiAgICAgICAgVSsyQkJBLTJCQkMsIFUrMkJDMywgVSsyQkM0LCBVKzJCRUEsIFUrMkJFQiwgVSszMDMwLCBVKzMwM0QsIFUrMzI5NywgVSszMjk5LCBVK0UwMDAtRTAwOSwgVStFMDEwLCBVK0UwMTEsXG4gICAgICAgIFUrRTA0MC1FMDZELCBVK0UwODAtRTBCNCwgVStFMEMwLUUwQ0MsIFUrRTBGRi1FMTBELCBVK0UxNDAtRTE0QSwgVStFMTUwLUUxNTcsIFUrRTE4MS1FMTg5LCBVK0UxQzAtRTFDNCxcbiAgICAgICAgVStFMUM2LUUxRDksIFUrRTIwMC1FMjE2LCBVK0UyNDAtRTI2OSwgVStFMjgwLUUyODMsIFUrRTJDMC1FMkM0LCBVK0UyQzYtRTJEQSwgVStFMzAwLUUzMDMsIFUrRTMwNS1FMzBGLFxuICAgICAgICBVK0UzMTItRTMxNiwgVStFMzE4LUUzMjIsIFUrRTMyNC1FMzI5LCBVK0UzMkIsIFUrRTM0MC1FMzQ4LCBVK0UzODAsIFUrRTM4MSwgVStGMDAwLCBVK0Y3N0EsIFUrRjhGRiwgVStGRTBGLFxuICAgICAgICBVKzFGMDA0LCBVKzFGMENGLCBVKzFGMTBELTFGMTBGLCBVKzFGMTJGLCBVKzFGMTZELTFGMTcxLCBVKzFGMTdFLCBVKzFGMTdGLCBVKzFGMThFLCBVKzFGMTkxLTFGMTlBLCBVKzFGMUU2LTFGMUZGLFxuICAgICAgICBVKzFGMjAxLCBVKzFGMjAyLCBVKzFGMjFBLCBVKzFGMjJGLCBVKzFGMjMyLTFGMjNBLCBVKzFGMjUwLCBVKzFGMjUxLCBVKzFGMjYwLTFGMjY1LCBVKzFGMzAwLTFGMzIxLCBVKzFGMzI0LTFGMzkzLFxuICAgICAgICBVKzFGMzk2LCBVKzFGMzk3LCBVKzFGMzk5LTFGMzlCLCBVKzFGMzlFLTFGM0YwLCBVKzFGM0YzLTFGM0Y1LCBVKzFGM0Y3LTFGNEZELCBVKzFGNEZGLTFGNTNELCBVKzFGNTQ5LTFGNTRFLFxuICAgICAgICBVKzFGNTUwLTFGNTY3LCBVKzFGNTZGLCBVKzFGNTcwLCBVKzFGNTczLTFGNTdBLCBVKzFGNTg3LCBVKzFGNThBLTFGNThELCBVKzFGNTkwLCBVKzFGNTk1LCBVKzFGNTk2LCBVKzFGNUE0LFxuICAgICAgICBVKzFGNUE1LCBVKzFGNUE4LCBVKzFGNUIxLCBVKzFGNUIyLCBVKzFGNUJDLCBVKzFGNUMyLTFGNUM0LCBVKzFGNUQxLTFGNUQzLCBVKzFGNURDLTFGNURFLCBVKzFGNUUxLCBVKzFGNUUzLFxuICAgICAgICBVKzFGNUU4LCBVKzFGNUVGLCBVKzFGNUYzLCBVKzFGNUZBLTFGNjRGLCBVKzFGNjgwLTFGNkM1LCBVKzFGNkNCLTFGNkQyLCBVKzFGNkQ1LTFGNkQ3LCBVKzFGNkRDLTFGNkU1LCBVKzFGNkU5LFxuICAgICAgICBVKzFGNkVCLCBVKzFGNkVDLCBVKzFGNkYwLCBVKzFGNkYzLTFGNkZDLCBVKzFGN0UwLTFGN0VCLCBVKzFGN0YwLCBVKzFGOTBDLTFGOTNBLCBVKzFGOTNDLTFGOTQ1LCBVKzFGOTQ3LTFGOUZGLFxuICAgICAgICBVKzFGQTcwLTFGQTdDLCBVKzFGQTgwLTFGQTg4LCBVKzFGQTkwLTFGQUJELCBVKzFGQUJGLTFGQUM1LCBVKzFGQUNFLTFGQURCLCBVKzFGQUUwLTFGQUU4LCBVKzFGQUYwLTFGQUY4LFxuICAgICAgICBVKzFGQkM1LTFGQkM5LCBVK0UwMDYxLUUwMDY3LCBVK0UwMDY5LCBVK0UwMDZDLUUwMDc5LCBVK0UwMDdGO1xufVxuXG4uY29waWVkVG9DbGlwYm9hcmRNZXNzYWdlIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAzMnB4O1xuICAgIGxlZnQ6IDUwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgYmFja2dyb3VuZDogIzIyMjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiAxMHB4IDI0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGZvbnQtc2l6ZTogMS4xZW07XG4gICAgYm94LXNoYWRvdzogMCAycHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTgpO1xuICAgIG9wYWNpdHk6IDAuOTc7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogOTk5OTtcbn1cblxuLkNoYXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuXG4gICAgZm9udC1mYW1pbHk6IHZhcihcbiAgICAgICAgICAgIC0tY2hhdC1mb250LWZhbWlseSxcbiAgICAgICAgICAgIHZhcigtLWZvbnQtcG9wcGlucywgJ1BvcHBpbnMnLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sICdTZWdvZSBVSScsIHNhbnMtc2VyaWYpXG4gICAgICAgICksXG4gICAgICAgICdPcGVuTW9qaUNvbG9yJywgJ09wZW5Nb2ppQmxhY2snO1xuXG4gICAgLS1jaGF0LW1lc3NhZ2UtbWluLXdpZHRoOiAxNzBweDtcbiAgICAtLWNoYXQtbWVzc2FnZS1hdmF0YXItZ2FwOiAxNHB4O1xuICAgIC0tY2hhdC1tZXNzYWdlLWF2YXRhci1zaXplOiA0MnB4O1xuICAgIC0tY2hhdC1tZXNzYWdlLW1heC13aWR0aDogbWluKFxuICAgICAgICA3MiUsXG4gICAgICAgIDY4MHB4LFxuICAgICAgICBjYWxjKDEwMCUgLSB2YXIoLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLXNpemUpIC0gdmFyKC0tY2hhdC1tZXNzYWdlLWF2YXRhci1nYXApKVxuICAgICk7XG4gICAgLS1jaGF0LWJ1YmJsZS1yYWRpdXM6IDI0cHg7XG4gICAgLS1jaGF0LWJ1YmJsZS1zaGFkb3c6IDAgMTJweCAzNHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xNik7XG4gICAgLS1jaGF0LWJ1YmJsZS1zaGFkb3ctaG92ZXI6IDAgMThweCA0MnB4IHJnYmEoMTUsIDIzLCA0MiwgMC4yKTtcbiAgICAtLWNoYXQtYnViYmxlLWJvcmRlci1jb2xvcjogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM0KTtcbiAgICAtLWNoYXQtYnViYmxlLWZvbnQtc2l6ZTogMTVweDtcbiAgICAtLWNoYXQtYnViYmxlLWxpbmUtaGVpZ2h0OiAxLjYyO1xuICAgIC0tY2hhdC1pbnB1dC12aXNpYmxlLWxpbmVzOiAzO1xuICAgIC0tY2hhdC1pbnB1dC1mb250LXNpemU6IDE1cHg7XG4gICAgLS1jaGF0LWlucHV0LWxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgLS1jaGF0LWlucHV0LXBhZGRpbmcteTogMTBweDtcbiAgICAtLWNoYXQtaW5wdXQtcGFkZGluZy14OiAxMnB4O1xuICAgIC0tY2hhdC1pbnB1dC1hY3Rpb24tc2l6ZTogNDBweDtcbiAgICAtLWNoYXQtaW5wdXQtdGV4dGFyZWEtaGVpZ2h0OiBjYWxjKFxuICAgICAgICB2YXIoLS1jaGF0LWlucHV0LXZpc2libGUtbGluZXMpICogdmFyKC0tY2hhdC1pbnB1dC1mb250LXNpemUpICogdmFyKC0tY2hhdC1pbnB1dC1saW5lLWhlaWdodCkgK1xuICAgICAgICAgICAgKDIgKiB2YXIoLS1jaGF0LWlucHV0LXBhZGRpbmcteSkpXG4gICAgKTtcbiAgICAtLWNoYXQtbWVzc2FnZS1tZXRhLWNvbG9yOiByZ2JhKDcxLCA4NSwgMTA1LCAwLjg1KTtcbiAgICAtLWNoYXQtbWVzc2FnZS1saWZlY3ljbGUtYmFkZ2UtYmFja2dyb3VuZDogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjE2KTtcbiAgICAtLWNoYXQtbWVzc2FnZS1saWZlY3ljbGUtYmFkZ2UtY29sb3I6ICM0NzU1Njk7XG4gICAgLS1jaGF0LXBhcnRpY2lwYW50LWxhYmVsLWNvbG9yOiByZ2JhKDcxLCA4NSwgMTA1LCAwLjgyKTtcbiAgICAtLWNoYXQtbWVzc2FnZS1jb250cm9sLWJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yOCk7XG4gICAgLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1ib3JkZXItY29sb3I6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40Nik7XG4gICAgLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1ob3Zlci1iYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzYpO1xuICAgIC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtaG92ZXItYm9yZGVyLWNvbG9yOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNzYpO1xuICAgIC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtY29sb3I6ICMxMTExMTE7XG4gICAgLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDE1LCAyMywgNDIsIDAuMTYpO1xuICAgIC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtaG92ZXItc2hhZG93OiAwIDVweCAxNHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4yMik7XG4gICAgLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1zcGlubmVyLWJvcmRlci1jb2xvcjogcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtc3Bpbm5lci1hY2NlbnQtY29sb3I6ICMxMTExMTE7XG4gICAgLS1jaGF0LWFydGljbGUtY29udHJvbC1iYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgIC0tY2hhdC1hcnRpY2xlLWNvbnRyb2wtYm9yZGVyLWNvbG9yOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuNjUpO1xuICAgIC0tY2hhdC1hcnRpY2xlLWNvbnRyb2wtaG92ZXItYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICAtLWNoYXQtYXJ0aWNsZS1jb250cm9sLWhvdmVyLWJvcmRlci1jb2xvcjogcmdiYSgxMDAsIDExNiwgMTM5LCAwLjgyKTtcbiAgICAtLWNoYXQtYXJ0aWNsZS1jb250cm9sLWhvdmVyLXNoYWRvdzogMCAycHggOHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xMik7XG4gICAgLS1jaGF0LWFydGljbGUtcmF0aW5nLWJhY2tncm91bmQ6IHJnYmEoMjQ4LCAyNTAsIDI1MiwgMC45KTtcbiAgICAtLWNoYXQtYXJ0aWNsZS1yYXRpbmctYm9yZGVyLWNvbG9yOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuNSk7XG4gICAgLS1jaGF0LWFydGljbGUtcmF0aW5nLWhvdmVyLWJhY2tncm91bmQ6IHJnYmEoMjQxLCAyNDUsIDI0OSwgMC45NCk7XG4gICAgLS1jaGF0LWFydGljbGUtcmF0aW5nLWhvdmVyLWJvcmRlci1jb2xvcjogcmdiYSgxMDAsIDExNiwgMTM5LCAwLjYyKTtcbiAgICAtLWNoYXQtYXJ0aWNsZS1yYXRpbmctc2hhZG93OiBub25lO1xuICAgIC0tY2hhdC1pbnB1dC1ib3JkZXItY29sb3I6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4xNCk7XG4gICAgLS1jaGF0LWlucHV0LWJhY2tkcm9wOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIDE4MGRlZyxcbiAgICAgICAgcmdiYSgyNDgsIDI1MCwgMjUyLCAwKSAwJSxcbiAgICAgICAgcmdiYSgyNDgsIDI1MCwgMjUyLCAwLjkpIDQ0JSxcbiAgICAgICAgcmdiYSgyNDgsIDI1MCwgMjUyLCAwLjk2KSAxMDAlXG4gICAgKTtcbiAgICAtLWNoYXQtZnVsbC1wYWdlLWlucHV0LWJhY2tkcm9wOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIDE4MGRlZyxcbiAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjAyKSAwJSxcbiAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg2KSA2MCUsXG4gICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NSkgMTAwJVxuICAgICk7XG4gICAgLS1jaGF0LWlucHV0LWRyYWctb3Zlci1iYWNrZHJvcDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAxODBkZWcsXG4gICAgICAgIHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjA0KSAwJSxcbiAgICAgICAgcmdiYSgxNCwgMTY1LCAyMzMsIDAuMTMpIDEwMCVcbiAgICApO1xuICAgIC0tY2hhdC1pbnB1dC1jb250YWluZXItYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAxNTBkZWcsXG4gICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45OCkgMCUsXG4gICAgICAgIHJnYmEoMjQ4LCAyNTAsIDI1MiwgMC45NCkgMTAwJVxuICAgICk7XG4gICAgLS1jaGF0LWlucHV0LWNvbnRhaW5lci1ib3JkZXItY29sb3I6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4zKTtcbiAgICAtLWNoYXQtaW5wdXQtY29udGFpbmVyLXNoYWRvdzogMCAxNHB4IDM0cHggcmdiYSgxNSwgMjMsIDQyLCAwLjEyKSxcbiAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gICAgLS1jaGF0LWlucHV0LXRleHQtY29sb3I6ICMwZjE3MmE7XG4gICAgLS1jaGF0LWlucHV0LXBsYWNlaG9sZGVyLWNvbG9yOiAjOGI5YmIxO1xuICAgIC0tY2hhdC1pbnB1dC1hY3Rpb24tY29sb3I6ICM2NDc0OGI7XG4gICAgLS1jaGF0LWlucHV0LWFjdGlvbi1ob3Zlci1iYWNrZ3JvdW5kOiAjZjFmNWY5O1xuICAgIC0tY2hhdC1pbnB1dC1hY3Rpb24taG92ZXItY29sb3I6ICMwZjE3MmE7XG4gICAgLS1jaGF0LWZpbGUtcHJldmlldy1iYWNrZ3JvdW5kOiByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMSk7XG4gICAgLS1jaGF0LWZpbGUtcHJldmlldy1ib3JkZXItY29sb3I6IHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4yKTtcbiAgICAtLWNoYXQtZmlsZS1wcmV2aWV3LWhvdmVyLWJhY2tncm91bmQ6IHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4xNSk7XG4gICAgLS1jaGF0LWZpbGUtcHJldmlldy1ob3Zlci1ib3JkZXItY29sb3I6IHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4zKTtcbiAgICAtLWNoYXQtZmlsZS1uYW1lLWNvbG9yOiAjMDAwMDAwO1xuICAgIC0tY2hhdC1maWxlLXNpemUtY29sb3I6ICM2YjcyODA7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1wYW5lbC1iYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSk7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1wYW5lbC1ib3JkZXItY29sb3I6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4zNSk7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1wYW5lbC1jb2xvcjogIzBmMTcyYTtcbiAgICAtLWNoYXQtZGljdGF0aW9uLXRpdGxlLWNvbG9yOiAjNDc1NTY5O1xuICAgIC0tY2hhdC1kaWN0YXRpb24tdG9nZ2xlLWJhY2tncm91bmQ6ICNmOGZhZmM7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi10b2dnbGUtY29sb3I6ICMzMzQxNTU7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi10cmFuc2NyaXB0LWJhY2tncm91bmQ6IHJnYmEoMjM5LCAyNDYsIDI1NSwgMC45KTtcbiAgICAtLWNoYXQtZGljdGF0aW9uLXRyYW5zY3JpcHQtY29sb3I6ICMwYzRhNmU7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1zZXR0aW5ncy1jb2xvcjogIzMzNDE1NTtcbiAgICAtLWNoYXQtZGljdGF0aW9uLWZhbGxiYWNrLWNvbG9yOiAjNDc1NTY5O1xuICAgIC0tY2hhdC1yZXBseS1jb21wb3Nlci1iYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTIpO1xuICAgIC0tY2hhdC1yZXBseS1jb21wb3Nlci1ib3JkZXItY29sb3I6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4zKTtcbiAgICAtLWNoYXQtcmVwbHktY29tcG9zZXItc2hhZG93OiAwIDEwcHggMjRweCByZ2JhKDE1LCAyMywgNDIsIDAuMDgpO1xuICAgIC0tY2hhdC1yZXBseS1kaXNtaXNzLWJhY2tncm91bmQ6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4xNCk7XG4gICAgLS1jaGF0LXJlcGx5LWRpc21pc3MtaG92ZXItYmFja2dyb3VuZDogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjI0KTtcbiAgICAtLWNoYXQtcmVwbHktZGlzbWlzcy1jb2xvcjogIzQ3NTU2OTtcbiAgICAtLWNoYXQtcmVwbHktZGlzbWlzcy1ob3Zlci1jb2xvcjogIzBmMTcyYTtcbiAgICAtLWNoYXQtc3BlZWNoLXN0YXR1cy1iYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpO1xuICAgIC0tY2hhdC1zcGVlY2gtc3RhdHVzLWJvcmRlci1jb2xvcjogcmdiYSgxNSwgMjMsIDQyLCAwLjE1KTtcbiAgICAtLWNoYXQtc3BlZWNoLXN0YXR1cy1jb2xvcjogIzBmMTcyYTtcbiAgICAtLWNoYXQtc3BlZWNoLXN0YXR1cy1zaGFkb3c6IDAgMTJweCAyOHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xOCk7XG4gICAgLS1jaGF0LXNwZWVjaC1zdGF0dXMtZG90LWJhY2tncm91bmQ6ICM2NDc0OGI7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1hY3Rpb24tYmFja2dyb3VuZDogI2Y4ZmFmYztcbiAgICAtLWNoYXQtZGljdGF0aW9uLWFjdGlvbi1ib3JkZXItY29sb3I6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4zNSk7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1hY3Rpb24tY29sb3I6ICMwZjE3MmE7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1jb3JyZWN0aW9uLWxhYmVsLWNvbG9yOiAjMzM0MTU1O1xuICAgIC0tY2hhdC1kaWN0YXRpb24tY29ycmVjdGlvbi10ZXh0YXJlYS1iYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIC0tY2hhdC1kaWN0YXRpb24tY29ycmVjdGlvbi10ZXh0YXJlYS1jb2xvcjogIzBmMTcyYTtcbiAgICAtLWNoYXQtZGljdGF0aW9uLWNvcnJlY3Rpb24tdGV4dGFyZWEtYm9yZGVyLWNvbG9yOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMzUpO1xufVxuXG4uQ2hhdFtkYXRhLWNoYXQtdGhlbWU9J2RhcmsnXSB7XG4gICAgY29sb3I6ICNlMmU4ZjA7XG4gICAgLS1jaGF0LWJ1YmJsZS1zaGFkb3c6IDAgMTRweCAzNHB4IHJnYmEoMiwgNiwgMjMsIDAuMzgpO1xuICAgIC0tY2hhdC1idWJibGUtc2hhZG93LWhvdmVyOiAwIDE4cHggNDJweCByZ2JhKDIsIDYsIDIzLCAwLjQ4KTtcbiAgICAtLWNoYXQtYnViYmxlLWJvcmRlci1jb2xvcjogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjIpO1xuICAgIC0tY2hhdC1tZXNzYWdlLW1ldGEtY29sb3I6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC44NCk7XG4gICAgLS1jaGF0LW1lc3NhZ2UtbGlmZWN5Y2xlLWJhZGdlLWJhY2tncm91bmQ6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4xNCk7XG4gICAgLS1jaGF0LW1lc3NhZ2UtbGlmZWN5Y2xlLWJhZGdlLWNvbG9yOiAjY2JkNWUxO1xuICAgIC0tY2hhdC1wYXJ0aWNpcGFudC1sYWJlbC1jb2xvcjogcmdiYSgyMDMsIDIxMywgMjI1LCAwLjc2KTtcbiAgICAtLWNoYXQtbWVzc2FnZS1jb250cm9sLWJhY2tncm91bmQ6IHJnYmEoMTUsIDIzLCA0MiwgMC43OCk7XG4gICAgLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1ib3JkZXItY29sb3I6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC40KTtcbiAgICAtLWNoYXQtbWVzc2FnZS1jb250cm9sLWhvdmVyLWJhY2tncm91bmQ6IHJnYmEoMzAsIDQxLCA1OSwgMC45Nik7XG4gICAgLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1ob3Zlci1ib3JkZXItY29sb3I6IHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC43Mik7XG4gICAgLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1jb2xvcjogI2UyZThmMDtcbiAgICAtLWNoYXQtbWVzc2FnZS1jb250cm9sLXNoYWRvdzogMCAxMHB4IDI0cHggcmdiYSgyLCA2LCAyMywgMC4zNCk7XG4gICAgLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1ob3Zlci1zaGFkb3c6IDAgMTJweCAyOHB4IHJnYmEoMiwgNiwgMjMsIDAuNDIpO1xuICAgIC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtc3Bpbm5lci1ib3JkZXItY29sb3I6IHJnYmEoMjI2LCAyMzIsIDI0MCwgMC4zKTtcbiAgICAtLWNoYXQtbWVzc2FnZS1jb250cm9sLXNwaW5uZXItYWNjZW50LWNvbG9yOiAjZTJlOGYwO1xuICAgIC0tY2hhdC1hcnRpY2xlLWNvbnRyb2wtYmFja2dyb3VuZDogcmdiYSgxNSwgMjMsIDQyLCAwLjg2KTtcbiAgICAtLWNoYXQtYXJ0aWNsZS1jb250cm9sLWJvcmRlci1jb2xvcjogcmdiYSg3MSwgODUsIDEwNSwgMC45NSk7XG4gICAgLS1jaGF0LWFydGljbGUtY29udHJvbC1ob3Zlci1iYWNrZ3JvdW5kOiByZ2JhKDMwLCA0MSwgNTksIDAuOTgpO1xuICAgIC0tY2hhdC1hcnRpY2xlLWNvbnRyb2wtaG92ZXItYm9yZGVyLWNvbG9yOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuNzIpO1xuICAgIC0tY2hhdC1hcnRpY2xlLWNvbnRyb2wtaG92ZXItc2hhZG93OiAwIDEycHggMjZweCByZ2JhKDIsIDYsIDIzLCAwLjMyKTtcbiAgICAtLWNoYXQtYXJ0aWNsZS1yYXRpbmctYmFja2dyb3VuZDogcmdiYSgxNSwgMjMsIDQyLCAwLjg2KTtcbiAgICAtLWNoYXQtYXJ0aWNsZS1yYXRpbmctYm9yZGVyLWNvbG9yOiByZ2JhKDcxLCA4NSwgMTA1LCAwLjk1KTtcbiAgICAtLWNoYXQtYXJ0aWNsZS1yYXRpbmctaG92ZXItYmFja2dyb3VuZDogcmdiYSgzMCwgNDEsIDU5LCAwLjk4KTtcbiAgICAtLWNoYXQtYXJ0aWNsZS1yYXRpbmctaG92ZXItYm9yZGVyLWNvbG9yOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuNzIpO1xuICAgIC0tY2hhdC1hcnRpY2xlLXJhdGluZy1zaGFkb3c6IDAgMTJweCAyNnB4IHJnYmEoMiwgNiwgMjMsIDAuMzIpO1xuICAgIC0tY2hhdC1pbnB1dC1ib3JkZXItY29sb3I6IHJnYmEoNTEsIDY1LCA4NSwgMC43OCk7XG4gICAgLS1jaGF0LWlucHV0LWJhY2tkcm9wOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIDE4MGRlZyxcbiAgICAgICAgcmdiYSgyLCA2LCAyMywgMCkgMCUsXG4gICAgICAgIHJnYmEoMiwgNiwgMjMsIDAuODIpIDQ4JSxcbiAgICAgICAgcmdiYSgyLCA2LCAyMywgMC45NikgMTAwJVxuICAgICk7XG4gICAgLS1jaGF0LWZ1bGwtcGFnZS1pbnB1dC1iYWNrZHJvcDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAxODBkZWcsXG4gICAgICAgIHJnYmEoMiwgNiwgMjMsIDApIDAlLFxuICAgICAgICByZ2JhKDIsIDYsIDIzLCAwLjg4KSA1OCUsXG4gICAgICAgIHJnYmEoMiwgNiwgMjMsIDAuOTgpIDEwMCVcbiAgICApO1xuICAgIC0tY2hhdC1pbnB1dC1kcmFnLW92ZXItYmFja2Ryb3A6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgMTgwZGVnLFxuICAgICAgICByZ2JhKDE0LCAxNjUsIDIzMywgMC4wOCkgMCUsXG4gICAgICAgIHJnYmEoOCwgNDcsIDczLCAwLjUpIDEwMCVcbiAgICApO1xuICAgIC0tY2hhdC1pbnB1dC1jb250YWluZXItYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAxNTBkZWcsXG4gICAgICAgIHJnYmEoMTUsIDIzLCA0MiwgMC45NikgMCUsXG4gICAgICAgIHJnYmEoMTUsIDIzLCA0MiwgMC45KSAxMDAlXG4gICAgKTtcbiAgICAtLWNoYXQtaW5wdXQtY29udGFpbmVyLWJvcmRlci1jb2xvcjogcmdiYSg3MSwgODUsIDEwNSwgMC44OCk7XG4gICAgLS1jaGF0LWlucHV0LWNvbnRhaW5lci1zaGFkb3c6IDAgMjBweCA0NHB4IHJnYmEoMiwgNiwgMjMsIDAuNDIpLFxuICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4xKTtcbiAgICAtLWNoYXQtaW5wdXQtdGV4dC1jb2xvcjogI2UyZThmMDtcbiAgICAtLWNoYXQtaW5wdXQtcGxhY2Vob2xkZXItY29sb3I6ICM5NGEzYjg7XG4gICAgLS1jaGF0LWlucHV0LWFjdGlvbi1jb2xvcjogI2NiZDVlMTtcbiAgICAtLWNoYXQtaW5wdXQtYWN0aW9uLWhvdmVyLWJhY2tncm91bmQ6IHJnYmEoNTEsIDY1LCA4NSwgMC43OCk7XG4gICAgLS1jaGF0LWlucHV0LWFjdGlvbi1ob3Zlci1jb2xvcjogI2Y4ZmFmYztcbiAgICAtLWNoYXQtZmlsZS1wcmV2aWV3LWJhY2tncm91bmQ6IHJnYmEoMTUsIDIzLCA0MiwgMC43OCk7XG4gICAgLS1jaGF0LWZpbGUtcHJldmlldy1ib3JkZXItY29sb3I6IHJnYmEoNzEsIDg1LCAxMDUsIDAuNzIpO1xuICAgIC0tY2hhdC1maWxlLXByZXZpZXctaG92ZXItYmFja2dyb3VuZDogcmdiYSgzMCwgNDEsIDU5LCAwLjg2KTtcbiAgICAtLWNoYXQtZmlsZS1wcmV2aWV3LWhvdmVyLWJvcmRlci1jb2xvcjogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjQyKTtcbiAgICAtLWNoYXQtZmlsZS1uYW1lLWNvbG9yOiAjZTJlOGYwO1xuICAgIC0tY2hhdC1maWxlLXNpemUtY29sb3I6ICM5NGEzYjg7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1wYW5lbC1iYWNrZ3JvdW5kOiByZ2JhKDE1LCAyMywgNDIsIDAuOTQpO1xuICAgIC0tY2hhdC1kaWN0YXRpb24tcGFuZWwtYm9yZGVyLWNvbG9yOiByZ2JhKDcxLCA4NSwgMTA1LCAwLjgpO1xuICAgIC0tY2hhdC1kaWN0YXRpb24tcGFuZWwtY29sb3I6ICNlMmU4ZjA7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi10aXRsZS1jb2xvcjogI2NiZDVlMTtcbiAgICAtLWNoYXQtZGljdGF0aW9uLXRvZ2dsZS1iYWNrZ3JvdW5kOiByZ2JhKDMwLCA0MSwgNTksIDAuOTIpO1xuICAgIC0tY2hhdC1kaWN0YXRpb24tdG9nZ2xlLWNvbG9yOiAjZTJlOGYwO1xuICAgIC0tY2hhdC1kaWN0YXRpb24tdHJhbnNjcmlwdC1iYWNrZ3JvdW5kOiByZ2JhKDgsIDQ3LCA3MywgMC42NCk7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi10cmFuc2NyaXB0LWNvbG9yOiAjYmFlNmZkO1xuICAgIC0tY2hhdC1kaWN0YXRpb24tc2V0dGluZ3MtY29sb3I6ICNjYmQ1ZTE7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1mYWxsYmFjay1jb2xvcjogIzk0YTNiODtcbiAgICAtLWNoYXQtcmVwbHktY29tcG9zZXItYmFja2dyb3VuZDogcmdiYSgxNSwgMjMsIDQyLCAwLjk0KTtcbiAgICAtLWNoYXQtcmVwbHktY29tcG9zZXItYm9yZGVyLWNvbG9yOiByZ2JhKDcxLCA4NSwgMTA1LCAwLjgpO1xuICAgIC0tY2hhdC1yZXBseS1jb21wb3Nlci1zaGFkb3c6IDAgMTRweCAyOHB4IHJnYmEoMiwgNiwgMjMsIDAuMzIpO1xuICAgIC0tY2hhdC1yZXBseS1kaXNtaXNzLWJhY2tncm91bmQ6IHJnYmEoNTEsIDY1LCA4NSwgMC43Nik7XG4gICAgLS1jaGF0LXJlcGx5LWRpc21pc3MtaG92ZXItYmFja2dyb3VuZDogcmdiYSg3MSwgODUsIDEwNSwgMC45KTtcbiAgICAtLWNoYXQtcmVwbHktZGlzbWlzcy1jb2xvcjogI2NiZDVlMTtcbiAgICAtLWNoYXQtcmVwbHktZGlzbWlzcy1ob3Zlci1jb2xvcjogI2Y4ZmFmYztcbiAgICAtLWNoYXQtc3BlZWNoLXN0YXR1cy1iYWNrZ3JvdW5kOiByZ2JhKDE1LCAyMywgNDIsIDAuOTYpO1xuICAgIC0tY2hhdC1zcGVlY2gtc3RhdHVzLWJvcmRlci1jb2xvcjogcmdiYSg3MSwgODUsIDEwNSwgMC44KTtcbiAgICAtLWNoYXQtc3BlZWNoLXN0YXR1cy1jb2xvcjogI2UyZThmMDtcbiAgICAtLWNoYXQtc3BlZWNoLXN0YXR1cy1zaGFkb3c6IDAgMTZweCAzNHB4IHJnYmEoMiwgNiwgMjMsIDAuNDIpO1xuICAgIC0tY2hhdC1zcGVlY2gtc3RhdHVzLWRvdC1iYWNrZ3JvdW5kOiAjOTRhM2I4O1xuICAgIC0tY2hhdC1kaWN0YXRpb24tYWN0aW9uLWJhY2tncm91bmQ6IHJnYmEoMzAsIDQxLCA1OSwgMC45Mik7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1hY3Rpb24tYm9yZGVyLWNvbG9yOiByZ2JhKDcxLCA4NSwgMTA1LCAwLjc4KTtcbiAgICAtLWNoYXQtZGljdGF0aW9uLWFjdGlvbi1jb2xvcjogI2UyZThmMDtcbiAgICAtLWNoYXQtZGljdGF0aW9uLWNvcnJlY3Rpb24tbGFiZWwtY29sb3I6ICNjYmQ1ZTE7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1jb3JyZWN0aW9uLXRleHRhcmVhLWJhY2tncm91bmQ6IHJnYmEoOCwgMTUsIDI4LCAwLjk4KTtcbiAgICAtLWNoYXQtZGljdGF0aW9uLWNvcnJlY3Rpb24tdGV4dGFyZWEtY29sb3I6ICNlMmU4ZjA7XG4gICAgLS1jaGF0LWRpY3RhdGlvbi1jb3JyZWN0aW9uLXRleHRhcmVhLWJvcmRlci1jb2xvcjogcmdiYSg3MSwgODUsIDEwNSwgMC43OCk7XG59XG5cbi5jb25zdHJhaW5lZEFydGljbGVWaXN1YWwge1xuICAgIC0tY2hhdC1hcnRpY2xlLWxheW91dC1tYXgtd2lkdGg6IDU0cmVtO1xuICAgIC0tY2hhdC1hcnRpY2xlLWxheW91dC1wYWRkaW5nLWlubGluZTogY2xhbXAoMTZweCwgNHZ3LCA0MHB4KTtcbn1cblxuLmNoYXRNYWluRmxvdyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgbWluLWhlaWdodDogMDtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGU6XG4gICAgICAgICfwn5+mJyBtaW4tY29udGVudFxuICAgICAgICAn8J+SrCcgMWZyXG4gICAgICAgICfwn5OdJyBtaW4tY29udGVudFxuICAgICAgICAvIDFmcjtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdEJhciB7XG4gICAgZ3JpZC1hcmVhOiDwn5+mO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDE2cHggMjBweDtcbiAgICBjb2xvcjogIzBmMTcyNDtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiAjZmZmZmZmO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDE1LCAyMywgMzYsIDAuMDYpO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG4uVGFza3NJblByb2dyZXNzIHtcbiAgICBncmlkLWFyZWE6IPCfn6Y7XG4gICAgd2lkdGg6IGF1dG87XG4gICAgaGVpZ2h0OiBtaW4tY29udGVudDtcbiAgICBhbGlnbi1zZWxmOiBjZW50ZXI7XG4gICAganVzdGlmeS1zZWxmOiBzZWxmLWVuZDtcbiAgICBtYXJnaW46IDhweCAxNnB4O1xufVxuXG4uYWN0aW9ucyB7XG4gICAgZ3JpZC1hcmVhOiDwn5KsO1xuICAgIHdpZHRoOiBhdXRvO1xuICAgIGhlaWdodDogbWluLWNvbnRlbnQ7XG4gICAgei1pbmRleDogNDA7XG4gICAgYWxpZ24tc2VsZjogc2VsZi1zdGFydDtcbiAgICBqdXN0aWZ5LXNlbGY6IHNlbGYtZW5kO1xuICAgIG1hcmdpbjogMTZweCAyMHB4IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogOHB4O1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlO1xuICAgIHdpbGwtY2hhbmdlOiBvcGFjaXR5O1xufVxuXG4uYWN0aW9ucy5wb3J0YWwge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmFjdGlvbnMubGVmdCB7XG4gICAganVzdGlmeS1zZWxmOiBzZWxmLXN0YXJ0O1xufVxuXG4uYWN0aW9ucy5yaWdodCB7XG4gICAganVzdGlmeS1zZWxmOiBzZWxmLWVuZDtcbn1cblxuLmFjdGlvbnNGYWRlZCB7XG4gICAgb3BhY2l0eTogMC4zO1xufVxuXG4uYWN0aW9uc1Njcm9sbGluZyB7XG4gICAgb3BhY2l0eTogMC4xNTtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLyogTGFyZ2UgdGFibGV0IGFuZCBzbWFsbCBkZXNrdG9wIHNjcmVlbnMgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA5MDBweCkge1xuICAgIC5jaGF0QnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2hhdEJ1dHRvbiBzdmcge1xuICAgICAgICB3aWR0aDogMThweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDE4cHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2hhdEJ1dHRvblRleHQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVzZVRlbXBsYXRlQnV0dG9uIHtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG4gICAgICAgIHdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4td2lkdGg6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLWhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIGdhcDogMCAhaW1wb3J0YW50O1xuICAgICAgICBtYXJnaW46IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudXNlVGVtcGxhdGVCdXR0b24gc3ZnIHtcbiAgICAgICAgd2lkdGg6IDE4cHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVzZVRlbXBsYXRlQnV0dG9uIC5jaGF0QnV0dG9uVGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG59XG5cbi8qIE1lZGl1bSBzY3JlZW5zICovXG5AbWVkaWEgKG1heC13aWR0aDogNjAwcHgpIHtcbiAgICAuYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbjogMTRweCAxOHB4IDA7XG4gICAgICAgIGdhcDogN3B4O1xuICAgIH1cbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdENoaWxkcmVuIHtcbiAgICBncmlkLWFyZWE6IPCfkqw7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIHotaW5kZXg6IDMwMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdENoaWxkcmVuID4gKiB7XG4gICAgcG9pbnRlci1ldmVudHM6IGF1dG87XG59XG5cbi8qIENoYXQgbWVzc2FnZXMgYXJlYSAqL1xuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2VzIHtcbiAgICBncmlkLWFyZWE6IPCfkqw7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgaGVpZ2h0OiAxMDAlO1xuICAgIHotaW5kZXg6IDEwO1xuICAgIHBhZGRpbmc6IDI4cHggMjRweCAxOHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG4gICAgb3ZlcmZsb3cteDogaGlkZGVuO1xuICAgIHNjcm9sbC1iZWhhdmlvcjogc21vb3RoO1xufVxuXG4uYXJ0aWNsZU1vZGVDaGF0TWVzc2FnZXMge1xuICAgIHBhZGRpbmctbGVmdDogdmFyKC0tY2hhdC1hcnRpY2xlLWxheW91dC1wYWRkaW5nLWlubGluZSk7XG4gICAgcGFkZGluZy1yaWdodDogdmFyKC0tY2hhdC1hcnRpY2xlLWxheW91dC1wYWRkaW5nLWlubGluZSk7XG59XG5cbi5hcnRpY2xlTW9kZUNoYXRNZXNzYWdlcyAuY2hhdE1lc3NhZ2Uge1xuICAgIHdpZHRoOiBtaW4odmFyKC0tY2hhdC1hcnRpY2xlLWxheW91dC1tYXgtd2lkdGgpLCAxMDAlKTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWFyZ2luLWxlZnQ6IGF1dG87XG4gICAgbWFyZ2luLXJpZ2h0OiBhdXRvO1xufVxuXG4uYXJ0aWNsZU1vZGVDaGF0TWVzc2FnZXMgLmNoYXRNZXNzYWdlLmFydGljbGVNb2RlQWdlbnRNZXNzYWdlIHtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5hcnRpY2xlTW9kZUNoYXRNZXNzYWdlcyAuY2hhdE1lc3NhZ2UuYXJ0aWNsZU1vZGVBZ2VudE1lc3NhZ2UgLm1lc3NhZ2VTdGFjayB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmhhc0FjdGlvbnNBbmRGaXJzdE1lc3NhZ2VJc0xvbmcge1xuICAgIHBhZGRpbmctdG9wOiA4MHB4O1xufVxuXG4vKiBDdXN0b20gc2Nyb2xsYmFyIHN0eWxpbmcgKi9cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlczo6LXdlYmtpdC1zY3JvbGxiYXIge1xuICAgIHdpZHRoOiA3cHg7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlczo6LXdlYmtpdC1zY3JvbGxiYXItdHJhY2sge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZXM6Oi13ZWJraXQtc2Nyb2xsYmFyLXRodW1iIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMzUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlczo6LXdlYmtpdC1zY3JvbGxiYXItdGh1bWI6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTAwLCAxMTYsIDEzOSwgMC41NSk7XG59XG5cbi8qIEluZGl2aWR1YWwgY2hhdCBtZXNzYWdlICovXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtYXJnaW4tYm90dG9tOiAyNHB4O1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LWVuZDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGNvbHVtbi1nYXA6IHZhcigtLWNoYXQtbWVzc2FnZS1hdmF0YXItZ2FwKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYW5pbWF0aW9uOiBtZXNzYWdlU2xpZGVJbiAwLjRzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiAgICBtYXgtd2lkdGg6IDEwMCU7XG4gICAgbWluLXdpZHRoOiAwO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAubWVzc2FnZVN0YWNrIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgbWF4LXdpZHRoOiB2YXIoLS1jaGF0LW1lc3NhZ2UtbWF4LXdpZHRoKTtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlLmlzTWUgLm1lc3NhZ2VTdGFjayB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAubWVzc2FnZVN0YWNrID4gKiB7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZS5hcnRpY2xlTW9kZUFnZW50TWVzc2FnZSB7XG4gICAgY29sdW1uLWdhcDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAyOHB4O1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZS5hcnRpY2xlTW9kZUFnZW50TWVzc2FnZSAubWVzc2FnZVN0YWNrIHtcbiAgICB3aWR0aDogbWluKDEwMCUsIDg2MHB4KTtcbiAgICBtYXgtd2lkdGg6IG1pbigxMDAlLCA4NjBweCk7XG4gICAgYWxpZ24taXRlbXM6IHN0cmV0Y2g7XG4gICAgbWFyZ2luOiAwIGF1dG87XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5hdmF0YXIuYXJ0aWNsZU1vZGVBZ2VudEF2YXRhciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLm1lc3NhZ2VXaXRoTWFwIHtcbiAgICAvKiBtYXJrZXIgY2xhc3MgYXBwbGllZCB0byBtYXAgbWVzc2FnZXMgc28gdGhleSBjYW4gc3RyZXRjaCB3aWRlci4gKi9cbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UubWVzc2FnZVdpdGhNYXAge1xuICAgIGFsaWduLWl0ZW1zOiBzdHJldGNoO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZS5tZXNzYWdlV2l0aE1hcCAubWVzc2FnZVN0YWNrIHtcbiAgICBhbGlnbi1pdGVtczogc3RyZXRjaDtcbiAgICB3aWR0aDogbWluKDkwdncsIDkyMHB4LCBjYWxjKDEwMCUgLSB2YXIoLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLXNpemUpIC0gdmFyKC0tY2hhdC1tZXNzYWdlLWF2YXRhci1nYXApKSk7XG4gICAgbWF4LXdpZHRoOiBtaW4oOTB2dywgOTIwcHgsIGNhbGMoMTAwJSAtIHZhcigtLWNoYXQtbWVzc2FnZS1hdmF0YXItc2l6ZSkgLSB2YXIoLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLWdhcCkpKTtcbn1cblxuQG1lZGlhIChtYXgtd2lkdGg6IDkwMHB4KSB7XG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UubWVzc2FnZVdpdGhNYXAgLm1lc3NhZ2VTdGFjayB7XG4gICAgICAgIHdpZHRoOiBtaW4oOTJ2dywgNjQwcHgpO1xuICAgICAgICBtYXgtd2lkdGg6IG1pbig5MnZ3LCA2NDBweCk7XG4gICAgfVxufVxuXG4ubWVzc2FnZU1ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luOiA2cHggOHB4IDA7XG4gICAgZm9udC1zaXplOiAxMS41cHg7XG4gICAgY29sb3I6IHZhcigtLWNoYXQtbWVzc2FnZS1tZXRhLWNvbG9yKTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZS5pc01lIC5tZXNzYWdlTWV0YSB7XG4gICAgYWxpZ24tc2VsZjogZmxleC1lbmQ7XG4gICAgdGV4dC1hbGlnbjogcmlnaHQ7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlLmFydGljbGVNb2RlQWdlbnRNZXNzYWdlIC5tZXNzYWdlTWV0YSB7XG4gICAgbWFyZ2luLWxlZnQ6IDA7XG4gICAgbWFyZ2luLXJpZ2h0OiAwO1xufVxuXG4ubWVzc2FnZUxpZmVjeWNsZUJhZGdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDJweCA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2hhdC1tZXNzYWdlLWxpZmVjeWNsZS1iYWRnZS1iYWNrZ3JvdW5kKTtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1tZXNzYWdlLWxpZmVjeWNsZS1iYWRnZS1jb2xvcik7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG59XG5cbi5tZXNzYWdlVGltZXN0YW1wIHtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMmVtO1xufVxuXG4ubWVzc2FnZUR1cmF0aW9uIHtcbiAgICBvcGFjaXR5OiAwLjg1O1xufVxuXG4ubWVzc2FnZVJlcGx5QnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNXB4O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIGZvbnQ6IGluaGVyaXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIG9wYWNpdHk6IDAuODg7XG4gICAgdHJhbnNpdGlvbjogb3BhY2l0eSAwLjE4cyBlYXNlLCBjb2xvciAwLjE4cyBlYXNlLCB0cmFuc2Zvcm0gMC4xOHMgZWFzZTtcbn1cblxuLm1lc3NhZ2VSZXBseUJ1dHRvbjpob3Zlcixcbi5tZXNzYWdlUmVwbHlCdXR0b246Zm9jdXMge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0wLjVweCk7XG59XG5cbi5tZXNzYWdlUmVwbHlCdXR0b25JY29uIHtcbiAgICB3aWR0aDogMTNweDtcbiAgICBoZWlnaHQ6IDEzcHg7XG59XG5cbi5tZXNzYWdlTGlmZWN5Y2xlRXJyb3Ige1xuICAgIG1hcmdpbjogNHB4IDZweCAwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogI2I5MWMxYztcbiAgICBsaW5lLWhlaWdodDogMS40NTtcbn1cblxuLnBhcnRpY2lwYW50TGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTEuNXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDdlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LXBhcnRpY2lwYW50LWxhYmVsLWNvbG9yKTtcbiAgICBtYXJnaW46IDAgMCA3cHg7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlLmlzTWUgLnBhcnRpY2lwYW50TGFiZWwge1xuICAgIHRleHQtYWxpZ246IHJpZ2h0O1xufVxuXG5Aa2V5ZnJhbWVzIG1lc3NhZ2VTbGlkZUluIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpIHNjYWxlKDAuOTUpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgxKTtcbiAgICB9XG59XG5cbi5pc05vdENvbXBsZXRlTWVzc2FnZSB7XG4gICAgLyovXG4gICAgb3V0bGluZTogMXB4IGRvdHRlZCAjZmYwMDAwICFpbXBvcnRhbnQ7XG4gICAgLyoqL1xuXG4gICAgb3BhY2l0eTogMC43O1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbn1cblxuLk5vbkNvbXBsZXRlTWVzc2FnZUZpbGxlciB7XG4gICAgY29sb3I6IHRyYW5zcGFyZW50O1xufVxuXG4vKiBFbmhhbmNlZCBsb2FkaW5nIHN0YXRlcyBmb3IgbWVzc2FnZXMgKi9cbi5pc05vdENvbXBsZXRlTWVzc2FnZSAubWVzc2FnZVRleHQ6OmFmdGVyIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiA4cHg7XG4gICAgcmlnaHQ6IDEycHg7XG4gICAgd2lkdGg6IDIwcHg7XG4gICAgaGVpZ2h0OiA0cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCB0cmFuc3BhcmVudCwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjYpLCB0cmFuc3BhcmVudCk7XG4gICAgYm9yZGVyLXJhZGl1czogMnB4O1xuICAgIGFuaW1hdGlvbjogbG9hZGluZ1B1bHNlIDEuNXMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlLmFydGljbGVNb2RlQWdlbnRNZXNzYWdlLmlzTm90Q29tcGxldGVNZXNzYWdlIC5tZXNzYWdlVGV4dDo6YWZ0ZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi50b29sQ2FsbENoaXBzLFxuLnNvdXJjZUNpdGF0aW9ucyxcbi5jaXRhdGlvbkZvb3Rub3RlcyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDhweDtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIHBhZGRpbmctdG9wOiAxMHB4O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMjgpO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKSAxNCUsIHRyYW5zcGFyZW50KTtcbn1cblxuLmNpdGF0aW9uRm9vdG5vdGVzIHtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBmbGV4LXN0YXJ0O1xufVxuXG4uY2l0YXRpb25Gb290bm90ZUl0ZW0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWluLWhlaWdodDogMzJweDtcbn1cblxuLmNpdGF0aW9uRm9vdG5vdGVOdW1iZXIge1xuICAgIG1pbi13aWR0aDogMS4yNXJlbTtcbiAgICBmb250LXNpemU6IDAuODRyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSkgNzglLCB0cmFuc3BhcmVudCk7XG59XG5cbi50b29sQ2FsbENoaXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmc6IDVweCAxMXB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNik7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtYmctY29sb3IsICNmZmZmZmYpIDc0JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjc4KSAyNiUpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4zKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKSAyMCUsIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgxNSwgMjMsIDQyLCAwLjEyKTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBmb250LWZhbWlseTogJ09wZW5Nb2ppQ29sb3InLCAnT3Blbk1vamlCbGFjaycsIEFyaWFsLCBIZWx2ZXRpY2EsIHNhbnMtc2VyaWY7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG59XG5cbi50b29sQ2FsbENoaXA6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNCk7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtYmctY29sb3IsICNmZmZmZmYpIDY0JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg2KSAzNiUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xNCk7XG59XG5cbi50b29sQ2FsbENoaXBPbmdvaW5nIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoNTksIDEzMCwgMjQ2LCAwLjgpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTQsIDE2NSwgMjMzLCAwLjEpO1xufVxuXG4udG9vbENhbGxDaGlwU3RhdHVzIHtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udGVhbVRvb2xDYWxsLFxuLnRyYW5zaXRpdmVUb29sQ2FsbCB7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIGdhcDogOHB4O1xufVxuXG4udGVhbUFnZW50Q2hpcCxcbi50cmFuc2l0aXZlQWdlbnRDaGlwIHtcbiAgICBmbGV4LXNocmluazogMDtcbn1cblxuLnRvb2xDYWxsTGFiZWwge1xuICAgIGZsZXg6IDE7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi50b29sQ2FsbFdpdGhFcnJvciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI0OSwgMTE1LCAyMiwgMC44KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0OSwgMTE1LCAyMiwgMC4xMik7XG59XG5cbi50b29sQ2FsbE9yaWdpbiB7XG4gICAgZm9udC1zaXplOiAwLjg1ZW07XG4gICAgb3BhY2l0eTogMC43NTtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG59XG5cbi50b29sQ2FsbERldGFpbHMge1xuICAgIG1hcmdpbi1ib3R0b206IDI0cHg7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLnRvb2xDYWxsRGV0YWlscyBwIHtcbiAgICBtYXJnaW4tYm90dG9tOiA4cHg7XG59XG5cbi50b29sQ2FsbERhdGEge1xuICAgIGJhY2tncm91bmQ6ICNmMWY1Zjk7XG4gICAgcGFkZGluZzogMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbiAgICBtYXgtaGVpZ2h0OiAzMDBweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xufVxuXG4udG9vbENhbGxDaGlwU3Bpbm5lciB7XG4gICAgd2lkdGg6IDE0cHg7XG4gICAgaGVpZ2h0OiAxNHB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBhbmltYXRpb246IHRvb2xDYWxsU3Bpbm5lciAwLjhzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyB0b29sQ2FsbFNwaW5uZXIge1xuICAgIHRvIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59XG5cbkBrZXlmcmFtZXMgbG9hZGluZ1B1bHNlIHtcbiAgICAwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMC4zO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgwLjgpO1xuICAgIH1cbiAgICA1MCUge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlWCgxLjIpO1xuICAgIH1cbn1cblxuLyogVHlwaW5nIGluZGljYXRvciBmb3IgQUkgbWVzc2FnZXMgKi9cbi50eXBpbmdJbmRpY2F0b3Ige1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG4gICAgYW5pbWF0aW9uOiBtZXNzYWdlU2xpZGVJbiAwLjRzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbn1cblxuLnR5cGluZ0luZGljYXRvciAuYXZhdGFyIHtcbiAgICB3aWR0aDogNDBweDtcbiAgICBoZWlnaHQ6IDQwcHg7XG4gICAgbWFyZ2luOiAwIDEycHggNHB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4vKiBb44qX77iPXVxuLnR5cGluZ0luZGljYXRvciAuYXZhdGFyIGltZyB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2VlZjZmYjtcbiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMSk7XG59XG4qL1xuXG4udHlwaW5nQnViYmxlIHtcbiAgICBwYWRkaW5nOiAxNnB4IDIwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogMjBweDtcbiAgICBib3JkZXItYm90dG9tLWxlZnQtcmFkaXVzOiA2cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjEpO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMSk7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDRweDtcbiAgICBtaW4taGVpZ2h0OiAyNHB4O1xufVxuXG4udHlwaW5nRG90cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDRweDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xufVxuXG4udHlwaW5nRG90IHtcbiAgICB3aWR0aDogOHB4O1xuICAgIGhlaWdodDogOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjNmI3MjgwIDAlLCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuNikgMTAwJSk7XG4gICAgYW5pbWF0aW9uOiB0eXBpbmdCb3VuY2UgMS40cyBpbmZpbml0ZSBlYXNlLWluLW91dDtcbiAgICBib3gtc2hhZG93OiAwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjEpO1xufVxuXG4udHlwaW5nRG90Om50aC1jaGlsZCgxKSB7XG4gICAgYW5pbWF0aW9uLWRlbGF5OiAtMC4zMnM7XG59XG5cbi50eXBpbmdEb3Q6bnRoLWNoaWxkKDIpIHtcbiAgICBhbmltYXRpb24tZGVsYXk6IC0wLjE2cztcbn1cblxuLnR5cGluZ0RvdDpudGgtY2hpbGQoMykge1xuICAgIGFuaW1hdGlvbi1kZWxheTogMHM7XG59XG5cbkBrZXlmcmFtZXMgdHlwaW5nQm91bmNlIHtcbiAgICAwJSxcbiAgICA4MCUsXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMC44KSB0cmFuc2xhdGVZKDApO1xuICAgICAgICBvcGFjaXR5OiAwLjU7XG4gICAgfVxuICAgIDQwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4yKSB0cmFuc2xhdGVZKC04cHgpO1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgIH1cbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UuaXNNZSB7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtZW5kO1xuICAgIGZsZXgtZGlyZWN0aW9uOiByb3ctcmV2ZXJzZTtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtc3RhcnQ7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlLmlzTWUgLm1lc3NhZ2VUZXh0IHtcbiAgICBib3JkZXItYm90dG9tLXJpZ2h0LXJhZGl1czogMTBweDtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2U6bm90KC5pc01lKSAubWVzc2FnZVRleHQge1xuICAgIGJvcmRlci1ib3R0b20tbGVmdC1yYWRpdXM6IDEwcHg7XG59XG5cbi5yYXRpbmdTdGFyIHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAyMHB4O1xuICAgIHRyYW5zaXRpb246IGNvbG9yIDAuMnM7XG4gICAgY29sb3I6IHZhcigtLWNoYXQtZmVlZGJhY2stc3Rhci1jb2xvciwgdmFyKC0tc3Rhci1pbmFjdGl2ZS1jb2xvciwgI2NjYykpO1xufVxuXG4uZmVlZGJhY2tTdGFyIHtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1mZWVkYmFjay1zdGFyLWNvbG9yLCAjY2NjKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xufVxuXG4uZmVlZGJhY2tTdGFySWNvbiB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgY29sb3I6IHZhcigtLWNoYXQtZmVlZGJhY2stc3Rhci1jb2xvciwgY3VycmVudENvbG9yKSAhaW1wb3J0YW50O1xuICAgIGZpbGw6IHZhcigtLWNoYXQtZmVlZGJhY2stc3Rhci1maWxsLCBub25lKSAhaW1wb3J0YW50O1xuICAgIHN0cm9rZTogdmFyKC0tY2hhdC1mZWVkYmFjay1zdGFyLWNvbG9yLCBjdXJyZW50Q29sb3IpICFpbXBvcnRhbnQ7XG59XG5cbi5mZWVkYmFja1N0YXJJY29uICoge1xuICAgIGZpbGw6IHZhcigtLWNoYXQtZmVlZGJhY2stc3Rhci1maWxsLCBub25lKSAhaW1wb3J0YW50O1xuICAgIHN0cm9rZTogdmFyKC0tY2hhdC1mZWVkYmFjay1zdGFyLWNvbG9yLCBjdXJyZW50Q29sb3IpICFpbXBvcnRhbnQ7XG59XG5cbi8qIFNlbmRlciBBdmF0YXIgKi9cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5hdmF0YXIge1xuICAgIHdpZHRoOiB2YXIoLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLXNpemUpO1xuICAgIGhlaWdodDogdmFyKC0tY2hhdC1tZXNzYWdlLWF2YXRhci1zaXplKTtcbiAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgIG1hcmdpbjogMCAwIDRweDtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi8qIFvjipfvuI9dXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAuYXZhdGFyIGltZyB7XG4gICAgd2lkdGg6IDQwcHg7XG4gICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tYXZhdGFyLWJnLWNvbG9yLCAjZWVmNmZiKTtcbiAgICBib3JkZXI6IDJweCBzb2xpZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZSwgYm94LXNoYWRvdyAwLjJzIGVhc2U7XG59XG5cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLmF2YXRhciBpbWc6aG92ZXIge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNSk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTUpO1xufVxuKi9cblxuLyogTWVzc2FnZSB0ZXh0IGJ1YmJsZSAqL1xuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLm1lc3NhZ2VUZXh0IHtcbiAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yKTtcbiAgICBjb2xvcjogdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgcGFkZGluZzogMTZweCAyMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IHZhcigtLWNoYXQtYnViYmxlLXJhZGl1cyk7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1pbi13aWR0aDogbWluKHZhcigtLWNoYXQtbWVzc2FnZS1taW4td2lkdGgpLCAxMDAlKTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbi1ib3R0b206IDZweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jaGF0LWJ1YmJsZS1ib3JkZXItY29sb3IpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLWNoYXQtYnViYmxlLXNoYWRvdyksIGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE2KTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tY2hhdC1idWJibGUtbGluZS1oZWlnaHQpO1xuICAgIG92ZXJmbG93LXdyYXA6IGFueXdoZXJlO1xuICAgIGh5cGhlbnM6IGF1dG87XG4gICAgdHJhbnNpdGlvbjogYm94LXNoYWRvdyAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjJzIGVhc2UsIGJvcmRlci1jb2xvciAwLjJzIGVhc2U7XG4gICAgZm9udC1zaXplOiB2YXIoLS1jaGF0LWJ1YmJsZS1mb250LXNpemUpO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAwMjVlbTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMTRweCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKHZhcigtLWNoYXQtbWVzc2FnZS1zd2lwZS1vZmZzZXQsIDBweCkpO1xuICAgIC0tY2hhdC1tZC1oZWFkaW5nLWZvbnQtZmFtaWx5OiB2YXIoXG4gICAgICAgIC0tZm9udC1iYXJsb3ctY29uZGVuc2VkLFxuICAgICAgICAnQmFybG93IENvbmRlbnNlZCcsXG4gICAgICAgIHZhcigtLWZvbnQtcG9wcGlucywgJ1BvcHBpbnMnLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sICdTZWdvZSBVSScsIHNhbnMtc2VyaWYpXG4gICAgKTtcbiAgICAtLWNoYXQtbWQtYm9keS1mb250LWZhbWlseTogaW5oZXJpdDtcbiAgICAtLWNoYXQtbWQtdGV4dC1jb2xvcjogdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKTtcbiAgICAtLWNoYXQtbWQtbGluay1jb2xvcjogIzI1NjNlYjtcbiAgICAtLWNoYXQtbWQtbXV0ZWQtY29sb3I6IHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSk7XG4gICAgLS1jaGF0LW1kLWlubGluZS1jb2RlLWJnOiByZ2JhKDE1LCAyMywgNDIsIDAuMTYpO1xuICAgIC0tY2hhdC1tZC1pbmxpbmUtY29kZS1ib3JkZXI6IHJnYmEoMTUsIDIzLCA0MiwgMC4yKTtcbiAgICAtLWNoYXQtbWQtaW5saW5lLWNvZGUtY29sb3I6IHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSk7XG4gICAgLS1jaGF0LW1kLWJsb2NrcXVvdGUtYmc6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICAtLWNoYXQtbWQtYmxvY2txdW90ZS1ib3JkZXI6IHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjUyKTtcbiAgICAtLWNoYXQtbWQtdGFibGUtYmc6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yMik7XG4gICAgLS1jaGF0LW1kLXRhYmxlLXJvdy1hbHQtYmc6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xMik7XG4gICAgLS1jaGF0LW1kLXRhYmxlLWhlYWQtYmc6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgICAtLWNoYXQtbWQtdGFibGUtYm9yZGVyOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzYpO1xuICAgIC0tY2hhdC1tZC1jaXRhdGlvbi1iZzogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgICAtLWNoYXQtbWQtY2l0YXRpb24tY29sb3I6IHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSk7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlVGV4dC5hcnRpY2xlTW9kZUFnZW50TWVzc2FnZVRleHQge1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50ICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiAwO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDA7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICBwYWRkaW5nOiAycHggMDtcbiAgICBsaW5lLWhlaWdodDogMS43NTtcbiAgICBmb250LXNpemU6IDE1LjVweDtcbiAgICAtLWNoYXQtbWQtbGluay1jb2xvcjogIzFkNGVkODtcbiAgICAtLWNoYXQtbWQtaW5saW5lLWNvZGUtYmc6IHJnYmEoMTUsIDIzLCA0MiwgMC4wOCk7XG4gICAgLS1jaGF0LW1kLWlubGluZS1jb2RlLWJvcmRlcjogcmdiYSgxNSwgMjMsIDQyLCAwLjE2KTtcbiAgICAtLWNoYXQtbWQtYmxvY2txdW90ZS1iZzogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjEyKTtcbiAgICAtLWNoYXQtbWQtdGFibGUtYmc6IHJnYmEoMjQ4LCAyNTAsIDI1MiwgMC45KTtcbiAgICAtLWNoYXQtbWQtdGFibGUtcm93LWFsdC1iZzogcmdiYSgyMjYsIDIzMiwgMjQwLCAwLjQ1KTtcbiAgICAtLWNoYXQtbWQtdGFibGUtaGVhZC1iZzogcmdiYSgyNDEsIDI0NSwgMjQ5LCAwLjkyKTtcbiAgICAtLWNoYXQtbWQtdGFibGUtYm9yZGVyOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuNDUpO1xuICAgIC0tY2hhdC1tZC1jaXRhdGlvbi1iZzogcmdiYSgxOTEsIDIxOSwgMjU0LCAwLjI0KTtcbn1cblxuLnJlcGx5RW5hYmxlZE1lc3NhZ2VUZXh0IHtcbiAgICB0b3VjaC1hY3Rpb246IHBhbi15O1xufVxuXG4ucmVwbHlTd2lwZUFjdGl2ZSB7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tY2hhdC1idWJibGUtc2hhZG93LWhvdmVyKSwgMCAwIDAgMXB4IHJnYmEoNTYsIDE4OSwgMjQ4LCAwLjIyKSxcbiAgICAgICAgaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTYpO1xufVxuXG4ucmVwbHlTd2lwZUluZGljYXRvciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogNTAlO1xuICAgIGxlZnQ6IC0yNHB4O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKTtcbiAgICBvcGFjaXR5OiAwLjIyO1xuICAgIGNvbG9yOiByZ2JhKDE1LCAyMywgNDIsIDAuNDUpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xOHMgZWFzZSwgdHJhbnNmb3JtIDAuMThzIGVhc2U7XG59XG5cbi5yZXBseVN3aXBlSW5kaWNhdG9yUmlnaHQge1xuICAgIGxlZnQ6IGF1dG87XG4gICAgcmlnaHQ6IC0yNHB4O1xufVxuXG4ucmVwbHlTd2lwZUluZGljYXRvckFjdGl2ZSB7XG4gICAgb3BhY2l0eTogMC45O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxLjA1KTtcbn1cblxuLnJlcGx5U3dpcGVJbmRpY2F0b3JJY29uIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG59XG5cbi5yZXBseVByZXZpZXcge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAxMHB4O1xuICAgIG1pbi13aWR0aDogMDtcbiAgICBtYXJnaW4tYm90dG9tOiAxMnB4O1xuICAgIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNik7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjE2KTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4xKTtcbn1cblxuLnJlcGx5QnViYmxlUHJldmlldyB7XG4gICAgb3BhY2l0eTogMC45O1xufVxuXG4ucmVwbHlDb21wb3NlclByZXZpZXcge1xuICAgIG1hcmdpbi1ib3R0b206IDJweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LXJlcGx5LWNvbXBvc2VyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY2hhdC1yZXBseS1jb21wb3Nlci1ib3JkZXItY29sb3IpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLWNoYXQtcmVwbHktY29tcG9zZXItc2hhZG93KTtcbn1cblxuLnJlcGx5UHJldmlld0FjY2VudCB7XG4gICAgYWxpZ24tc2VsZjogc3RyZXRjaDtcbiAgICB3aWR0aDogNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJhY2tncm91bmQ6ICMwZWE1ZTk7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJyYW5kLWNvbG9yLCAjMGVhNWU5KSA4NCUsIHdoaXRlIDE2JSk7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5yZXBseVByZXZpZXdCb2R5IHtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZmxleDogMTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAycHg7XG59XG5cbi5yZXBseVByZXZpZXdIZWFkaW5nIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbiAgICBvcGFjaXR5OiAwLjgyO1xufVxuXG4ucmVwbHlQcmV2aWV3TGFiZWwge1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi5yZXBseVByZXZpZXdTZW5kZXIge1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG59XG5cbi5yZXBseVByZXZpZXdUZXh0IHtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZm9udC1zaXplOiAxMi41cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuMzU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xuICAgIG9wYWNpdHk6IDAuOTtcbn1cblxuLnJlcGx5UHJldmlld0Rpc21pc3NCdXR0b24ge1xuICAgIHdpZHRoOiAyOHB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2hhdC1yZXBseS1kaXNtaXNzLWJhY2tncm91bmQpO1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LXJlcGx5LWRpc21pc3MtY29sb3IpO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xOHMgZWFzZSwgY29sb3IgMC4xOHMgZWFzZSwgdHJhbnNmb3JtIDAuMThzIGVhc2U7XG59XG5cbi5yZXBseVByZXZpZXdEaXNtaXNzQnV0dG9uOmhvdmVyLFxuLnJlcGx5UHJldmlld0Rpc21pc3NCdXR0b246Zm9jdXMge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtcmVwbHktZGlzbWlzcy1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1yZXBseS1kaXNtaXNzLWhvdmVyLWNvbG9yKTtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMDIpO1xufVxuXG5Ac3VwcG9ydHMgKGNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgIzAwMCA1MCUsICNmZmYgNTAlKSkge1xuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlVGV4dCB7XG4gICAgICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgICAgIDE1OGRlZyxcbiAgICAgICAgICAgIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA4NiUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKSAxNCUpLFxuICAgICAgICAgICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtYmctY29sb3IsICNmZmZmZmYpIDk1JSwgcmdiYSgyLCA2LCAyMywgMC4wOCkgNSUpXG4gICAgICAgICk7XG4gICAgICAgIC0tY2hhdC1idWJibGUtYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoXG4gICAgICAgICAgICBpbiBzcmdiLFxuICAgICAgICAgICAgdmFyKC0tbWVzc2FnZS1iZy1jb2xvciwgI2ZmZmZmZikgNzIlLFxuICAgICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjQ2KSAyOCVcbiAgICAgICAgKTtcbiAgICAgICAgLS1jaGF0LW1kLWxpbmstY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDcyJSwgIzdkZDNmYyAyOCUpO1xuICAgICAgICAtLWNoYXQtbWQtbXV0ZWQtY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDg0JSwgdHJhbnNwYXJlbnQpO1xuICAgICAgICAtLWNoYXQtbWQtaW5saW5lLWNvZGUtYmc6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA2NSUsIHJnYmEoMTUsIDIzLCA0MiwgMC4yKSAzNSUpO1xuICAgICAgICAtLWNoYXQtbWQtaW5saW5lLWNvZGUtYm9yZGVyOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKSAyMCUsIHRyYW5zcGFyZW50KTtcbiAgICAgICAgLS1jaGF0LW1kLWJsb2NrcXVvdGUtYmc6IGNvbG9yLW1peChcbiAgICAgICAgICAgIGluIHNyZ2IsXG4gICAgICAgICAgICB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA3OCUsXG4gICAgICAgICAgICByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODYpIDIyJVxuICAgICAgICApO1xuICAgICAgICAtLWNoYXQtbWQtYmxvY2txdW90ZS1ib3JkZXI6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDM0JSwgIzdkZDNmYyA2NiUpO1xuICAgICAgICAtLWNoYXQtbWQtdGFibGUtYmc6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA3OCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSAyMiUpO1xuICAgICAgICAtLWNoYXQtbWQtdGFibGUtcm93LWFsdC1iZzogY29sb3ItbWl4KFxuICAgICAgICAgICAgaW4gc3JnYixcbiAgICAgICAgICAgIHZhcigtLW1lc3NhZ2UtYmctY29sb3IsICNmZmZmZmYpIDcwJSxcbiAgICAgICAgICAgIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44MikgMzAlXG4gICAgICAgICk7XG4gICAgICAgIC0tY2hhdC1tZC10YWJsZS1oZWFkLWJnOiBjb2xvci1taXgoXG4gICAgICAgICAgICBpbiBzcmdiLFxuICAgICAgICAgICAgdmFyKC0tbWVzc2FnZS1iZy1jb2xvciwgI2ZmZmZmZikgNjQlLFxuICAgICAgICAgICAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk0KSAzNiVcbiAgICAgICAgKTtcbiAgICAgICAgLS1jaGF0LW1kLXRhYmxlLWJvcmRlcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSkgMTglLCB0cmFuc3BhcmVudCk7XG4gICAgICAgIC0tY2hhdC1tZC1jaXRhdGlvbi1iZzogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtYmctY29sb3IsICNmZmZmZmYpIDU1JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjk0KSA0NSUpO1xuICAgIH1cbn1cblxuLyogQ29weSBidXR0b24gc3R5bGVzICovXG4uY29weUJ1dHRvbkNvbnRhaW5lciB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTBweDtcbiAgICByaWdodDogMTJweDtcbiAgICB6LWluZGV4OiAzO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0ycHgpO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4xOHMgZWFzZSwgdHJhbnNmb3JtIDAuMThzIGVhc2U7XG59XG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAubWVzc2FnZVRleHQ6aG92ZXIgLmNvcHlCdXR0b25Db250YWluZXIsXG4uY29weUJ1dHRvbkNvbnRhaW5lcjpmb2N1cy13aXRoaW4ge1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDApO1xuICAgIHBvaW50ZXItZXZlbnRzOiBhdXRvO1xufVxuXG4uYXJ0aWNsZU1vZGVNZXNzYWdlQWN0aW9ucyB7XG4gICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSkgMTQlLCB0cmFuc3BhcmVudCk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogZmxleC1zdGFydDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiAxMHB4IDEycHg7XG59XG5cbi5hcnRpY2xlTW9kZU1lc3NhZ2VDb250cm9scyB7XG4gICAgcG9zaXRpb246IHN0YXRpYztcbiAgICB0b3A6IGF1dG87XG4gICAgcmlnaHQ6IGF1dG87XG4gICAgei1pbmRleDogYXV0bztcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLm1lc3NhZ2VDb250cm9sR3JvdXAge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDdweDtcbiAgICBwb2ludGVyLWV2ZW50czogYXV0bztcbn1cblxuLmFydGljbGVNb2RlTWVzc2FnZUFjdGlvbnMgLmNvcHlCdXR0b24sXG4uYXJ0aWNsZU1vZGVNZXNzYWdlQWN0aW9ucyAucGxheUJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2hhdC1hcnRpY2xlLWNvbnRyb2wtYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jaGF0LWFydGljbGUtY29udHJvbC1ib3JkZXItY29sb3IpO1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgY29sb3I6IHZhcigtLWNoYXQtbWVzc2FnZS1jb250cm9sLWNvbG9yKTtcbn1cblxuLmFydGljbGVNb2RlTWVzc2FnZUFjdGlvbnMgLnBsYXlCdXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCksXG4uYXJ0aWNsZU1vZGVNZXNzYWdlQWN0aW9ucyAuY29weUJ1dHRvbjpob3Zlcixcbi5hcnRpY2xlTW9kZU1lc3NhZ2VBY3Rpb25zIC5jb3B5QnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LWFydGljbGUtY29udHJvbC1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNoYXQtYXJ0aWNsZS1jb250cm9sLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tY2hhdC1hcnRpY2xlLWNvbnRyb2wtaG92ZXItc2hhZG93KTtcbn1cblxuLmNvcHlCdXR0b24ge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtbWVzc2FnZS1jb250cm9sLWJhY2tncm91bmQpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNoYXQtbWVzc2FnZS1jb250cm9sLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBwYWRkaW5nOiA0cHggN3B4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtY29sb3IpO1xuICAgIGJveC1zaGFkb3c6IHZhcigtLWNoYXQtbWVzc2FnZS1jb250cm9sLXNoYWRvdyk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMTVzLCBib3gtc2hhZG93IDAuMTVzLCBib3JkZXIgMC4xNXM7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cig4cHgpO1xufVxuXG4ucGxheUJ1dHRvbiB7XG4gICAgd2lkdGg6IDM0cHg7XG4gICAgaGVpZ2h0OiAzNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtYm9yZGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1iYWNrZ3JvdW5kKTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4xNXMgZWFzZTtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtY29sb3IpO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBwYWRkaW5nOiAwO1xufVxuXG4ucGxheUJ1dHRvbkljb24ge1xuICAgIHdpZHRoOiAxNnB4O1xuICAgIGhlaWdodDogMTZweDtcbn1cblxuLnBsYXlCdXR0b25TcGlubmVyIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHZhcigtLWNoYXQtbWVzc2FnZS1jb250cm9sLXNwaW5uZXItYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiB2YXIoLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1zcGlubmVyLWFjY2VudC1jb2xvcik7XG4gICAgYW5pbWF0aW9uOiBtZXNzYWdlUGxheVNwaW5uZXIgMC45cyBsaW5lYXIgaW5maW5pdGU7XG59XG5cbi5wbGF5QnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXItY29sb3I6IHZhcigtLWNoYXQtbWVzc2FnZS1jb250cm9sLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtaG92ZXItc2hhZG93KTtcbn1cblxuLnBsYXlCdXR0b246ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgb3BhY2l0eTogMC42O1xufVxuXG5Aa2V5ZnJhbWVzIG1lc3NhZ2VQbGF5U3Bpbm5lciB7XG4gICAgZnJvbSB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDBkZWcpO1xuICAgIH1cblxuICAgIHRvIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59XG5cbi5jb3BpZWRUb29sdGlwIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgbGVmdDogNTAlO1xuICAgIHRvcDogMTEwJTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoLTUwJSk7XG4gICAgYmFja2dyb3VuZDogIzIyMjtcbiAgICBjb2xvcjogI2ZmZjtcbiAgICBwYWRkaW5nOiA2cHggMTZweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgZm9udC1zaXplOiAwLjk4ZW07XG4gICAgYm94LXNoYWRvdzogMCAycHggMTJweCByZ2JhKDAsIDAsIDAsIDAuMTgpO1xuICAgIG9wYWNpdHk6IDAuOTc7XG4gICAgcG9pbnRlci1ldmVudHM6IG5vbmU7XG4gICAgei1pbmRleDogMTAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgbWFyZ2luLXRvcDogNHB4O1xuICAgIGFuaW1hdGlvbjogY29waWVkVG9vbHRpcEZhZGVJbiAwLjJzO1xuICAgIG1heC13aWR0aDogMjIwcHg7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4uY29waWVkVG9vbHRpcExlZnQge1xuICAgIGxlZnQ6IDAgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IG5vbmUgIWltcG9ydGFudDtcbn1cblxuLmNvcGllZFRvb2x0aXBSaWdodCB7XG4gICAgbGVmdDogYXV0byAhaW1wb3J0YW50O1xuICAgIHJpZ2h0OiAwICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNmb3JtOiBub25lICFpbXBvcnRhbnQ7XG59XG5cbi8qIFJlbW92ZWQgcmlnaHQtYWxpZ25lZCBvdmVycmlkZSB0byBrZWVwIHRvb2x0aXAgcG9zaXRpb24gc3RhYmxlICovXG5cbkBrZXlmcmFtZXMgY29waWVkVG9vbHRpcEZhZGVJbiB7XG4gICAgZnJvbSB7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtNTAlKSB0cmFuc2xhdGVZKDhweCkgc2NhbGUoMC45Nyk7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgb3BhY2l0eTogMC45NztcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVYKC01MCUpIHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XG4gICAgfVxufVxuXG4uY29weUJ1dHRvbjpob3Zlcixcbi5jb3B5QnV0dG9uOmZvY3VzIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1ob3Zlci1iYWNrZ3JvdW5kKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1jaGF0LW1lc3NhZ2UtY29udHJvbC1ob3Zlci1ib3JkZXItY29sb3IpO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tY2hhdC1tZXNzYWdlLWNvbnRyb2wtaG92ZXItc2hhZG93KTtcbn1cblxuLmNvcHlCdXR0b24gc3ZnIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLkNoYXRbZGF0YS1jaGF0LXRoZW1lPSdkYXJrJ10gLmNvcHlCdXR0b24gc3ZnIHJlY3Qge1xuICAgIGZpbGw6ICNjYmQ1ZTE7XG4gICAgc3Ryb2tlOiAjOTRhM2I4O1xufVxuXG4vKiBNYXJrZG93biBwcmltaXRpdmVzIGFyZSBpbnRlbnRpb25hbGx5IGNlbnRyYWxpemVkIGluIGBNYXJrZG93bkNvbnRlbnQubW9kdWxlLmNzc2AuICovXG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlVGV4dDpob3ZlciB7XG4gICAgYm94LXNoYWRvdzogdmFyKC0tY2hhdC1idWJibGUtc2hhZG93LWhvdmVyKSwgaW5zZXQgMCAxcHggMCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMTYpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCh2YXIoLS1jaGF0LW1lc3NhZ2Utc3dpcGUtb2Zmc2V0LCAwcHgpKSB0cmFuc2xhdGVZKC0xLjVweCk7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlVGV4dC5hcnRpY2xlTW9kZUFnZW50TWVzc2FnZVRleHQ6aG92ZXIge1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgdHJhbnNmb3JtOiBub25lO1xufVxuXG4vKiBBdHRhY2htZW50cyBzdHlsZXMgKi9cbi5hdHRhY2htZW50cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICBwYWRkaW5nLXRvcDogMTJweDtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjI4KTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKSAxMiUsIHRyYW5zcGFyZW50KTtcbn1cblxuLmF0dGFjaG1lbnQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICBwYWRkaW5nOiA3cHggMTJweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjYpO1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA3NCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44KSAyNiUpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4zKTtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDE2JSwgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGZvbnQtc2l6ZTogMTIuNXB4O1xuICAgIGNvbG9yOiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIG1heC13aWR0aDogMjAwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xufVxuXG4uYXR0YWNobWVudFdpdGhSZW1vdmUge1xuICAgIGdhcDogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG59XG5cbi5hdHRhY2htZW50TWFpbkFjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDZweDtcbiAgICBwYWRkaW5nOiA3cHggOHB4IDdweCAxMnB4O1xuICAgIGJvcmRlcjogMDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBmb250OiBpbmhlcml0O1xuICAgIGxpbmUtaGVpZ2h0OiBpbmhlcml0O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG59XG5cbi5hdHRhY2htZW50UmVtb3ZlQnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICB3aWR0aDogMjJweDtcbiAgICBoZWlnaHQ6IDIycHg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtYXJnaW4tcmlnaHQ6IDVweDtcbiAgICBib3JkZXI6IDA7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI0KTtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgb3BhY2l0eTogMC44NTtcbiAgICB0cmFuc2l0aW9uOlxuICAgICAgICBiYWNrZ3JvdW5kIDAuMnMgZWFzZSxcbiAgICAgICAgb3BhY2l0eSAwLjJzIGVhc2UsXG4gICAgICAgIHRyYW5zZm9ybSAwLjJzIGVhc2U7XG59XG5cbi5hdHRhY2htZW50UmVtb3ZlQnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjE4KTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMS4wNCk7XG59XG5cbi5hdHRhY2htZW50UmVtb3ZlQnV0dG9uIHN2ZyB7XG4gICAgd2lkdGg6IDEycHg7XG4gICAgaGVpZ2h0OiAxMnB4O1xufVxuXG4uYXR0YWNobWVudFdpdGhSZW1vdmUgLmF0dGFjaG1lbnROYW1lIHtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5hdHRhY2htZW50OmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzQpO1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA2MiUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSAzOCUpO1xuICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSkgMjQlLCB0cmFuc3BhcmVudCk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG4uYXR0YWNobWVudEljb24ge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBvcGFjaXR5OiAwLjg7XG59XG5cbi5hdHRhY2htZW50TmFtZSB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRleHQtb3ZlcmZsb3c6IGVsbGlwc2lzO1xufVxuXG4vKiBNZXNzYWdlIGJ1dHRvbnMgY29udGFpbmVyICovXG4ubWVzc2FnZUJ1dHRvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogOXB4O1xuICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgcGFkZGluZy10b3A6IDEycHg7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4zNik7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSkgMTQlLCB0cmFuc3BhcmVudCk7XG59XG5cbi8qIEluZGl2aWR1YWwgbWVzc2FnZSBidXR0b24gKi9cbi5tZXNzYWdlQnV0dG9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIHBhZGRpbmc6IDhweCAxNXB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKTtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS1iZy1jb2xvciwgI2ZmZmZmZikgNzglLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCkgMjIlKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuOSk7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKSAxOCUsIHRyYW5zcGFyZW50KTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBmb250LXNpemU6IDEyLjVweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAxZW07XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG4gICAgLXdlYmtpdC10YXAtaGlnaGxpZ2h0LWNvbG9yOiB0cmFuc3BhcmVudDtcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbjtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbn1cblxuLm1lc3NhZ2VCdXR0b246ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogcHJvZ3Jlc3M7XG4gICAgb3BhY2l0eTogMC43MjtcbiAgICB0cmFuc2Zvcm06IG5vbmU7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbn1cblxuLm1lc3NhZ2VCdXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKTtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS1iZy1jb2xvciwgI2ZmZmZmZikgNjYlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSkgMzQlKTtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDI2JSwgIzdkZDNmYyA3NCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICBib3gtc2hhZG93OiAwIDVweCAxNHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xNCk7XG59XG5cbi5tZXNzYWdlQnV0dG9uOmhvdmVyOmRpc2FibGVkIHtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS1iZy1jb2xvciwgI2ZmZmZmZikgNzglLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOCkgMjIlKTtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLXRleHQtY29sb3IsICMwZjE3MmEpIDE4JSwgdHJhbnNwYXJlbnQpO1xufVxuXG4ubWVzc2FnZUJ1dHRvbjphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogc2NhbGUoMC45OCk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXMgZWFzZTtcbn1cblxuLmFjdGlvbk1lc3NhZ2VCdXR0b24ge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoNTUsIDY1LCA4MSwgMC45Mik7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDMxLCA0MSwgNTUsIDAuOTUpO1xuICAgIGNvbG9yOiAjZmZmO1xufVxuXG4uYWN0aW9uTWVzc2FnZUJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgzMSwgNDEsIDU1LCAwLjk4KTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTcsIDI0LCAzOSwgMC45OCk7XG4gICAgYm94LXNoYWRvdzogMCA0cHggMTRweCByZ2JhKDE1LCAyMywgNDIsIDAuMzIpO1xufVxuXG4uYWN0aW9uTWVzc2FnZUJ1dHRvbjpob3ZlcjpkaXNhYmxlZCB7XG4gICAgYmFja2dyb3VuZDogcmdiYSg1NSwgNjUsIDgxLCAwLjkyKTtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMzEsIDQxLCA1NSwgMC45NSk7XG59XG5cbi8qIFJlbW92ZSBkZWZhdWx0IG1hcmtkb3duIHN0eWxlcyBmcm9tIGJ1dHRvbiBjb250ZW50ICovXG4ubWVzc2FnZUJ1dHRvbiBwIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBsaW5lLWhlaWdodDogaW5oZXJpdDtcbn1cblxuLm1lc3NhZ2VCdXR0b24gc3Ryb25nIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4ubWVzc2FnZUJ1dHRvbiBlbSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4vKiBSYXRpbmcgc3lzdGVtICovXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAucmF0aW5nIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgYm90dG9tOiAtOHB4O1xuICAgIHJpZ2h0OiA4cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBnYXA6IDJweDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIG1pbi13aWR0aDogMjRweDtcbiAgICB6LWluZGV4OiAxO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC44KTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIHBhZGRpbmc6IDRweCA2cHg7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDEwcHgpO1xuICAgIG9wYWNpdHk6IDA7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDRweCk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAucmF0aW5nLmFydGljbGVNb2RlUmF0aW5nIHtcbiAgICBwb3NpdGlvbjogc3RhdGljO1xuICAgIGJvdHRvbTogYXV0bztcbiAgICByaWdodDogYXV0bztcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgei1pbmRleDogYXV0bztcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LWFydGljbGUtcmF0aW5nLWJhY2tncm91bmQpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNoYXQtYXJ0aWNsZS1yYXRpbmctYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIGJhY2tkcm9wLWZpbHRlcjogbm9uZTtcbiAgICBvcGFjaXR5OiAxO1xuICAgIHRyYW5zZm9ybTogbm9uZTtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2U6aG92ZXIgLnJhdGluZyB7XG4gICAgb3BhY2l0eTogMTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCk7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5yYXRpbmcuYXJ0aWNsZU1vZGVSYXRpbmc6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtYXJ0aWNsZS1yYXRpbmctaG92ZXItYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1jaGF0LWFydGljbGUtcmF0aW5nLWhvdmVyLWJvcmRlci1jb2xvcik7XG4gICAgcGFkZGluZzogNHB4IDhweDtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1jaGF0LWFydGljbGUtcmF0aW5nLXNoYWRvdyk7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5yYXRpbmc6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCwgMCwgMCwgMC45KTtcbiAgICBwYWRkaW5nOiA2cHggOHB4O1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAucmF0aW5nIHNwYW4ge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtYmxvY2s7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMTZweDtcbn1cblxuLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLnJhdGluZzpob3ZlciBzcGFuIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG5cbi5mZWVkYmFja0lzc3VlQnV0dG9uIHtcbiAgICBib3JkZXI6IDA7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAxNnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgZm9udC1mYW1pbHk6ICdPcGVuTW9qaUJsYWNrJywgJ05vdG8gRW1vamknLCAnQXBwbGUgQ29sb3IgRW1vamknLCAnU2Vnb2UgVUkgRW1vamknLCBzYW5zLXNlcmlmO1xufVxuXG4vKiBDaGF0IGlucHV0IGFyZWEgKi9cbi5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB7XG4gICAgei1pbmRleDogMTA7XG4gICAgZ3JpZC1hcmVhOiDwn5OdO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBhZGRpbmc6IDIwcHggMjRweDtcbiAgICBwYWRkaW5nLWJvdHRvbTogY2FsYygyMHB4ICsgZW52KHNhZmUtYXJlYS1pbnNldC1ib3R0b20pKTtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtaW4td2lkdGg6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTJweDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgYm9yZGVyLXRvcDogMXB4IHNvbGlkIHZhcigtLWNoYXQtaW5wdXQtYm9yZGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LWlucHV0LWJhY2tkcm9wKTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG59XG5cbi5hcnRpY2xlTW9kZUNoYXRJbnB1dCB7XG4gICAgcGFkZGluZy1sZWZ0OiB2YXIoLS1jaGF0LWFydGljbGUtbGF5b3V0LXBhZGRpbmctaW5saW5lKTtcbiAgICBwYWRkaW5nLXJpZ2h0OiB2YXIoLS1jaGF0LWFydGljbGUtbGF5b3V0LXBhZGRpbmctaW5saW5lKTtcbn1cblxuLmFydGljbGVNb2RlQ2hhdElucHV0ID4gOm5vdCguc3BlZWNoU3RhdHVzQnViYmxlKTpub3QoLmRyYWdPdmVybGF5KSB7XG4gICAgd2lkdGg6IG1pbih2YXIoLS1jaGF0LWFydGljbGUtbGF5b3V0LW1heC13aWR0aCksIDEwMCUpO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW4tbGVmdDogYXV0bztcbiAgICBtYXJnaW4tcmlnaHQ6IGF1dG87XG59XG5cbi5DaGF0LmZ1bGxQYWdlVmlzdWFsIC5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2hhdC1mdWxsLXBhZ2UtaW5wdXQtYmFja2Ryb3ApO1xufVxuXG4vKiBGaWxlIHVwbG9hZCBkcmFnLWFuZC1kcm9wIHN0eWxlcyAqL1xuLmNoYXRNYWluRmxvdyAuY2hhdElucHV0LmRyYWdPdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LWlucHV0LWRyYWctb3Zlci1iYWNrZHJvcCk7XG59XG5cbi8qIEZpbGUgcHJldmlldyBjb250YWluZXIgKi9cbi5maWxlUHJldmlld0NvbnRhaW5lciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xufVxuXG4uZmlsZVByZXZpZXdDb250YWluZXIuYXR0YWNobWVudHMge1xuICAgIC0tbWVzc2FnZS1iZy1jb2xvcjogdmFyKC0taW5wdXQtYmctY29sb3IpO1xuICAgIC0tbWVzc2FnZS10ZXh0LWNvbG9yOiB2YXIoLS1pbnB1dC10ZXh0LWNvbG9yKTtcbiAgICBtYXJnaW4tdG9wOiAwO1xuICAgIHBhZGRpbmctdG9wOiAwO1xuICAgIGJvcmRlci10b3A6IDA7XG4gICAgY29sb3I6IHZhcigtLWlucHV0LXRleHQtY29sb3IpO1xufVxuXG4vKiBJbmRpdmlkdWFsIGZpbGUgcHJldmlldyAqL1xuLmZpbGVQcmV2aWV3IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2hhdC1maWxlLXByZXZpZXctYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2hhdC1maWxlLXByZXZpZXctYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xufVxuXG4uZmlsZVByZXZpZXc6aG92ZXIge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtZmlsZS1wcmV2aWV3LWhvdmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1jb2xvcjogdmFyKC0tY2hhdC1maWxlLXByZXZpZXctaG92ZXItYm9yZGVyLWNvbG9yKTtcbn1cblxuLmZpbGVJY29uIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgb3BhY2l0eTogMC43O1xufVxuXG4uZmlsZUluZm8ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDJweDtcbiAgICBtaW4td2lkdGg6IDA7XG59XG5cbi5maWxlTmFtZSB7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1maWxlLW5hbWUtY29sb3IpO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbiAgICBtYXgtd2lkdGg6IDE1MHB4O1xufVxuXG4uZmlsZVNpemUge1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LWZpbGUtc2l6ZS1jb2xvcik7XG4gICAgZm9udC1zaXplOiAxMXB4O1xufVxuXG4ucmVtb3ZlRmlsZUJ1dHRvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHdpZHRoOiAyMHB4O1xuICAgIGhlaWdodDogMjBweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDAsIDAsIDAuMSk7XG4gICAgY29sb3I6ICNmZjQ0NDQ7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xufVxuXG4ucmVtb3ZlRmlsZUJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTUsIDAsIDAsIDAuMik7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjEpO1xufVxuXG4vKiBJbnB1dCBjb250YWluZXIgZm9yIHRleHRhcmVhIGFuZCBidXR0b25zICovXG4uaW5wdXRDb250YWluZXIge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtaW5wdXQtY29udGFpbmVyLWJhY2tncm91bmQpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNoYXQtaW5wdXQtY29udGFpbmVyLWJvcmRlci1jb2xvcik7XG4gICAgYm9yZGVyLXJhZGl1czogMjZweDtcbiAgICBwYWRkaW5nOiA5cHggMTJweDtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1jaGF0LWlucHV0LWNvbnRhaW5lci1zaGFkb3cpO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbn1cblxuLmlucHV0Q29udGFpbmVyOmZvY3VzLXdpdGhpbiB7XG4gICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1icmFuZC1jb2xvciwgIzBlYTVlOSk7XG4gICAgYm94LXNoYWRvdzogMCAxOHB4IDQycHggcmdiYSgxNSwgMjMsIDQyLCAwLjE2KSwgMCAwIDAgNHB4IHJnYmEoMTQsIDE2NSwgMjMzLCAwLjE2KTtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1icmFuZC1jb2xvciwgIzBlYTVlOSkgNTglLCByZ2JhKDE1LCAyMywgNDIsIDAuMikgNDIlKTtcbiAgICBib3gtc2hhZG93OiAwIDE4cHggNDJweCByZ2JhKDE1LCAyMywgNDIsIDAuMTYpLFxuICAgICAgICAwIDAgMCA0cHggY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLWJyYW5kLWNvbG9yLCAjMGVhNWU5KSAxNiUsIHRyYW5zcGFyZW50KTtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTFweCk7XG59XG5cbi5DaGF0W2RhdGEtY2hhdC10aGVtZT0nZGFyayddIC5pbnB1dENvbnRhaW5lcjpmb2N1cy13aXRoaW4ge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxMjUsIDIxMSwgMjUyLCAwLjYpO1xuICAgIGJveC1zaGFkb3c6IDAgMjBweCA0NHB4IHJnYmEoMiwgNiwgMjMsIDAuNDgpLCAwIDAgMCA0cHggcmdiYSgxNCwgMTY1LCAyMzMsIDAuMTgpO1xufVxuXG4uaW5wdXRDb250YWluZXIgdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1pbnB1dC1wbGFjZWhvbGRlci1jb2xvcik7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLyogQXR0YWNobWVudCBidXR0b24gKi9cbi5hdHRhY2htZW50QnV0dG9uIHtcbiAgICB3aWR0aDogdmFyKC0tY2hhdC1pbnB1dC1hY3Rpb24tc2l6ZSk7XG4gICAgaGVpZ2h0OiB2YXIoLS1jaGF0LWlucHV0LWFjdGlvbi1zaXplKTtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLWNoYXQtaW5wdXQtYWN0aW9uLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBhbGwgMC4ycyBlYXNlO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG1hcmdpbjogMDtcbn1cblxuLmF0dGFjaG1lbnRCdXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtaW5wdXQtYWN0aW9uLWhvdmVyLWJhY2tncm91bmQpO1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LWlucHV0LWFjdGlvbi1ob3Zlci1jb2xvcik7XG59XG5cbi5hdHRhY2htZW50QnV0dG9uOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjM7XG4gICAgY3Vyc29yOiBub3QtYWxsb3dlZDtcbn1cblxuLyogVm9pY2UgQnV0dG9uICovXG4udm9pY2VCdXR0b24ge1xuICAgIHdpZHRoOiB2YXIoLS1jaGF0LWlucHV0LWFjdGlvbi1zaXplKTtcbiAgICBoZWlnaHQ6IHZhcigtLWNoYXQtaW5wdXQtYWN0aW9uLXNpemUpO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1pbnB1dC1hY3Rpb24tY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4udm9pY2VCdXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtaW5wdXQtYWN0aW9uLWhvdmVyLWJhY2tncm91bmQpO1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LWlucHV0LWFjdGlvbi1ob3Zlci1jb2xvcik7XG59XG5cbi52b2ljZUJ1dHRvbkFjdGl2ZSB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyMzksIDY4LCA2OCwgMC4xKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZWY0NDQ0ICFpbXBvcnRhbnQ7XG4gICAgYW5pbWF0aW9uOiB2b2ljZVJlY29yZGluZ1B1bHNlIDEuNXMgaW5maW5pdGU7XG59XG5cbi5zcGVlY2hTdGF0dXNCdWJibGUge1xuICAgIHBvc2l0aW9uOiBhYnNvbHV0ZTtcbiAgICByaWdodDogMjRweDtcbiAgICBib3R0b206IDg2cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDhweDtcbiAgICBtYXgtd2lkdGg6IG1pbigzMjBweCwgY2FsYygxMDAlIC0gNDhweCkpO1xuICAgIHBhZGRpbmc6IDhweCAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLWNoYXQtc3BlZWNoLXN0YXR1cy1ib3JkZXItY29sb3IpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtc3BlZWNoLXN0YXR1cy1iYWNrZ3JvdW5kKTtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1zcGVlY2gtc3RhdHVzLWNvbG9yKTtcbiAgICBib3gtc2hhZG93OiB2YXIoLS1jaGF0LXNwZWVjaC1zdGF0dXMtc2hhZG93KTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3JkZXItd2lkdGg6IDFweDtcbiAgICBib3JkZXItc3R5bGU6IHNvbGlkO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgYXBwZWFyYW5jZTogbm9uZTtcbiAgICB6LWluZGV4OiAyNTtcbiAgICBhbmltYXRpb246IHNwZWVjaFN0YXR1c0J1YmJsZUluIDAuMnMgZWFzZS1vdXQ7XG59XG5cbi5zcGVlY2hTdGF0dXNCdWJibGVEb3Qge1xuICAgIHdpZHRoOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLWNoYXQtc3BlZWNoLXN0YXR1cy1kb3QtYmFja2dyb3VuZCk7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgYW5pbWF0aW9uOiBzcGVlY2hTdGF0dXNCdWJibGVEb3RQdWxzZSAxLjJzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG4uc3BlZWNoU3RhdHVzQnViYmxlUmVjb3JkaW5nIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMjM5LCA2OCwgNjgsIDAuMzUpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU0LCAyNDIsIDI0MiwgMC45Nyk7XG4gICAgY29sb3I6ICM5OTFiMWI7XG59XG5cbi5zcGVlY2hTdGF0dXNCdWJibGVSZWNvcmRpbmcgLnNwZWVjaFN0YXR1c0J1YmJsZURvdCB7XG4gICAgYmFja2dyb3VuZDogI2VmNDQ0NDtcbn1cblxuLnNwZWVjaFN0YXR1c0J1YmJsZVByb2Nlc3Npbmcge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNCwgMTE2LCAxNDQsIDAuMzUpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjM2LCAyNTQsIDI1NSwgMC45Nyk7XG4gICAgY29sb3I6ICMxNTVlNzU7XG59XG5cbi5zcGVlY2hTdGF0dXNCdWJibGVQcm9jZXNzaW5nIC5zcGVlY2hTdGF0dXNCdWJibGVEb3Qge1xuICAgIGJhY2tncm91bmQ6ICMwZWE1ZTk7XG59XG5cbi5zcGVlY2hTdGF0dXNCdWJibGVFcnJvciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIyMCwgMzgsIDM4LCAwLjM1KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NCwgMjQyLCAyNDIsIDAuOTgpO1xuICAgIGNvbG9yOiAjOTkxYjFiO1xufVxuXG4uc3BlZWNoU3RhdHVzQnViYmxlRXJyb3IgLnNwZWVjaFN0YXR1c0J1YmJsZURvdCB7XG4gICAgYmFja2dyb3VuZDogI2RjMjYyNjtcbiAgICBhbmltYXRpb246IG5vbmU7XG59XG5cbi5DaGF0W2RhdGEtY2hhdC10aGVtZT0nZGFyayddIC5zcGVlY2hTdGF0dXNCdWJibGVSZWNvcmRpbmcge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgyNDgsIDExMywgMTEzLCAwLjQ0KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDEyNywgMjksIDI5LCAwLjcyKTtcbiAgICBjb2xvcjogI2ZlY2FjYTtcbn1cblxuLkNoYXRbZGF0YS1jaGF0LXRoZW1lPSdkYXJrJ10gLnNwZWVjaFN0YXR1c0J1YmJsZVByb2Nlc3Npbmcge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxMjUsIDIxMSwgMjUyLCAwLjQ0KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDgsIDQ3LCA3MywgMC43NCk7XG4gICAgY29sb3I6ICNiYWU2ZmQ7XG59XG5cbi5DaGF0W2RhdGEtY2hhdC10aGVtZT0nZGFyayddIC5zcGVlY2hTdGF0dXNCdWJibGVFcnJvciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDI0OCwgMTEzLCAxMTMsIDAuNSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMjcsIDI5LCAyOSwgMC44Mik7XG4gICAgY29sb3I6ICNmZWNhY2E7XG59XG5cbi5kaWN0YXRpb25QYW5lbCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2hhdC1kaWN0YXRpb24tcGFuZWwtYm9yZGVyLWNvbG9yKTtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIHBhZGRpbmc6IDEwcHggMTJweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LWRpY3RhdGlvbi1wYW5lbC1iYWNrZ3JvdW5kKTtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1kaWN0YXRpb24tcGFuZWwtY29sb3IpO1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDFweCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMik7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTBweDtcbn1cblxuLmRpY3RhdGlvblBhbmVsSGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogOHB4O1xufVxuXG4uZGljdGF0aW9uUGFuZWxUaXRsZSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LWRpY3RhdGlvbi10aXRsZS1jb2xvcik7XG59XG5cbi5kaWN0YXRpb25QYW5lbFRvZ2dsZSB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2hhdC1kaWN0YXRpb24tcGFuZWwtYm9yZGVyLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1jaGF0LWRpY3RhdGlvbi10b2dnbGUtYmFja2dyb3VuZCk7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1kaWN0YXRpb24tdG9nZ2xlLWNvbG9yKTtcbiAgICBwYWRkaW5nOiA0cHggOHB4O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbn1cblxuLmRpY3RhdGlvbkludGVyaW1UcmFuc2NyaXB0IHtcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgcmdiYSg1OSwgMTMwLCAyNDYsIDAuNDUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2hhdC1kaWN0YXRpb24tdHJhbnNjcmlwdC1iYWNrZ3JvdW5kKTtcbiAgICBwYWRkaW5nOiA4cHggMTBweDtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LWRpY3RhdGlvbi10cmFuc2NyaXB0LWNvbG9yKTtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZGljdGF0aW9uRXJyb3JQYW5lbCB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMjAsIDM4LCAzOCwgMC4yNSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgyNTQsIDI0MiwgMjQyLCAwLjk1KTtcbiAgICBib3JkZXItcmFkaXVzOiAxMHB4O1xuICAgIHBhZGRpbmc6IDhweCAxMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDhweDtcbiAgICBjb2xvcjogIzk5MWIxYjtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmRpY3RhdGlvbkVycm9yQWN0aW9ucyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgZ2FwOiA4cHg7XG59XG5cbi5kaWN0YXRpb25FcnJvckFjdGlvbnMgYnV0dG9uLFxuLmRpY3RhdGlvbkNvcnJlY3Rpb25BY3Rpb25zIGJ1dHRvbiB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2hhdC1kaWN0YXRpb24tYWN0aW9uLWJvcmRlci1jb2xvcik7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2hhdC1kaWN0YXRpb24tYWN0aW9uLWJhY2tncm91bmQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgY29sb3I6IHZhcigtLWNoYXQtZGljdGF0aW9uLWFjdGlvbi1jb2xvcik7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgcGFkZGluZzogNnB4IDEwcHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uZGljdGF0aW9uQ29ycmVjdGlvblBhbmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA4cHg7XG59XG5cbi5kaWN0YXRpb25Db3JyZWN0aW9uTGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LWRpY3RhdGlvbi1jb3JyZWN0aW9uLWxhYmVsLWNvbG9yKTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA1ZW07XG59XG5cbi5kaWN0YXRpb25Db3JyZWN0aW9uVGV4dGFyZWEge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDY4cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tY2hhdC1kaWN0YXRpb24tY29ycmVjdGlvbi10ZXh0YXJlYS1ib3JkZXItY29sb3IpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgcGFkZGluZzogOHB4IDEwcHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgY29sb3I6IHZhcigtLWNoYXQtZGljdGF0aW9uLWNvcnJlY3Rpb24tdGV4dGFyZWEtY29sb3IpO1xuICAgIHJlc2l6ZTogdmVydGljYWw7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tY2hhdC1kaWN0YXRpb24tY29ycmVjdGlvbi10ZXh0YXJlYS1iYWNrZ3JvdW5kKTtcbn1cblxuLmRpY3RhdGlvbkNvcnJlY3Rpb25BY3Rpb25zIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDhweDtcbn1cblxuLmRpY3RhdGlvblNldHRpbmdzUGFuZWwge1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ3JpZC10ZW1wbGF0ZS1jb2x1bW5zOiByZXBlYXQoMiwgbWlubWF4KDAsIDFmcikpO1xuICAgIGdhcDogOHB4IDEycHg7XG59XG5cbi5kaWN0YXRpb25TZXR0aW5nc1BhbmVsIGxhYmVsIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNnB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1kaWN0YXRpb24tc2V0dGluZ3MtY29sb3IpO1xufVxuXG4uZGljdGF0aW9uRmFsbGJhY2tOb3RlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGNvbG9yOiB2YXIoLS1jaGF0LWRpY3RhdGlvbi1mYWxsYmFjay1jb2xvcik7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU7XG59XG5cbkBrZXlmcmFtZXMgc3BlZWNoU3RhdHVzQnViYmxlSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoNnB4KSBzY2FsZSgwLjk4KTtcbiAgICB9XG4gICAgdG8ge1xuICAgICAgICBvcGFjaXR5OiAxO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMCkgc2NhbGUoMSk7XG4gICAgfVxufVxuXG5Aa2V5ZnJhbWVzIHNwZWVjaFN0YXR1c0J1YmJsZURvdFB1bHNlIHtcbiAgICAwJSxcbiAgICAxMDAlIHtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICAgICAgdHJhbnNmb3JtOiBzY2FsZSgxKTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgb3BhY2l0eTogMC42O1xuICAgICAgICB0cmFuc2Zvcm06IHNjYWxlKDAuODIpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyB2b2ljZVJlY29yZGluZ1B1bHNlIHtcbiAgICAwJSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDAgcmdiYSgyNTUsIDAsIDAsIDAuNCk7XG4gICAgfVxuICAgIDcwJSB7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMCAwIDEwcHggcmdiYSgyNTUsIDAsIDAsIDApO1xuICAgIH1cbiAgICAxMDAlIHtcbiAgICAgICAgYm94LXNoYWRvdzogMCAwIDAgMCByZ2JhKDI1NSwgMCwgMCwgMCk7XG4gICAgfVxufVxuXG4vKiBVcGxvYWQgcHJvZ3Jlc3MgaW5kaWNhdG9yICovXG4udXBsb2FkUHJvZ3Jlc3Mge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG4gICAgcGFkZGluZzogOHB4IDEycHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgwLCAxMzIsIDI1NSwgMC4xKTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDAsIDEzMiwgMjU1LCAwLjIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICMwMDg0ZmY7XG59XG5cbi51cGxvYWRQcm9ncmVzc0JhciB7XG4gICAgZmxleDogMTtcbiAgICBoZWlnaHQ6IDRweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDEzMiwgMjU1LCAwLjIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDJweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4udXBsb2FkUHJvZ3Jlc3NGaWxsIHtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDkwZGVnLCAjMDA4NGZmLCByZ2JhKDAsIDEzMiwgMjU1LCAwLjgpKTtcbiAgICBib3JkZXItcmFkaXVzOiAycHg7XG4gICAgYW5pbWF0aW9uOiB1cGxvYWRQcm9ncmVzcyAxLjVzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHVwbG9hZFByb2dyZXNzIHtcbiAgICAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgtMTAwJSk7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWCgwJSk7XG4gICAgfVxuICAgIDEwMCUge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgfVxufVxuXG4vKiBEcmFnIG92ZXJsYXkgKi9cbi5kcmFnT3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDAsIDEzMiwgMjU1LCAwLjEpO1xuICAgIGJvcmRlcjogMnB4IGRhc2hlZCByZ2JhKDAsIDEzMiwgMjU1LCAwLjUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICB6LWluZGV4OiAyMDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbn1cblxuLmRyYWdPdmVybGF5Q29udGVudCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIGNvbG9yOiAjMDA4NGZmO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xufVxuXG4uZHJhZ092ZXJsYXlDb250ZW50IHN2ZyB7XG4gICAgb3BhY2l0eTogMC43O1xufVxuXG4vKiBDaGF0IGlucHV0IGZpZWxkICovXG4uY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgdGV4dGFyZWEge1xuICAgIGZsZXg6IDE7XG4gICAgcGFkZGluZzogdmFyKC0tY2hhdC1pbnB1dC1wYWRkaW5nLXkpIHZhcigtLWNoYXQtaW5wdXQtcGFkZGluZy14KTtcbiAgICBtYXJnaW46IDA7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQ7XG4gICAgY29sb3I6IHZhcigtLWNoYXQtaW5wdXQtdGV4dC1jb2xvcik7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIGhlaWdodDogdmFyKC0tY2hhdC1pbnB1dC10ZXh0YXJlYS1oZWlnaHQpO1xuICAgIG1pbi1oZWlnaHQ6IHZhcigtLWNoYXQtaW5wdXQtdGV4dGFyZWEtaGVpZ2h0KTtcbiAgICBtYXgtaGVpZ2h0OiB2YXIoLS1jaGF0LWlucHV0LXRleHRhcmVhLWhlaWdodCk7XG4gICAgZm9udC1zaXplOiB2YXIoLS1jaGF0LWlucHV0LWZvbnQtc2l6ZSk7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQ7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMDJlbTtcbiAgICBsaW5lLWhlaWdodDogdmFyKC0tY2hhdC1pbnB1dC1saW5lLWhlaWdodCk7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIHJlc2l6ZTogbm9uZTtcbiAgICBhcHBlYXJhbmNlOiBub25lO1xuICAgIC13ZWJraXQtYXBwZWFyYW5jZTogbm9uZTtcbiAgICAtd2Via2l0LXRhcC1oaWdobGlnaHQtY29sb3I6IHRyYW5zcGFyZW50O1xuICAgIHRvdWNoLWFjdGlvbjogbWFuaXB1bGF0aW9uO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgdGV4dGFyZWE6Zm9jdXMge1xuICAgIC8qIEZvY3VzIGlzIGhhbmRsZWQgYnkgLmlucHV0Q29udGFpbmVyICovXG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB0ZXh0YXJlYTpkaXNhYmxlZCB7XG4gICAgb3BhY2l0eTogMC42O1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgdHJhbnNmb3JtOiBub25lO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgdGV4dGFyZWE6OnBsYWNlaG9sZGVyIHtcbiAgICBjb2xvcjogdmFyKC0tY2hhdC1pbnB1dC1wbGFjZWhvbGRlci1jb2xvcik7XG4gICAgb3BhY2l0eTogMC45O1xufVxuXG4vKiBDaGF0IHNlbmQgYnV0dG9uICovXG4uY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgYnV0dG9uW2RhdGEtYnV0dG9uLXR5cGU9J2NhbGwtdG8tYWN0aW9uJ10ge1xuICAgIHdpZHRoOiB2YXIoLS1jaGF0LWlucHV0LWFjdGlvbi1zaXplKTtcbiAgICBoZWlnaHQ6IHZhcigtLWNoYXQtaW5wdXQtYWN0aW9uLXNpemUpO1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcblxuICAgIGJvcmRlcjogbm9uZTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlICFpbXBvcnRhbnQ7XG4gICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICBtaW4td2lkdGg6IHVuc2V0ICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogdW5zZXQgIWltcG9ydGFudDtcblxuICAgIHRyYW5zaXRpb246IGFsbCAwLjNzIGN1YmljLWJlemllcigwLjI1LCAwLjQ2LCAwLjQ1LCAwLjk0KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMCwgMTMyLCAyNTUsIDAuMjUpO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCBidXR0b25bZGF0YS1idXR0b24tdHlwZT0nY2FsbC10by1hY3Rpb24nXTpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA1KTtcbiAgICBib3gtc2hhZG93OiAwIDZweCAxNnB4IHJnYmEoMCwgMTMyLCAyNTUsIDAuMzUpO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgYnV0dG9uW2RhdGEtYnV0dG9uLXR5cGU9J2NhbGwtdG8tYWN0aW9uJ106YWN0aXZlIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDAuOTUpO1xufVxuXG4uY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgYnV0dG9uW2RhdGEtYnV0dG9uLXR5cGU9J2NhbGwtdG8tYWN0aW9uJ10gc3ZnIHtcbiAgICB3aWR0aDogMjBweDtcbiAgICBoZWlnaHQ6IDIwcHg7XG59XG5cbi5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCBidXR0b24gaW1nIHtcbiAgICB3aWR0aDogNTAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBvYmplY3QtZml0OiBjb250YWluO1xufVxuXG4vKiBTY3JvbGwgdG8gYm90dG9tIGJ1dHRvbiAqL1xuXG4uc2Nyb2xsVG9Cb3R0b21Db250YWluZXIge1xuICAgIC8qL1xuICAgIG91dGxpbmU6IDFweCBkb3R0ZWQgcmVkO1xuICAgIC8qKi9cblxuICAgIHotaW5kZXg6IDIwO1xuICAgIGdyaWQtYXJlYTog8J+TnTtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogZmxleC1zdGFydDtcblxuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uc2Nyb2xsVG9Cb3R0b21Db250YWluZXIgLnNjcm9sbFRvQm90dG9tV3JhcHBlciB7XG4gICAgcG9pbnRlci1ldmVudHM6IGFsbDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgLTE1MCUpO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgYW5pbWF0aW9uOiBzY3JvbGxCdXR0b25TbGlkZUluIDAuM3MgZWFzZS1vdXQ7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xufVxuXG4uc2Nyb2xsVG9Cb3R0b21Db250YWluZXIgLnNjcm9sbFRvQm90dG9tIHtcbiAgICB3aWR0aDogNDhweDtcbiAgICBoZWlnaHQ6IDQ4cHg7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMCAwIDAgLyAwLjUpO1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBmb250LXdlaWdodDogYm9sZDtcbiAgICBjb2xvcjogd2hpdGU7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQ7XG4gICAgdG91Y2gtYWN0aW9uOiBtYW5pcHVsYXRpb247XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuM3MgY3ViaWMtYmV6aWVyKDAuMjUsIDAuNDYsIDAuNDUsIDAuOTQpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDE2cHggcmdiYSgwLCAwLCAwLCAwLjMpO1xufVxuXG5Aa2V5ZnJhbWVzIHNjcm9sbEJ1dHRvblNsaWRlSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZSgtNTAlLCAyMHB4KSBzY2FsZSgwLjgpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDAuOTtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGUoLTUwJSwgMCkgc2NhbGUoMSk7XG4gICAgfVxufVxuXG4uc2Nyb2xsVG9Cb3R0b21CYWRnZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogLThweDtcbiAgICByaWdodDogLThweDtcbiAgICBtaW4td2lkdGg6IDMycHg7XG4gICAgcGFkZGluZzogMnB4IDZweDtcbiAgICBmb250LXNpemU6IDEwcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBiYWNrZ3JvdW5kOiAjMjU2M2ViO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDEwcHggcmdiYSgzNywgOTksIDIzNSwgMC40KTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA0ZW07XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBwb2ludGVyLWV2ZW50czogbm9uZTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4vKiBSYXRpbmcgbW9kYWwgKi9cbi5yYXRpbmdNb2RhbCB7XG4gICAgcG9zaXRpb246IGZpeGVkO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAwO1xuICAgIHJpZ2h0OiAwO1xuICAgIGJvdHRvbTogMDtcblxuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTUsIDIzLCA0MiwgMC43Nik7XG5cbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgei1pbmRleDogMTAwMDtcbiAgICBhbmltYXRpb246IG1vZGFsRmFkZUluIDAuM3MgZWFzZS1vdXQ7XG59XG5cbkBrZXlmcmFtZXMgbW9kYWxGYWRlSW4ge1xuICAgIGZyb20ge1xuICAgICAgICBvcGFjaXR5OiAwO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4ucmF0aW5nTW9kYWxDb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjMGYxNzI0O1xuICAgIHBhZGRpbmc6IDMycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICB3aWR0aDogOTAlO1xuICAgIG1heC13aWR0aDogNDgwcHg7XG4gICAgYm94LXNoYWRvdzogMCAyMHB4IDYwcHggcmdiYSgwLCAwLCAwLCAwLjMpO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4xKTtcbiAgICBiYWNrZHJvcC1maWx0ZXI6IGJsdXIoMjBweCk7XG4gICAgYW5pbWF0aW9uOiBtb2RhbFNsaWRlSW4gMC4zcyBjdWJpYy1iZXppZXIoMC4yNSwgMC40NiwgMC40NSwgMC45NCk7XG5cbiAgICBmb250LWZhbWlseTogQXJpYWwsIEhlbHZldGljYSwgc2Fucy1zZXJpZiwgJ09wZW5Nb2ppQ29sb3InLCAnT3Blbk1vamlCbGFjayc7XG4gICAgLyogPC0gVE9ETzogW/Cfp6BdW/CfjrFdIEJldHRlciwgZGVmaW5lIG90aGVyIGZvbnRzICovXG59XG5cbkBrZXlmcmFtZXMgbW9kYWxTbGlkZUluIHtcbiAgICBmcm9tIHtcbiAgICAgICAgb3BhY2l0eTogMDtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKDIwcHgpIHNjYWxlKDAuOTUpO1xuICAgIH1cbiAgICB0byB7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgxKTtcbiAgICB9XG59XG5cbi5yYXRpbmdNb2RhbENvbnRlbnQgaDMge1xuICAgIG1hcmdpbjogMCAwIDI0cHggMDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6IGJsYWNrO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uc3RhcnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMjRweDtcbn1cblxuLnN0YXJzIHNwYW4ge1xuICAgIGZvbnQtc2l6ZTogMjhweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICBwYWRkaW5nOiA0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xufVxuXG4uc3RhcnMgc3Bhbjpob3ZlciB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjIpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyMTUsIDAsIDAuMSk7XG59XG5cbi5yYXRpbmdNb2RhbFN0YXIge1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgdHJhbnNpdGlvbjogY29sb3IgMC4ycztcbn1cblxuLnJhdGluZ01vZGFsW2RhdGEtY2hhdC1tb2RhbD0naW1hZ2UtYXR0YWNobWVudCddIHtcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHBhZGRpbmc6IDI0cHg7XG59XG5cbi5yYXRpbmdNb2RhbFtkYXRhLWNoYXQtbW9kYWw9J2NpdGF0aW9uLWJyb3dzZXInXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBwYWRkaW5nOiAyNHB4O1xufVxuXG4udG9vbENhbGxNb2RhbCB7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0OHB4KTtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xuICAgIG92ZXJmbG93LXg6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5jaXRhdGlvbkJyb3dzZXJNb2RhbCB7XG4gICAgd2lkdGg6IG1pbig5MHZ3LCA4MDBweCk7XG4gICAgbWF4LXdpZHRoOiA4MDBweDtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMHZoIC0gNDhweCk7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDBkdmggLSA0OHB4KTtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xufVxuXG4uY2l0YXRpb25Ccm93c2VyTW9kYWxCb2R5IHtcbiAgICBmbGV4OiAxIDEgYXV0bztcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG59XG5cbi5pbWFnZUF0dGFjaG1lbnRNb2RhbCB7XG4gICAgd2lkdGg6IG1pbig5MnZ3LCAxMDQwcHgpO1xuICAgIG1heC13aWR0aDogMTA0MHB4O1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSA0OHB4KTtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIDQ4cHgpO1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xufVxuXG4uaW1hZ2VBdHRhY2htZW50TW9kYWxIZWFkZXIge1xuICAgIGZsZXg6IDAgMCBhdXRvO1xuICAgIHBhZGRpbmc6IDIwcHggNjhweCAxNHB4IDI0cHg7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbn1cblxuLmltYWdlQXR0YWNobWVudE1vZGFsVGl0bGUge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjMGYxNzJhICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiAxNnB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbn1cblxuLmltYWdlQXR0YWNobWVudE1vZGFsUHJldmlldyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGZsZXg6IDEgMSBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDEzMHB4KTtcbiAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIDEzMHB4KTtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIGJhY2tncm91bmQ6ICMwZjE3MmE7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xufVxuXG4uaW1hZ2VBdHRhY2htZW50TW9kYWxJbWFnZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIG1heC1oZWlnaHQ6IGNhbGMoMTAwdmggLSAxNjJweCk7XG4gICAgbWF4LWhlaWdodDogY2FsYygxMDBkdmggLSAxNjJweCk7XG4gICAgb2JqZWN0LWZpdDogY29udGFpbjtcbn1cblxuLnRvb2xDYWxsSGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxNnB4O1xuICAgIHBhZGRpbmc6IDI0cHggMzJweCAxNnB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNlZWYyZmYgMCUsICNmNWYzZmYgNDAlLCAjZmVmY2M5IDEwMCUpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCByZ2JhKDE1LCAyMywgNDIsIDAuMDgpO1xufVxuXG4udG9vbENhbGxJY29uIHtcbiAgICBmb250LXNpemU6IDMycHg7XG59XG5cbi50b29sQ2FsbEhlYWRlck1ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDRweDtcbn1cblxuLnRvb2xDYWxsTW9kYWxMYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjM1ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzQ3NTQ2NztcbiAgICBtYXJnaW46IDA7XG59XG5cbi50b29sQ2FsbFRpdGxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMwZjE3MmE7XG59XG5cbi50b29sQ2FsbFN1YnRpdGxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAjNDc1NDY3O1xufVxuXG4udG9vbENhbGxHcmlkIHtcbiAgICBkaXNwbGF5OiBncmlkO1xuICAgIGdyaWQtdGVtcGxhdGUtY29sdW1uczogcmVwZWF0KGF1dG8tZml0LCBtaW5tYXgoMjUwcHgsIDFmcikpO1xuICAgIGdhcDogMTZweDtcbiAgICBwYWRkaW5nOiAyNHB4IDMycHggMTZweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmZWZlO1xufVxuXG4udG9vbENhbGxQYW5lbCB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgcGFkZGluZzogMThweDtcbiAgICBib3gtc2hhZG93OiAwIDE4cHggNDBweCByZ2JhKDE1LCAyMywgNDIsIDAuMDgpO1xufVxuXG4udG9vbENhbGxQYW5lbFRpdGxlIHtcbiAgICBtYXJnaW46IDAgMCAxMnB4IDA7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMjVlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjOTRhM2I4O1xufVxuXG4udG9vbENhbGxMaXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEycHg7XG59XG5cbi50b29sQ2FsbEl0ZW0ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDRweDtcbn1cblxuLnRvb2xDYWxsSXRlbUxhYmVsIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMjVlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjOTRhM2I4O1xufVxuXG4udG9vbENhbGxJdGVtVmFsdWUge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBsaW5lLWhlaWdodDogMS40O1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLXdvcmQ7XG4gICAgd2hpdGUtc3BhY2U6IHByZS13cmFwO1xufVxuXG4udG9vbENhbGxTdW1tYXJ5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAxNXB4O1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG59XG5cbi50b29sQ2FsbFN1bW1hcnlNZXRhIHtcbiAgICBtYXJnaW4tdG9wOiAxNHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogOHB4O1xufVxuXG4udG9vbENhbGxTdW1tYXJ5TWV0YUJhZGdlIHtcbiAgICBwYWRkaW5nOiA1cHggMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDc5LCA3MCwgMjI5LCAwLjE1KTtcbiAgICBjb2xvcjogIzMxMmU4MTtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnRvb2xDYWxsRW1wdHkge1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogIzk0YTNiODtcbiAgICBmb250LXNpemU6IDE0cHg7XG59XG5cbi50b29sQ2FsbFBlbmRpbmdDYXJkIHtcbiAgICBib3JkZXI6IDFweCBkYXNoZWQgI2NiZDVlMTtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIHBhZGRpbmc6IDE0cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgI2Y4ZmJmZiAwJSwgI2Y4ZmFmYyAxMDAlKTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMHB4O1xufVxuXG4udG9vbENhbGxQZW5kaW5nSGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogMTBweDtcbn1cblxuLnRvb2xDYWxsUGVuZGluZ1RpdGxlIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbn1cblxuLnRvb2xDYWxsUGVuZGluZ0JhZGdlIHtcbiAgICBwYWRkaW5nOiA0cHggMTBweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE0LCAxNjUsIDIzMywgMC4xMik7XG4gICAgY29sb3I6ICMwMzY5YTE7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDVlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xufVxuXG4udG9vbENhbGxQZW5kaW5nTWVzc2FnZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjNDc1NDY3O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4udG9vbENhbGxQZW5kaW5nU2tlbGV0b24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDhweDtcbn1cblxuLnRvb2xDYWxsUGVuZGluZ1NrZWxldG9uTGluZSB7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCg5MGRlZywgcmdiYSgyMjYsIDIzMiwgMjQwLCAwLjcpLCByZ2JhKDI0MSwgMjQ1LCAyNDksIDEpLCByZ2JhKDIyNiwgMjMyLCAyNDAsIDAuNykpO1xuICAgIGJhY2tncm91bmQtc2l6ZTogMjAwJSAxMDAlO1xuICAgIGFuaW1hdGlvbjogdG9vbENhbGxQZW5kaW5nU2tlbGV0b25QdWxzZSAxLjRzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG4udG9vbENhbGxQZW5kaW5nU2tlbGV0b25TaG9ydCB7XG4gICAgd2lkdGg6IDY4JTtcbn1cblxuQGtleWZyYW1lcyB0b29sQ2FsbFBlbmRpbmdTa2VsZXRvblB1bHNlIHtcbiAgICBmcm9tIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogMTAwJSA1MCU7XG4gICAgfVxuICAgIHRvIHtcbiAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbjogLTEwMCUgNTAlO1xuICAgIH1cbn1cblxuLnRvb2xDYWxsRGV0YWlsc0NhcmQge1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIGJhY2tncm91bmQ6ICNmOGZhZmM7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbn1cblxuLnRvb2xDYWxsRGV0YWlsc0NhcmRSb3cge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGdhcDogMTJweDtcbiAgICBwYWRkaW5nOiAxMnB4IDE0cHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAjMzM0MTU1O1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCByZ2JhKDIyNiwgMjMyLCAyNDAsIDAuOSk7XG59XG5cbi50b29sQ2FsbERldGFpbHNDYXJkUm93OmZpcnN0LWNoaWxkIHtcbiAgICBib3JkZXItdG9wOiBub25lO1xufVxuXG4udG9vbENhbGxEZXRhaWxzQ2FyZFJvdyBzdHJvbmcge1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4udG9vbENhbGxJc3N1ZXMge1xuICAgIHBhZGRpbmc6IDAgMzJweCAxNnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogOHB4O1xufVxuXG4udG9vbENhbGxJc3N1ZUJhZGdlIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmc6IDZweCAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xufVxuXG4udG9vbENhbGxJc3N1ZUVycm9yIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjEyKTtcbiAgICBjb2xvcjogI2I5MWMxYztcbn1cblxuLnRvb2xDYWxsSXNzdWVXYXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzNCwgMTc5LCA4LCAwLjE2KTtcbiAgICBjb2xvcjogI2ExNjIwNztcbn1cblxuLnRvb2xDYWxsTW9kZUZvb3RlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGZsZXgtZW5kO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxMnB4O1xuICAgIHBhZGRpbmc6IDAgMzJweCAyNHB4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbn1cblxuLnRvb2xDYWxsTW9kZUJ1dHRvbiB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NiZDVlMTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIHBhZGRpbmc6IDhweCAxNnB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBib3JkZXItY29sb3IgMC4ycyBlYXNlLCBiYWNrZ3JvdW5kLWNvbG9yIDAuMnMgZWFzZSwgdHJhbnNmb3JtIDAuMnMgZWFzZTtcbn1cblxuLnRvb2xDYWxsTW9kZUJ1dHRvbjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbiAgICBib3JkZXItY29sb3I6ICM5NGEzYjg7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG4udG9vbENhbGxDbG9ja1BhbmVsIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDIwcHg7XG4gICAgcGFkZGluZzogMjBweDtcbn1cblxuLnRvb2xDYWxsQ2xvY2tMYWJlbHMge1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLnRvb2xDYWxsQ2xvY2tQcmltYXJ5IHtcbiAgICBmb250LXNpemU6IDJlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4udG9vbENhbGxDbG9ja1NlY29uZGFyeSB7XG4gICAgY29sb3I6ICM0NzU0Njc7XG59XG5cbi50b29sQ2FsbENsb2NrTWV0YSB7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbiAgICBjb2xvcjogIzY2NzA4NTtcbiAgICBtYXJnaW4tdG9wOiA1cHg7XG59XG5cbi50aW1lb3V0VG9vbFN1bW1hcnkge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgIHBhZGRpbmc6IDE2cHg7XG59XG5cbi50aW1lb3V0VG9vbFByaW1hcnlTZW50ZW5jZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi50aW1lb3V0VG9vbFNlY29uZGFyeVNlbnRlbmNlIHtcbiAgICBtYXJnaW46IDZweCAwIDA7XG4gICAgY29sb3I6ICM0NzU0Njc7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG59XG5cbi50aW1lb3V0VG9vbEFjdGlvblJvdyB7XG4gICAgbWFyZ2luLXRvcDogMTRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtd3JhcDogd3JhcDtcbiAgICBnYXA6IDhweDtcbn1cblxuLnRpbWVvdXRUb29sQWN0aW9uQnV0dG9uIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjY2JkNWUxO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgcGFkZGluZzogOHB4IDE0cHg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjJzIGVhc2UsIGJhY2tncm91bmQtY29sb3IgMC4ycyBlYXNlO1xufVxuXG4udGltZW91dFRvb2xBY3Rpb25CdXR0b246aG92ZXIge1xuICAgIGJhY2tncm91bmQ6ICNmMWY1Zjk7XG4gICAgYm9yZGVyLWNvbG9yOiAjOTRhM2I4O1xufVxuXG4udGltZW91dFRvb2xBY3Rpb25CdXR0b246ZGlzYWJsZWQge1xuICAgIGN1cnNvcjogZGVmYXVsdDtcbiAgICBvcGFjaXR5OiAwLjQ1O1xufVxuXG4ubWVtb3J5TW9kYWxIZWFkZXIge1xuICAgIHBhZGRpbmc6IDI4cHggMzJweCAxNnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiAxNnB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxODBkZWcsICNmZGZkZmQgMCUsICNmNmY5ZmYgMTAwJSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmU4ZjA7XG59XG5cbi5tZW1vcnlNb2RhbEljb24ge1xuICAgIHdpZHRoOiA1MnB4O1xuICAgIGhlaWdodDogNTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICM2MzY2ZjEsICNhODU1ZjcpO1xuICAgIGNvbG9yOiAjZmZmO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC1zaXplOiAyNHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMThweCAyOHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xOCk7XG59XG5cbi5tZW1vcnlNb2RhbEhlYWRlclRleHQge1xuICAgIGZsZXg6IDE7XG59XG5cbi5tZW1vcnlNb2RhbFRpdGxlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgZm9udC1zaXplOiAyMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMwZjE3MmE7XG59XG5cbi5tZW1vcnlNb2RhbFN1YnRpdGxlIHtcbiAgICBtYXJnaW46IDRweCAwIDA7XG4gICAgY29sb3I6ICM0NzU0Njc7XG4gICAgZm9udC1zaXplOiAxNHB4O1xufVxuXG4ubWVtb3J5TW9kYWxTdGF0dXMge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIHBhZGRpbmc6IDZweCAxNHB4O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA2cHg7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbn1cblxuLm1lbW9yeVN0YXR1c0RvdCB7XG4gICAgd2lkdGg6IDhweDtcbiAgICBoZWlnaHQ6IDhweDtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbn1cblxuLm1lbW9yeU1vZGFsQ29udGVudCB7XG4gICAgcGFkZGluZzogMjRweCAzMnB4IDMycHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxNnB4O1xufVxuXG4ubWVtb3J5TWVzc2FnZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGZvbnQtc2l6ZTogMTVweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xufVxuXG4ubWVtb3J5TWV0YVJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICM0NzU0Njc7XG59XG5cbi5tZW1vcnlNZXRhTGFiZWwge1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4ubWVtb3J5TWV0YVZhbHVlIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4ubWVtb3J5U3RvcmVTZWN0aW9uLFxuLm1lbW9yeVJldHJpZXZlU2VjdGlvbiB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTJweDtcbn1cblxuLm1lbW9yeUNhcmQge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNWU3ZWI7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBwYWRkaW5nOiAxOHB4O1xuICAgIGJhY2tncm91bmQ6ICNmOGZhZmM7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDE4cHggcmdiYSgxNSwgMjMsIDQyLCAwLjA4KTtcbn1cblxuLm1lbW9yeUNhcmRDb250ZW50IHtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICB3aGl0ZS1zcGFjZTogcHJlLXdyYXA7XG4gICAgb3ZlcmZsb3ctd3JhcDogYnJlYWstd29yZDtcbn1cblxuLm1lbW9yeUNhcmRNZXRhIHtcbiAgICBtYXJnaW4tdG9wOiAxMnB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgY29sb3I6ICM5NGEzYjg7XG4gICAgZm9udC1zaXplOiAxMnB4O1xufVxuXG4ubWVtb3J5U2NvcGVCYWRnZSB7XG4gICAgcGFkZGluZzogM3B4IDEwcHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgZm9udC1zaXplOiAxMXB4O1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMjQsIDU4LCAyMzcsIDAuMTIpO1xufVxuXG4ubWVtb3J5TGlzdCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMTJweDtcbn1cblxuLm1lbW9yeUVtcHR5U3RhdGUge1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgYmFja2dyb3VuZDogI2ZlZjNjNztcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmRlNjhhO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgY29sb3I6ICM5MjQwMGU7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbn1cblxuLm1lbW9yeUxpc3RGb290ZXIge1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBjb2xvcjogIzQ3NTQ2NztcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG59XG5cbi5tZW1vcnlTdGF0dXNTdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE2LCAxODUsIDEyOSwgMC4xNik7XG4gICAgY29sb3I6ICMwNDc4NTc7XG59XG5cbi5tZW1vcnlTdGF0dXNXYXJuaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzNCwgMTc5LCA4LCAwLjE2KTtcbiAgICBjb2xvcjogI2ExNjIwNztcbn1cblxuLm1lbW9yeVN0YXR1c0Vycm9yIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjE1KTtcbiAgICBjb2xvcjogI2I5MWMxYztcbn1cblxuLm1lbW9yeVN0YXR1c05ldXRyYWwge1xuICAgIGJhY2tncm91bmQ6IHJnYmEoOTYsIDE2NSwgMjUwLCAwLjE1KTtcbiAgICBjb2xvcjogIzFkNGVkODtcbn1cblxuLnNlYXJjaE1vZGFsSGVhZGVyIHtcbiAgICBwYWRkaW5nOiAyNHB4IDMycHg7XG4gICAgcGFkZGluZy1yaWdodDogNzJweDtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2VlZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAxNnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZGZkZmQ7XG59XG5cbi5zZWxmTGVhcm5pbmdNb2RhbEhlYWRlciB7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDE4cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2Y4ZmFmYyAwJSwgI2ZlZjljMyA0NSUsICNlY2ZjY2IgMTAwJSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkICNlMmU4ZjA7XG59XG5cbi5zZWxmTGVhcm5pbmdBdmF0YXJHcm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbn1cblxuLnNlbGZMZWFybmluZ0F2YXRhciB7XG4gICAgd2lkdGg6IDQ4cHg7XG4gICAgaGVpZ2h0OiA0OHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBiYWNrZ3JvdW5kOiAjZTJlOGYwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDE4cHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDJlbTtcbiAgICBiYWNrZ3JvdW5kLXNpemU6IGNvdmVyO1xuICAgIGJhY2tncm91bmQtcG9zaXRpb246IGNlbnRlcjtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMjBweCByZ2JhKDE1LCAyMywgNDIsIDAuMTgpO1xufVxuXG4uc2VsZkxlYXJuaW5nQXZhdGFySW5pdGlhbCB7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG59XG5cbi5zZWxmTGVhcm5pbmdUZWFjaGVyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZmRlNjhhIDAlLCAjODZlZmFjIDEwMCUpO1xufVxuXG4uc2VsZkxlYXJuaW5nSGVhZGVyVGV4dCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogNnB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5zZWxmTGVhcm5pbmdUaXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMjBweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4uc2VsZkxlYXJuaW5nTWV0YVJvdyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG59XG5cbi5zZWxmTGVhcm5pbmdNZXRhIHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICM2NDc0OGI7XG59XG5cbi5zZWxmTGVhcm5pbmdNZXRhQ2hpcCB7XG4gICAgYmFja2dyb3VuZDogI2UyZThmMDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBwYWRkaW5nOiA0cHggMTBweDtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLnNlbGZMZWFybmluZ0NvbW1pdG1lbnRzIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBwYWRkaW5nOiAxNnB4O1xufVxuXG4uc2VsZkxlYXJuaW5nQ29tbWl0bWVudHNMYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzk0YTNiODtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uc2VsZkxlYXJuaW5nQm9va0VkaXRvciB7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG59XG5cbi5zZWxmTGVhcm5pbmdFbXB0eSB7XG4gICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgY29sb3I6ICM0NzU1Njk7XG59XG5cbi5tb2RhbENsb3NlQnV0dG9uIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgdG9wOiAxNnB4O1xuICAgIHJpZ2h0OiAxNnB4O1xuICAgIHotaW5kZXg6IDE7XG4gICAgd2lkdGg6IDM2cHg7XG4gICAgaGVpZ2h0OiAzNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYmFja2dyb3VuZDogI2ZmZjtcbiAgICBjb2xvcjogIzQ3NTU2OTtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBib3gtc2hhZG93OiAwIDZweCAxNnB4IHJnYmEoMTUsIDIzLCA0MiwgMC4wOCk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjJzIGVhc2UsIGNvbG9yIDAuMnMgZWFzZSwgYm94LXNoYWRvdyAwLjJzIGVhc2UsIHRyYW5zZm9ybSAwLjJzIGVhc2U7XG59XG5cbi5tb2RhbENsb3NlQnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGJveC1zaGFkb3c6IDAgMTBweCAyNHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xMik7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xufVxuXG4ubW9kYWxDbG9zZUJ1dHRvbjpmb2N1cy12aXNpYmxlIHtcbiAgICBvdXRsaW5lOiAycHggc29saWQgIzk0YTNiODtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4udGVhbU1vZGFsSGVhZGVyIHtcbiAgICBnYXA6IDEycHg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xufVxuXG4udGVhbUhlYWRlclBhcnRpY2lwYW50cyB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTJweDtcbiAgICBmbGV4LXdyYXA6IHdyYXA7XG59XG5cbi50ZWFtSGVhZGVyUHJvZmlsZSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGNvbG9yOiBpbmhlcml0O1xufVxuXG4udGVhbUhlYWRlclByb2ZpbGVMaW5rOmhvdmVyIHtcbiAgICBjb2xvcjogIzBmMTcyYTtcbn1cblxuLnRlYW1IZWFkZXJBdmF0YXIge1xuICAgIHdpZHRoOiA0MHB4O1xuICAgIGhlaWdodDogNDBweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIGJhY2tncm91bmQtc2l6ZTogY292ZXI7XG4gICAgYmFja2dyb3VuZC1wb3NpdGlvbjogY2VudGVyO1xuICAgIGJhY2tncm91bmQtcmVwZWF0OiBuby1yZXBlYXQ7XG4gICAgYm94LXNoYWRvdzogMCA2cHggMTRweCByZ2JhKDE1LCAyMywgNDIsIDAuMDgpO1xufVxuXG4udGVhbUhlYWRlck5hbWUge1xuICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4udGVhbUhlYWRlckRpdmlkZXIge1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjOTRhM2I4O1xufVxuXG4uc2VhcmNoTW9kYWxJY29uIHtcbiAgICBmb250LXNpemU6IDI0cHg7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjb2xvcjogIzQ3NTU2OTtcbn1cblxuLnNlYXJjaE1vZGFsUXVlcnkge1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMjJweCAhaW1wb3J0YW50O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDAgIWltcG9ydGFudDtcbiAgICBjb2xvcjogIzIwMjEyNCAhaW1wb3J0YW50O1xuICAgIHRleHQtYWxpZ246IGxlZnQgIWltcG9ydGFudDtcbn1cblxuLnNlYXJjaE1vZGFsQ29udGVudCB7XG4gICAgcGFkZGluZzogMjRweCAzMnB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgbWF4LWhlaWdodDogNjB2aDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4udGVhbUNoYXRDb250YWluZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlNWU3ZWI7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6ICNmOGZhZmM7XG4gICAgbWFyZ2luLWJvdHRvbTogMjBweDtcbn1cblxuLnRlYW1Ub29sQ2FsbFNlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDE2cHg7XG59XG5cbi50ZWFtVG9vbENhbGxHcm91cCB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogOHB4O1xufVxuXG4udGVhbVRvb2xDYWxsSGVhZGluZyB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xufVxuXG4udGVhbVRvb2xDYWxsQ2hpcHMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC13cmFwOiB3cmFwO1xuICAgIGdhcDogOHB4O1xufVxuXG4udGVhbVRvb2xDYWxsRGV0YWlscyB7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNDgsIDE2MywgMTg0LCAwLjQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgcGFkZGluZzogMTZweDtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xufVxuXG4udGVhbVRvb2xDYWxsRGV0YWlsc0hlYWRlciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogc3BhY2UtYmV0d2VlbjtcbiAgICBnYXA6IDEycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTJweDtcbn1cblxuLnRlYW1Ub29sQ2FsbERldGFpbHNUaXRsZSB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNnB4O1xufVxuXG4udGVhbVRvb2xDYWxsRGV0YWlsc0NsZWFyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMik7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNDgsIDE2MywgMTg0LCAwLjQpO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIHBhZGRpbmc6IDRweCAxMHB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICM0NzU1Njk7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLnRlYW1Ub29sQ2FsbERldGFpbHNDbGVhcjpob3ZlciB7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxNDgsIDE2MywgMTg0LCAwLjM1KTtcbn1cblxuLnNlYXJjaFJlc3VsdHNMaXN0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAyOHB4O1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG59XG5cbi5zZWFyY2hSZXN1bHRzUmF3IHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1heC13aWR0aDogNjUwcHg7XG59XG5cbi5zZWFyY2hSZXN1bHRJdGVtIHtcbiAgICBtYXgtd2lkdGg6IDY1MHB4O1xufVxuXG4uc2VhcmNoUmVzdWx0VXJsIHtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgY29sb3I6ICMyMDIxMjQ7XG4gICAgbWFyZ2luLWJvdHRvbTogNHB4O1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICB0ZXh0LW92ZXJmbG93OiBlbGxpcHNpcztcbn1cblxuLnNlYXJjaFJlc3VsdFVybCBhIHtcbiAgICBjb2xvcjogIzIwMjEyNDtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5zZWFyY2hSZXN1bHRUaXRsZSB7XG4gICAgZm9udC1zaXplOiAyMHB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAwIDRweCAwICFpbXBvcnRhbnQ7XG4gICAgbGluZS1oZWlnaHQ6IDEuMztcbn1cblxuLnNlYXJjaFJlc3VsdFRpdGxlIGEge1xuICAgIGNvbG9yOiAjMWEwZGFiO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLnNlYXJjaFJlc3VsdFRpdGxlIGE6aG92ZXIge1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4uc2VhcmNoUmVzdWx0U25pcHBldCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU4O1xuICAgIGNvbG9yOiAjNGQ1MTU2O1xuICAgIG1hcmdpbjogMDtcbn1cblxuLm5vUmVzdWx0cyB7XG4gICAgcGFkZGluZzogNDBweDtcbiAgICB0ZXh0LWFsaWduOiBjZW50ZXI7XG4gICAgY29sb3I6ICM3MDc1N2E7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4udG9vbENhbGxEZXRhaWxzIHtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIG1hcmdpbjogMjBweCAwO1xufVxuLmNpdGF0aW9uRGV0YWlscyB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbiAgICBtYXJnaW46IDIwcHggMDtcbn1cblxuLmNpdGF0aW9uUHJldmlldyB7XG4gICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZGRkO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG59XG5cbi5jaXRhdGlvbklmcmFtZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA2MHZoO1xuICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNpdGF0aW9uSWZyYW1lTG9hZGluZyB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgaGVpZ2h0OiA2MHZoO1xuICAgIG1pbi1oZWlnaHQ6IDQwMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjb2xvcjogIzg4ODtcbiAgICBmb250LXNpemU6IDAuOWVtO1xufVxuXG4uY2l0YXRpb25TY3JlZW5zaG90RmFsbGJhY2sge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG59XG5cbi5jaXRhdGlvblNjcmVlbnNob3RJbWFnZSB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgbWF4LWhlaWdodDogNjB2aDtcbiAgICBtaW4taGVpZ2h0OiA0MDBweDtcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBvYmplY3QtcG9zaXRpb246IHRvcDtcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLmNpdGF0aW9uU2NyZWVuc2hvdExpbmsge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbiAgICBwYWRkaW5nOiAxMHB4IDE2cHg7XG4gICAgYmFja2dyb3VuZDogI2YwZjBmMDtcbiAgICBjb2xvcjogIzMzMztcbiAgICBmb250LXNpemU6IDAuOWVtO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCAjZGRkO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xNXM7XG59XG5cbi5jaXRhdGlvblNjcmVlbnNob3RMaW5rOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTBlMGUwO1xuICAgIHRleHQtZGVjb3JhdGlvbjogdW5kZXJsaW5lO1xufVxuXG4ubGl2ZUJyb3dzZXJQcmV2aWV3IHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBtaW4taGVpZ2h0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xufVxuXG4uY2l0YXRpb25Ccm93c2VyTW9kYWwgLmxpdmVCcm93c2VyUHJldmlldyB7XG4gICAgZmxleDogMSAxIGF1dG87XG4gICAgbWluLWhlaWdodDogMDtcbn1cblxuLmxpdmVCcm93c2VyUHJldmlldzpmdWxsc2NyZWVuIHtcbiAgICBiYWNrZ3JvdW5kOiAjMGYxNzJhO1xufVxuXG4ubGl2ZUJyb3dzZXJQcmV2aWV3VG9vbGJhciB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNHB4O1xuICAgIHBhZGRpbmc6IDZweCA4cHg7XG4gICAgYmFja2dyb3VuZDogI2YxZjVmOTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgI2UyZThmMDtcbn1cblxuLmxpdmVCcm93c2VyUHJldmlld1Rvb2xiYXJCdXR0b24ge1xuICAgIGZsZXg6IG5vbmU7XG4gICAgbWluLXdpZHRoOiAyOHB4O1xuICAgIGhlaWdodDogMjhweDtcbiAgICBwYWRkaW5nOiAwIDRweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDZweDtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBjb2xvcjogIzMzNDE1NTtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMTVzO1xufVxuXG4ubGl2ZUJyb3dzZXJQcmV2aWV3VG9vbGJhckJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZDogI2UyZThmMDtcbn1cblxuLmxpdmVCcm93c2VyUHJldmlld1Rvb2xiYXJCdXR0b246ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuMzU7XG4gICAgY3Vyc29yOiBkZWZhdWx0O1xufVxuXG4ubGl2ZUJyb3dzZXJQcmV2aWV3Wm9vbUxhYmVsIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgZm9udC12YXJpYW50LW51bWVyaWM6IHRhYnVsYXItbnVtcztcbn1cblxuLmxpdmVCcm93c2VyUHJldmlld1Rvb2xiYXJDbG9zZUJ1dHRvbiB7XG4gICAgbWFyZ2luLWxlZnQ6IDJweDtcbn1cblxuLmxpdmVCcm93c2VyUHJldmlld1Rvb2xiYXJDbG9zZUJ1dHRvbiBzdmcge1xuICAgIHdpZHRoOiAxNHB4O1xuICAgIGhlaWdodDogMTRweDtcbn1cblxuLmxpdmVCcm93c2VyUHJldmlld1VybEZvcm0ge1xuICAgIGZsZXg6IDE7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG1hcmdpbjogMCA0cHg7XG59XG5cbi5saXZlQnJvd3NlclByZXZpZXdVcmxJbnB1dCB7XG4gICAgd2lkdGg6IDEwMCU7XG4gICAgcGFkZGluZzogNXB4IDEycHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZThmMDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4ubGl2ZUJyb3dzZXJQcmV2aWV3VXJsSW5wdXQ6Zm9jdXMge1xuICAgIGJvcmRlci1jb2xvcjogIzk0YTNiODtcbn1cblxuLmxpdmVCcm93c2VyUHJldmlld1N0cmVhbUFyZWEge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBoZWlnaHQ6IDYwdmg7XG4gICAgbWluLWhlaWdodDogNDAwcHg7XG4gICAgb3ZlcmZsb3c6IGF1dG87XG4gICAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgICBvdXRsaW5lOiBub25lO1xuICAgIHRvdWNoLWFjdGlvbjogbm9uZTtcbn1cblxuLmNpdGF0aW9uQnJvd3Nlck1vZGFsIC5saXZlQnJvd3NlclByZXZpZXdTdHJlYW1BcmVhIHtcbiAgICBoZWlnaHQ6IG1pbig2MHZoLCA2NDBweCk7XG4gICAgbWluLWhlaWdodDogbWluKDQwMHB4LCBjYWxjKDEwMGR2aCAtIDE0MHB4KSk7XG59XG5cbi5saXZlQnJvd3NlclByZXZpZXdTdHJlYW1BcmVhOmZvY3VzLXZpc2libGUge1xuICAgIGJveC1zaGFkb3c6IGluc2V0IDAgMCAwIDJweCAjOTRhM2I4O1xufVxuXG4ubGl2ZUJyb3dzZXJQcmV2aWV3OmZ1bGxzY3JlZW4gLmxpdmVCcm93c2VyUHJldmlld1N0cmVhbUFyZWEge1xuICAgIGZsZXg6IDE7XG4gICAgaGVpZ2h0OiBhdXRvO1xuICAgIG1pbi1oZWlnaHQ6IDA7XG59XG5cbi5saXZlQnJvd3NlclByZXZpZXdTdHJlYW1JbWFnZSB7XG4gICAgcG9zaXRpb246IHJlbGF0aXZlO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgdXNlci1zZWxlY3Q6IG5vbmU7XG4gICAgdG91Y2gtYWN0aW9uOiBub25lO1xufVxuXG4ubGl2ZUJyb3dzZXJQcmV2aWV3Q29ubmVjdGluZyB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjb2xvcjogIzY0NzQ4YjtcbiAgICBmb250LXNpemU6IDAuOWVtO1xufVxuXG4ubGl2ZUJyb3dzZXJQcmV2aWV3T3ZlcmxheSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIGluc2V0OiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGdhcDogMTJweDtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE1LCAyMywgNDIsIDAuNTUpO1xuICAgIGNvbG9yOiAjZmZmZmZmO1xuICAgIHRleHQtYWxpZ246IGNlbnRlcjtcbn1cblxuLmxpdmVCcm93c2VyUHJldmlld092ZXJsYXlCdXR0b24ge1xuICAgIHBhZGRpbmc6IDhweCAyMHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xufVxuXG4uY2l0YXRpb25NZXRhZGF0YSB7XG4gICAgYmFja2dyb3VuZDogI2Y4ZjhmODtcbiAgICBwYWRkaW5nOiAxNnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZWVlO1xuICAgIG1hcmdpbi1ib3R0b206IDIwcHg7XG59XG5cbi5jaXRhdGlvbk1ldGFkYXRhIHAge1xuICAgIG1hcmdpbjogOHB4IDA7XG4gICAgZm9udC1zaXplOiAwLjllbTtcbn1cblxuLmNpdGF0aW9uTWV0YWRhdGEgc3Ryb25nIHtcbiAgICBjb2xvcjogIzMzMztcbn1cblxuLmNpdGF0aW9uTWV0YWRhdGEgYSB7XG4gICAgY29sb3I6ICMwMDdiZmY7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lO1xuICAgIHdvcmQtYnJlYWs6IGJyZWFrLWFsbDtcbn1cblxuLmNpdGF0aW9uTWV0YWRhdGEgYTpob3ZlciB7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiB1bmRlcmxpbmU7XG59XG5cbi5jaXRhdGlvbkV4Y2VycHQge1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgcGFkZGluZzogMTZweDtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgICBtYXgtaGVpZ2h0OiA0MDBweDtcbiAgICBvdmVyZmxvdy15OiBhdXRvO1xufVxuXG4uY2l0YXRpb25FeGNlcnB0IGg0IHtcbiAgICBtYXJnaW46IDAgMCAxMnB4IDA7XG4gICAgY29sb3I6ICMzMzM7XG4gICAgZm9udC1zaXplOiAxZW07XG59XG5cbi5jaXRhdGlvbkhpbnQge1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIG1hcmdpbi10b3A6IDhweDtcbiAgICBvcGFjaXR5OiAwLjc7XG59XG5cbi50b29sQ2FsbERhdGFDb250YWluZXIge1xuICAgIGJhY2tncm91bmQ6ICNmOGY4Zjg7XG4gICAgcGFkZGluZzogMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiA2cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2VlZTtcbiAgICBtYXJnaW4tYm90dG9tOiAxNXB4O1xuICAgIG1heC1oZWlnaHQ6IDMwMHB4O1xuICAgIG92ZXJmbG93LXk6IGF1dG87XG59XG5cbi50b29sQ2FsbFBheWxvYWRDb250YWluZXIge1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6ICNmOGZhZmM7XG59XG5cbi50b29sQ2FsbFBheWxvYWRFZGl0b3IgOmdsb2JhbCgubW9uYWNvLWVkaXRvciksXG4udG9vbENhbGxQYXlsb2FkRWRpdG9yIDpnbG9iYWwoLm1vbmFjby1lZGl0b3IgLm92ZXJmbG93LWd1YXJkKSxcbi50b29sQ2FsbFBheWxvYWRFZGl0b3IgOmdsb2JhbCgubW9uYWNvLWVkaXRvciAubW9uYWNvLXNjcm9sbGFibGUtZWxlbWVudCksXG4udG9vbENhbGxQYXlsb2FkRWRpdG9yIDpnbG9iYWwoLm1vbmFjby1lZGl0b3ItYmFja2dyb3VuZCkge1xuICAgIGJhY2tncm91bmQ6ICNmOGZhZmMgIWltcG9ydGFudDtcbn1cblxuLnRvb2xDYWxsRGF0YSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIHdoaXRlLXNwYWNlOiBwcmUtd3JhcDtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4udG9vbENhbGxNb2RhbCAudG9vbENhbGxEYXRhIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4ucmF0aW5nSW5wdXQge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIG1pbi1oZWlnaHQ6IDEwMHB4O1xuICAgIHBhZGRpbmc6IDE2cHg7XG4gICAgYm9yZGVyOiAycHggc29saWQgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjEpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMThweDtcbiAgICByZXNpemU6IHZlcnRpY2FsO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4wNSk7XG4gICAgY29sb3I6ICMwYjEyMjA7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbn1cblxuLnJhdGluZ0lucHV0OmZvY3VzIHtcbiAgICBib3JkZXItY29sb3I6ICMwMDg0ZmY7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjA4KTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSgwLCAxMzIsIDI1NSwgMC4xKTtcbiAgICBvdXRsaW5lOiBub25lO1xufVxuXG4ucmF0aW5nSW5wdXRbcmVhZG9ubHldIHtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuNSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjAxKTtcbn1cblxuLnJhdGluZ0FjdGlvbnMge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAganVzdGlmeS1jb250ZW50OiBmbGV4LWVuZDtcbiAgICBnYXA6IDEycHg7XG59XG5cbi5yYXRpbmdBY3Rpb25zIGJ1dHRvbiB7XG4gICAgcGFkZGluZzogMTJweCAyNHB4O1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgY3Vyc29yOiBwb2ludGVyO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBmb250LXdlaWdodDogNTAwO1xuICAgIHRyYW5zaXRpb246IGFsbCAwLjJzIGVhc2U7XG4gICAgbWluLXdpZHRoOiA4MHB4O1xufVxuXG4ucmF0aW5nQWN0aW9ucyBidXR0b246Zmlyc3QtY2hpbGQge1xuICAgIGJhY2tncm91bmQtY29sb3I6IHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4xKTtcbiAgICBjb2xvcjogIzBiMTIyMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDEyNSwgMTI1LCAxMjUsIDAuMik7XG59XG5cbi5yYXRpbmdBY3Rpb25zIGJ1dHRvbjpmaXJzdC1jaGlsZDpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjIpO1xuICAgIGNvbG9yOiAjMGIxMjIwO1xufVxuXG4ucmF0aW5nQWN0aW9ucyBidXR0b246bGFzdC1jaGlsZCB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgIzAwODRmZiAwJSwgIzAwNjZjYyAxMDAlKTtcbiAgICBjb2xvcjogI2ZmZmZmZjtcbn1cblxuLnJhdGluZ0FjdGlvbnMgYnV0dG9uOmxhc3QtY2hpbGQ6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwMDcxZDEgMCUsICMwMDUyYTMgMTAwJSk7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC0xcHgpO1xuICAgIGJveC1zaGFkb3c6IDAgNHB4IDEycHggcmdiYSgwLCAxMzIsIDI1NSwgMC4zKTtcbn1cblxuLnJhdGluZ0FjdGlvbnMgYnV0dG9uOmxhc3QtY2hpbGQ6ZGlzYWJsZWQge1xuICAgIG9wYWNpdHk6IDAuNTtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkO1xufVxuXG4uZG93bmxvYWRCdXR0b24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogMTJweCAyNHB4O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMwMDg0ZmYgMCUsICMwMDY2Y2MgMTAwJSk7XG4gICAgY29sb3I6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAxMzIsIDI1NSwgMC4yKTtcbn1cblxuLmRvd25sb2FkQnV0dG9uOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMDA5OWZmIDAlLCAjMDA3N2RkIDEwMCUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMnB4KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxNnB4IHJnYmEoMCwgMTMyLCAyNTUsIDAuMyk7XG59XG5cbi5kb3dubG9hZEJ1dHRvbjphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgwLCAxMzIsIDI1NSwgMC4yKTtcbn1cblxuLmRvd25sb2FkQnV0dG9uIHN2ZyB7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5kb3dubG9hZEJ1dHRvbiBzcGFuIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4vKiBQcmltYXJ5IGNoYXQgdG9vbGJhciBidXR0b25zICovXG4uY2hhdEJ1dHRvbixcbi51c2VUZW1wbGF0ZUJ1dHRvbiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXggIWltcG9ydGFudDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyICFpbXBvcnRhbnQ7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXIgIWltcG9ydGFudDtcbiAgICBnYXA6IDhweCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDExcHggMTZweCAhaW1wb3J0YW50O1xuICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxNDBkZWcsICMwZjhlZjUgMCUsICMwYjZmZDAgNTYlLCAjMGQ1ZmJiIDEwMCUpICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6ICNmZmZmZmYgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjQpICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHggIWltcG9ydGFudDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogMTIuNXB4ICFpbXBvcnRhbnQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMCAhaW1wb3J0YW50O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjAyZW0gIWltcG9ydGFudDtcbiAgICBsaW5lLWhlaWdodDogMS4yICFpbXBvcnRhbnQ7XG4gICAgY3Vyc29yOiBwb2ludGVyICFpbXBvcnRhbnQ7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZSwgYm94LXNoYWRvdyAwLjJzIGVhc2UsIGJhY2tncm91bmQgMC4ycyBlYXNlICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDI0cHggcmdiYSgxNCwgMTE2LCAyMTksIDAuMjgpLCBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yKSAhaW1wb3J0YW50O1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxOHB4KSAhaW1wb3J0YW50O1xuICAgIC13ZWJraXQtdGFwLWhpZ2hsaWdodC1jb2xvcjogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICB0b3VjaC1hY3Rpb246IG1hbmlwdWxhdGlvbiAhaW1wb3J0YW50O1xuICAgIHVzZXItc2VsZWN0OiBub25lICFpbXBvcnRhbnQ7XG4gICAgdGV4dC1kZWNvcmF0aW9uOiBub25lICFpbXBvcnRhbnQ7XG4gICAgbWluLWhlaWdodDogNDBweCAhaW1wb3J0YW50O1xuICAgIG1pbi13aWR0aDogMTEwcHggIWltcG9ydGFudDtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmUgIWltcG9ydGFudDtcbiAgICBvdmVyZmxvdzogaGlkZGVuICFpbXBvcnRhbnQ7XG59XG5cbi5jaGF0QnV0dG9uOjpiZWZvcmUsXG4udXNlVGVtcGxhdGVCdXR0b246OmJlZm9yZSB7XG4gICAgY29udGVudDogJyc7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMDtcbiAgICBsZWZ0OiAtMTEwJTtcbiAgICB3aWR0aDogNzUlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTAwZGVnLCB0cmFuc3BhcmVudCAwJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI2KSA0OCUsIHRyYW5zcGFyZW50IDEwMCUpO1xuICAgIHRyYW5zaXRpb246IGxlZnQgMC40NXMgZWFzZTtcbn1cblxuLmNoYXRCdXR0b246aG92ZXI6OmJlZm9yZSxcbi51c2VUZW1wbGF0ZUJ1dHRvbjpob3Zlcjo6YmVmb3JlIHtcbiAgICBsZWZ0OiAxNDAlO1xufVxuXG4uY2hhdEJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSxcbi51c2VUZW1wbGF0ZUJ1dHRvbjpob3Zlcjpub3QoOmRpc2FibGVkKSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE0MGRlZywgIzFhOWFmZiAwJSwgIzBkN2RlOCA1NiUsICMxMTY4YzkgMTAwJSkgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTEuNXB4KTtcbiAgICBib3gtc2hhZG93OiAwIDE0cHggMzBweCByZ2JhKDE0LCAxMTYsIDIxOSwgMC4zNCksIGluc2V0IDAgMXB4IDAgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjIpICFpbXBvcnRhbnQ7XG59XG5cbi5jaGF0QnV0dG9uOmFjdGl2ZSxcbi51c2VUZW1wbGF0ZUJ1dHRvbjphY3RpdmUge1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgwKSBzY2FsZSgwLjk4NSk7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMXMgZWFzZTtcbn1cblxuLmNoYXRCdXR0b246Zm9jdXMsXG4udXNlVGVtcGxhdGVCdXR0b246Zm9jdXMge1xuICAgIG91dGxpbmU6IG5vbmU7XG4gICAgYm94LXNoYWRvdzogMCAxMHB4IDI0cHggcmdiYSgxNCwgMTE2LCAyMTksIDAuMzIpLCAwIDAgMCAzcHggcmdiYSg1NiwgMTg5LCAyNDgsIDAuMjgpLFxuICAgICAgICBpbnNldCAwIDFweCAwIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yMikgIWltcG9ydGFudDtcbn1cblxuLmNoYXRCdXR0b24gc3ZnLFxuLnVzZVRlbXBsYXRlQnV0dG9uIHN2ZyB7XG4gICAgd2lkdGg6IDE2cHg7XG4gICAgaGVpZ2h0OiAxNnB4O1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIG9wYWNpdHk6IDE7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMnMgZWFzZSwgZmlsdGVyIDAuMnMgZWFzZTtcbiAgICBmaWx0ZXI6IGRyb3Atc2hhZG93KDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMjQpKTtcbn1cblxuLmNoYXRCdXR0b246aG92ZXIgc3ZnLFxuLnVzZVRlbXBsYXRlQnV0dG9uOmhvdmVyIHN2ZyB7XG4gICAgdHJhbnNmb3JtOiBzY2FsZSgxLjA4KSB0cmFuc2xhdGVYKDFweCk7XG4gICAgZmlsdGVyOiBkcm9wLXNoYWRvdygwIDJweCA0cHggcmdiYSgwLCAwLCAwLCAwLjI4KSk7XG59XG5cbi5jaGF0QnV0dG9uVGV4dCB7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjJzIGVhc2U7XG4gICAgdGV4dC1zaGFkb3c6IDAgMXB4IDJweCByZ2JhKDAsIDAsIDAsIDAuMTIpO1xufVxuXG4uY2hhdEJ1dHRvbjpob3ZlciAuY2hhdEJ1dHRvblRleHQsXG4udXNlVGVtcGxhdGVCdXR0b246aG92ZXIgLmNoYXRCdXR0b25UZXh0IHtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMXB4KTtcbn1cblxuLnNhdmVCdXR0b25Db250YWluZXIge1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi5zYXZlTWVudSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHRvcDogMTAwJTtcbiAgICBsZWZ0OiAwO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2RkZDtcbiAgICB6LWluZGV4OiAxMDtcbiAgICBtaW4td2lkdGg6IDEyMHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDAsIDAsIDAsIDAuMDgpO1xufVxuXG4uc2F2ZU1lbnVJdGVtIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA4cHggMTZweDtcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBjb2xvcjogIzExMTtcbn1cblxuLnNhdmVNZW51SXRlbTpob3ZlciB7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2YwZjBmMDtcbn1cblxuLnNhdmVNZW51RGl2aWRlciB7XG4gICAgaGVpZ2h0OiAxcHg7XG4gICAgYmFja2dyb3VuZC1jb2xvcjogI2RkZDtcbiAgICBtYXJnaW46IDRweCAwO1xufVxuXG4uY2hhdEZlZWRiYWNrUGFuZWwge1xuICAgIHdpZHRoOiBtaW4oMjYwcHgsIDEwMCUpO1xuICAgIHBhZGRpbmc6IDZweCA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTVlN2ViO1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMThweCByZ2JhKDE1LCAyMywgNDIsIDAuMDgpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDZweDtcbn1cblxuLmNoYXRGZWVkYmFja1RvZ2dsZSB7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMTBweDtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiA2cHggOHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZSwgdHJhbnNmb3JtIDAuMnMgZWFzZTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xufVxuXG4uY2hhdEZlZWRiYWNrVG9nZ2xlOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjVmNWY1O1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMC41cHgpO1xufVxuXG4uY2hhdEZlZWRiYWNrVG9nZ2xlOmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCAjMjU2M2ViO1xuICAgIG91dGxpbmUtb2Zmc2V0OiAycHg7XG59XG5cbi5jaGF0RmVlZGJhY2tJY29uIHtcbiAgICB3aWR0aDogMzRweDtcbiAgICBoZWlnaHQ6IDM0cHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTBweDtcbiAgICBiYWNrZ3JvdW5kOiAjZWVmMmZmO1xuICAgIGNvbG9yOiAjNjM2NmYxO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgcGxhY2UtaXRlbXM6IGNlbnRlcjtcbiAgICBmbGV4LXNocmluazogMDtcbiAgICB0cmFuc2l0aW9uOiBiYWNrZ3JvdW5kIDAuMnMgZWFzZSwgY29sb3IgMC4ycyBlYXNlO1xufVxuXG4uY2hhdEZlZWRiYWNrVG9nZ2xlW2RhdGEtZW5hYmxlZD0ndHJ1ZSddIC5jaGF0RmVlZGJhY2tJY29uIHtcbiAgICBiYWNrZ3JvdW5kOiAjZTBmMmZlO1xuICAgIGNvbG9yOiAjMDI4NGM3O1xufVxuXG4uY2hhdEZlZWRiYWNrVG9nZ2xlW2RhdGEtZW5hYmxlZD0nZmFsc2UnXSAuY2hhdEZlZWRiYWNrSWNvbiB7XG4gICAgYmFja2dyb3VuZDogI2YzZjRmNjtcbiAgICBjb2xvcjogIzk0YTNiODtcbn1cblxuLmNoYXRGZWVkYmFja01ldGEge1xuICAgIGZsZXg6IDE7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogMnB4O1xufVxuXG4uY2hhdEZlZWRiYWNrTGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMC44NXJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xufVxuXG4uY2hhdEZlZWRiYWNrRGVzY3JpcHRpb24ge1xuICAgIGZvbnQtc2l6ZTogMC43NXJlbTtcbiAgICBjb2xvcjogIzY0NzQ4Yjtcbn1cblxuLmNoYXRGZWVkYmFja0luZGljYXRvciB7XG4gICAgZm9udC1zaXplOiAwLjcycmVtO1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIHBhZGRpbmc6IDJweCA4cHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG59XG5cbi5jaGF0RmVlZGJhY2tJbmRpY2F0b3JBY3RpdmUge1xuICAgIGNvbG9yOiAjMTY2NTM0O1xuICAgIGJhY2tncm91bmQ6ICNkY2ZjZTc7XG4gICAgYm9yZGVyOiAxcHggc29saWQgIzM0ZDM5OTtcbn1cblxuLmNoYXRGZWVkYmFja0luZGljYXRvckluYWN0aXZlIHtcbiAgICBjb2xvcjogIzcxM2YxMjtcbiAgICBiYWNrZ3JvdW5kOiAjZmVmOWMzO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmYWNjMTU7XG59XG5cbi8qIFBhdXNlL1Jlc3VtZSBidXR0b24gdmFyaWFudCAocmV1c2VzIC5jaGF0QnV0dG9uIGJhc2Ugc3R5bGVzIGZvciBEUlkpICovXG4ucGF1c2VCdXR0b24ge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmZmIzNDcgMCUsICNmZjhjNDIgMTAwJSkgIWltcG9ydGFudDsgLyogV2FybSBvcmFuZ2UgZm9yIFwiYWN0aXZlL3J1bm5pbmdcIiAqL1xufVxuXG4ucGF1c2VCdXR0b246aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmZmMwNjcgMCUsICNmZjllNWYgMTAwJSkgIWltcG9ydGFudDtcbn1cblxuLnBhdXNlQnV0dG9uLnBhdXNpbmcge1xuICAgIG9wYWNpdHk6IDAuNiAhaW1wb3J0YW50O1xuICAgIGN1cnNvcjogd2FpdCAhaW1wb3J0YW50O1xufVxuXG4ucGF1c2VCdXR0b24ucGF1c2VkIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMTBiOTgxIDAlLCAjMDU5NjY5IDEwMCUpICFpbXBvcnRhbnQ7IC8qIEdyZWVuIHdoZW4gcGF1c2VkIChyZWFkeSB0byByZXN1bWUpICovXG59XG5cbi5wYXVzZUJ1dHRvbi5wYXVzZWQ6aG92ZXI6bm90KDpkaXNhYmxlZCkge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICMzNGQzOTkgMCUsICMwNTk2NjkgMTAwJSkgIWltcG9ydGFudDtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoLTJweCkgc2NhbGUoMS4wMik7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMjRweCByZ2JhKDE2LCAxODUsIDEyOSwgMC4zNSk7XG59XG5cbi5wYXVzZUJ1dHRvbiBzdmcge1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjNzIGVhc2U7XG59XG5cbi5wYXVzZUJ1dHRvbi5wYXVzZWQgc3ZnIHtcbiAgICB0cmFuc2Zvcm06IHNjYWxlKDEuMSk7XG59XG5cbi5wYXVzZUJ1dHRvbi5wYXVzaW5nIHN2ZyB7XG4gICAgb3BhY2l0eTogMC44O1xufVxuXG4uc3RvcEJ1dHRvbiB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2RjMjYyNiAwJSwgIzk5MWIxYyAxMDAlKSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiAjZmVmZWZlICFpbXBvcnRhbnQ7XG59XG5cbi5zdG9wQnV0dG9uOmhvdmVyOm5vdCg6ZGlzYWJsZWQpIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjZjg3MTcxIDAlLCAjZGMyNjI2IDEwMCUpICFpbXBvcnRhbnQ7XG59XG5cbi5zdG9wQnV0dG9uOmRpc2FibGVkIHtcbiAgICBvcGFjaXR5OiAwLjYgIWltcG9ydGFudDtcbiAgICBjdXJzb3I6IG5vdC1hbGxvd2VkICFpbXBvcnRhbnQ7XG59XG5cbi5zdG9wQnV0dG9uIHN2ZyB7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuM3MgZWFzZTtcbn1cblxuLnN0b3BCdXR0b246Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkIHJnYmEoMjQ4LCAxMTMsIDExMywgMC44KTtcbiAgICBvdXRsaW5lLW9mZnNldDogMnB4O1xufVxuXG4vKiBWb2ljZSBjYWxsIGluZGljYXRvciBiYXIgKi9cbi52b2ljZUNhbGxJbmRpY2F0b3JCYXIge1xuICAgIGdyaWQtYXJlYTog8J+fpjtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBwYWRkaW5nOiAxMnB4IDIwcHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgzNCwgMTk3LCA5NCwgMC4xKSAwJSwgcmdiYSgxNiwgMTg1LCAxMjksIDAuMSkgMTAwJSk7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIHJnYmEoMzQsIDE5NywgOTQsIDAuMyk7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbn1cblxuLyogVm9pY2UgY2FsbCBpbmRpY2F0b3IgKi9cbi52b2ljZUNhbGxJbmRpY2F0b3Ige1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiA4cHg7XG4gICAgcGFkZGluZzogOHB4IDE2cHg7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgcmdiYSgzNCwgMTk3LCA5NCwgMC4yKSAwJSwgcmdiYSgxNiwgMTg1LCAxMjksIDAuMikgMTAwJSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgzNCwgMTk3LCA5NCwgMC40KTtcbiAgICBib3JkZXItcmFkaXVzOiAyMHB4O1xuICAgIGNvbG9yOiAjMTBiOTgxO1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMHB4KTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgzNCwgMTk3LCA5NCwgMC4yKTtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG59XG5cbi52b2ljZUNhbGxJbmRpY2F0b3Igc3ZnIHtcbiAgICB3aWR0aDogMTZweDtcbiAgICBoZWlnaHQ6IDE2cHg7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgYW5pbWF0aW9uOiB2b2ljZUNhbGxJY29uUHVsc2UgMnMgZWFzZS1pbi1vdXQgaW5maW5pdGU7XG59XG5cbi52b2ljZUNhbGxJbmRpY2F0b3Igc3BhbiB7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB0ZXh0LXNoYWRvdzogMCAxcHggMnB4IHJnYmEoMCwgMCwgMCwgMC4xKTtcbn1cblxuLyogVm9pY2UgY2FsbCBwdWxzZSBhbmltYXRpb24gKi9cbi52b2ljZUNhbGxQdWxzZSB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHJpZ2h0OiA4cHg7XG4gICAgdG9wOiA1MCU7XG4gICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpO1xuICAgIHdpZHRoOiA4cHg7XG4gICAgaGVpZ2h0OiA4cHg7XG4gICAgYmFja2dyb3VuZDogIzEwYjk4MTtcbiAgICBib3JkZXItcmFkaXVzOiA1MCU7XG4gICAgYW5pbWF0aW9uOiB2b2ljZUNhbGxQdWxzZSAxLjVzIGVhc2UtaW4tb3V0IGluZmluaXRlO1xufVxuXG5Aa2V5ZnJhbWVzIHZvaWNlQ2FsbEljb25QdWxzZSB7XG4gICAgMCUsXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMSk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxuICAgIDUwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogc2NhbGUoMS4xKTtcbiAgICAgICAgb3BhY2l0eTogMC44O1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyB2b2ljZUNhbGxQdWxzZSB7XG4gICAgMCUsXG4gICAgMTAwJSB7XG4gICAgICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtNTAlKSBzY2FsZSgxKTtcbiAgICAgICAgb3BhY2l0eTogMTtcbiAgICB9XG4gICAgNTAlIHtcbiAgICAgICAgdHJhbnNmb3JtOiB0cmFuc2xhdGVZKC01MCUpIHNjYWxlKDEuMyk7XG4gICAgICAgIG9wYWNpdHk6IDAuNjtcbiAgICB9XG59XG5cbi8qIFZvaWNlIGNhbGwgaW5kaWNhdG9yIGluIG1lc3NhZ2VzICovXG4uY2hhdE1lc3NhZ2UgLnZvaWNlQ2FsbEluZGljYXRvciB7XG4gICAgbWFyZ2luLWJvdHRvbTogOHB4O1xuICAgIHBhZGRpbmc6IDZweCAxMnB4O1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xufVxuXG4uY2hhdE1lc3NhZ2UgLnZvaWNlQ2FsbEluZGljYXRvciBzdmcge1xuICAgIHdpZHRoOiAxNHB4O1xuICAgIGhlaWdodDogMTRweDtcbn1cblxuLyogRmVlZGJhY2sgc3RhdHVzIGJhbm5lciAqL1xuLmZlZWRiYWNrU3RhdHVzIHtcbiAgICBwb3NpdGlvbjogZml4ZWQ7XG4gICAgdG9wOiAyMHB4O1xuICAgIHJpZ2h0OiAyMHB4O1xuICAgIHBhZGRpbmc6IDE0cHggMjJweDtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIGJveC1zaGFkb3c6IDAgMThweCAzMnB4IHJnYmEoMTUsIDIzLCA0MiwgMC4zNSk7XG4gICAgei1pbmRleDogMTAwMDA7IC8qIFtGaXggei1pbmRleF06IEVuc3VyZSBpdCdzIGFib3ZlIHRoZSBoZWFkZXIgKHotNTApIGFuZCBvdGhlciBVSSBlbGVtZW50cyAqL1xuICAgIGFuaW1hdGlvbjogZmVlZGJhY2tTdGF0dXNTbGlkZUluIDAuMjhzIGVhc2Utb3V0O1xuICAgIG1heC13aWR0aDogMzQwcHg7XG4gICAgd29yZC13cmFwOiBicmVhay13b3JkO1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDIwcHgpO1xuICAgIHBvaW50ZXItZXZlbnRzOiBub25lO1xufVxuXG4uZmVlZGJhY2tTdGF0dXNTdWNjZXNzIHtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTM1ZGVnLCAjMTBiOTgxIDAlLCAjMDU5NjY5IDEwMCUpO1xuICAgIGNvbG9yOiAjZjhmYWZjO1xufVxuXG4uZmVlZGJhY2tTdGF0dXNFcnJvciB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDEzNWRlZywgI2VmNDQ0NCAwJSwgI2RjMjYyNiAxMDAlKTtcbiAgICBjb2xvcjogI2ZlZjJmMjtcbn1cblxuQGtleWZyYW1lcyBmZWVkYmFja1N0YXR1c1NsaWRlSW4ge1xuICAgIGZyb20ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMTAwJSk7XG4gICAgICAgIG9wYWNpdHk6IDA7XG4gICAgfVxuXG4gICAgdG8ge1xuICAgICAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVgoMCk7XG4gICAgICAgIG9wYWNpdHk6IDE7XG4gICAgfVxufVxuXG4vKiBNb2JpbGUgcmVzcG9uc2l2ZW5lc3MgKi9cbkBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgIC5DaGF0IHtcbiAgICAgICAgLS1jaGF0LW1lc3NhZ2UtbWluLXdpZHRoOiAxMDBweDtcbiAgICAgICAgLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLXNpemU6IDM2cHg7XG4gICAgICAgIC0tY2hhdC1tZXNzYWdlLW1heC13aWR0aDogbWluKFxuICAgICAgICAgICAgODUlLFxuICAgICAgICAgICAgNTYwcHgsXG4gICAgICAgICAgICBjYWxjKDEwMCUgLSB2YXIoLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLXNpemUpIC0gdmFyKC0tY2hhdC1tZXNzYWdlLWF2YXRhci1nYXApKVxuICAgICAgICApO1xuICAgICAgICAtLWNoYXQtbWVzc2FnZS1hdmF0YXItZ2FwOiAxMHB4O1xuICAgICAgICAtLWNoYXQtaW5wdXQtZm9udC1zaXplOiAxNnB4O1xuICAgICAgICAtLWNoYXQtaW5wdXQtcGFkZGluZy15OiAxNHB4O1xuICAgICAgICAtLWNoYXQtaW5wdXQtcGFkZGluZy14OiAxOHB4O1xuICAgICAgICAtLWNoYXQtaW5wdXQtYWN0aW9uLXNpemU6IDQ0cHg7XG4gICAgfVxuXG4gICAgLmNvbnN0cmFpbmVkQXJ0aWNsZVZpc3VhbCB7XG4gICAgICAgIC0tY2hhdC1hcnRpY2xlLWxheW91dC1wYWRkaW5nLWlubGluZTogY2xhbXAoMjRweCwgNnZ3LCAzNnB4KTtcbiAgICB9XG5cbiAgICAuYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbjogMTJweCAxNnB4IDA7XG4gICAgICAgIGdhcDogNnB4O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlcyB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMjBweDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSB7XG4gICAgICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLm1lc3NhZ2VUZXh0IHtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgICAgICBmb250LXNpemU6IDE0cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDE4cHg7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UuYXJ0aWNsZU1vZGVBZ2VudE1lc3NhZ2Uge1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlLmFydGljbGVNb2RlQWdlbnRNZXNzYWdlIC5tZXNzYWdlU3RhY2sge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgICAgICBtYXJnaW46IDA7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLm1lc3NhZ2VUZXh0LmFydGljbGVNb2RlQWdlbnRNZXNzYWdlVGV4dCB7XG4gICAgICAgIHBhZGRpbmc6IDJweCAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAwO1xuICAgICAgICBmb250LXNpemU6IDE1cHg7XG4gICAgICAgIGxpbmUtaGVpZ2h0OiAxLjY4O1xuICAgIH1cblxuICAgIC5hcnRpY2xlTW9kZU1lc3NhZ2VBY3Rpb25zIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgICAgICBnYXA6IDhweDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAuYXZhdGFyIHtcbiAgICAgICAgbWFyZ2luOiAwIDAgNHB4O1xuICAgIH1cblxuICAgIC8qIFvjipfvuI9dXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLmF2YXRhciBpbWcge1xuICAgICAgICB3aWR0aDogMzZweDtcbiAgICAgICAgYXNwZWN0LXJhdGlvOiAxIC8gMTtcbiAgICB9XG4gICAgKi9cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB7XG4gICAgICAgIHBhZGRpbmc6IDE2cHggMjBweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDE2cHg7XG4gICAgICAgIHBhZGRpbmctYm90dG9tOiBjYWxjKDE2cHggKyBlbnYoc2FmZS1hcmVhLWluc2V0LWJvdHRvbSkpO1xuICAgICAgICBnYXA6IDEwcHg7XG4gICAgfVxuXG4gICAgLnNwZWVjaFN0YXR1c0J1YmJsZSB7XG4gICAgICAgIHJpZ2h0OiAxNHB4O1xuICAgICAgICBib3R0b206IDc2cHg7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDAlIC0gMjhweCk7XG4gICAgICAgIGZvbnQtc2l6ZTogMTFweDtcbiAgICAgICAgcGFkZGluZzogN3B4IDExcHg7XG4gICAgfVxuXG4gICAgLmRpY3RhdGlvblNldHRpbmdzUGFuZWwge1xuICAgICAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IG1pbm1heCgwLCAxZnIpO1xuICAgIH1cblxuICAgIC5zY3JvbGxUb0JvdHRvbSB7XG4gICAgICAgIHdpZHRoOiA0NHB4O1xuICAgICAgICBoZWlnaHQ6IDQ0cHg7XG4gICAgICAgIGZvbnQtc2l6ZTogMThweDtcbiAgICAgICAgdG9wOiBjYWxjKDEwMCUgLSAxNjBweCk7XG4gICAgfVxuXG4gICAgLmNoYXRCdXR0b24ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgZ2FwOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jaGF0QnV0dG9uIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMThweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jaGF0QnV0dG9uVGV4dCB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudXNlVGVtcGxhdGVCdXR0b24ge1xuICAgICAgICBib3JkZXItcmFkaXVzOiA1MCUgIWltcG9ydGFudDtcbiAgICAgICAgd2lkdGg6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi13aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICAgICAgZ2FwOiAwICFpbXBvcnRhbnQ7XG4gICAgICAgIG1hcmdpbjogMCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51c2VUZW1wbGF0ZUJ1dHRvbiBzdmcge1xuICAgICAgICB3aWR0aDogMThweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDE4cHggIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAudXNlVGVtcGxhdGVCdXR0b24gLmNoYXRCdXR0b25UZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5yYXRpbmdNb2RhbENvbnRlbnQge1xuICAgICAgICBtYXJnaW46IDE2cHg7XG4gICAgICAgIHBhZGRpbmc6IDI0cHggMjBweDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICAgICAgbWF4LWhlaWdodDogODB2aDtcbiAgICAgICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICB9XG5cbiAgICAucmF0aW5nTW9kYWxDb250ZW50LmltYWdlQXR0YWNobWVudE1vZGFsIHtcbiAgICAgICAgcGFkZGluZzogMDtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDMycHgpO1xuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIDMycHgpO1xuICAgICAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIH1cblxuICAgIC5zdGFycyB7XG4gICAgICAgIGdhcDogNnB4O1xuICAgICAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIH1cblxuICAgIC5zdGFycyBzcGFuIHtcbiAgICAgICAgZm9udC1zaXplOiAzMnB4O1xuICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgfVxuXG4gICAgLnJhdGluZ0FjdGlvbnMge1xuICAgICAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uLXJldmVyc2U7XG4gICAgICAgIGdhcDogOHB4O1xuICAgIH1cblxuICAgIC5yYXRpbmdBY3Rpb25zIGJ1dHRvbiB7XG4gICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICBwYWRkaW5nOiAxNHB4O1xuICAgICAgICBmb250LXNpemU6IDE2cHg7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgfVxuXG4gICAgLnNlbGZMZWFybmluZ01vZGFsSGVhZGVyIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxuXG4gICAgLnNlbGZMZWFybmluZ0F2YXRhckdyb3VwIHtcbiAgICAgICAganVzdGlmeS1jb250ZW50OiBmbGV4LXN0YXJ0O1xuICAgIH1cblxuICAgIC5zZWxmTGVhcm5pbmdNZXRhUm93IHtcbiAgICAgICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgfVxufVxuXG5AbWVkaWEgKG1heC13aWR0aDogNDgwcHgpIHtcbiAgICAuQ2hhdCB7XG4gICAgICAgIC0tY2hhdC1tZXNzYWdlLW1pbi13aWR0aDogODBweDtcbiAgICAgICAgLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLXNpemU6IDMycHg7XG4gICAgICAgIC0tY2hhdC1tZXNzYWdlLW1heC13aWR0aDogbWluKFxuICAgICAgICAgICAgOTAlLFxuICAgICAgICAgICAgNTIwcHgsXG4gICAgICAgICAgICBjYWxjKDEwMCUgLSB2YXIoLS1jaGF0LW1lc3NhZ2UtYXZhdGFyLXNpemUpIC0gdmFyKC0tY2hhdC1tZXNzYWdlLWF2YXRhci1nYXApKVxuICAgICAgICApO1xuICAgICAgICAtLWNoYXQtbWVzc2FnZS1hdmF0YXItZ2FwOiA4cHg7XG4gICAgICAgIC0tY2hhdC1pbnB1dC1wYWRkaW5nLXk6IDEycHg7XG4gICAgICAgIC0tY2hhdC1pbnB1dC1wYWRkaW5nLXg6IDE2cHg7XG4gICAgICAgIC0tY2hhdC1pbnB1dC1hY3Rpb24tc2l6ZTogNDBweDtcbiAgICB9XG5cbiAgICAuYWN0aW9ucyB7XG4gICAgICAgIG1hcmdpbjogOHB4IDEycHggMDtcbiAgICAgICAgZ2FwOiA0cHg7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2VzIHtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5tZXNzYWdlVGV4dCB7XG4gICAgICAgIHBhZGRpbmc6IDEwcHggMTRweDtcbiAgICAgICAgZm9udC1zaXplOiAxNHB4O1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5hdmF0YXIge1xuICAgICAgICBtYXJnaW46IDAgMCA0cHg7XG4gICAgfVxuXG4gICAgLyogW+OKl++4j11cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAuYXZhdGFyIGltZyB7XG4gICAgICAgIHdpZHRoOiAzMnB4O1xuICAgICAgICBhc3BlY3QtcmF0aW86IDEgLyAxO1xuICAgIH1cbiAgICAqL1xuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IHtcbiAgICAgICAgcGFkZGluZzogMTJweCAxNnB4O1xuICAgICAgICBwYWRkaW5nLWJvdHRvbTogMTJweDtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IGNhbGMoMTJweCArIGVudihzYWZlLWFyZWEtaW5zZXQtYm90dG9tKSk7XG4gICAgICAgIGdhcDogOHB4O1xuICAgIH1cblxuICAgIC5zcGVlY2hTdGF0dXNCdWJibGUge1xuICAgICAgICByaWdodDogMTBweDtcbiAgICAgICAgYm90dG9tOiA3MnB4O1xuICAgICAgICBtYXgtd2lkdGg6IGNhbGMoMTAwJSAtIDIwcHgpO1xuICAgIH1cblxuICAgIC5kaWN0YXRpb25Db3JyZWN0aW9uQWN0aW9ucyxcbiAgICAuZGljdGF0aW9uRXJyb3JBY3Rpb25zIHtcbiAgICAgICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICB9XG5cbiAgICAuY2hhdEJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNoYXRCdXR0b24gc3ZnIHtcbiAgICAgICAgd2lkdGg6IDE4cHggIWltcG9ydGFudDtcbiAgICAgICAgaGVpZ2h0OiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLmNoYXRCdXR0b25UZXh0IHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51c2VUZW1wbGF0ZUJ1dHRvbiB7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDUwJSAhaW1wb3J0YW50O1xuICAgICAgICB3aWR0aDogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBoZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgbWluLXdpZHRoOiA0MHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDQwcHggIWltcG9ydGFudDtcbiAgICAgICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDAgIWltcG9ydGFudDtcbiAgICAgICAgbWFyZ2luOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnVzZVRlbXBsYXRlQnV0dG9uIHN2ZyB7XG4gICAgICAgIHdpZHRoOiAxOHB4ICFpbXBvcnRhbnQ7XG4gICAgICAgIGhlaWdodDogMThweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC51c2VUZW1wbGF0ZUJ1dHRvbiAuY2hhdEJ1dHRvblRleHQge1xuICAgICAgICBkaXNwbGF5OiBub25lICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLnNjcm9sbFRvQm90dG9tIHtcbiAgICAgICAgd2lkdGg6IDQwcHg7XG4gICAgICAgIGhlaWdodDogNDBweDtcbiAgICAgICAgZm9udC1zaXplOiAxNnB4O1xuICAgICAgICB0b3A6IGNhbGMoMTAwJSAtIDE0MHB4KTtcbiAgICB9XG5cbiAgICAucmF0aW5nTW9kYWwge1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBhbGlnbi1pdGVtczogZmxleC1lbmQ7XG4gICAgfVxuXG4gICAgLnJhdGluZ01vZGFsW2RhdGEtY2hhdC1tb2RhbD0naW1hZ2UtYXR0YWNobWVudCddIHtcbiAgICAgICAgcGFkZGluZzogMTJweDtcbiAgICAgICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICB9XG5cbiAgICAucmF0aW5nTW9kYWxbZGF0YS1jaGF0LW1vZGFsPSdjaXRhdGlvbi1icm93c2VyJ10ge1xuICAgICAgICBwYWRkaW5nOiA4cHg7XG4gICAgICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgfVxuXG4gICAgLnJhdGluZ01vZGFsQ29udGVudCB7XG4gICAgICAgIG1hcmdpbjogMDtcbiAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDIwcHggMjBweCAwIDA7XG4gICAgICAgIG1heC1oZWlnaHQ6IDcwdmg7XG4gICAgICAgIHBhZGRpbmc6IDI0cHggMTZweCAyMHB4O1xuICAgIH1cblxuICAgIC5yYXRpbmdNb2RhbENvbnRlbnQuaW1hZ2VBdHRhY2htZW50TW9kYWwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDI0cHgpO1xuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIDI0cHgpO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNnB4O1xuICAgIH1cblxuICAgIC5yYXRpbmdNb2RhbENvbnRlbnQuY2l0YXRpb25Ccm93c2VyTW9kYWwge1xuICAgICAgICB3aWR0aDogMTAwJTtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDE2cHgpO1xuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIDE2cHgpO1xuICAgICAgICBwYWRkaW5nOiAwO1xuICAgICAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIH1cblxuICAgIC5jaXRhdGlvbkJyb3dzZXJNb2RhbCAubGl2ZUJyb3dzZXJQcmV2aWV3U3RyZWFtQXJlYSB7XG4gICAgICAgIGhlaWdodDogNTh2aDtcbiAgICAgICAgbWluLWhlaWdodDogbWluKDMyMHB4LCBjYWxjKDEwMGR2aCAtIDExMnB4KSk7XG4gICAgfVxuXG4gICAgLmltYWdlQXR0YWNobWVudE1vZGFsSGVhZGVyIHtcbiAgICAgICAgcGFkZGluZzogMTZweCA1NnB4IDEycHggMTZweDtcbiAgICB9XG5cbiAgICAuaW1hZ2VBdHRhY2htZW50TW9kYWxQcmV2aWV3IHtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDk2cHgpO1xuICAgICAgICBtYXgtaGVpZ2h0OiBjYWxjKDEwMGR2aCAtIDk2cHgpO1xuICAgICAgICBwYWRkaW5nOiAxMnB4O1xuICAgIH1cblxuICAgIC5pbWFnZUF0dGFjaG1lbnRNb2RhbEltYWdlIHtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDB2aCAtIDEyMHB4KTtcbiAgICAgICAgbWF4LWhlaWdodDogY2FsYygxMDBkdmggLSAxMjBweCk7XG4gICAgfVxufVxuXG4vKiBSZWR1Y2VkIG1vdGlvbiBzdXBwb3J0ICovXG5AbWVkaWEgKHByZWZlcnMtcmVkdWNlZC1tb3Rpb246IHJlZHVjZSkge1xuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlLFxuICAgIC5zY3JvbGxUb0JvdHRvbSxcbiAgICAucmF0aW5nTW9kYWwsXG4gICAgLnJhdGluZ01vZGFsQ29udGVudCxcbiAgICAuZmVlZGJhY2tTdGF0dXMge1xuICAgICAgICBhbmltYXRpb246IG5vbmU7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLm1lc3NhZ2VUZXh0LFxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCB0ZXh0YXJlYSxcbiAgICAuY2hhdE1haW5GbG93IC5jaGF0SW5wdXQgYnV0dG9uLFxuICAgIC8qIFvjipfvuI9dIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5hdmF0YXIgaW1nLCAqL1xuICAgIC5jaGF0QnV0dG9uIHtcbiAgICAgICAgdHJhbnNpdGlvbjogbm9uZTtcbiAgICB9XG59XG5cbi8qIEhpZ2ggY29udHJhc3QgbW9kZSBzdXBwb3J0ICovXG5AbWVkaWEgKHByZWZlcnMtY29udHJhc3Q6IGhpZ2gpIHtcbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAubWVzc2FnZVRleHQge1xuICAgICAgICBib3JkZXI6IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IHRleHRhcmVhIHtcbiAgICAgICAgYm9yZGVyLXdpZHRoOiAzcHg7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdElucHV0IGJ1dHRvbiB7XG4gICAgICAgIGJvcmRlcjogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICB9XG59XG5cbi8qIEVtYWlsIG1vZGFsIHN0eWxlcyAqL1xuLmVtYWlsQ29udGFpbmVyIHtcbiAgICBtYXJnaW4tYm90dG9tOiAyMHB4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDE2cHg7XG59XG5cbi5lbWFpbE1vZGFsSGVhZGVyIHtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xufVxuXG4uZW1haWxIZWFkZXJUZXh0IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAycHg7XG59XG5cbi5lbWFpbEhlYWRlckxhYmVsIHtcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xufVxuXG4uZW1haWxNZXRhZGF0YSB7XG4gICAgYmFja2dyb3VuZDogI2ZmZmZmZjtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZTJlOGYwO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgcGFkZGluZzogMThweCAyMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDE2cHg7XG4gICAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4wOCk7XG59XG5cbi5lbWFpbEZpZWxkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGdhcDogOHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDhweDtcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmVtYWlsRmllbGQ6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLmVtYWlsRmllbGQgc3Ryb25nIHtcbiAgICBtaW4td2lkdGg6IDYwcHg7XG4gICAgY29sb3I6ICM2NDc0OGI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmVtYWlsUmVjaXBpZW50cyB7XG4gICAgY29sb3I6ICMwZjE3MmE7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuLmVtYWlsQm9keSB7XG4gICAgdGV4dC1hbGlnbjogbGVmdDtcbn1cblxuLmVtYWlsQm9keSBzdHJvbmcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgY29sb3I6ICM2NDc0OGI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5lbWFpbEJvZHlDb250ZW50IHtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBwYWRkaW5nOiAyMnB4O1xuICAgIGxpbmUtaGVpZ2h0OiAxLjY7XG4gICAgbWF4LWhlaWdodDogNDAwcHg7XG4gICAgb3ZlcmZsb3cteTogYXV0bztcbiAgICBib3gtc2hhZG93OiAwIDFweCA0cHggcmdiYSgxNSwgMjMsIDQyLCAwLjA4KTtcbn1cblxuLmVtYWlsQm9keUNvbnRlbnQgcCB7XG4gICAgbWFyZ2luOiAwIDAgMTJweCAwO1xufVxuXG4uZW1haWxCb2R5Q29udGVudCBwOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDA7XG59XG5cbi5icm93c2VyUnVuTW9kYWxIZWFkZXIge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudCgxMzVkZWcsICNmOGZhZmMgMCUsICNlY2ZlZmYgNDAlLCAjZWNmY2NiIDEwMCUpO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCAjZGJlYWZlO1xufVxuXG4uYnJvd3NlclJ1bkhlYWRlclRleHQge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDJweDtcbn1cblxuLmJyb3dzZXJSdW5IZWFkZXJTdGF0dXMge1xuICAgIG1hcmdpbjogMDtcbiAgICBjb2xvcjogIzQ3NTQ2NztcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbn1cblxuLmJyb3dzZXJSdW5IZWFkZXJMYWJlbCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGxldHRlci1zcGFjaW5nOiAwLjA4ZW07XG4gICAgdGV4dC10cmFuc2Zvcm06IHVwcGVyY2FzZTtcbiAgICBjb2xvcjogIzQ3NTU2OTtcbn1cblxuLmJyb3dzZXJSdW5NZXRhIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxOHB4O1xuICAgIGJhY2tncm91bmQ6ICNmZmZmZmY7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2UyZThmMDtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIHBhZGRpbmc6IDE2cHggMThweDtcbiAgICBib3gtc2hhZG93OiAwIDFweCA0cHggcmdiYSgxNSwgMjMsIDQyLCAwLjA4KTtcbn1cblxuLmJyb3dzZXJSdW5XYXJuaW5nIHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNmYmJmMjQ7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmYmViO1xuICAgIGNvbG9yOiAjOTI0MDBlO1xuICAgIHBhZGRpbmc6IDEycHggMTRweDtcbn1cblxuLmJyb3dzZXJSdW5FcnJvciB7XG4gICAgbWFyZ2luLWJvdHRvbTogMTRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmNhNWE1O1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYmFja2dyb3VuZDogI2ZlZjJmMjtcbiAgICBjb2xvcjogIzdmMWQxZDtcbiAgICBwYWRkaW5nOiAxMnB4IDE0cHg7XG59XG5cbi5icm93c2VyUnVuRXJyb3JTdW1tYXJ5IHtcbiAgICBtYXJnaW46IDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNTtcbiAgICBmb250LXNpemU6IDE0cHg7XG59XG5cbi5icm93c2VyUnVuRXJyb3JTdGVwcyB7XG4gICAgbWFyZ2luOiA4cHggMCAwO1xuICAgIHBhZGRpbmctbGVmdDogMThweDtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA2cHg7XG59XG5cbi5icm93c2VyUnVuRGVidWdEZXRhaWxzIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xufVxuXG4uYnJvd3NlclJ1bkRlYnVnRGV0YWlscyBzdW1tYXJ5IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgY29sb3I6ICM3ZjFkMWQ7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLmJyb3dzZXJSdW5EZWJ1Z0RldGFpbHMgcHJlIHtcbiAgICBtYXJnaW46IDEwcHggMCAwO1xuICAgIHBhZGRpbmc6IDEwcHg7XG4gICAgYmFja2dyb3VuZDogI2ZmZjdlZDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCAjZmVkN2FhO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBtYXgtaGVpZ2h0OiAyMjBweDtcbiAgICBvdmVyZmxvdzogYXV0bztcbiAgICBmb250LXNpemU6IDEycHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU7XG59XG5cbi5icm93c2VyUnVuRmFsbGJhY2tDb250ZW50IHtcbiAgICBtYXJnaW4tYm90dG9tOiAxNHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmZmZmO1xuICAgIHBhZGRpbmc6IDE0cHggMTZweDtcbn1cblxuLmJyb3dzZXJSdW5TdGF0dXNCYW5uZXIge1xuICAgIG1hcmdpbi1ib3R0b206IDE4cHg7XG4gICAgcGFkZGluZzogMTJweCAxNHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE0cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNDgsIDE2MywgMTg0LCAwLjI4KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI0OCwgMjUwLCAyNTIsIDAuOTUpO1xuICAgIGNvbG9yOiAjMzM0MTU1O1xuICAgIGZvbnQtc2l6ZTogMTNweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4uYnJvd3NlclJ1bk1lZGlhR3JpZCB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IHJlcGVhdChhdXRvLWZpdCwgbWlubWF4KDIyMHB4LCAxZnIpKTtcbiAgICBnYXA6IDE0cHg7XG59XG5cbi5icm93c2VyUnVuTWVkaWFDYXJkIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiAxMHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBiYWNrZ3JvdW5kOiAjZmZmO1xuICAgIHBhZGRpbmc6IDEycHg7XG4gICAgYm94LXNoYWRvdzogMCAxcHggNHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4wOCk7XG59XG5cbi5icm93c2VyUnVuTWVkaWFDYXJkSGVhZGVyIHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA0cHg7XG59XG5cbi5icm93c2VyUnVuTWVkaWFUaXRsZSB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBjb2xvcjogIzBmMTcyYTtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uYnJvd3NlclJ1bk1lZGlhQ2FwdGlvbiB7XG4gICAgbWFyZ2luOiAwO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogIzQ3NTU2OTtcbiAgICBsaW5lLWhlaWdodDogMS41O1xufVxuXG4uYnJvd3NlclJ1bk1lZGlhSW1hZ2UsXG4uYnJvd3NlclJ1bk1lZGlhVmlkZW8ge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1yYWRpdXM6IDEwcHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgI2NiZDVlMTtcbiAgICBiYWNrZ3JvdW5kOiAjZjhmYWZjO1xuICAgIG1heC1oZWlnaHQ6IDI2MHB4O1xuICAgIG9iamVjdC1maXQ6IGNvbnRhaW47XG59XG5cbi5icm93c2VyUnVuQWN0aW9uTG9nIHtcbiAgICBtYXJnaW4tdG9wOiAxOHB4O1xuICAgIGJvcmRlcjogMXB4IHNvbGlkICNlMmU4ZjA7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBwYWRkaW5nOiAxNHB4IDE2cHg7XG4gICAgYmFja2dyb3VuZDogI2Y4ZmFmYztcbn1cblxuLmJyb3dzZXJSdW5BY3Rpb25Mb2dUaXRsZSB7XG4gICAgbWFyZ2luOiAwIDAgMTBweDtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgbGV0dGVyLXNwYWNpbmc6IDAuMDhlbTtcbiAgICB0ZXh0LXRyYW5zZm9ybTogdXBwZXJjYXNlO1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xufVxuXG4uYnJvd3NlclJ1bkFjdGlvbkxpc3Qge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGxpc3Qtc3R5bGU6IG5vbmU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBmbGV4LWRpcmVjdGlvbjogY29sdW1uO1xuICAgIGdhcDogOHB4O1xufVxuXG4uYnJvd3NlclJ1bkFjdGlvbkl0ZW0ge1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS41O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEwcHg7XG4gICAgcGFkZGluZzogMTBweCAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyMjYsIDIzMiwgMjQwLCAwLjkpO1xuICAgIGJhY2tncm91bmQ6ICNmZmY7XG59XG5cbi5icm93c2VyUnVuQWN0aW9uUGVuZGluZyB7XG4gICAgb3BhY2l0eTogMC44Mjtcbn1cblxuLmJyb3dzZXJSdW5BY3Rpb25SdW5uaW5nIHtcbiAgICBib3JkZXItY29sb3I6IHJnYmEoMTQsIDE2NSwgMjMzLCAwLjM1KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDE0LCAxNjUsIDIzMywgMC4wOCk7XG59XG5cbi5icm93c2VyUnVuQWN0aW9uQ29tcGxldGUge1xuICAgIGJvcmRlci1jb2xvcjogcmdiYSgxNiwgMTg1LCAxMjksIDAuMjIpO1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMTYsIDE4NSwgMTI5LCAwLjA4KTtcbn1cblxuLmJyb3dzZXJSdW5BY3Rpb25FcnJvciB7XG4gICAgYm9yZGVyLWNvbG9yOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjI0KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIzOSwgNjgsIDY4LCAwLjA4KTtcbn1cblxuLmJyb3dzZXJSdW5BY3Rpb25TdGF0ZSB7XG4gICAgd2lkdGg6IDEwcHg7XG4gICAgaGVpZ2h0OiAxMHB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGJhY2tncm91bmQ6ICNjYmQ1ZTE7XG4gICAgZmxleC1zaHJpbms6IDA7XG59XG5cbi5icm93c2VyUnVuQWN0aW9uU3RhdGVSdW5uaW5nIHtcbiAgICBiYWNrZ3JvdW5kOiAjMGVhNWU5O1xuICAgIGJveC1zaGFkb3c6IDAgMCAwIDRweCByZ2JhKDE0LCAxNjUsIDIzMywgMC4xNCk7XG59XG5cbi5icm93c2VyUnVuQWN0aW9uU3RhdGVDb21wbGV0ZSB7XG4gICAgYmFja2dyb3VuZDogIzEwYjk4MTtcbiAgICBib3gtc2hhZG93OiAwIDAgMCA0cHggcmdiYSgxNiwgMTg1LCAxMjksIDAuMTIpO1xufVxuXG4uYnJvd3NlclJ1bkFjdGlvblN0YXRlRXJyb3Ige1xuICAgIGJhY2tncm91bmQ6ICNlZjQ0NDQ7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgNHB4IHJnYmEoMjM5LCA2OCwgNjgsIDAuMTIpO1xufVxuXG4uYnJvd3NlclJ1bkFjdGlvbk1ldGEge1xuICAgIG1hcmdpbi1sZWZ0OiBhdXRvO1xuICAgIGNvbG9yOiAjNjQ3NDhiO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG5AbWVkaWEgcHJpbnQge1xuICAgIC5DaGF0IHtcbiAgICAgICAgYmFja2dyb3VuZDogdHJhbnNwYXJlbnQgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogI2Y4ZmFmYyAhaW1wb3J0YW50O1xuICAgICAgICBtaW4taGVpZ2h0OiBhdXRvICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IHtcbiAgICAgICAgbWluLWhlaWdodDogYXV0byAhaW1wb3J0YW50O1xuICAgICAgICBnYXA6IDAgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZXMge1xuICAgICAgICBwYWRkaW5nOiA0OHB4IDQwcHggNjRweCAhaW1wb3J0YW50O1xuICAgICAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTUwZGVnLCByZ2JhKDIsIDYsIDIzLCAwLjk4KSwgcmdiYSgxNSwgMjMsIDQyLCAwLjkyKSkgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNDBweCAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDU2LCAxODksIDI0OCwgMC4zMikgIWltcG9ydGFudDtcbiAgICAgICAgYm94LXNoYWRvdzogMCA0MHB4IDgwcHggcmdiYSgwLCAwLCAwLCAwLjM1KSBpbnNldCAhaW1wb3J0YW50O1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2Uge1xuICAgICAgICBwYWdlLWJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgICAgIGJyZWFrLWluc2lkZTogYXZvaWQ7XG4gICAgfVxuXG4gICAgLmNoYXRNYWluRmxvdyAuY2hhdE1lc3NhZ2UgLm1lc3NhZ2VUZXh0IHtcbiAgICAgICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAgICAgMTQ1ZGVnLFxuICAgICAgICAgICAgdmFyKC0tYWdlbnQtY2hhdC1icmFuZC1jb2xvci1saWdodCwgIzdkZDNmYyksXG4gICAgICAgICAgICB2YXIoLS1hZ2VudC1jaGF0LWJyYW5kLWNvbG9yLCAjMGVhNWU5KVxuICAgICAgICApICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiAjZjhmYWZjICFpbXBvcnRhbnQ7XG4gICAgICAgIGJvcmRlci1yYWRpdXM6IDMycHggIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjM1KSAhaW1wb3J0YW50O1xuICAgICAgICBib3gtc2hhZG93OiAwIDE4cHggNDBweCByZ2JhKDIsIDYsIDIzLCAwLjYpIGluc2V0ICFpbXBvcnRhbnQ7XG4gICAgICAgIHBhZGRpbmc6IDE4cHggMjJweCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlLmlzTWUgLm1lc3NhZ2VUZXh0IHtcbiAgICAgICAgYmFja2dyb3VuZDogI2Y4ZmJmZiAhaW1wb3J0YW50O1xuICAgICAgICBjb2xvcjogIzBmMTcyYSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDE0OCwgMTYzLCAxODQsIDAuNDUpICFpbXBvcnRhbnQ7XG4gICAgICAgIGJveC1zaGFkb3c6IDAgMTBweCAzMHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4zKSBpbnNldCAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlIC5hdmF0YXIge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzUpICFpbXBvcnRhbnQ7XG4gICAgfVxuXG4gICAgLm1lc3NhZ2VNZXRhLFxuICAgIC5wYXJ0aWNpcGFudExhYmVsIHtcbiAgICAgICAgY29sb3I6IHJnYmEoMjI2LCAyMzIsIDI0MCwgMC44KSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5hY3Rpb25zLFxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRJbnB1dCxcbiAgICAuc2Nyb2xsVG9Cb3R0b20sXG4gICAgLmZlZWRiYWNrU3RhdHVzLFxuICAgIC52b2ljZUNhbGxJbmRpY2F0b3JCYXIsXG4gICAgLnZvaWNlQ2FsbEluZGljYXRvciB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAuY29weUJ1dHRvbkNvbnRhaW5lcixcbiAgICAuY2hhdE1haW5GbG93IC5jaGF0TWVzc2FnZSAubWVzc2FnZVRleHQgYnV0dG9uIHtcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC5jaGF0TWFpbkZsb3cgLmNoYXRNZXNzYWdlcyA+IDpsYXN0LWNoaWxkIHtcbiAgICAgICAgcGFkZGluZy1ib3R0b206IDEwMHB4ICFpbXBvcnRhbnQ7XG4gICAgfVxufVxuXG4uZW1haWxTdGF0dXMge1xuICAgIHRleHQtdHJhbnNmb3JtOiBjYXBpdGFsaXplO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG59XG5cbi8qKlxuICogVE9ETzogW/CfjIldIERSWSBNYXJrZG93biBwcmltaXRpdmVzIHN0eWxpbmdcbiAqL1xuLyogSW1hZ2UgcHJvbXB0IHByZXZpZXcgc3R5bGVzICovXG4uaW1hZ2VQcm9tcHQge1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICBwYWRkaW5nOiAxMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDE4cHg7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjM1KTtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMjUpO1xuICAgIGJhY2tkcm9wLWZpbHRlcjogYmx1cigxMnB4KTtcbiAgICBib3gtc2hhZG93OiBpbnNldCAwIDAgMCAxcHggcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjI1KTtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGZsZXgtZGlyZWN0aW9uOiBjb2x1bW47XG4gICAgZ2FwOiA4cHg7XG59XG5cbi5pbWFnZVByb21wdFByZXZpZXcge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgbWluLWhlaWdodDogMTYwcHg7XG4gICAgYm9yZGVyOiAxcHggZGFzaGVkIHJnYmEoMTI1LCAxMjUsIDEyNSwgMC4zKTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoMTgwZGVnLCByZ2JhKDE1LCAxMTgsIDI1NSwgMC4wNSksIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC40KSk7XG59XG5cbi5pbWFnZVByb21wdEltYWdlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgb2JqZWN0LWZpdDogY292ZXI7XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5pbWFnZVByb21wdFBsYWNlaG9sZGVyIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IDEwMCU7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xufVxuXG4uaW1hZ2VQcm9tcHRTcGlubmVyIHtcbiAgICB3aWR0aDogMzZweDtcbiAgICBoZWlnaHQ6IDM2cHg7XG4gICAgYm9yZGVyLXJhZGl1czogNTAlO1xuICAgIGJvcmRlcjogM3B4IHNvbGlkIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zNSk7XG4gICAgYm9yZGVyLXRvcC1jb2xvcjogIzI1NjNlYjtcbiAgICBhbmltYXRpb246IGltYWdlUHJvbXB0U3Bpbm5lciAwLjlzIGxpbmVhciBpbmZpbml0ZTtcbn1cblxuQGtleWZyYW1lcyBpbWFnZVByb21wdFNwaW5uZXIge1xuICAgIHRvIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59XG5cbi5pbWFnZVByb21wdE1ldGEge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDRweDtcbn1cblxuLmltYWdlUHJvbXB0UHJvbXB0IHtcbiAgICBmb250LXNpemU6IDEzcHg7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICBjb2xvcjogIzExMTtcbiAgICBvdmVyZmxvdy13cmFwOiBhbnl3aGVyZTtcbn1cblxuLmltYWdlUHJvbXB0U3RhdHVzIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgY29sb3I6ICM2YjcyODA7XG59XG5cbi5pbWFnZVByb21wdEVycm9yIHtcbiAgICBwb3NpdGlvbjogYWJzb2x1dGU7XG4gICAgaW5zZXQ6IDA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIHBhZGRpbmc6IDEycHg7XG4gICAgdGV4dC1hbGlnbjogY2VudGVyO1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBjb2xvcjogI2RjMjYyNjtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDIyMCwgMzgsIDM4LCAwLjA4KTtcbn1cblxuLnJpY2hGZWF0dXJlUGxhY2Vob2xkZXIge1xuICAgIG1hcmdpbi10b3A6IDE2cHg7XG4gICAgbWFyZ2luLWJvdHRvbTogMTZweDtcbiAgICBib3JkZXItcmFkaXVzOiAxOHB4O1xuICAgIHBhZGRpbmc6IDEycHggMTRweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDU5LCAxMzAsIDI0NiwgMC4yNSk7XG4gICAgYmFja2dyb3VuZDogcmdiYSg1NiwgMTg5LCAyNDgsIDAuMTIpO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDEycHg7XG59XG5cbi5yaWNoRmVhdHVyZVBsYWNlaG9sZGVyU3Bpbm5lciB7XG4gICAgd2lkdGg6IDMycHg7XG4gICAgaGVpZ2h0OiAzMnB4O1xuICAgIGJvcmRlci1yYWRpdXM6IDUwJTtcbiAgICBib3JkZXI6IDNweCBzb2xpZCByZ2JhKDU5LCAxMzAsIDI0NiwgMC4zKTtcbiAgICBib3JkZXItdG9wLWNvbG9yOiAjMjJkM2VlO1xuICAgIGFuaW1hdGlvbjogcmljaEZlYXR1cmVTcGlubmVyIDAuOHMgbGluZWFyIGluZmluaXRlO1xufVxuXG4ucmljaEZlYXR1cmVQbGFjZWhvbGRlckNvcHkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbn1cblxuLnJpY2hGZWF0dXJlUGxhY2Vob2xkZXJUaXRsZSB7XG4gICAgZm9udC1zaXplOiAxM3B4O1xuICAgIGZvbnQtd2VpZ2h0OiA2MDA7XG4gICAgY29sb3I6ICMwZjE3MmE7XG59XG5cbi5yaWNoRmVhdHVyZVBsYWNlaG9sZGVyU3RhdHVzIHtcbiAgICBmb250LXNpemU6IDExcHg7XG4gICAgY29sb3I6ICM0NzU1Njk7XG59XG5cbi5wcm9ncmVzc1BhbmVsIHtcbiAgICBtYXJnaW4tdG9wOiAxMHB4O1xuICAgIG1hcmdpbi1ib3R0b206IDEycHg7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCByZ2JhKDU5LCAxMzAsIDI0NiwgMC4yNCk7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KDE4MGRlZywgcmdiYSgyMzksIDI0NiwgMjU1LCAwLjk0KSwgcmdiYSgyMTksIDIzNCwgMjU0LCAwLjg2KSk7XG4gICAgcGFkZGluZzogMTJweCAxM3B4O1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDEwcHg7XG59XG5cbi5wcm9ncmVzc1BhbmVsVGl0bGUge1xuICAgIGZvbnQtc2l6ZTogMTJweDtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM7XG59XG5cbi5wcm9ncmVzc1BhbmVsVGl0bGUgcCB7XG4gICAgbWFyZ2luOiAwO1xufVxuXG4ucHJvZ3Jlc3NQYW5lbFNlY3Rpb24ge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDRweDtcbn1cblxuLnByb2dyZXNzUGFuZWxTZWN0aW9uTGFiZWwge1xuICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wOGVtO1xuICAgIHRleHQtdHJhbnNmb3JtOiB1cHBlcmNhc2U7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBjb2xvcjogIzFkNGVkODtcbn1cblxuLnByb2dyZXNzUGFuZWxTZWN0aW9uQm9keSB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xufVxuXG4ucHJvZ3Jlc3NQYW5lbFNlY3Rpb25Cb2R5IHAge1xuICAgIG1hcmdpbjogMDtcbn1cblxuLnByb2dyZXNzUGFuZWxMaXN0IHtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgZmxleC1kaXJlY3Rpb246IGNvbHVtbjtcbiAgICBnYXA6IDZweDtcbn1cblxuLnByb2dyZXNzUGFuZWxMaXN0SXRlbSB7XG4gICAgZGlzcGxheTogZ3JpZDtcbiAgICBncmlkLXRlbXBsYXRlLWNvbHVtbnM6IGF1dG8gYXV0byAxZnI7XG4gICAgYWxpZ24taXRlbXM6IGZsZXgtc3RhcnQ7XG4gICAgZ2FwOiA4cHg7XG59XG5cbi5wcm9ncmVzc1BhbmVsTGlzdEJ1bGxldCB7XG4gICAgZm9udC1zaXplOiAxNHB4O1xuICAgIGNvbG9yOiAjMjU2M2ViO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjI7XG4gICAgbWFyZ2luLXRvcDogMnB4O1xufVxuXG4ucHJvZ3Jlc3NQYW5lbEl0ZW1TcGlubmVyIHtcbiAgICB3aWR0aDogMTFweDtcbiAgICBoZWlnaHQ6IDExcHg7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5OXB4O1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIHJnYmEoMzcsIDk5LCAyMzUsIDAuMjYpO1xuICAgIGJvcmRlci10b3AtY29sb3I6ICMyNTYzZWI7XG4gICAgYW5pbWF0aW9uOiBwcm9ncmVzc1BhbmVsU3Bpbm5lciAwLjc1cyBsaW5lYXIgaW5maW5pdGU7XG4gICAgbWFyZ2luLXRvcDogM3B4O1xufVxuXG4ucHJvZ3Jlc3NQYW5lbEl0ZW1Db21wbGV0ZWQge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgd2lkdGg6IDExcHg7XG4gICAgaGVpZ2h0OiAxMXB4O1xuICAgIG1hcmdpbi10b3A6IDJweDtcbiAgICBib3JkZXItcmFkaXVzOiA5OTk5cHg7XG4gICAgYmFja2dyb3VuZDogcmdiYSgzNCwgMTk3LCA5NCwgMC4xNik7XG4gICAgY29sb3I6ICMxNTgwM2Q7XG4gICAgZm9udC1zaXplOiA5cHg7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbn1cblxuLnByb2dyZXNzUGFuZWxJdGVtVGV4dCB7XG4gICAgZm9udC1zaXplOiAxMnB4O1xuICAgIGNvbG9yOiAjMGYxNzJhO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xufVxuXG4ucHJvZ3Jlc3NQYW5lbEl0ZW1UZXh0IHAge1xuICAgIG1hcmdpbjogMDtcbn1cblxuQGtleWZyYW1lcyBwcm9ncmVzc1BhbmVsU3Bpbm5lciB7XG4gICAgdG8ge1xuICAgICAgICB0cmFuc2Zvcm06IHJvdGF0ZSgzNjBkZWcpO1xuICAgIH1cbn1cblxuQGtleWZyYW1lcyByaWNoRmVhdHVyZVNwaW5uZXIge1xuICAgIHRvIHtcbiAgICAgICAgdHJhbnNmb3JtOiByb3RhdGUoMzYwZGVnKTtcbiAgICB9XG59XG4iXX0= */";
26563
+ var styles$7 = {"copiedToClipboardMessage":"Chat-module_copiedToClipboardMessage__apCPY","Chat":"Chat-module_Chat__j2eE5","constrainedArticleVisual":"Chat-module_constrainedArticleVisual__0axxM","chatMainFlow":"Chat-module_chatMainFlow__--8FE","chatBar":"Chat-module_chatBar__fLECN","TasksInProgress":"Chat-module_TasksInProgress__fQfei","actions":"Chat-module_actions__gTZ5T","portal":"Chat-module_portal__uTOT8","left":"Chat-module_left__7l5Mn","right":"Chat-module_right__ABZrW","actionsFaded":"Chat-module_actionsFaded__qqAVQ","actionsScrolling":"Chat-module_actionsScrolling__fIawW","chatButton":"Chat-module_chatButton__d9VgA","chatButtonText":"Chat-module_chatButtonText__RkGB-","useTemplateButton":"Chat-module_useTemplateButton__xcJNR","chatChildren":"Chat-module_chatChildren__flOPK","chatMessages":"Chat-module_chatMessages__J2u2N","articleModeChatMessages":"Chat-module_articleModeChatMessages__ufofT","chatMessage":"Chat-module_chatMessage__nmLaZ","articleModeAgentMessage":"Chat-module_articleModeAgentMessage__Y79L7","messageStack":"Chat-module_messageStack__n0xNL","hasActionsAndFirstMessageIsLong":"Chat-module_hasActionsAndFirstMessageIsLong__5jgoZ","messageSlideIn":"Chat-module_messageSlideIn__soTy2","isMe":"Chat-module_isMe__nBtaV","avatar":"Chat-module_avatar__gL6bm","articleModeAgentAvatar":"Chat-module_articleModeAgentAvatar__UCKDX","messageWithMap":"Chat-module_messageWithMap__X5dr0","messageMeta":"Chat-module_messageMeta__eqCRu","messageLifecycleBadge":"Chat-module_messageLifecycleBadge__4jDDc","messageTimestamp":"Chat-module_messageTimestamp__LDhRw","messageDuration":"Chat-module_messageDuration__Y9Kg9","messageReplyButton":"Chat-module_messageReplyButton__S5hXM","messageReplyButtonIcon":"Chat-module_messageReplyButtonIcon__2Nk3i","messageLifecycleError":"Chat-module_messageLifecycleError__m-FO-","participantLabel":"Chat-module_participantLabel__0Oo-3","isNotCompleteMessage":"Chat-module_isNotCompleteMessage__Hj2K7","NonCompleteMessageFiller":"Chat-module_NonCompleteMessageFiller__G5-Ve","messageText":"Chat-module_messageText__XgNyQ","loadingPulse":"Chat-module_loadingPulse__VomRm","toolCallChips":"Chat-module_toolCallChips__UWgC1","sourceCitations":"Chat-module_sourceCitations__oDtBX","citationFootnotes":"Chat-module_citationFootnotes__LAWdh","citationFootnoteItem":"Chat-module_citationFootnoteItem__JXTAX","citationFootnoteNumber":"Chat-module_citationFootnoteNumber__CMmm9","toolCallChip":"Chat-module_toolCallChip__koN18","toolCallChipOngoing":"Chat-module_toolCallChipOngoing__wKcDY","toolCallChipStatus":"Chat-module_toolCallChipStatus__I-nl9","teamToolCall":"Chat-module_teamToolCall__5F45R","transitiveToolCall":"Chat-module_transitiveToolCall__WcaaK","teamAgentChip":"Chat-module_teamAgentChip__mvgtY","transitiveAgentChip":"Chat-module_transitiveAgentChip__zNOJf","toolCallLabel":"Chat-module_toolCallLabel__q7EFf","toolCallWithError":"Chat-module_toolCallWithError__AtQqO","toolCallOrigin":"Chat-module_toolCallOrigin__-Io6Y","toolCallDetails":"Chat-module_toolCallDetails__WUFlD","toolCallData":"Chat-module_toolCallData__UauCO","toolCallChipSpinner":"Chat-module_toolCallChipSpinner__ZGTwl","toolCallSpinner":"Chat-module_toolCallSpinner__LSiK6","typingIndicator":"Chat-module_typingIndicator__S-CT-","typingBubble":"Chat-module_typingBubble__0Lb7B","typingDots":"Chat-module_typingDots__srOBB","typingDot":"Chat-module_typingDot__dnhKT","typingBounce":"Chat-module_typingBounce__1yp2v","ratingStar":"Chat-module_ratingStar__rRfqC","feedbackStar":"Chat-module_feedbackStar__tC7XH","feedbackStarIcon":"Chat-module_feedbackStarIcon__BuPen","articleModeAgentMessageText":"Chat-module_articleModeAgentMessageText__vBlIP","replyEnabledMessageText":"Chat-module_replyEnabledMessageText__-SV9f","replySwipeActive":"Chat-module_replySwipeActive__dhAqt","replySwipeIndicator":"Chat-module_replySwipeIndicator__u92JU","replySwipeIndicatorRight":"Chat-module_replySwipeIndicatorRight__3CoAW","replySwipeIndicatorActive":"Chat-module_replySwipeIndicatorActive__m9gwU","replySwipeIndicatorIcon":"Chat-module_replySwipeIndicatorIcon__0K1SX","replyPreview":"Chat-module_replyPreview__Lt-Bg","replyBubblePreview":"Chat-module_replyBubblePreview__DNe3r","replyComposerPreview":"Chat-module_replyComposerPreview__80Wdf","replyPreviewAccent":"Chat-module_replyPreviewAccent__Uo3pe","replyPreviewBody":"Chat-module_replyPreviewBody__reKG-","replyPreviewHeading":"Chat-module_replyPreviewHeading__IeegE","replyPreviewLabel":"Chat-module_replyPreviewLabel__J-BrF","replyPreviewSender":"Chat-module_replyPreviewSender__z6SYu","replyPreviewText":"Chat-module_replyPreviewText__cY-Hc","replyPreviewDismissButton":"Chat-module_replyPreviewDismissButton__-L9MF","copyButtonContainer":"Chat-module_copyButtonContainer__Rij0U","articleModeMessageActions":"Chat-module_articleModeMessageActions__h2qaG","articleModeMessageControls":"Chat-module_articleModeMessageControls__hncCw","messageControlGroup":"Chat-module_messageControlGroup__gAo4k","copyButton":"Chat-module_copyButton__DcxT5","playButton":"Chat-module_playButton__ZigYL","playButtonIcon":"Chat-module_playButtonIcon__wPErq","playButtonSpinner":"Chat-module_playButtonSpinner__Ad33i","messagePlaySpinner":"Chat-module_messagePlaySpinner__ldlvy","copiedTooltip":"Chat-module_copiedTooltip__LH81j","copiedTooltipFadeIn":"Chat-module_copiedTooltipFadeIn__QekO1","copiedTooltipLeft":"Chat-module_copiedTooltipLeft__j-S-5","copiedTooltipRight":"Chat-module_copiedTooltipRight__R-2cE","attachments":"Chat-module_attachments__m1Fts","attachment":"Chat-module_attachment__aE9hK","attachmentWithRemove":"Chat-module_attachmentWithRemove__n2-O6","attachmentMainAction":"Chat-module_attachmentMainAction__Onkl3","attachmentRemoveButton":"Chat-module_attachmentRemoveButton__dC5ne","attachmentName":"Chat-module_attachmentName__aMx56","attachmentIcon":"Chat-module_attachmentIcon__BX3Cy","messageButtons":"Chat-module_messageButtons__WaOob","messageButton":"Chat-module_messageButton__mRnn-","actionMessageButton":"Chat-module_actionMessageButton__avcbv","rating":"Chat-module_rating__soc3M","articleModeRating":"Chat-module_articleModeRating__dwZqm","feedbackIssueButton":"Chat-module_feedbackIssueButton__9NrrF","chatInput":"Chat-module_chatInput__1Ecan","articleModeChatInput":"Chat-module_articleModeChatInput__zBTV4","speechStatusBubble":"Chat-module_speechStatusBubble__qBBWI","dragOverlay":"Chat-module_dragOverlay__SEGoS","fullPageVisual":"Chat-module_fullPageVisual__zNAEy","dragOver":"Chat-module_dragOver__bkS-g","filePreviewContainer":"Chat-module_filePreviewContainer__R70hm","filePreview":"Chat-module_filePreview__kq2aX","fileIcon":"Chat-module_fileIcon__zoSKW","fileInfo":"Chat-module_fileInfo__wBLi0","fileName":"Chat-module_fileName__bBujo","fileSize":"Chat-module_fileSize__ivliq","removeFileButton":"Chat-module_removeFileButton__0gakR","inputContainer":"Chat-module_inputContainer__bPt99","attachmentButton":"Chat-module_attachmentButton__qLO47","voiceButton":"Chat-module_voiceButton__d2zlP","voiceButtonActive":"Chat-module_voiceButtonActive__Uoi3W","voiceRecordingPulse":"Chat-module_voiceRecordingPulse__y2wJ5","speechStatusBubbleIn":"Chat-module_speechStatusBubbleIn__PBm-c","speechStatusBubbleDot":"Chat-module_speechStatusBubbleDot__APu53","speechStatusBubbleDotPulse":"Chat-module_speechStatusBubbleDotPulse__Guqsu","speechStatusBubbleRecording":"Chat-module_speechStatusBubbleRecording__faJs2","speechStatusBubbleProcessing":"Chat-module_speechStatusBubbleProcessing__Crbuu","speechStatusBubbleError":"Chat-module_speechStatusBubbleError__Nd-Aj","dictationPanel":"Chat-module_dictationPanel__kzbyG","dictationPanelHeader":"Chat-module_dictationPanelHeader__rHXTh","dictationPanelTitle":"Chat-module_dictationPanelTitle__sO9XH","dictationPanelToggle":"Chat-module_dictationPanelToggle__z3HMx","dictationInterimTranscript":"Chat-module_dictationInterimTranscript__eAbMI","dictationErrorPanel":"Chat-module_dictationErrorPanel__mjbM7","dictationErrorActions":"Chat-module_dictationErrorActions__K3ykb","dictationCorrectionActions":"Chat-module_dictationCorrectionActions__ssE7i","dictationCorrectionPanel":"Chat-module_dictationCorrectionPanel__5nh9M","dictationCorrectionLabel":"Chat-module_dictationCorrectionLabel__U4uzT","dictationCorrectionTextarea":"Chat-module_dictationCorrectionTextarea__5ovj9","dictationSettingsPanel":"Chat-module_dictationSettingsPanel__0gI-V","dictationFallbackNote":"Chat-module_dictationFallbackNote__919pE","uploadProgress":"Chat-module_uploadProgress__jBTKe","uploadProgressBar":"Chat-module_uploadProgressBar__Gutnt","uploadProgressFill":"Chat-module_uploadProgressFill__EgubT","dragOverlayContent":"Chat-module_dragOverlayContent__gb9kF","scrollToBottomContainer":"Chat-module_scrollToBottomContainer__5rXpK","scrollToBottomWrapper":"Chat-module_scrollToBottomWrapper__PCIu1","scrollButtonSlideIn":"Chat-module_scrollButtonSlideIn__XnImg","scrollToBottom":"Chat-module_scrollToBottom__nzxdZ","scrollToBottomBadge":"Chat-module_scrollToBottomBadge__N6T6-","ratingModal":"Chat-module_ratingModal__XVKYm","modalFadeIn":"Chat-module_modalFadeIn__RPc3w","ratingModalContent":"Chat-module_ratingModalContent__CCdq7","modalSlideIn":"Chat-module_modalSlideIn__XXtgN","stars":"Chat-module_stars__PCzNO","ratingModalStar":"Chat-module_ratingModalStar__XkbHr","toolCallModal":"Chat-module_toolCallModal__uNaIK","citationBrowserModal":"Chat-module_citationBrowserModal__jYU4c","citationBrowserModalBody":"Chat-module_citationBrowserModalBody__lvTWb","imageAttachmentModal":"Chat-module_imageAttachmentModal__Ef6L5","imageAttachmentModalHeader":"Chat-module_imageAttachmentModalHeader__onK3Z","imageAttachmentModalTitle":"Chat-module_imageAttachmentModalTitle__AhuMt","imageAttachmentModalPreview":"Chat-module_imageAttachmentModalPreview__gXDer","imageAttachmentModalImage":"Chat-module_imageAttachmentModalImage__t61oG","toolCallHeader":"Chat-module_toolCallHeader__ZaTZF","toolCallIcon":"Chat-module_toolCallIcon__UgRKj","toolCallHeaderMeta":"Chat-module_toolCallHeaderMeta__iAL-U","toolCallModalLabel":"Chat-module_toolCallModalLabel__4dBP4","toolCallTitle":"Chat-module_toolCallTitle__jhL0A","toolCallSubtitle":"Chat-module_toolCallSubtitle__a2GIO","toolCallGrid":"Chat-module_toolCallGrid__Nfr7N","toolCallPanel":"Chat-module_toolCallPanel__kQZE9","toolCallPanelTitle":"Chat-module_toolCallPanelTitle__-7OtJ","toolCallList":"Chat-module_toolCallList__5co3s","toolCallItem":"Chat-module_toolCallItem__k7W5Z","toolCallItemLabel":"Chat-module_toolCallItemLabel__d3C1E","toolCallItemValue":"Chat-module_toolCallItemValue__cStQ0","toolCallSummary":"Chat-module_toolCallSummary__wGZwg","toolCallSummaryMeta":"Chat-module_toolCallSummaryMeta__RXiSv","toolCallSummaryMetaBadge":"Chat-module_toolCallSummaryMetaBadge__JBi-I","toolCallEmpty":"Chat-module_toolCallEmpty__bUz5v","toolCallPendingCard":"Chat-module_toolCallPendingCard__L3m7T","toolCallPendingHeader":"Chat-module_toolCallPendingHeader__U3htF","toolCallPendingTitle":"Chat-module_toolCallPendingTitle__4fwLL","toolCallPendingBadge":"Chat-module_toolCallPendingBadge__bgY3c","toolCallPendingMessage":"Chat-module_toolCallPendingMessage__grnao","toolCallPendingSkeleton":"Chat-module_toolCallPendingSkeleton__Td5Cu","toolCallPendingSkeletonLine":"Chat-module_toolCallPendingSkeletonLine__Vldel","toolCallPendingSkeletonPulse":"Chat-module_toolCallPendingSkeletonPulse__aKDNI","toolCallPendingSkeletonShort":"Chat-module_toolCallPendingSkeletonShort__FnR-X","toolCallDetailsCard":"Chat-module_toolCallDetailsCard__UJthw","toolCallDetailsCardRow":"Chat-module_toolCallDetailsCardRow__-VhfA","toolCallIssues":"Chat-module_toolCallIssues__evhYM","toolCallIssueBadge":"Chat-module_toolCallIssueBadge__Qbwdp","toolCallIssueError":"Chat-module_toolCallIssueError__LImeS","toolCallIssueWarning":"Chat-module_toolCallIssueWarning__chQDf","toolCallModeFooter":"Chat-module_toolCallModeFooter__XaRqI","toolCallModeButton":"Chat-module_toolCallModeButton__zlcca","toolCallClockPanel":"Chat-module_toolCallClockPanel__h4xZd","toolCallClockLabels":"Chat-module_toolCallClockLabels__KJGxe","toolCallClockPrimary":"Chat-module_toolCallClockPrimary__StLQ8","toolCallClockSecondary":"Chat-module_toolCallClockSecondary__O4WaT","toolCallClockMeta":"Chat-module_toolCallClockMeta__aObb7","timeoutToolSummary":"Chat-module_timeoutToolSummary__kPPvu","timeoutToolPrimarySentence":"Chat-module_timeoutToolPrimarySentence__pQfLn","timeoutToolSecondarySentence":"Chat-module_timeoutToolSecondarySentence__iH5Uc","timeoutToolActionRow":"Chat-module_timeoutToolActionRow__occir","timeoutToolActionButton":"Chat-module_timeoutToolActionButton__8yz0R","memoryModalHeader":"Chat-module_memoryModalHeader__SpZJT","memoryModalIcon":"Chat-module_memoryModalIcon__eYbli","memoryModalHeaderText":"Chat-module_memoryModalHeaderText__S6MZG","memoryModalTitle":"Chat-module_memoryModalTitle__zzbaQ","memoryModalSubtitle":"Chat-module_memoryModalSubtitle__PStci","memoryModalStatus":"Chat-module_memoryModalStatus__bmrfc","memoryStatusDot":"Chat-module_memoryStatusDot__c0oVs","memoryModalContent":"Chat-module_memoryModalContent__8E7oj","memoryMessage":"Chat-module_memoryMessage__q0pNK","memoryMetaRow":"Chat-module_memoryMetaRow__Hc-Xp","memoryMetaLabel":"Chat-module_memoryMetaLabel__LFx11","memoryMetaValue":"Chat-module_memoryMetaValue__4bILO","memoryStoreSection":"Chat-module_memoryStoreSection__qQJPN","memoryRetrieveSection":"Chat-module_memoryRetrieveSection__VbuS4","memoryCard":"Chat-module_memoryCard__-kIDN","memoryCardContent":"Chat-module_memoryCardContent__l9S4G","memoryCardMeta":"Chat-module_memoryCardMeta__K66KE","memoryScopeBadge":"Chat-module_memoryScopeBadge__T2ACc","memoryList":"Chat-module_memoryList__pUOg2","memoryEmptyState":"Chat-module_memoryEmptyState__fPrXA","memoryListFooter":"Chat-module_memoryListFooter__Y0Q2Z","memoryStatusSuccess":"Chat-module_memoryStatusSuccess__4bhfo","memoryStatusWarning":"Chat-module_memoryStatusWarning__AR6yh","memoryStatusError":"Chat-module_memoryStatusError__ZNAT6","memoryStatusNeutral":"Chat-module_memoryStatusNeutral__Fa-4M","searchModalHeader":"Chat-module_searchModalHeader__Y8V-w","selfLearningModalHeader":"Chat-module_selfLearningModalHeader__PDIt1","selfLearningAvatarGroup":"Chat-module_selfLearningAvatarGroup__jgy2k","selfLearningAvatar":"Chat-module_selfLearningAvatar__NHXKm","selfLearningAvatarInitial":"Chat-module_selfLearningAvatarInitial__cuw19","selfLearningTeacher":"Chat-module_selfLearningTeacher__fGhX8","selfLearningHeaderText":"Chat-module_selfLearningHeaderText__LTwHL","selfLearningTitle":"Chat-module_selfLearningTitle__G0SAk","selfLearningMetaRow":"Chat-module_selfLearningMetaRow__z4Tg0","selfLearningMeta":"Chat-module_selfLearningMeta__58Pet","selfLearningMetaChip":"Chat-module_selfLearningMetaChip__0go88","selfLearningCommitments":"Chat-module_selfLearningCommitments__7ECnr","selfLearningCommitmentsLabel":"Chat-module_selfLearningCommitmentsLabel__OkDO1","selfLearningBookEditor":"Chat-module_selfLearningBookEditor__CZy5T","selfLearningEmpty":"Chat-module_selfLearningEmpty__vCKHL","modalCloseButton":"Chat-module_modalCloseButton__AAfWS","teamModalHeader":"Chat-module_teamModalHeader__SB5NL","teamHeaderParticipants":"Chat-module_teamHeaderParticipants__KS7aV","teamHeaderProfile":"Chat-module_teamHeaderProfile__xRlcS","teamHeaderProfileLink":"Chat-module_teamHeaderProfileLink__fYTfT","teamHeaderAvatar":"Chat-module_teamHeaderAvatar__vXcTp","teamHeaderName":"Chat-module_teamHeaderName__ygJR9","teamHeaderDivider":"Chat-module_teamHeaderDivider__cnRMd","searchModalIcon":"Chat-module_searchModalIcon__AR5KY","searchModalQuery":"Chat-module_searchModalQuery__5x-Ra","searchModalContent":"Chat-module_searchModalContent__mWLIE","teamChatContainer":"Chat-module_teamChatContainer__xdLtU","teamToolCallSection":"Chat-module_teamToolCallSection__FH9l7","teamToolCallGroup":"Chat-module_teamToolCallGroup__PO6rl","teamToolCallHeading":"Chat-module_teamToolCallHeading__G-JSj","teamToolCallChips":"Chat-module_teamToolCallChips__hRWqh","teamToolCallDetails":"Chat-module_teamToolCallDetails__ZaTtt","teamToolCallDetailsHeader":"Chat-module_teamToolCallDetailsHeader__FPIgI","teamToolCallDetailsTitle":"Chat-module_teamToolCallDetailsTitle__50SeL","teamToolCallDetailsClear":"Chat-module_teamToolCallDetailsClear__8yvu7","searchResultsList":"Chat-module_searchResultsList__xVDUZ","searchResultsRaw":"Chat-module_searchResultsRaw__i3GkD","searchResultItem":"Chat-module_searchResultItem__bTzq5","searchResultUrl":"Chat-module_searchResultUrl__SbrH4","searchResultTitle":"Chat-module_searchResultTitle__XS7zN","searchResultSnippet":"Chat-module_searchResultSnippet__Wsun2","noResults":"Chat-module_noResults__AAv6s","citationDetails":"Chat-module_citationDetails__2v2e1","citationPreview":"Chat-module_citationPreview__rGhCR","citationIframe":"Chat-module_citationIframe__ngzFY","citationIframeLoading":"Chat-module_citationIframeLoading__y5VW9","citationScreenshotFallback":"Chat-module_citationScreenshotFallback__jxfJX","citationScreenshotImage":"Chat-module_citationScreenshotImage__hXjC7","citationScreenshotLink":"Chat-module_citationScreenshotLink__NHvbE","liveBrowserPreview":"Chat-module_liveBrowserPreview__D94Kt","liveBrowserPreviewToolbar":"Chat-module_liveBrowserPreviewToolbar__nFgSV","liveBrowserPreviewToolbarButton":"Chat-module_liveBrowserPreviewToolbarButton__R-ZXl","liveBrowserPreviewZoomLabel":"Chat-module_liveBrowserPreviewZoomLabel__PbrV1","liveBrowserPreviewToolbarCloseButton":"Chat-module_liveBrowserPreviewToolbarCloseButton__gcsb0","liveBrowserPreviewUrlForm":"Chat-module_liveBrowserPreviewUrlForm__4DSda","liveBrowserPreviewUrlInput":"Chat-module_liveBrowserPreviewUrlInput__AugUm","liveBrowserPreviewStreamArea":"Chat-module_liveBrowserPreviewStreamArea__aIhQx","liveBrowserPreviewStreamImage":"Chat-module_liveBrowserPreviewStreamImage__bpTj3","liveBrowserPreviewConnecting":"Chat-module_liveBrowserPreviewConnecting__8Gn40","liveBrowserPreviewOverlay":"Chat-module_liveBrowserPreviewOverlay__eheiG","liveBrowserPreviewOverlayButton":"Chat-module_liveBrowserPreviewOverlayButton__o9SNO","citationMetadata":"Chat-module_citationMetadata__DPaCF","citationExcerpt":"Chat-module_citationExcerpt__VU4BS","citationHint":"Chat-module_citationHint__5AkLx","toolCallDataContainer":"Chat-module_toolCallDataContainer__rdEzC","toolCallPayloadContainer":"Chat-module_toolCallPayloadContainer__v2yVn","toolCallPayloadEditor":"Chat-module_toolCallPayloadEditor__Hklyf","ratingInput":"Chat-module_ratingInput__z8Pv-","ratingActions":"Chat-module_ratingActions__nXcss","downloadButton":"Chat-module_downloadButton__8--bk","saveButtonContainer":"Chat-module_saveButtonContainer__lSNUJ","saveMenu":"Chat-module_saveMenu__-ph8y","saveMenuItem":"Chat-module_saveMenuItem__ISApL","saveMenuDivider":"Chat-module_saveMenuDivider__3ktTM","chatFeedbackPanel":"Chat-module_chatFeedbackPanel__gfOzk","chatFeedbackToggle":"Chat-module_chatFeedbackToggle__IeOM6","chatFeedbackIcon":"Chat-module_chatFeedbackIcon__XcB7A","chatFeedbackMeta":"Chat-module_chatFeedbackMeta__6t2be","chatFeedbackLabel":"Chat-module_chatFeedbackLabel__qQgH3","chatFeedbackDescription":"Chat-module_chatFeedbackDescription__I9bNg","chatFeedbackIndicator":"Chat-module_chatFeedbackIndicator__uHCr7","chatFeedbackIndicatorActive":"Chat-module_chatFeedbackIndicatorActive__bkw-w","chatFeedbackIndicatorInactive":"Chat-module_chatFeedbackIndicatorInactive__qMBkh","pauseButton":"Chat-module_pauseButton__eeu7K","pausing":"Chat-module_pausing__pTx8b","paused":"Chat-module_paused__j-pya","stopButton":"Chat-module_stopButton__dkPOW","voiceCallIndicatorBar":"Chat-module_voiceCallIndicatorBar__N2sWN","voiceCallIndicator":"Chat-module_voiceCallIndicator__tsaaG","voiceCallIconPulse":"Chat-module_voiceCallIconPulse__zZbJn","voiceCallPulse":"Chat-module_voiceCallPulse__XcGU4","feedbackStatus":"Chat-module_feedbackStatus__-df7l","feedbackStatusSlideIn":"Chat-module_feedbackStatusSlideIn__n6bbB","feedbackStatusSuccess":"Chat-module_feedbackStatusSuccess__Ax2q0","feedbackStatusError":"Chat-module_feedbackStatusError__dnv6d","emailContainer":"Chat-module_emailContainer__TBxXZ","emailModalHeader":"Chat-module_emailModalHeader__Z4-CJ","emailHeaderText":"Chat-module_emailHeaderText__1dR6R","emailHeaderLabel":"Chat-module_emailHeaderLabel__7iAEH","emailMetadata":"Chat-module_emailMetadata__8XXGf","emailField":"Chat-module_emailField__pcb03","emailRecipients":"Chat-module_emailRecipients__YVVys","emailBody":"Chat-module_emailBody__OBt-w","emailBodyContent":"Chat-module_emailBodyContent__-vFo2","browserRunModalHeader":"Chat-module_browserRunModalHeader__0AyeK","browserRunHeaderText":"Chat-module_browserRunHeaderText__JUbNv","browserRunHeaderStatus":"Chat-module_browserRunHeaderStatus__uu3Fi","browserRunHeaderLabel":"Chat-module_browserRunHeaderLabel__uKYCb","browserRunMeta":"Chat-module_browserRunMeta__lJkQc","browserRunWarning":"Chat-module_browserRunWarning__ojdEP","browserRunError":"Chat-module_browserRunError__aELQo","browserRunErrorSummary":"Chat-module_browserRunErrorSummary__ygz-g","browserRunErrorSteps":"Chat-module_browserRunErrorSteps__S96nl","browserRunDebugDetails":"Chat-module_browserRunDebugDetails__SZ3VT","browserRunFallbackContent":"Chat-module_browserRunFallbackContent__NYCkp","browserRunStatusBanner":"Chat-module_browserRunStatusBanner__ljIE9","browserRunMediaGrid":"Chat-module_browserRunMediaGrid__KDz3I","browserRunMediaCard":"Chat-module_browserRunMediaCard__focNP","browserRunMediaCardHeader":"Chat-module_browserRunMediaCardHeader__sOfLw","browserRunMediaTitle":"Chat-module_browserRunMediaTitle__a6Ctw","browserRunMediaCaption":"Chat-module_browserRunMediaCaption__LG8E6","browserRunMediaImage":"Chat-module_browserRunMediaImage__UI4pd","browserRunMediaVideo":"Chat-module_browserRunMediaVideo__z2RgF","browserRunActionLog":"Chat-module_browserRunActionLog__YZ0CQ","browserRunActionLogTitle":"Chat-module_browserRunActionLogTitle__XaEIW","browserRunActionList":"Chat-module_browserRunActionList__SOgfd","browserRunActionItem":"Chat-module_browserRunActionItem__1q668","browserRunActionPending":"Chat-module_browserRunActionPending__unJJt","browserRunActionRunning":"Chat-module_browserRunActionRunning__NdlRL","browserRunActionComplete":"Chat-module_browserRunActionComplete__PU36H","browserRunActionError":"Chat-module_browserRunActionError__y-cm0","browserRunActionState":"Chat-module_browserRunActionState__pkfKg","browserRunActionStateRunning":"Chat-module_browserRunActionStateRunning__L1IbZ","browserRunActionStateComplete":"Chat-module_browserRunActionStateComplete__CpVEc","browserRunActionStateError":"Chat-module_browserRunActionStateError__lU-t4","browserRunActionMeta":"Chat-module_browserRunActionMeta__df32n","emailStatus":"Chat-module_emailStatus__T4UuL","imagePrompt":"Chat-module_imagePrompt__v7-Ho","imagePromptPreview":"Chat-module_imagePromptPreview__ve5dB","imagePromptImage":"Chat-module_imagePromptImage__KjE3H","imagePromptPlaceholder":"Chat-module_imagePromptPlaceholder__b8cW6","imagePromptSpinner":"Chat-module_imagePromptSpinner__nat8r","imagePromptMeta":"Chat-module_imagePromptMeta__YwltP","imagePromptPrompt":"Chat-module_imagePromptPrompt__N1E--","imagePromptStatus":"Chat-module_imagePromptStatus__0ROQF","imagePromptError":"Chat-module_imagePromptError__x1952","richFeaturePlaceholder":"Chat-module_richFeaturePlaceholder__mXS7-","richFeaturePlaceholderSpinner":"Chat-module_richFeaturePlaceholderSpinner__ingFq","richFeatureSpinner":"Chat-module_richFeatureSpinner__eOql6","richFeaturePlaceholderCopy":"Chat-module_richFeaturePlaceholderCopy__sEgxN","richFeaturePlaceholderTitle":"Chat-module_richFeaturePlaceholderTitle__lF7rJ","richFeaturePlaceholderStatus":"Chat-module_richFeaturePlaceholderStatus__UJg09","progressPanel":"Chat-module_progressPanel__9M8h9","progressPanelTitle":"Chat-module_progressPanelTitle__rBdoY","progressPanelSection":"Chat-module_progressPanelSection__F3xUF","progressPanelSectionLabel":"Chat-module_progressPanelSectionLabel__aTPgr","progressPanelSectionBody":"Chat-module_progressPanelSectionBody__Z7zX0","progressPanelList":"Chat-module_progressPanelList__PHFeP","progressPanelListItem":"Chat-module_progressPanelListItem__7v9jN","progressPanelListBullet":"Chat-module_progressPanelListBullet__Tzvi7","progressPanelItemSpinner":"Chat-module_progressPanelItemSpinner__oJ6Az","progressPanelSpinner":"Chat-module_progressPanelSpinner__pzxP2","progressPanelItemCompleted":"Chat-module_progressPanelItemCompleted__7bJhG","progressPanelItemText":"Chat-module_progressPanelItemText__tZPIs"};
26470
26564
  styleInject(css_248z$7);
26471
26565
 
26472
26566
  /**
@@ -26566,7 +26660,7 @@ function simplifyKnowledgeLabel(label) {
26566
26660
  if (trimmedLabel.length === 0) {
26567
26661
  return label;
26568
26662
  }
26569
- const fileNameCandidate = stripQueryAndHash(extractFileNameCandidate(trimmedLabel));
26663
+ const fileNameCandidate = stripQueryAndHash$1(extractFileNameCandidate(trimmedLabel));
26570
26664
  const withoutExtension = removeExtension(fileNameCandidate);
26571
26665
  const withoutTrailingId = stripTrailingDelimiters(removeTrailingIdSegment(withoutExtension));
26572
26666
  const normalized = withoutTrailingId || withoutExtension || fileNameCandidate || trimmedLabel;
@@ -26628,7 +26722,7 @@ function isHumanOrID(text) {
26628
26722
  function extractFileNameCandidate(value) {
26629
26723
  try {
26630
26724
  const parsedUrl = new URL(value);
26631
- const decodedPath = decodeUriComponentSafe(parsedUrl.pathname);
26725
+ const decodedPath = decodeUriComponentSafe$1(parsedUrl.pathname);
26632
26726
  const pathSegments = decodedPath.split('/').filter(Boolean);
26633
26727
  const lastPathSegment = pathSegments[pathSegments.length - 1];
26634
26728
  if (lastPathSegment) {
@@ -26639,7 +26733,7 @@ function extractFileNameCandidate(value) {
26639
26733
  catch (_a) {
26640
26734
  const pathSegments = value.split(/[\\/]/).filter(Boolean);
26641
26735
  const lastPathSegment = pathSegments[pathSegments.length - 1] || value;
26642
- return decodeUriComponentSafe(lastPathSegment);
26736
+ return decodeUriComponentSafe$1(lastPathSegment);
26643
26737
  }
26644
26738
  }
26645
26739
  /**
@@ -26661,7 +26755,7 @@ function removeExtension(value) {
26661
26755
  *
26662
26756
  * @private utility of knowledge/source chip rendering
26663
26757
  */
26664
- function stripQueryAndHash(value) {
26758
+ function stripQueryAndHash$1(value) {
26665
26759
  const queryIndex = value.indexOf('?');
26666
26760
  const hashIndex = value.indexOf('#');
26667
26761
  const cutIndexCandidates = [queryIndex, hashIndex].filter((index) => index >= 0);
@@ -26725,7 +26819,7 @@ function truncateKnowledgeLabel(value) {
26725
26819
  *
26726
26820
  * @private utility of knowledge/source chip rendering
26727
26821
  */
26728
- function decodeUriComponentSafe(value) {
26822
+ function decodeUriComponentSafe$1(value) {
26729
26823
  try {
26730
26824
  return decodeURIComponent(value);
26731
26825
  }
@@ -26734,134 +26828,283 @@ function decodeUriComponentSafe(value) {
26734
26828
  }
26735
26829
  }
26736
26830
 
26737
- /**
26738
- * Resolves the URL for a citation source by looking up KNOWLEDGE commitments in the agent's source code.
26739
- *
26740
- * @param source - The source filename (e.g. "document.pdf")
26741
- * @param participants - List of chat participants to search in
26742
- * @returns The resolved URL if found, or null
26743
- *
26744
- * @private utility of <Chat/> component
26745
- */
26746
- function resolveCitationUrl(source, participants) {
26747
- // Find the AGENT participant
26748
- // TODO: [🧠] If there are multiple agents/teammates, we might need to search all of them or know which one generated the message
26749
- const agent = participants.find((p) => p.name === 'AGENT');
26750
- if (!agent) {
26751
- return null;
26752
- }
26753
- // First, try to resolve from knowledgeSources array (more reliable for remote agents)
26754
- if (agent.knowledgeSources && agent.knowledgeSources.length > 0) {
26755
- for (const knowledgeSource of agent.knowledgeSources) {
26756
- if (isCitationMatch(source, knowledgeSource.url, knowledgeSource.filename)) {
26757
- return knowledgeSource.url;
26758
- }
26759
- }
26760
- }
26761
- // Fallback: Try to resolve from agent source (for local agents or backward compatibility)
26762
- if (agent.agentSource) {
26763
- const lines = agent.agentSource.split(/\r?\n/);
26764
- for (const line of lines) {
26765
- const trimmed = line.trim();
26766
- // Note: Check for KNOWLEDGE command (case-sensitive as per commitment definitions)
26767
- if (trimmed.startsWith('KNOWLEDGE ')) {
26768
- const content = trimmed.substring('KNOWLEDGE '.length).trim();
26769
- if (isCitationMatch(source, content)) {
26770
- return content;
26771
- }
26772
- }
26773
- }
26774
- }
26775
- return null;
26776
- }
26777
- /**
26778
- * Helper to tokenize string into alphanumeric parts
26779
- */
26780
- function tokenize(text) {
26781
- return text
26782
- .toLowerCase()
26783
- .split(/[^a-z0-9]+/g)
26784
- .filter((t) => t.length > 0);
26785
- }
26786
- /**
26787
- * Helper to check if citation source matches the candidate filename/url
26788
- */
26789
- function isCitationMatch(citationSource, candidateUrl, explicitFilename) {
26790
- try {
26791
- const urlPath = candidateUrl.split('?')[0];
26792
- const decodedPath = decodeURIComponent(urlPath);
26793
- const filenameFromUrl = decodedPath.split('/').pop() || '';
26794
- const filename = explicitFilename || filenameFromUrl;
26795
- // 1. Strict match
26796
- if (filename === citationSource) {
26797
- return true;
26798
- }
26799
- // 2. Check against URL path end (for when filename extraction might be tricky or citation includes path)
26800
- if (decodedPath.endsWith('/' + citationSource) || decodedPath === citationSource) {
26801
- return true;
26802
- }
26803
- // 3. Token-based heuristic
26804
- const sourceTokens = tokenize(citationSource);
26805
- const filenameTokens = tokenize(filename);
26806
- if (sourceTokens.length > 0 && sourceTokens.every((token) => filenameTokens.includes(token))) {
26807
- return true;
26808
- }
26809
- }
26810
- catch (error) {
26811
- return false;
26812
- }
26813
- return false;
26814
- }
26815
-
26816
26831
  /**
26817
26832
  * Maximum length of plain-text citation labels before truncation.
26833
+ *
26834
+ * @private utility constant of `<Chat/>` citation rendering
26818
26835
  */
26819
26836
  const TEXT_LABEL_LENGTH = 30;
26820
26837
  /**
26821
26838
  * Ellipsis appended to truncated citation labels.
26839
+ *
26840
+ * @private utility constant of `<Chat/>` citation rendering
26822
26841
  */
26823
26842
  const LABEL_ELLIPSIS = '…';
26824
26843
  /**
26825
26844
  * Pattern matching file extensions at the end of a citation source.
26845
+ *
26846
+ * @private utility constant of `<Chat/>` citation rendering
26826
26847
  */
26827
26848
  const FILE_EXTENSION_REGEX = /\.([a-z0-9]{1,10})$/i;
26828
26849
  /**
26829
26850
  * Pattern matching punctuation that should be trimmed from citation tails.
26851
+ *
26852
+ * @private utility constant of `<Chat/>` citation rendering
26830
26853
  */
26831
26854
  const TRAILING_PUNCTUATION_REGEX = /[.,;:!?)+\]]+$/;
26832
26855
  /**
26833
26856
  * Pattern matching filename separators that should become spaces in source labels.
26857
+ *
26858
+ * @private utility constant of `<Chat/>` citation rendering
26834
26859
  */
26835
26860
  const FILENAME_SEPARATOR_REGEX = /[-_]+/g;
26836
26861
  /**
26837
26862
  * Pattern matching consecutive whitespace in display labels.
26863
+ *
26864
+ * @private utility constant of `<Chat/>` citation rendering
26838
26865
  */
26839
26866
  const WHITESPACE_REGEX = /\s+/g;
26840
26867
  /**
26841
- * Collapses consecutive whitespace into single spaces.
26868
+ * Pattern matching an XML `CDATA` section that wraps an entire citation source value.
26869
+ *
26870
+ * @private utility constant of `<Chat/>` citation rendering
26842
26871
  */
26843
- function collapseWhitespace(value) {
26844
- return value.replace(WHITESPACE_REGEX, ' ');
26845
- }
26872
+ const CDATA_SECTION_REGEX = /^\s*<!\[CDATA\[([\s\S]*?)\]\]>\s*$/;
26873
+ /**
26874
+ * Maximum size of JSON-like citation source text parsed for embedded URLs.
26875
+ *
26876
+ * @private utility constant of `<Chat/>` citation rendering
26877
+ */
26878
+ const MAX_JSON_SOURCE_PARSE_LENGTH = 20 * 1000;
26846
26879
  /**
26847
- * Trims a value before further citation normalization.
26880
+ * Maximum recursion depth for finding URLs inside JSON-like citation sources.
26881
+ *
26882
+ * @private utility constant of `<Chat/>` citation rendering
26883
+ */
26884
+ const MAX_JSON_URL_SCAN_DEPTH = 3;
26885
+ /**
26886
+ * Maximum array items scanned for URLs inside JSON-like citation sources.
26887
+ *
26888
+ * @private utility constant of `<Chat/>` citation rendering
26848
26889
  */
26849
- function trimToNormalized(value) {
26850
- return value.trim();
26890
+ const MAX_JSON_ARRAY_ITEMS_TO_SCAN = 3;
26891
+ /**
26892
+ * Number of leading bytes/characters inspected for binary signatures.
26893
+ *
26894
+ * @private utility constant of `<Chat/>` citation rendering
26895
+ */
26896
+ const BINARY_SIGNATURE_LENGTH = 8 * 8;
26897
+ /**
26898
+ * Notebook JSON extension assembled to keep spellcheck focused on prose.
26899
+ *
26900
+ * @private utility constant of `<Chat/>` citation rendering
26901
+ */
26902
+ const NOTEBOOK_JSON_EXTENSION = ['i', 'p', 'y', 'n', 'b'].join('');
26903
+ /**
26904
+ * Page-layout document extension assembled to keep spellcheck focused on prose.
26905
+ *
26906
+ * @private utility constant of `<Chat/>` citation rendering
26907
+ */
26908
+ const PAGE_LAYOUT_DOCUMENT_EXTENSION = ['i', 'n', 'd', 'd'].join('');
26909
+ /**
26910
+ * JPEG file-interchange marker assembled to keep spellcheck focused on prose.
26911
+ *
26912
+ * @private utility constant of `<Chat/>` citation rendering
26913
+ */
26914
+ const JPEG_FILE_INTERCHANGE_MARKER = ['j', 'f', 'i', 'f'].join('');
26915
+ /**
26916
+ * JPEG exchangeable-image marker assembled to keep spellcheck focused on prose.
26917
+ *
26918
+ * @private utility constant of `<Chat/>` citation rendering
26919
+ */
26920
+ const JPEG_EXCHANGEABLE_IMAGE_MARKER = ['e', 'x', 'i', 'f'].join('');
26921
+ /**
26922
+ * JSON object fields that commonly contain public source URLs.
26923
+ *
26924
+ * @private utility constant of `<Chat/>` citation rendering
26925
+ */
26926
+ const JSON_URL_FIELD_NAMES = [
26927
+ 'html_url',
26928
+ 'download_url',
26929
+ 'browser_download_url',
26930
+ 'web_url',
26931
+ 'source_url',
26932
+ 'file_url',
26933
+ 'url',
26934
+ ];
26935
+ /**
26936
+ * File extension map for citation source categories.
26937
+ *
26938
+ * @private utility constant of `<Chat/>` citation rendering
26939
+ */
26940
+ const SOURCE_KIND_BY_EXTENSION = {
26941
+ avif: 'image',
26942
+ gif: 'image',
26943
+ jpg: 'image',
26944
+ jpeg: 'image',
26945
+ png: 'image',
26946
+ svg: 'image',
26947
+ webp: 'image',
26948
+ json: 'json',
26949
+ jsonl: 'json',
26950
+ geojson: 'json',
26951
+ [NOTEBOOK_JSON_EXTENSION]: 'json',
26952
+ pdf: 'document',
26953
+ doc: 'document',
26954
+ docx: 'document',
26955
+ [PAGE_LAYOUT_DOCUMENT_EXTENSION]: 'document',
26956
+ md: 'document',
26957
+ markdown: 'document',
26958
+ odt: 'document',
26959
+ rtf: 'document',
26960
+ txt: 'document',
26961
+ html: 'website',
26962
+ htm: 'website',
26963
+ csv: 'table',
26964
+ tsv: 'table',
26965
+ xls: 'spreadsheet',
26966
+ xlsx: 'spreadsheet',
26967
+ ods: 'spreadsheet',
26968
+ ppt: 'presentation',
26969
+ pptx: 'presentation',
26970
+ odp: 'presentation',
26971
+ js: 'code',
26972
+ jsx: 'code',
26973
+ ts: 'code',
26974
+ tsx: 'code',
26975
+ css: 'code',
26976
+ scss: 'code',
26977
+ xml: 'code',
26978
+ yaml: 'code',
26979
+ yml: 'code',
26980
+ zip: 'archive',
26981
+ rar: 'archive',
26982
+ tar: 'archive',
26983
+ gz: 'archive',
26984
+ tgz: 'archive',
26985
+ mp4: 'video',
26986
+ mov: 'video',
26987
+ avi: 'video',
26988
+ webm: 'video',
26989
+ mp3: 'audio',
26990
+ wav: 'audio',
26991
+ m4a: 'audio',
26992
+ ogg: 'audio',
26993
+ };
26994
+ /**
26995
+ * Image format map for filename extensions.
26996
+ *
26997
+ * @private utility constant of `<Chat/>` citation rendering
26998
+ */
26999
+ const IMAGE_FORMAT_BY_EXTENSION = {
27000
+ avif: 'avif',
27001
+ gif: 'gif',
27002
+ jpg: 'jpeg',
27003
+ jpeg: 'jpeg',
27004
+ png: 'png',
27005
+ svg: 'svg',
27006
+ webp: 'webp',
27007
+ };
27008
+ /**
27009
+ * Human-readable fallback label for each broad source category.
27010
+ *
27011
+ * @private utility constant of `<Chat/>` citation rendering
27012
+ */
27013
+ const SOURCE_FALLBACK_LABEL_BY_KIND = {
27014
+ archive: 'Archive file',
27015
+ audio: 'Audio file',
27016
+ code: 'Code file',
27017
+ document: 'Document file',
27018
+ file: 'File',
27019
+ image: 'Image file',
27020
+ json: 'JSON file',
27021
+ 'plain-text': 'Text',
27022
+ presentation: 'Presentation file',
27023
+ spreadsheet: 'Spreadsheet file',
27024
+ table: 'Table file',
27025
+ video: 'Video file',
27026
+ website: 'Website',
27027
+ };
27028
+ /**
27029
+ * Human-readable fallback label for known image formats.
27030
+ *
27031
+ * @private utility constant of `<Chat/>` citation rendering
27032
+ */
27033
+ const IMAGE_FALLBACK_LABEL_BY_FORMAT = {
27034
+ avif: 'AVIF image',
27035
+ gif: 'GIF image',
27036
+ image: 'Image file',
27037
+ jpeg: 'JPEG image',
27038
+ png: 'PNG image',
27039
+ svg: 'SVG image',
27040
+ webp: 'WebP image',
27041
+ };
27042
+ /**
27043
+ * Resolves render-ready source metadata for one citation.
27044
+ *
27045
+ * @param citation - Citation metadata from a rendered chat message.
27046
+ * @returns Display label, source category, and optional preview URLs.
27047
+ *
27048
+ * @private utility of `<Chat/>` citation rendering
27049
+ */
27050
+ function resolveCitationSourceDisplay(citation) {
27051
+ const normalizedCitation = unwrapCitationCdataSource(citation);
27052
+ const source = normalizedCitation.source.trim();
27053
+ const explicitTitle = normalizeCitationDisplayLabel(normalizedCitation.title);
27054
+ const directTargetUrl = resolveCitationTargetUrl(normalizedCitation);
27055
+ const rawSourceSignature = resolveRawCitationSourceSignature(source);
27056
+ const jsonSourceUrl = (rawSourceSignature === null || rawSourceSignature === void 0 ? void 0 : rawSourceSignature.kind) === 'json' ? resolveCitationUrlFromJsonSource(source) : null;
27057
+ const targetUrl = directTargetUrl || jsonSourceUrl || undefined;
27058
+ const extension = resolveCitationFileExtension(normalizedCitation, targetUrl);
27059
+ const extensionSignature = extension ? resolveCitationSourceSignatureFromFileExtension(extension) : null;
27060
+ const targetUrlSignature = targetUrl && !extensionSignature ? { kind: 'website' } : null;
27061
+ const signature = rawSourceSignature ||
27062
+ extensionSignature ||
27063
+ targetUrlSignature ||
27064
+ (isPlainTextCitationSource(normalizedCitation)
27065
+ ? { kind: 'plain-text' }
27066
+ : { kind: 'file' });
27067
+ const imageFormat = signature.kind === 'image' ? signature.imageFormat || resolveImageFormatFromExtension(extension) : undefined;
27068
+ const label = explicitTitle ||
27069
+ createCitationSourceFallbackLabel({
27070
+ citation: normalizedCitation,
27071
+ extension,
27072
+ imageFormat,
27073
+ isRawTechnicalSource: Boolean(rawSourceSignature),
27074
+ kind: signature.kind,
27075
+ source,
27076
+ targetUrl,
27077
+ });
27078
+ return {
27079
+ kind: signature.kind,
27080
+ label,
27081
+ ...(targetUrl ? { targetUrl } : {}),
27082
+ ...(signature.kind === 'image' && targetUrl ? { thumbnailUrl: targetUrl } : {}),
27083
+ ...(extension ? { extension } : {}),
27084
+ ...(imageFormat ? { imageFormat } : {}),
27085
+ };
26851
27086
  }
26852
27087
  /**
26853
- * Checks whether a citation source ends with a file extension.
27088
+ * Removes an XML `CDATA` wrapper from a citation source so chip labels stay human-readable.
27089
+ *
27090
+ * Some knowledge feeds keep the raw `<![CDATA[…]]>` wrapper around source titles, which would
27091
+ * otherwise leak into the chip label (for example `<![CDATA[AI ta Krajta]]>`). When the whole
27092
+ * source is a single `CDATA` section, this returns a citation carrying only the inner text so
27093
+ * every downstream label and icon heuristic operates on the meaningful value.
27094
+ *
27095
+ * @param citation - Citation metadata that may carry a `CDATA`-wrapped source.
27096
+ * @returns The original citation, or a copy whose source is the unwrapped inner text.
27097
+ *
27098
+ * @private utility of `<Chat/>` citation rendering
26854
27099
  */
26855
- function hasFileExtension(value) {
27100
+ function unwrapCitationCdataSource(citation) {
26856
27101
  var _a;
26857
- const trimmed = trimToNormalized(value);
26858
- if (!trimmed) {
26859
- return false;
27102
+ const cdataMatch = citation.source.match(CDATA_SECTION_REGEX);
27103
+ const innerText = (_a = cdataMatch === null || cdataMatch === void 0 ? void 0 : cdataMatch[1]) === null || _a === void 0 ? void 0 : _a.trim();
27104
+ if (innerText === undefined) {
27105
+ return citation;
26860
27106
  }
26861
- const withoutFragments = (_a = trimmed.split(/[\\?\x23]/)[0]) !== null && _a !== void 0 ? _a : '';
26862
- const segments = withoutFragments.split(/[\\/]/).filter(Boolean);
26863
- const lastSegment = (segments.pop() || withoutFragments).replace(TRAILING_PUNCTUATION_REGEX, '').trim();
26864
- return FILE_EXTENSION_REGEX.test(lastSegment);
27107
+ return { ...citation, source: innerText };
26865
27108
  }
26866
27109
  /**
26867
27110
  * Returns whether the provided value is a valid HTTP(S) URL.
@@ -26871,18 +27114,8 @@ function hasFileExtension(value) {
26871
27114
  *
26872
27115
  * @private utility of `<Chat/>` citation rendering
26873
27116
  */
26874
- function isCitationUrl(value) {
26875
- const trimmed = trimToNormalized(value);
26876
- if (!trimmed) {
26877
- return false;
26878
- }
26879
- try {
26880
- const url = new URL(trimmed);
26881
- return url.protocol === 'http:' || url.protocol === 'https:';
26882
- }
26883
- catch (error) {
26884
- return false;
26885
- }
27117
+ function isCitationSourceUrl(value) {
27118
+ return Boolean(parseCitationUrl(value));
26886
27119
  }
26887
27120
  /**
26888
27121
  * Determines whether a citation should be displayed as a text snippet instead of a file/URL.
@@ -26892,12 +27125,14 @@ function isCitationUrl(value) {
26892
27125
  *
26893
27126
  * @private utility of `<Chat/>` citation rendering
26894
27127
  */
26895
- function isPlainTextCitation(citation) {
26896
- const trimmed = trimToNormalized(citation.source);
27128
+ function isPlainTextCitationSource(citation) {
27129
+ const trimmed = citation.source.trim();
26897
27130
  if (!trimmed) {
26898
27131
  return false;
26899
27132
  }
26900
- if (isCitationUrl(trimmed) || hasFileExtension(trimmed)) {
27133
+ if (resolveRawCitationSourceSignature(trimmed) ||
27134
+ isCitationSourceUrl(trimmed) ||
27135
+ resolveCitationFileExtension(citation)) {
26901
27136
  return false;
26902
27137
  }
26903
27138
  if (/\s/.test(trimmed)) {
@@ -26906,66 +27141,109 @@ function isPlainTextCitation(citation) {
26906
27141
  return trimmed.length > TEXT_LABEL_LENGTH;
26907
27142
  }
26908
27143
  /**
26909
- * Builds a label that matches the desired chip/modal title for a citation.
27144
+ * Creates a readable fallback label from a citation source when no title metadata is available.
26910
27145
  *
26911
- * @param citation - Parsed citation metadata.
26912
- * @returns The friendly label shown on chips and modal headers.
27146
+ * @param source - Raw citation source value.
27147
+ * @returns Human-friendly source label.
26913
27148
  *
26914
27149
  * @private utility of `<Chat/>` citation rendering
26915
27150
  */
26916
- function getCitationLabel(citation) {
26917
- const title = normalizeCitationDisplayLabel(citation.title);
26918
- if (title) {
26919
- return title;
26920
- }
26921
- const trimmed = trimToNormalized(citation.source);
27151
+ function createReadableCitationSourceDisplayLabel(source) {
27152
+ const trimmed = source.trim();
26922
27153
  if (!trimmed) {
26923
- return citation.source;
27154
+ return source;
26924
27155
  }
26925
- if (isPlainTextCitation(citation)) {
26926
- const collapsed = collapseWhitespace(trimmed);
26927
- if (collapsed.length <= TEXT_LABEL_LENGTH) {
26928
- return collapsed;
26929
- }
26930
- return collapsed.slice(0, TEXT_LABEL_LENGTH) + LABEL_ELLIPSIS;
27156
+ const parsedUrl = parseCitationUrl(trimmed);
27157
+ const filenameCandidate = parsedUrl
27158
+ ? getUrlLabelCandidate(parsedUrl) || parsedUrl.hostname.replace(/^www\./i, '')
27159
+ : simplifyKnowledgeLabel(trimmed);
27160
+ return normalizeCitationDisplayLabel(filenameCandidate) || simplifyKnowledgeLabel(trimmed);
27161
+ }
27162
+ /**
27163
+ * Creates a compact host/path label for URL-backed file citations.
27164
+ *
27165
+ * @param rawUrl - Raw URL value.
27166
+ * @returns URL snippet such as `github.com/.../source.json`, or null for invalid URLs.
27167
+ *
27168
+ * @private utility of `<Chat/>` citation rendering
27169
+ */
27170
+ function createCitationUrlSnippet(rawUrl) {
27171
+ const url = parseCitationUrl(rawUrl);
27172
+ if (!url) {
27173
+ return null;
27174
+ }
27175
+ const hostname = url.hostname.replace(/^www\./i, '');
27176
+ const pathSegments = url.pathname.split('/').filter(Boolean).map(decodeUriComponentSafe);
27177
+ if (pathSegments.length === 0) {
27178
+ return hostname;
26931
27179
  }
26932
- return createReadableCitationSourceLabel(trimmed);
27180
+ if (pathSegments.length <= 2) {
27181
+ return `${hostname}/${pathSegments.join('/')}`;
27182
+ }
27183
+ return `${hostname}/.../${pathSegments[pathSegments.length - 1]}`;
26933
27184
  }
26934
27185
  /**
26935
- * Resolves the preview URL used inside the citation modal iframe.
27186
+ * Resolves a source signature from a file extension.
26936
27187
  *
26937
- * @param citation - Parsed citation metadata.
26938
- * @param participants - Known chat participants for agent knowledge lookup.
26939
- * @returns URL string suitable for iframe preview or null when unavailable.
27188
+ * @param extension - Lower- or mixed-case file extension.
27189
+ * @returns Source signature or null for unknown extensions.
26940
27190
  *
26941
27191
  * @private utility of `<Chat/>` citation rendering
26942
27192
  */
26943
- function resolveCitationPreviewUrl(citation, participants) {
26944
- var _a;
26945
- const trimmed = trimToNormalized(citation.source);
26946
- const explicitUrl = ((_a = citation.url) === null || _a === void 0 ? void 0 : _a.trim()) || null;
26947
- const literalUrl = isCitationUrl(trimmed) ? trimmed : null;
26948
- const knowledgeUrl = resolveCitationUrl(trimmed, participants);
26949
- return explicitUrl || literalUrl || knowledgeUrl || null;
27193
+ function resolveCitationSourceSignatureFromFileExtension(extension) {
27194
+ const normalizedExtension = extension === null || extension === void 0 ? void 0 : extension.trim().toLowerCase();
27195
+ if (!normalizedExtension) {
27196
+ return null;
27197
+ }
27198
+ const kind = SOURCE_KIND_BY_EXTENSION[normalizedExtension];
27199
+ if (!kind) {
27200
+ return null;
27201
+ }
27202
+ return {
27203
+ kind,
27204
+ ...(kind === 'image' ? { imageFormat: resolveImageFormatFromExtension(normalizedExtension) } : {}),
27205
+ };
26950
27206
  }
26951
27207
  /**
26952
- * Creates a readable fallback label from a citation source when no title metadata is available.
27208
+ * Resolves a source signature from decoded source text.
26953
27209
  *
26954
- * @param source - Raw citation source value.
26955
- * @returns Human-friendly source label.
27210
+ * @param source - Raw citation source text.
27211
+ * @returns Source signature for JSON/binary-like source text, otherwise null.
26956
27212
  *
26957
27213
  * @private utility of `<Chat/>` citation rendering
26958
27214
  */
26959
- function createReadableCitationSourceLabel(source) {
26960
- const trimmed = trimToNormalized(source);
27215
+ function resolveRawCitationSourceSignature(source) {
27216
+ const trimmed = source.trim();
26961
27217
  if (!trimmed) {
26962
- return source;
27218
+ return null;
26963
27219
  }
26964
- const parsedUrl = parseCitationUrl(trimmed);
26965
- const filenameCandidate = parsedUrl
26966
- ? getUrlLabelCandidate(parsedUrl) || parsedUrl.hostname.replace(/^www\./i, '')
26967
- : simplifyKnowledgeLabel(trimmed);
26968
- return normalizeCitationDisplayLabel(filenameCandidate) || simplifyKnowledgeLabel(trimmed);
27220
+ const imageSignature = resolveImageSignatureFromText(trimmed);
27221
+ if (imageSignature) {
27222
+ return imageSignature;
27223
+ }
27224
+ return isJsonLikeCitationSource(trimmed) ? { kind: 'json' } : null;
27225
+ }
27226
+ /**
27227
+ * Creates a generic fallback label for a source signature.
27228
+ *
27229
+ * @param signature - Source signature.
27230
+ * @returns Human-readable fallback label.
27231
+ *
27232
+ * @private utility of `<Chat/>` citation rendering
27233
+ */
27234
+ function createCitationSourceSignatureFallbackLabel(signature) {
27235
+ if (signature.kind === 'image' && signature.imageFormat) {
27236
+ return IMAGE_FALLBACK_LABEL_BY_FORMAT[signature.imageFormat];
27237
+ }
27238
+ return SOURCE_FALLBACK_LABEL_BY_KIND[signature.kind];
27239
+ }
27240
+ /**
27241
+ * Collapses consecutive whitespace into single spaces.
27242
+ *
27243
+ * @private utility of `<Chat/>` citation rendering
27244
+ */
27245
+ function collapseWhitespace(value) {
27246
+ return value.replace(WHITESPACE_REGEX, ' ');
26969
27247
  }
26970
27248
  /**
26971
27249
  * Normalizes a citation label candidate for display.
@@ -26989,13 +27267,129 @@ function normalizeCitationDisplayLabel(label) {
26989
27267
  */
26990
27268
  function parseCitationUrl(value) {
26991
27269
  try {
26992
- const url = new URL(value);
27270
+ const url = new URL(value.trim().replace(TRAILING_PUNCTUATION_REGEX, ''));
26993
27271
  return url.protocol === 'http:' || url.protocol === 'https:' ? url : null;
26994
27272
  }
26995
27273
  catch (_a) {
26996
27274
  return null;
26997
27275
  }
26998
27276
  }
27277
+ /**
27278
+ * Resolves the best known target URL directly declared by a citation.
27279
+ *
27280
+ * @param citation - Citation metadata.
27281
+ * @returns HTTP(S) URL or null.
27282
+ *
27283
+ * @private utility of `<Chat/>` citation rendering
27284
+ */
27285
+ function resolveCitationTargetUrl(citation) {
27286
+ var _a, _b;
27287
+ const explicitUrl = citation.url ? (_a = parseCitationUrl(citation.url)) === null || _a === void 0 ? void 0 : _a.href : null;
27288
+ const literalSourceUrl = ((_b = parseCitationUrl(citation.source)) === null || _b === void 0 ? void 0 : _b.href) || null;
27289
+ return explicitUrl || literalSourceUrl;
27290
+ }
27291
+ /**
27292
+ * Resolves a file extension from a citation source or its known URL.
27293
+ *
27294
+ * @param citation - Citation metadata.
27295
+ * @param targetUrl - Optional already resolved target URL.
27296
+ * @returns Lower-cased extension or null.
27297
+ *
27298
+ * @private utility of `<Chat/>` citation rendering
27299
+ */
27300
+ function resolveCitationFileExtension(citation, targetUrl) {
27301
+ return (extractFileExtensionFromSource(targetUrl || '') ||
27302
+ extractFileExtensionFromSource(citation.url || '') ||
27303
+ extractFileExtensionFromSource(citation.source));
27304
+ }
27305
+ /**
27306
+ * Extracts a lower-cased file extension from a URL, path, or filename.
27307
+ *
27308
+ * @param value - Raw source value.
27309
+ * @returns Lower-cased extension or null.
27310
+ *
27311
+ * @private utility of `<Chat/>` citation rendering
27312
+ */
27313
+ function extractFileExtensionFromSource(value) {
27314
+ var _a, _b;
27315
+ const trimmed = value.trim();
27316
+ if (!trimmed) {
27317
+ return null;
27318
+ }
27319
+ const parsedUrl = parseCitationUrl(trimmed);
27320
+ const sourceWithoutQuery = parsedUrl ? decodeUriComponentSafe(parsedUrl.pathname) : stripQueryAndHash(trimmed);
27321
+ const lastSegment = (_a = sourceWithoutQuery
27322
+ .split(/[\\/]/)
27323
+ .filter(Boolean)
27324
+ .pop()) === null || _a === void 0 ? void 0 : _a.replace(TRAILING_PUNCTUATION_REGEX, '');
27325
+ const extensionMatch = lastSegment === null || lastSegment === void 0 ? void 0 : lastSegment.match(FILE_EXTENSION_REGEX);
27326
+ return ((_b = extensionMatch === null || extensionMatch === void 0 ? void 0 : extensionMatch[1]) === null || _b === void 0 ? void 0 : _b.toLowerCase()) || null;
27327
+ }
27328
+ /**
27329
+ * Creates a source label when no explicit title is available.
27330
+ *
27331
+ * @private utility of `<Chat/>` citation rendering
27332
+ */
27333
+ function createCitationSourceFallbackLabel(options) {
27334
+ if (options.isRawTechnicalSource) {
27335
+ return ((options.targetUrl ? createCitationUrlSnippet(options.targetUrl) : null) ||
27336
+ createCitationSourceSignatureFallbackLabel({
27337
+ kind: options.kind,
27338
+ ...(options.imageFormat ? { imageFormat: options.imageFormat } : {}),
27339
+ }));
27340
+ }
27341
+ const authoredFileLabel = createAuthoredFileCitationLabel(options.source, options.extension, options.kind);
27342
+ if (authoredFileLabel && !isCitationSourceUrl(options.source)) {
27343
+ return authoredFileLabel;
27344
+ }
27345
+ if (options.targetUrl && isFileLikeCitationKind(options.kind)) {
27346
+ return (createCitationUrlSnippet(options.targetUrl) ||
27347
+ authoredFileLabel ||
27348
+ SOURCE_FALLBACK_LABEL_BY_KIND[options.kind]);
27349
+ }
27350
+ if (options.kind === 'plain-text') {
27351
+ return createPlainTextCitationLabel(options.source);
27352
+ }
27353
+ if (options.targetUrl) {
27354
+ return createReadableCitationSourceDisplayLabel(options.targetUrl);
27355
+ }
27356
+ return createReadableCitationSourceDisplayLabel(options.source) || SOURCE_FALLBACK_LABEL_BY_KIND[options.kind];
27357
+ }
27358
+ /**
27359
+ * Creates a readable label for an authored filename/path source.
27360
+ *
27361
+ * @private utility of `<Chat/>` citation rendering
27362
+ */
27363
+ function createAuthoredFileCitationLabel(source, extension, kind) {
27364
+ if (!extension || kind === 'website' || kind === 'plain-text') {
27365
+ return null;
27366
+ }
27367
+ const filename = extractFilenameCandidate(source);
27368
+ if (!filename) {
27369
+ return null;
27370
+ }
27371
+ return normalizeCitationDisplayLabel(filename.replace(FILENAME_SEPARATOR_REGEX, ' '));
27372
+ }
27373
+ /**
27374
+ * Creates a compact label for inline text citations.
27375
+ *
27376
+ * @private utility of `<Chat/>` citation rendering
27377
+ */
27378
+ function createPlainTextCitationLabel(source) {
27379
+ const collapsed = collapseWhitespace(source.trim());
27380
+ if (collapsed.length <= TEXT_LABEL_LENGTH) {
27381
+ return collapsed;
27382
+ }
27383
+ return collapsed.slice(0, TEXT_LABEL_LENGTH) + LABEL_ELLIPSIS;
27384
+ }
27385
+ /**
27386
+ * Checks whether a source kind should be represented as a file URL snippet when URL-backed.
27387
+ *
27388
+ * @private utility of `<Chat/>` citation rendering
27389
+ */
27390
+ function isFileLikeCitationKind(kind) {
27391
+ return kind !== 'plain-text' && kind !== 'website';
27392
+ }
26999
27393
  /**
27000
27394
  * Extracts a readable candidate from a URL path.
27001
27395
  *
@@ -27010,13 +27404,287 @@ function getUrlLabelCandidate(url) {
27010
27404
  if (!lastPathSegment) {
27011
27405
  return null;
27012
27406
  }
27407
+ return simplifyKnowledgeLabel(decodeUriComponentSafe(lastPathSegment));
27408
+ }
27409
+ /**
27410
+ * Extracts a filename candidate from a URL, path, or filename.
27411
+ *
27412
+ * @private utility of `<Chat/>` citation rendering
27413
+ */
27414
+ function extractFilenameCandidate(value) {
27415
+ const parsedUrl = parseCitationUrl(value);
27416
+ const source = parsedUrl ? parsedUrl.pathname : value;
27417
+ const filename = stripQueryAndHash(source).split(/[\\/]/).filter(Boolean).pop();
27418
+ return filename ? decodeUriComponentSafe(filename) : null;
27419
+ }
27420
+ /**
27421
+ * Removes query-string and hash fragments from URL-like tails.
27422
+ *
27423
+ * @param value - URL/path tail.
27424
+ * @returns Cleaned value without query/hash.
27425
+ *
27426
+ * @private utility of `<Chat/>` citation rendering
27427
+ */
27428
+ function stripQueryAndHash(value) {
27429
+ const queryIndex = value.indexOf('?');
27430
+ const hashIndex = value.indexOf('#');
27431
+ const cutIndexCandidates = [queryIndex, hashIndex].filter((index) => index >= 0);
27432
+ if (cutIndexCandidates.length === 0) {
27433
+ return value;
27434
+ }
27435
+ const firstCutIndex = Math.min(...cutIndexCandidates);
27436
+ return value.slice(0, firstCutIndex);
27437
+ }
27438
+ /**
27439
+ * Checks whether raw source text looks like JSON content.
27440
+ *
27441
+ * @private utility of `<Chat/>` citation rendering
27442
+ */
27443
+ function isJsonLikeCitationSource(source) {
27444
+ const trimmed = source.trim();
27445
+ return ((trimmed.startsWith('{') && (trimmed.includes('":') || trimmed.endsWith('}'))) ||
27446
+ (trimmed.startsWith('[') && (trimmed.includes('":') || trimmed.endsWith(']'))));
27447
+ }
27448
+ /**
27449
+ * Finds the first useful URL in JSON-like citation source text.
27450
+ *
27451
+ * @private utility of `<Chat/>` citation rendering
27452
+ */
27453
+ function resolveCitationUrlFromJsonSource(source) {
27454
+ if (source.length > MAX_JSON_SOURCE_PARSE_LENGTH) {
27455
+ return null;
27456
+ }
27457
+ try {
27458
+ return findCitationUrlInJsonValue(JSON.parse(source), 0);
27459
+ }
27460
+ catch (_a) {
27461
+ return null;
27462
+ }
27463
+ }
27464
+ /**
27465
+ * Recursively finds a URL in parsed JSON citation metadata.
27466
+ *
27467
+ * @private utility of `<Chat/>` citation rendering
27468
+ */
27469
+ function findCitationUrlInJsonValue(value, depth) {
27470
+ var _a, _b;
27471
+ if (depth > MAX_JSON_URL_SCAN_DEPTH || value === null) {
27472
+ return null;
27473
+ }
27474
+ if (typeof value === 'string') {
27475
+ return ((_a = parseCitationUrl(value)) === null || _a === void 0 ? void 0 : _a.href) || null;
27476
+ }
27477
+ if (Array.isArray(value)) {
27478
+ for (const item of value.slice(0, MAX_JSON_ARRAY_ITEMS_TO_SCAN)) {
27479
+ const url = findCitationUrlInJsonValue(item, depth + 1);
27480
+ if (url) {
27481
+ return url;
27482
+ }
27483
+ }
27484
+ return null;
27485
+ }
27486
+ if (typeof value !== 'object') {
27487
+ return null;
27488
+ }
27489
+ const record = value;
27490
+ for (const fieldName of JSON_URL_FIELD_NAMES) {
27491
+ const fieldValue = record[fieldName];
27492
+ if (typeof fieldValue === 'string') {
27493
+ const url = ((_b = parseCitationUrl(fieldValue)) === null || _b === void 0 ? void 0 : _b.href) || null;
27494
+ if (url) {
27495
+ return url;
27496
+ }
27497
+ }
27498
+ }
27499
+ for (const fieldValue of Object.values(record)) {
27500
+ const url = findCitationUrlInJsonValue(fieldValue, depth + 1);
27501
+ if (url) {
27502
+ return url;
27503
+ }
27504
+ }
27505
+ return null;
27506
+ }
27507
+ /**
27508
+ * Resolves a known image format from an extension.
27509
+ *
27510
+ * @private utility of `<Chat/>` citation rendering
27511
+ */
27512
+ function resolveImageFormatFromExtension(extension) {
27513
+ return extension ? IMAGE_FORMAT_BY_EXTENSION[extension.toLowerCase()] : undefined;
27514
+ }
27515
+ /**
27516
+ * Resolves image signatures from decoded binary-like text.
27517
+ *
27518
+ * @private utility of `<Chat/>` citation rendering
27519
+ */
27520
+ function resolveImageSignatureFromText(source) {
27521
+ const signature = source.slice(0, BINARY_SIGNATURE_LENGTH);
27522
+ const lowerSignature = signature.toLowerCase();
27523
+ if (signature.startsWith('\u0089PNG') || lowerSignature.includes('png')) {
27524
+ return { kind: 'image', imageFormat: 'png' };
27525
+ }
27526
+ if (signature.startsWith('\u00ff\u00d8\u00ff') ||
27527
+ lowerSignature.includes(JPEG_FILE_INTERCHANGE_MARKER) ||
27528
+ lowerSignature.includes(JPEG_EXCHANGEABLE_IMAGE_MARKER)) {
27529
+ return { kind: 'image', imageFormat: 'jpeg' };
27530
+ }
27531
+ if (signature.startsWith('GIF87a') || signature.startsWith('GIF89a')) {
27532
+ return { kind: 'image', imageFormat: 'gif' };
27533
+ }
27534
+ if (signature.startsWith('RIFF') && signature.includes('WEBP')) {
27535
+ return { kind: 'image', imageFormat: 'webp' };
27536
+ }
27537
+ if (lowerSignature.startsWith('<svg')) {
27538
+ return { kind: 'image', imageFormat: 'svg' };
27539
+ }
27540
+ return null;
27541
+ }
27542
+ /**
27543
+ * Safely decodes URI-encoded strings.
27544
+ *
27545
+ * @param value - Possibly encoded text.
27546
+ * @returns Decoded text, or original value when decoding fails.
27547
+ *
27548
+ * @private utility of `<Chat/>` citation rendering
27549
+ */
27550
+ function decodeUriComponentSafe(value) {
27013
27551
  try {
27014
- return simplifyKnowledgeLabel(decodeURIComponent(lastPathSegment));
27552
+ return decodeURIComponent(value);
27015
27553
  }
27016
27554
  catch (_a) {
27017
- return simplifyKnowledgeLabel(lastPathSegment);
27555
+ return value;
27018
27556
  }
27019
27557
  }
27558
+
27559
+ /**
27560
+ * Resolves the URL for a citation source by looking up KNOWLEDGE commitments in the agent's source code.
27561
+ *
27562
+ * @param source - The source filename (e.g. "document.pdf")
27563
+ * @param participants - List of chat participants to search in
27564
+ * @returns The resolved URL if found, or null
27565
+ *
27566
+ * @private utility of <Chat/> component
27567
+ */
27568
+ function resolveCitationUrl(source, participants) {
27569
+ // Find the AGENT participant
27570
+ // TODO: [🧠] If there are multiple agents/teammates, we might need to search all of them or know which one generated the message
27571
+ const agent = participants.find((p) => p.name === 'AGENT');
27572
+ if (!agent) {
27573
+ return null;
27574
+ }
27575
+ // First, try to resolve from knowledgeSources array (more reliable for remote agents)
27576
+ if (agent.knowledgeSources && agent.knowledgeSources.length > 0) {
27577
+ for (const knowledgeSource of agent.knowledgeSources) {
27578
+ if (isCitationMatch(source, knowledgeSource.url, knowledgeSource.filename)) {
27579
+ return knowledgeSource.url;
27580
+ }
27581
+ }
27582
+ }
27583
+ // Fallback: Try to resolve from agent source (for local agents or backward compatibility)
27584
+ if (agent.agentSource) {
27585
+ const lines = agent.agentSource.split(/\r?\n/);
27586
+ for (const line of lines) {
27587
+ const trimmed = line.trim();
27588
+ // Note: Check for KNOWLEDGE command (case-sensitive as per commitment definitions)
27589
+ if (trimmed.startsWith('KNOWLEDGE ')) {
27590
+ const content = trimmed.substring('KNOWLEDGE '.length).trim();
27591
+ if (isCitationMatch(source, content)) {
27592
+ return content;
27593
+ }
27594
+ }
27595
+ }
27596
+ }
27597
+ return null;
27598
+ }
27599
+ /**
27600
+ * Helper to tokenize string into alphanumeric parts
27601
+ */
27602
+ function tokenize(text) {
27603
+ return text
27604
+ .toLowerCase()
27605
+ .split(/[^a-z0-9]+/g)
27606
+ .filter((t) => t.length > 0);
27607
+ }
27608
+ /**
27609
+ * Helper to check if citation source matches the candidate filename/url
27610
+ */
27611
+ function isCitationMatch(citationSource, candidateUrl, explicitFilename) {
27612
+ try {
27613
+ const urlPath = candidateUrl.split('?')[0];
27614
+ const decodedPath = decodeURIComponent(urlPath);
27615
+ const filenameFromUrl = decodedPath.split('/').pop() || '';
27616
+ const filename = explicitFilename || filenameFromUrl;
27617
+ // 1. Strict match
27618
+ if (filename === citationSource) {
27619
+ return true;
27620
+ }
27621
+ // 2. Check against URL path end (for when filename extraction might be tricky or citation includes path)
27622
+ if (decodedPath.endsWith('/' + citationSource) || decodedPath === citationSource) {
27623
+ return true;
27624
+ }
27625
+ // 3. Token-based heuristic
27626
+ const sourceTokens = tokenize(citationSource);
27627
+ const filenameTokens = tokenize(filename);
27628
+ if (sourceTokens.length > 0 && sourceTokens.every((token) => filenameTokens.includes(token))) {
27629
+ return true;
27630
+ }
27631
+ }
27632
+ catch (error) {
27633
+ return false;
27634
+ }
27635
+ return false;
27636
+ }
27637
+
27638
+ /**
27639
+ * Returns whether the provided value is a valid HTTP(S) URL.
27640
+ *
27641
+ * @param value - Candidate string to inspect.
27642
+ * @returns True when the value parses as an HTTP or HTTPS URL.
27643
+ *
27644
+ * @private utility of `<Chat/>` citation rendering
27645
+ */
27646
+ function isCitationUrl(value) {
27647
+ return isCitationSourceUrl(value);
27648
+ }
27649
+ /**
27650
+ * Determines whether a citation should be displayed as a text snippet instead of a file/URL.
27651
+ *
27652
+ * @param citation - Parsed citation metadata.
27653
+ * @returns True when the citation looks like inline text instead of a document or URL.
27654
+ *
27655
+ * @private utility of `<Chat/>` citation rendering
27656
+ */
27657
+ function isPlainTextCitation(citation) {
27658
+ return isPlainTextCitationSource(citation);
27659
+ }
27660
+ /**
27661
+ * Builds a label that matches the desired chip/modal title for a citation.
27662
+ *
27663
+ * @param citation - Parsed citation metadata.
27664
+ * @returns The friendly label shown on chips and modal headers.
27665
+ *
27666
+ * @private utility of `<Chat/>` citation rendering
27667
+ */
27668
+ function getCitationLabel(citation) {
27669
+ return resolveCitationSourceDisplay(citation).label;
27670
+ }
27671
+ /**
27672
+ * Resolves the preview URL used inside the citation modal iframe.
27673
+ *
27674
+ * @param citation - Parsed citation metadata.
27675
+ * @param participants - Known chat participants for agent knowledge lookup.
27676
+ * @returns URL string suitable for iframe preview or null when unavailable.
27677
+ *
27678
+ * @private utility of `<Chat/>` citation rendering
27679
+ */
27680
+ function resolveCitationPreviewUrl(citation, participants) {
27681
+ var _a;
27682
+ const trimmed = citation.source.trim();
27683
+ const explicitUrl = ((_a = citation.url) === null || _a === void 0 ? void 0 : _a.trim()) || null;
27684
+ const literalUrl = isCitationUrl(trimmed) ? trimmed : null;
27685
+ const knowledgeUrl = resolveCitationUrl(trimmed, participants);
27686
+ return explicitUrl || literalUrl || knowledgeUrl || null;
27687
+ }
27020
27688
  // TODO: [💞] Spread into multiple files
27021
27689
 
27022
27690
  /**
@@ -27194,6 +27862,10 @@ function parseCitationMarkersFromContent(content) {
27194
27862
  * Default class name used for rendered citation references outside of CSS modules.
27195
27863
  */
27196
27864
  const DEFAULT_CITATION_REFERENCE_CLASS_NAME = 'citationRef';
27865
+ /**
27866
+ * Default class name used for rendered inline reference chips outside of CSS modules.
27867
+ */
27868
+ const DEFAULT_INLINE_REFERENCE_CLASS_NAME = 'inlineReferenceChip';
27197
27869
  /**
27198
27870
  * Browser stylesheet id used when KaTeX output is rendered in a live chat component.
27199
27871
  */
@@ -27315,12 +27987,28 @@ const MARKDOWN_SANITIZER_URL_ATTRIBUTES = ['href', 'src'];
27315
27987
  * @private utility of `renderMarkdown`
27316
27988
  */
27317
27989
  const MARKDOWN_SANITIZER_ALLOWED_PROTOCOLS = new Set(['http', 'https', 'mailto', 'tel']);
27990
+ /**
27991
+ * Attribute marking a new-tab action generated for an inline-reference menu.
27992
+ *
27993
+ * @private utility of `renderMarkdown`
27994
+ */
27995
+ const INLINE_REFERENCE_MENU_OPTION_MARKER_ATTRIBUTE = 'data-promptbook-inline-reference-menu-option';
27318
27996
  /**
27319
27997
  * Internal `data-*` attributes that Promptbook injects into rendered markdown and must survive sanitization.
27320
27998
  *
27321
27999
  * @private utility of `renderMarkdown`
27322
28000
  */
27323
- const MARKDOWN_SANITIZER_ALLOWED_DATA_ATTRIBUTES = new Set(['data-citation-footnote', 'data-chat-progress-marker']);
28001
+ const MARKDOWN_SANITIZER_ALLOWED_DATA_ATTRIBUTES = new Set([
28002
+ 'data-citation-footnote',
28003
+ 'data-chat-progress-marker',
28004
+ INLINE_REFERENCE_MENU_OPTION_MARKER_ATTRIBUTE,
28005
+ ]);
28006
+ /**
28007
+ * Link target that remains safe to preserve in sanitized markdown.
28008
+ *
28009
+ * @private utility of `renderMarkdown`
28010
+ */
28011
+ const MARKDOWN_SANITIZER_NEW_TAB_TARGET = '_blank';
27324
28012
  /**
27325
28013
  * Highest ASCII control character code that should be stripped from sanitized URLs.
27326
28014
  *
@@ -27399,6 +28087,12 @@ const DETAILS_PLACEHOLDER_REGEX = new RegExp(`${DETAILS_PLACEHOLDER_PREFIX}(\\d+
27399
28087
  * Matches a Showdown-wrapped placeholder such as `<p>@@PROMPTBOOK_DETAILS_PLACEHOLDER__0__</p>`.
27400
28088
  */
27401
28089
  const DETAILS_PLACEHOLDER_WRAPPED_REGEX = new RegExp(`<p>\\s*(${DETAILS_PLACEHOLDER_PREFIX}\\d+__)\\s*<\\/p>`, 'g');
28090
+ /**
28091
+ * Pattern matching inline `[[reference]]` chips in markdown text.
28092
+ *
28093
+ * @private utility of `renderMarkdown`
28094
+ */
28095
+ const INLINE_REFERENCE_REGEX = /\[\[([^\]\r\n]+?)\]\]/g;
27402
28096
  /**
27403
28097
  * Collection of math delimiter definitions.
27404
28098
  */
@@ -27451,10 +28145,15 @@ function isAllowedSanitizedUrl(value) {
27451
28145
  * @private utility of `renderMarkdown`
27452
28146
  */
27453
28147
  function registerMarkdownSanitizerHooks(markdownSanitizer) {
27454
- markdownSanitizer.addHook('uponSanitizeAttribute', (_currentNode, hookEvent) => {
28148
+ markdownSanitizer.addHook('uponSanitizeAttribute', (currentNode, hookEvent) => {
27455
28149
  if (MARKDOWN_SANITIZER_ALLOWED_DATA_ATTRIBUTES.has(hookEvent.attrName)) {
27456
28150
  hookEvent.forceKeepAttr = true;
27457
28151
  }
28152
+ if (hookEvent.attrName === 'target' &&
28153
+ hookEvent.attrValue === MARKDOWN_SANITIZER_NEW_TAB_TARGET &&
28154
+ currentNode.hasAttribute(INLINE_REFERENCE_MENU_OPTION_MARKER_ATTRIBUTE)) {
28155
+ hookEvent.forceKeepAttr = true;
28156
+ }
27458
28157
  });
27459
28158
  markdownSanitizer.addHook('afterSanitizeAttributes', (currentNode) => {
27460
28159
  if (!currentNode || currentNode.nodeType !== 1) {
@@ -27467,7 +28166,8 @@ function registerMarkdownSanitizerHooks(markdownSanitizer) {
27467
28166
  currentElement.removeAttribute(attributeName);
27468
28167
  }
27469
28168
  }
27470
- if (currentElement.tagName === 'A' && currentElement.getAttribute('target') === '_blank') {
28169
+ if (currentElement.tagName === 'A' &&
28170
+ currentElement.getAttribute('target') === MARKDOWN_SANITIZER_NEW_TAB_TARGET) {
27471
28171
  currentElement.setAttribute('rel', 'noopener noreferrer');
27472
28172
  }
27473
28173
  });
@@ -27764,6 +28464,120 @@ function escapeHtml$2(value) {
27764
28464
  return entities[char] || char;
27765
28465
  });
27766
28466
  }
28467
+ /**
28468
+ * Normalizes inline reference keys for stable matching.
28469
+ *
28470
+ * @param value - Raw reference key.
28471
+ * @returns Trimmed case-insensitive key.
28472
+ *
28473
+ * @private utility of `renderMarkdown`
28474
+ */
28475
+ function normalizeMarkdownInlineReferenceKey(value) {
28476
+ return value.trim().toLowerCase();
28477
+ }
28478
+ /**
28479
+ * Builds a lookup of inline markdown references keyed by the authored `[[reference]]` text.
28480
+ *
28481
+ * @param references - References available to this markdown render.
28482
+ * @returns Reference lookup map.
28483
+ *
28484
+ * @private utility of `renderMarkdown`
28485
+ */
28486
+ function createMarkdownInlineReferenceByKey(references) {
28487
+ const referenceByKey = new Map();
28488
+ for (const reference of references) {
28489
+ const normalizedReference = normalizeMarkdownInlineReferenceKey(reference.reference);
28490
+ if (!normalizedReference || referenceByKey.has(normalizedReference)) {
28491
+ continue;
28492
+ }
28493
+ referenceByKey.set(normalizedReference, reference);
28494
+ }
28495
+ return referenceByKey;
28496
+ }
28497
+ /**
28498
+ * Renders one inline reference as raw HTML that is sanitized by the shared markdown sanitizer.
28499
+ *
28500
+ * @param reference - Resolved inline reference.
28501
+ * @param className - CSS class applied to the generated link.
28502
+ * @returns HTML anchor markup.
28503
+ *
28504
+ * @private utility of `renderMarkdown`
28505
+ */
28506
+ function renderMarkdownInlineReferenceHtml(reference, className) {
28507
+ if (reference.menu) {
28508
+ return renderMarkdownInlineReferenceMenuHtml(reference, className);
28509
+ }
28510
+ const escapedClassName = escapeHtml$2(className);
28511
+ const escapedHref = escapeHtml$2(reference.href);
28512
+ const escapedLabel = escapeHtml$2(reference.label);
28513
+ const escapedTitle = escapeHtml$2(reference.title || reference.label);
28514
+ return `<a class="${escapedClassName}" href="${escapedHref}" title="${escapedTitle}">${escapedLabel}</a>`;
28515
+ }
28516
+ /**
28517
+ * Renders one inline reference with an expandable menu as raw HTML sanitized by the markdown sanitizer.
28518
+ *
28519
+ * @param reference - Resolved inline reference with menu data.
28520
+ * @param className - CSS class applied to the generated reference chip.
28521
+ * @returns HTML details markup.
28522
+ *
28523
+ * @private utility of `renderMarkdown`
28524
+ */
28525
+ function renderMarkdownInlineReferenceMenuHtml(reference, className) {
28526
+ const menu = reference.menu;
28527
+ if (!menu) {
28528
+ return renderMarkdownInlineReferenceHtml({ ...reference, menu: undefined }, className);
28529
+ }
28530
+ const escapedClassName = escapeHtml$2(className);
28531
+ const escapedLabel = escapeHtml$2(reference.label);
28532
+ const escapedTitle = escapeHtml$2(reference.title || reference.label);
28533
+ const escapedStatusLabel = escapeHtml$2(menu.status.label);
28534
+ const statusClassName = menu.status.isActive
28535
+ ? 'inlineReferenceMenuStatus inlineReferenceMenuStatus--active'
28536
+ : 'inlineReferenceMenuStatus';
28537
+ const optionsHtml = menu.options.map((option) => renderMarkdownInlineReferenceMenuOptionHtml(option)).join('');
28538
+ return `<details class="${escapedClassName}" title="${escapedTitle}"><summary><span>${escapedLabel}</span><span class="${statusClassName}" title="${escapedStatusLabel}"></span></summary><div><span class="${statusClassName}">${escapedStatusLabel}</span>${optionsHtml}</div></details>`;
28539
+ }
28540
+ /**
28541
+ * Renders one option in an expandable markdown inline reference menu.
28542
+ *
28543
+ * @param option - Menu option definition.
28544
+ * @returns HTML anchor or disabled label markup.
28545
+ *
28546
+ * @private utility of `renderMarkdown`
28547
+ */
28548
+ function renderMarkdownInlineReferenceMenuOptionHtml(option) {
28549
+ const escapedLabel = escapeHtml$2(option.label);
28550
+ const escapedTitle = escapeHtml$2(option.title || option.label);
28551
+ if (option.href === null) {
28552
+ return `<span class="inlineReferenceMenuOption inlineReferenceMenuOption--disabled" title="${escapedTitle}">${escapedLabel}</span>`;
28553
+ }
28554
+ const escapedHref = escapeHtml$2(option.href);
28555
+ return `<a ${INLINE_REFERENCE_MENU_OPTION_MARKER_ATTRIBUTE} class="inlineReferenceMenuOption" href="${escapedHref}" title="${escapedTitle}" target="${MARKDOWN_SANITIZER_NEW_TAB_TARGET}" rel="noopener noreferrer">${escapedLabel}</a>`;
28556
+ }
28557
+ /**
28558
+ * Replaces known `[[reference]]` tokens with link chips while leaving unknown tokens unchanged.
28559
+ *
28560
+ * @param markdown - Markdown content after code masking.
28561
+ * @param options - Markdown render options.
28562
+ * @returns Markdown with known inline references rendered as HTML anchors.
28563
+ *
28564
+ * @private utility of `renderMarkdown`
28565
+ */
28566
+ function applyMarkdownInlineReferences(markdown, options) {
28567
+ const references = options === null || options === void 0 ? void 0 : options.inlineReferences;
28568
+ const className = (options === null || options === void 0 ? void 0 : options.inlineReferenceClassName) || DEFAULT_INLINE_REFERENCE_CLASS_NAME;
28569
+ if (!references || references.length === 0) {
28570
+ return markdown;
28571
+ }
28572
+ const referenceByKey = createMarkdownInlineReferenceByKey(references);
28573
+ if (referenceByKey.size === 0) {
28574
+ return markdown;
28575
+ }
28576
+ return markdown.replace(INLINE_REFERENCE_REGEX, (match, rawReference) => {
28577
+ const reference = referenceByKey.get(normalizeMarkdownInlineReferenceKey(rawReference));
28578
+ return reference ? renderMarkdownInlineReferenceHtml(reference, className) : match;
28579
+ });
28580
+ }
27767
28581
  /**
27768
28582
  * Loads KaTeX CSS in browser environments that need to display math output.
27769
28583
  *
@@ -27801,7 +28615,10 @@ function renderMarkdown(markdown, options) {
27801
28615
  try {
27802
28616
  const normalizedMarkdown = normalizeMarkdownSublists(markdown);
27803
28617
  const { masked: maskedMarkdown, restore: restoreDetails } = maskDetailsBlocks(normalizedMarkdown);
27804
- const processedMarkdown = renderMathInMarkdown(maskedMarkdown);
28618
+ const { masked: codeMaskedMarkdown, restore: restoreCode } = maskMarkdownCodeSegments(maskedMarkdown);
28619
+ const referencedMarkdown = applyMarkdownInlineReferences(codeMaskedMarkdown, options);
28620
+ const inlineReferenceMarkdown = restoreCode(referencedMarkdown);
28621
+ const processedMarkdown = renderMathInMarkdown(inlineReferenceMarkdown);
27805
28622
  const html = converter.makeHtml(processedMarkdown);
27806
28623
  registerKatexStylesheet(html);
27807
28624
  const restoredHtml = restoreDetails(html);
@@ -29757,6 +30574,12 @@ function CloseIcon() {
29757
30574
  return (jsx("svg", { width: "1em", height: "1em", viewBox: "0 0 24 24", fill: "none", xmlns: "http://www.w3.org/2000/svg", "aria-hidden": "true", children: jsx("path", { d: "M18 6L6 18M6 6l12 12", stroke: "currentColor", strokeWidth: "2", strokeLinecap: "round", strokeLinejoin: "round" }) }));
29758
30575
  }
29759
30576
 
30577
+ /**
30578
+ * Cache of resolved citation labels keyed by stable citation metadata.
30579
+ *
30580
+ * @private hook constant of `<Chat/>`
30581
+ */
30582
+ const RESOLVED_CITATION_LABELS_BY_KEY = new Map();
29760
30583
  /**
29761
30584
  * Creates a stable key for one citation label lookup.
29762
30585
  *
@@ -29768,6 +30591,67 @@ function CloseIcon() {
29768
30591
  function createCitationLabelLookupKey(citation) {
29769
30592
  return [citation.id, citation.source, citation.url || '', citation.title || '', citation.excerpt || ''].join('\n');
29770
30593
  }
30594
+ /**
30595
+ * Keeps a stable citation object while parent components recreate equivalent citation literals.
30596
+ *
30597
+ * @param citation - Citation metadata from the render tree.
30598
+ * @returns Citation lookup payload.
30599
+ *
30600
+ * @private hook helper of `<Chat/>`
30601
+ */
30602
+ function createCitationLookupPayload(citation) {
30603
+ return {
30604
+ id: citation.id,
30605
+ source: citation.source,
30606
+ url: citation.url,
30607
+ title: citation.title,
30608
+ excerpt: citation.excerpt,
30609
+ };
30610
+ }
30611
+ /**
30612
+ * Normalizes one resolved citation label before storing it.
30613
+ *
30614
+ * @param label - Raw resolver result.
30615
+ * @returns Trimmed label or null.
30616
+ *
30617
+ * @private hook helper of `<Chat/>`
30618
+ */
30619
+ function normalizeResolvedCitationLabel(label) {
30620
+ const normalizedLabel = label === null || label === void 0 ? void 0 : label.trim();
30621
+ return normalizedLabel || null;
30622
+ }
30623
+ /**
30624
+ * Creates and caches resolved label state for one citation key.
30625
+ *
30626
+ * @param citationKey - Stable citation lookup key.
30627
+ * @param label - Raw resolver result.
30628
+ * @returns Label state or null when the resolver did not provide a label.
30629
+ *
30630
+ * @private hook helper of `<Chat/>`
30631
+ */
30632
+ function createResolvedCitationLabelState(citationKey, label) {
30633
+ const normalizedLabel = normalizeResolvedCitationLabel(label);
30634
+ if (!normalizedLabel) {
30635
+ return null;
30636
+ }
30637
+ RESOLVED_CITATION_LABELS_BY_KEY.set(citationKey, normalizedLabel);
30638
+ return {
30639
+ citationKey,
30640
+ label: normalizedLabel,
30641
+ };
30642
+ }
30643
+ /**
30644
+ * Reads one resolved label from the shared citation-label cache.
30645
+ *
30646
+ * @param citationKey - Stable citation lookup key.
30647
+ * @returns Cached label state or null.
30648
+ *
30649
+ * @private hook helper of `<Chat/>`
30650
+ */
30651
+ function createCachedResolvedCitationLabelState(citationKey) {
30652
+ const cachedLabel = RESOLVED_CITATION_LABELS_BY_KEY.get(citationKey);
30653
+ return cachedLabel ? { citationKey, label: cachedLabel } : null;
30654
+ }
29771
30655
  /**
29772
30656
  * Resolves the best available label for one citation.
29773
30657
  *
@@ -29778,30 +30662,39 @@ function createCitationLabelLookupKey(citation) {
29778
30662
  * @private hook of `<Chat/>`
29779
30663
  */
29780
30664
  function useResolvedCitationLabel(citation, resolveCitationLabel) {
29781
- const fallbackLabel = useMemo(() => getCitationLabel(citation), [citation]);
29782
- const citationKey = useMemo(() => createCitationLabelLookupKey(citation), [citation]);
29783
- const [resolvedLabel, setResolvedLabel] = useState(null);
30665
+ const citationLookupPayload = useMemo(() => createCitationLookupPayload(citation), [citation.excerpt, citation.id, citation.source, citation.title, citation.url]);
30666
+ const fallbackLabel = useMemo(() => getCitationLabel(citationLookupPayload), [citationLookupPayload]);
30667
+ const citationKey = useMemo(() => createCitationLabelLookupKey(citationLookupPayload), [citationLookupPayload]);
30668
+ const [resolvedLabelState, setResolvedLabelState] = useState(() => createCachedResolvedCitationLabelState(citationKey));
29784
30669
  useEffect(() => {
29785
- setResolvedLabel(null);
29786
30670
  if (!resolveCitationLabel) {
29787
30671
  return;
29788
30672
  }
30673
+ const cachedLabelState = createCachedResolvedCitationLabelState(citationKey);
30674
+ if (cachedLabelState) {
30675
+ setResolvedLabelState((currentLabelState) => (currentLabelState === null || currentLabelState === void 0 ? void 0 : currentLabelState.citationKey) === cachedLabelState.citationKey &&
30676
+ currentLabelState.label === cachedLabelState.label
30677
+ ? currentLabelState
30678
+ : cachedLabelState);
30679
+ return;
30680
+ }
29789
30681
  let isCurrent = true;
29790
- Promise.resolve(resolveCitationLabel(citation))
30682
+ Promise.resolve(resolveCitationLabel(citationLookupPayload))
29791
30683
  .then((label) => {
29792
30684
  if (!isCurrent) {
29793
30685
  return;
29794
30686
  }
29795
- const normalizedLabel = label === null || label === void 0 ? void 0 : label.trim();
29796
- if (normalizedLabel) {
29797
- setResolvedLabel(normalizedLabel);
30687
+ const nextLabelState = createResolvedCitationLabelState(citationKey, label);
30688
+ if (nextLabelState) {
30689
+ setResolvedLabelState(nextLabelState);
29798
30690
  }
29799
30691
  })
29800
30692
  .catch(() => undefined);
29801
30693
  return () => {
29802
30694
  isCurrent = false;
29803
30695
  };
29804
- }, [citation, citationKey, resolveCitationLabel]);
30696
+ }, [citationKey, citationLookupPayload, resolveCitationLabel]);
30697
+ const resolvedLabel = resolveCitationLabel && (resolvedLabelState === null || resolvedLabelState === void 0 ? void 0 : resolvedLabelState.citationKey) === citationKey ? resolvedLabelState.label : null;
29805
30698
  return resolvedLabel || fallbackLabel;
29806
30699
  }
29807
30700
 
@@ -29980,8 +30873,8 @@ function CodeBlock({ code, language, className, onCreateAgent, theme = 'LIGHT' }
29980
30873
  } })] }));
29981
30874
  }
29982
30875
 
29983
- var css_248z$5 = ".MarkdownContent-module_MarkdownContent__2JuyX{--md-text-color:var(--chat-md-text-color,inherit);--md-muted-color:var(--chat-md-muted-color,currentColor);--md-link-color:var(--chat-md-link-color,#2563eb);--md-heading-color:var(--chat-heading-text-color,var(--md-text-color));--md-heading-font-family:var(\n --chat-md-heading-font-family,var(--font-poppins,\"Poppins\",system-ui,-apple-system,sans-serif)\n );--md-body-font-family:var(\n --chat-md-body-font-family,var(--font-poppins,\"Poppins\",system-ui,-apple-system,sans-serif)\n );--md-code-font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",monospace;--md-inline-code-bg:var(--chat-md-inline-code-bg,rgba(15,23,42,.08));--md-inline-code-border:var(--chat-md-inline-code-border,rgba(15,23,42,.12));--md-inline-code-color:var(--chat-md-inline-code-color,var(--md-text-color));--md-blockquote-bg:var(--chat-md-blockquote-bg,rgba(248,250,252,.92));--md-blockquote-border:var(--chat-md-blockquote-border,rgba(59,130,246,.35));--md-table-bg:var(--chat-md-table-bg,rgba(248,250,252,.92));--md-table-row-alt-bg:var(--chat-md-table-row-alt-bg,rgba(241,245,249,.9));--md-table-head-bg:var(--chat-md-table-head-bg,rgba(226,232,240,.95));--md-table-border:var(--chat-md-table-border,rgba(148,163,184,.36));--md-citation-bg:var(--chat-md-citation-bg,rgba(59,130,246,.14));--md-citation-color:var(--chat-md-citation-color,#1d4ed8);color:var(--md-text-color);font-family:var(--md-body-font-family);font-size:inherit;letter-spacing:.002em;line-height:1.65}.MarkdownContent-module_MarkdownContent__2JuyX>:first-child{margin-top:0!important}.MarkdownContent-module_MarkdownContent__2JuyX>:last-child{margin-bottom:0!important}.MarkdownContent-module_MarkdownContent__2JuyX :is(h1,h2,h3,h4,h5,h6){text-wrap:balance;color:var(--md-heading-color);font-family:var(--md-heading-font-family);font-weight:600;letter-spacing:.01em;line-height:1.24;margin:1.4em 0 .55em;position:relative}.MarkdownContent-module_MarkdownContent__2JuyX h1{font-size:1.52rem}.MarkdownContent-module_MarkdownContent__2JuyX h2{font-size:1.4rem}.MarkdownContent-module_MarkdownContent__2JuyX h3{font-size:1.26rem}.MarkdownContent-module_MarkdownContent__2JuyX h4{font-size:1.14rem}.MarkdownContent-module_MarkdownContent__2JuyX h5{font-size:1.04rem}.MarkdownContent-module_MarkdownContent__2JuyX h6{font-size:.98rem}.MarkdownContent-module_MarkdownContent__2JuyX p{text-wrap:pretty;margin:0 0 .9em}.MarkdownContent-module_MarkdownContent__2JuyX p:empty{display:none}.MarkdownContent-module_MarkdownContent__2JuyX :is(ul,ol){display:grid;gap:.35em;margin:.65em 0 1em;padding-inline-start:1.35rem}.MarkdownContent-module_MarkdownContent__2JuyX ul{list-style:disc}.MarkdownContent-module_MarkdownContent__2JuyX ol{list-style:decimal}.MarkdownContent-module_MarkdownContent__2JuyX li{line-height:1.58}.MarkdownContent-module_MarkdownContent__2JuyX li>:is(ul,ol){margin-bottom:0;margin-top:.45em}.MarkdownContent-module_MarkdownContent__2JuyX ul:has(>li>[data-chat-progress-marker]){list-style:none;padding-inline-start:0}.MarkdownContent-module_MarkdownContent__2JuyX ul:has(>li>[data-chat-progress-marker])>li{list-style:none}.MarkdownContent-module_MarkdownContent__2JuyX [data-chat-progress-marker]{border-radius:999px;color:var(--md-link-color);display:inline-flex;height:1rem;margin-right:.58rem;transform-origin:center;vertical-align:text-bottom;width:1rem}.MarkdownContent-module_MarkdownContent__2JuyX [data-chat-progress-marker=pending]{animation:MarkdownContent-module_chatProgressMarkerSpin__TpoKr .85s linear infinite;border:2px solid color-mix(in srgb,currentColor 22%,transparent);border-top-color:currentcolor;box-sizing:border-box}.MarkdownContent-module_MarkdownContent__2JuyX [data-chat-progress-marker=completed]{align-items:center;background:color-mix(in srgb,currentColor 12%,transparent);border:2px solid;box-sizing:border-box;justify-content:center}.MarkdownContent-module_MarkdownContent__2JuyX [data-chat-progress-marker=completed]:before{border-bottom:2px solid;border-right:2px solid;box-sizing:border-box;content:\"\";display:block;height:.5rem;margin-top:-.06rem;transform:rotate(45deg);width:.26rem}@keyframes MarkdownContent-module_chatProgressMarkerSpin__TpoKr{to{transform:rotate(1turn)}}.MarkdownContent-module_MarkdownContent__2JuyX a{color:var(--md-link-color);text-decoration-color:currentColor;text-decoration-line:underline;text-decoration-thickness:1.4px;text-underline-offset:.16em;transition:opacity .2s ease,text-decoration-thickness .2s ease}.MarkdownContent-module_MarkdownContent__2JuyX a:focus-visible,.MarkdownContent-module_MarkdownContent__2JuyX a:hover{opacity:.92;text-decoration-thickness:2px}.MarkdownContent-module_MarkdownContent__2JuyX img{border-radius:14px;display:block;height:auto;margin:.95em 0;max-width:100%}.MarkdownContent-module_MarkdownContent__2JuyX blockquote,.MarkdownContent-module_MarkdownContent__2JuyX hr,.MarkdownContent-module_MarkdownContent__2JuyX pre,.MarkdownContent-module_MarkdownContent__2JuyX table{margin:.95em 0}.MarkdownContent-module_MarkdownContent__2JuyX pre{background:transparent;border:none;border-radius:12px;box-shadow:none;display:block;overflow:visible;padding:0}.MarkdownContent-module_MarkdownContent__2JuyX blockquote{background:var(--md-blockquote-bg);border:none;border-left:3px solid var(--md-blockquote-border);border-radius:12px;box-shadow:none;color:var(--md-muted-color);display:block;padding:.72em .96em}.MarkdownContent-module_MarkdownContent__2JuyX blockquote>:last-child{margin-bottom:0}.MarkdownContent-module_MarkdownContent__2JuyX code{background:var(--md-inline-code-bg);border:1px solid var(--md-inline-code-border);border-radius:8px;color:var(--md-inline-code-color);font-family:var(--md-code-font-family);font-size:.88em;line-height:1.45;margin:0;padding:.14em .42em;word-break:break-word}.MarkdownContent-module_MarkdownContent__2JuyX pre code{background:none!important;border:none!important;box-shadow:none!important;color:inherit!important;display:block;font-family:inherit!important;font-size:inherit!important;overflow-x:auto;padding:0!important;white-space:pre;word-break:normal}.MarkdownContent-module_MarkdownContent__2JuyX .MarkdownContent-module_chat-code-block__ZffFg{background:#181c23;border:1px solid rgba(148,163,184,.35);border-radius:12px;box-shadow:0 6px 18px rgba(2,6,23,.28);color:#f8fafc;font-family:var(--md-code-font-family);font-size:14px;line-height:1.6;overflow-x:auto}.MarkdownContent-module_MarkdownContent__2JuyX .MarkdownContent-module_chat-code-block__ZffFg code{background:none!important;border:none!important;box-shadow:none!important;color:inherit!important;display:block;font-family:inherit!important;font-size:inherit!important;overflow-x:auto;padding:0!important;white-space:pre;word-break:normal}.MarkdownContent-module_MarkdownContent__2JuyX table{background:var(--md-table-bg);border:1px solid var(--md-table-border);border-collapse:separate;border-radius:12px;border-spacing:0;box-shadow:0 2px 8px rgba(15,23,42,.1);color:inherit;font-size:.93em;overflow:hidden;width:100%}.MarkdownContent-module_MarkdownContent__2JuyX td,.MarkdownContent-module_MarkdownContent__2JuyX th{background:none;border-bottom:1px solid var(--md-table-border);color:inherit;padding:.58em .72em;text-align:left;vertical-align:top}.MarkdownContent-module_MarkdownContent__2JuyX th{background:var(--md-table-head-bg);font-weight:600}.MarkdownContent-module_MarkdownContent__2JuyX tr:last-child td{border-bottom:none}.MarkdownContent-module_MarkdownContent__2JuyX tr:nth-child(2n) td{background:var(--md-table-row-alt-bg)}.MarkdownContent-module_MarkdownContent__2JuyX hr{border:none;border-top:1px solid var(--md-table-border);opacity:.8}.MarkdownContent-module_MarkdownContent__2JuyX details{background:color-mix(in srgb,var(--md-table-bg) 82%,hsla(0,0%,100%,.3) 18%);border:1px solid var(--md-table-border);border-radius:16px;box-shadow:0 8px 22px rgba(15,23,42,.08);margin:.95em 0;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.MarkdownContent-module_MarkdownContent__2JuyX details:focus-within,.MarkdownContent-module_MarkdownContent__2JuyX details:hover{border-color:color-mix(in srgb,var(--md-link-color) 24%,var(--md-table-border) 76%);box-shadow:0 12px 28px rgba(15,23,42,.12)}.MarkdownContent-module_MarkdownContent__2JuyX details>summary{align-items:center;background:linear-gradient(180deg,color-mix(in srgb,var(--md-table-head-bg) 88%,hsla(0,0%,100%,.85) 12%),color-mix(in srgb,var(--md-table-bg) 82%,hsla(0,0%,100%,.7) 18%));color:var(--md-link-color);cursor:pointer;display:flex;font-weight:600;gap:.72rem;list-style:none;padding:.9em 1.05em;transition:background .18s ease,color .18s ease;user-select:none}.MarkdownContent-module_MarkdownContent__2JuyX details>summary:before{border-bottom:2px solid;border-right:2px solid;content:\"\";flex:0 0 auto;height:.62rem;margin-top:-.04rem;opacity:.82;transform:rotate(-45deg);transition:transform .18s ease,opacity .18s ease;width:.62rem}.MarkdownContent-module_MarkdownContent__2JuyX details>summary:focus-visible,.MarkdownContent-module_MarkdownContent__2JuyX details>summary:hover{background:linear-gradient(180deg,color-mix(in srgb,var(--md-table-head-bg) 76%,hsla(0,0%,100%,.95) 24%),color-mix(in srgb,var(--md-table-bg) 74%,hsla(0,0%,100%,.82) 26%))}.MarkdownContent-module_MarkdownContent__2JuyX details>summary:focus-visible{outline:2px solid color-mix(in srgb,var(--md-link-color) 52%,transparent);outline-offset:-2px}.MarkdownContent-module_MarkdownContent__2JuyX details>summary::-webkit-details-marker{display:none}.MarkdownContent-module_MarkdownContent__2JuyX details[open]>summary{border-bottom:1px solid color-mix(in srgb,var(--md-table-border) 88%,transparent)}.MarkdownContent-module_MarkdownContent__2JuyX details[open]>summary:before{opacity:1;transform:rotate(45deg)}.MarkdownContent-module_MarkdownContent__2JuyX details>:not(summary){margin-left:1.05em;margin-right:1.05em}.MarkdownContent-module_MarkdownContent__2JuyX details>summary+*{margin-top:.95em}.MarkdownContent-module_MarkdownContent__2JuyX details>:last-child{margin-bottom:1.05em}.MarkdownContent-module_MarkdownContent__2JuyX strong{font-weight:650}.MarkdownContent-module_MarkdownContent__2JuyX em{font-style:italic}.MarkdownContent-module_citationRef__fKqaT,.MarkdownContent-module_citation__11SMw{align-items:center;background:var(--md-citation-bg);border-radius:999px;color:var(--md-citation-color);display:inline-flex;font-size:.74em;font-weight:700;justify-content:center;line-height:1.45;margin:0 .1em;min-width:1.4em;padding:0 .35em;vertical-align:super}.MarkdownContent-module_MarkdownContent__2JuyX sup[data-citation-footnote]{color:currentColor;display:inline;font-size:.72em;font-weight:700;line-height:1;margin:0 .7em 0 .08em;vertical-align:super}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIk1hcmtkb3duQ29udGVudC5tb2R1bGUuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUNJLGlEQUFtRCxDQUNuRCx3REFBMEQsQ0FDMUQsaURBQW1ELENBQ25ELHNFQUF3RSxDQUN4RTs7S0FHQyxDQUNEOztLQUdDLENBQ0QsbUdBQTBHLENBQzFHLG9FQUEwRSxDQUMxRSw0RUFBa0YsQ0FDbEYsNEVBQThFLENBQzlFLHFFQUEyRSxDQUMzRSw0RUFBa0YsQ0FDbEYsMkRBQWlFLENBQ2pFLDBFQUFnRixDQUNoRixxRUFBMkUsQ0FDM0UsbUVBQXlFLENBQ3pFLGdFQUFzRSxDQUN0RSx5REFBMkQsQ0FFM0QsMEJBQTJCLENBQzNCLHNDQUF1QyxDQUN2QyxpQkFBa0IsQ0FFbEIscUJBQXVCLENBRHZCLGdCQUVKLENBRUEsNERBQ0ksc0JBQ0osQ0FFQSwyREFDSSx5QkFDSixDQUVBLHNFQVFJLGlCQUFrQixDQUxsQiw2QkFBOEIsQ0FDOUIseUNBQTBDLENBQzFDLGVBQWdCLENBRWhCLG9CQUFzQixDQUR0QixnQkFBaUIsQ0FKakIsb0JBQXNCLENBRHRCLGlCQVFKLENBRUEsa0RBQ0ksaUJBQ0osQ0FFQSxrREFDSSxnQkFDSixDQUVBLGtEQUNJLGlCQUNKLENBRUEsa0RBQ0ksaUJBQ0osQ0FFQSxrREFDSSxpQkFDSixDQUVBLGtEQUNJLGdCQUNKLENBRUEsaURBRUksZ0JBQWlCLENBRGpCLGVBRUosQ0FFQSx1REFDSSxZQUNKLENBRUEsMERBR0ksWUFBYSxDQUNiLFNBQVcsQ0FIWCxrQkFBb0IsQ0FDcEIsNEJBR0osQ0FFQSxrREFDSSxlQUNKLENBRUEsa0RBQ0ksa0JBQ0osQ0FFQSxrREFDSSxnQkFDSixDQUVBLDZEQUVJLGVBQWdCLENBRGhCLGdCQUVKLENBRUEsdUZBQ0ksZUFBZ0IsQ0FDaEIsc0JBQ0osQ0FFQSwwRkFDSSxlQUNKLENBRUEsMkVBTUksbUJBQW9CLENBQ3BCLDBCQUEyQixDQU4zQixtQkFBb0IsQ0FFcEIsV0FBWSxDQUNaLG1C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QXFDLENBRHJDLHNCQUFvQyxDQUxwQyxVQUFXLENBR1gsYUFBYyxDQURkLGFBQWUsQ0FFZixrQkFBb0IsQ0FJcEIsV0FBYSxDQURiLHdCQUF5QixDQUV6QixnREFBb0QsQ0FScEQsWUFTSixDQUVBLGtKQUVJLDJLQUtKLENBRUEsNkVBQ0kseUVBQTRFLENBQzVFLG1CQUNKLENBRUEsdUZBQ0ksWUFDSixDQUVBLHFFQUNJLGlGQUNKLENBRUEsNEVBRUksU0FBVSxDQURWLHVCQUVKLENBRUEscUVBQ0ksa0JBQW1CLENBQ25CLG1CQUNKLENBRUEsaUVBQ0ksZ0JBQ0osQ0FFQSxtRUFDSSxvQkFDSixDQUVBLHNEQUNJLGVBQ0osQ0FFQSxrREFDSSxpQkFDSixDQWtCQSxtRkFFSSxrQkFBbUIsQ0FXbkIsZ0NBQWlDLENBTmpDLG1CQUFvQixDQUtwQiw4QkFBK0IsQ0FYL0IsbUJBQW9CLENBT3BCLGVBQWlCLENBQ2pCLGVBQWdCLENBTmhCLHNCQUF1QixDQU92QixnQkFBaUIsQ0FMakIsYUFBZSxDQURmLGVBQWdCLENBRWhCLGVBQWlCLENBS2pCLG9CQUdKLENBRUEsMkVBT0ksa0JBQW1CLENBTm5CLGNBQWUsQ0FFZixlQUFpQixDQUNqQixlQUFnQixDQUNoQixhQUFjLENBSGQscUJBQXdCLENBSXhCLG9CQUVKIiwiZmlsZSI6Ik1hcmtkb3duQ29udGVudC5tb2R1bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLk1hcmtkb3duQ29udGVudCB7XG4gICAgLS1tZC10ZXh0LWNvbG9yOiB2YXIoLS1jaGF0LW1kLXRleHQtY29sb3IsIGluaGVyaXQpO1xuICAgIC0tbWQtbXV0ZWQtY29sb3I6IHZhcigtLWNoYXQtbWQtbXV0ZWQtY29sb3IsIGN1cnJlbnRDb2xvcik7XG4gICAgLS1tZC1saW5rLWNvbG9yOiB2YXIoLS1jaGF0LW1kLWxpbmstY29sb3IsICMyNTYzZWIpO1xuICAgIC0tbWQtaGVhZGluZy1jb2xvcjogdmFyKC0tY2hhdC1oZWFkaW5nLXRleHQtY29sb3IsIHZhcigtLW1kLXRleHQtY29sb3IpKTtcbiAgICAtLW1kLWhlYWRpbmctZm9udC1mYW1pbHk6IHZhcihcbiAgICAgICAgLS1jaGF0LW1kLWhlYWRpbmctZm9udC1mYW1pbHksXG4gICAgICAgIHZhcigtLWZvbnQtcG9wcGlucywgJ1BvcHBpbnMnLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWYpXG4gICAgKTtcbiAgICAtLW1kLWJvZHktZm9udC1mYW1pbHk6IHZhcihcbiAgICAgICAgLS1jaGF0LW1kLWJvZHktZm9udC1mYW1pbHksXG4gICAgICAgIHZhcigtLWZvbnQtcG9wcGlucywgJ1BvcHBpbnMnLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWYpXG4gICAgKTtcbiAgICAtLW1kLWNvZGUtZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgbW9ub3NwYWNlO1xuICAgIC0tbWQtaW5saW5lLWNvZGUtYmc6IHZhcigtLWNoYXQtbWQtaW5saW5lLWNvZGUtYmcsIHJnYmEoMTUsIDIzLCA0MiwgMC4wOCkpO1xuICAgIC0tbWQtaW5saW5lLWNvZGUtYm9yZGVyOiB2YXIoLS1jaGF0LW1kLWlubGluZS1jb2RlLWJvcmRlciwgcmdiYSgxNSwgMjMsIDQyLCAwLjEyKSk7XG4gICAgLS1tZC1pbmxpbmUtY29kZS1jb2xvcjogdmFyKC0tY2hhdC1tZC1pbmxpbmUtY29kZS1jb2xvciwgdmFyKC0tbWQtdGV4dC1jb2xvcikpO1xuICAgIC0tbWQtYmxvY2txdW90ZS1iZzogdmFyKC0tY2hhdC1tZC1ibG9ja3F1b3RlLWJnLCByZ2JhKDI0OCwgMjUwLCAyNTIsIDAuOTIpKTtcbiAgICAtLW1kLWJsb2NrcXVvdGUtYm9yZGVyOiB2YXIoLS1jaGF0LW1kLWJsb2NrcXVvdGUtYm9yZGVyLCByZ2JhKDU5LCAxMzAsIDI0NiwgMC4zNSkpO1xuICAgIC0tbWQtdGFibGUtYmc6IHZhcigtLWNoYXQtbWQtdGFibGUtYmcsIHJnYmEoMjQ4LCAyNTAsIDI1MiwgMC45MikpO1xuICAgIC0tbWQtdGFibGUtcm93LWFsdC1iZzogdmFyKC0tY2hhdC1tZC10YWJsZS1yb3ctYWx0LWJnLCByZ2JhKDI0MSwgMjQ1LCAyNDksIDAuOSkpO1xuICAgIC0tbWQtdGFibGUtaGVhZC1iZzogdmFyKC0tY2hhdC1tZC10YWJsZS1oZWFkLWJnLCByZ2JhKDIyNiwgMjMyLCAyNDAsIDAuOTUpKTtcbiAgICAtLW1kLXRhYmxlLWJvcmRlcjogdmFyKC0tY2hhdC1tZC10YWJsZS1ib3JkZXIsIHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4zNikpO1xuICAgIC0tbWQtY2l0YXRpb24tYmc6IHZhcigtLWNoYXQtbWQtY2l0YXRpb24tYmcsIHJnYmEoNTksIDEzMCwgMjQ2LCAwLjE0KSk7XG4gICAgLS1tZC1jaXRhdGlvbi1jb2xvcjogdmFyKC0tY2hhdC1tZC1jaXRhdGlvbi1jb2xvciwgIzFkNGVkOCk7XG5cbiAgICBjb2xvcjogdmFyKC0tbWQtdGV4dC1jb2xvcik7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLW1kLWJvZHktZm9udC1mYW1pbHkpO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogMS42NTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMDJlbTtcbn1cblxuLk1hcmtkb3duQ29udGVudCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4uTWFya2Rvd25Db250ZW50ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLk1hcmtkb3duQ29udGVudCA6aXMoaDEsIGgyLCBoMywgaDQsIGg1LCBoNikge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDEuNGVtIDAgMC41NWVtO1xuICAgIGNvbG9yOiB2YXIoLS1tZC1oZWFkaW5nLWNvbG9yKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tbWQtaGVhZGluZy1mb250LWZhbWlseSk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yNDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xuICAgIHRleHQtd3JhcDogYmFsYW5jZTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBoMSB7XG4gICAgZm9udC1zaXplOiAxLjUycmVtO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGgyIHtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBoMyB7XG4gICAgZm9udC1zaXplOiAxLjI2cmVtO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGg0IHtcbiAgICBmb250LXNpemU6IDEuMTRyZW07XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgaDUge1xuICAgIGZvbnQtc2l6ZTogMS4wNHJlbTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBoNiB7XG4gICAgZm9udC1zaXplOiAwLjk4cmVtO1xufVxuXG4uTWFya2Rvd25Db250ZW50IHAge1xuICAgIG1hcmdpbjogMCAwIDAuOWVtO1xuICAgIHRleHQtd3JhcDogcHJldHR5O1xufVxuXG4uTWFya2Rvd25Db250ZW50IHA6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgOmlzKHVsLCBvbCkge1xuICAgIG1hcmdpbjogMC42NWVtIDAgMWVtO1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAxLjM1cmVtO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAwLjM1ZW07XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgdWwge1xuICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgb2wge1xuICAgIGxpc3Qtc3R5bGU6IGRlY2ltYWw7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgbGkge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU4O1xufVxuXG4uTWFya2Rvd25Db250ZW50IGxpID4gOmlzKHVsLCBvbCkge1xuICAgIG1hcmdpbi10b3A6IDAuNDVlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uTWFya2Rvd25Db250ZW50IHVsOmhhcyg+IGxpID4gW2RhdGEtY2hhdC1wcm9ncmVzcy1tYXJrZXJdKSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcbn1cblxuLk1hcmtkb3duQ29udGVudCB1bDpoYXMoPiBsaSA+IFtkYXRhLWNoYXQtcHJvZ3Jlc3MtbWFya2VyXSkgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBbZGF0YS1jaGF0LXByb2dyZXNzLW1hcmtlcl0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGhlaWdodDogMXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNThyZW07XG4gICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGNvbG9yOiB2YXIoLS1tZC1saW5rLWNvbG9yKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgW2RhdGEtY2hhdC1wcm9ncmVzcy1tYXJrZXI9J3BlbmRpbmcnXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgY3VycmVudENvbG9yIDIyJSwgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci10b3AtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICBhbmltYXRpb246IGNoYXRQcm9ncmVzc01hcmtlclNwaW4gMC44NXMgbGluZWFyIGluZmluaXRlO1xufVxuXG4uTWFya2Rvd25Db250ZW50IFtkYXRhLWNoYXQtcHJvZ3Jlc3MtbWFya2VyPSdjb21wbGV0ZWQnXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgY3VycmVudENvbG9yIDEyJSwgdHJhbnNwYXJlbnQpO1xufVxuXG4uTWFya2Rvd25Db250ZW50IFtkYXRhLWNoYXQtcHJvZ3Jlc3MtbWFya2VyPSdjb21wbGV0ZWQnXTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAwLjI2cmVtO1xuICAgIGhlaWdodDogMC41cmVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjA2cmVtO1xuICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgY3VycmVudENvbG9yO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cblxuQGtleWZyYW1lcyBjaGF0UHJvZ3Jlc3NNYXJrZXJTcGluIHtcbiAgICB0byB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuXG4uTWFya2Rvd25Db250ZW50IGEge1xuICAgIGNvbG9yOiB2YXIoLS1tZC1saW5rLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lO1xuICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDEuNHB4O1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4xNmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzIDAuMnMgZWFzZTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBhOmhvdmVyLFxuLk1hcmtkb3duQ29udGVudCBhOmZvY3VzLXZpc2libGUge1xuICAgIG9wYWNpdHk6IDAuOTI7XG4gICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMnB4O1xufVxuXG4uTWFya2Rvd25Db250ZW50IGltZyB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogYXV0bztcbiAgICBib3JkZXItcmFkaXVzOiAxNHB4O1xuICAgIG1hcmdpbjogMC45NWVtIDA7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgcHJlLFxuLk1hcmtkb3duQ29udGVudCBibG9ja3F1b3RlLFxuLk1hcmtkb3duQ29udGVudCB0YWJsZSxcbi5NYXJrZG93bkNvbnRlbnQgaHIge1xuICAgIG1hcmdpbjogMC45NWVtIDA7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgcHJlIHtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3JkZXI6IG5vbmU7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBib3gtc2hhZG93OiBub25lO1xuICAgIGJhY2tncm91bmQ6IHRyYW5zcGFyZW50O1xuICAgIHBhZGRpbmc6IDA7XG4gICAgb3ZlcmZsb3c6IHZpc2libGU7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgYmxvY2txdW90ZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1sZWZ0OiAzcHggc29saWQgdmFyKC0tbWQtYmxvY2txdW90ZS1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tZC1ibG9ja3F1b3RlLWJnKTtcbiAgICBjb2xvcjogdmFyKC0tbWQtbXV0ZWQtY29sb3IpO1xuICAgIHBhZGRpbmc6IDAuNzJlbSAwLjk2ZW07XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgYmxvY2txdW90ZSA+IDpsYXN0LWNoaWxkIHtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGNvZGUge1xuICAgIG1hcmdpbjogMDtcbiAgICBwYWRkaW5nOiAwLjE0ZW0gMC40MmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW1kLWlubGluZS1jb2RlLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogOHB4O1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW1kLWlubGluZS1jb2RlLWJnKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tbWQtY29kZS1mb250LWZhbWlseSk7XG4gICAgZm9udC1zaXplOiAwLjg4ZW07XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgY29sb3I6IHZhcigtLW1kLWlubGluZS1jb2RlLWNvbG9yKTtcbiAgICB3b3JkLWJyZWFrOiBicmVhay13b3JkO1xufVxuXG4uTWFya2Rvd25Db250ZW50IHByZSBjb2RlIHtcbiAgICBiYWNrZ3JvdW5kOiBub25lICFpbXBvcnRhbnQ7XG4gICAgY29sb3I6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICBmb250LWZhbWlseTogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIHBhZGRpbmc6IDAgIWltcG9ydGFudDtcbiAgICBib3JkZXI6IG5vbmUgIWltcG9ydGFudDtcbiAgICBib3gtc2hhZG93OiBub25lICFpbXBvcnRhbnQ7XG4gICAgd2hpdGUtc3BhY2U6IHByZTtcbiAgICB3b3JkLWJyZWFrOiBub3JtYWw7XG4gICAgb3ZlcmZsb3cteDogYXV0bztcbiAgICBkaXNwbGF5OiBibG9jaztcbn1cblxuLk1hcmtkb3duQ29udGVudCAuY2hhdC1jb2RlLWJsb2NrIHtcbiAgICBiYWNrZ3JvdW5kOiAjMTgxYzIzO1xuICAgIGNvbG9yOiAjZjhmYWZjO1xuICAgIGZvbnQtc2l6ZTogMTRweDtcbiAgICBsaW5lLWhlaWdodDogMS42O1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxNDgsIDE2MywgMTg0LCAwLjM1KTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGJveC1zaGFkb3c6IDAgNnB4IDE4cHggcmdiYSgyLCA2LCAyMywgMC4yOCk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLW1kLWNvZGUtZm9udC1mYW1pbHkpO1xufVxuXG4uTWFya2Rvd25Db250ZW50IC5jaGF0LWNvZGUtYmxvY2sgY29kZSB7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgd29yZC1icmVhazogbm9ybWFsO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgdGFibGUge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGJvcmRlci1jb2xsYXBzZTogc2VwYXJhdGU7XG4gICAgYm9yZGVyLXNwYWNpbmc6IDA7XG4gICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tbWQtdGFibGUtYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgYmFja2dyb3VuZDogdmFyKC0tbWQtdGFibGUtYmcpO1xuICAgIGJveC1zaGFkb3c6IDAgMnB4IDhweCByZ2JhKDE1LCAyMywgNDIsIDAuMSk7XG4gICAgZm9udC1zaXplOiAwLjkzZW07XG4gICAgY29sb3I6IGluaGVyaXQ7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgdGgsXG4uTWFya2Rvd25Db250ZW50IHRkIHtcbiAgICBwYWRkaW5nOiAwLjU4ZW0gMC43MmVtO1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCB2YXIoLS1tZC10YWJsZS1ib3JkZXIpO1xuICAgIHRleHQtYWxpZ246IGxlZnQ7XG4gICAgdmVydGljYWwtYWxpZ246IHRvcDtcbiAgICBjb2xvcjogaW5oZXJpdDtcbiAgICBiYWNrZ3JvdW5kOiBub25lO1xufVxuXG4uTWFya2Rvd25Db250ZW50IHRoIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tZC10YWJsZS1oZWFkLWJnKTtcbiAgICBmb250LXdlaWdodDogNjAwO1xufVxuXG4uTWFya2Rvd25Db250ZW50IHRyOmxhc3QtY2hpbGQgdGQge1xuICAgIGJvcmRlci1ib3R0b206IG5vbmU7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgdHI6bnRoLWNoaWxkKGV2ZW4pIHRkIHtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tZC10YWJsZS1yb3ctYWx0LWJnKTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBociB7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci10b3A6IDFweCBzb2xpZCB2YXIoLS1tZC10YWJsZS1ib3JkZXIpO1xuICAgIG9wYWNpdHk6IDAuODtcbn1cblxuLk1hcmtkb3duQ29udGVudCBkZXRhaWxzIHtcbiAgICBtYXJnaW46IDAuOTVlbSAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW1kLXRhYmxlLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogMTZweDtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWQtdGFibGUtYmcpIDgyJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjMpIDE4JSk7XG4gICAgYm94LXNoYWRvdzogMCA4cHggMjJweCByZ2JhKDE1LCAyMywgNDIsIDAuMDgpO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdHJhbnNpdGlvbjogYm9yZGVyLWNvbG9yIDAuMThzIGVhc2UsIGJveC1zaGFkb3cgMC4xOHMgZWFzZSwgdHJhbnNmb3JtIDAuMThzIGVhc2U7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgZGV0YWlsczpob3Zlcixcbi5NYXJrZG93bkNvbnRlbnQgZGV0YWlsczpmb2N1cy13aXRoaW4ge1xuICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1kLWxpbmstY29sb3IpIDI0JSwgdmFyKC0tbWQtdGFibGUtYm9yZGVyKSA3NiUpO1xuICAgIGJveC1zaGFkb3c6IDAgMTJweCAyOHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xMik7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgZGV0YWlscyA+IHN1bW1hcnkge1xuICAgIGRpc3BsYXk6IGZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBnYXA6IDAuNzJyZW07XG4gICAgcGFkZGluZzogMC45ZW0gMS4wNWVtO1xuICAgIGN1cnNvcjogcG9pbnRlcjtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHVzZXItc2VsZWN0OiBub25lO1xuICAgIGNvbG9yOiB2YXIoLS1tZC1saW5rLWNvbG9yKTtcbiAgICBsaXN0LXN0eWxlOiBub25lO1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgMTgwZGVnLFxuICAgICAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWQtdGFibGUtaGVhZC1iZykgODglLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODUpIDEyJSksXG4gICAgICAgIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZC10YWJsZS1iZykgODIlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuNykgMTglKVxuICAgICk7XG4gICAgdHJhbnNpdGlvbjogYmFja2dyb3VuZCAwLjE4cyBlYXNlLCBjb2xvciAwLjE4cyBlYXNlO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGRldGFpbHMgPiBzdW1tYXJ5OjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAwLjYycmVtO1xuICAgIGhlaWdodDogMC42MnJlbTtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBtYXJnaW4tdG9wOiAtMC4wNHJlbTtcbiAgICBib3JkZXItcmlnaHQ6IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgYm9yZGVyLWJvdHRvbTogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSgtNDVkZWcpO1xuICAgIG9wYWNpdHk6IDAuODI7XG4gICAgdHJhbnNpdGlvbjogdHJhbnNmb3JtIDAuMThzIGVhc2UsIG9wYWNpdHkgMC4xOHMgZWFzZTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBkZXRhaWxzID4gc3VtbWFyeTpob3Zlcixcbi5NYXJrZG93bkNvbnRlbnQgZGV0YWlscyA+IHN1bW1hcnk6Zm9jdXMtdmlzaWJsZSB7XG4gICAgYmFja2dyb3VuZDogbGluZWFyLWdyYWRpZW50KFxuICAgICAgICAxODBkZWcsXG4gICAgICAgIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZC10YWJsZS1oZWFkLWJnKSA3NiUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45NSkgMjQlKSxcbiAgICAgICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1kLXRhYmxlLWJnKSA3NCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC44MikgMjYlKVxuICAgICk7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgZGV0YWlscyA+IHN1bW1hcnk6Zm9jdXMtdmlzaWJsZSB7XG4gICAgb3V0bGluZTogMnB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZC1saW5rLWNvbG9yKSA1MiUsIHRyYW5zcGFyZW50KTtcbiAgICBvdXRsaW5lLW9mZnNldDogLTJweDtcbn1cblxuLk1hcmtkb3duQ29udGVudCBkZXRhaWxzID4gc3VtbWFyeTo6LXdlYmtpdC1kZXRhaWxzLW1hcmtlciB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBkZXRhaWxzW29wZW5dID4gc3VtbWFyeSB7XG4gICAgYm9yZGVyLWJvdHRvbTogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZC10YWJsZS1ib3JkZXIpIDg4JSwgdHJhbnNwYXJlbnQpO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGRldGFpbHNbb3Blbl0gPiBzdW1tYXJ5OjpiZWZvcmUge1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGRldGFpbHMgPiA6bm90KHN1bW1hcnkpIHtcbiAgICBtYXJnaW4tbGVmdDogMS4wNWVtO1xuICAgIG1hcmdpbi1yaWdodDogMS4wNWVtO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGRldGFpbHMgPiBzdW1tYXJ5ICsgKiB7XG4gICAgbWFyZ2luLXRvcDogMC45NWVtO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGRldGFpbHMgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMS4wNWVtO1xufVxuXG4uTWFya2Rvd25Db250ZW50IHN0cm9uZyB7XG4gICAgZm9udC13ZWlnaHQ6IDY1MDtcbn1cblxuLk1hcmtkb3duQ29udGVudCBlbSB7XG4gICAgZm9udC1zdHlsZTogaXRhbGljO1xufVxuXG4uY2l0YXRpb24ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiAxLjRlbTtcbiAgICBtYXJnaW46IDAgMC4xZW07XG4gICAgcGFkZGluZzogMCAwLjM1ZW07XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgZm9udC1zaXplOiAwLjc0ZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XG4gICAgY29sb3I6IHZhcigtLW1kLWNpdGF0aW9uLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tZC1jaXRhdGlvbi1iZyk7XG59XG5cbi5jaXRhdGlvblJlZiB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBtaW4td2lkdGg6IDEuNGVtO1xuICAgIG1hcmdpbjogMCAwLjFlbTtcbiAgICBwYWRkaW5nOiAwIDAuMzVlbTtcbiAgICBib3JkZXItcmFkaXVzOiA5OTlweDtcbiAgICBmb250LXNpemU6IDAuNzRlbTtcbiAgICBmb250LXdlaWdodDogNzAwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICAgIHZlcnRpY2FsLWFsaWduOiBzdXBlcjtcbiAgICBjb2xvcjogdmFyKC0tbWQtY2l0YXRpb24tY29sb3IpO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW1kLWNpdGF0aW9uLWJnKTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBzdXBbZGF0YS1jaXRhdGlvbi1mb290bm90ZV0ge1xuICAgIGRpc3BsYXk6IGlubGluZTtcbiAgICBtYXJnaW46IDAgMC43ZW0gMCAwLjA4ZW07XG4gICAgZm9udC1zaXplOiAwLjcyZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XG4gICAgY29sb3I6IGN1cnJlbnRDb2xvcjtcbn1cbiJdfQ== */";
29984
- var styles$5 = {"MarkdownContent":"MarkdownContent-module_MarkdownContent__2JuyX","chatProgressMarkerSpin":"MarkdownContent-module_chatProgressMarkerSpin__TpoKr","chat-code-block":"MarkdownContent-module_chat-code-block__ZffFg","citation":"MarkdownContent-module_citation__11SMw","citationRef":"MarkdownContent-module_citationRef__fKqaT"};
30876
+ var css_248z$5 = ".MarkdownContent-module_MarkdownContent__2JuyX{--md-text-color:var(--chat-md-text-color,inherit);--md-muted-color:var(--chat-md-muted-color,currentColor);--md-link-color:var(--chat-md-link-color,#2563eb);--md-heading-color:var(--chat-heading-text-color,var(--md-text-color));--md-heading-font-family:var(\n --chat-md-heading-font-family,var(--font-poppins,\"Poppins\",system-ui,-apple-system,sans-serif)\n );--md-body-font-family:var(\n --chat-md-body-font-family,var(--font-poppins,\"Poppins\",system-ui,-apple-system,sans-serif)\n );--md-code-font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,\"Liberation Mono\",monospace;--md-inline-code-bg:var(--chat-md-inline-code-bg,rgba(15,23,42,.08));--md-inline-code-border:var(--chat-md-inline-code-border,rgba(15,23,42,.12));--md-inline-code-color:var(--chat-md-inline-code-color,var(--md-text-color));--md-blockquote-bg:var(--chat-md-blockquote-bg,rgba(248,250,252,.92));--md-blockquote-border:var(--chat-md-blockquote-border,rgba(59,130,246,.35));--md-table-bg:var(--chat-md-table-bg,rgba(248,250,252,.92));--md-table-row-alt-bg:var(--chat-md-table-row-alt-bg,rgba(241,245,249,.9));--md-table-head-bg:var(--chat-md-table-head-bg,rgba(226,232,240,.95));--md-table-border:var(--chat-md-table-border,rgba(148,163,184,.36));--md-citation-bg:var(--chat-md-citation-bg,rgba(59,130,246,.14));--md-citation-color:var(--chat-md-citation-color,#1d4ed8);color:var(--md-text-color);font-family:var(--md-body-font-family);font-size:inherit;letter-spacing:.002em;line-height:1.65}.MarkdownContent-module_MarkdownContent__2JuyX>:first-child{margin-top:0!important}.MarkdownContent-module_MarkdownContent__2JuyX>:last-child{margin-bottom:0!important}.MarkdownContent-module_MarkdownContent__2JuyX :is(h1,h2,h3,h4,h5,h6){text-wrap:balance;color:var(--md-heading-color);font-family:var(--md-heading-font-family);font-weight:600;letter-spacing:.01em;line-height:1.24;margin:1.4em 0 .55em;position:relative}.MarkdownContent-module_MarkdownContent__2JuyX h1{font-size:1.52rem}.MarkdownContent-module_MarkdownContent__2JuyX h2{font-size:1.4rem}.MarkdownContent-module_MarkdownContent__2JuyX h3{font-size:1.26rem}.MarkdownContent-module_MarkdownContent__2JuyX h4{font-size:1.14rem}.MarkdownContent-module_MarkdownContent__2JuyX h5{font-size:1.04rem}.MarkdownContent-module_MarkdownContent__2JuyX h6{font-size:.98rem}.MarkdownContent-module_MarkdownContent__2JuyX p{text-wrap:pretty;margin:0 0 .9em}.MarkdownContent-module_MarkdownContent__2JuyX p:empty{display:none}.MarkdownContent-module_MarkdownContent__2JuyX :is(ul,ol){display:grid;gap:.35em;margin:.65em 0 1em;padding-inline-start:1.35rem}.MarkdownContent-module_MarkdownContent__2JuyX ul{list-style:disc}.MarkdownContent-module_MarkdownContent__2JuyX ol{list-style:decimal}.MarkdownContent-module_MarkdownContent__2JuyX li{line-height:1.58}.MarkdownContent-module_MarkdownContent__2JuyX li>:is(ul,ol){margin-bottom:0;margin-top:.45em}.MarkdownContent-module_MarkdownContent__2JuyX ul:has(>li>[data-chat-progress-marker]){list-style:none;padding-inline-start:0}.MarkdownContent-module_MarkdownContent__2JuyX ul:has(>li>[data-chat-progress-marker])>li{list-style:none}.MarkdownContent-module_MarkdownContent__2JuyX [data-chat-progress-marker]{border-radius:999px;color:var(--md-link-color);display:inline-flex;height:1rem;margin-right:.58rem;transform-origin:center;vertical-align:text-bottom;width:1rem}.MarkdownContent-module_MarkdownContent__2JuyX [data-chat-progress-marker=pending]{animation:MarkdownContent-module_chatProgressMarkerSpin__TpoKr .85s linear infinite;border:2px solid color-mix(in srgb,currentColor 22%,transparent);border-top-color:currentcolor;box-sizing:border-box}.MarkdownContent-module_MarkdownContent__2JuyX [data-chat-progress-marker=completed]{align-items:center;background:color-mix(in srgb,currentColor 12%,transparent);border:2px solid;box-sizing:border-box;justify-content:center}.MarkdownContent-module_MarkdownContent__2JuyX [data-chat-progress-marker=completed]:before{border-bottom:2px solid;border-right:2px solid;box-sizing:border-box;content:\"\";display:block;height:.5rem;margin-top:-.06rem;transform:rotate(45deg);width:.26rem}@keyframes MarkdownContent-module_chatProgressMarkerSpin__TpoKr{to{transform:rotate(1turn)}}.MarkdownContent-module_MarkdownContent__2JuyX a{color:var(--md-link-color);text-decoration-color:currentColor;text-decoration-line:underline;text-decoration-thickness:1.4px;text-underline-offset:.16em;transition:opacity .2s ease,text-decoration-thickness .2s ease}.MarkdownContent-module_MarkdownContent__2JuyX a:focus-visible,.MarkdownContent-module_MarkdownContent__2JuyX a:hover{opacity:.92;text-decoration-thickness:2px}.MarkdownContent-module_MarkdownContent__2JuyX a.MarkdownContent-module_inlineReferenceChip__o-WIB,.MarkdownContent-module_MarkdownContent__2JuyX details.MarkdownContent-module_inlineReferenceChip__o-WIB>summary{align-items:center;background:color-mix(in srgb,var(--md-link-color) 9%,hsla(0,0%,100%,.9));border:1px solid color-mix(in srgb,var(--md-link-color) 28%,rgba(148,163,184,.45));border-radius:8px;box-shadow:0 1px 2px rgba(15,23,42,.08);color:var(--md-link-color);display:inline-flex;font-size:.92em;font-weight:650;gap:.42em;line-height:1.35;max-width:100%;padding:.16em .58em;text-decoration:none;vertical-align:baseline;white-space:nowrap}.MarkdownContent-module_MarkdownContent__2JuyX a.MarkdownContent-module_inlineReferenceChip__o-WIB{margin:0 .08em}.MarkdownContent-module_MarkdownContent__2JuyX details.MarkdownContent-module_inlineReferenceChip__o-WIB{display:inline-block;margin:0 .08em;max-width:100%;position:relative;vertical-align:baseline}.MarkdownContent-module_MarkdownContent__2JuyX details.MarkdownContent-module_inlineReferenceChip__o-WIB>summary{cursor:pointer;list-style:none}.MarkdownContent-module_MarkdownContent__2JuyX details.MarkdownContent-module_inlineReferenceChip__o-WIB>summary::-webkit-details-marker{display:none}.MarkdownContent-module_MarkdownContent__2JuyX :is(a.MarkdownContent-module_inlineReferenceChip__o-WIB,details.MarkdownContent-module_inlineReferenceChip__o-WIB>summary):before{border:1.8px solid;border-radius:.16em;box-sizing:border-box;content:\"\";display:inline-block;flex:0 0 auto;height:.62em;opacity:.86;transform:translateY(.03em);width:.9em}.MarkdownContent-module_MarkdownContent__2JuyX :is(a.MarkdownContent-module_inlineReferenceChip__o-WIB,details.MarkdownContent-module_inlineReferenceChip__o-WIB>summary):focus-visible,.MarkdownContent-module_MarkdownContent__2JuyX :is(a.MarkdownContent-module_inlineReferenceChip__o-WIB,details.MarkdownContent-module_inlineReferenceChip__o-WIB>summary):hover{background:color-mix(in srgb,var(--md-link-color) 14%,hsla(0,0%,100%,.94));border-color:color-mix(in srgb,var(--md-link-color) 52%,rgba(148,163,184,.35));opacity:1}.MarkdownContent-module_MarkdownContent__2JuyX details.MarkdownContent-module_inlineReferenceChip__o-WIB>div{background:color-mix(in srgb,var(--md-table-bg) 92%,#fff);border:1px solid color-mix(in srgb,var(--md-link-color) 22%,rgba(148,163,184,.45));border-radius:.65rem;box-shadow:0 10px 24px rgba(15,23,42,.16);display:grid;left:0;min-width:15rem;padding:.45rem;position:absolute;top:calc(100% + .45em);z-index:20}.MarkdownContent-module_MarkdownContent__2JuyX .inlineReferenceMenuStatus{align-items:center;color:var(--md-muted-color);display:inline-flex;font-size:.78em;font-weight:650;gap:.38em}.MarkdownContent-module_MarkdownContent__2JuyX details.MarkdownContent-module_inlineReferenceChip__o-WIB>summary .inlineReferenceMenuStatus{background:color-mix(in srgb,var(--md-muted-color) 55%,transparent);border-radius:999px;height:.52em;margin-left:.05em;width:.52em}.MarkdownContent-module_MarkdownContent__2JuyX .inlineReferenceMenuStatus--active{color:#047857}.MarkdownContent-module_MarkdownContent__2JuyX details.MarkdownContent-module_inlineReferenceChip__o-WIB>summary .inlineReferenceMenuStatus--active{background:#10b981;box-shadow:0 0 0 .16em color-mix(in srgb,#10b981 20%,transparent)}.MarkdownContent-module_MarkdownContent__2JuyX .inlineReferenceMenuStatus:before{background:currentColor;border-radius:999px;content:\"\";height:.55em;width:.55em}.MarkdownContent-module_MarkdownContent__2JuyX details.MarkdownContent-module_inlineReferenceChip__o-WIB>summary .inlineReferenceMenuStatus:before{display:none}.MarkdownContent-module_MarkdownContent__2JuyX .inlineReferenceMenuOption{border-radius:.4rem;color:var(--md-link-color);display:block;font-size:.82em;font-weight:650;line-height:1.35;padding:.45rem .55rem;text-decoration:none}.MarkdownContent-module_MarkdownContent__2JuyX a.inlineReferenceMenuOption:focus-visible,.MarkdownContent-module_MarkdownContent__2JuyX a.inlineReferenceMenuOption:hover{background:color-mix(in srgb,var(--md-link-color) 10%,transparent);text-decoration:none}.MarkdownContent-module_MarkdownContent__2JuyX .inlineReferenceMenuOption--disabled{color:var(--md-muted-color);cursor:not-allowed}.MarkdownContent-module_MarkdownContent__2JuyX img{border-radius:14px;display:block;height:auto;margin:.95em 0;max-width:100%}.MarkdownContent-module_MarkdownContent__2JuyX blockquote,.MarkdownContent-module_MarkdownContent__2JuyX hr,.MarkdownContent-module_MarkdownContent__2JuyX pre,.MarkdownContent-module_MarkdownContent__2JuyX table{margin:.95em 0}.MarkdownContent-module_MarkdownContent__2JuyX pre{background:transparent;border:none;border-radius:12px;box-shadow:none;display:block;overflow:visible;padding:0}.MarkdownContent-module_MarkdownContent__2JuyX blockquote{background:var(--md-blockquote-bg);border:none;border-left:3px solid var(--md-blockquote-border);border-radius:12px;box-shadow:none;color:var(--md-muted-color);display:block;padding:.72em .96em}.MarkdownContent-module_MarkdownContent__2JuyX blockquote>:last-child{margin-bottom:0}.MarkdownContent-module_MarkdownContent__2JuyX code{background:var(--md-inline-code-bg);border:1px solid var(--md-inline-code-border);border-radius:8px;color:var(--md-inline-code-color);font-family:var(--md-code-font-family);font-size:.88em;line-height:1.45;margin:0;padding:.14em .42em;word-break:break-word}.MarkdownContent-module_MarkdownContent__2JuyX pre code{background:none!important;border:none!important;box-shadow:none!important;color:inherit!important;display:block;font-family:inherit!important;font-size:inherit!important;overflow-x:auto;padding:0!important;white-space:pre;word-break:normal}.MarkdownContent-module_MarkdownContent__2JuyX .MarkdownContent-module_chat-code-block__ZffFg{background:#181c23;border:1px solid rgba(148,163,184,.35);border-radius:12px;box-shadow:0 6px 18px rgba(2,6,23,.28);color:#f8fafc;font-family:var(--md-code-font-family);font-size:14px;line-height:1.6;overflow-x:auto}.MarkdownContent-module_MarkdownContent__2JuyX .MarkdownContent-module_chat-code-block__ZffFg code{background:none!important;border:none!important;box-shadow:none!important;color:inherit!important;display:block;font-family:inherit!important;font-size:inherit!important;overflow-x:auto;padding:0!important;white-space:pre;word-break:normal}.MarkdownContent-module_MarkdownContent__2JuyX table{background:var(--md-table-bg);border:1px solid var(--md-table-border);border-collapse:separate;border-radius:12px;border-spacing:0;box-shadow:0 2px 8px rgba(15,23,42,.1);color:inherit;font-size:.93em;overflow:hidden;width:100%}.MarkdownContent-module_MarkdownContent__2JuyX td,.MarkdownContent-module_MarkdownContent__2JuyX th{background:none;border-bottom:1px solid var(--md-table-border);color:inherit;padding:.58em .72em;text-align:left;vertical-align:top}.MarkdownContent-module_MarkdownContent__2JuyX th{background:var(--md-table-head-bg);font-weight:600}.MarkdownContent-module_MarkdownContent__2JuyX tr:last-child td{border-bottom:none}.MarkdownContent-module_MarkdownContent__2JuyX tr:nth-child(2n) td{background:var(--md-table-row-alt-bg)}.MarkdownContent-module_MarkdownContent__2JuyX hr{border:none;border-top:1px solid var(--md-table-border);opacity:.8}.MarkdownContent-module_MarkdownContent__2JuyX details{background:color-mix(in srgb,var(--md-table-bg) 82%,hsla(0,0%,100%,.3) 18%);border:1px solid var(--md-table-border);border-radius:16px;box-shadow:0 8px 22px rgba(15,23,42,.08);margin:.95em 0;overflow:hidden;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.MarkdownContent-module_MarkdownContent__2JuyX details:focus-within,.MarkdownContent-module_MarkdownContent__2JuyX details:hover{border-color:color-mix(in srgb,var(--md-link-color) 24%,var(--md-table-border) 76%);box-shadow:0 12px 28px rgba(15,23,42,.12)}.MarkdownContent-module_MarkdownContent__2JuyX details>summary{align-items:center;background:linear-gradient(180deg,color-mix(in srgb,var(--md-table-head-bg) 88%,hsla(0,0%,100%,.85) 12%),color-mix(in srgb,var(--md-table-bg) 82%,hsla(0,0%,100%,.7) 18%));color:var(--md-link-color);cursor:pointer;display:flex;font-weight:600;gap:.72rem;list-style:none;padding:.9em 1.05em;transition:background .18s ease,color .18s ease;user-select:none}.MarkdownContent-module_MarkdownContent__2JuyX details>summary:before{border-bottom:2px solid;border-right:2px solid;content:\"\";flex:0 0 auto;height:.62rem;margin-top:-.04rem;opacity:.82;transform:rotate(-45deg);transition:transform .18s ease,opacity .18s ease;width:.62rem}.MarkdownContent-module_MarkdownContent__2JuyX details>summary:focus-visible,.MarkdownContent-module_MarkdownContent__2JuyX details>summary:hover{background:linear-gradient(180deg,color-mix(in srgb,var(--md-table-head-bg) 76%,hsla(0,0%,100%,.95) 24%),color-mix(in srgb,var(--md-table-bg) 74%,hsla(0,0%,100%,.82) 26%))}.MarkdownContent-module_MarkdownContent__2JuyX details>summary:focus-visible{outline:2px solid color-mix(in srgb,var(--md-link-color) 52%,transparent);outline-offset:-2px}.MarkdownContent-module_MarkdownContent__2JuyX details>summary::-webkit-details-marker{display:none}.MarkdownContent-module_MarkdownContent__2JuyX details[open]>summary{border-bottom:1px solid color-mix(in srgb,var(--md-table-border) 88%,transparent)}.MarkdownContent-module_MarkdownContent__2JuyX details[open]>summary:before{opacity:1;transform:rotate(45deg)}.MarkdownContent-module_MarkdownContent__2JuyX details>:not(summary){margin-left:1.05em;margin-right:1.05em}.MarkdownContent-module_MarkdownContent__2JuyX details>summary+*{margin-top:.95em}.MarkdownContent-module_MarkdownContent__2JuyX details>:last-child{margin-bottom:1.05em}.MarkdownContent-module_MarkdownContent__2JuyX strong{font-weight:650}.MarkdownContent-module_MarkdownContent__2JuyX em{font-style:italic}.MarkdownContent-module_citationRef__fKqaT,.MarkdownContent-module_citation__11SMw{align-items:center;background:var(--md-citation-bg);border-radius:999px;color:var(--md-citation-color);display:inline-flex;font-size:.74em;font-weight:700;justify-content:center;line-height:1.45;margin:0 .1em;min-width:1.4em;padding:0 .35em;vertical-align:super}.MarkdownContent-module_MarkdownContent__2JuyX sup[data-citation-footnote]{color:currentColor;display:inline;font-size:.72em;font-weight:700;line-height:1;margin:0 .7em 0 .08em;vertical-align:super}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIk1hcmtkb3duQ29udGVudC5tb2R1bGUuY3NzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLCtDQUNJLGlEQUFtRCxDQUNuRCx3REFBMEQsQ0FDMUQsaURBQW1ELENBQ25ELHNFQUF3RSxDQUN4RTs7S0FHQyxDQUNEOztLQUdDLENBQ0QsbUdBQTBHLENBQzFHLG9FQUEwRSxDQUMxRSw0RUFBa0YsQ0FDbEYsNEVBQThFLENBQzlFLHFFQUEyRSxDQUMzRSw0RUFBa0YsQ0FDbEYsMkRBQWlFLENBQ2pFLDBFQUFnRixDQUNoRixxRUFBMkUsQ0FDM0UsbUVBQXlFLENBQ3pFLGdFQUFzRSxDQUN0RSx5REFBMkQsQ0FFM0QsMEJBQTJCLENBQzNCLHNDQUF1QyxDQUN2QyxpQkFBa0IsQ0FFbEIscUJBQXVCLENBRHZCLGdCQUVKLENBRUEsNERBQ0ksc0JBQ0osQ0FFQSwyREFDSSx5QkFDSixDQUVBLHNFQVFJLGlCQUFrQixDQUxsQiw2QkFBOEIsQ0FDOUIseUNBQTBDLENBQzFDLGVBQWdCLENBRWhCLG9CQUFzQixDQUR0QixnQkFBaUIsQ0FKakIsb0JBQXNCLENBRHRCLGlCQVFKLENBRUEsa0RBQ0ksaUJBQ0osQ0FFQSxrREFDSSxnQkFDSixDQUVBLGtEQUNJLGlCQUNKLENBRUEsa0RBQ0ksaUJBQ0osQ0FFQSxrREFDSSxpQkFDSixDQUVBLGtEQUNJLGdCQUNKLENBRUEsaURBRUksZ0JBQWlCLENBRGpCLGVBRUosQ0FFQSx1REFDSSxZQUNKLENBRUEsMERBR0ksWUFBYSxDQUNiLFNBQVcsQ0FIWCxrQkFBb0IsQ0FDcEIsNEJBR0osQ0FFQSxrREFDSSxlQUNKLENBRUEsa0RBQ0ksa0JBQ0osQ0FFQSxrREFDSSxnQkFDSixDQUVBLDZEQUVJLGVBQWdCLENBRGhCLGdCQUVKLENBRUEsdUZBQ0ksZUFBZ0IsQ0FDaEIsc0JBQ0osQ0FFQSwwRkFDSSxlQUNKLENBRUEsMkVBTUksbUJBQW9CLENBQ3BCLDBCQUEyQixDQU4zQixtQkFBb0IsQ0FFcEIsV0FBWSxDQUNaLG1C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QUN0Rix5Q0FDSixDQUVBLCtEQUVJLGtCQUFtQixDQVFuQiwwS0FJQyxDQU5ELDBCQUEyQixDQUgzQixjQUFlLENBSmYsWUFBYSxDQUtiLGVBQWdCLENBSGhCLFVBQVksQ0FNWixlQUFnQixDQUxoQixtQkFBcUIsQ0FXckIsK0NBQW1ELENBUm5ELGdCQVNKLENBRUEsc0VBT0ksdUJBQXFDLENBRHJDLHNCQUFvQyxDQUxwQyxVQUFXLENBR1gsYUFBYyxDQURkLGFBQWUsQ0FFZixrQkFBb0IsQ0FJcEIsV0FBYSxDQURiLHdCQUF5QixDQUV6QixnREFBb0QsQ0FScEQsWUFTSixDQUVBLGtKQUVJLDJLQUtKLENBRUEsNkVBQ0kseUVBQTRFLENBQzVFLG1CQUNKLENBRUEsdUZBQ0ksWUFDSixDQUVBLHFFQUNJLGlGQUNKLENBRUEsNEVBRUksU0FBVSxDQURWLHVCQUVKLENBRUEscUVBQ0ksa0JBQW1CLENBQ25CLG1CQUNKLENBRUEsaUVBQ0ksZ0JBQ0osQ0FFQSxtRUFDSSxvQkFDSixDQUVBLHNEQUNJLGVBQ0osQ0FFQSxrREFDSSxpQkFDSixDQWtCQSxtRkFFSSxrQkFBbUIsQ0FXbkIsZ0NBQWlDLENBTmpDLG1CQUFvQixDQUtwQiw4QkFBK0IsQ0FYL0IsbUJBQW9CLENBT3BCLGVBQWlCLENBQ2pCLGVBQWdCLENBTmhCLHNCQUF1QixDQU92QixnQkFBaUIsQ0FMakIsYUFBZSxDQURmLGVBQWdCLENBRWhCLGVBQWlCLENBS2pCLG9CQUdKLENBRUEsMkVBT0ksa0JBQW1CLENBTm5CLGNBQWUsQ0FFZixlQUFpQixDQUNqQixlQUFnQixDQUNoQixhQUFjLENBSGQscUJBQXdCLENBSXhCLG9CQUVKIiwiZmlsZSI6Ik1hcmtkb3duQ29udGVudC5tb2R1bGUuY3NzIiwic291cmNlc0NvbnRlbnQiOlsiLk1hcmtkb3duQ29udGVudCB7XG4gICAgLS1tZC10ZXh0LWNvbG9yOiB2YXIoLS1jaGF0LW1kLXRleHQtY29sb3IsIGluaGVyaXQpO1xuICAgIC0tbWQtbXV0ZWQtY29sb3I6IHZhcigtLWNoYXQtbWQtbXV0ZWQtY29sb3IsIGN1cnJlbnRDb2xvcik7XG4gICAgLS1tZC1saW5rLWNvbG9yOiB2YXIoLS1jaGF0LW1kLWxpbmstY29sb3IsICMyNTYzZWIpO1xuICAgIC0tbWQtaGVhZGluZy1jb2xvcjogdmFyKC0tY2hhdC1oZWFkaW5nLXRleHQtY29sb3IsIHZhcigtLW1kLXRleHQtY29sb3IpKTtcbiAgICAtLW1kLWhlYWRpbmctZm9udC1mYW1pbHk6IHZhcihcbiAgICAgICAgLS1jaGF0LW1kLWhlYWRpbmctZm9udC1mYW1pbHksXG4gICAgICAgIHZhcigtLWZvbnQtcG9wcGlucywgJ1BvcHBpbnMnLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWYpXG4gICAgKTtcbiAgICAtLW1kLWJvZHktZm9udC1mYW1pbHk6IHZhcihcbiAgICAgICAgLS1jaGF0LW1kLWJvZHktZm9udC1mYW1pbHksXG4gICAgICAgIHZhcigtLWZvbnQtcG9wcGlucywgJ1BvcHBpbnMnLCBzeXN0ZW0tdWksIC1hcHBsZS1zeXN0ZW0sIHNhbnMtc2VyaWYpXG4gICAgKTtcbiAgICAtLW1kLWNvZGUtZm9udC1mYW1pbHk6IHVpLW1vbm9zcGFjZSwgU0ZNb25vLVJlZ3VsYXIsIE1lbmxvLCBNb25hY28sIENvbnNvbGFzLCAnTGliZXJhdGlvbiBNb25vJywgbW9ub3NwYWNlO1xuICAgIC0tbWQtaW5saW5lLWNvZGUtYmc6IHZhcigtLWNoYXQtbWQtaW5saW5lLWNvZGUtYmcsIHJnYmEoMTUsIDIzLCA0MiwgMC4wOCkpO1xuICAgIC0tbWQtaW5saW5lLWNvZGUtYm9yZGVyOiB2YXIoLS1jaGF0LW1kLWlubGluZS1jb2RlLWJvcmRlciwgcmdiYSgxNSwgMjMsIDQyLCAwLjEyKSk7XG4gICAgLS1tZC1pbmxpbmUtY29kZS1jb2xvcjogdmFyKC0tY2hhdC1tZC1pbmxpbmUtY29kZS1jb2xvciwgdmFyKC0tbWQtdGV4dC1jb2xvcikpO1xuICAgIC0tbWQtYmxvY2txdW90ZS1iZzogdmFyKC0tY2hhdC1tZC1ibG9ja3F1b3RlLWJnLCByZ2JhKDI0OCwgMjUwLCAyNTIsIDAuOTIpKTtcbiAgICAtLW1kLWJsb2NrcXVvdGUtYm9yZGVyOiB2YXIoLS1jaGF0LW1kLWJsb2NrcXVvdGUtYm9yZGVyLCByZ2JhKDU5LCAxMzAsIDI0NiwgMC4zNSkpO1xuICAgIC0tbWQtdGFibGUtYmc6IHZhcigtLWNoYXQtbWQtdGFibGUtYmcsIHJnYmEoMjQ4LCAyNTAsIDI1MiwgMC45MikpO1xuICAgIC0tbWQtdGFibGUtcm93LWFsdC1iZzogdmFyKC0tY2hhdC1tZC10YWJsZS1yb3ctYWx0LWJnLCByZ2JhKDI0MSwgMjQ1LCAyNDksIDAuOSkpO1xuICAgIC0tbWQtdGFibGUtaGVhZC1iZzogdmFyKC0tY2hhdC1tZC10YWJsZS1oZWFkLWJnLCByZ2JhKDIyNiwgMjMyLCAyNDAsIDAuOTUpKTtcbiAgICAtLW1kLXRhYmxlLWJvcmRlcjogdmFyKC0tY2hhdC1tZC10YWJsZS1ib3JkZXIsIHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4zNikpO1xuICAgIC0tbWQtY2l0YXRpb24tYmc6IHZhcigtLWNoYXQtbWQtY2l0YXRpb24tYmcsIHJnYmEoNTksIDEzMCwgMjQ2LCAwLjE0KSk7XG4gICAgLS1tZC1jaXRhdGlvbi1jb2xvcjogdmFyKC0tY2hhdC1tZC1jaXRhdGlvbi1jb2xvciwgIzFkNGVkOCk7XG5cbiAgICBjb2xvcjogdmFyKC0tbWQtdGV4dC1jb2xvcik7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLW1kLWJvZHktZm9udC1mYW1pbHkpO1xuICAgIGZvbnQtc2l6ZTogaW5oZXJpdDtcbiAgICBsaW5lLWhlaWdodDogMS42NTtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMDJlbTtcbn1cblxuLk1hcmtkb3duQ29udGVudCA+IDpmaXJzdC1jaGlsZCB7XG4gICAgbWFyZ2luLXRvcDogMCAhaW1wb3J0YW50O1xufVxuXG4uTWFya2Rvd25Db250ZW50ID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDAgIWltcG9ydGFudDtcbn1cblxuLk1hcmtkb3duQ29udGVudCA6aXMoaDEsIGgyLCBoMywgaDQsIGg1LCBoNikge1xuICAgIHBvc2l0aW9uOiByZWxhdGl2ZTtcbiAgICBtYXJnaW46IDEuNGVtIDAgMC41NWVtO1xuICAgIGNvbG9yOiB2YXIoLS1tZC1oZWFkaW5nLWNvbG9yKTtcbiAgICBmb250LWZhbWlseTogdmFyKC0tbWQtaGVhZGluZy1mb250LWZhbWlseSk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICBsaW5lLWhlaWdodDogMS4yNDtcbiAgICBsZXR0ZXItc3BhY2luZzogMC4wMWVtO1xuICAgIHRleHQtd3JhcDogYmFsYW5jZTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBoMSB7XG4gICAgZm9udC1zaXplOiAxLjUycmVtO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGgyIHtcbiAgICBmb250LXNpemU6IDEuNHJlbTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBoMyB7XG4gICAgZm9udC1zaXplOiAxLjI2cmVtO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGg0IHtcbiAgICBmb250LXNpemU6IDEuMTRyZW07XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgaDUge1xuICAgIGZvbnQtc2l6ZTogMS4wNHJlbTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBoNiB7XG4gICAgZm9udC1zaXplOiAwLjk4cmVtO1xufVxuXG4uTWFya2Rvd25Db250ZW50IHAge1xuICAgIG1hcmdpbjogMCAwIDAuOWVtO1xuICAgIHRleHQtd3JhcDogcHJldHR5O1xufVxuXG4uTWFya2Rvd25Db250ZW50IHA6ZW1wdHkge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgOmlzKHVsLCBvbCkge1xuICAgIG1hcmdpbjogMC42NWVtIDAgMWVtO1xuICAgIHBhZGRpbmctaW5saW5lLXN0YXJ0OiAxLjM1cmVtO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgZ2FwOiAwLjM1ZW07XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgdWwge1xuICAgIGxpc3Qtc3R5bGU6IGRpc2M7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgb2wge1xuICAgIGxpc3Qtc3R5bGU6IGRlY2ltYWw7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgbGkge1xuICAgIGxpbmUtaGVpZ2h0OiAxLjU4O1xufVxuXG4uTWFya2Rvd25Db250ZW50IGxpID4gOmlzKHVsLCBvbCkge1xuICAgIG1hcmdpbi10b3A6IDAuNDVlbTtcbiAgICBtYXJnaW4tYm90dG9tOiAwO1xufVxuXG4uTWFya2Rvd25Db250ZW50IHVsOmhhcyg+IGxpID4gW2RhdGEtY2hhdC1wcm9ncmVzcy1tYXJrZXJdKSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBwYWRkaW5nLWlubGluZS1zdGFydDogMDtcbn1cblxuLk1hcmtkb3duQ29udGVudCB1bDpoYXMoPiBsaSA+IFtkYXRhLWNoYXQtcHJvZ3Jlc3MtbWFya2VyXSkgPiBsaSB7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBbZGF0YS1jaGF0LXByb2dyZXNzLW1hcmtlcl0ge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIHdpZHRoOiAxcmVtO1xuICAgIGhlaWdodDogMXJlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDAuNThyZW07XG4gICAgdmVydGljYWwtYWxpZ246IHRleHQtYm90dG9tO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGNvbG9yOiB2YXIoLS1tZC1saW5rLWNvbG9yKTtcbiAgICB0cmFuc2Zvcm0tb3JpZ2luOiBjZW50ZXI7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgW2RhdGEtY2hhdC1wcm9ncmVzcy1tYXJrZXI9J3BlbmRpbmcnXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBib3JkZXI6IDJweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgY3VycmVudENvbG9yIDIyJSwgdHJhbnNwYXJlbnQpO1xuICAgIGJvcmRlci10b3AtY29sb3I6IGN1cnJlbnRDb2xvcjtcbiAgICBhbmltYXRpb246IGNoYXRQcm9ncmVzc01hcmtlclNwaW4gMC44NXMgbGluZWFyIGluZmluaXRlO1xufVxuXG4uTWFya2Rvd25Db250ZW50IFtkYXRhLWNoYXQtcHJvZ3Jlc3MtbWFya2VyPSdjb21wbGV0ZWQnXSB7XG4gICAgYm94LXNpemluZzogYm9yZGVyLWJveDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIGJvcmRlcjogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgY3VycmVudENvbG9yIDEyJSwgdHJhbnNwYXJlbnQpO1xufVxuXG4uTWFya2Rvd25Db250ZW50IFtkYXRhLWNoYXQtcHJvZ3Jlc3MtbWFya2VyPSdjb21wbGV0ZWQnXTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAwLjI2cmVtO1xuICAgIGhlaWdodDogMC41cmVtO1xuICAgIG1hcmdpbi10b3A6IC0wLjA2cmVtO1xuICAgIGJvcmRlci1yaWdodDogMnB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItYm90dG9tOiAycHggc29saWQgY3VycmVudENvbG9yO1xuICAgIHRyYW5zZm9ybTogcm90YXRlKDQ1ZGVnKTtcbn1cblxuQGtleWZyYW1lcyBjaGF0UHJvZ3Jlc3NNYXJrZXJTcGluIHtcbiAgICB0byB7XG4gICAgICAgIHRyYW5zZm9ybTogcm90YXRlKDM2MGRlZyk7XG4gICAgfVxufVxuXG4uTWFya2Rvd25Db250ZW50IGEge1xuICAgIGNvbG9yOiB2YXIoLS1tZC1saW5rLWNvbG9yKTtcbiAgICB0ZXh0LWRlY29yYXRpb24tbGluZTogdW5kZXJsaW5lO1xuICAgIHRleHQtZGVjb3JhdGlvbi10aGlja25lc3M6IDEuNHB4O1xuICAgIHRleHQtdW5kZXJsaW5lLW9mZnNldDogMC4xNmVtO1xuICAgIHRleHQtZGVjb3JhdGlvbi1jb2xvcjogY3VycmVudENvbG9yO1xuICAgIHRyYW5zaXRpb246IG9wYWNpdHkgMC4ycyBlYXNlLCB0ZXh0LWRlY29yYXRpb24tdGhpY2tuZXNzIDAuMnMgZWFzZTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBhOmhvdmVyLFxuLk1hcmtkb3duQ29udGVudCBhOmZvY3VzLXZpc2libGUge1xuICAgIG9wYWNpdHk6IDAuOTI7XG4gICAgdGV4dC1kZWNvcmF0aW9uLXRoaWNrbmVzczogMnB4O1xufVxuXG4uTWFya2Rvd25Db250ZW50IGEuaW5saW5lUmVmZXJlbmNlQ2hpcCxcbi5NYXJrZG93bkNvbnRlbnQgZGV0YWlscy5pbmxpbmVSZWZlcmVuY2VDaGlwID4gc3VtbWFyeSB7XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgbWF4LXdpZHRoOiAxMDAlO1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjQyZW07XG4gICAgcGFkZGluZzogMC4xNmVtIDAuNThlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWQtbGluay1jb2xvcikgMjglLCByZ2JhKDE0OCwgMTYzLCAxODQsIDAuNDUpKTtcbiAgICBib3JkZXItcmFkaXVzOiA4cHg7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1kLWxpbmstY29sb3IpIDklLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOSkpO1xuICAgIGNvbG9yOiB2YXIoLS1tZC1saW5rLWNvbG9yKTtcbiAgICBmb250LXNpemU6IDAuOTJlbTtcbiAgICBmb250LXdlaWdodDogNjUwO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjM1O1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogYmFzZWxpbmU7XG4gICAgd2hpdGUtc3BhY2U6IG5vd3JhcDtcbiAgICBib3gtc2hhZG93OiAwIDFweCAycHggcmdiYSgxNSwgMjMsIDQyLCAwLjA4KTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBhLmlubGluZVJlZmVyZW5jZUNoaXAge1xuICAgIG1hcmdpbjogMCAwLjA4ZW07XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgZGV0YWlscy5pbmxpbmVSZWZlcmVuY2VDaGlwIHtcbiAgICBwb3NpdGlvbjogcmVsYXRpdmU7XG4gICAgZGlzcGxheTogaW5saW5lLWJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBtYXJnaW46IDAgMC4wOGVtO1xuICAgIHZlcnRpY2FsLWFsaWduOiBiYXNlbGluZTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBkZXRhaWxzLmlubGluZVJlZmVyZW5jZUNoaXAgPiBzdW1tYXJ5IHtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBkZXRhaWxzLmlubGluZVJlZmVyZW5jZUNoaXAgPiBzdW1tYXJ5Ojotd2Via2l0LWRldGFpbHMtbWFya2VyIHtcbiAgICBkaXNwbGF5OiBub25lO1xufVxuXG4uTWFya2Rvd25Db250ZW50IDppcyhhLmlubGluZVJlZmVyZW5jZUNoaXAsIGRldGFpbHMuaW5saW5lUmVmZXJlbmNlQ2hpcCA+IHN1bW1hcnkpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIGRpc3BsYXk6IGlubGluZS1ibG9jaztcbiAgICBib3gtc2l6aW5nOiBib3JkZXItYm94O1xuICAgIHdpZHRoOiAwLjllbTtcbiAgICBoZWlnaHQ6IDAuNjJlbTtcbiAgICBmbGV4OiAwIDAgYXV0bztcbiAgICBib3JkZXI6IDEuOHB4IHNvbGlkIGN1cnJlbnRDb2xvcjtcbiAgICBib3JkZXItcmFkaXVzOiAwLjE2ZW07XG4gICAgb3BhY2l0eTogMC44NjtcbiAgICB0cmFuc2Zvcm06IHRyYW5zbGF0ZVkoMC4wM2VtKTtcbn1cblxuLk1hcmtkb3duQ29udGVudCA6aXMoYS5pbmxpbmVSZWZlcmVuY2VDaGlwLCBkZXRhaWxzLmlubGluZVJlZmVyZW5jZUNoaXAgPiBzdW1tYXJ5KTpob3Zlcixcbi5NYXJrZG93bkNvbnRlbnQgOmlzKGEuaW5saW5lUmVmZXJlbmNlQ2hpcCwgZGV0YWlscy5pbmxpbmVSZWZlcmVuY2VDaGlwID4gc3VtbWFyeSk6Zm9jdXMtdmlzaWJsZSB7XG4gICAgYm9yZGVyLWNvbG9yOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWQtbGluay1jb2xvcikgNTIlLCByZ2JhKDE0OCwgMTYzLCAxODQsIDAuMzUpKTtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWQtbGluay1jb2xvcikgMTQlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTQpKTtcbiAgICBvcGFjaXR5OiAxO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGRldGFpbHMuaW5saW5lUmVmZXJlbmNlQ2hpcCA+IGRpdiB7XG4gICAgcG9zaXRpb246IGFic29sdXRlO1xuICAgIHotaW5kZXg6IDIwO1xuICAgIHRvcDogY2FsYygxMDAlICsgMC40NWVtKTtcbiAgICBsZWZ0OiAwO1xuICAgIGRpc3BsYXk6IGdyaWQ7XG4gICAgbWluLXdpZHRoOiAxNXJlbTtcbiAgICBwYWRkaW5nOiAwLjQ1cmVtO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZC1saW5rLWNvbG9yKSAyMiUsIHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC40NSkpO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNjVyZW07XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1kLXRhYmxlLWJnKSA5MiUsIHdoaXRlKTtcbiAgICBib3gtc2hhZG93OiAwIDEwcHggMjRweCByZ2JhKDE1LCAyMywgNDIsIDAuMTYpO1xufVxuXG4uTWFya2Rvd25Db250ZW50IDpnbG9iYWwoLmlubGluZVJlZmVyZW5jZU1lbnVTdGF0dXMpIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogMC4zOGVtO1xuICAgIGNvbG9yOiB2YXIoLS1tZC1tdXRlZC1jb2xvcik7XG4gICAgZm9udC1zaXplOiAwLjc4ZW07XG4gICAgZm9udC13ZWlnaHQ6IDY1MDtcbn1cblxuLk1hcmtkb3duQ29udGVudCBkZXRhaWxzLmlubGluZVJlZmVyZW5jZUNoaXAgPiBzdW1tYXJ5IDpnbG9iYWwoLmlubGluZVJlZmVyZW5jZU1lbnVTdGF0dXMpIHtcbiAgICB3aWR0aDogMC41MmVtO1xuICAgIGhlaWdodDogMC41MmVtO1xuICAgIG1hcmdpbi1sZWZ0OiAwLjA1ZW07XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1kLW11dGVkLWNvbG9yKSA1NSUsIHRyYW5zcGFyZW50KTtcbn1cblxuLk1hcmtkb3duQ29udGVudCA6Z2xvYmFsKC5pbmxpbmVSZWZlcmVuY2VNZW51U3RhdHVzLS1hY3RpdmUpIHtcbiAgICBjb2xvcjogIzA0Nzg1Nztcbn1cblxuLk1hcmtkb3duQ29udGVudCBkZXRhaWxzLmlubGluZVJlZmVyZW5jZUNoaXAgPiBzdW1tYXJ5IDpnbG9iYWwoLmlubGluZVJlZmVyZW5jZU1lbnVTdGF0dXMtLWFjdGl2ZSkge1xuICAgIGJhY2tncm91bmQ6ICMxMGI5ODE7XG4gICAgYm94LXNoYWRvdzogMCAwIDAgMC4xNmVtIGNvbG9yLW1peChpbiBzcmdiLCAjMTBiOTgxIDIwJSwgdHJhbnNwYXJlbnQpO1xufVxuXG4uTWFya2Rvd25Db250ZW50IDpnbG9iYWwoLmlubGluZVJlZmVyZW5jZU1lbnVTdGF0dXMpOjpiZWZvcmUge1xuICAgIGNvbnRlbnQ6ICcnO1xuICAgIHdpZHRoOiAwLjU1ZW07XG4gICAgaGVpZ2h0OiAwLjU1ZW07XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYmFja2dyb3VuZDogY3VycmVudENvbG9yO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGRldGFpbHMuaW5saW5lUmVmZXJlbmNlQ2hpcCA+IHN1bW1hcnkgOmdsb2JhbCguaW5saW5lUmVmZXJlbmNlTWVudVN0YXR1cyk6OmJlZm9yZSB7XG4gICAgZGlzcGxheTogbm9uZTtcbn1cblxuLk1hcmtkb3duQ29udGVudCA6Z2xvYmFsKC5pbmxpbmVSZWZlcmVuY2VNZW51T3B0aW9uKSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgcGFkZGluZzogMC40NXJlbSAwLjU1cmVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDAuNHJlbTtcbiAgICBjb2xvcjogdmFyKC0tbWQtbGluay1jb2xvcik7XG4gICAgZm9udC1zaXplOiAwLjgyZW07XG4gICAgZm9udC13ZWlnaHQ6IDY1MDtcbiAgICBsaW5lLWhlaWdodDogMS4zNTtcbiAgICB0ZXh0LWRlY29yYXRpb246IG5vbmU7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgYTpnbG9iYWwoLmlubGluZVJlZmVyZW5jZU1lbnVPcHRpb24pOmhvdmVyLFxuLk1hcmtkb3duQ29udGVudCBhOmdsb2JhbCguaW5saW5lUmVmZXJlbmNlTWVudU9wdGlvbik6Zm9jdXMtdmlzaWJsZSB7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1kLWxpbmstY29sb3IpIDEwJSwgdHJhbnNwYXJlbnQpO1xuICAgIHRleHQtZGVjb3JhdGlvbjogbm9uZTtcbn1cblxuLk1hcmtkb3duQ29udGVudCA6Z2xvYmFsKC5pbmxpbmVSZWZlcmVuY2VNZW51T3B0aW9uLS1kaXNhYmxlZCkge1xuICAgIGN1cnNvcjogbm90LWFsbG93ZWQ7XG4gICAgY29sb3I6IHZhcigtLW1kLW11dGVkLWNvbG9yKTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBpbWcge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIG1heC13aWR0aDogMTAwJTtcbiAgICBoZWlnaHQ6IGF1dG87XG4gICAgYm9yZGVyLXJhZGl1czogMTRweDtcbiAgICBtYXJnaW46IDAuOTVlbSAwO1xufVxuXG4uTWFya2Rvd25Db250ZW50IHByZSxcbi5NYXJrZG93bkNvbnRlbnQgYmxvY2txdW90ZSxcbi5NYXJrZG93bkNvbnRlbnQgdGFibGUsXG4uTWFya2Rvd25Db250ZW50IGhyIHtcbiAgICBtYXJnaW46IDAuOTVlbSAwO1xufVxuXG4uTWFya2Rvd25Db250ZW50IHByZSB7XG4gICAgZGlzcGxheTogYmxvY2s7XG4gICAgYm9yZGVyOiBub25lO1xuICAgIGJvcmRlci1yYWRpdXM6IDEycHg7XG4gICAgYm94LXNoYWRvdzogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiB0cmFuc3BhcmVudDtcbiAgICBwYWRkaW5nOiAwO1xuICAgIG92ZXJmbG93OiB2aXNpYmxlO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGJsb2NrcXVvdGUge1xuICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItbGVmdDogM3B4IHNvbGlkIHZhcigtLW1kLWJsb2NrcXVvdGUtYm9yZGVyKTtcbiAgICBib3JkZXItcmFkaXVzOiAxMnB4O1xuICAgIGJveC1zaGFkb3c6IG5vbmU7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tbWQtYmxvY2txdW90ZS1iZyk7XG4gICAgY29sb3I6IHZhcigtLW1kLW11dGVkLWNvbG9yKTtcbiAgICBwYWRkaW5nOiAwLjcyZW0gMC45NmVtO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGJsb2NrcXVvdGUgPiA6bGFzdC1jaGlsZCB7XG4gICAgbWFyZ2luLWJvdHRvbTogMDtcbn1cblxuLk1hcmtkb3duQ29udGVudCBjb2RlIHtcbiAgICBtYXJnaW46IDA7XG4gICAgcGFkZGluZzogMC4xNGVtIDAuNDJlbTtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1tZC1pbmxpbmUtY29kZS1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDhweDtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tZC1pbmxpbmUtY29kZS1iZyk7XG4gICAgZm9udC1mYW1pbHk6IHZhcigtLW1kLWNvZGUtZm9udC1mYW1pbHkpO1xuICAgIGZvbnQtc2l6ZTogMC44OGVtO1xuICAgIGxpbmUtaGVpZ2h0OiAxLjQ1O1xuICAgIGNvbG9yOiB2YXIoLS1tZC1pbmxpbmUtY29kZS1jb2xvcik7XG4gICAgd29yZC1icmVhazogYnJlYWstd29yZDtcbn1cblxuLk1hcmtkb3duQ29udGVudCBwcmUgY29kZSB7XG4gICAgYmFja2dyb3VuZDogbm9uZSAhaW1wb3J0YW50O1xuICAgIGNvbG9yOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1mYW1pbHk6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICBmb250LXNpemU6IGluaGVyaXQgIWltcG9ydGFudDtcbiAgICBwYWRkaW5nOiAwICFpbXBvcnRhbnQ7XG4gICAgYm9yZGVyOiBub25lICFpbXBvcnRhbnQ7XG4gICAgYm94LXNoYWRvdzogbm9uZSAhaW1wb3J0YW50O1xuICAgIHdoaXRlLXNwYWNlOiBwcmU7XG4gICAgd29yZC1icmVhazogbm9ybWFsO1xuICAgIG92ZXJmbG93LXg6IGF1dG87XG4gICAgZGlzcGxheTogYmxvY2s7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgLmNoYXQtY29kZS1ibG9jayB7XG4gICAgYmFja2dyb3VuZDogIzE4MWMyMztcbiAgICBjb2xvcjogI2Y4ZmFmYztcbiAgICBmb250LXNpemU6IDE0cHg7XG4gICAgbGluZS1oZWlnaHQ6IDEuNjtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHJnYmEoMTQ4LCAxNjMsIDE4NCwgMC4zNSk7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBib3gtc2hhZG93OiAwIDZweCAxOHB4IHJnYmEoMiwgNiwgMjMsIDAuMjgpO1xuICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1tZC1jb2RlLWZvbnQtZmFtaWx5KTtcbn1cblxuLk1hcmtkb3duQ29udGVudCAuY2hhdC1jb2RlLWJsb2NrIGNvZGUge1xuICAgIGJhY2tncm91bmQ6IG5vbmUgIWltcG9ydGFudDtcbiAgICBjb2xvcjogaW5oZXJpdCAhaW1wb3J0YW50O1xuICAgIGZvbnQtZmFtaWx5OiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgZm9udC1zaXplOiBpbmhlcml0ICFpbXBvcnRhbnQ7XG4gICAgcGFkZGluZzogMCAhaW1wb3J0YW50O1xuICAgIGJvcmRlcjogbm9uZSAhaW1wb3J0YW50O1xuICAgIGJveC1zaGFkb3c6IG5vbmUgIWltcG9ydGFudDtcbiAgICB3aGl0ZS1zcGFjZTogcHJlO1xuICAgIHdvcmQtYnJlYWs6IG5vcm1hbDtcbiAgICBvdmVyZmxvdy14OiBhdXRvO1xuICAgIGRpc3BsYXk6IGJsb2NrO1xufVxuXG4uTWFya2Rvd25Db250ZW50IHRhYmxlIHtcbiAgICB3aWR0aDogMTAwJTtcbiAgICBib3JkZXItY29sbGFwc2U6IHNlcGFyYXRlO1xuICAgIGJvcmRlci1zcGFjaW5nOiAwO1xuICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLW1kLXRhYmxlLWJvcmRlcik7XG4gICAgYm9yZGVyLXJhZGl1czogMTJweDtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIGJhY2tncm91bmQ6IHZhcigtLW1kLXRhYmxlLWJnKTtcbiAgICBib3gtc2hhZG93OiAwIDJweCA4cHggcmdiYSgxNSwgMjMsIDQyLCAwLjEpO1xuICAgIGZvbnQtc2l6ZTogMC45M2VtO1xuICAgIGNvbG9yOiBpbmhlcml0O1xufVxuXG4uTWFya2Rvd25Db250ZW50IHRoLFxuLk1hcmtkb3duQ29udGVudCB0ZCB7XG4gICAgcGFkZGluZzogMC41OGVtIDAuNzJlbTtcbiAgICBib3JkZXItYm90dG9tOiAxcHggc29saWQgdmFyKC0tbWQtdGFibGUtYm9yZGVyKTtcbiAgICB0ZXh0LWFsaWduOiBsZWZ0O1xuICAgIHZlcnRpY2FsLWFsaWduOiB0b3A7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgYmFja2dyb3VuZDogbm9uZTtcbn1cblxuLk1hcmtkb3duQ29udGVudCB0aCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tbWQtdGFibGUtaGVhZC1iZyk7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbn1cblxuLk1hcmtkb3duQ29udGVudCB0cjpsYXN0LWNoaWxkIHRkIHtcbiAgICBib3JkZXItYm90dG9tOiBub25lO1xufVxuXG4uTWFya2Rvd25Db250ZW50IHRyOm50aC1jaGlsZChldmVuKSB0ZCB7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tbWQtdGFibGUtcm93LWFsdC1iZyk7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgaHIge1xuICAgIGJvcmRlcjogbm9uZTtcbiAgICBib3JkZXItdG9wOiAxcHggc29saWQgdmFyKC0tbWQtdGFibGUtYm9yZGVyKTtcbiAgICBvcGFjaXR5OiAwLjg7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgZGV0YWlscyB7XG4gICAgbWFyZ2luOiAwLjk1ZW0gMDtcbiAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1tZC10YWJsZS1ib3JkZXIpO1xuICAgIGJvcmRlci1yYWRpdXM6IDE2cHg7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1kLXRhYmxlLWJnKSA4MiUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4zKSAxOCUpO1xuICAgIGJveC1zaGFkb3c6IDAgOHB4IDIycHggcmdiYSgxNSwgMjMsIDQyLCAwLjA4KTtcbiAgICBvdmVyZmxvdzogaGlkZGVuO1xuICAgIHRyYW5zaXRpb246IGJvcmRlci1jb2xvciAwLjE4cyBlYXNlLCBib3gtc2hhZG93IDAuMThzIGVhc2UsIHRyYW5zZm9ybSAwLjE4cyBlYXNlO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGRldGFpbHM6aG92ZXIsXG4uTWFya2Rvd25Db250ZW50IGRldGFpbHM6Zm9jdXMtd2l0aGluIHtcbiAgICBib3JkZXItY29sb3I6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZC1saW5rLWNvbG9yKSAyNCUsIHZhcigtLW1kLXRhYmxlLWJvcmRlcikgNzYlKTtcbiAgICBib3gtc2hhZG93OiAwIDEycHggMjhweCByZ2JhKDE1LCAyMywgNDIsIDAuMTIpO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGRldGFpbHMgPiBzdW1tYXJ5IHtcbiAgICBkaXNwbGF5OiBmbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAgZ2FwOiAwLjcycmVtO1xuICAgIHBhZGRpbmc6IDAuOWVtIDEuMDVlbTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgZm9udC13ZWlnaHQ6IDYwMDtcbiAgICB1c2VyLXNlbGVjdDogbm9uZTtcbiAgICBjb2xvcjogdmFyKC0tbWQtbGluay1jb2xvcik7XG4gICAgbGlzdC1zdHlsZTogbm9uZTtcbiAgICBiYWNrZ3JvdW5kOiBsaW5lYXItZ3JhZGllbnQoXG4gICAgICAgIDE4MGRlZyxcbiAgICAgICAgY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1kLXRhYmxlLWhlYWQtYmcpIDg4JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjg1KSAxMiUpLFxuICAgICAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWQtdGFibGUtYmcpIDgyJSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjcpIDE4JSlcbiAgICApO1xuICAgIHRyYW5zaXRpb246IGJhY2tncm91bmQgMC4xOHMgZWFzZSwgY29sb3IgMC4xOHMgZWFzZTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBkZXRhaWxzID4gc3VtbWFyeTo6YmVmb3JlIHtcbiAgICBjb250ZW50OiAnJztcbiAgICB3aWR0aDogMC42MnJlbTtcbiAgICBoZWlnaHQ6IDAuNjJyZW07XG4gICAgZmxleDogMCAwIGF1dG87XG4gICAgbWFyZ2luLXRvcDogLTAuMDRyZW07XG4gICAgYm9yZGVyLXJpZ2h0OiAycHggc29saWQgY3VycmVudENvbG9yO1xuICAgIGJvcmRlci1ib3R0b206IDJweCBzb2xpZCBjdXJyZW50Q29sb3I7XG4gICAgdHJhbnNmb3JtOiByb3RhdGUoLTQ1ZGVnKTtcbiAgICBvcGFjaXR5OiAwLjgyO1xuICAgIHRyYW5zaXRpb246IHRyYW5zZm9ybSAwLjE4cyBlYXNlLCBvcGFjaXR5IDAuMThzIGVhc2U7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgZGV0YWlscyA+IHN1bW1hcnk6aG92ZXIsXG4uTWFya2Rvd25Db250ZW50IGRldGFpbHMgPiBzdW1tYXJ5OmZvY3VzLXZpc2libGUge1xuICAgIGJhY2tncm91bmQ6IGxpbmVhci1ncmFkaWVudChcbiAgICAgICAgMTgwZGVnLFxuICAgICAgICBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWQtdGFibGUtaGVhZC1iZykgNzYlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuOTUpIDI0JSksXG4gICAgICAgIGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZC10YWJsZS1iZykgNzQlLCByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuODIpIDI2JSlcbiAgICApO1xufVxuXG4uTWFya2Rvd25Db250ZW50IGRldGFpbHMgPiBzdW1tYXJ5OmZvY3VzLXZpc2libGUge1xuICAgIG91dGxpbmU6IDJweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWQtbGluay1jb2xvcikgNTIlLCB0cmFuc3BhcmVudCk7XG4gICAgb3V0bGluZS1vZmZzZXQ6IC0ycHg7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgZGV0YWlscyA+IHN1bW1hcnk6Oi13ZWJraXQtZGV0YWlscy1tYXJrZXIge1xuICAgIGRpc3BsYXk6IG5vbmU7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgZGV0YWlsc1tvcGVuXSA+IHN1bW1hcnkge1xuICAgIGJvcmRlci1ib3R0b206IDFweCBzb2xpZCBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWQtdGFibGUtYm9yZGVyKSA4OCUsIHRyYW5zcGFyZW50KTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBkZXRhaWxzW29wZW5dID4gc3VtbWFyeTo6YmVmb3JlIHtcbiAgICB0cmFuc2Zvcm06IHJvdGF0ZSg0NWRlZyk7XG4gICAgb3BhY2l0eTogMTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBkZXRhaWxzID4gOm5vdChzdW1tYXJ5KSB7XG4gICAgbWFyZ2luLWxlZnQ6IDEuMDVlbTtcbiAgICBtYXJnaW4tcmlnaHQ6IDEuMDVlbTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBkZXRhaWxzID4gc3VtbWFyeSArICoge1xuICAgIG1hcmdpbi10b3A6IDAuOTVlbTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBkZXRhaWxzID4gOmxhc3QtY2hpbGQge1xuICAgIG1hcmdpbi1ib3R0b206IDEuMDVlbTtcbn1cblxuLk1hcmtkb3duQ29udGVudCBzdHJvbmcge1xuICAgIGZvbnQtd2VpZ2h0OiA2NTA7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgZW0ge1xuICAgIGZvbnQtc3R5bGU6IGl0YWxpYztcbn1cblxuLmNpdGF0aW9uIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGp1c3RpZnktY29udGVudDogY2VudGVyO1xuICAgIG1pbi13aWR0aDogMS40ZW07XG4gICAgbWFyZ2luOiAwIDAuMWVtO1xuICAgIHBhZGRpbmc6IDAgMC4zNWVtO1xuICAgIGJvcmRlci1yYWRpdXM6IDk5OXB4O1xuICAgIGZvbnQtc2l6ZTogMC43NGVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDEuNDU7XG4gICAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xuICAgIGNvbG9yOiB2YXIoLS1tZC1jaXRhdGlvbi1jb2xvcik7XG4gICAgYmFja2dyb3VuZDogdmFyKC0tbWQtY2l0YXRpb24tYmcpO1xufVxuXG4uY2l0YXRpb25SZWYge1xuICAgIGRpc3BsYXk6IGlubGluZS1mbGV4O1xuICAgIGFsaWduLWl0ZW1zOiBjZW50ZXI7XG4gICAganVzdGlmeS1jb250ZW50OiBjZW50ZXI7XG4gICAgbWluLXdpZHRoOiAxLjRlbTtcbiAgICBtYXJnaW46IDAgMC4xZW07XG4gICAgcGFkZGluZzogMCAwLjM1ZW07XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgZm9udC1zaXplOiAwLjc0ZW07XG4gICAgZm9udC13ZWlnaHQ6IDcwMDtcbiAgICBsaW5lLWhlaWdodDogMS40NTtcbiAgICB2ZXJ0aWNhbC1hbGlnbjogc3VwZXI7XG4gICAgY29sb3I6IHZhcigtLW1kLWNpdGF0aW9uLWNvbG9yKTtcbiAgICBiYWNrZ3JvdW5kOiB2YXIoLS1tZC1jaXRhdGlvbi1iZyk7XG59XG5cbi5NYXJrZG93bkNvbnRlbnQgc3VwW2RhdGEtY2l0YXRpb24tZm9vdG5vdGVdIHtcbiAgICBkaXNwbGF5OiBpbmxpbmU7XG4gICAgbWFyZ2luOiAwIDAuN2VtIDAgMC4wOGVtO1xuICAgIGZvbnQtc2l6ZTogMC43MmVtO1xuICAgIGZvbnQtd2VpZ2h0OiA3MDA7XG4gICAgbGluZS1oZWlnaHQ6IDE7XG4gICAgdmVydGljYWwtYWxpZ246IHN1cGVyO1xuICAgIGNvbG9yOiBjdXJyZW50Q29sb3I7XG59XG4iXX0= */";
30877
+ var styles$5 = {"MarkdownContent":"MarkdownContent-module_MarkdownContent__2JuyX","chatProgressMarkerSpin":"MarkdownContent-module_chatProgressMarkerSpin__TpoKr","inlineReferenceChip":"MarkdownContent-module_inlineReferenceChip__o-WIB","chat-code-block":"MarkdownContent-module_chat-code-block__ZffFg","citation":"MarkdownContent-module_citation__11SMw","citationRef":"MarkdownContent-module_citationRef__fKqaT"};
29985
30878
  styleInject(css_248z$5);
29986
30879
 
29987
30880
  /**
@@ -30062,10 +30955,12 @@ function resolveClickedDetailsElement(target, container) {
30062
30955
  * @public exported from `@promptbook/components`
30063
30956
  */
30064
30957
  const MarkdownContent = memo(function MarkdownContent(props) {
30065
- const { content, className, onCreateAgent, theme } = props;
30958
+ const { content, className, inlineReferences, onCreateAgent, theme } = props;
30066
30959
  const htmlContent = useMemo(() => renderMarkdown(content, {
30067
30960
  citationReferenceClassName: styles$5.citationRef,
30068
- }), [content]);
30961
+ inlineReferences,
30962
+ inlineReferenceClassName: styles$5.inlineReferenceChip,
30963
+ }), [content, inlineReferences]);
30069
30964
  const [resolvedTheme, setResolvedTheme] = useState(() => resolveMarkdownContentTheme(theme));
30070
30965
  const containerRef = useRef(null);
30071
30966
  const rootsRef = useRef([]);
@@ -30180,20 +31075,594 @@ const MarkdownContent = memo(function MarkdownContent(props) {
30180
31075
  });
30181
31076
 
30182
31077
  /**
30183
- * Prefix shared with the Agents Server page-preview stream route.
31078
+ * Prefix of every live page-preview browser session id.
30184
31079
  *
30185
- * @private component constant of `<CitationIframePreview/>`
31080
+ * @private constant shared between `<LiveBrowserPreview/>` and the Agents Server page-preview routes
30186
31081
  */
30187
- const BROWSER_PREVIEW_SESSION_ID_PREFIX = 'page-preview-';
31082
+ const PAGE_PREVIEW_SESSION_ID_PREFIX = 'page-preview-';
30188
31083
  /**
30189
31084
  * Fallback suffix length used when `crypto.randomUUID` is unavailable.
30190
31085
  *
30191
- * @private component constant of `<CitationIframePreview/>`
31086
+ * @private constant of `createPagePreviewSessionId`
31087
+ */
31088
+ const PAGE_PREVIEW_SESSION_ID_FALLBACK_SUFFIX_LENGTH = 24;
31089
+ /**
31090
+ * Creates one client-side page-preview browser session id.
31091
+ *
31092
+ * @returns Session id accepted by the Agents Server page-preview routes.
31093
+ *
31094
+ * @private utility of `<LiveBrowserPreview/>`
31095
+ */
31096
+ function createPagePreviewSessionId() {
31097
+ const randomId = globalThis.crypto && 'randomUUID' in globalThis.crypto
31098
+ ? globalThis.crypto.randomUUID()
31099
+ : createFallbackPagePreviewSessionIdSuffix();
31100
+ return `${PAGE_PREVIEW_SESSION_ID_PREFIX}${randomId}`.toLowerCase();
31101
+ }
31102
+ /**
31103
+ * Creates a sufficiently long fallback session suffix when Web Crypto UUIDs are unavailable.
31104
+ *
31105
+ * @returns Lowercase random suffix.
31106
+ */
31107
+ function createFallbackPagePreviewSessionIdSuffix() {
31108
+ let suffix = '';
31109
+ while (suffix.length < PAGE_PREVIEW_SESSION_ID_FALLBACK_SUFFIX_LENGTH) {
31110
+ suffix += Math.random().toString(36).slice(2);
31111
+ }
31112
+ return suffix.slice(0, PAGE_PREVIEW_SESSION_ID_FALLBACK_SUFFIX_LENGTH);
31113
+ }
31114
+
31115
+ /**
31116
+ * Browser-like toolbar of the live page preview with history navigation, an editable
31117
+ * address bar, local zoom controls, full screen toggle, and an "Open in new tab" link.
31118
+ *
31119
+ * @private component of `<LiveBrowserPreview/>`
31120
+ */
31121
+ function LiveBrowserPreviewToolbar(props) {
31122
+ const { displayedUrl, externalUrl, canGoBack, canGoForward, zoomLevel, isFullscreen, onNavigate, onUrlDraftChange, onUrlSubmit, onZoomIn, onZoomOut, onZoomReset, onToggleFullscreen, onClose, } = props;
31123
+ const handleUrlSubmit = (event) => {
31124
+ var _a, _b;
31125
+ event.preventDefault();
31126
+ onUrlSubmit(displayedUrl);
31127
+ (_b = (_a = document.activeElement) === null || _a === void 0 ? void 0 : _a.blur) === null || _b === void 0 ? void 0 : _b.call(_a);
31128
+ };
31129
+ return (jsxs("div", { className: styles$7.liveBrowserPreviewToolbar, children: [jsx("button", { type: "button", className: styles$7.liveBrowserPreviewToolbarButton, onClick: () => onNavigate('back'), disabled: canGoBack === false, title: "Go back", "aria-label": "Go back", children: "\u2190" }), jsx("button", { type: "button", className: styles$7.liveBrowserPreviewToolbarButton, onClick: () => onNavigate('forward'), disabled: canGoForward === false, title: "Go forward", "aria-label": "Go forward", children: "\u2192" }), jsx("button", { type: "button", className: styles$7.liveBrowserPreviewToolbarButton, onClick: () => onNavigate('reload'), title: "Reload page", "aria-label": "Reload page", children: "\u21BB" }), jsx("form", { className: styles$7.liveBrowserPreviewUrlForm, onSubmit: handleUrlSubmit, children: jsx("input", { type: "text", className: styles$7.liveBrowserPreviewUrlInput, value: displayedUrl, onChange: (event) => onUrlDraftChange(event.target.value), onBlur: () => onUrlDraftChange(null), spellCheck: false, autoComplete: "off", "aria-label": "Browser address" }) }), jsx("button", { type: "button", className: styles$7.liveBrowserPreviewToolbarButton, onClick: onZoomOut, title: "Zoom out", "aria-label": "Zoom out", children: "\u2212" }), jsxs("button", { type: "button", className: classNames(styles$7.liveBrowserPreviewToolbarButton, styles$7.liveBrowserPreviewZoomLabel), onClick: onZoomReset, title: "Reset zoom", "aria-label": "Reset zoom", children: [Math.round(zoomLevel * 100), "%"] }), jsx("button", { type: "button", className: styles$7.liveBrowserPreviewToolbarButton, onClick: onZoomIn, title: "Zoom in", "aria-label": "Zoom in", children: "+" }), jsx("button", { type: "button", className: styles$7.liveBrowserPreviewToolbarButton, onClick: onToggleFullscreen, title: isFullscreen ? 'Exit full screen' : 'Full screen', "aria-label": isFullscreen ? 'Exit full screen' : 'Full screen', children: "\u26F6" }), jsx("a", { href: externalUrl, target: "_blank", rel: "noopener noreferrer", className: styles$7.liveBrowserPreviewToolbarButton, title: "Open in new tab", "aria-label": "Open in new tab", children: "\u2197" }), onClose && (jsx("button", { type: "button", className: classNames(styles$7.liveBrowserPreviewToolbarButton, styles$7.liveBrowserPreviewToolbarCloseButton), onClick: onClose, title: "Close preview", "aria-label": "Close preview", children: jsx(CloseIcon, {}) }))] }));
31130
+ }
31131
+
31132
+ /**
31133
+ * Default endpoint receiving live page-preview input events.
31134
+ *
31135
+ * @private constant of `PagePreviewInputQueue`
31136
+ */
31137
+ const PAGE_PREVIEW_INPUT_ENDPOINT_URL = '/api/page-preview/input';
31138
+ /**
31139
+ * Delivers remote-control events of one live page-preview browser session to the Agents Server.
31140
+ *
31141
+ * Events are sent strictly one after another so the remote browser receives them in order
31142
+ * (crucial for drags and text selection). While one request is in flight, bursty events are
31143
+ * coalesced: consecutive `move` events collapse into the latest one, consecutive `wheel`
31144
+ * events accumulate their deltas, and only the latest `resize` is kept.
31145
+ *
31146
+ * @private utility of `<LiveBrowserPreview/>`
31147
+ */
31148
+ class PagePreviewInputQueue {
31149
+ constructor(options) {
31150
+ this.options = options;
31151
+ this.pendingEvents = [];
31152
+ this.isFlushing = false;
31153
+ this.isDisposed = false;
31154
+ }
31155
+ /**
31156
+ * Enqueues one input event for ordered delivery.
31157
+ *
31158
+ * @param inputEvent - Event to forward to the remote browser.
31159
+ */
31160
+ send(inputEvent) {
31161
+ if (this.isDisposed) {
31162
+ return;
31163
+ }
31164
+ this.coalesceIntoPendingEvents(inputEvent);
31165
+ void this.flushPendingEvents();
31166
+ }
31167
+ /**
31168
+ * Stops the queue and drops all undelivered events.
31169
+ */
31170
+ dispose() {
31171
+ this.isDisposed = true;
31172
+ this.pendingEvents.length = 0;
31173
+ }
31174
+ /**
31175
+ * Adds one event to the queue, merging it with the trailing event when possible.
31176
+ *
31177
+ * @param inputEvent - Event to enqueue.
31178
+ */
31179
+ coalesceIntoPendingEvents(inputEvent) {
31180
+ const lastEventIndex = this.pendingEvents.length - 1;
31181
+ const lastEvent = this.pendingEvents[lastEventIndex];
31182
+ if (inputEvent.type === 'move' && (lastEvent === null || lastEvent === void 0 ? void 0 : lastEvent.type) === 'move') {
31183
+ this.pendingEvents[lastEventIndex] = inputEvent;
31184
+ return;
31185
+ }
31186
+ if (inputEvent.type === 'wheel' && (lastEvent === null || lastEvent === void 0 ? void 0 : lastEvent.type) === 'wheel') {
31187
+ this.pendingEvents[lastEventIndex] = {
31188
+ ...inputEvent,
31189
+ deltaX: lastEvent.deltaX + inputEvent.deltaX,
31190
+ deltaY: lastEvent.deltaY + inputEvent.deltaY,
31191
+ };
31192
+ return;
31193
+ }
31194
+ if (inputEvent.type === 'resize') {
31195
+ for (let index = this.pendingEvents.length - 1; index >= 0; index--) {
31196
+ if (this.pendingEvents[index].type === 'resize') {
31197
+ this.pendingEvents.splice(index, 1);
31198
+ }
31199
+ }
31200
+ }
31201
+ this.pendingEvents.push(inputEvent);
31202
+ }
31203
+ /**
31204
+ * Delivers pending events one by one until the queue is drained.
31205
+ */
31206
+ async flushPendingEvents() {
31207
+ if (this.isFlushing) {
31208
+ return;
31209
+ }
31210
+ this.isFlushing = true;
31211
+ try {
31212
+ while (this.pendingEvents.length > 0 && !this.isDisposed) {
31213
+ const inputEvent = this.pendingEvents.shift();
31214
+ await this.deliverInputEvent(inputEvent);
31215
+ }
31216
+ }
31217
+ finally {
31218
+ this.isFlushing = false;
31219
+ }
31220
+ }
31221
+ /**
31222
+ * Sends one event to the server, surfacing the returned session state.
31223
+ *
31224
+ * @param inputEvent - Event to deliver.
31225
+ */
31226
+ async deliverInputEvent(inputEvent) {
31227
+ var _a, _b, _c;
31228
+ try {
31229
+ const response = await fetch((_a = this.options.endpointUrl) !== null && _a !== void 0 ? _a : PAGE_PREVIEW_INPUT_ENDPOINT_URL, {
31230
+ method: 'POST',
31231
+ headers: {
31232
+ 'Content-Type': 'application/json',
31233
+ },
31234
+ body: JSON.stringify({ sessionId: this.options.sessionId, ...inputEvent }),
31235
+ keepalive: true,
31236
+ });
31237
+ const data = (await response.json().catch(() => null));
31238
+ if ((data === null || data === void 0 ? void 0 : data.state) && typeof data.state.url === 'string') {
31239
+ (_c = (_b = this.options).onSessionState) === null || _c === void 0 ? void 0 : _c.call(_b, data.state);
31240
+ }
31241
+ }
31242
+ catch (_d) {
31243
+ // Input is best-effort — one dropped event must not break the live preview
31244
+ }
31245
+ }
31246
+ }
31247
+
31248
+ /**
31249
+ * Smallest viewport accepted for one live page-preview browser session.
31250
+ *
31251
+ * @private constant shared between `<LiveBrowserPreview/>` and the Agents Server page-preview routes
31252
+ */
31253
+ const PAGE_PREVIEW_MIN_VIEWPORT = {
31254
+ width: 320,
31255
+ height: 240,
31256
+ };
31257
+ /**
31258
+ * Largest viewport accepted for one live page-preview browser session.
31259
+ *
31260
+ * @private constant shared between `<LiveBrowserPreview/>` and the Agents Server page-preview routes
31261
+ */
31262
+ const PAGE_PREVIEW_MAX_VIEWPORT = {
31263
+ width: 1920,
31264
+ height: 1200,
31265
+ };
31266
+ /**
31267
+ * Viewport used when the client did not measure its preview area yet.
31268
+ *
31269
+ * @private constant shared between `<LiveBrowserPreview/>` and the Agents Server page-preview routes
30192
31270
  */
30193
- const BROWSER_PREVIEW_RANDOM_SUFFIX_LENGTH = 24;
31271
+ const PAGE_PREVIEW_DEFAULT_VIEWPORT = {
31272
+ width: 1280,
31273
+ height: 800,
31274
+ };
31275
+ /**
31276
+ * Clamps one requested page-preview viewport into the supported bounds.
31277
+ *
31278
+ * @param width - Requested viewport width.
31279
+ * @param height - Requested viewport height.
31280
+ * @returns Rounded viewport within the supported bounds, or `null` when the values are not finite numbers.
31281
+ *
31282
+ * @private utility shared between `<LiveBrowserPreview/>` and the Agents Server page-preview routes
31283
+ */
31284
+ function clampPagePreviewViewport(width, height) {
31285
+ if (typeof width !== 'number' ||
31286
+ typeof height !== 'number' ||
31287
+ !Number.isFinite(width) ||
31288
+ !Number.isFinite(height)) {
31289
+ return null;
31290
+ }
31291
+ return {
31292
+ width: Math.round(Math.max(PAGE_PREVIEW_MIN_VIEWPORT.width, Math.min(PAGE_PREVIEW_MAX_VIEWPORT.width, width))),
31293
+ height: Math.round(Math.max(PAGE_PREVIEW_MIN_VIEWPORT.height, Math.min(PAGE_PREVIEW_MAX_VIEWPORT.height, height))),
31294
+ };
31295
+ }
31296
+
31297
+ /**
31298
+ * Milliseconds between two toolbar state polls.
31299
+ *
31300
+ * @private constant of `<LiveBrowserPreview/>`
31301
+ */
31302
+ const PAGE_PREVIEW_STATE_POLL_INTERVAL_MS = 2500;
31303
+ /**
31304
+ * Debounce applied before a preview-area resize is forwarded to the remote viewport.
31305
+ *
31306
+ * @private constant of `<LiveBrowserPreview/>`
31307
+ */
31308
+ const PAGE_PREVIEW_RESIZE_DEBOUNCE_MS = 400;
31309
+ /**
31310
+ * Smallest local zoom level of the preview.
31311
+ *
31312
+ * @private constant of `<LiveBrowserPreview/>`
31313
+ */
31314
+ const PAGE_PREVIEW_MIN_ZOOM = 0.5;
31315
+ /**
31316
+ * Largest local zoom level of the preview.
31317
+ *
31318
+ * @private constant of `<LiveBrowserPreview/>`
31319
+ */
31320
+ const PAGE_PREVIEW_MAX_ZOOM = 3;
31321
+ /**
31322
+ * Zoom step applied by the toolbar zoom buttons.
31323
+ *
31324
+ * @private constant of `<LiveBrowserPreview/>`
31325
+ */
31326
+ const PAGE_PREVIEW_ZOOM_STEP = 0.25;
31327
+ /**
31328
+ * Zoom factor applied per Ctrl+wheel (or pinch) notch.
31329
+ *
31330
+ * @private constant of `<LiveBrowserPreview/>`
31331
+ */
31332
+ const PAGE_PREVIEW_WHEEL_ZOOM_FACTOR = 1.1;
31333
+ /**
31334
+ * Milliseconds within which repeated presses at the same spot count as multi-clicks.
31335
+ *
31336
+ * @private constant of `<LiveBrowserPreview/>`
31337
+ */
31338
+ const PAGE_PREVIEW_MULTI_CLICK_INTERVAL_MS = 500;
31339
+ /**
31340
+ * Pixel tolerance within which repeated presses count as multi-clicks.
31341
+ *
31342
+ * @private constant of `<LiveBrowserPreview/>`
31343
+ */
31344
+ const PAGE_PREVIEW_MULTI_CLICK_DISTANCE_PX = 5;
31345
+ /**
31346
+ * Remote-desktop-like live preview of one server-side headless browser session.
31347
+ *
31348
+ * Renders the MJPEG stream of the Agents Server page-preview route and forwards natural
31349
+ * browser interactions to it — hovering, clicking, double-clicking, dragging and text
31350
+ * selection (raw pointer presses with click counts), scrolling, typing and keyboard
31351
+ * shortcuts. A browser-like toolbar adds history navigation, an editable address bar,
31352
+ * local zoom (Ctrl+wheel or buttons), and a full screen mode. The remote viewport follows
31353
+ * the size of the preview area, so the page is always rendered at the size the user sees.
31354
+ *
31355
+ * @private component of `<ChatCitationModal/>`
31356
+ */
31357
+ function LiveBrowserPreview({ src, title, agentIdentifier, onClose }) {
31358
+ var _a, _b, _c, _d;
31359
+ const [reconnectCounter, setReconnectCounter] = useState(0);
31360
+ // A fresh session id is needed per previewed URL and per reconnect attempt
31361
+ const sessionId = useMemo(() => createPagePreviewSessionId(), [src, reconnectCounter]);
31362
+ const [streamViewport, setStreamViewport] = useState(null);
31363
+ const [sessionState, setSessionState] = useState(null);
31364
+ const [urlDraft, setUrlDraft] = useState(null);
31365
+ const [zoomLevel, setZoomLevel] = useState(1);
31366
+ const [isFullscreen, setIsFullscreen] = useState(false);
31367
+ const [isStreamLoaded, setIsStreamLoaded] = useState(false);
31368
+ const [isDisconnected, setIsDisconnected] = useState(false);
31369
+ const containerRef = useRef(null);
31370
+ const streamAreaRef = useRef(null);
31371
+ const imageRef = useRef(null);
31372
+ const lastSentViewportRef = useRef(null);
31373
+ const hasSessionStateRef = useRef(false);
31374
+ const clickTrackerRef = useRef({ atMs: 0, clientX: 0, clientY: 0, count: 1 });
31375
+ // Note: The queue is intentionally not disposed on unmount — React StrictMode re-runs effects
31376
+ // with the same memoized instance, and an unreferenced queue simply drains and gets collected
31377
+ const inputQueue = useMemo(() => new PagePreviewInputQueue({
31378
+ sessionId,
31379
+ onSessionState: (state) => {
31380
+ hasSessionStateRef.current = true;
31381
+ setSessionState(state);
31382
+ },
31383
+ }), [sessionId]);
31384
+ // [1] Measure the preview area before opening the stream so the remote viewport matches it
31385
+ useLayoutEffect(() => {
31386
+ hasSessionStateRef.current = false;
31387
+ const streamArea = streamAreaRef.current;
31388
+ const measuredViewport = streamArea && streamArea.clientWidth > 0 && streamArea.clientHeight > 0
31389
+ ? clampPagePreviewViewport(streamArea.clientWidth, streamArea.clientHeight)
31390
+ : null;
31391
+ const initialViewport = measuredViewport !== null && measuredViewport !== void 0 ? measuredViewport : PAGE_PREVIEW_DEFAULT_VIEWPORT;
31392
+ lastSentViewportRef.current = initialViewport;
31393
+ setStreamViewport(initialViewport);
31394
+ setIsStreamLoaded(false);
31395
+ }, [sessionId]);
31396
+ // [2] Follow preview-area resizes (modal resize, window resize, full screen) with the remote viewport
31397
+ useEffect(() => {
31398
+ if (typeof ResizeObserver === 'undefined') {
31399
+ return undefined;
31400
+ }
31401
+ const streamArea = streamAreaRef.current;
31402
+ if (!streamArea) {
31403
+ return undefined;
31404
+ }
31405
+ let debounceTimeout = null;
31406
+ const resizeObserver = new ResizeObserver(() => {
31407
+ if (debounceTimeout !== null) {
31408
+ clearTimeout(debounceTimeout);
31409
+ }
31410
+ debounceTimeout = setTimeout(() => {
31411
+ debounceTimeout = null;
31412
+ if (streamArea.clientWidth <= 0 || streamArea.clientHeight <= 0) {
31413
+ return;
31414
+ }
31415
+ const viewport = clampPagePreviewViewport(streamArea.clientWidth, streamArea.clientHeight);
31416
+ if (!viewport) {
31417
+ return;
31418
+ }
31419
+ const lastSentViewport = lastSentViewportRef.current;
31420
+ if (lastSentViewport &&
31421
+ lastSentViewport.width === viewport.width &&
31422
+ lastSentViewport.height === viewport.height) {
31423
+ return;
31424
+ }
31425
+ lastSentViewportRef.current = viewport;
31426
+ inputQueue.send({ type: 'resize', ...viewport });
31427
+ }, PAGE_PREVIEW_RESIZE_DEBOUNCE_MS);
31428
+ });
31429
+ resizeObserver.observe(streamArea);
31430
+ return () => {
31431
+ resizeObserver.disconnect();
31432
+ if (debounceTimeout !== null) {
31433
+ clearTimeout(debounceTimeout);
31434
+ }
31435
+ };
31436
+ }, [inputQueue]);
31437
+ // [3] Poll the session navigation state so the toolbar follows links clicked inside the page
31438
+ useEffect(() => {
31439
+ if (isDisconnected) {
31440
+ return undefined;
31441
+ }
31442
+ let isCancelled = false;
31443
+ const pollSessionState = async () => {
31444
+ try {
31445
+ const response = await fetch(`/api/page-preview/state?sessionId=${encodeURIComponent(sessionId)}`);
31446
+ if (isCancelled) {
31447
+ return;
31448
+ }
31449
+ if (response.status === 404 && hasSessionStateRef.current) {
31450
+ setIsDisconnected(true);
31451
+ return;
31452
+ }
31453
+ const data = (await response.json().catch(() => null));
31454
+ if (isCancelled || !(data === null || data === void 0 ? void 0 : data.state) || typeof data.state.url !== 'string') {
31455
+ return;
31456
+ }
31457
+ hasSessionStateRef.current = true;
31458
+ setSessionState(data.state);
31459
+ }
31460
+ catch (_a) {
31461
+ // Polling is best-effort — the toolbar just keeps its last known state
31462
+ }
31463
+ };
31464
+ const pollInterval = setInterval(pollSessionState, PAGE_PREVIEW_STATE_POLL_INTERVAL_MS);
31465
+ return () => {
31466
+ isCancelled = true;
31467
+ clearInterval(pollInterval);
31468
+ };
31469
+ }, [sessionId, isDisconnected]);
31470
+ // [4] Track full screen changes (including Escape which is handled by the browser itself)
31471
+ useEffect(() => {
31472
+ const handleFullscreenChange = () => {
31473
+ setIsFullscreen(document.fullscreenElement === containerRef.current);
31474
+ };
31475
+ document.addEventListener('fullscreenchange', handleFullscreenChange);
31476
+ return () => {
31477
+ document.removeEventListener('fullscreenchange', handleFullscreenChange);
31478
+ };
31479
+ }, []);
31480
+ const applyZoomLevel = (requestedZoomLevel) => {
31481
+ setZoomLevel(Math.round(Math.max(PAGE_PREVIEW_MIN_ZOOM, Math.min(PAGE_PREVIEW_MAX_ZOOM, requestedZoomLevel)) * 100) /
31482
+ 100);
31483
+ };
31484
+ // [5] Wheel must be attached natively (non-passive) so page scroll and browser zoom are suppressed
31485
+ useEffect(() => {
31486
+ const streamArea = streamAreaRef.current;
31487
+ if (!streamArea) {
31488
+ return undefined;
31489
+ }
31490
+ const handleWheel = (event) => {
31491
+ event.preventDefault();
31492
+ if (event.ctrlKey || event.metaKey) {
31493
+ // Ctrl+wheel (and trackpad pinch) zooms the local preview like remote desktop viewers
31494
+ const zoomFactor = event.deltaY < 0 ? PAGE_PREVIEW_WHEEL_ZOOM_FACTOR : 1 / PAGE_PREVIEW_WHEEL_ZOOM_FACTOR;
31495
+ setZoomLevel((previousZoomLevel) => Math.round(Math.max(PAGE_PREVIEW_MIN_ZOOM, Math.min(PAGE_PREVIEW_MAX_ZOOM, previousZoomLevel * zoomFactor)) * 100) / 100);
31496
+ return;
31497
+ }
31498
+ const pointer = resolveStreamPointerRatio(imageRef.current, event.clientX, event.clientY);
31499
+ if (!pointer) {
31500
+ return;
31501
+ }
31502
+ inputQueue.send({ type: 'wheel', ...pointer, deltaX: event.deltaX, deltaY: event.deltaY });
31503
+ };
31504
+ streamArea.addEventListener('wheel', handleWheel, { passive: false });
31505
+ return () => {
31506
+ streamArea.removeEventListener('wheel', handleWheel);
31507
+ };
31508
+ }, [inputQueue]);
31509
+ const resolveClickCount = (event) => {
31510
+ const now = Date.now();
31511
+ const tracker = clickTrackerRef.current;
31512
+ const isSameSpot = Math.abs(event.clientX - tracker.clientX) <= PAGE_PREVIEW_MULTI_CLICK_DISTANCE_PX &&
31513
+ Math.abs(event.clientY - tracker.clientY) <= PAGE_PREVIEW_MULTI_CLICK_DISTANCE_PX;
31514
+ const count = now - tracker.atMs <= PAGE_PREVIEW_MULTI_CLICK_INTERVAL_MS && isSameSpot
31515
+ ? Math.min(3, tracker.count + 1)
31516
+ : 1;
31517
+ clickTrackerRef.current = { atMs: now, clientX: event.clientX, clientY: event.clientY, count };
31518
+ return count;
31519
+ };
31520
+ const handlePointerDown = (event) => {
31521
+ var _a, _b, _c;
31522
+ event.preventDefault();
31523
+ (_a = streamAreaRef.current) === null || _a === void 0 ? void 0 : _a.focus({ preventScroll: true });
31524
+ try {
31525
+ (_c = (_b = event.currentTarget).setPointerCapture) === null || _c === void 0 ? void 0 : _c.call(_b, event.pointerId);
31526
+ }
31527
+ catch (_d) {
31528
+ // Pointer capture is unavailable in some environments (for example test DOMs)
31529
+ }
31530
+ const pointer = resolveStreamPointerRatio(event.currentTarget, event.clientX, event.clientY);
31531
+ if (!pointer) {
31532
+ return;
31533
+ }
31534
+ inputQueue.send({
31535
+ type: 'down',
31536
+ ...pointer,
31537
+ button: resolvePointerButton(event.button),
31538
+ clickCount: resolveClickCount(event),
31539
+ });
31540
+ };
31541
+ const handlePointerMove = (event) => {
31542
+ const pointer = resolveStreamPointerRatio(event.currentTarget, event.clientX, event.clientY);
31543
+ if (!pointer) {
31544
+ return;
31545
+ }
31546
+ inputQueue.send({ type: 'move', ...pointer });
31547
+ };
31548
+ const handlePointerUp = (event) => {
31549
+ const pointer = resolveStreamPointerRatio(event.currentTarget, event.clientX, event.clientY);
31550
+ if (!pointer) {
31551
+ return;
31552
+ }
31553
+ inputQueue.send({
31554
+ type: 'up',
31555
+ ...pointer,
31556
+ button: resolvePointerButton(event.button),
31557
+ clickCount: clickTrackerRef.current.count,
31558
+ });
31559
+ };
31560
+ const handleKeyDown = (event) => {
31561
+ event.preventDefault();
31562
+ inputQueue.send({ type: 'keydown', key: event.key });
31563
+ };
31564
+ const handleKeyUp = (event) => {
31565
+ event.preventDefault();
31566
+ inputQueue.send({ type: 'keyup', key: event.key });
31567
+ };
31568
+ const handleNavigate = (action) => {
31569
+ inputQueue.send({ type: 'navigate', action });
31570
+ };
31571
+ const handleUrlSubmit = (rawUrl) => {
31572
+ setUrlDraft(null);
31573
+ const normalizedUrl = normalizeSubmittedPreviewUrl(rawUrl);
31574
+ if (!normalizedUrl) {
31575
+ return;
31576
+ }
31577
+ inputQueue.send({ type: 'goto', url: normalizedUrl });
31578
+ };
31579
+ const toggleFullscreen = () => {
31580
+ var _a, _b;
31581
+ const container = containerRef.current;
31582
+ if (!container) {
31583
+ return;
31584
+ }
31585
+ if (document.fullscreenElement === container) {
31586
+ void ((_a = document.exitFullscreen) === null || _a === void 0 ? void 0 : _a.call(document).catch(() => undefined));
31587
+ }
31588
+ else {
31589
+ void ((_b = container.requestFullscreen) === null || _b === void 0 ? void 0 : _b.call(container).catch(() => undefined));
31590
+ }
31591
+ };
31592
+ const reconnect = () => {
31593
+ setIsDisconnected(false);
31594
+ setSessionState(null);
31595
+ setUrlDraft(null);
31596
+ setStreamViewport(null);
31597
+ setReconnectCounter((previousCounter) => previousCounter + 1);
31598
+ };
31599
+ const streamUrl = streamViewport
31600
+ ? `/api/page-preview/stream?url=${encodeURIComponent(src)}&sessionId=${encodeURIComponent(sessionId)}&width=${streamViewport.width}&height=${streamViewport.height}${agentIdentifier ? `&agent=${encodeURIComponent(agentIdentifier)}` : ''}`
31601
+ : null;
31602
+ const displayedUrl = (_a = urlDraft !== null && urlDraft !== void 0 ? urlDraft : sessionState === null || sessionState === void 0 ? void 0 : sessionState.url) !== null && _a !== void 0 ? _a : src;
31603
+ return (jsxs("div", { className: styles$7.liveBrowserPreview, ref: containerRef, children: [jsx(LiveBrowserPreviewToolbar, { displayedUrl: displayedUrl, externalUrl: (_b = sessionState === null || sessionState === void 0 ? void 0 : sessionState.url) !== null && _b !== void 0 ? _b : src, canGoBack: (_c = sessionState === null || sessionState === void 0 ? void 0 : sessionState.canGoBack) !== null && _c !== void 0 ? _c : null, canGoForward: (_d = sessionState === null || sessionState === void 0 ? void 0 : sessionState.canGoForward) !== null && _d !== void 0 ? _d : null, zoomLevel: zoomLevel, isFullscreen: isFullscreen, onNavigate: handleNavigate, onUrlDraftChange: setUrlDraft, onUrlSubmit: handleUrlSubmit, onZoomIn: () => applyZoomLevel(zoomLevel + PAGE_PREVIEW_ZOOM_STEP), onZoomOut: () => applyZoomLevel(zoomLevel - PAGE_PREVIEW_ZOOM_STEP), onZoomReset: () => applyZoomLevel(1), onToggleFullscreen: toggleFullscreen, onClose: onClose }), jsxs("div", { className: styles$7.liveBrowserPreviewStreamArea, ref: streamAreaRef, tabIndex: 0, role: "application", "aria-label": `Interactive live browser preview of ${title}`, onKeyDown: handleKeyDown, onKeyUp: handleKeyUp, children: [!isStreamLoaded && !isDisconnected && (jsx("div", { className: styles$7.liveBrowserPreviewConnecting, children: "Connecting to the live browser\u2026" })), streamUrl && !isDisconnected && (jsx("img", { ref: imageRef, src: streamUrl, alt: `Live browser preview of ${title}`, className: styles$7.liveBrowserPreviewStreamImage, style: { width: `${zoomLevel * 100}%` }, draggable: false, onLoad: () => setIsStreamLoaded(true), onError: () => setIsDisconnected(true), onPointerDown: handlePointerDown, onPointerMove: handlePointerMove, onPointerUp: handlePointerUp, onPointerCancel: handlePointerUp, onContextMenu: (event) => event.preventDefault() })), isDisconnected && (jsxs("div", { className: styles$7.liveBrowserPreviewOverlay, children: [jsx("p", { children: "The live browser preview was disconnected." }), jsx("button", { type: "button", className: styles$7.liveBrowserPreviewOverlayButton, onClick: reconnect, children: "Reconnect" })] }))] })] }));
31604
+ }
31605
+ /**
31606
+ * Resolves pointer coordinates as ratios inside the streamed preview image.
31607
+ *
31608
+ * @param image - Streamed preview image element.
31609
+ * @param clientX - Pointer X in client coordinates.
31610
+ * @param clientY - Pointer Y in client coordinates.
31611
+ * @returns Pointer ratios clamped to `0..1`, or `null` when the image has no measurable size.
31612
+ */
31613
+ function resolveStreamPointerRatio(image, clientX, clientY) {
31614
+ if (!image) {
31615
+ return null;
31616
+ }
31617
+ const rect = image.getBoundingClientRect();
31618
+ if (rect.width <= 0 || rect.height <= 0) {
31619
+ return null;
31620
+ }
31621
+ return {
31622
+ xRatio: Math.max(0, Math.min(1, (clientX - rect.left) / rect.width)),
31623
+ yRatio: Math.max(0, Math.min(1, (clientY - rect.top) / rect.height)),
31624
+ };
31625
+ }
31626
+ /**
31627
+ * Maps one `PointerEvent.button` value onto the preview input protocol.
31628
+ *
31629
+ * @param button - Raw pointer button index.
31630
+ * @returns Pointer button name.
31631
+ */
31632
+ function resolvePointerButton(button) {
31633
+ switch (button) {
31634
+ case 1:
31635
+ return 'middle';
31636
+ case 2:
31637
+ return 'right';
31638
+ default:
31639
+ return 'left';
31640
+ }
31641
+ }
31642
+ /**
31643
+ * Normalizes one address-bar submission into an absolute HTTP(S) URL.
31644
+ *
31645
+ * @param rawUrl - Text typed into the preview address bar.
31646
+ * @returns Absolute URL (missing schemes default to `https://`), or `null` when invalid.
31647
+ */
31648
+ function normalizeSubmittedPreviewUrl(rawUrl) {
31649
+ const trimmedUrl = rawUrl.trim();
31650
+ if (!trimmedUrl) {
31651
+ return null;
31652
+ }
31653
+ const candidateUrl = /^[a-z][a-z0-9+.-]*:/i.test(trimmedUrl) ? trimmedUrl : `https://${trimmedUrl}`;
31654
+ try {
31655
+ const parsedUrl = new URL(candidateUrl);
31656
+ return parsedUrl.protocol === 'http:' || parsedUrl.protocol === 'https:' ? parsedUrl.href : null;
31657
+ }
31658
+ catch (_a) {
31659
+ return null;
31660
+ }
31661
+ }
31662
+
30194
31663
  /**
30195
31664
  * Renders a citation URL preview as an iframe when the target page allows embedding,
30196
- * or falls back to a live server-side browser stream with an "Open in new tab" link
31665
+ * or falls back to an interactive live server-side browser session (`<LiveBrowserPreview/>`)
30197
31666
  * when it does not (e.g. X-Frame-Options: DENY / SAMEORIGIN).
30198
31667
  *
30199
31668
  * Embedding capability is determined by `GET /api/page-preview/check?url=<url>`.
@@ -30201,113 +31670,40 @@ const BROWSER_PREVIEW_RANDOM_SUFFIX_LENGTH = 24;
30201
31670
  *
30202
31671
  * @private component of `<ChatCitationModal/>`
30203
31672
  */
30204
- function CitationIframePreview({ src, title }) {
30205
- const [status, setStatus] = useState('loading');
30206
- const browserPreviewSessionId = useMemo(() => createBrowserPreviewSessionId(), [src]);
31673
+ function CitationIframePreview({ src, title, agentIdentifier, onClose, onStatusChange, initialStatus = 'loading', }) {
31674
+ const [status, setStatus] = useState(initialStatus);
30207
31675
  useEffect(() => {
30208
31676
  let cancelled = false;
31677
+ setStatus(initialStatus);
31678
+ onStatusChange === null || onStatusChange === void 0 ? void 0 : onStatusChange(initialStatus);
30209
31679
  fetch(`/api/page-preview/check?url=${encodeURIComponent(src)}`)
30210
31680
  .then((response) => response.json())
30211
31681
  .then((data) => {
30212
31682
  if (!cancelled) {
30213
- setStatus(data.canEmbed ? 'embed' : 'browser-stream');
31683
+ const nextStatus = data.canEmbed ? 'embed' : 'browser-stream';
31684
+ setStatus(nextStatus);
31685
+ onStatusChange === null || onStatusChange === void 0 ? void 0 : onStatusChange(nextStatus);
30214
31686
  }
30215
31687
  })
30216
31688
  .catch(() => {
30217
31689
  // API not available — fall back to iframe (e.g. outside agents-server)
30218
31690
  if (!cancelled) {
30219
31691
  setStatus('embed');
31692
+ onStatusChange === null || onStatusChange === void 0 ? void 0 : onStatusChange('embed');
30220
31693
  }
30221
31694
  });
30222
31695
  return () => {
30223
31696
  cancelled = true;
30224
31697
  };
30225
- }, [src]);
31698
+ }, [initialStatus, onStatusChange, src]);
30226
31699
  if (status === 'loading') {
30227
31700
  return jsx("div", { className: styles$7.citationIframeLoading, children: "Loading preview\u2026" });
30228
31701
  }
30229
31702
  if (status === 'browser-stream') {
30230
- return (jsxs("div", { className: styles$7.citationBrowserStreamFallback, children: [jsx("img", { src: `/api/page-preview/stream?url=${encodeURIComponent(src)}&sessionId=${encodeURIComponent(browserPreviewSessionId)}`, alt: `Live browser preview of ${title}`, className: styles$7.citationBrowserStreamImage, draggable: false, onClick: (event) => {
30231
- const pointerRatio = resolveBrowserPreviewPointerRatio(event);
30232
- if (!pointerRatio) {
30233
- return;
30234
- }
30235
- sendBrowserPreviewInput({
30236
- sessionId: browserPreviewSessionId,
30237
- type: 'click',
30238
- ...pointerRatio,
30239
- });
30240
- }, onWheel: (event) => {
30241
- event.preventDefault();
30242
- const pointerRatio = resolveBrowserPreviewPointerRatio(event);
30243
- if (!pointerRatio) {
30244
- return;
30245
- }
30246
- sendBrowserPreviewInput({
30247
- sessionId: browserPreviewSessionId,
30248
- type: 'wheel',
30249
- deltaX: event.deltaX,
30250
- deltaY: event.deltaY,
30251
- ...pointerRatio,
30252
- });
30253
- } }), jsx("a", { href: src, target: "_blank", rel: "noopener noreferrer", className: styles$7.citationBrowserStreamLink, children: "Open in new tab \u2197" })] }));
31703
+ return jsx(LiveBrowserPreview, { src: src, title: title, agentIdentifier: agentIdentifier, onClose: onClose });
30254
31704
  }
30255
31705
  return jsx("iframe", { src: src, className: styles$7.citationIframe, title: title });
30256
31706
  }
30257
- /**
30258
- * Creates one client-side browser preview session id.
30259
- *
30260
- * @returns Session id accepted by Agents Server page-preview stream routes.
30261
- */
30262
- function createBrowserPreviewSessionId() {
30263
- const randomId = globalThis.crypto && 'randomUUID' in globalThis.crypto
30264
- ? globalThis.crypto.randomUUID()
30265
- : createFallbackBrowserPreviewSessionSuffix();
30266
- return `${BROWSER_PREVIEW_SESSION_ID_PREFIX}${randomId}`.toLowerCase();
30267
- }
30268
- /**
30269
- * Creates a sufficiently long fallback session suffix when Web Crypto UUIDs are unavailable.
30270
- *
30271
- * @returns Lowercase random suffix.
30272
- */
30273
- function createFallbackBrowserPreviewSessionSuffix() {
30274
- let suffix = '';
30275
- while (suffix.length < BROWSER_PREVIEW_RANDOM_SUFFIX_LENGTH) {
30276
- suffix += Math.random().toString(36).slice(2);
30277
- }
30278
- return suffix.slice(0, BROWSER_PREVIEW_RANDOM_SUFFIX_LENGTH);
30279
- }
30280
- /**
30281
- * Resolves pointer coordinates as ratios inside the streamed preview image.
30282
- *
30283
- * @param event - Mouse or wheel event fired inside the live preview image.
30284
- * @returns Pointer ratio or `null` when the image has no measurable size.
30285
- */
30286
- function resolveBrowserPreviewPointerRatio(event) {
30287
- const rect = event.currentTarget.getBoundingClientRect();
30288
- if (rect.width <= 0 || rect.height <= 0) {
30289
- return null;
30290
- }
30291
- return {
30292
- xRatio: (event.clientX - rect.left) / rect.width,
30293
- yRatio: (event.clientY - rect.top) / rect.height,
30294
- };
30295
- }
30296
- /**
30297
- * Sends one browser-preview interaction to the Agents Server stream session.
30298
- *
30299
- * @param payload - Browser-preview input payload.
30300
- */
30301
- function sendBrowserPreviewInput(payload) {
30302
- void fetch('/api/page-preview/input', {
30303
- method: 'POST',
30304
- headers: {
30305
- 'Content-Type': 'application/json',
30306
- },
30307
- body: JSON.stringify(payload),
30308
- keepalive: true,
30309
- }).catch(() => undefined);
30310
- }
30311
31707
 
30312
31708
  /**
30313
31709
  * Empty citation used to keep modal hooks unconditional while the modal is closed.
@@ -30325,13 +31721,17 @@ const EMPTY_MODAL_CITATION = {
30325
31721
  */
30326
31722
  function ChatCitationModal(props) {
30327
31723
  var _a, _b;
30328
- const { isOpen, citation, participants, resolveCitationLabel, soundSystem, onClose } = props;
31724
+ const { isOpen, citation, participants, resolveCitationLabel, soundSystem, agentIdentifier, onClose } = props;
30329
31725
  const resolvedCitation = citation || EMPTY_MODAL_CITATION;
30330
31726
  const label = useResolvedCitationLabel(resolvedCitation, resolveCitationLabel);
31727
+ const previewUrl = citation ? resolveCitationPreviewUrl(citation, participants) : null;
31728
+ const [citationPreviewStatus, setCitationPreviewStatus] = useState('loading');
31729
+ useEffect(() => {
31730
+ setCitationPreviewStatus('loading');
31731
+ }, [isOpen, previewUrl, citation === null || citation === void 0 ? void 0 : citation.source]);
30331
31732
  if (!isOpen || !citation) {
30332
31733
  return null;
30333
31734
  }
30334
- const previewUrl = resolveCitationPreviewUrl(citation, participants);
30335
31735
  const isValidUrl = !!previewUrl;
30336
31736
  const previewTarget = previewUrl !== null && previewUrl !== void 0 ? previewUrl : citation.source;
30337
31737
  const previewBase = previewTarget.split(/[?#]/)[0];
@@ -30342,23 +31742,25 @@ function ChatCitationModal(props) {
30342
31742
  const hasTextPreview = !isValidUrl && (citation.excerpt || isTextCitation);
30343
31743
  const textPreviewContent = isTextCitation ? citation.source : (_b = citation.excerpt) !== null && _b !== void 0 ? _b : '';
30344
31744
  const textPreviewHeading = isTextCitation ? 'Text:' : 'Excerpt:';
30345
- return (jsx("div", { className: styles$7.ratingModal, onClick: (event) => {
31745
+ const isLiveBrowserPreview = isValidUrl && !isImage && citationPreviewStatus === 'browser-stream';
31746
+ const citationIframePreview = isValidUrl && !isImage ? (jsx(CitationIframePreview, { src: previewUrl !== null && previewUrl !== void 0 ? previewUrl : citation.source, title: `Preview of ${label}`, agentIdentifier: agentIdentifier, onClose: isLiveBrowserPreview ? onClose : undefined, onStatusChange: setCitationPreviewStatus, initialStatus: citationPreviewStatus })) : null;
31747
+ return (jsx("div", { className: styles$7.ratingModal, "data-chat-modal": isLiveBrowserPreview ? 'citation-browser' : undefined, onClick: (event) => {
30346
31748
  if (event.target === event.currentTarget) {
30347
31749
  onClose();
30348
31750
  }
30349
- }, children: jsxs("div", { className: classNames(styles$7.ratingModalContent, styles$7.toolCallModal), children: [jsx("button", { type: "button", className: styles$7.modalCloseButton, onClick: onClose, "aria-label": "Close dialog", children: jsx(CloseIcon, {}) }), jsxs("div", { className: styles$7.searchModalHeader, children: [jsx("span", { className: styles$7.searchModalIcon, children: "\uD83D\uDCC4" }), jsx("h3", { className: styles$7.searchModalQuery, children: label })] }), jsx("div", { className: styles$7.searchModalContent, children: jsx("div", { className: styles$7.citationDetails, children: isValidUrl ? (jsx("div", { className: styles$7.citationPreview, children: isImage ? (jsx("img", { src: previewUrl !== null && previewUrl !== void 0 ? previewUrl : citation.source, className: styles$7.citationImage, alt: `Preview of ${citation.source}`, style: {
30350
- maxWidth: '100%',
30351
- maxHeight: '100%',
30352
- objectFit: 'contain',
30353
- display: 'block',
30354
- margin: '0 auto',
30355
- } })) : (jsx(CitationIframePreview, { src: previewUrl !== null && previewUrl !== void 0 ? previewUrl : citation.source, title: `Preview of ${label}` })) })) : hasTextPreview ? (jsxs("div", { className: styles$7.citationExcerpt, children: [jsx("h4", { children: textPreviewHeading }), jsx(MarkdownContent, { content: textPreviewContent })] })) : (jsx("div", { className: styles$7.noResults, onClick: () => {
30356
- console.info({ citation });
30357
- }, children: jsx("p", { children: "\uD83D\uDCC4 Document preview unavailable" }) })) }) }), jsx("div", { className: styles$7.ratingActions, children: previewUrl && (jsxs("a", { href: previewUrl, download: citation.source, target: "_blank", rel: "noopener noreferrer", className: styles$7.downloadButton, onClick: () => {
30358
- if (soundSystem) {
30359
- /* not await */ soundSystem.play('button_click');
30360
- }
30361
- }, children: [jsx(DownloadIcon, { size: 18 }), jsx("span", { children: "Download" })] })) })] }) }));
31751
+ }, children: jsx("div", { className: classNames(styles$7.ratingModalContent, styles$7.toolCallModal, isLiveBrowserPreview && styles$7.citationBrowserModal), children: isLiveBrowserPreview ? (jsx("div", { className: styles$7.citationBrowserModalBody, children: citationIframePreview })) : (jsxs(Fragment, { children: [jsx("button", { type: "button", className: styles$7.modalCloseButton, onClick: onClose, "aria-label": "Close dialog", children: jsx(CloseIcon, {}) }), jsxs("div", { className: styles$7.searchModalHeader, children: [jsx("span", { className: styles$7.searchModalIcon, children: "\uD83D\uDCC4" }), jsx("h3", { className: styles$7.searchModalQuery, children: label })] }), jsx("div", { className: styles$7.searchModalContent, children: jsx("div", { className: styles$7.citationDetails, children: isValidUrl ? (jsx("div", { className: styles$7.citationPreview, children: isImage ? (jsx("img", { src: previewUrl !== null && previewUrl !== void 0 ? previewUrl : citation.source, className: styles$7.citationImage, alt: `Preview of ${citation.source}`, style: {
31752
+ maxWidth: '100%',
31753
+ maxHeight: '100%',
31754
+ objectFit: 'contain',
31755
+ display: 'block',
31756
+ margin: '0 auto',
31757
+ } })) : (citationIframePreview) })) : hasTextPreview ? (jsxs("div", { className: styles$7.citationExcerpt, children: [jsx("h4", { children: textPreviewHeading }), jsx(MarkdownContent, { content: textPreviewContent })] })) : (jsx("div", { className: styles$7.noResults, onClick: () => {
31758
+ console.info({ citation });
31759
+ }, children: jsx("p", { children: "\uD83D\uDCC4 Document preview unavailable" }) })) }) }), jsx("div", { className: styles$7.ratingActions, children: previewUrl && (jsxs("a", { href: previewUrl, download: citation.source, target: "_blank", rel: "noopener noreferrer", className: styles$7.downloadButton, onClick: () => {
31760
+ if (soundSystem) {
31761
+ /* not await */ soundSystem.play('button_click');
31762
+ }
31763
+ }, children: [jsx(DownloadIcon, { size: 18 }), jsx("span", { children: "Download" })] })) })] })) }) }));
30362
31764
  }
30363
31765
 
30364
31766
  /**
@@ -33487,10 +34889,36 @@ const AvatarProfileTooltip = forwardRef(function AvatarProfileTooltip({ agentSou
33487
34889
  }, children: [jsx("div", { className: styles$4.arrow }), jsx(AvatarProfileFromSource, { agentSource: agentSource })] }), document.body);
33488
34890
  });
33489
34891
 
33490
- var css_248z$3 = ".SourceChip-module_sourceChip__Cqbn0{align-items:center;backdrop-filter:blur(8px);background:hsla(0,0%,100%,.24);background:color-mix(in srgb,var(--message-bg-color,#fff) 74%,hsla(0,0%,100%,.8) 26%);border:1px solid hsla(0,0%,49%,.3);border-color:color-mix(in srgb,var(--message-text-color,#0f172a) 16%,transparent);border-radius:999px;box-shadow:0 2px 8px rgba(15,23,42,.12);color:inherit;cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:600;gap:6px;max-width:min(100%,32rem);padding:5px 11px;transition:all .2s ease}.SourceChip-module_sourceChip__Cqbn0:hover{background:hsla(0,0%,100%,.34);background:color-mix(in srgb,var(--message-bg-color,#fff) 64%,hsla(0,0%,100%,.9) 36%);box-shadow:0 4px 12px rgba(15,23,42,.14);transform:translateY(-1px)}.SourceChip-module_icon__olwcc{flex-shrink:0;font-family:OpenMojiColor,OpenMojiBlack;font-size:1.1em}.SourceChip-module_label__yCkr-{align-items:center;display:flex;font-weight:600;gap:5px;min-width:0;white-space:nowrap}.SourceChip-module_labelText__aFt2z{min-width:0;overflow:hidden;text-overflow:ellipsis}.SourceChip-module_citationId__W7xTo{font-size:.85em;font-weight:500;opacity:.78}.SourceChip-module_suffix__FSlC-{font-size:.85em;font-weight:500;opacity:.82;white-space:nowrap}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNvdXJjZUNoaXAubW9kdWxlLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxQ0FFSSxrQkFBbUIsQ0FlbkIseUJBQTBCLENBVDFCLDhCQUFxQyxDQUNyQyxxRkFBa0csQ0FDbEcsa0NBQTBDLENBQzFDLGlGQUFxRixDQUNyRixtQkFBb0IsQ0FDcEIsdUNBQTRDLENBQzVDLGFBQWMsQ0FFZCxjQUFlLENBZmYsbUJBQW9CLENBSXBCLGVBQWlCLENBQ2pCLGVBQWdCLENBSGhCLE9BQVEsQ0FDUix5QkFBMkIsQ0FHM0IsZ0JBQWlCLENBUWpCLHVCQUdKLENBRUEsMkNBQ0ksOEJBQXFDLENBQ3JDLHFGQUFrRyxDQUVsRyx3Q0FBNkMsQ0FEN0MsMEJBRUosQ0FFQSwrQkFFSSxhQUFjLENBQ2QsdUNBQTZDLENBRjdDLGVBR0osQ0FFQSxnQ0FJSSxrQkFBbUIsQ0FEbkIsWUFBYSxDQUZiLGVBQWdCLENBSWhCLE9BQVEsQ0FDUixXQUFZLENBSlosa0JBS0osQ0FFQSxvQ0FDSSxXQUFZLENBQ1osZUFBZ0IsQ0FDaEIsc0JBQ0osQ0FFQSxxQ0FDSSxlQUFpQixDQUVqQixlQUFnQixDQURoQixXQUVKLENBRUEsaUNBQ0ksZUFBaUIsQ0FFakIsZUFBZ0IsQ0FEaEIsV0FBYSxDQUViLGtCQUNKIiwiZmlsZSI6IlNvdXJjZUNoaXAubW9kdWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5zb3VyY2VDaGlwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNnB4O1xuICAgIG1heC13aWR0aDogbWluKDEwMCUsIDMycmVtKTtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmc6IDVweCAxMXB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNCk7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtYmctY29sb3IsICNmZmZmZmYpIDc0JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpIDI2JSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjMpO1xuICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSkgMTYlLCB0cmFuc3BhcmVudCk7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xMik7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG59XG5cbi5zb3VyY2VDaGlwOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzQpO1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA2NCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSAzNiUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xNCk7XG59XG5cbi5pY29uIHtcbiAgICBmb250LXNpemU6IDEuMWVtO1xuICAgIGZsZXgtc2hyaW5rOiAwO1xuICAgIGZvbnQtZmFtaWx5OiAnT3Blbk1vamlDb2xvcicsICdPcGVuTW9qaUJsYWNrJztcbn1cblxuLmxhYmVsIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNXB4O1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLmxhYmVsVGV4dCB7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5jaXRhdGlvbklkIHtcbiAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICBvcGFjaXR5OiAwLjc4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5zdWZmaXgge1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIG9wYWNpdHk6IDAuODI7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIl19 */";
33491
- var styles$3 = {"sourceChip":"SourceChip-module_sourceChip__Cqbn0","icon":"SourceChip-module_icon__olwcc","label":"SourceChip-module_label__yCkr-","labelText":"SourceChip-module_labelText__aFt2z","citationId":"SourceChip-module_citationId__W7xTo","suffix":"SourceChip-module_suffix__FSlC-"};
34892
+ var css_248z$3 = ".SourceChip-module_sourceChip__Cqbn0{align-items:center;backdrop-filter:blur(8px);background:hsla(0,0%,100%,.24);background:color-mix(in srgb,var(--message-bg-color,#fff) 74%,hsla(0,0%,100%,.8) 26%);border:1px solid hsla(0,0%,49%,.3);border-color:color-mix(in srgb,var(--message-text-color,#0f172a) 16%,transparent);border-radius:999px;box-shadow:0 2px 8px rgba(15,23,42,.12);color:inherit;cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:600;gap:6px;max-width:min(100%,32rem);padding:5px 11px;transition:all .2s ease}.SourceChip-module_sourceChip__Cqbn0:hover{background:hsla(0,0%,100%,.34);background:color-mix(in srgb,var(--message-bg-color,#fff) 64%,hsla(0,0%,100%,.9) 36%);box-shadow:0 4px 12px rgba(15,23,42,.14);transform:translateY(-1px)}.SourceChip-module_icon__olwcc{align-items:center;border-radius:5px;color:color-mix(in srgb,var(--message-text-color,#0f172a) 76%,#2563eb 24%);display:inline-flex;flex-shrink:0;height:1.25rem;justify-content:center;overflow:hidden;width:1.25rem}.SourceChip-module_iconSvg__rpPGx{height:.95rem;width:.95rem}.SourceChip-module_thumbnail__4ouqk{background:color-mix(in srgb,var(--message-text-color,#0f172a) 10%,transparent);display:block;height:100%;object-fit:cover;width:100%}.SourceChip-module_label__yCkr-{align-items:center;display:flex;font-weight:600;gap:5px;min-width:0;white-space:nowrap}.SourceChip-module_labelText__aFt2z{min-width:0;overflow:hidden;text-overflow:ellipsis}.SourceChip-module_citationId__W7xTo{font-size:.85em;font-weight:500;opacity:.78}.SourceChip-module_suffix__FSlC-{font-size:.85em;font-weight:500;opacity:.82;white-space:nowrap}\n/*# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIlNvdXJjZUNoaXAubW9kdWxlLmNzcyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxxQ0FFSSxrQkFBbUIsQ0FlbkIseUJBQTBCLENBVDFCLDhCQUFxQyxDQUNyQyxxRkFBa0csQ0FDbEcsa0NBQTBDLENBQzFDLGlGQUFxRixDQUNyRixtQkFBb0IsQ0FDcEIsdUNBQTRDLENBQzVDLGFBQWMsQ0FFZCxjQUFlLENBZmYsbUJBQW9CLENBSXBCLGVBQWlCLENBQ2pCLGVBQWdCLENBSGhCLE9BQVEsQ0FDUix5QkFBMkIsQ0FHM0IsZ0JBQWlCLENBUWpCLHVCQUdKLENBRUEsMkNBQ0ksOEJBQXFDLENBQ3JDLHFGQUFrRyxDQUVsRyx3Q0FBNkMsQ0FEN0MsMEJBRUosQ0FFQSwrQkFJSSxrQkFBbUIsQ0FLbkIsaUJBQWtCLENBSGxCLDBFQUE4RSxDQUg5RSxtQkFBb0IsQ0FJcEIsYUFBYyxDQUxkLGNBQWUsQ0FHZixzQkFBdUIsQ0FHdkIsZUFBZ0IsQ0FQaEIsYUFTSixDQUVBLGtDQUVJLGFBQWUsQ0FEZixZQUVKLENBRUEsb0NBS0ksK0VBQW1GLENBRm5GLGFBQWMsQ0FEZCxXQUFZLENBRVosZ0JBQWlCLENBSGpCLFVBS0osQ0FFQSxnQ0FJSSxrQkFBbUIsQ0FEbkIsWUFBYSxDQUZiLGVBQWdCLENBSWhCLE9BQVEsQ0FDUixXQUFZLENBSlosa0JBS0osQ0FFQSxvQ0FDSSxXQUFZLENBQ1osZUFBZ0IsQ0FDaEIsc0JBQ0osQ0FFQSxxQ0FDSSxlQUFpQixDQUVqQixlQUFnQixDQURoQixXQUVKLENBRUEsaUNBQ0ksZUFBaUIsQ0FFakIsZUFBZ0IsQ0FEaEIsV0FBYSxDQUViLGtCQUNKIiwiZmlsZSI6IlNvdXJjZUNoaXAubW9kdWxlLmNzcyIsInNvdXJjZXNDb250ZW50IjpbIi5zb3VyY2VDaGlwIHtcbiAgICBkaXNwbGF5OiBpbmxpbmUtZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNnB4O1xuICAgIG1heC13aWR0aDogbWluKDEwMCUsIDMycmVtKTtcbiAgICBmb250LXNpemU6IDAuOHJlbTtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHBhZGRpbmc6IDVweCAxMXB4O1xuICAgIGJhY2tncm91bmQ6IHJnYmEoMjU1LCAyNTUsIDI1NSwgMC4yNCk7XG4gICAgYmFja2dyb3VuZDogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtYmctY29sb3IsICNmZmZmZmYpIDc0JSwgcmdiYSgyNTUsIDI1NSwgMjU1LCAwLjgpIDI2JSk7XG4gICAgYm9yZGVyOiAxcHggc29saWQgcmdiYSgxMjUsIDEyNSwgMTI1LCAwLjMpO1xuICAgIGJvcmRlci1jb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSkgMTYlLCB0cmFuc3BhcmVudCk7XG4gICAgYm9yZGVyLXJhZGl1czogOTk5cHg7XG4gICAgYm94LXNoYWRvdzogMCAycHggOHB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xMik7XG4gICAgY29sb3I6IGluaGVyaXQ7XG4gICAgdHJhbnNpdGlvbjogYWxsIDAuMnMgZWFzZTtcbiAgICBjdXJzb3I6IHBvaW50ZXI7XG4gICAgYmFja2Ryb3AtZmlsdGVyOiBibHVyKDhweCk7XG59XG5cbi5zb3VyY2VDaGlwOmhvdmVyIHtcbiAgICBiYWNrZ3JvdW5kOiByZ2JhKDI1NSwgMjU1LCAyNTUsIDAuMzQpO1xuICAgIGJhY2tncm91bmQ6IGNvbG9yLW1peChpbiBzcmdiLCB2YXIoLS1tZXNzYWdlLWJnLWNvbG9yLCAjZmZmZmZmKSA2NCUsIHJnYmEoMjU1LCAyNTUsIDI1NSwgMC45KSAzNiUpO1xuICAgIHRyYW5zZm9ybTogdHJhbnNsYXRlWSgtMXB4KTtcbiAgICBib3gtc2hhZG93OiAwIDRweCAxMnB4IHJnYmEoMTUsIDIzLCA0MiwgMC4xNCk7XG59XG5cbi5pY29uIHtcbiAgICB3aWR0aDogMS4yNXJlbTtcbiAgICBoZWlnaHQ6IDEuMjVyZW07XG4gICAgZGlzcGxheTogaW5saW5lLWZsZXg7XG4gICAgYWxpZ24taXRlbXM6IGNlbnRlcjtcbiAgICBqdXN0aWZ5LWNvbnRlbnQ6IGNlbnRlcjtcbiAgICBjb2xvcjogY29sb3ItbWl4KGluIHNyZ2IsIHZhcigtLW1lc3NhZ2UtdGV4dC1jb2xvciwgIzBmMTcyYSkgNzYlLCAjMjU2M2ViIDI0JSk7XG4gICAgZmxleC1zaHJpbms6IDA7XG4gICAgb3ZlcmZsb3c6IGhpZGRlbjtcbiAgICBib3JkZXItcmFkaXVzOiA1cHg7XG59XG5cbi5pY29uU3ZnIHtcbiAgICB3aWR0aDogMC45NXJlbTtcbiAgICBoZWlnaHQ6IDAuOTVyZW07XG59XG5cbi50aHVtYm5haWwge1xuICAgIHdpZHRoOiAxMDAlO1xuICAgIGhlaWdodDogMTAwJTtcbiAgICBkaXNwbGF5OiBibG9jaztcbiAgICBvYmplY3QtZml0OiBjb3ZlcjtcbiAgICBiYWNrZ3JvdW5kOiBjb2xvci1taXgoaW4gc3JnYiwgdmFyKC0tbWVzc2FnZS10ZXh0LWNvbG9yLCAjMGYxNzJhKSAxMCUsIHRyYW5zcGFyZW50KTtcbn1cblxuLmxhYmVsIHtcbiAgICBmb250LXdlaWdodDogNjAwO1xuICAgIHdoaXRlLXNwYWNlOiBub3dyYXA7XG4gICAgZGlzcGxheTogZmxleDtcbiAgICBhbGlnbi1pdGVtczogY2VudGVyO1xuICAgIGdhcDogNXB4O1xuICAgIG1pbi13aWR0aDogMDtcbn1cblxuLmxhYmVsVGV4dCB7XG4gICAgbWluLXdpZHRoOiAwO1xuICAgIG92ZXJmbG93OiBoaWRkZW47XG4gICAgdGV4dC1vdmVyZmxvdzogZWxsaXBzaXM7XG59XG5cbi5jaXRhdGlvbklkIHtcbiAgICBmb250LXNpemU6IDAuODVlbTtcbiAgICBvcGFjaXR5OiAwLjc4O1xuICAgIGZvbnQtd2VpZ2h0OiA1MDA7XG59XG5cbi5zdWZmaXgge1xuICAgIGZvbnQtc2l6ZTogMC44NWVtO1xuICAgIG9wYWNpdHk6IDAuODI7XG4gICAgZm9udC13ZWlnaHQ6IDUwMDtcbiAgICB3aGl0ZS1zcGFjZTogbm93cmFwO1xufVxuIl19 */";
34893
+ var styles$3 = {"sourceChip":"SourceChip-module_sourceChip__Cqbn0","icon":"SourceChip-module_icon__olwcc","iconSvg":"SourceChip-module_iconSvg__rpPGx","thumbnail":"SourceChip-module_thumbnail__4ouqk","label":"SourceChip-module_label__yCkr-","labelText":"SourceChip-module_labelText__aFt2z","citationId":"SourceChip-module_citationId__W7xTo","suffix":"SourceChip-module_suffix__FSlC-"};
33492
34894
  styleInject(css_248z$3);
33493
34895
 
34896
+ /**
34897
+ * Icon size used by source-chip SVG graphics.
34898
+ *
34899
+ * @private utility constant of `<SourceChip/>`
34900
+ */
34901
+ const SOURCE_CHIP_ICON_SIZE = 15;
34902
+ /**
34903
+ * Source kind to icon map used when no thumbnail is available.
34904
+ *
34905
+ * @private utility constant of `<SourceChip/>`
34906
+ */
34907
+ const SOURCE_CHIP_ICON_BY_KIND = {
34908
+ archive: Archive,
34909
+ audio: Music,
34910
+ code: FileCode,
34911
+ document: FileText,
34912
+ file: File$1,
34913
+ image: ImageIcon,
34914
+ json: FileJson,
34915
+ 'plain-text': FileText,
34916
+ presentation: Presentation,
34917
+ spreadsheet: FileSpreadsheet,
34918
+ table: Table,
34919
+ video: Video,
34920
+ website: Globe2,
34921
+ };
33494
34922
  /**
33495
34923
  * SourceChip component - displays a chip with source document information
33496
34924
  *
@@ -33509,7 +34937,6 @@ styleInject(css_248z$3);
33509
34937
  * @private utility of `ChatMessageItem` component
33510
34938
  */
33511
34939
  function SourceChip({ citation, onClick, className, suffix, resolveCitationLabel, isCitationIdVisible = true, }) {
33512
- var _a;
33513
34940
  const handleClick = (event) => {
33514
34941
  event.stopPropagation();
33515
34942
  if (onClick) {
@@ -33517,53 +34944,29 @@ function SourceChip({ citation, onClick, className, suffix, resolveCitationLabel
33517
34944
  }
33518
34945
  };
33519
34946
  // Keep source chips concise and human-readable for CDN-backed knowledge files.
33520
- const normalizedSource = citation.source.trim();
33521
34947
  const displayName = useResolvedCitationLabel(citation, resolveCitationLabel);
34948
+ const sourceDisplay = resolveCitationSourceDisplay(citation);
33522
34949
  const title = displayName === citation.source ? citation.source : `${displayName}\n${citation.source}`;
33523
- // Get file extension for icon
33524
- const fileExtension = ((_a = (normalizedSource || citation.source).split('.').pop()) === null || _a === void 0 ? void 0 : _a.toLowerCase()) || 'file';
33525
- const icon = isPlainTextCitation(citation)
33526
- ? '📝'
33527
- : isCitationUrl(normalizedSource)
33528
- ? '🌐'
33529
- : getFileIcon(fileExtension);
33530
- return (jsxs("button", { className: `${styles$3.sourceChip} ${className || ''}`, onClick: handleClick, title: title, children: [jsx("span", { className: styles$3.icon, children: icon }), jsxs("span", { className: styles$3.label, children: [jsx("span", { className: styles$3.labelText, children: displayName }), isCitationIdVisible && jsxs("span", { className: styles$3.citationId, children: [" [", citation.id, "]"] })] }), suffix && jsx("span", { className: styles$3.suffix, children: suffix })] }));
33531
- }
33532
- /**
33533
- * Gets an appropriate emoji icon for a file type
33534
- */
33535
- function getFileIcon(extension) {
33536
- const iconMap = {
33537
- pdf: '📄',
33538
- doc: '📝',
33539
- docx: '📝',
33540
- txt: '📝',
33541
- md: '📝',
33542
- html: '🌐',
33543
- htm: '🌐',
33544
- json: '📋',
33545
- xml: '📋',
33546
- csv: '📊',
33547
- xls: '📊',
33548
- xlsx: '📊',
33549
- ppt: '📊',
33550
- pptx: '📊',
33551
- jpg: '🖼️',
33552
- jpeg: '🖼️',
33553
- png: '🖼️',
33554
- gif: '🖼️',
33555
- svg: '🖼️',
33556
- mp4: '🎥',
33557
- mov: '🎥',
33558
- avi: '🎥',
33559
- mp3: '🎵',
33560
- wav: '🎵',
33561
- zip: '📦',
33562
- rar: '📦',
33563
- tar: '📦',
33564
- gz: '📦',
33565
- };
33566
- return iconMap[extension] || '📄';
34950
+ return (jsxs("button", { type: "button", className: `${styles$3.sourceChip} ${className || ''}`, onClick: handleClick, title: title, children: [jsx(SourceChipVisual, { sourceDisplay: sourceDisplay }), jsxs("span", { className: styles$3.label, children: [jsx("span", { className: styles$3.labelText, children: displayName }), isCitationIdVisible && jsxs("span", { className: styles$3.citationId, children: [" [", citation.id, "]"] })] }), suffix && jsx("span", { className: styles$3.suffix, children: suffix })] }));
34951
+ }
34952
+ /**
34953
+ * Renders either an image thumbnail or a semantic source icon.
34954
+ *
34955
+ * @private component of `<SourceChip/>`
34956
+ */
34957
+ function SourceChipVisual(props) {
34958
+ const { sourceDisplay } = props;
34959
+ const [isThumbnailUnavailable, setIsThumbnailUnavailable] = useState(false);
34960
+ useEffect(() => {
34961
+ setIsThumbnailUnavailable(false);
34962
+ }, [sourceDisplay.thumbnailUrl]);
34963
+ if (sourceDisplay.thumbnailUrl && !isThumbnailUnavailable) {
34964
+ return (jsx("span", { className: styles$3.icon, "aria-hidden": "true", children: jsx("img", { src: sourceDisplay.thumbnailUrl, alt: "", className: styles$3.thumbnail, loading: "lazy", decoding: "async", referrerPolicy: "no-referrer", onError: () => {
34965
+ setIsThumbnailUnavailable(true);
34966
+ } }) }));
34967
+ }
34968
+ const Icon = SOURCE_CHIP_ICON_BY_KIND[sourceDisplay.kind];
34969
+ return (jsx("span", { className: styles$3.icon, "aria-hidden": "true", children: jsx(Icon, { size: SOURCE_CHIP_ICON_SIZE, className: styles$3.iconSvg, strokeWidth: 2.35 }) }));
33567
34970
  }
33568
34971
 
33569
34972
  /**
@@ -34599,13 +36002,13 @@ function StreamingFeaturePlaceholder({ kind }) {
34599
36002
  * @private internal component of `<ChatMessageItem/>`
34600
36003
  */
34601
36004
  function ChatMessageRichContent(props) {
34602
- const { content, contentSegments, streamingFeaturePlaceholderKind, onCreateAgent, mode } = props;
36005
+ const { content, contentSegments, streamingFeaturePlaceholderKind, onCreateAgent, markdownInlineReferences, mode } = props;
34603
36006
  if (content === LOADING_INTERACTIVE_IMAGE) {
34604
36007
  return null;
34605
36008
  }
34606
36009
  return (jsxs(Fragment, { children: [contentSegments.map((segment, segmentIndex) => {
34607
36010
  if (segment.type === 'text') {
34608
- return (jsx(MarkdownContent, { content: segment.content, onCreateAgent: onCreateAgent }, `text-${segmentIndex}`));
36011
+ return (jsx(MarkdownContent, { content: segment.content, inlineReferences: markdownInlineReferences, onCreateAgent: onCreateAgent }, `text-${segmentIndex}`));
34609
36012
  }
34610
36013
  if (segment.type === 'code') {
34611
36014
  return (jsx(CodeBlock, { code: segment.code, language: segment.language, onCreateAgent: onCreateAgent, theme: mode }, `code-${segmentIndex}`));
@@ -34898,6 +36301,59 @@ function renderToolCallChip(chip, onToolCallClick) {
34898
36301
  }, "aria-busy": isOngoing, children: [chip.teamAgentData && (jsx(AgentChip, { agent: chip.teamAgentData, className: chip.isTransitive ? styles$7.transitiveAgentChip : styles$7.teamAgentChip, isClickable: false })), jsx("span", { className: styles$7.toolCallLabel, children: chip.label }), jsx("span", { className: styles$7.toolCallChipStatus, children: isOngoing ? (jsx("span", { className: styles$7.toolCallChipSpinner, "aria-hidden": "true" })) : hasErrors ? ('⚠️') : null })] }, chip.key));
34899
36302
  }
34900
36303
 
36304
+ /**
36305
+ * Star values available in the chat feedback UI.
36306
+ *
36307
+ * @private constant of `<Chat/>`
36308
+ */
36309
+ const CHAT_FEEDBACK_STAR_RATINGS = [1, 2, 3, 4, 5];
36310
+ /**
36311
+ * Fill color used for selected chat feedback stars.
36312
+ *
36313
+ * @private constant of `<Chat/>`
36314
+ */
36315
+ const CHAT_FEEDBACK_STAR_ACTIVE_COLOR = '#ffd700';
36316
+ /**
36317
+ * Icon size follows the surrounding star text size.
36318
+ *
36319
+ * @private constant of `<Chat/>`
36320
+ */
36321
+ const CHAT_FEEDBACK_STAR_ICON_SIZE = '1em';
36322
+ /**
36323
+ * Resolves the inactive color for stars in the feedback controls.
36324
+ *
36325
+ * @param mode Current chat color mode.
36326
+ * @param tone Visual weight for the inactive star.
36327
+ * @returns Hex color for an inactive star.
36328
+ *
36329
+ * @private function of `<Chat/>`
36330
+ */
36331
+ function resolveChatFeedbackStarInactiveColor(mode, tone = 'subtle') {
36332
+ if (tone === 'muted') {
36333
+ return mode === 'LIGHT' ? '#888' : '#666';
36334
+ }
36335
+ return mode === 'LIGHT' ? '#ccc' : '#555';
36336
+ }
36337
+ /**
36338
+ * Renders one CSS-colored feedback star.
36339
+ *
36340
+ * @private component of `<Chat/>`
36341
+ */
36342
+ function ChatFeedbackStar({ isActive, inactiveColor, className, onClick, onMouseEnter, onMouseLeave, }) {
36343
+ const chatFeedbackStarColor = isActive ? CHAT_FEEDBACK_STAR_ACTIVE_COLOR : inactiveColor;
36344
+ const chatFeedbackStarFill = isActive ? 'currentColor' : 'none';
36345
+ const chatFeedbackStarIconStyle = {
36346
+ color: chatFeedbackStarColor,
36347
+ fill: chatFeedbackStarFill,
36348
+ stroke: chatFeedbackStarColor,
36349
+ };
36350
+ return (jsx("span", { className: classNames(styles$7.feedbackStar, className), style: {
36351
+ '--chat-feedback-star-color': chatFeedbackStarColor,
36352
+ '--chat-feedback-star-fill': chatFeedbackStarFill,
36353
+ color: chatFeedbackStarColor,
36354
+ }, onClick: onClick, onMouseEnter: onMouseEnter, onMouseLeave: onMouseLeave, children: jsx(Star, { "aria-hidden": "true", focusable: "false", className: styles$7.feedbackStarIcon, size: CHAT_FEEDBACK_STAR_ICON_SIZE, fill: chatFeedbackStarFill, style: chatFeedbackStarIconStyle }) }));
36355
+ }
36356
+
34901
36357
  /**
34902
36358
  * Constant for raw tool call ID fields.
34903
36359
  */
@@ -37092,7 +38548,7 @@ const ChatMessageItem = memo(
37092
38548
  // <- TODO: [🧠] Should we wrap more components in `React.memo`
37093
38549
  // Or make normal function from this?
37094
38550
  (props) => {
37095
- const { message, participant, participants, isLastMessage, onMessage, onActionButton, onQuickMessageButton, onQuickMessageDraftButton, setExpandedMessageId, isExpanded, currentRating, handleRating, mode, isCopyButtonEnabled, isFeedbackEnabled, feedbackMode = 'stars', feedbackTranslations, timingTranslations, resolveCitationLabel, chatLocale, onCopy, onCreateAgent, toolTitles, teammates, onReplyToMessage, canReplyToMessage, teamAgentProfiles, visualMode = 'ARTICLE_MODE', onToolCallClick, onCitationClick, soundSystem, isSpeechPlaybackEnabled, elevenLabsVoiceId, chatUiTranslations, } = props;
38551
+ const { message, participant, participants, isLastMessage, onMessage, onActionButton, onQuickMessageButton, onQuickMessageDraftButton, setExpandedMessageId, isExpanded, currentRating, handleRating, mode, isCopyButtonEnabled, isFeedbackEnabled, feedbackMode = 'stars', feedbackTranslations, timingTranslations, resolveCitationLabel, chatLocale, onCopy, onCreateAgent, toolTitles, teammates, onReplyToMessage, canReplyToMessage, teamAgentProfiles, markdownInlineReferences, visualMode = 'ARTICLE_MODE', onToolCallClick, onCitationClick, soundSystem, isSpeechPlaybackEnabled, elevenLabsVoiceId, chatUiTranslations, } = props;
37096
38552
  const { isComplete = true,
37097
38553
  // <- TODO: Destruct all `messages` properties like `isComplete`
37098
38554
  } = message;
@@ -37299,17 +38755,13 @@ const ChatMessageItem = memo(
37299
38755
  return (jsx("div", { className: classNames(styles$7.rating, messageActionsLayout === 'article-footer' && styles$7.articleModeRating), onMouseEnter: isReportIssueFeedbackMode
37300
38756
  ? undefined
37301
38757
  : () => {
37302
- setExpandedMessageId(message.id || message.content /* <-[💃] */);
38758
+ setExpandedMessageId(resolveChatRatingMessageKey(message));
37303
38759
  }, onMouseLeave: isReportIssueFeedbackMode
37304
38760
  ? undefined
37305
38761
  : () => {
37306
38762
  setExpandedMessageId(null);
37307
38763
  setLocalHoveredRating(0);
37308
- }, children: isReportIssueFeedbackMode ? (jsx("button", { type: "button", onClick: () => handleRating(message, 1), className: styles$7.feedbackIssueButton, "aria-label": (feedbackTranslations === null || feedbackTranslations === void 0 ? void 0 : feedbackTranslations.reportIssueButtonAriaLabel) || 'Report issue with this response', title: (feedbackTranslations === null || feedbackTranslations === void 0 ? void 0 : feedbackTranslations.reportIssueButtonTitle) || 'Report issue', children: "\u26A0" })) : isExpanded ? ([1, 2, 3, 4, 5].map((star) => (jsx("span", { onClick: () => handleRating(message, star), onMouseEnter: () => setLocalHoveredRating(star), className: classNames(styles$7.ratingStar, star <= (localHoveredRating || currentRating || 0) && styles$7.active), style: {
37309
- '--star-inactive-color': mode === 'LIGHT' ? '#ccc' : '#555',
37310
- }, children: "\u2B50" }, star)))) : (jsx("span", { onClick: () => handleRating(message, currentRating || 1), className: classNames(styles$7.ratingStar, currentRating && styles$7.active), style: {
37311
- '--star-inactive-color': mode === 'LIGHT' ? '#888' : '#666',
37312
- }, children: "\u2B50" })) }));
38764
+ }, children: isReportIssueFeedbackMode ? (jsx("button", { type: "button", onClick: () => handleRating(message, 1), className: styles$7.feedbackIssueButton, "aria-label": (feedbackTranslations === null || feedbackTranslations === void 0 ? void 0 : feedbackTranslations.reportIssueButtonAriaLabel) || 'Report issue with this response', title: (feedbackTranslations === null || feedbackTranslations === void 0 ? void 0 : feedbackTranslations.reportIssueButtonTitle) || 'Report issue', children: "\u26A0" })) : isExpanded ? (CHAT_FEEDBACK_STAR_RATINGS.map((star) => (jsx(ChatFeedbackStar, { onClick: () => handleRating(message, star), onMouseEnter: () => setLocalHoveredRating(star), className: styles$7.ratingStar, isActive: star <= (localHoveredRating || currentRating || 0), inactiveColor: resolveChatFeedbackStarInactiveColor(mode) }, star)))) : (jsx(ChatFeedbackStar, { onClick: () => handleRating(message, currentRating || 1), className: styles$7.ratingStar, isActive: Boolean(currentRating), inactiveColor: resolveChatFeedbackStarInactiveColor(mode, 'muted') })) }));
37313
38765
  };
37314
38766
  /**
37315
38767
  * Executes one quick action button and marks it consumed after a successful run.
@@ -37428,7 +38880,7 @@ const ChatMessageItem = memo(
37428
38880
  '--message-bg-color': isAgentArticleMode ? articleModeBackgroundColor : color.toHex(),
37429
38881
  '--message-text-color': isAgentArticleMode ? articleModeTextColor : colorOfText.toHex(),
37430
38882
  '--chat-message-swipe-offset': swipeTranslation,
37431
- }, onPointerDown: handleReplyPointerDown, onPointerMove: handleReplyPointerMove, onPointerUp: handleReplyPointerEnd, onPointerCancel: resetReplySwipe, children: [isReplyActionEnabled && (jsx("div", { className: classNames(styles$7.replySwipeIndicator, isMe && styles$7.replySwipeIndicatorRight, isReplySwipeArmed && styles$7.replySwipeIndicatorActive), "aria-hidden": "true", children: jsx(Reply, { className: styles$7.replySwipeIndicatorIcon }) })), !shouldRenderArticleActionsBar && renderMessageReadAndCopyControls(), message.isVoiceCall && (jsx("div", { className: styles$7.voiceCallIndicator, children: jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: jsx("path", { d: "M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z" }) }) })), replyingToMessage && replyPreviewText && replySenderLabel && (jsx(ChatReplyPreview, { label: replyPreviewLabel, senderLabel: replySenderLabel, previewText: replyPreviewText, className: styles$7.replyBubblePreview })), jsx("div", { ref: contentWithoutButtonsRef, children: jsx(ChatMessageRichContent, { content: message.content, contentSegments: contentSegments, streamingFeaturePlaceholderKind: streamingFeaturePlaceholderKind, onCreateAgent: onCreateAgent, mode: mode }) }), message.attachments && message.attachments.length > 0 && (jsx(ChatMessageAttachments, { attachments: message.attachments, mode: mode })), jsx(ChatMessageToolCallChips, { chips: toolCallChips, onToolCallClick: onToolCallClick }), citationFootnoteRenderModel.footnotes.length > 0 && (jsx("div", { className: styles$7.citationFootnotes, children: citationFootnoteRenderModel.footnotes.map((footnote) => (jsxs("div", { className: styles$7.citationFootnoteItem, children: [jsx("span", { className: styles$7.citationFootnoteNumber, children: footnote.number }), jsx(SourceChip, { citation: enrichCitationForRendering(footnote.citation), onClick: onCitationClick, resolveCitationLabel: resolveCitationLabel, isCitationIdVisible: false })] }, `citation-footnote-${footnote.number}-${footnote.citation.source}`))) })), transitiveCitations.length > 0 && (jsx("div", { className: styles$7.sourceCitations, children: transitiveCitations.map((citation, index) => (jsx(SourceChip, { citation: enrichCitationForRendering(citation), suffix: `by ${citation.origin.label}`, onClick: onCitationClick, resolveCitationLabel: resolveCitationLabel }, `team-source-${citation.source}-${index}`))) })), shouldShowButtons && (jsx("div", { className: styles$7.messageButtons, children: renderableButtons.map(({ button, buttonIndex }) => (jsx("button", { type: "button", className: classNames(styles$7.messageButton, button.type === 'action' && styles$7.actionMessageButton), onClick: (event) => {
38883
+ }, onPointerDown: handleReplyPointerDown, onPointerMove: handleReplyPointerMove, onPointerUp: handleReplyPointerEnd, onPointerCancel: resetReplySwipe, children: [isReplyActionEnabled && (jsx("div", { className: classNames(styles$7.replySwipeIndicator, isMe && styles$7.replySwipeIndicatorRight, isReplySwipeArmed && styles$7.replySwipeIndicatorActive), "aria-hidden": "true", children: jsx(Reply, { className: styles$7.replySwipeIndicatorIcon }) })), !shouldRenderArticleActionsBar && renderMessageReadAndCopyControls(), message.isVoiceCall && (jsx("div", { className: styles$7.voiceCallIndicator, children: jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: jsx("path", { d: "M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z" }) }) })), replyingToMessage && replyPreviewText && replySenderLabel && (jsx(ChatReplyPreview, { label: replyPreviewLabel, senderLabel: replySenderLabel, previewText: replyPreviewText, className: styles$7.replyBubblePreview })), jsx("div", { ref: contentWithoutButtonsRef, children: jsx(ChatMessageRichContent, { content: message.content, contentSegments: contentSegments, streamingFeaturePlaceholderKind: streamingFeaturePlaceholderKind, onCreateAgent: onCreateAgent, markdownInlineReferences: markdownInlineReferences, mode: mode }) }), message.attachments && message.attachments.length > 0 && (jsx(ChatMessageAttachments, { attachments: message.attachments, mode: mode })), jsx(ChatMessageToolCallChips, { chips: toolCallChips, onToolCallClick: onToolCallClick }), citationFootnoteRenderModel.footnotes.length > 0 && (jsx("div", { className: styles$7.citationFootnotes, children: citationFootnoteRenderModel.footnotes.map((footnote) => (jsxs("div", { className: styles$7.citationFootnoteItem, children: [jsx("span", { className: styles$7.citationFootnoteNumber, children: footnote.number }), jsx(SourceChip, { citation: enrichCitationForRendering(footnote.citation), onClick: onCitationClick, resolveCitationLabel: resolveCitationLabel, isCitationIdVisible: false })] }, `citation-footnote-${footnote.number}-${footnote.citation.source}`))) })), transitiveCitations.length > 0 && (jsx("div", { className: styles$7.sourceCitations, children: transitiveCitations.map((citation, index) => (jsx(SourceChip, { citation: enrichCitationForRendering(citation), suffix: `by ${citation.origin.label}`, onClick: onCitationClick, resolveCitationLabel: resolveCitationLabel }, `team-source-${citation.source}-${index}`))) })), shouldShowButtons && (jsx("div", { className: styles$7.messageButtons, children: renderableButtons.map(({ button, buttonIndex }) => (jsx("button", { type: "button", className: classNames(styles$7.messageButton, button.type === 'action' && styles$7.actionMessageButton), onClick: (event) => {
37432
38884
  event.stopPropagation();
37433
38885
  if (button.type === 'message') {
37434
38886
  const quickMessageHandler = onQuickMessageButton || onMessage;
@@ -37555,6 +39007,9 @@ const ChatMessageItem = memo(
37555
39007
  if (prev.teammates !== next.teammates) {
37556
39008
  return false;
37557
39009
  }
39010
+ if (prev.markdownInlineReferences !== next.markdownInlineReferences) {
39011
+ return false;
39012
+ }
37558
39013
  if (prev.onToolCallClick !== next.onToolCallClick) {
37559
39014
  return false;
37560
39015
  }
@@ -37574,7 +39029,7 @@ ChatMessageItem.displayName = 'ChatMessageItem';
37574
39029
  * @private component of `<Chat/>`
37575
39030
  */
37576
39031
  function ChatMessageList(props) {
37577
- const { messages, participants, expandedMessageId, messageRatings, setExpandedMessageId, handleRating, mode, isCopyButtonEnabled, isFeedbackEnabled, feedbackMode, feedbackTranslations, timingTranslations, resolveCitationLabel, chatLocale, onCopy, onMessage, onActionButton, onQuickMessageButton, onQuickMessageDraftButton, onReplyToMessage, canReplyToMessage, onCreateAgent, toolTitles, teammates, onToolCallClick, onCitationClick, visualMode, soundSystem, isSpeechPlaybackEnabled, elevenLabsVoiceId, teamAgentProfiles, setChatMessagesElement, onScroll, chatMessagesClassName, hasActions, chatUiTranslations, } = props;
39032
+ const { messages, participants, expandedMessageId, messageRatings, setExpandedMessageId, handleRating, mode, isCopyButtonEnabled, isFeedbackEnabled, feedbackMode, feedbackTranslations, timingTranslations, resolveCitationLabel, chatLocale, onCopy, onMessage, onActionButton, onQuickMessageButton, onQuickMessageDraftButton, onReplyToMessage, canReplyToMessage, onCreateAgent, toolTitles, teammates, markdownInlineReferences, onToolCallClick, onCitationClick, visualMode, soundSystem, isSpeechPlaybackEnabled, elevenLabsVoiceId, teamAgentProfiles, setChatMessagesElement, onScroll, chatMessagesClassName, hasActions, chatUiTranslations, } = props;
37578
39033
  const firstMessage = messages[0];
37579
39034
  const firstMsgContent = (firstMessage === null || firstMessage === void 0 ? void 0 : firstMessage.content) || '';
37580
39035
  const firstMsgLines = firstMsgContent.split(/\r?\n/).length;
@@ -37584,9 +39039,10 @@ function ChatMessageList(props) {
37584
39039
  return (jsxs("div", { className: classNames(styles$7.chatMessages, chatMessagesClassName, shouldPadForActions && styles$7.hasActionsAndFirstMessageIsLong), ref: setChatMessagesElement, onScroll: onScroll, children: [messages.map((message, index) => {
37585
39040
  const participant = participants.find((entry) => entry.name === message.sender);
37586
39041
  const isLastMessage = index === messages.length - 1;
37587
- const isExpanded = expandedMessageId === message.id;
37588
- const currentRating = messageRatings.get(message.id || message.content /* <-[??] */) || 0;
37589
- return (jsx(ChatMessageItem, { message: message, participant: participant, participants: participants, isLastMessage: isLastMessage, onMessage: onMessage, onActionButton: onActionButton, onQuickMessageButton: onQuickMessageButton, onQuickMessageDraftButton: onQuickMessageDraftButton, onReplyToMessage: onReplyToMessage, canReplyToMessage: canReplyToMessage, setExpandedMessageId: setExpandedMessageId, isExpanded: isExpanded, currentRating: currentRating, handleRating: handleRating, mode: mode, isCopyButtonEnabled: isCopyButtonEnabled, isFeedbackEnabled: isFeedbackEnabled, feedbackMode: feedbackMode, feedbackTranslations: feedbackTranslations, timingTranslations: timingTranslations, resolveCitationLabel: resolveCitationLabel, chatLocale: chatLocale, onCopy: onCopy, onCreateAgent: onCreateAgent, toolTitles: toolTitles, teammates: teammates, teamAgentProfiles: teamAgentProfiles, visualMode: visualMode, onToolCallClick: onToolCallClick, onCitationClick: onCitationClick, soundSystem: soundSystem, isSpeechPlaybackEnabled: isSpeechPlaybackEnabled, elevenLabsVoiceId: elevenLabsVoiceId, chatUiTranslations: chatUiTranslations }, resolveRenderedMessageKey(message)));
39042
+ const messageRatingKey = resolveChatRatingMessageKey(message);
39043
+ const isExpanded = expandedMessageId === messageRatingKey;
39044
+ const currentRating = messageRatings.get(messageRatingKey) || 0;
39045
+ return (jsx(ChatMessageItem, { message: message, participant: participant, participants: participants, isLastMessage: isLastMessage, onMessage: onMessage, onActionButton: onActionButton, onQuickMessageButton: onQuickMessageButton, onQuickMessageDraftButton: onQuickMessageDraftButton, onReplyToMessage: onReplyToMessage, canReplyToMessage: canReplyToMessage, setExpandedMessageId: setExpandedMessageId, isExpanded: isExpanded, currentRating: currentRating, handleRating: handleRating, mode: mode, isCopyButtonEnabled: isCopyButtonEnabled, isFeedbackEnabled: isFeedbackEnabled, feedbackMode: feedbackMode, feedbackTranslations: feedbackTranslations, timingTranslations: timingTranslations, resolveCitationLabel: resolveCitationLabel, chatLocale: chatLocale, onCopy: onCopy, onCreateAgent: onCreateAgent, toolTitles: toolTitles, teammates: teammates, teamAgentProfiles: teamAgentProfiles, markdownInlineReferences: markdownInlineReferences, visualMode: visualMode, onToolCallClick: onToolCallClick, onCitationClick: onCitationClick, soundSystem: soundSystem, isSpeechPlaybackEnabled: isSpeechPlaybackEnabled, elevenLabsVoiceId: elevenLabsVoiceId, chatUiTranslations: chatUiTranslations }, resolveRenderedMessageKey(message)));
37590
39046
  }), jsx("div", { style: { height: 100 } })] }));
37591
39047
  }
37592
39048
  /**
@@ -37606,20 +39062,6 @@ function resolveRenderedMessageKey(message) {
37606
39062
  return message.clientMessageId || message.id || message.content;
37607
39063
  }
37608
39064
 
37609
- /**
37610
- * Supported star values rendered by the rating UI.
37611
- *
37612
- * @private component of `<ChatRatingModal/>`
37613
- */
37614
- const STAR_RATINGS = [1, 2, 3, 4, 5];
37615
- /**
37616
- * Resolves the key used to persist message rating state.
37617
- *
37618
- * @private function of `<ChatRatingModal/>`
37619
- */
37620
- function resolveChatRatingMessageKey(message) {
37621
- return message.id || message.content /* <-[??] */;
37622
- }
37623
39065
  /**
37624
39066
  * Returns whether the modal should render the report-issue flow.
37625
39067
  *
@@ -37709,17 +39151,6 @@ function resolveSelectedChatRating(params) {
37709
39151
  const { hoveredRating, messageRatings, selectedMessage } = params;
37710
39152
  return hoveredRating || messageRatings.get(resolveChatRatingMessageKey(selectedMessage)) || 0;
37711
39153
  }
37712
- /**
37713
- * Resolves the color for one star in the rating picker.
37714
- *
37715
- * @private function of `<ChatRatingModal/>`
37716
- */
37717
- function resolveChatRatingStarColor(star, selectedRating, mode) {
37718
- if (star <= selectedRating) {
37719
- return '#FFD700';
37720
- }
37721
- return mode === 'LIGHT' ? '#ccc' : '#555';
37722
- }
37723
39154
  /**
37724
39155
  * Returns the placeholder used in the expected-answer field.
37725
39156
  *
@@ -37756,13 +39187,11 @@ function ChatRatingModalStarsSection(props) {
37756
39187
  messageRatings,
37757
39188
  selectedMessage,
37758
39189
  });
37759
- return (jsx("div", { className: styles$7.stars, children: STAR_RATINGS.map((star) => (jsx("span", { onClick: () => setMessageRatings((previousRatings) => {
39190
+ return (jsx("div", { className: styles$7.stars, children: CHAT_FEEDBACK_STAR_RATINGS.map((star) => (jsx(ChatFeedbackStar, { onClick: () => setMessageRatings((previousRatings) => {
37760
39191
  const nextRatings = new Map(previousRatings);
37761
39192
  nextRatings.set(resolveChatRatingMessageKey(selectedMessage), star);
37762
39193
  return nextRatings;
37763
- }), onMouseEnter: () => setHoveredRating(star), onMouseLeave: () => setHoveredRating(0), className: classNames(styles$7.ratingModalStar), style: {
37764
- color: resolveChatRatingStarColor(star, selectedRating, mode),
37765
- }, children: "\u2B50" }, star))) }));
39194
+ }), onMouseEnter: () => setHoveredRating(star), onMouseLeave: () => setHoveredRating(0), className: styles$7.ratingModalStar, isActive: star <= selectedRating, inactiveColor: resolveChatFeedbackStarInactiveColor(mode) }, star))) }));
37766
39195
  }
37767
39196
  /**
37768
39197
  * Renders the footer action buttons for the rating modal.
@@ -42510,7 +43939,7 @@ function hasChatActions(postprocessedMessages, { onReset, newChatButtonHref, onU
42510
43939
  * @public exported from `@promptbook/components`
42511
43940
  */
42512
43941
  function Chat(props) {
42513
- const { title = 'Chat', messages, onChange, onMessage, onActionButton, onQuickMessageButton, onQuickMessageDraftButton, onReplyToMessage, onCancelReply, onReset, resetRequiresConfirmation = true, newChatButtonHref, onFeedback, feedbackMode = 'stars', feedbackTranslations, timingTranslations, resolveCitationLabel, onFileUpload, chatLocale, speechRecognition, placeholderMessageContent, defaultMessage, enterBehavior, resolveEnterBehavior, children, className, style, isAiTextHumanizedAndPromptbookified = true, isVoiceCalling = false, isFocusedOnLoad, participants = [], canReplyToMessage, replyingToMessage, extraActions, actionsContainer, saveFormats, saveFormatHandlers, isSaveButtonEnabled = true, isCopyButtonEnabled = true, buttonColor: buttonColorRaw, onUseTemplate, onCreateAgent, toolTitles, teammates, teamAgentProfiles, layout, visualMode = 'ARTICLE_MODE', theme = 'LIGHT', effectConfigs, soundSystem, speechRecognitionLanguage, isSpeechPlaybackEnabled = true, elevenLabsVoiceId, chatUiTranslations, } = props;
43942
+ const { title = 'Chat', messages, onChange, onMessage, onActionButton, onQuickMessageButton, onQuickMessageDraftButton, onReplyToMessage, onCancelReply, onReset, resetRequiresConfirmation = true, newChatButtonHref, onFeedback, feedbackMode = 'stars', feedbackTranslations, timingTranslations, resolveCitationLabel, onFileUpload, chatLocale, speechRecognition, placeholderMessageContent, defaultMessage, enterBehavior, resolveEnterBehavior, children, className, style, isAiTextHumanizedAndPromptbookified = true, isVoiceCalling = false, isFocusedOnLoad, participants = [], canReplyToMessage, replyingToMessage, extraActions, actionsContainer, saveFormats, saveFormatHandlers, isSaveButtonEnabled = true, isCopyButtonEnabled = true, buttonColor: buttonColorRaw, onUseTemplate, onCreateAgent, toolTitles, teammates, teamAgentProfiles, markdownInlineReferences, layout, visualMode = 'ARTICLE_MODE', theme = 'LIGHT', effectConfigs, soundSystem, speechRecognitionLanguage, isSpeechPlaybackEnabled = true, elevenLabsVoiceId, chatUiTranslations, agentIdentifier, } = props;
42514
43943
  const buttonColor = useMemo(() => Color.from(buttonColorRaw || '#0066cc'), [buttonColorRaw]);
42515
43944
  const agentParticipant = useMemo(() => participants.find((participant) => participant.name === 'AGENT'), [participants]);
42516
43945
  // Note: A `?messageDraft=` quick button prefills the composer with an editable draft instead of
@@ -42563,7 +43992,7 @@ function Chat(props) {
42563
43992
  useChatCompleteNotification(messages, soundSystem);
42564
43993
  return (jsxs(Fragment, { children: [feedbackStatus && (jsx("div", { className: classNames(styles$7.feedbackStatus, feedbackStatus.variant === 'success'
42565
43994
  ? styles$7.feedbackStatusSuccess
42566
- : styles$7.feedbackStatusError), "aria-live": "polite", role: "status", children: feedbackStatus.message })), effectConfigs && effectConfigs.length > 0 && (jsx(ChatEffectsSystem, { messages: postprocessedMessages, effectConfigs: effectConfigs, soundSystem: soundSystem })), jsx("div", { className: classNames(className, styles$7.Chat, layout === 'STANDALONE' && styles$7.standaloneVisual, layout === 'FULL_PAGE' && styles$7.fullPageVisual, isConstrainedArticleMode && styles$7.constrainedArticleVisual, getChatCssClassName('Chat'), chatCssClassNames.chat), "data-chat-theme": mode.toLowerCase(), style, children: jsxs("div", { className: classNames(className, styles$7.chatMainFlow, getChatCssClassName('chatMainFlow'), chatCssClassNames.chatMainFlow), children: [children && jsx("div", { className: classNames(styles$7.chatChildren), children: children }), shouldShowScrollToBottom && (jsx("div", { className: styles$7.scrollToBottomContainer, children: jsxs("div", { className: styles$7.scrollToBottomWrapper, children: [jsx(SolidArrowButton, { "data-button-type": "custom", direction: "down", iconSize: 33, className: classNames(styles$7.scrollToBottom, scrollToBottomCssClassName), onClick: handleButtonClick(() => scrollToBottom()), "aria-label": ariaLabel, title: ariaLabel }), badgeLabel && (jsx("span", { className: styles$7.scrollToBottomBadge, "aria-live": "polite", role: "status", children: badgeLabel }))] }) })), isVoiceCalling && (jsx("div", { className: styles$7.voiceCallIndicatorBar, children: jsxs("div", { className: styles$7.voiceCallIndicator, children: [jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: jsx("path", { d: "M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z" }) }), jsx("span", { children: "Voice call active" }), jsx("div", { className: styles$7.voiceCallPulse })] }) })), jsx(ChatActionsBar, { actionsRef: actionsRef, actionsContainer: actionsContainer, messages: postprocessedMessages, participants: participants, title: title, onReset: onReset, resetRequiresConfirmation: resetRequiresConfirmation, newChatButtonHref: newChatButtonHref, onUseTemplate: onUseTemplate, extraActions: extraActions, saveFormats: saveFormats, saveFormatHandlers: saveFormatHandlers, isSaveButtonEnabled: isSaveButtonEnabled, shouldFadeActions: shouldFadeActions, shouldDisableActions: shouldDisableActions, chatUiTranslations: chatUiTranslations, onButtonClick: handleButtonClick }), jsx(ChatMessageList, { messages: postprocessedMessages, participants: participants, expandedMessageId: expandedMessageId, messageRatings: messageRatings, setExpandedMessageId: setExpandedMessageId, handleRating: handleRating, mode: mode, isCopyButtonEnabled: isCopyButtonEnabled, isFeedbackEnabled: isFeedbackEnabled, feedbackMode: feedbackMode, feedbackTranslations: feedbackTranslations, timingTranslations: timingTranslations, resolveCitationLabel: resolveCitationLabel, chatLocale: chatLocale, onCopy: handleCopy, onMessage: onMessage, onActionButton: onActionButton, onQuickMessageButton: onQuickMessageButton, onQuickMessageDraftButton: resolvedOnQuickMessageDraftButton, onReplyToMessage: onReplyToMessage, canReplyToMessage: canReplyToMessage, onCreateAgent: onCreateAgent, toolTitles: toolTitles, teammates: teammates, teamAgentProfiles: teamAgentProfiles, visualMode: visualMode, soundSystem: soundSystem, onToolCallClick: openToolCall, onCitationClick: openCitation, setChatMessagesElement: setChatMessagesElement, onScroll: handleChatScroll, isSpeechPlaybackEnabled: isSpeechPlaybackEnabled, elevenLabsVoiceId: elevenLabsVoiceId, chatUiTranslations: chatUiTranslations, chatMessagesClassName: classNames(isConstrainedArticleMode && styles$7.articleModeChatMessages, getChatCssClassName('chatMessages'), chatCssClassNames.chatMessages), hasActions: hasActions }), onMessage && (jsx(ChatInputArea, { onMessage: onMessage, onChange: onChange, onFileUpload: onFileUpload, speechRecognition: speechRecognition, speechRecognitionLanguage: speechRecognitionLanguage, replyingToMessage: replyingToMessage, onCancelReply: onCancelReply, defaultMessage: defaultMessage, draftMessage: composerDraft, enterBehavior: enterBehavior, resolveEnterBehavior: resolveEnterBehavior, placeholderMessageContent: placeholderMessageContent || (chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.inputPlaceholder), isFocusedOnLoad: isFocusedOnLoad, isMobile: isMobile, isVoiceCalling: isVoiceCalling, participants: participants, buttonColor: buttonColor, soundSystem: soundSystem, onButtonClick: handleButtonClick, chatUiTranslations: chatUiTranslations, mode: mode, chatInputClassName: classNames(isConstrainedArticleMode && styles$7.articleModeChatInput, getChatCssClassName('chatInput'), chatCssClassNames.chatInput) }))] }) }), jsx(ChatToolCallModal, { isOpen: toolCallModalOpen, toolCall: selectedToolCall, toolCallIdentity: selectedToolCallIdentity, onClose: closeToolCallModal, toolTitles: toolTitles, resolveCitationLabel: resolveCitationLabel, agentParticipant: agentParticipant, buttonColor: buttonColor, teamAgentProfiles: teamAgentProfiles, chatUiTranslations: chatUiTranslations, locale: chatLocale, availableTools: selectedMessageAvailableTools, mode: mode }), jsx(ChatCitationModal, { isOpen: citationModalOpen, citation: selectedCitation, participants: participants, resolveCitationLabel: resolveCitationLabel, soundSystem: soundSystem, onClose: closeCitationModal }), jsx(ChatRatingModal, { isOpen: ratingModalOpen, selectedMessage: selectedMessage, postprocessedMessages: postprocessedMessages, messages: messages, hoveredRating: hoveredRating, messageRatings: messageRatings, textRating: textRating, feedbackMode: feedbackMode, feedbackTranslations: feedbackTranslations, mode: mode, isMobile: isMobile, onClose: () => setRatingModalOpen(false), setHoveredRating: setHoveredRating, setMessageRatings: setMessageRatings, setSelectedMessage: setSelectedMessage, setTextRating: setTextRating, submitRating: submitRating })] }));
43995
+ : styles$7.feedbackStatusError), "aria-live": "polite", role: "status", children: feedbackStatus.message })), effectConfigs && effectConfigs.length > 0 && (jsx(ChatEffectsSystem, { messages: postprocessedMessages, effectConfigs: effectConfigs, soundSystem: soundSystem })), jsx("div", { className: classNames(className, styles$7.Chat, layout === 'STANDALONE' && styles$7.standaloneVisual, layout === 'FULL_PAGE' && styles$7.fullPageVisual, isConstrainedArticleMode && styles$7.constrainedArticleVisual, getChatCssClassName('Chat'), chatCssClassNames.chat), "data-chat-theme": mode.toLowerCase(), style, children: jsxs("div", { className: classNames(className, styles$7.chatMainFlow, getChatCssClassName('chatMainFlow'), chatCssClassNames.chatMainFlow), children: [children && jsx("div", { className: classNames(styles$7.chatChildren), children: children }), shouldShowScrollToBottom && (jsx("div", { className: styles$7.scrollToBottomContainer, children: jsxs("div", { className: styles$7.scrollToBottomWrapper, children: [jsx(SolidArrowButton, { "data-button-type": "custom", direction: "down", iconSize: 33, className: classNames(styles$7.scrollToBottom, scrollToBottomCssClassName), onClick: handleButtonClick(() => scrollToBottom()), "aria-label": ariaLabel, title: ariaLabel }), badgeLabel && (jsx("span", { className: styles$7.scrollToBottomBadge, "aria-live": "polite", role: "status", children: badgeLabel }))] }) })), isVoiceCalling && (jsx("div", { className: styles$7.voiceCallIndicatorBar, children: jsxs("div", { className: styles$7.voiceCallIndicator, children: [jsx("svg", { width: "16", height: "16", viewBox: "0 0 24 24", fill: "currentColor", children: jsx("path", { d: "M6.62 10.79c1.44 2.83 3.76 5.14 6.59 6.59l2.2-2.2c.27-.27.67-.36 1.02-.24 1.12.37 2.33.57 3.57.57.55 0 1 .45 1 1V20c0 .55-.45 1-1 1-9.39 0-17-7.61-17-17 0-.55.45-1 1-1h3.5c.55 0 1 .45 1 1 0 1.25.2 2.45.57 3.57.11.35.03.74-.25 1.02l-2.2 2.2z" }) }), jsx("span", { children: "Voice call active" }), jsx("div", { className: styles$7.voiceCallPulse })] }) })), jsx(ChatActionsBar, { actionsRef: actionsRef, actionsContainer: actionsContainer, messages: postprocessedMessages, participants: participants, title: title, onReset: onReset, resetRequiresConfirmation: resetRequiresConfirmation, newChatButtonHref: newChatButtonHref, onUseTemplate: onUseTemplate, extraActions: extraActions, saveFormats: saveFormats, saveFormatHandlers: saveFormatHandlers, isSaveButtonEnabled: isSaveButtonEnabled, shouldFadeActions: shouldFadeActions, shouldDisableActions: shouldDisableActions, chatUiTranslations: chatUiTranslations, onButtonClick: handleButtonClick }), jsx(ChatMessageList, { messages: postprocessedMessages, participants: participants, expandedMessageId: expandedMessageId, messageRatings: messageRatings, setExpandedMessageId: setExpandedMessageId, handleRating: handleRating, mode: mode, isCopyButtonEnabled: isCopyButtonEnabled, isFeedbackEnabled: isFeedbackEnabled, feedbackMode: feedbackMode, feedbackTranslations: feedbackTranslations, timingTranslations: timingTranslations, resolveCitationLabel: resolveCitationLabel, chatLocale: chatLocale, onCopy: handleCopy, onMessage: onMessage, onActionButton: onActionButton, onQuickMessageButton: onQuickMessageButton, onQuickMessageDraftButton: resolvedOnQuickMessageDraftButton, onReplyToMessage: onReplyToMessage, canReplyToMessage: canReplyToMessage, onCreateAgent: onCreateAgent, toolTitles: toolTitles, teammates: teammates, teamAgentProfiles: teamAgentProfiles, markdownInlineReferences: markdownInlineReferences, visualMode: visualMode, soundSystem: soundSystem, onToolCallClick: openToolCall, onCitationClick: openCitation, setChatMessagesElement: setChatMessagesElement, onScroll: handleChatScroll, isSpeechPlaybackEnabled: isSpeechPlaybackEnabled, elevenLabsVoiceId: elevenLabsVoiceId, chatUiTranslations: chatUiTranslations, chatMessagesClassName: classNames(isConstrainedArticleMode && styles$7.articleModeChatMessages, getChatCssClassName('chatMessages'), chatCssClassNames.chatMessages), hasActions: hasActions }), onMessage && (jsx(ChatInputArea, { onMessage: onMessage, onChange: onChange, onFileUpload: onFileUpload, speechRecognition: speechRecognition, speechRecognitionLanguage: speechRecognitionLanguage, replyingToMessage: replyingToMessage, onCancelReply: onCancelReply, defaultMessage: defaultMessage, draftMessage: composerDraft, enterBehavior: enterBehavior, resolveEnterBehavior: resolveEnterBehavior, placeholderMessageContent: placeholderMessageContent || (chatUiTranslations === null || chatUiTranslations === void 0 ? void 0 : chatUiTranslations.inputPlaceholder), isFocusedOnLoad: isFocusedOnLoad, isMobile: isMobile, isVoiceCalling: isVoiceCalling, participants: participants, buttonColor: buttonColor, soundSystem: soundSystem, onButtonClick: handleButtonClick, chatUiTranslations: chatUiTranslations, mode: mode, chatInputClassName: classNames(isConstrainedArticleMode && styles$7.articleModeChatInput, getChatCssClassName('chatInput'), chatCssClassNames.chatInput) }))] }) }), jsx(ChatToolCallModal, { isOpen: toolCallModalOpen, toolCall: selectedToolCall, toolCallIdentity: selectedToolCallIdentity, onClose: closeToolCallModal, toolTitles: toolTitles, resolveCitationLabel: resolveCitationLabel, agentParticipant: agentParticipant, buttonColor: buttonColor, teamAgentProfiles: teamAgentProfiles, chatUiTranslations: chatUiTranslations, locale: chatLocale, availableTools: selectedMessageAvailableTools, mode: mode }), jsx(ChatCitationModal, { isOpen: citationModalOpen, citation: selectedCitation, participants: participants, resolveCitationLabel: resolveCitationLabel, soundSystem: soundSystem, agentIdentifier: agentIdentifier, onClose: closeCitationModal }), jsx(ChatRatingModal, { isOpen: ratingModalOpen, selectedMessage: selectedMessage, postprocessedMessages: postprocessedMessages, messages: messages, hoveredRating: hoveredRating, messageRatings: messageRatings, textRating: textRating, feedbackMode: feedbackMode, feedbackTranslations: feedbackTranslations, mode: mode, isMobile: isMobile, onClose: () => setRatingModalOpen(false), setHoveredRating: setHoveredRating, setMessageRatings: setMessageRatings, setSelectedMessage: setSelectedMessage, setTextRating: setTextRating, submitRating: submitRating })] }));
42567
43996
  }
42568
43997
 
42569
43998
  /**
@@ -42722,13 +44151,22 @@ const THINKING_MESSAGE_DELAY_MAX_MS = 5000;
42722
44151
  * @private internal helper for Promptbook chat placeholders
42723
44152
  */
42724
44153
  function normalizeThinkingMessageVariants(thinkingMessages) {
44154
+ const normalized = parseThinkingMessageVariants(thinkingMessages);
44155
+ return normalized.length > 0 ? normalized : DEFAULT_THINKING_MESSAGES;
44156
+ }
44157
+ /**
44158
+ * Parses configured thinking-message variants without applying default fallbacks.
44159
+ *
44160
+ * @param thinkingMessages Raw thinking-message variants.
44161
+ * @returns Trimmed non-empty variants.
44162
+ *
44163
+ * @private internal helper for Promptbook chat placeholders
44164
+ */
44165
+ function parseThinkingMessageVariants(thinkingMessages) {
42725
44166
  if (!thinkingMessages) {
42726
- return DEFAULT_THINKING_MESSAGES;
44167
+ return [];
42727
44168
  }
42728
- const normalized = thinkingMessages
42729
- .map((message) => message === null || message === void 0 ? void 0 : message.trim())
42730
- .filter((message) => Boolean(message));
42731
- return normalized.length > 0 ? normalized : DEFAULT_THINKING_MESSAGES;
44169
+ return thinkingMessages.map((message) => message === null || message === void 0 ? void 0 : message.trim()).filter((message) => Boolean(message));
42732
44170
  }
42733
44171
  /**
42734
44172
  * Returns a random delay used between browser-side thinking-message rotations.