@nlabs/gothamui 1.8.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/MIGRATION.md +36 -0
- package/README.md +768 -0
- package/docs/assets/gothamui-app-architecture.svg +159 -0
- package/docs/assets/gothamui-logo.png +0 -0
- package/docs/assets/gothamui-logo.svg +42 -0
- package/docs/render-performance.md +34 -0
- package/lib/actions/GothamActions.d.ts +42 -0
- package/lib/actions/GothamActions.js +67 -0
- package/lib/actions/MarkdownActions.d.ts +4 -0
- package/lib/actions/MarkdownActions.js +48 -0
- package/lib/app.d.ts +1 -0
- package/lib/app.js +198 -0
- package/lib/components/Alert/Alert.d.ts +8 -0
- package/lib/components/Alert/Alert.js +24 -0
- package/lib/components/Alert/Alert.stories.js +59 -0
- package/lib/components/AuthRoute/AuthRoute.d.ts +3 -0
- package/lib/components/AuthRoute/AuthRoute.js +21 -0
- package/lib/components/AuthRoute/AuthRoute.stories.js +45 -0
- package/lib/components/AutocompleteField/AutocompleteField.d.ts +24 -0
- package/lib/components/AutocompleteField/AutocompleteField.js +148 -0
- package/lib/components/AutocompleteField/AutocompleteField.stories.js +62 -0
- package/lib/components/Avatar/Avatar.d.ts +29 -0
- package/lib/components/Avatar/Avatar.js +154 -0
- package/lib/components/Avatar/Avatar.stories.js +105 -0
- package/lib/components/Badge/Badge.d.ts +9 -0
- package/lib/components/Badge/Badge.js +22 -0
- package/lib/components/Badge/Badge.stories.js +53 -0
- package/lib/components/Breadcrumbs/Breadcrumbs.d.ts +19 -0
- package/lib/components/Breadcrumbs/Breadcrumbs.js +74 -0
- package/lib/components/Breadcrumbs/Breadcrumbs.stories.js +95 -0
- package/lib/components/Button/Button.d.ts +25 -0
- package/lib/components/Button/Button.js +157 -0
- package/lib/components/Button/Button.stories.js +119 -0
- package/lib/components/Card/Card.d.ts +8 -0
- package/lib/components/Card/Card.js +39 -0
- package/lib/components/Card/Card.stories.js +60 -0
- package/lib/components/CategoryGrid/CategoryGrid.d.ts +15 -0
- package/lib/components/CategoryGrid/CategoryGrid.js +42 -0
- package/lib/components/CategoryGrid/CategoryGrid.stories.js +35 -0
- package/lib/components/Chat/AudioMessage/AudioMessage.css +1 -0
- package/lib/components/Chat/AudioMessage/AudioMessage.d.ts +3 -0
- package/lib/components/Chat/AudioMessage/AudioMessage.js +28 -0
- package/lib/components/Chat/Avatar/Avatar.css +1 -0
- package/lib/components/Chat/Avatar/Avatar.d.ts +3 -0
- package/lib/components/Chat/Avatar/Avatar.js +72 -0
- package/lib/components/Chat/Button/Button.css +1 -0
- package/lib/components/Chat/Button/Button.d.ts +3 -0
- package/lib/components/Chat/Button/Button.js +37 -0
- package/lib/components/Chat/Chat.stories.js +688 -0
- package/lib/components/Chat/ChatItem/ChatItem.css +1 -0
- package/lib/components/Chat/ChatItem/ChatItem.d.ts +3 -0
- package/lib/components/Chat/ChatItem/ChatItem.js +183 -0
- package/lib/components/Chat/ChatList/ChatList.css +1 -0
- package/lib/components/Chat/ChatList/ChatList.d.ts +3 -0
- package/lib/components/Chat/ChatList/ChatList.js +84 -0
- package/lib/components/Chat/Circle/Circle.d.ts +3 -0
- package/lib/components/Chat/Circle/Circle.js +27 -0
- package/lib/components/Chat/Dropdown/Dropdown.css +1 -0
- package/lib/components/Chat/Dropdown/Dropdown.d.ts +3 -0
- package/lib/components/Chat/Dropdown/Dropdown.js +66 -0
- package/lib/components/Chat/FileMessage/FileMessage.css +1 -0
- package/lib/components/Chat/FileMessage/FileMessage.d.ts +3 -0
- package/lib/components/Chat/FileMessage/FileMessage.js +77 -0
- package/lib/components/Chat/Input/Input.css +1 -0
- package/lib/components/Chat/Input/Input.d.ts +3 -0
- package/lib/components/Chat/Input/Input.js +108 -0
- package/lib/components/Chat/LocationMessage/LocationMessage.css +1 -0
- package/lib/components/Chat/LocationMessage/LocationMessage.d.ts +3 -0
- package/lib/components/Chat/LocationMessage/LocationMessage.js +36 -0
- package/lib/components/Chat/MeetingItem/MeetingItem.css +1 -0
- package/lib/components/Chat/MeetingItem/MeetingItem.d.ts +3 -0
- package/lib/components/Chat/MeetingItem/MeetingItem.js +106 -0
- package/lib/components/Chat/MeetingLink/MeetingLink.css +1 -0
- package/lib/components/Chat/MeetingLink/MeetingLink.d.ts +3 -0
- package/lib/components/Chat/MeetingLink/MeetingLink.js +26 -0
- package/lib/components/Chat/MeetingList/MeetingList.css +1 -0
- package/lib/components/Chat/MeetingList/MeetingList.d.ts +3 -0
- package/lib/components/Chat/MeetingList/MeetingList.js +52 -0
- package/lib/components/Chat/MeetingMessage/MeetingMessage.css +1 -0
- package/lib/components/Chat/MeetingMessage/MeetingMessage.d.ts +3 -0
- package/lib/components/Chat/MeetingMessage/MeetingMessage.js +227 -0
- package/lib/components/Chat/MessageBox/MessageBox.css +1 -0
- package/lib/components/Chat/MessageBox/MessageBox.d.ts +3 -0
- package/lib/components/Chat/MessageBox/MessageBox.js +263 -0
- package/lib/components/Chat/MessageList/MessageList.css +1 -0
- package/lib/components/Chat/MessageList/MessageList.d.ts +2 -0
- package/lib/components/Chat/MessageList/MessageList.js +196 -0
- package/lib/components/Chat/Navbar/Navbar.css +1 -0
- package/lib/components/Chat/Navbar/Navbar.d.ts +3 -0
- package/lib/components/Chat/Navbar/Navbar.js +21 -0
- package/lib/components/Chat/PhotoMessage/PhotoMessage.css +1 -0
- package/lib/components/Chat/PhotoMessage/PhotoMessage.d.ts +3 -0
- package/lib/components/Chat/PhotoMessage/PhotoMessage.js +73 -0
- package/lib/components/Chat/Popup/Popup.css +1 -0
- package/lib/components/Chat/Popup/Popup.d.ts +3 -0
- package/lib/components/Chat/Popup/Popup.js +45 -0
- package/lib/components/Chat/README.md +50 -0
- package/lib/components/Chat/ReplyMessage/ReplyMessage.css +1 -0
- package/lib/components/Chat/ReplyMessage/ReplyMessage.d.ts +3 -0
- package/lib/components/Chat/ReplyMessage/ReplyMessage.js +42 -0
- package/lib/components/Chat/SideBar/SideBar.css +1 -0
- package/lib/components/Chat/SideBar/SideBar.d.ts +3 -0
- package/lib/components/Chat/SideBar/SideBar.js +21 -0
- package/lib/components/Chat/SpotifyMessage/SpotifyMessage.css +1 -0
- package/lib/components/Chat/SpotifyMessage/SpotifyMessage.d.ts +3 -0
- package/lib/components/Chat/SpotifyMessage/SpotifyMessage.js +28 -0
- package/lib/components/Chat/SystemMessage/SystemMessage.css +1 -0
- package/lib/components/Chat/SystemMessage/SystemMessage.d.ts +3 -0
- package/lib/components/Chat/SystemMessage/SystemMessage.js +14 -0
- package/lib/components/Chat/VideoMessage/VideoMessage.css +1 -0
- package/lib/components/Chat/VideoMessage/VideoMessage.d.ts +3 -0
- package/lib/components/Chat/VideoMessage/VideoMessage.js +88 -0
- package/lib/components/Chat/assets/img/leftArrow.svg +6 -0
- package/lib/components/Chat/assets/img/rightArrow.svg +6 -0
- package/lib/components/Chat/index.d.ts +25 -0
- package/lib/components/Chat/index.js +27 -0
- package/lib/components/Chat/type.d.js +52 -0
- package/lib/components/Chat/utils/formatRelativeDate.d.ts +4 -0
- package/lib/components/Chat/utils/formatRelativeDate.js +110 -0
- package/lib/components/Checkbox/Checkbox.d.ts +15 -0
- package/lib/components/Checkbox/Checkbox.js +106 -0
- package/lib/components/Checkbox/Checkbox.stories.js +51 -0
- package/lib/components/ComponentUtils/renderWithAsChild.d.ts +9 -0
- package/lib/components/ComponentUtils/renderWithAsChild.js +27 -0
- package/lib/components/Container/Container.d.ts +7 -0
- package/lib/components/Container/Container.js +16 -0
- package/lib/components/Container/Container.stories.js +36 -0
- package/lib/components/DateField/DateField.d.ts +22 -0
- package/lib/components/DateField/DateField.js +145 -0
- package/lib/components/DateField/DateField.stories.js +125 -0
- package/lib/components/DateField/DatePicker.d.ts +9 -0
- package/lib/components/DateField/DatePicker.js +205 -0
- package/lib/components/DateField/DatePicker.stories.js +33 -0
- package/lib/components/DescriptionList/DescriptionList.d.ts +4 -0
- package/lib/components/DescriptionList/DescriptionList.js +19 -0
- package/lib/components/DescriptionList/DescriptionList.stories.js +34 -0
- package/lib/components/Dialog/Dialog.d.ts +25 -0
- package/lib/components/Dialog/Dialog.js +66 -0
- package/lib/components/Dialog/Dialog.stories.js +88 -0
- package/lib/components/DropUpload/DropUpload.d.ts +37 -0
- package/lib/components/DropUpload/DropUpload.js +323 -0
- package/lib/components/DropUpload/DropUpload.stories.js +48 -0
- package/lib/components/Empty/Empty.d.ts +11 -0
- package/lib/components/Empty/Empty.js +39 -0
- package/lib/components/Empty/Empty.stories.js +52 -0
- package/lib/components/EmptyState/EmptyState.d.ts +15 -0
- package/lib/components/EmptyState/EmptyState.js +44 -0
- package/lib/components/EmptyState/EmptyState.stories.js +36 -0
- package/lib/components/ErrorMessage/ErrorMessage.d.ts +7 -0
- package/lib/components/ErrorMessage/ErrorMessage.js +20 -0
- package/lib/components/ErrorMessage/ErrorMessage.stories.js +25 -0
- package/lib/components/FaqSection/FaqSection.d.ts +14 -0
- package/lib/components/FaqSection/FaqSection.js +37 -0
- package/lib/components/FaqSection/FaqSection.stories.js +31 -0
- package/lib/components/Fieldset/Fieldset.d.ts +21 -0
- package/lib/components/Fieldset/Fieldset.js +39 -0
- package/lib/components/Fieldset/Fieldset.stories.js +42 -0
- package/lib/components/Footer/Footer.d.ts +26 -0
- package/lib/components/Footer/Footer.js +119 -0
- package/lib/components/Footer/Footer.stories.js +184 -0
- package/lib/components/Form/Form.d.ts +42 -0
- package/lib/components/Form/Form.js +198 -0
- package/lib/components/Form/Form.stories.js +65 -0
- package/lib/components/Form/FormContext.d.ts +35 -0
- package/lib/components/Form/FormContext.js +71 -0
- package/lib/components/GothamRoute/GothamRoute.d.ts +0 -0
- package/lib/components/GothamRoute/GothamRoute.js +56 -0
- package/lib/components/GothamRouter/GothamRouter.d.ts +0 -0
- package/lib/components/GothamRouter/GothamRouter.js +52 -0
- package/lib/components/Heading/Heading.d.ts +7 -0
- package/lib/components/Heading/Heading.js +20 -0
- package/lib/components/Heading/Heading.stories.js +51 -0
- package/lib/components/IncentiveGrid/IncentiveGrid.d.ts +15 -0
- package/lib/components/IncentiveGrid/IncentiveGrid.js +34 -0
- package/lib/components/IncentiveGrid/IncentiveGrid.stories.js +41 -0
- package/lib/components/InputField/InputField.d.ts +25 -0
- package/lib/components/InputField/InputField.js +68 -0
- package/lib/components/InputField/InputField.stories.js +58 -0
- package/lib/components/Item/Item.d.ts +25 -0
- package/lib/components/Item/Item.js +79 -0
- package/lib/components/Item/Item.stories.js +94 -0
- package/lib/components/Kbd/Kbd.d.ts +2 -0
- package/lib/components/Kbd/Kbd.js +9 -0
- package/lib/components/Kbd/Kbd.stories.js +24 -0
- package/lib/components/Label/Label.d.ts +11 -0
- package/lib/components/Label/Label.js +23 -0
- package/lib/components/Label/Label.stories.js +38 -0
- package/lib/components/Link/Link.d.ts +7 -0
- package/lib/components/Link/Link.js +13 -0
- package/lib/components/Link/Link.stories.js +28 -0
- package/lib/components/ListContainer/ListContainer.d.ts +8 -0
- package/lib/components/ListContainer/ListContainer.js +14 -0
- package/lib/components/ListContainer/ListContainer.stories.js +45 -0
- package/lib/components/Loader/Loader.d.ts +9 -0
- package/lib/components/Loader/Loader.js +36 -0
- package/lib/components/Loader/Loader.stories.js +94 -0
- package/lib/components/LogoCloud/LogoCloud.d.ts +15 -0
- package/lib/components/LogoCloud/LogoCloud.js +43 -0
- package/lib/components/LogoCloud/LogoCloud.stories.js +28 -0
- package/lib/components/Markdown/Markdown.d.ts +8 -0
- package/lib/components/Markdown/Markdown.js +64 -0
- package/lib/components/Markdown/Markdown.stories.js +34 -0
- package/lib/components/MediaLightbox/MediaLightbox.d.ts +22 -0
- package/lib/components/MediaLightbox/MediaLightbox.js +80 -0
- package/lib/components/MediaObject/MediaObject.d.ts +8 -0
- package/lib/components/MediaObject/MediaObject.js +37 -0
- package/lib/components/MediaObject/MediaObject.stories.js +28 -0
- package/lib/components/Navbar/Navbar.d.ts +43 -0
- package/lib/components/Navbar/Navbar.js +213 -0
- package/lib/components/Navbar/Navbar.stories.js +235 -0
- package/lib/components/NotFound/NotFound.d.ts +34 -0
- package/lib/components/NotFound/NotFound.js +351 -0
- package/lib/components/NotFound/NotFound.stories.js +80 -0
- package/lib/components/Notify/Notify.d.ts +18 -0
- package/lib/components/Notify/Notify.js +178 -0
- package/lib/components/Notify/Notify.stories.js +148 -0
- package/lib/components/Notify/NotifyExample.d.ts +1 -0
- package/lib/components/Notify/NotifyExample.js +174 -0
- package/lib/components/Notify/README.md +103 -0
- package/lib/components/Pagination/Pagination.d.ts +18 -0
- package/lib/components/Pagination/Pagination.js +225 -0
- package/lib/components/Pagination/Pagination.stories.js +69 -0
- package/lib/components/PasswordStrengthMeter/PasswordStrengthMeter.d.ts +12 -0
- package/lib/components/PasswordStrengthMeter/PasswordStrengthMeter.js +88 -0
- package/lib/components/PasswordStrengthMeter/PasswordStrengthMeter.stories.js +16 -0
- package/lib/components/PaymentMethodPanel/PaymentMethodPanel.d.ts +18 -0
- package/lib/components/PaymentMethodPanel/PaymentMethodPanel.js +113 -0
- package/lib/components/PaymentMethodPanel/PaymentMethodPanel.stories.js +88 -0
- package/lib/components/Pricing/Pricing.d.ts +78 -0
- package/lib/components/Pricing/Pricing.js +764 -0
- package/lib/components/Pricing/Pricing.stories.js +146 -0
- package/lib/components/ProductGrid/ProductGrid.d.ts +23 -0
- package/lib/components/ProductGrid/ProductGrid.js +79 -0
- package/lib/components/ProductGrid/ProductGrid.stories.js +50 -0
- package/lib/components/ProgressSteps/ProgressSteps.d.ts +13 -0
- package/lib/components/ProgressSteps/ProgressSteps.js +51 -0
- package/lib/components/ProgressSteps/ProgressSteps.stories.js +35 -0
- package/lib/components/RadioField/RadioField.d.ts +16 -0
- package/lib/components/RadioField/RadioField.js +63 -0
- package/lib/components/RadioField/RadioField.stories.js +140 -0
- package/lib/components/ReviewList/ReviewList.d.ts +15 -0
- package/lib/components/ReviewList/ReviewList.js +51 -0
- package/lib/components/ReviewList/ReviewList.stories.js +29 -0
- package/lib/components/SectionHeader/SectionHeader.d.ts +9 -0
- package/lib/components/SectionHeader/SectionHeader.js +36 -0
- package/lib/components/SectionHeader/SectionHeader.stories.js +35 -0
- package/lib/components/SelectField/SelectField.d.ts +18 -0
- package/lib/components/SelectField/SelectField.js +145 -0
- package/lib/components/SelectField/SelectField.stories.js +155 -0
- package/lib/components/SelectField/SelectOption.d.ts +13 -0
- package/lib/components/SelectField/SelectOption.js +40 -0
- package/lib/components/SelectField/SelectOption.stories.js +40 -0
- package/lib/components/Separator/Separator.d.ts +6 -0
- package/lib/components/Separator/Separator.js +13 -0
- package/lib/components/Separator/Separator.stories.js +70 -0
- package/lib/components/Skeleton/Skeleton.d.ts +2 -0
- package/lib/components/Skeleton/Skeleton.js +9 -0
- package/lib/components/Skeleton/Skeleton.stories.js +24 -0
- package/lib/components/Svg/Svg.d.ts +9 -0
- package/lib/components/Svg/Svg.js +25 -0
- package/lib/components/Svg/Svg.stories.js +34 -0
- package/lib/components/Switch/Switch.d.ts +12 -0
- package/lib/components/Switch/Switch.js +54 -0
- package/lib/components/Switch/Switch.stories.js +61 -0
- package/lib/components/Table/Table.d.ts +18 -0
- package/lib/components/Table/Table.js +99 -0
- package/lib/components/Table/Table.stories.js +79 -0
- package/lib/components/Tabs/Tabs.d.ts +17 -0
- package/lib/components/Tabs/Tabs.js +85 -0
- package/lib/components/Tabs/Tabs.stories.js +45 -0
- package/lib/components/Text/Text.d.ts +5 -0
- package/lib/components/Text/Text.js +24 -0
- package/lib/components/Text/Text.stories.js +35 -0
- package/lib/components/TextField/TextField.d.ts +31 -0
- package/lib/components/TextField/TextField.js +91 -0
- package/lib/components/TextField/TextField.stories.js +158 -0
- package/lib/components/Textarea/Textarea.d.ts +5 -0
- package/lib/components/Textarea/Textarea.js +10 -0
- package/lib/components/Textarea/Textarea.stories.js +32 -0
- package/lib/components/index.d.ts +60 -0
- package/lib/components/index.js +62 -0
- package/lib/config/appConfig.d.ts +5 -0
- package/lib/config/appConfig.js +20 -0
- package/lib/constants/AuthConstants.d.ts +8 -0
- package/lib/constants/AuthConstants.js +9 -0
- package/lib/constants/GothamConstants.d.ts +24 -0
- package/lib/constants/GothamConstants.js +25 -0
- package/lib/constants/MarkdownConstants.d.ts +8 -0
- package/lib/constants/MarkdownConstants.js +9 -0
- package/lib/constants/MessageConstants.d.ts +10 -0
- package/lib/constants/MessageConstants.js +11 -0
- package/lib/docs/analytics.md +231 -0
- package/lib/docs/api-reference.md +364 -0
- package/lib/docs/comparison.md +83 -0
- package/lib/docs/containers.md +11 -0
- package/lib/docs/gettingStarted.md +338 -0
- package/lib/docs/payments.md +79 -0
- package/lib/editor/CodeEditor.d.ts +11 -0
- package/lib/editor/CodeEditor.js +15 -0
- package/lib/editor/CodeEditor.stories.js +24 -0
- package/lib/editor/index.d.ts +1 -0
- package/lib/editor/index.js +3 -0
- package/lib/errors/UserError.d.ts +8 -0
- package/lib/errors/UserError.js +12 -0
- package/lib/examples/OptimizedFormExample.d.ts +1 -0
- package/lib/examples/OptimizedFormExample.js +130 -0
- package/lib/form/index.d.ts +11 -0
- package/lib/form/index.js +13 -0
- package/lib/hooks/useIsMobile.d.ts +1 -0
- package/lib/hooks/useIsMobile.js +12 -0
- package/lib/i18n/index.d.ts +8 -0
- package/lib/i18n/index.js +7 -0
- package/lib/icons/Dual Ring-1s-100px.svg +1 -0
- package/lib/icons/gotham-logo.svg +17 -0
- package/lib/icons/gotham.svg +8 -0
- package/lib/icons/index.d.ts +5 -0
- package/lib/icons/index.js +6 -0
- package/lib/icons/pencil.svg +6 -0
- package/lib/img/arkhamjs-logo.png +0 -0
- package/lib/img/logo.png +0 -0
- package/lib/index.d.ts +25 -0
- package/lib/index.js +25 -0
- package/lib/router/index.d.ts +5 -0
- package/lib/router/index.js +6 -0
- package/lib/stores/GothamAppStore.d.ts +35 -0
- package/lib/stores/GothamAppStore.js +70 -0
- package/lib/stories/Button.d.ts +28 -0
- package/lib/stories/Button.js +22 -0
- package/lib/stories/Header.d.ts +12 -0
- package/lib/stories/Header.js +78 -0
- package/lib/stories/Page.d.ts +3 -0
- package/lib/stories/Page.js +108 -0
- package/lib/stories/assets/accessibility.png +0 -0
- package/lib/stories/assets/accessibility.svg +5 -0
- package/lib/stories/assets/addon-library.png +0 -0
- package/lib/stories/assets/assets.png +0 -0
- package/lib/stories/assets/context.png +0 -0
- package/lib/stories/assets/discord.svg +15 -0
- package/lib/stories/assets/docs.png +0 -0
- package/lib/stories/assets/figma-plugin.png +0 -0
- package/lib/stories/assets/github.svg +3 -0
- package/lib/stories/assets/share.png +0 -0
- package/lib/stories/assets/styling.png +0 -0
- package/lib/stories/assets/testing.png +0 -0
- package/lib/stories/assets/theming.png +0 -0
- package/lib/stories/assets/tutorials.svg +12 -0
- package/lib/stories/assets/youtube.svg +4 -0
- package/lib/stories/button.css +1 -0
- package/lib/stories/header.css +1 -0
- package/lib/stories/page.css +1 -0
- package/lib/styles/chat.css +1 -0
- package/lib/styles/index.css +2 -0
- package/lib/styles/tailwind.css +1 -0
- package/lib/types/assets.d.js +2 -0
- package/lib/types/gotham.d.ts +12 -0
- package/lib/types/gotham.js +3 -0
- package/lib/types/vitest-globals.d.js +3 -0
- package/lib/utils/GothamContext.d.ts +14 -0
- package/lib/utils/GothamContext.js +14 -0
- package/lib/utils/awsRum.d.ts +23 -0
- package/lib/utils/awsRum.js +50 -0
- package/lib/utils/colorUtils.d.ts +20 -0
- package/lib/utils/colorUtils.js +499 -0
- package/lib/utils/contentUtils.d.ts +2 -0
- package/lib/utils/contentUtils.js +18 -0
- package/lib/utils/i18nUtil.d.ts +1 -0
- package/lib/utils/i18nUtil.js +7 -0
- package/lib/utils/imageUtils.d.ts +5 -0
- package/lib/utils/imageUtils.js +48 -0
- package/lib/utils/interactionAnalytics.d.ts +10 -0
- package/lib/utils/interactionAnalytics.js +142 -0
- package/lib/utils/navEventQueue.d.ts +6 -0
- package/lib/utils/navEventQueue.js +50 -0
- package/lib/utils/refUtils.d.ts +2 -0
- package/lib/utils/refUtils.js +11 -0
- package/lib/utils/routeUtils.d.ts +12 -0
- package/lib/utils/routeUtils.js +109 -0
- package/lib/utils/sizeUtils.d.ts +5 -0
- package/lib/utils/sizeUtils.js +6 -0
- package/lib/utils/storyInteractions.d.ts +6 -0
- package/lib/utils/storyInteractions.js +45 -0
- package/lib/utils/storyUtils.d.ts +1 -0
- package/lib/utils/storyUtils.js +11 -0
- package/lib/utils/testUtils.d.ts +3 -0
- package/lib/utils/testUtils.js +56 -0
- package/lib/utils/timer.d.ts +21 -0
- package/lib/utils/timer.js +38 -0
- package/lib/utils/useBreakpoint.d.ts +6 -0
- package/lib/utils/useBreakpoint.js +56 -0
- package/lib/utils/viewPerformance.d.ts +34 -0
- package/lib/utils/viewPerformance.js +103 -0
- package/lib/utils/viewUtils.d.ts +9 -0
- package/lib/utils/viewUtils.js +44 -0
- package/lib/views/AuthSignInView/AuthSignInView.d.ts +20 -0
- package/lib/views/AuthSignInView/AuthSignInView.js +107 -0
- package/lib/views/AuthSignInView/AuthSignInView.stories.js +29 -0
- package/lib/views/AuthSignUpView/AuthSignUpView.d.ts +21 -0
- package/lib/views/AuthSignUpView/AuthSignUpView.js +146 -0
- package/lib/views/AuthSignUpView/AuthSignUpView.stories.js +30 -0
- package/lib/views/AuthView/AuthView.d.ts +16 -0
- package/lib/views/AuthView/AuthView.js +60 -0
- package/lib/views/AuthView/AuthView.stories.js +34 -0
- package/lib/views/DefaultView/DefaultView.d.ts +5 -0
- package/lib/views/DefaultView/DefaultView.js +134 -0
- package/lib/views/Gotham/Gotham.d.ts +44 -0
- package/lib/views/Gotham/Gotham.js +24 -0
- package/lib/views/Gotham/Gotham.stories.js +31 -0
- package/lib/views/Gotham/GothamListeners.d.ts +0 -0
- package/lib/views/Gotham/GothamListeners.js +2 -0
- package/lib/views/Gotham/GothamProvider.d.ts +43 -0
- package/lib/views/Gotham/GothamProvider.js +217 -0
- package/lib/views/Gotham/GothamRoot.d.ts +6 -0
- package/lib/views/Gotham/GothamRoot.js +69 -0
- package/lib/views/HomeView/HomeView.d.ts +10 -0
- package/lib/views/HomeView/HomeView.js +134 -0
- package/lib/views/LoaderView/LoaderView.d.ts +8 -0
- package/lib/views/LoaderView/LoaderView.js +30 -0
- package/lib/views/MenuView/MenuView.d.ts +13 -0
- package/lib/views/MenuView/MenuView.js +305 -0
- package/lib/views/NotFoundView/NotFoundView.d.ts +2 -0
- package/lib/views/NotFoundView/NotFoundView.js +12 -0
- package/lib/views/index.d.ts +11 -0
- package/lib/views/index.js +13 -0
- package/package.json +202 -0
- package/styles/tailwind.css +1 -0
|
@@ -0,0 +1,688 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import React, { useRef } from 'react';
|
|
3
|
+
import { Phone, Video } from 'lucide-react';
|
|
4
|
+
import { interactWithCanvas } from '../../utils/storyInteractions.js';
|
|
5
|
+
import { AudioMessage, Avatar, Button, ChatItem, ChatList, Circle, Dropdown, FileMessage, Input, LocationMessage, MeetingItem, MeetingLink, MeetingList, MeetingMessage, MessageBox, MessageList, Navbar, PhotoMessage, Popup, ReplyMessage, SideBar, SpotifyMessage, SystemMessage, VideoMessage } from './index.js';
|
|
6
|
+
const noop = ()=>undefined;
|
|
7
|
+
const avatar = 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="96" height="96"><rect width="96" height="96" fill="%233979aa"/><text x="48" y="56" text-anchor="middle" fill="white" font-size="28">G</text></svg>';
|
|
8
|
+
const media = 'data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="320" height="180"><rect width="320" height="180" fill="%23e5e7eb"/><text x="160" y="96" text-anchor="middle" fill="%23111827" font-size="24">Preview</text></svg>';
|
|
9
|
+
const baseMessage = {
|
|
10
|
+
avatar,
|
|
11
|
+
focus: false,
|
|
12
|
+
forwarded: false,
|
|
13
|
+
id: 'message-1',
|
|
14
|
+
notch: true,
|
|
15
|
+
position: 'left',
|
|
16
|
+
removeButton: false,
|
|
17
|
+
replyButton: true,
|
|
18
|
+
retracted: false,
|
|
19
|
+
status: 'sent',
|
|
20
|
+
text: 'Storybook message',
|
|
21
|
+
title: 'Gotham',
|
|
22
|
+
titleColor: '#3979aa',
|
|
23
|
+
type: 'text'
|
|
24
|
+
};
|
|
25
|
+
const chatItem = {
|
|
26
|
+
avatar,
|
|
27
|
+
dateString: 'Now',
|
|
28
|
+
id: 'chat-1',
|
|
29
|
+
muted: false,
|
|
30
|
+
showMute: true,
|
|
31
|
+
showVideoCall: true,
|
|
32
|
+
statusColor: '#22c55e',
|
|
33
|
+
subtitle: 'Stories now cover the chat components.',
|
|
34
|
+
title: 'GothamUI'
|
|
35
|
+
};
|
|
36
|
+
const meetingItem = {
|
|
37
|
+
avatars: [
|
|
38
|
+
{
|
|
39
|
+
alt: 'Bruce',
|
|
40
|
+
src: avatar
|
|
41
|
+
},
|
|
42
|
+
{
|
|
43
|
+
alt: 'Selina',
|
|
44
|
+
src: avatar
|
|
45
|
+
}
|
|
46
|
+
],
|
|
47
|
+
dateString: '10:30 AM',
|
|
48
|
+
id: 'meeting-1',
|
|
49
|
+
subject: 'Storybook coverage review'
|
|
50
|
+
};
|
|
51
|
+
const controls = {
|
|
52
|
+
className: {
|
|
53
|
+
control: 'text'
|
|
54
|
+
},
|
|
55
|
+
text: {
|
|
56
|
+
control: 'text'
|
|
57
|
+
}
|
|
58
|
+
};
|
|
59
|
+
const meta = {
|
|
60
|
+
parameters: {
|
|
61
|
+
layout: 'centered'
|
|
62
|
+
},
|
|
63
|
+
title: 'Components/Chat'
|
|
64
|
+
};
|
|
65
|
+
export default meta;
|
|
66
|
+
export const ChatAvatar = {
|
|
67
|
+
argTypes: {
|
|
68
|
+
alt: {
|
|
69
|
+
control: 'text'
|
|
70
|
+
},
|
|
71
|
+
size: {
|
|
72
|
+
control: 'select',
|
|
73
|
+
options: [
|
|
74
|
+
'xsmall',
|
|
75
|
+
'small',
|
|
76
|
+
'medium',
|
|
77
|
+
'large',
|
|
78
|
+
'xlarge'
|
|
79
|
+
]
|
|
80
|
+
},
|
|
81
|
+
src: {
|
|
82
|
+
control: 'text'
|
|
83
|
+
},
|
|
84
|
+
type: {
|
|
85
|
+
control: 'select',
|
|
86
|
+
options: [
|
|
87
|
+
'default',
|
|
88
|
+
'circle'
|
|
89
|
+
]
|
|
90
|
+
}
|
|
91
|
+
},
|
|
92
|
+
args: {
|
|
93
|
+
alt: 'Gotham avatar',
|
|
94
|
+
size: 'large',
|
|
95
|
+
src: avatar,
|
|
96
|
+
type: 'circle'
|
|
97
|
+
},
|
|
98
|
+
play: interactWithCanvas,
|
|
99
|
+
render: (args)=>/*#__PURE__*/ _jsx(Avatar, {
|
|
100
|
+
...args
|
|
101
|
+
})
|
|
102
|
+
};
|
|
103
|
+
export const ChatButton = {
|
|
104
|
+
argTypes: {
|
|
105
|
+
backgroundColor: {
|
|
106
|
+
control: 'color'
|
|
107
|
+
},
|
|
108
|
+
color: {
|
|
109
|
+
control: 'color'
|
|
110
|
+
},
|
|
111
|
+
disabled: {
|
|
112
|
+
control: 'boolean'
|
|
113
|
+
},
|
|
114
|
+
text: {
|
|
115
|
+
control: 'text'
|
|
116
|
+
}
|
|
117
|
+
},
|
|
118
|
+
args: {
|
|
119
|
+
backgroundColor: '#3979aa',
|
|
120
|
+
color: '#ffffff',
|
|
121
|
+
disabled: false,
|
|
122
|
+
text: 'Send'
|
|
123
|
+
},
|
|
124
|
+
play: interactWithCanvas,
|
|
125
|
+
render: (args)=>/*#__PURE__*/ _jsx(Button, {
|
|
126
|
+
...args
|
|
127
|
+
})
|
|
128
|
+
};
|
|
129
|
+
export const ChatInput = {
|
|
130
|
+
argTypes: {
|
|
131
|
+
autofocus: {
|
|
132
|
+
control: 'boolean'
|
|
133
|
+
},
|
|
134
|
+
multiline: {
|
|
135
|
+
control: 'boolean'
|
|
136
|
+
},
|
|
137
|
+
placeholder: {
|
|
138
|
+
control: 'text'
|
|
139
|
+
},
|
|
140
|
+
value: {
|
|
141
|
+
control: 'text'
|
|
142
|
+
}
|
|
143
|
+
},
|
|
144
|
+
args: {
|
|
145
|
+
autofocus: false,
|
|
146
|
+
maxHeight: 140,
|
|
147
|
+
multiline: false,
|
|
148
|
+
placeholder: 'Type a message',
|
|
149
|
+
value: ''
|
|
150
|
+
},
|
|
151
|
+
play: interactWithCanvas,
|
|
152
|
+
render: (args)=>/*#__PURE__*/ _jsx(Input, {
|
|
153
|
+
...args
|
|
154
|
+
})
|
|
155
|
+
};
|
|
156
|
+
export const ChatNavbar = {
|
|
157
|
+
argTypes: {
|
|
158
|
+
type: {
|
|
159
|
+
control: 'select',
|
|
160
|
+
options: [
|
|
161
|
+
'light',
|
|
162
|
+
'dark'
|
|
163
|
+
]
|
|
164
|
+
}
|
|
165
|
+
},
|
|
166
|
+
args: {
|
|
167
|
+
center: 'Messages',
|
|
168
|
+
left: 'GothamUI',
|
|
169
|
+
right: /*#__PURE__*/ _jsx(Video, {
|
|
170
|
+
size: 18
|
|
171
|
+
}),
|
|
172
|
+
type: 'light'
|
|
173
|
+
},
|
|
174
|
+
play: interactWithCanvas,
|
|
175
|
+
render: (args)=>/*#__PURE__*/ _jsx(Navbar, {
|
|
176
|
+
...args
|
|
177
|
+
})
|
|
178
|
+
};
|
|
179
|
+
export const ChatSideBar = {
|
|
180
|
+
argTypes: {
|
|
181
|
+
type: {
|
|
182
|
+
control: 'select',
|
|
183
|
+
options: [
|
|
184
|
+
'light',
|
|
185
|
+
'dark'
|
|
186
|
+
]
|
|
187
|
+
}
|
|
188
|
+
},
|
|
189
|
+
args: {
|
|
190
|
+
data: {
|
|
191
|
+
bottom: 'Settings',
|
|
192
|
+
center: 'Threads',
|
|
193
|
+
top: 'Inbox'
|
|
194
|
+
},
|
|
195
|
+
type: 'dark'
|
|
196
|
+
},
|
|
197
|
+
play: interactWithCanvas,
|
|
198
|
+
render: (args)=>/*#__PURE__*/ _jsx(SideBar, {
|
|
199
|
+
...args
|
|
200
|
+
})
|
|
201
|
+
};
|
|
202
|
+
export const ChatDropdown = {
|
|
203
|
+
argTypes: {
|
|
204
|
+
animationPosition: {
|
|
205
|
+
control: 'select',
|
|
206
|
+
options: [
|
|
207
|
+
'nortwest',
|
|
208
|
+
'norteast',
|
|
209
|
+
'southwest',
|
|
210
|
+
'southeast'
|
|
211
|
+
]
|
|
212
|
+
},
|
|
213
|
+
title: {
|
|
214
|
+
control: 'text'
|
|
215
|
+
}
|
|
216
|
+
},
|
|
217
|
+
args: {
|
|
218
|
+
animationPosition: 'nortwest',
|
|
219
|
+
buttonProps: {
|
|
220
|
+
text: 'Actions'
|
|
221
|
+
},
|
|
222
|
+
items: [
|
|
223
|
+
'Archive',
|
|
224
|
+
'Mute',
|
|
225
|
+
'Delete'
|
|
226
|
+
],
|
|
227
|
+
onSelect: noop,
|
|
228
|
+
title: 'Conversation'
|
|
229
|
+
},
|
|
230
|
+
play: interactWithCanvas,
|
|
231
|
+
render: (args)=>/*#__PURE__*/ _jsx(Dropdown, {
|
|
232
|
+
...args
|
|
233
|
+
})
|
|
234
|
+
};
|
|
235
|
+
export const ChatPopup = {
|
|
236
|
+
argTypes: {
|
|
237
|
+
popup: {
|
|
238
|
+
control: 'object'
|
|
239
|
+
},
|
|
240
|
+
type: {
|
|
241
|
+
control: 'select',
|
|
242
|
+
options: [
|
|
243
|
+
'default',
|
|
244
|
+
'dark'
|
|
245
|
+
]
|
|
246
|
+
}
|
|
247
|
+
},
|
|
248
|
+
args: {
|
|
249
|
+
popup: {
|
|
250
|
+
footerButtons: [
|
|
251
|
+
{
|
|
252
|
+
text: 'Close',
|
|
253
|
+
onClick: noop
|
|
254
|
+
}
|
|
255
|
+
],
|
|
256
|
+
header: 'Confirm action',
|
|
257
|
+
show: true,
|
|
258
|
+
text: 'This popup is open for interaction coverage.'
|
|
259
|
+
},
|
|
260
|
+
type: 'default'
|
|
261
|
+
},
|
|
262
|
+
play: interactWithCanvas,
|
|
263
|
+
render: (args)=>/*#__PURE__*/ _jsx(Popup, {
|
|
264
|
+
...args
|
|
265
|
+
})
|
|
266
|
+
};
|
|
267
|
+
export const ChatItemStory = {
|
|
268
|
+
argTypes: {
|
|
269
|
+
muted: {
|
|
270
|
+
control: 'boolean'
|
|
271
|
+
},
|
|
272
|
+
subtitle: {
|
|
273
|
+
control: 'text'
|
|
274
|
+
},
|
|
275
|
+
title: {
|
|
276
|
+
control: 'text'
|
|
277
|
+
},
|
|
278
|
+
unread: {
|
|
279
|
+
control: 'number'
|
|
280
|
+
}
|
|
281
|
+
},
|
|
282
|
+
args: chatItem,
|
|
283
|
+
play: interactWithCanvas,
|
|
284
|
+
render: (args)=>/*#__PURE__*/ _jsx(ChatItem, {
|
|
285
|
+
...args
|
|
286
|
+
})
|
|
287
|
+
};
|
|
288
|
+
export const ChatListStory = {
|
|
289
|
+
argTypes: {
|
|
290
|
+
dataSource: {
|
|
291
|
+
control: 'object'
|
|
292
|
+
}
|
|
293
|
+
},
|
|
294
|
+
args: {
|
|
295
|
+
dataSource: [
|
|
296
|
+
chatItem,
|
|
297
|
+
{
|
|
298
|
+
...chatItem,
|
|
299
|
+
id: 'chat-2',
|
|
300
|
+
subtitle: 'A second conversation',
|
|
301
|
+
title: 'Design Systems',
|
|
302
|
+
unread: 2
|
|
303
|
+
}
|
|
304
|
+
],
|
|
305
|
+
id: 'chat-list',
|
|
306
|
+
lazyLoadingImage: avatar
|
|
307
|
+
},
|
|
308
|
+
play: interactWithCanvas,
|
|
309
|
+
render: (args)=>/*#__PURE__*/ _jsx(ChatList, {
|
|
310
|
+
...args
|
|
311
|
+
})
|
|
312
|
+
};
|
|
313
|
+
export const ProgressCircle = {
|
|
314
|
+
argTypes: {
|
|
315
|
+
animate: {
|
|
316
|
+
control: {
|
|
317
|
+
max: 1,
|
|
318
|
+
min: 0,
|
|
319
|
+
step: 0.1,
|
|
320
|
+
type: 'range'
|
|
321
|
+
}
|
|
322
|
+
},
|
|
323
|
+
progressOptions: {
|
|
324
|
+
control: 'object'
|
|
325
|
+
}
|
|
326
|
+
},
|
|
327
|
+
args: {
|
|
328
|
+
animate: 0.65,
|
|
329
|
+
progressOptions: {
|
|
330
|
+
color: '#3979aa',
|
|
331
|
+
strokeWidth: 6,
|
|
332
|
+
trailColor: '#d1d5db'
|
|
333
|
+
}
|
|
334
|
+
},
|
|
335
|
+
play: interactWithCanvas,
|
|
336
|
+
render: (args)=>/*#__PURE__*/ _jsx(Circle, {
|
|
337
|
+
...args
|
|
338
|
+
})
|
|
339
|
+
};
|
|
340
|
+
export const ReplyMessageStory = {
|
|
341
|
+
argTypes: controls,
|
|
342
|
+
args: {
|
|
343
|
+
...baseMessage,
|
|
344
|
+
message: 'Previous message content',
|
|
345
|
+
photoURL: '',
|
|
346
|
+
title: 'Bruce Wayne'
|
|
347
|
+
},
|
|
348
|
+
play: interactWithCanvas,
|
|
349
|
+
render: (args)=>/*#__PURE__*/ _jsx(ReplyMessage, {
|
|
350
|
+
...args
|
|
351
|
+
})
|
|
352
|
+
};
|
|
353
|
+
export const SystemMessageStory = {
|
|
354
|
+
argTypes: controls,
|
|
355
|
+
args: {
|
|
356
|
+
...baseMessage,
|
|
357
|
+
text: 'Today'
|
|
358
|
+
},
|
|
359
|
+
play: interactWithCanvas,
|
|
360
|
+
render: (args)=>/*#__PURE__*/ _jsx(SystemMessage, {
|
|
361
|
+
...args
|
|
362
|
+
})
|
|
363
|
+
};
|
|
364
|
+
export const PhotoMessageStory = {
|
|
365
|
+
argTypes: {
|
|
366
|
+
data: {
|
|
367
|
+
control: 'object'
|
|
368
|
+
},
|
|
369
|
+
text: {
|
|
370
|
+
control: 'text'
|
|
371
|
+
}
|
|
372
|
+
},
|
|
373
|
+
args: {
|
|
374
|
+
...baseMessage,
|
|
375
|
+
data: {
|
|
376
|
+
alt: 'Preview',
|
|
377
|
+
height: 180,
|
|
378
|
+
status: {
|
|
379
|
+
download: true
|
|
380
|
+
},
|
|
381
|
+
uri: media,
|
|
382
|
+
width: 320
|
|
383
|
+
},
|
|
384
|
+
text: 'Photo attachment',
|
|
385
|
+
type: 'photo'
|
|
386
|
+
},
|
|
387
|
+
play: interactWithCanvas,
|
|
388
|
+
render: (args)=>/*#__PURE__*/ _jsx(PhotoMessage, {
|
|
389
|
+
...args
|
|
390
|
+
})
|
|
391
|
+
};
|
|
392
|
+
export const VideoMessageStory = {
|
|
393
|
+
argTypes: {
|
|
394
|
+
controlsList: {
|
|
395
|
+
control: 'text'
|
|
396
|
+
},
|
|
397
|
+
data: {
|
|
398
|
+
control: 'object'
|
|
399
|
+
},
|
|
400
|
+
text: {
|
|
401
|
+
control: 'text'
|
|
402
|
+
}
|
|
403
|
+
},
|
|
404
|
+
args: {
|
|
405
|
+
...baseMessage,
|
|
406
|
+
controlsList: 'nodownload',
|
|
407
|
+
data: {
|
|
408
|
+
alt: 'Video preview',
|
|
409
|
+
height: 180,
|
|
410
|
+
status: {
|
|
411
|
+
download: false
|
|
412
|
+
},
|
|
413
|
+
uri: media,
|
|
414
|
+
width: 320
|
|
415
|
+
},
|
|
416
|
+
text: 'Video attachment',
|
|
417
|
+
type: 'video'
|
|
418
|
+
},
|
|
419
|
+
play: interactWithCanvas,
|
|
420
|
+
render: (args)=>/*#__PURE__*/ _jsx(VideoMessage, {
|
|
421
|
+
...args
|
|
422
|
+
})
|
|
423
|
+
};
|
|
424
|
+
export const AudioMessageStory = {
|
|
425
|
+
argTypes: {
|
|
426
|
+
data: {
|
|
427
|
+
control: 'object'
|
|
428
|
+
},
|
|
429
|
+
text: {
|
|
430
|
+
control: 'text'
|
|
431
|
+
}
|
|
432
|
+
},
|
|
433
|
+
args: {
|
|
434
|
+
...baseMessage,
|
|
435
|
+
data: {
|
|
436
|
+
audioType: 'audio/mp3',
|
|
437
|
+
audioURL: ''
|
|
438
|
+
},
|
|
439
|
+
text: 'Audio note',
|
|
440
|
+
type: 'audio'
|
|
441
|
+
},
|
|
442
|
+
play: interactWithCanvas,
|
|
443
|
+
render: (args)=>/*#__PURE__*/ _jsx(AudioMessage, {
|
|
444
|
+
...args
|
|
445
|
+
})
|
|
446
|
+
};
|
|
447
|
+
export const FileMessageStory = {
|
|
448
|
+
argTypes: {
|
|
449
|
+
data: {
|
|
450
|
+
control: 'object'
|
|
451
|
+
},
|
|
452
|
+
text: {
|
|
453
|
+
control: 'text'
|
|
454
|
+
}
|
|
455
|
+
},
|
|
456
|
+
args: {
|
|
457
|
+
...baseMessage,
|
|
458
|
+
data: {
|
|
459
|
+
name: 'release-notes.pdf',
|
|
460
|
+
size: '128 KB',
|
|
461
|
+
status: {
|
|
462
|
+
download: false
|
|
463
|
+
}
|
|
464
|
+
},
|
|
465
|
+
text: 'release-notes.pdf',
|
|
466
|
+
type: 'file'
|
|
467
|
+
},
|
|
468
|
+
play: interactWithCanvas,
|
|
469
|
+
render: (args)=>/*#__PURE__*/ _jsx(FileMessage, {
|
|
470
|
+
...args
|
|
471
|
+
})
|
|
472
|
+
};
|
|
473
|
+
export const LocationMessageStory = {
|
|
474
|
+
argTypes: {
|
|
475
|
+
data: {
|
|
476
|
+
control: 'object'
|
|
477
|
+
},
|
|
478
|
+
text: {
|
|
479
|
+
control: 'text'
|
|
480
|
+
},
|
|
481
|
+
zoom: {
|
|
482
|
+
control: 'text'
|
|
483
|
+
}
|
|
484
|
+
},
|
|
485
|
+
args: {
|
|
486
|
+
...baseMessage,
|
|
487
|
+
apiKey: 'demo',
|
|
488
|
+
data: {
|
|
489
|
+
latitude: '40.7128',
|
|
490
|
+
longitude: '-74.0060',
|
|
491
|
+
staticURL: media
|
|
492
|
+
},
|
|
493
|
+
href: '#map',
|
|
494
|
+
markerColor: 'blue',
|
|
495
|
+
text: 'Gotham City',
|
|
496
|
+
type: 'location',
|
|
497
|
+
zoom: '13'
|
|
498
|
+
},
|
|
499
|
+
play: interactWithCanvas,
|
|
500
|
+
render: (args)=>/*#__PURE__*/ _jsx(LocationMessage, {
|
|
501
|
+
...args
|
|
502
|
+
})
|
|
503
|
+
};
|
|
504
|
+
export const SpotifyMessageStory = {
|
|
505
|
+
argTypes: {
|
|
506
|
+
height: {
|
|
507
|
+
control: 'number'
|
|
508
|
+
},
|
|
509
|
+
uri: {
|
|
510
|
+
control: 'text'
|
|
511
|
+
},
|
|
512
|
+
width: {
|
|
513
|
+
control: 'number'
|
|
514
|
+
}
|
|
515
|
+
},
|
|
516
|
+
args: {
|
|
517
|
+
...baseMessage,
|
|
518
|
+
height: 120,
|
|
519
|
+
type: 'spotify',
|
|
520
|
+
uri: 'track/11dFghVXANMlKmJXsNCbNl',
|
|
521
|
+
width: 300
|
|
522
|
+
},
|
|
523
|
+
play: interactWithCanvas,
|
|
524
|
+
render: (args)=>/*#__PURE__*/ _jsx(SpotifyMessage, {
|
|
525
|
+
...args
|
|
526
|
+
})
|
|
527
|
+
};
|
|
528
|
+
export const MeetingItemStory = {
|
|
529
|
+
argTypes: {
|
|
530
|
+
subject: {
|
|
531
|
+
control: 'text'
|
|
532
|
+
},
|
|
533
|
+
subjectLimit: {
|
|
534
|
+
control: 'number'
|
|
535
|
+
}
|
|
536
|
+
},
|
|
537
|
+
args: meetingItem,
|
|
538
|
+
play: interactWithCanvas,
|
|
539
|
+
render: (args)=>/*#__PURE__*/ _jsx(MeetingItem, {
|
|
540
|
+
...args
|
|
541
|
+
})
|
|
542
|
+
};
|
|
543
|
+
export const MeetingListStory = {
|
|
544
|
+
argTypes: {
|
|
545
|
+
dataSource: {
|
|
546
|
+
control: 'object'
|
|
547
|
+
}
|
|
548
|
+
},
|
|
549
|
+
args: {
|
|
550
|
+
dataSource: [
|
|
551
|
+
meetingItem,
|
|
552
|
+
{
|
|
553
|
+
...meetingItem,
|
|
554
|
+
id: 'meeting-2',
|
|
555
|
+
subject: 'Design review'
|
|
556
|
+
}
|
|
557
|
+
],
|
|
558
|
+
lazyLoadingImage: avatar
|
|
559
|
+
},
|
|
560
|
+
play: interactWithCanvas,
|
|
561
|
+
render: (args)=>/*#__PURE__*/ _jsx(MeetingList, {
|
|
562
|
+
...args
|
|
563
|
+
})
|
|
564
|
+
};
|
|
565
|
+
export const MeetingLinkStory = {
|
|
566
|
+
argTypes: {
|
|
567
|
+
meetingID: {
|
|
568
|
+
control: 'text'
|
|
569
|
+
},
|
|
570
|
+
text: {
|
|
571
|
+
control: 'text'
|
|
572
|
+
}
|
|
573
|
+
},
|
|
574
|
+
args: {
|
|
575
|
+
...baseMessage,
|
|
576
|
+
actionButtons: [
|
|
577
|
+
{
|
|
578
|
+
Component: ()=>/*#__PURE__*/ _jsx(Phone, {
|
|
579
|
+
size: 16
|
|
580
|
+
}),
|
|
581
|
+
onClickButton: noop
|
|
582
|
+
}
|
|
583
|
+
],
|
|
584
|
+
meetingID: 'daily-sync',
|
|
585
|
+
text: 'Join daily sync',
|
|
586
|
+
type: 'meetingLink'
|
|
587
|
+
},
|
|
588
|
+
play: interactWithCanvas,
|
|
589
|
+
render: (args)=>/*#__PURE__*/ _jsx(MeetingLink, {
|
|
590
|
+
...args
|
|
591
|
+
})
|
|
592
|
+
};
|
|
593
|
+
export const MeetingMessageStory = {
|
|
594
|
+
argTypes: {
|
|
595
|
+
participants: {
|
|
596
|
+
control: 'object'
|
|
597
|
+
},
|
|
598
|
+
subject: {
|
|
599
|
+
control: 'text'
|
|
600
|
+
}
|
|
601
|
+
},
|
|
602
|
+
args: {
|
|
603
|
+
...baseMessage,
|
|
604
|
+
dataSource: [],
|
|
605
|
+
participants: [
|
|
606
|
+
{
|
|
607
|
+
id: 1,
|
|
608
|
+
title: 'Bruce'
|
|
609
|
+
},
|
|
610
|
+
{
|
|
611
|
+
id: 2,
|
|
612
|
+
title: 'Selina'
|
|
613
|
+
}
|
|
614
|
+
],
|
|
615
|
+
subject: 'Component review',
|
|
616
|
+
type: 'meeting'
|
|
617
|
+
},
|
|
618
|
+
play: interactWithCanvas,
|
|
619
|
+
render: (args)=>/*#__PURE__*/ _jsx(MeetingMessage, {
|
|
620
|
+
...args
|
|
621
|
+
})
|
|
622
|
+
};
|
|
623
|
+
export const MessageBoxStory = {
|
|
624
|
+
argTypes: {
|
|
625
|
+
position: {
|
|
626
|
+
control: 'select',
|
|
627
|
+
options: [
|
|
628
|
+
'left',
|
|
629
|
+
'right'
|
|
630
|
+
]
|
|
631
|
+
},
|
|
632
|
+
text: {
|
|
633
|
+
control: 'text'
|
|
634
|
+
},
|
|
635
|
+
type: {
|
|
636
|
+
control: 'select',
|
|
637
|
+
options: [
|
|
638
|
+
'text',
|
|
639
|
+
'photo',
|
|
640
|
+
'file',
|
|
641
|
+
'location',
|
|
642
|
+
'audio',
|
|
643
|
+
'video',
|
|
644
|
+
'spotify',
|
|
645
|
+
'meeting',
|
|
646
|
+
'meetingLink'
|
|
647
|
+
]
|
|
648
|
+
}
|
|
649
|
+
},
|
|
650
|
+
args: baseMessage,
|
|
651
|
+
play: interactWithCanvas,
|
|
652
|
+
render: (args)=>/*#__PURE__*/ _jsx(MessageBox, {
|
|
653
|
+
...args
|
|
654
|
+
})
|
|
655
|
+
};
|
|
656
|
+
export const MessageListStory = {
|
|
657
|
+
argTypes: {
|
|
658
|
+
dataSource: {
|
|
659
|
+
control: 'object'
|
|
660
|
+
},
|
|
661
|
+
lockable: {
|
|
662
|
+
control: 'boolean'
|
|
663
|
+
}
|
|
664
|
+
},
|
|
665
|
+
args: {
|
|
666
|
+
dataSource: [
|
|
667
|
+
baseMessage,
|
|
668
|
+
{
|
|
669
|
+
...baseMessage,
|
|
670
|
+
id: 'message-2',
|
|
671
|
+
position: 'right',
|
|
672
|
+
text: 'Reply from Storybook'
|
|
673
|
+
}
|
|
674
|
+
],
|
|
675
|
+
lockable: false,
|
|
676
|
+
referance: undefined
|
|
677
|
+
},
|
|
678
|
+
play: interactWithCanvas,
|
|
679
|
+
render: (args)=>{
|
|
680
|
+
const ref = useRef(null);
|
|
681
|
+
return /*#__PURE__*/ _jsx(MessageList, {
|
|
682
|
+
...args,
|
|
683
|
+
referance: ref
|
|
684
|
+
});
|
|
685
|
+
}
|
|
686
|
+
};
|
|
687
|
+
|
|
688
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL0NoYXQvQ2hhdC5zdG9yaWVzLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgUmVhY3QsIHt1c2VSZWZ9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB7UGhvbmUsIFZpZGVvfSBmcm9tICdsdWNpZGUtcmVhY3QnO1xuaW1wb3J0IHtpbnRlcmFjdFdpdGhDYW52YXN9IGZyb20gJy4uLy4uL3V0aWxzL3N0b3J5SW50ZXJhY3Rpb25zLmpzJztcbmltcG9ydCB7XG4gIEF1ZGlvTWVzc2FnZSxcbiAgQXZhdGFyLFxuICBCdXR0b24sXG4gIENoYXRJdGVtLFxuICBDaGF0TGlzdCxcbiAgQ2lyY2xlLFxuICBEcm9wZG93bixcbiAgRmlsZU1lc3NhZ2UsXG4gIElucHV0LFxuICBMb2NhdGlvbk1lc3NhZ2UsXG4gIE1lZXRpbmdJdGVtLFxuICBNZWV0aW5nTGluayxcbiAgTWVldGluZ0xpc3QsXG4gIE1lZXRpbmdNZXNzYWdlLFxuICBNZXNzYWdlQm94LFxuICBNZXNzYWdlTGlzdCxcbiAgTmF2YmFyLFxuICBQaG90b01lc3NhZ2UsXG4gIFBvcHVwLFxuICBSZXBseU1lc3NhZ2UsXG4gIFNpZGVCYXIsXG4gIFNwb3RpZnlNZXNzYWdlLFxuICBTeXN0ZW1NZXNzYWdlLFxuICBWaWRlb01lc3NhZ2Vcbn0gZnJvbSAnLi9pbmRleC5qcyc7XG5cbmltcG9ydCB0eXBlIHtNZXRhLCBTdG9yeU9ian0gZnJvbSAnQG5sYWJzL2xleC9zdG9yeWJvb2snO1xuXG5jb25zdCBub29wID0gKCkgPT4gdW5kZWZpbmVkO1xuY29uc3QgYXZhdGFyID0gJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiOTZcIiBoZWlnaHQ9XCI5NlwiPjxyZWN0IHdpZHRoPVwiOTZcIiBoZWlnaHQ9XCI5NlwiIGZpbGw9XCIlMjMzOTc5YWFcIi8+PHRleHQgeD1cIjQ4XCIgeT1cIjU2XCIgdGV4dC1hbmNob3I9XCJtaWRkbGVcIiBmaWxsPVwid2hpdGVcIiBmb250LXNpemU9XCIyOFwiPkc8L3RleHQ+PC9zdmc+JztcbmNvbnN0IG1lZGlhID0gJ2RhdGE6aW1hZ2Uvc3ZnK3htbDt1dGY4LDxzdmcgeG1sbnM9XCJodHRwOi8vd3d3LnczLm9yZy8yMDAwL3N2Z1wiIHdpZHRoPVwiMzIwXCIgaGVpZ2h0PVwiMTgwXCI+PHJlY3Qgd2lkdGg9XCIzMjBcIiBoZWlnaHQ9XCIxODBcIiBmaWxsPVwiJTIzZTVlN2ViXCIvPjx0ZXh0IHg9XCIxNjBcIiB5PVwiOTZcIiB0ZXh0LWFuY2hvcj1cIm1pZGRsZVwiIGZpbGw9XCIlMjMxMTE4MjdcIiBmb250LXNpemU9XCIyNFwiPlByZXZpZXc8L3RleHQ+PC9zdmc+JztcblxuY29uc3QgYmFzZU1lc3NhZ2UgPSB7XG4gIGF2YXRhcixcbiAgZm9jdXM6IGZhbHNlLFxuICBmb3J3YXJkZWQ6IGZhbHNlLFxuICBpZDogJ21lc3NhZ2UtMScsXG4gIG5vdGNoOiB0cnVlLFxuICBwb3NpdGlvbjogJ2xlZnQnLFxuICByZW1vdmVCdXR0b246IGZhbHNlLFxuICByZXBseUJ1dHRvbjogdHJ1ZSxcbiAgcmV0cmFjdGVkOiBmYWxzZSxcbiAgc3RhdHVzOiAnc2VudCcsXG4gIHRleHQ6ICdTdG9yeWJvb2sgbWVzc2FnZScsXG4gIHRpdGxlOiAnR290aGFtJyxcbiAgdGl0bGVDb2xvcjogJyMzOTc5YWEnLFxuICB0eXBlOiAndGV4dCdcbn0gYXMgY29uc3Q7XG5cbmNvbnN0IGNoYXRJdGVtID0ge1xuICBhdmF0YXIsXG4gIGRhdGVTdHJpbmc6ICdOb3cnLFxuICBpZDogJ2NoYXQtMScsXG4gIG11dGVkOiBmYWxzZSxcbiAgc2hvd011dGU6IHRydWUsXG4gIHNob3dWaWRlb0NhbGw6IHRydWUsXG4gIHN0YXR1c0NvbG9yOiAnIzIyYzU1ZScsXG4gIHN1YnRpdGxlOiAnU3RvcmllcyBub3cgY292ZXIgdGhlIGNoYXQgY29tcG9uZW50cy4nLFxuICB0aXRsZTogJ0dvdGhhbVVJJ1xufTtcblxuY29uc3QgbWVldGluZ0l0ZW0gPSB7XG4gIGF2YXRhcnM6IFtcbiAgICB7YWx0OiAnQnJ1Y2UnLCBzcmM6IGF2YXRhcn0sXG4gICAge2FsdDogJ1NlbGluYScsIHNyYzogYXZhdGFyfVxuICBdLFxuICBkYXRlU3RyaW5nOiAnMTA6MzAgQU0nLFxuICBpZDogJ21lZXRpbmctMScsXG4gIHN1YmplY3Q6ICdTdG9yeWJvb2sgY292ZXJhZ2UgcmV2aWV3J1xufTtcblxuY29uc3QgY29udHJvbHMgPSB7XG4gIGNsYXNzTmFtZToge1xuICAgIGNvbnRyb2w6ICd0ZXh0J1xuICB9LFxuICB0ZXh0OiB7XG4gICAgY29udHJvbDogJ3RleHQnXG4gIH1cbn07XG5cbmNvbnN0IG1ldGE6IE1ldGEgPSB7XG4gIHBhcmFtZXRlcnM6IHtcbiAgICBsYXlvdXQ6ICdjZW50ZXJlZCdcbiAgfSxcbiAgdGl0bGU6ICdDb21wb25lbnRzL0NoYXQnXG59O1xuXG5leHBvcnQgZGVmYXVsdCBtZXRhO1xuXG50eXBlIFN0b3J5ID0gU3RvcnlPYmo8UmVjb3JkPHN0cmluZywgdW5rbm93bj4+O1xuXG5leHBvcnQgY29uc3QgQ2hhdEF2YXRhcjogU3RvcnkgPSB7XG4gIGFyZ1R5cGVzOiB7XG4gICAgYWx0OiB7Y29udHJvbDogJ3RleHQnfSxcbiAgICBzaXplOiB7Y29udHJvbDogJ3NlbGVjdCcsIG9wdGlvbnM6IFsneHNtYWxsJywgJ3NtYWxsJywgJ21lZGl1bScsICdsYXJnZScsICd4bGFyZ2UnXX0sXG4gICAgc3JjOiB7Y29udHJvbDogJ3RleHQnfSxcbiAgICB0eXBlOiB7Y29udHJvbDogJ3NlbGVjdCcsIG9wdGlvbnM6IFsnZGVmYXVsdCcsICdjaXJjbGUnXX1cbiAgfSxcbiAgYXJnczoge1xuICAgIGFsdDogJ0dvdGhhbSBhdmF0YXInLFxuICAgIHNpemU6ICdsYXJnZScsXG4gICAgc3JjOiBhdmF0YXIsXG4gICAgdHlwZTogJ2NpcmNsZSdcbiAgfSxcbiAgcGxheTogaW50ZXJhY3RXaXRoQ2FudmFzLFxuICByZW5kZXI6IChhcmdzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4gPEF2YXRhciB7Li4uKGFyZ3MgYXMgYW55KX0gLz5cbn07XG5cbmV4cG9ydCBjb25zdCBDaGF0QnV0dG9uOiBTdG9yeSA9IHtcbiAgYXJnVHlwZXM6IHtcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHtjb250cm9sOiAnY29sb3InfSxcbiAgICBjb2xvcjoge2NvbnRyb2w6ICdjb2xvcid9LFxuICAgIGRpc2FibGVkOiB7Y29udHJvbDogJ2Jvb2xlYW4nfSxcbiAgICB0ZXh0OiB7Y29udHJvbDogJ3RleHQnfVxuICB9LFxuICBhcmdzOiB7XG4gICAgYmFja2dyb3VuZENvbG9yOiAnIzM5NzlhYScsXG4gICAgY29sb3I6ICcjZmZmZmZmJyxcbiAgICBkaXNhYmxlZDogZmFsc2UsXG4gICAgdGV4dDogJ1NlbmQnXG4gIH0sXG4gIHBsYXk6IGludGVyYWN0V2l0aENhbnZhcyxcbiAgcmVuZGVyOiAoYXJnczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IDxCdXR0b24gey4uLihhcmdzIGFzIGFueSl9IC8+XG59O1xuXG5leHBvcnQgY29uc3QgQ2hhdElucHV0OiBTdG9yeSA9IHtcbiAgYXJnVHlwZXM6IHtcbiAgICBhdXRvZm9jdXM6IHtjb250cm9sOiAnYm9vbGVhbid9LFxuICAgIG11bHRpbGluZToge2NvbnRyb2w6ICdib29sZWFuJ30sXG4gICAgcGxhY2Vob2xkZXI6IHtjb250cm9sOiAndGV4dCd9LFxuICAgIHZhbHVlOiB7Y29udHJvbDogJ3RleHQnfVxuICB9LFxuICBhcmdzOiB7XG4gICAgYXV0b2ZvY3VzOiBmYWxzZSxcbiAgICBtYXhIZWlnaHQ6IDE0MCxcbiAgICBtdWx0aWxpbmU6IGZhbHNlLFxuICAgIHBsYWNlaG9sZGVyOiAnVHlwZSBhIG1lc3NhZ2UnLFxuICAgIHZhbHVlOiAnJ1xuICB9LFxuICBwbGF5OiBpbnRlcmFjdFdpdGhDYW52YXMsXG4gIHJlbmRlcjogKGFyZ3M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiA8SW5wdXQgey4uLihhcmdzIGFzIGFueSl9IC8+XG59O1xuXG5leHBvcnQgY29uc3QgQ2hhdE5hdmJhcjogU3RvcnkgPSB7XG4gIGFyZ1R5cGVzOiB7XG4gICAgdHlwZToge2NvbnRyb2w6ICdzZWxlY3QnLCBvcHRpb25zOiBbJ2xpZ2h0JywgJ2RhcmsnXX1cbiAgfSxcbiAgYXJnczoge1xuICAgIGNlbnRlcjogJ01lc3NhZ2VzJyxcbiAgICBsZWZ0OiAnR290aGFtVUknLFxuICAgIHJpZ2h0OiA8VmlkZW8gc2l6ZT17MTh9IC8+LFxuICAgIHR5cGU6ICdsaWdodCdcbiAgfSxcbiAgcGxheTogaW50ZXJhY3RXaXRoQ2FudmFzLFxuICByZW5kZXI6IChhcmdzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4gPE5hdmJhciB7Li4uKGFyZ3MgYXMgYW55KX0gLz5cbn07XG5cbmV4cG9ydCBjb25zdCBDaGF0U2lkZUJhcjogU3RvcnkgPSB7XG4gIGFyZ1R5cGVzOiB7XG4gICAgdHlwZToge2NvbnRyb2w6ICdzZWxlY3QnLCBvcHRpb25zOiBbJ2xpZ2h0JywgJ2RhcmsnXX1cbiAgfSxcbiAgYXJnczoge1xuICAgIGRhdGE6IHtcbiAgICAgIGJvdHRvbTogJ1NldHRpbmdzJyxcbiAgICAgIGNlbnRlcjogJ1RocmVhZHMnLFxuICAgICAgdG9wOiAnSW5ib3gnXG4gICAgfSxcbiAgICB0eXBlOiAnZGFyaydcbiAgfSxcbiAgcGxheTogaW50ZXJhY3RXaXRoQ2FudmFzLFxuICByZW5kZXI6IChhcmdzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4gPFNpZGVCYXIgey4uLihhcmdzIGFzIGFueSl9IC8+XG59O1xuXG5leHBvcnQgY29uc3QgQ2hhdERyb3Bkb3duOiBTdG9yeSA9IHtcbiAgYXJnVHlwZXM6IHtcbiAgICBhbmltYXRpb25Qb3NpdGlvbjoge2NvbnRyb2w6ICdzZWxlY3QnLCBvcHRpb25zOiBbJ25vcnR3ZXN0JywgJ25vcnRlYXN0JywgJ3NvdXRod2VzdCcsICdzb3V0aGVhc3QnXX0sXG4gICAgdGl0bGU6IHtjb250cm9sOiAndGV4dCd9XG4gIH0sXG4gIGFyZ3M6IHtcbiAgICBhbmltYXRpb25Qb3NpdGlvbjogJ25vcnR3ZXN0JyxcbiAgICBidXR0b25Qcm9wczoge3RleHQ6ICdBY3Rpb25zJ30sXG4gICAgaXRlbXM6IFsnQXJjaGl2ZScsICdNdXRlJywgJ0RlbGV0ZSddLFxuICAgIG9uU2VsZWN0OiBub29wLFxuICAgIHRpdGxlOiAnQ29udmVyc2F0aW9uJ1xuICB9LFxuICBwbGF5OiBpbnRlcmFjdFdpdGhDYW52YXMsXG4gIHJlbmRlcjogKGFyZ3M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiA8RHJvcGRvd24gey4uLihhcmdzIGFzIGFueSl9IC8+XG59O1xuXG5leHBvcnQgY29uc3QgQ2hhdFBvcHVwOiBTdG9yeSA9IHtcbiAgYXJnVHlwZXM6IHtcbiAgICBwb3B1cDoge2NvbnRyb2w6ICdvYmplY3QnfSxcbiAgICB0eXBlOiB7Y29udHJvbDogJ3NlbGVjdCcsIG9wdGlvbnM6IFsnZGVmYXVsdCcsICdkYXJrJ119XG4gIH0sXG4gIGFyZ3M6IHtcbiAgICBwb3B1cDoge1xuICAgICAgZm9vdGVyQnV0dG9uczogW3t0ZXh0OiAnQ2xvc2UnLCBvbkNsaWNrOiBub29wfV0sXG4gICAgICBoZWFkZXI6ICdDb25maXJtIGFjdGlvbicsXG4gICAgICBzaG93OiB0cnVlLFxuICAgICAgdGV4dDogJ1RoaXMgcG9wdXAgaXMgb3BlbiBmb3IgaW50ZXJhY3Rpb24gY292ZXJhZ2UuJ1xuICAgIH0sXG4gICAgdHlwZTogJ2RlZmF1bHQnXG4gIH0sXG4gIHBsYXk6IGludGVyYWN0V2l0aENhbnZhcyxcbiAgcmVuZGVyOiAoYXJnczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IDxQb3B1cCB7Li4uKGFyZ3MgYXMgYW55KX0gLz5cbn07XG5cbmV4cG9ydCBjb25zdCBDaGF0SXRlbVN0b3J5OiBTdG9yeSA9IHtcbiAgYXJnVHlwZXM6IHtcbiAgICBtdXRlZDoge2NvbnRyb2w6ICdib29sZWFuJ30sXG4gICAgc3VidGl0bGU6IHtjb250cm9sOiAndGV4dCd9LFxuICAgIHRpdGxlOiB7Y29udHJvbDogJ3RleHQnfSxcbiAgICB1bnJlYWQ6IHtjb250cm9sOiAnbnVtYmVyJ31cbiAgfSxcbiAgYXJnczogY2hhdEl0ZW0sXG4gIHBsYXk6IGludGVyYWN0V2l0aENhbnZhcyxcbiAgcmVuZGVyOiAoYXJnczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IDxDaGF0SXRlbSB7Li4uKGFyZ3MgYXMgYW55KX0gLz5cbn07XG5cbmV4cG9ydCBjb25zdCBDaGF0TGlzdFN0b3J5OiBTdG9yeSA9IHtcbiAgYXJnVHlwZXM6IHtcbiAgICBkYXRhU291cmNlOiB7Y29udHJvbDogJ29iamVjdCd9XG4gIH0sXG4gIGFyZ3M6IHtcbiAgICBkYXRhU291cmNlOiBbY2hhdEl0ZW0sIHsuLi5jaGF0SXRlbSwgaWQ6ICdjaGF0LTInLCBzdWJ0aXRsZTogJ0Egc2Vjb25kIGNvbnZlcnNhdGlvbicsIHRpdGxlOiAnRGVzaWduIFN5c3RlbXMnLCB1bnJlYWQ6IDJ9XSxcbiAgICBpZDogJ2NoYXQtbGlzdCcsXG4gICAgbGF6eUxvYWRpbmdJbWFnZTogYXZhdGFyXG4gIH0sXG4gIHBsYXk6IGludGVyYWN0V2l0aENhbnZhcyxcbiAgcmVuZGVyOiAoYXJnczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IDxDaGF0TGlzdCB7Li4uKGFyZ3MgYXMgYW55KX0gLz5cbn07XG5cbmV4cG9ydCBjb25zdCBQcm9ncmVzc0NpcmNsZTogU3RvcnkgPSB7XG4gIGFyZ1R5cGVzOiB7XG4gICAgYW5pbWF0ZToge2NvbnRyb2w6IHttYXg6IDEsIG1pbjogMCwgc3RlcDogMC4xLCB0eXBlOiAncmFuZ2UnfX0sXG4gICAgcHJvZ3Jlc3NPcHRpb25zOiB7Y29udHJvbDogJ29iamVjdCd9XG4gIH0sXG4gIGFyZ3M6IHtcbiAgICBhbmltYXRlOiAwLjY1LFxuICAgIHByb2dyZXNzT3B0aW9uczoge1xuICAgICAgY29sb3I6ICcjMzk3OWFhJyxcbiAgICAgIHN0cm9rZVdpZHRoOiA2LFxuICAgICAgdHJhaWxDb2xvcjogJyNkMWQ1ZGInXG4gICAgfVxuICB9LFxuICBwbGF5OiBpbnRlcmFjdFdpdGhDYW52YXMsXG4gIHJlbmRlcjogKGFyZ3M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiA8Q2lyY2xlIHsuLi4oYXJncyBhcyBhbnkpfSAvPlxufTtcblxuZXhwb3J0IGNvbnN0IFJlcGx5TWVzc2FnZVN0b3J5OiBTdG9yeSA9IHtcbiAgYXJnVHlwZXM6IGNvbnRyb2xzLFxuICBhcmdzOiB7XG4gICAgLi4uYmFzZU1lc3NhZ2UsXG4gICAgbWVzc2FnZTogJ1ByZXZpb3VzIG1lc3NhZ2UgY29udGVudCcsXG4gICAgcGhvdG9VUkw6ICcnLFxuICAgIHRpdGxlOiAnQnJ1Y2UgV2F5bmUnXG4gIH0sXG4gIHBsYXk6IGludGVyYWN0V2l0aENhbnZhcyxcbiAgcmVuZGVyOiAoYXJnczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IDxSZXBseU1lc3NhZ2Ugey4uLihhcmdzIGFzIGFueSl9IC8+XG59O1xuXG5leHBvcnQgY29uc3QgU3lzdGVtTWVzc2FnZVN0b3J5OiBTdG9yeSA9IHtcbiAgYXJnVHlwZXM6IGNvbnRyb2xzLFxuICBhcmdzOiB7XG4gICAgLi4uYmFzZU1lc3NhZ2UsXG4gICAgdGV4dDogJ1RvZGF5J1xuICB9LFxuICBwbGF5OiBpbnRlcmFjdFdpdGhDYW52YXMsXG4gIHJlbmRlcjogKGFyZ3M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiA8U3lzdGVtTWVzc2FnZSB7Li4uKGFyZ3MgYXMgYW55KX0gLz5cbn07XG5cbmV4cG9ydCBjb25zdCBQaG90b01lc3NhZ2VTdG9yeTogU3RvcnkgPSB7XG4gIGFyZ1R5cGVzOiB7XG4gICAgZGF0YToge2NvbnRyb2w6ICdvYmplY3QnfSxcbiAgICB0ZXh0OiB7Y29udHJvbDogJ3RleHQnfVxuICB9LFxuICBhcmdzOiB7XG4gICAgLi4uYmFzZU1lc3NhZ2UsXG4gICAgZGF0YToge1xuICAgICAgYWx0OiAnUHJldmlldycsXG4gICAgICBoZWlnaHQ6IDE4MCxcbiAgICAgIHN0YXR1czoge2Rvd25sb2FkOiB0cnVlfSxcbiAgICAgIHVyaTogbWVkaWEsXG4gICAgICB3aWR0aDogMzIwXG4gICAgfSxcbiAgICB0ZXh0OiAnUGhvdG8gYXR0YWNobWVudCcsXG4gICAgdHlwZTogJ3Bob3RvJ1xuICB9LFxuICBwbGF5OiBpbnRlcmFjdFdpdGhDYW52YXMsXG4gIHJlbmRlcjogKGFyZ3M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiA8UGhvdG9NZXNzYWdlIHsuLi4oYXJncyBhcyBhbnkpfSAvPlxufTtcblxuZXhwb3J0IGNvbnN0IFZpZGVvTWVzc2FnZVN0b3J5OiBTdG9yeSA9IHtcbiAgYXJnVHlwZXM6IHtcbiAgICBjb250cm9sc0xpc3Q6IHtjb250cm9sOiAndGV4dCd9LFxuICAgIGRhdGE6IHtjb250cm9sOiAnb2JqZWN0J30sXG4gICAgdGV4dDoge2NvbnRyb2w6ICd0ZXh0J31cbiAgfSxcbiAgYXJnczoge1xuICAgIC4uLmJhc2VNZXNzYWdlLFxuICAgIGNvbnRyb2xzTGlzdDogJ25vZG93bmxvYWQnLFxuICAgIGRhdGE6IHtcbiAgICAgIGFsdDogJ1ZpZGVvIHByZXZpZXcnLFxuICAgICAgaGVpZ2h0OiAxODAsXG4gICAgICBzdGF0dXM6IHtkb3dubG9hZDogZmFsc2V9LFxuICAgICAgdXJpOiBtZWRpYSxcbiAgICAgIHdpZHRoOiAzMjBcbiAgICB9LFxuICAgIHRleHQ6ICdWaWRlbyBhdHRhY2htZW50JyxcbiAgICB0eXBlOiAndmlkZW8nXG4gIH0sXG4gIHBsYXk6IGludGVyYWN0V2l0aENhbnZhcyxcbiAgcmVuZGVyOiAoYXJnczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IDxWaWRlb01lc3NhZ2Ugey4uLihhcmdzIGFzIGFueSl9IC8+XG59O1xuXG5leHBvcnQgY29uc3QgQXVkaW9NZXNzYWdlU3Rvcnk6IFN0b3J5ID0ge1xuICBhcmdUeXBlczoge1xuICAgIGRhdGE6IHtjb250cm9sOiAnb2JqZWN0J30sXG4gICAgdGV4dDoge2NvbnRyb2w6ICd0ZXh0J31cbiAgfSxcbiAgYXJnczoge1xuICAgIC4uLmJhc2VNZXNzYWdlLFxuICAgIGRhdGE6IHtcbiAgICAgIGF1ZGlvVHlwZTogJ2F1ZGlvL21wMycsXG4gICAgICBhdWRpb1VSTDogJydcbiAgICB9LFxuICAgIHRleHQ6ICdBdWRpbyBub3RlJyxcbiAgICB0eXBlOiAnYXVkaW8nXG4gIH0sXG4gIHBsYXk6IGludGVyYWN0V2l0aENhbnZhcyxcbiAgcmVuZGVyOiAoYXJnczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IDxBdWRpb01lc3NhZ2Ugey4uLihhcmdzIGFzIGFueSl9IC8+XG59O1xuXG5leHBvcnQgY29uc3QgRmlsZU1lc3NhZ2VTdG9yeTogU3RvcnkgPSB7XG4gIGFyZ1R5cGVzOiB7XG4gICAgZGF0YToge2NvbnRyb2w6ICdvYmplY3QnfSxcbiAgICB0ZXh0OiB7Y29udHJvbDogJ3RleHQnfVxuICB9LFxuICBhcmdzOiB7XG4gICAgLi4uYmFzZU1lc3NhZ2UsXG4gICAgZGF0YToge1xuICAgICAgbmFtZTogJ3JlbGVhc2Utbm90ZXMucGRmJyxcbiAgICAgIHNpemU6ICcxMjggS0InLFxuICAgICAgc3RhdHVzOiB7ZG93bmxvYWQ6IGZhbHNlfVxuICAgIH0sXG4gICAgdGV4dDogJ3JlbGVhc2Utbm90ZXMucGRmJyxcbiAgICB0eXBlOiAnZmlsZSdcbiAgfSxcbiAgcGxheTogaW50ZXJhY3RXaXRoQ2FudmFzLFxuICByZW5kZXI6IChhcmdzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4gPEZpbGVNZXNzYWdlIHsuLi4oYXJncyBhcyBhbnkpfSAvPlxufTtcblxuZXhwb3J0IGNvbnN0IExvY2F0aW9uTWVzc2FnZVN0b3J5OiBTdG9yeSA9IHtcbiAgYXJnVHlwZXM6IHtcbiAgICBkYXRhOiB7Y29udHJvbDogJ29iamVjdCd9LFxuICAgIHRleHQ6IHtjb250cm9sOiAndGV4dCd9LFxuICAgIHpvb206IHtjb250cm9sOiAndGV4dCd9XG4gIH0sXG4gIGFyZ3M6IHtcbiAgICAuLi5iYXNlTWVzc2FnZSxcbiAgICBhcGlLZXk6ICdkZW1vJyxcbiAgICBkYXRhOiB7XG4gICAgICBsYXRpdHVkZTogJzQwLjcxMjgnLFxuICAgICAgbG9uZ2l0dWRlOiAnLTc0LjAwNjAnLFxuICAgICAgc3RhdGljVVJMOiBtZWRpYVxuICAgIH0sXG4gICAgaHJlZjogJyNtYXAnLFxuICAgIG1hcmtlckNvbG9yOiAnYmx1ZScsXG4gICAgdGV4dDogJ0dvdGhhbSBDaXR5JyxcbiAgICB0eXBlOiAnbG9jYXRpb24nLFxuICAgIHpvb206ICcxMydcbiAgfSxcbiAgcGxheTogaW50ZXJhY3RXaXRoQ2FudmFzLFxuICByZW5kZXI6IChhcmdzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4gPExvY2F0aW9uTWVzc2FnZSB7Li4uKGFyZ3MgYXMgYW55KX0gLz5cbn07XG5cbmV4cG9ydCBjb25zdCBTcG90aWZ5TWVzc2FnZVN0b3J5OiBTdG9yeSA9IHtcbiAgYXJnVHlwZXM6IHtcbiAgICBoZWlnaHQ6IHtjb250cm9sOiAnbnVtYmVyJ30sXG4gICAgdXJpOiB7Y29udHJvbDogJ3RleHQnfSxcbiAgICB3aWR0aDoge2NvbnRyb2w6ICdudW1iZXInfVxuICB9LFxuICBhcmdzOiB7XG4gICAgLi4uYmFzZU1lc3NhZ2UsXG4gICAgaGVpZ2h0OiAxMjAsXG4gICAgdHlwZTogJ3Nwb3RpZnknLFxuICAgIHVyaTogJ3RyYWNrLzExZEZnaFZYQU5NbEttSlhzTkNiTmwnLFxuICAgIHdpZHRoOiAzMDBcbiAgfSxcbiAgcGxheTogaW50ZXJhY3RXaXRoQ2FudmFzLFxuICByZW5kZXI6IChhcmdzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4gPFNwb3RpZnlNZXNzYWdlIHsuLi4oYXJncyBhcyBhbnkpfSAvPlxufTtcblxuZXhwb3J0IGNvbnN0IE1lZXRpbmdJdGVtU3Rvcnk6IFN0b3J5ID0ge1xuICBhcmdUeXBlczoge1xuICAgIHN1YmplY3Q6IHtjb250cm9sOiAndGV4dCd9LFxuICAgIHN1YmplY3RMaW1pdDoge2NvbnRyb2w6ICdudW1iZXInfVxuICB9LFxuICBhcmdzOiBtZWV0aW5nSXRlbSxcbiAgcGxheTogaW50ZXJhY3RXaXRoQ2FudmFzLFxuICByZW5kZXI6IChhcmdzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4gPE1lZXRpbmdJdGVtIHsuLi4oYXJncyBhcyBhbnkpfSAvPlxufTtcblxuZXhwb3J0IGNvbnN0IE1lZXRpbmdMaXN0U3Rvcnk6IFN0b3J5ID0ge1xuICBhcmdUeXBlczoge1xuICAgIGRhdGFTb3VyY2U6IHtjb250cm9sOiAnb2JqZWN0J31cbiAgfSxcbiAgYXJnczoge1xuICAgIGRhdGFTb3VyY2U6IFttZWV0aW5nSXRlbSwgey4uLm1lZXRpbmdJdGVtLCBpZDogJ21lZXRpbmctMicsIHN1YmplY3Q6ICdEZXNpZ24gcmV2aWV3J31dLFxuICAgIGxhenlMb2FkaW5nSW1hZ2U6IGF2YXRhclxuICB9LFxuICBwbGF5OiBpbnRlcmFjdFdpdGhDYW52YXMsXG4gIHJlbmRlcjogKGFyZ3M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiA8TWVldGluZ0xpc3Qgey4uLihhcmdzIGFzIGFueSl9IC8+XG59O1xuXG5leHBvcnQgY29uc3QgTWVldGluZ0xpbmtTdG9yeTogU3RvcnkgPSB7XG4gIGFyZ1R5cGVzOiB7XG4gICAgbWVldGluZ0lEOiB7Y29udHJvbDogJ3RleHQnfSxcbiAgICB0ZXh0OiB7Y29udHJvbDogJ3RleHQnfVxuICB9LFxuICBhcmdzOiB7XG4gICAgLi4uYmFzZU1lc3NhZ2UsXG4gICAgYWN0aW9uQnV0dG9uczogW3tDb21wb25lbnQ6ICgpID0+IDxQaG9uZSBzaXplPXsxNn0gLz4sIG9uQ2xpY2tCdXR0b246IG5vb3B9XSxcbiAgICBtZWV0aW5nSUQ6ICdkYWlseS1zeW5jJyxcbiAgICB0ZXh0OiAnSm9pbiBkYWlseSBzeW5jJyxcbiAgICB0eXBlOiAnbWVldGluZ0xpbmsnXG4gIH0sXG4gIHBsYXk6IGludGVyYWN0V2l0aENhbnZhcyxcbiAgcmVuZGVyOiAoYXJnczogUmVjb3JkPHN0cmluZywgdW5rbm93bj4pID0+IDxNZWV0aW5nTGluayB7Li4uKGFyZ3MgYXMgYW55KX0gLz5cbn07XG5cbmV4cG9ydCBjb25zdCBNZWV0aW5nTWVzc2FnZVN0b3J5OiBTdG9yeSA9IHtcbiAgYXJnVHlwZXM6IHtcbiAgICBwYXJ0aWNpcGFudHM6IHtjb250cm9sOiAnb2JqZWN0J30sXG4gICAgc3ViamVjdDoge2NvbnRyb2w6ICd0ZXh0J31cbiAgfSxcbiAgYXJnczoge1xuICAgIC4uLmJhc2VNZXNzYWdlLFxuICAgIGRhdGFTb3VyY2U6IFtdLFxuICAgIHBhcnRpY2lwYW50czogW3tpZDogMSwgdGl0bGU6ICdCcnVjZSd9LCB7aWQ6IDIsIHRpdGxlOiAnU2VsaW5hJ31dLFxuICAgIHN1YmplY3Q6ICdDb21wb25lbnQgcmV2aWV3JyxcbiAgICB0eXBlOiAnbWVldGluZydcbiAgfSxcbiAgcGxheTogaW50ZXJhY3RXaXRoQ2FudmFzLFxuICByZW5kZXI6IChhcmdzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4gPE1lZXRpbmdNZXNzYWdlIHsuLi4oYXJncyBhcyBhbnkpfSAvPlxufTtcblxuZXhwb3J0IGNvbnN0IE1lc3NhZ2VCb3hTdG9yeTogU3RvcnkgPSB7XG4gIGFyZ1R5cGVzOiB7XG4gICAgcG9zaXRpb246IHtjb250cm9sOiAnc2VsZWN0Jywgb3B0aW9uczogWydsZWZ0JywgJ3JpZ2h0J119LFxuICAgIHRleHQ6IHtjb250cm9sOiAndGV4dCd9LFxuICAgIHR5cGU6IHtjb250cm9sOiAnc2VsZWN0Jywgb3B0aW9uczogWyd0ZXh0JywgJ3Bob3RvJywgJ2ZpbGUnLCAnbG9jYXRpb24nLCAnYXVkaW8nLCAndmlkZW8nLCAnc3BvdGlmeScsICdtZWV0aW5nJywgJ21lZXRpbmdMaW5rJ119XG4gIH0sXG4gIGFyZ3M6IGJhc2VNZXNzYWdlLFxuICBwbGF5OiBpbnRlcmFjdFdpdGhDYW52YXMsXG4gIHJlbmRlcjogKGFyZ3M6IFJlY29yZDxzdHJpbmcsIHVua25vd24+KSA9PiA8TWVzc2FnZUJveCB7Li4uKGFyZ3MgYXMgYW55KX0gLz5cbn07XG5cbmV4cG9ydCBjb25zdCBNZXNzYWdlTGlzdFN0b3J5OiBTdG9yeSA9IHtcbiAgYXJnVHlwZXM6IHtcbiAgICBkYXRhU291cmNlOiB7Y29udHJvbDogJ29iamVjdCd9LFxuICAgIGxvY2thYmxlOiB7Y29udHJvbDogJ2Jvb2xlYW4nfVxuICB9LFxuICBhcmdzOiB7XG4gICAgZGF0YVNvdXJjZTogW2Jhc2VNZXNzYWdlLCB7Li4uYmFzZU1lc3NhZ2UsIGlkOiAnbWVzc2FnZS0yJywgcG9zaXRpb246ICdyaWdodCcsIHRleHQ6ICdSZXBseSBmcm9tIFN0b3J5Ym9vayd9XSxcbiAgICBsb2NrYWJsZTogZmFsc2UsXG4gICAgcmVmZXJhbmNlOiB1bmRlZmluZWRcbiAgfSxcbiAgcGxheTogaW50ZXJhY3RXaXRoQ2FudmFzLFxuICByZW5kZXI6IChhcmdzOiBSZWNvcmQ8c3RyaW5nLCB1bmtub3duPikgPT4ge1xuICAgIGNvbnN0IHJlZiA9IHVzZVJlZjxIVE1MRGl2RWxlbWVudD4obnVsbCk7XG4gICAgcmV0dXJuIDxNZXNzYWdlTGlzdCB7Li4uKGFyZ3MgYXMgYW55KX0gcmVmZXJhbmNlPXtyZWZ9IC8+O1xuICB9XG59O1xuIl0sIm5hbWVzIjpbIlJlYWN0IiwidXNlUmVmIiwiUGhvbmUiLCJWaWRlbyIsImludGVyYWN0V2l0aENhbnZhcyIsIkF1ZGlvTWVzc2FnZSIsIkF2YXRhciIsIkJ1dHRvbiIsIkNoYXRJdGVtIiwiQ2hhdExpc3QiLCJDaXJjbGUiLCJEcm9wZG93biIsIkZpbGVNZXNzYWdlIiwiSW5wdXQiLCJMb2NhdGlvbk1lc3NhZ2UiLCJNZWV0aW5nSXRlbSIsIk1lZXRpbmdMaW5rIiwiTWVldGluZ0xpc3QiLCJNZWV0aW5nTWVzc2FnZSIsIk1lc3NhZ2VCb3giLCJNZXNzYWdlTGlzdCIsIk5hdmJhciIsIlBob3RvTWVzc2FnZSIsIlBvcHVwIiwiUmVwbHlNZXNzYWdlIiwiU2lkZUJhciIsIlNwb3RpZnlNZXNzYWdlIiwiU3lzdGVtTWVzc2FnZSIsIlZpZGVvTWVzc2FnZSIsIm5vb3AiLCJ1bmRlZmluZWQiLCJhdmF0YXIiLCJtZWRpYSIsImJhc2VNZXNzYWdlIiwiZm9jdXMiLCJmb3J3YXJkZWQiLCJpZCIsIm5vdGNoIiwicG9zaXRpb24iLCJyZW1vdmVCdXR0b24iLCJyZXBseUJ1dHRvbiIsInJldHJhY3RlZCIsInN0YXR1cyIsInRleHQiLCJ0aXRsZSIsInRpdGxlQ29sb3IiLCJ0eXBlIiwiY2hhdEl0ZW0iLCJkYXRlU3RyaW5nIiwibXV0ZWQiLCJzaG93TXV0ZSIsInNob3dWaWRlb0NhbGwiLCJzdGF0dXNDb2xvciIsInN1YnRpdGxlIiwibWVldGluZ0l0ZW0iLCJhdmF0YXJzIiwiYWx0Iiwic3JjIiwic3ViamVjdCIsImNvbnRyb2xzIiwiY2xhc3NOYW1lIiwiY29udHJvbCIsIm1ldGEiLCJwYXJhbWV0ZXJzIiwibGF5b3V0IiwiQ2hhdEF2YXRhciIsImFyZ1R5cGVzIiwic2l6ZSIsIm9wdGlvbnMiLCJhcmdzIiwicGxheSIsInJlbmRlciIsIkNoYXRCdXR0b24iLCJiYWNrZ3JvdW5kQ29sb3IiLCJjb2xvciIsImRpc2FibGVkIiwiQ2hhdElucHV0IiwiYXV0b2ZvY3VzIiwibXVsdGlsaW5lIiwicGxhY2Vob2xkZXIiLCJ2YWx1ZSIsIm1heEhlaWdodCIsIkNoYXROYXZiYXIiLCJjZW50ZXIiLCJsZWZ0IiwicmlnaHQiLCJDaGF0U2lkZUJhciIsImRhdGEiLCJib3R0b20iLCJ0b3AiLCJDaGF0RHJvcGRvd24iLCJhbmltYXRpb25Qb3NpdGlvbiIsImJ1dHRvblByb3BzIiwiaXRlbXMiLCJvblNlbGVjdCIsIkNoYXRQb3B1cCIsInBvcHVwIiwiZm9vdGVyQnV0dG9ucyIsIm9uQ2xpY2siLCJoZWFkZXIiLCJzaG93IiwiQ2hhdEl0ZW1TdG9yeSIsInVucmVhZCIsIkNoYXRMaXN0U3RvcnkiLCJkYXRhU291cmNlIiwibGF6eUxvYWRpbmdJbWFnZSIsIlByb2dyZXNzQ2lyY2xlIiwiYW5pbWF0ZSIsIm1heCIsIm1pbiIsInN0ZXAiLCJwcm9ncmVzc09wdGlvbnMiLCJzdHJva2VXaWR0aCIsInRyYWlsQ29sb3IiLCJSZXBseU1lc3NhZ2VTdG9yeSIsIm1lc3NhZ2UiLCJwaG90b1VSTCIsIlN5c3RlbU1lc3NhZ2VTdG9yeSIsIlBob3RvTWVzc2FnZVN0b3J5IiwiaGVpZ2h0IiwiZG93bmxvYWQiLCJ1cmkiLCJ3aWR0aCIsIlZpZGVvTWVzc2FnZVN0b3J5IiwiY29udHJvbHNMaXN0IiwiQXVkaW9NZXNzYWdlU3RvcnkiLCJhdWRpb1R5cGUiLCJhdWRpb1VSTCIsIkZpbGVNZXNzYWdlU3RvcnkiLCJuYW1lIiwiTG9jYXRpb25NZXNzYWdlU3RvcnkiLCJ6b29tIiwiYXBpS2V5IiwibGF0aXR1ZGUiLCJsb25naXR1ZGUiLCJzdGF0aWNVUkwiLCJocmVmIiwibWFya2VyQ29sb3IiLCJTcG90aWZ5TWVzc2FnZVN0b3J5IiwiTWVldGluZ0l0ZW1TdG9yeSIsInN1YmplY3RMaW1pdCIsIk1lZXRpbmdMaXN0U3RvcnkiLCJNZWV0aW5nTGlua1N0b3J5IiwibWVldGluZ0lEIiwiYWN0aW9uQnV0dG9ucyIsIkNvbXBvbmVudCIsIm9uQ2xpY2tCdXR0b24iLCJNZWV0aW5nTWVzc2FnZVN0b3J5IiwicGFydGljaXBhbnRzIiwiTWVzc2FnZUJveFN0b3J5IiwiTWVzc2FnZUxpc3RTdG9yeSIsImxvY2thYmxlIiwicmVmZXJhbmNlIiwicmVmIl0sIm1hcHBpbmdzIjoiO0FBQUEsT0FBT0EsU0FBUUMsTUFBTSxRQUFPLFFBQVE7QUFDcEMsU0FBUUMsS0FBSyxFQUFFQyxLQUFLLFFBQU8sZUFBZTtBQUMxQyxTQUFRQyxrQkFBa0IsUUFBTyxtQ0FBbUM7QUFDcEUsU0FDRUMsWUFBWSxFQUNaQyxNQUFNLEVBQ05DLE1BQU0sRUFDTkMsUUFBUSxFQUNSQyxRQUFRLEVBQ1JDLE1BQU0sRUFDTkMsUUFBUSxF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
|