@envive-ai/react-hooks 0.3.2 → 0.3.4
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/dist/_virtual/rolldown_runtime.cjs +2 -0
- package/dist/_virtual/rolldown_runtime.js +29 -0
- package/dist/application/commerce-api.cjs +15 -5
- package/dist/application/commerce-api.js +14 -4
- package/dist/application/models/api/nextMessageRequest.d.cts +3 -1
- package/dist/application/models/api/nextMessageRequest.d.ts +3 -1
- package/dist/application/models/api/userEvent.d.cts +4 -2
- package/dist/application/models/api/userEvent.d.ts +4 -2
- package/dist/application/models/chatElementDisplayLocationV3.cjs +18 -0
- package/dist/application/models/chatElementDisplayLocationV3.d.cts +15 -0
- package/dist/application/models/chatElementDisplayLocationV3.d.ts +15 -0
- package/dist/application/models/chatElementDisplayLocationV3.js +17 -0
- package/dist/application/models/colorsConfigV3.cjs +26 -0
- package/dist/application/models/colorsConfigV3.d.cts +22 -0
- package/dist/application/models/colorsConfigV3.d.ts +22 -0
- package/dist/application/models/colorsConfigV3.js +24 -0
- package/dist/application/models/featureGates.cjs +2 -1
- package/dist/application/models/featureGates.d.cts +2 -1
- package/dist/application/models/featureGates.d.ts +2 -1
- package/dist/application/models/featureGates.js +2 -1
- package/dist/application/models/frontendConfig.d.cts +4 -2
- package/dist/application/models/frontendConfig.d.ts +4 -2
- package/dist/application/models/frontendConfigV3.d.cts +14 -0
- package/dist/application/models/frontendConfigV3.d.ts +14 -0
- package/dist/application/models/index.cjs +3 -0
- package/dist/application/models/index.d.cts +4 -3
- package/dist/application/models/index.d.ts +4 -3
- package/dist/application/models/index.js +3 -2
- package/dist/application/models/utils/snakeToCamelTransformer.cjs +2 -1
- package/dist/application/models/utils/snakeToCamelTransformer.d.cts +7 -2
- package/dist/application/models/utils/snakeToCamelTransformer.d.ts +7 -2
- package/dist/application/models/utils/snakeToCamelTransformer.js +2 -2
- package/dist/application/models/variantInfo/variantInfo.cjs +4 -1
- package/dist/application/models/variantInfo/variantInfo.d.cts +4 -1
- package/dist/application/models/variantInfo/variantInfo.d.ts +4 -1
- package/dist/application/models/variantInfo/variantInfo.js +4 -1
- package/dist/application/utils/analyticsUtils.cjs +5 -4
- package/dist/application/utils/analyticsUtils.d.cts +1 -1
- package/dist/application/utils/analyticsUtils.d.ts +1 -1
- package/dist/application/utils/analyticsUtils.js +3 -2
- package/dist/application/utils/elementObserver.cjs +1 -1
- package/dist/application/utils/elementObserver.d.cts +2 -2
- package/dist/application/utils/elementObserver.d.ts +2 -2
- package/dist/application/utils/elementObserver.js +1 -1
- package/dist/application/utils/index.d.cts +1 -1
- package/dist/application/utils/index.d.ts +1 -1
- package/dist/application/utils/widgetTextFromApiWidgetTextResponse.cjs +14 -0
- package/dist/application/utils/widgetTextFromApiWidgetTextResponse.js +13 -0
- package/dist/application/utils/widgetTextRequestToApiRequest.cjs +30 -0
- package/dist/application/utils/widgetTextRequestToApiRequest.js +29 -0
- package/dist/atoms/amplitude/amplitudeTrackEventAtom.cjs +1 -1
- package/dist/atoms/amplitude/amplitudeTrackEventAtom.js +1 -1
- package/dist/atoms/app/index.cjs +13 -1
- package/dist/atoms/app/index.d.cts +4 -3
- package/dist/atoms/app/index.d.ts +9 -8
- package/dist/atoms/app/index.js +13 -4
- package/dist/atoms/app/variant.cjs +6 -2
- package/dist/atoms/app/variant.d.cts +76 -5
- package/dist/atoms/app/variant.d.ts +76 -5
- package/dist/atoms/app/variant.js +4 -2
- package/dist/atoms/chat/chatState.cjs +9 -4
- package/dist/atoms/chat/chatState.d.cts +25 -18
- package/dist/atoms/chat/chatState.d.ts +25 -18
- package/dist/atoms/chat/chatState.js +6 -3
- package/dist/atoms/chat/form.cjs +4 -4
- package/dist/atoms/chat/form.d.cts +2 -2
- package/dist/atoms/chat/form.d.ts +2 -2
- package/dist/atoms/chat/index.cjs +32 -30
- package/dist/atoms/chat/index.d.cts +4 -4
- package/dist/atoms/chat/index.d.ts +3 -3
- package/dist/atoms/chat/index.js +2 -2
- package/dist/atoms/chat/lastMessage.cjs +4 -4
- package/dist/atoms/chat/lastMessage.d.cts +2 -2
- package/dist/atoms/chat/lastMessage.d.ts +2 -2
- package/dist/atoms/chat/messageQueue.cjs +1 -35
- package/dist/atoms/chat/messageQueue.js +2 -34
- package/dist/atoms/chat/performanceMetrics.d.cts +6 -6
- package/dist/atoms/chat/performanceMetrics.d.ts +6 -6
- package/dist/atoms/chat/renderedWidgetRefs.d.cts +2 -2
- package/dist/atoms/chat/renderedWidgetRefs.d.ts +2 -2
- package/dist/atoms/chat/replies.cjs +9 -8
- package/dist/atoms/chat/replies.d.cts +3 -3
- package/dist/atoms/chat/replies.d.ts +3 -3
- package/dist/atoms/chat/replies.js +3 -2
- package/dist/atoms/chat/suggestions.cjs +6 -6
- package/dist/atoms/chat/suggestions.d.cts +2 -2
- package/dist/atoms/chat/suggestions.d.ts +2 -2
- package/dist/atoms/envive/enviveConfig.cjs +5 -2
- package/dist/atoms/envive/enviveConfig.js +5 -2
- package/dist/atoms/globalSearch/globalSearch.cjs +1 -3
- package/dist/atoms/globalSearch/globalSearch.d.cts +7 -10
- package/dist/atoms/globalSearch/globalSearch.d.ts +7 -10
- package/dist/atoms/globalSearch/globalSearch.js +2 -3
- package/dist/atoms/globalSearch/index.cjs +0 -1
- package/dist/atoms/globalSearch/index.d.cts +2 -2
- package/dist/atoms/globalSearch/index.d.ts +2 -2
- package/dist/atoms/globalSearch/index.js +2 -2
- package/dist/atoms/org/customerService.d.cts +6 -6
- package/dist/atoms/org/customerService.d.ts +6 -6
- package/dist/atoms/org/graphqlConfig.cjs +1 -3
- package/dist/atoms/org/graphqlConfig.d.cts +6 -9
- package/dist/atoms/org/graphqlConfig.d.ts +6 -9
- package/dist/atoms/org/graphqlConfig.js +2 -3
- package/dist/atoms/org/index.cjs +2 -3
- package/dist/atoms/org/index.d.cts +2 -2
- package/dist/atoms/org/index.d.ts +2 -2
- package/dist/atoms/org/index.js +2 -2
- package/dist/atoms/org/newOrgConfigAtom.d.cts +2 -2
- package/dist/atoms/org/newOrgConfigAtom.d.ts +2 -2
- package/dist/atoms/org/orgAnalyticsConfig.d.cts +5 -5
- package/dist/atoms/org/orgAnalyticsConfig.d.ts +5 -5
- package/dist/atoms/search/chatSearch.cjs +7 -7
- package/dist/atoms/search/chatSearch.d.cts +20 -18
- package/dist/atoms/search/chatSearch.d.ts +20 -18
- package/dist/atoms/search/searchAPI.d.cts +15 -14
- package/dist/atoms/search/searchAPI.d.ts +15 -14
- package/dist/atoms/search/utils.d.cts +1 -1
- package/dist/atoms/widget/chatPreviewLoading.cjs +23 -0
- package/dist/atoms/widget/chatPreviewLoading.d.cts +26 -0
- package/dist/atoms/widget/chatPreviewLoading.d.ts +26 -0
- package/dist/atoms/widget/chatPreviewLoading.js +22 -0
- package/dist/atoms/widget/index.cjs +3 -0
- package/dist/atoms/widget/index.d.cts +2 -0
- package/dist/atoms/widget/index.d.ts +2 -0
- package/dist/atoms/widget/index.js +3 -0
- package/dist/contexts/amplitudeContext/amplitudeContext.cjs +41 -228
- package/dist/contexts/amplitudeContext/amplitudeContext.d.cts +4 -39
- package/dist/contexts/amplitudeContext/amplitudeContext.d.ts +4 -39
- package/dist/contexts/amplitudeContext/amplitudeContext.js +45 -231
- package/dist/contexts/amplitudeContext/index.cjs +2 -1
- package/dist/contexts/amplitudeContext/index.d.cts +2 -1
- package/dist/contexts/amplitudeContext/index.d.ts +2 -1
- package/dist/contexts/amplitudeContext/index.js +2 -1
- package/dist/contexts/enviveConfigContext/enviveConfigContext.cjs +3 -2
- package/dist/contexts/enviveConfigContext/enviveConfigContext.d.cts +2 -1
- package/dist/contexts/enviveConfigContext/enviveConfigContext.d.ts +2 -1
- package/dist/contexts/enviveConfigContext/enviveConfigContext.js +3 -2
- package/dist/contexts/enviveContext/enviveContext.cjs +73 -18
- package/dist/contexts/enviveContext/enviveContext.d.cts +9 -1
- package/dist/contexts/enviveContext/enviveContext.d.ts +9 -1
- package/dist/contexts/enviveContext/enviveContext.js +75 -20
- package/dist/contexts/enviveCssContext/enviveCssContext.cjs +96 -24
- package/dist/contexts/enviveCssContext/enviveCssContext.js +96 -24
- package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.cjs +5 -7
- package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.d.cts +2 -2
- package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.d.ts +2 -2
- package/dist/contexts/featureFlagServiceContext/featureFlagServiceContext.js +5 -7
- package/dist/contexts/graphqlContext/graphqlContext.cjs +70 -8
- package/dist/contexts/graphqlContext/graphqlContext.d.cts +17 -5
- package/dist/contexts/graphqlContext/graphqlContext.d.ts +17 -5
- package/dist/contexts/graphqlContext/graphqlContext.js +70 -8
- package/dist/contexts/graphqlContext/index.d.cts +2 -2
- package/dist/contexts/graphqlContext/index.d.ts +2 -2
- package/dist/contexts/graphqlContext/mockV3Config.cjs +208 -0
- package/dist/contexts/graphqlContext/mockV3Config.js +207 -0
- package/dist/contexts/hardcopyContext/hardcopyContext.cjs +169 -0
- package/dist/contexts/hardcopyContext/hardcopyContext.d.cts +24 -0
- package/dist/contexts/hardcopyContext/hardcopyContext.d.ts +24 -0
- package/dist/contexts/hardcopyContext/hardcopyContext.js +167 -0
- package/dist/contexts/hardcopyContext/index.cjs +4 -0
- package/dist/contexts/hardcopyContext/index.d.cts +2 -0
- package/dist/contexts/hardcopyContext/index.d.ts +2 -0
- package/dist/contexts/hardcopyContext/index.js +3 -0
- package/dist/contexts/newOrgConfigContext/newOrgConfigContext.cjs +7 -8
- package/dist/contexts/newOrgConfigContext/newOrgConfigContext.js +8 -9
- package/dist/contexts/pageContext/index.cjs +6 -0
- package/dist/contexts/pageContext/index.d.cts +3 -0
- package/dist/contexts/pageContext/index.d.ts +3 -0
- package/dist/contexts/pageContext/index.js +4 -0
- package/dist/contexts/pageContext/mapping.cjs +29 -0
- package/dist/contexts/pageContext/mapping.d.cts +8 -0
- package/dist/contexts/pageContext/mapping.d.ts +8 -0
- package/dist/contexts/pageContext/mapping.js +29 -0
- package/dist/contexts/pageContext/pageContext.cjs +86 -0
- package/dist/contexts/pageContext/pageContext.d.cts +14 -0
- package/dist/contexts/pageContext/pageContext.d.ts +14 -0
- package/dist/contexts/pageContext/pageContext.js +84 -0
- package/dist/contexts/pageContext/types.cjs +0 -0
- package/dist/contexts/pageContext/types.d.cts +31 -0
- package/dist/contexts/pageContext/types.d.ts +31 -0
- package/dist/contexts/pageContext/types.js +1 -0
- package/dist/contexts/salesAgentContext/chatAPI.cjs +48 -0
- package/dist/contexts/salesAgentContext/chatAPI.d.cts +35 -0
- package/dist/contexts/salesAgentContext/chatAPI.d.ts +35 -0
- package/dist/contexts/salesAgentContext/chatAPI.js +47 -0
- package/dist/contexts/salesAgentContext/index.cjs +20 -0
- package/dist/contexts/salesAgentContext/index.d.cts +4 -0
- package/dist/contexts/salesAgentContext/index.d.ts +4 -0
- package/dist/contexts/salesAgentContext/index.js +5 -0
- package/dist/contexts/salesAgentContext/salesAgentContext.cjs +130 -0
- package/dist/contexts/salesAgentContext/salesAgentContext.d.cts +22 -0
- package/dist/contexts/salesAgentContext/salesAgentContext.d.ts +22 -0
- package/dist/contexts/salesAgentContext/salesAgentContext.js +128 -0
- package/dist/contexts/salesAgentContext/salesAgentService.cjs +135 -0
- package/dist/contexts/salesAgentContext/salesAgentService.js +134 -0
- package/dist/contexts/salesAgentContext/statusCodeError.cjs +14 -0
- package/dist/contexts/salesAgentContext/statusCodeError.js +13 -0
- package/dist/contexts/systemSettingsContext/systemSettingsContext.d.cts +2 -2
- package/dist/contexts/types.cjs +2 -3
- package/dist/contexts/types.d.cts +12 -8
- package/dist/contexts/types.d.ts +12 -8
- package/dist/contexts/types.js +2 -3
- package/dist/contexts/typesV3.cjs +125 -0
- package/dist/contexts/typesV3.d.cts +246 -0
- package/dist/contexts/typesV3.d.ts +246 -0
- package/dist/contexts/typesV3.js +113 -0
- package/dist/contexts/uiConfigContext/index.cjs +4 -0
- package/dist/contexts/uiConfigContext/index.d.cts +2 -0
- package/dist/contexts/uiConfigContext/index.d.ts +2 -0
- package/dist/contexts/uiConfigContext/index.js +3 -0
- package/dist/contexts/uiConfigContext/uiConfigContext.cjs +44 -0
- package/dist/contexts/uiConfigContext/uiConfigContext.d.cts +15 -0
- package/dist/contexts/uiConfigContext/uiConfigContext.d.ts +15 -0
- package/dist/contexts/uiConfigContext/uiConfigContext.js +42 -0
- package/dist/contexts/widgetConfigContext/index.cjs +4 -0
- package/dist/contexts/widgetConfigContext/index.d.cts +2 -0
- package/dist/contexts/widgetConfigContext/index.d.ts +2 -0
- package/dist/contexts/widgetConfigContext/index.js +3 -0
- package/dist/contexts/widgetConfigContext/widgetConfigContext.cjs +67 -0
- package/dist/contexts/widgetConfigContext/widgetConfigContext.d.cts +19 -0
- package/dist/contexts/widgetConfigContext/widgetConfigContext.d.ts +19 -0
- package/dist/contexts/widgetConfigContext/widgetConfigContext.js +65 -0
- package/dist/hooks/AmplitudeOperations/useAmplitudeOperations.d.cts +1 -1
- package/dist/hooks/AmplitudeOperations/useAmplitudeOperations.d.ts +1 -1
- package/dist/hooks/AppDetails/useAppDetails.cjs +2 -4
- package/dist/hooks/AppDetails/useAppDetails.js +3 -5
- package/dist/hooks/ChatToggle/useChatToggle.cjs +6 -5
- package/dist/hooks/ChatToggle/useChatToggle.js +3 -2
- package/dist/hooks/ChatToggleAnalytics/useChatToggleAnalytics.cjs +3 -3
- package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.cts +3 -3
- package/dist/hooks/GrabAndScroll/useGrabAndScroll.d.ts +2 -2
- package/dist/hooks/GraphQLConfig/index.cjs +1 -1
- package/dist/hooks/GraphQLConfig/index.d.cts +2 -2
- package/dist/hooks/GraphQLConfig/index.d.ts +2 -2
- package/dist/hooks/GraphQLConfig/index.js +2 -2
- package/dist/hooks/GraphQLConfig/useGraphQLConfig.cjs +30 -21
- package/dist/hooks/GraphQLConfig/useGraphQLConfig.d.cts +5 -4
- package/dist/hooks/GraphQLConfig/useGraphQLConfig.d.ts +5 -4
- package/dist/hooks/GraphQLConfig/useGraphQLConfig.js +30 -21
- package/dist/hooks/ImageResolver/useImageResolver.cjs +1 -1
- package/dist/hooks/ImageResolver/useImageResolver.js +1 -1
- package/dist/hooks/Search/useSearch.cjs +10 -12
- package/dist/hooks/Search/useSearch.d.cts +1 -3
- package/dist/hooks/Search/useSearch.d.ts +1 -3
- package/dist/hooks/Search/useSearch.js +7 -9
- package/dist/hooks/Search/useSearchInput.cjs +4 -4
- package/dist/hooks/Search/useSearchInput.js +1 -1
- package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.cjs +5 -4
- package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.d.cts +1 -1
- package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.d.ts +1 -1
- package/dist/hooks/TrackComponentVisibleEvent/useTrackComponentVisibleEvent.js +3 -2
- package/dist/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.cjs +3 -2
- package/dist/hooks/UpdateAnalyticsProps/useUpdateAnalyticsProps.js +3 -2
- package/dist/hooks/utils.d.ts +1 -1
- package/dist/node_modules/classnames/index.cjs +52 -0
- package/dist/node_modules/classnames/index.js +49 -0
- package/dist/packages/components-v3/dist/Container/Container.cjs +11 -0
- package/dist/packages/components-v3/dist/Container/Container.js +12 -0
- package/dist/packages/components-v3/dist/Container/hooks/useGetCenterContentProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/Container/hooks/useGetCenterContentProperties.js +3 -0
- package/dist/packages/components-v3/dist/Container/hooks/useGetFluidProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/Container/hooks/useGetFluidProperties.js +3 -0
- package/dist/packages/components-v3/dist/Container/index.cjs +1 -0
- package/dist/packages/components-v3/dist/Container/index.js +3 -0
- package/dist/packages/components-v3/dist/Image/Image.cjs +16 -0
- package/dist/packages/components-v3/dist/Image/Image.js +17 -0
- package/dist/packages/components-v3/dist/Image/hooks/useGetAccessibilityProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/Image/hooks/useGetAccessibilityProperties.js +3 -0
- package/dist/packages/components-v3/dist/Image/hooks/useGetAspectRatioProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/Image/hooks/useGetAspectRatioProperties.js +3 -0
- package/dist/packages/components-v3/dist/Image/hooks/useGetObjectFitProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/Image/hooks/useGetObjectFitProperties.js +3 -0
- package/dist/packages/components-v3/dist/Image/hooks/useGetRoundedProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/Image/hooks/useGetRoundedProperties.js +3 -0
- package/dist/packages/components-v3/dist/Image/hooks/useGetSkeletonProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/Image/hooks/useGetSkeletonProperties.js +3 -0
- package/dist/packages/components-v3/dist/Image/hooks/useGetWidthProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/Image/hooks/useGetWidthProperties.js +3 -0
- package/dist/packages/components-v3/dist/Image/hooks/useHandleImageLoading.cjs +1 -0
- package/dist/packages/components-v3/dist/Image/hooks/useHandleImageLoading.js +3 -0
- package/dist/packages/components-v3/dist/ImageGallery/ImageGallery.cjs +2 -0
- package/dist/packages/components-v3/dist/ImageGallery/ImageGallery.js +4 -0
- package/dist/packages/components-v3/dist/ImageGallery/components/ImageItem.cjs +2 -0
- package/dist/packages/components-v3/dist/ImageGallery/components/ImageItem.js +4 -0
- package/dist/packages/components-v3/dist/ImageGallery/components/Layout.cjs +15 -0
- package/dist/packages/components-v3/dist/ImageGallery/components/Layout.js +16 -0
- package/dist/packages/components-v3/dist/ImageGallery/components/NormalLayout.cjs +4 -0
- package/dist/packages/components-v3/dist/ImageGallery/components/NormalLayout.js +4 -0
- package/dist/packages/components-v3/dist/ImageGallery/components/OverlappedLayout.cjs +1 -0
- package/dist/packages/components-v3/dist/ImageGallery/components/OverlappedLayout.js +3 -0
- package/dist/packages/components-v3/dist/ImageGallery/components/index.cjs +4 -0
- package/dist/packages/components-v3/dist/ImageGallery/components/index.js +6 -0
- package/dist/packages/components-v3/dist/ImageGallery/hooks/useGetContainerProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/ImageGallery/hooks/useGetContainerProperties.js +3 -0
- package/dist/packages/components-v3/dist/ImageGallery/index.cjs +2 -0
- package/dist/packages/components-v3/dist/ImageGallery/index.js +4 -0
- package/dist/packages/components-v3/dist/ImageGallery/types/types.cjs +13 -0
- package/dist/packages/components-v3/dist/ImageGallery/types/types.js +12 -0
- package/dist/packages/components-v3/dist/PromptButton/PromptButton.cjs +12 -0
- package/dist/packages/components-v3/dist/PromptButton/PromptButton.js +13 -0
- package/dist/packages/components-v3/dist/PromptButton/components/Icon.cjs +1 -0
- package/dist/packages/components-v3/dist/PromptButton/components/Icon.js +3 -0
- package/dist/packages/components-v3/dist/PromptButton/components/Label.cjs +3 -0
- package/dist/packages/components-v3/dist/PromptButton/components/Label.js +5 -0
- package/dist/packages/components-v3/dist/PromptButton/components/Layout.cjs +12 -0
- package/dist/packages/components-v3/dist/PromptButton/components/Layout.js +13 -0
- package/dist/packages/components-v3/dist/PromptButton/components/Loading.cjs +9 -0
- package/dist/packages/components-v3/dist/PromptButton/components/Loading.js +10 -0
- package/dist/packages/components-v3/dist/PromptButton/components/index.cjs +4 -0
- package/dist/packages/components-v3/dist/PromptButton/components/index.js +6 -0
- package/dist/packages/components-v3/dist/PromptButton/hooks/useGetBoldTextProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/PromptButton/hooks/useGetBoldTextProperties.js +3 -0
- package/dist/packages/components-v3/dist/PromptButton/hooks/useGetLayoutBaseProperties.cjs +8 -0
- package/dist/packages/components-v3/dist/PromptButton/hooks/useGetLayoutBaseProperties.js +9 -0
- package/dist/packages/components-v3/dist/PromptButton/index.cjs +2 -0
- package/dist/packages/components-v3/dist/PromptButton/index.js +4 -0
- package/dist/packages/components-v3/dist/PromptButton/types/index.cjs +13 -0
- package/dist/packages/components-v3/dist/PromptButton/types/index.js +12 -0
- package/dist/packages/components-v3/dist/PromptCarousel/PromptCarousel.cjs +12 -0
- package/dist/packages/components-v3/dist/PromptCarousel/PromptCarousel.js +14 -0
- package/dist/packages/components-v3/dist/PromptCarousel/components/BlockScrollContainer.cjs +9 -0
- package/dist/packages/components-v3/dist/PromptCarousel/components/BlockScrollContainer.js +10 -0
- package/dist/packages/components-v3/dist/PromptCarousel/components/ButtonContainerRow.cjs +11 -0
- package/dist/packages/components-v3/dist/PromptCarousel/components/ButtonContainerRow.js +12 -0
- package/dist/packages/components-v3/dist/PromptCarousel/components/CarouselContentWithBlockScroll.cjs +4 -0
- package/dist/packages/components-v3/dist/PromptCarousel/components/CarouselContentWithBlockScroll.js +6 -0
- package/dist/packages/components-v3/dist/PromptCarousel/components/CarouselContentWithRowScroll.cjs +4 -0
- package/dist/packages/components-v3/dist/PromptCarousel/components/CarouselContentWithRowScroll.js +6 -0
- package/dist/packages/components-v3/dist/PromptCarousel/components/index.cjs +3 -0
- package/dist/packages/components-v3/dist/PromptCarousel/components/index.js +5 -0
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/index.cjs +5 -0
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/index.js +7 -0
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/useButtonScrollPosition.cjs +1 -0
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/useButtonScrollPosition.js +3 -0
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselAnimation.cjs +3 -0
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselAnimation.js +5 -0
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselButtons.cjs +1 -0
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselButtons.js +3 -0
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselRefs.cjs +1 -0
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/useCarouselRefs.js +3 -0
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/useHorizontalScrollAnimation.cjs +1 -0
- package/dist/packages/components-v3/dist/PromptCarousel/hooks/useHorizontalScrollAnimation.js +3 -0
- package/dist/packages/components-v3/dist/PromptCarousel/index.cjs +2 -0
- package/dist/packages/components-v3/dist/PromptCarousel/index.js +4 -0
- package/dist/packages/components-v3/dist/PromptCarousel/types/types.cjs +19 -0
- package/dist/packages/components-v3/dist/PromptCarousel/types/types.js +17 -0
- package/dist/packages/components-v3/dist/Stack/Stack.cjs +36 -0
- package/dist/packages/components-v3/dist/Stack/Stack.js +36 -0
- package/dist/packages/components-v3/dist/Stack/hooks/useFormatStackChildren.cjs +27 -0
- package/dist/packages/components-v3/dist/Stack/hooks/useFormatStackChildren.js +26 -0
- package/dist/packages/components-v3/dist/Stack/hooks/useGetAlignProperties.cjs +20 -0
- package/dist/packages/components-v3/dist/Stack/hooks/useGetAlignProperties.js +19 -0
- package/dist/packages/components-v3/dist/Stack/hooks/useGetDirectionProperties.cjs +19 -0
- package/dist/packages/components-v3/dist/Stack/hooks/useGetDirectionProperties.js +18 -0
- package/dist/packages/components-v3/dist/Stack/hooks/useGetGapProperties.cjs +16 -0
- package/dist/packages/components-v3/dist/Stack/hooks/useGetGapProperties.js +15 -0
- package/dist/packages/components-v3/dist/Stack/hooks/useGetJustifyProperties.cjs +21 -0
- package/dist/packages/components-v3/dist/Stack/hooks/useGetJustifyProperties.js +20 -0
- package/dist/packages/components-v3/dist/Stack/hooks/useGetStyleProperties.cjs +38 -0
- package/dist/packages/components-v3/dist/Stack/hooks/useGetStyleProperties.js +38 -0
- package/dist/packages/components-v3/dist/Stack/hooks/useGetWrapProperties.cjs +13 -0
- package/dist/packages/components-v3/dist/Stack/hooks/useGetWrapProperties.js +12 -0
- package/dist/packages/components-v3/dist/Stack/index.cjs +1 -0
- package/dist/packages/components-v3/dist/Stack/index.js +3 -0
- package/dist/packages/components-v3/dist/Stack/utils/constants.cjs +42 -0
- package/dist/packages/components-v3/dist/Stack/utils/constants.js +41 -0
- package/dist/packages/components-v3/dist/Typography/Typography.cjs +15 -0
- package/dist/packages/components-v3/dist/Typography/Typography.js +16 -0
- package/dist/packages/components-v3/dist/Typography/hooks/useGetAccessibilityAttributes.cjs +1 -0
- package/dist/packages/components-v3/dist/Typography/hooks/useGetAccessibilityAttributes.js +3 -0
- package/dist/packages/components-v3/dist/Typography/hooks/useGetAlignProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/Typography/hooks/useGetAlignProperties.js +3 -0
- package/dist/packages/components-v3/dist/Typography/hooks/useGetColorProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/Typography/hooks/useGetColorProperties.js +3 -0
- package/dist/packages/components-v3/dist/Typography/hooks/useGetNoWrapProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/Typography/hooks/useGetNoWrapProperties.js +3 -0
- package/dist/packages/components-v3/dist/Typography/hooks/useGetNumberOfLinesProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/Typography/hooks/useGetNumberOfLinesProperties.js +3 -0
- package/dist/packages/components-v3/dist/Typography/hooks/useGetVariantProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/Typography/hooks/useGetVariantProperties.js +3 -0
- package/dist/packages/components-v3/dist/Typography/index.cjs +1 -0
- package/dist/packages/components-v3/dist/Typography/index.js +3 -0
- package/dist/packages/components-v3/dist/WidgetWrapper/WidgetWrapper.cjs +12 -0
- package/dist/packages/components-v3/dist/WidgetWrapper/WidgetWrapper.js +13 -0
- package/dist/packages/components-v3/dist/WidgetWrapper/hooks/useGetWrapperProperties.cjs +1 -0
- package/dist/packages/components-v3/dist/WidgetWrapper/hooks/useGetWrapperProperties.js +3 -0
- package/dist/packages/components-v3/dist/WidgetWrapper/index.cjs +2 -0
- package/dist/packages/components-v3/dist/WidgetWrapper/index.js +4 -0
- package/dist/packages/components-v3/dist/WidgetWrapper/types/types.cjs +13 -0
- package/dist/packages/components-v3/dist/WidgetWrapper/types/types.js +12 -0
- package/dist/packages/components-v3/dist/packages/components-v3/tokens/breakpoints/breakpoints.cjs +25 -0
- package/dist/packages/components-v3/dist/packages/components-v3/tokens/breakpoints/breakpoints.js +23 -0
- package/dist/packages/components-v3/dist/utils/useCheckIsMobile.cjs +1 -0
- package/dist/packages/components-v3/dist/utils/useCheckIsMobile.js +3 -0
- package/dist/packages/components-v3/dist/utils/useResponsiveValue.cjs +57 -0
- package/dist/packages/components-v3/dist/utils/useResponsiveValue.js +56 -0
- package/dist/packages/icons/dist/FourPointStar.cjs +8 -0
- package/dist/packages/icons/dist/FourPointStar.js +9 -0
- package/dist/packages/icons/dist/_virtual/rolldown_runtime.cjs +28 -0
- package/dist/packages/icons/dist/_virtual/rolldown_runtime.js +26 -0
- package/dist/packages/icons/dist/node_modules/react/cjs/react-jsx-runtime.development.cjs +697 -0
- package/dist/packages/icons/dist/node_modules/react/cjs/react-jsx-runtime.development.js +697 -0
- package/dist/packages/icons/dist/node_modules/react/cjs/react-jsx-runtime.production.min.cjs +44 -0
- package/dist/packages/icons/dist/node_modules/react/cjs/react-jsx-runtime.production.min.js +44 -0
- package/dist/packages/icons/dist/node_modules/react/cjs/react.development.cjs +1529 -0
- package/dist/packages/icons/dist/node_modules/react/cjs/react.development.js +1529 -0
- package/dist/packages/icons/dist/node_modules/react/cjs/react.production.min.cjs +330 -0
- package/dist/packages/icons/dist/node_modules/react/cjs/react.production.min.js +330 -0
- package/dist/packages/icons/dist/node_modules/react/index.cjs +14 -0
- package/dist/packages/icons/dist/node_modules/react/index.js +14 -0
- package/dist/packages/icons/dist/node_modules/react/jsx-runtime.cjs +14 -0
- package/dist/packages/icons/dist/node_modules/react/jsx-runtime.js +14 -0
- package/dist/services/amplitudeService/amplitudeService.cjs +204 -0
- package/dist/services/amplitudeService/amplitudeService.d.cts +75 -0
- package/dist/services/amplitudeService/amplitudeService.d.ts +75 -0
- package/dist/services/amplitudeService/amplitudeService.js +202 -0
- package/dist/services/amplitudeService/index.cjs +4 -0
- package/dist/services/amplitudeService/index.d.cts +2 -0
- package/dist/services/amplitudeService/index.d.ts +2 -0
- package/dist/services/amplitudeService/index.js +3 -0
- package/dist/services/enviveConfigService/enviveConfigService.cjs +36 -0
- package/dist/services/enviveConfigService/enviveConfigService.d.cts +43 -0
- package/dist/services/enviveConfigService/enviveConfigService.d.ts +43 -0
- package/dist/services/enviveConfigService/enviveConfigService.js +36 -0
- package/dist/services/enviveConfigService/index.cjs +3 -0
- package/dist/services/enviveConfigService/index.d.cts +2 -0
- package/dist/services/enviveConfigService/index.d.ts +2 -0
- package/dist/services/enviveConfigService/index.js +3 -0
- package/dist/types/enviveConfig.d.cts +29 -0
- package/dist/types/enviveConfig.d.ts +29 -0
- package/dist/types/index.d.cts +2 -1
- package/dist/types/index.d.ts +2 -1
- package/package.json +40 -4
- package/src/application/commerce-api.ts +14 -1
- package/src/application/models/api/userEvent.ts +3 -1
- package/src/application/models/api/widgetText.ts +9 -0
- package/src/application/models/api/widgetTextRequest.ts +10 -0
- package/src/application/models/chatElementDisplayLocationV3.ts +12 -0
- package/src/application/models/colorsConfigV3.ts +26 -0
- package/src/application/models/featureGates.ts +1 -0
- package/src/application/models/frontendConfig.ts +5 -0
- package/src/application/models/frontendConfigV3.ts +10 -0
- package/src/application/models/index.ts +1 -0
- package/src/application/models/utils/snakeToCamelTransformer.ts +1 -1
- package/src/application/utils/elementObserver.ts +2 -2
- package/src/application/utils/widgetTextFromApiWidgetTextResponse.ts +30 -0
- package/src/application/utils/widgetTextRequestToApiRequest.ts +45 -0
- package/src/atoms/amplitude/amplitudeTrackEventAtom.ts +1 -8
- package/src/atoms/app/index.ts +3 -3
- package/src/atoms/app/variant.ts +5 -0
- package/src/atoms/chat/chatState.ts +10 -2
- package/src/atoms/envive/enviveConfig.ts +5 -0
- package/src/atoms/org/graphqlConfig.ts +0 -1
- package/src/atoms/widget/chatPreviewLoading.ts +36 -0
- package/src/atoms/widget/index.ts +1 -0
- package/src/contexts/amplitudeContext/__tests__/amplitudeContext.test.tsx +197 -187
- package/src/contexts/amplitudeContext/amplitudeContext.tsx +56 -334
- package/src/contexts/enviveConfigContext/enviveConfigContext.tsx +3 -0
- package/src/contexts/enviveContext/enviveContext.tsx +101 -27
- package/src/contexts/enviveCssContext/enviveCssContext.tsx +121 -22
- package/src/contexts/featureFlagServiceContext/featureFlagServiceContext.tsx +12 -11
- package/src/contexts/graphqlContext/graphqlContext.tsx +131 -13
- package/src/contexts/graphqlContext/mockV3Config.ts +209 -0
- package/src/contexts/hardcopyContext/hardcopyContext.tsx +136 -14
- package/src/contexts/newOrgConfigContext/__tests__/newOrgConfigContext.test.tsx +6 -6
- package/src/contexts/newOrgConfigContext/newOrgConfigContext.tsx +5 -13
- package/src/contexts/pageContext/__tests__/pageContext.test.tsx +24 -8
- package/src/contexts/pageContext/mapping.ts +4 -0
- package/src/contexts/pageContext/pageContext.tsx +41 -12
- package/src/contexts/pageContext/types.ts +4 -0
- package/src/contexts/salesAgentContext/chatAPI.ts +1 -0
- package/src/contexts/salesAgentContext/salesAgentContext.tsx +94 -42
- package/src/contexts/salesAgentContext/salesAgentService.ts +78 -3
- package/src/contexts/salesAgentContext/statusCodeError.ts +10 -0
- package/src/contexts/searchContext/__tests__/searchContext.test.tsx +8 -2
- package/src/contexts/types.ts +15 -19
- package/src/contexts/typesV3.ts +316 -0
- package/src/contexts/uiConfigContext/__tests__/uiConfigContext.test.tsx +321 -0
- package/src/contexts/uiConfigContext/index.ts +1 -0
- package/src/contexts/uiConfigContext/uiConfigContext.tsx +44 -0
- package/src/contexts/widgetConfigContext/__tests__/widgetConfigContext.test.tsx +512 -0
- package/src/contexts/widgetConfigContext/index.ts +1 -0
- package/src/contexts/widgetConfigContext/widgetConfigContext.tsx +84 -0
- package/src/hooks/AppDetails/useAppDetails.ts +2 -2
- package/src/hooks/GraphQLConfig/useGraphQLConfig.ts +22 -21
- package/src/hooks/Search/__tests__/useSearch.test.tsx +15 -6
- package/src/hooks/Search/useSearch.tsx +6 -5
- package/src/services/amplitudeService/__tests__/amplitudeService.test.ts +558 -0
- package/src/services/amplitudeService/amplitudeService.ts +324 -0
- package/src/services/amplitudeService/index.ts +1 -0
- package/src/services/enviveConfigService/enviveConfigService.ts +72 -0
- package/src/services/enviveConfigService/index.ts +1 -0
- package/src/types/enviveConfig.ts +27 -0
- package/src/types/index.ts +1 -0
- package/dist/contexts/chatContext/chatContext.cjs +0 -306
- package/dist/contexts/chatContext/chatContext.d.cts +0 -15
- package/dist/contexts/chatContext/chatContext.d.ts +0 -15
- package/dist/contexts/chatContext/chatContext.js +0 -304
- package/dist/contexts/chatContext/index.cjs +0 -4
- package/dist/contexts/chatContext/index.d.cts +0 -2
- package/dist/contexts/chatContext/index.d.ts +0 -2
- package/dist/contexts/chatContext/index.js +0 -3
package/dist/contexts/types.cjs
CHANGED
|
@@ -7,8 +7,6 @@ var CategoryExtractorType = /* @__PURE__ */ function(CategoryExtractorType$1) {
|
|
|
7
7
|
return CategoryExtractorType$1;
|
|
8
8
|
}(CategoryExtractorType || {});
|
|
9
9
|
var PageVariantTestType = /* @__PURE__ */ function(PageVariantTestType$1) {
|
|
10
|
-
PageVariantTestType$1["ShopifyPLP"] = "ShopifyPLP";
|
|
11
|
-
PageVariantTestType$1["ShopifyPDP"] = "ShopifyPDP";
|
|
12
10
|
PageVariantTestType$1["PageCategory"] = "PageCategory";
|
|
13
11
|
PageVariantTestType$1["CatalogCategory"] = "CatalogCategory";
|
|
14
12
|
PageVariantTestType$1["TopCatalogCategory"] = "TopCatalogCategory";
|
|
@@ -25,6 +23,7 @@ var PageVariantTestType = /* @__PURE__ */ function(PageVariantTestType$1) {
|
|
|
25
23
|
PageVariantTestType$1["isProductComparison"] = "isProductComparison";
|
|
26
24
|
PageVariantTestType$1["Fallback"] = "Fallback";
|
|
27
25
|
PageVariantTestType$1["UrlResolver"] = "UrlResolver";
|
|
26
|
+
PageVariantTestType$1["isScreenWidthSmaller"] = "isScreenWidthSmaller";
|
|
28
27
|
PageVariantTestType$1["Null"] = "null";
|
|
29
28
|
return PageVariantTestType$1;
|
|
30
29
|
}(PageVariantTestType || {});
|
|
@@ -54,4 +53,4 @@ exports.ColorNames = require_colorsConfig.ColorNames;
|
|
|
54
53
|
exports.PageVariantTestType = PageVariantTestType;
|
|
55
54
|
exports.WidgetType = WidgetType;
|
|
56
55
|
exports.colorVar = require_colorsConfig.colorVar;
|
|
57
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuY2pzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0cy90eXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbiB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvY2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24nO1xuaW1wb3J0IHsgQ29sb3JNYXBwaW5nLCBDb2xvck5hbWVzLCBjb2xvclZhciB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvY29sb3JzQ29uZmlnJztcbmltcG9ydCB7IEZlYXR1cmVHYXRlcyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZmVhdHVyZUdhdGVzJztcbmltcG9ydCB7IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZSwgQ3VzdG9tZXJTZXJ2aWNlVHlwZSB9IGZyb20gJ3NyYy90eXBlcy9jdXN0b21lclNlcnZpY2UnO1xuaW1wb3J0IHsgR3JpZEluc2VydGlvblR5cGUgfSBmcm9tICdzcmMvbWVyY2hhbnRzL2dyaWRJbnNlcnRpb24nO1xuaW1wb3J0IHsgRE9NSW5zZXJ0aW9uVHlwZSB9IGZyb20gJ3NyYy9tZXJjaGFudHMvZG9tSW5zZXJ0aW9uJztcblxuaW1wb3J0IHR5cGUge1xuICBQYWdlVmlzaXRDYXRlZ29yeSxcbiAgU3VwcG9ydGVkRXZlbnRQcm9kdWN0Q2F0ZWdvcnksXG59IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyBDaGF0U3RhdGUgfSBmcm9tICdzcmMvdHlwZXMvY3VzdHNlcnZpY2UtdHlwZXMnO1xuaW1wb3J0IHsgU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcyB9IGZyb20gJ3NyYy90eXBlcy9zdWdnZXN0aW9uQmFyVjItdHlwZXMnO1xuaW1wb3J0IHsgVGVzdFByb3BzIH0gZnJvbSAnc3JjL3R5cGVzL3Rlc3QtdHlwZXMnO1xuaW1wb3J0IHsgT3JnQ29uZmlnRmVhdHVyZUdhdGUgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9vcmdDb25maWdSZXN1bHRzJztcblxudHlwZSBTaG93RmxvYXRpbmdCdXR0b25PcHRpb25zID1cbiAgfCAnYWx3YXlzJ1xuICB8ICdhZnRlci1pbnRlcmFjdGlvbi1vbi1tb2JpbGUtYWx3YXlzLWRlc2t0b3AnXG4gIHwgJ2FmdGVyLWludGVyYWN0aW9uLWFueXdoZXJlJ1xuICB8ICduZXZlcic7XG5cbnR5cGUgRmxvYXRpbmdFbnRyeVBvaW50Q29uZmlnID0ge1xuICBwb3NpdGlvbjogJ2JvdHRvbS1sZWZ0JyB8ICdtaWRkbGUtbGVmdCcgfCAnbWlkZGxlLXJpZ2h0JyB8ICdib3R0b20tcmlnaHQnO1xuICBleHBhbnNpb25UZXh0Pzoge1xuICAgIHBkcDogc3RyaW5nO1xuICAgIHBscDogc3RyaW5nO1xuICB9O1xuICBtaW5pbWl6ZWRDb2xvcjogc3RyaW5nO1xuICBleHBhbmRlZENvbG9yOiBzdHJpbmc7XG4gIHRleHRDb2xvcj86IHN0cmluZztcbiAgc2hvd09wdGlvbjogU2hvd0Zsb2F0aW5nQnV0dG9uT3B0aW9ucztcbiAgaWNvblNWR1NyYz86IHN0cmluZztcbiAgaWNvblNpemU/OiBudW1iZXI7XG4gIGljb25TdHJva2VDb2xvcj86IHN0cmluZztcbiAgaWNvbkZpbGxDb2xvcj86IHN0cmluZztcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICBmb250U2l6ZT86IG51bWJlcjtcbn07XG5cbnR5cGUgV2VsY29tZVNlY3Rpb25WYXJpYW50ID0gJ3N0YW5kYXJkJyB8ICdvdXRsaW5lZCc7XG5cbnR5cGUgV2VsY29tZVNlY3Rpb25Db2xvclZhcmlhbnQgPSAnc3RhbmRhcmQnIHwgJ2FjY2VudCcgfCAnYnJhbmQnIHwgJ2xpZ2h0JztcblxudHlwZSBXZWxjb21lU2VjdGlvbkNvbmZpZyA9IHtcbiAgdmFyaWFudDogV2VsY29tZVNlY3Rpb25WYXJpYW50O1xuICBjb2xvclZhcmlhbnQ/OiBXZWxjb21lU2VjdGlvbkNvbG9yVmFyaWFudDtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIHN1YnRpdGxlPzogc3RyaW5nO1xuICAvLyBpY29uPzogUmVhY3QuRnVuY3Rpb25Db21wb25lbnQ8UmVhY3QuU1ZHUHJvcHM8U1ZHU1ZHRWxlbWVudD4+O1xuICAvKiBTZXJpYWxpemFibGUgaWNvbiBuYW1lIHRoYXQgbWFwcyB0byBhIFJlYWN0IGNvbXBvbmVudC4gUHJlZmVycmVkIG92ZXIgaWNvbiBmb3IgZGF0YWJhc2Ugc3RvcmFnZS4gKi9cbiAgaWNvbk5hbWU/OiBzdHJpbmc7XG4gIGltYWdlU3JjPzogc3RyaW5nO1xufTtcblxudHlwZSBDaGF0UHJldmlld0NvbmZpZyA9IHtcbiAgdmFyaWFudDogJ2ZsYXQnIHwgJ2ZpbGxlZCcgfCAnb3V0bGluZWQnO1xuICBsYXJnZVByb2R1Y3RDb21wYXJpc29uPzogYm9vbGVhbjtcbiAgZmlsbGVkQmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XG4gIGljb25GaWxsQ29sb3I6IHN0cmluZztcbiAgYnV0dG9uVGV4dENvbG9yPzogc3RyaW5nO1xuICBidXR0b25UZXh0U2Vjb25kYXJ5Q29sb3I/OiBzdHJpbmc7XG4gIGJ1dHRvblRleHRIb3ZlckNvbG9yPzogc3RyaW5nO1xuICBidXR0b25CYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcbiAgYnV0dG9uQmFja2dyb3VuZEhvdmVyQ29sb3I6IHN0cmluZztcbiAgYnV0dG9uQm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gIGJ1dHRvbkJvcmRlckhvdmVyQ29sb3I/OiBzdHJpbmc7XG4gIGNvcGllczogeyBwZHA6IHN0cmluZ1tdOyBwbHA6IHN0cmluZ1tdIH07XG4gIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM/OiB7IHBkcDogc3RyaW5nW107IHBscDogc3RyaW5nW10gfTtcbiAgc3RhdGljUExQSW1hZ2VzPzogc3RyaW5nW107XG4gIGZvb3RlckNvbmZpZz86IENoYXRQcmV2aWV3Rm9vdGVyQ29uZmlnO1xuICBoZWFkZXJDb25maWc/OiBDaGF0UHJldmlld0hlYWRlckNvbmZpZztcbiAgdG9wTWFyZ2luPzogbnVtYmVyO1xufTtcblxudHlwZSBDaGF0UHJldmlld0hlYWRlckNvbmZpZyA9IHtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIGltYWdlU3JjPzogc3RyaW5nO1xuICBpbWFnZUhlaWdodD86IG51bWJlcjtcbiAgc3BhcmtsZXNDb2xvcj86IHN0cmluZzsgLy8gdXNlZCBieTogc3BhbngsIHVuaXF1ZVZpbnRhZ2UsIGRyZWFtbGFuZEJhYnlcbiAgZm9udFNpemU/OiBzdHJpbmc7XG4gIGljb25XaWR0aD86IHN0cmluZztcbiAgaWNvbkhlaWdodD86IHN0cmluZztcbn07XG5cbmludGVyZmFjZSBDaGF0UHJldmlld0Zvb3RlckNvbmZpZyB7XG4gIGhhc0ZhZGU/OiBib29sZWFuOyAvLyB1c2VkIGJ5OiBzcGFueCwgdW5pcXVlVmludGFnZVxuICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudD86ICdkYXJrJyB8ICdsaWdodCcgfCAnb3V0bGluZWQnO1xuICBzdWdnZXN0aW9uc0JhY2tncm91bmQ/OiBzdHJpbmc7IC8vIHVzZWQgYnk6IGNhcmJhaG5cbiAgcmVwbHlCdXR0b25JY29uPzogJ3NlbmQnIHwgJ21hZ25pZnlpbmdHbGFzcycgfCAndGhpbk1hZ25pZnlpbmdHbGFzcycgfCAnc2VhcmNoSWNvbic7XG4gIHJlcGx5QnV0dG9uVGV4dD86IHN0cmluZztcbiAgcmVwbHlJbnB1dEhhc1NoYWRvdz86IGJvb2xlYW47IC8vIHVzZWQgYnk6IHNwYW54XG4gIHJlcGx5SW5wdXRIYXNCb3JkZXI/OiBib29sZWFuOyAvLyB1c2VkIGJ5OiBzcGFueFxuICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7IC8vIHVzZWQgYnkgc3BhbngsIHR1c2hiYWJ5LCB3aWxsIG5lZWQgY3VzdG9tIENTUyB3aGVuIHN3aXRjaGluZyBvdmVyXG59XG5cbnR5cGUgUHJvZHVjdFJldmlld1N0eWxlVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAnYm9yZGVyZWQnO1xuXG50eXBlIFByb2R1Y3RSZXZpZXdDb2xvclZhcmlhbnQgPSAnbmV1dHJhbCcgfCAnYnJhbmQnIHwgJ3ByZW1pdW0nO1xuXG5pbnRlcmZhY2UgUHJvZHVjdFJldmlld0NvbmZpZyB7XG4gIHN0eWxlVmFyaWFudDogUHJvZHVjdFJldmlld1N0eWxlVmFyaWFudDtcbiAgY29sb3JWYXJpYW50OiBQcm9kdWN0UmV2aWV3Q29sb3JWYXJpYW50O1xuICB2ZXJpZmllZEJ1eWVyVGl0bGU6IHN0cmluZztcbiAgaW5jZW50aXZpemVkUmV2aWV3RmxhZz86IGJvb2xlYW47XG59XG5cbnR5cGUgUGFnZUNhcmRWYXJpYW50ID0gJ2ZpbGxlZCcgfCAnb3V0bGluZWQnIHwgJ21pbmltYWwnO1xuXG50eXBlIFBhZ2VDYXJkSG92ZXJWYXJpYW50ID0gJ25vbmUnIHwgJ3NoYWRvdycgfCAnbGlmdCc7XG5cbnR5cGUgUGFnZUNhcmRJY29uVmFyaWFudCA9ICdwcmltYXJ5JyB8ICdhY2NlbnQnIHwgJ2JhY2tncm91bmQnIHwgJ25vbmUnO1xuXG50eXBlIFBhZ2VDYXJkQ29uZmlnID0ge1xuICB2YXJpYW50OiBQYWdlQ2FyZFZhcmlhbnQ7XG4gIGhvdmVyVmFyaWFudDogUGFnZUNhcmRIb3ZlclZhcmlhbnQ7XG4gIGljb25WYXJpYW50OiBQYWdlQ2FyZEljb25WYXJpYW50O1xufTtcblxudHlwZSBQcm9kdWN0Q2FyZFZhcmlhbnQgPSAnZmlsbGVkJyB8ICdib3JkZXJlZCcgfCAnbWluaW1hbCcgfCAndHJhbnNwYXJlbnRCb3JkZXJlZCc7XG5cbnR5cGUgUHJvZHVjdENhcmRIb3ZlclZhcmlhbnQgPSAnYmFja2dyb3VuZERhcmsnIHwgJ25vbmUnO1xuXG50eXBlIFByb2R1Y3RDYXJkTGF5b3V0VmFyaWFudCA9ICdub3JtYWwnIHwgJ3RhbGwnIHwgJ3NxdWFyZSc7XG5cbmludGVyZmFjZSBQcm9kdWN0Q2FyZENvbmZpZyB7XG4gIHZhcmlhbnQ6IFByb2R1Y3RDYXJkVmFyaWFudDtcbiAgaG92ZXJWYXJpYW50OiBQcm9kdWN0Q2FyZEhvdmVyVmFyaWFudDtcbiAgbGF5b3V0VmFyaWFudDogUHJvZHVjdENhcmRMYXlvdXRWYXJpYW50O1xuICBwcmljZVByZWZpeD86IHN0cmluZztcbn1cblxudHlwZSBDU1N3aXRjaENvbmZpZyA9IHtcbiAgdmFyaWFudDogJ2F0dGFjaGVkJyB8ICdkZXRhY2hlZCc7XG4gIGJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICBib3JkZXJDb2xvcjogc3RyaW5nO1xuICBzZWxlY3RlZFRleHRDb2xvcjogc3RyaW5nO1xuICBzZWxlY3RlZEJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgdW5zZWxlY3RlZFRleHRDb2xvcjogc3RyaW5nO1xuICB1bnNlbGVjdGVkQmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICBzdXBwb3J0VGl0bGU/OiBzdHJpbmc7XG4gIHNwaWZmeVRpdGxlPzogc3RyaW5nO1xuICBzcGlmZnlUaXRsZUhhc0xvZ28/OiBib29sZWFuO1xufTtcblxudHlwZSBDaGF0SGVhZGVyQ29uZmlnID0ge1xuICBjb2xsYXBzZWRDb2xvcjogc3RyaW5nO1xuICBleHBhbmRlZENvbG9yOiBzdHJpbmc7XG4gIGNoZXZyb25Db2xvcjogc3RyaW5nO1xuICBpbWFnZVNyYz86IHN0cmluZztcbiAgaWNvbj86IFJlYWN0LkZ1bmN0aW9uQ29tcG9uZW50PFJlYWN0LlNWR1Byb3BzPFNWR1NWR0VsZW1lbnQ+PjtcbiAgY2xvc2VJY29uPzogUmVhY3QuRnVuY3Rpb25Db21wb25lbnQ8UmVhY3QuU1ZHUHJvcHM8U1ZHU1ZHRWxlbWVudD4+O1xuICBib3JkZXJCb3R0b20/OiBzdHJpbmc7XG4gIGhlYWRlckJhckhlaWdodFBhcnRpYWxWaWV3OiBudW1iZXI7XG4gIGhlYWRlckJhckhlaWdodEZ1bGxWaWV3OiBudW1iZXI7XG4gIGN1c3RvbWVyU3VwcG9ydFN3aXRjaENvbmZpZz86IENTU3dpdGNoQ29uZmlnO1xufTtcblxudHlwZSBTaW1wbGVDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiA9IHtcbiAgaW50ZWdyYXRpb25Nb2RlOiBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbk1vZGU7XG4gIHByb3ZpZGVyOiBDdXN0b21lclNlcnZpY2VUeXBlO1xuICB1c2VVbmlmaWVkQnV0dG9uPzogYm9vbGVhbjtcbiAgbWF4ZmlsZVVwbG9hZFNpemU/OiBudW1iZXI7XG59O1xuXG50eXBlIEZ1bGxDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiA9IHtcbiAgaW50ZWdyYXRpb25Nb2RlOiBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbk1vZGU7XG4gIHByb3ZpZGVyOiBDdXN0b21lclNlcnZpY2VUeXBlO1xuICB1c2VVbmlmaWVkQnV0dG9uPzogYm9vbGVhbjtcbiAgY2hhdEVuYWJsZWREdXJpbmdCdXNpbmVzc0hvdXJzPzogYm9vbGVhbjtcbiAgc2hvd05hbWVJbnB1dD86IGJvb2xlYW47XG4gIGZvcm1BaU5hbWU/OiBzdHJpbmc7XG4gIHdlbGNvbWVUaXRsZTogc3RyaW5nO1xuICB3ZWxjb21lRGVzY3JpcHRpb246IHN0cmluZztcbiAgc2hvd1dlbGNvbWVPbkZvcm0/OiBib29sZWFuO1xuICBjb250YWN0U3ViamVjdE9wdGlvbnM/OiBzdHJpbmdbXTtcbiAgZ2V0Q3VzdG9tV2FpdGluZ01lc3NhZ2U/OiAobmFtZT86IHN0cmluZykgPT4gc3RyaW5nO1xuICB3aXRoaW5CdXNpbmVzc0hvdXJzTWVzc2FnZT86IHN0cmluZztcbiAgd2l0aGluQnVzaW5lc3NIb3Vyc1dhaXRpbmdNZXNzYWdlPzogc3RyaW5nO1xuICBvdXRzaWRlQnVzaW5lc3NIb3Vyc01lc3NhZ2U/OiBzdHJpbmc7XG4gIG91dHNpZGVCdXNpbmVzc0hvdXJzV2FpdGluZ01lc3NhZ2U/OiBzdHJpbmc7XG4gIHdpdGhpbkJ1c2luZXNzSG91cnNGb3JtTWVzc2FnZT86IHN0cmluZztcbiAgb3V0c2lkZUJ1c2luZXNzSG91cnNGb3JtTWVzc2FnZT86IHN0cmluZztcbiAgc3VnZ2VzdGVkQUlRdWVzdGlvbnM/OiBzdHJpbmdbXTtcbiAgYnVzaW5lc3NIb3Vyc1BvbGxpbmc/OiBudW1iZXI7XG4gIG1heGZpbGVVcGxvYWRTaXplPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIEJFLlxuICAgKi9cbiAgYnVzaW5lc3NIb3Vyc1N0YXJ0VVRDPzogc3RyaW5nO1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVGhpcyBpcyBoYW5kbGVkIGJ5IHRoZSBCRS5cbiAgICovXG4gIGJ1c2luZXNzSG91cnNFbmRVVEM/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIEJFLlxuICAgKi9cbiAgYnVzaW5lc3NIb3Vyc1RpbWV6b25lPzogc3RyaW5nO1xuXG4gIHNob3dBSVN1Z2dlc3Rpb25zV2l0aGluQnVzaW5lc3NIb3Vycz86IGJvb2xlYW47XG4gIHdhaXRpbmdNZXNzYWdlUG9zaXRpb24/OiAnQkVGT1JFX01FU1NBR0VTJyB8ICdBRlRFUl9NRVNTQUdFUyc7XG4gIGxlZ2FsTWVzc2FnZT86IHN0cmluZztcbiAgd2l0aGluQnVzaW5lc3NIb3Vyc0luaXRpYWxTdGF0ZT86IENoYXRTdGF0ZTtcbiAgb3V0c2lkZUJ1c2luZXNzSG91cnNJbml0aWFsU3RhdGU/OiBDaGF0U3RhdGU7XG4gIHdpdGhpbkJ1c2luZXNzSG91cnNCdXR0b250ZXh0Pzogc3RyaW5nO1xuICBvdXRzaWRlQnVzaW5lc3NIb3Vyc0J1dHRvbnRleHQ/OiBzdHJpbmc7XG4gIHJlb3BlbkNoYXRNZXNzYWdlOiBzdHJpbmc7XG59O1xuXG50eXBlIEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uID0gU2ltcGxlQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb24gfCBGdWxsQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb247XG5cbnR5cGUgQ29udmVyc2F0aW9uYWxTZWFjaCA9IHtcbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIHJlcGx5SW5wdXQ/OiBSZXBseUlucHV0Q29uZmlnO1xuICBzdWdnZXN0aW9ucz86IHN0cmluZ1tdO1xuICBlbnRyeXBvaW50QmdDb2xvcj86IHN0cmluZztcbiAgZW50cnlwb2ludFRleHRDb2xvcj86IHN0cmluZztcbiAgZW50cnlwb2ludEJ0bkNvbG9yPzogc3RyaW5nO1xuICBlbnRyeXBvaW50QnRuVGV4dENvbG9yPzogc3RyaW5nO1xuICBlbnRyeXBvaW50QnRuQm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gIGVudHJ5cG9pbnRDb250YWluZXI/OiBzdHJpbmc7XG4gIGVudHJ5cG9pbnRUcmlnZ2VyPzogc3RyaW5nO1xuICBwcm9kdWN0R3JpZENvbnRhaW5lcj86IHN0cmluZztcbiAgZ2VuZXJhbFNlYXJjaEJ0bj86IHN0cmluZztcbiAgcGFnZUNvbnRlbnQ/OiBzdHJpbmc7XG4gIHNlYXJjaENvbnRlbnQ/OiBzdHJpbmc7XG4gIHNvcnRpbmdUaXRsZT86IHN0cmluZztcbiAgc2VsZWN0aW9uVGl0bGU/OiBzdHJpbmc7XG4gIHNvcnRpbmdGb250Pzogc3RyaW5nO1xuICBvcHRpb25zRm9udD86IHN0cmluZztcbiAgc29ydGluZ0J1dHRvblRleHQ/OiBzdHJpbmc7XG59O1xuXG50eXBlIENoYXRNZXNzYWdlVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAncHJlbWl1bScgfCAnYWNjZW50JztcblxuaW50ZXJmYWNlIENoYXRNZXNzYWdlQ29uZmlnIHtcbiAgYXNzaXN0YW50Q2hhdFRpdGxlOiBzdHJpbmc7XG4gIHZhcmlhbnQ6IENoYXRNZXNzYWdlVmFyaWFudDtcbiAgcHJvZHVjdExpbms6IHtcbiAgICB2YXJpYW50OiBQcm9kdWN0TGlua1ZhcmlhbnQ7XG4gICAgaG92ZXJWYXJpYW50OiBQcm9kdWN0TGlua0hvdmVyVmFyaWFudDtcbiAgICBpY29uVmFyaWFudDogUHJvZHVjdExpbmtJY29uVmFyaWFudDtcbiAgfTtcbn1cblxuaW50ZXJmYWNlIFJlcGx5SW5wdXRDb25maWcge1xuICAvLyBUT0RPIGNvbnNpZGVyIG1ha2luZyB0aGlzIGEgbnVtYmVyXG4gIHNpemU/OiAnbWQnIHwgJ2xnJztcbiAgc2VuZEljb246ICdhcnJvd1VwJyB8ICdzZW5kJyB8ICdzZWFyY2gnO1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFBhcnRpYWxWaWV3Q29uZmlnIHtcbiAgLy8gbWF4aW11bSBoZWlnaHQgb2YgdGhlIHBhcnRpYWwgdmlldyBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHNjcmVlbiBoZWlnaHRcbiAgbWF4SGVpZ2h0OiBudW1iZXI7XG4gIGJvcmRlclJhZGl1cz86IHN0cmluZztcbn1cblxudHlwZSBQcm9kdWN0TGlua0ljb25WYXJpYW50ID1cbiAgfCAnYWNjZW50UHJpbWFyeSdcbiAgfCAnYmFja2dyb3VuZFByaW1hcnknXG4gIHwgJ2JhY2tncm91bmRQcmltYXJ5RGFyaydcbiAgfCAnYm9yZGVyTGlnaHQnXG4gIHwgJ2JhY2tncm91bmRTYXR1cmF0ZWQnO1xuXG50eXBlIFByb2R1Y3RMaW5rVmFyaWFudCA9ICd0ZXh0TGluayc7XG5cbnR5cGUgUHJvZHVjdExpbmtIb3ZlclZhcmlhbnQgPSAnYmFja2dyb3VuZERhcmsnO1xuXG50eXBlIFNlYXJjaENhcmRWYXJpYW50ID1cbiAgfCAnYmFja2dyb3VuZFByaW1hcnknXG4gIHwgJ2JhY2tncm91bmRTZWNvbmRhcnknXG4gIHwgJ2JhY2tncm91bmRTZWNvbmRhcnlEYXJrJ1xuICB8ICdiYWNrZ3JvdW5kTGlnaHQnXG4gIHwgJ2JhY2tncm91bmRTYXR1cmF0ZWQnO1xuXG50eXBlIFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50ID1cbiAgfCAnb3V0bGluZWQnXG4gIHwgJ291dGxpbmVkTGlnaHQnXG4gIHwgJ3ByaW1hcnknXG4gIHwgJ3NlY29uZGFyeSdcbiAgfCAndGVydGlhcnknXG4gIHwgJ2RhcmsnXG4gIHwgJ2RhcmtBY2NlbnQnXG4gIHwgJ2RhcmtQcmltYXJ5J1xuICB8ICdzZWNvbmRhcnlEYXJrJ1xuICB8ICdzZWNvbmRhcnlBY2NlbnQnXG4gIHwgJ3RyYW5zcGFyZW50J1xuICB8ICd0cmFuc3BhcmVudERhcmsnXG4gIHwgJ2xpZ2h0RGFyayc7XG5cbmludGVyZmFjZSBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnIHtcbiAgdmFyaWFudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICBob3ZlclZhcmlhbnQ/OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgYW5zd2VyVmFyaWFudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICBib3JkZXJSYWRpdXM/OiAnc20nIHwgJ21kJyB8ICdsZyc7XG59XG5cbnR5cGUgTnVtUm93cyA9ICdkZWZhdWx0JyB8ICdhbHdheXNPbmVSb3cnIHwgJ2Fsd2F5c1R3b1Jvd3MnIHwgJ3R3b1Jvd3NPbk1vYmlsZSc7XG5cbmludGVyZmFjZSBBbHBoYWJldGljRmlsdGVyU29ydGluZyB7XG4gIHR5cGU6ICdhbHBoYWJldGljJztcbn1cbmludGVyZmFjZSBQcm9kdWN0Q291bnRGaWx0ZXJTb3J0aW5nIHtcbiAgdHlwZTogJ3Byb2R1Y3RDb3VudCc7XG59XG5pbnRlcmZhY2UgQ3VzdG9tRmlsdGVyU29ydGluZyB7XG4gIHR5cGU6ICdjdXN0b20nO1xuICBtYXA6IFJlY29yZDxzdHJpbmcsIG51bWJlcj47XG59XG5cbnR5cGUgRmlsdGVyU29ydGluZyA9IEFscGhhYmV0aWNGaWx0ZXJTb3J0aW5nIHwgUHJvZHVjdENvdW50RmlsdGVyU29ydGluZyB8IEN1c3RvbUZpbHRlclNvcnRpbmc7XG5cbmludGVyZmFjZSBCYXNlRmlsdGVyQ29uZmlnIHtcbiAgZmlsdGVySWQ6IHN0cmluZztcbiAgZGlzcGxheU5hbWU6IHN0cmluZztcbn1cbmludGVyZmFjZSBEeW5hbWljRmlsdGVyQ29uZmlnIGV4dGVuZHMgQmFzZUZpbHRlckNvbmZpZyB7XG4gIHR5cGU6ICdkeW5hbWljJztcbiAgYXR0cmlidXRlOiBzdHJpbmc7XG4gIHNvcnRpbmc6IEZpbHRlclNvcnRpbmc7XG59XG5cbmludGVyZmFjZSBQcmljZUZpbHRlckNvbmZpZyBleHRlbmRzIEJhc2VGaWx0ZXJDb25maWcge1xuICB0eXBlOiAncHJpY2UnO1xuICBidWNrZXRTaXplOiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIEZpbHRlckF0dHJpYnV0ZSA9IER5bmFtaWNGaWx0ZXJDb25maWcgfCBQcmljZUZpbHRlckNvbmZpZztcblxuZXhwb3J0IHR5cGUgU2VhcmNoWmVyb1N0YXRlVmFyaWFudCA9ICdiYWNrZ3JvdW5kVGVydGlhcnknIHwgJ2JhY2tncm91bmREYXJrJyB8ICdiYWNrZ3JvdW5kUHJpbWFyeSc7XG5leHBvcnQgdHlwZSBTZWFyY2haZXJvU3RhdGVMYXlvdXQgPSAnaW5wdXQnIHwgJ2ljb24nO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hJbnB1dFZhcmlhbnQgPSAnc3RhbmRhcmQnO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hJY29uVmFyaWFudCA9ICd0aGluJyB8ICdib2xkJztcblxuZXhwb3J0IHR5cGUgU2VhcmNoRmlsdGVyU2lkZWJhclZhcmlhbnQgPSAnZGFya0J1dHRvbicgfCAnbGlnaHRCdXR0b24nO1xuXG5leHBvcnQgdHlwZSBQcm9kdWN0R3JpZFZhcmlhbnQgPSAnc3RhbmRhcmQnIHwgJ3NxdWFyZSc7XG5cbnR5cGUgVXNlclF1ZXJ5QnV0dG9uSWNvbiA9XG4gIHwgJ21hZ25pZnlpbmdHbGFzcydcbiAgfCAnc2VuZCdcbiAgfCAnbWFnbmlmeWluZ0dsYXNzVGhpbidcbiAgfCAnc2VuZEFycm93J1xuICB8ICdzZWFyY2hJY29uJztcblxuaW50ZXJmYWNlIFVzZXJRdWVyeUJ1dHRvbkNvbmZpZyB7XG4gIHZhcmlhbnQ/OiAnYm94JyB8ICd1bmRlcmxpbmVMaWdodCcgfCAndW5kZXJsaW5lRGFyayc7XG4gIHBsYWNlaG9sZGVyVGV4dD86IHN0cmluZztcbiAgaWNvbjogVXNlclF1ZXJ5QnV0dG9uSWNvbjtcbn1cblxuLy8gVE9ETzogdGhpcyBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdGhlIHRvcC1sZXZlbCB3aWRnZXQgY29uZmlnXG5pbnRlcmZhY2UgVGVybXNBbmRDb25kaXRpb25zQ29uZmlnIHtcbiAgY29weTogc3RyaW5nO1xuICBsaW5rOiBzdHJpbmc7XG4gIGxpbmtUZXh0OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBNZXJjaGFudFZhcmlhbnRTZXR0aW5ncyB7XG4gIGR5bmFtaWNWYXJpYW50czoge1xuICAgIGVuYWJsZWQ6IGJvb2xlYW47IC8vIFRoaXMgZmVhdHVyZSB3aWxsIGVuYWJsZSBkeW5hbWljIHZhcmlhbnRzIGZvciB0aGUgbWVyY2hhbnQuIFVzZWZ1bCBmb3IgU1BBJ3NcbiAgICByZWZyZXNoSW50ZXJ2YWw/OiBudW1iZXI7IC8vIFRoZSBpbnRlcnZhbCBpbiBtaWxsaXNlY29uZHMgdG8gY2hlY2sgZm9yIGNoYW5nZXMgaW4gdGhlIFVSTFxuICB9O1xufVxuXG5pbnRlcmZhY2UgRmxvYXRpbmdDaGF0Q29uZmlnIHtcbiAgZW5hYmxlV2F0ZXJtYXJrOiBib29sZWFuO1xuICB1c2VyUXVlcnlJbnB1dEVuYWJsZWQ6IGJvb2xlYW47XG4gIGlnbm9yZUZpcnN0TW9kZWxSZXNwb25zZT86IGJvb2xlYW47XG4gIG5ldmVyU2hvd1NpbmdsZVByb2R1Y3RDYXJkcz86IGJvb2xlYW47XG4gIHRlcm1zQW5kQ29uZGl0aW9uc0NvbmZpZz86IFRlcm1zQW5kQ29uZGl0aW9uc0NvbmZpZztcblxuICAvLyBGb290ZXIgY29uZmlnXG4gIHN1Z2dlc3Rpb25CdXR0b25Db25maWc/OiBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnO1xuICByZXBseUlucHV0Q29uZmlnOiBSZXBseUlucHV0Q29uZmlnO1xufVxuXG5pbnRlcmZhY2UgU2VhcmNoQ29uZmlnIHtcbiAgZW5hYmxlR2xvYmFsU2VhcmNoOiBib29sZWFuO1xuICBzZWFyY2hGaWx0ZXJDb25maWc6IEZpbHRlckF0dHJpYnV0ZVtdO1xuICBzZWFyY2hPdmVybGF5SGVhZGluZz86IHN0cmluZztcbiAgcmVkaXJlY3RTZWFyY2hSZXN1bHRzVXJsPzogc3RyaW5nO1xuICBhZGRpdGl2ZUR5bmFtaWNGaWx0ZXJzPzogYm9vbGVhbjtcbiAgcmVjb21tZW5kZWRQcm9kdWN0cz86IHN0cmluZ1tdO1xuICByZWNvbW1lbmRlZFByb2R1Y3RzSGVhZGluZz86IHN0cmluZztcbn1cblxudHlwZSBPcmdVSUNvbmZpZyA9IHtcbiAgc2hvcnROYW1lOiBzdHJpbmc7XG4gIGlkPzogc3RyaW5nO1xuICBmbG9hdGluZ0VudHJ5cG9pbnRDb25maWc/OiBGbG9hdGluZ0VudHJ5UG9pbnRDb25maWc7XG4gIC8vIERlcHJlY2F0ZWQgLSByZW1vdmUgd2l0aCBDaGF0UHJldmlldyByZXdyaXRlXG4gIGNoYXRQcmV2aWV3Q29uZmlnPzogQ2hhdFByZXZpZXdDb25maWc7XG5cbiAgY3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb246IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uO1xuICAvLyBEZXByZWNhdGVkIC0gcmVtb3ZlIHdoZW4gR2xvYmFsIFNlYXJjaCBpcyBmdWxseSBsYXVuY2hlZFxuICBjb252ZXJzYXRpb25hbFNlYXJjaD86IENvbnZlcnNhdGlvbmFsU2VhY2g7XG5cbiAgbWVyY2hhbnRPdmVycmlkZUNzcz86IHN0cmluZztcblxuICAvLyBEZXByZWNhdGVkIFRPRE86IFJlbW92ZSB0aGlzIGRlcHJlY2F0ZWQgdmFsdWUgd2hlbiBHcm9vdmUgQ1ggaGFzIHByb3BlciB1bmlmaWVkIGJ1dHRvbiBzdXBwb3J0XG4gIC8vIHNlbGVjdG9ycyBmb3IgZWxlbWVudHMgdGhhdCBzaG91bGQgYmUgaGlkZGVuIHdoZW4gdGhlIGNoYXQgaXMgb3BlblxuICAvLyBlLmcuIENTIHdpZGdldHMgd2l0aCBtYXggei1pbmRleCAoXCJkaXZbaWQqPSdjcy1jb250YWluZXInXVwiKVxuICBoaWRkZW5FbGVtZW50U2VsZWN0b3JzPzogc3RyaW5nW107XG5cbiAgbWVyY2hhbnRWYXJpYW50U2V0dGluZ3M/OiBNZXJjaGFudFZhcmlhbnRTZXR0aW5ncztcbiAgLy8gVE9ETzogTWlncmF0ZSBhbGwgZmxvYXRpbmcgY2hhdCBjb25maWcgaW50byB0aGlzIHRvcC1sZXZlbCBrZXlcbiAgLy9cbiAgZmxvYXRpbmdDaGF0Q29uZmlnOiBGbG9hdGluZ0NoYXRDb25maWc7XG5cbiAgLy8gQ29udGFpbiBhbGwgc2VhcmNoIGNvbmZpZyBoZXJlXG4gIHNlYXJjaENvbmZpZzogU2VhcmNoQ29uZmlnO1xuICAvLyBUT0RPOiBNb3ZlIHRoZXNlIGludG8gRmxvYXRpbmdDaGF0Q29uZmlnXG4gIC8vIENoYXQgSGVhZGVyIHJlbGF0ZWQgdmFsdWVzXG4gIGNoYXRIZWFkZXI6IENoYXRIZWFkZXJDb25maWc7XG4gIHN0aWNreUFnZW50U3dpdGNoU3VnZ2VzdGlvbj86IGJvb2xlYW47XG4gIHBhcnRpYWxWaWV3Q29uZmlnOiBQYXJ0aWFsVmlld0NvbmZpZztcbiAgd2VsY29tZVNlY3Rpb25Db25maWc/OiBXZWxjb21lU2VjdGlvbkNvbmZpZztcbiAgLy8gRGlmZmVyZW50IHJlc3BvbnNlIHZhbHVlc1xuICBwcm9kdWN0Q2FyZENvbmZpZz86IFByb2R1Y3RDYXJkQ29uZmlnO1xuICBwcm9kdWN0UmV2aWV3Q29uZmlnPzogUHJvZHVjdFJldmlld0NvbmZpZztcbiAgcGFnZUNhcmRDb25maWc/OiBQYWdlQ2FyZENvbmZpZztcbiAgY2hhdE1lc3NhZ2VDb25maWc6IENoYXRNZXNzYWdlQ29uZmlnO1xufTtcblxudHlwZSBJbnNlcnRpb25Qb2ludCA9IHtcbiAgc2VsZWN0b3I6IHN0cmluZztcbiAgLy8gdGhpcyBpcyB0aGUgaW5kZXggb2YgdGhlIHRhcmdldCBlbGVtZW50LCAwIGlmIG1pc3NpbmdcbiAgc2VsZWN0aW9uSW5kZXg/OiBudW1iZXI7XG4gIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGU7XG59O1xuXG50eXBlIFVSTFRlc3QgPSAnc2hvcGlmeScgfCAnbnVsbCc7XG5cbnR5cGUgSWRFeHRyYWN0b3IgPVxuICB8ICdzaG9waWZ5LXByb2R1Y3QtaWQnXG4gIHwgJ3Nob3BpZnktY29sbGVjdGlvbi1pZCdcbiAgfCAnc2hvcGlmeS1wcm9kdWN0LXZhcmlhbnQtaWQnXG4gIHwgJ3VybC1yZXNvbHZlci1wcm9kdWN0LWlkJ1xuICB8ICd1cmwtcmVzb2x2ZXItcGxwLWlkJ1xuICB8ICdudWxsJztcblxuLy8gVGhpcyBjb250YWlucyBhIG1hcCBiZXR3ZWVuIFBhZ2VWaXNpdENhdGVnb3J5IGFuZCBhIGxpc3Qgb2YgVVJMJ3MgdGhhdCBhcmUgY2xhc3NpZmllZCBhcyB0aGUgdmFsdWVcbmVudW0gQ2F0ZWdvcnlFeHRyYWN0b3JUeXBlIHtcbiAgVmlzaXRDYXRlZ29yeU1hcCA9ICdWaXNpdENhdGVnb3J5TWFwJyxcbiAgVmlzaXRDYXRlZ29yeURlZmF1bHQgPSAnVmlzaXRDYXRlZ29yeURlZmF1bHQnLFxufVxuXG5pbnRlcmZhY2UgQmFzZUNhdGVnb3J5RXh0cmFjdG9yPFQgZXh0ZW5kcyBDYXRlZ29yeUV4dHJhY3RvclR5cGU+IHtcbiAgdHlwZTogVDtcbn1cblxuLy8gVGhpcyBtYXAgYmV0d2VlbnMgYSBjYXRlZ29yeSBhbmQgYSBsaXN0IG9mIHVybCBwYXR0ZXJuc1xuaW50ZXJmYWNlIFZpc2l0Q2F0ZWdvcnlNYXAgZXh0ZW5kcyBCYXNlQ2F0ZWdvcnlFeHRyYWN0b3I8Q2F0ZWdvcnlFeHRyYWN0b3JUeXBlLlZpc2l0Q2F0ZWdvcnlNYXA+IHtcbiAgbWFwOiB7XG4gICAgW2tleSBpbiBQYWdlVmlzaXRDYXRlZ29yeV0/OiBzdHJpbmdbXTtcbiAgfTtcbn1cblxuLy8gVGhpcyB3aWxsIHJldHVybiBhIGhhcmQtY29kZWQgZGVmYXVsdCBQYWdlVmlzaXRDYXRlZ29yeS4gSXQgaXMgaW50ZW5kZWQgdG8gYmUgdXNlZCBieSBmYWxsYmFjayBwYWdlIHR5cGVzXG5pbnRlcmZhY2UgVmlzaXRDYXRlZ29yeURlZmF1bHQgZXh0ZW5kcyBCYXNlQ2F0ZWdvcnlFeHRyYWN0b3I8Q2F0ZWdvcnlFeHRyYWN0b3JUeXBlLlZpc2l0Q2F0ZWdvcnlEZWZhdWx0PiB7XG4gIHZhbHVlOiBQYWdlVmlzaXRDYXRlZ29yeTtcbn1cblxudHlwZSBDYXRlZ29yeUV4dHJhY3RvciA9IFZpc2l0Q2F0ZWdvcnlNYXAgfCBWaXNpdENhdGVnb3J5RGVmYXVsdDtcblxudHlwZSBXcmFwcGluZ0VsZW1lbnQgPSB7XG4gIGNsYXNzTmFtZTogc3RyaW5nO1xuICBlbGVtZW50OiBzdHJpbmc7XG4gIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGU7XG59O1xuXG5lbnVtIFBhZ2VWYXJpYW50VGVzdFR5cGUge1xuICBTaG9waWZ5UExQID0gJ1Nob3BpZnlQTFAnLFxuICBTaG9waWZ5UERQID0gJ1Nob3BpZnlQRFAnLFxuICBQYWdlQ2F0ZWdvcnkgPSAnUGFnZUNhdGVnb3J5JyxcbiAgQ2F0YWxvZ0NhdGVnb3J5ID0gJ0NhdGFsb2dDYXRlZ29yeScsXG4gIFRvcENhdGFsb2dDYXRlZ29yeSA9ICdUb3BDYXRhbG9nQ2F0ZWdvcnknLFxuICBIYXNSZXZpZXdzID0gJ0hhc1Jldmlld3MnLFxuICBJbkNvbGxlY3Rpb24gPSAnSW5Db2xsZWN0aW9uJyxcbiAgSGFzTWVyY2hhbnRUYWcgPSAnSGFzTWVyY2hhbnRUYWcnLFxuICBGZWF0dXJlR2F0ZSA9ICdGZWF0dXJlR2F0ZScsXG4gIFBscElkID0gJ1BscElkJyxcbiAgUXVlcnlQYXJhbSA9ICdRdWVyeVBhcmFtJyxcbiAgUHJvZHVjdElkID0gJ1Byb2R1Y3RJZCcsXG4gIFVzZXJIYXNJbnRlcmFjdGVkID0gJ1VzZXJIYXNJbnRlcmFjdGVkJyxcbiAgVXNlckhhc05vdEludGVyYWN0ZWQgPSAnVXNlckhhc05vdEludGVyYWN0ZWQnLFxuICBpc0xvYWRpbmcgPSAnaXNMb2FkaW5nJyxcbiAgaXNQcm9kdWN0Q29tcGFyaXNvbiA9ICdpc1Byb2R1Y3RDb21wYXJpc29uJyxcbiAgRmFsbGJhY2sgPSAnRmFsbGJhY2snLFxuICBVcmxSZXNvbHZlciA9ICdVcmxSZXNvbHZlcicsXG4gIE51bGwgPSAnbnVsbCcsXG59XG5cbmludGVyZmFjZSBCYXNlUGFnZVZhcmlhbnRUZXN0PFQgZXh0ZW5kcyBQYWdlVmFyaWFudFRlc3RUeXBlPiB7XG4gIHRlc3RUeXBlOiBUO1xufVxuXG5pbnRlcmZhY2UgVG9wQ2F0YWxvZ0NhdGVnb3J5IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlRvcENhdGFsb2dDYXRlZ29yeT4ge1xuICB0b3BDYXRlZ29yeTogc3RyaW5nW107XG59XG5cbmludGVyZmFjZSBDYXRhbG9nQ2F0ZWdvcnlUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkNhdGFsb2dDYXRlZ29yeT4ge1xuICBjYXRlZ29yeTogU3VwcG9ydGVkRXZlbnRQcm9kdWN0Q2F0ZWdvcnk7XG59XG5cbmludGVyZmFjZSBIYXNSZXZpZXdzVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5IYXNSZXZpZXdzPiB7XG4gIHJldmlld01pbmltdW0/OiBudW1iZXI7XG59XG5cbi8vIFRoaXMgd2lsbCByZXR1cm4gdHJ1ZSBpZiB0aGUgcHJvZHVjdCBpcyBpbiBhbnkgb2YgdGhlIGxpc3RlZCBjb2xsZWN0aW9uc1xuaW50ZXJmYWNlIEluQ29sbGVjdGlvblRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuSW5Db2xsZWN0aW9uPiB7XG4gIGNvbGxlY3Rpb25zOiBzdHJpbmdbXTtcbn1cblxuLy8gVGhpcyB3aWxsIHJldHVybiB0cnVlIGlmIHRoZSBwcm9kdWN0IGhhcyBhbnkgb2YgdGhlIGxpc3RlZCBtZXJjaGFudCB0YWdzXG5pbnRlcmZhY2UgSGFzTWVyY2hhbnRUYWdUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkhhc01lcmNoYW50VGFnPiB7XG4gIG1lcmNoYW50VGFnczogc3RyaW5nW107XG59XG5cbmludGVyZmFjZSBTaG9waWZ5UExQVVJMVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5TaG9waWZ5UExQPiB7fVxuXG5pbnRlcmZhY2UgU2hvcGlmeVBEUFVSTFRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuU2hvcGlmeVBEUD4ge31cblxuaW50ZXJmYWNlIFBhZ2VDYXRlZ29yeVRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuUGFnZUNhdGVnb3J5PiB7XG4gIGV4dHJhY3RvcjogQ2F0ZWdvcnlFeHRyYWN0b3I7XG59XG5cbmludGVyZmFjZSBGZWF0dXJlR2F0ZVRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuRmVhdHVyZUdhdGU+IHtcbiAgZmVhdHVyZUdhdGU6IEZlYXR1cmVHYXRlcztcbn1cblxuaW50ZXJmYWNlIFByb2R1Y3RJZFRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuUHJvZHVjdElkPiB7XG4gIHByb2R1Y3RJZEV4dHJhY3RvcjogSWRFeHRyYWN0b3I7XG4gIHByb2R1Y3RJZHM6IHN0cmluZ1tdO1xufVxuXG5pbnRlcmZhY2UgUGxwSWRUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlBscElkPiB7XG4gIHBscElkRXh0cmFjdG9yOiBJZEV4dHJhY3RvcjtcbiAgcGxwSWRzOiBzdHJpbmdbXTtcbn1cblxuaW50ZXJmYWNlIFF1ZXJ5UGFyYW1UZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlF1ZXJ5UGFyYW0+IHtcbiAgcXVlcnlQYXJhbTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgVXNlckhhc0ludGVyYWN0ZWRUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlVzZXJIYXNJbnRlcmFjdGVkPiB7fVxuXG5pbnRlcmZhY2UgVXNlckhhc05vdEludGVyYWN0ZWRUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlVzZXJIYXNOb3RJbnRlcmFjdGVkPiB7fVxuXG5pbnRlcmZhY2UgSXNMb2FkaW5nVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5pc0xvYWRpbmc+IHt9XG5cbmludGVyZmFjZSBJc1Byb2R1Y3RDb21wYXJpc29uIGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLmlzUHJvZHVjdENvbXBhcmlzb24+IHt9XG5cbmludGVyZmFjZSBQYWdlRmFsbGJhY2tUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkZhbGxiYWNrPiB7fVxuXG5pbnRlcmZhY2UgVXJsUmVzb2x2ZXJUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyPiB7fVxuXG5leHBvcnQgdHlwZSBQYWdlVmFyaWFudFRlc3QgPVxuICB8IFBhZ2VDYXRlZ29yeVRlc3RcbiAgfCBTaG9waWZ5UExQVVJMVGVzdFxuICB8IFNob3BpZnlQRFBVUkxUZXN0XG4gIHwgQ2F0YWxvZ0NhdGVnb3J5VGVzdFxuICB8IFRvcENhdGFsb2dDYXRlZ29yeVxuICB8IEhhc1Jldmlld3NUZXN0XG4gIHwgSW5Db2xsZWN0aW9uVGVzdFxuICB8IEhhc01lcmNoYW50VGFnVGVzdFxuICB8IEZlYXR1cmVHYXRlVGVzdFxuICB8IFByb2R1Y3RJZFRlc3RcbiAgfCBQbHBJZFRlc3RcbiAgfCBRdWVyeVBhcmFtVGVzdFxuICB8IFVzZXJIYXNJbnRlcmFjdGVkVGVzdFxuICB8IFVzZXJIYXNOb3RJbnRlcmFjdGVkVGVzdFxuICB8IElzTG9hZGluZ1Rlc3RcbiAgfCBJc1Byb2R1Y3RDb21wYXJpc29uXG4gIHwgUGFnZUZhbGxiYWNrVGVzdFxuICB8IFVybFJlc29sdmVyVGVzdDtcblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciB0aGUgc29jaWFsIHByb29mIGVtYmVkZGVkIHdpZGdldFxuICpcbiAqIEBwYXJhbSBoZWFkZXJUaXRsZSAtIFRoZSB0aXRsZSB0ZXh0IHRvIGRpc3BsYXkgaW4gdGhlIHdpZGdldCBoZWFkZXJcbiAqIEBwYXJhbSBzdGF0aWNTdWdnZXN0aW9ucyAtIEEgbGlzdCBvZiBzdHJpbmdzIHRvIGRpc3BsYXkgYXMgc3VnZ2VzdGlvbnMgaW4gdGhlIHdpZGdldFxuICogQHBhcmFtIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50RGVmYXVsdCAtIFRoZSB2YXJpYW50IG9mIHRoZSBzdWdnZXN0aW9uIGJ1dHRvbiB0byBkaXNwbGF5IGluIHRoZSB3aWRnZXQgZm9vdGVyXG4gKiBAcGFyYW0gc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnRBY2NlbnQgLSBUaGUgdmFyaWFudCBvZiB0aGUgc3VnZ2VzdGlvbiBidXR0b24gdG8gZGlzcGxheSBpbiB0aGUgd2lkZ2V0IGJvZHlcbiAqIEBwYXJhbSBzdGF0aWNJbWFnZUluZGV4IC0gSW5kZXggb2YgdGhlIGltYWdlVXJsIHRvIHVzZSBmcm9tIHRoZSBwcm9kdWN0IHJlc3BvbnNlXG4gKi9cbmludGVyZmFjZSBTb2NpYWxQcm9vZkNvbmZpZyB7XG4gIGN1c3RvbWVyUXVlcnk6IHN0cmluZztcbiAgaGVhZGVyVGl0bGU6IHN0cmluZztcbiAgc3RhdGljUExQSW1hZ2VzTGF5b3V0PzogJ2dyaWQnIHwgJ2hvcml6b250YWwnO1xuICBoZWFkZXJGb250RmFtaWx5Pzogc3RyaW5nO1xuICBzdGF0aWNQTFBJbWFnZU5hbWVzPzogc3RyaW5nW107XG4gIHN0YXRpY0ltYWdlSW5kZXg/OiBudW1iZXI7XG4gIHN1Z2dlc3Rpb25CdXR0b25TdHJpbmdzOiBzdHJpbmdbXTtcbiAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnREZWZhdWx0OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnRBY2NlbnQ/OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgc3VnZ2VzdGlvbkJ1dHRvbkRhdGFBdHRyaWJ1dGVzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbiAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnPzogVXNlclF1ZXJ5QnV0dG9uQ29uZmlnO1xuICBsb2dvTmFtZT86IHN0cmluZztcbn1cblxuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciBjcmVhdGluZyB0aGUgbW91bnQgcG9pbnQgZm9yIGEgd2lkZ2V0XG4gKlxuICogQHBhcmFtIGNsYXNzTmFtZSAtIE9wdGlvbmFsIGNsYXNzIG5hbWUgdG8gYXBwbHkgdG8gdGhlIG1vdW50IHBvaW50LiBUYWlsd2luZCBjbGFzc2VzIGFyZSBzdXBwb3J0ZWRcbiAqIGFuZCBlbmNvdXJhZ2VkLiBVc2UgdGhpcyBwYXJhbWV0ZXIgdG8gc3R5bGUgdGhlIG1vdW50aW5nIGNvbnRhaW5lciBmb3IgdGhlIHdpZGdldC5cbiAqL1xuZXhwb3J0IHR5cGUgV2lkZ2V0TW91bnRpbmdDb25maWcgPSB7XG4gIG1vdW50aW5nQ29uZmlnSWQ6IHN0cmluZztcbiAgY29udGFpbmVySWQ6IHN0cmluZztcbiAgdGVzdElkOiBzdHJpbmc7XG4gIHBhcmVudEluc2VydGlvblBvaW50PzogSW5zZXJ0aW9uUG9pbnQ7XG4gIGluc2VydGlvblBvaW50OiBJbnNlcnRpb25Qb2ludDtcbiAgZ3JpZEluc2VydGlvblR5cGU/OiBHcmlkSW5zZXJ0aW9uVHlwZTtcbiAgd3JhcHBpbmdFbGVtZW50PzogV3JhcHBpbmdFbGVtZW50O1xuICBkaXZDaGVja1NlbGVjdG9yPzogc3RyaW5nO1xuICBzdXBwcmVzc2lvblNlbGVjdG9yPzogc3RyaW5nO1xuICBzdHlsZT86IFBhcnRpYWw8Q1NTU3R5bGVEZWNsYXJhdGlvbj47XG4gIGNsYXNzTmFtZT86IHN0cmluZztcbiAgZGF0YUF0dHJpYnV0ZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xufTtcblxudHlwZSBTdGF0aWNXaWRnZXRNb3VudGluZyA9IHtcbiAgbW91bnRpbmdDb25maWdJZDogc3RyaW5nO1xuICB3aWRnZXRDb25maWdJZDogc3RyaW5nO1xufTtcbnR5cGUgRHluYW1pY1dpZGdldE1vdW50aW5nID0ge1xuICBtb3VudGluZ0NvbmZpZ0lkOiBzdHJpbmc7XG4gIG1vdW50aW5nUG9pbnRXaWRnZXRzOiBXaWRnZXREaXNwbGF5VGVzdHNbXTtcbn07XG5cbnR5cGUgV2lkZ2V0RGlzcGxheVRlc3RzID0ge1xuICB0ZXN0czogUGFnZVZhcmlhbnRUZXN0W107XG4gIHdpZGdldENvbmZpZ0lkOiBzdHJpbmc7XG59O1xuXG50eXBlIFdpZGdldE1vdW50aW5nID0gU3RhdGljV2lkZ2V0TW91bnRpbmcgfCBEeW5hbWljV2lkZ2V0TW91bnRpbmc7XG5cbmVudW0gV2lkZ2V0VHlwZSB7XG4gIENoYXRQcmV2aWV3ID0gJ0NoYXRQcmV2aWV3JyxcbiAgU29jaWFsUHJvb2ZWMiA9ICdTb2NpYWxQcm9vZlYyJyxcbiAgQ2hhdFByZXZpZXdWMiA9ICdDaGF0UHJldmlld1YyJyxcbiAgQ2hhdFByZXZpZXdJc0xvYWRpbmcgPSAnQ2hhdFByZXZpZXdJc0xvYWRpbmcnLFxuICBDaGF0UHJldmlld1Bvc3RJbnRlcmFjdGlvbiA9ICdDaGF0UHJldmlld1Bvc3RJbnRlcmFjdGlvbicsXG4gIENoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb24gPSAnQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbicsXG4gIFN1Z2dlc3Rpb25CYXIgPSAnU3VnZ2VzdGlvbkJhcicsXG4gIFN1Z2dlc3Rpb25CYXJWMiA9ICdTdWdnZXN0aW9uQmFyVjInLFxuICBJbWFnZVByb21wdENhcmQgPSAnSW1hZ2VQcm9tcHRDYXJkJyxcbiAgSW1hZ2VCYW5uZXIgPSAnSW1hZ2VCYW5uZXInLFxuICBTaW5nbGVJbWFnZVByb21wdCA9ICdTaW5nbGVJbWFnZVByb21wdCcsXG4gIFNlYXJjaFByb21wdCA9ICdTZWFyY2hQcm9tcHQnLFxuICBTZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50ID0gJ1NlYXJjaFplcm9TdGF0ZUVudHJ5UG9pbnQnLFxuICBTZWFyY2hSZXN1bHRzRW50cnlQb2ludCA9ICdTZWFyY2hSZXN1bHRzRW50cnlQb2ludCcsXG4gIFNlYXJjaE92ZXJsYXlIb3N0ID0gJ1NlYXJjaE92ZXJsYXlIb3N0JyxcbiAgTm9PcCA9ICdOb09wJyxcbn1cblxudHlwZSBXaWRnZXRDb25maWcgPVxuICB8IENoYXRQcmV2aWV3V2lkZ2V0Q29uZmlnXG4gIHwgU29jaWFsUHJvb2ZWMldpZGdldENvbmZpZ1xuICB8IENoYXRQcmV2aWV3VjJXaWRnZXRDb25maWdcbiAgfCBDaGF0UHJldmlld1Bvc3RJbnRlcmFjdGlvbldpZGdldENvbmZpZ1xuICB8IENoYXRQcmV2aWV3SXNMb2FkaW5nV2lkZ2V0Q29uZmlnXG4gIHwgQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbldpZGdldENvbmZpZ1xuICB8IFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZ1xuICB8IEltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnXG4gIHwgSW1hZ2VCYW5uZXJXaWRnZXRDb25maWdcbiAgfCBTaW5nbGVJbWFnZVByb21wdFdpZGdldENvbmZpZ1xuICB8IFNlYXJjaFByb21wdFdpZGdldENvbmZpZ1xuICB8IFNlYXJjaEVudHJ5UG9pbnRXaWRnZXRDb25maWdcbiAgfCBTZWFyY2hSZXN1bHRzRW50cnlQb2ludFdpZGdldENvbmZpZ1xuICB8IFNlYXJjaE92ZXJsYXlIb3N0V2lkZ2V0Q29uZmlnXG4gIHwgTm9PcFdpZGdldENvbmZpZztcblxuaW50ZXJmYWNlIEJhc2VXaWRnZXRDb25maWc8VCBleHRlbmRzIFdpZGdldFR5cGU+IHtcbiAgd2lkZ2V0Q29uZmlnSWQ6IHN0cmluZztcbiAgdHlwZTogVDtcbiAgY29udGVudElkPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgSW1hZ2VCYW5uZXJXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuSW1hZ2VCYW5uZXI+IHtcbiAgaW1hZ2VTcmM6IHN0cmluZztcbiAgdGl0bGU6IHN0cmluZztcbiAgc3VidGl0bGU6IHN0cmluZztcbiAgYXNzaXN0YW50TWVzc2FnZTogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuQ2hhdFByZXZpZXc+IHtcbiAgdmFyaWFudDogJ2ZpbGxlZCcgfCAnZmxhdCcgfCAnb3V0bGluZWQnO1xuICBhZGRTZXBhcmF0b3JzPzogYm9vbGVhbjtcbiAgc29jaWFsUHJvb2ZDb25maWc/OiBTb2NpYWxQcm9vZkNvbmZpZztcbiAgZm9vdGVyQ29uZmlnPzogQ2hhdFByZXZpZXdGb290ZXJDb25maWc7XG59XG5cbmludGVyZmFjZSBDaGF0UHJldmlld0hlYWRlclYyQ29uZmlnIHtcbiAgdGl0bGU/OiBzdHJpbmc7IC8vIERlZmF1bHQ6ICdTaG9wcGluZyBBc3Npc3RhbnQnXG4gIGltYWdlU3JjPzogc3RyaW5nO1xuICBpbWFnZUhlaWdodD86IG51bWJlcjtcbn1cblxudHlwZSBTaW5nbGVJbWFnZUNvbmZpZyA9IHtcbiAgbGF5b3V0OiAnc2luZ2xlJztcbiAgaW1hZ2VJbmRleDogbnVtYmVyO1xufTtcbnR5cGUgTXVsdGlJbWFnZUNvbmZpZyA9IHtcbiAgbGF5b3V0OiAnZ3JpZCcgfCAnaG9yaXpvbnRhbCc7XG4gIGltYWdlTmFtZXM6IHN0cmluZ1tdO1xufTtcbnR5cGUgU29jaWFsUHJvb2ZJbWFnZUNvbmZpZyA9IFNpbmdsZUltYWdlQ29uZmlnIHwgTXVsdGlJbWFnZUNvbmZpZztcblxudHlwZSBDaGF0UHJldmlld1N1Z2dlc3Rpb25CdXR0b25Db25maWcgPSB7XG4gIGJ1dHRvblN0cmluZ3M6IHN0cmluZ1tdO1xuICBhY2NlbnRCdXR0b25WYXJpYW50cz86IHtcbiAgICBidXR0b246IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGhvdmVyOiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgfTtcbiAgYnV0dG9uVmFyaWFudHM6IHtcbiAgICBidXR0b246IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGhvdmVyOiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgfTtcbiAgbnVtUm93cz86IE51bVJvd3M7XG59O1xuXG50eXBlIENoYXRQcmV2aWV3QW5pbWF0ZWRUZXh0Q29uZmlnID0ge1xuICBsZWFkaW5nVGV4dDogc3RyaW5nO1xuICBhbmltYXRlZFN0cmluZ3M6IHN0cmluZ1tdO1xufTtcblxudHlwZSBDaGF0UHJldmlld1ZhcmlhbnQgPVxuICB8IHsgdmFyaWFudDogJ2ZsYXQnIH1cbiAgfCB7IHZhcmlhbnQ6ICdmaWxsZWQnOyBiYWNrZ3JvdW5kRmlsbENvbG9yOiBzdHJpbmcgfVxuICB8IHsgdmFyaWFudDogJ291dGxpbmVkJyB9O1xuXG4vLyBCYXNlIGludGVyZmFjZSBmb3IgY29tbW9uIGNoYXQgcHJldmlldyBwcm9wZXJ0aWVzXG5pbnRlcmZhY2UgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgaGVhZGVyQ29uZmlnOiBDaGF0UHJldmlld0hlYWRlclYyQ29uZmlnO1xuICBzdWdnZXN0aW9uQnV0dG9uc0NvbmZpZzogQ2hhdFByZXZpZXdTdWdnZXN0aW9uQnV0dG9uQ29uZmlnO1xuICB1c2VyUXVlcnlCdXR0b25Db25maWc6IFVzZXJRdWVyeUJ1dHRvbkNvbmZpZztcbiAgY2hhdFByZXZpZXdWYXJpYW50OiBDaGF0UHJldmlld1ZhcmlhbnQ7XG4gIGFkZFNlcGFyYXRvcnM/OiBib29sZWFuO1xufVxuXG4vLyBTcGVjaWZpYyBjaGF0IHByZXZpZXcgd2lkZ2V0IGNvbmZpZ3VyYXRpb25zXG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb25XaWRnZXRDb25maWdcbiAgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb24+LCBCYXNlQ2hhdFByZXZpZXdDb25maWcge1xuICBjaGF0UHJldmlld1ZhcmlhbnQ6IENoYXRQcmV2aWV3VmFyaWFudDtcbiAgYWRkU2VwYXJhdG9ycz86IGJvb2xlYW47XG59XG5cbmludGVyZmFjZSBDaGF0UHJldmlld0lzTG9hZGluZ1dpZGdldENvbmZpZ1xuICBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlld0lzTG9hZGluZz4sIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7fVxuXG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbldpZGdldENvbmZpZ1xuICBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlld1Byb2R1Y3RDb21wYXJpc29uPiwgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgdXNlTGFyZ2VQcm9kdWN0Q29tcGFyaXNvbj86IGJvb2xlYW47XG59XG5cbmludGVyZmFjZSBDaGF0UHJldmlld1YyV2lkZ2V0Q29uZmlnXG4gIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkNoYXRQcmV2aWV3VjI+LCBCYXNlQ2hhdFByZXZpZXdDb25maWcge1xuICBhbmltYXRlZFRleHRDb25maWc6IENoYXRQcmV2aWV3QW5pbWF0ZWRUZXh0Q29uZmlnO1xufVxuXG5pbnRlcmZhY2UgU29jaWFsUHJvb2ZWMldpZGdldENvbmZpZ1xuICBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5Tb2NpYWxQcm9vZlYyPiwgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgY3VzdG9tZXJRdWVyeT86IHN0cmluZzsgLy8gRGVmYXVsdDogJ2Fza2VkIHdoaWNoIHByb2R1Y3RzIGFyZSB0aGUgYmVzdCdcbiAgaW1hZ2VDb25maWc6IFNvY2lhbFByb29mSW1hZ2VDb25maWc7XG59XG5cbmludGVyZmFjZSBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU3VnZ2VzdGlvbkJhclYyPiB7XG4gIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb247XG4gIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzO1xuICB2YXJpYW50OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgaG92ZXJWYXJpYW50OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgYnV0dG9uVGV4dHM6IHtcbiAgICBkZWZhdWx0OiBzdHJpbmdbXTtcbiAgICBwcm9kdWN0U3BlY2lmaWM/OiB7IFtwcm9kdWN0SWQ6IHN0cmluZ106IHN0cmluZ1tdIH07XG4gIH07XG4gIGJvbGRGaXJzdEJ1dHRvbj86IGJvb2xlYW47XG4gIHR3b1Jvd3NPbk1vYmlsZT86IGJvb2xlYW47XG4gIGFuaW1hdGlvblNwZWVkPzogJ3N0YW5kYXJkJyB8ICdzbG93JyB8ICdub25lJztcbiAgYnV0dG9uQm9yZGVyUmFkaXVzPzogJ3NtJyB8ICdtZCcgfCAnbGcnO1xufVxuXG5pbnRlcmZhY2UgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuSW1hZ2VQcm9tcHRDYXJkPiB7XG4gIHVybDogc3RyaW5nO1xuICBsaWdodFRleHQ/OiBib29sZWFuO1xuICB0aXRsZTogc3RyaW5nO1xuICBzdWJ0aXRsZTogc3RyaW5nW107XG4gIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM6IHN0cmluZ1tdO1xuICB1c2VyUXVlcnlCdXR0b25Db25maWc6IFVzZXJRdWVyeUJ1dHRvbkNvbmZpZztcbiAgZmFsbGJhY2tCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBTaW5nbGVJbWFnZVByb21wdFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TaW5nbGVJbWFnZVByb21wdD4ge1xuICB0aXRsZTogc3RyaW5nO1xuICBzdGF0aWNTdWdnZXN0aW9uQ29waWVzOiBzdHJpbmdbXTtcbiAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiBVc2VyUXVlcnlCdXR0b25Db25maWc7XG59XG5cbmludGVyZmFjZSBTZWFyY2hFbnRyeVBvaW50V2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlNlYXJjaFplcm9TdGF0ZUVudHJ5UG9pbnQ+IHtcbiAgc2VhcmNoWmVyb1N0YXRlVmFyaWFudDogU2VhcmNoWmVyb1N0YXRlVmFyaWFudDtcbiAgc2VhcmNoSW5wdXRWYXJpYW50OiBTZWFyY2hJbnB1dFZhcmlhbnQ7XG4gIHNlYXJjaEljb25WYXJpYW50PzogU2VhcmNoSWNvblZhcmlhbnQ7XG4gIHNlYXJjaEljb25TaXplPzogbnVtYmVyO1xuICBzdWdnZXN0aW9uQnV0dG9uQ29uZmlnOiBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnO1xuICBsYXlvdXQ6IFNlYXJjaFplcm9TdGF0ZUxheW91dDtcbiAgc2VhcmNoQm94UGxhY2Vob2xkZXI6IHN0cmluZztcbiAgYW5pbWF0aW9uU3BlZWQ/OiAnc3RhbmRhcmQnIHwgJ3Nsb3cnIHwgJ25vbmUnO1xuICBjb21wYWN0TGFiZWw/OiBzdHJpbmc7XG4gIGluaXRpYWxTdWdnZXN0aW9ucz86IHN0cmluZ1tdO1xuICB1c2luZ1BvcnRhbD86IGJvb2xlYW47XG4gIGluY2x1ZGVTdWJ0aXRsZT86IGJvb2xlYW47XG59XG5cbmludGVyZmFjZSBOb09wV2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLk5vT3A+IHt9XG5pbnRlcmZhY2UgU2VhcmNoT3ZlcmxheUhvc3RXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2VhcmNoT3ZlcmxheUhvc3Q+IHt9XG5cbmludGVyZmFjZSBTZWFyY2hSZXN1bHRzRW50cnlQb2ludFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TZWFyY2hSZXN1bHRzRW50cnlQb2ludD4ge1xuICBzZWFyY2hJbnB1dFZhcmlhbnQ6IFNlYXJjaElucHV0VmFyaWFudDtcbiAgc2VhcmNoRmlsdGVyU2lkZWJhclZhcmlhbnQ6IFNlYXJjaEZpbHRlclNpZGViYXJWYXJpYW50O1xuICBwcm9kdWN0R3JpZFZhcmlhbnQ6IFByb2R1Y3RHcmlkVmFyaWFudDtcbiAgc2VhcmNoQm94UGxhY2Vob2xkZXI6IHN0cmluZztcbiAgbm9SZXN1bHRzRm91bmRUZXh0Pzogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFdpZGdldEhlYWRlclByb3BzIGV4dGVuZHMgVGVzdFByb3BzIHtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIGxvZ28/OiBzdHJpbmc7XG4gIGxvZ29IZWlnaHQ/OiBudW1iZXI7XG4gIG9yZ1Nob3J0TmFtZTogc3RyaW5nO1xuICB2YXJpYW50PzogU2VhcmNoUHJvbXB0VmFyaWFudDtcbn1cblxuZXhwb3J0IGludGVyZmFjZSBVc2VyUXVlcnlPcHRpb25zIHtcbiAgZm9vdGVyVmFyaWFudD86ICdzdGFuZGFyZCc7XG4gIHJlcGx5QnV0dG9uVGV4dD86IHN0cmluZztcbiAgcmVwbHlCdXR0b25JY29uPzogJ21hZ25pZnlpbmdHbGFzcycgfCAnc2VuZCcgfCAndGhpbk1hZ25pZnlpbmdHbGFzcycgfCAnYWktc2VhcmNoJztcbn1cblxudHlwZSBTZWFyY2hQcm9tcHRWYXJpYW50ID0gJ3ByaW1hcnknO1xuaW50ZXJmYWNlIFNlYXJjaFByb21wdFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TZWFyY2hQcm9tcHQ+IHtcbiAgdmFyaWFudDogU2VhcmNoUHJvbXB0VmFyaWFudDtcbiAgdGl0bGU6IHN0cmluZztcbiAgaGVhZGVyQ29uZmlnOiBXaWRnZXRIZWFkZXJQcm9wcztcbiAgc3VnZ2VzdGlvbkJ1dHRvbnM6IHtcbiAgICB2YXJpYW50OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBob3ZlclZhcmlhbnQ6IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGJ1dHRvblRleHRzOiBzdHJpbmdbXTtcbiAgfTtcbiAgZm9vdGVyQ29uZmlnPzogVXNlclF1ZXJ5T3B0aW9ucztcbn1cblxudHlwZSBQYWdlVmFyaWFudEJhc2UgPSB7XG4gIC8vIFVuaXF1ZSBpZGVudGlmaWVyIGZvciBlYWNoIGVudHJ5IHdpdGhpbiB0aGUgcGFnZVZhcmlhbnRzLlxuICAvLyBVc2VmdWwgdG8gZGlmZmVyZW50aWF0ZSB3aGljaCB2YXJpYW50IGlzIGxvYWRlZCB3aGVuIHRoZXJlIGFyZSBtdWx0aXBsZXMgb2YgYSBzaW5nbGUgdHlwZS5cbiAgdmFyaWFudElkOiBzdHJpbmc7XG4gIHdpZGdldE1vdW50aW5nOiBXaWRnZXRNb3VudGluZ1tdO1xuICB2YXJpYW50VGVzdHM6IFBhZ2VWYXJpYW50VGVzdFtdO1xufTtcblxudHlwZSBQTFBQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgdmFyaWFudFR5cGU6ICdwbHAnO1xuICBwbHBJZEV4dHJhY3RvcjogSWRFeHRyYWN0b3I7XG59O1xuXG50eXBlIFBEUFBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICB2YXJpYW50VHlwZTogJ3BkcCc7XG4gIHBhcmVudFByb2R1Y3RJZEV4dHJhY3Rvcj86IElkRXh0cmFjdG9yO1xuICBwcm9kdWN0SWRFeHRyYWN0b3I6IElkRXh0cmFjdG9yO1xufTtcblxudHlwZSBWaXNpdFBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICB2YXJpYW50VHlwZTogJ3BhZ2VfdmlzaXQnO1xufTtcblxudHlwZSBPdGhlclBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICB2YXJpYW50VHlwZTogJ290aGVyJztcbn07XG5cbnR5cGUgSG9tZVBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICB2YXJpYW50VHlwZTogJ2hvbWVwYWdlJztcbn07XG5cbnR5cGUgU2VhcmNoUGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gIHZhcmlhbnRUeXBlOiAnc2VhcmNoJztcbn07XG5cbmV4cG9ydCB0eXBlIFBhZ2VWYXJpYW50Q29uZmlnID1cbiAgfCBQTFBQYWdlVmFyaWFudFxuICB8IFBEUFBhZ2VWYXJpYW50XG4gIHwgVmlzaXRQYWdlVmFyaWFudFxuICB8IE90aGVyUGFnZVZhcmlhbnRcbiAgfCBIb21lUGFnZVZhcmlhbnRcbiAgfCBTZWFyY2hQYWdlVmFyaWFudDtcblxuZXhwb3J0IHR5cGUgT3JnUGFnZUNvbmZpZyA9IHtcbiAgLy8gcGFnZVZhcmlhbnRzIGlzIGEgbGlzdCBvZiBwYWdlIHZhcmlhbnRzIHRoYXQgd2Ugc3VwcG9ydC5cbiAgcGFnZVZhcmlhbnRzOiBQYWdlVmFyaWFudENvbmZpZ1tdO1xuICAvLyB3aWRnZXRDb25maWdzIGlzIGEgbmFtZWQgc2V0IG9mIHdpZGdldCBjb25maWdzXG4gIHdpZGdldENvbmZpZ3M6IFJlY29yZDxzdHJpbmcsIFdpZGdldENvbmZpZz47XG4gIG1vdW50aW5nQ29uZmlnczogUmVjb3JkPHN0cmluZywgV2lkZ2V0TW91bnRpbmdDb25maWc+O1xufTtcblxuZXhwb3J0IHR5cGUgT3JnQ29uZmlnID0gT3JnVUlDb25maWc7XG5cbmV4cG9ydCB7IENhdGVnb3J5RXh0cmFjdG9yVHlwZSwgQ29sb3JOYW1lcywgY29sb3JWYXIsIFBhZ2VWYXJpYW50VGVzdFR5cGUsIFdpZGdldFR5cGUgfTtcblxuZXhwb3J0IGludGVyZmFjZSBFbnZpdmVDb25maWcge1xuICBhbXBsaXR1ZGVBcGlLZXk/OiBzdHJpbmc7XG4gIGRhdGFSZXNpZGVuY3k/OiBzdHJpbmc7XG4gIGVudj86IHN0cmluZztcbiAgYmFzZVVybD86IHN0cmluZztcbiAgcmVhY3RBcHBOYW1lPzogc3RyaW5nO1xuICBjZG5Vcmw/OiBzdHJpbmc7XG4gIGNvbnRleHRTb3VyY2U/OiBzdHJpbmc7XG4gIG9yZ0xldmVsQXBpS2V5Pzogc3RyaW5nO1xuICBvcmdTaG9ydE5hbWU/OiBzdHJpbmc7XG4gIGlkZW50aWZ5aW5nUHJlZml4Pzogc3RyaW5nO1xuICBmZWF0dXJlT3ZlcnJpZGVzPzogUmVjb3JkPHN0cmluZywgYm9vbGVhbj47XG4gIHZhcmlhbnRVcmxPdmVycmlkZT86IHN0cmluZztcbiAgdmFyaWFudEluZm9PdmVycmlkZT86IGFueTtcbiAgc2hvdz86IGJvb2xlYW47XG4gIHB1YmxpY0tleT86IHN0cmluZztcbiAgZmVhdHVyZUdhdGVzPzogT3JnQ29uZmlnRmVhdHVyZUdhdGVbXTtcbn1cblxuZXhwb3J0IHR5cGUge1xuICBDYXRlZ29yeUV4dHJhY3RvcixcbiAgQ2hhdE1lc3NhZ2VWYXJpYW50LFxuICBDaGF0TWVzc2FnZUNvbmZpZyxcbiAgQ2hhdFByZXZpZXdDb25maWcsXG4gIENoYXRQcmV2aWV3SXNMb2FkaW5nV2lkZ2V0Q29uZmlnLFxuICBDaGF0UHJldmlld1Bvc3RJbnRlcmFjdGlvbldpZGdldENvbmZpZyxcbiAgQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbldpZGdldENvbmZpZyxcbiAgQ2hhdFByZXZpZXdTdWdnZXN0aW9uQnV0dG9uQ29uZmlnLFxuICBTb2NpYWxQcm9vZlYyV2lkZ2V0Q29uZmlnLFxuICBDaGF0UHJldmlld0hlYWRlclYyQ29uZmlnLFxuICBDaGF0UHJldmlld1YyV2lkZ2V0Q29uZmlnLFxuICBDaGF0UHJldmlld0Zvb3RlckNvbmZpZyxcbiAgQ2hhdFByZXZpZXdIZWFkZXJDb25maWcsXG4gIENoYXRQcmV2aWV3V2lkZ2V0Q29uZmlnLFxuICBDaGF0UHJldmlld1ZhcmlhbnQsXG4gIENvbG9yTWFwcGluZyxcbiAgQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb24sXG4gIEZsb2F0aW5nRW50cnlQb2ludENvbmZpZyxcbiAgRnVsbEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uLFxuICBJZEV4dHJhY3RvcixcbiAgSW1hZ2VCYW5uZXJXaWRnZXRDb25maWcsXG4gIEltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnLFxuICBJbnNlcnRpb25Qb2ludCxcbiAgTXVsdGlJbWFnZUNvbmZpZyxcbiAgT3JnVUlDb25maWcsXG4gIFBhZ2VDYXJkQ29uZmlnLFxuICBQYWdlQ2FyZFZhcmlhbnQsXG4gIFBhZ2VDYXJkSG92ZXJWYXJpYW50LFxuICBQYWdlQ2FyZEljb25WYXJpYW50LFxuICBQcm9kdWN0Q2FyZENvbmZpZyxcbiAgUHJvZHVjdENhcmRWYXJpYW50LFxuICBQcm9kdWN0Q2FyZExheW91dFZhcmlhbnQsXG4gIFByb2R1Y3RDYXJkSG92ZXJWYXJpYW50LFxuICBQcm9kdWN0TGlua0hvdmVyVmFyaWFudCxcbiAgUHJvZHVjdExpbmtJY29uVmFyaWFudCxcbiAgUHJvZHVjdExpbmtWYXJpYW50LFxuICBQcm9kdWN0UmV2aWV3Q29uZmlnLFxuICBQcm9kdWN0UmV2aWV3U3R5bGVWYXJpYW50LFxuICBQcm9kdWN0UmV2aWV3Q29sb3JWYXJpYW50LFxuICBTZWFyY2hQcm9tcHRWYXJpYW50LFxuICBTZWFyY2hQcm9tcHRXaWRnZXRDb25maWcsXG4gIFNlYXJjaFJlc3VsdHNFbnRyeVBvaW50V2lkZ2V0Q29uZmlnLFxuICBTaG93RmxvYXRpbmdCdXR0b25PcHRpb25zLFxuICBTaW5nbGVJbWFnZVByb21wdFdpZGdldENvbmZpZyxcbiAgU2VhcmNoRW50cnlQb2ludFdpZGdldENvbmZpZyxcbiAgU2VhcmNoT3ZlcmxheUhvc3RXaWRnZXRDb25maWcsXG4gIFNvY2lhbFByb29mQ29uZmlnLFxuICBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcsXG4gIFN1Z2dlc3Rpb25CdXR0b25Db25maWcsXG4gIFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50LFxuICBVUkxUZXN0LFxuICBVc2VyUXVlcnlCdXR0b25Db25maWcsXG4gIFVzZXJRdWVyeUJ1dHRvbkljb24sXG4gIFdlbGNvbWVTZWN0aW9uQ29uZmlnLFxuICBXZWxjb21lU2VjdGlvblZhcmlhbnQsXG4gIFdlbGNvbWVTZWN0aW9uQ29sb3JWYXJpYW50LFxuICBXaWRnZXRDb25maWcsXG4gIFdyYXBwaW5nRWxlbWVudCxcbiAgU2VhcmNoQ2FyZFZhcmlhbnQsXG4gIFdpZGdldERpc3BsYXlUZXN0cyxcbiAgTm9PcFdpZGdldENvbmZpZyxcbiAgV2lkZ2V0TW91bnRpbmcsXG4gIFN0YXRpY1dpZGdldE1vdW50aW5nLFxuICBEeW5hbWljV2lkZ2V0TW91bnRpbmcsXG4gIFBEUFBhZ2VWYXJpYW50LFxuICBQTFBQYWdlVmFyaWFudCxcbiAgVmlzaXRQYWdlVmFyaWFudCxcbiAgT3RoZXJQYWdlVmFyaWFudCxcbiAgSG9tZVBhZ2VWYXJpYW50LFxuICBTZWFyY2hQYWdlVmFyaWFudCxcbiAgTnVtUm93cyxcbn07XG4iXSwibWFwcGluZ3MiOiI7OztBQStiQSxJQUFLLDBFQUFMO0FBQ0U7QUFDQTs7RUFGRztBQTZCTCxJQUFLLHNFQUFMO0FBQ0U7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7O0VBbkJHO0FBdUtMLElBQUssb0RBQUw7QUFDRTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7RUFoQkcifQ==
|
|
56
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuY2pzIiwibmFtZXMiOltdLCJzb3VyY2VzIjpbIi4uLy4uL3NyYy9jb250ZXh0cy90eXBlcy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbiB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvY2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24nO1xuaW1wb3J0IHsgQ29sb3JNYXBwaW5nLCBDb2xvck5hbWVzLCBjb2xvclZhciB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvY29sb3JzQ29uZmlnJztcbmltcG9ydCB7IEZlYXR1cmVHYXRlcyB9IGZyb20gJ3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvZmVhdHVyZUdhdGVzJztcbmltcG9ydCB7IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZSwgQ3VzdG9tZXJTZXJ2aWNlVHlwZSB9IGZyb20gJ3NyYy90eXBlcy9jdXN0b21lclNlcnZpY2UnO1xuaW1wb3J0IHsgR3JpZEluc2VydGlvblR5cGUgfSBmcm9tICdzcmMvbWVyY2hhbnRzL2dyaWRJbnNlcnRpb24nO1xuaW1wb3J0IHsgRE9NSW5zZXJ0aW9uVHlwZSB9IGZyb20gJ3NyYy9tZXJjaGFudHMvZG9tSW5zZXJ0aW9uJztcblxuaW1wb3J0IHR5cGUge1xuICBQYWdlVmlzaXRDYXRlZ29yeSxcbiAgU3VwcG9ydGVkRXZlbnRQcm9kdWN0Q2F0ZWdvcnksXG59IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyBDaGF0U3RhdGUgfSBmcm9tICdzcmMvdHlwZXMvY3VzdHNlcnZpY2UtdHlwZXMnO1xuaW1wb3J0IHsgU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcyB9IGZyb20gJ3NyYy90eXBlcy9zdWdnZXN0aW9uQmFyVjItdHlwZXMnO1xuaW1wb3J0IHsgVGVzdFByb3BzIH0gZnJvbSAnc3JjL3R5cGVzL3Rlc3QtdHlwZXMnO1xuaW1wb3J0IHsgT3JnQ29uZmlnRmVhdHVyZUdhdGUgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9vcmdDb25maWdSZXN1bHRzJztcbmltcG9ydCB7IFdpZGdldENvbmZpZ1YzIH0gZnJvbSAnLi90eXBlc1YzJztcblxudHlwZSBTaG93RmxvYXRpbmdCdXR0b25PcHRpb25zID1cbiAgfCAnYWx3YXlzJ1xuICB8ICdhZnRlci1pbnRlcmFjdGlvbi1vbi1tb2JpbGUtYWx3YXlzLWRlc2t0b3AnXG4gIHwgJ2FmdGVyLWludGVyYWN0aW9uLWFueXdoZXJlJ1xuICB8ICduZXZlcic7XG5cbnR5cGUgRmxvYXRpbmdFbnRyeVBvaW50Q29uZmlnID0ge1xuICBwb3NpdGlvbjogJ2JvdHRvbS1sZWZ0JyB8ICdtaWRkbGUtbGVmdCcgfCAnbWlkZGxlLXJpZ2h0JyB8ICdib3R0b20tcmlnaHQnO1xuICBleHBhbnNpb25UZXh0Pzoge1xuICAgIHBkcDogc3RyaW5nO1xuICAgIHBscDogc3RyaW5nO1xuICB9O1xuICBtaW5pbWl6ZWRDb2xvcjogc3RyaW5nO1xuICBleHBhbmRlZENvbG9yOiBzdHJpbmc7XG4gIHRleHRDb2xvcj86IHN0cmluZztcbiAgc2hvd09wdGlvbjogU2hvd0Zsb2F0aW5nQnV0dG9uT3B0aW9ucztcbiAgaWNvblNWR1NyYz86IHN0cmluZztcbiAgaWNvblNpemU/OiBudW1iZXI7XG4gIGljb25TdHJva2VDb2xvcj86IHN0cmluZztcbiAgaWNvbkZpbGxDb2xvcj86IHN0cmluZztcbiAgaGVpZ2h0PzogbnVtYmVyO1xuICBmb250U2l6ZT86IG51bWJlcjtcbn07XG5cbnR5cGUgV2VsY29tZVNlY3Rpb25WYXJpYW50ID0gJ3N0YW5kYXJkJyB8ICdvdXRsaW5lZCc7XG5cbnR5cGUgV2VsY29tZVNlY3Rpb25Db2xvclZhcmlhbnQgPSAnc3RhbmRhcmQnIHwgJ2FjY2VudCcgfCAnYnJhbmQnIHwgJ2xpZ2h0JztcblxudHlwZSBXZWxjb21lU2VjdGlvbkNvbmZpZyA9IHtcbiAgdmFyaWFudDogV2VsY29tZVNlY3Rpb25WYXJpYW50O1xuICBjb2xvclZhcmlhbnQ/OiBXZWxjb21lU2VjdGlvbkNvbG9yVmFyaWFudDtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIHN1YnRpdGxlPzogc3RyaW5nO1xuICAvLyBpY29uPzogUmVhY3QuRnVuY3Rpb25Db21wb25lbnQ8UmVhY3QuU1ZHUHJvcHM8U1ZHU1ZHRWxlbWVudD4+O1xuICAvKiBTZXJpYWxpemFibGUgaWNvbiBuYW1lIHRoYXQgbWFwcyB0byBhIFJlYWN0IGNvbXBvbmVudC4gUHJlZmVycmVkIG92ZXIgaWNvbiBmb3IgZGF0YWJhc2Ugc3RvcmFnZS4gKi9cbiAgaWNvbk5hbWU/OiBzdHJpbmc7XG4gIGltYWdlU3JjPzogc3RyaW5nO1xufTtcblxudHlwZSBDaGF0UHJldmlld0NvbmZpZyA9IHtcbiAgdmFyaWFudDogJ2ZsYXQnIHwgJ2ZpbGxlZCcgfCAnb3V0bGluZWQnO1xuICBsYXJnZVByb2R1Y3RDb21wYXJpc29uPzogYm9vbGVhbjtcbiAgZmlsbGVkQmFja2dyb3VuZENvbG9yOiBzdHJpbmc7XG4gIGljb25GaWxsQ29sb3I6IHN0cmluZztcbiAgYnV0dG9uVGV4dENvbG9yPzogc3RyaW5nO1xuICBidXR0b25UZXh0U2Vjb25kYXJ5Q29sb3I/OiBzdHJpbmc7XG4gIGJ1dHRvblRleHRIb3ZlckNvbG9yPzogc3RyaW5nO1xuICBidXR0b25CYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcbiAgYnV0dG9uQmFja2dyb3VuZEhvdmVyQ29sb3I6IHN0cmluZztcbiAgYnV0dG9uQm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gIGJ1dHRvbkJvcmRlckhvdmVyQ29sb3I/OiBzdHJpbmc7XG4gIGNvcGllczogeyBwZHA6IHN0cmluZ1tdOyBwbHA6IHN0cmluZ1tdIH07XG4gIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM/OiB7IHBkcDogc3RyaW5nW107IHBscDogc3RyaW5nW10gfTtcbiAgc3RhdGljUExQSW1hZ2VzPzogc3RyaW5nW107XG4gIGZvb3RlckNvbmZpZz86IENoYXRQcmV2aWV3Rm9vdGVyQ29uZmlnO1xuICBoZWFkZXJDb25maWc/OiBDaGF0UHJldmlld0hlYWRlckNvbmZpZztcbiAgdG9wTWFyZ2luPzogbnVtYmVyO1xufTtcblxudHlwZSBDaGF0UHJldmlld0hlYWRlckNvbmZpZyA9IHtcbiAgdGl0bGU/OiBzdHJpbmc7XG4gIGltYWdlU3JjPzogc3RyaW5nO1xuICBpbWFnZUhlaWdodD86IG51bWJlcjtcbiAgc3BhcmtsZXNDb2xvcj86IHN0cmluZzsgLy8gdXNlZCBieTogc3BhbngsIHVuaXF1ZVZpbnRhZ2UsIGRyZWFtbGFuZEJhYnlcbiAgZm9udFNpemU/OiBzdHJpbmc7XG4gIGljb25XaWR0aD86IHN0cmluZztcbiAgaWNvbkhlaWdodD86IHN0cmluZztcbn07XG5cbmludGVyZmFjZSBDaGF0UHJldmlld0Zvb3RlckNvbmZpZyB7XG4gIGhhc0ZhZGU/OiBib29sZWFuOyAvLyB1c2VkIGJ5OiBzcGFueCwgdW5pcXVlVmludGFnZVxuICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudD86ICdkYXJrJyB8ICdsaWdodCcgfCAnb3V0bGluZWQnO1xuICBzdWdnZXN0aW9uc0JhY2tncm91bmQ/OiBzdHJpbmc7IC8vIHVzZWQgYnk6IGNhcmJhaG5cbiAgcmVwbHlCdXR0b25JY29uPzogJ3NlbmQnIHwgJ21hZ25pZnlpbmdHbGFzcycgfCAndGhpbk1hZ25pZnlpbmdHbGFzcycgfCAnc2VhcmNoSWNvbic7XG4gIHJlcGx5QnV0dG9uVGV4dD86IHN0cmluZztcbiAgcmVwbHlJbnB1dEhhc1NoYWRvdz86IGJvb2xlYW47IC8vIHVzZWQgYnk6IHNwYW54XG4gIHJlcGx5SW5wdXRIYXNCb3JkZXI/OiBib29sZWFuOyAvLyB1c2VkIGJ5OiBzcGFueFxuICBiYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7IC8vIHVzZWQgYnkgc3BhbngsIHR1c2hiYWJ5LCB3aWxsIG5lZWQgY3VzdG9tIENTUyB3aGVuIHN3aXRjaGluZyBvdmVyXG59XG5cbnR5cGUgUHJvZHVjdFJldmlld1N0eWxlVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAnYm9yZGVyZWQnO1xuXG50eXBlIFByb2R1Y3RSZXZpZXdDb2xvclZhcmlhbnQgPSAnbmV1dHJhbCcgfCAnYnJhbmQnIHwgJ3ByZW1pdW0nO1xuXG5pbnRlcmZhY2UgUHJvZHVjdFJldmlld0NvbmZpZyB7XG4gIHN0eWxlVmFyaWFudDogUHJvZHVjdFJldmlld1N0eWxlVmFyaWFudDtcbiAgY29sb3JWYXJpYW50OiBQcm9kdWN0UmV2aWV3Q29sb3JWYXJpYW50O1xuICB2ZXJpZmllZEJ1eWVyVGl0bGU6IHN0cmluZztcbiAgaW5jZW50aXZpemVkUmV2aWV3RmxhZz86IGJvb2xlYW47XG59XG5cbnR5cGUgUGFnZUNhcmRWYXJpYW50ID0gJ2ZpbGxlZCcgfCAnb3V0bGluZWQnIHwgJ21pbmltYWwnO1xuXG50eXBlIFBhZ2VDYXJkSG92ZXJWYXJpYW50ID0gJ25vbmUnIHwgJ3NoYWRvdycgfCAnbGlmdCc7XG5cbnR5cGUgUGFnZUNhcmRJY29uVmFyaWFudCA9ICdwcmltYXJ5JyB8ICdhY2NlbnQnIHwgJ2JhY2tncm91bmQnIHwgJ25vbmUnO1xuXG50eXBlIFBhZ2VDYXJkQ29uZmlnID0ge1xuICB2YXJpYW50OiBQYWdlQ2FyZFZhcmlhbnQ7XG4gIGhvdmVyVmFyaWFudDogUGFnZUNhcmRIb3ZlclZhcmlhbnQ7XG4gIGljb25WYXJpYW50OiBQYWdlQ2FyZEljb25WYXJpYW50O1xufTtcblxudHlwZSBQcm9kdWN0Q2FyZFZhcmlhbnQgPSAnZmlsbGVkJyB8ICdib3JkZXJlZCcgfCAnbWluaW1hbCcgfCAndHJhbnNwYXJlbnRCb3JkZXJlZCc7XG5cbnR5cGUgUHJvZHVjdENhcmRIb3ZlclZhcmlhbnQgPSAnYmFja2dyb3VuZERhcmsnIHwgJ25vbmUnO1xuXG50eXBlIFByb2R1Y3RDYXJkTGF5b3V0VmFyaWFudCA9ICdub3JtYWwnIHwgJ3RhbGwnIHwgJ3NxdWFyZSc7XG5cbmludGVyZmFjZSBQcm9kdWN0Q2FyZENvbmZpZyB7XG4gIHZhcmlhbnQ6IFByb2R1Y3RDYXJkVmFyaWFudDtcbiAgaG92ZXJWYXJpYW50OiBQcm9kdWN0Q2FyZEhvdmVyVmFyaWFudDtcbiAgbGF5b3V0VmFyaWFudDogUHJvZHVjdENhcmRMYXlvdXRWYXJpYW50O1xuICBwcmljZVByZWZpeD86IHN0cmluZztcbn1cblxudHlwZSBDU1N3aXRjaENvbmZpZyA9IHtcbiAgdmFyaWFudDogJ2F0dGFjaGVkJyB8ICdkZXRhY2hlZCc7XG4gIGJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICBib3JkZXJDb2xvcjogc3RyaW5nO1xuICBzZWxlY3RlZFRleHRDb2xvcjogc3RyaW5nO1xuICBzZWxlY3RlZEJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbiAgdW5zZWxlY3RlZFRleHRDb2xvcjogc3RyaW5nO1xuICB1bnNlbGVjdGVkQmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xuICBzdXBwb3J0VGl0bGU/OiBzdHJpbmc7XG4gIHNwaWZmeVRpdGxlPzogc3RyaW5nO1xuICBzcGlmZnlUaXRsZUhhc0xvZ28/OiBib29sZWFuO1xufTtcblxudHlwZSBDaGF0SGVhZGVyQ29uZmlnID0ge1xuICBjb2xsYXBzZWRDb2xvcjogc3RyaW5nO1xuICBleHBhbmRlZENvbG9yOiBzdHJpbmc7XG4gIGNoZXZyb25Db2xvcjogc3RyaW5nO1xuICBpbWFnZVNyYz86IHN0cmluZztcbiAgaWNvbj86IFJlYWN0LkZ1bmN0aW9uQ29tcG9uZW50PFJlYWN0LlNWR1Byb3BzPFNWR1NWR0VsZW1lbnQ+PjtcbiAgY2xvc2VJY29uPzogUmVhY3QuRnVuY3Rpb25Db21wb25lbnQ8UmVhY3QuU1ZHUHJvcHM8U1ZHU1ZHRWxlbWVudD4+O1xuICBib3JkZXJCb3R0b20/OiBzdHJpbmc7XG4gIGhlYWRlckJhckhlaWdodFBhcnRpYWxWaWV3OiBudW1iZXI7XG4gIGhlYWRlckJhckhlaWdodEZ1bGxWaWV3OiBudW1iZXI7XG4gIGN1c3RvbWVyU3VwcG9ydFN3aXRjaENvbmZpZz86IENTU3dpdGNoQ29uZmlnO1xufTtcblxudHlwZSBTaW1wbGVDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiA9IHtcbiAgaW50ZWdyYXRpb25Nb2RlOiBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbk1vZGU7XG4gIHByb3ZpZGVyOiBDdXN0b21lclNlcnZpY2VUeXBlO1xuICB1c2VVbmlmaWVkQnV0dG9uPzogYm9vbGVhbjtcbiAgbWF4ZmlsZVVwbG9hZFNpemU/OiBudW1iZXI7XG59O1xuXG50eXBlIEZ1bGxDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiA9IHtcbiAgaW50ZWdyYXRpb25Nb2RlOiBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbk1vZGU7XG4gIHByb3ZpZGVyOiBDdXN0b21lclNlcnZpY2VUeXBlO1xuICB1c2VVbmlmaWVkQnV0dG9uPzogYm9vbGVhbjtcbiAgY2hhdEVuYWJsZWREdXJpbmdCdXNpbmVzc0hvdXJzPzogYm9vbGVhbjtcbiAgc2hvd05hbWVJbnB1dD86IGJvb2xlYW47XG4gIGZvcm1BaU5hbWU/OiBzdHJpbmc7XG4gIHdlbGNvbWVUaXRsZTogc3RyaW5nO1xuICB3ZWxjb21lRGVzY3JpcHRpb246IHN0cmluZztcbiAgc2hvd1dlbGNvbWVPbkZvcm0/OiBib29sZWFuO1xuICBjb250YWN0U3ViamVjdE9wdGlvbnM/OiBzdHJpbmdbXTtcbiAgZ2V0Q3VzdG9tV2FpdGluZ01lc3NhZ2U/OiAobmFtZT86IHN0cmluZykgPT4gc3RyaW5nO1xuICB3aXRoaW5CdXNpbmVzc0hvdXJzTWVzc2FnZT86IHN0cmluZztcbiAgd2l0aGluQnVzaW5lc3NIb3Vyc1dhaXRpbmdNZXNzYWdlPzogc3RyaW5nO1xuICBvdXRzaWRlQnVzaW5lc3NIb3Vyc01lc3NhZ2U/OiBzdHJpbmc7XG4gIG91dHNpZGVCdXNpbmVzc0hvdXJzV2FpdGluZ01lc3NhZ2U/OiBzdHJpbmc7XG4gIHdpdGhpbkJ1c2luZXNzSG91cnNGb3JtTWVzc2FnZT86IHN0cmluZztcbiAgb3V0c2lkZUJ1c2luZXNzSG91cnNGb3JtTWVzc2FnZT86IHN0cmluZztcbiAgc3VnZ2VzdGVkQUlRdWVzdGlvbnM/OiBzdHJpbmdbXTtcbiAgYnVzaW5lc3NIb3Vyc1BvbGxpbmc/OiBudW1iZXI7XG4gIG1heGZpbGVVcGxvYWRTaXplPzogbnVtYmVyO1xuXG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIEJFLlxuICAgKi9cbiAgYnVzaW5lc3NIb3Vyc1N0YXJ0VVRDPzogc3RyaW5nO1xuICAvKipcbiAgICogQGRlcHJlY2F0ZWQgVGhpcyBpcyBoYW5kbGVkIGJ5IHRoZSBCRS5cbiAgICovXG4gIGJ1c2luZXNzSG91cnNFbmRVVEM/OiBzdHJpbmc7XG4gIC8qKlxuICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIEJFLlxuICAgKi9cbiAgYnVzaW5lc3NIb3Vyc1RpbWV6b25lPzogc3RyaW5nO1xuXG4gIHNob3dBSVN1Z2dlc3Rpb25zV2l0aGluQnVzaW5lc3NIb3Vycz86IGJvb2xlYW47XG4gIHdhaXRpbmdNZXNzYWdlUG9zaXRpb24/OiAnQkVGT1JFX01FU1NBR0VTJyB8ICdBRlRFUl9NRVNTQUdFUyc7XG4gIGxlZ2FsTWVzc2FnZT86IHN0cmluZztcbiAgd2l0aGluQnVzaW5lc3NIb3Vyc0luaXRpYWxTdGF0ZT86IENoYXRTdGF0ZTtcbiAgb3V0c2lkZUJ1c2luZXNzSG91cnNJbml0aWFsU3RhdGU/OiBDaGF0U3RhdGU7XG4gIHdpdGhpbkJ1c2luZXNzSG91cnNCdXR0b250ZXh0Pzogc3RyaW5nO1xuICBvdXRzaWRlQnVzaW5lc3NIb3Vyc0J1dHRvbnRleHQ/OiBzdHJpbmc7XG4gIHJlb3BlbkNoYXRNZXNzYWdlOiBzdHJpbmc7XG59O1xuXG50eXBlIEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uID0gU2ltcGxlQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb24gfCBGdWxsQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb247XG5cbnR5cGUgQ29udmVyc2F0aW9uYWxTZWFjaCA9IHtcbiAgZW5hYmxlZD86IGJvb2xlYW47XG4gIHJlcGx5SW5wdXQ/OiBSZXBseUlucHV0Q29uZmlnO1xuICBzdWdnZXN0aW9ucz86IHN0cmluZ1tdO1xuICBlbnRyeXBvaW50QmdDb2xvcj86IHN0cmluZztcbiAgZW50cnlwb2ludFRleHRDb2xvcj86IHN0cmluZztcbiAgZW50cnlwb2ludEJ0bkNvbG9yPzogc3RyaW5nO1xuICBlbnRyeXBvaW50QnRuVGV4dENvbG9yPzogc3RyaW5nO1xuICBlbnRyeXBvaW50QnRuQm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gIGVudHJ5cG9pbnRDb250YWluZXI/OiBzdHJpbmc7XG4gIGVudHJ5cG9pbnRUcmlnZ2VyPzogc3RyaW5nO1xuICBwcm9kdWN0R3JpZENvbnRhaW5lcj86IHN0cmluZztcbiAgZ2VuZXJhbFNlYXJjaEJ0bj86IHN0cmluZztcbiAgcGFnZUNvbnRlbnQ/OiBzdHJpbmc7XG4gIHNlYXJjaENvbnRlbnQ/OiBzdHJpbmc7XG4gIHNvcnRpbmdUaXRsZT86IHN0cmluZztcbiAgc2VsZWN0aW9uVGl0bGU/OiBzdHJpbmc7XG4gIHNvcnRpbmdGb250Pzogc3RyaW5nO1xuICBvcHRpb25zRm9udD86IHN0cmluZztcbiAgc29ydGluZ0J1dHRvblRleHQ/OiBzdHJpbmc7XG59O1xuXG50eXBlIENoYXRNZXNzYWdlVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAncHJlbWl1bScgfCAnYWNjZW50JztcblxuaW50ZXJmYWNlIENoYXRNZXNzYWdlQ29uZmlnIHtcbiAgYXNzaXN0YW50Q2hhdFRpdGxlOiBzdHJpbmc7XG4gIHZhcmlhbnQ6IENoYXRNZXNzYWdlVmFyaWFudDtcbiAgcHJvZHVjdExpbms6IHtcbiAgICB2YXJpYW50OiBQcm9kdWN0TGlua1ZhcmlhbnQ7XG4gICAgaG92ZXJWYXJpYW50OiBQcm9kdWN0TGlua0hvdmVyVmFyaWFudDtcbiAgICBpY29uVmFyaWFudDogUHJvZHVjdExpbmtJY29uVmFyaWFudDtcbiAgfTtcbn1cblxuaW50ZXJmYWNlIFJlcGx5SW5wdXRDb25maWcge1xuICAvLyBUT0RPIGNvbnNpZGVyIG1ha2luZyB0aGlzIGEgbnVtYmVyXG4gIHNpemU/OiAnbWQnIHwgJ2xnJztcbiAgc2VuZEljb246ICdhcnJvd1VwJyB8ICdzZW5kJyB8ICdzZWFyY2gnO1xuICBwbGFjZWhvbGRlcj86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFBhcnRpYWxWaWV3Q29uZmlnIHtcbiAgLy8gbWF4aW11bSBoZWlnaHQgb2YgdGhlIHBhcnRpYWwgdmlldyBhcyBhIHBlcmNlbnRhZ2Ugb2YgdGhlIHNjcmVlbiBoZWlnaHRcbiAgbWF4SGVpZ2h0OiBudW1iZXI7XG4gIGJvcmRlclJhZGl1cz86IHN0cmluZztcbn1cblxudHlwZSBQcm9kdWN0TGlua0ljb25WYXJpYW50ID1cbiAgfCAnYWNjZW50UHJpbWFyeSdcbiAgfCAnYmFja2dyb3VuZFByaW1hcnknXG4gIHwgJ2JhY2tncm91bmRQcmltYXJ5RGFyaydcbiAgfCAnYm9yZGVyTGlnaHQnXG4gIHwgJ2JhY2tncm91bmRTYXR1cmF0ZWQnO1xuXG50eXBlIFByb2R1Y3RMaW5rVmFyaWFudCA9ICd0ZXh0TGluayc7XG5cbnR5cGUgUHJvZHVjdExpbmtIb3ZlclZhcmlhbnQgPSAnYmFja2dyb3VuZERhcmsnO1xuXG50eXBlIFNlYXJjaENhcmRWYXJpYW50ID1cbiAgfCAnYmFja2dyb3VuZFByaW1hcnknXG4gIHwgJ2JhY2tncm91bmRTZWNvbmRhcnknXG4gIHwgJ2JhY2tncm91bmRTZWNvbmRhcnlEYXJrJ1xuICB8ICdiYWNrZ3JvdW5kTGlnaHQnXG4gIHwgJ2JhY2tncm91bmRTYXR1cmF0ZWQnO1xuXG50eXBlIFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50ID1cbiAgfCAnb3V0bGluZWQnXG4gIHwgJ291dGxpbmVkTGlnaHQnXG4gIHwgJ3ByaW1hcnknXG4gIHwgJ3NlY29uZGFyeSdcbiAgfCAndGVydGlhcnknXG4gIHwgJ2RhcmsnXG4gIHwgJ2RhcmtBY2NlbnQnXG4gIHwgJ2RhcmtQcmltYXJ5J1xuICB8ICdzZWNvbmRhcnlEYXJrJ1xuICB8ICdzZWNvbmRhcnlBY2NlbnQnXG4gIHwgJ3RyYW5zcGFyZW50J1xuICB8ICd0cmFuc3BhcmVudERhcmsnXG4gIHwgJ2xpZ2h0RGFyayc7XG5cbmludGVyZmFjZSBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnIHtcbiAgdmFyaWFudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICBob3ZlclZhcmlhbnQ/OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgYW5zd2VyVmFyaWFudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICBib3JkZXJSYWRpdXM/OiAnc20nIHwgJ21kJyB8ICdsZyc7XG59XG5cbnR5cGUgTnVtUm93cyA9ICdkZWZhdWx0JyB8ICdhbHdheXNPbmVSb3cnIHwgJ2Fsd2F5c1R3b1Jvd3MnIHwgJ3R3b1Jvd3NPbk1vYmlsZSc7XG5cbmludGVyZmFjZSBBbHBoYWJldGljRmlsdGVyU29ydGluZyB7XG4gIHR5cGU6ICdhbHBoYWJldGljJztcbn1cbmludGVyZmFjZSBQcm9kdWN0Q291bnRGaWx0ZXJTb3J0aW5nIHtcbiAgdHlwZTogJ3Byb2R1Y3RDb3VudCc7XG59XG5pbnRlcmZhY2UgQ3VzdG9tRmlsdGVyU29ydGluZyB7XG4gIHR5cGU6ICdjdXN0b20nO1xuICBtYXA6IFJlY29yZDxzdHJpbmcsIG51bWJlcj47XG59XG5cbnR5cGUgRmlsdGVyU29ydGluZyA9IEFscGhhYmV0aWNGaWx0ZXJTb3J0aW5nIHwgUHJvZHVjdENvdW50RmlsdGVyU29ydGluZyB8IEN1c3RvbUZpbHRlclNvcnRpbmc7XG5cbmludGVyZmFjZSBCYXNlRmlsdGVyQ29uZmlnIHtcbiAgZmlsdGVySWQ6IHN0cmluZztcbiAgZGlzcGxheU5hbWU6IHN0cmluZztcbn1cbmludGVyZmFjZSBEeW5hbWljRmlsdGVyQ29uZmlnIGV4dGVuZHMgQmFzZUZpbHRlckNvbmZpZyB7XG4gIHR5cGU6ICdkeW5hbWljJztcbiAgYXR0cmlidXRlOiBzdHJpbmc7XG4gIHNvcnRpbmc6IEZpbHRlclNvcnRpbmc7XG59XG5cbmludGVyZmFjZSBQcmljZUZpbHRlckNvbmZpZyBleHRlbmRzIEJhc2VGaWx0ZXJDb25maWcge1xuICB0eXBlOiAncHJpY2UnO1xuICBidWNrZXRTaXplOiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIEZpbHRlckF0dHJpYnV0ZSA9IER5bmFtaWNGaWx0ZXJDb25maWcgfCBQcmljZUZpbHRlckNvbmZpZztcblxuZXhwb3J0IHR5cGUgU2VhcmNoWmVyb1N0YXRlVmFyaWFudCA9ICdiYWNrZ3JvdW5kVGVydGlhcnknIHwgJ2JhY2tncm91bmREYXJrJyB8ICdiYWNrZ3JvdW5kUHJpbWFyeSc7XG5leHBvcnQgdHlwZSBTZWFyY2haZXJvU3RhdGVMYXlvdXQgPSAnaW5wdXQnIHwgJ2ljb24nO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hJbnB1dFZhcmlhbnQgPSAnc3RhbmRhcmQnO1xuXG5leHBvcnQgdHlwZSBTZWFyY2hJY29uVmFyaWFudCA9ICd0aGluJyB8ICdib2xkJztcblxuZXhwb3J0IHR5cGUgU2VhcmNoRmlsdGVyU2lkZWJhclZhcmlhbnQgPSAnZGFya0J1dHRvbicgfCAnbGlnaHRCdXR0b24nO1xuXG5leHBvcnQgdHlwZSBQcm9kdWN0R3JpZFZhcmlhbnQgPSAnc3RhbmRhcmQnIHwgJ3NxdWFyZSc7XG5cbnR5cGUgVXNlclF1ZXJ5QnV0dG9uSWNvbiA9XG4gIHwgJ21hZ25pZnlpbmdHbGFzcydcbiAgfCAnc2VuZCdcbiAgfCAnbWFnbmlmeWluZ0dsYXNzVGhpbidcbiAgfCAnc2VuZEFycm93J1xuICB8ICdzZWFyY2hJY29uJztcblxuaW50ZXJmYWNlIFVzZXJRdWVyeUJ1dHRvbkNvbmZpZyB7XG4gIHZhcmlhbnQ/OiAnYm94JyB8ICd1bmRlcmxpbmVMaWdodCcgfCAndW5kZXJsaW5lRGFyayc7XG4gIHBsYWNlaG9sZGVyVGV4dD86IHN0cmluZztcbiAgaWNvbjogVXNlclF1ZXJ5QnV0dG9uSWNvbjtcbn1cblxuLy8gVE9ETzogdGhpcyBzaG91bGQgYmUgaW5jbHVkZWQgaW4gdGhlIHRvcC1sZXZlbCB3aWRnZXQgY29uZmlnXG5pbnRlcmZhY2UgVGVybXNBbmRDb25kaXRpb25zQ29uZmlnIHtcbiAgY29weTogc3RyaW5nO1xuICBsaW5rOiBzdHJpbmc7XG4gIGxpbmtUZXh0OiBzdHJpbmc7XG59XG5cbmludGVyZmFjZSBNZXJjaGFudFZhcmlhbnRTZXR0aW5ncyB7XG4gIGR5bmFtaWNWYXJpYW50czoge1xuICAgIGVuYWJsZWQ6IGJvb2xlYW47IC8vIFRoaXMgZmVhdHVyZSB3aWxsIGVuYWJsZSBkeW5hbWljIHZhcmlhbnRzIGZvciB0aGUgbWVyY2hhbnQuIFVzZWZ1bCBmb3IgU1BBJ3NcbiAgICByZWZyZXNoSW50ZXJ2YWw/OiBudW1iZXI7IC8vIFRoZSBpbnRlcnZhbCBpbiBtaWxsaXNlY29uZHMgdG8gY2hlY2sgZm9yIGNoYW5nZXMgaW4gdGhlIFVSTFxuICB9O1xufVxuXG5pbnRlcmZhY2UgRmxvYXRpbmdDaGF0Q29uZmlnIHtcbiAgZW5hYmxlV2F0ZXJtYXJrOiBib29sZWFuO1xuICB1c2VyUXVlcnlJbnB1dEVuYWJsZWQ6IGJvb2xlYW47XG4gIGlnbm9yZUZpcnN0TW9kZWxSZXNwb25zZT86IGJvb2xlYW47XG4gIG5ldmVyU2hvd1NpbmdsZVByb2R1Y3RDYXJkcz86IGJvb2xlYW47XG4gIHRlcm1zQW5kQ29uZGl0aW9uc0NvbmZpZz86IFRlcm1zQW5kQ29uZGl0aW9uc0NvbmZpZztcblxuICAvLyBGb290ZXIgY29uZmlnXG4gIHN1Z2dlc3Rpb25CdXR0b25Db25maWc/OiBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnO1xuICByZXBseUlucHV0Q29uZmlnOiBSZXBseUlucHV0Q29uZmlnO1xufVxuXG5pbnRlcmZhY2UgU2VhcmNoQ29uZmlnIHtcbiAgZW5hYmxlR2xvYmFsU2VhcmNoOiBib29sZWFuO1xuICBzZWFyY2hGaWx0ZXJDb25maWc6IEZpbHRlckF0dHJpYnV0ZVtdO1xuICBzZWFyY2hPdmVybGF5SGVhZGluZz86IHN0cmluZztcbiAgcmVkaXJlY3RTZWFyY2hSZXN1bHRzVXJsPzogc3RyaW5nO1xuICBhZGRpdGl2ZUR5bmFtaWNGaWx0ZXJzPzogYm9vbGVhbjtcbiAgcmVjb21tZW5kZWRQcm9kdWN0cz86IHN0cmluZ1tdO1xuICByZWNvbW1lbmRlZFByb2R1Y3RzSGVhZGluZz86IHN0cmluZztcbn1cblxudHlwZSBDb25maWdWZXJzaW9uID0gJ3YzJyB8ICdkZXByZWNhdGVkJyB8IHVuZGVmaW5lZDtcblxudHlwZSBPcmdVSUNvbmZpZyA9IHtcbiAgdmVyc2lvbj86IENvbmZpZ1ZlcnNpb247XG4gIHNob3J0TmFtZTogc3RyaW5nO1xuICBpZD86IHN0cmluZztcbiAgZmxvYXRpbmdFbnRyeXBvaW50Q29uZmlnPzogRmxvYXRpbmdFbnRyeVBvaW50Q29uZmlnO1xuICAvLyBEZXByZWNhdGVkIC0gcmVtb3ZlIHdpdGggQ2hhdFByZXZpZXcgcmV3cml0ZVxuICBjaGF0UHJldmlld0NvbmZpZz86IENoYXRQcmV2aWV3Q29uZmlnO1xuXG4gIGN1c3RvbWVyU2VydmljZUludGVncmF0aW9uOiBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbjtcbiAgLy8gRGVwcmVjYXRlZCAtIHJlbW92ZSB3aGVuIEdsb2JhbCBTZWFyY2ggaXMgZnVsbHkgbGF1bmNoZWRcbiAgY29udmVyc2F0aW9uYWxTZWFyY2g/OiBDb252ZXJzYXRpb25hbFNlYWNoO1xuXG4gIG1lcmNoYW50T3ZlcnJpZGVDc3M/OiBzdHJpbmc7XG5cbiAgLy8gRGVwcmVjYXRlZCBUT0RPOiBSZW1vdmUgdGhpcyBkZXByZWNhdGVkIHZhbHVlIHdoZW4gR3Jvb3ZlIENYIGhhcyBwcm9wZXIgdW5pZmllZCBidXR0b24gc3VwcG9ydFxuICAvLyBzZWxlY3RvcnMgZm9yIGVsZW1lbnRzIHRoYXQgc2hvdWxkIGJlIGhpZGRlbiB3aGVuIHRoZSBjaGF0IGlzIG9wZW5cbiAgLy8gZS5nLiBDUyB3aWRnZXRzIHdpdGggbWF4IHotaW5kZXggKFwiZGl2W2lkKj0nY3MtY29udGFpbmVyJ11cIilcbiAgaGlkZGVuRWxlbWVudFNlbGVjdG9ycz86IHN0cmluZ1tdO1xuXG4gIG1lcmNoYW50VmFyaWFudFNldHRpbmdzPzogTWVyY2hhbnRWYXJpYW50U2V0dGluZ3M7XG4gIC8vIFRPRE86IE1pZ3JhdGUgYWxsIGZsb2F0aW5nIGNoYXQgY29uZmlnIGludG8gdGhpcyB0b3AtbGV2ZWwga2V5XG4gIC8vXG4gIGZsb2F0aW5nQ2hhdENvbmZpZzogRmxvYXRpbmdDaGF0Q29uZmlnO1xuXG4gIC8vIENvbnRhaW4gYWxsIHNlYXJjaCBjb25maWcgaGVyZVxuICBzZWFyY2hDb25maWc6IFNlYXJjaENvbmZpZztcbiAgLy8gVE9ETzogTW92ZSB0aGVzZSBpbnRvIEZsb2F0aW5nQ2hhdENvbmZpZ1xuICAvLyBDaGF0IEhlYWRlciByZWxhdGVkIHZhbHVlc1xuICBjaGF0SGVhZGVyOiBDaGF0SGVhZGVyQ29uZmlnO1xuICBzdGlja3lBZ2VudFN3aXRjaFN1Z2dlc3Rpb24/OiBib29sZWFuO1xuICBwYXJ0aWFsVmlld0NvbmZpZzogUGFydGlhbFZpZXdDb25maWc7XG4gIHdlbGNvbWVTZWN0aW9uQ29uZmlnPzogV2VsY29tZVNlY3Rpb25Db25maWc7XG4gIC8vIERpZmZlcmVudCByZXNwb25zZSB2YWx1ZXNcbiAgcHJvZHVjdENhcmRDb25maWc/OiBQcm9kdWN0Q2FyZENvbmZpZztcbiAgcHJvZHVjdFJldmlld0NvbmZpZz86IFByb2R1Y3RSZXZpZXdDb25maWc7XG4gIHBhZ2VDYXJkQ29uZmlnPzogUGFnZUNhcmRDb25maWc7XG4gIGNoYXRNZXNzYWdlQ29uZmlnOiBDaGF0TWVzc2FnZUNvbmZpZztcbn07XG5cbnR5cGUgSW5zZXJ0aW9uUG9pbnQgPSB7XG4gIHNlbGVjdG9yOiBzdHJpbmc7XG4gIC8vIHRoaXMgaXMgdGhlIGluZGV4IG9mIHRoZSB0YXJnZXQgZWxlbWVudCwgMCBpZiBtaXNzaW5nXG4gIHNlbGVjdGlvbkluZGV4PzogbnVtYmVyO1xuICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlO1xufTtcblxudHlwZSBVUkxUZXN0ID0gJ3Nob3BpZnknIHwgJ251bGwnO1xuXG50eXBlIElkRXh0cmFjdG9yID1cbiAgfCAnc2hvcGlmeS1wcm9kdWN0LWlkJ1xuICB8ICdzaG9waWZ5LWNvbGxlY3Rpb24taWQnXG4gIHwgJ3Nob3BpZnktcHJvZHVjdC12YXJpYW50LWlkJ1xuICB8ICd1cmwtcmVzb2x2ZXItcHJvZHVjdC1pZCdcbiAgfCAndXJsLXJlc29sdmVyLXBscC1pZCdcbiAgfCAnbnVsbCc7XG5cbi8vIFRoaXMgY29udGFpbnMgYSBtYXAgYmV0d2VlbiBQYWdlVmlzaXRDYXRlZ29yeSBhbmQgYSBsaXN0IG9mIFVSTCdzIHRoYXQgYXJlIGNsYXNzaWZpZWQgYXMgdGhlIHZhbHVlXG5lbnVtIENhdGVnb3J5RXh0cmFjdG9yVHlwZSB7XG4gIFZpc2l0Q2F0ZWdvcnlNYXAgPSAnVmlzaXRDYXRlZ29yeU1hcCcsXG4gIFZpc2l0Q2F0ZWdvcnlEZWZhdWx0ID0gJ1Zpc2l0Q2F0ZWdvcnlEZWZhdWx0Jyxcbn1cblxuaW50ZXJmYWNlIEJhc2VDYXRlZ29yeUV4dHJhY3RvcjxUIGV4dGVuZHMgQ2F0ZWdvcnlFeHRyYWN0b3JUeXBlPiB7XG4gIHR5cGU6IFQ7XG59XG5cbi8vIFRoaXMgbWFwIGJldHdlZW5zIGEgY2F0ZWdvcnkgYW5kIGEgbGlzdCBvZiB1cmwgcGF0dGVybnNcbmludGVyZmFjZSBWaXNpdENhdGVnb3J5TWFwIGV4dGVuZHMgQmFzZUNhdGVnb3J5RXh0cmFjdG9yPENhdGVnb3J5RXh0cmFjdG9yVHlwZS5WaXNpdENhdGVnb3J5TWFwPiB7XG4gIG1hcDoge1xuICAgIFtrZXkgaW4gUGFnZVZpc2l0Q2F0ZWdvcnldPzogc3RyaW5nW107XG4gIH07XG59XG5cbi8vIFRoaXMgd2lsbCByZXR1cm4gYSBoYXJkLWNvZGVkIGRlZmF1bHQgUGFnZVZpc2l0Q2F0ZWdvcnkuIEl0IGlzIGludGVuZGVkIHRvIGJlIHVzZWQgYnkgZmFsbGJhY2sgcGFnZSB0eXBlc1xuaW50ZXJmYWNlIFZpc2l0Q2F0ZWdvcnlEZWZhdWx0IGV4dGVuZHMgQmFzZUNhdGVnb3J5RXh0cmFjdG9yPENhdGVnb3J5RXh0cmFjdG9yVHlwZS5WaXNpdENhdGVnb3J5RGVmYXVsdD4ge1xuICB2YWx1ZTogUGFnZVZpc2l0Q2F0ZWdvcnk7XG59XG5cbnR5cGUgQ2F0ZWdvcnlFeHRyYWN0b3IgPSBWaXNpdENhdGVnb3J5TWFwIHwgVmlzaXRDYXRlZ29yeURlZmF1bHQ7XG5cbnR5cGUgV3JhcHBpbmdFbGVtZW50ID0ge1xuICBjbGFzc05hbWU6IHN0cmluZztcbiAgZWxlbWVudDogc3RyaW5nO1xuICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlO1xufTtcblxuZW51bSBQYWdlVmFyaWFudFRlc3RUeXBlIHtcbiAgUGFnZUNhdGVnb3J5ID0gJ1BhZ2VDYXRlZ29yeScsXG4gIENhdGFsb2dDYXRlZ29yeSA9ICdDYXRhbG9nQ2F0ZWdvcnknLFxuICBUb3BDYXRhbG9nQ2F0ZWdvcnkgPSAnVG9wQ2F0YWxvZ0NhdGVnb3J5JyxcbiAgSGFzUmV2aWV3cyA9ICdIYXNSZXZpZXdzJyxcbiAgSW5Db2xsZWN0aW9uID0gJ0luQ29sbGVjdGlvbicsXG4gIEhhc01lcmNoYW50VGFnID0gJ0hhc01lcmNoYW50VGFnJyxcbiAgRmVhdHVyZUdhdGUgPSAnRmVhdHVyZUdhdGUnLFxuICBQbHBJZCA9ICdQbHBJZCcsXG4gIFF1ZXJ5UGFyYW0gPSAnUXVlcnlQYXJhbScsXG4gIFByb2R1Y3RJZCA9ICdQcm9kdWN0SWQnLFxuICBVc2VySGFzSW50ZXJhY3RlZCA9ICdVc2VySGFzSW50ZXJhY3RlZCcsXG4gIFVzZXJIYXNOb3RJbnRlcmFjdGVkID0gJ1VzZXJIYXNOb3RJbnRlcmFjdGVkJyxcbiAgaXNMb2FkaW5nID0gJ2lzTG9hZGluZycsXG4gIGlzUHJvZHVjdENvbXBhcmlzb24gPSAnaXNQcm9kdWN0Q29tcGFyaXNvbicsXG4gIEZhbGxiYWNrID0gJ0ZhbGxiYWNrJyxcbiAgVXJsUmVzb2x2ZXIgPSAnVXJsUmVzb2x2ZXInLFxuICBpc1NjcmVlbldpZHRoU21hbGxlciA9ICdpc1NjcmVlbldpZHRoU21hbGxlcicsXG4gIE51bGwgPSAnbnVsbCcsXG59XG5cbmludGVyZmFjZSBCYXNlUGFnZVZhcmlhbnRUZXN0PFQgZXh0ZW5kcyBQYWdlVmFyaWFudFRlc3RUeXBlPiB7XG4gIHRlc3RUeXBlOiBUO1xufVxuXG5pbnRlcmZhY2UgVG9wQ2F0YWxvZ0NhdGVnb3J5IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlRvcENhdGFsb2dDYXRlZ29yeT4ge1xuICB0b3BDYXRlZ29yeTogc3RyaW5nW107XG59XG5cbmludGVyZmFjZSBDYXRhbG9nQ2F0ZWdvcnlUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkNhdGFsb2dDYXRlZ29yeT4ge1xuICBjYXRlZ29yeTogU3VwcG9ydGVkRXZlbnRQcm9kdWN0Q2F0ZWdvcnk7XG59XG5cbmludGVyZmFjZSBIYXNSZXZpZXdzVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5IYXNSZXZpZXdzPiB7XG4gIHJldmlld01pbmltdW0/OiBudW1iZXI7XG59XG5cbi8vIFRoaXMgd2lsbCByZXR1cm4gdHJ1ZSBpZiB0aGUgcHJvZHVjdCBpcyBpbiBhbnkgb2YgdGhlIGxpc3RlZCBjb2xsZWN0aW9uc1xuaW50ZXJmYWNlIEluQ29sbGVjdGlvblRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuSW5Db2xsZWN0aW9uPiB7XG4gIGNvbGxlY3Rpb25zOiBzdHJpbmdbXTtcbn1cblxuLy8gVGhpcyB3aWxsIHJldHVybiB0cnVlIGlmIHRoZSBwcm9kdWN0IGhhcyBhbnkgb2YgdGhlIGxpc3RlZCBtZXJjaGFudCB0YWdzXG5pbnRlcmZhY2UgSGFzTWVyY2hhbnRUYWdUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkhhc01lcmNoYW50VGFnPiB7XG4gIG1lcmNoYW50VGFnczogc3RyaW5nW107XG59XG5cbmludGVyZmFjZSBQYWdlQ2F0ZWdvcnlUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlBhZ2VDYXRlZ29yeT4ge1xuICBleHRyYWN0b3I6IENhdGVnb3J5RXh0cmFjdG9yO1xufVxuXG5pbnRlcmZhY2UgRmVhdHVyZUdhdGVUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkZlYXR1cmVHYXRlPiB7XG4gIGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZXM7XG59XG5cbmludGVyZmFjZSBQcm9kdWN0SWRUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlByb2R1Y3RJZD4ge1xuICBwcm9kdWN0SWRFeHRyYWN0b3I6IElkRXh0cmFjdG9yO1xuICBwcm9kdWN0SWRzOiBzdHJpbmdbXTtcbn1cblxuaW50ZXJmYWNlIFBscElkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5QbHBJZD4ge1xuICBwbHBJZEV4dHJhY3RvcjogSWRFeHRyYWN0b3I7XG4gIHBscElkczogc3RyaW5nW107XG59XG5cbmludGVyZmFjZSBRdWVyeVBhcmFtVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5RdWVyeVBhcmFtPiB7XG4gIHF1ZXJ5UGFyYW06IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIFVzZXJIYXNJbnRlcmFjdGVkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5Vc2VySGFzSW50ZXJhY3RlZD4ge31cblxuaW50ZXJmYWNlIFVzZXJIYXNOb3RJbnRlcmFjdGVkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5Vc2VySGFzTm90SW50ZXJhY3RlZD4ge31cblxuaW50ZXJmYWNlIElzTG9hZGluZ1Rlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuaXNMb2FkaW5nPiB7fVxuXG5pbnRlcmZhY2UgSXNQcm9kdWN0Q29tcGFyaXNvbiBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5pc1Byb2R1Y3RDb21wYXJpc29uPiB7fVxuXG5pbnRlcmZhY2UgUGFnZUZhbGxiYWNrVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5GYWxsYmFjaz4ge31cblxuaW50ZXJmYWNlIFVybFJlc29sdmVyVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlcj4ge31cblxuaW50ZXJmYWNlIElzU2NyZWVuV2lkdGhTbWFsbGVyVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5pc1NjcmVlbldpZHRoU21hbGxlcj4ge1xuICBicmVha3BvaW50OiBudW1iZXI7XG59XG5cbmV4cG9ydCB0eXBlIFBhZ2VWYXJpYW50VGVzdCA9XG4gIHwgUGFnZUNhdGVnb3J5VGVzdFxuICB8IENhdGFsb2dDYXRlZ29yeVRlc3RcbiAgfCBUb3BDYXRhbG9nQ2F0ZWdvcnlcbiAgfCBIYXNSZXZpZXdzVGVzdFxuICB8IEluQ29sbGVjdGlvblRlc3RcbiAgfCBIYXNNZXJjaGFudFRhZ1Rlc3RcbiAgfCBGZWF0dXJlR2F0ZVRlc3RcbiAgfCBQcm9kdWN0SWRUZXN0XG4gIHwgUGxwSWRUZXN0XG4gIHwgUXVlcnlQYXJhbVRlc3RcbiAgfCBVc2VySGFzSW50ZXJhY3RlZFRlc3RcbiAgfCBVc2VySGFzTm90SW50ZXJhY3RlZFRlc3RcbiAgfCBJc0xvYWRpbmdUZXN0XG4gIHwgSXNQcm9kdWN0Q29tcGFyaXNvblxuICB8IFBhZ2VGYWxsYmFja1Rlc3RcbiAgfCBVcmxSZXNvbHZlclRlc3RcbiAgfCBJc1NjcmVlbldpZHRoU21hbGxlclRlc3Q7XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgdGhlIHNvY2lhbCBwcm9vZiBlbWJlZGRlZCB3aWRnZXRcbiAqXG4gKiBAcGFyYW0gaGVhZGVyVGl0bGUgLSBUaGUgdGl0bGUgdGV4dCB0byBkaXNwbGF5IGluIHRoZSB3aWRnZXQgaGVhZGVyXG4gKiBAcGFyYW0gc3RhdGljU3VnZ2VzdGlvbnMgLSBBIGxpc3Qgb2Ygc3RyaW5ncyB0byBkaXNwbGF5IGFzIHN1Z2dlc3Rpb25zIGluIHRoZSB3aWRnZXRcbiAqIEBwYXJhbSBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudERlZmF1bHQgLSBUaGUgdmFyaWFudCBvZiB0aGUgc3VnZ2VzdGlvbiBidXR0b24gdG8gZGlzcGxheSBpbiB0aGUgd2lkZ2V0IGZvb3RlclxuICogQHBhcmFtIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50QWNjZW50IC0gVGhlIHZhcmlhbnQgb2YgdGhlIHN1Z2dlc3Rpb24gYnV0dG9uIHRvIGRpc3BsYXkgaW4gdGhlIHdpZGdldCBib2R5XG4gKiBAcGFyYW0gc3RhdGljSW1hZ2VJbmRleCAtIEluZGV4IG9mIHRoZSBpbWFnZVVybCB0byB1c2UgZnJvbSB0aGUgcHJvZHVjdCByZXNwb25zZVxuICovXG5pbnRlcmZhY2UgU29jaWFsUHJvb2ZDb25maWcge1xuICBjdXN0b21lclF1ZXJ5OiBzdHJpbmc7XG4gIGhlYWRlclRpdGxlOiBzdHJpbmc7XG4gIHN0YXRpY1BMUEltYWdlc0xheW91dD86ICdncmlkJyB8ICdob3Jpem9udGFsJztcbiAgaGVhZGVyRm9udEZhbWlseT86IHN0cmluZztcbiAgc3RhdGljUExQSW1hZ2VOYW1lcz86IHN0cmluZ1tdO1xuICBzdGF0aWNJbWFnZUluZGV4PzogbnVtYmVyO1xuICBzdWdnZXN0aW9uQnV0dG9uU3RyaW5nczogc3RyaW5nW107XG4gIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50RGVmYXVsdDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50QWNjZW50PzogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gIHN1Z2dlc3Rpb25CdXR0b25EYXRhQXR0cmlidXRlcz86IFJlY29yZDxzdHJpbmcsIHN0cmluZz47XG4gIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZz86IFVzZXJRdWVyeUJ1dHRvbkNvbmZpZztcbiAgbG9nb05hbWU/OiBzdHJpbmc7XG59XG5cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgY3JlYXRpbmcgdGhlIG1vdW50IHBvaW50IGZvciBhIHdpZGdldFxuICpcbiAqIEBwYXJhbSBjbGFzc05hbWUgLSBPcHRpb25hbCBjbGFzcyBuYW1lIHRvIGFwcGx5IHRvIHRoZSBtb3VudCBwb2ludC4gVGFpbHdpbmQgY2xhc3NlcyBhcmUgc3VwcG9ydGVkXG4gKiBhbmQgZW5jb3VyYWdlZC4gVXNlIHRoaXMgcGFyYW1ldGVyIHRvIHN0eWxlIHRoZSBtb3VudGluZyBjb250YWluZXIgZm9yIHRoZSB3aWRnZXQuXG4gKi9cbmV4cG9ydCB0eXBlIFdpZGdldE1vdW50aW5nQ29uZmlnID0ge1xuICBtb3VudGluZ0NvbmZpZ0lkOiBzdHJpbmc7XG4gIGNvbnRhaW5lcklkOiBzdHJpbmc7XG4gIHRlc3RJZDogc3RyaW5nO1xuICBwYXJlbnRJbnNlcnRpb25Qb2ludD86IEluc2VydGlvblBvaW50O1xuICBpbnNlcnRpb25Qb2ludDogSW5zZXJ0aW9uUG9pbnQ7XG4gIGdyaWRJbnNlcnRpb25UeXBlPzogR3JpZEluc2VydGlvblR5cGU7XG4gIHdyYXBwaW5nRWxlbWVudD86IFdyYXBwaW5nRWxlbWVudDtcbiAgZGl2Q2hlY2tTZWxlY3Rvcj86IHN0cmluZztcbiAgc3VwcHJlc3Npb25TZWxlY3Rvcj86IHN0cmluZztcbiAgc3R5bGU/OiBQYXJ0aWFsPENTU1N0eWxlRGVjbGFyYXRpb24+O1xuICBjbGFzc05hbWU/OiBzdHJpbmc7XG4gIGRhdGFBdHRyaWJ1dGVzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn07XG5cbnR5cGUgU3RhdGljV2lkZ2V0TW91bnRpbmcgPSB7XG4gIG1vdW50aW5nQ29uZmlnSWQ6IHN0cmluZztcbiAgd2lkZ2V0Q29uZmlnSWQ6IHN0cmluZztcbn07XG50eXBlIER5bmFtaWNXaWRnZXRNb3VudGluZyA9IHtcbiAgbW91bnRpbmdDb25maWdJZDogc3RyaW5nO1xuICBtb3VudGluZ1BvaW50V2lkZ2V0czogV2lkZ2V0RGlzcGxheVRlc3RzW107XG59O1xuXG50eXBlIFdpZGdldERpc3BsYXlUZXN0cyA9IHtcbiAgdGVzdHM6IFBhZ2VWYXJpYW50VGVzdFtdO1xuICB3aWRnZXRDb25maWdJZDogc3RyaW5nO1xufTtcblxudHlwZSBXaWRnZXRNb3VudGluZyA9IFN0YXRpY1dpZGdldE1vdW50aW5nIHwgRHluYW1pY1dpZGdldE1vdW50aW5nO1xuXG5lbnVtIFdpZGdldFR5cGUge1xuICBDaGF0UHJldmlldyA9ICdDaGF0UHJldmlldycsXG4gIFNvY2lhbFByb29mVjIgPSAnU29jaWFsUHJvb2ZWMicsXG4gIENoYXRQcmV2aWV3VjIgPSAnQ2hhdFByZXZpZXdWMicsXG4gIENoYXRQcmV2aWV3SXNMb2FkaW5nID0gJ0NoYXRQcmV2aWV3SXNMb2FkaW5nJyxcbiAgQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb24gPSAnQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb24nLFxuICBDaGF0UHJldmlld1Byb2R1Y3RDb21wYXJpc29uID0gJ0NoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb24nLFxuICBTdWdnZXN0aW9uQmFyID0gJ1N1Z2dlc3Rpb25CYXInLFxuICBTdWdnZXN0aW9uQmFyVjIgPSAnU3VnZ2VzdGlvbkJhclYyJyxcbiAgSW1hZ2VQcm9tcHRDYXJkID0gJ0ltYWdlUHJvbXB0Q2FyZCcsXG4gIEltYWdlQmFubmVyID0gJ0ltYWdlQmFubmVyJyxcbiAgU2luZ2xlSW1hZ2VQcm9tcHQgPSAnU2luZ2xlSW1hZ2VQcm9tcHQnLFxuICBTZWFyY2hQcm9tcHQgPSAnU2VhcmNoUHJvbXB0JyxcbiAgU2VhcmNoWmVyb1N0YXRlRW50cnlQb2ludCA9ICdTZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50JyxcbiAgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnQgPSAnU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnQnLFxuICBTZWFyY2hPdmVybGF5SG9zdCA9ICdTZWFyY2hPdmVybGF5SG9zdCcsXG4gIE5vT3AgPSAnTm9PcCcsXG59XG5cbnR5cGUgV2lkZ2V0Q29uZmlnID1cbiAgfCBDaGF0UHJldmlld1dpZGdldENvbmZpZ1xuICB8IFNvY2lhbFByb29mVjJXaWRnZXRDb25maWdcbiAgfCBDaGF0UHJldmlld1YyV2lkZ2V0Q29uZmlnXG4gIHwgQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb25XaWRnZXRDb25maWdcbiAgfCBDaGF0UHJldmlld0lzTG9hZGluZ1dpZGdldENvbmZpZ1xuICB8IENoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb25XaWRnZXRDb25maWdcbiAgfCBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWdcbiAgfCBJbWFnZVByb21wdFdpZGdldENvbmZpZ1xuICB8IEltYWdlQmFubmVyV2lkZ2V0Q29uZmlnXG4gIHwgU2luZ2xlSW1hZ2VQcm9tcHRXaWRnZXRDb25maWdcbiAgfCBTZWFyY2hQcm9tcHRXaWRnZXRDb25maWdcbiAgfCBTZWFyY2hFbnRyeVBvaW50V2lkZ2V0Q29uZmlnXG4gIHwgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRXaWRnZXRDb25maWdcbiAgfCBTZWFyY2hPdmVybGF5SG9zdFdpZGdldENvbmZpZ1xuICB8IE5vT3BXaWRnZXRDb25maWc7XG5cbmludGVyZmFjZSBCYXNlV2lkZ2V0Q29uZmlnPFQgZXh0ZW5kcyBXaWRnZXRUeXBlPiB7XG4gIHdpZGdldENvbmZpZ0lkOiBzdHJpbmc7XG4gIHR5cGU6IFQ7XG4gIGNvbnRlbnRJZD86IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIEltYWdlQmFubmVyV2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkltYWdlQmFubmVyPiB7XG4gIGltYWdlU3JjOiBzdHJpbmc7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIHN1YnRpdGxlOiBzdHJpbmc7XG4gIGFzc2lzdGFudE1lc3NhZ2U6IHN0cmluZztcbn1cblxuaW50ZXJmYWNlIENoYXRQcmV2aWV3V2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkNoYXRQcmV2aWV3PiB7XG4gIHZhcmlhbnQ6ICdmaWxsZWQnIHwgJ2ZsYXQnIHwgJ291dGxpbmVkJztcbiAgYWRkU2VwYXJhdG9ycz86IGJvb2xlYW47XG4gIHNvY2lhbFByb29mQ29uZmlnPzogU29jaWFsUHJvb2ZDb25maWc7XG4gIGZvb3RlckNvbmZpZz86IENoYXRQcmV2aWV3Rm9vdGVyQ29uZmlnO1xufVxuXG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdIZWFkZXJWMkNvbmZpZyB7XG4gIHRpdGxlPzogc3RyaW5nOyAvLyBEZWZhdWx0OiAnU2hvcHBpbmcgQXNzaXN0YW50J1xuICBpbWFnZVNyYz86IHN0cmluZztcbiAgaW1hZ2VIZWlnaHQ/OiBudW1iZXI7XG59XG5cbnR5cGUgU2luZ2xlSW1hZ2VDb25maWcgPSB7XG4gIGxheW91dDogJ3NpbmdsZSc7XG4gIGltYWdlSW5kZXg6IG51bWJlcjtcbn07XG50eXBlIE11bHRpSW1hZ2VDb25maWcgPSB7XG4gIGxheW91dDogJ2dyaWQnIHwgJ2hvcml6b250YWwnO1xuICBpbWFnZU5hbWVzOiBzdHJpbmdbXTtcbn07XG50eXBlIFNvY2lhbFByb29mSW1hZ2VDb25maWcgPSBTaW5nbGVJbWFnZUNvbmZpZyB8IE11bHRpSW1hZ2VDb25maWc7XG5cbnR5cGUgQ2hhdFByZXZpZXdTdWdnZXN0aW9uQnV0dG9uQ29uZmlnID0ge1xuICBidXR0b25TdHJpbmdzOiBzdHJpbmdbXTtcbiAgYWNjZW50QnV0dG9uVmFyaWFudHM/OiB7XG4gICAgYnV0dG9uOiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBob3ZlcjogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gIH07XG4gIGJ1dHRvblZhcmlhbnRzOiB7XG4gICAgYnV0dG9uOiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBob3ZlcjogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gIH07XG4gIG51bVJvd3M/OiBOdW1Sb3dzO1xufTtcblxudHlwZSBDaGF0UHJldmlld0FuaW1hdGVkVGV4dENvbmZpZyA9IHtcbiAgbGVhZGluZ1RleHQ6IHN0cmluZztcbiAgYW5pbWF0ZWRTdHJpbmdzOiBzdHJpbmdbXTtcbn07XG5cbnR5cGUgQ2hhdFByZXZpZXdWYXJpYW50ID1cbiAgfCB7IHZhcmlhbnQ6ICdmbGF0JyB9XG4gIHwgeyB2YXJpYW50OiAnZmlsbGVkJzsgYmFja2dyb3VuZEZpbGxDb2xvcjogc3RyaW5nIH1cbiAgfCB7IHZhcmlhbnQ6ICdvdXRsaW5lZCcgfTtcblxuLy8gQmFzZSBpbnRlcmZhY2UgZm9yIGNvbW1vbiBjaGF0IHByZXZpZXcgcHJvcGVydGllc1xuaW50ZXJmYWNlIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG4gIGhlYWRlckNvbmZpZzogQ2hhdFByZXZpZXdIZWFkZXJWMkNvbmZpZztcbiAgc3VnZ2VzdGlvbkJ1dHRvbnNDb25maWc6IENoYXRQcmV2aWV3U3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZztcbiAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiBVc2VyUXVlcnlCdXR0b25Db25maWc7XG4gIGNoYXRQcmV2aWV3VmFyaWFudDogQ2hhdFByZXZpZXdWYXJpYW50O1xuICBhZGRTZXBhcmF0b3JzPzogYm9vbGVhbjtcbn1cblxuLy8gU3BlY2lmaWMgY2hhdCBwcmV2aWV3IHdpZGdldCBjb25maWd1cmF0aW9uc1xuaW50ZXJmYWNlIENoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uV2lkZ2V0Q29uZmlnXG4gIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkNoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uPiwgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgY2hhdFByZXZpZXdWYXJpYW50OiBDaGF0UHJldmlld1ZhcmlhbnQ7XG4gIGFkZFNlcGFyYXRvcnM/OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdJc0xvYWRpbmdXaWRnZXRDb25maWdcbiAgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuQ2hhdFByZXZpZXdJc0xvYWRpbmc+LCBCYXNlQ2hhdFByZXZpZXdDb25maWcge31cblxuaW50ZXJmYWNlIENoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb25XaWRnZXRDb25maWdcbiAgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbj4sIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG4gIHVzZUxhcmdlUHJvZHVjdENvbXBhcmlzb24/OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdWMldpZGdldENvbmZpZ1xuICBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlld1YyPiwgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgYW5pbWF0ZWRUZXh0Q29uZmlnOiBDaGF0UHJldmlld0FuaW1hdGVkVGV4dENvbmZpZztcbn1cblxuaW50ZXJmYWNlIFNvY2lhbFByb29mVjJXaWRnZXRDb25maWdcbiAgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU29jaWFsUHJvb2ZWMj4sIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG4gIGN1c3RvbWVyUXVlcnk/OiBzdHJpbmc7IC8vIERlZmF1bHQ6ICdhc2tlZCB3aGljaCBwcm9kdWN0cyBhcmUgdGhlIGJlc3QnXG4gIGltYWdlQ29uZmlnOiBTb2NpYWxQcm9vZkltYWdlQ29uZmlnO1xufVxuXG5pbnRlcmZhY2UgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlN1Z2dlc3Rpb25CYXJWMj4ge1xuICBtZXRyaWNEaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uO1xuICBsb2NhdGlvbjogU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcztcbiAgdmFyaWFudDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gIGhvdmVyVmFyaWFudDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gIGJ1dHRvblRleHRzOiB7XG4gICAgZGVmYXVsdDogc3RyaW5nW107XG4gICAgcHJvZHVjdFNwZWNpZmljPzogeyBbcHJvZHVjdElkOiBzdHJpbmddOiBzdHJpbmdbXSB9O1xuICB9O1xuICBib2xkRmlyc3RCdXR0b24/OiBib29sZWFuO1xuICB0d29Sb3dzT25Nb2JpbGU/OiBib29sZWFuO1xuICBhbmltYXRpb25TcGVlZD86ICdzdGFuZGFyZCcgfCAnc2xvdycgfCAnbm9uZSc7XG4gIGJ1dHRvbkJvcmRlclJhZGl1cz86ICdzbScgfCAnbWQnIHwgJ2xnJztcbn1cblxuaW50ZXJmYWNlIEltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkltYWdlUHJvbXB0Q2FyZD4ge1xuICB1cmw6IHN0cmluZztcbiAgbGlnaHRUZXh0PzogYm9vbGVhbjtcbiAgdGl0bGU6IHN0cmluZztcbiAgc3VidGl0bGU6IHN0cmluZ1tdO1xuICBzdGF0aWNTdWdnZXN0aW9uQ29waWVzOiBzdHJpbmdbXTtcbiAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiBVc2VyUXVlcnlCdXR0b25Db25maWc7XG4gIGZhbGxiYWNrQmFja2dyb3VuZENvbG9yPzogc3RyaW5nO1xufVxuXG5pbnRlcmZhY2UgU2luZ2xlSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2luZ2xlSW1hZ2VQcm9tcHQ+IHtcbiAgdGl0bGU6IHN0cmluZztcbiAgc3RhdGljU3VnZ2VzdGlvbkNvcGllczogc3RyaW5nW107XG4gIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzogVXNlclF1ZXJ5QnV0dG9uQ29uZmlnO1xufVxuXG5pbnRlcmZhY2UgU2VhcmNoRW50cnlQb2ludFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50PiB7XG4gIHNlYXJjaFplcm9TdGF0ZVZhcmlhbnQ6IFNlYXJjaFplcm9TdGF0ZVZhcmlhbnQ7XG4gIHNlYXJjaElucHV0VmFyaWFudDogU2VhcmNoSW5wdXRWYXJpYW50O1xuICBzZWFyY2hJY29uVmFyaWFudD86IFNlYXJjaEljb25WYXJpYW50O1xuICBzZWFyY2hJY29uU2l6ZT86IG51bWJlcjtcbiAgc3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZzogU3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZztcbiAgbGF5b3V0OiBTZWFyY2haZXJvU3RhdGVMYXlvdXQ7XG4gIHNlYXJjaEJveFBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIGFuaW1hdGlvblNwZWVkPzogJ3N0YW5kYXJkJyB8ICdzbG93JyB8ICdub25lJztcbiAgY29tcGFjdExhYmVsPzogc3RyaW5nO1xuICBpbml0aWFsU3VnZ2VzdGlvbnM/OiBzdHJpbmdbXTtcbiAgdXNpbmdQb3J0YWw/OiBib29sZWFuO1xuICBpbmNsdWRlU3VidGl0bGU/OiBib29sZWFuO1xufVxuXG5pbnRlcmZhY2UgTm9PcFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5Ob09wPiB7fVxuaW50ZXJmYWNlIFNlYXJjaE92ZXJsYXlIb3N0V2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlNlYXJjaE92ZXJsYXlIb3N0PiB7fVxuXG5pbnRlcmZhY2UgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnQ+IHtcbiAgc2VhcmNoSW5wdXRWYXJpYW50OiBTZWFyY2hJbnB1dFZhcmlhbnQ7XG4gIHNlYXJjaEZpbHRlclNpZGViYXJWYXJpYW50OiBTZWFyY2hGaWx0ZXJTaWRlYmFyVmFyaWFudDtcbiAgcHJvZHVjdEdyaWRWYXJpYW50OiBQcm9kdWN0R3JpZFZhcmlhbnQ7XG4gIHNlYXJjaEJveFBsYWNlaG9sZGVyOiBzdHJpbmc7XG4gIG5vUmVzdWx0c0ZvdW5kVGV4dD86IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBXaWRnZXRIZWFkZXJQcm9wcyBleHRlbmRzIFRlc3RQcm9wcyB7XG4gIHRpdGxlPzogc3RyaW5nO1xuICBsb2dvPzogc3RyaW5nO1xuICBsb2dvSGVpZ2h0PzogbnVtYmVyO1xuICBvcmdTaG9ydE5hbWU6IHN0cmluZztcbiAgdmFyaWFudD86IFNlYXJjaFByb21wdFZhcmlhbnQ7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVXNlclF1ZXJ5T3B0aW9ucyB7XG4gIGZvb3RlclZhcmlhbnQ/OiAnc3RhbmRhcmQnO1xuICByZXBseUJ1dHRvblRleHQ/OiBzdHJpbmc7XG4gIHJlcGx5QnV0dG9uSWNvbj86ICdtYWduaWZ5aW5nR2xhc3MnIHwgJ3NlbmQnIHwgJ3RoaW5NYWduaWZ5aW5nR2xhc3MnIHwgJ2FpLXNlYXJjaCc7XG59XG5cbnR5cGUgU2VhcmNoUHJvbXB0VmFyaWFudCA9ICdwcmltYXJ5JztcbmludGVyZmFjZSBTZWFyY2hQcm9tcHRXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2VhcmNoUHJvbXB0PiB7XG4gIHZhcmlhbnQ6IFNlYXJjaFByb21wdFZhcmlhbnQ7XG4gIHRpdGxlOiBzdHJpbmc7XG4gIGhlYWRlckNvbmZpZzogV2lkZ2V0SGVhZGVyUHJvcHM7XG4gIHN1Z2dlc3Rpb25CdXR0b25zOiB7XG4gICAgdmFyaWFudDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgaG92ZXJWYXJpYW50OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBidXR0b25UZXh0czogc3RyaW5nW107XG4gIH07XG4gIGZvb3RlckNvbmZpZz86IFVzZXJRdWVyeU9wdGlvbnM7XG59XG5cbnR5cGUgUGFnZVZhcmlhbnRCYXNlID0ge1xuICAvLyBVbmlxdWUgaWRlbnRpZmllciBmb3IgZWFjaCBlbnRyeSB3aXRoaW4gdGhlIHBhZ2VWYXJpYW50cy5cbiAgLy8gVXNlZnVsIHRvIGRpZmZlcmVudGlhdGUgd2hpY2ggdmFyaWFudCBpcyBsb2FkZWQgd2hlbiB0aGVyZSBhcmUgbXVsdGlwbGVzIG9mIGEgc2luZ2xlIHR5cGUuXG4gIHZhcmlhbnRJZDogc3RyaW5nO1xuICB3aWRnZXRNb3VudGluZzogV2lkZ2V0TW91bnRpbmdbXTtcbiAgdmFyaWFudFRlc3RzOiBQYWdlVmFyaWFudFRlc3RbXTtcbn07XG5cbnR5cGUgUExQUGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gIHZhcmlhbnRUeXBlOiAncGxwJztcbiAgcGxwSWRFeHRyYWN0b3I6IElkRXh0cmFjdG9yO1xufTtcblxudHlwZSBQRFBQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgdmFyaWFudFR5cGU6ICdwZHAnO1xuICBwYXJlbnRQcm9kdWN0SWRFeHRyYWN0b3I/OiBJZEV4dHJhY3RvcjtcbiAgcHJvZHVjdElkRXh0cmFjdG9yOiBJZEV4dHJhY3Rvcjtcbn07XG5cbnR5cGUgVmlzaXRQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgdmFyaWFudFR5cGU6ICdwYWdlX3Zpc2l0Jztcbn07XG5cbnR5cGUgT3RoZXJQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgdmFyaWFudFR5cGU6ICdvdGhlcic7XG59O1xuXG50eXBlIEhvbWVQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgdmFyaWFudFR5cGU6ICdob21lcGFnZSc7XG59O1xuXG50eXBlIFNlYXJjaFBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICB2YXJpYW50VHlwZTogJ3NlYXJjaCc7XG59O1xuXG5leHBvcnQgdHlwZSBQYWdlVmFyaWFudENvbmZpZyA9XG4gIHwgUExQUGFnZVZhcmlhbnRcbiAgfCBQRFBQYWdlVmFyaWFudFxuICB8IFZpc2l0UGFnZVZhcmlhbnRcbiAgfCBPdGhlclBhZ2VWYXJpYW50XG4gIHwgSG9tZVBhZ2VWYXJpYW50XG4gIHwgU2VhcmNoUGFnZVZhcmlhbnQ7XG5cbmV4cG9ydCB0eXBlIE9yZ1BhZ2VDb25maWcgPSB7XG4gIC8vIHBhZ2VWYXJpYW50cyBpcyBhIGxpc3Qgb2YgcGFnZSB2YXJpYW50cyB0aGF0IHdlIHN1cHBvcnQuXG4gIHBhZ2VWYXJpYW50czogUGFnZVZhcmlhbnRDb25maWdbXTtcbiAgLy8gd2lkZ2V0Q29uZmlncyBpcyBhIG5hbWVkIHNldCBvZiB3aWRnZXQgY29uZmlnc1xuICB3aWRnZXRDb25maWdzOiBSZWNvcmQ8c3RyaW5nLCBXaWRnZXRDb25maWdWMz47XG4gIG1vdW50aW5nQ29uZmlnczogUmVjb3JkPHN0cmluZywgV2lkZ2V0TW91bnRpbmdDb25maWc+O1xufTtcblxuZXhwb3J0IHR5cGUgT3JnQ29uZmlnID0gT3JnVUlDb25maWc7XG5cbmV4cG9ydCB7IENhdGVnb3J5RXh0cmFjdG9yVHlwZSwgQ29sb3JOYW1lcywgY29sb3JWYXIsIFBhZ2VWYXJpYW50VGVzdFR5cGUsIFdpZGdldFR5cGUgfTtcblxuZXhwb3J0IGludGVyZmFjZSBFbnZpdmVDb25maWcge1xuICBhbXBsaXR1ZGVBcGlLZXk/OiBzdHJpbmc7XG4gIGRhdGFSZXNpZGVuY3k/OiBzdHJpbmc7XG4gIGVudj86IHN0cmluZztcbiAgYmFzZVVybD86IHN0cmluZztcbiAgcmVhY3RBcHBOYW1lPzogc3RyaW5nO1xuICBjZG5Vcmw/OiBzdHJpbmc7XG4gIGNvbnRleHRTb3VyY2U/OiBzdHJpbmc7XG4gIG9yZ0xldmVsQXBpS2V5Pzogc3RyaW5nO1xuICBvcmdTaG9ydE5hbWU/OiBzdHJpbmc7XG4gIG9yZ0lkPzogc3RyaW5nO1xuICBpZGVudGlmeWluZ1ByZWZpeD86IHN0cmluZztcbiAgZmVhdHVyZU92ZXJyaWRlcz86IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+O1xuICB2YXJpYW50VXJsT3ZlcnJpZGU/OiBzdHJpbmc7XG4gIHZhcmlhbnRJbmZvT3ZlcnJpZGU/OiBhbnk7XG4gIHNob3c/OiBib29sZWFuO1xuICBwdWJsaWNLZXk/OiBzdHJpbmc7XG4gIGZlYXR1cmVHYXRlcz86IE9yZ0NvbmZpZ0ZlYXR1cmVHYXRlW107XG59XG5cbmV4cG9ydCB0eXBlIHtcbiAgQ2F0ZWdvcnlFeHRyYWN0b3IsXG4gIENoYXRNZXNzYWdlVmFyaWFudCxcbiAgQ2hhdE1lc3NhZ2VDb25maWcsXG4gIENoYXRQcmV2aWV3Q29uZmlnLFxuICBDaGF0UHJldmlld0lzTG9hZGluZ1dpZGdldENvbmZpZyxcbiAgQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb25XaWRnZXRDb25maWcsXG4gIENoYXRQcmV2aWV3UHJvZHVjdENvbXBhcmlzb25XaWRnZXRDb25maWcsXG4gIENoYXRQcmV2aWV3U3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZyxcbiAgU29jaWFsUHJvb2ZWMldpZGdldENvbmZpZyxcbiAgQ2hhdFByZXZpZXdIZWFkZXJWMkNvbmZpZyxcbiAgQ2hhdFByZXZpZXdWMldpZGdldENvbmZpZyxcbiAgQ2hhdFByZXZpZXdGb290ZXJDb25maWcsXG4gIENoYXRQcmV2aWV3SGVhZGVyQ29uZmlnLFxuICBDaGF0UHJldmlld1dpZGdldENvbmZpZyxcbiAgQ2hhdFByZXZpZXdWYXJpYW50LFxuICBDb2xvck1hcHBpbmcsXG4gIEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uLFxuICBGbG9hdGluZ0VudHJ5UG9pbnRDb25maWcsXG4gIEZ1bGxDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbixcbiAgSWRFeHRyYWN0b3IsXG4gIEltYWdlQmFubmVyV2lkZ2V0Q29uZmlnLFxuICBJbWFnZVByb21wdFdpZGdldENvbmZpZyxcbiAgSW5zZXJ0aW9uUG9pbnQsXG4gIE11bHRpSW1hZ2VDb25maWcsXG4gIE1lcmNoYW50VmFyaWFudFNldHRpbmdzLFxuICBTZWFyY2hDb25maWcsXG4gIE9yZ1VJQ29uZmlnLFxuICBQYWdlQ2FyZENvbmZpZyxcbiAgUGFnZUNhcmRWYXJpYW50LFxuICBQYWdlQ2FyZEhvdmVyVmFyaWFudCxcbiAgUGFnZUNhcmRJY29uVmFyaWFudCxcbiAgUHJvZHVjdENhcmRDb25maWcsXG4gIFByb2R1Y3RDYXJkVmFyaWFudCxcbiAgUHJvZHVjdENhcmRMYXlvdXRWYXJpYW50LFxuICBQcm9kdWN0Q2FyZEhvdmVyVmFyaWFudCxcbiAgUHJvZHVjdExpbmtIb3ZlclZhcmlhbnQsXG4gIFByb2R1Y3RMaW5rSWNvblZhcmlhbnQsXG4gIFByb2R1Y3RMaW5rVmFyaWFudCxcbiAgUHJvZHVjdFJldmlld0NvbmZpZyxcbiAgUHJvZHVjdFJldmlld1N0eWxlVmFyaWFudCxcbiAgUHJvZHVjdFJldmlld0NvbG9yVmFyaWFudCxcbiAgU2VhcmNoUHJvbXB0VmFyaWFudCxcbiAgU2VhcmNoUHJvbXB0V2lkZ2V0Q29uZmlnLFxuICBTZWFyY2hSZXN1bHRzRW50cnlQb2ludFdpZGdldENvbmZpZyxcbiAgU2hvd0Zsb2F0aW5nQnV0dG9uT3B0aW9ucyxcbiAgU2luZ2xlSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcsXG4gIFNlYXJjaEVudHJ5UG9pbnRXaWRnZXRDb25maWcsXG4gIFNlYXJjaE92ZXJsYXlIb3N0V2lkZ2V0Q29uZmlnLFxuICBTb2NpYWxQcm9vZkNvbmZpZyxcbiAgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLFxuICBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnLFxuICBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudCxcbiAgVVJMVGVzdCxcbiAgVXNlclF1ZXJ5QnV0dG9uQ29uZmlnLFxuICBVc2VyUXVlcnlCdXR0b25JY29uLFxuICBXZWxjb21lU2VjdGlvbkNvbmZpZyxcbiAgV2VsY29tZVNlY3Rpb25WYXJpYW50LFxuICBXZWxjb21lU2VjdGlvbkNvbG9yVmFyaWFudCxcbiAgV2lkZ2V0Q29uZmlnLFxuICBXcmFwcGluZ0VsZW1lbnQsXG4gIFNlYXJjaENhcmRWYXJpYW50LFxuICBXaWRnZXREaXNwbGF5VGVzdHMsXG4gIE5vT3BXaWRnZXRDb25maWcsXG4gIFdpZGdldE1vdW50aW5nLFxuICBTdGF0aWNXaWRnZXRNb3VudGluZyxcbiAgRHluYW1pY1dpZGdldE1vdW50aW5nLFxuICBQRFBQYWdlVmFyaWFudCxcbiAgUExQUGFnZVZhcmlhbnQsXG4gIFZpc2l0UGFnZVZhcmlhbnQsXG4gIE90aGVyUGFnZVZhcmlhbnQsXG4gIEhvbWVQYWdlVmFyaWFudCxcbiAgU2VhcmNoUGFnZVZhcmlhbnQsXG4gIE51bVJvd3MsXG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7QUFtY0EsSUFBSywwRUFBTDtBQUNFO0FBQ0E7O0VBRkc7QUE2QkwsSUFBSyxzRUFBTDtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTs7RUFsQkc7QUFxS0wsSUFBSyxvREFBTDtBQUNFO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBO0FBQ0E7QUFDQTtBQUNBOztFQWhCRyJ9
|
|
@@ -8,6 +8,7 @@ import { ChatState } from "../types/custservice-types.cjs";
|
|
|
8
8
|
import { SuggestionBarLocationForMetrics } from "../types/suggestionBarV2-types.cjs";
|
|
9
9
|
import { TestProps } from "../types/test-types.cjs";
|
|
10
10
|
import { OrgConfigFeatureGate } from "../application/models/api/orgConfigResults.cjs";
|
|
11
|
+
import { WidgetConfigV3 } from "./typesV3.cjs";
|
|
11
12
|
import { PageVisitCategory, SupportedEventProductCategory } from "@spiffy-ai/commerce-api-client";
|
|
12
13
|
|
|
13
14
|
//#region src/contexts/types.d.ts
|
|
@@ -299,7 +300,9 @@ interface SearchConfig {
|
|
|
299
300
|
recommendedProducts?: string[];
|
|
300
301
|
recommendedProductsHeading?: string;
|
|
301
302
|
}
|
|
303
|
+
type ConfigVersion = 'v3' | 'deprecated' | undefined;
|
|
302
304
|
type OrgUIConfig = {
|
|
305
|
+
version?: ConfigVersion;
|
|
303
306
|
shortName: string;
|
|
304
307
|
id?: string;
|
|
305
308
|
floatingEntrypointConfig?: FloatingEntryPointConfig;
|
|
@@ -347,8 +350,6 @@ type WrappingElement = {
|
|
|
347
350
|
insertionType: DOMInsertionType;
|
|
348
351
|
};
|
|
349
352
|
declare enum PageVariantTestType {
|
|
350
|
-
ShopifyPLP = "ShopifyPLP",
|
|
351
|
-
ShopifyPDP = "ShopifyPDP",
|
|
352
353
|
PageCategory = "PageCategory",
|
|
353
354
|
CatalogCategory = "CatalogCategory",
|
|
354
355
|
TopCatalogCategory = "TopCatalogCategory",
|
|
@@ -365,6 +366,7 @@ declare enum PageVariantTestType {
|
|
|
365
366
|
isProductComparison = "isProductComparison",
|
|
366
367
|
Fallback = "Fallback",
|
|
367
368
|
UrlResolver = "UrlResolver",
|
|
369
|
+
isScreenWidthSmaller = "isScreenWidthSmaller",
|
|
368
370
|
Null = "null",
|
|
369
371
|
}
|
|
370
372
|
interface BasePageVariantTest<T extends PageVariantTestType> {
|
|
@@ -385,8 +387,6 @@ interface InCollectionTest extends BasePageVariantTest<PageVariantTestType.InCol
|
|
|
385
387
|
interface HasMerchantTagTest extends BasePageVariantTest<PageVariantTestType.HasMerchantTag> {
|
|
386
388
|
merchantTags: string[];
|
|
387
389
|
}
|
|
388
|
-
interface ShopifyPLPURLTest extends BasePageVariantTest<PageVariantTestType.ShopifyPLP> {}
|
|
389
|
-
interface ShopifyPDPURLTest extends BasePageVariantTest<PageVariantTestType.ShopifyPDP> {}
|
|
390
390
|
interface PageCategoryTest extends BasePageVariantTest<PageVariantTestType.PageCategory> {
|
|
391
391
|
extractor: CategoryExtractor;
|
|
392
392
|
}
|
|
@@ -410,7 +410,10 @@ interface IsLoadingTest extends BasePageVariantTest<PageVariantTestType.isLoadin
|
|
|
410
410
|
interface IsProductComparison extends BasePageVariantTest<PageVariantTestType.isProductComparison> {}
|
|
411
411
|
interface PageFallbackTest extends BasePageVariantTest<PageVariantTestType.Fallback> {}
|
|
412
412
|
interface UrlResolverTest extends BasePageVariantTest<PageVariantTestType.UrlResolver> {}
|
|
413
|
-
|
|
413
|
+
interface IsScreenWidthSmallerTest extends BasePageVariantTest<PageVariantTestType.isScreenWidthSmaller> {
|
|
414
|
+
breakpoint: number;
|
|
415
|
+
}
|
|
416
|
+
type PageVariantTest = PageCategoryTest | CatalogCategoryTest | TopCatalogCategory | HasReviewsTest | InCollectionTest | HasMerchantTagTest | FeatureGateTest | ProductIdTest | PlpIdTest | QueryParamTest | UserHasInteractedTest | UserHasNotInteractedTest | IsLoadingTest | IsProductComparison | PageFallbackTest | UrlResolverTest | IsScreenWidthSmallerTest;
|
|
414
417
|
/**
|
|
415
418
|
* Configuration for the social proof embedded widget
|
|
416
419
|
*
|
|
@@ -669,7 +672,7 @@ type SearchPageVariant = PageVariantBase & {
|
|
|
669
672
|
type PageVariantConfig = PLPPageVariant | PDPPageVariant | VisitPageVariant | OtherPageVariant | HomePageVariant | SearchPageVariant;
|
|
670
673
|
type OrgPageConfig = {
|
|
671
674
|
pageVariants: PageVariantConfig[];
|
|
672
|
-
widgetConfigs: Record<string,
|
|
675
|
+
widgetConfigs: Record<string, WidgetConfigV3>;
|
|
673
676
|
mountingConfigs: Record<string, WidgetMountingConfig>;
|
|
674
677
|
};
|
|
675
678
|
type OrgConfig = OrgUIConfig;
|
|
@@ -683,6 +686,7 @@ interface EnviveConfig {
|
|
|
683
686
|
contextSource?: string;
|
|
684
687
|
orgLevelApiKey?: string;
|
|
685
688
|
orgShortName?: string;
|
|
689
|
+
orgId?: string;
|
|
686
690
|
identifyingPrefix?: string;
|
|
687
691
|
featureOverrides?: Record<string, boolean>;
|
|
688
692
|
variantUrlOverride?: string;
|
|
@@ -692,5 +696,5 @@ interface EnviveConfig {
|
|
|
692
696
|
featureGates?: OrgConfigFeatureGate[];
|
|
693
697
|
}
|
|
694
698
|
//#endregion
|
|
695
|
-
export { type CategoryExtractor, CategoryExtractorType, type ChatMessageConfig, type ChatMessageVariant, type ChatPreviewConfig, type ChatPreviewFooterConfig, type ChatPreviewHeaderConfig, type ChatPreviewHeaderV2Config, type ChatPreviewIsLoadingWidgetConfig, type ChatPreviewPostInteractionWidgetConfig, type ChatPreviewProductComparisonWidgetConfig, type ChatPreviewSuggestionButtonConfig, type ChatPreviewV2WidgetConfig, type ChatPreviewVariant, type ChatPreviewWidgetConfig, type ColorMapping, ColorNames, type CustomerServiceIntegration, type DynamicWidgetMounting, EnviveConfig, FilterAttribute, type FloatingEntryPointConfig, type FullCustomerServiceIntegration, type HomePageVariant, type IdExtractor, type ImageBannerWidgetConfig, type ImagePromptWidgetConfig, type InsertionPoint, type MultiImageConfig, type NoOpWidgetConfig, type NumRows, OrgConfig, OrgPageConfig, type OrgUIConfig, type OtherPageVariant, type PDPPageVariant, type PLPPageVariant, type PageCardConfig, type PageCardHoverVariant, type PageCardIconVariant, type PageCardVariant, PageVariantConfig, PageVariantTest, PageVariantTestType, type ProductCardConfig, type ProductCardHoverVariant, type ProductCardLayoutVariant, type ProductCardVariant, ProductGridVariant, type ProductLinkHoverVariant, type ProductLinkIconVariant, type ProductLinkVariant, type ProductReviewColorVariant, type ProductReviewConfig, type ProductReviewStyleVariant, type SearchCardVariant, type SearchEntryPointWidgetConfig, SearchFilterSidebarVariant, SearchIconVariant, SearchInputVariant, type SearchOverlayHostWidgetConfig, type SearchPageVariant, type SearchPromptVariant, type SearchPromptWidgetConfig, type SearchResultsEntryPointWidgetConfig, SearchZeroStateLayout, SearchZeroStateVariant, type ShowFloatingButtonOptions, type SingleImagePromptWidgetConfig, type SocialProofConfig, type SocialProofV2WidgetConfig, type StaticWidgetMounting, type SuggestionBarWidgetV2Config, type SuggestionButtonConfig, type SuggestionButtonVariant, type URLTest, type UserQueryButtonConfig, type UserQueryButtonIcon, UserQueryOptions, type VisitPageVariant, type WelcomeSectionColorVariant, type WelcomeSectionConfig, type WelcomeSectionVariant, type WidgetConfig, type WidgetDisplayTests, WidgetHeaderProps, type WidgetMounting, WidgetMountingConfig, WidgetType, type WrappingElement, colorVar };
|
|
696
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRleHRzL3R5cGVzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2NoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uJztcbmltcG9ydCB7IENvbG9yTWFwcGluZywgQ29sb3JOYW1lcywgY29sb3JWYXIgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2NvbG9yc0NvbmZpZyc7XG5pbXBvcnQgeyBGZWF0dXJlR2F0ZXMgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2ZlYXR1cmVHYXRlcyc7XG5pbXBvcnQgeyBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbk1vZGUsIEN1c3RvbWVyU2VydmljZVR5cGUgfSBmcm9tICdzcmMvdHlwZXMvY3VzdG9tZXJTZXJ2aWNlJztcbmltcG9ydCB7IEdyaWRJbnNlcnRpb25UeXBlIH0gZnJvbSAnc3JjL21lcmNoYW50cy9ncmlkSW5zZXJ0aW9uJztcbmltcG9ydCB7IERPTUluc2VydGlvblR5cGUgfSBmcm9tICdzcmMvbWVyY2hhbnRzL2RvbUluc2VydGlvbic7XG5pbXBvcnQgdHlwZSB7IFBhZ2VWaXNpdENhdGVnb3J5LCBTdXBwb3J0ZWRFdmVudFByb2R1Y3RDYXRlZ29yeSB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyBDaGF0U3RhdGUgfSBmcm9tICdzcmMvdHlwZXMvY3VzdHNlcnZpY2UtdHlwZXMnO1xuaW1wb3J0IHsgU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcyB9IGZyb20gJ3NyYy90eXBlcy9zdWdnZXN0aW9uQmFyVjItdHlwZXMnO1xuaW1wb3J0IHsgVGVzdFByb3BzIH0gZnJvbSAnc3JjL3R5cGVzL3Rlc3QtdHlwZXMnO1xuaW1wb3J0IHsgT3JnQ29uZmlnRmVhdHVyZUdhdGUgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9vcmdDb25maWdSZXN1bHRzJztcbnR5cGUgU2hvd0Zsb2F0aW5nQnV0dG9uT3B0aW9ucyA9ICdhbHdheXMnIHwgJ2FmdGVyLWludGVyYWN0aW9uLW9uLW1vYmlsZS1hbHdheXMtZGVza3RvcCcgfCAnYWZ0ZXItaW50ZXJhY3Rpb24tYW55d2hlcmUnIHwgJ25ldmVyJztcbnR5cGUgRmxvYXRpbmdFbnRyeVBvaW50Q29uZmlnID0ge1xuICAgIHBvc2l0aW9uOiAnYm90dG9tLWxlZnQnIHwgJ21pZGRsZS1sZWZ0JyB8ICdtaWRkbGUtcmlnaHQnIHwgJ2JvdHRvbS1yaWdodCc7XG4gICAgZXhwYW5zaW9uVGV4dD86IHtcbiAgICAgICAgcGRwOiBzdHJpbmc7XG4gICAgICAgIHBscDogc3RyaW5nO1xuICAgIH07XG4gICAgbWluaW1pemVkQ29sb3I6IHN0cmluZztcbiAgICBleHBhbmRlZENvbG9yOiBzdHJpbmc7XG4gICAgdGV4dENvbG9yPzogc3RyaW5nO1xuICAgIHNob3dPcHRpb246IFNob3dGbG9hdGluZ0J1dHRvbk9wdGlvbnM7XG4gICAgaWNvblNWR1NyYz86IHN0cmluZztcbiAgICBpY29uU2l6ZT86IG51bWJlcjtcbiAgICBpY29uU3Ryb2tlQ29sb3I/OiBzdHJpbmc7XG4gICAgaWNvbkZpbGxDb2xvcj86IHN0cmluZztcbiAgICBoZWlnaHQ/OiBudW1iZXI7XG4gICAgZm9udFNpemU/OiBudW1iZXI7XG59O1xudHlwZSBXZWxjb21lU2VjdGlvblZhcmlhbnQgPSAnc3RhbmRhcmQnIHwgJ291dGxpbmVkJztcbnR5cGUgV2VsY29tZVNlY3Rpb25Db2xvclZhcmlhbnQgPSAnc3RhbmRhcmQnIHwgJ2FjY2VudCcgfCAnYnJhbmQnIHwgJ2xpZ2h0JztcbnR5cGUgV2VsY29tZVNlY3Rpb25Db25maWcgPSB7XG4gICAgdmFyaWFudDogV2VsY29tZVNlY3Rpb25WYXJpYW50O1xuICAgIGNvbG9yVmFyaWFudD86IFdlbGNvbWVTZWN0aW9uQ29sb3JWYXJpYW50O1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIHN1YnRpdGxlPzogc3RyaW5nO1xuICAgIGljb25OYW1lPzogc3RyaW5nO1xuICAgIGltYWdlU3JjPzogc3RyaW5nO1xufTtcbnR5cGUgQ2hhdFByZXZpZXdDb25maWcgPSB7XG4gICAgdmFyaWFudDogJ2ZsYXQnIHwgJ2ZpbGxlZCcgfCAnb3V0bGluZWQnO1xuICAgIGxhcmdlUHJvZHVjdENvbXBhcmlzb24/OiBib29sZWFuO1xuICAgIGZpbGxlZEJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICAgIGljb25GaWxsQ29sb3I6IHN0cmluZztcbiAgICBidXR0b25UZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgYnV0dG9uVGV4dFNlY29uZGFyeUNvbG9yPzogc3RyaW5nO1xuICAgIGJ1dHRvblRleHRIb3ZlckNvbG9yPzogc3RyaW5nO1xuICAgIGJ1dHRvbkJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICAgIGJ1dHRvbkJhY2tncm91bmRIb3ZlckNvbG9yOiBzdHJpbmc7XG4gICAgYnV0dG9uQm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gICAgYnV0dG9uQm9yZGVySG92ZXJDb2xvcj86IHN0cmluZztcbiAgICBjb3BpZXM6IHtcbiAgICAgICAgcGRwOiBzdHJpbmdbXTtcbiAgICAgICAgcGxwOiBzdHJpbmdbXTtcbiAgICB9O1xuICAgIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM/OiB7XG4gICAgICAgIHBkcDogc3RyaW5nW107XG4gICAgICAgIHBscDogc3RyaW5nW107XG4gICAgfTtcbiAgICBzdGF0aWNQTFBJbWFnZXM/OiBzdHJpbmdbXTtcbiAgICBmb290ZXJDb25maWc/OiBDaGF0UHJldmlld0Zvb3RlckNvbmZpZztcbiAgICBoZWFkZXJDb25maWc/OiBDaGF0UHJldmlld0hlYWRlckNvbmZpZztcbiAgICB0b3BNYXJnaW4/OiBudW1iZXI7XG59O1xudHlwZSBDaGF0UHJldmlld0hlYWRlckNvbmZpZyA9IHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBpbWFnZVNyYz86IHN0cmluZztcbiAgICBpbWFnZUhlaWdodD86IG51bWJlcjtcbiAgICBzcGFya2xlc0NvbG9yPzogc3RyaW5nO1xuICAgIGZvbnRTaXplPzogc3RyaW5nO1xuICAgIGljb25XaWR0aD86IHN0cmluZztcbiAgICBpY29uSGVpZ2h0Pzogc3RyaW5nO1xufTtcbmludGVyZmFjZSBDaGF0UHJldmlld0Zvb3RlckNvbmZpZyB7XG4gICAgaGFzRmFkZT86IGJvb2xlYW47XG4gICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ/OiAnZGFyaycgfCAnbGlnaHQnIHwgJ291dGxpbmVkJztcbiAgICBzdWdnZXN0aW9uc0JhY2tncm91bmQ/OiBzdHJpbmc7XG4gICAgcmVwbHlCdXR0b25JY29uPzogJ3NlbmQnIHwgJ21hZ25pZnlpbmdHbGFzcycgfCAndGhpbk1hZ25pZnlpbmdHbGFzcycgfCAnc2VhcmNoSWNvbic7XG4gICAgcmVwbHlCdXR0b25UZXh0Pzogc3RyaW5nO1xuICAgIHJlcGx5SW5wdXRIYXNTaGFkb3c/OiBib29sZWFuO1xuICAgIHJlcGx5SW5wdXRIYXNCb3JkZXI/OiBib29sZWFuO1xuICAgIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbn1cbnR5cGUgUHJvZHVjdFJldmlld1N0eWxlVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAnYm9yZGVyZWQnO1xudHlwZSBQcm9kdWN0UmV2aWV3Q29sb3JWYXJpYW50ID0gJ25ldXRyYWwnIHwgJ2JyYW5kJyB8ICdwcmVtaXVtJztcbmludGVyZmFjZSBQcm9kdWN0UmV2aWV3Q29uZmlnIHtcbiAgICBzdHlsZVZhcmlhbnQ6IFByb2R1Y3RSZXZpZXdTdHlsZVZhcmlhbnQ7XG4gICAgY29sb3JWYXJpYW50OiBQcm9kdWN0UmV2aWV3Q29sb3JWYXJpYW50O1xuICAgIHZlcmlmaWVkQnV5ZXJUaXRsZTogc3RyaW5nO1xuICAgIGluY2VudGl2aXplZFJldmlld0ZsYWc/OiBib29sZWFuO1xufVxudHlwZSBQYWdlQ2FyZFZhcmlhbnQgPSAnZmlsbGVkJyB8ICdvdXRsaW5lZCcgfCAnbWluaW1hbCc7XG50eXBlIFBhZ2VDYXJkSG92ZXJWYXJpYW50ID0gJ25vbmUnIHwgJ3NoYWRvdycgfCAnbGlmdCc7XG50eXBlIFBhZ2VDYXJkSWNvblZhcmlhbnQgPSAncHJpbWFyeScgfCAnYWNjZW50JyB8ICdiYWNrZ3JvdW5kJyB8ICdub25lJztcbnR5cGUgUGFnZUNhcmRDb25maWcgPSB7XG4gICAgdmFyaWFudDogUGFnZUNhcmRWYXJpYW50O1xuICAgIGhvdmVyVmFyaWFudDogUGFnZUNhcmRIb3ZlclZhcmlhbnQ7XG4gICAgaWNvblZhcmlhbnQ6IFBhZ2VDYXJkSWNvblZhcmlhbnQ7XG59O1xudHlwZSBQcm9kdWN0Q2FyZFZhcmlhbnQgPSAnZmlsbGVkJyB8ICdib3JkZXJlZCcgfCAnbWluaW1hbCcgfCAndHJhbnNwYXJlbnRCb3JkZXJlZCc7XG50eXBlIFByb2R1Y3RDYXJkSG92ZXJWYXJpYW50ID0gJ2JhY2tncm91bmREYXJrJyB8ICdub25lJztcbnR5cGUgUHJvZHVjdENhcmRMYXlvdXRWYXJpYW50ID0gJ25vcm1hbCcgfCAndGFsbCcgfCAnc3F1YXJlJztcbmludGVyZmFjZSBQcm9kdWN0Q2FyZENvbmZpZyB7XG4gICAgdmFyaWFudDogUHJvZHVjdENhcmRWYXJpYW50O1xuICAgIGhvdmVyVmFyaWFudDogUHJvZHVjdENhcmRIb3ZlclZhcmlhbnQ7XG4gICAgbGF5b3V0VmFyaWFudDogUHJvZHVjdENhcmRMYXlvdXRWYXJpYW50O1xuICAgIHByaWNlUHJlZml4Pzogc3RyaW5nO1xufVxudHlwZSBDU1N3aXRjaENvbmZpZyA9IHtcbiAgICB2YXJpYW50OiAnYXR0YWNoZWQnIHwgJ2RldGFjaGVkJztcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcbiAgICBib3JkZXJDb2xvcjogc3RyaW5nO1xuICAgIHNlbGVjdGVkVGV4dENvbG9yOiBzdHJpbmc7XG4gICAgc2VsZWN0ZWRCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gICAgdW5zZWxlY3RlZFRleHRDb2xvcjogc3RyaW5nO1xuICAgIHVuc2VsZWN0ZWRCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gICAgc3VwcG9ydFRpdGxlPzogc3RyaW5nO1xuICAgIHNwaWZmeVRpdGxlPzogc3RyaW5nO1xuICAgIHNwaWZmeVRpdGxlSGFzTG9nbz86IGJvb2xlYW47XG59O1xudHlwZSBDaGF0SGVhZGVyQ29uZmlnID0ge1xuICAgIGNvbGxhcHNlZENvbG9yOiBzdHJpbmc7XG4gICAgZXhwYW5kZWRDb2xvcjogc3RyaW5nO1xuICAgIGNoZXZyb25Db2xvcjogc3RyaW5nO1xuICAgIGltYWdlU3JjPzogc3RyaW5nO1xuICAgIGljb24/OiBSZWFjdC5GdW5jdGlvbkNvbXBvbmVudDxSZWFjdC5TVkdQcm9wczxTVkdTVkdFbGVtZW50Pj47XG4gICAgY2xvc2VJY29uPzogUmVhY3QuRnVuY3Rpb25Db21wb25lbnQ8UmVhY3QuU1ZHUHJvcHM8U1ZHU1ZHRWxlbWVudD4+O1xuICAgIGJvcmRlckJvdHRvbT86IHN0cmluZztcbiAgICBoZWFkZXJCYXJIZWlnaHRQYXJ0aWFsVmlldzogbnVtYmVyO1xuICAgIGhlYWRlckJhckhlaWdodEZ1bGxWaWV3OiBudW1iZXI7XG4gICAgY3VzdG9tZXJTdXBwb3J0U3dpdGNoQ29uZmlnPzogQ1NTd2l0Y2hDb25maWc7XG59O1xudHlwZSBTaW1wbGVDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiA9IHtcbiAgICBpbnRlZ3JhdGlvbk1vZGU6IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZTtcbiAgICBwcm92aWRlcjogQ3VzdG9tZXJTZXJ2aWNlVHlwZTtcbiAgICB1c2VVbmlmaWVkQnV0dG9uPzogYm9vbGVhbjtcbiAgICBtYXhmaWxlVXBsb2FkU2l6ZT86IG51bWJlcjtcbn07XG50eXBlIEZ1bGxDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiA9IHtcbiAgICBpbnRlZ3JhdGlvbk1vZGU6IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZTtcbiAgICBwcm92aWRlcjogQ3VzdG9tZXJTZXJ2aWNlVHlwZTtcbiAgICB1c2VVbmlmaWVkQnV0dG9uPzogYm9vbGVhbjtcbiAgICBjaGF0RW5hYmxlZER1cmluZ0J1c2luZXNzSG91cnM/OiBib29sZWFuO1xuICAgIHNob3dOYW1lSW5wdXQ/OiBib29sZWFuO1xuICAgIGZvcm1BaU5hbWU/OiBzdHJpbmc7XG4gICAgd2VsY29tZVRpdGxlOiBzdHJpbmc7XG4gICAgd2VsY29tZURlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgc2hvd1dlbGNvbWVPbkZvcm0/OiBib29sZWFuO1xuICAgIGNvbnRhY3RTdWJqZWN0T3B0aW9ucz86IHN0cmluZ1tdO1xuICAgIGdldEN1c3RvbVdhaXRpbmdNZXNzYWdlPzogKG5hbWU/OiBzdHJpbmcpID0+IHN0cmluZztcbiAgICB3aXRoaW5CdXNpbmVzc0hvdXJzTWVzc2FnZT86IHN0cmluZztcbiAgICB3aXRoaW5CdXNpbmVzc0hvdXJzV2FpdGluZ01lc3NhZ2U/OiBzdHJpbmc7XG4gICAgb3V0c2lkZUJ1c2luZXNzSG91cnNNZXNzYWdlPzogc3RyaW5nO1xuICAgIG91dHNpZGVCdXNpbmVzc0hvdXJzV2FpdGluZ01lc3NhZ2U/OiBzdHJpbmc7XG4gICAgd2l0aGluQnVzaW5lc3NIb3Vyc0Zvcm1NZXNzYWdlPzogc3RyaW5nO1xuICAgIG91dHNpZGVCdXNpbmVzc0hvdXJzRm9ybU1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgc3VnZ2VzdGVkQUlRdWVzdGlvbnM/OiBzdHJpbmdbXTtcbiAgICBidXNpbmVzc0hvdXJzUG9sbGluZz86IG51bWJlcjtcbiAgICBtYXhmaWxlVXBsb2FkU2l6ZT86IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIEJFLlxuICAgICAqL1xuICAgIGJ1c2luZXNzSG91cnNTdGFydFVUQz86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIEJFLlxuICAgICAqL1xuICAgIGJ1c2luZXNzSG91cnNFbmRVVEM/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgVGhpcyBpcyBoYW5kbGVkIGJ5IHRoZSBCRS5cbiAgICAgKi9cbiAgICBidXNpbmVzc0hvdXJzVGltZXpvbmU/OiBzdHJpbmc7XG4gICAgc2hvd0FJU3VnZ2VzdGlvbnNXaXRoaW5CdXNpbmVzc0hvdXJzPzogYm9vbGVhbjtcbiAgICB3YWl0aW5nTWVzc2FnZVBvc2l0aW9uPzogJ0JFRk9SRV9NRVNTQUdFUycgfCAnQUZURVJfTUVTU0FHRVMnO1xuICAgIGxlZ2FsTWVzc2FnZT86IHN0cmluZztcbiAgICB3aXRoaW5CdXNpbmVzc0hvdXJzSW5pdGlhbFN0YXRlPzogQ2hhdFN0YXRlO1xuICAgIG91dHNpZGVCdXNpbmVzc0hvdXJzSW5pdGlhbFN0YXRlPzogQ2hhdFN0YXRlO1xuICAgIHdpdGhpbkJ1c2luZXNzSG91cnNCdXR0b250ZXh0Pzogc3RyaW5nO1xuICAgIG91dHNpZGVCdXNpbmVzc0hvdXJzQnV0dG9udGV4dD86IHN0cmluZztcbiAgICByZW9wZW5DaGF0TWVzc2FnZTogc3RyaW5nO1xufTtcbnR5cGUgQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb24gPSBTaW1wbGVDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiB8IEZ1bGxDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbjtcbnR5cGUgQ29udmVyc2F0aW9uYWxTZWFjaCA9IHtcbiAgICBlbmFibGVkPzogYm9vbGVhbjtcbiAgICByZXBseUlucHV0PzogUmVwbHlJbnB1dENvbmZpZztcbiAgICBzdWdnZXN0aW9ucz86IHN0cmluZ1tdO1xuICAgIGVudHJ5cG9pbnRCZ0NvbG9yPzogc3RyaW5nO1xuICAgIGVudHJ5cG9pbnRUZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludEJ0bkNvbG9yPzogc3RyaW5nO1xuICAgIGVudHJ5cG9pbnRCdG5UZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludEJ0bkJvcmRlckNvbG9yPzogc3RyaW5nO1xuICAgIGVudHJ5cG9pbnRDb250YWluZXI/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludFRyaWdnZXI/OiBzdHJpbmc7XG4gICAgcHJvZHVjdEdyaWRDb250YWluZXI/OiBzdHJpbmc7XG4gICAgZ2VuZXJhbFNlYXJjaEJ0bj86IHN0cmluZztcbiAgICBwYWdlQ29udGVudD86IHN0cmluZztcbiAgICBzZWFyY2hDb250ZW50Pzogc3RyaW5nO1xuICAgIHNvcnRpbmdUaXRsZT86IHN0cmluZztcbiAgICBzZWxlY3Rpb25UaXRsZT86IHN0cmluZztcbiAgICBzb3J0aW5nRm9udD86IHN0cmluZztcbiAgICBvcHRpb25zRm9udD86IHN0cmluZztcbiAgICBzb3J0aW5nQnV0dG9uVGV4dD86IHN0cmluZztcbn07XG50eXBlIENoYXRNZXNzYWdlVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAncHJlbWl1bScgfCAnYWNjZW50JztcbmludGVyZmFjZSBDaGF0TWVzc2FnZUNvbmZpZyB7XG4gICAgYXNzaXN0YW50Q2hhdFRpdGxlOiBzdHJpbmc7XG4gICAgdmFyaWFudDogQ2hhdE1lc3NhZ2VWYXJpYW50O1xuICAgIHByb2R1Y3RMaW5rOiB7XG4gICAgICAgIHZhcmlhbnQ6IFByb2R1Y3RMaW5rVmFyaWFudDtcbiAgICAgICAgaG92ZXJWYXJpYW50OiBQcm9kdWN0TGlua0hvdmVyVmFyaWFudDtcbiAgICAgICAgaWNvblZhcmlhbnQ6IFByb2R1Y3RMaW5rSWNvblZhcmlhbnQ7XG4gICAgfTtcbn1cbmludGVyZmFjZSBSZXBseUlucHV0Q29uZmlnIHtcbiAgICBzaXplPzogJ21kJyB8ICdsZyc7XG4gICAgc2VuZEljb246ICdhcnJvd1VwJyB8ICdzZW5kJyB8ICdzZWFyY2gnO1xuICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xufVxuaW50ZXJmYWNlIFBhcnRpYWxWaWV3Q29uZmlnIHtcbiAgICBtYXhIZWlnaHQ6IG51bWJlcjtcbiAgICBib3JkZXJSYWRpdXM/OiBzdHJpbmc7XG59XG50eXBlIFByb2R1Y3RMaW5rSWNvblZhcmlhbnQgPSAnYWNjZW50UHJpbWFyeScgfCAnYmFja2dyb3VuZFByaW1hcnknIHwgJ2JhY2tncm91bmRQcmltYXJ5RGFyaycgfCAnYm9yZGVyTGlnaHQnIHwgJ2JhY2tncm91bmRTYXR1cmF0ZWQnO1xudHlwZSBQcm9kdWN0TGlua1ZhcmlhbnQgPSAndGV4dExpbmsnO1xudHlwZSBQcm9kdWN0TGlua0hvdmVyVmFyaWFudCA9ICdiYWNrZ3JvdW5kRGFyayc7XG50eXBlIFNlYXJjaENhcmRWYXJpYW50ID0gJ2JhY2tncm91bmRQcmltYXJ5JyB8ICdiYWNrZ3JvdW5kU2Vjb25kYXJ5JyB8ICdiYWNrZ3JvdW5kU2Vjb25kYXJ5RGFyaycgfCAnYmFja2dyb3VuZExpZ2h0JyB8ICdiYWNrZ3JvdW5kU2F0dXJhdGVkJztcbnR5cGUgU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQgPSAnb3V0bGluZWQnIHwgJ291dGxpbmVkTGlnaHQnIHwgJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAndGVydGlhcnknIHwgJ2RhcmsnIHwgJ2RhcmtBY2NlbnQnIHwgJ2RhcmtQcmltYXJ5JyB8ICdzZWNvbmRhcnlEYXJrJyB8ICdzZWNvbmRhcnlBY2NlbnQnIHwgJ3RyYW5zcGFyZW50JyB8ICd0cmFuc3BhcmVudERhcmsnIHwgJ2xpZ2h0RGFyayc7XG5pbnRlcmZhY2UgU3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZyB7XG4gICAgdmFyaWFudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGhvdmVyVmFyaWFudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGFuc3dlclZhcmlhbnQ/OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBib3JkZXJSYWRpdXM/OiAnc20nIHwgJ21kJyB8ICdsZyc7XG59XG50eXBlIE51bVJvd3MgPSAnZGVmYXVsdCcgfCAnYWx3YXlzT25lUm93JyB8ICdhbHdheXNUd29Sb3dzJyB8ICd0d29Sb3dzT25Nb2JpbGUnO1xuaW50ZXJmYWNlIEFscGhhYmV0aWNGaWx0ZXJTb3J0aW5nIHtcbiAgICB0eXBlOiAnYWxwaGFiZXRpYyc7XG59XG5pbnRlcmZhY2UgUHJvZHVjdENvdW50RmlsdGVyU29ydGluZyB7XG4gICAgdHlwZTogJ3Byb2R1Y3RDb3VudCc7XG59XG5pbnRlcmZhY2UgQ3VzdG9tRmlsdGVyU29ydGluZyB7XG4gICAgdHlwZTogJ2N1c3RvbSc7XG4gICAgbWFwOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+O1xufVxudHlwZSBGaWx0ZXJTb3J0aW5nID0gQWxwaGFiZXRpY0ZpbHRlclNvcnRpbmcgfCBQcm9kdWN0Q291bnRGaWx0ZXJTb3J0aW5nIHwgQ3VzdG9tRmlsdGVyU29ydGluZztcbmludGVyZmFjZSBCYXNlRmlsdGVyQ29uZmlnIHtcbiAgICBmaWx0ZXJJZDogc3RyaW5nO1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgRHluYW1pY0ZpbHRlckNvbmZpZyBleHRlbmRzIEJhc2VGaWx0ZXJDb25maWcge1xuICAgIHR5cGU6ICdkeW5hbWljJztcbiAgICBhdHRyaWJ1dGU6IHN0cmluZztcbiAgICBzb3J0aW5nOiBGaWx0ZXJTb3J0aW5nO1xufVxuaW50ZXJmYWNlIFByaWNlRmlsdGVyQ29uZmlnIGV4dGVuZHMgQmFzZUZpbHRlckNvbmZpZyB7XG4gICAgdHlwZTogJ3ByaWNlJztcbiAgICBidWNrZXRTaXplOiBudW1iZXI7XG59XG5leHBvcnQgdHlwZSBGaWx0ZXJBdHRyaWJ1dGUgPSBEeW5hbWljRmlsdGVyQ29uZmlnIHwgUHJpY2VGaWx0ZXJDb25maWc7XG5leHBvcnQgdHlwZSBTZWFyY2haZXJvU3RhdGVWYXJpYW50ID0gJ2JhY2tncm91bmRUZXJ0aWFyeScgfCAnYmFja2dyb3VuZERhcmsnIHwgJ2JhY2tncm91bmRQcmltYXJ5JztcbmV4cG9ydCB0eXBlIFNlYXJjaFplcm9TdGF0ZUxheW91dCA9ICdpbnB1dCcgfCAnaWNvbic7XG5leHBvcnQgdHlwZSBTZWFyY2hJbnB1dFZhcmlhbnQgPSAnc3RhbmRhcmQnO1xuZXhwb3J0IHR5cGUgU2VhcmNoSWNvblZhcmlhbnQgPSAndGhpbicgfCAnYm9sZCc7XG5leHBvcnQgdHlwZSBTZWFyY2hGaWx0ZXJTaWRlYmFyVmFyaWFudCA9ICdkYXJrQnV0dG9uJyB8ICdsaWdodEJ1dHRvbic7XG5leHBvcnQgdHlwZSBQcm9kdWN0R3JpZFZhcmlhbnQgPSAnc3RhbmRhcmQnIHwgJ3NxdWFyZSc7XG50eXBlIFVzZXJRdWVyeUJ1dHRvbkljb24gPSAnbWFnbmlmeWluZ0dsYXNzJyB8ICdzZW5kJyB8ICdtYWduaWZ5aW5nR2xhc3NUaGluJyB8ICdzZW5kQXJyb3cnIHwgJ3NlYXJjaEljb24nO1xuaW50ZXJmYWNlIFVzZXJRdWVyeUJ1dHRvbkNvbmZpZyB7XG4gICAgdmFyaWFudD86ICdib3gnIHwgJ3VuZGVybGluZUxpZ2h0JyB8ICd1bmRlcmxpbmVEYXJrJztcbiAgICBwbGFjZWhvbGRlclRleHQ/OiBzdHJpbmc7XG4gICAgaWNvbjogVXNlclF1ZXJ5QnV0dG9uSWNvbjtcbn1cbmludGVyZmFjZSBUZXJtc0FuZENvbmRpdGlvbnNDb25maWcge1xuICAgIGNvcHk6IHN0cmluZztcbiAgICBsaW5rOiBzdHJpbmc7XG4gICAgbGlua1RleHQ6IHN0cmluZztcbn1cbmludGVyZmFjZSBNZXJjaGFudFZhcmlhbnRTZXR0aW5ncyB7XG4gICAgZHluYW1pY1ZhcmlhbnRzOiB7XG4gICAgICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgICAgIHJlZnJlc2hJbnRlcnZhbD86IG51bWJlcjtcbiAgICB9O1xufVxuaW50ZXJmYWNlIEZsb2F0aW5nQ2hhdENvbmZpZyB7XG4gICAgZW5hYmxlV2F0ZXJtYXJrOiBib29sZWFuO1xuICAgIHVzZXJRdWVyeUlucHV0RW5hYmxlZDogYm9vbGVhbjtcbiAgICBpZ25vcmVGaXJzdE1vZGVsUmVzcG9uc2U/OiBib29sZWFuO1xuICAgIG5ldmVyU2hvd1NpbmdsZVByb2R1Y3RDYXJkcz86IGJvb2xlYW47XG4gICAgdGVybXNBbmRDb25kaXRpb25zQ29uZmlnPzogVGVybXNBbmRDb25kaXRpb25zQ29uZmlnO1xuICAgIHN1Z2dlc3Rpb25CdXR0b25Db25maWc/OiBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnO1xuICAgIHJlcGx5SW5wdXRDb25maWc6IFJlcGx5SW5wdXRDb25maWc7XG59XG5pbnRlcmZhY2UgU2VhcmNoQ29uZmlnIHtcbiAgICBlbmFibGVHbG9iYWxTZWFyY2g6IGJvb2xlYW47XG4gICAgc2VhcmNoRmlsdGVyQ29uZmlnOiBGaWx0ZXJBdHRyaWJ1dGVbXTtcbiAgICBzZWFyY2hPdmVybGF5SGVhZGluZz86IHN0cmluZztcbiAgICByZWRpcmVjdFNlYXJjaFJlc3VsdHNVcmw/OiBzdHJpbmc7XG4gICAgYWRkaXRpdmVEeW5hbWljRmlsdGVycz86IGJvb2xlYW47XG4gICAgcmVjb21tZW5kZWRQcm9kdWN0cz86IHN0cmluZ1tdO1xuICAgIHJlY29tbWVuZGVkUHJvZHVjdHNIZWFkaW5nPzogc3RyaW5nO1xufVxudHlwZSBPcmdVSUNvbmZpZyA9IHtcbiAgICBzaG9ydE5hbWU6IHN0cmluZztcbiAgICBpZD86IHN0cmluZztcbiAgICBmbG9hdGluZ0VudHJ5cG9pbnRDb25maWc/OiBGbG9hdGluZ0VudHJ5UG9pbnRDb25maWc7XG4gICAgY2hhdFByZXZpZXdDb25maWc/OiBDaGF0UHJldmlld0NvbmZpZztcbiAgICBjdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbjogQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb247XG4gICAgY29udmVyc2F0aW9uYWxTZWFyY2g/OiBDb252ZXJzYXRpb25hbFNlYWNoO1xuICAgIG1lcmNoYW50T3ZlcnJpZGVDc3M/OiBzdHJpbmc7XG4gICAgaGlkZGVuRWxlbWVudFNlbGVjdG9ycz86IHN0cmluZ1tdO1xuICAgIG1lcmNoYW50VmFyaWFudFNldHRpbmdzPzogTWVyY2hhbnRWYXJpYW50U2V0dGluZ3M7XG4gICAgZmxvYXRpbmdDaGF0Q29uZmlnOiBGbG9hdGluZ0NoYXRDb25maWc7XG4gICAgc2VhcmNoQ29uZmlnOiBTZWFyY2hDb25maWc7XG4gICAgY2hhdEhlYWRlcjogQ2hhdEhlYWRlckNvbmZpZztcbiAgICBzdGlja3lBZ2VudFN3aXRjaFN1Z2dlc3Rpb24/OiBib29sZWFuO1xuICAgIHBhcnRpYWxWaWV3Q29uZmlnOiBQYXJ0aWFsVmlld0NvbmZpZztcbiAgICB3ZWxjb21lU2VjdGlvbkNvbmZpZz86IFdlbGNvbWVTZWN0aW9uQ29uZmlnO1xuICAgIHByb2R1Y3RDYXJkQ29uZmlnPzogUHJvZHVjdENhcmRDb25maWc7XG4gICAgcHJvZHVjdFJldmlld0NvbmZpZz86IFByb2R1Y3RSZXZpZXdDb25maWc7XG4gICAgcGFnZUNhcmRDb25maWc/OiBQYWdlQ2FyZENvbmZpZztcbiAgICBjaGF0TWVzc2FnZUNvbmZpZzogQ2hhdE1lc3NhZ2VDb25maWc7XG59O1xudHlwZSBJbnNlcnRpb25Qb2ludCA9IHtcbiAgICBzZWxlY3Rvcjogc3RyaW5nO1xuICAgIHNlbGVjdGlvbkluZGV4PzogbnVtYmVyO1xuICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGU7XG59O1xudHlwZSBVUkxUZXN0ID0gJ3Nob3BpZnknIHwgJ251bGwnO1xudHlwZSBJZEV4dHJhY3RvciA9ICdzaG9waWZ5LXByb2R1Y3QtaWQnIHwgJ3Nob3BpZnktY29sbGVjdGlvbi1pZCcgfCAnc2hvcGlmeS1wcm9kdWN0LXZhcmlhbnQtaWQnIHwgJ3VybC1yZXNvbHZlci1wcm9kdWN0LWlkJyB8ICd1cmwtcmVzb2x2ZXItcGxwLWlkJyB8ICdudWxsJztcbmRlY2xhcmUgZW51bSBDYXRlZ29yeUV4dHJhY3RvclR5cGUge1xuICAgIFZpc2l0Q2F0ZWdvcnlNYXAgPSBcIlZpc2l0Q2F0ZWdvcnlNYXBcIixcbiAgICBWaXNpdENhdGVnb3J5RGVmYXVsdCA9IFwiVmlzaXRDYXRlZ29yeURlZmF1bHRcIlxufVxuaW50ZXJmYWNlIEJhc2VDYXRlZ29yeUV4dHJhY3RvcjxUIGV4dGVuZHMgQ2F0ZWdvcnlFeHRyYWN0b3JUeXBlPiB7XG4gICAgdHlwZTogVDtcbn1cbmludGVyZmFjZSBWaXNpdENhdGVnb3J5TWFwIGV4dGVuZHMgQmFzZUNhdGVnb3J5RXh0cmFjdG9yPENhdGVnb3J5RXh0cmFjdG9yVHlwZS5WaXNpdENhdGVnb3J5TWFwPiB7XG4gICAgbWFwOiB7XG4gICAgICAgIFtrZXkgaW4gUGFnZVZpc2l0Q2F0ZWdvcnldPzogc3RyaW5nW107XG4gICAgfTtcbn1cbmludGVyZmFjZSBWaXNpdENhdGVnb3J5RGVmYXVsdCBleHRlbmRzIEJhc2VDYXRlZ29yeUV4dHJhY3RvcjxDYXRlZ29yeUV4dHJhY3RvclR5cGUuVmlzaXRDYXRlZ29yeURlZmF1bHQ+IHtcbiAgICB2YWx1ZTogUGFnZVZpc2l0Q2F0ZWdvcnk7XG59XG50eXBlIENhdGVnb3J5RXh0cmFjdG9yID0gVmlzaXRDYXRlZ29yeU1hcCB8IFZpc2l0Q2F0ZWdvcnlEZWZhdWx0O1xudHlwZSBXcmFwcGluZ0VsZW1lbnQgPSB7XG4gICAgY2xhc3NOYW1lOiBzdHJpbmc7XG4gICAgZWxlbWVudDogc3RyaW5nO1xuICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGU7XG59O1xuZGVjbGFyZSBlbnVtIFBhZ2VWYXJpYW50VGVzdFR5cGUge1xuICAgIFNob3BpZnlQTFAgPSBcIlNob3BpZnlQTFBcIixcbiAgICBTaG9waWZ5UERQID0gXCJTaG9waWZ5UERQXCIsXG4gICAgUGFnZUNhdGVnb3J5ID0gXCJQYWdlQ2F0ZWdvcnlcIixcbiAgICBDYXRhbG9nQ2F0ZWdvcnkgPSBcIkNhdGFsb2dDYXRlZ29yeVwiLFxuICAgIFRvcENhdGFsb2dDYXRlZ29yeSA9IFwiVG9wQ2F0YWxvZ0NhdGVnb3J5XCIsXG4gICAgSGFzUmV2aWV3cyA9IFwiSGFzUmV2aWV3c1wiLFxuICAgIEluQ29sbGVjdGlvbiA9IFwiSW5Db2xsZWN0aW9uXCIsXG4gICAgSGFzTWVyY2hhbnRUYWcgPSBcIkhhc01lcmNoYW50VGFnXCIsXG4gICAgRmVhdHVyZUdhdGUgPSBcIkZlYXR1cmVHYXRlXCIsXG4gICAgUGxwSWQgPSBcIlBscElkXCIsXG4gICAgUXVlcnlQYXJhbSA9IFwiUXVlcnlQYXJhbVwiLFxuICAgIFByb2R1Y3RJZCA9IFwiUHJvZHVjdElkXCIsXG4gICAgVXNlckhhc0ludGVyYWN0ZWQgPSBcIlVzZXJIYXNJbnRlcmFjdGVkXCIsXG4gICAgVXNlckhhc05vdEludGVyYWN0ZWQgPSBcIlVzZXJIYXNOb3RJbnRlcmFjdGVkXCIsXG4gICAgaXNMb2FkaW5nID0gXCJpc0xvYWRpbmdcIixcbiAgICBpc1Byb2R1Y3RDb21wYXJpc29uID0gXCJpc1Byb2R1Y3RDb21wYXJpc29uXCIsXG4gICAgRmFsbGJhY2sgPSBcIkZhbGxiYWNrXCIsXG4gICAgVXJsUmVzb2x2ZXIgPSBcIlVybFJlc29sdmVyXCIsXG4gICAgTnVsbCA9IFwibnVsbFwiXG59XG5pbnRlcmZhY2UgQmFzZVBhZ2VWYXJpYW50VGVzdDxUIGV4dGVuZHMgUGFnZVZhcmlhbnRUZXN0VHlwZT4ge1xuICAgIHRlc3RUeXBlOiBUO1xufVxuaW50ZXJmYWNlIFRvcENhdGFsb2dDYXRlZ29yeSBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5Ub3BDYXRhbG9nQ2F0ZWdvcnk+IHtcbiAgICB0b3BDYXRlZ29yeTogc3RyaW5nW107XG59XG5pbnRlcmZhY2UgQ2F0YWxvZ0NhdGVnb3J5VGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5DYXRhbG9nQ2F0ZWdvcnk+IHtcbiAgICBjYXRlZ29yeTogU3VwcG9ydGVkRXZlbnRQcm9kdWN0Q2F0ZWdvcnk7XG59XG5pbnRlcmZhY2UgSGFzUmV2aWV3c1Rlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuSGFzUmV2aWV3cz4ge1xuICAgIHJldmlld01pbmltdW0/OiBudW1iZXI7XG59XG5pbnRlcmZhY2UgSW5Db2xsZWN0aW9uVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5JbkNvbGxlY3Rpb24+IHtcbiAgICBjb2xsZWN0aW9uczogc3RyaW5nW107XG59XG5pbnRlcmZhY2UgSGFzTWVyY2hhbnRUYWdUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkhhc01lcmNoYW50VGFnPiB7XG4gICAgbWVyY2hhbnRUYWdzOiBzdHJpbmdbXTtcbn1cbmludGVyZmFjZSBTaG9waWZ5UExQVVJMVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5TaG9waWZ5UExQPiB7XG59XG5pbnRlcmZhY2UgU2hvcGlmeVBEUFVSTFRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuU2hvcGlmeVBEUD4ge1xufVxuaW50ZXJmYWNlIFBhZ2VDYXRlZ29yeVRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuUGFnZUNhdGVnb3J5PiB7XG4gICAgZXh0cmFjdG9yOiBDYXRlZ29yeUV4dHJhY3Rvcjtcbn1cbmludGVyZmFjZSBGZWF0dXJlR2F0ZVRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuRmVhdHVyZUdhdGU+IHtcbiAgICBmZWF0dXJlR2F0ZTogRmVhdHVyZUdhdGVzO1xufVxuaW50ZXJmYWNlIFByb2R1Y3RJZFRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuUHJvZHVjdElkPiB7XG4gICAgcHJvZHVjdElkRXh0cmFjdG9yOiBJZEV4dHJhY3RvcjtcbiAgICBwcm9kdWN0SWRzOiBzdHJpbmdbXTtcbn1cbmludGVyZmFjZSBQbHBJZFRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuUGxwSWQ+IHtcbiAgICBwbHBJZEV4dHJhY3RvcjogSWRFeHRyYWN0b3I7XG4gICAgcGxwSWRzOiBzdHJpbmdbXTtcbn1cbmludGVyZmFjZSBRdWVyeVBhcmFtVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5RdWVyeVBhcmFtPiB7XG4gICAgcXVlcnlQYXJhbTogc3RyaW5nO1xufVxuaW50ZXJmYWNlIFVzZXJIYXNJbnRlcmFjdGVkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5Vc2VySGFzSW50ZXJhY3RlZD4ge1xufVxuaW50ZXJmYWNlIFVzZXJIYXNOb3RJbnRlcmFjdGVkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5Vc2VySGFzTm90SW50ZXJhY3RlZD4ge1xufVxuaW50ZXJmYWNlIElzTG9hZGluZ1Rlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuaXNMb2FkaW5nPiB7XG59XG5pbnRlcmZhY2UgSXNQcm9kdWN0Q29tcGFyaXNvbiBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5pc1Byb2R1Y3RDb21wYXJpc29uPiB7XG59XG5pbnRlcmZhY2UgUGFnZUZhbGxiYWNrVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5GYWxsYmFjaz4ge1xufVxuaW50ZXJmYWNlIFVybFJlc29sdmVyVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlcj4ge1xufVxuZXhwb3J0IHR5cGUgUGFnZVZhcmlhbnRUZXN0ID0gUGFnZUNhdGVnb3J5VGVzdCB8IFNob3BpZnlQTFBVUkxUZXN0IHwgU2hvcGlmeVBEUFVSTFRlc3QgfCBDYXRhbG9nQ2F0ZWdvcnlUZXN0IHwgVG9wQ2F0YWxvZ0NhdGVnb3J5IHwgSGFzUmV2aWV3c1Rlc3QgfCBJbkNvbGxlY3Rpb25UZXN0IHwgSGFzTWVyY2hhbnRUYWdUZXN0IHwgRmVhdHVyZUdhdGVUZXN0IHwgUHJvZHVjdElkVGVzdCB8IFBscElkVGVzdCB8IFF1ZXJ5UGFyYW1UZXN0IHwgVXNlckhhc0ludGVyYWN0ZWRUZXN0IHwgVXNlckhhc05vdEludGVyYWN0ZWRUZXN0IHwgSXNMb2FkaW5nVGVzdCB8IElzUHJvZHVjdENvbXBhcmlzb24gfCBQYWdlRmFsbGJhY2tUZXN0IHwgVXJsUmVzb2x2ZXJUZXN0O1xuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciB0aGUgc29jaWFsIHByb29mIGVtYmVkZGVkIHdpZGdldFxuICpcbiAqIEBwYXJhbSBoZWFkZXJUaXRsZSAtIFRoZSB0aXRsZSB0ZXh0IHRvIGRpc3BsYXkgaW4gdGhlIHdpZGdldCBoZWFkZXJcbiAqIEBwYXJhbSBzdGF0aWNTdWdnZXN0aW9ucyAtIEEgbGlzdCBvZiBzdHJpbmdzIHRvIGRpc3BsYXkgYXMgc3VnZ2VzdGlvbnMgaW4gdGhlIHdpZGdldFxuICogQHBhcmFtIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50RGVmYXVsdCAtIFRoZSB2YXJpYW50IG9mIHRoZSBzdWdnZXN0aW9uIGJ1dHRvbiB0byBkaXNwbGF5IGluIHRoZSB3aWRnZXQgZm9vdGVyXG4gKiBAcGFyYW0gc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnRBY2NlbnQgLSBUaGUgdmFyaWFudCBvZiB0aGUgc3VnZ2VzdGlvbiBidXR0b24gdG8gZGlzcGxheSBpbiB0aGUgd2lkZ2V0IGJvZHlcbiAqIEBwYXJhbSBzdGF0aWNJbWFnZUluZGV4IC0gSW5kZXggb2YgdGhlIGltYWdlVXJsIHRvIHVzZSBmcm9tIHRoZSBwcm9kdWN0IHJlc3BvbnNlXG4gKi9cbmludGVyZmFjZSBTb2NpYWxQcm9vZkNvbmZpZyB7XG4gICAgY3VzdG9tZXJRdWVyeTogc3RyaW5nO1xuICAgIGhlYWRlclRpdGxlOiBzdHJpbmc7XG4gICAgc3RhdGljUExQSW1hZ2VzTGF5b3V0PzogJ2dyaWQnIHwgJ2hvcml6b250YWwnO1xuICAgIGhlYWRlckZvbnRGYW1pbHk/OiBzdHJpbmc7XG4gICAgc3RhdGljUExQSW1hZ2VOYW1lcz86IHN0cmluZ1tdO1xuICAgIHN0YXRpY0ltYWdlSW5kZXg/OiBudW1iZXI7XG4gICAgc3VnZ2VzdGlvbkJ1dHRvblN0cmluZ3M6IHN0cmluZ1tdO1xuICAgIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50RGVmYXVsdDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnRBY2NlbnQ/OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBzdWdnZXN0aW9uQnV0dG9uRGF0YUF0dHJpYnV0ZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZz86IFVzZXJRdWVyeUJ1dHRvbkNvbmZpZztcbiAgICBsb2dvTmFtZT86IHN0cmluZztcbn1cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgY3JlYXRpbmcgdGhlIG1vdW50IHBvaW50IGZvciBhIHdpZGdldFxuICpcbiAqIEBwYXJhbSBjbGFzc05hbWUgLSBPcHRpb25hbCBjbGFzcyBuYW1lIHRvIGFwcGx5IHRvIHRoZSBtb3VudCBwb2ludC4gVGFpbHdpbmQgY2xhc3NlcyBhcmUgc3VwcG9ydGVkXG4gKiBhbmQgZW5jb3VyYWdlZC4gVXNlIHRoaXMgcGFyYW1ldGVyIHRvIHN0eWxlIHRoZSBtb3VudGluZyBjb250YWluZXIgZm9yIHRoZSB3aWRnZXQuXG4gKi9cbmV4cG9ydCB0eXBlIFdpZGdldE1vdW50aW5nQ29uZmlnID0ge1xuICAgIG1vdW50aW5nQ29uZmlnSWQ6IHN0cmluZztcbiAgICBjb250YWluZXJJZDogc3RyaW5nO1xuICAgIHRlc3RJZDogc3RyaW5nO1xuICAgIHBhcmVudEluc2VydGlvblBvaW50PzogSW5zZXJ0aW9uUG9pbnQ7XG4gICAgaW5zZXJ0aW9uUG9pbnQ6IEluc2VydGlvblBvaW50O1xuICAgIGdyaWRJbnNlcnRpb25UeXBlPzogR3JpZEluc2VydGlvblR5cGU7XG4gICAgd3JhcHBpbmdFbGVtZW50PzogV3JhcHBpbmdFbGVtZW50O1xuICAgIGRpdkNoZWNrU2VsZWN0b3I/OiBzdHJpbmc7XG4gICAgc3VwcHJlc3Npb25TZWxlY3Rvcj86IHN0cmluZztcbiAgICBzdHlsZT86IFBhcnRpYWw8Q1NTU3R5bGVEZWNsYXJhdGlvbj47XG4gICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgIGRhdGFBdHRyaWJ1dGVzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn07XG50eXBlIFN0YXRpY1dpZGdldE1vdW50aW5nID0ge1xuICAgIG1vdW50aW5nQ29uZmlnSWQ6IHN0cmluZztcbiAgICB3aWRnZXRDb25maWdJZDogc3RyaW5nO1xufTtcbnR5cGUgRHluYW1pY1dpZGdldE1vdW50aW5nID0ge1xuICAgIG1vdW50aW5nQ29uZmlnSWQ6IHN0cmluZztcbiAgICBtb3VudGluZ1BvaW50V2lkZ2V0czogV2lkZ2V0RGlzcGxheVRlc3RzW107XG59O1xudHlwZSBXaWRnZXREaXNwbGF5VGVzdHMgPSB7XG4gICAgdGVzdHM6IFBhZ2VWYXJpYW50VGVzdFtdO1xuICAgIHdpZGdldENvbmZpZ0lkOiBzdHJpbmc7XG59O1xudHlwZSBXaWRnZXRNb3VudGluZyA9IFN0YXRpY1dpZGdldE1vdW50aW5nIHwgRHluYW1pY1dpZGdldE1vdW50aW5nO1xuZGVjbGFyZSBlbnVtIFdpZGdldFR5cGUge1xuICAgIENoYXRQcmV2aWV3ID0gXCJDaGF0UHJldmlld1wiLFxuICAgIFNvY2lhbFByb29mVjIgPSBcIlNvY2lhbFByb29mVjJcIixcbiAgICBDaGF0UHJldmlld1YyID0gXCJDaGF0UHJldmlld1YyXCIsXG4gICAgQ2hhdFByZXZpZXdJc0xvYWRpbmcgPSBcIkNoYXRQcmV2aWV3SXNMb2FkaW5nXCIsXG4gICAgQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb24gPSBcIkNoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uXCIsXG4gICAgQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbiA9IFwiQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvblwiLFxuICAgIFN1Z2dlc3Rpb25CYXIgPSBcIlN1Z2dlc3Rpb25CYXJcIixcbiAgICBTdWdnZXN0aW9uQmFyVjIgPSBcIlN1Z2dlc3Rpb25CYXJWMlwiLFxuICAgIEltYWdlUHJvbXB0Q2FyZCA9IFwiSW1hZ2VQcm9tcHRDYXJkXCIsXG4gICAgSW1hZ2VCYW5uZXIgPSBcIkltYWdlQmFubmVyXCIsXG4gICAgU2luZ2xlSW1hZ2VQcm9tcHQgPSBcIlNpbmdsZUltYWdlUHJvbXB0XCIsXG4gICAgU2VhcmNoUHJvbXB0ID0gXCJTZWFyY2hQcm9tcHRcIixcbiAgICBTZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50ID0gXCJTZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50XCIsXG4gICAgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnQgPSBcIlNlYXJjaFJlc3VsdHNFbnRyeVBvaW50XCIsXG4gICAgU2VhcmNoT3ZlcmxheUhvc3QgPSBcIlNlYXJjaE92ZXJsYXlIb3N0XCIsXG4gICAgTm9PcCA9IFwiTm9PcFwiXG59XG50eXBlIFdpZGdldENvbmZpZyA9IENoYXRQcmV2aWV3V2lkZ2V0Q29uZmlnIHwgU29jaWFsUHJvb2ZWMldpZGdldENvbmZpZyB8IENoYXRQcmV2aWV3VjJXaWRnZXRDb25maWcgfCBDaGF0UHJldmlld1Bvc3RJbnRlcmFjdGlvbldpZGdldENvbmZpZyB8IENoYXRQcmV2aWV3SXNMb2FkaW5nV2lkZ2V0Q29uZmlnIHwgQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbldpZGdldENvbmZpZyB8IFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyB8IEltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnIHwgSW1hZ2VCYW5uZXJXaWRnZXRDb25maWcgfCBTaW5nbGVJbWFnZVByb21wdFdpZGdldENvbmZpZyB8IFNlYXJjaFByb21wdFdpZGdldENvbmZpZyB8IFNlYXJjaEVudHJ5UG9pbnRXaWRnZXRDb25maWcgfCBTZWFyY2hSZXN1bHRzRW50cnlQb2ludFdpZGdldENvbmZpZyB8IFNlYXJjaE92ZXJsYXlIb3N0V2lkZ2V0Q29uZmlnIHwgTm9PcFdpZGdldENvbmZpZztcbmludGVyZmFjZSBCYXNlV2lkZ2V0Q29uZmlnPFQgZXh0ZW5kcyBXaWRnZXRUeXBlPiB7XG4gICAgd2lkZ2V0Q29uZmlnSWQ6IHN0cmluZztcbiAgICB0eXBlOiBUO1xuICAgIGNvbnRlbnRJZD86IHN0cmluZztcbn1cbmludGVyZmFjZSBJbWFnZUJhbm5lcldpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5JbWFnZUJhbm5lcj4ge1xuICAgIGltYWdlU3JjOiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBzdWJ0aXRsZTogc3RyaW5nO1xuICAgIGFzc2lzdGFudE1lc3NhZ2U6IHN0cmluZztcbn1cbmludGVyZmFjZSBDaGF0UHJldmlld1dpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlldz4ge1xuICAgIHZhcmlhbnQ6ICdmaWxsZWQnIHwgJ2ZsYXQnIHwgJ291dGxpbmVkJztcbiAgICBhZGRTZXBhcmF0b3JzPzogYm9vbGVhbjtcbiAgICBzb2NpYWxQcm9vZkNvbmZpZz86IFNvY2lhbFByb29mQ29uZmlnO1xuICAgIGZvb3RlckNvbmZpZz86IENoYXRQcmV2aWV3Rm9vdGVyQ29uZmlnO1xufVxuaW50ZXJmYWNlIENoYXRQcmV2aWV3SGVhZGVyVjJDb25maWcge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGltYWdlU3JjPzogc3RyaW5nO1xuICAgIGltYWdlSGVpZ2h0PzogbnVtYmVyO1xufVxudHlwZSBTaW5nbGVJbWFnZUNvbmZpZyA9IHtcbiAgICBsYXlvdXQ6ICdzaW5nbGUnO1xuICAgIGltYWdlSW5kZXg6IG51bWJlcjtcbn07XG50eXBlIE11bHRpSW1hZ2VDb25maWcgPSB7XG4gICAgbGF5b3V0OiAnZ3JpZCcgfCAnaG9yaXpvbnRhbCc7XG4gICAgaW1hZ2VOYW1lczogc3RyaW5nW107XG59O1xudHlwZSBTb2NpYWxQcm9vZkltYWdlQ29uZmlnID0gU2luZ2xlSW1hZ2VDb25maWcgfCBNdWx0aUltYWdlQ29uZmlnO1xudHlwZSBDaGF0UHJldmlld1N1Z2dlc3Rpb25CdXR0b25Db25maWcgPSB7XG4gICAgYnV0dG9uU3RyaW5nczogc3RyaW5nW107XG4gICAgYWNjZW50QnV0dG9uVmFyaWFudHM/OiB7XG4gICAgICAgIGJ1dHRvbjogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgICAgIGhvdmVyOiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICB9O1xuICAgIGJ1dHRvblZhcmlhbnRzOiB7XG4gICAgICAgIGJ1dHRvbjogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgICAgIGhvdmVyOiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICB9O1xuICAgIG51bVJvd3M/OiBOdW1Sb3dzO1xufTtcbnR5cGUgQ2hhdFByZXZpZXdBbmltYXRlZFRleHRDb25maWcgPSB7XG4gICAgbGVhZGluZ1RleHQ6IHN0cmluZztcbiAgICBhbmltYXRlZFN0cmluZ3M6IHN0cmluZ1tdO1xufTtcbnR5cGUgQ2hhdFByZXZpZXdWYXJpYW50ID0ge1xuICAgIHZhcmlhbnQ6ICdmbGF0Jztcbn0gfCB7XG4gICAgdmFyaWFudDogJ2ZpbGxlZCc7XG4gICAgYmFja2dyb3VuZEZpbGxDb2xvcjogc3RyaW5nO1xufSB8IHtcbiAgICB2YXJpYW50OiAnb3V0bGluZWQnO1xufTtcbmludGVyZmFjZSBCYXNlQ2hhdFByZXZpZXdDb25maWcge1xuICAgIGhlYWRlckNvbmZpZzogQ2hhdFByZXZpZXdIZWFkZXJWMkNvbmZpZztcbiAgICBzdWdnZXN0aW9uQnV0dG9uc0NvbmZpZzogQ2hhdFByZXZpZXdTdWdnZXN0aW9uQnV0dG9uQ29uZmlnO1xuICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzogVXNlclF1ZXJ5QnV0dG9uQ29uZmlnO1xuICAgIGNoYXRQcmV2aWV3VmFyaWFudDogQ2hhdFByZXZpZXdWYXJpYW50O1xuICAgIGFkZFNlcGFyYXRvcnM/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIENoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uV2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkNoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uPiwgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgICBjaGF0UHJldmlld1ZhcmlhbnQ6IENoYXRQcmV2aWV3VmFyaWFudDtcbiAgICBhZGRTZXBhcmF0b3JzPzogYm9vbGVhbjtcbn1cbmludGVyZmFjZSBDaGF0UHJldmlld0lzTG9hZGluZ1dpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlld0lzTG9hZGluZz4sIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG59XG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbldpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlld1Byb2R1Y3RDb21wYXJpc29uPiwgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgICB1c2VMYXJnZVByb2R1Y3RDb21wYXJpc29uPzogYm9vbGVhbjtcbn1cbmludGVyZmFjZSBDaGF0UHJldmlld1YyV2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkNoYXRQcmV2aWV3VjI+LCBCYXNlQ2hhdFByZXZpZXdDb25maWcge1xuICAgIGFuaW1hdGVkVGV4dENvbmZpZzogQ2hhdFByZXZpZXdBbmltYXRlZFRleHRDb25maWc7XG59XG5pbnRlcmZhY2UgU29jaWFsUHJvb2ZWMldpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5Tb2NpYWxQcm9vZlYyPiwgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgICBjdXN0b21lclF1ZXJ5Pzogc3RyaW5nO1xuICAgIGltYWdlQ29uZmlnOiBTb2NpYWxQcm9vZkltYWdlQ29uZmlnO1xufVxuaW50ZXJmYWNlIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjI+IHtcbiAgICBtZXRyaWNEaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uO1xuICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzO1xuICAgIHZhcmlhbnQ6IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGhvdmVyVmFyaWFudDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgYnV0dG9uVGV4dHM6IHtcbiAgICAgICAgZGVmYXVsdDogc3RyaW5nW107XG4gICAgICAgIHByb2R1Y3RTcGVjaWZpYz86IHtcbiAgICAgICAgICAgIFtwcm9kdWN0SWQ6IHN0cmluZ106IHN0cmluZ1tdO1xuICAgICAgICB9O1xuICAgIH07XG4gICAgYm9sZEZpcnN0QnV0dG9uPzogYm9vbGVhbjtcbiAgICB0d29Sb3dzT25Nb2JpbGU/OiBib29sZWFuO1xuICAgIGFuaW1hdGlvblNwZWVkPzogJ3N0YW5kYXJkJyB8ICdzbG93JyB8ICdub25lJztcbiAgICBidXR0b25Cb3JkZXJSYWRpdXM/OiAnc20nIHwgJ21kJyB8ICdsZyc7XG59XG5pbnRlcmZhY2UgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuSW1hZ2VQcm9tcHRDYXJkPiB7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgbGlnaHRUZXh0PzogYm9vbGVhbjtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHN1YnRpdGxlOiBzdHJpbmdbXTtcbiAgICBzdGF0aWNTdWdnZXN0aW9uQ29waWVzOiBzdHJpbmdbXTtcbiAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IFVzZXJRdWVyeUJ1dHRvbkNvbmZpZztcbiAgICBmYWxsYmFja0JhY2tncm91bmRDb2xvcj86IHN0cmluZztcbn1cbmludGVyZmFjZSBTaW5nbGVJbWFnZVByb21wdFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TaW5nbGVJbWFnZVByb21wdD4ge1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgc3RhdGljU3VnZ2VzdGlvbkNvcGllczogc3RyaW5nW107XG4gICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiBVc2VyUXVlcnlCdXR0b25Db25maWc7XG59XG5pbnRlcmZhY2UgU2VhcmNoRW50cnlQb2ludFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50PiB7XG4gICAgc2VhcmNoWmVyb1N0YXRlVmFyaWFudDogU2VhcmNoWmVyb1N0YXRlVmFyaWFudDtcbiAgICBzZWFyY2hJbnB1dFZhcmlhbnQ6IFNlYXJjaElucHV0VmFyaWFudDtcbiAgICBzZWFyY2hJY29uVmFyaWFudD86IFNlYXJjaEljb25WYXJpYW50O1xuICAgIHNlYXJjaEljb25TaXplPzogbnVtYmVyO1xuICAgIHN1Z2dlc3Rpb25CdXR0b25Db25maWc6IFN1Z2dlc3Rpb25CdXR0b25Db25maWc7XG4gICAgbGF5b3V0OiBTZWFyY2haZXJvU3RhdGVMYXlvdXQ7XG4gICAgc2VhcmNoQm94UGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICBhbmltYXRpb25TcGVlZD86ICdzdGFuZGFyZCcgfCAnc2xvdycgfCAnbm9uZSc7XG4gICAgY29tcGFjdExhYmVsPzogc3RyaW5nO1xuICAgIGluaXRpYWxTdWdnZXN0aW9ucz86IHN0cmluZ1tdO1xuICAgIHVzaW5nUG9ydGFsPzogYm9vbGVhbjtcbiAgICBpbmNsdWRlU3VidGl0bGU/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIE5vT3BXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuTm9PcD4ge1xufVxuaW50ZXJmYWNlIFNlYXJjaE92ZXJsYXlIb3N0V2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlNlYXJjaE92ZXJsYXlIb3N0PiB7XG59XG5pbnRlcmZhY2UgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnQ+IHtcbiAgICBzZWFyY2hJbnB1dFZhcmlhbnQ6IFNlYXJjaElucHV0VmFyaWFudDtcbiAgICBzZWFyY2hGaWx0ZXJTaWRlYmFyVmFyaWFudDogU2VhcmNoRmlsdGVyU2lkZWJhclZhcmlhbnQ7XG4gICAgcHJvZHVjdEdyaWRWYXJpYW50OiBQcm9kdWN0R3JpZFZhcmlhbnQ7XG4gICAgc2VhcmNoQm94UGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICBub1Jlc3VsdHNGb3VuZFRleHQ/OiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIFdpZGdldEhlYWRlclByb3BzIGV4dGVuZHMgVGVzdFByb3BzIHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBsb2dvPzogc3RyaW5nO1xuICAgIGxvZ29IZWlnaHQ/OiBudW1iZXI7XG4gICAgb3JnU2hvcnROYW1lOiBzdHJpbmc7XG4gICAgdmFyaWFudD86IFNlYXJjaFByb21wdFZhcmlhbnQ7XG59XG5leHBvcnQgaW50ZXJmYWNlIFVzZXJRdWVyeU9wdGlvbnMge1xuICAgIGZvb3RlclZhcmlhbnQ/OiAnc3RhbmRhcmQnO1xuICAgIHJlcGx5QnV0dG9uVGV4dD86IHN0cmluZztcbiAgICByZXBseUJ1dHRvbkljb24/OiAnbWFnbmlmeWluZ0dsYXNzJyB8ICdzZW5kJyB8ICd0aGluTWFnbmlmeWluZ0dsYXNzJyB8ICdhaS1zZWFyY2gnO1xufVxudHlwZSBTZWFyY2hQcm9tcHRWYXJpYW50ID0gJ3ByaW1hcnknO1xuaW50ZXJmYWNlIFNlYXJjaFByb21wdFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TZWFyY2hQcm9tcHQ+IHtcbiAgICB2YXJpYW50OiBTZWFyY2hQcm9tcHRWYXJpYW50O1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgaGVhZGVyQ29uZmlnOiBXaWRnZXRIZWFkZXJQcm9wcztcbiAgICBzdWdnZXN0aW9uQnV0dG9uczoge1xuICAgICAgICB2YXJpYW50OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICAgICAgaG92ZXJWYXJpYW50OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICAgICAgYnV0dG9uVGV4dHM6IHN0cmluZ1tdO1xuICAgIH07XG4gICAgZm9vdGVyQ29uZmlnPzogVXNlclF1ZXJ5T3B0aW9ucztcbn1cbnR5cGUgUGFnZVZhcmlhbnRCYXNlID0ge1xuICAgIHZhcmlhbnRJZDogc3RyaW5nO1xuICAgIHdpZGdldE1vdW50aW5nOiBXaWRnZXRNb3VudGluZ1tdO1xuICAgIHZhcmlhbnRUZXN0czogUGFnZVZhcmlhbnRUZXN0W107XG59O1xudHlwZSBQTFBQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgICB2YXJpYW50VHlwZTogJ3BscCc7XG4gICAgcGxwSWRFeHRyYWN0b3I6IElkRXh0cmFjdG9yO1xufTtcbnR5cGUgUERQUGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gICAgdmFyaWFudFR5cGU6ICdwZHAnO1xuICAgIHBhcmVudFByb2R1Y3RJZEV4dHJhY3Rvcj86IElkRXh0cmFjdG9yO1xuICAgIHByb2R1Y3RJZEV4dHJhY3RvcjogSWRFeHRyYWN0b3I7XG59O1xudHlwZSBWaXNpdFBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICAgIHZhcmlhbnRUeXBlOiAncGFnZV92aXNpdCc7XG59O1xudHlwZSBPdGhlclBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICAgIHZhcmlhbnRUeXBlOiAnb3RoZXInO1xufTtcbnR5cGUgSG9tZVBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICAgIHZhcmlhbnRUeXBlOiAnaG9tZXBhZ2UnO1xufTtcbnR5cGUgU2VhcmNoUGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gICAgdmFyaWFudFR5cGU6ICdzZWFyY2gnO1xufTtcbmV4cG9ydCB0eXBlIFBhZ2VWYXJpYW50Q29uZmlnID0gUExQUGFnZVZhcmlhbnQgfCBQRFBQYWdlVmFyaWFudCB8IFZpc2l0UGFnZVZhcmlhbnQgfCBPdGhlclBhZ2VWYXJpYW50IHwgSG9tZVBhZ2VWYXJpYW50IHwgU2VhcmNoUGFnZVZhcmlhbnQ7XG5leHBvcnQgdHlwZSBPcmdQYWdlQ29uZmlnID0ge1xuICAgIHBhZ2VWYXJpYW50czogUGFnZVZhcmlhbnRDb25maWdbXTtcbiAgICB3aWRnZXRDb25maWdzOiBSZWNvcmQ8c3RyaW5nLCBXaWRnZXRDb25maWc+O1xuICAgIG1vdW50aW5nQ29uZmlnczogUmVjb3JkPHN0cmluZywgV2lkZ2V0TW91bnRpbmdDb25maWc+O1xufTtcbmV4cG9ydCB0eXBlIE9yZ0NvbmZpZyA9IE9yZ1VJQ29uZmlnO1xuZXhwb3J0IHsgQ2F0ZWdvcnlFeHRyYWN0b3JUeXBlLCBDb2xvck5hbWVzLCBjb2xvclZhciwgUGFnZVZhcmlhbnRUZXN0VHlwZSwgV2lkZ2V0VHlwZSB9O1xuZXhwb3J0IGludGVyZmFjZSBFbnZpdmVDb25maWcge1xuICAgIGFtcGxpdHVkZUFwaUtleT86IHN0cmluZztcbiAgICBkYXRhUmVzaWRlbmN5Pzogc3RyaW5nO1xuICAgIGVudj86IHN0cmluZztcbiAgICBiYXNlVXJsPzogc3RyaW5nO1xuICAgIHJlYWN0QXBwTmFtZT86IHN0cmluZztcbiAgICBjZG5Vcmw/OiBzdHJpbmc7XG4gICAgY29udGV4dFNvdXJjZT86IHN0cmluZztcbiAgICBvcmdMZXZlbEFwaUtleT86IHN0cmluZztcbiAgICBvcmdTaG9ydE5hbWU/OiBzdHJpbmc7XG4gICAgaWRlbnRpZnlpbmdQcmVmaXg/OiBzdHJpbmc7XG4gICAgZmVhdHVyZU92ZXJyaWRlcz86IFJlY29yZDxzdHJpbmcsIGJvb2xlYW4+O1xuICAgIHZhcmlhbnRVcmxPdmVycmlkZT86IHN0cmluZztcbiAgICB2YXJpYW50SW5mb092ZXJyaWRlPzogYW55O1xuICAgIHNob3c/OiBib29sZWFuO1xuICAgIHB1YmxpY0tleT86IHN0cmluZztcbiAgICBmZWF0dXJlR2F0ZXM/OiBPcmdDb25maWdGZWF0dXJlR2F0ZVtdO1xufVxuZXhwb3J0IHR5cGUgeyBDYXRlZ29yeUV4dHJhY3RvciwgQ2hhdE1lc3NhZ2VWYXJpYW50LCBDaGF0TWVzc2FnZUNvbmZpZywgQ2hhdFByZXZpZXdDb25maWcsIENoYXRQcmV2aWV3SXNMb2FkaW5nV2lkZ2V0Q29uZmlnLCBDaGF0UHJldmlld1Bvc3RJbnRlcmFjdGlvbldpZGdldENvbmZpZywgQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbldpZGdldENvbmZpZywgQ2hhdFByZXZpZXdTdWdnZXN0aW9uQnV0dG9uQ29uZmlnLCBTb2NpYWxQcm9vZlYyV2lkZ2V0Q29uZmlnLCBDaGF0UHJldmlld0hlYWRlclYyQ29uZmlnLCBDaGF0UHJldmlld1YyV2lkZ2V0Q29uZmlnLCBDaGF0UHJldmlld0Zvb3RlckNvbmZpZywgQ2hhdFByZXZpZXdIZWFkZXJDb25maWcsIENoYXRQcmV2aWV3V2lkZ2V0Q29uZmlnLCBDaGF0UHJldmlld1ZhcmlhbnQsIENvbG9yTWFwcGluZywgQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb24sIEZsb2F0aW5nRW50cnlQb2ludENvbmZpZywgRnVsbEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uLCBJZEV4dHJhY3RvciwgSW1hZ2VCYW5uZXJXaWRnZXRDb25maWcsIEltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnLCBJbnNlcnRpb25Qb2ludCwgTXVsdGlJbWFnZUNvbmZpZywgT3JnVUlDb25maWcsIFBhZ2VDYXJkQ29uZmlnLCBQYWdlQ2FyZFZhcmlhbnQsIFBhZ2VDYXJkSG92ZXJWYXJpYW50LCBQYWdlQ2FyZEljb25WYXJpYW50LCBQcm9kdWN0Q2FyZENvbmZpZywgUHJvZHVjdENhcmRWYXJpYW50LCBQcm9kdWN0Q2FyZExheW91dFZhcmlhbnQsIFByb2R1Y3RDYXJkSG92ZXJWYXJpYW50LCBQcm9kdWN0TGlua0hvdmVyVmFyaWFudCwgUHJvZHVjdExpbmtJY29uVmFyaWFudCwgUHJvZHVjdExpbmtWYXJpYW50LCBQcm9kdWN0UmV2aWV3Q29uZmlnLCBQcm9kdWN0UmV2aWV3U3R5bGVWYXJpYW50LCBQcm9kdWN0UmV2aWV3Q29sb3JWYXJpYW50LCBTZWFyY2hQcm9tcHRWYXJpYW50LCBTZWFyY2hQcm9tcHRXaWRnZXRDb25maWcsIFNlYXJjaFJlc3VsdHNFbnRyeVBvaW50V2lkZ2V0Q29uZmlnLCBTaG93RmxvYXRpbmdCdXR0b25PcHRpb25zLCBTaW5nbGVJbWFnZVByb21wdFdpZGdldENvbmZpZywgU2VhcmNoRW50cnlQb2ludFdpZGdldENvbmZpZywgU2VhcmNoT3ZlcmxheUhvc3RXaWRnZXRDb25maWcsIFNvY2lhbFByb29mQ29uZmlnLCBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcsIFN1Z2dlc3Rpb25CdXR0b25Db25maWcsIFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50LCBVUkxUZXN0LCBVc2VyUXVlcnlCdXR0b25Db25maWcsIFVzZXJRdWVyeUJ1dHRvbkljb24sIFdlbGNvbWVTZWN0aW9uQ29uZmlnLCBXZWxjb21lU2VjdGlvblZhcmlhbnQsIFdlbGNvbWVTZWN0aW9uQ29sb3JWYXJpYW50LCBXaWRnZXRDb25maWcsIFdyYXBwaW5nRWxlbWVudCwgU2VhcmNoQ2FyZFZhcmlhbnQsIFdpZGdldERpc3BsYXlUZXN0cywgTm9PcFdpZGdldENvbmZpZywgV2lkZ2V0TW91bnRpbmcsIFN0YXRpY1dpZGdldE1vdW50aW5nLCBEeW5hbWljV2lkZ2V0TW91bnRpbmcsIFBEUFBhZ2VWYXJpYW50LCBQTFBQYWdlVmFyaWFudCwgVmlzaXRQYWdlVmFyaWFudCwgT3RoZXJQYWdlVmFyaWFudCwgSG9tZVBhZ2VWYXJpYW50LCBTZWFyY2hQYWdlVmFyaWFudCwgTnVtUm93cywgfTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7OztBQVdBLElBQUksNEJBQTRCLENBQUMsRUFBRTtBQUNuQyxJQUFJLDJCQUEyQixDQUFDLFNBQUEsMEJBQUE7QUFDaEMsSUFBSSx3QkFBd0IsQ0FBQyxFQUFFO0FBQy9CLElBQUksNkJBQWdCLENBQUEsR0FBQTtBQUNwQixJQUFJLHVCQUFlO0NBQUE7T0FBQTtPQUFBO0NBQUE7QUFDbkIsSUFBSSxvQkFBZTtDQUFBO09BQUE7T0FBQTtDQUFBO0FBQ25CLElBQUksMEJBQUMsQ0FBQSxHQUFBO0FBQ0wsSUFBSSwwQkFBc0IsQ0FBQSxHQUFBO0FBQzFCLElBQUksNEJBQXFCLENBQUEsR0FBQTtBQUN6QixJQUFJLDRCQUFrQixDQUFBLEdBQUE7QUFDdEIsSUFBSSxzQkFBc0I7Q0FBQztPQUFVO09BQUk7Q0FBQTtBQUN6QyxJQUFJLGtCQUFrQixDQUFDLEdBQUE7QUFDdkIsSUFBSSx1QkFBaUIsQ0FBQSxHQUFBO0FBQ3JCLElBQUksc0JBQXNCLENBQUMsR0FBQztBQUM1QixJQUFJLGlCQUFpQjtDQUFDO09BQUk7T0FBQTtPQUFBO0NBQUE7QUFDMUIsSUFBSSxxQkFBZSxDQUFBLEdBQUE7QUFDbkIsSUFBSSwwQkFBaUIsQ0FBQSxHQUFBO0FBQ3JCLElBQUMsMkJBQUEsQ0FBQSxHQUFBO0FBQ0QsSUFBSSxvQkFBb0I7Q0FBQztPQUFVO09BQWlCO09BQUE7Q0FBQTtBQUNwRCxJQUFJLGlCQUFpQixDQUFDLEdBQUc7QUFDekIsSUFBSSxtQkFBbUI7Q0FBQztPQUFJO09BQUEsTUFBQTtPQUFBLE1BQUE7T0FBQTtPQUFBLE1BQUE7T0FBQSxNQUFBO09BQUE7Q0FBQTtBQUM1QixJQUFJLG1DQUE4QjtDQUFBO09BQUE7T0FBQTtDQUFBO0FBQ2xDLElBQUksaUNBQWlDO0NBQUM7T0FBTztPQUFBO09BQUE7T0FBQTtDQUFBO0FBQzdDLElBQUksNkJBQWM7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
|
|
699
|
+
export { type CategoryExtractor, CategoryExtractorType, type ChatMessageConfig, type ChatMessageVariant, type ChatPreviewConfig, type ChatPreviewFooterConfig, type ChatPreviewHeaderConfig, type ChatPreviewHeaderV2Config, type ChatPreviewIsLoadingWidgetConfig, type ChatPreviewPostInteractionWidgetConfig, type ChatPreviewProductComparisonWidgetConfig, type ChatPreviewSuggestionButtonConfig, type ChatPreviewV2WidgetConfig, type ChatPreviewVariant, type ChatPreviewWidgetConfig, type ColorMapping, ColorNames, type CustomerServiceIntegration, type DynamicWidgetMounting, EnviveConfig, FilterAttribute, type FloatingEntryPointConfig, type FullCustomerServiceIntegration, type HomePageVariant, type IdExtractor, type ImageBannerWidgetConfig, type ImagePromptWidgetConfig, type InsertionPoint, type MerchantVariantSettings, type MultiImageConfig, type NoOpWidgetConfig, type NumRows, OrgConfig, OrgPageConfig, type OrgUIConfig, type OtherPageVariant, type PDPPageVariant, type PLPPageVariant, type PageCardConfig, type PageCardHoverVariant, type PageCardIconVariant, type PageCardVariant, PageVariantConfig, PageVariantTest, PageVariantTestType, type ProductCardConfig, type ProductCardHoverVariant, type ProductCardLayoutVariant, type ProductCardVariant, ProductGridVariant, type ProductLinkHoverVariant, type ProductLinkIconVariant, type ProductLinkVariant, type ProductReviewColorVariant, type ProductReviewConfig, type ProductReviewStyleVariant, type SearchCardVariant, type SearchConfig, type SearchEntryPointWidgetConfig, SearchFilterSidebarVariant, SearchIconVariant, SearchInputVariant, type SearchOverlayHostWidgetConfig, type SearchPageVariant, type SearchPromptVariant, type SearchPromptWidgetConfig, type SearchResultsEntryPointWidgetConfig, SearchZeroStateLayout, SearchZeroStateVariant, type ShowFloatingButtonOptions, type SingleImagePromptWidgetConfig, type SocialProofConfig, type SocialProofV2WidgetConfig, type StaticWidgetMounting, type SuggestionBarWidgetV2Config, type SuggestionButtonConfig, type SuggestionButtonVariant, type URLTest, type UserQueryButtonConfig, type UserQueryButtonIcon, UserQueryOptions, type VisitPageVariant, type WelcomeSectionColorVariant, type WelcomeSectionConfig, type WelcomeSectionVariant, type WidgetConfig, type WidgetDisplayTests, WidgetHeaderProps, type WidgetMounting, WidgetMountingConfig, WidgetType, type WrappingElement, colorVar };
|
|
700
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZXMuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2NvbnRleHRzL3R5cGVzLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24gfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2NoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uJztcbmltcG9ydCB7IENvbG9yTWFwcGluZywgQ29sb3JOYW1lcywgY29sb3JWYXIgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2NvbG9yc0NvbmZpZyc7XG5pbXBvcnQgeyBGZWF0dXJlR2F0ZXMgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2ZlYXR1cmVHYXRlcyc7XG5pbXBvcnQgeyBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbk1vZGUsIEN1c3RvbWVyU2VydmljZVR5cGUgfSBmcm9tICdzcmMvdHlwZXMvY3VzdG9tZXJTZXJ2aWNlJztcbmltcG9ydCB7IEdyaWRJbnNlcnRpb25UeXBlIH0gZnJvbSAnc3JjL21lcmNoYW50cy9ncmlkSW5zZXJ0aW9uJztcbmltcG9ydCB7IERPTUluc2VydGlvblR5cGUgfSBmcm9tICdzcmMvbWVyY2hhbnRzL2RvbUluc2VydGlvbic7XG5pbXBvcnQgdHlwZSB7IFBhZ2VWaXNpdENhdGVnb3J5LCBTdXBwb3J0ZWRFdmVudFByb2R1Y3RDYXRlZ29yeSB9IGZyb20gJ0BzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudCc7XG5pbXBvcnQgeyBDaGF0U3RhdGUgfSBmcm9tICdzcmMvdHlwZXMvY3VzdHNlcnZpY2UtdHlwZXMnO1xuaW1wb3J0IHsgU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcyB9IGZyb20gJ3NyYy90eXBlcy9zdWdnZXN0aW9uQmFyVjItdHlwZXMnO1xuaW1wb3J0IHsgVGVzdFByb3BzIH0gZnJvbSAnc3JjL3R5cGVzL3Rlc3QtdHlwZXMnO1xuaW1wb3J0IHsgT3JnQ29uZmlnRmVhdHVyZUdhdGUgfSBmcm9tICdzcmMvYXBwbGljYXRpb24vbW9kZWxzL2FwaS9vcmdDb25maWdSZXN1bHRzJztcbmltcG9ydCB7IFdpZGdldENvbmZpZ1YzIH0gZnJvbSAnLi90eXBlc1YzJztcbnR5cGUgU2hvd0Zsb2F0aW5nQnV0dG9uT3B0aW9ucyA9ICdhbHdheXMnIHwgJ2FmdGVyLWludGVyYWN0aW9uLW9uLW1vYmlsZS1hbHdheXMtZGVza3RvcCcgfCAnYWZ0ZXItaW50ZXJhY3Rpb24tYW55d2hlcmUnIHwgJ25ldmVyJztcbnR5cGUgRmxvYXRpbmdFbnRyeVBvaW50Q29uZmlnID0ge1xuICAgIHBvc2l0aW9uOiAnYm90dG9tLWxlZnQnIHwgJ21pZGRsZS1sZWZ0JyB8ICdtaWRkbGUtcmlnaHQnIHwgJ2JvdHRvbS1yaWdodCc7XG4gICAgZXhwYW5zaW9uVGV4dD86IHtcbiAgICAgICAgcGRwOiBzdHJpbmc7XG4gICAgICAgIHBscDogc3RyaW5nO1xuICAgIH07XG4gICAgbWluaW1pemVkQ29sb3I6IHN0cmluZztcbiAgICBleHBhbmRlZENvbG9yOiBzdHJpbmc7XG4gICAgdGV4dENvbG9yPzogc3RyaW5nO1xuICAgIHNob3dPcHRpb246IFNob3dGbG9hdGluZ0J1dHRvbk9wdGlvbnM7XG4gICAgaWNvblNWR1NyYz86IHN0cmluZztcbiAgICBpY29uU2l6ZT86IG51bWJlcjtcbiAgICBpY29uU3Ryb2tlQ29sb3I/OiBzdHJpbmc7XG4gICAgaWNvbkZpbGxDb2xvcj86IHN0cmluZztcbiAgICBoZWlnaHQ/OiBudW1iZXI7XG4gICAgZm9udFNpemU/OiBudW1iZXI7XG59O1xudHlwZSBXZWxjb21lU2VjdGlvblZhcmlhbnQgPSAnc3RhbmRhcmQnIHwgJ291dGxpbmVkJztcbnR5cGUgV2VsY29tZVNlY3Rpb25Db2xvclZhcmlhbnQgPSAnc3RhbmRhcmQnIHwgJ2FjY2VudCcgfCAnYnJhbmQnIHwgJ2xpZ2h0JztcbnR5cGUgV2VsY29tZVNlY3Rpb25Db25maWcgPSB7XG4gICAgdmFyaWFudDogV2VsY29tZVNlY3Rpb25WYXJpYW50O1xuICAgIGNvbG9yVmFyaWFudD86IFdlbGNvbWVTZWN0aW9uQ29sb3JWYXJpYW50O1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIHN1YnRpdGxlPzogc3RyaW5nO1xuICAgIGljb25OYW1lPzogc3RyaW5nO1xuICAgIGltYWdlU3JjPzogc3RyaW5nO1xufTtcbnR5cGUgQ2hhdFByZXZpZXdDb25maWcgPSB7XG4gICAgdmFyaWFudDogJ2ZsYXQnIHwgJ2ZpbGxlZCcgfCAnb3V0bGluZWQnO1xuICAgIGxhcmdlUHJvZHVjdENvbXBhcmlzb24/OiBib29sZWFuO1xuICAgIGZpbGxlZEJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICAgIGljb25GaWxsQ29sb3I6IHN0cmluZztcbiAgICBidXR0b25UZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgYnV0dG9uVGV4dFNlY29uZGFyeUNvbG9yPzogc3RyaW5nO1xuICAgIGJ1dHRvblRleHRIb3ZlckNvbG9yPzogc3RyaW5nO1xuICAgIGJ1dHRvbkJhY2tncm91bmRDb2xvcjogc3RyaW5nO1xuICAgIGJ1dHRvbkJhY2tncm91bmRIb3ZlckNvbG9yOiBzdHJpbmc7XG4gICAgYnV0dG9uQm9yZGVyQ29sb3I/OiBzdHJpbmc7XG4gICAgYnV0dG9uQm9yZGVySG92ZXJDb2xvcj86IHN0cmluZztcbiAgICBjb3BpZXM6IHtcbiAgICAgICAgcGRwOiBzdHJpbmdbXTtcbiAgICAgICAgcGxwOiBzdHJpbmdbXTtcbiAgICB9O1xuICAgIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM/OiB7XG4gICAgICAgIHBkcDogc3RyaW5nW107XG4gICAgICAgIHBscDogc3RyaW5nW107XG4gICAgfTtcbiAgICBzdGF0aWNQTFBJbWFnZXM/OiBzdHJpbmdbXTtcbiAgICBmb290ZXJDb25maWc/OiBDaGF0UHJldmlld0Zvb3RlckNvbmZpZztcbiAgICBoZWFkZXJDb25maWc/OiBDaGF0UHJldmlld0hlYWRlckNvbmZpZztcbiAgICB0b3BNYXJnaW4/OiBudW1iZXI7XG59O1xudHlwZSBDaGF0UHJldmlld0hlYWRlckNvbmZpZyA9IHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBpbWFnZVNyYz86IHN0cmluZztcbiAgICBpbWFnZUhlaWdodD86IG51bWJlcjtcbiAgICBzcGFya2xlc0NvbG9yPzogc3RyaW5nO1xuICAgIGZvbnRTaXplPzogc3RyaW5nO1xuICAgIGljb25XaWR0aD86IHN0cmluZztcbiAgICBpY29uSGVpZ2h0Pzogc3RyaW5nO1xufTtcbmludGVyZmFjZSBDaGF0UHJldmlld0Zvb3RlckNvbmZpZyB7XG4gICAgaGFzRmFkZT86IGJvb2xlYW47XG4gICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ/OiAnZGFyaycgfCAnbGlnaHQnIHwgJ291dGxpbmVkJztcbiAgICBzdWdnZXN0aW9uc0JhY2tncm91bmQ/OiBzdHJpbmc7XG4gICAgcmVwbHlCdXR0b25JY29uPzogJ3NlbmQnIHwgJ21hZ25pZnlpbmdHbGFzcycgfCAndGhpbk1hZ25pZnlpbmdHbGFzcycgfCAnc2VhcmNoSWNvbic7XG4gICAgcmVwbHlCdXR0b25UZXh0Pzogc3RyaW5nO1xuICAgIHJlcGx5SW5wdXRIYXNTaGFkb3c/OiBib29sZWFuO1xuICAgIHJlcGx5SW5wdXRIYXNCb3JkZXI/OiBib29sZWFuO1xuICAgIGJhY2tncm91bmRDb2xvcj86IHN0cmluZztcbn1cbnR5cGUgUHJvZHVjdFJldmlld1N0eWxlVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAnYm9yZGVyZWQnO1xudHlwZSBQcm9kdWN0UmV2aWV3Q29sb3JWYXJpYW50ID0gJ25ldXRyYWwnIHwgJ2JyYW5kJyB8ICdwcmVtaXVtJztcbmludGVyZmFjZSBQcm9kdWN0UmV2aWV3Q29uZmlnIHtcbiAgICBzdHlsZVZhcmlhbnQ6IFByb2R1Y3RSZXZpZXdTdHlsZVZhcmlhbnQ7XG4gICAgY29sb3JWYXJpYW50OiBQcm9kdWN0UmV2aWV3Q29sb3JWYXJpYW50O1xuICAgIHZlcmlmaWVkQnV5ZXJUaXRsZTogc3RyaW5nO1xuICAgIGluY2VudGl2aXplZFJldmlld0ZsYWc/OiBib29sZWFuO1xufVxudHlwZSBQYWdlQ2FyZFZhcmlhbnQgPSAnZmlsbGVkJyB8ICdvdXRsaW5lZCcgfCAnbWluaW1hbCc7XG50eXBlIFBhZ2VDYXJkSG92ZXJWYXJpYW50ID0gJ25vbmUnIHwgJ3NoYWRvdycgfCAnbGlmdCc7XG50eXBlIFBhZ2VDYXJkSWNvblZhcmlhbnQgPSAncHJpbWFyeScgfCAnYWNjZW50JyB8ICdiYWNrZ3JvdW5kJyB8ICdub25lJztcbnR5cGUgUGFnZUNhcmRDb25maWcgPSB7XG4gICAgdmFyaWFudDogUGFnZUNhcmRWYXJpYW50O1xuICAgIGhvdmVyVmFyaWFudDogUGFnZUNhcmRIb3ZlclZhcmlhbnQ7XG4gICAgaWNvblZhcmlhbnQ6IFBhZ2VDYXJkSWNvblZhcmlhbnQ7XG59O1xudHlwZSBQcm9kdWN0Q2FyZFZhcmlhbnQgPSAnZmlsbGVkJyB8ICdib3JkZXJlZCcgfCAnbWluaW1hbCcgfCAndHJhbnNwYXJlbnRCb3JkZXJlZCc7XG50eXBlIFByb2R1Y3RDYXJkSG92ZXJWYXJpYW50ID0gJ2JhY2tncm91bmREYXJrJyB8ICdub25lJztcbnR5cGUgUHJvZHVjdENhcmRMYXlvdXRWYXJpYW50ID0gJ25vcm1hbCcgfCAndGFsbCcgfCAnc3F1YXJlJztcbmludGVyZmFjZSBQcm9kdWN0Q2FyZENvbmZpZyB7XG4gICAgdmFyaWFudDogUHJvZHVjdENhcmRWYXJpYW50O1xuICAgIGhvdmVyVmFyaWFudDogUHJvZHVjdENhcmRIb3ZlclZhcmlhbnQ7XG4gICAgbGF5b3V0VmFyaWFudDogUHJvZHVjdENhcmRMYXlvdXRWYXJpYW50O1xuICAgIHByaWNlUHJlZml4Pzogc3RyaW5nO1xufVxudHlwZSBDU1N3aXRjaENvbmZpZyA9IHtcbiAgICB2YXJpYW50OiAnYXR0YWNoZWQnIHwgJ2RldGFjaGVkJztcbiAgICBiYWNrZ3JvdW5kQ29sb3I6IHN0cmluZztcbiAgICBib3JkZXJDb2xvcjogc3RyaW5nO1xuICAgIHNlbGVjdGVkVGV4dENvbG9yOiBzdHJpbmc7XG4gICAgc2VsZWN0ZWRCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gICAgdW5zZWxlY3RlZFRleHRDb2xvcjogc3RyaW5nO1xuICAgIHVuc2VsZWN0ZWRCYWNrZ3JvdW5kQ29sb3I/OiBzdHJpbmc7XG4gICAgc3VwcG9ydFRpdGxlPzogc3RyaW5nO1xuICAgIHNwaWZmeVRpdGxlPzogc3RyaW5nO1xuICAgIHNwaWZmeVRpdGxlSGFzTG9nbz86IGJvb2xlYW47XG59O1xudHlwZSBDaGF0SGVhZGVyQ29uZmlnID0ge1xuICAgIGNvbGxhcHNlZENvbG9yOiBzdHJpbmc7XG4gICAgZXhwYW5kZWRDb2xvcjogc3RyaW5nO1xuICAgIGNoZXZyb25Db2xvcjogc3RyaW5nO1xuICAgIGltYWdlU3JjPzogc3RyaW5nO1xuICAgIGljb24/OiBSZWFjdC5GdW5jdGlvbkNvbXBvbmVudDxSZWFjdC5TVkdQcm9wczxTVkdTVkdFbGVtZW50Pj47XG4gICAgY2xvc2VJY29uPzogUmVhY3QuRnVuY3Rpb25Db21wb25lbnQ8UmVhY3QuU1ZHUHJvcHM8U1ZHU1ZHRWxlbWVudD4+O1xuICAgIGJvcmRlckJvdHRvbT86IHN0cmluZztcbiAgICBoZWFkZXJCYXJIZWlnaHRQYXJ0aWFsVmlldzogbnVtYmVyO1xuICAgIGhlYWRlckJhckhlaWdodEZ1bGxWaWV3OiBudW1iZXI7XG4gICAgY3VzdG9tZXJTdXBwb3J0U3dpdGNoQ29uZmlnPzogQ1NTd2l0Y2hDb25maWc7XG59O1xudHlwZSBTaW1wbGVDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiA9IHtcbiAgICBpbnRlZ3JhdGlvbk1vZGU6IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZTtcbiAgICBwcm92aWRlcjogQ3VzdG9tZXJTZXJ2aWNlVHlwZTtcbiAgICB1c2VVbmlmaWVkQnV0dG9uPzogYm9vbGVhbjtcbiAgICBtYXhmaWxlVXBsb2FkU2l6ZT86IG51bWJlcjtcbn07XG50eXBlIEZ1bGxDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiA9IHtcbiAgICBpbnRlZ3JhdGlvbk1vZGU6IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZTtcbiAgICBwcm92aWRlcjogQ3VzdG9tZXJTZXJ2aWNlVHlwZTtcbiAgICB1c2VVbmlmaWVkQnV0dG9uPzogYm9vbGVhbjtcbiAgICBjaGF0RW5hYmxlZER1cmluZ0J1c2luZXNzSG91cnM/OiBib29sZWFuO1xuICAgIHNob3dOYW1lSW5wdXQ/OiBib29sZWFuO1xuICAgIGZvcm1BaU5hbWU/OiBzdHJpbmc7XG4gICAgd2VsY29tZVRpdGxlOiBzdHJpbmc7XG4gICAgd2VsY29tZURlc2NyaXB0aW9uOiBzdHJpbmc7XG4gICAgc2hvd1dlbGNvbWVPbkZvcm0/OiBib29sZWFuO1xuICAgIGNvbnRhY3RTdWJqZWN0T3B0aW9ucz86IHN0cmluZ1tdO1xuICAgIGdldEN1c3RvbVdhaXRpbmdNZXNzYWdlPzogKG5hbWU/OiBzdHJpbmcpID0+IHN0cmluZztcbiAgICB3aXRoaW5CdXNpbmVzc0hvdXJzTWVzc2FnZT86IHN0cmluZztcbiAgICB3aXRoaW5CdXNpbmVzc0hvdXJzV2FpdGluZ01lc3NhZ2U/OiBzdHJpbmc7XG4gICAgb3V0c2lkZUJ1c2luZXNzSG91cnNNZXNzYWdlPzogc3RyaW5nO1xuICAgIG91dHNpZGVCdXNpbmVzc0hvdXJzV2FpdGluZ01lc3NhZ2U/OiBzdHJpbmc7XG4gICAgd2l0aGluQnVzaW5lc3NIb3Vyc0Zvcm1NZXNzYWdlPzogc3RyaW5nO1xuICAgIG91dHNpZGVCdXNpbmVzc0hvdXJzRm9ybU1lc3NhZ2U/OiBzdHJpbmc7XG4gICAgc3VnZ2VzdGVkQUlRdWVzdGlvbnM/OiBzdHJpbmdbXTtcbiAgICBidXNpbmVzc0hvdXJzUG9sbGluZz86IG51bWJlcjtcbiAgICBtYXhmaWxlVXBsb2FkU2l6ZT86IG51bWJlcjtcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIEJFLlxuICAgICAqL1xuICAgIGJ1c2luZXNzSG91cnNTdGFydFVUQz86IHN0cmluZztcbiAgICAvKipcbiAgICAgKiBAZGVwcmVjYXRlZCBUaGlzIGlzIGhhbmRsZWQgYnkgdGhlIEJFLlxuICAgICAqL1xuICAgIGJ1c2luZXNzSG91cnNFbmRVVEM/OiBzdHJpbmc7XG4gICAgLyoqXG4gICAgICogQGRlcHJlY2F0ZWQgVGhpcyBpcyBoYW5kbGVkIGJ5IHRoZSBCRS5cbiAgICAgKi9cbiAgICBidXNpbmVzc0hvdXJzVGltZXpvbmU/OiBzdHJpbmc7XG4gICAgc2hvd0FJU3VnZ2VzdGlvbnNXaXRoaW5CdXNpbmVzc0hvdXJzPzogYm9vbGVhbjtcbiAgICB3YWl0aW5nTWVzc2FnZVBvc2l0aW9uPzogJ0JFRk9SRV9NRVNTQUdFUycgfCAnQUZURVJfTUVTU0FHRVMnO1xuICAgIGxlZ2FsTWVzc2FnZT86IHN0cmluZztcbiAgICB3aXRoaW5CdXNpbmVzc0hvdXJzSW5pdGlhbFN0YXRlPzogQ2hhdFN0YXRlO1xuICAgIG91dHNpZGVCdXNpbmVzc0hvdXJzSW5pdGlhbFN0YXRlPzogQ2hhdFN0YXRlO1xuICAgIHdpdGhpbkJ1c2luZXNzSG91cnNCdXR0b250ZXh0Pzogc3RyaW5nO1xuICAgIG91dHNpZGVCdXNpbmVzc0hvdXJzQnV0dG9udGV4dD86IHN0cmluZztcbiAgICByZW9wZW5DaGF0TWVzc2FnZTogc3RyaW5nO1xufTtcbnR5cGUgQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb24gPSBTaW1wbGVDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiB8IEZ1bGxDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbjtcbnR5cGUgQ29udmVyc2F0aW9uYWxTZWFjaCA9IHtcbiAgICBlbmFibGVkPzogYm9vbGVhbjtcbiAgICByZXBseUlucHV0PzogUmVwbHlJbnB1dENvbmZpZztcbiAgICBzdWdnZXN0aW9ucz86IHN0cmluZ1tdO1xuICAgIGVudHJ5cG9pbnRCZ0NvbG9yPzogc3RyaW5nO1xuICAgIGVudHJ5cG9pbnRUZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludEJ0bkNvbG9yPzogc3RyaW5nO1xuICAgIGVudHJ5cG9pbnRCdG5UZXh0Q29sb3I/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludEJ0bkJvcmRlckNvbG9yPzogc3RyaW5nO1xuICAgIGVudHJ5cG9pbnRDb250YWluZXI/OiBzdHJpbmc7XG4gICAgZW50cnlwb2ludFRyaWdnZXI/OiBzdHJpbmc7XG4gICAgcHJvZHVjdEdyaWRDb250YWluZXI/OiBzdHJpbmc7XG4gICAgZ2VuZXJhbFNlYXJjaEJ0bj86IHN0cmluZztcbiAgICBwYWdlQ29udGVudD86IHN0cmluZztcbiAgICBzZWFyY2hDb250ZW50Pzogc3RyaW5nO1xuICAgIHNvcnRpbmdUaXRsZT86IHN0cmluZztcbiAgICBzZWxlY3Rpb25UaXRsZT86IHN0cmluZztcbiAgICBzb3J0aW5nRm9udD86IHN0cmluZztcbiAgICBvcHRpb25zRm9udD86IHN0cmluZztcbiAgICBzb3J0aW5nQnV0dG9uVGV4dD86IHN0cmluZztcbn07XG50eXBlIENoYXRNZXNzYWdlVmFyaWFudCA9ICdzdGFuZGFyZCcgfCAncHJlbWl1bScgfCAnYWNjZW50JztcbmludGVyZmFjZSBDaGF0TWVzc2FnZUNvbmZpZyB7XG4gICAgYXNzaXN0YW50Q2hhdFRpdGxlOiBzdHJpbmc7XG4gICAgdmFyaWFudDogQ2hhdE1lc3NhZ2VWYXJpYW50O1xuICAgIHByb2R1Y3RMaW5rOiB7XG4gICAgICAgIHZhcmlhbnQ6IFByb2R1Y3RMaW5rVmFyaWFudDtcbiAgICAgICAgaG92ZXJWYXJpYW50OiBQcm9kdWN0TGlua0hvdmVyVmFyaWFudDtcbiAgICAgICAgaWNvblZhcmlhbnQ6IFByb2R1Y3RMaW5rSWNvblZhcmlhbnQ7XG4gICAgfTtcbn1cbmludGVyZmFjZSBSZXBseUlucHV0Q29uZmlnIHtcbiAgICBzaXplPzogJ21kJyB8ICdsZyc7XG4gICAgc2VuZEljb246ICdhcnJvd1VwJyB8ICdzZW5kJyB8ICdzZWFyY2gnO1xuICAgIHBsYWNlaG9sZGVyPzogc3RyaW5nO1xufVxuaW50ZXJmYWNlIFBhcnRpYWxWaWV3Q29uZmlnIHtcbiAgICBtYXhIZWlnaHQ6IG51bWJlcjtcbiAgICBib3JkZXJSYWRpdXM/OiBzdHJpbmc7XG59XG50eXBlIFByb2R1Y3RMaW5rSWNvblZhcmlhbnQgPSAnYWNjZW50UHJpbWFyeScgfCAnYmFja2dyb3VuZFByaW1hcnknIHwgJ2JhY2tncm91bmRQcmltYXJ5RGFyaycgfCAnYm9yZGVyTGlnaHQnIHwgJ2JhY2tncm91bmRTYXR1cmF0ZWQnO1xudHlwZSBQcm9kdWN0TGlua1ZhcmlhbnQgPSAndGV4dExpbmsnO1xudHlwZSBQcm9kdWN0TGlua0hvdmVyVmFyaWFudCA9ICdiYWNrZ3JvdW5kRGFyayc7XG50eXBlIFNlYXJjaENhcmRWYXJpYW50ID0gJ2JhY2tncm91bmRQcmltYXJ5JyB8ICdiYWNrZ3JvdW5kU2Vjb25kYXJ5JyB8ICdiYWNrZ3JvdW5kU2Vjb25kYXJ5RGFyaycgfCAnYmFja2dyb3VuZExpZ2h0JyB8ICdiYWNrZ3JvdW5kU2F0dXJhdGVkJztcbnR5cGUgU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQgPSAnb3V0bGluZWQnIHwgJ291dGxpbmVkTGlnaHQnIHwgJ3ByaW1hcnknIHwgJ3NlY29uZGFyeScgfCAndGVydGlhcnknIHwgJ2RhcmsnIHwgJ2RhcmtBY2NlbnQnIHwgJ2RhcmtQcmltYXJ5JyB8ICdzZWNvbmRhcnlEYXJrJyB8ICdzZWNvbmRhcnlBY2NlbnQnIHwgJ3RyYW5zcGFyZW50JyB8ICd0cmFuc3BhcmVudERhcmsnIHwgJ2xpZ2h0RGFyayc7XG5pbnRlcmZhY2UgU3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZyB7XG4gICAgdmFyaWFudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGhvdmVyVmFyaWFudD86IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGFuc3dlclZhcmlhbnQ/OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBib3JkZXJSYWRpdXM/OiAnc20nIHwgJ21kJyB8ICdsZyc7XG59XG50eXBlIE51bVJvd3MgPSAnZGVmYXVsdCcgfCAnYWx3YXlzT25lUm93JyB8ICdhbHdheXNUd29Sb3dzJyB8ICd0d29Sb3dzT25Nb2JpbGUnO1xuaW50ZXJmYWNlIEFscGhhYmV0aWNGaWx0ZXJTb3J0aW5nIHtcbiAgICB0eXBlOiAnYWxwaGFiZXRpYyc7XG59XG5pbnRlcmZhY2UgUHJvZHVjdENvdW50RmlsdGVyU29ydGluZyB7XG4gICAgdHlwZTogJ3Byb2R1Y3RDb3VudCc7XG59XG5pbnRlcmZhY2UgQ3VzdG9tRmlsdGVyU29ydGluZyB7XG4gICAgdHlwZTogJ2N1c3RvbSc7XG4gICAgbWFwOiBSZWNvcmQ8c3RyaW5nLCBudW1iZXI+O1xufVxudHlwZSBGaWx0ZXJTb3J0aW5nID0gQWxwaGFiZXRpY0ZpbHRlclNvcnRpbmcgfCBQcm9kdWN0Q291bnRGaWx0ZXJTb3J0aW5nIHwgQ3VzdG9tRmlsdGVyU29ydGluZztcbmludGVyZmFjZSBCYXNlRmlsdGVyQ29uZmlnIHtcbiAgICBmaWx0ZXJJZDogc3RyaW5nO1xuICAgIGRpc3BsYXlOYW1lOiBzdHJpbmc7XG59XG5pbnRlcmZhY2UgRHluYW1pY0ZpbHRlckNvbmZpZyBleHRlbmRzIEJhc2VGaWx0ZXJDb25maWcge1xuICAgIHR5cGU6ICdkeW5hbWljJztcbiAgICBhdHRyaWJ1dGU6IHN0cmluZztcbiAgICBzb3J0aW5nOiBGaWx0ZXJTb3J0aW5nO1xufVxuaW50ZXJmYWNlIFByaWNlRmlsdGVyQ29uZmlnIGV4dGVuZHMgQmFzZUZpbHRlckNvbmZpZyB7XG4gICAgdHlwZTogJ3ByaWNlJztcbiAgICBidWNrZXRTaXplOiBudW1iZXI7XG59XG5leHBvcnQgdHlwZSBGaWx0ZXJBdHRyaWJ1dGUgPSBEeW5hbWljRmlsdGVyQ29uZmlnIHwgUHJpY2VGaWx0ZXJDb25maWc7XG5leHBvcnQgdHlwZSBTZWFyY2haZXJvU3RhdGVWYXJpYW50ID0gJ2JhY2tncm91bmRUZXJ0aWFyeScgfCAnYmFja2dyb3VuZERhcmsnIHwgJ2JhY2tncm91bmRQcmltYXJ5JztcbmV4cG9ydCB0eXBlIFNlYXJjaFplcm9TdGF0ZUxheW91dCA9ICdpbnB1dCcgfCAnaWNvbic7XG5leHBvcnQgdHlwZSBTZWFyY2hJbnB1dFZhcmlhbnQgPSAnc3RhbmRhcmQnO1xuZXhwb3J0IHR5cGUgU2VhcmNoSWNvblZhcmlhbnQgPSAndGhpbicgfCAnYm9sZCc7XG5leHBvcnQgdHlwZSBTZWFyY2hGaWx0ZXJTaWRlYmFyVmFyaWFudCA9ICdkYXJrQnV0dG9uJyB8ICdsaWdodEJ1dHRvbic7XG5leHBvcnQgdHlwZSBQcm9kdWN0R3JpZFZhcmlhbnQgPSAnc3RhbmRhcmQnIHwgJ3NxdWFyZSc7XG50eXBlIFVzZXJRdWVyeUJ1dHRvbkljb24gPSAnbWFnbmlmeWluZ0dsYXNzJyB8ICdzZW5kJyB8ICdtYWduaWZ5aW5nR2xhc3NUaGluJyB8ICdzZW5kQXJyb3cnIHwgJ3NlYXJjaEljb24nO1xuaW50ZXJmYWNlIFVzZXJRdWVyeUJ1dHRvbkNvbmZpZyB7XG4gICAgdmFyaWFudD86ICdib3gnIHwgJ3VuZGVybGluZUxpZ2h0JyB8ICd1bmRlcmxpbmVEYXJrJztcbiAgICBwbGFjZWhvbGRlclRleHQ/OiBzdHJpbmc7XG4gICAgaWNvbjogVXNlclF1ZXJ5QnV0dG9uSWNvbjtcbn1cbmludGVyZmFjZSBUZXJtc0FuZENvbmRpdGlvbnNDb25maWcge1xuICAgIGNvcHk6IHN0cmluZztcbiAgICBsaW5rOiBzdHJpbmc7XG4gICAgbGlua1RleHQ6IHN0cmluZztcbn1cbmludGVyZmFjZSBNZXJjaGFudFZhcmlhbnRTZXR0aW5ncyB7XG4gICAgZHluYW1pY1ZhcmlhbnRzOiB7XG4gICAgICAgIGVuYWJsZWQ6IGJvb2xlYW47XG4gICAgICAgIHJlZnJlc2hJbnRlcnZhbD86IG51bWJlcjtcbiAgICB9O1xufVxuaW50ZXJmYWNlIEZsb2F0aW5nQ2hhdENvbmZpZyB7XG4gICAgZW5hYmxlV2F0ZXJtYXJrOiBib29sZWFuO1xuICAgIHVzZXJRdWVyeUlucHV0RW5hYmxlZDogYm9vbGVhbjtcbiAgICBpZ25vcmVGaXJzdE1vZGVsUmVzcG9uc2U/OiBib29sZWFuO1xuICAgIG5ldmVyU2hvd1NpbmdsZVByb2R1Y3RDYXJkcz86IGJvb2xlYW47XG4gICAgdGVybXNBbmRDb25kaXRpb25zQ29uZmlnPzogVGVybXNBbmRDb25kaXRpb25zQ29uZmlnO1xuICAgIHN1Z2dlc3Rpb25CdXR0b25Db25maWc/OiBTdWdnZXN0aW9uQnV0dG9uQ29uZmlnO1xuICAgIHJlcGx5SW5wdXRDb25maWc6IFJlcGx5SW5wdXRDb25maWc7XG59XG5pbnRlcmZhY2UgU2VhcmNoQ29uZmlnIHtcbiAgICBlbmFibGVHbG9iYWxTZWFyY2g6IGJvb2xlYW47XG4gICAgc2VhcmNoRmlsdGVyQ29uZmlnOiBGaWx0ZXJBdHRyaWJ1dGVbXTtcbiAgICBzZWFyY2hPdmVybGF5SGVhZGluZz86IHN0cmluZztcbiAgICByZWRpcmVjdFNlYXJjaFJlc3VsdHNVcmw/OiBzdHJpbmc7XG4gICAgYWRkaXRpdmVEeW5hbWljRmlsdGVycz86IGJvb2xlYW47XG4gICAgcmVjb21tZW5kZWRQcm9kdWN0cz86IHN0cmluZ1tdO1xuICAgIHJlY29tbWVuZGVkUHJvZHVjdHNIZWFkaW5nPzogc3RyaW5nO1xufVxudHlwZSBDb25maWdWZXJzaW9uID0gJ3YzJyB8ICdkZXByZWNhdGVkJyB8IHVuZGVmaW5lZDtcbnR5cGUgT3JnVUlDb25maWcgPSB7XG4gICAgdmVyc2lvbj86IENvbmZpZ1ZlcnNpb247XG4gICAgc2hvcnROYW1lOiBzdHJpbmc7XG4gICAgaWQ/OiBzdHJpbmc7XG4gICAgZmxvYXRpbmdFbnRyeXBvaW50Q29uZmlnPzogRmxvYXRpbmdFbnRyeVBvaW50Q29uZmlnO1xuICAgIGNoYXRQcmV2aWV3Q29uZmlnPzogQ2hhdFByZXZpZXdDb25maWc7XG4gICAgY3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb246IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uO1xuICAgIGNvbnZlcnNhdGlvbmFsU2VhcmNoPzogQ29udmVyc2F0aW9uYWxTZWFjaDtcbiAgICBtZXJjaGFudE92ZXJyaWRlQ3NzPzogc3RyaW5nO1xuICAgIGhpZGRlbkVsZW1lbnRTZWxlY3RvcnM/OiBzdHJpbmdbXTtcbiAgICBtZXJjaGFudFZhcmlhbnRTZXR0aW5ncz86IE1lcmNoYW50VmFyaWFudFNldHRpbmdzO1xuICAgIGZsb2F0aW5nQ2hhdENvbmZpZzogRmxvYXRpbmdDaGF0Q29uZmlnO1xuICAgIHNlYXJjaENvbmZpZzogU2VhcmNoQ29uZmlnO1xuICAgIGNoYXRIZWFkZXI6IENoYXRIZWFkZXJDb25maWc7XG4gICAgc3RpY2t5QWdlbnRTd2l0Y2hTdWdnZXN0aW9uPzogYm9vbGVhbjtcbiAgICBwYXJ0aWFsVmlld0NvbmZpZzogUGFydGlhbFZpZXdDb25maWc7XG4gICAgd2VsY29tZVNlY3Rpb25Db25maWc/OiBXZWxjb21lU2VjdGlvbkNvbmZpZztcbiAgICBwcm9kdWN0Q2FyZENvbmZpZz86IFByb2R1Y3RDYXJkQ29uZmlnO1xuICAgIHByb2R1Y3RSZXZpZXdDb25maWc/OiBQcm9kdWN0UmV2aWV3Q29uZmlnO1xuICAgIHBhZ2VDYXJkQ29uZmlnPzogUGFnZUNhcmRDb25maWc7XG4gICAgY2hhdE1lc3NhZ2VDb25maWc6IENoYXRNZXNzYWdlQ29uZmlnO1xufTtcbnR5cGUgSW5zZXJ0aW9uUG9pbnQgPSB7XG4gICAgc2VsZWN0b3I6IHN0cmluZztcbiAgICBzZWxlY3Rpb25JbmRleD86IG51bWJlcjtcbiAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlO1xufTtcbnR5cGUgVVJMVGVzdCA9ICdzaG9waWZ5JyB8ICdudWxsJztcbnR5cGUgSWRFeHRyYWN0b3IgPSAnc2hvcGlmeS1wcm9kdWN0LWlkJyB8ICdzaG9waWZ5LWNvbGxlY3Rpb24taWQnIHwgJ3Nob3BpZnktcHJvZHVjdC12YXJpYW50LWlkJyB8ICd1cmwtcmVzb2x2ZXItcHJvZHVjdC1pZCcgfCAndXJsLXJlc29sdmVyLXBscC1pZCcgfCAnbnVsbCc7XG5kZWNsYXJlIGVudW0gQ2F0ZWdvcnlFeHRyYWN0b3JUeXBlIHtcbiAgICBWaXNpdENhdGVnb3J5TWFwID0gXCJWaXNpdENhdGVnb3J5TWFwXCIsXG4gICAgVmlzaXRDYXRlZ29yeURlZmF1bHQgPSBcIlZpc2l0Q2F0ZWdvcnlEZWZhdWx0XCJcbn1cbmludGVyZmFjZSBCYXNlQ2F0ZWdvcnlFeHRyYWN0b3I8VCBleHRlbmRzIENhdGVnb3J5RXh0cmFjdG9yVHlwZT4ge1xuICAgIHR5cGU6IFQ7XG59XG5pbnRlcmZhY2UgVmlzaXRDYXRlZ29yeU1hcCBleHRlbmRzIEJhc2VDYXRlZ29yeUV4dHJhY3RvcjxDYXRlZ29yeUV4dHJhY3RvclR5cGUuVmlzaXRDYXRlZ29yeU1hcD4ge1xuICAgIG1hcDoge1xuICAgICAgICBba2V5IGluIFBhZ2VWaXNpdENhdGVnb3J5XT86IHN0cmluZ1tdO1xuICAgIH07XG59XG5pbnRlcmZhY2UgVmlzaXRDYXRlZ29yeURlZmF1bHQgZXh0ZW5kcyBCYXNlQ2F0ZWdvcnlFeHRyYWN0b3I8Q2F0ZWdvcnlFeHRyYWN0b3JUeXBlLlZpc2l0Q2F0ZWdvcnlEZWZhdWx0PiB7XG4gICAgdmFsdWU6IFBhZ2VWaXNpdENhdGVnb3J5O1xufVxudHlwZSBDYXRlZ29yeUV4dHJhY3RvciA9IFZpc2l0Q2F0ZWdvcnlNYXAgfCBWaXNpdENhdGVnb3J5RGVmYXVsdDtcbnR5cGUgV3JhcHBpbmdFbGVtZW50ID0ge1xuICAgIGNsYXNzTmFtZTogc3RyaW5nO1xuICAgIGVsZW1lbnQ6IHN0cmluZztcbiAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlO1xufTtcbmRlY2xhcmUgZW51bSBQYWdlVmFyaWFudFRlc3RUeXBlIHtcbiAgICBQYWdlQ2F0ZWdvcnkgPSBcIlBhZ2VDYXRlZ29yeVwiLFxuICAgIENhdGFsb2dDYXRlZ29yeSA9IFwiQ2F0YWxvZ0NhdGVnb3J5XCIsXG4gICAgVG9wQ2F0YWxvZ0NhdGVnb3J5ID0gXCJUb3BDYXRhbG9nQ2F0ZWdvcnlcIixcbiAgICBIYXNSZXZpZXdzID0gXCJIYXNSZXZpZXdzXCIsXG4gICAgSW5Db2xsZWN0aW9uID0gXCJJbkNvbGxlY3Rpb25cIixcbiAgICBIYXNNZXJjaGFudFRhZyA9IFwiSGFzTWVyY2hhbnRUYWdcIixcbiAgICBGZWF0dXJlR2F0ZSA9IFwiRmVhdHVyZUdhdGVcIixcbiAgICBQbHBJZCA9IFwiUGxwSWRcIixcbiAgICBRdWVyeVBhcmFtID0gXCJRdWVyeVBhcmFtXCIsXG4gICAgUHJvZHVjdElkID0gXCJQcm9kdWN0SWRcIixcbiAgICBVc2VySGFzSW50ZXJhY3RlZCA9IFwiVXNlckhhc0ludGVyYWN0ZWRcIixcbiAgICBVc2VySGFzTm90SW50ZXJhY3RlZCA9IFwiVXNlckhhc05vdEludGVyYWN0ZWRcIixcbiAgICBpc0xvYWRpbmcgPSBcImlzTG9hZGluZ1wiLFxuICAgIGlzUHJvZHVjdENvbXBhcmlzb24gPSBcImlzUHJvZHVjdENvbXBhcmlzb25cIixcbiAgICBGYWxsYmFjayA9IFwiRmFsbGJhY2tcIixcbiAgICBVcmxSZXNvbHZlciA9IFwiVXJsUmVzb2x2ZXJcIixcbiAgICBpc1NjcmVlbldpZHRoU21hbGxlciA9IFwiaXNTY3JlZW5XaWR0aFNtYWxsZXJcIixcbiAgICBOdWxsID0gXCJudWxsXCJcbn1cbmludGVyZmFjZSBCYXNlUGFnZVZhcmlhbnRUZXN0PFQgZXh0ZW5kcyBQYWdlVmFyaWFudFRlc3RUeXBlPiB7XG4gICAgdGVzdFR5cGU6IFQ7XG59XG5pbnRlcmZhY2UgVG9wQ2F0YWxvZ0NhdGVnb3J5IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLlRvcENhdGFsb2dDYXRlZ29yeT4ge1xuICAgIHRvcENhdGVnb3J5OiBzdHJpbmdbXTtcbn1cbmludGVyZmFjZSBDYXRhbG9nQ2F0ZWdvcnlUZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkNhdGFsb2dDYXRlZ29yeT4ge1xuICAgIGNhdGVnb3J5OiBTdXBwb3J0ZWRFdmVudFByb2R1Y3RDYXRlZ29yeTtcbn1cbmludGVyZmFjZSBIYXNSZXZpZXdzVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5IYXNSZXZpZXdzPiB7XG4gICAgcmV2aWV3TWluaW11bT86IG51bWJlcjtcbn1cbmludGVyZmFjZSBJbkNvbGxlY3Rpb25UZXN0IGV4dGVuZHMgQmFzZVBhZ2VWYXJpYW50VGVzdDxQYWdlVmFyaWFudFRlc3RUeXBlLkluQ29sbGVjdGlvbj4ge1xuICAgIGNvbGxlY3Rpb25zOiBzdHJpbmdbXTtcbn1cbmludGVyZmFjZSBIYXNNZXJjaGFudFRhZ1Rlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuSGFzTWVyY2hhbnRUYWc+IHtcbiAgICBtZXJjaGFudFRhZ3M6IHN0cmluZ1tdO1xufVxuaW50ZXJmYWNlIFBhZ2VDYXRlZ29yeVRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuUGFnZUNhdGVnb3J5PiB7XG4gICAgZXh0cmFjdG9yOiBDYXRlZ29yeUV4dHJhY3Rvcjtcbn1cbmludGVyZmFjZSBGZWF0dXJlR2F0ZVRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuRmVhdHVyZUdhdGU+IHtcbiAgICBmZWF0dXJlR2F0ZTogRmVhdHVyZUdhdGVzO1xufVxuaW50ZXJmYWNlIFByb2R1Y3RJZFRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuUHJvZHVjdElkPiB7XG4gICAgcHJvZHVjdElkRXh0cmFjdG9yOiBJZEV4dHJhY3RvcjtcbiAgICBwcm9kdWN0SWRzOiBzdHJpbmdbXTtcbn1cbmludGVyZmFjZSBQbHBJZFRlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuUGxwSWQ+IHtcbiAgICBwbHBJZEV4dHJhY3RvcjogSWRFeHRyYWN0b3I7XG4gICAgcGxwSWRzOiBzdHJpbmdbXTtcbn1cbmludGVyZmFjZSBRdWVyeVBhcmFtVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5RdWVyeVBhcmFtPiB7XG4gICAgcXVlcnlQYXJhbTogc3RyaW5nO1xufVxuaW50ZXJmYWNlIFVzZXJIYXNJbnRlcmFjdGVkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5Vc2VySGFzSW50ZXJhY3RlZD4ge1xufVxuaW50ZXJmYWNlIFVzZXJIYXNOb3RJbnRlcmFjdGVkVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5Vc2VySGFzTm90SW50ZXJhY3RlZD4ge1xufVxuaW50ZXJmYWNlIElzTG9hZGluZ1Rlc3QgZXh0ZW5kcyBCYXNlUGFnZVZhcmlhbnRUZXN0PFBhZ2VWYXJpYW50VGVzdFR5cGUuaXNMb2FkaW5nPiB7XG59XG5pbnRlcmZhY2UgSXNQcm9kdWN0Q29tcGFyaXNvbiBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5pc1Byb2R1Y3RDb21wYXJpc29uPiB7XG59XG5pbnRlcmZhY2UgUGFnZUZhbGxiYWNrVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5GYWxsYmFjaz4ge1xufVxuaW50ZXJmYWNlIFVybFJlc29sdmVyVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlcj4ge1xufVxuaW50ZXJmYWNlIElzU2NyZWVuV2lkdGhTbWFsbGVyVGVzdCBleHRlbmRzIEJhc2VQYWdlVmFyaWFudFRlc3Q8UGFnZVZhcmlhbnRUZXN0VHlwZS5pc1NjcmVlbldpZHRoU21hbGxlcj4ge1xuICAgIGJyZWFrcG9pbnQ6IG51bWJlcjtcbn1cbmV4cG9ydCB0eXBlIFBhZ2VWYXJpYW50VGVzdCA9IFBhZ2VDYXRlZ29yeVRlc3QgfCBDYXRhbG9nQ2F0ZWdvcnlUZXN0IHwgVG9wQ2F0YWxvZ0NhdGVnb3J5IHwgSGFzUmV2aWV3c1Rlc3QgfCBJbkNvbGxlY3Rpb25UZXN0IHwgSGFzTWVyY2hhbnRUYWdUZXN0IHwgRmVhdHVyZUdhdGVUZXN0IHwgUHJvZHVjdElkVGVzdCB8IFBscElkVGVzdCB8IFF1ZXJ5UGFyYW1UZXN0IHwgVXNlckhhc0ludGVyYWN0ZWRUZXN0IHwgVXNlckhhc05vdEludGVyYWN0ZWRUZXN0IHwgSXNMb2FkaW5nVGVzdCB8IElzUHJvZHVjdENvbXBhcmlzb24gfCBQYWdlRmFsbGJhY2tUZXN0IHwgVXJsUmVzb2x2ZXJUZXN0IHwgSXNTY3JlZW5XaWR0aFNtYWxsZXJUZXN0O1xuLyoqXG4gKiBDb25maWd1cmF0aW9uIGZvciB0aGUgc29jaWFsIHByb29mIGVtYmVkZGVkIHdpZGdldFxuICpcbiAqIEBwYXJhbSBoZWFkZXJUaXRsZSAtIFRoZSB0aXRsZSB0ZXh0IHRvIGRpc3BsYXkgaW4gdGhlIHdpZGdldCBoZWFkZXJcbiAqIEBwYXJhbSBzdGF0aWNTdWdnZXN0aW9ucyAtIEEgbGlzdCBvZiBzdHJpbmdzIHRvIGRpc3BsYXkgYXMgc3VnZ2VzdGlvbnMgaW4gdGhlIHdpZGdldFxuICogQHBhcmFtIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50RGVmYXVsdCAtIFRoZSB2YXJpYW50IG9mIHRoZSBzdWdnZXN0aW9uIGJ1dHRvbiB0byBkaXNwbGF5IGluIHRoZSB3aWRnZXQgZm9vdGVyXG4gKiBAcGFyYW0gc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnRBY2NlbnQgLSBUaGUgdmFyaWFudCBvZiB0aGUgc3VnZ2VzdGlvbiBidXR0b24gdG8gZGlzcGxheSBpbiB0aGUgd2lkZ2V0IGJvZHlcbiAqIEBwYXJhbSBzdGF0aWNJbWFnZUluZGV4IC0gSW5kZXggb2YgdGhlIGltYWdlVXJsIHRvIHVzZSBmcm9tIHRoZSBwcm9kdWN0IHJlc3BvbnNlXG4gKi9cbmludGVyZmFjZSBTb2NpYWxQcm9vZkNvbmZpZyB7XG4gICAgY3VzdG9tZXJRdWVyeTogc3RyaW5nO1xuICAgIGhlYWRlclRpdGxlOiBzdHJpbmc7XG4gICAgc3RhdGljUExQSW1hZ2VzTGF5b3V0PzogJ2dyaWQnIHwgJ2hvcml6b250YWwnO1xuICAgIGhlYWRlckZvbnRGYW1pbHk/OiBzdHJpbmc7XG4gICAgc3RhdGljUExQSW1hZ2VOYW1lcz86IHN0cmluZ1tdO1xuICAgIHN0YXRpY0ltYWdlSW5kZXg/OiBudW1iZXI7XG4gICAgc3VnZ2VzdGlvbkJ1dHRvblN0cmluZ3M6IHN0cmluZ1tdO1xuICAgIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50RGVmYXVsdDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnRBY2NlbnQ/OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICBzdWdnZXN0aW9uQnV0dG9uRGF0YUF0dHJpYnV0ZXM/OiBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZz86IFVzZXJRdWVyeUJ1dHRvbkNvbmZpZztcbiAgICBsb2dvTmFtZT86IHN0cmluZztcbn1cbi8qKlxuICogQ29uZmlndXJhdGlvbiBmb3IgY3JlYXRpbmcgdGhlIG1vdW50IHBvaW50IGZvciBhIHdpZGdldFxuICpcbiAqIEBwYXJhbSBjbGFzc05hbWUgLSBPcHRpb25hbCBjbGFzcyBuYW1lIHRvIGFwcGx5IHRvIHRoZSBtb3VudCBwb2ludC4gVGFpbHdpbmQgY2xhc3NlcyBhcmUgc3VwcG9ydGVkXG4gKiBhbmQgZW5jb3VyYWdlZC4gVXNlIHRoaXMgcGFyYW1ldGVyIHRvIHN0eWxlIHRoZSBtb3VudGluZyBjb250YWluZXIgZm9yIHRoZSB3aWRnZXQuXG4gKi9cbmV4cG9ydCB0eXBlIFdpZGdldE1vdW50aW5nQ29uZmlnID0ge1xuICAgIG1vdW50aW5nQ29uZmlnSWQ6IHN0cmluZztcbiAgICBjb250YWluZXJJZDogc3RyaW5nO1xuICAgIHRlc3RJZDogc3RyaW5nO1xuICAgIHBhcmVudEluc2VydGlvblBvaW50PzogSW5zZXJ0aW9uUG9pbnQ7XG4gICAgaW5zZXJ0aW9uUG9pbnQ6IEluc2VydGlvblBvaW50O1xuICAgIGdyaWRJbnNlcnRpb25UeXBlPzogR3JpZEluc2VydGlvblR5cGU7XG4gICAgd3JhcHBpbmdFbGVtZW50PzogV3JhcHBpbmdFbGVtZW50O1xuICAgIGRpdkNoZWNrU2VsZWN0b3I/OiBzdHJpbmc7XG4gICAgc3VwcHJlc3Npb25TZWxlY3Rvcj86IHN0cmluZztcbiAgICBzdHlsZT86IFBhcnRpYWw8Q1NTU3R5bGVEZWNsYXJhdGlvbj47XG4gICAgY2xhc3NOYW1lPzogc3RyaW5nO1xuICAgIGRhdGFBdHRyaWJ1dGVzPzogUmVjb3JkPHN0cmluZywgc3RyaW5nPjtcbn07XG50eXBlIFN0YXRpY1dpZGdldE1vdW50aW5nID0ge1xuICAgIG1vdW50aW5nQ29uZmlnSWQ6IHN0cmluZztcbiAgICB3aWRnZXRDb25maWdJZDogc3RyaW5nO1xufTtcbnR5cGUgRHluYW1pY1dpZGdldE1vdW50aW5nID0ge1xuICAgIG1vdW50aW5nQ29uZmlnSWQ6IHN0cmluZztcbiAgICBtb3VudGluZ1BvaW50V2lkZ2V0czogV2lkZ2V0RGlzcGxheVRlc3RzW107XG59O1xudHlwZSBXaWRnZXREaXNwbGF5VGVzdHMgPSB7XG4gICAgdGVzdHM6IFBhZ2VWYXJpYW50VGVzdFtdO1xuICAgIHdpZGdldENvbmZpZ0lkOiBzdHJpbmc7XG59O1xudHlwZSBXaWRnZXRNb3VudGluZyA9IFN0YXRpY1dpZGdldE1vdW50aW5nIHwgRHluYW1pY1dpZGdldE1vdW50aW5nO1xuZGVjbGFyZSBlbnVtIFdpZGdldFR5cGUge1xuICAgIENoYXRQcmV2aWV3ID0gXCJDaGF0UHJldmlld1wiLFxuICAgIFNvY2lhbFByb29mVjIgPSBcIlNvY2lhbFByb29mVjJcIixcbiAgICBDaGF0UHJldmlld1YyID0gXCJDaGF0UHJldmlld1YyXCIsXG4gICAgQ2hhdFByZXZpZXdJc0xvYWRpbmcgPSBcIkNoYXRQcmV2aWV3SXNMb2FkaW5nXCIsXG4gICAgQ2hhdFByZXZpZXdQb3N0SW50ZXJhY3Rpb24gPSBcIkNoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uXCIsXG4gICAgQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbiA9IFwiQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvblwiLFxuICAgIFN1Z2dlc3Rpb25CYXIgPSBcIlN1Z2dlc3Rpb25CYXJcIixcbiAgICBTdWdnZXN0aW9uQmFyVjIgPSBcIlN1Z2dlc3Rpb25CYXJWMlwiLFxuICAgIEltYWdlUHJvbXB0Q2FyZCA9IFwiSW1hZ2VQcm9tcHRDYXJkXCIsXG4gICAgSW1hZ2VCYW5uZXIgPSBcIkltYWdlQmFubmVyXCIsXG4gICAgU2luZ2xlSW1hZ2VQcm9tcHQgPSBcIlNpbmdsZUltYWdlUHJvbXB0XCIsXG4gICAgU2VhcmNoUHJvbXB0ID0gXCJTZWFyY2hQcm9tcHRcIixcbiAgICBTZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50ID0gXCJTZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50XCIsXG4gICAgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnQgPSBcIlNlYXJjaFJlc3VsdHNFbnRyeVBvaW50XCIsXG4gICAgU2VhcmNoT3ZlcmxheUhvc3QgPSBcIlNlYXJjaE92ZXJsYXlIb3N0XCIsXG4gICAgTm9PcCA9IFwiTm9PcFwiXG59XG50eXBlIFdpZGdldENvbmZpZyA9IENoYXRQcmV2aWV3V2lkZ2V0Q29uZmlnIHwgU29jaWFsUHJvb2ZWMldpZGdldENvbmZpZyB8IENoYXRQcmV2aWV3VjJXaWRnZXRDb25maWcgfCBDaGF0UHJldmlld1Bvc3RJbnRlcmFjdGlvbldpZGdldENvbmZpZyB8IENoYXRQcmV2aWV3SXNMb2FkaW5nV2lkZ2V0Q29uZmlnIHwgQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbldpZGdldENvbmZpZyB8IFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyB8IEltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnIHwgSW1hZ2VCYW5uZXJXaWRnZXRDb25maWcgfCBTaW5nbGVJbWFnZVByb21wdFdpZGdldENvbmZpZyB8IFNlYXJjaFByb21wdFdpZGdldENvbmZpZyB8IFNlYXJjaEVudHJ5UG9pbnRXaWRnZXRDb25maWcgfCBTZWFyY2hSZXN1bHRzRW50cnlQb2ludFdpZGdldENvbmZpZyB8IFNlYXJjaE92ZXJsYXlIb3N0V2lkZ2V0Q29uZmlnIHwgTm9PcFdpZGdldENvbmZpZztcbmludGVyZmFjZSBCYXNlV2lkZ2V0Q29uZmlnPFQgZXh0ZW5kcyBXaWRnZXRUeXBlPiB7XG4gICAgd2lkZ2V0Q29uZmlnSWQ6IHN0cmluZztcbiAgICB0eXBlOiBUO1xuICAgIGNvbnRlbnRJZD86IHN0cmluZztcbn1cbmludGVyZmFjZSBJbWFnZUJhbm5lcldpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5JbWFnZUJhbm5lcj4ge1xuICAgIGltYWdlU3JjOiBzdHJpbmc7XG4gICAgdGl0bGU6IHN0cmluZztcbiAgICBzdWJ0aXRsZTogc3RyaW5nO1xuICAgIGFzc2lzdGFudE1lc3NhZ2U6IHN0cmluZztcbn1cbmludGVyZmFjZSBDaGF0UHJldmlld1dpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlldz4ge1xuICAgIHZhcmlhbnQ6ICdmaWxsZWQnIHwgJ2ZsYXQnIHwgJ291dGxpbmVkJztcbiAgICBhZGRTZXBhcmF0b3JzPzogYm9vbGVhbjtcbiAgICBzb2NpYWxQcm9vZkNvbmZpZz86IFNvY2lhbFByb29mQ29uZmlnO1xuICAgIGZvb3RlckNvbmZpZz86IENoYXRQcmV2aWV3Rm9vdGVyQ29uZmlnO1xufVxuaW50ZXJmYWNlIENoYXRQcmV2aWV3SGVhZGVyVjJDb25maWcge1xuICAgIHRpdGxlPzogc3RyaW5nO1xuICAgIGltYWdlU3JjPzogc3RyaW5nO1xuICAgIGltYWdlSGVpZ2h0PzogbnVtYmVyO1xufVxudHlwZSBTaW5nbGVJbWFnZUNvbmZpZyA9IHtcbiAgICBsYXlvdXQ6ICdzaW5nbGUnO1xuICAgIGltYWdlSW5kZXg6IG51bWJlcjtcbn07XG50eXBlIE11bHRpSW1hZ2VDb25maWcgPSB7XG4gICAgbGF5b3V0OiAnZ3JpZCcgfCAnaG9yaXpvbnRhbCc7XG4gICAgaW1hZ2VOYW1lczogc3RyaW5nW107XG59O1xudHlwZSBTb2NpYWxQcm9vZkltYWdlQ29uZmlnID0gU2luZ2xlSW1hZ2VDb25maWcgfCBNdWx0aUltYWdlQ29uZmlnO1xudHlwZSBDaGF0UHJldmlld1N1Z2dlc3Rpb25CdXR0b25Db25maWcgPSB7XG4gICAgYnV0dG9uU3RyaW5nczogc3RyaW5nW107XG4gICAgYWNjZW50QnV0dG9uVmFyaWFudHM/OiB7XG4gICAgICAgIGJ1dHRvbjogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgICAgIGhvdmVyOiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICB9O1xuICAgIGJ1dHRvblZhcmlhbnRzOiB7XG4gICAgICAgIGJ1dHRvbjogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgICAgIGhvdmVyOiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICB9O1xuICAgIG51bVJvd3M/OiBOdW1Sb3dzO1xufTtcbnR5cGUgQ2hhdFByZXZpZXdBbmltYXRlZFRleHRDb25maWcgPSB7XG4gICAgbGVhZGluZ1RleHQ6IHN0cmluZztcbiAgICBhbmltYXRlZFN0cmluZ3M6IHN0cmluZ1tdO1xufTtcbnR5cGUgQ2hhdFByZXZpZXdWYXJpYW50ID0ge1xuICAgIHZhcmlhbnQ6ICdmbGF0Jztcbn0gfCB7XG4gICAgdmFyaWFudDogJ2ZpbGxlZCc7XG4gICAgYmFja2dyb3VuZEZpbGxDb2xvcjogc3RyaW5nO1xufSB8IHtcbiAgICB2YXJpYW50OiAnb3V0bGluZWQnO1xufTtcbmludGVyZmFjZSBCYXNlQ2hhdFByZXZpZXdDb25maWcge1xuICAgIGhlYWRlckNvbmZpZzogQ2hhdFByZXZpZXdIZWFkZXJWMkNvbmZpZztcbiAgICBzdWdnZXN0aW9uQnV0dG9uc0NvbmZpZzogQ2hhdFByZXZpZXdTdWdnZXN0aW9uQnV0dG9uQ29uZmlnO1xuICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzogVXNlclF1ZXJ5QnV0dG9uQ29uZmlnO1xuICAgIGNoYXRQcmV2aWV3VmFyaWFudDogQ2hhdFByZXZpZXdWYXJpYW50O1xuICAgIGFkZFNlcGFyYXRvcnM/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIENoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uV2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkNoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uPiwgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgICBjaGF0UHJldmlld1ZhcmlhbnQ6IENoYXRQcmV2aWV3VmFyaWFudDtcbiAgICBhZGRTZXBhcmF0b3JzPzogYm9vbGVhbjtcbn1cbmludGVyZmFjZSBDaGF0UHJldmlld0lzTG9hZGluZ1dpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlld0lzTG9hZGluZz4sIEJhc2VDaGF0UHJldmlld0NvbmZpZyB7XG59XG5pbnRlcmZhY2UgQ2hhdFByZXZpZXdQcm9kdWN0Q29tcGFyaXNvbldpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5DaGF0UHJldmlld1Byb2R1Y3RDb21wYXJpc29uPiwgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgICB1c2VMYXJnZVByb2R1Y3RDb21wYXJpc29uPzogYm9vbGVhbjtcbn1cbmludGVyZmFjZSBDaGF0UHJldmlld1YyV2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLkNoYXRQcmV2aWV3VjI+LCBCYXNlQ2hhdFByZXZpZXdDb25maWcge1xuICAgIGFuaW1hdGVkVGV4dENvbmZpZzogQ2hhdFByZXZpZXdBbmltYXRlZFRleHRDb25maWc7XG59XG5pbnRlcmZhY2UgU29jaWFsUHJvb2ZWMldpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5Tb2NpYWxQcm9vZlYyPiwgQmFzZUNoYXRQcmV2aWV3Q29uZmlnIHtcbiAgICBjdXN0b21lclF1ZXJ5Pzogc3RyaW5nO1xuICAgIGltYWdlQ29uZmlnOiBTb2NpYWxQcm9vZkltYWdlQ29uZmlnO1xufVxuaW50ZXJmYWNlIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjI+IHtcbiAgICBtZXRyaWNEaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uO1xuICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzO1xuICAgIHZhcmlhbnQ6IFN1Z2dlc3Rpb25CdXR0b25WYXJpYW50O1xuICAgIGhvdmVyVmFyaWFudDogU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQ7XG4gICAgYnV0dG9uVGV4dHM6IHtcbiAgICAgICAgZGVmYXVsdDogc3RyaW5nW107XG4gICAgICAgIHByb2R1Y3RTcGVjaWZpYz86IHtcbiAgICAgICAgICAgIFtwcm9kdWN0SWQ6IHN0cmluZ106IHN0cmluZ1tdO1xuICAgICAgICB9O1xuICAgIH07XG4gICAgYm9sZEZpcnN0QnV0dG9uPzogYm9vbGVhbjtcbiAgICB0d29Sb3dzT25Nb2JpbGU/OiBib29sZWFuO1xuICAgIGFuaW1hdGlvblNwZWVkPzogJ3N0YW5kYXJkJyB8ICdzbG93JyB8ICdub25lJztcbiAgICBidXR0b25Cb3JkZXJSYWRpdXM/OiAnc20nIHwgJ21kJyB8ICdsZyc7XG59XG5pbnRlcmZhY2UgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuSW1hZ2VQcm9tcHRDYXJkPiB7XG4gICAgdXJsOiBzdHJpbmc7XG4gICAgbGlnaHRUZXh0PzogYm9vbGVhbjtcbiAgICB0aXRsZTogc3RyaW5nO1xuICAgIHN1YnRpdGxlOiBzdHJpbmdbXTtcbiAgICBzdGF0aWNTdWdnZXN0aW9uQ29waWVzOiBzdHJpbmdbXTtcbiAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IFVzZXJRdWVyeUJ1dHRvbkNvbmZpZztcbiAgICBmYWxsYmFja0JhY2tncm91bmRDb2xvcj86IHN0cmluZztcbn1cbmludGVyZmFjZSBTaW5nbGVJbWFnZVByb21wdFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TaW5nbGVJbWFnZVByb21wdD4ge1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgc3RhdGljU3VnZ2VzdGlvbkNvcGllczogc3RyaW5nW107XG4gICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiBVc2VyUXVlcnlCdXR0b25Db25maWc7XG59XG5pbnRlcmZhY2UgU2VhcmNoRW50cnlQb2ludFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50PiB7XG4gICAgc2VhcmNoWmVyb1N0YXRlVmFyaWFudDogU2VhcmNoWmVyb1N0YXRlVmFyaWFudDtcbiAgICBzZWFyY2hJbnB1dFZhcmlhbnQ6IFNlYXJjaElucHV0VmFyaWFudDtcbiAgICBzZWFyY2hJY29uVmFyaWFudD86IFNlYXJjaEljb25WYXJpYW50O1xuICAgIHNlYXJjaEljb25TaXplPzogbnVtYmVyO1xuICAgIHN1Z2dlc3Rpb25CdXR0b25Db25maWc6IFN1Z2dlc3Rpb25CdXR0b25Db25maWc7XG4gICAgbGF5b3V0OiBTZWFyY2haZXJvU3RhdGVMYXlvdXQ7XG4gICAgc2VhcmNoQm94UGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICBhbmltYXRpb25TcGVlZD86ICdzdGFuZGFyZCcgfCAnc2xvdycgfCAnbm9uZSc7XG4gICAgY29tcGFjdExhYmVsPzogc3RyaW5nO1xuICAgIGluaXRpYWxTdWdnZXN0aW9ucz86IHN0cmluZ1tdO1xuICAgIHVzaW5nUG9ydGFsPzogYm9vbGVhbjtcbiAgICBpbmNsdWRlU3VidGl0bGU/OiBib29sZWFuO1xufVxuaW50ZXJmYWNlIE5vT3BXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuTm9PcD4ge1xufVxuaW50ZXJmYWNlIFNlYXJjaE92ZXJsYXlIb3N0V2lkZ2V0Q29uZmlnIGV4dGVuZHMgQmFzZVdpZGdldENvbmZpZzxXaWRnZXRUeXBlLlNlYXJjaE92ZXJsYXlIb3N0PiB7XG59XG5pbnRlcmZhY2UgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRXaWRnZXRDb25maWcgZXh0ZW5kcyBCYXNlV2lkZ2V0Q29uZmlnPFdpZGdldFR5cGUuU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnQ+IHtcbiAgICBzZWFyY2hJbnB1dFZhcmlhbnQ6IFNlYXJjaElucHV0VmFyaWFudDtcbiAgICBzZWFyY2hGaWx0ZXJTaWRlYmFyVmFyaWFudDogU2VhcmNoRmlsdGVyU2lkZWJhclZhcmlhbnQ7XG4gICAgcHJvZHVjdEdyaWRWYXJpYW50OiBQcm9kdWN0R3JpZFZhcmlhbnQ7XG4gICAgc2VhcmNoQm94UGxhY2Vob2xkZXI6IHN0cmluZztcbiAgICBub1Jlc3VsdHNGb3VuZFRleHQ/OiBzdHJpbmc7XG59XG5leHBvcnQgaW50ZXJmYWNlIFdpZGdldEhlYWRlclByb3BzIGV4dGVuZHMgVGVzdFByb3BzIHtcbiAgICB0aXRsZT86IHN0cmluZztcbiAgICBsb2dvPzogc3RyaW5nO1xuICAgIGxvZ29IZWlnaHQ/OiBudW1iZXI7XG4gICAgb3JnU2hvcnROYW1lOiBzdHJpbmc7XG4gICAgdmFyaWFudD86IFNlYXJjaFByb21wdFZhcmlhbnQ7XG59XG5leHBvcnQgaW50ZXJmYWNlIFVzZXJRdWVyeU9wdGlvbnMge1xuICAgIGZvb3RlclZhcmlhbnQ/OiAnc3RhbmRhcmQnO1xuICAgIHJlcGx5QnV0dG9uVGV4dD86IHN0cmluZztcbiAgICByZXBseUJ1dHRvbkljb24/OiAnbWFnbmlmeWluZ0dsYXNzJyB8ICdzZW5kJyB8ICd0aGluTWFnbmlmeWluZ0dsYXNzJyB8ICdhaS1zZWFyY2gnO1xufVxudHlwZSBTZWFyY2hQcm9tcHRWYXJpYW50ID0gJ3ByaW1hcnknO1xuaW50ZXJmYWNlIFNlYXJjaFByb21wdFdpZGdldENvbmZpZyBleHRlbmRzIEJhc2VXaWRnZXRDb25maWc8V2lkZ2V0VHlwZS5TZWFyY2hQcm9tcHQ+IHtcbiAgICB2YXJpYW50OiBTZWFyY2hQcm9tcHRWYXJpYW50O1xuICAgIHRpdGxlOiBzdHJpbmc7XG4gICAgaGVhZGVyQ29uZmlnOiBXaWRnZXRIZWFkZXJQcm9wcztcbiAgICBzdWdnZXN0aW9uQnV0dG9uczoge1xuICAgICAgICB2YXJpYW50OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICAgICAgaG92ZXJWYXJpYW50OiBTdWdnZXN0aW9uQnV0dG9uVmFyaWFudDtcbiAgICAgICAgYnV0dG9uVGV4dHM6IHN0cmluZ1tdO1xuICAgIH07XG4gICAgZm9vdGVyQ29uZmlnPzogVXNlclF1ZXJ5T3B0aW9ucztcbn1cbnR5cGUgUGFnZVZhcmlhbnRCYXNlID0ge1xuICAgIHZhcmlhbnRJZDogc3RyaW5nO1xuICAgIHdpZGdldE1vdW50aW5nOiBXaWRnZXRNb3VudGluZ1tdO1xuICAgIHZhcmlhbnRUZXN0czogUGFnZVZhcmlhbnRUZXN0W107XG59O1xudHlwZSBQTFBQYWdlVmFyaWFudCA9IFBhZ2VWYXJpYW50QmFzZSAmIHtcbiAgICB2YXJpYW50VHlwZTogJ3BscCc7XG4gICAgcGxwSWRFeHRyYWN0b3I6IElkRXh0cmFjdG9yO1xufTtcbnR5cGUgUERQUGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gICAgdmFyaWFudFR5cGU6ICdwZHAnO1xuICAgIHBhcmVudFByb2R1Y3RJZEV4dHJhY3Rvcj86IElkRXh0cmFjdG9yO1xuICAgIHByb2R1Y3RJZEV4dHJhY3RvcjogSWRFeHRyYWN0b3I7XG59O1xudHlwZSBWaXNpdFBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICAgIHZhcmlhbnRUeXBlOiAncGFnZV92aXNpdCc7XG59O1xudHlwZSBPdGhlclBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICAgIHZhcmlhbnRUeXBlOiAnb3RoZXInO1xufTtcbnR5cGUgSG9tZVBhZ2VWYXJpYW50ID0gUGFnZVZhcmlhbnRCYXNlICYge1xuICAgIHZhcmlhbnRUeXBlOiAnaG9tZXBhZ2UnO1xufTtcbnR5cGUgU2VhcmNoUGFnZVZhcmlhbnQgPSBQYWdlVmFyaWFudEJhc2UgJiB7XG4gICAgdmFyaWFudFR5cGU6ICdzZWFyY2gnO1xufTtcbmV4cG9ydCB0eXBlIFBhZ2VWYXJpYW50Q29uZmlnID0gUExQUGFnZVZhcmlhbnQgfCBQRFBQYWdlVmFyaWFudCB8IFZpc2l0UGFnZVZhcmlhbnQgfCBPdGhlclBhZ2VWYXJpYW50IHwgSG9tZVBhZ2VWYXJpYW50IHwgU2VhcmNoUGFnZVZhcmlhbnQ7XG5leHBvcnQgdHlwZSBPcmdQYWdlQ29uZmlnID0ge1xuICAgIHBhZ2VWYXJpYW50czogUGFnZVZhcmlhbnRDb25maWdbXTtcbiAgICB3aWRnZXRDb25maWdzOiBSZWNvcmQ8c3RyaW5nLCBXaWRnZXRDb25maWdWMz47XG4gICAgbW91bnRpbmdDb25maWdzOiBSZWNvcmQ8c3RyaW5nLCBXaWRnZXRNb3VudGluZ0NvbmZpZz47XG59O1xuZXhwb3J0IHR5cGUgT3JnQ29uZmlnID0gT3JnVUlDb25maWc7XG5leHBvcnQgeyBDYXRlZ29yeUV4dHJhY3RvclR5cGUsIENvbG9yTmFtZXMsIGNvbG9yVmFyLCBQYWdlVmFyaWFudFRlc3RUeXBlLCBXaWRnZXRUeXBlIH07XG5leHBvcnQgaW50ZXJmYWNlIEVudml2ZUNvbmZpZyB7XG4gICAgYW1wbGl0dWRlQXBpS2V5Pzogc3RyaW5nO1xuICAgIGRhdGFSZXNpZGVuY3k/OiBzdHJpbmc7XG4gICAgZW52Pzogc3RyaW5nO1xuICAgIGJhc2VVcmw/OiBzdHJpbmc7XG4gICAgcmVhY3RBcHBOYW1lPzogc3RyaW5nO1xuICAgIGNkblVybD86IHN0cmluZztcbiAgICBjb250ZXh0U291cmNlPzogc3RyaW5nO1xuICAgIG9yZ0xldmVsQXBpS2V5Pzogc3RyaW5nO1xuICAgIG9yZ1Nob3J0TmFtZT86IHN0cmluZztcbiAgICBvcmdJZD86IHN0cmluZztcbiAgICBpZGVudGlmeWluZ1ByZWZpeD86IHN0cmluZztcbiAgICBmZWF0dXJlT3ZlcnJpZGVzPzogUmVjb3JkPHN0cmluZywgYm9vbGVhbj47XG4gICAgdmFyaWFudFVybE92ZXJyaWRlPzogc3RyaW5nO1xuICAgIHZhcmlhbnRJbmZvT3ZlcnJpZGU/OiBhbnk7XG4gICAgc2hvdz86IGJvb2xlYW47XG4gICAgcHVibGljS2V5Pzogc3RyaW5nO1xuICAgIGZlYXR1cmVHYXRlcz86IE9yZ0NvbmZpZ0ZlYXR1cmVHYXRlW107XG59XG5leHBvcnQgdHlwZSB7IENhdGVnb3J5RXh0cmFjdG9yLCBDaGF0TWVzc2FnZVZhcmlhbnQsIENoYXRNZXNzYWdlQ29uZmlnLCBDaGF0UHJldmlld0NvbmZpZywgQ2hhdFByZXZpZXdJc0xvYWRpbmdXaWRnZXRDb25maWcsIENoYXRQcmV2aWV3UG9zdEludGVyYWN0aW9uV2lkZ2V0Q29uZmlnLCBDaGF0UHJldmlld1Byb2R1Y3RDb21wYXJpc29uV2lkZ2V0Q29uZmlnLCBDaGF0UHJldmlld1N1Z2dlc3Rpb25CdXR0b25Db25maWcsIFNvY2lhbFByb29mVjJXaWRnZXRDb25maWcsIENoYXRQcmV2aWV3SGVhZGVyVjJDb25maWcsIENoYXRQcmV2aWV3VjJXaWRnZXRDb25maWcsIENoYXRQcmV2aWV3Rm9vdGVyQ29uZmlnLCBDaGF0UHJldmlld0hlYWRlckNvbmZpZywgQ2hhdFByZXZpZXdXaWRnZXRDb25maWcsIENoYXRQcmV2aWV3VmFyaWFudCwgQ29sb3JNYXBwaW5nLCBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbiwgRmxvYXRpbmdFbnRyeVBvaW50Q29uZmlnLCBGdWxsQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb24sIElkRXh0cmFjdG9yLCBJbWFnZUJhbm5lcldpZGdldENvbmZpZywgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcsIEluc2VydGlvblBvaW50LCBNdWx0aUltYWdlQ29uZmlnLCBNZXJjaGFudFZhcmlhbnRTZXR0aW5ncywgU2VhcmNoQ29uZmlnLCBPcmdVSUNvbmZpZywgUGFnZUNhcmRDb25maWcsIFBhZ2VDYXJkVmFyaWFudCwgUGFnZUNhcmRIb3ZlclZhcmlhbnQsIFBhZ2VDYXJkSWNvblZhcmlhbnQsIFByb2R1Y3RDYXJkQ29uZmlnLCBQcm9kdWN0Q2FyZFZhcmlhbnQsIFByb2R1Y3RDYXJkTGF5b3V0VmFyaWFudCwgUHJvZHVjdENhcmRIb3ZlclZhcmlhbnQsIFByb2R1Y3RMaW5rSG92ZXJWYXJpYW50LCBQcm9kdWN0TGlua0ljb25WYXJpYW50LCBQcm9kdWN0TGlua1ZhcmlhbnQsIFByb2R1Y3RSZXZpZXdDb25maWcsIFByb2R1Y3RSZXZpZXdTdHlsZVZhcmlhbnQsIFByb2R1Y3RSZXZpZXdDb2xvclZhcmlhbnQsIFNlYXJjaFByb21wdFZhcmlhbnQsIFNlYXJjaFByb21wdFdpZGdldENvbmZpZywgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRXaWRnZXRDb25maWcsIFNob3dGbG9hdGluZ0J1dHRvbk9wdGlvbnMsIFNpbmdsZUltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnLCBTZWFyY2hFbnRyeVBvaW50V2lkZ2V0Q29uZmlnLCBTZWFyY2hPdmVybGF5SG9zdFdpZGdldENvbmZpZywgU29jaWFsUHJvb2ZDb25maWcsIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZywgU3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZywgU3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnQsIFVSTFRlc3QsIFVzZXJRdWVyeUJ1dHRvbkNvbmZpZywgVXNlclF1ZXJ5QnV0dG9uSWNvbiwgV2VsY29tZVNlY3Rpb25Db25maWcsIFdlbGNvbWVTZWN0aW9uVmFyaWFudCwgV2VsY29tZVNlY3Rpb25Db2xvclZhcmlhbnQsIFdpZGdldENvbmZpZywgV3JhcHBpbmdFbGVtZW50LCBTZWFyY2hDYXJkVmFyaWFudCwgV2lkZ2V0RGlzcGxheVRlc3RzLCBOb09wV2lkZ2V0Q29uZmlnLCBXaWRnZXRNb3VudGluZywgU3RhdGljV2lkZ2V0TW91bnRpbmcsIER5bmFtaWNXaWRnZXRNb3VudGluZywgUERQUGFnZVZhcmlhbnQsIFBMUFBhZ2VWYXJpYW50LCBWaXNpdFBhZ2VWYXJpYW50LCBPdGhlclBhZ2VWYXJpYW50LCBIb21lUGFnZVZhcmlhbnQsIFNlYXJjaFBhZ2VWYXJpYW50LCBOdW1Sb3dzLCB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQVlBLElBQUksNEJBQTRCLENBQUMsR0FBRztBQUNwQyxJQUFJLDJCQUEyQixDQUFDLFVBQUEsMEJBQUE7QUFDaEMsSUFBSSx3QkFBd0IsQ0FBQyxHQUFHO0FBQ2hDLElBQUksNkJBQWdCLENBQUEsR0FBQTtBQUNwQixJQUFJLHVCQUFlO0NBQUE7T0FBQTtPQUFBO0NBQUE7QUFDbkIsSUFBSSxvQkFBZTtDQUFBO09BQUE7T0FBQTtDQUFBO0FBQ25CLElBQUksMEJBQUMsQ0FBQSxHQUFBO0FBQ0wsSUFBSSwwQkFBc0IsQ0FBQSxHQUFBO0FBQzFCLElBQUksNEJBQXFCLENBQUEsR0FBQTtBQUN6QixJQUFJLDRCQUFrQixDQUFBLEdBQUE7QUFDdEIsSUFBSSxzQkFBc0I7Q0FBQztPQUFVO09BQUk7Q0FBQTtBQUN6QyxJQUFJLGtCQUFrQixDQUFDLEdBQUE7QUFDdkIsSUFBSSx1QkFBaUIsQ0FBQSxHQUFBO0FBQ3JCLElBQUksc0JBQXNCLENBQUMsR0FBQztBQUM1QixJQUFJLGlCQUFpQjtDQUFDO09BQUk7T0FBQTtPQUFBO0NBQUE7QUFDMUIsSUFBSSxxQkFBZSxDQUFBLEdBQUE7QUFDbkIsSUFBSSwwQkFBaUIsQ0FBQSxHQUFBO0FBQ3JCLElBQUMsMkJBQUEsQ0FBQSxHQUFBO0FBQ0QsSUFBSSxvQkFBb0I7Q0FBQztPQUFVO09BQWlCO09BQUE7Q0FBQTtBQUNwRCxJQUFJLGlCQUFpQixDQUFDLEdBQUc7QUFDekIsSUFBSSxtQkFBbUI7Q0FBQztPQUFJO09BQUEsTUFBQTtPQUFBLE1BQUE7T0FBQTtPQUFBLE1BQUE7T0FBQSxNQUFB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
|