botframework-webchat-component 4.14.1 → 4.15.2-main.20220413.af6e8a3

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 (411) hide show
  1. package/.eslintrc.yml +4 -106
  2. package/.prettierrc.yml +1 -1
  3. package/lib/Activity/CarouselFilmStrip.js +1 -1
  4. package/lib/Activity/CarouselFilmStripAttachment.js +1 -1
  5. package/lib/Activity/CarouselLayout.js +3 -3
  6. package/lib/Activity/Speak.d.ts +2 -2
  7. package/lib/Activity/Speak.d.ts.map +1 -1
  8. package/lib/Activity/Speak.js +15 -8
  9. package/lib/Activity/StackedLayout.d.ts +5 -3
  10. package/lib/Activity/StackedLayout.d.ts.map +1 -1
  11. package/lib/Activity/StackedLayout.js +16 -21
  12. package/lib/Attachment/FileAttachment.js +2 -2
  13. package/lib/Attachment/FileContent.d.ts.map +1 -1
  14. package/lib/Attachment/FileContent.js +11 -1
  15. package/lib/BasicSendBox.d.ts.map +1 -1
  16. package/lib/BasicSendBox.js +8 -9
  17. package/lib/BasicToast.js +1 -1
  18. package/lib/BasicToaster.js +6 -3
  19. package/lib/BasicTranscript.d.ts +7 -0
  20. package/lib/BasicTranscript.d.ts.map +1 -0
  21. package/lib/BasicTranscript.js +386 -728
  22. package/lib/BasicTypingIndicator.d.ts +2 -1
  23. package/lib/BasicTypingIndicator.d.ts.map +1 -1
  24. package/lib/BasicTypingIndicator.js +12 -4
  25. package/lib/Composer.d.ts.map +1 -1
  26. package/lib/Composer.js +37 -32
  27. package/lib/ConnectivityStatus/Connecting.js +1 -1
  28. package/lib/Dictation.js +1 -1
  29. package/lib/Middleware/Activity/createCoreMiddleware.d.ts.map +1 -1
  30. package/lib/Middleware/Activity/createCoreMiddleware.js +9 -12
  31. package/lib/Middleware/ActivityStatus/SendStatus/SendFailedRetry.js +1 -1
  32. package/lib/Middleware/ActivityStatus/SendStatus/SendStatus.d.ts +2 -2
  33. package/lib/Middleware/ActivityStatus/SendStatus/SendStatus.d.ts.map +1 -1
  34. package/lib/Middleware/ActivityStatus/SendStatus/SendStatus.js +5 -4
  35. package/lib/Middleware/ActivityStatus/Timestamp.d.ts +2 -2
  36. package/lib/Middleware/ActivityStatus/Timestamp.d.ts.map +1 -1
  37. package/lib/Middleware/ActivityStatus/Timestamp.js +4 -2
  38. package/lib/Middleware/ActivityStatus/createSendStatusMiddleware.js +20 -17
  39. package/lib/Middleware/Attachment/createCoreMiddleware.js +2 -5
  40. package/lib/Middleware/AttachmentForScreenReader/createCoreMiddleware.d.ts.map +1 -1
  41. package/lib/Middleware/AttachmentForScreenReader/createCoreMiddleware.js +1 -1
  42. package/lib/Middleware/Avatar/createCoreMiddleware.d.ts.map +1 -1
  43. package/lib/Middleware/Avatar/createCoreMiddleware.js +2 -3
  44. package/lib/Middleware/CardAction/createCoreMiddleware.js +10 -3
  45. package/lib/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.d.ts.map +1 -1
  46. package/lib/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.js +1 -1
  47. package/lib/Middleware/Toast/createCoreMiddleware.d.ts.map +1 -1
  48. package/lib/Middleware/Toast/createCoreMiddleware.js +1 -1
  49. package/lib/Middleware/TypingIndicator/createCoreMiddleware.d.ts.map +1 -1
  50. package/lib/Middleware/TypingIndicator/createCoreMiddleware.js +8 -6
  51. package/lib/ReactWebChat.js +2 -2
  52. package/lib/ScreenReaderActivity.js +15 -6
  53. package/lib/ScreenReaderText.d.ts +9 -0
  54. package/lib/ScreenReaderText.d.ts.map +1 -0
  55. package/lib/ScreenReaderText.js +22 -8
  56. package/lib/SendBox/AutoResizeTextArea.js +1 -1
  57. package/lib/SendBox/DictationInterims.js +1 -1
  58. package/lib/SendBox/IconButton.d.ts +11 -0
  59. package/lib/SendBox/IconButton.d.ts.map +1 -0
  60. package/lib/SendBox/IconButton.js +26 -6
  61. package/lib/SendBox/MicrophoneButton.js +2 -2
  62. package/lib/SendBox/SendButton.js +2 -2
  63. package/lib/SendBox/SuggestedAction.d.ts +17 -0
  64. package/lib/SendBox/SuggestedAction.d.ts.map +1 -0
  65. package/lib/SendBox/SuggestedAction.js +26 -17
  66. package/lib/SendBox/SuggestedActions.d.ts.map +1 -1
  67. package/lib/SendBox/SuggestedActions.js +26 -9
  68. package/lib/SendBox/TextBox.js +4 -4
  69. package/lib/SendBox/UploadButton.js +4 -4
  70. package/lib/Styles/StyleSet/BasicTranscript.d.ts +13 -5
  71. package/lib/Styles/StyleSet/BasicTranscript.d.ts.map +1 -1
  72. package/lib/Styles/StyleSet/BasicTranscript.js +21 -9
  73. package/lib/Styles/StyleSet/Bubble.d.ts.map +1 -1
  74. package/lib/Styles/StyleSet/Bubble.js +3 -3
  75. package/lib/Styles/StyleSet/CarouselFilmStrip.d.ts.map +1 -1
  76. package/lib/Styles/StyleSet/CarouselFilmStrip.js +3 -3
  77. package/lib/Styles/StyleSet/CarouselFilmStripAttachment.d.ts.map +1 -1
  78. package/lib/Styles/StyleSet/CarouselFilmStripAttachment.js +3 -3
  79. package/lib/Styles/StyleSet/KeyboardHelp.d.ts +123 -0
  80. package/lib/Styles/StyleSet/KeyboardHelp.d.ts.map +1 -0
  81. package/lib/Styles/StyleSet/KeyboardHelp.js +145 -0
  82. package/lib/Styles/StyleSet/ScrollToEndButton.d.ts +1 -1
  83. package/lib/Styles/StyleSet/ScrollToEndButton.js +2 -2
  84. package/lib/Styles/StyleSet/SendBoxButton.d.ts +56 -10
  85. package/lib/Styles/StyleSet/SendBoxButton.d.ts.map +1 -1
  86. package/lib/Styles/StyleSet/SendBoxButton.js +76 -12
  87. package/lib/Styles/StyleSet/SendBoxTextBox.d.ts +1 -1
  88. package/lib/Styles/StyleSet/SendBoxTextBox.d.ts.map +1 -1
  89. package/lib/Styles/StyleSet/SendBoxTextBox.js +3 -3
  90. package/lib/Styles/StyleSet/StackedLayout.d.ts.map +1 -1
  91. package/lib/Styles/StyleSet/StackedLayout.js +1 -1
  92. package/lib/Styles/StyleSet/SuggestedAction.d.ts +73 -28
  93. package/lib/Styles/StyleSet/SuggestedAction.d.ts.map +1 -1
  94. package/lib/Styles/StyleSet/SuggestedAction.js +116 -41
  95. package/lib/Styles/StyleSet/SuggestedActions.d.ts +13 -6
  96. package/lib/Styles/StyleSet/SuggestedActions.d.ts.map +1 -1
  97. package/lib/Styles/StyleSet/SuggestedActions.js +13 -6
  98. package/lib/Styles/createStyleSet.d.ts +324 -55
  99. package/lib/Styles/createStyleSet.d.ts.map +1 -1
  100. package/lib/Styles/createStyleSet.js +6 -3
  101. package/lib/Styles/mirrorStyle.js +12 -3
  102. package/lib/Toast/NotificationIcon.js +7 -3
  103. package/lib/Toast/createToastMiddleware.d.ts.map +1 -1
  104. package/lib/Toast/createToastMiddleware.js +1 -1
  105. package/lib/Transcript/ActivityRow.d.ts +9 -0
  106. package/lib/Transcript/ActivityRow.d.ts.map +1 -0
  107. package/lib/Transcript/ActivityRow.js +159 -0
  108. package/lib/Transcript/ActivityTextAlt.js +57 -0
  109. package/lib/Transcript/FocusTrap.d.ts +8 -0
  110. package/lib/Transcript/FocusTrap.d.ts.map +1 -0
  111. package/lib/Transcript/FocusTrap.js +74 -0
  112. package/lib/Transcript/KeyboardHelp.d.ts +4 -0
  113. package/lib/Transcript/KeyboardHelp.d.ts.map +1 -0
  114. package/lib/Transcript/KeyboardHelp.js +550 -0
  115. package/lib/Transcript/LiveRegionTranscript.d.ts +8 -0
  116. package/lib/Transcript/LiveRegionTranscript.d.ts.map +1 -0
  117. package/lib/Transcript/LiveRegionTranscript.js +229 -0
  118. package/lib/Transcript/types.d.ts +2 -0
  119. package/lib/Transcript/types.d.ts.map +1 -0
  120. package/lib/Transcript/types.js +2 -0
  121. package/lib/Transcript/useActivityAccessibleName.d.ts +4 -0
  122. package/lib/Transcript/useActivityAccessibleName.d.ts.map +1 -0
  123. package/lib/Transcript/useActivityAccessibleName.js +97 -0
  124. package/lib/Transcript/useTypistNames.d.ts +3 -0
  125. package/lib/Transcript/useTypistNames.d.ts.map +1 -0
  126. package/lib/Transcript/useTypistNames.js +61 -0
  127. package/lib/Utils/AccessKeySink/Surface.js +1 -1
  128. package/lib/Utils/AccessibleButton.d.ts +11 -0
  129. package/lib/Utils/AccessibleButton.d.ts.map +1 -0
  130. package/lib/Utils/AccessibleButton.js +12 -7
  131. package/lib/Utils/AccessibleInputText.js +1 -1
  132. package/lib/Utils/AccessibleTextArea.js +1 -1
  133. package/lib/Utils/CroppedImage.js +1 -1
  134. package/lib/Utils/FocusRedirector.d.ts +9 -0
  135. package/lib/Utils/FocusRedirector.d.ts.map +1 -0
  136. package/lib/Utils/FocusRedirector.js +17 -14
  137. package/lib/Utils/InlineMarkdown.js +15 -8
  138. package/lib/Utils/TypeFocusSink/FocusBox.js +1 -1
  139. package/lib/Utils/TypeFocusSink/inputtableKey.d.ts +2 -0
  140. package/lib/Utils/TypeFocusSink/inputtableKey.d.ts.map +1 -0
  141. package/lib/Utils/TypeFocusSink/inputtableKey.js +5 -2
  142. package/lib/Utils/activityAltText.d.ts +8 -0
  143. package/lib/Utils/activityAltText.d.ts.map +1 -0
  144. package/lib/Utils/addTargetBlankToHyperlinksMarkdown.js +2 -2
  145. package/lib/Utils/createCustomEvent.js +8 -2
  146. package/lib/Utils/detectBrowser.js +4 -2
  147. package/lib/Utils/downscaleImageToDataURL/downscaleImageToDataURLUsingWorker.js +1 -1
  148. package/lib/Utils/downscaleImageToDataURL/index.js +1 -1
  149. package/lib/Utils/findAncestor.js +17 -0
  150. package/lib/Utils/getActivityUniqueId.js +4 -2
  151. package/lib/Utils/intersectionOf.d.ts +5 -0
  152. package/lib/Utils/intersectionOf.d.ts.map +1 -0
  153. package/lib/Utils/intersectionOf.js +17 -2
  154. package/lib/Utils/isZeroOrPositive.d.ts +5 -0
  155. package/lib/Utils/isZeroOrPositive.d.ts.map +1 -0
  156. package/lib/Utils/isZeroOrPositive.js +4 -1
  157. package/lib/Utils/mapMap.js +9 -2
  158. package/lib/Utils/readDataURIToBlob.js +1 -1
  159. package/lib/Utils/scrollIntoViewWithBlockNearest.d.ts +7 -0
  160. package/lib/Utils/scrollIntoViewWithBlockNearest.d.ts.map +1 -0
  161. package/lib/Utils/scrollIntoViewWithBlockNearest.js +48 -0
  162. package/lib/Utils/shallowEquals.js +7 -3
  163. package/lib/Utils/supportPseudoClass.d.ts +2 -0
  164. package/lib/Utils/supportPseudoClass.d.ts.map +1 -0
  165. package/lib/Utils/supportPseudoClass.js +23 -0
  166. package/lib/Utils/tabbableElements.d.ts +2 -0
  167. package/lib/Utils/tabbableElements.d.ts.map +1 -0
  168. package/lib/Utils/tabbableElements.js +2 -2
  169. package/lib/connectToWebChat.js +15 -7
  170. package/lib/hooks/index.js +24 -24
  171. package/lib/hooks/internal/BypassSpeechSynthesisPonyfill.js +8 -7
  172. package/lib/hooks/internal/useChanged.js +8 -1
  173. package/lib/hooks/internal/useDispatchScrollPosition.js +3 -7
  174. package/lib/hooks/internal/useDispatchTranscriptFocusByActivityKey.d.ts +2 -0
  175. package/lib/hooks/internal/useDispatchTranscriptFocusByActivityKey.d.ts.map +1 -0
  176. package/lib/hooks/internal/useDispatchTranscriptFocusByActivityKey.js +15 -0
  177. package/lib/hooks/internal/useFocusVisible.d.ts +3 -0
  178. package/lib/hooks/internal/useFocusVisible.d.ts.map +1 -0
  179. package/lib/hooks/internal/useFocusVisible.js +48 -0
  180. package/lib/hooks/internal/useMemoWithPrevious.d.ts +3 -0
  181. package/lib/hooks/internal/useMemoWithPrevious.d.ts.map +1 -0
  182. package/lib/hooks/internal/useMemoWithPrevious.js +22 -0
  183. package/lib/hooks/internal/useMemoize.d.ts +14 -0
  184. package/lib/hooks/internal/useMemoize.d.ts.map +1 -0
  185. package/lib/hooks/internal/useMemoize.js +11 -2
  186. package/lib/hooks/internal/useObserveFocusVisible.d.ts +3 -0
  187. package/lib/hooks/internal/useObserveFocusVisible.d.ts.map +1 -0
  188. package/lib/hooks/internal/useObserveFocusVisible.js +208 -0
  189. package/lib/hooks/internal/usePrevious.d.ts +2 -0
  190. package/lib/hooks/internal/usePrevious.d.ts.map +1 -0
  191. package/lib/hooks/internal/usePrevious.js +18 -0
  192. package/lib/hooks/internal/useStateRef.d.ts +3 -0
  193. package/lib/hooks/internal/useStateRef.d.ts.map +1 -0
  194. package/lib/hooks/internal/useStateRef.js +40 -0
  195. package/lib/hooks/internal/useValueRef.d.ts +3 -0
  196. package/lib/hooks/internal/useValueRef.d.ts.map +1 -0
  197. package/lib/hooks/internal/useValueRef.js +25 -0
  198. package/lib/hooks/useFocus.d.ts +1 -1
  199. package/lib/hooks/useFocus.d.ts.map +1 -1
  200. package/lib/hooks/useFocus.js +1 -1
  201. package/lib/hooks/useObserveTranscriptFocus.d.ts +2 -2
  202. package/lib/hooks/useObserveTranscriptFocus.d.ts.map +1 -1
  203. package/lib/hooks/useObserveTranscriptFocus.js +1 -1
  204. package/lib/hooks/useRenderMarkdownAsHTML.d.ts.map +1 -1
  205. package/lib/hooks/useRenderMarkdownAsHTML.js +1 -1
  206. package/lib/hooks/useScrollTo.d.ts.map +1 -1
  207. package/lib/hooks/useScrollTo.js +1 -1
  208. package/lib/hooks/useScrollToEnd.d.ts.map +1 -1
  209. package/lib/hooks/useScrollToEnd.js +1 -1
  210. package/lib/hooks/useSendFiles.d.ts.map +1 -1
  211. package/lib/hooks/useSendFiles.js +4 -4
  212. package/lib/index.d.ts +13 -3
  213. package/lib/index.d.ts.map +1 -1
  214. package/lib/index.js +20 -18
  215. package/lib/providers/ActivityTree/ActivityTreeComposer.d.ts +5 -0
  216. package/lib/providers/ActivityTree/ActivityTreeComposer.d.ts.map +1 -0
  217. package/lib/providers/ActivityTree/ActivityTreeComposer.js +86 -0
  218. package/lib/providers/ActivityTree/private/Context.d.ts +9 -0
  219. package/lib/providers/ActivityTree/private/Context.d.ts.map +1 -0
  220. package/lib/providers/ActivityTree/private/Context.js +13 -0
  221. package/lib/providers/ActivityTree/private/types.d.ts +10 -0
  222. package/lib/providers/ActivityTree/private/types.d.ts.map +1 -0
  223. package/lib/providers/ActivityTree/private/types.js +2 -0
  224. package/lib/providers/ActivityTree/private/useActivitiesWithRenderer.d.ts +4 -0
  225. package/lib/providers/ActivityTree/private/useActivitiesWithRenderer.d.ts.map +1 -0
  226. package/lib/providers/ActivityTree/private/useActivitiesWithRenderer.js +58 -0
  227. package/lib/providers/ActivityTree/private/useActivityTreeWithRenderer.d.ts +5 -0
  228. package/lib/providers/ActivityTree/private/useActivityTreeWithRenderer.d.ts.map +1 -0
  229. package/lib/providers/ActivityTree/private/useActivityTreeWithRenderer.js +166 -0
  230. package/lib/providers/ActivityTree/private/useContext.d.ts +3 -0
  231. package/lib/providers/ActivityTree/private/useContext.d.ts.map +1 -0
  232. package/lib/providers/ActivityTree/private/useContext.js +24 -0
  233. package/lib/providers/ActivityTree/useActivityTreeWithRenderer.d.ts +8 -0
  234. package/lib/providers/ActivityTree/useActivityTreeWithRenderer.d.ts.map +1 -0
  235. package/lib/providers/ActivityTree/useActivityTreeWithRenderer.js +17 -0
  236. package/lib/providers/LiveRegionTwin/LiveRegionTwinComposer.d.ts +37 -0
  237. package/lib/providers/LiveRegionTwin/LiveRegionTwinComposer.d.ts.map +1 -0
  238. package/lib/providers/LiveRegionTwin/LiveRegionTwinComposer.js +160 -0
  239. package/lib/providers/LiveRegionTwin/private/Context.d.ts +10 -0
  240. package/lib/providers/LiveRegionTwin/private/Context.d.ts.map +1 -0
  241. package/lib/providers/LiveRegionTwin/private/Context.js +13 -0
  242. package/lib/providers/LiveRegionTwin/private/LiveRegionTwinContainer.d.ts +12 -0
  243. package/lib/providers/LiveRegionTwin/private/LiveRegionTwinContainer.d.ts.map +1 -0
  244. package/lib/providers/LiveRegionTwin/private/LiveRegionTwinContainer.js +100 -0
  245. package/lib/providers/LiveRegionTwin/private/types.d.ts +8 -0
  246. package/lib/providers/LiveRegionTwin/private/types.d.ts.map +1 -0
  247. package/lib/providers/LiveRegionTwin/private/types.js +2 -0
  248. package/lib/providers/LiveRegionTwin/private/useContext.d.ts +3 -0
  249. package/lib/providers/LiveRegionTwin/private/useContext.d.ts.map +1 -0
  250. package/lib/providers/LiveRegionTwin/private/useContext.js +24 -0
  251. package/lib/providers/LiveRegionTwin/private/useMarkAllAsRenderedEffect.d.ts +2 -0
  252. package/lib/providers/LiveRegionTwin/private/useMarkAllAsRenderedEffect.d.ts.map +1 -0
  253. package/lib/providers/LiveRegionTwin/private/useMarkAllAsRenderedEffect.js +24 -0
  254. package/lib/providers/LiveRegionTwin/private/useStaticElementEntries.d.ts +3 -0
  255. package/lib/providers/LiveRegionTwin/private/useStaticElementEntries.d.ts.map +1 -0
  256. package/lib/providers/LiveRegionTwin/private/useStaticElementEntries.js +15 -0
  257. package/lib/providers/LiveRegionTwin/useQueueStaticElement.d.ts +8 -0
  258. package/lib/providers/LiveRegionTwin/useQueueStaticElement.d.ts.map +1 -0
  259. package/lib/providers/LiveRegionTwin/useQueueStaticElement.js +20 -0
  260. package/lib/providers/TranscriptFocus/TranscriptFocusComposer.d.ts +7 -0
  261. package/lib/providers/TranscriptFocus/TranscriptFocusComposer.d.ts.map +1 -0
  262. package/lib/providers/TranscriptFocus/TranscriptFocusComposer.js +184 -0
  263. package/lib/providers/TranscriptFocus/private/Context.d.ts +12 -0
  264. package/lib/providers/TranscriptFocus/private/Context.d.ts.map +1 -0
  265. package/lib/providers/TranscriptFocus/private/Context.js +13 -0
  266. package/lib/providers/TranscriptFocus/private/useContext.d.ts +2 -0
  267. package/lib/providers/TranscriptFocus/private/useContext.d.ts.map +1 -0
  268. package/lib/providers/TranscriptFocus/private/useContext.js +24 -0
  269. package/lib/providers/TranscriptFocus/useActiveDescendantId.d.ts +2 -0
  270. package/lib/providers/TranscriptFocus/useActiveDescendantId.d.ts.map +1 -0
  271. package/lib/providers/TranscriptFocus/useActiveDescendantId.js +15 -0
  272. package/lib/providers/TranscriptFocus/useFocusByActivityKey.d.ts +8 -0
  273. package/lib/providers/TranscriptFocus/useFocusByActivityKey.d.ts.map +1 -0
  274. package/lib/providers/TranscriptFocus/useFocusByActivityKey.js +21 -0
  275. package/lib/providers/TranscriptFocus/useFocusRelativeActivity.d.ts +2 -0
  276. package/lib/providers/TranscriptFocus/useFocusRelativeActivity.d.ts.map +1 -0
  277. package/lib/providers/TranscriptFocus/useFocusRelativeActivity.js +15 -0
  278. package/lib/providers/TranscriptFocus/useFocusedActivityKey.d.ts +2 -0
  279. package/lib/providers/TranscriptFocus/useFocusedActivityKey.d.ts.map +1 -0
  280. package/lib/providers/TranscriptFocus/useFocusedActivityKey.js +15 -0
  281. package/lib/providers/TranscriptFocus/useFocusedExplicitly.d.ts +2 -0
  282. package/lib/providers/TranscriptFocus/useFocusedExplicitly.d.ts.map +1 -0
  283. package/lib/providers/TranscriptFocus/useFocusedExplicitly.js +15 -0
  284. package/lib/providers/TranscriptFocus/useGetDescendantIdByActivityKey.d.ts +2 -0
  285. package/lib/providers/TranscriptFocus/useGetDescendantIdByActivityKey.d.ts.map +1 -0
  286. package/lib/providers/TranscriptFocus/useGetDescendantIdByActivityKey.js +15 -0
  287. package/package.json +30 -33
  288. package/src/Activity/CarouselFilmStripAttachment.js +0 -1
  289. package/src/Activity/Speak.tsx +21 -18
  290. package/src/Activity/StackedLayout.tsx +30 -35
  291. package/src/Attachment/FileAttachment.js +1 -1
  292. package/src/Attachment/FileContent.tsx +12 -0
  293. package/src/BasicSendBox.tsx +3 -2
  294. package/src/BasicToaster.js +5 -1
  295. package/src/BasicTranscript.tsx +894 -0
  296. package/src/BasicTypingIndicator.tsx +3 -2
  297. package/src/Composer.tsx +41 -29
  298. package/src/Middleware/Activity/createCoreMiddleware.tsx +47 -46
  299. package/src/Middleware/ActivityStatus/SendStatus/SendStatus.tsx +5 -3
  300. package/src/Middleware/ActivityStatus/Timestamp.tsx +5 -3
  301. package/src/Middleware/ActivityStatus/createSendStatusMiddleware.js +2 -0
  302. package/src/Middleware/Attachment/createCoreMiddleware.tsx +28 -28
  303. package/src/Middleware/AttachmentForScreenReader/createCoreMiddleware.tsx +25 -23
  304. package/src/Middleware/Avatar/createCoreMiddleware.tsx +9 -8
  305. package/src/Middleware/CardAction/createCoreMiddleware.js +9 -2
  306. package/src/Middleware/ScrollToEndButton/createScrollToEndButtonMiddleware.ts +11 -9
  307. package/src/Middleware/Toast/createCoreMiddleware.tsx +12 -10
  308. package/src/Middleware/TypingIndicator/createCoreMiddleware.tsx +8 -2
  309. package/src/ScreenReaderActivity.js +18 -3
  310. package/src/{ScreenReaderText.js → ScreenReaderText.tsx} +27 -9
  311. package/src/SendBox/{IconButton.js → IconButton.tsx} +19 -3
  312. package/src/SendBox/{SuggestedAction.js → SuggestedAction.tsx} +72 -35
  313. package/src/SendBox/SuggestedActions.tsx +48 -21
  314. package/src/Styles/StyleSet/BasicTranscript.ts +34 -20
  315. package/src/Styles/StyleSet/Bubble.ts +0 -1
  316. package/src/Styles/StyleSet/CarouselFilmStrip.ts +12 -10
  317. package/src/Styles/StyleSet/CarouselFilmStripAttachment.ts +4 -3
  318. package/src/Styles/StyleSet/KeyboardHelp.ts +157 -0
  319. package/src/Styles/StyleSet/ScrollToEndButton.ts +1 -1
  320. package/src/Styles/StyleSet/SendBoxButton.ts +84 -13
  321. package/src/Styles/StyleSet/SendBoxTextBox.ts +1 -2
  322. package/src/Styles/StyleSet/StackedLayout.ts +13 -11
  323. package/src/Styles/StyleSet/SuggestedAction.ts +129 -42
  324. package/src/Styles/StyleSet/SuggestedActions.ts +13 -5
  325. package/src/Styles/createStyleSet.ts +2 -1
  326. package/src/Styles/mirrorStyle.js +10 -2
  327. package/src/Toast/NotificationIcon.js +4 -1
  328. package/src/Toast/createToastMiddleware.tsx +4 -1
  329. package/src/Transcript/ActivityRow.tsx +123 -0
  330. package/src/Transcript/ActivityTextAlt.tsx +31 -0
  331. package/src/Transcript/FocusTrap.tsx +64 -0
  332. package/src/Transcript/KeyboardHelp.tsx +282 -0
  333. package/src/Transcript/LiveRegionTranscript.tsx +196 -0
  334. package/src/Transcript/types.ts +1 -0
  335. package/src/Transcript/useActivityAccessibleName.ts +84 -0
  336. package/src/Transcript/useTypistNames.ts +37 -0
  337. package/src/Utils/{AccessibleButton.js → AccessibleButton.tsx} +19 -4
  338. package/src/Utils/{FocusRedirector.js → FocusRedirector.tsx} +21 -8
  339. package/src/Utils/InlineMarkdown.js +18 -2
  340. package/src/Utils/TypeFocusSink/inputtableKey.ts +5 -1
  341. package/src/Utils/createCustomEvent.js +7 -1
  342. package/src/Utils/detectBrowser.js +2 -1
  343. package/src/Utils/findAncestor.ts +12 -0
  344. package/src/Utils/getActivityUniqueId.ts +5 -0
  345. package/src/Utils/intersectionOf.ts +14 -0
  346. package/src/Utils/isZeroOrPositive.ts +7 -0
  347. package/src/Utils/mapMap.js +7 -1
  348. package/src/Utils/scrollIntoViewWithBlockNearest.ts +20 -0
  349. package/src/Utils/shallowEquals.js +8 -1
  350. package/src/Utils/supportPseudoClass.ts +17 -0
  351. package/src/Utils/{tabbableElements.js → tabbableElements.ts} +6 -5
  352. package/src/connectToWebChat.js +11 -4
  353. package/src/hooks/internal/BypassSpeechSynthesisPonyfill.js +3 -1
  354. package/src/hooks/internal/useChanged.ts +17 -0
  355. package/src/hooks/internal/useDispatchScrollPosition.js +1 -3
  356. package/src/hooks/internal/useDispatchTranscriptFocusByActivityKey.ts +5 -0
  357. package/src/hooks/internal/useFocusVisible.ts +22 -0
  358. package/src/hooks/internal/useMemoWithPrevious.ts +16 -0
  359. package/src/hooks/internal/useMemoize.spec.js +1 -1
  360. package/src/hooks/internal/useMemoize.ts +53 -0
  361. package/src/hooks/internal/useObserveFocusVisible.ts +252 -0
  362. package/src/hooks/internal/usePrevious.ts +12 -0
  363. package/src/hooks/internal/useStateRef.ts +31 -0
  364. package/src/hooks/internal/useValueRef.ts +22 -0
  365. package/src/hooks/useFocus.ts +1 -1
  366. package/src/hooks/useObserveTranscriptFocus.ts +2 -2
  367. package/src/hooks/useRenderMarkdownAsHTML.ts +4 -5
  368. package/src/hooks/useScrollTo.ts +4 -3
  369. package/src/hooks/useScrollToEnd.ts +4 -3
  370. package/src/hooks/useSendFiles.ts +7 -5
  371. package/src/index.ts +0 -1
  372. package/src/providers/ActivityTree/ActivityTreeComposer.tsx +74 -0
  373. package/src/providers/ActivityTree/private/Context.ts +12 -0
  374. package/src/providers/ActivityTree/private/types.ts +12 -0
  375. package/src/providers/ActivityTree/private/useActivitiesWithRenderer.ts +64 -0
  376. package/src/providers/ActivityTree/private/useActivityTreeWithRenderer.ts +135 -0
  377. package/src/providers/ActivityTree/private/useContext.ts +15 -0
  378. package/src/providers/ActivityTree/useActivityTreeWithRenderer.ts +16 -0
  379. package/src/providers/LiveRegionTwin/LiveRegionTwinComposer.tsx +161 -0
  380. package/src/providers/LiveRegionTwin/private/Context.ts +15 -0
  381. package/src/providers/LiveRegionTwin/private/LiveRegionTwinContainer.tsx +80 -0
  382. package/src/providers/LiveRegionTwin/private/types.ts +10 -0
  383. package/src/providers/LiveRegionTwin/private/useContext.ts +15 -0
  384. package/src/providers/LiveRegionTwin/private/useMarkAllAsRenderedEffect.ts +13 -0
  385. package/src/providers/LiveRegionTwin/private/useStaticElementEntries.ts +7 -0
  386. package/src/providers/LiveRegionTwin/useQueueStaticElement.ts +12 -0
  387. package/src/providers/TranscriptFocus/TranscriptFocusComposer.tsx +180 -0
  388. package/src/providers/TranscriptFocus/private/Context.ts +16 -0
  389. package/src/providers/TranscriptFocus/private/useContext.ts +13 -0
  390. package/src/providers/TranscriptFocus/useActiveDescendantId.ts +5 -0
  391. package/src/providers/TranscriptFocus/useFocusByActivityKey.ts +14 -0
  392. package/src/providers/TranscriptFocus/useFocusRelativeActivity.ts +5 -0
  393. package/src/providers/TranscriptFocus/useFocusedActivityKey.ts +5 -0
  394. package/src/providers/TranscriptFocus/useFocusedExplicitly.ts +5 -0
  395. package/src/providers/TranscriptFocus/useGetDescendantIdByActivityKey.ts +5 -0
  396. package/.eslintignore +0 -1
  397. package/lib/Middleware/GroupActivities/createCoreMiddleware.js +0 -69
  398. package/lib/Utils/findLastIndex.js +0 -32
  399. package/lib/hooks/internal/useAcknowledgedActivity.js +0 -90
  400. package/lib/hooks/internal/useDispatchTranscriptFocus.js +0 -19
  401. package/src/BasicTranscript.js +0 -1139
  402. package/src/Middleware/GroupActivities/createCoreMiddleware.js +0 -57
  403. package/src/Utils/findLastIndex.js +0 -11
  404. package/src/Utils/findLastIndex.spec.js +0 -31
  405. package/src/Utils/getActivityUniqueId.js +0 -3
  406. package/src/Utils/intersectionOf.js +0 -11
  407. package/src/Utils/isZeroOrPositive.js +0 -4
  408. package/src/hooks/internal/useAcknowledgedActivity.js +0 -65
  409. package/src/hooks/internal/useChanged.js +0 -10
  410. package/src/hooks/internal/useDispatchTranscriptFocus.js +0 -7
  411. package/src/hooks/internal/useMemoize.js +0 -37
package/.eslintrc.yml CHANGED
@@ -1,108 +1,6 @@
1
1
  extends:
2
- - plugin:react/recommended
3
- plugins:
4
- - prettier
5
- - react-hooks
6
- - '@typescript-eslint/eslint-plugin'
7
- parser:
8
- '@typescript-eslint/parser'
9
- rules:
10
- # plugins
11
- prettier/prettier: error
2
+ - ../../.eslintrc.react.yml
12
3
 
13
- react/button-has-type: error
14
- react/default-props-match-prop-types: error
15
- react/destructuring-assignment: error
16
- react/display-name: off
17
- react/forbid-component-props:
18
- - error
19
- - forbid:
20
- - style
21
- react/forbid-dom-props:
22
- - error
23
- - forbid:
24
- - id
25
- # react/forbid-prop-types: error // How to deal with Adaptive Card schema?
26
- react/no-access-state-in-setstate: error
27
- react/no-array-index-key: error
28
- react/no-danger: error
29
- react/no-did-mount-set-state: error
30
- react/no-did-update-set-state: error
31
- react/no-redundant-should-component-update: error
32
- react/no-typos: error
33
- react/no-this-in-sfc: error
34
- react/no-unescaped-entities: error
35
- react/no-unsafe: error
36
- react/no-unused-prop-types: error
37
- react/no-unused-state: error
38
- react/no-will-update-set-state: error
39
- react/prefer-es6-class: error
40
- react/prefer-read-only-props: error
41
- react/require-default-props: error
42
- react/self-closing-comp: error
43
- react/sort-prop-types: error
44
- react/state-in-constructor: error
45
- react/static-property-placement:
46
- - error
47
- - property assignment
48
- react/style-prop-object: error
49
- react/void-dom-elements-no-children: error
50
- react/jsx-boolean-value:
51
- - error
52
- - always
53
- react/jsx-closing-bracket-location:
54
- - error
55
- - tag-aligned
56
- react/jsx-closing-tag-location: error
57
- react/jsx-equals-spacing:
58
- - error
59
- - never
60
- react/jsx-first-prop-new-line:
61
- - error
62
- - multiline-multiprop
63
- react/jsx-handler-names: error
64
- react/jsx-indent:
65
- - error
66
- - 2
67
- react/jsx-indent-props:
68
- - error
69
- - 2
70
- react/jsx-max-props-per-line:
71
- - error
72
- - maximum: 1
73
- when: multiline
74
- react/jsx-no-bind: error
75
- react/jsx-no-literals: error
76
- # react/jsx-one-expression-per-line: #conflicts with prettier
77
- # - error
78
- # - allow: literal
79
- react/jsx-fragments:
80
- - error
81
- - element
82
- react/jsx-pascal-case: error
83
- react/jsx-props-no-multi-spaces: error
84
- react/jsx-sort-default-props: error
85
- react/jsx-sort-props: error
86
- react/jsx-tag-spacing:
87
- - error
88
- - afterOpening: never
89
- beforeClosing: never
90
- beforeSelfClosing: always
91
- closingSlash: never
92
- react/jsx-wrap-multilines: error # Conflict with no-extra-parens
93
- react-hooks/rules-of-hooks: error
94
- react-hooks/exhaustive-deps: warn
95
-
96
- # TypeScript
97
-
98
- # The correct way to use with typescript-eslint is to disable the core version.
99
- # https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/no-use-before-define.md#how-to-use
100
- no-use-before-define: off
101
- '@typescript-eslint/no-use-before-define':
102
- - error
103
-
104
- no-unused-vars: off
105
- '@typescript-eslint/no-unused-vars':
106
- - error
107
- - argsIgnorePattern: ^_$
108
- varsIgnorePattern: ^_
4
+ # This package is expected to run inside a web browser.
5
+ env:
6
+ browser: true
package/.prettierrc.yml CHANGED
@@ -1,7 +1,7 @@
1
1
  arrowParens: avoid
2
+ bracketSameLine: false
2
3
  bracketSpacing: true
3
4
  endOfLine: auto
4
- jsxBracketSameLine: false
5
5
  printWidth: 120
6
6
  proseWrap: preserve
7
7
  quoteProps: as-needed
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.connectCarouselFilmStrip = exports.default = void 0;
6
+ exports.default = exports.connectCarouselFilmStrip = void 0;
7
7
 
8
8
  var _botframeworkWebchatApi = require("botframework-webchat-api");
9
9
 
@@ -117,4 +117,4 @@ CarouselFilmStripAttachment.propTypes = {
117
117
  };
118
118
  var _default = CarouselFilmStripAttachment;
119
119
  exports.default = _default;
120
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BY3Rpdml0eS9DYXJvdXNlbEZpbG1TdHJpcEF0dGFjaG1lbnQuanMiXSwibmFtZXMiOlsidXNlRGlyZWN0aW9uIiwiaG9va3MiLCJ1c2VMb2NhbGl6ZXIiLCJDYXJvdXNlbEZpbG1TdHJpcEF0dGFjaG1lbnQiLCJhY3Rpdml0eSIsImF0dGFjaG1lbnQiLCJjbGFzc05hbWUiLCJmcm9tVXNlciIsImhhc0F2YXRhciIsImhpZGVOdWIiLCJpbmRleCIsInJlbmRlckF0dGFjaG1lbnQiLCJzaG93QXZhdGFyIiwic2hvd051YiIsImRpcmVjdGlvbiIsImxvY2FsaXplIiwiY2Fyb3VzZWxGaWxtU3RyaXBBdHRhY2htZW50U3R5bGVTZXQiLCJjYXJvdXNlbEZpbG1TdHJpcEF0dGFjaG1lbnQiLCJhdHRhY2hlZEFsdCIsImRlZmF1bHRQcm9wcyIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInNoYXBlIiwiYXR0YWNobWVudHMiLCJhcnJheSIsImNoYW5uZWxEYXRhIiwibWVzc2FnZUJhY2siLCJkaXNwbGF5VGV4dCIsInN0cmluZyIsInN0YXRlIiwiZnJvbSIsInJvbGUiLCJpc1JlcXVpcmVkIiwidGV4dCIsInRleHRGb3JtYXQiLCJ0aW1lc3RhbXAiLCJjb250ZW50IiwiYW55IiwiYm9vbCIsIm51bWJlciIsImZ1bmMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLElBQVFBLFlBQVIsR0FBdUNDLDZCQUF2QyxDQUFRRCxZQUFSO0FBQUEsSUFBc0JFLFlBQXRCLEdBQXVDRCw2QkFBdkMsQ0FBc0JDLFlBQXRCOztBQUVBLElBQU1DLDJCQUEyQixHQUFHLFNBQTlCQSwyQkFBOEIsT0FXOUI7QUFBQSxNQVZKQyxRQVVJLFFBVkpBLFFBVUk7QUFBQSxNQVRKQyxVQVNJLFFBVEpBLFVBU0k7QUFBQSxNQVJKQyxTQVFJLFFBUkpBLFNBUUk7QUFBQSxNQVBK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QUFBLFNBQVMsRUFBRWEsbUJBQVVnQixHQUFWLENBQWNMLFVBckJhO0FBc0J0Q3ZCLEVBQUFBLE9BQU8sRUFBRVksbUJBQVVpQixJQUFWLENBQWVOLFVBdEJjO0FBdUJ0Q3RCLEVBQUFBLEtBQUssRUFBRVcsbUJBQVVrQixNQUFWLENBQWlCUCxVQXZCYztBQXdCdENyQixFQUFBQSxnQkFBZ0IsRUFBRVUsbUJBQVVtQixJQUFWLENBQWVSLFVBeEJLO0FBeUJ0Q3BCLEVBQUFBLFVBQVUsRUFBRVMsbUJBQVVpQixJQUFWLENBQWVOLFVBekJXO0FBMEJ0Q25CLEVBQUFBLE9BQU8sRUFBRVEsbUJBQVVpQixJQUFWLENBQWVOO0FBMUJjLENBQXhDO2VBNkJlN0IsMkIiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGhvb2tzIH0gZnJvbSAnYm90ZnJhbWV3b3JrLXdlYmNoYXQtYXBpJztcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBCdWJibGUgZnJvbSAnLi9CdWJibGUnO1xuaW1wb3J0IFNjcmVlblJlYWRlclRleHQgZnJvbSAnLi4vU2NyZWVuUmVhZGVyVGV4dCc7XG5pbXBvcnQgdXNlU3R5bGVTZXQgZnJvbSAnLi4vaG9va3MvdXNlU3R5bGVTZXQnO1xuXG5jb25zdCB7IHVzZURpcmVjdGlvbiwgdXNlTG9jYWxpemVyIH0gPSBob29rcztcblxuY29uc3QgQ2Fyb3VzZWxGaWxtU3RyaXBBdHRhY2htZW50ID0gKHtcbiAgYWN0aXZpdHksXG4gIGF0dGFjaG1lbnQsXG4gIGNsYXNzTmFtZSxcbiAgZnJvbVVzZXIsXG4gIGhhc0F2YXRhcixcbiAgaGlkZU51YixcbiAgaW5kZXgsXG4gIHJlbmRlckF0dGFjaG1lbnQsXG4gIHNob3dBdmF0YXIsXG4gIHNob3dOdWJcbn0pID0+IHtcbiAgY29uc3QgW2RpcmVjdGlvbl0gPSB1c2VEaXJlY3Rpb24oKTtcbiAgY29uc3QgbG9jYWxpemUgPSB1c2VMb2NhbGl6ZXIoKTtcbiAgY29uc3QgW3sgY2Fyb3VzZWxGaWxtU3RyaXBBdHRhY2htZW50OiBjYXJvdXNlbEZpbG1TdHJpcEF0dGFjaG1lbnRTdHlsZVNldCB9XSA9IHVzZVN0eWxlU2V0KCk7XG5cbiAgY29uc3QgYXR0YWNoZWRBbHQgPSBsb2NhbGl6ZShmcm9tVXNlciA/ICdBQ1RJVklUWV9ZT1VfQVRUQUNIRURfQUxUJyA6ICdBQ1RJVklUWV9CT1RfQVRUQUNIRURfQUxUJyk7XG5cbiAgcmV0dXJuIChcbiAgICA8bGlcbiAgICAgIGFyaWEtcm9sZWRlc2NyaXB0aW9uPVwiYXR0YWNobWVudFwiXG4gICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoXG4gICAgICAgICd3ZWJjaGF0X19jYXJvdXNlbC1maWxtc3RyaXAtYXR0YWNobWVudCcsXG4gICAgICAgIHtcbiAgICAgICAgICAnd2ViY2hhdF9fY2Fyb3VzZWwtZmlsbXN0cmlwLWF0dGFjaG1lbnQtLWhpZGUtYXZhdGFyJzogaGFzQXZhdGFyICYmICFzaG93QXZhdGFyLFxuICAgICAgICAgICd3ZWJjaGF0X19jYXJvdXNlbC1maWxtc3RyaXAtYXR0YWNobWVudC0taGlkZS1udWInOiBoaWRlTnViLFxuICAgICAgICAgICd3ZWJjaGF0X19jYXJvdXNlbC1maWxtc3RyaXAtYXR0YWNobWVudC0tcnRsJzogZGlyZWN0aW9uID09PSAncnRsJyxcbiAgICAgICAgICAnd2ViY2hhdF9fY2Fyb3VzZWwtZmlsbXN0cmlwLWF0dGFjaG1lbnQtLXNob3ctYXZhdGFyJzogc2hvd0F2YXRhcixcbiAgICAgICAgICAnd2ViY2hhdF9fY2Fyb3VzZWwtZmlsbXN0cmlwLWF0dGFjaG1lbnQtLXNob3ctbnViJzogc2hvd051YlxuICAgICAgICB9LFxuICAgICAgICAncmVhY3QtZmlsbV9fZmlsbXN0cmlwX19pdGVtJyxcbiAgICAgICAgY2Fyb3VzZWxGaWxtU3RyaXBBdHRhY2htZW50U3R5bGVTZXQgKyAnJyxcbiAgICAgICAgKGNsYXNzTmFtZSB8fCAnJykgKyAnJ1xuICAgICAgKX1cbiAgICAgIHJvbGU9XCJsaXN0aXRlbVwiXG4gICAgICB0YWJJbmRleD17MH1cbiAgICA+XG4gICAgICA8U2NyZWVuUmVhZGVyVGV4dCB0ZXh0PXthdHRhY2hlZEFsdH0gLz5cbiAgICAgIHsvKiBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgcmVhY3Qvbm8tYXJyYXktaW5kZXgta2V5ICovfVxuICAgICAgPEJ1YmJsZSBmcm9tVXNlcj17ZnJvbVVzZXJ9IGtleT17aW5kZXh9IG51Yj17ZmFsc2V9PlxuICAgICAgICB7cmVuZGVyQXR0YWNobWVudCh7IGFjdGl2aXR5LCBhdHRhY2htZW50IH0pfVxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIndlYmNoYXRfX2Nhcm91c2VsLWZpbG1zdHJpcC1hdHRhY2htZW50LS1mb2N1c1wiIC8+XG4gICAgICA8L0J1YmJsZT5cbiAgICA8L2xpPlxuICApO1xufTtcblxuQ2Fyb3VzZWxGaWxtU3RyaXBBdHRhY2htZW50LmRlZmF1bHRQcm9wcyA9IHtcbiAgY2xhc3NOYW1lOiAnJ1xufTtcblxuQ2Fyb3VzZWxGaWxtU3RyaXBBdHRhY2htZW50LnByb3BUeXBlcyA9IHtcbiAgYWN0aXZpdHk6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgYXR0YWNobWVudHM6IFByb3BUeXBlcy5hcnJheSxcbiAgICBjaGFubmVsRGF0YTogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgIG1lc3NhZ2VCYWNrOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgICBkaXNwbGF5VGV4dDogUHJvcFR5cGVzLnN0cmluZ1xuICAgICAgfSksXG4gICAgICBzdGF0ZTogUHJvcFR5cGVzLnN0cmluZ1xuICAgIH0pLFxuICAgIGZyb206IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICByb2xlOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWRcbiAgICB9KS5pc1JlcXVpcmVkLFxuICAgIHRleHQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgdGV4dEZvcm1hdDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB0aW1lc3RhbXA6IFByb3BUeXBlcy5zdHJpbmdcbiAgfSkuaXNSZXF1aXJlZCxcbiAgYXR0YWNobWVudDogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICBjb250ZW50OiBQcm9wVHlwZXMuYW55XG4gIH0pLmlzUmVxdWlyZWQsXG4gIGNsYXNzTmFtZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgZnJvbVVzZXI6IFByb3BUeXBlcy5hbnkuaXNSZXF1aXJlZCxcbiAgaGFzQXZhdGFyOiBQcm9wVHlwZXMuYW55LmlzUmVxdWlyZWQsXG4gIGhpZGVOdWI6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gIGluZGV4OiBQcm9wVHlwZXMubnVtYmVyLmlzUmVxdWlyZWQsXG4gIHJlbmRlckF0dGFjaG1lbnQ6IFByb3BUeXBlcy5mdW5jLmlzUmVxdWlyZWQsXG4gIHNob3dBdmF0YXI6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWQsXG4gIHNob3dOdWI6IFByb3BUeXBlcy5ib29sLmlzUmVxdWlyZWRcbn07XG5cbmV4cG9ydCBkZWZhdWx0IENhcm91c2VsRmlsbVN0cmlwQXR0YWNobWVudDtcbiJdfQ==
120
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BY3Rpdml0eS9DYXJvdXNlbEZpbG1TdHJpcEF0dGFjaG1lbnQuanMiXSwibmFtZXMiOlsidXNlRGlyZWN0aW9uIiwiaG9va3MiLCJ1c2VMb2NhbGl6ZXIiLCJDYXJvdXNlbEZpbG1TdHJpcEF0dGFjaG1lbnQiLCJhY3Rpdml0eSIsImF0dGFjaG1lbnQiLCJjbGFzc05hbWUiLCJmcm9tVXNlciIsImhhc0F2YXRhciIsImhpZGVOdWIiLCJpbmRleCIsInJlbmRlckF0dGFjaG1lbnQiLCJzaG93QXZhdGFyIiwic2hvd051YiIsImRpcmVjdGlvbiIsImxvY2FsaXplIiwiY2Fyb3VzZWxGaWxtU3RyaXBBdHRhY2htZW50U3R5bGVTZXQiLCJjYXJvdXNlbEZpbG1TdHJpcEF0dGFjaG1lbnQiLCJhdHRhY2hlZEFsdCIsImRlZmF1bHRQcm9wcyIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInNoYXBlIiwiYXR0YWNobWVudHMiLCJhcnJheSIsImNoYW5uZWxEYXRhIiwibWVzc2FnZUJhY2siLCJkaXNwbGF5VGV4dCIsInN0cmluZyIsInN0YXRlIiwiZnJvbSIsInJvbGUiLCJpc1JlcXVpcmVkIiwidGV4dCIsInRleHRGb3JtYXQiLCJ0aW1lc3RhbXAiLCJjb250ZW50IiwiYW55IiwiYm9vbCIsIm51bWJlciIsImZ1bmMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLElBQVFBLFlBQVIsR0FBdUNDLDZCQUF2QyxDQUFRRCxZQUFSO0FBQUEsSUFBc0JFLFlBQXRCLEdBQXVDRCw2QkFBdkMsQ0FBc0JDLFlBQXRCOztBQUVBLElBQU1DLDJCQUEyQixHQUFHLFNBQTlCQSwyQkFBOEIsT0FXOUI7QUFBQSxNQVZKQyxRQVVJLFFBVkpBLFFBVUk7QUFBQSxNQVRKQyxVQVNJLFFBVEpBLFVBU0k7QUFBQSxNQVJKQyxTQVFJLFFBUkpBLFNBUUk7QUFBQSxNQVBK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QUFBLFNBQVMsRUFBRWEsbUJBQVVnQixHQUFWLENBQWNMLFVBckJhO0FBc0J0Q3ZCLEVBQUFBLE9BQU8sRUFBRVksbUJBQVVpQixJQUFWLENBQWVOLFVBdEJjO0FBdUJ0Q3RCLEVBQUFBLEtBQUssRUFBRVcsbUJBQVVrQixNQUFWLENBQWlCUCxVQXZCYztBQXdCdENyQixFQUFBQSxnQkFBZ0IsRUFBRVUsbUJBQVVtQixJQUFWLENBQWVSLFVBeEJLO0FBeUJ0Q3BCLEVBQUFBLFVBQVUsRUFBRVMsbUJBQVVpQixJQUFWLENBQWVOLFVBekJXO0FBMEJ0Q25CLEVBQUFBLE9BQU8sRUFBRVEsbUJBQVVpQixJQUFWLENBQWVOO0FBMUJjLENBQXhDO2VBNkJlN0IsMkIiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGhvb2tzIH0gZnJvbSAnYm90ZnJhbWV3b3JrLXdlYmNoYXQtYXBpJztcbmltcG9ydCBjbGFzc05hbWVzIGZyb20gJ2NsYXNzbmFtZXMnO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBCdWJibGUgZnJvbSAnLi9CdWJibGUnO1xuaW1wb3J0IFNjcmVlblJlYWRlclRleHQgZnJvbSAnLi4vU2NyZWVuUmVhZGVyVGV4dCc7XG5pbXBvcnQgdXNlU3R5bGVTZXQgZnJvbSAnLi4vaG9va3MvdXNlU3R5bGVTZXQnO1xuXG5jb25zdCB7IHVzZURpcmVjdGlvbiwgdXNlTG9jYWxpemVyIH0gPSBob29rcztcblxuY29uc3QgQ2Fyb3VzZWxGaWxtU3RyaXBBdHRhY2htZW50ID0gKHtcbiAgYWN0aXZpdHksXG4gIGF0dGFjaG1lbnQsXG4gIGNsYXNzTmFtZSxcbiAgZnJvbVVzZXIsXG4gIGhhc0F2YXRhcixcbiAgaGlkZU51YixcbiAgaW5kZXgsXG4gIHJlbmRlckF0dGFjaG1lbnQsXG4gIHNob3dBdmF0YXIsXG4gIHNob3dOdWJcbn0pID0+IHtcbiAgY29uc3QgW2RpcmVjdGlvbl0gPSB1c2VEaXJlY3Rpb24oKTtcbiAgY29uc3QgbG9jYWxpemUgPSB1c2VMb2NhbGl6ZXIoKTtcbiAgY29uc3QgW3sgY2Fyb3VzZWxGaWxtU3RyaXBBdHRhY2htZW50OiBjYXJvdXNlbEZpbG1TdHJpcEF0dGFjaG1lbnRTdHlsZVNldCB9XSA9IHVzZVN0eWxlU2V0KCk7XG5cbiAgY29uc3QgYXR0YWNoZWRBbHQgPSBsb2NhbGl6ZShmcm9tVXNlciA/ICdBQ1RJVklUWV9ZT1VfQVRUQUNIRURfQUxUJyA6ICdBQ1RJVklUWV9CT1RfQVRUQUNIRURfQUxUJyk7XG5cbiAgcmV0dXJuIChcbiAgICA8bGlcbiAgICAgIGFyaWEtcm9sZWRlc2NyaXB0aW9uPVwiYXR0YWNobWVudFwiXG4gICAgICBjbGFzc05hbWU9e2NsYXNzTmFtZXMoXG4gICAgICAgICd3ZWJjaGF0X19jYXJvdXNlbC1maWxtc3RyaXAtYXR0YWNobWVudCcsXG4gICAgICAgIHtcbiAgICAgICAgICAnd2ViY2hhdF9fY2Fyb3VzZWwtZmlsbXN0cmlwLWF0dGFjaG1lbnQtLWhpZGUtYXZhdGFyJzogaGFzQXZhdGFyICYmICFzaG93QXZhdGFyLFxuICAgICAgICAgICd3ZWJjaGF0X19jYXJvdXNlbC1maWxtc3RyaXAtYXR0YWNobWVudC0taGlkZS1udWInOiBoaWRlTnViLFxuICAgICAgICAgICd3ZWJjaGF0X19jYXJvdXNlbC1maWxtc3RyaXAtYXR0YWNobWVudC0tcnRsJzogZGlyZWN0aW9uID09PSAncnRsJyxcbiAgICAgICAgICAnd2ViY2hhdF9fY2Fyb3VzZWwtZmlsbXN0cmlwLWF0dGFjaG1lbnQtLXNob3ctYXZhdGFyJzogc2hvd0F2YXRhcixcbiAgICAgICAgICAnd2ViY2hhdF9fY2Fyb3VzZWwtZmlsbXN0cmlwLWF0dGFjaG1lbnQtLXNob3ctbnViJzogc2hvd051YlxuICAgICAgICB9LFxuICAgICAgICAncmVhY3QtZmlsbV9fZmlsbXN0cmlwX19pdGVtJyxcbiAgICAgICAgY2Fyb3VzZWxGaWxtU3RyaXBBdHRhY2htZW50U3R5bGVTZXQgKyAnJyxcbiAgICAgICAgKGNsYXNzTmFtZSB8fCAnJykgKyAnJ1xuICAgICAgKX1cbiAgICAgIHJvbGU9XCJsaXN0aXRlbVwiXG4gICAgICB0YWJJbmRleD17MH1cbiAgICA+XG4gICAgICA8U2NyZWVuUmVhZGVyVGV4dCB0ZXh0PXthdHRhY2hlZEFsdH0gLz5cbiAgICAgIDxCdWJibGUgZnJvbVVzZXI9e2Zyb21Vc2VyfSBrZXk9e2luZGV4fSBudWI9e2ZhbHNlfT5cbiAgICAgICAge3JlbmRlckF0dGFjaG1lbnQoeyBhY3Rpdml0eSwgYXR0YWNobWVudCB9KX1cbiAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3ZWJjaGF0X19jYXJvdXNlbC1maWxtc3RyaXAtYXR0YWNobWVudC0tZm9jdXNcIiAvPlxuICAgICAgPC9CdWJibGU+XG4gICAgPC9saT5cbiAgKTtcbn07XG5cbkNhcm91c2VsRmlsbVN0cmlwQXR0YWNobWVudC5kZWZhdWx0UHJvcHMgPSB7XG4gIGNsYXNzTmFtZTogJydcbn07XG5cbkNhcm91c2VsRmlsbVN0cmlwQXR0YWNobWVudC5wcm9wVHlwZXMgPSB7XG4gIGFjdGl2aXR5OiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgIGF0dGFjaG1lbnRzOiBQcm9wVHlwZXMuYXJyYXksXG4gICAgY2hhbm5lbERhdGE6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICBtZXNzYWdlQmFjazogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgICAgZGlzcGxheVRleHQ6IFByb3BUeXBlcy5zdHJpbmdcbiAgICAgIH0pLFxuICAgICAgc3RhdGU6IFByb3BUeXBlcy5zdHJpbmdcbiAgICB9KSxcbiAgICBmcm9tOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgcm9sZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkXG4gICAgfSkuaXNSZXF1aXJlZCxcbiAgICB0ZXh0OiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHRleHRGb3JtYXQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgdGltZXN0YW1wOiBQcm9wVHlwZXMuc3RyaW5nXG4gIH0pLmlzUmVxdWlyZWQsXG4gIGF0dGFjaG1lbnQ6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgY29udGVudDogUHJvcFR5cGVzLmFueVxuICB9KS5pc1JlcXVpcmVkLFxuICBjbGFzc05hbWU6IFByb3BUeXBlcy5zdHJpbmcsXG4gIGZyb21Vc2VyOiBQcm9wVHlwZXMuYW55LmlzUmVxdWlyZWQsXG4gIGhhc0F2YXRhcjogUHJvcFR5cGVzLmFueS5pc1JlcXVpcmVkLFxuICBoaWRlTnViOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICBpbmRleDogUHJvcFR5cGVzLm51bWJlci5pc1JlcXVpcmVkLFxuICByZW5kZXJBdHRhY2htZW50OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuICBzaG93QXZhdGFyOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkLFxuICBzaG93TnViOiBQcm9wVHlwZXMuYm9vbC5pc1JlcXVpcmVkXG59O1xuXG5leHBvcnQgZGVmYXVsdCBDYXJvdXNlbEZpbG1TdHJpcEF0dGFjaG1lbnQ7XG4iXX0=
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
@@ -31,9 +31,9 @@ function _interopRequireWildcard(obj, nodeInterop) { if (!nodeInterop && obj &&
31
31
 
32
32
  function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
33
33
 
34
- function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); if (enumerableOnly) { symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; }); } keys.push.apply(keys, symbols); } return keys; }
34
+ function ownKeys(object, enumerableOnly) { var keys = Object.keys(object); if (Object.getOwnPropertySymbols) { var symbols = Object.getOwnPropertySymbols(object); enumerableOnly && (symbols = symbols.filter(function (sym) { return Object.getOwnPropertyDescriptor(object, sym).enumerable; })), keys.push.apply(keys, symbols); } return keys; }
35
35
 
36
- function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i] != null ? arguments[i] : {}; if (i % 2) { ownKeys(Object(source), true).forEach(function (key) { _defineProperty(target, key, source[key]); }); } else if (Object.getOwnPropertyDescriptors) { Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)); } else { ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } } return target; }
36
+ function _objectSpread(target) { for (var i = 1; i < arguments.length; i++) { var source = null != arguments[i] ? arguments[i] : {}; i % 2 ? ownKeys(Object(source), !0).forEach(function (key) { _defineProperty(target, key, source[key]); }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(target, Object.getOwnPropertyDescriptors(source)) : ownKeys(Object(source)).forEach(function (key) { Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key)); }); } return target; }
37
37
 
38
38
  function _defineProperty(obj, key, value) { if (key in obj) { Object.defineProperty(obj, key, { value: value, enumerable: true, configurable: true, writable: true }); } else { obj[key] = value; } return obj; }
39
39
 
@@ -1,8 +1,8 @@
1
- import { DirectLineActivity } from 'botframework-webchat-core';
2
1
  import { FC } from 'react';
2
+ import type { WebChatActivity } from 'botframework-webchat-core';
3
3
  declare const connectSpeakActivity: (...selectors: any[]) => any;
4
4
  declare type SpeakProps = {
5
- activity: DirectLineActivity;
5
+ activity: WebChatActivity;
6
6
  };
7
7
  declare const Speak: FC<SpeakProps>;
8
8
  export default Speak;
@@ -1 +1 @@
1
- {"version":3,"file":"Speak.d.ts","sourceRoot":"","sources":["../../src/Activity/Speak.tsx"],"names":[],"mappings":"AAAA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAG/D,OAAc,EAAE,EAAE,EAAwB,MAAM,OAAO,CAAC;AAYxD,QAAA,MAAM,oBAAoB,8BAQvB,CAAC;AAEJ,aAAK,UAAU,GAAG;IAChB,QAAQ,EAAE,kBAAkB,CAAC;CAC9B,CAAC;AAEF,QAAA,MAAM,KAAK,EAAE,EAAE,CAAC,UAAU,CAyCzB,CAAC;AAoBF,eAAe,KAAK,CAAC;AAErB,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"Speak.d.ts","sourceRoot":"","sources":["../../src/Activity/Speak.tsx"],"names":[],"mappings":"AAEA,OAAc,EAAE,EAAE,EAAwB,MAAM,OAAO,CAAC;AAExD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AAWjE,QAAA,MAAM,oBAAoB,8BAQvB,CAAC;AAEJ,aAAK,UAAU,GAAG;IAChB,QAAQ,EAAE,eAAe,CAAC;CAC3B,CAAC;AAEF,QAAA,MAAM,KAAK,EAAE,EAAE,CAAC,UAAU,CAyCzB,CAAC;AAuBF,eAAe,KAAK,CAAC;AAErB,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -1,11 +1,11 @@
1
1
  "use strict";
2
2
 
3
- function _typeof(obj) { "@babel/helpers - typeof"; if (typeof Symbol === "function" && typeof Symbol.iterator === "symbol") { _typeof = function _typeof(obj) { return typeof obj; }; } else { _typeof = function _typeof(obj) { return obj && typeof Symbol === "function" && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }; } return _typeof(obj); }
3
+ function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); }
4
4
 
5
5
  Object.defineProperty(exports, "__esModule", {
6
6
  value: true
7
7
  });
8
- exports.connectSpeakActivity = exports.default = void 0;
8
+ exports.default = exports.connectSpeakActivity = void 0;
9
9
 
10
10
  var _botframeworkWebchatApi = require("botframework-webchat-api");
11
11
 
@@ -76,6 +76,8 @@ var connectSpeakActivity = function connectSpeakActivity() {
76
76
  exports.connectSpeakActivity = connectSpeakActivity;
77
77
 
78
78
  var Speak = function Speak(_ref3) {
79
+ var _activity$channelData;
80
+
79
81
  var activity = _ref3.activity;
80
82
 
81
83
  var _useStyleOptions = useStyleOptions(),
@@ -88,11 +90,15 @@ var Speak = function Speak(_ref3) {
88
90
  markActivityAsSpoken(activity);
89
91
  }, [activity, markActivityAsSpoken]);
90
92
  var singleLine = (0, _react.useMemo)(function () {
93
+ if (activity.type !== 'message') {
94
+ return false;
95
+ }
96
+
91
97
  var _activity$attachments = activity.attachments,
92
98
  attachments = _activity$attachments === void 0 ? [] : _activity$attachments,
93
99
  speak = activity.speak,
94
100
  text = activity.text;
95
- return !!activity && [speak || text].concat(_toConsumableArray(attachments.filter(function (_ref4) {
101
+ return [speak || text].concat(_toConsumableArray(attachments.filter(function (_ref4) {
96
102
  var contentType = _ref4.contentType;
97
103
  return contentType === 'application/vnd.microsoft.card.adaptive';
98
104
  }).map(function (attachment) {
@@ -103,9 +109,7 @@ var Speak = function Speak(_ref3) {
103
109
  return line;
104
110
  }).join('\r\n');
105
111
  }, [activity]);
106
- var _activity$channelData = activity.channelData;
107
- _activity$channelData = _activity$channelData === void 0 ? {} : _activity$channelData;
108
- var speechSynthesisUtterance = _activity$channelData.speechSynthesisUtterance;
112
+ var speechSynthesisUtterance = activity.type === 'message' && ((_activity$channelData = activity.channelData) === null || _activity$channelData === void 0 ? void 0 : _activity$channelData.speechSynthesisUtterance);
109
113
  return !!activity && /*#__PURE__*/_react.default.createElement(_react.default.Fragment, null, speechSynthesisUtterance ? /*#__PURE__*/_react.default.createElement(_reactSay.SayUtterance, {
110
114
  onEnd: markAsSpoken,
111
115
  onError: markAsSpoken,
@@ -121,6 +125,8 @@ var Speak = function Speak(_ref3) {
121
125
  };
122
126
 
123
127
  Speak.propTypes = {
128
+ // PropTypes cannot fully capture TypeScript types.
129
+ // @ts-ignore
124
130
  activity: _propTypes.default.shape({
125
131
  attachments: _propTypes.default.arrayOf(_propTypes.default.shape({
126
132
  speak: _propTypes.default.string,
@@ -132,9 +138,10 @@ Speak.propTypes = {
132
138
  speechSynthesisUtterance: _propTypes.default.any
133
139
  }),
134
140
  speak: _propTypes.default.string,
135
- text: _propTypes.default.string
141
+ text: _propTypes.default.string,
142
+ type: _propTypes.default.string.isRequired
136
143
  }).isRequired
137
144
  };
138
145
  var _default = Speak;
139
146
  exports.default = _default;
140
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BY3Rpdml0eS9TcGVhay50c3giXSwibmFtZXMiOlsidXNlTWFya0FjdGl2aXR5QXNTcG9rZW4iLCJob29rcyIsInVzZVN0eWxlT3B0aW9ucyIsInVzZVZvaWNlU2VsZWN0b3IiLCJjb25uZWN0U3BlYWtBY3Rpdml0eSIsInNlbGVjdG9ycyIsImNvbm5lY3RUb1dlYkNoYXQiLCJsYW5ndWFnZSIsIm1hcmtBY3Rpdml0eSIsInNlbGVjdFZvaWNlIiwiYWN0aXZpdHkiLCJtYXJrQXNTcG9rZW4iLCJ2b2ljZXMiLCJTcGVhayIsInNob3dTcG9rZW5UZXh0IiwibWFya0FjdGl2aXR5QXNTcG9rZW4iLCJzaW5nbGVMaW5lIiwiYXR0YWNobWVudHMiLCJzcGVhayIsInRleHQiLCJmaWx0ZXIiLCJjb250ZW50VHlwZSIsIm1hcCIsImF0dGFjaG1lbnQiLCJjb250ZW50IiwibGluZSIsImpvaW4iLCJjaGFubmVsRGF0YSIsInNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZSIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInNoYXBlIiwiYXJyYXlPZiIsInN0cmluZyIsInN1YnRpdGxlIiwidGl0bGUiLCJhbnkiLCJpc1JlcXVpcmVkIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLElBQVFBLHVCQUFSLEdBQXVFQyw2QkFBdkUsQ0FBUUQsdUJBQVI7QUFBQSxJQUFpQ0UsZUFBakMsR0FBdUVELDZCQUF2RSxDQUFpQ0MsZUFBakM7QUFBQSxJQUFrREMsZ0JBQWxELEdBQXVFRiw2QkFBdkUsQ0FBa0RFLGdCQUFsRCxDLENBRUE7QUFDQTtBQUVBOztBQUNBLElBQU1DLG9CQUFvQixHQUFHLFNBQXZCQSxvQkFBdUI7QUFBQSxvQ0FBSUMsU0FBSjtBQUFJQSxJQUFBQSxTQUFKO0FBQUE7O0FBQUEsU0FDM0JDLHlDQUNFO0FBQUEsUUFBR0MsUUFBSCxR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RW9CLG1CQUFVQyxLQUFWLENBQWdCO0FBQ3hCZCxJQUFBQSxXQUFXLEVBQUVhLG1CQUFVRSxPQUFWLENBQ1hGLG1CQUFVQyxLQUFWLENBQWdCO0FBQ2RiLE1BQUFBLEtBQUssRUFBRVksbUJBQVVHLE1BREg7QUFFZEMsTUFBQUEsUUFBUSxFQUFFSixtQkFBVUcsTUFGTjtBQUdkZCxNQUFBQSxJQUFJLEVBQUVXLG1CQUFVRyxNQUhGO0FBSWRFLE1BQUFBLEtBQUssRUFBRUwsbUJBQVVHO0FBSkgsS0FBaEIsQ0FEVyxDQURXO0FBU3hCTixJQUFBQSxXQUFXLEVBQUVHLG1CQUFVQyxLQUFWLENBQWdCO0FBQzNCSCxNQUFBQSx3QkFBd0IsRUFBRUUsbUJBQVVNO0FBRFQsS0FBaEIsQ0FUVztBQVl4QmxCLElBQUFBLEtBQUssRUFBRVksbUJBQVVHLE1BWk87QUFheEJkLElBQUFBLElBQUksRUFBRVcsbUJBQVVHO0FBYlEsR0FBaEIsRUFjUEk7QUFmYSxDQUFsQjtlQWtCZXhCLEsiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IERpcmVjdExpbmVBY3Rpdml0eSB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWNvcmUnO1xuaW1wb3J0IHsgaG9va3MgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1hcGknO1xuaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCwgeyBGQywgdXNlQ2FsbGJhY2ssIHVzZU1lbW8gfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgU2F5LCB7IFNheVV0dGVyYW5jZSB9IGZyb20gJ3JlYWN0LXNheSc7XG5cbmltcG9ydCBjb25uZWN0VG9XZWJDaGF0IGZyb20gJy4uL2Nvbm5lY3RUb1dlYkNoYXQnO1xuaW1wb3J0IFNheUFsdCBmcm9tICcuL1NheUFsdCc7XG5cbmNvbnN0IHsgdXNlTWFya0FjdGl2aXR5QXNTcG9rZW4sIHVzZVN0eWxlT3B0aW9ucywgdXNlVm9pY2VTZWxlY3RvciB9ID0gaG9va3M7XG5cbi8vIFRPRE86IFtQNF0gQ29uc2lkZXIgbW92aW5nIHRoaXMgZmVhdHVyZSBpbnRvIEJhc2ljQWN0aXZpdHlcbi8vICAgICAgIEFuZCBpdCBoYXMgYmV0dGVyIERPTSBwb3NpdGlvbiBmb3Igc2hvd2luZyB2aXN1YWwgc3Bva2VuIHRleHRcblxuLy8gVE9ETzogW1AzXSBXZSBzaG91bGQgYWRkIGEgXCJzcG9rZW5cIiBvciBcInNwZWFrU3RhdGVcIiBmbGFnIHRvIGluZGljYXRlIHdoZXRoZXIgdGhpcyBhY3Rpdml0eSBpcyBnb2luZyB0byBzcGVhaywgb3Igc3Bva2VuXG5jb25zdCBjb25uZWN0U3BlYWtBY3Rpdml0eSA9ICguLi5zZWxlY3RvcnMpID0+XG4gIGNvbm5lY3RUb1dlYkNoYXQoXG4gICAgKHsgbGFuZ3VhZ2UsIG1hcmtBY3Rpdml0eSwgc2VsZWN0Vm9pY2UgfSwgeyBhY3Rpdml0eSB9KSA9PiAoe1xuICAgICAgbGFuZ3VhZ2UsXG4gICAgICBtYXJrQXNTcG9rZW46ICgpID0+IG1hcmtBY3Rpdml0eShhY3Rpdml0eSwgJ3NwZWFrJywgZmFsc2UpLFxuICAgICAgc2VsZWN0Vm9pY2U6IHZvaWNlcyA9PiBzZWxlY3RWb2ljZSh2b2ljZXMsIGFjdGl2aXR5KVxuICAgIH0pLFxuICAgIC4uLnNlbGVjdG9yc1xuICApO1xuXG50eXBlIFNwZWFrUHJvcHMgPSB7XG4gIGFjdGl2aXR5OiBEaXJlY3RMaW5lQWN0aXZpdHk7XG59O1xuXG5jb25zdCBTcGVhazogRkM8U3BlYWtQcm9wcz4gPSAoeyBhY3Rpdml0eSB9KSA9PiB7XG4gIGNvbnN0IFt7IHNob3dTcG9rZW5UZXh0IH1dID0gdXNlU3R5bGVPcHRpb25zKCk7XG4gIGNvbnN0IG1hcmtBY3Rpdml0eUFzU3Bva2VuID0gdXNlTWFya0FjdGl2aXR5QXNTcG9rZW4oKTtcbiAgY29uc3Qgc2VsZWN0Vm9pY2UgPSB1c2VWb2ljZVNlbGVjdG9yKGFjdGl2aXR5KTtcblxuICBjb25zdCBtYXJrQXNTcG9rZW4gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgbWFya0FjdGl2aXR5QXNTcG9rZW4oYWN0aXZpdHkpO1xuICB9LCBbYWN0aXZpdHksIG1hcmtBY3Rpdml0eUFzU3Bva2VuXSk7XG5cbiAgY29uc3Qgc2luZ2xlTGluZSA9IHVzZU1lbW8oKCkgPT4ge1xuICAgIGNvbnN0IHsgYXR0YWNobWVudHMgPSBbXSwgc3BlYWssIHRleHQgfSA9IGFjdGl2aXR5O1xuXG4gICAgcmV0dXJuIChcbiAgICAgICEhYWN0aXZpdHkgJiZcbiAgICAgIFtcbiAgICAgICAgc3BlYWsgfHwgdGV4dCxcbiAgICAgICAgLi4uYXR0YWNobWVudHNcbiAgICAgICAgICAuZmlsdGVyKCh7IGNvbnRlbnRUeXBlIH0pID0+IGNvbnRlbnRUeXBlID09PSAnYXBwbGljYXRpb24vdm5kLm1pY3Jvc29mdC5jYXJkLmFkYXB0aXZlJylcbiAgICAgICAgICAubWFwKGF0dGFjaG1lbnQgPT4gYXR0YWNobWVudD8uY29udGVudD8uc3BlYWspXG4gICAgICBdXG4gICAgICAgIC5maWx0ZXIobGluZSA9PiBsaW5lKVxuICAgICAgICAuam9pbignXFxyXFxuJylcbiAgICApO1xuICB9LCBbYWN0aXZpdHldKTtcblxuICBjb25zdCB7XG4gICAgY2hhbm5lbERhdGE6IHsgc3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlIH0gPSB7fVxuICB9OiB7IGNoYW5uZWxEYXRhOiB7IHNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZT86IFNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZSB9IH0gPSBhY3Rpdml0eTtcblxuICByZXR1cm4gKFxuICAgICEhYWN0aXZpdHkgJiYgKFxuICAgICAgPFJlYWN0LkZyYWdtZW50PlxuICAgICAgICB7c3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlID8gKFxuICAgICAgICAgIDxTYXlVdHRlcmFuY2Ugb25FbmQ9e21hcmtBc1Nwb2tlbn0gb25FcnJvcj17bWFya0FzU3Bva2VufSB1dHRlcmFuY2U9e3NwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZX0gLz5cbiAgICAgICAgKSA6IChcbiAgICAgICAgICA8U2F5IG9uRW5kPXttYXJrQXNTcG9rZW59IG9uRXJyb3I9e21hcmtBc1Nwb2tlbn0gdGV4dD17c2luZ2xlTGluZX0gdm9pY2U9e3NlbGVjdFZvaWNlfSAvPlxuICAgICAgICApfVxuICAgICAgICB7ISFzaG93U3Bva2VuVGV4dCAmJiA8U2F5QWx0IHNwZWFrPXtzaW5nbGVMaW5lfSAvPn1cbiAgICAgIDwvUmVhY3QuRnJhZ21lbnQ+XG4gICAgKVxuICApO1xufTtcblxuU3BlYWsucHJvcFR5cGVzID0ge1xuICBhY3Rpdml0eTogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICBhdHRhY2htZW50czogUHJvcFR5cGVzLmFycmF5T2YoXG4gICAgICBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgICBzcGVhazogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgc3VidGl0bGU6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIHRleHQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgICAgIHRpdGxlOiBQcm9wVHlwZXMuc3RyaW5nXG4gICAgICB9KVxuICAgICksXG4gICAgY2hhbm5lbERhdGE6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICBzcGVlY2hTeW50aGVzaXNVdHRlcmFuY2U6IFByb3BUeXBlcy5hbnlcbiAgICB9KSxcbiAgICBzcGVhazogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB0ZXh0OiBQcm9wVHlwZXMuc3RyaW5nXG4gIH0pLmlzUmVxdWlyZWRcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFNwZWFrO1xuXG5leHBvcnQgeyBjb25uZWN0U3BlYWtBY3Rpdml0eSB9O1xuIl19
147
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BY3Rpdml0eS9TcGVhay50c3giXSwibmFtZXMiOlsidXNlTWFya0FjdGl2aXR5QXNTcG9rZW4iLCJob29rcyIsInVzZVN0eWxlT3B0aW9ucyIsInVzZVZvaWNlU2VsZWN0b3IiLCJjb25uZWN0U3BlYWtBY3Rpdml0eSIsInNlbGVjdG9ycyIsImNvbm5lY3RUb1dlYkNoYXQiLCJsYW5ndWFnZSIsIm1hcmtBY3Rpdml0eSIsInNlbGVjdFZvaWNlIiwiYWN0aXZpdHkiLCJtYXJrQXNTcG9rZW4iLCJ2b2ljZXMiLCJTcGVhayIsInNob3dTcG9rZW5UZXh0IiwibWFya0FjdGl2aXR5QXNTcG9rZW4iLCJzaW5nbGVMaW5lIiwidHlwZSIsImF0dGFjaG1lbnRzIiwic3BlYWsiLCJ0ZXh0IiwiZmlsdGVyIiwiY29udGVudFR5cGUiLCJtYXAiLCJhdHRhY2htZW50IiwiY29udGVudCIsImxpbmUiLCJqb2luIiwic3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlIiwiY2hhbm5lbERhdGEiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzaGFwZSIsImFycmF5T2YiLCJzdHJpbmciLCJzdWJ0aXRsZSIsInRpdGxlIiwiYW55IiwiaXNSZXF1aXJlZCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBQUE7O0FBQ0E7O0FBQ0E7O0FBQ0E7O0FBR0E7O0FBQ0E7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFFQSxJQUFRQSx1QkFBUixHQUF1RUMsNkJBQXZFLENBQVFELHVCQUFSO0FBQUEsSUFBaUNFLGVBQWpDLEdBQXVFRCw2QkFBdkUsQ0FBaUNDLGVBQWpDO0FBQUEsSUFBa0RDLGdCQUFsRCxHQUF1RUYsNkJBQXZFLENBQWtERSxnQkFBbEQsQyxDQUVBO0FBQ0E7QUFFQTs7QUFDQSxJQUFNQyxvQkFBb0IsR0FBRyxTQUF2QkEsb0JBQXVCO0FBQUEsb0NBQUlDLFNBQUo7QUFBSUEsSUFBQUEsU0FBSjtBQUFBOztBQUFBLFNBQzNCQyx5Q0FDRTtBQUFBLFFBQUdD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QUFFRTtBQUFmLElBTnZCLENBRko7QUFZRCxDQXpDRDs7QUEyQ0FILEtBQUssQ0FBQ2lCLFNBQU4sR0FBa0I7QUFDaEI7QUFDQTtBQUNBcEIsRUFBQUEsUUFBUSxFQUFFcUIsbUJBQVVDLEtBQVYsQ0FBZ0I7QUFDeEJkLElBQUFBLFdBQVcsRUFBRWEsbUJBQVVFLE9BQVYsQ0FDWEYsbUJBQVVDLEtBQVYsQ0FBZ0I7QUFDZGIsTUFBQUEsS0FBSyxFQUFFWSxtQkFBVUcsTUFESDtBQUVkQyxNQUFBQSxRQUFRLEVBQUVKLG1CQUFVRyxNQUZOO0FBR2RkLE1BQUFBLElBQUksRUFBRVcsbUJBQVVHLE1BSEY7QUFJZEUsTUFBQUEsS0FBSyxFQUFFTCxtQkFBVUc7QUFKSCxLQUFoQixDQURXLENBRFc7QUFTeEJMLElBQUFBLFdBQVcsRUFBRUUsbUJBQVVDLEtBQVYsQ0FBZ0I7QUFDM0JKLE1BQUFBLHdCQUF3QixFQUFFRyxtQkFBVU07QUFEVCxLQUFoQixDQVRXO0FBWXhCbEIsSUFBQUEsS0FBSyxFQUFFWSxtQkFBVUcsTUFaTztBQWF4QmQsSUFBQUEsSUFBSSxFQUFFVyxtQkFBVUcsTUFiUTtBQWN4QmpCLElBQUFBLElBQUksRUFBRWMsbUJBQVVHLE1BQVYsQ0FBaUJJO0FBZEMsR0FBaEIsRUFlUEE7QUFsQmEsQ0FBbEI7ZUFxQmV6QixLIiwic291cmNlUm9vdCI6ImNvbXBvbmVudDovLy8iLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBob29rcyB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWFwaSc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFJlYWN0LCB7IEZDLCB1c2VDYWxsYmFjaywgdXNlTWVtbyB9IGZyb20gJ3JlYWN0JztcbmltcG9ydCBTYXksIHsgU2F5VXR0ZXJhbmNlIH0gZnJvbSAncmVhY3Qtc2F5JztcbmltcG9ydCB0eXBlIHsgV2ViQ2hhdEFjdGl2aXR5IH0gZnJvbSAnYm90ZnJhbWV3b3JrLXdlYmNoYXQtY29yZSc7XG5cbmltcG9ydCBjb25uZWN0VG9XZWJDaGF0IGZyb20gJy4uL2Nvbm5lY3RUb1dlYkNoYXQnO1xuaW1wb3J0IFNheUFsdCBmcm9tICcuL1NheUFsdCc7XG5cbmNvbnN0IHsgdXNlTWFya0FjdGl2aXR5QXNTcG9rZW4sIHVzZVN0eWxlT3B0aW9ucywgdXNlVm9pY2VTZWxlY3RvciB9ID0gaG9va3M7XG5cbi8vIFRPRE86IFtQNF0gQ29uc2lkZXIgbW92aW5nIHRoaXMgZmVhdHVyZSBpbnRvIEJhc2ljQWN0aXZpdHlcbi8vICAgICAgIEFuZCBpdCBoYXMgYmV0dGVyIERPTSBwb3NpdGlvbiBmb3Igc2hvd2luZyB2aXN1YWwgc3Bva2VuIHRleHRcblxuLy8gVE9ETzogW1AzXSBXZSBzaG91bGQgYWRkIGEgXCJzcG9rZW5cIiBvciBcInNwZWFrU3RhdGVcIiBmbGFnIHRvIGluZGljYXRlIHdoZXRoZXIgdGhpcyBhY3Rpdml0eSBpcyBnb2luZyB0byBzcGVhaywgb3Igc3Bva2VuXG5jb25zdCBjb25uZWN0U3BlYWtBY3Rpdml0eSA9ICguLi5zZWxlY3RvcnMpID0+XG4gIGNvbm5lY3RUb1dlYkNoYXQoXG4gICAgKHsgbGFuZ3VhZ2UsIG1hcmtBY3Rpdml0eSwgc2VsZWN0Vm9pY2UgfSwgeyBhY3Rpdml0eSB9KSA9PiAoe1xuICAgICAgbGFuZ3VhZ2UsXG4gICAgICBtYXJrQXNTcG9rZW46ICgpID0+IG1hcmtBY3Rpdml0eShhY3Rpdml0eSwgJ3NwZWFrJywgZmFsc2UpLFxuICAgICAgc2VsZWN0Vm9pY2U6IHZvaWNlcyA9PiBzZWxlY3RWb2ljZSh2b2ljZXMsIGFjdGl2aXR5KVxuICAgIH0pLFxuICAgIC4uLnNlbGVjdG9yc1xuICApO1xuXG50eXBlIFNwZWFrUHJvcHMgPSB7XG4gIGFjdGl2aXR5OiBXZWJDaGF0QWN0aXZpdHk7XG59O1xuXG5jb25zdCBTcGVhazogRkM8U3BlYWtQcm9wcz4gPSAoeyBhY3Rpdml0eSB9KSA9PiB7XG4gIGNvbnN0IFt7IHNob3dTcG9rZW5UZXh0IH1dID0gdXNlU3R5bGVPcHRpb25zKCk7XG4gIGNvbnN0IG1hcmtBY3Rpdml0eUFzU3Bva2VuID0gdXNlTWFya0FjdGl2aXR5QXNTcG9rZW4oKTtcbiAgY29uc3Qgc2VsZWN0Vm9pY2UgPSB1c2VWb2ljZVNlbGVjdG9yKGFjdGl2aXR5KTtcblxuICBjb25zdCBtYXJrQXNTcG9rZW4gPSB1c2VDYWxsYmFjaygoKSA9PiB7XG4gICAgbWFya0FjdGl2aXR5QXNTcG9rZW4oYWN0aXZpdHkpO1xuICB9LCBbYWN0aXZpdHksIG1hcmtBY3Rpdml0eUFzU3Bva2VuXSk7XG5cbiAgY29uc3Qgc2luZ2xlTGluZTogZmFsc2UgfCBzdHJpbmcgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZiAoYWN0aXZpdHkudHlwZSAhPT0gJ21lc3NhZ2UnKSB7XG4gICAgICByZXR1cm4gZmFsc2U7XG4gICAgfVxuXG4gICAgY29uc3QgeyBhdHRhY2htZW50cyA9IFtdLCBzcGVhaywgdGV4dCB9ID0gYWN0aXZpdHk7XG5cbiAgICByZXR1cm4gW1xuICAgICAgc3BlYWsgfHwgdGV4dCxcbiAgICAgIC4uLmF0dGFjaG1lbnRzXG4gICAgICAgIC5maWx0ZXIoKHsgY29udGVudFR5cGUgfSkgPT4gY29udGVudFR5cGUgPT09ICdhcHBsaWNhdGlvbi92bmQubWljcm9zb2Z0LmNhcmQuYWRhcHRpdmUnKVxuICAgICAgICAubWFwKGF0dGFjaG1lbnQgPT4gYXR0YWNobWVudD8uY29udGVudD8uc3BlYWspXG4gICAgXVxuICAgICAgLmZpbHRlcihsaW5lID0+IGxpbmUpXG4gICAgICAuam9pbignXFxyXFxuJyk7XG4gIH0sIFthY3Rpdml0eV0pO1xuXG4gIGNvbnN0IHNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZTogZmFsc2UgfCBTcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UgfCB1bmRlZmluZWQgPVxuICAgIGFjdGl2aXR5LnR5cGUgPT09ICdtZXNzYWdlJyAmJiBhY3Rpdml0eS5jaGFubmVsRGF0YT8uc3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlO1xuXG4gIHJldHVybiAoXG4gICAgISFhY3Rpdml0eSAmJiAoXG4gICAgICA8UmVhY3QuRnJhZ21lbnQ+XG4gICAgICAgIHtzcGVlY2hTeW50aGVzaXNVdHRlcmFuY2UgPyAoXG4gICAgICAgICAgPFNheVV0dGVyYW5jZSBvbkVuZD17bWFya0FzU3Bva2VufSBvbkVycm9yPXttYXJrQXNTcG9rZW59IHV0dGVyYW5jZT17c3BlZWNoU3ludGhlc2lzVXR0ZXJhbmNlfSAvPlxuICAgICAgICApIDogKFxuICAgICAgICAgIDxTYXkgb25FbmQ9e21hcmtBc1Nwb2tlbn0gb25FcnJvcj17bWFya0FzU3Bva2VufSB0ZXh0PXtzaW5nbGVMaW5lfSB2b2ljZT17c2VsZWN0Vm9pY2V9IC8+XG4gICAgICAgICl9XG4gICAgICAgIHshIXNob3dTcG9rZW5UZXh0ICYmIDxTYXlBbHQgc3BlYWs9e3NpbmdsZUxpbmV9IC8+fVxuICAgICAgPC9SZWFjdC5GcmFnbWVudD5cbiAgICApXG4gICk7XG59O1xuXG5TcGVhay5wcm9wVHlwZXMgPSB7XG4gIC8vIFByb3BUeXBlcyBjYW5ub3QgZnVsbHkgY2FwdHVyZSBUeXBlU2NyaXB0IHR5cGVzLlxuICAvLyBAdHMtaWdub3JlXG4gIGFjdGl2aXR5OiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgIGF0dGFjaG1lbnRzOiBQcm9wVHlwZXMuYXJyYXlPZihcbiAgICAgIFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgIHNwZWFrOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgICAgICBzdWJ0aXRsZTogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgdGV4dDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICAgICAgdGl0bGU6IFByb3BUeXBlcy5zdHJpbmdcbiAgICAgIH0pXG4gICAgKSxcbiAgICBjaGFubmVsRGF0YTogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICAgIHNwZWVjaFN5bnRoZXNpc1V0dGVyYW5jZTogUHJvcFR5cGVzLmFueVxuICAgIH0pLFxuICAgIHNwZWFrOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIHRleHQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgdHlwZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkXG4gIH0pLmlzUmVxdWlyZWRcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFNwZWFrO1xuXG5leHBvcnQgeyBjb25uZWN0U3BlYWtBY3Rpdml0eSB9O1xuIl19
@@ -1,15 +1,17 @@
1
- import { DirectLineActivity } from 'botframework-webchat-core';
2
1
  import { RenderAttachment } from 'botframework-webchat-api';
3
2
  import { FC, ReactNode } from 'react';
3
+ import type { WebChatActivity } from 'botframework-webchat-core';
4
4
  declare const connectStackedLayout: (...selectors: any[]) => any;
5
5
  declare type StackedLayoutProps = {
6
- activity: DirectLineActivity;
6
+ activity: WebChatActivity;
7
7
  hideTimestamp?: boolean;
8
8
  renderActivityStatus?: (({ hideTimestamp: boolean }: {
9
9
  hideTimestamp: any;
10
10
  }) => Exclude<ReactNode, boolean | null | undefined>) | false;
11
11
  renderAttachment?: RenderAttachment;
12
- renderAvatar?: (activity: DirectLineActivity) => (() => Exclude<ReactNode, boolean | null | undefined>) | false;
12
+ renderAvatar?: ({ activity: WebChatActivity }: {
13
+ activity: any;
14
+ }) => (() => Exclude<ReactNode, boolean | null | undefined>) | false;
13
15
  showCallout?: boolean;
14
16
  };
15
17
  declare const StackedLayout: FC<StackedLayoutProps>;
@@ -1 +1 @@
1
- {"version":3,"file":"StackedLayout.d.ts","sourceRoot":"","sources":["../../src/Activity/StackedLayout.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC/D,OAAO,EAAS,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGnE,OAAc,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AA6D7C,QAAA,MAAM,oBAAoB,8BAmBvB,CAAC;AAEJ,aAAK,kBAAkB,GAAG;IACxB,QAAQ,EAAE,kBAAkB,CAAC;IAC7B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oBAAoB,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE;;KAAA,KAAK,OAAO,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC;IAChH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,YAAY,CAAC,EAAE,CAAC,QAAQ,EAAE,kBAAkB,KAAK,CAAC,MAAM,OAAO,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC;IAChH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,QAAA,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CA4IzC,CAAC;AAsCF,eAAe,aAAa,CAAC;AAE7B,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
1
+ {"version":3,"file":"StackedLayout.d.ts","sourceRoot":"","sources":["../../src/Activity/StackedLayout.tsx"],"names":[],"mappings":"AAEA,OAAO,EAAS,gBAAgB,EAAE,MAAM,0BAA0B,CAAC;AAGnE,OAAc,EAAE,EAAE,EAAE,SAAS,EAAE,MAAM,OAAO,CAAC;AAC7C,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,2BAA2B,CAAC;AA+DjE,QAAA,MAAM,oBAAoB,8BAmBvB,CAAC;AAEJ,aAAK,kBAAkB,GAAG;IACxB,QAAQ,EAAE,eAAe,CAAC;IAC1B,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,oBAAoB,CAAC,EAAE,CAAC,CAAC,EAAE,aAAa,EAAE,OAAO,EAAE;;KAAA,KAAK,OAAO,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC;IAChH,gBAAgB,CAAC,EAAE,gBAAgB,CAAC;IACpC,YAAY,CAAC,EAAE,CAAC,EAAE,QAAQ,EAAE,eAAe,EAAE;;KAAA,KAAK,CAAC,MAAM,OAAO,CAAC,SAAS,EAAE,OAAO,GAAG,IAAI,GAAG,SAAS,CAAC,CAAC,GAAG,KAAK,CAAC;IACjH,WAAW,CAAC,EAAE,OAAO,CAAC;CACvB,CAAC;AAEF,QAAA,MAAM,aAAa,EAAE,EAAE,CAAC,kBAAkB,CAmIzC,CAAC;AAwCF,eAAe,aAAa,CAAC;AAE7B,OAAO,EAAE,oBAAoB,EAAE,CAAC"}
@@ -3,7 +3,7 @@
3
3
  Object.defineProperty(exports, "__esModule", {
4
4
  value: true
5
5
  });
6
- exports.connectStackedLayout = exports.default = void 0;
6
+ exports.default = exports.connectStackedLayout = void 0;
7
7
 
8
8
  var _botframeworkWebchatApi = require("botframework-webchat-api");
9
9
 
@@ -115,6 +115,8 @@ var connectStackedLayout = function connectStackedLayout() {
115
115
  exports.connectStackedLayout = connectStackedLayout;
116
116
 
117
117
  var StackedLayout = function StackedLayout(_ref3) {
118
+ var _activity$channelData, _activity$channelData2;
119
+
118
120
  var activity = _ref3.activity,
119
121
  hideTimestamp = _ref3.hideTimestamp,
120
122
  renderActivityStatus = _ref3.renderActivityStatus,
@@ -145,20 +147,11 @@ var StackedLayout = function StackedLayout(_ref3) {
145
147
  bubbleNubSize = styleOptions.bubbleNubSize,
146
148
  bubbleFromUserNubOffset = styleOptions.bubbleFromUserNubOffset,
147
149
  bubbleFromUserNubSize = styleOptions.bubbleFromUserNubSize;
148
- var _activity$attachments = activity.attachments,
149
- attachments = _activity$attachments === void 0 ? [] : _activity$attachments,
150
- _activity$channelData = activity.channelData;
151
- _activity$channelData = _activity$channelData === void 0 ? {} : _activity$channelData;
152
- var _activity$channelData2 = _activity$channelData.messageBack;
153
- _activity$channelData2 = _activity$channelData2 === void 0 ? {} : _activity$channelData2;
154
- var messageBackDisplayText = _activity$channelData2.displayText,
155
- _activity$from = activity.from;
156
- _activity$from = _activity$from === void 0 ? {} : _activity$from;
157
- var role = _activity$from.role,
158
- text = activity.text,
159
- textFormat = activity.textFormat;
160
- var activityDisplayText = messageBackDisplayText || text;
161
- var fromUser = role === 'user';
150
+ var isMessage = activity.type === 'message';
151
+ var attachments = isMessage && activity.attachments || [];
152
+ var fromUser = activity.from.role === 'user';
153
+ var messageBackDisplayText = isMessage && ((_activity$channelData = activity.channelData) === null || _activity$channelData === void 0 ? void 0 : (_activity$channelData2 = _activity$channelData.messageBack) === null || _activity$channelData2 === void 0 ? void 0 : _activity$channelData2.displayText) || '';
154
+ var activityDisplayText = isMessage ? messageBackDisplayText || activity.text : '';
162
155
  var attachedAlt = localize(fromUser ? 'ACTIVITY_YOU_ATTACHED_ALT' : 'ACTIVITY_BOT_ATTACHED_ALT');
163
156
  var greetingAlt = (fromUser ? localize('ACTIVITY_YOU_SAID_ALT') : localize('ACTIVITY_BOT_SAID_ALT', botInitials || '')).replace(/[\t-\r \xA0\u1680\u2000-\u200A\u2028\u2029\u202F\u205F\u3000\uFEFF]{2,}/g, ' ');
164
157
  var initials = fromUser ? userInitials : botInitials;
@@ -174,7 +167,7 @@ var StackedLayout = function StackedLayout(_ref3) {
174
167
  var extraTrailing = !hasOtherAvatar && hasOtherNub; // This is for bot message with user nub and no user avatar. And vice versa.
175
168
 
176
169
  var showAvatar = showCallout && hasAvatar && !!renderAvatar;
177
- var showNub = showCallout && hasNub && (topAlignedCallout || !attachments.length);
170
+ var showNub = showCallout && hasNub && (topAlignedCallout || !(attachments !== null && attachments !== void 0 && attachments.length));
178
171
  return /*#__PURE__*/_react.default.createElement("div", {
179
172
  "aria-labelledby": activityDisplayText ? ariaLabelId : undefined,
180
173
  "aria-roledescription": "activity",
@@ -213,10 +206,10 @@ var StackedLayout = function StackedLayout(_ref3) {
213
206
  nub: showNub || (hasAvatar || hasNub ? 'hidden' : false)
214
207
  }, renderAttachment({
215
208
  activity: activity,
216
- attachment: {
209
+ attachment: isMessage ? {
217
210
  content: activityDisplayText,
218
- contentType: (0, _textFormatToContentType.default)(textFormat)
219
- }
211
+ contentType: (0, _textFormatToContentType.default)(activity.textFormat)
212
+ } : undefined
220
213
  }))), attachments.map(function (attachment, index) {
221
214
  return /*#__PURE__*/_react.default.createElement("div", {
222
215
  "aria-roledescription": "attachment",
@@ -264,6 +257,8 @@ StackedLayout.defaultProps = {
264
257
  showCallout: true
265
258
  };
266
259
  StackedLayout.propTypes = {
260
+ // PropTypes cannot fully capture TypeScript types.
261
+ // @ts-ignore
267
262
  activity: _propTypes.default.shape({
268
263
  attachments: _propTypes.default.array,
269
264
  channelData: _propTypes.default.shape({
@@ -275,7 +270,7 @@ StackedLayout.propTypes = {
275
270
  role: _propTypes.default.string.isRequired
276
271
  }).isRequired,
277
272
  text: _propTypes.default.string,
278
- textFormat: _propTypes.default.string,
273
+ textFormat: _propTypes.default.oneOf(['markdown', 'plain', 'xml']),
279
274
  timestamp: _propTypes.default.string,
280
275
  type: _propTypes.default.string.isRequired
281
276
  }).isRequired,
@@ -291,4 +286,4 @@ StackedLayout.propTypes = {
291
286
  };
292
287
  var _default = StackedLayout;
293
288
  exports.default = _default;
294
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BY3Rpdml0eS9TdGFja2VkTGF5b3V0LnRzeCJdLCJuYW1lcyI6WyJ1c2VBdmF0YXJGb3JCb3QiLCJob29rcyIsInVzZUF2YXRhckZvclVzZXIiLCJ1c2VMb2NhbGl6ZXIiLCJ1c2VTdHlsZU9wdGlvbnMiLCJST09UX1NUWUxFIiwicG9zaXRpb24iLCJkaXNwbGF5IiwiZmxleFNocmluayIsIndpZHRoIiwiZmxleERpcmVjdGlvbiIsImZsZXgiLCJvdmVyZmxvdyIsImNvbm5lY3RTdGFja2VkTGF5b3V0Iiwic2VsZWN0b3JzIiwiY29ubmVjdFRvV2ViQ2hhdCIsImxhbmd1YWdlIiwic3R5bGVTZXQiLCJvcHRpb25zIiwiYm90QXZhdGFySW5pdGlhbHMiLCJ1c2VyQXZhdGFySW5pdGlhbHMiLCJhY3Rpdml0eSIsImZyb20iLCJyb2xlIiwidW5kZWZpbmVkIiwiYXZhdGFySW5pdGlhbHMiLCJTdGFja2VkTGF5b3V0IiwiaGlkZVRpbWVzdGFtcCIsInJlbmRlckFjdGl2aXR5U3RhdHVzIiwicmVuZGVyQXR0YWNobWVudCIsInJlbmRlckF2YXRhciIsInNob3dDYWxsb3V0Iiwic3R5bGVPcHRpb25zIiwiYm90SW5pdGlhbHMiLCJpbml0aWFscyIsInVzZXJJbml0aWFscyIsInN0YWNrZWRMYXlvdXRTdHlsZVNldCIsInN0YWNrZWRMYXlvdXQiLCJhcmlhTGFiZWxJZCIsImxvY2FsaXplIiwicm9vdENsYXNzTmFtZSIsImJ1YmJsZU51Yk9mZnNldCIsImJ1YmJsZU51YlNpemUiLCJidWJibGVGcm9tVXNlck51Yk9mZnNldCIsImJ1YmJsZUZyb21Vc2VyTnViU2l6ZSIsImF0dGFjaG1lbnRzIiwiY2hhbm5lbERhdGEiLCJtZXNzYWdlQmFjayIsIm1lc3NhZ2VCYWNrRGlzcGxheVRleHQiLCJkaXNwbGF5VGV4dCIsInRleHQiLCJ0ZXh0Rm9ybWF0IiwiYWN0aXZpdHlEaXNwbGF5VGV4dCIsImZyb21Vc2VyIiwiYXR0YWNoZWRBbHQiLCJncmVldGluZ0FsdCIsInJlcGxhY2UiLCJudWJPZmZzZXQiLCJudWJTaXplIiwib3RoZXJJbml0aWFscyIsIm90aGVyTnViU2l6ZSIsImhhc0F2YXRhciIsImhhc090aGVyQXZhdGFyIiwiaGFzTnViIiwiaGFzT3RoZXJOdWIiLCJ0b3BBbGlnbmVkQ2FsbG91dCIsImV4dHJhVHJhaWxpbmciLCJzaG93QXZhdGFyIiwic2hvd051YiIsImxlbmd0aCIsImF0dGFjaG1lbnQiLCJjb250ZW50IiwiY29udGVudFR5cGUiLCJtYXAiLCJpbmRleCIsImRlZmF1bHRQcm9wcyIsInByb3BUeXBlcyIsIlByb3BUeXBlcyIsInNoYXBlIiwiYXJyYXkiLCJzdHJpbmciLCJpc1JlcXVpcmVkIiwidGltZXN0YW1wIiwidHlwZSIsImJvb2wiLCJvbmVPZlR5cGUiLCJvbmVPZiIsImZ1bmMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLElBQVFBLGVBQVIsR0FBNkVDLDZCQUE3RSxDQUFRRCxlQUFSO0FBQUEsSUFBeUJFLGdCQUF6QixHQUE2RUQsNkJBQTdFLENBQXlCQyxnQkFBekI7QUFBQSxJQUEyQ0MsWUFBM0MsR0FBNkVGLDZCQUE3RSxDQUEyQ0UsWUFBM0M7QUFBQSxJQUF5REMsZUFBekQsR0FBNkVILDZCQUE3RSxDQUF5REcsZUFBekQ7QUFFQSxJQUFNQyxVQUFVLEdBQUc7QUFDakIsK0JBQTZCO0FBQzNCQyxJQUFBQSxRQUFRLEVBQUUsVUFEaUI7QUFDTDtBQUV0QixpS0FBNko7QUFDM0pDLE1BQUFBLE9BQU8sRUFBRTtBQURrSixLQUhsSTtBQU8zQixpREFBNkM7QUFDM0NDLE1BQUFBLFVBQVUsRUFBRTtBQUQrQixLQVBsQjtBQVczQiw4Q0FBMEM7QUFDeENDLE1BQUFBLEtBQUssRUFBRTtBQURpQyxLQVhmO0FBZTNCLGlEQUE2QztBQUMzQ0YsTUFBQUEsT0FBTyxFQUFF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QUksRUFBRXNELG1CQUFVRyxNQUFWLENBQWlCQztBQURILEtBQWhCLEVBRUhBLFVBVHFCO0FBVXhCL0IsSUFBQUEsSUFBSSxFQUFFMkIsbUJBQVVHLE1BVlE7QUFXeEI3QixJQUFBQSxVQUFVLEVBQUUwQixtQkFBVUcsTUFYRTtBQVl4QkUsSUFBQUEsU0FBUyxFQUFFTCxtQkFBVUcsTUFaRztBQWF4QkcsSUFBQUEsSUFBSSxFQUFFTixtQkFBVUcsTUFBVixDQUFpQkM7QUFiQyxHQUFoQixFQWNQQSxVQWZxQjtBQWdCeEJ0RCxFQUFBQSxhQUFhLEVBQUVrRCxtQkFBVU8sSUFoQkQ7QUFrQnhCO0FBQ0E7QUFDQXhELEVBQUFBLG9CQUFvQixFQUFFaUQsbUJBQVVRLFNBQVYsQ0FBb0IsQ0FBQ1IsbUJBQVVTLEtBQVYsQ0FBZ0IsQ0FBQyxLQUFELENBQWhCLENBQUQsRUFBMkJULG1CQUFVVSxJQUFyQyxDQUFwQixDQXBCRTtBQXFCeEIxRCxFQUFBQSxnQkFBZ0IsRUFBRWdELG1CQUFVVSxJQUFWLENBQWVOLFVBckJUO0FBdUJ4QjtBQUNBO0FBQ0FuRCxFQUFBQSxZQUFZLEVBQUUrQyxtQkFBVVEsU0FBVixDQUFvQixDQUFDUixtQkFBVVMsS0FBVixDQUFnQixDQUFDLEtBQUQsQ0FBaEIsQ0FBRCxFQUEyQlQsbUJBQVVVLElBQXJDLENBQXBCLENBekJVO0FBMEJ4QnhELEVBQUFBLFdBQVcsRUFBRThDLG1CQUFVTztBQTFCQyxDQUExQjtlQTZCZTFELGEiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludCBjb21wbGV4aXR5OiBbXCJlcnJvclwiLCAzMF0gKi9cblxuaW1wb3J0IHsgRGlyZWN0TGluZUFjdGl2aXR5IH0gZnJvbSAnYm90ZnJhbWV3b3JrLXdlYmNoYXQtY29yZSc7XG5pbXBvcnQgeyBob29rcywgUmVuZGVyQXR0YWNobWVudCB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWFwaSc7XG5pbXBvcnQgY2xhc3NOYW1lcyBmcm9tICdjbGFzc25hbWVzJztcbmltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QsIHsgRkMsIFJlYWN0Tm9kZSB9IGZyb20gJ3JlYWN0JztcblxuaW1wb3J0IEJ1YmJsZSBmcm9tICcuL0J1YmJsZSc7XG5pbXBvcnQgY29ubmVjdFRvV2ViQ2hhdCBmcm9tICcuLi9jb25uZWN0VG9XZWJDaGF0JztcbmltcG9ydCBpc1plcm9PclBvc2l0aXZlIGZyb20gJy4uL1V0aWxzL2lzWmVyb09yUG9zaXRpdmUnO1xuaW1wb3J0IFNjcmVlblJlYWRlclRleHQgZnJvbSAnLi4vU2NyZWVuUmVhZGVyVGV4dCc7XG5pbXBvcnQgdGV4dEZvcm1hdFRvQ29udGVudFR5cGUgZnJvbSAnLi4vVXRpbHMvdGV4dEZvcm1hdFRvQ29udGVudFR5cGUnO1xuaW1wb3J0IHVzZVN0eWxlU2V0IGZyb20gJy4uL2hvb2tzL3VzZVN0eWxlU2V0JztcbmltcG9ydCB1c2VTdHlsZVRvRW1vdGlvbk9iamVjdCBmcm9tICcuLi9ob29rcy9pbnRlcm5hbC91c2VTdHlsZVRvRW1vdGlvbk9iamVjdCc7XG5cbmltcG9ydCB1c2VVbmlxdWVJZCBmcm9tICcuLi9ob29rcy9pbnRlcm5hbC91c2VVbmlxdWVJZCc7XG5cbmNvbnN0IHsgdXNlQXZhdGFyRm9yQm90LCB1c2VBdmF0YXJGb3JVc2VyLCB1c2VMb2NhbGl6ZXIsIHVzZVN0eWxlT3B0aW9ucyB9ID0gaG9va3M7XG5cbmNvbnN0IFJPT1RfU1RZTEUgPSB7XG4gICcmLndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0Jzoge1xuICAgIHBvc2l0aW9uOiAncmVsYXRpdmUnLCAvLyBUaGlzIGlzIHRvIGtlZXAgc2NyZWVuIHJlYWRlciB0ZXh0IGluIHRoZSBkZXN0aW5hdGVkIGFyZWEuXG5cbiAgICAnJiAud2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX2F0dGFjaG1lbnQtcm93LCAmIC53ZWJjaGF0X19zdGFja2VkLWxheW91dF9fbWFpbiwgJiAud2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX21lc3NhZ2Utcm93LCAmIC53ZWJjaGF0X19zdGFja2VkLWxheW91dF9fc3RhdHVzJzoge1xuICAgICAgZGlzcGxheTogJ2ZsZXgnXG4gICAgfSxcblxuICAgICcmIC53ZWJjaGF0X19zdGFja2VkLWxheW91dF9fYWxpZ25tZW50LXBhZCc6IHtcbiAgICAgIGZsZXhTaHJpbms6IDBcbiAgICB9LFxuXG4gICAgJyYgLndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19hdHRhY2htZW50Jzoge1xuICAgICAgd2lkdGg6ICcxMDAlJ1xuICAgIH0sXG5cbiAgICAnJiAud2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX2F2YXRhci1ndXR0ZXInOiB7XG4gICAgICBkaXNwbGF5OiAnZmxleCcsXG4gICAgICBmbGV4RGlyZWN0aW9uOiAnY29sdW1uJyxcbiAgICAgIGZsZXhTaHJpbms6IDBcbiAgICB9LFxuXG4gICAgJyYud2ViY2hhdF9fc3RhY2tlZC1sYXlvdXQtLWZyb20tdXNlcic6IHtcbiAgICAgICcmIC53ZWJjaGF0X19zdGFja2VkLWxheW91dF9fYXR0YWNobWVudC1yb3csICYgLndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19tYWluLCAmIC53ZWJjaGF0X19zdGFja2VkLWxheW91dF9fbWVzc2FnZS1yb3csICYgLndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19zdGF0dXMnOiB7XG4gICAgICAgIGZsZXhEaXJlY3Rpb246ICdyb3ctcmV2ZXJzZSdcbiAgICAgIH1cbiAgICB9LFxuXG4gICAgJyYgLndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19jb250ZW50Jzoge1xuICAgICAgZmxleDogMSxcblxuICAgICAgLy8gVGhpcyBpcyBmb3IgYm90dG9tIGFsaWduaW5nIGFuIGF2YXRhciB3aXRoIGEgbWVzc2FnZSBidWJibGUgc2hvcnRlciB0aGFuIHRoZSBhdmF0YXIuXG4gICAgICAvLyBSZWxhdGVkIHRvIHRoZSB0ZXN0IGF0IGFjdGl2aXR5R3JvdXBpbmcuYXZhdGFyTWlkZGxld2FyZS5hdEJvdHRvbS5qcy5cbiAgICAgIGRpc3BsYXk6ICdmbGV4JyxcbiAgICAgIGZsZXhEaXJlY3Rpb246ICdjb2x1bW4nLFxuXG4gICAgICAvLyBUaGlzIFwib3ZlcmZsb3c6IGhpZGRlblwiIGlzIHRvIG1ha2Ugc3VyZSB0ZXh0IG92ZXJmbG93IHdpbGwgZ2V0IGNsaXBwZWQgY29ycmVjdGx5LlxuICAgICAgLy8gUmVsYXRlZCB0byB0aGUgdGVzdCBhdCBiYXNpYy5qcyBcImxvbmcgVVJMcyB3aXRoIGtlZXAtYWxsXCIuXG4gICAgICBvdmVyZmxvdzogJ2hpZGRlbidcbiAgICB9LFxuXG4gICAgJyYgLndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19udWItcGFkJzoge1xuICAgICAgZmxleFNocmluazogMFxuICAgIH1cbiAgfVxufTtcblxuY29uc3QgY29ubmVjdFN0YWNrZWRMYXlvdXQgPSAoLi4uc2VsZWN0b3JzKSA9PlxuICBjb25uZWN0VG9XZWJDaGF0KFxuICAgIChcbiAgICAgIHtcbiAgICAgICAgbGFuZ3VhZ2UsXG4gICAgICAgIHN0eWxlU2V0OiB7XG4gICAgICAgICAgb3B0aW9uczogeyBib3RBdmF0YXJJbml0aWFscywgdXNlckF2YXRhckluaXRpYWxzIH1cbiAgICAgICAgfVxuICAgICAgfSxcbiAgICAgIHsgYWN0aXZpdHk6IHsgZnJvbTogeyByb2xlID0gdW5kZWZpbmVkIH0gPSB7fSB9ID0ge30gfVxuICAgICkgPT4gKHtcbiAgICAgIGF2YXRhckluaXRpYWxzOiByb2xlID09PSAndXNlcicgPyB1c2VyQXZhdGFySW5pdGlhbHMgOiBib3RBdmF0YXJJbml0aWFscyxcbiAgICAgIGxhbmd1YWdlLFxuXG4gICAgICAvLyBUT0RPOiBbUDRdIFdlIHdhbnQgdG8gZGVwcmVjYXRlIGJvdEF2YXRhckluaXRpYWxzL3VzZXJBdmF0YXJJbml0aWFscyBiZWNhdXNlIHRoZXkgYXJlIG5vdCBhcyBoZWxwZnVsIGFzIGF2YXRhckluaXRpYWxzXG4gICAgICBib3RBdmF0YXJJbml0aWFscyxcbiAgICAgIHVzZXJBdmF0YXJJbml0aWFsc1xuICAgIH0pLFxuICAgIC4uLnNlbGVjdG9yc1xuICApO1xuXG50eXBlIFN0YWNrZWRMYXlvdXRQcm9wcyA9IHtcbiAgYWN0aXZpdHk6IERpcmVjdExpbmVBY3Rpdml0eTtcbiAgaGlkZVRpbWVzdGFtcD86IGJvb2xlYW47XG4gIHJlbmRlckFjdGl2aXR5U3RhdHVzPzogKCh7IGhpZGVUaW1lc3RhbXA6IGJvb2xlYW4gfSkgPT4gRXhjbHVkZTxSZWFjdE5vZGUsIGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkPikgfCBmYWxzZTtcbiAgcmVuZGVyQXR0YWNobWVudD86IFJlbmRlckF0dGFjaG1lbnQ7XG4gIHJlbmRlckF2YXRhcj86IChhY3Rpdml0eTogRGlyZWN0TGluZUFjdGl2aXR5KSA9PiAoKCkgPT4gRXhjbHVkZTxSZWFjdE5vZGUsIGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkPikgfCBmYWxzZTtcbiAgc2hvd0NhbGxvdXQ/OiBib29sZWFuO1xufTtcblxuY29uc3QgU3RhY2tlZExheW91dDogRkM8U3RhY2tlZExheW91dFByb3BzPiA9ICh7XG4gIGFjdGl2aXR5LFxuICBoaWRlVGltZXN0YW1wLFxuICByZW5kZXJBY3Rpdml0eVN0YXR1cyxcbiAgcmVuZGVyQXR0YWNobWVudCxcbiAgcmVuZGVyQXZhdGFyLFxuICBzaG93Q2FsbG91dFxufSkgPT4ge1xuICBjb25zdCBbc3R5bGVPcHRpb25zXSA9IHVzZVN0eWxlT3B0aW9ucygpO1xuICBjb25zdCBbeyBpbml0aWFsczogYm90SW5pdGlhbHMgfV0gPSB1c2VBdmF0YXJGb3JCb3QoKTtcbiAgY29uc3QgW3sgaW5pdGlhbHM6IHVzZXJJbml0aWFscyB9XSA9IHVzZUF2YXRhckZvclVzZXIoKTtcbiAgY29uc3QgW3sgc3RhY2tlZExheW91dDogc3RhY2tlZExheW91dFN0eWxlU2V0IH1dID0gdXNlU3R5bGVTZXQoKTtcbiAgY29uc3QgYXJpYUxhYmVsSWQgPSB1c2VVbmlxdWVJZCgnd2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX2lkJyk7XG4gIGNvbnN0IGxvY2FsaXplID0gdXNlTG9jYWxpemVyKCk7XG4gIGNvbnN0IHJvb3RDbGFzc05hbWUgPSB1c2VTdHlsZVRvRW1vdGlvbk9iamVjdCgpKFJPT1RfU1RZTEUpICsgJyc7XG5cbiAgY29uc3QgeyBidWJibGVOdWJPZmZzZXQsIGJ1YmJsZU51YlNpemUsIGJ1YmJsZUZyb21Vc2VyTnViT2Zmc2V0LCBidWJibGVGcm9tVXNlck51YlNpemUgfSA9IHN0eWxlT3B0aW9ucztcblxuICBjb25zdCB7XG4gICAgYXR0YWNobWVudHMgPSBbXSxcbiAgICBjaGFubmVsRGF0YTogeyBtZXNzYWdlQmFjazogeyBkaXNwbGF5VGV4dDogbWVzc2FnZUJhY2tEaXNwbGF5VGV4dCB9ID0ge30gfSA9IHt9LFxuICAgIGZyb206IHsgcm9sZSB9ID0ge30sXG4gICAgdGV4dCxcbiAgICB0ZXh0Rm9ybWF0XG4gIH06IHtcbiAgICBhdHRhY2htZW50cz86IFtdO1xuICAgIGNoYW5uZWxEYXRhPzogeyBtZXNzYWdlQmFjaz86IHsgZGlzcGxheVRleHQ/OiBzdHJpbmcgfSB9O1xuICAgIGZyb20/OiB7IHJvbGU/OiAnYm90JyB8ICd1c2VyJyB9O1xuICAgIHRleHQ/OiBzdHJpbmc7XG4gICAgdGV4dEZvcm1hdD86IHN0cmluZztcbiAgfSA9IGFjdGl2aXR5O1xuXG4gIGNvbnN0IGFjdGl2aXR5RGlzcGxheVRleHQgPSBtZXNzYWdlQmFja0Rpc3BsYXlUZXh0IHx8IHRleHQ7XG4gIGNvbnN0IGZyb21Vc2VyID0gcm9sZSA9PT0gJ3VzZXInO1xuXG4gIGNvbnN0IGF0dGFjaGVkQWx0ID0gbG9jYWxpemUoZnJvbVVzZXIgPyAnQUNUSVZJVFlfWU9VX0FUVEFDSEVEX0FMVCcgOiAnQUNUSVZJVFlfQk9UX0FUVEFDSEVEX0FMVCcpO1xuICBjb25zdCBncmVldGluZ0FsdCA9IChmcm9tVXNlclxuICAgID8gbG9jYWxpemUoJ0FDVElWSVRZX1lPVV9TQUlEX0FMVCcpXG4gICAgOiBsb2NhbGl6ZSgnQUNUSVZJVFlfQk9UX1NBSURfQUxUJywgYm90SW5pdGlhbHMgfHwgJycpXG4gICkucmVwbGFjZSgvXFxzezIsfS9ndSwgJyAnKTtcblxuICBjb25zdCBpbml0aWFscyA9IGZyb21Vc2VyID8gdXNlckluaXRpYWxzIDogYm90SW5pdGlhbHM7XG4gIGNvbnN0IG51Yk9mZnNldCA9IGZyb21Vc2VyID8gYnViYmxlRnJvbVVzZXJOdWJPZmZzZXQgOiBidWJibGVOdWJPZmZzZXQ7XG4gIGNvbnN0IG51YlNpemUgPSBmcm9tVXNlciA/IGJ1YmJsZUZyb21Vc2VyTnViU2l6ZSA6IGJ1YmJsZU51YlNpemU7XG4gIGNvbnN0IG90aGVySW5pdGlhbHMgPSBmcm9tVXNlciA/IGJvdEluaXRpYWxzIDogdXNlckluaXRpYWxzO1xuICBjb25zdCBvdGhlck51YlNpemUgPSBmcm9tVXNlciA/IGJ1YmJsZU51YlNpemUgOiBidWJibGVGcm9tVXNlck51YlNpemU7XG5cbiAgY29uc3QgaGFzQXZhdGFyID0gaW5pdGlhbHMgfHwgdHlwZW9mIGluaXRpYWxzID09PSAnc3RyaW5nJztcbiAgY29uc3QgaGFzT3RoZXJBdmF0YXIgPSBvdGhlckluaXRpYWxzIHx8IHR5cGVvZiBvdGhlckluaXRpYWxzID09PSAnc3RyaW5nJztcbiAgY29uc3QgaGFzTnViID0gdHlwZW9mIG51YlNpemUgPT09ICdudW1iZXInO1xuICBjb25zdCBoYXNPdGhlck51YiA9IHR5cGVvZiBvdGhlck51YlNpemUgPT09ICdudW1iZXInO1xuICBjb25zdCB0b3BBbGlnbmVkQ2FsbG91dCA9IGlzWmVyb09yUG9zaXRpdmUobnViT2Zmc2V0KTtcblxuICBjb25zdCBleHRyYVRyYWlsaW5nID0gIWhhc090aGVyQXZhdGFyICYmIGhhc090aGVyTnViOyAvLyBUaGlzIGlzIGZvciBib3QgbWVzc2FnZSB3aXRoIHVzZXIgbnViIGFuZCBubyB1c2VyIGF2YXRhci4gQW5kIHZpY2UgdmVyc2EuXG5cbiAgY29uc3Qgc2hvd0F2YXRhciA9IHNob3dDYWxsb3V0ICYmIGhhc0F2YXRhciAmJiAhIXJlbmRlckF2YXRhcjtcbiAgY29uc3Qgc2hvd051YiA9IHNob3dDYWxsb3V0ICYmIGhhc051YiAmJiAodG9wQWxpZ25lZENhbGxvdXQgfHwgIWF0dGFjaG1lbnRzLmxlbmd0aCk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBhcmlhLWxhYmVsbGVkYnk9e2FjdGl2aXR5RGlzcGxheVRleHQgPyBhcmlhTGFiZWxJZCA6IHVuZGVmaW5lZH1cbiAgICAgIGFyaWEtcm9sZWRlc2NyaXB0aW9uPVwiYWN0aXZpdHlcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKCd3ZWJjaGF0X19zdGFja2VkLWxheW91dCcsIHJvb3RDbGFzc05hbWUsIHN0YWNrZWRMYXlvdXRTdHlsZVNldCArICcnLCB7XG4gICAgICAgICd3ZWJjaGF0X19zdGFja2VkLWxheW91dC0tZXh0cmEtdHJhaWxpbmcnOiBleHRyYVRyYWlsaW5nLFxuICAgICAgICAnd2ViY2hhdF9fc3RhY2tlZC1sYXlvdXQtLWZyb20tdXNlcic6IGZyb21Vc2VyLFxuICAgICAgICAnd2ViY2hhdF9fc3RhY2tlZC1sYXlvdXQtLWhpZGUtYXZhdGFyJzogaGFzQXZhdGFyICYmICFzaG93QXZhdGFyLFxuICAgICAgICAnd2ViY2hhdF9fc3RhY2tlZC1sYXlvdXQtLWhpZGUtbnViJzogaGFzTnViICYmICFzaG93TnViLFxuICAgICAgICAnd2ViY2hhdF9fc3RhY2tlZC1sYXlvdXQtLW5vLW1lc3NhZ2UnOiAhYWN0aXZpdHlEaXNwbGF5VGV4dCxcbiAgICAgICAgJ3dlYmNoYXRfX3N0YWNrZWQtbGF5b3V0LS1zaG93LWF2YXRhcic6IHNob3dBdmF0YXIsXG4gICAgICAgICd3ZWJjaGF0X19zdGFja2VkLWxheW91dC0tc2hvdy1udWInOiBzaG93TnViLFxuICAgICAgICAnd2ViY2hhdF9fc3RhY2tlZC1sYXlvdXQtLXRvcC1jYWxsb3V0JzogdG9wQWxpZ25lZENhbGxvdXRcbiAgICAgIH0pfVxuICAgICAgcm9sZT1cImdyb3VwXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19tYWluXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwid2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX2F2YXRhci1ndXR0ZXJcIj5cbiAgICAgICAgICB7c2hvd0F2YXRhciAmJiByZW5kZXJBdmF0YXIgJiYgcmVuZGVyQXZhdGFyKHsgYWN0aXZpdHkgfSl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19jb250ZW50XCI+XG4gICAgICAgICAgeyEhYWN0aXZpdHlEaXNwbGF5VGV4dCAmJiAoXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGFyaWEtcm9sZWRlc2NyaXB0aW9uPVwibWVzc2FnZVwiXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cIndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19tZXNzYWdlLXJvd1wiXG4gICAgICAgICAgICAgIC8vIERpc2FibGUgXCJQcm9wIGBpZGAgaXMgZm9yYmlkZGVuIG9uIERPTSBOb2Rlc1wiIHJ1bGUgYmVjYXVzZSB3ZSBhcmUgdXNpbmcgdGhlIElEIHByb3AgZm9yIGFjY2Vzc2liaWxpdHkuXG4gICAgICAgICAgICAgIC8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9mb3JiaWQtZG9tLXByb3BzICovXG4gICAgICAgICAgICAgIGlkPXthcmlhTGFiZWxJZH1cbiAgICAgICAgICAgICAgcm9sZT1cImdyb3VwXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFNjcmVlblJlYWRlclRleHQgdGV4dD17Z3JlZXRpbmdBbHR9IC8+XG4gICAgICAgICAgICAgIDxCdWJibGVcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ3ZWJjaGF0X19zdGFja2VkLWxheW91dF9fbWVzc2FnZVwiXG4gICAgICAgICAgICAgICAgZnJvbVVzZXI9e2Zyb21Vc2VyfVxuICAgICAgICAgICAgICAgIG51Yj17c2hvd051YiB8fCAoaGFzQXZhdGFyIHx8IGhhc051YiA/ICdoaWRkZW4nIDogZmFsc2UpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3JlbmRlckF0dGFjaG1lbnQoe1xuICAgICAgICAgICAgICAgICAgYWN0aXZpdHksXG4gICAgICAgICAgICAgICAgICBhdHRhY2htZW50OiB7XG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnQ6IGFjdGl2aXR5RGlzcGxheVRleHQsXG4gICAgICAgICAgICAgICAgICAgIGNvbnRlbnRUeXBlOiB0ZXh0Rm9ybWF0VG9Db250ZW50VHlwZSh0ZXh0Rm9ybWF0KVxuICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICA8L0J1YmJsZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICl9XG4gICAgICAgICAge2F0dGFjaG1lbnRzLm1hcCgoYXR0YWNobWVudCwgaW5kZXgpID0+IChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgYXJpYS1yb2xlZGVzY3JpcHRpb249XCJhdHRhY2htZW50XCJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKCd3ZWJjaGF0X19zdGFja2VkLWxheW91dF9fYXR0YWNobWVudC1yb3cnLCB7XG4gICAgICAgICAgICAgICAgJ3dlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19hdHRhY2htZW50LXJvdy0tZmlyc3QnOiAhaW5kZXhcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgIC8qIGF0dGFjaG1lbnRzIGRvIG5vdCBoYXZlIGFuIElELCBpdCBpcyBhbHdheXMgaW5kZXhlZCBieSBudW1iZXIgKi9cbiAgICAgICAgICAgICAgLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L25vLWFycmF5LWluZGV4LWtleSAqL1xuICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICByb2xlPVwiZ3JvdXBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8U2NyZWVuUmVhZGVyVGV4dCB0ZXh0PXthdHRhY2hlZEFsdH0gLz5cbiAgICAgICAgICAgICAgPEJ1YmJsZVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19hdHRhY2htZW50XCJcbiAgICAgICAgICAgICAgICBmcm9tVXNlcj17ZnJvbVVzZXJ9XG4gICAgICAgICAgICAgICAgLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L25vLWFycmF5LWluZGV4LWtleSAqL1xuICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgbnViPXtoYXNBdmF0YXIgfHwgaGFzTnViID8gJ2hpZGRlbicgOiBmYWxzZX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtyZW5kZXJBdHRhY2htZW50KHsgYWN0aXZpdHksIGF0dGFjaG1lbnQgfSl9XG4gICAgICAgICAgICAgIDwvQnViYmxlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19hbGlnbm1lbnQtcGFkXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgICAge3R5cGVvZiByZW5kZXJBY3Rpdml0eVN0YXR1cyA9PT0gJ2Z1bmN0aW9uJyAmJiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwid2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX3N0YXR1c1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwid2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX2F2YXRhci1ndXR0ZXJcIiAvPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwid2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX251Yi1wYWRcIiAvPlxuICAgICAgICAgIHtyZW5kZXJBY3Rpdml0eVN0YXR1cyh7IGhpZGVUaW1lc3RhbXAgfSl9XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3ZWJjaGF0X19zdGFja2VkLWxheW91dF9fYWxpZ25tZW50LXBhZFwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cblN0YWNrZWRMYXlvdXQuZGVmYXVsdFByb3BzID0ge1xuICBoaWRlVGltZXN0YW1wOiBmYWxzZSxcbiAgcmVuZGVyQWN0aXZpdHlTdGF0dXM6IGZhbHNlLFxuICByZW5kZXJBdmF0YXI6IHVuZGVmaW5lZCxcbiAgc2hvd0NhbGxvdXQ6IHRydWVcbn07XG5cblN0YWNrZWRMYXlvdXQucHJvcFR5cGVzID0ge1xuICBhY3Rpdml0eTogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICBhdHRhY2htZW50czogUHJvcFR5cGVzLmFycmF5LFxuICAgIGNoYW5uZWxEYXRhOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgbWVzc2FnZUJhY2s6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgIGRpc3BsYXlUZXh0OiBQcm9wVHlwZXMuc3RyaW5nXG4gICAgICB9KVxuICAgIH0pLFxuICAgIGZyb206IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICByb2xlOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWRcbiAgICB9KS5pc1JlcXVpcmVkLFxuICAgIHRleHQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgdGV4dEZvcm1hdDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB0aW1lc3RhbXA6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgdHlwZTogUHJvcFR5cGVzLnN0cmluZy5pc1JlcXVpcmVkXG4gIH0pLmlzUmVxdWlyZWQsXG4gIGhpZGVUaW1lc3RhbXA6IFByb3BUeXBlcy5ib29sLFxuXG4gIC8vIFByb3BUeXBlcyBjYW5ub3QgdmFsaWRhdGUgcHJlY2lzZWx5IHdpdGggaXRzIFR5cGVTY3JpcHQgY291bnRlcnBhcnQuXG4gIC8vIEB0cy1pZ25vcmVcbiAgcmVuZGVyQWN0aXZpdHlTdGF0dXM6IFByb3BUeXBlcy5vbmVPZlR5cGUoW1Byb3BUeXBlcy5vbmVPZihbZmFsc2VdKSwgUHJvcFR5cGVzLmZ1bmNdKSxcbiAgcmVuZGVyQXR0YWNobWVudDogUHJvcFR5cGVzLmZ1bmMuaXNSZXF1aXJlZCxcblxuICAvLyBQcm9wVHlwZXMgY2Fubm90IHZhbGlkYXRlIHByZWNpc2VseSB3aXRoIGl0cyBUeXBlU2NyaXB0IGNvdW50ZXJwYXJ0LlxuICAvLyBAdHMtaWdub3JlXG4gIHJlbmRlckF2YXRhcjogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9uZU9mKFtmYWxzZV0pLCBQcm9wVHlwZXMuZnVuY10pLFxuICBzaG93Q2FsbG91dDogUHJvcFR5cGVzLmJvb2xcbn07XG5cbmV4cG9ydCBkZWZhdWx0IFN0YWNrZWRMYXlvdXQ7XG5cbmV4cG9ydCB7IGNvbm5lY3RTdGFja2VkTGF5b3V0IH07XG4iXX0=
289
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BY3Rpdml0eS9TdGFja2VkTGF5b3V0LnRzeCJdLCJuYW1lcyI6WyJ1c2VBdmF0YXJGb3JCb3QiLCJob29rcyIsInVzZUF2YXRhckZvclVzZXIiLCJ1c2VMb2NhbGl6ZXIiLCJ1c2VTdHlsZU9wdGlvbnMiLCJST09UX1NUWUxFIiwicG9zaXRpb24iLCJkaXNwbGF5IiwiZmxleFNocmluayIsIndpZHRoIiwiZmxleERpcmVjdGlvbiIsImZsZXgiLCJvdmVyZmxvdyIsImNvbm5lY3RTdGFja2VkTGF5b3V0Iiwic2VsZWN0b3JzIiwiY29ubmVjdFRvV2ViQ2hhdCIsImxhbmd1YWdlIiwic3R5bGVTZXQiLCJvcHRpb25zIiwiYm90QXZhdGFySW5pdGlhbHMiLCJ1c2VyQXZhdGFySW5pdGlhbHMiLCJhY3Rpdml0eSIsImZyb20iLCJyb2xlIiwidW5kZWZpbmVkIiwiYXZhdGFySW5pdGlhbHMiLCJTdGFja2VkTGF5b3V0IiwiaGlkZVRpbWVzdGFtcCIsInJlbmRlckFjdGl2aXR5U3RhdHVzIiwicmVuZGVyQXR0YWNobWVudCIsInJlbmRlckF2YXRhciIsInNob3dDYWxsb3V0Iiwic3R5bGVPcHRpb25zIiwiYm90SW5pdGlhbHMiLCJpbml0aWFscyIsInVzZXJJbml0aWFscyIsInN0YWNrZWRMYXlvdXRTdHlsZVNldCIsInN0YWNrZWRMYXlvdXQiLCJhcmlhTGFiZWxJZCIsImxvY2FsaXplIiwicm9vdENsYXNzTmFtZSIsImJ1YmJsZU51Yk9mZnNldCIsImJ1YmJsZU51YlNpemUiLCJidWJibGVGcm9tVXNlck51Yk9mZnNldCIsImJ1YmJsZUZyb21Vc2VyTnViU2l6ZSIsImlzTWVzc2FnZSIsInR5cGUiLCJhdHRhY2htZW50cyIsImZyb21Vc2VyIiwibWVzc2FnZUJhY2tEaXNwbGF5VGV4dCIsImNoYW5uZWxEYXRhIiwibWVzc2FnZUJhY2siLCJkaXNwbGF5VGV4dCIsImFjdGl2aXR5RGlzcGxheVRleHQiLCJ0ZXh0IiwiYXR0YWNoZWRBbHQiLCJncmVldGluZ0FsdCIsInJlcGxhY2UiLCJudWJPZmZzZXQiLCJudWJTaXplIiwib3RoZXJJbml0aWFscyIsIm90aGVyTnViU2l6ZSIsImhhc0F2YXRhciIsImhhc090aGVyQXZhdGFyIiwiaGFzTnViIiwiaGFzT3RoZXJOdWIiLCJ0b3BBbGlnbmVkQ2FsbG91dCIsImV4dHJhVHJhaWxpbmciLCJzaG93QXZhdGFyIiwic2hvd051YiIsImxlbmd0aCIsImF0dGFjaG1lbnQiLCJjb250ZW50IiwiY29udGVudFR5cGUiLCJ0ZXh0Rm9ybWF0IiwibWFwIiwiaW5kZXgiLCJkZWZhdWx0UHJvcHMiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzaGFwZSIsImFycmF5Iiwic3RyaW5nIiwiaXNSZXF1aXJlZCIsIm9uZU9mIiwidGltZXN0YW1wIiwiYm9vbCIsIm9uZU9mVHlwZSIsImZ1bmMiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFFQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFHQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFDQTs7QUFFQTs7Ozs7Ozs7Ozs7Ozs7OztBQUVBLElBQVFBLGVBQVIsR0FBNkVDLDZCQUE3RSxDQUFRRCxlQUFSO0FBQUEsSUFBeUJFLGdCQUF6QixHQUE2RUQsNkJBQTdFLENBQXlCQyxnQkFBekI7QUFBQSxJQUEyQ0MsWUFBM0MsR0FBNkVGLDZCQUE3RSxDQUEyQ0UsWUFBM0M7QUFBQSxJQUF5REMsZUFBekQsR0FBNkVILDZCQUE3RSxDQUF5REcsZUFBekQ7QUFFQSxJQUFNQyxVQUFVLEdBQUc7QUFDakIsK0JBQTZCO0FBQzNCQyxJQUFBQSxRQUFRLEVBQUUsVUFEaUI7QUFDTDtBQUV0QixpS0FDRTtBQUNFQyxNQUFBQSxPQUFPLEVBQUU7QUFEWCxLQUp5QjtBQVEzQixpREFBNkM7QUFDM0NDLE1BQUFBLFVBQVUsRUFBRTtBQUQrQixLQVJsQjtBQVkzQiw4Q0FBMEM7QUFDeENDLE1BQUFBLEtBQUssRUFBRTtBQURpQyxLQVpmO0FBZ0IzQixpREFBNkM7QUFDM0NGLE1BQUFB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SUFBSSxFQUFFeUQsbUJBQVVDLEtBQVYsQ0FBZ0I7QUFDcEJ6RCxNQUFBQSxJQUFJLEVBQUV3RCxtQkFBVUcsTUFBVixDQUFpQkM7QUFESCxLQUFoQixFQUVIQSxVQVRxQjtBQVV4QjdCLElBQUFBLElBQUksRUFBRXlCLG1CQUFVRyxNQVZRO0FBV3hCUixJQUFBQSxVQUFVLEVBQUVLLG1CQUFVSyxLQUFWLENBQWdCLENBQUMsVUFBRCxFQUFhLE9BQWIsRUFBc0IsS0FBdEIsQ0FBaEIsQ0FYWTtBQVl4QkMsSUFBQUEsU0FBUyxFQUFFTixtQkFBVUcsTUFaRztBQWF4QnBDLElBQUFBLElBQUksRUFBRWlDLG1CQUFVRyxNQUFWLENBQWlCQztBQWJDLEdBQWhCLEVBY1BBLFVBakJxQjtBQWtCeEJ4RCxFQUFBQSxhQUFhLEVBQUVvRCxtQkFBVU8sSUFsQkQ7QUFvQnhCO0FBQ0E7QUFDQTFELEVBQUFBLG9CQUFvQixFQUFFbUQsbUJBQVVRLFNBQVYsQ0FBb0IsQ0FBQ1IsbUJBQVVLLEtBQVYsQ0FBZ0IsQ0FBQyxLQUFELENBQWhCLENBQUQsRUFBMkJMLG1CQUFVUyxJQUFyQyxDQUFwQixDQXRCRTtBQXVCeEIzRCxFQUFBQSxnQkFBZ0IsRUFBRWtELG1CQUFVUyxJQUFWLENBQWVMLFVBdkJUO0FBeUJ4QjtBQUNBO0FBQ0FyRCxFQUFBQSxZQUFZLEVBQUVpRCxtQkFBVVEsU0FBVixDQUFvQixDQUFDUixtQkFBVUssS0FBVixDQUFnQixDQUFDLEtBQUQsQ0FBaEIsQ0FBRCxFQUEyQkwsbUJBQVVTLElBQXJDLENBQXBCLENBM0JVO0FBNEJ4QnpELEVBQUFBLFdBQVcsRUFBRWdELG1CQUFVTztBQTVCQyxDQUExQjtlQStCZTVELGEiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbIi8qIGVzbGludCBjb21wbGV4aXR5OiBbXCJlcnJvclwiLCA1MF0gKi9cblxuaW1wb3J0IHsgaG9va3MsIFJlbmRlckF0dGFjaG1lbnQgfSBmcm9tICdib3RmcmFtZXdvcmstd2ViY2hhdC1hcGknO1xuaW1wb3J0IGNsYXNzTmFtZXMgZnJvbSAnY2xhc3NuYW1lcyc7XG5pbXBvcnQgUHJvcFR5cGVzIGZyb20gJ3Byb3AtdHlwZXMnO1xuaW1wb3J0IFJlYWN0LCB7IEZDLCBSZWFjdE5vZGUgfSBmcm9tICdyZWFjdCc7XG5pbXBvcnQgdHlwZSB7IFdlYkNoYXRBY3Rpdml0eSB9IGZyb20gJ2JvdGZyYW1ld29yay13ZWJjaGF0LWNvcmUnO1xuXG5pbXBvcnQgQnViYmxlIGZyb20gJy4vQnViYmxlJztcbmltcG9ydCBjb25uZWN0VG9XZWJDaGF0IGZyb20gJy4uL2Nvbm5lY3RUb1dlYkNoYXQnO1xuaW1wb3J0IGlzWmVyb09yUG9zaXRpdmUgZnJvbSAnLi4vVXRpbHMvaXNaZXJvT3JQb3NpdGl2ZSc7XG5pbXBvcnQgU2NyZWVuUmVhZGVyVGV4dCBmcm9tICcuLi9TY3JlZW5SZWFkZXJUZXh0JztcbmltcG9ydCB0ZXh0Rm9ybWF0VG9Db250ZW50VHlwZSBmcm9tICcuLi9VdGlscy90ZXh0Rm9ybWF0VG9Db250ZW50VHlwZSc7XG5pbXBvcnQgdXNlU3R5bGVTZXQgZnJvbSAnLi4vaG9va3MvdXNlU3R5bGVTZXQnO1xuaW1wb3J0IHVzZVN0eWxlVG9FbW90aW9uT2JqZWN0IGZyb20gJy4uL2hvb2tzL2ludGVybmFsL3VzZVN0eWxlVG9FbW90aW9uT2JqZWN0JztcblxuaW1wb3J0IHVzZVVuaXF1ZUlkIGZyb20gJy4uL2hvb2tzL2ludGVybmFsL3VzZVVuaXF1ZUlkJztcblxuY29uc3QgeyB1c2VBdmF0YXJGb3JCb3QsIHVzZUF2YXRhckZvclVzZXIsIHVzZUxvY2FsaXplciwgdXNlU3R5bGVPcHRpb25zIH0gPSBob29rcztcblxuY29uc3QgUk9PVF9TVFlMRSA9IHtcbiAgJyYud2ViY2hhdF9fc3RhY2tlZC1sYXlvdXQnOiB7XG4gICAgcG9zaXRpb246ICdyZWxhdGl2ZScsIC8vIFRoaXMgaXMgdG8ga2VlcCBzY3JlZW4gcmVhZGVyIHRleHQgaW4gdGhlIGRlc3RpbmF0ZWQgYXJlYS5cblxuICAgICcmIC53ZWJjaGF0X19zdGFja2VkLWxheW91dF9fYXR0YWNobWVudC1yb3csICYgLndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19tYWluLCAmIC53ZWJjaGF0X19zdGFja2VkLWxheW91dF9fbWVzc2FnZS1yb3csICYgLndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19zdGF0dXMnOlxuICAgICAge1xuICAgICAgICBkaXNwbGF5OiAnZmxleCdcbiAgICAgIH0sXG5cbiAgICAnJiAud2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX2FsaWdubWVudC1wYWQnOiB7XG4gICAgICBmbGV4U2hyaW5rOiAwXG4gICAgfSxcblxuICAgICcmIC53ZWJjaGF0X19zdGFja2VkLWxheW91dF9fYXR0YWNobWVudCc6IHtcbiAgICAgIHdpZHRoOiAnMTAwJSdcbiAgICB9LFxuXG4gICAgJyYgLndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19hdmF0YXItZ3V0dGVyJzoge1xuICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG4gICAgICBmbGV4U2hyaW5rOiAwXG4gICAgfSxcblxuICAgICcmLndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0LS1mcm9tLXVzZXInOiB7XG4gICAgICAnJiAud2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX2F0dGFjaG1lbnQtcm93LCAmIC53ZWJjaGF0X19zdGFja2VkLWxheW91dF9fbWFpbiwgJiAud2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX21lc3NhZ2Utcm93LCAmIC53ZWJjaGF0X19zdGFja2VkLWxheW91dF9fc3RhdHVzJzpcbiAgICAgICAge1xuICAgICAgICAgIGZsZXhEaXJlY3Rpb246ICdyb3ctcmV2ZXJzZSdcbiAgICAgICAgfVxuICAgIH0sXG5cbiAgICAnJiAud2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX2NvbnRlbnQnOiB7XG4gICAgICBmbGV4OiAxLFxuXG4gICAgICAvLyBUaGlzIGlzIGZvciBib3R0b20gYWxpZ25pbmcgYW4gYXZhdGFyIHdpdGggYSBtZXNzYWdlIGJ1YmJsZSBzaG9ydGVyIHRoYW4gdGhlIGF2YXRhci5cbiAgICAgIC8vIFJlbGF0ZWQgdG8gdGhlIHRlc3QgYXQgYWN0aXZpdHlHcm91cGluZy5hdmF0YXJNaWRkbGV3YXJlLmF0Qm90dG9tLmpzLlxuICAgICAgZGlzcGxheTogJ2ZsZXgnLFxuICAgICAgZmxleERpcmVjdGlvbjogJ2NvbHVtbicsXG5cbiAgICAgIC8vIFRoaXMgXCJvdmVyZmxvdzogaGlkZGVuXCIgaXMgdG8gbWFrZSBzdXJlIHRleHQgb3ZlcmZsb3cgd2lsbCBnZXQgY2xpcHBlZCBjb3JyZWN0bHkuXG4gICAgICAvLyBSZWxhdGVkIHRvIHRoZSB0ZXN0IGF0IGJhc2ljLmpzIFwibG9uZyBVUkxzIHdpdGgga2VlcC1hbGxcIi5cbiAgICAgIG92ZXJmbG93OiAnaGlkZGVuJ1xuICAgIH0sXG5cbiAgICAnJiAud2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX251Yi1wYWQnOiB7XG4gICAgICBmbGV4U2hyaW5rOiAwXG4gICAgfVxuICB9XG59O1xuXG5jb25zdCBjb25uZWN0U3RhY2tlZExheW91dCA9ICguLi5zZWxlY3RvcnMpID0+XG4gIGNvbm5lY3RUb1dlYkNoYXQoXG4gICAgKFxuICAgICAge1xuICAgICAgICBsYW5ndWFnZSxcbiAgICAgICAgc3R5bGVTZXQ6IHtcbiAgICAgICAgICBvcHRpb25zOiB7IGJvdEF2YXRhckluaXRpYWxzLCB1c2VyQXZhdGFySW5pdGlhbHMgfVxuICAgICAgICB9XG4gICAgICB9LFxuICAgICAgeyBhY3Rpdml0eTogeyBmcm9tOiB7IHJvbGUgPSB1bmRlZmluZWQgfSA9IHt9IH0gPSB7fSB9XG4gICAgKSA9PiAoe1xuICAgICAgYXZhdGFySW5pdGlhbHM6IHJvbGUgPT09ICd1c2VyJyA/IHVzZXJBdmF0YXJJbml0aWFscyA6IGJvdEF2YXRhckluaXRpYWxzLFxuICAgICAgbGFuZ3VhZ2UsXG5cbiAgICAgIC8vIFRPRE86IFtQNF0gV2Ugd2FudCB0byBkZXByZWNhdGUgYm90QXZhdGFySW5pdGlhbHMvdXNlckF2YXRhckluaXRpYWxzIGJlY2F1c2UgdGhleSBhcmUgbm90IGFzIGhlbHBmdWwgYXMgYXZhdGFySW5pdGlhbHNcbiAgICAgIGJvdEF2YXRhckluaXRpYWxzLFxuICAgICAgdXNlckF2YXRhckluaXRpYWxzXG4gICAgfSksXG4gICAgLi4uc2VsZWN0b3JzXG4gICk7XG5cbnR5cGUgU3RhY2tlZExheW91dFByb3BzID0ge1xuICBhY3Rpdml0eTogV2ViQ2hhdEFjdGl2aXR5O1xuICBoaWRlVGltZXN0YW1wPzogYm9vbGVhbjtcbiAgcmVuZGVyQWN0aXZpdHlTdGF0dXM/OiAoKHsgaGlkZVRpbWVzdGFtcDogYm9vbGVhbiB9KSA9PiBFeGNsdWRlPFJlYWN0Tm9kZSwgYm9vbGVhbiB8IG51bGwgfCB1bmRlZmluZWQ+KSB8IGZhbHNlO1xuICByZW5kZXJBdHRhY2htZW50PzogUmVuZGVyQXR0YWNobWVudDtcbiAgcmVuZGVyQXZhdGFyPzogKHsgYWN0aXZpdHk6IFdlYkNoYXRBY3Rpdml0eSB9KSA9PiAoKCkgPT4gRXhjbHVkZTxSZWFjdE5vZGUsIGJvb2xlYW4gfCBudWxsIHwgdW5kZWZpbmVkPikgfCBmYWxzZTtcbiAgc2hvd0NhbGxvdXQ/OiBib29sZWFuO1xufTtcblxuY29uc3QgU3RhY2tlZExheW91dDogRkM8U3RhY2tlZExheW91dFByb3BzPiA9ICh7XG4gIGFjdGl2aXR5LFxuICBoaWRlVGltZXN0YW1wLFxuICByZW5kZXJBY3Rpdml0eVN0YXR1cyxcbiAgcmVuZGVyQXR0YWNobWVudCxcbiAgcmVuZGVyQXZhdGFyLFxuICBzaG93Q2FsbG91dFxufSkgPT4ge1xuICBjb25zdCBbc3R5bGVPcHRpb25zXSA9IHVzZVN0eWxlT3B0aW9ucygpO1xuICBjb25zdCBbeyBpbml0aWFsczogYm90SW5pdGlhbHMgfV0gPSB1c2VBdmF0YXJGb3JCb3QoKTtcbiAgY29uc3QgW3sgaW5pdGlhbHM6IHVzZXJJbml0aWFscyB9XSA9IHVzZUF2YXRhckZvclVzZXIoKTtcbiAgY29uc3QgW3sgc3RhY2tlZExheW91dDogc3RhY2tlZExheW91dFN0eWxlU2V0IH1dID0gdXNlU3R5bGVTZXQoKTtcbiAgY29uc3QgYXJpYUxhYmVsSWQgPSB1c2VVbmlxdWVJZCgnd2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX2lkJyk7XG4gIGNvbnN0IGxvY2FsaXplID0gdXNlTG9jYWxpemVyKCk7XG4gIGNvbnN0IHJvb3RDbGFzc05hbWUgPSB1c2VTdHlsZVRvRW1vdGlvbk9iamVjdCgpKFJPT1RfU1RZTEUpICsgJyc7XG5cbiAgY29uc3QgeyBidWJibGVOdWJPZmZzZXQsIGJ1YmJsZU51YlNpemUsIGJ1YmJsZUZyb21Vc2VyTnViT2Zmc2V0LCBidWJibGVGcm9tVXNlck51YlNpemUgfSA9IHN0eWxlT3B0aW9ucztcblxuICBjb25zdCBpc01lc3NhZ2UgPSBhY3Rpdml0eS50eXBlID09PSAnbWVzc2FnZSc7XG5cbiAgY29uc3QgYXR0YWNobWVudHMgPSAoaXNNZXNzYWdlICYmIGFjdGl2aXR5LmF0dGFjaG1lbnRzKSB8fCBbXTtcbiAgY29uc3QgZnJvbVVzZXIgPSBhY3Rpdml0eS5mcm9tLnJvbGUgPT09ICd1c2VyJztcbiAgY29uc3QgbWVzc2FnZUJhY2tEaXNwbGF5VGV4dDogc3RyaW5nID0gKGlzTWVzc2FnZSAmJiBhY3Rpdml0eS5jaGFubmVsRGF0YT8ubWVzc2FnZUJhY2s/LmRpc3BsYXlUZXh0KSB8fCAnJztcblxuICBjb25zdCBhY3Rpdml0eURpc3BsYXlUZXh0ID0gaXNNZXNzYWdlID8gbWVzc2FnZUJhY2tEaXNwbGF5VGV4dCB8fCBhY3Rpdml0eS50ZXh0IDogJyc7XG4gIGNvbnN0IGF0dGFjaGVkQWx0ID0gbG9jYWxpemUoZnJvbVVzZXIgPyAnQUNUSVZJVFlfWU9VX0FUVEFDSEVEX0FMVCcgOiAnQUNUSVZJVFlfQk9UX0FUVEFDSEVEX0FMVCcpO1xuICBjb25zdCBncmVldGluZ0FsdCA9IChcbiAgICBmcm9tVXNlciA/IGxvY2FsaXplKCdBQ1RJVklUWV9ZT1VfU0FJRF9BTFQnKSA6IGxvY2FsaXplKCdBQ1RJVklUWV9CT1RfU0FJRF9BTFQnLCBib3RJbml0aWFscyB8fCAnJylcbiAgKS5yZXBsYWNlKC9cXHN7Mix9L2d1LCAnICcpO1xuXG4gIGNvbnN0IGluaXRpYWxzID0gZnJvbVVzZXIgPyB1c2VySW5pdGlhbHMgOiBib3RJbml0aWFscztcbiAgY29uc3QgbnViT2Zmc2V0ID0gZnJvbVVzZXIgPyBidWJibGVGcm9tVXNlck51Yk9mZnNldCA6IGJ1YmJsZU51Yk9mZnNldDtcbiAgY29uc3QgbnViU2l6ZSA9IGZyb21Vc2VyID8gYnViYmxlRnJvbVVzZXJOdWJTaXplIDogYnViYmxlTnViU2l6ZTtcbiAgY29uc3Qgb3RoZXJJbml0aWFscyA9IGZyb21Vc2VyID8gYm90SW5pdGlhbHMgOiB1c2VySW5pdGlhbHM7XG4gIGNvbnN0IG90aGVyTnViU2l6ZSA9IGZyb21Vc2VyID8gYnViYmxlTnViU2l6ZSA6IGJ1YmJsZUZyb21Vc2VyTnViU2l6ZTtcblxuICBjb25zdCBoYXNBdmF0YXIgPSBpbml0aWFscyB8fCB0eXBlb2YgaW5pdGlhbHMgPT09ICdzdHJpbmcnO1xuICBjb25zdCBoYXNPdGhlckF2YXRhciA9IG90aGVySW5pdGlhbHMgfHwgdHlwZW9mIG90aGVySW5pdGlhbHMgPT09ICdzdHJpbmcnO1xuICBjb25zdCBoYXNOdWIgPSB0eXBlb2YgbnViU2l6ZSA9PT0gJ251bWJlcic7XG4gIGNvbnN0IGhhc090aGVyTnViID0gdHlwZW9mIG90aGVyTnViU2l6ZSA9PT0gJ251bWJlcic7XG4gIGNvbnN0IHRvcEFsaWduZWRDYWxsb3V0ID0gaXNaZXJvT3JQb3NpdGl2ZShudWJPZmZzZXQpO1xuXG4gIGNvbnN0IGV4dHJhVHJhaWxpbmcgPSAhaGFzT3RoZXJBdmF0YXIgJiYgaGFzT3RoZXJOdWI7IC8vIFRoaXMgaXMgZm9yIGJvdCBtZXNzYWdlIHdpdGggdXNlciBudWIgYW5kIG5vIHVzZXIgYXZhdGFyLiBBbmQgdmljZSB2ZXJzYS5cblxuICBjb25zdCBzaG93QXZhdGFyID0gc2hvd0NhbGxvdXQgJiYgaGFzQXZhdGFyICYmICEhcmVuZGVyQXZhdGFyO1xuICBjb25zdCBzaG93TnViID0gc2hvd0NhbGxvdXQgJiYgaGFzTnViICYmICh0b3BBbGlnbmVkQ2FsbG91dCB8fCAhYXR0YWNobWVudHM/Lmxlbmd0aCk7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBhcmlhLWxhYmVsbGVkYnk9e2FjdGl2aXR5RGlzcGxheVRleHQgPyBhcmlhTGFiZWxJZCA6IHVuZGVmaW5lZH1cbiAgICAgIGFyaWEtcm9sZWRlc2NyaXB0aW9uPVwiYWN0aXZpdHlcIlxuICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKCd3ZWJjaGF0X19zdGFja2VkLWxheW91dCcsIHJvb3RDbGFzc05hbWUsIHN0YWNrZWRMYXlvdXRTdHlsZVNldCArICcnLCB7XG4gICAgICAgICd3ZWJjaGF0X19zdGFja2VkLWxheW91dC0tZXh0cmEtdHJhaWxpbmcnOiBleHRyYVRyYWlsaW5nLFxuICAgICAgICAnd2ViY2hhdF9fc3RhY2tlZC1sYXlvdXQtLWZyb20tdXNlcic6IGZyb21Vc2VyLFxuICAgICAgICAnd2ViY2hhdF9fc3RhY2tlZC1sYXlvdXQtLWhpZGUtYXZhdGFyJzogaGFzQXZhdGFyICYmICFzaG93QXZhdGFyLFxuICAgICAgICAnd2ViY2hhdF9fc3RhY2tlZC1sYXlvdXQtLWhpZGUtbnViJzogaGFzTnViICYmICFzaG93TnViLFxuICAgICAgICAnd2ViY2hhdF9fc3RhY2tlZC1sYXlvdXQtLW5vLW1lc3NhZ2UnOiAhYWN0aXZpdHlEaXNwbGF5VGV4dCxcbiAgICAgICAgJ3dlYmNoYXRfX3N0YWNrZWQtbGF5b3V0LS1zaG93LWF2YXRhcic6IHNob3dBdmF0YXIsXG4gICAgICAgICd3ZWJjaGF0X19zdGFja2VkLWxheW91dC0tc2hvdy1udWInOiBzaG93TnViLFxuICAgICAgICAnd2ViY2hhdF9fc3RhY2tlZC1sYXlvdXQtLXRvcC1jYWxsb3V0JzogdG9wQWxpZ25lZENhbGxvdXRcbiAgICAgIH0pfVxuICAgICAgcm9sZT1cImdyb3VwXCJcbiAgICA+XG4gICAgICA8ZGl2IGNsYXNzTmFtZT1cIndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19tYWluXCI+XG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwid2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX2F2YXRhci1ndXR0ZXJcIj5cbiAgICAgICAgICB7c2hvd0F2YXRhciAmJiByZW5kZXJBdmF0YXIgJiYgcmVuZGVyQXZhdGFyKHsgYWN0aXZpdHkgfSl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19jb250ZW50XCI+XG4gICAgICAgICAgeyEhYWN0aXZpdHlEaXNwbGF5VGV4dCAmJiAoXG4gICAgICAgICAgICA8ZGl2XG4gICAgICAgICAgICAgIGFyaWEtcm9sZWRlc2NyaXB0aW9uPVwibWVzc2FnZVwiXG4gICAgICAgICAgICAgIGNsYXNzTmFtZT1cIndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19tZXNzYWdlLXJvd1wiXG4gICAgICAgICAgICAgIC8vIERpc2FibGUgXCJQcm9wIGBpZGAgaXMgZm9yYmlkZGVuIG9uIERPTSBOb2Rlc1wiIHJ1bGUgYmVjYXVzZSB3ZSBhcmUgdXNpbmcgdGhlIElEIHByb3AgZm9yIGFjY2Vzc2liaWxpdHkuXG4gICAgICAgICAgICAgIC8qIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSByZWFjdC9mb3JiaWQtZG9tLXByb3BzICovXG4gICAgICAgICAgICAgIGlkPXthcmlhTGFiZWxJZH1cbiAgICAgICAgICAgICAgcm9sZT1cImdyb3VwXCJcbiAgICAgICAgICAgID5cbiAgICAgICAgICAgICAgPFNjcmVlblJlYWRlclRleHQgdGV4dD17Z3JlZXRpbmdBbHR9IC8+XG4gICAgICAgICAgICAgIDxCdWJibGVcbiAgICAgICAgICAgICAgICBjbGFzc05hbWU9XCJ3ZWJjaGF0X19zdGFja2VkLWxheW91dF9fbWVzc2FnZVwiXG4gICAgICAgICAgICAgICAgZnJvbVVzZXI9e2Zyb21Vc2VyfVxuICAgICAgICAgICAgICAgIG51Yj17c2hvd051YiB8fCAoaGFzQXZhdGFyIHx8IGhhc051YiA/ICdoaWRkZW4nIDogZmFsc2UpfVxuICAgICAgICAgICAgICA+XG4gICAgICAgICAgICAgICAge3JlbmRlckF0dGFjaG1lbnQoe1xuICAgICAgICAgICAgICAgICAgYWN0aXZpdHksXG4gICAgICAgICAgICAgICAgICBhdHRhY2htZW50OiBpc01lc3NhZ2VcbiAgICAgICAgICAgICAgICAgICAgPyB7XG4gICAgICAgICAgICAgICAgICAgICAgICBjb250ZW50OiBhY3Rpdml0eURpc3BsYXlUZXh0LFxuICAgICAgICAgICAgICAgICAgICAgICAgY29udGVudFR5cGU6IHRleHRGb3JtYXRUb0NvbnRlbnRUeXBlKGFjdGl2aXR5LnRleHRGb3JtYXQpXG4gICAgICAgICAgICAgICAgICAgICAgfVxuICAgICAgICAgICAgICAgICAgICA6IHVuZGVmaW5lZFxuICAgICAgICAgICAgICAgIH0pfVxuICAgICAgICAgICAgICA8L0J1YmJsZT5cbiAgICAgICAgICAgIDwvZGl2PlxuICAgICAgICAgICl9XG4gICAgICAgICAge2F0dGFjaG1lbnRzLm1hcCgoYXR0YWNobWVudCwgaW5kZXgpID0+IChcbiAgICAgICAgICAgIDxkaXZcbiAgICAgICAgICAgICAgYXJpYS1yb2xlZGVzY3JpcHRpb249XCJhdHRhY2htZW50XCJcbiAgICAgICAgICAgICAgY2xhc3NOYW1lPXtjbGFzc05hbWVzKCd3ZWJjaGF0X19zdGFja2VkLWxheW91dF9fYXR0YWNobWVudC1yb3cnLCB7XG4gICAgICAgICAgICAgICAgJ3dlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19hdHRhY2htZW50LXJvdy0tZmlyc3QnOiAhaW5kZXhcbiAgICAgICAgICAgICAgfSl9XG4gICAgICAgICAgICAgIC8qIGF0dGFjaG1lbnRzIGRvIG5vdCBoYXZlIGFuIElELCBpdCBpcyBhbHdheXMgaW5kZXhlZCBieSBudW1iZXIgKi9cbiAgICAgICAgICAgICAgLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L25vLWFycmF5LWluZGV4LWtleSAqL1xuICAgICAgICAgICAgICBrZXk9e2luZGV4fVxuICAgICAgICAgICAgICByb2xlPVwiZ3JvdXBcIlxuICAgICAgICAgICAgPlxuICAgICAgICAgICAgICA8U2NyZWVuUmVhZGVyVGV4dCB0ZXh0PXthdHRhY2hlZEFsdH0gLz5cbiAgICAgICAgICAgICAgPEJ1YmJsZVxuICAgICAgICAgICAgICAgIGNsYXNzTmFtZT1cIndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19hdHRhY2htZW50XCJcbiAgICAgICAgICAgICAgICBmcm9tVXNlcj17ZnJvbVVzZXJ9XG4gICAgICAgICAgICAgICAgLyogZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIHJlYWN0L25vLWFycmF5LWluZGV4LWtleSAqL1xuICAgICAgICAgICAgICAgIGtleT17aW5kZXh9XG4gICAgICAgICAgICAgICAgbnViPXtoYXNBdmF0YXIgfHwgaGFzTnViID8gJ2hpZGRlbicgOiBmYWxzZX1cbiAgICAgICAgICAgICAgPlxuICAgICAgICAgICAgICAgIHtyZW5kZXJBdHRhY2htZW50KHsgYWN0aXZpdHksIGF0dGFjaG1lbnQgfSl9XG4gICAgICAgICAgICAgIDwvQnViYmxlPlxuICAgICAgICAgICAgPC9kaXY+XG4gICAgICAgICAgKSl9XG4gICAgICAgIDwvZGl2PlxuICAgICAgICA8ZGl2IGNsYXNzTmFtZT1cIndlYmNoYXRfX3N0YWNrZWQtbGF5b3V0X19hbGlnbm1lbnQtcGFkXCIgLz5cbiAgICAgIDwvZGl2PlxuICAgICAge3R5cGVvZiByZW5kZXJBY3Rpdml0eVN0YXR1cyA9PT0gJ2Z1bmN0aW9uJyAmJiAoXG4gICAgICAgIDxkaXYgY2xhc3NOYW1lPVwid2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX3N0YXR1c1wiPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwid2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX2F2YXRhci1ndXR0ZXJcIiAvPlxuICAgICAgICAgIDxkaXYgY2xhc3NOYW1lPVwid2ViY2hhdF9fc3RhY2tlZC1sYXlvdXRfX251Yi1wYWRcIiAvPlxuICAgICAgICAgIHtyZW5kZXJBY3Rpdml0eVN0YXR1cyh7IGhpZGVUaW1lc3RhbXAgfSl9XG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9XCJ3ZWJjaGF0X19zdGFja2VkLWxheW91dF9fYWxpZ25tZW50LXBhZFwiIC8+XG4gICAgICAgIDwvZGl2PlxuICAgICAgKX1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG5cblN0YWNrZWRMYXlvdXQuZGVmYXVsdFByb3BzID0ge1xuICBoaWRlVGltZXN0YW1wOiBmYWxzZSxcbiAgcmVuZGVyQWN0aXZpdHlTdGF0dXM6IGZhbHNlLFxuICByZW5kZXJBdmF0YXI6IHVuZGVmaW5lZCxcbiAgc2hvd0NhbGxvdXQ6IHRydWVcbn07XG5cblN0YWNrZWRMYXlvdXQucHJvcFR5cGVzID0ge1xuICAvLyBQcm9wVHlwZXMgY2Fubm90IGZ1bGx5IGNhcHR1cmUgVHlwZVNjcmlwdCB0eXBlcy5cbiAgLy8gQHRzLWlnbm9yZVxuICBhY3Rpdml0eTogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICBhdHRhY2htZW50czogUHJvcFR5cGVzLmFycmF5LFxuICAgIGNoYW5uZWxEYXRhOiBQcm9wVHlwZXMuc2hhcGUoe1xuICAgICAgbWVzc2FnZUJhY2s6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICAgIGRpc3BsYXlUZXh0OiBQcm9wVHlwZXMuc3RyaW5nXG4gICAgICB9KVxuICAgIH0pLFxuICAgIGZyb206IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICByb2xlOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWRcbiAgICB9KS5pc1JlcXVpcmVkLFxuICAgIHRleHQ6IFByb3BUeXBlcy5zdHJpbmcsXG4gICAgdGV4dEZvcm1hdDogUHJvcFR5cGVzLm9uZU9mKFsnbWFya2Rvd24nLCAncGxhaW4nLCAneG1sJ10pLFxuICAgIHRpbWVzdGFtcDogUHJvcFR5cGVzLnN0cmluZyxcbiAgICB0eXBlOiBQcm9wVHlwZXMuc3RyaW5nLmlzUmVxdWlyZWRcbiAgfSkuaXNSZXF1aXJlZCxcbiAgaGlkZVRpbWVzdGFtcDogUHJvcFR5cGVzLmJvb2wsXG5cbiAgLy8gUHJvcFR5cGVzIGNhbm5vdCB2YWxpZGF0ZSBwcmVjaXNlbHkgd2l0aCBpdHMgVHlwZVNjcmlwdCBjb3VudGVycGFydC5cbiAgLy8gQHRzLWlnbm9yZVxuICByZW5kZXJBY3Rpdml0eVN0YXR1czogUHJvcFR5cGVzLm9uZU9mVHlwZShbUHJvcFR5cGVzLm9uZU9mKFtmYWxzZV0pLCBQcm9wVHlwZXMuZnVuY10pLFxuICByZW5kZXJBdHRhY2htZW50OiBQcm9wVHlwZXMuZnVuYy5pc1JlcXVpcmVkLFxuXG4gIC8vIFByb3BUeXBlcyBjYW5ub3QgdmFsaWRhdGUgcHJlY2lzZWx5IHdpdGggaXRzIFR5cGVTY3JpcHQgY291bnRlcnBhcnQuXG4gIC8vIEB0cy1pZ25vcmVcbiAgcmVuZGVyQXZhdGFyOiBQcm9wVHlwZXMub25lT2ZUeXBlKFtQcm9wVHlwZXMub25lT2YoW2ZhbHNlXSksIFByb3BUeXBlcy5mdW5jXSksXG4gIHNob3dDYWxsb3V0OiBQcm9wVHlwZXMuYm9vbFxufTtcblxuZXhwb3J0IGRlZmF1bHQgU3RhY2tlZExheW91dDtcblxuZXhwb3J0IHsgY29ubmVjdFN0YWNrZWRMYXlvdXQgfTtcbiJdfQ==
@@ -24,7 +24,7 @@ var FileAttachment = function FileAttachment(_ref) {
24
24
  attachmentSizes = _ref$activity$channel2 === void 0 ? [] : _ref$activity$channel2,
25
25
  attachment = _ref.attachment;
26
26
  var attachmentIndex = attachments.indexOf(attachment);
27
- var size = attachmentSizes[attachmentIndex];
27
+ var size = attachmentSizes[+attachmentIndex];
28
28
  return /*#__PURE__*/_react.default.createElement(_FileContent.default, {
29
29
  fileName: attachment.name,
30
30
  href: attachment.contentUrl,
@@ -46,4 +46,4 @@ FileAttachment.propTypes = {
46
46
  };
47
47
  var _default = FileAttachment;
48
48
  exports.default = _default;
49
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BdHRhY2htZW50L0ZpbGVBdHRhY2htZW50LmpzIl0sIm5hbWVzIjpbIkZpbGVBdHRhY2htZW50IiwiYWN0aXZpdHkiLCJhdHRhY2htZW50cyIsImNoYW5uZWxEYXRhIiwiYXR0YWNobWVudFNpemVzIiwiYXR0YWNobWVudCIsImF0dGFjaG1lbnRJbmRleCIsImluZGV4T2YiLCJzaXplIiwibmFtZSIsImNvbnRlbnRVcmwiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzaGFwZSIsImFycmF5IiwiYXJyYXlPZiIsIm51bWJlciIsImlzUmVxdWlyZWQiLCJzdHJpbmciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQTs7OztBQUVBLElBQU1BLGNBQWMsR0FBRyxTQUFqQkEsY0FBaUIsT0FHakI7QUFBQSwyQkFGSkMsUUFFSTtBQUFBLDZDQUZ5RSxFQUV6RTtBQUFBLDRDQUZRQyxXQUVSO0FBQUEsTUFGUUEsV0FFUixzQ0FGc0IsRUFFdEI7QUFBQSw0Q0FGMEJDLFdBRTFCO0FBQUEsNkRBRmtFLEVBRWxFO0FBQUEscURBRnlDQyxlQUV6QztBQUFBLE1BRnlDQSxlQUV6Qyx1Q0FGMkQsRUFFM0Q7QUFBQSxNQURKQyxVQUNJLFFBREpBLFVBQ0k7QUFDSixNQUFNQyxlQUFlLEdBQUdKLFdBQVcsQ0FBQ0ssT0FBWixDQUFvQkYsVUFBcEIsQ0FBeEI7QUFDQSxNQUFNRyxJQUFJLEdBQUdKLGVBQWUsQ0FBQ0UsZUFBRCxDQUE1QjtBQUVBLHNCQUFPLDZCQUFDLG9CQUFEO0FBQWEsSUFBQSxRQUFRLEVBQUVELFVBQVUsQ0FBQ0ksSUFBbEM7QUFBd0MsSUFBQSxJQUFJLEVBQUVKLFVBQVUsQ0FBQ0ssVUFBekQ7QUFBcUUsSUFBQSxJQUFJLEVBQUVGO0FBQTNFLElBQVA7QUFDRCxDQVJEOztBQVVBUixjQUFjLENBQUNXLFNBQWYsR0FBMkI7QUFDekJWLEVBQUFBLFFBQVEsRUFBRVcsbUJBQVVDLEtBQVYsQ0FBZ0I7QUFDeEJSLElBQUFBLFVBQVUsRUFBRU8sbUJBQVVFLEtBREU7QUFFeEJYLElBQUFBLFdBQVcsRUFBRVMsbUJBQVVDLEtBQVYsQ0FBZ0I7QUFDM0JULE1BQUFBLGVBQWUsRUFBRVEsbUJBQVVHLE9BQVYsQ0FBa0JILG1CQUFVSSxNQUE1QjtBQURVLEtBQWhCO0FBRlcsR0FBaEIsRUFLUEMsVUFOc0I7QUFPekJaLEVBQUFBLFVBQVUsRUFBRU8sbUJBQVVDLEtBQVYsQ0FBZ0I7QUFDMUJILElBQUFBLFVBQVUsRUFBRUUsbUJBQVVNLE1BREk7QUFFMUJULElBQUFBLElBQUksRUFBRUcsbUJBQVVNLE1BQVYsQ0FBaUJEO0FBRkcsR0FBaEIsRUFHVEE7QUFWc0IsQ0FBM0I7ZUFhZWpCLGMiLCJzb3VyY2VSb290IjoiY29tcG9uZW50Oi8vLyIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBQcm9wVHlwZXMgZnJvbSAncHJvcC10eXBlcyc7XG5pbXBvcnQgUmVhY3QgZnJvbSAncmVhY3QnO1xuXG5pbXBvcnQgRmlsZUNvbnRlbnQgZnJvbSAnLi9GaWxlQ29udGVudCc7XG5cbmNvbnN0IEZpbGVBdHRhY2htZW50ID0gKHtcbiAgYWN0aXZpdHk6IHsgYXR0YWNobWVudHMgPSBbXSwgY2hhbm5lbERhdGE6IHsgYXR0YWNobWVudFNpemVzID0gW10gfSA9IHt9IH0gPSB7fSxcbiAgYXR0YWNobWVudFxufSkgPT4ge1xuICBjb25zdCBhdHRhY2htZW50SW5kZXggPSBhdHRhY2htZW50cy5pbmRleE9mKGF0dGFjaG1lbnQpO1xuICBjb25zdCBzaXplID0gYXR0YWNobWVudFNpemVzW2F0dGFjaG1lbnRJbmRleF07XG5cbiAgcmV0dXJuIDxGaWxlQ29udGVudCBmaWxlTmFtZT17YXR0YWNobWVudC5uYW1lfSBocmVmPXthdHRhY2htZW50LmNvbnRlbnRVcmx9IHNpemU9e3NpemV9IC8+O1xufTtcblxuRmlsZUF0dGFjaG1lbnQucHJvcFR5cGVzID0ge1xuICBhY3Rpdml0eTogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICBhdHRhY2htZW50OiBQcm9wVHlwZXMuYXJyYXksXG4gICAgY2hhbm5lbERhdGE6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICBhdHRhY2htZW50U2l6ZXM6IFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5udW1iZXIpXG4gICAgfSlcbiAgfSkuaXNSZXF1aXJlZCxcbiAgYXR0YWNobWVudDogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICBjb250ZW50VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZFxuICB9KS5pc1JlcXVpcmVkXG59O1xuXG5leHBvcnQgZGVmYXVsdCBGaWxlQXR0YWNobWVudDtcbiJdfQ==
49
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9BdHRhY2htZW50L0ZpbGVBdHRhY2htZW50LmpzIl0sIm5hbWVzIjpbIkZpbGVBdHRhY2htZW50IiwiYWN0aXZpdHkiLCJhdHRhY2htZW50cyIsImNoYW5uZWxEYXRhIiwiYXR0YWNobWVudFNpemVzIiwiYXR0YWNobWVudCIsImF0dGFjaG1lbnRJbmRleCIsImluZGV4T2YiLCJzaXplIiwibmFtZSIsImNvbnRlbnRVcmwiLCJwcm9wVHlwZXMiLCJQcm9wVHlwZXMiLCJzaGFwZSIsImFycmF5IiwiYXJyYXlPZiIsIm51bWJlciIsImlzUmVxdWlyZWQiLCJzdHJpbmciXSwibWFwcGluZ3MiOiI7Ozs7Ozs7QUFBQTs7QUFDQTs7QUFFQTs7OztBQUVBLElBQU1BLGNBQWMsR0FBRyxTQUFqQkEsY0FBaUIsT0FHakI7QUFBQSwyQkFGSkMsUUFFSTtBQUFBLDZDQUZ5RSxFQUV6RTtBQUFBLDRDQUZRQyxXQUVSO0FBQUEsTUFGUUEsV0FFUixzQ0FGc0IsRUFFdEI7QUFBQSw0Q0FGMEJDLFdBRTFCO0FBQUEsNkRBRmtFLEVBRWxFO0FBQUEscURBRnlDQyxlQUV6QztBQUFBLE1BRnlDQSxlQUV6Qyx1Q0FGMkQsRUFFM0Q7QUFBQSxNQURKQyxVQUNJLFFBREpBLFVBQ0k7QUFDSixNQUFNQyxlQUFlLEdBQUdKLFdBQVcsQ0FBQ0ssT0FBWixDQUFvQkYsVUFBcEIsQ0FBeEI7QUFDQSxNQUFNRyxJQUFJLEdBQUdKLGVBQWUsQ0FBQyxDQUFDRSxlQUFGLENBQTVCO0FBRUEsc0JBQU8sNkJBQUMsb0JBQUQ7QUFBYSxJQUFBLFFBQVEsRUFBRUQsVUFBVSxDQUFDSSxJQUFsQztBQUF3QyxJQUFBLElBQUksRUFBRUosVUFBVSxDQUFDSyxVQUF6RDtBQUFxRSxJQUFBLElBQUksRUFBRUY7QUFBM0UsSUFBUDtBQUNELENBUkQ7O0FBVUFSLGNBQWMsQ0FBQ1csU0FBZixHQUEyQjtBQUN6QlYsRUFBQUEsUUFBUSxFQUFFVyxtQkFBVUMsS0FBVixDQUFnQjtBQUN4QlIsSUFBQUEsVUFBVSxFQUFFTyxtQkFBVUUsS0FERTtBQUV4QlgsSUFBQUEsV0FBVyxFQUFFUyxtQkFBVUMsS0FBVixDQUFnQjtBQUMzQlQsTUFBQUEsZUFBZSxFQUFFUSxtQkFBVUcsT0FBVixDQUFrQkgsbUJBQVVJLE1BQTVCO0FBRFUsS0FBaEI7QUFGVyxHQUFoQixFQUtQQyxVQU5zQjtBQU96QlosRUFBQUEsVUFBVSxFQUFFTyxtQkFBVUMsS0FBVixDQUFnQjtBQUMxQkgsSUFBQUEsVUFBVSxFQUFFRSxtQkFBVU0sTUFESTtBQUUxQlQsSUFBQUEsSUFBSSxFQUFFRyxtQkFBVU0sTUFBVixDQUFpQkQ7QUFGRyxHQUFoQixFQUdUQTtBQVZzQixDQUEzQjtlQWFlakIsYyIsInNvdXJjZVJvb3QiOiJjb21wb25lbnQ6Ly8vIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IFByb3BUeXBlcyBmcm9tICdwcm9wLXR5cGVzJztcbmltcG9ydCBSZWFjdCBmcm9tICdyZWFjdCc7XG5cbmltcG9ydCBGaWxlQ29udGVudCBmcm9tICcuL0ZpbGVDb250ZW50JztcblxuY29uc3QgRmlsZUF0dGFjaG1lbnQgPSAoe1xuICBhY3Rpdml0eTogeyBhdHRhY2htZW50cyA9IFtdLCBjaGFubmVsRGF0YTogeyBhdHRhY2htZW50U2l6ZXMgPSBbXSB9ID0ge30gfSA9IHt9LFxuICBhdHRhY2htZW50XG59KSA9PiB7XG4gIGNvbnN0IGF0dGFjaG1lbnRJbmRleCA9IGF0dGFjaG1lbnRzLmluZGV4T2YoYXR0YWNobWVudCk7XG4gIGNvbnN0IHNpemUgPSBhdHRhY2htZW50U2l6ZXNbK2F0dGFjaG1lbnRJbmRleF07XG5cbiAgcmV0dXJuIDxGaWxlQ29udGVudCBmaWxlTmFtZT17YXR0YWNobWVudC5uYW1lfSBocmVmPXthdHRhY2htZW50LmNvbnRlbnRVcmx9IHNpemU9e3NpemV9IC8+O1xufTtcblxuRmlsZUF0dGFjaG1lbnQucHJvcFR5cGVzID0ge1xuICBhY3Rpdml0eTogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICBhdHRhY2htZW50OiBQcm9wVHlwZXMuYXJyYXksXG4gICAgY2hhbm5lbERhdGE6IFByb3BUeXBlcy5zaGFwZSh7XG4gICAgICBhdHRhY2htZW50U2l6ZXM6IFByb3BUeXBlcy5hcnJheU9mKFByb3BUeXBlcy5udW1iZXIpXG4gICAgfSlcbiAgfSkuaXNSZXF1aXJlZCxcbiAgYXR0YWNobWVudDogUHJvcFR5cGVzLnNoYXBlKHtcbiAgICBjb250ZW50VXJsOiBQcm9wVHlwZXMuc3RyaW5nLFxuICAgIG5hbWU6IFByb3BUeXBlcy5zdHJpbmcuaXNSZXF1aXJlZFxuICB9KS5pc1JlcXVpcmVkXG59O1xuXG5leHBvcnQgZGVmYXVsdCBGaWxlQXR0YWNobWVudDtcbiJdfQ==
@@ -1 +1 @@
1
- {"version":3,"file":"FileContent.d.ts","sourceRoot":"","sources":["../../src/Attachment/FileContent.tsx"],"names":[],"mappings":"AAGA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AA2DlC,aAAK,gBAAgB,GAAG;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,QAAA,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CAwCrC,CAAC;AAeF,eAAe,WAAW,CAAC"}
1
+ {"version":3,"file":"FileContent.d.ts","sourceRoot":"","sources":["../../src/Attachment/FileContent.tsx"],"names":[],"mappings":"AAGA,OAAc,EAAE,EAAE,EAAE,MAAM,OAAO,CAAC;AAqElC,aAAK,gBAAgB,GAAG;IACtB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,IAAI,CAAC,EAAE,MAAM,CAAC;CACf,CAAC;AAEF,QAAA,MAAM,WAAW,EAAE,EAAE,CAAC,gBAAgB,CA0CrC,CAAC;AAeF,eAAe,WAAW,CAAC"}