@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,14 @@
|
|
|
1
|
+
import { jsx as _jsx } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from '@nlabs/utils';
|
|
3
|
+
export const SystemMessage = (props)=>/*#__PURE__*/ _jsx("div", {
|
|
4
|
+
className: cn('rce-container-smsg', props.className),
|
|
5
|
+
children: /*#__PURE__*/ _jsx("div", {
|
|
6
|
+
className: "rce-smsg",
|
|
7
|
+
children: /*#__PURE__*/ _jsx("div", {
|
|
8
|
+
className: "rce-smsg-text",
|
|
9
|
+
children: props.text
|
|
10
|
+
})
|
|
11
|
+
})
|
|
12
|
+
});
|
|
13
|
+
|
|
14
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL0NoYXQvU3lzdGVtTWVzc2FnZS9TeXN0ZW1NZXNzYWdlLnRzeCJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge2NufSBmcm9tICdAbmxhYnMvdXRpbHMnO1xuXG5cbmltcG9ydCB0eXBlIHtGQ30gZnJvbSAncmVhY3QnO1xuaW1wb3J0IHR5cGUge0lTeXN0ZW1NZXNzYWdlUHJvcHN9IGZyb20gJy4uL3R5cGUnO1xuXG5leHBvcnQgY29uc3QgU3lzdGVtTWVzc2FnZTogRkM8SVN5c3RlbU1lc3NhZ2VQcm9wcz4gPSAocHJvcHMpID0+IChcbiAgPGRpdiBjbGFzc05hbWU9e2NuKCdyY2UtY29udGFpbmVyLXNtc2cnLCBwcm9wcy5jbGFzc05hbWUpfT5cbiAgICA8ZGl2IGNsYXNzTmFtZT0ncmNlLXNtc2cnPlxuICAgICAgPGRpdiBjbGFzc05hbWU9J3JjZS1zbXNnLXRleHQnPntwcm9wcy50ZXh0fTwvZGl2PlxuICAgIDwvZGl2PlxuICA8L2Rpdj5cbik7XG4iXSwibmFtZXMiOlsiY24iLCJTeXN0ZW1NZXNzYWdlIiwicHJvcHMiLCJkaXYiLCJjbGFzc05hbWUiLCJ0ZXh0Il0sIm1hcHBpbmdzIjoiO0FBQUEsU0FBUUEsRUFBRSxRQUFPLGVBQWU7QUFNaEMsT0FBTyxNQUFNQyxnQkFBeUMsQ0FBQ0Msc0JBQ3JELEtBQUNDO1FBQUlDLFdBQVdKLEdBQUcsc0JBQXNCRSxNQUFNRSxTQUFTO2tCQUN0RCxjQUFBLEtBQUNEO1lBQUlDLFdBQVU7c0JBQ2IsY0FBQSxLQUFDRDtnQkFBSUMsV0FBVTswQkFBaUJGLE1BQU1HLElBQUk7OztPQUc5QyJ9
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
.rce-mbox-video{margin-top:-3px;margin-right:-6px;margin-left:-6px}.rce-mbox-video.padding-time{padding-bottom:12px}.rce-mbox-video .rce-mbox-text{padding:5px 0;max-width:300px;margin:auto}.rce-mbox-video--video{position:relative;overflow:hidden;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;max-height:500px}.rce-mbox-video--video,.rce-mbox-video--video__block{display:-webkit-box;display:-ms-flexbox;display:flex;border-radius:5px}.rce-mbox-video--video__block{position:absolute;top:0;right:0;left:0;bottom:0;background-color:rgba(0,0,0,.5)}.rce-mbox-video--video img{height:100%;min-height:100px}.rce-mbox-video--video img,.rce-mbox-video--video video{-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.rce-mbox-video--video video{width:100%}.rce-mbox-video--video__block-item{margin:auto;cursor:pointer;width:100px;height:100px}.rce-mbox-video--download{color:#efe;display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;background:none;font-size:3.2em;outline:none;border:1px solid #eee;border-radius:100%;height:100px;width:100px}.rce-mbox-video--download:hover{opacity:.7}.rce-mbox-video--download:active{opacity:.3}.rce-mbox-video--error{display:-webkit-box;display:-ms-flexbox;display:flex;-webkit-box-pack:center;-ms-flex-pack:center;justify-content:center;-webkit-box-align:center;-ms-flex-align:center;align-items:center;background:none;font-size:70px;color:#eaeaea}
|
|
@@ -0,0 +1,88 @@
|
|
|
1
|
+
import { jsx as _jsx, jsxs as _jsxs } from "react/jsx-runtime";
|
|
2
|
+
import { cn } from '@nlabs/utils';
|
|
3
|
+
import { CircleAlert as Alert02Icon, CloudDownload as CloudDownloadIcon } from 'lucide-react';
|
|
4
|
+
import { ProgressCircle } from '../Circle/Circle.js';
|
|
5
|
+
export const VideoMessage = (props)=>{
|
|
6
|
+
const progressOptions = {
|
|
7
|
+
strokeWidth: 2.3,
|
|
8
|
+
color: '#efe',
|
|
9
|
+
trailColor: '#aaa',
|
|
10
|
+
trailWidth: 1,
|
|
11
|
+
step: (data, circle)=>{
|
|
12
|
+
circle.path.setAttribute('trail', data.state !== undefined && data?.state?.color || '');
|
|
13
|
+
circle.path.setAttribute('trailwidth-width', data.state !== undefined && data?.state?.width || '');
|
|
14
|
+
const value = Math.round(circle?.value() * 100);
|
|
15
|
+
if (value === 0) {
|
|
16
|
+
circle?.setText('');
|
|
17
|
+
} else {
|
|
18
|
+
circle?.setText(value);
|
|
19
|
+
}
|
|
20
|
+
}
|
|
21
|
+
};
|
|
22
|
+
const error = props?.data?.status && props?.data?.status.error === true;
|
|
23
|
+
const downloaded = props?.data?.status && props?.data?.status.download;
|
|
24
|
+
return /*#__PURE__*/ _jsxs("div", {
|
|
25
|
+
className: cn('rce-mbox-video', {
|
|
26
|
+
'padding-time': !props?.text
|
|
27
|
+
}),
|
|
28
|
+
children: [
|
|
29
|
+
/*#__PURE__*/ _jsxs("div", {
|
|
30
|
+
className: "rce-mbox-video--video",
|
|
31
|
+
style: {
|
|
32
|
+
...props?.data.width && props?.data.height && {
|
|
33
|
+
width: props.data.width,
|
|
34
|
+
height: props.data.height
|
|
35
|
+
}
|
|
36
|
+
},
|
|
37
|
+
children: [
|
|
38
|
+
!downloaded && /*#__PURE__*/ _jsx("img", {
|
|
39
|
+
src: props?.data.uri,
|
|
40
|
+
alt: props?.data.alt,
|
|
41
|
+
onClick: props.onOpen,
|
|
42
|
+
onLoad: props.onLoad,
|
|
43
|
+
onError: props.onPhotoError
|
|
44
|
+
}),
|
|
45
|
+
downloaded && /*#__PURE__*/ _jsxs("video", {
|
|
46
|
+
controls: true,
|
|
47
|
+
controlsList: props.controlsList,
|
|
48
|
+
children: [
|
|
49
|
+
/*#__PURE__*/ _jsx("source", {
|
|
50
|
+
src: props?.data.videoURL,
|
|
51
|
+
type: "video/mp4"
|
|
52
|
+
}),
|
|
53
|
+
"Your browser does not support HTML video."
|
|
54
|
+
]
|
|
55
|
+
}),
|
|
56
|
+
error && /*#__PURE__*/ _jsx("div", {
|
|
57
|
+
className: "rce-mbox-video--video__block",
|
|
58
|
+
children: /*#__PURE__*/ _jsx("span", {
|
|
59
|
+
className: "rce-mbox-video--video__block-item rce-mbox-video--error",
|
|
60
|
+
children: /*#__PURE__*/ _jsx(Alert02Icon, {})
|
|
61
|
+
})
|
|
62
|
+
}),
|
|
63
|
+
!error && props?.data?.status && !downloaded && /*#__PURE__*/ _jsxs("div", {
|
|
64
|
+
className: "rce-mbox-video--video__block",
|
|
65
|
+
children: [
|
|
66
|
+
!props.data.status.click && /*#__PURE__*/ _jsx("button", {
|
|
67
|
+
onClick: props.onDownload,
|
|
68
|
+
className: "rce-mbox-video--video__block-item rce-mbox-video--download",
|
|
69
|
+
children: /*#__PURE__*/ _jsx(CloudDownloadIcon, {})
|
|
70
|
+
}),
|
|
71
|
+
typeof props.data.status.loading === 'number' && props.data.status.loading !== 0 && /*#__PURE__*/ _jsx(ProgressCircle, {
|
|
72
|
+
animate: props.data.status.loading,
|
|
73
|
+
className: "rce-mbox-video--video__block-item",
|
|
74
|
+
progressOptions: progressOptions
|
|
75
|
+
})
|
|
76
|
+
]
|
|
77
|
+
})
|
|
78
|
+
]
|
|
79
|
+
}),
|
|
80
|
+
props?.text && /*#__PURE__*/ _jsx("div", {
|
|
81
|
+
className: "rce-mbox-text",
|
|
82
|
+
children: props.text
|
|
83
|
+
})
|
|
84
|
+
]
|
|
85
|
+
});
|
|
86
|
+
};
|
|
87
|
+
|
|
88
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL0NoYXQvVmlkZW9NZXNzYWdlL1ZpZGVvTWVzc2FnZS50c3giXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtjbn0gZnJvbSAnQG5sYWJzL3V0aWxzJztcbmltcG9ydCB7XG4gIENpcmNsZUFsZXJ0IGFzIEFsZXJ0MDJJY29uLFxuICBDbG91ZERvd25sb2FkIGFzIENsb3VkRG93bmxvYWRJY29uXG59IGZyb20gJ2x1Y2lkZS1yZWFjdCc7XG5cbmltcG9ydCB7UHJvZ3Jlc3NDaXJjbGV9IGZyb20gJy4uL0NpcmNsZS9DaXJjbGUuanMnO1xuXG5pbXBvcnQgdHlwZSB7RkN9IGZyb20gJ3JlYWN0JztcbmltcG9ydCB0eXBlIHtJUHJvZ3Jlc3NPcHRpb25zLCBJVmlkZW9NZXNzYWdlUHJvcHN9IGZyb20gJy4uL3R5cGUnO1xuXG5leHBvcnQgY29uc3QgVmlkZW9NZXNzYWdlOiBGQzxJVmlkZW9NZXNzYWdlUHJvcHM+ID0gKHByb3BzKSA9PiB7XG4gIGNvbnN0IHByb2dyZXNzT3B0aW9ucyA9IHtcbiAgICBzdHJva2VXaWR0aDogMi4zLFxuICAgIGNvbG9yOiAnI2VmZScsXG4gICAgdHJhaWxDb2xvcjogJyNhYWEnLFxuICAgIHRyYWlsV2lkdGg6IDEsXG4gICAgc3RlcDogKFxuICAgICAgZGF0YTogSVByb2dyZXNzT3B0aW9ucyxcbiAgICAgIGNpcmNsZToge1xuICAgICAgICBwYXRoOiB7IHNldEF0dHJpYnV0ZTogKGFyZzA6IHN0cmluZywgYXJnMTogc3RyaW5nKSA9PiB2b2lkIH07XG4gICAgICAgIHZhbHVlOiAoKSA9PiBudW1iZXI7XG4gICAgICAgIHNldFRleHQ6IChhcmcwOiBzdHJpbmcgfCBudW1iZXIpID0+IHZvaWQ7XG4gICAgICB9XG4gICAgKSA9PiB7XG4gICAgICBjaXJjbGUucGF0aC5zZXRBdHRyaWJ1dGUoJ3RyYWlsJywgKGRhdGEuc3RhdGUgIT09IHVuZGVmaW5lZCAmJiBkYXRhPy5zdGF0ZT8uY29sb3IpIHx8ICcnKTtcbiAgICAgIGNpcmNsZS5wYXRoLnNldEF0dHJpYnV0ZSgndHJhaWx3aWR0aC13aWR0aCcsIChkYXRhLnN0YXRlICE9PSB1bmRlZmluZWQgJiYgZGF0YT8uc3RhdGU/LndpZHRoKSB8fCAnJyk7XG5cbiAgICAgIGNvbnN0IHZhbHVlID0gTWF0aC5yb3VuZChjaXJjbGU/LnZhbHVlKCkgKiAxMDApO1xuXG4gICAgICBpZih2YWx1ZSA9PT0gMCkge1xuICAgICAgICBjaXJjbGU/LnNldFRleHQoJycpO1xuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY2lyY2xlPy5zZXRUZXh0KHZhbHVlKTtcbiAgICAgIH1cbiAgICB9XG4gIH07XG5cbiAgY29uc3QgZXJyb3IgPSBwcm9wcz8uZGF0YT8uc3RhdHVzICYmIHByb3BzPy5kYXRhPy5zdGF0dXMuZXJyb3IgPT09IHRydWU7XG4gIGNvbnN0IGRvd25sb2FkZWQgPSBwcm9wcz8uZGF0YT8uc3RhdHVzICYmIHByb3BzPy5kYXRhPy5zdGF0dXMuZG93bmxvYWQ7XG5cbiAgcmV0dXJuIChcbiAgICA8ZGl2XG4gICAgICBjbGFzc05hbWU9e2NuKCdyY2UtbWJveC12aWRlbycsIHtcbiAgICAgICAgJ3BhZGRpbmctdGltZSc6ICFwcm9wcz8udGV4dFxuICAgICAgfSl9XG4gICAgPlxuICAgICAgPGRpdlxuICAgICAgICBjbGFzc05hbWU9J3JjZS1tYm94LXZpZGVvLS12aWRlbydcbiAgICAgICAgc3R5bGU9e3tcbiAgICAgICAgICAuLi4ocHJvcHM/LmRhdGEud2lkdGggJiZcbiAgICAgICAgICAgIHByb3BzPy5kYXRhLmhlaWdodCAmJiB7XG4gICAgICAgICAgICB3aWR0aDogcHJvcHMuZGF0YS53aWR0aCxcbiAgICAgICAgICAgIGhlaWdodDogcHJvcHMuZGF0YS5oZWlnaHRcbiAgICAgICAgICB9KVxuICAgICAgICB9fVxuICAgICAgPlxuICAgICAgICB7IWRvd25sb2FkZWQgJiYgKFxuICAgICAgICAgIDxpbWdcbiAgICAgICAgICAgIHNyYz17cHJvcHM/LmRhdGEudXJpfVxuICAgICAgICAgICAgYWx0PXtwcm9wcz8uZGF0YS5hbHR9XG4gICAgICAgICAgICBvbkNsaWNrPXtwcm9wcy5vbk9wZW59XG4gICAgICAgICAgICBvbkxvYWQ9e3Byb3BzLm9uTG9hZH1cbiAgICAgICAgICAgIG9uRXJyb3I9e3Byb3BzLm9uUGhvdG9FcnJvcn1cbiAgICAgICAgICAvPlxuICAgICAgICApfVxuXG4gICAgICAgIHtkb3dubG9hZGVkICYmIChcbiAgICAgICAgICA8dmlkZW8gY29udHJvbHMgY29udHJvbHNMaXN0PXtwcm9wcy5jb250cm9sc0xpc3R9PlxuICAgICAgICAgICAgPHNvdXJjZSBzcmM9e3Byb3BzPy5kYXRhLnZpZGVvVVJMfSB0eXBlPSd2aWRlby9tcDQnIC8+XG4gICAgICAgICAgICBZb3VyIGJyb3dzZXIgZG9lcyBub3Qgc3VwcG9ydCBIVE1MIHZpZGVvLlxuICAgICAgICAgIDwvdmlkZW8+XG4gICAgICAgICl9XG5cbiAgICAgICAge2Vycm9yICYmIChcbiAgICAgICAgICA8ZGl2IGNsYXNzTmFtZT0ncmNlLW1ib3gtdmlkZW8tLXZpZGVvX19ibG9jayc+XG4gICAgICAgICAgICA8c3BhbiBjbGFzc05hbWU9J3JjZS1tYm94LXZpZGVvLS12aWRlb19fYmxvY2staXRlbSByY2UtbWJveC12aWRlby0tZXJyb3InPlxuICAgICAgICAgICAgICA8QWxlcnQwMkljb24gIC8+XG4gICAgICAgICAgICA8L3NwYW4+XG4gICAgICAgICAgPC9kaXY+XG4gICAgICAgICl9XG4gICAgICAgIHshZXJyb3IgJiYgcHJvcHM/LmRhdGE/LnN0YXR1cyAmJiAhZG93bmxvYWRlZCAmJiAoXG4gICAgICAgICAgPGRpdiBjbGFzc05hbWU9J3JjZS1tYm94LXZpZGVvLS12aWRlb19fYmxvY2snPlxuICAgICAgICAgICAgeyFwcm9wcy5kYXRhLnN0YXR1cy5jbGljayAmJiAoXG4gICAgICAgICAgICAgIDxidXR0b24gb25DbGljaz17cHJvcHMub25Eb3dubG9hZH0gY2xhc3NOYW1lPSdyY2UtbWJveC12aWRlby0tdmlkZW9fX2Jsb2NrLWl0ZW0gcmNlLW1ib3gtdmlkZW8tLWRvd25sb2FkJz5cbiAgICAgICAgICAgICAgICA8Q2xvdWREb3dubG9hZEljb24gIC8+XG4gICAgICAgICAgICAgIDwvYnV0dG9uPlxuICAgICAgICAgICAgKX1cbiAgICAgICAgICAgIHt0eXBlb2YgcHJvcHMuZGF0YS5zdGF0dXMubG9hZGluZyA9PT0gJ251bWJlcicgJiYgcHJvcHMuZGF0YS5zdGF0dXMubG9hZGluZyAhPT0gMCAmJiAoXG4gICAgICAgICAgICAgIDxQcm9ncmVzc0NpcmNsZVxuICAgICAgICAgICAgICAgIGFuaW1hdGU9e3Byb3BzLmRhdGEuc3RhdHVzLmxvYWRpbmd9XG4gICAgICAgICAgICAgICAgY2xhc3NOYW1lPSdyY2UtbWJveC12aWRlby0tdmlkZW9fX2Jsb2NrLWl0ZW0nXG4gICAgICAgICAgICAgICAgcHJvZ3Jlc3NPcHRpb25zPXtwcm9ncmVzc09wdGlvbnN9XG4gICAgICAgICAgICAgIC8+XG4gICAgICAgICAgICApfVxuICAgICAgICAgIDwvZGl2PlxuICAgICAgICApfVxuICAgICAgPC9kaXY+XG4gICAgICB7cHJvcHM/LnRleHQgJiYgPGRpdiBjbGFzc05hbWU9J3JjZS1tYm94LXRleHQnPntwcm9wcy50ZXh0fTwvZGl2Pn1cbiAgICA8L2Rpdj5cbiAgKTtcbn07XG4iXSwibmFtZXMiOlsiY24iLCJDaXJjbGVBbGVydCIsIkFsZXJ0MDJJY29uIiwiQ2xvdWREb3dubG9hZCIsIkNsb3VkRG93bmxvYWRJY29uIiwiUHJvZ3Jlc3NDaXJjbGUiLCJWaWRlb01lc3NhZ2UiLCJwcm9wcyIsInByb2dyZXNzT3B0aW9ucyIsInN0cm9rZVdpZHRoIiwiY29sb3IiLCJ0cmFpbENvbG9yIiwidHJhaWxXaWR0aCIsInN0ZXAiLCJkYXRhIiwiY2lyY2xlIiwicGF0aCIsInNldEF0dHJpYnV0ZSIsInN0YXRlIiwidW5kZWZpbmVkIiwid2lkdGgiLCJ2YWx1ZSIsIk1hdGgiLCJyb3VuZCIsInNldFRleHQiLCJlcnJvciIsInN0YXR1cyIsImRvd25sb2FkZWQiLCJkb3dubG9hZCIsImRpdiIsImNsYXNzTmFtZSIsInRleHQiLCJzdHlsZSIsImhlaWdodCIsImltZyIsInNyYyIsInVyaSIsImFsdCIsIm9uQ2xpY2siLCJvbk9wZW4iLCJvbkxvYWQiLCJvbkVycm9yIiwib25QaG90b0Vycm9yIiwidmlkZW8iLCJjb250cm9scyIsImNvbnRyb2xzTGlzdCIsInNvdXJjZSIsInZpZGVvVVJMIiwidHlwZSIsInNwYW4iLCJjbGljayIsImJ1dHRvbiIsIm9uRG93bmxvYWQiLCJsb2FkaW5nIiwiYW5pbWF0ZSJdLCJtYXBwaW5ncyI6IjtBQUFBLFNBQVFBLEVBQUUsUUFBTyxlQUFlO0FBQ2hDLFNBQ0VDLGVBQWVDLFdBQVcsRUFDMUJDLGlCQUFpQkMsaUJBQWlCLFFBQzdCLGVBQWU7QUFFdEIsU0FBUUMsY0FBYyxRQUFPLHNCQUFzQjtBQUtuRCxPQUFPLE1BQU1DLGVBQXVDLENBQUNDO0lBQ25ELE1BQU1DLGtCQUFrQjtRQUN0QkMsYUFBYTtRQUNiQyxPQUFPO1FBQ1BDLFlBQVk7UUFDWkMsWUFBWTtRQUNaQyxNQUFNLENBQ0pDLE1BQ0FDO1lBTUFBLE9BQU9DLElBQUksQ0FBQ0MsWUFBWSxDQUFDLFNBQVMsQUFBQ0gsS0FBS0ksS0FBSyxLQUFLQyxhQUFhTCxNQUFNSSxPQUFPUixTQUFVO1lBQ3RGSyxPQUFPQyxJQUFJLENBQUNDLFlBQVksQ0FBQyxvQkFBb0IsQUFBQ0gsS0FBS0ksS0FBSyxLQUFLQyxhQUFhTCxNQUFNSSxPQUFPRSxTQUFVO1lBRWpHLE1BQU1DLFFBQVFDLEtBQUtDLEtBQUssQ0FBQ1IsUUFBUU0sVUFBVTtZQUUzQyxJQUFHQSxVQUFVLEdBQUc7Z0JBQ2ROLFFBQVFTLFFBQVE7WUFDbEIsT0FBTztnQkFDTFQsUUFBUVMsUUFBUUg7WUFDbEI7UUFDRjtJQUNGO0lBRUEsTUFBTUksUUFBUWxCLE9BQU9PLE1BQU1ZLFVBQVVuQixPQUFPTyxNQUFNWSxPQUFPRCxVQUFVO0lBQ25FLE1BQU1FLGFBQWFwQixPQUFPTyxNQUFNWSxVQUFVbkIsT0FBT08sTUFBTVksT0FBT0U7SUFFOUQscUJBQ0UsTUFBQ0M7UUFDQ0MsV0FBVzlCLEdBQUcsa0JBQWtCO1lBQzlCLGdCQUFnQixDQUFDTyxPQUFPd0I7UUFDMUI7OzBCQUVBLE1BQUNGO2dCQUNDQyxXQUFVO2dCQUNWRSxPQUFPO29CQUNMLEdBQUl6QixPQUFPTyxLQUFLTSxTQUNkYixPQUFPTyxLQUFLbUIsVUFBVTt3QkFDdEJiLE9BQU9iLE1BQU1PLElBQUksQ0FBQ00sS0FBSzt3QkFDdkJhLFFBQVExQixNQUFNTyxJQUFJLENBQUNtQixNQUFNO29CQUMzQixDQUFDO2dCQUNIOztvQkFFQyxDQUFDTiw0QkFDQSxLQUFDTzt3QkFDQ0MsS0FBSzVCLE9BQU9PLEtBQUtzQjt3QkFDakJDLEtBQUs5QixPQUFPTyxLQUFLdUI7d0JBQ2pCQyxTQUFTL0IsTUFBTWdDLE1BQU07d0JBQ3JCQyxRQUFRakMsTUFBTWlDLE1BQU07d0JBQ3BCQyxTQUFTbEMsTUFBTW1DLFlBQVk7O29CQUk5QmYsNEJBQ0MsTUFBQ2dCO3dCQUFNQyxRQUFRO3dCQUFDQyxjQUFjdEMsTUFBTXNDLFlBQVk7OzBDQUM5QyxLQUFDQztnQ0FBT1gsS0FBSzVCLE9BQU9PLEtBQUtpQztnQ0FBVUMsTUFBSzs7NEJBQWM7OztvQkFLekR2Qix1QkFDQyxLQUFDSTt3QkFBSUMsV0FBVTtrQ0FDYixjQUFBLEtBQUNtQjs0QkFBS25CLFdBQVU7c0NBQ2QsY0FBQSxLQUFDNUI7OztvQkFJTixDQUFDdUIsU0FBU2xCLE9BQU9PLE1BQU1ZLFVBQVUsQ0FBQ0MsNEJBQ2pDLE1BQUNFO3dCQUFJQyxXQUFVOzs0QkFDWixDQUFDdkIsTUFBTU8sSUFBSSxDQUFDWSxNQUFNLENBQUN3QixLQUFLLGtCQUN2QixLQUFDQztnQ0FBT2IsU0FBUy9CLE1BQU02QyxVQUFVO2dDQUFFdEIsV0FBVTswQ0FDM0MsY0FBQSxLQUFDMUI7OzRCQUdKLE9BQU9HLE1BQU1PLElBQUksQ0FBQ1ksTUFBTSxDQUFDMkIsT0FBTyxLQUFLLFlBQVk5QyxNQUFNTyxJQUFJLENBQUNZLE1BQU0sQ0FBQzJCLE9BQU8sS0FBSyxtQkFDOUUsS0FBQ2hEO2dDQUNDaUQsU0FBUy9DLE1BQU1PLElBQUksQ0FBQ1ksTUFBTSxDQUFDMkIsT0FBTztnQ0FDbEN2QixXQUFVO2dDQUNWdEIsaUJBQWlCQTs7Ozs7O1lBTTFCRCxPQUFPd0Isc0JBQVEsS0FBQ0Y7Z0JBQUlDLFdBQVU7MEJBQWlCdkIsTUFBTXdCLElBQUk7Ozs7QUFHaEUsRUFBRSJ9
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
3
|
+
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
4
|
+
viewBox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve">
|
|
5
|
+
<polygon points="20,0 20,20 0,0 "/>
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
<?xml version="1.0" encoding="utf-8"?>
|
|
2
|
+
<!-- Generator: Adobe Illustrator 21.1.0, SVG Export Plug-In . SVG Version: 6.00 Build 0) -->
|
|
3
|
+
<svg version="1.1" id="Layer_1" xmlns="http://www.w3.org/2000/svg" xmlns:xlink="http://www.w3.org/1999/xlink" x="0px" y="0px"
|
|
4
|
+
viewBox="0 0 20 20" style="enable-background:new 0 0 20 20;" xml:space="preserve">
|
|
5
|
+
<polygon points="0,0 0,20 20,0 "/>
|
|
6
|
+
</svg>
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { MessageBox } from './MessageBox/MessageBox';
|
|
2
|
+
import { ChatItem } from './ChatItem/ChatItem';
|
|
3
|
+
import { ChatList } from './ChatList/ChatList';
|
|
4
|
+
import { MessageList } from './MessageList/MessageList';
|
|
5
|
+
import { MeetingItem } from './MeetingItem/MeetingItem';
|
|
6
|
+
import { MeetingList } from './MeetingList/MeetingList';
|
|
7
|
+
import { SystemMessage } from './SystemMessage/SystemMessage';
|
|
8
|
+
import { ReplyMessage } from './ReplyMessage/ReplyMessage';
|
|
9
|
+
import { MeetingMessage } from './MeetingMessage/MeetingMessage';
|
|
10
|
+
import { AudioMessage } from './AudioMessage/AudioMessage';
|
|
11
|
+
import { FileMessage } from './FileMessage/FileMessage';
|
|
12
|
+
import { LocationMessage } from './LocationMessage/LocationMessage';
|
|
13
|
+
import { SpotifyMessage } from './SpotifyMessage/SpotifyMessage';
|
|
14
|
+
import { VideoMessage } from './VideoMessage/VideoMessage';
|
|
15
|
+
import { PhotoMessage } from './PhotoMessage/PhotoMessage';
|
|
16
|
+
import { MeetingLink } from './MeetingLink/MeetingLink';
|
|
17
|
+
import { Input } from './Input/Input';
|
|
18
|
+
import { Button } from './Button/Button';
|
|
19
|
+
import { Avatar } from './Avatar/Avatar';
|
|
20
|
+
import { Navbar } from './Navbar/Navbar';
|
|
21
|
+
import { Dropdown } from './Dropdown/Dropdown';
|
|
22
|
+
import { SideBar } from './SideBar/SideBar';
|
|
23
|
+
import { Popup } from './Popup/Popup';
|
|
24
|
+
import { ProgressCircle as Circle } from './Circle/Circle';
|
|
25
|
+
export { MessageBox, ChatItem, ChatList, MessageList, MeetingItem, MeetingList, SystemMessage, ReplyMessage, MeetingMessage, AudioMessage, FileMessage, LocationMessage, SpotifyMessage, VideoMessage, PhotoMessage, MeetingLink, Input, Button, Avatar, Navbar, Dropdown, SideBar, Popup, Circle, };
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
import { MessageBox } from './MessageBox/MessageBox';
|
|
2
|
+
import { ChatItem } from './ChatItem/ChatItem';
|
|
3
|
+
import { ChatList } from './ChatList/ChatList';
|
|
4
|
+
import { MessageList } from './MessageList/MessageList';
|
|
5
|
+
import { MeetingItem } from './MeetingItem/MeetingItem';
|
|
6
|
+
import { MeetingList } from './MeetingList/MeetingList';
|
|
7
|
+
import { SystemMessage } from './SystemMessage/SystemMessage';
|
|
8
|
+
import { ReplyMessage } from './ReplyMessage/ReplyMessage';
|
|
9
|
+
import { MeetingMessage } from './MeetingMessage/MeetingMessage';
|
|
10
|
+
import { AudioMessage } from './AudioMessage/AudioMessage';
|
|
11
|
+
import { FileMessage } from './FileMessage/FileMessage';
|
|
12
|
+
import { LocationMessage } from './LocationMessage/LocationMessage';
|
|
13
|
+
import { SpotifyMessage } from './SpotifyMessage/SpotifyMessage';
|
|
14
|
+
import { VideoMessage } from './VideoMessage/VideoMessage';
|
|
15
|
+
import { PhotoMessage } from './PhotoMessage/PhotoMessage';
|
|
16
|
+
import { MeetingLink } from './MeetingLink/MeetingLink';
|
|
17
|
+
import { Input } from './Input/Input';
|
|
18
|
+
import { Button } from './Button/Button';
|
|
19
|
+
import { Avatar } from './Avatar/Avatar';
|
|
20
|
+
import { Navbar } from './Navbar/Navbar';
|
|
21
|
+
import { Dropdown } from './Dropdown/Dropdown';
|
|
22
|
+
import { SideBar } from './SideBar/SideBar';
|
|
23
|
+
import { Popup } from './Popup/Popup';
|
|
24
|
+
import { ProgressCircle as Circle } from './Circle/Circle';
|
|
25
|
+
export { MessageBox, ChatItem, ChatList, MessageList, MeetingItem, MeetingList, SystemMessage, ReplyMessage, MeetingMessage, AudioMessage, FileMessage, LocationMessage, SpotifyMessage, VideoMessage, PhotoMessage, MeetingLink, Input, Button, Avatar, Navbar, Dropdown, SideBar, Popup, Circle, };
|
|
26
|
+
|
|
27
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL0NoYXQvaW5kZXgudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgTWVzc2FnZUJveCB9IGZyb20gJy4vTWVzc2FnZUJveC9NZXNzYWdlQm94J1xuaW1wb3J0IHsgQ2hhdEl0ZW0gfSBmcm9tICcuL0NoYXRJdGVtL0NoYXRJdGVtJ1xuaW1wb3J0IHsgQ2hhdExpc3QgfSBmcm9tICcuL0NoYXRMaXN0L0NoYXRMaXN0J1xuaW1wb3J0IHsgTWVzc2FnZUxpc3QgfSBmcm9tICcuL01lc3NhZ2VMaXN0L01lc3NhZ2VMaXN0J1xuaW1wb3J0IHsgTWVldGluZ0l0ZW0gfSBmcm9tICcuL01lZXRpbmdJdGVtL01lZXRpbmdJdGVtJ1xuaW1wb3J0IHsgTWVldGluZ0xpc3QgfSBmcm9tICcuL01lZXRpbmdMaXN0L01lZXRpbmdMaXN0J1xuaW1wb3J0IHsgU3lzdGVtTWVzc2FnZSB9IGZyb20gJy4vU3lzdGVtTWVzc2FnZS9TeXN0ZW1NZXNzYWdlJ1xuaW1wb3J0IHsgUmVwbHlNZXNzYWdlIH0gZnJvbSAnLi9SZXBseU1lc3NhZ2UvUmVwbHlNZXNzYWdlJ1xuaW1wb3J0IHsgTWVldGluZ01lc3NhZ2UgfSBmcm9tICcuL01lZXRpbmdNZXNzYWdlL01lZXRpbmdNZXNzYWdlJ1xuaW1wb3J0IHsgQXVkaW9NZXNzYWdlIH0gZnJvbSAnLi9BdWRpb01lc3NhZ2UvQXVkaW9NZXNzYWdlJ1xuaW1wb3J0IHsgRmlsZU1lc3NhZ2UgfSBmcm9tICcuL0ZpbGVNZXNzYWdlL0ZpbGVNZXNzYWdlJ1xuaW1wb3J0IHsgTG9jYXRpb25NZXNzYWdlIH0gZnJvbSAnLi9Mb2NhdGlvbk1lc3NhZ2UvTG9jYXRpb25NZXNzYWdlJ1xuaW1wb3J0IHsgU3BvdGlmeU1lc3NhZ2UgfSBmcm9tICcuL1Nwb3RpZnlNZXNzYWdlL1Nwb3RpZnlNZXNzYWdlJ1xuaW1wb3J0IHsgVmlkZW9NZXNzYWdlIH0gZnJvbSAnLi9WaWRlb01lc3NhZ2UvVmlkZW9NZXNzYWdlJ1xuaW1wb3J0IHsgUGhvdG9NZXNzYWdlIH0gZnJvbSAnLi9QaG90b01lc3NhZ2UvUGhvdG9NZXNzYWdlJ1xuaW1wb3J0IHsgTWVldGluZ0xpbmsgfSBmcm9tICcuL01lZXRpbmdMaW5rL01lZXRpbmdMaW5rJ1xuaW1wb3J0IHsgSW5wdXQgfSBmcm9tICcuL0lucHV0L0lucHV0J1xuaW1wb3J0IHsgQnV0dG9uIH0gZnJvbSAnLi9CdXR0b24vQnV0dG9uJ1xuaW1wb3J0IHsgQXZhdGFyIH0gZnJvbSAnLi9BdmF0YXIvQXZhdGFyJ1xuaW1wb3J0IHsgTmF2YmFyIH0gZnJvbSAnLi9OYXZiYXIvTmF2YmFyJ1xuaW1wb3J0IHsgRHJvcGRvd24gfSBmcm9tICcuL0Ryb3Bkb3duL0Ryb3Bkb3duJ1xuaW1wb3J0IHsgU2lkZUJhciB9IGZyb20gJy4vU2lkZUJhci9TaWRlQmFyJ1xuaW1wb3J0IHsgUG9wdXAgfSBmcm9tICcuL1BvcHVwL1BvcHVwJ1xuaW1wb3J0IHsgUHJvZ3Jlc3NDaXJjbGUgYXMgQ2lyY2xlIH0gZnJvbSAnLi9DaXJjbGUvQ2lyY2xlJ1xuXG5leHBvcnQge1xuICBNZXNzYWdlQm94LFxuICBDaGF0SXRlbSxcbiAgQ2hhdExpc3QsXG4gIE1lc3NhZ2VMaXN0LFxuICBNZWV0aW5nSXRlbSxcbiAgTWVldGluZ0xpc3QsXG4gIFN5c3RlbU1lc3NhZ2UsXG4gIFJlcGx5TWVzc2FnZSxcbiAgTWVldGluZ01lc3NhZ2UsXG4gIEF1ZGlvTWVzc2FnZSxcbiAgRmlsZU1lc3NhZ2UsXG4gIExvY2F0aW9uTWVzc2FnZSxcbiAgU3BvdGlmeU1lc3NhZ2UsXG4gIFZpZGVvTWVzc2FnZSxcbiAgUGhvdG9NZXNzYWdlLFxuICBNZWV0aW5nTGluayxcbiAgSW5wdXQsXG4gIEJ1dHRvbixcbiAgQXZhdGFyLFxuICBOYXZiYXIsXG4gIERyb3Bkb3duLFxuICBTaWRlQmFyLFxuICBQb3B1cCxcbiAgQ2lyY2xlLFxufVxuIl0sIm5hbWVzIjpbIk1lc3NhZ2VCb3giLCJDaGF0SXRlbSIsIkNoYXRMaXN0IiwiTWVzc2FnZUxpc3QiLCJNZWV0aW5nSXRlbSIsIk1lZXRpbmdMaXN0IiwiU3lzdGVtTWVzc2FnZSIsIlJlcGx5TWVzc2FnZSIsIk1lZXRpbmdNZXNzYWdlIiwiQXVkaW9NZXNzYWdlIiwiRmlsZU1lc3NhZ2UiLCJMb2NhdGlvbk1lc3NhZ2UiLCJTcG90aWZ5TWVzc2FnZSIsIlZpZGVvTWVzc2FnZSIsIlBob3RvTWVzc2FnZSIsIk1lZXRpbmdMaW5rIiwiSW5wdXQiLCJCdXR0b24iLCJBdmF0YXIiLCJOYXZiYXIiLCJEcm9wZG93biIsIlNpZGVCYXIiLCJQb3B1cCIsIlByb2dyZXNzQ2lyY2xlIiwiQ2lyY2xlIl0sIm1hcHBpbmdzIjoiQUFBQSxTQUFTQSxVQUFVLFFBQVEsMEJBQXlCO0FBQ3BELFNBQVNDLFFBQVEsUUFBUSxzQkFBcUI7QUFDOUMsU0FBU0MsUUFBUSxRQUFRLHNCQUFxQjtBQUM5QyxTQUFTQyxXQUFXLFFBQVEsNEJBQTJCO0FBQ3ZELFNBQVNDLFdBQVcsUUFBUSw0QkFBMkI7QUFDdkQsU0FBU0MsV0FBVyxRQUFRLDRCQUEyQjtBQUN2RCxTQUFTQyxhQUFhLFFBQVEsZ0NBQStCO0FBQzdELFNBQVNDLFlBQVksUUFBUSw4QkFBNkI7QUFDMUQsU0FBU0MsY0FBYyxRQUFRLGtDQUFpQztBQUNoRSxTQUFTQyxZQUFZLFFBQVEsOEJBQTZCO0FBQzFELFNBQVNDLFdBQVcsUUFBUSw0QkFBMkI7QUFDdkQsU0FBU0MsZUFBZSxRQUFRLG9DQUFtQztBQUNuRSxTQUFTQyxjQUFjLFFBQVEsa0NBQWlDO0FBQ2hFLFNBQVNDLFlBQVksUUFBUSw4QkFBNkI7QUFDMUQsU0FBU0MsWUFBWSxRQUFRLDhCQUE2QjtBQUMxRCxTQUFTQyxXQUFXLFFBQVEsNEJBQTJCO0FBQ3ZELFNBQVNDLEtBQUssUUFBUSxnQkFBZTtBQUNyQyxTQUFTQyxNQUFNLFFBQVEsa0JBQWlCO0FBQ3hDLFNBQVNDLE1BQU0sUUFBUSxrQkFBaUI7QUFDeEMsU0FBU0MsTUFBTSxRQUFRLGtCQUFpQjtBQUN4QyxTQUFTQyxRQUFRLFFBQVEsc0JBQXFCO0FBQzlDLFNBQVNDLE9BQU8sUUFBUSxvQkFBbUI7QUFDM0MsU0FBU0MsS0FBSyxRQUFRLGdCQUFlO0FBQ3JDLFNBQVNDLGtCQUFrQkMsTUFBTSxRQUFRLGtCQUFpQjtBQUUxRCxTQUNFeEIsVUFBVSxFQUNWQyxRQUFRLEVBQ1JDLFFBQVEsRUFDUkMsV0FBVyxFQUNYQyxXQUFXLEVBQ1hDLFdBQVcsRUFDWEMsYUFBYSxFQUNiQyxZQUFZLEVBQ1pDLGNBQWMsRUFDZEMsWUFBWSxFQUNaQyxXQUFXLEVBQ1hDLGVBQWUsRUFDZkMsY0FBYyxFQUNkQyxZQUFZLEVBQ1pDLFlBQVksRUFDWkMsV0FBVyxFQUNYQyxLQUFLLEVBQ0xDLE1BQU0sRUFDTkMsTUFBTSxFQUNOQyxNQUFNLEVBQ05DLFFBQVEsRUFDUkMsT0FBTyxFQUNQQyxLQUFLLEVBQ0xFLE1BQU0sS0FDUCJ9
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
export class ChatItem extends React.Component {
|
|
2
|
+
}
|
|
3
|
+
export class ChatList extends React.Component {
|
|
4
|
+
}
|
|
5
|
+
export class MessageBox extends React.Component {
|
|
6
|
+
}
|
|
7
|
+
export class LocationMessage extends React.Component {
|
|
8
|
+
}
|
|
9
|
+
export class PhotoMessage extends React.Component {
|
|
10
|
+
}
|
|
11
|
+
export class VideoMessage extends React.Component {
|
|
12
|
+
}
|
|
13
|
+
export class SpotifyMessage extends React.Component {
|
|
14
|
+
}
|
|
15
|
+
export class AudioMessage extends React.Component {
|
|
16
|
+
}
|
|
17
|
+
export class MeetingLink extends React.Component {
|
|
18
|
+
}
|
|
19
|
+
export class FileMessage extends React.Component {
|
|
20
|
+
}
|
|
21
|
+
export class TextMessage extends React.Component {
|
|
22
|
+
}
|
|
23
|
+
export class SystemMessage extends React.Component {
|
|
24
|
+
}
|
|
25
|
+
export class ReplyMessage extends React.Component {
|
|
26
|
+
}
|
|
27
|
+
export class MeetingMessage extends React.Component {
|
|
28
|
+
}
|
|
29
|
+
export class MeetingItem extends React.Component {
|
|
30
|
+
}
|
|
31
|
+
export class MeetingList extends React.Component {
|
|
32
|
+
}
|
|
33
|
+
export class MessageList extends React.Component {
|
|
34
|
+
}
|
|
35
|
+
export class Popup extends React.Component {
|
|
36
|
+
}
|
|
37
|
+
export class Avatar extends React.Component {
|
|
38
|
+
}
|
|
39
|
+
export class Button extends React.Component {
|
|
40
|
+
}
|
|
41
|
+
export class Sidebar extends React.Component {
|
|
42
|
+
}
|
|
43
|
+
export class Navbar extends React.Component {
|
|
44
|
+
}
|
|
45
|
+
export class Input extends React.Component {
|
|
46
|
+
}
|
|
47
|
+
export class Dropdown extends React.Component {
|
|
48
|
+
}
|
|
49
|
+
export class Circle extends React.Component {
|
|
50
|
+
}
|
|
51
|
+
|
|
52
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL0NoYXQvdHlwZS5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlICogYXMgUmVhY3QgZnJvbSAncmVhY3QnXG5cbi8qKlxuICogSUNoYXRJdGVtUHJvcHMgSW50ZXJmYWNlXG4gKiBAcHJvcCBpZCBUaGUgQ2hhdCBJdGVtJ3MgaWQgYW5kIHJlcXVpcmVkLlxuICogQHByb3AgYXZhdGFyIFRoZSBDaGF0IEl0ZW0ncyBhdmF0YXIgYW5kIHJlcXVpcmVkLlxuICogQHByb3AgdW5yZWFkIFRoZSBDaGF0IEl0ZW0ncyBtZXNzYWdlIHVucmVhZCBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBjbGFzc05hbWUgVGhlIENoYXQgSXRlbSdzIGNvbXBvbmVudCBjbGFzc05hbWUgYW5kIG9wdGlvbmFsLlxuICogQHByb3AgYXZhdGFyRmxleGlibGUgVGhlIENoYXQgSXRlbSdzIGF2YXRhciBhdmF0YXJGbGV4aWJsZSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBhbHQgVGhlIENoYXQgSXRlbSdzIGF2YXRhciBhbHQgYW5kIG9wdGlvbmFsLlxuICogQHByb3AgdGl0bGUgVGhlIENoYXQgSXRlbSdzIHRpdGxlIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIHN1YnRpdGxlIFRoZSBDaGF0IEl0ZW0ncyBzdWJ0aXRsZSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBkYXRlIFRoZSBDaGF0IEl0ZW0ncyBtZXNzYWdlIGRhdGUgYW5kIG9wdGlvbmFsLlxuICogQHByb3AgZGF0ZVN0cmluZyBUaGUgQ2hhdCBJdGVtJ3MgbWVzc2FnZSBkYXRlU3RyaW5nIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIHN0YXR1c0NvbG9yIFRoZSBDaGF0IEl0ZW0ncyBzdGF0dXNDb2xvciBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBzdGF0dXNUZXh0IFRoZSBDaGF0IEl0ZW0ncyBzdGF0dXNUZXh0IGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIGxhenlMb2FkaW5nSW1hZ2UgVGhlIENoYXQgSXRlbSdzIGxhenlMb2FkaW5nSW1hZ2UgYW5kIG9wdGlvbmFsLlxuICogQHByb3AgbXV0ZWQgVGhlIENoYXQgSXRlbSdzIG11dGVkIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIHNob3dNdXRlIFRoZSBDaGF0IEl0ZW0ncyBzaG93TXV0ZSBpY29uIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIHNob3dWaWRlb0NhbGwgVGhlIENoYXQgSXRlbSdzIHNob3dWaWRlb0NhbGwgaWNvbiBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBvbkF2YXRhckVycm9yIFRoZSBDaGF0IEl0ZW0ncyBhdmF0YXIgZnVuY3Rpb24gb25BdmF0YXJFcnJvcihldmVudDogUmVhY3QuTW91c2VFdmVudDxULCBNb3VzZUV2ZW50PikgYW5kIG9wdGlvbmFsLlxuICogQHByb3Agb25Db250ZXh0TWVudSBUaGUgQ2hhdCBJdGVtJ3MgZnVuY3Rpb24gb25Db250ZXh0TWVudShldmVudDogUmVhY3QuTW91c2VFdmVudDxULCBNb3VzZUV2ZW50PikgYW5kIG9wdGlvbmFsLlxuICogQHByb3Agb25DbGljayBUaGUgQ2hhdCBJdGVtJ3MgZnVuY3Rpb24gb25DbGljayhldmVudDogUmVhY3QuTW91c2VFdmVudDxULCBNb3VzZUV2ZW50PikgYW5kIG9wdGlvbmFsLlxuICogQHByb3Agb25DbGlja011dGUgVGhlIENoYXQgSXRlbSdzIG11dGUgaWNvbiBmdW5jdGlvbiBvbkNsaWNrTXV0ZShldmVudDogUmVhY3QuTW91c2VFdmVudDxULCBNb3VzZUV2ZW50PikgYW5kIG9wdGlvbmFsLlxuICogQHByb3Agb25DbGlja1ZpZGVvQ2FsbCBUaGUgQ2hhdCBJdGVtJ3MgdmlkZW9DYWxsIGljb24gZnVuY3Rpb24gb25DbGlja1ZpZGVvQ2FsbChldmVudDogUmVhY3QuTW91c2VFdmVudDxULCBNb3VzZUV2ZW50PikgYW5kIG9wdGlvbmFsLlxuICogQHByb3Agb25EcmFnT3ZlciBUaGUgQ2hhdCBJdGVtJ3MgZHJhZyBvdmVyIGZ1bmN0aW9uIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG9uRHJhZ0VudGVyIFRoZSBDaGF0IEl0ZW0ncyBkcmFnIGVudGVyIGZ1bmN0aW9uIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG9uRHJvcCBUaGUgQ2hhdCBJdGVtJ3MgZHJvcCBmdW5jdGlvbiBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBvbkRyYWdMZWF2ZSBUaGUgQ2hhdCBJdGVtJ3MgZHJvcCBsZWF2ZSBmdW5jdGlvbiBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBvbkRyYWdDb21wb25lbnQgVGhlIENoYXQgSXRlbSdzIGRyYWcgY29tcG9uZW50IGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIGxldHRlckl0ZW0gVGhlIENoYXQgSXRlbSdzIGF2YXRhciBsZXR0ZXJJdGVtIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIHN1Ykxpc3QgVGhlIENoYXQgSXRlbSdzIHN1YiBjaGF0IGl0ZW1zIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG9uRXhwYW5kSXRlbSBUaGUgQ2hhdCBJdGVtJ3MgZXhwYW5kIGZ1bmN0aW9uIG9uRXhwYW5kSXRlbShpZDogc3RyaW5nKSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBleHBhbmRlZCBUaGUgQ2hhdCBJdGVtJ3MgZXhwYW5kZWQgYW5kIG9wdGlvbmFsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElDaGF0SXRlbVByb3BzIHtcbiAgaWQ6IHN0cmluZyB8IG51bWJlclxuICBhdmF0YXI6IHN0cmluZ1xuICB1bnJlYWQ/OiBudW1iZXJcbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gIGF2YXRhckZsZXhpYmxlPzogYm9vbGVhblxuICBhdmF0YXJTaXplPzogJ3hzbWFsbCcgfCAnc21hbGwnIHwgJ21lZGl1bScgfCAnbGFyZ2UnIHwgJ3hsYXJnZSc7XG4gIGFsdD86IHN0cmluZ1xuICB0aXRsZT86IHN0cmluZ1xuICBzdWJ0aXRsZT86IHN0cmluZ1xuICBhZGRlZD86IG51bWJlciB8IHN0cmluZyB8IERhdGVcbiAgZGF0ZT86IG51bWJlciB8IHN0cmluZyB8IERhdGVcbiAgZGF0ZVN0cmluZz86IHN0cmluZ1xuICBzdGF0dXNDb2xvcj86IHN0cmluZ1xuICBzdGF0dXNDb2xvclR5cGU/OiBzdHJpbmdcbiAgc3RhdHVzVGV4dD86IHN0cmluZ1xuICBsYXp5TG9hZGluZ0ltYWdlPzogc3RyaW5nXG4gIG11dGVkPzogYm9vbGVhblxuICBzaG93TXV0ZT86IGJvb2xlYW5cbiAgc2hvd1ZpZGVvQ2FsbD86IGJvb2xlYW5cbiAgb25BdmF0YXJFcnJvcj86IFJlYWN0Lk1vdXNlRXZlbnRIYW5kbGVyXG4gIG9uQ29udGV4dE1lbnU/OiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlclxuICBvbkNsaWNrPzogUmVhY3QuTW91c2VFdmVudEhhbmRsZXJcbiAgb25DbGlja011dGU/OiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlclxuICBvbkNsaWNrVmlkZW9DYWxsPzogUmVhY3QuTW91c2VFdmVudEhhbmRsZXJcbiAgb25EcmFnT3Zlcj86IEZ1bmN0aW9uXG4gIG9uRHJhZ0VudGVyPzogRnVuY3Rpb25cbiAgb25Ecm9wPzogRnVuY3Rpb25cbiAgb25EcmFnTGVhdmU/OiBGdW5jdGlvblxuICBzZXREcmFnU3RhdGVzPzogRnVuY3Rpb25cbiAgb25EcmFnQ29tcG9uZW50PzogYW55XG4gIGxldHRlckl0ZW0/OiBJTGV0dGVySXRlbVxuICBjdXN0b21TdGF0dXNDb21wb25lbnRzPzogUmVhY3QuRWxlbWVudFR5cGU8YW55PltdXG4gIHN1Ykxpc3Q/OiBJQ2hhdEl0ZW1Qcm9wc1tdXG4gIG9uRXhwYW5kSXRlbT86IEZ1bmN0aW9uXG4gIGV4cGFuZGVkPzogYm9vbGVhbjtcbn1cblxuLyoqXG4gKiBJTGV0dGVySXRlbSBJbnRlcmZhY2VcbiAqIEBwcm9wIGlkIFRoZSBMZXR0ZXJJdGVtJ3MgaWQgYW5kIHJlcXVpcmVkLlxuICogQHByb3AgbGV0dGVyIFRoZSBMZXR0ZXIgSXRlbSdzIGxldHRlciBpcyBhIGNvbXBvbmVudCBhbmQgb3B0aW9uYWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUxldHRlckl0ZW0ge1xuICBpZDogc3RyaW5nXG4gIGxldHRlcj86IFJlYWN0LlJlYWN0Tm9kZVxufVxuXG4vKipcbiAqIElDaGF0TGlzdFByb3BzIEludGVyZmFjZVxuICogQHByb3AgaWQgVGhlIENoYXRMaXN0J3MgaWQgYW5kIHJlcXVpcmVkLlxuICogQHByb3AgY2xhc3NOYW1lIFRoZSBDaGF0IExpc3QncyBjb21wb25lbnQgY2xhc3NOYW1lIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIGxhenlMb2FkaW5nSW1hZ2UgVGhlIENoYXQgTGlzdCdzIGxhenlMb2FkaW5nSW1hZ2UgYW5kIG9wdGlvbmFsLlxuICogQHByb3AgZGF0YXNvdXJjZSBUaGUgQ2hhdCBMaXN0J3MgZGF0YVNvdXJjZSBpcyBhIElDaGF0SXRlbVByb3BzIGFycmF5IGFuZCByZXF1aXJlZC5cbiAqIEBwcm9wIGNtcFJlZiBUaGUgQ2hhdCBMaXN0J3MgY21wUmVmIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG9uQXZhdGFyRXJyb3IgVGhlIENoYXQgSXRlbSdzIGZ1bmN0aW9uIG9uQXZhdGFyRXJyb3IoaXRlbTogSUNoYXRJdGVtUHJvcHMsIGluZGV4OiBudW1iZXIsIGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxFbGVtZW50LCBNb3VzZUV2ZW50PikgYW5kIG9wdGlvbmFsLlxuICogQHByb3Agb25Db250ZXh0TWVudSBUaGUgQ2hhdCBJdGVtJ3MgZnVuY3Rpb24gb25Db250ZXh0TWVudShpdGVtOiBJQ2hhdEl0ZW1Qcm9wcywgaW5kZXg6IG51bWJlciwgZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEVsZW1lbnQsIE1vdXNlRXZlbnQ+KSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBvbkNsaWNrIFRoZSBDaGF0IEl0ZW0ncyBmdW5jdGlvbiBvbkNsaWNrKGl0ZW06IElDaGF0SXRlbVByb3BzLCBpbmRleDogbnVtYmVyLCBldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MRWxlbWVudCwgTW91c2VFdmVudD4pIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG9uQ2xpY2tNdXRlIFRoZSBDaGF0IEl0ZW0ncyBmdW5jdGlvbiBvbkNsaWNrTXV0ZShpdGVtOiBJQ2hhdEl0ZW1Qcm9wcywgaW5kZXg6IG51bWJlciwgZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEVsZW1lbnQsIE1vdXNlRXZlbnQ+KSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBvbkNsaWNrVmlkZW9DYWxsIFRoZSBDaGF0IEl0ZW0ncyBmdW5jdGlvbiBvbkNsaWNrVmlkZW9DYWxsKGl0ZW06IElDaGF0SXRlbVByb3BzLCBpbmRleDogbnVtYmVyLCBldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MRWxlbWVudCwgTW91c2VFdmVudD4pIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG9uRHJhZ092ZXIgVGhlIENoYXQgSXRlbSdzIGRyYWcgb3ZlciBmdW5jdGlvbiBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBvbkRyYWdFbnRlciBUaGUgQ2hhdCBJdGVtJ3MgZHJhZyBlbnRlciBmdW5jdGlvbiBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBvbkRyb3AgVGhlIENoYXQgSXRlbSdzIGRyb3AgZnVuY3Rpb24gYW5kIG9wdGlvbmFsLlxuICogQHByb3Agb25EcmFnTGVhdmUgVGhlIENoYXQgSXRlbSdzIGRyb3AgbGVhdmUgZnVuY3Rpb24gYW5kIG9wdGlvbmFsLlxuICogQHByb3Agb25EcmFnQ29tcG9uZW50IFRoZSBDaGF0IEl0ZW0ncyBkcmFnIGNvbXBvbmVudCBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBvbkV4cGFuZCBUaGUgQ2hhdCBJdGVtJ3MgZXhwYW5kIGZ1bmN0aW9uIGFuZCBvcHRpb25hbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ2hhdExpc3RQcm9wcyB7XG4gIGlkOiBzdHJpbmcgfCBudW1iZXJcbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gIGxhenlMb2FkaW5nSW1hZ2U6IHN0cmluZ1xuICBkYXRhU291cmNlOiBJQ2hhdEl0ZW1Qcm9wc1tdXG4gIGNtcFJlZj86IFJlYWN0LlJlZjxIVE1MQnV0dG9uRWxlbWVudD5cbiAgb25BdmF0YXJFcnJvcj86IENoYXRMaXN0RXZlbnRcbiAgb25Db250ZXh0TWVudT86IENoYXRMaXN0RXZlbnRcbiAgb25DbGljaz86IENoYXRMaXN0RXZlbnRcbiAgb25DbGlja011dGU/OiBDaGF0TGlzdEV2ZW50XG4gIG9uQ2xpY2tWaWRlb0NhbGw/OiBDaGF0TGlzdEV2ZW50XG4gIG9uRHJhZ092ZXI/OiBGdW5jdGlvblxuICBvbkRyYWdFbnRlcj86IEZ1bmN0aW9uXG4gIG9uRHJvcD86IEZ1bmN0aW9uXG4gIG9uRHJhZ0xlYXZlPzogRnVuY3Rpb25cbiAgb25EcmFnQ29tcG9uZW50PzogRnVuY3Rpb25cbiAgb25FeHBhbmQ/OiBGdW5jdGlvblxufVxuXG4vKipcbiAqIENoYXRMaXN0RXZlbnQgVHlwZVxuICogQHBhcmFtIGl0ZW0gVGhlIENoYXRMaXN0RXZlbnQncyBpdGVtIGlzIGEgSUNoYXRJdGVtUHJvcHMuXG4gKiBAcGFyYW0gaW5kZXggVGhlIENoYXQgTGlzdCdzIGluZGV4LlxuICogQHBhcmFtIGV2ZW50IFRoZSBDaGF0IExpc3QncyBldmVudC5cbiAqL1xudHlwZSBDaGF0TGlzdEV2ZW50ID0gKGl0ZW06IElDaGF0SXRlbVByb3BzLCBpbmRleDogbnVtYmVyLCBldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MRWxlbWVudD4pID0+IGFueVxuXG4vKipcbiAqXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSURlZmF1bHRQcm9wcyB7XG4gIHN0eWxlOiB7XG4gICAgW2tleTogc3RyaW5nXTogdW5rbm93blxuICB9XG4gIG9uQ2xpY2s6IEZ1bmN0aW9uXG59XG5cbi8qKlxuICogSU1lc3NhZ2UgSW50ZXJmYWNlXG4gKiBAcHJvcCBpZCBUaGUgTWVzc2FnZSdzIGlkIGFuZCByZXF1cmllZC5cbiAqIEBwcm9wIHBvc2l0aW9uIFRoZSBNZXNzYWdlJ3MgcG9zaXRpb24gYW5kIHJlcXVyaWVkLlxuICogQHByb3AgdGV4dCBUaGUgTWVzc2FnZSdzIHRleHQgYW5kIHJlcXVyaWVkLlxuICogQHByb3AgdGl0bGUgVGhlIE1lc3NhZ2UncyB0aXRsZSBhbmQgcmVxdXJpZWQuXG4gKiBAcHJvcCBmb2N1cyBUaGUgTWVzc2FnZSdzIGZvY3VzIGFuZCByZXF1cmllZC5cbiAqIEBwcm9wIGRhdGUgVGhlIE1lc3NhZ2UncyBkYXRlIGFuZCByZXF1cmllZC5cbiAqIEBwcm9wIGRhdGVTdHJpbmcgVGhlIE1lc3NhZ2UncyBkYXRlU3RyaW5nIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIGF2YXRhciBUaGUgTWVzc2FnZSdzIGF2YXRhciBpbWFnZSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCB0aXRsZUNvbG9yIFRoZSBNZXNzYWdlJ3MgdGl0bGVDb2xvciBhbmQgcmVxdWlyZWQuXG4gKiBAcHJvcCBmb3J3YXJkZWQgVGhlIE1lc3NhZ2UncyBmb3J3YXJkZWQgYW5kIHJlcXVpcmVkLlxuICogQHByb3AgcmVwbHlCdXR0b24gVGhlIE1lc3NhZ2UncyByZXBseUJ1dHRvbiBpY29uIGFuZCByZXF1aXJlZC5cbiAqIEBwcm9wIHJlbW92ZUJ1dHRvbiBUaGUgTWVzc2FnZSdzIHJlbW92ZUJ1dHRvbiBpY29uIGFuZCByZXF1aXJlZC5cbiAqIEBwcm9wIHN0YXR1cyBUaGUgTWVzc2FnZSdzIHN0YXR1cyBpY29uIGFuZCByZXF1aXJlZC5cbiAqIEBwcm9wIHN0YXR1c1RpdGxlIFRoZSBNZXNzYWdlJ3Mgc3RhdHVzVGl0bGUgYW5kIHJlcXVpcmVkLlxuICogQHByb3Agbm90Y2ggVGhlIE1lc3NhZ2UncyBub3RjaCBhbmQgcmVxdWlyZWQuXG4gKiBAcHJvcCBjb3BpYWJsZURhdGUgVGhlIE1lc3NhZ2UncyBjb3BpYWJsZURhdGUgYW5kIG9wdGlvbmFsLlxuICogQHByb3AgcmV0cmFjdGVkIFRoZSBNZXNzYWdlJ3MgcmV0cmFjdGVkIGFuZCByZXF1aXJlZC5cbiAqIEBwcm9wIGNsYXNzTmFtZSBUaGUgTWVzc2FnZSdzIGNsYXNzTmFtZSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBsZXR0ZXJJdGVtIFRoZSBNZXNzYWdlJ3MgbGV0dGVySXRlbSBpcyBhIElMZXR0ZXJJdGVtIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIHJlcGx5IFRoZSBNZXNzYWdlJ3MgcmVwbHkgYW5kIG9wdGlvbmFsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElNZXNzYWdlIHtcbiAgaWQ6IHN0cmluZyB8IG51bWJlclxuICBwb3NpdGlvbjogc3RyaW5nXG4gIHRleHQ6IHN0cmluZ1xuICB0aXRsZTogc3RyaW5nXG4gIGZvY3VzOiBib29sZWFuXG4gIGFkZGVkPzogbnVtYmVyIHwgRGF0ZSB8IHN0cmluZ1xuICBkYXRlPzogbnVtYmVyIHwgRGF0ZSB8IHN0cmluZ1xuICBkYXRlU3RyaW5nPzogc3RyaW5nXG4gIGF2YXRhcj86IHN0cmluZ1xuICB0aXRsZUNvbG9yOiBzdHJpbmdcbiAgZm9yd2FyZGVkOiBib29sZWFuXG4gIHJlcGx5QnV0dG9uOiBib29sZWFuXG4gIHJlbW92ZUJ1dHRvbjogYm9vbGVhblxuICBzdGF0dXM6ICd3YWl0aW5nJyB8ICdzZW50JyB8ICdyZWNlaXZlZCcgfCAncmVhZCdcbiAgc3RhdHVzVGl0bGU/OiBzdHJpbmdcbiAgbm90Y2g6IGJvb2xlYW5cbiAgY29waWFibGVEYXRlPzogYm9vbGVhblxuICByZXRyYWN0ZWQ6IGJvb2xlYW5cbiAgY2xhc3NOYW1lPzogc3RyaW5nXG4gIGxldHRlckl0ZW0/OiBJTGV0dGVySXRlbVxuICByZXBseT86IElSZXBseU1lc3NhZ2UgfCBhbnlcbiAgdHlwZTogc3RyaW5nXG4gIGZvcndhcmRlZE1lc3NhZ2VUZXh0PzogU3RyaW5nXG59XG5cbi8qKlxuICogSVBob3RvTWVzc2FnZSBJbnRlcmZhY2VcbiAqIEBwcm9wIHR5cGUgVGhlIFBob3RvIE1lc3NhZ2UncyB0eXBlIGlzIFwicGhvdG9cIiBhbmQgcmVxdWlyZWQuXG4gKiBAcHJvcCB3aWR0aCBUaGUgUGhvdG8gTWVzc2FnZSdzIHdpZHRoIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIGhlaWdodCBUaGUgUGhvdG8gTWVzc2FnZSdzIGhlaWdodCBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCB1cmkgVGhlIFBob3RvIE1lc3NhZ2UncyB1cmkgYW5kIHJlcXVpcmVkLlxuICogQHByb3AgYWx0IFRoZSBQaG90byBNZXNzYWdlJ3MgYWx0IGFuZCBvcHRpb25hbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUGhvdG9NZXNzYWdlIGV4dGVuZHMgSU1lc3NhZ2Uge1xuICBkYXRhPzoge1xuICAgIHN0YXR1czogSU1lc3NhZ2VEYXRhU3RhdHVzXG4gICAgdXJpOiBzdHJpbmdcbiAgICB3aWR0aD86IG51bWJlclxuICAgIGhlaWdodD86IG51bWJlclxuICAgIG5hbWU/OiBzdHJpbmdcbiAgICBleHRlbnNpb24/OiBzdHJpbmdcbiAgICBzaXplPzogbnVtYmVyXG4gICAgaWQ/OiBzdHJpbmdcbiAgICBhbHQ/OiBzdHJpbmdcbiAgfVxufVxuXG4vKipcbiAqIElQaG90b01lc3NhZ2VQcm9wcyBJbnRlcmZhY2VcbiAqIEBwcm9wIHR5cGUgVGhlIFBob3RvIE1lc3NhZ2UncyB0eXBlIGlzIFwicGhvdG9cIiBhbmQgcmVxdWlyZWQuXG4gKiBAcHJvcCBtZXNzYWdlIFRoZSBQaG90byBNZXNzYWdlJ3MgbWVzc2FnZSBpcyBhIElQaG90b01lc3NhZ2UgYW5kIHJlcXVpcmVkLlxuICogQHByb3Agb25Eb3dubG9hZCBUaGUgUGhvdG8gTWVzc2FnZSdzIGZ1bmN0aW9uIG9uRG93bmxvYWQoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8VCwgTW91c2VFdmVudD4pIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG9uT3BlbiBUaGUgUGhvdG8gTWVzc2FnZSdzIGZ1bmN0aW9uIG9uT3BlbihldmVudDogUmVhY3QuTW91c2VFdmVudDxULCBNb3VzZUV2ZW50PikgYW5kIG9wdGlvbmFsLlxuICogQHByb3Agb25Mb2FkIFRoZSBQaG90byBNZXNzYWdlJ3MgZnVuY3Rpb24gb25Mb2FkKGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PFQsIE1vdXNlRXZlbnQ+KSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBvbkVycm9yIFRoZSBQaG90byBNZXNzYWdlJ3MgZnVuY3Rpb24gb25FcnJvcihldmVudDogUmVhY3QuTW91c2VFdmVudDxULCBNb3VzZUV2ZW50PikgYW5kIG9wdGlvbmFsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElQaG90b01lc3NhZ2VQcm9wcyBleHRlbmRzIElQaG90b01lc3NhZ2Uge1xuICBvbkRvd25sb2FkPzogUmVhY3QuTW91c2VFdmVudEhhbmRsZXJcbiAgb25PcGVuPzogUmVhY3QuTW91c2VFdmVudEhhbmRsZXJcbiAgb25Mb2FkPzogUmVhY3QuUmVhY3RFdmVudEhhbmRsZXJcbiAgb25QaG90b0Vycm9yPzogUmVhY3QuUmVhY3RFdmVudEhhbmRsZXJcbn1cblxuLyoqXG4gKiBJUmVwbHlNZXNzYWdlIEludGVyZmFjZSBleHRlbmRzIElNZXNzYWdlXG4gKiBAcHJvcCB0eXBlIFRoZSBSZXBseSBNZXNzYWdlJ3MgdHlwZSBpcyBcInJlcGx5XCIgYW5kIHJlcXVpcmVkLlxuICogQHByb3AgcGhvdG9VUkwgVGhlIFJlcGx5IE1lc3NhZ2UncyBwaG90b1VSTCBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBtZXNzYWdlIFRoZSBSZXBseSBNZXNzYWdlJ3MgbWVzc2FnZSBhbmQgb3B0aW9uYWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVJlcGx5TWVzc2FnZSBleHRlbmRzIElNZXNzYWdlIHtcbiAgbWVzc2FnZTogc3RyaW5nXG4gIHBob3RvVVJMOiBzdHJpbmdcbn1cblxuLyoqXG4gKiBJUmVwbHlNZXNzYWdlUHJvcHMgSW50ZXJmYWNlXG4gKiBAcHJvcCB0eXBlIFRoZSBSZXBseSBNZXNzYWdlJ3MgdHlwZSBpcyBcInJlcGx5XCIgYW5kIHJlcXVpcmVkLlxuICogQHByb3AgbWVzc2FnZSBUaGUgUmVwbHkgTWVzc2FnZSdzIG1lc3NhZ2UgaXMgYSBJUmVwbHlNZXNzYWdlIGFuZCByZXF1aXJlZC5cbiAqIEBwcm9wIG9uQ2xpY2sgVGhlIFJlcGx5IE1lc3NhZ2UncyBmdW5jdGlvbiBvbkNsaWNrKGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PFQsIE1vdXNlRXZlbnQ+KSBhbmQgb3B0aW9uYWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVJlcGx5TWVzc2FnZVByb3BzIGV4dGVuZHMgSVJlcGx5TWVzc2FnZSB7XG4gIG9uQ2xpY2s/OiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlclxufVxuXG4vKipcbiAqIElNZWV0aW5nTWVzc2FnZSBJbnRlcmZhY2UgZXh0ZW5zIElNZXNzYWdlXG4gKiBAcHJvcCB0eXBlIFRoZSBNZWV0aW5nIE1lc3NhZ2UncyB0eXBlIGlzIFwibWVldGluZ1wiIGFuZCByZXF1aXJlZC5cbiAqIEBwcm9wIG1lc3NhZ2UgVGhlIE1lZXRpbmcgTWVzc2FnZSdzIG1lc3NhZ2UgYW5kIG9wdGlvbmFsLlxuICogQHByb3AgYXZhdGFyRmxleGlibGUgVGhlIE1lZXRpbmcgTWVzc2FnZSdzIGF2YXRhckZsZXhpYmxlIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIGV2ZW50IFRoZSBNZWV0aW5nIE1lc3NhZ2UncyBldmVudCBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCByZWNvcmQgVGhlIE1lZXRpbmcgTWVzc2FnZSdzIHJlY29yZCBhbmQgb3B0aW9uYWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSU1lZXRpbmdNZXNzYWdlIGV4dGVuZHMgSU1lc3NhZ2Uge1xuICBtZXNzYWdlPzogc3RyaW5nXG4gIGF2YXRhckZsZXhpYmxlPzogYm9vbGVhblxuICBldmVudD86IHtcbiAgICB0aXRsZT86IHN0cmluZ1xuICAgIGF2YXRhcnM/OiBJQXZhdGFyUHJvcHNbXVxuICAgIGF2YXRhcnNMaW1pdD86IGFueVxuICB9XG4gIHJlY29yZD86IHtcbiAgICBhdmF0YXI6IHN0cmluZ1xuICAgIHRpdGxlPzogc3RyaW5nXG4gICAgc2F2ZWRCeT86IHN0cmluZ1xuICAgIHRpbWU/OiBzdHJpbmdcbiAgfVxufVxuXG4vKipcbiAqIElNZWV0aW5nTWVzc2FnZVByb3BzIEludGVyZmFjZVxuICogQHByb3AgdHlwZSBUaGUgTWVldGluZyBNZXNzYWdlJ3MgdHlwZSBpcyBcIm1lZXRpbmdcIiBhbmQgcmVxdWlyZWQuXG4gKiBAcHJvcCBzdWJqZWN0IFRoZSBNZWV0aW5nIE1lc3NhZ2UncyBzdWJqZWN0IGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIHRpdGxlIFRoZSBNZWV0aW5nIE1lc3NhZ2UncyB0aXRsZSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBkYXRlIFRoZSBNZWV0aW5nIE1lc3NhZ2UncyBkYXRlIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIGRhdGVTdHJpbmcgVGhlIE1lZXRpbmcgTWVzc2FnZSdzIGRhdGVTdHJpbmcgYW5kIG9wdGlvbmFsLlxuICogQHByb3AgY29sbGFwc2VUaXRsZSBUaGUgTWVldGluZyBNZXNzYWdlJ3MgY29sbGFwc2VUaXRsZSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBwYXJ0aWNpcGFudHMgVGhlIE1lZXRpbmcgTWVzc2FnZSdzIHBhcnRpY2lwYW50cyBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBtb3JlIFRoZSBNZWV0aW5nIE1lc3NhZ2UncyBtb3JlIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG1lc3NhZ2UgVGhlIE1lZXRpbmcgTWVzc2FnZSdzIG1lc3NhZ2UgaXMgYSBJTWVldGluZ01lc3NhZ2UgYW5kIHJlcXVpcmVkLlxuICogQHByb3AgZGF0YVNvdXJjZSBUaGUgTWVldGluZyBNZXNzYWdlJ3MgZGF0YVNvdXJjZSBpcyBhIElNZWV0aW5nTWVzc2FnZSBhcnJheSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBwYXJ0aWNpcGFudHNMaW1pdCBUaGUgTWVldGluZyBNZXNzYWdlJ3MgcGFydGljaXBhbnRzTGltaXQgYW5kIG9wdGlvbmFsLlxuICogQHByb3Agb25jbGljayBUaGUgTWVldGluZyBNZXNzYWdlJ3MgZnVuY3Rpb24gb25jbGljayhldmVudDogUmVhY3QuTW91c2VFdmVudDxULCBNb3VzZUV2ZW50PikgYW5kIG9wdGlvbmFsLlxuICogQHByb3Agb25NZWV0aW5nVGl0bGVDbGljayBUaGUgTWVldGluZyBNZXNzYWdlJ3MgZnVuY3Rpb24gb25NZWV0aW5nVGl0bGVDbGljayhpdGVtOiBJTWVldGluZ01lc3NhZ2UsIGluZGV4OiBudW1iZXIsIGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxFbGVtZW50LCBNb3VzZUV2ZW50PikgYW5kIG9wdGlvbmFsLlxuICogQHByb3Agb25NZWV0aW5nVmlkZW9MaW5rQ2xpY2sgVGhlIE1lZXRpbmcgTWVzc2FnZSdzIGZ1bmN0aW9uIG9uTWVldGluZ1ZpZGVvTGlua0NsaWNrKGl0ZW06IElNZWV0aW5nTWVzc2FnZSwgaW5kZXg6IG51bWJlciwgZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEVsZW1lbnQsIE1vdXNlRXZlbnQ+KSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBvbk1lZXRpbmdNb3JlU2VsZWN0IFRoZSBNZWV0aW5nIE1lc3NhZ2UncyBmdW5jdGlvbiBvbk1lZXRpbmdNb3JlU2VsZWN0ICBhbmQgb3B0aW9uYWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSU1lZXRpbmdNZXNzYWdlUHJvcHMgZXh0ZW5kcyBJTWVldGluZ01lc3NhZ2Uge1xuICBzdWJqZWN0Pzogc3RyaW5nXG4gIGRhdGVTdHJpbmc/OiBzdHJpbmdcbiAgY29sbGFwc2VUaXRsZT86IHN0cmluZ1xuICBwYXJ0aWNpcGFudHM/OiBBcnJheTx7XG4gICAgaWQ/OiBudW1iZXIgfCBzdHJpbmdcbiAgICB0aXRsZT86IHN0cmluZ1xuICB9PlxuICBtb3JlSXRlbXM/OiBBcnJheTx7XG4gICAgdGV4dD86IHN0cmluZ1xuICAgIGljb24/OiB7XG4gICAgICBjb21wb25lbnQ/OiBhbnlcbiAgICAgIGZsb2F0Pzogc3RyaW5nXG4gICAgICBjb2xvcj86IHN0cmluZ1xuICAgICAgc2l6ZT86IG51bWJlclxuICAgIH1cbiAgfT5cbiAgZGF0YVNvdXJjZT86IElNZWV0aW5nTWVzc2FnZVtdXG4gIHBhcnRpY2lwYW50c0xpbWl0PzogbnVtYmVyXG4gIG9uQ2xpY2s/OiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlclxuICBvbk1lZXRpbmdUaXRsZUNsaWNrPzogTWVldGluZ01lc3NhZ2VFdmVudFxuICBvbk1lZXRpbmdWaWRlb0xpbmtDbGljaz86IE1lZXRpbmdNZXNzYWdlRXZlbnRcbiAgb25NZWV0aW5nTW9yZVNlbGVjdD86IEZ1bmN0aW9uXG59XG5cbi8qKlxuICogSVZpZGVvTWVzc2FnZSBJbnRlcmZhY2VcbiAqIEBwcm9wIHR5cGUgVGhlIFZpZGVvIE1lc3NhZ2UncyB0eXBlIGlzIFwidmlkZW9cIiBhbmQgcmVxdWlyZWQuXG4gKiBAcHJvcCB2aWRlb1VSTCBUaGUgVmlkZW8gTWVzc2FnZSdzIHZpZGVvVVJMIGFuZCByZXF1aXJlZC5cbiAqIEBwcm9wIHVyaSBUaGUgVmlkZW8gTWVzc2FnZSdzIHVyaSBhbmQgcmVxdWlyZWQuXG4gKiBAcHJvcCB3aWR0aCBUaGUgVmlkZW8gTWVzc2FnZSdzIHdpZHRoIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIGhlaWdodCBUaGUgVmlkZW8gTWVzc2FnZSdzIGhlaWdodCBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBhbHQgVGhlIFZpZGVvIE1lc3NhZ2UncyBhbHQgYW5kIG9wdGlvbmFsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElWaWRlb01lc3NhZ2UgZXh0ZW5kcyBJTWVzc2FnZSB7XG4gIGNvbnRyb2xzTGlzdDogc3RyaW5nXG4gIGRhdGE6IHtcbiAgICB2aWRlb1VSTD86IHN0cmluZ1xuICAgIHRodW1ibmFpbFVSTD86IHN0cmluZ1xuICAgIHdpZHRoPzogbnVtYmVyXG4gICAgaGVpZ2h0PzogbnVtYmVyXG4gICAgbmFtZT86IHN0cmluZ1xuICAgIGV4dGVuc2lvbj86IHN0cmluZ1xuICAgIHNpemU/OiBzdHJpbmdcbiAgICBhbHQ/OiBzdHJpbmdcbiAgICBpZD86IHN0cmluZ1xuICAgIHVyaT86IHN0cmluZ1xuICAgIHN0YXR1cz86IElNZXNzYWdlRGF0YVN0YXR1c1xuICB9XG59XG5cbi8qKlxuICogSVZpZGVvTWVzc2FnZVByb3BzIEludGVyZmFjZVxuICogQHByb3AgdHlwZSBUaGUgVmlkZW8gTWVzc2FnZSdzIHR5cGUgaXMgXCJ2aWRlb1wiIGFuZCByZXF1aXJlZC5cbiAqIEBwcm9wIG1lc3NhZ2UgVGhlIFZpZGVvIE1lc3NhZ2UncyBtZXNzYWdlIGlzIGEgSVZpZGVvTWVzc2FnZSBhbmQgcmVxdWlyZWQuXG4gKiBAcHJvcCBvbkRvd25sb2FkIFRoZSBWaWRlbyBNZXNzYWdlJ3MgZnVuY3Rpb24gb25Eb3dubG9hZChldmVudDogUmVhY3QuTW91c2VFdmVudDxULCBNb3VzZUV2ZW50PikgYW5kIG9wdGlvbmFsLlxuICogQHByb3Agb25PcGVuIFRoZSBWaWRlbyBNZXNzYWdlJ3MgZnVuY3Rpb24gb25PcGVuKGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PFQsIE1vdXNlRXZlbnQ+KSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBvbkxvYWQgVGhlIFZpZGVvIE1lc3NhZ2UncyBmdW5jdGlvbiBvbkxvYWQoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8VCwgTW91c2VFdmVudD4pIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG9uUGhvdG9FcnJvciBUaGUgVmlkZW8gTWVzc2FnZSdzIGZ1bmN0aW9uIG9uUGhvdG9FcnJvcihldmVudDogUmVhY3QuU3ludGhldGljRXZlbnQ8VCwgRXZlbnQ+KSBhbmQgb3B0aW9uYWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVZpZGVvTWVzc2FnZVByb3BzIGV4dGVuZHMgSVZpZGVvTWVzc2FnZSB7XG4gIG9uRG93bmxvYWQ/OiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlclxuICBvbk9wZW4/OiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlclxuICBvbkxvYWQ/OiBSZWFjdC5SZWFjdEV2ZW50SGFuZGxlclxuICBvblBob3RvRXJyb3I/OiBSZWFjdC5SZWFjdEV2ZW50SGFuZGxlclxufVxuXG4vKipcbiAqIElTeXN0ZW1NZXNzYWdlIEludGVyZmFjZSBleHRlbmRzIElNZXNzYWdlXG4gKiBAcHJvcCB0eXBlIFRoZSBTeXN0ZW0gTWVzc2FnZSdzIHR5cGUgaXMgXCJzeXN0ZW1cIiBhbmQgcmVxdWlyZWQuXG4gKiBAcHJvcCB0ZXh0IFRoZSBTeXN0ZW0gTWVzc2FnZSdzIHRleHQgYW5kIHJlcXVyaWVkLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElTeXN0ZW1NZXNzYWdlIGV4dGVuZHMgSU1lc3NhZ2Uge1xuICB0ZXh0OiBzdHJpbmdcbn1cblxuLyoqXG4gKiBJU3lzdGVtTWVzc2FnZVByb3BzIEludGVyZmFjZVxuICogQHByb3AgdHlwZSBUaGUgU3lzdGVtIE1lc3NhZ2UncyB0eXBlIGlzIFwic3lzdGVtXCIgYW5kIHJlcXVpcmVkLlxuICogQHByb3AgbWVzc2FnZSBUaGUgU3lzdGVtIE1lc3NhZ2UncyBtZXNzYWdlIGlzIElTeXN0ZW1NZXNzYWdlIGFuZCByZXF1aXJlZC5cbiAqIEBwcm9wIGNsYXNzTmFtZSBUaGUgU3lzdGVtIE1lc3NhZ2UncyBjbGFzc05hbWUgYW5kIG9wdGlvbmFsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElTeXN0ZW1NZXNzYWdlUHJvcHMgZXh0ZW5kcyBJU3lzdGVtTWVzc2FnZSB7XG4gIGNsYXNzTmFtZT86IHN0cmluZ1xufVxuXG4vKipcbiAqIElBdWRpb01lc3NhZ2UgSW50ZXJmYWNlIGV4dGVuZHMgSU1lc3NhZ2VcbiAqIEBwcm9wIHR5cGUgVGhlIEF1ZGlvIE1lc3NhZ2UncyB0eXBlIGlzIFwiYXVkaW9cIiBhbmQgcmVxdWlyZWQuXG4gKiBAcHJvcCBhdWRpb1VSTCBUaGUgQXVkaW8gTWVzc2FnZSdzIGF1ZGlvIHVybCBhbmQgcmVxdWlyZWQuXG4gKiBAcHJvcCBhdWRpb1R5cGUgVGhlIEF1ZGlvIE1lc3NhZ2UncyBhdWRpbyB0eXBlIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIGNvbnRyb2xzTGlzdCBUaGUgQXVkaW8gTWVzc2FnZSdzIGNvbnRyb2xzIGxpc3QgYW5kIG9wdGlvbmFsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElBdWRpb01lc3NhZ2UgZXh0ZW5kcyBJTWVzc2FnZSB7XG4gIGRhdGE6IHtcbiAgICBhdWRpb1VSTD86IHN0cmluZ1xuICAgIGV4dGVuc2lvbj86IHN0cmluZ1xuICAgIG5hbWU/OiBzdHJpbmdcbiAgICBzaXplPzogc3RyaW5nXG4gICAgZHVyYXRpb24/OiBudW1iZXJcbiAgICBpZD86IHN0cmluZ1xuICAgIGF1ZGlvVHlwZT86ICdhdWRpby9tcDMnIHwgc3RyaW5nXG4gICAgY29udHJvbHNMaXN0Pzogc3RyaW5nXG4gIH1cbn1cblxuLyoqXG4gKiBJQXVkaW9NZXNzYWdlUHJvcHMgSW50ZXJmYWNlXG4gKiBAcHJvcCB0eXBlIFRoZSBBdWRpbyBNZXNzYWdlJ3MgdHlwZSBpcyBcImF1ZGlvXCIgYW5kIHJlcXVpcmVkLlxuICogQHByb3AgbWVzc2FnZSBUaGUgQXVkaW8gTWVzc2FnZSdzIG1lc3NhZ2UgaXMgYSBJQXVkaW9NZXNzYWdlIGFuZCByZXF1aXJlZC5cbiAqIEBwcm9wIGF1ZGlvUHJvcHMgVGhlIEF1ZGlvIE1lc3NhZ2UncyBhdWRpb1Byb3BzIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIGN1c3RvbVN0eWxlIFRoZSBBdWRpbyBNZXNzYWdlJ3MgY3VzdG9tU3R5bGUgYW5kIG9wdGlvbmFsLlxuICogQHByb3Agb25PcGVuIFRoZSBBdWRpbyBNZXNzYWdlJ3MgZnVuY3Rpb24gb25PcGVuKGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PFQsIE1vdXNlRXZlbnQ+KSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBvbkRvd25sb2FkIFRoZSBBdWRpbyBNZXNzYWdlJ3MgZnVuY3Rpb24gb25Eb3dubG9hZChldmVudDogUmVhY3QuTW91c2VFdmVudDxULCBNb3VzZUV2ZW50PikgYW5kIG9wdGlvbmFsLlxuICogQHByb3Agb25Mb2FkIFRoZSBBdWRpbyBNZXNzYWdlJ3MgZnVuY3Rpb24gb25Mb2FkKGV2ZW50OiBSZWFjdC5TeW50aGV0aWNFdmVudDxULCBFdmVudD4pIGFuZCBvcHRpb25hbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQXVkaW9NZXNzYWdlUHJvcHMgZXh0ZW5kcyBJQXVkaW9NZXNzYWdlIHtcbiAgYXVkaW9Qcm9wcz86IHtcbiAgICBba2V5OiBzdHJpbmddOiB1bmtub3duXG4gIH1cbiAgY3VzdG9tU3R5bGU/OiBhbnlcbiAgb25PcGVuPzogUmVhY3QuTW91c2VFdmVudEhhbmRsZXJcbiAgb25Eb3dubG9hZD86IFJlYWN0Lk1vdXNlRXZlbnRIYW5kbGVyXG4gIG9uTG9hZD86IFJlYWN0LlJlYWN0RXZlbnRIYW5kbGVyXG59XG5cbi8qKlxuICogSUZpbGVNZXNzYWdlIEludGVyZmFjZVxuICogQHByb3AgdHlwZSBUaGUgRmlsZSBNZXNzYWdlJ3MgdHlwZSBpcyBcImZpbGVcIiBhbmQgcmVxdWlyZWQuXG4gKiBAcHJvcCBzaXplIFRoZSBGaWxlIE1lc3NhZ2UncyBzaXplIGFuZCBvcHRpb25hbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRmlsZU1lc3NhZ2UgZXh0ZW5kcyBJTWVzc2FnZSB7XG4gIGRhdGE6IHtcbiAgICBuYW1lPzogc3RyaW5nXG4gICAgZXh0ZW5zaW9uPzogc3RyaW5nXG4gICAgc2l6ZT86IHN0cmluZ1xuICAgIGlkPzogc3RyaW5nXG4gICAgdXJpPzogc3RyaW5nXG4gICAgc3RhdHVzPzogSU1lc3NhZ2VEYXRhU3RhdHVzXG4gIH1cbn1cblxuLyoqXG4gKiBJRmlsZU1lc3NhZ2VQcm9wcyBJbnRlcmZhY2VcbiAqIEBwcm9wIHR5cGUgVGhlIEZpbGUgTWVzc2FnZSdzIHR5cGUgaXMgXCJmaWxlXCIgYW5kIHJlcXVpcmVkLlxuICogQHByb3AgbWVzc2FnZSBUaGUgRmlsZSBNZXNzYWdlJ3MgbWVzc2FnZSBpcyBhIElGaWxlTWVzc2FnZSBhbmQgcmVxdWlyZWQuXG4gKiBAcHJvcCB0ZXh0IFRoZSBGaWxlIE1lc3NhZ2UncyB0ZXh0IGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG9uRG93bmxvYWQgVGhlIEZpbGUgTWVzc2FnZSdzIGZ1bmN0aW9uIG9uRG93bmxvYWQgYW5kIG9wdGlvbmFsLlxuICogQHByb3Agb25PcGVuIFRoZSBGaWxlIE1lc3NhZ2UncyBmdW5jdGlvbiBvbk9wZW4oZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8RWxlbWVudCwgTW91c2VFdmVudD4pIGFuZCBvcHRpb25hbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRmlsZU1lc3NhZ2VQcm9wcyBleHRlbmRzIElGaWxlTWVzc2FnZSB7XG4gIG9uRG93bmxvYWQ/OiBGdW5jdGlvblxuICBvbk9wZW4/OiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlclxufVxuXG4vKipcbiAqIElMb2NhdGlvbk1lc3NhZ2UgSW50ZXJmYWNlXG4gKiBAcHJvcCB0eXBlIFRoZSBMb2NhdGlvbiBNZXNzYWdlJ3MgdHlwZSBpcyBcImxvY2F0aW9uXCIgYW5kIHJlcXVpcmVkLlxuICogQHByb3AgbGF0aXR1ZGUgVGhlIExvY2F0aW9uIE1lc3NhZ2UncyBsYXRpdHVkZSBhbmQgcmVxdWlyZWQuXG4gKiBAcHJvcCBsb25naXR1ZGUgVGhlIExvY2F0aW9uIE1lc3NhZ2UncyBsb25naXR1ZGUgYW5kIHJlcXVpcmVkLlxuICogQHByb3Agc3RhdGljVVJMIFRoZSBMb2NhdGlvbiBNZXNzYWdlJ3Mgc3RhdGljIHVybCBhbmQgcmVxdWlyZWQuXG4gKiBAcHJvcCBtYXBVUkwgVGhlIExvY2F0aW9uIE1lc3NhZ2UncyBtYXAgdXJsIGFuZCBvcHRpb25hbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJTG9jYXRpb25NZXNzYWdlIGV4dGVuZHMgSU1lc3NhZ2Uge1xuICBkYXRhOiB7XG4gICAgbGF0aXR1ZGU6IHN0cmluZ1xuICAgIGxvbmdpdHVkZTogc3RyaW5nXG4gICAgc3RhdGljVVJMOiBzdHJpbmdcbiAgICBtYXBVUkw/OiBzdHJpbmdcbiAgfVxufVxuXG4vKipcbiAqIElMb2NhdGlvbk1lc3NhZ2VQcm9wcyBJbnRlcmZhY2VcbiAqIEBwcm9wIHR5cGUgVGhlIExvY2F0aW9uIE1lc3NhZ2UncyB0eXBlIGlzIFwibG9jYXRpb25cIiBhbmQgcmVxdWlyZWQuXG4gKiBAcHJvcCBtZXNzYWdlIFRoZSBMb2NhdGlvbiBNZXNzYWdlJ3MgbWVzc2FnZSBpcyBhIElMb2NhdGlvbk1lc3NhZ2UgYW5kIHJlcXVpcmVkLlxuICogQHByb3AgbWFya2VyIFRoZSBMb2NhdGlvbiBNZXNzYWdlJ3MgbWFya2VyIGFuZCByZXF1aXJlZC5cbiAqIEBwcm9wIHpvb20gVGhlIExvY2F0aW9uIE1lc3NhZ2UncyB6b29tIGFuZCByZXF1aXJlZC5cbiAqIEBwcm9wIGFwaUtleSBUaGUgTG9jYXRpb24gTWVzc2FnZSdzIGFwaSBrZXkgYW5kIHJlcXVpcmVkLlxuICogQHByb3AgY2xhc3NOYW1lIFRoZSBMb2NhdGlvbiBNZXNzYWdlJ3MgY2xhc3NOYW1lIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIHRleHQgVGhlIExvY2F0aW9uIE1lc3NhZ2UncyB0ZXh0IGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIHNyYyBUaGUgTG9jYXRpb24gTWVzc2FnZSdzIHNvdXJjZSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCB0YXJnZXQgVGhlIExvY2F0aW9uIE1lc3NhZ2UncyB0YXJnZXQgYW5kIG9wdGlvbmFsLlxuICogQHByb3AgaHJlZiBUaGUgTG9jYXRpb24gTWVzc2FnZSdzIGhyZWYgYW5kIG9wdGlvbmFsLlxuICogQHByb3Agb25PcGVuIFRoZSBMb2NhdGlvbiBNZXNzYWdlJ3MgZnVuY3Rpb24gb25PcGVuKGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PFQsIE1vdXNlRXZlbnQ+KSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBvbkVycm9yIFRoZSBMb2NhdGlvbiBNZXNzYWdlJ3MgZnVuY3Rpb24gb25FcnJvcihldmVudDogUmVhY3QuU3ludGhldGljRXZlbnQ8VCwgRXZlbnQ+KSBhbmQgb3B0aW9uYWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUxvY2F0aW9uTWVzc2FnZVByb3BzIGV4dGVuZHMgSUxvY2F0aW9uTWVzc2FnZSB7XG4gIG1hcmtlckNvbG9yOiBzdHJpbmdcbiAgem9vbTogc3RyaW5nXG4gIGFwaUtleTogc3RyaW5nXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBzcmM/OiBzdHJpbmdcbiAgdGFyZ2V0Pzogc3RyaW5nXG4gIGhyZWY/OiBzdHJpbmdcbiAgb25PcGVuPzogUmVhY3QuTW91c2VFdmVudEhhbmRsZXJcbiAgb25FcnJvcj86IFJlYWN0LlJlYWN0RXZlbnRIYW5kbGVyXG59XG5cbi8qKlxuICogSVNwb3RpZnlNZXNzYWdlIEludGVyZmFjZSBleHRlbmRzIElNZXNzYWdlXG4gKiBAcHJvcCB0eXBlIFRoZSBTcG90aWZ5IE1lc3NhZ2UncyB0eXBlIGlzIFwic3BvdGlmeVwiIGFuZCByZXF1aXJlZC5cbiAqIEBwcm9wIHVyaSBUaGUgU3BvdGlmeSBNZXNzYWdlJ3MgdXJpIGFuZCByZXF1aXJlZC5cbiAqIEBwcm9wIHRoZW1lIFRoZSBTcG90aWZ5IE1lc3NhZ2UncyB0aGVtZSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCB2aWV3ICBUaGUgU3BvdGlmeSBNZXNzYWdlJ3MgdmlldyBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCB3aWR0aCBUaGUgU3BvdGlmeSBNZXNzYWdlJ3Mgd2lkdGggYW5kIG9wdGlvbmFsLlxuICogQHByb3AgaGVpZ2h0IFRoZSBTcG90aWZ5IE1lc3NhZ2UncyBoZWlnaHQgYW5kIG9wdGlvbmFsLlxuICogQHByb3AgdGV4dCBUaGUgU3BvdGlmeSBNZXNzYWdlJ3MgdGV4dCBhbmQgb3B0aW9uYWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVNwb3RpZnlNZXNzYWdlIGV4dGVuZHMgSU1lc3NhZ2Uge1xuICB1cmk6IHN0cmluZ1xuICB0aGVtZT86IHN0cmluZ1xuICB2aWV3Pzogc3RyaW5nXG4gIHdpZHRoPzogbnVtYmVyIHwgc3RyaW5nXG4gIGhlaWdodD86IG51bWJlciB8IHN0cmluZ1xufVxuXG4vKipcbiAqIElTcG90aWZ5TWVzc2FnZVByb3BzIEludGVyZmFjZVxuICogQHByb3AgdHlwZSBUaGUgU3BvdGlmeSBNZXNzYWdlJ3MgdHlwZSBpcyBcInNwb3RpZnlcIiBhbmQgcmVxdWlyZWQuXG4gKiBAcHJvcCBtZXNzYWdlIFRoZSBTcG90aWZ5IE1lc3NhZ2UncyBtZXNzYWdlIGlzIGEgSVNwb3RpZnlNZXNzYWdlIGFuZCByZXF1aXJlZC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJU3BvdGlmeU1lc3NhZ2VQcm9wcyBleHRlbmRzIElTcG90aWZ5TWVzc2FnZSB7fVxuXG4vKipcbiAqIElNZXNzYWdlQm94UHJvcHMgSW50ZXJmYWNlXG4gKiBAcHJvcCBkYXRhIFRoZSBNZXNzYWdlIEJveCdlcyBkYXRhIGlzIGEgTWVzc2FnZVR5cGUgYW5kIHJlcXVpcmVkLlxuICogQHByb3Agb25NZXNzYWdlRm9jdXNlZCBUaGUgTWVzc2FnZSBCb3gnZXMgb25NZXNzYWdlRm9jdXNlZCBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCByZW5kZXJBZGRDbXAgVGhlIE1lc3NhZ2UgQm94J2VzIHJlbmRlckFkZENtcCBpcyBhIGNvbXBvbmVudCBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBvbkNsaWNrIFRoZSBNZXNzYWdlIEJveCdlcyBmdW5jdGlvbiBvbkNsaWNrKGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PFQsIE1vdXNlRXZlbnQ+KSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBvbk9wZW4gVGhlIE1lc3NhZ2UgQm94J2VzIGZ1bmN0aW9uIG9uT3BlbihldmVudDogUmVhY3QuTW91c2VFdmVudDxULCBNb3VzZUV2ZW50PikgYW5kIG9wdGlvbmFsLlxuICogQHByb3Agb25QaG90b0Vycm9yIFRoZSBNZXNzYWdlIEJveCdlcyBmdW5jdGlvbiBvblBob3RvRXJyb3IoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8VCwgTW91c2VFdmVudD4pIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG9uQ29udGV4dE1lbnUgVGhlIE1lc3NhZ2UgQm94J2VzIGZ1bmN0aW9uIG9uQ29udGV4dE1lbnUoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8VCwgTW91c2VFdmVudD4pIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG9uRm9yd2FyZENsaWNrIFRoZSBNZXNzYWdlIEJveCdlcyBmdW5jdGlvbiBvbkZvcndhcmRDbGljayhldmVudDogUmVhY3QuTW91c2VFdmVudDxULCBNb3VzZUV2ZW50PikgYW5kIG9wdGlvbmFsLlxuICogQHByb3Agb25SZXBseUNsaWNrIFRoZSBNZXNzYWdlIEJveCdlcyBmdW5jdGlvbiBvblJlcGx5Q2xpY2soZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8VCwgTW91c2VFdmVudD4pIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG9uUmVtb3ZlTWVzc2FnZUNsaWNrIFRoZSBNZXNzYWdlIEJveCdlcyBmdW5jdGlvbiBvblJlbW92ZU1lc3NhZ2VDbGljayhldmVudDogUmVhY3QuTW91c2VFdmVudDxULCBNb3VzZUV2ZW50PikgYW5kIG9wdGlvbmFsLlxuICogQHByb3Agb25UaXRsZUNsaWNrIFRoZSBNZXNzYWdlIEJveCdlcyBmdW5jdGlvbiBvblRpdGxlQ2xpY2soZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8VCwgTW91c2VFdmVudD4pIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG9uTWVldGluZ01lc3NhZ2VDbGljayBUaGUgTWVzc2FnZSBCb3gnZXMgZnVuY3Rpb24gb25NZWV0aW5nTWVzc2FnZUNsaWNrKGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PFQsIE1vdXNlRXZlbnQ+KSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBvbkRvd25sb2FkIFRoZSBNZXNzYWdlIEJveCdlcyBmdW5jdGlvbiBvbkRvd25sb2FkKGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PFQsIE1vdXNlRXZlbnQ+KSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBvbk1lZXRpbmdNb3JlU2VsZWN0IFRoZSBNZXNzYWdlIEJveCdlcyBmdW5jdGlvbiBvbk1lZXRpbmdNb3JlU2VsZWN0KGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PFQsIE1vdXNlRXZlbnQ+KSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBvbk1lZXRpbmdMaW5rQ2xpY2sgVGhlIE1lc3NhZ2UgQm94J2VzIGZ1bmN0aW9uIG9uTWVldGluZ0xpbmtDbGljayhldmVudDogUmVhY3QuTW91c2VFdmVudDxULCBNb3VzZUV2ZW50PikgYW5kIG9wdGlvbmFsLlxuICogQHByb3Agb25NZWV0aW5nVGl0bGVDbGljayBUaGUgTWVzc2FnZSBCb3gnZXMgZnVuY3Rpb24gb25NZWV0aW5nVGl0bGVDbGljayhldmVudDogUmVhY3QuTW91c2VFdmVudDxULCBNb3VzZUV2ZW50PikgYW5kIG9wdGlvbmFsLlxuICogQHByb3Agb25NZWV0aW5nVmlkZW9MaW5rQ2xpY2sgVGhlIE1lc3NhZ2UgQm94J2VzIGZ1bmN0aW9uIG9uTWVldGluZ1ZpZGVvTGlua0NsaWNrKGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PFQsIE1vdXNlRXZlbnQ+KSBhbmQgb3B0aW9uYWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSU1lc3NhZ2VCb3hQcm9wcyB7XG4gIG9uTWVzc2FnZUZvY3VzZWQ/OiBhbnlcbiAgcmVuZGVyQWRkQ21wPzogSlNYLkVsZW1lbnQgfCAoKCkgPT4gSlNYLkVsZW1lbnQpXG4gIG9uQ2xpY2s/OiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlclxuICBvbk9wZW4/OiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlclxuICBvblBob3RvRXJyb3I/OiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlclxuICBvbkNvbnRleHRNZW51PzogUmVhY3QuTW91c2VFdmVudEhhbmRsZXJcbiAgb25Gb3J3YXJkQ2xpY2s/OiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlclxuICBvblJlcGx5Q2xpY2s/OiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlclxuICBvblJlbW92ZU1lc3NhZ2VDbGljaz86IFJlYWN0Lk1vdXNlRXZlbnRIYW5kbGVyXG4gIG9uVGl0bGVDbGljaz86IFJlYWN0Lk1vdXNlRXZlbnRIYW5kbGVyXG4gIG9uUmVwbHlNZXNzYWdlQ2xpY2s/OiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlclxuICBvbk1lZXRpbmdNZXNzYWdlQ2xpY2s/OiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlclxuICBvbkRvd25sb2FkPzogUmVhY3QuTW91c2VFdmVudEhhbmRsZXJcbiAgb25NZWV0aW5nTW9yZVNlbGVjdD86IFJlYWN0Lk1vdXNlRXZlbnRIYW5kbGVyXG4gIG9uTWVldGluZ0xpbmtDbGljaz86IFJlYWN0Lk1vdXNlRXZlbnRIYW5kbGVyXG4gIG9uTWVldGluZ1RpdGxlQ2xpY2s/OiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlclxuICBvbk1lZXRpbmdWaWRlb0xpbmtDbGljaz86IFJlYWN0Lk1vdXNlRXZlbnRIYW5kbGVyXG4gIHN0eWxlcz86IFJlYWN0LkNTU1Byb3BlcnRpZXNcbiAgbm90Y2hTdHlsZT86IFJlYWN0LkNTU1Byb3BlcnRpZXNcbn1cblxuLyoqXG4gKiBJTWVzc2FnZUxpc3RQcm9wcyBJbnRlcmZhY2VcbiAqIEBwcm9wIGNsYXNzTmFtZSBUaGUgTWVzc2FnZSBMaXN0J3MgY2xhc3NOYW1lIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIGN1c3RvbVByb3BzIFRoZSBNZXNzYWdlIExpc3QncyBjdXN0b21Qcm9wcyBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBjaGlsZHJlbiBUaGUgTWVzc2FnZSBMaXN0J3MgY2hpbGRyZW4gYW5kIG9wdGlvbmFsLlxuICogQHByb3AgcmVmZXJhbmNlIFRoZSBNZXNzYWdlIExpc3QncyByZWZlcmFuY2UgaXMgYSByZWYgYW5kIHJlcXVpcmVkLlxuICogQHByb3AgZGF0YXNvdXJjZSBUaGUgTWVzc2FnZSBMaXN0J3MgZGF0YXNvdXJjZSBpcyBJTWVzc2FnZUJveFByb3BzIGFuZCByZXF1aXJlZC5cbiAqIEBwcm9wIGxvY2thYmxlIFRoZSBNZXNzYWdlIExpc3QncyBsb2NrYWJsZSBhbmQgcmVxdWlyZWQuXG4gKiBAcHJvcCB0b0JvdHRvbUhlaWdodCBUaGUgTWVzc2FnZSBMaXN0J3MgdG8gYm90dG9tIGhlaWdodCBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBkb3duIGJ1dHRvbiBUaGUgTWVzc2FnZSBMaXN0J3MgZG93biBidXR0b24gYW5kIHJlcXVpcmVkLlxuICogQHByb3AgZG93bkJ1dHRvbkJhZGdlIFRoZSBNZXNzYWdlIExpc3QncyBkb3duIGJ1dHRvbiBiYWRnZSBhbmQgcmVxdWlyZWQuXG4gKiBAcHJvcCBzZW5kTWVzc2FnZVByZXZpZXcgVGhlIE1lc3NhZ2UgTGlzdCdzIHNlbmQgbWVzc2FnZSBwcmV2aWV3IGFuZCByZXF1aXJlZC5cbiAqIEBwcm9wIG9uU2Nyb2xsIFRoZSBNZXNzYWdlIExpc3QncyBmdW5jdGlvbiBvblNjcm9sbChldmVudDogUmVhY3QuVUlFdmVudDxULCBVSUV2ZW50PikgYW5kIG9wdGlvbmFsLlxuICogQHByb3Agb25Db250ZXh0TWVudSBUaGUgTWVzc2FnZSBMaXN0J3MgZnVuY3Rpb24gb25Db250ZXh0TWVudShpdGVtOiBJTWVzc2FnZUJveFByb3BzLCBpbmRleDogbnVtYmVyLCBldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MRWxlbWVudCwgTW91c2VFdmVudD4pIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG9uRG93bkJ1dHRvbkNsaWNrIFRoZSBNZXNzYWdlIExpc3QncyBvbkRvd25CdXR0b25DbGljayBpcyBhIHJlZiBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBvbk9wZW4gVGhlIE1lc3NhZ2UgTGlzdCdzIGZ1bmN0aW9uIG9uT3BlbihpdGVtOiBJTWVzc2FnZUJveFByb3BzLCBpbmRleDogbnVtYmVyLCBldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MRWxlbWVudCwgTW91c2VFdmVudD4pIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG9uRG93bmxvYWQgVGhlIE1lc3NhZ2UgTGlzdCdzIGZ1bmN0aW9uIG9uRG93bmxvYWQoaXRlbTogSU1lc3NhZ2VCb3hQcm9wcywgaW5kZXg6IG51bWJlciwgZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEVsZW1lbnQsIE1vdXNlRXZlbnQ+KSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBvblBob3RvRXJyb3IgVGhlIE1lc3NhZ2UgTGlzdCdzIGZ1bmN0aW9uIG9uUGhvdG9FcnJvcihpdGVtOiBJTWVzc2FnZUJveFByb3BzLCBpbmRleDogbnVtYmVyLCBldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MRWxlbWVudCwgTW91c2VFdmVudD4pIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG9uTWVldGluZ01vcmVTZWxlY3QgVGhlIE1lc3NhZ2UgTGlzdCdzIGZ1bmN0aW9uIG9uTWVldGluZ01vcmVTZWxlY3QoaXRlbTogSU1lc3NhZ2VCb3hQcm9wcywgaW5kZXg6IG51bWJlciwgZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEVsZW1lbnQsIE1vdXNlRXZlbnQ+KSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBvbk1lc3NhZ2VGb2N1c2VkIFRoZSBNZXNzYWdlIExpc3QncyBmdW5jdGlvbiBvbk1lc3NhZ2VGb2N1c2VkKGl0ZW06IElNZXNzYWdlQm94UHJvcHMsIGluZGV4OiBudW1iZXIsIGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxFbGVtZW50LCBNb3VzZUV2ZW50PikgYW5kIG9wdGlvbmFsLlxuICogQHByb3Agb25DbGljayBUaGUgTWVzc2FnZSBMaXN0J3MgZnVuY3Rpb24gb25DbGljayhpdGVtOiBJTWVzc2FnZUJveFByb3BzLCBpbmRleDogbnVtYmVyLCBldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MRWxlbWVudCwgTW91c2VFdmVudD4pIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG9uRm9yd2FyZENsaWNrIFRoZSBNZXNzYWdlIExpc3QncyBmdW5jdGlvbiBvbkZvcndhcmRDbGljayhpdGVtOiBJTWVzc2FnZUJveFByb3BzLCBpbmRleDogbnVtYmVyLCBldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MRWxlbWVudCwgTW91c2VFdmVudD4pIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG9uUmVwbHlDbGljayBUaGUgTWVzc2FnZSBMaXN0J3MgZnVuY3Rpb24gb25SZXBseUNsaWNrKGl0ZW06IElNZXNzYWdlQm94UHJvcHMsIGluZGV4OiBudW1iZXIsIGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxFbGVtZW50LCBNb3VzZUV2ZW50PikgYW5kIG9wdGlvbmFsLlxuICogQHByb3Agb25SZXBseU1lc3NhZ2VDbGljayBUaGUgTWVzc2FnZSBMaXN0J3MgZnVuY3Rpb24gb25SZXBseU1lc3NhZ2VDbGljayhpdGVtOiBJTWVzc2FnZUJveFByb3BzLCBpbmRleDogbnVtYmVyLCBldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MRWxlbWVudCwgTW91c2VFdmVudD4pIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG9uVGl0bGVDbGljayBUaGUgTWVzc2FnZSBMaXN0J3MgZnVuY3Rpb24gb25UaXRsZUNsaWNrKGl0ZW06IElNZXNzYWdlQm94UHJvcHMsIGluZGV4OiBudW1iZXIsIGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxFbGVtZW50LCBNb3VzZUV2ZW50PikgYW5kIG9wdGlvbmFsLlxuICogQHByb3Agb25SZW1vdmVNZXNzYWdlQ2xpY2sgVGhlIE1lc3NhZ2UgTGlzdCdzIGZ1bmN0aW9uIG9uUmVtb3ZlTWVzc2FnZUNsaWNrKGl0ZW06IElNZXNzYWdlQm94UHJvcHMsIGluZGV4OiBudW1iZXIsIGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PEhUTUxFbGVtZW50LCBNb3VzZUV2ZW50PikgYW5kIG9wdGlvbmFsLlxuICogQHByb3Agb25NZWV0aW5nTWVzc2FnZUNsaWNrIFRoZSBNZXNzYWdlIExpc3QncyBmdW5jdGlvbiBvbk1lZXRpbmdNZXNzYWdlQ2xpY2soaXRlbTogSU1lc3NhZ2VCb3hQcm9wcywgaW5kZXg6IG51bWJlciwgZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEVsZW1lbnQsIE1vdXNlRXZlbnQ+KSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBvbk1lZXRpbmdUaXRsZUNsaWNrIFRoZSBNZXNzYWdlTGlzdCdzIGZ1bmN0aW9uIG9uTWVldGluZ1RpdGxlQ2xpY2soZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8VCwgTW91c2VFdmVudD4pIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG9uTWVldGluZ1ZpZGVvTGlua0NsaWNrIFRoZSBNZXNzYWdlTGlzdCdzIGZ1bmN0aW9uIG9uTWVldGluZ1ZpZGVvTGlua0NsaWNrKGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PFQsIE1vdXNlRXZlbnQ+KSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBvbk1lZXRpbmdMaW5rQ2xpY2sgVGhlIE1lc3NhZ2UgTGlzdCdzIGZ1bmN0aW9uIG9uTWVldGluZ0xpbmtDbGljayhpdGVtOiBJTWVzc2FnZUJveFByb3BzLCBpbmRleDogbnVtYmVyLCBldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MRWxlbWVudCwgTW91c2VFdmVudD4pIGFuZCBvcHRpb25hbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJTWVzc2FnZUxpc3RQcm9wcyB7XG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBjdXN0b21Qcm9wcz86IHtcbiAgICBba2V5OiBzdHJpbmddOiB1bmtub3duXG4gIH1cbiAgY2hpbGRyZW4/OiBSZWFjdC5SZWFjdE5vZGVcbiAgaXNTaG93Q2hpbGQ/OiBib29sZWFuXG4gIHJlZmVyYW5jZTogYW55XG4gIGRhdGFTb3VyY2U6IE1lc3NhZ2VUeXBlW11cbiAgYWN0aW9uQnV0dG9ucz86IE1lZXRpbmdMaW5rQWN0aW9uQnV0dG9uc1tdXG4gIGxvY2thYmxlOiBib29sZWFuXG4gIHRvQm90dG9tSGVpZ2h0PzogU3RyaW5nIHwgbnVtYmVyXG4gIGRvd25CdXR0b24/OiBib29sZWFuXG4gIGRvd25CdXR0b25CYWRnZT86IG51bWJlclxuICBzZW5kTWVzc2FnZVByZXZpZXc/OiBib29sZWFuXG4gIG9uU2Nyb2xsPzogUmVhY3QuVUlFdmVudEhhbmRsZXJcbiAgb25Db250ZXh0TWVudT86IE1lc3NhZ2VMaXN0RXZlbnRcbiAgb25Eb3duQnV0dG9uQ2xpY2s/OiBSZWFjdC5SZWZPYmplY3Q8SFRNTEJ1dHRvbkVsZW1lbnQ+XG4gIG9uT3Blbj86IE1lc3NhZ2VMaXN0RXZlbnRcbiAgb25Eb3dubG9hZD86IE1lc3NhZ2VMaXN0RXZlbnRcbiAgb25QaG90b0Vycm9yPzogTWVzc2FnZUxpc3RFdmVudFxuICBvbk1lZXRpbmdNb3JlU2VsZWN0PzogTWVzc2FnZUxpc3RFdmVudFxuICBvbk1lc3NhZ2VGb2N1c2VkPzogTWVzc2FnZUxpc3RFdmVudFxuICBvbkNsaWNrPzogTWVzc2FnZUxpc3RFdmVudFxuICBvbkZvcndhcmRDbGljaz86IE1lc3NhZ2VMaXN0RXZlbnRcbiAgb25SZXBseUNsaWNrPzogTWVzc2FnZUxpc3RFdmVudFxuICBvblJlcGx5TWVzc2FnZUNsaWNrPzogTWVzc2FnZUxpc3RFdmVudFxuICBvblRpdGxlQ2xpY2s/OiBNZXNzYWdlTGlzdEV2ZW50XG4gIG9uUmVtb3ZlTWVzc2FnZUNsaWNrPzogTWVzc2FnZUxpc3RFdmVudFxuICBvbk1lZXRpbmdNZXNzYWdlQ2xpY2s/OiBNZXNzYWdlTGlzdEV2ZW50XG4gIG9uTWVldGluZ1RpdGxlQ2xpY2s/OiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlclxuICBvbk1lZXRpbmdWaWRlb0xpbmtDbGljaz86IFJlYWN0Lk1vdXNlRXZlbnRIYW5kbGVyXG4gIG9uTWVldGluZ0xpbmtDbGljaz86IE1lc3NhZ2VMaXN0RXZlbnRcbiAgbWVzc2FnZUJveFN0eWxlcz86IFJlYWN0LkNTU1Byb3BlcnRpZXNcbiAgbm90Y2hTdHlsZT86IFJlYWN0LkNTU1Byb3BlcnRpZXNcbn1cblxuLyoqXG4gKiBNZXNzYWdlTGlzdEV2ZW50IFR5cGVcbiAqIEBwYXJhbSBpdGVtIFRoZSBNZXNzYWdlTGlzdEV2ZW50J3MgaXRlbSBpcyBhIElNZXNzYWdlQm94UHJvcHMuXG4gKiBAcGFyYW0gaW5kZXggVGhlIE1lc3NhZ2VMaXN0RXZlbnQncyBpbmRleC5cbiAqIEBwYXJhbSBldmVudCBUaGUgTWVzc2FnZUxpc3RFdmVudCdzIGV2ZW50LlxuICovXG5leHBvcnQgdHlwZSBNZXNzYWdlTGlzdEV2ZW50ID0gKGl0ZW06IE1lc3NhZ2VUeXBlLCBpbmRleDogbnVtYmVyLCBldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MRWxlbWVudD4pID0+IGFueVxuXG4vKipcbiAqIElQcm9ncmVzc09wdGlvbnMgSW50ZXJmYWNlXG4gKiBAcHJvcCBzdGF0ZSBUaGUgUHJvZ3Jlc3MgT3B0aW9ucydzIHN0YXRlIGlzIGEgb2JqZWN0LlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElQcm9ncmVzc09wdGlvbnMge1xuICBzdGF0ZT86IHtcbiAgICBjb2xvcj86IHN0cmluZ1xuICAgIHdpZHRoPzogc3RyaW5nXG4gIH1cbn1cblxuLyoqXG4gKiBJTWVldGluZ0xpbmtNZXNzYWdlIEludGVyZmFjZSBleHRlbmRzIElNZXNzYWdlXG4gKiBAcHJvcCBtZWV0aW5nSUQgVGhlIE1lZXRpbmcgTGluayBNZXNzYWdlJ3MgbWVldGluZyBpZCBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCB0aXRsZSBUaGUgTWVldGluZyBMaW5rIE1lc3NhZ2UncyB0aXRsZSBhbmQgb3B0aW9uYWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSU1lZXRpbmdMaW5rTWVzc2FnZSBleHRlbmRzIElNZXNzYWdlIHtcbiAgbWVldGluZ0lEPzogc3RyaW5nXG59XG5cbmV4cG9ydCB0eXBlIFRBY3Rpb25CdXR0b24gPSBSZWFjdC5GdW5jdGlvbkNvbXBvbmVudDxhbnk+XG5cbmV4cG9ydCBpbnRlcmZhY2UgTWVldGluZ0xpbmtBY3Rpb25CdXR0b25zIHtcbiAgLy8gcmV0dXJuIG1lZXRpbmcgaWRcbiAgb25DbGlja0J1dHRvbjogKGlkOiBzdHJpbmcpID0+IHZvaWRcbiAgQ29tcG9uZW50OiBUQWN0aW9uQnV0dG9uXG59XG5cbi8qKlxuICogSU1lZXRpbmdMaW5rTWVzc2FnZVByb3BzIEludGVyZmFjZVxuICogQHByb3AgdHlwZSBUaGUgTWVldGluZyBMaW5rIE1lc3NhZ2UncyB0eXBlIGlzIFwibWVldGluZ0xpbmtcIiBhbmQgcmVxdWlyZWQuXG4gKiBAcHJvcCBtZXNzYWdlIFRoZSBNZWV0aW5nIExpbmsgTWVzc2FnZSdzIG1lc3NhZ2UgaXMgYSBJTWVldGluZ0xpbmtNZXNzYWdlIGFuZCByZXF1aXJlZC5cbiAqIEBwcm9wIG9uTWVldGluZ0xpbmtDbGljayBUaGUgTWVldGluZyBMaW5rIE1lc3NhZ2UncyBmdW5jdGlvbiBvbk1lZXRpbmdMaW5rQ2xpY2soZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8VCwgTW91c2VFdmVudD4pIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG9uTWVldGluZ01vcmVTZWxlY3QgVGhlIE1lZXRpbmcgTW9yZSBTZWxlY3QgTWVzc2FnZSdzIGZ1bmN0aW9uIG9uTWVldGluZ01vcmVTZWxlY3QoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8VCwgTW91c2VFdmVudD4pIGFuZCBvcHRpb25hbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJTWVldGluZ0xpbmtNZXNzYWdlUHJvcHMgZXh0ZW5kcyBJTWVldGluZ0xpbmtNZXNzYWdlIHtcbiAgYWN0aW9uQnV0dG9ucz86IE1lZXRpbmdMaW5rQWN0aW9uQnV0dG9uc1tdXG59XG5cbi8qKlxuICogTWVldGluZ01lc3NhZ2VFdmVudCBUeXBlXG4gKiBAcGFyYW0gaXRlbSBUaGUgTWVzc2FnZUxpc3RFdmVudCdzIGl0ZW0gaXMgYSBJTWVldGluZ01lc3NhZ2UuXG4gKiBAcGFyYW0gaW5kZXggVGhlIE1lc3NhZ2VMaXN0RXZlbnQncyBpbmRleC5cbiAqIEBwYXJhbSBldmVudCBUaGUgTWVzc2FnZUxpc3RFdmVudCdzIGV2ZW50LlxuICovXG50eXBlIE1lZXRpbmdNZXNzYWdlRXZlbnQgPSAoaXRlbTogSU1lZXRpbmdNZXNzYWdlLCBpbmRleDogbnVtYmVyLCBldmVudDogUmVhY3QuTW91c2VFdmVudDxIVE1MRWxlbWVudD4pID0+IGFueVxuXG4vKipcbiAqIElUZXh0TWVzc2FnZSBJbnRlcmZhY2UgZXh0ZW5kcyBJTWVzc2FnZVxuICogQHByb3AgdHlwZSBUaGUgVGV4dCBNZXNzYWdlJ3MgdHlwZSBpcyBcInRleHRcIiBhbmQgcmVxdWlyZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVRleHRNZXNzYWdlIGV4dGVuZHMgSU1lc3NhZ2Uge31cblxuLyoqXG4gKiBJVGV4dE1lc3NhZ2VQcm9wcyBJbnRlcmZhY2VcbiAqIEBwcm9wIHR5cGUgVGhlIFRleHQgTWVzc2FnZSdzIHR5cGUgaXMgXCJ0ZXh0XCIgYW5kIHJlcXVpcmVkLlxuICogQHByb3AgbWVzc2FnZSBUaGUgVGV4dCBNZXNzYWdlJ3MgbWVzc2FnZSBpcyBhIElUZXh0TWVzc2FnZSBhbmQgcmVxdWlyZWQuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSVRleHRNZXNzYWdlUHJvcHMgZXh0ZW5kcyBJVGV4dE1lc3NhZ2Uge1xuICAvLyBjb3B5Q2xpcGJvYXJkOiBmdW5jdGlvbjtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBJTWVldGluZ0xpc3RQcm9wcyB7XG4gIGNtcFJlZj86IGFueVxuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgZGF0YVNvdXJjZT86IElNZWV0aW5nSXRlbVByb3BzW11cbiAgbGF6eUxvYWRpbmdJbWFnZT86IHN0cmluZ1xuICBvbkNsaWNrPzogTWVldGluZ0xpc3RFdmVudFxuICBvbk1lZXRpbmdDbGljaz86IE1lZXRpbmdMaXN0RXZlbnRcbiAgb25TaGFyZUNsaWNrPzogTWVldGluZ0xpc3RFdmVudFxuICBvbkNsb3NlQ2xpY2s/OiBNZWV0aW5nTGlzdEV2ZW50XG4gIG9uQ29udGV4dE1lbnU/OiBNZWV0aW5nTGlzdEV2ZW50XG4gIG9uQXZhdGFyRXJyb3I/OiBNZWV0aW5nTGlzdEV2ZW50XG59XG5cbi8qKlxuICogTWVldGluZ0xpc3RFdmVudCBUeXBlXG4gKiBAcGFyYW0gaXRlbSBUaGUgTWVzc2FnZUxpc3RFdmVudCdzIGl0ZW0gaXMgYSBJTWVldGluZ0l0ZW1Qcm9wcy5cbiAqIEBwYXJhbSBpbmRleCBUaGUgTWVzc2FnZUxpc3RFdmVudCdzIGluZGV4LlxuICogQHBhcmFtIGV2ZW50IFRoZSBNZXNzYWdlTGlzdEV2ZW50J3MgZXZlbnQuXG4gKi9cbnR5cGUgTWVldGluZ0xpc3RFdmVudCA9IChpdGVtOiBJTWVldGluZ0l0ZW1Qcm9wcywgaW5kZXg6IG51bWJlciwgZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8SFRNTEVsZW1lbnQ+KSA9PiBhbnlcblxuLyoqXG4gKiBJTWVldGluZ0l0ZW1Qcm9wcyBJbnRlcmZhY2VcbiAqIEBwcm9wIGlkIFRoZSBNZWV0aW5nIEl0ZW0ncyBpZCBhbmQgcmVxdWlyZWQuXG4gKiBAcHJvcCBjbG9zYWJsZSBUaGUgTWVldGluZyBJdGVtJ3MgY2xvc2FibGUgYW5kIG9wdGlvbmFsLlxuICogQHByb3AgZGF0ZSBUaGUgTWVldGluZyBJdGVtJ3MgZGF0ZSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBzdWJqZWN0IFRoZSBNZWV0aW5nIEl0ZW0ncyBzdWJqZWN0IGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIHN1YmplY3RMaW1pdCBUaGUgTWVldGluZyBJdGVtJ3Mgc3ViamVjdCBsaW1pdCBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBhdmF0YXJGbGV4aWJsZSBUaGUgTWVldGluZyBJdGVtJ3MgYXZhdGFyIGZsZXhpYmxlIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIGFsdCBUaGUgTWVldGluZyBJdGVtJ3MgYWx0IGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIHRpdGxlIFRoZSBNZWV0aW5nIEl0ZW0ncyB0aXRsZSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBzdWJ0aXRsZSBUaGUgTWVldGluZyBJdGVtJ3Mgc3VidGl0bGUgYW5kIG9wdGlvbmFsLlxuICogQHByb3Agc3RhdHVzQ29sb3JUeXBlIFRoZSBNZWV0aW5nIEl0ZW0ncyBzdGF0dXMgY29sb3IgdHlwZSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBjbGFzc25hbWUgVGhlIE1lZXRpbmcgSXRlbSdzIGNsYXNzbmFtZSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBkYXRlU3RyaW5nIFRoZSBNZWV0aW5nIEl0ZW0ncyBkYXRlIHN0cmluZyBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBsYXp5TG9hZGluZ0ltYWdlIFRoZSBNZWV0aW5nIEl0ZW0ncyBsYXp5TG9hZGluZ0ltYWdlIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIGF2YXRhckxpbWl0IFRoZSBNZWV0aW5nIEl0ZW0ncyBhdmF0YXIgbGltaXQgYW5kIG9wdGlvbmFsLlxuICogQHByb3AgYXZhdGFycyBUaGUgTWVldGluZyBJdGVtJ3MgYXZhdGFycyBhcnJheSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBhdWRpb011dGVkIFRoZSBNZWV0aW5nIEl0ZW0ncyBhdWRpbyBtdXRlZCBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBhdWRpb1NvdXJjZSBUaGUgTWVldGluZyBJdGVtJ3MgYXVkaW8gc291cmNlIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG9uQ2xpY2sgVGhlIE1lZXRpbmcgSXRlbSdzIGZ1bmN0aW9uIG9uQ2xpY2soZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8VCwgTW91c2VFdmVudD4pIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG9uQXZhdGFyRXJyb3IgVGhlIE1lZXRpbmcgSXRlbSdzIGZ1bmN0aW9uIG9uQXZhdGFyRXJyb3IoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8VCwgTW91c2VFdmVudD4pIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG9uTWVldGluZ0NsaWNrIFRoZSBNZWV0aW5nIEl0ZW0ncyBmdW5jdGlvbiBvbk1lZXRpbmdDbGljayhldmVudDogUmVhY3QuTW91c2VFdmVudDxULCBNb3VzZUV2ZW50PikgYW5kIG9wdGlvbmFsLlxuICogQHByb3Agb25TaGFyZUNsaWNrIFRoZSBNZWV0aW5nIEl0ZW0ncyBmdW5jdGlvbiBvblNoYXJlQ2xpY2soZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8VCwgTW91c2VFdmVudD4pIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG9uQ29udGV4dE1lbnUgVGhlIE1lZXRpbmcgSXRlbSdzIGZ1bmN0aW9uIG9uQ29udGV4dE1lbnUoZXZlbnQ6IFJlYWN0Lk1vdXNlRXZlbnQ8VCwgTW91c2VFdmVudD4pIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG9uQ2xvc2VDbGljayBUaGUgTWVldGluZyBJdGVtJ3MgZnVuY3Rpb24gb25DbG9zZUNsaWNrKGV2ZW50OiBSZWFjdC5Nb3VzZUV2ZW50PFQsIE1vdXNlRXZlbnQ+KSBhbmQgb3B0aW9uYWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSU1lZXRpbmdJdGVtUHJvcHMge1xuICBpZDogc3RyaW5nIHwgbnVtYmVyXG4gIGNsb3NhYmxlPzogYm9vbGVhblxuICBhZGRlZD86IG51bWJlciB8IHN0cmluZyB8IERhdGVcbiAgZGF0ZT86IGFueVxuICBzdWJqZWN0Pzogc3RyaW5nXG4gIHN1YmplY3RMaW1pdD86IG51bWJlclxuICBhdmF0YXJGbGV4aWJsZT86IGJvb2xlYW5cbiAgYWx0Pzogc3RyaW5nXG4gIHRpdGxlPzogc3RyaW5nXG4gIHN1YnRpdGxlPzogc3RyaW5nXG4gIHN0YXR1c0NvbG9yVHlwZT86IHN0cmluZ1xuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgZGF0ZVN0cmluZz86IHN0cmluZ1xuICBsYXp5TG9hZGluZ0ltYWdlPzogc3RyaW5nXG4gIGF2YXRhckxpbWl0PzogbnVtYmVyXG4gIGF2YXRhcnM/OiBJQXZhdGFyUHJvcHNbXVxuICBhdWRpb011dGVkPzogYm9vbGVhblxuICBhdWRpb1NvdXJjZT86IHN0cmluZ1xuICBvbkNsaWNrPzogUmVhY3QuTW91c2VFdmVudEhhbmRsZXJcbiAgb25BdmF0YXJFcnJvcj86IFJlYWN0Lk1vdXNlRXZlbnRIYW5kbGVyXG4gIG9uTWVldGluZ0NsaWNrPzogUmVhY3QuTW91c2VFdmVudEhhbmRsZXJcbiAgb25TaGFyZUNsaWNrPzogUmVhY3QuTW91c2VFdmVudEhhbmRsZXJcbiAgb25Db250ZXh0TWVudT86IFJlYWN0Lk1vdXNlRXZlbnRIYW5kbGVyXG4gIG9uQ2xvc2VDbGljaz86IFJlYWN0Lk1vdXNlRXZlbnRIYW5kbGVyXG59XG5cbi8qKlxuICogSUlucHV0UHJvcHMgSW50ZXJmYWNlXG4gKiBAcHJvcCBhdXRvZm9jdXMgVGhlIElucHV0J3MgYXV0b2ZvY3VzIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIHJlZmVyYW5jZSBUaGUgSW5wdXQncyByZWZlcmFuY2UgaXMgYSByZWYgYW5kIG9wdGlvbmFsLlxuICogQHByb3AgY2xlYXIgVGhlIElucHV0J3MgY2xlYXIgYW5kIG9wdGlvbmFsLlxuICogQHByb3AgbWF4bGVuZ3RoIFRoZSBJbnB1dCdzIG1heGxlbmd0aCBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBtYXhIZWlnaHQgVGhlIElucHV0J3MgbWF4aGVpZ2h0IGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG9uTWF4TGVuZ3RoRXhjZWVkIFRoZSBJbnB1dCdzIG9uTWF4TGVuZ3RoRXhjZWVkIGZ1bmN0aW9uIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG9uQ2hhbmdlIFRoZSBJbnB1dCdzIG9uQ2hhbmdlIGZ1bmN0aW9uIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG11bHRpbGluZSBUaGUgSW5wdXQncyBtdWx0aWxpbmUgYW5kIG9wdGlvbmFsLlxuICogQHByb3AgYXV0b0hlaWdodCBUaGUgSW5wdXQncyBhdXRvSGVpZ2h0IGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG1pbkhlaWdodCBUaGUgSW5wdXQncyBtaW5oZWlnaHQgYW5kIG9wdGlvbmFsLlxuICogQHByb3AgY2xhc3NOYW1lIFRoZSBJbnB1dCdzIGNsYXNzbmFtZSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBsZWZ0QnV0dG9ucyBUaGUgSW5wdXQncyBsZWZ0YnV0dG9ucyBpcyBhIGNvbXBvbmVudCBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCByaWdodEJ1dHRvbnMgVGhlIElucHV0J3MgcmlnaHRidXR0b25zIGlzIGEgY29tcG9uZW50IGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIHR5cGUgVGhlIElucHV0J3MgdHlwZSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBwbGFjZWhvbGRlciBUaGUgSW5wdXQncyBwbGFjZWhvbGRlciBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBkZWZhdWx0VmFsdWUgVGhlIElucHV0J3MgZGVmYXVsdCB2YWx1ZSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBpbnB1dFN0eWxlIFRoZSBJbnB1dCdzIGlucHV0IHN0eWxlIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG9uQ29weSBUaGUgSW5wdXQncyBmdW5jdGlvbiBvbkNvcHkoZXZlbnQ6IFJlYWN0LkNsaXBib2FyZEV2ZW50PFQ+KSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBvbkN1dCBUaGUgSW5wdXQncyBmdW5jdGlvbiBvbkN1dChldmVudDogUmVhY3QuQ2xpcGJvYXJkRXZlbnQ8VD4pIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG9uUGFzdGUgVGhlIElucHV0J3MgZnVuY3Rpb24gb25QYXN0ZShldmVudDogUmVhY3QuQ2xpcGJvYXJkRXZlbnQ8VD4pIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG9uQmx1ciBUaGUgSW5wdXQncyBmdW5jdGlvbiBvbkJsdXIoZXZlbnQ6IFJlYWN0LkZvY3VzRXZlbnQ8VCwgRWxlbWVudD4pIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG9uRm9jdXMgVGhlIElucHV0J3MgZnVuY3Rpb24gb25Gb2N1cyhldmVudDogUmVhY3QuRm9jdXNFdmVudDxULCBFbGVtZW50PikgYW5kIG9wdGlvbmFsLlxuICogQHByb3Agb25TZWxlY3QgVGhlIElucHV0J3MgZnVuY3Rpb24gb25TZWxlY3QoZXZlbnQ6IFJlYWN0LlN5bnRoZXRpY0V2ZW50PFQsIEV2ZW50PikgYW5kIG9wdGlvbmFsLlxuICogQHByb3Agb25TdWJtaXQgVGhlIElucHV0J3MgZnVuY3Rpb24gb25TdWJtaXQoZXZlbnQ6IFJlYWN0LkZvcm1FdmVudDxUPikgYW5kIG9wdGlvbmFsLlxuICogQHByb3Agb25SZXNldCBUaGUgSW5wdXQncyBmdW5jdGlvbiBvblJlc2V0KGV2ZW50OiBSZWFjdC5Gb3JtRXZlbnQ8VD4pIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG9uS2V5RG93biBUaGUgSW5wdXQncyBmdW5jdGlvbiBvbktleURvd24oZXZlbnQ6IFJlYWN0LktleWJvYXJkRXZlbnQ8VD4pIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIG9uS2V5UHJlc3MgVGhlIElucHV0J3MgZnVuY3Rpb24gb25LZXlQcmVzcyhldmVudDogUmVhY3QuS2V5Ym9hcmRFdmVudDxUPikgYW5kIG9wdGlvbmFsLlxuICogQHByb3Agb25LZXlVcCBUaGUgSW5wdXQncyBmdW5jdGlvbiBvbktleVVwKGV2ZW50OiBSZWFjdC5LZXlib2FyZEV2ZW50PFQ+KSBhbmQgb3B0aW9uYWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUlucHV0UHJvcHMge1xuICBhdXRvZm9jdXM/OiBib29sZWFuXG4gIHJlZmVyYW5jZT86IGFueSAvLyBzb3IgdmUgNDYuc2F0xLFyXG4gIGNsZWFyPzogRnVuY3Rpb25cbiAgbWF4bGVuZ3RoPzogbnVtYmVyXG4gIG1heEhlaWdodDogbnVtYmVyXG4gIG9uTWF4TGVuZ3RoRXhjZWVkPzogRnVuY3Rpb25cbiAgb25DaGFuZ2U/OiBGdW5jdGlvblxuICBtdWx0aWxpbmU/OiBib29sZWFuXG4gIGF1dG9IZWlnaHQ/OiBib29sZWFuXG4gIG1pbkhlaWdodD86IG51bWJlclxuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgbGVmdEJ1dHRvbnM/OiBSZWFjdC5SZWFjdE5vZGVcbiAgcmlnaHRCdXR0b25zPzogUmVhY3QuUmVhY3ROb2RlXG4gIHR5cGU/OiBSZWFjdC5IVE1MSW5wdXRUeXBlQXR0cmlidXRlXG4gIHBsYWNlaG9sZGVyPzogc3RyaW5nXG4gIGRlZmF1bHRWYWx1ZT86IHN0cmluZ1xuICBpbnB1dFN0eWxlPzogT2JqZWN0XG4gIHZhbHVlPzogc3RyaW5nXG4gIG9uQ29weT86IFJlYWN0LkNsaXBib2FyZEV2ZW50SGFuZGxlclxuICBvbkN1dD86IFJlYWN0LkNsaXBib2FyZEV2ZW50SGFuZGxlclxuICBvblBhc3RlPzogUmVhY3QuQ2xpcGJvYXJkRXZlbnRIYW5kbGVyXG4gIG9uQmx1cj86IFJlYWN0LkZvY3VzRXZlbnRIYW5kbGVyXG4gIG9uRm9jdXM/OiBSZWFjdC5Gb2N1c0V2ZW50SGFuZGxlclxuICBvblNlbGVjdD86IFJlYWN0LlJlYWN0RXZlbnRIYW5kbGVyXG4gIG9uU3VibWl0PzogUmVhY3QuRm9ybUV2ZW50SGFuZGxlclxuICBvblJlc2V0PzogUmVhY3QuRm9ybUV2ZW50SGFuZGxlclxuICBvbktleURvd24/OiBSZWFjdC5LZXlib2FyZEV2ZW50SGFuZGxlclxuICBvbktleVByZXNzPzogUmVhY3QuS2V5Ym9hcmRFdmVudEhhbmRsZXJcbiAgb25LZXlVcD86IFJlYWN0LktleWJvYXJkRXZlbnRIYW5kbGVyXG59XG5cbi8qKlxuICogSU1lc3NhZ2VEYXRhU3RhdHVzIEludGVyZmFjZVxuICogQHByb3AgZXJyb3IgVGhlIEZpbGUgTWVzc2FnZSBEYXRhIFN0YXR1cydzIGVycm9yIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIGRvd25sb2FkIFRoZSBGaWxlIE1lc3NhZ2UgRGF0YSBTdGF0dXMncyBkb3dubG9hZCBmdW5jdGlvbiBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBjbGljayBUaGUgRmlsZSBNZXNzYWdlIERhdGEgU3RhdHVzJ3MgY2xpY2sgZnVuY3Rpb24gYW5kIG9wdGlvbmFsLlxuICogQHByb3AgbG9hZGluZyBUaGUgRmlsZSBNZXNzYWdlIERhdGEgU3RhdHVzJ3MgbG9hZGluZyBhbmQgb3B0aW9uYWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSU1lc3NhZ2VEYXRhU3RhdHVzIHtcbiAgYXV0b0Rvd25sb2FkPzogYm9vbGVhblxuICBlcnJvcj86IGJvb2xlYW5cbiAgZG93bmxvYWQ/OiBGdW5jdGlvbiB8IGJvb2xlYW5cbiAgY2xpY2s/OiBGdW5jdGlvbiB8IGJvb2xlYW5cbiAgbG9hZGluZz86IGJvb2xlYW4gfCBudW1iZXJcbn1cblxuLyoqXG4gKiBJRHJvcGRvd25Qcm9wcyBJbnRlcmZhY2VcbiAqIEBwcm9wIGNsYXNzTmFtZSBUaGUgRHJvcGRvd24ncyBjbGFzc05hbWUgYW5kIG9wdGlvbmFsLlxuICogQHByb3AgYnV0dG9uUHJvcHMgVGhlIERyb3Bkb3duJ3MgYnV0dG9uIHByb3BzIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIGFuaW1hdGlvblR5cGUgVGhlIERyb3Bkb3duJ3MgYW5pbWF0aW9uIHR5cGUgYW5kIG9wdGlvbmFsLlxuICogQHByb3AgYW5pbWF0aW9uUG9zaXRpb24gVGhlIERyb3Bkb3duJ3MgYW5pbWF0aW9uIHBvc2l0aW9uIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIHRpdGxlIFRoZSBEcm9wZG93bidzIHRpdGxlIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIGl0ZW1zIFRoZSBEcm9wZG93bidzIGl0ZW1zIGlzIGEgSURyb3Bkb3duSXRlbVR5cGUgYXJyYXkgYW5kIHJlcXVpcmVkLlxuICogQHByb3Agb25TZWxlY3QgVGhlIERyb3Bkb3duJ3Mgb25TZWxlY3QgZnVuY3Rpb24gYW5kIG9wdGlvbmFsLlxuICogQHByb3Agc3R5bGUgVGhlIERyb3Bkb3duJ3Mgc3R5bGUgaXMgYW4gb2JqZWN0IGNvbnRhaW5pbmcgY29sb3IsIGJvcmRlckNvbG9yIGFuZCBvcHRpb25hbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJRHJvcGRvd25Qcm9wcyB7XG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBidXR0b25Qcm9wcz86IE9iamVjdFxuICBhbmltYXRpb25UeXBlPzogc3RyaW5nXG4gIGFuaW1hdGlvblBvc2l0aW9uPzogc3RyaW5nXG4gIHRpdGxlPzogc3RyaW5nXG4gIGl0ZW1zOiBJRHJvcGRvd25JdGVtVHlwZVtdXG4gIG9uU2VsZWN0OiBGdW5jdGlvblxuICBzdHlsZT86IHtcbiAgICBjb2xvcj86IHN0cmluZ1xuICAgIGJvcmRlckNvbG9yPzogc3RyaW5nXG4gIH1cbn1cblxuLyoqXG4gKiBJQ2lyY2xlUHJvcHMgSW50ZXJmYWNlXG4gKiBAcHJvcCBhbmltYXRlIFRoZSBDaXJjbGUncyBhbmltYXRpb24gYW5kIHJlcXVpcmVkLlxuICogQHByb3AgcHJvZ3Jlc3NPcHRpb25zIFRoZSBDaXJjbGUncyBwcm9ncmVzcyBvcHRpb25zIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIGNsYXNzTmFtZSBUaGUgQ2lyY2xlJ3MgY2xhc3NOYW1lIGFuZCBvcHRpb25hbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJQ2lyY2xlUHJvcHMge1xuICBhbmltYXRlOiBudW1iZXJcbiAgcHJvZ3Jlc3NPcHRpb25zPzogT2JqZWN0XG4gIGNsYXNzTmFtZT86IHN0cmluZ1xufVxuXG4vKipcbiAqIElCdXR0b25Qcm9wcyBJbnRlcmZhY2VcbiAqIEBwcm9wIHRpdGxlIFRoZSBCdXR0b24ncyB0aXRsZSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCB0ZXh0IFRoZSBCdXR0b24ncyB0ZXh0IGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIGJ1dHRvblJlZiBUaGUgQnV0dG9uJ3MgcmVmIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIHR5cGUgVGhlIEJ1dHRvbidzIHR5cGUgYW5kIG9wdGlvbmFsLlxuICogQHByb3AgY2xhc3NOYW1lIFRoZSBCdXR0b24ncyBjbGFzc05hbWUgYW5kIG9wdGlvbmFsLlxuICogQHByb3AgYmFja2dyb3VuZENvbG9yIFRoZSBCdXR0b24ncyBiYWNrZ3JvdW5kIGNvbG9yIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIGNvbG9yIFRoZSBCdXR0b24ncyBjb2xvciBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBkaXNhYmxlZCBUaGUgQnV0dG9uJ3MgZGlzYWJsZWQgYW5kIG9wdGlvbmFsLlxuICogQHByb3Agb25DbGljayBUaGUgQnV0dG9uJ3Mgb25DbGljayBmdW5jdGlvbiBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBpY29uIFRoZSBCdXR0b24ncyBpY29uIGlzIGEgSUJ1dHRvbkljb24gYW5kIG9wdGlvbmFsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElCdXR0b25Qcm9wcyB7XG4gIHRpdGxlPzogc3RyaW5nXG4gIHRleHQ/OiBzdHJpbmdcbiAgYnV0dG9uUmVmPzogUmVhY3QuUmVmT2JqZWN0PEhUTUxCdXR0b25FbGVtZW50PlxuICB0eXBlPzogc3RyaW5nXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmdcbiAgY29sb3I/OiBzdHJpbmdcbiAgZGlzYWJsZWQ/OiBib29sZWFuXG4gIG9uQ2xpY2s/OiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlclxuICBpY29uPzogSUJ1dHRvbkljb25cbn1cblxuLyoqXG4gKiBJQnV0dG9uSWNvbiBJbnRlcmZhY2VcbiAqIEBwcm9wIGZsb2F0IFRoZSBCdXR0b24gSWNvbidzIGZsb2F0IGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIHNpemUgVGhlIEJ1dHRvbiBJY29uJ3Mgc2l6ZSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBjb21wb25lbnRzIFRoZSBCdXR0b24gSWNvbidzIGNvbXBvbmVudHMgYW5kIG9wdGlvbmFsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElCdXR0b25JY29uIHtcbiAgZmxvYXQ/OiBhbnlcbiAgc2l6ZT86IG51bWJlclxuICBjb21wb25lbnQ/OiBSZWFjdC5SZWFjdE5vZGVcbn1cblxuLyoqXG4gKiBJRHJvcERvd25JdGVtVHlwZSBUeXBlXG4gKiBAdHlwZSBJRHJvcGRvd25cbiAqIEB0eXBlIHN0cmluZ1xuICovXG50eXBlIElEcm9wZG93bkl0ZW1UeXBlID0gSURyb3Bkb3duSXRlbSB8IHN0cmluZ1xuXG4vKipcbiAqIElEcm9wZG93bkl0ZW0gSW50ZXJmYWNlXG4gKiBAcHJvcCBpY29uIFRoZSBEcm9wZG93biBJdGVtJ3MgaWNvbiBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCB0ZXh0IFRoZSBEcm9wZG93biBJdGVtJ3MgdGV4dCBhbmQgb3B0aW9uYWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSURyb3Bkb3duSXRlbSB7XG4gIGljb24/OiBJRHJvcGRvd25JdGVtSWNvblxuICB0ZXh0Pzogc3RyaW5nXG59XG5cbi8qKlxuICogSURyb3Bkb3duSXRlbUljb24gSW50ZXJmYWNlXG4gKiBAcHJvcCBmbG9hdCBUaGUgRHJvcGRvd24gSXRlbSBJY29uJ3MgZmxvYXQgYW5kIG9wdGlvbmFsLlxuICogQHByb3AgY29sb3IgVGhlIERyb3Bkb3duIEl0ZW0gSWNvbidzIGNvbG9yIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIHNpemUgVGhlIERyb3Bkb3duIEl0ZW0gSWNvbidzIHNpemUgYW5kIG9wdGlvbmFsLlxuICogQHByb3AgY2xhc3NOYW1lIFRoZSBEcm9wZG93biBJdGVtIEljb24ncyBjbGFzc05hbWUgYW5kIG9wdGlvbmFsLlxuICogQHByb3AgY29tcG9uZW50IFRoZSBEcm9wZG93biBJdGVtIEljb24ncyBjb21wb25lbnQgYW5kIG9wdGlvbmFsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElEcm9wZG93bkl0ZW1JY29uIHtcbiAgZmxvYXQ/OiBhbnlcbiAgY29sb3I/OiBzdHJpbmdcbiAgc2l6ZT86IG51bWJlclxuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgY29tcG9uZW50PzogUmVhY3QuUmVhY3ROb2RlXG59XG5cbi8qKlxuICogSVNpZGVCYXJQcm9wcyBJbnRlcmZhY2VcbiAqIEB0eXBlIHR5cGUgVGhlIFNpZGUgQmFyJ3MgdHlwZSBhbmQgb3B0aW9uYWwuXG4gKiBAdHlwZSBkYXRhIFRoZSBTaWRlIEJhcidzIGRhdGEgaXMgSVNpZGVCYXIgYW5kIG9wdGlvbmFsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElTaWRlQmFyUHJvcHMgZXh0ZW5kcyBJU2lkZUJhciB7XG4gIHR5cGU/OiBzdHJpbmdcbiAgZGF0YTogSVNpZGVCYXJcbn1cblxuLyoqXG4gKiBJU2lkZUJhciBJbnRlcmZhY2VcbiAqIEBwcm9wIHRvcCBUaGUgU2lkZSBCYXIncyB0b3AgaXMgYSBjb21wb25lbnQgYW5kIG9wdGlvbmFsLlxuICogQHByb3AgY2VudGVyIFRoZSBTaWRlIEJhcidzIGNlbnRlciBpcyBhIGNvbXBvbmVudCBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBib3R0b20gVGhlIFNpZGUgQmFyJ3MgYm90dG9tIGlzIGEgY29tcG9uZW50IGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIGNsYXNzTmFtZSBUaGUgU2lkZSBCYXIncyBjbGFzc05hbWUgYW5kIG9wdGlvbmFsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElTaWRlQmFyIHtcbiAgdG9wPzogYW55XG4gIGNlbnRlcj86IGFueVxuICBib3R0b20/OiBhbnlcbiAgY2xhc3NOYW1lPzogc3RyaW5nXG59XG5cbi8qKlxuICogSVBvcHVwIEludGVyZmFjZVxuICogQHByb3Agc2hvdyBUaGUgUG9wdXAncyBzaG93IGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIGhlYWRlciBUaGUgUG9wdXAncyBoZWFkZXIgYW5kIG9wdGlvbmFsLlxuICogQHByb3AgdGV4dCBUaGUgUG9wdXAncyB0ZXh0IGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIGZvb3RlckJ1dHRvbnMgVGhlIFBvcHVwJ3MgZm9vdGVyIGJ1dHRvbnMgYXJyYXkgYW5kIG9wdGlvbmFsLlxuICogQHByb3AgaGVhZGVyQnV0dG9ucyBUaGUgUG9wdXAncyBoZWFkZXIgYnV0dG9ucyBhcnJheSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCByZW5kZXJIZWFkZXIgVGhlIFBvcHVwJ3MgcmVuZGVySGVhZGVyIGZ1bmN0aW9uIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIHJlbmRlckNvbnRlbnQgVGhlIFBvcHVwJ3MgcmVuZGVyQ29udGVudCBmdW5jdGlvbiBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCByZW5kZXJGb290ZXIgVGhlIFBvcHVwJ3MgcmVuZGVyRm9vdGVyIGZ1bmN0aW9uIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIGNvbG9yIFRoZSBQb3B1cCdzIGNvbG9yIGFuZCBvcHRpb25hbC5cbiAqL1xuZXhwb3J0IGludGVyZmFjZSBJUG9wdXAge1xuICBzaG93PzogYm9vbGVhblxuICBoZWFkZXI/OiBzdHJpbmdcbiAgdGV4dD86IHN0cmluZ1xuICBmb290ZXJCdXR0b25zPzogQXJyYXk8e1xuICAgIGNvbG9yPzogc3RyaW5nXG4gICAgYmFja2dyb3VuZENvbG9yPzogc3RyaW5nXG4gICAgdGV4dD86IHN0cmluZ1xuICAgIG9uQ2xpY2s/OiBSZWFjdC5Nb3VzZUV2ZW50SGFuZGxlclxuICB9PlxuICBoZWFkZXJCdXR0b25zPzogQXJyYXk8e1xuICAgIHR5cGU/OiBzdHJpbmdcbiAgICBjb2xvcj86IHN0cmluZ1xuICAgIGljb24/OiB7XG4gICAgICBjb21wb25lbnQ/OiBSZWFjdC5SZWFjdE5vZGVcbiAgICAgIHNpemU/OiBudW1iZXJcbiAgICB9XG4gICAgb25DbGljaz86IFJlYWN0Lk1vdXNlRXZlbnRIYW5kbGVyXG4gIH0+XG4gIHJlbmRlckhlYWRlcj86IEZ1bmN0aW9uXG4gIHJlbmRlckNvbnRlbnQ/OiBGdW5jdGlvblxuICByZW5kZXJGb290ZXI/OiBGdW5jdGlvblxuICBjb2xvcj86IHN0cmluZ1xufVxuXG4vKipcbiAqIElQb3B1cFByb3BzIEludGVyZmFjZVxuICogQHByb3AgcG9wdXAgVGhlIFBvcHVwJ3MgcG9wdXAgaXMgYSBJUG9wdXAgYW5kIHJlcXVpcmVkLlxuICogQHByb3AgdHlwZSBUaGUgUG9wdXAncyB0eXBlIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIGNsYXNzTmFtZSBUaGUgUG9wdXAncyBjbGFzc05hbWUgYW5kIG9wdGlvbmFsLlxuICovXG5leHBvcnQgaW50ZXJmYWNlIElQb3B1cFByb3BzIHtcbiAgcG9wdXA6IElQb3B1cFxuICB0eXBlPzogc3RyaW5nXG4gIGNsYXNzTmFtZT86IHN0cmluZ1xufVxuXG4vKipcbiAqIElBdmF0YXJQcm9wcyBJbnRlcmZhY2VcbiAqIEBwcm9wIHNyYyBUaGUgQXZhdGFyJ3Mgc3JjIGlzIGFuIGltYWdlIHNvdXJjZSBhbmQgcmVxdWlyZWQuXG4gKiBAcHJvcCB0aXRsZSBUaGUgQXZhdGFyJ3MgdGl0bGUgYW5kIG9wdGlvbmFsLlxuICogQHByb3AgbGF6eUxvYWRpbmdJbWFnZSBUaGUgQXZhdGFyJ3MgbGF6eUxvYWRpbmdJbWFnZSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBsZXR0ZXJJdGVtIFRoZSBBdmF0YXIncyBsZXR0ZXJJdGVtIGlzIGEgSUxldHRlckl0ZW0gYW5kIG9wdGlvbmFsLlxuICogQHByb3AgdHlwZSBUaGUgQXZhdGFyJ3MgdHlwZSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBzaXplIFRoZSBBdmF0YXIncyBzaXplIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIGNsYXNzTmFtZSBUaGUgQXZhdGFyJ3MgY2xhc3NOYW1lIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIGFsdCBUaGUgQXZhdGFyJ3MgYWx0IGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIHNpZGVFbGVtZW50IFRoZSBBdmF0YXIncyBzaWRlRWxlbWVudCBpcyBhIGNvbXBvbmVudCBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBvbkVycm9yIFRoZSBBdmF0YXIncyBmdW5jdGlvbiBvbkVycm9yKGV2ZW50OiBSZWFjdC5TeW50aGV0aWNFdmVudDxULCBFdmVudD4pIGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIHN0YXR1c0NvbG9yVHlwZSBUaGUgQXZhdGFyJ3Mgc3RhdHVzIGNvbG9yIHR5cGUgYW5kIG9wdGlvbmFsLlxuICogQHByb3Agc3RhdHVzQ29sb3IgVGhlIEF2YXRhcidzIHN0YXR1cyBjb2xvciBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBzdGF0dXNUZXh0IFRoZSBBdmF0YXIncyBzdGF0dXMgdGV4dCBhbmQgb3B0aW9uYWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSUF2YXRhclByb3BzIHtcbiAgc3JjOiBzdHJpbmdcbiAgdGl0bGU/OiBzdHJpbmdcbiAgbGF6eUxvYWRpbmdJbWFnZT86IHN0cmluZ1xuICBsZXR0ZXJJdGVtPzogSUxldHRlckl0ZW1cbiAgdHlwZT86IHN0cmluZ1xuICBzaXplPzogT2JqZWN0XG4gIGNsYXNzTmFtZT86IHN0cmluZ1xuICBhbHQ/OiBzdHJpbmdcbiAgc2lkZUVsZW1lbnQ/OiBSZWFjdC5SZWFjdEVsZW1lbnRcbiAgb25FcnJvcj86IFJlYWN0LlJlYWN0RXZlbnRIYW5kbGVyXG4gIHN0YXR1c0NvbG9yVHlwZT86IHN0cmluZ1xuICBzdGF0dXNDb2xvcj86IHN0cmluZ1xuICBzdGF0dXNUZXh0Pzogc3RyaW5nXG59XG5cbi8qKlxuICogSU5hdmJhclByb3BzIEludGVyZmFjZVxuICogQHByb3AgdHlwZSBUaGUgTmF2YmFyJ3MgdHlwZSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCBjbGFzc05hbWUgVGhlIE5hdmJhcidzIGNsYXNzTmFtZSBhbmQgb3B0aW9uYWwuXG4gKiBAcHJvcCB0b3AgVGhlIFNpZGUgQmFyJ3MgdG9wIGlzIGEgY29tcG9uZW50IGFuZCBvcHRpb25hbC5cbiAqIEBwcm9wIGNlbnRlciBUaGUgU2lkZSBCYXIncyBjZW50ZXIgaXMgYSBjb21wb25lbnQgYW5kIG9wdGlvbmFsLlxuICogQHByb3AgYm90dG9tIFRoZSBTaWRlIEJhcidzIGJvdHRvbSBpcyBhIGNvbXBvbmVudCBhbmQgb3B0aW9uYWwuXG4gKi9cbmV4cG9ydCBpbnRlcmZhY2UgSU5hdmJhclByb3BzIHtcbiAgdHlwZT86IHN0cmluZ1xuICBjbGFzc05hbWU/OiBzdHJpbmdcbiAgbGVmdD86IGFueVxuICBjZW50ZXI/OiBhbnlcbiAgcmlnaHQ/OiBhbnlcbn1cblxuLyoqXG4gKiBNZXNzYWdlVHlwZSBUeXBlXG4gKiBAdHlwZSBJTG9jYXRpb25NZXNzYWdlUHJvcHNcbiAqIEB0eXBlIElQaG90b01lc3NhZ2VQcm9wc1xuICogQHR5cGUgSVZpZGVvTWVzc2FnZVByb3BzXG4gKiBAdHlwZSBJU3BvdGlmeU1lc3NhZ2VQcm9wc1xuICogQHR5cGUgSUF1ZGlvTWVzc2FnZVByb3BzXG4gKiBAdHlwZSBJTWVldGluZ0xpbmtNZXNzYWdlUHJvcHNcbiAqIEB0eXBlIElGaWxlTWVzc2FnZVByb3BzXG4gKiBAdHlwZSBJVGV4dE1lc3NhZ2VQcm9wc1xuICogQHR5cGUgSVN5c3RlbU1lc3NhZ2VQcm9wc1xuICogQHR5cGUgSU1lZXRpbmdNZXNzYWdlUHJvcHNcbiAqL1xuZXhwb3J0IHR5cGUgTWVzc2FnZVR5cGUgPVxuICB8ICh7IHR5cGU6ICdsb2NhdGlvbicgfSAmIElMb2NhdGlvbk1lc3NhZ2VQcm9wcylcbiAgfCAoeyB0eXBlOiAncGhvdG8nIH0gJiBJUGhvdG9NZXNzYWdlUHJvcHMpXG4gIHwgKHsgdHlwZTogJ3ZpZGVvJyB9ICYgSVZpZGVvTWVzc2FnZVByb3BzKVxuICB8ICh7IHR5cGU6ICdzcG90aWZ5JyB9ICYgSVNwb3RpZnlNZXNzYWdlUHJvcHMpXG4gIHwgKHsgdHlwZTogJ2F1ZGlvJyB9ICYgSUF1ZGlvTWVzc2FnZVByb3BzKVxuICB8ICh7IHR5cGU6ICdtZWV0aW5nTGluaycgfSAmIElNZWV0aW5nTGlua01lc3NhZ2VQcm9wcylcbiAgfCAoeyB0eXBlOiAnZmlsZScgfSAmIElGaWxlTWVzc2FnZVByb3BzKVxuICB8ICh7IHR5cGU6ICd0ZXh0JyB9ICYgSVRleHRNZXNzYWdlUHJvcHMpXG4gIHwgKHsgdHlwZTogJ3N5c3RlbScgfSAmIElTeXN0ZW1NZXNzYWdlUHJvcHMpXG4gIHwgKHsgdHlwZTogJ21lZXRpbmcnIH0gJiBJTWVldGluZ01lc3NhZ2VQcm9wcylcblxuZXhwb3J0IHR5cGUgTWVzc2FnZUJveFR5cGUgPSBNZXNzYWdlVHlwZSAmIElNZXNzYWdlQm94UHJvcHNcblxuZXhwb3J0IGNsYXNzIENoYXRJdGVtIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PElDaGF0SXRlbVByb3BzPiB7fVxuZXhwb3J0IGNsYXNzIENoYXRMaXN0IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PElDaGF0TGlzdFByb3BzPiB7fVxuZXhwb3J0IGNsYXNzIE1lc3NhZ2VCb3ggZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8TWVzc2FnZUJveFR5cGU+IHt9XG5leHBvcnQgY2xhc3MgTG9jYXRpb25NZXNzYWdlIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PElMb2NhdGlvbk1lc3NhZ2VQcm9wcz4ge31cbmV4cG9ydCBjbGFzcyBQaG90b01lc3NhZ2UgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8SVBob3RvTWVzc2FnZVByb3BzPiB7fVxuZXhwb3J0IGNsYXNzIFZpZGVvTWVzc2FnZSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJVmlkZW9NZXNzYWdlUHJvcHM+IHt9XG5leHBvcnQgY2xhc3MgU3BvdGlmeU1lc3NhZ2UgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8SVNwb3RpZnlNZXNzYWdlUHJvcHM+IHt9XG5leHBvcnQgY2xhc3MgQXVkaW9NZXNzYWdlIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PElBdWRpb01lc3NhZ2VQcm9wcz4ge31cbmV4cG9ydCBjbGFzcyBNZWV0aW5nTGluayBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJTWVldGluZ0xpbmtNZXNzYWdlUHJvcHM+IHt9XG5leHBvcnQgY2xhc3MgRmlsZU1lc3NhZ2UgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8SUZpbGVNZXNzYWdlUHJvcHM+IHt9XG5leHBvcnQgY2xhc3MgVGV4dE1lc3NhZ2UgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8SVRleHRNZXNzYWdlUHJvcHM+IHt9XG5leHBvcnQgY2xhc3MgU3lzdGVtTWVzc2FnZSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJU3lzdGVtTWVzc2FnZVByb3BzPiB7fVxuZXhwb3J0IGNsYXNzIFJlcGx5TWVzc2FnZSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJUmVwbHlNZXNzYWdlUHJvcHM+IHt9XG5leHBvcnQgY2xhc3MgTWVldGluZ01lc3NhZ2UgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8SU1lZXRpbmdNZXNzYWdlUHJvcHM+IHt9XG5leHBvcnQgY2xhc3MgTWVldGluZ0l0ZW0gZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8SU1lZXRpbmdJdGVtUHJvcHM+IHt9XG5leHBvcnQgY2xhc3MgTWVldGluZ0xpc3QgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8SU1lZXRpbmdMaXN0UHJvcHM+IHt9XG5leHBvcnQgY2xhc3MgTWVzc2FnZUxpc3QgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8SU1lc3NhZ2VMaXN0UHJvcHM+IHt9XG5cbmV4cG9ydCBjbGFzcyBQb3B1cCBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJUG9wdXBQcm9wcz4ge31cbmV4cG9ydCBjbGFzcyBBdmF0YXIgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8SUF2YXRhclByb3BzPiB7fVxuZXhwb3J0IGNsYXNzIEJ1dHRvbiBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJQnV0dG9uUHJvcHM+IHt9XG5leHBvcnQgY2xhc3MgU2lkZWJhciBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJU2lkZUJhcj4ge31cbmV4cG9ydCBjbGFzcyBOYXZiYXIgZXh0ZW5kcyBSZWFjdC5Db21wb25lbnQ8SU5hdmJhclByb3BzPiB7fVxuZXhwb3J0IGNsYXNzIElucHV0IGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PElJbnB1dFByb3BzPiB7fVxuZXhwb3J0IGNsYXNzIERyb3Bkb3duIGV4dGVuZHMgUmVhY3QuQ29tcG9uZW50PElEcm9wZG93blByb3BzPiB7fVxuZXhwb3J0IGNsYXNzIENpcmNsZSBleHRlbmRzIFJlYWN0LkNvbXBvbmVudDxJQ2lyY2xlUHJvcHM+IHt9XG4iXSwibmFtZXMiOlsiQ2hhdEl0ZW0iLCJSZWFjdCIsIkNvbXBvbmVudCIsIkNoYXRMaXN0IiwiTWVzc2FnZUJveCIsIkxvY2F0aW9uTWVzc2FnZSIsIlBob3RvTWVzc2FnZSIsIlZpZGVvTWVzc2FnZSIsIlNwb3RpZnlNZXNzYWdlIiwiQXVkaW9NZXNzYWdlIiwiTWVldGluZ0xpbmsiLCJGaWxlTWVzc2FnZSIsIlRleHRNZXNzYWdlIiwiU3lzdGVtTWVzc2FnZSIsIlJlcGx5TWVzc2FnZSIsIk1lZXRpbmdNZXNzYWdlIiwiTWVldGluZ0l0ZW0iLCJNZWV0aW5nTGlzdCIsIk1lc3NhZ2VMaXN0IiwiUG9wdXAiLCJBdmF0YXIiLCJCdXR0b24iLCJTaWRlYmFyIiwiTmF2YmFyIiwiSW5wdXQiLCJEcm9wZG93biIsIkNpcmNsZSJdLCJtYXBwaW5ncyI6IkFBNmtDQSxPQUFPLE1BQU1BLGlCQUFpQkMsTUFBTUMsU0FBUztBQUFrQjtBQUMvRCxPQUFPLE1BQU1DLGlCQUFpQkYsTUFBTUMsU0FBUztBQUFrQjtBQUMvRCxPQUFPLE1BQU1FLG1CQUFtQkgsTUFBTUMsU0FBUztBQUFrQjtBQUNqRSxPQUFPLE1BQU1HLHdCQUF3QkosTUFBTUMsU0FBUztBQUF5QjtBQUM3RSxPQUFPLE1BQU1JLHFCQUFxQkwsTUFBTUMsU0FBUztBQUFzQjtBQUN2RSxPQUFPLE1BQU1LLHFCQUFxQk4sTUFBTUMsU0FBUztBQUFzQjtBQUN2RSxPQUFPLE1BQU1NLHVCQUF1QlAsTUFBTUMsU0FBUztBQUF3QjtBQUMzRSxPQUFPLE1BQU1PLHFCQUFxQlIsTUFBTUMsU0FBUztBQUFzQjtBQUN2RSxPQUFPLE1BQU1RLG9CQUFvQlQsTUFBTUMsU0FBUztBQUE0QjtBQUM1RSxPQUFPLE1BQU1TLG9CQUFvQlYsTUFBTUMsU0FBUztBQUFxQjtBQUNyRSxPQUFPLE1BQU1VLG9CQUFvQlgsTUFBTUMsU0FBUztBQUFxQjtBQUNyRSxPQUFPLE1BQU1XLHNCQUFzQlosTUFBTUMsU0FBUztBQUF1QjtBQUN6RSxPQUFPLE1BQU1ZLHFCQUFxQmIsTUFBTUMsU0FBUztBQUFzQjtBQUN2RSxPQUFPLE1BQU1hLHVCQUF1QmQsTUFBTUMsU0FBUztBQUF3QjtBQUMzRSxPQUFPLE1BQU1jLG9CQUFvQmYsTUFBTUMsU0FBUztBQUFxQjtBQUNyRSxPQUFPLE1BQU1lLG9CQUFvQmhCLE1BQU1DLFNBQVM7QUFBcUI7QUFDckUsT0FBTyxNQUFNZ0Isb0JBQW9CakIsTUFBTUMsU0FBUztBQUFxQjtBQUVyRSxPQUFPLE1BQU1pQixjQUFjbEIsTUFBTUMsU0FBUztBQUFlO0FBQ3pELE9BQU8sTUFBTWtCLGVBQWVuQixNQUFNQyxTQUFTO0FBQWdCO0FBQzNELE9BQU8sTUFBTW1CLGVBQWVwQixNQUFNQyxTQUFTO0FBQWdCO0FBQzNELE9BQU8sTUFBTW9CLGdCQUFnQnJCLE1BQU1DLFNBQVM7QUFBWTtBQUN4RCxPQUFPLE1BQU1xQixlQUFldEIsTUFBTUMsU0FBUztBQUFnQjtBQUMzRCxPQUFPLE1BQU1zQixjQUFjdkIsTUFBTUMsU0FBUztBQUFlO0FBQ3pELE9BQU8sTUFBTXVCLGlCQUFpQnhCLE1BQU1DLFNBQVM7QUFBa0I7QUFDL0QsT0FBTyxNQUFNd0IsZUFBZXpCLE1BQU1DLFNBQVM7QUFBZ0IifQ==
|
|
@@ -0,0 +1,4 @@
|
|
|
1
|
+
export type DateInput = Date | string | number;
|
|
2
|
+
export declare const resolveDateValue: (added?: DateInput, date?: DateInput) => DateInput | undefined;
|
|
3
|
+
export declare const formatRelativeDate: (value: DateInput) => string;
|
|
4
|
+
export declare const useRelativeDateText: (value?: DateInput, dateString?: string) => string;
|
|
@@ -0,0 +1,110 @@
|
|
|
1
|
+
import { DateTime } from '@nlabs/utils/date';
|
|
2
|
+
import { useEffect, useMemo, useState } from 'react';
|
|
3
|
+
export const resolveDateValue = (added, date)=>{
|
|
4
|
+
if (added !== undefined && added !== null && added !== '') {
|
|
5
|
+
return added;
|
|
6
|
+
}
|
|
7
|
+
if (date !== undefined && date !== null && date !== '') {
|
|
8
|
+
return date;
|
|
9
|
+
}
|
|
10
|
+
return undefined;
|
|
11
|
+
};
|
|
12
|
+
const parseRelativeDateInput = (value)=>{
|
|
13
|
+
let dateTime;
|
|
14
|
+
if (value instanceof Date) {
|
|
15
|
+
dateTime = DateTime.fromJSDate(value);
|
|
16
|
+
} else if (typeof value === 'number') {
|
|
17
|
+
dateTime = DateTime.fromMillis(value);
|
|
18
|
+
} else {
|
|
19
|
+
dateTime = DateTime.fromISO(value);
|
|
20
|
+
if (!dateTime.isValid) {
|
|
21
|
+
dateTime = DateTime.fromRFC2822(value);
|
|
22
|
+
}
|
|
23
|
+
if (!dateTime.isValid) {
|
|
24
|
+
dateTime = DateTime.fromHTTP(value);
|
|
25
|
+
}
|
|
26
|
+
if (!dateTime.isValid) {
|
|
27
|
+
dateTime = DateTime.fromSQL(value);
|
|
28
|
+
}
|
|
29
|
+
if (!dateTime.isValid) {
|
|
30
|
+
dateTime = DateTime.fromJSDate(new Date(value));
|
|
31
|
+
}
|
|
32
|
+
}
|
|
33
|
+
return dateTime;
|
|
34
|
+
};
|
|
35
|
+
const getRelativeDateRefreshMs = (dateTime)=>{
|
|
36
|
+
const minutesFromNow = Math.abs(DateTime.now().diff(dateTime, 'minutes').minutes);
|
|
37
|
+
if (minutesFromNow < 60) {
|
|
38
|
+
return 300_000;
|
|
39
|
+
}
|
|
40
|
+
return 0;
|
|
41
|
+
};
|
|
42
|
+
const formatTimestampDate = (dateTime)=>{
|
|
43
|
+
if (dateTime.hasSame(DateTime.now(), 'day')) {
|
|
44
|
+
return dateTime.toLocaleString(DateTime.TIME_SIMPLE);
|
|
45
|
+
}
|
|
46
|
+
return dateTime.toLocaleString(DateTime.DATETIME_SHORT);
|
|
47
|
+
};
|
|
48
|
+
export const formatRelativeDate = (value)=>{
|
|
49
|
+
const dateTime = parseRelativeDateInput(value);
|
|
50
|
+
if (!dateTime.isValid) {
|
|
51
|
+
return '';
|
|
52
|
+
}
|
|
53
|
+
const minutesFromNow = Math.abs(DateTime.now().diff(dateTime, 'minutes').minutes);
|
|
54
|
+
if (minutesFromNow < 60) {
|
|
55
|
+
return dateTime.toRelative() || formatTimestampDate(dateTime);
|
|
56
|
+
}
|
|
57
|
+
return formatTimestampDate(dateTime);
|
|
58
|
+
};
|
|
59
|
+
export const useRelativeDateText = (value, dateString)=>{
|
|
60
|
+
const valueKey = useMemo(()=>{
|
|
61
|
+
if (value instanceof Date) {
|
|
62
|
+
return String(value.getTime());
|
|
63
|
+
}
|
|
64
|
+
return String(value || '');
|
|
65
|
+
}, [
|
|
66
|
+
value
|
|
67
|
+
]);
|
|
68
|
+
const [relativeDateText, setRelativeDateText] = useState(()=>{
|
|
69
|
+
if (dateString) {
|
|
70
|
+
return dateString;
|
|
71
|
+
}
|
|
72
|
+
return value ? formatRelativeDate(value) : '';
|
|
73
|
+
});
|
|
74
|
+
useEffect(()=>{
|
|
75
|
+
if (dateString) {
|
|
76
|
+
setRelativeDateText(dateString);
|
|
77
|
+
return;
|
|
78
|
+
}
|
|
79
|
+
if (value === undefined || value === null || value === '') {
|
|
80
|
+
setRelativeDateText('');
|
|
81
|
+
return;
|
|
82
|
+
}
|
|
83
|
+
const dateTime = parseRelativeDateInput(value);
|
|
84
|
+
if (!dateTime.isValid) {
|
|
85
|
+
setRelativeDateText('');
|
|
86
|
+
return;
|
|
87
|
+
}
|
|
88
|
+
let timeoutId;
|
|
89
|
+
const updateRelativeDateText = ()=>{
|
|
90
|
+
setRelativeDateText(formatRelativeDate(value));
|
|
91
|
+
const refreshMs = getRelativeDateRefreshMs(dateTime);
|
|
92
|
+
if (refreshMs > 0) {
|
|
93
|
+
timeoutId = setTimeout(updateRelativeDateText, refreshMs);
|
|
94
|
+
}
|
|
95
|
+
};
|
|
96
|
+
updateRelativeDateText();
|
|
97
|
+
return ()=>{
|
|
98
|
+
if (timeoutId) {
|
|
99
|
+
clearTimeout(timeoutId);
|
|
100
|
+
}
|
|
101
|
+
};
|
|
102
|
+
}, [
|
|
103
|
+
dateString,
|
|
104
|
+
value,
|
|
105
|
+
valueKey
|
|
106
|
+
]);
|
|
107
|
+
return relativeDateText;
|
|
108
|
+
};
|
|
109
|
+
|
|
110
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJzb3VyY2VzIjpbIi9Vc2Vycy9uaXRyb2c3L0RldmVsb3BtZW50L2dvdGhhbWpzL3NyYy9jb21wb25lbnRzL0NoYXQvdXRpbHMvZm9ybWF0UmVsYXRpdmVEYXRlLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7RGF0ZVRpbWV9IGZyb20gJ0BubGFicy91dGlscy9kYXRlJztcbmltcG9ydCB7dXNlRWZmZWN0LCB1c2VNZW1vLCB1c2VTdGF0ZX0gZnJvbSAncmVhY3QnO1xuXG5leHBvcnQgdHlwZSBEYXRlSW5wdXQgPSBEYXRlIHwgc3RyaW5nIHwgbnVtYmVyXG5cbmV4cG9ydCBjb25zdCByZXNvbHZlRGF0ZVZhbHVlID0gKGFkZGVkPzogRGF0ZUlucHV0LCBkYXRlPzogRGF0ZUlucHV0KTogRGF0ZUlucHV0IHwgdW5kZWZpbmVkID0+IHtcbiAgaWYoYWRkZWQgIT09IHVuZGVmaW5lZCAmJiBhZGRlZCAhPT0gbnVsbCAmJiBhZGRlZCAhPT0gJycpIHtcbiAgICByZXR1cm4gYWRkZWQ7XG4gIH1cblxuICBpZihkYXRlICE9PSB1bmRlZmluZWQgJiYgZGF0ZSAhPT0gbnVsbCAmJiBkYXRlICE9PSAnJykge1xuICAgIHJldHVybiBkYXRlO1xuICB9XG5cbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn07XG5cbmNvbnN0IHBhcnNlUmVsYXRpdmVEYXRlSW5wdXQgPSAodmFsdWU6IERhdGVJbnB1dCk6IERhdGVUaW1lID0+IHtcbiAgbGV0IGRhdGVUaW1lOiBEYXRlVGltZTtcblxuICBpZih2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICBkYXRlVGltZSA9IERhdGVUaW1lLmZyb21KU0RhdGUodmFsdWUpO1xuICB9IGVsc2UgaWYodHlwZW9mIHZhbHVlID09PSAnbnVtYmVyJykge1xuICAgIGRhdGVUaW1lID0gRGF0ZVRpbWUuZnJvbU1pbGxpcyh2YWx1ZSk7XG4gIH0gZWxzZSB7XG4gICAgZGF0ZVRpbWUgPSBEYXRlVGltZS5mcm9tSVNPKHZhbHVlKTtcblxuICAgIGlmKCFkYXRlVGltZS5pc1ZhbGlkKSB7XG4gICAgICBkYXRlVGltZSA9IERhdGVUaW1lLmZyb21SRkMyODIyKHZhbHVlKTtcbiAgICB9XG4gICAgaWYoIWRhdGVUaW1lLmlzVmFsaWQpIHtcbiAgICAgIGRhdGVUaW1lID0gRGF0ZVRpbWUuZnJvbUhUVFAodmFsdWUpO1xuICAgIH1cbiAgICBpZighZGF0ZVRpbWUuaXNWYWxpZCkge1xuICAgICAgZGF0ZVRpbWUgPSBEYXRlVGltZS5mcm9tU1FMKHZhbHVlKTtcbiAgICB9XG4gICAgaWYoIWRhdGVUaW1lLmlzVmFsaWQpIHtcbiAgICAgIGRhdGVUaW1lID0gRGF0ZVRpbWUuZnJvbUpTRGF0ZShuZXcgRGF0ZSh2YWx1ZSkpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiBkYXRlVGltZTtcbn07XG5cbmNvbnN0IGdldFJlbGF0aXZlRGF0ZVJlZnJlc2hNcyA9IChkYXRlVGltZTogRGF0ZVRpbWUpOiBudW1iZXIgPT4ge1xuICBjb25zdCBtaW51dGVzRnJvbU5vdyA9IE1hdGguYWJzKERhdGVUaW1lLm5vdygpLmRpZmYoZGF0ZVRpbWUsICdtaW51dGVzJykubWludXRlcyk7XG5cbiAgaWYobWludXRlc0Zyb21Ob3cgPCA2MCkge1xuICAgIHJldHVybiAzMDBfMDAwO1xuICB9XG5cbiAgcmV0dXJuIDA7XG59O1xuXG5jb25zdCBmb3JtYXRUaW1lc3RhbXBEYXRlID0gKGRhdGVUaW1lOiBEYXRlVGltZSk6IHN0cmluZyA9PiB7XG4gIGlmKGRhdGVUaW1lLmhhc1NhbWUoRGF0ZVRpbWUubm93KCksICdkYXknKSkge1xuICAgIHJldHVybiBkYXRlVGltZS50b0xvY2FsZVN0cmluZyhEYXRlVGltZS5USU1FX1NJTVBMRSk7XG4gIH1cblxuICByZXR1cm4gZGF0ZVRpbWUudG9Mb2NhbGVTdHJpbmcoRGF0ZVRpbWUuREFURVRJTUVfU0hPUlQpO1xufTtcblxuZXhwb3J0IGNvbnN0IGZvcm1hdFJlbGF0aXZlRGF0ZSA9ICh2YWx1ZTogRGF0ZUlucHV0KTogc3RyaW5nID0+IHtcbiAgY29uc3QgZGF0ZVRpbWUgPSBwYXJzZVJlbGF0aXZlRGF0ZUlucHV0KHZhbHVlKTtcblxuICBpZighZGF0ZVRpbWUuaXNWYWxpZCkge1xuICAgIHJldHVybiAnJztcbiAgfVxuXG4gIGNvbnN0IG1pbnV0ZXNGcm9tTm93ID0gTWF0aC5hYnMoRGF0ZVRpbWUubm93KCkuZGlmZihkYXRlVGltZSwgJ21pbnV0ZXMnKS5taW51dGVzKTtcblxuICBpZihtaW51dGVzRnJvbU5vdyA8IDYwKSB7XG4gICAgcmV0dXJuIGRhdGVUaW1lLnRvUmVsYXRpdmUoKSB8fCBmb3JtYXRUaW1lc3RhbXBEYXRlKGRhdGVUaW1lKTtcbiAgfVxuXG4gIHJldHVybiBmb3JtYXRUaW1lc3RhbXBEYXRlKGRhdGVUaW1lKTtcbn07XG5cbmV4cG9ydCBjb25zdCB1c2VSZWxhdGl2ZURhdGVUZXh0ID0gKHZhbHVlPzogRGF0ZUlucHV0LCBkYXRlU3RyaW5nPzogc3RyaW5nKTogc3RyaW5nID0+IHtcbiAgY29uc3QgdmFsdWVLZXkgPSB1c2VNZW1vKCgpID0+IHtcbiAgICBpZih2YWx1ZSBpbnN0YW5jZW9mIERhdGUpIHtcbiAgICAgIHJldHVybiBTdHJpbmcodmFsdWUuZ2V0VGltZSgpKTtcbiAgICB9XG5cbiAgICByZXR1cm4gU3RyaW5nKHZhbHVlIHx8ICcnKTtcbiAgfSwgW3ZhbHVlXSk7XG4gIGNvbnN0IFtyZWxhdGl2ZURhdGVUZXh0LCBzZXRSZWxhdGl2ZURhdGVUZXh0XSA9IHVzZVN0YXRlKCgpID0+IHtcbiAgICBpZihkYXRlU3RyaW5nKSB7XG4gICAgICByZXR1cm4gZGF0ZVN0cmluZztcbiAgICB9XG5cbiAgICByZXR1cm4gdmFsdWUgPyBmb3JtYXRSZWxhdGl2ZURhdGUodmFsdWUpIDogJyc7XG4gIH0pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYoZGF0ZVN0cmluZykge1xuICAgICAgc2V0UmVsYXRpdmVEYXRlVGV4dChkYXRlU3RyaW5nKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZih2YWx1ZSA9PT0gdW5kZWZpbmVkIHx8IHZhbHVlID09PSBudWxsIHx8IHZhbHVlID09PSAnJykge1xuICAgICAgc2V0UmVsYXRpdmVEYXRlVGV4dCgnJyk7XG4gICAgICByZXR1cm47XG4gICAgfVxuXG4gICAgY29uc3QgZGF0ZVRpbWUgPSBwYXJzZVJlbGF0aXZlRGF0ZUlucHV0KHZhbHVlKTtcblxuICAgIGlmKCFkYXRlVGltZS5pc1ZhbGlkKSB7XG4gICAgICBzZXRSZWxhdGl2ZURhdGVUZXh0KCcnKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBsZXQgdGltZW91dElkOiBSZXR1cm5UeXBlPHR5cGVvZiBzZXRUaW1lb3V0PiB8IHVuZGVmaW5lZDtcblxuICAgIGNvbnN0IHVwZGF0ZVJlbGF0aXZlRGF0ZVRleHQgPSAoKSA9PiB7XG4gICAgICBzZXRSZWxhdGl2ZURhdGVUZXh0KGZvcm1hdFJlbGF0aXZlRGF0ZSh2YWx1ZSkpO1xuICAgICAgY29uc3QgcmVmcmVzaE1zID0gZ2V0UmVsYXRpdmVEYXRlUmVmcmVzaE1zKGRhdGVUaW1lKTtcblxuICAgICAgaWYocmVmcmVzaE1zID4gMCkge1xuICAgICAgICB0aW1lb3V0SWQgPSBzZXRUaW1lb3V0KHVwZGF0ZVJlbGF0aXZlRGF0ZVRleHQsIHJlZnJlc2hNcyk7XG4gICAgICB9XG4gICAgfTtcblxuICAgIHVwZGF0ZVJlbGF0aXZlRGF0ZVRleHQoKTtcblxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpZih0aW1lb3V0SWQpIHtcbiAgICAgICAgY2xlYXJUaW1lb3V0KHRpbWVvdXRJZCk7XG4gICAgICB9XG4gICAgfTtcbiAgfSwgW2RhdGVTdHJpbmcsIHZhbHVlLCB2YWx1ZUtleV0pO1xuXG4gIHJldHVybiByZWxhdGl2ZURhdGVUZXh0O1xufTtcbiJdLCJuYW1lcyI6WyJEYXRlVGltZSIsInVzZUVmZmVjdCIsInVzZU1lbW8iLCJ1c2VTdGF0ZSIsInJlc29sdmVEYXRlVmFsdWUiLCJhZGRlZCIsImRhdGUiLCJ1bmRlZmluZWQiLCJwYXJzZVJlbGF0aXZlRGF0ZUlucHV0IiwidmFsdWUiLCJkYXRlVGltZSIsIkRhdGUiLCJmcm9tSlNEYXRlIiwiZnJvbU1pbGxpcyIsImZyb21JU08iLCJpc1ZhbGlkIiwiZnJvbVJGQzI4MjIiLCJmcm9tSFRUUCIsImZyb21TUUwiLCJnZXRSZWxhdGl2ZURhdGVSZWZyZXNoTXMiLCJtaW51dGVzRnJvbU5vdyIsIk1hdGgiLCJhYnMiLCJub3ciLCJkaWZmIiwibWludXRlcyIsImZvcm1hdFRpbWVzdGFtcERhdGUiLCJoYXNTYW1lIiwidG9Mb2NhbGVTdHJpbmciLCJUSU1FX1NJTVBMRSIsIkRBVEVUSU1FX1NIT1JUIiwiZm9ybWF0UmVsYXRpdmVEYXRlIiwidG9SZWxhdGl2ZSIsInVzZVJlbGF0aXZlRGF0ZVRleHQiLCJkYXRlU3RyaW5nIiwidmFsdWVLZXkiLCJTdHJpbmciLCJnZXRUaW1lIiwicmVsYXRpdmVEYXRlVGV4dCIsInNldFJlbGF0aXZlRGF0ZVRleHQiLCJ0aW1lb3V0SWQiLCJ1cGRhdGVSZWxhdGl2ZURhdGVUZXh0IiwicmVmcmVzaE1zIiwic2V0VGltZW91dCIsImNsZWFyVGltZW91dCJdLCJtYXBwaW5ncyI6IkFBQUEsU0FBUUEsUUFBUSxRQUFPLG9CQUFvQjtBQUMzQyxTQUFRQyxTQUFTLEVBQUVDLE9BQU8sRUFBRUMsUUFBUSxRQUFPLFFBQVE7QUFJbkQsT0FBTyxNQUFNQyxtQkFBbUIsQ0FBQ0MsT0FBbUJDO0lBQ2xELElBQUdELFVBQVVFLGFBQWFGLFVBQVUsUUFBUUEsVUFBVSxJQUFJO1FBQ3hELE9BQU9BO0lBQ1Q7SUFFQSxJQUFHQyxTQUFTQyxhQUFhRCxTQUFTLFFBQVFBLFNBQVMsSUFBSTtRQUNyRCxPQUFPQTtJQUNUO0lBRUEsT0FBT0M7QUFDVCxFQUFFO0FBRUYsTUFBTUMseUJBQXlCLENBQUNDO0lBQzlCLElBQUlDO0lBRUosSUFBR0QsaUJBQWlCRSxNQUFNO1FBQ3hCRCxXQUFXVixTQUFTWSxVQUFVLENBQUNIO0lBQ2pDLE9BQU8sSUFBRyxPQUFPQSxVQUFVLFVBQVU7UUFDbkNDLFdBQVdWLFNBQVNhLFVBQVUsQ0FBQ0o7SUFDakMsT0FBTztRQUNMQyxXQUFXVixTQUFTYyxPQUFPLENBQUNMO1FBRTVCLElBQUcsQ0FBQ0MsU0FBU0ssT0FBTyxFQUFFO1lBQ3BCTCxXQUFXVixTQUFTZ0IsV0FBVyxDQUFDUDtRQUNsQztRQUNBLElBQUcsQ0FBQ0MsU0FBU0ssT0FBTyxFQUFFO1lBQ3BCTCxXQUFXVixTQUFTaUIsUUFBUSxDQUFDUjtRQUMvQjtRQUNBLElBQUcsQ0FBQ0MsU0FBU0ssT0FBTyxFQUFFO1lBQ3BCTCxXQUFXVixTQUFTa0IsT0FBTyxDQUFDVDtRQUM5QjtRQUNBLElBQUcsQ0FBQ0MsU0FBU0ssT0FBTyxFQUFFO1lBQ3BCTCxXQUFXVixTQUFTWSxVQUFVLENBQUMsSUFBSUQsS0FBS0Y7UUFDMUM7SUFDRjtJQUVBLE9BQU9DO0FBQ1Q7QUFFQSxNQUFNUywyQkFBMkIsQ0FBQ1Q7SUFDaEMsTUFBTVUsaUJBQWlCQyxLQUFLQyxHQUFHLENBQUN0QixTQUFTdUIsR0FBRyxHQUFHQyxJQUFJLENBQUNkLFVBQVUsV0FBV2UsT0FBTztJQUVoRixJQUFHTCxpQkFBaUIsSUFBSTtRQUN0QixPQUFPO0lBQ1Q7SUFFQSxPQUFPO0FBQ1Q7QUFFQSxNQUFNTSxzQkFBc0IsQ0FBQ2hCO0lBQzNCLElBQUdBLFNBQVNpQixPQUFPLENBQUMzQixTQUFTdUIsR0FBRyxJQUFJLFFBQVE7UUFDMUMsT0FBT2IsU0FBU2tCLGNBQWMsQ0FBQzVCLFNBQVM2QixXQUFXO0lBQ3JEO0lBRUEsT0FBT25CLFNBQVNrQixjQUFjLENBQUM1QixTQUFTOEIsY0FBYztBQUN4RDtBQUVBLE9BQU8sTUFBTUMscUJBQXFCLENBQUN0QjtJQUNqQyxNQUFNQyxXQUFXRix1QkFBdUJDO0lBRXhDLElBQUcsQ0FBQ0MsU0FBU0ssT0FBTyxFQUFFO1FBQ3BCLE9BQU87SUFDVDtJQUVBLE1BQU1LLGlCQUFpQkMsS0FBS0MsR0FBRyxDQUFDdEIsU0FBU3VCLEdBQUcsR0FBR0MsSUFBSSxDQUFDZCxVQUFVLFdBQVdlLE9BQU87SUFFaEYsSUFBR0wsaUJBQWlCLElBQUk7UUFDdEIsT0FBT1YsU0FBU3NCLFVBQVUsTUFBTU4sb0JBQW9CaEI7SUFDdEQ7SUFFQSxPQUFPZ0Isb0JBQW9CaEI7QUFDN0IsRUFBRTtBQUVGLE9BQU8sTUFBTXVCLHNCQUFzQixDQUFDeEIsT0FBbUJ5QjtJQUNyRCxNQUFNQyxXQUFXakMsUUFBUTtRQUN2QixJQUFHTyxpQkFBaUJFLE1BQU07WUFDeEIsT0FBT3lCLE9BQU8zQixNQUFNNEIsT0FBTztRQUM3QjtRQUVBLE9BQU9ELE9BQU8zQixTQUFTO0lBQ3pCLEdBQUc7UUFBQ0E7S0FBTTtJQUNWLE1BQU0sQ0FBQzZCLGtCQUFrQkMsb0JBQW9CLEdBQUdwQyxTQUFTO1FBQ3ZELElBQUcrQixZQUFZO1lBQ2IsT0FBT0E7UUFDVDtRQUVBLE9BQU96QixRQUFRc0IsbUJBQW1CdEIsU0FBUztJQUM3QztJQUVBUixVQUFVO1FBQ1IsSUFBR2lDLFlBQVk7WUFDYkssb0JBQW9CTDtZQUNwQjtRQUNGO1FBRUEsSUFBR3pCLFVBQVVGLGFBQWFFLFVBQVUsUUFBUUEsVUFBVSxJQUFJO1lBQ3hEOEIsb0JBQW9CO1lBQ3BCO1FBQ0Y7UUFFQSxNQUFNN0IsV0FBV0YsdUJBQXVCQztRQUV4QyxJQUFHLENBQUNDLFNBQVNLLE9BQU8sRUFBRTtZQUNwQndCLG9CQUFvQjtZQUNwQjtRQUNGO1FBRUEsSUFBSUM7UUFFSixNQUFNQyx5QkFBeUI7WUFDN0JGLG9CQUFvQlIsbUJBQW1CdEI7WUFDdkMsTUFBTWlDLFlBQVl2Qix5QkFBeUJUO1lBRTNDLElBQUdnQyxZQUFZLEdBQUc7Z0JBQ2hCRixZQUFZRyxXQUFXRix3QkFBd0JDO1lBQ2pEO1FBQ0Y7UUFFQUQ7UUFFQSxPQUFPO1lBQ0wsSUFBR0QsV0FBVztnQkFDWkksYUFBYUo7WUFDZjtRQUNGO0lBQ0YsR0FBRztRQUFDTjtRQUFZekI7UUFBTzBCO0tBQVM7SUFFaEMsT0FBT0c7QUFDVCxFQUFFIn0=
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import type { InputHTMLAttributes } from 'react';
|
|
2
|
+
export interface CheckboxProps extends Omit<InputHTMLAttributes<HTMLInputElement>, 'type' | 'className' | 'defaultValue'> {
|
|
3
|
+
color?: 'primary' | 'secondary' | 'error' | 'success' | 'warning';
|
|
4
|
+
containerClass?: string;
|
|
5
|
+
defaultValue?: boolean;
|
|
6
|
+
description?: string;
|
|
7
|
+
error?: string;
|
|
8
|
+
label: string;
|
|
9
|
+
labelClass?: string;
|
|
10
|
+
name: string;
|
|
11
|
+
optionClass?: string;
|
|
12
|
+
}
|
|
13
|
+
declare const CheckboxComponent: ({ color, label, defaultValue, description, error, containerClass, labelClass, name, optionClass, id, ...props }: CheckboxProps) => import("react").JSX.Element;
|
|
14
|
+
export declare const Checkbox: import("react").MemoExoticComponent<typeof CheckboxComponent>;
|
|
15
|
+
export {};
|