angulartics2 10.1.0 → 12.1.0

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 (385) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +7 -8
  3. package/angular-router.d.ts +3 -0
  4. package/angulartics2-core.d.ts +3 -0
  5. package/angulartics2.d.ts +1 -0
  6. package/angulartics2.module.d.ts +5 -0
  7. package/angulartics2On.d.ts +6 -0
  8. package/esm2020/angular-router.mjs +33 -0
  9. package/esm2020/angulartics2-config.mjs +19 -0
  10. package/esm2020/angulartics2-core.mjs +93 -0
  11. package/esm2020/angulartics2-interfaces.mjs +2 -0
  12. package/esm2020/angulartics2-token.mjs +3 -0
  13. package/esm2020/angulartics2.mjs +5 -0
  14. package/{esm2015/angulartics2.module.js → esm2020/angulartics2.module.mjs} +12 -7
  15. package/esm2020/angulartics2On.mjs +66 -0
  16. package/esm2020/providers/adobeanalytics/adobeanalytics.mjs +98 -0
  17. package/esm2020/providers/amplitude/amplitude.mjs +68 -0
  18. package/esm2020/providers/appinsights/appinsights.mjs +118 -0
  19. package/esm2020/providers/baidu/baidu.mjs +81 -0
  20. package/{clicky/esm2015/clicky.interfaces.js → esm2020/providers/clicky/clicky.interfaces.mjs} +1 -0
  21. package/esm2020/providers/clicky/clicky.mjs +64 -0
  22. package/esm2020/providers/facebook/facebook.mjs +45 -0
  23. package/esm2020/providers/ga/ga.mjs +219 -0
  24. package/{ga-enhanced-ecom/esm2015/ga-enhanced-ecom-options.js → esm2020/providers/ga-enhanced-ecom/ga-enhanced-ecom-options.mjs} +1 -0
  25. package/esm2020/providers/ga-enhanced-ecom/ga-enhanced-ecom.mjs +32 -0
  26. package/esm2020/providers/gosquared/gosquared.mjs +55 -0
  27. package/{gst/esm2015/gst-interfaces.js → esm2020/providers/gst/gst-interfaces.mjs} +1 -0
  28. package/esm2020/providers/gst/gst.mjs +197 -0
  29. package/esm2020/providers/gtm/gtm.mjs +114 -0
  30. package/esm2020/providers/hubspot/hubspot.mjs +40 -0
  31. package/esm2020/providers/ibm-digital-analytics/ibm-digital-analytics.mjs +125 -0
  32. package/esm2020/providers/intercom/intercom.mjs +60 -0
  33. package/esm2020/providers/kissmetrics/kissmetrics.mjs +40 -0
  34. package/esm2020/providers/launch/launch.mjs +59 -0
  35. package/esm2020/providers/matomo/matomo.mjs +303 -0
  36. package/esm2020/providers/mixpanel/mixpanel.mjs +109 -0
  37. package/esm2020/providers/pyze/pyze.mjs +65 -0
  38. package/esm2020/providers/segment/segment.mjs +100 -0
  39. package/esm2020/providers/splunk/splunk.mjs +46 -0
  40. package/esm2020/providers/woopra/woopra.mjs +61 -0
  41. package/esm2020/public_api.mjs +32 -0
  42. package/esm2020/routerless.mjs +10 -0
  43. package/esm2020/routerless.module.mjs +28 -0
  44. package/fesm2015/angulartics2.mjs +2248 -0
  45. package/fesm2015/angulartics2.mjs.map +1 -0
  46. package/fesm2020/angulartics2.mjs +2294 -0
  47. package/fesm2020/angulartics2.mjs.map +1 -0
  48. package/package.json +26 -13
  49. package/{adobeanalytics → providers/adobeanalytics}/README.md +1 -1
  50. package/{adobeanalytics → providers/adobeanalytics}/adobeanalytics.d.ts +4 -1
  51. package/{amplitude → providers/amplitude}/README.md +1 -1
  52. package/{amplitude → providers/amplitude}/amplitude.d.ts +4 -1
  53. package/{appinsights → providers/appinsights}/README.md +1 -1
  54. package/{appinsights → providers/appinsights}/appinsights.d.ts +5 -1
  55. package/{baidu → providers/baidu}/README.md +1 -1
  56. package/{baidu → providers/baidu}/baidu.d.ts +4 -1
  57. package/{clicky → providers/clicky}/README.md +1 -1
  58. package/{clicky → providers/clicky}/clicky.d.ts +4 -1
  59. package/{clicky → providers/clicky}/clicky.interfaces.d.ts +0 -0
  60. package/{facebook → providers/facebook}/README.md +1 -1
  61. package/{facebook → providers/facebook}/facebook.d.ts +4 -1
  62. package/{ga → providers/ga}/README.md +1 -1
  63. package/{ga → providers/ga}/ga.d.ts +6 -1
  64. package/{ga-enhanced-ecom → providers/ga-enhanced-ecom}/README.md +1 -1
  65. package/{ga-enhanced-ecom → providers/ga-enhanced-ecom}/ga-enhanced-ecom-options.d.ts +0 -0
  66. package/{ga-enhanced-ecom → providers/ga-enhanced-ecom}/ga-enhanced-ecom.d.ts +3 -0
  67. package/{gosquared → providers/gosquared}/README.md +1 -1
  68. package/{gosquared → providers/gosquared}/gosquared.d.ts +4 -1
  69. package/{gst → providers/gst}/README.md +2 -2
  70. package/{gst → providers/gst}/gst-interfaces.d.ts +0 -0
  71. package/{gst → providers/gst}/gst.d.ts +5 -1
  72. package/{gtm → providers/gtm}/README.md +2 -2
  73. package/{gtm → providers/gtm}/gtm.d.ts +5 -1
  74. package/{hubspot → providers/hubspot}/README.md +1 -1
  75. package/{hubspot → providers/hubspot}/hubspot.d.ts +4 -1
  76. package/{ibm-digital-analytics → providers/ibm-digital-analytics}/README.md +2 -2
  77. package/{ibm-digital-analytics → providers/ibm-digital-analytics}/ibm-digital-analytics.d.ts +4 -1
  78. package/{intercom → providers/intercom}/README.md +1 -1
  79. package/{intercom → providers/intercom}/intercom.d.ts +4 -1
  80. package/{kissmetrics → providers/kissmetrics}/README.md +1 -1
  81. package/{kissmetrics → providers/kissmetrics}/kissmetrics.d.ts +4 -1
  82. package/{launch → providers/launch}/README.md +3 -3
  83. package/{launch → providers/launch}/launch.d.ts +4 -1
  84. package/{matomo → providers/matomo}/README.md +3 -3
  85. package/{matomo → providers/matomo}/matomo.d.ts +9 -6
  86. package/{mixpanel → providers/mixpanel}/README.md +2 -2
  87. package/{mixpanel → providers/mixpanel}/mixpanel.d.ts +4 -1
  88. package/{pyze → providers/pyze}/README.md +1 -1
  89. package/providers/pyze/pyze.d.ts +13 -0
  90. package/{segment → providers/segment}/README.md +3 -3
  91. package/{segment → providers/segment}/segment.d.ts +4 -1
  92. package/{splunk → providers/splunk}/README.md +2 -2
  93. package/providers/splunk/splunk.d.ts +11 -0
  94. package/{woopra → providers/woopra}/README.md +1 -1
  95. package/{woopra → providers/woopra}/woopra.d.ts +4 -1
  96. package/public_api.d.ts +23 -0
  97. package/routerless.module.d.ts +10 -0
  98. package/adobeanalytics/angulartics2-adobeanalytics.d.ts +0 -4
  99. package/adobeanalytics/angulartics2-adobeanalytics.metadata.json +0 -1
  100. package/adobeanalytics/bundles/angulartics2-adobeanalytics.umd.js +0 -116
  101. package/adobeanalytics/bundles/angulartics2-adobeanalytics.umd.js.map +0 -1
  102. package/adobeanalytics/bundles/angulartics2-adobeanalytics.umd.min.js +0 -2
  103. package/adobeanalytics/bundles/angulartics2-adobeanalytics.umd.min.js.map +0 -1
  104. package/adobeanalytics/esm2015/adobeanalytics.js +0 -103
  105. package/adobeanalytics/esm2015/angulartics2-adobeanalytics.js +0 -5
  106. package/adobeanalytics/fesm2015/angulartics2-adobeanalytics.js +0 -107
  107. package/adobeanalytics/fesm2015/angulartics2-adobeanalytics.js.map +0 -1
  108. package/adobeanalytics/package.json +0 -20
  109. package/amplitude/angulartics2-amplitude.d.ts +0 -4
  110. package/amplitude/angulartics2-amplitude.metadata.json +0 -1
  111. package/amplitude/bundles/angulartics2-amplitude.umd.js +0 -88
  112. package/amplitude/bundles/angulartics2-amplitude.umd.js.map +0 -1
  113. package/amplitude/bundles/angulartics2-amplitude.umd.min.js +0 -2
  114. package/amplitude/bundles/angulartics2-amplitude.umd.min.js.map +0 -1
  115. package/amplitude/esm2015/amplitude.js +0 -73
  116. package/amplitude/esm2015/angulartics2-amplitude.js +0 -5
  117. package/amplitude/fesm2015/angulartics2-amplitude.js +0 -78
  118. package/amplitude/fesm2015/angulartics2-amplitude.js.map +0 -1
  119. package/amplitude/package.json +0 -20
  120. package/angulartics2.metadata.json +0 -1
  121. package/appinsights/angulartics2-appinsights.d.ts +0 -4
  122. package/appinsights/angulartics2-appinsights.metadata.json +0 -1
  123. package/appinsights/bundles/angulartics2-appinsights.umd.js +0 -134
  124. package/appinsights/bundles/angulartics2-appinsights.umd.js.map +0 -1
  125. package/appinsights/bundles/angulartics2-appinsights.umd.min.js +0 -2
  126. package/appinsights/bundles/angulartics2-appinsights.umd.min.js.map +0 -1
  127. package/appinsights/esm2015/angulartics2-appinsights.js +0 -5
  128. package/appinsights/esm2015/appinsights.js +0 -122
  129. package/appinsights/fesm2015/angulartics2-appinsights.js +0 -125
  130. package/appinsights/fesm2015/angulartics2-appinsights.js.map +0 -1
  131. package/appinsights/package.json +0 -20
  132. package/baidu/angulartics2-baidu.d.ts +0 -4
  133. package/baidu/angulartics2-baidu.metadata.json +0 -1
  134. package/baidu/bundles/angulartics2-baidu.umd.js +0 -98
  135. package/baidu/bundles/angulartics2-baidu.umd.js.map +0 -1
  136. package/baidu/bundles/angulartics2-baidu.umd.min.js +0 -2
  137. package/baidu/bundles/angulartics2-baidu.umd.min.js.map +0 -1
  138. package/baidu/esm2015/angulartics2-baidu.js +0 -5
  139. package/baidu/esm2015/baidu.js +0 -83
  140. package/baidu/fesm2015/angulartics2-baidu.js +0 -88
  141. package/baidu/fesm2015/angulartics2-baidu.js.map +0 -1
  142. package/baidu/package.json +0 -20
  143. package/bundles/angulartics2.umd.js +0 -564
  144. package/bundles/angulartics2.umd.js.map +0 -1
  145. package/bundles/angulartics2.umd.min.js +0 -16
  146. package/bundles/angulartics2.umd.min.js.map +0 -1
  147. package/clicky/angulartics2-clicky.d.ts +0 -4
  148. package/clicky/angulartics2-clicky.metadata.json +0 -1
  149. package/clicky/bundles/angulartics2-clicky.umd.js +0 -80
  150. package/clicky/bundles/angulartics2-clicky.umd.js.map +0 -1
  151. package/clicky/bundles/angulartics2-clicky.umd.min.js +0 -2
  152. package/clicky/bundles/angulartics2-clicky.umd.min.js.map +0 -1
  153. package/clicky/esm2015/angulartics2-clicky.js +0 -5
  154. package/clicky/esm2015/clicky.js +0 -68
  155. package/clicky/fesm2015/angulartics2-clicky.js +0 -72
  156. package/clicky/fesm2015/angulartics2-clicky.js.map +0 -1
  157. package/clicky/package.json +0 -20
  158. package/esm2015/angular-router.js +0 -36
  159. package/esm2015/angulartics2-config.js +0 -19
  160. package/esm2015/angulartics2-core.js +0 -89
  161. package/esm2015/angulartics2-interfaces.js +0 -1
  162. package/esm2015/angulartics2-token.js +0 -3
  163. package/esm2015/angulartics2.js +0 -5
  164. package/esm2015/angulartics2On.js +0 -55
  165. package/esm2015/public_api.js +0 -9
  166. package/esm2015/routerless.js +0 -10
  167. package/facebook/angulartics2-facebook.d.ts +0 -4
  168. package/facebook/angulartics2-facebook.metadata.json +0 -1
  169. package/facebook/bundles/angulartics2-facebook.umd.js +0 -62
  170. package/facebook/bundles/angulartics2-facebook.umd.js.map +0 -1
  171. package/facebook/bundles/angulartics2-facebook.umd.min.js +0 -2
  172. package/facebook/bundles/angulartics2-facebook.umd.min.js.map +0 -1
  173. package/facebook/esm2015/angulartics2-facebook.js +0 -5
  174. package/facebook/esm2015/facebook.js +0 -47
  175. package/facebook/fesm2015/angulartics2-facebook.js +0 -52
  176. package/facebook/fesm2015/angulartics2-facebook.js.map +0 -1
  177. package/facebook/package.json +0 -20
  178. package/fesm2015/angulartics2.js +0 -223
  179. package/fesm2015/angulartics2.js.map +0 -1
  180. package/ga/angulartics2-ga.d.ts +0 -4
  181. package/ga/angulartics2-ga.metadata.json +0 -1
  182. package/ga/bundles/angulartics2-ga.umd.js +0 -600
  183. package/ga/bundles/angulartics2-ga.umd.js.map +0 -1
  184. package/ga/bundles/angulartics2-ga.umd.min.js +0 -16
  185. package/ga/bundles/angulartics2-ga.umd.min.js.map +0 -1
  186. package/ga/esm2015/angulartics2-ga.js +0 -5
  187. package/ga/esm2015/ga.js +0 -207
  188. package/ga/fesm2015/angulartics2-ga.js +0 -212
  189. package/ga/fesm2015/angulartics2-ga.js.map +0 -1
  190. package/ga/package.json +0 -20
  191. package/ga-enhanced-ecom/angulartics2-ga-enhanced-ecom.d.ts +0 -4
  192. package/ga-enhanced-ecom/angulartics2-ga-enhanced-ecom.metadata.json +0 -1
  193. package/ga-enhanced-ecom/bundles/angulartics2-ga-enhanced-ecom.umd.js +0 -47
  194. package/ga-enhanced-ecom/bundles/angulartics2-ga-enhanced-ecom.umd.js.map +0 -1
  195. package/ga-enhanced-ecom/bundles/angulartics2-ga-enhanced-ecom.umd.min.js +0 -2
  196. package/ga-enhanced-ecom/bundles/angulartics2-ga-enhanced-ecom.umd.min.js.map +0 -1
  197. package/ga-enhanced-ecom/esm2015/angulartics2-ga-enhanced-ecom.js +0 -5
  198. package/ga-enhanced-ecom/esm2015/ga-enhanced-ecom.js +0 -30
  199. package/ga-enhanced-ecom/fesm2015/angulartics2-ga-enhanced-ecom.js +0 -36
  200. package/ga-enhanced-ecom/fesm2015/angulartics2-ga-enhanced-ecom.js.map +0 -1
  201. package/ga-enhanced-ecom/package.json +0 -20
  202. package/gosquared/angulartics2-gosquared.d.ts +0 -4
  203. package/gosquared/angulartics2-gosquared.metadata.json +0 -1
  204. package/gosquared/bundles/angulartics2-gosquared.umd.js +0 -72
  205. package/gosquared/bundles/angulartics2-gosquared.umd.js.map +0 -1
  206. package/gosquared/bundles/angulartics2-gosquared.umd.min.js +0 -2
  207. package/gosquared/bundles/angulartics2-gosquared.umd.min.js.map +0 -1
  208. package/gosquared/esm2015/angulartics2-gosquared.js +0 -5
  209. package/gosquared/esm2015/gosquared.js +0 -57
  210. package/gosquared/fesm2015/angulartics2-gosquared.js +0 -62
  211. package/gosquared/fesm2015/angulartics2-gosquared.js.map +0 -1
  212. package/gosquared/package.json +0 -20
  213. package/gst/angulartics2-gst.d.ts +0 -4
  214. package/gst/angulartics2-gst.metadata.json +0 -1
  215. package/gst/bundles/angulartics2-gst.umd.js +0 -514
  216. package/gst/bundles/angulartics2-gst.umd.js.map +0 -1
  217. package/gst/bundles/angulartics2-gst.umd.min.js +0 -16
  218. package/gst/bundles/angulartics2-gst.umd.min.js.map +0 -1
  219. package/gst/esm2015/angulartics2-gst.js +0 -5
  220. package/gst/esm2015/gst.js +0 -182
  221. package/gst/fesm2015/angulartics2-gst.js +0 -187
  222. package/gst/fesm2015/angulartics2-gst.js.map +0 -1
  223. package/gst/package.json +0 -20
  224. package/gtm/angulartics2-gtm.d.ts +0 -4
  225. package/gtm/angulartics2-gtm.metadata.json +0 -1
  226. package/gtm/bundles/angulartics2-gtm.umd.js +0 -125
  227. package/gtm/bundles/angulartics2-gtm.umd.js.map +0 -1
  228. package/gtm/bundles/angulartics2-gtm.umd.min.js +0 -2
  229. package/gtm/bundles/angulartics2-gtm.umd.min.js.map +0 -1
  230. package/gtm/esm2015/angulartics2-gtm.js +0 -5
  231. package/gtm/esm2015/gtm.js +0 -108
  232. package/gtm/fesm2015/angulartics2-gtm.js +0 -113
  233. package/gtm/fesm2015/angulartics2-gtm.js.map +0 -1
  234. package/gtm/package.json +0 -20
  235. package/hubspot/angulartics2-hubspot.d.ts +0 -4
  236. package/hubspot/angulartics2-hubspot.metadata.json +0 -1
  237. package/hubspot/bundles/angulartics2-hubspot.umd.js +0 -58
  238. package/hubspot/bundles/angulartics2-hubspot.umd.js.map +0 -1
  239. package/hubspot/bundles/angulartics2-hubspot.umd.min.js +0 -2
  240. package/hubspot/bundles/angulartics2-hubspot.umd.min.js.map +0 -1
  241. package/hubspot/esm2015/angulartics2-hubspot.js +0 -5
  242. package/hubspot/esm2015/hubspot.js +0 -43
  243. package/hubspot/fesm2015/angulartics2-hubspot.js +0 -48
  244. package/hubspot/fesm2015/angulartics2-hubspot.js.map +0 -1
  245. package/hubspot/package.json +0 -20
  246. package/ibm-digital-analytics/angulartics2-ibm-digital-analytics.d.ts +0 -4
  247. package/ibm-digital-analytics/angulartics2-ibm-digital-analytics.metadata.json +0 -1
  248. package/ibm-digital-analytics/bundles/angulartics2-ibm-digital-analytics.umd.js +0 -142
  249. package/ibm-digital-analytics/bundles/angulartics2-ibm-digital-analytics.umd.js.map +0 -1
  250. package/ibm-digital-analytics/bundles/angulartics2-ibm-digital-analytics.umd.min.js +0 -2
  251. package/ibm-digital-analytics/bundles/angulartics2-ibm-digital-analytics.umd.min.js.map +0 -1
  252. package/ibm-digital-analytics/esm2015/angulartics2-ibm-digital-analytics.js +0 -5
  253. package/ibm-digital-analytics/esm2015/ibm-digital-analytics.js +0 -127
  254. package/ibm-digital-analytics/fesm2015/angulartics2-ibm-digital-analytics.js +0 -132
  255. package/ibm-digital-analytics/fesm2015/angulartics2-ibm-digital-analytics.js.map +0 -1
  256. package/ibm-digital-analytics/package.json +0 -20
  257. package/intercom/angulartics2-intercom.d.ts +0 -4
  258. package/intercom/angulartics2-intercom.metadata.json +0 -1
  259. package/intercom/bundles/angulartics2-intercom.umd.js +0 -79
  260. package/intercom/bundles/angulartics2-intercom.umd.js.map +0 -1
  261. package/intercom/bundles/angulartics2-intercom.umd.min.js +0 -2
  262. package/intercom/bundles/angulartics2-intercom.umd.min.js.map +0 -1
  263. package/intercom/esm2015/angulartics2-intercom.js +0 -5
  264. package/intercom/esm2015/intercom.js +0 -64
  265. package/intercom/fesm2015/angulartics2-intercom.js +0 -69
  266. package/intercom/fesm2015/angulartics2-intercom.js.map +0 -1
  267. package/intercom/package.json +0 -20
  268. package/kissmetrics/angulartics2-kissmetrics.d.ts +0 -4
  269. package/kissmetrics/angulartics2-kissmetrics.metadata.json +0 -1
  270. package/kissmetrics/bundles/angulartics2-kissmetrics.umd.js +0 -59
  271. package/kissmetrics/bundles/angulartics2-kissmetrics.umd.js.map +0 -1
  272. package/kissmetrics/bundles/angulartics2-kissmetrics.umd.min.js +0 -2
  273. package/kissmetrics/bundles/angulartics2-kissmetrics.umd.min.js.map +0 -1
  274. package/kissmetrics/esm2015/angulartics2-kissmetrics.js +0 -5
  275. package/kissmetrics/esm2015/kissmetrics.js +0 -44
  276. package/kissmetrics/fesm2015/angulartics2-kissmetrics.js +0 -49
  277. package/kissmetrics/fesm2015/angulartics2-kissmetrics.js.map +0 -1
  278. package/kissmetrics/package.json +0 -23
  279. package/launch/angulartics2-launch.d.ts +0 -4
  280. package/launch/angulartics2-launch.metadata.json +0 -1
  281. package/launch/bundles/angulartics2-launch.umd.js +0 -78
  282. package/launch/bundles/angulartics2-launch.umd.js.map +0 -1
  283. package/launch/bundles/angulartics2-launch.umd.min.js +0 -2
  284. package/launch/bundles/angulartics2-launch.umd.min.js.map +0 -1
  285. package/launch/esm2015/angulartics2-launch.js +0 -5
  286. package/launch/esm2015/launch.js +0 -63
  287. package/launch/fesm2015/angulartics2-launch.js +0 -68
  288. package/launch/fesm2015/angulartics2-launch.js.map +0 -1
  289. package/launch/package.json +0 -20
  290. package/matomo/angulartics2-matomo.d.ts +0 -4
  291. package/matomo/angulartics2-matomo.metadata.json +0 -1
  292. package/matomo/bundles/angulartics2-matomo.umd.js +0 -309
  293. package/matomo/bundles/angulartics2-matomo.umd.js.map +0 -1
  294. package/matomo/bundles/angulartics2-matomo.umd.min.js +0 -2
  295. package/matomo/bundles/angulartics2-matomo.umd.min.js.map +0 -1
  296. package/matomo/esm2015/angulartics2-matomo.js +0 -5
  297. package/matomo/esm2015/matomo.js +0 -294
  298. package/matomo/fesm2015/angulartics2-matomo.js +0 -299
  299. package/matomo/fesm2015/angulartics2-matomo.js.map +0 -1
  300. package/matomo/package.json +0 -20
  301. package/mixpanel/angulartics2-mixpanel.d.ts +0 -4
  302. package/mixpanel/angulartics2-mixpanel.metadata.json +0 -1
  303. package/mixpanel/bundles/angulartics2-mixpanel.umd.js +0 -132
  304. package/mixpanel/bundles/angulartics2-mixpanel.umd.js.map +0 -1
  305. package/mixpanel/bundles/angulartics2-mixpanel.umd.min.js +0 -2
  306. package/mixpanel/bundles/angulartics2-mixpanel.umd.min.js.map +0 -1
  307. package/mixpanel/esm2015/angulartics2-mixpanel.js +0 -5
  308. package/mixpanel/esm2015/mixpanel.js +0 -117
  309. package/mixpanel/fesm2015/angulartics2-mixpanel.js +0 -122
  310. package/mixpanel/fesm2015/angulartics2-mixpanel.js.map +0 -1
  311. package/mixpanel/package.json +0 -20
  312. package/pyze/angulartics2-pyze.d.ts +0 -4
  313. package/pyze/angulartics2-pyze.metadata.json +0 -1
  314. package/pyze/bundles/angulartics2-pyze.umd.js +0 -82
  315. package/pyze/bundles/angulartics2-pyze.umd.js.map +0 -1
  316. package/pyze/bundles/angulartics2-pyze.umd.min.js +0 -2
  317. package/pyze/bundles/angulartics2-pyze.umd.min.js.map +0 -1
  318. package/pyze/esm2015/angulartics2-pyze.js +0 -5
  319. package/pyze/esm2015/pyze.js +0 -67
  320. package/pyze/fesm2015/angulartics2-pyze.js +0 -72
  321. package/pyze/fesm2015/angulartics2-pyze.js.map +0 -1
  322. package/pyze/package.json +0 -20
  323. package/pyze/pyze.d.ts +0 -10
  324. package/routerlessmodule/angulartics2-routerlessmodule.d.ts +0 -4
  325. package/routerlessmodule/angulartics2-routerlessmodule.metadata.json +0 -1
  326. package/routerlessmodule/bundles/angulartics2-routerlessmodule.umd.js +0 -38
  327. package/routerlessmodule/bundles/angulartics2-routerlessmodule.umd.js.map +0 -1
  328. package/routerlessmodule/bundles/angulartics2-routerlessmodule.umd.min.js +0 -2
  329. package/routerlessmodule/bundles/angulartics2-routerlessmodule.umd.min.js.map +0 -1
  330. package/routerlessmodule/esm2015/angulartics2-routerlessmodule.js +0 -5
  331. package/routerlessmodule/esm2015/routerless.module.js +0 -20
  332. package/routerlessmodule/fesm2015/angulartics2-routerlessmodule.js +0 -27
  333. package/routerlessmodule/fesm2015/angulartics2-routerlessmodule.js.map +0 -1
  334. package/routerlessmodule/package.json +0 -20
  335. package/routerlessmodule/routerless.module.d.ts +0 -5
  336. package/segment/angulartics2-segment.d.ts +0 -4
  337. package/segment/angulartics2-segment.metadata.json +0 -1
  338. package/segment/bundles/angulartics2-segment.umd.js +0 -120
  339. package/segment/bundles/angulartics2-segment.umd.js.map +0 -1
  340. package/segment/bundles/angulartics2-segment.umd.min.js +0 -2
  341. package/segment/bundles/angulartics2-segment.umd.min.js.map +0 -1
  342. package/segment/esm2015/angulartics2-segment.js +0 -5
  343. package/segment/esm2015/segment.js +0 -105
  344. package/segment/fesm2015/angulartics2-segment.js +0 -110
  345. package/segment/fesm2015/angulartics2-segment.js.map +0 -1
  346. package/segment/package.json +0 -20
  347. package/splunk/angulartics2-splunk.d.ts +0 -4
  348. package/splunk/angulartics2-splunk.metadata.json +0 -1
  349. package/splunk/bundles/angulartics2-splunk.umd.js +0 -62
  350. package/splunk/bundles/angulartics2-splunk.umd.js.map +0 -1
  351. package/splunk/bundles/angulartics2-splunk.umd.min.js +0 -2
  352. package/splunk/bundles/angulartics2-splunk.umd.min.js.map +0 -1
  353. package/splunk/esm2015/angulartics2-splunk.js +0 -5
  354. package/splunk/esm2015/splunk.js +0 -48
  355. package/splunk/fesm2015/angulartics2-splunk.js +0 -53
  356. package/splunk/fesm2015/angulartics2-splunk.js.map +0 -1
  357. package/splunk/package.json +0 -20
  358. package/splunk/splunk.d.ts +0 -8
  359. package/uiroutermodule/angulartics2-uiroutermodule.d.ts +0 -4
  360. package/uiroutermodule/angulartics2-uiroutermodule.metadata.json +0 -1
  361. package/uiroutermodule/bundles/angulartics2-uiroutermodule.umd.js +0 -76
  362. package/uiroutermodule/bundles/angulartics2-uiroutermodule.umd.js.map +0 -1
  363. package/uiroutermodule/bundles/angulartics2-uiroutermodule.umd.min.js +0 -2
  364. package/uiroutermodule/bundles/angulartics2-uiroutermodule.umd.min.js.map +0 -1
  365. package/uiroutermodule/esm2015/angulartics2-uiroutermodule.js +0 -5
  366. package/uiroutermodule/esm2015/public_api.js +0 -3
  367. package/uiroutermodule/esm2015/uirouter.js +0 -40
  368. package/uiroutermodule/esm2015/uirouter.module.js +0 -21
  369. package/uiroutermodule/fesm2015/angulartics2-uiroutermodule.js +0 -64
  370. package/uiroutermodule/fesm2015/angulartics2-uiroutermodule.js.map +0 -1
  371. package/uiroutermodule/package.json +0 -20
  372. package/uiroutermodule/public_api.d.ts +0 -2
  373. package/uiroutermodule/uirouter.d.ts +0 -17
  374. package/uiroutermodule/uirouter.module.d.ts +0 -5
  375. package/woopra/angulartics2-woopra.d.ts +0 -4
  376. package/woopra/angulartics2-woopra.metadata.json +0 -1
  377. package/woopra/bundles/angulartics2-woopra.umd.js +0 -79
  378. package/woopra/bundles/angulartics2-woopra.umd.js.map +0 -1
  379. package/woopra/bundles/angulartics2-woopra.umd.min.js +0 -2
  380. package/woopra/bundles/angulartics2-woopra.umd.min.js.map +0 -1
  381. package/woopra/esm2015/angulartics2-woopra.js +0 -5
  382. package/woopra/esm2015/woopra.js +0 -64
  383. package/woopra/fesm2015/angulartics2-woopra.js +0 -69
  384. package/woopra/fesm2015/angulartics2-woopra.js.map +0 -1
  385. package/woopra/package.json +0 -20
@@ -0,0 +1,303 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../angulartics2-core";
4
+ export class Angulartics2Matomo {
5
+ constructor(angulartics2) {
6
+ this.angulartics2 = angulartics2;
7
+ if (typeof _paq === 'undefined') {
8
+ console.warn('Matomo not found');
9
+ }
10
+ this.angulartics2.setUsername.subscribe((x) => this.setUsername(x));
11
+ this.angulartics2.setUserProperties.subscribe((x) => this.setUserProperties(x));
12
+ }
13
+ startTracking() {
14
+ this.angulartics2.pageTrack
15
+ .pipe(this.angulartics2.filterDeveloperMode())
16
+ .subscribe(x => this.pageTrack(x.path));
17
+ this.angulartics2.eventTrack
18
+ .pipe(this.angulartics2.filterDeveloperMode())
19
+ .subscribe(x => this.eventTrack(x.action, x.properties));
20
+ }
21
+ pageTrack(path, title) {
22
+ try {
23
+ if (!window.location.origin) {
24
+ window.location.origin =
25
+ window.location.protocol +
26
+ '//' +
27
+ window.location.hostname +
28
+ (window.location.port ? ':' + window.location.port : '');
29
+ }
30
+ _paq.push(['setDocumentTitle', title || window.document.title]);
31
+ _paq.push(['setCustomUrl', window.location.origin + path]);
32
+ _paq.push(['trackPageView']);
33
+ }
34
+ catch (e) {
35
+ if (!(e instanceof ReferenceError)) {
36
+ throw e;
37
+ }
38
+ }
39
+ }
40
+ resetUser() {
41
+ try {
42
+ _paq.push(['appendToTrackingUrl', 'new_visit=1']); // (1) forces a new visit
43
+ _paq.push(['deleteCookies']); // (2) deletes existing tracking cookies to start the new visit
44
+ }
45
+ catch (e) {
46
+ if (!(e instanceof ReferenceError)) {
47
+ throw e;
48
+ }
49
+ }
50
+ }
51
+ /**
52
+ * Track a basic event in Matomo, or send an ecommerce event.
53
+ *
54
+ * @param action A string corresponding to the type of event that needs to be tracked.
55
+ * @param properties The properties that need to be logged with the event.
56
+ */
57
+ eventTrack(action, properties) {
58
+ let params = [];
59
+ switch (action) {
60
+ /**
61
+ * @description Sets the current page view as a product or category page view. When you call
62
+ * setEcommerceView it must be followed by a call to trackPageView to record the product or
63
+ * category page view.
64
+ *
65
+ * @link https://matomo.org/docs/ecommerce-analytics/#tracking-product-page-views-category-page-views-optional
66
+ * @link https://developer.matomo.org/api-reference/tracking-javascript#ecommerce
67
+ *
68
+ * @property productSKU (required) SKU: Product unique identifier
69
+ * @property productName (optional) Product name
70
+ * @property categoryName (optional) Product category, or array of up to 5 categories
71
+ * @property price (optional) Product Price as displayed on the page
72
+ */
73
+ case 'setEcommerceView':
74
+ params = [
75
+ 'setEcommerceView',
76
+ properties.productSKU,
77
+ properties.productName,
78
+ properties.categoryName,
79
+ properties.price,
80
+ ];
81
+ break;
82
+ /**
83
+ * @description Adds a product into the ecommerce order. Must be called for each product in
84
+ * the order.
85
+ *
86
+ * @link https://matomo.org/docs/ecommerce-analytics/#tracking-ecommerce-orders-items-purchased-required
87
+ * @link https://developer.matomo.org/api-reference/tracking-javascript#ecommerce
88
+ *
89
+ * @property productSKU (required) SKU: Product unique identifier
90
+ * @property productName (optional) Product name
91
+ * @property categoryName (optional) Product category, or array of up to 5 categories
92
+ * @property price (recommended) Product price
93
+ * @property quantity (optional, default to 1) Product quantity
94
+ */
95
+ case 'addEcommerceItem':
96
+ params = [
97
+ 'addEcommerceItem',
98
+ properties.productSKU,
99
+ properties.productName,
100
+ properties.productCategory,
101
+ properties.price,
102
+ properties.quantity,
103
+ ];
104
+ break;
105
+ /**
106
+ * @description Tracks a shopping cart. Call this javascript function every time a user is
107
+ * adding, updating or deleting a product from the cart.
108
+ *
109
+ * @link https://matomo.org/docs/ecommerce-analytics/#tracking-add-to-cart-items-added-to-the-cart-optional
110
+ * @link https://developer.matomo.org/api-reference/tracking-javascript#ecommerce
111
+ *
112
+ * @property grandTotal (required) Cart amount
113
+ */
114
+ case 'trackEcommerceCartUpdate':
115
+ params = [
116
+ 'trackEcommerceCartUpdate',
117
+ properties.grandTotal,
118
+ ];
119
+ break;
120
+ /**
121
+ * @description Tracks an Ecommerce order, including any ecommerce item previously added to
122
+ * the order. orderId and grandTotal (ie. revenue) are required parameters.
123
+ *
124
+ * @link https://matomo.org/docs/ecommerce-analytics/#tracking-ecommerce-orders-items-purchased-required
125
+ * @link https://developer.matomo.org/api-reference/tracking-javascript#ecommerce
126
+ *
127
+ * @property orderId (required) Unique Order ID
128
+ * @property grandTotal (required) Order Revenue grand total (includes tax, shipping, and subtracted discount)
129
+ * @property subTotal (optional) Order sub total (excludes shipping)
130
+ * @property tax (optional) Tax amount
131
+ * @property shipping (optional) Shipping amount
132
+ * @property discount (optional) Discount offered (set to false for unspecified parameter)
133
+ */
134
+ case 'trackEcommerceOrder':
135
+ params = [
136
+ 'trackEcommerceOrder',
137
+ properties.orderId,
138
+ properties.grandTotal,
139
+ properties.subTotal,
140
+ properties.tax,
141
+ properties.shipping,
142
+ properties.discount,
143
+ ];
144
+ break;
145
+ /**
146
+ * @description To manually trigger an outlink
147
+ *
148
+ * @link https://matomo.org/docs/tracking-goals-web-analytics/
149
+ * @link https://developer.matomo.org/guides/tracking-javascript-guide#tracking-a-click-as-an-outlink-via-css-or-javascript
150
+ *
151
+ * @property url (required) link url
152
+ * @property linkType (optional) type of link
153
+ */
154
+ case 'trackLink':
155
+ params = [
156
+ 'trackLink',
157
+ properties.url,
158
+ properties.linkType,
159
+ ];
160
+ break;
161
+ /**
162
+ * @description Tracks an Ecommerce goal
163
+ *
164
+ * @link https://matomo.org/docs/tracking-goals-web-analytics/
165
+ * @link https://developer.matomo.org/guides/tracking-javascript-guide#manually-trigger-goal-conversions
166
+ *
167
+ * @property goalId (required) Unique Goal ID
168
+ * @property value (optional) passed to goal tracking
169
+ */
170
+ case 'trackGoal':
171
+ params = [
172
+ 'trackGoal',
173
+ properties.goalId,
174
+ properties.value,
175
+ ];
176
+ break;
177
+ /**
178
+ * @description Tracks a site search
179
+ *
180
+ * @link https://matomo.org/docs/site-search/
181
+ * @link https://developer.matomo.org/guides/tracking-javascript-guide#internal-search-tracking
182
+ *
183
+ * @property keyword (required) Keyword searched for
184
+ * @property category (optional) Search category
185
+ * @property searchCount (optional) Number of results
186
+ */
187
+ case 'trackSiteSearch':
188
+ params = [
189
+ 'trackSiteSearch',
190
+ properties.keyword,
191
+ properties.category,
192
+ properties.searchCount,
193
+ ];
194
+ break;
195
+ /**
196
+ * @description Logs an event with an event category (Videos, Music, Games...), an event
197
+ * action (Play, Pause, Duration, Add Playlist, Downloaded, Clicked...), and an optional
198
+ * event name and optional numeric value.
199
+ *
200
+ * @link https://matomo.org/docs/event-tracking/
201
+ * @link https://developer.matomo.org/api-reference/tracking-javascript#using-the-tracker-object
202
+ *
203
+ * @property category
204
+ * @property action
205
+ * @property name (optional, recommended)
206
+ * @property value (optional)
207
+ */
208
+ default:
209
+ // PAQ requires that eventValue be an integer, see: http://matomo.org/docs/event-tracking
210
+ if (properties.value) {
211
+ const parsed = parseInt(properties.value, 10);
212
+ properties.value = isNaN(parsed) ? 0 : parsed;
213
+ }
214
+ params = [
215
+ 'trackEvent',
216
+ properties.category,
217
+ action,
218
+ properties.name ||
219
+ properties.label,
220
+ properties.value,
221
+ ];
222
+ }
223
+ try {
224
+ _paq.push(params);
225
+ }
226
+ catch (e) {
227
+ if (!(e instanceof ReferenceError)) {
228
+ throw e;
229
+ }
230
+ }
231
+ }
232
+ setUsername(userId) {
233
+ try {
234
+ _paq.push(['setUserId', userId]);
235
+ }
236
+ catch (e) {
237
+ if (!(e instanceof ReferenceError)) {
238
+ throw e;
239
+ }
240
+ }
241
+ }
242
+ /**
243
+ * Sets custom dimensions if at least one property has the key "dimension<n>",
244
+ * e.g. dimension10. If there are custom dimensions, any other property is ignored.
245
+ *
246
+ * If there are no custom dimensions in the given properties object, the properties
247
+ * object is saved as a custom variable.
248
+ *
249
+ * If in doubt, prefer custom dimensions.
250
+ * @link https://matomo.org/docs/custom-variables/
251
+ */
252
+ setUserProperties(properties) {
253
+ const dimensions = this.setCustomDimensions(properties);
254
+ try {
255
+ if (dimensions.length === 0) {
256
+ _paq.push([
257
+ 'setCustomVariable',
258
+ properties.index,
259
+ properties.name,
260
+ properties.value,
261
+ properties.scope,
262
+ ]);
263
+ }
264
+ }
265
+ catch (e) {
266
+ if (!(e instanceof ReferenceError)) {
267
+ throw e;
268
+ }
269
+ }
270
+ }
271
+ /**
272
+ * If you created a custom variable and then decide to remove this variable from
273
+ * a visit or page view, you can use deleteCustomVariable.
274
+ *
275
+ * @link https://developer.matomo.org/guides/tracking-javascript-guide#deleting-a-custom-variable
276
+ */
277
+ deletedUserProperties(properties) {
278
+ try {
279
+ _paq.push(['deleteCustomVariable', properties.index, properties.scope]);
280
+ }
281
+ catch (e) {
282
+ if (!(e instanceof ReferenceError)) {
283
+ throw e;
284
+ }
285
+ }
286
+ }
287
+ setCustomDimensions(properties) {
288
+ const dimensionRegex = /dimension[1-9]\d*/;
289
+ const dimensions = Object.keys(properties).filter(key => dimensionRegex.exec(key));
290
+ dimensions.forEach(dimension => {
291
+ const number = Number(dimension.substr(9));
292
+ _paq.push(['setCustomDimension', number, properties[dimension]]);
293
+ });
294
+ return dimensions;
295
+ }
296
+ }
297
+ Angulartics2Matomo.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Matomo, deps: [{ token: i1.Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
298
+ Angulartics2Matomo.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Matomo, providedIn: 'root' });
299
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Matomo, decorators: [{
300
+ type: Injectable,
301
+ args: [{ providedIn: 'root' }]
302
+ }], ctorParameters: function () { return [{ type: i1.Angulartics2 }]; } });
303
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWF0b21vLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vc3JjL2xpYi9wcm92aWRlcnMvbWF0b21vL21hdG9tby50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUF5STNDLE1BQU0sT0FBTyxrQkFBa0I7SUFDN0IsWUFBb0IsWUFBMEI7UUFBMUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFDNUMsSUFBSSxPQUFPLElBQUksS0FBSyxXQUFXLEVBQUU7WUFDL0IsT0FBTyxDQUFDLElBQUksQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDO1NBQ2xDO1FBQ0QsSUFBSSxDQUFDLFlBQVksQ0FBQyxXQUFXLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBUyxFQUFFLEVBQUUsQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDNUUsSUFBSSxDQUFDLFlBQVksQ0FBQyxpQkFBaUIsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFvQyxFQUFFLEVBQUUsQ0FDckYsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENBQUMsQ0FBQyxDQUMxQixDQUFDO0lBQ0osQ0FBQztJQUVELGFBQWE7UUFDWCxJQUFJLENBQUMsWUFBWSxDQUFDLFNBQVM7YUFDeEIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsQ0FBQzthQUM3QyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDO1FBQzFDLElBQUksQ0FBQyxZQUFZLENBQUMsVUFBVTthQUN6QixJQUFJLENBQUMsSUFBSSxDQUFDLFlBQVksQ0FBQyxtQkFBbUIsRUFBRSxDQUFDO2FBQzdDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxVQUFVLENBQUMsQ0FBQyxDQUFDLE1BQU0s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LE1BQU0sQ0FBQyxDQUFDO2FBQ1Q7U0FDRjtJQUNILENBQUM7SUFFTyxtQkFBbUIsQ0FBQyxVQUE2QztRQUN2RSxNQUFNLGNBQWMsR0FBVyxtQkFBbUIsQ0FBQztRQUNuRCxNQUFNLFVBQVUsR0FBRyxNQUFNLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxDQUFDLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDLGNBQWMsQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztRQUNuRixVQUFVLENBQUMsT0FBTyxDQUFDLFNBQVMsQ0FBQyxFQUFFO1lBQzdCLE1BQU0sTUFBTSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsTUFBTSxDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7WUFDM0MsSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLG9CQUFvQixFQUFFLE1BQU0sRUFBRSxVQUFVLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ25FLENBQUMsQ0FBQyxDQUFDO1FBQ0gsT0FBTyxVQUFVLENBQUM7SUFDcEIsQ0FBQzs7K0dBMVRVLGtCQUFrQjttSEFBbEIsa0JBQWtCLGNBREwsTUFBTTsyRkFDbkIsa0JBQWtCO2tCQUQ5QixVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQW5ndWxhcnRpY3MyIH0gZnJvbSAnLi4vLi4vYW5ndWxhcnRpY3MyLWNvcmUnO1xuXG5kZWNsYXJlIHZhciBfcGFxOiBhbnk7XG5cbmV4cG9ydCB0eXBlIEV2ZW50VHJhY2tBY3Rpb24gPVxuICB8ICdzZXRFY29tbWVyY2VWaWV3J1xuICB8ICdhZGRFY29tbWVyY2VJdGVtJ1xuICB8ICd0cmFja0Vjb21tZXJjZUNhcnRVcGRhdGUnXG4gIHwgJ3RyYWNrRWNvbW1lcmNlT3JkZXInXG4gIHwgJ3RyYWNrTGluaydcbiAgfCAndHJhY2tHb2FsJ1xuICB8ICd0cmFja1NpdGVTZWFyY2gnXG4gIHwgc3RyaW5nO1xuXG5leHBvcnQgdHlwZSBTY29wZU1hdG9tbyA9ICd2aXNpdCcgfCAncGFnZSc7XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGltZW5zaW9uc01hdG9tb1Byb3BlcnRpZXMge1xuICBkaW1lbnNpb24wPzogc3RyaW5nO1xuICBkaW1lbnNpb24xPzogc3RyaW5nO1xuICBkaW1lbnNpb24yPzogc3RyaW5nO1xuICBkaW1lbnNpb24zPzogc3RyaW5nO1xuICBkaW1lbnNpb240Pzogc3RyaW5nO1xuICBkaW1lbnNpb241Pzogc3RyaW5nO1xuICBkaW1lbnNpb242Pzogc3RyaW5nO1xuICBkaW1lbnNpb243Pzogc3RyaW5nO1xuICBkaW1lbnNpb244Pzogc3RyaW5nO1xuICBkaW1lbnNpb245Pzogc3RyaW5nO1xufVxuZXhwb3J0IGludGVyZmFjZSBTZXRFY29tbWVyY2VWaWV3TWF0b21vUHJvcGVydGllcyB7XG4gIC8qKiBAY2xhc3MgU2V0RWNvbW1lcmNlVmlld01hdG9tb1Byb3BlcnRpZXMgKi9cbiAgcHJvZHVjdFNLVTogc3RyaW5nO1xuICAvKiogQGNsYXNzIFNldEVjb21tZXJjZVZpZXdNYXRvbW9Qcm9wZXJ0aWVzICovXG4gIHByb2R1Y3ROYW1lOiBzdHJpbmc7XG4gIC8qKiBAY2xhc3MgU2V0RWNvbW1lcmNlVmlld01hdG9tb1Byb3BlcnRpZXMgKi9cbiAgY2F0ZWdvcnlOYW1lOiBzdHJpbmc7XG4gIC8qKiBAY2xhc3MgU2V0RWNvbW1lcmNlVmlld01hdG9tb1Byb3BlcnRpZXMgKi9cbiAgcHJpY2U6IHN0cmluZztcbn1cblxuZXhwb3J0IGludGVyZmFjZSBBZGRFY29tbWVyY2VJdGVtUHJvcGVydGllcyB7XG4gIC8qKiBAY2xhc3MgQWRkRWNvbW1lcmNlSXRlbVByb3BlcnRpZXMgKi9cbiAgcHJvZHVjdFNLVTogc3RyaW5nO1xuICAvKiogQGNsYXNzIEFkZEVjb21tZXJjZUl0ZW1Qcm9wZXJ0aWVzICovXG4gIHByb2R1Y3ROYW1lOiBzdHJpbmc7XG4gIC8qKiBAY2xhc3MgQWRkRWNvbW1lcmNlSXRlbVByb3BlcnRpZXMgKi9cbiAgcHJvZHVjdENhdGVnb3J5OiBzdHJpbmc7XG4gIC8qKiBAY2xhc3MgQWRkRWNvbW1lcmNlSXRlbVByb3BlcnRpZXMgKi9cbiAgcHJpY2U6IHN0cmluZztcbiAgLyoqIEBjbGFzcyBBZGRFY29tbWVyY2VJdGVtUHJvcGVydGllcyAqL1xuICBxdWFudGl0eTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYWNrRWNvbW1lcmNlQ2FydFVwZGF0ZU1hdG9tb1Byb3BlcnRpZXMge1xuICAvKiogQGNsYXNzIFRyYWNrRWNvbW1lcmNlQ2FydFVwZGF0ZU1hdG9tb1Byb3BlcnRpZXMgKi9cbiAgZ3JhbmRUb3RhbDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYWNrRWNvbW1lcmNlT3JkZXJNYXRvbW9Qcm9wZXJ0aWVzIHtcbiAgLyoqIEBjbGFzcyBUcmFja0Vjb21tZXJjZU9yZGVyTWF0b21vUHJvcGVydGllcyAqL1xuICBvcmRlcklkOiBzdHJpbmc7XG4gIC8qKiBAY2xhc3MgVHJhY2tFY29tbWVyY2VPcmRlck1hdG9tb1Byb3BlcnRpZXMgKi9cbiAgZ3JhbmRUb3RhbDogc3RyaW5nO1xuICAvKiogQGNsYXNzIFRyYWNrRWNvbW1lcmNlT3JkZXJNYXRvbW9Qcm9wZXJ0aWVzICovXG4gIHN1YlRvdGFsOiBzdHJpbmc7XG4gIC8qKiBAY2xhc3MgVHJhY2tFY29tbWVyY2VPcmRlck1hdG9tb1Byb3BlcnRpZXMgKi9cbiAgdGF4OiBzdHJpbmc7XG4gIC8qKiBAY2xhc3MgVHJhY2tFY29tbWVyY2VPcmRlck1hdG9tb1Byb3BlcnRpZXMgKi9cbiAgc2hpcHBpbmc6IHN0cmluZztcbiAgLyoqIEBjbGFzcyBUcmFja0Vjb21tZXJjZU9yZGVyTWF0b21vUHJvcGVydGllcyAqL1xuICBkaXNjb3VudDogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYWNrTGlua01hdG9tb1Byb3BlcnRpZXMge1xuICAvKiogQGNsYXNzIFRyYWNrTGlua01hdG9tb1Byb3BlcnRpZXMgKi9cbiAgdXJsOiBzdHJpbmc7XG4gIC8qKiBAY2xhc3MgVHJhY2tMaW5rTWF0b21vUHJvcGVydGllcyAqL1xuICBsaW5rVHlwZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYWNrR29hbE1hdG9tb1Byb3BlcnRpZXMge1xuICAvKiogQGNsYXNzIFRyYWNrR29hbE1hdG9tb1Byb3BlcnRpZXMgKi9cbiAgZ29hbElkOiBzdHJpbmc7XG4gIC8qKiBAY2xhc3MgVHJhY2tHb2FsTWF0b21vUHJvcGVydGllcyAqL1xuICB2YWx1ZTogc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFRyYWNrU2l0ZVNlYXJjaE1hdG9tb1Byb3BlcnRpZXMge1xuICAvKiogQGNsYXNzIFRyYWNrU2l0ZVNlYXJjaE1hdG9tb1Byb3BlcnRpZXMgKi9cbiAga2V5d29yZDogc3RyaW5nO1xuICAvKiogQGNsYXNzIFRyYWNrU2l0ZVNlYXJjaE1hdG9tb1Byb3BlcnRpZXMgKi9cbiAgY2F0ZWdvcnk6IHN0cmluZztcbiAgLyoqIEBjbGFzcyBUcmFja1NpdGVTZWFyY2hNYXRvbW9Qcm9wZXJ0aWVzICovXG4gIHNlYXJjaENvdW50OiBzdHJpbmc7XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgVHJhY2tFdmVudE1hdG9tb1Byb3BlcnRpZXMge1xuICAvKiogQGNsYXNzIFRyYWNrRXZlbnRNYXRvbW9Qcm9wZXJ0aWVzICovXG4gIGNhdGVnb3J5OiBzdHJpbmc7XG4gIC8qKiBAY2xhc3MgVHJhY2tFdmVudE1hdG9tb1Byb3BlcnRpZXMgKi9cbiAgbmFtZT86IHN0cmluZztcbiAgLyoqIEBjbGFzcyBUcmFja0V2ZW50TWF0b21vUHJvcGVydGllcyAqL1xuICBsYWJlbD86IHN0cmluZztcbiAgLyoqIEBjbGFzcyBUcmFja0V2ZW50TWF0b21vUHJvcGVydGllcyAqL1xuICB2YWx1ZTogbnVtYmVyIHwgc3RyaW5nO1xufVxuXG5leHBvcnQgaW50ZXJmYWNlIFNldEN1c3RvbVZhcmlhYmxlTWF0b21vUHJvcGVydGllcyBleHRlbmRzIERpbWVuc2lvbnNNYXRvbW9Qcm9wZXJ0aWVzIHtcbiAgLyoqIEBjbGFzcyBTZXRDdXN0b21WYXJpYWJsZU1hdG9tb1Byb3BlcnRpZXMgKi9cbiAgaW5kZXg6IG51bWJlcjtcbiAgLyoqIEBjbGFzcyBTZXRDdXN0b21WYXJpYWJsZU1hdG9tb1Byb3BlcnRpZXMgKi9cbiAgbmFtZTogc3RyaW5nO1xuICAvKiogQGNsYXNzIFNldEN1c3RvbVZhcmlhYmxlTWF0b21vUHJvcGVydGllcyAqL1xuICB2YWx1ZTogc3RyaW5nO1xuICAvKiogQGNsYXNzIFNldEN1c3RvbVZhcmlhYmxlTWF0b21vUHJvcGVydGllcyAqL1xuICBzY29wZTogU2NvcGVNYXRvbW87XG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgRGVsZXRlQ3VzdG9tVmFyaWFibGVNYXRvbW9Qcm9wZXJ0aWVzIHtcbiAgLyoqIEBjbGFzcyBEZWxldGVDdXN0b21WYXJpYWJsZU1hdG9tb1Byb3BlcnRpZXMgKi9cbiAgaW5kZXg6IG51bWJlcjtcbiAgLyoqIEBjbGFzcyBEZWxldGVDdXN0b21WYXJpYWJsZU1hdG9tb1Byb3BlcnRpZXMgKi9cbiAgc2NvcGU6IFNjb3BlTWF0b21vO1xufVxuXG5leHBvcnQgdHlwZSBFdmVudFRyYWNrYWN0aW9uUHJvcGVydGllcyA9XG4gIHwgU2V0RWNvbW1lcmNlVmlld01hdG9tb1Byb3BlcnRpZXNcbiAgfCBBZGRFY29tbWVyY2VJdGVtUHJvcGVydGllc1xuICB8IFRyYWNrRWNvbW1lcmNlQ2FydFVwZGF0ZU1hdG9tb1Byb3BlcnRpZXNcbiAgfCBUcmFja0Vjb21tZXJjZU9yZGVyTWF0b21vUHJvcGVydGllc1xuICB8IFRyYWNrTGlua01hdG9tb1Byb3BlcnRpZXNcbiAgfCBUcmFja0dvYWxNYXRvbW9Qcm9wZXJ0aWVzXG4gIHwgVHJhY2tTaXRlU2VhcmNoTWF0b21vUHJvcGVydGllc1xuICB8IFRyYWNrRXZlbnRNYXRvbW9Qcm9wZXJ0aWVzO1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJ0aWNzMk1hdG9tbyB7XG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYW5ndWxhcnRpY3MyOiBBbmd1bGFydGljczIpIHtcbiAgICBpZiAodHlwZW9mIF9wYXEgPT09ICd1bmRlZmluZWQnKSB7XG4gICAgICBjb25zb2xlLndhcm4oJ01hdG9tbyBub3QgZm91bmQnKTtcbiAgICB9XG4gICAgdGhpcy5hbmd1bGFydGljczIuc2V0VXNlcm5hbWUuc3Vic2NyaWJlKCh4OiBzdHJpbmcpID0+IHRoaXMuc2V0VXNlcm5hbWUoeCkpO1xuICAgIHRoaXMuYW5ndWxhcnRpY3MyLnNldFVzZXJQcm9wZXJ0aWVzLnN1YnNjcmliZSgoeDogU2V0Q3VzdG9tVmFyaWFibGVNYXRvbW9Qcm9wZXJ0aWVzKSA9PlxuICAgICAgdGhpcy5zZXRVc2VyUHJvcGVydGllcyh4KSxcbiAgICApO1xuICB9XG5cbiAgc3RhcnRUcmFja2luZygpOiB2b2lkIHtcbiAgICB0aGlzLmFuZ3VsYXJ0aWNzMi5wYWdlVHJhY2tcbiAgICAgIC5waXBlKHRoaXMuYW5ndWxhcnRpY3MyLmZpbHRlckRldmVsb3Blck1vZGUoKSlcbiAgICAgIC5zdWJzY3JpYmUoeCA9PiB0aGlzLnBhZ2VUcmFjayh4LnBhdGgpKTtcbiAgICB0aGlzLmFuZ3VsYXJ0aWNzMi5ldmVudFRyYWNrXG4gICAgICAucGlwZSh0aGlzLmFuZ3VsYXJ0aWNzMi5maWx0ZXJEZXZlbG9wZXJNb2RlKCkpXG4gICAgICAuc3Vic2NyaWJlKHggPT4gdGhpcy5ldmVudFRyYWNrKHguYWN0aW9uLCB4LnByb3BlcnRpZXMpKTtcbiAgfVxuXG4gIHBhZ2VUcmFjayhwYXRoOiBzdHJpbmcsIHRpdGxlPzogc3RyaW5nKSB7XG4gICAgdHJ5IHtcbiAgICAgIGlmICghd2luZG93LmxvY2F0aW9uLm9yaWdpbikge1xuICAgICAgICAod2luZG93LmxvY2F0aW9uIGFzIGFueSkub3JpZ2luID1cbiAgICAgICAgICB3aW5kb3cubG9jYXRpb24ucHJvdG9jb2wgK1xuICAgICAgICAgICcvLycgK1xuICAgICAgICAgIHdpbmRvdy5sb2NhdGlvbi5ob3N0bmFtZSArXG4gICAgICAgICAgKHdpbmRvdy5sb2NhdGlvbi5wb3J0ID8gJzonICsgd2luZG93LmxvY2F0aW9uLnBvcnQgOiAnJyk7XG4gICAgICB9XG4gICAgICBfcGFxLnB1c2goWydzZXREb2N1bWVudFRpdGxlJywgdGl0bGUgfHwgd2luZG93LmRvY3VtZW50LnRpdGxlXSk7XG4gICAgICBfcGFxLnB1c2goWydzZXRDdXN0b21VcmwnLCB3aW5kb3cubG9jYXRpb24ub3JpZ2luICsgcGF0aF0pO1xuICAgICAgX3BhcS5wdXNoKFsndHJhY2tQYWdlVmlldyddKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoIShlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpKSB7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgcmVzZXRVc2VyKCkge1xuICAgIHRyeSB7XG4gICAgICBfcGFxLnB1c2goWydhcHBlbmRUb1RyYWNraW5nVXJsJywgJ25ld192aXNpdD0xJ10pOyAvLyAoMSkgZm9yY2VzIGEgbmV3IHZpc2l0XG4gICAgICBfcGFxLnB1c2goWydkZWxldGVDb29raWVzJ10pOyAvLyAoMikgZGVsZXRlcyBleGlzdGluZyB0cmFja2luZyBjb29raWVzIHRvIHN0YXJ0IHRoZSBuZXcgdmlzaXRcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoIShlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpKSB7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgZXZlbnRUcmFjayhhY3Rpb246ICdzZXRFY29tbWVyY2VWaWV3JywgcHJvcGVydGllczogU2V0RWNvbW1lcmNlVmlld01hdG9tb1Byb3BlcnRpZXMpOiB2b2lkO1xuICBldmVudFRyYWNrKGFjdGlvbjogJ2FkZEVjb21tZXJjZUl0ZW0nLCBwcm9wZXJ0aWVzOiBBZGRFY29tbWVyY2VJdGVtUHJvcGVydGllcyk6IHZvaWQ7XG4gIGV2ZW50VHJhY2soXG4gICAgYWN0aW9uOiAndHJhY2tFY29tbWVyY2VDYXJ0VXBkYXRlJyxcbiAgICBwcm9wZXJ0aWVzOiBUcmFja0Vjb21tZXJjZUNhcnRVcGRhdGVNYXRvbW9Qcm9wZXJ0aWVzLFxuICApOiB2b2lkO1xuICBldmVudFRyYWNrKGFjdGlvbjogJ3RyYWNrRWNvbW1lcmNlT3JkZXInLCBwcm9wZXJ0aWVzOiBUcmFja0Vjb21tZXJjZU9yZGVyTWF0b21vUHJvcGVydGllcyk6IHZvaWQ7XG4gIGV2ZW50VHJhY2soYWN0aW9uOiAndHJhY2tMaW5rJywgcHJvcGVydGllczogVHJhY2tMaW5rTWF0b21vUHJvcGVydGllcyk6IHZvaWQ7XG4gIGV2ZW50VHJhY2soYWN0aW9uOiAndHJhY2tHb2FsJywgcHJvcGVydGllczogVHJhY2tHb2FsTWF0b21vUHJvcGVydGllcyk6IHZvaWQ7XG4gIGV2ZW50VHJhY2soYWN0aW9uOiAndHJhY2tTaXRlU2VhcmNoJywgcHJvcGVydGllczogVHJhY2tTaXRlU2VhcmNoTWF0b21vUHJvcGVydGllcyk6IHZvaWQ7XG4gIGV2ZW50VHJhY2soYWN0aW9uOiBzdHJpbmcsIHByb3BlcnRpZXM6IFRyYWNrRXZlbnRNYXRvbW9Qcm9wZXJ0aWVzKTogdm9pZDtcblxuICAvKipcbiAgICogVHJhY2sgYSBiYXNpYyBldmVudCBpbiBNYXRvbW8sIG9yIHNlbmQgYW4gZWNvbW1lcmNlIGV2ZW50LlxuICAgKlxuICAgKiBAcGFyYW0gYWN0aW9uIEEgc3RyaW5nIGNvcnJlc3BvbmRpbmcgdG8gdGhlIHR5cGUgb2YgZXZlbnQgdGhhdCBuZWVkcyB0byBiZSB0cmFja2VkLlxuICAgKiBAcGFyYW0gcHJvcGVydGllcyBUaGUgcHJvcGVydGllcyB0aGF0IG5lZWQgdG8gYmUgbG9nZ2VkIHdpdGggdGhlIGV2ZW50LlxuICAgKi9cbiAgZXZlbnRUcmFjayhhY3Rpb246IEV2ZW50VHJhY2tBY3Rpb24sIHByb3BlcnRpZXM/OiBFdmVudFRyYWNrYWN0aW9uUHJvcGVydGllcykge1xuICAgIGxldCBwYXJhbXMgPSBbXTtcbiAgICBzd2l0Y2ggKGFjdGlvbikge1xuICAgICAgLyoqXG4gICAgICAgKiBAZGVzY3JpcHRpb24gU2V0cyB0aGUgY3VycmVudCBwYWdlIHZpZXcgYXMgYSBwcm9kdWN0IG9yIGNhdGVnb3J5IHBhZ2Ugdmlldy4gV2hlbiB5b3UgY2FsbFxuICAgICAgICogc2V0RWNvbW1lcmNlVmlldyBpdCBtdXN0IGJlIGZvbGxvd2VkIGJ5IGEgY2FsbCB0byB0cmFja1BhZ2VWaWV3IHRvIHJlY29yZCB0aGUgcHJvZHVjdCBvclxuICAgICAgICogY2F0ZWdvcnkgcGFnZSB2aWV3LlxuICAgICAgICpcbiAgICAgICAqIEBsaW5rIGh0dHBzOi8vbWF0b21vLm9yZy9kb2NzL2Vjb21tZXJjZS1hbmFseXRpY3MvI3RyYWNraW5nLXByb2R1Y3QtcGFnZS12aWV3cy1jYXRlZ29yeS1wYWdlLXZpZXdzLW9wdGlvbmFsXG4gICAgICAgKiBAbGluayBodHRwczovL2RldmVsb3Blci5tYXRvbW8ub3JnL2FwaS1yZWZlcmVuY2UvdHJhY2tpbmctamF2YXNjcmlwdCNlY29tbWVyY2VcbiAgICAgICAqXG4gICAgICAgKiBAcHJvcGVydHkgcHJvZHVjdFNLVSAocmVxdWlyZWQpIFNLVTogUHJvZHVjdCB1bmlxdWUgaWRlbnRpZmllclxuICAgICAgICogQHByb3BlcnR5IHByb2R1Y3ROYW1lIChvcHRpb25hbCkgUHJvZHVjdCBuYW1lXG4gICAgICAgKiBAcHJvcGVydHkgY2F0ZWdvcnlOYW1lIChvcHRpb25hbCkgUHJvZHVjdCBjYXRlZ29yeSwgb3IgYXJyYXkgb2YgdXAgdG8gNSBjYXRlZ29yaWVzXG4gICAgICAgKiBAcHJvcGVydHkgcHJpY2UgKG9wdGlvbmFsKSBQcm9kdWN0IFByaWNlIGFzIGRpc3BsYXllZCBvbiB0aGUgcGFnZVxuICAgICAgICovXG4gICAgICBjYXNlICdzZXRFY29tbWVyY2VWaWV3JzpcbiAgICAgICAgcGFyYW1zID0gW1xuICAgICAgICAgICdzZXRFY29tbWVyY2VWaWV3JyxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBTZXRFY29tbWVyY2VWaWV3TWF0b21vUHJvcGVydGllcykucHJvZHVjdFNLVSxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBTZXRFY29tbWVyY2VWaWV3TWF0b21vUHJvcGVydGllcykucHJvZHVjdE5hbWUsXG4gICAgICAgICAgKHByb3BlcnRpZXMgYXMgU2V0RWNvbW1lcmNlVmlld01hdG9tb1Byb3BlcnRpZXMpLmNhdGVnb3J5TmFtZSxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBTZXRFY29tbWVyY2VWaWV3TWF0b21vUHJvcGVydGllcykucHJpY2UsXG4gICAgICAgIF07XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICAvKipcbiAgICAgICAqIEBkZXNjcmlwdGlvbiBBZGRzIGEgcHJvZHVjdCBpbnRvIHRoZSBlY29tbWVyY2Ugb3JkZXIuIE11c3QgYmUgY2FsbGVkIGZvciBlYWNoIHByb2R1Y3QgaW5cbiAgICAgICAqIHRoZSBvcmRlci5cbiAgICAgICAqXG4gICAgICAgKiBAbGluayBodHRwczovL21hdG9tby5vcmcvZG9jcy9lY29tbWVyY2UtYW5hbHl0aWNzLyN0cmFja2luZy1lY29tbWVyY2Utb3JkZXJzLWl0ZW1zLXB1cmNoYXNlZC1yZXF1aXJlZFxuICAgICAgICogQGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubWF0b21vLm9yZy9hcGktcmVmZXJlbmNlL3RyYWNraW5nLWphdmFzY3JpcHQjZWNvbW1lcmNlXG4gICAgICAgKlxuICAgICAgICogQHByb3BlcnR5IHByb2R1Y3RTS1UgKHJlcXVpcmVkKSBTS1U6IFByb2R1Y3QgdW5pcXVlIGlkZW50aWZpZXJcbiAgICAgICAqIEBwcm9wZXJ0eSBwcm9kdWN0TmFtZSAob3B0aW9uYWwpIFByb2R1Y3QgbmFtZVxuICAgICAgICogQHByb3BlcnR5IGNhdGVnb3J5TmFtZSAob3B0aW9uYWwpIFByb2R1Y3QgY2F0ZWdvcnksIG9yIGFycmF5IG9mIHVwIHRvIDUgY2F0ZWdvcmllc1xuICAgICAgICogQHByb3BlcnR5IHByaWNlIChyZWNvbW1lbmRlZCkgUHJvZHVjdCBwcmljZVxuICAgICAgICogQHByb3BlcnR5IHF1YW50aXR5IChvcHRpb25hbCwgZGVmYXVsdCB0byAxKSBQcm9kdWN0IHF1YW50aXR5XG4gICAgICAgKi9cbiAgICAgIGNhc2UgJ2FkZEVjb21tZXJjZUl0ZW0nOlxuICAgICAgICBwYXJhbXMgPSBbXG4gICAgICAgICAgJ2FkZEVjb21tZXJjZUl0ZW0nLFxuICAgICAgICAgIChwcm9wZXJ0aWVzIGFzIEFkZEVjb21tZXJjZUl0ZW1Qcm9wZXJ0aWVzKS5wcm9kdWN0U0tVLFxuICAgICAgICAgIChwcm9wZXJ0aWVzIGFzIEFkZEVjb21tZXJjZUl0ZW1Qcm9wZXJ0aWVzKS5wcm9kdWN0TmFtZSxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBBZGRFY29tbWVyY2VJdGVtUHJvcGVydGllcykucHJvZHVjdENhdGVnb3J5LFxuICAgICAgICAgIChwcm9wZXJ0aWVzIGFzIEFkZEVjb21tZXJjZUl0ZW1Qcm9wZXJ0aWVzKS5wcmljZSxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBBZGRFY29tbWVyY2VJdGVtUHJvcGVydGllcykucXVhbnRpdHksXG4gICAgICAgIF07XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICAvKipcbiAgICAgICAqIEBkZXNjcmlwdGlvbiBUcmFja3MgYSBzaG9wcGluZyBjYXJ0LiBDYWxsIHRoaXMgamF2YXNjcmlwdCBmdW5jdGlvbiBldmVyeSB0aW1lIGEgdXNlciBpc1xuICAgICAgICogYWRkaW5nLCB1cGRhdGluZyBvciBkZWxldGluZyBhIHByb2R1Y3QgZnJvbSB0aGUgY2FydC5cbiAgICAgICAqXG4gICAgICAgKiBAbGluayBodHRwczovL21hdG9tby5vcmcvZG9jcy9lY29tbWVyY2UtYW5hbHl0aWNzLyN0cmFja2luZy1hZGQtdG8tY2FydC1pdGVtcy1hZGRlZC10by10aGUtY2FydC1vcHRpb25hbFxuICAgICAgICogQGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubWF0b21vLm9yZy9hcGktcmVmZXJlbmNlL3RyYWNraW5nLWphdmFzY3JpcHQjZWNvbW1lcmNlXG4gICAgICAgKlxuICAgICAgICogQHByb3BlcnR5IGdyYW5kVG90YWwgKHJlcXVpcmVkKSBDYXJ0IGFtb3VudFxuICAgICAgICovXG4gICAgICBjYXNlICd0cmFja0Vjb21tZXJjZUNhcnRVcGRhdGUnOlxuICAgICAgICBwYXJhbXMgPSBbXG4gICAgICAgICAgJ3RyYWNrRWNvbW1lcmNlQ2FydFVwZGF0ZScsXG4gICAgICAgICAgKHByb3BlcnRpZXMgYXMgVHJhY2tFY29tbWVyY2VDYXJ0VXBkYXRlTWF0b21vUHJvcGVydGllcykuZ3JhbmRUb3RhbCxcbiAgICAgICAgXTtcbiAgICAgICAgYnJlYWs7XG5cbiAgICAgIC8qKlxuICAgICAgICogQGRlc2NyaXB0aW9uIFRyYWNrcyBhbiBFY29tbWVyY2Ugb3JkZXIsIGluY2x1ZGluZyBhbnkgZWNvbW1lcmNlIGl0ZW0gcHJldmlvdXNseSBhZGRlZCB0b1xuICAgICAgICogdGhlIG9yZGVyLiBvcmRlcklkIGFuZCBncmFuZFRvdGFsIChpZS4gcmV2ZW51ZSkgYXJlIHJlcXVpcmVkIHBhcmFtZXRlcnMuXG4gICAgICAgKlxuICAgICAgICogQGxpbmsgaHR0cHM6Ly9tYXRvbW8ub3JnL2RvY3MvZWNvbW1lcmNlLWFuYWx5dGljcy8jdHJhY2tpbmctZWNvbW1lcmNlLW9yZGVycy1pdGVtcy1wdXJjaGFzZWQtcmVxdWlyZWRcbiAgICAgICAqIEBsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1hdG9tby5vcmcvYXBpLXJlZmVyZW5jZS90cmFja2luZy1qYXZhc2NyaXB0I2Vjb21tZXJjZVxuICAgICAgICpcbiAgICAgICAqIEBwcm9wZXJ0eSBvcmRlcklkIChyZXF1aXJlZCkgVW5pcXVlIE9yZGVyIElEXG4gICAgICAgKiBAcHJvcGVydHkgZ3JhbmRUb3RhbCAocmVxdWlyZWQpIE9yZGVyIFJldmVudWUgZ3JhbmQgdG90YWwgKGluY2x1ZGVzIHRheCwgc2hpcHBpbmcsIGFuZCBzdWJ0cmFjdGVkIGRpc2NvdW50KVxuICAgICAgICogQHByb3BlcnR5IHN1YlRvdGFsIChvcHRpb25hbCkgT3JkZXIgc3ViIHRvdGFsIChleGNsdWRlcyBzaGlwcGluZylcbiAgICAgICAqIEBwcm9wZXJ0eSB0YXggKG9wdGlvbmFsKSBUYXggYW1vdW50XG4gICAgICAgKiBAcHJvcGVydHkgc2hpcHBpbmcgKG9wdGlvbmFsKSBTaGlwcGluZyBhbW91bnRcbiAgICAgICAqIEBwcm9wZXJ0eSBkaXNjb3VudCAob3B0aW9uYWwpIERpc2NvdW50IG9mZmVyZWQgKHNldCB0byBmYWxzZSBmb3IgdW5zcGVjaWZpZWQgcGFyYW1ldGVyKVxuICAgICAgICovXG4gICAgICBjYXNlICd0cmFja0Vjb21tZXJjZU9yZGVyJzpcbiAgICAgICAgcGFyYW1zID0gW1xuICAgICAgICAgICd0cmFja0Vjb21tZXJjZU9yZGVyJyxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBUcmFja0Vjb21tZXJjZU9yZGVyTWF0b21vUHJvcGVydGllcykub3JkZXJJZCxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBUcmFja0Vjb21tZXJjZU9yZGVyTWF0b21vUHJvcGVydGllcykuZ3JhbmRUb3RhbCxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBUcmFja0Vjb21tZXJjZU9yZGVyTWF0b21vUHJvcGVydGllcykuc3ViVG90YWwsXG4gICAgICAgICAgKHByb3BlcnRpZXMgYXMgVHJhY2tFY29tbWVyY2VPcmRlck1hdG9tb1Byb3BlcnRpZXMpLnRheCxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBUcmFja0Vjb21tZXJjZU9yZGVyTWF0b21vUHJvcGVydGllcykuc2hpcHBpbmcsXG4gICAgICAgICAgKHByb3BlcnRpZXMgYXMgVHJhY2tFY29tbWVyY2VPcmRlck1hdG9tb1Byb3BlcnRpZXMpLmRpc2NvdW50LFxuICAgICAgICBdO1xuICAgICAgICBicmVhaztcblxuICAgICAgLyoqXG4gICAgICAgKiBAZGVzY3JpcHRpb24gVG8gbWFudWFsbHkgdHJpZ2dlciBhbiBvdXRsaW5rXG4gICAgICAgKlxuICAgICAgICogQGxpbmsgaHR0cHM6Ly9tYXRvbW8ub3JnL2RvY3MvdHJhY2tpbmctZ29hbHMtd2ViLWFuYWx5dGljcy9cbiAgICAgICAqIEBsaW5rIGh0dHBzOi8vZGV2ZWxvcGVyLm1hdG9tby5vcmcvZ3VpZGVzL3RyYWNraW5nLWphdmFzY3JpcHQtZ3VpZGUjdHJhY2tpbmctYS1jbGljay1hcy1hbi1vdXRsaW5rLXZpYS1jc3Mtb3ItamF2YXNjcmlwdFxuICAgICAgICpcbiAgICAgICAqIEBwcm9wZXJ0eSB1cmwgKHJlcXVpcmVkKSBsaW5rIHVybFxuICAgICAgICogQHByb3BlcnR5IGxpbmtUeXBlIChvcHRpb25hbCkgdHlwZSBvZiBsaW5rXG4gICAgICAgKi9cbiAgICAgIGNhc2UgJ3RyYWNrTGluayc6XG4gICAgICAgIHBhcmFtcyA9IFtcbiAgICAgICAgICAndHJhY2tMaW5rJyxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBUcmFja0xpbmtNYXRvbW9Qcm9wZXJ0aWVzKS51cmwsXG4gICAgICAgICAgKHByb3BlcnRpZXMgYXMgVHJhY2tMaW5rTWF0b21vUHJvcGVydGllcykubGlua1R5cGUsXG4gICAgICAgIF07XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICAvKipcbiAgICAgICAqIEBkZXNjcmlwdGlvbiBUcmFja3MgYW4gRWNvbW1lcmNlIGdvYWxcbiAgICAgICAqXG4gICAgICAgKiBAbGluayBodHRwczovL21hdG9tby5vcmcvZG9jcy90cmFja2luZy1nb2Fscy13ZWItYW5hbHl0aWNzL1xuICAgICAgICogQGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubWF0b21vLm9yZy9ndWlkZXMvdHJhY2tpbmctamF2YXNjcmlwdC1ndWlkZSNtYW51YWxseS10cmlnZ2VyLWdvYWwtY29udmVyc2lvbnNcbiAgICAgICAqXG4gICAgICAgKiBAcHJvcGVydHkgZ29hbElkIChyZXF1aXJlZCkgVW5pcXVlIEdvYWwgSURcbiAgICAgICAqIEBwcm9wZXJ0eSB2YWx1ZSAob3B0aW9uYWwpIHBhc3NlZCB0byBnb2FsIHRyYWNraW5nXG4gICAgICAgKi9cbiAgICAgIGNhc2UgJ3RyYWNrR29hbCc6XG4gICAgICAgIHBhcmFtcyA9IFtcbiAgICAgICAgICAndHJhY2tHb2FsJyxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBUcmFja0dvYWxNYXRvbW9Qcm9wZXJ0aWVzKS5nb2FsSWQsXG4gICAgICAgICAgKHByb3BlcnRpZXMgYXMgVHJhY2tHb2FsTWF0b21vUHJvcGVydGllcykudmFsdWUsXG4gICAgICAgIF07XG4gICAgICAgIGJyZWFrO1xuXG4gICAgICAvKipcbiAgICAgICAqIEBkZXNjcmlwdGlvbiBUcmFja3MgYSBzaXRlIHNlYXJjaFxuICAgICAgICpcbiAgICAgICAqIEBsaW5rIGh0dHBzOi8vbWF0b21vLm9yZy9kb2NzL3NpdGUtc2VhcmNoL1xuICAgICAgICogQGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubWF0b21vLm9yZy9ndWlkZXMvdHJhY2tpbmctamF2YXNjcmlwdC1ndWlkZSNpbnRlcm5hbC1zZWFyY2gtdHJhY2tpbmdcbiAgICAgICAqXG4gICAgICAgKiBAcHJvcGVydHkga2V5d29yZCAocmVxdWlyZWQpIEtleXdvcmQgc2VhcmNoZWQgZm9yXG4gICAgICAgKiBAcHJvcGVydHkgY2F0ZWdvcnkgKG9wdGlvbmFsKSBTZWFyY2ggY2F0ZWdvcnlcbiAgICAgICAqIEBwcm9wZXJ0eSBzZWFyY2hDb3VudCAob3B0aW9uYWwpIE51bWJlciBvZiByZXN1bHRzXG4gICAgICAgKi9cbiAgICAgIGNhc2UgJ3RyYWNrU2l0ZVNlYXJjaCc6XG4gICAgICAgIHBhcmFtcyA9IFtcbiAgICAgICAgICAndHJhY2tTaXRlU2VhcmNoJyxcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBUcmFja1NpdGVTZWFyY2hNYXRvbW9Qcm9wZXJ0aWVzKS5rZXl3b3JkLFxuICAgICAgICAgIChwcm9wZXJ0aWVzIGFzIFRyYWNrU2l0ZVNlYXJjaE1hdG9tb1Byb3BlcnRpZXMpLmNhdGVnb3J5LFxuICAgICAgICAgIChwcm9wZXJ0aWVzIGFzIFRyYWNrU2l0ZVNlYXJjaE1hdG9tb1Byb3BlcnRpZXMpLnNlYXJjaENvdW50LFxuICAgICAgICBdO1xuICAgICAgICBicmVhaztcblxuICAgICAgLyoqXG4gICAgICAgKiBAZGVzY3JpcHRpb24gTG9ncyBhbiBldmVudCB3aXRoIGFuIGV2ZW50IGNhdGVnb3J5IChWaWRlb3MsIE11c2ljLCBHYW1lcy4uLiksIGFuIGV2ZW50XG4gICAgICAgKiBhY3Rpb24gKFBsYXksIFBhdXNlLCBEdXJhdGlvbiwgQWRkIFBsYXlsaXN0LCBEb3dubG9hZGVkLCBDbGlja2VkLi4uKSwgYW5kIGFuIG9wdGlvbmFsXG4gICAgICAgKiBldmVudCBuYW1lIGFuZCBvcHRpb25hbCBudW1lcmljIHZhbHVlLlxuICAgICAgICpcbiAgICAgICAqIEBsaW5rIGh0dHBzOi8vbWF0b21vLm9yZy9kb2NzL2V2ZW50LXRyYWNraW5nL1xuICAgICAgICogQGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXIubWF0b21vLm9yZy9hcGktcmVmZXJlbmNlL3RyYWNraW5nLWphdmFzY3JpcHQjdXNpbmctdGhlLXRyYWNrZXItb2JqZWN0XG4gICAgICAgKlxuICAgICAgICogQHByb3BlcnR5IGNhdGVnb3J5XG4gICAgICAgKiBAcHJvcGVydHkgYWN0aW9uXG4gICAgICAgKiBAcHJvcGVydHkgbmFtZSAob3B0aW9uYWwsIHJlY29tbWVuZGVkKVxuICAgICAgICogQHByb3BlcnR5IHZhbHVlIChvcHRpb25hbClcbiAgICAgICAqL1xuICAgICAgZGVmYXVsdDpcbiAgICAgICAgLy8gUEFRIHJlcXVpcmVzIHRoYXQgZXZlbnRWYWx1ZSBiZSBhbiBpbnRlZ2VyLCBzZWU6IGh0dHA6Ly9tYXRvbW8ub3JnL2RvY3MvZXZlbnQtdHJhY2tpbmdcbiAgICAgICAgaWYgKChwcm9wZXJ0aWVzIGFzIFRyYWNrRXZlbnRNYXRvbW9Qcm9wZXJ0aWVzKS52YWx1ZSkge1xuICAgICAgICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlSW50KChwcm9wZXJ0aWVzIGFzIFRyYWNrRXZlbnRNYXRvbW9Qcm9wZXJ0aWVzKS52YWx1ZSBhcyBhbnksIDEwKTtcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBUcmFja0V2ZW50TWF0b21vUHJvcGVydGllcykudmFsdWUgPSBpc05hTihwYXJzZWQpID8gMCA6IHBhcnNlZDtcbiAgICAgICAgfVxuXG4gICAgICAgIHBhcmFtcyA9IFtcbiAgICAgICAgICAndHJhY2tFdmVudCcsXG4gICAgICAgICAgKHByb3BlcnRpZXMgYXMgVHJhY2tFdmVudE1hdG9tb1Byb3BlcnRpZXMpLmNhdGVnb3J5LFxuICAgICAgICAgIGFjdGlvbixcbiAgICAgICAgICAocHJvcGVydGllcyBhcyBUcmFja0V2ZW50TWF0b21vUHJvcGVydGllcykubmFtZSB8fFxuICAgICAgICAgICAgKHByb3BlcnRpZXMgYXMgVHJhY2tFdmVudE1hdG9tb1Byb3BlcnRpZXMpLmxhYmVsLCAvLyBDaGFuZ2VkIGluIGZhdm91ciBvZiBNYXRvbW8gZG9jdW1lbnRhdGlvbi4gQWRkZWQgZmFsbGJhY2sgc28gaXQncyBiYWNrd2FyZHMgY29tcGF0aWJsZS5cbiAgICAgICAgICAocHJvcGVydGllcyBhcyBUcmFja0V2ZW50TWF0b21vUHJvcGVydGllcykudmFsdWUsXG4gICAgICAgIF07XG4gICAgfVxuICAgIHRyeSB7XG4gICAgICBfcGFxLnB1c2gocGFyYW1zKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoIShlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpKSB7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2V0VXNlcm5hbWUodXNlcklkOiBzdHJpbmcgfCBib29sZWFuKSB7XG4gICAgdHJ5IHtcbiAgICAgIF9wYXEucHVzaChbJ3NldFVzZXJJZCcsIHVzZXJJZF0pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmICghKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikpIHtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogU2V0cyBjdXN0b20gZGltZW5zaW9ucyBpZiBhdCBsZWFzdCBvbmUgcHJvcGVydHkgaGFzIHRoZSBrZXkgXCJkaW1lbnNpb248bj5cIixcbiAgICogZS5nLiBkaW1lbnNpb24xMC4gSWYgdGhlcmUgYXJlIGN1c3RvbSBkaW1lbnNpb25zLCBhbnkgb3RoZXIgcHJvcGVydHkgaXMgaWdub3JlZC5cbiAgICpcbiAgICogSWYgdGhlcmUgYXJlIG5vIGN1c3RvbSBkaW1lbnNpb25zIGluIHRoZSBnaXZlbiBwcm9wZXJ0aWVzIG9iamVjdCwgdGhlIHByb3BlcnRpZXNcbiAgICogb2JqZWN0IGlzIHNhdmVkIGFzIGEgY3VzdG9tIHZhcmlhYmxlLlxuICAgKlxuICAgKiBJZiBpbiBkb3VidCwgcHJlZmVyIGN1c3RvbSBkaW1lbnNpb25zLlxuICAgKiBAbGluayBodHRwczovL21hdG9tby5vcmcvZG9jcy9jdXN0b20tdmFyaWFibGVzL1xuICAgKi9cbiAgc2V0VXNlclByb3BlcnRpZXMocHJvcGVydGllczogU2V0Q3VzdG9tVmFyaWFibGVNYXRvbW9Qcm9wZXJ0aWVzKSB7XG4gICAgY29uc3QgZGltZW5zaW9ucyA9IHRoaXMuc2V0Q3VzdG9tRGltZW5zaW9ucyhwcm9wZXJ0aWVzKTtcbiAgICB0cnkge1xuICAgICAgaWYgKGRpbWVuc2lvbnMubGVuZ3RoID09PSAwKSB7XG4gICAgICAgIF9wYXEucHVzaChbXG4gICAgICAgICAgJ3NldEN1c3RvbVZhcmlhYmxlJyxcbiAgICAgICAgICBwcm9wZXJ0aWVzLmluZGV4LFxuICAgICAgICAgIHByb3BlcnRpZXMubmFtZSxcbiAgICAgICAgICBwcm9wZXJ0aWVzLnZhbHVlLFxuICAgICAgICAgIHByb3BlcnRpZXMuc2NvcGUsXG4gICAgICAgIF0pO1xuICAgICAgfVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmICghKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikpIHtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICAvKipcbiAgICogSWYgeW91IGNyZWF0ZWQgYSBjdXN0b20gdmFyaWFibGUgYW5kIHRoZW4gZGVjaWRlIHRvIHJlbW92ZSB0aGlzIHZhcmlhYmxlIGZyb21cbiAgICogYSB2aXNpdCBvciBwYWdlIHZpZXcsIHlvdSBjYW4gdXNlIGRlbGV0ZUN1c3RvbVZhcmlhYmxlLlxuICAgKlxuICAgKiBAbGluayBodHRwczovL2RldmVsb3Blci5tYXRvbW8ub3JnL2d1aWRlcy90cmFja2luZy1qYXZhc2NyaXB0LWd1aWRlI2RlbGV0aW5nLWEtY3VzdG9tLXZhcmlhYmxlXG4gICAqL1xuICBkZWxldGVkVXNlclByb3BlcnRpZXMocHJvcGVydGllczogRGVsZXRlQ3VzdG9tVmFyaWFibGVNYXRvbW9Qcm9wZXJ0aWVzKSB7XG4gICAgdHJ5IHtcbiAgICAgIF9wYXEucHVzaChbJ2RlbGV0ZUN1c3RvbVZhcmlhYmxlJywgcHJvcGVydGllcy5pbmRleCwgcHJvcGVydGllcy5zY29wZV0pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmICghKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikpIHtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBwcml2YXRlIHNldEN1c3RvbURpbWVuc2lvbnMocHJvcGVydGllczogU2V0Q3VzdG9tVmFyaWFibGVNYXRvbW9Qcm9wZXJ0aWVzKTogc3RyaW5nW10ge1xuICAgIGNvbnN0IGRpbWVuc2lvblJlZ2V4OiBSZWdFeHAgPSAvZGltZW5zaW9uWzEtOV1cXGQqLztcbiAgICBjb25zdCBkaW1lbnNpb25zID0gT2JqZWN0LmtleXMocHJvcGVydGllcykuZmlsdGVyKGtleSA9PiBkaW1lbnNpb25SZWdleC5leGVjKGtleSkpO1xuICAgIGRpbWVuc2lvbnMuZm9yRWFjaChkaW1lbnNpb24gPT4ge1xuICAgICAgY29uc3QgbnVtYmVyID0gTnVtYmVyKGRpbWVuc2lvbi5zdWJzdHIoOSkpO1xuICAgICAgX3BhcS5wdXNoKFsnc2V0Q3VzdG9tRGltZW5zaW9uJywgbnVtYmVyLCBwcm9wZXJ0aWVzW2RpbWVuc2lvbl1dKTtcbiAgICB9KTtcbiAgICByZXR1cm4gZGltZW5zaW9ucztcbiAgfVxufVxuIl19
@@ -0,0 +1,109 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../angulartics2-core";
4
+ export class Angulartics2Mixpanel {
5
+ constructor(angulartics2) {
6
+ this.angulartics2 = angulartics2;
7
+ this.angulartics2.setUsername.subscribe((x) => this.setUsername(x));
8
+ this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));
9
+ this.angulartics2.setUserPropertiesOnce.subscribe(x => this.setUserPropertiesOnce(x));
10
+ this.angulartics2.setSuperProperties.subscribe(x => this.setSuperProperties(x));
11
+ this.angulartics2.setSuperPropertiesOnce.subscribe(x => this.setSuperPropertiesOnce(x));
12
+ this.angulartics2.setAlias.subscribe(x => this.setAlias(x));
13
+ }
14
+ startTracking() {
15
+ this.angulartics2.pageTrack
16
+ .pipe(this.angulartics2.filterDeveloperMode())
17
+ .subscribe(x => this.pageTrack(x.path));
18
+ this.angulartics2.eventTrack
19
+ .pipe(this.angulartics2.filterDeveloperMode())
20
+ .subscribe(x => this.eventTrack(x.action, x.properties));
21
+ }
22
+ pageTrack(path) {
23
+ try {
24
+ mixpanel.track('Page Viewed', { page: path });
25
+ }
26
+ catch (e) {
27
+ if (!(e instanceof ReferenceError)) {
28
+ throw e;
29
+ }
30
+ }
31
+ }
32
+ eventTrack(action, properties) {
33
+ try {
34
+ mixpanel.track(action, properties);
35
+ }
36
+ catch (e) {
37
+ if (!(e instanceof ReferenceError)) {
38
+ throw e;
39
+ }
40
+ }
41
+ }
42
+ setUsername(userId) {
43
+ try {
44
+ mixpanel.identify(userId);
45
+ }
46
+ catch (e) {
47
+ if (!(e instanceof ReferenceError)) {
48
+ throw e;
49
+ }
50
+ }
51
+ }
52
+ setUserProperties(properties) {
53
+ try {
54
+ mixpanel.people.set(properties);
55
+ }
56
+ catch (e) {
57
+ if (!(e instanceof ReferenceError)) {
58
+ throw e;
59
+ }
60
+ }
61
+ }
62
+ setUserPropertiesOnce(properties) {
63
+ try {
64
+ mixpanel.people.set_once(properties);
65
+ }
66
+ catch (e) {
67
+ if (!(e instanceof ReferenceError)) {
68
+ throw e;
69
+ }
70
+ }
71
+ }
72
+ setSuperProperties(properties) {
73
+ try {
74
+ mixpanel.register(properties);
75
+ }
76
+ catch (e) {
77
+ if (!(e instanceof ReferenceError)) {
78
+ throw e;
79
+ }
80
+ }
81
+ }
82
+ setSuperPropertiesOnce(properties) {
83
+ try {
84
+ mixpanel.register_once(properties);
85
+ }
86
+ catch (e) {
87
+ if (!(e instanceof ReferenceError)) {
88
+ throw e;
89
+ }
90
+ }
91
+ }
92
+ setAlias(alias) {
93
+ try {
94
+ mixpanel.alias(alias);
95
+ }
96
+ catch (e) {
97
+ if (!(e instanceof ReferenceError)) {
98
+ throw e;
99
+ }
100
+ }
101
+ }
102
+ }
103
+ Angulartics2Mixpanel.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Mixpanel, deps: [{ token: i1.Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
104
+ Angulartics2Mixpanel.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Mixpanel, providedIn: 'root' });
105
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Mixpanel, decorators: [{
106
+ type: Injectable,
107
+ args: [{ providedIn: 'root' }]
108
+ }], ctorParameters: function () { return [{ type: i1.Angulartics2 }]; } });
109
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWl4cGFuZWwuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi8uLi9zcmMvbGliL3Byb3ZpZGVycy9taXhwYW5lbC9taXhwYW5lbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFPM0MsTUFBTSxPQUFPLG9CQUFvQjtJQUMvQixZQUFvQixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUM1QyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUM1RSxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzlFLElBQUksQ0FBQyxZQUFZLENBQUMscUJBQXFCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLHFCQUFxQixDQUFDLENBQUMsQ0FBQyxDQUFDLENBQUM7UUFDdEYsSUFBSSxDQUFDLFlBQVksQ0FBQyxrQkFBa0IsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUNoRixJQUFJLENBQUMsWUFBWSxDQUFDLHNCQUFzQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxzQkFBc0IsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQ3hGLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxRQUFRLENBQUMsQ0FBQyxDQUFDLENBQUMs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QVEsQ0FBQyxLQUFLLENBQUMsS0FBSyxDQUFDLENBQUM7U0FDdkI7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxjQUFjLENBQUMsRUFBRTtnQkFDbEMsTUFBTSxDQUFDLENBQUM7YUFDVDtTQUNGO0lBQ0gsQ0FBQzs7aUhBakdVLG9CQUFvQjtxSEFBcEIsb0JBQW9CLGNBRFAsTUFBTTsyRkFDbkIsb0JBQW9CO2tCQURoQyxVQUFVO21CQUFDLEVBQUUsVUFBVSxFQUFFLE1BQU0sRUFBRSIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHsgQW5ndWxhcnRpY3MyIH0gZnJvbSAnLi4vLi4vYW5ndWxhcnRpY3MyLWNvcmUnO1xuXG5kZWNsYXJlIHZhciBtaXhwYW5lbDogYW55O1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJ0aWNzMk1peHBhbmVsIHtcbiAgY29uc3RydWN0b3IocHJpdmF0ZSBhbmd1bGFydGljczI6IEFuZ3VsYXJ0aWNzMikge1xuICAgIHRoaXMuYW5ndWxhcnRpY3MyLnNldFVzZXJuYW1lLnN1YnNjcmliZSgoeDogc3RyaW5nKSA9PiB0aGlzLnNldFVzZXJuYW1lKHgpKTtcbiAgICB0aGlzLmFuZ3VsYXJ0aWNzMi5zZXRVc2VyUHJvcGVydGllcy5zdWJzY3JpYmUoeCA9PiB0aGlzLnNldFVzZXJQcm9wZXJ0aWVzKHgpKTtcbiAgICB0aGlzLmFuZ3VsYXJ0aWNzMi5zZXRVc2VyUHJvcGVydGllc09uY2Uuc3Vic2NyaWJlKHggPT4gdGhpcy5zZXRVc2VyUHJvcGVydGllc09uY2UoeCkpO1xuICAgIHRoaXMuYW5ndWxhcnRpY3MyLnNldFN1cGVyUHJvcGVydGllcy5zdWJzY3JpYmUoeCA9PiB0aGlzLnNldFN1cGVyUHJvcGVydGllcyh4KSk7XG4gICAgdGhpcy5hbmd1bGFydGljczIuc2V0U3VwZXJQcm9wZXJ0aWVzT25jZS5zdWJzY3JpYmUoeCA9PiB0aGlzLnNldFN1cGVyUHJvcGVydGllc09uY2UoeCkpO1xuICAgIHRoaXMuYW5ndWxhcnRpY3MyLnNldEFsaWFzLnN1YnNjcmliZSh4ID0+IHRoaXMuc2V0QWxpYXMoeCkpO1xuICB9XG5cbiAgc3RhcnRUcmFja2luZygpOiB2b2lkIHtcbiAgICB0aGlzLmFuZ3VsYXJ0aWNzMi5wYWdlVHJhY2tcbiAgICAgIC5waXBlKHRoaXMuYW5ndWxhcnRpY3MyLmZpbHRlckRldmVsb3Blck1vZGUoKSlcbiAgICAgIC5zdWJzY3JpYmUoeCA9PiB0aGlzLnBhZ2VUcmFjayh4LnBhdGgpKTtcbiAgICB0aGlzLmFuZ3VsYXJ0aWNzMi5ldmVudFRyYWNrXG4gICAgICAucGlwZSh0aGlzLmFuZ3VsYXJ0aWNzMi5maWx0ZXJEZXZlbG9wZXJNb2RlKCkpXG4gICAgICAuc3Vic2NyaWJlKHggPT4gdGhpcy5ldmVudFRyYWNrKHguYWN0aW9uLCB4LnByb3BlcnRpZXMpKTtcbiAgfVxuXG4gIHBhZ2VUcmFjayhwYXRoOiBzdHJpbmcpIHtcbiAgICB0cnkge1xuICAgICAgbWl4cGFuZWwudHJhY2soJ1BhZ2UgVmlld2VkJywgeyBwYWdlOiBwYXRoIH0pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmICghKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikpIHtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBldmVudFRyYWNrKGFjdGlvbjogc3RyaW5nLCBwcm9wZXJ0aWVzOiBhbnkpIHtcbiAgICB0cnkge1xuICAgICAgbWl4cGFuZWwudHJhY2soYWN0aW9uLCBwcm9wZXJ0aWVzKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoIShlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpKSB7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2V0VXNlcm5hbWUodXNlcklkOiBzdHJpbmcpIHtcbiAgICB0cnkge1xuICAgICAgbWl4cGFuZWwuaWRlbnRpZnkodXNlcklkKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoIShlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpKSB7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2V0VXNlclByb3BlcnRpZXMocHJvcGVydGllczogYW55KSB7XG4gICAgdHJ5IHtcbiAgICAgIG1peHBhbmVsLnBlb3BsZS5zZXQocHJvcGVydGllcyk7XG4gICAgfSBjYXRjaCAoZSkge1xuICAgICAgaWYgKCEoZSBpbnN0YW5jZW9mIFJlZmVyZW5jZUVycm9yKSkge1xuICAgICAgICB0aHJvdyBlO1xuICAgICAgfVxuICAgIH1cbiAgfVxuXG4gIHNldFVzZXJQcm9wZXJ0aWVzT25jZShwcm9wZXJ0aWVzOiBhbnkpIHtcbiAgICB0cnkge1xuICAgICAgbWl4cGFuZWwucGVvcGxlLnNldF9vbmNlKHByb3BlcnRpZXMpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmICghKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikpIHtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZXRTdXBlclByb3BlcnRpZXMocHJvcGVydGllczogYW55KSB7XG4gICAgdHJ5IHtcbiAgICAgIG1peHBhbmVsLnJlZ2lzdGVyKHByb3BlcnRpZXMpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmICghKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikpIHtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZXRTdXBlclByb3BlcnRpZXNPbmNlKHByb3BlcnRpZXM6IGFueSkge1xuICAgIHRyeSB7XG4gICAgICBtaXhwYW5lbC5yZWdpc3Rlcl9vbmNlKHByb3BlcnRpZXMpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmICghKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikpIHtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZXRBbGlhcyhhbGlhczogYW55KSB7XG4gICAgdHJ5IHtcbiAgICAgIG1peHBhbmVsLmFsaWFzKGFsaWFzKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoIShlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpKSB7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG4gICAgfVxuICB9XG59XG4iXX0=
@@ -0,0 +1,65 @@
1
+ import { Injectable } from '@angular/core';
2
+ import * as i0 from "@angular/core";
3
+ import * as i1 from "../../angulartics2-core";
4
+ export class Angulartics2Pyze {
5
+ constructor(angulartics2) {
6
+ this.angulartics2 = angulartics2;
7
+ this.angulartics2.setUsername.subscribe((x) => this.setUserProfile(x));
8
+ this.angulartics2.setUserProperties.subscribe(x => this.updateUserProfile(x));
9
+ }
10
+ startTracking() {
11
+ this.angulartics2.pageTrack
12
+ .pipe(this.angulartics2.filterDeveloperMode())
13
+ .subscribe(x => this.pageTrack(x.path));
14
+ this.angulartics2.eventTrack
15
+ .pipe(this.angulartics2.filterDeveloperMode())
16
+ .subscribe(x => this.eventTrack(x.action, x.properties));
17
+ }
18
+ pageTrack(path) {
19
+ try {
20
+ Pyze.postPageView('Page Viewed', { page: path });
21
+ }
22
+ catch (e) {
23
+ if (!(e instanceof ReferenceError)) {
24
+ throw e;
25
+ }
26
+ }
27
+ }
28
+ eventTrack(action, properties) {
29
+ try {
30
+ PyzeEvents.postCustomEventWithAttributes(action, properties);
31
+ }
32
+ catch (e) {
33
+ if (!(e instanceof ReferenceError)) {
34
+ throw e;
35
+ }
36
+ }
37
+ }
38
+ setUserProfile(userId) {
39
+ try {
40
+ PyzeIdentity.setUserProfile(userId);
41
+ }
42
+ catch (e) {
43
+ if (!(e instanceof ReferenceError)) {
44
+ throw e;
45
+ }
46
+ }
47
+ }
48
+ updateUserProfile(properties) {
49
+ try {
50
+ PyzeIdentity.updateUserProfile({}, properties);
51
+ }
52
+ catch (e) {
53
+ if (!(e instanceof ReferenceError)) {
54
+ throw e;
55
+ }
56
+ }
57
+ }
58
+ }
59
+ Angulartics2Pyze.ɵfac = i0.ɵɵngDeclareFactory({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Pyze, deps: [{ token: i1.Angulartics2 }], target: i0.ɵɵFactoryTarget.Injectable });
60
+ Angulartics2Pyze.ɵprov = i0.ɵɵngDeclareInjectable({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Pyze, providedIn: 'root' });
61
+ i0.ɵɵngDeclareClassMetadata({ minVersion: "12.0.0", version: "13.0.3", ngImport: i0, type: Angulartics2Pyze, decorators: [{
62
+ type: Injectable,
63
+ args: [{ providedIn: 'root' }]
64
+ }], ctorParameters: function () { return [{ type: i1.Angulartics2 }]; } });
65
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicHl6ZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uLy4uL3NyYy9saWIvcHJvdmlkZXJzL3B5emUvcHl6ZS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEVBQUUsVUFBVSxFQUFFLE1BQU0sZUFBZSxDQUFDOzs7QUFTM0MsTUFBTSxPQUFPLGdCQUFnQjtJQUMzQixZQUFvQixZQUEwQjtRQUExQixpQkFBWSxHQUFaLFlBQVksQ0FBYztRQUM1QyxJQUFJLENBQUMsWUFBWSxDQUFDLFdBQVcsQ0FBQyxTQUFTLENBQUMsQ0FBQyxDQUFTLEVBQUUsRUFBRSxDQUFDLElBQUksQ0FBQyxjQUFjLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztRQUMvRSxJQUFJLENBQUMsWUFBWSxDQUFDLGlCQUFpQixDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLElBQUksQ0FBQyxpQkFBaUIsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO0lBQ2hGLENBQUM7SUFFRCxhQUFhO1FBQ1gsSUFBSSxDQUFDLFlBQVksQ0FBQyxTQUFTO2FBQ3hCLElBQUksQ0FBQyxJQUFJLENBQUMsWUFBWSxDQUFDLG1CQUFtQixFQUFFLENBQUM7YUFDN0MsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQztRQUMxQyxJQUFJLENBQUMsWUFBWSxDQUFDLFVBQVU7YUFDekIsSUFBSSxDQUFDLElBQUksQ0FBQyxZQUFZLENBQUMsbUJBQW1CLEVBQUUsQ0FBQzthQUM3QyxTQUFTLENBQUMsQ0FBQyxDQUFDLEVBQUUsQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFVBQVUsQ0FBQyxDQUFDLENBQUM7SUFDN0QsQ0FBQztJQUVELFNBQVMsQ0FBQyxJQUFZO1FBQ3BCLElBQUk7WUFDRixJQUFJLENBQUMsWUFBWSxDQUFDLGFBQWEsRUFBRSxFQUFFLElBQUksRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDO1NBQ2xEO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksY0FBYyxDQUFDLEVBQUU7Z0JBQ2xDLE1BQU0sQ0FBQyxDQUFDO2FBQ1Q7U0FDRjtJQUNILENBQUM7SUFFRCxVQUFVLENBQUMsTUFBYyxFQUFFLFVBQWU7UUFDeEMsSUFBSTtZQUNGLFVBQVUsQ0FBQyw2QkFBNkIsQ0FBQyxNQUFNLEVBQUUsVUFBVSxDQUFDLENBQUM7U0FDOUQ7UUFBQyxPQUFPLENBQUMsRUFBRTtZQUNWLElBQUksQ0FBQyxDQUFDLENBQUMsWUFBWSxjQUFjLENBQUMsRUFBRTtnQkFDbEMsTUFBTSxDQUFDLENBQUM7YUFDVDtTQUNGO0lBQ0gsQ0FBQztJQUVELGNBQWMsQ0FBQyxNQUFjO1FBQzNCLElBQUk7WUFDRixZQUFZLENBQUMsY0FBYyxDQUFDLE1BQU0sQ0FBQyxDQUFDO1NBQ3JDO1FBQUMsT0FBTyxDQUFDLEVBQUU7WUFDVixJQUFJLENBQUMsQ0FBQyxDQUFDLFlBQVksY0FBYyxDQUFDLEVBQUU7Z0JBQ2xDLE1BQU0sQ0FBQyxDQUFDO2FBQ1Q7U0FDRjtJQUNILENBQUM7SUFFRCxpQkFBaUIsQ0FBQyxVQUFrQjtRQUNsQyxJQUFJO1lBQ0YsWUFBWSxDQUFDLGlCQUFpQixDQUFDLEVBQUUsRUFBQyxVQUFVLENBQUMsQ0FBQTtTQUM5QztRQUFDLE9BQU8sQ0FBQyxFQUFFO1lBQ1YsSUFBSSxDQUFDLENBQUMsQ0FBQyxZQUFZLGNBQWMsQ0FBQyxFQUFFO2dCQUNsQyxNQUFNLENBQUMsQ0FBQzthQUNUO1NBQ0Y7SUFDSCxDQUFDOzs2R0FyRFUsZ0JBQWdCO2lIQUFoQixnQkFBZ0IsY0FESCxNQUFNOzJGQUNuQixnQkFBZ0I7a0JBRDVCLFVBQVU7bUJBQUMsRUFBRSxVQUFVLEVBQUUsTUFBTSxFQUFFIiwic291cmNlc0NvbnRlbnQiOlsiaW1wb3J0IHsgSW5qZWN0YWJsZSB9IGZyb20gJ0Bhbmd1bGFyL2NvcmUnO1xuXG5pbXBvcnQgeyBBbmd1bGFydGljczIgfSBmcm9tICcuLi8uLi9hbmd1bGFydGljczItY29yZSc7XG5cbmRlY2xhcmUgdmFyIFB5emU6IGFueTtcbmRlY2xhcmUgdmFyIFB5emVFdmVudHM6IGFueTtcbmRlY2xhcmUgdmFyIFB5emVJZGVudGl0eTogYW55O1xuXG5ASW5qZWN0YWJsZSh7IHByb3ZpZGVkSW46ICdyb290JyB9KVxuZXhwb3J0IGNsYXNzIEFuZ3VsYXJ0aWNzMlB5emUge1xuICBjb25zdHJ1Y3Rvcihwcml2YXRlIGFuZ3VsYXJ0aWNzMjogQW5ndWxhcnRpY3MyKSB7XG4gICAgdGhpcy5hbmd1bGFydGljczIuc2V0VXNlcm5hbWUuc3Vic2NyaWJlKCh4OiBzdHJpbmcpID0+IHRoaXMuc2V0VXNlclByb2ZpbGUoeCkpO1xuICAgIHRoaXMuYW5ndWxhcnRpY3MyLnNldFVzZXJQcm9wZXJ0aWVzLnN1YnNjcmliZSh4ID0+IHRoaXMudXBkYXRlVXNlclByb2ZpbGUoeCkpO1xuICB9XG5cbiAgc3RhcnRUcmFja2luZygpOiB2b2lkIHtcbiAgICB0aGlzLmFuZ3VsYXJ0aWNzMi5wYWdlVHJhY2tcbiAgICAgIC5waXBlKHRoaXMuYW5ndWxhcnRpY3MyLmZpbHRlckRldmVsb3Blck1vZGUoKSlcbiAgICAgIC5zdWJzY3JpYmUoeCA9PiB0aGlzLnBhZ2VUcmFjayh4LnBhdGgpKTtcbiAgICB0aGlzLmFuZ3VsYXJ0aWNzMi5ldmVudFRyYWNrXG4gICAgICAucGlwZSh0aGlzLmFuZ3VsYXJ0aWNzMi5maWx0ZXJEZXZlbG9wZXJNb2RlKCkpXG4gICAgICAuc3Vic2NyaWJlKHggPT4gdGhpcy5ldmVudFRyYWNrKHguYWN0aW9uLCB4LnByb3BlcnRpZXMpKTtcbiAgfVxuXG4gIHBhZ2VUcmFjayhwYXRoOiBzdHJpbmcpIHtcbiAgICB0cnkge1xuICAgICAgUHl6ZS5wb3N0UGFnZVZpZXcoJ1BhZ2UgVmlld2VkJywgeyBwYWdlOiBwYXRoIH0pO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmICghKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikpIHtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBldmVudFRyYWNrKGFjdGlvbjogc3RyaW5nLCBwcm9wZXJ0aWVzOiBhbnkpIHtcbiAgICB0cnkge1xuICAgICAgUHl6ZUV2ZW50cy5wb3N0Q3VzdG9tRXZlbnRXaXRoQXR0cmlidXRlcyhhY3Rpb24sIHByb3BlcnRpZXMpO1xuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmICghKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikpIHtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cblxuICBzZXRVc2VyUHJvZmlsZSh1c2VySWQ6IHN0cmluZykge1xuICAgIHRyeSB7XG4gICAgICBQeXplSWRlbnRpdHkuc2V0VXNlclByb2ZpbGUodXNlcklkKTtcbiAgICB9IGNhdGNoIChlKSB7XG4gICAgICBpZiAoIShlIGluc3RhbmNlb2YgUmVmZXJlbmNlRXJyb3IpKSB7XG4gICAgICAgIHRocm93IGU7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgdXBkYXRlVXNlclByb2ZpbGUocHJvcGVydGllczogc3RyaW5nKSB7XG4gICAgdHJ5IHtcbiAgICAgIFB5emVJZGVudGl0eS51cGRhdGVVc2VyUHJvZmlsZSh7fSxwcm9wZXJ0aWVzKVxuICAgIH0gY2F0Y2ggKGUpIHtcbiAgICAgIGlmICghKGUgaW5zdGFuY2VvZiBSZWZlcmVuY2VFcnJvcikpIHtcbiAgICAgICAgdGhyb3cgZTtcbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdfQ==