angulartics2 9.1.0 → 12.0.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.
- package/LICENSE +1 -1
- package/README.md +8 -9
- package/angular-router.d.ts +3 -0
- package/angulartics2-core.d.ts +3 -1
- package/angulartics2.d.ts +1 -0
- package/angulartics2.module.d.ts +5 -0
- package/angulartics2On.d.ts +6 -0
- package/esm2020/angular-router.mjs +33 -0
- package/esm2020/angulartics2-config.mjs +19 -0
- package/esm2020/angulartics2-core.mjs +93 -0
- package/esm2020/angulartics2-interfaces.mjs +2 -0
- package/esm2020/angulartics2-token.mjs +3 -0
- package/esm2020/angulartics2.mjs +5 -0
- package/esm2020/angulartics2.module.mjs +30 -0
- package/esm2020/angulartics2On.mjs +66 -0
- package/esm2020/providers/adobeanalytics/adobeanalytics.mjs +98 -0
- package/esm2020/providers/amplitude/amplitude.mjs +68 -0
- package/esm2020/providers/appinsights/appinsights.mjs +118 -0
- package/esm2020/providers/baidu/baidu.mjs +81 -0
- package/esm2020/providers/clicky/clicky.interfaces.mjs +2 -0
- package/esm2020/providers/clicky/clicky.mjs +64 -0
- package/esm2020/providers/facebook/facebook.mjs +45 -0
- package/esm2020/providers/ga/ga.mjs +219 -0
- package/esm2020/providers/ga-enhanced-ecom/ga-enhanced-ecom-options.mjs +7 -0
- package/esm2020/providers/ga-enhanced-ecom/ga-enhanced-ecom.mjs +32 -0
- package/esm2020/providers/gosquared/gosquared.mjs +55 -0
- package/esm2020/providers/gst/gst-interfaces.mjs +2 -0
- package/esm2020/providers/gst/gst.mjs +197 -0
- package/esm2020/providers/gtm/gtm.mjs +114 -0
- package/esm2020/providers/hubspot/hubspot.mjs +40 -0
- package/esm2020/providers/ibm-digital-analytics/ibm-digital-analytics.mjs +125 -0
- package/esm2020/providers/intercom/intercom.mjs +60 -0
- package/esm2020/providers/kissmetrics/kissmetrics.mjs +40 -0
- package/esm2020/providers/launch/launch.mjs +59 -0
- package/esm2020/providers/matomo/matomo.mjs +303 -0
- package/esm2020/providers/mixpanel/mixpanel.mjs +109 -0
- package/esm2020/providers/pyze/pyze.mjs +65 -0
- package/esm2020/providers/segment/segment.mjs +100 -0
- package/esm2020/providers/splunk/splunk.mjs +46 -0
- package/esm2020/providers/woopra/woopra.mjs +61 -0
- package/esm2020/public_api.mjs +32 -0
- package/esm2020/routerless.mjs +10 -0
- package/esm2020/routerless.module.mjs +28 -0
- package/fesm2015/angulartics2.mjs +2248 -0
- package/fesm2015/angulartics2.mjs.map +1 -0
- package/fesm2020/angulartics2.mjs +2294 -0
- package/fesm2020/angulartics2.mjs.map +1 -0
- package/package.json +28 -16
- package/{adobeanalytics → providers/adobeanalytics}/README.md +1 -1
- package/{adobeanalytics → providers/adobeanalytics}/adobeanalytics.d.ts +4 -1
- package/{amplitude → providers/amplitude}/README.md +1 -1
- package/{amplitude → providers/amplitude}/amplitude.d.ts +4 -1
- package/{appinsights → providers/appinsights}/README.md +1 -1
- package/{appinsights → providers/appinsights}/appinsights.d.ts +5 -1
- package/{baidu → providers/baidu}/README.md +1 -1
- package/{baidu → providers/baidu}/baidu.d.ts +4 -1
- package/{clicky → providers/clicky}/README.md +1 -1
- package/{clicky → providers/clicky}/clicky.d.ts +4 -1
- package/{clicky → providers/clicky}/clicky.interfaces.d.ts +0 -0
- package/{facebook → providers/facebook}/README.md +1 -1
- package/{facebook → providers/facebook}/facebook.d.ts +4 -1
- package/{ga → providers/ga}/README.md +1 -1
- package/{ga → providers/ga}/ga.d.ts +6 -1
- package/{ga-enhanced-ecom → providers/ga-enhanced-ecom}/README.md +1 -1
- package/{ga-enhanced-ecom → providers/ga-enhanced-ecom}/ga-enhanced-ecom-options.d.ts +0 -0
- package/{ga-enhanced-ecom → providers/ga-enhanced-ecom}/ga-enhanced-ecom.d.ts +3 -0
- package/{gosquared → providers/gosquared}/README.md +1 -1
- package/{gosquared → providers/gosquared}/gosquared.d.ts +4 -1
- package/{gst → providers/gst}/README.md +2 -2
- package/{gst → providers/gst}/gst-interfaces.d.ts +0 -0
- package/{gst → providers/gst}/gst.d.ts +5 -1
- package/{gtm → providers/gtm}/README.md +2 -2
- package/{gtm → providers/gtm}/gtm.d.ts +5 -1
- package/{hubspot → providers/hubspot}/README.md +1 -1
- package/{hubspot → providers/hubspot}/hubspot.d.ts +4 -1
- package/{ibm-digital-analytics → providers/ibm-digital-analytics}/README.md +2 -2
- package/{ibm-digital-analytics → providers/ibm-digital-analytics}/ibm-digital-analytics.d.ts +4 -1
- package/{intercom → providers/intercom}/README.md +1 -1
- package/{intercom → providers/intercom}/intercom.d.ts +4 -1
- package/{kissmetrics → providers/kissmetrics}/README.md +1 -1
- package/{kissmetrics → providers/kissmetrics}/kissmetrics.d.ts +4 -1
- package/{launch → providers/launch}/README.md +3 -3
- package/{launch → providers/launch}/launch.d.ts +4 -1
- package/{piwik → providers/matomo}/README.md +20 -20
- package/providers/matomo/matomo.d.ts +140 -0
- package/{mixpanel → providers/mixpanel}/README.md +2 -2
- package/{mixpanel → providers/mixpanel}/mixpanel.d.ts +4 -1
- package/{pyze → providers/pyze}/README.md +1 -1
- package/{pyze → providers/pyze}/pyze.d.ts +4 -1
- package/{segment → providers/segment}/README.md +3 -3
- package/{segment → providers/segment}/segment.d.ts +4 -1
- package/{splunk → providers/splunk}/README.md +2 -2
- package/providers/splunk/splunk.d.ts +11 -0
- package/{woopra → providers/woopra}/README.md +1 -1
- package/{woopra → providers/woopra}/woopra.d.ts +4 -1
- package/public_api.d.ts +23 -0
- package/routerless.module.d.ts +10 -0
- package/adobeanalytics/angulartics2-adobeanalytics.d.ts +0 -4
- package/adobeanalytics/angulartics2-adobeanalytics.metadata.json +0 -1
- package/adobeanalytics/bundles/angulartics2-adobeanalytics.umd.js +0 -326
- package/adobeanalytics/bundles/angulartics2-adobeanalytics.umd.js.map +0 -1
- package/adobeanalytics/bundles/angulartics2-adobeanalytics.umd.min.js +0 -16
- package/adobeanalytics/bundles/angulartics2-adobeanalytics.umd.min.js.map +0 -1
- package/adobeanalytics/esm2015/adobeanalytics.js +0 -105
- package/adobeanalytics/esm2015/angulartics2-adobeanalytics.js +0 -5
- package/adobeanalytics/esm5/adobeanalytics.js +0 -108
- package/adobeanalytics/esm5/angulartics2-adobeanalytics.js +0 -5
- package/adobeanalytics/fesm2015/angulartics2-adobeanalytics.js +0 -108
- package/adobeanalytics/fesm2015/angulartics2-adobeanalytics.js.map +0 -1
- package/adobeanalytics/fesm5/angulartics2-adobeanalytics.js +0 -111
- package/adobeanalytics/fesm5/angulartics2-adobeanalytics.js.map +0 -1
- package/adobeanalytics/package.json +0 -22
- package/amplitude/angulartics2-amplitude.d.ts +0 -4
- package/amplitude/angulartics2-amplitude.metadata.json +0 -1
- package/amplitude/bundles/angulartics2-amplitude.umd.js +0 -298
- package/amplitude/bundles/angulartics2-amplitude.umd.js.map +0 -1
- package/amplitude/bundles/angulartics2-amplitude.umd.min.js +0 -16
- package/amplitude/bundles/angulartics2-amplitude.umd.min.js.map +0 -1
- package/amplitude/esm2015/amplitude.js +0 -75
- package/amplitude/esm2015/angulartics2-amplitude.js +0 -5
- package/amplitude/esm5/amplitude.js +0 -78
- package/amplitude/esm5/angulartics2-amplitude.js +0 -5
- package/amplitude/fesm2015/angulartics2-amplitude.js +0 -79
- package/amplitude/fesm2015/angulartics2-amplitude.js.map +0 -1
- package/amplitude/fesm5/angulartics2-amplitude.js +0 -82
- package/amplitude/fesm5/angulartics2-amplitude.js.map +0 -1
- package/amplitude/package.json +0 -22
- package/angulartics2.metadata.json +0 -1
- package/appinsights/angulartics2-appinsights.d.ts +0 -4
- package/appinsights/angulartics2-appinsights.metadata.json +0 -1
- package/appinsights/bundles/angulartics2-appinsights.umd.js +0 -344
- package/appinsights/bundles/angulartics2-appinsights.umd.js.map +0 -1
- package/appinsights/bundles/angulartics2-appinsights.umd.min.js +0 -16
- package/appinsights/bundles/angulartics2-appinsights.umd.min.js.map +0 -1
- package/appinsights/esm2015/angulartics2-appinsights.js +0 -5
- package/appinsights/esm2015/appinsights.js +0 -124
- package/appinsights/esm5/angulartics2-appinsights.js +0 -5
- package/appinsights/esm5/appinsights.js +0 -129
- package/appinsights/fesm2015/angulartics2-appinsights.js +0 -126
- package/appinsights/fesm2015/angulartics2-appinsights.js.map +0 -1
- package/appinsights/fesm5/angulartics2-appinsights.js +0 -130
- package/appinsights/fesm5/angulartics2-appinsights.js.map +0 -1
- package/appinsights/package.json +0 -22
- package/baidu/angulartics2-baidu.d.ts +0 -4
- package/baidu/angulartics2-baidu.metadata.json +0 -1
- package/baidu/bundles/angulartics2-baidu.umd.js +0 -308
- package/baidu/bundles/angulartics2-baidu.umd.js.map +0 -1
- package/baidu/bundles/angulartics2-baidu.umd.min.js +0 -16
- package/baidu/bundles/angulartics2-baidu.umd.min.js.map +0 -1
- package/baidu/esm2015/angulartics2-baidu.js +0 -5
- package/baidu/esm2015/baidu.js +0 -85
- package/baidu/esm5/angulartics2-baidu.js +0 -5
- package/baidu/esm5/baidu.js +0 -88
- package/baidu/fesm2015/angulartics2-baidu.js +0 -89
- package/baidu/fesm2015/angulartics2-baidu.js.map +0 -1
- package/baidu/fesm5/angulartics2-baidu.js +0 -92
- package/baidu/fesm5/angulartics2-baidu.js.map +0 -1
- package/baidu/package.json +0 -22
- package/bundles/angulartics2.umd.js +0 -489
- package/bundles/angulartics2.umd.js.map +0 -1
- package/bundles/angulartics2.umd.min.js +0 -16
- package/bundles/angulartics2.umd.min.js.map +0 -1
- package/clicky/angulartics2-clicky.d.ts +0 -4
- package/clicky/angulartics2-clicky.metadata.json +0 -1
- package/clicky/bundles/angulartics2-clicky.umd.js +0 -290
- package/clicky/bundles/angulartics2-clicky.umd.js.map +0 -1
- package/clicky/bundles/angulartics2-clicky.umd.min.js +0 -16
- package/clicky/bundles/angulartics2-clicky.umd.min.js.map +0 -1
- package/clicky/esm2015/angulartics2-clicky.js +0 -5
- package/clicky/esm2015/clicky.interfaces.js +0 -1
- package/clicky/esm2015/clicky.js +0 -70
- package/clicky/esm5/angulartics2-clicky.js +0 -5
- package/clicky/esm5/clicky.interfaces.js +0 -1
- package/clicky/esm5/clicky.js +0 -72
- package/clicky/fesm2015/angulartics2-clicky.js +0 -73
- package/clicky/fesm2015/angulartics2-clicky.js.map +0 -1
- package/clicky/fesm5/angulartics2-clicky.js +0 -75
- package/clicky/fesm5/angulartics2-clicky.js.map +0 -1
- package/clicky/package.json +0 -22
- package/esm2015/angular-router.js +0 -38
- package/esm2015/angulartics2-config.js +0 -19
- package/esm2015/angulartics2-core.js +0 -93
- package/esm2015/angulartics2-interfaces.js +0 -1
- package/esm2015/angulartics2-token.js +0 -3
- package/esm2015/angulartics2.js +0 -5
- package/esm2015/angulartics2.module.js +0 -28
- package/esm2015/angulartics2On.js +0 -68
- package/esm2015/public_api.js +0 -8
- package/esm2015/routerless.js +0 -10
- package/esm5/angular-router.js +0 -39
- package/esm5/angulartics2-config.js +0 -21
- package/esm5/angulartics2-core.js +0 -110
- package/esm5/angulartics2-interfaces.js +0 -1
- package/esm5/angulartics2-token.js +0 -3
- package/esm5/angulartics2.js +0 -5
- package/esm5/angulartics2.module.js +0 -33
- package/esm5/angulartics2On.js +0 -73
- package/esm5/public_api.js +0 -8
- package/esm5/routerless.js +0 -14
- package/facebook/angulartics2-facebook.d.ts +0 -4
- package/facebook/angulartics2-facebook.metadata.json +0 -1
- package/facebook/bundles/angulartics2-facebook.umd.js +0 -272
- package/facebook/bundles/angulartics2-facebook.umd.js.map +0 -1
- package/facebook/bundles/angulartics2-facebook.umd.min.js +0 -16
- package/facebook/bundles/angulartics2-facebook.umd.min.js.map +0 -1
- package/facebook/esm2015/angulartics2-facebook.js +0 -5
- package/facebook/esm2015/facebook.js +0 -49
- package/facebook/esm5/angulartics2-facebook.js +0 -5
- package/facebook/esm5/facebook.js +0 -52
- package/facebook/fesm2015/angulartics2-facebook.js +0 -53
- package/facebook/fesm2015/angulartics2-facebook.js.map +0 -1
- package/facebook/fesm5/angulartics2-facebook.js +0 -56
- package/facebook/fesm5/angulartics2-facebook.js.map +0 -1
- package/facebook/package.json +0 -22
- package/fesm2015/angulartics2.js +0 -237
- package/fesm2015/angulartics2.js.map +0 -1
- package/fesm5/angulartics2.js +0 -269
- package/fesm5/angulartics2.js.map +0 -1
- package/ga/angulartics2-ga.d.ts +0 -4
- package/ga/angulartics2-ga.metadata.json +0 -1
- package/ga/bundles/angulartics2-ga.umd.js +0 -509
- package/ga/bundles/angulartics2-ga.umd.js.map +0 -1
- package/ga/bundles/angulartics2-ga.umd.min.js +0 -16
- package/ga/bundles/angulartics2-ga.umd.min.js.map +0 -1
- package/ga/esm2015/angulartics2-ga.js +0 -5
- package/ga/esm2015/ga.js +0 -209
- package/ga/esm5/angulartics2-ga.js +0 -5
- package/ga/esm5/ga.js +0 -289
- package/ga/fesm2015/angulartics2-ga.js +0 -213
- package/ga/fesm2015/angulartics2-ga.js.map +0 -1
- package/ga/fesm5/angulartics2-ga.js +0 -292
- package/ga/fesm5/angulartics2-ga.js.map +0 -1
- package/ga/package.json +0 -22
- package/ga-enhanced-ecom/angulartics2-ga-enhanced-ecom.d.ts +0 -4
- package/ga-enhanced-ecom/angulartics2-ga-enhanced-ecom.metadata.json +0 -1
- package/ga-enhanced-ecom/bundles/angulartics2-ga-enhanced-ecom.umd.js +0 -257
- package/ga-enhanced-ecom/bundles/angulartics2-ga-enhanced-ecom.umd.js.map +0 -1
- package/ga-enhanced-ecom/bundles/angulartics2-ga-enhanced-ecom.umd.min.js +0 -16
- package/ga-enhanced-ecom/bundles/angulartics2-ga-enhanced-ecom.umd.min.js.map +0 -1
- package/ga-enhanced-ecom/esm2015/angulartics2-ga-enhanced-ecom.js +0 -5
- package/ga-enhanced-ecom/esm2015/ga-enhanced-ecom-options.js +0 -6
- package/ga-enhanced-ecom/esm2015/ga-enhanced-ecom.js +0 -32
- package/ga-enhanced-ecom/esm5/angulartics2-ga-enhanced-ecom.js +0 -5
- package/ga-enhanced-ecom/esm5/ga-enhanced-ecom-options.js +0 -6
- package/ga-enhanced-ecom/esm5/ga-enhanced-ecom.js +0 -35
- package/ga-enhanced-ecom/fesm2015/angulartics2-ga-enhanced-ecom.js +0 -37
- package/ga-enhanced-ecom/fesm2015/angulartics2-ga-enhanced-ecom.js.map +0 -1
- package/ga-enhanced-ecom/fesm5/angulartics2-ga-enhanced-ecom.js +0 -40
- package/ga-enhanced-ecom/fesm5/angulartics2-ga-enhanced-ecom.js.map +0 -1
- package/ga-enhanced-ecom/package.json +0 -22
- package/gosquared/angulartics2-gosquared.d.ts +0 -4
- package/gosquared/angulartics2-gosquared.metadata.json +0 -1
- package/gosquared/bundles/angulartics2-gosquared.umd.js +0 -286
- package/gosquared/bundles/angulartics2-gosquared.umd.js.map +0 -1
- package/gosquared/bundles/angulartics2-gosquared.umd.min.js +0 -16
- package/gosquared/bundles/angulartics2-gosquared.umd.min.js.map +0 -1
- package/gosquared/esm2015/angulartics2-gosquared.js +0 -5
- package/gosquared/esm2015/gosquared.js +0 -59
- package/gosquared/esm5/angulartics2-gosquared.js +0 -5
- package/gosquared/esm5/gosquared.js +0 -66
- package/gosquared/fesm2015/angulartics2-gosquared.js +0 -63
- package/gosquared/fesm2015/angulartics2-gosquared.js.map +0 -1
- package/gosquared/fesm5/angulartics2-gosquared.js +0 -70
- package/gosquared/fesm5/angulartics2-gosquared.js.map +0 -1
- package/gosquared/package.json +0 -22
- package/gst/angulartics2-gst.d.ts +0 -4
- package/gst/angulartics2-gst.metadata.json +0 -1
- package/gst/bundles/angulartics2-gst.umd.js +0 -423
- package/gst/bundles/angulartics2-gst.umd.js.map +0 -1
- package/gst/bundles/angulartics2-gst.umd.min.js +0 -16
- package/gst/bundles/angulartics2-gst.umd.min.js.map +0 -1
- package/gst/esm2015/angulartics2-gst.js +0 -5
- package/gst/esm2015/gst-interfaces.js +0 -1
- package/gst/esm2015/gst.js +0 -184
- package/gst/esm5/angulartics2-gst.js +0 -5
- package/gst/esm5/gst-interfaces.js +0 -1
- package/gst/esm5/gst.js +0 -203
- package/gst/fesm2015/angulartics2-gst.js +0 -188
- package/gst/fesm2015/angulartics2-gst.js.map +0 -1
- package/gst/fesm5/angulartics2-gst.js +0 -206
- package/gst/fesm5/angulartics2-gst.js.map +0 -1
- package/gst/package.json +0 -22
- package/gtm/angulartics2-gtm.d.ts +0 -4
- package/gtm/angulartics2-gtm.metadata.json +0 -1
- package/gtm/bundles/angulartics2-gtm.umd.js +0 -335
- package/gtm/bundles/angulartics2-gtm.umd.js.map +0 -1
- package/gtm/bundles/angulartics2-gtm.umd.min.js +0 -16
- package/gtm/bundles/angulartics2-gtm.umd.min.js.map +0 -1
- package/gtm/esm2015/angulartics2-gtm.js +0 -5
- package/gtm/esm2015/gtm.js +0 -110
- package/gtm/esm5/angulartics2-gtm.js +0 -5
- package/gtm/esm5/gtm.js +0 -115
- package/gtm/fesm2015/angulartics2-gtm.js +0 -114
- package/gtm/fesm2015/angulartics2-gtm.js.map +0 -1
- package/gtm/fesm5/angulartics2-gtm.js +0 -118
- package/gtm/fesm5/angulartics2-gtm.js.map +0 -1
- package/gtm/package.json +0 -22
- package/hubspot/angulartics2-hubspot.d.ts +0 -4
- package/hubspot/angulartics2-hubspot.metadata.json +0 -1
- package/hubspot/bundles/angulartics2-hubspot.umd.js +0 -268
- package/hubspot/bundles/angulartics2-hubspot.umd.js.map +0 -1
- package/hubspot/bundles/angulartics2-hubspot.umd.min.js +0 -16
- package/hubspot/bundles/angulartics2-hubspot.umd.min.js.map +0 -1
- package/hubspot/esm2015/angulartics2-hubspot.js +0 -5
- package/hubspot/esm2015/hubspot.js +0 -45
- package/hubspot/esm5/angulartics2-hubspot.js +0 -5
- package/hubspot/esm5/hubspot.js +0 -48
- package/hubspot/fesm2015/angulartics2-hubspot.js +0 -49
- package/hubspot/fesm2015/angulartics2-hubspot.js.map +0 -1
- package/hubspot/fesm5/angulartics2-hubspot.js +0 -52
- package/hubspot/fesm5/angulartics2-hubspot.js.map +0 -1
- package/hubspot/package.json +0 -22
- package/ibm-digital-analytics/angulartics2-ibm-digital-analytics.d.ts +0 -4
- package/ibm-digital-analytics/angulartics2-ibm-digital-analytics.metadata.json +0 -1
- package/ibm-digital-analytics/bundles/angulartics2-ibm-digital-analytics.umd.js +0 -352
- package/ibm-digital-analytics/bundles/angulartics2-ibm-digital-analytics.umd.js.map +0 -1
- package/ibm-digital-analytics/bundles/angulartics2-ibm-digital-analytics.umd.min.js +0 -16
- package/ibm-digital-analytics/bundles/angulartics2-ibm-digital-analytics.umd.min.js.map +0 -1
- package/ibm-digital-analytics/esm2015/angulartics2-ibm-digital-analytics.js +0 -5
- package/ibm-digital-analytics/esm2015/ibm-digital-analytics.js +0 -129
- package/ibm-digital-analytics/esm5/angulartics2-ibm-digital-analytics.js +0 -5
- package/ibm-digital-analytics/esm5/ibm-digital-analytics.js +0 -132
- package/ibm-digital-analytics/fesm2015/angulartics2-ibm-digital-analytics.js +0 -133
- package/ibm-digital-analytics/fesm2015/angulartics2-ibm-digital-analytics.js.map +0 -1
- package/ibm-digital-analytics/fesm5/angulartics2-ibm-digital-analytics.js +0 -136
- package/ibm-digital-analytics/fesm5/angulartics2-ibm-digital-analytics.js.map +0 -1
- package/ibm-digital-analytics/package.json +0 -22
- package/intercom/angulartics2-intercom.d.ts +0 -4
- package/intercom/angulartics2-intercom.metadata.json +0 -1
- package/intercom/bundles/angulartics2-intercom.umd.js +0 -289
- package/intercom/bundles/angulartics2-intercom.umd.js.map +0 -1
- package/intercom/bundles/angulartics2-intercom.umd.min.js +0 -16
- package/intercom/bundles/angulartics2-intercom.umd.min.js.map +0 -1
- package/intercom/esm2015/angulartics2-intercom.js +0 -5
- package/intercom/esm2015/intercom.js +0 -66
- package/intercom/esm5/angulartics2-intercom.js +0 -5
- package/intercom/esm5/intercom.js +0 -69
- package/intercom/fesm2015/angulartics2-intercom.js +0 -70
- package/intercom/fesm2015/angulartics2-intercom.js.map +0 -1
- package/intercom/fesm5/angulartics2-intercom.js +0 -73
- package/intercom/fesm5/angulartics2-intercom.js.map +0 -1
- package/intercom/package.json +0 -22
- package/kissmetrics/angulartics2-kissmetrics.d.ts +0 -4
- package/kissmetrics/angulartics2-kissmetrics.metadata.json +0 -1
- package/kissmetrics/bundles/angulartics2-kissmetrics.umd.js +0 -269
- package/kissmetrics/bundles/angulartics2-kissmetrics.umd.js.map +0 -1
- package/kissmetrics/bundles/angulartics2-kissmetrics.umd.min.js +0 -16
- package/kissmetrics/bundles/angulartics2-kissmetrics.umd.min.js.map +0 -1
- package/kissmetrics/esm2015/angulartics2-kissmetrics.js +0 -5
- package/kissmetrics/esm2015/kissmetrics.js +0 -46
- package/kissmetrics/esm5/angulartics2-kissmetrics.js +0 -5
- package/kissmetrics/esm5/kissmetrics.js +0 -49
- package/kissmetrics/fesm2015/angulartics2-kissmetrics.js +0 -50
- package/kissmetrics/fesm2015/angulartics2-kissmetrics.js.map +0 -1
- package/kissmetrics/fesm5/angulartics2-kissmetrics.js +0 -53
- package/kissmetrics/fesm5/angulartics2-kissmetrics.js.map +0 -1
- package/kissmetrics/package.json +0 -25
- package/launch/angulartics2-launch.d.ts +0 -4
- package/launch/angulartics2-launch.metadata.json +0 -1
- package/launch/bundles/angulartics2-launch.umd.js +0 -288
- package/launch/bundles/angulartics2-launch.umd.js.map +0 -1
- package/launch/bundles/angulartics2-launch.umd.min.js +0 -16
- package/launch/bundles/angulartics2-launch.umd.min.js.map +0 -1
- package/launch/esm2015/angulartics2-launch.js +0 -5
- package/launch/esm2015/launch.js +0 -65
- package/launch/esm5/angulartics2-launch.js +0 -5
- package/launch/esm5/launch.js +0 -68
- package/launch/fesm2015/angulartics2-launch.js +0 -69
- package/launch/fesm2015/angulartics2-launch.js.map +0 -1
- package/launch/fesm5/angulartics2-launch.js +0 -72
- package/launch/fesm5/angulartics2-launch.js.map +0 -1
- package/launch/package.json +0 -22
- package/mixpanel/angulartics2-mixpanel.d.ts +0 -4
- package/mixpanel/angulartics2-mixpanel.metadata.json +0 -1
- package/mixpanel/bundles/angulartics2-mixpanel.umd.js +0 -342
- package/mixpanel/bundles/angulartics2-mixpanel.umd.js.map +0 -1
- package/mixpanel/bundles/angulartics2-mixpanel.umd.min.js +0 -16
- package/mixpanel/bundles/angulartics2-mixpanel.umd.min.js.map +0 -1
- package/mixpanel/esm2015/angulartics2-mixpanel.js +0 -5
- package/mixpanel/esm2015/mixpanel.js +0 -119
- package/mixpanel/esm5/angulartics2-mixpanel.js +0 -5
- package/mixpanel/esm5/mixpanel.js +0 -122
- package/mixpanel/fesm2015/angulartics2-mixpanel.js +0 -123
- package/mixpanel/fesm2015/angulartics2-mixpanel.js.map +0 -1
- package/mixpanel/fesm5/angulartics2-mixpanel.js +0 -126
- package/mixpanel/fesm5/angulartics2-mixpanel.js.map +0 -1
- package/mixpanel/package.json +0 -22
- package/piwik/angulartics2-piwik.d.ts +0 -4
- package/piwik/angulartics2-piwik.metadata.json +0 -1
- package/piwik/bundles/angulartics2-piwik.umd.js +0 -478
- package/piwik/bundles/angulartics2-piwik.umd.js.map +0 -1
- package/piwik/bundles/angulartics2-piwik.umd.min.js +0 -16
- package/piwik/bundles/angulartics2-piwik.umd.min.js.map +0 -1
- package/piwik/esm2015/angulartics2-piwik.js +0 -5
- package/piwik/esm2015/piwik.js +0 -254
- package/piwik/esm5/angulartics2-piwik.js +0 -5
- package/piwik/esm5/piwik.js +0 -258
- package/piwik/fesm2015/angulartics2-piwik.js +0 -258
- package/piwik/fesm2015/angulartics2-piwik.js.map +0 -1
- package/piwik/fesm5/angulartics2-piwik.js +0 -262
- package/piwik/fesm5/angulartics2-piwik.js.map +0 -1
- package/piwik/package.json +0 -22
- package/piwik/piwik.d.ts +0 -27
- package/pyze/angulartics2-pyze.d.ts +0 -4
- package/pyze/angulartics2-pyze.metadata.json +0 -1
- package/pyze/bundles/angulartics2-pyze.umd.js +0 -292
- package/pyze/bundles/angulartics2-pyze.umd.js.map +0 -1
- package/pyze/bundles/angulartics2-pyze.umd.min.js +0 -16
- package/pyze/bundles/angulartics2-pyze.umd.min.js.map +0 -1
- package/pyze/esm2015/angulartics2-pyze.js +0 -5
- package/pyze/esm2015/pyze.js +0 -69
- package/pyze/esm5/angulartics2-pyze.js +0 -5
- package/pyze/esm5/pyze.js +0 -72
- package/pyze/fesm2015/angulartics2-pyze.js +0 -73
- package/pyze/fesm2015/angulartics2-pyze.js.map +0 -1
- package/pyze/fesm5/angulartics2-pyze.js +0 -76
- package/pyze/fesm5/angulartics2-pyze.js.map +0 -1
- package/pyze/package.json +0 -22
- package/routerlessmodule/angulartics2-routerlessmodule.d.ts +0 -4
- package/routerlessmodule/angulartics2-routerlessmodule.metadata.json +0 -1
- package/routerlessmodule/bundles/angulartics2-routerlessmodule.umd.js +0 -250
- package/routerlessmodule/bundles/angulartics2-routerlessmodule.umd.js.map +0 -1
- package/routerlessmodule/bundles/angulartics2-routerlessmodule.umd.min.js +0 -16
- package/routerlessmodule/bundles/angulartics2-routerlessmodule.umd.min.js.map +0 -1
- package/routerlessmodule/esm2015/angulartics2-routerlessmodule.js +0 -5
- package/routerlessmodule/esm2015/routerless.module.js +0 -23
- package/routerlessmodule/esm5/angulartics2-routerlessmodule.js +0 -5
- package/routerlessmodule/esm5/routerless.module.js +0 -28
- package/routerlessmodule/fesm2015/angulartics2-routerlessmodule.js +0 -29
- package/routerlessmodule/fesm2015/angulartics2-routerlessmodule.js.map +0 -1
- package/routerlessmodule/fesm5/angulartics2-routerlessmodule.js +0 -34
- package/routerlessmodule/fesm5/angulartics2-routerlessmodule.js.map +0 -1
- package/routerlessmodule/package.json +0 -22
- package/routerlessmodule/routerless.module.d.ts +0 -5
- package/segment/angulartics2-segment.d.ts +0 -4
- package/segment/angulartics2-segment.metadata.json +0 -1
- package/segment/bundles/angulartics2-segment.umd.js +0 -330
- package/segment/bundles/angulartics2-segment.umd.js.map +0 -1
- package/segment/bundles/angulartics2-segment.umd.min.js +0 -16
- package/segment/bundles/angulartics2-segment.umd.min.js.map +0 -1
- package/segment/esm2015/angulartics2-segment.js +0 -5
- package/segment/esm2015/segment.js +0 -107
- package/segment/esm5/angulartics2-segment.js +0 -5
- package/segment/esm5/segment.js +0 -110
- package/segment/fesm2015/angulartics2-segment.js +0 -111
- package/segment/fesm2015/angulartics2-segment.js.map +0 -1
- package/segment/fesm5/angulartics2-segment.js +0 -114
- package/segment/fesm5/angulartics2-segment.js.map +0 -1
- package/segment/package.json +0 -22
- package/splunk/angulartics2-splunk.d.ts +0 -4
- package/splunk/angulartics2-splunk.metadata.json +0 -1
- package/splunk/bundles/angulartics2-splunk.umd.js +0 -272
- package/splunk/bundles/angulartics2-splunk.umd.js.map +0 -1
- package/splunk/bundles/angulartics2-splunk.umd.min.js +0 -16
- package/splunk/bundles/angulartics2-splunk.umd.min.js.map +0 -1
- package/splunk/esm2015/angulartics2-splunk.js +0 -5
- package/splunk/esm2015/splunk.js +0 -50
- package/splunk/esm5/angulartics2-splunk.js +0 -5
- package/splunk/esm5/splunk.js +0 -52
- package/splunk/fesm2015/angulartics2-splunk.js +0 -54
- package/splunk/fesm2015/angulartics2-splunk.js.map +0 -1
- package/splunk/fesm5/angulartics2-splunk.js +0 -56
- package/splunk/fesm5/angulartics2-splunk.js.map +0 -1
- package/splunk/package.json +0 -22
- package/splunk/splunk.d.ts +0 -8
- package/uiroutermodule/angulartics2-uiroutermodule.d.ts +0 -4
- package/uiroutermodule/angulartics2-uiroutermodule.metadata.json +0 -1
- package/uiroutermodule/bundles/angulartics2-uiroutermodule.umd.js +0 -288
- package/uiroutermodule/bundles/angulartics2-uiroutermodule.umd.js.map +0 -1
- package/uiroutermodule/bundles/angulartics2-uiroutermodule.umd.min.js +0 -16
- package/uiroutermodule/bundles/angulartics2-uiroutermodule.umd.min.js.map +0 -1
- package/uiroutermodule/esm2015/angulartics2-uiroutermodule.js +0 -5
- package/uiroutermodule/esm2015/public_api.js +0 -3
- package/uiroutermodule/esm2015/uirouter.js +0 -42
- package/uiroutermodule/esm2015/uirouter.module.js +0 -24
- package/uiroutermodule/esm5/angulartics2-uiroutermodule.js +0 -5
- package/uiroutermodule/esm5/public_api.js +0 -3
- package/uiroutermodule/esm5/uirouter.js +0 -44
- package/uiroutermodule/esm5/uirouter.module.js +0 -29
- package/uiroutermodule/fesm2015/angulartics2-uiroutermodule.js +0 -66
- package/uiroutermodule/fesm2015/angulartics2-uiroutermodule.js.map +0 -1
- package/uiroutermodule/fesm5/angulartics2-uiroutermodule.js +0 -73
- package/uiroutermodule/fesm5/angulartics2-uiroutermodule.js.map +0 -1
- package/uiroutermodule/package.json +0 -22
- package/uiroutermodule/public_api.d.ts +0 -2
- package/uiroutermodule/uirouter.d.ts +0 -17
- package/uiroutermodule/uirouter.module.d.ts +0 -5
- package/woopra/angulartics2-woopra.d.ts +0 -4
- package/woopra/angulartics2-woopra.metadata.json +0 -1
- package/woopra/bundles/angulartics2-woopra.umd.js +0 -289
- package/woopra/bundles/angulartics2-woopra.umd.js.map +0 -1
- package/woopra/bundles/angulartics2-woopra.umd.min.js +0 -16
- package/woopra/bundles/angulartics2-woopra.umd.min.js.map +0 -1
- package/woopra/esm2015/angulartics2-woopra.js +0 -5
- package/woopra/esm2015/woopra.js +0 -66
- package/woopra/esm5/angulartics2-woopra.js +0 -5
- package/woopra/esm5/woopra.js +0 -69
- package/woopra/fesm2015/angulartics2-woopra.js +0 -70
- package/woopra/fesm2015/angulartics2-woopra.js.map +0 -1
- package/woopra/fesm5/angulartics2-woopra.js +0 -73
- package/woopra/fesm5/angulartics2-woopra.js.map +0 -1
- package/woopra/package.json +0 -22
@@ -1 +0,0 @@
|
|
1
|
-
{"version":3,"sources":["../../../../node_modules/tslib/tslib.es6.js","ng://angulartics2/ga/ga.ts"],"names":["__assign","Object","assign","t","s","i","n","arguments","length","p","prototype","hasOwnProperty","call","apply","this","__values","o","Symbol","iterator","m","next","value","done","TypeError","additionalAccountNames","userId","transport","anonymizeIp","Angulartics2GoogleAnalytics","angulartics2","_this","dimensionsAndMetrics","defaults","GoogleAnalyticsDefaults","settings","ga","setUsername","subscribe","x","setUserProperties","startTracking","pageTrack","pipe","filterDeveloperMode","path","eventTrack","action","properties","exceptionTrack","userTimings","_gaq","push","_e","_f","accountName","_g","_h","_j","_k","_l","_m","category","parsed","parseInt","isNaN","eventOptions","eventCategory","eventAction","eventLabel","label","eventValue","nonInteraction","noninteraction","page","location","hash","substring","pathname","hitCallback","setDimensionsAndMetrics","_b","_c","undefined","fatal","console","log","exDescription","description","exFatal","timingCategory","timingVar","timingValue","error","forEach","elem","keys","key","lastIndexOf","Angulartics2","decorators","target","desc","d","c","r","getOwnPropertyDescriptor","Reflect","decorate","defineProperty","__decorate","Injectable","providedIn"],"mappings":"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","sourcesContent":["/*! *****************************************************************************\r\nCopyright (c) Microsoft Corporation.\r\n\r\nPermission to use, copy, modify, and/or distribute this software for any\r\npurpose with or without fee is hereby granted.\r\n\r\nTHE SOFTWARE IS PROVIDED \"AS IS\" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH\r\nREGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY\r\nAND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,\r\nINDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM\r\nLOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR\r\nOTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR\r\nPERFORMANCE OF THIS SOFTWARE.\r\n***************************************************************************** */\r\n/* global Reflect, Promise */\r\n\r\nvar extendStatics = function(d, b) {\r\n extendStatics = Object.setPrototypeOf ||\r\n ({ __proto__: [] } instanceof Array && function (d, b) { d.__proto__ = b; }) ||\r\n function (d, b) { for (var p in b) if (b.hasOwnProperty(p)) d[p] = b[p]; };\r\n return extendStatics(d, b);\r\n};\r\n\r\nexport function __extends(d, b) {\r\n extendStatics(d, b);\r\n function __() { this.constructor = d; }\r\n d.prototype = b === null ? Object.create(b) : (__.prototype = b.prototype, new __());\r\n}\r\n\r\nexport var __assign = function() {\r\n __assign = Object.assign || function __assign(t) {\r\n for (var s, i = 1, n = arguments.length; i < n; i++) {\r\n s = arguments[i];\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];\r\n }\r\n return t;\r\n }\r\n return __assign.apply(this, arguments);\r\n}\r\n\r\nexport function __rest(s, e) {\r\n var t = {};\r\n for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p) && e.indexOf(p) < 0)\r\n t[p] = s[p];\r\n if (s != null && typeof Object.getOwnPropertySymbols === \"function\")\r\n for (var i = 0, p = Object.getOwnPropertySymbols(s); i < p.length; i++) {\r\n if (e.indexOf(p[i]) < 0 && Object.prototype.propertyIsEnumerable.call(s, p[i]))\r\n t[p[i]] = s[p[i]];\r\n }\r\n return t;\r\n}\r\n\r\nexport function __decorate(decorators, target, key, desc) {\r\n var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;\r\n if (typeof Reflect === \"object\" && typeof Reflect.decorate === \"function\") r = Reflect.decorate(decorators, target, key, desc);\r\n else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;\r\n return c > 3 && r && Object.defineProperty(target, key, r), r;\r\n}\r\n\r\nexport function __param(paramIndex, decorator) {\r\n return function (target, key) { decorator(target, key, paramIndex); }\r\n}\r\n\r\nexport function __metadata(metadataKey, metadataValue) {\r\n if (typeof Reflect === \"object\" && typeof Reflect.metadata === \"function\") return Reflect.metadata(metadataKey, metadataValue);\r\n}\r\n\r\nexport function __awaiter(thisArg, _arguments, P, generator) {\r\n function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }\r\n return new (P || (P = Promise))(function (resolve, reject) {\r\n function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }\r\n function rejected(value) { try { step(generator[\"throw\"](value)); } catch (e) { reject(e); } }\r\n function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }\r\n step((generator = generator.apply(thisArg, _arguments || [])).next());\r\n });\r\n}\r\n\r\nexport function __generator(thisArg, body) {\r\n var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;\r\n return g = { next: verb(0), \"throw\": verb(1), \"return\": verb(2) }, typeof Symbol === \"function\" && (g[Symbol.iterator] = function() { return this; }), g;\r\n function verb(n) { return function (v) { return step([n, v]); }; }\r\n function step(op) {\r\n if (f) throw new TypeError(\"Generator is already executing.\");\r\n while (_) try {\r\n if (f = 1, y && (t = op[0] & 2 ? y[\"return\"] : op[0] ? y[\"throw\"] || ((t = y[\"return\"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;\r\n if (y = 0, t) op = [op[0] & 2, t.value];\r\n switch (op[0]) {\r\n case 0: case 1: t = op; break;\r\n case 4: _.label++; return { value: op[1], done: false };\r\n case 5: _.label++; y = op[1]; op = [0]; continue;\r\n case 7: op = _.ops.pop(); _.trys.pop(); continue;\r\n default:\r\n if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }\r\n if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }\r\n if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }\r\n if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }\r\n if (t[2]) _.ops.pop();\r\n _.trys.pop(); continue;\r\n }\r\n op = body.call(thisArg, _);\r\n } catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }\r\n if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };\r\n }\r\n}\r\n\r\nexport function __exportStar(m, exports) {\r\n for (var p in m) if (!exports.hasOwnProperty(p)) exports[p] = m[p];\r\n}\r\n\r\nexport function __values(o) {\r\n var s = typeof Symbol === \"function\" && Symbol.iterator, m = s && o[s], i = 0;\r\n if (m) return m.call(o);\r\n if (o && typeof o.length === \"number\") return {\r\n next: function () {\r\n if (o && i >= o.length) o = void 0;\r\n return { value: o && o[i++], done: !o };\r\n }\r\n };\r\n throw new TypeError(s ? \"Object is not iterable.\" : \"Symbol.iterator is not defined.\");\r\n}\r\n\r\nexport function __read(o, n) {\r\n var m = typeof Symbol === \"function\" && o[Symbol.iterator];\r\n if (!m) return o;\r\n var i = m.call(o), r, ar = [], e;\r\n try {\r\n while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);\r\n }\r\n catch (error) { e = { error: error }; }\r\n finally {\r\n try {\r\n if (r && !r.done && (m = i[\"return\"])) m.call(i);\r\n }\r\n finally { if (e) throw e.error; }\r\n }\r\n return ar;\r\n}\r\n\r\nexport function __spread() {\r\n for (var ar = [], i = 0; i < arguments.length; i++)\r\n ar = ar.concat(__read(arguments[i]));\r\n return ar;\r\n}\r\n\r\nexport function __spreadArrays() {\r\n for (var s = 0, i = 0, il = arguments.length; i < il; i++) s += arguments[i].length;\r\n for (var r = Array(s), k = 0, i = 0; i < il; i++)\r\n for (var a = arguments[i], j = 0, jl = a.length; j < jl; j++, k++)\r\n r[k] = a[j];\r\n return r;\r\n};\r\n\r\nexport function __await(v) {\r\n return this instanceof __await ? (this.v = v, this) : new __await(v);\r\n}\r\n\r\nexport function __asyncGenerator(thisArg, _arguments, generator) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var g = generator.apply(thisArg, _arguments || []), i, q = [];\r\n return i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i;\r\n function verb(n) { if (g[n]) i[n] = function (v) { return new Promise(function (a, b) { q.push([n, v, a, b]) > 1 || resume(n, v); }); }; }\r\n function resume(n, v) { try { step(g[n](v)); } catch (e) { settle(q[0][3], e); } }\r\n function step(r) { r.value instanceof __await ? Promise.resolve(r.value.v).then(fulfill, reject) : settle(q[0][2], r); }\r\n function fulfill(value) { resume(\"next\", value); }\r\n function reject(value) { resume(\"throw\", value); }\r\n function settle(f, v) { if (f(v), q.shift(), q.length) resume(q[0][0], q[0][1]); }\r\n}\r\n\r\nexport function __asyncDelegator(o) {\r\n var i, p;\r\n return i = {}, verb(\"next\"), verb(\"throw\", function (e) { throw e; }), verb(\"return\"), i[Symbol.iterator] = function () { return this; }, i;\r\n function verb(n, f) { i[n] = o[n] ? function (v) { return (p = !p) ? { value: __await(o[n](v)), done: n === \"return\" } : f ? f(v) : v; } : f; }\r\n}\r\n\r\nexport function __asyncValues(o) {\r\n if (!Symbol.asyncIterator) throw new TypeError(\"Symbol.asyncIterator is not defined.\");\r\n var m = o[Symbol.asyncIterator], i;\r\n return m ? m.call(o) : (o = typeof __values === \"function\" ? __values(o) : o[Symbol.iterator](), i = {}, verb(\"next\"), verb(\"throw\"), verb(\"return\"), i[Symbol.asyncIterator] = function () { return this; }, i);\r\n function verb(n) { i[n] = o[n] && function (v) { return new Promise(function (resolve, reject) { v = o[n](v), settle(resolve, reject, v.done, v.value); }); }; }\r\n function settle(resolve, reject, d, v) { Promise.resolve(v).then(function(v) { resolve({ value: v, done: d }); }, reject); }\r\n}\r\n\r\nexport function __makeTemplateObject(cooked, raw) {\r\n if (Object.defineProperty) { Object.defineProperty(cooked, \"raw\", { value: raw }); } else { cooked.raw = raw; }\r\n return cooked;\r\n};\r\n\r\nexport function __importStar(mod) {\r\n if (mod && mod.__esModule) return mod;\r\n var result = {};\r\n if (mod != null) for (var k in mod) if (Object.hasOwnProperty.call(mod, k)) result[k] = mod[k];\r\n result.default = mod;\r\n return result;\r\n}\r\n\r\nexport function __importDefault(mod) {\r\n return (mod && mod.__esModule) ? mod : { default: mod };\r\n}\r\n\r\nexport function __classPrivateFieldGet(receiver, privateMap) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to get private field on non-instance\");\r\n }\r\n return privateMap.get(receiver);\r\n}\r\n\r\nexport function __classPrivateFieldSet(receiver, privateMap, value) {\r\n if (!privateMap.has(receiver)) {\r\n throw new TypeError(\"attempted to set private field on non-instance\");\r\n }\r\n privateMap.set(receiver, value);\r\n return value;\r\n}\r\n","import { Injectable } from '@angular/core';\n\nimport {\n Angulartics2,\n GoogleAnalyticsSettings,\n UserTimings,\n} from 'angulartics2';\n\n\ndeclare var _gaq: GoogleAnalyticsCode;\ndeclare var ga: UniversalAnalytics.ga;\ndeclare var location: any;\n\nexport class GoogleAnalyticsDefaults implements GoogleAnalyticsSettings {\n additionalAccountNames = [];\n userId = null;\n transport = '';\n anonymizeIp = false;\n}\n\n@Injectable({ providedIn: 'root' })\nexport class Angulartics2GoogleAnalytics {\n dimensionsAndMetrics = [];\n settings: Partial<GoogleAnalyticsSettings>;\n\n constructor(private angulartics2: Angulartics2) {\n const defaults = new GoogleAnalyticsDefaults();\n // Set the default settings for this module\n this.angulartics2.settings.ga = {\n ...defaults,\n ...this.angulartics2.settings.ga,\n };\n this.settings = this.angulartics2.settings.ga;\n this.angulartics2.setUsername.subscribe((x: string) => this.setUsername(x));\n this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));\n }\n\n startTracking(): void {\n this.angulartics2.pageTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.pageTrack(x.path));\n this.angulartics2.eventTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.eventTrack(x.action, x.properties));\n this.angulartics2.exceptionTrack\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.exceptionTrack(x));\n this.angulartics2.userTimings\n .pipe(this.angulartics2.filterDeveloperMode())\n .subscribe(x => this.userTimings(x));\n }\n\n pageTrack(path: string) {\n if (typeof _gaq !== 'undefined' && _gaq) {\n _gaq.push(['_trackPageview', path]);\n for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {\n _gaq.push([accountName + '._trackPageview', path]);\n }\n }\n if (typeof ga !== 'undefined' && ga) {\n if (this.angulartics2.settings.ga.userId) {\n ga('set', '&uid', this.angulartics2.settings.ga.userId);\n for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {\n ga(accountName + '.set', '&uid', this.angulartics2.settings.ga.userId);\n }\n }\n if (this.angulartics2.settings.ga.anonymizeIp) {\n ga('set', 'anonymizeIp', true);\n for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {\n ga(accountName + '.set', 'anonymizeIp', true);\n }\n }\n ga('send', 'pageview', path);\n for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {\n ga(accountName + '.send', 'pageview', path);\n }\n }\n }\n\n /**\n * Track Event in GA\n *\n * @param action Associated with the event\n * @param properties Comprised of:\n * - category (string) and optional\n * - label (string)\n * - value (integer)\n * - noninteraction (boolean)\n *\n * @link https://developers.google.com/analytics/devguides/collection/gajs/eventTrackerGuide#SettingUpEventTracking\n * @link https://developers.google.com/analytics/devguides/collection/analyticsjs/events\n */\n eventTrack(action: string, properties: any) {\n // Google Analytics requires an Event Category\n if (!properties || !properties.category) {\n properties = properties || {};\n properties.category = 'Event';\n }\n // GA requires that eventValue be an integer, see:\n // https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#eventValue\n // https://github.com/luisfarzati/angulartics/issues/81\n if (properties.value) {\n const parsed = parseInt(properties.value, 10);\n properties.value = isNaN(parsed) ? 0 : parsed;\n }\n\n if (typeof ga !== 'undefined') {\n const eventOptions = {\n eventCategory: properties.category,\n eventAction: action,\n eventLabel: properties.label,\n eventValue: properties.value,\n nonInteraction: properties.noninteraction,\n page: properties.page || location.hash.substring(1) || location.pathname,\n userId: this.angulartics2.settings.ga.userId,\n hitCallback: properties.hitCallback,\n ... this.angulartics2.settings.ga.transport && { transport: this.angulartics2.settings.ga.transport }\n };\n\n // add custom dimensions and metrics\n this.setDimensionsAndMetrics(properties);\n\n ga('send', 'event', eventOptions);\n\n for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {\n ga(accountName + '.send', 'event', eventOptions);\n }\n } else if (typeof _gaq !== 'undefined') {\n _gaq.push([\n '_trackEvent',\n properties.category,\n action,\n properties.label,\n properties.value,\n properties.noninteraction,\n ]);\n }\n }\n\n /**\n * Exception Track Event in GA\n *\n * @param properties Comprised of the optional fields:\n * - fatal (string)\n * - description (string)\n *\n * @https://developers.google.com/analytics/devguides/collection/analyticsjs/exceptions\n *\n * @link https://developers.google.com/analytics/devguides/collection/analyticsjs/events\n */\n exceptionTrack(properties: any) {\n if (properties.fatal === undefined) {\n console.log('No \"fatal\" provided, sending with fatal=true');\n properties.fatal = true;\n }\n\n properties.exDescription = properties.description;\n\n const eventOptions = {\n exFatal: properties.fatal,\n exDescription: properties.description,\n };\n\n ga('send', 'exception', eventOptions);\n for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {\n ga(accountName + '.send', 'exception', eventOptions);\n }\n }\n\n /**\n * User Timings Event in GA\n *\n * @param properties Comprised of the mandatory fields:\n * - timingCategory (string)\n * - timingVar (string)\n * - timingValue (number)\n * Properties can also have the optional fields:\n * - timingLabel (string)\n *\n * @link https://developers.google.com/analytics/devguides/collection/analyticsjs/user-timings\n */\n userTimings(properties: UserTimings) {\n if (\n !properties ||\n !properties.timingCategory ||\n !properties.timingVar ||\n !properties.timingValue\n ) {\n console.error(\n 'Properties timingCategory, timingVar, and timingValue are required to be set.',\n );\n return;\n }\n\n if (typeof ga !== 'undefined') {\n ga('send', 'timing', properties);\n for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {\n ga(accountName + '.send', 'timing', properties);\n }\n }\n }\n\n setUsername(userId: string) {\n this.angulartics2.settings.ga.userId = userId;\n if (typeof ga === 'undefined') {\n return;\n }\n ga('set', 'userId', userId);\n }\n\n setUserProperties(properties: any) {\n this.setDimensionsAndMetrics(properties);\n }\n\n private setDimensionsAndMetrics(properties: any) {\n if (typeof ga === 'undefined') {\n return;\n }\n // clean previously used dimensions and metrics that will not be overriden\n this.dimensionsAndMetrics.forEach(elem => {\n if (!properties.hasOwnProperty(elem)) {\n ga('set', elem, undefined);\n\n this.angulartics2.settings.ga.additionalAccountNames.forEach(\n (accountName: string) => {\n ga(`${accountName}.set`, elem, undefined);\n },\n );\n }\n });\n this.dimensionsAndMetrics = [];\n\n // add custom dimensions and metrics\n Object.keys(properties).forEach(key => {\n if (\n key.lastIndexOf('dimension', 0) === 0 ||\n key.lastIndexOf('metric', 0) === 0\n ) {\n ga('set', key, properties[key]);\n\n this.angulartics2.settings.ga.additionalAccountNames.forEach(\n (accountName: string) => {\n ga(`${accountName}.set`, key, properties[key]);\n },\n );\n this.dimensionsAndMetrics.push(key);\n }\n });\n }\n}\n"]}
|
@@ -1,5 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Generated bundle index. Do not edit.
|
3
|
-
*/
|
4
|
-
export * from './ga';
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcnRpY3MyLWdhLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhcnRpY3MyL2dhLyIsInNvdXJjZXMiOlsiYW5ndWxhcnRpY3MyLWdhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxNQUFNLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vZ2EnO1xuIl19
|
package/ga/esm2015/ga.js
DELETED
@@ -1,209 +0,0 @@
|
|
1
|
-
import { __decorate } from "tslib";
|
2
|
-
import { Injectable } from '@angular/core';
|
3
|
-
import { Angulartics2, GoogleAnalyticsSettings, UserTimings, } from 'angulartics2';
|
4
|
-
import * as i0 from "@angular/core";
|
5
|
-
import * as i1 from "angulartics2";
|
6
|
-
export class GoogleAnalyticsDefaults {
|
7
|
-
constructor() {
|
8
|
-
this.additionalAccountNames = [];
|
9
|
-
this.userId = null;
|
10
|
-
this.transport = '';
|
11
|
-
this.anonymizeIp = false;
|
12
|
-
}
|
13
|
-
}
|
14
|
-
let Angulartics2GoogleAnalytics = class Angulartics2GoogleAnalytics {
|
15
|
-
constructor(angulartics2) {
|
16
|
-
this.angulartics2 = angulartics2;
|
17
|
-
this.dimensionsAndMetrics = [];
|
18
|
-
const defaults = new GoogleAnalyticsDefaults();
|
19
|
-
// Set the default settings for this module
|
20
|
-
this.angulartics2.settings.ga = Object.assign(Object.assign({}, defaults), this.angulartics2.settings.ga);
|
21
|
-
this.settings = this.angulartics2.settings.ga;
|
22
|
-
this.angulartics2.setUsername.subscribe((x) => this.setUsername(x));
|
23
|
-
this.angulartics2.setUserProperties.subscribe(x => this.setUserProperties(x));
|
24
|
-
}
|
25
|
-
startTracking() {
|
26
|
-
this.angulartics2.pageTrack
|
27
|
-
.pipe(this.angulartics2.filterDeveloperMode())
|
28
|
-
.subscribe(x => this.pageTrack(x.path));
|
29
|
-
this.angulartics2.eventTrack
|
30
|
-
.pipe(this.angulartics2.filterDeveloperMode())
|
31
|
-
.subscribe(x => this.eventTrack(x.action, x.properties));
|
32
|
-
this.angulartics2.exceptionTrack
|
33
|
-
.pipe(this.angulartics2.filterDeveloperMode())
|
34
|
-
.subscribe(x => this.exceptionTrack(x));
|
35
|
-
this.angulartics2.userTimings
|
36
|
-
.pipe(this.angulartics2.filterDeveloperMode())
|
37
|
-
.subscribe(x => this.userTimings(x));
|
38
|
-
}
|
39
|
-
pageTrack(path) {
|
40
|
-
if (typeof _gaq !== 'undefined' && _gaq) {
|
41
|
-
_gaq.push(['_trackPageview', path]);
|
42
|
-
for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {
|
43
|
-
_gaq.push([accountName + '._trackPageview', path]);
|
44
|
-
}
|
45
|
-
}
|
46
|
-
if (typeof ga !== 'undefined' && ga) {
|
47
|
-
if (this.angulartics2.settings.ga.userId) {
|
48
|
-
ga('set', '&uid', this.angulartics2.settings.ga.userId);
|
49
|
-
for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {
|
50
|
-
ga(accountName + '.set', '&uid', this.angulartics2.settings.ga.userId);
|
51
|
-
}
|
52
|
-
}
|
53
|
-
if (this.angulartics2.settings.ga.anonymizeIp) {
|
54
|
-
ga('set', 'anonymizeIp', true);
|
55
|
-
for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {
|
56
|
-
ga(accountName + '.set', 'anonymizeIp', true);
|
57
|
-
}
|
58
|
-
}
|
59
|
-
ga('send', 'pageview', path);
|
60
|
-
for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {
|
61
|
-
ga(accountName + '.send', 'pageview', path);
|
62
|
-
}
|
63
|
-
}
|
64
|
-
}
|
65
|
-
/**
|
66
|
-
* Track Event in GA
|
67
|
-
*
|
68
|
-
* @param action Associated with the event
|
69
|
-
* @param properties Comprised of:
|
70
|
-
* - category (string) and optional
|
71
|
-
* - label (string)
|
72
|
-
* - value (integer)
|
73
|
-
* - noninteraction (boolean)
|
74
|
-
*
|
75
|
-
* @link https://developers.google.com/analytics/devguides/collection/gajs/eventTrackerGuide#SettingUpEventTracking
|
76
|
-
* @link https://developers.google.com/analytics/devguides/collection/analyticsjs/events
|
77
|
-
*/
|
78
|
-
eventTrack(action, properties) {
|
79
|
-
// Google Analytics requires an Event Category
|
80
|
-
if (!properties || !properties.category) {
|
81
|
-
properties = properties || {};
|
82
|
-
properties.category = 'Event';
|
83
|
-
}
|
84
|
-
// GA requires that eventValue be an integer, see:
|
85
|
-
// https://developers.google.com/analytics/devguides/collection/analyticsjs/field-reference#eventValue
|
86
|
-
// https://github.com/luisfarzati/angulartics/issues/81
|
87
|
-
if (properties.value) {
|
88
|
-
const parsed = parseInt(properties.value, 10);
|
89
|
-
properties.value = isNaN(parsed) ? 0 : parsed;
|
90
|
-
}
|
91
|
-
if (typeof ga !== 'undefined') {
|
92
|
-
const eventOptions = Object.assign({ eventCategory: properties.category, eventAction: action, eventLabel: properties.label, eventValue: properties.value, nonInteraction: properties.noninteraction, page: properties.page || location.hash.substring(1) || location.pathname, userId: this.angulartics2.settings.ga.userId, hitCallback: properties.hitCallback }, this.angulartics2.settings.ga.transport && { transport: this.angulartics2.settings.ga.transport });
|
93
|
-
// add custom dimensions and metrics
|
94
|
-
this.setDimensionsAndMetrics(properties);
|
95
|
-
ga('send', 'event', eventOptions);
|
96
|
-
for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {
|
97
|
-
ga(accountName + '.send', 'event', eventOptions);
|
98
|
-
}
|
99
|
-
}
|
100
|
-
else if (typeof _gaq !== 'undefined') {
|
101
|
-
_gaq.push([
|
102
|
-
'_trackEvent',
|
103
|
-
properties.category,
|
104
|
-
action,
|
105
|
-
properties.label,
|
106
|
-
properties.value,
|
107
|
-
properties.noninteraction,
|
108
|
-
]);
|
109
|
-
}
|
110
|
-
}
|
111
|
-
/**
|
112
|
-
* Exception Track Event in GA
|
113
|
-
*
|
114
|
-
* @param properties Comprised of the optional fields:
|
115
|
-
* - fatal (string)
|
116
|
-
* - description (string)
|
117
|
-
*
|
118
|
-
* @https://developers.google.com/analytics/devguides/collection/analyticsjs/exceptions
|
119
|
-
*
|
120
|
-
* @link https://developers.google.com/analytics/devguides/collection/analyticsjs/events
|
121
|
-
*/
|
122
|
-
exceptionTrack(properties) {
|
123
|
-
if (properties.fatal === undefined) {
|
124
|
-
console.log('No "fatal" provided, sending with fatal=true');
|
125
|
-
properties.fatal = true;
|
126
|
-
}
|
127
|
-
properties.exDescription = properties.description;
|
128
|
-
const eventOptions = {
|
129
|
-
exFatal: properties.fatal,
|
130
|
-
exDescription: properties.description,
|
131
|
-
};
|
132
|
-
ga('send', 'exception', eventOptions);
|
133
|
-
for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {
|
134
|
-
ga(accountName + '.send', 'exception', eventOptions);
|
135
|
-
}
|
136
|
-
}
|
137
|
-
/**
|
138
|
-
* User Timings Event in GA
|
139
|
-
*
|
140
|
-
* @param properties Comprised of the mandatory fields:
|
141
|
-
* - timingCategory (string)
|
142
|
-
* - timingVar (string)
|
143
|
-
* - timingValue (number)
|
144
|
-
* Properties can also have the optional fields:
|
145
|
-
* - timingLabel (string)
|
146
|
-
*
|
147
|
-
* @link https://developers.google.com/analytics/devguides/collection/analyticsjs/user-timings
|
148
|
-
*/
|
149
|
-
userTimings(properties) {
|
150
|
-
if (!properties ||
|
151
|
-
!properties.timingCategory ||
|
152
|
-
!properties.timingVar ||
|
153
|
-
!properties.timingValue) {
|
154
|
-
console.error('Properties timingCategory, timingVar, and timingValue are required to be set.');
|
155
|
-
return;
|
156
|
-
}
|
157
|
-
if (typeof ga !== 'undefined') {
|
158
|
-
ga('send', 'timing', properties);
|
159
|
-
for (const accountName of this.angulartics2.settings.ga.additionalAccountNames) {
|
160
|
-
ga(accountName + '.send', 'timing', properties);
|
161
|
-
}
|
162
|
-
}
|
163
|
-
}
|
164
|
-
setUsername(userId) {
|
165
|
-
this.angulartics2.settings.ga.userId = userId;
|
166
|
-
if (typeof ga === 'undefined') {
|
167
|
-
return;
|
168
|
-
}
|
169
|
-
ga('set', 'userId', userId);
|
170
|
-
}
|
171
|
-
setUserProperties(properties) {
|
172
|
-
this.setDimensionsAndMetrics(properties);
|
173
|
-
}
|
174
|
-
setDimensionsAndMetrics(properties) {
|
175
|
-
if (typeof ga === 'undefined') {
|
176
|
-
return;
|
177
|
-
}
|
178
|
-
// clean previously used dimensions and metrics that will not be overriden
|
179
|
-
this.dimensionsAndMetrics.forEach(elem => {
|
180
|
-
if (!properties.hasOwnProperty(elem)) {
|
181
|
-
ga('set', elem, undefined);
|
182
|
-
this.angulartics2.settings.ga.additionalAccountNames.forEach((accountName) => {
|
183
|
-
ga(`${accountName}.set`, elem, undefined);
|
184
|
-
});
|
185
|
-
}
|
186
|
-
});
|
187
|
-
this.dimensionsAndMetrics = [];
|
188
|
-
// add custom dimensions and metrics
|
189
|
-
Object.keys(properties).forEach(key => {
|
190
|
-
if (key.lastIndexOf('dimension', 0) === 0 ||
|
191
|
-
key.lastIndexOf('metric', 0) === 0) {
|
192
|
-
ga('set', key, properties[key]);
|
193
|
-
this.angulartics2.settings.ga.additionalAccountNames.forEach((accountName) => {
|
194
|
-
ga(`${accountName}.set`, key, properties[key]);
|
195
|
-
});
|
196
|
-
this.dimensionsAndMetrics.push(key);
|
197
|
-
}
|
198
|
-
});
|
199
|
-
}
|
200
|
-
};
|
201
|
-
Angulartics2GoogleAnalytics.ctorParameters = () => [
|
202
|
-
{ type: Angulartics2 }
|
203
|
-
];
|
204
|
-
Angulartics2GoogleAnalytics.ɵprov = i0.ɵɵdefineInjectable({ factory: function Angulartics2GoogleAnalytics_Factory() { return new Angulartics2GoogleAnalytics(i0.ɵɵinject(i1.Angulartics2)); }, token: Angulartics2GoogleAnalytics, providedIn: "root" });
|
205
|
-
Angulartics2GoogleAnalytics = __decorate([
|
206
|
-
Injectable({ providedIn: 'root' })
|
207
|
-
], Angulartics2GoogleAnalytics);
|
208
|
-
export { Angulartics2GoogleAnalytics };
|
209
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2EuanMiLCJzb3VyY2VSb290Ijoibmc6Ly9hbmd1bGFydGljczIvZ2EvIiwic291cmNlcyI6WyJnYS50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiO0FBQUEsT0FBTyxFQUFFLFVBQVUsRUFBRSxNQUFNLGVBQWUsQ0FBQztBQUUzQyxPQUFPLEVBQ0wsWUFBWSxFQUNaLHVCQUF1QixFQUN2QixXQUFXLEdBQ1osTUFBTSxjQUFjLENBQUM7OztBQU90QixNQUFNLE9BQU8sdUJBQXVCO0lBQXBDO1FBQ0UsMkJBQXNCLEdBQUcsRUFBRSxDQUFDO1FBQzVCLFdBQU0sR0FBRyxJQUFJLENBQUM7UUFDZCxjQUFTLEdBQUcsRUFBRSxDQUFDO1FBQ2YsZ0JBQVcsR0FBRyxLQUFLLENBQUM7SUFDdEIsQ0FBQztDQUFBO0FBR0QsSUFBYSwyQkFBMkIsR0FBeEMsTUFBYSwyQkFBMkI7SUFJdEMsWUFBb0IsWUFBMEI7UUFBMUIsaUJBQVksR0FBWixZQUFZLENBQWM7UUFIOUMseUJBQW9CLEdBQUcsRUFBRSxDQUFDO1FBSXhCLE1BQU0sUUFBUSxHQUFHLElBQUksdUJBQXVCLEVBQUUsQ0FBQztRQUMvQywyQ0FBMkM7UUFDM0MsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRSxtQ0FDeEIsUUFBUSxHQUNSLElBQUksQ0FBQyxZQUFZLENBQUMsUUFBUSxDQUFDLEVBQUUsQ0FDakMsQ0FBQztRQUNGLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxDQUFDLFlBQVksQ0FBQyxRQUFRLENBQUMsRUFBRSxDQUFDO1FBQzlDLElBQUksQ0FBQyxZQUFZLENBQUMsV0FBVyxDQUFDLFNBQVMsQ0FBQyxDQUFDLENBQVMsRUFBRSxFQUFFLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFDLENBQUMsQ0FBQyxDQUFDO1FBQzVFLElBQUksQ0FBQyxZQUFZLENBQUMsaUJBQWlCLENBQUMsU0FBUyxDQUFDLENBQUMsQ0FBQyxFQUFFLENBQUMsSUFBSSxDQUFDLGlCQUFpQixDQUFDLENB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QUcsRUFBRSxVQUFVLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQztnQkFDakQsQ0FBQyxDQUNGLENBQUM7Z0JBQ0YsSUFBSSxDQUFDLG9CQUFvQixDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsQ0FBQzthQUNyQztRQUNILENBQUMsQ0FBQyxDQUFDO0lBQ0wsQ0FBQztDQUNGLENBQUE7O1lBaE9tQyxZQUFZOzs7QUFKbkMsMkJBQTJCO0lBRHZDLFVBQVUsQ0FBQyxFQUFFLFVBQVUsRUFBRSxNQUFNLEVBQUUsQ0FBQztHQUN0QiwyQkFBMkIsQ0FvT3ZDO1NBcE9ZLDJCQUEyQiIsInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IEluamVjdGFibGUgfSBmcm9tICdAYW5ndWxhci9jb3JlJztcblxuaW1wb3J0IHtcbiAgQW5ndWxhcnRpY3MyLFxuICBHb29nbGVBbmFseXRpY3NTZXR0aW5ncyxcbiAgVXNlclRpbWluZ3MsXG59IGZyb20gJ2FuZ3VsYXJ0aWNzMic7XG5cblxuZGVjbGFyZSB2YXIgX2dhcTogR29vZ2xlQW5hbHl0aWNzQ29kZTtcbmRlY2xhcmUgdmFyIGdhOiBVbml2ZXJzYWxBbmFseXRpY3MuZ2E7XG5kZWNsYXJlIHZhciBsb2NhdGlvbjogYW55O1xuXG5leHBvcnQgY2xhc3MgR29vZ2xlQW5hbHl0aWNzRGVmYXVsdHMgaW1wbGVtZW50cyBHb29nbGVBbmFseXRpY3NTZXR0aW5ncyB7XG4gIGFkZGl0aW9uYWxBY2NvdW50TmFtZXMgPSBbXTtcbiAgdXNlcklkID0gbnVsbDtcbiAgdHJhbnNwb3J0ID0gJyc7XG4gIGFub255bWl6ZUlwID0gZmFsc2U7XG59XG5cbkBJbmplY3RhYmxlKHsgcHJvdmlkZWRJbjogJ3Jvb3QnIH0pXG5leHBvcnQgY2xhc3MgQW5ndWxhcnRpY3MyR29vZ2xlQW5hbHl0aWNzIHtcbiAgZGltZW5zaW9uc0FuZE1ldHJpY3MgPSBbXTtcbiAgc2V0dGluZ3M6IFBhcnRpYWw8R29vZ2xlQW5hbHl0aWNzU2V0dGluZ3M+O1xuXG4gIGNvbnN0cnVjdG9yKHByaXZhdGUgYW5ndWxhcnRpY3MyOiBBbmd1bGFydGljczIpIHtcbiAgICBjb25zdCBkZWZhdWx0cyA9IG5ldyBHb29nbGVBbmFseXRpY3NEZWZhdWx0cygpO1xuICAgIC8vIFNldCB0aGUgZGVmYXVsdCBzZXR0aW5ncyBmb3IgdGhpcyBtb2R1bGVcbiAgICB0aGlzLmFuZ3VsYXJ0aWNzMi5zZXR0aW5ncy5nYSA9IHtcbiAgICAgIC4uLmRlZmF1bHRzLFxuICAgICAgLi4udGhpcy5hbmd1bGFydGljczIuc2V0dGluZ3MuZ2EsXG4gICAgfTtcbiAgICB0aGlzLnNldHRpbmdzID0gdGhpcy5hbmd1bGFydGljczIuc2V0dGluZ3MuZ2E7XG4gICAgdGhpcy5hbmd1bGFydGljczIuc2V0VXNlcm5hbWUuc3Vic2NyaWJlKCh4OiBzdHJpbmcpID0+IHRoaXMuc2V0VXNlcm5hbWUoeCkpO1xuICAgIHRoaXMuYW5ndWxhcnRpY3MyLnNldFVzZXJQcm9wZXJ0aWVzLnN1YnNjcmliZSh4ID0+IHRoaXMuc2V0VXNlclByb3BlcnRpZXMoeCkpO1xuICB9XG5cbiAgc3RhcnRUcmFja2luZygpOiB2b2lkIHtcbiAgICB0aGlzLmFuZ3VsYXJ0aWNzMi5wYWdlVHJhY2tcbiAgICAgIC5waXBlKHRoaXMuYW5ndWxhcnRpY3MyLmZpbHRlckRldmVsb3Blck1vZGUoKSlcbiAgICAgIC5zdWJzY3JpYmUoeCA9PiB0aGlzLnBhZ2VUcmFjayh4LnBhdGgpKTtcbiAgICB0aGlzLmFuZ3VsYXJ0aWNzMi5ldmVudFRyYWNrXG4gICAgICAucGlwZSh0aGlzLmFuZ3VsYXJ0aWNzMi5maWx0ZXJEZXZlbG9wZXJNb2RlKCkpXG4gICAgICAuc3Vic2NyaWJlKHggPT4gdGhpcy5ldmVudFRyYWNrKHguYWN0aW9uLCB4LnByb3BlcnRpZXMpKTtcbiAgICB0aGlzLmFuZ3VsYXJ0aWNzMi5leGNlcHRpb25UcmFja1xuICAgICAgLnBpcGUodGhpcy5hbmd1bGFydGljczIuZmlsdGVyRGV2ZWxvcGVyTW9kZSgpKVxuICAgICAgLnN1YnNjcmliZSh4ID0+IHRoaXMuZXhjZXB0aW9uVHJhY2soeCkpO1xuICAgIHRoaXMuYW5ndWxhcnRpY3MyLnVzZXJUaW1pbmdzXG4gICAgICAucGlwZSh0aGlzLmFuZ3VsYXJ0aWNzMi5maWx0ZXJEZXZlbG9wZXJNb2RlKCkpXG4gICAgICAuc3Vic2NyaWJlKHggPT4gdGhpcy51c2VyVGltaW5ncyh4KSk7XG4gIH1cblxuICBwYWdlVHJhY2socGF0aDogc3RyaW5nKSB7XG4gICAgaWYgKHR5cGVvZiBfZ2FxICE9PSAndW5kZWZpbmVkJyAmJiBfZ2FxKSB7XG4gICAgICBfZ2FxLnB1c2goWydfdHJhY2tQYWdldmlldycsIHBhdGhdKTtcbiAgICAgIGZvciAoY29uc3QgYWNjb3VudE5hbWUgb2YgdGhpcy5hbmd1bGFydGljczIuc2V0dGluZ3MuZ2EuYWRkaXRpb25hbEFjY291bnROYW1lcykge1xuICAgICAgICBfZ2FxLnB1c2goW2FjY291bnROYW1lICsgJy5fdHJhY2tQYWdldmlldycsIHBhdGhdKTtcbiAgICAgIH1cbiAgICB9XG4gICAgaWYgKHR5cGVvZiBnYSAhPT0gJ3VuZGVmaW5lZCcgJiYgZ2EpIHtcbiAgICAgIGlmICh0aGlzLmFuZ3VsYXJ0aWNzMi5zZXR0aW5ncy5nYS51c2VySWQpIHtcbiAgICAgICAgZ2EoJ3NldCcsICcmdWlkJywgdGhpcy5hbmd1bGFydGljczIuc2V0dGluZ3MuZ2EudXNlcklkKTtcbiAgICAgICAgZm9yIChjb25zdCBhY2NvdW50TmFtZSBvZiB0aGlzLmFuZ3VsYXJ0aWNzMi5zZXR0aW5ncy5nYS5hZGRpdGlvbmFsQWNjb3VudE5hbWVzKSB7XG4gICAgICAgICAgZ2EoYWNjb3VudE5hbWUgKyAnLnNldCcsICcmdWlkJywgdGhpcy5hbmd1bGFydGljczIuc2V0dGluZ3MuZ2EudXNlcklkKTtcbiAgICAgICAgfVxuICAgICAgfVxuICAgICAgaWYgKHRoaXMuYW5ndWxhcnRpY3MyLnNldHRpbmdzLmdhLmFub255bWl6ZUlwKSB7XG4gICAgICAgIGdhKCdzZXQnLCAnYW5vbnltaXplSXAnLCB0cnVlKTtcbiAgICAgICAgZm9yIChjb25zdCBhY2NvdW50TmFtZSBvZiB0aGlzLmFuZ3VsYXJ0aWNzMi5zZXR0aW5ncy5nYS5hZGRpdGlvbmFsQWNjb3VudE5hbWVzKSB7XG4gICAgICAgICAgZ2EoYWNjb3VudE5hbWUgKyAnLnNldCcsICdhbm9ueW1pemVJcCcsIHRydWUpO1xuICAgICAgICB9XG4gICAgICB9XG4gICAgICBnYSgnc2VuZCcsICdwYWdldmlldycsIHBhdGgpO1xuICAgICAgZm9yIChjb25zdCBhY2NvdW50TmFtZSBvZiB0aGlzLmFuZ3VsYXJ0aWNzMi5zZXR0aW5ncy5nYS5hZGRpdGlvbmFsQWNjb3VudE5hbWVzKSB7XG4gICAgICAgIGdhKGFjY291bnROYW1lICsgJy5zZW5kJywgJ3BhZ2V2aWV3JywgcGF0aCk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIFRyYWNrIEV2ZW50IGluIEdBXG4gICAqXG4gICAqIEBwYXJhbSBhY3Rpb24gQXNzb2NpYXRlZCB3aXRoIHRoZSBldmVudFxuICAgKiBAcGFyYW0gcHJvcGVydGllcyBDb21wcmlzZWQgb2Y6XG4gICAqICAtIGNhdGVnb3J5IChzdHJpbmcpIGFuZCBvcHRpb25hbFxuICAgKiAgLSBsYWJlbCAoc3RyaW5nKVxuICAgKiAgLSB2YWx1ZSAoaW50ZWdlcilcbiAgICogIC0gbm9uaW50ZXJhY3Rpb24gKGJvb2xlYW4pXG4gICAqXG4gICAqIEBsaW5rIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL2FuYWx5dGljcy9kZXZndWlkZXMvY29sbGVjdGlvbi9nYWpzL2V2ZW50VHJhY2tlckd1aWRlI1NldHRpbmdVcEV2ZW50VHJhY2tpbmdcbiAgICogQGxpbmsgaHR0cHM6Ly9kZXZlbG9wZXJzLmdvb2dsZS5jb20vYW5hbHl0aWNzL2Rldmd1aWRlcy9jb2xsZWN0aW9uL2FuYWx5dGljc2pzL2V2ZW50c1xuICAgKi9cbiAgZXZlbnRUcmFjayhhY3Rpb246IHN0cmluZywgcHJvcGVydGllczogYW55KSB7XG4gICAgLy8gR29vZ2xlIEFuYWx5dGljcyByZXF1aXJlcyBhbiBFdmVudCBDYXRlZ29yeVxuICAgIGlmICghcHJvcGVydGllcyB8fCAhcHJvcGVydGllcy5jYXRlZ29yeSkge1xuICAgICAgcHJvcGVydGllcyA9IHByb3BlcnRpZXMgfHwge307XG4gICAgICBwcm9wZXJ0aWVzLmNhdGVnb3J5ID0gJ0V2ZW50JztcbiAgICB9XG4gICAgLy8gR0EgcmVxdWlyZXMgdGhhdCBldmVudFZhbHVlIGJlIGFuIGludGVnZXIsIHNlZTpcbiAgICAvLyBodHRwczovL2RldmVsb3BlcnMuZ29vZ2xlLmNvbS9hbmFseXRpY3MvZGV2Z3VpZGVzL2NvbGxlY3Rpb24vYW5hbHl0aWNzanMvZmllbGQtcmVmZXJlbmNlI2V2ZW50VmFsdWVcbiAgICAvLyBodHRwczovL2dpdGh1Yi5jb20vbHVpc2ZhcnphdGkvYW5ndWxhcnRpY3MvaXNzdWVzLzgxXG4gICAgaWYgKHByb3BlcnRpZXMudmFsdWUpIHtcbiAgICAgIGNvbnN0IHBhcnNlZCA9IHBhcnNlSW50KHByb3BlcnRpZXMudmFsdWUsIDEwKTtcbiAgICAgIHByb3BlcnRpZXMudmFsdWUgPSBpc05hTihwYXJzZWQpID8gMCA6IHBhcnNlZDtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGdhICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgY29uc3QgZXZlbnRPcHRpb25zID0ge1xuICAgICAgICBldmVudENhdGVnb3J5OiBwcm9wZXJ0aWVzLmNhdGVnb3J5LFxuICAgICAgICBldmVudEFjdGlvbjogYWN0aW9uLFxuICAgICAgICBldmVudExhYmVsOiBwcm9wZXJ0aWVzLmxhYmVsLFxuICAgICAgICBldmVudFZhbHVlOiBwcm9wZXJ0aWVzLnZhbHVlLFxuICAgICAgICBub25JbnRlcmFjdGlvbjogcHJvcGVydGllcy5ub25pbnRlcmFjdGlvbixcbiAgICAgICAgcGFnZTogcHJvcGVydGllcy5wYWdlIHx8IGxvY2F0aW9uLmhhc2guc3Vic3RyaW5nKDEpIHx8IGxvY2F0aW9uLnBhdGhuYW1lLFxuICAgICAgICB1c2VySWQ6IHRoaXMuYW5ndWxhcnRpY3MyLnNldHRpbmdzLmdhLnVzZXJJZCxcbiAgICAgICAgaGl0Q2FsbGJhY2s6IHByb3BlcnRpZXMuaGl0Q2FsbGJhY2ssXG4gICAgICAgIC4uLiB0aGlzLmFuZ3VsYXJ0aWNzMi5zZXR0aW5ncy5nYS50cmFuc3BvcnQgJiYgeyB0cmFuc3BvcnQ6IHRoaXMuYW5ndWxhcnRpY3MyLnNldHRpbmdzLmdhLnRyYW5zcG9ydCB9XG4gICAgICB9O1xuXG4gICAgICAvLyBhZGQgY3VzdG9tIGRpbWVuc2lvbnMgYW5kIG1ldHJpY3NcbiAgICAgIHRoaXMuc2V0RGltZW5zaW9uc0FuZE1ldHJpY3MocHJvcGVydGllcyk7XG5cbiAgICAgIGdhKCdzZW5kJywgJ2V2ZW50JywgZXZlbnRPcHRpb25zKTtcblxuICAgICAgZm9yIChjb25zdCBhY2NvdW50TmFtZSBvZiB0aGlzLmFuZ3VsYXJ0aWNzMi5zZXR0aW5ncy5nYS5hZGRpdGlvbmFsQWNjb3VudE5hbWVzKSB7XG4gICAgICAgIGdhKGFjY291bnROYW1lICsgJy5zZW5kJywgJ2V2ZW50JywgZXZlbnRPcHRpb25zKTtcbiAgICAgIH1cbiAgICB9IGVsc2UgaWYgKHR5cGVvZiBfZ2FxICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgX2dhcS5wdXNoKFtcbiAgICAgICAgJ190cmFja0V2ZW50JyxcbiAgICAgICAgcHJvcGVydGllcy5jYXRlZ29yeSxcbiAgICAgICAgYWN0aW9uLFxuICAgICAgICBwcm9wZXJ0aWVzLmxhYmVsLFxuICAgICAgICBwcm9wZXJ0aWVzLnZhbHVlLFxuICAgICAgICBwcm9wZXJ0aWVzLm5vbmludGVyYWN0aW9uLFxuICAgICAgXSk7XG4gICAgfVxuICB9XG5cbiAgLyoqXG4gICAqIEV4Y2VwdGlvbiBUcmFjayBFdmVudCBpbiBHQVxuICAgKlxuICAgKiBAcGFyYW0gcHJvcGVydGllcyBDb21wcmlzZWQgb2YgdGhlIG9wdGlvbmFsIGZpZWxkczpcbiAgICogIC0gZmF0YWwgKHN0cmluZylcbiAgICogIC0gZGVzY3JpcHRpb24gKHN0cmluZylcbiAgICpcbiAgICogQGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL2FuYWx5dGljcy9kZXZndWlkZXMvY29sbGVjdGlvbi9hbmFseXRpY3Nqcy9leGNlcHRpb25zXG4gICAqXG4gICAqIEBsaW5rIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL2FuYWx5dGljcy9kZXZndWlkZXMvY29sbGVjdGlvbi9hbmFseXRpY3Nqcy9ldmVudHNcbiAgICovXG4gIGV4Y2VwdGlvblRyYWNrKHByb3BlcnRpZXM6IGFueSkge1xuICAgIGlmIChwcm9wZXJ0aWVzLmZhdGFsID09PSB1bmRlZmluZWQpIHtcbiAgICAgIGNvbnNvbGUubG9nKCdObyBcImZhdGFsXCIgcHJvdmlkZWQsIHNlbmRpbmcgd2l0aCBmYXRhbD10cnVlJyk7XG4gICAgICBwcm9wZXJ0aWVzLmZhdGFsID0gdHJ1ZTtcbiAgICB9XG5cbiAgICBwcm9wZXJ0aWVzLmV4RGVzY3JpcHRpb24gPSBwcm9wZXJ0aWVzLmRlc2NyaXB0aW9uO1xuXG4gICAgY29uc3QgZXZlbnRPcHRpb25zID0ge1xuICAgICAgZXhGYXRhbDogcHJvcGVydGllcy5mYXRhbCxcbiAgICAgIGV4RGVzY3JpcHRpb246IHByb3BlcnRpZXMuZGVzY3JpcHRpb24sXG4gICAgfTtcblxuICAgIGdhKCdzZW5kJywgJ2V4Y2VwdGlvbicsIGV2ZW50T3B0aW9ucyk7XG4gICAgZm9yIChjb25zdCBhY2NvdW50TmFtZSBvZiB0aGlzLmFuZ3VsYXJ0aWNzMi5zZXR0aW5ncy5nYS5hZGRpdGlvbmFsQWNjb3VudE5hbWVzKSB7XG4gICAgICBnYShhY2NvdW50TmFtZSArICcuc2VuZCcsICdleGNlcHRpb24nLCBldmVudE9wdGlvbnMpO1xuICAgIH1cbiAgfVxuXG4gIC8qKlxuICAgKiBVc2VyIFRpbWluZ3MgRXZlbnQgaW4gR0FcbiAgICpcbiAgICogQHBhcmFtIHByb3BlcnRpZXMgQ29tcHJpc2VkIG9mIHRoZSBtYW5kYXRvcnkgZmllbGRzOlxuICAgKiAgLSB0aW1pbmdDYXRlZ29yeSAoc3RyaW5nKVxuICAgKiAgLSB0aW1pbmdWYXIgKHN0cmluZylcbiAgICogIC0gdGltaW5nVmFsdWUgKG51bWJlcilcbiAgICogUHJvcGVydGllcyBjYW4gYWxzbyBoYXZlIHRoZSBvcHRpb25hbCBmaWVsZHM6XG4gICAqICAtIHRpbWluZ0xhYmVsIChzdHJpbmcpXG4gICAqXG4gICAqIEBsaW5rIGh0dHBzOi8vZGV2ZWxvcGVycy5nb29nbGUuY29tL2FuYWx5dGljcy9kZXZndWlkZXMvY29sbGVjdGlvbi9hbmFseXRpY3Nqcy91c2VyLXRpbWluZ3NcbiAgICovXG4gIHVzZXJUaW1pbmdzKHByb3BlcnRpZXM6IFVzZXJUaW1pbmdzKSB7XG4gICAgaWYgKFxuICAgICAgIXByb3BlcnRpZXMgfHxcbiAgICAgICFwcm9wZXJ0aWVzLnRpbWluZ0NhdGVnb3J5IHx8XG4gICAgICAhcHJvcGVydGllcy50aW1pbmdWYXIgfHxcbiAgICAgICFwcm9wZXJ0aWVzLnRpbWluZ1ZhbHVlXG4gICAgKSB7XG4gICAgICBjb25zb2xlLmVycm9yKFxuICAgICAgICAnUHJvcGVydGllcyB0aW1pbmdDYXRlZ29yeSwgdGltaW5nVmFyLCBhbmQgdGltaW5nVmFsdWUgYXJlIHJlcXVpcmVkIHRvIGJlIHNldC4nLFxuICAgICAgKTtcbiAgICAgIHJldHVybjtcbiAgICB9XG5cbiAgICBpZiAodHlwZW9mIGdhICE9PSAndW5kZWZpbmVkJykge1xuICAgICAgZ2EoJ3NlbmQnLCAndGltaW5nJywgcHJvcGVydGllcyk7XG4gICAgICBmb3IgKGNvbnN0IGFjY291bnROYW1lIG9mIHRoaXMuYW5ndWxhcnRpY3MyLnNldHRpbmdzLmdhLmFkZGl0aW9uYWxBY2NvdW50TmFtZXMpIHtcbiAgICAgICAgZ2EoYWNjb3VudE5hbWUgKyAnLnNlbmQnLCAndGltaW5nJywgcHJvcGVydGllcyk7XG4gICAgICB9XG4gICAgfVxuICB9XG5cbiAgc2V0VXNlcm5hbWUodXNlcklkOiBzdHJpbmcpIHtcbiAgICB0aGlzLmFuZ3VsYXJ0aWNzMi5zZXR0aW5ncy5nYS51c2VySWQgPSB1c2VySWQ7XG4gICAgaWYgKHR5cGVvZiBnYSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgZ2EoJ3NldCcsICd1c2VySWQnLCB1c2VySWQpO1xuICB9XG5cbiAgc2V0VXNlclByb3BlcnRpZXMocHJvcGVydGllczogYW55KSB7XG4gICAgdGhpcy5zZXREaW1lbnNpb25zQW5kTWV0cmljcyhwcm9wZXJ0aWVzKTtcbiAgfVxuXG4gIHByaXZhdGUgc2V0RGltZW5zaW9uc0FuZE1ldHJpY3MocHJvcGVydGllczogYW55KSB7XG4gICAgaWYgKHR5cGVvZiBnYSA9PT0gJ3VuZGVmaW5lZCcpIHtcbiAgICAgIHJldHVybjtcbiAgICB9XG4gICAgLy8gY2xlYW4gcHJldmlvdXNseSB1c2VkIGRpbWVuc2lvbnMgYW5kIG1ldHJpY3MgdGhhdCB3aWxsIG5vdCBiZSBvdmVycmlkZW5cbiAgICB0aGlzLmRpbWVuc2lvbnNBbmRNZXRyaWNzLmZvckVhY2goZWxlbSA9PiB7XG4gICAgICBpZiAoIXByb3BlcnRpZXMuaGFzT3duUHJvcGVydHkoZWxlbSkpIHtcbiAgICAgICAgZ2EoJ3NldCcsIGVsZW0sIHVuZGVmaW5lZCk7XG5cbiAgICAgICAgdGhpcy5hbmd1bGFydGljczIuc2V0dGluZ3MuZ2EuYWRkaXRpb25hbEFjY291bnROYW1lcy5mb3JFYWNoKFxuICAgICAgICAgIChhY2NvdW50TmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICAgICAgICBnYShgJHthY2NvdW50TmFtZX0uc2V0YCwgZWxlbSwgdW5kZWZpbmVkKTtcbiAgICAgICAgICB9LFxuICAgICAgICApO1xuICAgICAgfVxuICAgIH0pO1xuICAgIHRoaXMuZGltZW5zaW9uc0FuZE1ldHJpY3MgPSBbXTtcblxuICAgIC8vIGFkZCBjdXN0b20gZGltZW5zaW9ucyBhbmQgbWV0cmljc1xuICAgIE9iamVjdC5rZXlzKHByb3BlcnRpZXMpLmZvckVhY2goa2V5ID0+IHtcbiAgICAgIGlmIChcbiAgICAgICAga2V5Lmxhc3RJbmRleE9mKCdkaW1lbnNpb24nLCAwKSA9PT0gMCB8fFxuICAgICAgICBrZXkubGFzdEluZGV4T2YoJ21ldHJpYycsIDApID09PSAwXG4gICAgICApIHtcbiAgICAgICAgZ2EoJ3NldCcsIGtleSwgcHJvcGVydGllc1trZXldKTtcblxuICAgICAgICB0aGlzLmFuZ3VsYXJ0aWNzMi5zZXR0aW5ncy5nYS5hZGRpdGlvbmFsQWNjb3VudE5hbWVzLmZvckVhY2goXG4gICAgICAgICAgKGFjY291bnROYW1lOiBzdHJpbmcpID0+IHtcbiAgICAgICAgICAgIGdhKGAke2FjY291bnROYW1lfS5zZXRgLCBrZXksIHByb3BlcnRpZXNba2V5XSk7XG4gICAgICAgICAgfSxcbiAgICAgICAgKTtcbiAgICAgICAgdGhpcy5kaW1lbnNpb25zQW5kTWV0cmljcy5wdXNoKGtleSk7XG4gICAgICB9XG4gICAgfSk7XG4gIH1cbn1cbiJdfQ==
|
@@ -1,5 +0,0 @@
|
|
1
|
-
/**
|
2
|
-
* Generated bundle index. Do not edit.
|
3
|
-
*/
|
4
|
-
export * from './ga';
|
5
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYW5ndWxhcnRpY3MyLWdhLmpzIiwic291cmNlUm9vdCI6Im5nOi8vYW5ndWxhcnRpY3MyL2dhLyIsInNvdXJjZXMiOlsiYW5ndWxhcnRpY3MyLWdhLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBOztHQUVHO0FBRUgsY0FBYyxNQUFNLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyIvKipcbiAqIEdlbmVyYXRlZCBidW5kbGUgaW5kZXguIERvIG5vdCBlZGl0LlxuICovXG5cbmV4cG9ydCAqIGZyb20gJy4vZ2EnO1xuIl19
|