UNPKG

mm-app-analytics-js-sdk

Version:
5 lines 154 kB
var MMAppAnalyticsSDK=function(){"use strict";var e="undefined"!=typeof globalThis?globalThis:"undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof self?self:{};function t(e){return e&&e.__esModule&&Object.prototype.hasOwnProperty.call(e,"default")?e.default:e}var r,a,i=function(e){return e&&e.Math===Math&&e},n=i("object"==typeof globalThis&&globalThis)||i("object"==typeof window&&window)||i("object"==typeof self&&self)||i("object"==typeof e&&e)||i("object"==typeof e&&e)||function(){return this}()||Function("return this")(),o=function(e){try{return!!e()}catch(e){return!0}},s=!o((function(){var e=function(){}.bind();return"function"!=typeof e||e.hasOwnProperty("prototype")})),u=s,l=Function.prototype,c=l.apply,d=l.call,p="object"==typeof Reflect&&Reflect.apply||(u?d.bind(c):function(){return d.apply(c,arguments)}),v=s,h=Function.prototype,_=h.call,f=v&&h.bind.bind(_,_),g=v?f:function(e){return function(){return _.apply(e,arguments)}},y=g,m=y({}.toString),E=y("".slice),I="object"==typeof document&&document.all,S=void 0===I&&void 0!==I?function(e){return"function"==typeof e||e===I}:function(e){return"function"==typeof e},b=function(e){return null==e},T=b,k=TypeError,D={},R=g({}.isPrototypeOf),N=n.navigator,w=N&&N.userAgent,A=n,P=w?String(w):"",U=A.process,x=A.Deno,O=U&&U.versions||x&&x.version,C=O&&O.v8;C&&(a=(r=C.split("."))[0]>0&&r[0]<4?1:+(r[0]+r[1])),!a&&P&&(!(r=P.match(/Edge\/(\d+)/))||r[1]>=74)&&(r=P.match(/Chrome\/(\d+)/))&&(a=+r[1]);var V=a,M=o,F=n.String,L=!!Object.getOwnPropertySymbols&&!M((function(){var e=Symbol("symbol detection");return!F(e)||!(Object(e)instanceof Symbol)||!Symbol.sham&&V&&V<41})),B=L&&!Symbol.sham&&"symbol"==typeof Symbol.iterator,j=String,z=S,G=TypeError,H=function(e){if(z(e))return e;throw new G(function(e){try{return j(e)}catch(e){return"Object"}}(e)+" is not a function")},q=b,K={exports:{}},Q=n,W=Object.defineProperty,Y=n,X="__core-js_shared__",J=K.exports=Y[X]||function(e,t){try{W(Q,e,{value:t,configurable:!0,writable:!0})}catch(r){Q[e]=t}return t}(X,{});(J.versions||(J.versions=[])).push({version:"3.45.0",mode:"pure",copyright:"© 2014-2025 Denis Pushkarev (zloirock.ru)",license:"https://github.com/zloirock/core-js/blob/v3.45.0/LICENSE",source:"https://github.com/zloirock/core-js"});var $,Z,ee=K.exports,te=Object,re=function(e){return te(function(e){if(T(e))throw new k("Can't call method on "+e);return e}(e))},ae=g({}.hasOwnProperty),ie=Object.hasOwn||function(e,t){return ae(re(e),t)},ne=g,oe=0,se=Math.random(),ue=ne(1.1.toString),le=ie,ce=L,de=B,pe=n.Symbol,ve=ee[$="wks"]||(ee[$]=Z||{}),he=de?pe.for||pe:pe&&pe.withoutSetter||function(e){return"Symbol("+(void 0===e?"":e)+")_"+ue(++oe+se,36)},_e=function(e){return le(ve,e)||(ve[e]=ce&&le(pe,e)?pe[e]:he("Symbol."+e)),ve[e]},fe={};fe[_e("toStringTag")]="z";var ge="[object z]"===String(fe),ye=S,me=function(e){return E(m(e),8,-1)},Ee=_e("toStringTag"),Ie=Object,Se="Arguments"===me(function(){return arguments}()),be=ge?me:function(e){var t,r,a;return void 0===e?"Undefined":null===e?"Null":"string"==typeof(r=function(e,t){try{return e[t]}catch(e){}}(t=Ie(e),Ee))?r:Se?me(t):"Object"===(a=me(t))&&ye(t.callee)?"Arguments":a},Te={},ke=_e;Te.f=ke;var De=D.Object.getOwnPropertySymbols,Re=t(De),Ne=n,we=D,Ae=function(e,t){var r=we[e+"Prototype"],a=r&&r[t];if(a)return a;var i=Ne[e],n=i&&i.prototype;return n&&n[t]},Pe=Ae("Array","filter"),Ue=R,xe=Pe,Oe=Array.prototype,Ce=t((function(e){var t=e.filter;return e===Oe||Ue(Oe,e)&&t===Oe.filter?xe:t})),Ve={exports:{}},Me=D.Object,Fe=Ve.exports=function(e,t){return Me.getOwnPropertyDescriptor(e,t)};Me.getOwnPropertyDescriptor.sham&&(Fe.sham=!0);var Le=t(Ve.exports),Be=t(D.Object.getOwnPropertyDescriptors),je={exports:{}},ze=D.Object,Ge=je.exports=function(e,t){return ze.defineProperties(e,t)};ze.defineProperties.sham&&(Ge.sham=!0);var He=t(je.exports),qe={exports:{}},Ke=D.Object,Qe=qe.exports=function(e,t,r){return Ke.defineProperty(e,t,r)};Ke.defineProperty.sham&&(Qe.sham=!0);var We=qe.exports,Ye=t(We),Xe=D.Symbol,Je=Xe,$e=t(Je),Ze=Te.f("iterator"),et=t(Ze);function tt(e){return tt="function"==typeof $e&&"symbol"==typeof et?function(e){return typeof e}:function(e){return e&&"function"==typeof $e&&e.constructor===$e&&e!==$e.prototype?"symbol":typeof e},tt(e)}var rt=We,at=t(rt),it=t(Te.f("toPrimitive"));function nt(e){var t=function(e,t){if("object"!=tt(e)||!e)return e;var r=e[it];if(void 0!==r){var a=r.call(e,t);if("object"!=tt(a))return a;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}(e,"string");return"symbol"==tt(t)?t:t+""}function ot(e,t,r){return(t=nt(t))in e?at(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}var st=be,ut=function(e,t){var r=e[t];return q(r)?void 0:H(r)},lt=b,ct={},dt=_e("iterator"),pt=D.Promise,vt=pt,ht=t(vt);function _t(e,t,r,a,i,n,o){try{var s=e[n](o),u=s.value}catch(e){return void r(e)}s.done?t(u):ht.resolve(u).then(a,i)}function ft(e){return function(){var t=this,r=arguments;return new ht((function(a,i){var n=e.apply(t,r);function o(e){_t(n,a,i,o,s,"next",e)}function s(e){_t(n,a,i,o,s,"throw",e)}o(void 0)}))}}function gt(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function yt(e,t,r){return t&&function(e,t){for(var r=0;r<t.length;r++){var a=t[r];a.enumerable=a.enumerable||!1,a.configurable=!0,"value"in a&&(a.writable=!0),at(e,nt(a.key),a)}}(e.prototype,t),at(e,"prototype",{writable:!1}),e}var mt,Et={exports:{}},It=D.Object.getPrototypeOf,St=t(It),bt=Ae("Array","reverse"),Tt=R,kt=bt,Dt=Array.prototype,Rt=function(e){var t=e.reverse;return e===Dt||Tt(Dt,e)&&t===Dt.reverse?kt:t},Nt={exports:{}};(mt=Nt).exports=function(e,t){this.v=e,this.k=t},mt.exports.__esModule=!0,mt.exports.default=mt.exports;var wt=Nt.exports,At={exports:{}},Pt=D.Object,Ut=function(e,t){return Pt.create(e,t)},xt=t(Ut),Ot=Ae("Function","bind"),Ct=R,Vt=Ot,Mt=Function.prototype,Ft=function(e){var t=e.bind;return e===Mt||Ct(Mt,e)&&t===Mt.bind?Vt:t},Lt=Ft,Bt=t(Lt),jt=D.Object.setPrototypeOf,zt=t(jt),Gt={exports:{}};!function(e){var t=rt;function r(a,i,n,o){var s=t;try{s({},"",{})}catch(a){s=0}e.exports=r=function(e,t,a,i){function n(t,a){r(e,t,(function(e){return this._invoke(t,a,e)}))}t?s?s(e,t,{value:a,enumerable:!i,configurable:!i,writable:!i}):e[t]=a:(n("next",0),n("throw",1),n("return",2))},e.exports.__esModule=!0,e.exports.default=e.exports,r(a,i,n,o)}e.exports=r,e.exports.__esModule=!0,e.exports.default=e.exports}(Gt);var Ht=Gt.exports;!function(e){var t=Je,r=Ut,a=Lt,i=It,n=jt,o=Ht;function s(){
/*! regenerator-runtime -- Copyright (c) 2014-present, Facebook, Inc. -- license (MIT): https://github.com/babel/babel/blob/main/packages/babel-helpers/LICENSE */
var u,l,c="function"==typeof t?t:{},d=c.iterator||"@@iterator",p=c.toStringTag||"@@toStringTag";function v(e,t,i,n){var s=t&&t.prototype instanceof _?t:_,c=r(s.prototype);return o(c,"_invoke",function(e,t,r){var i,n,o,s=0,c=r||[],d=!1,p={p:0,n:0,v:u,a:v,f:a(v).call(v,u,4),d:function(e,t){return i=e,n=0,o=u,p.n=t,h}};function v(e,t){for(n=e,o=t,l=0;!d&&s&&!r&&l<c.length;l++){var r,a=c[l],i=p.p,v=a[2];e>3?(r=v===t)&&(o=a[(n=a[4])?5:(n=3,3)],a[4]=a[5]=u):a[0]<=i&&((r=e<2&&i<a[1])?(n=0,p.v=t,p.n=a[1]):i<v&&(r=e<3||a[0]>t||t>v)&&(a[4]=e,a[5]=t,p.n=v,n=0))}if(r||e>1)return h;throw d=!0,t}return function(r,a,c){if(s>1)throw TypeError("Generator is already running");for(d&&1===a&&v(a,c),n=a,o=c;(l=n<2?u:o)||!d;){i||(n?n<3?(n>1&&(p.n=-1),v(n,o)):p.n=o:p.v=o);try{if(s=2,i){if(n||(r="next"),l=i[r]){if(!(l=l.call(i,o)))throw TypeError("iterator result is not an object");if(!l.done)return l;o=l.value,n<2&&(n=0)}else 1===n&&(l=i.return)&&l.call(i),n<2&&(o=TypeError("The iterator does not provide a '"+r+"' method"),n=1);i=u}else if((l=(d=p.n<0)?o:e.call(t,p))!==h)break}catch(e){i=u,n=1,o=e}finally{s=1}}return{value:l,done:d}}}(e,i,n),!0),c}var h={};function _(){}function f(){}function g(){}l=i;var y=[][d]?l(l([][d]())):(o(l={},d,(function(){return this})),l),m=g.prototype=_.prototype=r(y);function E(e){return n?n(e,g):(e.__proto__=g,o(e,p,"GeneratorFunction")),e.prototype=r(m),e}return f.prototype=g,o(m,"constructor",g),o(g,"constructor",f),f.displayName="GeneratorFunction",o(g,p,"GeneratorFunction"),o(m),o(m,p,"Generator"),o(m,d,(function(){return this})),o(m,"toString",(function(){return"[object Generator]"})),(e.exports=s=function(){return{w:v,m:E}},e.exports.__esModule=!0,e.exports.default=e.exports)()}e.exports=s,e.exports.__esModule=!0,e.exports.default=e.exports}(At);var qt=At.exports,Kt={exports:{}},Qt={exports:{}},Wt={exports:{}},Yt=Te.f("asyncIterator");!function(e){var t=Je,r=Yt,a=wt,i=Ht;e.exports=function e(n,o){function s(e,t,r,i){try{var u=n[e](t),l=u.value;return l instanceof a?o.resolve(l.v).then((function(e){s("next",e,r,i)}),(function(e){s("throw",e,r,i)})):o.resolve(l).then((function(e){u.value=e,r(u)}),(function(e){return s("throw",e,r,i)}))}catch(e){i(e)}}var u;this.next||(i(e.prototype),i(e.prototype,"function"==typeof t&&r||"@asyncIterator",(function(){return this}))),i(this,"_invoke",(function(e,t,r){function a(){return new o((function(t,a){s(e,r,t,a)}))}return u=u?u.then(a,a):a()}),!0)},e.exports.__esModule=!0,e.exports.default=e.exports}(Wt);var Xt=Wt.exports;!function(e){var t=vt,r=qt,a=Xt;e.exports=function(e,i,n,o,s){return new a(r().w(e,i,n,o),s||t)},e.exports.__esModule=!0,e.exports.default=e.exports}(Qt);var Jt=Qt.exports;!function(e){var t=Jt;e.exports=function(e,r,a,i,n){var o=t(e,r,a,i,n);return o.next().then((function(e){return e.done?e.value:o.next()}))},e.exports.__esModule=!0,e.exports.default=e.exports}(Kt);var $t=Kt.exports,Zt={exports:{}},er=Ae("Array","unshift"),tr=R,rr=er,ar=Array.prototype,ir=function(e){var t=e.unshift;return e===ar||tr(ar,e)&&t===ar.unshift?rr:t};!function(e){var t=ir;e.exports=function(e){var r=Object(e),a=[];for(var i in r)t(a).call(a,i);return function e(){for(;a.length;)if((i=a.pop())in r)return e.value=i,e.done=!1,e;return e.done=!0,e}},e.exports.__esModule=!0,e.exports.default=e.exports}(Zt);var nr=Zt.exports,or={exports:{}},sr={exports:{}};!function(e){var t=Je,r=Ze;function a(i){return e.exports=a="function"==typeof t&&"symbol"==typeof r?function(e){return typeof e}:function(e){return e&&"function"==typeof t&&e.constructor===t&&e!==t.prototype?"symbol":typeof e},e.exports.__esModule=!0,e.exports.default=e.exports,a(i)}e.exports=a,e.exports.__esModule=!0,e.exports.default=e.exports}(sr);var ur=sr.exports;!function(e){var t=ur.default,r=Je,a=Ze;e.exports=function(e){if(null!=e){var i=e["function"==typeof r&&a||"@@iterator"],n=0;if(i)return i.call(e);if("function"==typeof e.next)return e;if(!isNaN(e.length))return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}}}throw new TypeError(t(e)+" is not iterable")},e.exports.__esModule=!0,e.exports.default=e.exports}(or);var lr=or.exports;!function(e){var t=It,r=Rt,a=wt,i=qt,n=$t,o=Jt,s=Xt,u=nr,l=lr;function c(){var d=i(),p=d.m(c),v=(t?t(p):p.__proto__).constructor;function h(e){var t="function"==typeof e&&e.constructor;return!!t&&(t===v||"GeneratorFunction"===(t.displayName||t.name))}var _={throw:1,return:2,break:3,continue:3};function f(e){var t,r;return function(a){t||(t={stop:function(){return r(a.a,2)},catch:function(){return a.v},abrupt:function(e,t){return r(a.a,_[e],t)},delegateYield:function(e,i,n){return t.resultName=i,r(a.d,l(e),n)},finish:function(e){return r(a.f,e)}},r=function(e,r,i){a.p=t.prev,a.n=t.next;try{return e(r,i)}finally{t.next=a.n}}),t.resultName&&(t[t.resultName]=a.v,t.resultName=void 0),t.sent=a.v,t.next=a.n;try{return e.call(this,t)}finally{a.p=t.prev,a.n=t.next}}}return(e.exports=c=function(){return{wrap:function(e,t,a,i){return d.w(f(e),t,a,i&&r(i).call(i))},isGeneratorFunction:h,mark:d.m,awrap:function(e,t){return new a(e,t)},AsyncIterator:s,async:function(e,t,r,a,i){return(h(t)?o:n)(f(e),t,r,a,i)},keys:u,values:l}},e.exports.__esModule=!0,e.exports.default=e.exports)()}e.exports=c,e.exports.__esModule=!0,e.exports.default=e.exports}(Et);var cr=(0,Et.exports)(),dr=cr;try{regeneratorRuntime=cr}catch(e){"object"==typeof globalThis?globalThis.regeneratorRuntime=cr:Function("r","regeneratorRuntime = r")(cr)}var pr=t(dr),vr=t(D.Date.now),hr=Ae("Array","includes"),_r=Ae("String","includes"),fr=R,gr=hr,yr=_r,mr=Array.prototype,Er=String.prototype,Ir=t((function(e){var t=e.includes;return e===mr||fr(mr,e)&&t===mr.includes?gr:"string"==typeof e||e===Er||fr(Er,e)&&t===Er.includes?yr:t})),Sr=t(D.Object.keys),br=Ae("Array","map"),Tr=R,kr=br,Dr=Array.prototype,Rr=t((function(e){var t=e.map;return e===Dr||Tr(Dr,e)&&t===Dr.map?kr:t})),Nr=Ae("Array","forEach"),wr=be,Ar=ie,Pr=R,Ur=Nr,xr=Array.prototype,Or={DOMTokenList:!0,NodeList:!0},Cr=t((function(e){var t=e.forEach;return e===xr||Pr(xr,e)&&t===xr.forEach||Ar(Or,wr(e))?Ur:t})),Vr=t(pt),Mr=D,Fr=p;Mr.JSON||(Mr.JSON={stringify:JSON.stringify});var Lr=function(e,t,r){return Fr(Mr.JSON.stringify,null,arguments)},Br=t(Lr),jr=Ae("Array","concat"),zr=R,Gr=jr,Hr=Array.prototype,qr=t((function(e){var t=e.concat;return e===Hr||zr(Hr,e)&&t===Hr.concat?Gr:t}));function Kr(e,t){var r=Sr(e);if(Re){var a=Re(e);t&&(a=Ce(a).call(a,(function(t){return Le(e,t).enumerable}))),r.push.apply(r,a)}return r}function Qr(e){for(var t=1;t<arguments.length;t++){var r,a,i=null!=arguments[t]?arguments[t]:{};t%2?Cr(r=Kr(Object(i),!0)).call(r,(function(t){ot(e,t,i[t])})):Be?He(e,Be(i)):Cr(a=Kr(Object(i))).call(a,(function(t){Ye(e,t,Le(i,t))}))}return e}var Wr=function(){return yt((function e(t){if(gt(this,e),!t||"object"!==tt(t))throw new Error("Configuration must be an object");if(!t.customerId)throw new Error("Customer ID is required");if(!t.appId)throw new Error("App ID is required");if(!t.appName)throw new Error("App Name is required");if(!t.appVersion)throw new Error("App Version is required");this._config=Qr({customerId:t.customerId,appId:t.appId,appName:t.appName,appVersion:t.appVersion,sdkVersion:"1.0.0",platform:"web",dataSrc:"Application",sessionId:this._generateUUID()},t),this._initializeStaticMetadata()}),[{key:"_initializeStaticMetadata",value:function(){var e,t,r,a=navigator.userAgent,i=window.screen;if(/iPad|Android|Tablet/i.test(a)?this.setDeviceType("tablet"):/Mobile|Android|iPhone|iPod/i.test(a)?this.setDeviceType("mobile"):this.setDeviceType("desktop"),/Chrome/i.test(a))this.setBrowser("Chrome"),this.setBrowserVersion(null===(t=a.match(/Chrome\/(\d+\.\d+\.\d+\.\d+)/))||void 0===t?void 0:t[1]);else if(/Firefox/i.test(a)){var n;this.setBrowser("Firefox"),this.setBrowserVersion(null===(n=a.match(/Firefox\/(\d+\.\d+)/))||void 0===n?void 0:n[1])}else if(/Safari/i.test(a)&&!/Chrome/i.test(a)){var o;this.setBrowser("Safari"),this.setBrowserVersion(null===(o=a.match(/Version\/(\d+\.\d+\.\d+)/))||void 0===o?void 0:o[1])}else if(/Edge/i.test(a)){var s;this.setBrowser("Edge"),this.setBrowserVersion(null===(s=a.match(/Edge\/(\d+\.\d+\.\d+\.\d+)/))||void 0===s?void 0:s[1])}if(/Windows/i.test(a))this.setOS("Windows"),this.setOSVersion(null===(r=a.match(/Windows NT (\d+\.\d+)/))||void 0===r?void 0:r[1]);else if(/Mac OS X/i.test(a)){var u;this.setOS("MacOS"),this.setOSVersion(null===(u=a.match(/Mac OS X (\d+[._]\d+)/))||void 0===u||null===(u=u[1])||void 0===u?void 0:u.replace("_","."))}else if(/Linux/i.test(a))this.setOS("Linux"),this.setOSVersion("Unknown");else if(/Android/i.test(a)){var l;this.setOS("Android"),this.setOSVersion(null===(l=a.match(/Android (\d+\.\d+)/))||void 0===l?void 0:l[1])}else if(/iOS|iPhone|iPad|iPod/i.test(a)){var c;this.setOS("iOS"),this.setOSVersion(null===(c=a.match(/OS (\d+[._]\d+)/))||void 0===c||null===(c=c[1])||void 0===c?void 0:c.replace("_","."))}this.setScreenRes(qr(e="".concat(i.width,"x")).call(e,i.height)),this.setScreenWidth(i.width),this.setScreenHeight(i.height),this.setColorDepth(i.colorDepth),this.setPixelRatio(window.devicePixelRatio),this.setViewportWidth(window.innerWidth),this.setViewportHeight(window.innerHeight),this.setLanguage(navigator.language),this.setTimezone(Intl.DateTimeFormat().resolvedOptions().timeZone),this.setDeviceId(this._generateUUID()),this.setUserAgent(a)}},{key:"setDeviceType",value:function(e){this._config.deviceType=e}},{key:"setBrowser",value:function(e){this._config.browser=e}},{key:"setBrowserVersion",value:function(e){this._config.browserVersion=e}},{key:"setOS",value:function(e){this._config.os=e}},{key:"setOSVersion",value:function(e){this._config.osVersion=e}},{key:"setScreenRes",value:function(e){this._config.screenRes=e}},{key:"setScreenWidth",value:function(e){this._config.screenWidth=e}},{key:"setScreenHeight",value:function(e){this._config.screenHeight=e}},{key:"setColorDepth",value:function(e){this._config.colorDepth=e}},{key:"setPixelRatio",value:function(e){this._config.pixelRatio=e}},{key:"setViewportWidth",value:function(e){this._config.viewportWidth=e}},{key:"setViewportHeight",value:function(e){this._config.viewportHeight=e}},{key:"setLanguage",value:function(e){this._config.language=e}},{key:"setTimezone",value:function(e){this._config.timezone=e}},{key:"setDeviceId",value:function(e){this._config.deviceId=e}},{key:"setUserAgent",value:function(e){this._config.userAgent=e}},{key:"_generateUUID",value:function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"==e?t:3&t|8).toString(16)}))}},{key:"getEventMetadata",value:function(){return{deviceType:this._config.deviceType,browser:this._config.browser,browserVersion:this._config.browserVersion,os:this._config.os,osVersion:this._config.osVersion,screenRes:this._config.screenRes,screenWidth:this._config.screenWidth,screenHeight:this._config.screenHeight,colorDepth:this._config.colorDepth,pixelRatio:this._config.pixelRatio,viewportWidth:this._config.viewportWidth,viewportHeight:this._config.viewportHeight,language:this._config.language,timezone:this._config.timezone,deviceId:this._config.deviceId,userAgent:this._config.userAgent,timestamp:vr(),platform:this._config.platform,sdkVersion:this._config.sdkVersion,dataSrc:this._config.dataSrc}}},{key:"get",value:function(e){return this._config[e]}},{key:"set",value:function(e,t){this._config[e]=t}},{key:"getConfig",value:function(){return Qr({},this._config)}},{key:"getDeviceInfo",value:function(){return{deviceType:this._config.deviceType,browser:this._config.browser,browserVersion:this._config.browserVersion,os:this._config.os,osVersion:this._config.osVersion,screenRes:this._config.screenRes,screenWidth:this._config.screenWidth,screenHeight:this._config.screenHeight,colorDepth:this._config.colorDepth,pixelRatio:this._config.pixelRatio,viewportWidth:this._config.viewportWidth,viewportHeight:this._config.viewportHeight,language:this._config.language,timezone:this._config.timezone,deviceId:this._config.deviceId,userAgent:this._config.userAgent}}},{key:"getAppInfo",value:function(){return{customerId:this._config.customerId,appId:this._config.appId,appName:this._config.appName,appVersion:this._config.appVersion,platform:this._config.platform,sdkVersion:this._config.sdkVersion,dataSrc:this._config.dataSrc}}},{key:"getSessionId",value:function(){return this._config.sessionId}},{key:"updateSessionId",value:function(e){this._config.sessionId=e}}])}(),Yr=D.Array.isArray,Xr=t(Yr);function Jr(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,a=Array(t);r<t;r++)a[r]=e[r];return a}var $r=function(e){if(!lt(e))return ut(e,dt)||ut(e,"@@iterator")||ct[st(e)]},Zr=t($r),ea=D.Array.from,ta=t(ea),ra=Ae("Array","slice"),aa=R,ia=ra,na=Array.prototype,oa=function(e){var t=e.slice;return e===na||aa(na,e)&&t===na.slice?ia:t},sa=t(oa);function ua(e,t){if(e){var r;if("string"==typeof e)return Jr(e,t);var a=sa(r={}.toString.call(e)).call(r,8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?ta(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?Jr(e,t):void 0}}function la(e){return function(e){if(Xr(e))return Jr(e)}(e)||function(e){if(void 0!==$e&&null!=Zr(e)||null!=e["@@iterator"])return ta(e)}(e)||ua(e)||function(){throw new TypeError("Invalid attempt to spread non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var ca=t(D.Map),da=t(D.Set),pa=function(){return yt((function e(){gt(this,e),this._states={app:{current:{state:"foreground",timestamp:vr()},previous:null,history:[]},video:{current:{state:"idle",timestamp:vr()},previous:null,history:[]},screen:{current:null,previous:null,history:[]},user:{current:null,previous:null,history:[]},payment:{current:null,previous:null,history:[]},subscription:{current:null,previous:null,history:[]}},this._states.app.history.push(this._states.app.current),this._states.video.history.push(this._states.video.current),this._maxHistoryLength=10,this._stateChangeCallbacks=new ca}),[{key:"getAppState",value:function(){var e;return(null===(e=this._states.app.current)||void 0===e?void 0:e.state)||"foreground"}},{key:"getVideoState",value:function(){var e;return(null===(e=this._states.video.current)||void 0===e?void 0:e.state)||"idle"}},{key:"getScreenState",value:function(){var e;return(null===(e=this._states.screen.current)||void 0===e?void 0:e.state)||null}},{key:"getVideoData",value:function(){var e;return(null===(e=this._states.video.current)||void 0===e?void 0:e.metadata)||null}},{key:"getScreenData",value:function(){var e;return(null===(e=this._states.screen.current)||void 0===e?void 0:e.metadata)||null}},{key:"getVideoStateHistory",value:function(){return this._states.video.history}},{key:"getAppStateHistory",value:function(){return this._states.app.history}},{key:"getScreenStateHistory",value:function(){return this._states.screen.history}},{key:"updateAppState",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this._updateState("app",e,t)}},{key:"updateVideoState",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this._updateState("video",e,t)}},{key:"updateScreenState",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this._updateState("screen",e,t)}},{key:"updateUserState",value:function(e){return this._updateState("user","identified",e)}},{key:"getUserState",value:function(){return this._states.user.current}},{key:"getUserStateHistory",value:function(){return this._states.user.history}},{key:"getCurrentState",value:function(e){var t;return(null===(t=this._states[e])||void 0===t?void 0:t.current)||null}},{key:"getPreviousState",value:function(e){var t;return(null===(t=this._states[e])||void 0===t?void 0:t.previous)||null}},{key:"getStateHistory",value:function(e){var t;return la((null===(t=this._states[e])||void 0===t?void 0:t.history)||[])}},{key:"onStateChange",value:function(e,t){this._stateChangeCallbacks.has(e)||this._stateChangeCallbacks.set(e,new da),this._stateChangeCallbacks.get(e).add(t)}},{key:"offStateChange",value:function(e,t){var r=this._stateChangeCallbacks.get(e);r&&r.delete(t)}},{key:"clearStates",value:function(){this._states={app:{current:{state:"foreground",timestamp:vr()},previous:null,history:[]},video:{current:{state:"idle",timestamp:vr()},previous:null,history:[]},screen:{current:null,previous:null,history:[]},user:{current:null,previous:null,history:[]},payment:{current:null,previous:null,history:[]},subscription:{current:null,previous:null,history:[]}}}},{key:"_updateState",value:function(e,t,r){try{if(!this._states[e])throw new Error("Invalid state type: ".concat(e));if(!this._isValidStateTransition(e,t))return!1;var a={state:t,timestamp:vr(),metadata:r};return this._states[e].previous=this._states[e].current,this._states[e].current=a,this._states[e].history.push(a),this._states[e].history.length>this._maxHistoryLength&&this._states[e].history.shift(),this._notifyStateChange(e,a),!0}catch(t){return console.error("State update failed for ".concat(e,":"),t),!1}}},{key:"_isValidStateTransition",value:function(e,t){var r,a=(null===(r=this._states[e].current)||void 0===r?void 0:r.state)||null,i={app:{null:["foreground","background"],foreground:["background"],background:["foreground"]},video:{null:["idle","loading","playing"],idle:["loading","playing"],loading:["playing","error"],playing:["paused","ended","error"],paused:["playing","ended"],ended:["idle","loading"],error:["idle"]},screen:{null:["active"],active:["inactive"],inactive:["active"]},payment:{null:["initiated","processing"],initiated:["processing","failed"],processing:["success","failed","refunded"],success:["refunded"],failed:["initiated"],refunded:["initiated"]},subscription:{null:["trial","active"],trial:["active","expired"],active:["cancelled","expired","upgraded","downgraded"],cancelled:["active","expired"],expired:["active"],upgraded:["active"],downgraded:["active"]}}[e];if(!i)return!1;var n=i[a]||[];return Ir(n).call(n,t)}},{key:"_notifyStateChange",value:function(e,t){var r=this,a=this._stateChangeCallbacks.get(e);a&&Cr(a).call(a,(function(a){try{a(t,r._states[e].previous)}catch(t){console.error("Error in state change callback for ".concat(e,":"),t)}}))}},{key:"updatePaymentState",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this._updateState("payment",e,t)}},{key:"getPaymentState",value:function(){return this._states.payment.current}},{key:"getPaymentStateHistory",value:function(){return this._states.payment.history}},{key:"updateSubscriptionState",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return this._updateState("subscription",e,t)}},{key:"getSubscriptionState",value:function(){return this._states.subscription.current}},{key:"getSubscriptionStateHistory",value:function(){return this._states.subscription.history}}])}(),va=t(oa),ha=t(ea),_a=t(Xe),fa=t($r),ga=t(Yr),ya=Ae("Array","push"),ma=R,Ea=ya,Ia=Array.prototype,Sa=t((function(e){var t=e.push;return e===Ia||ma(Ia,e)&&t===Ia.push?Ea:t}));function ba(e,t){return function(e){if(Xr(e))return e}(e)||function(e,t){var r=null==e?null:void 0!==$e&&Zr(e)||e["@@iterator"];if(null!=r){var a,i,n,o,s=[],u=!0,l=!1;try{if(n=(r=r.call(e)).next,0===t);else for(;!(u=(a=n.call(r)).done)&&(Sa(s).call(s,a.value),s.length!==t);u=!0);}catch(e){l=!0,i=e}finally{try{if(!u&&null!=r.return&&(o=r.return(),Object(o)!==o))return}finally{if(l)throw i}}return s}}(e,t)||ua(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}var Ta=Ae("Array","values"),ka=be,Da=ie,Ra=R,Na=Ta,wa=Array.prototype,Aa={DOMTokenList:!0,NodeList:!0},Pa=t((function(e){var t=e.values;return e===wa||Ra(wa,e)&&t===wa.values||Da(Aa,ka(e))?Na:t})),Ua=Ae("Array","entries"),xa=be,Oa=ie,Ca=R,Va=Ua,Ma=Array.prototype,Fa={DOMTokenList:!0,NodeList:!0},La=t((function(e){var t=e.entries;return e===Ma||Ca(Ma,e)&&t===Ma.entries||Oa(Fa,xa(e))?Va:t})),Ba=t(D.setInterval),ja=Ae("Array","splice"),za=R,Ga=ja,Ha=Array.prototype,qa=t((function(e){var t=e.splice;return e===Ha||za(Ha,e)&&t===Ha.splice?Ga:t})),Ka=Ae("String","trim"),Qa=R,Wa=Ka,Ya=String.prototype,Xa=t((function(e){var t=e.trim;return"string"==typeof e||e===Ya||Qa(Ya,e)&&t===Ya.trim?Wa:t})),Ja=t(D.setTimeout),$a=function(e){try{return localStorage.removeItem(e),!0}catch(e){return console.error("Failed to remove item from storage:",e),!1}};function Za(e,t){var r=void 0!==_a&&fa(e)||e["@@iterator"];if(!r){if(ga(e)||(r=function(e,t){if(e){var r;if("string"==typeof e)return ei(e,t);var a=va(r={}.toString.call(e)).call(r,8,-1);return"Object"===a&&e.constructor&&(a=e.constructor.name),"Map"===a||"Set"===a?ha(e):"Arguments"===a||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(a)?ei(e,t):void 0}}(e))||t){r&&(e=r);var a=0,i=function(){};return{s:i,n:function(){return a>=e.length?{done:!0}:{done:!1,value:e[a++]}},e:function(e){throw e},f:i}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var n,o=!0,s=!1;return{s:function(){r=r.call(e)},n:function(){var e=r.next();return o=e.done,e},e:function(e){s=!0,n=e},f:function(){try{o||null==r.return||r.return()}finally{if(s)throw n}}}}function ei(e,t){(null==t||t>e.length)&&(t=e.length);for(var r=0,a=Array(t);r<t;r++)a[r]=e[r];return a}function ti(e,t){var r=Sr(e);if(Re){var a=Re(e);t&&(a=Ce(a).call(a,(function(t){return Le(e,t).enumerable}))),r.push.apply(r,a)}return r}function ri(e){for(var t=1;t<arguments.length;t++){var r,a,i=null!=arguments[t]?arguments[t]:{};t%2?Cr(r=ti(Object(i),!0)).call(r,(function(t){ot(e,t,i[t])})):Be?He(e,Be(i)):Cr(a=ti(Object(i))).call(a,(function(t){Ye(e,t,Le(i,t))}))}return e}var ai=function(){return yt((function e(){var t=this,r=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};gt(this,e),this._config={batchSize:r.batchSize||10,flushInterval:r.flushInterval||5e3,maxRetries:r.maxRetries||3,retryDelay:r.retryDelay||1e3,getConfig:function(){return{batchSize:t._config.batchSize,flushInterval:t._config.flushInterval,maxRetries:t._config.maxRetries,retryDelay:t._config.retryDelay}}},this.events=[],this._flushTimer=null,this._producerURL="https://streamproducer-lcrr.mediamelon.com",this._processingQueue=[],this._retryTimeouts=new ca,this._isProcessing=!1,this._stats={successfulEvents:0,failedEvents:0,totalProcessed:0,lastProcessTime:0},this._loadStoredEvents(),this._startFlushTimer(),console.log("EventQueue initialized with config:",this._config.getConfig())}),[{key:"setProducerURL",value:function(e){if(!e||"string"!=typeof e)throw new Error("Valid producer URL is required");this._producerURL=e}},{key:"getProducerURL",value:function(){return this._producerURL}},{key:"updateConfig",value:function(e){this._config=ri(ri({},e),{},{getConfig:function(){return e}}),this._flushTimer&&clearInterval(this._flushTimer),this._startFlushTimer()}},{key:"_loadStoredEvents",value:function(){var e=function(e){try{return localStorage.getItem(e)}catch(e){return console.error("Failed to get item from storage:",e),null}}("mm_analytics_event_queue");if(e)try{this.events=JSON.parse(e)}catch(e){console.error("Failed to parse stored events:",e),this.events=[]}}},{key:"addEvent",value:function(e){if(!e||"object"!==tt(e))throw new Error("Invalid event");e.eventId||(e.eventId=this._generateUUID()),console.log("Adding event to queue:",e.type),this.events.push(e),this._persistEvents(),this.events.length>=this._config.batchSize&&(console.log("Batch size reached, triggering immediate flush"),this._flush())}},{key:"getNextEvent",value:function(){return this.events.length>0?this.events[0]:null}},{key:"removeEvent",value:function(){this.events.length>0&&(this.events.shift(),this._persistEvents())}},{key:"clear",value:function(){if(this.events=[],this._config){var e;this._processingQueue=[],this._stats={successfulEvents:0,failedEvents:0,totalProcessed:0,lastProcessTime:0},this._flushTimer&&(clearInterval(this._flushTimer),this._flushTimer=null);var t,r=Za(Pa(e=this._retryTimeouts).call(e));try{for(r.s();!(t=r.n()).done;){var a=t.value;clearTimeout(a)}}catch(e){r.e(e)}finally{r.f()}this._retryTimeouts.clear()}$a("mm_analytics_event_queue")}},{key:"isEmpty",value:function(){return 0===this.events.length}},{key:"getSize",value:function(){return this.events.length}},{key:"getStatus",value:function(){var e;if(!this._config)return{queueLength:this.events.length,processingLength:0,retryCount:0,successfulEvents:0,failedEvents:0,totalProcessed:0,processingTime:0,isProcessing:!1};var t,r=Za(La(e=this._retryTimeouts).call(e));try{for(r.s();!(t=r.n()).done;){var a=ba(t.value,2),i=a[0],n=a[1];(n._destroyed||n._called)&&this._retryTimeouts.delete(i)}}catch(e){r.e(e)}finally{r.f()}return{queueLength:this.events.length,processingLength:this._processingQueue.length,retryCount:this._retryTimeouts.size,successfulEvents:this._stats.successfulEvents,failedEvents:this._stats.failedEvents,totalProcessed:this._stats.totalProcessed,processingTime:this._stats.lastProcessTime,isProcessing:this._isProcessing}}},{key:"_startFlushTimer",value:function(){var e=this;this._flushTimer&&clearInterval(this._flushTimer);var t=this._config.flushInterval;console.log("Starting flush timer with interval:",t),this._flushTimer=Ba((function(){e.events.length>0&&(console.log("Flush timer triggered, queue size:",e.events.length),e._flush())}),t)}},{key:"_persistEvents",value:function(){!function(e,t){try{return localStorage.setItem(e,t),!0}catch(e){return console.error("Failed to set item in storage:",e),!1}}("mm_analytics_event_queue",Br(this.events))}},{key:"_flush",value:(i=ft(pr.mark((function e(){var t,r,a,i,n;return pr.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(!this._isProcessing){e.next=3;break}return console.log("Already processing events, skipping flush"),e.abrupt("return");case 3:if(0!==this.events.length){e.next=6;break}return console.log("No events to flush"),e.abrupt("return");case 6:return console.log("Starting flush of",this.events.length,"events"),console.log("[EVENT QUEUE] Events in queue:",Rr(t=this.events).call(t,(function(e){return{type:e.type,timestamp:e.timestamp}}))),a=this._config.batchSize,i=qa(r=this.events).call(r,0,a),console.log("Prepared batch of",i.length,"events for processing"),e.prev=11,e.next=14,this._sendBatch(i);case 14:console.log("Successfully processed batch of",i.length,"events"),e.next=21;break;case 17:e.prev=17,e.t0=e.catch(11),console.error("Error during flush:",e.t0),i&&i.length>0&&(console.log("Putting failed events back in queue"),(n=this.events).unshift.apply(n,la(i)));case 21:case"end":return e.stop()}}),e,this,[[11,17]])}))),function(){return i.apply(this,arguments)})},{key:"_sendBatch",value:(a=ft(pr.mark((function e(t){var r,a,i,n,o,s,u,l,c,d,p,v,h,_,f,g,y,m,E,I,S,b,T,k,D,R,N,w,A,P,U,x,O,C,V,M,F,L,B,j,z,G,H;return pr.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(t&&0!==t.length){e.next=3;break}return console.log("Empty batch, skipping processing"),e.abrupt("return");case 3:if(!this._isProcessing){e.next=6;break}return console.log("Already processing events, skipping batch"),e.abrupt("return");case 6:this._isProcessing=!0,console.log("Starting batch processing of",t.length,"events"),e.prev=8,r=Za(t),e.prev=10,r.s();case 12:if((a=r.n()).done){e.next=62;break}if(i=a.value,e.prev=14,i){e.next=18;break}return console.error("Invalid event: null or undefined"),e.abrupt("continue",60);case 18:if(o=void 0,i.qubitData?o={timestamp:i.timestamp,qubitData:i.qubitData}:(console.log("Formatting event without qubitData:",i.type),L=(null===(s=i.data)||void 0===s?void 0:s.currentPayload)||{},(o={timestamp:i.timestamp||vr(),qubitData:[{streamID:{custId:L.customerId||L.custId||(null===(u=i.data)||void 0===u?void 0:u.customerId)||(null===(l=i.data)||void 0===l?void 0:l.custId)||"",subscriberId:L.subscriberId||(null===(c=i.data)||void 0===c?void 0:c.subscriberId)||"",subscriberType:L.subscriberType||(null===(d=i.data)||void 0===d?void 0:d.subscriberType)||"",subscriberTag:L.subscriberTag||(null===(p=i.data)||void 0===p?void 0:p.subscriberTag)||"",sessionId:L.sessionId||(null===(v=i.data)||void 0===v?void 0:v.sessionId)||i.sessionId||(null===(h=this._config)||void 0===h||null===(_=h.getSessionId)||void 0===_?void 0:_.call(h))||"",pId:L.profileId||(null===(f=i.data)||void 0===f?void 0:f.profileId)||"",dataSrc:"Application"},sdkInfo:{sdkVersion:L.sdkVersion||(null===(g=i.data)||void 0===g?void 0:g.sdkVersion)||"JSSDK1.0.0"},appEventInfo:{eventName:this._getEventName(i),eventType:this._getEventType(i),currentScreen:L.currentScreen||(null===(y=i.data)||void 0===y?void 0:y.currentScreen)||"",isGraceful:L.isGraceful||(null===(m=i.data)||void 0===m?void 0:m.isGraceful)||!1,eventData:L.eventData||(null===(E=i.data)||void 0===E?void 0:E.eventData)||{}},userInfo:{profileId:L.profileId||(null===(I=i.data)||void 0===I?void 0:I.profileId)||"",userData:L.userData||(null===(S=i.data)||void 0===S?void 0:S.userData)||{},referralId:L.referralId||(null===(b=i.data)||void 0===b?void 0:b.referralId)||"",referralData:L.referralData||(null===(T=i.data)||void 0===T?void 0:T.referralData)||{}},clientInfo:{appName:L.appName||(null===(k=i.data)||void 0===k?void 0:k.appName)||"",appVersion:L.appVersion||(null===(D=i.data)||void 0===D?void 0:D.appVersion)||"",scrnRes:L.screenRes||L.scrnRes||(null===(R=i.data)||void 0===R?void 0:R.screenRes)||(null===(N=i.data)||void 0===N?void 0:N.scrnRes)||this._getScreenResolution(),deviceId:L.deviceId||(null===(w=i.data)||void 0===w?void 0:w.deviceId)||"",deviceType:L.deviceType||(null===(A=i.data)||void 0===A?void 0:A.deviceType)||"",deviceBrand:L.deviceBrand||(null===(P=i.data)||void 0===P?void 0:P.deviceBrand)||"",deviceModel:L.deviceModel||(null===(U=i.data)||void 0===U?void 0:U.deviceModel)||"",deviceMarketingName:L.deviceMarketingName||(null===(x=i.data)||void 0===x?void 0:x.deviceMarketingName)||"",osVersion:L.osVersion||(null===(O=i.data)||void 0===O?void 0:O.osVersion)||"",platform:L.platform||(null===(C=i.data)||void 0===C?void 0:C.platform)||"",ua:L.userAgent||(null===(V=i.data)||void 0===V?void 0:V.userAgent)||(null===(M=i.data)||void 0===M||null===(M=M.clientInfo)||void 0===M?void 0:M.ua)||""},customTags:L.customTags||(null===(F=i.data)||void 0===F?void 0:F.customTags)||{}}]}).qubitData[0].clientInfo.ua?console.log("[DEBUG] ua found in clientInfo:",o.qubitData[0].clientInfo.ua):(console.warn("[DEBUG] ua missing from clientInfo!"),console.warn("currentPayload:",Br(L,null,2)),console.warn("event.data:",Br(i.data,null,2)))),this._removeEmptyFields(o),i.qubitData||null!==(n=o.qubitData)&&void 0!==n&&null!==(n=n[0])&&void 0!==n&&null!==(n=n.streamID)&&void 0!==n&&n.custId){e.next=24;break}return console.error("Missing required field: custId"),e.abrupt("continue",60);case 24:return console.log("About to make network call to:",this._producerURL),console.log("Event payload:",Br(o,null,2)),console.log("Making fetch request..."),e.next=29,fetch(this._producerURL,{method:"POST",headers:{"Content-Type":"application/json",Accept:"application/json"},body:Br(o)});case 29:if(B=e.sent,console.log("Fetch request completed"),console.log("Response status:",B.status,B.statusText),B.ok){e.next=38;break}return e.next=35,B.text();case 35:throw z=e.sent,console.error("Server response:",z),new Error(qr(j="HTTP error! status: ".concat(B.status,", message: ")).call(j,z));case 38:return e.next=40,B.text();case 40:if(G=e.sent,H=null,G&&Xa(G).call(G))try{H=JSON.parse(G),console.log("Server response data:",H)}catch(e){console.warn("Failed to parse response as JSON:",G),console.warn("Parse error:",e),H={success:!0,message:"Response received but not JSON"}}else console.log("Empty response received from server"),H={success:!0,message:"Empty response received"};this.removeEvent(),this._stats.successfulEvents++,this._stats.totalProcessed++,console.log("Event successfully processed and removed from queue"),e.next=60;break;case 49:if(e.prev=49,e.t0=e.catch(14),console.error("Error sending event:",e.t0),this._stats.failedEvents++,this._stats.totalProcessed++,i.retryCount=(i.retryCount||0)+1,!(i.retryCount<this._config.maxRetries)){e.next=59;break}return console.log("Scheduling retry for event, attempt:",i.retryCount),this._scheduleRetry(i),e.abrupt("continue",60);case 59:console.log("Max retries reached for event, removing from queue");case 60:e.next=12;break;case 62:e.next=67;break;case 64:e.prev=64,e.t1=e.catch(10),r.e(e.t1);case 67:return e.prev=67,r.f(),e.finish(67);case 70:console.log("Successfully processed batch of",t.length,"events"),e.next=76;break;case 73:e.prev=73,e.t2=e.catch(8),console.error("Error processing batch:",e.t2);case 76:return e.prev=76,console.log("Resetting processing state"),this._isProcessing=!1,this.events.length>0&&(console.log("More events in queue, scheduling next batch"),this._scheduleNextBatch()),e.finish(76);case 81:case"end":return e.stop()}}),e,this,[[8,73,76,81],[10,64,67,70],[14,49]])}))),function(e){return a.apply(this,arguments)})},{key:"_removeEmptyFields",value:function(e){for(var t in e)null===e[t]||void 0===e[t]||""===e[t]?delete e[t]:"object"===tt(e[t])&&(this._removeEmptyFields(e[t]),0===Sr(e[t]).length&&delete e[t])}},{key:"_getEventName",value:function(e){if(e.eventName)return e.eventName;switch(e.type){case"APP_STATE":return"foreground"===e.state?"APP_FOREGROUND":"APP_BACKGROUND";case"USER_IDENTIFICATION":return"USER_IDENTIFICATION";case"SESSION_START":return"SESSION_START";case"HEART_BEAT":return"STATS";case"USER_SIGN_UP":return"USER_SIGN_UP";case"USER_SIGN_IN":return"USER_SIGN_IN";case"USER_SIGN_OUT":return"USER_SIGN_OUT";case"USER_PROFILE_UPDATE":return"USER_PROFILE_UPDATE";case"USER_PREFERENCE_UPDATE":return"USER_PREFERENCE_UPDATE";case"USER_SESSION_END":return"USER_SESSION_END";case"USER_INFO":return"USER_INFO";case"APP_PERFORMANCE":return"APP_PERFORMANCE";case"SUBSCRIPTION_VIEWED":return"SUBSCRIPTION_VIEWED";case"FEATURE_USAGE":return"FEATURE_USAGE";case"VIDEO_BUFFERING":return"VIDEO_BUFFERING";default:return e.type||""}}},{key:"_getEventType",value:function(e){if(e.eventType)return e.eventType;switch(e.type){case"APP_STATE":return"APP_STATE";case"USER_IDENTIFICATION":return"USER_IDENTIFICATION";case"SESSION_START":return"SESSION_START";case"HEART_BEAT":return"HEART_BEAT";case"USER_SIGN_UP":return"USER_SIGN_UP";case"USER_SIGN_IN":return"USER_SIGN_IN";case"USER_SIGN_OUT":return"USER_SIGN_OUT";case"USER_PROFILE_UPDATE":return"USER_PROFILE_UPDATE";case"USER_PREFERENCE_UPDATE":return"USER_PREFERENCE_UPDATE";case"USER_SESSION_END":return"USER_SESSION_END";case"USER_INFO":return"USER_INFO";case"APP_PERFORMANCE":return"APP_PERFORMANCE";case"SUBSCRIPTION_VIEWED":return"SUBSCRIPTION_VIEWED";case"FEATURE_USAGE":return"FEATURE_USAGE";case"VIDEO_BUFFERING":return"VIDEO_BUFFERING";default:return e.type||""}}},{key:"_getEventData",value:function(e){var t={type:e.type||e.eventType||"",timestamp:e.timestamp||vr(),payloadId:e.payloadId||this._generateUUID(),dataSrc:"Application",sessionId:e.sessionId||""};switch(e.type||e.eventType){case"APP_STATE":return ri(ri({},t),{},{state:e.state,appId:e.appId});case"USER_IDENTIFICATION":return ri(ri({},t),{},{userId:e.userId,email:e.email,demographics:e.demographics});case"SESSION_START":return ri(ri({},t),{},{sessionId:e.sessionId});case"HEART_BEAT":return ri(ri({},t),{},{eventName:"STATS"});default:return t}}},{key:"_generateUUID",value:function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}))}},{key:"_getScreenResolution",value:function(){if("undefined"!=typeof window&&window.screen){var e,t=window.screen.width,r=window.screen.height;return qr(e="".concat(t,"x")).call(e,r)}return""}},{key:"_scheduleRetry",value:function(e){var t=this,r=this._config.getConfig().retryDelay*Math.pow(2,(e.retryCount||0)-1),a=Ja((function(){t.events.push(e),t._retryTimeouts.delete(e.eventId),t.events.length>=t._config.getConfig().batchSize&&t._flush()}),r);this._retryTimeouts.set(e.eventId,a)}},{key:"destroy",value:(r=ft(pr.mark((function e(){var t,r,a,i;return pr.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(this._config){e.next=2;break}return e.abrupt("return");case 2:if(this._flushTimer&&(clearInterval(this._flushTimer),this._flushTimer=null),!(this.events.length>0)){e.next=6;break}return e.next=6,this._flush();case 6:r=Za(Pa(t=this._retryTimeouts).call(t));try{for(r.s();!(a=r.n()).done;)i=a.value,clearTimeout(i)}catch(e){r.e(e)}finally{r.f()}this._retryTimeouts.clear(),$a("mm_analytics_event_queue");case 10:case"end":return e.stop()}}),e,this)}))),function(){return r.apply(this,arguments)})},{key:"_shouldProcessBatch",value:function(){return!!this._config&&this.events.length>=this._getBatchSize()}},{key:"_getBatchSize",value:function(){return this._config.getConfig().batchSize}},{key:"_getRetryDelay",value:function(){return this._config.getConfig().retryDelay}},{key:"_getEndpoint",value:function(){return this._producerURL}},{key:"_processBatch",value:(t=ft(pr.mark((function e(){var t,r,a,i;return pr.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,r=this._getBatchSize(),a=qa(t=this.events).call(t,0,r),i=vr(),e.next=6,this._sendBatch(a);case 6:this._stats.lastProcessTime=vr()-i,e.next=12;break;case 9:e.prev=9,e.t0=e.catch(0),this._handleError(e.t0,"_processBatch");case 12:case"end":return e.stop()}}),e,this,[[0,9]])}))),function(){return t.apply(this,arguments)})},{key:"_retryFailedEvents",value:(e=ft(pr.mark((function e(){return pr.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:try{this._config.getConfig().retryDelay}catch(e){this._handleError(e,"_retryFailedEvents")}case 1:case"end":return e.stop()}}),e,this)}))),function(){return e.apply(this,arguments)})},{key:"_scheduleNextBatch",value:function(){var e=this;this._isProcessing?console.log("Already processing events, skipping next batch"):(console.log("Scheduling next batch processing"),Ja((function(){e.events.length>0&&(console.log("Processing next batch of",e.events.length,"events"),e._flush())}),this._config.getConfig().flushInterval))}},{key:"_handleError",value:function(e,t){console.error("Error in EventQueue (".concat(t,"):"),e)}}]);var e,t,r,a,i}(),ii=t(D.Object.entries);function ni(e,t){var r=Sr(e);if(Re){var a=Re(e);t&&(a=Ce(a).call(a,(function(t){return Le(e,t).enumerable}))),r.push.apply(r,a)}return r}function oi(e){for(var t=1;t<arguments.length;t++){var r,a,i=null!=arguments[t]?arguments[t]:{};t%2?Cr(r=ni(Object(i),!0)).call(r,(function(t){ot(e,t,i[t])})):Be?He(e,Be(i)):Cr(a=ni(Object(i))).call(a,(function(t){Ye(e,t,Le(i,t))}))}return e}var si=function(){return yt((function e(t,r){if(gt(this,e),!t)throw new Error("Event queue is required");this._eventQueue=t,this._config=r,this._producerURL="https://streamproducer-lcrr.mediamelon.com",this._statsInterval=-1,this._heartbeatIntervalId=null,this._isHeartbeatRunning=!1,this._currentPayload=null,this._eventPayloadKeys={streamID:{fields:["customerId","subscriberId","subscriberType","subscriberTag","sessionId","payloadId","dataSrc"],mappings:{customerId:"custId",payloadId:"pId"}},sdkInfo:{fields:["sdkVersion"]},appEventInfo:{fields:["eventName","eventType","eventData","currentScreen","isGraceful"]},userInfo:{fields:["profileId","userData","referralId","referralData"]},clientInfo:{fields:["appName","appVersion","deviceId","deviceType","deviceBrand","deviceModel","deviceMarketingName","osVersion","platform","screenRes","userAgent"],mappings:{screenRes:"scrnRes",userAgent:"ua"}},customTags:{fields:["customTags"]}}}),[{key:"setProducerURL",value:function(e){if(!e||"string"!=typeof e)throw new Error("Valid producer URL is required");this._producerURL=e,this._eventQueue.setProducerURL(e)}},{key:"setStatsInterval",value:function(e){if("number"!=typeof e)throw new Error("Stats interval must be a number");this._statsInterval=e}},{key:"startSendingHeartBeatPayload",value:function(){}},{key:"stopSendingHeartBeatPayload",value:function(){this._isHeartbeatRunning=!1,this._heartbeatIntervalId&&(clearInterval(this._heartbeatIntervalId),this._heartbeatIntervalId=null)}},{key:"updateCurrentPayload",value:function(e){var t,r,a,i,n,o,s,u,l,c,d,p,v,h,_,f,g,y,m;if(e){var E=["customerId","appName","appVersion"],I=Ce(E).call(E,(function(t){return!e[t]}));I.length>0&&console.warn("MM SDK: Missing required fields in payload: ".concat(I.join(", "))),this._currentPayload=oi(oi(oi({},this._currentPayload),e),{},{customerId:e.customerId||(null===(t=this._currentPayload)||void 0===t?void 0:t.customerId)||"",appName:e.appName||(null===(r=this._currentPayload)||void 0===r?void 0:r.appName)||"",appVersion:e.appVersion||(null===(a=this._currentPayload)||void 0===a?void 0:a.appVersion)||"",sdkVersion:e.sdkVersion||(null===(i=this._currentPayload)||void 0===i?void 0:i.sdkVersion)||"JSSDK1.0.0",sessionId:e.sessionId||(null===(n=this._currentPayload)||void 0===n?void 0:n.sessionId)||"",screenRes:e.screenRes||(null===(o=this._currentPayload)||void 0===o?void 0:o.screenRes)||this._getScreenResolution(),custId:e.customerId||e.custId||(null===(s=this._currentPayload)||void 0===s?void 0:s.custId)||"",subscriberId:e.subscriberId||(null===(u=this._currentPayload)||void 0===u?void 0:u.subscriberId)||"",subscriberType:e.subscriberType||(null===(l=this._currentPayload)||void 0===l?void 0:l.subscriberType)||"",subscriberTag:e.subscriberTag||(null===(c=this._currentPayload)||void 0===c?void 0:c.subscriberTag)||"",clientInfo:{appName:e.appName||(null===(d=this._currentPayload)||void 0===d||null===(d=d.clientInfo)||void 0===d?void 0:d.appName)||"",appVersion:e.appVersion||(null===(p=this._currentPayload)||void 0===p||null===(p=p.clientInfo)||void 0===p?void 0:p.appVersion)||"",scrnRes:e.screenRes||e.scrnRes||(null===(v=this._currentPayload)||void 0===v||null===(v=v.clientInfo)||void 0===v?void 0:v.scrnRes)||this._getScreenResolution(),ua:e.userAgent||(null===(h=this._currentPayload)||void 0===h||null===(h=h.clientInfo)||void 0===h?void 0:h.ua)||""},userInfo:{profileId:e.profileId||(null===(_=this._currentPayload)||void 0===_||null===(_=_.userInfo)||void 0===_?void 0:_.profileId)||"",userData:e.userData||(null===(f=this._currentPayload)||void 0===f||null===(f=f.userInfo)||void 0===f?void 0:f.userData)||{},referralId:e.referralId||(null===(g=this._currentPayload)||void 0===g||null===(g=g.userInfo)||void 0===g?void 0:g.referralId)||"",referralData:e.referralData||(null===(y=this._currentPayload)||void 0===y||null===(y=y.userInfo)||void 0===y?void 0:y.referralData)||{}},customTags:e.customTags||(null===(m=this._currentPayload)||void 0===m?void 0:m.customTags)||{}})}else console.warn("MM SDK: Attempting to update current payload with null/undefined value")}},{key:"publishEvent",value:function(e,t){if(this._currentPayload){console.log("[DEBUG] Publishing event: ".concat(e)),console.log("[DEBUG] Current payload sessionId: ".concat(this._currentPayload.sessionId)),console.log("[DEBUG] Event data sessionId: ".concat(null==t?void 0:t.sessionId));var r=oi(oi(oi({},this._currentPayload),t),{},{eventType:e,timestamp:vr(),payloadId:this._generateUUID(),pId:this._generateUUID(),dataSrc:"Application"});if(this._currentPayload.customerId&&(r.customerId=this._currentPayload.customerId),console.log("[DEBUG] Final payload sessionId: ".concat(r.sessionId)),!r.sessionId){var a,i,n=null===(a=this._config)||void 0===a||null===(i=a.getSessionId)||void 0===i?void 0:i.call(a);n?(r.sessionId=n,console.log("[DEBUG] Using session ID from config: ".concat(n))):console.warn("[DEBUG] No session ID available from config or payload")}var o={timestamp:r.timestamp,qubitData:[{streamID:{custId:r.customerId||r.custId||"",subscriberId:t.subscriberId||r.subscriberId||"",subscriberType:t.subscriberType||r.subscriberType||"",subscriberTag:t.subscriberTag||r.subscriberTag||"",sessionId:r.sessionId||"",pId:r.pId||"",dataSrc:"Application"},sdkInfo:{sdkVersion:r.sdkVersion||"JSSDK1.0.0"},appEventInfo:{eventName:this._getEventName(e,t),eventType:this._getEventType(e,t),currentScreen:r.currentScreen||"",isGraceful:r.isGraceful||!1,eventData:this._getEventSpecificData(oi(oi({},r),{},{type:e,customerId:t.customerId}),this._getEventType(e,t))},userInfo:{profileId:t.profileId||r.profileId||"",referralId:t.referralId||r.referralId||"",userData:t.userData||r.userData||{},referralData:t.referralData||r.referralData||{}},clientInfo:{appName:r.appName||"",appVersion:r.appVersion||"",deviceId:t.deviceId||r.deviceId||"",deviceType:t.deviceType||r.deviceType||"",deviceBrand:t.deviceBrand||r.deviceBrand||"",deviceModel:t.deviceModel||r.deviceModel||"",deviceMarketingName:t.deviceMarketingName||r.deviceMarketingName||"",osVersion:t.osVersion||r.osVersion||"",platform:t.platform||r.platform||"",scrnRes:r.screenRes||r.scrnRes||this._getScreenResolution(),ua:r.userAgent||r.ua||""},customTags:r.customTags||{}}]};console.log("[DEBUG] Before _removeEmptyFields:",Br(o,null,2)),this._removeEmptyFields(o),console.log("[DEBUG] After _removeEmptyFields:",Br(o,null,2)),this._eventQueue.addEvent({type:e,qubitData:o.qubitData,timestamp:r.timestamp})}else console.warn("MM SDK: Cannot publish event - current payload is not set")}},{key:"_getEventName",value:function(e,t){if(t.eventName)return t.eventName;var r={app_state:function(e){return"foreground"===e.state?"APP_FOREGROUND":"APP_BACKGROUND"},APP_STATE:function(e){return"foreground"===e.state?"APP_FOREGROUND":"APP_BACKGROUND"},user_identification:function(){return"USER_IDENTIFICATION"},user_preference_change:function(){return"USER_PREFERENCE_CHANGE"},session_start:function(){return"SESSION_START"},screen_view:function(){return"SCREEN_VIEW"},screen_exit:function(){return"SCREEN_EXIT"},HEART_BEAT:function(){return"STATS"},user_sign_up:function(){return"USER_SIGN_UP"},user_sign_in:function(){return"USER_SIGN_IN"},user_sign_out:function(){return"USER_SIGN_OUT"},user_profile_update:function(){return"USER_PROFILE_UPDATE"},user_preference_update:function(){return"USER_PREFERENCE_UPDATE"},user_session_start:function(){return"USER_SESSION_START"},user_session_end:function(){return"USER_SESSION_END"},user_info:function(){return"USER_INFO"},app_performance:function(){return"APP_PERFORMANCE"},subscription_viewed:function(){return"SUBSCRIPTION_VIEWED"},subscription_start:function(){return"SUBSCRIPTION_START"},subscription_renewal:function(){return"SUBSCRIPTION_RENEWAL"},subscription_cancellation:function(){return"SUBSCRIPTION_CANCELLATION"},subscription_upgrade:function(){return"SUBSCRIPTION_UPGRADE"},subscription_downgrade:function(){return"SUBSCRIPTION_DOWNGRADE"},payment_initiation:function(){return"PAYMENT_INITIATION"},payment_success:function(){return"PAYMENT_SUCCESS"},payment_failure:function(){return"PAYMENT_FAILURE"},payment_refund:function(){return"PAYMENT_REFUND"},ad_impression:function(){return"AD_IMPRESSION"},ad_click:function(){return"AD_CLICK"},ad_start:function(){return"AD_START"},ad_complete:function(){return"AD_COMPLETE"},ad_skip:function(){return"AD_SKIP"},ad_error:function(){return"AD_ERROR"},experiment_exposure:function(){return"EXPERIMENT_EXPOSURE"},experiment_activation:function(){return"EXPERIMENT_ACTIVATION"},feature_flag_evaluation:function(){return"FEATURE_FLAG_EVALUATION"},experiment_results:function(){return"EXPERIMENT_RESULTS"},feature_usage:function(){return"FEATURE_USAGE"},video_start:function(){return"VIDEO_START"},video_play:function(){return"VIDEO_PLAY"},video_pause:function(){return"VIDEO_PAUSE"},video_resume:function(){return"VIDEO_RESUME"},video_stop:function(){return"VIDEO_STOP"},video_complete:function(){return"VIDEO_COMPLETE"},video_seek:function(){return"VIDEO_SEEK"},video_buffering:function(){return"VIDEO_BUFFERING"},video_error:function(){return"VIDEO_ERROR"},video_quality_change:function(){return"VIDEO_QUALITY_CHANGE"},video_fullscreen:function(){return"VIDEO_FULLSCREEN"},video_exit_fullscreen:function(){return"VIDEO_EXIT_FULLSCREEN"},video_end:function(){return"VIDEO_END"},video_skip:function(){return"VIDEO_SKIP"},video_shared:function(){return"VIDEO_SHARED"},video_bookmarked:function(){return"VIDEO_BOOKMARKED"},video_liked:function(){return"VIDEO_LIKED"},video_commented:function(){return"VIDEO_COMMENTED"},video_rated:function(){return"VIDEO_RATED"},video_playback_speed_changed:function(){return"VIDEO_PLAYBACK_SPEED_CHANGED"},user_click:function(){return"USER_CLICK"},user_scroll:function(){return"USER_SCROLL"}}[e];return"function"==typeof r?r(t):r||e.toUpperCase()}},{key:"_getEventType",value:function(e,t){if(t.eventType)return t.eventType;if("app_state"===e)return"APP_STATE";var r={app_error:"APP_ERROR",user_identification:"USER_IDENTIFICATION",user_preference_change:"USER_PREFERENCE_CHANGE",session_start:"SESSION_START",screen_view:"SCREEN_VIEW",screen_exit:"SCREEN_EXIT",HEART_BEAT:"HEART_BEAT",user_sign_up:"USER_SIGN_UP",user_sign_in:"USER_SIGN_IN",user_sign_out:"USER_SIGN_OUT",user_profile_update:"USER_PROFILE_UPDATE",user_preference_update:"USER_PREFERENCE_UPDATE",user_session_start:"USER_SESSION_START",user_session_end:"USER_SESSION_END",user_info:"USER_INFO",app_performance:"APP_PERFORMANCE",subscription_viewed:"SUBSCRIPTION_VIEWED",subscription_start:"SUBSCRIPTION_START",subscription_renewal:"SUBSCRIPTION_RENEWAL",subscription_cancellation:"SUBSCRIPTION_CANCELLATION",subscription_upgrade:"SUBSCRIPTION_UPGRADE",subscription_downgrade:"SUBSCRIPTION_DOWNGRADE",payment_initiation:"PAYMENT_INITIATION",payment_success:"PAYMENT_SUCCESS",payment_failure:"PAYMENT_FAILURE",payment_refund:"PAYMENT_REFUND",ad_impression:"AD_IMPRESSION",ad_click:"AD_CLICK",ad_start:"AD_START",ad_complete:"AD_COMPLETE",ad_skip:"AD_SKIP",ad_error:"AD_ERROR",experiment_exposure:"EXPERIMENT_EXPOSURE",experiment_activation:"EXPERIMENT_ACTIVATION",feature_flag_evaluation:"FEATURE_FLAG_EVALUATION",experiment_results:"EXPERIMENT_RESULTS",feature_usage:"FEATURE_USAGE",video_start:"VIDEO_START",video_play:"VIDEO_PLAY",video_pause:"VIDEO_PAUSE",video_resume:"VIDEO_RESUME",video_stop:"VIDEO_STOP",video_complete:"VIDEO_COMPLETE",video_seek:"VIDEO_SEEK",video_buffering:"VIDEO_BUFFERING",video_error:"VIDEO_ERROR",video_quality_change:"VIDEO_QUALITY_CHANGE",video_fullscreen:"VIDEO_FULLSCREEN",video_exit_fullscreen:"VIDEO_EXIT_FULLSCREEN",video_end:"VIDEO_END",video_skip:"VIDEO_SKIP",video_shared:"VIDEO_SHARED",video_bookmarked:"VIDEO_BOOKMARKED",video_liked:"VIDEO_LIKED",video_commented:"VIDEO_COMMENTED",video_rated:"VIDEO_RATED",video_playback_speed_changed:"VIDEO_PLAYBACK_SPEED_CHANGED",user_click:"USER_CLICK",user_scroll:"USER_SCROLL"}[e];return"function"==typeof r?r(t):r||e.toUpperCase()}},{key:"_getEventSpecificData",value:function(e,t){console.log("[DEBUG] _getEventSpecificData called with eventType: ".concat(t));var r={SESSION_START:{sessionId:e.sessionId,startTime:e.startTime||e.timestamp,source:e.source,deviceInfo:e.deviceInfo,appInfo:e.appInfo},SESSION_END:{sessionId:e.sessionId,endTime:e.endTime||e.timestamp,sessionDuration:e.sessionDuration,source:e.source},APP_STATE:{state:e.state,timestamp:e.timestamp,metadata:e.metadata||{},trigger:e.trigger,sessionId:e.sessionId},NAVIGATION:{fromUrl:e.fromUrl,toUrl:e.toUrl,navigationType:e.navigationType,referrer:e.referrer,pageUrl:e.pageUrl},CLICK:{elementId:e.elementId,elementType:e.elementType,pageUrl:e.pageUrl,position:e.position,elementText:e.elementText,elementClass:e.elementClass},SCROLL_DEPTH:{scrollDepth:e.scrollDepth,scrollPercentage:e.scrollPercentage,pageUrl:e.pageUrl,scrollDirection:e.scrollDirection,scrollDistance:e.scrollDistance},PAYMENT_INITIATION:{paymentId:e.paymentId,amount:e.amount,currency:e.currency,method:e.method||e.paymentMethod,status:e.status||"initiated",transactionId:e.transactionId,orderId:e.orderId,customerId:e.customerId},PAYMENT_SUCCESS:{paymentId:e.paymentId,amount:e.amount,currency:e.currency,method:e.method||e.paymentMethod,status:e.status||"completed",transactionId:e.transactionId,receiptUrl:e.receiptUrl},PAYMENT_FAILURE:{paymentId:e.paymentId,amount:e.amount,currency:e.currency,method:e.method||e.paymentMethod,status:e.status||"failed",errorType:e.errorType,message:e.message,metadata:e.metadata||{}},PAYMENT_REFUND:{paymentId:e.paymentId,amount:e.amount,currency:e.currency,method:e.method||e.paymentMethod,status:e.status||"refunded",transactionId:e.transactionId,refundReason:e.refundReason,metadata:e.metadata||{}},SUBSCRIPTION_START:{subscriptionId:e.subscriptionId,planId:e.planId,planName:e.planName,amount:e.amount,currency:e.currency,duration:e.duration,measure:e.measure,status:e.status||"active"},SUBSCRIPTION_RENEWAL:{subscriptionId:e.subscriptionId,planId:e.planId,planName:e.planName,amount:e.amount,currency:e.currency,renewalDate:e.renewalDate,nextRenewalDate:e.nextRenewalDate},SUBSCRIPTION_CANCELLATION:{subscriptionId:e.subscriptionId,planId:e.planId,planName:e.planName,cancellationReason:e.cancellationReason,cancellationDate:e.cancellationDate,endDate:e.endDate},SUBSCRIPTION_EXPIRATION:{subscriptionId:e.subscriptionId,planId:e.planId,planName:e.planName,expirationDate:e.expirationDate,reason:e.reason},SUBSCRIPTION_UPGRADE:{subscriptionId:e.subscriptionId,oldPlanId:e.oldPlanId,oldPlanName:e.oldPlanName,newPlanId:e.newPlanId,newPlanName:e.newPlanName,upgradeReason:e.upgradeReason},SUBSCRIPTION_DOWNGRADE:{subscriptionId:e.subscriptionId,oldPlanId:e.oldPlanId,oldPlanName:e.oldPlanName,newPlanId:e.newPlanId,newPlanName:e.newPlanName,downgradeReason:e.downgradeReason},SUBSCRIPTION_VIEWED:{subscriptionId:e.subscriptionId,planId:e.planId,planName:e.planName,viewSource:e.viewSource,pageUrl:e.pageUrl},AD_IMPRESSION:{adId:e.adId,adType:e.adType,duration:e.duration},AD_CLICK:{adId:e.adId,adType:e.adType},AD_START:{adId:e.adId,adType:e.adType,duration:e.duration},AD_COMPLETE:{adId:e.adId,adType:e.adType,duration:e.duration,completionPercentage:e.completionPercentage},AD_SKIP:{adId:e.adId,adType:e.adType,skipTime:e.skipTime,skipReason:e.skipReason},AD_ERROR:{adId:e.adId,adType:e.adType,errorType:e.errorType,errorMessage:e.errorMessage},EXPERIMENT_EXPOSURE:{experimentId:e.experimentId,experimentName:e.experimentName,variantId:e.variantId,variantName:e.variantName,exposureType:e.exposureType,source:e.source,context:e.context},FEATURE_FLAG_EVALUATION:{experimentId:e.experimentId,experimentName:e.experimentName,variantId:e.variantId,variantName:e.variantName,evaluationType:e.evaluationType,source:e.source,context:e.context},EXPERIMENT_ACTIVATION:{experimentId:e.experimentId,experimentName:e.experimentName,variantId:e.variantId,variantName:e.variantName,activationType:e.activationType,source:e.source,context:e.context},EXPERIMENT_RESULTS:{experimentId:e.experimentId,experimentName:e.experimentName,variantId:e.variantId,variantName:e.variantName,resultType:e.resultType,resultValue:e.resultValue},FEATURE_USAGE:{featureId:e.featureId,featureName:e.featureName,action:e.action,usageType:e.usageType,source:e.source},APP_PERFORMANCE:{loadTime:e.loadTime,renderTime:e.renderTime,memoryUsage:e.memoryUsage,timestamp:e.timestamp,metadata:e.metadata},APP_FOREGROUND:{state:e.state,appId:e.appId,isGraceful:e.isGraceful||!1,timestamp:e.timestamp,metadata:e.metadata},APP_BACKGROUND:{state:e.state,appId:e.appId,isGraceful:e.isGraceful||!1,timestamp:e.timestamp,metadata:e.metadata},APP_ERROR:{errorCode:e.errorCode,errorMessage:e.errorMessage,stackTrace:e.stackTrace,timestamp:e.timestamp,metadata:e.metadata},APP_INTERRUPTION:{interruptionType:e.interruptionType,reason:e.reason,timestamp:e.timestamp,sessionId:e.sessionId,metadata:e.metadata||{}},VIDEO_START:{assetId:e.assetId,assetName:e.assetName,duration:e.duration,position:e.position,quality:e.quality,reason:e.reason},VIDEO_PLAY:{assetId:e.assetId,assetName:e.assetName,position:e.position,quality:e.quality},VIDEO_PAUSE:{assetId:e.assetId,assetName:e.assetName,position:e.position,reason:e.reason},VIDEO_RESUME:{assetId:e.assetId,assetName:e.assetName,position:e.position,quality:e.quality},VIDEO_STOP:{assetId:e.assetId,assetName:e.assetName,position:e.position,reason:e.reason},VIDEO_COMPLETE:{assetId:e.assetId,assetName:e.assetName,duration:e.duration,position:e.position,quality:e.quality},VIDEO_SEEK:{assetId:e.assetId,assetName:e.assetName,fromPosition:e.fromPosition,toPosition:e.toPosition,reason:e.reason},VIDEO_BUFFERING:{assetId:e.assetId,assetName:e.assetName,position:e.position,bufferTime:e.bufferTime,reason:e.reason},VIDEO_ERROR:{assetId:e.assetId,assetName:e.assetName,position:e.position,errorType:e.errorType,errorMessage:e.errorMessage},VIDEO_QUALITY_CHANGE:{assetId:e.assetId,assetName:e.assetName,position:e.position,fromQuality:e.fromQuality,toQuality:e.toQuality,reason:e.reason},VIDEO_QUALITY_CHANGED:{assetId:e.assetId,assetName:e.assetName,position:e.position,fromQuality:e.fromQuality,toQuality:e.toQuality,reason:e.reason},VIDEO_FULLSCREEN:{assetId:e.assetId,assetName:e.assetName,position:e.position,isFullscreen:e.isFullscreen},VIDEO_EXIT_FULLSCREEN:{assetId:e.assetId,assetName:e.assetName,position:e.position,isFullscreen:e.isFullscreen},VIDEO_END:{assetId:e.assetId,assetName:e.assetName,duration:e.duration,position:e.position,reason:e.reason},VIDEO_STATE:{assetId:e.assetId,assetName:e.assetName,state:e.state,position:e.position,quality:e.quality,reason:e.reason,metadata:e.metadata||{}},VIDEO_SKIP:{assetId:e.assetId,assetName:e.assetName,position:e.position,reason:e.reason},VIDEO_SHARED:{assetId:e.assetId,assetName:e.assetName,position:e.position,platform:e.platform,method:e.method},VIDEO_BOOKMARKED:{assetId:e.assetId,assetName:e.assetName,position:e.position,action:e.action},VIDEO_LIKED:{assetId:e.assetId,assetName:e.assetName,position:e.position,action:e.action},VIDEO_COMMENTED:{assetId:e.assetId,assetName:e.assetName,position:e.position,commentLength:e.commentLength,hasAttachment:e.hasAttachment},VIDEO_RATED:{assetId:e.assetId,assetName:e.assetName,position:e.position,rating:e.rating,maxRating:e.maxRating},VIDEO_PLAYBACK_SPEED_CHANGED:{assetId:e.assetId,assetName:e.assetName,position:e.position,fromSpeed:e.fromSpeed,toSpeed:e.toSpeed,reason:e.reason},USER_IDENTIFICATION:{userId:e.userId,email:e.email,name:e.name,age:e.age,location:e.location,userData:e.userData},USER_INFO:{userId:e.userId,email:e.email,name:e.name,age:e.age,location:e.location,userData:e.userData},SUBSCRIBER_INFO:{subscriberId:e.subscriberId,subscriberType:e.subscriberType,subscriberTag:e.subscriberTag,profileId:e.profileId,userData:e.userData},REFERRAL_INFO:{referralId:e.referralId,referralData:e.referralData,source:e.source,campaign:e.campaign,userData:e.userData},USER_SIGN_UP:{userId:e.userId,email:e.email,signUpMethod:e.signUpMethod,source:e.source,userData:e.userData},USER_SIGN_IN:{userId:e.userId,email:e.email,signInMethod:e.signInMethod,source:e.source,userData:e.userData},USER_SIGN_OUT:{userId:e.userId,signOutMethod:e.signOutMethod,sessionDuration:e.sessionDuration,userData:e.userData},USER_SESSION_START:{userId:e.userId,sessionId:e.sessionId,startTime:e.startTime,source:e.source,userData:e.userData},USER_SESSION_END:{userId:e.userId,sessionId:e.sessionId,endTime:e.endTime,sessionDuration:e.sessionDuration,userData:e.userData},USER_PREFERENCE_UPDATE:{userId:e.userId,preferenceType:e.preferenceType,oldValue:e.oldValue,newValue:e.newValue,userData:e.userData},USER_PROFILE_UPDATE:{userId:e.userId,updatedFields:e.updatedFields,oldValues:e.oldValues,newValues:e.newValues,userData:e.userData},USER_CLICK:{userId:e.userId,elementId:e.elementId,elementType:e.elementType,pageUrl:e.pageUrl,userData:e.userData},USER_SCROLL:{userId:e.userId,scrollDirection:e.scrollDirection,scrollDistance:e.scrollDistance,pageUrl:e.pageUrl,userData:e.userData},USER_PREFERENCE_CHANGE:{userId:e.userId,preferenceType:e.preferenceType,oldValue:e.oldValue,newValue:e.newValue,userData:e.userData},USER_INTERACTION:{userId:e.userId,interactionType:e.interactionType,elementId:e.elementId,elementType:e.elementType,pageUrl:e.pageUrl,userData:e.userData},USER_PREFERENCE:{userId:e.userId,preferenceType:e.preferenceType,preferenceValue:e.preferenceValue,pageUrl:e.pageUrl,userData:e.userData},USER_FEEDBACK:{userId:e.userId,feedbackType:e.feedbackType,feedbackValue:e.feedbackValue,feedbackText:e.feedbackText,pageUrl:e.pageUrl,userData:e.userData},SCREEN_VIEW:{screenName:e.screenName||e.currentScreen,screenId:e.screenId,previousScreen:e.previousScreen,screenType:e.screenType,timestamp:e.timestamp,metadata:e.metadata},SCREEN_EXIT:{screenName:e.screenName,screenId:e.screenId,duration:e.duration,timestamp:e.timestamp,metadata:e.metadata},SDK_SHUTDOWN:{timestamp:e.timestamp,sessionId:e.sessionId,reason:e.reason||"normal"},SDK_ERROR:{errorCode:e.errorCode,errorMessage:e.errorMessage,stackTrace:e.stackTrace,timestamp:e.timestamp,sessionId:e.sessionId,metadata:e.metadata||{}},STATS:{timestamp:e.timestamp,sessionId:e.sessionId,statsType:e.statsType||"heartbeat",metadata:e.metadata||{}}};console.log("[DEBUG] Looking up eventType: '".concat(t,"' in eventDataMap")),console.log("[DEBUG] Available keys in eventDataMap:",Sr(r));var a=r[t]||{};return console.log("[DEBUG] _getEventSpecificData returning eventData for ".concat(t,":"),a),this._convertEventDataToStrings(a)}},{key:"_convertEventDataToStrings",value:function(e){console.log("[DEBUG] _convertEventDataToStrings input:",e);for(var t={},r=0,a=ii(e);r<a.length;r++){var i=ba(a[r],2),n=i[0],o=i[1];if("metadata"!==n)if(null==o)t[n]="",console.log("[DEBUG] Converting ".concat(n,": null/undefined -> ''"));else if("object"!==tt(o)||ga(o))if(ga(o)){var s;t[n]=Br(o),console.log(qr(s="[DEBUG] Converting ".concat(n,": array -> '")).call(s,Br(o),"'"))}else{var u,l;t[n]=String(o),console.log(qr(u=qr(l="[DEBUG] Converting ".concat(n,": ")).call(l,tt(o)," -> '")).call(u,String(o),"'"))}else{var c;t[n]=Br(o),console.log(qr(c="[DEBUG] Converting ".concat(n,": object -> '")).call(c,Br(o),"'"))}else console.log("[DEBUG] Skipping metadata field: ".concat(n))}return console.log("[DEBUG] _convertEventDataToStrings output:",t),t}},{key:"_removeEmptyFields",value:function(e){for(var t in e)null===e[t]||void 0===e[t]||""===e[t]?delete e[t]:"object"!==tt(e[t])||ga(e[t])||(this._removeEmptyFields(e[t]),0===Sr(e[t]).length&&delete e[t])}},{key:"_generateUUID",value:function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}))}},{key:"_getScreenResolution",value:function(){if("undefined"!=typeof window&&window.screen){var e,t=window.screen.width,r=window.screen.height;return qr(e="".concat(t,"x")).call(e,r)}return""}}])}();function ui(e,t){var r=Sr(e);if(Re){var a=Re(e);t&&(a=Ce(a).call(a,(function(t){return Le(e,t).enumerable}))),r.push.apply(r,a)}return r}var li=function(){return yt((function e(t){gt(this,e),this._config=t,this._errorCallbacks=new ca,this._recoveryStrategies=new ca,this._errorHistory=[],this._maxHistorySize=100}),[{key:"handleError",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{},a=this._categorizeError(e,t,r);return this._addToHistory(a),this._recoveryStrategies.has(a.category)&&this._recoveryStrategies.get(a.category)(a),this._notifyErrorCallbacks(a),this._shouldReportError(e)&&this._reportError(a),!0}},{key:"onError",value:function(e,t){this._errorCallbacks.has(e)||this._errorCallbacks.set(e,new da),this._errorCallbacks.get(e).add(t)}},{key:"registerRecoveryStrategy",value:function(e,t){this._recoveryStrategies.set(e,t)}},{key:"getErrorHistory",value:function(){return la(this._errorHistory)}},{key:"clearErrorHistory",value:function(){this._errorHistory=[]}},{key:"_categorizeError",value:function(e,t,r){var a,i,n,o,s,u,l,c,d="unknown",p="error";return"NetworkError"===e.name||Ir(a=e.message).call(a,"network")?d="network":"ValidationError"===e.name||Ir(i=e.message).call(i,"validation")?d="validation":"StateError"===e.name||Ir(n=e.message).call(n,"state")?d="state":"ConfigurationError"===e.name||Ir(o=e.message).call(o,"config")?d="configuration":("StorageError"===e.name||Ir(s=e.message).call(s,"storage"))&&(d="storage"),e.critical||Ir(u=e.message).call(u,"critical")?p="critical":e.warning||Ir(l=e.message).call(l,"warning")?p="warning":(e.info||Ir(c=e.message).call(c,"info"))&&(p="info"),function(e){for(var t=1;t<arguments.length;t++){var r,a,i=null!=arguments[t]?arguments[t]:{};t%2?Cr(r=ui(Object(i),!0)).call(r,(function(t){ot(e,t,i[t])})):Be?He(e,Be(i)):Cr(a=ui(Object(i))).call(a,(function(t){Ye(e,t,Le(i,t))}))}return e}({timestamp:vr(),category:d,severity:p,context:t,message:e.message,stack:e.stack},r)}},{key:"_addToHistory",value:function(e){this._errorHistory.unshift(e),this._errorHistory.length>this._maxHistorySize&&this._errorHistory.pop()}},{key:"_notifyErrorCallbacks",value:function(e){var t,r;this._errorCallbacks.has(e.category)&&Cr(t=this._errorCallbacks.get(e.category)).call(t,(function(t){try{t(e)}catch(e){console.error("Error in error callback:",e)}})),this._errorCallbacks.has("*")&&Cr(r=this._errorCallbacks.get("*")).call(r,(function(t){try{t(e)}catch(e){console.error("Error in global error callback:",e)}}))}},{key:"_reportError",value:(e=ft(pr.mark((function e(t){var r,a;return pr.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return e.prev=0,r=this._getErrorEndpoint(),e.next=4,fetch(r,{method:"POST",headers:{"Content-Type":"application/json"},body:Br({error:t,metadata:this._config.getEventMetadata()})});case 4:if((a=e.sent).ok){e.next=7;break}throw new Error("Failed to report error: ".concat(a.status));case 7:e.next=12;break;case 9:e.prev=9,e.t0=e.catch(0),console.error("Error reporting to backend:",e.t0);case 12:case"end":return e.stop()}}),e,this,[[0,9]])}))),function(t){return e.apply(this,arguments)})},{key:"_shouldReportError",value:function(e){return this._config.getConfig().errorReporting}},{key:"_getErrorEndpoint",value:function(){return this._config.getConfig().errorEndpoint}},{key:"_createErrorEvent",value:function(e,t,r){return{error:e.message,context:t,timestamp:vr(),stack:e.stack,metadata:this._config.getEventMetadata()}}}]);var e}(),ci={DEBUG:"debug",INFO:"info",WARN:"warn",ERROR:"error"},di=ot(ot(ot(ot({},ci.DEBUG,0),ci.INFO,1),ci.WARN,2),ci.ERROR,3),pi=function(){return yt((function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};gt(this,e),this._config=t,this._logHistory=[],this._logCallbacks=new ca,this._maxHistorySize=t.maxLogHistorySize||1e3,this._enabled=!0,this._currentLevel=ci.INFO,this._userId=null}),[{key:"updateConfig",value:function(e){this._config=e,this._maxHistorySize=e.maxLogHistorySize||1e3}},{key:"setUserId",value:function(e){this._userId=e}},{key:"debug",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._log(ci.DEBUG,e,t)}},{key:"info",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._log(ci.INFO,e,t)}},{key:"warn",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._log(ci.WARN,e,t)}},{key:"error",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};this._log(ci.ERROR,e,t)}},{key:"setLogLevel",value:function(e){ci[e.toUpperCase()]&&(this._currentLevel=e.toLowerCase())}},{key:"setEnabled",value:function(e){this._enabled=e}},{key:"onLog",value:function(e,t){this._logCallbacks.has(e)||this._logCallbacks.set(e,new da),this._logCallbacks.get(e).add(t)}},{key:"_log",value:function(e,t,r){if(this._enabled&&!(di[e]<di[this._currentLevel])){var a={timestamp:vr(),level:e,message:t,data:r,userId:this._userId,context:this._getContext()};this._notifyCallbacks(a),this._consoleOutput(a)}}},{key:"_getContext",value:function(){return{sdkVersion:this._config.getAppInfo().sdkVersion,environment:this._config.getConfig().environment,appVersion:this._config.getAppInfo().appVersion,timestamp:vr()}}},{key:"_notifyCallbacks",value:function(e){var t,r;this._logCallbacks.has(e.level)&&Cr(t=this._logCallbacks.get(e.level)).call(t,(function(t){try{t(e)}catch(e){console.error("Error in log callback:",e)}})),this._logCallbacks.has("*")&&Cr(r=this._logCallbacks.get("*")).call(r,(function(t){try{t(e)}catch(e){console.error("Error in global log callback:",e)}}))}},{key:"_consoleOutput",value:function(e){var t,r,a,i=new Date(e.timestamp).toISOString(),n=e.userId?"[User: ".concat(e.userId,"]"):"",o=qr(t=qr(r=qr(a="[".concat(i,"] [")).call(a,e.level.toUpperCase(),"] ")).call(r,n," ")).call(t,e.message);switch(e.level){case ci.DEBUG:console.debug(o,e.data);break;case ci.INFO:console.info(o,e.data);break;case ci.WARN:console.warn(o,e.data);break;case ci.ERROR:console.error(o,e.data)}}},{key:"_createLogEntry",value:function(e,t,r){return{level:e,message:t,data:r,timestamp:vr(),sdkVersion:this._config.getAppInfo().sdkVersion,environment:this._config.getConfig().environment,appVersion:this._config.getAppInfo().appVersion}}}])}(),vi=t(De),hi=Ae("Array","indexOf"),_i=R,fi=hi,gi=Array.prototype,yi=t((function(e){var t=e.indexOf;return e===gi||_i(gi,e)&&t===gi.indexOf?fi:t}));function mi(e,t){if(null==e)return{};var r,a,i=function(e,t){if(null==e)return{};var r={};for(var a in e)if({}.hasOwnProperty.call(e,a)){if(-1!==yi(t).call(t,a))continue;r[a]=e[a]}return r}(e,t);if(vi){var n=vi(e);for(a=0;a<n.length;a++)r=n[a],-1===yi(t).call(t,r)&&{}.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}var Ei=t(9007199254740991),Ii=["type"],Si="type",bi="format",Ti="range",ki="state",Di={video:{states:["idle","loading","playing","paused","ended","error"],transitions:{null:["idle","loading","playing"],idle:["loading","playing"],loading:["playing","error"],playing:["paused","ended","error"],paused:["playing","ended"],ended:["idle","loading"],error:["idle"]}},app:{states:["foreground","background"],transitions:{null:["foreground","background"],foreground:["background"],background:["foreground"]}},screen:{states:["active","inactive"],transitions:{null:["active"],active:["inactive"],inactive:["active"]}}},Ri=function(){return yt((function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{};if(gt(this,e),!t)throw new Error("Config is required for Validator");this._config=t}),[{key:"updateConfig",value:function(e){this._config=e}},{key:"validateInitParams",value:function(e){if(!e||"object"!==tt(e))throw this._createError(Si,"Initialization parameters must be an object");var t=e.customerId,r=e.appId,a=e.appName,i=e.appVersion;this._validateRequired({customerId:t,appId:r,appName:a,appVersion:i}),this._validateType({customerId:{value:t,type:"string"},appId:{value:r,type:"string"},appName:{value:a,type:"string"},appVersion:{value:i,type:"string"}}),this._validateFormat({appVersion:{value:i,pattern:/^\d+\.\d+\.\d+$/}})}},{key:"validateEventData",value:function(e,t){if(!e||"string"!=typeof e)throw this._createError(Si,"eventName must be a string");if(!t||"object"!==tt(t))throw this._createError(Si,"eventData must be an object");switch(e){case"VIDEO_START":case"VIDEO_PAUSE":case"VIDEO_RESUME":case"VIDEO_SKIP":case"VIDEO_STOP":case"VIDEO_END":case"VIDEO_BUFFERING":case"VIDEO_STATE":this._validateVideoEvent(e,t);break;case"VIDEO_QUALITY_CHANGE":this._validateVideoQualityChange(t);break;case"SCREEN_VIEW":this._validateScreenView(t);break;case"SCREEN_EXIT":this._validateScreenExit(t);break;case"APP_STATE":this._validateAppState(t);break;case"APP_ERROR":case"ERROR":this._validateAppError(t);break;case"APP_PERFORMANCE":case"PERFORMANCE_METRICS":this._validatePerformanceMetrics(t);break;case"SUBSCRIPTION_START":case"SUBSCRIPTION_RENEWAL":case"SUBSCRIPTION_CANCELLATION":case"SUBSCRIPTION":var r=mi(t,Ii);this._validateSubscriptionEvent(e,r);break;case"EXPERIMENT_EXPOSURE":case"EXPERIMENT_ACTIVATION":case"FEATURE_FLAG_EVALUATION":this._validateExperimentEvent(e,t);break;case"USER_INFO":this._validateUserInfo(t);break;case"USER_SIGN_UP":case"USER_SIGN_IN":case"USER_SIGN_OUT":this._validateUserAuth(t);break;case"USER_SESSION_START":case"USER_PREFERENCE_CHANGE":this._validateUserEvent(t);break;case"PAYMENT_SUCCESS":case"PAYMENT_INITIATION":case"PAYMENT_FAILURE":case"PAYMENT_REFUND":this._validatePaymentEvent(t);break;case"AD_IMPRESSION":case"AD_CLICK":case"AD_START":case"AD_COMPLETE":case"AD_SKIP":case"AD_ERROR":this._validateAdEvent(t);break;case"USER_CLICK":this._validateUserClick(t);break;case"USER_SCROLL":this._validateUserScroll(t);break;case"USER_SESSION_END":this._validateUserSessionEnd(t);break;case"FEATURE_USAGE":this._validateFeatureUsage(t);break;case"custom":this._validateCustomEvent(t);break;default:t.type&&this._validateType({type:{value:t.type,type:"string"}})}}},{key:"validateStateTransition",value:function(e,t,r){var a;if(!r||"string"!=typeof r)throw this._createError(Si,"stateType must be a string");if(!t||"string"!=typeof t)throw this._createError(Si,"newState must be a string");var i,n=Di[r];if(!n)throw this._createError(ki,"Invalid state type: ".concat(r));if(!Ir(a=n.states).call(a,t))throw this._createError(ki,qr(i="Invalid state: ".concat(t,". Must be one of: ")).call(i,n.states.join(", ")));var o,s,u=e||"null",l=n.transitions[u];if(!l||!Ir(l).call(l,t))throw this._createError(ki,qr(o=qr(s="Invalid transition from ".concat(e||"null"," to ")).call(s,t," for ")).call(o,r))}},{key:"validateConfig",value:function(e){if(!e||"object"!==tt(e))throw this._createError(Si,"Configuration must be an object");this._validateRequired({endpoint:e.endpoint,batchSize:e.batchSize,flushInterval:e.flushInterval}),this._validateType({endpoint:{value:e.endpoint,type:"string"},batchSize:{value:e.batchSize,type:"number"},flushInterval:{value:e.flushInterval,type:"number"},maxRetries:{value:e.maxRetries,type:"number"},retryDelay:{value:e.retryDelay,type:"number"}}),this._validateRange({batchSize:{value:e.batchSize,min:1,max:1e3},flushInterval:{value:e.flushInterval,min:1e3,max:6e4},maxRetries:{value:e.maxRetries,min:0,max:10},retryDelay:{value:e.retryDelay,min:1e3,max:3e4}})}},{key:"_validateRequired",value:function(e){var t,r=this;Cr(t=ii(e)).call(t,(function(e){var t=ba(e,2),a=t[0],i=t[1];if(null==i||""===i)throw r._createError("required","".concat(a," is required"))}))}},{key:"_validateType",value:function(e){var t,r=this;Cr(t=ii(e)).call(t,(function(e){var t=ba(e,2),a=t[0],i=t[1],n=i.value,o=i.type;if(null!=n){var s,u,l=tt(n);if(l!==o)throw r._createError(Si,qr(s=qr(u="".concat(a," must be of type ")).call(u,o,", got ")).call(s,l))}}))}},{key:"_validateFormat",value:function(e){var t,r=this;Cr(t=ii(e)).call(t,(function(e){var t=ba(e,2),a=t[0],i=t[1],n=i.value,o=i.pattern;if(null!=n&&!o.test(n))throw r._createError(bi,"".concat(a," has invalid format"))}))}},{key:"_validateRange",value:function(e){var t,r=this;Cr(t=ii(e)).call(t,(function(e){var t,a,i=ba(e,2),n=i[0],o=i[1],s=o.value,u=o.min,l=o.max;if(null!=s&&(s<u||s>l))throw r._createError(Ti,qr(t=qr(a="".concat(n," must be between ")).call(a,u," and ")).call(t,l))}))}},{key:"_validateEnum",value:function(e){var t,r=this;Cr(t=ii(e)).call(t,(function(e){var t,a=ba(e,2),i=a[0],n=a[1],o=n.value,s=Pa(n);if(null!=o&&!Ir(s).call(s,o))throw r._createError("enum",qr(t="".concat(i," must be one of: ")).call(t,s.join(", ")))}))}},{key:"_validateVideoState",value:function(e){this._validateRequired({state:e.state}),this._validateEnum({state:{value:e.state,values:Di.video.states}}),void 0!==e.duration&&(this._validateType({duration:{value:e.duration,type:"number"}}),this._validateRange({duration:{value:e.duration,min:0,max:Ei}})),void 0!==e.currentTime&&(this._validateType({currentTime:{value:e.currentTime,type:"number"}}),this._validateRange({currentTime:{value:e.currentTime,min:0,max:e.duration||Ei}}))}},{key:"_validateScreenView",value:function(e){this._validateRequired({screenName:e.screenName}),this._validateType({screenName:{value:e.screenName,type:"string"},screenId:{value:e.screenId,type:"string"},previousScreen:{value:e.previousScreen,type:"string"}})}},{key:"_validateScreenExit",value:function(e){if(this._validateRequired({screenName:e.screenName,screenId:e.screenId,duration:e.duration}),this._validateType({screenName:{value:e.screenName,type:"string"},screenId:{value:e.screenId,type:"string"},duration:{value:e.duration,type:"number"},timestamp:{value:e.timestamp,type:"number"}}),e.duration<0)throw this._createError(Ti,"duration must be non-negative, got: ".concat(e.duration));e.metadata&&this._validateType({metadata:{value:e.metadata,type:"object"}})}},{key:"_validateAppState",value:function(e){this._validateRequired({state:e.state}),this._validateEnum({state:{value:e.state,values:Di.app.states}}),void 0!==e.timestamp&&this._validateType({timestamp:{value:e.timestamp,type:"number"}})}},{key:"_validateAppError",value:function(e){this._validateRequired({errorCode:e.errorCode,errorMessage:e.errorMessage}),this._validateType({errorCode:{value:e.errorCode,type:"string"},errorMessage:{value:e.errorMessage,type:"string"},stackTrace:{value:e.stackTrace,type:"string"},timestamp:{value:e.timestamp,type:"number"}}),e.metadata&&this._validateType({metadata:{value:e.metadata,type:"object"}})}},{key:"_validateUserInfo",value:function(e){this._validateRequired({userId:e.userId}),this._validateType({userId:{value:e.userId,type:"string"},userType:{value:e.userType,type:"string"},deviceId:{value:e.deviceId,type:"string"}})}},{key:"_validateUserAuth",value:function(e){if(this._validateRequired({userId:e.userId,email:e.email}),this._validateType({userId:{value:e.userId,type:"string"},email:{value:e.email,type:"string"},timestamp:{value:e.timestamp,type:"number"}}),!/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(e.email))throw this._createError(bi,"Invalid email format: ".concat(e.email));e.metadata&&this._validateType({metadata:{value:e.metadata,type:"object"}})}},{key:"_validateUserEvent",value:function(e){this._validateRequired({userId:e.userId}),this._validateType({userId:{value:e.userId,type:"string"},timestamp:{value:e.timestamp,type:"number"}}),e.metadata&&this._validateType({metadata:{value:e.metadata,type:"object"}})}},{key:"_validatePaymentEvent",value:function(e){this._validateRequired({paymentId:e.paymentId,amount:e.amount,currency:e.currency}),this._validateType({paymentId:{value:e.paymentId,type:"string"},amount:{value:e.amount,type:"number"},currency:{value:e.currency,type:"string"},timestamp:{value:e.timestamp,type:"number"}}),e.metadata&&this._validateType({metadata:{value:e.metadata,type:"object"}})}},{key:"_validateAdEvent",value:function(e){this._validateRequired({adId:e.adId,adType:e.adType}),this._validateType({adId:{value:e.adId,type:"string"},adType:{value:e.adType,type:"string"},adUnit:{value:e.adUnit,type:"string"},adNetwork:{value:e.adNetwork,type:"string"},duration:{value:e.duration,type:"number"},timestamp:{value:e.timestamp,type:"number"}}),e.metadata&&this._validateType({metadata:{value:e.metadata,type:"object"}}),e.clickPosition&&this._validateType({"clickPosition.x":{value:e.clickPosition.x,type:"number"},"clickPosition.y":{value:e.clickPosition.y,type:"number"}}),e.errorType&&this._validateType({errorType:{value:e.errorType,type:"string"},message:{value:e.message,type:"string"}})}},{key:"_validateCustomEvent",value:function(e){this._validateRequired({eventName:e.eventName}),this._validateType({eventName:{value:e.eventName,type:"string"}}),void 0!==e.eventData&&this._validateType({eventData:{value:e.eventData,type:"object"}})}},{key:"_validateVideoEvent",value:function(e,t){var r=this;if(this._validateRequired({assetId:t.assetId,assetName:t.assetName,duration:t.duration,position:t.position,quality:t.quality,reason:t.reason}),this._validateType({assetId:{value:t.assetId,type:"string"},assetName:{value:t.assetName,type:"string"},duration:{value:t.duration,type:"number"},position:{value:t.position,type:"number"},quality:{value:t.quality,type:"string"},reason:{value:t.reason,type:"string"}}),this._validateRange({duration:{value:t.duration,min:0,max:Ei},position:{value:t.position,min:0,max:t.duration||Ei}}),t.metadata){var a;this._validateType({metadata:{value:t.metadata,type:"object"}});var i=["playbackSpeed","bufferingTime","bitrate","resolution","playerVersion","playerType","category","language","subtitles","reason"];Cr(a=Sr(t.metadata)).call(a,(function(e){var t;if(!Ir(i).call(i,e))throw r._createError(bi,qr(t="Invalid metadata field: ".concat(e,". Must be one of: ")).call(t,i.join(", ")))})),void 0!==t.metadata.playbackSpeed&&this._validateType({"metadata.playbackSpeed":{value:t.metadata.playbackSpeed,type:"number"}}),void 0!==t.metadata.bufferingTime&&this._validateType({"metadata.bufferingTime":{value:t.metadata.bufferingTime,type:"number"}}),void 0!==t.metadata.bitrate&&this._validateType({"metadata.bitrate":{value:t.metadata.bitrate,type:"number"}}),void 0!==t.metadata.resolution&&this._validateType({"metadata.resolution":{value:t.metadata.resolution,type:"string"}}),void 0!==t.metadata.playerVersion&&this._validateType({"metadata.playerVersion":{value:t.metadata.playerVersion,type:"string"}}),void 0!==t.metadata.playerType&&this._validateType({"metadata.playerType":{value:t.metadata.playerType,type:"string"}})}}},{key:"_validateVideoQualityChange",value:function(e){var t=this;if(this._validateRequired({assetId:e.assetId,assetName:e.assetName,quality:e.quality,reason:e.reason}),this._validateType({assetId:{value:e.assetId,type:"string"},assetName:{value:e.assetName,type:"string"},quality:{value:e.quality,type:"string"},reason:{value:e.reason,type:"string"}}),e.metadata){var r;this._validateType({metadata:{value:e.metadata,type:"object"}});var a=["playbackSpeed","bufferingTime","bitrate","resolution","playerVersion","playerType","previousQuality"];Cr(r=Sr(e.metadata)).call(r,(function(e){var r;if(!Ir(a).call(a,e))throw t._createError(bi,qr(r="Invalid metadata field: ".concat(e,". Must be one of: ")).call(r,a.join(", ")))})),void 0!==e.metadata.previousQuality&&this._validateType({"metadata.previousQuality":{value:e.metadata.previousQuality,type:"string"}})}}},{key:"_validatePerformanceMetrics",value:function(e){var t,r=this;this._validateRequired({timestamp:e.timestamp,metrics:e.metrics}),this._validateType({timestamp:{value:e.timestamp,type:"number"},metrics:{value:e.metrics,type:"object"}});var a=["memoryUsage","cpuUsage","networkLatency","frameRate","loadTime","renderTime","jsHeapSize","jsHeapSizeLimit"];Cr(t=Sr(e.metrics)).call(t,(function(t){var i;if(!Ir(a).call(a,t))throw r._createError(bi,qr(i="Invalid metric field: ".concat(t,". Must be one of: ")).call(i,a.join(", ")));r._validateType(ot({},"metrics.".concat(t),{value:e.metrics[t],type:"number"}))})),e.metadata&&this._validateType({metadata:{value:e.metadata,type:"object"}})}},{key:"_validateSubscriptionEvent",value:function(e,t){var r=this;if(this._validateRequired({subscriptionId:t.subscriptionId,planId:t.planId,planName:t.planName,amount:t.amount,currency:t.currency,duration:t.duration,measure:t.measure,status:t.status}),this._validateType({subscriptionId:{value:t.subscriptionId,type:"string"},planId:{value:t.planId,type:"string"},planName:{value:t.planName,type:"string"},amount:{value:t.amount,type:"number"},currency:{value:t.currency,type:"string"},duration:{value:t.duration,type:"number"},measure:{value:t.measure,type:"string"},status:{value:t.status,type:"string"}}),t.metadata){var a;this._validateType({metadata:{value:t.metadata,type:"object"}});var i=["paymentMethod","autoRenew","trialPeriod","startDate","endDate","cancellationReason","source"];Cr(a=Sr(t.metadata)).call(a,(function(e){var t;if(!Ir(i).call(i,e))throw r._createError(bi,qr(t="Invalid metadata field: ".concat(e,". Must be one of: ")).call(t,i.join(", ")))}))}}},{key:"_validateExperimentEvent",value:function(e,t){var r=this;if(this._validateRequired({experimentId:t.experimentId,experimentName:t.experimentName,variantId:t.variantId,variantName:t.variantName,timestamp:t.timestamp}),this._validateType({experimentId:{value:t.experimentId,type:"string"},experimentName:{value:t.experimentName,type:"string"},variantId:{value:t.variantId,type:"string"},variantName:{value:t.variantName,type:"string"},timestamp:{value:t.timestamp,type:"number"}}),t.metadata){var a;this._validateType({metadata:{value:t.metadata,type:"object"}});var i=["exposureType","source","context","activationType","sessionId"];Cr(a=Sr(t.metadata)).call(a,(function(e){var t;if(!Ir(i).call(i,e))throw r._createError(bi,qr(t="Invalid metadata field: ".concat(e,". Must be one of: ")).call(t,i.join(", ")))})),t.metadata.context&&this._validateType({"metadata.context":{value:t.metadata.context,type:"object"}})}}},{key:"_validateUserClick",value:function(e){this._validateRequired({elementId:e.elementId,elementType:e.elementType}),this._validateType({elementId:{value:e.elementId,type:"string"},elementType:{value:e.elementType,type:"string"},pageUrl:{value:e.pageUrl,type:"string"},position:{value:e.position,type:"object"},timestamp:{value:e.timestamp,type:"number"}}),e.position&&this._validateType({"position.x":{value:e.position.x,type:"number"},"position.y":{value:e.position.y,type:"number"}})}},{key:"_validateUserScroll",value:function(e){this._validateRequired({scrollDepth:e.scrollDepth}),this._validateType({scrollDepth:{value:e.scrollDepth,type:"number"},scrollPercentage:{value:e.scrollPercentage,type:"number"},pageUrl:{value:e.pageUrl,type:"string"},timestamp:{value:e.timestamp,type:"number"}}),void 0!==e.scrollPercentage&&this._validateRange({scrollPercentage:{value:e.scrollPercentage,min:0,max:100}})}},{key:"_validateUserSessionEnd",value:function(e){this._validateRequired({userId:e.userId,sessionId:e.sessionId,timestamp:e.timestamp}),this._validateType({userId:{value:e.userId,type:"string"},sessionId:{value:e.sessionId,type:"string"},timestamp:{value:e.timestamp,type:"number"}}),e.metadata&&this._validateType({metadata:{value:e.metadata,type:"object"}})}},{key:"_validateFeatureUsage",value:function(e){this._validateRequired({featureId:e.featureId,featureName:e.featureName,action:e.action}),this._validateType({featureId:{value:e.featureId,type:"string"},featureName:{value:e.featureName,type:"string"},action:{value:e.action,type:"string"},timestamp:{value:e.timestamp,type:"number"}}),e.metadata&&this._validateType({metadata:{value:e.metadata,type:"object"}})}},{key:"_createError",value:function(e,t){var r=new Error(t);return r.type=e,r}}])}(),Ni=t(D.Reflect.construct);function wi(e,t){if(t&&("object"==tt(t)||"function"==typeof t))return t;if(void 0!==t)throw new TypeError("Derived constructors may only return object or undefined");return function(e){if(void 0===e)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}(e)}function Ai(e){var t;return Ai=zt?Bt(t=St).call(t):function(e){return e.__proto__||St(e)},Ai(e)}function Pi(e,t){var r;return Pi=zt?Bt(r=zt).call(r):function(e,t){return e.__proto__=t,e},Pi(e,t)}function Ui(e,t){if("function"!=typeof t&&null!==t)throw new TypeError("Super expression must either be null or a function");e.prototype=xt(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),at(e,"prototype",{writable:!1}),t&&Pi(e,t)}function xi(e,t){var r=Sr(e);if(Re){var a=Re(e);t&&(a=Ce(a).call(a,(function(t){return Le(e,t).enumerable}))),r.push.apply(r,a)}return r}function Oi(e){for(var t=1;t<arguments.length;t++){var r,a,i=null!=arguments[t]?arguments[t]:{};t%2?Cr(r=xi(Object(i),!0)).call(r,(function(t){ot(e,t,i[t])})):Be?He(e,Be(i)):Cr(a=xi(Object(i))).call(a,(function(t){Ye(e,t,Le(i,t))}))}return e}var Ci=function(){return yt((function e(t){if(gt(this,e),!t)throw new Error("Dependencies are required for tracker initialization");var r=t.config,a=t.eventPublisher,i=t.logger,n=t.validator,o=t.errorHandler,s=t.stateManager;if(!r)throw new Error("Config is required");if(!a)throw new Error("Event publisher is required");if(!i)throw new Error("Logger is required");if(!n)throw new Error("Validator is required");if(!o)throw new Error("Error handler is required");this._config=r,this._eventPublisher=a,this._logger=i,this._validator=n,this._errorHandler=o,this._stateManager=s}),[{key:"updateConfig",value:function(e){this._config=e}},{key:"_createEventData",value:function(e){var t=this._config.getDeviceInfo(),r=this._config.getAppInfo();return Oi(Oi({},e),{},{timestamp:this._getTimestamp(),sessionId:this._config.getSessionId(),deviceInfo:t,appInfo:r,deviceId:(null==t?void 0:t.deviceId)||"",deviceType:(null==t?void 0:t.deviceType)||"",deviceBrand:(null==t?void 0:t.deviceBrand)||"",deviceModel:(null==t?void 0:t.deviceModel)||"",deviceMarketingName:(null==t?void 0:t.deviceMarketingName)||"",osVersion:(null==t?void 0:t.osVersion)||"",platform:(null==t?void 0:t.platform)||"",profileId:this._config.get&&this._config.get("profileId")||"",userData:this._config.get&&this._config.get("userData")||{},referralId:this._config.get&&this._config.get("referralId")||"",referralData:this._config.get&&this._config.get("referralData")||{},subscriberId:this._config.get&&this._config.get("subscriberId")||"",subscriberType:this._config.get&&this._config.get("subscriberType")||"",subscriberTag:this._config.get&&this._config.get("subscriberTag")||"",pId:this._config.get&&this._config.get("pId")||this._config.get&&this._config.get("profileId")||""})}},{key:"_publishEvent",value:function(e,t){try{this._eventPublisher.publishEvent(e,t),this._logger.debug("Event published: ".concat(e),t)}catch(t){this._handleError(t,"_publishEvent","".concat(e,"_error"))}}},{key:"_handleError",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:"tracker_error";this._logger.error("Error in ".concat(t,":"),e),this._errorHandler.handleError(e,t,{eventType:r,tracker:this.constructor.name})}},{key:"_getTimestamp",value:function(){return vr()}}])}();function Vi(e,t){var r=Sr(e);if(Re){var a=Re(e);t&&(a=Ce(a).call(a,(function(t){return Le(e,t).enumerable}))),r.push.apply(r,a)}return r}function Mi(e){for(var t=1;t<arguments.length;t++){var r,a,i=null!=arguments[t]?arguments[t]:{};t%2?Cr(r=Vi(Object(i),!0)).call(r,(function(t){ot(e,t,i[t])})):Be?He(e,Be(i)):Cr(a=Vi(Object(i))).call(a,(function(t){Ye(e,t,Le(i,t))}))}return e}function Fi(){try{var e=!Boolean.prototype.valueOf.call(Ni(Boolean,[],(function(){})))}catch(e){}return(Fi=function(){return!!e})()}var Li=function(e){function t(e){var r,a,i;return gt(this,t),r=this,i=[Mi(Mi({},e),{},{stateManager:e.stateManager||new pa})],a=Ai(a=t),wi(r,Fi()?Ni(a,i||[],Ai(r).constructor):a.apply(r,i))}return Ui(t,e),yt(t,[{key:"reportVideoStart",value:function(e){try{this._validator.validateEventData("VIDEO_START",e);var t=this._createEventData(Mi(Mi({},e),{},{timestamp:vr()}));this._publishEvent("VIDEO_START",t),this._logger.debug("Video start reported",t)}catch(e){this._handleError(e,"reportVideoStart","video_error")}}},{key:"reportVideoPause",value:function(e){try{this._validator.validateEventData("VIDEO_PAUSE",e);var t=this._createEventData(Mi(Mi({},e),{},{timestamp:vr()}));this._publishEvent("VIDEO_PAUSE",t),this._logger.debug("Video pause reported",t)}catch(e){this._handleError(e,"reportVideoPause","video_error")}}},{key:"reportVideoResume",value:function(e){try{this._validator.validateEventData("VIDEO_RESUME",e);var t=this._createEventData(Mi(Mi({},e),{},{timestamp:vr()}));this._publishEvent("VIDEO_RESUME",t),this._logger.debug("Video resume reported",t)}catch(e){this._handleError(e,"reportVideoResume","video_error")}}},{key:"reportVideoSkip",value:function(e){try{this._validator.validateEventData("VIDEO_SKIP",e);var t=this._createEventData(Mi(Mi({},e),{},{timestamp:vr()}));this._publishEvent("VIDEO_SKIP",t),this._logger.debug("Video skip reported",t)}catch(e){this._handleError(e,"reportVideoSkip","video_error")}}},{key:"reportVideoStop",value:function(e){try{this._validator.validateEventData("VIDEO_STOP",e);var t=this._createEventData(Mi(Mi({},e),{},{timestamp:vr()}));this._publishEvent("VIDEO_STOP",t),this._logger.debug("Video stop reported",t)}catch(e){this._handleError(e,"reportVideoStop","video_error")}}},{key:"reportVideoEnd",value:function(e){try{this._validator.validateEventData("VIDEO_END",e);var t=this._createEventData(Mi(Mi({},e),{},{timestamp:vr()}));this._publishEvent("VIDEO_END",t),this._logger.debug("Video end reported",t)}catch(e){this._handleError(e,"reportVideoEnd","video_error")}}},{key:"reportVideoQualityChange",value:function(e){try{this._validator.validateEventData("VIDEO_QUALITY_CHANGE",e);var t=this._createEventData(e);this._publishEvent("VIDEO_QUALITY_CHANGE",t),this._logger.debug("Video quality change reported",t)}catch(e){throw this._handleError(e,"reportVideoQualityChange","video_error"),e}}},{key:"reportVideoBuffering",value:function(e){try{this._validator.validateEventData("VIDEO_BUFFERING",e);var t=this._createEventData(Mi(Mi({},e),{},{timestamp:vr()}));this._publishEvent("VIDEO_BUFFERING",t),this._logger.debug("Video buffering reported",t)}catch(e){throw this._handleError(e,"reportVideoBuffering","video_error"),e}}},{key:"reportVideoSeek",value:function(e){try{this._validator.validateEventData("VIDEO_SEEK",e);var t=this._createEventData(Mi(Mi({},e),{},{timestamp:vr()}));this._publishEvent("VIDEO_SEEK",t),this._logger.debug("Video seek reported",t)}catch(e){this._handleError(e,"reportVideoSeek","video_error")}}},{key:"reportVideoFullscreen",value:function(e){try{this._validator.validateEventData("VIDEO_FULLSCREEN",e);var t=this._createEventData(Mi(Mi({},e),{},{timestamp:vr()}));this._publishEvent("VIDEO_FULLSCREEN",t),this._logger.debug("Video fullscreen reported",t)}catch(e){this._handleError(e,"reportVideoFullscreen","video_error")}}},{key:"reportVideoExitFullscreen",value:function(e){try{this._validator.validateEventData("VIDEO_EXIT_FULLSCREEN",e);var t=this._createEventData(Mi(Mi({},e),{},{timestamp:vr()}));this._publishEvent("VIDEO_EXIT_FULLSCREEN",t),this._logger.debug("Video exit fullscreen reported",t)}catch(e){this._handleError(e,"reportVideoExitFullscreen","video_error")}}},{key:"reportVideoState",value:function(e){try{if(this._validator.validateEventData("VIDEO_STATE",e),e.state){var t=this._stateManager.getVideoState();if(this._validator.validateStateTransition(t,e.state,"video"),!this._stateManager.updateVideoState(e.state,e))throw new Error("Invalid state transition")}var r=this._createEventData(Mi(Mi({},e),{},{timestamp:vr()}));this._publishEvent("VIDEO_STATE",r),this._logger.debug("Video state reported",r)}catch(e){throw this._handleError(e,"reportVideoState","video_error"),e}}},{key:"getVideoState",value:function(){return this._stateManager.getVideoState()}}])}(Ci);function Bi(){try{var e=!Boolean.prototype.valueOf.call(Ni(Boolean,[],(function(){})))}catch(e){}return(Bi=function(){return!!e})()}var ji=function(e){function t(e){return gt(this,t),r=this,i=[e],a=Ai(a=t),wi(r,Bi()?Ni(a,i||[],Ai(r).constructor):a.apply(r,i));var r,a,i}return Ui(t,e),yt(t,[{key:"reportScreenView",value:function(e){try{this._validator.validateEventData("SCREEN_VIEW",e);var t=this._createEventData(e);this._publishEvent("SCREEN_VIEW",t),this._logger.debug("Screen view reported",t)}catch(e){throw this._handleError(e,"reportScreenView","screen_error"),e}}},{key:"reportScreenExit",value:function(e){try{this._validator.validateEventData("screen_exit",e);var t=this._createEventData(e);this._publishEvent("screen_exit",t),this._logger.debug("Screen exit reported",t)}catch(e){throw this._handleError(e,"reportScreenExit","screen_error"),e}}},{key:"getScreenState",value:function(){return this._stateManager.getScreenState()}}])}(Ci),zi="VIDEO_SHARED",Gi="VIDEO_BOOKMARKED",Hi="VIDEO_LIKED",qi="VIDEO_COMMENTED",Ki="VIDEO_RATED",Qi="VIDEO_QUALITY_CHANGED",Wi="VIDEO_PLAYBACK_SPEED_CHANGED",Yi="APP_STATE",Xi="APP_ERROR",Ji="APP_PERFORMANCE",$i="USER_SIGN_UP",Zi="USER_SESSION_START",en="USER_SESSION_END",tn="USER_PREFERENCE_UPDATE",rn="USER_PROFILE_UPDATE",an="SUBSCRIPTION_START",nn="SUBSCRIPTION_RENEWAL",on="SUBSCRIPTION_CANCELLATION",sn="SUBSCRIPTION_UPGRADE",un="SUBSCRIPTION_DOWNGRADE",ln="SUBSCRIPTION_EXPIRATION",cn="PAYMENT_SUCCESS",dn="PAYMENT_INITIATION",pn="PAYMENT_FAILURE",vn="PAYMENT_REFUND",hn="AD_START",_n="AD_COMPLETE",fn="AD_ERROR",gn="AD_IMPRESSION",yn="AD_CLICK",mn="AD_SKIP",En="EXPERIMENT_EXPOSURE";function In(){try{var e=!Boolean.prototype.valueOf.call(Ni(Boolean,[],(function(){})))}catch(e){}return(In=function(){return!!e})()}var Sn=function(e){function t(e){return gt(this,t),r=this,i=[e],a=Ai(a=t),wi(r,In()?Ni(a,i||[],Ai(r).constructor):a.apply(r,i));var r,a,i}return Ui(t,e),yt(t,[{key:"reportAppState",value:function(e){try{this._validator.validateEventData(Yi,e);var t=this._createEventData(e);this._publishEvent(Yi,t),this._logger.debug("Application state reported",t)}catch(e){this._handleError(e,"reportAppState","app_error")}}},{key:"reportAppError",value:function(e){try{this._validator.validateEventData(Xi,e);var t=this._createEventData(e);this._publishEvent(Xi,t),this._logger.debug("Application error reported",t)}catch(e){this._handleError(e,"reportAppError","app_error")}}},{key:"reportPerformanceMetrics",value:function(e){try{this._validator.validateEventData(Ji,e);var t=this._createEventData(e);this._publishEvent(Ji,t),this._logger.debug("Application performance metrics reported",t)}catch(e){this._handleError(e,"reportPerformanceMetrics","app_error")}}},{key:"getAppState",value:function(){return this._stateManager.getAppState()}},{key:"_validateAppData",value:function(e,t){if(!e||"object"!==tt(e))throw new Error("Invalid application data");this._validator.validateEventData(t,e)}}])}(Ci);function bn(){try{var e=!Boolean.prototype.valueOf.call(Ni(Boolean,[],(function(){})))}catch(e){}return(bn=function(){return!!e})()}var Tn=function(e){function t(e){return gt(this,t),r=this,i=[e],a=Ai(a=t),wi(r,bn()?Ni(a,i||[],Ai(r).constructor):a.apply(r,i));var r,a,i}return Ui(t,e),yt(t,[{key:"reportUserIdentification",value:function(e){try{this._validator.validateEventData($i,e);var t=this._createEventData(e);this._publishEvent($i,t)}catch(e){this._handleError(e,"reportUserIdentification","user_error")}}},{key:"reportUserProfileUpdate",value:function(e){try{this._validator.validateEventData(rn,e);var t=this._createEventData(e);this._publishEvent(rn,t)}catch(e){this._handleError(e,"reportUserProfileUpdate","user_error")}}},{key:"reportUserPreferenceUpdate",value:function(e){try{this._validator.validateEventData(tn,e);var t=this._createEventData(e);this._publishEvent(tn,t)}catch(e){this._handleError(e,"reportUserPreferenceUpdate","user_error")}}},{key:"reportUserSessionEnd",value:function(e){try{this._validator.validateEventData(en,e);var t=this._createEventData(e);this._publishEvent(en,t)}catch(e){this._handleError(e,"reportUserSessionEnd","user_error")}}},{key:"reportUserSessionStart",value:function(e){try{this._validator.validateEventData(Zi,e);var t=this._createEventData(e);this._publishEvent(Zi,t)}catch(e){this._handleError(e,"reportUserSessionStart","user_error")}}},{key:"reportUserPreferenceChange",value:function(e){try{this._validator.validateEventData(tn,e);var t=this._createEventData(e);this._publishEvent(tn,t)}catch(e){this._handleError(e,"reportUserPreferenceChange","user_error")}}}])}(Ci);function kn(e,t){var r=Sr(e);if(Re){var a=Re(e);t&&(a=Ce(a).call(a,(function(t){return Le(e,t).enumerable}))),r.push.apply(r,a)}return r}function Dn(e){for(var t=1;t<arguments.length;t++){var r,a,i=null!=arguments[t]?arguments[t]:{};t%2?Cr(r=kn(Object(i),!0)).call(r,(function(t){ot(e,t,i[t])})):Be?He(e,Be(i)):Cr(a=kn(Object(i))).call(a,(function(t){Ye(e,t,Le(i,t))}))}return e}var Rn=function(){return yt((function e(t){gt(this,e),this.sdk=t}),[{key:"reportSubscriberInfo",value:function(e){if(!e||"object"!==tt(e))throw new Error("data must be an object");if(!e.subscriberId||"string"!=typeof e.subscriberId)throw new Error("data.subscriberId must be a string");if(!e.planType||"string"!=typeof e.planType)throw new Error("data.planType must be a string");if(!e.segment||"string"!=typeof e.segment)throw new Error("data.segment must be a string");if(!e.profileId||"string"!=typeof e.profileId)throw new Error("data.profileId must be a string");this.sdk._eventPublisher.publishEvent("SUBSCRIBER_INFO",Dn(Dn({},e),{},{timestamp:vr()}))}},{key:"reportReferralInfo",value:function(e){if(!e||"object"!==tt(e))throw new Error("data must be an object");if(!e.referralId||"string"!=typeof e.referralId)throw new Error("data.referralId must be a string");if(!e.source||"string"!=typeof e.source)throw new Error("data.source must be a string");if(!e.medium||"string"!=typeof e.medium)throw new Error("data.medium must be a string");if(!e.campaign||"string"!=typeof e.campaign)throw new Error("data.campaign must be a string");this.sdk._eventPublisher.publishEvent("REFERRAL_INFO",Dn(Dn({},e),{},{timestamp:vr()}))}}])}(),Nn=t(Ft);function wn(e,t){var r=Sr(e);if(Re){var a=Re(e);t&&(a=Ce(a).call(a,(function(t){return Le(e,t).enumerable}))),r.push.apply(r,a)}return r}var An=function(){return yt((function e(t){var r,a,i,n,o;gt(this,e);var s=t.config,u=t.eventPublisher,l=t.logger,c=t.validator,d=t.errorHandler,p=t.stateManager;if(!s)throw new Error("Config is required");if(!u)throw new Error("Event publisher is required");if(!l)throw new Error("Logger is required");if(!c)throw new Error("Validator is required");if(!d)throw new Error("Error handler is required");if(!p)throw new Error("State manager is required");this._config=s,this._eventPublisher=u,this._logger=l,this._validator=c,this._errorHandler=d,this._stateManager=p,this._enabled=!1,this._isTracking=!1,this._lastActivity=vr(),this._activityTimeout=null,this._sessionTimeout=null,this._sessionStartTime=null,this._lastActivityTime=null,this._currentPath=null,this._previousPath=null,this._navigationStartTime=null,this._clickCount=0,this._lastClickTime=null,this._scrollDepth=0,this._maxScrollDepth=0,this._scrollStartTime=null,this._boundHandleSessionStart=Nn(r=this._handleSessionStart).call(r,this),this._boundHandleSessionEnd=Nn(a=this._handleSessionEnd).call(a,this),this._boundHandleNavigation=Nn(i=this._handleNavigation).call(i,this),this._boundHandleClick=Nn(n=this._handleClick).call(n,this),this._boundHandleScroll=Nn(o=this._handleScroll).call(o,this)}),[{key:"_initializeEventListeners",value:function(){var e=this;if("undefined"!=typeof window){if(window.addEventListener("load",this._boundHandleSessionStart),window.addEventListener("beforeunload",this._boundHandleSessionEnd),window.addEventListener("popstate",this._boundHandleNavigation),"undefined"!=typeof history){var t=history.pushState;history.pushState=function(){for(var r=arguments.length,a=new Array(r),i=0;i<r;i++)a[i]=arguments[i];t.apply(history,a),e._boundHandleNavigation()}}document.addEventListener("click",this._boundHandleClick),window.addEventListener("scroll",this._boundHandleScroll)}}},{key:"_handleSessionStart",value:function(){if(console.log("[AUTO-COLLECTION] _handleSessionStart called, _enabled:",this._enabled),this._enabled&&!this._isTracking){this._isTracking=!0,this._lastActivity=vr(),this._resetTimers();try{this._sessionStartTime=vr(),this._lastActivityTime=this._sessionStartTime;var e=this._createEventData("session_start",{sessionId:this._config.getSessionId(),deviceInfo:this._config.getDeviceInfo(),appInfo:this._config.getAppInfo()});this._eventPublisher.publishEvent("session_start",e),this._logger.debug("Session started",{sessionId:this._config.getSessionId()})}catch(e){this._handleError(e,"session_start")}}}},{key:"_handleSessionEnd",value:function(){if(this._enabled&&this._isTracking)try{var e=vr()-this._sessionStartTime,t=this._createEventData("session_end",{sessionId:this._config.getSessionId(),deviceInfo:this._config.getDeviceInfo(),appInfo:this._config.getAppInfo(),duration:e});this._eventPublisher.publishEvent("session_end",t),this._logger.debug("Session ended",{sessionId:this._config.getSessionId()}),this._isTracking=!1,this._clearTimers()}catch(e){this._handleError(e,"session_end")}}},{key:"_handleNavigation",value:function(){if(this._enabled)try{var e=window.location.pathname;if(e===this._currentPath)return;this._previousPath=this._currentPath,this._currentPath=e,this._navigationStartTime=vr();var t=this._createEventData("navigation",{currentPath:this._currentPath,previousPath:this._previousPath,referrer:document.referrer});this._eventPublisher.publishEvent("navigation",t),this._logger.debug("Navigation tracked",{path:this._currentPath})}catch(e){this._handleError(e,"navigation")}}},{key:"_handleClick",value:function(e){if(console.log("[AUTO-COLLECTION] _handleClick called, _enabled:",this._enabled),this._enabled)try{var t;this._clickCount++,this._lastClickTime=vr(),this._lastActivityTime=this._lastClickTime;var r=e.target,a=this._createEventData("click",{position:{x:e.clientX,y:e.clientY},target:{tagName:r.tagName,id:r.id,className:r.className,text:null===(t=r.textContent)||void 0===t?void 0:Xa(t).call(t).substring(0,100),href:r.href,type:r.type}});this._eventPublisher.publishEvent("click",a),this._logger.debug("Click tracked",{position:{x:e.clientX,y:e.clientY}})}catch(e){this._handleError(e,"click")}}},{key:"_handleScroll",value:function(){if(this._enabled)if(this._config&&this._logger&&this._eventPublisher)try{var e=window.pageYOffset||document.documentElement.scrollTop,t=document.documentElement.scrollHeight||document.body.scrollHeight,r=document.documentElement.clientHeight;if(t<=0||r<=0)return;var a=(e+r)/t*100;if(a>this._maxScrollDepth){this._maxScrollDepth=a,this._scrollStartTime=this._scrollStartTime||vr(),this._lastActivityTime=vr();var i=this._createEventData("scroll_depth",{depth:a,scrollTop:e,scrollHeight:t,clientHeight:r});this._eventPublisher.publishEvent("scroll_depth",i),this._logger.debug("Scroll tracked",{depth:a})}}catch(e){this._handleError(e,"scroll")}else console.warn("AutoCollectionManager not fully initialized")}},{key:"_handleError",value:function(e,t){try{var r=e instanceof Error?e.message:String(e);this._logger&&this._logger.error("Error in ".concat(t,":"),e),this._eventPublisher&&this._eventPublisher.publishEvent("auto_collection_error",{error:r,context:t,timestamp:vr()})}catch(r){console.error("Error in error handler:",r),console.error("Original error:",e),console.error("Context:",t)}}},{key:"getSessionInfo",value:function(){return{sessionId:this._config.getSessionId(),startTime:this._sessionStartTime,lastActivityTime:this._lastActivityTime,clickCount:this._clickCount,maxScrollDepth:this._maxScrollDepth}}},{key:"getNavigationInfo",value:function(){return{currentPath:this._currentPath,previousPath:this._previousPath,navigationStartTime:this._navigationStartTime}}},{key:"setEnabled",value:function(e){console.log("[AUTO-COLLECTION] setEnabled called with:",e),this._enabled=e,e?(console.log("[AUTO-COLLECTION] Initializing event listeners"),this._initializeEventListeners()):(console.log("[AUTO-COLLECTION] Removing event listeners"),this._removeEventListeners())}},{key:"_removeEventListeners",value:function(){"undefined"!=typeof window&&(window.removeEventListener("load",this._boundHandleSessionStart),window.removeEventListener("beforeunload",this._boundHandleSessionEnd),window.removeEventListener("popstate",this._boundHandleNavigation),document.removeEventListener("click",this._boundHandleClick),window.removeEventListener("scroll",this._boundHandleScroll))}},{key:"_resetTimers",value:function(){var e=this;this._activityTimeout=Ja((function(){e._endSession()}),this._config.getActivityTimeout()),this._sessionTimeout=Ja((function(){e._endSession()}),this._config.getSessionTimeout())}},{key:"_clearTimers",value:function(){clearTimeout(this._activityTimeout),clearTimeout(this._sessionTimeout)}},{key:"_createEventData",value:function(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:{};return function(e){for(var t=1;t<arguments.length;t++){var r,a,i=null!=arguments[t]?arguments[t]:{};t%2?Cr(r=wn(Object(i),!0)).call(r,(function(t){ot(e,t,i[t])})):Be?He(e,Be(i)):Cr(a=wn(Object(i))).call(a,(function(t){Ye(e,t,Le(i,t))}))}return e}({timestamp:vr(),sessionId:this._config.getSessionId(),deviceInfo:this._config.getDeviceInfo(),appInfo:this._config.getAppInfo()},t)}}])}(),Pn=["metadata"],Un=["metadata"];function xn(e,t){var r=Sr(e);if(Re){var a=Re(e);t&&(a=Ce(a).call(a,(function(t){return Le(e,t).enumerable}))),r.push.apply(r,a)}return r}function On(e){for(var t=1;t<arguments.length;t++){var r,a,i=null!=arguments[t]?arguments[t]:{};t%2?Cr(r=xn(Object(i),!0)).call(r,(function(t){ot(e,t,i[t])})):Be?He(e,Be(i)):Cr(a=xn(Object(i))).call(a,(function(t){Ye(e,t,Le(i,t))}))}return e}function Cn(){try{var e=!Boolean.prototype.valueOf.call(Ni(Boolean,[],(function(){})))}catch(e){}return(Cn=function(){return!!e})()}var Vn=function(e){function t(e){return gt(this,t),r=this,i=[e],a=Ai(a=t),wi(r,Cn()?Ni(a,i||[],Ai(r).constructor):a.apply(r,i));var r,a,i}return Ui(t,e),yt(t,[{key:"reportSubscriptionStart",value:function(e){try{this._validator.validateEventData(an,e);var t=this._createEventData(e);this._publishEvent(an,t)}catch(e){this._handleError(e,"reportSubscriptionStart","subscription_error")}}},{key:"reportSubscriptionRenewal",value:function(e){try{var t=e.metadata,r=mi(e,Pn),a={paymentMethod:null==t?void 0:t.paymentMethod,autoRenew:null==t?void 0:t.autoRenew,trialPeriod:null==t?void 0:t.trialPeriod,startDate:(null==t?void 0:t.renewalDate)||(null==t?void 0:t.startDate),endDate:(null==t?void 0:t.nextRenewalDate)||(null==t?void 0:t.endDate)},i=this._createEventData(On(On({},r),{},{metadata:a}));this._validator.validateEventData(nn,i),this._publishEvent(nn,i)}catch(e){this._handleError(e,"reportSubscriptionRenewal","subscription_error")}}},{key:"reportSubscriptionCancellation",value:function(e){try{var t=e.metadata,r=mi(e,Un),a={paymentMethod:null==t?void 0:t.paymentMethod,autoRenew:null==t?void 0:t.autoRenew,trialPeriod:null==t?void 0:t.trialPeriod,startDate:null==t?void 0:t.startDate,endDate:(null==t?void 0:t.cancellationDate)||(null==t?void 0:t.endDate),cancellationReason:(null==t?void 0:t.reason)||(null==t?void 0:t.cancellationReason)},i=this._createEventData(On(On({},r),{},{metadata:a}));this._validator.validateEventData(on,i),this._publishEvent(on,i)}catch(e){this._handleError(e,"reportSubscriptionCancellation","subscription_error")}}},{key:"reportSubscriptionExpiration",value:function(e){try{this._validator.validateEventData(ln,e);var t=this._createEventData(e);this._publishEvent(ln,t)}catch(e){this._handleError(e,"reportSubscriptionExpiration","subscription_error")}}},{key:"reportSubscriptionUpgrade",value:function(e){try{this._validator.validateEventData(sn,e);var t=this._createEventData(e);this._publishEvent(sn,t)}catch(e){this._handleError(e,"reportSubscriptionUpgrade","subscription_error")}}},{key:"reportSubscriptionDowngrade",value:function(e){try{this._validator.validateEventData(un,e);var t=this._createEventData(e);this._publishEvent(un,t)}catch(e){this._handleError(e,"reportSubscriptionDowngrade","subscription_error")}}},{key:"reportSubscriptionViewed",value:function(e){try{if(!e||"object"!==tt(e))throw new Error("data must be an object");if(!e.planId||"string"!=typeof e.planId)throw new Error("data.planId must be a string");var t=this._createEventData(e);this._validator.validateEventData("SUBSCRIPTION_VIEWED",t),this._publishEvent("SUBSCRIPTION_VIEWED",t)}catch(e){this._handleError(e,"reportSubscriptionViewed","subscription_error")}}},{key:"getSubscriptionState",value:function(){return this._stateManager.getSubscriptionState()}},{key:"_validateSubscriptionData",value:function(e){if(!e||"object"!==tt(e))throw new Error("Invalid subscription data");for(var t=0,r=["subscriptionId","planId","planName","amount","currency","duration","measure","status"];t<r.length;t++){var a=r[t];if(!e[a])throw new Error("Missing required field: ".concat(a))}if(e.metadata)for(var i=["trialPeriod","renewalDate","cancellationDate","paymentMethod","billingCycle","discountCode","promotionId"],n=0,o=Sr(e.metadata);n<o.length;n++){var s=o[n];if(!Ir(i).call(i,s))throw new Error("Invalid metadata field: ".concat(s))}}}])}(Ci);function Mn(){try{var e=!Boolean.prototype.valueOf.call(Ni(Boolean,[],(function(){})))}catch(e){}return(Mn=function(){return!!e})()}var Fn=function(e){function t(e){return gt(this,t),r=this,i=[e],a=Ai(a=t),wi(r,Mn()?Ni(a,i||[],Ai(r).constructor):a.apply(r,i));var r,a,i}return Ui(t,e),yt(t,[{key:"reportPaymentInitiation",value:function(e){try{this._validator.validateEventData(dn,e);var t=this._createEventData(e);this._publishEvent(dn,t),this._stateManager.updatePaymentState("initiated",e),this._logger.debug("Payment initiation reported",e)}catch(e){this._handleError(e,"reportPaymentInitiation","payment_error")}}},{key:"reportPaymentSuccess",value:function(e){try{this._validator.validateEventData(cn,e);var t=this._createEventData(e);this._publishEvent(cn,t),this._stateManager.updatePaymentState("success",e),this._logger.debug("Payment success reported",e)}catch(e){this._handleError(e,"reportPaymentSuccess","payment_error")}}},{key:"reportPaymentFailure",value:function(e){try{this._validator.validateEventData(pn,e);var t=this._createEventData(e);this._publishEvent(pn,t),this._stateManager.updatePaymentState("failed",e),this._logger.debug("Payment failure reported",e)}catch(e){this._handleError(e,"reportPaymentFailure","payment_error")}}},{key:"reportPaymentRefund",value:function(e){try{this._validator.validateEventData(vn,e);var t=this._createEventData(e);this._publishEvent(vn,t),this._stateManager.updatePaymentState("refunded",e),this._logger.debug("Payment refund reported",e)}catch(e){this._handleError(e,"reportPaymentRefund","payment_error")}}},{key:"getPaymentState",value:function(){try{return this._stateManager.getPaymentState()}catch(e){return this._handleError(e,"getPaymentState","payment_error"),null}}}])}(Ci);function Ln(){try{var e=!Boolean.prototype.valueOf.call(Ni(Boolean,[],(function(){})))}catch(e){}return(Ln=function(){return!!e})()}var Bn=function(e){function t(e){return gt(this,t),r=this,i=[e],a=Ai(a=t),wi(r,Ln()?Ni(a,i||[],Ai(r).constructor):a.apply(r,i));var r,a,i}return Ui(t,e),yt(t,[{key:"reportAdStart",value:function(e){try{this._validator.validateEventData(hn,e);var t=this._createEventData(e);this._publishEvent(hn,t)}catch(e){this._handleError(e,"reportAdStart","ad_error")}}},{key:"reportAdImpression",value:function(e){try{this._validator.validateEventData(gn,e);var t=this._createEventData(e);this._publishEvent(gn,t)}catch(e){this._handleError(e,"reportAdImpression","ad_error")}}},{key:"reportAdClick",value:function(e){try{this._validator.validateEventData(yn,e);var t=this._createEventData(e);this._publishEvent(yn,t)}catch(e){this._handleError(e,"reportAdClick","ad_error")}}},{key:"reportAdComplete",value:function(e){try{this._validator.validateEventData(_n,e);var t=this._createEventData(e);this._publishEvent(_n,t)}catch(e){this._handleError(e,"reportAdComplete","ad_error")}}},{key:"reportAdSkip",value:function(e){try{this._validator.validateEventData(mn,e);var t=this._createEventData(e);this._publishEvent(mn,t)}catch(e){this._handleError(e,"reportAdSkip","ad_error")}}},{key:"reportAdError",value:function(e){try{this._validator.validateEventData(fn,e);var t=this._createEventData(e);this._publishEvent(fn,t)}catch(e){this._handleError(e,"reportAdError","ad_error")}}},{key:"getAdState",value:function(){return this._stateManager.getAdState()}}])}(Ci);function jn(){try{var e=!Boolean.prototype.valueOf.call(Ni(Boolean,[],(function(){})))}catch(e){}return(jn=function(){return!!e})()}var zn=function(e){function t(e){return gt(this,t),r=this,i=[e],a=Ai(a=t),wi(r,jn()?Ni(a,i||[],Ai(r).constructor):a.apply(r,i));var r,a,i}return Ui(t,e),yt(t,[{key:"reportExperimentExposure",value:function(e){this._validator.validateEventData(En,e);var t=this._createEventData(e);this._publishEvent(En,t),this._logger.debug("Experiment exposure reported",t)}},{key:"reportExperimentActivation",value:function(e){this._validator.validateEventData("experiment_activation",e);var t=this._createEventData(e);this._publishEvent("experiment_activation",t),this._logger.debug("Experiment activation reported",t)}},{key:"reportFeatureFlagEvaluation",value:function(e){this._validator.validateEventData("feature_flag_evaluation",e);var t=this._createEventData(e);this._publishEvent("feature_flag_evaluation",t),this._logger.debug("Feature flag evaluation reported",t)}}])}(Ci);function Gn(){try{var e=!Boolean.prototype.valueOf.call(Ni(Boolean,[],(function(){})))}catch(e){}return(Gn=function(){return!!e})()}var Hn=function(e){function t(e){return gt(this,t),r=this,i=[e],a=Ai(a=t),wi(r,Gn()?Ni(a,i||[],Ai(r).constructor):a.apply(r,i));var r,a,i}return Ui(t,e),yt(t,[{key:"reportUserSignUp",value:function(e){this._validator.validateEventData("user_sign_up",e);var t=this._createEventData(e);this._publishEvent("user_sign_up",t),this._logger.debug("User sign up reported",t)}},{key:"reportUserSignIn",value:function(e){this._validator.validateEventData("user_sign_in",e);var t=this._createEventData(e);this._publishEvent("user_sign_in",t),this._logger.debug("User sign in reported",t)}},{key:"reportUserSignOut",value:function(e){this._validator.validateEventData("user_sign_out",e);var t=this._createEventData(e);this._publishEvent("user_sign_out",t),this._logger.debug("User sign out reported",t)}},{key:"reportUserProfileUpdate",value:function(e){this._validator.validateEventData("user_profile_update",e);var t=this._createEventData(e);this._publishEvent("user_profile_update",t),this._logger.debug("User profile update reported",t)}}])}(Ci);function qn(){try{var e=!Boolean.prototype.valueOf.call(Ni(Boolean,[],(function(){})))}catch(e){}return(qn=function(){return!!e})()}var Kn=function(e){function t(e){return gt(this,t),r=this,i=[e],a=Ai(a=t),wi(r,qn()?Ni(a,i||[],Ai(r).constructor):a.apply(r,i));var r,a,i}return Ui(t,e),yt(t,[{key:"reportFeatureUsage",value:function(e){try{this._validator.validateEventData("feature_usage",e);var t=this._createEventData(e);this._publishEvent("feature_usage",t),this._logger.debug("Feature usage reported",t)}catch(e){this._handleError(e,"reportFeatureUsage","feature_usage_error")}}}])}(Ci);function Qn(){try{var e=!Boolean.prototype.valueOf.call(Ni(Boolean,[],(function(){})))}catch(e){}return(Qn=function(){return!!e})()}var Wn=function(e){function t(e){return gt(this,t),r=this,i=[e],a=Ai(a=t),wi(r,Qn()?Ni(a,i||[],Ai(r).constructor):a.apply(r,i));var r,a,i}return Ui(t,e),yt(t,[{key:"reportUserInteraction",value:function(e){try{this._validator.validateEventData("user_interaction",e);var t=this._createEventData(e);this._publishEvent("user_interaction",t),this._logger.debug("User interaction reported",t)}catch(e){this._handleError(e,"reportUserInteraction","user_interaction_error")}}},{key:"reportUserPreference",value:function(e){try{this._validator.validateEventData("user_preference",e);var t=this._createEventData(e);this._publishEvent("user_preference",t),this._logger.debug("User preference reported",t)}catch(e){this._handleError(e,"reportUserPreference","user_preference_error")}}},{key:"reportUserFeedback",value:function(e){try{this._validator.validateEventData("user_feedback",e);var t=this._createEventData(e);this._publishEvent("user_feedback",t),this._logger.debug("User feedback reported",t)}catch(e){this._handleError(e,"reportUserFeedback","user_feedback_error")}}},{key:"reportUserClick",value:function(e){try{this._validator.validateEventData("user_click",e);var t=this._createEventData(e);this._publishEvent("user_click",t),this._logger.debug("User click reported",t)}catch(e){throw this._handleError(e,"reportUserClick","user_click_error"),e}}},{key:"reportUserScroll",value:function(e){try{this._validator.validateEventData("user_scroll",e);var t=this._createEventData(e);this._publishEvent("user_scroll",t),this._logger.debug("User scroll reported",t)}catch(e){throw this._handleError(e,"reportUserScroll","user_scroll_error"),e}}}])}(Ci);function Yn(e,t){var r=Sr(e);if(Re){var a=Re(e);t&&(a=Ce(a).call(a,(function(t){return Le(e,t).enumerable}))),r.push.apply(r,a)}return r}function Xn(e){for(var t=1;t<arguments.length;t++){var r,a,i=null!=arguments[t]?arguments[t]:{};t%2?Cr(r=Yn(Object(i),!0)).call(r,(function(t){ot(e,t,i[t])})):Be?He(e,Be(i)):Cr(a=Yn(Object(i))).call(a,(function(t){Ye(e,t,Le(i,t))}))}return e}function Jn(){try{var e=!Boolean.prototype.valueOf.call(Ni(Boolean,[],(function(){})))}catch(e){}return(Jn=function(){return!!e})()}var $n=function(e){function t(e){return gt(this,t),r=this,i=[e],a=Ai(a=t),wi(r,Jn()?Ni(a,i||[],Ai(r).constructor):a.apply(r,i));var r,a,i}return Ui(t,e),yt(t,[{key:"reportVideoShared",value:function(e){try{if(!e||"object"!==tt(e))throw new Error("data must be an object");if(!e.assetId||"string"!=typeof e.assetId)throw new Error("data.assetId must be a string");var t=this._createEventData(Xn(Xn({type:zi},e),{},{timestamp:vr()}));this._validator.validateEventData(zi,t),this._publishEvent(zi,t),this._logger.debug("Video shared reported",t)}catch(e){this._handleError(e,"reportVideoShared","video_engagement_error")}}},{key:"reportVideoBookmarked",value:function(e){try{this._validator.validateEventData(Gi,e);var t=this._createEventData(Xn(Xn({},e),{},{timestamp:vr()}));this._publishEvent(Gi,t),this._logger.debug("Video bookmarked reported",t)}catch(e){this._handleError(e,"reportVideoBookmarked","video_engagement_error")}}},{key:"reportVideoLiked",value:function(e){try{this._validator.validateEventData(Hi,e);var t=this._createEventData(Xn(Xn({},e),{},{timestamp:vr()}));this._publishEvent(Hi,t),this._logger.debug("Video liked reported",t)}catch(e){this._handleError(e,"reportVideoLiked","video_engagement_error")}}},{key:"reportVideoComment",value:function(e){try{this._validator.validateEventData(qi,e);var t=this._createEventData(Xn(Xn({},e),{},{timestamp:vr()}));this._publishEvent(qi,t),this._logger.debug("Video comment reported",t)}catch(e){this._handleError(e,"reportVideoComment","video_engagement_error")}}},{key:"reportVideoRating",value:function(e){try{this._validator.validateEventData(Ki,e);var t=this._createEventData(Xn(Xn({},e),{},{timestamp:vr()}));this._publishEvent(Ki,t),this._logger.debug("Video rating reported",t)}catch(e){this._handleError(e,"reportVideoRating","video_engagement_error")}}},{key:"reportVideoQualityChange",value:function(e){try{this._validator.validateEventData(Qi,e);var t=this._createEventData(Xn(Xn({},e),{},{timestamp:vr()}));this._publishEvent(Qi,t),this._logger.debug("Video quality change reported",t)}catch(e){this._handleError(e,"reportVideoQualityChange","video_engagement_error")}}},{key:"reportVideoPlaybackSpeedChange",value:function(e){try{this._validator.validateEventData(Wi,e);var t=this._createEventData(Xn(Xn({},e),{},{timestamp:vr()}));this._publishEvent(Wi,t),this._logger.debug("Video playback speed change reported",t)}catch(e){this._handleError(e,"reportVideoPlaybackSpeedChange","video_engagement_error")}}},{key:"reportCustomEngagement",value:function(e,t){try{this._validator.validateEventData(e,t);var r=this._createEventData(t);this._publishEvent(e,r),this._logger.debug("Custom video engagement reported: ".concat(e),r)}catch(e){this._handleError(e,"reportCustomEngagement","video_engagement_error")}}}])}(Ci);function Zn(e,t){var r=Sr(e);if(Re){var a=Re(e);t&&(a=Ce(a).call(a,(function(t){return Le(e,t).enumerable}))),r.push.apply(r,a)}return r}function eo(e){for(var t=1;t<arguments.length;t++){var r,a,i=null!=arguments[t]?arguments[t]:{};t%2?Cr(r=Zn(Object(i),!0)).call(r,(function(t){ot(e,t,i[t])})):Be?He(e,Be(i)):Cr(a=Zn(Object(i))).call(a,(function(t){Ye(e,t,Le(i,t))}))}return e}var MMAppAnalyticsSDK=function(){return yt((function MMAppAnalyticsSDK(){gt(this,MMAppAnalyticsSDK),this._version="1.0.0",this._isInitialized=!1,this._initializationInProgress=!1,this._registrationRetryCount=2,this._config=null,this._stateManager=null,this._eventQueue=null,this._eventPublisher=null,this._errorHandler=null,this._logger=null,this._validator=null,this._videoTracker=null,this._screenTracker=null,this._appTracker=null,this._userTracker=null,this._autoCollection=null,this._subscriptionTracker=null,this._paymentTracker=null,this._adTracker=null,this._experimentTracker=null,this._userAuthTracker=null,this._featureUsageTracker=null,this._userInteractionTracker=null,this._videoEngagementTracker=null,this._userInfoTracker=null}),[{key:"initialize",value:(t=ft(pr.mark((function e(t,r,a,i){var n,o,s,u,l,c,d,p,v,h,_,f,g=this,y=arguments;return pr.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:if(n=y.length>4&&void 0!==y[4]?y[4]:{},o=y.length>5&&void 0!==y[5]?y[5]:{},e.prev=2,console.log("[SDK INIT] initialize called with sdkConfig:",o),console.log("[SDK INIT] _isInitialized:",this._isInitialized),console.log("[SDK INIT] _initializationInProgress:",this._initializationInProgress),!this._isInitialized){e.next=10;break}return console.log("[SDK INIT] SDK already initialized - skipping"),null===(l=this._logger)||void 0===l||l.warn("SDK already initialized"),e.abrupt("return");case 10:if(!this._initializationInProgress){e.next=14;break}return console.log("[SDK INIT] SDK initialization in progress - skipping"),null===(c=this._logger)||void 0===c||c.warn("SDK initialization in progress"),e.abrupt("return");case 14:return this._validateInitParams(t,r,a,i),this._initializationInProgress=!0,this._config=new Wr(eo({customerId:t,appId:r,appName:a,appVersion:i},o)),this._stateManager=new pa,this._eventQueue=new ai(this._config),!1===o.autoCollect&&(console.log("[SDK INIT] Clearing stored events for e2e testing"),this._eventQueue.clear()),this._eventPublisher=new si(this._eventQueue,this._config),this._errorHandler=new li(this._config),this._logger=new pi(this._config),this._validator=new Ri(this._config),d={customerId:t,appId:r,appName:a,appVersion:i,sdkVersion:this._config.sdkVersion,sessionId:this._config.sessionId,screenRes:this._getScreenResolution(),timestamp:vr(),custId:t,subscriberId:n.subscriberId||"",subscriberType:n.subscriberType||"",subscriberTag:n.subscriberTag||"",clientInfo:{appName:a,appVersion:i,scrnRes:this._getScreenResolution(),ua:this._config.get("userAgent")||""},userInfo:{profileId:n.profileId||"",userData:n.userData||{},referralId:n.referralId||"",referralData:n.referralData||{}},customTags:n.customTags||{}},this._eventPublisher.updateCurrentPayload(d),p={config:this._config,eventPublisher:this._eventPublisher,logger:this._logger,validator:this._validator,errorHandler:this._errorHandler,stateManager:this._stateManager},this._videoTracker=new Li(p),this._screenTracker=new ji(p),this._appTracker=new Sn(p),this._userTracker=new Tn(p),this._userInfoTracker=new Rn(this),this._userInteractionTracker=new Wn(p),this._videoEngagementTracker=new $n(p),this._autoCollection=new An({config:this._config,eventPublisher:this._eventPublisher,logger:this._logger,validator:this._validator,errorHandler:this._errorHandler,stateManager:this._stateManager}),this._autoCollection.setEnabled(null===(s=o.autoCollect)||void 0===s||s),this._subscriptionTracker=new Vn(p),this._paymentTracker=new Fn(p),this._adTracker=new Bn(p),this._experimentTracker=new zn(p),this._userAuthTracker=new Hn(p),this._featureUsageTracker=new Kn(p),e.prev=42,e.next=45,this._registerWithBackend(t);case 45:v=e.sent,this._eventPublisher.setProducerURL(v.producerURL||"https://streamproducer-lcrr.mediamelon.com"),this._eventPublisher.setStatsInterval(v.statsInterval),e.next=61;break;case 50:if(e.prev=50,e.t0=e.catch(42),console.warn("Backend registration failed, continuing with default settings:",e.t0.message),this._eventPublisher.setProducerURL("https://streamproducer-lcrr.mediamelon.com"),this._eventPublisher.setStatsInterval(30),!(this._registrationRetryCount>0)||Ir(h=e.t0.message).call(h,"422")){e.next=61;break}return this._registrationRetryCount--,this._initializationInProgress=!1,e.next=60,this.initialize(t,r,a,i,n,o);case 60:return e.abrupt("return");case 61:this._isInitialized=!0,this._initializationInProgress=!1,this._logger.debug("SDK initialized successfully"),_=null===(u=o.autoCollect)||void 0===u||u,console.log("[SDK DEBUG] autoCollect setting:",_),console.log("[SDK DEBUG] sdkConfig:",o),console.log("[SDK DEBUG] About to check autoCollect condition..."),_?(console.log("[SDK DEBUG] autoCollect is TRUE - will send initial events"),(f=[]).push({type:"APP_STATE",data:{type:"APP_STATE",customerId:t,appId:r,appName:a,appVersion:i,state:"foreground",timestamp:vr(),sessionId:this._config.sessionId,sdkVersion:this._config.sdkVersion,screenRes:this._getScreenResolution(),custId:t,subscriberId:n.subscriberId||"",subscriberType:n.subscriberType||"",subscriberTag:n.subscriberTag||"",clientInfo:{appName:a,appVersion:i,scrnRes:this._getScreenResolution(),ua:this._config.get("userAgent")||""},userInfo:{profileId:n.profileId||"",userData:n.userData||{},referralId:n.referralId||"",referralData:n.referralData||{}},customTags:n.customTags||{}}}),n&&Sr(n).length>0&&f.push({type:"USER_IDENTIFICATION",data:{type:"USER_IDENTIFICATION",customerId:t,appId:r,appName:a,appVersion:i,timestamp:vr(),sessionId:this._config.sessionId,sdkVersion:this._config.sdkVersion,screenRes:this._getScreenResolution(),custId:t,subscriberId:n.subscriberId||"",subscriberType:n.subscriberType||"",subscriberTag:n.subscriberTag||"",clientInfo:{appName:a,appVersion:i,scrnRes:this._getScreenResolution(),ua:this._config.get("userAgent")||""},userInfo:{profileId:n.profileId||"",userData:n.userData||{},referralId:n.referralId||"",referralData:n.referralData||{}},customTags:n.customTags||{}}}),f.push({type:"SESSION_START",data:{type:"SESSION_START",customerId:t,appId:r,appName:a,appVersion:i,timestamp:vr(),sessionId:this._config.sessionId,sdkVersion:this._config.sdkVersion,screenRes:this._getScreenResolution(),custId:t,subscriberId:n.subscriberId||"",subscriberType:n.subscriberType||"",subscriberTag:n.subscriberTag||"",clientInfo:{appName:a,appVersion:i,scrnRes:this._getScreenResolution(),ua:this._config.get("userAgent")||""},userInfo:{profileId:n.profileId||"",userData:n.userData||{},referralId:n.referralId||"",referralData:n.referralData||{}},customTags:n.customTags||{}}}),console.log("[SDK INIT] User agent in config:",this._config.get("userAgent")),console.log("[SDK INIT] Sending initial events:",Rr(f).call(f,(function(e){return e.type}))),Cr(f).call(f,(function(e){console.log("[SDK INIT] Publishing event:",e.type),g._eventPublisher.publishEvent(e.type,e.data)}))):(console.log("[SDK DEBUG] autoCollect is FALSE - skipping initial events"),console.log("[SDK INIT] Auto-collection disabled - skipping initial events")),e.next=76;break;case 71:throw e.prev=71,e.t1=e.catch(2),this._initializationInProgress=!1,this._handleError(e.t1,"initialize"),e.t1;case 76:case"end":return e.stop()}}),e,this,[[2,71],[42,50]])}))),function(e,r,a,i){return t.apply(this,arguments)})},{key:"isInitialized",value:function(){return!0===this._isInitialized}},{key:"destroy",value:function(){if(this._isInitialized)try{var e;this._autoCollection&&this._autoCollection._enabled&&this._sendEvent("SESSION_END",{timestamp:vr(),sessionId:null===(e=this._config)||void 0===e?void 0:e.sessionId,isGraceful:!0}),this._sendEvent("SDK_SHUTDOWN",{timestamp:vr()}),this._eventQueue&&this._eventQueue.destroy(),this._stateManager&&this._stateManager.clearStates(),this._logger&&this._logger.info("SDK destroyed"),this._isInitialized=!1,this._config=null,this._stateManager=null,this._eventQueue=null,this._errorHandler=null,this._logger=null,this._validator=null}catch(e){this._logger?this._logger.error("Error during SDK destruction:",e):console.error("Error during SDK destruction:",e)}}},{key:"reportVideoState",value:function(e){this._validateInitialization();try{if(!e||"object"!==tt(e))throw new Error("Invalid video state data");this._videoTracker.reportVideoState(e)}catch(e){throw this._handleError(e,"reportVideoState"),e}}},{key:"reportScreenView",value:function(e){this._validateInitialization();try{if(!e||"object"!==tt(e))throw new Error("Invalid screen view data");this._screenTracker.reportScreenView(e)}catch(e){throw this._handleError(e,"reportScreenView"),e}}},{key:"reportAppState",value:function(e){this._validateInitialization();try{if(!e||"object"!==tt(e))throw new Error("Invalid app state data");this._appTracker.reportAppState(e)}catch(e){throw this._handleError(e,"reportAppState"),e}}},{key:"reportAppError",value:function(e){this._validateInitialization();try{if(!e||"object"!==tt(e))throw new Error("Invalid error data");this._appTracker.reportAppError(e)}catch(e){throw this._handleError(e,"reportAppError"),e}}},{key:"reportUserInfo",value:function(e){this._validateInitialization();try{if(!e||"object"!==tt(e))throw new Error("Invalid user info data");this._validator.validateEventData("USER_INFO",e),this._logger&&this._logger.setUserId(e.userId),this._sendEvent("USER_INFO",e)}catch(e){throw this._handleError(e,"reportUserInfo"),e}}},{key:"reportEvent",value:function(e){this._validateInitialization();try{if(!e||"object"!==tt(e))throw new Error("Invalid event data");this._sendEvent(e.type||"custom",e)}catch(e){throw this._handleError(e,"reportEvent"),e}}},{key:"getStatus",value:function(){var e,t;return{version:this._version,isInitialized:this._isInitialized,config:null===(e=this._config)||void 0===e?void 0:e.getConfig(),eventQueue:null===(t=this._eventQueue)||void 0===t?void 0:t.getStatus()}}},{key:"onError",value:function(e,t){this._validateInitialization(),this._errorHandler.onError(e,t)}},{key:"getErrorHistory",value:function(){return this._validateInitialization(),this._errorHandler.getErrorHistory()}},{key:"clearErrorHistory",value:function(){this._validateInitialization(),this._errorHandler.clearErrorHistory()}},{key:"setLogLevel",value:function(e){this._validateInitialization(),this._logger.setLogLevel(e)}},{key:"setLoggingEnabled",value:function(e){this._validateInitialization(),this._logger.setEnabled(e)}},{key:"onLog",value:function(e,t){this._validateInitialization(),this._logger.onLog(e,t)}},{key:"getLogHistory",value:function(){return this._validateInitialization(),this._logger.getLogHistory()}},{key:"clearLogHistory",value:function(){this._validateInitialization(),this._logger.clearLogHistory()}},{key:"getPerformanceMetrics",value:function(){return this._validateInitialization(),{eventQueue:this._eventQueue?this._eventQueue.getStatus():{queueLength:0,successfulEvents:0,failedEvents:0,processingTime:0},timestamp:vr()}}},{key:"getSessionInfo",value:function(){return this._autoCollection.getSessionInfo()}},{key:"getNavigationInfo",value:function(){return this._autoCollection.getNavigationInfo()}},{key:"setAutoCollectionEnabled",value:function(e){this._autoCollection.setEnabled(e),this._logger.debug("Auto-collection "+(e?"enabled":"disabled"))}},{key:"isAutoCollectionEnabled",value:function(){return!!this._autoCollection&&this._autoCollection._enabled}},{key:"_validateInitialization",value:function(){if(!this._isInitialized)throw new Error("SDK not initialized")}},{key:"_generateUUID",value:function(){return"xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx".replace(/[xy]/g,(function(e){var t=16*Math.random()|0;return("x"===e?t:3&t|8).toString(16)}))}},{key:"_registerWithBackend",value:(e=ft(pr.mark((function e(t){var r;return pr.wrap((function(e){for(;;)switch(e.prev=e.next){case 0:return r="https://register.mediamelon.com/mm-apis/register/".concat(t,"?platform=Browser&component=HTML5JSSDK"),e.abrupt("return",new Vr((function(e,t){var a=new XMLHttpRequest;a.open("GET",r,!0),a.onload=function(){if(a.status>=200&&a.status<300)try{var r=JSON.parse(a.responseText);e(r)}catch(e){t(new Error("Invalid registration response"))}else t(new Error("Registration failed with status: ".concat(a.status)))},a.onerror=function(){t(new Error("Registration request failed"))},a.send()})));case 2:case"end":return e.stop()}}),e)}))),function(t){return e.apply(this,arguments)})},{key:"_sendEvent",value:function(e,t){if(!this._eventQueue)throw new Error("Event queue not initialized");this._eventPublisher.publishEvent(e,t)}},{key:"_handleError",value:function(e,t){var r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:{};this._logger&&this._logger.error("Error in ".concat(t,":"),e),this._errorHandler&&this._errorHandler.handleError(e,t,r),this._eventQueue&&this._isInitialized&&this._sendEvent("SDK_ERROR",{context:t,error:{name:e.name,message:e.message,stack:e.stack},metadata:r})}},{key:"_validateInitParams",value:function(e,t,r,a){if(!e||"string"!=typeof e)throw new Error("Invalid customer ID");if(!t||"string"!=typeof t)throw new Error("Invalid application ID");if(!r||"string"!=typeof r)throw new Error("Invalid application name");if(!a||"string"!=typeof a)throw new Error("Invalid application version")}},{key:"reportVideoStart",value:function(e){this._validateInitialization();try{if(console.log("MMAppAnalyticsSDK.reportVideoStart received:",Br(e)),!e||"object"!==tt(e))throw new Error("Invalid video start data");this._videoTracker.reportVideoStart(e)}catch(e){throw this._handleError(e,"reportVideoStart"),e}}},{key:"reportVideoPause",value:function(e){return this._videoTracker.reportVideoPause(e)}},{key:"reportVideoResume",value:function(e){return this._videoTracker.reportVideoResume(e)}},{key:"reportVideoSkip",value:function(e){return this._videoTracker.reportVideoSkip(e)}},{key:"reportVideoStop",value:function(e){return this._videoTracker.reportVideoStop(e)}},{key:"reportVideoEnd",value:function(e){return this._videoTracker.reportVideoEnd(e)}},{key:"reportVideoQuality",value:function(e){return this._validateInitialization(),this._videoTracker.reportVideoQualityChange(e)}},{key:"reportVideoQualityChange",value:function(e){return this._validateInitialization(),this._videoTracker.reportVideoQualityChange(e)}},{key:"reportVideoBuffering",value:function(e){return this._videoTracker.reportVideoBuffering(e)}},{key:"reportVideoSeek",value:function(e){return this._videoTracker.reportVideoSeek(e)}},{key:"reportVideoFullscreen",value:function(e){return this._videoTracker.reportVideoFullscreen(e)}},{key:"reportVideoExitFullscreen",value:function(e){return this._videoTracker.reportVideoExitFullscreen(e)}},{key:"reportScreenExit",value:function(e){return this._screenTracker.reportScreenExit(e)}},{key:"reportPerformanceMetrics",value:function(e){return this._appTracker.reportPerformanceMetrics(e)}},{key:"reportUserIdentification",value:function(e){this._validateInitialization();try{if(!e||"object"!==tt(e))throw new Error("Invalid user identification data");this._userTracker.reportUserIdentification(e)}catch(e){throw this._handleError(e,"reportUserIdentification"),e}}},{key:"reportUserSessionStart",value:function(e){return this._userTracker.reportUserSessionStart(e)}},{key:"reportUserSessionEnd",value:function(e){return this._userTracker.reportUserSessionEnd(e)}},{key:"reportUserPreferenceChange",value:function(e){return this._userTracker.reportUserPreferenceChange(e)}},{key:"reportUserSignUp",value:function(e){this._validateInitialization();try{this._userAuthTracker.reportUserSignUp(e)}catch(e){throw this._handleError(e,"reportUserSignUp"),e}}},{key:"reportUserSignIn",value:function(e){this._validateInitialization();try{this._userAuthTracker.reportUserSignIn(e)}catch(e){throw this._handleError(e,"reportUserSignIn"),e}}},{key:"reportUserSignOut",value:function(e){this._validateInitialization();try{this._userAuthTracker.reportUserSignOut(e)}catch(e){throw this._handleError(e,"reportUserSignOut"),e}}},{key:"getVideoState",value:function(){return this._videoTracker.getVideoState()}},{key:"getScreenState",value:function(){return this._screenTracker.getScreenState()}},{key:"getAppState",value:function(){return this._appTracker.getAppState()}},{key:"getUserState",value:function(){return this._userTracker.getUserState()}},{key:"reportSubscriptionStart",value:function(e){return this._subscriptionTracker.reportSubscriptionStart(e)}},{key:"reportSubscriptionRenewal",value:function(e){return this._subscriptionTracker.reportSubscriptionRenewal(e)}},{key:"reportSubscriptionCancellation",value:function(e){return this._subscriptionTracker.reportSubscriptionCancellation(e)}},{key:"reportSubscriptionUpgrade",value:function(e){return this._subscriptionTracker.reportSubscriptionUpgrade(e)}},{key:"reportSubscriptionDowngrade",value:function(e){return this._subscriptionTracker.reportSubscriptionDowngrade(e)}},{key:"reportPaymentInitiation",value:function(e){this._validateInitialization();try{if(!e||"object"!==tt(e))throw new Error("Invalid payment initiation data");this._paymentTracker.reportPaymentInitiation(e)}catch(e){throw this._handleError(e,"reportPaymentInitiation"),e}}},{key:"reportPaymentSuccess",value:function(e){this._validateInitialization();try{if(!e||"object"!==tt(e))throw new Error("Invalid payment success data");this._paymentTracker.reportPaymentSuccess(e)}catch(e){throw this._handleError(e,"reportPaymentSuccess"),e}}},{key:"reportPaymentFailure",value:function(e){this._validateInitialization();try{if(!e||"object"!==tt(e))throw new Error("Invalid payment failure data");this._paymentTracker.reportPaymentFailure(e)}catch(e){throw this._handleError(e,"reportPaymentFailure"),e}}},{key:"reportPaymentRefund",value:function(e){this._validateInitialization();try{if(!e||"object"!==tt(e))throw new Error("Invalid payment refund data");this._paymentTracker.reportPaymentRefund(e)}catch(e){throw this._handleError(e,"reportPaymentRefund"),e}}},{key:"reportAdImpression",value:function(e){this._validateInitialization();try{if(!e||"object"!==tt(e))throw new Error("Invalid ad impression data");this._adTracker.reportAdImpression(e)}catch(e){throw this._handleError(e,"reportAdImpression"),e}}},{key:"reportAdClick",value:function(e){this._validateInitialization();try{if(!e||"object"!==tt(e))throw new Error("Invalid ad click data");this._adTracker.reportAdClick(e)}catch(e){throw this._handleError(e,"reportAdClick"),e}}},{key:"reportAdStart",value:function(e){this._validateInitialization();try{if(!e||"object"!==tt(e))throw new Error("Invalid ad start data");this._adTracker.reportAdStart(e)}catch(e){throw this._handleError(e,"reportAdStart"),e}}},{key:"reportAdComplete",value:function(e){this._validateInitialization();try{if(!e||"object"!==tt(e))throw new Error("Invalid ad complete data");this._adTracker.reportAdComplete(e)}catch(e){throw this._handleError(e,"reportAdComplete"),e}}},{key:"reportAdSkip",value:function(e){this._validateInitialization();try{if(!e||"object"!==tt(e))throw new Error("Invalid ad skip data");this._adTracker.reportAdSkip(e)}catch(e){throw this._handleError(e,"reportAdSkip"),e}}},{key:"reportAdError",value:function(e){this._validateInitialization();try{if(!e||"object"!==tt(e))throw new Error("Invalid ad error data");this._adTracker.reportAdError(e)}catch(e){throw this._handleError(e,"reportAdError"),e}}},{key:"getSubscriptionState",value:function(){return this._subscriptionTracker.getSubscriptionState()}},{key:"getPaymentState",value:function(){return this._paymentTracker.getPaymentState()}},{key:"getAdState",value:function(){return this._adTracker.getAdState()}},{key:"reportExperimentExposure",value:function(e){this._validateInitialization();try{if(!e||"object"!==tt(e))throw new Error("Invalid experiment exposure data");this._experimentTracker.reportExperimentExposure(e)}catch(e){throw this._handleError(e,"reportExperimentExposure"),e}}},{key:"reportExperimentActivation",value:function(e){this._validateInitialization();try{if(!e||"object"!==tt(e))throw new Error("Invalid experiment activation data");this._experimentTracker.reportExperimentActivation(e)}catch(e){throw this._handleError(e,"reportExperimentActivation"),e}}},{key:"reportFeatureFlagEvaluation",value:function(e){this._validateInitialization();try{if(!e||"object"!==tt(e))throw new Error("Invalid feature flag evaluation data");this._experimentTracker.reportFeatureFlagEvaluation(e)}catch(e){throw this._handleError(e,"reportFeatureFlagEvaluation"),e}}},{key:"reportExperimentResults",value:function(e){this._validateInitialization();try{if(!e||"object"!==tt(e))throw new Error("Invalid experiment results data");this._experimentTracker.reportExperimentResults(e)}catch(e){throw this._handleError(e,"reportExperimentResults"),e}}},{key:"getExperimentState",value:function(e){return this._experimentTracker.getExperimentState(e)}},{key:"getActiveExperiments",value:function(){return this._experimentTracker.getActiveExperiments()}},{key:"reportUserProfileUpdate",value:function(e){this._validateInitialization();try{this._userTracker.reportUserProfileUpdate(e)}catch(e){throw this._handleError(e,"reportUserProfileUpdate"),e}}},{key:"reportFeatureUsage",value:function(e){this._validateInitialization();try{this._featureUsageTracker.reportFeatureUsage(e)}catch(e){throw this._handleError(e,"reportFeatureUsage"),e}}},{key:"reportSubscriptionViewed",value:function(e){this._subscriptionTracker.reportSubscriptionViewed(e)}},{key:"reportSubscriberInfo",value:function(e){this._validateInitialization();try{if(!e||"object"!==tt(e))throw new Error("Invalid subscriber info data");if(!(e.subscriberId&&e.planType&&e.segment&&e.profileId))throw new Error("Missing required fields: subscriberId, planType, segment, profileId");this._userInfoTracker.reportSubscriberInfo(e)}catch(e){throw this._handleError(e,"reportSubscriberInfo"),e}}},{key:"reportReferralInfo",value:function(e){this._validateInitialization();try{if(!e||"object"!==tt(e))throw new Error("Invalid referral info data");if(!(e.referralId&&e.source&&e.medium&&e.campaign))throw new Error("Missing required fields: referralId, source, medium, campaign");this._userInfoTracker.reportReferralInfo(e)}catch(e){throw this._handleError(e,"reportReferralInfo"),e}}},{key:"reportUserClick",value:function(e){this._validateInitialization();try{if(!e||"object"!==tt(e))throw new Error("Invalid click metadata");this._userInteractionTracker.reportUserClick(e)}catch(e){throw this._handleError(e,"reportUserClick"),e}}},{key:"reportUserScroll",value:function(e){this._validateInitialization();try{if(!e||"object"!==tt(e))throw new Error("Invalid scroll metadata");this._userInteractionTracker.reportUserScroll(e)}catch(e){throw this._handleError(e,"reportUserScroll"),e}}},{key:"reportVideoShared",value:function(e){return this._validateInitialization(),this._videoEngagementTracker.reportVideoShared(e)}},{key:"reportVideoBookmarked",value:function(e){return this._validateInitialization(),this._videoEngagementTracker.reportVideoBookmarked(e)}},{key:"reportVideoLiked",value:function(e){return this._validateInitialization(),this._videoEngagementTracker.reportVideoLiked(e)}},{key:"reportVideoComment",value:function(e){return this._validateInitialization(),this._videoEngagementTracker.reportVideoComment(e)}},{key:"reportVideoRating",value:function(e){return this._validateInitialization(),this._videoEngagementTracker.reportVideoRating(e)}},{key:"reportVideoPlaybackSpeedChange",value:function(e){return this._validateInitialization(),this._videoEngagementTracker.reportVideoPlaybackSpeedChange(e)}},{key:"_createEvent",value:function(e,t){return{type:e,data:t,timestamp:vr(),sessionId:this._config.getSessionId(),config:this._config.getConfig(),metadata:this._config.getEventMetadata()}}},{key:"_initializeSession",value:function(){var e=this._config.getSessionId();return this._config.updateSessionId(e),e}},{key:"_getScreenResolution",value:function(){if("undefined"!=typeof window&&window.screen){var e,t=window.screen.width,r=window.screen.height;return qr(e="".concat(t,"x")).call(e,r)}return""}}]);var e,t}();return MMAppAnalyticsSDK}();
//# sourceMappingURL=mm-app-analytics-js-sdk.es5.min.js.map