@envive-ai/react-hooks 0.1.5 → 0.1.7

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (747) hide show
  1. package/dist/NewOrgConfig-C5YL4Y62.cjs +20 -0
  2. package/dist/NewOrgConfig-CRyIfb_l.js +15 -0
  3. package/dist/SystemSettingsContext-Cb9YHln8.cjs +20 -0
  4. package/dist/SystemSettingsContext-D3mmGGcv.js +13 -0
  5. package/dist/TrackComponentVisibleEvent-C7c_rHFW.cjs +59 -0
  6. package/dist/TrackComponentVisibleEvent-DXTEBjGM.js +52 -0
  7. package/dist/amplitudeContext-CB_F-nJY.d.cts +52 -0
  8. package/dist/amplitudeContext-Cak6ijMq.js +287 -0
  9. package/dist/amplitudeContext-DFYBDc0h.d.ts +52 -0
  10. package/dist/amplitudeContext-sTEsPaVG.cjs +309 -0
  11. package/dist/api-DSFlctlc.cjs +269 -0
  12. package/dist/api-JTNjuOfc.js +190 -0
  13. package/dist/app-D_upYeqF.js +132 -0
  14. package/dist/app-KXTMPa4s.cjs +178 -0
  15. package/dist/application/models/graphql/index.cjs +4 -12
  16. package/dist/application/models/graphql/index.d.cts +1 -1
  17. package/dist/application/models/graphql/index.d.ts +1 -1
  18. package/dist/application/models/graphql/index.js +2 -10
  19. package/dist/application/models/guards/api/index.cjs +2 -2
  20. package/dist/application/models/guards/api/index.d.cts +2 -2
  21. package/dist/application/models/guards/api/index.d.ts +2 -2
  22. package/dist/application/models/guards/api/index.js +2 -2
  23. package/dist/application/models/index.cjs +52 -56
  24. package/dist/application/models/index.d.cts +10 -8
  25. package/dist/application/models/index.d.ts +11 -9
  26. package/dist/application/models/index.js +10 -11
  27. package/dist/application/models/utilityTypes/index.cjs +1 -1
  28. package/dist/application/models/utilityTypes/index.d.cts +1 -1
  29. package/dist/application/models/utilityTypes/index.d.ts +1 -1
  30. package/dist/application/models/utilityTypes/index.js +1 -1
  31. package/dist/application/models/variantInfo/index.cjs +1 -1
  32. package/dist/application/models/variantInfo/index.d.ts +1 -1
  33. package/dist/application/models/variantInfo/index.js +1 -1
  34. package/dist/application/utils/index.cjs +46 -37
  35. package/dist/application/utils/index.d.cts +21 -13
  36. package/dist/application/utils/index.d.ts +21 -13
  37. package/dist/application/utils/index.js +19 -10
  38. package/dist/{atomStore-JwGb7pcy.cjs → atomStore-DEZyFCNz.cjs} +1 -1
  39. package/dist/{atomStore-B1cgmbP0.js → atomStore-DnPEioF4.js} +1 -1
  40. package/dist/atoms/app/index.cjs +18 -16
  41. package/dist/atoms/app/index.d.cts +23 -18
  42. package/dist/atoms/app/index.d.ts +24 -19
  43. package/dist/atoms/app/index.js +14 -11
  44. package/dist/atoms/atomStore/index.cjs +2 -1
  45. package/dist/atoms/atomStore/index.d.cts +24 -2
  46. package/dist/atoms/atomStore/index.d.ts +24 -2
  47. package/dist/atoms/atomStore/index.js +2 -1
  48. package/dist/atoms/chat/index.cjs +50 -40
  49. package/dist/atoms/chat/index.d.cts +38 -35
  50. package/dist/atoms/chat/index.d.ts +39 -36
  51. package/dist/atoms/chat/index.js +20 -10
  52. package/dist/atoms/globalSearch/index.cjs +1 -1
  53. package/dist/atoms/globalSearch/index.d.cts +5 -5
  54. package/dist/atoms/globalSearch/index.d.ts +6 -6
  55. package/dist/atoms/globalSearch/index.js +1 -1
  56. package/dist/atoms/org/index.cjs +18 -38
  57. package/dist/atoms/org/index.d.cts +36 -54
  58. package/dist/atoms/org/index.d.ts +36 -54
  59. package/dist/atoms/org/index.js +5 -11
  60. package/dist/atoms/search/index.cjs +57 -41
  61. package/dist/atoms/search/index.d.cts +11 -8
  62. package/dist/atoms/search/index.d.ts +12 -9
  63. package/dist/atoms/search/index.js +26 -10
  64. package/dist/atoms/search/types.cjs +5 -0
  65. package/dist/atoms/search/types.d.cts +2 -0
  66. package/dist/atoms/search/types.d.ts +2 -0
  67. package/dist/atoms/search/types.js +3 -0
  68. package/dist/cdnContext-BMjVfBft.cjs +53 -0
  69. package/dist/cdnContext-DgsJ00Tb.js +38 -0
  70. package/dist/{chat-CHmD79E1.js → chat-B4lkFIxz.js} +1 -1
  71. package/dist/chat-D1Eat8Ih.cjs +394 -0
  72. package/dist/chat-DPJGdUkz.js +258 -0
  73. package/dist/{chat-_NzpO_Hn.cjs → chat-zA-K4tR_.cjs} +1 -1
  74. package/dist/chatElementDisplayLocation-9SW40Dd3.d.cts +25 -0
  75. package/dist/chatElementDisplayLocation-C1tRM5OD.d.ts +25 -0
  76. package/dist/chatSearch-B5jMnCYX.js +315 -0
  77. package/dist/chatSearch-DWMiyWN0.cjs +444 -0
  78. package/dist/chatState-BisPJd5g.cjs +120 -0
  79. package/dist/chatState-BrmBYY8l.js +34 -0
  80. package/dist/commerce-api-CxDIfeME.cjs +318 -0
  81. package/dist/commerce-api-DagLj3D_.js +311 -0
  82. package/dist/{components-Dl-TMD9k.js → components-B1edduHz.js} +1 -1
  83. package/dist/{components-D0XDRcaN.cjs → components-g0G58Kat.cjs} +1 -1
  84. package/dist/config/locators/components/chat/index.cjs +1 -1
  85. package/dist/config/locators/components/chat/index.d.cts +1 -1
  86. package/dist/config/locators/components/chat/index.d.ts +1 -1
  87. package/dist/config/locators/components/chat/index.js +1 -1
  88. package/dist/config/locators/components/chat/variants/index.d.cts +1 -1
  89. package/dist/config/locators/components/chat/variants/index.d.ts +1 -1
  90. package/dist/config/locators/components/index.cjs +1 -1
  91. package/dist/config/locators/components/index.d.cts +1 -1
  92. package/dist/config/locators/components/index.d.ts +1 -1
  93. package/dist/config/locators/components/index.js +1 -1
  94. package/dist/config/locators/components/search/index.d.cts +1 -1
  95. package/dist/config/locators/components/search/index.d.ts +1 -1
  96. package/dist/config/locators/index.cjs +42 -22
  97. package/dist/config/locators/index.d.cts +2 -2
  98. package/dist/config/locators/index.d.ts +3 -3
  99. package/dist/config/locators/index.js +25 -5
  100. package/dist/contexts/amplitudeContext/index.cjs +21 -0
  101. package/dist/contexts/amplitudeContext/index.d.cts +2 -0
  102. package/dist/contexts/amplitudeContext/index.d.ts +2 -0
  103. package/dist/contexts/amplitudeContext/index.js +19 -0
  104. package/dist/contexts/cdnContext/index.cjs +7 -0
  105. package/dist/contexts/cdnContext/index.d.cts +15 -0
  106. package/dist/contexts/cdnContext/index.d.ts +15 -0
  107. package/dist/contexts/cdnContext/index.js +6 -0
  108. package/dist/contexts/chatContext/index.cjs +329 -0
  109. package/dist/contexts/chatContext/index.d.cts +15 -0
  110. package/dist/contexts/chatContext/index.d.ts +15 -0
  111. package/dist/contexts/chatContext/index.js +322 -0
  112. package/dist/contexts/enviveConfigContext/index.cjs +7 -0
  113. package/dist/contexts/enviveConfigContext/index.d.cts +30 -0
  114. package/dist/contexts/enviveConfigContext/index.d.ts +30 -0
  115. package/dist/contexts/enviveConfigContext/index.js +6 -0
  116. package/dist/contexts/enviveCssContext/index.cjs +65 -0
  117. package/dist/contexts/enviveCssContext/index.d.cts +10 -0
  118. package/dist/contexts/enviveCssContext/index.d.ts +10 -0
  119. package/dist/contexts/enviveCssContext/index.js +62 -0
  120. package/dist/contexts/featureFlagContext/index.cjs +107 -0
  121. package/dist/contexts/featureFlagContext/index.d.cts +20 -0
  122. package/dist/contexts/featureFlagContext/index.d.ts +20 -0
  123. package/dist/contexts/featureFlagContext/index.js +103 -0
  124. package/dist/contexts/featureFlagServiceContext/index.cjs +6 -0
  125. package/dist/contexts/featureFlagServiceContext/index.d.cts +5 -0
  126. package/dist/contexts/featureFlagServiceContext/index.d.ts +5 -0
  127. package/dist/contexts/featureFlagServiceContext/index.js +5 -0
  128. package/dist/contexts/graphqlContext/index.cjs +15 -0
  129. package/dist/contexts/graphqlContext/index.d.cts +12 -0
  130. package/dist/contexts/graphqlContext/index.d.ts +12 -0
  131. package/dist/contexts/graphqlContext/index.js +14 -0
  132. package/dist/contexts/localStorageContext/index.cjs +6 -0
  133. package/dist/contexts/localStorageContext/index.d.cts +30 -0
  134. package/dist/contexts/localStorageContext/index.d.ts +30 -0
  135. package/dist/contexts/localStorageContext/index.js +4 -0
  136. package/dist/contexts/newOrgConfigContext/index.cjs +19 -0
  137. package/dist/contexts/newOrgConfigContext/index.d.cts +30 -0
  138. package/dist/contexts/newOrgConfigContext/index.d.ts +30 -0
  139. package/dist/contexts/newOrgConfigContext/index.js +18 -0
  140. package/dist/contexts/searchContext/index.cjs +23 -0
  141. package/dist/contexts/searchContext/index.d.cts +16 -0
  142. package/dist/contexts/searchContext/index.d.ts +16 -0
  143. package/dist/contexts/searchContext/index.js +22 -0
  144. package/dist/contexts/sessionStorageContext/index.cjs +5 -0
  145. package/dist/contexts/sessionStorageContext/index.d.cts +15 -0
  146. package/dist/contexts/sessionStorageContext/index.d.ts +15 -0
  147. package/dist/contexts/sessionStorageContext/index.js +4 -0
  148. package/dist/contexts/shopifyUrlContext/index.cjs +5 -0
  149. package/dist/contexts/shopifyUrlContext/index.d.cts +20 -0
  150. package/dist/contexts/shopifyUrlContext/index.d.ts +20 -0
  151. package/dist/contexts/shopifyUrlContext/index.js +4 -0
  152. package/dist/contexts/systemSettingsContext/index.cjs +8 -0
  153. package/dist/contexts/systemSettingsContext/index.d.cts +36 -0
  154. package/dist/contexts/systemSettingsContext/index.d.ts +36 -0
  155. package/dist/contexts/systemSettingsContext/index.js +6 -0
  156. package/dist/contexts/types.cjs +7 -0
  157. package/dist/contexts/types.d.cts +4 -0
  158. package/dist/contexts/types.d.ts +4 -0
  159. package/dist/contexts/types.js +3 -0
  160. package/dist/contexts/userIdentityContext/index.cjs +26 -0
  161. package/dist/contexts/userIdentityContext/index.d.cts +2 -0
  162. package/dist/contexts/userIdentityContext/index.d.ts +2 -0
  163. package/dist/contexts/userIdentityContext/index.js +25 -0
  164. package/dist/domObserver-B6cRGTny.js +285 -0
  165. package/dist/domObserver-DQZwhPrc.cjs +304 -0
  166. package/dist/enviveConfig-BJZ4zTJo.js +62 -0
  167. package/dist/enviveConfig-DdBrcGSQ.cjs +130 -0
  168. package/dist/enviveConfigContext-78orE_uH.cjs +60 -0
  169. package/dist/enviveConfigContext-jBCCWQH9.js +45 -0
  170. package/dist/events/index.cjs +1 -1
  171. package/dist/events/index.d.ts +1 -1
  172. package/dist/events/index.js +1 -1
  173. package/dist/{events-ClCDFK7t.js → events-BHJJjPDN.js} +1 -1
  174. package/dist/{events-Da7gpmGv.cjs → events-B_fJZf9E.cjs} +1 -1
  175. package/dist/featureFlagServiceContext-ChL7DJ53.cjs +56 -0
  176. package/dist/featureFlagServiceContext-D1PzHsEs.d.ts +23 -0
  177. package/dist/featureFlagServiceContext-DQwlCTde.d.cts +23 -0
  178. package/dist/featureFlagServiceContext-DzFfmb1Z.js +42 -0
  179. package/dist/featureGates-Blx10fwB.js +27 -0
  180. package/dist/featureGates-DcZNrUma.cjs +33 -0
  181. package/dist/frontendConfig-DrvrQSm8.d.ts +857 -0
  182. package/dist/frontendConfig-wg41mBok.d.cts +857 -0
  183. package/dist/{globalSearch-BTeZxvk1.cjs → globalSearch-Bnjlxtr5.cjs} +1 -1
  184. package/dist/{globalSearch-b0wC7ZEO.js → globalSearch-CRWUqnjq.js} +1 -1
  185. package/dist/graphql-B9HhDXYt.cjs +53 -0
  186. package/dist/graphql-W7GMIHUu.js +36 -0
  187. package/dist/graphqlConfig-Bn-HLHsh.cjs +39 -0
  188. package/dist/graphqlConfig-DtZm_YaH.js +14 -0
  189. package/dist/graphqlContext-BJg7B--J.js +96 -0
  190. package/dist/graphqlContext-DI-_VRmb.cjs +111 -0
  191. package/dist/hooks/AmplitudeOperations/index.cjs +21 -0
  192. package/dist/hooks/AmplitudeOperations/index.d.cts +12 -0
  193. package/dist/hooks/AmplitudeOperations/index.d.ts +12 -0
  194. package/dist/hooks/AmplitudeOperations/index.js +21 -0
  195. package/dist/hooks/AppDetails/index.cjs +18 -0
  196. package/dist/hooks/AppDetails/index.d.cts +26 -0
  197. package/dist/hooks/AppDetails/index.d.ts +26 -0
  198. package/dist/hooks/AppDetails/index.js +18 -0
  199. package/dist/hooks/BlockBackButton/index.cjs +29 -0
  200. package/dist/hooks/BlockBackButton/index.d.cts +5 -0
  201. package/dist/hooks/BlockBackButton/index.d.ts +5 -0
  202. package/dist/hooks/BlockBackButton/index.js +27 -0
  203. package/dist/hooks/CdnOperations/index.cjs +24 -0
  204. package/dist/hooks/CdnOperations/index.d.cts +7 -0
  205. package/dist/hooks/CdnOperations/index.d.ts +7 -0
  206. package/dist/hooks/CdnOperations/index.js +22 -0
  207. package/dist/hooks/ChatToggle/index.cjs +63 -0
  208. package/dist/hooks/ChatToggle/index.d.cts +12 -0
  209. package/dist/hooks/ChatToggle/index.d.ts +12 -0
  210. package/dist/hooks/ChatToggle/index.js +61 -0
  211. package/dist/hooks/ChatToggleAnalytics/index.cjs +37 -0
  212. package/dist/hooks/ChatToggleAnalytics/index.d.cts +9 -0
  213. package/dist/hooks/ChatToggleAnalytics/index.d.ts +9 -0
  214. package/dist/hooks/ChatToggleAnalytics/index.js +35 -0
  215. package/dist/hooks/CustomerSupportHandoff/index.cjs +36 -0
  216. package/dist/hooks/CustomerSupportHandoff/index.d.cts +16 -0
  217. package/dist/hooks/CustomerSupportHandoff/index.d.ts +16 -0
  218. package/dist/hooks/CustomerSupportHandoff/index.js +34 -0
  219. package/dist/hooks/Debounce/index.cjs +3 -0
  220. package/dist/hooks/Debounce/index.d.cts +5 -0
  221. package/dist/hooks/Debounce/index.d.ts +5 -0
  222. package/dist/hooks/Debounce/index.js +3 -0
  223. package/dist/hooks/ElementObserver/index.cjs +179 -0
  224. package/dist/hooks/ElementObserver/index.d.cts +29 -0
  225. package/dist/hooks/ElementObserver/index.d.ts +29 -0
  226. package/dist/hooks/ElementObserver/index.js +177 -0
  227. package/dist/hooks/GrabAndScroll/index.cjs +99 -0
  228. package/dist/hooks/GrabAndScroll/index.d.cts +14 -0
  229. package/dist/hooks/GrabAndScroll/index.d.ts +14 -0
  230. package/dist/hooks/GrabAndScroll/index.js +97 -0
  231. package/dist/hooks/GraphQLConfig/index.cjs +16 -0
  232. package/dist/hooks/GraphQLConfig/index.d.cts +15 -0
  233. package/dist/hooks/GraphQLConfig/index.d.ts +15 -0
  234. package/dist/hooks/GraphQLConfig/index.js +15 -0
  235. package/dist/hooks/IdentifyUser/index.cjs +59 -0
  236. package/dist/hooks/IdentifyUser/index.d.cts +10 -0
  237. package/dist/hooks/IdentifyUser/index.d.ts +10 -0
  238. package/dist/hooks/IdentifyUser/index.js +57 -0
  239. package/dist/hooks/ImageResolver/index.cjs +54 -0
  240. package/dist/hooks/ImageResolver/index.d.cts +7 -0
  241. package/dist/hooks/ImageResolver/index.d.ts +7 -0
  242. package/dist/hooks/ImageResolver/index.js +52 -0
  243. package/dist/hooks/Intersection/index.cjs +3 -0
  244. package/dist/hooks/Intersection/index.d.cts +7 -0
  245. package/dist/hooks/Intersection/index.d.ts +7 -0
  246. package/dist/hooks/Intersection/index.js +3 -0
  247. package/dist/hooks/IsSmallScreen/index.cjs +22 -0
  248. package/dist/hooks/IsSmallScreen/index.d.cts +5 -0
  249. package/dist/hooks/IsSmallScreen/index.d.ts +5 -0
  250. package/dist/hooks/IsSmallScreen/index.js +20 -0
  251. package/dist/hooks/LocalStorageOperations/index.cjs +79 -0
  252. package/dist/hooks/LocalStorageOperations/index.d.cts +17 -0
  253. package/dist/hooks/LocalStorageOperations/index.d.ts +17 -0
  254. package/dist/hooks/LocalStorageOperations/index.js +74 -0
  255. package/dist/hooks/MessageFilter/index.cjs +53 -0
  256. package/dist/hooks/MessageFilter/index.d.cts +29 -0
  257. package/dist/hooks/MessageFilter/index.d.ts +29 -0
  258. package/dist/hooks/MessageFilter/index.js +53 -0
  259. package/dist/hooks/MessageScrollObserver/index.cjs +36 -0
  260. package/dist/hooks/MessageScrollObserver/index.d.cts +5 -0
  261. package/dist/hooks/MessageScrollObserver/index.d.ts +5 -0
  262. package/dist/hooks/MessageScrollObserver/index.js +34 -0
  263. package/dist/hooks/NewOrgConfig/index.cjs +19 -0
  264. package/dist/hooks/NewOrgConfig/index.d.cts +22 -0
  265. package/dist/hooks/NewOrgConfig/index.d.ts +22 -0
  266. package/dist/hooks/NewOrgConfig/index.js +19 -0
  267. package/dist/hooks/Search/index.cjs +324 -0
  268. package/dist/hooks/Search/index.d.cts +66 -0
  269. package/dist/hooks/Search/index.d.ts +66 -0
  270. package/dist/hooks/Search/index.js +321 -0
  271. package/dist/hooks/SearchOperations/index.cjs +101 -0
  272. package/dist/hooks/SearchOperations/index.d.cts +22 -0
  273. package/dist/hooks/SearchOperations/index.d.ts +22 -0
  274. package/dist/hooks/SearchOperations/index.js +98 -0
  275. package/dist/hooks/SessionStorageOperations/index.cjs +30 -0
  276. package/dist/hooks/SessionStorageOperations/index.d.cts +8 -0
  277. package/dist/hooks/SessionStorageOperations/index.d.ts +8 -0
  278. package/dist/hooks/SessionStorageOperations/index.js +28 -0
  279. package/dist/hooks/ShopifyUrlOperations/index.cjs +53 -0
  280. package/dist/hooks/ShopifyUrlOperations/index.d.cts +23 -0
  281. package/dist/hooks/ShopifyUrlOperations/index.d.ts +23 -0
  282. package/dist/hooks/ShopifyUrlOperations/index.js +49 -0
  283. package/dist/hooks/SnapCalculator/index.cjs +29 -0
  284. package/dist/hooks/SnapCalculator/index.d.cts +12 -0
  285. package/dist/hooks/SnapCalculator/index.d.ts +12 -0
  286. package/dist/hooks/SnapCalculator/index.js +27 -0
  287. package/dist/hooks/SystemSettingsContext/index.cjs +7 -0
  288. package/dist/hooks/SystemSettingsContext/index.d.cts +22 -0
  289. package/dist/hooks/SystemSettingsContext/index.d.ts +22 -0
  290. package/dist/hooks/SystemSettingsContext/index.js +7 -0
  291. package/dist/hooks/TrackComponentVisibleEvent/index.cjs +21 -0
  292. package/dist/hooks/TrackComponentVisibleEvent/index.d.cts +18 -0
  293. package/dist/hooks/TrackComponentVisibleEvent/index.d.ts +18 -0
  294. package/dist/hooks/TrackComponentVisibleEvent/index.js +21 -0
  295. package/dist/hooks/UpdateAnalyticsProps/index.cjs +61 -0
  296. package/dist/hooks/UpdateAnalyticsProps/index.d.cts +9 -0
  297. package/dist/hooks/UpdateAnalyticsProps/index.d.ts +9 -0
  298. package/dist/hooks/UpdateAnalyticsProps/index.js +58 -0
  299. package/dist/index-BCLaqnc2.d.cts +689 -0
  300. package/dist/{index-D2VaMPA3.d.ts → index-BS7-_CW4.d.ts} +1 -1
  301. package/dist/{index-BTK5uzs6.d.cts → index-Bmub8e38.d.cts} +1 -1
  302. package/dist/index-Bs0QtkSu.d.ts +689 -0
  303. package/dist/{index-BzgkfbNO.d.cts → index-CESxqFso.d.cts} +1 -1
  304. package/dist/index-CKeS9dud.d.ts +28 -0
  305. package/dist/{index-ClJ0nMsR.d.cts → index-CiWEYzXl.d.cts} +2 -2
  306. package/dist/index-CyXULMyI.d.cts +186 -0
  307. package/dist/index-Cz10TYQA.d.cts +28 -0
  308. package/dist/{index-CSIOQD-A.d.ts → index-D8ThXrqI.d.ts} +1 -1
  309. package/dist/{index-Dxpscrvz.d.ts → index-D9VegTU-.d.ts} +1 -1
  310. package/dist/{index-Cr2y08f1.d.ts → index-DBqgBV9N.d.ts} +1 -1
  311. package/dist/{index-CKKkTsms.d.ts → index-DNUKSg6R.d.ts} +1 -1
  312. package/dist/{index-BdNKc2ix.d.cts → index-DO0s5KNA.d.cts} +1 -1
  313. package/dist/{index-Cx9e-fRi.d.ts → index-DuyZQOE1.d.ts} +2 -2
  314. package/dist/{index-BrXuc_Ck.d.cts → index-REhT-Pls.d.cts} +1 -1
  315. package/dist/index-fKJB9EFb.d.ts +186 -0
  316. package/dist/interceptors/index.cjs +3 -12
  317. package/dist/interceptors/index.d.cts +12 -18
  318. package/dist/interceptors/index.d.ts +13 -19
  319. package/dist/interceptors/index.js +3 -11
  320. package/dist/interceptors/types.cjs +1 -0
  321. package/dist/interceptors/types.d.cts +12 -0
  322. package/dist/interceptors/types.d.ts +12 -0
  323. package/dist/interceptors/types.js +3 -0
  324. package/dist/localStorageContext-6OrGDFid.js +95 -0
  325. package/dist/localStorageContext-Bld0OWmG.cjs +115 -0
  326. package/dist/{logger-Dln20ans.cjs → logger-CSL2jqI9.cjs} +1 -1
  327. package/dist/{logger-pdEEY8T2.js → logger-D5MFf3nW.js} +1 -1
  328. package/dist/models-Dn8Emdzc.js +1295 -0
  329. package/dist/models-ZpQcRZQK.cjs +1536 -0
  330. package/dist/newOrgConfigAtom--tewb_G0.js +8 -0
  331. package/dist/newOrgConfigAtom-DkSi45_Q.cjs +15 -0
  332. package/dist/newOrgConfigContext-B3aeblfE.cjs +68 -0
  333. package/dist/newOrgConfigContext-B5mzHKTG.js +53 -0
  334. package/dist/{nodeSelector-vKB44CDB.d.cts → nodeSelector-XsUa5vNH.d.cts} +1 -1
  335. package/dist/org-B2uRkPt3.js +12 -0
  336. package/dist/org-ClUxpHPZ.cjs +43 -0
  337. package/dist/orgAnalyticsConfig-CuWXijsr.cjs +39 -0
  338. package/dist/orgAnalyticsConfig-DOceTdNp.js +14 -0
  339. package/dist/search-BIomqYy6.d.ts +20 -0
  340. package/dist/search-B_Hg-Es2.d.cts +20 -0
  341. package/dist/search-Bn4x-3TG.js +126 -0
  342. package/dist/search-DsQm_pAi.cjs +205 -0
  343. package/dist/{search-filter-types-C-zZSpGo.d.ts → search-filter-types-B5xcaEit.d.ts} +1 -1
  344. package/dist/{search-filter-types-9rTb3jMj.d.cts → search-filter-types-Byd0lEUa.d.cts} +1 -1
  345. package/dist/searchContext-Cn-pCoDy.cjs +145 -0
  346. package/dist/searchContext-fQDGSvUF.js +129 -0
  347. package/dist/searchServiceAdapter-BSPZOg1r.js +16 -0
  348. package/dist/searchServiceAdapter-DrjFCiw8.cjs +34 -0
  349. package/dist/sessionStorageContext-C5MUl2zf.js +52 -0
  350. package/dist/sessionStorageContext-CXE7iHtP.cjs +66 -0
  351. package/dist/shopifyUrlContext-7ppKx1jJ.cjs +75 -0
  352. package/dist/shopifyUrlContext-BSYWsoX9.js +61 -0
  353. package/dist/spiffyWidgets-CdxRcXhW.d.ts +20 -0
  354. package/dist/spiffyWidgets-DxGuuuCG.d.cts +20 -0
  355. package/dist/systemSettingsContext-BdAe_3Ll.cjs +60 -0
  356. package/dist/systemSettingsContext-Cjyo2o3N.js +39 -0
  357. package/dist/{test-types-CuOq25VT.d.cts → test-types-DQB1JqOf.d.cts} +1 -1
  358. package/dist/{test-types-CXVJxTeu.d.ts → test-types-ZuRAYwox.d.ts} +1 -1
  359. package/dist/types/index.cjs +33 -5
  360. package/dist/types/index.d.cts +2 -2
  361. package/dist/types/index.d.ts +2 -2
  362. package/dist/types/index.js +30 -3
  363. package/dist/types-BCz-hOvv.d.ts +51 -0
  364. package/dist/types-BwNrLPSZ.cjs +106 -0
  365. package/dist/types-D3uOF0Oy.js +76 -0
  366. package/dist/types-DIk0FLwd.js +30 -0
  367. package/dist/types-DNLkuGWZ.cjs +48 -0
  368. package/dist/types-DzwBmZHy.d.cts +10 -0
  369. package/dist/types-Eip78dWv.d.cts +51 -0
  370. package/dist/types-YvACLe2e.d.ts +10 -0
  371. package/dist/types.cjs +0 -0
  372. package/dist/types.d.cts +15 -0
  373. package/dist/types.d.ts +15 -0
  374. package/dist/types.js +1 -0
  375. package/dist/unsupportedProductExceptions--t7AQFou.js +20 -0
  376. package/dist/unsupportedProductExceptions-Dak4AD-t.cjs +32 -0
  377. package/dist/urlsParser-BV5yF8sa.cjs +78 -0
  378. package/dist/urlsParser-DUgV_Qy9.js +42 -0
  379. package/dist/useAmplitudeOperations-C6Osqkso.js +34 -0
  380. package/dist/useAmplitudeOperations-Cco_B3A5.cjs +41 -0
  381. package/dist/useAppDetails-CGqtN6sJ.cjs +38 -0
  382. package/dist/useAppDetails-DwX2Rhed.js +30 -0
  383. package/dist/useDebounce-BJqnCBcl.cjs +26 -0
  384. package/dist/useDebounce-Ce31ph7m.js +19 -0
  385. package/dist/useGraphQLConfig-ByOZb3oZ.js +63 -0
  386. package/dist/useGraphQLConfig-DItL4BgM.cjs +76 -0
  387. package/dist/useIntersection-Czeo04jt.js +21 -0
  388. package/dist/useIntersection-DnZNLcnu.cjs +28 -0
  389. package/dist/useMessageInterceptor-C9p9No1n.cjs +33 -0
  390. package/dist/useMessageInterceptor-tntd2rvB.js +25 -0
  391. package/dist/userIdentityContext-C1HzZFb2.cjs +125 -0
  392. package/dist/userIdentityContext-CDfosvOO.js +109 -0
  393. package/dist/userIdentityContext-DBXoLrFu.d.cts +20 -0
  394. package/dist/userIdentityContext-W1OWF3cG.d.ts +20 -0
  395. package/dist/utilityTypes-CWJZb9BZ.js +1 -0
  396. package/dist/utilityTypes-YGiMSyV7.cjs +0 -0
  397. package/dist/utils-BA5HXmkL.cjs +74 -0
  398. package/dist/utils-BTDw2aMx.cjs +715 -0
  399. package/dist/utils-C7S9YiFp.js +54 -0
  400. package/dist/utils-CF13DfA1.js +606 -0
  401. package/dist/variantInfo-58JLeDJb.js +1 -0
  402. package/dist/variantInfo-DRFLcGc7.cjs +0 -0
  403. package/package.json +278 -25
  404. package/src/{adapters/spiffy/commerce/api.ts → application/commerce-api.ts} +31 -23
  405. package/src/application/models/colorsConfig.ts +18 -18
  406. package/src/application/models/frontendConfig.ts +3 -3
  407. package/src/application/models/graphql/queries/getMerchantColorsQuery.ts +1 -1
  408. package/src/application/models/graphql/queries/getMerchantFrontendConfigQuery.ts +1 -1
  409. package/src/application/models/index.ts +0 -3
  410. package/src/application/models/localStorageEventListener.ts +2 -2
  411. package/src/application/models/utils/snakeToCamelTransformer.ts +8 -8
  412. package/src/application/models/validators/validateGraphQLColorsConfig.ts +0 -21
  413. package/src/application/models/validators/validateGraphQLFrontendConfig.ts +2 -2
  414. package/src/application/utils/analyticsUtils.ts +53 -22
  415. package/src/application/utils/cdnUtils.ts +11 -0
  416. package/src/atoms/amplitude/amplitudeTrackEventAtom.ts +15 -0
  417. package/src/atoms/app/index.ts +7 -17
  418. package/src/atoms/app/variant.ts +13 -4
  419. package/src/atoms/chat/chatState.ts +28 -18
  420. package/src/atoms/chat/messageQueue.ts +36 -5
  421. package/src/atoms/chat/replies.ts +45 -37
  422. package/src/atoms/envive/enviveConfig.ts +10 -6
  423. package/src/atoms/org/graphqlConfig.ts +6 -38
  424. package/src/atoms/org/index.ts +3 -4
  425. package/src/atoms/org/newOrgConfigAtom.ts +4 -0
  426. package/src/atoms/search/chatSearch.ts +11 -5
  427. package/src/atoms/search/searchAPI.ts +22 -12
  428. package/src/atoms/search/searchServiceAdapter.ts +25 -0
  429. package/src/contexts/amplitudeContext/amplitudeContext.tsx +465 -0
  430. package/src/contexts/amplitudeContext/index.ts +1 -0
  431. package/src/contexts/cdnContext/cdnContext.tsx +48 -0
  432. package/src/contexts/cdnContext/index.ts +1 -0
  433. package/src/contexts/{chatContext.tsx → chatContext/chatContext.tsx} +16 -13
  434. package/src/contexts/chatContext/index.ts +1 -0
  435. package/src/contexts/{enviveConfigContext.tsx → enviveConfigContext/enviveConfigContext.tsx} +23 -18
  436. package/src/contexts/enviveConfigContext/index.ts +1 -0
  437. package/src/contexts/enviveCssContext/enviveCssContext.tsx +49 -0
  438. package/src/contexts/enviveCssContext/index.ts +1 -0
  439. package/src/contexts/featureFlagContext/featureFlagContext.tsx +193 -0
  440. package/src/contexts/featureFlagContext/index.ts +1 -0
  441. package/src/contexts/featureFlagServiceContext/featureFlagServiceContext.tsx +87 -0
  442. package/src/contexts/featureFlagServiceContext/index.ts +1 -0
  443. package/src/contexts/graphqlContext/graphqlContext.tsx +165 -0
  444. package/src/contexts/graphqlContext/index.ts +1 -0
  445. package/src/contexts/localStorageContext/index.ts +1 -0
  446. package/src/contexts/localStorageContext/localStorageContext.tsx +159 -0
  447. package/src/contexts/newOrgConfigContext/index.ts +1 -0
  448. package/src/contexts/newOrgConfigContext/newOrgConfigContext.tsx +70 -0
  449. package/src/contexts/searchContext/index.ts +1 -0
  450. package/src/contexts/searchContext/searchContext.tsx +187 -0
  451. package/src/contexts/sessionStorageContext/index.ts +1 -0
  452. package/src/contexts/sessionStorageContext/sessionStorageContext.tsx +80 -0
  453. package/src/contexts/shopifyUrlContext/index.ts +1 -0
  454. package/src/contexts/shopifyUrlContext/shopifyUrlContext.tsx +97 -0
  455. package/src/contexts/systemSettingsContext/index.ts +1 -0
  456. package/src/contexts/types.ts +12 -8
  457. package/src/contexts/userIdentityContext/index.ts +1 -0
  458. package/src/contexts/userIdentityContext/userIdentityContext.tsx +197 -0
  459. package/src/events/registerAnalyticsListeners.ts +32 -38
  460. package/src/favicon.ico +0 -0
  461. package/src/hooks/AmplitudeOperations/index.ts +1 -0
  462. package/src/hooks/AmplitudeOperations/useAmplitudeOperations.ts +35 -0
  463. package/src/hooks/AppDetails/index.ts +1 -0
  464. package/src/hooks/AppDetails/useAppDetails.ts +47 -0
  465. package/src/hooks/BlockBackButton/index.ts +1 -0
  466. package/src/hooks/CdnOperations/index.ts +1 -0
  467. package/src/hooks/CdnOperations/useCdnOperations.ts +16 -0
  468. package/src/hooks/ChatToggle/index.ts +1 -0
  469. package/src/hooks/{useChatToggle.ts → ChatToggle/useChatToggle.ts} +5 -4
  470. package/src/hooks/ChatToggleAnalytics/index.ts +1 -0
  471. package/src/hooks/ChatToggleAnalytics/useChatToggleAnalytics.ts +15 -0
  472. package/src/hooks/CustomerSupportHandoff/index.ts +1 -0
  473. package/src/hooks/Debounce/index.ts +1 -0
  474. package/src/hooks/ElementObserver/index.ts +1 -0
  475. package/src/hooks/GrabAndScroll/index.ts +1 -0
  476. package/src/hooks/GraphQLConfig/index.ts +1 -0
  477. package/src/hooks/GraphQLConfig/useGraphQLConfig.ts +63 -0
  478. package/src/hooks/IdentifyUser/index.ts +1 -0
  479. package/src/hooks/IdentifyUser/useIdentifyUser.ts +33 -0
  480. package/src/hooks/ImageResolver/index.ts +1 -0
  481. package/src/hooks/{useImageResolver.ts → ImageResolver/useImageResolver.ts} +7 -7
  482. package/src/hooks/Intersection/index.ts +1 -0
  483. package/src/hooks/IsSmallScreen/index.ts +1 -0
  484. package/src/hooks/LocalStorageOperations/index.ts +1 -0
  485. package/src/hooks/LocalStorageOperations/useLocalStorageOperations.ts +92 -0
  486. package/src/hooks/MessageFilter/index.ts +1 -0
  487. package/src/hooks/MessageScrollObserver/index.ts +1 -0
  488. package/src/hooks/NewOrgConfig/index.ts +1 -0
  489. package/src/hooks/NewOrgConfig/useNewOrgConfig.ts +7 -0
  490. package/src/hooks/Search/index.ts +1 -0
  491. package/src/hooks/{useSearch.tsx → Search/useSearch.tsx} +24 -20
  492. package/src/hooks/SearchOperations/index.ts +1 -0
  493. package/src/hooks/SearchOperations/useSearchOperations.ts +97 -0
  494. package/src/hooks/SessionStorageOperations/index.ts +1 -0
  495. package/src/hooks/SessionStorageOperations/useSessionStorageOperations.ts +28 -0
  496. package/src/hooks/ShopifyUrlOperations/index.ts +1 -0
  497. package/src/hooks/ShopifyUrlOperations/useShopifyUrlOperations.ts +45 -0
  498. package/src/hooks/SnapCalculator/index.ts +1 -0
  499. package/src/hooks/SystemSettingsContext/index.ts +1 -0
  500. package/src/hooks/SystemSettingsContext/useSystemSettingsContext.ts +14 -0
  501. package/src/hooks/TrackComponentVisibleEvent/index.ts +1 -0
  502. package/src/hooks/{useTrackComponentVisibleEvent.ts → TrackComponentVisibleEvent/useTrackComponentVisibleEvent.ts} +12 -8
  503. package/src/hooks/UpdateAnalyticsProps/index.ts +1 -0
  504. package/src/hooks/{useUpdateAnalyticsProps.ts → UpdateAnalyticsProps/useUpdateAnalyticsProps.ts} +28 -17
  505. package/src/interceptors/index.ts +0 -1
  506. package/src/interceptors/useMessageInterceptor.ts +5 -8
  507. package/src/merchants/domInsertion.ts +30 -0
  508. package/src/merchants/gridInsertion.ts +19 -0
  509. package/src/types/config-versions.ts +6 -0
  510. package/src/types.ts +0 -53
  511. package/dist/adapters/amplitude/index.cjs +0 -14
  512. package/dist/adapters/amplitude/index.d.cts +0 -6
  513. package/dist/adapters/amplitude/index.d.ts +0 -6
  514. package/dist/adapters/amplitude/index.js +0 -12
  515. package/dist/api-B2euFL-5.cjs +0 -269
  516. package/dist/api-XRr_lAG6.js +0 -190
  517. package/dist/application/config/index.cjs +0 -43
  518. package/dist/application/config/index.d.cts +0 -15
  519. package/dist/application/config/index.d.ts +0 -15
  520. package/dist/application/config/index.js +0 -41
  521. package/dist/application/service/customerService/index.cjs +0 -4
  522. package/dist/application/service/customerService/index.d.cts +0 -3
  523. package/dist/application/service/customerService/index.d.ts +0 -3
  524. package/dist/application/service/customerService/index.js +0 -4
  525. package/dist/application/service/index.cjs +0 -42
  526. package/dist/application/service/index.d.cts +0 -413
  527. package/dist/application/service/index.d.ts +0 -413
  528. package/dist/application/service/index.js +0 -12
  529. package/dist/atomStore-ONYy0XuA.d.cts +0 -24
  530. package/dist/atomStore-kOKiEcNl.d.ts +0 -24
  531. package/dist/bandolier-Da4wt6sm.cjs +0 -1230
  532. package/dist/bandolier-DzEmYWcz.js +0 -1230
  533. package/dist/carpe-AXipz0Xl.cjs +0 -608
  534. package/dist/carpe-CaUKwcEa.js +0 -606
  535. package/dist/contexts/index.cjs +0 -26
  536. package/dist/contexts/index.d.cts +0 -10
  537. package/dist/contexts/index.d.ts +0 -10
  538. package/dist/contexts/index.js +0 -12
  539. package/dist/contexts-CtRlNXaS.js +0 -7674
  540. package/dist/contexts-CtgmnYNn.cjs +0 -9088
  541. package/dist/coterie--MGvWeVh.cjs +0 -240
  542. package/dist/coterie-oKHAT0lx.js +0 -240
  543. package/dist/customerService-BG1uNZZ1.cjs +0 -36
  544. package/dist/customerService-BHQRnLhC.js +0 -23
  545. package/dist/custservice-types-C8-9vKWb.cjs +0 -35
  546. package/dist/custservice-types-CamCiXjq.js +0 -23
  547. package/dist/default-B4fINY5_.cjs +0 -4
  548. package/dist/default-BrTQxA0c.js +0 -4
  549. package/dist/default-C3LrcbZB.cjs +0 -199
  550. package/dist/default-CXkYrLEr.js +0 -176
  551. package/dist/divIds-0Vj9g-fM.js +0 -23
  552. package/dist/divIds-CjceLRD9.cjs +0 -131
  553. package/dist/dreamlandBaby-BEqt0eKF.js +0 -347
  554. package/dist/dreamlandBaby-DBDjEJCc.cjs +0 -347
  555. package/dist/embedded-B5Wi9g0T.cjs +0 -131
  556. package/dist/embedded-_cLpd6FK.js +0 -23
  557. package/dist/entrypoints-CNUvSgnk.js +0 -7
  558. package/dist/entrypoints-DM9Sm18O.cjs +0 -19
  559. package/dist/featureFlagService-5wdmW02z.d.ts +0 -18
  560. package/dist/featureFlagService-DaelrXEk.d.cts +0 -18
  561. package/dist/fiveCbd-CdqNt16h.cjs +0 -614
  562. package/dist/fiveCbd-D6B-sgnX.js +0 -614
  563. package/dist/forLoveAndLemons-C7GsJG7f.cjs +0 -668
  564. package/dist/forLoveAndLemons-gNDlMtPR.js +0 -666
  565. package/dist/greenpan-B5AaW4M_.js +0 -398
  566. package/dist/greenpan-DrORpYms.cjs +0 -398
  567. package/dist/grooveLife-BJqsfH2H.cjs +0 -343
  568. package/dist/grooveLife-xIUmDM8s.js +0 -343
  569. package/dist/homegrownCannabis-8TZ21u6L.cjs +0 -411
  570. package/dist/homegrownCannabis-BtMuEvbZ.js +0 -411
  571. package/dist/hooks/index.cjs +0 -37
  572. package/dist/hooks/index.d.cts +0 -232
  573. package/dist/hooks/index.d.ts +0 -232
  574. package/dist/hooks/index.js +0 -12
  575. package/dist/index-CKUpnyJQ.d.ts +0 -72
  576. package/dist/index-CbJZOEU4.d.ts +0 -203
  577. package/dist/index-DFL1dIT_.d.ts +0 -7
  578. package/dist/index-DXpgMVpp.d.ts +0 -749
  579. package/dist/index-K2kNsOTw.d.cts +0 -203
  580. package/dist/index-MFbPQ8Ji.d.ts +0 -95
  581. package/dist/index-VHFMGkO-.d.cts +0 -72
  582. package/dist/index-VSFakgAI.d.cts +0 -95
  583. package/dist/index-aNW5V9fh.d.cts +0 -749
  584. package/dist/index-zZjcds15.d.cts +0 -7
  585. package/dist/jackArcher-WtkbLBZj.cjs +0 -728
  586. package/dist/jackArcher-sO9EbgrZ.js +0 -728
  587. package/dist/jordanCraig-471FcgqF.cjs +0 -1787
  588. package/dist/jordanCraig-DNOncplU.js +0 -1787
  589. package/dist/kindredBravely-BlLyHGMX.cjs +0 -491
  590. package/dist/kindredBravely-cqZ4OvXp.js +0 -491
  591. package/dist/kutFromTheKloth-3mOIryvt.cjs +0 -370
  592. package/dist/kutFromTheKloth-DtVNCMKa.js +0 -370
  593. package/dist/larryAndSerges-88Bvq-Us.cjs +0 -262
  594. package/dist/larryAndSerges-cvak6May.js +0 -262
  595. package/dist/leapsAndRebounds-Dmf8eUPq.js +0 -361
  596. package/dist/leapsAndRebounds-iWKc923H.cjs +0 -361
  597. package/dist/longevityrx-BTMI9vn-.js +0 -321
  598. package/dist/longevityrx-CobPyigd.cjs +0 -321
  599. package/dist/lookOptic-C4H_c0JZ.cjs +0 -283
  600. package/dist/lookOptic-Jwf7EAU8.js +0 -283
  601. package/dist/mantraBrand-CySGqbn6.cjs +0 -751
  602. package/dist/mantraBrand-DoaVj837.js +0 -751
  603. package/dist/medterra-BnZ5p27n.cjs +0 -584
  604. package/dist/medterra-DaICcPPp.js +0 -584
  605. package/dist/modells-CZ1L6dD_.js +0 -485
  606. package/dist/modells-DF0SndHr.cjs +0 -485
  607. package/dist/orgConfigResults--dAwtw3W.d.ts +0 -881
  608. package/dist/orgConfigResults-BL0XBA6x.d.cts +0 -881
  609. package/dist/pressedFloral-B3t2cYzs.cjs +0 -662
  610. package/dist/pressedFloral-Dsws2Kfb.js +0 -662
  611. package/dist/skinPerfection-CILQM2bR.cjs +0 -335
  612. package/dist/skinPerfection-DmQCntRf.js +0 -335
  613. package/dist/snapSupplements--X_v0KRM.js +0 -286
  614. package/dist/snapSupplements-Djuzl0Ed.cjs +0 -286
  615. package/dist/socialProofClasses-DdzG1tZy.js +0 -10
  616. package/dist/socialProofClasses-ky69yppk.cjs +0 -40
  617. package/dist/spanx-Bo81yXSF.cjs +0 -664
  618. package/dist/spanx-DauxB8KE.js +0 -662
  619. package/dist/spanxStaging-BucYQvR1.cjs +0 -849
  620. package/dist/spanxStaging-CfXUukdP.js +0 -846
  621. package/dist/suggestionBarV2-types-B3lwrENK.cjs +0 -16
  622. package/dist/suggestionBarV2-types-Penx3Y67.js +0 -10
  623. package/dist/supergoop-8qa_NV3F.cjs +0 -338
  624. package/dist/supergoop-DOaui-A6.js +0 -336
  625. package/dist/types-CD4LFta-.d.cts +0 -33
  626. package/dist/types-CGC6Oozp.cjs +0 -231
  627. package/dist/types-CnTCkyvK.js +0 -177
  628. package/dist/types-DBdI0j89.d.ts +0 -33
  629. package/dist/uniqueVintage-BWkDgt1z.js +0 -1212
  630. package/dist/uniqueVintage-DAne8XcL.cjs +0 -1214
  631. package/dist/variant-CC1nrywd.d.ts +0 -13
  632. package/dist/variant-CQTuQQSq.d.cts +0 -13
  633. package/dist/venaCbd-B1HO_Pkr.cjs +0 -366
  634. package/dist/venaCbd-CnByO-5R.js +0 -366
  635. package/dist/westonJonBoucher-BAGXegsX.js +0 -423
  636. package/dist/westonJonBoucher-BRfHWMbs.cjs +0 -423
  637. package/dist/wineEnthusiast-DW8JVwV8.cjs +0 -941
  638. package/dist/wineEnthusiast-EJbhMeKQ.js +0 -941
  639. package/dist/wolfMattress-B6INZNRJ.cjs +0 -373
  640. package/dist/wolfMattress-D9P7ErH_.js +0 -373
  641. package/dist/wolfTactical-C5Pupi3J.js +0 -350
  642. package/dist/wolfTactical-TMthZM93.cjs +0 -350
  643. package/src/adapters/amplitude/amplitudeAdapter.ts +0 -477
  644. package/src/adapters/amplitude/index.ts +0 -2
  645. package/src/adapters/amplitude/stubAmplitudeAdapter.ts +0 -34
  646. package/src/adapters/spiffy/commerce/graphql.ts +0 -219
  647. package/src/application/config/generalStaticConfig.ts +0 -40
  648. package/src/application/config/index.ts +0 -1
  649. package/src/application/models/domMutationContinuation.ts +0 -7
  650. package/src/application/models/domObservationStrategy.ts +0 -9
  651. package/src/application/models/supportedOrgs.ts +0 -161
  652. package/src/application/service/cachingService.ts +0 -84
  653. package/src/application/service/cdnService.ts +0 -20
  654. package/src/application/service/customerService/index.ts +0 -8
  655. package/src/application/service/customerService/providers/UnsupportedCustomerService.ts +0 -15
  656. package/src/application/service/domMutationObserver.ts +0 -320
  657. package/src/application/service/domMutations/GridInsertionService.ts +0 -123
  658. package/src/application/service/domMutations/dataLayer/dataLayerEventsListener.ts +0 -99
  659. package/src/application/service/domMutations/domInsertionService.ts +0 -90
  660. package/src/application/service/domMutations/domMutationListener.ts +0 -15
  661. package/src/application/service/domMutations/domMutationListenerState.ts +0 -52
  662. package/src/application/service/domMutations/floatingChat/embeddedChatsPlacementsListener.ts +0 -41
  663. package/src/application/service/domMutations/gladly/gladlyListener.ts +0 -61
  664. package/src/application/service/domMutations/spiffy/orgs/common/kustomerVisibilityListener.ts +0 -41
  665. package/src/application/service/domMutations/spiffy/orgs/common/orgsCommonDataLayerListener.ts +0 -119
  666. package/src/application/service/featureFlagService.ts +0 -130
  667. package/src/application/service/graphqlConfigService.ts +0 -59
  668. package/src/application/service/index.ts +0 -32
  669. package/src/application/service/kustomerIntegrationService.ts +0 -111
  670. package/src/application/service/localStorageService.ts +0 -77
  671. package/src/application/service/pageVariantService.ts +0 -866
  672. package/src/application/service/searchService.ts +0 -147
  673. package/src/application/service/sessionStorageService.ts +0 -27
  674. package/src/application/service/shopifyUrlService.ts +0 -63
  675. package/src/application/service/userIdentityService.ts +0 -114
  676. package/src/application/service/windowChatToggleService.ts +0 -80
  677. package/src/application/service/windowDataLayerService.ts +0 -181
  678. package/src/application/service/windowFrontendConfigService.ts +0 -129
  679. package/src/atoms/org/merchantCss.ts +0 -161
  680. package/src/atoms/org/org.ts +0 -251
  681. package/src/atoms/org/orgPageConfig.ts +0 -41
  682. package/src/atoms/org/orgUIConfig.ts +0 -142
  683. package/src/contexts/enviveCssContext.tsx +0 -20
  684. package/src/contexts/index.ts +0 -6
  685. package/src/contexts/orgConfigContext.tsx +0 -106
  686. package/src/enabled-features.ts +0 -83
  687. package/src/hooks/index.ts +0 -21
  688. package/src/hooks/useDynamicVariants.ts +0 -226
  689. package/src/hooks/useFileUpload.ts +0 -63
  690. package/src/hooks/useHideElements.ts +0 -85
  691. package/src/hooks/useNewOrgConfig.ts +0 -80
  692. package/src/hooks/useSystemSettingsContext.ts +0 -12
  693. package/src/interceptors/useFormEscalation.ts +0 -57
  694. package/src/merchants/bandolier/bandolier.ts +0 -1389
  695. package/src/merchants/carpe/carpe.ts +0 -656
  696. package/src/merchants/coterie/coterie.ts +0 -280
  697. package/src/merchants/default.ts +0 -193
  698. package/src/merchants/dreamlandBaby/dreamlandBaby.ts +0 -375
  699. package/src/merchants/fiveCbd/fiveCbd.ts +0 -697
  700. package/src/merchants/forLoveAndLemons/forLoveAndLemons.ts +0 -721
  701. package/src/merchants/greenpan/greenpan.ts +0 -440
  702. package/src/merchants/grooveLife/grooveLife.ts +0 -386
  703. package/src/merchants/homegrownCannabis/homegrownCannabis.ts +0 -468
  704. package/src/merchants/init-merchant.sh +0 -53
  705. package/src/merchants/jackArcher/jackArcher.ts +0 -974
  706. package/src/merchants/jordanCraig/jordanCraig.ts +0 -1927
  707. package/src/merchants/kindredBravely/kindredBravely.ts +0 -529
  708. package/src/merchants/kutFromTheKloth/kutFromTheKloth.ts +0 -418
  709. package/src/merchants/larryAndSerges/larryAndSerges.ts +0 -314
  710. package/src/merchants/leapsAndRebounds/leapsAndRebounds.ts +0 -424
  711. package/src/merchants/longevityrx/longevityrx.ts +0 -368
  712. package/src/merchants/lookOptic/lookOptic.ts +0 -323
  713. package/src/merchants/mantraBrand/mantraBrand.ts +0 -838
  714. package/src/merchants/medterra/medterra.ts +0 -670
  715. package/src/merchants/modells/modells.ts +0 -546
  716. package/src/merchants/pressedFloral/pressedFloral.ts +0 -734
  717. package/src/merchants/skinPerfection/skinPerfection.ts +0 -379
  718. package/src/merchants/snapSupplements/snapSupplements.ts +0 -325
  719. package/src/merchants/spanx/spanx.ts +0 -810
  720. package/src/merchants/spanx/spanxStaging.ts +0 -942
  721. package/src/merchants/supergoop/supergoop.ts +0 -376
  722. package/src/merchants/uniqueVintage/uniqueVintage.ts +0 -1314
  723. package/src/merchants/venaCbd/venaCbd.ts +0 -410
  724. package/src/merchants/westonJonBoucher/westonJonBoucher.ts +0 -473
  725. package/src/merchants/wineEnthusiast/wineEnthusiast.ts +0 -990
  726. package/src/merchants/wolfMattress/wolfMattress.ts +0 -411
  727. package/src/merchants/wolfTactical/wolfTactical.ts +0 -389
  728. /package/dist/{locators-CugndTUM.cjs → AmplitudeOperations-CgIVPUlr.cjs} +0 -0
  729. /package/dist/{locators-DnKpajbY.js → AmplitudeOperations-YpyaR7Mp.js} +0 -0
  730. /package/dist/{utilityTypes-BVikejDo.js → atomStore-C2OI76yN.js} +0 -0
  731. /package/dist/{utilityTypes-C4h2wgAK.cjs → atomStore-DWmT1six.cjs} +0 -0
  732. /package/dist/{variantInfo-CzhR5W6h.js → types-DQoXDiso.js} +0 -0
  733. /package/dist/{variantInfo-CNRTY0gH.cjs → types-o3zWarRp.cjs} +0 -0
  734. /package/src/contexts/{systemSettingsContext.tsx → systemSettingsContext/systemSettingsContext.tsx} +0 -0
  735. /package/src/hooks/{useBlockBackButton.ts → BlockBackButton/useBlockBackButton.ts} +0 -0
  736. /package/src/hooks/{useCustomerSupportHandoff.ts → CustomerSupportHandoff/useCustomerSupportHandoff.ts} +0 -0
  737. /package/src/hooks/{useDebounce.ts → Debounce/useDebounce.ts} +0 -0
  738. /package/src/hooks/{useElementObserver.ts → ElementObserver/useElementObserver.ts} +0 -0
  739. /package/src/hooks/{useGrabAndScroll.ts → GrabAndScroll/useGrabAndScroll.ts} +0 -0
  740. /package/src/hooks/{useIntersection.ts → Intersection/useIntersection.ts} +0 -0
  741. /package/src/hooks/{useIsSmallScreen.ts → IsSmallScreen/useIsSmallScreen.ts} +0 -0
  742. /package/src/hooks/{useMessageFilter.ts → MessageFilter/useMessageFilter.ts} +0 -0
  743. /package/src/hooks/{useMessageScrollObserver.ts → MessageScrollObserver/useMessageScrollObserver.ts} +0 -0
  744. /package/src/hooks/{useSnapCalculator.ts → SnapCalculator/useSnapCalculator.ts} +0 -0
  745. /package/src/{application/service/customerService/types.ts → types/customerService.ts} +0 -0
  746. /package/src/{adapters/spiffy/commerce → types}/exceptions/sessionExceptions.ts +0 -0
  747. /package/src/{adapters/spiffy/commerce → types}/exceptions/unsupportedProductExceptions.ts +0 -0
@@ -1,941 +0,0 @@
1
- import "./logger-pdEEY8T2.js";
2
- import "./api-XRr_lAG6.js";
3
- import { CdnService, ChatElementDisplayLocation, DOMInsertionType, GridInsertionType } from "./contexts-CtRlNXaS.js";
4
- import { ColorNames, CustomerServiceIntegrationMode, CustomerServiceType, OrgShortName, PageVariantTestType, WidgetType, colorVar } from "./types-CnTCkyvK.js";
5
- import "./atomStore-B1cgmbP0.js";
6
- import "./customerService-BHQRnLhC.js";
7
- import "./globalSearch-b0wC7ZEO.js";
8
- import "./utilityTypes-BVikejDo.js";
9
- import "./variantInfo-CzhR5W6h.js";
10
- import "./events-ClCDFK7t.js";
11
- import { BOTTOM_REVIEWS_BAR_ID, CHAT_PREVIEW_CONTAINER_ID, TOP_SUGGESTION_BAR_PDP_ID } from "./divIds-0Vj9g-fM.js";
12
- import "./chat-CHmD79E1.js";
13
- import "./components-Dl-TMD9k.js";
14
- import { BOTTOM_SUGGESTION_BAR_TESTID, CHAT_PREVIEW_TESTID, TOP_SUGGESTION_BAR_TESTID } from "./embedded-_cLpd6FK.js";
15
- import "./locators-DnKpajbY.js";
16
- import { SuggestionBarLocationForMetrics } from "./suggestionBarV2-types-Penx3Y67.js";
17
- import { defaultOrgUIConfig } from "./default-CXkYrLEr.js";
18
-
19
- //#region src/merchants/wineEnthusiast/wineEnthusiast.ts
20
- const wineEnthusiastColors = {
21
- [ColorNames.TextPrimary]: "#000000",
22
- [ColorNames.TextSecondary]: "#918782",
23
- [ColorNames.TextAccent]: "#48273E",
24
- [ColorNames.TextLink]: "#000000",
25
- [ColorNames.TextLight]: "#FFFFFF",
26
- [ColorNames.BackgroundPrimary]: "#000000",
27
- [ColorNames.BackgroundSecondary]: "#F4F3EE",
28
- [ColorNames.BackgroundSecondaryDark]: "#E8E8E5",
29
- [ColorNames.BackgroundTertiary]: "#F4F4F1",
30
- [ColorNames.BackgroundDark]: "#000000",
31
- [ColorNames.BackgroundLight]: "#FFFFFF",
32
- [ColorNames.BackgroundSaturated]: "",
33
- [ColorNames.BorderLight]: "#A6A6A6",
34
- [ColorNames.BorderMedium]: "#6C757D",
35
- [ColorNames.BorderDark]: "#4F4F4F",
36
- [ColorNames.BorderOutline]: "#4F4F4F",
37
- [ColorNames.AccentPrimary]: "#000000",
38
- [ColorNames.AccentSecondary]: "#B44815"
39
- };
40
- const wineEnthusiastOrgUIConfig = () => {
41
- const defaultWineEnthusiastOrgConfig = defaultOrgUIConfig(OrgShortName.WineEnthusiast);
42
- return {
43
- ...defaultWineEnthusiastOrgConfig,
44
- chatMessageConfig: {
45
- ...defaultWineEnthusiastOrgConfig.chatMessageConfig,
46
- assistantChatTitle: "Wine Enthusiast Shopping Assistant"
47
- },
48
- chatHeader: {
49
- ...defaultWineEnthusiastOrgConfig.chatHeader,
50
- expandedColor: colorVar(ColorNames.BackgroundPrimary),
51
- collapsedColor: colorVar(ColorNames.BackgroundPrimary),
52
- imageSrc: CdnService.getAssetURL("WineEnthusiast_Logo_Small.svg", OrgShortName.WineEnthusiast),
53
- customerSupportSwitchConfig: {
54
- ...defaultWineEnthusiastOrgConfig.chatHeader.customerSupportSwitchConfig,
55
- supportTitle: "Live Support"
56
- }
57
- },
58
- chatPreviewConfig: {
59
- ...defaultWineEnthusiastOrgConfig.chatPreviewConfig,
60
- iconFillColor: colorVar(ColorNames.AccentPrimary),
61
- buttonTextColor: colorVar(ColorNames.BorderOutline),
62
- buttonBackgroundColor: colorVar(ColorNames.BackgroundSecondary),
63
- buttonTextHoverColor: colorVar(ColorNames.BorderOutline),
64
- buttonBackgroundHoverColor: colorVar(ColorNames.BackgroundSecondaryDark),
65
- topMargin: 10,
66
- headerConfig: {
67
- ...defaultWineEnthusiastOrgConfig.chatPreviewConfig.headerConfig,
68
- imageHeight: 24,
69
- imageSrc: CdnService.getAssetURL("WineEnthusiast_Logo_DK.svg", OrgShortName.WineEnthusiast)
70
- },
71
- footerConfig: {
72
- ...defaultWineEnthusiastOrgConfig.chatPreviewConfig.footerConfig,
73
- replyButtonIcon: "magnifyingGlass"
74
- }
75
- },
76
- floatingEntrypointConfig: {
77
- ...defaultWineEnthusiastOrgConfig.floatingEntrypointConfig,
78
- showOption: "always",
79
- expansionText: {
80
- pdp: "Is this ‘the one’?",
81
- plp: "Would you like a recommendation?"
82
- }
83
- },
84
- productCardConfig: { ...defaultWineEnthusiastOrgConfig.productCardConfig },
85
- pageCardConfig: { ...defaultWineEnthusiastOrgConfig.pageCardConfig },
86
- productReviewConfig: { ...defaultWineEnthusiastOrgConfig.productReviewConfig },
87
- welcomeSectionConfig: {
88
- ...defaultWineEnthusiastOrgConfig.welcomeSectionConfig,
89
- title: "Welcome to Wine Enthusiast!",
90
- subtitle: "I'm not just any AI assistant, I'm a lifestyle enhancer. If you want to sip, store or share wine, allow me to help. "
91
- },
92
- customerServiceIntegration: {
93
- integrationMode: CustomerServiceIntegrationMode.simple,
94
- provider: CustomerServiceType.gladly
95
- },
96
- hiddenElementSelectors: ["[data-aid*='gladlyChatChatButton']"],
97
- merchantOverrideCss: `
98
- /* -------- Floating Chat Styles - Modal Sheet Z-Index Override -------- */
99
- /* Note: Gladly chat #gladlyChat_container uses z-index: 2147483000, so we need higher value */
100
- .spiffy-modal-sheet-open {
101
- z-index: 2147483001 !important;
102
- }
103
-
104
- /* Override Gladly's z-index preload */
105
- #gladlyChat_container.preload{
106
- z-index: 998 !important;
107
- }
108
-
109
- /* Force Gladly z-index to stay low with higher specificity */
110
- body #gladlyChat_container,
111
- html body #gladlyChat_container {
112
- z-index: 998 !important;
113
- }
114
- /* -------- Floating Chat Styles - Welcome Section Title Styling -------- */
115
- .spiffy-welcome-section-message-title {
116
- font-weight: 600 !important;
117
- }
118
- .spiffy-assistant-message-header-text{
119
- font-weight: 600 !important;
120
- font-size: 14px !important;
121
- }
122
-
123
- /* -------- Floating Chat Styles - Buttons -------- */
124
- .spiffy-modal-sheet-content > div:nth-child(2) > div > div > div > div > button:hover {
125
- background: var(--spiffy-colors-background-secondary-dark) !important;
126
- border: 1px solid var(--spiffy-colors-background-secondary-dark) !important;
127
- color: var(--spiffy-colors-text-primary) !important;
128
- }
129
-
130
- .spiffy-modal-sheet-content > div:nth-child(4) > div > div > div > div > button:hover {
131
- background: var(--spiffy-colors-background-secondary-dark) !important;
132
- border: 1px solid var(--spiffy-colors-background-secondary-dark) !important;
133
- color: var(--spiffy-colors-text-primary) !important;
134
- }
135
-
136
- .spiffy-modal-sheet-content > div:nth-child(4) > div > div > div > div > button:hover svg {
137
- stroke: var(--spiffy-colors-text-primary) !important;
138
- fill: var(--spiffy-colors-text-primary) !important;
139
- }
140
- .spiffy-star-rating-container {
141
- background-color : var(--spiffy-colors-background-light) !important;
142
- }
143
-
144
- /* -------- Floating Chat Styles - Article card -------- */
145
- .spiffy-page-card-container {
146
- background: var(--spiffy-colors-background-secondary) !important;
147
- }
148
- .spiffy-page-card-container:hover {
149
- background: var(--spiffy-colors-background-secondary-dark) !important;
150
- }
151
-
152
- .spiffy-page-card-title {
153
- font-family: Poppins !important;
154
- font-weight: 500 !important;
155
- font-style: normal !important;
156
- font-size: 14px !important;
157
- line-height: 124% !important;
158
- letter-spacing: 0% !important;
159
- }
160
-
161
- .spiffy-page-card-description {
162
- font-weight: 400 !important;
163
- font-style: normal !important;
164
- font-size: 14px !important;
165
- line-height: 140% !important;
166
- letter-spacing: 0% !important;
167
- }
168
-
169
- .spiffy-view-source-icon-wrapper {
170
- background: var(--spiffy-colors-accent-primary) !important;
171
- border: 1px solid var(--spiffy-colors-accent-primary) !important;
172
- }
173
-
174
- .spiffy-view-source-link {
175
- font-weight: 500 !important;
176
- font-style: normal !important;
177
- font-size: 12px !important;
178
- line-height: 130% !important;
179
- letter-spacing: 0% !important;
180
- color: var(--spiffy-colors-text-primary) !important;
181
- }
182
-
183
- /* --------- Top/bottom Suggestions Bars Styles --------- */
184
- #spiffy-top-suggestion-bar-contents button {
185
- border-radius: 0 !important;
186
- border: 1px solid var(--spiffy-colors-background-secondary-dark) !important;
187
- }
188
-
189
- #spiffy-bottom-suggestion-bar-contents button {
190
- border-radius: 0 !important;
191
- border: 1px solid var(--spiffy-colors-background-secondary-dark) !important;
192
- }
193
-
194
- #spiffy-top-suggestion-bar-contents button:hover {
195
- background-color: var(--spiffy-colors-background-secondary-dark) !important;
196
- border-color: var(--spiffy-colors-background-secondary-dark) !important;
197
- color: var(--spiffy-colors-text-primary) !important;
198
- border-radius: 0 !important;
199
- }
200
-
201
- #spiffy-bottom-suggestion-bar-contents button:hover {
202
- background-color: var(--spiffy-colors-background-secondary-dark) !important;
203
- border-color: var(--spiffy-colors-background-secondary-dark) !important;
204
- color: var(--spiffy-colors-text-primary) !important;
205
- border-radius: 0 !important;
206
- }
207
-
208
- /* --------- PLP/PDP Chats Previews Buttons Styles --------- */
209
- .spiffy-social-proof-content-container > span:first-child {
210
- color: var(--spiffy-colors-text-accent) !important;
211
- }
212
-
213
- .spiffy-social-proof-content-container > span:last-child {
214
- color: var(--spiffy-colors-text-primary) !important;
215
- }
216
-
217
- .spiffy-social-proof-suggestion-footer-title {
218
- color: var(--spiffy-colors-text-secondary) !important;
219
- }
220
-
221
- #spiffy-ai-chat-preview-contents .spiffy-button-base-button {
222
- border-radius: 0 !important;
223
- border: 1px solid var(--spiffy-colors-background-secondary-dark) !important;
224
- }
225
-
226
- #spiffy-ai-chat-preview-contents .spiffy-button-base-button:hover {
227
- background-color: var(--spiffy-colors-background-secondary-dark) !important;
228
- color: var(--spiffy-colors-text-primary) !important;
229
- border-radius: 0 !important;
230
- }
231
-
232
- #spiffy-ai-chat-preview-contents .spiffy-button-base-button:hover svg {
233
- fill: var(--spiffy-colors-text-primary) !important;
234
- stroke: var(--spiffy-colors-text-primary) !important;
235
- }
236
-
237
- /* -------- Feedback Button Styles - Remove Top Border -------- */
238
- #spiffy-ai-chat-preview-contents > hr:nth-child(3) {
239
- display: none !important;
240
- }
241
-
242
- /* -------- PDP Footer Input Shadow -------- */
243
- .spiffy-user-query-button {
244
- box-shadow: 1px 1px 4px 0px rgba(0, 0, 0, 0.25) !important;
245
- margin: 4px !important;
246
- width: 99% !important;
247
- }
248
- `
249
- };
250
- };
251
- const wineEnthusiastPageConfig = () => ({
252
- pageVariants: [
253
- {
254
- variantId: "plpTabletopEntertaining",
255
- variantType: "plp",
256
- variantTests: [{ testType: PageVariantTestType.UrlResolver }, {
257
- testType: PageVariantTestType.PlpId,
258
- plpIds: ["tabletop-entertaining"],
259
- plpIdExtractor: "url-resolver-plp-id"
260
- }],
261
- plpIdExtractor: "url-resolver-plp-id",
262
- widgetMounting: [{
263
- mountingConfigId: "chatPreviewPLP",
264
- widgetConfigId: "chatPreviewPLPTabletopEntertaining"
265
- }]
266
- },
267
- {
268
- variantId: "plpDecor",
269
- variantType: "plp",
270
- variantTests: [{ testType: PageVariantTestType.UrlResolver }, {
271
- testType: PageVariantTestType.PlpId,
272
- plpIds: ["decor"],
273
- plpIdExtractor: "url-resolver-plp-id"
274
- }],
275
- plpIdExtractor: "url-resolver-plp-id",
276
- widgetMounting: [{
277
- mountingConfigId: "chatPreviewPLP",
278
- widgetConfigId: "chatPreviewPLPTabletopEntertaining"
279
- }]
280
- },
281
- {
282
- variantId: "plpWineCoolers",
283
- variantType: "plp",
284
- variantTests: [{ testType: PageVariantTestType.UrlResolver }, {
285
- testType: PageVariantTestType.PlpId,
286
- plpIds: ["wine-coolers"],
287
- plpIdExtractor: "url-resolver-plp-id"
288
- }],
289
- plpIdExtractor: "url-resolver-plp-id",
290
- widgetMounting: [{
291
- mountingConfigId: "chatPreviewPLP",
292
- widgetConfigId: "chatPreviewPLPWineCoolers"
293
- }]
294
- },
295
- {
296
- variantId: "plpDualZoneWineCoolers",
297
- variantType: "plp",
298
- variantTests: [{ testType: PageVariantTestType.UrlResolver }, {
299
- testType: PageVariantTestType.PlpId,
300
- plpIds: ["dual-zone-wine-coolers"],
301
- plpIdExtractor: "url-resolver-plp-id"
302
- }],
303
- plpIdExtractor: "url-resolver-plp-id",
304
- widgetMounting: [{
305
- mountingConfigId: "chatPreviewPLP",
306
- widgetConfigId: "chatPreviewPLPDualZoneWineCoolers"
307
- }]
308
- },
309
- {
310
- variantId: "plpSideBySideWineCabinets",
311
- variantType: "plp",
312
- variantTests: [{ testType: PageVariantTestType.UrlResolver }, {
313
- testType: PageVariantTestType.PlpId,
314
- plpIds: ["side-by-side-wine-cabinets"],
315
- plpIdExtractor: "url-resolver-plp-id"
316
- }],
317
- plpIdExtractor: "url-resolver-plp-id",
318
- widgetMounting: [{
319
- mountingConfigId: "chatPreviewPLP",
320
- widgetConfigId: "chatPreviewPLPSideBySideWineCabinets"
321
- }]
322
- },
323
- {
324
- variantId: "plpGlassware",
325
- variantType: "plp",
326
- variantTests: [{ testType: PageVariantTestType.UrlResolver }, {
327
- testType: PageVariantTestType.PlpId,
328
- plpIds: ["glassware"],
329
- plpIdExtractor: "url-resolver-plp-id"
330
- }],
331
- plpIdExtractor: "url-resolver-plp-id",
332
- widgetMounting: [{
333
- mountingConfigId: "chatPreviewPLP",
334
- widgetConfigId: "chatPreviewPLPGlassware"
335
- }]
336
- },
337
- {
338
- variantId: "plpWineRacks",
339
- variantType: "plp",
340
- variantTests: [{ testType: PageVariantTestType.UrlResolver }, {
341
- testType: PageVariantTestType.PlpId,
342
- plpIds: ["wine-racks"],
343
- plpIdExtractor: "url-resolver-plp-id"
344
- }],
345
- plpIdExtractor: "url-resolver-plp-id",
346
- widgetMounting: [{
347
- mountingConfigId: "chatPreviewPLP",
348
- widgetConfigId: "chatPreviewPLPWineRacks"
349
- }]
350
- },
351
- {
352
- variantId: "plpFurniture",
353
- variantType: "plp",
354
- variantTests: [{ testType: PageVariantTestType.UrlResolver }, {
355
- testType: PageVariantTestType.PlpId,
356
- plpIds: ["furniture"],
357
- plpIdExtractor: "url-resolver-plp-id"
358
- }],
359
- plpIdExtractor: "url-resolver-plp-id",
360
- widgetMounting: [{
361
- mountingConfigId: "chatPreviewPLP",
362
- widgetConfigId: "chatPreviewPLPFurniture"
363
- }]
364
- },
365
- {
366
- variantId: "plpWineAccessories",
367
- variantType: "plp",
368
- variantTests: [{ testType: PageVariantTestType.UrlResolver }, {
369
- testType: PageVariantTestType.PlpId,
370
- plpIds: ["wine-accessories"],
371
- plpIdExtractor: "url-resolver-plp-id"
372
- }],
373
- plpIdExtractor: "url-resolver-plp-id",
374
- widgetMounting: [{
375
- mountingConfigId: "chatPreviewPLP",
376
- widgetConfigId: "chatPreviewPLPWineAccessories"
377
- }]
378
- },
379
- {
380
- variantId: "plpWineCellarCooling",
381
- variantType: "plp",
382
- variantTests: [{ testType: PageVariantTestType.UrlResolver }, {
383
- testType: PageVariantTestType.PlpId,
384
- plpIds: ["wine-cellar-cooling-systems"],
385
- plpIdExtractor: "url-resolver-plp-id"
386
- }],
387
- plpIdExtractor: "url-resolver-plp-id",
388
- widgetMounting: [{
389
- mountingConfigId: "chatPreviewPLP",
390
- widgetConfigId: "chatPreviewPLPWineCellarCooling"
391
- }]
392
- },
393
- {
394
- variantId: "plpDecanters",
395
- variantType: "plp",
396
- variantTests: [{ testType: PageVariantTestType.UrlResolver }, {
397
- testType: PageVariantTestType.PlpId,
398
- plpIds: ["decanters"],
399
- plpIdExtractor: "url-resolver-plp-id"
400
- }],
401
- plpIdExtractor: "url-resolver-plp-id",
402
- widgetMounting: [{
403
- mountingConfigId: "chatPreviewPLP",
404
- widgetConfigId: "chatPreviewPLPDecanters"
405
- }]
406
- },
407
- {
408
- variantId: "plp",
409
- variantType: "plp",
410
- variantTests: [{ testType: PageVariantTestType.UrlResolver }],
411
- plpIdExtractor: "url-resolver-plp-id",
412
- widgetMounting: [{
413
- mountingConfigId: "chatPreviewPLP",
414
- widgetConfigId: "chatPreviewPLP"
415
- }]
416
- },
417
- {
418
- variantId: "pdp",
419
- variantType: "pdp",
420
- variantTests: [{ testType: PageVariantTestType.UrlResolver }],
421
- productIdExtractor: "url-resolver-product-id",
422
- widgetMounting: [
423
- {
424
- mountingConfigId: "topSuggestionBarPDP",
425
- widgetConfigId: "topSuggestionBar"
426
- },
427
- {
428
- mountingConfigId: "chatPreviewPDP",
429
- widgetConfigId: "chatPreviewPDP"
430
- },
431
- {
432
- mountingConfigId: "bottomSuggestionBarPDP",
433
- widgetConfigId: "bottomSuggestionBar"
434
- }
435
- ]
436
- },
437
- {
438
- variantId: "homepage",
439
- variantType: "homepage",
440
- variantTests: [{ testType: PageVariantTestType.UrlResolver }],
441
- widgetMounting: []
442
- },
443
- {
444
- variantId: "otherPages",
445
- variantType: "other",
446
- variantTests: [{ testType: PageVariantTestType.UrlResolver }],
447
- widgetMounting: []
448
- }
449
- ],
450
- widgetConfigs: {
451
- topSuggestionBar: {
452
- type: WidgetType.SuggestionBarV2,
453
- widgetConfigId: "topSuggestionsBar",
454
- contentId: "spiffy-top-suggestion-bar-contents",
455
- metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
456
- location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
457
- variant: "secondary",
458
- hoverVariant: "secondaryDark",
459
- buttonTexts: { default: [
460
- "Is this the right one for me?",
461
- "Why do wine lovers choose this one?",
462
- "Which others should I consider?",
463
- "What do buyers love most?"
464
- ] }
465
- },
466
- chatPreviewPLPTabletopEntertaining: {
467
- widgetConfigId: "chatPreviewPLPTabletopEntertaining",
468
- type: WidgetType.ChatPreview,
469
- variant: "filled",
470
- addSeparators: false,
471
- socialProofConfig: {
472
- staticPLPImagesLayout: "horizontal",
473
- logoName: "WineEnthusiast_Logo_DK.svg",
474
- customerQuery: "asked which items will enhance my wine life?",
475
- headerTitle: "SHOPPING ASSISTANT",
476
- headerFontFamily: "DIN",
477
- suggestionButtonStrings: [
478
- "What are other wine lovers saying?",
479
- "Most impressive wine gifts?",
480
- "Most loved wine gifts?",
481
- "Great gifts for entertainers?",
482
- "Great gifts for wine geeks?",
483
- "Great gifts for weddings?"
484
- ],
485
- staticPLPImageNames: [
486
- "plp1.png",
487
- "plp2.png",
488
- "plp3.png",
489
- "plp4.png"
490
- ],
491
- suggestionButtonVariantDefault: "secondary",
492
- suggestionButtonVariantAccent: "secondary",
493
- userQueryButtonConfig: {
494
- placeholderText: "Would you like a recommendation?",
495
- icon: "magnifyingGlass"
496
- }
497
- }
498
- },
499
- chatPreviewPLPWineCoolers: {
500
- widgetConfigId: "chatPreviewPLPWineCoolers",
501
- type: WidgetType.ChatPreview,
502
- variant: "filled",
503
- addSeparators: false,
504
- socialProofConfig: {
505
- staticPLPImagesLayout: "horizontal",
506
- logoName: "WineEnthusiast_Logo_DK.svg",
507
- customerQuery: "asked which items will enhance my wine life?",
508
- headerTitle: "SHOPPING ASSISTANT",
509
- headerFontFamily: "DIN",
510
- suggestionButtonStrings: [
511
- "What are other wine lovers saying?",
512
- "Which wine fridge is right for me?",
513
- "Which ones hold the right number of bottles?",
514
- "Will it fit Burgundy or Champagne bottles?",
515
- "Best fit for small spaces?",
516
- "Best for long-term aging?",
517
- "Best for displaying my collection?",
518
- "What makes a wine fridge able to be built-in?"
519
- ],
520
- staticPLPImageNames: [
521
- "plp1.png",
522
- "plp2.png",
523
- "plp3.png",
524
- "plp4.png"
525
- ],
526
- suggestionButtonVariantDefault: "secondary",
527
- suggestionButtonVariantAccent: "secondary",
528
- userQueryButtonConfig: {
529
- placeholderText: "Would you like a recommendation?",
530
- icon: "magnifyingGlass"
531
- }
532
- }
533
- },
534
- chatPreviewPLPDualZoneWineCoolers: {
535
- widgetConfigId: "chatPreviewPLPDualZoneWineCoolers",
536
- type: WidgetType.ChatPreview,
537
- variant: "filled",
538
- addSeparators: false,
539
- socialProofConfig: {
540
- staticPLPImagesLayout: "horizontal",
541
- logoName: "WineEnthusiast_Logo_DK.svg",
542
- customerQuery: "asked which items will enhance my wine life?",
543
- headerTitle: "SHOPPING ASSISTANT",
544
- headerFontFamily: "DIN",
545
- suggestionButtonStrings: [
546
- "What are other wine lovers saying?",
547
- "What is the difference between a Dual-Zone and a Side-by-Side?",
548
- "What can I set the temperature to?"
549
- ],
550
- staticPLPImageNames: [
551
- "plp1.png",
552
- "plp2.png",
553
- "plp3.png",
554
- "plp4.png"
555
- ],
556
- suggestionButtonVariantDefault: "secondary",
557
- suggestionButtonVariantAccent: "secondary",
558
- userQueryButtonConfig: {
559
- placeholderText: "Would you like a recommendation?",
560
- icon: "magnifyingGlass"
561
- }
562
- }
563
- },
564
- chatPreviewPLPSideBySideWineCabinets: {
565
- widgetConfigId: "chatPreviewPLPSideBySideWineCabinets",
566
- type: WidgetType.ChatPreview,
567
- variant: "filled",
568
- addSeparators: false,
569
- socialProofConfig: {
570
- staticPLPImagesLayout: "horizontal",
571
- logoName: "WineEnthusiast_Logo_DK.svg",
572
- customerQuery: "asked which items will enhance my wine life?",
573
- headerTitle: "SHOPPING ASSISTANT",
574
- headerFontFamily: "DIN",
575
- suggestionButtonStrings: [
576
- "What are other wine lovers saying?",
577
- "What is the difference between a Dual-Zone and a Side-by-Side?",
578
- "What can I set the temperature to?"
579
- ],
580
- staticPLPImageNames: [
581
- "plp1.png",
582
- "plp2.png",
583
- "plp3.png",
584
- "plp4.png"
585
- ],
586
- suggestionButtonVariantDefault: "secondary",
587
- suggestionButtonVariantAccent: "secondary",
588
- userQueryButtonConfig: {
589
- placeholderText: "Would you like a recommendation?",
590
- icon: "magnifyingGlass"
591
- }
592
- }
593
- },
594
- chatPreviewPLPGlassware: {
595
- widgetConfigId: "chatPreviewPLPGlassware",
596
- type: WidgetType.ChatPreview,
597
- variant: "filled",
598
- addSeparators: false,
599
- socialProofConfig: {
600
- staticPLPImagesLayout: "horizontal",
601
- logoName: "WineEnthusiast_Logo_DK.svg",
602
- customerQuery: "asked which items will enhance my wine life?",
603
- headerTitle: "SHOPPING ASSISTANT",
604
- headerFontFamily: "DIN",
605
- suggestionButtonStrings: [
606
- "What are other wine lovers saying?",
607
- "Which ones are lightweight?",
608
- "Which ones are break-resistant?",
609
- "Which ones are dishwasher safe?",
610
- "Which ones have short stems?",
611
- "What's good for outdoor use?",
612
- "Should I get universal glasses?",
613
- "What are my options for personalization?"
614
- ],
615
- staticPLPImageNames: [
616
- "plp1.png",
617
- "plp2.png",
618
- "plp3.png",
619
- "plp4.png"
620
- ],
621
- suggestionButtonVariantDefault: "secondary",
622
- suggestionButtonVariantAccent: "secondary",
623
- userQueryButtonConfig: {
624
- placeholderText: "Would you like a recommendation?",
625
- icon: "magnifyingGlass"
626
- }
627
- }
628
- },
629
- chatPreviewPLPWineRacks: {
630
- widgetConfigId: "chatPreviewPLPWineRacks",
631
- type: WidgetType.ChatPreview,
632
- variant: "filled",
633
- addSeparators: false,
634
- socialProofConfig: {
635
- staticPLPImagesLayout: "horizontal",
636
- logoName: "WineEnthusiast_Logo_DK.svg",
637
- customerQuery: "asked which items will enhance my wine life?",
638
- headerTitle: "SHOPPING ASSISTANT",
639
- headerFontFamily: "DIN",
640
- suggestionButtonStrings: [
641
- "What are other wine lovers saying?",
642
- "Which of these are stackable?",
643
- "Which of these are free-standing?",
644
- "Which of these display my collection well?",
645
- "Which of these are wall-mounted?",
646
- "Which of these are modern?"
647
- ],
648
- staticPLPImageNames: [
649
- "plp1.png",
650
- "plp2.png",
651
- "plp3.png",
652
- "plp4.png"
653
- ],
654
- suggestionButtonVariantDefault: "secondary",
655
- suggestionButtonVariantAccent: "secondary",
656
- userQueryButtonConfig: {
657
- placeholderText: "Would you like a recommendation?",
658
- icon: "magnifyingGlass"
659
- }
660
- }
661
- },
662
- chatPreviewPLPFurniture: {
663
- widgetConfigId: "chatPreviewPLPFurniture",
664
- type: WidgetType.ChatPreview,
665
- variant: "filled",
666
- addSeparators: false,
667
- socialProofConfig: {
668
- staticPLPImagesLayout: "horizontal",
669
- logoName: "WineEnthusiast_Logo_DK.svg",
670
- customerQuery: "asked which items will enhance my wine life?",
671
- headerTitle: "SHOPPING ASSISTANT",
672
- headerFontFamily: "DIN",
673
- suggestionButtonStrings: [
674
- "What are other wine lovers saying?",
675
- "What's good for small spaces?",
676
- "Which of these are modern?",
677
- "Which of these are natural looking?",
678
- "Which of these are made for spirits?",
679
- "Which of these have refrigeration options?",
680
- "Which of these have built-in lighting?"
681
- ],
682
- staticPLPImageNames: [
683
- "plp1.png",
684
- "plp2.png",
685
- "plp3.png",
686
- "plp4.png"
687
- ],
688
- suggestionButtonVariantDefault: "secondary",
689
- suggestionButtonVariantAccent: "secondary",
690
- userQueryButtonConfig: {
691
- placeholderText: "Would you like a recommendation?",
692
- icon: "magnifyingGlass"
693
- }
694
- }
695
- },
696
- chatPreviewPLPWineAccessories: {
697
- widgetConfigId: "chatPreviewPLPWineAccessories",
698
- type: WidgetType.ChatPreview,
699
- variant: "filled",
700
- addSeparators: false,
701
- socialProofConfig: {
702
- staticPLPImagesLayout: "horizontal",
703
- logoName: "WineEnthusiast_Logo_DK.svg",
704
- customerQuery: "asked which items will enhance my wine life?",
705
- headerTitle: "SHOPPING ASSISTANT",
706
- headerFontFamily: "DIN",
707
- suggestionButtonStrings: [
708
- "What are other wine lovers saying?",
709
- "How do I choose a corkscrew?",
710
- "How do I keep wine fresh longer?",
711
- "How do I travel with wine?"
712
- ],
713
- staticPLPImageNames: [
714
- "plp1.png",
715
- "plp2.png",
716
- "plp3.png",
717
- "plp4.png"
718
- ],
719
- suggestionButtonVariantDefault: "secondary",
720
- suggestionButtonVariantAccent: "secondary",
721
- userQueryButtonConfig: {
722
- placeholderText: "Would you like a recommendation?",
723
- icon: "magnifyingGlass"
724
- }
725
- }
726
- },
727
- chatPreviewPLPWineCellarCooling: {
728
- widgetConfigId: "chatPreviewPLPWineCellarCooling",
729
- type: WidgetType.ChatPreview,
730
- variant: "filled",
731
- addSeparators: false,
732
- socialProofConfig: {
733
- staticPLPImagesLayout: "horizontal",
734
- logoName: "WineEnthusiast_Logo_DK.svg",
735
- customerQuery: "asked which items will enhance my wine life?",
736
- headerTitle: "SHOPPING ASSISTANT",
737
- headerFontFamily: "DIN",
738
- suggestionButtonStrings: [
739
- "What are other wine lovers saying?",
740
- "How big of a unit do I need?",
741
- "How can I tell the difference between the brands?",
742
- "What do I get when I spend more?",
743
- "What kind of warranties are offered?"
744
- ],
745
- staticPLPImageNames: [
746
- "plp1.png",
747
- "plp2.png",
748
- "plp3.png",
749
- "plp4.png"
750
- ],
751
- suggestionButtonVariantDefault: "secondary",
752
- suggestionButtonVariantAccent: "secondary",
753
- userQueryButtonConfig: {
754
- placeholderText: "Would you like a recommendation?",
755
- icon: "magnifyingGlass"
756
- }
757
- }
758
- },
759
- chatPreviewPLPDecanters: {
760
- widgetConfigId: "chatPreviewPLPDecanters",
761
- type: WidgetType.ChatPreview,
762
- variant: "filled",
763
- addSeparators: false,
764
- socialProofConfig: {
765
- staticPLPImagesLayout: "horizontal",
766
- logoName: "WineEnthusiast_Logo_DK.svg",
767
- customerQuery: "asked which items will enhance my wine life?",
768
- headerTitle: "SHOPPING ASSISTANT",
769
- headerFontFamily: "DIN",
770
- suggestionButtonStrings: [
771
- "What are other wine lovers saying?",
772
- "Which ones hold more than a standard bottle?",
773
- "Which ones are for young wine?",
774
- "Which ones are for aged wine?",
775
- "Which ones also aerate the wine?",
776
- "What are my options for personalization?"
777
- ],
778
- staticPLPImageNames: [
779
- "plp1.png",
780
- "plp2.png",
781
- "plp3.png",
782
- "plp4.png"
783
- ],
784
- suggestionButtonVariantDefault: "secondary",
785
- suggestionButtonVariantAccent: "secondary",
786
- userQueryButtonConfig: {
787
- placeholderText: "Would you like a recommendation?",
788
- icon: "magnifyingGlass"
789
- }
790
- }
791
- },
792
- chatPreviewPLP: {
793
- widgetConfigId: "chatPreviewPLP",
794
- type: WidgetType.ChatPreview,
795
- variant: "filled",
796
- addSeparators: false,
797
- socialProofConfig: {
798
- staticPLPImagesLayout: "horizontal",
799
- logoName: "WineEnthusiast_Logo_DK.svg",
800
- customerQuery: "asked which items will enhance my wine life?",
801
- headerTitle: "SHOPPING ASSISTANT",
802
- headerFontFamily: "DIN",
803
- suggestionButtonStrings: [
804
- "What are other wine lovers saying?",
805
- "Best selling wine cellars",
806
- "Energy efficient options",
807
- "Compact solutions",
808
- "Premium collections"
809
- ],
810
- staticPLPImageNames: [
811
- "plp1.png",
812
- "plp2.png",
813
- "plp3.png",
814
- "plp4.png"
815
- ],
816
- suggestionButtonVariantDefault: "secondary",
817
- suggestionButtonVariantAccent: "secondary",
818
- userQueryButtonConfig: {
819
- placeholderText: "Would you like a recommendation?",
820
- icon: "magnifyingGlass"
821
- }
822
- }
823
- },
824
- chatPreviewPDP: {
825
- widgetConfigId: "chatPreviewPDP",
826
- type: WidgetType.ChatPreview,
827
- variant: "flat",
828
- addSeparators: true,
829
- socialProofConfig: {
830
- staticPLPImagesLayout: "horizontal",
831
- logoName: "WineEnthusiast_Logo_DK.svg",
832
- customerQuery: "asked what makes this one wow?",
833
- headerTitle: "SHOPPING ASSISTANT",
834
- headerFontFamily: "DIN",
835
- suggestionButtonStrings: [
836
- "What makes this unique?",
837
- "Summarize the reviews",
838
- "Is it easy to use or install?",
839
- "How do I care for this?",
840
- "Why do collectors love this?",
841
- "What are similar items?"
842
- ],
843
- staticImageIndex: 0,
844
- suggestionButtonVariantDefault: "secondary",
845
- suggestionButtonVariantAccent: "secondary",
846
- userQueryButtonConfig: {
847
- placeholderText: "Ask me anything",
848
- icon: "send"
849
- }
850
- }
851
- },
852
- bottomSuggestionBar: {
853
- type: WidgetType.SuggestionBarV2,
854
- widgetConfigId: "bottomSuggestionsBar",
855
- contentId: "spiffy-bottom-suggestion-bar-contents",
856
- metricDisplayLocation: ChatElementDisplayLocation.BOTTOM_REVIEWS_SNIPPET,
857
- location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_BOTTOM,
858
- variant: "secondary",
859
- hoverVariant: "secondaryDark",
860
- buttonTexts: { default: [
861
- "Is this the right one for me?",
862
- "Why do wine lovers choose this one?",
863
- "Which others should I consider?",
864
- "What do buyers love most?"
865
- ] }
866
- }
867
- },
868
- mountingConfigs: {
869
- chatPreviewPLP: {
870
- mountingConfigId: "chatPreviewPLP",
871
- containerId: CHAT_PREVIEW_CONTAINER_ID,
872
- testId: CHAT_PREVIEW_TESTID,
873
- insertionPoint: {
874
- selector: ".ais-InfiniteHits-list",
875
- insertionType: DOMInsertionType.AFTER
876
- },
877
- style: {
878
- paddingInline: "24px",
879
- marginBottom: "24px",
880
- width: "100%",
881
- gridColumn: "1 / -1",
882
- gridRow: "2 / 3"
883
- },
884
- gridInsertionType: GridInsertionType.FIXED_2,
885
- wrappingElement: {
886
- element: "div",
887
- className: "products",
888
- insertionType: DOMInsertionType.AFTER
889
- }
890
- },
891
- chatPreviewPDP: {
892
- mountingConfigId: "chatPreviewPDP",
893
- containerId: CHAT_PREVIEW_CONTAINER_ID,
894
- testId: CHAT_PREVIEW_TESTID,
895
- insertionPoint: {
896
- selector: ".product-social-links",
897
- insertionType: DOMInsertionType.AFTER
898
- }
899
- },
900
- topSuggestionBarPDP: {
901
- mountingConfigId: "topSuggestionBarPDP",
902
- containerId: TOP_SUGGESTION_BAR_PDP_ID,
903
- testId: TOP_SUGGESTION_BAR_TESTID,
904
- insertionPoint: {
905
- selector: ".product-add-form, .product-form, .product-actions, .add-to-cart",
906
- insertionType: DOMInsertionType.BEFORE
907
- },
908
- style: {
909
- marginTop: "16px",
910
- marginBottom: "8px"
911
- }
912
- },
913
- bottomSuggestionBarPDP: {
914
- mountingConfigId: "bottomSuggestionBarPDP",
915
- containerId: BOTTOM_REVIEWS_BAR_ID,
916
- testId: BOTTOM_SUGGESTION_BAR_TESTID,
917
- insertionPoint: {
918
- selector: ".header__inner",
919
- insertionType: DOMInsertionType.AFTER
920
- },
921
- style: {
922
- marginTop: "-16px",
923
- marginBottom: "8px"
924
- }
925
- }
926
- }
927
- });
928
- const wineEnthusiastOrgInfo = {
929
- shortName: OrgShortName.WineEnthusiast,
930
- name: "",
931
- domain: "wineenthusiast.com",
932
- defaultProductId: "",
933
- alwaysEnabledMerchants: true,
934
- orgUIConfig: wineEnthusiastOrgUIConfig,
935
- orgColors: () => wineEnthusiastColors,
936
- orgPageConfig: wineEnthusiastPageConfig
937
- };
938
-
939
- //#endregion
940
- export { wineEnthusiastOrgInfo };
941
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid2luZUVudGh1c2lhc3QtRUpiaE1lS1EuanMiLCJuYW1lcyI6WyJ3aW5lRW50aHVzaWFzdENvbG9yczogQ29sb3JNYXBwaW5nIl0sInNvdXJjZXMiOlsiLi4vc3JjL21lcmNoYW50cy93aW5lRW50aHVzaWFzdC93aW5lRW50aHVzaWFzdC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDSEFUX1BSRVZJRVdfVEVTVElELFxuICBUT1BfU1VHR0VTVElPTl9CQVJfVEVTVElELFxuICBCT1RUT01fU1VHR0VTVElPTl9CQVJfVEVTVElELFxufSBmcm9tIFwic3JjL2NvbmZpZy9sb2NhdG9yc1wiO1xuaW1wb3J0IHsgT3JnU2hvcnROYW1lLCBCYXNpY09yZ0luZm9UeXBlIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHNcIjtcbmltcG9ydCB7IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHMvY2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb25cIjtcbmltcG9ydCB7IENkblNlcnZpY2UgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL3NlcnZpY2UvY2RuU2VydmljZVwiO1xuaW1wb3J0IHtcbiAgQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb25Nb2RlLFxuICBDdXN0b21lclNlcnZpY2VUeXBlLFxufSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL3NlcnZpY2UvY3VzdG9tZXJTZXJ2aWNlL3R5cGVzXCI7XG5pbXBvcnQgeyBHcmlkSW5zZXJ0aW9uVHlwZSB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vc2VydmljZS9kb21NdXRhdGlvbnMvR3JpZEluc2VydGlvblNlcnZpY2VcIjtcbmltcG9ydCB7IERPTUluc2VydGlvblR5cGUgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL3NlcnZpY2UvZG9tTXV0YXRpb25zL2RvbUluc2VydGlvblNlcnZpY2VcIjtcbmltcG9ydCB7XG4gIENIQVRfUFJFVklFV19DT05UQUlORVJfSUQsXG4gIFRPUF9TVUdHRVNUSU9OX0JBUl9QRFBfSUQsXG4gIEJPVFRPTV9SRVZJRVdTX0JBUl9JRCxcbn0gZnJvbSBcInNyYy9jb25maWcvZGl2SWRzXCI7XG5pbXBvcnQgeyBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzIH0gZnJvbSBcInNyYy90eXBlcy9zdWdnZXN0aW9uQmFyVjItdHlwZXNcIjtcbmltcG9ydCB7IGRlZmF1bHRPcmdVSUNvbmZpZyB9IGZyb20gXCJzcmMvbWVyY2hhbnRzL2RlZmF1bHRcIjtcbmltcG9ydCB7XG4gIENoYXRQcmV2aWV3V2lkZ2V0Q29uZmlnLFxuICBDb2xvck1hcHBpbmcsXG4gIENvbG9yTmFtZXMsXG4gIGNvbG9yVmFyLFxuICBPcmdQYWdlQ29uZmlnLFxuICBPcmdVSUNvbmZpZyxcbiAgUGFnZVZhcmlhbnRUZXN0VHlwZSxcbiAgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLFxuICBXaWRnZXRUeXBlLFxufSBmcm9tIFwic3JjL2NvbnRleHRzL3R5cGVzXCI7XG5cbmNvbnN0IHdpbmVFbnRodXNpYXN0Q29sb3JzOiBDb2xvck1hcHBpbmcgPSB7XG4gIFtDb2xvck5hbWVzLlRleHRQcmltYXJ5XTogXCIjMDAwMDAwXCIsXG4gIFtDb2xvck5hbWVzLlRleHRTZWNvbmRhcnldOiBcIiM5MTg3ODJcIixcbiAgW0NvbG9yTmFtZXMuVGV4dEFjY2VudF06IFwiIzQ4MjczRVwiLFxuICBbQ29sb3JOYW1lcy5UZXh0TGlua106IFwiIzAwMDAwMFwiLFxuICBbQ29sb3JOYW1lcy5UZXh0TGlnaHRdOiBcIiNGRkZGRkZcIixcbiAgW0NvbG9yTmFtZXMuQmFja2dyb3VuZFByaW1hcnldOiBcIiMwMDAwMDBcIixcbiAgW0NvbG9yTmFtZXMuQmFja2dyb3VuZFNlY29uZGFyeV06IFwiI0Y0RjNFRVwiLFxuICBbQ29sb3JOYW1lcy5CYWNrZ3JvdW5kU2Vjb25kYXJ5RGFya106IFwiI0U4RThFNVwiLFxuICBbQ29sb3JOYW1lcy5CYWNrZ3JvdW5kVGVydGlhcnldOiBcIiNGNEY0RjFcIixcbiAgW0NvbG9yTmFtZXMuQmFja2dyb3VuZERhcmtdOiBcIiMwMDAwMDBcIixcbiAgW0NvbG9yTmFtZXMuQmFja2dyb3VuZExpZ2h0XTogXCIjRkZGRkZGXCIsXG4gIFtDb2xvck5hbWVzLkJhY2tncm91bmRTYXR1cmF0ZWRdOiBcIlwiLFxuICBbQ29sb3JOYW1lcy5Cb3JkZXJMaWdodF06IFwiI0E2QTZBNlwiLFxuICBbQ29sb3JOYW1lcy5Cb3JkZXJNZWRpdW1dOiBcIiM2Qzc1N0RcIixcbiAgW0NvbG9yTmFtZXMuQm9yZGVyRGFya106IFwiIzRGNEY0RlwiLFxuICBbQ29sb3JOYW1lcy5Cb3JkZXJPdXRsaW5lXTogXCIjNEY0RjRGXCIsXG4gIFtDb2xvck5hbWVzLkFjY2VudFByaW1hcnldOiBcIiMwMDAwMDBcIixcbiAgW0NvbG9yTmFtZXMuQWNjZW50U2Vjb25kYXJ5XTogXCIjQjQ0ODE1XCIsXG59O1xuXG5jb25zdCB3aW5lRW50aHVzaWFzdE9yZ1VJQ29uZmlnID0gKCk6IE9yZ1VJQ29uZmlnID0+IHtcbiAgY29uc3QgZGVmYXVsdFdpbmVFbnRodXNpYXN0T3JnQ29uZmlnID0gZGVmYXVsdE9yZ1VJQ29uZmlnKFxuICAgIE9yZ1Nob3J0TmFtZS5XaW5lRW50aHVzaWFzdFxuICApO1xuXG4gIHJldHVybiB7XG4gICAgLi4uZGVmYXVsdFdpbmVFbnRodXNpYXN0T3JnQ29uZmlnLFxuICAgIGNoYXRNZXNzYWdlQ29uZmlnOiB7XG4gICAgICAuLi5kZWZhdWx0V2luZUVudGh1c2lhc3RPcmdDb25maWcuY2hhdE1lc3NhZ2VDb25maWcsXG4gICAgICBhc3Npc3RhbnRDaGF0VGl0bGU6IFwiV2luZSBFbnRodXNpYXN0IFNob3BwaW5nIEFzc2lzdGFudFwiLFxuICAgIH0sXG4gICAgY2hhdEhlYWRlcjoge1xuICAgICAgLi4uZGVmYXVsdFdpbmVFbnRodXNpYXN0T3JnQ29uZmlnLmNoYXRIZWFkZXIsXG4gICAgICBleHBhbmRlZENvbG9yOiBjb2xvclZhcihDb2xvck5hbWVzLkJhY2tncm91bmRQcmltYXJ5KSxcbiAgICAgIGNvbGxhcHNlZENvbG9yOiBjb2xvclZhcihDb2xvck5hbWVzLkJhY2tncm91bmRQcmltYXJ5KSxcbiAgICAgIGltYWdlU3JjOiBDZG5TZXJ2aWNlLmdldEFzc2V0VVJMKFxuICAgICAgICBcIldpbmVFbnRodXNpYXN0X0xvZ29fU21hbGwuc3ZnXCIsXG4gICAgICAgIE9yZ1Nob3J0TmFtZS5XaW5lRW50aHVzaWFzdFxuICAgICAgKSxcbiAgICAgIGN1c3RvbWVyU3VwcG9ydFN3aXRjaENvbmZpZzoge1xuICAgICAgICAuLi5kZWZhdWx0V2luZUVudGh1c2lhc3RPcmdDb25maWcuY2hhdEhlYWRlclxuICAgICAgICAgIC5jdXN0b21lclN1cHBvcnRTd2l0Y2hDb25maWchLFxuICAgICAgICBzdXBwb3J0VGl0bGU6IFwiTGl2ZSBTdXBwb3J0XCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAgY2hhdFByZXZpZXdDb25maWc6IHtcbiAgICAgIC4uLmRlZmF1bHRXaW5lRW50aHVzaWFzdE9yZ0NvbmZpZy5jaGF0UHJldmlld0NvbmZpZyEsXG4gICAgICBpY29uRmlsbENvbG9yOiBjb2xvclZhcihDb2xvck5hbWVzLkFjY2VudFByaW1hcnkpLFxuICAgICAgYnV0dG9uVGV4dENvbG9yOiBjb2xvclZhcihDb2xvck5hbWVzLkJvcmRlck91dGxpbmUpLFxuICAgICAgYnV0dG9uQmFja2dyb3VuZENvbG9yOiBjb2xvclZhcihDb2xvck5hbWVzLkJhY2tncm91bmRTZWNvbmRhcnkpLFxuICAgICAgYnV0dG9uVGV4dEhvdmVyQ29sb3I6IGNvbG9yVmFyKENvbG9yTmFtZXMuQm9yZGVyT3V0bGluZSksXG4gICAgICBidXR0b25CYWNrZ3JvdW5kSG92ZXJDb2xvcjogY29sb3JWYXIoQ29sb3JOYW1lcy5CYWNrZ3JvdW5kU2Vjb25kYXJ5RGFyayksXG4gICAgICB0b3BNYXJnaW46IDEwLFxuICAgICAgaGVhZGVyQ29uZmlnOiB7XG4gICAgICAgIC4uLmRlZmF1bHRXaW5lRW50aHVzaWFzdE9yZ0NvbmZpZy5jaGF0UHJldmlld0NvbmZpZyEuaGVhZGVyQ29uZmlnLFxuICAgICAgICBpbWFnZUhlaWdodDogMjQsXG4gICAgICAgIGltYWdlU3JjOiBDZG5TZXJ2aWNlLmdldEFzc2V0VVJMKFxuICAgICAgICAgIFwiV2luZUVudGh1c2lhc3RfTG9nb19ESy5zdmdcIixcbiAgICAgICAgICBPcmdTaG9ydE5hbWUuV2luZUVudGh1c2lhc3RcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgICBmb290ZXJDb25maWc6IHtcbiAgICAgICAgLi4uZGVmYXVsdFdpbmVFbnRodXNpYXN0T3JnQ29uZmlnLmNoYXRQcmV2aWV3Q29uZmlnIS5mb290ZXJDb25maWcsXG4gICAgICAgIHJlcGx5QnV0dG9uSWNvbjogXCJtYWduaWZ5aW5nR2xhc3NcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgICBmbG9hdGluZ0VudHJ5cG9pbnRDb25maWc6IHtcbiAgICAgIC4uLmRlZmF1bHRXaW5lRW50aHVzaWFzdE9yZ0NvbmZpZy5mbG9hdGluZ0VudHJ5cG9pbnRDb25maWchLFxuICAgICAgc2hvd09wdGlvbjogXCJhbHdheXNcIixcbiAgICAgIGV4cGFuc2lvblRleHQ6IHtcbiAgICAgICAgcGRwOiBcIklzIHRoaXMg4oCYdGhlIG9uZeKAmT9cIixcbiAgICAgICAgcGxwOiBcIldvdWxkIHlvdSBsaWtlIGEgcmVjb21tZW5kYXRpb24/XCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAgcHJvZHVjdENhcmRDb25maWc6IHtcbiAgICAgIC4uLmRlZmF1bHRXaW5lRW50aHVzaWFzdE9yZ0NvbmZpZy5wcm9kdWN0Q2FyZENvbmZpZyEsXG4gICAgfSxcblxuICAgIHBhZ2VDYXJkQ29uZmlnOiB7XG4gICAgICAuLi5kZWZhdWx0V2luZUVudGh1c2lhc3RPcmdDb25maWcucGFnZUNhcmRDb25maWchLFxuICAgIH0sXG4gICAgcHJvZHVjdFJldmlld0NvbmZpZzoge1xuICAgICAgLi4uZGVmYXVsdFdpbmVFbnRodXNpYXN0T3JnQ29uZmlnLnByb2R1Y3RSZXZpZXdDb25maWchLFxuICAgIH0sXG4gICAgd2VsY29tZVNlY3Rpb25Db25maWc6IHtcbiAgICAgIC4uLmRlZmF1bHRXaW5lRW50aHVzaWFzdE9yZ0NvbmZpZy53ZWxjb21lU2VjdGlvbkNvbmZpZyEsXG4gICAgICB0aXRsZTogXCJXZWxjb21lIHRvIFdpbmUgRW50aHVzaWFzdCFcIixcbiAgICAgIHN1YnRpdGxlOlxuICAgICAgICBcIkknbSBub3QganVzdCBhbnkgQUkgYXNzaXN0YW50LCBJJ20gYSBsaWZlc3R5bGUgZW5oYW5jZXIuIElmIHlvdSB3YW50IHRvIHNpcCwgc3RvcmUgb3Igc2hhcmUgd2luZSwgYWxsb3cgbWUgdG8gaGVscC4gXCIsXG4gICAgfSxcbiAgICBjdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbjoge1xuICAgICAgaW50ZWdyYXRpb25Nb2RlOiBDdXN0b21lclNlcnZpY2VJbnRlZ3JhdGlvbk1vZGUuc2ltcGxlLFxuICAgICAgcHJvdmlkZXI6IEN1c3RvbWVyU2VydmljZVR5cGUuZ2xhZGx5LFxuICAgIH0sXG4gICAgaGlkZGVuRWxlbWVudFNlbGVjdG9yczogW1wiW2RhdGEtYWlkKj0nZ2xhZGx5Q2hhdENoYXRCdXR0b24nXVwiXSxcbiAgICBtZXJjaGFudE92ZXJyaWRlQ3NzOiBgXG4gICAgLyogLS0tLS0tLS0gRmxvYXRpbmcgQ2hhdCBTdHlsZXMgLSBNb2RhbCBTaGVldCBaLUluZGV4IE92ZXJyaWRlIC0tLS0tLS0tICovXG4gICAgLyogTm90ZTogR2xhZGx5IGNoYXQgI2dsYWRseUNoYXRfY29udGFpbmVyIHVzZXMgei1pbmRleDogMjE0NzQ4MzAwMCwgc28gd2UgbmVlZCBoaWdoZXIgdmFsdWUgKi9cbiAgICAuc3BpZmZ5LW1vZGFsLXNoZWV0LW9wZW4ge1xuICAgICAgei1pbmRleDogMjE0NzQ4MzAwMSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAvKiBPdmVycmlkZSBHbGFkbHkncyB6LWluZGV4IHByZWxvYWQgKi9cbiAgICAjZ2xhZGx5Q2hhdF9jb250YWluZXIucHJlbG9hZHtcbiAgICAgIHotaW5kZXg6IDk5OCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAvKiBGb3JjZSBHbGFkbHkgei1pbmRleCB0byBzdGF5IGxvdyB3aXRoIGhpZ2hlciBzcGVjaWZpY2l0eSAqL1xuICAgIGJvZHkgI2dsYWRseUNoYXRfY29udGFpbmVyLFxuICAgIGh0bWwgYm9keSAjZ2xhZGx5Q2hhdF9jb250YWluZXIge1xuICAgICAgei1pbmRleDogOTk4ICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIC8qIC0tLS0tLS0tIEZsb2F0aW5nIENoYXQgU3R5bGVzIC0gV2VsY29tZSBTZWN0aW9uIFRpdGxlIFN0eWxpbmcgLS0tLS0tLS0gKi9cbiAgICAuc3BpZmZ5LXdlbGNvbWUtc2VjdGlvbi1tZXNzYWdlLXRpdGxlIHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnNwaWZmeS1hc3Npc3RhbnQtbWVzc2FnZS1oZWFkZXItdGV4dHtcbiAgICAgIGZvbnQtd2VpZ2h0OiA2MDAgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogMTRweCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAvKiAtLS0tLS0tLSBGbG9hdGluZyBDaGF0IFN0eWxlcyAtIEJ1dHRvbnMgLS0tLS0tLS0gKi9cbiAgICAuc3BpZmZ5LW1vZGFsLXNoZWV0LWNvbnRlbnQgPiBkaXY6bnRoLWNoaWxkKDIpID4gZGl2ID4gZGl2ID4gZGl2ID4gZGl2ID4gYnV0dG9uOmhvdmVyIHtcbiAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNwaWZmeS1jb2xvcnMtYmFja2dyb3VuZC1zZWNvbmRhcnktZGFyaykgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXNwaWZmeS1jb2xvcnMtYmFja2dyb3VuZC1zZWNvbmRhcnktZGFyaykgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLXRleHQtcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLnNwaWZmeS1tb2RhbC1zaGVldC1jb250ZW50ID4gZGl2Om50aC1jaGlsZCg0KSA+IGRpdiA+IGRpdiA+IGRpdiA+IGRpdiA+IGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zcGlmZnktY29sb3JzLWJhY2tncm91bmQtc2Vjb25kYXJ5LWRhcmspICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXI6IDFweCBzb2xpZCB2YXIoLS1zcGlmZnktY29sb3JzLWJhY2tncm91bmQtc2Vjb25kYXJ5LWRhcmspICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogdmFyKC0tc3BpZmZ5LWNvbG9ycy10ZXh0LXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgIC5zcGlmZnktbW9kYWwtc2hlZXQtY29udGVudCA+IGRpdjpudGgtY2hpbGQoNCkgPiBkaXYgPiBkaXYgPiBkaXYgPiBkaXYgPiBidXR0b246aG92ZXIgc3ZnIHtcbiAgICAgIHN0cm9rZTogdmFyKC0tc3BpZmZ5LWNvbG9ycy10ZXh0LXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgICBmaWxsOiB2YXIoLS1zcGlmZnktY29sb3JzLXRleHQtcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICB9XG4gICAgLnNwaWZmeS1zdGFyLXJhdGluZy1jb250YWluZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvciA6IHZhcigtLXNwaWZmeS1jb2xvcnMtYmFja2dyb3VuZC1saWdodCkgIWltcG9ydGFudDtcbiAgICB9XG5cbiAgICAvKiAtLS0tLS0tLSBGbG9hdGluZyBDaGF0IFN0eWxlcyAtIEFydGljbGUgY2FyZCAtLS0tLS0tLSAqL1xuICAgIC5zcGlmZnktcGFnZS1jYXJkLWNvbnRhaW5lciB7XG4gICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zcGlmZnktY29sb3JzLWJhY2tncm91bmQtc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICAuc3BpZmZ5LXBhZ2UtY2FyZC1jb250YWluZXI6aG92ZXIge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tc3BpZmZ5LWNvbG9ycy1iYWNrZ3JvdW5kLXNlY29uZGFyeS1kYXJrKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAuc3BpZmZ5LXBhZ2UtY2FyZC10aXRsZSB7XG4gICAgICBmb250LWZhbWlseTogUG9wcGlucyAhaW1wb3J0YW50O1xuICAgICAgZm9udC13ZWlnaHQ6IDUwMCAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxMjQlICFpbXBvcnRhbnQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMCUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLnNwaWZmeS1wYWdlLWNhcmQtZGVzY3JpcHRpb24ge1xuICAgICAgZm9udC13ZWlnaHQ6IDQwMCAhaW1wb3J0YW50O1xuICAgICAgZm9udC1zdHlsZTogbm9ybWFsICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXNpemU6IDE0cHggIWltcG9ydGFudDtcbiAgICAgIGxpbmUtaGVpZ2h0OiAxNDAlICFpbXBvcnRhbnQ7XG4gICAgICBsZXR0ZXItc3BhY2luZzogMCUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLnNwaWZmeS12aWV3LXNvdXJjZS1pY29uLXdyYXBwZXIge1xuICAgICAgYmFja2dyb3VuZDogdmFyKC0tc3BpZmZ5LWNvbG9ycy1hY2NlbnQtcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXNwaWZmeS1jb2xvcnMtYWNjZW50LXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgIC5zcGlmZnktdmlldy1zb3VyY2UtbGluayB7XG4gICAgICBmb250LXdlaWdodDogNTAwICFpbXBvcnRhbnQ7XG4gICAgICBmb250LXN0eWxlOiBub3JtYWwgIWltcG9ydGFudDtcbiAgICAgIGZvbnQtc2l6ZTogMTJweCAhaW1wb3J0YW50O1xuICAgICAgbGluZS1oZWlnaHQ6IDEzMCUgIWltcG9ydGFudDtcbiAgICAgIGxldHRlci1zcGFjaW5nOiAwJSAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6IHZhcigtLXNwaWZmeS1jb2xvcnMtdGV4dC1wcmltYXJ5KSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAvKiAtLS0tLS0tLS0gVG9wL2JvdHRvbSBTdWdnZXN0aW9ucyBCYXJzIFN0eWxlcyAtLS0tLS0tLS0gKi9cbiAgICAjc3BpZmZ5LXRvcC1zdWdnZXN0aW9uLWJhci1jb250ZW50cyBidXR0b24ge1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tc3BpZmZ5LWNvbG9ycy1iYWNrZ3JvdW5kLXNlY29uZGFyeS1kYXJrKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAjc3BpZmZ5LWJvdHRvbS1zdWdnZXN0aW9uLWJhci1jb250ZW50cyBidXR0b24ge1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyOiAxcHggc29saWQgdmFyKC0tc3BpZmZ5LWNvbG9ycy1iYWNrZ3JvdW5kLXNlY29uZGFyeS1kYXJrKSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAjc3BpZmZ5LXRvcC1zdWdnZXN0aW9uLWJhci1jb250ZW50cyBidXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3BpZmZ5LWNvbG9ycy1iYWNrZ3JvdW5kLXNlY29uZGFyeS1kYXJrKSAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLWNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLWJhY2tncm91bmQtc2Vjb25kYXJ5LWRhcmspICFpbXBvcnRhbnQ7XG4gICAgICBjb2xvcjogdmFyKC0tc3BpZmZ5LWNvbG9ycy10ZXh0LXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItcmFkaXVzOiAwICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgICNzcGlmZnktYm90dG9tLXN1Z2dlc3Rpb24tYmFyLWNvbnRlbnRzIGJ1dHRvbjpob3ZlciB7XG4gICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLWJhY2tncm91bmQtc2Vjb25kYXJ5LWRhcmspICFpbXBvcnRhbnQ7XG4gICAgICBib3JkZXItY29sb3I6IHZhcigtLXNwaWZmeS1jb2xvcnMtYmFja2dyb3VuZC1zZWNvbmRhcnktZGFyaykgIWltcG9ydGFudDtcbiAgICAgIGNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLXRleHQtcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLyogLS0tLS0tLS0tIFBMUC9QRFAgQ2hhdHMgUHJldmlld3MgQnV0dG9ucyBTdHlsZXMgLS0tLS0tLS0tICovXG4gICAgLnNwaWZmeS1zb2NpYWwtcHJvb2YtY29udGVudC1jb250YWluZXIgPiBzcGFuOmZpcnN0LWNoaWxkIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLXRleHQtYWNjZW50KSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAuc3BpZmZ5LXNvY2lhbC1wcm9vZi1jb250ZW50LWNvbnRhaW5lciA+IHNwYW46bGFzdC1jaGlsZCB7XG4gICAgICBjb2xvcjogdmFyKC0tc3BpZmZ5LWNvbG9ycy10ZXh0LXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgfVxuICAgIFxuICAgIC5zcGlmZnktc29jaWFsLXByb29mLXN1Z2dlc3Rpb24tZm9vdGVyLXRpdGxlIHtcbiAgICAgIGNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLXRleHQtc2Vjb25kYXJ5KSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgICNzcGlmZnktYWktY2hhdC1wcmV2aWV3LWNvbnRlbnRzIC5zcGlmZnktYnV0dG9uLWJhc2UtYnV0dG9uIHtcbiAgICAgIGJvcmRlci1yYWRpdXM6IDAgIWltcG9ydGFudDtcbiAgICAgIGJvcmRlcjogMXB4IHNvbGlkIHZhcigtLXNwaWZmeS1jb2xvcnMtYmFja2dyb3VuZC1zZWNvbmRhcnktZGFyaykgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgI3NwaWZmeS1haS1jaGF0LXByZXZpZXctY29udGVudHMgLnNwaWZmeS1idXR0b24tYmFzZS1idXR0b246aG92ZXIge1xuICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3BpZmZ5LWNvbG9ycy1iYWNrZ3JvdW5kLXNlY29uZGFyeS1kYXJrKSAhaW1wb3J0YW50O1xuICAgICAgY29sb3I6IHZhcigtLXNwaWZmeS1jb2xvcnMtdGV4dC1wcmltYXJ5KSAhaW1wb3J0YW50O1xuICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBcbiAgICAjc3BpZmZ5LWFpLWNoYXQtcHJldmlldy1jb250ZW50cyAuc3BpZmZ5LWJ1dHRvbi1iYXNlLWJ1dHRvbjpob3ZlciBzdmcge1xuICAgICAgZmlsbDogdmFyKC0tc3BpZmZ5LWNvbG9ycy10ZXh0LXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgICBzdHJva2U6IHZhcigtLXNwaWZmeS1jb2xvcnMtdGV4dC1wcmltYXJ5KSAhaW1wb3J0YW50O1xuICAgIH1cblxuICAgIC8qIC0tLS0tLS0tIEZlZWRiYWNrIEJ1dHRvbiBTdHlsZXMgLSBSZW1vdmUgVG9wIEJvcmRlciAtLS0tLS0tLSAqL1xuICAgICNzcGlmZnktYWktY2hhdC1wcmV2aWV3LWNvbnRlbnRzID4gaHI6bnRoLWNoaWxkKDMpIHtcbiAgICAgIGRpc3BsYXk6IG5vbmUgIWltcG9ydGFudDtcbiAgICB9XG4gICAgXG4gICAgLyogLS0tLS0tLS0gUERQIEZvb3RlciBJbnB1dCBTaGFkb3cgLS0tLS0tLS0gKi9cbiAgICAuc3BpZmZ5LXVzZXItcXVlcnktYnV0dG9uIHtcbiAgICAgIGJveC1zaGFkb3c6IDFweCAxcHggNHB4IDBweCByZ2JhKDAsIDAsIDAsIDAuMjUpICFpbXBvcnRhbnQ7XG4gICAgICBtYXJnaW46IDRweCAhaW1wb3J0YW50O1xuICAgICAgd2lkdGg6IDk5JSAhaW1wb3J0YW50O1xuICAgIH1cbiAgICBgLFxuICB9O1xufTtcblxuY29uc3Qgd2luZUVudGh1c2lhc3RQYWdlQ29uZmlnID0gKCk6IE9yZ1BhZ2VDb25maWcgPT4gKHtcbiAgcGFnZVZhcmlhbnRzOiBbXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInBscFRhYmxldG9wRW50ZXJ0YWluaW5nXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwbHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5QbHBJZCxcbiAgICAgICAgICBwbHBJZHM6IFtcInRhYmxldG9wLWVudGVydGFpbmluZ1wiXSxcbiAgICAgICAgICBwbHBJZEV4dHJhY3RvcjogXCJ1cmwtcmVzb2x2ZXItcGxwLWlkXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcGxwSWRFeHRyYWN0b3I6IFwidXJsLXJlc29sdmVyLXBscC1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQTFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BMUFRhYmxldG9wRW50ZXJ0YWluaW5nXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInBscERlY29yXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwbHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5QbHBJZCxcbiAgICAgICAgICBwbHBJZHM6IFtcImRlY29yXCJdLFxuICAgICAgICAgIHBscElkRXh0cmFjdG9yOiBcInVybC1yZXNvbHZlci1wbHAtaWRcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwbHBJZEV4dHJhY3RvcjogXCJ1cmwtcmVzb2x2ZXItcGxwLWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BMUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQVGFibGV0b3BFbnRlcnRhaW5pbmdcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGxwV2luZUNvb2xlcnNcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBscFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHsgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuVXJsUmVzb2x2ZXIgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlBscElkLFxuICAgICAgICAgIHBscElkczogW1wid2luZS1jb29sZXJzXCJdLFxuICAgICAgICAgIHBscElkRXh0cmFjdG9yOiBcInVybC1yZXNvbHZlci1wbHAtaWRcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwbHBJZEV4dHJhY3RvcjogXCJ1cmwtcmVzb2x2ZXItcGxwLWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BMUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQV2luZUNvb2xlcnNcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGxwRHVhbFpvbmVXaW5lQ29vbGVyc1wiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGxwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAgeyB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlciB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuUGxwSWQsXG4gICAgICAgICAgcGxwSWRzOiBbXCJkdWFsLXpvbmUtd2luZS1jb29sZXJzXCJdLFxuICAgICAgICAgIHBscElkRXh0cmFjdG9yOiBcInVybC1yZXNvbHZlci1wbHAtaWRcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwbHBJZEV4dHJhY3RvcjogXCJ1cmwtcmVzb2x2ZXItcGxwLWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BMUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQRHVhbFpvbmVXaW5lQ29vbGVyc1wiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJwbHBTaWRlQnlTaWRlV2luZUNhYmluZXRzXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwbHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5QbHBJZCxcbiAgICAgICAgICBwbHBJZHM6IFtcInNpZGUtYnktc2lkZS13aW5lLWNhYmluZXRzXCJdLFxuICAgICAgICAgIHBscElkRXh0cmFjdG9yOiBcInVybC1yZXNvbHZlci1wbHAtaWRcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwbHBJZEV4dHJhY3RvcjogXCJ1cmwtcmVzb2x2ZXItcGxwLWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BMUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQU2lkZUJ5U2lkZVdpbmVDYWJpbmV0c1wiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJwbHBHbGFzc3dhcmVcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBscFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHsgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuVXJsUmVzb2x2ZXIgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlBscElkLFxuICAgICAgICAgIHBscElkczogW1wiZ2xhc3N3YXJlXCJdLFxuICAgICAgICAgIHBscElkRXh0cmFjdG9yOiBcInVybC1yZXNvbHZlci1wbHAtaWRcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwbHBJZEV4dHJhY3RvcjogXCJ1cmwtcmVzb2x2ZXItcGxwLWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BMUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQR2xhc3N3YXJlXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInBscFdpbmVSYWNrc1wiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGxwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAgeyB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlciB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuUGxwSWQsXG4gICAgICAgICAgcGxwSWRzOiBbXCJ3aW5lLXJhY2tzXCJdLFxuICAgICAgICAgIHBscElkRXh0cmFjdG9yOiBcInVybC1yZXNvbHZlci1wbHAtaWRcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwbHBJZEV4dHJhY3RvcjogXCJ1cmwtcmVzb2x2ZXItcGxwLWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BMUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQV2luZVJhY2tzXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInBscEZ1cm5pdHVyZVwiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGxwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAgeyB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlciB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuUGxwSWQsXG4gICAgICAgICAgcGxwSWRzOiBbXCJmdXJuaXR1cmVcIl0sXG4gICAgICAgICAgcGxwSWRFeHRyYWN0b3I6IFwidXJsLXJlc29sdmVyLXBscC1pZFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHBscElkRXh0cmFjdG9yOiBcInVybC1yZXNvbHZlci1wbHAtaWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQTFBGdXJuaXR1cmVcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGxwV2luZUFjY2Vzc29yaWVzXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwbHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5QbHBJZCxcbiAgICAgICAgICBwbHBJZHM6IFtcIndpbmUtYWNjZXNzb3JpZXNcIl0sXG4gICAgICAgICAgcGxwSWRFeHRyYWN0b3I6IFwidXJsLXJlc29sdmVyLXBscC1pZFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHBscElkRXh0cmFjdG9yOiBcInVybC1yZXNvbHZlci1wbHAtaWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQTFBXaW5lQWNjZXNzb3JpZXNcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGxwV2luZUNlbGxhckNvb2xpbmdcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBscFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHsgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuVXJsUmVzb2x2ZXIgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlBscElkLFxuICAgICAgICAgIHBscElkczogW1wid2luZS1jZWxsYXItY29vbGluZy1zeXN0ZW1zXCJdLFxuICAgICAgICAgIHBscElkRXh0cmFjdG9yOiBcInVybC1yZXNvbHZlci1wbHAtaWRcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwbHBJZEV4dHJhY3RvcjogXCJ1cmwtcmVzb2x2ZXItcGxwLWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BMUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQV2luZUNlbGxhckNvb2xpbmdcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGxwRGVjYW50ZXJzXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwbHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5QbHBJZCxcbiAgICAgICAgICBwbHBJZHM6IFtcImRlY2FudGVyc1wiXSxcbiAgICAgICAgICBwbHBJZEV4dHJhY3RvcjogXCJ1cmwtcmVzb2x2ZXItcGxwLWlkXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcGxwSWRFeHRyYWN0b3I6IFwidXJsLXJlc29sdmVyLXBscC1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQTFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BMUERlY2FudGVyc1wiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJwbHBcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBscFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbeyB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlciB9XSxcbiAgICAgIHBscElkRXh0cmFjdG9yOiBcInVybC1yZXNvbHZlci1wbHAtaWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQTFBcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGRwXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwZHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW3sgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuVXJsUmVzb2x2ZXIgfV0sXG4gICAgICBwcm9kdWN0SWRFeHRyYWN0b3I6IFwidXJsLXJlc29sdmVyLXByb2R1Y3QtaWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uQmFyXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25CYXJcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwiaG9tZXBhZ2VcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcImhvbWVwYWdlXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJvdGhlclBhZ2VzXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJvdGhlclwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlcixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICB3aWRnZXRNb3VudGluZzogW10sXG4gICAgfSxcbiAgXSxcbiAgd2lkZ2V0Q29uZmlnczoge1xuICAgIHRvcFN1Z2dlc3Rpb25CYXI6IHtcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU3VnZ2VzdGlvbkJhclYyLFxuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJcIixcbiAgICAgIGNvbnRlbnRJZDogXCJzcGlmZnktdG9wLXN1Z2dlc3Rpb24tYmFyLWNvbnRlbnRzXCIsXG4gICAgICBtZXRyaWNEaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uLlRPUF9SRVZJRVdTX1NOSVBQRVQsXG4gICAgICBsb2NhdGlvbjogU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcy5TVUdHRVNUSU9OX0JBUl9UT1AsXG4gICAgICB2YXJpYW50OiBcInNlY29uZGFyeVwiLFxuICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeURhcmtcIixcbiAgICAgIGJ1dHRvblRleHRzOiB7XG4gICAgICAgIGRlZmF1bHQ6IFtcbiAgICAgICAgICBcIklzIHRoaXMgdGhlIHJpZ2h0IG9uZSBmb3IgbWU/XCIsXG4gICAgICAgICAgXCJXaHkgZG8gd2luZSBsb3ZlcnMgY2hvb3NlIHRoaXMgb25lP1wiLFxuICAgICAgICAgIFwiV2hpY2ggb3RoZXJzIHNob3VsZCBJIGNvbnNpZGVyP1wiLFxuICAgICAgICAgIFwiV2hhdCBkbyBidXllcnMgbG92ZSBtb3N0P1wiLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcsXG4gICAgY2hhdFByZXZpZXdQTFBUYWJsZXRvcEVudGVydGFpbmluZzoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQTFBUYWJsZXRvcEVudGVydGFpbmluZ1wiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5DaGF0UHJldmlldyxcbiAgICAgIHZhcmlhbnQ6IFwiZmlsbGVkXCIsXG4gICAgICBhZGRTZXBhcmF0b3JzOiBmYWxzZSxcbiAgICAgIHNvY2lhbFByb29mQ29uZmlnOiB7XG4gICAgICAgIHN0YXRpY1BMUEltYWdlc0xheW91dDogXCJob3Jpem9udGFsXCIsXG4gICAgICAgIGxvZ29OYW1lOiBcIldpbmVFbnRodXNpYXN0X0xvZ29fREsuc3ZnXCIsXG4gICAgICAgIGN1c3RvbWVyUXVlcnk6IFwiYXNrZWQgd2hpY2ggaXRlbXMgd2lsbCBlbmhhbmNlIG15IHdpbmUgbGlmZT9cIixcbiAgICAgICAgaGVhZGVyVGl0bGU6IFwiU0hPUFBJTkcgQVNTSVNUQU5UXCIsXG4gICAgICAgIGhlYWRlckZvbnRGYW1pbHk6IFwiRElOXCIsXG4gICAgICAgIHN1Z2dlc3Rpb25CdXR0b25TdHJpbmdzOiBbXG4gICAgICAgICAgXCJXaGF0IGFyZSBvdGhlciB3aW5lIGxvdmVycyBzYXlpbmc/XCIsXG4gICAgICAgICAgXCJNb3N0IGltcHJlc3NpdmUgd2luZSBnaWZ0cz9cIixcbiAgICAgICAgICBcIk1vc3QgbG92ZWQgd2luZSBnaWZ0cz9cIixcbiAgICAgICAgICBcIkdyZWF0IGdpZnRzIGZvciBlbnRlcnRhaW5lcnM/XCIsXG4gICAgICAgICAgXCJHcmVhdCBnaWZ0cyBmb3Igd2luZSBnZWVrcz9cIixcbiAgICAgICAgICBcIkdyZWF0IGdpZnRzIGZvciB3ZWRkaW5ncz9cIixcbiAgICAgICAgXSxcbiAgICAgICAgc3RhdGljUExQSW1hZ2VOYW1lczogW1wicGxwMS5wbmdcIiwgXCJwbHAyLnBuZ1wiLCBcInBscDMucG5nXCIsIFwicGxwNC5wbmdcIl0sXG4gICAgICAgIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50RGVmYXVsdDogXCJzZWNvbmRhcnlcIixcbiAgICAgICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnRBY2NlbnQ6IFwic2Vjb25kYXJ5XCIsXG4gICAgICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzoge1xuICAgICAgICAgIHBsYWNlaG9sZGVyVGV4dDogXCJXb3VsZCB5b3UgbGlrZSBhIHJlY29tbWVuZGF0aW9uP1wiLFxuICAgICAgICAgIGljb246IFwibWFnbmlmeWluZ0dsYXNzXCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIENoYXRQcmV2aWV3V2lkZ2V0Q29uZmlnLFxuICAgIGNoYXRQcmV2aWV3UExQV2luZUNvb2xlcnM6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQV2luZUNvb2xlcnNcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuQ2hhdFByZXZpZXcsXG4gICAgICB2YXJpYW50OiBcImZpbGxlZFwiLFxuICAgICAgYWRkU2VwYXJhdG9yczogZmFsc2UsXG4gICAgICBzb2NpYWxQcm9vZkNvbmZpZzoge1xuICAgICAgICBzdGF0aWNQTFBJbWFnZXNMYXlvdXQ6IFwiaG9yaXpvbnRhbFwiLFxuICAgICAgICBsb2dvTmFtZTogXCJXaW5lRW50aHVzaWFzdF9Mb2dvX0RLLnN2Z1wiLFxuICAgICAgICBjdXN0b21lclF1ZXJ5OiBcImFza2VkIHdoaWNoIGl0ZW1zIHdpbGwgZW5oYW5jZSBteSB3aW5lIGxpZmU/XCIsXG4gICAgICAgIGhlYWRlclRpdGxlOiBcIlNIT1BQSU5HIEFTU0lTVEFOVFwiLFxuICAgICAgICBoZWFkZXJGb250RmFtaWx5OiBcIkRJTlwiLFxuICAgICAgICBzdWdnZXN0aW9uQnV0dG9uU3RyaW5nczogW1xuICAgICAgICAgIFwiV2hhdCBhcmUgb3RoZXIgd2luZSBsb3ZlcnMgc2F5aW5nP1wiLFxuICAgICAgICAgIFwiV2hpY2ggd2luZSBmcmlkZ2UgaXMgcmlnaHQgZm9yIG1lP1wiLFxuICAgICAgICAgIFwiV2hpY2ggb25lcyBob2xkIHRoZSByaWdodCBudW1iZXIgb2YgYm90dGxlcz9cIixcbiAgICAgICAgICBcIldpbGwgaXQgZml0IEJ1cmd1bmR5IG9yIENoYW1wYWduZSBib3R0bGVzP1wiLFxuICAgICAgICAgIFwiQmVzdCBmaXQgZm9yIHNtYWxsIHNwYWNlcz9cIixcbiAgICAgICAgICBcIkJlc3QgZm9yIGxvbmctdGVybSBhZ2luZz9cIixcbiAgICAgICAgICBcIkJlc3QgZm9yIGRpc3BsYXlpbmcgbXkgY29sbGVjdGlvbj9cIixcbiAgICAgICAgICBcIldoYXQgbWFrZXMgYSB3aW5lIGZyaWRnZSBhYmxlIHRvIGJlIGJ1aWx0LWluP1wiLFxuICAgICAgICBdLFxuICAgICAgICBzdGF0aWNQTFBJbWFnZU5hbWVzOiBbXCJwbHAxLnBuZ1wiLCBcInBscDIucG5nXCIsIFwicGxwMy5wbmdcIiwgXCJwbHA0LnBuZ1wiXSxcbiAgICAgICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnREZWZhdWx0OiBcInNlY29uZGFyeVwiLFxuICAgICAgICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudEFjY2VudDogXCJzZWNvbmRhcnlcIixcbiAgICAgICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiB7XG4gICAgICAgICAgcGxhY2Vob2xkZXJUZXh0OiBcIldvdWxkIHlvdSBsaWtlIGEgcmVjb21tZW5kYXRpb24/XCIsXG4gICAgICAgICAgaWNvbjogXCJtYWduaWZ5aW5nR2xhc3NcIixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgQ2hhdFByZXZpZXdXaWRnZXRDb25maWcsXG4gICAgY2hhdFByZXZpZXdQTFBEdWFsWm9uZVdpbmVDb29sZXJzOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BMUER1YWxab25lV2luZUNvb2xlcnNcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuQ2hhdFByZXZpZXcsXG4gICAgICB2YXJpYW50OiBcImZpbGxlZFwiLFxuICAgICAgYWRkU2VwYXJhdG9yczogZmFsc2UsXG4gICAgICBzb2NpYWxQcm9vZkNvbmZpZzoge1xuICAgICAgICBzdGF0aWNQTFBJbWFnZXNMYXlvdXQ6IFwiaG9yaXpvbnRhbFwiLFxuICAgICAgICBsb2dvTmFtZTogXCJXaW5lRW50aHVzaWFzdF9Mb2dvX0RLLnN2Z1wiLFxuICAgICAgICBjdXN0b21lclF1ZXJ5OiBcImFza2VkIHdoaWNoIGl0ZW1zIHdpbGwgZW5oYW5jZSBteSB3aW5lIGxpZmU/XCIsXG4gICAgICAgIGhlYWRlclRpdGxlOiBcIlNIT1BQSU5HIEFTU0lTVEFOVFwiLFxuICAgICAgICBoZWFkZXJGb250RmFtaWx5OiBcIkRJTlwiLFxuICAgICAgICBzdWdnZXN0aW9uQnV0dG9uU3RyaW5nczogW1xuICAgICAgICAgIFwiV2hhdCBhcmUgb3RoZXIgd2luZSBsb3ZlcnMgc2F5aW5nP1wiLFxuICAgICAgICAgIFwiV2hhdCBpcyB0aGUgZGlmZmVyZW5jZSBiZXR3ZWVuIGEgRHVhbC1ab25lIGFuZCBhIFNpZGUtYnktU2lkZT9cIixcbiAgICAgICAgICBcIldoYXQgY2FuIEkgc2V0IHRoZSB0ZW1wZXJhdHVyZSB0bz9cIixcbiAgICAgICAgXSxcbiAgICAgICAgc3RhdGljUExQSW1hZ2VOYW1lczogW1wicGxwMS5wbmdcIiwgXCJwbHAyLnBuZ1wiLCBcInBscDMucG5nXCIsIFwicGxwNC5wbmdcIl0sXG4gICAgICAgIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50RGVmYXVsdDogXCJzZWNvbmRhcnlcIixcbiAgICAgICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnRBY2NlbnQ6IFwic2Vjb25kYXJ5XCIsXG4gICAgICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzoge1xuICAgICAgICAgIHBsYWNlaG9sZGVyVGV4dDogXCJXb3VsZCB5b3UgbGlrZSBhIHJlY29tbWVuZGF0aW9uP1wiLFxuICAgICAgICAgIGljb246IFwibWFnbmlmeWluZ0dsYXNzXCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIENoYXRQcmV2aWV3V2lkZ2V0Q29uZmlnLFxuICAgIGNoYXRQcmV2aWV3UExQU2lkZUJ5U2lkZVdpbmVDYWJpbmV0czoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQTFBTaWRlQnlTaWRlV2luZUNhYmluZXRzXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLkNoYXRQcmV2aWV3LFxuICAgICAgdmFyaWFudDogXCJmaWxsZWRcIixcbiAgICAgIGFkZFNlcGFyYXRvcnM6IGZhbHNlLFxuICAgICAgc29jaWFsUHJvb2ZDb25maWc6IHtcbiAgICAgICAgc3RhdGljUExQSW1hZ2VzTGF5b3V0OiBcImhvcml6b250YWxcIixcbiAgICAgICAgbG9nb05hbWU6IFwiV2luZUVudGh1c2lhc3RfTG9nb19ESy5zdmdcIixcbiAgICAgICAgY3VzdG9tZXJRdWVyeTogXCJhc2tlZCB3aGljaCBpdGVtcyB3aWxsIGVuaGFuY2UgbXkgd2luZSBsaWZlP1wiLFxuICAgICAgICBoZWFkZXJUaXRsZTogXCJTSE9QUElORyBBU1NJU1RBTlRcIixcbiAgICAgICAgaGVhZGVyRm9udEZhbWlseTogXCJESU5cIixcbiAgICAgICAgc3VnZ2VzdGlvbkJ1dHRvblN0cmluZ3M6IFtcbiAgICAgICAgICBcIldoYXQgYXJlIG90aGVyIHdpbmUgbG92ZXJzIHNheWluZz9cIixcbiAgICAgICAgICBcIldoYXQgaXMgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiBhIER1YWwtWm9uZSBhbmQgYSBTaWRlLWJ5LVNpZGU/XCIsXG4gICAgICAgICAgXCJXaGF0IGNhbiBJIHNldCB0aGUgdGVtcGVyYXR1cmUgdG8/XCIsXG4gICAgICAgIF0sXG4gICAgICAgIHN0YXRpY1BMUEltYWdlTmFtZXM6IFtcInBscDEucG5nXCIsIFwicGxwMi5wbmdcIiwgXCJwbHAzLnBuZ1wiLCBcInBscDQucG5nXCJdLFxuICAgICAgICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudERlZmF1bHQ6IFwic2Vjb25kYXJ5XCIsXG4gICAgICAgIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50QWNjZW50OiBcInNlY29uZGFyeVwiLFxuICAgICAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IHtcbiAgICAgICAgICBwbGFjZWhvbGRlclRleHQ6IFwiV291bGQgeW91IGxpa2UgYSByZWNvbW1lbmRhdGlvbj9cIixcbiAgICAgICAgICBpY29uOiBcIm1hZ25pZnlpbmdHbGFzc1wiLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBDaGF0UHJldmlld1dpZGdldENvbmZpZyxcbiAgICBjaGF0UHJldmlld1BMUEdsYXNzd2FyZToge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQTFBHbGFzc3dhcmVcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuQ2hhdFByZXZpZXcsXG4gICAgICB2YXJpYW50OiBcImZpbGxlZFwiLFxuICAgICAgYWRkU2VwYXJhdG9yczogZmFsc2UsXG4gICAgICBzb2NpYWxQcm9vZkNvbmZpZzoge1xuICAgICAgICBzdGF0aWNQTFBJbWFnZXNMYXlvdXQ6IFwiaG9yaXpvbnRhbFwiLFxuICAgICAgICBsb2dvTmFtZTogXCJXaW5lRW50aHVzaWFzdF9Mb2dvX0RLLnN2Z1wiLFxuICAgICAgICBjdXN0b21lclF1ZXJ5OiBcImFza2VkIHdoaWNoIGl0ZW1zIHdpbGwgZW5oYW5jZSBteSB3aW5lIGxpZmU/XCIsXG4gICAgICAgIGhlYWRlclRpdGxlOiBcIlNIT1BQSU5HIEFTU0lTVEFOVFwiLFxuICAgICAgICBoZWFkZXJGb250RmFtaWx5OiBcIkRJTlwiLFxuICAgICAgICBzdWdnZXN0aW9uQnV0dG9uU3RyaW5nczogW1xuICAgICAgICAgIFwiV2hhdCBhcmUgb3RoZXIgd2luZSBsb3ZlcnMgc2F5aW5nP1wiLFxuICAgICAgICAgIFwiV2hpY2ggb25lcyBhcmUgbGlnaHR3ZWlnaHQ/XCIsXG4gICAgICAgICAgXCJXaGljaCBvbmVzIGFyZSBicmVhay1yZXNpc3RhbnQ/XCIsXG4gICAgICAgICAgXCJXaGljaCBvbmVzIGFyZSBkaXNod2FzaGVyIHNhZmU/XCIsXG4gICAgICAgICAgXCJXaGljaCBvbmVzIGhhdmUgc2hvcnQgc3RlbXM/XCIsXG4gICAgICAgICAgXCJXaGF0J3MgZ29vZCBmb3Igb3V0ZG9vciB1c2U/XCIsXG4gICAgICAgICAgXCJTaG91bGQgSSBnZXQgdW5pdmVyc2FsIGdsYXNzZXM/XCIsXG4gICAgICAgICAgXCJXaGF0IGFyZSBteSBvcHRpb25zIGZvciBwZXJzb25hbGl6YXRpb24/XCIsXG4gICAgICAgIF0sXG4gICAgICAgIHN0YXRpY1BMUEltYWdlTmFtZXM6IFtcInBscDEucG5nXCIsIFwicGxwMi5wbmdcIiwgXCJwbHAzLnBuZ1wiLCBcInBscDQucG5nXCJdLFxuICAgICAgICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudERlZmF1bHQ6IFwic2Vjb25kYXJ5XCIsXG4gICAgICAgIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50QWNjZW50OiBcInNlY29uZGFyeVwiLFxuICAgICAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IHtcbiAgICAgICAgICBwbGFjZWhvbGRlclRleHQ6IFwiV291bGQgeW91IGxpa2UgYSByZWNvbW1lbmRhdGlvbj9cIixcbiAgICAgICAgICBpY29uOiBcIm1hZ25pZnlpbmdHbGFzc1wiLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBDaGF0UHJldmlld1dpZGdldENvbmZpZyxcbiAgICBjaGF0UHJldmlld1BMUFdpbmVSYWNrczoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQTFBXaW5lUmFja3NcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuQ2hhdFByZXZpZXcsXG4gICAgICB2YXJpYW50OiBcImZpbGxlZFwiLFxuICAgICAgYWRkU2VwYXJhdG9yczogZmFsc2UsXG4gICAgICBzb2NpYWxQcm9vZkNvbmZpZzoge1xuICAgICAgICBzdGF0aWNQTFBJbWFnZXNMYXlvdXQ6IFwiaG9yaXpvbnRhbFwiLFxuICAgICAgICBsb2dvTmFtZTogXCJXaW5lRW50aHVzaWFzdF9Mb2dvX0RLLnN2Z1wiLFxuICAgICAgICBjdXN0b21lclF1ZXJ5OiBcImFza2VkIHdoaWNoIGl0ZW1zIHdpbGwgZW5oYW5jZSBteSB3aW5lIGxpZmU/XCIsXG4gICAgICAgIGhlYWRlclRpdGxlOiBcIlNIT1BQSU5HIEFTU0lTVEFOVFwiLFxuICAgICAgICBoZWFkZXJGb250RmFtaWx5OiBcIkRJTlwiLFxuICAgICAgICBzdWdnZXN0aW9uQnV0dG9uU3RyaW5nczogW1xuICAgICAgICAgIFwiV2hhdCBhcmUgb3RoZXIgd2luZSBsb3ZlcnMgc2F5aW5nP1wiLFxuICAgICAgICAgIFwiV2hpY2ggb2YgdGhlc2UgYXJlIHN0YWNrYWJsZT9cIixcbiAgICAgICAgICBcIldoaWNoIG9mIHRoZXNlIGFyZSBmcmVlLXN0YW5kaW5nP1wiLFxuICAgICAgICAgIFwiV2hpY2ggb2YgdGhlc2UgZGlzcGxheSBteSBjb2xsZWN0aW9uIHdlbGw/XCIsXG4gICAgICAgICAgXCJXaGljaCBvZiB0aGVzZSBhcmUgd2FsbC1tb3VudGVkP1wiLFxuICAgICAgICAgIFwiV2hpY2ggb2YgdGhlc2UgYXJlIG1vZGVybj9cIixcbiAgICAgICAgXSxcbiAgICAgICAgc3RhdGljUExQSW1hZ2VOYW1lczogW1wicGxwMS5wbmdcIiwgXCJwbHAyLnBuZ1wiLCBcInBscDMucG5nXCIsIFwicGxwNC5wbmdcIl0sXG4gICAgICAgIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50RGVmYXVsdDogXCJzZWNvbmRhcnlcIixcbiAgICAgICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnRBY2NlbnQ6IFwic2Vjb25kYXJ5XCIsXG4gICAgICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzoge1xuICAgICAgICAgIHBsYWNlaG9sZGVyVGV4dDogXCJXb3VsZCB5b3UgbGlrZSBhIHJlY29tbWVuZGF0aW9uP1wiLFxuICAgICAgICAgIGljb246IFwibWFnbmlmeWluZ0dsYXNzXCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIENoYXRQcmV2aWV3V2lkZ2V0Q29uZmlnLFxuICAgIGNoYXRQcmV2aWV3UExQRnVybml0dXJlOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BMUEZ1cm5pdHVyZVwiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5DaGF0UHJldmlldyxcbiAgICAgIHZhcmlhbnQ6IFwiZmlsbGVkXCIsXG4gICAgICBhZGRTZXBhcmF0b3JzOiBmYWxzZSxcbiAgICAgIHNvY2lhbFByb29mQ29uZmlnOiB7XG4gICAgICAgIHN0YXRpY1BMUEltYWdlc0xheW91dDogXCJob3Jpem9udGFsXCIsXG4gICAgICAgIGxvZ29OYW1lOiBcIldpbmVFbnRodXNpYXN0X0xvZ29fREsuc3ZnXCIsXG4gICAgICAgIGN1c3RvbWVyUXVlcnk6IFwiYXNrZWQgd2hpY2ggaXRlbXMgd2lsbCBlbmhhbmNlIG15IHdpbmUgbGlmZT9cIixcbiAgICAgICAgaGVhZGVyVGl0bGU6IFwiU0hPUFBJTkcgQVNTSVNUQU5UXCIsXG4gICAgICAgIGhlYWRlckZvbnRGYW1pbHk6IFwiRElOXCIsXG4gICAgICAgIHN1Z2dlc3Rpb25CdXR0b25TdHJpbmdzOiBbXG4gICAgICAgICAgXCJXaGF0IGFyZSBvdGhlciB3aW5lIGxvdmVycyBzYXlpbmc/XCIsXG4gICAgICAgICAgXCJXaGF0J3MgZ29vZCBmb3Igc21hbGwgc3BhY2VzP1wiLFxuICAgICAgICAgIFwiV2hpY2ggb2YgdGhlc2UgYXJlIG1vZGVybj9cIixcbiAgICAgICAgICBcIldoaWNoIG9mIHRoZXNlIGFyZSBuYXR1cmFsIGxvb2tpbmc/XCIsXG4gICAgICAgICAgXCJXaGljaCBvZiB0aGVzZSBhcmUgbWFkZSBmb3Igc3Bpcml0cz9cIixcbiAgICAgICAgICBcIldoaWNoIG9mIHRoZXNlIGhhdmUgcmVmcmlnZXJhdGlvbiBvcHRpb25zP1wiLFxuICAgICAgICAgIFwiV2hpY2ggb2YgdGhlc2UgaGF2ZSBidWlsdC1pbiBsaWdodGluZz9cIixcbiAgICAgICAgXSxcbiAgICAgICAgc3RhdGljUExQSW1hZ2VOYW1lczogW1wicGxwMS5wbmdcIiwgXCJwbHAyLnBuZ1wiLCBcInBscDMucG5nXCIsIFwicGxwNC5wbmdcIl0sXG4gICAgICAgIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50RGVmYXVsdDogXCJzZWNvbmRhcnlcIixcbiAgICAgICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnRBY2NlbnQ6IFwic2Vjb25kYXJ5XCIsXG4gICAgICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzoge1xuICAgICAgICAgIHBsYWNlaG9sZGVyVGV4dDogXCJXb3VsZCB5b3UgbGlrZSBhIHJlY29tbWVuZGF0aW9uP1wiLFxuICAgICAgICAgIGljb246IFwibWFnbmlmeWluZ0dsYXNzXCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIENoYXRQcmV2aWV3V2lkZ2V0Q29uZmlnLFxuICAgIGNoYXRQcmV2aWV3UExQV2luZUFjY2Vzc29yaWVzOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BMUFdpbmVBY2Nlc3Nvcmllc1wiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5DaGF0UHJldmlldyxcbiAgICAgIHZhcmlhbnQ6IFwiZmlsbGVkXCIsXG4gICAgICBhZGRTZXBhcmF0b3JzOiBmYWxzZSxcbiAgICAgIHNvY2lhbFByb29mQ29uZmlnOiB7XG4gICAgICAgIHN0YXRpY1BMUEltYWdlc0xheW91dDogXCJob3Jpem9udGFsXCIsXG4gICAgICAgIGxvZ29OYW1lOiBcIldpbmVFbnRodXNpYXN0X0xvZ29fREsuc3ZnXCIsXG4gICAgICAgIGN1c3RvbWVyUXVlcnk6IFwiYXNrZWQgd2hpY2ggaXRlbXMgd2lsbCBlbmhhbmNlIG15IHdpbmUgbGlmZT9cIixcbiAgICAgICAgaGVhZGVyVGl0bGU6IFwiU0hPUFBJTkcgQVNTSVNUQU5UXCIsXG4gICAgICAgIGhlYWRlckZvbnRGYW1pbHk6IFwiRElOXCIsXG4gICAgICAgIHN1Z2dlc3Rpb25CdXR0b25TdHJpbmdzOiBbXG4gICAgICAgICAgXCJXaGF0IGFyZSBvdGhlciB3aW5lIGxvdmVycyBzYXlpbmc/XCIsXG4gICAgICAgICAgXCJIb3cgZG8gSSBjaG9vc2UgYSBjb3Jrc2NyZXc/XCIsXG4gICAgICAgICAgXCJIb3cgZG8gSSBrZWVwIHdpbmUgZnJlc2ggbG9uZ2VyP1wiLFxuICAgICAgICAgIFwiSG93IGRvIEkgdHJhdmVsIHdpdGggd2luZT9cIixcbiAgICAgICAgXSxcbiAgICAgICAgc3RhdGljUExQSW1hZ2VOYW1lczogW1wicGxwMS5wbmdcIiwgXCJwbHAyLnBuZ1wiLCBcInBscDMucG5nXCIsIFwicGxwNC5wbmdcIl0sXG4gICAgICAgIHN1Z2dlc3Rpb25CdXR0b25WYXJpYW50RGVmYXVsdDogXCJzZWNvbmRhcnlcIixcbiAgICAgICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnRBY2NlbnQ6IFwic2Vjb25kYXJ5XCIsXG4gICAgICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzoge1xuICAgICAgICAgIHBsYWNlaG9sZGVyVGV4dDogXCJXb3VsZCB5b3UgbGlrZSBhIHJlY29tbWVuZGF0aW9uP1wiLFxuICAgICAgICAgIGljb246IFwibWFnbmlmeWluZ0dsYXNzXCIsXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIENoYXRQcmV2aWV3V2lkZ2V0Q29uZmlnLFxuICAgIGNoYXRQcmV2aWV3UExQV2luZUNlbGxhckNvb2xpbmc6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQV2luZUNlbGxhckNvb2xpbmdcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuQ2hhdFByZXZpZXcsXG4gICAgICB2YXJpYW50OiBcImZpbGxlZFwiLFxuICAgICAgYWRkU2VwYXJhdG9yczogZmFsc2UsXG4gICAgICBzb2NpYWxQcm9vZkNvbmZpZzoge1xuICAgICAgICBzdGF0aWNQTFBJbWFnZXNMYXlvdXQ6IFwiaG9yaXpvbnRhbFwiLFxuICAgICAgICBsb2dvTmFtZTogXCJXaW5lRW50aHVzaWFzdF9Mb2dvX0RLLnN2Z1wiLFxuICAgICAgICBjdXN0b21lclF1ZXJ5OiBcImFza2VkIHdoaWNoIGl0ZW1zIHdpbGwgZW5oYW5jZSBteSB3aW5lIGxpZmU/XCIsXG4gICAgICAgIGhlYWRlclRpdGxlOiBcIlNIT1BQSU5HIEFTU0lTVEFOVFwiLFxuICAgICAgICBoZWFkZXJGb250RmFtaWx5OiBcIkRJTlwiLFxuICAgICAgICBzdWdnZXN0aW9uQnV0dG9uU3RyaW5nczogW1xuICAgICAgICAgIFwiV2hhdCBhcmUgb3RoZXIgd2luZSBsb3ZlcnMgc2F5aW5nP1wiLFxuICAgICAgICAgIFwiSG93IGJpZyBvZiBhIHVuaXQgZG8gSSBuZWVkP1wiLFxuICAgICAgICAgIFwiSG93IGNhbiBJIHRlbGwgdGhlIGRpZmZlcmVuY2UgYmV0d2VlbiB0aGUgYnJhbmRzP1wiLFxuICAgICAgICAgIFwiV2hhdCBkbyBJIGdldCB3aGVuIEkgc3BlbmQgbW9yZT9cIixcbiAgICAgICAgICBcIldoYXQga2luZCBvZiB3YXJyYW50aWVzIGFyZSBvZmZlcmVkP1wiLFxuICAgICAgICBdLFxuICAgICAgICBzdGF0aWNQTFBJbWFnZU5hbWVzOiBbXCJwbHAxLnBuZ1wiLCBcInBscDIucG5nXCIsIFwicGxwMy5wbmdcIiwgXCJwbHA0LnBuZ1wiXSxcbiAgICAgICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnREZWZhdWx0OiBcInNlY29uZGFyeVwiLFxuICAgICAgICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudEFjY2VudDogXCJzZWNvbmRhcnlcIixcbiAgICAgICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiB7XG4gICAgICAgICAgcGxhY2Vob2xkZXJUZXh0OiBcIldvdWxkIHlvdSBsaWtlIGEgcmVjb21tZW5kYXRpb24/XCIsXG4gICAgICAgICAgaWNvbjogXCJtYWduaWZ5aW5nR2xhc3NcIixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgQ2hhdFByZXZpZXdXaWRnZXRDb25maWcsXG4gICAgY2hhdFByZXZpZXdQTFBEZWNhbnRlcnM6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQRGVjYW50ZXJzXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLkNoYXRQcmV2aWV3LFxuICAgICAgdmFyaWFudDogXCJmaWxsZWRcIixcbiAgICAgIGFkZFNlcGFyYXRvcnM6IGZhbHNlLFxuICAgICAgc29jaWFsUHJvb2ZDb25maWc6IHtcbiAgICAgICAgc3RhdGljUExQSW1hZ2VzTGF5b3V0OiBcImhvcml6b250YWxcIixcbiAgICAgICAgbG9nb05hbWU6IFwiV2luZUVudGh1c2lhc3RfTG9nb19ESy5zdmdcIixcbiAgICAgICAgY3VzdG9tZXJRdWVyeTogXCJhc2tlZCB3aGljaCBpdGVtcyB3aWxsIGVuaGFuY2UgbXkgd2luZSBsaWZlP1wiLFxuICAgICAgICBoZWFkZXJUaXRsZTogXCJTSE9QUElORyBBU1NJU1RBTlRcIixcbiAgICAgICAgaGVhZGVyRm9udEZhbWlseTogXCJESU5cIixcbiAgICAgICAgc3VnZ2VzdGlvbkJ1dHRvblN0cmluZ3M6IFtcbiAgICAgICAgICBcIldoYXQgYXJlIG90aGVyIHdpbmUgbG92ZXJzIHNheWluZz9cIixcbiAgICAgICAgICBcIldoaWNoIG9uZXMgaG9sZCBtb3JlIHRoYW4gYSBzdGFuZGFyZCBib3R0bGU/XCIsXG4gICAgICAgICAgXCJXaGljaCBvbmVzIGFyZSBmb3IgeW91bmcgd2luZT9cIixcbiAgICAgICAgICBcIldoaWNoIG9uZXMgYXJlIGZvciBhZ2VkIHdpbmU/XCIsXG4gICAgICAgICAgXCJXaGljaCBvbmVzIGFsc28gYWVyYXRlIHRoZSB3aW5lP1wiLFxuICAgICAgICAgIFwiV2hhdCBhcmUgbXkgb3B0aW9ucyBmb3IgcGVyc29uYWxpemF0aW9uP1wiLFxuICAgICAgICBdLFxuICAgICAgICBzdGF0aWNQTFBJbWFnZU5hbWVzOiBbXCJwbHAxLnBuZ1wiLCBcInBscDIucG5nXCIsIFwicGxwMy5wbmdcIiwgXCJwbHA0LnBuZ1wiXSxcbiAgICAgICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnREZWZhdWx0OiBcInNlY29uZGFyeVwiLFxuICAgICAgICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudEFjY2VudDogXCJzZWNvbmRhcnlcIixcbiAgICAgICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiB7XG4gICAgICAgICAgcGxhY2Vob2xkZXJUZXh0OiBcIldvdWxkIHlvdSBsaWtlIGEgcmVjb21tZW5kYXRpb24/XCIsXG4gICAgICAgICAgaWNvbjogXCJtYWduaWZ5aW5nR2xhc3NcIixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgQ2hhdFByZXZpZXdXaWRnZXRDb25maWcsXG4gICAgY2hhdFByZXZpZXdQTFA6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLkNoYXRQcmV2aWV3LFxuICAgICAgdmFyaWFudDogXCJmaWxsZWRcIixcbiAgICAgIGFkZFNlcGFyYXRvcnM6IGZhbHNlLFxuICAgICAgc29jaWFsUHJvb2ZDb25maWc6IHtcbiAgICAgICAgc3RhdGljUExQSW1hZ2VzTGF5b3V0OiBcImhvcml6b250YWxcIixcbiAgICAgICAgbG9nb05hbWU6IFwiV2luZUVudGh1c2lhc3RfTG9nb19ESy5zdmdcIixcbiAgICAgICAgY3VzdG9tZXJRdWVyeTogXCJhc2tlZCB3aGljaCBpdGVtcyB3aWxsIGVuaGFuY2UgbXkgd2luZSBsaWZlP1wiLFxuICAgICAgICBoZWFkZXJUaXRsZTogXCJTSE9QUElORyBBU1NJU1RBTlRcIixcbiAgICAgICAgaGVhZGVyRm9udEZhbWlseTogXCJESU5cIixcbiAgICAgICAgc3VnZ2VzdGlvbkJ1dHRvblN0cmluZ3M6IFtcbiAgICAgICAgICBcIldoYXQgYXJlIG90aGVyIHdpbmUgbG92ZXJzIHNheWluZz9cIixcbiAgICAgICAgICBcIkJlc3Qgc2VsbGluZyB3aW5lIGNlbGxhcnNcIixcbiAgICAgICAgICBcIkVuZXJneSBlZmZpY2llbnQgb3B0aW9uc1wiLFxuICAgICAgICAgIFwiQ29tcGFjdCBzb2x1dGlvbnNcIixcbiAgICAgICAgICBcIlByZW1pdW0gY29sbGVjdGlvbnNcIixcbiAgICAgICAgXSxcblxuICAgICAgICBzdGF0aWNQTFBJbWFnZU5hbWVzOiBbXCJwbHAxLnBuZ1wiLCBcInBscDIucG5nXCIsIFwicGxwMy5wbmdcIiwgXCJwbHA0LnBuZ1wiXSxcbiAgICAgICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnREZWZhdWx0OiBcInNlY29uZGFyeVwiLFxuICAgICAgICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudEFjY2VudDogXCJzZWNvbmRhcnlcIixcbiAgICAgICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiB7XG4gICAgICAgICAgcGxhY2Vob2xkZXJUZXh0OiBcIldvdWxkIHlvdSBsaWtlIGEgcmVjb21tZW5kYXRpb24/XCIsXG4gICAgICAgICAgaWNvbjogXCJtYWduaWZ5aW5nR2xhc3NcIixcbiAgICAgICAgfSxcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgQ2hhdFByZXZpZXdXaWRnZXRDb25maWcsXG4gICAgY2hhdFByZXZpZXdQRFA6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLkNoYXRQcmV2aWV3LFxuICAgICAgdmFyaWFudDogXCJmbGF0XCIsXG4gICAgICBhZGRTZXBhcmF0b3JzOiB0cnVlLFxuICAgICAgc29jaWFsUHJvb2ZDb25maWc6IHtcbiAgICAgICAgc3RhdGljUExQSW1hZ2VzTGF5b3V0OiBcImhvcml6b250YWxcIixcbiAgICAgICAgbG9nb05hbWU6IFwiV2luZUVudGh1c2lhc3RfTG9nb19ESy5zdmdcIixcbiAgICAgICAgY3VzdG9tZXJRdWVyeTogXCJhc2tlZCB3aGF0IG1ha2VzIHRoaXMgb25lIHdvdz9cIixcbiAgICAgICAgaGVhZGVyVGl0bGU6IFwiU0hPUFBJTkcgQVNTSVNUQU5UXCIsXG4gICAgICAgIGhlYWRlckZvbnRGYW1pbHk6IFwiRElOXCIsXG4gICAgICAgIHN1Z2dlc3Rpb25CdXR0b25TdHJpbmdzOiBbXG4gICAgICAgICAgXCJXaGF0IG1ha2VzIHRoaXMgdW5pcXVlP1wiLFxuXG4gICAgICAgICAgXCJTdW1tYXJpemUgdGhlIHJldmlld3NcIixcbiAgICAgICAgICBcIklzIGl0IGVhc3kgdG8gdXNlIG9yIGluc3RhbGw/XCIsXG4gICAgICAgICAgXCJIb3cgZG8gSSBjYXJlIGZvciB0aGlzP1wiLFxuICAgICAgICAgIFwiV2h5IGRvIGNvbGxlY3RvcnMgbG92ZSB0aGlzP1wiLFxuICAgICAgICAgIFwiV2hhdCBhcmUgc2ltaWxhciBpdGVtcz9cIixcbiAgICAgICAgXSxcbiAgICAgICAgc3RhdGljSW1hZ2VJbmRleDogMCxcbiAgICAgICAgc3VnZ2VzdGlvbkJ1dHRvblZhcmlhbnREZWZhdWx0OiBcInNlY29uZGFyeVwiLFxuICAgICAgICBzdWdnZXN0aW9uQnV0dG9uVmFyaWFudEFjY2VudDogXCJzZWNvbmRhcnlcIixcbiAgICAgICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiB7XG4gICAgICAgICAgcGxhY2Vob2xkZXJUZXh0OiBcIkFzayBtZSBhbnl0aGluZ1wiLFxuICAgICAgICAgIGljb246IFwic2VuZFwiLFxuICAgICAgICB9LFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBDaGF0UHJldmlld1dpZGdldENvbmZpZyxcbiAgICBib3R0b21TdWdnZXN0aW9uQmFyOiB7XG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLlN1Z2dlc3Rpb25CYXJWMixcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25zQmFyXCIsXG4gICAgICBjb250ZW50SWQ6IFwic3BpZmZ5LWJvdHRvbS1zdWdnZXN0aW9uLWJhci1jb250ZW50c1wiLFxuICAgICAgbWV0cmljRGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbi5CT1RUT01fUkVWSUVXU19TTklQUEVULFxuICAgICAgbG9jYXRpb246IFN1Z2dlc3Rpb25CYXJMb2NhdGlvbkZvck1ldHJpY3MuU1VHR0VTVElPTl9CQVJfQk9UVE9NLFxuICAgICAgdmFyaWFudDogXCJzZWNvbmRhcnlcIixcbiAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlEYXJrXCIsXG4gICAgICBidXR0b25UZXh0czoge1xuICAgICAgICBkZWZhdWx0OiBbXG4gICAgICAgICAgXCJJcyB0aGlzIHRoZSByaWdodCBvbmUgZm9yIG1lP1wiLFxuICAgICAgICAgIFwiV2h5IGRvIHdpbmUgbG92ZXJzIGNob29zZSB0aGlzIG9uZT9cIixcbiAgICAgICAgICBcIldoaWNoIG90aGVycyBzaG91bGQgSSBjb25zaWRlcj9cIixcbiAgICAgICAgICBcIldoYXQgZG8gYnV5ZXJzIGxvdmUgbW9zdD9cIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLFxuICB9LFxuICBtb3VudGluZ0NvbmZpZ3M6IHtcbiAgICBjaGF0UHJldmlld1BMUDoge1xuICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BMUFwiLFxuICAgICAgY29udGFpbmVySWQ6IENIQVRfUFJFVklFV19DT05UQUlORVJfSUQsXG4gICAgICB0ZXN0SWQ6IENIQVRfUFJFVklFV19URVNUSUQsXG4gICAgICBpbnNlcnRpb25Qb2ludDoge1xuICAgICAgICBzZWxlY3RvcjogXCIuYWlzLUluZmluaXRlSGl0cy1saXN0XCIsXG4gICAgICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGUuQUZURVIsXG4gICAgICB9LFxuICAgICAgc3R5bGU6IHtcbiAgICAgICAgcGFkZGluZ0lubGluZTogXCIyNHB4XCIsXG4gICAgICAgIG1hcmdpbkJvdHRvbTogXCIyNHB4XCIsXG4gICAgICAgIHdpZHRoOiBcIjEwMCVcIixcbiAgICAgICAgZ3JpZENvbHVtbjogXCIxIC8gLTFcIixcbiAgICAgICAgZ3JpZFJvdzogXCIyIC8gM1wiLFxuICAgICAgfSxcbiAgICAgIGdyaWRJbnNlcnRpb25UeXBlOiBHcmlkSW5zZXJ0aW9uVHlwZS5GSVhFRF8yLFxuICAgICAgd3JhcHBpbmdFbGVtZW50OiB7XG4gICAgICAgIGVsZW1lbnQ6IFwiZGl2XCIsXG4gICAgICAgIGNsYXNzTmFtZTogXCJwcm9kdWN0c1wiLFxuICAgICAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlLkFGVEVSLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGNoYXRQcmV2aWV3UERQOiB7XG4gICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICBjb250YWluZXJJZDogQ0hBVF9QUkVWSUVXX0NPTlRBSU5FUl9JRCxcbiAgICAgIHRlc3RJZDogQ0hBVF9QUkVWSUVXX1RFU1RJRCxcbiAgICAgIGluc2VydGlvblBvaW50OiB7XG4gICAgICAgIHNlbGVjdG9yOiBcIi5wcm9kdWN0LXNvY2lhbC1saW5rc1wiLFxuICAgICAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlLkFGVEVSLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHRvcFN1Z2dlc3Rpb25CYXJQRFA6IHtcbiAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgY29udGFpbmVySWQ6IFRPUF9TVUdHRVNUSU9OX0JBUl9QRFBfSUQsXG4gICAgICB0ZXN0SWQ6IFRPUF9TVUdHRVNUSU9OX0JBUl9URVNUSUQsXG4gICAgICBpbnNlcnRpb25Qb2ludDoge1xuICAgICAgICBzZWxlY3RvcjpcbiAgICAgICAgICBcIi5wcm9kdWN0LWFkZC1mb3JtLCAucHJvZHVjdC1mb3JtLCAucHJvZHVjdC1hY3Rpb25zLCAuYWRkLXRvLWNhcnRcIixcbiAgICAgICAgaW5zZXJ0aW9uVHlwZTogRE9NSW5zZXJ0aW9uVHlwZS5CRUZPUkUsXG4gICAgICB9LFxuICAgICAgc3R5bGU6IHsgbWFyZ2luVG9wOiBcIjE2cHhcIiwgbWFyZ2luQm90dG9tOiBcIjhweFwiIH0sXG4gICAgfSxcbiAgICBib3R0b21TdWdnZXN0aW9uQmFyUERQOiB7XG4gICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgIGNvbnRhaW5lcklkOiBCT1RUT01fUkVWSUVXU19CQVJfSUQsXG4gICAgICB0ZXN0SWQ6IEJPVFRPTV9TVUdHRVNUSU9OX0JBUl9URVNUSUQsXG4gICAgICBpbnNlcnRpb25Qb2ludDoge1xuICAgICAgICBzZWxlY3RvcjogXCIuaGVhZGVyX19pbm5lclwiLFxuICAgICAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlLkFGVEVSLFxuICAgICAgfSxcbiAgICAgIHN0eWxlOiB7IG1hcmdpblRvcDogXCItMTZweFwiLCBtYXJnaW5Cb3R0b206IFwiOHB4XCIgfSxcbiAgICB9LFxuICB9LFxufSk7XG5cbmNvbnN0IHdpbmVFbnRodXNpYXN0T3JnSW5mbyA9IHtcbiAgc2hvcnROYW1lOiBPcmdTaG9ydE5hbWUuV2luZUVudGh1c2lhc3QsXG4gIG5hbWU6IFwiXCIsXG4gIGRvbWFpbjogXCJ3aW5lZW50aHVzaWFzdC5jb21cIixcbiAgZGVmYXVsdFByb2R1Y3RJZDogXCJcIixcbiAgYWx3YXlzRW5hYmxlZE1lcmNoYW50czogdHJ1ZSxcbiAgb3JnVUlDb25maWc6IHdpbmVFbnRodXNpYXN0T3JnVUlDb25maWcsXG4gIG9yZ0NvbG9yczogKCkgPT4gd2luZUVudGh1c2lhc3RDb2xvcnMsXG4gIG9yZ1BhZ2VDb25maWc6IHdpbmVFbnRodXNpYXN0UGFnZUNvbmZpZyxcbn0gc2F0aXNmaWVzIEJhc2ljT3JnSW5mb1R5cGU7XG5cbmV4cG9ydCB7XG4gIHdpbmVFbnRodXNpYXN0T3JnSW5mbyxcbiAgd2luZUVudGh1c2lhc3RPcmdVSUNvbmZpZyxcbiAgd2luZUVudGh1c2lhc3RDb2xvcnMsXG4gIHdpbmVFbnRodXNpYXN0UGFnZUNvbmZpZyxcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFpQ0EsTUFBTUEsdUJBQXFDO0VBQ3hDLFdBQVcsY0FBYztFQUN6QixXQUFXLGdCQUFnQjtFQUMzQixXQUFXLGFBQWE7RUFDeEIsV0FBVyxXQUFXO0VBQ3RCLFdBQVcsWUFBWTtFQUN2QixXQUFXLG9CQUFvQjtFQUMvQixXQUFXLHNCQUFzQjtFQUNqQyxXQUFXLDBCQUEwQjtFQUNyQyxXQUFXLHFCQUFxQjtFQUNoQyxXQUFXLGlCQUFpQjtFQUM1QixXQUFXLGtCQUFrQjtFQUM3QixXQUFXLHNCQUFzQjtFQUNqQyxXQUFXLGNBQWM7RUFDekIsV0FBVyxlQUFlO0VBQzFCLFdBQVcsYUFBYTtFQUN4QixXQUFXLGdCQUFnQjtFQUMzQixXQUFXLGdCQUFnQjtFQUMzQixXQUFXLGtCQUFrQjtDQUMvQjtBQUVELE1BQU0sa0NBQStDO0NBQ25ELE1BQU0saUNBQWlDLG1CQUNyQyxhQUFhLGVBQ2Q7QUFFRCxRQUFPO0VBQ0wsR0FBRztFQUNILG1CQUFtQjtHQUNqQixHQUFHLCtCQUErQjtHQUNsQyxvQkFBb0I7R0FDckI7RUFDRCxZ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