@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,1230 +0,0 @@
1
- import "./logger-pdEEY8T2.js";
2
- import "./api-XRr_lAG6.js";
3
- import { CdnService, ChatElementDisplayLocation, DOMInsertionType, FeatureGates, 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, GLOBAL_SEARCH_ENTRYPOINT_ID, HOMEPAGE_DESKTOP_GLOBAL_SEARCH_ENTRYPOINT_ID, HOMEPAGE_MOBILE_GLOBAL_SEARCH_ENTRYPOINT_ID, HOMEPAGE_TABLET_GLOBAL_SEARCH_ENTRYPOINT_ID, MOBILE_GLOBAL_SEARCH_ENTRYPOINT_ID, MOBILE_ICON_ONLY_GLOBAL_SEARCH_ENTRYPOINT_ID, PROMPT_CARD_ID, SEARCH_OVERLAY_ENTRYPOINT_ID, SEARCH_RESULTS_ENTRYPOINT_ID, TABLET_GLOBAL_SEARCH_ENTYPOINT_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, GLOBAL_SEARCH_ENTRYPOINT_TESTID, PROMPT_CARD_TESTID, SEARCH_OVERLAY_HOST_TESTID, SEARCH_RESULTS_ENTRYPOINT_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/bandolier/bandolier.ts
20
- const bandolierColors = {
21
- [ColorNames.TextPrimary]: "#000000",
22
- [ColorNames.TextSecondary]: "#6C6C6C",
23
- [ColorNames.TextAccent]: "#AF986E",
24
- [ColorNames.TextLink]: "#000000",
25
- [ColorNames.TextLight]: "#FFFFFF",
26
- [ColorNames.BackgroundPrimary]: "#000000",
27
- [ColorNames.BackgroundSecondary]: "#ECECEC",
28
- [ColorNames.BackgroundSecondaryDark]: "#E2E2E2",
29
- [ColorNames.BackgroundTertiary]: "#ECECEC",
30
- [ColorNames.BackgroundDark]: "#000000",
31
- [ColorNames.BackgroundLight]: "#FFFFFF",
32
- [ColorNames.BackgroundSaturated]: "#CCCCCC",
33
- [ColorNames.BorderLight]: "#ECECEC",
34
- [ColorNames.BorderMedium]: "#EAEAEA",
35
- [ColorNames.BorderDark]: "#6C6C6C",
36
- [ColorNames.BorderOutline]: "#000000",
37
- [ColorNames.AccentPrimary]: "#AF986E",
38
- [ColorNames.AccentSecondary]: "#DCB4AE"
39
- };
40
- const bandolierOrgUIConfig = () => {
41
- const defaultBandolierOrgConfig = defaultOrgUIConfig(OrgShortName.Bandolier);
42
- return {
43
- ...defaultBandolierOrgConfig,
44
- merchantVariantSettings: { dynamicVariants: {
45
- enabled: false,
46
- refreshInterval: 400
47
- } },
48
- chatMessageConfig: {
49
- ...defaultBandolierOrgConfig.chatMessageConfig,
50
- assistantChatTitle: "Ask Maggie",
51
- variant: "accent"
52
- },
53
- chatHeader: {
54
- ...defaultBandolierOrgConfig.chatHeader,
55
- imageSrc: CdnService.getAssetURL("bandolier-logo.svg", OrgShortName.Bandolier)
56
- },
57
- chatPreviewConfig: {
58
- ...defaultBandolierOrgConfig.chatPreviewConfig,
59
- buttonTextColor: colorVar(ColorNames.TextLink),
60
- buttonBackgroundColor: colorVar(ColorNames.BackgroundSecondary),
61
- buttonBackgroundHoverColor: colorVar(ColorNames.BackgroundSecondaryDark),
62
- buttonTextHoverColor: colorVar(ColorNames.TextLink),
63
- iconFillColor: colorVar(ColorNames.TextAccent),
64
- copies: {
65
- pdp: [
66
- "does this fit my device model?",
67
- "is this adjustable?",
68
- "why choose this over a bulky bag?",
69
- "what do reviewers love most?",
70
- "can I use this every day?"
71
- ],
72
- plp: []
73
- },
74
- headerConfig: { ...defaultBandolierOrgConfig.chatPreviewConfig.headerConfig },
75
- footerConfig: { ...defaultBandolierOrgConfig.chatPreviewConfig.footerConfig }
76
- },
77
- floatingEntrypointConfig: {
78
- ...defaultBandolierOrgConfig.floatingEntrypointConfig,
79
- showOption: "always",
80
- expandedColor: colorVar(ColorNames.BackgroundDark),
81
- expansionText: {
82
- pdp: "Could this be your perfect everyday essential?",
83
- plp: "What can we help you find today?"
84
- }
85
- },
86
- productCardConfig: { ...defaultBandolierOrgConfig.productCardConfig },
87
- pageCardConfig: {
88
- ...defaultBandolierOrgConfig.pageCardConfig,
89
- variant: "filled",
90
- hoverVariant: "lift",
91
- iconVariant: "primary"
92
- },
93
- productReviewConfig: { ...defaultBandolierOrgConfig.productReviewConfig },
94
- welcomeSectionConfig: {
95
- ...defaultBandolierOrgConfig.welcomeSectionConfig,
96
- title: "Welcome to Bandolier AI!",
97
- colorVariant: "accent",
98
- subtitle: "Hey there. I’m Maggie, your Bandolier shopping assistant. I’m here to help you find your perfect Bandolier—effortlessly stylish, hands-free, and ready for wherever life takes you."
99
- },
100
- customerServiceIntegration: {
101
- integrationMode: CustomerServiceIntegrationMode.simple,
102
- provider: CustomerServiceType.gorgias,
103
- useUnifiedButton: true
104
- },
105
- searchConfig: {
106
- enableGlobalSearch: true,
107
- redirectSearchResultsUrl: "https://www.bandolierstyle.com/pages/search-page",
108
- searchFilterConfig: [
109
- {
110
- filterId: "price",
111
- displayName: "Price",
112
- type: "price",
113
- bucketSize: 100
114
- },
115
- {
116
- filterId: "material",
117
- displayName: "Materials",
118
- attribute: "materials",
119
- type: "dynamic",
120
- sorting: { type: "productCount" }
121
- },
122
- {
123
- filterId: "devices",
124
- displayName: "Phone size",
125
- type: "dynamic",
126
- attribute: "devices",
127
- sorting: { type: "productCount" }
128
- },
129
- {
130
- filterId: "colors",
131
- displayName: "Color",
132
- type: "dynamic",
133
- attribute: "colors",
134
- sorting: { type: "productCount" }
135
- },
136
- {
137
- filterId: "dynamic",
138
- displayName: "",
139
- type: "dynamic",
140
- attribute: "dynamic",
141
- sorting: { type: "productCount" }
142
- }
143
- ]
144
- },
145
- merchantOverrideCss: `
146
- .spiffy-headline {
147
- font-family: 'DM Sans', 'Poppins', sans-serif;
148
- }
149
- .spiffy-headline-placeholder::placeholder {
150
- font-family: 'DM Sans', 'Poppins', sans-serif;
151
- font-style: italic;
152
- }
153
- .spiffy-star-rating-container {
154
- background: var(--spiffy-colors-background-light) !important;
155
- }
156
- .spiffy-star-rating-star {
157
- fill: var(--spiffy-colors-accent-primary) !important;
158
- }
159
- .spiffy-product-card-text-color {
160
- color: var(--spiffy-colors-text-secondary);
161
- }
162
- .spiffy-view-source-icon-wrapper {
163
- background: var(--spiffy-colors-accent-primary) !important;
164
- }
165
- .spiffy-view-source-icon-wrapper svg {
166
- fill: var(--spiffy-colors-background-light);
167
- }
168
- .spiffy-floating-button-position {
169
- top: 150px !important;
170
-
171
- @media (max-width: 760px) {
172
- top: 100px !important;
173
- }
174
- }
175
- [data-testid="floating-chat-shadow-dom-container"] {
176
- z-index: 2147483647 !important;
177
- }
178
- .spiffy-chat-header-close-button {
179
- color: var(--spiffy-colors-background-primary);
180
- }
181
- .spiffy-modal-sheet-footer .spiffy-suggestion-button-question-class svg {
182
- fill: var(--spiffy-colors-text-link) !important;
183
- stroke: var(--spiffy-colors-text-link) !important;
184
- }
185
- .spiffy-chat-header-container img {
186
- max-width: 150px;
187
- }
188
- .spiffy-image-prompt-card-container .spiffy-suggestion-bar-row button {
189
- background-color: var(--spiffy-colors-background-secondary) !important;
190
- color: var(--spiffy-colors-text-link) !important;
191
- border: none;
192
- }
193
- .spiffy-image-prompt-card-container .spiffy-suggestion-bar-row button svg {
194
- fill: var(--spiffy-colors-accent-primary) !important;
195
- stroke: var(--spiffy-colors-accent-primary) !important;
196
- }
197
- .spiffy-image-prompt-card-container .spiffy-suggestion-bar-row button:hover {
198
- background-color: var(--spiffy-colors-background-secondary-dark) !important;
199
- }
200
- .spiffy-chat-preview-footer-container button {
201
- background-color: var(--spiffy-colors-background-secondary);
202
- border-radius: 0 !important;
203
- }
204
- .spiffy-chat-preview-footer-container button span {
205
- color: var(--spiffy-colors-text-link) !important;
206
- }
207
- .spiffy-chat-preview-footer-container button:hover span {
208
- color: var(--spiffy-colors-text-link) !important;
209
- }
210
- .spiffy-chat-preview-footer-container button svg {
211
- fill: var(--spiffy-colors-accent-primary);
212
- stroke: var(--spiffy-colors-accent-primary);
213
- }
214
- .spiffy-chat-preview-footer-container button:hover {
215
- background-color: var(--spiffy-colors-background-secondary-dark);
216
- }
217
- .spiffy-chat-preview-footer-container button:hover svg {
218
- fill: var(--spiffy-colors-accent-primary) !important;
219
- stroke: var(--spiffy-colors-accent-primary) !important;
220
- }
221
- .spiffy-back-to-results-button {
222
- color: var(--spiffy-colors-text-light);
223
- }
224
- .spiffy-back-to-results-button svg {
225
- fill: var(--spiffy-colors-accent-primary) !important;
226
- stroke: var(--spiffy-colors-accent-primary) !important;
227
- }
228
- @media (max-width: 479px) {
229
- #spiffy-ai-prompt-card {
230
- grid-area: 2 / 1 / 2 / -1 !important;
231
- min-height: 350px !important;
232
- }
233
- .spiffy-image-prompt-card-container {
234
- background-position-y: 0%, 100% !important;
235
- }
236
- }
237
-
238
- /* ==========================================================================
239
- Search Layout & Visibility Rules
240
- ========================================================================== */
241
-
242
- .search-results-entry-point ~ .section-padding.text-section.text-dark {
243
- color: red;
244
- }
245
-
246
- /* -- Rules to hide original site elements -- */
247
- .global-entry-desktop + .js-search-trigger.search,
248
- .global-entry-small-desktop + .js-search-trigger.search,
249
- .global-entry-desktop + .search-popdown,
250
- .global-entry-small-desktop + .search-popdown,
251
- #spiffy-ai-global-search-entrypoint-mobile-icon-only + .search-popdown,
252
- #spiffy-ai-global-search-entrypoint-mobile-homepage + .search-popdown,
253
- .global-entry-desktop + .main-content,
254
- .global-entry-small-desktop + .main-content,
255
- .search-results-entry-point + .shopify-section {
256
- display: none !important;
257
- }
258
-
259
- // .search-results-no-op ~ * {
260
- // z-index: 0;
261
- // }
262
-
263
- #spiffy-ai-global-search-entrypoint-mobile.global-entry-mobile {
264
- display: block;
265
- }
266
-
267
- @media (min-width: 640px) {
268
- #spiffy-ai-global-search-entrypoint-mobile.global-entry-mobile {
269
- display: none;
270
- }
271
-
272
- #spiffy-ai-global-search-entrypoint-mobile-icon-only {
273
- display: block;
274
- }
275
- }
276
-
277
- @media (min-width: 1200px) {
278
- #spiffy-ai-global-search-entrypoint.global-entry-desktop {
279
- display: block;
280
- }
281
- #spiffy-ai-global-search-entrypoint-tablet.global-entry-small-desktop {
282
- display: none;
283
- }
284
- #spiffy-ai-global-search-entrypoint-mobile.global-entry-mobile {
285
- display: none;
286
- }
287
- }
288
- `
289
- };
290
- };
291
- const bandolierPageConfig = () => ({
292
- pageVariants: [
293
- {
294
- variantId: "search-results",
295
- variantType: "search",
296
- variantTests: [
297
- { testType: PageVariantTestType.UrlResolver },
298
- {
299
- testType: PageVariantTestType.FeatureGate,
300
- featureGate: FeatureGates.IsGlobalSearchEnabled
301
- },
302
- {
303
- testType: PageVariantTestType.QueryParam,
304
- queryParam: "esq"
305
- }
306
- ],
307
- widgetMounting: [
308
- {
309
- mountingConfigId: "globalSearchEntryPointDesktop",
310
- widgetConfigId: "globalSearchEntryPointDesktop"
311
- },
312
- {
313
- mountingConfigId: "globalSearchEntryPointSmallDesktop",
314
- widgetConfigId: "globalSearchEntryPointDesktop"
315
- },
316
- {
317
- mountingConfigId: "chatPreviewPLP",
318
- widgetConfigId: "chatPreviewPLP"
319
- },
320
- {
321
- mountingConfigId: "searchResultsEntryPointPLP",
322
- widgetConfigId: "searchResultsEntryPoint"
323
- },
324
- {
325
- mountingConfigId: "globalSearchEntryPointOnlyIconMobile",
326
- widgetConfigId: "globalSearchEntryPointOnlyIconMobile"
327
- },
328
- {
329
- mountingConfigId: "searchOverlayHost",
330
- widgetConfigId: "searchOverlayHost"
331
- }
332
- ]
333
- },
334
- {
335
- variantId: "plp-with-search",
336
- variantType: "plp",
337
- variantTests: [{ testType: PageVariantTestType.UrlResolver }, {
338
- testType: PageVariantTestType.FeatureGate,
339
- featureGate: FeatureGates.IsGlobalSearchEnabled
340
- }],
341
- plpIdExtractor: "url-resolver-plp-id",
342
- widgetMounting: [
343
- {
344
- mountingConfigId: "globalSearchEntryPointDesktop",
345
- widgetConfigId: "globalSearchEntryPointDesktop"
346
- },
347
- {
348
- mountingConfigId: "globalSearchEntryPointSmallDesktop",
349
- widgetConfigId: "globalSearchEntryPointDesktop"
350
- },
351
- {
352
- mountingConfigId: "globalSearchEntryPointMobile",
353
- widgetConfigId: "globalSearchEntryPointMobile"
354
- },
355
- {
356
- mountingConfigId: "globalSearchEntryPointMobileSearchIcon",
357
- widgetConfigId: "globalSearchEntryPointMobileSearchIcon"
358
- },
359
- {
360
- mountingConfigId: "chatPreviewPLP",
361
- widgetConfigId: "chatPreviewPLP"
362
- },
363
- {
364
- mountingConfigId: "globalSearchEntryPointOnlyIconMobile",
365
- widgetConfigId: "globalSearchEntryPointOnlyIconMobile"
366
- },
367
- {
368
- mountingConfigId: "searchOverlayHost",
369
- widgetConfigId: "searchOverlayHost"
370
- }
371
- ]
372
- },
373
- {
374
- variantId: "pdp-with-search-bags",
375
- variantType: "pdp",
376
- variantTests: [
377
- { testType: PageVariantTestType.UrlResolver },
378
- {
379
- testType: PageVariantTestType.FeatureGate,
380
- featureGate: FeatureGates.IsGlobalSearchEnabled
381
- },
382
- {
383
- testType: PageVariantTestType.InCollection,
384
- collections: ["bags"]
385
- }
386
- ],
387
- productIdExtractor: "url-resolver-product-id",
388
- widgetMounting: [
389
- {
390
- mountingConfigId: "globalSearchEntryPointDesktop",
391
- widgetConfigId: "globalSearchEntryPointDesktop"
392
- },
393
- {
394
- mountingConfigId: "globalSearchEntryPointSmallDesktop",
395
- widgetConfigId: "globalSearchEntryPointDesktop"
396
- },
397
- {
398
- mountingConfigId: "globalSearchEntryPointMobile",
399
- widgetConfigId: "globalSearchEntryPointMobile"
400
- },
401
- {
402
- mountingConfigId: "globalSearchEntryPointMobileSearchIcon",
403
- widgetConfigId: "globalSearchEntryPointMobileSearchIcon"
404
- },
405
- {
406
- mountingConfigId: "topSuggestionBarPDP",
407
- widgetConfigId: "topSuggestionsBarBags"
408
- },
409
- {
410
- mountingConfigId: "bottomSuggestionBarPDP",
411
- widgetConfigId: "bottomSuggestionsBar"
412
- },
413
- {
414
- mountingConfigId: "chatPreviewPDP",
415
- widgetConfigId: "chatPreviewPDP"
416
- },
417
- {
418
- mountingConfigId: "globalSearchEntryPointOnlyIconMobile",
419
- widgetConfigId: "globalSearchEntryPointOnlyIconMobile"
420
- },
421
- {
422
- mountingConfigId: "searchOverlayHost",
423
- widgetConfigId: "searchOverlayHost"
424
- }
425
- ]
426
- },
427
- {
428
- variantId: "pdp-with-search",
429
- variantType: "pdp",
430
- variantTests: [{ testType: PageVariantTestType.UrlResolver }, {
431
- testType: PageVariantTestType.FeatureGate,
432
- featureGate: FeatureGates.IsGlobalSearchEnabled
433
- }],
434
- productIdExtractor: "url-resolver-product-id",
435
- widgetMounting: [
436
- {
437
- mountingConfigId: "globalSearchEntryPointDesktop",
438
- widgetConfigId: "globalSearchEntryPointDesktop"
439
- },
440
- {
441
- mountingConfigId: "globalSearchEntryPointSmallDesktop",
442
- widgetConfigId: "globalSearchEntryPointDesktop"
443
- },
444
- {
445
- mountingConfigId: "globalSearchEntryPointMobile",
446
- widgetConfigId: "globalSearchEntryPointMobile"
447
- },
448
- {
449
- mountingConfigId: "globalSearchEntryPointMobileSearchIcon",
450
- widgetConfigId: "globalSearchEntryPointMobileSearchIcon"
451
- },
452
- {
453
- mountingConfigId: "topSuggestionBarPDP",
454
- widgetConfigId: "topSuggestionsBar"
455
- },
456
- {
457
- mountingConfigId: "bottomSuggestionBarPDP",
458
- widgetConfigId: "bottomSuggestionsBar"
459
- },
460
- {
461
- mountingConfigId: "chatPreviewPDP",
462
- widgetConfigId: "chatPreviewPDP"
463
- },
464
- {
465
- mountingConfigId: "globalSearchEntryPointOnlyIconMobile",
466
- widgetConfigId: "globalSearchEntryPointOnlyIconMobile"
467
- },
468
- {
469
- mountingConfigId: "searchOverlayHost",
470
- widgetConfigId: "searchOverlayHost"
471
- }
472
- ]
473
- },
474
- {
475
- variantId: "home-with-search",
476
- variantType: "homepage",
477
- variantTests: [{ testType: PageVariantTestType.UrlResolver }, {
478
- testType: PageVariantTestType.FeatureGate,
479
- featureGate: FeatureGates.IsGlobalSearchEnabled
480
- }],
481
- widgetMounting: [
482
- {
483
- mountingConfigId: "globalSearchEntryPointDesktopHomepage",
484
- widgetConfigId: "globalSearchEntryPointDesktopHomepage"
485
- },
486
- {
487
- mountingConfigId: "globalSearchEntryPointSmallDesktopHomepage",
488
- widgetConfigId: "globalSearchEntryPointDesktopHomepage"
489
- },
490
- {
491
- mountingConfigId: "globalSearchEntryPointMobileHomepage",
492
- widgetConfigId: "globalSearchEntryPointOnlyIconMobile"
493
- },
494
- {
495
- mountingConfigId: "searchOverlayHost",
496
- widgetConfigId: "searchOverlayHost"
497
- }
498
- ]
499
- },
500
- {
501
- variantId: "other-with-search",
502
- variantType: "other",
503
- variantTests: [{
504
- testType: PageVariantTestType.FeatureGate,
505
- featureGate: FeatureGates.IsGlobalSearchEnabled
506
- }, { testType: PageVariantTestType.UrlResolver }],
507
- widgetMounting: [
508
- {
509
- mountingConfigId: "globalSearchEntryPointDesktop",
510
- widgetConfigId: "globalSearchEntryPointDesktop"
511
- },
512
- {
513
- mountingConfigId: "globalSearchEntryPointSmallDesktop",
514
- widgetConfigId: "globalSearchEntryPointDesktop"
515
- },
516
- {
517
- mountingConfigId: "globalSearchEntryPointOnlyIconMobile",
518
- widgetConfigId: "globalSearchEntryPointOnlyIconMobile"
519
- },
520
- {
521
- mountingConfigId: "searchOverlayHost",
522
- widgetConfigId: "searchOverlayHost"
523
- }
524
- ]
525
- },
526
- {
527
- variantId: "plpPhoneCases",
528
- variantType: "plp",
529
- variantTests: [{ testType: PageVariantTestType.ShopifyPLP }, {
530
- testType: PageVariantTestType.PlpId,
531
- plpIds: [
532
- "bandolier-crossbody",
533
- "wristlet-phone-cases",
534
- "case-only"
535
- ],
536
- plpIdExtractor: "shopify-collection-id"
537
- }],
538
- plpIdExtractor: "shopify-collection-id",
539
- widgetMounting: [{
540
- mountingConfigId: "imagePromptCardPLP",
541
- widgetConfigId: "imagePromptCardPLPPhoneCases"
542
- }]
543
- },
544
- {
545
- variantId: "plpAccessories",
546
- variantType: "plp",
547
- variantTests: [{ testType: PageVariantTestType.ShopifyPLP }, {
548
- testType: PageVariantTestType.PlpId,
549
- plpIds: ["shop-all-accessories"],
550
- plpIdExtractor: "shopify-collection-id"
551
- }],
552
- plpIdExtractor: "shopify-collection-id",
553
- widgetMounting: [{
554
- mountingConfigId: "imagePromptCardPLP",
555
- widgetConfigId: "imagePromptCardPLPAccessories"
556
- }]
557
- },
558
- {
559
- variantId: "plpBags",
560
- variantType: "plp",
561
- variantTests: [{ testType: PageVariantTestType.ShopifyPLP }, {
562
- testType: PageVariantTestType.PlpId,
563
- plpIds: ["bags"],
564
- plpIdExtractor: "shopify-collection-id"
565
- }],
566
- plpIdExtractor: "shopify-collection-id",
567
- widgetMounting: [{
568
- mountingConfigId: "imagePromptCardPLP",
569
- widgetConfigId: "imagePromptCardPLPBags"
570
- }]
571
- },
572
- {
573
- variantId: "pdpPouches",
574
- variantType: "pdp",
575
- variantTests: [{ testType: PageVariantTestType.ShopifyPDP }, {
576
- testType: PageVariantTestType.InCollection,
577
- collections: ["shop-all-bags-pouches"]
578
- }],
579
- productIdExtractor: "shopify-product-variant-id",
580
- widgetMounting: [
581
- {
582
- mountingConfigId: "topSuggestionBarPDP",
583
- widgetConfigId: "topSuggestionsBarPouches"
584
- },
585
- {
586
- mountingConfigId: "chatPreviewPDP",
587
- widgetConfigId: "chatPreviewPDP"
588
- },
589
- {
590
- mountingConfigId: "bottomSuggestionBarPDP",
591
- widgetConfigId: "bottomSuggestionsBar"
592
- }
593
- ]
594
- },
595
- {
596
- variantId: "pdpBags",
597
- variantType: "pdp",
598
- variantTests: [{ testType: PageVariantTestType.ShopifyPDP }, {
599
- testType: PageVariantTestType.InCollection,
600
- collections: ["bags"]
601
- }],
602
- productIdExtractor: "shopify-product-variant-id",
603
- widgetMounting: [
604
- {
605
- mountingConfigId: "topSuggestionBarPDP",
606
- widgetConfigId: "topSuggestionsBarBags"
607
- },
608
- {
609
- mountingConfigId: "chatPreviewPDP",
610
- widgetConfigId: "chatPreviewPDP"
611
- },
612
- {
613
- mountingConfigId: "bottomSuggestionBarPDP",
614
- widgetConfigId: "bottomSuggestionsBar"
615
- }
616
- ]
617
- },
618
- {
619
- variantId: "plpShopAll",
620
- variantType: "plp",
621
- variantTests: [{ testType: PageVariantTestType.ShopifyPLP }, {
622
- testType: PageVariantTestType.PlpId,
623
- plpIds: ["all"],
624
- plpIdExtractor: "shopify-collection-id"
625
- }],
626
- plpIdExtractor: "shopify-collection-id",
627
- widgetMounting: [{
628
- mountingConfigId: "imagePromptCardPLP",
629
- widgetConfigId: "imagePromptCardPLPShopAll"
630
- }]
631
- },
632
- {
633
- variantId: "plp",
634
- variantType: "plp",
635
- variantTests: [{ testType: PageVariantTestType.ShopifyPLP }],
636
- plpIdExtractor: "shopify-collection-id",
637
- widgetMounting: [{
638
- mountingConfigId: "imagePromptCardPLP",
639
- widgetConfigId: "imagePromptCardPLP"
640
- }]
641
- },
642
- {
643
- variantId: "pdp",
644
- variantType: "pdp",
645
- variantTests: [{ testType: PageVariantTestType.ShopifyPDP }],
646
- productIdExtractor: "shopify-product-variant-id",
647
- widgetMounting: [
648
- {
649
- mountingConfigId: "topSuggestionBarPDP",
650
- widgetConfigId: "topSuggestionsBar"
651
- },
652
- {
653
- mountingConfigId: "chatPreviewPDP",
654
- widgetConfigId: "chatPreviewPDP"
655
- },
656
- {
657
- mountingConfigId: "bottomSuggestionBarPDP",
658
- widgetConfigId: "bottomSuggestionsBar"
659
- }
660
- ]
661
- }
662
- ],
663
- mountingConfigs: {
664
- imagePromptCardPLP: {
665
- mountingConfigId: "imagePromptCardPLP",
666
- containerId: PROMPT_CARD_ID,
667
- testId: PROMPT_CARD_TESTID,
668
- insertionPoint: {
669
- selector: "#AjaxinateLoop",
670
- insertionType: DOMInsertionType.AFTER
671
- },
672
- gridInsertionType: GridInsertionType.FIXED_1,
673
- divCheckSelector: "test",
674
- style: {
675
- gridRow: "2 / 2",
676
- gridColumn: "1 / 1"
677
- }
678
- },
679
- chatPreviewPDP: {
680
- mountingConfigId: "chatPreviewPDP",
681
- containerId: CHAT_PREVIEW_CONTAINER_ID,
682
- testId: CHAT_PREVIEW_TESTID,
683
- insertionPoint: {
684
- selector: ".product-single div",
685
- insertionType: DOMInsertionType.APPEND_CHILD
686
- }
687
- },
688
- topSuggestionBarPDP: {
689
- mountingConfigId: "topSuggestionBarPDP",
690
- containerId: TOP_SUGGESTION_BAR_PDP_ID,
691
- testId: TOP_SUGGESTION_BAR_TESTID,
692
- insertionPoint: {
693
- selector: ".product__price-and-rating",
694
- insertionType: DOMInsertionType.AFTER
695
- },
696
- style: { marginBottom: "16px" }
697
- },
698
- bottomSuggestionBarPDP: {
699
- mountingConfigId: "bottomSuggestionBarPDP",
700
- containerId: BOTTOM_REVIEWS_BAR_ID,
701
- testId: BOTTOM_SUGGESTION_BAR_TESTID,
702
- insertionPoint: {
703
- selector: ".yotpo-smart-topics-panel",
704
- insertionType: DOMInsertionType.AFTER
705
- },
706
- style: { width: "100%" }
707
- },
708
- searchOverlayHost: {
709
- mountingConfigId: "searchOverlayHost",
710
- containerId: SEARCH_OVERLAY_ENTRYPOINT_ID,
711
- testId: SEARCH_OVERLAY_HOST_TESTID,
712
- insertionPoint: {
713
- selector: "body",
714
- insertionType: DOMInsertionType.APPEND_CHILD
715
- },
716
- className: "spiffy-overlay-host"
717
- },
718
- searchResultsEntryPointPLP: {
719
- mountingConfigId: "searchResultsEntryPointPLP",
720
- containerId: SEARCH_RESULTS_ENTRYPOINT_ID,
721
- testId: SEARCH_RESULTS_ENTRYPOINT_TESTID,
722
- insertionPoint: {
723
- selector: ".main-content",
724
- insertionType: DOMInsertionType.BEFORE
725
- },
726
- suppressionSelector: "#MainContent",
727
- className: "search-results-entry-point",
728
- style: { marginBottom: "60px" }
729
- },
730
- searchResultsEntryPointPDP: {
731
- mountingConfigId: "searchResultsEntryPointPDP",
732
- containerId: SEARCH_RESULTS_ENTRYPOINT_ID,
733
- testId: SEARCH_RESULTS_ENTRYPOINT_TESTID,
734
- insertionPoint: {
735
- selector: ".main-content",
736
- insertionType: DOMInsertionType.BEFORE
737
- },
738
- suppressionSelector: "#MainContent",
739
- className: "search-results-entry-point",
740
- style: { marginBottom: "60px" }
741
- },
742
- globalSearchEntryPointDesktopHomepage: {
743
- mountingConfigId: "globalSearchEntryPointDesktopHomepage",
744
- containerId: HOMEPAGE_DESKTOP_GLOBAL_SEARCH_ENTRYPOINT_ID,
745
- testId: GLOBAL_SEARCH_ENTRYPOINT_TESTID,
746
- insertionPoint: {
747
- selector: ".menu__item.menu__item--icons .search-popdown.menu__item.menu__item--icon",
748
- insertionType: DOMInsertionType.BEFORE
749
- },
750
- suppressionSelector: ".menu__item.menu__item--icons .search-popdown",
751
- className: "global-entry-desktop-homepage",
752
- style: { margin: "0 5px 0 7px" }
753
- },
754
- globalSearchEntryPointSmallDesktopHomepage: {
755
- mountingConfigId: "globalSearchEntryPointSmallDesktopHomepage",
756
- containerId: HOMEPAGE_TABLET_GLOBAL_SEARCH_ENTRYPOINT_ID,
757
- testId: GLOBAL_SEARCH_ENTRYPOINT_TESTID,
758
- insertionPoint: {
759
- selector: "#NavStandard .menu__item.menu__item--icon.menu__item-wishlist",
760
- insertionType: DOMInsertionType.ADJACENT_AFTER_END
761
- },
762
- suppressionSelector: ".search-popdown",
763
- className: "global-entry-small-desktop-homepage",
764
- style: { margin: "0 5px 0 7px" }
765
- },
766
- globalSearchEntryPointMobileHomepage: {
767
- mountingConfigId: "globalSearchEntryPointMobileHomepage",
768
- containerId: HOMEPAGE_MOBILE_GLOBAL_SEARCH_ENTRYPOINT_ID,
769
- testId: GLOBAL_SEARCH_ENTRYPOINT_TESTID,
770
- insertionPoint: {
771
- selector: ".search-popdown.mobile-menu__button",
772
- insertionType: DOMInsertionType.BEFORE
773
- },
774
- className: "global-entry-mobile-homepage",
775
- style: { margin: "6px" }
776
- },
777
- globalSearchEntryPointDesktop: {
778
- mountingConfigId: "globalSearchEntryPointDesktop",
779
- containerId: GLOBAL_SEARCH_ENTRYPOINT_ID,
780
- testId: GLOBAL_SEARCH_ENTRYPOINT_TESTID,
781
- insertionPoint: {
782
- selector: ".menu__item.menu__item--icons .search-popdown.menu__item.menu__item--icon",
783
- insertionType: DOMInsertionType.BEFORE
784
- },
785
- className: "global-entry-desktop",
786
- style: { margin: "0 5px 0 7px" }
787
- },
788
- globalSearchEntryPointSmallDesktop: {
789
- mountingConfigId: "globalSearchEntryPointSmallDesktop",
790
- containerId: TABLET_GLOBAL_SEARCH_ENTYPOINT_ID,
791
- testId: GLOBAL_SEARCH_ENTRYPOINT_TESTID,
792
- insertionPoint: {
793
- selector: "#NavStandard .menu__item.menu__item--icon.menu__item-wishlist",
794
- insertionType: DOMInsertionType.ADJACENT_AFTER_END
795
- },
796
- className: "global-entry-small-desktop",
797
- style: { margin: "0 5px 0 7px" }
798
- },
799
- globalSearchEntryPointMobile: {
800
- mountingConfigId: "globalSearchEntryPointMobile",
801
- containerId: MOBILE_GLOBAL_SEARCH_ENTRYPOINT_ID,
802
- testId: GLOBAL_SEARCH_ENTRYPOINT_TESTID,
803
- insertionPoint: {
804
- selector: ".main-content",
805
- insertionType: DOMInsertionType.BEFORE
806
- },
807
- className: "global-entry-mobile",
808
- style: { margin: "8px" }
809
- },
810
- globalSearchEntryPointOnlyIconMobile: {
811
- mountingConfigId: "globalSearchEntryPointOnlyIconMobile",
812
- containerId: MOBILE_ICON_ONLY_GLOBAL_SEARCH_ENTRYPOINT_ID,
813
- testId: GLOBAL_SEARCH_ENTRYPOINT_TESTID,
814
- insertionPoint: {
815
- selector: ".search-popdown.mobile-menu__button",
816
- insertionType: DOMInsertionType.ADJACENT_BEFORE_BEGIN
817
- },
818
- className: "global-entry-mobile-menu-icon",
819
- style: { margin: "6px" }
820
- }
821
- },
822
- widgetConfigs: {
823
- imagePromptCardPLPPhoneCases: {
824
- widgetConfigId: "imagePromptCard",
825
- type: WidgetType.ImagePromptCard,
826
- url: CdnService.getAssetURL("image-prompt-card-2.png", OrgShortName.Bandolier),
827
- lightText: true,
828
- title: "What can we help you find today?",
829
- subtitle: [
830
- "Crossbody vs. wristlet—what’s the difference?",
831
- "Can I mix and match straps and wristlets?",
832
- "Does it fit cards or essentials?",
833
- "How protected will my phone be?",
834
- "Do you offer bundles or sets?",
835
- "Can I use this case without a strap?"
836
- ],
837
- staticSuggestionCopies: [
838
- "Will this fit my phone?",
839
- "Crossbody vs. wristlet—what’s the difference?",
840
- "Can I mix and match straps and wristlets?",
841
- "Does it fit cards or essentials?",
842
- "How protected will my phone be?",
843
- "Do you offer bundles or sets?",
844
- "Can I use this case without a strap?"
845
- ],
846
- userQueryButtonConfig: {
847
- variant: "underlineLight",
848
- placeholderText: "Need something special?",
849
- icon: "sendArrow"
850
- }
851
- },
852
- imagePromptCardPLPAccessories: {
853
- widgetConfigId: "imagePromptCard",
854
- type: WidgetType.ImagePromptCard,
855
- url: CdnService.getAssetURL("image-prompt-card-2.png", OrgShortName.Bandolier),
856
- lightText: true,
857
- title: "What can we help you find today?",
858
- subtitle: [
859
- "Can I mix and match colors or styles?",
860
- "How do these attach to cases and bags?",
861
- "Are accessories customizable?",
862
- "Can I customize my Bandolier?"
863
- ],
864
- staticSuggestionCopies: [
865
- "Can I mix and match colors or styles?",
866
- "How do these attach to cases and bags?",
867
- "Are accessories customizable?",
868
- "Can I customize my Bandolier?"
869
- ],
870
- userQueryButtonConfig: {
871
- variant: "underlineLight",
872
- placeholderText: "Need something special?",
873
- icon: "sendArrow"
874
- }
875
- },
876
- imagePromptCardPLPBags: {
877
- widgetConfigId: "imagePromptCard",
878
- type: WidgetType.ImagePromptCard,
879
- url: CdnService.getAssetURL("image-prompt-card-2.png", OrgShortName.Bandolier),
880
- lightText: true,
881
- title: "What can we help you find today?",
882
- subtitle: [
883
- "Are the bags designed to hold phones?",
884
- "Can I attach a Bandolier strap to this bag?",
885
- "Does it have interior pockets?",
886
- "Is it made of real leather?",
887
- "Can the strap be removed?"
888
- ],
889
- staticSuggestionCopies: [
890
- "Are the bags designed to hold phones?",
891
- "Can I attach a Bandolier strap to this bag?",
892
- "Does it have interior pockets?",
893
- "Is it made of real leather?",
894
- "Can the strap be removed?"
895
- ],
896
- userQueryButtonConfig: {
897
- variant: "underlineLight",
898
- placeholderText: "Need something special?",
899
- icon: "sendArrow"
900
- }
901
- },
902
- imagePromptCardPLPShopAll: {
903
- widgetConfigId: "imagePromptCard",
904
- type: WidgetType.ImagePromptCard,
905
- url: CdnService.getAssetURL("image-prompt-card-2.png", OrgShortName.Bandolier),
906
- lightText: true,
907
- title: "What can we help you find today?",
908
- subtitle: [
909
- "Will this fit my phone?",
910
- "How is Bandolier different from other phone cases?",
911
- "What’s your most popular style?",
912
- "What's trending right now?"
913
- ],
914
- staticSuggestionCopies: [
915
- "Will this fit my phone?",
916
- "How is Bandolier different from other phone cases?",
917
- "What’s your most popular style?",
918
- "What's trending right now?"
919
- ],
920
- userQueryButtonConfig: {
921
- variant: "underlineLight",
922
- placeholderText: "Need something special?",
923
- icon: "sendArrow"
924
- }
925
- },
926
- imagePromptCardPLP: {
927
- widgetConfigId: "imagePromptCard",
928
- type: WidgetType.ImagePromptCard,
929
- url: CdnService.getAssetURL("image-prompt-card-2.png", OrgShortName.Bandolier),
930
- lightText: true,
931
- title: "What can we help you find today?",
932
- subtitle: [
933
- "Which phone case fits your style?",
934
- "Need a bag for nights out?",
935
- "What’s a chic gift idea?",
936
- "Looking for a travel-ready set?"
937
- ],
938
- staticSuggestionCopies: [
939
- "Which phone case fits your style?",
940
- "Need a bag for nights out?",
941
- "What’s a chic gift idea?",
942
- "Looking for a travel-ready set?"
943
- ],
944
- userQueryButtonConfig: {
945
- variant: "underlineLight",
946
- placeholderText: "Need something special?",
947
- icon: "sendArrow"
948
- }
949
- },
950
- topSuggestionsBar: {
951
- widgetConfigId: "topSuggestionsBar",
952
- contentId: "spiffy-top-suggestion-bar-contents",
953
- metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
954
- location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
955
- type: WidgetType.SuggestionBarV2,
956
- variant: "secondary",
957
- hoverVariant: "secondaryAccent",
958
- buttonBorderRadius: "sm",
959
- animationSpeed: "standard",
960
- buttonTexts: {
961
- default: [
962
- "Can I use this case without a strap? ",
963
- "How many cards fit in the wallet?",
964
- "Summarize Reviews",
965
- "What makes this so versatile?",
966
- "Why are shoppers obsessed with this?"
967
- ],
968
- productSpecific: {
969
- "hailey-side-slot-leather-crossbody-bandolier-black-gold": [
970
- "Summarize the reviews",
971
- "Why is this your best seller?",
972
- "Can you use this case without a strap?",
973
- "How many cards fit in the wallet?",
974
- "What makes this so versatile?"
975
- ],
976
- "mila-magsafe-charging-crossbody-bandolier-black-gold": [
977
- "Summarize the reviews",
978
- "Is this MagSafe Compatible?",
979
- "Does the wallet come off?",
980
- "Why is this your best seller?",
981
- "Can you use this case without a strap?",
982
- "How many cards fit in the wallet?"
983
- ],
984
- "remi-magnet-wallet-crossbody-phone-case-black-gold": [
985
- "Summarize the reviews",
986
- "Is this MagSafe Compatible?",
987
- "Is the wallet removable?",
988
- "Why is this your best seller?",
989
- "Can you use this case without a strap?",
990
- "How many cards fit in the wallet?"
991
- ],
992
- "lily-set-bandolier-black-gold": [
993
- "Summarize the reviews",
994
- "Why is this your best seller?",
995
- "Can you use this case without a strap?",
996
- "How many cards fit in the wallet?"
997
- ]
998
- }
999
- }
1000
- },
1001
- topSuggestionsBarPouches: {
1002
- widgetConfigId: "topSuggestionsBarPouches",
1003
- contentId: "spiffy-top-suggestion-bar-contents",
1004
- metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1005
- location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1006
- type: WidgetType.SuggestionBarV2,
1007
- variant: "secondary",
1008
- hoverVariant: "secondaryAccent",
1009
- buttonBorderRadius: "sm",
1010
- animationSpeed: "standard",
1011
- buttonTexts: { default: [
1012
- "How will this work with my bandolier case?",
1013
- "Can I attach a Bandolier strap to this pouch?",
1014
- "Does it have interior pockets?",
1015
- "Is it made of real leather?"
1016
- ] }
1017
- },
1018
- topSuggestionsBarBags: {
1019
- widgetConfigId: "topSuggestionsBarBags",
1020
- contentId: "spiffy-top-suggestion-bar-contents",
1021
- metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1022
- location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1023
- type: WidgetType.SuggestionBarV2,
1024
- variant: "secondary",
1025
- hoverVariant: "secondaryAccent",
1026
- buttonBorderRadius: "sm",
1027
- animationSpeed: "standard",
1028
- buttonTexts: { default: [
1029
- "Are the bags designed to hold phones?",
1030
- "Can I attach a Bandolier strap to this bag?",
1031
- "Does it have interior pockets?",
1032
- "Is it made of real leather?",
1033
- "Can the strap be removed?"
1034
- ] }
1035
- },
1036
- chatPreviewPDP: {
1037
- widgetConfigId: "chatPreviewPDP",
1038
- type: WidgetType.ChatPreview,
1039
- variant: "filled",
1040
- addSeparators: false
1041
- },
1042
- bottomSuggestionsBar: {
1043
- widgetConfigId: "bottomSuggestionsBar",
1044
- contentId: "spiffy-bottom-suggestion-bar-contents",
1045
- metricDisplayLocation: ChatElementDisplayLocation.BOTTOM_REVIEWS_SNIPPET,
1046
- location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_BOTTOM,
1047
- type: WidgetType.SuggestionBarV2,
1048
- variant: "darkAccent",
1049
- hoverVariant: "secondaryAccent",
1050
- buttonBorderRadius: "sm",
1051
- animationSpeed: "none",
1052
- twoRowsOnMobile: true,
1053
- buttonTexts: { default: [
1054
- "Does this fit my device model?",
1055
- "Is this adjustable?",
1056
- "Why choose this over a bulky bag?",
1057
- "What do reviewers love most?",
1058
- "Can I use this every day?"
1059
- ] }
1060
- },
1061
- globalSearchEntryPointMobile: {
1062
- widgetConfigId: "globalSearchEntryPointMobile",
1063
- type: WidgetType.SearchZeroStateEntryPoint,
1064
- searchZeroStateVariant: "backgroundTertiary",
1065
- searchInputVariant: "standard",
1066
- suggestionButtonConfig: {
1067
- variant: "darkAccent",
1068
- hoverVariant: "secondaryAccent",
1069
- borderRadius: "sm"
1070
- },
1071
- layout: "input",
1072
- searchBoxPlaceholder: "What can I help you find?",
1073
- initialSuggestions: [
1074
- "MagSafe compatible cases",
1075
- "Most popular styles",
1076
- "Remi removable wallet",
1077
- "Mix and match straps and wristlets",
1078
- "Add-on pouches",
1079
- "Best phone cases for travel"
1080
- ],
1081
- usingPortal: true
1082
- },
1083
- globalSearchEntryPointMobileSearchIcon: {
1084
- widgetConfigId: "globalSearchEntryPointMobileSearchIcon",
1085
- type: WidgetType.SearchZeroStateEntryPoint,
1086
- searchZeroStateVariant: "backgroundTertiary",
1087
- searchInputVariant: "standard",
1088
- suggestionButtonConfig: {
1089
- variant: "darkAccent",
1090
- hoverVariant: "secondaryAccent",
1091
- borderRadius: "sm"
1092
- },
1093
- layout: "icon",
1094
- searchIconVariant: "thin",
1095
- searchIconSize: 24,
1096
- searchBoxPlaceholder: "What can I help you find?",
1097
- initialSuggestions: [
1098
- "MagSafe compatible cases",
1099
- "Most popular styles",
1100
- "Remi removable wallet",
1101
- "Mix and match straps and wristlets",
1102
- "Add-on pouches",
1103
- "Best phone cases for travel"
1104
- ],
1105
- usingPortal: true
1106
- },
1107
- globalSearchEntryPointDesktop: {
1108
- widgetConfigId: "globalSearchEntryPointDesktop",
1109
- type: WidgetType.SearchZeroStateEntryPoint,
1110
- searchZeroStateVariant: "backgroundTertiary",
1111
- searchInputVariant: "standard",
1112
- suggestionButtonConfig: {
1113
- variant: "darkAccent",
1114
- hoverVariant: "secondaryAccent",
1115
- borderRadius: "sm"
1116
- },
1117
- layout: "icon",
1118
- searchIconVariant: "thin",
1119
- searchIconSize: 22,
1120
- searchBoxPlaceholder: "What can I help you find?",
1121
- initialSuggestions: [
1122
- "MagSafe compatible cases",
1123
- "Most popular styles",
1124
- "Remi removable wallet",
1125
- "Mix and match straps and wristlets",
1126
- "Add-on pouches",
1127
- "Best phone cases for travel"
1128
- ],
1129
- usingPortal: true
1130
- },
1131
- globalSearchEntryPointDesktopHomepage: {
1132
- widgetConfigId: "globalSearchEntryPointDesktopHomepage",
1133
- type: WidgetType.SearchZeroStateEntryPoint,
1134
- searchZeroStateVariant: "backgroundTertiary",
1135
- searchInputVariant: "standard",
1136
- suggestionButtonConfig: {
1137
- variant: "darkAccent",
1138
- hoverVariant: "secondaryAccent",
1139
- borderRadius: "sm"
1140
- },
1141
- layout: "icon",
1142
- searchIconVariant: "thin",
1143
- searchIconSize: 22,
1144
- searchBoxPlaceholder: "What can I help you find?",
1145
- initialSuggestions: [
1146
- "MagSafe compatible cases",
1147
- "Most popular styles",
1148
- "Remi removable wallet",
1149
- "Mix and match straps and wristlets",
1150
- "Add-on pouches",
1151
- "Best phone cases for travel"
1152
- ],
1153
- usingPortal: true
1154
- },
1155
- globalSearchEntryPointSmallDesktopHomepage: {
1156
- widgetConfigId: "globalSearchEntryPointSmallDesktopHomepage",
1157
- type: WidgetType.SearchZeroStateEntryPoint,
1158
- searchZeroStateVariant: "backgroundTertiary",
1159
- searchInputVariant: "standard",
1160
- suggestionButtonConfig: {
1161
- variant: "darkAccent",
1162
- hoverVariant: "secondaryAccent",
1163
- borderRadius: "sm"
1164
- },
1165
- layout: "icon",
1166
- searchIconVariant: "thin",
1167
- searchIconSize: 22,
1168
- searchBoxPlaceholder: "What can I help you find?",
1169
- initialSuggestions: [
1170
- "MagSafe compatible cases",
1171
- "Most popular styles",
1172
- "Remi removable wallet",
1173
- "Mix and match straps and wristlets",
1174
- "Add-on pouches",
1175
- "Best phone cases for travel"
1176
- ],
1177
- usingPortal: true
1178
- },
1179
- globalSearchEntryPointOnlyIconMobile: {
1180
- widgetConfigId: "globalSearchEntryPointOnlyIconMobile",
1181
- type: WidgetType.SearchZeroStateEntryPoint,
1182
- searchZeroStateVariant: "backgroundTertiary",
1183
- searchInputVariant: "standard",
1184
- suggestionButtonConfig: {
1185
- variant: "darkAccent",
1186
- hoverVariant: "secondaryAccent",
1187
- borderRadius: "sm"
1188
- },
1189
- layout: "icon",
1190
- searchIconVariant: "thin",
1191
- searchIconSize: 26,
1192
- searchBoxPlaceholder: "What can I help you find?",
1193
- initialSuggestions: [
1194
- "MagSafe compatible cases",
1195
- "Most popular styles",
1196
- "Remi removable wallet",
1197
- "Mix and match straps and wristlets",
1198
- "Add-on pouches",
1199
- "Best phone cases for travel"
1200
- ],
1201
- usingPortal: true
1202
- },
1203
- searchResultsEntryPoint: {
1204
- widgetConfigId: "searchResultsEntryPoint",
1205
- type: WidgetType.SearchResultsEntryPoint,
1206
- searchBoxPlaceholder: "What can I help you find?",
1207
- searchInputVariant: "standard",
1208
- searchFilterSidebarVariant: "darkButton",
1209
- productGridVariant: "square"
1210
- },
1211
- searchOverlayHost: {
1212
- widgetConfigId: "searchOverlayHost",
1213
- type: WidgetType.SearchOverlayHost
1214
- }
1215
- }
1216
- });
1217
- const bandolierOrgInfo = {
1218
- shortName: OrgShortName.Bandolier,
1219
- name: "Bandolier",
1220
- domain: "bandolierstyle.com",
1221
- defaultProductId: "lily-side-slot-leather-crossbody-bandolier-ceci-ivory-floral-gold",
1222
- alwaysEnabledMerchants: true,
1223
- orgUIConfig: bandolierOrgUIConfig,
1224
- orgColors: () => bandolierColors,
1225
- orgPageConfig: bandolierPageConfig
1226
- };
1227
-
1228
- //#endregion
1229
- export { bandolierOrgInfo };
1230
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYmFuZG9saWVyLUR6RW1ZV2N6LmpzIiwibmFtZXMiOlsiYmFuZG9saWVyQ29sb3JzOiBDb2xvck1hcHBpbmciXSwic291cmNlcyI6WyIuLi9zcmMvbWVyY2hhbnRzL2JhbmRvbGllci9iYW5kb2xpZXIudHMiXSwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHtcbiAgQk9UVE9NX1NVR0dFU1RJT05fQkFSX1RFU1RJRCxcbiAgQ0hBVF9QUkVWSUVXX1RFU1RJRCxcbiAgR0xPQkFMX1NFQVJDSF9FTlRSWVBPSU5UX1RFU1RJRCxcbiAgUFJPTVBUX0NBUkRfVEVTVElELFxuICBTRUFSQ0hfT1ZFUkxBWV9IT1NUX1RFU1RJRCxcbiAgU0VBUkNIX1JFU1VMVFNfRU5UUllQT0lOVF9URVNUSUQsXG4gIFRPUF9TVUdHRVNUSU9OX0JBUl9URVNUSUQsXG59IGZyb20gXCJzcmMvY29uZmlnL2xvY2F0b3JzXCI7XG5pbXBvcnQge1xuICBCYXNpY09yZ0luZm9UeXBlLFxuICBGZWF0dXJlR2F0ZXMsXG4gIE9yZ1Nob3J0TmFtZSxcbn0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHNcIjtcbmltcG9ydCB7IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHMvY2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb25cIjtcbmltcG9ydCB7IENkblNlcnZpY2UgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL3NlcnZpY2UvY2RuU2VydmljZVwiO1xuaW1wb3J0IHtcbiAgQ3VzdG9tZXJTZXJ2aWNlSW50ZWdyYXRpb25Nb2RlLFxuICBDdXN0b21lclNlcnZpY2VUeXBlLFxufSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL3NlcnZpY2UvY3VzdG9tZXJTZXJ2aWNlL3R5cGVzXCI7XG5pbXBvcnQgeyBET01JbnNlcnRpb25UeXBlIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9zZXJ2aWNlL2RvbU11dGF0aW9ucy9kb21JbnNlcnRpb25TZXJ2aWNlXCI7XG5pbXBvcnQgeyBHcmlkSW5zZXJ0aW9uVHlwZSB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vc2VydmljZS9kb21NdXRhdGlvbnMvR3JpZEluc2VydGlvblNlcnZpY2VcIjtcbmltcG9ydCB7XG4gIEJPVFRPTV9SRVZJRVdTX0JBUl9JRCxcbiAgQ0hBVF9QUkVWSUVXX0NPTlRBSU5FUl9JRCxcbiAgR0xPQkFMX1NFQVJDSF9FTlRSWVBPSU5UX0lELFxuICBIT01FUEFHRV9ERVNLVE9QX0dMT0JBTF9TRUFSQ0hfRU5UUllQT0lOVF9JRCxcbiAgSE9NRVBBR0VfTU9CSUxFX0dMT0JBTF9TRUFSQ0hfRU5UUllQT0lOVF9JRCxcbiAgSE9NRVBBR0VfVEFCTEVUX0dMT0JBTF9TRUFSQ0hfRU5UUllQT0lOVF9JRCxcbiAgTU9CSUxFX0dMT0JBTF9TRUFSQ0hfRU5UUllQT0lOVF9JRCxcbiAgTU9CSUxFX0lDT05fT05MWV9HTE9CQUxfU0VBUkNIX0VOVFJZUE9JTlRfSUQsXG4gIFBST01QVF9DQVJEX0lELFxuICBTRUFSQ0hfT1ZFUkxBWV9FTlRSWVBPSU5UX0lELFxuICBTRUFSQ0hfUkVTVUxUU19FTlRSWVBPSU5UX0lELFxuICBUQUJMRVRfR0xPQkFMX1NFQVJDSF9FTlRZUE9JTlRfSUQsXG4gIFRPUF9TVUdHRVNUSU9OX0JBUl9QRFBfSUQsXG59IGZyb20gXCJzcmMvY29uZmlnL2Rpdklkc1wiO1xuaW1wb3J0IHsgZGVmYXVsdE9yZ1VJQ29uZmlnIH0gZnJvbSBcInNyYy9tZXJjaGFudHMvZGVmYXVsdFwiO1xuaW1wb3J0IHtcbiAgQ2hhdFByZXZpZXdXaWRnZXRDb25maWcsXG4gIENvbG9yTWFwcGluZyxcbiAgQ29sb3JOYW1lcyxcbiAgY29sb3JWYXIsXG4gIFNlYXJjaEVudHJ5UG9pbnRXaWRnZXRDb25maWcsXG4gIEltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnLFxuICBPcmdQYWdlQ29uZmlnLFxuICBPcmdVSUNvbmZpZyxcbiAgUGFnZVZhcmlhbnRUZXN0VHlwZSxcbiAgU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRXaWRnZXRDb25maWcsXG4gIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyxcbiAgV2lkZ2V0VHlwZSxcbiAgU2VhcmNoT3ZlcmxheUhvc3RXaWRnZXRDb25maWcsXG59IGZyb20gXCJzcmMvY29udGV4dHMvdHlwZXNcIjtcbmltcG9ydCB7IFN1Z2dlc3Rpb25CYXJMb2NhdGlvbkZvck1ldHJpY3MgfSBmcm9tIFwic3JjL3R5cGVzL3N1Z2dlc3Rpb25CYXJWMi10eXBlc1wiO1xuXG5jb25zdCBiYW5kb2xpZXJDb2xvcnM6IENvbG9yTWFwcGluZyA9IHtcbiAgW0NvbG9yTmFtZXMuVGV4dFByaW1hcnldOiBcIiMwMDAwMDBcIixcbiAgW0NvbG9yTmFtZXMuVGV4dFNlY29uZGFyeV06IFwiIzZDNkM2Q1wiLFxuICBbQ29sb3JOYW1lcy5UZXh0QWNjZW50XTogXCIjQUY5ODZFXCIsXG4gIFtDb2xvck5hbWVzLlRleHRMaW5rXTogXCIjMDAwMDAwXCIsXG4gIFtDb2xvck5hbWVzLlRleHRMaWdodF06IFwiI0ZGRkZGRlwiLFxuICBbQ29sb3JOYW1lcy5CYWNrZ3JvdW5kUHJpbWFyeV06IFwiIzAwMDAwMFwiLFxuICBbQ29sb3JOYW1lcy5CYWNrZ3JvdW5kU2Vjb25kYXJ5XTogXCIjRUNFQ0VDXCIsXG4gIFtDb2xvck5hbWVzLkJhY2tncm91bmRTZWNvbmRhcnlEYXJrXTogXCIjRTJFMkUyXCIsXG4gIFtDb2xvck5hbWVzLkJhY2tncm91bmRUZXJ0aWFyeV06IFwiI0VDRUNFQ1wiLFxuICBbQ29sb3JOYW1lcy5CYWNrZ3JvdW5kRGFya106IFwiIzAwMDAwMFwiLFxuICBbQ29sb3JOYW1lcy5CYWNrZ3JvdW5kTGlnaHRdOiBcIiNGRkZGRkZcIixcbiAgW0NvbG9yTmFtZXMuQmFja2dyb3VuZFNhdHVyYXRlZF06IFwiI0NDQ0NDQ1wiLFxuICBbQ29sb3JOYW1lcy5Cb3JkZXJMaWdodF06IFwiI0VDRUNFQ1wiLFxuICBbQ29sb3JOYW1lcy5Cb3JkZXJNZWRpdW1dOiBcIiNFQUVBRUFcIixcbiAgW0NvbG9yTmFtZXMuQm9yZGVyRGFya106IFwiIzZDNkM2Q1wiLFxuICBbQ29sb3JOYW1lcy5Cb3JkZXJPdXRsaW5lXTogXCIjMDAwMDAwXCIsXG4gIFtDb2xvck5hbWVzLkFjY2VudFByaW1hcnldOiBcIiNBRjk4NkVcIixcbiAgW0NvbG9yTmFtZXMuQWNjZW50U2Vjb25kYXJ5XTogXCIjRENCNEFFXCIsXG59O1xuXG5jb25zdCBiYW5kb2xpZXJPcmdVSUNvbmZpZyA9ICgpOiBPcmdVSUNvbmZpZyA9PiB7XG4gIGNvbnN0IGRlZmF1bHRCYW5kb2xpZXJPcmdDb25maWcgPSBkZWZhdWx0T3JnVUlDb25maWcoT3JnU2hvcnROYW1lLkJhbmRvbGllcik7XG5cbiAgcmV0dXJuIHtcbiAgICAuLi5kZWZhdWx0QmFuZG9saWVyT3JnQ29uZmlnLFxuICAgIG1lcmNoYW50VmFyaWFudFNldHRpbmdzOiB7XG4gICAgICBkeW5hbWljVmFyaWFudHM6IHtcbiAgICAgICAgZW5hYmxlZDogZmFsc2UsXG4gICAgICAgIHJlZnJlc2hJbnRlcnZhbDogNDAwLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGNoYXRNZXNzYWdlQ29uZmlnOiB7XG4gICAgICAuLi5kZWZhdWx0QmFuZG9saWVyT3JnQ29uZmlnLmNoYXRNZXNzYWdlQ29uZmlnLFxuICAgICAgYXNzaXN0YW50Q2hhdFRpdGxlOiBcIkFzayBNYWdnaWVcIixcbiAgICAgIHZhcmlhbnQ6IFwiYWNjZW50XCIsXG4gICAgfSxcbiAgICBjaGF0SGVhZGVyOiB7XG4gICAgICAuLi5kZWZhdWx0QmFuZG9saWVyT3JnQ29uZmlnLmNoYXRIZWFkZXIsXG4gICAgICBpbWFnZVNyYzogQ2RuU2VydmljZS5nZXRBc3NldFVSTChcbiAgICAgICAgXCJiYW5kb2xpZXItbG9nby5zdmdcIixcbiAgICAgICAgT3JnU2hvcnROYW1lLkJhbmRvbGllclxuICAgICAgKSxcbiAgICB9LFxuICAgIGNoYXRQcmV2aWV3Q29uZmlnOiB7XG4gICAgICAuLi5kZWZhdWx0QmFuZG9saWVyT3JnQ29uZmlnLmNoYXRQcmV2aWV3Q29uZmlnISxcbiAgICAgIGJ1dHRvblRleHRDb2xvcjogY29sb3JWYXIoQ29sb3JOYW1lcy5UZXh0TGluayksXG4gICAgICBidXR0b25CYWNrZ3JvdW5kQ29sb3I6IGNvbG9yVmFyKENvbG9yTmFtZXMuQmFja2dyb3VuZFNlY29uZGFyeSksXG4gICAgICBidXR0b25CYWNrZ3JvdW5kSG92ZXJDb2xvcjogY29sb3JWYXIoQ29sb3JOYW1lcy5CYWNrZ3JvdW5kU2Vjb25kYXJ5RGFyayksXG4gICAgICBidXR0b25UZXh0SG92ZXJDb2xvcjogY29sb3JWYXIoQ29sb3JOYW1lcy5UZXh0TGluayksXG4gICAgICBpY29uRmlsbENvbG9yOiBjb2xvclZhcihDb2xvck5hbWVzLlRleHRBY2NlbnQpLFxuICAgICAgY29waWVzOiB7XG4gICAgICAgIHBkcDogW1xuICAgICAgICAgIFwiZG9lcyB0aGlzIGZpdCBteSBkZXZpY2UgbW9kZWw/XCIsXG4gICAgICAgICAgXCJpcyB0aGlzIGFkanVzdGFibGU/XCIsXG4gICAgICAgICAgXCJ3aHkgY2hvb3NlIHRoaXMgb3ZlciBhIGJ1bGt5IGJhZz9cIixcbiAgICAgICAgICBcIndoYXQgZG8gcmV2aWV3ZXJzIGxvdmUgbW9zdD9cIixcbiAgICAgICAgICBcImNhbiBJIHVzZSB0aGlzIGV2ZXJ5IGRheT9cIixcbiAgICAgICAgXSxcbiAgICAgICAgcGxwOiBbXSxcbiAgICAgIH0sXG4gICAgICBoZWFkZXJDb25maWc6IHtcbiAgICAgICAgLi4uZGVmYXVsdEJhbmRvbGllck9yZ0NvbmZpZy5jaGF0UHJldmlld0NvbmZpZyEuaGVhZGVyQ29uZmlnLFxuICAgICAgfSxcbiAgICAgIGZvb3RlckNvbmZpZzoge1xuICAgICAgICAuLi5kZWZhdWx0QmFuZG9saWVyT3JnQ29uZmlnLmNoYXRQcmV2aWV3Q29uZmlnIS5mb290ZXJDb25maWcsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZmxvYXRpbmdFbnRyeXBvaW50Q29uZmlnOiB7XG4gICAgICAuLi5kZWZhdWx0QmFuZG9saWVyT3JnQ29uZmlnLmZsb2F0aW5nRW50cnlwb2ludENvbmZpZyEsXG4gICAgICBzaG93T3B0aW9uOiBcImFsd2F5c1wiLFxuICAgICAgZXhwYW5kZWRDb2xvcjogY29sb3JWYXIoQ29sb3JOYW1lcy5CYWNrZ3JvdW5kRGFyayksXG4gICAgICBleHBhbnNpb25UZXh0OiB7XG4gICAgICAgIHBkcDogXCJDb3VsZCB0aGlzIGJlIHlvdXIgcGVyZmVjdCBldmVyeWRheSBlc3NlbnRpYWw/XCIsXG4gICAgICAgIHBscDogXCJXaGF0IGNhbiB3ZSBoZWxwIHlvdSBmaW5kIHRvZGF5P1wiLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHByb2R1Y3RDYXJkQ29uZmlnOiB7XG4gICAgICAuLi5kZWZhdWx0QmFuZG9saWVyT3JnQ29uZmlnLnByb2R1Y3RDYXJkQ29uZmlnISxcbiAgICB9LFxuICAgIHBhZ2VDYXJkQ29uZmlnOiB7XG4gICAgICAuLi5kZWZhdWx0QmFuZG9saWVyT3JnQ29uZmlnLnBhZ2VDYXJkQ29uZmlnISxcbiAgICAgIHZhcmlhbnQ6IFwiZmlsbGVkXCIsXG4gICAgICBob3ZlclZhcmlhbnQ6IFwibGlmdFwiLFxuICAgICAgaWNvblZhcmlhbnQ6IFwicHJpbWFyeVwiLFxuICAgIH0sXG4gICAgcHJvZHVjdFJldmlld0NvbmZpZzoge1xuICAgICAgLi4uZGVmYXVsdEJhbmRvbGllck9yZ0NvbmZpZy5wcm9kdWN0UmV2aWV3Q29uZmlnISxcbiAgICB9LFxuICAgIHdlbGNvbWVTZWN0aW9uQ29uZmlnOiB7XG4gICAgICAuLi5kZWZhdWx0QmFuZG9saWVyT3JnQ29uZmlnLndlbGNvbWVTZWN0aW9uQ29uZmlnISxcbiAgICAgIHRpdGxlOiBcIldlbGNvbWUgdG8gQmFuZG9saWVyIEFJIVwiLFxuICAgICAgY29sb3JWYXJpYW50OiBcImFjY2VudFwiLFxuICAgICAgc3VidGl0bGU6XG4gICAgICAgIFwiSGV5IHRoZXJlLiBJ4oCZbSBNYWdnaWUsIHlvdXIgQmFuZG9saWVyIHNob3BwaW5nIGFzc2lzdGFudC4gSeKAmW0gaGVyZSB0byBoZWxwIHlvdSBmaW5kIHlvdXIgcGVyZmVjdCBCYW5kb2xpZXLigJRlZmZvcnRsZXNzbHkgc3R5bGlzaCwgaGFuZHMtZnJlZSwgYW5kIHJlYWR5IGZvciB3aGVyZXZlciBsaWZlIHRha2VzIHlvdS5cIixcbiAgICB9LFxuICAgIGN1c3RvbWVyU2VydmljZUludGVncmF0aW9uOiB7XG4gICAgICBpbnRlZ3JhdGlvbk1vZGU6IEN1c3RvbWVyU2VydmljZUludGVncmF0aW9uTW9kZS5zaW1wbGUsXG4gICAgICBwcm92aWRlcjogQ3VzdG9tZXJTZXJ2aWNlVHlwZS5nb3JnaWFzLFxuICAgICAgdXNlVW5pZmllZEJ1dHRvbjogdHJ1ZSxcbiAgICB9LFxuICAgIHNlYXJjaENvbmZpZzoge1xuICAgICAgZW5hYmxlR2xvYmFsU2VhcmNoOiB0cnVlLFxuICAgICAgcmVkaXJlY3RTZWFyY2hSZXN1bHRzVXJsOlxuICAgICAgICBcImh0dHBzOi8vd3d3LmJhbmRvbGllcnN0eWxlLmNvbS9wYWdlcy9zZWFyY2gtcGFnZVwiLFxuICAgICAgc2VhcmNoRmlsdGVyQ29uZmlnOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBmaWx0ZXJJZDogXCJwcmljZVwiLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiBcIlByaWNlXCIsXG4gICAgICAgICAgdHlwZTogXCJwcmljZVwiLFxuICAgICAgICAgIGJ1Y2tldFNpemU6IDEwMCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGZpbHRlcklkOiBcIm1hdGVyaWFsXCIsXG4gICAgICAgICAgZGlzcGxheU5hbWU6IFwiTWF0ZXJpYWxzXCIsXG4gICAgICAgICAgYXR0cmlidXRlOiBcIm1hdGVyaWFsc1wiLFxuICAgICAgICAgIHR5cGU6IFwiZHluYW1pY1wiLFxuICAgICAgICAgIHNvcnRpbmc6IHtcbiAgICAgICAgICAgIHR5cGU6IFwicHJvZHVjdENvdW50XCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGZpbHRlcklkOiBcImRldmljZXNcIixcbiAgICAgICAgICBkaXNwbGF5TmFtZTogXCJQaG9uZSBzaXplXCIsXG4gICAgICAgICAgdHlwZTogXCJkeW5hbWljXCIsXG4gICAgICAgICAgYXR0cmlidXRlOiBcImRldmljZXNcIixcbiAgICAgICAgICBzb3J0aW5nOiB7XG4gICAgICAgICAgICB0eXBlOiBcInByb2R1Y3RDb3VudFwiLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBmaWx0ZXJJZDogXCJjb2xvcnNcIixcbiAgICAgICAgICBkaXNwbGF5TmFtZTogXCJDb2xvclwiLFxuICAgICAgICAgIHR5cGU6IFwiZHluYW1pY1wiLFxuICAgICAgICAgIGF0dHJpYnV0ZTogXCJjb2xvcnNcIixcbiAgICAgICAgICBzb3J0aW5nOiB7XG4gICAgICAgICAgICB0eXBlOiBcInByb2R1Y3RDb3VudFwiLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBmaWx0ZXJJZDogXCJkeW5hbWljXCIsXG4gICAgICAgICAgZGlzcGxheU5hbWU6IFwiXCIsXG4gICAgICAgICAgdHlwZTogXCJkeW5hbWljXCIsXG4gICAgICAgICAgYXR0cmlidXRlOiBcImR5bmFtaWNcIixcbiAgICAgICAgICBzb3J0aW5nOiB7XG4gICAgICAgICAgICB0eXBlOiBcInByb2R1Y3RDb3VudFwiLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAgbWVyY2hhbnRPdmVycmlkZUNzczogYFxuICAgICAgLnNwaWZmeS1oZWFkbGluZSB7XG4gICAgICAgIGZvbnQtZmFtaWx5OiAnRE0gU2FucycsICdQb3BwaW5zJywgc2Fucy1zZXJpZjtcbiAgICAgIH1cbiAgICAgIC5zcGlmZnktaGVhZGxpbmUtcGxhY2Vob2xkZXI6OnBsYWNlaG9sZGVyIHtcbiAgICAgICAgZm9udC1mYW1pbHk6ICdETSBTYW5zJywgJ1BvcHBpbnMnLCBzYW5zLXNlcmlmO1xuICAgICAgICBmb250LXN0eWxlOiBpdGFsaWM7XG4gICAgICB9XG4gICAgICAuc3BpZmZ5LXN0YXItcmF0aW5nLWNvbnRhaW5lciB7XG4gICAgICAgIGJhY2tncm91bmQ6IHZhcigtLXNwaWZmeS1jb2xvcnMtYmFja2dyb3VuZC1saWdodCkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5zcGlmZnktc3Rhci1yYXRpbmctc3RhciB7XG4gICAgICAgIGZpbGw6IHZhcigtLXNwaWZmeS1jb2xvcnMtYWNjZW50LXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAuc3BpZmZ5LXByb2R1Y3QtY2FyZC10ZXh0LWNvbG9yIHtcbiAgICAgICAgY29sb3I6IHZhcigtLXNwaWZmeS1jb2xvcnMtdGV4dC1zZWNvbmRhcnkpO1xuICAgICAgfVxuICAgICAgLnNwaWZmeS12aWV3LXNvdXJjZS1pY29uLXdyYXBwZXIge1xuICAgICAgICBiYWNrZ3JvdW5kOiB2YXIoLS1zcGlmZnktY29sb3JzLWFjY2VudC1wcmltYXJ5KSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLnNwaWZmeS12aWV3LXNvdXJjZS1pY29uLXdyYXBwZXIgc3ZnIHtcbiAgICAgICAgZmlsbDogdmFyKC0tc3BpZmZ5LWNvbG9ycy1iYWNrZ3JvdW5kLWxpZ2h0KTtcbiAgICAgIH1cbiAgICAgIC5zcGlmZnktZmxvYXRpbmctYnV0dG9uLXBvc2l0aW9uIHtcbiAgICAgICAgdG9wOiAxNTBweCAhaW1wb3J0YW50O1xuXG4gICAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA3NjBweCkge1xuICAgICAgICAgIHRvcDogMTAwcHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgW2RhdGEtdGVzdGlkPVwiZmxvYXRpbmctY2hhdC1zaGFkb3ctZG9tLWNvbnRhaW5lclwiXSB7XG4gICAgICAgIHotaW5kZXg6IDIxNDc0ODM2NDcgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5zcGlmZnktY2hhdC1oZWFkZXItY2xvc2UtYnV0dG9uICB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLWJhY2tncm91bmQtcHJpbWFyeSk7XG4gICAgICB9XG4gICAgICAuc3BpZmZ5LW1vZGFsLXNoZWV0LWZvb3RlciAuc3BpZmZ5LXN1Z2dlc3Rpb24tYnV0dG9uLXF1ZXN0aW9uLWNsYXNzIHN2ZyB7XG4gICAgICAgIGZpbGw6IHZhcigtLXNwaWZmeS1jb2xvcnMtdGV4dC1saW5rKSAhaW1wb3J0YW50O1xuICAgICAgICBzdHJva2U6IHZhcigtLXNwaWZmeS1jb2xvcnMtdGV4dC1saW5rKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLnNwaWZmeS1jaGF0LWhlYWRlci1jb250YWluZXIgaW1nIHtcbiAgICAgICAgbWF4LXdpZHRoOiAxNTBweDtcbiAgICAgIH1cbiAgICAgIC5zcGlmZnktaW1hZ2UtcHJvbXB0LWNhcmQtY29udGFpbmVyIC5zcGlmZnktc3VnZ2VzdGlvbi1iYXItcm93IGJ1dHRvbiB7XG4gICAgICAgIGJhY2tncm91bmQtY29sb3I6IHZhcigtLXNwaWZmeS1jb2xvcnMtYmFja2dyb3VuZC1zZWNvbmRhcnkpICFpbXBvcnRhbnQ7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLXRleHQtbGluaykgIWltcG9ydGFudDtcbiAgICAgICAgYm9yZGVyOiBub25lO1xuICAgICAgfVxuICAgICAgLnNwaWZmeS1pbWFnZS1wcm9tcHQtY2FyZC1jb250YWluZXIgLnNwaWZmeS1zdWdnZXN0aW9uLWJhci1yb3cgYnV0dG9uIHN2ZyB7XG4gICAgICAgIGZpbGw6IHZhcigtLXNwaWZmeS1jb2xvcnMtYWNjZW50LXByaW1hcnkpICFpbXBvcnRhbnQ7ICBcbiAgICAgICAgc3Ryb2tlOiB2YXIoLS1zcGlmZnktY29sb3JzLWFjY2VudC1wcmltYXJ5KSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLnNwaWZmeS1pbWFnZS1wcm9tcHQtY2FyZC1jb250YWluZXIgLnNwaWZmeS1zdWdnZXN0aW9uLWJhci1yb3cgYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3BpZmZ5LWNvbG9ycy1iYWNrZ3JvdW5kLXNlY29uZGFyeS1kYXJrKSAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLnNwaWZmeS1jaGF0LXByZXZpZXctZm9vdGVyLWNvbnRhaW5lciBidXR0b24ge1xuICAgICAgICBiYWNrZ3JvdW5kLWNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLWJhY2tncm91bmQtc2Vjb25kYXJ5KTtcbiAgICAgICAgYm9yZGVyLXJhZGl1czogMCAhaW1wb3J0YW50O1xuICAgICAgfVxuICAgICAgLnNwaWZmeS1jaGF0LXByZXZpZXctZm9vdGVyLWNvbnRhaW5lciBidXR0b24gc3BhbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLXRleHQtbGluaykgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5zcGlmZnktY2hhdC1wcmV2aWV3LWZvb3Rlci1jb250YWluZXIgYnV0dG9uOmhvdmVyIHNwYW4ge1xuICAgICAgICBjb2xvcjogdmFyKC0tc3BpZmZ5LWNvbG9ycy10ZXh0LWxpbmspICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAuc3BpZmZ5LWNoYXQtcHJldmlldy1mb290ZXItY29udGFpbmVyIGJ1dHRvbiBzdmcge1xuICAgICAgICBmaWxsOiB2YXIoLS1zcGlmZnktY29sb3JzLWFjY2VudC1wcmltYXJ5KTtcbiAgICAgICAgc3Ryb2tlOiB2YXIoLS1zcGlmZnktY29sb3JzLWFjY2VudC1wcmltYXJ5KTtcbiAgICAgIH1cbiAgICAgIC5zcGlmZnktY2hhdC1wcmV2aWV3LWZvb3Rlci1jb250YWluZXIgYnV0dG9uOmhvdmVyIHtcbiAgICAgICAgYmFja2dyb3VuZC1jb2xvcjogdmFyKC0tc3BpZmZ5LWNvbG9ycy1iYWNrZ3JvdW5kLXNlY29uZGFyeS1kYXJrKTtcbiAgICAgIH1cbiAgICAgIC5zcGlmZnktY2hhdC1wcmV2aWV3LWZvb3Rlci1jb250YWluZXIgYnV0dG9uOmhvdmVyIHN2ZyB7XG4gICAgICAgIGZpbGw6IHZhcigtLXNwaWZmeS1jb2xvcnMtYWNjZW50LXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgICAgIHN0cm9rZTogdmFyKC0tc3BpZmZ5LWNvbG9ycy1hY2NlbnQtcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5zcGlmZnktYmFjay10by1yZXN1bHRzLWJ1dHRvbiB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLXRleHQtbGlnaHQpO1xuICAgICAgfVxuICAgICAgLnNwaWZmeS1iYWNrLXRvLXJlc3VsdHMtYnV0dG9uIHN2ZyB7XG4gICAgICAgIGZpbGw6IHZhcigtLXNwaWZmeS1jb2xvcnMtYWNjZW50LXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgICAgIHN0cm9rZTogdmFyKC0tc3BpZmZ5LWNvbG9ycy1hY2NlbnQtcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIEBtZWRpYSAobWF4LXdpZHRoOiA0NzlweCkge1xuICAgICAgICAjc3BpZmZ5LWFpLXByb21wdC1jYXJkIHtcbiAgICAgICAgICBncmlkLWFyZWE6IDIgLyAxIC8gMiAvIC0xICFpbXBvcnRhbnQ7XG4gICAgICAgICAgbWluLWhlaWdodDogMzUwcHggIWltcG9ydGFudDtcbiAgICAgICAgfVxuICAgICAgICAuc3BpZmZ5LWltYWdlLXByb21wdC1jYXJkLWNvbnRhaW5lciB7XG4gICAgICAgICAgYmFja2dyb3VuZC1wb3NpdGlvbi15OiAwJSwgMTAwJSAhaW1wb3J0YW50O1xuICAgICAgICB9XG4gICAgICB9XG5cbiAgICAgIC8qID09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09XG4gICAgICAgICBTZWFyY2ggTGF5b3V0ICYgVmlzaWJpbGl0eSBSdWxlc1xuICAgICAgPT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT09PT0gKi9cbiAgICAgIFxuICAgICAgLnNlYXJjaC1yZXN1bHRzLWVudHJ5LXBvaW50IH4gLnNlY3Rpb24tcGFkZGluZy50ZXh0LXNlY3Rpb24udGV4dC1kYXJrIHtcbiAgICAgICAgY29sb3I6IHJlZDtcbiAgICAgIH1cblxuICAgICAgLyogLS0gUnVsZXMgdG8gaGlkZSBvcmlnaW5hbCBzaXRlIGVsZW1lbnRzIC0tICovXG4gICAgICAuZ2xvYmFsLWVudHJ5LWRlc2t0b3AgKyAuanMtc2VhcmNoLXRyaWdnZXIuc2VhcmNoLFxuICAgICAgLmdsb2JhbC1lbnRyeS1zbWFsbC1kZXNrdG9wICsgLmpzLXNlYXJjaC10cmlnZ2VyLnNlYXJjaCxcbiAgICAgIC5nbG9iYWwtZW50cnktZGVza3RvcCArIC5zZWFyY2gtcG9wZG93bixcbiAgICAgIC5nbG9iYWwtZW50cnktc21hbGwtZGVza3RvcCArIC5zZWFyY2gtcG9wZG93bixcbiAgICAgICNzcGlmZnktYWktZ2xvYmFsLXNlYXJjaC1lbnRyeXBvaW50LW1vYmlsZS1pY29uLW9ubHkgKyAuc2VhcmNoLXBvcGRvd24sXG4gICAgICAjc3BpZmZ5LWFpLWdsb2JhbC1zZWFyY2gtZW50cnlwb2ludC1tb2JpbGUtaG9tZXBhZ2UgKyAuc2VhcmNoLXBvcGRvd24sXG4gICAgICAuZ2xvYmFsLWVudHJ5LWRlc2t0b3AgKyAubWFpbi1jb250ZW50LFxuICAgICAgLmdsb2JhbC1lbnRyeS1zbWFsbC1kZXNrdG9wICsgLm1haW4tY29udGVudCxcbiAgICAgIC5zZWFyY2gtcmVzdWx0cy1lbnRyeS1wb2ludCArIC5zaG9waWZ5LXNlY3Rpb24geyBcbiAgICAgICAgZGlzcGxheTogbm9uZSAhaW1wb3J0YW50O1xuICAgICAgfVxuXG4gICAgICAvLyAuc2VhcmNoLXJlc3VsdHMtbm8tb3AgfiAqIHtcbiAgICAgIC8vICAgei1pbmRleDogMDtcbiAgICAgIC8vIH1cblxuICAgICAgI3NwaWZmeS1haS1nbG9iYWwtc2VhcmNoLWVudHJ5cG9pbnQtbW9iaWxlLmdsb2JhbC1lbnRyeS1tb2JpbGUge1xuICAgICAgICBkaXNwbGF5OiBibG9jaztcbiAgICAgIH1cbiAgICAgIFxuICAgICAgQG1lZGlhIChtaW4td2lkdGg6IDY0MHB4KSB7XG4gICAgICAgICNzcGlmZnktYWktZ2xvYmFsLXNlYXJjaC1lbnRyeXBvaW50LW1vYmlsZS5nbG9iYWwtZW50cnktbW9iaWxlIHtcbiAgICAgICAgICBkaXNwbGF5OiBub25lO1xuICAgICAgICB9XG5cbiAgICAgICAgI3NwaWZmeS1haS1nbG9iYWwtc2VhcmNoLWVudHJ5cG9pbnQtbW9iaWxlLWljb24tb25seSB7XG4gICAgICAgICAgZGlzcGxheTogYmxvY2s7XG4gICAgICAgIH1cbiAgICAgIH0gXG5cbiAgICAgIEBtZWRpYSAobWluLXdpZHRoOiAxMjAwcHgpIHtcbiAgICAgICAgI3NwaWZmeS1haS1nbG9iYWwtc2VhcmNoLWVudHJ5cG9pbnQuZ2xvYmFsLWVudHJ5LWRlc2t0b3Age1xuICAgICAgICAgIGRpc3BsYXk6IGJsb2NrO1xuICAgICAgICB9XG4gICAgICAgICNzcGlmZnktYWktZ2xvYmFsLXNlYXJjaC1lbnRyeXBvaW50LXRhYmxldC5nbG9iYWwtZW50cnktc21hbGwtZGVza3RvcCB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgICAjc3BpZmZ5LWFpLWdsb2JhbC1zZWFyY2gtZW50cnlwb2ludC1tb2JpbGUuZ2xvYmFsLWVudHJ5LW1vYmlsZSB7XG4gICAgICAgICAgZGlzcGxheTogbm9uZTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgIGAsXG4gIH07XG59O1xuXG5jb25zdCBiYW5kb2xpZXJQYWdlQ29uZmlnID0gKCk6IE9yZ1BhZ2VDb25maWcgPT4gKHtcbiAgcGFnZVZhcmlhbnRzOiBbXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInNlYXJjaC1yZXN1bHRzXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJzZWFyY2hcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5GZWF0dXJlR2F0ZSxcbiAgICAgICAgICBmZWF0dXJlR2F0ZTogRmVhdHVyZUdhdGVzLklzR2xvYmFsU2VhcmNoRW5hYmxlZCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlF1ZXJ5UGFyYW0sXG4gICAgICAgICAgcXVlcnlQYXJhbTogXCJlc3FcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50RGVza3RvcFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnREZXNrdG9wXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRTbWFsbERlc2t0b3BcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50RGVza3RvcFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BMUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInNlYXJjaFJlc3VsdHNFbnRyeVBvaW50UExQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwic2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE9ubHlJY29uTW9iaWxlXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE9ubHlJY29uTW9iaWxlXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInNlYXJjaE92ZXJsYXlIb3N0XCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwic2VhcmNoT3ZlcmxheUhvc3RcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGxwLXdpdGgtc2VhcmNoXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwbHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5GZWF0dXJlR2F0ZSxcbiAgICAgICAgICBmZWF0dXJlR2F0ZTogRmVhdHVyZUdhdGVzLklzR2xvYmFsU2VhcmNoRW5hYmxlZCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwbHBJZEV4dHJhY3RvcjogXCJ1cmwtcmVzb2x2ZXItcGxwLWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50RGVza3RvcFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnREZXNrdG9wXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRTbWFsbERlc2t0b3BcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50RGVza3RvcFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE1vYmlsZVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlU2VhcmNoSWNvblwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRNb2JpbGVTZWFyY2hJY29uXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQTFBcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE9ubHlJY29uTW9iaWxlXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE9ubHlJY29uTW9iaWxlXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInNlYXJjaE92ZXJsYXlIb3N0XCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwic2VhcmNoT3ZlcmxheUhvc3RcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGRwLXdpdGgtc2VhcmNoLWJhZ3NcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBkcFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHsgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuVXJsUmVzb2x2ZXIgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkZlYXR1cmVHYXRlLFxuICAgICAgICAgIGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZXMuSXNHbG9iYWxTZWFyY2hFbmFibGVkLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuSW5Db2xsZWN0aW9uLFxuICAgICAgICAgIGNvbGxlY3Rpb25zOiBbXCJiYWdzXCJdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHByb2R1Y3RJZEV4dHJhY3RvcjogXCJ1cmwtcmVzb2x2ZXItcHJvZHVjdC1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludERlc2t0b3BcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50RGVza3RvcFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50U21hbGxEZXNrdG9wXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludERlc2t0b3BcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE1vYmlsZVwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRNb2JpbGVcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE1vYmlsZVNlYXJjaEljb25cIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlU2VhcmNoSWNvblwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJCYWdzXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uc0JhclwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRPbmx5SWNvbk1vYmlsZVwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRPbmx5SWNvbk1vYmlsZVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJzZWFyY2hPdmVybGF5SG9zdFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcInNlYXJjaE92ZXJsYXlIb3N0XCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInBkcC13aXRoLXNlYXJjaFwiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGRwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAgeyB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlciB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuRmVhdHVyZUdhdGUsXG4gICAgICAgICAgZmVhdHVyZUdhdGU6IEZlYXR1cmVHYXRlcy5Jc0dsb2JhbFNlYXJjaEVuYWJsZWQsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcHJvZHVjdElkRXh0cmFjdG9yOiBcInVybC1yZXNvbHZlci1wcm9kdWN0LWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50RGVza3RvcFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnREZXNrdG9wXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRTbWFsbERlc2t0b3BcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50RGVza3RvcFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE1vYmlsZVwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlU2VhcmNoSWNvblwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRNb2JpbGVTZWFyY2hJY29uXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uc0JhclwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50T25seUljb25Nb2JpbGVcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50T25seUljb25Nb2JpbGVcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwic2VhcmNoT3ZlcmxheUhvc3RcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJzZWFyY2hPdmVybGF5SG9zdFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJob21lLXdpdGgtc2VhcmNoXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJob21lcGFnZVwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlcixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkZlYXR1cmVHYXRlLFxuICAgICAgICAgIGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZXMuSXNHbG9iYWxTZWFyY2hFbmFibGVkLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnREZXNrdG9wSG9tZXBhZ2VcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50RGVza3RvcEhvbWVwYWdlXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRTbWFsbERlc2t0b3BIb21lcGFnZVwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnREZXNrdG9wSG9tZXBhZ2VcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE1vYmlsZUhvbWVwYWdlXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE9ubHlJY29uTW9iaWxlXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInNlYXJjaE92ZXJsYXlIb3N0XCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwic2VhcmNoT3ZlcmxheUhvc3RcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwib3RoZXItd2l0aC1zZWFyY2hcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcIm90aGVyXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkZlYXR1cmVHYXRlLFxuICAgICAgICAgIGZlYXR1cmVHYXRlOiBGZWF0dXJlR2F0ZXMuSXNHbG9iYWxTZWFyY2hFbmFibGVkLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuVXJsUmVzb2x2ZXIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludERlc2t0b3BcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50RGVza3RvcFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50U21hbGxEZXNrdG9wXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludERlc2t0b3BcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE9ubHlJY29uTW9iaWxlXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE9ubHlJY29uTW9iaWxlXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInNlYXJjaE92ZXJsYXlIb3N0XCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwic2VhcmNoT3ZlcmxheUhvc3RcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGxwUGhvbmVDYXNlc1wiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGxwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAgeyB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5TaG9waWZ5UExQIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5QbHBJZCxcbiAgICAgICAgICBwbHBJZHM6IFtcImJhbmRvbGllci1jcm9zc2JvZHlcIiwgXCJ3cmlzdGxldC1waG9uZS1jYXNlc1wiLCBcImNhc2Utb25seVwiXSxcbiAgICAgICAgICBwbHBJZEV4dHJhY3RvcjogXCJzaG9waWZ5LWNvbGxlY3Rpb24taWRcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwbHBJZEV4dHJhY3RvcjogXCJzaG9waWZ5LWNvbGxlY3Rpb24taWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImltYWdlUHJvbXB0Q2FyZFBMUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImltYWdlUHJvbXB0Q2FyZFBMUFBob25lQ2FzZXNcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGxwQWNjZXNzb3JpZXNcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBscFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHsgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuU2hvcGlmeVBMUCB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuUGxwSWQsXG4gICAgICAgICAgcGxwSWRzOiBbXCJzaG9wLWFsbC1hY2Nlc3Nvcmllc1wiXSxcbiAgICAgICAgICBwbHBJZEV4dHJhY3RvcjogXCJzaG9waWZ5LWNvbGxlY3Rpb24taWRcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwbHBJZEV4dHJhY3RvcjogXCJzaG9waWZ5LWNvbGxlY3Rpb24taWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImltYWdlUHJvbXB0Q2FyZFBMUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImltYWdlUHJvbXB0Q2FyZFBMUEFjY2Vzc29yaWVzXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInBscEJhZ3NcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBscFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHsgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuU2hvcGlmeVBMUCB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuUGxwSWQsXG4gICAgICAgICAgcGxwSWRzOiBbXCJiYWdzXCJdLFxuICAgICAgICAgIHBscElkRXh0cmFjdG9yOiBcInNob3BpZnktY29sbGVjdGlvbi1pZFwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHBscElkRXh0cmFjdG9yOiBcInNob3BpZnktY29sbGVjdGlvbi1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkUExQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkUExQQmFnc1wiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJwZHBQb3VjaGVzXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwZHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlNob3BpZnlQRFAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkluQ29sbGVjdGlvbixcbiAgICAgICAgICBjb2xsZWN0aW9uczogW1wic2hvcC1hbGwtYmFncy1wb3VjaGVzXCJdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHByb2R1Y3RJZEV4dHJhY3RvcjogXCJzaG9waWZ5LXByb2R1Y3QtdmFyaWFudC1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyUG91Y2hlc1wiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uc0JhclwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJwZHBCYWdzXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwZHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlNob3BpZnlQRFAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkluQ29sbGVjdGlvbixcbiAgICAgICAgICBjb2xsZWN0aW9uczogW1wiYmFnc1wiXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwcm9kdWN0SWRFeHRyYWN0b3I6IFwic2hvcGlmeS1wcm9kdWN0LXZhcmlhbnQtaWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uc0JhckJhZ3NcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGxwU2hvcEFsbFwiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGxwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAgeyB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5TaG9waWZ5UExQIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5QbHBJZCxcbiAgICAgICAgICBwbHBJZHM6IFtcImFsbFwiXSxcbiAgICAgICAgICBwbHBJZEV4dHJhY3RvcjogXCJzaG9waWZ5LWNvbGxlY3Rpb24taWRcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwbHBJZEV4dHJhY3RvcjogXCJzaG9waWZ5LWNvbGxlY3Rpb24taWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImltYWdlUHJvbXB0Q2FyZFBMUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImltYWdlUHJvbXB0Q2FyZFBMUFNob3BBbGxcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGxwXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwbHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW3sgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuU2hvcGlmeVBMUCB9XSxcbiAgICAgIHBscElkRXh0cmFjdG9yOiBcInNob3BpZnktY29sbGVjdGlvbi1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkUExQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkUExQXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInBkcFwiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGRwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFt7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlNob3BpZnlQRFAgfV0sXG4gICAgICBwcm9kdWN0SWRFeHRyYWN0b3I6IFwic2hvcGlmeS1wcm9kdWN0LXZhcmlhbnQtaWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uc0JhclwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uc0JhclwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICBdLFxuICBtb3VudGluZ0NvbmZpZ3M6IHtcbiAgICBpbWFnZVByb21wdENhcmRQTFA6IHtcbiAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkUExQXCIsXG4gICAgICBjb250YWluZXJJZDogUFJPTVBUX0NBUkRfSUQsXG4gICAgICB0ZXN0SWQ6IFBST01QVF9DQVJEX1RFU1RJRCxcbiAgICAgIGluc2VydGlvblBvaW50OiB7XG4gICAgICAgIHNlbGVjdG9yOiBcIiNBamF4aW5hdGVMb29wXCIsXG4gICAgICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGUuQUZURVIsXG4gICAgICB9LFxuICAgICAgZ3JpZEluc2VydGlvblR5cGU6IEdyaWRJbnNlcnRpb25UeXBlLkZJWEVEXzEsXG4gICAgICBkaXZDaGVja1NlbGVjdG9yOiBcInRlc3RcIixcbiAgICAgIHN0eWxlOiB7XG4gICAgICAgIGdyaWRSb3c6IFwiMiAvIDJcIixcbiAgICAgICAgZ3JpZENvbHVtbjogXCIxIC8gMVwiLFxuICAgICAgfSxcbiAgICB9LFxuXG4gICAgY2hhdFByZXZpZXdQRFA6IHtcbiAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgIGNvbnRhaW5lcklkOiBDSEFUX1BSRVZJRVdfQ09OVEFJTkVSX0lELFxuICAgICAgdGVzdElkOiBDSEFUX1BSRVZJRVdfVEVTVElELFxuICAgICAgaW5zZXJ0aW9uUG9pbnQ6IHtcbiAgICAgICAgc2VsZWN0b3I6IFwiLnByb2R1Y3Qtc2luZ2xlIGRpdlwiLFxuICAgICAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlLkFQUEVORF9DSElMRCxcbiAgICAgIH0sXG4gICAgfSxcblxuICAgIHRvcFN1Z2dlc3Rpb25CYXJQRFA6IHtcbiAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgY29udGFpbmVySWQ6IFRPUF9TVUdHRVNUSU9OX0JBUl9QRFBfSUQsXG4gICAgICB0ZXN0SWQ6IFRPUF9TVUdHRVNUSU9OX0JBUl9URVNUSUQsXG4gICAgICBpbnNlcnRpb25Qb2ludDoge1xuICAgICAgICBzZWxlY3RvcjogXCIucHJvZHVjdF9fcHJpY2UtYW5kLXJhdGluZ1wiLFxuICAgICAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlLkFGVEVSLFxuICAgICAgfSxcbiAgICAgIHN0eWxlOiB7XG4gICAgICAgIG1hcmdpbkJvdHRvbTogXCIxNnB4XCIsXG4gICAgICB9LFxuICAgIH0sXG5cbiAgICBib3R0b21TdWdnZXN0aW9uQmFyUERQOiB7XG4gICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgIGNvbnRhaW5lcklkOiBCT1RUT01fUkVWSUVXU19CQVJfSUQsXG4gICAgICB0ZXN0SWQ6IEJPVFRPTV9TVUdHRVNUSU9OX0JBUl9URVNUSUQsXG4gICAgICBpbnNlcnRpb25Qb2ludDoge1xuICAgICAgICBzZWxlY3RvcjogXCIueW90cG8tc21hcnQtdG9waWNzLXBhbmVsXCIsXG4gICAgICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGUuQUZURVIsXG4gICAgICB9LFxuICAgICAgc3R5bGU6IHtcbiAgICAgICAgd2lkdGg6IFwiMTAwJVwiLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHNlYXJjaE92ZXJsYXlIb3N0OiB7XG4gICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInNlYXJjaE92ZXJsYXlIb3N0XCIsXG4gICAgICBjb250YWluZXJJZDogU0VBUkNIX09WRVJMQVlfRU5UUllQT0lOVF9JRCxcbiAgICAgIHRlc3RJZDogU0VBUkNIX09WRVJMQVlfSE9TVF9URVNUSUQsXG4gICAgICBpbnNlcnRpb25Qb2ludDoge1xuICAgICAgICBzZWxlY3RvcjogXCJib2R5XCIsXG4gICAgICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGUuQVBQRU5EX0NISUxELFxuICAgICAgfSxcbiAgICAgIGNsYXNzTmFtZTogXCJzcGlmZnktb3ZlcmxheS1ob3N0XCIsXG4gICAgfSxcbiAgICBzZWFyY2hSZXN1bHRzRW50cnlQb2ludFBMUDoge1xuICAgICAgbW91bnRpbmdDb25maWdJZDogXCJzZWFyY2hSZXN1bHRzRW50cnlQb2ludFBMUFwiLFxuICAgICAgY29udGFpbmVySWQ6IFNFQVJDSF9SRVNVTFRTX0VOVFJZUE9JTlRfSUQsXG4gICAgICB0ZXN0SWQ6IFNFQVJDSF9SRVNVTFRTX0VOVFJZUE9JTlRfVEVTVElELFxuICAgICAgaW5zZXJ0aW9uUG9pbnQ6IHtcbiAgICAgICAgc2VsZWN0b3I6IFwiLm1haW4tY29udGVudFwiLFxuICAgICAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlLkJFRk9SRSxcbiAgICAgIH0sXG4gICAgICBzdXBwcmVzc2lvblNlbGVjdG9yOiBcIiNNYWluQ29udGVudFwiLFxuICAgICAgY2xhc3NOYW1lOiBcInNlYXJjaC1yZXN1bHRzLWVudHJ5LXBvaW50XCIsXG4gICAgICBzdHlsZToge1xuICAgICAgICBtYXJnaW5Cb3R0b206IFwiNjBweFwiLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHNlYXJjaFJlc3VsdHNFbnRyeVBvaW50UERQOiB7XG4gICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInNlYXJjaFJlc3VsdHNFbnRyeVBvaW50UERQXCIsXG4gICAgICBjb250YWluZXJJZDogU0VBUkNIX1JFU1VMVFNfRU5UUllQT0lOVF9JRCxcbiAgICAgIHRlc3RJZDogU0VBUkNIX1JFU1VMVFNfRU5UUllQT0lOVF9URVNUSUQsXG4gICAgICBpbnNlcnRpb25Qb2ludDoge1xuICAgICAgICBzZWxlY3RvcjogXCIubWFpbi1jb250ZW50XCIsXG4gICAgICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGUuQkVGT1JFLFxuICAgICAgfSxcbiAgICAgIHN1cHByZXNzaW9uU2VsZWN0b3I6IFwiI01haW5Db250ZW50XCIsXG4gICAgICBjbGFzc05hbWU6IFwic2VhcmNoLXJlc3VsdHMtZW50cnktcG9pbnRcIixcbiAgICAgIHN0eWxlOiB7XG4gICAgICAgIG1hcmdpbkJvdHRvbTogXCI2MHB4XCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZ2xvYmFsU2VhcmNoRW50cnlQb2ludERlc2t0b3BIb21lcGFnZToge1xuICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50RGVza3RvcEhvbWVwYWdlXCIsXG4gICAgICBjb250YWluZXJJZDogSE9NRVBBR0VfREVTS1RPUF9HTE9CQUxfU0VBUkNIX0VOVFJZUE9JTlRfSUQsXG4gICAgICB0ZXN0SWQ6IEdMT0JBTF9TRUFSQ0hfRU5UUllQT0lOVF9URVNUSUQsXG4gICAgICBpbnNlcnRpb25Qb2ludDoge1xuICAgICAgICBzZWxlY3RvcjpcbiAgICAgICAgICBcIi5tZW51X19pdGVtLm1lbnVfX2l0ZW0tLWljb25zIC5zZWFyY2gtcG9wZG93bi5tZW51X19pdGVtLm1lbnVfX2l0ZW0tLWljb25cIixcbiAgICAgICAgaW5zZXJ0aW9uVHlwZTogRE9NSW5zZXJ0aW9uVHlwZS5CRUZPUkUsXG4gICAgICB9LFxuICAgICAgc3VwcHJlc3Npb25TZWxlY3RvcjogXCIubWVudV9faXRlbS5tZW51X19pdGVtLS1pY29ucyAuc2VhcmNoLXBvcGRvd25cIixcbiAgICAgIGNsYXNzTmFtZTogXCJnbG9iYWwtZW50cnktZGVza3RvcC1ob21lcGFnZVwiLFxuICAgICAgc3R5bGU6IHtcbiAgICAgICAgbWFyZ2luOiBcIjAgNXB4IDAgN3B4XCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZ2xvYmFsU2VhcmNoRW50cnlQb2ludFNtYWxsRGVza3RvcEhvbWVwYWdlOiB7XG4gICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRTbWFsbERlc2t0b3BIb21lcGFnZVwiLFxuICAgICAgY29udGFpbmVySWQ6IEhPTUVQQUdFX1RBQkxFVF9HTE9CQUxfU0VBUkNIX0VOVFJZUE9JTlRfSUQsXG4gICAgICB0ZXN0SWQ6IEdMT0JBTF9TRUFSQ0hfRU5UUllQT0lOVF9URVNUSUQsXG4gICAgICBpbnNlcnRpb25Qb2ludDoge1xuICAgICAgICBzZWxlY3RvcjpcbiAgICAgICAgICBcIiNOYXZTdGFuZGFyZCAubWVudV9faXRlbS5tZW51X19pdGVtLS1pY29uLm1lbnVfX2l0ZW0td2lzaGxpc3RcIixcbiAgICAgICAgaW5zZXJ0aW9uVHlwZTogRE9NSW5zZXJ0aW9uVHlwZS5BREpBQ0VOVF9BRlRFUl9FTkQsXG4gICAgICB9LFxuICAgICAgc3VwcHJlc3Npb25TZWxlY3RvcjogXCIuc2VhcmNoLXBvcGRvd25cIixcbiAgICAgIGNsYXNzTmFtZTogXCJnbG9iYWwtZW50cnktc21hbGwtZGVza3RvcC1ob21lcGFnZVwiLFxuICAgICAgc3R5bGU6IHtcbiAgICAgICAgbWFyZ2luOiBcIjAgNXB4IDAgN3B4XCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZ2xvYmFsU2VhcmNoRW50cnlQb2ludE1vYmlsZUhvbWVwYWdlOiB7XG4gICAgICAvLyBUaGlzIGlzIHRoZSBzYW1lIGFzIGdsb2JhbFNlYXJjaEVudHJ5UG9pbnRPbmx5SWNvbk1vYmlsZSBleGNlcHQgdGhlIGNsYXNzIGlzIGRpZmZlcmVudCBhbGxvd2luZyB1cyB0byBub3QgaGlkZSBpdCB3aGVuIHRoZSBzY3JlZW5zaXplIGlzIHNtYWxsLiBJdCdzIHVzZWQgb24gaG9tZXBhZ2UgYW5kICdvdGhlcicgcGFnZXNcbiAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE1vYmlsZUhvbWVwYWdlXCIsXG4gICAgICBjb250YWluZXJJZDogSE9NRVBBR0VfTU9CSUxFX0dMT0JBTF9TRUFSQ0hfRU5UUllQT0lOVF9JRCxcbiAgICAgIHRlc3RJZDogR0xPQkFMX1NFQVJDSF9FTlRSWVBPSU5UX1RFU1RJRCxcbiAgICAgIGluc2VydGlvblBvaW50OiB7XG4gICAgICAgIHNlbGVjdG9yOiBcIi5zZWFyY2gtcG9wZG93bi5tb2JpbGUtbWVudV9fYnV0dG9uXCIsXG4gICAgICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGUuQkVGT1JFLFxuICAgICAgfSxcbiAgICAgIGNsYXNzTmFtZTogXCJnbG9iYWwtZW50cnktbW9iaWxlLWhvbWVwYWdlXCIsXG4gICAgICBzdHlsZToge1xuICAgICAgICBtYXJnaW46IFwiNnB4XCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAgZ2xvYmFsU2VhcmNoRW50cnlQb2ludERlc2t0b3A6IHtcbiAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludERlc2t0b3BcIixcbiAgICAgIGNvbnRhaW5lcklkOiBHTE9CQUxfU0VBUkNIX0VOVFJZUE9JTlRfSUQsXG4gICAgICB0ZXN0SWQ6IEdMT0JBTF9TRUFSQ0hfRU5UUllQT0lOVF9URVNUSUQsXG4gICAgICBpbnNlcnRpb25Qb2ludDoge1xuICAgICAgICBzZWxlY3RvcjpcbiAgICAgICAgICBcIi5tZW51X19pdGVtLm1lbnVfX2l0ZW0tLWljb25zIC5zZWFyY2gtcG9wZG93bi5tZW51X19pdGVtLm1lbnVfX2l0ZW0tLWljb25cIixcbiAgICAgICAgaW5zZXJ0aW9uVHlwZTogRE9NSW5zZXJ0aW9uVHlwZS5CRUZPUkUsXG4gICAgICB9LFxuICAgICAgY2xhc3NOYW1lOiBcImdsb2JhbC1lbnRyeS1kZXNrdG9wXCIsXG4gICAgICBzdHlsZToge1xuICAgICAgICBtYXJnaW46IFwiMCA1cHggMCA3cHhcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgICBnbG9iYWxTZWFyY2hFbnRyeVBvaW50U21hbGxEZXNrdG9wOiB7XG4gICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRTbWFsbERlc2t0b3BcIixcbiAgICAgIGNvbnRhaW5lcklkOiBUQUJMRVRfR0xPQkFMX1NFQVJDSF9FTlRZUE9JTlRfSUQsXG4gICAgICB0ZXN0SWQ6IEdMT0JBTF9TRUFSQ0hfRU5UUllQT0lOVF9URVNUSUQsXG4gICAgICBpbnNlcnRpb25Qb2ludDoge1xuICAgICAgICBzZWxlY3RvcjpcbiAgICAgICAgICBcIiNOYXZTdGFuZGFyZCAubWVudV9faXRlbS5tZW51X19pdGVtLS1pY29uLm1lbnVfX2l0ZW0td2lzaGxpc3RcIixcbiAgICAgICAgaW5zZXJ0aW9uVHlwZTogRE9NSW5zZXJ0aW9uVHlwZS5BREpBQ0VOVF9BRlRFUl9FTkQsXG4gICAgICB9LFxuICAgICAgY2xhc3NOYW1lOiBcImdsb2JhbC1lbnRyeS1zbWFsbC1kZXNrdG9wXCIsXG4gICAgICBzdHlsZToge1xuICAgICAgICBtYXJnaW46IFwiMCA1cHggMCA3cHhcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgICBnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlOiB7XG4gICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRNb2JpbGVcIixcbiAgICAgIGNvbnRhaW5lcklkOiBNT0JJTEVfR0xPQkFMX1NFQVJDSF9FTlRSWVBPSU5UX0lELFxuICAgICAgdGVzdElkOiBHTE9CQUxfU0VBUkNIX0VOVFJZUE9JTlRfVEVTVElELFxuICAgICAgaW5zZXJ0aW9uUG9pbnQ6IHtcbiAgICAgICAgc2VsZWN0b3I6IFwiLm1haW4tY29udGVudFwiLFxuICAgICAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlLkJFRk9SRSxcbiAgICAgIH0sXG4gICAgICBjbGFzc05hbWU6IFwiZ2xvYmFsLWVudHJ5LW1vYmlsZVwiLFxuICAgICAgc3R5bGU6IHtcbiAgICAgICAgbWFyZ2luOiBcIjhweFwiLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGdsb2JhbFNlYXJjaEVudHJ5UG9pbnRPbmx5SWNvbk1vYmlsZToge1xuICAgICAgbW91bnRpbmdDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50T25seUljb25Nb2JpbGVcIixcbiAgICAgIGNvbnRhaW5lcklkOiBNT0JJTEVfSUNPTl9PTkxZX0dMT0JBTF9TRUFSQ0hfRU5UUllQT0lOVF9JRCxcbiAgICAgIHRlc3RJZDogR0xPQkFMX1NFQVJDSF9FTlRSWVBPSU5UX1RFU1RJRCxcbiAgICAgIGluc2VydGlvblBvaW50OiB7XG4gICAgICAgIHNlbGVjdG9yOiBcIi5zZWFyY2gtcG9wZG93bi5tb2JpbGUtbWVudV9fYnV0dG9uXCIsXG4gICAgICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGUuQURKQUNFTlRfQkVGT1JFX0JFR0lOLFxuICAgICAgfSxcbiAgICAgIGNsYXNzTmFtZTogXCJnbG9iYWwtZW50cnktbW9iaWxlLW1lbnUtaWNvblwiLFxuICAgICAgc3R5bGU6IHtcbiAgICAgICAgbWFyZ2luOiBcIjZweFwiLFxuICAgICAgfSxcbiAgICB9LFxuICB9LFxuICB3aWRnZXRDb25maWdzOiB7XG4gICAgaW1hZ2VQcm9tcHRDYXJkUExQUGhvbmVDYXNlczoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLkltYWdlUHJvbXB0Q2FyZCxcbiAgICAgIHVybDogQ2RuU2VydmljZS5nZXRBc3NldFVSTChcbiAgICAgICAgXCJpbWFnZS1wcm9tcHQtY2FyZC0yLnBuZ1wiLFxuICAgICAgICBPcmdTaG9ydE5hbWUuQmFuZG9saWVyXG4gICAgICApLFxuICAgICAgbGlnaHRUZXh0OiB0cnVlLFxuICAgICAgdGl0bGU6IFwiV2hhdCBjYW4gd2UgaGVscCB5b3UgZmluZCB0b2RheT9cIixcbiAgICAgIHN1YnRpdGxlOiBbXG4gICAgICAgIFwiQ3Jvc3Nib2R5IHZzLiB3cmlzdGxldOKAlHdoYXTigJlzIHRoZSBkaWZmZXJlbmNlP1wiLFxuICAgICAgICBcIkNhbiBJIG1peCBhbmQgbWF0Y2ggc3RyYXBzIGFuZCB3cmlzdGxldHM/XCIsXG4gICAgICAgIFwiRG9lcyBpdCBmaXQgY2FyZHMgb3IgZXNzZW50aWFscz9cIixcbiAgICAgICAgXCJIb3cgcHJvdGVjdGVkIHdpbGwgbXkgcGhvbmUgYmU/XCIsXG4gICAgICAgIFwiRG8geW91IG9mZmVyIGJ1bmRsZXMgb3Igc2V0cz9cIixcbiAgICAgICAgXCJDYW4gSSB1c2UgdGhpcyBjYXNlIHdpdGhvdXQgYSBzdHJhcD9cIixcbiAgICAgIF0sXG4gICAgICBzdGF0aWNTdWdnZXN0aW9uQ29waWVzOiBbXG4gICAgICAgIFwiV2lsbCB0aGlzIGZpdCBteSBwaG9uZT9cIixcbiAgICAgICAgXCJDcm9zc2JvZHkgdnMuIHdyaXN0bGV04oCUd2hhdOKAmXMgdGhlIGRpZmZlcmVuY2U/XCIsXG4gICAgICAgIFwiQ2FuIEkgbWl4IGFuZCBtYXRjaCBzdHJhcHMgYW5kIHdyaXN0bGV0cz9cIixcbiAgICAgICAgXCJEb2VzIGl0IGZpdCBjYXJkcyBvciBlc3NlbnRpYWxzP1wiLFxuICAgICAgICBcIkhvdyBwcm90ZWN0ZWQgd2lsbCBteSBwaG9uZSBiZT9cIixcbiAgICAgICAgXCJEbyB5b3Ugb2ZmZXIgYnVuZGxlcyBvciBzZXRzP1wiLFxuICAgICAgICBcIkNhbiBJIHVzZSB0aGlzIGNhc2Ugd2l0aG91dCBhIHN0cmFwP1wiLFxuICAgICAgXSxcbiAgICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzoge1xuICAgICAgICB2YXJpYW50OiBcInVuZGVybGluZUxpZ2h0XCIsXG4gICAgICAgIHBsYWNlaG9sZGVyVGV4dDogXCJOZWVkIHNvbWV0aGluZyBzcGVjaWFsP1wiLFxuICAgICAgICBpY29uOiBcInNlbmRBcnJvd1wiLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBJbWFnZVByb21wdFdpZGdldENvbmZpZyxcbiAgICBpbWFnZVByb21wdENhcmRQTFBBY2Nlc3Nvcmllczoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLkltYWdlUHJvbXB0Q2FyZCxcbiAgICAgIHVybDogQ2RuU2VydmljZS5nZXRBc3NldFVSTChcbiAgICAgICAgXCJpbWFnZS1wcm9tcHQtY2FyZC0yLnBuZ1wiLFxuICAgICAgICBPcmdTaG9ydE5hbWUuQmFuZG9saWVyXG4gICAgICApLFxuICAgICAgbGlnaHRUZXh0OiB0cnVlLFxuICAgICAgdGl0bGU6IFwiV2hhdCBjYW4gd2UgaGVscCB5b3UgZmluZCB0b2RheT9cIixcbiAgICAgIHN1YnRpdGxlOiBbXG4gICAgICAgIFwiQ2FuIEkgbWl4IGFuZCBtYXRjaCBjb2xvcnMgb3Igc3R5bGVzP1wiLFxuICAgICAgICBcIkhvdyBkbyB0aGVzZSBhdHRhY2ggdG8gY2FzZXMgYW5kIGJhZ3M/XCIsXG4gICAgICAgIFwiQXJlIGFjY2Vzc29yaWVzIGN1c3RvbWl6YWJsZT9cIixcbiAgICAgICAgXCJDYW4gSSBjdXN0b21pemUgbXkgQmFuZG9saWVyP1wiLFxuICAgICAgXSxcbiAgICAgIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM6IFtcbiAgICAgICAgXCJDYW4gSSBtaXggYW5kIG1hdGNoIGNvbG9ycyBvciBzdHlsZXM/XCIsXG4gICAgICAgIFwiSG93IGRvIHRoZXNlIGF0dGFjaCB0byBjYXNlcyBhbmQgYmFncz9cIixcbiAgICAgICAgXCJBcmUgYWNjZXNzb3JpZXMgY3VzdG9taXphYmxlP1wiLFxuICAgICAgICBcIkNhbiBJIGN1c3RvbWl6ZSBteSBCYW5kb2xpZXI/XCIsXG4gICAgICBdLFxuICAgICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiB7XG4gICAgICAgIHZhcmlhbnQ6IFwidW5kZXJsaW5lTGlnaHRcIixcbiAgICAgICAgcGxhY2Vob2xkZXJUZXh0OiBcIk5lZWQgc29tZXRoaW5nIHNwZWNpYWw/XCIsXG4gICAgICAgIGljb246IFwic2VuZEFycm93XCIsXG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIEltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnLFxuICAgIGltYWdlUHJvbXB0Q2FyZFBMUEJhZ3M6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcImltYWdlUHJvbXB0Q2FyZFwiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5JbWFnZVByb21wdENhcmQsXG4gICAgICB1cmw6IENkblNlcnZpY2UuZ2V0QXNzZXRVUkwoXG4gICAgICAgIFwiaW1hZ2UtcHJvbXB0LWNhcmQtMi5wbmdcIixcbiAgICAgICAgT3JnU2hvcnROYW1lLkJhbmRvbGllclxuICAgICAgKSxcbiAgICAgIGxpZ2h0VGV4dDogdHJ1ZSxcbiAgICAgIHRpdGxlOiBcIldoYXQgY2FuIHdlIGhlbHAgeW91IGZpbmQgdG9kYXk/XCIsXG4gICAgICBzdWJ0aXRsZTogW1xuICAgICAgICBcIkFyZSB0aGUgYmFncyBkZXNpZ25lZCB0byBob2xkIHBob25lcz9cIixcbiAgICAgICAgXCJDYW4gSSBhdHRhY2ggYSBCYW5kb2xpZXIgc3RyYXAgdG8gdGhpcyBiYWc/XCIsXG4gICAgICAgIFwiRG9lcyBpdCBoYXZlIGludGVyaW9yIHBvY2tldHM/XCIsXG4gICAgICAgIFwiSXMgaXQgbWFkZSBvZiByZWFsIGxlYXRoZXI/XCIsXG4gICAgICAgIFwiQ2FuIHRoZSBzdHJhcCBiZSByZW1vdmVkP1wiLFxuICAgICAgXSxcbiAgICAgIHN0YXRpY1N1Z2dlc3Rpb25Db3BpZXM6IFtcbiAgICAgICAgXCJBcmUgdGhlIGJhZ3MgZGVzaWduZWQgdG8gaG9sZCBwaG9uZXM/XCIsXG4gICAgICAgIFwiQ2FuIEkgYXR0YWNoIGEgQmFuZG9saWVyIHN0cmFwIHRvIHRoaXMgYmFnP1wiLFxuICAgICAgICBcIkRvZXMgaXQgaGF2ZSBpbnRlcmlvciBwb2NrZXRzP1wiLFxuICAgICAgICBcIklzIGl0IG1hZGUgb2YgcmVhbCBsZWF0aGVyP1wiLFxuICAgICAgICBcIkNhbiB0aGUgc3RyYXAgYmUgcmVtb3ZlZD9cIixcbiAgICAgIF0sXG4gICAgICB1c2VyUXVlcnlCdXR0b25Db25maWc6IHtcbiAgICAgICAgdmFyaWFudDogXCJ1bmRlcmxpbmVMaWdodFwiLFxuICAgICAgICBwbGFjZWhvbGRlclRleHQ6IFwiTmVlZCBzb21ldGhpbmcgc3BlY2lhbD9cIixcbiAgICAgICAgaWNvbjogXCJzZW5kQXJyb3dcIixcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgSW1hZ2VQcm9tcHRXaWRnZXRDb25maWcsXG4gICAgaW1hZ2VQcm9tcHRDYXJkUExQU2hvcEFsbDoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiaW1hZ2VQcm9tcHRDYXJkXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLkltYWdlUHJvbXB0Q2FyZCxcbiAgICAgIHVybDogQ2RuU2VydmljZS5nZXRBc3NldFVSTChcbiAgICAgICAgXCJpbWFnZS1wcm9tcHQtY2FyZC0yLnBuZ1wiLFxuICAgICAgICBPcmdTaG9ydE5hbWUuQmFuZG9saWVyXG4gICAgICApLFxuICAgICAgbGlnaHRUZXh0OiB0cnVlLFxuICAgICAgdGl0bGU6IFwiV2hhdCBjYW4gd2UgaGVscCB5b3UgZmluZCB0b2RheT9cIixcbiAgICAgIHN1YnRpdGxlOiBbXG4gICAgICAgIFwiV2lsbCB0aGlzIGZpdCBteSBwaG9uZT9cIixcbiAgICAgICAgXCJIb3cgaXMgQmFuZG9saWVyIGRpZmZlcmVudCBmcm9tIG90aGVyIHBob25lIGNhc2VzP1wiLFxuICAgICAgICBcIldoYXTigJlzIHlvdXIgbW9zdCBwb3B1bGFyIHN0eWxlP1wiLFxuICAgICAgICBcIldoYXQncyB0cmVuZGluZyByaWdodCBub3c/XCIsXG4gICAgICBdLFxuICAgICAgc3RhdGljU3VnZ2VzdGlvbkNvcGllczogW1xuICAgICAgICBcIldpbGwgdGhpcyBmaXQgbXkgcGhvbmU/XCIsXG4gICAgICAgIFwiSG93IGlzIEJhbmRvbGllciBkaWZmZXJlbnQgZnJvbSBvdGhlciBwaG9uZSBjYXNlcz9cIixcbiAgICAgICAgXCJXaGF04oCZcyB5b3VyIG1vc3QgcG9wdWxhciBzdHlsZT9cIixcbiAgICAgICAgXCJXaGF0J3MgdHJlbmRpbmcgcmlnaHQgbm93P1wiLFxuICAgICAgXSxcbiAgICAgIHVzZXJRdWVyeUJ1dHRvbkNvbmZpZzoge1xuICAgICAgICB2YXJpYW50OiBcInVuZGVybGluZUxpZ2h0XCIsXG4gICAgICAgIHBsYWNlaG9sZGVyVGV4dDogXCJOZWVkIHNvbWV0aGluZyBzcGVjaWFsP1wiLFxuICAgICAgICBpY29uOiBcInNlbmRBcnJvd1wiLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBJbWFnZVByb21wdFdpZGdldENvbmZpZyxcbiAgICBpbWFnZVByb21wdENhcmRQTFA6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcImltYWdlUHJvbXB0Q2FyZFwiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5JbWFnZVByb21wdENhcmQsXG4gICAgICB1cmw6IENkblNlcnZpY2UuZ2V0QXNzZXRVUkwoXG4gICAgICAgIFwiaW1hZ2UtcHJvbXB0LWNhcmQtMi5wbmdcIixcbiAgICAgICAgT3JnU2hvcnROYW1lLkJhbmRvbGllclxuICAgICAgKSxcbiAgICAgIGxpZ2h0VGV4dDogdHJ1ZSxcbiAgICAgIHRpdGxlOiBcIldoYXQgY2FuIHdlIGhlbHAgeW91IGZpbmQgdG9kYXk/XCIsXG4gICAgICBzdWJ0aXRsZTogW1xuICAgICAgICBcIldoaWNoIHBob25lIGNhc2UgZml0cyB5b3VyIHN0eWxlP1wiLFxuICAgICAgICBcIk5lZWQgYSBiYWcgZm9yIG5pZ2h0cyBvdXQ/XCIsXG4gICAgICAgIFwiV2hhdOKAmXMgYSBjaGljIGdpZnQgaWRlYT9cIixcbiAgICAgICAgXCJMb29raW5nIGZvciBhIHRyYXZlbC1yZWFkeSBzZXQ/XCIsXG4gICAgICBdLFxuICAgICAgc3RhdGljU3VnZ2VzdGlvbkNvcGllczogW1xuICAgICAgICBcIldoaWNoIHBob25lIGNhc2UgZml0cyB5b3VyIHN0eWxlP1wiLFxuICAgICAgICBcIk5lZWQgYSBiYWcgZm9yIG5pZ2h0cyBvdXQ/XCIsXG4gICAgICAgIFwiV2hhdOKAmXMgYSBjaGljIGdpZnQgaWRlYT9cIixcbiAgICAgICAgXCJMb29raW5nIGZvciBhIHRyYXZlbC1yZWFkeSBzZXQ/XCIsXG4gICAgICBdLFxuICAgICAgdXNlclF1ZXJ5QnV0dG9uQ29uZmlnOiB7XG4gICAgICAgIHZhcmlhbnQ6IFwidW5kZXJsaW5lTGlnaHRcIixcbiAgICAgICAgcGxhY2Vob2xkZXJUZXh0OiBcIk5lZWQgc29tZXRoaW5nIHNwZWNpYWw/XCIsXG4gICAgICAgIGljb246IFwic2VuZEFycm93XCIsXG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIEltYWdlUHJvbXB0V2lkZ2V0Q29uZmlnLFxuXG4gICAgdG9wU3VnZ2VzdGlvbnNCYXI6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyXCIsXG4gICAgICBjb250ZW50SWQ6IFwic3BpZmZ5LXRvcC1zdWdnZXN0aW9uLWJhci1jb250ZW50c1wiLFxuICAgICAgbWV0cmljRGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbi5UT1BfUkVWSUVXU19TTklQUEVULFxuICAgICAgbG9jYXRpb246IFN1Z2dlc3Rpb25CYXJMb2NhdGlvbkZvck1ldHJpY3MuU1VHR0VTVElPTl9CQVJfVE9QLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjIsXG4gICAgICB2YXJpYW50OiBcInNlY29uZGFyeVwiLFxuICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeUFjY2VudFwiLFxuICAgICAgYnV0dG9uQm9yZGVyUmFkaXVzOiBcInNtXCIsXG4gICAgICBhbmltYXRpb25TcGVlZDogXCJzdGFuZGFyZFwiLFxuICAgICAgYnV0dG9uVGV4dHM6IHtcbiAgICAgICAgZGVmYXVsdDogW1xuICAgICAgICAgIFwiQ2FuIEkgdXNlIHRoaXMgY2FzZSB3aXRob3V0IGEgc3RyYXA/IFwiLFxuICAgICAgICAgIFwiSG93IG1hbnkgY2FyZHMgZml0IGluIHRoZSB3YWxsZXQ/XCIsXG4gICAgICAgICAgXCJTdW1tYXJpemUgUmV2aWV3c1wiLFxuICAgICAgICAgIFwiV2hhdCBtYWtlcyB0aGlzIHNvIHZlcnNhdGlsZT9cIixcbiAgICAgICAgICBcIldoeSBhcmUgc2hvcHBlcnMgb2JzZXNzZWQgd2l0aCB0aGlzP1wiLFxuICAgICAgICBdLFxuICAgICAgICBwcm9kdWN0U3BlY2lmaWM6IHtcbiAgICAgICAgICAvLyBIYWlsZXlcbiAgICAgICAgICBcImhhaWxleS1zaWRlLXNsb3QtbGVhdGhlci1jcm9zc2JvZHktYmFuZG9saWVyLWJsYWNrLWdvbGRcIjogW1xuICAgICAgICAgICAgXCJTdW1tYXJpemUgdGhlIHJldmlld3NcIixcbiAgICAgICAgICAgIFwiV2h5IGlzIHRoaXMgeW91ciBiZXN0IHNlbGxlcj9cIixcbiAgICAgICAgICAgIFwiQ2FuIHlvdSB1c2UgdGhpcyBjYXNlIHdpdGhvdXQgYSBzdHJhcD9cIixcbiAgICAgICAgICAgIFwiSG93IG1hbnkgY2FyZHMgZml0IGluIHRoZSB3YWxsZXQ/XCIsXG4gICAgICAgICAgICBcIldoYXQgbWFrZXMgdGhpcyBzbyB2ZXJzYXRpbGU/XCIsXG4gICAgICAgICAgXSxcbiAgICAgICAgICAvLyBNaWxhXG4gICAgICAgICAgXCJtaWxhLW1hZ3NhZmUtY2hhcmdpbmctY3Jvc3Nib2R5LWJhbmRvbGllci1ibGFjay1nb2xkXCI6IFtcbiAgICAgICAgICAgIFwiU3VtbWFyaXplIHRoZSByZXZpZXdzXCIsXG4gICAgICAgICAgICBcIklzIHRoaXMgTWFnU2FmZSBDb21wYXRpYmxlP1wiLFxuICAgICAgICAgICAgXCJEb2VzIHRoZSB3YWxsZXQgY29tZSBvZmY/XCIsXG4gICAgICAgICAgICBcIldoeSBpcyB0aGlzIHlvdXIgYmVzdCBzZWxsZXI/XCIsXG4gICAgICAgICAgICBcIkNhbiB5b3UgdXNlIHRoaXMgY2FzZSB3aXRob3V0IGEgc3RyYXA/XCIsXG4gICAgICAgICAgICBcIkhvdyBtYW55IGNhcmRzIGZpdCBpbiB0aGUgd2FsbGV0P1wiLFxuICAgICAgICAgIF0sXG4gICAgICAgICAgLy8gUmVtaVxuICAgICAgICAgIFwicmVtaS1tYWduZXQtd2FsbGV0LWNyb3NzYm9keS1waG9uZS1jYXNlLWJsYWNrLWdvbGRcIjogW1xuICAgICAgICAgICAgXCJTdW1tYXJpemUgdGhlIHJldmlld3NcIixcbiAgICAgICAgICAgIFwiSXMgdGhpcyBNYWdTYWZlIENvbXBhdGlibGU/XCIsXG4gICAgICAgICAgICBcIklzIHRoZSB3YWxsZXQgcmVtb3ZhYmxlP1wiLFxuICAgICAgICAgICAgXCJXaHkgaXMgdGhpcyB5b3VyIGJlc3Qgc2VsbGVyP1wiLFxuICAgICAgICAgICAgXCJDYW4geW91IHVzZSB0aGlzIGNhc2Ugd2l0aG91dCBhIHN0cmFwP1wiLFxuICAgICAgICAgICAgXCJIb3cgbWFueSBjYXJkcyBmaXQgaW4gdGhlIHdhbGxldD9cIixcbiAgICAgICAgICBdLFxuICAgICAgICAgIC8vIExpbHlcbiAgICAgICAgICBcImxpbHktc2V0LWJhbmRvbGllci1ibGFjay1nb2xkXCI6IFtcbiAgICAgICAgICAgIFwiU3VtbWFyaXplIHRoZSByZXZpZXdzXCIsXG4gICAgICAgICAgICBcIldoeSBpcyB0aGlzIHlvdXIgYmVzdCBzZWxsZXI/XCIsXG4gICAgICAgICAgICBcIkNhbiB5b3UgdXNlIHRoaXMgY2FzZSB3aXRob3V0IGEgc3RyYXA/XCIsXG4gICAgICAgICAgICBcIkhvdyBtYW55IGNhcmRzIGZpdCBpbiB0aGUgd2FsbGV0P1wiLFxuICAgICAgICAgIF0sXG4gICAgICAgIH0sXG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyxcbiAgICB0b3BTdWdnZXN0aW9uc0JhclBvdWNoZXM6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyUG91Y2hlc1wiLFxuICAgICAgY29udGVudElkOiBcInNwaWZmeS10b3Atc3VnZ2VzdGlvbi1iYXItY29udGVudHNcIixcbiAgICAgIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24uVE9QX1JFVklFV1NfU05JUFBFVCxcbiAgICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzLlNVR0dFU1RJT05fQkFSX1RPUCxcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU3VnZ2VzdGlvbkJhclYyLFxuICAgICAgdmFyaWFudDogXCJzZWNvbmRhcnlcIixcbiAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlBY2NlbnRcIixcbiAgICAgIGJ1dHRvbkJvcmRlclJhZGl1czogXCJzbVwiLFxuICAgICAgYW5pbWF0aW9uU3BlZWQ6IFwic3RhbmRhcmRcIixcbiAgICAgIGJ1dHRvblRleHRzOiB7XG4gICAgICAgIGRlZmF1bHQ6IFtcbiAgICAgICAgICBcIkhvdyB3aWxsIHRoaXMgd29yayB3aXRoIG15IGJhbmRvbGllciBjYXNlP1wiLFxuICAgICAgICAgIFwiQ2FuIEkgYXR0YWNoIGEgQmFuZG9saWVyIHN0cmFwIHRvIHRoaXMgcG91Y2g/XCIsXG4gICAgICAgICAgXCJEb2VzIGl0IGhhdmUgaW50ZXJpb3IgcG9ja2V0cz9cIixcbiAgICAgICAgICBcIklzIGl0IG1hZGUgb2YgcmVhbCBsZWF0aGVyP1wiLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcsXG4gICAgdG9wU3VnZ2VzdGlvbnNCYXJCYWdzOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uc0JhckJhZ3NcIixcbiAgICAgIGNvbnRlbnRJZDogXCJzcGlmZnktdG9wLXN1Z2dlc3Rpb24tYmFyLWNvbnRlbnRzXCIsXG4gICAgICBtZXRyaWNEaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uLlRPUF9SRVZJRVdTX1NOSVBQRVQsXG4gICAgICBsb2NhdGlvbjogU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcy5TVUdHRVNUSU9OX0JBUl9UT1AsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLlN1Z2dlc3Rpb25CYXJWMixcbiAgICAgIHZhcmlhbnQ6IFwic2Vjb25kYXJ5XCIsXG4gICAgICBob3ZlclZhcmlhbnQ6IFwic2Vjb25kYXJ5QWNjZW50XCIsXG4gICAgICBidXR0b25Cb3JkZXJSYWRpdXM6IFwic21cIixcbiAgICAgIGFuaW1hdGlvblNwZWVkOiBcInN0YW5kYXJkXCIsXG4gICAgICBidXR0b25UZXh0czoge1xuICAgICAgICBkZWZhdWx0OiBbXG4gICAgICAgICAgXCJBcmUgdGhlIGJhZ3MgZGVzaWduZWQgdG8gaG9sZCBwaG9uZXM/XCIsXG4gICAgICAgICAgXCJDYW4gSSBhdHRhY2ggYSBCYW5kb2xpZXIgc3RyYXAgdG8gdGhpcyBiYWc/XCIsXG4gICAgICAgICAgXCJEb2VzIGl0IGhhdmUgaW50ZXJpb3IgcG9ja2V0cz9cIixcbiAgICAgICAgICBcIklzIGl0IG1hZGUgb2YgcmVhbCBsZWF0aGVyP1wiLFxuICAgICAgICAgIFwiQ2FuIHRoZSBzdHJhcCBiZSByZW1vdmVkP1wiLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcsXG4gICAgY2hhdFByZXZpZXdQRFA6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLkNoYXRQcmV2aWV3LFxuICAgICAgdmFyaWFudDogXCJmaWxsZWRcIixcbiAgICAgIGFkZFNlcGFyYXRvcnM6IGZhbHNlLFxuICAgIH0gc2F0aXNmaWVzIENoYXRQcmV2aWV3V2lkZ2V0Q29uZmlnLFxuXG4gICAgYm90dG9tU3VnZ2VzdGlvbnNCYXI6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25zQmFyXCIsXG4gICAgICBjb250ZW50SWQ6IFwic3BpZmZ5LWJvdHRvbS1zdWdnZXN0aW9uLWJhci1jb250ZW50c1wiLFxuICAgICAgbWV0cmljRGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbi5CT1RUT01fUkVWSUVXU19TTklQUEVULFxuICAgICAgbG9jYXRpb246IFN1Z2dlc3Rpb25CYXJMb2NhdGlvbkZvck1ldHJpY3MuU1VHR0VTVElPTl9CQVJfQk9UVE9NLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjIsXG4gICAgICB2YXJpYW50OiBcImRhcmtBY2NlbnRcIixcbiAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlBY2NlbnRcIixcbiAgICAgIGJ1dHRvbkJvcmRlclJhZGl1czogXCJzbVwiLFxuICAgICAgYW5pbWF0aW9uU3BlZWQ6IFwibm9uZVwiLFxuICAgICAgdHdvUm93c09uTW9iaWxlOiB0cnVlLFxuICAgICAgYnV0dG9uVGV4dHM6IHtcbiAgICAgICAgZGVmYXVsdDogW1xuICAgICAgICAgIFwiRG9lcyB0aGlzIGZpdCBteSBkZXZpY2UgbW9kZWw/XCIsXG4gICAgICAgICAgXCJJcyB0aGlzIGFkanVzdGFibGU/XCIsXG4gICAgICAgICAgXCJXaHkgY2hvb3NlIHRoaXMgb3ZlciBhIGJ1bGt5IGJhZz9cIixcbiAgICAgICAgICBcIldoYXQgZG8gcmV2aWV3ZXJzIGxvdmUgbW9zdD9cIixcbiAgICAgICAgICBcIkNhbiBJIHVzZSB0aGlzIGV2ZXJ5IGRheT9cIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLFxuICAgIGdsb2JhbFNlYXJjaEVudHJ5UG9pbnRNb2JpbGU6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcImdsb2JhbFNlYXJjaEVudHJ5UG9pbnRNb2JpbGVcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU2VhcmNoWmVyb1N0YXRlRW50cnlQb2ludCxcbiAgICAgIHNlYXJjaFplcm9TdGF0ZVZhcmlhbnQ6IFwiYmFja2dyb3VuZFRlcnRpYXJ5XCIsXG4gICAgICBzZWFyY2hJbnB1dFZhcmlhbnQ6IFwic3RhbmRhcmRcIixcbiAgICAgIHN1Z2dlc3Rpb25CdXR0b25Db25maWc6IHtcbiAgICAgICAgdmFyaWFudDogXCJkYXJrQWNjZW50XCIsXG4gICAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlBY2NlbnRcIixcbiAgICAgICAgYm9yZGVyUmFkaXVzOiBcInNtXCIsXG4gICAgICB9LFxuICAgICAgbGF5b3V0OiBcImlucHV0XCIsXG4gICAgICBzZWFyY2hCb3hQbGFjZWhvbGRlcjogXCJXaGF0IGNhbiBJIGhlbHAgeW91IGZpbmQ/XCIsXG4gICAgICBpbml0aWFsU3VnZ2VzdGlvbnM6IFtcbiAgICAgICAgXCJNYWdTYWZlIGNvbXBhdGlibGUgY2FzZXNcIixcbiAgICAgICAgXCJNb3N0IHBvcHVsYXIgc3R5bGVzXCIsXG4gICAgICAgIFwiUmVtaSByZW1vdmFibGUgd2FsbGV0XCIsXG4gICAgICAgIFwiTWl4IGFuZCBtYXRjaCBzdHJhcHMgYW5kIHdyaXN0bGV0c1wiLFxuICAgICAgICBcIkFkZC1vbiBwb3VjaGVzXCIsXG4gICAgICAgIFwiQmVzdCBwaG9uZSBjYXNlcyBmb3IgdHJhdmVsXCIsXG4gICAgICBdLFxuICAgICAgdXNpbmdQb3J0YWw6IHRydWUsXG4gICAgfSBzYXRpc2ZpZXMgU2VhcmNoRW50cnlQb2ludFdpZGdldENvbmZpZyxcbiAgICBnbG9iYWxTZWFyY2hFbnRyeVBvaW50TW9iaWxlU2VhcmNoSWNvbjoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE1vYmlsZVNlYXJjaEljb25cIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU2VhcmNoWmVyb1N0YXRlRW50cnlQb2ludCxcbiAgICAgIHNlYXJjaFplcm9TdGF0ZVZhcmlhbnQ6IFwiYmFja2dyb3VuZFRlcnRpYXJ5XCIsXG4gICAgICBzZWFyY2hJbnB1dFZhcmlhbnQ6IFwic3RhbmRhcmRcIixcbiAgICAgIHN1Z2dlc3Rpb25CdXR0b25Db25maWc6IHtcbiAgICAgICAgdmFyaWFudDogXCJkYXJrQWNjZW50XCIsXG4gICAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlBY2NlbnRcIixcbiAgICAgICAgYm9yZGVyUmFkaXVzOiBcInNtXCIsXG4gICAgICB9LFxuICAgICAgbGF5b3V0OiBcImljb25cIixcbiAgICAgIHNlYXJjaEljb25WYXJpYW50OiBcInRoaW5cIixcbiAgICAgIHNlYXJjaEljb25TaXplOiAyNCxcbiAgICAgIHNlYXJjaEJveFBsYWNlaG9sZGVyOiBcIldoYXQgY2FuIEkgaGVscCB5b3UgZmluZD9cIixcbiAgICAgIGluaXRpYWxTdWdnZXN0aW9uczogW1xuICAgICAgICBcIk1hZ1NhZmUgY29tcGF0aWJsZSBjYXNlc1wiLFxuICAgICAgICBcIk1vc3QgcG9wdWxhciBzdHlsZXNcIixcbiAgICAgICAgXCJSZW1pIHJlbW92YWJsZSB3YWxsZXRcIixcbiAgICAgICAgXCJNaXggYW5kIG1hdGNoIHN0cmFwcyBhbmQgd3Jpc3RsZXRzXCIsXG4gICAgICAgIFwiQWRkLW9uIHBvdWNoZXNcIixcbiAgICAgICAgXCJCZXN0IHBob25lIGNhc2VzIGZvciB0cmF2ZWxcIixcbiAgICAgIF0sXG4gICAgICB1c2luZ1BvcnRhbDogdHJ1ZSxcbiAgICB9IHNhdGlzZmllcyBTZWFyY2hFbnRyeVBvaW50V2lkZ2V0Q29uZmlnLFxuICAgIGdsb2JhbFNlYXJjaEVudHJ5UG9pbnREZXNrdG9wOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50RGVza3RvcFwiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50LFxuICAgICAgc2VhcmNoWmVyb1N0YXRlVmFyaWFudDogXCJiYWNrZ3JvdW5kVGVydGlhcnlcIixcbiAgICAgIHNlYXJjaElucHV0VmFyaWFudDogXCJzdGFuZGFyZFwiLFxuICAgICAgc3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZzoge1xuICAgICAgICB2YXJpYW50OiBcImRhcmtBY2NlbnRcIixcbiAgICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeUFjY2VudFwiLFxuICAgICAgICBib3JkZXJSYWRpdXM6IFwic21cIixcbiAgICAgIH0sXG4gICAgICBsYXlvdXQ6IFwiaWNvblwiLFxuICAgICAgc2VhcmNoSWNvblZhcmlhbnQ6IFwidGhpblwiLFxuICAgICAgc2VhcmNoSWNvblNpemU6IDIyLFxuICAgICAgc2VhcmNoQm94UGxhY2Vob2xkZXI6IFwiV2hhdCBjYW4gSSBoZWxwIHlvdSBmaW5kP1wiLFxuICAgICAgaW5pdGlhbFN1Z2dlc3Rpb25zOiBbXG4gICAgICAgIFwiTWFnU2FmZSBjb21wYXRpYmxlIGNhc2VzXCIsXG4gICAgICAgIFwiTW9zdCBwb3B1bGFyIHN0eWxlc1wiLFxuICAgICAgICBcIlJlbWkgcmVtb3ZhYmxlIHdhbGxldFwiLFxuICAgICAgICBcIk1peCBhbmQgbWF0Y2ggc3RyYXBzIGFuZCB3cmlzdGxldHNcIixcbiAgICAgICAgXCJBZGQtb24gcG91Y2hlc1wiLFxuICAgICAgICBcIkJlc3QgcGhvbmUgY2FzZXMgZm9yIHRyYXZlbFwiLFxuICAgICAgXSxcbiAgICAgIHVzaW5nUG9ydGFsOiB0cnVlLFxuICAgIH0gc2F0aXNmaWVzIFNlYXJjaEVudHJ5UG9pbnRXaWRnZXRDb25maWcsXG4gICAgZ2xvYmFsU2VhcmNoRW50cnlQb2ludERlc2t0b3BIb21lcGFnZToge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludERlc2t0b3BIb21lcGFnZVwiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50LFxuICAgICAgc2VhcmNoWmVyb1N0YXRlVmFyaWFudDogXCJiYWNrZ3JvdW5kVGVydGlhcnlcIixcbiAgICAgIHNlYXJjaElucHV0VmFyaWFudDogXCJzdGFuZGFyZFwiLFxuICAgICAgc3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZzoge1xuICAgICAgICB2YXJpYW50OiBcImRhcmtBY2NlbnRcIixcbiAgICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeUFjY2VudFwiLFxuICAgICAgICBib3JkZXJSYWRpdXM6IFwic21cIixcbiAgICAgIH0sXG4gICAgICBsYXlvdXQ6IFwiaWNvblwiLFxuICAgICAgc2VhcmNoSWNvblZhcmlhbnQ6IFwidGhpblwiLFxuICAgICAgc2VhcmNoSWNvblNpemU6IDIyLFxuICAgICAgc2VhcmNoQm94UGxhY2Vob2xkZXI6IFwiV2hhdCBjYW4gSSBoZWxwIHlvdSBmaW5kP1wiLFxuICAgICAgaW5pdGlhbFN1Z2dlc3Rpb25zOiBbXG4gICAgICAgIFwiTWFnU2FmZSBjb21wYXRpYmxlIGNhc2VzXCIsXG4gICAgICAgIFwiTW9zdCBwb3B1bGFyIHN0eWxlc1wiLFxuICAgICAgICBcIlJlbWkgcmVtb3ZhYmxlIHdhbGxldFwiLFxuICAgICAgICBcIk1peCBhbmQgbWF0Y2ggc3RyYXBzIGFuZCB3cmlzdGxldHNcIixcbiAgICAgICAgXCJBZGQtb24gcG91Y2hlc1wiLFxuICAgICAgICBcIkJlc3QgcGhvbmUgY2FzZXMgZm9yIHRyYXZlbFwiLFxuICAgICAgXSxcbiAgICAgIHVzaW5nUG9ydGFsOiB0cnVlLFxuICAgIH0gc2F0aXNmaWVzIFNlYXJjaEVudHJ5UG9pbnRXaWRnZXRDb25maWcsXG4gICAgZ2xvYmFsU2VhcmNoRW50cnlQb2ludFNtYWxsRGVza3RvcEhvbWVwYWdlOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJnbG9iYWxTZWFyY2hFbnRyeVBvaW50U21hbGxEZXNrdG9wSG9tZXBhZ2VcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU2VhcmNoWmVyb1N0YXRlRW50cnlQb2ludCxcbiAgICAgIHNlYXJjaFplcm9TdGF0ZVZhcmlhbnQ6IFwiYmFja2dyb3VuZFRlcnRpYXJ5XCIsXG4gICAgICBzZWFyY2hJbnB1dFZhcmlhbnQ6IFwic3RhbmRhcmRcIixcbiAgICAgIHN1Z2dlc3Rpb25CdXR0b25Db25maWc6IHtcbiAgICAgICAgdmFyaWFudDogXCJkYXJrQWNjZW50XCIsXG4gICAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlBY2NlbnRcIixcbiAgICAgICAgYm9yZGVyUmFkaXVzOiBcInNtXCIsXG4gICAgICB9LFxuICAgICAgbGF5b3V0OiBcImljb25cIixcbiAgICAgIHNlYXJjaEljb25WYXJpYW50OiBcInRoaW5cIixcbiAgICAgIHNlYXJjaEljb25TaXplOiAyMixcbiAgICAgIHNlYXJjaEJveFBsYWNlaG9sZGVyOiBcIldoYXQgY2FuIEkgaGVscCB5b3UgZmluZD9cIixcbiAgICAgIGluaXRpYWxTdWdnZXN0aW9uczogW1xuICAgICAgICBcIk1hZ1NhZmUgY29tcGF0aWJsZSBjYXNlc1wiLFxuICAgICAgICBcIk1vc3QgcG9wdWxhciBzdHlsZXNcIixcbiAgICAgICAgXCJSZW1pIHJlbW92YWJsZSB3YWxsZXRcIixcbiAgICAgICAgXCJNaXggYW5kIG1hdGNoIHN0cmFwcyBhbmQgd3Jpc3RsZXRzXCIsXG4gICAgICAgIFwiQWRkLW9uIHBvdWNoZXNcIixcbiAgICAgICAgXCJCZXN0IHBob25lIGNhc2VzIGZvciB0cmF2ZWxcIixcbiAgICAgIF0sXG4gICAgICB1c2luZ1BvcnRhbDogdHJ1ZSxcbiAgICB9IHNhdGlzZmllcyBTZWFyY2hFbnRyeVBvaW50V2lkZ2V0Q29uZmlnLFxuICAgIGdsb2JhbFNlYXJjaEVudHJ5UG9pbnRPbmx5SWNvbk1vYmlsZToge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiZ2xvYmFsU2VhcmNoRW50cnlQb2ludE9ubHlJY29uTW9iaWxlXCIsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLlNlYXJjaFplcm9TdGF0ZUVudHJ5UG9pbnQsXG4gICAgICBzZWFyY2haZXJvU3RhdGVWYXJpYW50OiBcImJhY2tncm91bmRUZXJ0aWFyeVwiLFxuICAgICAgc2VhcmNoSW5wdXRWYXJpYW50OiBcInN0YW5kYXJkXCIsXG4gICAgICBzdWdnZXN0aW9uQnV0dG9uQ29uZmlnOiB7XG4gICAgICAgIHZhcmlhbnQ6IFwiZGFya0FjY2VudFwiLFxuICAgICAgICBob3ZlclZhcmlhbnQ6IFwic2Vjb25kYXJ5QWNjZW50XCIsXG4gICAgICAgIGJvcmRlclJhZGl1czogXCJzbVwiLFxuICAgICAgfSxcbiAgICAgIGxheW91dDogXCJpY29uXCIsXG4gICAgICBzZWFyY2hJY29uVmFyaWFudDogXCJ0aGluXCIsXG4gICAgICBzZWFyY2hJY29uU2l6ZTogMjYsXG4gICAgICBzZWFyY2hCb3hQbGFjZWhvbGRlcjogXCJXaGF0IGNhbiBJIGhlbHAgeW91IGZpbmQ/XCIsXG4gICAgICBpbml0aWFsU3VnZ2VzdGlvbnM6IFtcbiAgICAgICAgXCJNYWdTYWZlIGNvbXBhdGlibGUgY2FzZXNcIixcbiAgICAgICAgXCJNb3N0IHBvcHVsYXIgc3R5bGVzXCIsXG4gICAgICAgIFwiUmVtaSByZW1vdmFibGUgd2FsbGV0XCIsXG4gICAgICAgIFwiTWl4IGFuZCBtYXRjaCBzdHJhcHMgYW5kIHdyaXN0bGV0c1wiLFxuICAgICAgICBcIkFkZC1vbiBwb3VjaGVzXCIsXG4gICAgICAgIFwiQmVzdCBwaG9uZSBjYXNlcyBmb3IgdHJhdmVsXCIsXG4gICAgICBdLFxuICAgICAgdXNpbmdQb3J0YWw6IHRydWUsXG4gICAgfSBzYXRpc2ZpZXMgU2VhcmNoRW50cnlQb2ludFdpZGdldENvbmZpZyxcbiAgICBzZWFyY2hSZXN1bHRzRW50cnlQb2ludDoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwic2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnQsXG4gICAgICBzZWFyY2hCb3hQbGFjZWhvbGRlcjogXCJXaGF0IGNhbiBJIGhlbHAgeW91IGZpbmQ/XCIsXG4gICAgICBzZWFyY2hJbnB1dFZhcmlhbnQ6IFwic3RhbmRhcmRcIixcbiAgICAgIHNlYXJjaEZpbHRlclNpZGViYXJWYXJpYW50OiBcImRhcmtCdXR0b25cIixcbiAgICAgIHByb2R1Y3RHcmlkVmFyaWFudDogXCJzcXVhcmVcIixcbiAgICB9IHNhdGlzZmllcyBTZWFyY2hSZXN1bHRzRW50cnlQb2ludFdpZGdldENvbmZpZyxcbiAgICBzZWFyY2hPdmVybGF5SG9zdDoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwic2VhcmNoT3ZlcmxheUhvc3RcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU2VhcmNoT3ZlcmxheUhvc3QsXG4gICAgfSBzYXRpc2ZpZXMgU2VhcmNoT3ZlcmxheUhvc3RXaWRnZXRDb25maWcsXG4gIH0sXG59KTtcblxuY29uc3QgYmFuZG9saWVyT3JnSW5mbyA9IHtcbiAgc2hvcnROYW1lOiBPcmdTaG9ydE5hbWUuQmFuZG9saWVyLFxuICBuYW1lOiBcIkJhbmRvbGllclwiLFxuICBkb21haW46IFwiYmFuZG9saWVyc3R5bGUuY29tXCIsXG4gIGRlZmF1bHRQcm9kdWN0SWQ6XG4gICAgXCJsaWx5LXNpZGUtc2xvdC1sZWF0aGVyLWNyb3NzYm9keS1iYW5kb2xpZXItY2VjaS1pdm9yeS1mbG9yYWwtZ29sZFwiLFxuICBhbHdheXNFbmFibGVkTWVyY2hhbnRzOiB0cnVlLFxuICBvcmdVSUNvbmZpZzogYmFuZG9saWVyT3JnVUlDb25maWcsXG4gIG9yZ0NvbG9yczogKCkgPT4gYmFuZG9saWVyQ29sb3JzLFxuICBvcmdQYWdlQ29uZmlnOiBiYW5kb2xpZXJQYWdlQ29uZmlnLFxufSBzYXRpc2ZpZXMgQmFzaWNPcmdJbmZvVHlwZTtcblxuZXhwb3J0IHsgYmFuZG9saWVyT3JnSW5mbyB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7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