@envive-ai/react-hooks 0.1.6 → 0.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (686) hide show
  1. package/dist/NewOrgConfig-BU6uJT74.js +15 -0
  2. package/dist/NewOrgConfig-DmidHiyj.cjs +20 -0
  3. package/dist/SystemSettingsContext-BbobkM82.cjs +20 -0
  4. package/dist/SystemSettingsContext-gtrccL_q.js +13 -0
  5. package/dist/TrackComponentVisibleEvent-CqjMiZCS.cjs +59 -0
  6. package/dist/TrackComponentVisibleEvent-D9kpqKM4.js +52 -0
  7. package/dist/amplitudeContext-B73xamNe.d.cts +52 -0
  8. package/dist/amplitudeContext-BhhYPJSL.d.ts +52 -0
  9. package/dist/amplitudeContext-Dr1jHI13.cjs +309 -0
  10. package/dist/amplitudeContext-YRS1QOO3.js +287 -0
  11. package/dist/api-DYjHj_hR.cjs +239 -0
  12. package/dist/api-d5uWvb3-.js +166 -0
  13. package/dist/{app-CjsQ2_n-.js → app-B9r0MF9n.js} +7 -7
  14. package/dist/{app-CnKRZ9RW.cjs → app-Bgr-mAvr.cjs} +10 -10
  15. package/dist/application/models/graphql/index.cjs +2 -1
  16. package/dist/application/models/graphql/index.d.ts +1 -1
  17. package/dist/application/models/graphql/index.js +2 -1
  18. package/dist/application/models/guards/api/index.cjs +3 -1
  19. package/dist/application/models/guards/api/index.d.ts +2 -2
  20. package/dist/application/models/guards/api/index.js +3 -1
  21. package/dist/application/models/guards/utils.cjs +3 -0
  22. package/dist/application/models/guards/utils.d.cts +2 -0
  23. package/dist/application/models/guards/utils.d.ts +2 -0
  24. package/dist/application/models/guards/utils.js +3 -0
  25. package/dist/application/models/index.cjs +13 -10
  26. package/dist/application/models/index.d.cts +9 -4
  27. package/dist/application/models/index.d.ts +12 -7
  28. package/dist/application/models/index.js +11 -7
  29. package/dist/application/models/utilityTypes/index.cjs +1 -1
  30. package/dist/application/models/utilityTypes/index.d.ts +1 -1
  31. package/dist/application/models/utilityTypes/index.js +1 -1
  32. package/dist/application/models/variantInfo/index.cjs +1 -1
  33. package/dist/application/models/variantInfo/index.d.cts +1 -1
  34. package/dist/application/models/variantInfo/index.d.ts +1 -1
  35. package/dist/application/models/variantInfo/index.js +1 -1
  36. package/dist/application/utils/index.cjs +47 -40
  37. package/dist/application/utils/index.d.cts +13 -8
  38. package/dist/application/utils/index.d.ts +15 -10
  39. package/dist/application/utils/index.js +20 -13
  40. package/dist/{atomStore-D8pjE1vL.js → atomStore-BuopbV9k.js} +1 -1
  41. package/dist/{atomStore-B4jIaDPd.cjs → atomStore-CZKe3itM.cjs} +1 -1
  42. package/dist/atoms/app/index.cjs +14 -9
  43. package/dist/atoms/app/index.d.cts +16 -11
  44. package/dist/atoms/app/index.d.ts +19 -14
  45. package/dist/atoms/app/index.js +14 -9
  46. package/dist/atoms/atomStore/index.cjs +2 -2
  47. package/dist/atoms/atomStore/index.d.cts +1 -1
  48. package/dist/atoms/atomStore/index.js +2 -2
  49. package/dist/atoms/chat/index.cjs +35 -28
  50. package/dist/atoms/chat/index.d.cts +36 -31
  51. package/dist/atoms/chat/index.d.ts +39 -34
  52. package/dist/atoms/chat/index.js +21 -14
  53. package/dist/atoms/globalSearch/index.cjs +1 -1
  54. package/dist/atoms/globalSearch/index.d.cts +5 -5
  55. package/dist/atoms/globalSearch/index.d.ts +6 -6
  56. package/dist/atoms/globalSearch/index.js +1 -1
  57. package/dist/atoms/org/index.cjs +6 -14
  58. package/dist/atoms/org/index.d.cts +28 -32
  59. package/dist/atoms/org/index.d.ts +31 -35
  60. package/dist/atoms/org/index.js +5 -11
  61. package/dist/atoms/search/index.cjs +46 -34
  62. package/dist/atoms/search/index.d.cts +10 -4
  63. package/dist/atoms/search/index.d.ts +13 -7
  64. package/dist/atoms/search/index.js +28 -16
  65. package/dist/atoms/search/types.cjs +5 -0
  66. package/dist/atoms/search/types.d.cts +2 -0
  67. package/dist/atoms/search/types.d.ts +2 -0
  68. package/dist/atoms/search/types.js +3 -0
  69. package/dist/atoms/search/utils.cjs +3 -0
  70. package/dist/atoms/search/utils.d.cts +5 -0
  71. package/dist/atoms/search/utils.d.ts +5 -0
  72. package/dist/atoms/search/utils.js +3 -0
  73. package/dist/cdnContext-CVgXkdV2.cjs +53 -0
  74. package/dist/cdnContext-DdE6VPIF.js +38 -0
  75. package/dist/chat-BNDYKsqF.js +258 -0
  76. package/dist/{chat-BubCW1as.cjs → chat-BkjIKhc5.cjs} +1 -1
  77. package/dist/chat-Br5FhtRs.cjs +394 -0
  78. package/dist/{chat-CV6MXeID.js → chat-CgLypC3w.js} +1 -1
  79. package/dist/chatElementDisplayLocation-BwiXrkN7.d.ts +25 -0
  80. package/dist/chatElementDisplayLocation-DWmfNX_u.d.cts +25 -0
  81. package/dist/chatSearch-BiF2__V0.js +295 -0
  82. package/dist/chatSearch-BrzfJOto.cjs +418 -0
  83. package/dist/chatState-BDsqKE-B.cjs +120 -0
  84. package/dist/chatState-ie771Hwy.js +34 -0
  85. package/dist/commerce-api-Dz1jxPOJ.js +311 -0
  86. package/dist/commerce-api-KoiUki51.cjs +318 -0
  87. package/dist/{components-Cw9WjA6g.cjs → components-Cby-Cma3.cjs} +1 -1
  88. package/dist/{components-B4T3Uzth.js → components-D1mg1-Br.js} +1 -1
  89. package/dist/config/locators/components/chat/index.cjs +1 -1
  90. package/dist/config/locators/components/chat/index.d.cts +1 -1
  91. package/dist/config/locators/components/chat/index.d.ts +1 -1
  92. package/dist/config/locators/components/chat/index.js +1 -1
  93. package/dist/config/locators/components/chat/variants/index.d.cts +1 -1
  94. package/dist/config/locators/components/chat/variants/index.d.ts +1 -1
  95. package/dist/config/locators/components/index.cjs +1 -1
  96. package/dist/config/locators/components/index.d.cts +1 -1
  97. package/dist/config/locators/components/index.d.ts +1 -1
  98. package/dist/config/locators/components/index.js +1 -1
  99. package/dist/config/locators/components/search/index.d.cts +1 -1
  100. package/dist/config/locators/index.cjs +42 -22
  101. package/dist/config/locators/index.d.cts +2 -2
  102. package/dist/config/locators/index.d.ts +3 -3
  103. package/dist/config/locators/index.js +25 -5
  104. package/dist/contexts/amplitudeContext/index.cjs +22 -0
  105. package/dist/contexts/amplitudeContext/index.d.cts +2 -0
  106. package/dist/contexts/amplitudeContext/index.d.ts +2 -0
  107. package/dist/contexts/amplitudeContext/index.js +20 -0
  108. package/dist/contexts/cdnContext/index.cjs +7 -0
  109. package/dist/contexts/cdnContext/index.d.cts +15 -0
  110. package/dist/contexts/cdnContext/index.d.ts +15 -0
  111. package/dist/contexts/cdnContext/index.js +6 -0
  112. package/dist/contexts/chatContext/index.cjs +331 -0
  113. package/dist/contexts/chatContext/index.d.cts +15 -0
  114. package/dist/contexts/chatContext/index.d.ts +15 -0
  115. package/dist/contexts/chatContext/index.js +324 -0
  116. package/dist/contexts/enviveConfigContext/index.cjs +7 -0
  117. package/dist/contexts/enviveConfigContext/index.d.cts +30 -0
  118. package/dist/contexts/enviveConfigContext/index.d.ts +30 -0
  119. package/dist/contexts/enviveConfigContext/index.js +6 -0
  120. package/dist/contexts/enviveCssContext/index.cjs +66 -0
  121. package/dist/contexts/enviveCssContext/index.d.cts +10 -0
  122. package/dist/contexts/enviveCssContext/index.d.ts +10 -0
  123. package/dist/contexts/enviveCssContext/index.js +63 -0
  124. package/dist/contexts/featureFlagContext/index.cjs +107 -0
  125. package/dist/contexts/featureFlagContext/index.d.cts +20 -0
  126. package/dist/contexts/featureFlagContext/index.d.ts +20 -0
  127. package/dist/contexts/featureFlagContext/index.js +103 -0
  128. package/dist/contexts/featureFlagServiceContext/index.cjs +6 -0
  129. package/dist/contexts/featureFlagServiceContext/index.d.cts +5 -0
  130. package/dist/contexts/featureFlagServiceContext/index.d.ts +5 -0
  131. package/dist/contexts/featureFlagServiceContext/index.js +5 -0
  132. package/dist/contexts/graphqlContext/index.cjs +16 -0
  133. package/dist/contexts/graphqlContext/index.d.cts +13 -0
  134. package/dist/contexts/graphqlContext/index.d.ts +13 -0
  135. package/dist/contexts/graphqlContext/index.js +15 -0
  136. package/dist/contexts/localStorageContext/index.cjs +6 -0
  137. package/dist/contexts/localStorageContext/index.d.cts +30 -0
  138. package/dist/contexts/localStorageContext/index.d.ts +30 -0
  139. package/dist/contexts/localStorageContext/index.js +4 -0
  140. package/dist/contexts/newOrgConfigContext/index.cjs +20 -0
  141. package/dist/contexts/newOrgConfigContext/index.d.cts +31 -0
  142. package/dist/contexts/newOrgConfigContext/index.d.ts +31 -0
  143. package/dist/contexts/newOrgConfigContext/index.js +19 -0
  144. package/dist/contexts/searchContext/index.cjs +24 -0
  145. package/dist/contexts/searchContext/index.d.cts +16 -0
  146. package/dist/contexts/searchContext/index.d.ts +16 -0
  147. package/dist/contexts/searchContext/index.js +23 -0
  148. package/dist/contexts/sessionStorageContext/index.cjs +5 -0
  149. package/dist/contexts/sessionStorageContext/index.d.cts +15 -0
  150. package/dist/contexts/sessionStorageContext/index.d.ts +15 -0
  151. package/dist/contexts/sessionStorageContext/index.js +4 -0
  152. package/dist/contexts/shopifyUrlContext/index.cjs +5 -0
  153. package/dist/contexts/shopifyUrlContext/index.d.cts +20 -0
  154. package/dist/contexts/shopifyUrlContext/index.d.ts +20 -0
  155. package/dist/contexts/shopifyUrlContext/index.js +4 -0
  156. package/dist/contexts/systemSettingsContext/index.cjs +8 -0
  157. package/dist/contexts/systemSettingsContext/index.d.cts +37 -0
  158. package/dist/contexts/systemSettingsContext/index.d.ts +37 -0
  159. package/dist/contexts/systemSettingsContext/index.js +6 -0
  160. package/dist/contexts/types.cjs +7 -0
  161. package/dist/contexts/types.d.cts +4 -0
  162. package/dist/contexts/types.d.ts +4 -0
  163. package/dist/contexts/types.js +3 -0
  164. package/dist/contexts/userIdentityContext/index.cjs +27 -0
  165. package/dist/contexts/userIdentityContext/index.d.cts +2 -0
  166. package/dist/contexts/userIdentityContext/index.d.ts +2 -0
  167. package/dist/contexts/userIdentityContext/index.js +26 -0
  168. package/dist/domObserver-B19-69gW.js +285 -0
  169. package/dist/domObserver-CwieVNgj.cjs +304 -0
  170. package/dist/enviveConfig-BQB14yuH.js +62 -0
  171. package/dist/enviveConfig-DAA9sozZ.cjs +130 -0
  172. package/dist/enviveConfigContext-BCpBKqsz.js +45 -0
  173. package/dist/enviveConfigContext-Btg5JUMG.cjs +60 -0
  174. package/dist/events/index.cjs +1 -1
  175. package/dist/events/index.d.ts +1 -1
  176. package/dist/events/index.js +1 -1
  177. package/dist/{events-BrLpaNxh.js → events-BHJJjPDN.js} +1 -1
  178. package/dist/{events-DwT6cEwI.cjs → events-B_fJZf9E.cjs} +1 -1
  179. package/dist/featureFlagServiceContext-Bcx5yh4S.cjs +56 -0
  180. package/dist/featureFlagServiceContext-Cpw8omUr.d.ts +23 -0
  181. package/dist/featureFlagServiceContext-Cvn6fcdB.d.cts +23 -0
  182. package/dist/featureFlagServiceContext-_tXX5iro.js +42 -0
  183. package/dist/featureGates-2Zea2D2S.js +27 -0
  184. package/dist/featureGates-BY2Zy7x_.cjs +33 -0
  185. package/dist/frontendConfig-DnMZfvcA.d.cts +857 -0
  186. package/dist/frontendConfig-Dqxbqo8G.d.ts +857 -0
  187. package/dist/{globalSearch-BFvEg53C.cjs → globalSearch-C94-vEVh.cjs} +1 -1
  188. package/dist/{globalSearch-B6THR7Jx.js → globalSearch-Dlbnfasm.js} +1 -1
  189. package/dist/graphql-DRLWdYEk.js +36 -0
  190. package/dist/graphql-xPDT7ZkK.cjs +53 -0
  191. package/dist/graphqlConfig-B4ddz1vH.cjs +39 -0
  192. package/dist/graphqlConfig-BnjOdeX7.js +14 -0
  193. package/dist/graphqlContext-B-9g2vOb.js +96 -0
  194. package/dist/graphqlContext-B7PEKDJs.cjs +111 -0
  195. package/dist/hooks/AmplitudeOperations/index.cjs +22 -0
  196. package/dist/hooks/AmplitudeOperations/index.d.cts +12 -0
  197. package/dist/hooks/AmplitudeOperations/index.d.ts +12 -0
  198. package/dist/hooks/AmplitudeOperations/index.js +22 -0
  199. package/dist/hooks/AppDetails/index.cjs +19 -0
  200. package/dist/hooks/AppDetails/index.d.cts +27 -0
  201. package/dist/hooks/AppDetails/index.d.ts +27 -0
  202. package/dist/hooks/AppDetails/index.js +19 -0
  203. package/dist/hooks/BlockBackButton/index.cjs +29 -0
  204. package/dist/hooks/BlockBackButton/index.d.cts +5 -0
  205. package/dist/hooks/BlockBackButton/index.d.ts +5 -0
  206. package/dist/hooks/BlockBackButton/index.js +27 -0
  207. package/dist/hooks/CdnOperations/index.cjs +24 -0
  208. package/dist/hooks/CdnOperations/index.d.cts +7 -0
  209. package/dist/hooks/CdnOperations/index.d.ts +7 -0
  210. package/dist/hooks/CdnOperations/index.js +22 -0
  211. package/dist/hooks/ChatToggle/index.cjs +64 -0
  212. package/dist/hooks/ChatToggle/index.d.cts +12 -0
  213. package/dist/hooks/ChatToggle/index.d.ts +12 -0
  214. package/dist/hooks/ChatToggle/index.js +62 -0
  215. package/dist/hooks/ChatToggleAnalytics/index.cjs +38 -0
  216. package/dist/hooks/ChatToggleAnalytics/index.d.cts +9 -0
  217. package/dist/hooks/ChatToggleAnalytics/index.d.ts +9 -0
  218. package/dist/hooks/ChatToggleAnalytics/index.js +36 -0
  219. package/dist/hooks/CustomerSupportHandoff/index.cjs +36 -0
  220. package/dist/hooks/CustomerSupportHandoff/index.d.cts +16 -0
  221. package/dist/hooks/CustomerSupportHandoff/index.d.ts +16 -0
  222. package/dist/hooks/CustomerSupportHandoff/index.js +34 -0
  223. package/dist/hooks/Debounce/index.cjs +3 -0
  224. package/dist/hooks/Debounce/index.d.cts +5 -0
  225. package/dist/hooks/Debounce/index.d.ts +5 -0
  226. package/dist/hooks/Debounce/index.js +3 -0
  227. package/dist/hooks/ElementObserver/index.cjs +179 -0
  228. package/dist/hooks/ElementObserver/index.d.cts +29 -0
  229. package/dist/hooks/ElementObserver/index.d.ts +29 -0
  230. package/dist/hooks/ElementObserver/index.js +177 -0
  231. package/dist/hooks/GrabAndScroll/index.cjs +99 -0
  232. package/dist/hooks/GrabAndScroll/index.d.cts +14 -0
  233. package/dist/hooks/GrabAndScroll/index.d.ts +14 -0
  234. package/dist/hooks/GrabAndScroll/index.js +97 -0
  235. package/dist/hooks/GraphQLConfig/index.cjs +17 -0
  236. package/dist/hooks/GraphQLConfig/index.d.cts +15 -0
  237. package/dist/hooks/GraphQLConfig/index.d.ts +15 -0
  238. package/dist/hooks/GraphQLConfig/index.js +16 -0
  239. package/dist/hooks/IdentifyUser/index.cjs +60 -0
  240. package/dist/hooks/IdentifyUser/index.d.cts +10 -0
  241. package/dist/hooks/IdentifyUser/index.d.ts +10 -0
  242. package/dist/hooks/IdentifyUser/index.js +58 -0
  243. package/dist/hooks/ImageResolver/index.cjs +55 -0
  244. package/dist/hooks/ImageResolver/index.d.cts +7 -0
  245. package/dist/hooks/ImageResolver/index.d.ts +7 -0
  246. package/dist/hooks/ImageResolver/index.js +53 -0
  247. package/dist/hooks/Intersection/index.cjs +3 -0
  248. package/dist/hooks/Intersection/index.d.cts +7 -0
  249. package/dist/hooks/Intersection/index.d.ts +7 -0
  250. package/dist/hooks/Intersection/index.js +3 -0
  251. package/dist/hooks/IsSmallScreen/index.cjs +22 -0
  252. package/dist/hooks/IsSmallScreen/index.d.cts +5 -0
  253. package/dist/hooks/IsSmallScreen/index.d.ts +5 -0
  254. package/dist/hooks/IsSmallScreen/index.js +20 -0
  255. package/dist/hooks/LocalStorageOperations/index.cjs +79 -0
  256. package/dist/hooks/LocalStorageOperations/index.d.cts +17 -0
  257. package/dist/hooks/LocalStorageOperations/index.d.ts +17 -0
  258. package/dist/hooks/LocalStorageOperations/index.js +74 -0
  259. package/dist/hooks/MessageFilter/index.cjs +54 -0
  260. package/dist/hooks/MessageFilter/index.d.cts +30 -0
  261. package/dist/hooks/MessageFilter/index.d.ts +30 -0
  262. package/dist/hooks/MessageFilter/index.js +54 -0
  263. package/dist/hooks/MessageScrollObserver/index.cjs +36 -0
  264. package/dist/hooks/MessageScrollObserver/index.d.cts +5 -0
  265. package/dist/hooks/MessageScrollObserver/index.d.ts +5 -0
  266. package/dist/hooks/MessageScrollObserver/index.js +34 -0
  267. package/dist/hooks/NewOrgConfig/index.cjs +20 -0
  268. package/dist/hooks/NewOrgConfig/index.d.cts +23 -0
  269. package/dist/hooks/NewOrgConfig/index.d.ts +23 -0
  270. package/dist/hooks/NewOrgConfig/index.js +20 -0
  271. package/dist/hooks/Search/index.cjs +326 -0
  272. package/dist/hooks/Search/index.d.cts +61 -0
  273. package/dist/hooks/Search/index.d.ts +61 -0
  274. package/dist/hooks/Search/index.js +323 -0
  275. package/dist/hooks/SearchOperations/index.cjs +102 -0
  276. package/dist/hooks/SearchOperations/index.d.cts +22 -0
  277. package/dist/hooks/SearchOperations/index.d.ts +22 -0
  278. package/dist/hooks/SearchOperations/index.js +99 -0
  279. package/dist/hooks/SessionStorageOperations/index.cjs +30 -0
  280. package/dist/hooks/SessionStorageOperations/index.d.cts +8 -0
  281. package/dist/hooks/SessionStorageOperations/index.d.ts +8 -0
  282. package/dist/hooks/SessionStorageOperations/index.js +28 -0
  283. package/dist/hooks/ShopifyUrlOperations/index.cjs +53 -0
  284. package/dist/hooks/ShopifyUrlOperations/index.d.cts +23 -0
  285. package/dist/hooks/ShopifyUrlOperations/index.d.ts +23 -0
  286. package/dist/hooks/ShopifyUrlOperations/index.js +49 -0
  287. package/dist/hooks/SnapCalculator/index.cjs +29 -0
  288. package/dist/hooks/SnapCalculator/index.d.cts +12 -0
  289. package/dist/hooks/SnapCalculator/index.d.ts +12 -0
  290. package/dist/hooks/SnapCalculator/index.js +27 -0
  291. package/dist/hooks/SystemSettingsContext/index.cjs +7 -0
  292. package/dist/hooks/SystemSettingsContext/index.d.cts +23 -0
  293. package/dist/hooks/SystemSettingsContext/index.d.ts +23 -0
  294. package/dist/hooks/SystemSettingsContext/index.js +7 -0
  295. package/dist/hooks/TrackComponentVisibleEvent/index.cjs +22 -0
  296. package/dist/hooks/TrackComponentVisibleEvent/index.d.cts +18 -0
  297. package/dist/hooks/TrackComponentVisibleEvent/index.d.ts +18 -0
  298. package/dist/hooks/TrackComponentVisibleEvent/index.js +22 -0
  299. package/dist/hooks/UpdateAnalyticsProps/index.cjs +62 -0
  300. package/dist/hooks/UpdateAnalyticsProps/index.d.cts +9 -0
  301. package/dist/hooks/UpdateAnalyticsProps/index.d.ts +9 -0
  302. package/dist/hooks/UpdateAnalyticsProps/index.js +59 -0
  303. package/dist/hooks/utils.cjs +8 -0
  304. package/dist/hooks/utils.d.cts +13 -0
  305. package/dist/hooks/utils.d.ts +13 -0
  306. package/dist/hooks/utils.js +3 -0
  307. package/dist/index-B9HUPS_i.d.cts +186 -0
  308. package/dist/{index-CcIG01PJ.d.ts → index-BN-3ctk_.d.ts} +2 -2
  309. package/dist/index-BNiYL8h0.d.cts +28 -0
  310. package/dist/{index-BDPWBU3h.d.cts → index-BW6pHibZ.d.cts} +1 -1
  311. package/dist/index-BirtCYN3.d.ts +186 -0
  312. package/dist/index-Bmub8e38.d.cts +1 -1
  313. package/dist/{index-Cqg6ltII.d.ts → index-BoYC9XLW.d.ts} +1 -1
  314. package/dist/index-C9zXP5bg.d.ts +28 -0
  315. package/dist/index-CESxqFso.d.cts +1 -1
  316. package/dist/index-CK_J3QMY.d.ts +676 -0
  317. package/dist/index-C_MIfxF0.d.cts +676 -0
  318. package/dist/index-CiWEYzXl.d.cts +1 -1
  319. package/dist/{index-C6KdON7d.d.ts → index-Da0UzyI9.d.ts} +1 -1
  320. package/dist/{index-ylUiJvnr.d.ts → index-Dr_c2DDq.d.ts} +1 -1
  321. package/dist/{index-PGF8BvxQ.d.ts → index-DsiilEj-.d.ts} +1 -1
  322. package/dist/{index-Byb45OPg.d.cts → index-MOOZ2oxZ.d.cts} +1 -1
  323. package/dist/{index-DOii3C6b.d.ts → index-ghzD_356.d.ts} +1 -1
  324. package/dist/{index-B0NW9KTj.d.cts → index-hdbCEjYy.d.cts} +1 -1
  325. package/dist/interceptors/index.cjs +2 -1
  326. package/dist/interceptors/index.d.cts +10 -10
  327. package/dist/interceptors/index.d.ts +13 -13
  328. package/dist/interceptors/index.js +2 -1
  329. package/dist/interceptors/types.cjs +1 -0
  330. package/dist/interceptors/types.d.cts +13 -0
  331. package/dist/interceptors/types.d.ts +13 -0
  332. package/dist/interceptors/types.js +3 -0
  333. package/dist/localStorageContext-DiTziaPa.js +95 -0
  334. package/dist/localStorageContext-S38L0OSP.cjs +115 -0
  335. package/dist/logger-CkhQayOW.js +20 -0
  336. package/dist/logger-DQ0WfCcD.cjs +26 -0
  337. package/dist/{models-BkXg5eIP.cjs → models-C48U9q70.js} +220 -458
  338. package/dist/models-Ctn-pmug.cjs +1537 -0
  339. package/dist/newOrgConfigAtom-D6R-7HCk.cjs +15 -0
  340. package/dist/newOrgConfigAtom-bn1lnljf.js +8 -0
  341. package/dist/newOrgConfigContext-D3WoaBVU.cjs +68 -0
  342. package/dist/newOrgConfigContext-rWOYz0E8.js +53 -0
  343. package/dist/{nodeSelector-Dm4S-10n.d.cts → nodeSelector-B3bPtEjX.d.cts} +1 -1
  344. package/dist/{nodeSelector-BxrS2S_k.d.ts → nodeSelector-D5gjDWZ3.d.ts} +1 -1
  345. package/dist/org-CIhjzxWr.cjs +43 -0
  346. package/dist/org-CeWXnpwF.js +12 -0
  347. package/dist/{orgAnalyticsConfig-ClrFy2qH.js → orgAnalyticsConfig-BC4_sEmn.js} +1 -1
  348. package/dist/{orgAnalyticsConfig-BJ2A1RZ-.cjs → orgAnalyticsConfig-DsGbyFhO.cjs} +1 -1
  349. package/dist/search--NZPZkK3.cjs +205 -0
  350. package/dist/search-BLShhjvR.d.ts +20 -0
  351. package/dist/search-CxZl7iQF.js +126 -0
  352. package/dist/{search-filter-types-fZf91Pdw.d.ts → search-filter-types-DPgeG8FS.d.ts} +1 -1
  353. package/dist/{search-filter-types-DosbseF3.d.cts → search-filter-types-_mprCnBi.d.cts} +1 -1
  354. package/dist/search-y-ioX5Mz.d.cts +20 -0
  355. package/dist/searchContext-C4Glr8Nv.cjs +145 -0
  356. package/dist/searchContext-VnjhV7Lk.js +129 -0
  357. package/dist/searchServiceAdapter-DEv1tTn0.cjs +34 -0
  358. package/dist/searchServiceAdapter-WyCU55NV.js +16 -0
  359. package/dist/sessionStorageContext-BJ05_j7l.cjs +66 -0
  360. package/dist/sessionStorageContext-Dp_bhXQP.js +52 -0
  361. package/dist/shopifyUrlContext-CGqpJl1o.js +61 -0
  362. package/dist/shopifyUrlContext-Cob4L7Dt.cjs +75 -0
  363. package/dist/spiffyWidgets-BuS00VaQ.d.cts +20 -0
  364. package/dist/spiffyWidgets-GILaqHv6.d.ts +20 -0
  365. package/dist/systemSettingsContext-BDKWrrco.cjs +60 -0
  366. package/dist/systemSettingsContext-Dqng3YSZ.js +39 -0
  367. package/dist/{test-types-C9b_OdfO.d.ts → test-types-EzMFw_U3.d.ts} +1 -1
  368. package/dist/{test-types-CgVJtwUr.d.cts → test-types-ThQiO_cc.d.cts} +1 -1
  369. package/dist/types/index.cjs +33 -5
  370. package/dist/types/index.d.cts +2 -2
  371. package/dist/types/index.d.ts +2 -2
  372. package/dist/types/index.js +30 -3
  373. package/dist/types-BUeRbZUk.d.cts +10 -0
  374. package/dist/types-BwNrLPSZ.cjs +106 -0
  375. package/dist/types-CMuTSKrW.d.ts +10 -0
  376. package/dist/types-CS0Hrzja.js +30 -0
  377. package/dist/types-CxObxLKs.cjs +48 -0
  378. package/dist/types-D3uOF0Oy.js +76 -0
  379. package/dist/types-fsXBIQwO.d.ts +51 -0
  380. package/dist/types-zuWLkBJ3.d.cts +51 -0
  381. package/dist/types.d.cts +15 -0
  382. package/dist/types.d.ts +15 -0
  383. package/dist/unsupportedProductExceptions-CKiri_vO.cjs +32 -0
  384. package/dist/unsupportedProductExceptions-ClxlJ6cU.js +20 -0
  385. package/dist/urlsParser-D1nsJgQG.cjs +78 -0
  386. package/dist/urlsParser-DzEetiey.js +42 -0
  387. package/dist/useAmplitudeOperations-BSsyvkQ2.cjs +41 -0
  388. package/dist/useAmplitudeOperations-BottjwT9.js +34 -0
  389. package/dist/useAppDetails-BpiBxS_5.cjs +38 -0
  390. package/dist/useAppDetails-DDNIsM46.js +30 -0
  391. package/dist/useDebounce-BaIp-A1W.cjs +26 -0
  392. package/dist/useDebounce-CxPj9WmE.js +19 -0
  393. package/dist/useGraphQLConfig-DZ0ZannB.js +63 -0
  394. package/dist/useGraphQLConfig-Dw8dDh3T.cjs +76 -0
  395. package/dist/useIntersection-B4J9UhaG.js +21 -0
  396. package/dist/useIntersection-DKWc5MY6.cjs +28 -0
  397. package/dist/{useMessageInterceptor-B87e3yu3.cjs → useMessageInterceptor-CstX10ih.cjs} +3 -3
  398. package/dist/{useMessageInterceptor-Bb7YRaWk.js → useMessageInterceptor-D5oAekXn.js} +2 -2
  399. package/dist/userIdentityContext-D2oFVFzo.d.cts +20 -0
  400. package/dist/userIdentityContext-DPFkCSCu.cjs +125 -0
  401. package/dist/userIdentityContext-Z65zM-Ae.js +109 -0
  402. package/dist/userIdentityContext-wYRpgkaJ.d.ts +20 -0
  403. package/dist/utilityTypes-DynzxjK3.js +1 -0
  404. package/dist/utilityTypes-xb8SjKSV.cjs +0 -0
  405. package/dist/utils-2SWrJ12w.cjs +29 -0
  406. package/dist/utils-B1xLx9S8.d.ts +15 -0
  407. package/dist/utils-B3x_9JTY.d.cts +15 -0
  408. package/dist/utils-BZtSmwgh.d.cts +22 -0
  409. package/dist/utils-Bcz5kAgP.js +92 -0
  410. package/dist/utils-CEKzBcN2.js +27 -0
  411. package/dist/utils-CMqFfqZx.cjs +130 -0
  412. package/dist/utils-CVovRwlw.js +606 -0
  413. package/dist/utils-CqBxIpEV.js +23 -0
  414. package/dist/utils-CsMbZmRw.cjs +33 -0
  415. package/dist/utils-DzPSXtmD.cjs +715 -0
  416. package/dist/utils-bxOCg2i9.d.ts +22 -0
  417. package/dist/variantInfo-B7IwRpCg.cjs +0 -0
  418. package/dist/variantInfo-BtOYUGWa.js +1 -0
  419. package/package.json +191 -7
  420. package/src/application/models/index.ts +0 -1
  421. package/src/application/utils/analyticsUtils.ts +1 -1
  422. package/src/atoms/amplitude/amplitudeTrackEventAtom.ts +1 -1
  423. package/src/atoms/app/index.ts +1 -1
  424. package/src/atoms/chat/chatState.ts +1 -1
  425. package/src/atoms/chat/replies.ts +1 -1
  426. package/src/atoms/org/graphqlConfig.ts +1 -39
  427. package/src/atoms/org/index.ts +0 -1
  428. package/src/atoms/org/newOrgConfigAtom.ts +2 -6
  429. package/src/contexts/{amplitudeContext.tsx → amplitudeContext/amplitudeContext.tsx} +1 -2
  430. package/src/contexts/amplitudeContext/index.ts +1 -0
  431. package/src/contexts/{cdnContext.tsx → cdnContext/cdnContext.tsx} +1 -1
  432. package/src/contexts/cdnContext/index.ts +1 -0
  433. package/src/contexts/{chatContext.tsx → chatContext/chatContext.tsx} +3 -3
  434. package/src/contexts/chatContext/index.ts +1 -0
  435. package/src/contexts/{enviveConfigContext.tsx → enviveConfigContext/enviveConfigContext.tsx} +1 -1
  436. package/src/contexts/enviveConfigContext/index.ts +1 -0
  437. package/src/contexts/{enviveCssContext.tsx → enviveCssContext/enviveCssContext.tsx} +1 -1
  438. package/src/contexts/enviveCssContext/index.ts +1 -0
  439. package/src/contexts/{featureFlagContext.tsx → featureFlagContext/featureFlagContext.tsx} +1 -1
  440. package/src/contexts/featureFlagContext/index.ts +1 -0
  441. package/src/contexts/featureFlagServiceContext/index.ts +1 -0
  442. package/src/contexts/graphqlContext/index.ts +1 -0
  443. package/src/contexts/localStorageContext/index.ts +1 -0
  444. package/src/contexts/{localStorageContext.tsx → localStorageContext/localStorageContext.tsx} +2 -2
  445. package/src/contexts/newOrgConfigContext/index.ts +1 -0
  446. package/src/contexts/newOrgConfigContext/newOrgConfigContext.tsx +70 -0
  447. package/src/contexts/searchContext/index.ts +1 -0
  448. package/src/contexts/{searchContext.tsx → searchContext/searchContext.tsx} +5 -5
  449. package/src/contexts/sessionStorageContext/index.ts +1 -0
  450. package/src/contexts/{sessionStorageContext.tsx → sessionStorageContext/sessionStorageContext.tsx} +1 -1
  451. package/src/contexts/shopifyUrlContext/index.ts +1 -0
  452. package/src/contexts/systemSettingsContext/index.ts +1 -0
  453. package/src/contexts/userIdentityContext/index.ts +1 -0
  454. package/src/events/registerAnalyticsListeners.ts +2 -2
  455. package/src/favicon.ico +0 -0
  456. package/src/hooks/AmplitudeOperations/index.ts +1 -0
  457. package/src/hooks/{useAmplitudeOperations.ts → AmplitudeOperations/useAmplitudeOperations.ts} +1 -1
  458. package/src/hooks/AppDetails/index.ts +1 -0
  459. package/src/hooks/{useAppDetails.ts → AppDetails/useAppDetails.ts} +1 -3
  460. package/src/hooks/BlockBackButton/index.ts +1 -0
  461. package/src/hooks/CdnOperations/index.ts +1 -0
  462. package/src/hooks/{useCdnOperations.ts → CdnOperations/useCdnOperations.ts} +1 -1
  463. package/src/hooks/ChatToggle/index.ts +1 -0
  464. package/src/hooks/{useChatToggle.ts → ChatToggle/useChatToggle.ts} +1 -1
  465. package/src/hooks/ChatToggleAnalytics/index.ts +1 -0
  466. package/src/hooks/{useChatToggleAnalytics.ts → ChatToggleAnalytics/useChatToggleAnalytics.ts} +1 -1
  467. package/src/hooks/CustomerSupportHandoff/index.ts +1 -0
  468. package/src/hooks/Debounce/index.ts +1 -0
  469. package/src/hooks/ElementObserver/index.ts +1 -0
  470. package/src/hooks/GrabAndScroll/index.ts +1 -0
  471. package/src/hooks/GraphQLConfig/index.ts +1 -0
  472. package/src/hooks/{useGraphQLConfig.ts → GraphQLConfig/useGraphQLConfig.ts} +1 -1
  473. package/src/hooks/IdentifyUser/index.ts +1 -0
  474. package/src/hooks/{useIdentifyUser.ts → IdentifyUser/useIdentifyUser.ts} +1 -1
  475. package/src/hooks/ImageResolver/index.ts +1 -0
  476. package/src/hooks/Intersection/index.ts +1 -0
  477. package/src/hooks/IsSmallScreen/index.ts +1 -0
  478. package/src/hooks/LocalStorageOperations/index.ts +1 -0
  479. package/src/hooks/{useLocalStorageOperations.ts → LocalStorageOperations/useLocalStorageOperations.ts} +2 -2
  480. package/src/hooks/MessageFilter/index.ts +1 -0
  481. package/src/hooks/MessageScrollObserver/index.ts +1 -0
  482. package/src/hooks/NewOrgConfig/index.ts +1 -0
  483. package/src/hooks/{useNewOrgConfig.ts → NewOrgConfig/useNewOrgConfig.ts} +1 -1
  484. package/src/hooks/Search/index.ts +1 -0
  485. package/src/hooks/{useSearch.tsx → Search/useSearch.tsx} +5 -4
  486. package/src/hooks/SearchOperations/index.ts +1 -0
  487. package/src/hooks/SessionStorageOperations/index.ts +1 -0
  488. package/src/hooks/{useSessionStorageOperations.ts → SessionStorageOperations/useSessionStorageOperations.ts} +1 -1
  489. package/src/hooks/ShopifyUrlOperations/index.ts +1 -0
  490. package/src/hooks/{useShopifyUrlOperations.ts → ShopifyUrlOperations/useShopifyUrlOperations.ts} +1 -1
  491. package/src/hooks/SnapCalculator/index.ts +1 -0
  492. package/src/hooks/SystemSettingsContext/index.ts +1 -0
  493. package/src/hooks/SystemSettingsContext/useSystemSettingsContext.ts +14 -0
  494. package/src/hooks/TrackComponentVisibleEvent/index.ts +1 -0
  495. package/src/hooks/{useTrackComponentVisibleEvent.ts → TrackComponentVisibleEvent/useTrackComponentVisibleEvent.ts} +2 -2
  496. package/src/hooks/UpdateAnalyticsProps/index.ts +1 -0
  497. package/src/hooks/{useUpdateAnalyticsProps.ts → UpdateAnalyticsProps/useUpdateAnalyticsProps.ts} +1 -1
  498. package/dist/amplitudeContext-CHzas7Cf.d.cts +0 -52
  499. package/dist/amplitudeContext-D-7fmVh1.cjs +0 -356
  500. package/dist/amplitudeContext-hY3caPC6.js +0 -322
  501. package/dist/amplitudeContext-tJ4y-SzX.d.ts +0 -52
  502. package/dist/api-DjeZXxl_.js +0 -207
  503. package/dist/api-_JaUnIUj.cjs +0 -292
  504. package/dist/bandolier-DYEz4-8C.js +0 -1229
  505. package/dist/bandolier-o_-xrbOV.cjs +0 -1229
  506. package/dist/carpe-CsG5jCcl.cjs +0 -607
  507. package/dist/carpe-DONk00bZ.js +0 -605
  508. package/dist/cdnUtils-32v8bDX9.cjs +0 -16
  509. package/dist/cdnUtils-E4tLBt2g.js +0 -11
  510. package/dist/chat-CO7cRkaq.cjs +0 -506
  511. package/dist/chat-hcRc4RRd.js +0 -285
  512. package/dist/contexts/index.cjs +0 -57
  513. package/dist/contexts/index.d.cts +0 -10
  514. package/dist/contexts/index.d.ts +0 -10
  515. package/dist/contexts/index.js +0 -23
  516. package/dist/contexts-B4ihTBsV.cjs +0 -2980
  517. package/dist/contexts-DGlr7M1o.js +0 -2596
  518. package/dist/coterie-CKB93qfz.cjs +0 -239
  519. package/dist/coterie-DHcj2fRE.js +0 -239
  520. package/dist/custservice-types-Dy0kc9TW.cjs +0 -35
  521. package/dist/custservice-types-mnIunabv.js +0 -23
  522. package/dist/default-BnB4p0Se.cjs +0 -234
  523. package/dist/default-D6f5Dyt7.js +0 -199
  524. package/dist/default-ZKkE5zT4.cjs +0 -4
  525. package/dist/default-legGZJwI.js +0 -4
  526. package/dist/divIds-2dJlU3z8.cjs +0 -117
  527. package/dist/divIds-BUrN2vY-.js +0 -21
  528. package/dist/dreamlandBaby-BiRYYFav.js +0 -346
  529. package/dist/dreamlandBaby-zuvmfzfD.cjs +0 -346
  530. package/dist/embedded-BJLWIriJ.js +0 -23
  531. package/dist/embedded-Dl79TJLC.cjs +0 -131
  532. package/dist/entrypoints-Bs3pn6EV.js +0 -7
  533. package/dist/entrypoints-Dqi5pzWH.cjs +0 -19
  534. package/dist/enviveConfig-BccuzS2a.cjs +0 -240
  535. package/dist/enviveConfig-CzhTz8Aa.js +0 -152
  536. package/dist/fiveCbd-DwTTwC2j.cjs +0 -613
  537. package/dist/fiveCbd-Dz2NouOF.js +0 -613
  538. package/dist/forLoveAndLemons-DqSdyD6S.js +0 -665
  539. package/dist/forLoveAndLemons-Ud6mPrV3.cjs +0 -667
  540. package/dist/graphql-BNW60InJ.cjs +0 -128
  541. package/dist/graphql-CjB8wHzm.js +0 -74
  542. package/dist/graphqlConfig-CYt6tWII.js +0 -30
  543. package/dist/graphqlConfig-DicykC-o.cjs +0 -61
  544. package/dist/greenpan-B_EbPkSP.js +0 -397
  545. package/dist/greenpan-kPE4fJgd.cjs +0 -397
  546. package/dist/grooveLife-Ckuir319.js +0 -342
  547. package/dist/grooveLife-DKSEQp1F.cjs +0 -342
  548. package/dist/homegrownCannabis-BVPa2pqe.js +0 -410
  549. package/dist/homegrownCannabis-BwIAkxuA.cjs +0 -410
  550. package/dist/hooks/index.cjs +0 -63
  551. package/dist/hooks/index.d.cts +0 -314
  552. package/dist/hooks/index.d.ts +0 -314
  553. package/dist/hooks/index.js +0 -23
  554. package/dist/index-BMPtlgac.d.ts +0 -191
  555. package/dist/index-C7pGDl1A.d.ts +0 -1609
  556. package/dist/index-C9lgsCWp.d.cts +0 -203
  557. package/dist/index-Cc-wBCn6.d.ts +0 -203
  558. package/dist/index-DTu2X-YS.d.cts +0 -1609
  559. package/dist/index-OEifcBsm.d.cts +0 -191
  560. package/dist/jackArcher-B39OEIj6.cjs +0 -727
  561. package/dist/jackArcher-BwkWGybC.js +0 -727
  562. package/dist/jordanCraig-CxRH_jLi.js +0 -1786
  563. package/dist/jordanCraig-RwmWw-jM.cjs +0 -1786
  564. package/dist/kindredBravely-D78VwL20.cjs +0 -490
  565. package/dist/kindredBravely-DQDpAzdl.js +0 -490
  566. package/dist/kutFromTheKloth-TcXQkIti.js +0 -369
  567. package/dist/kutFromTheKloth-dXRrNti0.cjs +0 -369
  568. package/dist/larryAndSerges-Bh5XEXsZ.js +0 -262
  569. package/dist/larryAndSerges-COdBzOzu.cjs +0 -262
  570. package/dist/leapsAndRebounds-BbXnqkl5.cjs +0 -360
  571. package/dist/leapsAndRebounds-mjCaH1k-.js +0 -360
  572. package/dist/longevityrx-DdV3v26F.cjs +0 -320
  573. package/dist/longevityrx-DfPDfvAt.js +0 -320
  574. package/dist/lookOptic-DgXFGBPP.cjs +0 -282
  575. package/dist/lookOptic-FgVW1afF.js +0 -282
  576. package/dist/mantraBrand-C5gVm3rk.cjs +0 -750
  577. package/dist/mantraBrand-uV8HCDR8.js +0 -750
  578. package/dist/medterra-BtDpr1Hw.cjs +0 -583
  579. package/dist/medterra-DgzE7-mj.js +0 -583
  580. package/dist/modells-CJjsxOIR.js +0 -484
  581. package/dist/modells-Ck5KbRFj.cjs +0 -484
  582. package/dist/models-UZ6HszfZ.js +0 -1281
  583. package/dist/org-C2RrBVQR.cjs +0 -81
  584. package/dist/org-xMytX--e.js +0 -38
  585. package/dist/pressedFloral-Bteoboms.js +0 -661
  586. package/dist/pressedFloral-CexgV-xy.cjs +0 -661
  587. package/dist/search-BMOAmrmY.js +0 -459
  588. package/dist/search-Df0Ifneg.cjs +0 -672
  589. package/dist/skinPerfection-BGzq9lq-.cjs +0 -334
  590. package/dist/skinPerfection-BlvcEcUE.js +0 -334
  591. package/dist/snapSupplements-CbbGzAgO.cjs +0 -285
  592. package/dist/snapSupplements-kcsPAOm9.js +0 -285
  593. package/dist/socialProofClasses-Db8gzsfi.cjs +0 -40
  594. package/dist/socialProofClasses-kwDvwLOZ.js +0 -10
  595. package/dist/spanx-B4WFA_rI.js +0 -661
  596. package/dist/spanx-BWoE4F8b.cjs +0 -663
  597. package/dist/spanxStaging-BOrOjhXn.js +0 -845
  598. package/dist/spanxStaging-BfdfIug4.cjs +0 -848
  599. package/dist/suggestionBarV2-types-IMMOmCir.js +0 -10
  600. package/dist/suggestionBarV2-types-nnGNgFvR.cjs +0 -16
  601. package/dist/supergoop-22dd5_BS.js +0 -323
  602. package/dist/supergoop-B-a4cku2.cjs +0 -323
  603. package/dist/types--pr1GQQx.js +0 -154
  604. package/dist/types-BVSyY3Hk.cjs +0 -196
  605. package/dist/uniqueVintage-CJXiNNe7.js +0 -1211
  606. package/dist/uniqueVintage-D0jzJWlo.cjs +0 -1213
  607. package/dist/userIdentityContext-BPqvVIg0.d.cts +0 -20
  608. package/dist/userIdentityContext-wbCRmlzp.d.ts +0 -20
  609. package/dist/utils-C9ZSCx12.js +0 -888
  610. package/dist/utils-D5HO61hG.cjs +0 -1016
  611. package/dist/venaCbd-Bhhu_qUf.cjs +0 -365
  612. package/dist/venaCbd-CanovPS_.js +0 -365
  613. package/dist/westonJonBoucher-BC0x1ktI.cjs +0 -422
  614. package/dist/westonJonBoucher-BUu1_wP1.js +0 -422
  615. package/dist/wineEnthusiast-BlCryfil.cjs +0 -940
  616. package/dist/wineEnthusiast-Ck1x5iJq.js +0 -940
  617. package/dist/wolfMattress-D9Mjq-HP.js +0 -372
  618. package/dist/wolfMattress-JssghhC-.cjs +0 -372
  619. package/dist/wolfTactical-C6exYhL7.cjs +0 -349
  620. package/dist/wolfTactical-CnV3KQdI.js +0 -349
  621. package/src/application/models/supportedOrgs.ts +0 -161
  622. package/src/atoms/org/orgPageConfig.ts +0 -42
  623. package/src/contexts/index.ts +0 -16
  624. package/src/contexts/newOrgConfigContext.tsx +0 -104
  625. package/src/contexts/orgConfigContext.tsx +0 -106
  626. package/src/hooks/index.ts +0 -27
  627. package/src/hooks/useSystemSettingsContext.ts +0 -12
  628. package/src/merchants/bandolier/bandolier.ts +0 -1371
  629. package/src/merchants/carpe/carpe.ts +0 -653
  630. package/src/merchants/coterie/coterie.ts +0 -277
  631. package/src/merchants/default.ts +0 -196
  632. package/src/merchants/dreamlandBaby/dreamlandBaby.ts +0 -381
  633. package/src/merchants/fiveCbd/fiveCbd.ts +0 -691
  634. package/src/merchants/forLoveAndLemons/forLoveAndLemons.ts +0 -751
  635. package/src/merchants/greenpan/greenpan.ts +0 -434
  636. package/src/merchants/grooveLife/grooveLife.ts +0 -392
  637. package/src/merchants/homegrownCannabis/homegrownCannabis.ts +0 -474
  638. package/src/merchants/init-merchant.sh +0 -53
  639. package/src/merchants/jackArcher/jackArcher.ts +0 -989
  640. package/src/merchants/jordanCraig/jordanCraig.ts +0 -1927
  641. package/src/merchants/kindredBravely/kindredBravely.ts +0 -538
  642. package/src/merchants/kutFromTheKloth/kutFromTheKloth.ts +0 -421
  643. package/src/merchants/larryAndSerges/larryAndSerges.ts +0 -318
  644. package/src/merchants/leapsAndRebounds/leapsAndRebounds.ts +0 -424
  645. package/src/merchants/longevityrx/longevityrx.ts +0 -374
  646. package/src/merchants/lookOptic/lookOptic.ts +0 -323
  647. package/src/merchants/mantraBrand/mantraBrand.ts +0 -844
  648. package/src/merchants/medterra/medterra.ts +0 -673
  649. package/src/merchants/modells/modells.ts +0 -543
  650. package/src/merchants/pressedFloral/pressedFloral.ts +0 -728
  651. package/src/merchants/skinPerfection/skinPerfection.ts +0 -385
  652. package/src/merchants/snapSupplements/snapSupplements.ts +0 -328
  653. package/src/merchants/spanx/spanx.ts +0 -810
  654. package/src/merchants/spanx/spanxStaging.ts +0 -936
  655. package/src/merchants/supergoop/supergoop.ts +0 -375
  656. package/src/merchants/uniqueVintage/uniqueVintage.ts +0 -1314
  657. package/src/merchants/venaCbd/venaCbd.ts +0 -407
  658. package/src/merchants/westonJonBoucher/westonJonBoucher.ts +0 -473
  659. package/src/merchants/wineEnthusiast/wineEnthusiast.ts +0 -990
  660. package/src/merchants/wolfMattress/wolfMattress.ts +0 -411
  661. package/src/merchants/wolfTactical/wolfTactical.ts +0 -383
  662. /package/dist/{atomStore-KSoFS3Jj.cjs → AmplitudeOperations-CNyxbBY6.cjs} +0 -0
  663. /package/dist/{atomStore-CZnUUsrr.js → AmplitudeOperations-Oa2efWtF.js} +0 -0
  664. /package/dist/{locators-fBXS_pxP.js → atomStore-BS6qtYZF.js} +0 -0
  665. /package/dist/{locators-0YYZu9n4.cjs → atomStore-BjRyLFEx.cjs} +0 -0
  666. /package/dist/{utilityTypes-8sETsYPk.js → types-DtTnp0o0.js} +0 -0
  667. /package/dist/{utilityTypes-COShxVir.cjs → types-a8gm_IaQ.cjs} +0 -0
  668. /package/dist/{variantInfo-orXoPBCU.cjs → types.cjs} +0 -0
  669. /package/dist/{variantInfo-DbVxA1yE.js → types.js} +0 -0
  670. /package/src/contexts/{featureFlagServiceContext.tsx → featureFlagServiceContext/featureFlagServiceContext.tsx} +0 -0
  671. /package/src/contexts/{graphqlContext.tsx → graphqlContext/graphqlContext.tsx} +0 -0
  672. /package/src/contexts/{shopifyUrlContext.tsx → shopifyUrlContext/shopifyUrlContext.tsx} +0 -0
  673. /package/src/contexts/{systemSettingsContext.tsx → systemSettingsContext/systemSettingsContext.tsx} +0 -0
  674. /package/src/contexts/{userIdentityContext.tsx → userIdentityContext/userIdentityContext.tsx} +0 -0
  675. /package/src/hooks/{useBlockBackButton.ts → BlockBackButton/useBlockBackButton.ts} +0 -0
  676. /package/src/hooks/{useCustomerSupportHandoff.ts → CustomerSupportHandoff/useCustomerSupportHandoff.ts} +0 -0
  677. /package/src/hooks/{useDebounce.ts → Debounce/useDebounce.ts} +0 -0
  678. /package/src/hooks/{useElementObserver.ts → ElementObserver/useElementObserver.ts} +0 -0
  679. /package/src/hooks/{useGrabAndScroll.ts → GrabAndScroll/useGrabAndScroll.ts} +0 -0
  680. /package/src/hooks/{useImageResolver.ts → ImageResolver/useImageResolver.ts} +0 -0
  681. /package/src/hooks/{useIntersection.ts → Intersection/useIntersection.ts} +0 -0
  682. /package/src/hooks/{useIsSmallScreen.ts → IsSmallScreen/useIsSmallScreen.ts} +0 -0
  683. /package/src/hooks/{useMessageFilter.ts → MessageFilter/useMessageFilter.ts} +0 -0
  684. /package/src/hooks/{useMessageScrollObserver.ts → MessageScrollObserver/useMessageScrollObserver.ts} +0 -0
  685. /package/src/hooks/{useSearchOperations.ts → SearchOperations/useSearchOperations.ts} +0 -0
  686. /package/src/hooks/{useSnapCalculator.ts → SnapCalculator/useSnapCalculator.ts} +0 -0
@@ -1,665 +0,0 @@
1
- import { DOMInsertionType } from "./models-UZ6HszfZ.js";
2
- import { CategoryExtractorType, ColorNames, OrgShortName, PageVariantTestType, WidgetType, colorVar } from "./types--pr1GQQx.js";
3
- import "./graphql-CjB8wHzm.js";
4
- import "./api-DjeZXxl_.js";
5
- import "./utilityTypes-8sETsYPk.js";
6
- import "./variantInfo-DbVxA1yE.js";
7
- import "./enviveConfig-CzhTz8Aa.js";
8
- import "./atomStore-D8pjE1vL.js";
9
- import { CHAT_PREVIEW_TESTID, PROMPT_CARD_TESTID } from "./embedded-BJLWIriJ.js";
10
- import { getCdnAssetURL } from "./cdnUtils-E4tLBt2g.js";
11
- import { CustomerServiceIntegrationMode, CustomerServiceType, defaultOrgUIConfig } from "./default-D6f5Dyt7.js";
12
- import { CHAT_PREVIEW_CONTAINER_ID, PROMPT_CARD_ID } from "./divIds-BUrN2vY-.js";
13
- import { PageVisitCategory } from "@spiffy-ai/commerce-api-client";
14
-
15
- //#region src/merchants/forLoveAndLemons/forLoveAndLemons.ts
16
- const forLoveAndLemonsColors = {
17
- [ColorNames.TextPrimary]: "#111111",
18
- [ColorNames.TextSecondary]: "#A4A4A4",
19
- [ColorNames.TextAccent]: "#000000",
20
- [ColorNames.TextLink]: "#000000",
21
- [ColorNames.TextLight]: "#FFFFFF",
22
- [ColorNames.BackgroundPrimary]: "#000000",
23
- [ColorNames.BackgroundSecondary]: "#FFFFFF",
24
- [ColorNames.BackgroundSecondaryDark]: "#E5E7EB",
25
- [ColorNames.BackgroundTertiary]: "#E5E7EB",
26
- [ColorNames.BackgroundDark]: "#000000",
27
- [ColorNames.BackgroundLight]: "#FFFFFF",
28
- [ColorNames.BackgroundSaturated]: "#EA191D",
29
- [ColorNames.BorderLight]: "#E5E7EB",
30
- [ColorNames.BorderMedium]: "#C7C7C7",
31
- [ColorNames.BorderDark]: "#777777",
32
- [ColorNames.BorderOutline]: "#0A0A0A",
33
- [ColorNames.AccentPrimary]: "#000000",
34
- [ColorNames.AccentSecondary]: "#000000"
35
- };
36
- const forLoveAndLemonsOrgUIConfig = () => {
37
- const defaultForLoveAndLemonsOrgConfig = defaultOrgUIConfig(OrgShortName.ForLoveAndLemons);
38
- return {
39
- ...defaultForLoveAndLemonsOrgConfig,
40
- chatMessageConfig: {
41
- ...defaultForLoveAndLemonsOrgConfig.chatMessageConfig,
42
- assistantChatTitle: "FL&L Personal Shopper",
43
- productLink: {
44
- ...defaultForLoveAndLemonsOrgConfig.chatMessageConfig.productLink,
45
- iconVariant: "borderLight"
46
- }
47
- },
48
- chatHeader: {
49
- ...defaultForLoveAndLemonsOrgConfig.chatHeader,
50
- expandedColor: colorVar(ColorNames.BackgroundLight),
51
- collapsedColor: colorVar(ColorNames.BackgroundLight),
52
- chevronColor: colorVar(ColorNames.BorderLight),
53
- imageSrc: getCdnAssetURL("for-love-and-lemons-logo.svg", OrgShortName.ForLoveAndLemons),
54
- customerSupportSwitchConfig: {
55
- ...defaultForLoveAndLemonsOrgConfig.chatHeader.customerSupportSwitchConfig,
56
- unselectedTextColor: colorVar(ColorNames.TextSecondary),
57
- supportTitle: "Support Team",
58
- spiffyTitle: "Shopping Assistant"
59
- }
60
- },
61
- chatPreviewConfig: { ...defaultForLoveAndLemonsOrgConfig.chatPreviewConfig },
62
- floatingEntrypointConfig: {
63
- ...defaultForLoveAndLemonsOrgConfig.floatingEntrypointConfig,
64
- showOption: "always",
65
- expansionText: {
66
- pdp: "Have questions?",
67
- plp: "Have questions?"
68
- }
69
- },
70
- welcomeSectionConfig: {
71
- ...defaultForLoveAndLemonsOrgConfig.welcomeSectionConfig,
72
- title: "Meet your FL&L Personal Shopper",
73
- 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.",
74
- variant: "outlined",
75
- iconName: void 0
76
- },
77
- customerServiceIntegration: {
78
- integrationMode: CustomerServiceIntegrationMode.simple,
79
- provider: CustomerServiceType.gorgias
80
- },
81
- productReviewConfig: {
82
- ...defaultForLoveAndLemonsOrgConfig.productReviewConfig,
83
- styleVariant: "bordered"
84
- },
85
- floatingChatConfig: {
86
- ...defaultForLoveAndLemonsOrgConfig.floatingChatConfig,
87
- replyInputConfig: {
88
- ...defaultForLoveAndLemonsOrgConfig.floatingChatConfig.replyInputConfig,
89
- sendIcon: "arrowUp"
90
- },
91
- suggestionButtonConfig: {
92
- variant: "transparentDark",
93
- hoverVariant: "secondaryDark",
94
- answerVariant: "transparentDark"
95
- }
96
- },
97
- merchantVariantSettings: { dynamicVariants: {
98
- enabled: true,
99
- refreshInterval: 500
100
- } },
101
- merchantOverrideCss: `
102
- .spiffy-button-base-button {
103
- height: 32px;
104
- min-height: 32px;
105
- }
106
-
107
- .spiffy-button-base-button-text {
108
- font-size: 12px;
109
- }
110
-
111
- .spiffy-suggestion-button-question-class {
112
- border: 1px solid ${colorVar(ColorNames.BorderLight)} !important;
113
- border-radius: 4px;
114
- }
115
-
116
- #spiffy-ai-chat-preview {
117
- margin-top: 12px;
118
- }
119
-
120
- .spiffy-image-prompt-card {
121
- font-family: var(--font-main);
122
- }
123
-
124
- .spiffy-image-prompt-card .spiffy-title {
125
- font-family: var(--font-serif);
126
- }
127
-
128
- .spiffy-single-image-prompt {
129
- font-family: var(--font-main);
130
- .spiffy-user-query-button {
131
- border-color: var(--spiffy-colors-border-light);
132
- }
133
- }
134
-
135
- @media (max-width: 768px) {
136
- #spiffy-ai-prompt-card {
137
- aspect-ratio: auto;
138
- height: 358px;
139
- grid-column: 1 / span 2;
140
- }
141
- }
142
-
143
- .spiffy-button-block .spiffy-user-query-button {
144
- font-size: 10px;
145
- height: 32px;
146
- }
147
-
148
- .spiffy-single-image-prompt {
149
- font-family: var(--font-main);
150
- .spiffy-title {
151
- font-family: var(--font-serif);
152
- }
153
- }
154
-
155
- @media (max-width: 768px) {
156
- .spiffy-single-image-prompt {
157
- padding-left: 12px;
158
- padding-right: 12px;
159
- }
160
- }
161
-
162
- @media (min-width: 768px) {
163
- #spiffy-ai-chat-preview {
164
- margin-top: 28px;
165
- margin-bottom: -42px;
166
- }
167
- .spiffy-single-image-prompt {
168
- .spiffy-title {
169
- padding-left: 40px;
170
- font-size: 40px;
171
- }
172
- .spiffy-suggestion-bar {
173
- padding-left: 80px;
174
- flex-direction: row;
175
- }
176
- .spiffy-single-image-prompt-block {
177
- margin-top: 16px;
178
- }
179
- .spiffy-button-block {
180
- flex-direction: row;
181
- width: 100%;
182
- justify-content: space-between;
183
- }
184
- .spiffy-footer-container {
185
- min-width: 33.33%;
186
- width: 33.33%;
187
- padding-left: 24px;
188
- padding-right: 24px;
189
- margin-top: 0px;
190
- @media (min-width: 1280px) {
191
- padding-left: 54px;
192
- padding-right: 54px;
193
- }
194
- @media (min-width: 1536px) {
195
- padding-left: 81px;
196
- padding-right: 81px;
197
- }
198
- }
199
- .spiffy-user-query-button {
200
- margin-top: 0px;
201
- }
202
- .spiffy-product-image {
203
- display: none;
204
- }
205
- }
206
- }
207
-
208
- .spiffy-product-card-title {
209
- font-family: var(--chakra-fonts-heading);
210
- }
211
-
212
- .spiffy-switch-to-agent-button-unselected-text-color {
213
- color: var(--spiffy-colors-text-secondary);
214
- }
215
-
216
- .spiffy-chat-header-container {
217
- background-color: var(--spiffy-colors-background-light);
218
- }
219
- `
220
- };
221
- };
222
- const forLoveAndLemonsPageConfig = () => ({
223
- pageVariants: [
224
- {
225
- variantId: "plpTopCategories",
226
- variantType: "plp",
227
- variantTests: [{ testType: PageVariantTestType.ShopifyPLP }],
228
- plpIdExtractor: "shopify-collection-id",
229
- widgetMounting: [{
230
- mountingConfigId: "imagePromptCardPLP",
231
- mountingPointWidgets: [
232
- {
233
- tests: [{
234
- testType: PageVariantTestType.TopCatalogCategory,
235
- topCategory: ["dresses"]
236
- }],
237
- widgetConfigId: "imagePromptCardDresses"
238
- },
239
- {
240
- tests: [{
241
- testType: PageVariantTestType.TopCatalogCategory,
242
- topCategory: ["tops"]
243
- }],
244
- widgetConfigId: "imagePromptCardTops"
245
- },
246
- {
247
- tests: [{
248
- testType: PageVariantTestType.TopCatalogCategory,
249
- topCategory: ["bottoms"]
250
- }],
251
- widgetConfigId: "imagePromptCardBottoms"
252
- },
253
- {
254
- tests: [{
255
- testType: PageVariantTestType.TopCatalogCategory,
256
- topCategory: ["sweaters", "knitwear"]
257
- }],
258
- widgetConfigId: "imagePromptCardKnitwear"
259
- },
260
- {
261
- tests: [{
262
- testType: PageVariantTestType.TopCatalogCategory,
263
- topCategory: ["swim", "swimwear"]
264
- }],
265
- widgetConfigId: "imagePromptCardSwim"
266
- },
267
- {
268
- tests: [{
269
- testType: PageVariantTestType.TopCatalogCategory,
270
- topCategory: ["lingerie", "panties"]
271
- }],
272
- widgetConfigId: "imagePromptCardLingerie"
273
- },
274
- {
275
- tests: [{
276
- testType: PageVariantTestType.TopCatalogCategory,
277
- topCategory: ["wedding-honeymoon"]
278
- }],
279
- widgetConfigId: "imagePromptCardBridal"
280
- },
281
- {
282
- tests: [{
283
- testType: PageVariantTestType.TopCatalogCategory,
284
- topCategory: ["for-love-and-lemons-essentials", "essentials"]
285
- }],
286
- widgetConfigId: "imagePromptCardEssentials"
287
- },
288
- {
289
- tests: [{
290
- testType: PageVariantTestType.TopCatalogCategory,
291
- topCategory: ["accessories"]
292
- }],
293
- widgetConfigId: "imagePromptCardAccessories"
294
- },
295
- {
296
- tests: [],
297
- widgetConfigId: "imagePromptCard"
298
- }
299
- ]
300
- }]
301
- },
302
- {
303
- variantId: "plp",
304
- variantType: "plp",
305
- variantTests: [{ testType: PageVariantTestType.ShopifyPLP }],
306
- plpIdExtractor: "shopify-collection-id",
307
- widgetMounting: [{
308
- mountingConfigId: "imagePromptCardPLP",
309
- widgetConfigId: "imagePromptCard"
310
- }]
311
- },
312
- {
313
- variantId: "pdp",
314
- variantType: "pdp",
315
- variantTests: [{ testType: PageVariantTestType.ShopifyPDP }],
316
- productIdExtractor: "shopify-product-id",
317
- widgetMounting: [{
318
- mountingConfigId: "singleImagePromptPDP",
319
- widgetConfigId: "singleImagePrompt"
320
- }]
321
- },
322
- {
323
- variantId: "home",
324
- variantType: "page_visit",
325
- variantTests: [{
326
- testType: PageVariantTestType.PageCategory,
327
- extractor: {
328
- type: CategoryExtractorType.VisitCategoryMap,
329
- map: { [PageVisitCategory.Homepage]: ["/"] }
330
- }
331
- }],
332
- widgetMounting: []
333
- },
334
- {
335
- variantId: "other",
336
- variantType: "page_visit",
337
- variantTests: [{
338
- testType: PageVariantTestType.PageCategory,
339
- extractor: {
340
- type: CategoryExtractorType.VisitCategoryDefault,
341
- value: PageVisitCategory.Other
342
- }
343
- }],
344
- widgetMounting: []
345
- }
346
- ],
347
- widgetConfigs: {
348
- imagePromptCard: {
349
- widgetConfigId: "imagePromptCard",
350
- type: WidgetType.ImagePromptCard,
351
- url: getCdnAssetURL("11_250314_FLL_PORTUGAL_CABIN_004_1_300x.jpg?v=1748977560", OrgShortName.ForLoveAndLemons),
352
- lightText: true,
353
- title: "Let's find your dream outfit",
354
- subtitle: [
355
- "A dreamy slip dress you can wear in and out of the house?",
356
- "A sultry little black dress for date night?",
357
- "Lingerie sets you can gift the bride?",
358
- "A chic yet comfortable look you can wear to the office?",
359
- "A pretty corset you can wear to a music festival?",
360
- "A chic yet comfortable look you can wear to the office?",
361
- "A sweeping satin gown for a friend's wedding?",
362
- "A floral midi dress for brunch with friends?",
363
- "A timeless lace dress for special occasions?"
364
- ],
365
- staticSuggestionCopies: [
366
- "Little Black Dresses",
367
- "Matching Co-Ord Sets",
368
- "Cozy Spring Layers",
369
- "Romantic Lingerie for Date Night",
370
- "Chic Wedding Guest Dresses",
371
- "Bachelorette Mini Dresses"
372
- ],
373
- userQueryButtonConfig: {
374
- variant: "underlineLight",
375
- placeholderText: "Need something special?",
376
- icon: "sendArrow"
377
- }
378
- },
379
- imagePromptCardDresses: {
380
- widgetConfigId: "imagePromptCardDresses",
381
- type: WidgetType.ImagePromptCard,
382
- url: getCdnAssetURL("18-05_250506_FLL_SAILOR_MARSEILLE_032_v2_300x.jpg?v=1752606888", OrgShortName.ForLoveAndLemons),
383
- lightText: true,
384
- title: "Let's find your dream outfit",
385
- subtitle: [
386
- "A dress you can wear from your desk to dinner date?",
387
- "An ultra-chic party dress for that upcoming soirée?",
388
- "A timeless dress you can wear again and again?",
389
- "A dress designed with vintage references?",
390
- "A casual dress you can throw on and go?"
391
- ],
392
- staticSuggestionCopies: [
393
- "Little Black Dresses",
394
- "Cocktail Dresses for Weddings",
395
- "Feminine Midi Dresses",
396
- "Floral Mini Dresses",
397
- "Dresses for Date Night"
398
- ],
399
- userQueryButtonConfig: {
400
- variant: "underlineLight",
401
- placeholderText: "Need something special?",
402
- icon: "sendArrow"
403
- }
404
- },
405
- imagePromptCardTops: {
406
- widgetConfigId: "imagePromptCardTops",
407
- type: WidgetType.ImagePromptCard,
408
- url: getCdnAssetURL("41-11_250506_FLL_SAILOR_MARSEILLE_176_v2_4c4cd814-1a75-409d-916f-1e3c6cae5164_300x.jpg?v=1752607430", OrgShortName.ForLoveAndLemons),
409
- lightText: true,
410
- title: "Let's find your dream outfit",
411
- subtitle: [
412
- "A throw-on-and-go top for everyday?",
413
- "Tops to pair with your favorite vintage jeans?",
414
- "A romantic top you can wear to date night?",
415
- "Tops that transition between seasons?",
416
- "Tops for your upcoming getaway?"
417
- ],
418
- staticSuggestionCopies: [
419
- "Flirty Crop Tops",
420
- "Whimsical Blouses",
421
- "Tops With Matching Bottoms",
422
- "Chic Going Out Tops",
423
- "Day to Date Night Tops"
424
- ],
425
- userQueryButtonConfig: {
426
- variant: "underlineLight",
427
- placeholderText: "Need something special?",
428
- icon: "sendArrow"
429
- }
430
- },
431
- imagePromptCardBottoms: {
432
- widgetConfigId: "imagePromptCardBottoms",
433
- type: WidgetType.ImagePromptCard,
434
- url: getCdnAssetURL("38-11_250506_FLL_SAILOR_MARSEILLE_098_v2_ebdc3602-8454-4059-8099-a514d5993657_300x.jpg?v=1752607400", OrgShortName.ForLoveAndLemons),
435
- lightText: true,
436
- title: "Let's find your dream outfit",
437
- subtitle: [
438
- "Chic and casual bottoms you can wear everyday?",
439
- "Skirts you can mix and match with your favorite tops?",
440
- "Smart pants for a chic, offbeat party look?",
441
- "Mini skirts that transition between seasons?",
442
- "Shorts you can style with matching tops and jackets?"
443
- ],
444
- staticSuggestionCopies: [
445
- "Romantic Maxi Skirts",
446
- "Vintage-Inspired Mini Skirts",
447
- "Ultra-Chic Capri Pants",
448
- "Casual Shorts for Everyday",
449
- "Lingerie-Inspired Slip Skirts"
450
- ],
451
- userQueryButtonConfig: {
452
- variant: "underlineLight",
453
- placeholderText: "Need something special?",
454
- icon: "sendArrow"
455
- }
456
- },
457
- imagePromptCardKnitwear: {
458
- widgetConfigId: "imagePromptCardKnitwear",
459
- type: WidgetType.ImagePromptCard,
460
- url: getCdnAssetURL("2-13_250506_FLL_SAILOR_MARSEILLE_015_v2_2315ca29-7e6f-45eb-8a2d-ebacae8b909c_300x.jpg?v=1752607285", OrgShortName.ForLoveAndLemons),
461
- lightText: true,
462
- title: "Let's find your dream outfit",
463
- subtitle: [
464
- "A chic cardigan to wear to your next dinner date?",
465
- "An oversized knit for serene days at home?",
466
- "A cropped knit you can pair with a matching mini skirt?",
467
- "A timeless knit mini dress for stylish rendezvous?",
468
- "Knit jackets for when the temperature drops?"
469
- ],
470
- staticSuggestionCopies: [
471
- "Cozy Oversized Sweaters",
472
- "Feminine Cardis for Date Night",
473
- "Matching Knit Co-Ord Sets",
474
- "Timeless Knit Mini Dresses",
475
- "Chic Knit Jackets"
476
- ],
477
- userQueryButtonConfig: {
478
- variant: "underlineLight",
479
- placeholderText: "Need something special?",
480
- icon: "sendArrow"
481
- }
482
- },
483
- imagePromptCardSwim: {
484
- widgetConfigId: "imagePromptCardSwim",
485
- type: WidgetType.ImagePromptCard,
486
- url: getCdnAssetURL("15-20250213_FORLOVEANDLEMONS_SHOT_04_148_eefe62bf-b290-46bc-ae99-8e876ef04ba1_300x.jpg?v=1749575070", OrgShortName.ForLoveAndLemons),
487
- lightText: true,
488
- title: "Let's find your dream outfit",
489
- subtitle: [
490
- "A one-piece bathing suit for a chic poolside look?",
491
- "A tiny bikini for maximum sun-bathing potential?",
492
- "High-waisted swim bottoms with vintage appeal?",
493
- "Cover-ups that bring romance to the beach",
494
- "Hats and hair accessories you can pair with your favorite bikini?"
495
- ],
496
- staticSuggestionCopies: [
497
- "Retro Bathing Suits",
498
- "Summer-Ready Thong Bikinis",
499
- "Romantic Crochet Cover-Ups",
500
- "Beach-Ready Accessories",
501
- "Gingham Bikinis"
502
- ],
503
- userQueryButtonConfig: {
504
- variant: "underlineLight",
505
- placeholderText: "Need something special?",
506
- icon: "sendArrow"
507
- }
508
- },
509
- imagePromptCardLingerie: {
510
- widgetConfigId: "imagePromptCardLingerie",
511
- type: WidgetType.ImagePromptCard,
512
- url: getCdnAssetURL("13-20_250506_FLL_SAILOR_MARSEILLE_134_v2_1647eaec-6fd4-48eb-8b60-febacb8cc0a7_300x.jpg?v=1752607529-", OrgShortName.ForLoveAndLemons),
513
- lightText: true,
514
- title: "Let's find your dream outfit",
515
- subtitle: [
516
- "Comfortable lingerie you can include in your everyday rotation?",
517
- "Sexy lingerie for date night?",
518
- "Babydoll dresses you can wear in the bedroom and beyond?",
519
- "Slip dresses with maximum vintage appeal?",
520
- "A bridal lingerie set for the first night of your happily ever after?"
521
- ],
522
- staticSuggestionCopies: [
523
- "Sexy and Sweet PJ Sets",
524
- "3-Piece Lingerie Sets",
525
- "Panty Sets for Everyday",
526
- "Vintage-Inspired Slip Dresses",
527
- "Romantic Bridal Lingerie"
528
- ],
529
- userQueryButtonConfig: {
530
- variant: "underlineLight",
531
- placeholderText: "Need something special?",
532
- icon: "sendArrow"
533
- }
534
- },
535
- imagePromptCardBridal: {
536
- widgetConfigId: "imagePromptCardBridal",
537
- type: WidgetType.ImagePromptCard,
538
- url: getCdnAssetURL("240806_BC_FLL_24_BRIDAL_CAMPAIGN_LOOK_12_0003_V1_300x.jpg?v=1748977674", OrgShortName.ForLoveAndLemons),
539
- lightText: true,
540
- title: "Let's find your dream outfit",
541
- subtitle: [
542
- "Bridal dresses for the moments around your big day?",
543
- "A gown for your bridal reception?",
544
- "Whimsical accessories to pair with your bridal looks?",
545
- "Lingerie to gift the bride at her bachelorette?",
546
- `Outfits to wear to your friend's upcoming wedding?`
547
- ],
548
- staticSuggestionCopies: [
549
- "Gowns for Your Reception",
550
- "Romantic Bridal Veils",
551
- "Bachelorette Gifts for the Bride",
552
- "Wedding Guest Dresses",
553
- "Chic Honeymoon Outfits"
554
- ],
555
- userQueryButtonConfig: {
556
- variant: "underlineLight",
557
- placeholderText: "Need something special?",
558
- icon: "sendArrow"
559
- }
560
- },
561
- imagePromptCardEssentials: {
562
- widgetConfigId: "imagePromptCardEssentials",
563
- type: WidgetType.ImagePromptCard,
564
- url: getCdnAssetURL("40-240814_BC_FLL_SP25_ESSENTIALS_AT0049_ABOO65_YELLOW_AT0049_AB0064_CAMEL_0154_300x.jpg?v=1745526297", OrgShortName.ForLoveAndLemons),
565
- lightText: true,
566
- title: "Let's find your dream outfit",
567
- subtitle: [
568
- "Chic Essentials you can lounge in?",
569
- "Chic and comfortable dresses to you can wear to the office?",
570
- "Sports-inspired co-ord sets for everyday?",
571
- "Statement knitwear you can throw-on-and-go?",
572
- `A casual jacket you'll wear on repeat?`
573
- ],
574
- staticSuggestionCopies: [
575
- "Silky Cupro Basics",
576
- "Crisp Co-Ord Sets",
577
- "Jersey Dresses for the Office",
578
- "Casual Knitwear",
579
- "Everyday Jackets"
580
- ],
581
- userQueryButtonConfig: {
582
- variant: "underlineLight",
583
- placeholderText: "Need something special?",
584
- icon: "sendArrow"
585
- }
586
- },
587
- imagePromptCardAccessories: {
588
- widgetConfigId: "imagePromptCardAccessories",
589
- type: WidgetType.ImagePromptCard,
590
- url: getCdnAssetURL("42-11_250506_FLL_SAILOR_MARSEILLE_226_v2_cf7365b7-3944-4c29-b6ed-ce4f136a48fc_300x.jpg?v=1752607080", OrgShortName.ForLoveAndLemons),
591
- lightText: true,
592
- title: "Let's find your dream outfit",
593
- subtitle: [
594
- "Headscarves to co-ordinate with your favorite FL&L look?",
595
- "Open-toe mules for an upcoming wedding?",
596
- "Vintage-inspired earrings to style with your favorite dresses?",
597
- "Bags you can wear all day everyday?",
598
- "Unique body jewelry you can wear to the festival?"
599
- ],
600
- staticSuggestionCopies: [
601
- "Summer-Ready Mules",
602
- "Romantic Hair Accessories",
603
- "Statement-Making Earrings",
604
- "Everyday Bags",
605
- "Glimmering Body Jewelry"
606
- ],
607
- userQueryButtonConfig: {
608
- variant: "underlineLight",
609
- placeholderText: "Need something special?",
610
- icon: "sendArrow"
611
- }
612
- },
613
- singleImagePrompt: {
614
- widgetConfigId: "singleImagePrompt",
615
- type: WidgetType.SingleImagePrompt,
616
- title: "How to wear it",
617
- staticSuggestionCopies: [
618
- "How can I dress this up for an event?",
619
- "Can I wear this in different seasons?",
620
- "Do you have shoes that match with this?",
621
- "Can you give me layering ideas?",
622
- "What's the best bra to wear under this?"
623
- ],
624
- userQueryButtonConfig: {
625
- variant: "underlineDark",
626
- placeholderText: "Tell me your styling questions",
627
- icon: "sendArrow"
628
- }
629
- }
630
- },
631
- mountingConfigs: {
632
- imagePromptCardPLP: {
633
- mountingConfigId: "imagePromptCardPLP",
634
- containerId: PROMPT_CARD_ID,
635
- testId: PROMPT_CARD_TESTID,
636
- insertionPoint: {
637
- selector: `#${PROMPT_CARD_ID}`,
638
- insertionType: DOMInsertionType.NONE
639
- }
640
- },
641
- singleImagePromptPDP: {
642
- mountingConfigId: "singleImagePromptPDP",
643
- containerId: CHAT_PREVIEW_CONTAINER_ID,
644
- testId: CHAT_PREVIEW_TESTID,
645
- insertionPoint: {
646
- selector: `#${CHAT_PREVIEW_CONTAINER_ID}`,
647
- insertionType: DOMInsertionType.NONE
648
- }
649
- }
650
- }
651
- });
652
- const forLoveAndLemonsOrgInfo = {
653
- shortName: OrgShortName.ForLoveAndLemons,
654
- name: "For Love And Lemons",
655
- domain: "forloveandlemons.com",
656
- defaultProductId: "adira-mini-dress-red",
657
- alwaysEnabledMerchants: true,
658
- orgUIConfig: forLoveAndLemonsOrgUIConfig,
659
- orgColors: () => forLoveAndLemonsColors,
660
- orgPageConfig: forLoveAndLemonsPageConfig
661
- };
662
-
663
- //#endregion
664
- export { forLoveAndLemonsOrgInfo };
665
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZm9yTG92ZUFuZExlbW9ucy1EcVNkeUQ2Uy5qcyIsIm5hbWVzIjpbImZvckxvdmVBbmRMZW1vbnNDb2xvcnM6IENvbG9yTWFwcGluZyJdLCJzb3VyY2VzIjpbIi4uL3NyYy9tZXJjaGFudHMvZm9yTG92ZUFuZExlbW9ucy9mb3JMb3ZlQW5kTGVtb25zLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFBhZ2VWaXNpdENhdGVnb3J5IH0gZnJvbSBcIkBzcGlmZnktYWkvY29tbWVyY2UtYXBpLWNsaWVudFwiO1xuaW1wb3J0IHtcbiAgQ0hBVF9QUkVWSUVXX1RFU1RJRCxcbiAgUFJPTVBUX0NBUkRfVEVTVElELFxufSBmcm9tIFwic3JjL2NvbmZpZy9sb2NhdG9ycy9lbWJlZGRlZFwiO1xuaW1wb3J0IHsgQmFzaWNPcmdJbmZvVHlwZSwgT3JnU2hvcnROYW1lIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHNcIjtcbmltcG9ydCB7IGdldENkbkFzc2V0VVJMIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi91dGlscy9jZG5VdGlsc1wiO1xuaW1wb3J0IHtcbiAgQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb25Nb2RlLFxuICBDdXN0b21lclNlcnZpY2VUeXBlLFxufSBmcm9tIFwic3JjL3R5cGVzL2N1c3RvbWVyU2VydmljZVwiO1xuaW1wb3J0IHsgRE9NSW5zZXJ0aW9uVHlwZSB9IGZyb20gXCJzcmMvbWVyY2hhbnRzL2RvbUluc2VydGlvblwiO1xuaW1wb3J0IHsgQ0hBVF9QUkVWSUVXX0NPTlRBSU5FUl9JRCwgUFJPTVBUX0NBUkRfSUQgfSBmcm9tIFwic3JjL2NvbmZpZy9kaXZJZHNcIjtcbmltcG9ydCB7IGRlZmF1bHRPcmdVSUNvbmZpZyB9IGZyb20gXCJzcmMvbWVyY2hhbnRzL2RlZmF1bHRcIjtcbmltcG9ydCB7XG4gIENvbG9yTWFwcGluZyxcbiAgQ29sb3JOYW1lcyxcbiAgY29sb3JWYXIsXG4gIE9yZ1BhZ2VDb25maWcsXG4gIE9yZ1VJQ29uZmlnLFxuICBXaWRnZXRUeXBlLFxuICBQYWdlVmFyaWFudFRlc3RUeXBlLFxuICBJbWFnZVByb21wdFdpZGdldENvbmZpZyxcbiAgU2luZ2xlSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcsXG4gIENhdGVnb3J5RXh0cmFjdG9yVHlwZSxcbn0gZnJvbSBcInNyYy9jb250ZXh0cy90eXBlc1wiO1xuXG5jb25zdCBmb3JMb3ZlQW5kTGVtb25zQ29sb3JzOiBDb2xvck1hcHBpbmcgPSB7XG4gIFtDb2xvck5hbWVzLlRleHRQcmltYXJ5XTogXCIjMTExMTExXCIsXG4gIFtDb2xvck5hbWVzLlRleHRTZWNvbmRhcnldOiBcIiNBNEE0QTRcIixcbiAgW0NvbG9yTmFtZXMuVGV4dEFjY2VudF06IFwiIzAwMDAwMFwiLFxuICBbQ29sb3JOYW1lcy5UZXh0TGlua106IFwiIzAwMDAwMFwiLFxuICBbQ29sb3JOYW1lcy5UZXh0TGlnaHRdOiBcIiNGRkZGRkZcIixcbiAgW0NvbG9yTmFtZXMuQmFja2dyb3VuZFByaW1hcnldOiBcIiMwMDAwMDBcIixcbiAgW0NvbG9yTmFtZXMuQmFja2dyb3VuZFNlY29uZGFyeV06IFwiI0ZGRkZGRlwiLFxuICBbQ29sb3JOYW1lcy5CYWNrZ3JvdW5kU2Vjb25kYXJ5RGFya106IFwiI0U1RTdFQlwiLFxuICBbQ29sb3JOYW1lcy5CYWNrZ3JvdW5kVGVydGlhcnldOiBcIiNFNUU3RUJcIixcbiAgW0NvbG9yTmFtZXMuQmFja2dyb3VuZERhcmtdOiBcIiMwMDAwMDBcIixcbiAgW0NvbG9yTmFtZXMuQmFja2dyb3VuZExpZ2h0XTogXCIjRkZGRkZGXCIsXG4gIFtDb2xvck5hbWVzLkJhY2tncm91bmRTYXR1cmF0ZWRdOiBcIiNFQTE5MURcIiwgLy8gV2hhdCBpcyB0aGlzP1xuICBbQ29sb3JOYW1lcy5Cb3JkZXJMaWdodF06IFwiI0U1RTdFQlwiLFxuICBbQ29sb3JOYW1lcy5Cb3JkZXJNZWRpdW1dOiBcIiNDN0M3QzdcIixcbiAgW0NvbG9yTmFtZXMuQm9yZGVyRGFya106IFwiIzc3Nzc3N1wiLFxuICBbQ29sb3JOYW1lcy5Cb3JkZXJPdXRsaW5lXTogXCIjMEEwQTBBXCIsXG4gIFtDb2xvck5hbWVzLkFjY2VudFByaW1hcnldOiBcIiMwMDAwMDBcIixcbiAgW0NvbG9yTmFtZXMuQWNjZW50U2Vjb25kYXJ5XTogXCIjMDAwMDAwXCIsXG59O1xuXG5jb25zdCBmb3JMb3ZlQW5kTGVtb25zT3JnVUlDb25maWcgPSAoKTogT3JnVUlDb25maWcgPT4ge1xuICBjb25zdCBkZWZhdWx0Rm9yTG92ZUFuZExlbW9uc09yZ0NvbmZpZyA9IGRlZmF1bHRPcmdVSUNvbmZpZyhcbiAgICBPcmdTaG9ydE5hbWUuRm9yTG92ZUFuZExlbW9uc1xuICApO1xuXG4gIHJldHVybiB7XG4gICAgLi4uZGVmYXVsdEZvckxvdmVBbmRMZW1vbnNPcmdDb25maWcsXG4gICAgY2hhdE1lc3NhZ2VDb25maWc6IHtcbiAgICAgIC4uLmRlZmF1bHRGb3JMb3ZlQW5kTGVtb25zT3JnQ29uZmlnLmNoYXRNZXNzYWdlQ29uZmlnLFxuICAgICAgYXNzaXN0YW50Q2hhdFRpdGxlOiBcIkZMJkwgUGVyc29uYWwgU2hvcHBlclwiLFxuICAgICAgcHJvZHVjdExpbms6IHtcbiAgICAgICAgLi4uZGVmYXVsdEZvckxvdmVBbmRMZW1vbnNPcmdDb25maWcuY2hhdE1lc3NhZ2VDb25maWcucHJvZHVjdExpbmssXG4gICAgICAgIGljb25WYXJpYW50OiBcImJvcmRlckxpZ2h0XCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAgY2hhdEhlYWRlcjoge1xuICAgICAgLi4uZGVmYXVsdEZvckxvdmVBbmRMZW1vbnNPcmdDb25maWcuY2hhdEhlYWRlcixcbiAgICAgIGV4cGFuZGVkQ29sb3I6IGNvbG9yVmFyKENvbG9yTmFtZXMuQmFja2dyb3VuZExpZ2h0KSxcbiAgICAgIGNvbGxhcHNlZENvbG9yOiBjb2xvclZhcihDb2xvck5hbWVzLkJhY2tncm91bmRMaWdodCksXG4gICAgICBjaGV2cm9uQ29sb3I6IGNvbG9yVmFyKENvbG9yTmFtZXMuQm9yZGVyTGlnaHQpLFxuICAgICAgaW1hZ2VTcmM6IGdldENkbkFzc2V0VVJMKFxuICAgICAgICBcImZvci1sb3ZlLWFuZC1sZW1vbnMtbG9nby5zdmdcIixcbiAgICAgICAgT3JnU2hvcnROYW1lLkZvckxvdmVBbmRMZW1vbnNcbiAgICAgICksXG4gICAgICBjdXN0b21lclN1cHBvcnRTd2l0Y2hDb25maWc6IHtcbiAgICAgICAgLi4uZGVmYXVsdEZvckxvdmVBbmRMZW1vbnNPcmdDb25maWcuY2hhdEhlYWRlclxuICAgICAgICAgIC5jdXN0b21lclN1cHBvcnRTd2l0Y2hDb25maWchLFxuICAgICAgICB1bnNlbGVjdGVkVGV4dENvbG9yOiBjb2xvclZhcihDb2xvck5hbWVzLlRleHRTZWNvbmRhcnkpLFxuICAgICAgICBzdXBwb3J0VGl0bGU6IFwiU3VwcG9ydCBUZWFtXCIsXG4gICAgICAgIHNwaWZmeVRpdGxlOiBcIlNob3BwaW5nIEFzc2lzdGFudFwiLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGNoYXRQcmV2aWV3Q29uZmlnOiB7XG4gICAgICAuLi5kZWZhdWx0Rm9yTG92ZUFuZExlbW9uc09yZ0NvbmZpZy5jaGF0UHJldmlld0NvbmZpZyEsXG4gICAgfSxcbiAgICBmbG9hdGluZ0VudHJ5cG9pbnRDb25maWc6IHtcbiAgICAgIC4uLmRlZmF1bHRGb3JMb3ZlQW5kTGVtb25zT3JnQ29uZmlnLmZsb2F0aW5nRW50cnlwb2ludENvbmZpZyEsXG4gICAgICBzaG93T3B0aW9uOiBcImFsd2F5c1wiLFxuICAgICAgZXhwYW5zaW9uVGV4dDoge1xuICAgICAgICBwZHA6IFwiSGF2ZSBxdWVzdGlvbnM/XCIsXG4gICAgICAgIHBscDogXCJIYXZlIHF1ZXN0aW9ucz9cIixcbiAgICAgIH0sXG4gICAgfSxcbiAgICB3ZWxjb21lU2VjdGlvbkNvbmZpZzoge1xuICAgICAgLi4uZGVmYXVsdEZvckxvdmVBbmRMZW1vbnNPcmdDb25maWcud2VsY29tZVNlY3Rpb25Db25maWchLFxuICAgICAgdGl0bGU6IFwiTWVldCB5b3VyIEZMJkwgUGVyc29uYWwgU2hvcHBlclwiLFxuICAgICAgc3VidGl0bGU6XG4gICAgICAgIFwiRnJvbSBmaW5kaW5nIHRoZSBwZXJmZWN0IG91dGZpdCBmb3IgYW55IG9jY2FzaW9uIHRvIHN0eWxpbmcgeW91ciBkcmVhbSBsb29rIGZyb20gaGVhZC10by10b2UsIG91ciBBSS1wb3dlcmVkIHBlcnNvbmFsIHNob3BwZXIgaXMgaGVyZSB0byBtYWtlIHlvdXIgc2hvcHBpbmcgZXhwZXJpZW5jZSBlZmZvcnRsZXNzLlwiLFxuICAgICAgdmFyaWFudDogXCJvdXRsaW5lZFwiLFxuICAgICAgaWNvbk5hbWU6IHVuZGVmaW5lZCxcbiAgICB9LFxuICAgIGN1c3RvbWVyU2VydmljZUludGVncmF0aW9uOiB7XG4gICAgICBpbnRlZ3JhdGlvbk1vZGU6IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZS5zaW1wbGUsXG4gICAgICBwcm92aWRlcjogQ3VzdG9tZXJTZXJ2aWNlVHlwZS5nb3JnaWFzLFxuICAgIH0sXG4gICAgcHJvZHVjdFJldmlld0NvbmZpZzoge1xuICAgICAgLi4uZGVmYXVsdEZvckxvdmVBbmRMZW1vbnNPcmdDb25maWcucHJvZHVjdFJldmlld0NvbmZpZyEsXG4gICAgICBzdHlsZVZhcmlhbnQ6IFwiYm9yZGVyZWRcIixcbiAgICB9LFxuICAgIGZsb2F0aW5nQ2hhdENvbmZpZzoge1xuICAgICAgLi4uZGVmYXVsdEZvckxvdmVBbmRMZW1vbnNPcmdDb25maWcuZmxvYXRpbmdDaGF0Q29uZmlnISxcbiAgICAgIHJlcGx5SW5wdXRDb25maWc6IHtcbiAgICAgICAgLi4uZGVmYXVsdEZvckxvdmVBbmRMZW1vbnNPcmdDb25maWcuZmxvYXRpbmdDaGF0Q29uZmlnXG4gICAgICAgICAgLnJlcGx5SW5wdXRDb25maWchLFxuICAgICAgICBzZW5kSWNvbjogXCJhcnJvd1VwXCIsXG4gICAgICB9LFxuICAgICAgc3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZzoge1xuICAgICAgICB2YXJpYW50OiBcInRyYW5zcGFyZW50RGFya1wiLFxuICAgICAgICBob3ZlclZhcmlhbnQ6IFwic2Vjb25kYXJ5RGFya1wiLFxuICAgICAgICBhbnN3ZXJWYXJpYW50OiBcInRyYW5zcGFyZW50RGFya1wiLFxuICAgICAgfSxcbiAgICB9LFxuICAgIG1lcmNoYW50VmFyaWFudFNldHRpbmdzOiB7XG4gICAgICBkeW5hbWljVmFyaWFudHM6IHtcbiAgICAgICAgZW5hYmxlZDogdHJ1ZSxcbiAgICAgICAgcmVmcmVzaEludGVydmFsOiA1MDAsXG4gICAgICB9LFxuICAgIH0sXG4gICAgbWVyY2hhbnRPdmVycmlkZUNzczogYFxuICAgICAgLnNwaWZmeS1idXR0b24tYmFzZS1idXR0b24ge1xuICAgICAgICBoZWlnaHQ6IDMycHg7XG4gICAgICAgIG1pbi1oZWlnaHQ6IDMycHg7XG4gICAgICB9XG5cbiAgICAgIC5zcGlmZnktYnV0dG9uLWJhc2UtYnV0dG9uLXRleHQge1xuICAgICAgICBmb250LXNpemU6IDEycHg7XG4gICAgICB9XG5cbiAgICAgIC5zcGlmZnktc3VnZ2VzdGlvbi1idXR0b24tcXVlc3Rpb24tY2xhc3Mge1xuICAgICAgICBib3JkZXI6IDFweCBzb2xpZCAke2NvbG9yVmFyKENvbG9yTmFtZXMuQm9yZGVyTGlnaHQpfSAhaW1wb3J0YW50O1xuICAgICAgICBib3JkZXItcmFkaXVzOiA0cHg7XG4gICAgICB9XG5cbiAgICAgICNzcGlmZnktYWktY2hhdC1wcmV2aWV3IHtcbiAgICAgICAgbWFyZ2luLXRvcDogMTJweDtcbiAgICAgIH1cblxuICAgICAgLnNwaWZmeS1pbWFnZS1wcm9tcHQtY2FyZCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1haW4pO1xuICAgICAgfVxuXG4gICAgICAuc3BpZmZ5LWltYWdlLXByb21wdC1jYXJkIC5zcGlmZnktdGl0bGUge1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1zZXJpZik7XG4gICAgICB9XG5cbiAgICAgIC5zcGlmZnktc2luZ2xlLWltYWdlLXByb21wdCB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1mb250LW1haW4pO1xuICAgICAgICAuc3BpZmZ5LXVzZXItcXVlcnktYnV0dG9uIHtcbiAgICAgICAgICBib3JkZXItY29sb3I6IHZhcigtLXNwaWZmeS1jb2xvcnMtYm9yZGVyLWxpZ2h0KTtcbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICBAbWVkaWEgKG1heC13aWR0aDogNzY4cHgpIHtcbiAgICAgICAgI3NwaWZmeS1haS1wcm9tcHQtY2FyZCB7XG4gICAgICAgICAgYXNwZWN0LXJhdGlvOiBhdXRvO1xuICAgICAgICAgIGhlaWdodDogMzU4cHg7XG4gICAgICAgICAgZ3JpZC1jb2x1bW46IDEgLyBzcGFuIDI7XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgLnNwaWZmeS1idXR0b24tYmxvY2sgLnNwaWZmeS11c2VyLXF1ZXJ5LWJ1dHRvbiB7XG4gICAgICAgIGZvbnQtc2l6ZTogMTBweDtcbiAgICAgICAgaGVpZ2h0OiAzMnB4O1xuICAgICAgfVxuXG4gICAgICAuc3BpZmZ5LXNpbmdsZS1pbWFnZS1wcm9tcHQge1xuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tZm9udC1tYWluKTtcbiAgICAgICAgLnNwaWZmeS10aXRsZSB7XG4gICAgICAgICAgZm9udC1mYW1pbHk6IHZhcigtLWZvbnQtc2VyaWYpO1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjhweCkge1xuICAgICAgICAuc3BpZmZ5LXNpbmdsZS1pbWFnZS1wcm9tcHQge1xuICAgICAgICAgIHBhZGRpbmctbGVmdDogMTJweDtcbiAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAxMnB4O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiA3NjhweCkge1xuICAgICAgICAjc3BpZmZ5LWFpLWNoYXQtcHJldmlldyB7XG4gICAgICAgICAgbWFyZ2luLXRvcDogMjhweDtcbiAgICAgICAgICBtYXJnaW4tYm90dG9tOiAtNDJweDtcbiAgICAgICAgfVxuICAgICAgICAuc3BpZmZ5LXNpbmdsZS1pbWFnZS1wcm9tcHQge1xuICAgICAgICAgIC5zcGlmZnktdGl0bGUge1xuICAgICAgICAgICAgcGFkZGluZy1sZWZ0OiA0MHB4O1xuICAgICAgICAgICAgZm9udC1zaXplOiA0MHB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAuc3BpZmZ5LXN1Z2dlc3Rpb24tYmFyIHtcbiAgICAgICAgICAgIHBhZGRpbmctbGVmdDogODBweDtcbiAgICAgICAgICAgIGZsZXgtZGlyZWN0aW9uOiByb3c7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5zcGlmZnktc2luZ2xlLWltYWdlLXByb21wdC1ibG9jayB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAxNnB4O1xuICAgICAgICAgIH1cbiAgICAgICAgICAuc3BpZmZ5LWJ1dHRvbi1ibG9jayB7XG4gICAgICAgICAgICBmbGV4LWRpcmVjdGlvbjogcm93O1xuICAgICAgICAgICAgd2lkdGg6IDEwMCU7XG4gICAgICAgICAgICBqdXN0aWZ5LWNvbnRlbnQ6IHNwYWNlLWJldHdlZW47XG4gICAgICAgICAgfVxuICAgICAgICAgIC5zcGlmZnktZm9vdGVyLWNvbnRhaW5lciB7XG4gICAgICAgICAgICBtaW4td2lkdGg6IDMzLjMzJTtcbiAgICAgICAgICAgIHdpZHRoOiAzMy4zMyU7XG4gICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDI0cHg7XG4gICAgICAgICAgICBwYWRkaW5nLXJpZ2h0OiAyNHB4O1xuICAgICAgICAgICAgbWFyZ2luLXRvcDogMHB4O1xuICAgICAgICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDEyODBweCkge1xuICAgICAgICAgICAgICBwYWRkaW5nLWxlZnQ6IDU0cHg7XG4gICAgICAgICAgICAgIHBhZGRpbmctcmlnaHQ6IDU0cHg7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBAbWVkaWEgKG1pbi13aWR0aDogMTUzNnB4KSB7XG4gICAgICAgICAgICAgIHBhZGRpbmctbGVmdDogODFweDtcbiAgICAgICAgICAgICAgcGFkZGluZy1yaWdodDogODFweDtcbiAgICAgICAgICAgIH1cbiAgICAgICAgICB9XG4gICAgICAgICAgLnNwaWZmeS11c2VyLXF1ZXJ5LWJ1dHRvbiB7XG4gICAgICAgICAgICBtYXJnaW4tdG9wOiAwcHg7XG4gICAgICAgICAgfVxuICAgICAgICAgIC5zcGlmZnktcHJvZHVjdC1pbWFnZSB7XG4gICAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuXG4gICAgICAuc3BpZmZ5LXByb2R1Y3QtY2FyZC10aXRsZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiB2YXIoLS1jaGFrcmEtZm9udHMtaGVhZGluZyk7XG4gICAgICB9XG5cbiAgICAgIC5zcGlmZnktc3dpdGNoLXRvLWFnZW50LWJ1dHRvbi11bnNlbGVjdGVkLXRleHQtY29sb3Ige1xuICAgICAgICBjb2xvcjogdmFyKC0tc3BpZmZ5LWNvbG9ycy10ZXh0LXNlY29uZGFyeSk7XG4gICAgICB9XG5cbiAgICAgIC5zcGlmZnktY2hhdC1oZWFkZXItY29udGFpbmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3BpZmZ5LWNvbG9ycy1iYWNrZ3JvdW5kLWxpZ2h0KTtcbiAgICAgIH1cbiAgICBgLFxuICB9O1xufTtcblxuY29uc3QgZm9yTG92ZUFuZExlbW9uc1BhZ2VDb25maWcgPSAoKTogT3JnUGFnZUNvbmZpZyA9PiAoe1xuICBwYWdlVmFyaWFudHM6IFtcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGxwVG9wQ2F0ZWdvcmllc1wiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGxwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFt7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlNob3BpZnlQTFAgfV0sXG4gICAgICBwbHBJZEV4dHJhY3RvcjogXCJzaG9waWZ5LWNvbGxlY3Rpb24taWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImltYWdlUHJvbXB0Q2FyZFBMUFwiLFxuICAgICAgICAgIG1vdW50aW5nUG9pbnRXaWRnZXRzOiBbXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRlc3RzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuVG9wQ2F0YWxvZ0NhdGVnb3J5LFxuICAgICAgICAgICAgICAgICAgdG9wQ2F0ZWdvcnk6IFtcImRyZXNzZXNcIl0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkRHJlc3Nlc1wiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGVzdHM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5Ub3BDYXRhbG9nQ2F0ZWdvcnksXG4gICAgICAgICAgICAgICAgICB0b3BDYXRlZ29yeTogW1widG9wc1wiXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJpbWFnZVByb21wdENhcmRUb3BzXCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0ZXN0czogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlRvcENhdGFsb2dDYXRlZ29yeSxcbiAgICAgICAgICAgICAgICAgIHRvcENhdGVnb3J5OiBbXCJib3R0b21zXCJdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImltYWdlUHJvbXB0Q2FyZEJvdHRvbXNcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRlc3RzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuVG9wQ2F0YWxvZ0NhdGVnb3J5LFxuICAgICAgICAgICAgICAgICAgdG9wQ2F0ZWdvcnk6IFtcInN3ZWF0ZXJzXCIsIFwia25pdHdlYXJcIl0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkS25pdHdlYXJcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRlc3RzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuVG9wQ2F0YWxvZ0NhdGVnb3J5LFxuICAgICAgICAgICAgICAgICAgdG9wQ2F0ZWdvcnk6IFtcInN3aW1cIiwgXCJzd2ltd2VhclwiXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJpbWFnZVByb21wdENhcmRTd2ltXCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0ZXN0czogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlRvcENhdGFsb2dDYXRlZ29yeSxcbiAgICAgICAgICAgICAgICAgIHRvcENhdGVnb3J5OiBbXCJsaW5nZXJpZVwiLCBcInBhbnRpZXNcIl0sXG4gICAgICAgICAgICAgICAgfSxcbiAgICAgICAgICAgICAgXSxcbiAgICAgICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkTGluZ2VyaWVcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgICB7XG4gICAgICAgICAgICAgIHRlc3RzOiBbXG4gICAgICAgICAgICAgICAge1xuICAgICAgICAgICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuVG9wQ2F0YWxvZ0NhdGVnb3J5LFxuICAgICAgICAgICAgICAgICAgdG9wQ2F0ZWdvcnk6IFtcIndlZGRpbmctaG9uZXltb29uXCJdLFxuICAgICAgICAgICAgICAgIH0sXG4gICAgICAgICAgICAgIF0sXG4gICAgICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImltYWdlUHJvbXB0Q2FyZEJyaWRhbFwiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGVzdHM6IFtcbiAgICAgICAgICAgICAgICB7XG4gICAgICAgICAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5Ub3BDYXRhbG9nQ2F0ZWdvcnksXG4gICAgICAgICAgICAgICAgICB0b3BDYXRlZ29yeTogW1wiZm9yLWxvdmUtYW5kLWxlbW9ucy1lc3NlbnRpYWxzXCIsIFwiZXNzZW50aWFsc1wiXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJpbWFnZVByb21wdENhcmRFc3NlbnRpYWxzXCIsXG4gICAgICAgICAgICB9LFxuICAgICAgICAgICAge1xuICAgICAgICAgICAgICB0ZXN0czogW1xuICAgICAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlRvcENhdGFsb2dDYXRlZ29yeSxcbiAgICAgICAgICAgICAgICAgIHRvcENhdGVnb3J5OiBbXCJhY2Nlc3Nvcmllc1wiXSxcbiAgICAgICAgICAgICAgICB9LFxuICAgICAgICAgICAgICBdLFxuICAgICAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJpbWFnZVByb21wdENhcmRBY2Nlc3Nvcmllc1wiLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICAgIHtcbiAgICAgICAgICAgICAgdGVzdHM6IFtdLFxuICAgICAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJpbWFnZVByb21wdENhcmRcIixcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGxwXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwbHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW3sgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuU2hvcGlmeVBMUCB9XSxcbiAgICAgIHBscElkRXh0cmFjdG9yOiBcInNob3BpZnktY29sbGVjdGlvbi1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkUExQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInBkcFwiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGRwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFt7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlNob3BpZnlQRFAgfV0sXG4gICAgICBwcm9kdWN0SWRFeHRyYWN0b3I6IFwic2hvcGlmeS1wcm9kdWN0LWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJzaW5nbGVJbWFnZVByb21wdFBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcInNpbmdsZUltYWdlUHJvbXB0XCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcImhvbWVcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBhZ2VfdmlzaXRcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuUGFnZUNhdGVnb3J5LFxuICAgICAgICAgIGV4dHJhY3Rvcjoge1xuICAgICAgICAgICAgdHlwZTogQ2F0ZWdvcnlFeHRyYWN0b3JUeXBlLlZpc2l0Q2F0ZWdvcnlNYXAsXG4gICAgICAgICAgICBtYXA6IHtcbiAgICAgICAgICAgICAgW1BhZ2VWaXNpdENhdGVnb3J5LkhvbWVwYWdlXTogW1wiL1wiXSxcbiAgICAgICAgICAgIH0sXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICB3aWRnZXRNb3VudGluZzogW10sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwib3RoZXJcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBhZ2VfdmlzaXRcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuUGFnZUNhdGVnb3J5LFxuICAgICAgICAgIGV4dHJhY3Rvcjoge1xuICAgICAgICAgICAgdHlwZTogQ2F0ZWdvcnlFeHRyYWN0b3JUeXBlLlZpc2l0Q2F0ZWdvcnlEZWZhdWx0LFxuICAgICAgICAgICAgdmFsdWU6IFBhZ2VWaXNpdENhdGVnb3J5Lk90aGVyLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtdLFxuICAgIH0sXG4gIF0sXG4gIHdpZGdldENvbmZpZ3M6IHtcbiAgICBpbWFnZVByb21wdENhcmQ6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcImltYWdlUHJvbXB0Q2FyZFwiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5JbWFnZVByb21wdENhcmQsXG4gICAgICB1cmw6IGdldENkbkFzc2V0VVJMKFxuICAgICAgICBcIjExXzI1MDMxNF9GTExfUE9SVFVHQUxfQ0FCSU5fMDA0XzFfMzAweC5qcGc/dj0xNzQ4OTc3NTYwXCIsXG4gICAgICAgIE9yZ1Nob3J0TmFtZS5Gb3JMb3ZlQW5kTGVtb25zXG4gICAgICApLFxuICAgICAgbGlnaHRUZXh0OiB0cnVlLFxuICAgICAgdGl0bGU6IFwiTGV0J3MgZmluZCB5b3VyIGRyZWFtIG91dGZpdFwiLFxuICAgICAgc3VidGl0bGU6IFtcbiAgICAgICAgXCJBIGRyZWFteSBzbGlwIGRyZXNzIHlvdSBjYW4gd2VhciBpbiBhbmQgb3V0IG9mIHRoZSBob3VzZT9cIixcbiAgICAgICAgXCJBIHN1bHRyeSBsaXR0bGUgYmxhY2sgZHJlc3MgZm9yIGRhdGUgbmlnaHQ/XCIsXG4gICAgICAgIFwiTGluZ2VyaWUgc2V0cyB5b3UgY2FuIGdpZnQgdGhlIGJyaWRlP1wiLFxuICAgICAgICBcIkEgY2hpYyB5ZXQgY29tZm9ydGFibGUgbG9vayB5b3UgY2FuIHdlYXIgdG8gdGhlIG9mZmljZT9cIixcbiAgICAgICAgXCJBIHByZXR0eSBjb3JzZXQgeW91IGNhbiB3ZWFyIHRvIGEgbXVzaWMgZmVzdGl2YWw/XCIsXG4gICAgICAgIFwiQSBjaGljIHlldCBjb21mb3J0YWJsZSBsb29rIHlvdSBjYW4gd2VhciB0byB0aGUgb2ZmaWNlP1wiLFxuICAgICAgICBcIkEgc3dlZXBpbmcgc2F0aW4gZ293biBmb3IgYSBmcmllbmQncyB3ZWRkaW5nP1wiLFxuICAgICAgICBcIkEgZmxvcmFsIG1pZGkgZHJlc3MgZm9yIGJydW5jaCB3aXRoIGZyaWVuZHM/XCIsXG4gICAgICAgIFwiQSB0aW1lbGVzcyBsYWNlIGRyZXNzIGZvciBzcGVjaWFsIG9jY2FzaW9ucz9cIixcbiAgICAgIF0sXG4gICAgICBzdGF0aWNTdWdnZXN0aW9uQ29waWVzOiBbXG4gICAgICAgIFwiTGl0dGxlIEJsYWNrIERyZXNzZXNcIixcbiAgICAgICAgXCJNYXRjaGluZyBDby1PcmQgU2V0c1wiLFxuICAgICAgICBcIkNvenkgU3ByaW5nIExheWVyc1wiLFxuICAgICAgICBcIlJvbWFudGljIExpbmdlcmllIGZvciBEYXRlIE5pZ2h0XCIsXG4gICAgICAgIFwiQ2hpYyBXZWRkaW5nIEd1ZXN0IERyZXNzZXNcIixcbiAgICAgICAgXCJCYWNoZWxvcmV0dGUgTWluaSBEcmVzc2VzXCIsXG4gICAgICBdLFxuICAgICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiB7XG4gICAgICAgIHZhcmlhbnQ6IFwidW5kZXJsaW5lTGlnaHRcIixcbiAgICAgICAgcGxhY2Vob2xkZXJUZXh0OiBcIk5lZWQgc29tZXRoaW5nIHNwZWNpYWw/XCIsXG4gICAgICAgIGljb246IFwic2VuZEFycm93XCIsXG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIEltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnLFxuICAgIGltYWdlUHJvbXB0Q2FyZERyZXNzZXM6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcImltYWdlUHJvbXB0Q2FyZERyZXNzZXNcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuSW1hZ2VQcm9tcHRDYXJkLFxuICAgICAgdXJsOiBnZXRDZG5Bc3NldFVSTChcbiAgICAgICAgXCIxOC0wNV8yNTA1MDZfRkxMX1NBSUxPUl9NQVJTRUlMTEVfMDMyX3YyXzMwMHguanBnP3Y9MTc1MjYwNjg4OFwiLFxuICAgICAgICBPcmdTaG9ydE5hbWUuRm9yTG92ZUFuZExlbW9uc1xuICAgICAgKSxcbiAgICAgIGxpZ2h0VGV4dDogdHJ1ZSxcbiAgICAgIHRpdGxlOiBcIkxldCdzIGZpbmQgeW91ciBkcmVhbSBvdXRmaXRcIixcbiAgICAgIHN1YnRpdGxlOiBbXG4gICAgICAgIFwiQSBkcmVzcyB5b3UgY2FuIHdlYXIgZnJvbSB5b3VyIGRlc2sgdG8gZGlubmVyIGRhdGU/XCIsXG4gICAgICAgIFwiQW4gdWx0cmEtY2hpYyBwYXJ0eSBkcmVzcyBmb3IgdGhhdCB1cGNvbWluZyBzb2lyw6llP1wiLFxuICAgICAgICBcIkEgdGltZWxlc3MgZHJlc3MgeW91IGNhbiB3ZWFyIGFnYWluIGFuZCBhZ2Fpbj9cIixcbiAgICAgICAgXCJBIGRyZXNzIGRlc2lnbmVkIHdpdGggdmludGFnZSByZWZlcmVuY2VzP1wiLFxuICAgICAgICBcIkEgY2FzdWFsIGRyZXNzIHlvdSBjYW4gdGhyb3cgb24gYW5kIGdvP1wiLFxuICAgICAgXSxcbiAgICAgIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM6IFtcbiAgICAgICAgXCJMaXR0bGUgQmxhY2sgRHJlc3Nlc1wiLFxuICAgICAgICBcIkNvY2t0YWlsIERyZXNzZXMgZm9yIFdlZGRpbmdzXCIsXG4gICAgICAgIFwiRmVtaW5pbmUgTWlkaSBEcmVzc2VzXCIsXG4gICAgICAgIFwiRmxvcmFsIE1pbmkgRHJlc3Nlc1wiLFxuICAgICAgICBcIkRyZXNzZXMgZm9yIERhdGUgTmlnaHRcIixcbiAgICAgIF0sXG4gICAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IHtcbiAgICAgICAgdmFyaWFudDogXCJ1bmRlcmxpbmVMaWdodFwiLFxuICAgICAgICBwbGFjZWhvbGRlclRleHQ6IFwiTmVlZCBzb21ldGhpbmcgc3BlY2lhbD9cIixcbiAgICAgICAgaWNvbjogXCJzZW5kQXJyb3dcIixcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcsXG4gICAgaW1hZ2VQcm9tcHRDYXJkVG9wczoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkVG9wc1wiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5JbWFnZVByb21wdENhcmQsXG4gICAgICB1cmw6IGdldENkbkFzc2V0VVJMKFxuICAgICAgICBcIjQxLTExXzI1MDUwNl9GTExfU0FJTE9SX01BUlNFSUxMRV8xNzZfdjJfNGM0Y2Q4MTQtMWE3NS00MDlkLTkxNmYtMWUzYzZjYWU1MTY0XzMwMHguanBnP3Y9MTc1MjYwNzQzMFwiLFxuICAgICAgICBPcmdTaG9ydE5hbWUuRm9yTG92ZUFuZExlbW9uc1xuICAgICAgKSxcbiAgICAgIGxpZ2h0VGV4dDogdHJ1ZSxcbiAgICAgIHRpdGxlOiBcIkxldCdzIGZpbmQgeW91ciBkcmVhbSBvdXRmaXRcIixcbiAgICAgIHN1YnRpdGxlOiBbXG4gICAgICAgIFwiQSB0aHJvdy1vbi1hbmQtZ28gdG9wIGZvciBldmVyeWRheT9cIixcbiAgICAgICAgXCJUb3BzIHRvIHBhaXIgd2l0aCB5b3VyIGZhdm9yaXRlIHZpbnRhZ2UgamVhbnM/XCIsXG4gICAgICAgIFwiQSByb21hbnRpYyB0b3AgeW91IGNhbiB3ZWFyIHRvIGRhdGUgbmlnaHQ/XCIsXG4gICAgICAgIFwiVG9wcyB0aGF0IHRyYW5zaXRpb24gYmV0d2VlbiBzZWFzb25zP1wiLFxuICAgICAgICBcIlRvcHMgZm9yIHlvdXIgdXBjb21pbmcgZ2V0YXdheT9cIixcbiAgICAgIF0sXG4gICAgICBzdGF0aWNTdWdnZXN0aW9uQ29waWVzOiBbXG4gICAgICAgIFwiRmxpcnR5IENyb3AgVG9wc1wiLFxuICAgICAgICBcIldoaW1zaWNhbCBCbG91c2VzXCIsXG4gICAgICAgIFwiVG9wcyBXaXRoIE1hdGNoaW5nIEJvdHRvbXNcIixcbiAgICAgICAgXCJDaGljIEdvaW5nIE91dCBUb3BzXCIsXG4gICAgICAgIFwiRGF5IHRvIERhdGUgTmlnaHQgVG9wc1wiLFxuICAgICAgXSxcbiAgICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzoge1xuICAgICAgICB2YXJpYW50OiBcInVuZGVybGluZUxpZ2h0XCIsXG4gICAgICAgIHBsYWNlaG9sZGVyVGV4dDogXCJOZWVkIHNvbWV0aGluZyBzcGVjaWFsP1wiLFxuICAgICAgICBpY29uOiBcInNlbmRBcnJvd1wiLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBJbWFnZVByb21wdFdpZGdldENvbmZpZyxcbiAgICBpbWFnZVByb21wdENhcmRCb3R0b21zOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJpbWFnZVByb21wdENhcmRCb3R0b21zXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLkltYWdlUHJvbXB0Q2FyZCxcbiAgICAgIHVybDogZ2V0Q2RuQXNzZXRVUkwoXG4gICAgICAgIFwiMzgtMTFfMjUwNTA2X0ZMTF9TQUlMT1JfTUFSU0VJTExFXzA5OF92Ml9lYmRjMzYwMi04NDU0LTQwNTktODA5OS1hNTE0ZDU5OTM2NTdfMzAweC5qcGc/dj0xNzUyNjA3NDAwXCIsXG4gICAgICAgIE9yZ1Nob3J0TmFtZS5Gb3JMb3ZlQW5kTGVtb25zXG4gICAgICApLFxuICAgICAgbGlnaHRUZXh0OiB0cnVlLFxuICAgICAgdGl0bGU6IFwiTGV0J3MgZmluZCB5b3VyIGRyZWFtIG91dGZpdFwiLFxuICAgICAgc3VidGl0bGU6IFtcbiAgICAgICAgXCJDaGljIGFuZCBjYXN1YWwgYm90dG9tcyB5b3UgY2FuIHdlYXIgZXZlcnlkYXk/XCIsXG4gICAgICAgIFwiU2tpcnRzIHlvdSBjYW4gbWl4IGFuZCBtYXRjaCB3aXRoIHlvdXIgZmF2b3JpdGUgdG9wcz9cIixcbiAgICAgICAgXCJTbWFydCBwYW50cyBmb3IgYSBjaGljLCBvZmZiZWF0IHBhcnR5IGxvb2s/XCIsXG4gICAgICAgIFwiTWluaSBza2lydHMgdGhhdCB0cmFuc2l0aW9uIGJldHdlZW4gc2Vhc29ucz9cIixcbiAgICAgICAgXCJTaG9ydHMgeW91IGNhbiBzdHlsZSB3aXRoIG1hdGNoaW5nIHRvcHMgYW5kIGphY2tldHM/XCIsXG4gICAgICBdLFxuICAgICAgc3RhdGljU3VnZ2VzdGlvbkNvcGllczogW1xuICAgICAgICBcIlJvbWFudGljIE1heGkgU2tpcnRzXCIsXG4gICAgICAgIFwiVmludGFnZS1JbnNwaXJlZCBNaW5pIFNraXJ0c1wiLFxuICAgICAgICBcIlVsdHJhLUNoaWMgQ2FwcmkgUGFudHNcIixcbiAgICAgICAgXCJDYXN1YWwgU2hvcnRzIGZvciBFdmVyeWRheVwiLFxuICAgICAgICBcIkxpbmdlcmllLUluc3BpcmVkIFNsaXAgU2tpcnRzXCIsXG4gICAgICBdLFxuICAgICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiB7XG4gICAgICAgIHZhcmlhbnQ6IFwidW5kZXJsaW5lTGlnaHRcIixcbiAgICAgICAgcGxhY2Vob2xkZXJUZXh0OiBcIk5lZWQgc29tZXRoaW5nIHNwZWNpYWw/XCIsXG4gICAgICAgIGljb246IFwic2VuZEFycm93XCIsXG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIEltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnLFxuICAgIGltYWdlUHJvbXB0Q2FyZEtuaXR3ZWFyOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJpbWFnZVByb21wdENhcmRLbml0d2VhclwiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5JbWFnZVByb21wdENhcmQsXG4gICAgICB1cmw6IGdldENkbkFzc2V0VVJMKFxuICAgICAgICBcIjItMTNfMjUwNTA2X0ZMTF9TQUlMT1JfTUFSU0VJTExFXzAxNV92Ml8yMzE1Y2EyOS03ZTZmLTQ1ZWItOGEyZC1lYmFjYWU4YjkwOWNfMzAweC5qcGc/dj0xNzUyNjA3Mjg1XCIsXG4gICAgICAgIE9yZ1Nob3J0TmFtZS5Gb3JMb3ZlQW5kTGVtb25zXG4gICAgICApLFxuICAgICAgbGlnaHRUZXh0OiB0cnVlLFxuICAgICAgdGl0bGU6IFwiTGV0J3MgZmluZCB5b3VyIGRyZWFtIG91dGZpdFwiLFxuICAgICAgc3VidGl0bGU6IFtcbiAgICAgICAgXCJBIGNoaWMgY2FyZGlnYW4gdG8gd2VhciB0byB5b3VyIG5leHQgZGlubmVyIGRhdGU/XCIsXG4gICAgICAgIFwiQW4gb3ZlcnNpemVkIGtuaXQgZm9yIHNlcmVuZSBkYXlzIGF0IGhvbWU/XCIsXG4gICAgICAgIFwiQSBjcm9wcGVkIGtuaXQgeW91IGNhbiBwYWlyIHdpdGggYSBtYXRjaGluZyBtaW5pIHNraXJ0P1wiLFxuICAgICAgICBcIkEgdGltZWxlc3Mga25pdCBtaW5pIGRyZXNzIGZvciBzdHlsaXNoIHJlbmRlenZvdXM/XCIsXG4gICAgICAgIFwiS25pdCBqYWNrZXRzIGZvciB3aGVuIHRoZSB0ZW1wZXJhdHVyZSBkcm9wcz9cIixcbiAgICAgIF0sXG4gICAgICBzdGF0aWNTdWdnZXN0aW9uQ29waWVzOiBbXG4gICAgICAgIFwiQ296eSBPdmVyc2l6ZWQgU3dlYXRlcnNcIixcbiAgICAgICAgXCJGZW1pbmluZSBDYXJkaXMgZm9yIERhdGUgTmlnaHRcIixcbiAgICAgICAgXCJNYXRjaGluZyBLbml0IENvLU9yZCBTZXRzXCIsXG4gICAgICAgIFwiVGltZWxlc3MgS25pdCBNaW5pIERyZXNzZXNcIixcbiAgICAgICAgXCJDaGljIEtuaXQgSmFja2V0c1wiLFxuICAgICAgXSxcbiAgICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzoge1xuICAgICAgICB2YXJpYW50OiBcInVuZGVybGluZUxpZ2h0XCIsXG4gICAgICAgIHBsYWNlaG9sZGVyVGV4dDogXCJOZWVkIHNvbWV0aGluZyBzcGVjaWFsP1wiLFxuICAgICAgICBpY29uOiBcInNlbmRBcnJvd1wiLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBJbWFnZVByb21wdFdpZGdldENvbmZpZyxcbiAgICBpbWFnZVByb21wdENhcmRTd2ltOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJpbWFnZVByb21wdENhcmRTd2ltXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLkltYWdlUHJvbXB0Q2FyZCxcbiAgICAgIHVybDogZ2V0Q2RuQXNzZXRVUkwoXG4gICAgICAgIFwiMTUtMjAyNTAyMTNfRk9STE9WRUFORExFTU9OU19TSE9UXzA0XzE0OF9lZWZlNjJiZi1iMjkwLTQ2YmMtYWU5OS04ZTg3NmVmMDRiYTFfMzAweC5qcGc/dj0xNzQ5NTc1MDcwXCIsXG4gICAgICAgIE9yZ1Nob3J0TmFtZS5Gb3JMb3ZlQW5kTGVtb25zXG4gICAgICApLFxuICAgICAgbGlnaHRUZXh0OiB0cnVlLFxuICAgICAgdGl0bGU6IFwiTGV0J3MgZmluZCB5b3VyIGRyZWFtIG91dGZpdFwiLFxuICAgICAgc3VidGl0bGU6IFtcbiAgICAgICAgXCJBIG9uZS1waWVjZSBiYXRoaW5nIHN1aXQgZm9yIGEgY2hpYyBwb29sc2lkZSBsb29rP1wiLFxuICAgICAgICBcIkEgdGlueSBiaWtpbmkgZm9yIG1heGltdW0gc3VuLWJhdGhpbmcgcG90ZW50aWFsP1wiLFxuICAgICAgICBcIkhpZ2gtd2Fpc3RlZCBzd2ltIGJvdHRvbXMgd2l0aCB2aW50YWdlIGFwcGVhbD9cIixcbiAgICAgICAgXCJDb3Zlci11cHMgdGhhdCBicmluZyByb21hbmNlIHRvIHRoZSBiZWFjaFwiLFxuICAgICAgICBcIkhhdHMgYW5kIGhhaXIgYWNjZXNzb3JpZXMgeW91IGNhbiBwYWlyIHdpdGggeW91ciBmYXZvcml0ZSBiaWtpbmk/XCIsXG4gICAgICBdLFxuICAgICAgc3RhdGljU3VnZ2VzdGlvbkNvcGllczogW1xuICAgICAgICBcIlJldHJvIEJhdGhpbmcgU3VpdHNcIixcbiAgICAgICAgXCJTdW1tZXItUmVhZHkgVGhvbmcgQmlraW5pc1wiLFxuICAgICAgICBcIlJvbWFudGljIENyb2NoZXQgQ292ZXItVXBzXCIsXG4gICAgICAgIFwiQmVhY2gtUmVhZHkgQWNjZXNzb3JpZXNcIixcbiAgICAgICAgXCJHaW5naGFtIEJpa2luaXNcIixcbiAgICAgIF0sXG4gICAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IHtcbiAgICAgICAgdmFyaWFudDogXCJ1bmRlcmxpbmVMaWdodFwiLFxuICAgICAgICBwbGFjZWhvbGRlclRleHQ6IFwiTmVlZCBzb21ldGhpbmcgc3BlY2lhbD9cIixcbiAgICAgICAgaWNvbjogXCJzZW5kQXJyb3dcIixcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcsXG4gICAgaW1hZ2VQcm9tcHRDYXJkTGluZ2VyaWU6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcImltYWdlUHJvbXB0Q2FyZExpbmdlcmllXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLkltYWdlUHJvbXB0Q2FyZCxcbiAgICAgIHVybDogZ2V0Q2RuQXNzZXRVUkwoXG4gICAgICAgIFwiMTMtMjBfMjUwNTA2X0ZMTF9TQUlMT1JfTUFSU0VJTExFXzEzNF92Ml8xNjQ3ZWFlYy02ZmQ0LTQ4ZWItOGI2MC1mZWJhY2I4Y2MwYTdfMzAweC5qcGc/dj0xNzUyNjA3NTI5LVwiLFxuICAgICAgICBPcmdTaG9ydE5hbWUuRm9yTG92ZUFuZExlbW9uc1xuICAgICAgKSxcbiAgICAgIGxpZ2h0VGV4dDogdHJ1ZSxcbiAgICAgIHRpdGxlOiBcIkxldCdzIGZpbmQgeW91ciBkcmVhbSBvdXRmaXRcIixcbiAgICAgIHN1YnRpdGxlOiBbXG4gICAgICAgIFwiQ29tZm9ydGFibGUgbGluZ2VyaWUgeW91IGNhbiBpbmNsdWRlIGluIHlvdXIgZXZlcnlkYXkgcm90YXRpb24/XCIsXG4gICAgICAgIFwiU2V4eSBsaW5nZXJpZSBmb3IgZGF0ZSBuaWdodD9cIixcbiAgICAgICAgXCJCYWJ5ZG9sbCBkcmVzc2VzIHlvdSBjYW4gd2VhciBpbiB0aGUgYmVkcm9vbSBhbmQgYmV5b25kP1wiLFxuICAgICAgICBcIlNsaXAgZHJlc3NlcyB3aXRoIG1heGltdW0gdmludGFnZSBhcHBlYWw/XCIsXG4gICAgICAgIFwiQSBicmlkYWwgbGluZ2VyaWUgc2V0IGZvciB0aGUgZmlyc3QgbmlnaHQgb2YgeW91ciBoYXBwaWx5IGV2ZXIgYWZ0ZXI/XCIsXG4gICAgICBdLFxuICAgICAgc3RhdGljU3VnZ2VzdGlvbkNvcGllczogW1xuICAgICAgICBcIlNleHkgYW5kIFN3ZWV0IFBKIFNldHNcIixcbiAgICAgICAgXCIzLVBpZWNlIExpbmdlcmllIFNldHNcIixcbiAgICAgICAgXCJQYW50eSBTZXRzIGZvciBFdmVyeWRheVwiLFxuICAgICAgICBcIlZpbnRhZ2UtSW5zcGlyZWQgU2xpcCBEcmVzc2VzXCIsXG4gICAgICAgIFwiUm9tYW50aWMgQnJpZGFsIExpbmdlcmllXCIsXG4gICAgICBdLFxuICAgICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiB7XG4gICAgICAgIHZhcmlhbnQ6IFwidW5kZXJsaW5lTGlnaHRcIixcbiAgICAgICAgcGxhY2Vob2xkZXJUZXh0OiBcIk5lZWQgc29tZXRoaW5nIHNwZWNpYWw/XCIsXG4gICAgICAgIGljb246IFwic2VuZEFycm93XCIsXG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIEltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnLFxuICAgIGltYWdlUHJvbXB0Q2FyZEJyaWRhbDoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkQnJpZGFsXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLkltYWdlUHJvbXB0Q2FyZCxcbiAgICAgIHVybDogZ2V0Q2RuQXNzZXRVUkwoXG4gICAgICAgIFwiMjQwODA2X0JDX0ZMTF8yNF9CUklEQUxfQ0FNUEFJR05fTE9PS18xMl8wMDAzX1YxXzMwMHguanBnP3Y9MTc0ODk3NzY3NFwiLFxuICAgICAgICBPcmdTaG9ydE5hbWUuRm9yTG92ZUFuZExlbW9uc1xuICAgICAgKSxcbiAgICAgIGxpZ2h0VGV4dDogdHJ1ZSxcbiAgICAgIHRpdGxlOiBcIkxldCdzIGZpbmQgeW91ciBkcmVhbSBvdXRmaXRcIixcbiAgICAgIHN1YnRpdGxlOiBbXG4gICAgICAgIFwiQnJpZGFsIGRyZXNzZXMgZm9yIHRoZSBtb21lbnRzIGFyb3VuZCB5b3VyIGJpZyBkYXk/XCIsXG4gICAgICAgIFwiQSBnb3duIGZvciB5b3VyIGJyaWRhbCByZWNlcHRpb24/XCIsXG4gICAgICAgIFwiV2hpbXNpY2FsIGFjY2Vzc29yaWVzIHRvIHBhaXIgd2l0aCB5b3VyIGJyaWRhbCBsb29rcz9cIixcbiAgICAgICAgXCJMaW5nZXJpZSB0byBnaWZ0IHRoZSBicmlkZSBhdCBoZXIgYmFjaGVsb3JldHRlP1wiLFxuICAgICAgICBgT3V0Zml0cyB0byB3ZWFyIHRvIHlvdXIgZnJpZW5kJ3MgdXBjb21pbmcgd2VkZGluZz9gLFxuICAgICAgXSxcbiAgICAgIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM6IFtcbiAgICAgICAgXCJHb3ducyBmb3IgWW91ciBSZWNlcHRpb25cIixcbiAgICAgICAgXCJSb21hbnRpYyBCcmlkYWwgVmVpbHNcIixcbiAgICAgICAgXCJCYWNoZWxvcmV0dGUgR2lmdHMgZm9yIHRoZSBCcmlkZVwiLFxuICAgICAgICBcIldlZGRpbmcgR3Vlc3QgRHJlc3Nlc1wiLFxuICAgICAgICBcIkNoaWMgSG9uZXltb29uIE91dGZpdHNcIixcbiAgICAgIF0sXG4gICAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IHtcbiAgICAgICAgdmFyaWFudDogXCJ1bmRlcmxpbmVMaWdodFwiLFxuICAgICAgICBwbGFjZWhvbGRlclRleHQ6IFwiTmVlZCBzb21ldGhpbmcgc3BlY2lhbD9cIixcbiAgICAgICAgaWNvbjogXCJzZW5kQXJyb3dcIixcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcsXG4gICAgaW1hZ2VQcm9tcHRDYXJkRXNzZW50aWFsczoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkRXNzZW50aWFsc1wiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5JbWFnZVByb21wdENhcmQsXG4gICAgICB1cmw6IGdldENkbkFzc2V0VVJMKFxuICAgICAgICBcIjQwLTI0MDgxNF9CQ19GTExfU1AyNV9FU1NFTlRJQUxTX0FUMDA0OV9BQk9PNjVfWUVMTE9XX0FUMDA0OV9BQjAwNjRfQ0FNRUxfMDE1NF8zMDB4LmpwZz92PTE3NDU1MjYyOTdcIixcbiAgICAgICAgT3JnU2hvcnROYW1lLkZvckxvdmVBbmRMZW1vbnNcbiAgICAgICksXG4gICAgICBsaWdodFRleHQ6IHRydWUsXG4gICAgICB0aXRsZTogXCJMZXQncyBmaW5kIHlvdXIgZHJlYW0gb3V0Zml0XCIsXG4gICAgICBzdWJ0aXRsZTogW1xuICAgICAgICBcIkNoaWMgRXNzZW50aWFscyB5b3UgY2FuIGxvdW5nZSBpbj9cIixcbiAgICAgICAgXCJDaGljIGFuZCBjb21mb3J0YWJsZSBkcmVzc2VzIHRvIHlvdSBjYW4gd2VhciB0byB0aGUgb2ZmaWNlP1wiLFxuICAgICAgICBcIlNwb3J0cy1pbnNwaXJlZCBjby1vcmQgc2V0cyBmb3IgZXZlcnlkYXk/XCIsXG4gICAgICAgIFwiU3RhdGVtZW50IGtuaXR3ZWFyIHlvdSBjYW4gdGhyb3ctb24tYW5kLWdvP1wiLFxuICAgICAgICBgQSBjYXN1YWwgamFja2V0IHlvdSdsbCB3ZWFyIG9uIHJlcGVhdD9gLFxuICAgICAgXSxcbiAgICAgIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM6IFtcbiAgICAgICAgXCJTaWxreSBDdXBybyBCYXNpY3NcIixcbiAgICAgICAgXCJDcmlzcCBDby1PcmQgU2V0c1wiLFxuICAgICAgICBcIkplcnNleSBEcmVzc2VzIGZvciB0aGUgT2ZmaWNlXCIsXG4gICAgICAgIFwiQ2FzdWFsIEtuaXR3ZWFyXCIsXG4gICAgICAgIFwiRXZlcnlkYXkgSmFja2V0c1wiLFxuICAgICAgXSxcbiAgICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzoge1xuICAgICAgICB2YXJpYW50OiBcInVuZGVybGluZUxpZ2h0XCIsXG4gICAgICAgIHBsYWNlaG9sZGVyVGV4dDogXCJOZWVkIHNvbWV0aGluZyBzcGVjaWFsP1wiLFxuICAgICAgICBpY29uOiBcInNlbmRBcnJvd1wiLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBJbWFnZVByb21wdFdpZGdldENvbmZpZyxcbiAgICBpbWFnZVByb21wdENhcmRBY2Nlc3Nvcmllczoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkQWNjZXNzb3JpZXNcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuSW1hZ2VQcm9tcHRDYXJkLFxuICAgICAgdXJsOiBnZXRDZG5Bc3NldFVSTChcbiAgICAgICAgXCI0Mi0xMV8yNTA1MDZfRkxMX1NBSUxPUl9NQVJTRUlMTEVfMjI2X3YyX2NmNzM2NWI3LTM5NDQtNGMyOS1iNmVkLWNlNGYxMzZhNDhmY18zMDB4LmpwZz92PTE3NTI2MDcwODBcIixcbiAgICAgICAgT3JnU2hvcnROYW1lLkZvckxvdmVBbmRMZW1vbnNcbiAgICAgICksXG4gICAgICBsaWdodFRleHQ6IHRydWUsXG4gICAgICB0aXRsZTogXCJMZXQncyBmaW5kIHlvdXIgZHJlYW0gb3V0Zml0XCIsXG4gICAgICBzdWJ0aXRsZTogW1xuICAgICAgICBcIkhlYWRzY2FydmVzIHRvIGNvLW9yZGluYXRlIHdpdGggeW91ciBmYXZvcml0ZSBGTCZMIGxvb2s/XCIsXG4gICAgICAgIFwiT3Blbi10b2UgbXVsZXMgZm9yIGFuIHVwY29taW5nIHdlZGRpbmc/XCIsXG4gICAgICAgIFwiVmludGFnZS1pbnNwaXJlZCBlYXJyaW5ncyB0byBzdHlsZSB3aXRoIHlvdXIgZmF2b3JpdGUgZHJlc3Nlcz9cIixcbiAgICAgICAgXCJCYWdzIHlvdSBjYW4gd2VhciBhbGwgZGF5IGV2ZXJ5ZGF5P1wiLFxuICAgICAgICBcIlVuaXF1ZSBib2R5IGpld2VscnkgeW91IGNhbiB3ZWFyIHRvIHRoZSBmZXN0aXZhbD9cIixcbiAgICAgIF0sXG4gICAgICBzdGF0aWNTdWdnZXN0aW9uQ29waWVzOiBbXG4gICAgICAgIFwiU3VtbWVyLVJlYWR5IE11bGVzXCIsXG4gICAgICAgIFwiUm9tYW50aWMgSGFpciBBY2Nlc3Nvcmllc1wiLFxuICAgICAgICBcIlN0YXRlbWVudC1NYWtpbmcgRWFycmluZ3NcIixcbiAgICAgICAgXCJFdmVyeWRheSBCYWdzXCIsXG4gICAgICAgIFwiR2xpbW1lcmluZyBCb2R5IEpld2VscnlcIixcbiAgICAgIF0sXG4gICAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IHtcbiAgICAgICAgdmFyaWFudDogXCJ1bmRlcmxpbmVMaWdodFwiLFxuICAgICAgICBwbGFjZWhvbGRlclRleHQ6IFwiTmVlZCBzb21ldGhpbmcgc3BlY2lhbD9cIixcbiAgICAgICAgaWNvbjogXCJzZW5kQXJyb3dcIixcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcsXG4gICAgc2luZ2xlSW1hZ2VQcm9tcHQ6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcInNpbmdsZUltYWdlUHJvbXB0XCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLlNpbmdsZUltYWdlUHJvbXB0LFxuICAgICAgdGl0bGU6IFwiSG93IHRvIHdlYXIgaXRcIixcbiAgICAgIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM6IFtcbiAgICAgICAgXCJIb3cgY2FuIEkgZHJlc3MgdGhpcyB1cCBmb3IgYW4gZXZlbnQ/XCIsXG4gICAgICAgIFwiQ2FuIEkgd2VhciB0aGlzIGluIGRpZmZlcmVudCBzZWFzb25zP1wiLFxuICAgICAgICBcIkRvIHlvdSBoYXZlIHNob2VzIHRoYXQgbWF0Y2ggd2l0aCB0aGlzP1wiLFxuICAgICAgICBcIkNhbiB5b3UgZ2l2ZSBtZSBsYXllcmluZyBpZGVhcz9cIixcbiAgICAgICAgXCJXaGF0J3MgdGhlIGJlc3QgYnJhIHRvIHdlYXIgdW5kZXIgdGhpcz9cIixcbiAgICAgIF0sXG4gICAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IHtcbiAgICAgICAgdmFyaWFudDogXCJ1bmRlcmxpbmVEYXJrXCIsXG4gICAgICAgIHBsYWNlaG9sZGVyVGV4dDogXCJUZWxsIG1lIHlvdXIgc3R5bGluZyBxdWVzdGlvbnNcIixcbiAgICAgICAgaWNvbjogXCJzZW5kQXJyb3dcIixcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgU2luZ2xlSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcsXG4gIH0sXG4gIG1vdW50aW5nQ29uZmlnczoge1xuICAgIGltYWdlUHJvbXB0Q2FyZFBMUDoge1xuICAgICAgbW91bnRpbmdDb25maWdJZDogXCJpbWFnZVByb21wdENhcmRQTFBcIixcbiAgICAgIGNvbnRhaW5lcklkOiBQUk9NUFRfQ0FSRF9JRCxcbiAgICAgIHRlc3RJZDogUFJPTVBUX0NBUkRfVEVTVElELFxuICAgICAgaW5zZXJ0aW9uUG9pbnQ6IHtcbiAgICAgICAgc2VsZWN0b3I6IGAjJHtQUk9NUFRfQ0FSRF9JRH1gLFxuICAgICAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlLk5PTkUsXG4gICAgICB9LFxuICAgIH0sXG4gICAgc2luZ2xlSW1hZ2VQcm9tcHRQRFA6IHtcbiAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwic2luZ2xlSW1hZ2VQcm9tcHRQRFBcIixcbiAgICAgIGNvbnRhaW5lcklkOiBDSEFUX1BSRVZJRVdfQ09OVEFJTkVSX0lELFxuICAgICAgdGVzdElkOiBDSEFUX1BSRVZJRVdfVEVTVElELFxuICAgICAgaW5zZXJ0aW9uUG9pbnQ6IHtcbiAgICAgICAgc2VsZWN0b3I6IGAjJHtDSEFUX1BSRVZJRVdfQ09OVEFJTkVSX0lEfWAsXG4gICAgICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGUuTk9ORSxcbiAgICAgIH0sXG4gICAgfSxcbiAgfSxcbn0pO1xuXG5jb25zdCBmb3JMb3ZlQW5kTGVtb25zT3JnSW5mbyA9IHtcbiAgc2hvcnROYW1lOiBPcmdTaG9ydE5hbWUuRm9yTG92ZUFuZExlbW9ucyxcbiAgbmFtZTogXCJGb3IgTG92ZSBBbmQgTGVtb25zXCIsXG4gIGRvbWFpbjogXCJmb3Jsb3ZlYW5kbGVtb25zLmNvbVwiLFxuICBkZWZhdWx0UHJvZHVjdElkOiBcImFkaXJhLW1pbmktZHJlc3MtcmVkXCIsXG4gIGFsd2F5c0VuYWJsZWRNZXJjaGFudHM6IHRydWUsXG4gIG9yZ1VJQ29uZmlnOiBmb3JMb3ZlQW5kTGVtb25zT3JnVUlDb25maWcsXG4gIG9yZ0NvbG9yczogKCkgPT4gZm9yTG92ZUFuZExlbW9uc0NvbG9ycyxcbiAgb3JnUGFnZUNvbmZpZzogZm9yTG92ZUFuZExlbW9uc1BhZ2VDb25maWcsXG59IHNhdGlzZmllcyBCYXNpY09yZ0luZm9UeXBlO1xuXG5leHBvcnQgeyBmb3JMb3ZlQW5kTGVtb25zT3JnSW5mbyB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7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