@envive-ai/react-hooks 0.1.2 → 0.1.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (411) hide show
  1. package/dist/adapters/amplitude/index.cjs +8 -8
  2. package/dist/adapters/amplitude/index.d.cts +5 -3
  3. package/dist/adapters/amplitude/index.d.ts +5 -3
  4. package/dist/adapters/amplitude/index.js +5 -5
  5. package/dist/api-B2euFL-5.cjs +2 -1
  6. package/dist/api-XRr_lAG6.js +2 -1
  7. package/dist/application/config/index.cjs +14 -5
  8. package/dist/application/config/index.d.cts +2 -1
  9. package/dist/application/config/index.d.ts +2 -1
  10. package/dist/application/config/index.js +14 -5
  11. package/dist/application/models/graphql/index.cjs +7 -7
  12. package/dist/application/models/graphql/index.d.cts +1 -1
  13. package/dist/application/models/graphql/index.d.ts +1 -1
  14. package/dist/application/models/graphql/index.js +5 -5
  15. package/dist/application/models/guards/api/index.d.cts +2 -2
  16. package/dist/application/models/guards/api/index.d.ts +2 -2
  17. package/dist/application/models/index.cjs +49 -49
  18. package/dist/application/models/index.d.cts +8 -9
  19. package/dist/application/models/index.d.ts +8 -9
  20. package/dist/application/models/index.js +5 -5
  21. package/dist/application/models/utilityTypes/index.d.cts +1 -1
  22. package/dist/application/models/utilityTypes/index.d.ts +1 -1
  23. package/dist/application/models/variantInfo/index.d.cts +1 -1
  24. package/dist/application/models/variantInfo/index.d.ts +1 -1
  25. package/dist/application/service/customerService/index.cjs +1 -1
  26. package/dist/application/service/customerService/index.d.cts +2 -2
  27. package/dist/application/service/customerService/index.d.ts +2 -2
  28. package/dist/application/service/customerService/index.js +1 -1
  29. package/dist/application/service/index.cjs +30 -750
  30. package/dist/application/service/index.d.cts +14 -22
  31. package/dist/application/service/index.d.ts +14 -22
  32. package/dist/application/service/index.js +7 -722
  33. package/dist/application/utils/index.cjs +32 -32
  34. package/dist/application/utils/index.d.cts +13 -13
  35. package/dist/application/utils/index.d.ts +11 -11
  36. package/dist/application/utils/index.js +5 -5
  37. package/dist/atomStore-B1cgmbP0.js +32 -0
  38. package/dist/atomStore-JwGb7pcy.cjs +58 -0
  39. package/dist/atoms/app/index.cjs +11 -11
  40. package/dist/atoms/app/index.d.cts +11 -11
  41. package/dist/atoms/app/index.d.ts +11 -11
  42. package/dist/atoms/app/index.js +5 -5
  43. package/dist/atoms/atomStore/index.cjs +1 -2
  44. package/dist/atoms/atomStore/index.d.cts +2 -1
  45. package/dist/atoms/atomStore/index.d.ts +2 -1
  46. package/dist/atoms/atomStore/index.js +1 -2
  47. package/dist/atoms/chat/index.cjs +35 -35
  48. package/dist/atoms/chat/index.d.cts +37 -37
  49. package/dist/atoms/chat/index.d.ts +10 -10
  50. package/dist/atoms/chat/index.js +5 -5
  51. package/dist/atoms/globalSearch/index.cjs +1 -1
  52. package/dist/atoms/globalSearch/index.d.cts +7 -6
  53. package/dist/atoms/globalSearch/index.d.ts +7 -6
  54. package/dist/atoms/globalSearch/index.js +1 -1
  55. package/dist/atoms/org/index.cjs +32 -35
  56. package/dist/atoms/org/index.d.cts +32 -53
  57. package/dist/atoms/org/index.d.ts +31 -52
  58. package/dist/atoms/org/index.js +6 -7
  59. package/dist/atoms/search/index.cjs +36 -38
  60. package/dist/atoms/search/index.d.cts +9 -10
  61. package/dist/atoms/search/index.d.ts +9 -10
  62. package/dist/atoms/search/index.js +5 -7
  63. package/dist/bandolier-B76-OE75.cjs +1230 -0
  64. package/dist/bandolier-DRn_x1g1.js +1230 -0
  65. package/dist/carpe-kHi4RLB5.cjs +608 -0
  66. package/dist/carpe-qrSU99gq.js +606 -0
  67. package/dist/{chat-CCgyDehy.cjs → chat-BgONoYU7.cjs} +2 -1
  68. package/dist/chat-CLJ4NWcN.js +26 -0
  69. package/dist/{components-CScS7Ii-.cjs → components-BKZbet67.cjs} +2 -1
  70. package/dist/components-CV1fhAkj.js +11 -0
  71. package/dist/config/locators/components/chat/index.cjs +1 -1
  72. package/dist/config/locators/components/chat/index.d.cts +1 -1
  73. package/dist/config/locators/components/chat/index.d.ts +1 -1
  74. package/dist/config/locators/components/chat/index.js +1 -1
  75. package/dist/config/locators/components/chat/variants/index.cjs +2 -1
  76. package/dist/config/locators/components/chat/variants/index.d.cts +2 -1
  77. package/dist/config/locators/components/chat/variants/index.d.ts +2 -1
  78. package/dist/config/locators/components/chat/variants/index.js +2 -1
  79. package/dist/config/locators/components/index.cjs +1 -1
  80. package/dist/config/locators/components/index.d.cts +1 -1
  81. package/dist/config/locators/components/index.d.ts +1 -1
  82. package/dist/config/locators/components/index.js +1 -1
  83. package/dist/config/locators/components/search/index.cjs +2 -1
  84. package/dist/config/locators/components/search/index.d.cts +2 -1
  85. package/dist/config/locators/components/search/index.d.ts +2 -1
  86. package/dist/config/locators/components/search/index.js +2 -1
  87. package/dist/config/locators/index.cjs +4 -4
  88. package/dist/config/locators/index.d.cts +4 -3
  89. package/dist/config/locators/index.d.ts +4 -3
  90. package/dist/config/locators/index.js +4 -4
  91. package/dist/contexts/index.cjs +10 -13
  92. package/dist/contexts/index.d.cts +41 -22
  93. package/dist/contexts/index.d.ts +41 -22
  94. package/dist/contexts/index.js +6 -12
  95. package/dist/contexts-CQDwe3rK.cjs +14333 -0
  96. package/dist/contexts-e2sM-B9g.js +12919 -0
  97. package/dist/coterie-mMirPcHP.js +240 -0
  98. package/dist/coterie-yQ-_JXSw.cjs +240 -0
  99. package/dist/customerService-BG1uNZZ1.cjs +36 -0
  100. package/dist/customerService-BHQRnLhC.js +23 -0
  101. package/dist/custservice-types-C83itZmy.cjs +35 -0
  102. package/dist/custservice-types-DPQ-4TI6.js +23 -0
  103. package/dist/default-8Jfv8ehQ.cjs +199 -0
  104. package/dist/default-C8PQf-38.js +176 -0
  105. package/dist/default-LukSiCz1.js +4 -0
  106. package/dist/default-rJSJ887P.cjs +4 -0
  107. package/dist/divIds-CWkntTsx.js +23 -0
  108. package/dist/{divIds-CFyAjjp3.cjs → divIds-DEL_-qU0.cjs} +2 -1
  109. package/dist/dreamlandBaby-DHltv12Z.cjs +347 -0
  110. package/dist/dreamlandBaby-cG0HM9bt.js +347 -0
  111. package/dist/{embedded-BlXJUbik.cjs → embedded--2L0F4b5.cjs} +2 -1
  112. package/dist/embedded-C5uJqmuD.js +23 -0
  113. package/dist/entrypoints-CNUvSgnk.js +7 -0
  114. package/dist/entrypoints-DM9Sm18O.cjs +19 -0
  115. package/dist/events/index.d.cts +2 -1
  116. package/dist/events/index.d.ts +2 -1
  117. package/dist/events-ClCDFK7t.js +2 -1
  118. package/dist/events-Da7gpmGv.cjs +2 -1
  119. package/dist/featureFlagService-5wdmW02z.d.ts +18 -0
  120. package/dist/featureFlagService-DaelrXEk.d.cts +18 -0
  121. package/dist/fiveCbd-Cvnwh03g.cjs +614 -0
  122. package/dist/fiveCbd-DhYMlsf9.js +614 -0
  123. package/dist/forLoveAndLemons-C8DuUexW.js +666 -0
  124. package/dist/forLoveAndLemons-DR6a1zjJ.cjs +668 -0
  125. package/dist/{globalSearch-hxbXekus.cjs → globalSearch-BTeZxvk1.cjs} +2 -1
  126. package/dist/globalSearch-b0wC7ZEO.js +14 -0
  127. package/dist/greenpan-B4Pu65kV.js +398 -0
  128. package/dist/greenpan-BL5p6j7f.cjs +398 -0
  129. package/dist/grooveLife-DjKWHoN3.cjs +343 -0
  130. package/dist/grooveLife-JK0TyaPz.js +343 -0
  131. package/dist/homegrownCannabis-DxqSDkmS.js +411 -0
  132. package/dist/homegrownCannabis-ZnfCqW-m.cjs +411 -0
  133. package/dist/hooks/index.cjs +11 -11
  134. package/dist/hooks/index.d.cts +30 -21
  135. package/dist/hooks/index.d.ts +30 -21
  136. package/dist/hooks/index.js +6 -12
  137. package/dist/index-BTK5uzs6.d.cts +98 -0
  138. package/dist/index-BfuO9b0Q.d.ts +749 -0
  139. package/dist/index-BzgkfbNO.d.cts +228 -0
  140. package/dist/index-C62lPpy4.d.cts +25 -0
  141. package/dist/index-CExtydIH.d.ts +9 -0
  142. package/dist/index-CKKkTsms.d.ts +39 -0
  143. package/dist/index-CNsGWfS6.d.cts +749 -0
  144. package/dist/index-CYtsPztZ.d.cts +203 -0
  145. package/dist/index-C_C0tLeD.d.ts +203 -0
  146. package/dist/index-ClJ0nMsR.d.cts +184 -0
  147. package/dist/index-Cx9e-fRi.d.ts +184 -0
  148. package/dist/index-D2VaMPA3.d.ts +98 -0
  149. package/dist/index-D46Rd0io.d.cts +39 -0
  150. package/dist/index-DFL1dIT_.d.ts +7 -0
  151. package/dist/index-DPx8s5YH.d.ts +25 -0
  152. package/dist/index-Dxpscrvz.d.ts +228 -0
  153. package/dist/index-MFbPQ8Ji.d.ts +95 -0
  154. package/dist/index-VSFakgAI.d.cts +95 -0
  155. package/dist/index-jBATkcc_.d.cts +9 -0
  156. package/dist/index-zZjcds15.d.cts +7 -0
  157. package/dist/interceptors/index.cjs +7 -8
  158. package/dist/interceptors/index.d.cts +10 -10
  159. package/dist/interceptors/index.d.ts +10 -10
  160. package/dist/interceptors/index.js +5 -6
  161. package/dist/jackArcher-CXf_IAmC.js +728 -0
  162. package/dist/jackArcher-mGkojXek.cjs +728 -0
  163. package/dist/jordanCraig-BvCvPRoR.js +1787 -0
  164. package/dist/jordanCraig-Dv8pVCiS.cjs +1787 -0
  165. package/dist/kindredBravely-UQP7wiNu.cjs +491 -0
  166. package/dist/kindredBravely-X8F_LNph.js +491 -0
  167. package/dist/kutFromTheKloth-BhYKk3CN.cjs +370 -0
  168. package/dist/kutFromTheKloth-D1xsTSJr.js +370 -0
  169. package/dist/larryAndSerges-1411NuZa.cjs +262 -0
  170. package/dist/larryAndSerges-DVIRLItu.js +262 -0
  171. package/dist/leapsAndRebounds-BJ8mwr33.js +361 -0
  172. package/dist/leapsAndRebounds-UcP9EJVO.cjs +361 -0
  173. package/dist/logger-Dln20ans.cjs +2 -1
  174. package/dist/logger-pdEEY8T2.js +2 -1
  175. package/dist/longevityrx-BFSv9GF5.cjs +321 -0
  176. package/dist/longevityrx-Cp6wleWr.js +321 -0
  177. package/dist/lookOptic-BGhU4910.js +283 -0
  178. package/dist/lookOptic-KieSqskd.cjs +283 -0
  179. package/dist/mantraBrand-CHQw-0nw.cjs +751 -0
  180. package/dist/mantraBrand-DrqG9uqO.js +751 -0
  181. package/dist/medterra-CLG6Co1C.cjs +584 -0
  182. package/dist/medterra-D8ZX9NZC.js +584 -0
  183. package/dist/modells-BzyPwN2m.cjs +485 -0
  184. package/dist/modells-CAfqOCW4.js +485 -0
  185. package/dist/nodeSelector-B3bPtEjX.d.cts +31 -0
  186. package/dist/nodeSelector-BiCDowlK.d.ts +31 -0
  187. package/dist/orgConfigResults--dAwtw3W.d.ts +881 -0
  188. package/dist/orgConfigResults-BL0XBA6x.d.cts +881 -0
  189. package/dist/pressedFloral-DULBuQwR.cjs +662 -0
  190. package/dist/pressedFloral-Dp-7Fk3S.js +662 -0
  191. package/dist/search-filter-types-BNTLVXqQ.d.cts +102 -0
  192. package/dist/search-filter-types-DkmH1TxJ.d.ts +102 -0
  193. package/dist/skinPerfection-BxuYCeJX.js +335 -0
  194. package/dist/skinPerfection-Cd3XZ6By.cjs +335 -0
  195. package/dist/snapSupplements-Bf6htPM0.js +286 -0
  196. package/dist/snapSupplements-ZFnXyMuZ.cjs +286 -0
  197. package/dist/socialProofClasses-DdzG1tZy.js +10 -0
  198. package/dist/socialProofClasses-ky69yppk.cjs +40 -0
  199. package/dist/spanx-CwDPQaGj.js +662 -0
  200. package/dist/spanx-Cyd4qDlK.cjs +664 -0
  201. package/dist/spanxStaging-D43nyAGy.js +846 -0
  202. package/dist/spanxStaging-ijbYnHzr.cjs +849 -0
  203. package/dist/suggestionBarV2-types-CwOXzIKq.js +10 -0
  204. package/dist/{suggestionBarV2-types-DG3Ekk44.cjs → suggestionBarV2-types-Dc4-zJlV.cjs} +2 -1
  205. package/dist/supergoop-BnbFG7hm.cjs +338 -0
  206. package/dist/supergoop-CY043wIg.js +336 -0
  207. package/dist/test-types-CXVJxTeu.d.ts +40 -0
  208. package/dist/test-types-CuOq25VT.d.cts +40 -0
  209. package/dist/types/index.cjs +2 -2
  210. package/dist/types/index.d.cts +3 -3
  211. package/dist/types/index.d.ts +3 -3
  212. package/dist/types/index.js +2 -2
  213. package/dist/types-BF_CJeck.js +177 -0
  214. package/dist/types-CD4LFta-.d.cts +33 -0
  215. package/dist/types-CNH4sfF-.cjs +231 -0
  216. package/dist/types-DBdI0j89.d.ts +33 -0
  217. package/dist/uniqueVintage-Cui74mlJ.js +1212 -0
  218. package/dist/uniqueVintage-R2Jcu1y1.cjs +1214 -0
  219. package/dist/variant-CKVRF2-W.d.ts +13 -0
  220. package/dist/variant-raYuOP4L.d.cts +13 -0
  221. package/dist/venaCbd-o5_vOp4e.js +366 -0
  222. package/dist/venaCbd-r-IxEVc1.cjs +366 -0
  223. package/dist/westonJonBoucher-C95EuCl-.js +423 -0
  224. package/dist/westonJonBoucher-DjGEW3ZB.cjs +423 -0
  225. package/dist/wineEnthusiast-DeTFY8Gm.js +941 -0
  226. package/dist/wineEnthusiast-DvfcV5B3.cjs +941 -0
  227. package/dist/wolfMattress-6xPfOJt3.js +373 -0
  228. package/dist/wolfMattress-BjGnGKjP.cjs +373 -0
  229. package/dist/wolfTactical-Bi3WZu0m.cjs +350 -0
  230. package/dist/wolfTactical-C_F9-oPX.js +350 -0
  231. package/package.json +1 -1
  232. package/src/adapters/amplitude/amplitudeAdapter.ts +32 -9
  233. package/src/adapters/spiffy/commerce/api.ts +17 -8
  234. package/src/adapters/spiffy/commerce/graphql.ts +16 -5
  235. package/src/application/config/generalStaticConfig.ts +5 -2
  236. package/src/application/models/api/orgConfigResults.ts +6 -2
  237. package/src/application/models/validators/validateGraphQLColorsConfig.ts +23 -21
  238. package/src/application/service/cdnService.ts +4 -2
  239. package/src/application/service/index.ts +0 -1
  240. package/src/application/service/pageVariantService.ts +5 -5
  241. package/src/application/service/searchService.ts +9 -2
  242. package/src/application/service/windowChatToggleService.ts +28 -19
  243. package/src/application/service/windowFrontendConfigService.ts +7 -4
  244. package/src/atoms/app/index.ts +26 -17
  245. package/src/atoms/app/variant.ts +1 -0
  246. package/src/atoms/chat/messageQueue.ts +1 -1
  247. package/src/atoms/envive/enviveConfig.ts +81 -0
  248. package/src/atoms/org/graphqlConfig.ts +29 -11
  249. package/src/atoms/org/merchantCss.ts +114 -0
  250. package/src/atoms/org/org.ts +101 -64
  251. package/src/atoms/org/orgPageConfig.ts +9 -6
  252. package/src/atoms/org/orgUIConfig.ts +22 -9
  253. package/src/atoms/search/chatSearch.ts +85 -67
  254. package/src/contexts/chatContext.tsx +4 -1
  255. package/src/contexts/enviveConfigContext.tsx +37 -26
  256. package/src/contexts/enviveCssContext.tsx +20 -0
  257. package/src/contexts/index.ts +2 -0
  258. package/src/contexts/orgConfigContext.tsx +106 -0
  259. package/src/contexts/systemSettingsContext.tsx +22 -9
  260. package/src/contexts/types.ts +12 -9
  261. package/src/hooks/index.ts +1 -0
  262. package/src/hooks/useSearch.tsx +16 -9
  263. package/src/hooks/utils.ts +1 -1
  264. package/src/interceptors/useFormEscalation.ts +26 -9
  265. package/src/types/search-filter-types.ts +7 -7
  266. package/src/types.ts +0 -2
  267. package/dist/api-CxGedDxj.cjs +0 -5057
  268. package/dist/api-NJEaveju.js +0 -4113
  269. package/dist/atomStore-BFtpknLM.js +0 -31
  270. package/dist/atomStore-CeJm9Llb.cjs +0 -57
  271. package/dist/bandolier-C7PAIw02.js +0 -1230
  272. package/dist/bandolier-oMkFDJMF.cjs +0 -1230
  273. package/dist/carpe-C0ccKuR9.cjs +0 -608
  274. package/dist/carpe-DFc78_lJ.js +0 -606
  275. package/dist/cdnService-DvDSpfVJ.js +0 -18
  276. package/dist/cdnService-dJU3sHpF.cjs +0 -23
  277. package/dist/chat-Dk6KPb1K.js +0 -25
  278. package/dist/components-DAQxVIn9.js +0 -10
  279. package/dist/contexts-DO75-Kmx.js +0 -7152
  280. package/dist/contexts-iAzSvZjb.cjs +0 -7331
  281. package/dist/coterie-BGT8hqFR.js +0 -240
  282. package/dist/coterie-Cp9FAJTQ.cjs +0 -240
  283. package/dist/customerService-CUyZzowx.js +0 -22
  284. package/dist/customerService-DqPw_XKf.cjs +0 -35
  285. package/dist/custservice-types-D8Npo-5Z.js +0 -22
  286. package/dist/custservice-types-E9_OSaZ7.cjs +0 -34
  287. package/dist/default-BAXPatxf.cjs +0 -198
  288. package/dist/default-BR3225LZ.js +0 -4
  289. package/dist/default-DR6YjE9B.cjs +0 -4
  290. package/dist/default-wf_IORgo.js +0 -175
  291. package/dist/divIds-BWvq-i6I.js +0 -22
  292. package/dist/dreamlandBaby-BzuMvUFS.cjs +0 -347
  293. package/dist/dreamlandBaby-DZvM81LQ.js +0 -347
  294. package/dist/embedded-C1jvFj3v.js +0 -22
  295. package/dist/entrypoints-CmmOszXO.js +0 -6
  296. package/dist/entrypoints-fowCLUT2.cjs +0 -18
  297. package/dist/enviveConfigContext-CUGLpPGU.js +0 -34
  298. package/dist/enviveConfigContext-Dfr2VH6u.cjs +0 -48
  299. package/dist/featureFlagService-CroFRxvD.d.cts +0 -17
  300. package/dist/featureFlagService-NkJ2fuEj.d.ts +0 -17
  301. package/dist/featureGates-BMWXU0dS.d.ts +0 -90
  302. package/dist/featureGates-N_gyHCTn.d.cts +0 -90
  303. package/dist/fiveCbd-DE-tDY3d.cjs +0 -614
  304. package/dist/fiveCbd-HNBPqPtX.js +0 -614
  305. package/dist/forLoveAndLemons-BKmJJ9pq.js +0 -666
  306. package/dist/forLoveAndLemons-BeVEBOiu.cjs +0 -668
  307. package/dist/frontendConfig-KeNqU1wa.d.cts +0 -790
  308. package/dist/frontendConfig-cPvCTWm6.d.ts +0 -790
  309. package/dist/globalSearch-BC0rOX3E.js +0 -13
  310. package/dist/greenpan-BX1viAZB.js +0 -398
  311. package/dist/greenpan-chd3aa5I.cjs +0 -398
  312. package/dist/grooveLife-CHot3rZw.js +0 -343
  313. package/dist/grooveLife-DEob7rK0.cjs +0 -343
  314. package/dist/homegrownCannabis-CoIjcehi.cjs +0 -411
  315. package/dist/homegrownCannabis-CwkS1qDA.js +0 -411
  316. package/dist/index-BdNKc2ix.d.cts +0 -8
  317. package/dist/index-BkhvV8RZ.d.cts +0 -202
  318. package/dist/index-BrXuc_Ck.d.cts +0 -24
  319. package/dist/index-C4zjAR1c.d.cts +0 -227
  320. package/dist/index-CGB6CAmr.d.ts +0 -6
  321. package/dist/index-CIco0cCQ.d.ts +0 -183
  322. package/dist/index-COG1kOZG.d.ts +0 -749
  323. package/dist/index-CVxe7FpL.d.cts +0 -6
  324. package/dist/index-Cn1SeI5y.d.cts +0 -183
  325. package/dist/index-Cqg6ltII.d.ts +0 -38
  326. package/dist/index-CzMrMKx-.d.ts +0 -202
  327. package/dist/index-DE_7Q8qK.d.ts +0 -94
  328. package/dist/index-Da0UzyI9.d.ts +0 -24
  329. package/dist/index-DbWWcYax.d.cts +0 -749
  330. package/dist/index-DtoVXd6O.d.cts +0 -97
  331. package/dist/index-JClBRnSX.d.cts +0 -94
  332. package/dist/index-ghzD_356.d.ts +0 -8
  333. package/dist/index-hdbCEjYy.d.cts +0 -38
  334. package/dist/index-luJrHgPN.d.ts +0 -97
  335. package/dist/index-tfRj22E1.d.ts +0 -227
  336. package/dist/jackArcher-BA-pkB4A.js +0 -728
  337. package/dist/jackArcher-bewC0q1T.cjs +0 -728
  338. package/dist/jordanCraig-B5k9nlAw.cjs +0 -1787
  339. package/dist/jordanCraig-BsQ1mYbt.js +0 -1787
  340. package/dist/kindredBravely-BxYkCpGY.js +0 -491
  341. package/dist/kindredBravely-DsN0fo3s.cjs +0 -491
  342. package/dist/kutFromTheKloth-BQTCu3ct.cjs +0 -370
  343. package/dist/kutFromTheKloth-bukOQM3P.js +0 -370
  344. package/dist/larryAndSerges-D1ecaT5a.js +0 -261
  345. package/dist/larryAndSerges-bj7fgy9b.cjs +0 -261
  346. package/dist/leapsAndRebounds-BfneG_0c.cjs +0 -361
  347. package/dist/leapsAndRebounds-DhNpZETg.js +0 -361
  348. package/dist/locators-C2DX_nX6.js +0 -1
  349. package/dist/locators-CUpyd9Wt.cjs +0 -0
  350. package/dist/longevityrx-CnoGcw0w.js +0 -321
  351. package/dist/longevityrx-D0goIuX0.cjs +0 -321
  352. package/dist/lookOptic-C4afLPZP.cjs +0 -283
  353. package/dist/lookOptic-uJWIKpER.js +0 -283
  354. package/dist/mantraBrand-8JUlYtCE.cjs +0 -751
  355. package/dist/mantraBrand-DuwKHM26.js +0 -751
  356. package/dist/medterra-BQec8rzn.js +0 -584
  357. package/dist/medterra-DH067P-V.cjs +0 -584
  358. package/dist/modells-DAgLE2xo.js +0 -485
  359. package/dist/modells-DUFnLmAz.cjs +0 -485
  360. package/dist/nodeSelector-DpKXszfU.d.ts +0 -30
  361. package/dist/nodeSelector-vKB44CDB.d.cts +0 -30
  362. package/dist/org-C11APG3v.js +0 -63
  363. package/dist/org-CnHL2I9B.cjs +0 -106
  364. package/dist/pressedFloral-DVZVfOSQ.cjs +0 -662
  365. package/dist/pressedFloral-MdbuoRyA.js +0 -662
  366. package/dist/search-CvHb1M3S.js +0 -542
  367. package/dist/search-bSYdOBhY.cjs +0 -743
  368. package/dist/search-filter-types-BsJjrxk0.d.ts +0 -101
  369. package/dist/search-filter-types-CqaGK3nM.d.cts +0 -101
  370. package/dist/skinPerfection-BcEWICQN.cjs +0 -335
  371. package/dist/skinPerfection-bGiYxq1i.js +0 -335
  372. package/dist/snapSupplements-BXSXTjqF.cjs +0 -286
  373. package/dist/snapSupplements-D7hHhdC9.js +0 -286
  374. package/dist/socialProofClasses-BYLiEXpU.cjs +0 -39
  375. package/dist/socialProofClasses-CkJufEGb.js +0 -9
  376. package/dist/spanx-5-0yX3iK.js +0 -662
  377. package/dist/spanx-lUzP6Lva.cjs +0 -664
  378. package/dist/spanxStaging-HglCMJag.js +0 -846
  379. package/dist/spanxStaging-hreMR0MS.cjs +0 -849
  380. package/dist/suggestionBarV2-types-B0RbMStE.js +0 -9
  381. package/dist/supergoop-C9DDT3lY.js +0 -335
  382. package/dist/supergoop-CkjtuRck.cjs +0 -337
  383. package/dist/test-types-C9b_OdfO.d.ts +0 -39
  384. package/dist/test-types-CpKCxk8U.d.cts +0 -39
  385. package/dist/types-BE4faOO_.d.cts +0 -32
  386. package/dist/types-BUjohkXp.cjs +0 -230
  387. package/dist/types-BVsTRyxL.js +0 -176
  388. package/dist/types-TD8g7LnH.d.ts +0 -32
  389. package/dist/uniqueVintage-DIMGtYAU.cjs +0 -1214
  390. package/dist/uniqueVintage-DPWA5Ed6.js +0 -1212
  391. package/dist/useMessageInterceptor-B-P_rw73.cjs +0 -72
  392. package/dist/useMessageInterceptor-C2RZM-fo.js +0 -57
  393. package/dist/variant-BGjOVpY3.d.cts +0 -12
  394. package/dist/variant-XITncuI3.d.ts +0 -12
  395. package/dist/venaCbd-B-znfAsl.js +0 -366
  396. package/dist/venaCbd-BOwOtpOz.cjs +0 -366
  397. package/dist/westonJonBoucher-CraTzRVt.cjs +0 -423
  398. package/dist/westonJonBoucher-DCRagGu3.js +0 -423
  399. package/dist/wineEnthusiast-Bv7umajk.js +0 -941
  400. package/dist/wineEnthusiast-sVuATrq6.cjs +0 -941
  401. package/dist/wolfMattress-BUH-Rhov.js +0 -373
  402. package/dist/wolfMattress-DpVHIEnJ.cjs +0 -373
  403. package/dist/wolfTactical-BcvF_sy-.cjs +0 -350
  404. package/dist/wolfTactical-Q14A1fpw.js +0 -350
  405. package/src/application/service/environmentService.ts +0 -51
  406. package/src/extension.ts +0 -63
  407. package/src/initialize.ts +0 -163
  408. package/src/main.tsx +0 -108
  409. package/src/merchants/uniqueVintage/views/useUniqueVintageChatSearch.ts +0 -147
  410. /package/dist/{atomStore-FSZd_20F.js → locators-Dc5ZT0aF.js} +0 -0
  411. /package/dist/{atomStore-B3tsg6mF.cjs → locators-lQMJj830.cjs} +0 -0
@@ -0,0 +1,1787 @@
1
+ import "./logger-pdEEY8T2.js";
2
+ import "./api-XRr_lAG6.js";
3
+ import { CdnService, ChatElementDisplayLocation, DOMInsertionType, FeatureGates, GridInsertionType } from "./contexts-e2sM-B9g.js";
4
+ import { ColorNames, OrgShortName, PageVariantTestType, WidgetType, colorVar } from "./types-BF_CJeck.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 { SuggestionBarLocationForMetrics } from "./suggestionBarV2-types-CwOXzIKq.js";
12
+ import { BOTTOM_REVIEWS_BAR_ID, CHAT_PREVIEW_CONTAINER_ID, GLOBAL_SEARCH_ENTRYPOINT_ID, SEARCH_OVERLAY_ENTRYPOINT_ID, SEARCH_RESULTS_ENTRYPOINT_ID, TOP_SUGGESTION_BAR_PDP_ID } from "./divIds-CWkntTsx.js";
13
+ import "./chat-CLJ4NWcN.js";
14
+ import "./components-CV1fhAkj.js";
15
+ import { BOTTOM_SUGGESTION_BAR_TESTID, CHAT_PREVIEW_TESTID, GLOBAL_SEARCH_ENTRYPOINT_TESTID, SEARCH_OVERLAY_HOST_TESTID, SEARCH_RESULTS_ENTRYPOINT_TESTID, TOP_SUGGESTION_BAR_TESTID } from "./embedded-C5uJqmuD.js";
16
+ import "./locators-Dc5ZT0aF.js";
17
+ import { defaultOrgUIConfig } from "./default-C8PQf-38.js";
18
+
19
+ //#region src/merchants/jordanCraig/jordanCraig.ts
20
+ const jordanCraigColors = {
21
+ [ColorNames.TextPrimary]: "#1C1C1C",
22
+ [ColorNames.TextSecondary]: "#767676",
23
+ [ColorNames.TextAccent]: "#767676",
24
+ [ColorNames.TextLink]: "#1C1C1C",
25
+ [ColorNames.TextLight]: "#FFFFFF",
26
+ [ColorNames.BackgroundPrimary]: "#1C1C1C",
27
+ [ColorNames.BackgroundSecondary]: "#F6F6F6",
28
+ [ColorNames.BackgroundSecondaryDark]: "#E0E0E0",
29
+ [ColorNames.BackgroundTertiary]: "#DDDDDD",
30
+ [ColorNames.BackgroundDark]: "#1C1C1C",
31
+ [ColorNames.BackgroundLight]: "#FFFFFF",
32
+ [ColorNames.BackgroundSaturated]: "#E0E0E0",
33
+ [ColorNames.BorderLight]: "#DDDDDD",
34
+ [ColorNames.BorderMedium]: "#949596",
35
+ [ColorNames.BorderDark]: "#1C1C1C",
36
+ [ColorNames.BorderOutline]: "#1C1C1C",
37
+ [ColorNames.AccentPrimary]: "#AB1212",
38
+ [ColorNames.AccentSecondary]: "#C69846"
39
+ };
40
+ const jordanCraigOrgUIConfig = () => {
41
+ const defaultJordanCraigOrgConfig = defaultOrgUIConfig(OrgShortName.JordanCraig);
42
+ return {
43
+ ...defaultJordanCraigOrgConfig,
44
+ merchantVariantSettings: { dynamicVariants: {
45
+ enabled: false,
46
+ refreshInterval: 400
47
+ } },
48
+ searchConfig: {
49
+ enableGlobalSearch: true,
50
+ redirectSearchResultsUrl: "https://jordancraig.com/collections/best-sellers-men",
51
+ searchFilterConfig: [
52
+ {
53
+ filterId: "price",
54
+ displayName: "Price",
55
+ type: "price",
56
+ bucketSize: 50
57
+ },
58
+ {
59
+ filterId: "size",
60
+ displayName: "Size",
61
+ attribute: "size",
62
+ type: "dynamic",
63
+ sorting: { type: "productCount" }
64
+ },
65
+ {
66
+ filterId: "color",
67
+ displayName: "Color",
68
+ attribute: "color",
69
+ type: "dynamic",
70
+ sorting: { type: "productCount" }
71
+ },
72
+ {
73
+ filterId: "type",
74
+ displayName: "Type",
75
+ attribute: "type",
76
+ type: "dynamic",
77
+ sorting: { type: "productCount" }
78
+ },
79
+ {
80
+ filterId: "dynamic",
81
+ displayName: "",
82
+ type: "dynamic",
83
+ attribute: "dynamic",
84
+ sorting: { type: "productCount" }
85
+ }
86
+ ]
87
+ },
88
+ chatMessageConfig: {
89
+ ...defaultJordanCraigOrgConfig.chatMessageConfig,
90
+ assistantChatTitle: "Jordan Craig AI",
91
+ variant: "standard",
92
+ productLink: {
93
+ ...defaultJordanCraigOrgConfig.chatMessageConfig.productLink,
94
+ iconVariant: "backgroundSaturated"
95
+ }
96
+ },
97
+ chatHeader: {
98
+ ...defaultJordanCraigOrgConfig.chatHeader,
99
+ imageSrc: CdnService.getAssetURL("jordancraig-white.png", OrgShortName.JordanCraig)
100
+ },
101
+ chatPreviewConfig: {
102
+ ...defaultJordanCraigOrgConfig.chatPreviewConfig,
103
+ iconFillColor: colorVar(ColorNames.AccentPrimary),
104
+ buttonBackgroundColor: colorVar(ColorNames.BackgroundDark),
105
+ buttonTextHoverColor: colorVar(ColorNames.TextPrimary),
106
+ buttonBackgroundHoverColor: colorVar(ColorNames.BackgroundSecondaryDark),
107
+ topMargin: 10,
108
+ copies: {
109
+ plp: [
110
+ "what's new in style?",
111
+ "the right pair of jeans for every day?",
112
+ "a jacket to elevate your look?",
113
+ "a unique graphic print?"
114
+ ],
115
+ pdp: [
116
+ "if this is hypoallergenic?",
117
+ "if this is a meaningful gift?",
118
+ "if it is the right size for you?",
119
+ "if it's crafted with durable materials?"
120
+ ]
121
+ },
122
+ staticSuggestionCopies: {
123
+ plp: [
124
+ "the care instructions?",
125
+ "what it's made of?",
126
+ "the standout features?",
127
+ "the size guide?"
128
+ ],
129
+ pdp: [
130
+ "Is this available in other colors or styles?",
131
+ "Does this style match any other pieces?",
132
+ "What is my right size?",
133
+ "What is this made of?",
134
+ "How do I care for this product?"
135
+ ]
136
+ },
137
+ headerConfig: {
138
+ ...defaultJordanCraigOrgConfig.chatPreviewConfig.headerConfig,
139
+ imageHeight: 24,
140
+ imageSrc: CdnService.getAssetURL("jordancraig-black.png", OrgShortName.JordanCraig)
141
+ },
142
+ footerConfig: {
143
+ ...defaultJordanCraigOrgConfig.chatPreviewConfig.footerConfig,
144
+ replyButtonIcon: "magnifyingGlass"
145
+ }
146
+ },
147
+ floatingEntrypointConfig: {
148
+ ...defaultJordanCraigOrgConfig.floatingEntrypointConfig,
149
+ showOption: "always",
150
+ expandedColor: colorVar(ColorNames.BorderOutline),
151
+ expansionText: {
152
+ pdp: "Is this your next essential?",
153
+ plp: "Ready to find your perfect fit?"
154
+ }
155
+ },
156
+ productCardConfig: { ...defaultJordanCraigOrgConfig.productCardConfig },
157
+ productReviewConfig: {
158
+ ...defaultJordanCraigOrgConfig.productReviewConfig,
159
+ colorVariant: "brand",
160
+ verifiedBuyerTitle: "",
161
+ incentivizedReviewFlag: false
162
+ },
163
+ welcomeSectionConfig: {
164
+ ...defaultJordanCraigOrgConfig.welcomeSectionConfig,
165
+ title: "Welcome to Jordan Craig AI!",
166
+ subtitle: "Hey! I'm here to make your shopping experience effortless. Ask me anything—from finding your perfect fit to details about our latest styles. Let's find your next essential."
167
+ },
168
+ merchantOverrideCss: `
169
+ .spiffy-star-rating-star {
170
+ fill: var(--spiffy-colors-text-primary) !important;
171
+ }
172
+ .spiffy-product-review-header-reviewer {
173
+ color: var(--spiffy-colors-text-primary) !important;
174
+ }
175
+ .spiffy-mini-verified-buyer-text {
176
+ color: var(--spiffy-colors-background-secondary) !important;
177
+ }
178
+ .spiffy-mini-verified-buyer-icon {
179
+ fill: var(--spiffy-colors-background-secondary) !important;
180
+ }
181
+
182
+ #spiffy-ai-chat-preview.is-plp {
183
+ max-width: calc(100vw - (2 * var(--container-gutter)));
184
+ @media (max-width: 700px) {
185
+ max-width:calc(100vw - 20px)
186
+ }
187
+ }
188
+ .spiffy-product-card-title {
189
+ font-family: var(--chakra-fonts-heading);
190
+ color: var(--spiffy-colors-text-link);
191
+ }
192
+ .spiffy-product-card-text-color {
193
+ color: var(--spiffy-colors-text-secondary);
194
+ }
195
+ .spiffy-product-card-rating-star-color {
196
+ fill: var(--spiffy-colors-background-primary);
197
+ }
198
+
199
+ .search-results-entry-point + #main {
200
+ display: none;
201
+ }
202
+ `
203
+ };
204
+ };
205
+ const jordanCraigPageConfig = () => ({
206
+ pageVariants: [
207
+ {
208
+ variantId: "search-results",
209
+ variantType: "plp",
210
+ variantTests: [
211
+ { testType: PageVariantTestType.UrlResolver },
212
+ {
213
+ testType: PageVariantTestType.FeatureGate,
214
+ featureGate: FeatureGates.IsGlobalSearchEnabled
215
+ },
216
+ {
217
+ testType: PageVariantTestType.QueryParam,
218
+ queryParam: "esq"
219
+ }
220
+ ],
221
+ plpIdExtractor: "url-resolver-plp-id",
222
+ widgetMounting: [
223
+ {
224
+ mountingConfigId: "searchIconEntryPoint",
225
+ widgetConfigId: "searchIconEntryPoint"
226
+ },
227
+ {
228
+ mountingConfigId: "searchOverlayHost",
229
+ widgetConfigId: "searchOverlayHost"
230
+ },
231
+ {
232
+ mountingConfigId: "chatPreviewPLP",
233
+ widgetConfigId: "chatPreviewPLP"
234
+ },
235
+ {
236
+ mountingConfigId: "searchResultsEntryPointPLP",
237
+ widgetConfigId: "searchResultsEntryPoint"
238
+ }
239
+ ]
240
+ },
241
+ {
242
+ variantId: "plp-with-search",
243
+ variantType: "plp",
244
+ variantTests: [{ testType: PageVariantTestType.UrlResolver }, {
245
+ testType: PageVariantTestType.FeatureGate,
246
+ featureGate: FeatureGates.IsGlobalSearchEnabled
247
+ }],
248
+ plpIdExtractor: "url-resolver-plp-id",
249
+ widgetMounting: [
250
+ {
251
+ mountingConfigId: "searchIconEntryPoint",
252
+ widgetConfigId: "searchIconEntryPoint"
253
+ },
254
+ {
255
+ mountingConfigId: "searchOverlayHost",
256
+ widgetConfigId: "searchOverlayHost"
257
+ },
258
+ {
259
+ mountingConfigId: "chatPreviewPLP",
260
+ widgetConfigId: "chatPreviewPLP"
261
+ }
262
+ ]
263
+ },
264
+ {
265
+ variantId: "pdp-with-search",
266
+ variantType: "pdp",
267
+ variantTests: [{ testType: PageVariantTestType.UrlResolver }, {
268
+ testType: PageVariantTestType.FeatureGate,
269
+ featureGate: FeatureGates.IsGlobalSearchEnabled
270
+ }],
271
+ productIdExtractor: "url-resolver-product-id",
272
+ widgetMounting: [
273
+ {
274
+ mountingConfigId: "searchIconEntryPoint",
275
+ widgetConfigId: "searchIconEntryPoint"
276
+ },
277
+ {
278
+ mountingConfigId: "searchOverlayHost",
279
+ widgetConfigId: "searchOverlayHost"
280
+ },
281
+ {
282
+ mountingConfigId: "topSuggestionBarPDP",
283
+ widgetConfigId: "topSuggestionsBar"
284
+ },
285
+ {
286
+ mountingConfigId: "bottomSuggestionBarPDP",
287
+ widgetConfigId: "bottomSuggestionsBar"
288
+ },
289
+ {
290
+ mountingConfigId: "chatPreviewPDP",
291
+ widgetConfigId: "chatPreviewPDP"
292
+ }
293
+ ]
294
+ },
295
+ {
296
+ variantId: "home-with-search",
297
+ variantType: "homepage",
298
+ variantTests: [{ testType: PageVariantTestType.UrlResolver }, {
299
+ testType: PageVariantTestType.FeatureGate,
300
+ featureGate: FeatureGates.IsGlobalSearchEnabled
301
+ }],
302
+ widgetMounting: [{
303
+ mountingConfigId: "searchIconEntryPoint",
304
+ widgetConfigId: "searchIconEntryPoint"
305
+ }, {
306
+ mountingConfigId: "searchOverlayHost",
307
+ widgetConfigId: "searchOverlayHost"
308
+ }]
309
+ },
310
+ {
311
+ variantId: "other-with-search",
312
+ variantType: "other",
313
+ variantTests: [{ testType: PageVariantTestType.UrlResolver }, {
314
+ testType: PageVariantTestType.FeatureGate,
315
+ featureGate: FeatureGates.IsGlobalSearchEnabled
316
+ }],
317
+ widgetMounting: [{
318
+ mountingConfigId: "searchIconEntryPoint",
319
+ widgetConfigId: "searchIconEntryPoint"
320
+ }, {
321
+ mountingConfigId: "searchOverlayHost",
322
+ widgetConfigId: "searchOverlayHost"
323
+ }]
324
+ },
325
+ {
326
+ variantId: "plp",
327
+ variantType: "plp",
328
+ variantTests: [{ testType: PageVariantTestType.UrlResolver }],
329
+ plpIdExtractor: "url-resolver-plp-id",
330
+ widgetMounting: [{
331
+ mountingConfigId: "chatPreviewPLP",
332
+ widgetConfigId: "chatPreviewPLP"
333
+ }]
334
+ },
335
+ {
336
+ variantId: "outerwearWithReviews",
337
+ variantType: "pdp",
338
+ variantTests: [
339
+ {
340
+ testType: PageVariantTestType.HasReviews,
341
+ reviewMinimum: 4
342
+ },
343
+ { testType: PageVariantTestType.UrlResolver },
344
+ {
345
+ testType: PageVariantTestType.InCollection,
346
+ collections: ["outerwear", "big-mens-outerwear"]
347
+ }
348
+ ],
349
+ productIdExtractor: "url-resolver-product-id",
350
+ widgetMounting: [
351
+ {
352
+ mountingConfigId: "topSuggestionBarPDP",
353
+ widgetConfigId: "topSuggestionsBarOuterwear"
354
+ },
355
+ {
356
+ mountingConfigId: "chatPreviewPDP",
357
+ widgetConfigId: "chatPreviewPDP"
358
+ },
359
+ {
360
+ mountingConfigId: "bottomSuggestionBarPDP",
361
+ widgetConfigId: "bottomSuggestionsBarOuterwear"
362
+ }
363
+ ]
364
+ },
365
+ {
366
+ variantId: "tshirtsWithReviews",
367
+ variantType: "pdp",
368
+ variantTests: [
369
+ {
370
+ testType: PageVariantTestType.HasReviews,
371
+ reviewMinimum: 4
372
+ },
373
+ { testType: PageVariantTestType.UrlResolver },
374
+ {
375
+ testType: PageVariantTestType.InCollection,
376
+ collections: ["tshirt", "big-mens-t-shirts"]
377
+ }
378
+ ],
379
+ productIdExtractor: "url-resolver-product-id",
380
+ widgetMounting: [
381
+ {
382
+ mountingConfigId: "topSuggestionBarPDP",
383
+ widgetConfigId: "topSuggestionsBarTshirts"
384
+ },
385
+ {
386
+ mountingConfigId: "chatPreviewPDP",
387
+ widgetConfigId: "chatPreviewPDP"
388
+ },
389
+ {
390
+ mountingConfigId: "bottomSuggestionBarPDP",
391
+ widgetConfigId: "bottomSuggestionsBarTshirts"
392
+ }
393
+ ]
394
+ },
395
+ {
396
+ variantId: "sweatshirtsWithReviews",
397
+ variantType: "pdp",
398
+ variantTests: [
399
+ {
400
+ testType: PageVariantTestType.HasReviews,
401
+ reviewMinimum: 4
402
+ },
403
+ { testType: PageVariantTestType.UrlResolver },
404
+ {
405
+ testType: PageVariantTestType.InCollection,
406
+ collections: ["sweatshirts", "big-mens-sweatshirts"]
407
+ }
408
+ ],
409
+ productIdExtractor: "url-resolver-product-id",
410
+ widgetMounting: [
411
+ {
412
+ mountingConfigId: "topSuggestionBarPDP",
413
+ widgetConfigId: "topSuggestionsBarSweatshirts"
414
+ },
415
+ {
416
+ mountingConfigId: "chatPreviewPDP",
417
+ widgetConfigId: "chatPreviewPDP"
418
+ },
419
+ {
420
+ mountingConfigId: "bottomSuggestionBarPDP",
421
+ widgetConfigId: "bottomSuggestionsBarSweatshirts"
422
+ }
423
+ ]
424
+ },
425
+ {
426
+ variantId: "sweatpantsWithReviews",
427
+ variantType: "pdp",
428
+ variantTests: [
429
+ {
430
+ testType: PageVariantTestType.HasReviews,
431
+ reviewMinimum: 4
432
+ },
433
+ { testType: PageVariantTestType.UrlResolver },
434
+ {
435
+ testType: PageVariantTestType.InCollection,
436
+ collections: ["big-mens-sweatpants", "mens-sweatpants"]
437
+ }
438
+ ],
439
+ productIdExtractor: "url-resolver-product-id",
440
+ widgetMounting: [
441
+ {
442
+ mountingConfigId: "topSuggestionBarPDP",
443
+ widgetConfigId: "topSuggestionsBarSweatpants"
444
+ },
445
+ {
446
+ mountingConfigId: "chatPreviewPDP",
447
+ widgetConfigId: "chatPreviewPDP"
448
+ },
449
+ {
450
+ mountingConfigId: "bottomSuggestionBarPDP",
451
+ widgetConfigId: "bottomSuggestionsBarSweatpants"
452
+ }
453
+ ]
454
+ },
455
+ {
456
+ variantId: "denimWithReviews",
457
+ variantType: "pdp",
458
+ variantTests: [
459
+ {
460
+ testType: PageVariantTestType.HasReviews,
461
+ reviewMinimum: 4
462
+ },
463
+ { testType: PageVariantTestType.UrlResolver },
464
+ {
465
+ testType: PageVariantTestType.InCollection,
466
+ collections: [
467
+ "big-mens-denim",
468
+ "denim",
469
+ "kids-denim"
470
+ ]
471
+ }
472
+ ],
473
+ productIdExtractor: "url-resolver-product-id",
474
+ widgetMounting: [
475
+ {
476
+ mountingConfigId: "topSuggestionBarPDP",
477
+ widgetConfigId: "topSuggestionsBarDenim"
478
+ },
479
+ {
480
+ mountingConfigId: "chatPreviewPDP",
481
+ widgetConfigId: "chatPreviewPDP"
482
+ },
483
+ {
484
+ mountingConfigId: "bottomSuggestionBarPDP",
485
+ widgetConfigId: "bottomSuggestionsBarDenim"
486
+ }
487
+ ]
488
+ },
489
+ {
490
+ variantId: "twillFleeceWithReviews",
491
+ variantType: "pdp",
492
+ variantTests: [
493
+ {
494
+ testType: PageVariantTestType.HasReviews,
495
+ reviewMinimum: 4
496
+ },
497
+ { testType: PageVariantTestType.UrlResolver },
498
+ {
499
+ testType: PageVariantTestType.InCollection,
500
+ collections: [
501
+ "big-mens-sweatpants",
502
+ "kids-fleece",
503
+ "mens-sweatpants",
504
+ "mens-twill-bottoms",
505
+ "kids-twill-pants"
506
+ ]
507
+ }
508
+ ],
509
+ productIdExtractor: "url-resolver-product-id",
510
+ widgetMounting: [
511
+ {
512
+ mountingConfigId: "topSuggestionBarPDP",
513
+ widgetConfigId: "topSuggestionsBarTwillFleece"
514
+ },
515
+ {
516
+ mountingConfigId: "chatPreviewPDP",
517
+ widgetConfigId: "chatPreviewPDP"
518
+ },
519
+ {
520
+ mountingConfigId: "bottomSuggestionBarPDP",
521
+ widgetConfigId: "bottomSuggestionsBarTwillFleece"
522
+ }
523
+ ]
524
+ },
525
+ {
526
+ variantId: "shortsWithReviews",
527
+ variantType: "pdp",
528
+ variantTests: [
529
+ {
530
+ testType: PageVariantTestType.HasReviews,
531
+ reviewMinimum: 4
532
+ },
533
+ { testType: PageVariantTestType.UrlResolver },
534
+ {
535
+ testType: PageVariantTestType.InCollection,
536
+ collections: [
537
+ "kids-shorts",
538
+ "big-mens-shorts",
539
+ "shorts"
540
+ ]
541
+ }
542
+ ],
543
+ productIdExtractor: "url-resolver-product-id",
544
+ widgetMounting: [
545
+ {
546
+ mountingConfigId: "topSuggestionBarPDP",
547
+ widgetConfigId: "topSuggestionsBarShorts"
548
+ },
549
+ {
550
+ mountingConfigId: "chatPreviewPDP",
551
+ widgetConfigId: "chatPreviewPDP"
552
+ },
553
+ {
554
+ mountingConfigId: "bottomSuggestionBarPDP",
555
+ widgetConfigId: "bottomSuggestionsBarShorts"
556
+ }
557
+ ]
558
+ },
559
+ {
560
+ variantId: "accessoriesWithReviews",
561
+ variantType: "pdp",
562
+ variantTests: [
563
+ {
564
+ testType: PageVariantTestType.HasReviews,
565
+ reviewMinimum: 4
566
+ },
567
+ { testType: PageVariantTestType.UrlResolver },
568
+ {
569
+ testType: PageVariantTestType.InCollection,
570
+ collections: ["bag-collection"]
571
+ }
572
+ ],
573
+ productIdExtractor: "url-resolver-product-id",
574
+ widgetMounting: [
575
+ {
576
+ mountingConfigId: "topSuggestionBarPDP",
577
+ widgetConfigId: "topSuggestionsBarAccessories"
578
+ },
579
+ {
580
+ mountingConfigId: "chatPreviewPDP",
581
+ widgetConfigId: "chatPreviewPDP"
582
+ },
583
+ {
584
+ mountingConfigId: "bottomSuggestionBarPDP",
585
+ widgetConfigId: "bottomSuggestionsBarAccessories"
586
+ }
587
+ ]
588
+ },
589
+ {
590
+ variantId: "footwearWithReviews",
591
+ variantType: "pdp",
592
+ variantTests: [
593
+ {
594
+ testType: PageVariantTestType.HasReviews,
595
+ reviewMinimum: 4
596
+ },
597
+ { testType: PageVariantTestType.UrlResolver },
598
+ {
599
+ testType: PageVariantTestType.InCollection,
600
+ collections: ["footwear-collection"]
601
+ }
602
+ ],
603
+ productIdExtractor: "url-resolver-product-id",
604
+ widgetMounting: [
605
+ {
606
+ mountingConfigId: "topSuggestionBarPDP",
607
+ widgetConfigId: "topSuggestionsBarFootwear"
608
+ },
609
+ {
610
+ mountingConfigId: "chatPreviewPDP",
611
+ widgetConfigId: "chatPreviewPDP"
612
+ },
613
+ {
614
+ mountingConfigId: "bottomSuggestionBarPDP",
615
+ widgetConfigId: "bottomSuggestionsBarFootwear"
616
+ }
617
+ ]
618
+ },
619
+ {
620
+ variantId: "outerwear",
621
+ variantType: "pdp",
622
+ variantTests: [{ testType: PageVariantTestType.UrlResolver }, {
623
+ testType: PageVariantTestType.InCollection,
624
+ collections: ["outerwear", "big-mens-outerwear"]
625
+ }],
626
+ productIdExtractor: "url-resolver-product-id",
627
+ widgetMounting: [
628
+ {
629
+ mountingConfigId: "topSuggestionBarPDP",
630
+ widgetConfigId: "topSuggestionsBarOuterwear"
631
+ },
632
+ {
633
+ mountingConfigId: "chatPreviewPDP",
634
+ widgetConfigId: "chatPreviewPDP"
635
+ },
636
+ {
637
+ mountingConfigId: "bottomSuggestionBarPDP",
638
+ widgetConfigId: "bottomSuggestionsBarOuterwear"
639
+ }
640
+ ]
641
+ },
642
+ {
643
+ variantId: "tshirts",
644
+ variantType: "pdp",
645
+ variantTests: [{ testType: PageVariantTestType.UrlResolver }, {
646
+ testType: PageVariantTestType.InCollection,
647
+ collections: ["tshirt", "big-mens-t-shirts"]
648
+ }],
649
+ productIdExtractor: "url-resolver-product-id",
650
+ widgetMounting: [
651
+ {
652
+ mountingConfigId: "topSuggestionBarPDP",
653
+ widgetConfigId: "topSuggestionsBarTshirts"
654
+ },
655
+ {
656
+ mountingConfigId: "chatPreviewPDP",
657
+ widgetConfigId: "chatPreviewPDP"
658
+ },
659
+ {
660
+ mountingConfigId: "bottomSuggestionBarPDP",
661
+ widgetConfigId: "bottomSuggestionsBarTshirts"
662
+ }
663
+ ]
664
+ },
665
+ {
666
+ variantId: "sweatshirts",
667
+ variantType: "pdp",
668
+ variantTests: [{ testType: PageVariantTestType.UrlResolver }, {
669
+ testType: PageVariantTestType.InCollection,
670
+ collections: ["sweatshirts", "big-mens-sweatshirts"]
671
+ }],
672
+ productIdExtractor: "url-resolver-product-id",
673
+ widgetMounting: [
674
+ {
675
+ mountingConfigId: "topSuggestionBarPDP",
676
+ widgetConfigId: "topSuggestionsBarSweatshirts"
677
+ },
678
+ {
679
+ mountingConfigId: "chatPreviewPDP",
680
+ widgetConfigId: "chatPreviewPDP"
681
+ },
682
+ {
683
+ mountingConfigId: "bottomSuggestionBarPDP",
684
+ widgetConfigId: "bottomSuggestionsBarSweatshirts"
685
+ }
686
+ ]
687
+ },
688
+ {
689
+ variantId: "sweatpants",
690
+ variantType: "pdp",
691
+ variantTests: [{ testType: PageVariantTestType.UrlResolver }, {
692
+ testType: PageVariantTestType.InCollection,
693
+ collections: ["big-mens-sweatpants", "mens-sweatpants"]
694
+ }],
695
+ productIdExtractor: "url-resolver-product-id",
696
+ widgetMounting: [
697
+ {
698
+ mountingConfigId: "topSuggestionBarPDP",
699
+ widgetConfigId: "topSuggestionsBarSweatpants"
700
+ },
701
+ {
702
+ mountingConfigId: "chatPreviewPDP",
703
+ widgetConfigId: "chatPreviewPDP"
704
+ },
705
+ {
706
+ mountingConfigId: "bottomSuggestionBarPDP",
707
+ widgetConfigId: "bottomSuggestionsBarSweatpants"
708
+ }
709
+ ]
710
+ },
711
+ {
712
+ variantId: "graphic",
713
+ variantType: "pdp",
714
+ variantTests: [
715
+ { testType: PageVariantTestType.UrlResolver },
716
+ {
717
+ testType: PageVariantTestType.HasReviews,
718
+ reviewMinimum: 4
719
+ },
720
+ {
721
+ testType: PageVariantTestType.InCollection,
722
+ collections: ["mens-graphic-prints-collection"]
723
+ }
724
+ ],
725
+ productIdExtractor: "url-resolver-product-id",
726
+ widgetMounting: [
727
+ {
728
+ mountingConfigId: "topSuggestionBarPDP",
729
+ widgetConfigId: "topSuggestionsBarGraphic"
730
+ },
731
+ {
732
+ mountingConfigId: "chatPreviewPDP",
733
+ widgetConfigId: "chatPreviewPDP"
734
+ },
735
+ {
736
+ mountingConfigId: "bottomSuggestionBarPDP",
737
+ widgetConfigId: "bottomSuggestionsBarGraphic"
738
+ }
739
+ ]
740
+ },
741
+ {
742
+ variantId: "denim",
743
+ variantType: "pdp",
744
+ variantTests: [{ testType: PageVariantTestType.UrlResolver }, {
745
+ testType: PageVariantTestType.InCollection,
746
+ collections: [
747
+ "big-mens-denim",
748
+ "denim",
749
+ "kids-denim"
750
+ ]
751
+ }],
752
+ productIdExtractor: "url-resolver-product-id",
753
+ widgetMounting: [
754
+ {
755
+ mountingConfigId: "topSuggestionBarPDP",
756
+ widgetConfigId: "topSuggestionsBarDenim"
757
+ },
758
+ {
759
+ mountingConfigId: "chatPreviewPDP",
760
+ widgetConfigId: "chatPreviewPDP"
761
+ },
762
+ {
763
+ mountingConfigId: "bottomSuggestionBarPDP",
764
+ widgetConfigId: "bottomSuggestionsBarDenim"
765
+ }
766
+ ]
767
+ },
768
+ {
769
+ variantId: "twill-fleece",
770
+ variantType: "pdp",
771
+ variantTests: [{ testType: PageVariantTestType.UrlResolver }, {
772
+ testType: PageVariantTestType.InCollection,
773
+ collections: [
774
+ "big-mens-sweatpants",
775
+ "kids-fleece",
776
+ "mens-sweatpants",
777
+ "mens-twill-bottoms",
778
+ "kids-twill-pants"
779
+ ]
780
+ }],
781
+ productIdExtractor: "url-resolver-product-id",
782
+ widgetMounting: [
783
+ {
784
+ mountingConfigId: "topSuggestionBarPDP",
785
+ widgetConfigId: "topSuggestionsBarTwillFleece"
786
+ },
787
+ {
788
+ mountingConfigId: "chatPreviewPDP",
789
+ widgetConfigId: "chatPreviewPDP"
790
+ },
791
+ {
792
+ mountingConfigId: "bottomSuggestionBarPDP",
793
+ widgetConfigId: "bottomSuggestionsBarTwillFleece"
794
+ }
795
+ ]
796
+ },
797
+ {
798
+ variantId: "shorts",
799
+ variantType: "pdp",
800
+ variantTests: [{ testType: PageVariantTestType.UrlResolver }, {
801
+ testType: PageVariantTestType.InCollection,
802
+ collections: [
803
+ "kids-shorts",
804
+ "big-mens-shorts",
805
+ "shorts"
806
+ ]
807
+ }],
808
+ productIdExtractor: "url-resolver-product-id",
809
+ widgetMounting: [
810
+ {
811
+ mountingConfigId: "topSuggestionBarPDP",
812
+ widgetConfigId: "topSuggestionsBarShorts"
813
+ },
814
+ {
815
+ mountingConfigId: "chatPreviewPDP",
816
+ widgetConfigId: "chatPreviewPDP"
817
+ },
818
+ {
819
+ mountingConfigId: "bottomSuggestionBarPDP",
820
+ widgetConfigId: "bottomSuggestionsBarShorts"
821
+ }
822
+ ]
823
+ },
824
+ {
825
+ variantId: "accessories",
826
+ variantType: "pdp",
827
+ variantTests: [{ testType: PageVariantTestType.UrlResolver }, {
828
+ testType: PageVariantTestType.InCollection,
829
+ collections: ["bag-collection"]
830
+ }],
831
+ productIdExtractor: "url-resolver-product-id",
832
+ widgetMounting: [
833
+ {
834
+ mountingConfigId: "topSuggestionBarPDP",
835
+ widgetConfigId: "topSuggestionsBarAccessories"
836
+ },
837
+ {
838
+ mountingConfigId: "chatPreviewPDP",
839
+ widgetConfigId: "chatPreviewPDP"
840
+ },
841
+ {
842
+ mountingConfigId: "bottomSuggestionBarPDP",
843
+ widgetConfigId: "bottomSuggestionsBarAccessories"
844
+ }
845
+ ]
846
+ },
847
+ {
848
+ variantId: "footwear",
849
+ variantType: "pdp",
850
+ variantTests: [{ testType: PageVariantTestType.UrlResolver }, {
851
+ testType: PageVariantTestType.InCollection,
852
+ collections: ["footwear-collection"]
853
+ }],
854
+ productIdExtractor: "url-resolver-product-id",
855
+ widgetMounting: [
856
+ {
857
+ mountingConfigId: "topSuggestionBarPDP",
858
+ widgetConfigId: "topSuggestionsBarFootwear"
859
+ },
860
+ {
861
+ mountingConfigId: "chatPreviewPDP",
862
+ widgetConfigId: "chatPreviewPDP"
863
+ },
864
+ {
865
+ mountingConfigId: "bottomSuggestionBarPDP",
866
+ widgetConfigId: "bottomSuggestionsBarFootwear"
867
+ }
868
+ ]
869
+ },
870
+ {
871
+ variantId: "pdp",
872
+ variantType: "pdp",
873
+ variantTests: [{ testType: PageVariantTestType.UrlResolver }],
874
+ productIdExtractor: "url-resolver-product-id",
875
+ widgetMounting: [
876
+ {
877
+ mountingConfigId: "topSuggestionBarPDP",
878
+ widgetConfigId: "topSuggestionsBar"
879
+ },
880
+ {
881
+ mountingConfigId: "chatPreviewPDP",
882
+ widgetConfigId: "chatPreviewPDP"
883
+ },
884
+ {
885
+ mountingConfigId: "bottomSuggestionBarPDP",
886
+ widgetConfigId: "bottomSuggestionsBar"
887
+ }
888
+ ]
889
+ }
890
+ ],
891
+ widgetConfigs: {
892
+ searchIconEntryPoint: {
893
+ widgetConfigId: "searchIconEntryPoint",
894
+ type: WidgetType.SearchZeroStateEntryPoint,
895
+ searchZeroStateVariant: "backgroundTertiary",
896
+ searchInputVariant: "standard",
897
+ suggestionButtonConfig: {
898
+ variant: "darkAccent",
899
+ hoverVariant: "secondaryAccent",
900
+ borderRadius: "md"
901
+ },
902
+ layout: "icon",
903
+ searchIconVariant: "bold",
904
+ searchIconSize: 26,
905
+ searchBoxPlaceholder: "Try \"Jeans that work for all body types\"",
906
+ initialSuggestions: [
907
+ "Stone washed jeans",
908
+ "White torn up jeans",
909
+ "Black soft t-shirt",
910
+ "Black moto-inspired jeans",
911
+ "Graphic t-shirt"
912
+ ],
913
+ usingPortal: true
914
+ },
915
+ searchOverlayHost: {
916
+ widgetConfigId: "searchOverlayHost",
917
+ type: WidgetType.SearchOverlayHost
918
+ },
919
+ searchResultsEntryPoint: {
920
+ widgetConfigId: "searchResultsEntryPoint",
921
+ type: WidgetType.SearchResultsEntryPoint,
922
+ searchBoxPlaceholder: "Try \"Modern skinny jeans\"",
923
+ productGridVariant: "standard",
924
+ searchFilterSidebarVariant: "darkButton",
925
+ searchInputVariant: "standard"
926
+ },
927
+ chatPreviewPDP: {
928
+ widgetConfigId: "chatPreviewPDP",
929
+ type: WidgetType.ChatPreview,
930
+ variant: "flat"
931
+ },
932
+ chatPreviewPLP: {
933
+ widgetConfigId: "chatPreviewPLP",
934
+ type: WidgetType.ChatPreview,
935
+ variant: "flat",
936
+ addSeparators: true,
937
+ footerConfig: {
938
+ replyButtonText: "What can I help you find?",
939
+ replyButtonIcon: "magnifyingGlass"
940
+ }
941
+ },
942
+ topSuggestionsBar: {
943
+ widgetConfigId: "topSuggestionsBar",
944
+ contentId: "spiffy-top-suggestion-bar-contents",
945
+ metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
946
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
947
+ type: WidgetType.SuggestionBarV2,
948
+ variant: "secondary",
949
+ hoverVariant: "secondaryDark",
950
+ animationSpeed: "none",
951
+ buttonBorderRadius: "md",
952
+ boldFirstButton: true,
953
+ buttonTexts: { default: [
954
+ "How do they fit?",
955
+ "What's unique about this?",
956
+ "What's the current deals?"
957
+ ] }
958
+ },
959
+ bottomSuggestionsBar: {
960
+ widgetConfigId: "bottomSuggestionsBar",
961
+ contentId: "spiffy-top-suggestion-bar-contents",
962
+ metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
963
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
964
+ type: WidgetType.SuggestionBarV2,
965
+ variant: "darkPrimary",
966
+ hoverVariant: "secondaryDark",
967
+ animationSpeed: "none",
968
+ buttonBorderRadius: "md",
969
+ boldFirstButton: true,
970
+ buttonTexts: { default: [
971
+ "How do they fit?",
972
+ "What's unique about this?",
973
+ "What's the current deals?"
974
+ ] }
975
+ },
976
+ topSuggestionsBarOuterwear: {
977
+ widgetConfigId: "topSuggestionsBarOuterwear",
978
+ contentId: "spiffy-top-suggestion-bar-contents",
979
+ metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
980
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
981
+ type: WidgetType.SuggestionBarV2,
982
+ variant: "secondary",
983
+ hoverVariant: "secondaryDark",
984
+ animationSpeed: "none",
985
+ buttonBorderRadius: "md",
986
+ boldFirstButton: true,
987
+ buttonTexts: { default: [
988
+ "How insulated is this jacket?",
989
+ "What material is it made of?",
990
+ "Can I layer this over a hoodie?",
991
+ "Does the material stretch?",
992
+ "Does it run small?"
993
+ ] }
994
+ },
995
+ bottomSuggestionsBarOuterwear: {
996
+ widgetConfigId: "bottomSuggestionsBarOuterwear",
997
+ contentId: "spiffy-top-suggestion-bar-contents",
998
+ metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
999
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1000
+ type: WidgetType.SuggestionBarV2,
1001
+ variant: "darkPrimary",
1002
+ hoverVariant: "secondaryDark",
1003
+ animationSpeed: "none",
1004
+ buttonBorderRadius: "md",
1005
+ boldFirstButton: true,
1006
+ buttonTexts: { default: [
1007
+ "How insulated is this jacket?",
1008
+ "What material is it made of?",
1009
+ "Can I layer this over a hoodie?",
1010
+ "Does the material stretch?",
1011
+ "Does it run small?"
1012
+ ] }
1013
+ },
1014
+ topSuggestionsBarTshirts: {
1015
+ widgetConfigId: "topSuggestionsBarTshirts",
1016
+ contentId: "spiffy-top-suggestion-bar-contents",
1017
+ metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1018
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1019
+ type: WidgetType.SuggestionBarV2,
1020
+ variant: "secondary",
1021
+ hoverVariant: "secondaryDark",
1022
+ animationSpeed: "none",
1023
+ buttonBorderRadius: "md",
1024
+ boldFirstButton: true,
1025
+ buttonTexts: { default: [
1026
+ "How does it fit?",
1027
+ "Will it shrink after washing?",
1028
+ "How does it feel?",
1029
+ "Which bottoms does it pair with?"
1030
+ ] }
1031
+ },
1032
+ bottomSuggestionsBarTshirts: {
1033
+ widgetConfigId: "bottomSuggestionsBarTshirts",
1034
+ contentId: "spiffy-top-suggestion-bar-contents",
1035
+ metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1036
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1037
+ type: WidgetType.SuggestionBarV2,
1038
+ variant: "darkPrimary",
1039
+ hoverVariant: "secondaryDark",
1040
+ animationSpeed: "none",
1041
+ buttonBorderRadius: "md",
1042
+ boldFirstButton: true,
1043
+ buttonTexts: { default: [
1044
+ "How does it fit?",
1045
+ "Will it shrink after washing?",
1046
+ "How does it feel?",
1047
+ "Which bottoms does it pair with?"
1048
+ ] }
1049
+ },
1050
+ topSuggestionsBarSweatshirts: {
1051
+ widgetConfigId: "topSuggestionsBarSweatshirts",
1052
+ contentId: "spiffy-top-suggestion-bar-contents",
1053
+ metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1054
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1055
+ type: WidgetType.SuggestionBarV2,
1056
+ variant: "secondary",
1057
+ hoverVariant: "secondaryDark",
1058
+ animationSpeed: "none",
1059
+ buttonBorderRadius: "md",
1060
+ boldFirstButton: true,
1061
+ buttonTexts: { default: [
1062
+ "How does it fit?",
1063
+ "How does it feel?",
1064
+ "What's the style?",
1065
+ "Does it pair with sweatpants?"
1066
+ ] }
1067
+ },
1068
+ bottomSuggestionsBarSweatshirts: {
1069
+ widgetConfigId: "bottomSuggestionsBarSweatshirts",
1070
+ contentId: "spiffy-top-suggestion-bar-contents",
1071
+ metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1072
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1073
+ type: WidgetType.SuggestionBarV2,
1074
+ variant: "darkPrimary",
1075
+ hoverVariant: "secondaryDark",
1076
+ animationSpeed: "none",
1077
+ buttonBorderRadius: "md",
1078
+ boldFirstButton: true,
1079
+ buttonTexts: { default: [
1080
+ "How does it fit?",
1081
+ "How does it feel?",
1082
+ "What's the style?",
1083
+ "Does it pair with sweatshirts?"
1084
+ ] }
1085
+ },
1086
+ topSuggestionsBarSweatpants: {
1087
+ widgetConfigId: "topSuggestionsBarSweatpants",
1088
+ contentId: "spiffy-top-suggestion-bar-contents",
1089
+ metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1090
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1091
+ type: WidgetType.SuggestionBarV2,
1092
+ variant: "secondary",
1093
+ hoverVariant: "secondaryDark",
1094
+ animationSpeed: "none",
1095
+ buttonBorderRadius: "md",
1096
+ boldFirstButton: true,
1097
+ buttonTexts: { default: [
1098
+ "How does it fit?",
1099
+ "How does it feel?",
1100
+ "What's the style?",
1101
+ "Does it pair with sweatshirts?"
1102
+ ] }
1103
+ },
1104
+ bottomSuggestionsBarSweatpants: {
1105
+ widgetConfigId: "bottomSuggestionsBarSweatpants",
1106
+ contentId: "spiffy-top-suggestion-bar-contents",
1107
+ metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1108
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1109
+ type: WidgetType.SuggestionBarV2,
1110
+ variant: "darkPrimary",
1111
+ hoverVariant: "secondaryDark",
1112
+ animationSpeed: "none",
1113
+ buttonBorderRadius: "md",
1114
+ boldFirstButton: true,
1115
+ buttonTexts: { default: [
1116
+ "How does it fit?",
1117
+ "How does it feel?",
1118
+ "What's the style?",
1119
+ "Does it pair with sweatshirts?"
1120
+ ] }
1121
+ },
1122
+ topSuggestionsBarGraphic: {
1123
+ widgetConfigId: "topSuggestionsBarGraphic",
1124
+ contentId: "spiffy-top-suggestion-bar-contents",
1125
+ metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1126
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1127
+ type: WidgetType.SuggestionBarV2,
1128
+ variant: "secondary",
1129
+ hoverVariant: "secondaryDark",
1130
+ animationSpeed: "none",
1131
+ buttonBorderRadius: "md",
1132
+ boldFirstButton: true,
1133
+ buttonTexts: { default: [
1134
+ "What is the style? (Work/tech/street)",
1135
+ "What is the sleeve length?",
1136
+ "Does it pair with bottoms?"
1137
+ ] }
1138
+ },
1139
+ bottomSuggestionsBarGraphic: {
1140
+ widgetConfigId: "bottomSuggestionsBarGraphic",
1141
+ contentId: "spiffy-top-suggestion-bar-contents",
1142
+ metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1143
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1144
+ type: WidgetType.SuggestionBarV2,
1145
+ variant: "darkPrimary",
1146
+ hoverVariant: "secondaryDark",
1147
+ animationSpeed: "none",
1148
+ buttonBorderRadius: "md",
1149
+ boldFirstButton: true,
1150
+ buttonTexts: { default: [
1151
+ "What is the style? (Work/tech/street)",
1152
+ "What is the sleeve length?",
1153
+ "Does it pair with bottoms?"
1154
+ ] }
1155
+ },
1156
+ topSuggestionsBarDenim: {
1157
+ widgetConfigId: "topSuggestionsBarDenim",
1158
+ contentId: "spiffy-top-suggestion-bar-contents",
1159
+ metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1160
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1161
+ type: WidgetType.SuggestionBarV2,
1162
+ variant: "secondary",
1163
+ hoverVariant: "secondaryDark",
1164
+ animationSpeed: "none",
1165
+ buttonBorderRadius: "md",
1166
+ boldFirstButton: true,
1167
+ buttonTexts: { default: [
1168
+ "How do they fit?",
1169
+ "What size should I get?",
1170
+ "What's the rise?",
1171
+ "What's the material?"
1172
+ ] }
1173
+ },
1174
+ bottomSuggestionsBarDenim: {
1175
+ widgetConfigId: "bottomSuggestionsBarDenim",
1176
+ contentId: "spiffy-top-suggestion-bar-contents",
1177
+ metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1178
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1179
+ type: WidgetType.SuggestionBarV2,
1180
+ variant: "darkPrimary",
1181
+ hoverVariant: "secondaryDark",
1182
+ animationSpeed: "none",
1183
+ buttonBorderRadius: "md",
1184
+ boldFirstButton: true,
1185
+ buttonTexts: { default: [
1186
+ "How do they fit?",
1187
+ "What size should I get?",
1188
+ "What's the rise?",
1189
+ "What's the material?"
1190
+ ] }
1191
+ },
1192
+ topSuggestionsBarTwillFleece: {
1193
+ widgetConfigId: "topSuggestionsBarTwillFleece",
1194
+ contentId: "spiffy-top-suggestion-bar-contents",
1195
+ metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1196
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1197
+ type: WidgetType.SuggestionBarV2,
1198
+ variant: "secondary",
1199
+ hoverVariant: "secondaryDark",
1200
+ buttonBorderRadius: "md",
1201
+ boldFirstButton: true,
1202
+ buttonTexts: { default: [
1203
+ "Are these true to size?",
1204
+ "What size should I get?",
1205
+ "How does it feel?",
1206
+ "Do they stretch out over time?",
1207
+ "What's the fit/style?"
1208
+ ] }
1209
+ },
1210
+ bottomSuggestionsBarTwillFleece: {
1211
+ widgetConfigId: "bottomSuggestionsBarTwillFleece",
1212
+ contentId: "spiffy-top-suggestion-bar-contents",
1213
+ metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1214
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1215
+ type: WidgetType.SuggestionBarV2,
1216
+ variant: "darkPrimary",
1217
+ hoverVariant: "secondaryDark",
1218
+ animationSpeed: "none",
1219
+ buttonBorderRadius: "md",
1220
+ boldFirstButton: true,
1221
+ buttonTexts: { default: [
1222
+ "Are these true to size?",
1223
+ "What size should I get?",
1224
+ "How does it feel?",
1225
+ "Do they stretch out over time?",
1226
+ "What's the fit/style?"
1227
+ ] }
1228
+ },
1229
+ topSuggestionsBarShorts: {
1230
+ widgetConfigId: "topSuggestionsBarShorts",
1231
+ contentId: "spiffy-top-suggestion-bar-contents",
1232
+ metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1233
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1234
+ type: WidgetType.SuggestionBarV2,
1235
+ variant: "secondary",
1236
+ hoverVariant: "secondaryDark",
1237
+ animationSpeed: "none",
1238
+ buttonBorderRadius: "md",
1239
+ boldFirstButton: true,
1240
+ buttonTexts: { default: [
1241
+ "How far down does it go?",
1242
+ "Are these true to size?",
1243
+ "What size should I get?",
1244
+ "How does it feel?",
1245
+ "Do they stretch out over time?",
1246
+ "What's the fit/style?"
1247
+ ] }
1248
+ },
1249
+ bottomSuggestionsBarShorts: {
1250
+ widgetConfigId: "bottomSuggestionsBarShorts",
1251
+ contentId: "spiffy-top-suggestion-bar-contents",
1252
+ metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1253
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1254
+ type: WidgetType.SuggestionBarV2,
1255
+ variant: "darkPrimary",
1256
+ hoverVariant: "secondaryDark",
1257
+ animationSpeed: "none",
1258
+ buttonBorderRadius: "md",
1259
+ boldFirstButton: true,
1260
+ buttonTexts: { default: [
1261
+ "How far down does it go?",
1262
+ "Are these true to size?",
1263
+ "What size should I get?",
1264
+ "How does it feel?",
1265
+ "Do they stretch out over time?",
1266
+ "What's the fit/style?"
1267
+ ] }
1268
+ },
1269
+ topSuggestionsBarAccessories: {
1270
+ widgetConfigId: "topSuggestionsBarAccessories",
1271
+ contentId: "spiffy-top-suggestion-bar-contents",
1272
+ metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1273
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1274
+ type: WidgetType.SuggestionBarV2,
1275
+ variant: "secondary",
1276
+ hoverVariant: "secondaryDark",
1277
+ animationSpeed: "none",
1278
+ buttonBorderRadius: "md",
1279
+ boldFirstButton: true,
1280
+ buttonTexts: { default: [
1281
+ "How does it enhance my outfit?",
1282
+ "Is it good for everyday use?",
1283
+ "Is it water resistant?",
1284
+ "Is it carry-on size?"
1285
+ ] }
1286
+ },
1287
+ bottomSuggestionsBarAccessories: {
1288
+ widgetConfigId: "bottomSuggestionsBarAccessories",
1289
+ contentId: "spiffy-top-suggestion-bar-contents",
1290
+ metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1291
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1292
+ type: WidgetType.SuggestionBarV2,
1293
+ variant: "darkPrimary",
1294
+ hoverVariant: "secondaryDark",
1295
+ animationSpeed: "none",
1296
+ buttonBorderRadius: "md",
1297
+ boldFirstButton: true,
1298
+ buttonTexts: { default: [
1299
+ "How does it enhance my outfit?",
1300
+ "Is it good for everyday use?",
1301
+ "Is it water resistant?",
1302
+ "Is it carry-on size?"
1303
+ ] }
1304
+ },
1305
+ topSuggestionsBarFootwear: {
1306
+ widgetConfigId: "topSuggestionsBar",
1307
+ contentId: "spiffy-top-suggestion-bar-contents",
1308
+ metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1309
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1310
+ type: WidgetType.SuggestionBarV2,
1311
+ variant: "secondary",
1312
+ hoverVariant: "secondaryDark",
1313
+ animationSpeed: "none",
1314
+ buttonBorderRadius: "md",
1315
+ boldFirstButton: true,
1316
+ buttonTexts: { default: ["What size should I choose?", "Are they good for everyday wear?"] }
1317
+ },
1318
+ bottomSuggestionsBarFootwear: {
1319
+ widgetConfigId: "bottomSuggestionsBarFootwear",
1320
+ contentId: "spiffy-top-suggestion-bar-contents",
1321
+ metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1322
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1323
+ type: WidgetType.SuggestionBarV2,
1324
+ variant: "darkPrimary",
1325
+ hoverVariant: "secondaryDark",
1326
+ animationSpeed: "none",
1327
+ buttonBorderRadius: "md",
1328
+ boldFirstButton: true,
1329
+ buttonTexts: { default: [
1330
+ "What size should I choose?",
1331
+ "Are they good for everyday wear?",
1332
+ "How do they fit?",
1333
+ "What material are they made of?"
1334
+ ] }
1335
+ },
1336
+ topSuggestionsBarOuterwearWithReviews: {
1337
+ widgetConfigId: "topSuggestionsBarOuterwearWithReviews",
1338
+ contentId: "spiffy-top-suggestion-bar-contents",
1339
+ metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1340
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1341
+ type: WidgetType.SuggestionBarV2,
1342
+ variant: "secondary",
1343
+ hoverVariant: "secondaryDark",
1344
+ animationSpeed: "none",
1345
+ buttonBorderRadius: "md",
1346
+ boldFirstButton: true,
1347
+ buttonTexts: { default: [
1348
+ "Summarize the reviews.",
1349
+ "How insulated is this jacket?",
1350
+ "What material is it made of?",
1351
+ "Can I layer this over a hoodie?",
1352
+ "Does the material stretch?",
1353
+ "Does it run small?"
1354
+ ] }
1355
+ },
1356
+ bottomSuggestionsBarOuterwearWithReviews: {
1357
+ widgetConfigId: "bottomSuggestionsBarOuterwearWithReviews",
1358
+ contentId: "spiffy-bottom-suggestion-bar-contents",
1359
+ metricDisplayLocation: ChatElementDisplayLocation.BOTTOM_REVIEWS_SNIPPET,
1360
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_BOTTOM,
1361
+ type: WidgetType.SuggestionBarV2,
1362
+ variant: "darkPrimary",
1363
+ hoverVariant: "secondaryDark",
1364
+ animationSpeed: "none",
1365
+ buttonBorderRadius: "md",
1366
+ boldFirstButton: true,
1367
+ buttonTexts: { default: [
1368
+ "Summarize the reviews.",
1369
+ "How insulated is this jacket?",
1370
+ "What material is it made of?",
1371
+ "Can I layer this over a hoodie?",
1372
+ "Does the material stretch?",
1373
+ "Does it run small?"
1374
+ ] }
1375
+ },
1376
+ topSuggestionsBarTshirtsWithReviews: {
1377
+ widgetConfigId: "topSuggestionsBarTshirtsWithReviews",
1378
+ contentId: "spiffy-top-suggestion-bar-contents",
1379
+ metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1380
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1381
+ type: WidgetType.SuggestionBarV2,
1382
+ variant: "secondary",
1383
+ hoverVariant: "secondaryDark",
1384
+ animationSpeed: "none",
1385
+ buttonBorderRadius: "md",
1386
+ boldFirstButton: true,
1387
+ buttonTexts: { default: [
1388
+ "Summarize the reviews.",
1389
+ "How does it fit?",
1390
+ "What material is it made of?",
1391
+ "Does it shrink in the wash?",
1392
+ "Is it true to size?",
1393
+ "What colors does it come in?"
1394
+ ] }
1395
+ },
1396
+ bottomSuggestionsBarTshirtsWithReviews: {
1397
+ widgetConfigId: "bottomSuggestionsBarTshirtsWithReviews",
1398
+ contentId: "spiffy-bottom-suggestion-bar-contents",
1399
+ metricDisplayLocation: ChatElementDisplayLocation.BOTTOM_REVIEWS_SNIPPET,
1400
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_BOTTOM,
1401
+ type: WidgetType.SuggestionBarV2,
1402
+ variant: "darkPrimary",
1403
+ hoverVariant: "secondaryDark",
1404
+ animationSpeed: "none",
1405
+ buttonBorderRadius: "md",
1406
+ boldFirstButton: true,
1407
+ buttonTexts: { default: [
1408
+ "Summarize the reviews.",
1409
+ "How does it fit?",
1410
+ "What material is it made of?",
1411
+ "Does it shrink in the wash?",
1412
+ "Is it true to size?",
1413
+ "What colors does it come in?"
1414
+ ] }
1415
+ },
1416
+ topSuggestionsBarSweatshirtsWithReviews: {
1417
+ widgetConfigId: "topSuggestionsBarSweatshirtsWithReviews",
1418
+ contentId: "spiffy-top-suggestion-bar-contents",
1419
+ metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1420
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1421
+ type: WidgetType.SuggestionBarV2,
1422
+ variant: "secondary",
1423
+ hoverVariant: "secondaryDark",
1424
+ animationSpeed: "none",
1425
+ buttonBorderRadius: "md",
1426
+ boldFirstButton: true,
1427
+ buttonTexts: { default: [
1428
+ "Summarize the reviews.",
1429
+ "How does it fit?",
1430
+ "How does it feel?",
1431
+ "What's the style?",
1432
+ "Does it pair with sweatpants?",
1433
+ "Is it warm enough for winter?"
1434
+ ] }
1435
+ },
1436
+ bottomSuggestionsBarSweatshirtsWithReviews: {
1437
+ widgetConfigId: "bottomSuggestionsBarSweatshirtsWithReviews",
1438
+ contentId: "spiffy-bottom-suggestion-bar-contents",
1439
+ metricDisplayLocation: ChatElementDisplayLocation.BOTTOM_REVIEWS_SNIPPET,
1440
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_BOTTOM,
1441
+ type: WidgetType.SuggestionBarV2,
1442
+ variant: "darkPrimary",
1443
+ hoverVariant: "secondaryDark",
1444
+ animationSpeed: "none",
1445
+ buttonBorderRadius: "md",
1446
+ boldFirstButton: true,
1447
+ buttonTexts: { default: [
1448
+ "Summarize the reviews.",
1449
+ "How does it fit?",
1450
+ "How does it feel?",
1451
+ "What's the style?",
1452
+ "Does it pair with sweatpants?",
1453
+ "Is it warm enough for winter?"
1454
+ ] }
1455
+ },
1456
+ topSuggestionsBarSweatpantsWithReviews: {
1457
+ widgetConfigId: "topSuggestionsBarSweatpantsWithReviews",
1458
+ contentId: "spiffy-top-suggestion-bar-contents",
1459
+ metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1460
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1461
+ type: WidgetType.SuggestionBarV2,
1462
+ variant: "secondary",
1463
+ hoverVariant: "secondaryDark",
1464
+ animationSpeed: "none",
1465
+ buttonBorderRadius: "md",
1466
+ boldFirstButton: true,
1467
+ buttonTexts: { default: [
1468
+ "Summarize the reviews.",
1469
+ "How does it fit?",
1470
+ "How does it feel?",
1471
+ "What's the style?",
1472
+ "Does it pair with sweatshirts?",
1473
+ "Are they true to size?"
1474
+ ] }
1475
+ },
1476
+ bottomSuggestionsBarSweatpantsWithReviews: {
1477
+ widgetConfigId: "bottomSuggestionsBarSweatpantsWithReviews",
1478
+ contentId: "spiffy-bottom-suggestion-bar-contents",
1479
+ metricDisplayLocation: ChatElementDisplayLocation.BOTTOM_REVIEWS_SNIPPET,
1480
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_BOTTOM,
1481
+ type: WidgetType.SuggestionBarV2,
1482
+ variant: "darkPrimary",
1483
+ hoverVariant: "secondaryDark",
1484
+ animationSpeed: "none",
1485
+ buttonBorderRadius: "md",
1486
+ boldFirstButton: true,
1487
+ buttonTexts: { default: [
1488
+ "Summarize the reviews.",
1489
+ "How does it fit?",
1490
+ "How does it feel?",
1491
+ "What's the style?",
1492
+ "Does it pair with sweatshirts?",
1493
+ "Are they true to size?"
1494
+ ] }
1495
+ },
1496
+ topSuggestionsBarDenimWithReviews: {
1497
+ widgetConfigId: "topSuggestionsBarDenimWithReviews",
1498
+ contentId: "spiffy-top-suggestion-bar-contents",
1499
+ metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1500
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1501
+ type: WidgetType.SuggestionBarV2,
1502
+ variant: "secondary",
1503
+ hoverVariant: "secondaryDark",
1504
+ animationSpeed: "none",
1505
+ buttonBorderRadius: "md",
1506
+ boldFirstButton: true,
1507
+ buttonTexts: { default: [
1508
+ "Summarize the reviews.",
1509
+ "How do they fit?",
1510
+ "What size should I get?",
1511
+ "What's the rise?",
1512
+ "What's the material?",
1513
+ "Do they stretch?"
1514
+ ] }
1515
+ },
1516
+ bottomSuggestionsBarDenimWithReviews: {
1517
+ widgetConfigId: "bottomSuggestionsBarDenimWithReviews",
1518
+ contentId: "spiffy-bottom-suggestion-bar-contents",
1519
+ metricDisplayLocation: ChatElementDisplayLocation.BOTTOM_REVIEWS_SNIPPET,
1520
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_BOTTOM,
1521
+ type: WidgetType.SuggestionBarV2,
1522
+ variant: "darkPrimary",
1523
+ hoverVariant: "secondaryDark",
1524
+ animationSpeed: "none",
1525
+ buttonBorderRadius: "md",
1526
+ boldFirstButton: true,
1527
+ buttonTexts: { default: [
1528
+ "Summarize the reviews.",
1529
+ "How do they fit?",
1530
+ "What size should I get?",
1531
+ "What's the rise?",
1532
+ "What's the material?",
1533
+ "Do they stretch?"
1534
+ ] }
1535
+ },
1536
+ topSuggestionsBarTwillFleeceWithReviews: {
1537
+ widgetConfigId: "topSuggestionsBarTwillFleeceWithReviews",
1538
+ contentId: "spiffy-top-suggestion-bar-contents",
1539
+ metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1540
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1541
+ type: WidgetType.SuggestionBarV2,
1542
+ variant: "secondary",
1543
+ hoverVariant: "secondaryDark",
1544
+ animationSpeed: "none",
1545
+ buttonBorderRadius: "md",
1546
+ boldFirstButton: true,
1547
+ buttonTexts: { default: [
1548
+ "Summarize the reviews.",
1549
+ "Are these true to size?",
1550
+ "What size should I get?",
1551
+ "How does it feel?",
1552
+ "Do they stretch out over time?",
1553
+ "What's the fit/style?"
1554
+ ] }
1555
+ },
1556
+ bottomSuggestionsBarTwillFleeceWithReviews: {
1557
+ widgetConfigId: "bottomSuggestionsBarTwillFleeceWithReviews",
1558
+ contentId: "spiffy-bottom-suggestion-bar-contents",
1559
+ metricDisplayLocation: ChatElementDisplayLocation.BOTTOM_REVIEWS_SNIPPET,
1560
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_BOTTOM,
1561
+ type: WidgetType.SuggestionBarV2,
1562
+ variant: "darkPrimary",
1563
+ hoverVariant: "secondaryDark",
1564
+ animationSpeed: "none",
1565
+ buttonBorderRadius: "md",
1566
+ boldFirstButton: true,
1567
+ buttonTexts: { default: [
1568
+ "Summarize the reviews.",
1569
+ "Are these true to size?",
1570
+ "What size should I get?",
1571
+ "How does it feel?",
1572
+ "Do they stretch out over time?",
1573
+ "What's the fit/style?"
1574
+ ] }
1575
+ },
1576
+ topSuggestionsBarShortsWithReviews: {
1577
+ widgetConfigId: "topSuggestionsBarShortsWithReviews",
1578
+ contentId: "spiffy-top-suggestion-bar-contents",
1579
+ metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1580
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1581
+ type: WidgetType.SuggestionBarV2,
1582
+ variant: "secondary",
1583
+ hoverVariant: "secondaryDark",
1584
+ animationSpeed: "none",
1585
+ buttonBorderRadius: "md",
1586
+ boldFirstButton: true,
1587
+ buttonTexts: { default: [
1588
+ "Summarize the reviews.",
1589
+ "How far down does it go?",
1590
+ "Are these true to size?",
1591
+ "What size should I get?",
1592
+ "How does it feel?",
1593
+ "Do they stretch out over time?",
1594
+ "What's the fit/style?"
1595
+ ] }
1596
+ },
1597
+ bottomSuggestionsBarShortsWithReviews: {
1598
+ widgetConfigId: "bottomSuggestionsBarShortsWithReviews",
1599
+ contentId: "spiffy-bottom-suggestion-bar-contents",
1600
+ metricDisplayLocation: ChatElementDisplayLocation.BOTTOM_REVIEWS_SNIPPET,
1601
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_BOTTOM,
1602
+ type: WidgetType.SuggestionBarV2,
1603
+ variant: "darkPrimary",
1604
+ hoverVariant: "secondaryDark",
1605
+ animationSpeed: "none",
1606
+ buttonBorderRadius: "md",
1607
+ boldFirstButton: true,
1608
+ buttonTexts: { default: [
1609
+ "Summarize the reviews.",
1610
+ "How far down does it go?",
1611
+ "Are these true to size?",
1612
+ "What size should I get?",
1613
+ "How does it feel?",
1614
+ "Do they stretch out over time?",
1615
+ "What's the fit/style?"
1616
+ ] }
1617
+ },
1618
+ topSuggestionsBarAccessoriesWithReviews: {
1619
+ widgetConfigId: "topSuggestionsBarAccessoriesWithReviews",
1620
+ contentId: "spiffy-top-suggestion-bar-contents",
1621
+ metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1622
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1623
+ type: WidgetType.SuggestionBarV2,
1624
+ variant: "secondary",
1625
+ hoverVariant: "secondaryDark",
1626
+ animationSpeed: "none",
1627
+ buttonBorderRadius: "md",
1628
+ boldFirstButton: true,
1629
+ buttonTexts: { default: [
1630
+ "Summarize the reviews.",
1631
+ "How does it enhance my outfit?",
1632
+ "Is it good for everyday use?",
1633
+ "Is it water resistant?",
1634
+ "Is it carry-on size?"
1635
+ ] }
1636
+ },
1637
+ bottomSuggestionsBarAccessoriesWithReviews: {
1638
+ widgetConfigId: "bottomSuggestionsBarAccessoriesWithReviews",
1639
+ contentId: "spiffy-bottom-suggestion-bar-contents",
1640
+ metricDisplayLocation: ChatElementDisplayLocation.BOTTOM_REVIEWS_SNIPPET,
1641
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_BOTTOM,
1642
+ type: WidgetType.SuggestionBarV2,
1643
+ variant: "darkPrimary",
1644
+ hoverVariant: "secondaryDark",
1645
+ animationSpeed: "none",
1646
+ buttonBorderRadius: "md",
1647
+ boldFirstButton: true,
1648
+ buttonTexts: { default: [
1649
+ "Summarize the reviews.",
1650
+ "How does it enhance my outfit?",
1651
+ "Is it good for everyday use?",
1652
+ "Is it water resistant?",
1653
+ "Is it carry-on size?"
1654
+ ] }
1655
+ },
1656
+ topSuggestionsBarFootwearWithReviews: {
1657
+ widgetConfigId: "topSuggestionsBarFootwearWithReviews",
1658
+ contentId: "spiffy-top-suggestion-bar-contents",
1659
+ metricDisplayLocation: ChatElementDisplayLocation.TOP_REVIEWS_SNIPPET,
1660
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_TOP,
1661
+ type: WidgetType.SuggestionBarV2,
1662
+ variant: "secondary",
1663
+ hoverVariant: "secondaryDark",
1664
+ animationSpeed: "none",
1665
+ buttonBorderRadius: "md",
1666
+ boldFirstButton: true,
1667
+ buttonTexts: { default: [
1668
+ "Summarize the reviews.",
1669
+ "What size should I choose?",
1670
+ "Are they good for everyday wear?",
1671
+ "How do they fit?",
1672
+ "What material are they made of?"
1673
+ ] }
1674
+ },
1675
+ bottomSuggestionsBarFootwearWithReviews: {
1676
+ widgetConfigId: "bottomSuggestionsBarFootwearWithReviews",
1677
+ contentId: "spiffy-bottom-suggestion-bar-contents",
1678
+ metricDisplayLocation: ChatElementDisplayLocation.BOTTOM_REVIEWS_SNIPPET,
1679
+ location: SuggestionBarLocationForMetrics.SUGGESTION_BAR_BOTTOM,
1680
+ type: WidgetType.SuggestionBarV2,
1681
+ variant: "darkPrimary",
1682
+ hoverVariant: "secondaryDark",
1683
+ animationSpeed: "none",
1684
+ buttonBorderRadius: "md",
1685
+ boldFirstButton: true,
1686
+ buttonTexts: { default: [
1687
+ "Summarize the reviews.",
1688
+ "What size should I choose?",
1689
+ "Are they good for everyday wear?",
1690
+ "How do they fit?",
1691
+ "What material are they made of?"
1692
+ ] }
1693
+ }
1694
+ },
1695
+ mountingConfigs: {
1696
+ searchIconEntryPoint: {
1697
+ mountingConfigId: "searchIconEntryPoint",
1698
+ containerId: GLOBAL_SEARCH_ENTRYPOINT_ID,
1699
+ testId: GLOBAL_SEARCH_ENTRYPOINT_TESTID,
1700
+ insertionPoint: {
1701
+ selector: ".header__secondary-nav a[href=\"/search\"]",
1702
+ insertionType: DOMInsertionType.BEFORE
1703
+ },
1704
+ suppressionSelector: "a[href=\"/search\"]",
1705
+ className: "global-entry-desktop"
1706
+ },
1707
+ searchOverlayHost: {
1708
+ mountingConfigId: "searchOverlayHost",
1709
+ containerId: SEARCH_OVERLAY_ENTRYPOINT_ID,
1710
+ testId: SEARCH_OVERLAY_HOST_TESTID,
1711
+ insertionPoint: {
1712
+ selector: "body",
1713
+ insertionType: DOMInsertionType.APPEND_CHILD
1714
+ },
1715
+ className: "spiffy-overlay-host"
1716
+ },
1717
+ searchResultsEntryPointPLP: {
1718
+ mountingConfigId: "searchResultsEntryPointPLP",
1719
+ containerId: SEARCH_RESULTS_ENTRYPOINT_ID,
1720
+ testId: SEARCH_RESULTS_ENTRYPOINT_TESTID,
1721
+ insertionPoint: {
1722
+ selector: "#main",
1723
+ insertionType: DOMInsertionType.BEFORE
1724
+ },
1725
+ className: "search-results-entry-point",
1726
+ style: { marginBottom: "60px" }
1727
+ },
1728
+ chatPreviewPLP: {
1729
+ mountingConfigId: "chatPreviewPLP",
1730
+ containerId: CHAT_PREVIEW_CONTAINER_ID,
1731
+ testId: CHAT_PREVIEW_TESTID,
1732
+ insertionPoint: {
1733
+ selector: ".product-list",
1734
+ insertionType: DOMInsertionType.AFTER
1735
+ },
1736
+ gridInsertionType: GridInsertionType.FIXED_8,
1737
+ className: "is-plp",
1738
+ style: {
1739
+ gridRow: "3 / 3",
1740
+ gridColumn: "1 / -1"
1741
+ }
1742
+ },
1743
+ chatPreviewPDP: {
1744
+ mountingConfigId: "chatPreviewPDP",
1745
+ containerId: CHAT_PREVIEW_CONTAINER_ID,
1746
+ testId: CHAT_PREVIEW_TESTID,
1747
+ insertionPoint: {
1748
+ selector: "div[data-block-type=\"description\"].product-info__block-item",
1749
+ insertionType: DOMInsertionType.BEFORE
1750
+ }
1751
+ },
1752
+ topSuggestionBarPDP: {
1753
+ mountingConfigId: "topSuggestionBarPDP",
1754
+ containerId: TOP_SUGGESTION_BAR_PDP_ID,
1755
+ testId: TOP_SUGGESTION_BAR_TESTID,
1756
+ insertionPoint: {
1757
+ selector: "div[data-block-type=\"price\"].product-info__block-item",
1758
+ insertionType: DOMInsertionType.AFTER
1759
+ },
1760
+ style: { marginTop: "15px" }
1761
+ },
1762
+ bottomSuggestionBarPDP: {
1763
+ mountingConfigId: "bottomSuggestionBarPDP",
1764
+ containerId: BOTTOM_REVIEWS_BAR_ID,
1765
+ testId: BOTTOM_SUGGESTION_BAR_TESTID,
1766
+ insertionPoint: {
1767
+ selector: ".oke-w-header",
1768
+ insertionType: DOMInsertionType.AFTER
1769
+ },
1770
+ style: { marginBottom: "15px" }
1771
+ }
1772
+ }
1773
+ });
1774
+ const jordanCraigOrgInfo = {
1775
+ shortName: OrgShortName.JordanCraig,
1776
+ name: "Jordan Craig",
1777
+ domain: "jordancraig.com",
1778
+ defaultProductId: "scallop-t-shirt",
1779
+ alwaysEnabledMerchants: false,
1780
+ orgUIConfig: jordanCraigOrgUIConfig,
1781
+ orgColors: () => jordanCraigColors,
1782
+ orgPageConfig: jordanCraigPageConfig
1783
+ };
1784
+
1785
+ //#endregion
1786
+ export { jordanCraigOrgInfo };
1787
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiam9yZGFuQ3JhaWctQnZDdlBSb1IuanMiLCJuYW1lcyI6WyJqb3JkYW5DcmFpZ0NvbG9yczogQ29sb3JNYXBwaW5nIl0sInNvdXJjZXMiOlsiLi4vc3JjL21lcmNoYW50cy9qb3JkYW5DcmFpZy9qb3JkYW5DcmFpZy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQge1xuICBDSEFUX1BSRVZJRVdfVEVTVElELFxuICBUT1BfU1VHR0VTVElPTl9CQVJfVEVTVElELFxuICBCT1RUT01fU1VHR0VTVElPTl9CQVJfVEVTVElELFxuICBHTE9CQUxfU0VBUkNIX0VOVFJZUE9JTlRfVEVTVElELFxuICBTRUFSQ0hfUkVTVUxUU19FTlRSWVBPSU5UX1RFU1RJRCxcbiAgU0VBUkNIX09WRVJMQVlfSE9TVF9URVNUSUQsXG59IGZyb20gXCJzcmMvY29uZmlnL2xvY2F0b3JzXCI7XG5pbXBvcnQge1xuICBPcmdTaG9ydE5hbWUsXG4gIEJhc2ljT3JnSW5mb1R5cGUsXG4gIEZlYXR1cmVHYXRlcyxcbn0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHNcIjtcbmltcG9ydCB7IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHMvY2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb25cIjtcbmltcG9ydCB7IENkblNlcnZpY2UgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL3NlcnZpY2UvY2RuU2VydmljZVwiO1xuaW1wb3J0IHsgR3JpZEluc2VydGlvblR5cGUgfSBmcm9tIFwic3JjL2FwcGxpY2F0aW9uL3NlcnZpY2UvZG9tTXV0YXRpb25zL0dyaWRJbnNlcnRpb25TZXJ2aWNlXCI7XG5pbXBvcnQgeyBET01JbnNlcnRpb25UeXBlIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9zZXJ2aWNlL2RvbU11dGF0aW9ucy9kb21JbnNlcnRpb25TZXJ2aWNlXCI7XG5pbXBvcnQge1xuICBDSEFUX1BSRVZJRVdfQ09OVEFJTkVSX0lELFxuICBUT1BfU1VHR0VTVElPTl9CQVJfUERQX0lELFxuICBCT1RUT01fUkVWSUVXU19CQVJfSUQsXG4gIEdMT0JBTF9TRUFSQ0hfRU5UUllQT0lOVF9JRCxcbiAgU0VBUkNIX1JFU1VMVFNfRU5UUllQT0lOVF9JRCxcbiAgU0VBUkNIX09WRVJMQVlfRU5UUllQT0lOVF9JRCxcbn0gZnJvbSBcInNyYy9jb25maWcvZGl2SWRzXCI7XG5pbXBvcnQgeyBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzIH0gZnJvbSBcInNyYy90eXBlcy9zdWdnZXN0aW9uQmFyVjItdHlwZXNcIjtcbmltcG9ydCB7IGRlZmF1bHRPcmdVSUNvbmZpZyB9IGZyb20gXCJzcmMvbWVyY2hhbnRzL2RlZmF1bHRcIjtcbmltcG9ydCB7XG4gIENoYXRQcmV2aWV3V2lkZ2V0Q29uZmlnLFxuICBDb2xvck1hcHBpbmcsXG4gIENvbG9yTmFtZXMsXG4gIGNvbG9yVmFyLFxuICBPcmdQYWdlQ29uZmlnLFxuICBPcmdVSUNvbmZpZyxcbiAgUGFnZVZhcmlhbnRUZXN0VHlwZSxcbiAgU2VhcmNoRW50cnlQb2ludFdpZGdldENvbmZpZyxcbiAgU2VhcmNoT3ZlcmxheUhvc3RXaWRnZXRDb25maWcsXG4gIFNlYXJjaFJlc3VsdHNFbnRyeVBvaW50V2lkZ2V0Q29uZmlnLFxuICBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcsXG4gIFdpZGdldFR5cGUsXG59IGZyb20gXCJzcmMvY29udGV4dHMvdHlwZXNcIjtcblxuY29uc3Qgam9yZGFuQ3JhaWdDb2xvcnM6IENvbG9yTWFwcGluZyA9IHtcbiAgW0NvbG9yTmFtZXMuVGV4dFByaW1hcnldOiBcIiMxQzFDMUNcIixcbiAgW0NvbG9yTmFtZXMuVGV4dFNlY29uZGFyeV06IFwiIzc2NzY3NlwiLFxuICBbQ29sb3JOYW1lcy5UZXh0QWNjZW50XTogXCIjNzY3Njc2XCIsXG4gIFtDb2xvck5hbWVzLlRleHRMaW5rXTogXCIjMUMxQzFDXCIsXG4gIFtDb2xvck5hbWVzLlRleHRMaWdodF06IFwiI0ZGRkZGRlwiLFxuICBbQ29sb3JOYW1lcy5CYWNrZ3JvdW5kUHJpbWFyeV06IFwiIzFDMUMxQ1wiLFxuICBbQ29sb3JOYW1lcy5CYWNrZ3JvdW5kU2Vjb25kYXJ5XTogXCIjRjZGNkY2XCIsXG4gIFtDb2xvck5hbWVzLkJhY2tncm91bmRTZWNvbmRhcnlEYXJrXTogXCIjRTBFMEUwXCIsXG4gIFtDb2xvck5hbWVzLkJhY2tncm91bmRUZXJ0aWFyeV06IFwiI0RERERERFwiLFxuICBbQ29sb3JOYW1lcy5CYWNrZ3JvdW5kRGFya106IFwiIzFDMUMxQ1wiLFxuICBbQ29sb3JOYW1lcy5CYWNrZ3JvdW5kTGlnaHRdOiBcIiNGRkZGRkZcIixcbiAgW0NvbG9yTmFtZXMuQmFja2dyb3VuZFNhdHVyYXRlZF06IFwiI0UwRTBFMFwiLFxuICBbQ29sb3JOYW1lcy5Cb3JkZXJMaWdodF06IFwiI0RERERERFwiLFxuICBbQ29sb3JOYW1lcy5Cb3JkZXJNZWRpdW1dOiBcIiM5NDk1OTZcIixcbiAgW0NvbG9yTmFtZXMuQm9yZGVyRGFya106IFwiIzFDMUMxQ1wiLFxuICBbQ29sb3JOYW1lcy5Cb3JkZXJPdXRsaW5lXTogXCIjMUMxQzFDXCIsXG4gIFtDb2xvck5hbWVzLkFjY2VudFByaW1hcnldOiBcIiNBQjEyMTJcIixcbiAgW0NvbG9yTmFtZXMuQWNjZW50U2Vjb25kYXJ5XTogXCIjQzY5ODQ2XCIsXG59O1xuXG5jb25zdCBqb3JkYW5DcmFpZ09yZ1VJQ29uZmlnID0gKCk6IE9yZ1VJQ29uZmlnID0+IHtcbiAgY29uc3QgZGVmYXVsdEpvcmRhbkNyYWlnT3JnQ29uZmlnID0gZGVmYXVsdE9yZ1VJQ29uZmlnKFxuICAgIE9yZ1Nob3J0TmFtZS5Kb3JkYW5DcmFpZ1xuICApO1xuXG4gIHJldHVybiB7XG4gICAgLi4uZGVmYXVsdEpvcmRhbkNyYWlnT3JnQ29uZmlnLFxuICAgIG1lcmNoYW50VmFyaWFudFNldHRpbmdzOiB7XG4gICAgICBkeW5hbWljVmFyaWFudHM6IHtcbiAgICAgICAgZW5hYmxlZDogZmFsc2UsXG4gICAgICAgIHJlZnJlc2hJbnRlcnZhbDogNDAwLFxuICAgICAgfSxcbiAgICB9LFxuICAgIHNlYXJjaENvbmZpZzoge1xuICAgICAgZW5hYmxlR2xvYmFsU2VhcmNoOiB0cnVlLFxuICAgICAgcmVkaXJlY3RTZWFyY2hSZXN1bHRzVXJsOlxuICAgICAgICBcImh0dHBzOi8vam9yZGFuY3JhaWcuY29tL2NvbGxlY3Rpb25zL2Jlc3Qtc2VsbGVycy1tZW5cIixcbiAgICAgIHNlYXJjaEZpbHRlckNvbmZpZzogW1xuICAgICAgICB7XG4gICAgICAgICAgZmlsdGVySWQ6IFwicHJpY2VcIixcbiAgICAgICAgICBkaXNwbGF5TmFtZTogXCJQcmljZVwiLFxuICAgICAgICAgIHR5cGU6IFwicHJpY2VcIixcbiAgICAgICAgICBidWNrZXRTaXplOiA1MCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGZpbHRlcklkOiBcInNpemVcIixcbiAgICAgICAgICBkaXNwbGF5TmFtZTogXCJTaXplXCIsXG4gICAgICAgICAgYXR0cmlidXRlOiBcInNpemVcIixcbiAgICAgICAgICB0eXBlOiBcImR5bmFtaWNcIixcbiAgICAgICAgICBzb3J0aW5nOiB7XG4gICAgICAgICAgICB0eXBlOiBcInByb2R1Y3RDb3VudFwiLFxuICAgICAgICAgIH0sXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBmaWx0ZXJJZDogXCJjb2xvclwiLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiBcIkNvbG9yXCIsXG4gICAgICAgICAgYXR0cmlidXRlOiBcImNvbG9yXCIsXG4gICAgICAgICAgdHlwZTogXCJkeW5hbWljXCIsXG4gICAgICAgICAgc29ydGluZzoge1xuICAgICAgICAgICAgdHlwZTogXCJwcm9kdWN0Q291bnRcIixcbiAgICAgICAgICB9LFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgZmlsdGVySWQ6IFwidHlwZVwiLFxuICAgICAgICAgIGRpc3BsYXlOYW1lOiBcIlR5cGVcIixcbiAgICAgICAgICBhdHRyaWJ1dGU6IFwidHlwZVwiLFxuICAgICAgICAgIHR5cGU6IFwiZHluYW1pY1wiLFxuICAgICAgICAgIHNvcnRpbmc6IHtcbiAgICAgICAgICAgIHR5cGU6IFwicHJvZHVjdENvdW50XCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIGZpbHRlcklkOiBcImR5bmFtaWNcIixcbiAgICAgICAgICBkaXNwbGF5TmFtZTogXCJcIixcbiAgICAgICAgICB0eXBlOiBcImR5bmFtaWNcIixcbiAgICAgICAgICBhdHRyaWJ1dGU6IFwiZHluYW1pY1wiLFxuICAgICAgICAgIHNvcnRpbmc6IHtcbiAgICAgICAgICAgIHR5cGU6IFwicHJvZHVjdENvdW50XCIsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICBjaGF0TWVzc2FnZUNvbmZpZzoge1xuICAgICAgLi4uZGVmYXVsdEpvcmRhbkNyYWlnT3JnQ29uZmlnLmNoYXRNZXNzYWdlQ29uZmlnLFxuICAgICAgYXNzaXN0YW50Q2hhdFRpdGxlOiBcIkpvcmRhbiBDcmFpZyBBSVwiLFxuICAgICAgdmFyaWFudDogXCJzdGFuZGFyZFwiLFxuICAgICAgcHJvZHVjdExpbms6IHtcbiAgICAgICAgLi4uZGVmYXVsdEpvcmRhbkNyYWlnT3JnQ29uZmlnLmNoYXRNZXNzYWdlQ29uZmlnLnByb2R1Y3RMaW5rLFxuICAgICAgICBpY29uVmFyaWFudDogXCJiYWNrZ3JvdW5kU2F0dXJhdGVkXCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAgY2hhdEhlYWRlcjoge1xuICAgICAgLi4uZGVmYXVsdEpvcmRhbkNyYWlnT3JnQ29uZmlnLmNoYXRIZWFkZXIsXG4gICAgICBpbWFnZVNyYzogQ2RuU2VydmljZS5nZXRBc3NldFVSTChcbiAgICAgICAgXCJqb3JkYW5jcmFpZy13aGl0ZS5wbmdcIixcbiAgICAgICAgT3JnU2hvcnROYW1lLkpvcmRhbkNyYWlnXG4gICAgICApLFxuICAgIH0sXG4gICAgY2hhdFByZXZpZXdDb25maWc6IHtcbiAgICAgIC4uLmRlZmF1bHRKb3JkYW5DcmFpZ09yZ0NvbmZpZy5jaGF0UHJldmlld0NvbmZpZyEsXG4gICAgICBpY29uRmlsbENvbG9yOiBjb2xvclZhcihDb2xvck5hbWVzLkFjY2VudFByaW1hcnkpLFxuICAgICAgYnV0dG9uQmFja2dyb3VuZENvbG9yOiBjb2xvclZhcihDb2xvck5hbWVzLkJhY2tncm91bmREYXJrKSxcbiAgICAgIGJ1dHRvblRleHRIb3ZlckNvbG9yOiBjb2xvclZhcihDb2xvck5hbWVzLlRleHRQcmltYXJ5KSxcbiAgICAgIGJ1dHRvbkJhY2tncm91bmRIb3ZlckNvbG9yOiBjb2xvclZhcihDb2xvck5hbWVzLkJhY2tncm91bmRTZWNvbmRhcnlEYXJrKSxcbiAgICAgIHRvcE1hcmdpbjogMTAsXG4gICAgICBjb3BpZXM6IHtcbiAgICAgICAgcGxwOiBbXG4gICAgICAgICAgXCJ3aGF0J3MgbmV3IGluIHN0eWxlP1wiLFxuICAgICAgICAgIFwidGhlIHJpZ2h0IHBhaXIgb2YgamVhbnMgZm9yIGV2ZXJ5IGRheT9cIixcbiAgICAgICAgICBcImEgamFja2V0IHRvIGVsZXZhdGUgeW91ciBsb29rP1wiLFxuICAgICAgICAgIFwiYSB1bmlxdWUgZ3JhcGhpYyBwcmludD9cIixcbiAgICAgICAgXSxcbiAgICAgICAgcGRwOiBbXG4gICAgICAgICAgXCJpZiB0aGlzIGlzIGh5cG9hbGxlcmdlbmljP1wiLFxuICAgICAgICAgIFwiaWYgdGhpcyBpcyBhIG1lYW5pbmdmdWwgZ2lmdD9cIixcbiAgICAgICAgICBcImlmIGl0IGlzIHRoZSByaWdodCBzaXplIGZvciB5b3U/XCIsXG4gICAgICAgICAgXCJpZiBpdCdzIGNyYWZ0ZWQgd2l0aCBkdXJhYmxlIG1hdGVyaWFscz9cIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBzdGF0aWNTdWdnZXN0aW9uQ29waWVzOiB7XG4gICAgICAgIHBscDogW1xuICAgICAgICAgIFwidGhlIGNhcmUgaW5zdHJ1Y3Rpb25zP1wiLFxuICAgICAgICAgIFwid2hhdCBpdCdzIG1hZGUgb2Y/XCIsXG4gICAgICAgICAgXCJ0aGUgc3RhbmRvdXQgZmVhdHVyZXM/XCIsXG4gICAgICAgICAgXCJ0aGUgc2l6ZSBndWlkZT9cIixcbiAgICAgICAgXSxcbiAgICAgICAgcGRwOiBbXG4gICAgICAgICAgXCJJcyB0aGlzIGF2YWlsYWJsZSBpbiBvdGhlciBjb2xvcnMgb3Igc3R5bGVzP1wiLFxuICAgICAgICAgIFwiRG9lcyB0aGlzIHN0eWxlIG1hdGNoIGFueSBvdGhlciBwaWVjZXM/XCIsXG4gICAgICAgICAgXCJXaGF0IGlzIG15IHJpZ2h0IHNpemU/XCIsXG4gICAgICAgICAgXCJXaGF0IGlzIHRoaXMgbWFkZSBvZj9cIixcbiAgICAgICAgICBcIkhvdyBkbyBJIGNhcmUgZm9yIHRoaXMgcHJvZHVjdD9cIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgICBoZWFkZXJDb25maWc6IHtcbiAgICAgICAgLi4uZGVmYXVsdEpvcmRhbkNyYWlnT3JnQ29uZmlnLmNoYXRQcmV2aWV3Q29uZmlnIS5oZWFkZXJDb25maWcsXG4gICAgICAgIGltYWdlSGVpZ2h0OiAyNCxcbiAgICAgICAgaW1hZ2VTcmM6IENkblNlcnZpY2UuZ2V0QXNzZXRVUkwoXG4gICAgICAgICAgXCJqb3JkYW5jcmFpZy1ibGFjay5wbmdcIixcbiAgICAgICAgICBPcmdTaG9ydE5hbWUuSm9yZGFuQ3JhaWdcbiAgICAgICAgKSxcbiAgICAgIH0sXG4gICAgICBmb290ZXJDb25maWc6IHtcbiAgICAgICAgLi4uZGVmYXVsdEpvcmRhbkNyYWlnT3JnQ29uZmlnLmNoYXRQcmV2aWV3Q29uZmlnIS5mb290ZXJDb25maWcsXG4gICAgICAgIHJlcGx5QnV0dG9uSWNvbjogXCJtYWduaWZ5aW5nR2xhc3NcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgICBmbG9hdGluZ0VudHJ5cG9pbnRDb25maWc6IHtcbiAgICAgIC4uLmRlZmF1bHRKb3JkYW5DcmFpZ09yZ0NvbmZpZy5mbG9hdGluZ0VudHJ5cG9pbnRDb25maWchLFxuICAgICAgc2hvd09wdGlvbjogXCJhbHdheXNcIixcbiAgICAgIGV4cGFuZGVkQ29sb3I6IGNvbG9yVmFyKENvbG9yTmFtZXMuQm9yZGVyT3V0bGluZSksXG4gICAgICBleHBhbnNpb25UZXh0OiB7XG4gICAgICAgIHBkcDogXCJJcyB0aGlzIHlvdXIgbmV4dCBlc3NlbnRpYWw/XCIsXG4gICAgICAgIHBscDogXCJSZWFkeSB0byBmaW5kIHlvdXIgcGVyZmVjdCBmaXQ/XCIsXG4gICAgICB9LFxuICAgIH0sXG4gICAgcHJvZHVjdENhcmRDb25maWc6IHtcbiAgICAgIC4uLmRlZmF1bHRKb3JkYW5DcmFpZ09yZ0NvbmZpZy5wcm9kdWN0Q2FyZENvbmZpZyEsXG4gICAgfSxcbiAgICBwcm9kdWN0UmV2aWV3Q29uZmlnOiB7XG4gICAgICAuLi5kZWZhdWx0Sm9yZGFuQ3JhaWdPcmdDb25maWcucHJvZHVjdFJldmlld0NvbmZpZyEsXG4gICAgICBjb2xvclZhcmlhbnQ6IFwiYnJhbmRcIixcbiAgICAgIHZlcmlmaWVkQnV5ZXJUaXRsZTogXCJcIixcbiAgICAgIGluY2VudGl2aXplZFJldmlld0ZsYWc6IGZhbHNlLFxuICAgIH0sXG4gICAgd2VsY29tZVNlY3Rpb25Db25maWc6IHtcbiAgICAgIC4uLmRlZmF1bHRKb3JkYW5DcmFpZ09yZ0NvbmZpZy53ZWxjb21lU2VjdGlvbkNvbmZpZyEsXG4gICAgICB0aXRsZTogXCJXZWxjb21lIHRvIEpvcmRhbiBDcmFpZyBBSSFcIixcbiAgICAgIHN1YnRpdGxlOlxuICAgICAgICBcIkhleSEgSSdtIGhlcmUgdG8gbWFrZSB5b3VyIHNob3BwaW5nIGV4cGVyaWVuY2UgZWZmb3J0bGVzcy4gQXNrIG1lIGFueXRoaW5n4oCUZnJvbSBmaW5kaW5nIHlvdXIgcGVyZmVjdCBmaXQgdG8gZGV0YWlscyBhYm91dCBvdXIgbGF0ZXN0IHN0eWxlcy4gTGV0J3MgZmluZCB5b3VyIG5leHQgZXNzZW50aWFsLlwiLFxuICAgIH0sXG4gICAgbWVyY2hhbnRPdmVycmlkZUNzczogYFxuICAgICAgLnNwaWZmeS1zdGFyLXJhdGluZy1zdGFyIHtcbiAgICAgICAgZmlsbDogdmFyKC0tc3BpZmZ5LWNvbG9ycy10ZXh0LXByaW1hcnkpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAuc3BpZmZ5LXByb2R1Y3QtcmV2aWV3LWhlYWRlci1yZXZpZXdlciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLXRleHQtcHJpbWFyeSkgIWltcG9ydGFudDtcbiAgICAgIH1cbiAgICAgIC5zcGlmZnktbWluaS12ZXJpZmllZC1idXllci10ZXh0IHtcbiAgICAgICAgY29sb3I6IHZhcigtLXNwaWZmeS1jb2xvcnMtYmFja2dyb3VuZC1zZWNvbmRhcnkpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICAuc3BpZmZ5LW1pbmktdmVyaWZpZWQtYnV5ZXItaWNvbiB7XG4gICAgICAgIGZpbGw6IHZhcigtLXNwaWZmeS1jb2xvcnMtYmFja2dyb3VuZC1zZWNvbmRhcnkpICFpbXBvcnRhbnQ7XG4gICAgICB9XG4gICAgICBcbiAgICAgICNzcGlmZnktYWktY2hhdC1wcmV2aWV3LmlzLXBscCB7XG4gICAgICAgIG1heC13aWR0aDogY2FsYygxMDB2dyAtICgyICogdmFyKC0tY29udGFpbmVyLWd1dHRlcikpKTtcbiAgICAgICAgQG1lZGlhIChtYXgtd2lkdGg6IDcwMHB4KSB7XG4gICAgICAgICAgbWF4LXdpZHRoOmNhbGMoMTAwdncgLSAyMHB4KVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICAuc3BpZmZ5LXByb2R1Y3QtY2FyZC10aXRsZSB7IFxuICAgICAgICBmb250LWZhbWlseTogdmFyKC0tY2hha3JhLWZvbnRzLWhlYWRpbmcpO1xuICAgICAgICBjb2xvcjogdmFyKC0tc3BpZmZ5LWNvbG9ycy10ZXh0LWxpbmspO1xuICAgICAgfVxuICAgICAgLnNwaWZmeS1wcm9kdWN0LWNhcmQtdGV4dC1jb2xvciB7XG4gICAgICAgIGNvbG9yOiB2YXIoLS1zcGlmZnktY29sb3JzLXRleHQtc2Vjb25kYXJ5KTtcbiAgICAgIH1cbiAgICAgIC5zcGlmZnktcHJvZHVjdC1jYXJkLXJhdGluZy1zdGFyLWNvbG9yIHtcbiAgICAgICAgZmlsbDogdmFyKC0tc3BpZmZ5LWNvbG9ycy1iYWNrZ3JvdW5kLXByaW1hcnkpO1xuICAgICAgfVxuXG4gICAgICAuc2VhcmNoLXJlc3VsdHMtZW50cnktcG9pbnQgKyAjbWFpbiB7XG4gICAgICAgIGRpc3BsYXk6IG5vbmU7XG4gICAgICB9XG4gICAgYCxcbiAgfTtcbn07XG5cbmNvbnN0IGpvcmRhbkNyYWlnUGFnZUNvbmZpZyA9ICgpOiBPcmdQYWdlQ29uZmlnID0+ICh7XG4gIHBhZ2VWYXJpYW50czogW1xuICAgIC8vIFNUQVJUOiBHbG9iYWwgU2VhcmNoIFBhZ2UgVmFyaWFudHMgKE1VU1QgQkUgRklSU1QpXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInNlYXJjaC1yZXN1bHRzXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwbHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5GZWF0dXJlR2F0ZSxcbiAgICAgICAgICBmZWF0dXJlR2F0ZTogRmVhdHVyZUdhdGVzLklzR2xvYmFsU2VhcmNoRW5hYmxlZCxcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlF1ZXJ5UGFyYW0sXG4gICAgICAgICAgcXVlcnlQYXJhbTogXCJlc3FcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwbHBJZEV4dHJhY3RvcjogXCJ1cmwtcmVzb2x2ZXItcGxwLWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJzZWFyY2hJY29uRW50cnlQb2ludFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcInNlYXJjaEljb25FbnRyeVBvaW50XCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInNlYXJjaE92ZXJsYXlIb3N0XCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwic2VhcmNoT3ZlcmxheUhvc3RcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQTFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BMUFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJzZWFyY2hSZXN1bHRzRW50cnlQb2ludFBMUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcInNlYXJjaFJlc3VsdHNFbnRyeVBvaW50XCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInBscC13aXRoLXNlYXJjaFwiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGxwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAgeyB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlciB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuRmVhdHVyZUdhdGUsXG4gICAgICAgICAgZmVhdHVyZUdhdGU6IEZlYXR1cmVHYXRlcy5Jc0dsb2JhbFNlYXJjaEVuYWJsZWQsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcGxwSWRFeHRyYWN0b3I6IFwidXJsLXJlc29sdmVyLXBscC1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwic2VhcmNoSWNvbkVudHJ5UG9pbnRcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJzZWFyY2hJY29uRW50cnlQb2ludFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJzZWFyY2hPdmVybGF5SG9zdFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcInNlYXJjaE92ZXJsYXlIb3N0XCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQTFBcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGRwLXdpdGgtc2VhcmNoXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwZHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5GZWF0dXJlR2F0ZSxcbiAgICAgICAgICBmZWF0dXJlR2F0ZTogRmVhdHVyZUdhdGVzLklzR2xvYmFsU2VhcmNoRW5hYmxlZCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwcm9kdWN0SWRFeHRyYWN0b3I6IFwidXJsLXJlc29sdmVyLXByb2R1Y3QtaWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInNlYXJjaEljb25FbnRyeVBvaW50XCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwic2VhcmNoSWNvbkVudHJ5UG9pbnRcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwic2VhcmNoT3ZlcmxheUhvc3RcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJzZWFyY2hPdmVybGF5SG9zdFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25zQmFyXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwiaG9tZS13aXRoLXNlYXJjaFwiLFxuICAgICAgdmFyaWFudFR5cGU6IFwiaG9tZXBhZ2VcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuVXJsUmVzb2x2ZXIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5GZWF0dXJlR2F0ZSxcbiAgICAgICAgICBmZWF0dXJlR2F0ZTogRmVhdHVyZUdhdGVzLklzR2xvYmFsU2VhcmNoRW5hYmxlZCxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJzZWFyY2hJY29uRW50cnlQb2ludFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcInNlYXJjaEljb25FbnRyeVBvaW50XCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInNlYXJjaE92ZXJsYXlIb3N0XCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwic2VhcmNoT3ZlcmxheUhvc3RcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwib3RoZXItd2l0aC1zZWFyY2hcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcIm90aGVyXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuRmVhdHVyZUdhdGUsXG4gICAgICAgICAgZmVhdHVyZUdhdGU6IEZlYXR1cmVHYXRlcy5Jc0dsb2JhbFNlYXJjaEVuYWJsZWQsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwic2VhcmNoSWNvbkVudHJ5UG9pbnRcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJzZWFyY2hJY29uRW50cnlQb2ludFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJzZWFyY2hPdmVybGF5SG9zdFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcInNlYXJjaE92ZXJsYXlIb3N0XCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAgLy8gRU5EOiBHbG9iYWwgU2VhcmNoIFBhZ2UgVmFyaWFudHNcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwicGxwXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwbHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW3sgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuVXJsUmVzb2x2ZXIgfV0sXG4gICAgICBwbHBJZEV4dHJhY3RvcjogXCJ1cmwtcmVzb2x2ZXItcGxwLWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BMUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcIm91dGVyd2VhcldpdGhSZXZpZXdzXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwZHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkhhc1Jldmlld3MsIHJldmlld01pbmltdW06IDQgfSxcbiAgICAgICAgeyB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlciB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuSW5Db2xsZWN0aW9uLFxuICAgICAgICAgIGNvbGxlY3Rpb25zOiBbXCJvdXRlcndlYXJcIiwgXCJiaWctbWVucy1vdXRlcndlYXJcIl0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcHJvZHVjdElkRXh0cmFjdG9yOiBcInVybC1yZXNvbHZlci1wcm9kdWN0LWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJPdXRlcndlYXJcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJPdXRlcndlYXJcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwidHNoaXJ0c1dpdGhSZXZpZXdzXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwZHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkhhc1Jldmlld3MsIHJldmlld01pbmltdW06IDQgfSxcbiAgICAgICAgeyB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlciB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuSW5Db2xsZWN0aW9uLFxuICAgICAgICAgIGNvbGxlY3Rpb25zOiBbXCJ0c2hpcnRcIiwgXCJiaWctbWVucy10LXNoaXJ0c1wiXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwcm9kdWN0SWRFeHRyYWN0b3I6IFwidXJsLXJlc29sdmVyLXByb2R1Y3QtaWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uc0JhclRzaGlydHNcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJUc2hpcnRzXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInN3ZWF0c2hpcnRzV2l0aFJldmlld3NcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBkcFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHsgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuSGFzUmV2aWV3cywgcmV2aWV3TWluaW11bTogNCB9LFxuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5JbkNvbGxlY3Rpb24sXG4gICAgICAgICAgY29sbGVjdGlvbnM6IFtcInN3ZWF0c2hpcnRzXCIsIFwiYmlnLW1lbnMtc3dlYXRzaGlydHNcIl0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcHJvZHVjdElkRXh0cmFjdG9yOiBcInVybC1yZXNvbHZlci1wcm9kdWN0LWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJTd2VhdHNoaXJ0c1wiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uc0JhclN3ZWF0c2hpcnRzXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInN3ZWF0cGFudHNXaXRoUmV2aWV3c1wiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGRwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAgeyB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5IYXNSZXZpZXdzLCByZXZpZXdNaW5pbXVtOiA0IH0sXG4gICAgICAgIHsgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuVXJsUmVzb2x2ZXIgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkluQ29sbGVjdGlvbixcbiAgICAgICAgICBjb2xsZWN0aW9uczogW1wiYmlnLW1lbnMtc3dlYXRwYW50c1wiLCBcIm1lbnMtc3dlYXRwYW50c1wiXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwcm9kdWN0SWRFeHRyYWN0b3I6IFwidXJsLXJlc29sdmVyLXByb2R1Y3QtaWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uc0JhclN3ZWF0cGFudHNcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJTd2VhdHBhbnRzXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcImRlbmltV2l0aFJldmlld3NcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBkcFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHsgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuSGFzUmV2aWV3cywgcmV2aWV3TWluaW11bTogNCB9LFxuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5JbkNvbGxlY3Rpb24sXG4gICAgICAgICAgY29sbGVjdGlvbnM6IFtcImJpZy1tZW5zLWRlbmltXCIsIFwiZGVuaW1cIiwgXCJraWRzLWRlbmltXCJdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHByb2R1Y3RJZEV4dHJhY3RvcjogXCJ1cmwtcmVzb2x2ZXItcHJvZHVjdC1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyRGVuaW1cIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJEZW5pbVwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJ0d2lsbEZsZWVjZVdpdGhSZXZpZXdzXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwZHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkhhc1Jldmlld3MsIHJldmlld01pbmltdW06IDQgfSxcbiAgICAgICAgeyB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlciB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuSW5Db2xsZWN0aW9uLFxuICAgICAgICAgIGNvbGxlY3Rpb25zOiBbXG4gICAgICAgICAgICBcImJpZy1tZW5zLXN3ZWF0cGFudHNcIixcbiAgICAgICAgICAgIFwia2lkcy1mbGVlY2VcIixcbiAgICAgICAgICAgIFwibWVucy1zd2VhdHBhbnRzXCIsXG4gICAgICAgICAgICBcIm1lbnMtdHdpbGwtYm90dG9tc1wiLFxuICAgICAgICAgICAgXCJraWRzLXR3aWxsLXBhbnRzXCIsXG4gICAgICAgICAgXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwcm9kdWN0SWRFeHRyYWN0b3I6IFwidXJsLXJlc29sdmVyLXByb2R1Y3QtaWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uc0JhclR3aWxsRmxlZWNlXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25zQmFyVHdpbGxGbGVlY2VcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwic2hvcnRzV2l0aFJldmlld3NcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBkcFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHsgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuSGFzUmV2aWV3cywgcmV2aWV3TWluaW11bTogNCB9LFxuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5JbkNvbGxlY3Rpb24sXG4gICAgICAgICAgY29sbGVjdGlvbnM6IFtcImtpZHMtc2hvcnRzXCIsIFwiYmlnLW1lbnMtc2hvcnRzXCIsIFwic2hvcnRzXCJdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHByb2R1Y3RJZEV4dHJhY3RvcjogXCJ1cmwtcmVzb2x2ZXItcHJvZHVjdC1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyU2hvcnRzXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25zQmFyU2hvcnRzXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcImFjY2Vzc29yaWVzV2l0aFJldmlld3NcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBkcFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHsgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuSGFzUmV2aWV3cywgcmV2aWV3TWluaW11bTogNCB9LFxuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5JbkNvbGxlY3Rpb24sXG4gICAgICAgICAgY29sbGVjdGlvbnM6IFtcImJhZy1jb2xsZWN0aW9uXCJdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHByb2R1Y3RJZEV4dHJhY3RvcjogXCJ1cmwtcmVzb2x2ZXItcHJvZHVjdC1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyQWNjZXNzb3JpZXNcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJBY2Nlc3Nvcmllc1wiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJmb290d2VhcldpdGhSZXZpZXdzXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwZHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkhhc1Jldmlld3MsIHJldmlld01pbmltdW06IDQgfSxcbiAgICAgICAgeyB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlciB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuSW5Db2xsZWN0aW9uLFxuICAgICAgICAgIGNvbGxlY3Rpb25zOiBbXCJmb290d2Vhci1jb2xsZWN0aW9uXCJdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHByb2R1Y3RJZEV4dHJhY3RvcjogXCJ1cmwtcmVzb2x2ZXItcHJvZHVjdC1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyRm9vdHdlYXJcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJGb290d2VhclwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJvdXRlcndlYXJcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBkcFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHsgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuVXJsUmVzb2x2ZXIgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkluQ29sbGVjdGlvbixcbiAgICAgICAgICBjb2xsZWN0aW9uczogW1wib3V0ZXJ3ZWFyXCIsIFwiYmlnLW1lbnMtb3V0ZXJ3ZWFyXCJdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHByb2R1Y3RJZEV4dHJhY3RvcjogXCJ1cmwtcmVzb2x2ZXItcHJvZHVjdC1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyT3V0ZXJ3ZWFyXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25zQmFyT3V0ZXJ3ZWFyXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInRzaGlydHNcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBkcFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHsgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuVXJsUmVzb2x2ZXIgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkluQ29sbGVjdGlvbixcbiAgICAgICAgICBjb2xsZWN0aW9uczogW1widHNoaXJ0XCIsIFwiYmlnLW1lbnMtdC1zaGlydHNcIl0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcHJvZHVjdElkRXh0cmFjdG9yOiBcInVybC1yZXNvbHZlci1wcm9kdWN0LWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJUc2hpcnRzXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25zQmFyVHNoaXJ0c1wiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJzd2VhdHNoaXJ0c1wiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGRwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAgeyB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlciB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuSW5Db2xsZWN0aW9uLFxuICAgICAgICAgIGNvbGxlY3Rpb25zOiBbXCJzd2VhdHNoaXJ0c1wiLCBcImJpZy1tZW5zLXN3ZWF0c2hpcnRzXCJdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHByb2R1Y3RJZEV4dHJhY3RvcjogXCJ1cmwtcmVzb2x2ZXItcHJvZHVjdC1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyU3dlYXRzaGlydHNcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJTd2VhdHNoaXJ0c1wiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJzd2VhdHBhbnRzXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwZHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5JbkNvbGxlY3Rpb24sXG4gICAgICAgICAgY29sbGVjdGlvbnM6IFtcImJpZy1tZW5zLXN3ZWF0cGFudHNcIiwgXCJtZW5zLXN3ZWF0cGFudHNcIl0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcHJvZHVjdElkRXh0cmFjdG9yOiBcInVybC1yZXNvbHZlci1wcm9kdWN0LWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJTd2VhdHBhbnRzXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25zQmFyU3dlYXRwYW50c1wiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJncmFwaGljXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwZHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyIH0sXG4gICAgICAgIHsgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuSGFzUmV2aWV3cywgcmV2aWV3TWluaW11bTogNCB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuSW5Db2xsZWN0aW9uLFxuICAgICAgICAgIGNvbGxlY3Rpb25zOiBbXCJtZW5zLWdyYXBoaWMtcHJpbnRzLWNvbGxlY3Rpb25cIl0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcHJvZHVjdElkRXh0cmFjdG9yOiBcInVybC1yZXNvbHZlci1wcm9kdWN0LWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJHcmFwaGljXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25zQmFyR3JhcGhpY1wiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJkZW5pbVwiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGRwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFtcbiAgICAgICAgeyB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5VcmxSZXNvbHZlciB9LFxuICAgICAgICB7XG4gICAgICAgICAgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuSW5Db2xsZWN0aW9uLFxuICAgICAgICAgIGNvbGxlY3Rpb25zOiBbXCJiaWctbWVucy1kZW5pbVwiLCBcImRlbmltXCIsIFwia2lkcy1kZW5pbVwiXSxcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgICBwcm9kdWN0SWRFeHRyYWN0b3I6IFwidXJsLXJlc29sdmVyLXByb2R1Y3QtaWRcIixcbiAgICAgIHdpZGdldE1vdW50aW5nOiBbXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uc0JhckRlbmltXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25zQmFyRGVuaW1cIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwidHdpbGwtZmxlZWNlXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwZHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5JbkNvbGxlY3Rpb24sXG4gICAgICAgICAgY29sbGVjdGlvbnM6IFtcbiAgICAgICAgICAgIFwiYmlnLW1lbnMtc3dlYXRwYW50c1wiLFxuICAgICAgICAgICAgXCJraWRzLWZsZWVjZVwiLFxuICAgICAgICAgICAgXCJtZW5zLXN3ZWF0cGFudHNcIixcbiAgICAgICAgICAgIFwibWVucy10d2lsbC1ib3R0b21zXCIsXG4gICAgICAgICAgICBcImtpZHMtdHdpbGwtcGFudHNcIixcbiAgICAgICAgICBdLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICAgIHByb2R1Y3RJZEV4dHJhY3RvcjogXCJ1cmwtcmVzb2x2ZXItcHJvZHVjdC1pZFwiLFxuICAgICAgd2lkZ2V0TW91bnRpbmc6IFtcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbkJhclBEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyVHdpbGxGbGVlY2VcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJUd2lsbEZsZWVjZVwiLFxuICAgICAgICB9LFxuICAgICAgXSxcbiAgICB9LFxuICAgIHtcbiAgICAgIHZhcmlhbnRJZDogXCJzaG9ydHNcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBkcFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHsgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuVXJsUmVzb2x2ZXIgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkluQ29sbGVjdGlvbixcbiAgICAgICAgICBjb2xsZWN0aW9uczogW1wia2lkcy1zaG9ydHNcIiwgXCJiaWctbWVucy1zaG9ydHNcIiwgXCJzaG9ydHNcIl0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcHJvZHVjdElkRXh0cmFjdG9yOiBcInVybC1yZXNvbHZlci1wcm9kdWN0LWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJTaG9ydHNcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJTaG9ydHNcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgICB7XG4gICAgICB2YXJpYW50SWQ6IFwiYWNjZXNzb3JpZXNcIixcbiAgICAgIHZhcmlhbnRUeXBlOiBcInBkcFwiLFxuICAgICAgdmFyaWFudFRlc3RzOiBbXG4gICAgICAgIHsgdGVzdFR5cGU6IFBhZ2VWYXJpYW50VGVzdFR5cGUuVXJsUmVzb2x2ZXIgfSxcbiAgICAgICAge1xuICAgICAgICAgIHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLkluQ29sbGVjdGlvbixcbiAgICAgICAgICBjb2xsZWN0aW9uczogW1wiYmFnLWNvbGxlY3Rpb25cIl0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcHJvZHVjdElkRXh0cmFjdG9yOiBcInVybC1yZXNvbHZlci1wcm9kdWN0LWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJBY2Nlc3Nvcmllc1wiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uc0JhckFjY2Vzc29yaWVzXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcImZvb3R3ZWFyXCIsXG4gICAgICB2YXJpYW50VHlwZTogXCJwZHBcIixcbiAgICAgIHZhcmlhbnRUZXN0czogW1xuICAgICAgICB7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyIH0sXG4gICAgICAgIHtcbiAgICAgICAgICB0ZXN0VHlwZTogUGFnZVZhcmlhbnRUZXN0VHlwZS5JbkNvbGxlY3Rpb24sXG4gICAgICAgICAgY29sbGVjdGlvbnM6IFtcImZvb3R3ZWFyLWNvbGxlY3Rpb25cIl0sXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgICAgcHJvZHVjdElkRXh0cmFjdG9yOiBcInVybC1yZXNvbHZlci1wcm9kdWN0LWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJGb290d2VhclwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICAgIHdpZGdldENvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UERQXCIsXG4gICAgICAgIH0sXG4gICAgICAgIHtcbiAgICAgICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uc0JhckZvb3R3ZWFyXCIsXG4gICAgICAgIH0sXG4gICAgICBdLFxuICAgIH0sXG4gICAge1xuICAgICAgdmFyaWFudElkOiBcInBkcFwiLFxuICAgICAgdmFyaWFudFR5cGU6IFwicGRwXCIsXG4gICAgICB2YXJpYW50VGVzdHM6IFt7IHRlc3RUeXBlOiBQYWdlVmFyaWFudFRlc3RUeXBlLlVybFJlc29sdmVyIH1dLFxuICAgICAgcHJvZHVjdElkRXh0cmFjdG9yOiBcInVybC1yZXNvbHZlci1wcm9kdWN0LWlkXCIsXG4gICAgICB3aWRnZXRNb3VudGluZzogW1xuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJcIixcbiAgICAgICAgfSxcbiAgICAgICAge1xuICAgICAgICAgIG1vdW50aW5nQ29uZmlnSWQ6IFwiY2hhdFByZXZpZXdQRFBcIixcbiAgICAgICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgICB9LFxuICAgICAgICB7XG4gICAgICAgICAgbW91bnRpbmdDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uQmFyUERQXCIsXG4gICAgICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJcIixcbiAgICAgICAgfSxcbiAgICAgIF0sXG4gICAgfSxcbiAgXSxcbiAgd2lkZ2V0Q29uZmlnczoge1xuICAgIHNlYXJjaEljb25FbnRyeVBvaW50OiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJzZWFyY2hJY29uRW50cnlQb2ludFwiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TZWFyY2haZXJvU3RhdGVFbnRyeVBvaW50LFxuICAgICAgc2VhcmNoWmVyb1N0YXRlVmFyaWFudDogXCJiYWNrZ3JvdW5kVGVydGlhcnlcIixcbiAgICAgIHNlYXJjaElucHV0VmFyaWFudDogXCJzdGFuZGFyZFwiLFxuICAgICAgc3VnZ2VzdGlvbkJ1dHRvbkNvbmZpZzoge1xuICAgICAgICB2YXJpYW50OiBcImRhcmtBY2NlbnRcIixcbiAgICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeUFjY2VudFwiLFxuICAgICAgICBib3JkZXJSYWRpdXM6IFwibWRcIixcbiAgICAgIH0sXG4gICAgICBsYXlvdXQ6IFwiaWNvblwiLFxuICAgICAgc2VhcmNoSWNvblZhcmlhbnQ6IFwiYm9sZFwiLFxuICAgICAgc2VhcmNoSWNvblNpemU6IDI2LFxuICAgICAgc2VhcmNoQm94UGxhY2Vob2xkZXI6ICdUcnkgXCJKZWFucyB0aGF0IHdvcmsgZm9yIGFsbCBib2R5IHR5cGVzXCInLFxuICAgICAgaW5pdGlhbFN1Z2dlc3Rpb25zOiBbXG4gICAgICAgIFwiU3RvbmUgd2FzaGVkIGplYW5zXCIsXG4gICAgICAgIFwiV2hpdGUgdG9ybiB1cCBqZWFuc1wiLFxuICAgICAgICBcIkJsYWNrIHNvZnQgdC1zaGlydFwiLFxuICAgICAgICBcIkJsYWNrIG1vdG8taW5zcGlyZWQgamVhbnNcIixcbiAgICAgICAgXCJHcmFwaGljIHQtc2hpcnRcIixcbiAgICAgIF0sXG4gICAgICB1c2luZ1BvcnRhbDogdHJ1ZSxcbiAgICB9IHNhdGlzZmllcyBTZWFyY2hFbnRyeVBvaW50V2lkZ2V0Q29uZmlnLFxuICAgIHNlYXJjaE92ZXJsYXlIb3N0OiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJzZWFyY2hPdmVybGF5SG9zdFwiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TZWFyY2hPdmVybGF5SG9zdCxcbiAgICB9IHNhdGlzZmllcyBTZWFyY2hPdmVybGF5SG9zdFdpZGdldENvbmZpZyxcbiAgICBzZWFyY2hSZXN1bHRzRW50cnlQb2ludDoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwic2VhcmNoUmVzdWx0c0VudHJ5UG9pbnRcIixcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU2VhcmNoUmVzdWx0c0VudHJ5UG9pbnQsXG4gICAgICBzZWFyY2hCb3hQbGFjZWhvbGRlcjogJ1RyeSBcIk1vZGVybiBza2lubnkgamVhbnNcIicsXG4gICAgICBwcm9kdWN0R3JpZFZhcmlhbnQ6IFwic3RhbmRhcmRcIixcbiAgICAgIHNlYXJjaEZpbHRlclNpZGViYXJWYXJpYW50OiBcImRhcmtCdXR0b25cIixcbiAgICAgIHNlYXJjaElucHV0VmFyaWFudDogXCJzdGFuZGFyZFwiLFxuICAgIH0gc2F0aXNmaWVzIFNlYXJjaFJlc3VsdHNFbnRyeVBvaW50V2lkZ2V0Q29uZmlnLFxuICAgIGNoYXRQcmV2aWV3UERQOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5DaGF0UHJldmlldyxcbiAgICAgIHZhcmlhbnQ6IFwiZmxhdFwiLFxuICAgIH0gc2F0aXNmaWVzIENoYXRQcmV2aWV3V2lkZ2V0Q29uZmlnLFxuICAgIGNoYXRQcmV2aWV3UExQOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJjaGF0UHJldmlld1BMUFwiLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5DaGF0UHJldmlldyxcbiAgICAgIHZhcmlhbnQ6IFwiZmxhdFwiLFxuICAgICAgYWRkU2VwYXJhdG9yczogdHJ1ZSxcbiAgICAgIGZvb3RlckNvbmZpZzoge1xuICAgICAgICByZXBseUJ1dHRvblRleHQ6IFwiV2hhdCBjYW4gSSBoZWxwIHlvdSBmaW5kP1wiLFxuICAgICAgICByZXBseUJ1dHRvbkljb246IFwibWFnbmlmeWluZ0dsYXNzXCIsXG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIENoYXRQcmV2aWV3V2lkZ2V0Q29uZmlnLFxuICAgIHRvcFN1Z2dlc3Rpb25zQmFyOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uc0JhclwiLFxuICAgICAgY29udGVudElkOiBcInNwaWZmeS10b3Atc3VnZ2VzdGlvbi1iYXItY29udGVudHNcIixcbiAgICAgIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24uVE9QX1JFVklFV1NfU05JUFBFVCxcbiAgICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzLlNVR0dFU1RJT05fQkFSX1RPUCxcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU3VnZ2VzdGlvbkJhclYyLFxuICAgICAgdmFyaWFudDogXCJzZWNvbmRhcnlcIixcbiAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlEYXJrXCIsXG4gICAgICBhbmltYXRpb25TcGVlZDogXCJub25lXCIsXG4gICAgICBidXR0b25Cb3JkZXJSYWRpdXM6IFwibWRcIixcbiAgICAgIGJvbGRGaXJzdEJ1dHRvbjogdHJ1ZSxcbiAgICAgIGJ1dHRvblRleHRzOiB7XG4gICAgICAgIGRlZmF1bHQ6IFtcbiAgICAgICAgICBcIkhvdyBkbyB0aGV5IGZpdD9cIixcbiAgICAgICAgICBcIldoYXQncyB1bmlxdWUgYWJvdXQgdGhpcz9cIixcbiAgICAgICAgICBcIldoYXQncyB0aGUgY3VycmVudCBkZWFscz9cIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLFxuICAgIGJvdHRvbVN1Z2dlc3Rpb25zQmFyOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uc0JhclwiLFxuICAgICAgY29udGVudElkOiBcInNwaWZmeS10b3Atc3VnZ2VzdGlvbi1iYXItY29udGVudHNcIixcbiAgICAgIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24uVE9QX1JFVklFV1NfU05JUFBFVCxcbiAgICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzLlNVR0dFU1RJT05fQkFSX1RPUCxcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU3VnZ2VzdGlvbkJhclYyLFxuICAgICAgdmFyaWFudDogXCJkYXJrUHJpbWFyeVwiLFxuICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeURhcmtcIixcbiAgICAgIGFuaW1hdGlvblNwZWVkOiBcIm5vbmVcIixcbiAgICAgIGJ1dHRvbkJvcmRlclJhZGl1czogXCJtZFwiLFxuICAgICAgYm9sZEZpcnN0QnV0dG9uOiB0cnVlLFxuICAgICAgYnV0dG9uVGV4dHM6IHtcbiAgICAgICAgZGVmYXVsdDogW1xuICAgICAgICAgIFwiSG93IGRvIHRoZXkgZml0P1wiLFxuICAgICAgICAgIFwiV2hhdCdzIHVuaXF1ZSBhYm91dCB0aGlzP1wiLFxuICAgICAgICAgIFwiV2hhdCdzIHRoZSBjdXJyZW50IGRlYWxzP1wiLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcsXG4gICAgdG9wU3VnZ2VzdGlvbnNCYXJPdXRlcndlYXI6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyT3V0ZXJ3ZWFyXCIsXG4gICAgICBjb250ZW50SWQ6IFwic3BpZmZ5LXRvcC1zdWdnZXN0aW9uLWJhci1jb250ZW50c1wiLFxuICAgICAgbWV0cmljRGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbi5UT1BfUkVWSUVXU19TTklQUEVULFxuICAgICAgbG9jYXRpb246IFN1Z2dlc3Rpb25CYXJMb2NhdGlvbkZvck1ldHJpY3MuU1VHR0VTVElPTl9CQVJfVE9QLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjIsXG4gICAgICB2YXJpYW50OiBcInNlY29uZGFyeVwiLFxuICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeURhcmtcIixcbiAgICAgIGFuaW1hdGlvblNwZWVkOiBcIm5vbmVcIixcbiAgICAgIGJ1dHRvbkJvcmRlclJhZGl1czogXCJtZFwiLFxuICAgICAgYm9sZEZpcnN0QnV0dG9uOiB0cnVlLFxuICAgICAgYnV0dG9uVGV4dHM6IHtcbiAgICAgICAgZGVmYXVsdDogW1xuICAgICAgICAgIFwiSG93IGluc3VsYXRlZCBpcyB0aGlzIGphY2tldD9cIixcbiAgICAgICAgICBcIldoYXQgbWF0ZXJpYWwgaXMgaXQgbWFkZSBvZj9cIixcbiAgICAgICAgICBcIkNhbiBJIGxheWVyIHRoaXMgb3ZlciBhIGhvb2RpZT9cIixcbiAgICAgICAgICBcIkRvZXMgdGhlIG1hdGVyaWFsIHN0cmV0Y2g/XCIsXG4gICAgICAgICAgXCJEb2VzIGl0IHJ1biBzbWFsbD9cIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLFxuICAgIGJvdHRvbVN1Z2dlc3Rpb25zQmFyT3V0ZXJ3ZWFyOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uc0Jhck91dGVyd2VhclwiLFxuICAgICAgY29udGVudElkOiBcInNwaWZmeS10b3Atc3VnZ2VzdGlvbi1iYXItY29udGVudHNcIixcbiAgICAgIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24uVE9QX1JFVklFV1NfU05JUFBFVCxcbiAgICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzLlNVR0dFU1RJT05fQkFSX1RPUCxcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU3VnZ2VzdGlvbkJhclYyLFxuICAgICAgdmFyaWFudDogXCJkYXJrUHJpbWFyeVwiLFxuICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeURhcmtcIixcbiAgICAgIGFuaW1hdGlvblNwZWVkOiBcIm5vbmVcIixcbiAgICAgIGJ1dHRvbkJvcmRlclJhZGl1czogXCJtZFwiLFxuICAgICAgYm9sZEZpcnN0QnV0dG9uOiB0cnVlLFxuICAgICAgYnV0dG9uVGV4dHM6IHtcbiAgICAgICAgZGVmYXVsdDogW1xuICAgICAgICAgIFwiSG93IGluc3VsYXRlZCBpcyB0aGlzIGphY2tldD9cIixcbiAgICAgICAgICBcIldoYXQgbWF0ZXJpYWwgaXMgaXQgbWFkZSBvZj9cIixcbiAgICAgICAgICBcIkNhbiBJIGxheWVyIHRoaXMgb3ZlciBhIGhvb2RpZT9cIixcbiAgICAgICAgICBcIkRvZXMgdGhlIG1hdGVyaWFsIHN0cmV0Y2g/XCIsXG4gICAgICAgICAgXCJEb2VzIGl0IHJ1biBzbWFsbD9cIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLFxuICAgIHRvcFN1Z2dlc3Rpb25zQmFyVHNoaXJ0czoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJUc2hpcnRzXCIsXG4gICAgICBjb250ZW50SWQ6IFwic3BpZmZ5LXRvcC1zdWdnZXN0aW9uLWJhci1jb250ZW50c1wiLFxuICAgICAgbWV0cmljRGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbi5UT1BfUkVWSUVXU19TTklQUEVULFxuICAgICAgbG9jYXRpb246IFN1Z2dlc3Rpb25CYXJMb2NhdGlvbkZvck1ldHJpY3MuU1VHR0VTVElPTl9CQVJfVE9QLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjIsXG4gICAgICB2YXJpYW50OiBcInNlY29uZGFyeVwiLFxuICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeURhcmtcIixcbiAgICAgIGFuaW1hdGlvblNwZWVkOiBcIm5vbmVcIixcbiAgICAgIGJ1dHRvbkJvcmRlclJhZGl1czogXCJtZFwiLFxuICAgICAgYm9sZEZpcnN0QnV0dG9uOiB0cnVlLFxuICAgICAgYnV0dG9uVGV4dHM6IHtcbiAgICAgICAgZGVmYXVsdDogW1xuICAgICAgICAgIFwiSG93IGRvZXMgaXQgZml0P1wiLFxuICAgICAgICAgIFwiV2lsbCBpdCBzaHJpbmsgYWZ0ZXIgd2FzaGluZz9cIixcbiAgICAgICAgICBcIkhvdyBkb2VzIGl0IGZlZWw/XCIsXG4gICAgICAgICAgXCJXaGljaCBib3R0b21zIGRvZXMgaXQgcGFpciB3aXRoP1wiLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcsXG4gICAgYm90dG9tU3VnZ2VzdGlvbnNCYXJUc2hpcnRzOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uc0JhclRzaGlydHNcIixcbiAgICAgIGNvbnRlbnRJZDogXCJzcGlmZnktdG9wLXN1Z2dlc3Rpb24tYmFyLWNvbnRlbnRzXCIsXG4gICAgICBtZXRyaWNEaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uLlRPUF9SRVZJRVdTX1NOSVBQRVQsXG4gICAgICBsb2NhdGlvbjogU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcy5TVUdHRVNUSU9OX0JBUl9UT1AsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLlN1Z2dlc3Rpb25CYXJWMixcbiAgICAgIHZhcmlhbnQ6IFwiZGFya1ByaW1hcnlcIixcbiAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlEYXJrXCIsXG4gICAgICBhbmltYXRpb25TcGVlZDogXCJub25lXCIsXG4gICAgICBidXR0b25Cb3JkZXJSYWRpdXM6IFwibWRcIixcbiAgICAgIGJvbGRGaXJzdEJ1dHRvbjogdHJ1ZSxcbiAgICAgIGJ1dHRvblRleHRzOiB7XG4gICAgICAgIGRlZmF1bHQ6IFtcbiAgICAgICAgICBcIkhvdyBkb2VzIGl0IGZpdD9cIixcbiAgICAgICAgICBcIldpbGwgaXQgc2hyaW5rIGFmdGVyIHdhc2hpbmc/XCIsXG4gICAgICAgICAgXCJIb3cgZG9lcyBpdCBmZWVsP1wiLFxuICAgICAgICAgIFwiV2hpY2ggYm90dG9tcyBkb2VzIGl0IHBhaXIgd2l0aD9cIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLFxuICAgIHRvcFN1Z2dlc3Rpb25zQmFyU3dlYXRzaGlydHM6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyU3dlYXRzaGlydHNcIixcbiAgICAgIGNvbnRlbnRJZDogXCJzcGlmZnktdG9wLXN1Z2dlc3Rpb24tYmFyLWNvbnRlbnRzXCIsXG4gICAgICBtZXRyaWNEaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uLlRPUF9SRVZJRVdTX1NOSVBQRVQsXG4gICAgICBsb2NhdGlvbjogU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcy5TVUdHRVNUSU9OX0JBUl9UT1AsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLlN1Z2dlc3Rpb25CYXJWMixcbiAgICAgIHZhcmlhbnQ6IFwic2Vjb25kYXJ5XCIsXG4gICAgICBob3ZlclZhcmlhbnQ6IFwic2Vjb25kYXJ5RGFya1wiLFxuICAgICAgYW5pbWF0aW9uU3BlZWQ6IFwibm9uZVwiLFxuICAgICAgYnV0dG9uQm9yZGVyUmFkaXVzOiBcIm1kXCIsXG4gICAgICBib2xkRmlyc3RCdXR0b246IHRydWUsXG4gICAgICBidXR0b25UZXh0czoge1xuICAgICAgICBkZWZhdWx0OiBbXG4gICAgICAgICAgXCJIb3cgZG9lcyBpdCBmaXQ/XCIsXG4gICAgICAgICAgXCJIb3cgZG9lcyBpdCBmZWVsP1wiLFxuICAgICAgICAgIFwiV2hhdCdzIHRoZSBzdHlsZT9cIixcbiAgICAgICAgICBcIkRvZXMgaXQgcGFpciB3aXRoIHN3ZWF0cGFudHM/XCIsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyxcbiAgICBib3R0b21TdWdnZXN0aW9uc0JhclN3ZWF0c2hpcnRzOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uc0JhclN3ZWF0c2hpcnRzXCIsXG4gICAgICBjb250ZW50SWQ6IFwic3BpZmZ5LXRvcC1zdWdnZXN0aW9uLWJhci1jb250ZW50c1wiLFxuICAgICAgbWV0cmljRGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbi5UT1BfUkVWSUVXU19TTklQUEVULFxuICAgICAgbG9jYXRpb246IFN1Z2dlc3Rpb25CYXJMb2NhdGlvbkZvck1ldHJpY3MuU1VHR0VTVElPTl9CQVJfVE9QLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjIsXG4gICAgICB2YXJpYW50OiBcImRhcmtQcmltYXJ5XCIsXG4gICAgICBob3ZlclZhcmlhbnQ6IFwic2Vjb25kYXJ5RGFya1wiLFxuICAgICAgYW5pbWF0aW9uU3BlZWQ6IFwibm9uZVwiLFxuICAgICAgYnV0dG9uQm9yZGVyUmFkaXVzOiBcIm1kXCIsXG4gICAgICBib2xkRmlyc3RCdXR0b246IHRydWUsXG4gICAgICBidXR0b25UZXh0czoge1xuICAgICAgICBkZWZhdWx0OiBbXG4gICAgICAgICAgXCJIb3cgZG9lcyBpdCBmaXQ/XCIsXG4gICAgICAgICAgXCJIb3cgZG9lcyBpdCBmZWVsP1wiLFxuICAgICAgICAgIFwiV2hhdCdzIHRoZSBzdHlsZT9cIixcbiAgICAgICAgICBcIkRvZXMgaXQgcGFpciB3aXRoIHN3ZWF0c2hpcnRzP1wiLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcsXG4gICAgdG9wU3VnZ2VzdGlvbnNCYXJTd2VhdHBhbnRzOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uc0JhclN3ZWF0cGFudHNcIixcbiAgICAgIGNvbnRlbnRJZDogXCJzcGlmZnktdG9wLXN1Z2dlc3Rpb24tYmFyLWNvbnRlbnRzXCIsXG4gICAgICBtZXRyaWNEaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uLlRPUF9SRVZJRVdTX1NOSVBQRVQsXG4gICAgICBsb2NhdGlvbjogU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcy5TVUdHRVNUSU9OX0JBUl9UT1AsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLlN1Z2dlc3Rpb25CYXJWMixcbiAgICAgIHZhcmlhbnQ6IFwic2Vjb25kYXJ5XCIsXG4gICAgICBob3ZlclZhcmlhbnQ6IFwic2Vjb25kYXJ5RGFya1wiLFxuICAgICAgYW5pbWF0aW9uU3BlZWQ6IFwibm9uZVwiLFxuICAgICAgYnV0dG9uQm9yZGVyUmFkaXVzOiBcIm1kXCIsXG4gICAgICBib2xkRmlyc3RCdXR0b246IHRydWUsXG4gICAgICBidXR0b25UZXh0czoge1xuICAgICAgICBkZWZhdWx0OiBbXG4gICAgICAgICAgXCJIb3cgZG9lcyBpdCBmaXQ/XCIsXG4gICAgICAgICAgXCJIb3cgZG9lcyBpdCBmZWVsP1wiLFxuICAgICAgICAgIFwiV2hhdCdzIHRoZSBzdHlsZT9cIixcbiAgICAgICAgICBcIkRvZXMgaXQgcGFpciB3aXRoIHN3ZWF0c2hpcnRzP1wiLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcsXG4gICAgYm90dG9tU3VnZ2VzdGlvbnNCYXJTd2VhdHBhbnRzOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uc0JhclN3ZWF0cGFudHNcIixcbiAgICAgIGNvbnRlbnRJZDogXCJzcGlmZnktdG9wLXN1Z2dlc3Rpb24tYmFyLWNvbnRlbnRzXCIsXG4gICAgICBtZXRyaWNEaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uLlRPUF9SRVZJRVdTX1NOSVBQRVQsXG4gICAgICBsb2NhdGlvbjogU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcy5TVUdHRVNUSU9OX0JBUl9UT1AsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLlN1Z2dlc3Rpb25CYXJWMixcbiAgICAgIHZhcmlhbnQ6IFwiZGFya1ByaW1hcnlcIixcbiAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlEYXJrXCIsXG4gICAgICBhbmltYXRpb25TcGVlZDogXCJub25lXCIsXG4gICAgICBidXR0b25Cb3JkZXJSYWRpdXM6IFwibWRcIixcbiAgICAgIGJvbGRGaXJzdEJ1dHRvbjogdHJ1ZSxcbiAgICAgIGJ1dHRvblRleHRzOiB7XG4gICAgICAgIGRlZmF1bHQ6IFtcbiAgICAgICAgICBcIkhvdyBkb2VzIGl0IGZpdD9cIixcbiAgICAgICAgICBcIkhvdyBkb2VzIGl0IGZlZWw/XCIsXG4gICAgICAgICAgXCJXaGF0J3MgdGhlIHN0eWxlP1wiLFxuICAgICAgICAgIFwiRG9lcyBpdCBwYWlyIHdpdGggc3dlYXRzaGlydHM/XCIsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyxcbiAgICB0b3BTdWdnZXN0aW9uc0JhckdyYXBoaWM6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyR3JhcGhpY1wiLFxuICAgICAgY29udGVudElkOiBcInNwaWZmeS10b3Atc3VnZ2VzdGlvbi1iYXItY29udGVudHNcIixcbiAgICAgIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24uVE9QX1JFVklFV1NfU05JUFBFVCxcbiAgICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzLlNVR0dFU1RJT05fQkFSX1RPUCxcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU3VnZ2VzdGlvbkJhclYyLFxuICAgICAgdmFyaWFudDogXCJzZWNvbmRhcnlcIixcbiAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlEYXJrXCIsXG4gICAgICBhbmltYXRpb25TcGVlZDogXCJub25lXCIsXG4gICAgICBidXR0b25Cb3JkZXJSYWRpdXM6IFwibWRcIixcbiAgICAgIGJvbGRGaXJzdEJ1dHRvbjogdHJ1ZSxcbiAgICAgIGJ1dHRvblRleHRzOiB7XG4gICAgICAgIGRlZmF1bHQ6IFtcbiAgICAgICAgICBcIldoYXQgaXMgdGhlIHN0eWxlPyAoV29yay90ZWNoL3N0cmVldClcIixcbiAgICAgICAgICBcIldoYXQgaXMgdGhlIHNsZWV2ZSBsZW5ndGg/XCIsXG4gICAgICAgICAgXCJEb2VzIGl0IHBhaXIgd2l0aCBib3R0b21zP1wiLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcsXG4gICAgYm90dG9tU3VnZ2VzdGlvbnNCYXJHcmFwaGljOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uc0JhckdyYXBoaWNcIixcbiAgICAgIGNvbnRlbnRJZDogXCJzcGlmZnktdG9wLXN1Z2dlc3Rpb24tYmFyLWNvbnRlbnRzXCIsXG4gICAgICBtZXRyaWNEaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uLlRPUF9SRVZJRVdTX1NOSVBQRVQsXG4gICAgICBsb2NhdGlvbjogU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcy5TVUdHRVNUSU9OX0JBUl9UT1AsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLlN1Z2dlc3Rpb25CYXJWMixcbiAgICAgIHZhcmlhbnQ6IFwiZGFya1ByaW1hcnlcIixcbiAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlEYXJrXCIsXG4gICAgICBhbmltYXRpb25TcGVlZDogXCJub25lXCIsXG4gICAgICBidXR0b25Cb3JkZXJSYWRpdXM6IFwibWRcIixcbiAgICAgIGJvbGRGaXJzdEJ1dHRvbjogdHJ1ZSxcbiAgICAgIGJ1dHRvblRleHRzOiB7XG4gICAgICAgIGRlZmF1bHQ6IFtcbiAgICAgICAgICBcIldoYXQgaXMgdGhlIHN0eWxlPyAoV29yay90ZWNoL3N0cmVldClcIixcbiAgICAgICAgICBcIldoYXQgaXMgdGhlIHNsZWV2ZSBsZW5ndGg/XCIsXG4gICAgICAgICAgXCJEb2VzIGl0IHBhaXIgd2l0aCBib3R0b21zP1wiLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcsXG4gICAgdG9wU3VnZ2VzdGlvbnNCYXJEZW5pbToge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJEZW5pbVwiLFxuICAgICAgY29udGVudElkOiBcInNwaWZmeS10b3Atc3VnZ2VzdGlvbi1iYXItY29udGVudHNcIixcbiAgICAgIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24uVE9QX1JFVklFV1NfU05JUFBFVCxcbiAgICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzLlNVR0dFU1RJT05fQkFSX1RPUCxcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU3VnZ2VzdGlvbkJhclYyLFxuICAgICAgdmFyaWFudDogXCJzZWNvbmRhcnlcIixcbiAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlEYXJrXCIsXG4gICAgICBhbmltYXRpb25TcGVlZDogXCJub25lXCIsXG4gICAgICBidXR0b25Cb3JkZXJSYWRpdXM6IFwibWRcIixcbiAgICAgIGJvbGRGaXJzdEJ1dHRvbjogdHJ1ZSxcbiAgICAgIGJ1dHRvblRleHRzOiB7XG4gICAgICAgIGRlZmF1bHQ6IFtcbiAgICAgICAgICBcIkhvdyBkbyB0aGV5IGZpdD9cIixcbiAgICAgICAgICBcIldoYXQgc2l6ZSBzaG91bGQgSSBnZXQ/XCIsXG4gICAgICAgICAgXCJXaGF0J3MgdGhlIHJpc2U/XCIsXG4gICAgICAgICAgXCJXaGF0J3MgdGhlIG1hdGVyaWFsP1wiLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcsXG4gICAgYm90dG9tU3VnZ2VzdGlvbnNCYXJEZW5pbToge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJEZW5pbVwiLFxuICAgICAgY29udGVudElkOiBcInNwaWZmeS10b3Atc3VnZ2VzdGlvbi1iYXItY29udGVudHNcIixcbiAgICAgIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24uVE9QX1JFVklFV1NfU05JUFBFVCxcbiAgICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzLlNVR0dFU1RJT05fQkFSX1RPUCxcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU3VnZ2VzdGlvbkJhclYyLFxuICAgICAgdmFyaWFudDogXCJkYXJrUHJpbWFyeVwiLFxuICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeURhcmtcIixcbiAgICAgIGFuaW1hdGlvblNwZWVkOiBcIm5vbmVcIixcbiAgICAgIGJ1dHRvbkJvcmRlclJhZGl1czogXCJtZFwiLFxuICAgICAgYm9sZEZpcnN0QnV0dG9uOiB0cnVlLFxuICAgICAgYnV0dG9uVGV4dHM6IHtcbiAgICAgICAgZGVmYXVsdDogW1xuICAgICAgICAgIFwiSG93IGRvIHRoZXkgZml0P1wiLFxuICAgICAgICAgIFwiV2hhdCBzaXplIHNob3VsZCBJIGdldD9cIixcbiAgICAgICAgICBcIldoYXQncyB0aGUgcmlzZT9cIixcbiAgICAgICAgICBcIldoYXQncyB0aGUgbWF0ZXJpYWw/XCIsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyxcbiAgICB0b3BTdWdnZXN0aW9uc0JhclR3aWxsRmxlZWNlOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uc0JhclR3aWxsRmxlZWNlXCIsXG4gICAgICBjb250ZW50SWQ6IFwic3BpZmZ5LXRvcC1zdWdnZXN0aW9uLWJhci1jb250ZW50c1wiLFxuICAgICAgbWV0cmljRGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbi5UT1BfUkVWSUVXU19TTklQUEVULFxuICAgICAgbG9jYXRpb246IFN1Z2dlc3Rpb25CYXJMb2NhdGlvbkZvck1ldHJpY3MuU1VHR0VTVElPTl9CQVJfVE9QLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjIsXG4gICAgICB2YXJpYW50OiBcInNlY29uZGFyeVwiLFxuICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeURhcmtcIixcblxuICAgICAgYnV0dG9uQm9yZGVyUmFkaXVzOiBcIm1kXCIsXG4gICAgICBib2xkRmlyc3RCdXR0b246IHRydWUsXG4gICAgICBidXR0b25UZXh0czoge1xuICAgICAgICBkZWZhdWx0OiBbXG4gICAgICAgICAgXCJBcmUgdGhlc2UgdHJ1ZSB0byBzaXplP1wiLFxuICAgICAgICAgIFwiV2hhdCBzaXplIHNob3VsZCBJIGdldD9cIixcbiAgICAgICAgICBcIkhvdyBkb2VzIGl0IGZlZWw/XCIsXG4gICAgICAgICAgXCJEbyB0aGV5IHN0cmV0Y2ggb3V0IG92ZXIgdGltZT9cIixcbiAgICAgICAgICBcIldoYXQncyB0aGUgZml0L3N0eWxlP1wiLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcsXG4gICAgYm90dG9tU3VnZ2VzdGlvbnNCYXJUd2lsbEZsZWVjZToge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJUd2lsbEZsZWVjZVwiLFxuICAgICAgY29udGVudElkOiBcInNwaWZmeS10b3Atc3VnZ2VzdGlvbi1iYXItY29udGVudHNcIixcbiAgICAgIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24uVE9QX1JFVklFV1NfU05JUFBFVCxcbiAgICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzLlNVR0dFU1RJT05fQkFSX1RPUCxcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU3VnZ2VzdGlvbkJhclYyLFxuICAgICAgdmFyaWFudDogXCJkYXJrUHJpbWFyeVwiLFxuICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeURhcmtcIixcbiAgICAgIGFuaW1hdGlvblNwZWVkOiBcIm5vbmVcIixcbiAgICAgIGJ1dHRvbkJvcmRlclJhZGl1czogXCJtZFwiLFxuICAgICAgYm9sZEZpcnN0QnV0dG9uOiB0cnVlLFxuICAgICAgYnV0dG9uVGV4dHM6IHtcbiAgICAgICAgZGVmYXVsdDogW1xuICAgICAgICAgIFwiQXJlIHRoZXNlIHRydWUgdG8gc2l6ZT9cIixcbiAgICAgICAgICBcIldoYXQgc2l6ZSBzaG91bGQgSSBnZXQ/XCIsXG4gICAgICAgICAgXCJIb3cgZG9lcyBpdCBmZWVsP1wiLFxuICAgICAgICAgIFwiRG8gdGhleSBzdHJldGNoIG91dCBvdmVyIHRpbWU/XCIsXG4gICAgICAgICAgXCJXaGF0J3MgdGhlIGZpdC9zdHlsZT9cIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLFxuICAgIHRvcFN1Z2dlc3Rpb25zQmFyU2hvcnRzOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uc0JhclNob3J0c1wiLFxuICAgICAgY29udGVudElkOiBcInNwaWZmeS10b3Atc3VnZ2VzdGlvbi1iYXItY29udGVudHNcIixcbiAgICAgIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24uVE9QX1JFVklFV1NfU05JUFBFVCxcbiAgICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzLlNVR0dFU1RJT05fQkFSX1RPUCxcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU3VnZ2VzdGlvbkJhclYyLFxuICAgICAgdmFyaWFudDogXCJzZWNvbmRhcnlcIixcbiAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlEYXJrXCIsXG4gICAgICBhbmltYXRpb25TcGVlZDogXCJub25lXCIsXG4gICAgICBidXR0b25Cb3JkZXJSYWRpdXM6IFwibWRcIixcbiAgICAgIGJvbGRGaXJzdEJ1dHRvbjogdHJ1ZSxcbiAgICAgIGJ1dHRvblRleHRzOiB7XG4gICAgICAgIGRlZmF1bHQ6IFtcbiAgICAgICAgICBcIkhvdyBmYXIgZG93biBkb2VzIGl0IGdvP1wiLFxuICAgICAgICAgIFwiQXJlIHRoZXNlIHRydWUgdG8gc2l6ZT9cIixcbiAgICAgICAgICBcIldoYXQgc2l6ZSBzaG91bGQgSSBnZXQ/XCIsXG4gICAgICAgICAgXCJIb3cgZG9lcyBpdCBmZWVsP1wiLFxuICAgICAgICAgIFwiRG8gdGhleSBzdHJldGNoIG91dCBvdmVyIHRpbWU/XCIsXG4gICAgICAgICAgXCJXaGF0J3MgdGhlIGZpdC9zdHlsZT9cIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLFxuICAgIGJvdHRvbVN1Z2dlc3Rpb25zQmFyU2hvcnRzOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uc0JhclNob3J0c1wiLFxuICAgICAgY29udGVudElkOiBcInNwaWZmeS10b3Atc3VnZ2VzdGlvbi1iYXItY29udGVudHNcIixcbiAgICAgIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24uVE9QX1JFVklFV1NfU05JUFBFVCxcbiAgICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzLlNVR0dFU1RJT05fQkFSX1RPUCxcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU3VnZ2VzdGlvbkJhclYyLFxuICAgICAgdmFyaWFudDogXCJkYXJrUHJpbWFyeVwiLFxuICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeURhcmtcIixcbiAgICAgIGFuaW1hdGlvblNwZWVkOiBcIm5vbmVcIixcbiAgICAgIGJ1dHRvbkJvcmRlclJhZGl1czogXCJtZFwiLFxuICAgICAgYm9sZEZpcnN0QnV0dG9uOiB0cnVlLFxuICAgICAgYnV0dG9uVGV4dHM6IHtcbiAgICAgICAgZGVmYXVsdDogW1xuICAgICAgICAgIFwiSG93IGZhciBkb3duIGRvZXMgaXQgZ28/XCIsXG4gICAgICAgICAgXCJBcmUgdGhlc2UgdHJ1ZSB0byBzaXplP1wiLFxuICAgICAgICAgIFwiV2hhdCBzaXplIHNob3VsZCBJIGdldD9cIixcbiAgICAgICAgICBcIkhvdyBkb2VzIGl0IGZlZWw/XCIsXG4gICAgICAgICAgXCJEbyB0aGV5IHN0cmV0Y2ggb3V0IG92ZXIgdGltZT9cIixcbiAgICAgICAgICBcIldoYXQncyB0aGUgZml0L3N0eWxlP1wiLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcsXG4gICAgdG9wU3VnZ2VzdGlvbnNCYXJBY2Nlc3Nvcmllczoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJBY2Nlc3Nvcmllc1wiLFxuICAgICAgY29udGVudElkOiBcInNwaWZmeS10b3Atc3VnZ2VzdGlvbi1iYXItY29udGVudHNcIixcbiAgICAgIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24uVE9QX1JFVklFV1NfU05JUFBFVCxcbiAgICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzLlNVR0dFU1RJT05fQkFSX1RPUCxcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU3VnZ2VzdGlvbkJhclYyLFxuICAgICAgdmFyaWFudDogXCJzZWNvbmRhcnlcIixcbiAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlEYXJrXCIsXG4gICAgICBhbmltYXRpb25TcGVlZDogXCJub25lXCIsXG4gICAgICBidXR0b25Cb3JkZXJSYWRpdXM6IFwibWRcIixcbiAgICAgIGJvbGRGaXJzdEJ1dHRvbjogdHJ1ZSxcbiAgICAgIGJ1dHRvblRleHRzOiB7XG4gICAgICAgIGRlZmF1bHQ6IFtcbiAgICAgICAgICBcIkhvdyBkb2VzIGl0IGVuaGFuY2UgbXkgb3V0Zml0P1wiLFxuICAgICAgICAgIFwiSXMgaXQgZ29vZCBmb3IgZXZlcnlkYXkgdXNlP1wiLFxuICAgICAgICAgIFwiSXMgaXQgd2F0ZXIgcmVzaXN0YW50P1wiLFxuICAgICAgICAgIFwiSXMgaXQgY2Fycnktb24gc2l6ZT9cIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLFxuICAgIGJvdHRvbVN1Z2dlc3Rpb25zQmFyQWNjZXNzb3JpZXM6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25zQmFyQWNjZXNzb3JpZXNcIixcbiAgICAgIGNvbnRlbnRJZDogXCJzcGlmZnktdG9wLXN1Z2dlc3Rpb24tYmFyLWNvbnRlbnRzXCIsXG4gICAgICBtZXRyaWNEaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uLlRPUF9SRVZJRVdTX1NOSVBQRVQsXG4gICAgICBsb2NhdGlvbjogU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcy5TVUdHRVNUSU9OX0JBUl9UT1AsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLlN1Z2dlc3Rpb25CYXJWMixcbiAgICAgIHZhcmlhbnQ6IFwiZGFya1ByaW1hcnlcIixcbiAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlEYXJrXCIsXG4gICAgICBhbmltYXRpb25TcGVlZDogXCJub25lXCIsXG4gICAgICBidXR0b25Cb3JkZXJSYWRpdXM6IFwibWRcIixcbiAgICAgIGJvbGRGaXJzdEJ1dHRvbjogdHJ1ZSxcbiAgICAgIGJ1dHRvblRleHRzOiB7XG4gICAgICAgIGRlZmF1bHQ6IFtcbiAgICAgICAgICBcIkhvdyBkb2VzIGl0IGVuaGFuY2UgbXkgb3V0Zml0P1wiLFxuICAgICAgICAgIFwiSXMgaXQgZ29vZCBmb3IgZXZlcnlkYXkgdXNlP1wiLFxuICAgICAgICAgIFwiSXMgaXQgd2F0ZXIgcmVzaXN0YW50P1wiLFxuICAgICAgICAgIFwiSXMgaXQgY2Fycnktb24gc2l6ZT9cIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLFxuICAgIHRvcFN1Z2dlc3Rpb25zQmFyRm9vdHdlYXI6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyXCIsXG4gICAgICBjb250ZW50SWQ6IFwic3BpZmZ5LXRvcC1zdWdnZXN0aW9uLWJhci1jb250ZW50c1wiLFxuICAgICAgbWV0cmljRGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbi5UT1BfUkVWSUVXU19TTklQUEVULFxuICAgICAgbG9jYXRpb246IFN1Z2dlc3Rpb25CYXJMb2NhdGlvbkZvck1ldHJpY3MuU1VHR0VTVElPTl9CQVJfVE9QLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjIsXG4gICAgICB2YXJpYW50OiBcInNlY29uZGFyeVwiLFxuICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeURhcmtcIixcbiAgICAgIGFuaW1hdGlvblNwZWVkOiBcIm5vbmVcIixcbiAgICAgIGJ1dHRvbkJvcmRlclJhZGl1czogXCJtZFwiLFxuICAgICAgYm9sZEZpcnN0QnV0dG9uOiB0cnVlLFxuICAgICAgYnV0dG9uVGV4dHM6IHtcbiAgICAgICAgZGVmYXVsdDogW1xuICAgICAgICAgIFwiV2hhdCBzaXplIHNob3VsZCBJIGNob29zZT9cIixcbiAgICAgICAgICBcIkFyZSB0aGV5IGdvb2QgZm9yIGV2ZXJ5ZGF5IHdlYXI/XCIsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyxcbiAgICBib3R0b21TdWdnZXN0aW9uc0JhckZvb3R3ZWFyOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uc0JhckZvb3R3ZWFyXCIsXG4gICAgICBjb250ZW50SWQ6IFwic3BpZmZ5LXRvcC1zdWdnZXN0aW9uLWJhci1jb250ZW50c1wiLFxuICAgICAgbWV0cmljRGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbi5UT1BfUkVWSUVXU19TTklQUEVULFxuICAgICAgbG9jYXRpb246IFN1Z2dlc3Rpb25CYXJMb2NhdGlvbkZvck1ldHJpY3MuU1VHR0VTVElPTl9CQVJfVE9QLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjIsXG4gICAgICB2YXJpYW50OiBcImRhcmtQcmltYXJ5XCIsXG4gICAgICBob3ZlclZhcmlhbnQ6IFwic2Vjb25kYXJ5RGFya1wiLFxuICAgICAgYW5pbWF0aW9uU3BlZWQ6IFwibm9uZVwiLFxuICAgICAgYnV0dG9uQm9yZGVyUmFkaXVzOiBcIm1kXCIsXG4gICAgICBib2xkRmlyc3RCdXR0b246IHRydWUsXG4gICAgICBidXR0b25UZXh0czoge1xuICAgICAgICBkZWZhdWx0OiBbXG4gICAgICAgICAgXCJXaGF0IHNpemUgc2hvdWxkIEkgY2hvb3NlP1wiLFxuICAgICAgICAgIFwiQXJlIHRoZXkgZ29vZCBmb3IgZXZlcnlkYXkgd2Vhcj9cIixcbiAgICAgICAgICBcIkhvdyBkbyB0aGV5IGZpdD9cIixcbiAgICAgICAgICBcIldoYXQgbWF0ZXJpYWwgYXJlIHRoZXkgbWFkZSBvZj9cIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLFxuICAgIHRvcFN1Z2dlc3Rpb25zQmFyT3V0ZXJ3ZWFyV2l0aFJldmlld3M6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyT3V0ZXJ3ZWFyV2l0aFJldmlld3NcIixcbiAgICAgIGNvbnRlbnRJZDogXCJzcGlmZnktdG9wLXN1Z2dlc3Rpb24tYmFyLWNvbnRlbnRzXCIsXG4gICAgICBtZXRyaWNEaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uLlRPUF9SRVZJRVdTX1NOSVBQRVQsXG4gICAgICBsb2NhdGlvbjogU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcy5TVUdHRVNUSU9OX0JBUl9UT1AsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLlN1Z2dlc3Rpb25CYXJWMixcbiAgICAgIHZhcmlhbnQ6IFwic2Vjb25kYXJ5XCIsXG4gICAgICBob3ZlclZhcmlhbnQ6IFwic2Vjb25kYXJ5RGFya1wiLFxuICAgICAgYW5pbWF0aW9uU3BlZWQ6IFwibm9uZVwiLFxuICAgICAgYnV0dG9uQm9yZGVyUmFkaXVzOiBcIm1kXCIsXG4gICAgICBib2xkRmlyc3RCdXR0b246IHRydWUsXG4gICAgICBidXR0b25UZXh0czoge1xuICAgICAgICBkZWZhdWx0OiBbXG4gICAgICAgICAgXCJTdW1tYXJpemUgdGhlIHJldmlld3MuXCIsXG4gICAgICAgICAgXCJIb3cgaW5zdWxhdGVkIGlzIHRoaXMgamFja2V0P1wiLFxuICAgICAgICAgIFwiV2hhdCBtYXRlcmlhbCBpcyBpdCBtYWRlIG9mP1wiLFxuICAgICAgICAgIFwiQ2FuIEkgbGF5ZXIgdGhpcyBvdmVyIGEgaG9vZGllP1wiLFxuICAgICAgICAgIFwiRG9lcyB0aGUgbWF0ZXJpYWwgc3RyZXRjaD9cIixcbiAgICAgICAgICBcIkRvZXMgaXQgcnVuIHNtYWxsP1wiLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcsXG4gICAgYm90dG9tU3VnZ2VzdGlvbnNCYXJPdXRlcndlYXJXaXRoUmV2aWV3czoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJPdXRlcndlYXJXaXRoUmV2aWV3c1wiLFxuICAgICAgY29udGVudElkOiBcInNwaWZmeS1ib3R0b20tc3VnZ2VzdGlvbi1iYXItY29udGVudHNcIixcbiAgICAgIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24uQk9UVE9NX1JFVklFV1NfU05JUFBFVCxcbiAgICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzLlNVR0dFU1RJT05fQkFSX0JPVFRPTSxcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU3VnZ2VzdGlvbkJhclYyLFxuICAgICAgdmFyaWFudDogXCJkYXJrUHJpbWFyeVwiLFxuICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeURhcmtcIixcbiAgICAgIGFuaW1hdGlvblNwZWVkOiBcIm5vbmVcIixcbiAgICAgIGJ1dHRvbkJvcmRlclJhZGl1czogXCJtZFwiLFxuICAgICAgYm9sZEZpcnN0QnV0dG9uOiB0cnVlLFxuICAgICAgYnV0dG9uVGV4dHM6IHtcbiAgICAgICAgZGVmYXVsdDogW1xuICAgICAgICAgIFwiU3VtbWFyaXplIHRoZSByZXZpZXdzLlwiLFxuICAgICAgICAgIFwiSG93IGluc3VsYXRlZCBpcyB0aGlzIGphY2tldD9cIixcbiAgICAgICAgICBcIldoYXQgbWF0ZXJpYWwgaXMgaXQgbWFkZSBvZj9cIixcbiAgICAgICAgICBcIkNhbiBJIGxheWVyIHRoaXMgb3ZlciBhIGhvb2RpZT9cIixcbiAgICAgICAgICBcIkRvZXMgdGhlIG1hdGVyaWFsIHN0cmV0Y2g/XCIsXG4gICAgICAgICAgXCJEb2VzIGl0IHJ1biBzbWFsbD9cIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLFxuICAgIHRvcFN1Z2dlc3Rpb25zQmFyVHNoaXJ0c1dpdGhSZXZpZXdzOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJ0b3BTdWdnZXN0aW9uc0JhclRzaGlydHNXaXRoUmV2aWV3c1wiLFxuICAgICAgY29udGVudElkOiBcInNwaWZmeS10b3Atc3VnZ2VzdGlvbi1iYXItY29udGVudHNcIixcbiAgICAgIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24uVE9QX1JFVklFV1NfU05JUFBFVCxcbiAgICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzLlNVR0dFU1RJT05fQkFSX1RPUCxcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU3VnZ2VzdGlvbkJhclYyLFxuICAgICAgdmFyaWFudDogXCJzZWNvbmRhcnlcIixcbiAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlEYXJrXCIsXG4gICAgICBhbmltYXRpb25TcGVlZDogXCJub25lXCIsXG4gICAgICBidXR0b25Cb3JkZXJSYWRpdXM6IFwibWRcIixcbiAgICAgIGJvbGRGaXJzdEJ1dHRvbjogdHJ1ZSxcbiAgICAgIGJ1dHRvblRleHRzOiB7XG4gICAgICAgIGRlZmF1bHQ6IFtcbiAgICAgICAgICBcIlN1bW1hcml6ZSB0aGUgcmV2aWV3cy5cIixcbiAgICAgICAgICBcIkhvdyBkb2VzIGl0IGZpdD9cIixcbiAgICAgICAgICBcIldoYXQgbWF0ZXJpYWwgaXMgaXQgbWFkZSBvZj9cIixcbiAgICAgICAgICBcIkRvZXMgaXQgc2hyaW5rIGluIHRoZSB3YXNoP1wiLFxuICAgICAgICAgIFwiSXMgaXQgdHJ1ZSB0byBzaXplP1wiLFxuICAgICAgICAgIFwiV2hhdCBjb2xvcnMgZG9lcyBpdCBjb21lIGluP1wiLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcsXG4gICAgYm90dG9tU3VnZ2VzdGlvbnNCYXJUc2hpcnRzV2l0aFJldmlld3M6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25zQmFyVHNoaXJ0c1dpdGhSZXZpZXdzXCIsXG4gICAgICBjb250ZW50SWQ6IFwic3BpZmZ5LWJvdHRvbS1zdWdnZXN0aW9uLWJhci1jb250ZW50c1wiLFxuICAgICAgbWV0cmljRGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbi5CT1RUT01fUkVWSUVXU19TTklQUEVULFxuICAgICAgbG9jYXRpb246IFN1Z2dlc3Rpb25CYXJMb2NhdGlvbkZvck1ldHJpY3MuU1VHR0VTVElPTl9CQVJfQk9UVE9NLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjIsXG4gICAgICB2YXJpYW50OiBcImRhcmtQcmltYXJ5XCIsXG4gICAgICBob3ZlclZhcmlhbnQ6IFwic2Vjb25kYXJ5RGFya1wiLFxuICAgICAgYW5pbWF0aW9uU3BlZWQ6IFwibm9uZVwiLFxuICAgICAgYnV0dG9uQm9yZGVyUmFkaXVzOiBcIm1kXCIsXG4gICAgICBib2xkRmlyc3RCdXR0b246IHRydWUsXG4gICAgICBidXR0b25UZXh0czoge1xuICAgICAgICBkZWZhdWx0OiBbXG4gICAgICAgICAgXCJTdW1tYXJpemUgdGhlIHJldmlld3MuXCIsXG4gICAgICAgICAgXCJIb3cgZG9lcyBpdCBmaXQ/XCIsXG4gICAgICAgICAgXCJXaGF0IG1hdGVyaWFsIGlzIGl0IG1hZGUgb2Y/XCIsXG4gICAgICAgICAgXCJEb2VzIGl0IHNocmluayBpbiB0aGUgd2FzaD9cIixcbiAgICAgICAgICBcIklzIGl0IHRydWUgdG8gc2l6ZT9cIixcbiAgICAgICAgICBcIldoYXQgY29sb3JzIGRvZXMgaXQgY29tZSBpbj9cIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLFxuICAgIHRvcFN1Z2dlc3Rpb25zQmFyU3dlYXRzaGlydHNXaXRoUmV2aWV3czoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJTd2VhdHNoaXJ0c1dpdGhSZXZpZXdzXCIsXG4gICAgICBjb250ZW50SWQ6IFwic3BpZmZ5LXRvcC1zdWdnZXN0aW9uLWJhci1jb250ZW50c1wiLFxuICAgICAgbWV0cmljRGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbi5UT1BfUkVWSUVXU19TTklQUEVULFxuICAgICAgbG9jYXRpb246IFN1Z2dlc3Rpb25CYXJMb2NhdGlvbkZvck1ldHJpY3MuU1VHR0VTVElPTl9CQVJfVE9QLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjIsXG4gICAgICB2YXJpYW50OiBcInNlY29uZGFyeVwiLFxuICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeURhcmtcIixcbiAgICAgIGFuaW1hdGlvblNwZWVkOiBcIm5vbmVcIixcbiAgICAgIGJ1dHRvbkJvcmRlclJhZGl1czogXCJtZFwiLFxuICAgICAgYm9sZEZpcnN0QnV0dG9uOiB0cnVlLFxuICAgICAgYnV0dG9uVGV4dHM6IHtcbiAgICAgICAgZGVmYXVsdDogW1xuICAgICAgICAgIFwiU3VtbWFyaXplIHRoZSByZXZpZXdzLlwiLFxuICAgICAgICAgIFwiSG93IGRvZXMgaXQgZml0P1wiLFxuICAgICAgICAgIFwiSG93IGRvZXMgaXQgZmVlbD9cIixcbiAgICAgICAgICBcIldoYXQncyB0aGUgc3R5bGU/XCIsXG4gICAgICAgICAgXCJEb2VzIGl0IHBhaXIgd2l0aCBzd2VhdHBhbnRzP1wiLFxuICAgICAgICAgIFwiSXMgaXQgd2FybSBlbm91Z2ggZm9yIHdpbnRlcj9cIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLFxuICAgIGJvdHRvbVN1Z2dlc3Rpb25zQmFyU3dlYXRzaGlydHNXaXRoUmV2aWV3czoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJTd2VhdHNoaXJ0c1dpdGhSZXZpZXdzXCIsXG4gICAgICBjb250ZW50SWQ6IFwic3BpZmZ5LWJvdHRvbS1zdWdnZXN0aW9uLWJhci1jb250ZW50c1wiLFxuICAgICAgbWV0cmljRGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbi5CT1RUT01fUkVWSUVXU19TTklQUEVULFxuICAgICAgbG9jYXRpb246IFN1Z2dlc3Rpb25CYXJMb2NhdGlvbkZvck1ldHJpY3MuU1VHR0VTVElPTl9CQVJfQk9UVE9NLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjIsXG4gICAgICB2YXJpYW50OiBcImRhcmtQcmltYXJ5XCIsXG4gICAgICBob3ZlclZhcmlhbnQ6IFwic2Vjb25kYXJ5RGFya1wiLFxuICAgICAgYW5pbWF0aW9uU3BlZWQ6IFwibm9uZVwiLFxuICAgICAgYnV0dG9uQm9yZGVyUmFkaXVzOiBcIm1kXCIsXG4gICAgICBib2xkRmlyc3RCdXR0b246IHRydWUsXG4gICAgICBidXR0b25UZXh0czoge1xuICAgICAgICBkZWZhdWx0OiBbXG4gICAgICAgICAgXCJTdW1tYXJpemUgdGhlIHJldmlld3MuXCIsXG4gICAgICAgICAgXCJIb3cgZG9lcyBpdCBmaXQ/XCIsXG4gICAgICAgICAgXCJIb3cgZG9lcyBpdCBmZWVsP1wiLFxuICAgICAgICAgIFwiV2hhdCdzIHRoZSBzdHlsZT9cIixcbiAgICAgICAgICBcIkRvZXMgaXQgcGFpciB3aXRoIHN3ZWF0cGFudHM/XCIsXG4gICAgICAgICAgXCJJcyBpdCB3YXJtIGVub3VnaCBmb3Igd2ludGVyP1wiLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcsXG4gICAgdG9wU3VnZ2VzdGlvbnNCYXJTd2VhdHBhbnRzV2l0aFJldmlld3M6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyU3dlYXRwYW50c1dpdGhSZXZpZXdzXCIsXG4gICAgICBjb250ZW50SWQ6IFwic3BpZmZ5LXRvcC1zdWdnZXN0aW9uLWJhci1jb250ZW50c1wiLFxuICAgICAgbWV0cmljRGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbi5UT1BfUkVWSUVXU19TTklQUEVULFxuICAgICAgbG9jYXRpb246IFN1Z2dlc3Rpb25CYXJMb2NhdGlvbkZvck1ldHJpY3MuU1VHR0VTVElPTl9CQVJfVE9QLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjIsXG4gICAgICB2YXJpYW50OiBcInNlY29uZGFyeVwiLFxuICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeURhcmtcIixcbiAgICAgIGFuaW1hdGlvblNwZWVkOiBcIm5vbmVcIixcbiAgICAgIGJ1dHRvbkJvcmRlclJhZGl1czogXCJtZFwiLFxuICAgICAgYm9sZEZpcnN0QnV0dG9uOiB0cnVlLFxuICAgICAgYnV0dG9uVGV4dHM6IHtcbiAgICAgICAgZGVmYXVsdDogW1xuICAgICAgICAgIFwiU3VtbWFyaXplIHRoZSByZXZpZXdzLlwiLFxuICAgICAgICAgIFwiSG93IGRvZXMgaXQgZml0P1wiLFxuICAgICAgICAgIFwiSG93IGRvZXMgaXQgZmVlbD9cIixcbiAgICAgICAgICBcIldoYXQncyB0aGUgc3R5bGU/XCIsXG4gICAgICAgICAgXCJEb2VzIGl0IHBhaXIgd2l0aCBzd2VhdHNoaXJ0cz9cIixcbiAgICAgICAgICBcIkFyZSB0aGV5IHRydWUgdG8gc2l6ZT9cIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLFxuICAgIGJvdHRvbVN1Z2dlc3Rpb25zQmFyU3dlYXRwYW50c1dpdGhSZXZpZXdzOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uc0JhclN3ZWF0cGFudHNXaXRoUmV2aWV3c1wiLFxuICAgICAgY29udGVudElkOiBcInNwaWZmeS1ib3R0b20tc3VnZ2VzdGlvbi1iYXItY29udGVudHNcIixcbiAgICAgIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24uQk9UVE9NX1JFVklFV1NfU05JUFBFVCxcbiAgICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzLlNVR0dFU1RJT05fQkFSX0JPVFRPTSxcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU3VnZ2VzdGlvbkJhclYyLFxuICAgICAgdmFyaWFudDogXCJkYXJrUHJpbWFyeVwiLFxuICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeURhcmtcIixcbiAgICAgIGFuaW1hdGlvblNwZWVkOiBcIm5vbmVcIixcbiAgICAgIGJ1dHRvbkJvcmRlclJhZGl1czogXCJtZFwiLFxuICAgICAgYm9sZEZpcnN0QnV0dG9uOiB0cnVlLFxuICAgICAgYnV0dG9uVGV4dHM6IHtcbiAgICAgICAgZGVmYXVsdDogW1xuICAgICAgICAgIFwiU3VtbWFyaXplIHRoZSByZXZpZXdzLlwiLFxuICAgICAgICAgIFwiSG93IGRvZXMgaXQgZml0P1wiLFxuICAgICAgICAgIFwiSG93IGRvZXMgaXQgZmVlbD9cIixcbiAgICAgICAgICBcIldoYXQncyB0aGUgc3R5bGU/XCIsXG4gICAgICAgICAgXCJEb2VzIGl0IHBhaXIgd2l0aCBzd2VhdHNoaXJ0cz9cIixcbiAgICAgICAgICBcIkFyZSB0aGV5IHRydWUgdG8gc2l6ZT9cIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLFxuICAgIHRvcFN1Z2dlc3Rpb25zQmFyRGVuaW1XaXRoUmV2aWV3czoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwidG9wU3VnZ2VzdGlvbnNCYXJEZW5pbVdpdGhSZXZpZXdzXCIsXG4gICAgICBjb250ZW50SWQ6IFwic3BpZmZ5LXRvcC1zdWdnZXN0aW9uLWJhci1jb250ZW50c1wiLFxuICAgICAgbWV0cmljRGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbi5UT1BfUkVWSUVXU19TTklQUEVULFxuICAgICAgbG9jYXRpb246IFN1Z2dlc3Rpb25CYXJMb2NhdGlvbkZvck1ldHJpY3MuU1VHR0VTVElPTl9CQVJfVE9QLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjIsXG4gICAgICB2YXJpYW50OiBcInNlY29uZGFyeVwiLFxuICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeURhcmtcIixcbiAgICAgIGFuaW1hdGlvblNwZWVkOiBcIm5vbmVcIixcbiAgICAgIGJ1dHRvbkJvcmRlclJhZGl1czogXCJtZFwiLFxuICAgICAgYm9sZEZpcnN0QnV0dG9uOiB0cnVlLFxuICAgICAgYnV0dG9uVGV4dHM6IHtcbiAgICAgICAgZGVmYXVsdDogW1xuICAgICAgICAgIFwiU3VtbWFyaXplIHRoZSByZXZpZXdzLlwiLFxuICAgICAgICAgIFwiSG93IGRvIHRoZXkgZml0P1wiLFxuICAgICAgICAgIFwiV2hhdCBzaXplIHNob3VsZCBJIGdldD9cIixcbiAgICAgICAgICBcIldoYXQncyB0aGUgcmlzZT9cIixcbiAgICAgICAgICBcIldoYXQncyB0aGUgbWF0ZXJpYWw/XCIsXG4gICAgICAgICAgXCJEbyB0aGV5IHN0cmV0Y2g/XCIsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyxcbiAgICBib3R0b21TdWdnZXN0aW9uc0JhckRlbmltV2l0aFJldmlld3M6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25zQmFyRGVuaW1XaXRoUmV2aWV3c1wiLFxuICAgICAgY29udGVudElkOiBcInNwaWZmeS1ib3R0b20tc3VnZ2VzdGlvbi1iYXItY29udGVudHNcIixcbiAgICAgIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24uQk9UVE9NX1JFVklFV1NfU05JUFBFVCxcbiAgICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzLlNVR0dFU1RJT05fQkFSX0JPVFRPTSxcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU3VnZ2VzdGlvbkJhclYyLFxuICAgICAgdmFyaWFudDogXCJkYXJrUHJpbWFyeVwiLFxuICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeURhcmtcIixcbiAgICAgIGFuaW1hdGlvblNwZWVkOiBcIm5vbmVcIixcbiAgICAgIGJ1dHRvbkJvcmRlclJhZGl1czogXCJtZFwiLFxuICAgICAgYm9sZEZpcnN0QnV0dG9uOiB0cnVlLFxuICAgICAgYnV0dG9uVGV4dHM6IHtcbiAgICAgICAgZGVmYXVsdDogW1xuICAgICAgICAgIFwiU3VtbWFyaXplIHRoZSByZXZpZXdzLlwiLFxuICAgICAgICAgIFwiSG93IGRvIHRoZXkgZml0P1wiLFxuICAgICAgICAgIFwiV2hhdCBzaXplIHNob3VsZCBJIGdldD9cIixcbiAgICAgICAgICBcIldoYXQncyB0aGUgcmlzZT9cIixcbiAgICAgICAgICBcIldoYXQncyB0aGUgbWF0ZXJpYWw/XCIsXG4gICAgICAgICAgXCJEbyB0aGV5IHN0cmV0Y2g/XCIsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyxcbiAgICB0b3BTdWdnZXN0aW9uc0JhclR3aWxsRmxlZWNlV2l0aFJldmlld3M6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyVHdpbGxGbGVlY2VXaXRoUmV2aWV3c1wiLFxuICAgICAgY29udGVudElkOiBcInNwaWZmeS10b3Atc3VnZ2VzdGlvbi1iYXItY29udGVudHNcIixcbiAgICAgIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24uVE9QX1JFVklFV1NfU05JUFBFVCxcbiAgICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzLlNVR0dFU1RJT05fQkFSX1RPUCxcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU3VnZ2VzdGlvbkJhclYyLFxuICAgICAgdmFyaWFudDogXCJzZWNvbmRhcnlcIixcbiAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlEYXJrXCIsXG4gICAgICBhbmltYXRpb25TcGVlZDogXCJub25lXCIsXG4gICAgICBidXR0b25Cb3JkZXJSYWRpdXM6IFwibWRcIixcbiAgICAgIGJvbGRGaXJzdEJ1dHRvbjogdHJ1ZSxcbiAgICAgIGJ1dHRvblRleHRzOiB7XG4gICAgICAgIGRlZmF1bHQ6IFtcbiAgICAgICAgICBcIlN1bW1hcml6ZSB0aGUgcmV2aWV3cy5cIixcbiAgICAgICAgICBcIkFyZSB0aGVzZSB0cnVlIHRvIHNpemU/XCIsXG4gICAgICAgICAgXCJXaGF0IHNpemUgc2hvdWxkIEkgZ2V0P1wiLFxuICAgICAgICAgIFwiSG93IGRvZXMgaXQgZmVlbD9cIixcbiAgICAgICAgICBcIkRvIHRoZXkgc3RyZXRjaCBvdXQgb3ZlciB0aW1lP1wiLFxuICAgICAgICAgIFwiV2hhdCdzIHRoZSBmaXQvc3R5bGU/XCIsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyxcbiAgICBib3R0b21TdWdnZXN0aW9uc0JhclR3aWxsRmxlZWNlV2l0aFJldmlld3M6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25zQmFyVHdpbGxGbGVlY2VXaXRoUmV2aWV3c1wiLFxuICAgICAgY29udGVudElkOiBcInNwaWZmeS1ib3R0b20tc3VnZ2VzdGlvbi1iYXItY29udGVudHNcIixcbiAgICAgIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24uQk9UVE9NX1JFVklFV1NfU05JUFBFVCxcbiAgICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzLlNVR0dFU1RJT05fQkFSX0JPVFRPTSxcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU3VnZ2VzdGlvbkJhclYyLFxuICAgICAgdmFyaWFudDogXCJkYXJrUHJpbWFyeVwiLFxuICAgICAgaG92ZXJWYXJpYW50OiBcInNlY29uZGFyeURhcmtcIixcbiAgICAgIGFuaW1hdGlvblNwZWVkOiBcIm5vbmVcIixcbiAgICAgIGJ1dHRvbkJvcmRlclJhZGl1czogXCJtZFwiLFxuICAgICAgYm9sZEZpcnN0QnV0dG9uOiB0cnVlLFxuICAgICAgYnV0dG9uVGV4dHM6IHtcbiAgICAgICAgZGVmYXVsdDogW1xuICAgICAgICAgIFwiU3VtbWFyaXplIHRoZSByZXZpZXdzLlwiLFxuICAgICAgICAgIFwiQXJlIHRoZXNlIHRydWUgdG8gc2l6ZT9cIixcbiAgICAgICAgICBcIldoYXQgc2l6ZSBzaG91bGQgSSBnZXQ/XCIsXG4gICAgICAgICAgXCJIb3cgZG9lcyBpdCBmZWVsP1wiLFxuICAgICAgICAgIFwiRG8gdGhleSBzdHJldGNoIG91dCBvdmVyIHRpbWU/XCIsXG4gICAgICAgICAgXCJXaGF0J3MgdGhlIGZpdC9zdHlsZT9cIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLFxuICAgIHRvcFN1Z2dlc3Rpb25zQmFyU2hvcnRzV2l0aFJldmlld3M6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyU2hvcnRzV2l0aFJldmlld3NcIixcbiAgICAgIGNvbnRlbnRJZDogXCJzcGlmZnktdG9wLXN1Z2dlc3Rpb24tYmFyLWNvbnRlbnRzXCIsXG4gICAgICBtZXRyaWNEaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uLlRPUF9SRVZJRVdTX1NOSVBQRVQsXG4gICAgICBsb2NhdGlvbjogU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcy5TVUdHRVNUSU9OX0JBUl9UT1AsXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLlN1Z2dlc3Rpb25CYXJWMixcbiAgICAgIHZhcmlhbnQ6IFwic2Vjb25kYXJ5XCIsXG4gICAgICBob3ZlclZhcmlhbnQ6IFwic2Vjb25kYXJ5RGFya1wiLFxuICAgICAgYW5pbWF0aW9uU3BlZWQ6IFwibm9uZVwiLFxuICAgICAgYnV0dG9uQm9yZGVyUmFkaXVzOiBcIm1kXCIsXG4gICAgICBib2xkRmlyc3RCdXR0b246IHRydWUsXG4gICAgICBidXR0b25UZXh0czoge1xuICAgICAgICBkZWZhdWx0OiBbXG4gICAgICAgICAgXCJTdW1tYXJpemUgdGhlIHJldmlld3MuXCIsXG4gICAgICAgICAgXCJIb3cgZmFyIGRvd24gZG9lcyBpdCBnbz9cIixcbiAgICAgICAgICBcIkFyZSB0aGVzZSB0cnVlIHRvIHNpemU/XCIsXG4gICAgICAgICAgXCJXaGF0IHNpemUgc2hvdWxkIEkgZ2V0P1wiLFxuICAgICAgICAgIFwiSG93IGRvZXMgaXQgZmVlbD9cIixcbiAgICAgICAgICBcIkRvIHRoZXkgc3RyZXRjaCBvdXQgb3ZlciB0aW1lP1wiLFxuICAgICAgICAgIFwiV2hhdCdzIHRoZSBmaXQvc3R5bGU/XCIsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyxcbiAgICBib3R0b21TdWdnZXN0aW9uc0JhclNob3J0c1dpdGhSZXZpZXdzOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uc0JhclNob3J0c1dpdGhSZXZpZXdzXCIsXG4gICAgICBjb250ZW50SWQ6IFwic3BpZmZ5LWJvdHRvbS1zdWdnZXN0aW9uLWJhci1jb250ZW50c1wiLFxuICAgICAgbWV0cmljRGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbi5CT1RUT01fUkVWSUVXU19TTklQUEVULFxuICAgICAgbG9jYXRpb246IFN1Z2dlc3Rpb25CYXJMb2NhdGlvbkZvck1ldHJpY3MuU1VHR0VTVElPTl9CQVJfQk9UVE9NLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjIsXG4gICAgICB2YXJpYW50OiBcImRhcmtQcmltYXJ5XCIsXG4gICAgICBob3ZlclZhcmlhbnQ6IFwic2Vjb25kYXJ5RGFya1wiLFxuICAgICAgYW5pbWF0aW9uU3BlZWQ6IFwibm9uZVwiLFxuICAgICAgYnV0dG9uQm9yZGVyUmFkaXVzOiBcIm1kXCIsXG4gICAgICBib2xkRmlyc3RCdXR0b246IHRydWUsXG4gICAgICBidXR0b25UZXh0czoge1xuICAgICAgICBkZWZhdWx0OiBbXG4gICAgICAgICAgXCJTdW1tYXJpemUgdGhlIHJldmlld3MuXCIsXG4gICAgICAgICAgXCJIb3cgZmFyIGRvd24gZG9lcyBpdCBnbz9cIixcbiAgICAgICAgICBcIkFyZSB0aGVzZSB0cnVlIHRvIHNpemU/XCIsXG4gICAgICAgICAgXCJXaGF0IHNpemUgc2hvdWxkIEkgZ2V0P1wiLFxuICAgICAgICAgIFwiSG93IGRvZXMgaXQgZmVlbD9cIixcbiAgICAgICAgICBcIkRvIHRoZXkgc3RyZXRjaCBvdXQgb3ZlciB0aW1lP1wiLFxuICAgICAgICAgIFwiV2hhdCdzIHRoZSBmaXQvc3R5bGU/XCIsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyxcbiAgICB0b3BTdWdnZXN0aW9uc0JhckFjY2Vzc29yaWVzV2l0aFJldmlld3M6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyQWNjZXNzb3JpZXNXaXRoUmV2aWV3c1wiLFxuICAgICAgY29udGVudElkOiBcInNwaWZmeS10b3Atc3VnZ2VzdGlvbi1iYXItY29udGVudHNcIixcbiAgICAgIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24uVE9QX1JFVklFV1NfU05JUFBFVCxcbiAgICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzLlNVR0dFU1RJT05fQkFSX1RPUCxcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU3VnZ2VzdGlvbkJhclYyLFxuICAgICAgdmFyaWFudDogXCJzZWNvbmRhcnlcIixcbiAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlEYXJrXCIsXG4gICAgICBhbmltYXRpb25TcGVlZDogXCJub25lXCIsXG4gICAgICBidXR0b25Cb3JkZXJSYWRpdXM6IFwibWRcIixcbiAgICAgIGJvbGRGaXJzdEJ1dHRvbjogdHJ1ZSxcbiAgICAgIGJ1dHRvblRleHRzOiB7XG4gICAgICAgIGRlZmF1bHQ6IFtcbiAgICAgICAgICBcIlN1bW1hcml6ZSB0aGUgcmV2aWV3cy5cIixcbiAgICAgICAgICBcIkhvdyBkb2VzIGl0IGVuaGFuY2UgbXkgb3V0Zml0P1wiLFxuICAgICAgICAgIFwiSXMgaXQgZ29vZCBmb3IgZXZlcnlkYXkgdXNlP1wiLFxuICAgICAgICAgIFwiSXMgaXQgd2F0ZXIgcmVzaXN0YW50P1wiLFxuICAgICAgICAgIFwiSXMgaXQgY2Fycnktb24gc2l6ZT9cIixcbiAgICAgICAgXSxcbiAgICAgIH0sXG4gICAgfSBzYXRpc2ZpZXMgU3VnZ2VzdGlvbkJhcldpZGdldFYyQ29uZmlnLFxuICAgIGJvdHRvbVN1Z2dlc3Rpb25zQmFyQWNjZXNzb3JpZXNXaXRoUmV2aWV3czoge1xuICAgICAgd2lkZ2V0Q29uZmlnSWQ6IFwiYm90dG9tU3VnZ2VzdGlvbnNCYXJBY2Nlc3Nvcmllc1dpdGhSZXZpZXdzXCIsXG4gICAgICBjb250ZW50SWQ6IFwic3BpZmZ5LWJvdHRvbS1zdWdnZXN0aW9uLWJhci1jb250ZW50c1wiLFxuICAgICAgbWV0cmljRGlzcGxheUxvY2F0aW9uOiBDaGF0RWxlbWVudERpc3BsYXlMb2NhdGlvbi5CT1RUT01fUkVWSUVXU19TTklQUEVULFxuICAgICAgbG9jYXRpb246IFN1Z2dlc3Rpb25CYXJMb2NhdGlvbkZvck1ldHJpY3MuU1VHR0VTVElPTl9CQVJfQk9UVE9NLFxuICAgICAgdHlwZTogV2lkZ2V0VHlwZS5TdWdnZXN0aW9uQmFyVjIsXG4gICAgICB2YXJpYW50OiBcImRhcmtQcmltYXJ5XCIsXG4gICAgICBob3ZlclZhcmlhbnQ6IFwic2Vjb25kYXJ5RGFya1wiLFxuICAgICAgYW5pbWF0aW9uU3BlZWQ6IFwibm9uZVwiLFxuICAgICAgYnV0dG9uQm9yZGVyUmFkaXVzOiBcIm1kXCIsXG4gICAgICBib2xkRmlyc3RCdXR0b246IHRydWUsXG4gICAgICBidXR0b25UZXh0czoge1xuICAgICAgICBkZWZhdWx0OiBbXG4gICAgICAgICAgXCJTdW1tYXJpemUgdGhlIHJldmlld3MuXCIsXG4gICAgICAgICAgXCJIb3cgZG9lcyBpdCBlbmhhbmNlIG15IG91dGZpdD9cIixcbiAgICAgICAgICBcIklzIGl0IGdvb2QgZm9yIGV2ZXJ5ZGF5IHVzZT9cIixcbiAgICAgICAgICBcIklzIGl0IHdhdGVyIHJlc2lzdGFudD9cIixcbiAgICAgICAgICBcIklzIGl0IGNhcnJ5LW9uIHNpemU/XCIsXG4gICAgICAgIF0sXG4gICAgICB9LFxuICAgIH0gc2F0aXNmaWVzIFN1Z2dlc3Rpb25CYXJXaWRnZXRWMkNvbmZpZyxcbiAgICB0b3BTdWdnZXN0aW9uc0JhckZvb3R3ZWFyV2l0aFJldmlld3M6IHtcbiAgICAgIHdpZGdldENvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25zQmFyRm9vdHdlYXJXaXRoUmV2aWV3c1wiLFxuICAgICAgY29udGVudElkOiBcInNwaWZmeS10b3Atc3VnZ2VzdGlvbi1iYXItY29udGVudHNcIixcbiAgICAgIG1ldHJpY0Rpc3BsYXlMb2NhdGlvbjogQ2hhdEVsZW1lbnREaXNwbGF5TG9jYXRpb24uVE9QX1JFVklFV1NfU05JUFBFVCxcbiAgICAgIGxvY2F0aW9uOiBTdWdnZXN0aW9uQmFyTG9jYXRpb25Gb3JNZXRyaWNzLlNVR0dFU1RJT05fQkFSX1RPUCxcbiAgICAgIHR5cGU6IFdpZGdldFR5cGUuU3VnZ2VzdGlvbkJhclYyLFxuICAgICAgdmFyaWFudDogXCJzZWNvbmRhcnlcIixcbiAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlEYXJrXCIsXG4gICAgICBhbmltYXRpb25TcGVlZDogXCJub25lXCIsXG4gICAgICBidXR0b25Cb3JkZXJSYWRpdXM6IFwibWRcIixcbiAgICAgIGJvbGRGaXJzdEJ1dHRvbjogdHJ1ZSxcbiAgICAgIGJ1dHRvblRleHRzOiB7XG4gICAgICAgIGRlZmF1bHQ6IFtcbiAgICAgICAgICBcIlN1bW1hcml6ZSB0aGUgcmV2aWV3cy5cIixcbiAgICAgICAgICBcIldoYXQgc2l6ZSBzaG91bGQgSSBjaG9vc2U/XCIsXG4gICAgICAgICAgXCJBcmUgdGhleSBnb29kIGZvciBldmVyeWRheSB3ZWFyP1wiLFxuICAgICAgICAgIFwiSG93IGRvIHRoZXkgZml0P1wiLFxuICAgICAgICAgIFwiV2hhdCBtYXRlcmlhbCBhcmUgdGhleSBtYWRlIG9mP1wiLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcsXG4gICAgYm90dG9tU3VnZ2VzdGlvbnNCYXJGb290d2VhcldpdGhSZXZpZXdzOiB7XG4gICAgICB3aWRnZXRDb25maWdJZDogXCJib3R0b21TdWdnZXN0aW9uc0JhckZvb3R3ZWFyV2l0aFJldmlld3NcIixcbiAgICAgIGNvbnRlbnRJZDogXCJzcGlmZnktYm90dG9tLXN1Z2dlc3Rpb24tYmFyLWNvbnRlbnRzXCIsXG4gICAgICBtZXRyaWNEaXNwbGF5TG9jYXRpb246IENoYXRFbGVtZW50RGlzcGxheUxvY2F0aW9uLkJPVFRPTV9SRVZJRVdTX1NOSVBQRVQsXG4gICAgICBsb2NhdGlvbjogU3VnZ2VzdGlvbkJhckxvY2F0aW9uRm9yTWV0cmljcy5TVUdHRVNUSU9OX0JBUl9CT1RUT00sXG4gICAgICB0eXBlOiBXaWRnZXRUeXBlLlN1Z2dlc3Rpb25CYXJWMixcbiAgICAgIHZhcmlhbnQ6IFwiZGFya1ByaW1hcnlcIixcbiAgICAgIGhvdmVyVmFyaWFudDogXCJzZWNvbmRhcnlEYXJrXCIsXG4gICAgICBhbmltYXRpb25TcGVlZDogXCJub25lXCIsXG4gICAgICBidXR0b25Cb3JkZXJSYWRpdXM6IFwibWRcIixcbiAgICAgIGJvbGRGaXJzdEJ1dHRvbjogdHJ1ZSxcbiAgICAgIGJ1dHRvblRleHRzOiB7XG4gICAgICAgIGRlZmF1bHQ6IFtcbiAgICAgICAgICBcIlN1bW1hcml6ZSB0aGUgcmV2aWV3cy5cIixcbiAgICAgICAgICBcIldoYXQgc2l6ZSBzaG91bGQgSSBjaG9vc2U/XCIsXG4gICAgICAgICAgXCJBcmUgdGhleSBnb29kIGZvciBldmVyeWRheSB3ZWFyP1wiLFxuICAgICAgICAgIFwiSG93IGRvIHRoZXkgZml0P1wiLFxuICAgICAgICAgIFwiV2hhdCBtYXRlcmlhbCBhcmUgdGhleSBtYWRlIG9mP1wiLFxuICAgICAgICBdLFxuICAgICAgfSxcbiAgICB9IHNhdGlzZmllcyBTdWdnZXN0aW9uQmFyV2lkZ2V0VjJDb25maWcsXG4gIH0sXG4gIG1vdW50aW5nQ29uZmlnczoge1xuICAgIHNlYXJjaEljb25FbnRyeVBvaW50OiB7XG4gICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInNlYXJjaEljb25FbnRyeVBvaW50XCIsXG4gICAgICBjb250YWluZXJJZDogR0xPQkFMX1NFQVJDSF9FTlRSWVBPSU5UX0lELFxuICAgICAgdGVzdElkOiBHTE9CQUxfU0VBUkNIX0VOVFJZUE9JTlRfVEVTVElELFxuICAgICAgaW5zZXJ0aW9uUG9pbnQ6IHtcbiAgICAgICAgc2VsZWN0b3I6ICcuaGVhZGVyX19zZWNvbmRhcnktbmF2IGFbaHJlZj1cIi9zZWFyY2hcIl0nLFxuICAgICAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlLkJFRk9SRSxcbiAgICAgIH0sXG4gICAgICBzdXBwcmVzc2lvblNlbGVjdG9yOiAnYVtocmVmPVwiL3NlYXJjaFwiXScsXG4gICAgICBjbGFzc05hbWU6IFwiZ2xvYmFsLWVudHJ5LWRlc2t0b3BcIixcbiAgICB9LFxuICAgIHNlYXJjaE92ZXJsYXlIb3N0OiB7XG4gICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInNlYXJjaE92ZXJsYXlIb3N0XCIsXG4gICAgICBjb250YWluZXJJZDogU0VBUkNIX09WRVJMQVlfRU5UUllQT0lOVF9JRCxcbiAgICAgIHRlc3RJZDogU0VBUkNIX09WRVJMQVlfSE9TVF9URVNUSUQsXG4gICAgICBpbnNlcnRpb25Qb2ludDoge1xuICAgICAgICBzZWxlY3RvcjogXCJib2R5XCIsXG4gICAgICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGUuQVBQRU5EX0NISUxELFxuICAgICAgfSxcbiAgICAgIGNsYXNzTmFtZTogXCJzcGlmZnktb3ZlcmxheS1ob3N0XCIsXG4gICAgfSxcbiAgICBzZWFyY2hSZXN1bHRzRW50cnlQb2ludFBMUDoge1xuICAgICAgbW91bnRpbmdDb25maWdJZDogXCJzZWFyY2hSZXN1bHRzRW50cnlQb2ludFBMUFwiLFxuICAgICAgY29udGFpbmVySWQ6IFNFQVJDSF9SRVNVTFRTX0VOVFJZUE9JTlRfSUQsXG4gICAgICB0ZXN0SWQ6IFNFQVJDSF9SRVNVTFRTX0VOVFJZUE9JTlRfVEVTVElELFxuICAgICAgaW5zZXJ0aW9uUG9pbnQ6IHtcbiAgICAgICAgc2VsZWN0b3I6IFwiI21haW5cIixcbiAgICAgICAgaW5zZXJ0aW9uVHlwZTogRE9NSW5zZXJ0aW9uVHlwZS5CRUZPUkUsXG4gICAgICB9LFxuICAgICAgY2xhc3NOYW1lOiBcInNlYXJjaC1yZXN1bHRzLWVudHJ5LXBvaW50XCIsXG4gICAgICBzdHlsZToge1xuICAgICAgICBtYXJnaW5Cb3R0b206IFwiNjBweFwiLFxuICAgICAgfSxcbiAgICB9LFxuICAgIGNoYXRQcmV2aWV3UExQOiB7XG4gICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImNoYXRQcmV2aWV3UExQXCIsXG4gICAgICBjb250YWluZXJJZDogQ0hBVF9QUkVWSUVXX0NPTlRBSU5FUl9JRCxcbiAgICAgIHRlc3RJZDogQ0hBVF9QUkVWSUVXX1RFU1RJRCxcbiAgICAgIGluc2VydGlvblBvaW50OiB7XG4gICAgICAgIHNlbGVjdG9yOiBcIi5wcm9kdWN0LWxpc3RcIixcbiAgICAgICAgaW5zZXJ0aW9uVHlwZTogRE9NSW5zZXJ0aW9uVHlwZS5BRlRFUixcbiAgICAgIH0sXG4gICAgICBncmlkSW5zZXJ0aW9uVHlwZTogR3JpZEluc2VydGlvblR5cGUuRklYRURfOCxcbiAgICAgIGNsYXNzTmFtZTogXCJpcy1wbHBcIixcbiAgICAgIHN0eWxlOiB7XG4gICAgICAgIGdyaWRSb3c6IFwiMyAvIDNcIixcbiAgICAgICAgZ3JpZENvbHVtbjogXCIxIC8gLTFcIixcbiAgICAgIH0sXG4gICAgfSxcbiAgICBjaGF0UHJldmlld1BEUDoge1xuICAgICAgbW91bnRpbmdDb25maWdJZDogXCJjaGF0UHJldmlld1BEUFwiLFxuICAgICAgY29udGFpbmVySWQ6IENIQVRfUFJFVklFV19DT05UQUlORVJfSUQsXG4gICAgICB0ZXN0SWQ6IENIQVRfUFJFVklFV19URVNUSUQsXG4gICAgICBpbnNlcnRpb25Qb2ludDoge1xuICAgICAgICBzZWxlY3RvcjogJ2RpdltkYXRhLWJsb2NrLXR5cGU9XCJkZXNjcmlwdGlvblwiXS5wcm9kdWN0LWluZm9fX2Jsb2NrLWl0ZW0nLFxuICAgICAgICBpbnNlcnRpb25UeXBlOiBET01JbnNlcnRpb25UeXBlLkJFRk9SRSxcbiAgICAgIH0sXG4gICAgfSxcbiAgICB0b3BTdWdnZXN0aW9uQmFyUERQOiB7XG4gICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcInRvcFN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgIGNvbnRhaW5lcklkOiBUT1BfU1VHR0VTVElPTl9CQVJfUERQX0lELFxuICAgICAgdGVzdElkOiBUT1BfU1VHR0VTVElPTl9CQVJfVEVTVElELFxuICAgICAgaW5zZXJ0aW9uUG9pbnQ6IHtcbiAgICAgICAgc2VsZWN0b3I6ICdkaXZbZGF0YS1ibG9jay10eXBlPVwicHJpY2VcIl0ucHJvZHVjdC1pbmZvX19ibG9jay1pdGVtJyxcbiAgICAgICAgaW5zZXJ0aW9uVHlwZTogRE9NSW5zZXJ0aW9uVHlwZS5BRlRFUixcbiAgICAgIH0sXG4gICAgICBzdHlsZTogeyBtYXJnaW5Ub3A6IFwiMTVweFwiIH0sXG4gICAgfSxcbiAgICBib3R0b21TdWdnZXN0aW9uQmFyUERQOiB7XG4gICAgICBtb3VudGluZ0NvbmZpZ0lkOiBcImJvdHRvbVN1Z2dlc3Rpb25CYXJQRFBcIixcbiAgICAgIGNvbnRhaW5lcklkOiBCT1RUT01fUkVWSUVXU19CQVJfSUQsXG4gICAgICB0ZXN0SWQ6IEJPVFRPTV9TVUdHRVNUSU9OX0JBUl9URVNUSUQsXG4gICAgICBpbnNlcnRpb25Qb2ludDoge1xuICAgICAgICBzZWxlY3RvcjogXCIub2tlLXctaGVhZGVyXCIsXG4gICAgICAgIGluc2VydGlvblR5cGU6IERPTUluc2VydGlvblR5cGUuQUZURVIsXG4gICAgICB9LFxuICAgICAgc3R5bGU6IHsgbWFyZ2luQm90dG9tOiBcIjE1cHhcIiB9LFxuICAgIH0sXG4gIH0sXG59KTtcblxuY29uc3Qgam9yZGFuQ3JhaWdPcmdJbmZvID0ge1xuICBzaG9ydE5hbWU6IE9yZ1Nob3J0TmFtZS5Kb3JkYW5DcmFpZyxcbiAgbmFtZTogXCJKb3JkYW4gQ3JhaWdcIixcbiAgZG9tYWluOiBcImpvcmRhbmNyYWlnLmNvbVwiLFxuICBkZWZhdWx0UHJvZHVjdElkOiBcInNjYWxsb3AtdC1zaGlydFwiLFxuICBhbHdheXNFbmFibGVkTWVyY2hhbnRzOiBmYWxzZSxcbiAgb3JnVUlDb25maWc6IGpvcmRhbkNyYWlnT3JnVUlDb25maWcsXG4gIG9yZ0NvbG9yczogKCkgPT4gam9yZGFuQ3JhaWdDb2xvcnMsXG4gIG9yZ1BhZ2VDb25maWc6IGpvcmRhbkNyYWlnUGFnZUNvbmZpZyxcbn0gc2F0aXNmaWVzIEJhc2ljT3JnSW5mb1R5cGU7XG5cbmV4cG9ydCB7IGpvcmRhbkNyYWlnT3JnSW5mbyB9O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7O0FBMENBLE1BQU1BLG9CQUFrQztFQUNyQyxXQUFXLGNBQWM7RUFDekIsV0FBVyxnQkFBZ0I7RUFDM0IsV0FBVyxhQUFhO0VBQ3hCLFdBQVcsV0FBVztFQUN0QixXQUFXLFlBQVk7RUFDdkIsV0FBVyxvQkFBb0I7RUFDL0IsV0FBVyxzQkFBc0I7RUFDakMsV0FBVywwQkFBMEI7RUFDckMsV0FBVyxxQkFBcUI7RUFDaEMsV0FBVyxpQkFBaUI7RUFDNUIsV0FBVyxrQkFBa0I7RUFDN0IsV0FBVyxzQkFBc0I7RUFDakMsV0FBVyxjQUFjO0VBQ3pCLFdBQVcsZUFBZTtFQUMxQixXQUFXLGFBQWE7RUFDeEIsV0FBVyxnQkFBZ0I7RUFDM0IsV0FBVyxnQkFBZ0I7RUFDM0IsV0FBVyxrQkFBa0I7Q0FDL0I7QUFFRCxNQUFNLCtCQUE0QztDQUNoRCxNQUFNLDhCQUE4QixtQkFDbEMsYUFBYSxZQUNkO0FBRUQsUUFBTztFQUNMLEdBQUc7RUFDSCx5QkFBeUIsRUFDdkIsaUJBQWlCO0dBQ2YsU0FBUztHQUNULGlCQUFpQjtHQUNsQixFQUNGO0VBQ0QsY0FBYztHQUNaLG9CQUFvQjtHQUNwQiwwQkFDRTtHQUNGLG9CQUFvQjtJQUNsQjtLQUNFLFVBQVU7S0FDVixhQUFhO0tBQ2IsTUFBTTtLQUNOLFlBQVk7S0FDYjtJQUNEO0tB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