@envive-ai/react-hooks 0.2.3 → 0.2.5

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 (450) hide show
  1. package/README.md +35 -0
  2. package/dist/AmplitudeOperations-BEGeYKG5.cjs +0 -0
  3. package/dist/AmplitudeOperations-CWI4yjZ4.js +1 -0
  4. package/dist/NewOrgConfig-B98Y9tMb.js +10 -0
  5. package/dist/NewOrgConfig-ZbBKiByQ.cjs +15 -0
  6. package/dist/SystemSettingsContext-CO5c1L62.cjs +20 -0
  7. package/dist/SystemSettingsContext-CXmUlH8i.js +13 -0
  8. package/dist/TrackComponentVisibleEvent-B0WO3ArV.js +52 -0
  9. package/dist/TrackComponentVisibleEvent-LRE9MYzL.cjs +59 -0
  10. package/dist/amplitudeContext-B73xamNe.d.cts +52 -0
  11. package/dist/amplitudeContext-DXnJi0V1.d.ts +52 -0
  12. package/dist/api-BWSsazAG.js +166 -0
  13. package/dist/api-DeW6rHj3.cjs +239 -0
  14. package/dist/application/models/graphql/index.cjs +5 -0
  15. package/dist/application/models/graphql/index.d.cts +2 -0
  16. package/dist/application/models/graphql/index.d.ts +2 -0
  17. package/dist/application/models/graphql/index.js +4 -0
  18. package/dist/application/models/guards/api/index.cjs +16 -0
  19. package/dist/application/models/guards/api/index.d.cts +3 -0
  20. package/dist/application/models/guards/api/index.d.ts +3 -0
  21. package/dist/application/models/guards/api/index.js +5 -0
  22. package/dist/application/models/guards/utils.cjs +3 -0
  23. package/dist/application/models/guards/utils.d.cts +2 -0
  24. package/dist/application/models/guards/utils.d.ts +2 -0
  25. package/dist/application/models/guards/utils.js +3 -0
  26. package/dist/application/models/index.cjs +70 -0
  27. package/dist/application/models/index.d.cts +12 -0
  28. package/dist/application/models/index.d.ts +12 -0
  29. package/dist/application/models/index.js +12 -0
  30. package/dist/application/models/utilityTypes/index.cjs +1 -0
  31. package/dist/application/models/utilityTypes/index.d.cts +2 -0
  32. package/dist/application/models/utilityTypes/index.d.ts +2 -0
  33. package/dist/application/models/utilityTypes/index.js +3 -0
  34. package/dist/application/models/variantInfo/index.cjs +3 -0
  35. package/dist/application/models/variantInfo/index.d.cts +2 -0
  36. package/dist/application/models/variantInfo/index.d.ts +2 -0
  37. package/dist/application/models/variantInfo/index.js +3 -0
  38. package/dist/application/utils/index.cjs +47 -0
  39. package/dist/application/utils/index.d.cts +263 -0
  40. package/dist/application/utils/index.d.ts +263 -0
  41. package/dist/application/utils/index.js +21 -0
  42. package/dist/atomStore-DNji91Im.cjs +58 -0
  43. package/dist/atomStore-DXTVqiKc.js +32 -0
  44. package/dist/atoms/app/index.cjs +25 -0
  45. package/dist/atoms/app/index.d.cts +39 -0
  46. package/dist/atoms/app/index.d.ts +39 -0
  47. package/dist/atoms/app/index.js +21 -0
  48. package/dist/atoms/atomStore/index.cjs +6 -0
  49. package/dist/atoms/atomStore/index.d.cts +24 -0
  50. package/dist/atoms/atomStore/index.d.ts +24 -0
  51. package/dist/atoms/atomStore/index.js +3 -0
  52. package/dist/atoms/chat/index.cjs +52 -0
  53. package/dist/atoms/chat/index.d.cts +163 -0
  54. package/dist/atoms/chat/index.d.ts +163 -0
  55. package/dist/atoms/chat/index.js +23 -0
  56. package/dist/atoms/globalSearch/index.cjs +6 -0
  57. package/dist/atoms/globalSearch/index.d.cts +24 -0
  58. package/dist/atoms/globalSearch/index.d.ts +24 -0
  59. package/dist/atoms/globalSearch/index.js +3 -0
  60. package/dist/atoms/org/index.cjs +18 -0
  61. package/dist/atoms/org/index.d.cts +59 -0
  62. package/dist/atoms/org/index.d.ts +59 -0
  63. package/dist/atoms/org/index.js +5 -0
  64. package/dist/atoms/search/index.cjs +60 -0
  65. package/dist/atoms/search/index.d.cts +14 -0
  66. package/dist/atoms/search/index.d.ts +14 -0
  67. package/dist/atoms/search/index.js +30 -0
  68. package/dist/atoms/search/types.cjs +5 -0
  69. package/dist/atoms/search/types.d.cts +2 -0
  70. package/dist/atoms/search/types.d.ts +2 -0
  71. package/dist/atoms/search/types.js +3 -0
  72. package/dist/atoms/search/utils.cjs +3 -0
  73. package/dist/atoms/search/utils.d.cts +5 -0
  74. package/dist/atoms/search/utils.d.ts +5 -0
  75. package/dist/atoms/search/utils.js +3 -0
  76. package/dist/cdnContext-CH_-ssYa.js +38 -0
  77. package/dist/cdnContext-D7kHxOzE.cjs +53 -0
  78. package/dist/chat-ClvJ9xEj.js +25 -0
  79. package/dist/chat-CqPuT9_V.cjs +393 -0
  80. package/dist/chat-DCGriB7h.cjs +145 -0
  81. package/dist/chat-DH70QqJp.js +257 -0
  82. package/dist/chatElementDisplayLocation-BoE6DEdv.d.ts +25 -0
  83. package/dist/chatElementDisplayLocation-DWmfNX_u.d.cts +25 -0
  84. package/dist/chatSearch-BQCZI8MJ.cjs +418 -0
  85. package/dist/chatSearch-D8xCWU8m.js +295 -0
  86. package/dist/chatState-CcFtSqJT.cjs +120 -0
  87. package/dist/chatState-DKnNHmwe.js +34 -0
  88. package/dist/chunk-CUT6urMc.cjs +30 -0
  89. package/dist/common-DQPvV_S_.cjs +189 -0
  90. package/dist/common-c_4eX0qn.js +39 -0
  91. package/dist/components-CDpaMUjK.js +11 -0
  92. package/dist/components-DKwVHIjq.cjs +29 -0
  93. package/dist/config/index.cjs +71 -0
  94. package/dist/config/index.d.cts +5 -0
  95. package/dist/config/index.d.ts +5 -0
  96. package/dist/config/index.js +6 -0
  97. package/dist/config/locators/components/chat/index.cjs +22 -0
  98. package/dist/config/locators/components/chat/index.d.cts +2 -0
  99. package/dist/config/locators/components/chat/index.d.ts +2 -0
  100. package/dist/config/locators/components/chat/index.js +3 -0
  101. package/dist/config/locators/components/chat/variants/index.cjs +29 -0
  102. package/dist/config/locators/components/chat/variants/index.d.cts +16 -0
  103. package/dist/config/locators/components/chat/variants/index.d.ts +16 -0
  104. package/dist/config/locators/components/chat/variants/index.js +17 -0
  105. package/dist/config/locators/components/common/index.cjs +27 -0
  106. package/dist/config/locators/components/common/index.d.cts +2 -0
  107. package/dist/config/locators/components/common/index.d.ts +2 -0
  108. package/dist/config/locators/components/common/index.js +3 -0
  109. package/dist/config/locators/components/index.cjs +5 -0
  110. package/dist/config/locators/components/index.d.cts +2 -0
  111. package/dist/config/locators/components/index.d.ts +2 -0
  112. package/dist/config/locators/components/index.js +3 -0
  113. package/dist/config/locators/components/search/index.cjs +13 -0
  114. package/dist/config/locators/components/search/index.d.cts +8 -0
  115. package/dist/config/locators/components/search/index.d.ts +8 -0
  116. package/dist/config/locators/components/search/index.js +9 -0
  117. package/dist/config/locators/index.cjs +71 -0
  118. package/dist/config/locators/index.d.cts +5 -0
  119. package/dist/config/locators/index.d.ts +5 -0
  120. package/dist/config/locators/index.js +6 -0
  121. package/dist/contexts/amplitudeContext/index.cjs +23 -0
  122. package/dist/contexts/amplitudeContext/index.d.cts +2 -0
  123. package/dist/contexts/amplitudeContext/index.d.ts +2 -0
  124. package/dist/contexts/amplitudeContext/index.js +21 -0
  125. package/dist/contexts/cdnContext/index.cjs +7 -0
  126. package/dist/contexts/cdnContext/index.d.cts +15 -0
  127. package/dist/contexts/cdnContext/index.d.ts +15 -0
  128. package/dist/contexts/cdnContext/index.js +6 -0
  129. package/dist/contexts/chatContext/index.cjs +326 -0
  130. package/dist/contexts/chatContext/index.d.cts +15 -0
  131. package/dist/contexts/chatContext/index.d.ts +15 -0
  132. package/dist/contexts/chatContext/index.js +319 -0
  133. package/dist/contexts/enviveConfigContext/index.cjs +7 -0
  134. package/dist/contexts/enviveConfigContext/index.d.cts +30 -0
  135. package/dist/contexts/enviveConfigContext/index.d.ts +30 -0
  136. package/dist/contexts/enviveConfigContext/index.js +6 -0
  137. package/dist/contexts/enviveCssContext/index.cjs +66 -0
  138. package/dist/contexts/enviveCssContext/index.d.cts +10 -0
  139. package/dist/contexts/enviveCssContext/index.d.ts +10 -0
  140. package/dist/contexts/enviveCssContext/index.js +63 -0
  141. package/dist/contexts/featureFlagContext/index.cjs +107 -0
  142. package/dist/contexts/featureFlagContext/index.d.cts +20 -0
  143. package/dist/contexts/featureFlagContext/index.d.ts +20 -0
  144. package/dist/contexts/featureFlagContext/index.js +103 -0
  145. package/dist/contexts/featureFlagServiceContext/index.cjs +7 -0
  146. package/dist/contexts/featureFlagServiceContext/index.d.cts +5 -0
  147. package/dist/contexts/featureFlagServiceContext/index.d.ts +5 -0
  148. package/dist/contexts/featureFlagServiceContext/index.js +5 -0
  149. package/dist/contexts/graphqlContext/index.cjs +16 -0
  150. package/dist/contexts/graphqlContext/index.d.cts +14 -0
  151. package/dist/contexts/graphqlContext/index.d.ts +14 -0
  152. package/dist/contexts/graphqlContext/index.js +15 -0
  153. package/dist/contexts/localStorageContext/index.cjs +6 -0
  154. package/dist/contexts/localStorageContext/index.d.cts +30 -0
  155. package/dist/contexts/localStorageContext/index.d.ts +30 -0
  156. package/dist/contexts/localStorageContext/index.js +4 -0
  157. package/dist/contexts/newOrgConfigContext/index.cjs +20 -0
  158. package/dist/contexts/newOrgConfigContext/index.d.cts +15 -0
  159. package/dist/contexts/newOrgConfigContext/index.d.ts +15 -0
  160. package/dist/contexts/newOrgConfigContext/index.js +19 -0
  161. package/dist/contexts/searchContext/index.cjs +27 -0
  162. package/dist/contexts/searchContext/index.d.cts +16 -0
  163. package/dist/contexts/searchContext/index.d.ts +16 -0
  164. package/dist/contexts/searchContext/index.js +26 -0
  165. package/dist/contexts/sessionStorageContext/index.cjs +5 -0
  166. package/dist/contexts/sessionStorageContext/index.d.cts +15 -0
  167. package/dist/contexts/sessionStorageContext/index.d.ts +15 -0
  168. package/dist/contexts/sessionStorageContext/index.js +4 -0
  169. package/dist/contexts/shopifyUrlContext/index.cjs +5 -0
  170. package/dist/contexts/shopifyUrlContext/index.d.cts +20 -0
  171. package/dist/contexts/shopifyUrlContext/index.d.ts +20 -0
  172. package/dist/contexts/shopifyUrlContext/index.js +4 -0
  173. package/dist/contexts/systemSettingsContext/index.cjs +8 -0
  174. package/dist/contexts/systemSettingsContext/index.d.cts +37 -0
  175. package/dist/contexts/systemSettingsContext/index.d.ts +37 -0
  176. package/dist/contexts/systemSettingsContext/index.js +6 -0
  177. package/dist/contexts/types.cjs +7 -0
  178. package/dist/contexts/types.d.cts +4 -0
  179. package/dist/contexts/types.d.ts +4 -0
  180. package/dist/contexts/types.js +3 -0
  181. package/dist/contexts/userIdentityContext/index.cjs +22 -0
  182. package/dist/contexts/userIdentityContext/index.d.cts +2 -0
  183. package/dist/contexts/userIdentityContext/index.d.ts +2 -0
  184. package/dist/contexts/userIdentityContext/index.js +21 -0
  185. package/dist/domObserver-Bqf3ooj8.cjs +304 -0
  186. package/dist/domObserver-v9ODTyfT.js +285 -0
  187. package/dist/enviveConfig-DZBohDpc.js +62 -0
  188. package/dist/enviveConfig-Dv9-esGV.cjs +130 -0
  189. package/dist/enviveConfigContext-D2OELZDR.cjs +60 -0
  190. package/dist/enviveConfigContext-DrDjCems.js +45 -0
  191. package/dist/events/index.cjs +4 -0
  192. package/dist/events/index.d.cts +46 -0
  193. package/dist/events/index.d.ts +46 -0
  194. package/dist/events/index.js +3 -0
  195. package/dist/events-DYY4l817.cjs +90 -0
  196. package/dist/events-DyUix-Bn.js +78 -0
  197. package/dist/featureFlagServiceContext-CJyYItqu.cjs +62 -0
  198. package/dist/featureFlagServiceContext-C_2m4wPL.d.ts +23 -0
  199. package/dist/featureFlagServiceContext-CiKWV306.d.cts +23 -0
  200. package/dist/featureFlagServiceContext-FBM6DdMJ.js +42 -0
  201. package/dist/featureGates-KEwAL8p_.js +26 -0
  202. package/dist/featureGates-qU_ulhpC.cjs +32 -0
  203. package/dist/frontendConfig-CymUbclV.d.ts +856 -0
  204. package/dist/frontendConfig-tVg0hsWZ.d.cts +856 -0
  205. package/dist/globalSearch-Ccxq8hNF.js +14 -0
  206. package/dist/globalSearch-FBk2epe8.cjs +39 -0
  207. package/dist/graphql-3PxNRFOc.js +36 -0
  208. package/dist/graphql-DGYfelZp.cjs +53 -0
  209. package/dist/graphqlConfig-GHZ1UgCw.cjs +73 -0
  210. package/dist/graphqlConfig-mDg6J44N.js +24 -0
  211. package/dist/graphqlContext-BZPEAFSR.cjs +111 -0
  212. package/dist/graphqlContext-Bf3E-V2T.d.cts +28 -0
  213. package/dist/graphqlContext-CQikpV_I.d.ts +28 -0
  214. package/dist/graphqlContext-eaZPxgRE.js +96 -0
  215. package/dist/hooks/AmplitudeOperations/index.cjs +23 -0
  216. package/dist/hooks/AmplitudeOperations/index.d.cts +12 -0
  217. package/dist/hooks/AmplitudeOperations/index.d.ts +12 -0
  218. package/dist/hooks/AmplitudeOperations/index.js +23 -0
  219. package/dist/hooks/AppDetails/index.cjs +24 -0
  220. package/dist/hooks/AppDetails/index.d.cts +27 -0
  221. package/dist/hooks/AppDetails/index.d.ts +27 -0
  222. package/dist/hooks/AppDetails/index.js +24 -0
  223. package/dist/hooks/BlockBackButton/index.cjs +29 -0
  224. package/dist/hooks/BlockBackButton/index.d.cts +5 -0
  225. package/dist/hooks/BlockBackButton/index.d.ts +5 -0
  226. package/dist/hooks/BlockBackButton/index.js +27 -0
  227. package/dist/hooks/CdnOperations/index.cjs +24 -0
  228. package/dist/hooks/CdnOperations/index.d.cts +7 -0
  229. package/dist/hooks/CdnOperations/index.d.ts +7 -0
  230. package/dist/hooks/CdnOperations/index.js +22 -0
  231. package/dist/hooks/ChatToggle/index.cjs +64 -0
  232. package/dist/hooks/ChatToggle/index.d.cts +12 -0
  233. package/dist/hooks/ChatToggle/index.d.ts +12 -0
  234. package/dist/hooks/ChatToggle/index.js +62 -0
  235. package/dist/hooks/ChatToggleAnalytics/index.cjs +39 -0
  236. package/dist/hooks/ChatToggleAnalytics/index.d.cts +9 -0
  237. package/dist/hooks/ChatToggleAnalytics/index.d.ts +9 -0
  238. package/dist/hooks/ChatToggleAnalytics/index.js +37 -0
  239. package/dist/hooks/CustomerSupportHandoff/index.cjs +36 -0
  240. package/dist/hooks/CustomerSupportHandoff/index.d.cts +16 -0
  241. package/dist/hooks/CustomerSupportHandoff/index.d.ts +16 -0
  242. package/dist/hooks/CustomerSupportHandoff/index.js +34 -0
  243. package/dist/hooks/Debounce/index.cjs +3 -0
  244. package/dist/hooks/Debounce/index.d.cts +5 -0
  245. package/dist/hooks/Debounce/index.d.ts +5 -0
  246. package/dist/hooks/Debounce/index.js +3 -0
  247. package/dist/hooks/ElementObserver/index.cjs +179 -0
  248. package/dist/hooks/ElementObserver/index.d.cts +29 -0
  249. package/dist/hooks/ElementObserver/index.d.ts +29 -0
  250. package/dist/hooks/ElementObserver/index.js +177 -0
  251. package/dist/hooks/GrabAndScroll/index.cjs +99 -0
  252. package/dist/hooks/GrabAndScroll/index.d.cts +14 -0
  253. package/dist/hooks/GrabAndScroll/index.d.ts +14 -0
  254. package/dist/hooks/GrabAndScroll/index.js +97 -0
  255. package/dist/hooks/GraphQLConfig/index.cjs +17 -0
  256. package/dist/hooks/GraphQLConfig/index.d.cts +28 -0
  257. package/dist/hooks/GraphQLConfig/index.d.ts +28 -0
  258. package/dist/hooks/GraphQLConfig/index.js +16 -0
  259. package/dist/hooks/IdentifyUser/index.cjs +55 -0
  260. package/dist/hooks/IdentifyUser/index.d.cts +10 -0
  261. package/dist/hooks/IdentifyUser/index.d.ts +10 -0
  262. package/dist/hooks/IdentifyUser/index.js +53 -0
  263. package/dist/hooks/ImageResolver/index.cjs +55 -0
  264. package/dist/hooks/ImageResolver/index.d.cts +7 -0
  265. package/dist/hooks/ImageResolver/index.d.ts +7 -0
  266. package/dist/hooks/ImageResolver/index.js +53 -0
  267. package/dist/hooks/Intersection/index.cjs +3 -0
  268. package/dist/hooks/Intersection/index.d.cts +7 -0
  269. package/dist/hooks/Intersection/index.d.ts +7 -0
  270. package/dist/hooks/Intersection/index.js +3 -0
  271. package/dist/hooks/IsSmallScreen/index.cjs +22 -0
  272. package/dist/hooks/IsSmallScreen/index.d.cts +5 -0
  273. package/dist/hooks/IsSmallScreen/index.d.ts +5 -0
  274. package/dist/hooks/IsSmallScreen/index.js +20 -0
  275. package/dist/hooks/LocalStorageOperations/index.cjs +79 -0
  276. package/dist/hooks/LocalStorageOperations/index.d.cts +17 -0
  277. package/dist/hooks/LocalStorageOperations/index.d.ts +17 -0
  278. package/dist/hooks/LocalStorageOperations/index.js +74 -0
  279. package/dist/hooks/MessageFilter/index.cjs +54 -0
  280. package/dist/hooks/MessageFilter/index.d.cts +30 -0
  281. package/dist/hooks/MessageFilter/index.d.ts +30 -0
  282. package/dist/hooks/MessageFilter/index.js +54 -0
  283. package/dist/hooks/MessageScrollObserver/index.cjs +36 -0
  284. package/dist/hooks/MessageScrollObserver/index.d.cts +5 -0
  285. package/dist/hooks/MessageScrollObserver/index.d.ts +5 -0
  286. package/dist/hooks/MessageScrollObserver/index.js +34 -0
  287. package/dist/hooks/NewOrgConfig/index.cjs +20 -0
  288. package/dist/hooks/NewOrgConfig/index.d.cts +20 -0
  289. package/dist/hooks/NewOrgConfig/index.d.ts +20 -0
  290. package/dist/hooks/NewOrgConfig/index.js +20 -0
  291. package/dist/hooks/Search/index.cjs +325 -0
  292. package/dist/hooks/Search/index.d.cts +61 -0
  293. package/dist/hooks/Search/index.d.ts +61 -0
  294. package/dist/hooks/Search/index.js +322 -0
  295. package/dist/hooks/SearchOperations/index.cjs +105 -0
  296. package/dist/hooks/SearchOperations/index.d.cts +22 -0
  297. package/dist/hooks/SearchOperations/index.d.ts +22 -0
  298. package/dist/hooks/SearchOperations/index.js +102 -0
  299. package/dist/hooks/SessionStorageOperations/index.cjs +30 -0
  300. package/dist/hooks/SessionStorageOperations/index.d.cts +8 -0
  301. package/dist/hooks/SessionStorageOperations/index.d.ts +8 -0
  302. package/dist/hooks/SessionStorageOperations/index.js +28 -0
  303. package/dist/hooks/ShopifyUrlOperations/index.cjs +53 -0
  304. package/dist/hooks/ShopifyUrlOperations/index.d.cts +23 -0
  305. package/dist/hooks/ShopifyUrlOperations/index.d.ts +23 -0
  306. package/dist/hooks/ShopifyUrlOperations/index.js +49 -0
  307. package/dist/hooks/SnapCalculator/index.cjs +29 -0
  308. package/dist/hooks/SnapCalculator/index.d.cts +12 -0
  309. package/dist/hooks/SnapCalculator/index.d.ts +12 -0
  310. package/dist/hooks/SnapCalculator/index.js +27 -0
  311. package/dist/hooks/SystemSettingsContext/index.cjs +7 -0
  312. package/dist/hooks/SystemSettingsContext/index.d.cts +23 -0
  313. package/dist/hooks/SystemSettingsContext/index.d.ts +23 -0
  314. package/dist/hooks/SystemSettingsContext/index.js +7 -0
  315. package/dist/hooks/TrackComponentVisibleEvent/index.cjs +23 -0
  316. package/dist/hooks/TrackComponentVisibleEvent/index.d.cts +18 -0
  317. package/dist/hooks/TrackComponentVisibleEvent/index.d.ts +18 -0
  318. package/dist/hooks/TrackComponentVisibleEvent/index.js +23 -0
  319. package/dist/hooks/UpdateAnalyticsProps/index.cjs +63 -0
  320. package/dist/hooks/UpdateAnalyticsProps/index.d.cts +9 -0
  321. package/dist/hooks/UpdateAnalyticsProps/index.d.ts +9 -0
  322. package/dist/hooks/UpdateAnalyticsProps/index.js +60 -0
  323. package/dist/hooks/utils.cjs +8 -0
  324. package/dist/hooks/utils.d.cts +13 -0
  325. package/dist/hooks/utils.d.ts +13 -0
  326. package/dist/hooks/utils.js +3 -0
  327. package/dist/index-9NE86em3.d.cts +35 -0
  328. package/dist/index-BVf069X-.d.ts +184 -0
  329. package/dist/index-B_KJB5L_.d.cts +186 -0
  330. package/dist/index-BkLv_fCu.d.ts +186 -0
  331. package/dist/index-Bmub8e38.d.cts +98 -0
  332. package/dist/index-C0eAp5f5.d.ts +98 -0
  333. package/dist/index-CESxqFso.d.cts +228 -0
  334. package/dist/index-CG3P8xE1.d.cts +676 -0
  335. package/dist/index-CJc7_j_v.d.ts +44 -0
  336. package/dist/index-CiWEYzXl.d.cts +184 -0
  337. package/dist/index-Cyq5HiC0.d.cts +44 -0
  338. package/dist/index-DBqgBV9N.d.ts +9 -0
  339. package/dist/index-DHgVW8ey.d.ts +35 -0
  340. package/dist/index-DL2ODEnw.d.ts +1 -0
  341. package/dist/index-Da1s8h5C.d.cts +9 -0
  342. package/dist/index-DgjDuQl4.d.ts +676 -0
  343. package/dist/index-DzbkQtaK.d.cts +24 -0
  344. package/dist/index-FQjyuD3D.d.cts +22 -0
  345. package/dist/index-LTdMHOxj.d.ts +22 -0
  346. package/dist/index-RcVcRKH7.d.cts +1 -0
  347. package/dist/index-nDWHlouq.d.ts +24 -0
  348. package/dist/index-vP8BKdxl.d.ts +228 -0
  349. package/dist/interceptors/index.cjs +4 -0
  350. package/dist/interceptors/index.d.cts +20 -0
  351. package/dist/interceptors/index.d.ts +20 -0
  352. package/dist/interceptors/index.js +4 -0
  353. package/dist/interceptors/types.cjs +1 -0
  354. package/dist/interceptors/types.d.cts +13 -0
  355. package/dist/interceptors/types.d.ts +13 -0
  356. package/dist/interceptors/types.js +3 -0
  357. package/dist/localStorageContext-BPZ82q-G.js +95 -0
  358. package/dist/localStorageContext-NRP-CdmF.cjs +115 -0
  359. package/dist/locators-BMQGmGLq.js +23 -0
  360. package/dist/locators-DxYdak1F.cjs +131 -0
  361. package/dist/logger-TBIl4uIH.cjs +26 -0
  362. package/dist/logger-W3lqg-4b.js +20 -0
  363. package/dist/models-D-4db7XW.cjs +1537 -0
  364. package/dist/models-c86hYW-F.js +1296 -0
  365. package/dist/newOrgConfigAtom-A4BEeHMf.cjs +15 -0
  366. package/dist/newOrgConfigAtom-OzAyrPS8.js +8 -0
  367. package/dist/newOrgConfigContext-DOdUxlOE.d.cts +16 -0
  368. package/dist/newOrgConfigContext-DX9iqIIK.cjs +68 -0
  369. package/dist/newOrgConfigContext-aqN8Tu79.js +53 -0
  370. package/dist/newOrgConfigContext-jphS5d4K.d.ts +16 -0
  371. package/dist/nodeSelector-B3bPtEjX.d.cts +31 -0
  372. package/dist/nodeSelector-Dcn3_NrZ.d.ts +31 -0
  373. package/dist/org-Bq2KsJSp.cjs +43 -0
  374. package/dist/org-gtWmGw4K.js +12 -0
  375. package/dist/search-BQPMtze5.cjs +205 -0
  376. package/dist/search-CIrqYYMI.d.ts +20 -0
  377. package/dist/search-PXzaYtZj.js +126 -0
  378. package/dist/search-filter-types-BhK20ts3.d.ts +102 -0
  379. package/dist/search-filter-types-BxaNSLs_.d.cts +102 -0
  380. package/dist/search-y-ioX5Mz.d.cts +20 -0
  381. package/dist/searchContext-CmsLR6Ka.cjs +145 -0
  382. package/dist/searchContext-NPfqMf6b.js +129 -0
  383. package/dist/searchServiceAdapter-BczodJGV.cjs +34 -0
  384. package/dist/searchServiceAdapter-BuEHFG5t.js +16 -0
  385. package/dist/sessionStorageContext-C1u04nAK.js +52 -0
  386. package/dist/sessionStorageContext-Cy8xc9-3.cjs +66 -0
  387. package/dist/shopifyUrlContext-CUyq3f27.cjs +75 -0
  388. package/dist/shopifyUrlContext-DTLlqlMj.js +61 -0
  389. package/dist/spiffyWidgets-BnkP5kXf.d.ts +20 -0
  390. package/dist/spiffyWidgets-BuS00VaQ.d.cts +20 -0
  391. package/dist/systemSettingsContext-Ba-wi2NZ.cjs +60 -0
  392. package/dist/systemSettingsContext-DumUaV0m.js +39 -0
  393. package/dist/test-types-DbrKQIqB.d.ts +40 -0
  394. package/dist/test-types-ThQiO_cc.d.cts +40 -0
  395. package/dist/types/index.cjs +34 -0
  396. package/dist/types/index.d.cts +3 -0
  397. package/dist/types/index.d.ts +3 -0
  398. package/dist/types/index.js +31 -0
  399. package/dist/types-BWzwd0Qc.js +30 -0
  400. package/dist/types-CEx2uKKS.d.ts +51 -0
  401. package/dist/types-CKMMb_gX.d.cts +51 -0
  402. package/dist/types-CKPddlfS.cjs +0 -0
  403. package/dist/types-CtUb63bt.js +76 -0
  404. package/dist/types-Cz8CaPUQ.cjs +48 -0
  405. package/dist/types-Dc6hx6ei.js +1 -0
  406. package/dist/types-Mwm0bS2l.d.ts +10 -0
  407. package/dist/types-UUvB6h05.cjs +106 -0
  408. package/dist/types-zQGBI-Yo.d.cts +10 -0
  409. package/dist/types.cjs +0 -0
  410. package/dist/types.d.cts +15 -0
  411. package/dist/types.d.ts +15 -0
  412. package/dist/types.js +1 -0
  413. package/dist/urlsParser-COzMdJaX.cjs +78 -0
  414. package/dist/urlsParser-DxjoLj98.js +42 -0
  415. package/dist/useAmplitudeOperations-Cv0fi3uj.cjs +41 -0
  416. package/dist/useAmplitudeOperations-Ti6phPPq.js +34 -0
  417. package/dist/useAppDetails-BgqbPlfR.cjs +38 -0
  418. package/dist/useAppDetails-DnKGYtCd.js +30 -0
  419. package/dist/useDebounce-BV7B-Jz3.js +19 -0
  420. package/dist/useDebounce-vU5iW5sa.cjs +26 -0
  421. package/dist/useGraphQLConfig-BizpCw23.cjs +76 -0
  422. package/dist/useGraphQLConfig-DFWl9Z89.js +63 -0
  423. package/dist/useIntersection-BJRFGG0f.js +21 -0
  424. package/dist/useIntersection-CYRvxtRN.cjs +28 -0
  425. package/dist/useMessageInterceptor-BjGP_uXm.js +25 -0
  426. package/dist/useMessageInterceptor-arAqUq1Q.cjs +33 -0
  427. package/dist/userIdentityContext-BvsEnQVX.d.ts +20 -0
  428. package/dist/userIdentityContext-D2oFVFzo.d.cts +20 -0
  429. package/dist/utilityTypes-B2KuRn37.js +1 -0
  430. package/dist/utilityTypes-BGbL2WTP.cjs +0 -0
  431. package/dist/utils-B3x_9JTY.d.cts +15 -0
  432. package/dist/utils-B7PAzB_M.d.cts +22 -0
  433. package/dist/utils-BRNaQkCK.js +23 -0
  434. package/dist/utils-Buo4KU5l.cjs +29 -0
  435. package/dist/utils-CDw74BCO.cjs +33 -0
  436. package/dist/utils-CLGXsOwE.cjs +1591 -0
  437. package/dist/utils-CrQ0h9tc.d.ts +22 -0
  438. package/dist/utils-DIvMgPe8.js +27 -0
  439. package/dist/utils-D_kATUj6.js +92 -0
  440. package/dist/utils-DyTiotQz.d.ts +15 -0
  441. package/dist/utils-hYTjy7hJ.cjs +130 -0
  442. package/dist/utils-jYtD3hmA.js +1385 -0
  443. package/dist/variantInfo-BfKlkaWU.js +11 -0
  444. package/dist/variantInfo-DpLn4nHz.cjs +17 -0
  445. package/package.json +11 -2
  446. package/src/config/index.ts +1 -0
  447. package/src/config/locators/components/chat/index.ts +0 -1
  448. package/src/config/locators/components/chat/preview.ts +0 -1
  449. package/src/config/locators/components/common/index.ts +4 -0
  450. package/src/config/locators/index.ts +1 -0
@@ -0,0 +1,24 @@
1
+ //#region src/config/locators/components/chat/index.d.ts
2
+ declare const CHAT_CONTAINER_ID = "#spiffy-modal-container";
3
+ declare const CHAT_HEADER_CONTAINER_TESTID = "spiffy-chat-header-container";
4
+ declare const CHAT_HEADER_CLOSE_BUTTON_TESTID = "spiffy-chat-header-close-button";
5
+ declare const CHAT_MESSAGE_CONTAINER_TESTID = "spiffy-chat-message-container";
6
+ declare const CHAT_MESSAGE_DIVIDER_TESTID = "spiffy-chat-message-divider";
7
+ declare const CHAT_MODAL_TESTID = "spiffy-modal-shadow-dom-container";
8
+ declare const CHAT_REPLY_INPUT_TESTID = "spiffy-chat-reply-input";
9
+ declare const CHAT_REPLY_INPUT_SEND_BUTTON_TESTID = "spiffy-chat-reply-input-send-button";
10
+ declare const CHAT_VIEW_PREVIOUS_MESSAGES_TESTID = "spiffy-chat-view-previous-messages";
11
+ declare const DYNAMIC_CAROUSEL_TESTID = "dynamic-carousel";
12
+ declare const IMAGE_STACK_TESTID = "spiffy-product-comparison-image-stack";
13
+ declare const IMAGE_STACK_FIRST_IMAGE_TESTID = "spiffy-product-comparison-image-stack-first-image";
14
+ declare const IMAGE_STACK_SECOND_IMAGE_TESTID = "spiffy-product-comparison-image-stack-second-image";
15
+ declare const LOADING_MESSAGE_CONTAINER_TESTID = "spiffy-messages-loading-container";
16
+ declare const MOBILE_CHAT_HEADER_TESTID = "spiffy-mobile-chat-header";
17
+ declare const SCROLLABLE_SUGGESTIONS_TESTID = "spiffy-scrollable-suggestions";
18
+ declare const SUGGESTION_BAR_TESTID = "spiffy-suggestion-bar";
19
+ declare const SUGGESTION_BAR_BUTTON_TESTID = "spiffy-suggestion-bar-button";
20
+ declare const TAG_TESTID = "spiffy-tag";
21
+ declare const ANIMATED_MESSAGES_TESTID = "spiffy-animated-messages";
22
+ //#endregion
23
+ export { ANIMATED_MESSAGES_TESTID, CHAT_CONTAINER_ID, CHAT_HEADER_CLOSE_BUTTON_TESTID, CHAT_HEADER_CONTAINER_TESTID, CHAT_MESSAGE_CONTAINER_TESTID, CHAT_MESSAGE_DIVIDER_TESTID, CHAT_MODAL_TESTID, CHAT_REPLY_INPUT_SEND_BUTTON_TESTID, CHAT_REPLY_INPUT_TESTID, CHAT_VIEW_PREVIOUS_MESSAGES_TESTID, DYNAMIC_CAROUSEL_TESTID, IMAGE_STACK_FIRST_IMAGE_TESTID, IMAGE_STACK_SECOND_IMAGE_TESTID, IMAGE_STACK_TESTID, LOADING_MESSAGE_CONTAINER_TESTID, MOBILE_CHAT_HEADER_TESTID, SCROLLABLE_SUGGESTIONS_TESTID, SUGGESTION_BAR_BUTTON_TESTID, SUGGESTION_BAR_TESTID, TAG_TESTID };
24
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtRHpia1F0YUsuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZy9sb2NhdG9ycy9jb21wb25lbnRzL2NoYXQvaW5kZXguZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJleHBvcnQgZGVjbGFyZSBjb25zdCBDSEFUX0NPTlRBSU5FUl9JRCA9IFwiI3NwaWZmeS1tb2RhbC1jb250YWluZXJcIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IENIQVRfSEVBREVSX0NPTlRBSU5FUl9URVNUSUQgPSBcInNwaWZmeS1jaGF0LWhlYWRlci1jb250YWluZXJcIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IENIQVRfSEVBREVSX0NMT1NFX0JVVFRPTl9URVNUSUQgPSBcInNwaWZmeS1jaGF0LWhlYWRlci1jbG9zZS1idXR0b25cIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IENIQVRfTUVTU0FHRV9DT05UQUlORVJfVEVTVElEID0gXCJzcGlmZnktY2hhdC1tZXNzYWdlLWNvbnRhaW5lclwiO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgQ0hBVF9NRVNTQUdFX0RJVklERVJfVEVTVElEID0gXCJzcGlmZnktY2hhdC1tZXNzYWdlLWRpdmlkZXJcIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IENIQVRfTU9EQUxfVEVTVElEID0gXCJzcGlmZnktbW9kYWwtc2hhZG93LWRvbS1jb250YWluZXJcIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IENIQVRfUkVQTFlfSU5QVVRfVEVTVElEID0gXCJzcGlmZnktY2hhdC1yZXBseS1pbnB1dFwiO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgQ0hBVF9SRVBMWV9JTlBVVF9TRU5EX0JVVFRPTl9URVNUSUQgPSBcInNwaWZmeS1jaGF0LXJlcGx5LWlucHV0LXNlbmQtYnV0dG9uXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBDSEFUX1ZJRVdfUFJFVklPVVNfTUVTU0FHRVNfVEVTVElEID0gXCJzcGlmZnktY2hhdC12aWV3LXByZXZpb3VzLW1lc3NhZ2VzXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBEWU5BTUlDX0NBUk9VU0VMX1RFU1RJRCA9IFwiZHluYW1pYy1jYXJvdXNlbFwiO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgSU1BR0VfU1RBQ0tfVEVTVElEID0gXCJzcGlmZnktcHJvZHVjdC1jb21wYXJpc29uLWltYWdlLXN0YWNrXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBJTUFHRV9TVEFDS19GSVJTVF9JTUFHRV9URVNUSUQgPSBcInNwaWZmeS1wcm9kdWN0LWNvbXBhcmlzb24taW1hZ2Utc3RhY2stZmlyc3QtaW1hZ2VcIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IElNQUdFX1NUQUNLX1NFQ09ORF9JTUFHRV9URVNUSUQgPSBcInNwaWZmeS1wcm9kdWN0LWNvbXBhcmlzb24taW1hZ2Utc3RhY2stc2Vjb25kLWltYWdlXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBMT0FESU5HX01FU1NBR0VfQ09OVEFJTkVSX1RFU1RJRCA9IFwic3BpZmZ5LW1lc3NhZ2VzLWxvYWRpbmctY29udGFpbmVyXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBNT0JJTEVfQ0hBVF9IRUFERVJfVEVTVElEID0gXCJzcGlmZnktbW9iaWxlLWNoYXQtaGVhZGVyXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBTQ1JPTExBQkxFX1NVR0dFU1RJT05TX1RFU1RJRCA9IFwic3BpZmZ5LXNjcm9sbGFibGUtc3VnZ2VzdGlvbnNcIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IFNVR0dFU1RJT05fQkFSX1RFU1RJRCA9IFwic3BpZmZ5LXN1Z2dlc3Rpb24tYmFyXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBTVUdHRVNUSU9OX0JBUl9CVVRUT05fVEVTVElEID0gXCJzcGlmZnktc3VnZ2VzdGlvbi1iYXItYnV0dG9uXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBUQUdfVEVTVElEID0gXCJzcGlmZnktdGFnXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBBTklNQVRFRF9NRVNTQUdFU19URVNUSUQgPSBcInNwaWZmeS1hbmltYXRlZC1tZXNzYWdlc1wiO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUEsSUFBVyxvQkFBb0IsQ0FBQyxJQUFJO0FBQ3BDLElBQVcsK0JBQStCLENBQUMsSUFBSTtBQUMvQyxJQUFXLGtDQUFrQyxDQUFDLElBQUk7QUFDbEQsSUFBVyxnQ0FBZ0MsQ0FBQyxJQUFJO0FBQ2hELElBQVcsOEJBQThCLENBQUMsSUFBSTtBQUM5QyxJQUFXLG9CQUFvQixDQUFDLElBQUk7QUFDcEMsSUFBVywwQkFBMEIsQ0FBQyxJQUFJO0FBQzFDLElBQVcsc0NBQXNDLENBQUMsSUFBSTtBQUN0RCxJQUFXLHFDQUFxQyxDQUFDLElBQUk7QUFDckQsSUFBVywwQkFBMEIsQ0FBQyxJQUFJO0FBQzFDLElBQVcscUJBQXFCLENBQUMsSUFBSTtBQUNyQyxJQUFXLGlDQUFpQyxDQUFDLElBQUk7QUFDakQsSUFBVyxrQ0FBa0MsQ0FBQyxJQUFJO0FBQ2xELElBQVcsbUNBQW1DLENBQUMsSUFBSTtBQUNuRCxJQUFXLDRCQUE0QixDQUFDLElBQUk7QUFDNUMsSUFBVyxnQ0FBZ0MsQ0FBQyxJQUFJO0FBQ2hELElBQVcsd0JBQXdCLENBQUMsSUFBSTtBQUN4QyxJQUFXLCtCQUErQixDQUFDLElBQUk7QUFDL0MsSUFBVyxhQUFhLENBQUMsSUFBSTtBQUM3QixJQUFXLDJCQUEyQixDQUFDLElBQUkifQ==
@@ -0,0 +1,22 @@
1
+ //#region src/config/locators/embedded.d.ts
2
+ declare const BOTTOM_PLP_BANNER_TESTID = "bottom-plp-image-banner";
3
+ declare const BOTTOM_SUGGESTION_BAR_TESTID = "bottom-suggestion-bar-shadow-dom-container";
4
+ declare const CHAT_PREVIEW_TESTID = "chat-preview-shadow-dom-container";
5
+ declare const GLOBAL_SEARCH_ENTRYPOINT_TESTID = "global-search-entrypoint-shadow-dom-container";
6
+ declare const SEARCH_OVERLAY_HOST_TESTID = "search-overlay-host-shadow-dom-container";
7
+ declare const SEARCH_RESULTS_ENTRYPOINT_TESTID = "search-results-entrypoint-shadow-dom-container";
8
+ declare const SEARCH_RESULTS_NO_OP_ENTRYPOINT_TESTID = "search-results-no-op-shadow-dom-container";
9
+ declare const MOBILE_SEARCH_ICON_NO_OP_ENTRYPOINT_TESTID = "mobile-search-icon-no-op-shadow-dom-container";
10
+ declare const PROMPT_CARD_TESTID = "image-prompt-card-shadow-dom-container";
11
+ declare const FLOATING_BUTTON_TESTID = "floating-button-shadow-dom-container";
12
+ declare const FLOATING_CHAT_TESTID = "floating-chat-shadow-dom-container";
13
+ declare const TAILWIND_FLOATING_CHAT_BUTTON_TESTID = "floating-chat-button";
14
+ declare const TOP_PLP_BANNER_TESTID = "top-plp-image-banner";
15
+ declare const TOP_SUGGESTION_BAR_TESTID = "top-suggestion-bar-shadow-dom-container";
16
+ declare const CHAT_PREVIEW_PDP_TESTID = "spiffy-chat-preview-pdp";
17
+ declare const CHAT_PREVIEW_PLP_TESTID = "spiffy-chat-preview-plp";
18
+ declare const TOP_SUGGESTION_BAR_PDP_TESTID = "spiffy-top-suggestion-bar-pdp";
19
+ declare const BOTTOM_SUGGESTION_BAR_PDP_TESTID = "spiffy-bottom-suggestion-bar-pdp";
20
+ //#endregion
21
+ export { BOTTOM_PLP_BANNER_TESTID, BOTTOM_SUGGESTION_BAR_PDP_TESTID, BOTTOM_SUGGESTION_BAR_TESTID, CHAT_PREVIEW_PDP_TESTID, CHAT_PREVIEW_PLP_TESTID, CHAT_PREVIEW_TESTID, FLOATING_BUTTON_TESTID, FLOATING_CHAT_TESTID, GLOBAL_SEARCH_ENTRYPOINT_TESTID, MOBILE_SEARCH_ICON_NO_OP_ENTRYPOINT_TESTID, PROMPT_CARD_TESTID, SEARCH_OVERLAY_HOST_TESTID, SEARCH_RESULTS_ENTRYPOINT_TESTID, SEARCH_RESULTS_NO_OP_ENTRYPOINT_TESTID, TAILWIND_FLOATING_CHAT_BUTTON_TESTID, TOP_PLP_BANNER_TESTID, TOP_SUGGESTION_BAR_PDP_TESTID, TOP_SUGGESTION_BAR_TESTID };
22
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtRlFqeXVEM0QuZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vc3JjL2NvbmZpZy9sb2NhdG9ycy9lbWJlZGRlZC5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWNsYXJlIGNvbnN0IEJPVFRPTV9QTFBfQkFOTkVSX1RFU1RJRCA9IFwiYm90dG9tLXBscC1pbWFnZS1iYW5uZXJcIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IEJPVFRPTV9TVUdHRVNUSU9OX0JBUl9URVNUSUQgPSBcImJvdHRvbS1zdWdnZXN0aW9uLWJhci1zaGFkb3ctZG9tLWNvbnRhaW5lclwiO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgQ0hBVF9QUkVWSUVXX1RFU1RJRCA9IFwiY2hhdC1wcmV2aWV3LXNoYWRvdy1kb20tY29udGFpbmVyXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBHTE9CQUxfU0VBUkNIX0VOVFJZUE9JTlRfVEVTVElEID0gXCJnbG9iYWwtc2VhcmNoLWVudHJ5cG9pbnQtc2hhZG93LWRvbS1jb250YWluZXJcIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IFNFQVJDSF9PVkVSTEFZX0hPU1RfVEVTVElEID0gXCJzZWFyY2gtb3ZlcmxheS1ob3N0LXNoYWRvdy1kb20tY29udGFpbmVyXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBTRUFSQ0hfUkVTVUxUU19FTlRSWVBPSU5UX1RFU1RJRCA9IFwic2VhcmNoLXJlc3VsdHMtZW50cnlwb2ludC1zaGFkb3ctZG9tLWNvbnRhaW5lclwiO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgU0VBUkNIX1JFU1VMVFNfTk9fT1BfRU5UUllQT0lOVF9URVNUSUQgPSBcInNlYXJjaC1yZXN1bHRzLW5vLW9wLXNoYWRvdy1kb20tY29udGFpbmVyXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBNT0JJTEVfU0VBUkNIX0lDT05fTk9fT1BfRU5UUllQT0lOVF9URVNUSUQgPSBcIm1vYmlsZS1zZWFyY2gtaWNvbi1uby1vcC1zaGFkb3ctZG9tLWNvbnRhaW5lclwiO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgUFJPTVBUX0NBUkRfVEVTVElEID0gXCJpbWFnZS1wcm9tcHQtY2FyZC1zaGFkb3ctZG9tLWNvbnRhaW5lclwiO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgRkxPQVRJTkdfQlVUVE9OX1RFU1RJRCA9IFwiZmxvYXRpbmctYnV0dG9uLXNoYWRvdy1kb20tY29udGFpbmVyXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBGTE9BVElOR19DSEFUX1RFU1RJRCA9IFwiZmxvYXRpbmctY2hhdC1zaGFkb3ctZG9tLWNvbnRhaW5lclwiO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgVEFJTFdJTkRfRkxPQVRJTkdfQ0hBVF9CVVRUT05fVEVTVElEID0gXCJmbG9hdGluZy1jaGF0LWJ1dHRvblwiO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgVE9QX1BMUF9CQU5ORVJfVEVTVElEID0gXCJ0b3AtcGxwLWltYWdlLWJhbm5lclwiO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgVE9QX1NVR0dFU1RJT05fQkFSX1RFU1RJRCA9IFwidG9wLXN1Z2dlc3Rpb24tYmFyLXNoYWRvdy1kb20tY29udGFpbmVyXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBDSEFUX1BSRVZJRVdfUERQX1RFU1RJRCA9IFwic3BpZmZ5LWNoYXQtcHJldmlldy1wZHBcIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IENIQVRfUFJFVklFV19QTFBfVEVTVElEID0gXCJzcGlmZnktY2hhdC1wcmV2aWV3LXBscFwiO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgVE9QX1NVR0dFU1RJT05fQkFSX1BEUF9URVNUSUQgPSBcInNwaWZmeS10b3Atc3VnZ2VzdGlvbi1iYXItcGRwXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBCT1RUT01fU1VHR0VTVElPTl9CQVJfUERQX1RFU1RJRCA9IFwic3BpZmZ5LWJvdHRvbS1zdWdnZXN0aW9uLWJhci1wZHBcIjtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBLElBQVcsMkJBQTJCLENBQUMsSUFBSTtBQUMzQyxJQUFXLCtCQUErQixDQUFDLElBQUk7QUFDL0MsSUFBVyxzQkFBc0IsQ0FBQyxJQUFJO0FBQ3RDLElBQVcsa0NBQWtDLENBQUMsSUFBSTtBQUNsRCxJQUFXLDZCQUE2QixDQUFDLElBQUk7QUFDN0MsSUFBVyxtQ0FBbUMsQ0FBQyxJQUFJO0FBQ25ELElBQVcseUNBQXlDLENBQUMsSUFBSTtBQUN6RCxJQUFXLDZDQUE2QyxDQUFDLElBQUk7QUFDN0QsSUFBVyxxQkFBcUIsQ0FBQyxJQUFJO0FBQ3JDLElBQVcseUJBQXlCLENBQUMsSUFBSTtBQUN6QyxJQUFXLHVCQUF1QixDQUFDLElBQUk7QUFDdkMsSUFBVyx1Q0FBdUMsQ0FBQyxJQUFJO0FBQ3ZELElBQVcsd0JBQXdCLENBQUMsSUFBSTtBQUN4QyxJQUFXLDRCQUE0QixDQUFDLElBQUk7QUFDNUMsSUFBVywwQkFBMEIsQ0FBQyxJQUFJO0FBQzFDLElBQVcsMEJBQTBCLENBQUMsSUFBSTtBQUMxQyxJQUFXLGdDQUFnQyxDQUFDLElBQUk7QUFDaEQsSUFBVyxtQ0FBbUMsQ0FBQyxJQUFJIn0=
@@ -0,0 +1,22 @@
1
+ //#region src/config/locators/embedded.d.ts
2
+ declare const BOTTOM_PLP_BANNER_TESTID = "bottom-plp-image-banner";
3
+ declare const BOTTOM_SUGGESTION_BAR_TESTID = "bottom-suggestion-bar-shadow-dom-container";
4
+ declare const CHAT_PREVIEW_TESTID = "chat-preview-shadow-dom-container";
5
+ declare const GLOBAL_SEARCH_ENTRYPOINT_TESTID = "global-search-entrypoint-shadow-dom-container";
6
+ declare const SEARCH_OVERLAY_HOST_TESTID = "search-overlay-host-shadow-dom-container";
7
+ declare const SEARCH_RESULTS_ENTRYPOINT_TESTID = "search-results-entrypoint-shadow-dom-container";
8
+ declare const SEARCH_RESULTS_NO_OP_ENTRYPOINT_TESTID = "search-results-no-op-shadow-dom-container";
9
+ declare const MOBILE_SEARCH_ICON_NO_OP_ENTRYPOINT_TESTID = "mobile-search-icon-no-op-shadow-dom-container";
10
+ declare const PROMPT_CARD_TESTID = "image-prompt-card-shadow-dom-container";
11
+ declare const FLOATING_BUTTON_TESTID = "floating-button-shadow-dom-container";
12
+ declare const FLOATING_CHAT_TESTID = "floating-chat-shadow-dom-container";
13
+ declare const TAILWIND_FLOATING_CHAT_BUTTON_TESTID = "floating-chat-button";
14
+ declare const TOP_PLP_BANNER_TESTID = "top-plp-image-banner";
15
+ declare const TOP_SUGGESTION_BAR_TESTID = "top-suggestion-bar-shadow-dom-container";
16
+ declare const CHAT_PREVIEW_PDP_TESTID = "spiffy-chat-preview-pdp";
17
+ declare const CHAT_PREVIEW_PLP_TESTID = "spiffy-chat-preview-plp";
18
+ declare const TOP_SUGGESTION_BAR_PDP_TESTID = "spiffy-top-suggestion-bar-pdp";
19
+ declare const BOTTOM_SUGGESTION_BAR_PDP_TESTID = "spiffy-bottom-suggestion-bar-pdp";
20
+ //#endregion
21
+ export { BOTTOM_PLP_BANNER_TESTID, BOTTOM_SUGGESTION_BAR_PDP_TESTID, BOTTOM_SUGGESTION_BAR_TESTID, CHAT_PREVIEW_PDP_TESTID, CHAT_PREVIEW_PLP_TESTID, CHAT_PREVIEW_TESTID, FLOATING_BUTTON_TESTID, FLOATING_CHAT_TESTID, GLOBAL_SEARCH_ENTRYPOINT_TESTID, MOBILE_SEARCH_ICON_NO_OP_ENTRYPOINT_TESTID, PROMPT_CARD_TESTID, SEARCH_OVERLAY_HOST_TESTID, SEARCH_RESULTS_ENTRYPOINT_TESTID, SEARCH_RESULTS_NO_OP_ENTRYPOINT_TESTID, TAILWIND_FLOATING_CHAT_BUTTON_TESTID, TOP_PLP_BANNER_TESTID, TOP_SUGGESTION_BAR_PDP_TESTID, TOP_SUGGESTION_BAR_TESTID };
22
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtTFRkTUhPeGouZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnL2xvY2F0b3JzL2VtYmVkZGVkLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiZXhwb3J0IGRlY2xhcmUgY29uc3QgQk9UVE9NX1BMUF9CQU5ORVJfVEVTVElEID0gXCJib3R0b20tcGxwLWltYWdlLWJhbm5lclwiO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgQk9UVE9NX1NVR0dFU1RJT05fQkFSX1RFU1RJRCA9IFwiYm90dG9tLXN1Z2dlc3Rpb24tYmFyLXNoYWRvdy1kb20tY29udGFpbmVyXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBDSEFUX1BSRVZJRVdfVEVTVElEID0gXCJjaGF0LXByZXZpZXctc2hhZG93LWRvbS1jb250YWluZXJcIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IEdMT0JBTF9TRUFSQ0hfRU5UUllQT0lOVF9URVNUSUQgPSBcImdsb2JhbC1zZWFyY2gtZW50cnlwb2ludC1zaGFkb3ctZG9tLWNvbnRhaW5lclwiO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgU0VBUkNIX09WRVJMQVlfSE9TVF9URVNUSUQgPSBcInNlYXJjaC1vdmVybGF5LWhvc3Qtc2hhZG93LWRvbS1jb250YWluZXJcIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IFNFQVJDSF9SRVNVTFRTX0VOVFJZUE9JTlRfVEVTVElEID0gXCJzZWFyY2gtcmVzdWx0cy1lbnRyeXBvaW50LXNoYWRvdy1kb20tY29udGFpbmVyXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBTRUFSQ0hfUkVTVUxUU19OT19PUF9FTlRSWVBPSU5UX1RFU1RJRCA9IFwic2VhcmNoLXJlc3VsdHMtbm8tb3Atc2hhZG93LWRvbS1jb250YWluZXJcIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IE1PQklMRV9TRUFSQ0hfSUNPTl9OT19PUF9FTlRSWVBPSU5UX1RFU1RJRCA9IFwibW9iaWxlLXNlYXJjaC1pY29uLW5vLW9wLXNoYWRvdy1kb20tY29udGFpbmVyXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBQUk9NUFRfQ0FSRF9URVNUSUQgPSBcImltYWdlLXByb21wdC1jYXJkLXNoYWRvdy1kb20tY29udGFpbmVyXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBGTE9BVElOR19CVVRUT05fVEVTVElEID0gXCJmbG9hdGluZy1idXR0b24tc2hhZG93LWRvbS1jb250YWluZXJcIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IEZMT0FUSU5HX0NIQVRfVEVTVElEID0gXCJmbG9hdGluZy1jaGF0LXNoYWRvdy1kb20tY29udGFpbmVyXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBUQUlMV0lORF9GTE9BVElOR19DSEFUX0JVVFRPTl9URVNUSUQgPSBcImZsb2F0aW5nLWNoYXQtYnV0dG9uXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBUT1BfUExQX0JBTk5FUl9URVNUSUQgPSBcInRvcC1wbHAtaW1hZ2UtYmFubmVyXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBUT1BfU1VHR0VTVElPTl9CQVJfVEVTVElEID0gXCJ0b3Atc3VnZ2VzdGlvbi1iYXItc2hhZG93LWRvbS1jb250YWluZXJcIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IENIQVRfUFJFVklFV19QRFBfVEVTVElEID0gXCJzcGlmZnktY2hhdC1wcmV2aWV3LXBkcFwiO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgQ0hBVF9QUkVWSUVXX1BMUF9URVNUSUQgPSBcInNwaWZmeS1jaGF0LXByZXZpZXctcGxwXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBUT1BfU1VHR0VTVElPTl9CQVJfUERQX1RFU1RJRCA9IFwic3BpZmZ5LXRvcC1zdWdnZXN0aW9uLWJhci1wZHBcIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IEJPVFRPTV9TVUdHRVNUSU9OX0JBUl9QRFBfVEVTVElEID0gXCJzcGlmZnktYm90dG9tLXN1Z2dlc3Rpb24tYmFyLXBkcFwiO1xuIl0sIm1hcHBpbmdzIjoiO0FBQUEsSUFBVywyQkFBMkIsQ0FBQyxJQUFJO0FBQzNDLElBQVcsK0JBQStCLENBQUMsSUFBSTtBQUMvQyxJQUFXLHNCQUFzQixDQUFDLElBQUk7QUFDdEMsSUFBVyxrQ0FBa0MsQ0FBQyxJQUFJO0FBQ2xELElBQVcsNkJBQTZCLENBQUMsSUFBSTtBQUM3QyxJQUFXLG1DQUFtQyxDQUFDLElBQUk7QUFDbkQsSUFBVyx5Q0FBeUMsQ0FBQyxJQUFJO0FBQ3pELElBQVcsNkNBQTZDLENBQUMsSUFBSTtBQUM3RCxJQUFXLHFCQUFxQixDQUFDLElBQUk7QUFDckMsSUFBVyx5QkFBeUIsQ0FBQyxJQUFJO0FBQ3pDLElBQVcsdUJBQXVCLENBQUMsSUFBSTtBQUN2QyxJQUFXLHVDQUF1QyxDQUFDLElBQUk7QUFDdkQsSUFBVyx3QkFBd0IsQ0FBQyxJQUFJO0FBQ3hDLElBQVcsNEJBQTRCLENBQUMsSUFBSTtBQUM1QyxJQUFXLDBCQUEwQixDQUFDLElBQUk7QUFDMUMsSUFBVywwQkFBMEIsQ0FBQyxJQUFJO0FBQzFDLElBQVcsZ0NBQWdDLENBQUMsSUFBSTtBQUNoRCxJQUFXLG1DQUFtQyxDQUFDLElBQUkifQ==
@@ -0,0 +1 @@
1
+ export {};
@@ -0,0 +1,24 @@
1
+ //#region src/config/locators/components/chat/index.d.ts
2
+ declare const CHAT_CONTAINER_ID = "#spiffy-modal-container";
3
+ declare const CHAT_HEADER_CONTAINER_TESTID = "spiffy-chat-header-container";
4
+ declare const CHAT_HEADER_CLOSE_BUTTON_TESTID = "spiffy-chat-header-close-button";
5
+ declare const CHAT_MESSAGE_CONTAINER_TESTID = "spiffy-chat-message-container";
6
+ declare const CHAT_MESSAGE_DIVIDER_TESTID = "spiffy-chat-message-divider";
7
+ declare const CHAT_MODAL_TESTID = "spiffy-modal-shadow-dom-container";
8
+ declare const CHAT_REPLY_INPUT_TESTID = "spiffy-chat-reply-input";
9
+ declare const CHAT_REPLY_INPUT_SEND_BUTTON_TESTID = "spiffy-chat-reply-input-send-button";
10
+ declare const CHAT_VIEW_PREVIOUS_MESSAGES_TESTID = "spiffy-chat-view-previous-messages";
11
+ declare const DYNAMIC_CAROUSEL_TESTID = "dynamic-carousel";
12
+ declare const IMAGE_STACK_TESTID = "spiffy-product-comparison-image-stack";
13
+ declare const IMAGE_STACK_FIRST_IMAGE_TESTID = "spiffy-product-comparison-image-stack-first-image";
14
+ declare const IMAGE_STACK_SECOND_IMAGE_TESTID = "spiffy-product-comparison-image-stack-second-image";
15
+ declare const LOADING_MESSAGE_CONTAINER_TESTID = "spiffy-messages-loading-container";
16
+ declare const MOBILE_CHAT_HEADER_TESTID = "spiffy-mobile-chat-header";
17
+ declare const SCROLLABLE_SUGGESTIONS_TESTID = "spiffy-scrollable-suggestions";
18
+ declare const SUGGESTION_BAR_TESTID = "spiffy-suggestion-bar";
19
+ declare const SUGGESTION_BAR_BUTTON_TESTID = "spiffy-suggestion-bar-button";
20
+ declare const TAG_TESTID = "spiffy-tag";
21
+ declare const ANIMATED_MESSAGES_TESTID = "spiffy-animated-messages";
22
+ //#endregion
23
+ export { ANIMATED_MESSAGES_TESTID, CHAT_CONTAINER_ID, CHAT_HEADER_CLOSE_BUTTON_TESTID, CHAT_HEADER_CONTAINER_TESTID, CHAT_MESSAGE_CONTAINER_TESTID, CHAT_MESSAGE_DIVIDER_TESTID, CHAT_MODAL_TESTID, CHAT_REPLY_INPUT_SEND_BUTTON_TESTID, CHAT_REPLY_INPUT_TESTID, CHAT_VIEW_PREVIOUS_MESSAGES_TESTID, DYNAMIC_CAROUSEL_TESTID, IMAGE_STACK_FIRST_IMAGE_TESTID, IMAGE_STACK_SECOND_IMAGE_TESTID, IMAGE_STACK_TESTID, LOADING_MESSAGE_CONTAINER_TESTID, MOBILE_CHAT_HEADER_TESTID, SCROLLABLE_SUGGESTIONS_TESTID, SUGGESTION_BAR_BUTTON_TESTID, SUGGESTION_BAR_TESTID, TAG_TESTID };
24
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtbkRXSGxvdXEuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi9zcmMvY29uZmlnL2xvY2F0b3JzL2NvbXBvbmVudHMvY2hhdC9pbmRleC5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImV4cG9ydCBkZWNsYXJlIGNvbnN0IENIQVRfQ09OVEFJTkVSX0lEID0gXCIjc3BpZmZ5LW1vZGFsLWNvbnRhaW5lclwiO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgQ0hBVF9IRUFERVJfQ09OVEFJTkVSX1RFU1RJRCA9IFwic3BpZmZ5LWNoYXQtaGVhZGVyLWNvbnRhaW5lclwiO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgQ0hBVF9IRUFERVJfQ0xPU0VfQlVUVE9OX1RFU1RJRCA9IFwic3BpZmZ5LWNoYXQtaGVhZGVyLWNsb3NlLWJ1dHRvblwiO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgQ0hBVF9NRVNTQUdFX0NPTlRBSU5FUl9URVNUSUQgPSBcInNwaWZmeS1jaGF0LW1lc3NhZ2UtY29udGFpbmVyXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBDSEFUX01FU1NBR0VfRElWSURFUl9URVNUSUQgPSBcInNwaWZmeS1jaGF0LW1lc3NhZ2UtZGl2aWRlclwiO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgQ0hBVF9NT0RBTF9URVNUSUQgPSBcInNwaWZmeS1tb2RhbC1zaGFkb3ctZG9tLWNvbnRhaW5lclwiO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgQ0hBVF9SRVBMWV9JTlBVVF9URVNUSUQgPSBcInNwaWZmeS1jaGF0LXJlcGx5LWlucHV0XCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBDSEFUX1JFUExZX0lOUFVUX1NFTkRfQlVUVE9OX1RFU1RJRCA9IFwic3BpZmZ5LWNoYXQtcmVwbHktaW5wdXQtc2VuZC1idXR0b25cIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IENIQVRfVklFV19QUkVWSU9VU19NRVNTQUdFU19URVNUSUQgPSBcInNwaWZmeS1jaGF0LXZpZXctcHJldmlvdXMtbWVzc2FnZXNcIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IERZTkFNSUNfQ0FST1VTRUxfVEVTVElEID0gXCJkeW5hbWljLWNhcm91c2VsXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCBJTUFHRV9TVEFDS19URVNUSUQgPSBcInNwaWZmeS1wcm9kdWN0LWNvbXBhcmlzb24taW1hZ2Utc3RhY2tcIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IElNQUdFX1NUQUNLX0ZJUlNUX0lNQUdFX1RFU1RJRCA9IFwic3BpZmZ5LXByb2R1Y3QtY29tcGFyaXNvbi1pbWFnZS1zdGFjay1maXJzdC1pbWFnZVwiO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgSU1BR0VfU1RBQ0tfU0VDT05EX0lNQUdFX1RFU1RJRCA9IFwic3BpZmZ5LXByb2R1Y3QtY29tcGFyaXNvbi1pbWFnZS1zdGFjay1zZWNvbmQtaW1hZ2VcIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IExPQURJTkdfTUVTU0FHRV9DT05UQUlORVJfVEVTVElEID0gXCJzcGlmZnktbWVzc2FnZXMtbG9hZGluZy1jb250YWluZXJcIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IE1PQklMRV9DSEFUX0hFQURFUl9URVNUSUQgPSBcInNwaWZmeS1tb2JpbGUtY2hhdC1oZWFkZXJcIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IFNDUk9MTEFCTEVfU1VHR0VTVElPTlNfVEVTVElEID0gXCJzcGlmZnktc2Nyb2xsYWJsZS1zdWdnZXN0aW9uc1wiO1xuZXhwb3J0IGRlY2xhcmUgY29uc3QgU1VHR0VTVElPTl9CQVJfVEVTVElEID0gXCJzcGlmZnktc3VnZ2VzdGlvbi1iYXJcIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IFNVR0dFU1RJT05fQkFSX0JVVFRPTl9URVNUSUQgPSBcInNwaWZmeS1zdWdnZXN0aW9uLWJhci1idXR0b25cIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IFRBR19URVNUSUQgPSBcInNwaWZmeS10YWdcIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IEFOSU1BVEVEX01FU1NBR0VTX1RFU1RJRCA9IFwic3BpZmZ5LWFuaW1hdGVkLW1lc3NhZ2VzXCI7XG4iXSwibWFwcGluZ3MiOiI7QUFBQSxJQUFXLG9CQUFvQixDQUFDLElBQUk7QUFDcEMsSUFBVywrQkFBK0IsQ0FBQyxJQUFJO0FBQy9DLElBQVcsa0NBQWtDLENBQUMsSUFBSTtBQUNsRCxJQUFXLGdDQUFnQyxDQUFDLElBQUk7QUFDaEQsSUFBVyw4QkFBOEIsQ0FBQyxJQUFJO0FBQzlDLElBQVcsb0JBQW9CLENBQUMsSUFBSTtBQUNwQyxJQUFXLDBCQUEwQixDQUFDLElBQUk7QUFDMUMsSUFBVyxzQ0FBc0MsQ0FBQyxJQUFJO0FBQ3RELElBQVcscUNBQXFDLENBQUMsSUFBSTtBQUNyRCxJQUFXLDBCQUEwQixDQUFDLElBQUk7QUFDMUMsSUFBVyxxQkFBcUIsQ0FBQyxJQUFJO0FBQ3JDLElBQVcsaUNBQWlDLENBQUMsSUFBSTtBQUNqRCxJQUFXLGtDQUFrQyxDQUFDLElBQUk7QUFDbEQsSUFBVyxtQ0FBbUMsQ0FBQyxJQUFJO0FBQ25ELElBQVcsNEJBQTRCLENBQUMsSUFBSTtBQUM1QyxJQUFXLGdDQUFnQyxDQUFDLElBQUk7QUFDaEQsSUFBVyx3QkFBd0IsQ0FBQyxJQUFJO0FBQ3hDLElBQVcsK0JBQStCLENBQUMsSUFBSTtBQUMvQyxJQUFXLGFBQWEsQ0FBQyxJQUFJO0FBQzdCLElBQVcsMkJBQTJCLENBQUMsSUFBSSJ9
@@ -0,0 +1,228 @@
1
+ //#region src/application/models/utilityTypes/primitive.d.ts
2
+ /**
3
+ * Matches any [primitive value](https://developer.mozilla.org/en-US/docs/Glossary/Primitive).
4
+ *
5
+ * @category Type
6
+ */
7
+ type Primitive = null | undefined | string | number | boolean | symbol | bigint;
8
+ //#endregion
9
+ //#region src/application/models/utilityTypes/trim.d.ts
10
+ /**
11
+ * Remove spaces from the left side.
12
+ */
13
+ type TrimLeft<V extends string> = V extends `${Whitespace}${infer R}` ? TrimLeft<R> : V;
14
+ /**
15
+ * Remove spaces from the right side.
16
+ */
17
+ type TrimRight<V extends string> = V extends `${infer R}${Whitespace}` ? TrimRight<R> : V;
18
+ /**
19
+ * Remove leading and trailing spaces from a string.
20
+ * @example
21
+ * ```
22
+ * import type {Trim} from 'type-fest';
23
+ *
24
+ * Trim<' foo '>
25
+ * //=> 'foo'
26
+ * ```
27
+ *
28
+ * @category String
29
+ * @category Template literal
30
+ */
31
+ type Trim<V extends string> = TrimLeft<TrimRight<V>>;
32
+ //#endregion
33
+ //#region src/application/models/utilityTypes/internal.d.ts
34
+ /**
35
+ * Matches any primitive, `void`, `Date`, or `RegExp` value.
36
+ */
37
+ type BuiltIns = Primitive | void | Date | RegExp;
38
+ /**
39
+ * Matches non-recursive types.
40
+ */
41
+ type NonRecursiveType = BuiltIns | Function | (new (...arguments_: any[]) => unknown);
42
+ /**
43
+ * Returns a boolean for whether the string is numeric.
44
+ *
45
+ * This type is a workaround for [Microsoft/TypeScript#46109](https://github.com/microsoft/TypeScript/issues/46109#issuecomment-930307987).
46
+ */
47
+ type IsNumeric<T extends string> = T extends `${number}` ? Trim<T> extends T ? true : false : false;
48
+ /**
49
+ * Returns a boolean for whether the string is lowercased.
50
+ */
51
+ type IsLowerCase<T extends string> = T extends Lowercase<T> ? true : false;
52
+ /**
53
+ * Returns a boolean for whether the string is upper-cased.
54
+ */
55
+ type IsUpperCase<T extends string> = T extends Uppercase<T> ? true : false;
56
+ type WordSeparators = '-' | '_' | Whitespace;
57
+ type Whitespace = '\u{9}' | '\u{A}' | '\u{B}' | '\u{C}' | '\u{D}' | '\u{20}' | '\u{85}' | '\u{A0}' | '\u{1680}' | '\u{2000}' | '\u{2001}' | '\u{2002}' | '\u{2003}' | '\u{2004}' | '\u{2005}' | '\u{2006}' | '\u{2007}' | '\u{2008}' | '\u{2009}' | '\u{200A}' | '\u{2028}' | '\u{2029}' | '\u{202F}' | '\u{205F}' | '\u{3000}' | '\u{FEFF}';
58
+ type UpperCaseCharacters = 'A' | 'B' | 'C' | 'D' | 'E' | 'F' | 'G' | 'H' | 'I' | 'J' | 'K' | 'L' | 'M' | 'N' | 'O' | 'P' | 'Q' | 'R' | 'S' | 'T' | 'U' | 'V' | 'W' | 'X' | 'Y' | 'Z';
59
+ //#endregion
60
+ //#region src/application/models/utilityTypes/splitWords.d.ts
61
+ type SkipEmptyWord<Word extends string> = Word extends '' ? [] : [Word];
62
+ type RemoveLastCharacter<Sentence extends string, Character extends string> = Sentence extends `${infer LeftSide}${Character}` ? SkipEmptyWord<LeftSide> : never;
63
+ /**
64
+ * Split a string (almost) like Lodash's `_.words()` function.
65
+ *
66
+ * - Split on each word that begins with a capital letter.
67
+ * - Split on each {@link WordSeparators}.
68
+ * - Split on numeric sequence.
69
+ *
70
+ * @example
71
+ * ```
72
+ * type Words0 = SplitWords<'helloWorld'>; // ['hello', 'World']
73
+ * type Words1 = SplitWords<'helloWORLD'>; // ['hello', 'WORLD']
74
+ * type Words2 = SplitWords<'hello-world'>; // ['hello', 'world']
75
+ * type Words3 = SplitWords<'--hello the_world'>; // ['hello', 'the', 'world']
76
+ * type Words4 = SplitWords<'lifeIs42'>; // ['life', 'Is', '42']
77
+ * ```
78
+ *
79
+ * @internal
80
+ * @category Change case
81
+ * @category Template literal
82
+ */
83
+ type SplitWords<Sentence extends string, LastCharacter extends string = '', CurrentWord extends string = ''> = Sentence extends `${infer FirstCharacter}${infer RemainingCharacters}` ? FirstCharacter extends WordSeparators ? [...SkipEmptyWord<CurrentWord>, ...SplitWords<RemainingCharacters>] : LastCharacter extends '' ? SplitWords<RemainingCharacters, FirstCharacter, FirstCharacter> : [false, true] extends [IsNumeric<LastCharacter>, IsNumeric<FirstCharacter>] ? [...SkipEmptyWord<CurrentWord>, ...SplitWords<RemainingCharacters, FirstCharacter, FirstCharacter>] : [true, false] extends [IsNumeric<LastCharacter>, IsNumeric<FirstCharacter>] ? [...SkipEmptyWord<CurrentWord>, ...SplitWords<RemainingCharacters, FirstCharacter, FirstCharacter>] : [true, true] extends [IsNumeric<LastCharacter>, IsNumeric<FirstCharacter>] ? SplitWords<RemainingCharacters, FirstCharacter, `${CurrentWord}${FirstCharacter}`> : [true, true] extends [IsLowerCase<LastCharacter>, IsUpperCase<FirstCharacter>] ? [...SkipEmptyWord<CurrentWord>, ...SplitWords<RemainingCharacters, FirstCharacter, FirstCharacter>] : [true, true] extends [IsUpperCase<LastCharacter>, IsLowerCase<FirstCharacter>] ? [...RemoveLastCharacter<CurrentWord, LastCharacter>, ...SplitWords<RemainingCharacters, FirstCharacter, `${LastCharacter}${FirstCharacter}`>] : SplitWords<RemainingCharacters, FirstCharacter, `${CurrentWord}${FirstCharacter}`> : [...SkipEmptyWord<CurrentWord>];
84
+ //#endregion
85
+ //#region src/application/models/utilityTypes/camelCase.d.ts
86
+ /**
87
+ * CamelCase options.
88
+ *
89
+ * @see {@link CamelCase}
90
+ */
91
+ type CamelCaseOptions = {
92
+ /**
93
+ * Whether to preserved consecutive uppercase letter.
94
+ *
95
+ * @default true
96
+ */
97
+ preserveConsecutiveUppercase?: boolean;
98
+ };
99
+ /**
100
+ * Convert an array of words to camel-case.
101
+ */
102
+ type CamelCaseFromArray<Words extends string[], Options extends CamelCaseOptions, OutputString extends string = ''> = Words extends [infer FirstWord extends string, ...infer RemainingWords extends string[]] ? Options['preserveConsecutiveUppercase'] extends true ? `${Capitalize<FirstWord>}${CamelCaseFromArray<RemainingWords, Options>}` : `${Capitalize<Lowercase<FirstWord>>}${CamelCaseFromArray<RemainingWords, Options>}` : OutputString;
103
+ /**
104
+ * Convert a string literal to camel-case.
105
+ *
106
+ * This can be useful when, for example, converting some kebab-cased command-line flags or a snake-cased database result.
107
+ *
108
+ * By default, consecutive uppercase letter are preserved. See {@link CamelCaseOptions.preserveConsecutiveUppercase preserveConsecutiveUppercase} option to change this behaviour.
109
+ *
110
+ * @example
111
+ * ```
112
+ * import type {CamelCase} from 'type-fest';
113
+ *
114
+ * // Simple
115
+ *
116
+ * const someVariable: CamelCase<'foo-bar'> = 'fooBar';
117
+ *
118
+ * // Advanced
119
+ *
120
+ * type CamelCasedProperties<T> = {
121
+ * [K in keyof T as CamelCase<K>]: T[K]
122
+ * };
123
+ *
124
+ * interface RawOptions {
125
+ * 'dry-run': boolean;
126
+ * 'full_family_name': string;
127
+ * foo: number;
128
+ * BAR: string;
129
+ * QUZ_QUX: number;
130
+ * 'OTHER-FIELD': boolean;
131
+ * }
132
+ *
133
+ * const dbResult: CamelCasedProperties<RawOptions> = {
134
+ * dryRun: true,
135
+ * fullFamilyName: 'bar.js',
136
+ * foo: 123,
137
+ * bar: 'foo',
138
+ * quzQux: 6,
139
+ * otherField: false
140
+ * };
141
+ * ```
142
+ *
143
+ * @category Change case
144
+ * @category Template literal
145
+ */
146
+ type CamelCase<Type, Options extends CamelCaseOptions = {
147
+ preserveConsecutiveUppercase: true;
148
+ }> = Type extends string ? string extends Type ? Type : Uncapitalize<CamelCaseFromArray<SplitWords<Type extends Uppercase<Type> ? Lowercase<Type> : Type>, Options>> : Type;
149
+ //#endregion
150
+ //#region src/application/models/utilityTypes/unknownArray.d.ts
151
+ /**
152
+ * Represents an array with `unknown` value.
153
+ *
154
+ * Use case: You want a type that all arrays can be assigned to, but you don't care about the value.
155
+ *
156
+ * @example
157
+ * ```
158
+ * import type {UnknownArray} from 'type-fest';
159
+ *
160
+ * type IsArray<T> = T extends UnknownArray ? true : false;
161
+ *
162
+ * type A = IsArray<['foo']>;
163
+ * //=> true
164
+ *
165
+ * type B = IsArray<readonly number[]>;
166
+ * //=> true
167
+ *
168
+ * type C = IsArray<string>;
169
+ * //=> false
170
+ * ```
171
+ *
172
+ * @category Type
173
+ * @category Array
174
+ */
175
+ type UnknownArray = readonly unknown[];
176
+ //#endregion
177
+ //#region src/application/models/utilityTypes/camelCasedPropertiesDeep.d.ts
178
+ /**
179
+ * Convert object properties to camel case recursively.
180
+ *
181
+ * This can be useful when, for example, converting some API types from a different style.
182
+ *
183
+ * @see CamelCasedProperties
184
+ * @see CamelCase
185
+ *
186
+ * @example
187
+ * ```
188
+ * import type {CamelCasedPropertiesDeep} from 'type-fest';
189
+ *
190
+ * interface User {
191
+ * UserId: number;
192
+ * UserName: string;
193
+ * }
194
+ *
195
+ * interface UserWithFriends {
196
+ * UserInfo: User;
197
+ * UserFriends: User[];
198
+ * }
199
+ *
200
+ * const result: CamelCasedPropertiesDeep<UserWithFriends> = {
201
+ * userInfo: {
202
+ * userId: 1,
203
+ * userName: 'Tom',
204
+ * },
205
+ * userFriends: [
206
+ * {
207
+ * userId: 2,
208
+ * userName: 'Jerry',
209
+ * },
210
+ * {
211
+ * userId: 3,
212
+ * userName: 'Spike',
213
+ * },
214
+ * ],
215
+ * };
216
+ * ```
217
+ *
218
+ * @category Change case
219
+ * @category Template literal
220
+ * @category Object
221
+ */
222
+ type CamelCasedPropertiesDeep<Value, Options extends CamelCaseOptions = {
223
+ preserveConsecutiveUppercase: true;
224
+ }> = Value extends Function ? Value : Value extends UnknownArray ? CamelCasedPropertiesArrayDeep<Value> : Value extends Set<infer U> ? Set<CamelCasedPropertiesDeep<U, Options>> : { [K in keyof Value as CamelCase<K, Options>]: CamelCasedPropertiesDeep<Value[K], Options> };
225
+ type CamelCasedPropertiesArrayDeep<Value extends UnknownArray> = Value extends [] ? [] : Value extends [infer U, ...infer V] ? [CamelCasedPropertiesDeep<U>, ...CamelCasedPropertiesDeep<V>] : Value extends readonly [infer U, ...infer V] ? readonly [CamelCasedPropertiesDeep<U>, ...CamelCasedPropertiesDeep<V>] : Value extends readonly [...infer U, infer V] ? [...CamelCasedPropertiesDeep<U>, CamelCasedPropertiesDeep<V>] : Value extends readonly [...infer U, infer V] ? readonly [...CamelCasedPropertiesDeep<U>, CamelCasedPropertiesDeep<V>] : Value extends Array<infer U> ? Array<CamelCasedPropertiesDeep<U>> : Value extends ReadonlyArray<infer U> ? ReadonlyArray<CamelCasedPropertiesDeep<U>> : never;
226
+ //#endregion
227
+ export { BuiltIns, CamelCase, CamelCaseOptions, CamelCasedPropertiesDeep, IsLowerCase, IsNumeric, IsUpperCase, NonRecursiveType, Primitive, SplitWords, Trim, UnknownArray, UpperCaseCharacters, Whitespace, WordSeparators };
228
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXgtdlA4QktkeGwuZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3V0aWxpdHlUeXBlcy9wcmltaXRpdmUuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdXRpbGl0eVR5cGVzL3RyaW0uZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdXRpbGl0eVR5cGVzL2ludGVybmFsLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3V0aWxpdHlUeXBlcy9zcGxpdFdvcmRzLmQudHMiLCIuLi9zcmMvYXBwbGljYXRpb24vbW9kZWxzL3V0aWxpdHlUeXBlcy9jYW1lbENhc2UuZC50cyIsIi4uL3NyYy9hcHBsaWNhdGlvbi9tb2RlbHMvdXRpbGl0eVR5cGVzL3Vua25vd25BcnJheS5kLnRzIiwiLi4vc3JjL2FwcGxpY2F0aW9uL21vZGVscy91dGlsaXR5VHlwZXMvY2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwLmQudHMiXSwic291cmNlc0NvbnRlbnQiOlsiLyoqXG4gKiBNYXRjaGVzIGFueSBbcHJpbWl0aXZlIHZhbHVlXShodHRwczovL2RldmVsb3Blci5tb3ppbGxhLm9yZy9lbi1VUy9kb2NzL0dsb3NzYXJ5L1ByaW1pdGl2ZSkuXG4gKlxuICogQGNhdGVnb3J5IFR5cGVcbiAqL1xuZXhwb3J0IHR5cGUgUHJpbWl0aXZlID0gbnVsbCB8IHVuZGVmaW5lZCB8IHN0cmluZyB8IG51bWJlciB8IGJvb2xlYW4gfCBzeW1ib2wgfCBiaWdpbnQ7XG4iLCJpbXBvcnQgdHlwZSB7IFdoaXRlc3BhY2UgfSBmcm9tICcuL2ludGVybmFsJztcbi8qKlxuICogUmVtb3ZlIHNwYWNlcyBmcm9tIHRoZSBsZWZ0IHNpZGUuXG4gKi9cbnR5cGUgVHJpbUxlZnQ8ViBleHRlbmRzIHN0cmluZz4gPSBWIGV4dGVuZHMgYCR7V2hpdGVzcGFjZX0ke2luZmVyIFJ9YCA/IFRyaW1MZWZ0PFI+IDogVjtcbi8qKlxuICogUmVtb3ZlIHNwYWNlcyBmcm9tIHRoZSByaWdodCBzaWRlLlxuICovXG50eXBlIFRyaW1SaWdodDxWIGV4dGVuZHMgc3RyaW5nPiA9IFYgZXh0ZW5kcyBgJHtpbmZlciBSfSR7V2hpdGVzcGFjZX1gID8gVHJpbVJpZ2h0PFI+IDogVjtcbi8qKlxuICogUmVtb3ZlIGxlYWRpbmcgYW5kIHRyYWlsaW5nIHNwYWNlcyBmcm9tIGEgc3RyaW5nLlxuICogQGV4YW1wbGVcbiAqIGBgYFxuICogaW1wb3J0IHR5cGUge1RyaW19IGZyb20gJ3R5cGUtZmVzdCc7XG4gKlxuICogVHJpbTwnIGZvbyAnPlxuICogLy89PiAnZm9vJ1xuICogYGBgXG4gKlxuICogQGNhdGVnb3J5IFN0cmluZ1xuICogQGNhdGVnb3J5IFRlbXBsYXRlIGxpdGVyYWxcbiAqL1xuZXhwb3J0IHR5cGUgVHJpbTxWIGV4dGVuZHMgc3RyaW5nPiA9IFRyaW1MZWZ0PFRyaW1SaWdodDxWPj47XG5leHBvcnQge307XG4iLCJpbXBvcnQgeyBQcmltaXRpdmUgfSBmcm9tICcuL3ByaW1pdGl2ZSc7XG5pbXBvcnQgeyBUcmltIH0gZnJvbSAnLi90cmltJztcbi8qKlxuICogTWF0Y2hlcyBhbnkgcHJpbWl0aXZlLCBgdm9pZGAsIGBEYXRlYCwgb3IgYFJlZ0V4cGAgdmFsdWUuXG4gKi9cbmV4cG9ydCB0eXBlIEJ1aWx0SW5zID0gUHJpbWl0aXZlIHwgdm9pZCB8IERhdGUgfCBSZWdFeHA7XG4vKipcbiAqIE1hdGNoZXMgbm9uLXJlY3Vyc2l2ZSB0eXBlcy5cbiAqL1xuZXhwb3J0IHR5cGUgTm9uUmVjdXJzaXZlVHlwZSA9IEJ1aWx0SW5zIHwgRnVuY3Rpb24gfCAobmV3ICguLi5hcmd1bWVudHNfOiBhbnlbXSkgPT4gdW5rbm93bik7XG4vKipcbiAqIFJldHVybnMgYSBib29sZWFuIGZvciB3aGV0aGVyIHRoZSBzdHJpbmcgaXMgbnVtZXJpYy5cbiAqXG4gKiBUaGlzIHR5cGUgaXMgYSB3b3JrYXJvdW5kIGZvciBbTWljcm9zb2Z0L1R5cGVTY3JpcHQjNDYxMDldKGh0dHBzOi8vZ2l0aHViLmNvbS9taWNyb3NvZnQvVHlwZVNjcmlwdC9pc3N1ZXMvNDYxMDkjaXNzdWVjb21tZW50LTkzMDMwNzk4NykuXG4gKi9cbmV4cG9ydCB0eXBlIElzTnVtZXJpYzxUIGV4dGVuZHMgc3RyaW5nPiA9IFQgZXh0ZW5kcyBgJHtudW1iZXJ9YCA/IFRyaW08VD4gZXh0ZW5kcyBUID8gdHJ1ZSA6IGZhbHNlIDogZmFsc2U7XG4vKipcbiAqIFJldHVybnMgYSBib29sZWFuIGZvciB3aGV0aGVyIHRoZSBzdHJpbmcgaXMgbG93ZXJjYXNlZC5cbiAqL1xuZXhwb3J0IHR5cGUgSXNMb3dlckNhc2U8VCBleHRlbmRzIHN0cmluZz4gPSBUIGV4dGVuZHMgTG93ZXJjYXNlPFQ+ID8gdHJ1ZSA6IGZhbHNlO1xuLyoqXG4gKiBSZXR1cm5zIGEgYm9vbGVhbiBmb3Igd2hldGhlciB0aGUgc3RyaW5nIGlzIHVwcGVyLWNhc2VkLlxuICovXG5leHBvcnQgdHlwZSBJc1VwcGVyQ2FzZTxUIGV4dGVuZHMgc3RyaW5nPiA9IFQgZXh0ZW5kcyBVcHBlcmNhc2U8VD4gPyB0cnVlIDogZmFsc2U7XG5leHBvcnQgdHlwZSBXb3JkU2VwYXJhdG9ycyA9ICctJyB8ICdfJyB8IFdoaXRlc3BhY2U7XG5leHBvcnQgdHlwZSBXaGl0ZXNwYWNlID0gJ1xcdXs5fScgfCAnXFx1e0F9JyB8ICdcXHV7Qn0nIHwgJ1xcdXtDfScgfCAnXFx1e0R9JyB8ICdcXHV7MjB9JyB8ICdcXHV7ODV9JyB8ICdcXHV7QTB9JyB8ICdcXHV7MTY4MH0nIHwgJ1xcdXsyMDAwfScgfCAnXFx1ezIwMDF9JyB8ICdcXHV7MjAwMn0nIHwgJ1xcdXsyMDAzfScgfCAnXFx1ezIwMDR9JyB8ICdcXHV7MjAwNX0nIHwgJ1xcdXsyMDA2fScgfCAnXFx1ezIwMDd9JyB8ICdcXHV7MjAwOH0nIHwgJ1xcdXsyMDA5fScgfCAnXFx1ezIwMEF9JyB8ICdcXHV7MjAyOH0nIHwgJ1xcdXsyMDI5fScgfCAnXFx1ezIwMkZ9JyB8ICdcXHV7MjA1Rn0nIHwgJ1xcdXszMDAwfScgfCAnXFx1e0ZFRkZ9JztcbmV4cG9ydCB0eXBlIFVwcGVyQ2FzZUNoYXJhY3RlcnMgPSAnQScgfCAnQicgfCAnQycgfCAnRCcgfCAnRScgfCAnRicgfCAnRycgfCAnSCcgfCAnSScgfCAnSicgfCAnSycgfCAnTCcgfCAnTScgfCAnTicgfCAnTycgfCAnUCcgfCAnUScgfCAnUicgfCAnUycgfCAnVCcgfCAnVScgfCAnVicgfCAnVycgfCAnWCcgfCAnWScgfCAnWic7XG4iLCJpbXBvcnQgdHlwZSB7IElzTG93ZXJDYXNlLCBJc051bWVyaWMsIElzVXBwZXJDYXNlLCBXb3JkU2VwYXJhdG9ycyB9IGZyb20gJy4vaW50ZXJuYWwnO1xudHlwZSBTa2lwRW1wdHlXb3JkPFdvcmQgZXh0ZW5kcyBzdHJpbmc+ID0gV29yZCBleHRlbmRzICcnID8gW10gOiBbV29yZF07XG50eXBlIFJlbW92ZUxhc3RDaGFyYWN0ZXI8U2VudGVuY2UgZXh0ZW5kcyBzdHJpbmcsIENoYXJhY3RlciBleHRlbmRzIHN0cmluZz4gPSBTZW50ZW5jZSBleHRlbmRzIGAke2luZmVyIExlZnRTaWRlfSR7Q2hhcmFjdGVyfWAgPyBTa2lwRW1wdHlXb3JkPExlZnRTaWRlPiA6IG5ldmVyO1xuLyoqXG4gKiBTcGxpdCBhIHN0cmluZyAoYWxtb3N0KSBsaWtlIExvZGFzaCdzIGBfLndvcmRzKClgIGZ1bmN0aW9uLlxuICpcbiAqIC0gU3BsaXQgb24gZWFjaCB3b3JkIHRoYXQgYmVnaW5zIHdpdGggYSBjYXBpdGFsIGxldHRlci5cbiAqIC0gU3BsaXQgb24gZWFjaCB7QGxpbmsgV29yZFNlcGFyYXRvcnN9LlxuICogLSBTcGxpdCBvbiBudW1lcmljIHNlcXVlbmNlLlxuICpcbiAqIEBleGFtcGxlXG4gKiBgYGBcbiAqIHR5cGUgV29yZHMwID0gU3BsaXRXb3JkczwnaGVsbG9Xb3JsZCc+OyAvLyBbJ2hlbGxvJywgJ1dvcmxkJ11cbiAqIHR5cGUgV29yZHMxID0gU3BsaXRXb3JkczwnaGVsbG9XT1JMRCc+OyAvLyBbJ2hlbGxvJywgJ1dPUkxEJ11cbiAqIHR5cGUgV29yZHMyID0gU3BsaXRXb3JkczwnaGVsbG8td29ybGQnPjsgLy8gWydoZWxsbycsICd3b3JsZCddXG4gKiB0eXBlIFdvcmRzMyA9IFNwbGl0V29yZHM8Jy0taGVsbG8gdGhlX3dvcmxkJz47IC8vIFsnaGVsbG8nLCAndGhlJywgJ3dvcmxkJ11cbiAqIHR5cGUgV29yZHM0ID0gU3BsaXRXb3JkczwnbGlmZUlzNDInPjsgLy8gWydsaWZlJywgJ0lzJywgJzQyJ11cbiAqIGBgYFxuICpcbiAqIEBpbnRlcm5hbFxuICogQGNhdGVnb3J5IENoYW5nZSBjYXNlXG4gKiBAY2F0ZWdvcnkgVGVtcGxhdGUgbGl0ZXJhbFxuICovXG5leHBvcnQgdHlwZSBTcGxpdFdvcmRzPFNlbnRlbmNlIGV4dGVuZHMgc3RyaW5nLCBMYXN0Q2hhcmFjdGVyIGV4dGVuZHMgc3RyaW5nID0gJycsIEN1cnJlbnRXb3JkIGV4dGVuZHMgc3RyaW5nID0gJyc+ID0gU2VudGVuY2UgZXh0ZW5kcyBgJHtpbmZlciBGaXJzdENoYXJhY3Rlcn0ke2luZmVyIFJlbWFpbmluZ0NoYXJhY3RlcnN9YCA/IEZpcnN0Q2hhcmFjdGVyIGV4dGVuZHMgV29yZFNlcGFyYXRvcnMgPyBbXG4gICAgLi4uU2tpcEVtcHR5V29yZDxDdXJyZW50V29yZD4sXG4gICAgLi4uU3BsaXRXb3JkczxSZW1haW5pbmdDaGFyYWN0ZXJzPlxuXSA6IExhc3RDaGFyYWN0ZXIgZXh0ZW5kcyAnJyA/IFNwbGl0V29yZHM8UmVtYWluaW5nQ2hhcmFjdGVycywgRmlyc3RDaGFyYWN0ZXIsIEZpcnN0Q2hhcmFjdGVyPiA6IFtcbiAgICBmYWxzZSxcbiAgICB0cnVlXG5dIGV4dGVuZHMgW0lzTnVtZXJpYzxMYXN0Q2hhcmFjdGVyPiwgSXNOdW1lcmljPEZpcnN0Q2hhcmFjdGVyPl0gPyBbXG4gICAgLi4uU2tpcEVtcHR5V29yZDxDdXJyZW50V29yZD4sXG4gICAgLi4uU3BsaXRXb3JkczxSZW1haW5pbmdDaGFyYWN0ZXJzLCBGaXJzdENoYXJhY3RlciwgRmlyc3RDaGFyYWN0ZXI+XG5dIDogW1xuICAgIHRydWUsXG4gICAgZmFsc2Vcbl0gZXh0ZW5kcyBbSXNOdW1lcmljPExhc3RDaGFyYWN0ZXI+LCBJc051bWVyaWM8Rmlyc3RDaGFyYWN0ZXI+XSA/IFtcbiAgICAuLi5Ta2lwRW1wdHlXb3JkPEN1cnJlbnRXb3JkPixcbiAgICAuLi5TcGxpdFdvcmRzPFJlbWFpbmluZ0NoYXJhY3RlcnMsIEZpcnN0Q2hhcmFjdGVyLCBGaXJzdENoYXJhY3Rlcj5cbl0gOiBbXG4gICAgdHJ1ZSxcbiAgICB0cnVlXG5dIGV4dGVuZHMgW0lzTnVtZXJpYzxMYXN0Q2hhcmFjdGVyPiwgSXNOdW1lcmljPEZpcnN0Q2hhcmFjdGVyPl0gPyBTcGxpdFdvcmRzPFJlbWFpbmluZ0NoYXJhY3RlcnMsIEZpcnN0Q2hhcmFjdGVyLCBgJHtDdXJyZW50V29yZH0ke0ZpcnN0Q2hhcmFjdGVyfWA+IDogW1xuICAgIHRydWUsXG4gICAgdHJ1ZVxuXSBleHRlbmRzIFtJc0xvd2VyQ2FzZTxMYXN0Q2hhcmFjdGVyPiwgSXNVcHBlckNhc2U8Rmlyc3RDaGFyYWN0ZXI+XSA/IFtcbiAgICAuLi5Ta2lwRW1wdHlXb3JkPEN1cnJlbnRXb3JkPixcbiAgICAuLi5TcGxpdFdvcmRzPFJlbWFpbmluZ0NoYXJhY3RlcnMsIEZpcnN0Q2hhcmFjdGVyLCBGaXJzdENoYXJhY3Rlcj5cbl0gOiBbXG4gICAgdHJ1ZSxcbiAgICB0cnVlXG5dIGV4dGVuZHMgW0lzVXBwZXJDYXNlPExhc3RDaGFyYWN0ZXI+LCBJc0xvd2VyQ2FzZTxGaXJzdENoYXJhY3Rlcj5dID8gW1xuICAgIC4uLlJlbW92ZUxhc3RDaGFyYWN0ZXI8Q3VycmVudFdvcmQsIExhc3RDaGFyYWN0ZXI+LFxuICAgIC4uLlNwbGl0V29yZHM8UmVtYWluaW5nQ2hhcmFjdGVycywgRmlyc3RDaGFyYWN0ZXIsIGAke0xhc3RDaGFyYWN0ZXJ9JHtGaXJzdENoYXJhY3Rlcn1gPlxuXSA6IFNwbGl0V29yZHM8UmVtYWluaW5nQ2hhcmFjdGVycywgRmlyc3RDaGFyYWN0ZXIsIGAke0N1cnJlbnRXb3JkfSR7Rmlyc3RDaGFyYWN0ZXJ9YD4gOiBbLi4uU2tpcEVtcHR5V29yZDxDdXJyZW50V29yZD5dO1xuZXhwb3J0IHt9O1xuIiwiaW1wb3J0IHsgU3BsaXRXb3JkcyB9IGZyb20gJy4vc3BsaXRXb3Jkcyc7XG4vKipcbiAqIENhbWVsQ2FzZSBvcHRpb25zLlxuICpcbiAqIEBzZWUge0BsaW5rIENhbWVsQ2FzZX1cbiAqL1xuZXhwb3J0IHR5cGUgQ2FtZWxDYXNlT3B0aW9ucyA9IHtcbiAgICAvKipcbiAgICAgKiBXaGV0aGVyIHRvIHByZXNlcnZlZCBjb25zZWN1dGl2ZSB1cHBlcmNhc2UgbGV0dGVyLlxuICAgICAqXG4gICAgICogQGRlZmF1bHQgdHJ1ZVxuICAgICAqL1xuICAgIHByZXNlcnZlQ29uc2VjdXRpdmVVcHBlcmNhc2U/OiBib29sZWFuO1xufTtcbi8qKlxuICogQ29udmVydCBhbiBhcnJheSBvZiB3b3JkcyB0byBjYW1lbC1jYXNlLlxuICovXG50eXBlIENhbWVsQ2FzZUZyb21BcnJheTxXb3JkcyBleHRlbmRzIHN0cmluZ1tdLCBPcHRpb25zIGV4dGVuZHMgQ2FtZWxDYXNlT3B0aW9ucywgT3V0cHV0U3RyaW5nIGV4dGVuZHMgc3RyaW5nID0gJyc+ID0gV29yZHMgZXh0ZW5kcyBbaW5mZXIgRmlyc3RXb3JkIGV4dGVuZHMgc3RyaW5nLCAuLi5pbmZlciBSZW1haW5pbmdXb3JkcyBleHRlbmRzIHN0cmluZ1tdXSA/IE9wdGlvbnNbJ3ByZXNlcnZlQ29uc2VjdXRpdmVVcHBlcmNhc2UnXSBleHRlbmRzIHRydWUgPyBgJHtDYXBpdGFsaXplPEZpcnN0V29yZD59JHtDYW1lbENhc2VGcm9tQXJyYXk8UmVtYWluaW5nV29yZHMsIE9wdGlvbnM+fWAgOiBgJHtDYXBpdGFsaXplPExvd2VyY2FzZTxGaXJzdFdvcmQ+Pn0ke0NhbWVsQ2FzZUZyb21BcnJheTxSZW1haW5pbmdXb3JkcywgT3B0aW9ucz59YCA6IE91dHB1dFN0cmluZztcbi8qKlxuICogQ29udmVydCBhIHN0cmluZyBsaXRlcmFsIHRvIGNhbWVsLWNhc2UuXG4gKlxuICogVGhpcyBjYW4gYmUgdXNlZnVsIHdoZW4sIGZvciBleGFtcGxlLCBjb252ZXJ0aW5nIHNvbWUga2ViYWItY2FzZWQgY29tbWFuZC1saW5lIGZsYWdzIG9yIGEgc25ha2UtY2FzZWQgZGF0YWJhc2UgcmVzdWx0LlxuICpcbiAqIEJ5IGRlZmF1bHQsIGNvbnNlY3V0aXZlIHVwcGVyY2FzZSBsZXR0ZXIgYXJlIHByZXNlcnZlZC4gU2VlIHtAbGluayBDYW1lbENhc2VPcHRpb25zLnByZXNlcnZlQ29uc2VjdXRpdmVVcHBlcmNhc2UgcHJlc2VydmVDb25zZWN1dGl2ZVVwcGVyY2FzZX0gb3B0aW9uIHRvIGNoYW5nZSB0aGlzIGJlaGF2aW91ci5cbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgXG4gKiBpbXBvcnQgdHlwZSB7Q2FtZWxDYXNlfSBmcm9tICd0eXBlLWZlc3QnO1xuICpcbiAqIC8vIFNpbXBsZVxuICpcbiAqIGNvbnN0IHNvbWVWYXJpYWJsZTogQ2FtZWxDYXNlPCdmb28tYmFyJz4gPSAnZm9vQmFyJztcbiAqXG4gKiAvLyBBZHZhbmNlZFxuICpcbiAqIHR5cGUgQ2FtZWxDYXNlZFByb3BlcnRpZXM8VD4gPSB7XG4gKiBcdFtLIGluIGtleW9mIFQgYXMgQ2FtZWxDYXNlPEs+XTogVFtLXVxuICogfTtcbiAqXG4gKiBpbnRlcmZhY2UgUmF3T3B0aW9ucyB7XG4gKiBcdCdkcnktcnVuJzogYm9vbGVhbjtcbiAqIFx0J2Z1bGxfZmFtaWx5X25hbWUnOiBzdHJpbmc7XG4gKiBcdGZvbzogbnVtYmVyO1xuICogXHRCQVI6IHN0cmluZztcbiAqIFx0UVVaX1FVWDogbnVtYmVyO1xuICogXHQnT1RIRVItRklFTEQnOiBib29sZWFuO1xuICogfVxuICpcbiAqIGNvbnN0IGRiUmVzdWx0OiBDYW1lbENhc2VkUHJvcGVydGllczxSYXdPcHRpb25zPiA9IHtcbiAqIFx0ZHJ5UnVuOiB0cnVlLFxuICogXHRmdWxsRmFtaWx5TmFtZTogJ2Jhci5qcycsXG4gKiBcdGZvbzogMTIzLFxuICogXHRiYXI6ICdmb28nLFxuICogXHRxdXpRdXg6IDYsXG4gKiBcdG90aGVyRmllbGQ6IGZhbHNlXG4gKiB9O1xuICogYGBgXG4gKlxuICogQGNhdGVnb3J5IENoYW5nZSBjYXNlXG4gKiBAY2F0ZWdvcnkgVGVtcGxhdGUgbGl0ZXJhbFxuICovXG5leHBvcnQgdHlwZSBDYW1lbENhc2U8VHlwZSwgT3B0aW9ucyBleHRlbmRzIENhbWVsQ2FzZU9wdGlvbnMgPSB7XG4gICAgcHJlc2VydmVDb25zZWN1dGl2ZVVwcGVyY2FzZTogdHJ1ZTtcbn0+ID0gVHlwZSBleHRlbmRzIHN0cmluZyA/IHN0cmluZyBleHRlbmRzIFR5cGUgPyBUeXBlIDogVW5jYXBpdGFsaXplPENhbWVsQ2FzZUZyb21BcnJheTxTcGxpdFdvcmRzPFR5cGUgZXh0ZW5kcyBVcHBlcmNhc2U8VHlwZT4gPyBMb3dlcmNhc2U8VHlwZT4gOiBUeXBlPiwgT3B0aW9ucz4+IDogVHlwZTtcbmV4cG9ydCB7fTtcbiIsIi8qKlxuICogUmVwcmVzZW50cyBhbiBhcnJheSB3aXRoIGB1bmtub3duYCB2YWx1ZS5cbiAqXG4gKiBVc2UgY2FzZTogWW91IHdhbnQgYSB0eXBlIHRoYXQgYWxsIGFycmF5cyBjYW4gYmUgYXNzaWduZWQgdG8sIGJ1dCB5b3UgZG9uJ3QgY2FyZSBhYm91dCB0aGUgdmFsdWUuXG4gKlxuICogQGV4YW1wbGVcbiAqIGBgYFxuICogaW1wb3J0IHR5cGUge1Vua25vd25BcnJheX0gZnJvbSAndHlwZS1mZXN0JztcbiAqXG4gKiB0eXBlIElzQXJyYXk8VD4gPSBUIGV4dGVuZHMgVW5rbm93bkFycmF5ID8gdHJ1ZSA6IGZhbHNlO1xuICpcbiAqIHR5cGUgQSA9IElzQXJyYXk8Wydmb28nXT47XG4gKiAvLz0+IHRydWVcbiAqXG4gKiB0eXBlIEIgPSBJc0FycmF5PHJlYWRvbmx5IG51bWJlcltdPjtcbiAqIC8vPT4gdHJ1ZVxuICpcbiAqIHR5cGUgQyA9IElzQXJyYXk8c3RyaW5nPjtcbiAqIC8vPT4gZmFsc2VcbiAqIGBgYFxuICpcbiAqIEBjYXRlZ29yeSBUeXBlXG4gKiBAY2F0ZWdvcnkgQXJyYXlcbiAqL1xuZXhwb3J0IHR5cGUgVW5rbm93bkFycmF5ID0gcmVhZG9ubHkgdW5rbm93bltdO1xuIiwiaW1wb3J0IHsgQ2FtZWxDYXNlLCBDYW1lbENhc2VPcHRpb25zIH0gZnJvbSAnLi9jYW1lbENhc2UnO1xuaW1wb3J0IHsgVW5rbm93bkFycmF5IH0gZnJvbSAnLi91bmtub3duQXJyYXknO1xuLyoqXG4gKiBDb252ZXJ0IG9iamVjdCBwcm9wZXJ0aWVzIHRvIGNhbWVsIGNhc2UgcmVjdXJzaXZlbHkuXG4gKlxuICogVGhpcyBjYW4gYmUgdXNlZnVsIHdoZW4sIGZvciBleGFtcGxlLCBjb252ZXJ0aW5nIHNvbWUgQVBJIHR5cGVzIGZyb20gYSBkaWZmZXJlbnQgc3R5bGUuXG4gKlxuICogQHNlZSBDYW1lbENhc2VkUHJvcGVydGllc1xuICogQHNlZSBDYW1lbENhc2VcbiAqXG4gKiBAZXhhbXBsZVxuICogYGBgXG4gKiBpbXBvcnQgdHlwZSB7Q2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwfSBmcm9tICd0eXBlLWZlc3QnO1xuICpcbiAqIGludGVyZmFjZSBVc2VyIHtcbiAqIFx0VXNlcklkOiBudW1iZXI7XG4gKiBcdFVzZXJOYW1lOiBzdHJpbmc7XG4gKiB9XG4gKlxuICogaW50ZXJmYWNlIFVzZXJXaXRoRnJpZW5kcyB7XG4gKiBcdFVzZXJJbmZvOiBVc2VyO1xuICogXHRVc2VyRnJpZW5kczogVXNlcltdO1xuICogfVxuICpcbiAqIGNvbnN0IHJlc3VsdDogQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPFVzZXJXaXRoRnJpZW5kcz4gPSB7XG4gKiBcdHVzZXJJbmZvOiB7XG4gKiBcdFx0dXNlcklkOiAxLFxuICogXHRcdHVzZXJOYW1lOiAnVG9tJyxcbiAqIFx0fSxcbiAqIFx0dXNlckZyaWVuZHM6IFtcbiAqIFx0XHR7XG4gKiBcdFx0XHR1c2VySWQ6IDIsXG4gKiBcdFx0XHR1c2VyTmFtZTogJ0plcnJ5JyxcbiAqIFx0XHR9LFxuICogXHRcdHtcbiAqIFx0XHRcdHVzZXJJZDogMyxcbiAqIFx0XHRcdHVzZXJOYW1lOiAnU3Bpa2UnLFxuICogXHRcdH0sXG4gKiBcdF0sXG4gKiB9O1xuICogYGBgXG4gKlxuICogQGNhdGVnb3J5IENoYW5nZSBjYXNlXG4gKiBAY2F0ZWdvcnkgVGVtcGxhdGUgbGl0ZXJhbFxuICogQGNhdGVnb3J5IE9iamVjdFxuICovXG5leHBvcnQgdHlwZSBDYW1lbENhc2VkUHJvcGVydGllc0RlZXA8VmFsdWUsIE9wdGlvbnMgZXh0ZW5kcyBDYW1lbENhc2VPcHRpb25zID0ge1xuICAgIHByZXNlcnZlQ29uc2VjdXRpdmVVcHBlcmNhc2U6IHRydWU7XG59PiA9IFZhbHVlIGV4dGVuZHMgRnVuY3Rpb24gPyBWYWx1ZSA6IFZhbHVlIGV4dGVuZHMgVW5rbm93bkFycmF5ID8gQ2FtZWxDYXNlZFByb3BlcnRpZXNBcnJheURlZXA8VmFsdWU+IDogVmFsdWUgZXh0ZW5kcyBTZXQ8aW5mZXIgVT4gPyBTZXQ8Q2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPFUsIE9wdGlvbnM+PiA6IHtcbiAgICBbSyBpbiBrZXlvZiBWYWx1ZSBhcyBDYW1lbENhc2U8SywgT3B0aW9ucz5dOiBDYW1lbENhc2VkUHJvcGVydGllc0RlZXA8VmFsdWVbS10sIE9wdGlvbnM+O1xufTtcbnR5cGUgQ2FtZWxDYXNlZFByb3BlcnRpZXNBcnJheURlZXA8VmFsdWUgZXh0ZW5kcyBVbmtub3duQXJyYXk+ID0gVmFsdWUgZXh0ZW5kcyBbXSA/IFtdIDogVmFsdWUgZXh0ZW5kcyBbaW5mZXIgVSwgLi4uaW5mZXIgVl0gPyBbQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPFU+LCAuLi5DYW1lbENhc2VkUHJvcGVydGllc0RlZXA8Vj5dIDogVmFsdWUgZXh0ZW5kcyByZWFkb25seSBbaW5mZXIgVSwgLi4uaW5mZXIgVl0gPyByZWFkb25seSBbQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPFU+LCAuLi5DYW1lbENhc2VkUHJvcGVydGllc0RlZXA8Vj5dIDogVmFsdWUgZXh0ZW5kcyByZWFkb25seSBbLi4uaW5mZXIgVSwgaW5mZXIgVl0gPyBbLi4uQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPFU+LCBDYW1lbENhc2VkUHJvcGVydGllc0RlZXA8Vj5dIDogVmFsdWUgZXh0ZW5kcyByZWFkb25seSBbLi4uaW5mZXIgVSwgaW5mZXIgVl0gPyByZWFkb25seSBbLi4uQ2FtZWxDYXNlZFByb3BlcnRpZXNEZWVwPFU+LCBDYW1lbENhc2VkUHJvcGVydGllc0RlZXA8Vj5dIDogVmFsdWUgZXh0ZW5kcyBBcnJheTxpbmZlciBVPiA/IEFycmF5PENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxVPj4gOiBWYWx1ZSBleHRlbmRzIFJlYWRvbmx5QXJyYXk8aW5mZXIgVT4gPyBSZWFkb25seUFycmF5PENhbWVsQ2FzZWRQcm9wZXJ0aWVzRGVlcDxVPj4gOiBuZXZlcjtcbmV4cG9ydCB7fTtcbiJdLCJtYXBwaW5ncyI6IjtBQUFBLElBQUUsWUFBQSxDQUFBLElBQUE7Ozs7QUNDRixJQUFFLFdBQUE7Q0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNGLElBQUksWUFBWTtDQUFDO09BQVc7T0FBTztPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ25DLElBQUUsT0FBQTtDQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7Ozs7QUNERixJQUFFLFdBQUE7Q0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ0YsSUFBVyxtQkFBbUI7Q0FBQztPQUFXO09BQWdCO0NBQUM7QUFDM0QsSUFBRSxZQUFBO0NBQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ0YsSUFBVyxjQUFjO0NBQUM7T0FBVztPQUFTO09BQVM7Q0FBQTtBQUN2RCxJQUFFLGNBQUE7Q0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ0YsSUFBVyxpQkFBaUIsQ0FBQyxXQUFDLFdBQUE7QUFDOUIsSUFBRSxhQUFBLENBQUEsSUFBQTtBQUNGLElBQVcsc0JBQXNCLENBQUMsSUFBSTs7OztBQ1J0QyxJQUFJLGdCQUFnQjtDQUFDO09BQVc7T0FBWTtDQUFLO0FBQ2pELElBQUksc0JBQXNCO0NBQUM7T0FBVztPQUFnQjtPQUFpQjtPQUFnQjtDQUFjO0FBQ3JHLElBQUUsYUFBQTtDQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTs7OztBQ0ZGLElBQUUsbUJBQUEsQ0FBQSxJQUFBO0FBQ0YsSUFBSSxxQkFBZ0I7Q0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtDQUFBO0FBQ3BCLElBQUMsWUFBQTtDQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUE7Ozs7QUNIRCxJQUFFLGVBQUEsQ0FBQSxJQUFBOzs7O0FDRUYsSUFBRSwyQkFBQTtDQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7Q0FBQTtBQUNGLElBQUksZ0NBQWdDO0NBQUM7T0FBVztPQUFNO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO09BQUE7T0FBQTtPQUFBO0NBQUEifQ==
@@ -0,0 +1,4 @@
1
+ require('../types-CKPddlfS.cjs');
2
+ const require_useMessageInterceptor = require('../useMessageInterceptor-arAqUq1Q.cjs');
3
+
4
+ exports.useMessageInterceptor = require_useMessageInterceptor.useMessageInterceptor;
@@ -0,0 +1,20 @@
1
+ import "../index-Bmub8e38.cjs";
2
+ import { Response } from "../index-CiWEYzXl.cjs";
3
+ import "../index-CESxqFso.cjs";
4
+ import "../utils-B3x_9JTY.cjs";
5
+ import "../index-CG3P8xE1.cjs";
6
+ import "../chatElementDisplayLocation-DWmfNX_u.cjs";
7
+ import "../frontendConfig-tVg0hsWZ.cjs";
8
+ import "../test-types-ThQiO_cc.cjs";
9
+ import "../spiffyWidgets-BuS00VaQ.cjs";
10
+ import "../search-y-ioX5Mz.cjs";
11
+ import "../index-Cyq5HiC0.cjs";
12
+ import { MessageInterceptor } from "../types-zQGBI-Yo.cjs";
13
+
14
+ //#region src/interceptors/useMessageInterceptor.d.ts
15
+ declare const useMessageInterceptor: () => {
16
+ intercept: (response?: Response) => boolean | undefined;
17
+ };
18
+ //#endregion
19
+ export { MessageInterceptor, useMessageInterceptor };
20
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC5jdHMiLCJuYW1lcyI6W10sInNvdXJjZXMiOlsiLi4vLi4vc3JjL2ludGVyY2VwdG9ycy91c2VNZXNzYWdlSW50ZXJjZXB0b3IuZC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBSZXNwb25zZSB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzXCI7XG5leHBvcnQgZGVjbGFyZSBjb25zdCB1c2VNZXNzYWdlSW50ZXJjZXB0b3I6ICgpID0+IHtcbiAgICBpbnRlcmNlcHQ6IChyZXNwb25zZT86IFJlc3BvbnNlKSA9PiBib29sZWFuIHwgdW5kZWZpbmVkO1xufTtcbiJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7QUFDQSxJQUFXLHdCQUF3QixDQUFDLFdBQVcsU0FBRyJ9
@@ -0,0 +1,20 @@
1
+ import "../index-C0eAp5f5.js";
2
+ import { Response } from "../index-BVf069X-.js";
3
+ import "../index-vP8BKdxl.js";
4
+ import "../utils-DyTiotQz.js";
5
+ import "../index-DgjDuQl4.js";
6
+ import "../chatElementDisplayLocation-BoE6DEdv.js";
7
+ import "../frontendConfig-CymUbclV.js";
8
+ import "../test-types-DbrKQIqB.js";
9
+ import "../spiffyWidgets-BnkP5kXf.js";
10
+ import "../search-CIrqYYMI.js";
11
+ import "../index-CJc7_j_v.js";
12
+ import { MessageInterceptor } from "../types-Mwm0bS2l.js";
13
+
14
+ //#region src/interceptors/useMessageInterceptor.d.ts
15
+ declare const useMessageInterceptor: () => {
16
+ intercept: (response?: Response) => boolean | undefined;
17
+ };
18
+ //#endregion
19
+ export { MessageInterceptor, useMessageInterceptor };
20
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguZC50cyIsIm5hbWVzIjpbXSwic291cmNlcyI6WyIuLi8uLi9zcmMvaW50ZXJjZXB0b3JzL3VzZU1lc3NhZ2VJbnRlcmNlcHRvci5kLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IFJlc3BvbnNlIH0gZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9tb2RlbHNcIjtcbmV4cG9ydCBkZWNsYXJlIGNvbnN0IHVzZU1lc3NhZ2VJbnRlcmNlcHRvcjogKCkgPT4ge1xuICAgIGludGVyY2VwdDogKHJlc3BvbnNlPzogUmVzcG9uc2UpID0+IGJvb2xlYW4gfCB1bmRlZmluZWQ7XG59O1xuIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7OztBQUNBLElBQVcsd0JBQXdCLENBQUMsV0FBVyxTQUFHIn0=
@@ -0,0 +1,4 @@
1
+ import "../types-Dc6hx6ei.js";
2
+ import { useMessageInterceptor } from "../useMessageInterceptor-BjGP_uXm.js";
3
+
4
+ export { useMessageInterceptor };
@@ -0,0 +1 @@
1
+ require('../types-CKPddlfS.cjs');
@@ -0,0 +1,13 @@
1
+ import "../index-Bmub8e38.cjs";
2
+ import "../index-CiWEYzXl.cjs";
3
+ import "../index-CESxqFso.cjs";
4
+ import "../utils-B3x_9JTY.cjs";
5
+ import "../index-CG3P8xE1.cjs";
6
+ import "../chatElementDisplayLocation-DWmfNX_u.cjs";
7
+ import "../frontendConfig-tVg0hsWZ.cjs";
8
+ import "../test-types-ThQiO_cc.cjs";
9
+ import "../spiffyWidgets-BuS00VaQ.cjs";
10
+ import "../search-y-ioX5Mz.cjs";
11
+ import "../index-Cyq5HiC0.cjs";
12
+ import { MessageInterceptor } from "../types-zQGBI-Yo.cjs";
13
+ export { MessageInterceptor };
@@ -0,0 +1,13 @@
1
+ import "../index-C0eAp5f5.js";
2
+ import "../index-BVf069X-.js";
3
+ import "../index-vP8BKdxl.js";
4
+ import "../utils-DyTiotQz.js";
5
+ import "../index-DgjDuQl4.js";
6
+ import "../chatElementDisplayLocation-BoE6DEdv.js";
7
+ import "../frontendConfig-CymUbclV.js";
8
+ import "../test-types-DbrKQIqB.js";
9
+ import "../spiffyWidgets-BnkP5kXf.js";
10
+ import "../search-CIrqYYMI.js";
11
+ import "../index-CJc7_j_v.js";
12
+ import { MessageInterceptor } from "../types-Mwm0bS2l.js";
13
+ export { MessageInterceptor };
@@ -0,0 +1,3 @@
1
+ import "../types-Dc6hx6ei.js";
2
+
3
+ export { };
@@ -0,0 +1,95 @@
1
+ import { logger_default } from "./logger-W3lqg-4b.js";
2
+ import React, { createContext, useCallback, useContext, useEffect, useMemo } from "react";
3
+ import { jsx } from "react/jsx-runtime";
4
+
5
+ //#region src/contexts/localStorageContext/localStorageContext.tsx
6
+ let LocalStorageKeys = /* @__PURE__ */ function(LocalStorageKeys$1) {
7
+ LocalStorageKeys$1["ChatId"] = "v1-spiffy-chat-session-id";
8
+ LocalStorageKeys$1["SpiffyOnOverride"] = "spiffy_on";
9
+ LocalStorageKeys$1["EnviveOnOverride"] = "envive_on";
10
+ return LocalStorageKeys$1;
11
+ }({});
12
+ const LocalStorageContext = createContext(null);
13
+ const LocalStorageProvider = ({ children }) => {
14
+ const isAvailable = useMemo(() => {
15
+ try {
16
+ return typeof window !== "undefined" && !!window.localStorage;
17
+ } catch {
18
+ return false;
19
+ }
20
+ }, []);
21
+ useEffect(() => {
22
+ if (!isAvailable) logger_default.logError("localStorage is not available", void 0);
23
+ }, [isAvailable]);
24
+ const setItem = useCallback((key, value$1) => {
25
+ if (!isAvailable) return;
26
+ localStorage.setItem(key, value$1);
27
+ window.dispatchEvent(new StorageEvent("storage", {
28
+ key,
29
+ newValue: value$1
30
+ }));
31
+ }, [isAvailable]);
32
+ const getItem = useCallback((key) => {
33
+ if (!isAvailable) return null;
34
+ return localStorage.getItem(key);
35
+ }, [isAvailable]);
36
+ const setSpiffyOnFeatureFlag = useCallback((value$1) => {
37
+ if (!isAvailable) return;
38
+ if (value$1 === true) localStorage.setItem(LocalStorageKeys.SpiffyOnOverride, "true");
39
+ else if (value$1 === false) localStorage.setItem(LocalStorageKeys.SpiffyOnOverride, "false");
40
+ }, [isAvailable]);
41
+ const getSpiffyOnFeatureFlag = useCallback(() => {
42
+ if (!isAvailable) return null;
43
+ return localStorage.getItem(LocalStorageKeys.SpiffyOnOverride);
44
+ }, [isAvailable]);
45
+ const listenersCache = useMemo(() => /* @__PURE__ */ new Map(), []);
46
+ const listenerForKey = useCallback((listener) => {
47
+ if (!listenersCache.has(listener.storageKey)) {
48
+ const handler = (event) => {
49
+ if (event.key !== listener.storageKey) return;
50
+ logger_default.logDebug(`[spiffy-ai] Storage event key=${event.key}, value=`, event.newValue);
51
+ listener.listener(event);
52
+ };
53
+ listenersCache.set(listener.storageKey, handler);
54
+ }
55
+ return listenersCache.get(listener.storageKey);
56
+ }, [listenersCache]);
57
+ const attachListener = useCallback((listener) => {
58
+ if (!isAvailable) return;
59
+ window.addEventListener("storage", listenerForKey(listener));
60
+ }, [isAvailable, listenerForKey]);
61
+ const detachListener = useCallback((listener) => {
62
+ if (!isAvailable) return;
63
+ window.removeEventListener("storage", listenerForKey(listener));
64
+ }, [isAvailable, listenerForKey]);
65
+ const value = useMemo(() => ({
66
+ setItem,
67
+ getItem,
68
+ setSpiffyOnFeatureFlag,
69
+ getSpiffyOnFeatureFlag,
70
+ attachListener,
71
+ detachListener,
72
+ isAvailable
73
+ }), [
74
+ setItem,
75
+ getItem,
76
+ setSpiffyOnFeatureFlag,
77
+ getSpiffyOnFeatureFlag,
78
+ attachListener,
79
+ detachListener,
80
+ isAvailable
81
+ ]);
82
+ return /* @__PURE__ */ jsx(LocalStorageContext.Provider, {
83
+ value,
84
+ children
85
+ });
86
+ };
87
+ const useLocalStorage = () => {
88
+ const context = useContext(LocalStorageContext);
89
+ if (!context) throw new Error("useLocalStorage must be used within a LocalStorageProvider");
90
+ return context;
91
+ };
92
+
93
+ //#endregion
94
+ export { LocalStorageKeys, LocalStorageProvider, useLocalStorage };
95
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9jYWxTdG9yYWdlQ29udGV4dC1CUFo4MnEtRy5qcyIsIm5hbWVzIjpbIkxvY2FsU3RvcmFnZVByb3ZpZGVyOiBSZWFjdC5GQzx7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfT4iLCJ2YWx1ZSJdLCJzb3VyY2VzIjpbIi4uL3NyYy9jb250ZXh0cy9sb2NhbFN0b3JhZ2VDb250ZXh0L2xvY2FsU3RvcmFnZUNvbnRleHQudHN4Il0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBSZWFjdCwge1xuICBjcmVhdGVDb250ZXh0LFxuICB1c2VDb250ZXh0LFxuICB1c2VDYWxsYmFjayxcbiAgdXNlTWVtbyxcbiAgdXNlRWZmZWN0LFxufSBmcm9tIFwicmVhY3RcIjtcbmltcG9ydCBMb2dnZXIgZnJvbSBcInNyYy9hcHBsaWNhdGlvbi9sb2dnaW5nL2xvZ2dlclwiO1xuaW1wb3J0IHsgTG9jYWxTdG9yYWdlRXZlbnRMaXN0ZW5lciB9IGZyb20gXCJzcmMvYXBwbGljYXRpb24vbW9kZWxzL2xvY2FsU3RvcmFnZUV2ZW50TGlzdGVuZXJcIjtcblxuZXhwb3J0IGVudW0gTG9jYWxTdG9yYWdlS2V5cyB7XG4gIENoYXRJZCA9IFwidjEtc3BpZmZ5LWNoYXQtc2Vzc2lvbi1pZFwiLFxuICBTcGlmZnlPbk92ZXJyaWRlID0gXCJzcGlmZnlfb25cIixcbiAgRW52aXZlT25PdmVycmlkZSA9IFwiZW52aXZlX29uXCIsXG59XG5cbmludGVyZmFjZSBMb2NhbFN0b3JhZ2VDb250ZXh0VHlwZSB7XG4gIHNldEl0ZW06IChrZXk6IHN0cmluZywgdmFsdWU6IHN0cmluZykgPT4gdm9pZDtcbiAgZ2V0SXRlbTogKGtleTogc3RyaW5nKSA9PiBzdHJpbmcgfCBudWxsO1xuICBzZXRTcGlmZnlPbkZlYXR1cmVGbGFnOiAodmFsdWU6IGJvb2xlYW4gfCBudWxsKSA9PiB2b2lkO1xuICBnZXRTcGlmZnlPbkZlYXR1cmVGbGFnOiAoKSA9PiBzdHJpbmcgfCBudWxsO1xuICBhdHRhY2hMaXN0ZW5lcjogKGxpc3RlbmVyOiBMb2NhbFN0b3JhZ2VFdmVudExpc3RlbmVyKSA9PiB2b2lkO1xuICBkZXRhY2hMaXN0ZW5lcjogKGxpc3RlbmVyOiBMb2NhbFN0b3JhZ2VFdmVudExpc3RlbmVyKSA9PiB2b2lkO1xuICBpc0F2YWlsYWJsZTogYm9vbGVhbjtcbn1cblxuY29uc3QgTG9jYWxTdG9yYWdlQ29udGV4dCA9IGNyZWF0ZUNvbnRleHQ8TG9jYWxTdG9yYWdlQ29udGV4dFR5cGUgfCBudWxsPihudWxsKTtcblxuZXhwb3J0IGNvbnN0IExvY2FsU3RvcmFnZVByb3ZpZGVyOiBSZWFjdC5GQzx7IGNoaWxkcmVuOiBSZWFjdC5SZWFjdE5vZGUgfT4gPSAoe1xuICBjaGlsZHJlbixcbn0pID0+IHtcbiAgY29uc3QgaXNBdmFpbGFibGUgPSB1c2VNZW1vKCgpID0+IHtcbiAgICB0cnkge1xuICAgICAgcmV0dXJuIHR5cGVvZiB3aW5kb3cgIT09IFwidW5kZWZpbmVkXCIgJiYgISF3aW5kb3cubG9jYWxTdG9yYWdlO1xuICAgIH0gY2F0Y2gge1xuICAgICAgcmV0dXJuIGZhbHNlO1xuICAgIH1cbiAgfSwgW10pO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKCFpc0F2YWlsYWJsZSkge1xuICAgICAgTG9nZ2VyLmxvZ0Vycm9yKFwibG9jYWxTdG9yYWdlIGlzIG5vdCBhdmFpbGFibGVcIiwgdW5kZWZpbmVkKTtcbiAgICB9XG4gIH0sIFtpc0F2YWlsYWJsZV0pO1xuXG4gIGNvbnN0IHNldEl0ZW0gPSB1c2VDYWxsYmFjayhcbiAgICAoa2V5OiBzdHJpbmcsIHZhbHVlOiBzdHJpbmcpID0+IHtcbiAgICAgIGlmICghaXNBdmFpbGFibGUpIHJldHVybjtcbiAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKGtleSwgdmFsdWUpO1xuICAgICAgd2luZG93LmRpc3BhdGNoRXZlbnQoXG4gICAgICAgIG5ldyBTdG9yYWdlRXZlbnQoXCJzdG9yYWdlXCIsIHsga2V5LCBuZXdWYWx1ZTogdmFsdWUgfSlcbiAgICAgICk7XG4gICAgfSxcbiAgICBbaXNBdmFpbGFibGVdXG4gICk7XG5cbiAgY29uc3QgZ2V0SXRlbSA9IHVzZUNhbGxiYWNrKFxuICAgIChrZXk6IHN0cmluZykgPT4ge1xuICAgICAgaWYgKCFpc0F2YWlsYWJsZSkgcmV0dXJuIG51bGw7XG4gICAgICByZXR1cm4gbG9jYWxTdG9yYWdlLmdldEl0ZW0oa2V5KTtcbiAgICB9LFxuICAgIFtpc0F2YWlsYWJsZV1cbiAgKTtcblxuICBjb25zdCBzZXRTcGlmZnlPbkZlYXR1cmVGbGFnID0gdXNlQ2FsbGJhY2soXG4gICAgKHZhbHVlOiBib29sZWFuIHwgbnVsbCk6IHZvaWQgPT4ge1xuICAgICAgaWYgKCFpc0F2YWlsYWJsZSkgcmV0dXJuO1xuICAgICAgaWYgKHZhbHVlID09PSB0cnVlKSB7XG4gICAgICAgIGxvY2FsU3RvcmFnZS5zZXRJdGVtKExvY2FsU3RvcmFnZUtleXMuU3BpZmZ5T25PdmVycmlkZSwgXCJ0cnVlXCIpO1xuICAgICAgfSBlbHNlIGlmICh2YWx1ZSA9PT0gZmFsc2UpIHtcbiAgICAgICAgbG9jYWxTdG9yYWdlLnNldEl0ZW0oTG9jYWxTdG9yYWdlS2V5cy5TcGlmZnlPbk92ZXJyaWRlLCBcImZhbHNlXCIpO1xuICAgICAgfVxuICAgIH0sXG4gICAgW2lzQXZhaWxhYmxlXVxuICApO1xuXG4gIGNvbnN0IGdldFNwaWZmeU9uRmVhdHVyZUZsYWcgPSB1c2VDYWxsYmFjaygoKTogc3RyaW5nIHwgbnVsbCA9PiB7XG4gICAgaWYgKCFpc0F2YWlsYWJsZSkgcmV0dXJuIG51bGw7XG4gICAgcmV0dXJuIGxvY2FsU3RvcmFnZS5nZXRJdGVtKExvY2FsU3RvcmFnZUtleXMuU3BpZmZ5T25PdmVycmlkZSk7XG4gIH0sIFtpc0F2YWlsYWJsZV0pO1xuXG4gIGNvbnN0IGxpc3RlbmVyc0NhY2hlID0gdXNlTWVtbyhcbiAgICAoKSA9PiBuZXcgTWFwPHN0cmluZywgKGV2ZW50OiBTdG9yYWdlRXZlbnQpID0+IHZvaWQ+KCksXG4gICAgW11cbiAgKTtcblxuICBjb25zdCBsaXN0ZW5lckZvcktleSA9IHVzZUNhbGxiYWNrKFxuICAgIChsaXN0ZW5lcjogTG9jYWxTdG9yYWdlRXZlbnRMaXN0ZW5lcik6ICgoZXZlbnQ6IFN0b3JhZ2VFdmVudCkgPT4gdm9pZCkgPT4ge1xuICAgICAgaWYgKCFsaXN0ZW5lcnNDYWNoZS5oYXMobGlzdGVuZXIuc3RvcmFnZUtleSkpIHtcbiAgICAgICAgY29uc3QgaGFuZGxlciA9IChldmVudDogU3RvcmFnZUV2ZW50KSA9PiB7XG4gICAgICAgICAgaWYgKGV2ZW50LmtleSAhPT0gbGlzdGVuZXIuc3RvcmFnZUtleSkge1xuICAgICAgICAgICAgcmV0dXJuO1xuICAgICAgICAgIH1cbiAgICAgICAgICBMb2dnZXIubG9nRGVidWcoXG4gICAgICAgICAgICBgW3NwaWZmeS1haV0gU3RvcmFnZSBldmVudCBrZXk9JHtldmVudC5rZXl9LCB2YWx1ZT1gLFxuICAgICAgICAgICAgZXZlbnQubmV3VmFsdWVcbiAgICAgICAgICApO1xuICAgICAgICAgIGxpc3RlbmVyLmxpc3RlbmVyKGV2ZW50KTtcbiAgICAgICAgfTtcbiAgICAgICAgbGlzdGVuZXJzQ2FjaGUuc2V0KGxpc3RlbmVyLnN0b3JhZ2VLZXksIGhhbmRsZXIpO1xuICAgICAgfVxuICAgICAgcmV0dXJuIGxpc3RlbmVyc0NhY2hlLmdldChsaXN0ZW5lci5zdG9yYWdlS2V5KSE7XG4gICAgfSxcbiAgICBbbGlzdGVuZXJzQ2FjaGVdXG4gICk7XG5cbiAgY29uc3QgYXR0YWNoTGlzdGVuZXIgPSB1c2VDYWxsYmFjayhcbiAgICAobGlzdGVuZXI6IExvY2FsU3RvcmFnZUV2ZW50TGlzdGVuZXIpOiB2b2lkID0+IHtcbiAgICAgIGlmICghaXNBdmFpbGFibGUpIHJldHVybjtcbiAgICAgIHdpbmRvdy5hZGRFdmVudExpc3RlbmVyKFwic3RvcmFnZVwiLCBsaXN0ZW5lckZvcktleShsaXN0ZW5lcikpO1xuICAgIH0sXG4gICAgW2lzQXZhaWxhYmxlLCBsaXN0ZW5lckZvcktleV1cbiAgKTtcblxuICBjb25zdCBkZXRhY2hMaXN0ZW5lciA9IHVzZUNhbGxiYWNrKFxuICAgIChsaXN0ZW5lcjogTG9jYWxTdG9yYWdlRXZlbnRMaXN0ZW5lcik6IHZvaWQgPT4ge1xuICAgICAgaWYgKCFpc0F2YWlsYWJsZSkgcmV0dXJuO1xuICAgICAgd2luZG93LnJlbW92ZUV2ZW50TGlzdGVuZXIoXCJzdG9yYWdlXCIsIGxpc3RlbmVyRm9yS2V5KGxpc3RlbmVyKSk7XG4gICAgfSxcbiAgICBbaXNBdmFpbGFibGUsIGxpc3RlbmVyRm9yS2V5XVxuICApO1xuXG4gIGNvbnN0IHZhbHVlID0gdXNlTWVtbyhcbiAgICAoKSA9PiAoe1xuICAgICAgc2V0SXRlbSxcbiAgICAgIGdldEl0ZW0sXG4gICAgICBzZXRTcGlmZnlPbkZlYXR1cmVGbGFnLFxuICAgICAgZ2V0U3BpZmZ5T25GZWF0dXJlRmxhZyxcbiAgICAgIGF0dGFjaExpc3RlbmVyLFxuICAgICAgZGV0YWNoTGlzdGVuZXIsXG4gICAgICBpc0F2YWlsYWJsZSxcbiAgICB9KSxcbiAgICBbXG4gICAgICBzZXRJdGVtLFxuICAgICAgZ2V0SXRlbSxcbiAgICAgIHNldFNwaWZmeU9uRmVhdHVyZUZsYWcsXG4gICAgICBnZXRTcGlmZnlPbkZlYXR1cmVGbGFnLFxuICAgICAgYXR0YWNoTGlzdGVuZXIsXG4gICAgICBkZXRhY2hMaXN0ZW5lcixcbiAgICAgIGlzQXZhaWxhYmxlLFxuICAgIF1cbiAgKTtcblxuICByZXR1cm4gKFxuICAgIDxMb2NhbFN0b3JhZ2VDb250ZXh0LlByb3ZpZGVyIHZhbHVlPXt2YWx1ZX0+XG4gICAgICB7Y2hpbGRyZW59XG4gICAgPC9Mb2NhbFN0b3JhZ2VDb250ZXh0LlByb3ZpZGVyPlxuICApO1xufTtcblxuZXhwb3J0IGNvbnN0IHVzZUxvY2FsU3RvcmFnZSA9ICgpID0+IHtcbiAgY29uc3QgY29udGV4dCA9IHVzZUNvbnRleHQoTG9jYWxTdG9yYWdlQ29udGV4dCk7XG4gIGlmICghY29udGV4dCkge1xuICAgIHRocm93IG5ldyBFcnJvcihcbiAgICAgIFwidXNlTG9jYWxTdG9yYWdlIG11c3QgYmUgdXNlZCB3aXRoaW4gYSBMb2NhbFN0b3JhZ2VQcm92aWRlclwiXG4gICAgKTtcbiAgfVxuICByZXR1cm4gY29udGV4dDtcbn07XG4iXSwibWFwcGluZ3MiOiI7Ozs7O0FBVUEsSUFBWSxnRUFBTDtBQUNMO0FBQ0E7QUFDQTs7O0FBYUYsTUFBTSxzQkFBc0IsY0FBOEMsS0FBSztBQUUvRSxNQUFhQSx3QkFBaUUsRUFDNUUsZUFDSTtDQUNKLE1BQU0sY0FBYyxjQUFjO0FBQ2hDLE1BQUk7QUFDRixVQUFPLE9BQU8sV0FBVyxlQUFlLENBQUMsQ0FBQyxPQUFPO1VBQzNDO0FBQ04sVUFBTzs7SUFFUixFQUFFLENBQUM7QUFFTixpQkFBZ0I7QUFDZCxNQUFJLENBQUMsWUFDSCxnQkFBTyxTQUFTLGlDQUFpQyxPQUFVO0lBRTVELENBQUMsWUFBWSxDQUFDO0NBRWpCLE1BQU0sVUFBVSxhQUNiLEtBQWEsWUFBa0I7QUFDOUIsTUFBSSxDQUFDLFlBQWE7QUFDbEIsZUFBYSxRQUFRLEtBQUtDLFFBQU07QUFDaEMsU0FBTyxjQUNMLElBQUksYUFBYSxXQUFXO0dBQUU7R0FBSyxVQUFVQTtHQUFPLENBQUMsQ0FDdEQ7SUFFSCxDQUFDLFlBQVksQ0FDZDtDQUVELE1BQU0sVUFBVSxhQUNiLFFBQWdCO0FBQ2YsTUFBSSxDQUFDLFlBQWEsUUFBTztBQUN6QixTQUFPLGFBQWEsUUFBUSxJQUFJO0lBRWxDLENBQUMsWUFBWSxDQUNkO0NBRUQsTUFBTSx5QkFBeUIsYUFDNUIsWUFBZ0M7QUFDL0IsTUFBSSxDQUFDLFlBQWE7QUFDbEIsTUFBSUEsWUFBVSxLQUNaLGNBQWEsUUFBUSxpQkFBaUIsa0JBQWtCLE9BQU87V0FDdERBLFlBQVUsTUFDbkIsY0FBYSxRQUFRLGlCQUFpQixrQkFBa0IsUUFBUTtJQUdwRSxDQUFDLFlBQVksQ0FDZDtDQUVELE1BQU0seUJBQXlCLGtCQUFpQztBQUM5RCxNQUFJLENBQUMsWUFBYSxRQUFPO0FBQ3pCLFNBQU8sYUFBYSxRQUFRLGlCQUFpQixpQkFBaUI7SUFDN0QsQ0FBQyxZQUFZLENBQUM7Q0FFakIsTUFBTSxpQkFBaUIsOEJBQ2YsSUFBSSxLQUE0QyxFQUN0RCxFQUFFLENBQ0g7Q0FFRCxNQUFNLGlCQUFpQixhQUNwQixhQUF5RTtBQUN4RSxNQUFJLENBQUMsZUFBZSxJQUFJLFNBQVMsV0FBVyxFQUFFO0dBQzVDLE1BQU0sV0FBVyxVQUF3QjtBQUN2QyxRQUFJLE1BQU0sUUFBUSxTQUFTLFdBQ3pCO0FBRUYsbUJBQU8sU0FDTCxpQ0FBaUMsTUFBTSxJQUFJLFdBQzNDLE1BQU0sU0FDUDtBQUNELGFBQVMsU0FBUyxNQUFNOztBQUUxQixrQkFBZSxJQUFJLFNBQVMsWUFBWSxRQUFROztBQUVsRCxTQUFPLGVBQWUsSUFBSSxTQUFTLFdBQVc7SUFFaEQsQ0FBQyxlQUFlLENBQ2pCO0NBRUQsTUFBTSxpQkFBaUIsYUFDcEIsYUFBOEM7QUFDN0MsTUFBSSxDQUFDLFlBQWE7QUFDbEIsU0FBTyxpQkFBaUIsV0FBVyxlQUFlLFNBQVMsQ0FBQztJQUU5RCxDQUFDLGFBQWEsZUFBZSxDQUM5QjtDQUVELE1BQU0saUJBQWlCLGFBQ3BCLGFBQThDO0FBQzdDLE1BQUksQ0FBQyxZQUFhO0FBQ2xCLFNBQU8sb0JBQW9CLFdBQVcsZUFBZSxTQUFTLENBQUM7SUFFakUsQ0FBQyxhQUFhLGVBQWUsQ0FDOUI7Q0FFRCxNQUFNLFFBQVEsZUFDTDtFQUNMO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0QsR0FDRDtFQUNFO0VBQ0E7RUFDQTtFQUNBO0VBQ0E7RUFDQTtFQUNBO0VBQ0QsQ0FDRjtBQUVELFFBQ0Usb0JBQUMsb0JBQW9CO0VBQWdCO0VBQ2xDO0dBQzRCOztBQUluQyxNQUFhLHdCQUF3QjtDQUNuQyxNQUFNLFVBQVUsV0FBVyxvQkFBb0I7QUFDL0MsS0FBSSxDQUFDLFFBQ0gsT0FBTSxJQUFJLE1BQ1IsNkRBQ0Q7QUFFSCxRQUFPIn0=