@envive-ai/react-hooks 0.1.5 → 0.1.7
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/NewOrgConfig-C5YL4Y62.cjs +20 -0
- package/dist/NewOrgConfig-CRyIfb_l.js +15 -0
- package/dist/SystemSettingsContext-Cb9YHln8.cjs +20 -0
- package/dist/SystemSettingsContext-D3mmGGcv.js +13 -0
- package/dist/TrackComponentVisibleEvent-C7c_rHFW.cjs +59 -0
- package/dist/TrackComponentVisibleEvent-DXTEBjGM.js +52 -0
- package/dist/amplitudeContext-CB_F-nJY.d.cts +52 -0
- package/dist/amplitudeContext-Cak6ijMq.js +287 -0
- package/dist/amplitudeContext-DFYBDc0h.d.ts +52 -0
- package/dist/amplitudeContext-sTEsPaVG.cjs +309 -0
- package/dist/api-DSFlctlc.cjs +269 -0
- package/dist/api-JTNjuOfc.js +190 -0
- package/dist/app-D_upYeqF.js +132 -0
- package/dist/app-KXTMPa4s.cjs +178 -0
- package/dist/application/models/graphql/index.cjs +4 -12
- package/dist/application/models/graphql/index.d.cts +1 -1
- package/dist/application/models/graphql/index.d.ts +1 -1
- package/dist/application/models/graphql/index.js +2 -10
- package/dist/application/models/guards/api/index.cjs +2 -2
- package/dist/application/models/guards/api/index.d.cts +2 -2
- package/dist/application/models/guards/api/index.d.ts +2 -2
- package/dist/application/models/guards/api/index.js +2 -2
- package/dist/application/models/index.cjs +52 -56
- package/dist/application/models/index.d.cts +10 -8
- package/dist/application/models/index.d.ts +11 -9
- package/dist/application/models/index.js +10 -11
- package/dist/application/models/utilityTypes/index.cjs +1 -1
- package/dist/application/models/utilityTypes/index.d.cts +1 -1
- package/dist/application/models/utilityTypes/index.d.ts +1 -1
- package/dist/application/models/utilityTypes/index.js +1 -1
- package/dist/application/models/variantInfo/index.cjs +1 -1
- package/dist/application/models/variantInfo/index.d.ts +1 -1
- package/dist/application/models/variantInfo/index.js +1 -1
- package/dist/application/utils/index.cjs +46 -37
- package/dist/application/utils/index.d.cts +21 -13
- package/dist/application/utils/index.d.ts +21 -13
- package/dist/application/utils/index.js +19 -10
- package/dist/{atomStore-JwGb7pcy.cjs → atomStore-DEZyFCNz.cjs} +1 -1
- package/dist/{atomStore-B1cgmbP0.js → atomStore-DnPEioF4.js} +1 -1
- package/dist/atoms/app/index.cjs +18 -16
- package/dist/atoms/app/index.d.cts +23 -18
- package/dist/atoms/app/index.d.ts +24 -19
- package/dist/atoms/app/index.js +14 -11
- package/dist/atoms/atomStore/index.cjs +2 -1
- package/dist/atoms/atomStore/index.d.cts +24 -2
- package/dist/atoms/atomStore/index.d.ts +24 -2
- package/dist/atoms/atomStore/index.js +2 -1
- package/dist/atoms/chat/index.cjs +50 -40
- package/dist/atoms/chat/index.d.cts +38 -35
- package/dist/atoms/chat/index.d.ts +39 -36
- package/dist/atoms/chat/index.js +20 -10
- package/dist/atoms/globalSearch/index.cjs +1 -1
- package/dist/atoms/globalSearch/index.d.cts +5 -5
- package/dist/atoms/globalSearch/index.d.ts +6 -6
- package/dist/atoms/globalSearch/index.js +1 -1
- package/dist/atoms/org/index.cjs +18 -38
- package/dist/atoms/org/index.d.cts +36 -54
- package/dist/atoms/org/index.d.ts +36 -54
- package/dist/atoms/org/index.js +5 -11
- package/dist/atoms/search/index.cjs +57 -41
- package/dist/atoms/search/index.d.cts +11 -8
- package/dist/atoms/search/index.d.ts +12 -9
- package/dist/atoms/search/index.js +26 -10
- package/dist/atoms/search/types.cjs +5 -0
- package/dist/atoms/search/types.d.cts +2 -0
- package/dist/atoms/search/types.d.ts +2 -0
- package/dist/atoms/search/types.js +3 -0
- package/dist/cdnContext-BMjVfBft.cjs +53 -0
- package/dist/cdnContext-DgsJ00Tb.js +38 -0
- package/dist/{chat-CHmD79E1.js → chat-B4lkFIxz.js} +1 -1
- package/dist/chat-D1Eat8Ih.cjs +394 -0
- package/dist/chat-DPJGdUkz.js +258 -0
- package/dist/{chat-_NzpO_Hn.cjs → chat-zA-K4tR_.cjs} +1 -1
- package/dist/chatElementDisplayLocation-9SW40Dd3.d.cts +25 -0
- package/dist/chatElementDisplayLocation-C1tRM5OD.d.ts +25 -0
- package/dist/chatSearch-B5jMnCYX.js +315 -0
- package/dist/chatSearch-DWMiyWN0.cjs +444 -0
- package/dist/chatState-BisPJd5g.cjs +120 -0
- package/dist/chatState-BrmBYY8l.js +34 -0
- package/dist/commerce-api-CxDIfeME.cjs +318 -0
- package/dist/commerce-api-DagLj3D_.js +311 -0
- package/dist/{components-Dl-TMD9k.js → components-B1edduHz.js} +1 -1
- package/dist/{components-D0XDRcaN.cjs → components-g0G58Kat.cjs} +1 -1
- package/dist/config/locators/components/chat/index.cjs +1 -1
- package/dist/config/locators/components/chat/index.d.cts +1 -1
- package/dist/config/locators/components/chat/index.d.ts +1 -1
- package/dist/config/locators/components/chat/index.js +1 -1
- package/dist/config/locators/components/chat/variants/index.d.cts +1 -1
- package/dist/config/locators/components/chat/variants/index.d.ts +1 -1
- package/dist/config/locators/components/index.cjs +1 -1
- package/dist/config/locators/components/index.d.cts +1 -1
- package/dist/config/locators/components/index.d.ts +1 -1
- package/dist/config/locators/components/index.js +1 -1
- package/dist/config/locators/components/search/index.d.cts +1 -1
- package/dist/config/locators/components/search/index.d.ts +1 -1
- package/dist/config/locators/index.cjs +42 -22
- package/dist/config/locators/index.d.cts +2 -2
- package/dist/config/locators/index.d.ts +3 -3
- package/dist/config/locators/index.js +25 -5
- package/dist/contexts/amplitudeContext/index.cjs +21 -0
- package/dist/contexts/amplitudeContext/index.d.cts +2 -0
- package/dist/contexts/amplitudeContext/index.d.ts +2 -0
- package/dist/contexts/amplitudeContext/index.js +19 -0
- package/dist/contexts/cdnContext/index.cjs +7 -0
- package/dist/contexts/cdnContext/index.d.cts +15 -0
- package/dist/contexts/cdnContext/index.d.ts +15 -0
- package/dist/contexts/cdnContext/index.js +6 -0
- package/dist/contexts/chatContext/index.cjs +329 -0
- package/dist/contexts/chatContext/index.d.cts +15 -0
- package/dist/contexts/chatContext/index.d.ts +15 -0
- package/dist/contexts/chatContext/index.js +322 -0
- package/dist/contexts/enviveConfigContext/index.cjs +7 -0
- package/dist/contexts/enviveConfigContext/index.d.cts +30 -0
- package/dist/contexts/enviveConfigContext/index.d.ts +30 -0
- package/dist/contexts/enviveConfigContext/index.js +6 -0
- package/dist/contexts/enviveCssContext/index.cjs +65 -0
- package/dist/contexts/enviveCssContext/index.d.cts +10 -0
- package/dist/contexts/enviveCssContext/index.d.ts +10 -0
- package/dist/contexts/enviveCssContext/index.js +62 -0
- package/dist/contexts/featureFlagContext/index.cjs +107 -0
- package/dist/contexts/featureFlagContext/index.d.cts +20 -0
- package/dist/contexts/featureFlagContext/index.d.ts +20 -0
- package/dist/contexts/featureFlagContext/index.js +103 -0
- package/dist/contexts/featureFlagServiceContext/index.cjs +6 -0
- package/dist/contexts/featureFlagServiceContext/index.d.cts +5 -0
- package/dist/contexts/featureFlagServiceContext/index.d.ts +5 -0
- package/dist/contexts/featureFlagServiceContext/index.js +5 -0
- package/dist/contexts/graphqlContext/index.cjs +15 -0
- package/dist/contexts/graphqlContext/index.d.cts +12 -0
- package/dist/contexts/graphqlContext/index.d.ts +12 -0
- package/dist/contexts/graphqlContext/index.js +14 -0
- package/dist/contexts/localStorageContext/index.cjs +6 -0
- package/dist/contexts/localStorageContext/index.d.cts +30 -0
- package/dist/contexts/localStorageContext/index.d.ts +30 -0
- package/dist/contexts/localStorageContext/index.js +4 -0
- package/dist/contexts/newOrgConfigContext/index.cjs +19 -0
- package/dist/contexts/newOrgConfigContext/index.d.cts +30 -0
- package/dist/contexts/newOrgConfigContext/index.d.ts +30 -0
- package/dist/contexts/newOrgConfigContext/index.js +18 -0
- package/dist/contexts/searchContext/index.cjs +23 -0
- package/dist/contexts/searchContext/index.d.cts +16 -0
- package/dist/contexts/searchContext/index.d.ts +16 -0
- package/dist/contexts/searchContext/index.js +22 -0
- package/dist/contexts/sessionStorageContext/index.cjs +5 -0
- package/dist/contexts/sessionStorageContext/index.d.cts +15 -0
- package/dist/contexts/sessionStorageContext/index.d.ts +15 -0
- package/dist/contexts/sessionStorageContext/index.js +4 -0
- package/dist/contexts/shopifyUrlContext/index.cjs +5 -0
- package/dist/contexts/shopifyUrlContext/index.d.cts +20 -0
- package/dist/contexts/shopifyUrlContext/index.d.ts +20 -0
- package/dist/contexts/shopifyUrlContext/index.js +4 -0
- package/dist/contexts/systemSettingsContext/index.cjs +8 -0
- package/dist/contexts/systemSettingsContext/index.d.cts +36 -0
- package/dist/contexts/systemSettingsContext/index.d.ts +36 -0
- package/dist/contexts/systemSettingsContext/index.js +6 -0
- package/dist/contexts/types.cjs +7 -0
- package/dist/contexts/types.d.cts +4 -0
- package/dist/contexts/types.d.ts +4 -0
- package/dist/contexts/types.js +3 -0
- package/dist/contexts/userIdentityContext/index.cjs +26 -0
- package/dist/contexts/userIdentityContext/index.d.cts +2 -0
- package/dist/contexts/userIdentityContext/index.d.ts +2 -0
- package/dist/contexts/userIdentityContext/index.js +25 -0
- package/dist/domObserver-B6cRGTny.js +285 -0
- package/dist/domObserver-DQZwhPrc.cjs +304 -0
- package/dist/enviveConfig-BJZ4zTJo.js +62 -0
- package/dist/enviveConfig-DdBrcGSQ.cjs +130 -0
- package/dist/enviveConfigContext-78orE_uH.cjs +60 -0
- package/dist/enviveConfigContext-jBCCWQH9.js +45 -0
- package/dist/events/index.cjs +1 -1
- package/dist/events/index.d.ts +1 -1
- package/dist/events/index.js +1 -1
- package/dist/{events-ClCDFK7t.js → events-BHJJjPDN.js} +1 -1
- package/dist/{events-Da7gpmGv.cjs → events-B_fJZf9E.cjs} +1 -1
- package/dist/featureFlagServiceContext-ChL7DJ53.cjs +56 -0
- package/dist/featureFlagServiceContext-D1PzHsEs.d.ts +23 -0
- package/dist/featureFlagServiceContext-DQwlCTde.d.cts +23 -0
- package/dist/featureFlagServiceContext-DzFfmb1Z.js +42 -0
- package/dist/featureGates-Blx10fwB.js +27 -0
- package/dist/featureGates-DcZNrUma.cjs +33 -0
- package/dist/frontendConfig-DrvrQSm8.d.ts +857 -0
- package/dist/frontendConfig-wg41mBok.d.cts +857 -0
- package/dist/{globalSearch-BTeZxvk1.cjs → globalSearch-Bnjlxtr5.cjs} +1 -1
- package/dist/{globalSearch-b0wC7ZEO.js → globalSearch-CRWUqnjq.js} +1 -1
- package/dist/graphql-B9HhDXYt.cjs +53 -0
- package/dist/graphql-W7GMIHUu.js +36 -0
- package/dist/graphqlConfig-Bn-HLHsh.cjs +39 -0
- package/dist/graphqlConfig-DtZm_YaH.js +14 -0
- package/dist/graphqlContext-BJg7B--J.js +96 -0
- package/dist/graphqlContext-DI-_VRmb.cjs +111 -0
- package/dist/hooks/AmplitudeOperations/index.cjs +21 -0
- package/dist/hooks/AmplitudeOperations/index.d.cts +12 -0
- package/dist/hooks/AmplitudeOperations/index.d.ts +12 -0
- package/dist/hooks/AmplitudeOperations/index.js +21 -0
- package/dist/hooks/AppDetails/index.cjs +18 -0
- package/dist/hooks/AppDetails/index.d.cts +26 -0
- package/dist/hooks/AppDetails/index.d.ts +26 -0
- package/dist/hooks/AppDetails/index.js +18 -0
- package/dist/hooks/BlockBackButton/index.cjs +29 -0
- package/dist/hooks/BlockBackButton/index.d.cts +5 -0
- package/dist/hooks/BlockBackButton/index.d.ts +5 -0
- package/dist/hooks/BlockBackButton/index.js +27 -0
- package/dist/hooks/CdnOperations/index.cjs +24 -0
- package/dist/hooks/CdnOperations/index.d.cts +7 -0
- package/dist/hooks/CdnOperations/index.d.ts +7 -0
- package/dist/hooks/CdnOperations/index.js +22 -0
- package/dist/hooks/ChatToggle/index.cjs +63 -0
- package/dist/hooks/ChatToggle/index.d.cts +12 -0
- package/dist/hooks/ChatToggle/index.d.ts +12 -0
- package/dist/hooks/ChatToggle/index.js +61 -0
- package/dist/hooks/ChatToggleAnalytics/index.cjs +37 -0
- package/dist/hooks/ChatToggleAnalytics/index.d.cts +9 -0
- package/dist/hooks/ChatToggleAnalytics/index.d.ts +9 -0
- package/dist/hooks/ChatToggleAnalytics/index.js +35 -0
- package/dist/hooks/CustomerSupportHandoff/index.cjs +36 -0
- package/dist/hooks/CustomerSupportHandoff/index.d.cts +16 -0
- package/dist/hooks/CustomerSupportHandoff/index.d.ts +16 -0
- package/dist/hooks/CustomerSupportHandoff/index.js +34 -0
- package/dist/hooks/Debounce/index.cjs +3 -0
- package/dist/hooks/Debounce/index.d.cts +5 -0
- package/dist/hooks/Debounce/index.d.ts +5 -0
- package/dist/hooks/Debounce/index.js +3 -0
- package/dist/hooks/ElementObserver/index.cjs +179 -0
- package/dist/hooks/ElementObserver/index.d.cts +29 -0
- package/dist/hooks/ElementObserver/index.d.ts +29 -0
- package/dist/hooks/ElementObserver/index.js +177 -0
- package/dist/hooks/GrabAndScroll/index.cjs +99 -0
- package/dist/hooks/GrabAndScroll/index.d.cts +14 -0
- package/dist/hooks/GrabAndScroll/index.d.ts +14 -0
- package/dist/hooks/GrabAndScroll/index.js +97 -0
- package/dist/hooks/GraphQLConfig/index.cjs +16 -0
- package/dist/hooks/GraphQLConfig/index.d.cts +15 -0
- package/dist/hooks/GraphQLConfig/index.d.ts +15 -0
- package/dist/hooks/GraphQLConfig/index.js +15 -0
- package/dist/hooks/IdentifyUser/index.cjs +59 -0
- package/dist/hooks/IdentifyUser/index.d.cts +10 -0
- package/dist/hooks/IdentifyUser/index.d.ts +10 -0
- package/dist/hooks/IdentifyUser/index.js +57 -0
- package/dist/hooks/ImageResolver/index.cjs +54 -0
- package/dist/hooks/ImageResolver/index.d.cts +7 -0
- package/dist/hooks/ImageResolver/index.d.ts +7 -0
- package/dist/hooks/ImageResolver/index.js +52 -0
- package/dist/hooks/Intersection/index.cjs +3 -0
- package/dist/hooks/Intersection/index.d.cts +7 -0
- package/dist/hooks/Intersection/index.d.ts +7 -0
- package/dist/hooks/Intersection/index.js +3 -0
- package/dist/hooks/IsSmallScreen/index.cjs +22 -0
- package/dist/hooks/IsSmallScreen/index.d.cts +5 -0
- package/dist/hooks/IsSmallScreen/index.d.ts +5 -0
- package/dist/hooks/IsSmallScreen/index.js +20 -0
- package/dist/hooks/LocalStorageOperations/index.cjs +79 -0
- package/dist/hooks/LocalStorageOperations/index.d.cts +17 -0
- package/dist/hooks/LocalStorageOperations/index.d.ts +17 -0
- package/dist/hooks/LocalStorageOperations/index.js +74 -0
- package/dist/hooks/MessageFilter/index.cjs +53 -0
- package/dist/hooks/MessageFilter/index.d.cts +29 -0
- package/dist/hooks/MessageFilter/index.d.ts +29 -0
- package/dist/hooks/MessageFilter/index.js +53 -0
- package/dist/hooks/MessageScrollObserver/index.cjs +36 -0
- package/dist/hooks/MessageScrollObserver/index.d.cts +5 -0
- package/dist/hooks/MessageScrollObserver/index.d.ts +5 -0
- package/dist/hooks/MessageScrollObserver/index.js +34 -0
- package/dist/hooks/NewOrgConfig/index.cjs +19 -0
- package/dist/hooks/NewOrgConfig/index.d.cts +22 -0
- package/dist/hooks/NewOrgConfig/index.d.ts +22 -0
- package/dist/hooks/NewOrgConfig/index.js +19 -0
- package/dist/hooks/Search/index.cjs +324 -0
- package/dist/hooks/Search/index.d.cts +66 -0
- package/dist/hooks/Search/index.d.ts +66 -0
- package/dist/hooks/Search/index.js +321 -0
- package/dist/hooks/SearchOperations/index.cjs +101 -0
- package/dist/hooks/SearchOperations/index.d.cts +22 -0
- package/dist/hooks/SearchOperations/index.d.ts +22 -0
- package/dist/hooks/SearchOperations/index.js +98 -0
- package/dist/hooks/SessionStorageOperations/index.cjs +30 -0
- package/dist/hooks/SessionStorageOperations/index.d.cts +8 -0
- package/dist/hooks/SessionStorageOperations/index.d.ts +8 -0
- package/dist/hooks/SessionStorageOperations/index.js +28 -0
- package/dist/hooks/ShopifyUrlOperations/index.cjs +53 -0
- package/dist/hooks/ShopifyUrlOperations/index.d.cts +23 -0
- package/dist/hooks/ShopifyUrlOperations/index.d.ts +23 -0
- package/dist/hooks/ShopifyUrlOperations/index.js +49 -0
- package/dist/hooks/SnapCalculator/index.cjs +29 -0
- package/dist/hooks/SnapCalculator/index.d.cts +12 -0
- package/dist/hooks/SnapCalculator/index.d.ts +12 -0
- package/dist/hooks/SnapCalculator/index.js +27 -0
- package/dist/hooks/SystemSettingsContext/index.cjs +7 -0
- package/dist/hooks/SystemSettingsContext/index.d.cts +22 -0
- package/dist/hooks/SystemSettingsContext/index.d.ts +22 -0
- package/dist/hooks/SystemSettingsContext/index.js +7 -0
- package/dist/hooks/TrackComponentVisibleEvent/index.cjs +21 -0
- package/dist/hooks/TrackComponentVisibleEvent/index.d.cts +18 -0
- package/dist/hooks/TrackComponentVisibleEvent/index.d.ts +18 -0
- package/dist/hooks/TrackComponentVisibleEvent/index.js +21 -0
- package/dist/hooks/UpdateAnalyticsProps/index.cjs +61 -0
- package/dist/hooks/UpdateAnalyticsProps/index.d.cts +9 -0
- package/dist/hooks/UpdateAnalyticsProps/index.d.ts +9 -0
- package/dist/hooks/UpdateAnalyticsProps/index.js +58 -0
- package/dist/index-BCLaqnc2.d.cts +689 -0
- package/dist/{index-D2VaMPA3.d.ts → index-BS7-_CW4.d.ts} +1 -1
- package/dist/{index-BTK5uzs6.d.cts → index-Bmub8e38.d.cts} +1 -1
- package/dist/index-Bs0QtkSu.d.ts +689 -0
- package/dist/{index-BzgkfbNO.d.cts → index-CESxqFso.d.cts} +1 -1
- package/dist/index-CKeS9dud.d.ts +28 -0
- package/dist/{index-ClJ0nMsR.d.cts → index-CiWEYzXl.d.cts} +2 -2
- package/dist/index-CyXULMyI.d.cts +186 -0
- package/dist/index-Cz10TYQA.d.cts +28 -0
- package/dist/{index-CSIOQD-A.d.ts → index-D8ThXrqI.d.ts} +1 -1
- package/dist/{index-Dxpscrvz.d.ts → index-D9VegTU-.d.ts} +1 -1
- package/dist/{index-Cr2y08f1.d.ts → index-DBqgBV9N.d.ts} +1 -1
- package/dist/{index-CKKkTsms.d.ts → index-DNUKSg6R.d.ts} +1 -1
- package/dist/{index-BdNKc2ix.d.cts → index-DO0s5KNA.d.cts} +1 -1
- package/dist/{index-Cx9e-fRi.d.ts → index-DuyZQOE1.d.ts} +2 -2
- package/dist/{index-BrXuc_Ck.d.cts → index-REhT-Pls.d.cts} +1 -1
- package/dist/index-fKJB9EFb.d.ts +186 -0
- package/dist/interceptors/index.cjs +3 -12
- package/dist/interceptors/index.d.cts +12 -18
- package/dist/interceptors/index.d.ts +13 -19
- package/dist/interceptors/index.js +3 -11
- package/dist/interceptors/types.cjs +1 -0
- package/dist/interceptors/types.d.cts +12 -0
- package/dist/interceptors/types.d.ts +12 -0
- package/dist/interceptors/types.js +3 -0
- package/dist/localStorageContext-6OrGDFid.js +95 -0
- package/dist/localStorageContext-Bld0OWmG.cjs +115 -0
- package/dist/{logger-Dln20ans.cjs → logger-CSL2jqI9.cjs} +1 -1
- package/dist/{logger-pdEEY8T2.js → logger-D5MFf3nW.js} +1 -1
- package/dist/models-Dn8Emdzc.js +1295 -0
- package/dist/models-ZpQcRZQK.cjs +1536 -0
- package/dist/newOrgConfigAtom--tewb_G0.js +8 -0
- package/dist/newOrgConfigAtom-DkSi45_Q.cjs +15 -0
- package/dist/newOrgConfigContext-B3aeblfE.cjs +68 -0
- package/dist/newOrgConfigContext-B5mzHKTG.js +53 -0
- package/dist/{nodeSelector-vKB44CDB.d.cts → nodeSelector-XsUa5vNH.d.cts} +1 -1
- package/dist/org-B2uRkPt3.js +12 -0
- package/dist/org-ClUxpHPZ.cjs +43 -0
- package/dist/orgAnalyticsConfig-CuWXijsr.cjs +39 -0
- package/dist/orgAnalyticsConfig-DOceTdNp.js +14 -0
- package/dist/search-BIomqYy6.d.ts +20 -0
- package/dist/search-B_Hg-Es2.d.cts +20 -0
- package/dist/search-Bn4x-3TG.js +126 -0
- package/dist/search-DsQm_pAi.cjs +205 -0
- package/dist/{search-filter-types-C-zZSpGo.d.ts → search-filter-types-B5xcaEit.d.ts} +1 -1
- package/dist/{search-filter-types-9rTb3jMj.d.cts → search-filter-types-Byd0lEUa.d.cts} +1 -1
- package/dist/searchContext-Cn-pCoDy.cjs +145 -0
- package/dist/searchContext-fQDGSvUF.js +129 -0
- package/dist/searchServiceAdapter-BSPZOg1r.js +16 -0
- package/dist/searchServiceAdapter-DrjFCiw8.cjs +34 -0
- package/dist/sessionStorageContext-C5MUl2zf.js +52 -0
- package/dist/sessionStorageContext-CXE7iHtP.cjs +66 -0
- package/dist/shopifyUrlContext-7ppKx1jJ.cjs +75 -0
- package/dist/shopifyUrlContext-BSYWsoX9.js +61 -0
- package/dist/spiffyWidgets-CdxRcXhW.d.ts +20 -0
- package/dist/spiffyWidgets-DxGuuuCG.d.cts +20 -0
- package/dist/systemSettingsContext-BdAe_3Ll.cjs +60 -0
- package/dist/systemSettingsContext-Cjyo2o3N.js +39 -0
- package/dist/{test-types-CuOq25VT.d.cts → test-types-DQB1JqOf.d.cts} +1 -1
- package/dist/{test-types-CXVJxTeu.d.ts → test-types-ZuRAYwox.d.ts} +1 -1
- package/dist/types/index.cjs +33 -5
- package/dist/types/index.d.cts +2 -2
- package/dist/types/index.d.ts +2 -2
- package/dist/types/index.js +30 -3
- package/dist/types-BCz-hOvv.d.ts +51 -0
- package/dist/types-BwNrLPSZ.cjs +106 -0
- package/dist/types-D3uOF0Oy.js +76 -0
- package/dist/types-DIk0FLwd.js +30 -0
- package/dist/types-DNLkuGWZ.cjs +48 -0
- package/dist/types-DzwBmZHy.d.cts +10 -0
- package/dist/types-Eip78dWv.d.cts +51 -0
- package/dist/types-YvACLe2e.d.ts +10 -0
- package/dist/types.cjs +0 -0
- package/dist/types.d.cts +15 -0
- package/dist/types.d.ts +15 -0
- package/dist/types.js +1 -0
- package/dist/unsupportedProductExceptions--t7AQFou.js +20 -0
- package/dist/unsupportedProductExceptions-Dak4AD-t.cjs +32 -0
- package/dist/urlsParser-BV5yF8sa.cjs +78 -0
- package/dist/urlsParser-DUgV_Qy9.js +42 -0
- package/dist/useAmplitudeOperations-C6Osqkso.js +34 -0
- package/dist/useAmplitudeOperations-Cco_B3A5.cjs +41 -0
- package/dist/useAppDetails-CGqtN6sJ.cjs +38 -0
- package/dist/useAppDetails-DwX2Rhed.js +30 -0
- package/dist/useDebounce-BJqnCBcl.cjs +26 -0
- package/dist/useDebounce-Ce31ph7m.js +19 -0
- package/dist/useGraphQLConfig-ByOZb3oZ.js +63 -0
- package/dist/useGraphQLConfig-DItL4BgM.cjs +76 -0
- package/dist/useIntersection-Czeo04jt.js +21 -0
- package/dist/useIntersection-DnZNLcnu.cjs +28 -0
- package/dist/useMessageInterceptor-C9p9No1n.cjs +33 -0
- package/dist/useMessageInterceptor-tntd2rvB.js +25 -0
- package/dist/userIdentityContext-C1HzZFb2.cjs +125 -0
- package/dist/userIdentityContext-CDfosvOO.js +109 -0
- package/dist/userIdentityContext-DBXoLrFu.d.cts +20 -0
- package/dist/userIdentityContext-W1OWF3cG.d.ts +20 -0
- package/dist/utilityTypes-CWJZb9BZ.js +1 -0
- package/dist/utilityTypes-YGiMSyV7.cjs +0 -0
- package/dist/utils-BA5HXmkL.cjs +74 -0
- package/dist/utils-BTDw2aMx.cjs +715 -0
- package/dist/utils-C7S9YiFp.js +54 -0
- package/dist/utils-CF13DfA1.js +606 -0
- package/dist/variantInfo-58JLeDJb.js +1 -0
- package/dist/variantInfo-DRFLcGc7.cjs +0 -0
- package/package.json +278 -25
- package/src/{adapters/spiffy/commerce/api.ts → application/commerce-api.ts} +31 -23
- package/src/application/models/colorsConfig.ts +18 -18
- package/src/application/models/frontendConfig.ts +3 -3
- package/src/application/models/graphql/queries/getMerchantColorsQuery.ts +1 -1
- package/src/application/models/graphql/queries/getMerchantFrontendConfigQuery.ts +1 -1
- package/src/application/models/index.ts +0 -3
- package/src/application/models/localStorageEventListener.ts +2 -2
- package/src/application/models/utils/snakeToCamelTransformer.ts +8 -8
- package/src/application/models/validators/validateGraphQLColorsConfig.ts +0 -21
- package/src/application/models/validators/validateGraphQLFrontendConfig.ts +2 -2
- package/src/application/utils/analyticsUtils.ts +53 -22
- package/src/application/utils/cdnUtils.ts +11 -0
- package/src/atoms/amplitude/amplitudeTrackEventAtom.ts +15 -0
- package/src/atoms/app/index.ts +7 -17
- package/src/atoms/app/variant.ts +13 -4
- package/src/atoms/chat/chatState.ts +28 -18
- package/src/atoms/chat/messageQueue.ts +36 -5
- package/src/atoms/chat/replies.ts +45 -37
- package/src/atoms/envive/enviveConfig.ts +10 -6
- package/src/atoms/org/graphqlConfig.ts +6 -38
- package/src/atoms/org/index.ts +3 -4
- package/src/atoms/org/newOrgConfigAtom.ts +4 -0
- package/src/atoms/search/chatSearch.ts +11 -5
- package/src/atoms/search/searchAPI.ts +22 -12
- package/src/atoms/search/searchServiceAdapter.ts +25 -0
- package/src/contexts/amplitudeContext/amplitudeContext.tsx +465 -0
- package/src/contexts/amplitudeContext/index.ts +1 -0
- package/src/contexts/cdnContext/cdnContext.tsx +48 -0
- package/src/contexts/cdnContext/index.ts +1 -0
- package/src/contexts/{chatContext.tsx → chatContext/chatContext.tsx} +16 -13
- package/src/contexts/chatContext/index.ts +1 -0
- package/src/contexts/{enviveConfigContext.tsx → enviveConfigContext/enviveConfigContext.tsx} +23 -18
- package/src/contexts/enviveConfigContext/index.ts +1 -0
- package/src/contexts/enviveCssContext/enviveCssContext.tsx +49 -0
- package/src/contexts/enviveCssContext/index.ts +1 -0
- package/src/contexts/featureFlagContext/featureFlagContext.tsx +193 -0
- package/src/contexts/featureFlagContext/index.ts +1 -0
- package/src/contexts/featureFlagServiceContext/featureFlagServiceContext.tsx +87 -0
- package/src/contexts/featureFlagServiceContext/index.ts +1 -0
- package/src/contexts/graphqlContext/graphqlContext.tsx +165 -0
- package/src/contexts/graphqlContext/index.ts +1 -0
- package/src/contexts/localStorageContext/index.ts +1 -0
- package/src/contexts/localStorageContext/localStorageContext.tsx +159 -0
- package/src/contexts/newOrgConfigContext/index.ts +1 -0
- package/src/contexts/newOrgConfigContext/newOrgConfigContext.tsx +70 -0
- package/src/contexts/searchContext/index.ts +1 -0
- package/src/contexts/searchContext/searchContext.tsx +187 -0
- package/src/contexts/sessionStorageContext/index.ts +1 -0
- package/src/contexts/sessionStorageContext/sessionStorageContext.tsx +80 -0
- package/src/contexts/shopifyUrlContext/index.ts +1 -0
- package/src/contexts/shopifyUrlContext/shopifyUrlContext.tsx +97 -0
- package/src/contexts/systemSettingsContext/index.ts +1 -0
- package/src/contexts/types.ts +12 -8
- package/src/contexts/userIdentityContext/index.ts +1 -0
- package/src/contexts/userIdentityContext/userIdentityContext.tsx +197 -0
- package/src/events/registerAnalyticsListeners.ts +32 -38
- package/src/favicon.ico +0 -0
- package/src/hooks/AmplitudeOperations/index.ts +1 -0
- package/src/hooks/AmplitudeOperations/useAmplitudeOperations.ts +35 -0
- package/src/hooks/AppDetails/index.ts +1 -0
- package/src/hooks/AppDetails/useAppDetails.ts +47 -0
- package/src/hooks/BlockBackButton/index.ts +1 -0
- package/src/hooks/CdnOperations/index.ts +1 -0
- package/src/hooks/CdnOperations/useCdnOperations.ts +16 -0
- package/src/hooks/ChatToggle/index.ts +1 -0
- package/src/hooks/{useChatToggle.ts → ChatToggle/useChatToggle.ts} +5 -4
- package/src/hooks/ChatToggleAnalytics/index.ts +1 -0
- package/src/hooks/ChatToggleAnalytics/useChatToggleAnalytics.ts +15 -0
- package/src/hooks/CustomerSupportHandoff/index.ts +1 -0
- package/src/hooks/Debounce/index.ts +1 -0
- package/src/hooks/ElementObserver/index.ts +1 -0
- package/src/hooks/GrabAndScroll/index.ts +1 -0
- package/src/hooks/GraphQLConfig/index.ts +1 -0
- package/src/hooks/GraphQLConfig/useGraphQLConfig.ts +63 -0
- package/src/hooks/IdentifyUser/index.ts +1 -0
- package/src/hooks/IdentifyUser/useIdentifyUser.ts +33 -0
- package/src/hooks/ImageResolver/index.ts +1 -0
- package/src/hooks/{useImageResolver.ts → ImageResolver/useImageResolver.ts} +7 -7
- package/src/hooks/Intersection/index.ts +1 -0
- package/src/hooks/IsSmallScreen/index.ts +1 -0
- package/src/hooks/LocalStorageOperations/index.ts +1 -0
- package/src/hooks/LocalStorageOperations/useLocalStorageOperations.ts +92 -0
- package/src/hooks/MessageFilter/index.ts +1 -0
- package/src/hooks/MessageScrollObserver/index.ts +1 -0
- package/src/hooks/NewOrgConfig/index.ts +1 -0
- package/src/hooks/NewOrgConfig/useNewOrgConfig.ts +7 -0
- package/src/hooks/Search/index.ts +1 -0
- package/src/hooks/{useSearch.tsx → Search/useSearch.tsx} +24 -20
- package/src/hooks/SearchOperations/index.ts +1 -0
- package/src/hooks/SearchOperations/useSearchOperations.ts +97 -0
- package/src/hooks/SessionStorageOperations/index.ts +1 -0
- package/src/hooks/SessionStorageOperations/useSessionStorageOperations.ts +28 -0
- package/src/hooks/ShopifyUrlOperations/index.ts +1 -0
- package/src/hooks/ShopifyUrlOperations/useShopifyUrlOperations.ts +45 -0
- package/src/hooks/SnapCalculator/index.ts +1 -0
- package/src/hooks/SystemSettingsContext/index.ts +1 -0
- package/src/hooks/SystemSettingsContext/useSystemSettingsContext.ts +14 -0
- package/src/hooks/TrackComponentVisibleEvent/index.ts +1 -0
- package/src/hooks/{useTrackComponentVisibleEvent.ts → TrackComponentVisibleEvent/useTrackComponentVisibleEvent.ts} +12 -8
- package/src/hooks/UpdateAnalyticsProps/index.ts +1 -0
- package/src/hooks/{useUpdateAnalyticsProps.ts → UpdateAnalyticsProps/useUpdateAnalyticsProps.ts} +28 -17
- package/src/interceptors/index.ts +0 -1
- package/src/interceptors/useMessageInterceptor.ts +5 -8
- package/src/merchants/domInsertion.ts +30 -0
- package/src/merchants/gridInsertion.ts +19 -0
- package/src/types/config-versions.ts +6 -0
- package/src/types.ts +0 -53
- package/dist/adapters/amplitude/index.cjs +0 -14
- package/dist/adapters/amplitude/index.d.cts +0 -6
- package/dist/adapters/amplitude/index.d.ts +0 -6
- package/dist/adapters/amplitude/index.js +0 -12
- package/dist/api-B2euFL-5.cjs +0 -269
- package/dist/api-XRr_lAG6.js +0 -190
- package/dist/application/config/index.cjs +0 -43
- package/dist/application/config/index.d.cts +0 -15
- package/dist/application/config/index.d.ts +0 -15
- package/dist/application/config/index.js +0 -41
- package/dist/application/service/customerService/index.cjs +0 -4
- package/dist/application/service/customerService/index.d.cts +0 -3
- package/dist/application/service/customerService/index.d.ts +0 -3
- package/dist/application/service/customerService/index.js +0 -4
- package/dist/application/service/index.cjs +0 -42
- package/dist/application/service/index.d.cts +0 -413
- package/dist/application/service/index.d.ts +0 -413
- package/dist/application/service/index.js +0 -12
- package/dist/atomStore-ONYy0XuA.d.cts +0 -24
- package/dist/atomStore-kOKiEcNl.d.ts +0 -24
- package/dist/bandolier-Da4wt6sm.cjs +0 -1230
- package/dist/bandolier-DzEmYWcz.js +0 -1230
- package/dist/carpe-AXipz0Xl.cjs +0 -608
- package/dist/carpe-CaUKwcEa.js +0 -606
- package/dist/contexts/index.cjs +0 -26
- package/dist/contexts/index.d.cts +0 -10
- package/dist/contexts/index.d.ts +0 -10
- package/dist/contexts/index.js +0 -12
- package/dist/contexts-CtRlNXaS.js +0 -7674
- package/dist/contexts-CtgmnYNn.cjs +0 -9088
- package/dist/coterie--MGvWeVh.cjs +0 -240
- package/dist/coterie-oKHAT0lx.js +0 -240
- package/dist/customerService-BG1uNZZ1.cjs +0 -36
- package/dist/customerService-BHQRnLhC.js +0 -23
- package/dist/custservice-types-C8-9vKWb.cjs +0 -35
- package/dist/custservice-types-CamCiXjq.js +0 -23
- package/dist/default-B4fINY5_.cjs +0 -4
- package/dist/default-BrTQxA0c.js +0 -4
- package/dist/default-C3LrcbZB.cjs +0 -199
- package/dist/default-CXkYrLEr.js +0 -176
- package/dist/divIds-0Vj9g-fM.js +0 -23
- package/dist/divIds-CjceLRD9.cjs +0 -131
- package/dist/dreamlandBaby-BEqt0eKF.js +0 -347
- package/dist/dreamlandBaby-DBDjEJCc.cjs +0 -347
- package/dist/embedded-B5Wi9g0T.cjs +0 -131
- package/dist/embedded-_cLpd6FK.js +0 -23
- package/dist/entrypoints-CNUvSgnk.js +0 -7
- package/dist/entrypoints-DM9Sm18O.cjs +0 -19
- package/dist/featureFlagService-5wdmW02z.d.ts +0 -18
- package/dist/featureFlagService-DaelrXEk.d.cts +0 -18
- package/dist/fiveCbd-CdqNt16h.cjs +0 -614
- package/dist/fiveCbd-D6B-sgnX.js +0 -614
- package/dist/forLoveAndLemons-C7GsJG7f.cjs +0 -668
- package/dist/forLoveAndLemons-gNDlMtPR.js +0 -666
- package/dist/greenpan-B5AaW4M_.js +0 -398
- package/dist/greenpan-DrORpYms.cjs +0 -398
- package/dist/grooveLife-BJqsfH2H.cjs +0 -343
- package/dist/grooveLife-xIUmDM8s.js +0 -343
- package/dist/homegrownCannabis-8TZ21u6L.cjs +0 -411
- package/dist/homegrownCannabis-BtMuEvbZ.js +0 -411
- package/dist/hooks/index.cjs +0 -37
- package/dist/hooks/index.d.cts +0 -232
- package/dist/hooks/index.d.ts +0 -232
- package/dist/hooks/index.js +0 -12
- package/dist/index-CKUpnyJQ.d.ts +0 -72
- package/dist/index-CbJZOEU4.d.ts +0 -203
- package/dist/index-DFL1dIT_.d.ts +0 -7
- package/dist/index-DXpgMVpp.d.ts +0 -749
- package/dist/index-K2kNsOTw.d.cts +0 -203
- package/dist/index-MFbPQ8Ji.d.ts +0 -95
- package/dist/index-VHFMGkO-.d.cts +0 -72
- package/dist/index-VSFakgAI.d.cts +0 -95
- package/dist/index-aNW5V9fh.d.cts +0 -749
- package/dist/index-zZjcds15.d.cts +0 -7
- package/dist/jackArcher-WtkbLBZj.cjs +0 -728
- package/dist/jackArcher-sO9EbgrZ.js +0 -728
- package/dist/jordanCraig-471FcgqF.cjs +0 -1787
- package/dist/jordanCraig-DNOncplU.js +0 -1787
- package/dist/kindredBravely-BlLyHGMX.cjs +0 -491
- package/dist/kindredBravely-cqZ4OvXp.js +0 -491
- package/dist/kutFromTheKloth-3mOIryvt.cjs +0 -370
- package/dist/kutFromTheKloth-DtVNCMKa.js +0 -370
- package/dist/larryAndSerges-88Bvq-Us.cjs +0 -262
- package/dist/larryAndSerges-cvak6May.js +0 -262
- package/dist/leapsAndRebounds-Dmf8eUPq.js +0 -361
- package/dist/leapsAndRebounds-iWKc923H.cjs +0 -361
- package/dist/longevityrx-BTMI9vn-.js +0 -321
- package/dist/longevityrx-CobPyigd.cjs +0 -321
- package/dist/lookOptic-C4H_c0JZ.cjs +0 -283
- package/dist/lookOptic-Jwf7EAU8.js +0 -283
- package/dist/mantraBrand-CySGqbn6.cjs +0 -751
- package/dist/mantraBrand-DoaVj837.js +0 -751
- package/dist/medterra-BnZ5p27n.cjs +0 -584
- package/dist/medterra-DaICcPPp.js +0 -584
- package/dist/modells-CZ1L6dD_.js +0 -485
- package/dist/modells-DF0SndHr.cjs +0 -485
- package/dist/orgConfigResults--dAwtw3W.d.ts +0 -881
- package/dist/orgConfigResults-BL0XBA6x.d.cts +0 -881
- package/dist/pressedFloral-B3t2cYzs.cjs +0 -662
- package/dist/pressedFloral-Dsws2Kfb.js +0 -662
- package/dist/skinPerfection-CILQM2bR.cjs +0 -335
- package/dist/skinPerfection-DmQCntRf.js +0 -335
- package/dist/snapSupplements--X_v0KRM.js +0 -286
- package/dist/snapSupplements-Djuzl0Ed.cjs +0 -286
- package/dist/socialProofClasses-DdzG1tZy.js +0 -10
- package/dist/socialProofClasses-ky69yppk.cjs +0 -40
- package/dist/spanx-Bo81yXSF.cjs +0 -664
- package/dist/spanx-DauxB8KE.js +0 -662
- package/dist/spanxStaging-BucYQvR1.cjs +0 -849
- package/dist/spanxStaging-CfXUukdP.js +0 -846
- package/dist/suggestionBarV2-types-B3lwrENK.cjs +0 -16
- package/dist/suggestionBarV2-types-Penx3Y67.js +0 -10
- package/dist/supergoop-8qa_NV3F.cjs +0 -338
- package/dist/supergoop-DOaui-A6.js +0 -336
- package/dist/types-CD4LFta-.d.cts +0 -33
- package/dist/types-CGC6Oozp.cjs +0 -231
- package/dist/types-CnTCkyvK.js +0 -177
- package/dist/types-DBdI0j89.d.ts +0 -33
- package/dist/uniqueVintage-BWkDgt1z.js +0 -1212
- package/dist/uniqueVintage-DAne8XcL.cjs +0 -1214
- package/dist/variant-CC1nrywd.d.ts +0 -13
- package/dist/variant-CQTuQQSq.d.cts +0 -13
- package/dist/venaCbd-B1HO_Pkr.cjs +0 -366
- package/dist/venaCbd-CnByO-5R.js +0 -366
- package/dist/westonJonBoucher-BAGXegsX.js +0 -423
- package/dist/westonJonBoucher-BRfHWMbs.cjs +0 -423
- package/dist/wineEnthusiast-DW8JVwV8.cjs +0 -941
- package/dist/wineEnthusiast-EJbhMeKQ.js +0 -941
- package/dist/wolfMattress-B6INZNRJ.cjs +0 -373
- package/dist/wolfMattress-D9P7ErH_.js +0 -373
- package/dist/wolfTactical-C5Pupi3J.js +0 -350
- package/dist/wolfTactical-TMthZM93.cjs +0 -350
- package/src/adapters/amplitude/amplitudeAdapter.ts +0 -477
- package/src/adapters/amplitude/index.ts +0 -2
- package/src/adapters/amplitude/stubAmplitudeAdapter.ts +0 -34
- package/src/adapters/spiffy/commerce/graphql.ts +0 -219
- package/src/application/config/generalStaticConfig.ts +0 -40
- package/src/application/config/index.ts +0 -1
- package/src/application/models/domMutationContinuation.ts +0 -7
- package/src/application/models/domObservationStrategy.ts +0 -9
- package/src/application/models/supportedOrgs.ts +0 -161
- package/src/application/service/cachingService.ts +0 -84
- package/src/application/service/cdnService.ts +0 -20
- package/src/application/service/customerService/index.ts +0 -8
- package/src/application/service/customerService/providers/UnsupportedCustomerService.ts +0 -15
- package/src/application/service/domMutationObserver.ts +0 -320
- package/src/application/service/domMutations/GridInsertionService.ts +0 -123
- package/src/application/service/domMutations/dataLayer/dataLayerEventsListener.ts +0 -99
- package/src/application/service/domMutations/domInsertionService.ts +0 -90
- package/src/application/service/domMutations/domMutationListener.ts +0 -15
- package/src/application/service/domMutations/domMutationListenerState.ts +0 -52
- package/src/application/service/domMutations/floatingChat/embeddedChatsPlacementsListener.ts +0 -41
- package/src/application/service/domMutations/gladly/gladlyListener.ts +0 -61
- package/src/application/service/domMutations/spiffy/orgs/common/kustomerVisibilityListener.ts +0 -41
- package/src/application/service/domMutations/spiffy/orgs/common/orgsCommonDataLayerListener.ts +0 -119
- package/src/application/service/featureFlagService.ts +0 -130
- package/src/application/service/graphqlConfigService.ts +0 -59
- package/src/application/service/index.ts +0 -32
- package/src/application/service/kustomerIntegrationService.ts +0 -111
- package/src/application/service/localStorageService.ts +0 -77
- package/src/application/service/pageVariantService.ts +0 -866
- package/src/application/service/searchService.ts +0 -147
- package/src/application/service/sessionStorageService.ts +0 -27
- package/src/application/service/shopifyUrlService.ts +0 -63
- package/src/application/service/userIdentityService.ts +0 -114
- package/src/application/service/windowChatToggleService.ts +0 -80
- package/src/application/service/windowDataLayerService.ts +0 -181
- package/src/application/service/windowFrontendConfigService.ts +0 -129
- package/src/atoms/org/merchantCss.ts +0 -161
- package/src/atoms/org/org.ts +0 -251
- package/src/atoms/org/orgPageConfig.ts +0 -41
- package/src/atoms/org/orgUIConfig.ts +0 -142
- package/src/contexts/enviveCssContext.tsx +0 -20
- package/src/contexts/index.ts +0 -6
- package/src/contexts/orgConfigContext.tsx +0 -106
- package/src/enabled-features.ts +0 -83
- package/src/hooks/index.ts +0 -21
- package/src/hooks/useDynamicVariants.ts +0 -226
- package/src/hooks/useFileUpload.ts +0 -63
- package/src/hooks/useHideElements.ts +0 -85
- package/src/hooks/useNewOrgConfig.ts +0 -80
- package/src/hooks/useSystemSettingsContext.ts +0 -12
- package/src/interceptors/useFormEscalation.ts +0 -57
- package/src/merchants/bandolier/bandolier.ts +0 -1389
- package/src/merchants/carpe/carpe.ts +0 -656
- package/src/merchants/coterie/coterie.ts +0 -280
- package/src/merchants/default.ts +0 -193
- package/src/merchants/dreamlandBaby/dreamlandBaby.ts +0 -375
- package/src/merchants/fiveCbd/fiveCbd.ts +0 -697
- package/src/merchants/forLoveAndLemons/forLoveAndLemons.ts +0 -721
- package/src/merchants/greenpan/greenpan.ts +0 -440
- package/src/merchants/grooveLife/grooveLife.ts +0 -386
- package/src/merchants/homegrownCannabis/homegrownCannabis.ts +0 -468
- package/src/merchants/init-merchant.sh +0 -53
- package/src/merchants/jackArcher/jackArcher.ts +0 -974
- package/src/merchants/jordanCraig/jordanCraig.ts +0 -1927
- package/src/merchants/kindredBravely/kindredBravely.ts +0 -529
- package/src/merchants/kutFromTheKloth/kutFromTheKloth.ts +0 -418
- package/src/merchants/larryAndSerges/larryAndSerges.ts +0 -314
- package/src/merchants/leapsAndRebounds/leapsAndRebounds.ts +0 -424
- package/src/merchants/longevityrx/longevityrx.ts +0 -368
- package/src/merchants/lookOptic/lookOptic.ts +0 -323
- package/src/merchants/mantraBrand/mantraBrand.ts +0 -838
- package/src/merchants/medterra/medterra.ts +0 -670
- package/src/merchants/modells/modells.ts +0 -546
- package/src/merchants/pressedFloral/pressedFloral.ts +0 -734
- package/src/merchants/skinPerfection/skinPerfection.ts +0 -379
- package/src/merchants/snapSupplements/snapSupplements.ts +0 -325
- package/src/merchants/spanx/spanx.ts +0 -810
- package/src/merchants/spanx/spanxStaging.ts +0 -942
- package/src/merchants/supergoop/supergoop.ts +0 -376
- package/src/merchants/uniqueVintage/uniqueVintage.ts +0 -1314
- package/src/merchants/venaCbd/venaCbd.ts +0 -410
- package/src/merchants/westonJonBoucher/westonJonBoucher.ts +0 -473
- package/src/merchants/wineEnthusiast/wineEnthusiast.ts +0 -990
- package/src/merchants/wolfMattress/wolfMattress.ts +0 -411
- package/src/merchants/wolfTactical/wolfTactical.ts +0 -389
- /package/dist/{locators-CugndTUM.cjs → AmplitudeOperations-CgIVPUlr.cjs} +0 -0
- /package/dist/{locators-DnKpajbY.js → AmplitudeOperations-YpyaR7Mp.js} +0 -0
- /package/dist/{utilityTypes-BVikejDo.js → atomStore-C2OI76yN.js} +0 -0
- /package/dist/{utilityTypes-C4h2wgAK.cjs → atomStore-DWmT1six.cjs} +0 -0
- /package/dist/{variantInfo-CzhR5W6h.js → types-DQoXDiso.js} +0 -0
- /package/dist/{variantInfo-CNRTY0gH.cjs → types-o3zWarRp.cjs} +0 -0
- /package/src/contexts/{systemSettingsContext.tsx → systemSettingsContext/systemSettingsContext.tsx} +0 -0
- /package/src/hooks/{useBlockBackButton.ts → BlockBackButton/useBlockBackButton.ts} +0 -0
- /package/src/hooks/{useCustomerSupportHandoff.ts → CustomerSupportHandoff/useCustomerSupportHandoff.ts} +0 -0
- /package/src/hooks/{useDebounce.ts → Debounce/useDebounce.ts} +0 -0
- /package/src/hooks/{useElementObserver.ts → ElementObserver/useElementObserver.ts} +0 -0
- /package/src/hooks/{useGrabAndScroll.ts → GrabAndScroll/useGrabAndScroll.ts} +0 -0
- /package/src/hooks/{useIntersection.ts → Intersection/useIntersection.ts} +0 -0
- /package/src/hooks/{useIsSmallScreen.ts → IsSmallScreen/useIsSmallScreen.ts} +0 -0
- /package/src/hooks/{useMessageFilter.ts → MessageFilter/useMessageFilter.ts} +0 -0
- /package/src/hooks/{useMessageScrollObserver.ts → MessageScrollObserver/useMessageScrollObserver.ts} +0 -0
- /package/src/hooks/{useSnapCalculator.ts → SnapCalculator/useSnapCalculator.ts} +0 -0
- /package/src/{application/service/customerService/types.ts → types/customerService.ts} +0 -0
- /package/src/{adapters/spiffy/commerce → types}/exceptions/sessionExceptions.ts +0 -0
- /package/src/{adapters/spiffy/commerce → types}/exceptions/unsupportedProductExceptions.ts +0 -0
|
@@ -1,666 +0,0 @@
|
|
|
1
|
-
import "./logger-pdEEY8T2.js";
|
|
2
|
-
import "./api-XRr_lAG6.js";
|
|
3
|
-
import { CdnService, DOMInsertionType } from "./contexts-CtRlNXaS.js";
|
|
4
|
-
import { CategoryExtractorType, ColorNames, CustomerServiceIntegrationMode, CustomerServiceType, OrgShortName, PageVariantTestType, WidgetType, colorVar } from "./types-CnTCkyvK.js";
|
|
5
|
-
import "./atomStore-B1cgmbP0.js";
|
|
6
|
-
import "./customerService-BHQRnLhC.js";
|
|
7
|
-
import "./globalSearch-b0wC7ZEO.js";
|
|
8
|
-
import "./utilityTypes-BVikejDo.js";
|
|
9
|
-
import "./variantInfo-CzhR5W6h.js";
|
|
10
|
-
import "./events-ClCDFK7t.js";
|
|
11
|
-
import { CHAT_PREVIEW_CONTAINER_ID, PROMPT_CARD_ID } from "./divIds-0Vj9g-fM.js";
|
|
12
|
-
import { CHAT_PREVIEW_TESTID, PROMPT_CARD_TESTID } from "./embedded-_cLpd6FK.js";
|
|
13
|
-
import { defaultOrgUIConfig } from "./default-CXkYrLEr.js";
|
|
14
|
-
import { PageVisitCategory } from "@spiffy-ai/commerce-api-client";
|
|
15
|
-
|
|
16
|
-
//#region src/merchants/forLoveAndLemons/forLoveAndLemons.ts
|
|
17
|
-
const forLoveAndLemonsColors = {
|
|
18
|
-
[ColorNames.TextPrimary]: "#111111",
|
|
19
|
-
[ColorNames.TextSecondary]: "#A4A4A4",
|
|
20
|
-
[ColorNames.TextAccent]: "#000000",
|
|
21
|
-
[ColorNames.TextLink]: "#000000",
|
|
22
|
-
[ColorNames.TextLight]: "#FFFFFF",
|
|
23
|
-
[ColorNames.BackgroundPrimary]: "#000000",
|
|
24
|
-
[ColorNames.BackgroundSecondary]: "#FFFFFF",
|
|
25
|
-
[ColorNames.BackgroundSecondaryDark]: "#E5E7EB",
|
|
26
|
-
[ColorNames.BackgroundTertiary]: "#E5E7EB",
|
|
27
|
-
[ColorNames.BackgroundDark]: "#000000",
|
|
28
|
-
[ColorNames.BackgroundLight]: "#FFFFFF",
|
|
29
|
-
[ColorNames.BackgroundSaturated]: "#EA191D",
|
|
30
|
-
[ColorNames.BorderLight]: "#E5E7EB",
|
|
31
|
-
[ColorNames.BorderMedium]: "#C7C7C7",
|
|
32
|
-
[ColorNames.BorderDark]: "#777777",
|
|
33
|
-
[ColorNames.BorderOutline]: "#0A0A0A",
|
|
34
|
-
[ColorNames.AccentPrimary]: "#000000",
|
|
35
|
-
[ColorNames.AccentSecondary]: "#000000"
|
|
36
|
-
};
|
|
37
|
-
const forLoveAndLemonsOrgUIConfig = () => {
|
|
38
|
-
const defaultForLoveAndLemonsOrgConfig = defaultOrgUIConfig(OrgShortName.ForLoveAndLemons);
|
|
39
|
-
return {
|
|
40
|
-
...defaultForLoveAndLemonsOrgConfig,
|
|
41
|
-
chatMessageConfig: {
|
|
42
|
-
...defaultForLoveAndLemonsOrgConfig.chatMessageConfig,
|
|
43
|
-
assistantChatTitle: "FL&L Personal Shopper",
|
|
44
|
-
productLink: {
|
|
45
|
-
...defaultForLoveAndLemonsOrgConfig.chatMessageConfig.productLink,
|
|
46
|
-
iconVariant: "borderLight"
|
|
47
|
-
}
|
|
48
|
-
},
|
|
49
|
-
chatHeader: {
|
|
50
|
-
...defaultForLoveAndLemonsOrgConfig.chatHeader,
|
|
51
|
-
expandedColor: colorVar(ColorNames.BackgroundLight),
|
|
52
|
-
collapsedColor: colorVar(ColorNames.BackgroundLight),
|
|
53
|
-
chevronColor: colorVar(ColorNames.BorderLight),
|
|
54
|
-
imageSrc: CdnService.getAssetURL("for-love-and-lemons-logo.svg", OrgShortName.ForLoveAndLemons),
|
|
55
|
-
customerSupportSwitchConfig: {
|
|
56
|
-
...defaultForLoveAndLemonsOrgConfig.chatHeader.customerSupportSwitchConfig,
|
|
57
|
-
unselectedTextColor: colorVar(ColorNames.TextSecondary),
|
|
58
|
-
supportTitle: "Support Team",
|
|
59
|
-
spiffyTitle: "Shopping Assistant"
|
|
60
|
-
}
|
|
61
|
-
},
|
|
62
|
-
chatPreviewConfig: { ...defaultForLoveAndLemonsOrgConfig.chatPreviewConfig },
|
|
63
|
-
floatingEntrypointConfig: {
|
|
64
|
-
...defaultForLoveAndLemonsOrgConfig.floatingEntrypointConfig,
|
|
65
|
-
showOption: "always",
|
|
66
|
-
expansionText: {
|
|
67
|
-
pdp: "Have questions?",
|
|
68
|
-
plp: "Have questions?"
|
|
69
|
-
}
|
|
70
|
-
},
|
|
71
|
-
welcomeSectionConfig: {
|
|
72
|
-
...defaultForLoveAndLemonsOrgConfig.welcomeSectionConfig,
|
|
73
|
-
title: "Meet your FL&L Personal Shopper",
|
|
74
|
-
subtitle: "From finding the perfect outfit for any occasion to styling your dream look from head-to-toe, our AI-powered personal shopper is here to make your shopping experience effortless.",
|
|
75
|
-
variant: "outlined",
|
|
76
|
-
iconName: void 0
|
|
77
|
-
},
|
|
78
|
-
customerServiceIntegration: {
|
|
79
|
-
integrationMode: CustomerServiceIntegrationMode.simple,
|
|
80
|
-
provider: CustomerServiceType.gorgias
|
|
81
|
-
},
|
|
82
|
-
productReviewConfig: {
|
|
83
|
-
...defaultForLoveAndLemonsOrgConfig.productReviewConfig,
|
|
84
|
-
styleVariant: "bordered"
|
|
85
|
-
},
|
|
86
|
-
floatingChatConfig: {
|
|
87
|
-
...defaultForLoveAndLemonsOrgConfig.floatingChatConfig,
|
|
88
|
-
replyInputConfig: {
|
|
89
|
-
...defaultForLoveAndLemonsOrgConfig.floatingChatConfig.replyInputConfig,
|
|
90
|
-
sendIcon: "arrowUp"
|
|
91
|
-
},
|
|
92
|
-
suggestionButtonConfig: {
|
|
93
|
-
variant: "transparentDark",
|
|
94
|
-
hoverVariant: "secondaryDark",
|
|
95
|
-
answerVariant: "transparentDark"
|
|
96
|
-
}
|
|
97
|
-
},
|
|
98
|
-
merchantVariantSettings: { dynamicVariants: {
|
|
99
|
-
enabled: true,
|
|
100
|
-
refreshInterval: 500
|
|
101
|
-
} },
|
|
102
|
-
merchantOverrideCss: `
|
|
103
|
-
.spiffy-button-base-button {
|
|
104
|
-
height: 32px;
|
|
105
|
-
min-height: 32px;
|
|
106
|
-
}
|
|
107
|
-
|
|
108
|
-
.spiffy-button-base-button-text {
|
|
109
|
-
font-size: 12px;
|
|
110
|
-
}
|
|
111
|
-
|
|
112
|
-
.spiffy-suggestion-button-question-class {
|
|
113
|
-
border: 1px solid ${colorVar(ColorNames.BorderLight)} !important;
|
|
114
|
-
border-radius: 4px;
|
|
115
|
-
}
|
|
116
|
-
|
|
117
|
-
#spiffy-ai-chat-preview {
|
|
118
|
-
margin-top: 12px;
|
|
119
|
-
}
|
|
120
|
-
|
|
121
|
-
.spiffy-image-prompt-card {
|
|
122
|
-
font-family: var(--font-main);
|
|
123
|
-
}
|
|
124
|
-
|
|
125
|
-
.spiffy-image-prompt-card .spiffy-title {
|
|
126
|
-
font-family: var(--font-serif);
|
|
127
|
-
}
|
|
128
|
-
|
|
129
|
-
.spiffy-single-image-prompt {
|
|
130
|
-
font-family: var(--font-main);
|
|
131
|
-
.spiffy-user-query-button {
|
|
132
|
-
border-color: var(--spiffy-colors-border-light);
|
|
133
|
-
}
|
|
134
|
-
}
|
|
135
|
-
|
|
136
|
-
@media (max-width: 768px) {
|
|
137
|
-
#spiffy-ai-prompt-card {
|
|
138
|
-
aspect-ratio: auto;
|
|
139
|
-
height: 358px;
|
|
140
|
-
grid-column: 1 / span 2;
|
|
141
|
-
}
|
|
142
|
-
}
|
|
143
|
-
|
|
144
|
-
.spiffy-button-block .spiffy-user-query-button {
|
|
145
|
-
font-size: 10px;
|
|
146
|
-
height: 32px;
|
|
147
|
-
}
|
|
148
|
-
|
|
149
|
-
.spiffy-single-image-prompt {
|
|
150
|
-
font-family: var(--font-main);
|
|
151
|
-
.spiffy-title {
|
|
152
|
-
font-family: var(--font-serif);
|
|
153
|
-
}
|
|
154
|
-
}
|
|
155
|
-
|
|
156
|
-
@media (max-width: 768px) {
|
|
157
|
-
.spiffy-single-image-prompt {
|
|
158
|
-
padding-left: 12px;
|
|
159
|
-
padding-right: 12px;
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
|
|
163
|
-
@media (min-width: 768px) {
|
|
164
|
-
#spiffy-ai-chat-preview {
|
|
165
|
-
margin-top: 28px;
|
|
166
|
-
margin-bottom: -42px;
|
|
167
|
-
}
|
|
168
|
-
.spiffy-single-image-prompt {
|
|
169
|
-
.spiffy-title {
|
|
170
|
-
padding-left: 40px;
|
|
171
|
-
font-size: 40px;
|
|
172
|
-
}
|
|
173
|
-
.spiffy-suggestion-bar {
|
|
174
|
-
padding-left: 80px;
|
|
175
|
-
flex-direction: row;
|
|
176
|
-
}
|
|
177
|
-
.spiffy-single-image-prompt-block {
|
|
178
|
-
margin-top: 16px;
|
|
179
|
-
}
|
|
180
|
-
.spiffy-button-block {
|
|
181
|
-
flex-direction: row;
|
|
182
|
-
width: 100%;
|
|
183
|
-
justify-content: space-between;
|
|
184
|
-
}
|
|
185
|
-
.spiffy-footer-container {
|
|
186
|
-
min-width: 33.33%;
|
|
187
|
-
width: 33.33%;
|
|
188
|
-
padding-left: 24px;
|
|
189
|
-
padding-right: 24px;
|
|
190
|
-
margin-top: 0px;
|
|
191
|
-
@media (min-width: 1280px) {
|
|
192
|
-
padding-left: 54px;
|
|
193
|
-
padding-right: 54px;
|
|
194
|
-
}
|
|
195
|
-
@media (min-width: 1536px) {
|
|
196
|
-
padding-left: 81px;
|
|
197
|
-
padding-right: 81px;
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
.spiffy-user-query-button {
|
|
201
|
-
margin-top: 0px;
|
|
202
|
-
}
|
|
203
|
-
.spiffy-product-image {
|
|
204
|
-
display: none;
|
|
205
|
-
}
|
|
206
|
-
}
|
|
207
|
-
}
|
|
208
|
-
|
|
209
|
-
.spiffy-product-card-title {
|
|
210
|
-
font-family: var(--chakra-fonts-heading);
|
|
211
|
-
}
|
|
212
|
-
|
|
213
|
-
.spiffy-switch-to-agent-button-unselected-text-color {
|
|
214
|
-
color: var(--spiffy-colors-text-secondary);
|
|
215
|
-
}
|
|
216
|
-
|
|
217
|
-
.spiffy-chat-header-container {
|
|
218
|
-
background-color: var(--spiffy-colors-background-light);
|
|
219
|
-
}
|
|
220
|
-
`
|
|
221
|
-
};
|
|
222
|
-
};
|
|
223
|
-
const forLoveAndLemonsPageConfig = () => ({
|
|
224
|
-
pageVariants: [
|
|
225
|
-
{
|
|
226
|
-
variantId: "plpTopCategories",
|
|
227
|
-
variantType: "plp",
|
|
228
|
-
variantTests: [{ testType: PageVariantTestType.ShopifyPLP }],
|
|
229
|
-
plpIdExtractor: "shopify-collection-id",
|
|
230
|
-
widgetMounting: [{
|
|
231
|
-
mountingConfigId: "imagePromptCardPLP",
|
|
232
|
-
mountingPointWidgets: [
|
|
233
|
-
{
|
|
234
|
-
tests: [{
|
|
235
|
-
testType: PageVariantTestType.TopCatalogCategory,
|
|
236
|
-
topCategory: ["dresses"]
|
|
237
|
-
}],
|
|
238
|
-
widgetConfigId: "imagePromptCardDresses"
|
|
239
|
-
},
|
|
240
|
-
{
|
|
241
|
-
tests: [{
|
|
242
|
-
testType: PageVariantTestType.TopCatalogCategory,
|
|
243
|
-
topCategory: ["tops"]
|
|
244
|
-
}],
|
|
245
|
-
widgetConfigId: "imagePromptCardTops"
|
|
246
|
-
},
|
|
247
|
-
{
|
|
248
|
-
tests: [{
|
|
249
|
-
testType: PageVariantTestType.TopCatalogCategory,
|
|
250
|
-
topCategory: ["bottoms"]
|
|
251
|
-
}],
|
|
252
|
-
widgetConfigId: "imagePromptCardBottoms"
|
|
253
|
-
},
|
|
254
|
-
{
|
|
255
|
-
tests: [{
|
|
256
|
-
testType: PageVariantTestType.TopCatalogCategory,
|
|
257
|
-
topCategory: ["sweaters", "knitwear"]
|
|
258
|
-
}],
|
|
259
|
-
widgetConfigId: "imagePromptCardKnitwear"
|
|
260
|
-
},
|
|
261
|
-
{
|
|
262
|
-
tests: [{
|
|
263
|
-
testType: PageVariantTestType.TopCatalogCategory,
|
|
264
|
-
topCategory: ["swim", "swimwear"]
|
|
265
|
-
}],
|
|
266
|
-
widgetConfigId: "imagePromptCardSwim"
|
|
267
|
-
},
|
|
268
|
-
{
|
|
269
|
-
tests: [{
|
|
270
|
-
testType: PageVariantTestType.TopCatalogCategory,
|
|
271
|
-
topCategory: ["lingerie", "panties"]
|
|
272
|
-
}],
|
|
273
|
-
widgetConfigId: "imagePromptCardLingerie"
|
|
274
|
-
},
|
|
275
|
-
{
|
|
276
|
-
tests: [{
|
|
277
|
-
testType: PageVariantTestType.TopCatalogCategory,
|
|
278
|
-
topCategory: ["wedding-honeymoon"]
|
|
279
|
-
}],
|
|
280
|
-
widgetConfigId: "imagePromptCardBridal"
|
|
281
|
-
},
|
|
282
|
-
{
|
|
283
|
-
tests: [{
|
|
284
|
-
testType: PageVariantTestType.TopCatalogCategory,
|
|
285
|
-
topCategory: ["for-love-and-lemons-essentials", "essentials"]
|
|
286
|
-
}],
|
|
287
|
-
widgetConfigId: "imagePromptCardEssentials"
|
|
288
|
-
},
|
|
289
|
-
{
|
|
290
|
-
tests: [{
|
|
291
|
-
testType: PageVariantTestType.TopCatalogCategory,
|
|
292
|
-
topCategory: ["accessories"]
|
|
293
|
-
}],
|
|
294
|
-
widgetConfigId: "imagePromptCardAccessories"
|
|
295
|
-
},
|
|
296
|
-
{
|
|
297
|
-
tests: [],
|
|
298
|
-
widgetConfigId: "imagePromptCard"
|
|
299
|
-
}
|
|
300
|
-
]
|
|
301
|
-
}]
|
|
302
|
-
},
|
|
303
|
-
{
|
|
304
|
-
variantId: "plp",
|
|
305
|
-
variantType: "plp",
|
|
306
|
-
variantTests: [{ testType: PageVariantTestType.ShopifyPLP }],
|
|
307
|
-
plpIdExtractor: "shopify-collection-id",
|
|
308
|
-
widgetMounting: [{
|
|
309
|
-
mountingConfigId: "imagePromptCardPLP",
|
|
310
|
-
widgetConfigId: "imagePromptCard"
|
|
311
|
-
}]
|
|
312
|
-
},
|
|
313
|
-
{
|
|
314
|
-
variantId: "pdp",
|
|
315
|
-
variantType: "pdp",
|
|
316
|
-
variantTests: [{ testType: PageVariantTestType.ShopifyPDP }],
|
|
317
|
-
productIdExtractor: "shopify-product-id",
|
|
318
|
-
widgetMounting: [{
|
|
319
|
-
mountingConfigId: "singleImagePromptPDP",
|
|
320
|
-
widgetConfigId: "singleImagePrompt"
|
|
321
|
-
}]
|
|
322
|
-
},
|
|
323
|
-
{
|
|
324
|
-
variantId: "home",
|
|
325
|
-
variantType: "page_visit",
|
|
326
|
-
variantTests: [{
|
|
327
|
-
testType: PageVariantTestType.PageCategory,
|
|
328
|
-
extractor: {
|
|
329
|
-
type: CategoryExtractorType.VisitCategoryMap,
|
|
330
|
-
map: { [PageVisitCategory.Homepage]: ["/"] }
|
|
331
|
-
}
|
|
332
|
-
}],
|
|
333
|
-
widgetMounting: []
|
|
334
|
-
},
|
|
335
|
-
{
|
|
336
|
-
variantId: "other",
|
|
337
|
-
variantType: "page_visit",
|
|
338
|
-
variantTests: [{
|
|
339
|
-
testType: PageVariantTestType.PageCategory,
|
|
340
|
-
extractor: {
|
|
341
|
-
type: CategoryExtractorType.VisitCategoryDefault,
|
|
342
|
-
value: PageVisitCategory.Other
|
|
343
|
-
}
|
|
344
|
-
}],
|
|
345
|
-
widgetMounting: []
|
|
346
|
-
}
|
|
347
|
-
],
|
|
348
|
-
widgetConfigs: {
|
|
349
|
-
imagePromptCard: {
|
|
350
|
-
widgetConfigId: "imagePromptCard",
|
|
351
|
-
type: WidgetType.ImagePromptCard,
|
|
352
|
-
url: `https://cdn.shopify.com/s/files/1/0271/4967/files/11_250314_FLL_PORTUGAL_CABIN_004_1_300x.jpg?v=1748977560`,
|
|
353
|
-
lightText: true,
|
|
354
|
-
title: "Let's find your dream outfit",
|
|
355
|
-
subtitle: [
|
|
356
|
-
"A dreamy slip dress you can wear in and out of the house?",
|
|
357
|
-
"A sultry little black dress for date night?",
|
|
358
|
-
"Lingerie sets you can gift the bride?",
|
|
359
|
-
"A chic yet comfortable look you can wear to the office?",
|
|
360
|
-
"A pretty corset you can wear to a music festival?",
|
|
361
|
-
"A chic yet comfortable look you can wear to the office?",
|
|
362
|
-
"A sweeping satin gown for a friend's wedding?",
|
|
363
|
-
"A floral midi dress for brunch with friends?",
|
|
364
|
-
"A timeless lace dress for special occasions?"
|
|
365
|
-
],
|
|
366
|
-
staticSuggestionCopies: [
|
|
367
|
-
"Little Black Dresses",
|
|
368
|
-
"Matching Co-Ord Sets",
|
|
369
|
-
"Cozy Spring Layers",
|
|
370
|
-
"Romantic Lingerie for Date Night",
|
|
371
|
-
"Chic Wedding Guest Dresses",
|
|
372
|
-
"Bachelorette Mini Dresses"
|
|
373
|
-
],
|
|
374
|
-
userQueryButtonConfig: {
|
|
375
|
-
variant: "underlineLight",
|
|
376
|
-
placeholderText: "Need something special?",
|
|
377
|
-
icon: "sendArrow"
|
|
378
|
-
}
|
|
379
|
-
},
|
|
380
|
-
imagePromptCardDresses: {
|
|
381
|
-
widgetConfigId: "imagePromptCardDresses",
|
|
382
|
-
type: WidgetType.ImagePromptCard,
|
|
383
|
-
url: `https://cdn.shopify.com/s/files/1/0271/4967/files/18-05_250506_FLL_SAILOR_MARSEILLE_032_v2_300x.jpg?v=1752606888`,
|
|
384
|
-
lightText: true,
|
|
385
|
-
title: "Let's find your dream outfit",
|
|
386
|
-
subtitle: [
|
|
387
|
-
"A dress you can wear from your desk to dinner date?",
|
|
388
|
-
"An ultra-chic party dress for that upcoming soirée?",
|
|
389
|
-
"A timeless dress you can wear again and again?",
|
|
390
|
-
"A dress designed with vintage references?",
|
|
391
|
-
"A casual dress you can throw on and go?"
|
|
392
|
-
],
|
|
393
|
-
staticSuggestionCopies: [
|
|
394
|
-
"Little Black Dresses",
|
|
395
|
-
"Cocktail Dresses for Weddings",
|
|
396
|
-
"Feminine Midi Dresses",
|
|
397
|
-
"Floral Mini Dresses",
|
|
398
|
-
"Dresses for Date Night"
|
|
399
|
-
],
|
|
400
|
-
userQueryButtonConfig: {
|
|
401
|
-
variant: "underlineLight",
|
|
402
|
-
placeholderText: "Need something special?",
|
|
403
|
-
icon: "sendArrow"
|
|
404
|
-
}
|
|
405
|
-
},
|
|
406
|
-
imagePromptCardTops: {
|
|
407
|
-
widgetConfigId: "imagePromptCardTops",
|
|
408
|
-
type: WidgetType.ImagePromptCard,
|
|
409
|
-
url: `https://cdn.shopify.com/s/files/1/0271/4967/files/41-11_250506_FLL_SAILOR_MARSEILLE_176_v2_4c4cd814-1a75-409d-916f-1e3c6cae5164_300x.jpg?v=1752607430`,
|
|
410
|
-
lightText: true,
|
|
411
|
-
title: "Let's find your dream outfit",
|
|
412
|
-
subtitle: [
|
|
413
|
-
"A throw-on-and-go top for everyday?",
|
|
414
|
-
"Tops to pair with your favorite vintage jeans?",
|
|
415
|
-
"A romantic top you can wear to date night?",
|
|
416
|
-
"Tops that transition between seasons?",
|
|
417
|
-
"Tops for your upcoming getaway?"
|
|
418
|
-
],
|
|
419
|
-
staticSuggestionCopies: [
|
|
420
|
-
"Flirty Crop Tops",
|
|
421
|
-
"Whimsical Blouses",
|
|
422
|
-
"Tops With Matching Bottoms",
|
|
423
|
-
"Chic Going Out Tops",
|
|
424
|
-
"Day to Date Night Tops"
|
|
425
|
-
],
|
|
426
|
-
userQueryButtonConfig: {
|
|
427
|
-
variant: "underlineLight",
|
|
428
|
-
placeholderText: "Need something special?",
|
|
429
|
-
icon: "sendArrow"
|
|
430
|
-
}
|
|
431
|
-
},
|
|
432
|
-
imagePromptCardBottoms: {
|
|
433
|
-
widgetConfigId: "imagePromptCardBottoms",
|
|
434
|
-
type: WidgetType.ImagePromptCard,
|
|
435
|
-
url: `https://cdn.shopify.com/s/files/1/0271/4967/files/38-11_250506_FLL_SAILOR_MARSEILLE_098_v2_ebdc3602-8454-4059-8099-a514d5993657_300x.jpg?v=1752607400`,
|
|
436
|
-
lightText: true,
|
|
437
|
-
title: "Let's find your dream outfit",
|
|
438
|
-
subtitle: [
|
|
439
|
-
"Chic and casual bottoms you can wear everyday?",
|
|
440
|
-
"Skirts you can mix and match with your favorite tops?",
|
|
441
|
-
"Smart pants for a chic, offbeat party look?",
|
|
442
|
-
"Mini skirts that transition between seasons?",
|
|
443
|
-
"Shorts you can style with matching tops and jackets?"
|
|
444
|
-
],
|
|
445
|
-
staticSuggestionCopies: [
|
|
446
|
-
"Romantic Maxi Skirts",
|
|
447
|
-
"Vintage-Inspired Mini Skirts",
|
|
448
|
-
"Ultra-Chic Capri Pants",
|
|
449
|
-
"Casual Shorts for Everyday",
|
|
450
|
-
"Lingerie-Inspired Slip Skirts"
|
|
451
|
-
],
|
|
452
|
-
userQueryButtonConfig: {
|
|
453
|
-
variant: "underlineLight",
|
|
454
|
-
placeholderText: "Need something special?",
|
|
455
|
-
icon: "sendArrow"
|
|
456
|
-
}
|
|
457
|
-
},
|
|
458
|
-
imagePromptCardKnitwear: {
|
|
459
|
-
widgetConfigId: "imagePromptCardKnitwear",
|
|
460
|
-
type: WidgetType.ImagePromptCard,
|
|
461
|
-
url: `https://cdn.shopify.com/s/files/1/0271/4967/files/2-13_250506_FLL_SAILOR_MARSEILLE_015_v2_2315ca29-7e6f-45eb-8a2d-ebacae8b909c_300x.jpg?v=1752607285`,
|
|
462
|
-
lightText: true,
|
|
463
|
-
title: "Let's find your dream outfit",
|
|
464
|
-
subtitle: [
|
|
465
|
-
"A chic cardigan to wear to your next dinner date?",
|
|
466
|
-
"An oversized knit for serene days at home?",
|
|
467
|
-
"A cropped knit you can pair with a matching mini skirt?",
|
|
468
|
-
"A timeless knit mini dress for stylish rendezvous?",
|
|
469
|
-
"Knit jackets for when the temperature drops?"
|
|
470
|
-
],
|
|
471
|
-
staticSuggestionCopies: [
|
|
472
|
-
"Cozy Oversized Sweaters",
|
|
473
|
-
"Feminine Cardis for Date Night",
|
|
474
|
-
"Matching Knit Co-Ord Sets",
|
|
475
|
-
"Timeless Knit Mini Dresses",
|
|
476
|
-
"Chic Knit Jackets"
|
|
477
|
-
],
|
|
478
|
-
userQueryButtonConfig: {
|
|
479
|
-
variant: "underlineLight",
|
|
480
|
-
placeholderText: "Need something special?",
|
|
481
|
-
icon: "sendArrow"
|
|
482
|
-
}
|
|
483
|
-
},
|
|
484
|
-
imagePromptCardSwim: {
|
|
485
|
-
widgetConfigId: "imagePromptCardSwim",
|
|
486
|
-
type: WidgetType.ImagePromptCard,
|
|
487
|
-
url: `https://cdn.shopify.com/s/files/1/0271/4967/files/15-20250213_FORLOVEANDLEMONS_SHOT_04_148_eefe62bf-b290-46bc-ae99-8e876ef04ba1_300x.jpg?v=1749575070`,
|
|
488
|
-
lightText: true,
|
|
489
|
-
title: "Let's find your dream outfit",
|
|
490
|
-
subtitle: [
|
|
491
|
-
"A one-piece bathing suit for a chic poolside look?",
|
|
492
|
-
"A tiny bikini for maximum sun-bathing potential?",
|
|
493
|
-
"High-waisted swim bottoms with vintage appeal?",
|
|
494
|
-
"Cover-ups that bring romance to the beach",
|
|
495
|
-
"Hats and hair accessories you can pair with your favorite bikini?"
|
|
496
|
-
],
|
|
497
|
-
staticSuggestionCopies: [
|
|
498
|
-
"Retro Bathing Suits",
|
|
499
|
-
"Summer-Ready Thong Bikinis",
|
|
500
|
-
"Romantic Crochet Cover-Ups",
|
|
501
|
-
"Beach-Ready Accessories",
|
|
502
|
-
"Gingham Bikinis"
|
|
503
|
-
],
|
|
504
|
-
userQueryButtonConfig: {
|
|
505
|
-
variant: "underlineLight",
|
|
506
|
-
placeholderText: "Need something special?",
|
|
507
|
-
icon: "sendArrow"
|
|
508
|
-
}
|
|
509
|
-
},
|
|
510
|
-
imagePromptCardLingerie: {
|
|
511
|
-
widgetConfigId: "imagePromptCardLingerie",
|
|
512
|
-
type: WidgetType.ImagePromptCard,
|
|
513
|
-
url: `https://cdn.shopify.com/s/files/1/0271/4967/files/13-20_250506_FLL_SAILOR_MARSEILLE_134_v2_1647eaec-6fd4-48eb-8b60-febacb8cc0a7_300x.jpg?v=1752607529-`,
|
|
514
|
-
lightText: true,
|
|
515
|
-
title: "Let's find your dream outfit",
|
|
516
|
-
subtitle: [
|
|
517
|
-
"Comfortable lingerie you can include in your everyday rotation?",
|
|
518
|
-
"Sexy lingerie for date night?",
|
|
519
|
-
"Babydoll dresses you can wear in the bedroom and beyond?",
|
|
520
|
-
"Slip dresses with maximum vintage appeal?",
|
|
521
|
-
"A bridal lingerie set for the first night of your happily ever after?"
|
|
522
|
-
],
|
|
523
|
-
staticSuggestionCopies: [
|
|
524
|
-
"Sexy and Sweet PJ Sets",
|
|
525
|
-
"3-Piece Lingerie Sets",
|
|
526
|
-
"Panty Sets for Everyday",
|
|
527
|
-
"Vintage-Inspired Slip Dresses",
|
|
528
|
-
"Romantic Bridal Lingerie"
|
|
529
|
-
],
|
|
530
|
-
userQueryButtonConfig: {
|
|
531
|
-
variant: "underlineLight",
|
|
532
|
-
placeholderText: "Need something special?",
|
|
533
|
-
icon: "sendArrow"
|
|
534
|
-
}
|
|
535
|
-
},
|
|
536
|
-
imagePromptCardBridal: {
|
|
537
|
-
widgetConfigId: "imagePromptCardBridal",
|
|
538
|
-
type: WidgetType.ImagePromptCard,
|
|
539
|
-
url: `https://cdn.shopify.com/s/files/1/0271/4967/files/240806_BC_FLL_24_BRIDAL_CAMPAIGN_LOOK_12_0003_V1_300x.jpg?v=1748977674`,
|
|
540
|
-
lightText: true,
|
|
541
|
-
title: "Let's find your dream outfit",
|
|
542
|
-
subtitle: [
|
|
543
|
-
"Bridal dresses for the moments around your big day?",
|
|
544
|
-
"A gown for your bridal reception?",
|
|
545
|
-
"Whimsical accessories to pair with your bridal looks?",
|
|
546
|
-
"Lingerie to gift the bride at her bachelorette?",
|
|
547
|
-
`Outfits to wear to your friend's upcoming wedding?`
|
|
548
|
-
],
|
|
549
|
-
staticSuggestionCopies: [
|
|
550
|
-
"Gowns for Your Reception",
|
|
551
|
-
"Romantic Bridal Veils",
|
|
552
|
-
"Bachelorette Gifts for the Bride",
|
|
553
|
-
"Wedding Guest Dresses",
|
|
554
|
-
"Chic Honeymoon Outfits"
|
|
555
|
-
],
|
|
556
|
-
userQueryButtonConfig: {
|
|
557
|
-
variant: "underlineLight",
|
|
558
|
-
placeholderText: "Need something special?",
|
|
559
|
-
icon: "sendArrow"
|
|
560
|
-
}
|
|
561
|
-
},
|
|
562
|
-
imagePromptCardEssentials: {
|
|
563
|
-
widgetConfigId: "imagePromptCardEssentials",
|
|
564
|
-
type: WidgetType.ImagePromptCard,
|
|
565
|
-
url: `https://cdn.shopify.com/s/files/1/0271/4967/files/40-240814_BC_FLL_SP25_ESSENTIALS_AT0049_ABOO65_YELLOW_AT0049_AB0064_CAMEL_0154_300x.jpg?v=1745526297`,
|
|
566
|
-
lightText: true,
|
|
567
|
-
title: "Let's find your dream outfit",
|
|
568
|
-
subtitle: [
|
|
569
|
-
"Chic Essentials you can lounge in?",
|
|
570
|
-
"Chic and comfortable dresses to you can wear to the office?",
|
|
571
|
-
"Sports-inspired co-ord sets for everyday?",
|
|
572
|
-
"Statement knitwear you can throw-on-and-go?",
|
|
573
|
-
`A casual jacket you'll wear on repeat?`
|
|
574
|
-
],
|
|
575
|
-
staticSuggestionCopies: [
|
|
576
|
-
"Silky Cupro Basics",
|
|
577
|
-
"Crisp Co-Ord Sets",
|
|
578
|
-
"Jersey Dresses for the Office",
|
|
579
|
-
"Casual Knitwear",
|
|
580
|
-
"Everyday Jackets"
|
|
581
|
-
],
|
|
582
|
-
userQueryButtonConfig: {
|
|
583
|
-
variant: "underlineLight",
|
|
584
|
-
placeholderText: "Need something special?",
|
|
585
|
-
icon: "sendArrow"
|
|
586
|
-
}
|
|
587
|
-
},
|
|
588
|
-
imagePromptCardAccessories: {
|
|
589
|
-
widgetConfigId: "imagePromptCardAccessories",
|
|
590
|
-
type: WidgetType.ImagePromptCard,
|
|
591
|
-
url: `https://cdn.shopify.com/s/files/1/0271/4967/files/42-11_250506_FLL_SAILOR_MARSEILLE_226_v2_cf7365b7-3944-4c29-b6ed-ce4f136a48fc_300x.jpg?v=1752607080`,
|
|
592
|
-
lightText: true,
|
|
593
|
-
title: "Let's find your dream outfit",
|
|
594
|
-
subtitle: [
|
|
595
|
-
"Headscarves to co-ordinate with your favorite FL&L look?",
|
|
596
|
-
"Open-toe mules for an upcoming wedding?",
|
|
597
|
-
"Vintage-inspired earrings to style with your favorite dresses?",
|
|
598
|
-
"Bags you can wear all day everyday?",
|
|
599
|
-
"Unique body jewelry you can wear to the festival?"
|
|
600
|
-
],
|
|
601
|
-
staticSuggestionCopies: [
|
|
602
|
-
"Summer-Ready Mules",
|
|
603
|
-
"Romantic Hair Accessories",
|
|
604
|
-
"Statement-Making Earrings",
|
|
605
|
-
"Everyday Bags",
|
|
606
|
-
"Glimmering Body Jewelry"
|
|
607
|
-
],
|
|
608
|
-
userQueryButtonConfig: {
|
|
609
|
-
variant: "underlineLight",
|
|
610
|
-
placeholderText: "Need something special?",
|
|
611
|
-
icon: "sendArrow"
|
|
612
|
-
}
|
|
613
|
-
},
|
|
614
|
-
singleImagePrompt: {
|
|
615
|
-
widgetConfigId: "singleImagePrompt",
|
|
616
|
-
type: WidgetType.SingleImagePrompt,
|
|
617
|
-
title: "How to wear it",
|
|
618
|
-
staticSuggestionCopies: [
|
|
619
|
-
"How can I dress this up for an event?",
|
|
620
|
-
"Can I wear this in different seasons?",
|
|
621
|
-
"Do you have shoes that match with this?",
|
|
622
|
-
"Can you give me layering ideas?",
|
|
623
|
-
"What's the best bra to wear under this?"
|
|
624
|
-
],
|
|
625
|
-
userQueryButtonConfig: {
|
|
626
|
-
variant: "underlineDark",
|
|
627
|
-
placeholderText: "Tell me your styling questions",
|
|
628
|
-
icon: "sendArrow"
|
|
629
|
-
}
|
|
630
|
-
}
|
|
631
|
-
},
|
|
632
|
-
mountingConfigs: {
|
|
633
|
-
imagePromptCardPLP: {
|
|
634
|
-
mountingConfigId: "imagePromptCardPLP",
|
|
635
|
-
containerId: PROMPT_CARD_ID,
|
|
636
|
-
testId: PROMPT_CARD_TESTID,
|
|
637
|
-
insertionPoint: {
|
|
638
|
-
selector: `#${PROMPT_CARD_ID}`,
|
|
639
|
-
insertionType: DOMInsertionType.NONE
|
|
640
|
-
}
|
|
641
|
-
},
|
|
642
|
-
singleImagePromptPDP: {
|
|
643
|
-
mountingConfigId: "singleImagePromptPDP",
|
|
644
|
-
containerId: CHAT_PREVIEW_CONTAINER_ID,
|
|
645
|
-
testId: CHAT_PREVIEW_TESTID,
|
|
646
|
-
insertionPoint: {
|
|
647
|
-
selector: `#${CHAT_PREVIEW_CONTAINER_ID}`,
|
|
648
|
-
insertionType: DOMInsertionType.NONE
|
|
649
|
-
}
|
|
650
|
-
}
|
|
651
|
-
}
|
|
652
|
-
});
|
|
653
|
-
const forLoveAndLemonsOrgInfo = {
|
|
654
|
-
shortName: OrgShortName.ForLoveAndLemons,
|
|
655
|
-
name: "For Love And Lemons",
|
|
656
|
-
domain: "forloveandlemons.com",
|
|
657
|
-
defaultProductId: "adira-mini-dress-red",
|
|
658
|
-
alwaysEnabledMerchants: true,
|
|
659
|
-
orgUIConfig: forLoveAndLemonsOrgUIConfig,
|
|
660
|
-
orgColors: () => forLoveAndLemonsColors,
|
|
661
|
-
orgPageConfig: forLoveAndLemonsPageConfig
|
|
662
|
-
};
|
|
663
|
-
|
|
664
|
-
//#endregion
|
|
665
|
-
export { forLoveAndLemonsOrgInfo };
|
|
666
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yTG92ZUFuZExlbW9ucy1nTkRsTXRQUi5qcyIsIm5hbWVzIjpbImZvckxvdmVBbmRMZW1vbnNDb2xvcnM6IENvbG9yTWFwcGluZyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXJjaGFudHMvZm9yTG92ZUFuZExlbW9ucy9mb3JMb3ZlQW5kTGVtb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhZ2VWaXNpdENhdGVnb3J5IH0gZnJvbSBcIkBzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudFwiO1xuaW1wb3J0IHtcbiAgQ0hBVF9QUkVWSUVXX1RFU1RJRCxcbiAgUFJPTVBUX0NBUkRfVEVTVElELFxufSBmcm9tIFwic3JjL2NvbmZpZy9sb2NhdG9ycy9lbWJlZGRlZFwiO1xuaW1wb3J0IHsgQmFzaWNPcmdJbmZvVHlwZSwgT3JnU2hvcnROYW1lIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHNcIjtcbmltcG9ydCB7IENkblNlcnZpY2UgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL3NlcnZpY2UvY2RuU2VydmljZVwiO1xuaW1wb3J0IHtcbiAgQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb25Nb2RlLFxuICBDdXN0b21lclNlcnZpY2VUeXBlLFxufSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL3NlcnZpY2UvY3VzdG9tZXJTZXJ2aWNlL3R5cGVzXCI7XG5pbXBvcnQgeyBET01JbnNlcnRpb25UeXBlIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9zZXJ2aWNlL2RvbU11dGF0aW9ucy9kb21JbnNlcnRpb25TZXJ2aWNlXCI7XG5pbXBvcnQgeyBDSEFUX1BSRVZJRVdfQ09OVEFJTkVSX0lELCBQUk9NUFRfQ0FSRF9JRCB9IGZyb20gXCJzcmMvY29uZmlnL2Rpdklkc1wiO1xuaW1wb3J0IHsgZGVmYXVsdE9yZ1VJQ29uZmlnIH0gZnJvbSBcInNyYy9tZXJjaGFudHMvZGVmYXVsdFwiO1xuaW1wb3J0IHtcbiAgQ29sb3JNYXBwaW5nLFxuICBDb2xvck5hbWVzLFxuICBjb2xvclZhcixcbiAgT3JnUGFnZUNvbmZpZyxcbiAgT3JnVUlDb25maWcsXG4gIFdpZGdldFR5cGUsXG4gIFBhZ2VWYXJpYW50VGVzdFR5cGUsXG4gIEltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnLFxuICBTaW5nbGVJbWFnZVByb21wdFdpZGdldENvbmZpZyxcbiAgQ2F0ZWdvcnlFeHRyYWN0b3JUeXBlLFxufSBmcm9tIFwic3JjL2NvbnRleHRzL3R5cGVzXCI7XG5cbmNvbnN0IGZvckxvdmVBbmRMZW1vbnNDb2xvcnM6IENvbG9yTWFwcGluZyA9IHtcbiAgW0NvbG9yTmFtZXMuVGV4dFByaW1hcnldOiBcIiMxMTExMTFcIixcbiAgW0NvbG9yTmFtZXMuVGV4dFNlY29uZGFyeV06IFwiI0E0QTRBNFwiLFxuICBbQ29sb3JOYW1lcy5UZXh0QWNjZW50XTogXCIjMDAwMDAwXCIsXG4gIFtDb2xvck5hbWVzLlRleHRMaW5rXTogXCIjMDAwMDAwXCIsXG4gIFtDb2xvck5hbWVzLlRleHRMaWdodF06IFwiI0ZGRkZGRlwiLFxuICBbQ29sb3JOYW1lcy5CYWNrZ3JvdW5kUHJpbWFyeV06IFwiIzAwMDAwMFwiLFxuICBbQ29sb3JOYW1lcy5CYWNrZ3JvdW5kU2Vjb25kYXJ5XTogXCIjRkZGRkZGXCIsXG4gIFtDb2xvck5hbWVzLkJhY2tncm91bmRTZWNvbmRhcnlEYXJrXTogXCIjRTVFN0VCXCIsXG4gIFtDb2xvck5hbWVzLkJhY2tncm91bmRUZXJ0aWFyeV06IFwiI0U1RTdFQlwiLFxuICBbQ29sb3JOYW1lcy5CYWNrZ3JvdW5kRGFya106IFwiIzAwMDAwMFwiLFxuICBbQ29sb3JOYW1lcy5CYWNrZ3JvdW5kTGlnaHRdOiBcIiNGRkZGRkZcIixcbiAgW0NvbG9yTmFtZXMuQmFja2dyb3VuZFNhdHVyYXRlZF06IFwiI0VBMTkxRFwiLCAvLyBXaGF0IGlzIHRoaXM/XG4gIFtDb2xvck5hbWVzLkJvcmRlckxpZ2h0XTogXCIjRTVFN0VCXCIsXG4gIFtDb2xvck5hbWVzLkJvcmRlck1lZGl1bV06IFwiI0M3QzdDN1wiLFxuICBbQ29sb3JOYW1lcy5Cb3JkZXJEYXJrXTogXCIjNzc3Nzc3XCIsXG4gIFtDb2xvck5hbWVzLkJvcmRlck91dGxpbmVdOiBcIiMwQTBBMEFcIixcbiAgW0NvbG9yTmFtZXMuQWNjZW50UHJpbWFyeV06IFwiIzAwMDAwMFwiLFxuICBbQ29sb3JOYW1lcy5BY2NlbnRTZWNvbmRhcnldOiBcIiMwMDAwMDBcIixcbn07XG5cbmNvbnN0IGZvckxvdmVBbmRMZW1vbnNPcmdVSUNvbmZpZyA9ICgpOiBPcmdVSUNvbmZpZyA9PiB7XG4gIGNvbnN0IGRlZmF1bHRGb3JMb3ZlQW5kTGVtb25zT3JnQ29uZmlnID0gZGVmYXVsdE9yZ1VJQ29uZmlnKFxuICAgIE9yZ1Nob3J0TmFtZS5Gb3JMb3ZlQW5kTGVtb25zXG4gICk7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5kZWZhdWx0Rm9yTG92ZUFuZExlbW9uc09yZ0NvbmZpZyxcbiAgICBjaGF0TWVzc2FnZUNvbmZpZzoge1xuICAgICAgLi4uZGVmYXVsdEZvckxvdmVBbmRMZW1vbnNPcmdDb25maWcuY2hhdE1lc3NhZ2VDb25maWcsXG4gICAgICBhc3Npc3RhbnRDaGF0VGl0bGU6IFwiRkwmTCBQZXJzb25hbCBTaG9wcGVyXCIsXG4gICAgICBwcm9kdWN0TGluazoge1xuICAgICAgICAuLi5kZWZhdWx0Rm9yTG92ZUFuZExlbW9uc09yZ0NvbmZpZy5jaGF0TWVzc2FnZUNvbmZpZy5wcm9kdWN0TGluayxcbiAgICAgICAgaWNvblZhcmlhbnQ6IFwiYm9yZGVyTGlnaHRcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgICBjaGF0SGVhZGVyOiB7XG4gICAgICAuLi5kZWZhdWx0Rm9yTG92ZUFuZExlbW9uc09yZ0NvbmZpZy5jaGF0SGVhZGVyLFxuICAgICAgZXhwYW5kZWRDb2xvcjogY29sb3JWYXIoQ29sb3JOYW1lcy5CYWNrZ3JvdW5kTGlnaHQpLFxuICAgICAgY29sbGFwc2VkQ29sb3I6IGNvbG9yVmFyKENvbG9yTmFtZXMuQmFja2dyb3VuZExpZ2h0KSxcbiAgICAgIGNoZXZyb25Db2xvcjogY29sb3JWYXIoQ29sb3JOYW1lcy5Cb3JkZXJMaWdodCksXG4gICAgICBpbWFnZVNyYzogQ2RuU2VydmljZS5nZXRBc3NldFVSTChcbiAgICAgICAgXCJmb3ItbG92ZS1hbmQtbGVtb25zLWxvZ28uc3ZnXCIsXG4gICAgICAgIE9yZ1Nob3J0TmFtZS5Gb3JMb3ZlQW5kTGVtb25zXG4gICAgICApLFxuICAgICAgY3VzdG9tZXJTdXBwb3J0U3dpdGNoQ29uZmlnOiB7XG4gICAgICAgIC4uLmRlZmF1bHRGb3JMb3ZlQW5kTGVtb25zT3JnQ29uZmlnLmNoYXRIZWFkZXJcbiAgICAgICAgICAuY3VzdG9tZXJTdXBwb3J0U3dpdGNoQ29uZmlnISxcbiAgICAgICAgdW5zZWxlY3RlZFRleHRDb2xvcjogY29sb3JWYXIoQ29sb3JOYW1lcy5UZXh0U2Vjb25kYXJ5KSxcbiAgICAgICAgc3VwcG9ydFRpdGxlOiBcIlN1cHBvcnQgVGVhbVwiLFxuICAgICAgICBzcGlmZnlUaXRsZTogXCJTaG9wcGluZyBBc3Npc3RhbnRcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgICBjaGF0UHJldmlld0NvbmZpZzoge1xuICAgICAgLi4uZGVmYXVsdEZvckxvdmVBbmRMZW1vbnNPcmdDb25maWcuY2hhdFByZXZpZXdDb25maWchLFxuICAgIH0sXG4gICAgZmxvYXRpbmdFbnRyeXBvaW50Q29uZmlnOiB7XG4gICAgICAuLi5kZWZhdWx0Rm9yTG92ZUFuZExlbW9uc09yZ0NvbmZpZy5mbG9hdGluZ0VudHJ5cG9pbnRDb25maWchLFxuICAgICAgc2hvd09wdGlvbjogXCJhbHdheXNcIixcbiAgICAgIGV4cGFuc2lvblRleHQ6IHtcbiAgICAgICAgcGRwOiBcIkhhdmUgcXVlc3Rpb25zP1wiLFxuICAgICAgICBwbHA6IFwiSGF2ZSBxdWVzdGlvbnM/XCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAgd2VsY29tZVNlY3Rpb25Db25maWc6IHtcbiAgICAgIC4uLmRlZmF1bHRGb3JMb3ZlQW5kTGVtb25zT3JnQ29uZmlnLndlbGNvbWVTZWN0aW9uQ29uZmlnISxcbiAgICAgIHRpdGxlOiBcIk1lZXQgeW91ciBGTCZMIFBlcnNvbmFsIFNob3BwZXJcIixcbiAgICAgIHN1YnRpdGxlOlxuICAgICAgICBcIkZyb20gZmluZGluZyB0aGUgcGVyZmVjdCBvdXRmaXQgZm9yIGFueSBvY2Nhc2lvbiB0byBzdHlsaW5nIHlvdXIgZHJlYW0gbG9vayBmcm9tIGhlYWQtdG8tdG9lLCBvdXIgQUktcG93ZXJlZCBwZXJzb25hbCBzaG9wcGVyIGlzIGhlcmUgdG8gbWFrZSB5b3VyIHNob3BwaW5nIGV4cGVyaWVuY2UgZWZmb3J0bGVzcy5cIixcbiAgICAgIHZhcmlhbnQ6IFwib3V0bGluZWRcIixcbiAgICAgIGljb25OYW1lOiB1bmRlZmluZWQsXG4gICAgfSxcbiAgICBjdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbjoge1xuICAgICAgaW50ZWdyYXRpb25Nb2RlOiBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbk1vZGUuc2ltcGxlLFxuICAgICAgcHJvdmlkZXI6IEN1c3RvbWVyU2VydmljZVR5cGUuZ29yZ2lhcyxcbiAgICB9LFxuICAgIHByb2R1Y3RSZXZpZXdDb25maWc6IHtcbiAgICAgIC4uLmRlZmF1bHRGb3JMb3ZlQW5kTGVtb25zT3JnQ29uZmlnLnByb2R1Y3RSZXZpZXdDb25maWchLFxuICAgICAgc3R5bGVWYXJpYW50OiBcImJvcmRlcmVkXCIsXG4gICAgfSxcbiAgICBmbG9hdGluZ0NoYXRDb25maWc6IHtcbiAgICAgIC4uLmRlZmF1bHRGb3JMb3ZlQW5kTGVtb25zT3JnQ29uZmlnLmZsb2F0aW5nQ2hhdENvbmZpZyEsXG4gICAgICByZXBseUlucHV0Q29uZmlnOiB7XG4gICAgICAgIC4uLmRlZmF1bHRGb3JMb3ZlQW5kTGVtb25zT3JnQ29uZmlnLmZsb2F0aW5nQ2hhdENvbmZpZ1xuICAgICAgICAgIC5yZXBseUlucHV0Q29uZmlnISxcbiAgICAgICAgc2VuZEljb246IFwiYXJyb3dVcFwiLFxuICAgICAgfSxcbiAgICAgIHN1Z2dlc3Rpb25CdXR0b25Db25maWc6IHtcbiAgICAgICAgdmFyaWFudDogXCJ0cmFuc3BhcmVudERhcmtcIixcbiAgICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeURhcmtcIixcbiAgICAgICAgYW5zd2VyVmFyaWFudDogXCJ0cmFuc3BhcmVudERhcmtcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgICBtZXJjaGFudFZhcmlhbnRTZXR0aW5nczoge1xuICAgICAgZHluYW1pY1ZhcmlhbnRzOiB7XG4gICAgICAgIGVuYWJsZWQ6IHRydWUsXG4gICAgICAgIHJlZnJlc2hJbnRlcnZhbDogNTAwLFxuICAgICAgfSxcbiAgICB9LFxuICAgIG1lcmNoYW50T3ZlcnJpZGVDc3M6IGBcbiAgICAgIC5zcGlmZnktYnV0dG9uLWJhc2UtYnV0dG9uIHtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgICBtaW4taGVpZ2h0OiAzMnB4O1xuICAgICAgfVxuXG4gICAgICAuc3BpZmZ5LWJ1dHRvbi1iYXNlLWJ1dHRvbi10ZXh0IHtcbiAgICAgICAgZm9udC1zaXplOiAxMnB4O1xuICAgICAgfVxuXG4gICAgICAuc3BpZmZ5LXN1Z2dlc3Rpb24tYnV0dG9uLXF1ZXN0aW9uLWNsYXNzIHtcbiAgICAgICAgYm9yZGVyOiAxcHggc29saWQgJHtjb2xvclZhcihDb2xvck5hbWVzLkJvcmRlckxpZ2h0KX0gIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogNHB4O1xuICAgICAgfVxuXG4gICAgICAjc3BpZmZ5LWFpLWNoYXQtcHJldmlldyB7XG4gICAgICAgIG1hcmdpbi10b3A6IDEycHg7XG4gICAgICB9XG5cbiAgICAgIC5zcGlmZnktaW1hZ2UtcHJvbXB0LWNhcmQge1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tYWluKTtcbiAgICAgIH1cblxuICAgICAgLnNwaWZmeS1pbWFnZS1wcm9tcHQtY2FyZCAuc3BpZmZ5LXRpdGxlIHtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpO1xuICAgICAgfVxuXG4gICAgICAuc3BpZmZ5LXNpbmdsZS1pbWFnZS1wcm9tcHQge1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tYWluKTtcbiAgICAgICAgLnNwaWZmeS11c2VyLXF1ZXJ5LWJ1dHRvbiB7XG4gICAgICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLWJvcmRlci1saWdodCk7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDc2OHB4KSB7XG4gICAgICAgICNzcGlmZnktYWktcHJvbXB0LWNhcmQge1xuICAgICAgICAgIGFzcGVjdC1yYXRpbzogYXV0bztcbiAgICAgICAgICBoZWlnaHQ6IDM1OHB4O1xuICAgICAgICAgIGdyaWQtY29sdW1uOiAxIC8gc3BhbiAyO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC5zcGlmZnktYnV0dG9uLWJsb2NrIC5zcGlmZnktdXNlci1xdWVyeS1idXR0b24ge1xuICAgICAgICBmb250LXNpemU6IDEwcHg7XG4gICAgICAgIGhlaWdodDogMzJweDtcbiAgICAgIH1cblxuICAgICAgLnNwaWZmeS1zaW5nbGUtaW1hZ2UtcHJvbXB0IHtcbiAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtbWFpbik7XG4gICAgICAgIC5zcGlmZnktdGl0bGUge1xuICAgICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LXNlcmlmKTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgLnNwaWZmeS1zaW5nbGUtaW1hZ2UtcHJvbXB0IHtcbiAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDEycHg7XG4gICAgICAgICAgcGFkZGluZy1yaWdodDogMTJweDtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1pbi13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgI3NwaWZmeS1haS1jaGF0LXByZXZpZXcge1xuICAgICAgICAgIG1hcmdpbi10b3A6IDI4cHg7XG4gICAgICAgICAgbWFyZ2luLWJvdHRvbTogLTQycHg7XG4gICAgICAgIH1cbiAgICAgICAgLnNwaWZmeS1zaW5nbGUtaW1hZ2UtcHJvbXB0IHtcbiAgICAgICAgICAuc3BpZmZ5LXRpdGxlIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogNDBweDtcbiAgICAgICAgICAgIGZvbnQtc2l6ZTogNDBweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnNwaWZmeS1zdWdnZXN0aW9uLWJhciB7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDgwcHg7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgIH1cbiAgICAgICAgICAuc3BpZmZ5LXNpbmdsZS1pbWFnZS1wcm9tcHQtYmxvY2sge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMTZweDtcbiAgICAgICAgICB9XG4gICAgICAgICAgLnNwaWZmeS1idXR0b24tYmxvY2sge1xuICAgICAgICAgICAgZmxleC1kaXJlY3Rpb246IHJvdztcbiAgICAgICAgICAgIHdpZHRoOiAxMDAlO1xuICAgICAgICAgICAganVzdGlmeS1jb250ZW50OiBzcGFjZS1iZXR3ZWVuO1xuICAgICAgICAgIH1cbiAgICAgICAgICAuc3BpZmZ5LWZvb3Rlci1jb250YWluZXIge1xuICAgICAgICAgICAgbWluLXdpZHRoOiAzMy4zMyU7XG4gICAgICAgICAgICB3aWR0aDogMzMuMzMlO1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiAyNHB4O1xuICAgICAgICAgICAgcGFkZGluZy1yaWdodDogMjRweDtcbiAgICAgICAgICAgIG1hcmdpbi10b3A6IDBweDtcbiAgICAgICAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjgwcHgpIHtcbiAgICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA1NHB4O1xuICAgICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiA1NHB4O1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDE1MzZweCkge1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDgxcHg7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDgxcHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgfVxuICAgICAgICAgIC5zcGlmZnktdXNlci1xdWVyeS1idXR0b24ge1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAuc3BpZmZ5LXByb2R1Y3QtaW1hZ2Uge1xuICAgICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnNwaWZmeS1wcm9kdWN0LWNhcmQtdGl0bGUge1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tY2hha3JhLWZvbnRzLWhlYWRpbmcpO1xuICAgICAgfVxuXG4gICAgICAuc3BpZmZ5LXN3aXRjaC10by1hZ2VudC1idXR0b24tdW5zZWxlY3RlZC10ZXh0LWNvbG9yIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXNwaWZmeS1jb2xvcnMtdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgfVxuXG4gICAgICAuc3BpZmZ5LWNoYXQtaGVhZGVyLWNvbnRhaW5lciB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNwaWZmeS1jb2xvcnMtYmFja2dyb3VuZC1saWdodCk7XG4gICAgICB9XG4gICAgYCxcbiAgfTtcbn07XG5cbmNvbnN0IGZvckxvdmVBbmRMZW1vbnNQYWdlQ29uZmlnID0gKCk6IE9yZ1BhZ2VDb25maWcgPT4gKHtcbiAgcGFnZVZhcmlhbnRzOiBbXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInBscFRvcENhdGVnb3JpZXNcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBscFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbeyB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5TaG9waWZ5UExQIH1dLFxuICAgICAgcGxwSWRFeHRyYWN0b3I6IFwic2hvcGlmeS1jb2xsZWN0aW9uLWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJpbWFnZVByb21wdENhcmRQTFBcIixcbiAgICAgICAgICBtb3VudGluZ1BvaW50V2lkZ2V0czogW1xuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0ZXN0czogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlRvcENhdGFsb2dDYXRlZ29yeSxcbiAgICAgICAgICAgICAgICAgIHRvcENhdGVnb3J5OiBbXCJkcmVzc2VzXCJdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImltYWdlUHJvbXB0Q2FyZERyZXNzZXNcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRlc3RzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuVG9wQ2F0YWxvZ0NhdGVnb3J5LFxuICAgICAgICAgICAgICAgICAgdG9wQ2F0ZWdvcnk6IFtcInRvcHNcIl0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkVG9wc1wiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGVzdHM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5Ub3BDYXRhbG9nQ2F0ZWdvcnksXG4gICAgICAgICAgICAgICAgICB0b3BDYXRlZ29yeTogW1wiYm90dG9tc1wiXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJpbWFnZVByb21wdENhcmRCb3R0b21zXCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0ZXN0czogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlRvcENhdGFsb2dDYXRlZ29yeSxcbiAgICAgICAgICAgICAgICAgIHRvcENhdGVnb3J5OiBbXCJzd2VhdGVyc1wiLCBcImtuaXR3ZWFyXCJdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImltYWdlUHJvbXB0Q2FyZEtuaXR3ZWFyXCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0ZXN0czogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlRvcENhdGFsb2dDYXRlZ29yeSxcbiAgICAgICAgICAgICAgICAgIHRvcENhdGVnb3J5OiBbXCJzd2ltXCIsIFwic3dpbXdlYXJcIl0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkU3dpbVwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGVzdHM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5Ub3BDYXRhbG9nQ2F0ZWdvcnksXG4gICAgICAgICAgICAgICAgICB0b3BDYXRlZ29yeTogW1wibGluZ2VyaWVcIiwgXCJwYW50aWVzXCJdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImltYWdlUHJvbXB0Q2FyZExpbmdlcmllXCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0ZXN0czogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlRvcENhdGFsb2dDYXRlZ29yeSxcbiAgICAgICAgICAgICAgICAgIHRvcENhdGVnb3J5OiBbXCJ3ZWRkaW5nLWhvbmV5bW9vblwiXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJpbWFnZVByb21wdENhcmRCcmlkYWxcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRlc3RzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuVG9wQ2F0YWxvZ0NhdGVnb3J5LFxuICAgICAgICAgICAgICAgICAgdG9wQ2F0ZWdvcnk6IFtcImZvci1sb3ZlLWFuZC1sZW1vbnMtZXNzZW50aWFsc1wiLCBcImVzc2VudGlhbHNcIl0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkRXNzZW50aWFsc1wiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGVzdHM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5Ub3BDYXRhbG9nQ2F0ZWdvcnksXG4gICAgICAgICAgICAgICAgICB0b3BDYXRlZ29yeTogW1wiYWNjZXNzb3JpZXNcIl0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkQWNjZXNzb3JpZXNcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRlc3RzOiBbXSxcbiAgICAgICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkXCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInBscFwiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGxwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFt7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlNob3BpZnlQTFAgfV0sXG4gICAgICBwbHBJZEV4dHJhY3RvcjogXCJzaG9waWZ5LWNvbGxlY3Rpb24taWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImltYWdlUHJvbXB0Q2FyZFBMUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImltYWdlUHJvbXB0Q2FyZFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJwZHBcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBkcFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbeyB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5TaG9waWZ5UERQIH1dLFxuICAgICAgcHJvZHVjdElkRXh0cmFjdG9yOiBcInNob3BpZnktcHJvZHVjdC1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwic2luZ2xlSW1hZ2VQcm9tcHRQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJzaW5nbGVJbWFnZVByb21wdFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJob21lXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwYWdlX3Zpc2l0XCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlBhZ2VDYXRlZ29yeSxcbiAgICAgICAgICBleHRyYWN0b3I6IHtcbiAgICAgICAgICAgIHR5cGU6IENhdGVnb3J5RXh0cmFjdG9yVHlwZS5WaXNpdENhdGVnb3J5TWFwLFxuICAgICAgICAgICAgbWFwOiB7XG4gICAgICAgICAgICAgIFtQYWdlVmlzaXRDYXRlZ29yeS5Ib21lcGFnZV06IFtcIi9cIl0sXG4gICAgICAgICAgICB9LFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcIm90aGVyXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwYWdlX3Zpc2l0XCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlBhZ2VDYXRlZ29yeSxcbiAgICAgICAgICBleHRyYWN0b3I6IHtcbiAgICAgICAgICAgIHR5cGU6IENhdGVnb3J5RXh0cmFjdG9yVHlwZS5WaXNpdENhdGVnb3J5RGVmYXVsdCxcbiAgICAgICAgICAgIHZhbHVlOiBQYWdlVmlzaXRDYXRlZ29yeS5PdGhlcixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXSxcbiAgICB9LFxuICBdLFxuICB3aWRnZXRDb25maWdzOiB7XG4gICAgaW1hZ2VQcm9tcHRDYXJkOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJpbWFnZVByb21wdENhcmRcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuSW1hZ2VQcm9tcHRDYXJkLFxuICAgICAgdXJsOiBgaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzAyNzEvNDk2Ny9maWxlcy8xMV8yNTAzMTRfRkxMX1BPUlRVR0FMX0NBQklOXzAwNF8xXzMwMHguanBnP3Y9MTc0ODk3NzU2MGAsXG4gICAgICBsaWdodFRleHQ6IHRydWUsXG4gICAgICB0aXRsZTogXCJMZXQncyBmaW5kIHlvdXIgZHJlYW0gb3V0Zml0XCIsXG4gICAgICBzdWJ0aXRsZTogW1xuICAgICAgICBcIkEgZHJlYW15IHNsaXAgZHJlc3MgeW91IGNhbiB3ZWFyIGluIGFuZCBvdXQgb2YgdGhlIGhvdXNlP1wiLFxuICAgICAgICBcIkEgc3VsdHJ5IGxpdHRsZSBibGFjayBkcmVzcyBmb3IgZGF0ZSBuaWdodD9cIixcbiAgICAgICAgXCJMaW5nZXJpZSBzZXRzIHlvdSBjYW4gZ2lmdCB0aGUgYnJpZGU/XCIsXG4gICAgICAgIFwiQSBjaGljIHlldCBjb21mb3J0YWJsZSBsb29rIHlvdSBjYW4gd2VhciB0byB0aGUgb2ZmaWNlP1wiLFxuICAgICAgICBcIkEgcHJldHR5IGNvcnNldCB5b3UgY2FuIHdlYXIgdG8gYSBtdXNpYyBmZXN0aXZhbD9cIixcbiAgICAgICAgXCJBIGNoaWMgeWV0IGNvbWZvcnRhYmxlIGxvb2sgeW91IGNhbiB3ZWFyIHRvIHRoZSBvZmZpY2U/XCIsXG4gICAgICAgIFwiQSBzd2VlcGluZyBzYXRpbiBnb3duIGZvciBhIGZyaWVuZCdzIHdlZGRpbmc/XCIsXG4gICAgICAgIFwiQSBmbG9yYWwgbWlkaSBkcmVzcyBmb3IgYnJ1bmNoIHdpdGggZnJpZW5kcz9cIixcbiAgICAgICAgXCJBIHRpbWVsZXNzIGxhY2UgZHJlc3MgZm9yIHNwZWNpYWwgb2NjYXNpb25zP1wiLFxuICAgICAgXSxcbiAgICAgIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM6IFtcbiAgICAgICAgXCJMaXR0bGUgQmxhY2sgRHJlc3Nlc1wiLFxuICAgICAgICBcIk1hdGNoaW5nIENvLU9yZCBTZXRzXCIsXG4gICAgICAgIFwiQ296eSBTcHJpbmcgTGF5ZXJzXCIsXG4gICAgICAgIFwiUm9tYW50aWMgTGluZ2VyaWUgZm9yIERhdGUgTmlnaHRcIixcbiAgICAgICAgXCJDaGljIFdlZGRpbmcgR3Vlc3QgRHJlc3Nlc1wiLFxuICAgICAgICBcIkJhY2hlbG9yZXR0ZSBNaW5pIERyZXNzZXNcIixcbiAgICAgIF0sXG4gICAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IHtcbiAgICAgICAgdmFyaWFudDogXCJ1bmRlcmxpbmVMaWdodFwiLFxuICAgICAgICBwbGFjZWhvbGRlclRleHQ6IFwiTmVlZCBzb21ldGhpbmcgc3BlY2lhbD9cIixcbiAgICAgICAgaWNvbjogXCJzZW5kQXJyb3dcIixcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcsXG4gICAgaW1hZ2VQcm9tcHRDYXJkRHJlc3Nlczoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkRHJlc3Nlc1wiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5JbWFnZVByb21wdENhcmQsXG4gICAgICB1cmw6IGBodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDI3MS80OTY3L2ZpbGVzLzE4LTA1XzI1MDUwNl9GTExfU0FJTE9SX01BUlNFSUxMRV8wMzJfdjJfMzAweC5qcGc/dj0xNzUyNjA2ODg4YCxcbiAgICAgIGxpZ2h0VGV4dDogdHJ1ZSxcbiAgICAgIHRpdGxlOiBcIkxldCdzIGZpbmQgeW91ciBkcmVhbSBvdXRmaXRcIixcbiAgICAgIHN1YnRpdGxlOiBbXG4gICAgICAgIFwiQSBkcmVzcyB5b3UgY2FuIHdlYXIgZnJvbSB5b3VyIGRlc2sgdG8gZGlubmVyIGRhdGU/XCIsXG4gICAgICAgIFwiQW4gdWx0cmEtY2hpYyBwYXJ0eSBkcmVzcyBmb3IgdGhhdCB1cGNvbWluZyBzb2lyw6llP1wiLFxuICAgICAgICBcIkEgdGltZWxlc3MgZHJlc3MgeW91IGNhbiB3ZWFyIGFnYWluIGFuZCBhZ2Fpbj9cIixcbiAgICAgICAgXCJBIGRyZXNzIGRlc2lnbmVkIHdpdGggdmludGFnZSByZWZlcmVuY2VzP1wiLFxuICAgICAgICBcIkEgY2FzdWFsIGRyZXNzIHlvdSBjYW4gdGhyb3cgb24gYW5kIGdvP1wiLFxuICAgICAgXSxcbiAgICAgIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM6IFtcbiAgICAgICAgXCJMaXR0bGUgQmxhY2sgRHJlc3Nlc1wiLFxuICAgICAgICBcIkNvY2t0YWlsIERyZXNzZXMgZm9yIFdlZGRpbmdzXCIsXG4gICAgICAgIFwiRmVtaW5pbmUgTWlkaSBEcmVzc2VzXCIsXG4gICAgICAgIFwiRmxvcmFsIE1pbmkgRHJlc3Nlc1wiLFxuICAgICAgICBcIkRyZXNzZXMgZm9yIERhdGUgTmlnaHRcIixcbiAgICAgIF0sXG4gICAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IHtcbiAgICAgICAgdmFyaWFudDogXCJ1bmRlcmxpbmVMaWdodFwiLFxuICAgICAgICBwbGFjZWhvbGRlclRleHQ6IFwiTmVlZCBzb21ldGhpbmcgc3BlY2lhbD9cIixcbiAgICAgICAgaWNvbjogXCJzZW5kQXJyb3dcIixcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcsXG4gICAgaW1hZ2VQcm9tcHRDYXJkVG9wczoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkVG9wc1wiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5JbWFnZVByb21wdENhcmQsXG4gICAgICB1cmw6IGBodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDI3MS80OTY3L2ZpbGVzLzQxLTExXzI1MDUwNl9GTExfU0FJTE9SX01BUlNFSUxMRV8xNzZfdjJfNGM0Y2Q4MTQtMWE3NS00MDlkLTkxNmYtMWUzYzZjYWU1MTY0XzMwMHguanBnP3Y9MTc1MjYwNzQzMGAsXG4gICAgICBsaWdodFRleHQ6IHRydWUsXG4gICAgICB0aXRsZTogXCJMZXQncyBmaW5kIHlvdXIgZHJlYW0gb3V0Zml0XCIsXG4gICAgICBzdWJ0aXRsZTogW1xuICAgICAgICBcIkEgdGhyb3ctb24tYW5kLWdvIHRvcCBmb3IgZXZlcnlkYXk/XCIsXG4gICAgICAgIFwiVG9wcyB0byBwYWlyIHdpdGggeW91ciBmYXZvcml0ZSB2aW50YWdlIGplYW5zP1wiLFxuICAgICAgICBcIkEgcm9tYW50aWMgdG9wIHlvdSBjYW4gd2VhciB0byBkYXRlIG5pZ2h0P1wiLFxuICAgICAgICBcIlRvcHMgdGhhdCB0cmFuc2l0aW9uIGJldHdlZW4gc2Vhc29ucz9cIixcbiAgICAgICAgXCJUb3BzIGZvciB5b3VyIHVwY29taW5nIGdldGF3YXk/XCIsXG4gICAgICBdLFxuICAgICAgc3RhdGljU3VnZ2VzdGlvbkNvcGllczogW1xuICAgICAgICBcIkZsaXJ0eSBDcm9wIFRvcHNcIixcbiAgICAgICAgXCJXaGltc2ljYWwgQmxvdXNlc1wiLFxuICAgICAgICBcIlRvcHMgV2l0aCBNYXRjaGluZyBCb3R0b21zXCIsXG4gICAgICAgIFwiQ2hpYyBHb2luZyBPdXQgVG9wc1wiLFxuICAgICAgICBcIkRheSB0byBEYXRlIE5pZ2h0IFRvcHNcIixcbiAgICAgIF0sXG4gICAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IHtcbiAgICAgICAgdmFyaWFudDogXCJ1bmRlcmxpbmVMaWdodFwiLFxuICAgICAgICBwbGFjZWhvbGRlclRleHQ6IFwiTmVlZCBzb21ldGhpbmcgc3BlY2lhbD9cIixcbiAgICAgICAgaWNvbjogXCJzZW5kQXJyb3dcIixcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcsXG4gICAgaW1hZ2VQcm9tcHRDYXJkQm90dG9tczoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkQm90dG9tc1wiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5JbWFnZVByb21wdENhcmQsXG4gICAgICB1cmw6IGBodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDI3MS80OTY3L2ZpbGVzLzM4LTExXzI1MDUwNl9GTExfU0FJTE9SX01BUlNFSUxMRV8wOThfdjJfZWJkYzM2MDItODQ1NC00MDU5LTgwOTktYTUxNGQ1OTkzNjU3XzMwMHguanBnP3Y9MTc1MjYwNzQwMGAsXG4gICAgICBsaWdodFRleHQ6IHRydWUsXG4gICAgICB0aXRsZTogXCJMZXQncyBmaW5kIHlvdXIgZHJlYW0gb3V0Zml0XCIsXG4gICAgICBzdWJ0aXRsZTogW1xuICAgICAgICBcIkNoaWMgYW5kIGNhc3VhbCBib3R0b21zIHlvdSBjYW4gd2VhciBldmVyeWRheT9cIixcbiAgICAgICAgXCJTa2lydHMgeW91IGNhbiBtaXggYW5kIG1hdGNoIHdpdGggeW91ciBmYXZvcml0ZSB0b3BzP1wiLFxuICAgICAgICBcIlNtYXJ0IHBhbnRzIGZvciBhIGNoaWMsIG9mZmJlYXQgcGFydHkgbG9vaz9cIixcbiAgICAgICAgXCJNaW5pIHNraXJ0cyB0aGF0IHRyYW5zaXRpb24gYmV0d2VlbiBzZWFzb25zP1wiLFxuICAgICAgICBcIlNob3J0cyB5b3UgY2FuIHN0eWxlIHdpdGggbWF0Y2hpbmcgdG9wcyBhbmQgamFja2V0cz9cIixcbiAgICAgIF0sXG4gICAgICBzdGF0aWNTdWdnZXN0aW9uQ29waWVzOiBbXG4gICAgICAgIFwiUm9tYW50aWMgTWF4aSBTa2lydHNcIixcbiAgICAgICAgXCJWaW50YWdlLUluc3BpcmVkIE1pbmkgU2tpcnRzXCIsXG4gICAgICAgIFwiVWx0cmEtQ2hpYyBDYXByaSBQYW50c1wiLFxuICAgICAgICBcIkNhc3VhbCBTaG9ydHMgZm9yIEV2ZXJ5ZGF5XCIsXG4gICAgICAgIFwiTGluZ2VyaWUtSW5zcGlyZWQgU2xpcCBTa2lydHNcIixcbiAgICAgIF0sXG4gICAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IHtcbiAgICAgICAgdmFyaWFudDogXCJ1bmRlcmxpbmVMaWdodFwiLFxuICAgICAgICBwbGFjZWhvbGRlclRleHQ6IFwiTmVlZCBzb21ldGhpbmcgc3BlY2lhbD9cIixcbiAgICAgICAgaWNvbjogXCJzZW5kQXJyb3dcIixcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcsXG4gICAgaW1hZ2VQcm9tcHRDYXJkS25pdHdlYXI6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcImltYWdlUHJvbXB0Q2FyZEtuaXR3ZWFyXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLkltYWdlUHJvbXB0Q2FyZCxcbiAgICAgIHVybDogYGh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wMjcxLzQ5NjcvZmlsZXMvMi0xM18yNTA1MDZfRkxMX1NBSUxPUl9NQVJTRUlMTEVfMDE1X3YyXzIzMTVjYTI5LTdlNmYtNDVlYi04YTJkLWViYWNhZThiOTA5Y18zMDB4LmpwZz92PTE3NTI2MDcyODVgLFxuICAgICAgbGlnaHRUZXh0OiB0cnVlLFxuICAgICAgdGl0bGU6IFwiTGV0J3MgZmluZCB5b3VyIGRyZWFtIG91dGZpdFwiLFxuICAgICAgc3VidGl0bGU6IFtcbiAgICAgICAgXCJBIGNoaWMgY2FyZGlnYW4gdG8gd2VhciB0byB5b3VyIG5leHQgZGlubmVyIGRhdGU/XCIsXG4gICAgICAgIFwiQW4gb3ZlcnNpemVkIGtuaXQgZm9yIHNlcmVuZSBkYXlzIGF0IGhvbWU/XCIsXG4gICAgICAgIFwiQSBjcm9wcGVkIGtuaXQgeW91IGNhbiBwYWlyIHdpdGggYSBtYXRjaGluZyBtaW5pIHNraXJ0P1wiLFxuICAgICAgICBcIkEgdGltZWxlc3Mga25pdCBtaW5pIGRyZXNzIGZvciBzdHlsaXNoIHJlbmRlenZvdXM/XCIsXG4gICAgICAgIFwiS25pdCBqYWNrZXRzIGZvciB3aGVuIHRoZSB0ZW1wZXJhdHVyZSBkcm9wcz9cIixcbiAgICAgIF0sXG4gICAgICBzdGF0aWNTdWdnZXN0aW9uQ29waWVzOiBbXG4gICAgICAgIFwiQ296eSBPdmVyc2l6ZWQgU3dlYXRlcnNcIixcbiAgICAgICAgXCJGZW1pbmluZSBDYXJkaXMgZm9yIERhdGUgTmlnaHRcIixcbiAgICAgICAgXCJNYXRjaGluZyBLbml0IENvLU9yZCBTZXRzXCIsXG4gICAgICAgIFwiVGltZWxlc3MgS25pdCBNaW5pIERyZXNzZXNcIixcbiAgICAgICAgXCJDaGljIEtuaXQgSmFja2V0c1wiLFxuICAgICAgXSxcbiAgICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzoge1xuICAgICAgICB2YXJpYW50OiBcInVuZGVybGluZUxpZ2h0XCIsXG4gICAgICAgIHBsYWNlaG9sZGVyVGV4dDogXCJOZWVkIHNvbWV0aGluZyBzcGVjaWFsP1wiLFxuICAgICAgICBpY29uOiBcInNlbmRBcnJvd1wiLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBJbWFnZVByb21wdFdpZGdldENvbmZpZyxcbiAgICBpbWFnZVByb21wdENhcmRTd2ltOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJpbWFnZVByb21wdENhcmRTd2ltXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLkltYWdlUHJvbXB0Q2FyZCxcbiAgICAgIHVybDogYGh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wMjcxLzQ5NjcvZmlsZXMvMTUtMjAyNTAyMTNfRk9STE9WRUFORExFTU9OU19TSE9UXzA0XzE0OF9lZWZlNjJiZi1iMjkwLTQ2YmMtYWU5OS04ZTg3NmVmMDRiYTFfMzAweC5qcGc/dj0xNzQ5NTc1MDcwYCxcbiAgICAgIGxpZ2h0VGV4dDogdHJ1ZSxcbiAgICAgIHRpdGxlOiBcIkxldCdzIGZpbmQgeW91ciBkcmVhbSBvdXRmaXRcIixcbiAgICAgIHN1YnRpdGxlOiBbXG4gICAgICAgIFwiQSBvbmUtcGllY2UgYmF0aGluZyBzdWl0IGZvciBhIGNoaWMgcG9vbHNpZGUgbG9vaz9cIixcbiAgICAgICAgXCJBIHRpbnkgYmlraW5pIGZvciBtYXhpbXVtIHN1bi1iYXRoaW5nIHBvdGVudGlhbD9cIixcbiAgICAgICAgXCJIaWdoLXdhaXN0ZWQgc3dpbSBib3R0b21zIHdpdGggdmludGFnZSBhcHBlYWw/XCIsXG4gICAgICAgIFwiQ292ZXItdXBzIHRoYXQgYnJpbmcgcm9tYW5jZSB0byB0aGUgYmVhY2hcIixcbiAgICAgICAgXCJIYXRzIGFuZCBoYWlyIGFjY2Vzc29yaWVzIHlvdSBjYW4gcGFpciB3aXRoIHlvdXIgZmF2b3JpdGUgYmlraW5pP1wiLFxuICAgICAgXSxcbiAgICAgIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM6IFtcbiAgICAgICAgXCJSZXRybyBCYXRoaW5nIFN1aXRzXCIsXG4gICAgICAgIFwiU3VtbWVyLVJlYWR5IFRob25nIEJpa2luaXNcIixcbiAgICAgICAgXCJSb21hbnRpYyBDcm9jaGV0IENvdmVyLVVwc1wiLFxuICAgICAgICBcIkJlYWNoLVJlYWR5IEFjY2Vzc29yaWVzXCIsXG4gICAgICAgIFwiR2luZ2hhbSBCaWtpbmlzXCIsXG4gICAgICBdLFxuICAgICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiB7XG4gICAgICAgIHZhcmlhbnQ6IFwidW5kZXJsaW5lTGlnaHRcIixcbiAgICAgICAgcGxhY2Vob2xkZXJUZXh0OiBcIk5lZWQgc29tZXRoaW5nIHNwZWNpYWw/XCIsXG4gICAgICAgIGljb246IFwic2VuZEFycm93XCIsXG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIEltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnLFxuICAgIGltYWdlUHJvbXB0Q2FyZExpbmdlcmllOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJpbWFnZVByb21wdENhcmRMaW5nZXJpZVwiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5JbWFnZVByb21wdENhcmQsXG4gICAgICB1cmw6IGBodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDI3MS80OTY3L2ZpbGVzLzEzLTIwXzI1MDUwNl9GTExfU0FJTE9SX01BUlNFSUxMRV8xMzRfdjJfMTY0N2VhZWMtNmZkNC00OGViLThiNjAtZmViYWNiOGNjMGE3XzMwMHguanBnP3Y9MTc1MjYwNzUyOS1gLFxuICAgICAgbGlnaHRUZXh0OiB0cnVlLFxuICAgICAgdGl0bGU6IFwiTGV0J3MgZmluZCB5b3VyIGRyZWFtIG91dGZpdFwiLFxuICAgICAgc3VidGl0bGU6IFtcbiAgICAgICAgXCJDb21mb3J0YWJsZSBsaW5nZXJpZSB5b3UgY2FuIGluY2x1ZGUgaW4geW91ciBldmVyeWRheSByb3RhdGlvbj9cIixcbiAgICAgICAgXCJTZXh5IGxpbmdlcmllIGZvciBkYXRlIG5pZ2h0P1wiLFxuICAgICAgICBcIkJhYnlkb2xsIGRyZXNzZXMgeW91IGNhbiB3ZWFyIGluIHRoZSBiZWRyb29tIGFuZCBiZXlvbmQ/XCIsXG4gICAgICAgIFwiU2xpcCBkcmVzc2VzIHdpdGggbWF4aW11bSB2aW50YWdlIGFwcGVhbD9cIixcbiAgICAgICAgXCJBIGJyaWRhbCBsaW5nZXJpZSBzZXQgZm9yIHRoZSBmaXJzdCBuaWdodCBvZiB5b3VyIGhhcHBpbHkgZXZlciBhZnRlcj9cIixcbiAgICAgIF0sXG4gICAgICBzdGF0aWNTdWdnZXN0aW9uQ29waWVzOiBbXG4gICAgICAgIFwiU2V4eSBhbmQgU3dlZXQgUEogU2V0c1wiLFxuICAgICAgICBcIjMtUGllY2UgTGluZ2VyaWUgU2V0c1wiLFxuICAgICAgICBcIlBhbnR5IFNldHMgZm9yIEV2ZXJ5ZGF5XCIsXG4gICAgICAgIFwiVmludGFnZS1JbnNwaXJlZCBTbGlwIERyZXNzZXNcIixcbiAgICAgICAgXCJSb21hbnRpYyBCcmlkYWwgTGluZ2VyaWVcIixcbiAgICAgIF0sXG4gICAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IHtcbiAgICAgICAgdmFyaWFudDogXCJ1bmRlcmxpbmVMaWdodFwiLFxuICAgICAgICBwbGFjZWhvbGRlclRleHQ6IFwiTmVlZCBzb21ldGhpbmcgc3BlY2lhbD9cIixcbiAgICAgICAgaWNvbjogXCJzZW5kQXJyb3dcIixcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcsXG4gICAgaW1hZ2VQcm9tcHRDYXJkQnJpZGFsOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJpbWFnZVByb21wdENhcmRCcmlkYWxcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuSW1hZ2VQcm9tcHRDYXJkLFxuICAgICAgdXJsOiBgaHR0cHM6Ly9jZG4uc2hvcGlmeS5jb20vcy9maWxlcy8xLzAyNzEvNDk2Ny9maWxlcy8yNDA4MDZfQkNfRkxMXzI0X0JSSURBTF9DQU1QQUlHTl9MT09LXzEyXzAwMDNfVjFfMzAweC5qcGc/dj0xNzQ4OTc3Njc0YCxcbiAgICAgIGxpZ2h0VGV4dDogdHJ1ZSxcbiAgICAgIHRpdGxlOiBcIkxldCdzIGZpbmQgeW91ciBkcmVhbSBvdXRmaXRcIixcbiAgICAgIHN1YnRpdGxlOiBbXG4gICAgICAgIFwiQnJpZGFsIGRyZXNzZXMgZm9yIHRoZSBtb21lbnRzIGFyb3VuZCB5b3VyIGJpZyBkYXk/XCIsXG4gICAgICAgIFwiQSBnb3duIGZvciB5b3VyIGJyaWRhbCByZWNlcHRpb24/XCIsXG4gICAgICAgIFwiV2hpbXNpY2FsIGFjY2Vzc29yaWVzIHRvIHBhaXIgd2l0aCB5b3VyIGJyaWRhbCBsb29rcz9cIixcbiAgICAgICAgXCJMaW5nZXJpZSB0byBnaWZ0IHRoZSBicmlkZSBhdCBoZXIgYmFjaGVsb3JldHRlP1wiLFxuICAgICAgICBgT3V0Zml0cyB0byB3ZWFyIHRvIHlvdXIgZnJpZW5kJ3MgdXBjb21pbmcgd2VkZGluZz9gLFxuICAgICAgXSxcbiAgICAgIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM6IFtcbiAgICAgICAgXCJHb3ducyBmb3IgWW91ciBSZWNlcHRpb25cIixcbiAgICAgICAgXCJSb21hbnRpYyBCcmlkYWwgVmVpbHNcIixcbiAgICAgICAgXCJCYWNoZWxvcmV0dGUgR2lmdHMgZm9yIHRoZSBCcmlkZVwiLFxuICAgICAgICBcIldlZGRpbmcgR3Vlc3QgRHJlc3Nlc1wiLFxuICAgICAgICBcIkNoaWMgSG9uZXltb29uIE91dGZpdHNcIixcbiAgICAgIF0sXG4gICAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IHtcbiAgICAgICAgdmFyaWFudDogXCJ1bmRlcmxpbmVMaWdodFwiLFxuICAgICAgICBwbGFjZWhvbGRlclRleHQ6IFwiTmVlZCBzb21ldGhpbmcgc3BlY2lhbD9cIixcbiAgICAgICAgaWNvbjogXCJzZW5kQXJyb3dcIixcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcsXG4gICAgaW1hZ2VQcm9tcHRDYXJkRXNzZW50aWFsczoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkRXNzZW50aWFsc1wiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5JbWFnZVByb21wdENhcmQsXG4gICAgICB1cmw6IGBodHRwczovL2Nkbi5zaG9waWZ5LmNvbS9zL2ZpbGVzLzEvMDI3MS80OTY3L2ZpbGVzLzQwLTI0MDgxNF9CQ19GTExfU1AyNV9FU1NFTlRJQUxTX0FUMDA0OV9BQk9PNjVfWUVMTE9XX0FUMDA0OV9BQjAwNjRfQ0FNRUxfMDE1NF8zMDB4LmpwZz92PTE3NDU1MjYyOTdgLFxuICAgICAgbGlnaHRUZXh0OiB0cnVlLFxuICAgICAgdGl0bGU6IFwiTGV0J3MgZmluZCB5b3VyIGRyZWFtIG91dGZpdFwiLFxuICAgICAgc3VidGl0bGU6IFtcbiAgICAgICAgXCJDaGljIEVzc2VudGlhbHMgeW91IGNhbiBsb3VuZ2UgaW4/XCIsXG4gICAgICAgIFwiQ2hpYyBhbmQgY29tZm9ydGFibGUgZHJlc3NlcyB0byB5b3UgY2FuIHdlYXIgdG8gdGhlIG9mZmljZT9cIixcbiAgICAgICAgXCJTcG9ydHMtaW5zcGlyZWQgY28tb3JkIHNldHMgZm9yIGV2ZXJ5ZGF5P1wiLFxuICAgICAgICBcIlN0YXRlbWVudCBrbml0d2VhciB5b3UgY2FuIHRocm93LW9uLWFuZC1nbz9cIixcbiAgICAgICAgYEEgY2FzdWFsIGphY2tldCB5b3UnbGwgd2VhciBvbiByZXBlYXQ/YCxcbiAgICAgIF0sXG4gICAgICBzdGF0aWNTdWdnZXN0aW9uQ29waWVzOiBbXG4gICAgICAgIFwiU2lsa3kgQ3Vwcm8gQmFzaWNzXCIsXG4gICAgICAgIFwiQ3Jpc3AgQ28tT3JkIFNldHNcIixcbiAgICAgICAgXCJKZXJzZXkgRHJlc3NlcyBmb3IgdGhlIE9mZmljZVwiLFxuICAgICAgICBcIkNhc3VhbCBLbml0d2VhclwiLFxuICAgICAgICBcIkV2ZXJ5ZGF5IEphY2tldHNcIixcbiAgICAgIF0sXG4gICAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IHtcbiAgICAgICAgdmFyaWFudDogXCJ1bmRlcmxpbmVMaWdodFwiLFxuICAgICAgICBwbGFjZWhvbGRlclRleHQ6IFwiTmVlZCBzb21ldGhpbmcgc3BlY2lhbD9cIixcbiAgICAgICAgaWNvbjogXCJzZW5kQXJyb3dcIixcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcsXG4gICAgaW1hZ2VQcm9tcHRDYXJkQWNjZXNzb3JpZXM6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcImltYWdlUHJvbXB0Q2FyZEFjY2Vzc29yaWVzXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLkltYWdlUHJvbXB0Q2FyZCxcbiAgICAgIHVybDogYGh0dHBzOi8vY2RuLnNob3BpZnkuY29tL3MvZmlsZXMvMS8wMjcxLzQ5NjcvZmlsZXMvNDItMTFfMjUwNTA2X0ZMTF9TQUlMT1JfTUFSU0VJTExFXzIyNl92Ml9jZjczNjViNy0zOTQ0LTRjMjktYjZlZC1jZTRmMTM2YTQ4ZmNfMzAweC5qcGc/dj0xNzUyNjA3MDgwYCxcbiAgICAgIGxpZ2h0VGV4dDogdHJ1ZSxcbiAgICAgIHRpdGxlOiBcIkxldCdzIGZpbmQgeW91ciBkcmVhbSBvdXRmaXRcIixcbiAgICAgIHN1YnRpdGxlOiBbXG4gICAgICAgIFwiSGVhZHNjYXJ2ZXMgdG8gY28tb3JkaW5hdGUgd2l0aCB5b3VyIGZhdm9yaXRlIEZMJkwgbG9vaz9cIixcbiAgICAgICAgXCJPcGVuLXRvZSBtdWxlcyBmb3IgYW4gdXBjb21pbmcgd2VkZGluZz9cIixcbiAgICAgICAgXCJWaW50YWdlLWluc3BpcmVkIGVhcnJpbmdzIHRvIHN0eWxlIHdpdGggeW91ciBmYXZvcml0ZSBkcmVzc2VzP1wiLFxuICAgICAgICBcIkJhZ3MgeW91IGNhbiB3ZWFyIGFsbCBkYXkgZXZlcnlkYXk/XCIsXG4gICAgICAgIFwiVW5pcXVlIGJvZHkgamV3ZWxyeSB5b3UgY2FuIHdlYXIgdG8gdGhlIGZlc3RpdmFsP1wiLFxuICAgICAgXSxcbiAgICAgIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM6IFtcbiAgICAgICAgXCJTdW1tZXItUmVhZHkgTXVsZXNcIixcbiAgICAgICAgXCJSb21hbnRpYyBIYWlyIEFjY2Vzc29yaWVzXCIsXG4gICAgICAgIFwiU3RhdGVtZW50LU1ha2luZyBFYXJyaW5nc1wiLFxuICAgICAgICBcIkV2ZXJ5ZGF5IEJhZ3NcIixcbiAgICAgICAgXCJHbGltbWVyaW5nIEJvZHkgSmV3ZWxyeVwiLFxuICAgICAgXSxcbiAgICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzoge1xuICAgICAgICB2YXJpYW50OiBcInVuZGVybGluZUxpZ2h0XCIsXG4gICAgICAgIHBsYWNlaG9sZGVyVGV4dDogXCJOZWVkIHNvbWV0aGluZyBzcGVjaWFsP1wiLFxuICAgICAgICBpY29uOiBcInNlbmRBcnJvd1wiLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBJbWFnZVByb21wdFdpZGdldENvbmZpZyxcbiAgICBzaW5nbGVJbWFnZVByb21wdDoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwic2luZ2xlSW1hZ2VQcm9tcHRcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU2luZ2xlSW1hZ2VQcm9tcHQsXG4gICAgICB0aXRsZTogXCJIb3cgdG8gd2VhciBpdFwiLFxuICAgICAgc3RhdGljU3VnZ2VzdGlvbkNvcGllczogW1xuICAgICAgICBcIkhvdyBjYW4gSSBkcmVzcyB0aGlzIHVwIGZvciBhbiBldmVudD9cIixcbiAgICAgICAgXCJDYW4gSSB3ZWFyIHRoaXMgaW4gZGlmZmVyZW50IHNlYXNvbnM/XCIsXG4gICAgICAgIFwiRG8geW91IGhhdmUgc2hvZXMgdGhhdCBtYXRjaCB3aXRoIHRoaXM/XCIsXG4gICAgICAgIFwiQ2FuIHlvdSBnaXZlIG1lIGxheWVyaW5nIGlkZWFzP1wiLFxuICAgICAgICBcIldoYXQncyB0aGUgYmVzdCBicmEgdG8gd2VhciB1bmRlciB0aGlzP1wiLFxuICAgICAgXSxcbiAgICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzoge1xuICAgICAgICB2YXJpYW50OiBcInVuZGVybGluZURhcmtcIixcbiAgICAgICAgcGxhY2Vob2xkZXJUZXh0OiBcIlRlbGwgbWUgeW91ciBzdHlsaW5nIHF1ZXN0aW9uc1wiLFxuICAgICAgICBpY29uOiBcInNlbmRBcnJvd1wiLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBTaW5nbGVJbWFnZVByb21wdFdpZGdldENvbmZpZyxcbiAgfSxcbiAgbW91bnRpbmdDb25maWdzOiB7XG4gICAgaW1hZ2VQcm9tcHRDYXJkUExQOiB7XG4gICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImltYWdlUHJvbXB0Q2FyZFBMUFwiLFxuICAgICAgY29udGFpbmVySWQ6IFBST01QVF9DQVJEX0lELFxuICAgICAgdGVzdElkOiBQUk9NUFRfQ0FSRF9URVNUSUQsXG4gICAgICBpbnNlcnRpb25Qb2ludDoge1xuICAgICAgICBzZWxlY3RvcjogYCMke1BST01QVF9DQVJEX0lEfWAsXG4gICAgICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGUuTk9ORSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICBzaW5nbGVJbWFnZVByb21wdFBEUDoge1xuICAgICAgbW91bnRpbmdDb25maWdJZDogXCJzaW5nbGVJbWFnZVByb21wdFBEUFwiLFxuICAgICAgY29udGFpbmVySWQ6IENIQVRfUFJFVklFV19DT05UQUlORVJfSUQsXG4gICAgICB0ZXN0SWQ6IENIQVRfUFJFVklFV19URVNUSUQsXG4gICAgICBpbnNlcnRpb25Qb2ludDoge1xuICAgICAgICBzZWxlY3RvcjogYCMke0NIQVRfUFJFVklFV19DT05UQUlORVJfSUR9YCxcbiAgICAgICAgaW5zZXJ0aW9uVHlwZTogRE9NSW5zZXJ0aW9uVHlwZS5OT05FLFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxufSk7XG5cbmNvbnN0IGZvckxvdmVBbmRMZW1vbnNPcmdJbmZvID0ge1xuICBzaG9ydE5hbWU6IE9yZ1Nob3J0TmFtZS5Gb3JMb3ZlQW5kTGVtb25zLFxuICBuYW1lOiBcIkZvciBMb3ZlIEFuZCBMZW1vbnNcIixcbiAgZG9tYWluOiBcImZvcmxvdmVhbmRsZW1vbnMuY29tXCIsXG4gIGRlZmF1bHRQcm9kdWN0SWQ6IFwiYWRpcmEtbWluaS1kcmVzcy1yZWRcIixcbiAgYWx3YXlzRW5hYmxlZE1lcmNoYW50czogdHJ1ZSxcbiAgb3JnVUlDb25maWc6IGZvckxvdmVBbmRMZW1vbnNPcmdVSUNvbmZpZyxcbiAgb3JnQ29sb3JzOiAoKSA9PiBmb3JMb3ZlQW5kTGVtb25zQ29sb3JzLFxuICBvcmdQYWdlQ29uZmlnOiBmb3JMb3ZlQW5kTGVtb25zUGFnZUNvbmZpZyxcbn0gc2F0aXNmaWVzIEJhc2ljT3JnSW5mb1R5cGU7XG5cbmV4cG9ydCB7IGZvckxvdmVBbmRMZW1vbnNPcmdJbmZvIH07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUEyQkEsTUFBTUEseUJBQXVDO0VBQzFDLFdBQVcsY0FBYztFQUN6QixXQUFXLGdCQUFnQjtFQUMzQixXQUFXLGFBQWE7RUFDeEIsV0FBVyxXQUFXO0VBQ3RCLFdBQVcsWUFBWTtFQUN2QixXQUFXLG9CQUFvQjtFQUMvQixXQUFXLHNCQUFzQjtFQUNqQyxXQUFXLDBCQUEwQjtFQUNyQyxXQUFXLHFCQUFxQjtFQUNoQyxXQUFXLGlCQUFp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
|