@zoho_apptics/apptics-js-sdk 1.0.2 → 2.0.0-beta.1

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 (243) hide show
  1. package/CHANGELOG.md +193 -0
  2. package/LICENSE +13 -0
  3. package/README.md +846 -11
  4. package/dist/apptics.esm.min.js +3 -0
  5. package/dist/apptics.esm.min.js.map +1 -0
  6. package/dist/apptics.min.js +3 -0
  7. package/dist/apptics.min.js.map +1 -0
  8. package/dist/chunks/lifecycle-VYr43KcB.min.js +3 -0
  9. package/dist/chunks/lifecycle-VYr43KcB.min.js.map +1 -0
  10. package/dist/cjs/auto-init.d.ts +8 -0
  11. package/dist/cjs/auto-init.js +32 -0
  12. package/dist/cjs/core/attempts.d.ts +28 -0
  13. package/dist/cjs/core/attempts.js +113 -0
  14. package/dist/cjs/core/batch.d.ts +32 -0
  15. package/dist/cjs/core/batch.js +116 -0
  16. package/dist/cjs/core/callsite.d.ts +34 -0
  17. package/dist/cjs/core/callsite.js +115 -0
  18. package/dist/cjs/core/consent.d.ts +27 -0
  19. package/dist/cjs/core/consent.js +132 -0
  20. package/dist/cjs/core/constants.d.ts +237 -0
  21. package/dist/cjs/core/constants.js +315 -0
  22. package/dist/cjs/core/db.d.ts +48 -0
  23. package/dist/cjs/core/db.js +467 -0
  24. package/dist/cjs/core/debug.d.ts +22 -0
  25. package/dist/cjs/core/debug.js +88 -0
  26. package/dist/cjs/core/env.d.ts +28 -0
  27. package/dist/cjs/core/env.js +267 -0
  28. package/dist/cjs/core/framework-id.d.ts +1 -0
  29. package/dist/cjs/core/framework-id.js +9 -0
  30. package/dist/cjs/core/guard.d.ts +11 -0
  31. package/dist/cjs/core/guard.js +86 -0
  32. package/dist/cjs/core/hooks.d.ts +39 -0
  33. package/dist/cjs/core/hooks.js +22 -0
  34. package/dist/cjs/core/locks.d.ts +9 -0
  35. package/dist/cjs/core/locks.js +22 -0
  36. package/dist/cjs/core/logger.d.ts +15 -0
  37. package/dist/cjs/core/logger.js +50 -0
  38. package/dist/cjs/core/state.d.ts +70 -0
  39. package/dist/cjs/core/state.js +78 -0
  40. package/dist/cjs/core/storage.d.ts +61 -0
  41. package/dist/cjs/core/storage.js +327 -0
  42. package/dist/cjs/core/stylesheet.d.ts +8 -0
  43. package/dist/cjs/core/stylesheet.js +29 -0
  44. package/dist/cjs/core/transport.d.ts +85 -0
  45. package/dist/cjs/core/transport.js +456 -0
  46. package/dist/cjs/core/utils.d.ts +26 -0
  47. package/dist/cjs/core/utils.js +175 -0
  48. package/dist/cjs/core/validate.d.ts +18 -0
  49. package/dist/cjs/core/validate.js +233 -0
  50. package/dist/cjs/device/appversion.d.ts +15 -0
  51. package/dist/cjs/device/appversion.js +170 -0
  52. package/dist/cjs/device/index.d.ts +34 -0
  53. package/dist/cjs/device/index.js +472 -0
  54. package/dist/cjs/engagement/api-rules.d.ts +49 -0
  55. package/dist/cjs/engagement/api-rules.js +206 -0
  56. package/dist/cjs/engagement/auto-api.d.ts +7 -0
  57. package/dist/cjs/engagement/auto-api.js +200 -0
  58. package/dist/cjs/engagement/auto-screen.d.ts +18 -0
  59. package/dist/cjs/engagement/auto-screen.js +305 -0
  60. package/dist/cjs/engagement/defined-events.d.ts +23 -0
  61. package/dist/cjs/engagement/defined-events.js +58 -0
  62. package/dist/cjs/engagement/send.d.ts +6 -0
  63. package/dist/cjs/engagement/send.js +104 -0
  64. package/dist/cjs/engagement/session.d.ts +51 -0
  65. package/dist/cjs/engagement/session.js +463 -0
  66. package/dist/cjs/engagement/track.d.ts +56 -0
  67. package/dist/cjs/engagement/track.js +375 -0
  68. package/dist/cjs/errors/send.d.ts +6 -0
  69. package/dist/cjs/errors/send.js +73 -0
  70. package/dist/cjs/errors/track.d.ts +4 -0
  71. package/dist/cjs/errors/track.js +167 -0
  72. package/dist/cjs/feedback/controls.d.ts +37 -0
  73. package/dist/cjs/feedback/controls.js +316 -0
  74. package/dist/cjs/feedback/index.d.ts +9 -0
  75. package/dist/cjs/feedback/index.js +56 -0
  76. package/dist/cjs/feedback/logs.d.ts +45 -0
  77. package/dist/cjs/feedback/logs.js +241 -0
  78. package/dist/cjs/feedback/quartz.d.ts +18 -0
  79. package/dist/cjs/feedback/quartz.js +105 -0
  80. package/dist/cjs/feedback/send.d.ts +28 -0
  81. package/dist/cjs/feedback/send.js +203 -0
  82. package/dist/cjs/feedback/styles.d.ts +10 -0
  83. package/dist/cjs/feedback/styles.js +8 -0
  84. package/dist/cjs/feedback/template.d.ts +2 -0
  85. package/dist/cjs/feedback/template.js +162 -0
  86. package/dist/cjs/feedback/ui.d.ts +63 -0
  87. package/dist/cjs/feedback/ui.js +709 -0
  88. package/dist/cjs/heatmap/send.d.ts +13 -0
  89. package/dist/cjs/heatmap/send.js +82 -0
  90. package/dist/cjs/heatmap/track.d.ts +4 -0
  91. package/dist/cjs/heatmap/track.js +448 -0
  92. package/dist/cjs/index.d.ts +22 -0
  93. package/dist/cjs/index.js +162 -0
  94. package/dist/cjs/lifecycle.d.ts +21 -0
  95. package/dist/cjs/lifecycle.js +734 -0
  96. package/dist/cjs/package.json +3 -0
  97. package/dist/cjs/remoteconfig/country.d.ts +4 -0
  98. package/dist/cjs/remoteconfig/country.js +73 -0
  99. package/dist/cjs/remoteconfig/custom.d.ts +10 -0
  100. package/dist/cjs/remoteconfig/custom.js +58 -0
  101. package/dist/cjs/remoteconfig/evaluate.d.ts +24 -0
  102. package/dist/cjs/remoteconfig/evaluate.js +184 -0
  103. package/dist/cjs/remoteconfig/fetch.d.ts +24 -0
  104. package/dist/cjs/remoteconfig/fetch.js +200 -0
  105. package/dist/cjs/remoteconfig/index.d.ts +15 -0
  106. package/dist/cjs/remoteconfig/index.js +116 -0
  107. package/dist/cjs/remoteconfig/store.d.ts +18 -0
  108. package/dist/cjs/remoteconfig/store.js +98 -0
  109. package/dist/cjs/remoteconfig/tz-countries.d.ts +8 -0
  110. package/dist/cjs/remoteconfig/tz-countries.js +13 -0
  111. package/dist/cjs/remotelog/gate.d.ts +2 -0
  112. package/dist/cjs/remotelog/gate.js +28 -0
  113. package/dist/cjs/remotelog/index.d.ts +8 -0
  114. package/dist/cjs/remotelog/logger.d.ts +22 -0
  115. package/dist/cjs/remotelog/logger.js +111 -0
  116. package/dist/cjs/remotelog/send.d.ts +13 -0
  117. package/dist/cjs/remotelog/send.js +153 -0
  118. package/dist/cjs/remotelogger/index.d.ts +12 -0
  119. package/dist/cjs/remotelogger/index.js +18 -0
  120. package/dist/cjs/scheduler.d.ts +8 -0
  121. package/dist/cjs/scheduler.js +78 -0
  122. package/dist/cjs/types.d.ts +385 -0
  123. package/dist/cjs/user/index.d.ts +33 -0
  124. package/dist/cjs/user/index.js +183 -0
  125. package/dist/esm/auto-init.d.ts +8 -0
  126. package/dist/esm/auto-init.js +29 -0
  127. package/dist/esm/core/attempts.d.ts +28 -0
  128. package/dist/esm/core/attempts.js +106 -0
  129. package/dist/esm/core/batch.d.ts +32 -0
  130. package/dist/esm/core/batch.js +109 -0
  131. package/dist/esm/core/callsite.d.ts +34 -0
  132. package/dist/esm/core/callsite.js +110 -0
  133. package/dist/esm/core/consent.d.ts +27 -0
  134. package/dist/esm/core/consent.js +122 -0
  135. package/dist/esm/core/constants.d.ts +237 -0
  136. package/dist/esm/core/constants.js +292 -0
  137. package/dist/esm/core/db.d.ts +48 -0
  138. package/dist/esm/core/db.js +453 -0
  139. package/dist/esm/core/debug.d.ts +22 -0
  140. package/dist/esm/core/debug.js +81 -0
  141. package/dist/esm/core/env.d.ts +28 -0
  142. package/dist/esm/core/env.js +251 -0
  143. package/dist/esm/core/framework-id.d.ts +1 -0
  144. package/dist/esm/core/framework-id.js +7 -0
  145. package/dist/esm/core/guard.d.ts +11 -0
  146. package/dist/esm/core/guard.js +83 -0
  147. package/dist/esm/core/hooks.d.ts +39 -0
  148. package/dist/esm/core/hooks.js +20 -0
  149. package/dist/esm/core/locks.d.ts +9 -0
  150. package/dist/esm/core/locks.js +20 -0
  151. package/dist/esm/core/logger.d.ts +15 -0
  152. package/dist/esm/core/logger.js +46 -0
  153. package/dist/esm/core/state.d.ts +70 -0
  154. package/dist/esm/core/state.js +73 -0
  155. package/dist/esm/core/storage.d.ts +61 -0
  156. package/dist/esm/core/storage.js +314 -0
  157. package/dist/esm/core/stylesheet.d.ts +8 -0
  158. package/dist/esm/core/stylesheet.js +27 -0
  159. package/dist/esm/core/transport.d.ts +85 -0
  160. package/dist/esm/core/transport.js +439 -0
  161. package/dist/esm/core/utils.d.ts +26 -0
  162. package/dist/esm/core/utils.js +161 -0
  163. package/dist/esm/core/validate.d.ts +18 -0
  164. package/dist/esm/core/validate.js +226 -0
  165. package/dist/esm/device/appversion.d.ts +15 -0
  166. package/dist/esm/device/appversion.js +164 -0
  167. package/dist/esm/device/index.d.ts +34 -0
  168. package/dist/esm/device/index.js +461 -0
  169. package/dist/esm/engagement/api-rules.d.ts +49 -0
  170. package/dist/esm/engagement/api-rules.js +199 -0
  171. package/dist/esm/engagement/auto-api.d.ts +7 -0
  172. package/dist/esm/engagement/auto-api.js +198 -0
  173. package/dist/esm/engagement/auto-screen.d.ts +18 -0
  174. package/dist/esm/engagement/auto-screen.js +301 -0
  175. package/dist/esm/engagement/defined-events.d.ts +23 -0
  176. package/dist/esm/engagement/defined-events.js +55 -0
  177. package/dist/esm/engagement/send.d.ts +6 -0
  178. package/dist/esm/engagement/send.js +101 -0
  179. package/dist/esm/engagement/session.d.ts +51 -0
  180. package/dist/esm/engagement/session.js +448 -0
  181. package/dist/esm/engagement/track.d.ts +56 -0
  182. package/dist/esm/engagement/track.js +365 -0
  183. package/dist/esm/errors/send.d.ts +6 -0
  184. package/dist/esm/errors/send.js +70 -0
  185. package/dist/esm/errors/track.d.ts +4 -0
  186. package/dist/esm/errors/track.js +163 -0
  187. package/dist/esm/feedback/controls.d.ts +37 -0
  188. package/dist/esm/feedback/controls.js +309 -0
  189. package/dist/esm/feedback/index.d.ts +9 -0
  190. package/dist/esm/feedback/index.js +51 -0
  191. package/dist/esm/feedback/logs.d.ts +45 -0
  192. package/dist/esm/feedback/logs.js +227 -0
  193. package/dist/esm/feedback/quartz.d.ts +18 -0
  194. package/dist/esm/feedback/quartz.js +99 -0
  195. package/dist/esm/feedback/send.d.ts +28 -0
  196. package/dist/esm/feedback/send.js +198 -0
  197. package/dist/esm/feedback/styles.d.ts +10 -0
  198. package/dist/esm/feedback/styles.js +4 -0
  199. package/dist/esm/feedback/template.d.ts +2 -0
  200. package/dist/esm/feedback/template.js +159 -0
  201. package/dist/esm/feedback/ui.d.ts +63 -0
  202. package/dist/esm/feedback/ui.js +703 -0
  203. package/dist/esm/heatmap/send.d.ts +13 -0
  204. package/dist/esm/heatmap/send.js +79 -0
  205. package/dist/esm/heatmap/track.d.ts +4 -0
  206. package/dist/esm/heatmap/track.js +445 -0
  207. package/dist/esm/index.d.ts +22 -0
  208. package/dist/esm/index.js +150 -0
  209. package/dist/esm/lifecycle.d.ts +21 -0
  210. package/dist/esm/lifecycle.js +729 -0
  211. package/dist/esm/package.json +3 -0
  212. package/dist/esm/remoteconfig/country.d.ts +4 -0
  213. package/dist/esm/remoteconfig/country.js +70 -0
  214. package/dist/esm/remoteconfig/custom.d.ts +10 -0
  215. package/dist/esm/remoteconfig/custom.js +54 -0
  216. package/dist/esm/remoteconfig/evaluate.d.ts +24 -0
  217. package/dist/esm/remoteconfig/evaluate.js +179 -0
  218. package/dist/esm/remoteconfig/fetch.d.ts +24 -0
  219. package/dist/esm/remoteconfig/fetch.js +196 -0
  220. package/dist/esm/remoteconfig/index.d.ts +15 -0
  221. package/dist/esm/remoteconfig/index.js +111 -0
  222. package/dist/esm/remoteconfig/store.d.ts +18 -0
  223. package/dist/esm/remoteconfig/store.js +91 -0
  224. package/dist/esm/remoteconfig/tz-countries.d.ts +8 -0
  225. package/dist/esm/remoteconfig/tz-countries.js +11 -0
  226. package/dist/esm/remotelog/gate.d.ts +2 -0
  227. package/dist/esm/remotelog/gate.js +26 -0
  228. package/dist/esm/remotelog/index.d.ts +8 -0
  229. package/dist/esm/remotelog/logger.d.ts +22 -0
  230. package/dist/esm/remotelog/logger.js +108 -0
  231. package/dist/esm/remotelog/send.d.ts +13 -0
  232. package/dist/esm/remotelog/send.js +149 -0
  233. package/dist/esm/remotelogger/index.d.ts +12 -0
  234. package/dist/esm/remotelogger/index.js +13 -0
  235. package/dist/esm/scheduler.d.ts +8 -0
  236. package/dist/esm/scheduler.js +74 -0
  237. package/dist/esm/types.d.ts +385 -0
  238. package/dist/esm/user/index.d.ts +33 -0
  239. package/dist/esm/user/index.js +176 -0
  240. package/dist/feedback.esm.min.js +3 -0
  241. package/dist/feedback.esm.min.js.map +1 -0
  242. package/package.json +122 -7
  243. package/src/appticssdk.js +0 -1
@@ -0,0 +1,3 @@
1
+ /*! @zoho_apptics/apptics-js-sdk v2.0.0-beta.1 | (c) Zoho Corporation Private Limited | see LICENSE */
2
+ const e=Object.freeze({USAGE_TRACKING_WITH_PII:1,USAGE_TRACKING_WITHOUT_PII:4,NO_TRACKING:-1}),t=Object.freeze({BUG:0,FEEDBACK:1,HELP:2,REPORT:3}),n=Object.freeze({SCREEN:"screen",SESSION:"session",EVENT:"event",API:"api",ERROR:"error",SUCCESS:"success",BROWSER:"Browser"}),r=Object.freeze({addversion:"app/addversion",regdevice:"device/add",reguser:"user/register",engagement:"engagement/add",error:"exception/error",feedback:"feedback/add",sdkconfig:"getsdkconfig",getupdates:"getupdates",consolelog:"log/add",heatmap:"heatmap/add"}),i=Object.freeze({addversion:"v2",regdevice:"v2",engagement:"v2",error:"v2",reguser:"v2",feedback:"v2",sdkconfig:"v2",getupdates:"v2",consolelog:"v2",heatmap:"v2"}),o=Object.freeze({SESSION:"Session",SCREEN:"Screen",EVENT:"Event",API:"API",HEATMAP:"Heatmap",PROPERTIES:"Properties"}),a=Object.freeze({REMOTE_CONFIG:"2",SESSION:"11",FEEDBACK:"12",CRASH:"13",REMOTE_LOGGER:"17",HEATMAP:"18"}),s=36e5,c=Object.freeze({endpoint:"/sdk/web/",method:"POST",transport:"XHR",track_link_timeout:300,cookie_expiration_days:365,storage_type:"localStorage",enable_batch_requests:!0,batch_size:50,batch_flush_interval:3e4,getupdates_interval:12e4,batch_request_timeout:7,auto_starts_batch:!0,mode:1,default_group_name:"default",default_optin_status:e.USAGE_TRACKING_WITHOUT_PII,enable_pageview_tracking:!1,save_referrer:!0,debug:!1,track_by_default:!0,ignore_do_not_track:!1,track_api:!1,track_screen:!0,screen_routes:[],feedback_theme:"auto",min_session_duration:5e3,track_heatmap:!1,debug_api:!1,device_name:"",heatmap_max_per_session:500}),u=Object.freeze(["base_url","auth_key","app_domain","appversion"]),d=Object.freeze({base_url:"serviceUrl",auth_key:"zak",app_domain:"identifier"}),f=Object.freeze({engagement:!0,error:!0,consolelog:!0}),l=Object.freeze({regdevice:!0,reguser:!0,engagement:!0,error:!0,heatmap:!0,consolelog:!0,feedback:!0,getupdates:!0}),p=Object.freeze({addversion:!0}),g=Object.freeze({serviceUrl:"base_url",base_domain:"base_url",zak:"auth_key",token:"auth_key",identifier:"app_domain"}),_=Object.freeze(["ahrefsbot","ahrefssiteaudit","baiduspider","bingbot","bingpreview","chrome-lighthouse","facebookexternal","petalbot","pinterest","screaming frog","yahoo! slurp","yandexbot","adsbot-google","apis-google","duplexweb-google","feedfetcher-google","google favicon","google web preview","google-read-aloud","googlebot","googleweblight","mediapartners-google","storebot-google"]),v={};function m(){return Math.round((new Date).getTime())}function h(e){return!!e&&"object"==typeof e&&e.result==n.SUCCESS}function b(e){return null==e||""===e}function y(e){return!!e&&"object"==typeof e&&0===Object.keys(e).length&&e.constructor===Object}function k(e,t){return JSON.stringify(e)===JSON.stringify(t)}function S(e,t){const n={};for(let key in e)t.includes(key)||(n[key]=e[key]);return n}function w(e){return JSON.parse(JSON.stringify(e))}function E(e){let t=0;return function e(value){if(null!==value&&"object"==typeof value)for(const key in value)Object.prototype.hasOwnProperty.call(value,key)&&(t+=2*key.length,e(value[key]));else"string"==typeof value?t+=2*value.length:"number"==typeof value?t+=8:"boolean"==typeof value&&(t+=4)}(e),t}function A(e,t){return-1!==e.indexOf(t)}function O(){var e=function(){for(var e=Date.now(),t=0;e==Date.now();)t++;return e.toString(16)+t.toString(16)},t=(screen.height*screen.width).toString(16);return e()+"-"+Math.random().toString(16).replace(".","")+"-"+function(){var e,t,n=navigator.userAgent,r=[],i=0;function o(e,t){var n,i=0;for(n=0;n<t.length;n++)i|=r[n]<<8*n;return e^i}for(e=0;e<n.length;e++)t=n.charCodeAt(e),r.unshift(255&t),r.length>=4&&(i=o(i,r),r=[]);return r.length>0&&(i=o(i,r)),i.toString(16)}()+"-"+t+"-"+e()}const P={_initialised:!1,_ready:!1,_pending:[],_readyPromise:null,_regDeviceSending:!1,_regDeviceResolve:[],_regDeviceReject:[],_sending:!1,_deferSendTimer:null,_config:{...c},_defaultoptions:{},inactiveduration:30,_token:"",_frameworkID:6002,_platform:n.BROWSER,_isanonrequired:!0,_devicestatus:e.USAGE_TRACKING_WITHOUT_PII,_uuid:"",_apid:"",_mapid:"",_device_info:{},_user_info:{},_current_screen:{},_current_session:{},_properties:{},_ignoreDnt:!1,_isGlobalErrorTracking:!0,_shouldTrack:!0,_engagementTracking:!0,_heatmapTracking:!0,_remoteLoggerEnabled:!0,_remoteConfigEnabled:!0,_remoteConfigReported:!0,_feedbackEnabled:!0,_nextConfigCheck:0,_debugUntil:0,_errorTracking:!0,_quartz:{enabled:!1,workspace:"",department:"",domain:"",cdnUrl:""},_trackinfo:{}};function T(key){return P._config[key]}function I(e){return!("number"!=typeof e||!isFinite(e))&&(e<m()-24*T("batch_request_timeout")*60*60*1e3||e>m()+6e4)}const R="undefined"!=typeof console?console:null;function N(method){return function(...e){if(P._config.debug&&R)try{R[method].apply(R,e)}catch(t){!function(e,t,n){if(null!=e)if(Array.prototype.forEach&&e.forEach===Array.prototype.forEach)e.forEach(t,n);else if(e.length===+e.length){for(var r=0,i=e.length;r<i;r++)if(r in e&&t.call(n,e[r],r,e)===v)return}else for(var key in e)if(Object.prototype.hasOwnProperty.call(e,key)&&t.call(n,e[key],key,e)===v)return}(e,function(e){R[method](e)})}}}const j={log:N("log"),warn:N("warn"),error:N("error"),info:N("info"),dir(e){P._config.debug&&R&&R.dir(e)}};function x(...e){R&&R.warn(...e)}function C(e,...t){j.error.apply(null,t)}const U={"Apptics.init":!0,"Apptics.ready":!0,"Apptics.reset":!0,"AppticsUser.getUser":!0,"AppticsSettings.getTrackingStatus":!0,"AppticsFeedback.sendFeedback":!0,"AppticsFeedback.addFeedbackLog":!0,"AppticsFeedback.addDiagnosticsInfo":!0,"AppticsFeedback.setFeedbackTheme":!0,"AppticsApi.configure":!0,"AppticsApi.startTrackApi":!0,"AppticsRemoteConfig.fetchValue":!0,"AppticsRemoteConfig.fetchValues":!0,"AppticsRemoteConfig.setCustomConditionValue":!0,"Apptics.enableDebug":!0,"Apptics.disableDebug":!0},D={"AppticsEvent.addEvent":!0,"AppticsScreen.inScreen":!0,"AppticsScreen.outScreen":!0,"AppticsApi.endTrackApi":!0,"AppticsError.trackError":!0,"AppticsUser.setUser":!0,"Apptics.flush":!0,AppticsLogger:!0,"AppticsFeedback.sendFeedback":!0,"AppticsRemoteConfig.fetchValue":!0,"AppticsRemoteConfig.fetchValues":!0};function q(name){return 0===name.indexOf("Apptics")?name:"apptics."+name}var L=!1;function z(name,e){const t=function(...n){if(P._initialised||!D[name]||L||(L=!0,x(q(name)+": the SDK has not started, so this call is ignored. Call Apptics.init() first, and check its warnings if you did.")),!P._initialised||P._ready||U[name])try{return e(...n)}catch(e){return x(q(name)+" failed:",e),void C(0,e)}else P._pending.push(function(){t(...n)})};return t}function B(e,t){return e.apply(null,Array.prototype.slice.call(t))}const G="apptics",M=["engagements","errors","feedbacklogs","remotelogs","heatmaps"],H="queue",F="seq",W=[["logs","feedbacklogs"],["consolelogs","remotelogs"]],J="feedbacklog",K="feedbackdiagnostics",V=Object.freeze({log:J,diagnostics:K});function Z(e){var t=e&&"string"==typeof e.type?V[e.type]:void 0;return t?{...e,type:t}:e}const Y=Object.freeze({settings:"apptics-device-info",engagements:"apptics-engagements-transactions",errors:"apptics-errors-transactions",logs:"apptics-log-transactions",consolelogs:"apptics-consolelog-transactions"}),$=Object.freeze({settings:Y.settings,engagements:Y.engagements,errors:Y.errors,feedbacklogs:"apptics-feedbacklog-transactions",remotelogs:"apptics-remotelog-transactions",heatmaps:"apptics-heatmap-transactions"});function X(value){return Array.isArray(value)?value:[]}function Q(value){return value&&"object"==typeof value&&!Array.isArray(value)?value:{}}function ee(key){try{const e=localStorage.getItem(key);return null===e||""===e?null:JSON.parse(e)}catch(e){return j.warn("apptics: could not read "+key+", treating it as empty"),null}}function te(key,value){try{localStorage.setItem(key,JSON.stringify(value))}catch(e){j.warn("apptics: could not write "+key+": "+String(e))}}function ne(){return[[Y.logs,$.feedbacklogs],[Y.consolelogs,$.remotelogs]].forEach(function(e){try{var t=e[0],n=e[1],r=localStorage.getItem(t);if(null===r)return;if(null===localStorage.getItem(n)){var i=X(JSON.parse(r));localStorage.setItem(n,JSON.stringify(n===$.feedbacklogs?i.map(Z):i))}localStorage.removeItem(t)}catch(e){}}),{kind:"localstorage",loadSettings:()=>Promise.resolve(Q(ee($.settings))),putSetting(key,value){const e=Q(ee($.settings));return e[key]=value,te($.settings,e),Promise.resolve()},deleteSetting(key){const e=Q(ee($.settings));return delete e[key],te($.settings,e),Promise.resolve()},clearSettings:()=>(te($.settings,{}),Promise.resolve()),queueAll:e=>Promise.resolve(X(ee($[e]))),queuePut(e,t){const n=X(ee($[e]));return t.forEach(function(e){const t=n.findIndex(function(t){return t.id===e.id});-1===t?n.push(e):n[t]=e}),te($[e],n),Promise.resolve()},queueDelete(e,t){const n=X(ee($[e])).filter(function(e){return-1===t.indexOf(e.id)});return te($[e],n),Promise.resolve()},queueClear:e=>(te($[e],[]),Promise.resolve())}}let re=0;function ie(){const e=1e3*m();return re=e>re?e:re+1,re}function oe(e){return new Promise(function(t,n){e.onsuccess=function(){t(e.result)},e.onerror=function(){n(e.error)}})}function ae(e){return new Promise(function(t,n){e.oncomplete=function(){t()},e.onerror=function(){n(e.error)},e.onabort=function(){n(e.error)}})}const se=Object.freeze({engagements:"engagement",errors:"error",feedbacklogs:J,remotelogs:"remotelog",heatmaps:"heatmap"});function ce(e,t){return t&&"string"==typeof t.type&&""!==t.type?t.type:se[e]||e}function ue(e,t,n){const id=String(t.id),r=e.get(id);r.onsuccess=function(){const i=r.result;i&&n||e.put({id:id,queue:i?i.queue:ie(),type:ce(e.name,t),item:t})}}function de(e){return e.objectStoreNames.contains("settings")&&M.every(function(name){return e.objectStoreNames.contains(name)})}function fe(e=indexedDB,t=3e3){return le(e,t).then(function(n){return de(n)?n:(j.warn('apptics: the "'+G+'" database is missing its stores, recreating it'),n.close(),function(e){return new Promise(function(t){var n=e.deleteDatabase(G);n.onsuccess=function(){t()},n.onerror=function(){t()},n.onblocked=function(){t()}})}(e).then(function(){return le(e,t)}).then(function(e){if(!de(e))throw e.close(),new Error("indexedDB: stores could not be created");return e}))})}function le(e,t){return new Promise(function(n,r){let i=!1;const o=function(e){i||(i=!0,clearTimeout(a),r(e))},a=setTimeout(function(){o(new Error("indexedDB open timed out"))},t);let s;try{s=e.open(G,4)}catch(e){return void o(e)}s.onupgradeneeded=function(){!function(e,t){e.objectStoreNames.contains("settings")||e.createObjectStore("settings");M.forEach(function(name){e.objectStoreNames.contains(name)||e.createObjectStore(name,{keyPath:"id"}).createIndex(H,H)}),M.forEach(function(name){const e=t.objectStore(name);e.indexNames.contains(F)&&(e.deleteIndex(F),e.indexNames.contains(H)||e.createIndex(H,H),pe(e,function(e,t){t.update(ge(e,!1,name))}))}),W.forEach(function(n){const r=n[0],i=n[1];if(!e.objectStoreNames.contains(r))return;const o=t.objectStore(r),a=t.objectStore(i);pe(o,function(e){a.put(ge(e,"feedbacklogs"===i,i))},function(){e.deleteObjectStore(r)})})}(s.result,s.transaction)},s.onsuccess=function(){i?s.result.close():(i=!0,clearTimeout(a),s.result.onversionchange=function(){j.warn("apptics: another tab is upgrading the database, closing this connection"),s.result.close()},n(s.result))},s.onerror=function(){o(s.error)},s.onblocked=function(){j.warn("apptics: waiting for another tab to release the database")}})}function pe(e,t,n){const r=e.openCursor();r.onsuccess=function(){const e=r.result;e?(t(e.value,e),e.continue()):n&&n()}}function ge(e,t,n){const r="number"==typeof e[H]?e[H]:"number"==typeof e[F]?e[F]:ie(),i=t?Z(e.item):e.item;return{id:String(e.id),queue:r,type:ce(n,i),item:i}}function _e(e){return{kind:"indexeddb",loadSettings(){const t=e.transaction("settings","readonly").objectStore("settings");return Promise.all([oe(t.getAllKeys()),oe(t.getAll())]).then(function([e,t]){const n={};return e.forEach(function(key,e){n[String(key)]=t[e]}),n})},putSetting(key,value){const t=e.transaction("settings","readwrite");return t.objectStore("settings").put(value,key),ae(t)},deleteSetting(key){const t=e.transaction("settings","readwrite");return t.objectStore("settings").delete(key),ae(t)},clearSettings(){const t=e.transaction("settings","readwrite");return t.objectStore("settings").clear(),ae(t)},queueAll:t=>oe(e.transaction(t,"readonly").objectStore(t).index(H).getAll()).then(function(e){return e.map(function(e){return e.item})}),queuePut(t,n){const r=e.transaction(t,"readwrite"),i=r.objectStore(t);return n.forEach(function(e){ue(i,e,!1)}),ae(r)},queueDelete(t,n){const r=e.transaction(t,"readwrite"),i=r.objectStore(t);return n.forEach(function(id){i.delete(id)}),ae(r)},queueClear(t){const n=e.transaction(t,"readwrite");return n.objectStore(t).clear(),ae(n)},importAll(t,n){const r=e.transaction(["settings"].concat(M),"readwrite"),i=r.objectStore("settings");return Object.keys(t).forEach(function(key){const e=i.get(key);e.onsuccess=function(){void 0===e.result&&i.put(t[key],key)}}),M.forEach(function(name){const e=r.objectStore(name);n[name].forEach(function(t){ue(e,t,!0)})}),ae(r)}}}function ve(){const e=function(e){return j.warn("apptics: IndexedDB unavailable ("+String(e)+"), using localStorage"),function(){try{const e="__apptics_probe__";return localStorage.setItem(e,"1"),localStorage.removeItem(e),!0}catch(e){return!1}}()?ne():null};let t;try{t="undefined"!=typeof indexedDB?indexedDB:void 0}catch(e){t=void 0}return t?fe(t).then(_e,e):Promise.resolve(e("not supported"))}var me=null,he={};function be(e,t,n){return ye().then(function(e){return e?n(e):t}).catch(function(n){return j.warn("apptics: storage "+e+" failed: "+String(n)),t})}function ye(){return me||(me=ve().then(function(e){return e?function(e){if("indexeddb"!==e.kind||!e.importAll)return Promise.resolve();var t;try{t={settings:localStorage.getItem(Y.settings),engagements:localStorage.getItem(Y.engagements),errors:localStorage.getItem(Y.errors),logs:localStorage.getItem(Y.logs),consolelogs:localStorage.getItem(Y.consolelogs)}}catch(e){return Promise.resolve()}if(null===t.settings&&null===t.engagements&&null===t.errors&&null===t.logs&&null===t.consolelogs)return Promise.resolve();var n=function(e){try{return null===e?null:JSON.parse(e)}catch(e){return null}},r={engagements:X(n(t.engagements)),errors:X(n(t.errors)),feedbacklogs:X(n(t.logs)).map(Z),remotelogs:X(n(t.consolelogs)),heatmaps:[]};r.engagements.concat(r.errors,r.feedbacklogs,r.remotelogs).forEach(function(e){e.id||(e.id=O())});var i=e.importAll.bind(e);return Promise.resolve().then(function(){return i(Q(n(t.settings)),r)}).then(function(){Object.values(Y).forEach(function(key){try{localStorage.removeItem(key)}catch(e){}}),j.log("apptics: moved 1.x data from localStorage to IndexedDB")}).catch(function(e){j.warn("apptics: 1.x data migration failed, will retry next load: "+String(e))})}(e).then(function(){return e.loadSettings()}).then(function(t){return he=Object.assign({},t,he),function(){var e=he.device_info&&"object"==typeof he.device_info?he.device_info:null;void 0===he.uuid&&void 0===he.hadsession||(b((e=Object.assign({},e||{})).uuid)&&!b(he.uuid)&&(e.uuid=he.uuid),!0===he.hadsession&&(e.hadsession=!0),Ie("device_info",e),Ie("uuid",void 0),Ie("hadsession",void 0));if(void 0!==he.tracking_status){var t=Object.assign({},he.trackinfo&&"object"==typeof he.trackinfo?he.trackinfo:{});void 0===t.tracking_status&&(t.tracking_status=he.tracking_status),Ie("trackinfo",t),Ie("tracking_status",void 0)}void 0!==he.token&&Ie("token",void 0)}(),e}):null}).catch(function(e){return j.warn("apptics: storage unavailable: "+String(e)),null})),me}function ke(e){let t=0;const n=[];for(const r of e.slice(0,T("batch_size"))){const e=E(JSON.stringify(r));if(t+e>1048576)break;n.push(r),t+=e}return n}function Se(name){const e={name:name,all:()=>be("read "+name,[],function(e){return e.queueAll(name)}),payload:()=>e.all().then(ke),add:e=>(e.id||(e.id=O()),I(function(e){return void 0!==e.starttime?e.starttime:e.happenedat}(e))?(j.warn("apptics: dropping a "+name+" item older than "+T("batch_request_timeout")+" days"),Promise.resolve()):be("add "+name,void 0,function(t){return t.queuePut(name,[e])})),update:e=>be("update "+name,void 0,function(t){return t.queuePut(name,[e])}),remove(e){const t=(e||[]).map(function(e){return String(e.id)});return be("remove "+name,void 0,function(e){return e.queueDelete(name,t)})},clear:()=>be("clear "+name,void 0,function(e){return e.queueClear(name)})};return e}const we=Se("engagements"),Ee=Se("errors"),Ae=Se("feedbacklogs"),Oe=Se("heatmaps"),Pe=Se("remotelogs");function Te(e,key){return void 0===he[key]?e.deleteSetting(key):e.putSetting(key,he[key])}function Ie(key,value){void 0===value?delete he[key]:he[key]=w(value),be("save "+key,void 0,function(e){return Te(e,key)})}function Re(key,value){var e=Object.assign({},he.device_info&&"object"==typeof he.device_info?he.device_info:{});e[key]=value,P._device_info&&"object"==typeof P._device_info&&(P._device_info[key]=value),Ie("device_info",e)}const Ne={all:()=>w(he),item(key){const value=he[key];return void 0===value?void 0:w(value)},add(key,value){Ie(key,value)},save:(key,value)=>(void 0===value?delete he[key]:he[key]=w(value),be("save "+key,void 0,function(e){return Te(e,key)})),clear(){he={},be("clear settings",void 0,function(e){return e.clearSettings()})}};function je(e){return be("reload settings",void 0,function(t){return t.loadSettings().then(function(t){e.forEach(function(key){void 0!==t[key]&&(he[key]=t[key])})})})}function xe(){var t=he.trackinfo,status=t&&"object"==typeof t?t.tracking_status:void 0;return status===e.USAGE_TRACKING_WITH_PII||status===e.USAGE_TRACKING_WITHOUT_PII||status===e.NO_TRACKING?status:void 0}const Ce={_tracking_status:"tracking_status",all:()=>Ne.all(),opt_in_status:()=>xe()||e.USAGE_TRACKING_WITHOUT_PII,update_status(t){P._devicestatus=t,P._isanonrequired=Ce.opt_in_status()!=e.USAGE_TRACKING_WITH_PII&&P._isanonrequired;var n=Object.assign({},he.trackinfo&&"object"==typeof he.trackinfo?he.trackinfo:{});n.tracking_status=t,P._trackinfo&&"object"==typeof P._trackinfo&&(P._trackinfo.tracking_status=t),Ie("trackinfo",n)}};function Ue(key){var e=he.device_info;return null!=e&&""!==e&&void 0!==e[key]&&null!==e[key]&&""!==e[key]?w(e[key]):null}const De={updateDevice:()=>Promise.reject("apptics: device module not loaded"),refreshDeviceInfo:()=>{},feedbackUser:()=>null,sendHeatmaps:()=>Promise.resolve(),trackHeatmap:()=>{},resetHeatmap:()=>{},resetRemoteConfig:()=>{},screenTrackedByApp:()=>{},remoteConfigStarted:()=>{},remoteConfigUserChanged:()=>{}};function qe(){return!0===P._config.debug_api&&!Le()}function Le(){return P._debugUntil>0&&m()>P._debugUntil}function ze(){!0===P._config.debug_api&&(P._debugUntil=m()+s)}var Be=null;function Ge(on){P._config.debug_api=on,P._debugUntil=on?m()+s:0,j.log("apptics: debug mode "+(on?"on":"off"))}function enableDebug(){Be=!0,Ge(!0)}function disableDebug(){Be=!1,Ge(!1)}function Me(){var e=navigator.connection||navigator.mozConnection||navigator.webkitConnection||{};return e.effectiveType||e.type||""}function He(){return window.navigator.onLine?0:-1}function Fe(){try{var e=navigator.getBattery;return"function"!=typeof e?Promise.resolve(null):e.call(navigator).then(function(e){var t=e&&"number"==typeof e.level?e.level:-1;return t>=0&&t<=1?Math.round(100*t):null},function(){return null})}catch(e){return Promise.resolve(null)}}function We(){var e=window.screen&&window.screen.orientation&&window.screen.orientation.type||"";return A(e,"portrait-primary")?0:A(e,"landscape-primary")?1:A(e,"landscape-secondary")?2:A(e,"portrait-secondary")?3:-1}function Je(){var e=navigator.userAgent;return/Windows/i.test(e)?/Phone/.test(e)||/WPDesktop/.test(e)?"Windows Phone":"Windows":/iPad/.test(e)?"iPad":/iPod/.test(e)?"iPod Touch":/iPhone/.test(e)?"iPhone":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":/Android/.test(e)?"Android":/Mac/i.test(e)?"Mac":/Linux/.test(e)?"Linux":/CrOS/.test(e)?"Chrome":""}function Ke(){var e=navigator.userAgent,t=navigator.vendor||"";return window.opera||A(e," OPR/")?A(e,"Mini")?"Opera Mini":"Opera":/(BlackBerry|PlayBook|BB10)/i.test(e)?"BlackBerry":A(e,"IEMobile")||A(e,"WPDesktop")?"Internet Explorer Mobile":A(e,"SamsungBrowser/")?"Samsung Internet":A(e,"Edge")||A(e,"Edg/")?"Microsoft Edge":A(e,"FBIOS")?"Facebook Mobile":A(e,"Chrome")?"object"==typeof ulaa?"Ulaa":null!=window.navigator.brave&&"isBrave"==window.navigator.brave.isBrave.name?"Brave":"Chrome":A(e,"CriOS")?"Chrome iOS":A(e,"UCWEB")||A(e,"UCBrowser")?"UC Browser":A(e,"FxiOS")?"Firefox iOS":A(t,"Apple")?A(e,"Mobile")?"Mobile Safari":"Safari":A(e,"Android")?"Android Mobile":A(e,"Konqueror")?"Konqueror":A(e,"Firefox")?"Firefox":A(e,"MSIE")||A(e,"Trident/")?"Internet Explorer":A(e,"Gecko")?"Mozilla":""}function Ve(){var e=Ke(),t=navigator.userAgent;if("Ulaa"===e&&"object"==typeof ulaa)return ulaa.getVersion();var n={"Internet Explorer Mobile":/rv:(\d+(\.\d+)?)/,"Microsoft Edge":/Edg\/(\d+(\.\d+)?)/,Chrome:/Chrome\/(\d+(\.\d+)?)/,Brave:/Chrome\/(\d+(\.\d+)?)/,"Chrome iOS":/CriOS\/(\d+(\.\d+)?)/,"UC Browser":/(UCBrowser|UCWEB)\/(\d+(\.\d+)?)/,Safari:/Version\/(\d+(\.\d+)?)/,"Mobile Safari":/Version\/(\d+(\.\d+)?)/,Opera:/(Opera|OPR)\/(\d+(\.\d+)?)/,Firefox:/Firefox\/(\d+(\.\d+)?)/,"Firefox iOS":/FxiOS\/(\d+(\.\d+)?)/,Konqueror:/Konqueror:(\d+(\.\d+)?)/,BlackBerry:/BlackBerry (\d+(\.\d+)?)/,"Android Mobile":/android\s(\d+(\.\d+)?)/,"Internet Explorer":/(rv:|MSIE )(\d+(\.\d+)?)/,Mozilla:/rv:(\d+(\.\d+)?)/}[e];if(void 0===n)return"";var r=t.match(n);return r?parseFloat(r[r.length-2]):""}function Ze(){return"undefined"==typeof navigator||function(e){var t;for(e=e.toLowerCase(),t=0;t<_.length;t++)if(-1!==e.indexOf(_[t]))return!0;return!1}(navigator.userAgent||"")}function Ye(){if("undefined"!=typeof window&&window.appticssettings)return window.appticssettings._defaultoptions}function $e(name,e){var t="undefined"!=typeof navigator?navigator.locks:void 0;return t&&"function"==typeof t.request?t.request("apptics-"+name,function(){return e()}):e()}function Xe(){return!P._ignoreDnt&&(e=window.navigator||{},t=[!0,1,"1","yes"],!![e.doNotTrack,e.msDoNotTrack,window.doNotTrack].some(function(e){return A(t,e)})&&(j.warn("hasDoNotTrackEnabled: DoNotTrack is enabled, so nothing is tracked"),!0));var e,t}function Qe(){if(Xe())return j.warn('opt_in_status: It seems "Do Not Track" is enabled in this browser. Please enable tracking in the browser settings to continue tracking.'),e.NO_TRACKING;var status=Ce.opt_in_status();return-1==status&&j.warn("opt_in_status: You are opted out of Apptics tracking. This will prevent the our SDK from sending no data to our server."),status}function et(){return Qe()>-1&&P._shouldTrack}function tt(e){return P._token?!Ze()&&et():(j.warn("apptics."+e+": You must call Apptics.init() first"),!1)}function nt(e){return!!tt(e)&&(!!P._engagementTracking||(j.log("apptics."+e+": engagement tracking is turned off by the server"),!1))}function rt(e){return!!tt(e)&&(!!P._heatmapTracking||(j.log("apptics."+e+": heatmap tracking is turned off by the server"),!1))}function setTrackingStatus(t){b(t)?j.warn("setTrackingStatus: trackingStatus is Empty"):Ce.opt_in_status()!=t&&(Ce.update_status(t),P._devicestatus=Ce.opt_in_status(),P._isanonrequired=Ce.opt_in_status()!=e.USAGE_TRACKING_WITH_PII&&P._isanonrequired,Ce.opt_in_status()!=e.NO_TRACKING&&(j.log("setTrackingStatus: Updating device info with new tracking status"),De.updateDevice(P._device_info).then(function(e){h(e)?(j.log("setTrackingStatus: Device info updated with new tracking status"+JSON.stringify(e.data)),j.dir(e.data)):j.log("setTrackingStatus: Error updating device info with new tracking status: "+JSON.stringify(e))}).catch(function(e){j.warn("setTrackingStatus: Error updating device info with new tracking status: "+JSON.stringify(e))})))}function getTrackingStatus(){return Qe()}const it="sendstate";function ot(){var e=Ne.item(it);return e&&"object"==typeof e?e:{}}function at(e){var t=ot()[e];return t&&"object"==typeof t?{attempt:Number(t.attempt)||1,firstattempttime:Number(t.firstattempttime)||0,lst:Number(t.lst)||0}:{attempt:1,firstattempttime:0,lst:0}}function st(e,t){var n=ot();n[e]=t,Ne.add(it,n)}function ct(e){if(!l[e])return{};var t=at(e),n=m();(t.attempt<=1||0===t.firstattempttime)&&(t.attempt=1,t.firstattempttime=n);var r={attempt:String(Math.min(t.attempt,5)),firstattempttime:t.firstattempttime};return t.lst>0&&(r.lst=t.lst),st(e,{attempt:t.attempt+1,firstattempttime:t.firstattempttime,lst:t.lst}),r}function ut(url,method,e,t){return new Promise((n,r)=>{let i=new XMLHttpRequest;i.open(method,url),t&&Object.keys(t).forEach(key=>{i.setRequestHeader(key,t[key])}),i.withCredentials=!1,i.timeout=3e4,i.onreadystatechange=function(){4===i.readyState&&(200==i.status?n(i.responseText):r(i.statusText))},i.onerror=function(){r("makeRequest: Network Error")},i.ontimeout=function(){r("makeRequest: timed out after 30000 ms")},i.send(e)})}function dt(key){return"zak"==key?P._defaultoptions.zak:"uuid"==key?P._uuid:"apid"==key?P._apid||Ue(key):"mapid"==key?P._mapid||Ue(key):""}function ft(e){var t="",n=P._device_info.appversionid,r=b(P._device_info.frameworkid)?P._frameworkID:P._device_info.frameworkid;return b(n)||(t+="&appversionid="+encodeURIComponent(String(n))),b(r)||(t+="&frameworkid="+encodeURIComponent(String(r))),""===t?t:void 0===e||""===e?"?"+t.slice(1):t}function lt(e,t){if(!f[e])return"";var n=T("device_name"),name=b(n)?qe()?function(){var e=P._device_info,t=b(e.browser)?"":String(e.browser),n=b(e.browserversion)?"":String(e.browserversion),r=b(e.osversion)?"":String(e.osversion),name=""===t?"":""===n?t:t+" "+n;return""===r?name:""===name?r:name+" on "+r}():"":String(n);return""===name?"":(""===t?"?":"&")+("devicename="+encodeURIComponent(name.slice(0,100)))}function pt(t,n){var url=P._defaultoptions.base_domain+T("endpoint")+i[t]+"/"+(p[t]?"":P._defaultoptions.zsoid+"/"+P._defaultoptions.projectID+"/")+((function(e){return qe()&&!0===f[e]}(t)?"debug/":"")+r[t])+function(t){let n="";if("addversion"==t){var r=b(P._device_info.frameworkid)?P._frameworkID:P._device_info.frameworkid;return"?version="+encodeURIComponent(P._defaultoptions.appversion)+"&platform="+encodeURIComponent(P._platform)+"&identifier="+encodeURIComponent(P._defaultoptions.identifier)+"&frameworkid="+encodeURIComponent(String(r))}if("regdevice"==t)return n="?isanonrequired="+P._isanonrequired+"&devicestatus="+P._devicestatus,b(P._device_info.deviceid)||(n+="&deviceid="+encodeURIComponent(String(P._device_info.deviceid))),n+ft(n);var i="sdkconfig"!=t;if(i){if(b(P._device_info.deviceid))return De.refreshDeviceInfo(),n+ft(n);n="?deviceid="+encodeURIComponent(String(P._device_info.deviceid))}if("feedback"===t){var o=De.feedbackUser();return o&&(n+="&userid="+encodeURIComponent(String(o.userid)),b(o.groupid)||(n+="&customergroupid="+encodeURIComponent(String(o.groupid)))),n+ft(n)}return"reguser"!=t&&"getupdates"!=t&&i&&Qe()==e.USAGE_TRACKING_WITH_PII&&(P._user_info.hasOwnProperty("userid")&&!b(P._user_info.userid)&&(n+="&userid="+encodeURIComponent(String(P._user_info.userid))),P._user_info.hasOwnProperty("groupid")&&!b(P._user_info.groupid)&&(n+="&customergroupid="+encodeURIComponent(String(P._user_info.groupid)))),n+=lt(t,n),n+ft(n)}(t);if(!n)return url;var o=-1===url.indexOf("?")?"?":"&";return Object.keys(n).forEach(function(key){void 0!==n[key]&&null!==n[key]&&""!==n[key]&&(url+=o+key+"="+encodeURIComponent(String(n[key])),o="&")}),url}function gt(){return{apid:dt("apid"),mapid:dt("mapid")}}const _t={PATTERN_NOT_MATCHED:!0,EXTRA_PARAM_FOUND:!0,INVALID_INPUTSTREAM:!0,INVALID_PARAM:!0};function vt(e){var t=e?e.serverResult:void 0,n=t?t.error_code:void 0;return!b(n)&&!0===_t[String(n)]}function mt(e,t,n){var r=JSON.parse(n);if(h(r))return function(e){l[e]&&st(e,{attempt:1,firstattempttime:0,lst:m()})}(e),function(e,t){var n=t.data;n&&!b(n.req_id)&&j.log(e+": req_id "+String(n.req_id)+(b(n.path)?"":", path "+String(n.path))+(b(n.producerLogsUrl)?"":", logs "+String(n.producerLogsUrl)))}(t,r),Promise.resolve(r);var i=function(e,t,n){var r=t&&!b(t.error_code)?String(t.error_code):String(t?t.result:n),i=new Error(e+": "+r);return t&&(i.serverResult=t),i}(t,r,n);return Promise.reject(i)}function ht(e,t,n,r,i){return ut(pt(e,Object.assign(ct(e),{})),T("method"),t,n).then(function(t){return mt(e,r,t)},function(e){return Promise.reject(r+": "+e)})}var bt=0;function yt(e,t,n,r,i){var o=function(e){if(null==e)return 0;if("string"==typeof e)return"function"==typeof TextEncoder?(new TextEncoder).encode(e).length:3*e.length;var t=e;return Number(t.size||t.byteLength||0)}(t);if("function"==typeof fetch&&bt+o>61440)return j.log(r+": "+o+" bytes is over the keepalive budget, kept for the next send"),Promise.reject(r+": too large to send while the page closes");var url=pt(e,Object.assign(ct(e),{}));if("function"==typeof fetch){var a;try{a=fetch(url,{method:T("method"),headers:Object.assign({"content-type":"text/plain"},n),body:t,keepalive:!0,credentials:"omit"})}catch(e){return Promise.reject(r+": keepalive send not accepted: "+String(e))}bt+=o;var s=function(){bt=Math.max(0,bt-o)};return a.then(function(t){if(s(),!t||!0!==t.ok){var status=t?String(t.status):"";return Promise.reject(r+": "+status)}return("function"==typeof t.text?t.text():Promise.resolve("")).then(function(t){return b(t)?mt(e,r,JSON.stringify({result:"success"})):mt(e,r,t)})},function(e){return s(),Promise.reject(r+": "+String(e))})}return ut(url,T("method"),t,n).then(function(t){return mt(e,r,t)},function(e){return Promise.reject(r+": "+e)})}function kt(e){return Ze()?Promise.reject(e+": apptics is disabled for this client"):null}function St(e){return 0==navigator.onLine?(j.warn(e+": No Network"),Promise.reject(e+": No Network")):null}function wt(){return{frameworkid:P._device_info.frameworkid||Ue("frameworkid"),aaid:P._device_info.aaid||Ue("aaid"),apid:P._device_info.apid||Ue("apid"),appversionid:P._device_info.appversionid||Ue("appversionid"),modelid:P._device_info.modelid||Ue("modelid"),appreleaseversionid:P._device_info.appreleaseversionid||Ue("appreleaseversionid"),osversionid:P._device_info.osversionid||Ue("osversionid"),timezoneid:P._device_info.timezoneid||Ue("timezoneid"),platformid:P._device_info.platformid||Ue("platformid"),devicetypeid:P._device_info.devicetypeid||Ue("devicetypeid")}}function Et(e){return b(dt("apid"))&&b(dt("mapid"))?(De.refreshDeviceInfo(),Promise.reject(e+": You must call Apptics.init() first")):At()?null:(De.refreshDeviceInfo(),Promise.reject(e+": the device is not registered yet, kept for the next send"))}function At(){return!b(P._device_info&&P._device_info.deviceid)||!b(Ue("deviceid"))}const Ot="registerAppVersion",Pt="app_version_info",Tt=["apid","mapid","aaid","appversionid","appreleaseversionid","platformid","projectid","portalid"];var It=null;function Rt(){var e=Ne.item(Pt);return e&&"object"==typeof e?e:{}}const Nt=["aaid","portalid","projectid","apid","mapid","appversionid"];function jt(e){return Nt.filter(function(key){return b(e[key])})}function xt(e){Tt.forEach(function(key){b(e[key])||(P._device_info[key]=e[key])}),b(e.aaid)||(P._defaultoptions.aaid=e.aaid),b(e.portalid)||(P._defaultoptions.zsoid=String(e.portalid)),b(e.projectid)||(P._defaultoptions.projectID=String(e.projectid)),b(e.apid)||(P._apid=String(e.apid)),b(e.mapid)||(P._mapid=String(e.mapid))}var Ct=!1;function Ut(){return Ct}function Dt(){if(Ct=!1,0===jt(e=Rt()).length&&e.appversion===P._defaultoptions.appversion&&e.identifier===P._defaultoptions.identifier&&e.serviceUrl===P._defaultoptions.serviceUrl)return xt(Rt()),j.log(Ot+": reusing the ids stored for "+P._defaultoptions.appversion),Promise.resolve(!0);var e;if(null!==It)return It;var t=b(P._device_info.frameworkid)?P._frameworkID:P._device_info.frameworkid;return 0===t&&x(Ot+": this build has no registered framework id; build the package with npm pack"),b(t)||b(P._defaultoptions.identifier)||b(P._defaultoptions.zak)?(x(Ot+": need zak, an identifier and a frameworkid to register this app version"),Promise.resolve(!1)):It=ht("addversion","",{zak:dt("zak")},Ot).then(function(e){if(!h(e)||!e.data)return x(Ot+": the server did not return the app ids"),!1;var t=e.data,n=jt(t);if(n.length>0)return x(Ot+": the answer has no "+n.join(", ")),!1;xt(t);var r={appversion:P._defaultoptions.appversion,identifier:P._defaultoptions.identifier,serviceUrl:P._defaultoptions.serviceUrl};return Tt.forEach(function(key){b(t[key])||(r[key]=t[key])}),Ne.add(Pt,r),j.log(Ot+": registered "+P._defaultoptions.appversion+" as apid "+t.apid),!0}).catch(function(e){return Ct=!(e&&e.serverResult)||!1===navigator.onLine,x(Ot+": could not register this app version: "+String(e&&e.message?e.message:e)),!1}).then(function(e){return It=null,e})}const qt=["devicetype","osversion","timezone","screenheight","screenwidth","referrer","referringdomain","browser","browserversion","donottrackenabled","platformid"],Lt=["screenheight","screenwidth","donottrackenabled","platformid"];function zt(e){var t={};return qt.forEach(function(key){var value=e[key],n=-1!==Lt.indexOf(key);t[key]=b(value)?n?0:"":value}),JSON.stringify(t)}const Bt=["osversion","browser","browserversion","devicetype","screenheight","screenwidth","timezone","donottrackenabled","frameworkid"];function Gt(e){var t={};return Bt.forEach(function(key){t[key]=e?e[key]:void 0}),t}function Mt(){var e,t,n=Ne.item("device_info");P._device_info={osversion:(t=navigator.userAgent,/Windows/i.test(t)?/Phone/.test(t)||/WPDesktop/.test(t)?"Windows Phone":"Windows":/(iPhone|iPad|iPod)/.test(t)?"iOS":/Android/.test(t)?"Android":/(BlackBerry|PlayBook|BB10)/i.test(t)?"BlackBerry":/Mac/i.test(t)?"Mac OS X":/Linux/.test(t)?"Linux":/CrOS/.test(t)?"Chrome OS":""),browser:Ke(),browserversion:String(Ve()),donottrackenabled:Xe()?1:0,devicetype:Je(),screenheight:screen.height,screenwidth:screen.width,referrer:(e=String(window.location.href||"").split(window.location.pathname),e.length>=2?e[1].length>500?e[1].substring(0,500):e[1]:""),connectionType:Me(),referringdomain:window.location.hostname||"",deviceid:Ue("deviceid"),anonymousid:Ue("anonymousid"),frameworkid:P._frameworkID,mapid:Ue("mapid"),aaid:Ue("aaid"),apid:Ue("apid"),appversionid:Ue("appversionid"),platformid:Ue("platformid"),devicetypeid:Ue("devicetypeid"),osversionid:Ue("osversionid"),timezoneid:Ue("timezoneid"),modelid:Ue("modelid"),appreleaseversionid:Ue("appreleaseversionid"),timezone:Intl.DateTimeFormat().resolvedOptions().timeZone,uuid:P._uuid||Ue("uuid"),hadsession:!0===Ue("hadsession")||void 0},xt(Rt()),Ne.add("device_info",P._device_info),function(e,t){var n=void 0!==t?t:Ne.item("device_info")||{};null==e.deviceid||null==e.frameworkid||null==e.anonymousid?(e.frameworkid=P._frameworkID,j.log("addOrUpdateDeviceID: Initiated register the device"),function(){var e="registerDeviceWithApptics",t=kt(e);if(t)return t;if(!P._token)return j.warn(e+": You must call Apptics.init() first"),Promise.reject(e+": You must call Apptics.init() first");var n=St(e);if(n)return n;if(P._device_info.deviceid&&P._device_info.anonymousid)return Promise.resolve(P._device_info);return new Promise((t,n)=>{if(P._regDeviceSending)return P._regDeviceResolve.push(t),void P._regDeviceReject.push(n);P._regDeviceSending=!0,je(["device_info"]).then(function(){var e=Ne.item("device_info")||{};return b(e.deviceid)||b(e.anonymousid)?null:(b(e.uuid)||(P._uuid=e.uuid),j.log("registerDeviceWithApptics: another tab registered this browser, using its device "+e.deviceid),Ft(e).then(function(){return{result:"success",data:e}}))}).then(function(t){return t||ht("regdevice",zt(P._device_info),{zak:dt("zak"),uuid:dt("uuid"),...gt()},e).then(function(e){return Ft(e.data||{}).then(function(){return e})})}).then(function(e){Vt(!0,e),t(e),Qt()}).catch(function(e){Vt(!1,e),n(e)})})}().then(function(e){h(e)?(j.log("addOrUpdateDeviceID: Success register the device "+JSON.stringify(e.data)),j.dir(e.data)):j.log("addOrUpdateDeviceID: Error registering the device: "+e)}).catch(function(e){j.log("addOrUpdateDeviceID: Error registering the device: "+e)})):b(n)||function(e,t){if(Object.keys(e).length!==Object.keys(t).length)return!1;for(let key in e)if(!t.hasOwnProperty(key))return!1;for(let key in e)if(!k(e[key],t[key]))return!1;return!0}(Gt(e),Gt(n))||(j.log("addOrUpdateDeviceID: Device info changed, so updating new changes"),j.dir(Gt(e)),Zt(e).catch(function(e){j.log("addOrUpdateDeviceID: Error updating the device: "+e)}))}(P._device_info,n)}const Ht=["deviceid","anonymousid","aaid","apid","mapid","appversionid","osversionid","timezoneid","platformid","devicetypeid","modelid"];function Ft(e){return Ht.forEach(function(key){b(e[key])||(P._device_info[key]=e[key])}),b(e.apid)||(P._apid=e.apid),b(e.mapid)||(P._mapid=e.mapid),Ne.save("device_info",P._device_info)}function Wt(){var e=Ue("uuid");b(e)&&Re("uuid",e=O()),P._uuid=e}function Jt(){var e=Ne.item("device_info")||{};return b(e.deviceid)||b(e.anonymousid)?new Promise(function(e){$e("device",function(){return je(["device_info"]).then(function(){return Wt(),Mt(),e(),Kt()})}).catch(function(e){j.log("prepareDevice: "+e)}).then(function(){e()})}):(Wt(),Mt(),Promise.resolve())}function Kt(){return P._regDeviceSending?new Promise(function(e){P._regDeviceResolve.push(function(){e()}),P._regDeviceReject.push(function(){e()})}):Promise.resolve()}function Vt(e,value){var t=e?P._regDeviceResolve:P._regDeviceReject;P._regDeviceSending=!1,P._regDeviceResolve=[],P._regDeviceReject=[],t.forEach(function(e){e(value)})}function Zt(e){var t="updateDeviceWithApptics",n=kt(t)||St(t);return n||ht("regdevice",zt(e),{zak:dt("zak"),uuid:dt("uuid"),...gt()},t).then(function(e){return Ft(e.data||{}),e})}function Yt(){var e="getUpdatesFromServer",t=St(e)||Et(e);return t||ht("sdkconfig","",gt(),e).then(function(e){var t=e.data||{};Xt(t);var n=xe();return Ne.add("trackinfo",void 0===n?P._trackinfo:Object.assign({},P._trackinfo,{tracking_status:n})),j.log("getUpdatesFromServer: "+JSON.stringify(P._trackinfo)),t})}function $t(status,id){var e=status[id];return!e||"object"!=typeof e||!1!==e.enabled}function Xt(e){var status=e.tracking_status&&"object"==typeof e.tracking_status?e.tracking_status:{},t=Object.keys(status).length>0;if(e.hasOwnProperty("tracking_enabled"))P._shouldTrack=!1!==e.tracking_enabled;else{var n=!(e.hasOwnProperty("versionarchivestatus")&&!b(e.versionarchivestatus))||e.versionarchivestatus,r=!(e.hasOwnProperty("customergrouptracking")&&!b(e.customergrouptracking))||e.customergrouptracking;P._shouldTrack=n||!r}t?(P._engagementTracking=$t(status,a.SESSION),P._errorTracking=$t(status,a.CRASH),P._heatmapTracking=$t(status,a.HEATMAP),P._remoteLoggerEnabled=$t(status,a.REMOTE_LOGGER),P._feedbackEnabled=$t(status,a.FEEDBACK),P._remoteConfigEnabled=$t(status,a.REMOTE_CONFIG)):(P._engagementTracking=!1!==e.engagementtracking,P._errorTracking=!1!==e.errortracking,P._heatmapTracking=!1!==e.heatmaptracking,P._remoteLoggerEnabled=!1!==e.remoteloggerenabled,P._feedbackEnabled=!1!==e.feedbackenabled);var i=e.quartz&&"object"==typeof e.quartz?e.quartz:{},o=function(value){return"string"==typeof value?value.trim():""};P._quartz={enabled:i.hasOwnProperty("quartz_enabled")?!0===i.quartz_enabled:!0===e.quartzenabled,workspace:o(i.quartz_workspace),department:o(i.quartz_department),domain:o(i.quartz_domain),cdnUrl:o(i.quartz_cdn_url)},"number"==typeof e.next_check_after&&e.next_check_after>0&&(P._nextConfigCheck=e.next_check_after),P._trackinfo={engagementtracking:P._engagementTracking,errortracking:P._errorTracking,heatmaptracking:P._heatmapTracking,remoteloggerenabled:P._remoteLoggerEnabled,feedbackenabled:P._feedbackEnabled,quartz:{quartz_enabled:P._quartz.enabled,quartz_workspace:P._quartz.workspace,quartz_department:P._quartz.department,quartz_domain:P._quartz.domain,quartz_cdn_url:P._quartz.cdnUrl},shouldtrack:P._shouldTrack,next_check_after:P._nextConfigCheck}}function Qt(){b(dt("apid"))&&b(dt("mapid"))||Yt().catch(function(e){j.log(e)})}function en(id,e){return b(id)?Promise.resolve():(P._current_screen&&P._current_screen.id===id&&!P._current_screen.endtime&&(P._current_screen=Object.assign({},P._current_screen,{endtime:e})),we.all().then(function(t){var r=t.filter(function(e){return e.type==n.SCREEN&&e.id===id&&0===e.endtime})[0];if(r)return we.update(Object.assign({},r,{endtime:Math.max(e,r.starttime)}))}))}function tn(){var e=P._current_screen;return e&&e.id?en(e.id,m()):Promise.resolve()}function nn(e,t){return we.all().then(function(r){return r.filter(function(t){return t.type==n.SCREEN&&0===t.endtime&&t.sessionstarttime===e.starttime}).reduce(function(e,n){return e.then(function(){return we.update(Object.assign({},n,{endtime:Math.max(t,n.starttime)}))})},Promise.resolve())})}function rn(e){if(!nt("trackSession"))return Promise.resolve();if(e&&"object"!=typeof e)return C(o.SESSION,"apptics.trackSession: sessionData param must be an object"),Promise.resolve();var t=we.add(e);return j.log("apptics.trackSession("+JSON.stringify(e||{})+")"),j.dir(e),t}function an(){var e=vn();return we.all().then(function(t){if(e){var r=t.filter(function(t){return t.type==n.SESSION&&t.id===e&&0===t.endtime})[0];if(r)return r}return function(e,t){return t.filter(function(t){return t.type==e&&0===t.endtime}).sort(function(e,t){return t.starttime-e.starttime})[0]}(n.SESSION,t)})}De.updateDevice=Zt,De.refreshDeviceInfo=Mt;var sn="";function cn(){return""===sn&&(sn=O()),sn}function un(e){return Array.isArray(e.tabs)?e.tabs.slice():[]}const dn="apptics-tab-";function fn(){var e="undefined"!=typeof navigator?navigator.locks:void 0;return e&&"function"==typeof e.request&&"function"==typeof e.query?e:void 0}var ln=!1;function pn(){var e=fn();if(!e)return Promise.resolve();var t=cn();return e.query().then(function(e){var r={};(e.held||[]).concat(e.pending||[]).forEach(function(e){e.name&&0===e.name.indexOf(dn)&&(r[e.name.slice(12)]=!0)});var i=m();return we.all().then(function(e){var o=e.filter(function(e){return e.type==n.SCREEN&&0===e.endtime&&"string"==typeof e.tab&&e.tab!==t&&!r[e.tab]&&i-e.starttime>5e3});return o.length&&j.log("closeScreensOfGoneTabs: ending "+o.length+" screen view(s) left open by a tab that is gone"),o.reduce(function(e,t){var n=Math.max(t.starttime,Number(t.lastseen)||t.starttime);return e.then(function(){return we.update(Object.assign({},t,{endtime:n}))})},Promise.resolve())})}).catch(function(e){j.log("closeScreensOfGoneTabs: "+e)})}function gn(e){return $e("session",e)}const _n="apptics-session";function vn(){try{return sessionStorage.getItem(_n)||""}catch(e){return""}}const mn="hadsession";var hn=null,bn=null;function yn(){null!==bn&&(clearTimeout(bn),bn=null)}function kn(){if(!hn)return Promise.resolve();var e=hn;return hn=null,yn(),e.firstsession&&Re(mn,!0),rn(e)}function Sn(e){P._current_session={id:O(),type:n.SESSION,starttime:e,endtime:0,edge:Me(),orientation:We(),firstsession:!0!==Ue(mn),networkstatus:He(),lastactivetime:e,tabs:[cn()]};var t,r="number"==typeof(t=navigator.deviceMemory)&&t>0?t+" GB":"";b(r)||(P._current_session.ram=r),function(id){try{sessionStorage.setItem(_n,id)}catch(e){}}(P._current_session.id);var i=Number(T("min_session_duration"));return i>0?(hn=P._current_session,yn(),bn=setTimeout(function(){bn=null,kn()},i),Promise.resolve()):function(e){e.firstsession&&Re(mn,!0);return rn(e)}(P._current_session)}function wn(){var e=m();return hn&&(j.log("session: dropped, shorter than the minimum with nothing tracked in it"),hn=null,yn(),1)?Promise.resolve():gn(function(){return function(e){return an().then(function(t){if(t&&0===t.endtime){var n=un(t).filter(function(e){return e!==cn()});if(n.length>0){var r=Object.assign({},t,{tabs:n,lastactivetime:e});return P._current_session=r,j.log("endCurrentSession: "+n.length+" other tab(s) still on this session, so it stays open"),we.update(r)}var i=Object.assign({},t,{endtime:e,lastactivetime:e,tabs:[]});return P._current_session=i,j.log("endCurrentSession: closing the session opened at "+i.starttime),we.update(i).then(function(){return nn(i,e)})}})}(e)})}function En(){if(!P._token)return C(o.SESSION,"checkAndUpdateSession: You must call Apptics.init() first"),Promise.resolve();if(Ze())return Promise.resolve();var e=m();return gn(function(){return function(e){return(t=m()-60*P.inactiveduration*1e3,r=vn(),we.all().then(function(e){var i=e.filter(function(e){return e.type==n.SESSION&&0===e.endtime&&e.id!==r&&e.lastactivetime<t});return i.length?(j.log("closeAbandonedSessions: closing "+i.length+" session(s) left open by a closed tab"),i.reduce(function(e,t){return e.then(function(){return we.update(Object.assign({},t,{endtime:t.lastactivetime}))}).then(function(){return nn(t,t.lastactivetime)})},Promise.resolve())):Promise.resolve()})).then(pn).then(an).then(function(t){if(!t||0!==t.endtime)return Sn(e);if(P._current_session=t,e-t.lastactivetime>1e3*P.inactiveduration*60){j.log("checkAndUpdateSession: User is inactive for the past "+P.inactiveduration+" minutes so starting a new session");var n=Object.assign({},t,{endtime:t.lastactivetime});return j.log("checkAndUpdateSession: ("+JSON.stringify(n)+")"),j.dir(n),we.update(n).then(function(){return nn(n,n.endtime)}).then(function(){return Sn(e)})}return j.log("checkAndUpdateSession: User is back before "+P.inactiveduration+" minutes so updating the lastactivitytime - "+e),An()});var t,r}(e)})}function An(){var e=m();return hn?(hn.lastactivetime=e,P._current_session=hn,Promise.resolve()):an().then(function(t){if(t){j.log("updateLastActiveTimeOfSession: Updating the lastactivitytime - "+e);var n,r,i=Object.assign({},t,{lastactivetime:e,tabs:(n=t,r=un(n),-1===r.indexOf(cn())&&r.push(cn()),r)});return P._current_session=i,we.update(i)}}).then(function(){return function(e){var t=P._current_screen;return t&&t.id&&!t.endtime?we.all().then(function(r){var i=r.filter(function(e){return e.type==n.SCREEN&&e.id===t.id&&0===e.endtime})[0];return i?we.update(Object.assign({},i,{lastseen:e})):void 0}):Promise.resolve()}(e)})}const On=/^ap_/i;function Pn(e){if(!e||""===e)return j.warn("validateEventOrGroup: Invalid event or group name"),!1;return On.test(e)?(j.warn('validateEventOrGroup: "'+e+'" starts with ap_, which is reserved for defined events'),!1):/^[a-zA-Z][a-zA-Z0-9_]{0,99}$/.test(e)}const Tn=/^[a-zA-Z][a-zA-Z0-9_]{0,49}$/;function In(e){if(b(e)||y(e))return{};var t=e,n={},r={},i=[],o=[],a=[];function s(e){-1===i.indexOf(e)&&i.push(e)}return Object.keys(t).forEach(function(key){if(!Tn.test(key)||On.test(key))return j.warn("validateJSON: dropped the property '"+key+"': a key is a letter, then up to 49 letters, digits or _, and not ap_"),o.push(key.substring(0,50)),void s(103);var e=function(value){if("number"==typeof value&&isFinite(value))return{value:value,type:"Number"};if("boolean"==typeof value)return{value:value?1:0,type:"Boolean"};if("string"==typeof value)return{value:value,type:"String"};var e;try{e=void 0===value?"undefined":JSON.stringify(value)}catch(t){e=String(value)}return{value:void 0===e?String(value):e,type:"String"}}(t[key]);if(String(e.value).length>250)return j.warn("validateJSON: dropped the property '"+key+"': its value is longer than 250 characters"),a.push(key),void s(104);if(Object.keys(n).length>=24)return j.warn("validateJSON: dropped the property '"+key+"': at most 24 properties"),void s(102);var i=Object.assign({},n);if(i[key]=e.value,JSON.stringify(i).length>7666)return j.warn("validateJSON: dropped the property '"+key+"': properties are at most 7666 characters in all"),void s(101);n[key]=e.value,r[key]=e.type}),Object.keys(n).length>0?{data:n,datatype:r,isvalid:!0}:0===i.length?{}:{isvalid:!1,message:{code:i,keys:o,valuekeys:a}}}function Rn(e){const t={},n={},message=[],r={101:[],102:[],103:[],104:[]},i=/^[a-zA-Z][a-zA-Z0-9_]{0,49}$/,o=/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;let a=0;const s=["first_name","last_name","company_name","contact_number","country","region","city","geo_location","gender","plan_type","timezone","language"],c=["engagement_score","date_of_birth"];for(const[key,value]of Object.entries(e))if(a++,"string"!=typeof key||key.length>50||!i.test(key))r[103].push(key);else if(s.includes(key)){if("string"!=typeof value||value.length>255){r[103].push(key);continue}t[key]=value,n[key]="String"}else if("email_address"!==key)if(c.includes(key)){if("number"!=typeof value||!Number.isFinite(value)){r[103].push(key);continue}t[key]=value,n[key]="Number"}else if("boolean"==typeof value)t[key]=value,n[key]="Boolean";else if("string"==typeof value){if(value.length>255){r[103].push(key);continue}t[key]=value,n[key]="String"}else{if("number"!=typeof value){r[104].push(key);continue}if(!Number.isFinite(value)){r[104].push(key);continue}t[key]=value,n[key]="Number"}else{if("string"!=typeof value||value.length>255||!o.test(value)){r[103].push(key);continue}t[key]=value,n[key]="String"}a>45&&(r[102]=Object.keys(e));JSON.stringify(t).length+JSON.stringify(n).length>1e4&&(r[101]=Object.keys(e));for(const e of[101,102,103,104])r[e].length>0&&message.push({code:e,keys:r[e]});return{data:t,datatype:n,message:message}}function Nn(e){if(!e||""===e)return j.warn("validateScreenName: Invalid screenName"),!1;return/^[\w\s.\-_&/:*]{0,99}$/.test(e)}function jn(e){try{var url=new URL(String(e).trim());if("http:"!==url.protocol&&"https:"!==url.protocol)return"";var t=url.pathname.length>1?url.pathname.replace(/\/+$/,""):url.pathname;return url.protocol+"//"+url.host.toLowerCase()+t}catch(e){return""}}function xn(method,e){var t=[];return e.forEach(function(value){var url="string"==typeof value?jn(value):"";""!==url?-1===t.indexOf(url)&&t.push(url):x("ApiTrackingBuilder."+method+": "+JSON.stringify(value)+" is not a full http(s) URL, as https://api.example.com/health, and is left out")}),t}function Cn(method,e){var t=[];return e.forEach(function(value){if(value instanceof RegExp)t.push(value);else{if("string"==typeof value&&""!==value)try{return void t.push(new RegExp(value))}catch(e){}x("ApiTrackingBuilder."+method+": "+String(value)+" is not a regular expression, and is left out")}}),t}class Un{constructor(){this.rules={allowEquals:[],ignoreEquals:[],allowRegex:[],ignoreRegex:[]}}allowEquals(...e){return this.rules.allowEquals.push(...xn("allowEquals",e)),this}ignoreEquals(...e){return this.rules.ignoreEquals.push(...xn("ignoreEquals",e)),this}allowRegex(...e){return this.rules.allowRegex.push(...Cn("allowRegex",e)),this}ignoreRegex(...e){return this.rules.ignoreRegex.push(...Cn("ignoreRegex",e)),this}build(){return{allowEquals:this.rules.allowEquals.slice(),ignoreEquals:this.rules.ignoreEquals.slice(),allowRegex:this.rules.allowRegex.slice(),ignoreRegex:this.rules.ignoreRegex.slice()}}}const Dn=Object.freeze({ignoreDomains:"ignoreRegex",allowOnlyDomains:"allowRegex",allowOnlyTLDs:"allowRegex",ignoreTLDs:"ignoreRegex",ignoreDomainPrefixes:"ignoreRegex",ignoreDomainSuffixes:"ignoreRegex",groupDomains:"",ignoreEndpoint:"ignoreEquals or ignoreRegex",addPattern:"",preserveSegments:"",autoDetection:""});Object.keys(Dn).forEach(function(name){Object.defineProperty(Un.prototype,name,{configurable:!0,value:function(){var e=Dn[name];throw new TypeError("ApiTrackingBuilder."+name+"() is no longer supported: "+(e?"use "+e+", which match the URL without its query":"ids, UUIDs and tokens in a path become * on their own"))}})});var qn={allowEquals:[],ignoreEquals:[],allowRegex:[],ignoreRegex:[]};function Ln(value,e){return Array.isArray(value)?value.filter(e):[]}function zn(config){var e=config instanceof Un?config.build():config;if(e&&"object"==typeof e){var t=function(e){return"string"==typeof e},n=function(e){return e instanceof RegExp};qn={allowEquals:xn("allowEquals",Ln(e.allowEquals,t)),ignoreEquals:xn("ignoreEquals",Ln(e.ignoreEquals,t)),allowRegex:Ln(e.allowRegex,n).concat(Cn("allowRegex",Ln(e.allowRegex,t))),ignoreRegex:Ln(e.ignoreRegex,n).concat(Cn("ignoreRegex",Ln(e.ignoreRegex,t)))}}else qn={allowEquals:[],ignoreEquals:[],allowRegex:[],ignoreRegex:[]}}function Bn(e,url){return e.lastIndex=0,e.test(url)}function Gn(url){var e=jn(url);return""!==e&&(-1===qn.ignoreEquals.indexOf(e)&&!qn.ignoreRegex.some(function(t){return Bn(t,e)})&&(0===qn.allowEquals.length&&0===qn.allowRegex.length||(-1!==qn.allowEquals.indexOf(e)||qn.allowRegex.some(function(t){return Bn(t,e)}))))}const Mn=/^\d+$/,Hn=/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i,Fn=/^eyJ[A-Za-z0-9_-]*\.[A-Za-z0-9_-]+\.[A-Za-z0-9_-]+$/;function Wn(e){return function(e){var t=String(e||"").split(/[?#]/)[0];return""===t?"/":t}(e).split("/").map(function(e){return""!==e&&(Mn.test(e)||Hn.test(e)||Fn.test(e))?"*":e}).join("/")}const Jn={AP_APP_LIFE_CYCLE:["AP_APP_INSTALL","AP_APP_UNINSTALL","AP_APP_UPDATE","AP_APP_CRACKED","AP_APP_OPEN","AP_APP_CLEAR_DATA","AP_APP_FOREGROUND","AP_APP_BACKGROUND","AP_APP_OUT_OF_MEMORY","AP_APP_FIRST_OPEN","AP_APP_LAUNCHING","AP_APP_RESIGN_ACTIVE","AP_APP_WILL_CONNECT"],AP_USER_LIFE_CYCLE:["AP_USER_SIGNUP","AP_USER_LOGIN","AP_USER_LOGOUT"],AP_APPLICATION:["AP_DEEP_LINK_OPEN","AP_DEEP_LINK_UPDATE","AP_DEEP_LINK_FIRST_OPEN","AP_IN_APP_PURCHASE","AP_NOTIFICATION_RECEIVE","AP_NOTIFICATION_OPEN","AP_NOTIFICATION_DISMISS","AP_NOTIFICATION_FOREGROUND","AP_SEARCH","AP_BATTERY_LOW","AP_BATTERY_FULL","AP_LOW_POWER_MODE_ON","AP_LOW_POWER_MODE_OFF"],AP_OTHERS:["AP_NETWORK_REACHABILITY_CHANGE","AP_NETWORK_BANDWIDTH_CHANGE","AP_SWITCH_THEME_LIGHT","AP_SWITCH_THEME_DARK","AP_SWITCH_THEME_CUSTOM","AP_SWITCH_ORIENTATION_LANDSCAPE","AP_SWITCH_ORIENTATION_PORTRAIT"],AP_OS:["AP_OS_UPDATE","AP_OS_UNSUPPORTED"]};const Kn=(Vn={},Object.keys(Jn).forEach(function(e){Jn[e].forEach(function(t){Vn[t]=Object.freeze({event:t,group:e})})}),Object.freeze(Vn));var Vn;function Zn(e){var t=String(e||"").split(/[?#]/)[0]||"/";return t.length>1?t.replace(/\/+$/,""):t}const Yn=/[^\w\s.\-&/:*]/g;var $n=!1,Xn="",Qn=null,er=300,tr="",nr=null,rr=!1,ir=0,or=null,ar=null,sr=null,cr=null;function ur(e){return"*"===e||/^\{[^/]*\}$/.test(e)||/^:[^/]+$/.test(e)}function dr(e,t){var n=Zn(e).split("/"),r=t.split("/");if(n.length!==r.length)return!1;for(var i=0;i<n.length;i++){var o=n[i];if(!ur(o)&&o!==r[i])return!1}return!0}function fr(){try{return function(e){var name=e;try{name=decodeURIComponent(e)}catch(e){}return name.replace(Yn,"_").trim().slice(0,99)}(function(e){var t=P._config.screen_routes;if(!t||0===t.length)return e;for(var n=Zn(e),r=0;r<t.length;r++){var i=t[r];if("equals"===i.kind&&i.path===n)return i.name;if("regex"===i.kind&&(i.regex.lastIndex=0,i.regex.test(n)))return i.name;if("pattern"===i.kind&&dr(i.pattern,n))return Zn(i.pattern).split("/").map(e=>ur(e)?"*":e).join("/")}return e}(function(url){var e=url.pathname,t=url.hash;if(/^#!?\//.test(t)){var n=t.replace(/^#!?/,"").split("?")[0];e=e.replace(/\/+$/,"")+n}return e}(new URL(window.location.href))))}catch(e){return""}}function lr(){if(Qn=null,$n){var name=fr();""!==name&&name!==Xn&&(Xn=name,rr||(P._current_screen=Object.assign({},P._current_screen,{screen:name}),tr=name,ir=m(),nr=setTimeout(pr,er)))}}function pr(){nr=null;var name=tr;if(tr="",$n&&!rr&&""!==name)try{Sr(name,void 0,void 0,ir||void 0)}catch(e){j.log("automatic screen tracking: "+String(e))}}function gr(){null!==nr&&(clearTimeout(nr),nr=null),tr=""}function _r(){var name=fr();""!==name&&(name===tr||""===tr&&name===Xn)||null===Qn&&(rr=!1,gr(),Qn=setTimeout(lr,0))}function vr(enabled,e){var on="boolean"!=typeof enabled||enabled;if(on&&(er=300),on!==$n){if(on)return Xn="",t=history.pushState,n=history.replaceState,sr=t,cr=n,or=function(){var e=t.apply(this,arguments);return _r(),e},ar=function(){var e=n.apply(this,arguments);return _r(),e},history.pushState=or,history.replaceState=ar,window.addEventListener("popstate",_r),window.addEventListener("hashchange",_r),$n=!0,j.log("automatic screen tracking: on"),void(null===Qn&&(Qn=setTimeout(lr,0)));var t,n;or&&history.pushState===or&&sr&&(history.pushState=sr),ar&&history.replaceState===ar&&cr&&(history.replaceState=cr),or=ar=sr=cr=null,window.removeEventListener("popstate",_r),window.removeEventListener("hashchange",_r),null!==Qn&&(clearTimeout(Qn),Qn=null),gr(),$n=!1,Xn="",rr=!1,j.log("automatic screen tracking: off")}}De.screenTrackedByApp=function(){rr=!0,gr()};var mr={};function hr(e,message){C(0,message),mr[message]||(mr[message]=!0,x(message))}function br(eventName,groupName,e){if(nt("trackEvent")){var t=function(value){if(value&&"object"==typeof value){var e=value.event;return"string"==typeof e&&Kn[e]===value?value:void 0}}(eventName);if(t)e=groupName&&"object"==typeof groupName?groupName:e,groupName=t.group,eventName=t.event;else{if("string"!=typeof eventName||!Pn(eventName))return void hr(o.EVENT,"AppticsEvent.addEvent: Invalid eventName: "+String(eventName));if(null==groupName||""===groupName)groupName=c.default_group_name;else if("string"!=typeof groupName||!Pn(groupName))return void hr(o.EVENT,'AppticsEvent.addEvent: Invalid groupName for "'+eventName+'": '+String(groupName))}var r=In(e=e||{}),i=m(),a={id:O(),type:n.EVENT,group:groupName,event:eventName,starttime:i,endtime:i,edge:P._device_info.connectionType||Me(),networkstatus:He(),screen:P._current_screen.screen||"",sessionstarttime:P._current_session.starttime||i,customproperties:r};kn(),ze(),we.add(a),j.log("AppticsEvent.addEvent('"+eventName+"','"+groupName+"',"+JSON.stringify(r||{})+")"),j.dir(a)}}function yr(screenName,e,id,t){Nn(screenName)?(De.screenTrackedByApp(),Sr(screenName,e,id,t)):hr(o.SCREEN,"AppticsScreen.inScreen: Invalid screenName: "+String(screenName))}function kr(id,e){b(id)?C(o.SCREEN,"AppticsScreen.outScreen: no screen id given"):en(id,e)}function Sr(screenName,e,id,t,r){if(nt("inScreen"))if(Nn(screenName)){var i=In(e=e||{}),a="number"==typeof t?t:m(),s={id:id||O(),type:n.SCREEN,screen:screenName,starttime:a,endtime:0,edge:P._device_info.connectionType||Me(),networkstatus:He(),orientation:We(),sessionstarttime:P._current_session.starttime||a,customproperties:i,tab:cn()},c=P._current_screen&&P._current_screen.id;c&&c!==s.id&&en(c,a),kn(),ze(),we.add(s),P._current_screen=r?Object.assign({},s,{implicit:!0}):s,j.log("AppticsScreen.inScreen('"+screenName+"',"+JSON.stringify(i||{})+")"),j.dir(s)}else hr(o.SCREEN,"AppticsScreen.inScreen: Invalid screenName: "+String(screenName))}function wr(){var e=P._current_screen;if(e&&!b(e.screen)&&!e.implicit)return String(e.screen);var name=fr()||"/";return e&&e.id&&e.screen===name&&!e.endtime||Sr(name,void 0,void 0,void 0,!0),name}function Er(){var e=P._current_screen;e&&e.id&&e.endtime&&!b(e.screen)&&Sr(String(e.screen))}const Ar=/^([a-zA-Z0-9]([a-zA-Z0-9-]*[a-zA-Z0-9])?\.)+[a-zA-Z]{2,}$/,Or=/[^a-zA-Z0-9\-._*\/]+/g;function Pr(e){if(nt("trackApi")){var t,r=(e=e||{}).url||e.path||"",method=(e.method||"GET").toString(),i="number"==typeof e.responsecode?e.responsecode:"number"==typeof e.status?e.status:0,a=e.responsemessage||e.statusText||e.error||"-",s=m(),c="number"==typeof e.starttime?e.starttime:s;t="number"==typeof e.endtime?e.endtime:"number"==typeof e.duration?c+e.duration:s;var u=e.scheme||"",d=e.hostname||"",f="number"==typeof e.port?e.port:0,l=e.path||"",p=b(e.url)&&!b(e.hostname);if(!b(r))try{var g=new URL(r,window.location.origin);b(u)&&!p&&(u=g.protocol.replace(":","")),b(d)&&(d=g.hostname),f||p||(f=g.port?parseInt(g.port,10):"https:"===g.protocol?443:80),b(l)&&(l=g.pathname)}catch(e){b(l)&&(l=r)}if(u="https"===u||"http"===u?u:"https",f||(f="https"===u?443:80),Ar.test(d))if(Gn(u+"://"+d+(f&&!("https"===u&&443===f||"http"===u&&80===f)?":"+f:"")+("/"===String(l).charAt(0)?"":"/")+l)){l=function(e){if(b(e))return"/";var t=e.replace(Or,"*");return"/"===t.charAt(0)?t:"/"+t}(Wn(l));var _=P._current_session.starttime||c,v={id:O(),type:n.API,scheme:u,port:f,hostname:d,path:l,method:method,responsecode:i,responsemessage:a,starttime:c,endtime:t,sessionstarttime:_,networkstatus:He(),edge:P._device_info.connectionType||Me()};kn(),ze(),we.add(v),j.log("AppticsApi('"+method+" "+u+"://"+d+l+"')"),j.dir(v)}else j.log("AppticsApi: "+d+function(e){return String(e||"").split(/[?#]/)[0]}(l)+" is left out by configureApiTracking");else C(o.API,"AppticsApi: hostname not accepted by the server: "+String(d))}}var Tr={},Ir=[];function startTrackApi(url,method){var id=O();return Tr[id]={url:String(url||""),method:String(method||"GET").toUpperCase(),starttime:m()},Ir.push(id),Ir.length>500&&delete Tr[Ir.shift()],id}function Rr(id,responseCode,responseMessage,e){var t=Tr[id];t?(delete Tr[id],Ir=Ir.filter(function(e){return e!==id}),Pr({url:t.url,method:t.method,responsecode:"number"==typeof responseCode?responseCode:0,responsemessage:responseMessage,starttime:t.starttime,endtime:e})):C(o.API,"AppticsApi.endTrackApi: no call started with id "+String(id))}var Nr=!1,jr=null,xr=null,Cr=null;function Ur(e){if(b(e))return!1;var t;try{t=new URL(e,window.location.href)}catch(e){return!1}return("https:"===t.protocol||"http:"===t.protocol)&&(!function(url,e){for(var t=[P._defaultoptions.base_domain,P._defaultoptions.serviceUrl],n=0;n<t.length;n++)if(!b(t[n])&&0===url.indexOf(t[n]))return!0;var r=T("endpoint");return!b(r)&&0===e.indexOf(r)}(t.href,t.pathname)&&Gn(t.href))}function Dr(method,url,e,t,n){try{Pr({url:url,method:method,responsecode:t,responsemessage:n,starttime:e,endtime:m()})}catch(e){j.log("auto api tracking: "+String(e))}}function qr(){"function"==typeof fetch&&(Cr=fetch,window.fetch=function(e,t){var url,method,n;try{url=function(e){return"string"==typeof e?e:"undefined"!=typeof Request&&e instanceof Request?e.url:String(e)}(e),method=function(e,t){return t&&t.method?t.method:"undefined"!=typeof Request&&e instanceof Request?e.method:"GET"}(e,t),n=m()}catch(n){return Cr(e,t)}return Ur(url)?Cr(e,t).then(function(e){return Dr(method,url,n,e.status,e.statusText||"-"),e},function(e){throw Dr(method,url,n,0,String(e&&e.message?e.message:e)||"Network Error"),e}):Cr(e,t)})}function enableApiTracking(enabled){var on="boolean"!=typeof enabled||enabled;if(on!==Nr){if(on)return"function"==typeof XMLHttpRequest&&(jr=XMLHttpRequest.prototype.open,xr=XMLHttpRequest.prototype.send,XMLHttpRequest.prototype.open=function(method,url){try{var e=String(url);Ur(e)?this._ap_api={method:String(method||"GET"),url:e,starttime:0}:this._ap_api=void 0}catch(e){this._ap_api=void 0}return jr.apply(this,arguments)},XMLHttpRequest.prototype.send=function(){const e=this._ap_api;return e&&(e.starttime=m(),this.addEventListener("loadend",function(){var message=0===this.status?"Network Error":this.statusText||"-";Dr(e.method,e.url,e.starttime,this.status,message)})),xr.apply(this,arguments)}),qr(),Nr=!0,void j.log("automatic api tracking: on");jr&&(XMLHttpRequest.prototype.open=jr),xr&&(XMLHttpRequest.prototype.send=xr),Cr&&(window.fetch=Cr),jr=xr=Cr=null,Nr=!1,j.log("automatic api tracking: off")}}function trackError(e,t){var r;if(tt(r="trackError")&&(P._errorTracking||(j.log("apptics."+r+": error tracking is turned off by the server"),0)))if(b(e))j.warn("AppticsError.trackError: Invalid error");else{var i=In(t),o=function(e){var t=e.reason?.stack||e.error?.stack||e.stack||"";if(!b(t))return t;var n=e.filename||e.fileName||"";if(b(n))return"";var r=void 0!==e.lineno?e.lineno:e.lineNumber,i=void 0!==e.colno?e.colno:e.columnNumber;return"at "+n+(b(r)?"":":"+r)+(b(i)?"":":"+i)}(e),a=function(e){let t="";if(b(e))return t;const n=e.split("\n");if(n.length<2)return t;const r=/at (\S+) \(/,i=/^(\w+)@/;for(let e of n){const n=e.match(r),o=e.match(i);if(n&&n[1]){const r=/\((.*)\)/.exec(e),url=r?r[1]:"Unknown URL";t=n[1],url.split("/").pop();break}if(o&&o[1]){t=o[1],e.split("@")[1].split("/").pop();break}}return t}(o)||"",s=e.type||"",c=function(e){if(null==e)return"";if("object"!=typeof e)return String(e);if(e instanceof Error||"string"==typeof e.message&&"string"==typeof e.name)return String(e);if("undefined"!=typeof Event&&e instanceof Event)return'Event "'+e.type+'"'+function(e){var t=e;if(!t||"string"!=typeof t.tagName)return"";var n=t.tagName.toLowerCase(),url=t.currentSrc||t.src||t.href||"";return" on <"+n+(url?(t.href&&!t.src?' href="':' src="')+url+'"':"")+">"}(e.target);var t=String(e);if("[object Object]"!==t)return t;try{return JSON.stringify(e).slice(0,300)}catch(e){return t}}(e.reason||e.error||e.message||""),message=(b(String(c))?b(s)?"Unknown error":String(s):String(c))+(b(a)?"":" at "+a),u=m(),d={id:O(),type:n.ERROR,edge:P._device_info.connectionType||Me(),networkstatus:He(),happenedat:u,issuename:message,message:b(o)?b(String(c))?"no stack available":String(c):o,screenname:P._current_screen.screen||window.location.pathname,sessionstarttime:P._current_session.starttime||u,customproperties:i};kn(),ze(),Ee.add(d),j.log("AppticsError.trackError('"+s+"','"+message+"',"+JSON.stringify(i||{})+")"),j.dir(d)}}function trackGlobalErrorHandler(status){P._isGlobalErrorTracking="boolean"!=typeof status||status}function Lr(e){P._deferSendTimer&&clearTimeout(P._deferSendTimer),P._deferSendTimer=setTimeout(e,500)}function zr(){P._deferSendTimer&&(clearTimeout(P._deferSendTimer),P._deferSendTimer=null)}function Br(name,e){var t="undefined"!=typeof navigator?navigator.locks:void 0;return t&&"function"==typeof t.request?t.request("apptics-send-"+name,{ifAvailable:!0},function(t){return t?e():void 0}).then(function(){}):e()}function Gr(e,t,n){return e.payload().then(function(r){var i=[],o=[];return r.forEach(function(e){t(e)&&(I(n(e))?o:i).push(e)}),o.length?e.remove(o).then(function(){return i}):i})}function Mr(e,t,n,r){var i=kt(t);if(i)return i;if(!et())return Promise.reject(t+": tracking is off");if(y(n))return Promise.reject(t+": nothing to send");var o=Et(t);if(o)return o;if(n.hasOwnProperty("meta")||(n.meta=wt()),function(e){return at(e).attempt>5}(e))return x("apptics: dropping a "+t+" batch after 5 attempts"),function(e){l[e]&&st(e,{attempt:1,firstattempttime:0,lst:at(e).lst})}(e),Promise.resolve({result:"success"});j.log(t+": Payload size : "+E(n)/1024);var a=JSON.stringify(n);return r?yt(e,a,gt(),t):ht(e,a,gt(),t)}function Hr(e,t,n){if(!t)return e.then(function(){});e.catch(function(e){j.log(n+": not confirmed before the page closed, kept for the next send: "+String(e))})}function Fr(e){return!Ze()&&et()&&P._engagementTracking?0==navigator.onLine?(j.warn("sendEngagementData: No Network"),Promise.resolve()):P._sending?(Lr(Fr),Promise.resolve()):(P._sending=!0,zr(),Br("engagements",function(){return Gr(we,function(e){return 0!=e.endtime},function(e){return e.starttime}).then(function(t){if(0==t.length)return;let r=[],i=[],o=[],a=[];var s={},c=[];return w(t).forEach(function(e){const t={...e};if(e.type==n.EVENT)o.push(e);else if(e.type==n.SCREEN)i.push(e);else if(e.type==n.SESSION)r.push(e);else{if(e.type!=n.API)return;a.push(e)}c.push(t),delete e.id,delete e.type,delete e.tabs,delete e.tab,delete e.lastseen}),o.length>0&&(s.events=o),i.length>0&&(s.screens=i),r.length>0&&(s.sessions=r),a.length>0&&(s.apis=a),y(s)?void 0:Hr(function(e,t){return Mr("engagement","requestToSendEngagements",e,t)}(s,e).then(function(){return we.remove(c)},function(e){return vt(e)?(x("apptics: the server refused these engagement items, so they were dropped: "+String(e&&e.message)),we.remove(c)):Promise.reject(e)}),e,"sendEngagementData")})}).catch(function(e){C(o.API,"sendEngagementData: "+e)}).then(function(){P._sending=!1})):Promise.resolve()}function Wr(e){return!Ze()&&et()&&P._errorTracking?0==navigator.onLine?(j.warn("sendErrorData: No Network"),Promise.resolve()):P._sending?(Lr(Wr),Promise.resolve()):(P._sending=!0,zr(),Br("errors",function(){return Gr(Ee,function(e){return 0!=e.happenedat},function(e){return e.happenedat}).then(function(t){if(0==t.length)return;let n=[];var r=[];return w(t).forEach(function(e){r.push({...e}),e.hasOwnProperty("screenname")||(e.screenname=""),delete e.id,delete e.type,n.push(e)}),Hr(function(e,t){return Mr("error","requestToSendErrors",e,t)}({exceptiondetails:n},e).then(function(){return Ee.remove(r)},function(e){return vt(e)?(x("apptics: the server refused these errors, so they were dropped: "+String(e&&e.message)),Ee.remove(r)):Promise.reject(e)}),e,"sendErrorData")})}).catch(function(e){j.log("sendErrorData:"+e)}).then(function(){P._sending=!1})):Promise.resolve()}function flush(e){return tt("flush")?(P._sending=!1,Fr(e).then(function(){return Wr(e)}).then(function(){return De.sendHeatmaps(e)})):Promise.resolve()}var Jr=null,Kr=null;function Vr(){null===Jr&&(Jr=setInterval(function(){Le()&&(j.log("apptics: debug mode has been idle for an hour, switching it off"),Ge(!1)),j.log("scheduleToSendDataToServer: Scheduling to send engagement data to the server after sometime"),Fr().then(function(){return Wr()}).then(function(){return De.sendHeatmaps()})},T("batch_flush_interval"))),null===Kr&&(Kr=setInterval(function(){P._nextConfigCheck>0&&m()<P._nextConfigCheck||(j.log("scheduleToGetUpdatesFromServer: asking the server for its config"),Yt().catch(function(e){j.log(e)}))},T("getupdates_interval")))}function Zr(){return!(!P._token||Ze())&&(!!P._remoteLoggerEnabled&&et())}const Yr="remoteLog";let $r=!1;function Xr(e){var t={sessionstarttime:P._current_session.starttime||e.happenedat||m(),logtime:e.happenedat||m(),level:Number(e.level)||3,logmessage:String(e.exceptionlog).slice(0,1e4),function:String(e.module||"SDK").slice(0,100),linenumber:Number(e.linenumber)||0};return b(e.filename)||(t.filename=String(e.filename).slice(0,100)),t}function Qr(e){return JSON.stringify({logs:e.map(Xr),meta:wt()})}function ei(){return $r||!Zr()||!1===navigator.onLine?Promise.resolve():($r=!0,Pe.all().then(function(e){var t=function(e){for(var t=0,n=e.length,r=e.length-1;r>=0&&!((t+=JSON.stringify(e[r]).length)>1048576);r--)n=r;return 0===n?e:(Pe.remove(e.slice(0,n)),e.slice(n))}(e).slice(0,50);if(0!==t.length)return ht("consolelog",Qr(t),gt(),Yr).then(function(){return Pe.remove(t)},function(e){if(vt(e))return x("apptics: the server refused these log lines, so they were dropped: "+String(e&&e.message)),Pe.remove(t);j.log(Yr+": "+String(e))})}).then(function(){$r=!1}).catch(function(){$r=!1}))}function getUser(){return P._user_info||{}}function setUser(userid,groupid,t){let n=t||{};if(userid=userid||"",groupid=groupid||"",tt("setUser"))if(b(userid))C(o.PROPERTIES,"AppticsUser.setUser: Invalid userid");else{var r={mam:userid,customergroupid:groupid,appversionid:P._device_info.appversionid||"",status:1,happendat:m()};y(n)||(r.userproperties=function(e){var t=e,n=t&&"object"==typeof t&&t.data&&t.datatype?t:Rn(e);return n.message.forEach(function(e){C(o.PROPERTIES,"AppticsUser.setUser: dropped "+e.keys.join(", ")+" (error "+e.code+")")}),n}(n)),function(t){var n="registerUserWithApptics",r=kt(n)||St(n);if(r)return r;if(y(t))return Promise.reject(n+": nothing to register");var i=Et(n);if(i)return i;var o=JSON.stringify(S(t,["userid","groupid","happendat"]));return ht("reguser",o,gt(),n).then(function(n){var r=n.data||{};return t.userid=r.userid,t.groupid=r.customergroupid,setTrackingStatus(e.USAGE_TRACKING_WITH_PII),function(e){e.status=1;var t=Ne.item("users")||[],n=(t=t.map(e=>({...e,status:0}))).findIndex(t=>t.userid===e.userid);-1!==n?t[n]={...t[n],...e}:t.push(e);Ne.add("users",t),Ne.add("user_info",t[-1!==n?n:t.length-1])}(t),ti(),De.remoteConfigUserChanged(),r})}(r).then(function(e){j.log("setUser: "+JSON.stringify(e))}).catch(function(e){j.log(e)})}}function ti(){var e=Ne.item("user_info");if(!e||"object"!=typeof e||b(e.userid)){var t=Ne.item("users")||[],n={};t.length>0&&(n=t.filter(e=>1===e.status)[0]||{}),P._user_info=n}else P._user_info=e}class ni{setFirstName(e){return this.first_name=e,this}setLastName(e){return this.last_name=e,this}setCompanyName(e){return this.company_name=e,this}setEmailAddress(e){return this.email_address=e,this}setContactNumber(e){return this.contact_number=e,this}setCountry(e){return this.country=e,this}setRegion(e){return this.region=e,this}setCity(e){return this.city=e,this}setGeoLocation(e){return this.geo_location=e,this}setGender(e){return this.gender=e,this}setPlanType(e){return this.plan_type=e,this}setTimezone(e){return this.timezone=e,this}setLanguage(e){return this.language=e,this}setEngagementScore(e){return this.engagement_score=e,this}setDateOfBirth(e){return this.date_of_birth=e,this}addStringProperty(key,value){return"string"==typeof value&&(this[key]=value),this}addBooleanProperty(key,value){return"boolean"==typeof value&&(this[key]=value),this}addNumberProperty(key,value){return"number"==typeof value&&Number.isFinite(value)&&(this[key]=value),this}setCustomProperties(e){if("object"==typeof e&&null!==e)for(const[key,value]of Object.entries(e))this[key]=value;return this}build(){const e={},t=["first_name","last_name","company_name","email_address","contact_number","country","region","city","geo_location","gender","plan_type","timezone","language","engagement_score","date_of_birth"];return t.forEach(t=>{void 0!==this[t]&&(e[t]=this[t])}),Object.entries(this).forEach(([key,value])=>{-1===t.indexOf(key)&&"function"!=typeof value&&(e[key]=value)}),Rn(e)}}let ri=!1,ii=null,oi=0;function ai(config){var e=Object.assign({},config);return Object.keys(d).forEach(function(key){var t=d[key];b(config[key])?(delete e[t],Object.keys(g).forEach(function(n){g[n]!==key||b(config[n])||(x("Apptics.init: "+n+" is now "+key+"; rename it in your config"),b(e[t])&&(e[t]=config[n]))})):e[t]=config[key]}),b(e.serviceUrl)||(e.serviceUrl=String(e.serviceUrl).replace(/\/+$/,"")),e.appversion=function(value){if("number"==typeof value)return isFinite(value)?String(value):"";return"string"==typeof value?value.trim():""}(e.appversion),e}const si=["YOUR_APP_VERSION","YOUR_BUILD_OR_APP_VERSION","YOUR_APPVERSION"];function ci(e){return e.serviceUrl+"|"+e.identifier}var ui="";const di=Object.freeze([{key:"batch_flush_interval",min:1e3,max:36e5},{key:"getupdates_interval",min:1e4,max:864e5},{key:"batch_size",min:1,max:500},{key:"batch_request_timeout",min:1,max:30},{key:"min_session_duration",min:0,max:6e4},{key:"heatmap_max_per_session",min:0,max:1e4}]);function fi(){Ne.add(it,void 0),Ne.clear(),we.clear(),Ee.clear()}function init(config){if(!config||"object"!=typeof config)return x("Apptics.init: a config object is required, e.g. Apptics.init({ base_url, auth_key, app_domain, appversion })"),!1;if(P._initialised)return j.warn("Apptics.init: already initialised; call Apptics.reset() to start again"),!1;if(!function(){if("undefined"==typeof window||"undefined"==typeof document||"undefined"==typeof Promise)return!1;try{return"undefined"!=typeof indexedDB||!!window.localStorage}catch(e){return!1}}())return x("Apptics.init: skipped, no browser with storage and Promise support"),!1;var e,t,n=ai(config),r=u.filter(function(key){return b(n[d[key]||key])});if(r.length>0)return x("Apptics.init: missing required config: "+r.join(", ")),!1;if(e=n.appversion,-1!==si.indexOf(e.toUpperCase()))return x('Apptics.init: appversion is still the placeholder "'+n.appversion+"\"; replace it with your app's version or build number, e.g. '2.4.0'"),!1;P._defaultoptions=n,P._defaultoptions.base_domain=n.serviceUrl,P._frameworkID=function(e){var t=e;try{t=new URL(e).hostname}catch(e){}return-1!==t.indexOf("localzoho")?5970:6002}(n.serviceUrl),P._token=n.identifier,b(config.console_log)||(P._config.debug=!!config.console_log),"boolean"==typeof config.ignore_do_not_track&&(P._config.ignore_do_not_track=config.ignore_do_not_track),P._config.debug_api="boolean"==typeof config.debug?config.debug:"boolean"==typeof config.debug_api?config.debug_api:c.debug_api,t=P._config.debug_api,Ge(null!==Be?Be:t),P._config.device_name="string"==typeof config.device_name?config.device_name:c.device_name,void 0!==config.remote_log&&x("Apptics.init: remote_log is no longer read; the Remote Logger page shows the lines your app logs with AppticsLogger"),void 0!==config.show_logs&&x("Apptics.init: show_logs is no longer read; AppticsLogger lines are not printed to the browser console"),P._config.track_api=c.track_api,["track_api_hosts","track_api_exclude_hosts"].forEach(function(key){void 0!==config[key]&&x("Apptics.init: "+key+" is no longer supported; use AppticsApi.configure(new AppticsApi.ApiTrackingBuilder()."+("track_api_hosts"===key?"allowOnlyDomains":"ignoreDomains")+"(...).build())")}),["DC","quartz_workspace_key","quartz_department_key"].forEach(function(key){void 0!==config[key]&&x("Apptics.init: "+key+" is no longer read; screen recording in the feedback form is set up from the Apptics console")}),void 0!==config.track_session&&x("Apptics.init: track_session is no longer read; sessions are always recorded. To stop tracking, use AppticsSettings.setTrackingStatus(AppticsSettings.AP_TRACKING_STATUS.NO_TRACKING)"),"boolean"==typeof config.track_api&&(P._config.track_api=config.track_api),enableApiTracking(P._config.track_api),P._config.track_heatmap="boolean"==typeof config.track_heatmap?config.track_heatmap:c.track_heatmap,De.trackHeatmap(P._config.track_heatmap),P._config.track_screen="boolean"==typeof config.track_screen?config.track_screen:c.track_screen,P._config.screen_routes=function(e){if(!Array.isArray(e))return[];var t=[];return e.forEach(function(e){if("string"!=typeof e){var n=e&&"object"==typeof e?e:null,name=n&&"string"==typeof n.name?n.name.trim():"";if(n&&""!==name&&"string"==typeof n.equals&&""!==n.equals.trim())t.push({kind:"equals",path:Zn(n.equals.trim()),name:name});else{if(n&&""!==name&&void 0!==n.regex){var r=null;if(n.regex instanceof RegExp)r=n.regex;else if("string"==typeof n.regex&&""!==n.regex)try{r=new RegExp(n.regex)}catch(e){r=null}if(r)return void t.push({kind:"regex",regex:r,name:name})}x("Apptics.init: screen_routes entry "+function(value){try{return JSON.stringify(value,function(e,t){return t instanceof RegExp?String(t):t})||String(value)}catch(e){return String(value)}}(e)+" is left out: give a route pattern, { equals, name } or { regex, name }")}}else""!==e.trim()&&t.push({kind:"pattern",pattern:e.trim()})}),t}(config.screen_routes),"light"!==config.feedback_theme&&"dark"!==config.feedback_theme&&"auto"!==config.feedback_theme||(P._config.feedback_theme=config.feedback_theme),function(config){if(di.forEach(function(e){var value=config[e.key];if(P._config[e.key]=c[e.key],!b(value)){var t=Number(value);!isFinite(t)||t<e.min||t>e.max?x("Apptics.init: "+e.key+" must be between "+e.min+" and "+e.max+", keeping "+P._config[e.key]):(P._config[e.key]=t,j.log("Apptics.init: "+e.key+" set to "+t))}}),P.inactiveduration=30,!b(config.inactiveduration)){var e=Number(config.inactiveduration);!isFinite(e)||e<1||e>1440?x("Apptics.init: inactiveduration must be between 1 and 1440 minutes, keeping "+P.inactiveduration):(P.inactiveduration=e,j.log("Apptics.init: inactiveduration set to "+e))}}(config),ii=config,P._initialised=!0,P._ready=!1,P._pending=[];var i=++oi;return P._readyPromise=ye().then(function(e){return i===oi&&(e?(function(e){var t=Ne.item("app_version_info")||{},n=b(t.serviceUrl)||b(t.identifier)?Ne.item("appkey"):ci(t);ui=String((b(t.appversion)?Ne.item("appversion"):t.appversion)||""),Ne.add("appkey",void 0),Ne.add("appversion",void 0),b(n)||n===ci(e)||(j.log("init: stored data belongs to another app, resetting"),fi(),ui="")}(P._defaultoptions),Dt().then(function(e){return i===oi&&(!e&&Ut()?(x("Apptics.init: offline, so app/addversion is tried again when the browser is back online; calls made until then are kept"),function(e){return new Promise(function(t){var n=null,r=!1;function i(e){window.removeEventListener("online",o),null!==n&&clearInterval(n),t(e)}function o(){e===oi?r||!1===navigator.onLine||(r=!0,Dt().then(function(e){r=!1,e?i(!0):Ut()||(x("Apptics.init: app/addversion did not return the app ids, not starting"),i(!1))})):i(!1)}window.addEventListener("online",o),n=setInterval(o,li)})}(i).then(function(e){return i===oi&&(e?pi(config,i):(P._initialised=!1,P._token="",P._pending=[],!1))})):e?pi(config,i):(x("Apptics.init: app/addversion did not return the app ids, not starting"),P._initialised=!1,P._token="",P._pending=[],!1))})):(x("Apptics.init: no usable storage (IndexedDB or localStorage), not starting"),P._initialised=!1,P._token="",P._pending=[],!1))}).catch(function(e){return j.error("Apptics.init: start-up failed",e),!1}),!0}const li=6e4;function ready(){return P._readyPromise||Promise.resolve(!1)}function pi(config,e){var t,n;(t=fn())&&!ln&&(ln=!0,t.request(dn+cn(),function(){return new Promise(function(){})}).catch(function(){ln=!1})),P._token=String(P._defaultoptions.aaid),(n=Ne.item("trackinfo"))&&"object"==typeof n&&(Xt(n),j.log("restoreServerSettings: "+JSON.stringify(P._trackinfo)));var r=""!==ui&&ui!=P._defaultoptions.appversion;return P._ignoreDnt=P._config.ignore_do_not_track,Ce.update_status(Ce.opt_in_status()),Jt().then(function(){return e===oi&&function(e,t){e&&(P._device_info.appversionid="",Zt(P._device_info).then(function(e){h(e)&&j.log("init: appversion updated to "+P._defaultoptions.appversion)}).catch(function(e){j.log("init: error updating appversion: "+e)}));return P._device_info.connectionType=Me(),function(){if(ri)return;ri=!0;var e=navigator.connection||navigator.mozConnection||navigator.webkitConnection;e&&e.addEventListener&&e.addEventListener("change",function(){P._device_info.connectionType=Me()});window.addEventListener("blur",function(){gi()&&(j.log("Window lost focus, user switched to another window or application"),gn(An))}),window.addEventListener("focus",function(){gi()&&(j.log("Window regained focus, user switched back to the window"),En(),Vr())}),window.addEventListener("pagehide",hi),window.addEventListener("pageshow",function(e){gi()&&e.persisted&&(j.log("restored from the back/forward cache: starting a new session"),En().then(Er),Vr())}),document.addEventListener("visibilitychange",function(){gi()&&("hidden"!==document.visibilityState?(j.log("page visible: refreshing the server settings"),En().then(Er),Qt()):function(){if(!gi())return;tn(),flush(!0),j.log("page hidden: closing the open screen and flushing")}())}),window.addEventListener(window.cordova?"deviceready":"load",function(){gi()&&En()},{passive:!0}),window.addEventListener("online",function(){if(gi()){if(b(dt("apid"))&&b(dt("mapid"))||!At())return j.log("back online: registering this device before sending"),void Jt().then(Kt).then(function(){gi()&&(flush(),ei())});flush(),ei()}},{passive:!0}),window.screen&&window.screen.orientation&&"function"==typeof window.screen.orientation.addEventListener&&window.screen.orientation.addEventListener("change",function(){P._properties.orientation=We()});window.addEventListener("unhandledrejection",function(e){gi()&&P._isGlobalErrorTracking&&trackError(e)}),window.addEventListener("error",function(e){if(gi()&&P._isGlobalErrorTracking){var t=e.target;t&&t!==window&&"string"==typeof t.tagName?trackError({type:"error",reason:e}):trackError(e)}},!0),window.addEventListener("click",mi,!0)}(),P._properties.orientation=We(),ti(),En().then(function(){if(t!==oi)return!1;Vr(),ei(),P._ready=!0;var e=P._pending;return P._pending=[],e.forEach(function(e){try{e()}catch(e){j.error("apptics: buffered call failed",e)}}),vr(P._config.track_screen),De.remoteConfigStarted(),window.appticsReadyStatus=!0,"function"==typeof window.appticsReady&&window.appticsReady(),!0})}(r,e)})}function reset(){oi++,null!==Jr&&clearInterval(Jr),null!==Kr&&clearInterval(Kr),Jr=null,Kr=null,zr(),enableApiTracking(!1),vr(!1),It=null,Ne.add(Pt,void 0),De.trackHeatmap(!1),De.resetHeatmap(),De.resetRemoteConfig(),fi(),P._initialised=!1,P._ready=!1,P._pending=[],P._readyPromise=null,P._device_info={},P._user_info={},P._current_screen={},P._current_session={},P._uuid="",P._apid="",P._mapid="",P._sending=!1,j.log("Apptics.reset()"),ii&&init(ii)}function gi(){return P._ready}function _i(e,name){var value=e.getAttribute(name);return null!==value&&""!==value?value:e.getAttribute("data-"+name)}function vi(name){return"["+name+"]:not(["+name+'=""]),[data-'+name+"]:not([data-"+name+'=""])'}function mi(e){if(window.appticsReadyStatus&&gi()){var t=e.target;if(t&&"function"!=typeof t.closest&&(t=t.parentElement),t){var n=t.closest(vi("apeventaction"));if(n){var eventName=_i(n,"apeventaction")||"",r=n.closest(vi("apgroupaction")),groupName=r&&_i(r,"apgroupaction")||c.default_group_name,i={},o=_i(n,"apeventprops");if(!b(o))try{i=JSON.parse(o)}catch(e){j.warn('apptics: invalid JSON in apeventprops for "'+eventName+'", sending no properties'),i={}}b(eventName)||br(eventName,groupName,i)}}}}function hi(){gi()&&(j.log("page closing: ending the session and sending what is queued"),tn(),Zr()?Pe.all().then(function(e){if(0!==e.length){var t=e.slice(0,50);yt("consolelog",Qr(t),gt(),Yr).then(function(){return Pe.remove(t)},function(e){if(vt(e))return Pe.remove(t);j.log(Yr+": "+String(e))})}}):Promise.resolve(),wn().then(function(){return flush(!0)}))}export{ni as $,e as A,rt as B,j as C,C as D,o as E,J as F,T as G,c as H,wr as I,O as J,getTrackingStatus as K,ze as L,kn as M,Oe as N,et as O,Lr as P,zr as Q,Br as R,Gr as S,w as T,Hr as U,vt as V,Mr as W,Ye as X,Un as Y,Kn as Z,P as _,K as a,Nn as a0,init as a1,flush as a2,reset as a3,enableDebug as a4,disableDebug as a5,br as a6,yr as a7,kr as a8,Rr as a9,startTrackApi as aa,zn as ab,enableApiTracking as ac,trackError as ad,trackGlobalErrorHandler as ae,setUser as af,getUser as ag,setTrackingStatus as ah,Ze as b,b as c,Me as d,We as e,Ae as f,Fe as g,wt as h,I as i,He as j,S as k,Et as l,gt as m,m as n,De as o,ht as p,Qe as q,kt as r,E as s,y as t,Ne as u,t as v,x as w,B as x,z as y,ready as z};
3
+ //# sourceMappingURL=lifecycle-VYr43KcB.min.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"lifecycle-VYr43KcB.min.js","sources":["../../src/core/constants.ts","../../src/core/utils.ts","../../src/core/state.ts","../../src/core/framework-id.ts","../../src/core/logger.ts","../../src/core/guard.ts","../../src/core/db.ts","../../src/core/storage.ts","../../src/core/hooks.ts","../../src/core/debug.ts","../../src/core/env.ts","../../src/core/locks.ts","../../src/core/consent.ts","../../src/core/attempts.ts","../../src/core/transport.ts","../../src/device/appversion.ts","../../src/device/index.ts","../../src/engagement/session.ts","../../src/core/validate.ts","../../src/engagement/api-rules.ts","../../src/engagement/defined-events.ts","../../src/engagement/auto-screen.ts","../../src/engagement/track.ts","../../src/engagement/auto-api.ts","../../src/errors/track.ts","../../src/core/batch.ts","../../src/engagement/send.ts","../../src/errors/send.ts","../../src/scheduler.ts","../../src/remotelog/gate.ts","../../src/remotelog/send.ts","../../src/user/index.ts","../../src/lifecycle.ts"],"sourcesContent":[null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null,null],"names":["AP_TRACKING_STATUS","Object","freeze","USAGE_TRACKING_WITH_PII","USAGE_TRACKING_WITHOUT_PII","NO_TRACKING","AP_FEEDBACK_TYPE","BUG","FEEDBACK","HELP","REPORT","AP_CONSTANTS","SCREEN","SESSION","EVENT","API","ERROR","SUCCESS","BROWSER","DEFAULT_API_PATHS","addversion","regdevice","reguser","engagement","error","feedback","sdkconfig","getupdates","consolelog","heatmap","API_VERSIONS","AP_LOG_MODULE","HEATMAP","PROPERTIES","SDK_MODULE","REMOTE_CONFIG","CRASH","REMOTE_LOGGER","DEBUG_IDLE_MS","AP_CONFIG","endpoint","method","transport","track_link_timeout","cookie_expiration_days","storage_type","enable_batch_requests","batch_size","batch_flush_interval","getupdates_interval","batch_request_timeout","auto_starts_batch","mode","default_group_name","default_optin_status","enable_pageview_tracking","save_referrer","debug","track_by_default","ignore_do_not_track","track_api","track_screen","screen_routes","feedback_theme","min_session_duration","track_heatmap","debug_api","device_name","heatmap_max_per_session","REQUIRED_CONFIG","CONFIG_KEYS","base_url","auth_key","app_domain","DEBUG_CAPABLE_PATHS","RETRY_CAPABLE_PATHS","PATHS_WITHOUT_ORG","RETIRED_CONFIG_NAMES","serviceUrl","base_domain","zak","token","identifier","BLOCKED_WS","BREAKER","nowMs","Math","round","Date","getTime","isSuccess","result","isEmpty","val","isEmptyObj","obj","keys","length","constructor","objectsAreEqual","obj1","obj2","JSON","stringify","cloneMapExcludingKeys","originalObj","excludeKeys","clonedObj","key","includes","cloneObject","parse","sizeof","bytes","sizeOf","value","prototype","hasOwnProperty","call","haystack","needle","indexOf","getNewUUID","T","d","now","i","toString","se","screen","height","width","random","replace","ch","ua","navigator","userAgent","buffer","ret","xor","byte_array","j","tmp","charCodeAt","unshift","UA","_ZAP","_initialised","_ready","_pending","_readyPromise","_regDeviceSending","_regDeviceResolve","_regDeviceReject","_sending","_deferSendTimer","_config","_defaultoptions","inactiveduration","_token","_frameworkID","_platform","_isanonrequired","_devicestatus","_uuid","_apid","_mapid","_device_info","_user_info","_current_screen","_current_session","_properties","_ignoreDnt","_isGlobalErrorTracking","_shouldTrack","_engagementTracking","_heatmapTracking","_remoteLoggerEnabled","_remoteConfigEnabled","_remoteConfigReported","_feedbackEnabled","_nextConfigCheck","_debugUntil","_errorTracking","_quartz","enabled","workspace","department","domain","cdnUrl","_trackinfo","getConfig","isExpired","time","isFinite","APConsole","console","gated","args","apply","err","iterator","context","Array","forEach","l","each","arg","Console","log","warn","info","dir","warnAlways","logFailure","module","RUN_BEFORE_READY","NEEDS_INIT","AppticsLogger","publicName","name","warnedNotStarted","guard","fn","guarded","push","forward","slice","DB_NAME","QUEUES","QUEUE_KEY","OLD_QUEUE_KEY","RENAMED_STORES","FEEDBACK_LOG","FEEDBACK_DIAGNOSTICS","OLD_FEEDBACK_TYPES","diagnostics","renameFeedbackType","item","renamed","type","undefined","LEGACY_KEYS","settings","engagements","errors","logs","consolelogs","LOCAL_KEYS","feedbacklogs","remotelogs","heatmaps","asList","isArray","asDict","readJSON","raw","localStorage","getItem","writeJSON","setItem","String","createLocalStorageBackend","pair","from","to","old","items","map","removeItem","kind","loadSettings","Promise","resolve","putSetting","all","deleteSetting","clearSettings","queueAll","store","queuePut","list","index","findIndex","existing","id","queueDelete","ids","remaining","filter","queueClear","lastQueue","nextQueue","base","request","req","reject","onsuccess","onerror","completed","tx","oncomplete","onabort","STORE_TYPES","recordType","storeName","putRecord","keepExisting","lookup","get","put","queue","hasAllStores","db","objectStoreNames","contains","every","openIndexedDB","factory","indexedDB","timeoutMs","openOnce","then","close","deleteDatabase","onblocked","fresh","Error","settled","fail","reason","clearTimeout","timer","setTimeout","open","onupgradeneeded","createObjectStore","keyPath","createIndex","objectStore","indexNames","deleteIndex","eachRecord","record","cursor","update","renamedRecord","source","target","deleteObjectStore","upgrade","transaction","onversionchange","done","openCursor","continue","createIndexedDBBackend","getAllKeys","getAll","values","out","delete","clear","records","importAll","queues","concat","settingsStore","openBackend","fallback","probe","localStorageUsable","readyPromise","withBackend","label","op","storageReady","b","catch","text","bind","migrateLegacy","loaded","assign","device","device_info","uuid","hadsession","setSetting","tracking_status","track","trackinfo","moveRetiredSettings","takeBatch","dataSize","size","createQueue","payload","add","starttime","happenedat","itemTime","remove","itemsToRemove","engagement_transactions","error_transactions","feedbacklog_transactions","heatmap_transactions","remotelog_transactions","writeSetting","setDeviceInfoKey","user_defaults","save","reloadSettings","storedTrackingStatus","status","tracking_preference","_tracking_status","opt_in_status","update_status","getKeyFromDeviceInfo","current_device_info","hooks","updateDevice","refreshDeviceInfo","feedbackUser","sendHeatmaps","trackHeatmap","resetHeatmap","resetRemoteConfig","screenTrackedByApp","remoteConfigStarted","remoteConfigUserChanged","debugEnabled","debugIdle","noteDebugActivity","chosen","setDebug","on","enableDebug","disableDebug","getConnectionType","connection","mozConnection","webkitConnection","effectiveType","getNetworkStatus","window","onLine","getBatteryPercent","getBattery","battery","level","getOrientation","orientation","getDevice","test","getBrowser","vendor","opera","ulaa","brave","isBrave","getBrowserVersion","browser","getVersion","regex","Chrome","Brave","Safari","Opera","Firefox","Konqueror","BlackBerry","Mozilla","matches","match","parseFloat","is_apptics_disabled","toLowerCase","isBlockedWS","getSnippetOptions","appticssettings","withLock","run","locks","hasDoNotTrackEnabled","nav","dntValues","doNotTrack","msDoNotTrack","some","dntValue","shouldTrackOrSendData","canTrack","caller","canTrackEngagement","canTrackHeatmap","setTrackingStatus","trackingState","data","getTrackingStatus","STORE_KEY","allState","saved","stateOf","path","state","attempt","Number","firstattempttime","lst","beginAttempt","at","params","min","makeRequest","url","headers","xhr","XMLHttpRequest","setRequestHeader","withCredentials","timeout","onreadystatechange","readyState","responseText","statusText","ontimeout","send","getHeaderParams","mandatoryParams","appversionid","frameworkid","encodeURIComponent","deviceNameParam","given","version","browserversion","os","osversion","derivedDeviceName","getUrlWithParams","extra","zsoid","projectID","usesDebugApi","returnVal","appversion","deviceid","identifiesDevice","picked","userid","groupid","getParameters","joiner","apiHeaders","apid","mapid","PERMANENT_REFUSALS","PATTERN_NOT_MATCHED","EXTRA_PARAM_FOUND","INVALID_INPUTSTREAM","INVALID_PARAM","isPermanentRefusal","serverResult","code","error_code","settle","response","_result","attemptSucceeded","req_id","producerLogsUrl","reportDebugTrace","refused","refusalOf","postToApptics","keepaliveInFlight","postKeepalive","TextEncoder","encode","sized","byteLength","fetch","answer","body","keepalive","credentials","release","max","ok","rejectIfDisabled","rejectIfOffline","getMetaObj","aaid","modelid","appreleaseversionid","osversionid","timezoneid","platformid","devicetypeid","rejectIfNoDeviceIds","hasDeviceId","LABEL","RESULT_KEYS","inFlight","stored","REQUIRED_KEYS","missingKeys","portalid","projectid","failedForNetwork","appVersionFailedForNetwork","registerAppVersion","missing","join","keep","message","DEVICE_BODY_KEYS","DEVICE_BODY_NUMERIC","deviceBody","numeric","DEVICE_IDENTITY_KEYS","deviceIdentity","identity","checkAndUpdateDeviceInfo","split","previous","donottrackenabled","devicetype","screenheight","screenwidth","referrer","location","href","pathname","substring","connectionType","referringdomain","hostname","anonymousid","timezone","Intl","DateTimeFormat","resolvedOptions","timeZone","old_device_info","blocked","offline","applyDeviceResponse","adopted","settleRegistration","refreshServerSettings","registerDeviceWithApptics","result_device_info","_newmap","_oldmap","compareTwoObjects","updateDeviceWithApptics","addOrUpdateDeviceID","DEVICE_RESPONSE_KEYS","useStoredUuid","prepareDevice","cached","deviceReady","waiters","getUpdatesFromServer","applyServerFlags","moduleEnabled","entry","hasModules","tracking_enabled","versionArchived","versionarchivestatus","customerGroupTracking","customergrouptracking","engagementtracking","errortracking","heatmaptracking","remoteloggerenabled","feedbackenabled","quartz","trim","quartz_enabled","quartzenabled","quartz_workspace","quartz_department","quartz_domain","quartz_cdn_url","next_check_after","shouldtrack","closeScreen","endtime","updateScreenWithEndtime","current","closeScreensOf","session","sessionstarttime","reduce","trackSession","sessionData","written","currentSession","mine","tabSessionId","ours","sort","a","latestOpen","tabIdValue","tabId","tabsOf","tabs","TAB_LOCK_PREFIX","tabLocks","query","holdingTabLock","closeScreensOfGoneTabs","alive","held","pending","lock","gone","tab","end","lastseen","withSessionLock","TAB_KEY","sessionStorage","HAD_SESSION_KEY","pendingSession","pendingTimer","clearPendingTimer","commitPendingSession","firstsession","startNewSession","edge","networkstatus","lastactivetime","gb","ram","deviceMemory","rememberTabSession","minimum","commitNow","endCurrentSession","_currentSession","others","left","closed","closeOrLeaveSession","checkAndUpdateSession","cutoff","abandoned","_newSession","touchSession","settleSession","markScreenSeen","RESERVED_PREFIX","validateEventOrGroup","str","PROPERTY_KEY","validateJSON","jsonObj","datatype","codes","badKeys","longKeys","note","typed","typedValue","withIt","isvalid","valuekeys","userValidateJSON","errorMap","keyRegex","emailRegex","propCount","stringFields","numberFields","entries","validateScreenName","ruleUrl","URL","protocol","host","cleanUrls","cleanRegexes","RegExp","ApiTrackingBuilder","this","rules","allowEquals","ignoreEquals","allowRegex","ignoreRegex","urls","patterns","build","RETIRED_METHODS","ignoreDomains","allowOnlyDomains","allowOnlyTLDs","ignoreTLDs","ignoreDomainPrefixes","ignoreDomainSuffixes","groupDomains","ignoreEndpoint","addPattern","preserveSegments","autoDetection","defineProperty","configurable","instead","TypeError","listOf","configureApiTracking","config","built","isString","one","isRegExp","regexMatches","re","lastIndex","urlTracked","NUMERIC","UUID","JWT","normalizeApiPath","cut","withoutQuery","segment","GROUPS","AP_APP_LIFE_CYCLE","AP_USER_LIFE_CYCLE","AP_APPLICATION","AP_OTHERS","AP_OS","DefinedEvents","group","event","routePath","bare","NAME_DISALLOWED","installed","lastName","settleMs","pendingName","settleTimer","claimed","pendingAt","wrappedPush","wrappedReplace","originalPush","originalReplace","isWildcard","patternMatches","pattern","segments","actual","seg","currentName","decodeURIComponent","cleanName","routes","route","s","applyRoutes","hash","nameFromUrl","check","recordScreen","cancelPending","navigated","enableScreenTracking","wait","history","pushState","replaceState","arguments","addEventListener","removeEventListener","refusedSaid","trackEvent","eventName","groupName","defined","named","asDefinedEvent","_jsonObj","eventData","customproperties","inScreenAt","screenName","startedAt","outScreenAt","endedAt","implicit","screenData","screenForRecord","resumeScreen","API_HOSTNAME","API_PATH_DISALLOWED","trackApi","rawUrl","responsecode","responsemessage","duration","scheme","port","partsOnly","urlObj","origin","parseInt","e","charAt","cleaned","sanitizeApiPath","sessionStart","apiData","withoutQueryForLog","openCalls","openOrder","startTrackApi","toUpperCase","shift","endTrackApiAt","responseCode","responseMessage","originalOpen","originalSend","originalFetch","shouldTrack","absolute","own","isOwnRequest","installFetch","input","init","Request","fetchUrl","fetchMethod","enableApiTracking","_ap_api","tracked","trackError","errorEvent","stack","file","filename","fileName","line","lineno","lineNumber","column","colno","columnNumber","stackOf","methodName","stackTrace","lines","methodNamePattern1","methodNamePattern2","match1","match2","urlMatch","exec","pop","extractMethodNameFromStackTrace","issuetype","thrown","Event","el","tagName","tag","currentSrc","src","describeTarget","describeThrown","errorData","issuename","screenname","trackGlobalErrorHandler","defer","clearDefer","withSendLock","ifAvailable","freshItems","isClosed","timeOf","expired","sendBatch","_payload","forget","meta","attemptsExhausted","resetAttempts","awaitUnlessClosing","landed","sendEngagementData","engagement_items","sessionObj","screenObj","eventObj","apiObj","sent","itemWithId","events","screens","sessions","apis","requestToSendEngagements","sendErrorData","error_items","exceptiondetails","requestToSendErrors","flush","sendingInterval","getUpdatesInterval","startTimers","setInterval","remoteLoggerReachable","sending","entryFor","logtime","logmessage","exceptionlog","function","linenumber","bodyFor","sendStoredLogs","batch","total","keepFrom","getUser","setUser","user_info","mam","customergroupid","happendat","userproperties","maybeBuilt","problem","asUserProperties","users","userobj","addOrUpdateUser","getUserInfo","registerUserWithApptics","activeuser","UserBuilder","setFirstName","first_name","setLastName","last_name","setCompanyName","company_name","setEmailAddress","email_address","setContactNumber","contact_number","setCountry","country","setRegion","region","setCity","city","setGeoLocation","geo_location","setGender","gender","setPlanType","plan_type","setTimezone","setLanguage","language","setEngagementScore","engagement_score","setDateOfBirth","date_of_birth","addStringProperty","addBooleanProperty","addNumberProperty","setCustomProperties","user","knownFields","field","listenersAttached","lastConfig","generation","normaliseConfig","inside","appVersionText","APPVERSION_PLACEHOLDERS","appKey","previousAppVersion","TUNABLE","clearStorage","document","isBrowser","configured","frameworkIdFor","console_log","remote_log","show_logs","track_session","rule","equals","_key","safeJson","screenRouteRules","num","minutes","applyIntervals","myGeneration","backend","discardOtherAppData","registered","trying","clearInterval","OFFLINE_RETRY_MS","registerWhenOnline","start","ready","appVersionChanged","isActive","onPageClosing","persisted","visibilityState","onPageHidden","cordova","passive","onDocumentClick","attachListeners","appticsReadyStatus","appticsReady","startTracking","reset","trackingAttribute","getAttribute","trackingSelector","closest","parentElement","targetElem","groupElem","eventProps","rawProps"],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ import type { AppticsSdk } from './types.js';
2
+ /** Calls Apptics.init() when the page has the console snippet (window.appticssettings) and it hasn't run. */
3
+ export declare function autoInit(api: AppticsSdk['Apptics']): boolean;
4
+ /**
5
+ * Queues autoInit so an app that sets window.appticssettings and calls init() in its
6
+ * top-level code runs first (autoInit then sees init() already ran).
7
+ */
8
+ export declare function scheduleAutoInit(api: AppticsSdk['Apptics']): void;
@@ -0,0 +1,32 @@
1
+ /*! @zoho_apptics/apptics-js-sdk v2.0.0-beta.1 | (c) Zoho Corporation Private Limited | see LICENSE */
2
+ 'use strict';
3
+
4
+ var state = require('./core/state.js');
5
+ var env = require('./core/env.js');
6
+
7
+ /** Calls Apptics.init() when the page has the console snippet (window.appticssettings) and it hasn't run. */
8
+ function autoInit(api) {
9
+ if (state._ZAP._initialised) {
10
+ return false;
11
+ }
12
+ var opts = env.getSnippetOptions();
13
+ if (!opts || typeof opts !== 'object') { // no i18n
14
+ return false;
15
+ }
16
+ return api.init(opts);
17
+ }
18
+ /**
19
+ * Queues autoInit so an app that sets window.appticssettings and calls init() in its
20
+ * top-level code runs first (autoInit then sees init() already ran).
21
+ */
22
+ function scheduleAutoInit(api) {
23
+ if (typeof window === 'undefined') { // no i18n
24
+ return;
25
+ }
26
+ queueMicrotask(function () {
27
+ autoInit(api);
28
+ });
29
+ }
30
+
31
+ exports.autoInit = autoInit;
32
+ exports.scheduleAutoInit = scheduleAutoInit;
@@ -0,0 +1,28 @@
1
+ import type { Dict } from '../types.js';
2
+ /** The largest value `attempt` may carry, from its own regex. */
3
+ export declare const MAX_ATTEMPTS = 5;
4
+ /**
5
+ * Whether this path has already used its five attempts, so the batch should be dropped rather
6
+ * than sent a sixth time with a param the proxy will refuse.
7
+ */
8
+ export declare function attemptsExhausted(path: string): boolean;
9
+ /**
10
+ * Records that a send is going out, and returns the params to put on it.
11
+ *
12
+ * Call it once per request, immediately before sending: it is what moves the attempt counter on,
13
+ * so calling it twice for one request would skip a number and reach five early.
14
+ */
15
+ export declare function beginAttempt(path: string): Dict;
16
+ /**
17
+ * Records that a send was accepted: the counter goes back to 1 and `lst` moves to now.
18
+ *
19
+ * For a page-close send the confirmation arrives after the caller has moved on, which is fine —
20
+ * nothing waits for this, it only decides what the *next* send says about itself.
21
+ */
22
+ export declare function attemptSucceeded(path: string): void;
23
+ /** Gives up on the current run of attempts, so the next send starts again at 1. */
24
+ export declare function resetAttempts(path: string): void;
25
+ /** When this path last had a send accepted, or 0. */
26
+ export declare function lastSendTime(path: string): number;
27
+ /** Forgets every path's bookkeeping. reset() calls it. */
28
+ export declare function clearAttempts(): void;