@playkit-js/playkit-js-kava 1.10.2 → 1.10.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -1 +1 @@
1
- {"version":3,"file":"playkit-kava.js","mappings":"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","sources":["webpack://KalturaPlayer.plugins.kava/webpack/universalModuleDefinition","webpack://KalturaPlayer.plugins.kava/./node_modules/@playkit-js/playkit-js-providers/dist/playkit-analytics-service.js","webpack://KalturaPlayer.plugins.kava/webpack/bootstrap","webpack://KalturaPlayer.plugins.kava/webpack/runtime/define property getters","webpack://KalturaPlayer.plugins.kava/webpack/runtime/hasOwnProperty shorthand","webpack://KalturaPlayer.plugins.kava/webpack/runtime/make namespace object","webpack://KalturaPlayer.plugins.kava/external root \"KalturaPlayer\"","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://KalturaPlayer.plugins.kava/./src/kava-event-model.ts","webpack://KalturaPlayer.plugins.kava/./src/kava-rate-handler.ts","webpack://KalturaPlayer.plugins.kava/./src/kava-timer.ts","webpack://KalturaPlayer.plugins.kava/./src/enums/event-bucket-name.ts","webpack://KalturaPlayer.plugins.kava/./src/enums/button-type.ts","webpack://KalturaPlayer.plugins.kava/./src/enums/application-event-type.ts","webpack://KalturaPlayer.plugins.kava/./src/enums/page-load-type.ts","webpack://KalturaPlayer.plugins.kava/./src/applications-events.ts","webpack://KalturaPlayer.plugins.kava/./src/enums/kaltura-application.ts","webpack://KalturaPlayer.plugins.kava/./src/enums/application-feature.ts","webpack://KalturaPlayer.plugins.kava/./src/application-events-model.ts","webpack://KalturaPlayer.plugins.kava/./src/kava-model.ts","webpack://KalturaPlayer.plugins.kava/./src/enums/http-method-type.ts","webpack://KalturaPlayer.plugins.kava/./src/enums/application.ts","webpack://KalturaPlayer.plugins.kava/./src/kava.ts","webpack://KalturaPlayer.plugins.kava/./src/temp-imported-plugins-event-names-temp.ts","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://KalturaPlayer.plugins.kava/./src/index.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"KalturaPlayer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"KalturaPlayer\"] = factory();\n\telse\n\t\troot[\"KalturaPlayer\"] = root[\"KalturaPlayer\"] || {}, root[\"KalturaPlayer\"][\"plugins\"] = root[\"KalturaPlayer\"][\"plugins\"] || {}, root[\"KalturaPlayer\"][\"plugins\"][\"kava\"] = factory();\n})(self, () => {\nreturn ","!function(e,t){if(\"object\"==typeof exports&&\"object\"==typeof module)module.exports=t();else if(\"function\"==typeof define&&define.amd)define([],t);else{var r=t();for(var n in r)(\"object\"==typeof exports?exports:e)[n]=r[n]}}(self,(function(){return function(){\"use strict\";var e={d:function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r:function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})}},t={};function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function n(e){return n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},n(e)}function o(e){var t=function(e,t){if(\"object\"!==n(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,\"string\");if(\"object\"!==n(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"===n(t)?t:String(t)}function i(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,o(n.key),n)}}function s(e,t,r){return t&&i(e.prototype,t),r&&i(e,r),Object.defineProperty(e,\"prototype\",{writable:!1}),e}function a(e,t,r){return(t=o(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}e.r(t),e.d(t,{NAME:function(){return P},OVPAnalyticsService:function(){return A},OVPConfiguration:function(){return h},RequestBuilder:function(){return l},VERSION:function(){return C}});var u=function(){return{VERSION:\"\",DEBUG:{value:\"\",name:\"\"},ERROR:{value:\"\",name:\"\"},INFO:{value:\"\",name:\"\"},OFF:{value:\"\",name:\"\"},TIME:{value:\"\",name:\"\"},TRACE:{value:\"\",name:\"\"},WARN:{value:\"\",name:\"\"},createDefaultHandler:function(){},debug:function(){},enabledFor:function(){},error:function(){},get:function(){},getLevel:function(){},info:function(){},log:function(){},setHandler:function(){},setLevel:function(){},time:function(){},timeEnd:function(){},trace:function(){},useDefaults:function(){},warn:function(){}}};var c=function(e){return u(e)},f=s((function e(t,n,o){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};r(this,e),this.severity=t,this.category=n,this.code=o,this.data=i,e._logger.error(\"Category:\".concat(n,\" | Code:\").concat(o,\" |\"),i)}));a(f,\"Severity\",{RECOVERABLE:1,CRITICAL:2}),a(f,\"Category\",{NETWORK:1,SERVICE:2,PROVIDER:3}),a(f,\"Code\",{UNSUPPORTED_SCHEME:1e3,BAD_HTTP_STATUS:1001,HTTP_ERROR:1002,TIMEOUT:1003,MALFORMED_DATA_URI:1004,BAD_SERVER_RESPONSE:1005,MULTIREQUEST_API_ERROR:1006,API_RESPONSE_MISMATCH:1007,ERROR:2e3,BLOCK_ACTION:2001,MEDIA_STATUS_NOT_READY:2002,MISSING_MANDATORY_PARAMS:3e3,MISSING_PLAY_SOURCE:3001,METHOD_NOT_IMPLEMENTED:3002}),a(f,\"_logger\",c(\"Error\"));var l=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Map;r(this,e),a(this,\"retryConfig\",{async:!0,timeout:0,maxAttempts:4}),a(this,\"_attemptCounter\",1),this.headers=t}return s(e,[{key:\"getUrl\",value:function(e){return e+\"/service/\"+this.service+(this.action?\"/action/\"+this.action:\"\")}},{key:\"doHttpRequest\",value:function(){var e=this,t=new Promise((function(t,r){e._requestPromise={resolve:t,reject:r}}));return this.url||this._requestPromise.reject(new f(f.Severity.CRITICAL,f.Category.NETWORK,f.Code.MALFORMED_DATA_URI,{url:this.url})),this._createXHR(),t}},{key:\"_createXHR\",value:function(){var e=this,t=new XMLHttpRequest;t.onreadystatechange=function(){if(4===t.readyState&&200===t.status)try{var r=JSON.parse(t.responseText);return e.responseHeaders=e._getResponseHeaders(t),e._requestPromise.resolve(r)}catch(r){e._requestPromise.reject(e._createError(t,f.Code.BAD_SERVER_RESPONSE,{text:t.responseText}))}},t.open(this.method,this.url,this.retryConfig.async),this.retryConfig.async&&this.retryConfig.timeout&&(t.timeout=this.retryConfig.timeout);var r=performance.now();t.ontimeout=function(){e._handleError(t,f.Code.TIMEOUT,{timeout:(performance.now()-r)/1e3,statusText:t.statusText})},t.onerror=t.onabort=function(){e._handleError(t,f.Code.HTTP_ERROR,{text:t.responseText,statusText:t.statusText})},this.headers.forEach((function(e,r){t.setRequestHeader(r,e)})),t.send(this.params)}},{key:\"_getResponseHeaders\",value:function(e){return e.getAllResponseHeaders().split(\"\\n\").filter((function(e){return 0===e.toLowerCase().indexOf(\"x-\")}))}},{key:\"_handleError\",value:function(e,t,r){var n=this._createError(e,t,r);if(e.onreadystatechange=function(){},e.onerror=function(){},e.ontimeout=function(){},e.onabort=function(){},!(this.retryConfig.maxAttempts&&this._attemptCounter<this.retryConfig.maxAttempts))return this._requestPromise.reject(n);this._attemptCounter++,this._createXHR()}},{key:\"_createError\",value:function(e,t,r){return Object.assign(r,{url:this.url,headers:this._getResponseHeaders(e),attempt:this._attemptCounter}),new f(f.Severity.CRITICAL,f.Category.NETWORK,t,r)}}]),e}(),p=function e(t){var r;return Array.isArray(t)?(r=t.length>0?t.slice(0):[]).forEach((function(t,o){(\"object\"===n(t)||Array.isArray(t)&&t.length>0)&&(r[o]=e(t))})):\"object\"===n(t)?(r=Object.assign({},t),Object.keys(r).forEach((function(t){(\"object\"===n(r[t])||Array.isArray(r[t])&&r[t].length>0)&&(r[t]=e(r[t]))}))):r=t,r},y={serviceUrl:\"https://cdnapisec.kaltura.com/api_v3\",cdnUrl:\"https://cdnapisec.kaltura.com\",serviceParams:{apiVersion:\"3.3.0\",format:1},useApiCaptions:!0,loadThumbnailWithKs:!1,replaceHostOnlyManifestUrls:!1},h=function(){function e(){r(this,e)}return s(e,null,[{key:\"set\",value:function(e){e&&Object.assign(y,e)}},{key:\"get\",value:function(){return p(y)}}]),e}();function v(e,t){return v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},v(e,t)}function d(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&v(e,t)}function m(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function g(e,t){if(t&&(\"object\"===n(t)||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return m(e)}function E(e){return E=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},E(e)}var R=s((function e(t){r(this,e),a(this,\"hasError\",!1),\"KalturaAPIException\"===t.objectType?(this.hasError=!0,this.error=new O(t.code,t.message)):t.error&&\"KalturaAPIException\"===t.error.objectType?(this.hasError=!0,this.error=new O(t.error.code,t.error.message)):this.data=t})),O=s((function e(t,n){r(this,e),this.code=t,this.message=n}));var b=function(e){d(i,e);var t,n,o=(t=i,n=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=E(t);if(n){var o=E(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return g(this,e)});function i(){var e;r(this,i);for(var t=arguments.length,n=new Array(t),s=0;s<t;s++)n[s]=arguments[s];return a(m(e=o.call.apply(o,[this].concat(n))),\"requests\",[]),e}return s(i,[{key:\"add\",value:function(e){this.requests.push(e);var t={},r={service:e.service,action:e.action};return Object.assign(t,a({},this.requests.length,Object.assign(r,e.params))),Object.assign(t,this.params),this.params=t,this}},{key:\"execute\",value:function(e){var t=this;return new Promise((function(r,n){try{t.params=JSON.stringify(t.params)}catch(e){i._logger.error(\"\".concat(e.message)),n(new f(f.Severity.CRITICAL,f.Category.PROVIDER,f.Code.FAILED_PARSING_REQUEST,{error:e,params:t.params}))}t.doHttpRequest().then((function(o){var i=new _(o,e);i.success?r({headers:t.responseHeaders,response:i}):n(new f(f.Severity.CRITICAL,f.Category.NETWORK,f.Code.MULTIREQUEST_API_ERROR,{url:t.url,headers:t.responseHeaders,results:i.results}))}),(function(e){n(e)}))}))}}]),i}(l);a(b,\"_logger\",c(\"MultiRequestBuilder\"));var _=s((function e(t){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];r(this,e),a(this,\"results\",[]);var o=t.result?t.result:t,i=(Array.isArray(o)?o:[o]).map((function(e){return new R(e)})),s=i.filter((function(e){return e.hasError}));s.forEach((function(t){e._logger.error(\"Service returned an error with error code: \".concat(t.error.code,\" and message: \").concat(t.error.message,\".\"))})),this.results=i,n&&s.length||s.length===this.results.length?this.success=!1:(this.results=this.results.filter((function(e){return!e.hasError})),this.success=!0)}));a(_,\"_logger\",c(\"MultiRequestResult\"));var T=function(e){var t=[],r=/\\[\\]$/,o=function(e){return\"[object Array]\"===Object.prototype.toString.call(e)},i=function(e,r){r=\"function\"==typeof r?r():null==r?\"\":r,t[t.length]=encodeURIComponent(e)+\"=\"+encodeURIComponent(r)};return function e(s,a){var u,c,f;if(s)if(o(a))for(u=0,c=a.length;u<c;u++)r.test(s)?i(s,a[u]):e(s+\":\"+(\"object\"===n(a[u])?u:\"\"),a[u]);else if(a&&\"[object Object]\"===String(a))for(f in a)e(s+\":\"+f,a[f]);else i(s,a);else if(o(a))for(u=0,c=a.length;u<c;u++)i(a[u].name,a[u].value);else for(f in a)e(f,a[f]);return t}(\"\",e).join(\"&\").replace(/%20/g,\"+\")};var S=\"analytics\",A=function(e){d(i,e);var t,n,o=(t=i,n=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=E(t);if(n){var o=E(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return g(this,e)});function i(){return r(this,i),o.apply(this,arguments)}return s(i,null,[{key:\"trackEvent\",value:function(e,t,r){return\"POST\"===r?i._trackEventByPOST(e,t):i._trackEventByGET(e,t)}},{key:\"_trackEventByGET\",value:function(e,t){var r=h.get(),n={};Object.assign(n,r.serviceParams,t);var o=new l;return o.service=S,o.action=\"trackEvent\",o.method=\"GET\",o.retryConfig.maxAttempts=1,o.tag=\"analytics-trackEvent\",o.params=n,o.url=e+\"?service=\"+o.service+\"&action=\"+o.action+\"&\"+T(o.params),o}},{key:\"_trackEventByPOST\",value:function(e,t){var r=h.get(),n={};Object.assign(n,r.serviceParams,t);var o=new Map;o.set(\"Content-Type\",\"application/json\");var i=new l(o),s={eventType:n.eventType,partnerId:n.partnerId,entryId:n.entryId,sessionId:n.sessionId};return[\"eventType\",\"partnerId\",\"entryId\",\"sessionId\"].forEach((function(e){return delete n[e]})),i.service=S,i.action=\"trackEvent\",i.method=\"POST\",i.retryConfig.maxAttempts=1,i.tag=\"analytics-trackEvent\",i.params=JSON.stringify(n),i.url=e+\"?service=\"+i.service+\"&action=\"+i.action+\"&\"+T(s),i}}]),i}(function(){function e(){r(this,e)}return s(e,null,[{key:\"getMultiRequest\",value:function(e,t,r){var n=h.get(),o=n.serviceParams;Object.assign(o,{ks:t,clientTag:\"html5:v\"+e}),r&&Object.assign(o,{partnerId:r});var i=new Map;i.set(\"Content-Type\",\"application/json\");var s=new b(i);return s.method=\"POST\",s.service=\"multirequest\",s.url=s.getUrl(n.serviceUrl),s.params=o,s}}]),e}()),P=\"@playkit-js/playkit-js-providers-analytics-service\",C=\"2.40.4\";return t}()}));\n//# sourceMappingURL=playkit-analytics-service.js.map","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = KalturaPlayer;","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import { KavaModel } from './kava-model';\nimport { KavaEvent } from './types';\n\n/**\n * @name KavaEventType\n * @enum\n */\nexport const KavaEventModel = {\n /**\n * @type {string} VIEW\n * @memberof KavaEventType\n */\n VIEW: {\n type: 'VIEW',\n index: 99,\n getEventModel: (model: KavaModel): any => {\n const eventModel: { [name: string]: any } = {\n playTimeSum: model.getPlayTimeSum(),\n bufferTime: model.getBufferTime(),\n bufferTimeSum: model.getBufferTimeSum(),\n actualBitrate: model.getActualBitrate(),\n averageBitrate: model.getAverageBitrate(),\n audioLanguage: model.getLanguage(),\n soundMode: model.getSoundMode(),\n tabMode: model.getTabMode(),\n viewabilityMode: model.getViewabilityMode(),\n screenMode: model.getScreenMode()\n };\n\n if (!isNaN(model.getForwardBufferHealth())) {\n eventModel.forwardBufferHealth = model.getForwardBufferHealth();\n }\n if (model.getMaxManifestDownloadTime() > 0) {\n eventModel.manifestDownloadTime = model.getMaxManifestDownloadTime();\n }\n if (model.getSegmentDownloadTime() > 0) {\n eventModel.segmentDownloadTime = model.getSegmentDownloadTime();\n }\n if (model.getBandwidth()) {\n eventModel.bandwidth = model.getBandwidth();\n }\n if (model.getDroppedFramesRatio() !== null) {\n eventModel.droppedFramesRatio = model.getDroppedFramesRatio();\n }\n\n if (!isNaN(model.getTargetBuffer())) {\n eventModel.targetBuffer = model.getTargetBuffer();\n }\n\n if (model.getNetworkConnectionType() !== '') {\n eventModel.networkConnectionType = model.getNetworkConnectionType();\n }\n\n if (model.getNetworkConnectionOverhead()) {\n eventModel.networkConnectionOverhead = model.getNetworkConnectionOverhead();\n }\n if (!isNaN(model.getFlavorParamsId())) {\n eventModel.flavorParamsId = model.getFlavorParamsId();\n }\n if (!isNaN(model.getPlaybackMode())) {\n eventModel.playbackMode = model.getPlaybackMode();\n }\n if (model.getSourceEntryId() !== null) {\n eventModel.sourceEntryId = model.getSourceEntryId();\n }\n\n return eventModel;\n }\n },\n /**\n * @type {string} IMPRESSION\n * @memberof KavaEventType\n */\n IMPRESSION: {\n type: 'IMPRESSION',\n index: 1,\n getEventModel: (model: KavaModel): any => {\n const eventModel = {} as KavaModel;\n if (model.getPlayerJSLoadTime() !== null) {\n eventModel.playerJSLoadTime = model.getPlayerJSLoadTime();\n }\n eventModel['loadedPlugins'] = model.getRegisteredPlugins();\n return eventModel;\n }\n },\n /**\n * @type {string} PLAY_REQUEST\n * @memberof KavaEventType\n */\n PLAY_REQUEST: {\n type: 'PLAY_REQUEST',\n index: 2,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} PLAY\n * @memberof KavaEventType\n */\n PLAY: {\n type: 'PLAY',\n index: 3,\n getEventModel: (model: KavaModel): any => {\n const eventModel: { [name: string]: any } = {\n bufferTime: model.getBufferTime(),\n bufferTimeSum: model.getBufferTimeSum(),\n actualBitrate: model.getActualBitrate(),\n joinTime: model.getJoinTime(),\n canPlay: model.getCanPlayTime()\n };\n if (model.getNetworkConnectionType() !== '') {\n eventModel.networkConnectionType = model.getNetworkConnectionType();\n }\n return eventModel;\n }\n },\n /**\n * @type {string} RESUME\n * @memberof KavaEventType\n */\n RESUME: {\n type: 'RESUME',\n index: 4,\n getEventModel: (model: KavaModel): any => ({\n bufferTime: model.getBufferTime(),\n bufferTimeSum: model.getBufferTimeSum(),\n actualBitrate: model.getActualBitrate()\n })\n },\n /**\n * @type {string} PAUSE\n * @memberof KavaEventType\n */\n PAUSE: {\n type: 'PAUSE',\n index: 33,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} BUFFER_START\n * @memberof KavaEventType\n */\n BUFFER_START: {\n type: 'BUFFER_START',\n index: 45,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} BUFFER_END\n * @memberof KavaEventType\n */\n BUFFER_END: {\n type: 'BUFFER_END',\n index: 46,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} REPLAY\n * @memberof KavaEventType\n */\n REPLAY: {\n type: 'REPLAY',\n index: 34,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} SEEK\n * @memberof KavaEventType\n */\n SEEK: {\n type: 'SEEK',\n index: 35,\n getEventModel: (model: KavaModel): any => ({\n targetPosition: model.getTargetPosition()\n })\n },\n /**\n * @type {string} PLAY_REACHED_25_PERCENT\n * @memberof KavaEventType\n */\n PLAY_REACHED_25_PERCENT: {\n type: 'PLAY_REACHED_25_PERCENT',\n index: 11,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} PLAY_REACHED_50_PERCENT\n * @memberof KavaEventType\n */\n PLAY_REACHED_50_PERCENT: {\n type: 'PLAY_REACHED_50_PERCENT',\n index: 12,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} PLAY_REACHED_75_PERCENT\n * @memberof KavaEventType\n */\n PLAY_REACHED_75_PERCENT: {\n type: 'PLAY_REACHED_75_PERCENT',\n index: 13,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} PLAY_REACHED_100_PERCENT\n * @memberof KavaEventType\n */\n PLAY_REACHED_100_PERCENT: {\n type: 'PLAY_REACHED_100_PERCENT',\n index: 14,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} SOURCE_SELECTED\n * @memberof KavaEventType\n */\n SOURCE_SELECTED: {\n type: 'SOURCE_SELECTED',\n index: 39,\n getEventModel: (model: KavaModel): any => ({\n actualBitrate: model.getActualBitrate()\n })\n },\n /**\n * @type {string} AUDIO_SELECTED\n * @memberof KavaEventType\n */\n AUDIO_SELECTED: {\n type: 'AUDIO_SELECTED',\n index: 42,\n getEventModel: (model: KavaModel): any => ({\n language: model.getLanguage()\n })\n },\n /**\n * @type {string} FLAVOR_SWITCH\n * @memberof KavaEventType\n */\n FLAVOR_SWITCH: {\n type: 'FLAVOR_SWITCH',\n index: 43,\n getEventModel: (model: KavaModel): any => ({\n actualBitrate: model.getActualBitrate()\n })\n },\n /**\n * @type {string} SPEED\n * @memberof KavaEventType\n */\n SPEED: {\n type: 'SPEED',\n index: 41,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} CAPTIONS\n * @memberof KavaEventType\n */\n CAPTIONS: {\n type: 'CAPTIONS',\n index: 38,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} ERROR\n * @memberof KavaEventType\n */\n ERROR: {\n type: 'ERROR',\n index: 98,\n getEventModel: (model: KavaModel): any => ({\n errorCode: model.getErrorCode(),\n errorDetails: model.getErrorDetails(),\n errorPosition: model.getErrorPosition()\n })\n },\n /**\n * @type {string} RELATED_OPEN\n * @memberof KavaEventType\n */\n RELATED_OPEN: {\n type: 'RELATED_OPEN',\n index: 36,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} RELATED_SELECTED\n * @memberof KavaEventType\n */\n RELATED_SELECTED: {\n type: 'RELATED_SELECTED',\n index: 37,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} SHARE_CLICKED\n * @memberof KavaEventType\n */\n SHARE_CLICKED: {\n type: 'SHARE_CLICKED',\n index: 21,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} SHARE_NETWORK\n * @memberof KavaEventType\n */\n SHARE_NETWORK: {\n type: 'SHARE_NETWORK',\n index: 22,\n getEventModel: (model: KavaModel): any => ({\n socialNetwork: model.getShareNetworkName()\n })\n },\n ENTER_FULLSCREEN: {\n type: 'ENTER_FULLSCREEN',\n index: 31,\n getEventModel: (model: KavaModel): any => ({\n screenMode: model.getScreenMode()\n })\n },\n EXIT_FULLSCREEN: {\n type: 'EXIT_FULLSCREEN',\n index: 32,\n getEventModel: (model: KavaModel): any => ({\n screenMode: model.getScreenMode()\n })\n },\n DOWNLOAD: {\n type: 'DOWNLOAD',\n index: 23,\n getEventModel: (): any => ({})\n },\n REPORT_CLICKED: {\n type: 'REPORT_CLICKED',\n index: 24,\n getEventModel: (): any => ({})\n },\n REPORT_SUBMITTED: {\n type: 'REPORT_SUBMITTED',\n index: 25,\n getEventModel: (model: KavaModel): any => ({\n reportType: model.getReportType()\n })\n },\n INFO: {\n type: 'INFO',\n index: 40,\n getEventModel: (): any => ({})\n }\n};\n\nexport const KavaEventType: { [event: string]: string } = ((eventType): any => {\n Object.keys(KavaEventModel).forEach((k) => (eventType[k] = k));\n return eventType;\n})({});\n//\n// /**\n// * Gets the full event model for a certain event object including the common params.\n// * @private\n// * @param {KavaEvent} eventObj - The event model.\n// * @param {KavaModel} model - The plugin model store.\n// * @returns {Object} - The full event model.\n// */\nexport function getEventModel(eventObj: KavaEvent, model: KavaModel): any {\n const commonModel: any = {\n eventType: eventObj.index,\n partnerId: model.getPartnerId(),\n entryId: model.getEntryId(),\n sessionId: model.getSessionId(),\n eventIndex: model.getEventIndex(),\n referrer: model.getReferrer(),\n deliveryType: model.getDeliveryType(),\n playbackType: model.getPlaybackType(),\n clientVer: model.getClientVer(),\n clientTag: model.getClientTag(),\n position: model.getPosition(),\n playbackSpeed: model.getPlaybackSpeed()\n };\n\n if (model.getCaption()) {\n commonModel.caption = model.getCaption();\n }\n if (model.getSessionStartTime()) {\n commonModel.sessionStartTime = model.getSessionStartTime();\n }\n if (model.getKS()) {\n commonModel.ks = model.getKS();\n }\n if (model.getVirtualEventId()) {\n commonModel.virtualEventId = model.getVirtualEventId();\n }\n if (model.getUIConfId()) {\n commonModel.uiConfId = model.getUIConfId();\n }\n if (model.getPlaylistId()) {\n commonModel.playlistId = model.getPlaylistId();\n }\n if (model.getCustomVar1()) {\n commonModel.customVar1 = model.getCustomVar1();\n }\n if (model.getCustomVar2()) {\n commonModel.customVar2 = model.getCustomVar2();\n }\n if (model.getCustomVar3()) {\n commonModel.customVar3 = model.getCustomVar3();\n }\n if (model.getPlaybackContext()) {\n commonModel.playbackContext = model.getPlaybackContext();\n }\n if (model.getApplication()) {\n commonModel.application = model.getApplication();\n }\n if (model.getKalturaApplicationVersion()) {\n commonModel.kalturaApplicationVer = model.getKalturaApplicationVersion();\n }\n if (model.getKalturaApplication()) {\n commonModel.kalturaApplication = model.getKalturaApplication();\n }\n if (model.getUserId()) {\n commonModel.userId = model.getUserId();\n }\n if (model.getPersistentSessionId()) {\n commonModel.persistentSessionId = model.getPersistentSessionId();\n }\n if (model.getHostingKalturaApplication()) {\n commonModel.hostingKalturaApplication = model.getHostingKalturaApplication();\n }\n if (model.getHostingKalturaApplicationVersion()) {\n commonModel.hostingKalturaApplicationVersion = model.getHostingKalturaApplicationVersion();\n }\n const eventModel = eventObj.getEventModel(model);\n return Object.assign(eventModel, commonModel);\n}\n","/**\n * Manage the video rates for the KAVA plugin.\n * @private\n * @class KavaRateHandler\n */\nclass KavaRateHandler {\n private _rates: any[] = [];\n\n constructor() {\n this._rates = [];\n }\n\n /**\n * Sets the video rates.\n * @param {Array<number>} rates - The video rates.\n * @returns {void}\n * @memberof KavaRateHandler\n * @instance\n */\n public setRates(rates: Array<number>): void {\n this._rates = [];\n rates.forEach((rate) => {\n this._rates.push({\n rate: rate,\n active: false,\n duration: 0\n });\n });\n }\n\n /**\n * Sets the current rate.\n * @param {number} rate - The current rate.\n * @returns {void}\n * @memberof KavaRateHandler\n * @instance\n */\n public setCurrent(rate: number): void {\n this._rates.forEach((o) => (o.active = false));\n const obj = this._rates.find((o) => o.rate === rate);\n if (obj) {\n obj.active = true;\n }\n }\n\n /**\n * Gets the current rate.\n * @returns {number} - The current rate.\n * @memberof KavaRateHandler\n * @instance\n */\n public getCurrent(): number {\n const current = this._rates.find((o) => o.active);\n return current ? current.rate : -1;\n }\n\n /**\n * Increases the duration of the current rate.\n * @returns {void}\n * @memberof KavaRateHandler\n * @instance\n */\n public countCurrent(): void {\n const current = this._rates.find((o) => o.active);\n if (current) {\n current.duration++;\n }\n }\n\n /**\n * Gets the average rate.\n * @returns {number} - The average rate.\n * @memberof KavaRateHandler\n * @instance\n */\n public getAverage(): number {\n let totalDuration = 0;\n let sum = 0;\n this._rates.forEach((o) => {\n sum += o.rate * o.duration;\n totalDuration += o.duration;\n });\n return totalDuration ? sum / totalDuration : 0;\n }\n\n /**\n * Resets the duration of all rates.\n * @returns {void}\n * @memberof KavaRateHandler\n * @instance\n */\n public reset(): void {\n this._rates.forEach((o) => (o.duration = 0));\n }\n\n /**\n * Destroys the class.\n * @returns {void}\n * @memberof KavaRateHandler\n * @instance\n */\n public destroy(): void {\n this._rates = [];\n }\n}\n\nexport { KavaRateHandler };\n","import { core } from '@playkit-js/kaltura-player-js';\nconst { FakeEvent, FakeEventTarget } = core;\n\nconst SECOND: number = 1000;\n\n/**\n * Create service worker with timer.\n * @private\n * @class WorkerTimer\n * @param {void} callback - callback that triggers on timer tick.\n * @param {number} interval - interval in ms.\n */\nclass WorkerTimer {\n private worker: Worker | null = null;\n constructor(callback, interval) {\n const blob = new Blob([`setInterval(() => postMessage(0), ${interval});`]);\n const workerScript = URL.createObjectURL(blob);\n this.worker = new Worker(workerScript);\n this.worker.onmessage = callback;\n }\n\n /**\n * Terminate service worker.\n * @returns {void}\n * @memberof WorkerTimer\n * @instance\n */\n public stop(): void {\n if (this.worker) {\n this.worker.terminate();\n }\n }\n}\n\n/**\n * Mange a timer and dispatches related events.\n * @private\n * @class KavaTimer\n * @param {Object} config - The timer config.\n */\nclass KavaTimer extends FakeEventTarget {\n private _resetCounter!: number;\n private _eventCounter!: number;\n private _timer?: WorkerTimer | null;\n private _stopped!: boolean;\n private _config: any;\n\n public static Event = {\n TICK: 'tick',\n RESET: 'reset',\n REPORT: 'report'\n };\n\n constructor(config: any) {\n super();\n this._config = config;\n }\n\n /**\n * Starts the timer interval.\n * @returns {void}\n * @memberof KavaTimer\n * @instance\n */\n public start(): void {\n this._terminateTimer();\n this._stopped = false;\n this._resetCounter = 0;\n this._eventCounter = 0;\n this._timer = new WorkerTimer(() => this._monitor(), SECOND);\n }\n\n /**\n * Continues the timer to dispatch REPORT.\n * @returns {void}\n * @memberof KavaTimer\n * @instance\n */\n public resume(): void {\n this._stopped = false;\n this._resetCounter = 0;\n }\n\n /**\n * Stops the timer from dispatch REPORT and starts the timer to dispatch RESET.\n * @returns {void}\n * @memberof KavaTimer\n * @instance\n */\n public stop(): void {\n this._stopped = true;\n }\n\n /**\n * @returns {boolean} - Whether the timer is stopped.\n * @memberof KavaTimer\n * @instance\n */\n public isStopped(): boolean {\n return this._stopped;\n }\n\n /**\n * Destroys the timer.\n * @returns {void}\n * @memberof KavaTimer\n * @instance\n */\n public destroy(): void {\n this._terminateTimer();\n }\n\n private _terminateTimer(): void {\n if (this._timer) {\n this._timer.stop();\n this._timer = null;\n }\n }\n\n private _monitor(): void {\n if (this._stopped) {\n if (this._resetCounter === this._config.resetCounter) {\n this.dispatchEvent(new FakeEvent(KavaTimer.Event.RESET));\n this._resetCounter = 0;\n this._eventCounter = 0;\n }\n this._resetCounter++;\n } else {\n this.dispatchEvent(new FakeEvent(KavaTimer.Event.TICK));\n if (this._eventCounter === this._config.eventCounter) {\n this.dispatchEvent(new FakeEvent(KavaTimer.Event.REPORT));\n this._eventCounter = 0;\n }\n this._eventCounter++;\n }\n }\n}\n\nexport { KavaTimer };\n","export enum EventBucketName {\n ApplicationEvents = 'ApplicationEvents',\n PlayerEvents = 'PlayerEvents'\n}\n","// EventVar 1 in kava server\n\nexport enum ButtonType {\n Create = 1,\n Filter = 2,\n Search = 3,\n Export = 4,\n Navigate = 5,\n Schedule = 6,\n Insert = 7,\n Choose = 8,\n Launch = 9,\n Open = 10,\n Send = 11,\n Invite = 12,\n Close = 13,\n Save = 14,\n Expand = 15,\n Collapse = 16,\n Edit = 17,\n Delete = 18,\n Browse = 19,\n Load = 20,\n Add = 21,\n Menu = 22,\n Register = 23,\n Login = 24,\n Link = 25,\n Toggle = 26,\n Thumbnail = 27,\n Download = 28,\n Share = 29\n}\n","export const ApplicationEventType = {\n BUTTON_CLICKED: 10002,\n PAGE_LOAD: 10003\n};\n","// // EventVar 1 in kava server\nexport enum PageLoadType {\n View = 1,\n Create = 2,\n Edit = 3,\n Participate = 4,\n List = 5,\n Analytics = 6,\n Admin = 7,\n Error = 8,\n Login = 9,\n Registration = 10,\n Custom = 11\n}\n","const playkitUIEventsNamespace = 'playkit-ui';\nexport const PlaykitUIEvents = {\n USER_CLICKED_LOGO: `${playkitUIEventsNamespace}-userclickedlogo`,\n USER_SELECTED_CAPTIONS_SIZE: `${playkitUIEventsNamespace}-userselectedcaptionssize`,\n USER_SELECTED_CAPTIONS_ALIGNMENT: `${playkitUIEventsNamespace}-userselectedcaptionsalignment`,\n USER_SELECTED_CAPTIONS_FONT_COLOR: `${playkitUIEventsNamespace}-userselectedcaptionsfontcolor`,\n USER_SELECTED_CAPTIONS_FONT_FAMILY: `${playkitUIEventsNamespace}-userselectedcaptionsfontfamily`,\n USER_SELECTED_CAPTIONS_FONT_STYLE: `${playkitUIEventsNamespace}-userselectedcaptionsfontstyle`,\n USER_SELECTED_CAPTIONS_FONT_OPACITY: `${playkitUIEventsNamespace}-userselectedcaptionsfontopacity`,\n USER_SELECTED_CAPTIONS_BACKGROUND_COLOR: `${playkitUIEventsNamespace}-userselectedcaptionsbackgroundcolor`,\n USER_SELECTED_CAPTIONS_BACKGROUND_OPACITY: `${playkitUIEventsNamespace}-userselectedcaptionsbackgroundopacity`\n};\n\nexport const NavigationEvents = {\n NAVIGATION_OPEN: 'navigation_open',\n NAVIGATION_CLOSE: 'navigation_close',\n NAVIGATION_SEARCH: 'navigation_search',\n NAVIGATION_ITEM_CLICK: 'navigation_item_click',\n NAVIGATION_EXPANDABLE_TEXT_CLICK: 'navigation_expandable_text_clicked'\n};\n\nexport const DownloadEvents = {\n DOWNLOAD_ITEM_CLICKED: 'download_item_clicked',\n SHOW_OVERLAY: 'download_show_overlay',\n HIDE_OVERLAY: 'download_hide_overlay'\n};\n\nexport const TranscriptEvents = {\n TRANSCRIPT_OPEN: 'transcript_open',\n TRANSCRIPT_CLOSE: 'transcript_close',\n TRANSCRIPT_DOWNLOAD: 'transcript_download',\n TRANSCRIPT_PRINT: 'transcript_print',\n TRANSCRIPT_SEARCH: 'transcript_search',\n TRANSCRIPT_NAVIGATE_RESULT: 'transcript_navigate_result',\n TRANSCRIPT_POPOUT_OPEN: 'transcript_popout_open',\n TRANSCRIPT_POPOUT_CLOSE: 'transcript_popout_close',\n TRANSCRIPT_POPOUT_DRAG: 'transcript_popout_drag',\n TRANSCRIPT_POPOUT_RESIZE: 'transcript_popout_resize'\n};\n\nexport const EadEvents = {\n EAD_ON: 'EAD_on',\n EAD_OFF: 'EAD_off',\n EAD_SKIP: 'EAD_skip',\n EAD_REPLAY: 'EAD_replay',\n EAD_PAUSE: 'EAD_pause',\n EAD_PLAY: 'EAD_play',\n EAD_SCROLL: 'EAD_scroll'\n};\n\nexport const DualscreenEvents = {\n CHANGE_LAYOUT: 'dualscreen_change_layout',\n SIDE_DISPLAYED: 'dualscreen_side_displayed'\n};\nexport const ShareEvents = {\n SHARE_CLICKED: 'share_clicked',\n SHARE_CLOSE: 'share_close',\n SHARE_NETWORK: 'share_network',\n SHARE_COPY: 'share_copy'\n};\n\nexport const BumperEvents = {\n BUMPER_CLICKED: 'bumper_clicked'\n};\nexport const SkipEvents = {\n SKIP_BUTTON_CLICK: 'skip_button_click',\n SKIP_BUTTON_DISPLAYED: 'skip_button_displayed'\n};\nexport const PlaylistEvents = {\n PLAYLIST_OPEN: 'playlist_open',\n PLAYLIST_CLOSE: 'playlist_close'\n};\n\nexport const RelatedEvents = {\n RELATED_OPEN: 'related_open',\n RELATED_CLOSE: 'related_close',\n RELATED_ENTRY_SELECTED: 'related_entry_selected',\n RELATED_ENTRY_AUTO_PLAYED: 'related_entry_auto_played',\n RELATED_GRID_DISPLAYED: 'related_grid_displayed'\n};\n\nexport const CallToActionEvents = {\n CALL_TO_ACTION_BUTTON_CLICK: 'call_to_action_button_click',\n CALL_TO_ACTION_DISPLAYED: 'call_to_action_displayed'\n};\n\nexport const HotspotsEvents = {\n HOTSPOT_CLICK: 'hotspot_click',\n HOTSPOT_DISPLAYED: 'hotspot_displayed'\n};\n\nexport const IvqEventTypes = {\n QUIZ_STARTED: 'QuizStarted',\n QUIZ_SKIPPED: 'QuizSkipped',\n QUIZ_SEEK: 'QuizSeek',\n QUESTION_ANSWERED: 'QuestionAnswered',\n QUIZ_SUBMITTED: 'QuizSubmitted',\n QUIZ_RETAKE: 'QuizRetake',\n QUIZ_QUESTION_CHANGED: 'QuizQuestionChanged'\n};\n\nexport const DetectAdBlockEvents = {\n DETECT_AD_BLOCK_PARTIAL_OVERLAY_SHOWN: 'detect_ad_block_partial_overlay_shown',\n DETECT_AD_BLOCK_FULL_OVERLAY_SHOWN: 'detect_ad_block_full_overlay_shown',\n DETECT_AD_BLOCK_SECONDARY_BUTTON_CLICKED: 'detect_ad_block_secondary_button_clicked',\n DETECT_AD_BLOCK_X_BUTTON_CLICKED: 'detect_ad_block_x_button_clicked',\n DETECT_AD_BLOCK_AD_BLOCKER_DISABLED: 'detect_ad_block_ad_blocker_disabled',\n DETECT_AD_BLOCK_AD_BLOCKER_NOT_DISABLED: 'detect_ad_block_ad_blocker_not_disabled'\n};\n\nexport const ReelsEvents = {\n REELS_PLAY: 'reels_play',\n REELS_PAUSE: 'reels_pause',\n REELS_MUTE: 'reels_mute',\n REELS_UNMUTE: 'reels_unmute',\n REELS_SEEK: 'reels_seek',\n REELS_POSTER_CLICKED: 'reels_poster_clicked',\n REELS_ENTRY_LOADED: 'reels_entry_loaded',\n REELS_PLAYLIST_LOADED: 'reels_playlist_loaded'\n};\n\nexport const PluginsEvents = {\n ...NavigationEvents,\n ...DownloadEvents,\n ...TranscriptEvents,\n ...DualscreenEvents,\n ...ShareEvents,\n ...BumperEvents,\n ...SkipEvents,\n ...PlaylistEvents,\n ...RelatedEvents,\n ...CallToActionEvents,\n ...HotspotsEvents,\n ...IvqEventTypes,\n ...DetectAdBlockEvents,\n ...ReelsEvents,\n ...EadEvents\n};\n","type ApplicationType = { [app: string]: string };\n\nconst KalturaApplication: ApplicationType = {\n KMC: '0',\n KMS: '1',\n KAF: '2',\n PITCH: '3',\n KMS_GO: '4',\n WEBCASTING: '5',\n PERSONAL_CAPTURE: '6',\n KME: '7',\n KME_MOBILE_APP: '8',\n PATH: '9',\n LECTURE_CAPTURE: '10',\n EP: '11',\n CHAT_AND_COLLABORATION: '12',\n ANALYTICS: '13',\n EXPRESS_CAPTURE: '14',\n KPF: '15',\n KAF_GO: '16',\n SITES: '17',\n STUDIO: '18',\n CAPTIONS_EDITOR: '19',\n CHECKLIST: '20',\n PLAYER: '21',\n GENIE: '23'\n};\n\nexport { KalturaApplication };\nexport type { ApplicationType };\n","export enum ApplicationFeature {\n DUAL_SCREEN = 'dual_screen',\n SHARE_EMBED = 'share_embed',\n DOWNLOAD = 'download',\n BUMPER = 'bumper',\n NAVIGATION = 'navaigation',\n TRANSCRIPT = 'transcript',\n PLAYLIST = 'playlist',\n SKIP = 'skip',\n RELATED = 'related',\n CALL_TO_ACTION = 'call_to_action',\n HOTSPOPT = 'hotspot',\n QUIZ = 'quiz',\n UI = 'ui',\n DETECT_AD_BLOCK = 'detect_ad_block',\n REELS = 'reels_player',\n EAD = 'extended_audio_description'\n}\n","import { KavaModel } from './kava-model';\nimport { KavaEvent } from './types';\nimport { ButtonType } from './enums/button-type';\nimport { ApplicationEventType } from './enums/application-event-type';\nimport { PageLoadType } from './enums/page-load-type';\nimport { PlaykitUIEvents, PluginsEvents } from './applications-events';\nimport { KalturaApplication } from './enums/kaltura-application';\nimport { ApplicationFeature } from './enums/application-feature';\n\nexport function getApplicationEventsModel(eventObj: KavaEvent, model: KavaModel, innerEventPayload: any): any {\n const commonModel = {\n partnerId: model.getPartnerId(),\n entryId: model.getEntryId(),\n sessionId: model.getSessionId(),\n kalturaApplication: KalturaApplication.PLAYER\n };\n\n if (model.getVirtualEventId()) {\n commonModel['virtualEventId'] = model.getVirtualEventId();\n }\n if (model.getKalturaApplication()) {\n commonModel['application'] = model.getApplication();\n }\n if (model.getKalturaApplicationVersion()) {\n commonModel['kalturaApplicationVer'] = model.getKalturaApplicationVersion();\n }\n if (model.getUserId()) {\n commonModel['userId'] = model.getUserId();\n }\n if (model.getKS()) {\n commonModel['ks'] = model.getKS();\n }\n if (model.getHostingKalturaApplication()) {\n commonModel['hostingKalturaApplication'] = model.getHostingKalturaApplication();\n }\n if (model.getHostingKalturaApplicationVersion()) {\n commonModel['hostingKalturaApplicationVersion'] = model.getHostingKalturaApplicationVersion();\n }\n\n const eventModel = eventObj.getEventModel(innerEventPayload);\n const namedEventModel = {};\n const { eventType, eventVar1, eventVar2, eventVar3, eventVar4, applicationFeature } = eventModel;\n namedEventModel['eventType'] = eventType;\n namedEventModel['feature'] = applicationFeature;\n\n if (eventModel.eventType === ApplicationEventType.BUTTON_CLICKED) {\n namedEventModel['buttonName'] = eventVar1;\n namedEventModel['buttonType'] = eventVar2;\n namedEventModel['buttonValue'] = eventVar3;\n namedEventModel['buttonInfo'] = eventVar4;\n } else if (eventModel.eventType === ApplicationEventType.PAGE_LOAD) {\n namedEventModel['pageName'] = eventVar1;\n namedEventModel['pageType'] = eventVar2;\n namedEventModel['pageValue'] = eventVar3;\n namedEventModel['pageInfo'] = eventVar4;\n }\n\n return Object.assign(namedEventModel, commonModel);\n}\n\nexport const ApplicationEventsModel: { [playerEventName: string]: KavaEvent } = {\n [PluginsEvents.CHANGE_LAYOUT]: {\n type: 'CHANGE_LAYOUT',\n getEventModel: ({ layout }: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: layout !== 'Hidden' ? 'Dual__screen_change_layout' : '',\n eventVar2: ButtonType.Choose,\n eventVar3: layout,\n applicationFeature: ApplicationFeature.DUAL_SCREEN\n })\n },\n [PluginsEvents.SIDE_DISPLAYED]: {\n type: 'SIDE_DISPLAYED',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar1: 'Dual__screen_slide_displayed',\n eventVar2: PageLoadType.View,\n eventVar3: payload,\n applicationFeature: ApplicationFeature.DUAL_SCREEN\n })\n },\n [PluginsEvents.SHARE_CLICKED]: {\n type: 'SHARE_CLICKED',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Share_embed_open',\n eventVar2: ButtonType.Open,\n eventVar3: '',\n applicationFeature: ApplicationFeature.SHARE_EMBED\n })\n },\n [PluginsEvents.SHARE_CLOSE]: {\n type: 'SHARE_CLOSE',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Share_embed_close',\n eventVar2: ButtonType.Close,\n eventVar3: '',\n applicationFeature: ApplicationFeature.SHARE_EMBED\n })\n },\n [PluginsEvents.SHARE_NETWORK]: {\n type: 'SHARE_NETWORK',\n getEventModel: (payload: any): any => {\n const model = {\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Share,\n eventVar3: payload['videoClippingOption'] === 'full' ? 'full-length' : payload['videoClippingOption'],\n applicationFeature: ApplicationFeature.SHARE_EMBED\n };\n let eventVar1: string = '';\n\n switch (payload.socialNetworkName) {\n case 'twitter':\n eventVar1 = 'Share_embed_X_click';\n break;\n case 'facebook':\n eventVar1 = 'Share_embed_facebook_click';\n break;\n case 'email':\n eventVar1 = 'Share_embed_email_click';\n break;\n case 'linkedin':\n eventVar1 = 'Share_embed_linkedin_click';\n break;\n case 'embed':\n eventVar1 = 'Share_embed_embed_click';\n break;\n }\n\n return { ...model, eventVar1 };\n }\n },\n [PluginsEvents.SHARE_COPY]: {\n type: 'SHARE_COPY',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Share_embed_copy_click',\n eventVar2: ButtonType.Share,\n eventVar3: payload['videoClippingOption'] === 'full' ? 'full-length' : payload['videoClippingOption'],\n applicationFeature: ApplicationFeature.SHARE_EMBED\n })\n },\n [PluginsEvents.DOWNLOAD_ITEM_CLICKED]: {\n type: 'DOWNLOAD_ITEM_CLICKED',\n getEventModel: (payload: any): any => {\n const model = {\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Download,\n applicationFeature: ApplicationFeature.DOWNLOAD\n };\n const { assetType, fileType, description, isDefault } = payload;\n\n let eventVar1: string;\n let eventVar3: string;\n\n switch (assetType) {\n case 'Media':\n eventVar1 = isDefault ? 'Download_video_download' : 'Download_additional_stream_download';\n eventVar3 = description;\n break;\n case 'Captions':\n eventVar1 = 'Download_captions_download';\n eventVar3 = description;\n break;\n case 'Attachments':\n eventVar1 = 'Download_attachment_download';\n eventVar3 = fileType;\n break;\n default:\n eventVar1 = '';\n eventVar3 = '';\n }\n return { ...model, eventVar1, eventVar3 };\n }\n },\n [PluginsEvents.SHOW_OVERLAY]: {\n type: 'SHOW_OVERLAY',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Download_open',\n eventVar2: ButtonType.Open,\n eventVar3: '',\n applicationFeature: ApplicationFeature.DOWNLOAD\n })\n },\n [PluginsEvents.HIDE_OVERLAY]: {\n type: 'HIDE_OVERLAY',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Download_close',\n eventVar2: ButtonType.Close,\n eventVar3: '',\n applicationFeature: ApplicationFeature.DOWNLOAD\n })\n },\n [PluginsEvents.BUMPER_CLICKED]: {\n type: 'BUMPER_CLICKED',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Bumper_click',\n eventVar2: ButtonType.Link,\n eventVar3: payload['clickThroughUrl'],\n applicationFeature: ApplicationFeature.BUMPER\n })\n },\n [PluginsEvents.NAVIGATION_OPEN]: {\n type: 'NAVIGATION_OPEN',\n getEventModel: (payload: any): any => ({\n eventType: payload['auto'] ? ApplicationEventType.PAGE_LOAD : ApplicationEventType.BUTTON_CLICKED,\n eventVar1: payload['auto'] ? 'Navigation_open_auto' : 'Navigation_open_manual',\n eventVar2: PageLoadType.View,\n eventVar3: '',\n applicationFeature: ApplicationFeature.NAVIGATION\n })\n },\n [PluginsEvents.NAVIGATION_CLOSE]: {\n type: 'NAVIGATION_CLOSE',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Navigation_close',\n eventVar2: ButtonType.Close,\n eventVar3: '',\n applicationFeature: ApplicationFeature.NAVIGATION\n })\n },\n [PluginsEvents.NAVIGATION_SEARCH]: {\n type: 'NAVIGATION_SEARCH',\n getEventModel: (payload: any): any => {\n const model = {\n eventType: ApplicationEventType.BUTTON_CLICKED,\n applicationFeature: ApplicationFeature.NAVIGATION\n };\n\n let eventVar1: string = '';\n let eventVar2: ButtonType = ButtonType.Open;\n\n const { searchQuery, activeTab, availableTabs } = payload;\n\n const eventVar3 = searchQuery;\n switch (activeTab) {\n case 'All':\n const isItSearch = searchQuery.length > 0 || availableTabs.length === 0;\n eventVar1 = isItSearch ? 'Navigation_search' : 'Navigation_all_tab';\n eventVar2 = isItSearch ? ButtonType.Search : ButtonType.Open;\n break;\n case 'Chapter':\n eventVar1 = 'Navigation_chapters_tab';\n break;\n case 'Slide':\n eventVar1 = 'Navigation_slides_tab';\n break;\n case 'Hotspot':\n eventVar1 = 'Navigation_hotspots_tab';\n break;\n }\n return { ...model, eventVar1, eventVar2, eventVar3 };\n }\n },\n [PluginsEvents.NAVIGATION_ITEM_CLICK]: {\n type: 'NAVIGATION_ITEM_CLICK',\n getEventModel: (payload: any): any => {\n const model = {\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Choose,\n eventVar3: '',\n applicationFeature: ApplicationFeature.NAVIGATION\n };\n\n let eventVar1: string = '';\n\n switch (payload.itemType) {\n case 'Chapter':\n eventVar1 = 'Navigation_chapter_click';\n break;\n case 'Slide':\n eventVar1 = 'Navigation_slide_click';\n break;\n case 'Hotspot':\n eventVar1 = 'Navigation_hotspots_click';\n break;\n }\n return { ...model, eventVar1 };\n }\n },\n [PluginsEvents.NAVIGATION_EXPANDABLE_TEXT_CLICK]: {\n type: 'NAVIGATION_EXPANDABLE_TEXT_CLICK',\n getEventModel: (payload: any): any => {\n const model = {\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar3: '',\n applicationFeature: ApplicationFeature.NAVIGATION\n };\n\n const { isTextExpanded, itemType } = payload;\n\n let eventVar1: string = '';\n const eventVar2 = isTextExpanded ? ButtonType.Expand : ButtonType.Collapse;\n\n switch (itemType) {\n case 'Chapter':\n eventVar1 = isTextExpanded ? 'Navigation_chapters_see_more' : 'Navigation_chapters_see_less';\n break;\n case 'Slide':\n eventVar1 = isTextExpanded ? 'Navigation_slides_see_more' : 'Navigation_slides_see_less';\n break;\n case 'Hotspot':\n eventVar1 = isTextExpanded ? 'Navigation_hotspots_see_more' : 'Navigation_hotspots_see_less';\n break;\n }\n\n return { ...model, eventVar1, eventVar2 };\n }\n },\n\n [PluginsEvents.TRANSCRIPT_OPEN]: {\n type: 'TRANSCRIPT_OPEN',\n getEventModel: (payload: any): any => ({\n eventType: payload['auto'] ? ApplicationEventType.PAGE_LOAD : ApplicationEventType.BUTTON_CLICKED,\n eventVar1: payload['auto'] ? 'Transcript_open_auto' : 'Transcript_open_manual',\n eventVar2: PageLoadType.View,\n eventVar3: '',\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_CLOSE]: {\n type: 'TRANSCRIPT_CLOSE',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_close',\n eventVar2: ButtonType.Close,\n eventVar3: '',\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_DOWNLOAD]: {\n type: 'TRANSCRIPT_DOWNLOAD',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_download',\n eventVar2: ButtonType.Download,\n eventVar3: payload['videoPosition'],\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_PRINT]: {\n type: 'TRANSCRIPT_PRINT',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_print',\n eventVar2: ButtonType.Download,\n eventVar3: payload['videoPosition'],\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_SEARCH]: {\n type: 'TRANSCRIPT_SEARCH',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_search',\n eventVar2: ButtonType.Search,\n eventVar3: payload.search,\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_NAVIGATE_RESULT]: {\n type: 'TRANSCRIPT_NAVIGATE_RESULT',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_navigate_result',\n eventVar2: ButtonType.Navigate,\n eventVar3: payload.index,\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_POPOUT_OPEN]: {\n type: 'TRANSCRIPT_POPOUT_OPEN',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_popout_open',\n eventVar2: ButtonType.Expand,\n eventVar3: '',\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_POPOUT_CLOSE]: {\n type: 'TRANSCRIPT_POPOUT_CLOSE',\n getEventModel: (payload: { type: string }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_popout_close',\n eventVar2: ButtonType.Collapse,\n eventVar3: payload.type,\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_POPOUT_DRAG]: {\n type: 'TRANSCRIPT_POPOUT_DRAG',\n getEventModel: (payload: { position: { x: number; y: number } }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_popout_drag',\n eventVar2: ButtonType.Edit,\n eventVar3: `${payload.position.x},${payload.position.y}`,\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_POPOUT_RESIZE]: {\n type: 'TRANSCRIPT_POPOUT_RESIZE',\n getEventModel: (payload: { size: { x: number; y: number } }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_popout_resize',\n eventVar2: ButtonType.Edit,\n eventVar3: `${payload.size.x},${payload.size.y}`,\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.PLAYLIST_OPEN]: {\n type: 'PLAYLIST_OPEN',\n getEventModel: (payload: any): any => ({\n eventType: payload['auto'] ? ApplicationEventType.PAGE_LOAD : ApplicationEventType.BUTTON_CLICKED,\n eventVar1: payload['auto'] ? 'Playlist_side_panel_open_auto' : 'Playlist_side_panel_open_manual',\n eventVar2: PageLoadType.View,\n eventVar3: payload['position'],\n applicationFeature: ApplicationFeature.PLAYLIST\n })\n },\n [PluginsEvents.PLAYLIST_CLOSE]: {\n type: 'PLAYLIST_CLOSE',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Playlist_side_panel_close_manual',\n eventVar2: ButtonType.Close,\n eventVar3: payload['position'],\n applicationFeature: ApplicationFeature.PLAYLIST\n })\n },\n [PluginsEvents.SKIP_BUTTON_CLICK]: {\n type: 'SKIP_BUTTON_CLICK',\n getEventModel: (payload: any): any => {\n const model = {\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Navigate,\n eventVar3: '',\n applicationFeature: ApplicationFeature.SKIP\n };\n\n const { mode } = payload;\n let eventVar1: string = '';\n\n if (mode === 'intro') eventVar1 = 'Skip_intro_click';\n if (mode === 'outro') eventVar1 = 'Skip_outro_click';\n\n return { ...model, eventVar1 };\n }\n },\n [PluginsEvents.SKIP_BUTTON_DISPLAYED]: {\n type: 'SKIP_BUTTON_DISPLAYED',\n getEventModel: (payload: any): any => {\n const model = {\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar3: '',\n applicationFeature: ApplicationFeature.SKIP\n };\n\n const { mode } = payload;\n let eventVar1: string = '';\n\n if (mode === 'intro') eventVar1 = 'Skip_intro_displayed';\n if (mode === 'outro') eventVar1 = 'Skip_outro_displayed';\n\n return { ...model, eventVar1 };\n }\n },\n [PluginsEvents.RELATED_OPEN]: {\n type: 'RELATED_OPEN',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Related_open_manual',\n eventVar2: ButtonType.Open,\n eventVar3: payload['expandMode'],\n applicationFeature: ApplicationFeature.RELATED\n })\n },\n [PluginsEvents.RELATED_CLOSE]: {\n type: 'RELATED_CLOSE',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Related_close',\n eventVar2: ButtonType.Close,\n eventVar3: '',\n applicationFeature: ApplicationFeature.RELATED\n })\n },\n [PluginsEvents.RELATED_ENTRY_SELECTED]: {\n type: 'RELATED_ENTRY_SELECTED',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Related_entry_click',\n eventVar2: ButtonType.Navigate,\n eventVar3: '',\n applicationFeature: ApplicationFeature.RELATED\n })\n },\n [PluginsEvents.RELATED_ENTRY_AUTO_PLAYED]: {\n type: 'RELATED_ENTRY_AUTO_PLAYED',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar1: 'Related_entry_auto_continue',\n eventVar2: PageLoadType.View,\n eventVar3: '',\n applicationFeature: ApplicationFeature.RELATED\n })\n },\n [PluginsEvents.RELATED_GRID_DISPLAYED]: {\n type: 'RELATED_GRID_DISPLAYED',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar1: 'Related_open_auto',\n eventVar2: PageLoadType.View,\n eventVar3: '',\n applicationFeature: ApplicationFeature.RELATED\n })\n },\n [PluginsEvents.CALL_TO_ACTION_BUTTON_CLICK]: {\n type: 'CALL_TO_ACTION_BUTTON_CLICK',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar3: payload['label'],\n eventVar2: ButtonType.Link,\n eventVar1: payload['type'] === 'primary' ? 'CTA_primary_button_click' : 'CTA_secondary_button_click',\n applicationFeature: ApplicationFeature.CALL_TO_ACTION\n })\n },\n [PluginsEvents.CALL_TO_ACTION_DISPLAYED]: {\n type: 'CALL_TO_ACTION_DISPLAYED',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar1: 'CTA_displayed',\n eventVar2: PageLoadType.View,\n eventVar3: payload.displayType,\n eventVar4: payload.isMetadataBased ? 'metadata_based' : 'player_level',\n applicationFeature: ApplicationFeature.CALL_TO_ACTION\n })\n },\n [PluginsEvents.HOTSPOT_DISPLAYED]: {\n type: 'HOTSPOT_DISPLAYED',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar1: 'Hotspot_displayed',\n eventVar2: PageLoadType.View,\n eventVar3: payload['label'],\n applicationFeature: ApplicationFeature.HOTSPOPT\n })\n },\n [PluginsEvents.HOTSPOT_CLICK]: {\n type: 'HOTSPOT_CLICK',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Hotspot_click',\n eventVar2: ButtonType.Link,\n eventVar3: payload['label'],\n applicationFeature: ApplicationFeature.HOTSPOPT\n })\n },\n [PluginsEvents.QUIZ_STARTED]: {\n type: 'QUIZ_STARTED',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Quiz_start',\n eventVar2: ButtonType.Load,\n eventVar3: '',\n applicationFeature: ApplicationFeature.QUIZ\n })\n },\n [PluginsEvents.QUIZ_SUBMITTED]: {\n type: 'QUIZ_SUBMITTED',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Quiz_submit',\n eventVar2: ButtonType.Send,\n eventVar3: '',\n applicationFeature: ApplicationFeature.QUIZ\n })\n },\n [PluginsEvents.QUIZ_SKIPPED]: {\n type: 'QUIZ_SKIPPED',\n getEventModel: ({ questionIndex }: { questionIndex: number }): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Quiz_skip_question',\n eventVar2: ButtonType.Navigate,\n eventVar3: questionIndex,\n applicationFeature: ApplicationFeature.QUIZ\n })\n },\n [PluginsEvents.QUIZ_SEEK]: {\n type: 'QUIZ_SEEK',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Quiz_nav_click',\n eventVar2: ButtonType.Navigate,\n eventVar3: '',\n applicationFeature: ApplicationFeature.QUIZ\n })\n },\n [PluginsEvents.EAD_ON]: {\n type: 'EAD_ON',\n getEventModel: ({ language }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'EAD_on',\n eventVar2: ButtonType.Toggle,\n eventVar3: language,\n applicationFeature: ApplicationFeature.EAD\n })\n },\n [PluginsEvents.EAD_OFF]: {\n type: 'EAD_OFF',\n getEventModel: ({ language }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'EAD_off',\n eventVar2: ButtonType.Toggle,\n eventVar3: language,\n applicationFeature: ApplicationFeature.EAD\n })\n },\n [PluginsEvents.EAD_SKIP]: {\n type: 'EAD_SKIP',\n getEventModel: ({ trigger }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'EAD_skip',\n eventVar2: ButtonType.Toggle,\n eventVar3: trigger,\n applicationFeature: ApplicationFeature.EAD\n })\n },\n [PluginsEvents.EAD_REPLAY]: {\n type: 'EAD_REPLAY',\n getEventModel: ({ trigger }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'EAD_replay',\n eventVar2: ButtonType.Toggle,\n eventVar3: trigger,\n applicationFeature: ApplicationFeature.EAD\n })\n },\n [PluginsEvents.EAD_PAUSE]: {\n type: 'EAD_PAUSE',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'EAD_pause',\n eventVar2: ButtonType.Toggle,\n eventVar3: '',\n applicationFeature: ApplicationFeature.EAD\n })\n },\n [PluginsEvents.EAD_PLAY]: {\n type: 'EAD_PLAY',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'EAD_play',\n eventVar2: ButtonType.Toggle,\n eventVar3: '',\n applicationFeature: ApplicationFeature.EAD\n })\n },\n [PluginsEvents.EAD_SCROLL]: {\n type: 'EAD_SCROLL',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'EAD_scroll',\n eventVar2: ButtonType.Toggle,\n eventVar3: '',\n applicationFeature: ApplicationFeature.EAD\n })\n },\n [PlaykitUIEvents.USER_CLICKED_LOGO]: {\n type: 'USER_CLICKED_LOGO',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Logo_click',\n eventVar2: ButtonType.Link,\n eventVar3: payload['logoUrl'],\n applicationFeature: ApplicationFeature.UI\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_SIZE]: {\n type: 'USER_SELECTED_CAPTIONS_SIZE',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Advanced_captions_size',\n eventVar2: ButtonType.Choose,\n eventVar3: payload,\n applicationFeature: ApplicationFeature.UI\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_ALIGNMENT]: {\n type: 'USER_SELECTED_CAPTIONS_ALIGNMENT',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Advanced_captions_font_alignment',\n eventVar2: ButtonType.Choose,\n eventVar3: payload,\n applicationFeature: ApplicationFeature.UI\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_FONT_COLOR]: {\n type: 'USER_SELECTED_CAPTIONS_FONT_COLOR',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Advanced_captions_font_color',\n eventVar2: ButtonType.Choose,\n eventVar3: payload,\n applicationFeature: ApplicationFeature.UI\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_FONT_FAMILY]: {\n type: 'USER_SELECTED_CAPTIONS_FONT_FAMILY',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Advanced_captions_font_family',\n eventVar2: ButtonType.Choose,\n eventVar3: payload,\n applicationFeature: ApplicationFeature.UI\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_FONT_STYLE]: {\n type: 'USER_SELECTED_CAPTIONS_FONT_STYLE',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Advanced_captions_font_style',\n eventVar2: ButtonType.Choose,\n eventVar3: payload,\n applicationFeature: ApplicationFeature.UI\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_FONT_OPACITY]: {\n type: 'USER_SELECTED_CAPTIONS_FONT_OPACITY',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Advanced_captions_font_opacity',\n eventVar2: ButtonType.Choose,\n eventVar3: `${payload * 100}%`,\n applicationFeature: ApplicationFeature.UI\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_BACKGROUND_COLOR]: {\n type: 'USER_SELECTED_CAPTIONS_BACKGROUND_COLOR',\n getEventModel: (payload: number): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Advanced_captions_background_color',\n eventVar2: ButtonType.Choose,\n eventVar3: payload,\n applicationFeature: ApplicationFeature.UI\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_BACKGROUND_OPACITY]: {\n type: 'USER_SELECTED_CAPTIONS_BACKGROUND_OPACITY',\n getEventModel: (payload: number): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Advanced_captions_background_opacity',\n eventVar2: ButtonType.Choose,\n eventVar3: `${payload * 100}%`,\n applicationFeature: ApplicationFeature.UI\n })\n },\n [PluginsEvents.DETECT_AD_BLOCK_FULL_OVERLAY_SHOWN]: {\n type: 'DETECT_AD_BLOCK_FULL_OVERLAY_SHOWN',\n getEventModel: () => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar1: 'Ad_blocker_displayed',\n eventVar3: 'Allow_playback',\n applicationFeature: ApplicationFeature.DETECT_AD_BLOCK\n })\n },\n [PluginsEvents.DETECT_AD_BLOCK_PARTIAL_OVERLAY_SHOWN]: {\n type: 'DETECT_AD_BLOCK_PARTIAL_OVERLAY_SHOWN',\n getEventModel: () => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar1: 'Ad_blocker_displayed',\n eventVar3: 'Block_playback',\n applicationFeature: ApplicationFeature.DETECT_AD_BLOCK\n })\n },\n [PluginsEvents.DETECT_AD_BLOCK_SECONDARY_BUTTON_CLICKED]: {\n type: 'DETECT_AD_BLOCK_SECONDARY_BUTTON_CLICKED',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Close,\n eventVar1: 'Ad_blocker_keep_watching',\n eventVar3: 'secondary_button',\n applicationFeature: ApplicationFeature.DETECT_AD_BLOCK\n })\n },\n [PluginsEvents.DETECT_AD_BLOCK_X_BUTTON_CLICKED]: {\n type: 'DETECT_AD_BLOCK_X_BUTTON_CLICKED',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Close,\n eventVar1: 'Ad_blocker_keep_watching',\n eventVar3: 'x_button',\n applicationFeature: ApplicationFeature.DETECT_AD_BLOCK\n })\n },\n [PluginsEvents.DETECT_AD_BLOCK_AD_BLOCKER_DISABLED]: {\n type: 'DETECT_AD_BLOCK_AD_BLOCKER_DISABLED',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Close,\n eventVar1: 'Ad_blocker_disabled_ad_blocker',\n eventVar3: 'disabled',\n applicationFeature: ApplicationFeature.DETECT_AD_BLOCK\n })\n },\n [PluginsEvents.DETECT_AD_BLOCK_AD_BLOCKER_NOT_DISABLED]: {\n type: 'DETECT_AD_BLOCK_AD_BLOCKER_NOT_DISABLED',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Close,\n eventVar1: 'Ad_blocker_disabled_ad_blocker',\n eventVar3: 'still_detected',\n applicationFeature: ApplicationFeature.DETECT_AD_BLOCK\n })\n },\n [PluginsEvents.REELS_PLAY]: {\n type: 'REELS_PLAY',\n getEventModel: ({ duration, isResume }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Choose,\n eventVar1: 'reels_play_click',\n eventVar3: isResume ? 'resume' : 'manual_play',\n eventVar4: duration,\n applicationFeature: ApplicationFeature.REELS\n })\n },\n [PluginsEvents.REELS_PAUSE]: {\n type: 'REELS_PAUSE',\n getEventModel: ({ duration }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Choose,\n eventVar1: 'reels_pause',\n eventVar4: duration,\n applicationFeature: ApplicationFeature.REELS\n })\n },\n [PluginsEvents.REELS_MUTE]: {\n type: 'REELS_MUTE',\n getEventModel: ({ duration }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Choose,\n eventVar1: 'reels_mute',\n eventVar4: duration,\n applicationFeature: ApplicationFeature.REELS\n })\n },\n [PluginsEvents.REELS_UNMUTE]: {\n type: 'REELS_UNMUTE',\n getEventModel: ({ duration }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Choose,\n eventVar1: 'reels_unmute',\n eventVar4: duration,\n applicationFeature: ApplicationFeature.REELS\n })\n },\n [PluginsEvents.REELS_SEEK]: {\n type: 'REELS_SEEK',\n getEventModel: ({ duration, from, to }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Navigate,\n eventVar1: 'reels_seek',\n eventVar3: to > from ? 'forward' : 'backward',\n eventVar4: duration,\n applicationFeature: ApplicationFeature.REELS\n })\n },\n [PluginsEvents.REELS_POSTER_CLICKED]: {\n type: 'REELS_POSTER_CLICKED',\n getEventModel: ({ duration }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Choose,\n eventVar1: 'reels_navigate_to_entry',\n eventVar4: duration,\n applicationFeature: ApplicationFeature.REELS\n })\n },\n [PluginsEvents.REELS_ENTRY_LOADED]: {\n type: 'REELS_ENTRY_LOADED',\n getEventModel: ({ muted, playlistId }) => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar1: 'reels_entry_start_playback',\n eventVar3: muted ? 'muted' : 'unmuted',\n eventVar4: playlistId,\n applicationFeature: ApplicationFeature.REELS\n })\n },\n [PluginsEvents.REELS_PLAYLIST_LOADED]: {\n type: 'REELS_PLAYLIST_LOADED',\n getEventModel: ({ muted, autoplay, playlistId }) => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar1: 'reels_playlist_load',\n eventVar3: `${muted ? 'muted' : 'unmuted'} ; ${autoplay ? 'autoplay_on' : 'autoplay_off'}`,\n eventVar4: playlistId,\n applicationFeature: ApplicationFeature.REELS\n })\n }\n};\n","import { getEventModel } from './kava-event-model';\nimport { KavaEvent } from './types';\nimport { EventBucketName } from './enums/event-bucket-name';\nimport { getApplicationEventsModel } from './application-events-model';\n\n/**\n * The KAVA model that stores data.\n * @class KavaModel\n * @private\n * @param {?Object} - Initial model.\n */\nclass KavaModel {\n private sessionStartTime!: number;\n private eventIndex!: number;\n private errorPosition!: ErrorPosition;\n private playTimeSum!: number;\n private bufferTime!: number;\n private bufferTimeSum!: number;\n private language!: string;\n private caption!: string;\n private errorCode!: number;\n private errorDetails: any;\n private joinTime!: number;\n private canPlayTime!: number;\n private targetPosition!: number;\n private targetBuffer!: number;\n private registeredPlugins!: string;\n public totalSegmentsDownloadTime: number = 0;\n public totalSegmentsDownloadBytes: number = 0;\n public maxSegmentDownloadTime: number = 0;\n public maxManifestDownloadTime: number = 0;\n private forwardBufferHealth!: number;\n private droppedFramesRatio?: number | null = null;\n private soundMode!: SoundMode;\n private viewabilityMode!: ViewabilityMode;\n private tabMode!: TabMode;\n private screenMode: ScreenMode = ScreenMode.NOT_IN_FULLSCREEN;\n public maxNetworkConnectionOverhead: number = 0;\n private flavorParamsId: number = NaN;\n private networkConnectionType!: string;\n public playerJSLoadTime?: number | null = null;\n private shareNetworkName: string = '';\n private reportType: number = NaN;\n private playbackMode: number = NaN;\n private sourceEntryId: string | null = null;\n\n public getActualBitrate!: () => any;\n public getPlaybackSpeed!: () => any;\n public getAverageBitrate!: () => any;\n public getPartnerId!: () => any;\n public getEntryId!: () => any;\n public getPlaylistId!: () => any;\n public getSessionId!: () => any;\n public getClientVer!: () => any;\n public getClientTag!: () => any;\n public getKS!: () => any;\n public getVirtualEventId!: () => any;\n public getUIConfId!: () => any;\n public getReferrer!: () => any;\n public getCustomVar1!: () => any;\n public getCustomVar2!: () => any;\n public getCustomVar3!: () => any;\n public getPosition!: () => any;\n public getDeliveryType!: () => any;\n public getPlaybackType!: () => any;\n public getPlaybackContext!: () => any;\n public getApplication!: () => any;\n public getKalturaApplicationVersion!: () => any;\n public getKalturaApplication!: () => any;\n public getUserId!: () => any;\n public getPersistentSessionId!: () => any;\n public getHostingKalturaApplication!: () => any;\n public getHostingKalturaApplicationVersion!: () => any;\n\n constructor(model?: object) {\n if (model) {\n this.updateModel(model);\n }\n }\n\n /**\n * Gets the total play time.\n * @returns {number} - The play time sum.\n * @memberof KavaModel\n * @instance\n */\n public getPlayTimeSum(): number {\n return this.playTimeSum;\n }\n\n public getCanPlayTime(): number {\n return this.canPlayTime;\n }\n\n /**\n * Gets the buffer time.\n * @returns {number} - The buffer time.\n * @memberof KavaModel\n * @instance\n */\n public getBufferTime(): number {\n return this.bufferTime;\n }\n\n /**\n * Gets the total buffer time.\n * @returns {number} - The total buffer time.\n * @memberof KavaModel\n * @instance\n */\n public getBufferTimeSum(): number {\n return this.bufferTimeSum;\n }\n\n /**\n * Gets the player bundle js load duration time\n * @returns {number} - The player js load duration time\n * @memberof KavaModel\n * @instance\n */\n public getPlayerJSLoadTime(): number | null {\n if (this.playerJSLoadTime) {\n return Math.round(this.playerJSLoadTime * 1000) / 1000;\n } else {\n return null;\n }\n }\n\n /**\n * Gets the join time.\n * @returns {number} - The join time.\n * @memberof KavaModel\n * @instance\n */\n public getJoinTime(): number {\n return this.joinTime;\n }\n\n /**\n * Gets a target position\n * @returns {number} - The target position.\n * @memberof KavaModel\n * @instance\n */\n public getTargetPosition(): number {\n return this.targetPosition;\n }\n\n /**\n * Gets the target buffer\n * @returns {number} - The target buffer in seconds.\n * @memberof KavaModel\n * @instance\n */\n public getTargetBuffer(): number {\n return this.targetBuffer;\n }\n\n /**\n * Gets registered plugins list\n * @returns {string} - The current list of loaded plugins\n * @memberof KavaModel\n * @instance\n */\n public getRegisteredPlugins(): string {\n return this.registeredPlugins;\n }\n\n /**\n * Gets an audio language.\n * @returns {string} - The audio language.\n * @memberof KavaModel\n * @instance\n */\n public getLanguage(): string {\n return this.language;\n }\n\n /**\n * Gets a caption language.\n * @returns {string} - The caption language.\n * @memberof KavaModel\n * @instance\n */\n public getCaption(): string {\n return this.caption;\n }\n\n /**\n * Gets the average bandwidth since last report.\n * @returns {number} - The bandwidth in kbps\n * @memberof KavaModel\n * @instance\n */\n public getBandwidth(): number {\n return this.totalSegmentsDownloadTime > 0 ? Math.round((this.totalSegmentsDownloadBytes * 8) / this.totalSegmentsDownloadTime) / 1000 : 0;\n }\n\n /**\n * Returns the longest manifest download time in seconds\n * @returns {number} - manifest max download time in seconds\n * @memberof KavaModel\n * @instance\n */\n public getMaxManifestDownloadTime(): number {\n return this.maxManifestDownloadTime;\n }\n\n /**\n * Returns the longest segment download time in seconds\n * @returns {number} - segment max download time in seconds\n * @memberof KavaModel\n * @instance\n */\n public getSegmentDownloadTime(): number {\n return this.maxSegmentDownloadTime;\n }\n\n /**\n * Gets the forward buffer health ratio.\n * @returns {number} - the ratio between the available buffer and the target buffer\n * @memberof KavaModel\n * @instance\n */\n public getForwardBufferHealth(): number {\n return this.forwardBufferHealth;\n }\n /**\n * Gets the dropped frames ratio since last view event.\n * @returns {number} - dropped frames ratio since last view event\n * @memberof KavaModel\n * @instance\n */\n public getDroppedFramesRatio(): number | null | undefined {\n return this.droppedFramesRatio;\n }\n\n /**\n * Gets the sound mode of the player.\n * @returns {SoundMode} the state of the sound (muted ot not)\n * @memberof KavaModel\n * @instance\n */\n public getSoundMode(): SoundMode {\n return this.soundMode;\n }\n\n /**\n * Gets the viewability mode of the player.\n * @returns {ViewabilityMode} the state of the view (in-view ot not)\n * @memberof KavaModel\n * @instance\n */\n public getViewabilityMode(): ViewabilityMode {\n return this.viewabilityMode;\n }\n\n /**\n * Gets the screen mode of the browser player.\n * @returns {number} the state of the full screen if is on or not.\n * @memberof KavaModel\n * @instance\n */\n public getScreenMode(): ScreenMode {\n return this.screenMode;\n }\n\n /**\n * Gets the Tab mode of the browser.\n * @returns {TabMode} the state of the tab (focused or not)\n * @memberof KavaModel\n * @instance\n */\n public getTabMode(): TabMode {\n return this.tabMode;\n }\n\n /**\n * Gets the effectiveType read-only property of the NetworkInformation interface (from navigator)\n * @returns {string} the effective type of the connection meaning one of 'slow-2g', '2g', '3g', or '4g'\n * @memberof KavaModel\n * @instance\n */\n public getNetworkConnectionType(): string {\n return this.networkConnectionType;\n }\n\n /**\n * Gets the max dns+ssl+tcp resolving time over all video segments\n * @returns {number} max dns+ssl+tcp in seconds\n * @memberof KavaModel\n * @instance\n */\n public getNetworkConnectionOverhead(): number {\n // convert ms to seconds in 0.xxx format\n return Math.round(this.maxNetworkConnectionOverhead) / 1000;\n }\n\n /**\n * Gets the error code.\n * @returns {number} - The error code.\n * @memberof KavaModel\n * @instance\n */\n public getErrorCode(): number {\n return this.errorCode;\n }\n\n /**\n * Gets the flavor id from ID3 tag in the packager\n * @returns {number} - The flavor id.\n * @memberof KavaModel\n * @instance\n */\n public getFlavorParamsId(): number {\n return this.flavorParamsId;\n }\n\n /**\n * Gets the error additional data.\n * @returns {string} - The stringifyed error data.\n * @memberof KavaModel\n * @instance\n */\n public getErrorDetails(): string {\n let retVal: string = '';\n if (this.errorDetails) {\n try {\n retVal = JSON.stringify(this.errorDetails);\n } catch (e) {\n // do nothing\n }\n }\n return retVal;\n }\n\n /**\n * Gets the event index counter.\n * @returns {number} - The event index counter.\n * @memberof KavaModel\n * @instance\n */\n public getEventIndex(): number {\n return this.eventIndex;\n }\n\n /**\n * Gets the error position (start or mid playing)\n * @returns {number} - The error position - 1 for pre playing, 2 for mid stream error\n * @memberof KavaModel\n * @instance\n */\n public getErrorPosition(): ErrorPosition {\n return this.errorPosition;\n }\n\n /**\n * Gets the session start time.\n * @returns {number} - The session start time.\n * @memberof KavaModel\n * @instance\n */\n public getSessionStartTime(): number {\n return this.sessionStartTime;\n }\n\n /**\n * Gets the share network name.\n * @returns {number} - The session start time.\n * @memberof KavaModel\n * @instance\n */\n public getShareNetworkName(): string {\n return this.shareNetworkName;\n }\n\n public getReportType(): number {\n return this.reportType;\n }\n\n public getPlaybackMode(): number {\n return this.playbackMode;\n }\n\n /**\n * Gets the source entry id - the entry id that the current part of a simulive entry was generated from.\n * @returns {string} - Source entry id.\n * @memberof KavaModel\n * @instance\n */\n public getSourceEntryId(): string | null {\n return this.sourceEntryId;\n }\n\n /**\n * Updates the model.\n * @param {Object} obj - A partial or full updated model.\n * @returns {void}\n * @memberof KavaModel\n * @instance\n */\n public updateModel(obj: object): void {\n Object.assign(this, obj);\n }\n\n /**\n * Gets the model for a certain event.\n * @param {KavaEvent} eventObj - The event object.\n * @param {EventBucketName} eventBucketName - The dashboard name in kava dashboards.\n * @param {any} eventPayload - The original player event payload.\n * @returns {Object} - The event model.\n * @memberof KavaModel\n * @instance\n */\n public getModel(eventObj: KavaEvent, eventBucketName: EventBucketName = EventBucketName.PlayerEvents, eventPayload?: any): any {\n switch (eventBucketName) {\n case EventBucketName.PlayerEvents:\n return getEventModel(eventObj, this);\n case EventBucketName.ApplicationEvents:\n return getApplicationEventsModel(eventObj, this, eventPayload);\n }\n }\n}\n\nenum SoundMode {\n SOUND_OFF = 1,\n SOUND_ON = 2\n}\n\nenum ViewabilityMode {\n NOT_IN_VIEW = 1,\n IN_VIEW = 2\n}\n\nenum TabMode {\n TAB_NOT_FOCUSED = 1,\n TAB_FOCUSED = 2\n}\n\nenum ScreenMode {\n NOT_IN_FULLSCREEN = 1,\n FULLSCREEN = 2\n}\n\nenum ErrorPosition {\n PRE_PLAY = 3,\n PRE_PLAYING = 1,\n MID_STREAM = 2\n}\n\nexport { KavaModel, SoundMode, TabMode, ErrorPosition, ScreenMode, ViewabilityMode };\n","import { KavaHttpMethodType } from '../types';\n\nconst HttpMethodType: KavaHttpMethodType = {\n GET: 'GET',\n POST: 'POST'\n};\n\nexport { HttpMethodType };\n","export enum Application {\n REELS = 'reels',\n AUDIO = 'audio',\n VIDEO = 'video'\n}\n","import { BasePlugin, core, KalturaPlayer } from '@playkit-js/kaltura-player-js';\nimport { FakeEvent, VideoTrack } from '@playkit-js/playkit-js';\nimport { OVPAnalyticsService } from '@playkit-js/playkit-js-providers/analytics-service';\nimport { KavaEventModel, KavaEventType } from './kava-event-model';\nimport { KavaRateHandler } from './kava-rate-handler';\nimport { KavaTimer } from './kava-timer';\nimport { ErrorPosition, KavaModel, ScreenMode, SoundMode, TabMode, ViewabilityMode } from './kava-model';\nimport { HttpMethodType } from './enums/http-method-type';\nimport { KalturaApplication } from './enums/kaltura-application';\nimport { KavaConfigObject, KavaEvent } from './types';\nimport { DownloadEvent, InfoEvent, ModerationEvent, RelatedEvent, ShareEvent } from './temp-imported-plugins-event-names-temp';\nimport { PluginsEvents, PlaykitUIEvents } from './applications-events';\nimport { EventBucketName } from './enums/event-bucket-name';\nimport { ApplicationEventsModel, getApplicationEventsModel } from './application-events-model';\nimport { Application } from './enums/application';\n\nconst { Error: PKError, Utils } = core;\nconst DIVIDER: number = 1024;\nconst TEXT_TYPE: string = 'TEXT';\n/**\n * Kaltura Advanced Analytics plugin.\n * @class Kava\n * @param {string} name - The plugin name.\n * @param {Player} player - The player instance.\n * @param {KavaConfigObject} config - The plugin config.\n */\nclass Kava extends BasePlugin {\n private _model: KavaModel;\n private _timer: KavaTimer;\n private _rateHandler: KavaRateHandler;\n private _viewEventEnabled: boolean;\n private _firstPlayRequestTime!: number;\n private _bufferStartTime!: number;\n private _previousCurrentTime!: number;\n private _isFirstPlay!: boolean;\n private _isFirstPlaying!: boolean;\n private _isEnded!: boolean;\n private _isPaused!: boolean;\n private _isBuffering!: boolean;\n private _timePercentEvent!: { [time: string]: boolean };\n private _isPlaying!: boolean;\n private _loadStartTime!: number;\n private _lastDroppedFrames: number = 0;\n private _lastTotalFrames: number = 0;\n private _performanceObserver!: PerformanceObserver;\n private _performanceEntries: PerformanceEntry[] = [];\n private _pendingFragLoadedUrls: string[] = [];\n private _fragLoadedFiredOnce: boolean = false;\n private _canPlayOccured: boolean = false;\n private _isManualPreload: boolean = false;\n private _lastViewEventPlayTime: number = -1;\n\n /**\n * Default config of the plugin.\n * @type {Object}\n * @static\n * @memberof Kava\n */\n public static defaultConfig: any = {\n serviceUrl: `${Utils.Http.protocol}//analytics.kaltura.com/api_v3/index.php`,\n requestMethod: HttpMethodType.POST,\n viewEventCountdown: 10,\n resetSessionCountdown: 30,\n dvrThreshold: 120,\n playbackContext: '',\n application: '',\n kalturaApplicationVersion: '',\n kalturaApplication: 'PLAYER',\n hostingKalturaApplication: '',\n hostingKalturaApplicationVersion: ''\n };\n\n /**\n * @static\n * @return {boolean} - Whether the plugin is valid in the current environment.\n * @memberof Kava\n */\n public static isValid(): boolean {\n return true;\n }\n\n constructor(name: string, player: KalturaPlayer, config: KavaConfigObject) {\n super(name, player, config);\n this._rateHandler = new KavaRateHandler();\n this._model = new KavaModel();\n this._setModelDelegates();\n this._timer = new KavaTimer({\n resetCounter: this.config.resetSessionCountdown,\n eventCounter: this.config.viewEventCountdown\n });\n this._viewEventEnabled = true;\n this._resetFlags();\n this._addBindings();\n this._model.updateModel({\n eventIndex: 1,\n bufferTime: 0.0,\n bufferTimeSum: 0.0,\n playTimeSum: 0.0\n });\n // check the Resource Timing API is supported in the browser and we have a uiConfId\n if (performance && this.config.uiConfId) {\n const entry = performance.getEntriesByType('resource').find((entry) => entry.name.match('embedPlaykitJs.*' + this.config.uiConfId));\n if (entry) {\n this._model.updateModel({ playerJSLoadTime: entry.duration });\n }\n }\n }\n\n private _updateSoundModeInModel(): void {\n this._model.updateModel({\n soundMode: this.player.muted || this.player.volume === 0 ? SoundMode.SOUND_OFF : SoundMode.SOUND_ON\n });\n }\n\n private _updateViewabilityModeInModel(isVisible: boolean): void {\n this._model.updateModel({\n viewabilityMode: isVisible || this.player.isInPictureInPicture() ? ViewabilityMode.IN_VIEW : ViewabilityMode.NOT_IN_VIEW\n });\n }\n\n private _handleNewPerformanceEntries(list: PerformanceObserverEntryList): void {\n const perfEntries = list.getEntries();\n for (let i = 0; i < perfEntries.length; i++) {\n this._performanceEntries.push(perfEntries[i]);\n }\n while (this._pendingFragLoadedUrls.length) {\n // handle frag loaded events which haven't been added to the entry list yet\n this._handleFragPerformanceObserver(this._pendingFragLoadedUrls.pop()!);\n }\n }\n\n /**\n * Destroys the plugin.\n * @return {void}\n * @memberof Kava\n * @instance\n */\n public destroy(): void {\n this.eventManager.destroy();\n this._reset();\n }\n\n private _reset(): void {\n this._timer.destroy();\n this._rateHandler.destroy();\n if (this._performanceObserver) {\n this._performanceObserver.disconnect();\n }\n this._performanceEntries = [];\n this._pendingFragLoadedUrls = [];\n }\n\n /**\n * Reset the plugin.\n * @return {void}\n * @memberof Kava\n * @instance\n */\n public reset(): void {\n this.eventManager.removeAll();\n this._resetFlags();\n this._addBindings();\n this._model.updateModel({\n eventIndex: 1,\n bufferTime: 0.0,\n bufferTimeSum: 0.0,\n playTimeSum: 0.0,\n sessionStartTime: null\n });\n this._reset();\n }\n\n /**\n * loadMedia of the plugin.\n * @return {void}\n * @memberof Kava\n * @instance\n */\n public loadMedia(): void {\n if (window.PerformanceObserver) {\n this._performanceObserver = new window.PerformanceObserver(this._handleNewPerformanceEntries.bind(this));\n this._performanceObserver.observe({ entryTypes: ['resource'] });\n }\n }\n\n /**\n * Gets the model object for a certain event.\n * @param {string} event - Event name.\n * @returns {Object} - Model object.\n * @instance\n * @memberof Kava\n * @example\n * const kava = player.plugins.kava;\n * const viewModel = kava.getEventModel(kava.EventType.VIEW);\n * kava.sendAnalytics(viewModel);\n */\n public getEventModel(event: string): any {\n if (event) {\n return this._model.getModel(KavaEventModel[event]);\n }\n }\n\n /**\n * @returns {KavaEventType} - The kava events list.\n * @instance\n * @memberof Kava\n */\n public get EventType(): { [event: string]: string } {\n return Utils.Object.copyDeep(KavaEventType);\n }\n\n /**\n * Sends KAVA analytics event to analytics service.\n * @param {Object} model - Event model.\n * @returns {Promise} - Promise to indicate request succeed or failed.\n * @instance\n * @memberof Kava\n * @example\n * player.plugins.kava.sendAnalytics({...})\n * .then(() => {\n * console.log('kava analytics sent successfully');\n * })\n * .catch(e => {\n * console.log('kava analytics send failed', e);\n * });\n */\n public sendAnalytics(model: any): Promise<void> {\n return new Promise((resolve, reject) => {\n OVPAnalyticsService.trackEvent(this.config.serviceUrl, model, this.config.requestMethod)\n .doHttpRequest()\n .then(\n (response) => {\n this._handleServerResponseSuccess(response, model);\n resolve();\n },\n (err) => {\n this._handleServerResponseFailed(err, model);\n reject(err);\n }\n );\n this._model.updateModel({ eventIndex: this._model.getEventIndex() + 1 });\n });\n }\n\n private _resetFlags(): void {\n this._previousCurrentTime = 0;\n this._lastViewEventPlayTime = -1;\n this._isPlaying = false;\n this._isFirstPlay = true;\n this._isFirstPlaying = true;\n this._isEnded = false;\n this._isPaused = false;\n this._isBuffering = false;\n this._timePercentEvent = {\n PLAY_REACHED_25_PERCENT: false,\n PLAY_REACHED_50_PERCENT: false,\n PLAY_REACHED_75_PERCENT: false,\n PLAY_REACHED_100_PERCENT: false\n };\n this._canPlayOccured = false;\n this._isManualPreload = false;\n }\n\n private _resetSession(): void {\n this.logger.debug('Reset KAVA session');\n this._rateHandler.reset();\n this._model.updateModel({\n eventIndex: 1,\n bufferTimeSum: 0.0,\n playTimeSum: 0.0\n });\n }\n\n private _sendAnalytics(eventObj: KavaEvent, eventBucketName: EventBucketName = EventBucketName.PlayerEvents, eventPayload?: any): void {\n if (!this._validate()) {\n return;\n }\n if (this._isBuffering) {\n this._updateBufferModel();\n this._bufferStartTime = Date.now();\n }\n const model = this._model.getModel(eventObj, eventBucketName, eventPayload);\n if (typeof this.config.tamperAnalyticsHandler === 'function') {\n const sendRequest = this.config.tamperAnalyticsHandler(model);\n if (!sendRequest) {\n this.logger.debug('Cancel KAVA request', model);\n return;\n }\n }\n this.logger.debug(`Sending KAVA event ${model.eventType}:${eventObj.type}`);\n this.sendAnalytics(model).catch(() => {});\n }\n\n private _handleServerResponseSuccess(response: any, model: any): void {\n this.logger.debug('KAVA event sent', model);\n this._updateSessionStartTimeModel(response);\n }\n\n private _handleServerResponseFailed(err: any, model: any): void {\n this.logger.warn('Failed to send KAVA event', model, err);\n }\n\n private _addBindings(): void {\n this.eventManager.listen(this._timer, KavaTimer.Event.TICK, () => this._rateHandler.countCurrent());\n this.eventManager.listen(this._timer, KavaTimer.Event.REPORT, () => this._onReport());\n this.eventManager.listen(this._timer, KavaTimer.Event.RESET, () => this._resetSession());\n this.eventManager.listen(this.player, this.player.Event.Core.SOURCE_SELECTED, () => this._onSourceSelected());\n this.eventManager.listen(this.player, this.player.Event.Core.ERROR, (event) => this._onError(event));\n this.eventManager.listen(this.player, this.player.Event.Core.FIRST_PLAY, () => this._onFirstPlay());\n this.eventManager.listen(this.player, this.player.Event.Core.FRAG_LOADED, (event) => this._onFragLoaded(event));\n this.eventManager.listen(this.player, this.player.Event.Core.MANIFEST_LOADED, (event) => this._onManifestLoaded(event));\n this.eventManager.listen(this.player, this.player.Event.Core.TIMED_METADATA, (event) => this._onTimedMetadataLoaded(event));\n this.eventManager.listen(this.player, this.player.Event.Core.TRACKS_CHANGED, () => this._setInitialTracks());\n this.eventManager.listen(this.player, this.player.Event.Core.PLAYING, () => this._onPlaying());\n this.eventManager.listen(this.player, this.player.Event.Core.FIRST_PLAYING, () => this._onFirstPlaying());\n this.eventManager.listen(this.player, this.player.Event.Core.SEEKING, () => this._onSeeking());\n this.eventManager.listen(this.player, this.player.Event.Core.PAUSE, () => this._onPause());\n this.eventManager.listen(this.player, this.player.Event.Core.ENDED, () => this._onEnded());\n this.eventManager.listen(this.player, this.player.Event.Core.VIDEO_TRACK_CHANGED, (event) => this._onVideoTrackChanged(event));\n this.eventManager.listen(this.player, this.player.Event.Core.AUDIO_TRACK_CHANGED, (event) => this._onAudioTrackChanged(event));\n this.eventManager.listen(this.player, this.player.Event.Core.TEXT_TRACK_CHANGED, (event) => this._onTextTrackChanged(event));\n this.eventManager.listen(this.player, this.player.Event.Core.PLAYER_STATE_CHANGED, (event) => this._onPlayerStateChanged(event));\n this.eventManager.listen(this.player, this.player.Event.Core.RATE_CHANGE, () => this._onPlaybackRateChanged());\n this.eventManager.listen(this.player, this.player.Event.Core.CAN_PLAY, () => this._onCanPlay());\n this.eventManager.listen(this.player, this.player.Event.Core.LOAD_START, () => this._onLoadStart());\n this.eventManager.listen(this.player, this.player.Event.Core.VOLUME_CHANGE, () => this._updateSoundModeInModel());\n this.eventManager.listen(this.player, this.player.Event.VISIBILITY_CHANGE, (e) => this._updateViewabilityModeInModel(e.payload.visible));\n this.eventManager.listen(this.player, this.player.Event.Core.MUTE_CHANGE, () => this._updateSoundModeInModel());\n this.eventManager.listen(this.player, this.player.Event.Core.ENTER_FULLSCREEN, () => this._onFullScreenChanged(ScreenMode.FULLSCREEN));\n this.eventManager.listen(this.player, this.player.Event.Core.EXIT_FULLSCREEN, () => this._onFullScreenChanged(ScreenMode.NOT_IN_FULLSCREEN));\n this.eventManager.listen(this.player, RelatedEvent.RELATED_OPEN, () => this._onRelatedClicked());\n this.eventManager.listen(this.player, RelatedEvent.RELATED_SELECTED, () => this._onRelatedSelected());\n this.eventManager.listen(this.player, ShareEvent.SHARE_CLICKED, () => this._onShareClicked());\n this.eventManager.listen(this.player, ShareEvent.SHARE_NETWORK, (event) => this._onShareNetworkClicked(event));\n this.eventManager.listen(this.player, DownloadEvent.DOWNLOAD_ITEM_CLICKED, () => this._onDownloadItemClicked());\n this.eventManager.listen(this.player, InfoEvent.INFO_SCREEN_OPEN, () => this._onInfoScreenOpened());\n this.eventManager.listen(this.player, ModerationEvent.REPORT_CLICKED, () => this._onReportClicked());\n this.eventManager.listen(this.player, ModerationEvent.REPORT_SUBMITTED, (event) => this._onReportSubmitted(event));\n this._bindApplicationEvents();\n this._bindPlaykitUIEvents();\n this._initTabMode();\n this._initNetworkConnectionType();\n }\n\n private _bindPlaykitUIEvents(): void {\n Object.values(PlaykitUIEvents).forEach((event) => {\n this.eventManager.listen(this.player, event, (e: FakeEvent) => {\n if (e.type in ApplicationEventsModel) {\n if (this._isApplicationEventValid(e)) {\n this._sendAnalytics(ApplicationEventsModel[e.type], EventBucketName.ApplicationEvents, e.payload);\n }\n }\n });\n });\n }\n\n private _bindApplicationEvents(): void {\n Object.values(PluginsEvents).forEach((event) => {\n this.eventManager.listen(this.player, event, (e: FakeEvent) => {\n if (e.type in ApplicationEventsModel) {\n if (this._isApplicationEventValid(e)) {\n this._sendAnalytics(ApplicationEventsModel[e.type], EventBucketName.ApplicationEvents, e.payload);\n }\n }\n });\n });\n }\n\n private _onFirstPlaying(): void {\n this._isPlaying = true;\n if (!this._fragLoadedFiredOnce && this._performanceObserver) {\n this._performanceObserver.disconnect();\n this.logger.debug(\"This adapter / media doesn't fire fragLoaded - disconnect performance observer\");\n }\n }\n\n private _onLoadStart(): void {\n this._loadStartTime = Date.now();\n }\n\n private _getRates(): Array<number> {\n const rates: number[] = [];\n const videoTracks: VideoTrack[] = this.player.getTracks(this.player.Track.VIDEO) as unknown as VideoTrack[];\n videoTracks.forEach((videoTrack) => rates.push(videoTrack.bandwidth / DIVIDER));\n return rates;\n }\n\n private _setInitialTracks(): void {\n const rates = this._getRates();\n const activeTracks = this.player.getActiveTracks();\n this._rateHandler.setRates(rates);\n if (activeTracks.video) {\n this._rateHandler.setCurrent(activeTracks.video.bandwidth / DIVIDER);\n }\n if (activeTracks.audio) {\n this._model.updateModel({ language: activeTracks.audio.language });\n }\n if (activeTracks.text) {\n this._model.updateModel({ caption: activeTracks.text.language });\n }\n }\n\n /**\n * gets the available buffer length\n * @returns {number} the remaining buffer length of the current played time range\n * @private\n */\n private _getAvailableBuffer(): number {\n let availableBuffer = NaN;\n if (this.player.stats) {\n availableBuffer = this.player.stats.availableBuffer;\n }\n return availableBuffer;\n }\n\n /**\n * calculates the forward buffer health ratio\n * @returns {number} the ratio between available buffer and the target buffer\n * @private\n */\n private _getForwardBufferHealth(): number {\n let forwardBufferHealth = NaN;\n const availableBuffer = this._getAvailableBuffer();\n const targetBuffer = this._getTargetBuffer();\n\n if (!isNaN(targetBuffer)) {\n // considering playback left to the target calculation\n forwardBufferHealth = Math.round((availableBuffer * 1000) / targetBuffer) / 1000;\n }\n\n return forwardBufferHealth;\n }\n\n /**\n * get the target buffer length from the player\n * @returns {number} the target buffer in seconds\n * @private\n */\n private _getTargetBuffer(): number {\n let targetBuffer = NaN;\n if (this.player.stats) {\n targetBuffer = this.player.stats.targetBuffer;\n }\n return targetBuffer;\n }\n\n /**\n * calculates the dropped frames ratio since last call\n * @returns {number} the ratio between dropped frames and the total frames\n * @private\n */\n private _getDroppedFramesRatio(): number {\n let droppedFrames = -1;\n const droppedAndDecoded: [number, number] | null = this._getDroppedAndDecodedFrames();\n if (droppedAndDecoded) {\n const lastDroppedFrames = droppedAndDecoded[0];\n const lastTotalFrames = droppedAndDecoded[1];\n const droppedFramesDelta = lastDroppedFrames - this._lastDroppedFrames;\n const totalFramesDelta = lastTotalFrames - this._lastTotalFrames;\n droppedFrames = totalFramesDelta ? Math.round((droppedFramesDelta / totalFramesDelta) * 1000) / 1000 : 0;\n\n this._lastTotalFrames = lastTotalFrames;\n this._lastDroppedFrames = lastDroppedFrames;\n }\n return droppedFrames;\n }\n\n /**\n * returns dropped and total frames from the VideoPlaybackQuality Interface of the browser (if supported)\n * @returns {number} {number} the number of video frames dropped and total video frames (created and dropped)\n * since the creation of the associated HTMLVideoElement\n * @private\n */\n private _getDroppedAndDecodedFrames(): [number, number] | null {\n if (typeof this.player.getVideoElement()!.getVideoPlaybackQuality === 'function') {\n const videoPlaybackQuality = this.player.getVideoElement()!.getVideoPlaybackQuality();\n return [videoPlaybackQuality.droppedVideoFrames, videoPlaybackQuality.totalVideoFrames];\n } else if (\n // @ts-expect-error - error TS2532: Object is possibly 'undefined'\n typeof this.player.getVideoElement().webkitDroppedFrameCount === 'number' &&\n // @ts-expect-error - error TS2532: Object is possibly 'undefined'\n typeof this.player.getVideoElement().webkitDecodedFrameCount === 'number'\n ) {\n // @ts-expect-error - error TS2532: Object is possibly 'undefined'\n return [this.player.getVideoElement().webkitDroppedFrameCount, this.player.getVideoElement().webkitDecodedFrameCount];\n } else {\n return null;\n }\n }\n\n private _onReport(): void {\n if (this._viewEventEnabled) {\n this._updatePlayTimeSumModel();\n this._model.updateModel({\n forwardBufferHealth: this._getForwardBufferHealth(),\n targetBuffer: this._getTargetBuffer(),\n droppedFramesRatio: this._getDroppedFramesRatio()\n });\n if (this._lastViewEventPlayTime !== this._model.getPlayTimeSum()) {\n this._lastViewEventPlayTime = this._model.getPlayTimeSum();\n this._sendAnalytics(KavaEventModel.VIEW);\n } else {\n this.logger.warn(`VIEW event blocked because view event with same time already sent: ${this._lastViewEventPlayTime}`);\n }\n } else {\n this.logger.warn('VIEW event blocked because server response of viewEventsEnabled=false');\n }\n this._model.updateModel({\n totalSegmentsDownloadTime: 0,\n totalSegmentsDownloadBytes: 0,\n maxManifestDownloadTime: 0,\n maxSegmentDownloadTime: 0,\n maxNetworkConnectionOverhead: 0,\n bufferTime: 0\n });\n }\n\n private _updateNetworkConnectionTypeinModel(navConnection: any): void {\n this._model.updateModel({\n networkConnectionType: navConnection.effectiveType\n });\n }\n\n private _initNetworkConnectionType(): void {\n // @ts-expect-error - Property 'webkitConnection' does not exist on type 'Navigator'\n const navConnection = window.navigator.connection || window.navigator.mozConnection || window.navigator.webkitConnection;\n\n if (navConnection) {\n this.eventManager.listen(navConnection, 'change', () => this._updateNetworkConnectionTypeinModel(navConnection));\n this._updateNetworkConnectionTypeinModel(navConnection);\n }\n }\n\n private _onPlaying(): void {\n if (this._isFirstPlaying) {\n this._updateSoundModeInModel();\n this._updateViewabilityModeInModel(this.player.isVisible);\n if (!this.player.isUntimedImg()) this._timer.start();\n this._isFirstPlaying = false;\n const playRequestStartTime =\n this.player.config.playback.preload === 'auto' || this._isManualPreload ? this._firstPlayRequestTime : this._loadStartTime;\n this._model.updateModel({\n joinTime: Kava._getTimeDifferenceInSeconds(playRequestStartTime)\n });\n this._sendAnalytics(KavaEventModel.PLAY);\n this._onReport();\n } else if (this._isEnded) {\n this._timer.start();\n this._isEnded = false;\n this._sendAnalytics(KavaEventModel.REPLAY);\n } else if (this._isPaused) {\n this._timer.resume();\n this._isPaused = false;\n this._sendAnalytics(KavaEventModel.RESUME);\n }\n }\n\n private _onCanPlay(): void {\n this._canPlayOccured = true;\n this._model.updateModel({\n canPlayTime: Kava._getTimeDifferenceInSeconds(this._loadStartTime)\n });\n }\n\n private _onFirstPlay(): void {\n if (this._canPlayOccured) {\n this._isManualPreload = true;\n }\n this._isFirstPlay = false;\n this._firstPlayRequestTime = Date.now();\n this._sendAnalytics(KavaEventModel.PLAY_REQUEST);\n }\n\n private _onSourceSelected(): void {\n const plugins = Object.values(this.player.plugins).map((plugin: any) => plugin.name);\n this._model.updateModel({ registeredPlugins: plugins.join(',') });\n\n this._sendAnalytics(KavaEventModel.IMPRESSION);\n\n if (!(this.player.isImage() || this.player.isLive())) {\n this.eventManager.listen(this.player, this.player.Event.Core.TIME_UPDATE, () => this._onTimeUpdate());\n }\n }\n\n private _onSeeking(): void {\n this._previousCurrentTime = this.player.currentTime!;\n this._model.updateModel({ targetPosition: this.player.currentTime! });\n this._sendAnalytics(KavaEventModel.SEEK);\n }\n\n private _onPause(): void {\n this._isPaused = true;\n this._timer.stop();\n this._sendAnalytics(KavaEventModel.PAUSE);\n }\n\n private _onEnded(): void {\n this._isEnded = true;\n this._onTimeUpdate();\n this._model.updateModel({ bufferTime: 0 });\n }\n\n private _onTimeUpdate(): void {\n this._updatePlayTimeSumModel();\n const percent = parseFloat((this.player.currentTime! / this.player.duration!).toFixed(2));\n if (!this._timePercentEvent.PLAY_REACHED_25 && percent >= 0.25) {\n this._timePercentEvent.PLAY_REACHED_25 = true;\n this._sendAnalytics(KavaEventModel.PLAY_REACHED_25_PERCENT);\n }\n if (!this._timePercentEvent.PLAY_REACHED_50 && percent >= 0.5) {\n this._timePercentEvent.PLAY_REACHED_50 = true;\n this._sendAnalytics(KavaEventModel.PLAY_REACHED_50_PERCENT);\n }\n if (!this._timePercentEvent.PLAY_REACHED_75 && percent >= 0.75) {\n this._timePercentEvent.PLAY_REACHED_75 = true;\n this._sendAnalytics(KavaEventModel.PLAY_REACHED_75_PERCENT);\n }\n if (!this._timePercentEvent.PLAY_REACHED_100 && percent === 1) {\n this._timePercentEvent.PLAY_REACHED_100 = true;\n this._sendAnalytics(KavaEventModel.PLAY_REACHED_100_PERCENT);\n }\n }\n\n private _onFragLoaded(event: FakeEvent): void {\n if (!this._fragLoadedFiredOnce) {\n this._fragLoadedFiredOnce = true;\n }\n this._updateFragLoadedStats(event);\n if (this._performanceObserver) {\n const succHandle = this._handleFragPerformanceObserver(event.payload.url);\n if (!succHandle) {\n this._pendingFragLoadedUrls.push(event.payload.url);\n }\n }\n }\n\n private _handleFragPerformanceObserver(url: string): boolean {\n const fragResourceTimings = this._performanceEntries.filter((entry) => entry.name === url);\n const lastFragResourceTiming: any =\n fragResourceTimings && fragResourceTimings.length ? fragResourceTimings[fragResourceTimings.length - 1] : null;\n if (lastFragResourceTiming) {\n this._updateMaxNetworkConnectionOverhead(lastFragResourceTiming.connectEnd - lastFragResourceTiming.domainLookupStart);\n const lastIndexOftheFragment: number = this._performanceEntries.indexOf(lastFragResourceTiming);\n if (lastIndexOftheFragment > -1 && lastIndexOftheFragment < this._performanceEntries.length) {\n this._performanceEntries = this._performanceEntries.splice(\n lastIndexOftheFragment + 1,\n this._performanceEntries.length - (lastIndexOftheFragment + 1)\n );\n }\n return true;\n } else {\n return false;\n }\n }\n\n private _updateMaxNetworkConnectionOverhead(networkConnectionOverhead: number): void {\n this._model.updateModel({\n maxNetworkConnectionOverhead: Math.max(this._model.maxNetworkConnectionOverhead, networkConnectionOverhead)\n });\n }\n\n private _updateFragLoadedStats(event: FakeEvent): void {\n const seconds = Math.round(event.payload.miliSeconds) / 1000;\n this._model.updateModel({\n totalSegmentsDownloadTime: this._model.totalSegmentsDownloadTime + seconds,\n totalSegmentsDownloadBytes: this._model.totalSegmentsDownloadBytes + event.payload.bytes,\n maxSegmentDownloadTime: Math.max(seconds, this._model.maxSegmentDownloadTime)\n });\n }\n\n private _onManifestLoaded(event: FakeEvent): void {\n const seconds = Math.round(event.payload.miliSeconds) / 1000;\n this._model.updateModel({\n maxManifestDownloadTime: Math.max(seconds, this._model.maxManifestDownloadTime)\n });\n }\n\n private _onTimedMetadataLoaded(event: FakeEvent): void {\n const id3TagCues = event.payload.cues.filter((entry) => entry.value && entry.value.key === TEXT_TYPE);\n if (id3TagCues.length) {\n try {\n const data = JSON.parse(id3TagCues[id3TagCues.length - 1].value.data);\n this._model.updateModel({ flavorParamsId: Number(data.sequenceId) });\n\n if (data.clipId) {\n const [partType, entryId] = data.clipId.split('-');\n\n switch (partType) {\n case 'preStartContent': {\n this._model.updateModel({ sourceEntryId: entryId, playbackMode: 1 });\n break;\n }\n case 'content': {\n this._model.updateModel({ sourceEntryId: entryId, playbackMode: 2 });\n break;\n }\n case 'postEntryContent': {\n this._model.updateModel({ sourceEntryId: entryId, playbackMode: 3 });\n break;\n }\n default:\n break;\n }\n }\n } catch (e) {\n this.logger.debug('error parsing id3', e);\n }\n }\n }\n\n private _onVideoTrackChanged(event: FakeEvent): void {\n const videoTrack = event.payload.selectedVideoTrack;\n this._rateHandler.setCurrent(videoTrack.bandwidth / DIVIDER);\n if (this.player.isAdaptiveBitrateEnabled()) {\n this._sendAnalytics(KavaEventModel.FLAVOR_SWITCH);\n } else {\n this._sendAnalytics(KavaEventModel.SOURCE_SELECTED);\n }\n }\n\n private _onAudioTrackChanged(event: FakeEvent): void {\n const audioTrack = event.payload.selectedAudioTrack;\n this._model.updateModel({ language: audioTrack.language });\n this._sendAnalytics(KavaEventModel.AUDIO_SELECTED);\n }\n\n private _onTextTrackChanged(event: FakeEvent): void {\n if (this._isPlaying) {\n const textTrack = event.payload.selectedTextTrack;\n this._model.updateModel({ caption: textTrack.language });\n this._sendAnalytics(KavaEventModel.CAPTIONS);\n }\n }\n\n private _onError(event: FakeEvent): void {\n if (event.payload && event.payload.severity === PKError.Severity.CRITICAL) {\n this._model.updateModel({\n errorCode: event.payload.code,\n errorDetails: event.payload.data,\n errorPosition: this._isFirstPlay ? ErrorPosition.PRE_PLAY : this._isFirstPlaying ? ErrorPosition.PRE_PLAYING : ErrorPosition.MID_STREAM\n });\n this._sendAnalytics(KavaEventModel.ERROR);\n this.reset();\n }\n }\n\n private _onPlaybackRateChanged(): void {\n if (!this.player.playbackRates.length || this.player.playbackRates.includes(this.player.playbackRate!)) {\n this._sendAnalytics(KavaEventModel.SPEED);\n }\n }\n\n private _onPlayerStateChanged(event: FakeEvent): void {\n const oldState = event.payload.oldState;\n const newState = event.payload.newState;\n if (oldState.type === this.player.State.BUFFERING) {\n this._isBuffering = false;\n this._updateBufferModel();\n this._sendAnalytics(KavaEventModel.BUFFER_END);\n }\n if (newState.type === this.player.State.BUFFERING) {\n this._isBuffering = true;\n this._bufferStartTime = Date.now();\n this._sendAnalytics(KavaEventModel.BUFFER_START);\n }\n }\n\n private _onRelatedClicked(): void {\n this._sendAnalytics(KavaEventModel.RELATED_OPEN);\n }\n\n private _onRelatedSelected(): void {\n this._sendAnalytics(KavaEventModel.RELATED_SELECTED);\n }\n\n private _onShareClicked(): void {\n this._sendAnalytics(KavaEventModel.SHARE_CLICKED);\n }\n\n private _onShareNetworkClicked(event: FakeEvent): void {\n const shareNetworkName = event.payload.shareNetworkName;\n if (shareNetworkName) {\n this._model.updateModel({ shareNetworkName: shareNetworkName });\n this._sendAnalytics(KavaEventModel.SHARE_NETWORK);\n }\n }\n\n private _onReportSubmitted(event: FakeEvent): void {\n const reportType = event.payload.reportType;\n if (reportType) {\n this._model.updateModel({ reportType });\n this._sendAnalytics(KavaEventModel.REPORT_SUBMITTED);\n }\n }\n\n private _onReportClicked(): void {\n this._sendAnalytics(KavaEventModel.REPORT_CLICKED);\n }\n\n private _onInfoScreenOpened(): void {\n this._sendAnalytics(KavaEventModel.INFO);\n }\n\n private _onDownloadItemClicked(): void {\n this._sendAnalytics(KavaEventModel.DOWNLOAD);\n }\n\n private _onFullScreenChanged(screenMode: number): void {\n this._model.updateModel({ screenMode: screenMode });\n this._sendAnalytics(screenMode === ScreenMode.FULLSCREEN ? KavaEventModel.ENTER_FULLSCREEN : KavaEventModel.EXIT_FULLSCREEN);\n }\n\n private _updateSessionStartTimeModel(response: any | number): void {\n if (!this._model.getSessionStartTime() && response) {\n if (typeof response === 'object') {\n this._model.updateModel({ sessionStartTime: response.time });\n this._viewEventEnabled = response.viewEventsEnabled;\n } else {\n this._model.updateModel({ sessionStartTime: response });\n }\n }\n if (this._timer.isStopped()) {\n this._model.updateModel({ sessionStartTime: null });\n }\n }\n\n private _updateBufferModel(): void {\n const duration = Kava._getTimeDifferenceInSeconds(this._bufferStartTime);\n this._model.updateModel({\n bufferTime: this._model.getBufferTime() + duration,\n bufferTimeSum: this._model.getBufferTimeSum() + duration\n });\n }\n\n private _updatePlayTimeSumModel(): void {\n let delta;\n if (this.player.isLive()) {\n delta = this.config.viewEventCountdown - this._model.getBufferTime();\n } else {\n delta = this.player.currentTime! - this._previousCurrentTime;\n this._previousCurrentTime = this.player.currentTime!;\n }\n this._model.updateModel({ playTimeSum: this._model.getPlayTimeSum() + delta });\n }\n\n private _setModelDelegates(): void {\n this._model.getPlaybackSpeed = (): number | null => this.player.playbackRate;\n this._model.getActualBitrate = (): number => this._rateHandler.getCurrent();\n this._model.getAverageBitrate = (): number => this._rateHandler.getAverage();\n this._model.getPartnerId = (): number => this.config.partnerId;\n this._model.getEntryId = (): string => this.config.entryId;\n this._model.getPlaylistId = (): string => this.config.playlistId;\n this._model.getSessionId = (): string => this.config.sessionId;\n this._model.getPersistentSessionId = (): string => this.config.persistentSessionId;\n this._model.getClientVer = (): string => this.config.playerVersion;\n this._model.getClientTag = (): string => 'html5:v' + this.config.playerVersion;\n this._model.getKS = (): string => this.config.ks;\n this._model.getVirtualEventId = (): string => this.config.virtualEventId;\n this._model.getUIConfId = (): string => this.config.uiConfId;\n this._model.getReferrer = (): string => this.config.referrer;\n this._model.getCustomVar1 = (): string => this.config.customVar1;\n this._model.getCustomVar2 = (): string => this.config.customVar2;\n this._model.getCustomVar3 = (): string => this.config.customVar3;\n this._model.getPosition = (): number => this._getPosition();\n this._model.getDeliveryType = (): string => this._getDeliveryType();\n this._model.getPlaybackType = (): string => this._getPlaybackType();\n this._model.getPlaybackContext = (): string => this.config.playbackContext;\n this._model.getApplication = (): string => this._getPlayerType();\n this._model.getKalturaApplicationVersion = (): string => this.config.kalturaApplicationVersion;\n this._model.getKalturaApplication = (): string => this._getKalturaApplicationId(this.config.kalturaApplication);\n this._model.getUserId = (): string => this.config.userId;\n this._model.getHostingKalturaApplication = (): string => this.config.application;\n this._model.getHostingKalturaApplicationVersion = (): string => this.config.applicationVersion;\n }\n\n private _getPlayerType(): Application {\n if (this.player.plugins.reels !== undefined) {\n return Application.REELS;\n } else if (this.player.plugins.audioPlayer !== undefined) {\n return Application.AUDIO;\n } else {\n return Application.VIDEO;\n }\n }\n\n private _getKalturaApplicationId(kalturaAppName: string): string {\n if (kalturaAppName in KalturaApplication) {\n return KalturaApplication[kalturaAppName];\n } else {\n this.logger.warn('Kava analytics - unknon kalturaAppName: ' + kalturaAppName);\n return '';\n }\n }\n\n private _getPosition(): number {\n if (this.player.isLive()) {\n if (!Number.isNaN(this.player.duration)) {\n if (this.player.duration! - this.player.currentTime! < 1) {\n return 0;\n }\n return -(this.player.duration! - this.player.currentTime!);\n }\n return 0;\n }\n let currentTime = this.player.currentTime;\n if (typeof this.player.sources.seekFrom === 'number' && currentTime) {\n currentTime += this.player.sources.seekFrom;\n }\n return this._isFirstPlaying ? currentTime! || this.player.sources.startTime || 0 : currentTime!;\n }\n\n private _getDeliveryType(): string {\n if (this.player.streamType === this.player.StreamType.PROGRESSIVE) {\n return 'url';\n }\n return this.player.streamType;\n }\n\n private _getPlaybackType(): string {\n if (this.player.isLive()) {\n if (this.player.isDvr()) {\n const distanceFromLiveEdge = this.player.duration! - this.player.currentTime!;\n if (distanceFromLiveEdge >= this.config.dvrThreshold) {\n return 'dvr';\n }\n }\n return 'live';\n }\n return 'vod';\n }\n\n private _validate(): boolean {\n if (!this.config.partnerId) {\n this._logMissingParam('partnerId');\n return false;\n }\n if (!this.config.entryId) {\n this._logMissingParam('entryId');\n return false;\n }\n return true;\n }\n\n private _isApplicationEventValid(event: FakeEvent): boolean {\n const model = getApplicationEventsModel(ApplicationEventsModel[event.type], this._model, event.payload);\n return !!model.buttonName || !!model.pageName;\n }\n\n private _logMissingParam(missingParam: string): void {\n this.logger.warn(`Kava analytics block report because of missing param ${missingParam}`);\n }\n\n private static _getTimeDifferenceInSeconds(time: number): number {\n return (Date.now() - time) / 1000.0;\n }\n\n private _updateTabModeInModel(hiddenAttr: string): void {\n this._model.updateModel({\n // $FlowFixMe\n tabMode: this._isTabHidden(hiddenAttr) && !this.player.isInPictureInPicture() ? TabMode.TAB_NOT_FOCUSED : TabMode.TAB_FOCUSED\n });\n }\n\n private _isTabHidden(hiddenAttr: string): boolean {\n return document[hiddenAttr];\n }\n\n private _initTabMode(): void {\n let hiddenAttr: string;\n let visibilityChangeEventName: string;\n if (typeof document.hidden !== 'undefined') {\n // Opera 12.10 and Firefox 18 and later support\n hiddenAttr = 'hidden';\n visibilityChangeEventName = 'visibilitychange';\n // @ts-expect-error - Property 'msHidden' does not exist on type 'Document'. Did you mean 'hidden'?\n } else if (typeof document.msHidden !== 'undefined') {\n hiddenAttr = 'msHidden';\n visibilityChangeEventName = 'msvisibilitychange';\n // @ts-expect-error - Property 'webkitHidden' does not exist on type 'Document'. Did you mean 'hidden'?\n } else if (typeof document.webkitHidden !== 'undefined') {\n hiddenAttr = 'webkitHidden';\n visibilityChangeEventName = 'webkitvisibilitychange';\n }\n\n // @ts-expect-error - Variable 'visibilityChangeEventName' is used before being assigned.\n if (hiddenAttr && visibilityChangeEventName) {\n this.eventManager.listen(document, visibilityChangeEventName, () => this._updateTabModeInModel(hiddenAttr));\n this._updateTabModeInModel(hiddenAttr);\n }\n }\n}\n\nexport { Kava };\n","export const DownloadEvent = {\n DOWNLOAD_ITEM_CLICKED: 'download_item_clicked'\n};\n\nexport const ModerationEvent = {\n REPORT_CLICKED: 'report_clicked',\n REPORT_SUBMITTED: 'report_submitted'\n};\n\nexport const ShareEvent = {\n /**\n * Fired when the user clicks on share icon.\n */\n SHARE_CLICKED: 'share_clicked',\n /**\n * Fired when the user clicks on specific social network.\n */\n SHARE_NETWORK: 'share_network'\n};\n\nexport const RelatedEvent = {\n /**\n * Fired when the user selects an entry from the list or the grid.\n */\n RELATED_SELECTED: 'related_selected',\n /**\n * Fired when the user clicks the button to show the related list.\n */\n RELATED_OPEN: 'related_open',\n /**\n * Fired when the user clicks to close the related list.\n */\n RELATED_CLOSE: 'related_close'\n};\n\nexport const InfoEvent = {\n INFO_SCREEN_OPEN: 'info_screen_open'\n};\n","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import { registerPlugin } from '@playkit-js/kaltura-player-js';\nimport { Kava } from './kava';\n\ndeclare const __VERSION__: string;\ndeclare const __NAME__: string;\n\nconst VERSION = __VERSION__;\nconst NAME = __NAME__;\n\nexport { Kava as Plugin };\nexport { KavaEventType as EventType } from './kava-event-model';\nexport { HttpMethodType } from './enums/http-method-type';\nexport { VERSION, NAME };\n\nconst pluginName: string = 'kava';\n\nregisterPlugin(pluginName, Kava);\n"],"names":["root","factory","exports","module","define","amd","self","e","d","t","r","n","o","Object","defineProperty","enumerable","get","prototype","hasOwnProperty","call","Symbol","toStringTag","value","TypeError","iterator","constructor","toPrimitive","String","i","length","configurable","writable","key","s","a","NAME","P","OVPAnalyticsService","A","OVPConfiguration","h","RequestBuilder","l","VERSION","C","f","arguments","this","severity","category","code","data","_logger","error","concat","RECOVERABLE","CRITICAL","NETWORK","SERVICE","PROVIDER","UNSUPPORTED_SCHEME","BAD_HTTP_STATUS","HTTP_ERROR","TIMEOUT","MALFORMED_DATA_URI","BAD_SERVER_RESPONSE","MULTIREQUEST_API_ERROR","API_RESPONSE_MISMATCH","ERROR","BLOCK_ACTION","MEDIA_STATUS_NOT_READY","MISSING_MANDATORY_PARAMS","MISSING_PLAY_SOURCE","METHOD_NOT_IMPLEMENTED","DEBUG","name","INFO","OFF","TIME","TRACE","WARN","createDefaultHandler","debug","enabledFor","getLevel","info","log","setHandler","setLevel","time","timeEnd","trace","useDefaults","warn","Map","async","timeout","maxAttempts","headers","service","action","Promise","_requestPromise","resolve","reject","url","Severity","Category","Code","_createXHR","XMLHttpRequest","onreadystatechange","readyState","status","JSON","parse","responseText","responseHeaders","_getResponseHeaders","_createError","text","open","method","retryConfig","performance","now","ontimeout","_handleError","statusText","onerror","onabort","forEach","setRequestHeader","send","params","getAllResponseHeaders","split","filter","toLowerCase","indexOf","_attemptCounter","assign","attempt","p","Array","isArray","slice","keys","y","serviceUrl","cdnUrl","serviceParams","apiVersion","format","useApiCaptions","loadThumbnailWithKs","replaceHostOnlyManifestUrls","v","setPrototypeOf","bind","__proto__","create","m","ReferenceError","g","E","getPrototypeOf","R","objectType","hasError","O","message","b","Reflect","construct","sham","Proxy","Boolean","valueOf","apply","requests","push","stringify","FAILED_PARSING_REQUEST","doHttpRequest","then","_","success","response","results","result","map","T","toString","encodeURIComponent","u","c","test","join","replace","S","_trackEventByPOST","_trackEventByGET","tag","set","eventType","partnerId","entryId","sessionId","ks","clientTag","getUrl","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","definition","obj","prop","KalturaPlayer","_typeof","_arrayLikeToArray","arr","len","arr2","_classCallCheck","instance","Constructor","toPropertyKey","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","_assertThisInitialized","_possibleConstructorReturn","_getPrototypeOf","_setPrototypeOf","_inherits","subClass","superClass","_defineProperty","KavaEventModel","VIEW","type","index","getEventModel","model","eventModel","playTimeSum","getPlayTimeSum","bufferTime","getBufferTime","bufferTimeSum","getBufferTimeSum","actualBitrate","getActualBitrate","averageBitrate","getAverageBitrate","audioLanguage","getLanguage","soundMode","getSoundMode","tabMode","getTabMode","viewabilityMode","getViewabilityMode","screenMode","getScreenMode","isNaN","getForwardBufferHealth","forwardBufferHealth","getMaxManifestDownloadTime","manifestDownloadTime","getSegmentDownloadTime","segmentDownloadTime","getBandwidth","bandwidth","getDroppedFramesRatio","droppedFramesRatio","getTargetBuffer","targetBuffer","getNetworkConnectionType","networkConnectionType","getNetworkConnectionOverhead","networkConnectionOverhead","getFlavorParamsId","flavorParamsId","getPlaybackMode","playbackMode","getSourceEntryId","sourceEntryId","IMPRESSION","getPlayerJSLoadTime","playerJSLoadTime","getRegisteredPlugins","PLAY_REQUEST","PLAY","joinTime","getJoinTime","canPlay","getCanPlayTime","RESUME","PAUSE","BUFFER_START","BUFFER_END","REPLAY","SEEK","targetPosition","getTargetPosition","PLAY_REACHED_25_PERCENT","PLAY_REACHED_50_PERCENT","PLAY_REACHED_75_PERCENT","PLAY_REACHED_100_PERCENT","SOURCE_SELECTED","AUDIO_SELECTED","language","FLAVOR_SWITCH","SPEED","CAPTIONS","errorCode","getErrorCode","errorDetails","getErrorDetails","errorPosition","getErrorPosition","RELATED_OPEN","RELATED_SELECTED","SHARE_CLICKED","SHARE_NETWORK","socialNetwork","getShareNetworkName","ENTER_FULLSCREEN","EXIT_FULLSCREEN","DOWNLOAD","REPORT_CLICKED","REPORT_SUBMITTED","reportType","getReportType","KavaEventType","k","KavaRateHandler","_rates","rates","_this","rate","active","duration","find","current","totalDuration","sum","FakeEvent","core","FakeEventTarget","WorkerTimer","callback","interval","blob","Blob","workerScript","URL","createObjectURL","worker","Worker","onmessage","terminate","KavaTimer","_FakeEventTarget","config","_callSuper","_config","_this2","_terminateTimer","_stopped","_resetCounter","_eventCounter","_timer","_monitor","stop","resetCounter","dispatchEvent","Event","RESET","TICK","eventCounter","REPORT","EventBucketName","ButtonType","ApplicationEventType","PageLoadType","playkitUIEventsNamespace","PlaykitUIEvents","USER_CLICKED_LOGO","USER_SELECTED_CAPTIONS_SIZE","USER_SELECTED_CAPTIONS_ALIGNMENT","USER_SELECTED_CAPTIONS_FONT_COLOR","USER_SELECTED_CAPTIONS_FONT_FAMILY","USER_SELECTED_CAPTIONS_FONT_STYLE","USER_SELECTED_CAPTIONS_FONT_OPACITY","USER_SELECTED_CAPTIONS_BACKGROUND_COLOR","USER_SELECTED_CAPTIONS_BACKGROUND_OPACITY","PluginsEvents","_objectSpread","NAVIGATION_OPEN","NAVIGATION_CLOSE","NAVIGATION_SEARCH","NAVIGATION_ITEM_CLICK","NAVIGATION_EXPANDABLE_TEXT_CLICK","DOWNLOAD_ITEM_CLICKED","SHOW_OVERLAY","HIDE_OVERLAY","TRANSCRIPT_OPEN","TRANSCRIPT_CLOSE","TRANSCRIPT_DOWNLOAD","TRANSCRIPT_PRINT","TRANSCRIPT_SEARCH","TRANSCRIPT_NAVIGATE_RESULT","TRANSCRIPT_POPOUT_OPEN","TRANSCRIPT_POPOUT_CLOSE","TRANSCRIPT_POPOUT_DRAG","TRANSCRIPT_POPOUT_RESIZE","CHANGE_LAYOUT","SIDE_DISPLAYED","SHARE_CLOSE","SHARE_COPY","BUMPER_CLICKED","SKIP_BUTTON_CLICK","SKIP_BUTTON_DISPLAYED","PLAYLIST_OPEN","PLAYLIST_CLOSE","RELATED_CLOSE","RELATED_ENTRY_SELECTED","RELATED_ENTRY_AUTO_PLAYED","RELATED_GRID_DISPLAYED","CALL_TO_ACTION_BUTTON_CLICK","CALL_TO_ACTION_DISPLAYED","HOTSPOT_CLICK","HOTSPOT_DISPLAYED","QUIZ_STARTED","QUIZ_SKIPPED","QUIZ_SEEK","QUESTION_ANSWERED","QUIZ_SUBMITTED","QUIZ_RETAKE","QUIZ_QUESTION_CHANGED","DETECT_AD_BLOCK_PARTIAL_OVERLAY_SHOWN","DETECT_AD_BLOCK_FULL_OVERLAY_SHOWN","DETECT_AD_BLOCK_SECONDARY_BUTTON_CLICKED","DETECT_AD_BLOCK_X_BUTTON_CLICKED","DETECT_AD_BLOCK_AD_BLOCKER_DISABLED","DETECT_AD_BLOCK_AD_BLOCKER_NOT_DISABLED","REELS_PLAY","REELS_PAUSE","REELS_MUTE","REELS_UNMUTE","REELS_SEEK","REELS_POSTER_CLICKED","REELS_ENTRY_LOADED","REELS_PLAYLIST_LOADED","EAD_ON","EAD_OFF","EAD_SKIP","EAD_REPLAY","EAD_PAUSE","EAD_PLAY","EAD_SCROLL","KalturaApplication","KMC","KMS","KAF","PITCH","KMS_GO","WEBCASTING","PERSONAL_CAPTURE","KME","KME_MOBILE_APP","PATH","LECTURE_CAPTURE","EP","CHAT_AND_COLLABORATION","ANALYTICS","EXPRESS_CAPTURE","KPF","KAF_GO","SITES","STUDIO","CAPTIONS_EDITOR","CHECKLIST","PLAYER","GENIE","ApplicationFeature","getApplicationEventsModel","eventObj","innerEventPayload","commonModel","getPartnerId","getEntryId","getSessionId","kalturaApplication","getVirtualEventId","getKalturaApplication","getApplication","getKalturaApplicationVersion","getUserId","getKS","getHostingKalturaApplication","getHostingKalturaApplicationVersion","namedEventModel","eventVar1","eventVar2","eventVar3","eventVar4","applicationFeature","ApplicationEventsModel","_ApplicationEventsMod","_ref","layout","Choose","DUAL_SCREEN","payload","View","Open","SHARE_EMBED","Close","Share","socialNetworkName","Download","assetType","fileType","description","isDefault","Link","BUMPER","NAVIGATION","searchQuery","activeTab","availableTabs","isItSearch","Search","itemType","isTextExpanded","Expand","Collapse","TRANSCRIPT","search","Navigate","Edit","position","x","size","PLAYLIST","SKIP","mode","RELATED","CALL_TO_ACTION","displayType","isMetadataBased","HOTSPOPT","Load","QUIZ","Send","_ref2","questionIndex","_ref3","Toggle","EAD","_ref4","_ref5","trigger","_ref6","UI","DETECT_AD_BLOCK","_ref7","isResume","REELS","_ref8","_ref9","_ref10","_ref11","from","to","_ref12","_ref13","muted","playlistId","_ref14","autoplay","KavaModel","ScreenMode","NOT_IN_FULLSCREEN","NaN","updateModel","canPlayTime","Math","round","registeredPlugins","caption","totalSegmentsDownloadTime","totalSegmentsDownloadBytes","maxManifestDownloadTime","maxSegmentDownloadTime","maxNetworkConnectionOverhead","retVal","eventIndex","sessionStartTime","shareNetworkName","eventBucketName","PlayerEvents","eventPayload","getEventIndex","referrer","getReferrer","deliveryType","getDeliveryType","playbackType","getPlaybackType","clientVer","getClientVer","getClientTag","getPosition","playbackSpeed","getPlaybackSpeed","getCaption","getSessionStartTime","virtualEventId","getUIConfId","uiConfId","getPlaylistId","getCustomVar1","customVar1","getCustomVar2","customVar2","getCustomVar3","customVar3","getPlaybackContext","playbackContext","application","kalturaApplicationVer","userId","getPersistentSessionId","persistentSessionId","hostingKalturaApplication","hostingKalturaApplicationVersion","ApplicationEvents","SoundMode","ViewabilityMode","TabMode","ErrorPosition","HttpMethodType","GET","POST","Application","PKError","Error","Utils","DIVIDER","Kava","_BasePlugin","player","_rateHandler","_model","_setModelDelegates","resetSessionCountdown","viewEventCountdown","_viewEventEnabled","_resetFlags","_addBindings","entry","getEntriesByType","match","volume","SOUND_OFF","SOUND_ON","isVisible","isInPictureInPicture","IN_VIEW","NOT_IN_VIEW","list","perfEntries","getEntries","_performanceEntries","_pendingFragLoadedUrls","_handleFragPerformanceObserver","pop","eventManager","destroy","_reset","_performanceObserver","disconnect","removeAll","window","PerformanceObserver","_handleNewPerformanceEntries","observe","entryTypes","event","getModel","copyDeep","trackEvent","requestMethod","_handleServerResponseSuccess","err","_handleServerResponseFailed","_previousCurrentTime","_lastViewEventPlayTime","_isPlaying","_isFirstPlay","_isFirstPlaying","_isEnded","_isPaused","_isBuffering","_timePercentEvent","_canPlayOccured","_isManualPreload","logger","reset","_validate","_updateBufferModel","_bufferStartTime","Date","tamperAnalyticsHandler","sendAnalytics","catch","_updateSessionStartTimeModel","_this3","listen","countCurrent","_onReport","_resetSession","Core","_onSourceSelected","_onError","FIRST_PLAY","_onFirstPlay","FRAG_LOADED","_onFragLoaded","MANIFEST_LOADED","_onManifestLoaded","TIMED_METADATA","_onTimedMetadataLoaded","TRACKS_CHANGED","_setInitialTracks","PLAYING","_onPlaying","FIRST_PLAYING","_onFirstPlaying","SEEKING","_onSeeking","_onPause","ENDED","_onEnded","VIDEO_TRACK_CHANGED","_onVideoTrackChanged","AUDIO_TRACK_CHANGED","_onAudioTrackChanged","TEXT_TRACK_CHANGED","_onTextTrackChanged","PLAYER_STATE_CHANGED","_onPlayerStateChanged","RATE_CHANGE","_onPlaybackRateChanged","CAN_PLAY","_onCanPlay","LOAD_START","_onLoadStart","VOLUME_CHANGE","_updateSoundModeInModel","VISIBILITY_CHANGE","_updateViewabilityModeInModel","visible","MUTE_CHANGE","_onFullScreenChanged","FULLSCREEN","_onRelatedClicked","_onRelatedSelected","_onShareClicked","_onShareNetworkClicked","_onDownloadItemClicked","_onInfoScreenOpened","_onReportClicked","_onReportSubmitted","_bindApplicationEvents","_bindPlaykitUIEvents","_initTabMode","_initNetworkConnectionType","_this4","values","_isApplicationEventValid","_sendAnalytics","_this5","_fragLoadedFiredOnce","_loadStartTime","getTracks","Track","VIDEO","videoTrack","_getRates","activeTracks","getActiveTracks","setRates","video","setCurrent","audio","availableBuffer","stats","_getAvailableBuffer","_getTargetBuffer","droppedFrames","droppedAndDecoded","_getDroppedAndDecodedFrames","lastDroppedFrames","lastTotalFrames","droppedFramesDelta","_lastDroppedFrames","totalFramesDelta","_lastTotalFrames","getVideoElement","getVideoPlaybackQuality","videoPlaybackQuality","droppedVideoFrames","totalVideoFrames","webkitDroppedFrameCount","webkitDecodedFrameCount","_updatePlayTimeSumModel","_getForwardBufferHealth","_getDroppedFramesRatio","navConnection","effectiveType","_this6","navigator","connection","mozConnection","webkitConnection","_updateNetworkConnectionTypeinModel","isUntimedImg","start","playRequestStartTime","playback","preload","_firstPlayRequestTime","_getTimeDifferenceInSeconds","resume","_this7","plugins","plugin","isImage","isLive","TIME_UPDATE","_onTimeUpdate","currentTime","percent","parseFloat","toFixed","PLAY_REACHED_25","PLAY_REACHED_50","PLAY_REACHED_75","PLAY_REACHED_100","_updateFragLoadedStats","fragResourceTimings","lastFragResourceTiming","_updateMaxNetworkConnectionOverhead","connectEnd","domainLookupStart","lastIndexOftheFragment","splice","max","seconds","miliSeconds","bytes","id3TagCues","cues","Number","sequenceId","clipId","_data$clipId$split2","next","done","minLen","partType","selectedVideoTrack","isAdaptiveBitrateEnabled","audioTrack","selectedAudioTrack","textTrack","selectedTextTrack","PRE_PLAY","PRE_PLAYING","MID_STREAM","playbackRates","includes","playbackRate","oldState","newState","State","BUFFERING","viewEventsEnabled","isStopped","delta","_this8","getCurrent","getAverage","playerVersion","_getPosition","_getDeliveryType","_getPlaybackType","_getPlayerType","kalturaApplicationVersion","_getKalturaApplicationId","applicationVersion","reels","audioPlayer","AUDIO","kalturaAppName","sources","seekFrom","startTime","streamType","StreamType","PROGRESSIVE","isDvr","dvrThreshold","_logMissingParam","buttonName","pageName","missingParam","hiddenAttr","_isTabHidden","TAB_NOT_FOCUSED","TAB_FOCUSED","document","visibilityChangeEventName","_this9","hidden","msHidden","webkitHidden","_updateTabModeInModel","BasePlugin","Http","protocol","__VERSION__","__NAME__","registerPlugin"],"sourceRoot":""}
1
+ {"version":3,"file":"playkit-kava.js","mappings":"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","sources":["webpack://KalturaPlayer.plugins.kava/webpack/universalModuleDefinition","webpack://KalturaPlayer.plugins.kava/./node_modules/@playkit-js/playkit-js-providers/dist/playkit-analytics-service.js","webpack://KalturaPlayer.plugins.kava/webpack/bootstrap","webpack://KalturaPlayer.plugins.kava/webpack/runtime/define property getters","webpack://KalturaPlayer.plugins.kava/webpack/runtime/hasOwnProperty shorthand","webpack://KalturaPlayer.plugins.kava/webpack/runtime/make namespace object","webpack://KalturaPlayer.plugins.kava/external root \"KalturaPlayer\"","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/typeof.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/arrayLikeToArray.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/classCallCheck.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/toPropertyKey.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/toPrimitive.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/createClass.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/assertThisInitialized.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/possibleConstructorReturn.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/getPrototypeOf.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/setPrototypeOf.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/inherits.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/defineProperty.js","webpack://KalturaPlayer.plugins.kava/./src/kava-event-model.ts","webpack://KalturaPlayer.plugins.kava/./src/kava-rate-handler.ts","webpack://KalturaPlayer.plugins.kava/./src/kava-timer.ts","webpack://KalturaPlayer.plugins.kava/./src/enums/event-bucket-name.ts","webpack://KalturaPlayer.plugins.kava/./src/enums/button-type.ts","webpack://KalturaPlayer.plugins.kava/./src/enums/application-event-type.ts","webpack://KalturaPlayer.plugins.kava/./src/enums/page-load-type.ts","webpack://KalturaPlayer.plugins.kava/./src/applications-events.ts","webpack://KalturaPlayer.plugins.kava/./src/enums/kaltura-application.ts","webpack://KalturaPlayer.plugins.kava/./src/enums/application-feature.ts","webpack://KalturaPlayer.plugins.kava/./src/application-events-model.ts","webpack://KalturaPlayer.plugins.kava/./src/kava-model.ts","webpack://KalturaPlayer.plugins.kava/./src/enums/http-method-type.ts","webpack://KalturaPlayer.plugins.kava/./src/enums/application.ts","webpack://KalturaPlayer.plugins.kava/./src/kava.ts","webpack://KalturaPlayer.plugins.kava/./src/temp-imported-plugins-event-names-temp.ts","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/slicedToArray.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/arrayWithHoles.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/iterableToArrayLimit.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/unsupportedIterableToArray.js","webpack://KalturaPlayer.plugins.kava/./node_modules/@babel/runtime/helpers/esm/nonIterableRest.js","webpack://KalturaPlayer.plugins.kava/./src/index.ts"],"sourcesContent":["(function webpackUniversalModuleDefinition(root, factory) {\n\tif(typeof exports === 'object' && typeof module === 'object')\n\t\tmodule.exports = factory();\n\telse if(typeof define === 'function' && define.amd)\n\t\tdefine(\"KalturaPlayer\", [], factory);\n\telse if(typeof exports === 'object')\n\t\texports[\"KalturaPlayer\"] = factory();\n\telse\n\t\troot[\"KalturaPlayer\"] = root[\"KalturaPlayer\"] || {}, root[\"KalturaPlayer\"][\"plugins\"] = root[\"KalturaPlayer\"][\"plugins\"] || {}, root[\"KalturaPlayer\"][\"plugins\"][\"kava\"] = factory();\n})(self, () => {\nreturn ","!function(e,t){if(\"object\"==typeof exports&&\"object\"==typeof module)module.exports=t();else if(\"function\"==typeof define&&define.amd)define([],t);else{var r=t();for(var n in r)(\"object\"==typeof exports?exports:e)[n]=r[n]}}(self,(function(){return function(){\"use strict\";var e={d:function(t,r){for(var n in r)e.o(r,n)&&!e.o(t,n)&&Object.defineProperty(t,n,{enumerable:!0,get:r[n]})},o:function(e,t){return Object.prototype.hasOwnProperty.call(e,t)},r:function(e){\"undefined\"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:\"Module\"}),Object.defineProperty(e,\"__esModule\",{value:!0})}},t={};function r(e,t){if(!(e instanceof t))throw new TypeError(\"Cannot call a class as a function\")}function n(e){return n=\"function\"==typeof Symbol&&\"symbol\"==typeof Symbol.iterator?function(e){return typeof e}:function(e){return e&&\"function\"==typeof Symbol&&e.constructor===Symbol&&e!==Symbol.prototype?\"symbol\":typeof e},n(e)}function o(e){var t=function(e,t){if(\"object\"!==n(e)||null===e)return e;var r=e[Symbol.toPrimitive];if(void 0!==r){var o=r.call(e,\"string\");if(\"object\"!==n(o))return o;throw new TypeError(\"@@toPrimitive must return a primitive value.\")}return String(e)}(e);return\"symbol\"===n(t)?t:String(t)}function i(e,t){for(var r=0;r<t.length;r++){var n=t[r];n.enumerable=n.enumerable||!1,n.configurable=!0,\"value\"in n&&(n.writable=!0),Object.defineProperty(e,o(n.key),n)}}function s(e,t,r){return t&&i(e.prototype,t),r&&i(e,r),Object.defineProperty(e,\"prototype\",{writable:!1}),e}function a(e,t,r){return(t=o(t))in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}e.r(t),e.d(t,{NAME:function(){return P},OVPAnalyticsService:function(){return A},OVPConfiguration:function(){return h},RequestBuilder:function(){return l},VERSION:function(){return C}});var u=function(){return{VERSION:\"\",DEBUG:{value:\"\",name:\"\"},ERROR:{value:\"\",name:\"\"},INFO:{value:\"\",name:\"\"},OFF:{value:\"\",name:\"\"},TIME:{value:\"\",name:\"\"},TRACE:{value:\"\",name:\"\"},WARN:{value:\"\",name:\"\"},createDefaultHandler:function(){},debug:function(){},enabledFor:function(){},error:function(){},get:function(){},getLevel:function(){},info:function(){},log:function(){},setHandler:function(){},setLevel:function(){},time:function(){},timeEnd:function(){},trace:function(){},useDefaults:function(){},warn:function(){}}};var c=function(e){return u(e)},f=s((function e(t,n,o){var i=arguments.length>3&&void 0!==arguments[3]?arguments[3]:{};r(this,e),this.severity=t,this.category=n,this.code=o,this.data=i,e._logger.error(\"Category:\".concat(n,\" | Code:\").concat(o,\" |\"),i)}));a(f,\"Severity\",{RECOVERABLE:1,CRITICAL:2}),a(f,\"Category\",{NETWORK:1,SERVICE:2,PROVIDER:3}),a(f,\"Code\",{UNSUPPORTED_SCHEME:1e3,BAD_HTTP_STATUS:1001,HTTP_ERROR:1002,TIMEOUT:1003,MALFORMED_DATA_URI:1004,BAD_SERVER_RESPONSE:1005,MULTIREQUEST_API_ERROR:1006,API_RESPONSE_MISMATCH:1007,ERROR:2e3,BLOCK_ACTION:2001,MEDIA_STATUS_NOT_READY:2002,MISSING_MANDATORY_PARAMS:3e3,MISSING_PLAY_SOURCE:3001,METHOD_NOT_IMPLEMENTED:3002}),a(f,\"_logger\",c(\"Error\"));var l=function(){function e(){var t=arguments.length>0&&void 0!==arguments[0]?arguments[0]:new Map;r(this,e),a(this,\"retryConfig\",{async:!0,timeout:0,maxAttempts:4}),a(this,\"_attemptCounter\",1),this.headers=t}return s(e,[{key:\"getUrl\",value:function(e){return e+\"/service/\"+this.service+(this.action?\"/action/\"+this.action:\"\")}},{key:\"doHttpRequest\",value:function(){var e=this,t=new Promise((function(t,r){e._requestPromise={resolve:t,reject:r}}));return this.url||this._requestPromise.reject(new f(f.Severity.CRITICAL,f.Category.NETWORK,f.Code.MALFORMED_DATA_URI,{url:this.url})),this._createXHR(),t}},{key:\"_createXHR\",value:function(){var e=this,t=new XMLHttpRequest;t.onreadystatechange=function(){if(4===t.readyState&&200===t.status)try{var r=JSON.parse(t.responseText);return e.responseHeaders=e._getResponseHeaders(t),e._requestPromise.resolve(r)}catch(r){e._requestPromise.reject(e._createError(t,f.Code.BAD_SERVER_RESPONSE,{text:t.responseText}))}},t.open(this.method,this.url,this.retryConfig.async),this.retryConfig.async&&this.retryConfig.timeout&&(t.timeout=this.retryConfig.timeout);var r=performance.now();t.ontimeout=function(){e._handleError(t,f.Code.TIMEOUT,{timeout:(performance.now()-r)/1e3,statusText:t.statusText})},t.onerror=t.onabort=function(){e._handleError(t,f.Code.HTTP_ERROR,{text:t.responseText,statusText:t.statusText})},this.headers.forEach((function(e,r){t.setRequestHeader(r,e)})),t.send(this.params)}},{key:\"_getResponseHeaders\",value:function(e){return e.getAllResponseHeaders().split(\"\\n\").filter((function(e){return 0===e.toLowerCase().indexOf(\"x-\")}))}},{key:\"_handleError\",value:function(e,t,r){var n=this._createError(e,t,r);if(e.onreadystatechange=function(){},e.onerror=function(){},e.ontimeout=function(){},e.onabort=function(){},!(this.retryConfig.maxAttempts&&this._attemptCounter<this.retryConfig.maxAttempts))return this._requestPromise.reject(n);this._attemptCounter++,this._createXHR()}},{key:\"_createError\",value:function(e,t,r){return Object.assign(r,{url:this.url,headers:this._getResponseHeaders(e),attempt:this._attemptCounter}),new f(f.Severity.CRITICAL,f.Category.NETWORK,t,r)}}]),e}(),p=function e(t){var r;return Array.isArray(t)?(r=t.length>0?t.slice(0):[]).forEach((function(t,o){(\"object\"===n(t)||Array.isArray(t)&&t.length>0)&&(r[o]=e(t))})):\"object\"===n(t)?(r=Object.assign({},t),Object.keys(r).forEach((function(t){(\"object\"===n(r[t])||Array.isArray(r[t])&&r[t].length>0)&&(r[t]=e(r[t]))}))):r=t,r},y={serviceUrl:\"https://cdnapisec.kaltura.com/api_v3\",cdnUrl:\"https://cdnapisec.kaltura.com\",serviceParams:{apiVersion:\"3.3.0\",format:1},useApiCaptions:!0,loadThumbnailWithKs:!1,replaceHostOnlyManifestUrls:!1},h=function(){function e(){r(this,e)}return s(e,null,[{key:\"set\",value:function(e){e&&Object.assign(y,e)}},{key:\"get\",value:function(){return p(y)}}]),e}();function v(e,t){return v=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(e,t){return e.__proto__=t,e},v(e,t)}function d(e,t){if(\"function\"!=typeof t&&null!==t)throw new TypeError(\"Super expression must either be null or a function\");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,\"prototype\",{writable:!1}),t&&v(e,t)}function m(e){if(void 0===e)throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");return e}function g(e,t){if(t&&(\"object\"===n(t)||\"function\"==typeof t))return t;if(void 0!==t)throw new TypeError(\"Derived constructors may only return object or undefined\");return m(e)}function E(e){return E=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(e){return e.__proto__||Object.getPrototypeOf(e)},E(e)}var R=s((function e(t){r(this,e),a(this,\"hasError\",!1),\"KalturaAPIException\"===t.objectType?(this.hasError=!0,this.error=new O(t.code,t.message)):t.error&&\"KalturaAPIException\"===t.error.objectType?(this.hasError=!0,this.error=new O(t.error.code,t.error.message)):this.data=t})),O=s((function e(t,n){r(this,e),this.code=t,this.message=n}));var b=function(e){d(i,e);var t,n,o=(t=i,n=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=E(t);if(n){var o=E(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return g(this,e)});function i(){var e;r(this,i);for(var t=arguments.length,n=new Array(t),s=0;s<t;s++)n[s]=arguments[s];return a(m(e=o.call.apply(o,[this].concat(n))),\"requests\",[]),e}return s(i,[{key:\"add\",value:function(e){this.requests.push(e);var t={},r={service:e.service,action:e.action};return Object.assign(t,a({},this.requests.length,Object.assign(r,e.params))),Object.assign(t,this.params),this.params=t,this}},{key:\"execute\",value:function(e){var t=this;return new Promise((function(r,n){try{t.params=JSON.stringify(t.params)}catch(e){i._logger.error(\"\".concat(e.message)),n(new f(f.Severity.CRITICAL,f.Category.PROVIDER,f.Code.FAILED_PARSING_REQUEST,{error:e,params:t.params}))}t.doHttpRequest().then((function(o){var i=new _(o,e);i.success?r({headers:t.responseHeaders,response:i}):n(new f(f.Severity.CRITICAL,f.Category.NETWORK,f.Code.MULTIREQUEST_API_ERROR,{url:t.url,headers:t.responseHeaders,results:i.results}))}),(function(e){n(e)}))}))}}]),i}(l);a(b,\"_logger\",c(\"MultiRequestBuilder\"));var _=s((function e(t){var n=!(arguments.length>1&&void 0!==arguments[1])||arguments[1];r(this,e),a(this,\"results\",[]);var o=t.result?t.result:t,i=(Array.isArray(o)?o:[o]).map((function(e){return new R(e)})),s=i.filter((function(e){return e.hasError}));s.forEach((function(t){e._logger.error(\"Service returned an error with error code: \".concat(t.error.code,\" and message: \").concat(t.error.message,\".\"))})),this.results=i,n&&s.length||s.length===this.results.length?this.success=!1:(this.results=this.results.filter((function(e){return!e.hasError})),this.success=!0)}));a(_,\"_logger\",c(\"MultiRequestResult\"));var T=function(e){var t=[],r=/\\[\\]$/,o=function(e){return\"[object Array]\"===Object.prototype.toString.call(e)},i=function(e,r){r=\"function\"==typeof r?r():null==r?\"\":r,t[t.length]=encodeURIComponent(e)+\"=\"+encodeURIComponent(r)};return function e(s,a){var u,c,f;if(s)if(o(a))for(u=0,c=a.length;u<c;u++)r.test(s)?i(s,a[u]):e(s+\":\"+(\"object\"===n(a[u])?u:\"\"),a[u]);else if(a&&\"[object Object]\"===String(a))for(f in a)e(s+\":\"+f,a[f]);else i(s,a);else if(o(a))for(u=0,c=a.length;u<c;u++)i(a[u].name,a[u].value);else for(f in a)e(f,a[f]);return t}(\"\",e).join(\"&\").replace(/%20/g,\"+\")};var S=\"analytics\",A=function(e){d(i,e);var t,n,o=(t=i,n=function(){if(\"undefined\"==typeof Reflect||!Reflect.construct)return!1;if(Reflect.construct.sham)return!1;if(\"function\"==typeof Proxy)return!0;try{return Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],(function(){}))),!0}catch(e){return!1}}(),function(){var e,r=E(t);if(n){var o=E(this).constructor;e=Reflect.construct(r,arguments,o)}else e=r.apply(this,arguments);return g(this,e)});function i(){return r(this,i),o.apply(this,arguments)}return s(i,null,[{key:\"trackEvent\",value:function(e,t,r){return\"POST\"===r?i._trackEventByPOST(e,t):i._trackEventByGET(e,t)}},{key:\"_trackEventByGET\",value:function(e,t){var r=h.get(),n={};Object.assign(n,r.serviceParams,t);var o=new l;return o.service=S,o.action=\"trackEvent\",o.method=\"GET\",o.retryConfig.maxAttempts=1,o.tag=\"analytics-trackEvent\",o.params=n,o.url=e+\"?service=\"+o.service+\"&action=\"+o.action+\"&\"+T(o.params),o}},{key:\"_trackEventByPOST\",value:function(e,t){var r=h.get(),n={};Object.assign(n,r.serviceParams,t);var o=new Map;o.set(\"Content-Type\",\"application/json\");var i=new l(o),s={eventType:n.eventType,partnerId:n.partnerId,entryId:n.entryId,sessionId:n.sessionId};return[\"eventType\",\"partnerId\",\"entryId\",\"sessionId\"].forEach((function(e){return delete n[e]})),i.service=S,i.action=\"trackEvent\",i.method=\"POST\",i.retryConfig.maxAttempts=1,i.tag=\"analytics-trackEvent\",i.params=JSON.stringify(n),i.url=e+\"?service=\"+i.service+\"&action=\"+i.action+\"&\"+T(s),i}}]),i}(function(){function e(){r(this,e)}return s(e,null,[{key:\"getMultiRequest\",value:function(e,t,r){var n=h.get(),o=n.serviceParams;Object.assign(o,{ks:t,clientTag:\"html5:v\"+e}),r&&Object.assign(o,{partnerId:r});var i=new Map;i.set(\"Content-Type\",\"application/json\");var s=new b(i);return s.method=\"POST\",s.service=\"multirequest\",s.url=s.getUrl(n.serviceUrl),s.params=o,s}}]),e}()),P=\"@playkit-js/playkit-js-providers-analytics-service\",C=\"2.40.4\";return t}()}));\n//# sourceMappingURL=playkit-analytics-service.js.map","// The module cache\nvar __webpack_module_cache__ = {};\n\n// The require function\nfunction __webpack_require__(moduleId) {\n\t// Check if module is in cache\n\tvar cachedModule = __webpack_module_cache__[moduleId];\n\tif (cachedModule !== undefined) {\n\t\treturn cachedModule.exports;\n\t}\n\t// Create a new module (and put it into the cache)\n\tvar module = __webpack_module_cache__[moduleId] = {\n\t\t// no module.id needed\n\t\t// no module.loaded needed\n\t\texports: {}\n\t};\n\n\t// Execute the module function\n\t__webpack_modules__[moduleId](module, module.exports, __webpack_require__);\n\n\t// Return the exports of the module\n\treturn module.exports;\n}\n\n","// define getter functions for harmony exports\n__webpack_require__.d = (exports, definition) => {\n\tfor(var key in definition) {\n\t\tif(__webpack_require__.o(definition, key) && !__webpack_require__.o(exports, key)) {\n\t\t\tObject.defineProperty(exports, key, { enumerable: true, get: definition[key] });\n\t\t}\n\t}\n};","__webpack_require__.o = (obj, prop) => (Object.prototype.hasOwnProperty.call(obj, prop))","// define __esModule on exports\n__webpack_require__.r = (exports) => {\n\tif(typeof Symbol !== 'undefined' && Symbol.toStringTag) {\n\t\tObject.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });\n\t}\n\tObject.defineProperty(exports, '__esModule', { value: true });\n};","const __WEBPACK_NAMESPACE_OBJECT__ = KalturaPlayer;","export default function _typeof(o) {\n \"@babel/helpers - typeof\";\n\n return _typeof = \"function\" == typeof Symbol && \"symbol\" == typeof Symbol.iterator ? function (o) {\n return typeof o;\n } : function (o) {\n return o && \"function\" == typeof Symbol && o.constructor === Symbol && o !== Symbol.prototype ? \"symbol\" : typeof o;\n }, _typeof(o);\n}","export default function _arrayLikeToArray(arr, len) {\n if (len == null || len > arr.length) len = arr.length;\n for (var i = 0, arr2 = new Array(len); i < len; i++) arr2[i] = arr[i];\n return arr2;\n}","export default function _classCallCheck(instance, Constructor) {\n if (!(instance instanceof Constructor)) {\n throw new TypeError(\"Cannot call a class as a function\");\n }\n}","import _typeof from \"./typeof.js\";\nimport toPrimitive from \"./toPrimitive.js\";\nexport default function toPropertyKey(t) {\n var i = toPrimitive(t, \"string\");\n return \"symbol\" == _typeof(i) ? i : String(i);\n}","import _typeof from \"./typeof.js\";\nexport default function toPrimitive(t, r) {\n if (\"object\" != _typeof(t) || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r || \"default\");\n if (\"object\" != _typeof(i)) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nfunction _defineProperties(target, props) {\n for (var i = 0; i < props.length; i++) {\n var descriptor = props[i];\n descriptor.enumerable = descriptor.enumerable || false;\n descriptor.configurable = true;\n if (\"value\" in descriptor) descriptor.writable = true;\n Object.defineProperty(target, toPropertyKey(descriptor.key), descriptor);\n }\n}\nexport default function _createClass(Constructor, protoProps, staticProps) {\n if (protoProps) _defineProperties(Constructor.prototype, protoProps);\n if (staticProps) _defineProperties(Constructor, staticProps);\n Object.defineProperty(Constructor, \"prototype\", {\n writable: false\n });\n return Constructor;\n}","export default function _assertThisInitialized(self) {\n if (self === void 0) {\n throw new ReferenceError(\"this hasn't been initialised - super() hasn't been called\");\n }\n return self;\n}","import _typeof from \"./typeof.js\";\nimport assertThisInitialized from \"./assertThisInitialized.js\";\nexport default function _possibleConstructorReturn(self, call) {\n if (call && (_typeof(call) === \"object\" || typeof call === \"function\")) {\n return call;\n } else if (call !== void 0) {\n throw new TypeError(\"Derived constructors may only return object or undefined\");\n }\n return assertThisInitialized(self);\n}","export default function _getPrototypeOf(o) {\n _getPrototypeOf = Object.setPrototypeOf ? Object.getPrototypeOf.bind() : function _getPrototypeOf(o) {\n return o.__proto__ || Object.getPrototypeOf(o);\n };\n return _getPrototypeOf(o);\n}","export default function _setPrototypeOf(o, p) {\n _setPrototypeOf = Object.setPrototypeOf ? Object.setPrototypeOf.bind() : function _setPrototypeOf(o, p) {\n o.__proto__ = p;\n return o;\n };\n return _setPrototypeOf(o, p);\n}","import setPrototypeOf from \"./setPrototypeOf.js\";\nexport default function _inherits(subClass, superClass) {\n if (typeof superClass !== \"function\" && superClass !== null) {\n throw new TypeError(\"Super expression must either be null or a function\");\n }\n subClass.prototype = Object.create(superClass && superClass.prototype, {\n constructor: {\n value: subClass,\n writable: true,\n configurable: true\n }\n });\n Object.defineProperty(subClass, \"prototype\", {\n writable: false\n });\n if (superClass) setPrototypeOf(subClass, superClass);\n}","import toPropertyKey from \"./toPropertyKey.js\";\nexport default function _defineProperty(obj, key, value) {\n key = toPropertyKey(key);\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n return obj;\n}","import { KavaModel } from './kava-model';\nimport { KavaEvent } from './types';\n\n/**\n * @name KavaEventType\n * @enum\n */\nexport const KavaEventModel = {\n /**\n * @type {string} VIEW\n * @memberof KavaEventType\n */\n VIEW: {\n type: 'VIEW',\n index: 99,\n getEventModel: (model: KavaModel): any => {\n const eventModel: { [name: string]: any } = {\n playTimeSum: model.getPlayTimeSum(),\n bufferTime: model.getBufferTime(),\n bufferTimeSum: model.getBufferTimeSum(),\n actualBitrate: model.getActualBitrate(),\n averageBitrate: model.getAverageBitrate(),\n audioLanguage: model.getLanguage(),\n soundMode: model.getSoundMode(),\n tabMode: model.getTabMode(),\n viewabilityMode: model.getViewabilityMode(),\n screenMode: model.getScreenMode()\n };\n\n if (!isNaN(model.getForwardBufferHealth())) {\n eventModel.forwardBufferHealth = model.getForwardBufferHealth();\n }\n if (model.getMaxManifestDownloadTime() > 0) {\n eventModel.manifestDownloadTime = model.getMaxManifestDownloadTime();\n }\n if (model.getSegmentDownloadTime() > 0) {\n eventModel.segmentDownloadTime = model.getSegmentDownloadTime();\n }\n if (model.getBandwidth()) {\n eventModel.bandwidth = model.getBandwidth();\n }\n if (model.getDroppedFramesRatio() !== null) {\n eventModel.droppedFramesRatio = model.getDroppedFramesRatio();\n }\n\n if (!isNaN(model.getTargetBuffer())) {\n eventModel.targetBuffer = model.getTargetBuffer();\n }\n\n if (model.getNetworkConnectionType() !== '') {\n eventModel.networkConnectionType = model.getNetworkConnectionType();\n }\n\n if (model.getNetworkConnectionOverhead()) {\n eventModel.networkConnectionOverhead = model.getNetworkConnectionOverhead();\n }\n if (!isNaN(model.getFlavorParamsId())) {\n eventModel.flavorParamsId = model.getFlavorParamsId();\n }\n if (!isNaN(model.getPlaybackMode())) {\n eventModel.playbackMode = model.getPlaybackMode();\n }\n if (model.getSourceEntryId() !== null) {\n eventModel.sourceEntryId = model.getSourceEntryId();\n }\n\n return eventModel;\n }\n },\n /**\n * @type {string} IMPRESSION\n * @memberof KavaEventType\n */\n IMPRESSION: {\n type: 'IMPRESSION',\n index: 1,\n getEventModel: (model: KavaModel): any => {\n const eventModel = {} as KavaModel;\n if (model.getPlayerJSLoadTime() !== null) {\n eventModel.playerJSLoadTime = model.getPlayerJSLoadTime();\n }\n eventModel['loadedPlugins'] = model.getRegisteredPlugins();\n return eventModel;\n }\n },\n /**\n * @type {string} PLAY_REQUEST\n * @memberof KavaEventType\n */\n PLAY_REQUEST: {\n type: 'PLAY_REQUEST',\n index: 2,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} PLAY\n * @memberof KavaEventType\n */\n PLAY: {\n type: 'PLAY',\n index: 3,\n getEventModel: (model: KavaModel): any => {\n const eventModel: { [name: string]: any } = {\n bufferTime: model.getBufferTime(),\n bufferTimeSum: model.getBufferTimeSum(),\n actualBitrate: model.getActualBitrate(),\n joinTime: model.getJoinTime(),\n canPlay: model.getCanPlayTime()\n };\n if (model.getNetworkConnectionType() !== '') {\n eventModel.networkConnectionType = model.getNetworkConnectionType();\n }\n return eventModel;\n }\n },\n /**\n * @type {string} RESUME\n * @memberof KavaEventType\n */\n RESUME: {\n type: 'RESUME',\n index: 4,\n getEventModel: (model: KavaModel): any => ({\n bufferTime: model.getBufferTime(),\n bufferTimeSum: model.getBufferTimeSum(),\n actualBitrate: model.getActualBitrate()\n })\n },\n /**\n * @type {string} PAUSE\n * @memberof KavaEventType\n */\n PAUSE: {\n type: 'PAUSE',\n index: 33,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} BUFFER_START\n * @memberof KavaEventType\n */\n BUFFER_START: {\n type: 'BUFFER_START',\n index: 45,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} BUFFER_END\n * @memberof KavaEventType\n */\n BUFFER_END: {\n type: 'BUFFER_END',\n index: 46,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} REPLAY\n * @memberof KavaEventType\n */\n REPLAY: {\n type: 'REPLAY',\n index: 34,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} SEEK\n * @memberof KavaEventType\n */\n SEEK: {\n type: 'SEEK',\n index: 35,\n getEventModel: (model: KavaModel): any => ({\n targetPosition: model.getTargetPosition()\n })\n },\n /**\n * @type {string} PLAY_REACHED_25_PERCENT\n * @memberof KavaEventType\n */\n PLAY_REACHED_25_PERCENT: {\n type: 'PLAY_REACHED_25_PERCENT',\n index: 11,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} PLAY_REACHED_50_PERCENT\n * @memberof KavaEventType\n */\n PLAY_REACHED_50_PERCENT: {\n type: 'PLAY_REACHED_50_PERCENT',\n index: 12,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} PLAY_REACHED_75_PERCENT\n * @memberof KavaEventType\n */\n PLAY_REACHED_75_PERCENT: {\n type: 'PLAY_REACHED_75_PERCENT',\n index: 13,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} PLAY_REACHED_100_PERCENT\n * @memberof KavaEventType\n */\n PLAY_REACHED_100_PERCENT: {\n type: 'PLAY_REACHED_100_PERCENT',\n index: 14,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} SOURCE_SELECTED\n * @memberof KavaEventType\n */\n SOURCE_SELECTED: {\n type: 'SOURCE_SELECTED',\n index: 39,\n getEventModel: (model: KavaModel): any => ({\n actualBitrate: model.getActualBitrate()\n })\n },\n /**\n * @type {string} AUDIO_SELECTED\n * @memberof KavaEventType\n */\n AUDIO_SELECTED: {\n type: 'AUDIO_SELECTED',\n index: 42,\n getEventModel: (model: KavaModel): any => ({\n language: model.getLanguage()\n })\n },\n /**\n * @type {string} FLAVOR_SWITCH\n * @memberof KavaEventType\n */\n FLAVOR_SWITCH: {\n type: 'FLAVOR_SWITCH',\n index: 43,\n getEventModel: (model: KavaModel): any => ({\n actualBitrate: model.getActualBitrate()\n })\n },\n /**\n * @type {string} SPEED\n * @memberof KavaEventType\n */\n SPEED: {\n type: 'SPEED',\n index: 41,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} CAPTIONS\n * @memberof KavaEventType\n */\n CAPTIONS: {\n type: 'CAPTIONS',\n index: 38,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} ERROR\n * @memberof KavaEventType\n */\n ERROR: {\n type: 'ERROR',\n index: 98,\n getEventModel: (model: KavaModel): any => ({\n errorCode: model.getErrorCode(),\n errorDetails: model.getErrorDetails(),\n errorPosition: model.getErrorPosition()\n })\n },\n /**\n * @type {string} RELATED_OPEN\n * @memberof KavaEventType\n */\n RELATED_OPEN: {\n type: 'RELATED_OPEN',\n index: 36,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} RELATED_SELECTED\n * @memberof KavaEventType\n */\n RELATED_SELECTED: {\n type: 'RELATED_SELECTED',\n index: 37,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} SHARE_CLICKED\n * @memberof KavaEventType\n */\n SHARE_CLICKED: {\n type: 'SHARE_CLICKED',\n index: 21,\n getEventModel: (): any => ({})\n },\n /**\n * @type {string} SHARE_NETWORK\n * @memberof KavaEventType\n */\n SHARE_NETWORK: {\n type: 'SHARE_NETWORK',\n index: 22,\n getEventModel: (model: KavaModel): any => ({\n socialNetwork: model.getShareNetworkName()\n })\n },\n ENTER_FULLSCREEN: {\n type: 'ENTER_FULLSCREEN',\n index: 31,\n getEventModel: (model: KavaModel): any => ({\n screenMode: model.getScreenMode()\n })\n },\n EXIT_FULLSCREEN: {\n type: 'EXIT_FULLSCREEN',\n index: 32,\n getEventModel: (model: KavaModel): any => ({\n screenMode: model.getScreenMode()\n })\n },\n DOWNLOAD: {\n type: 'DOWNLOAD',\n index: 23,\n getEventModel: (): any => ({})\n },\n REPORT_CLICKED: {\n type: 'REPORT_CLICKED',\n index: 24,\n getEventModel: (): any => ({})\n },\n REPORT_SUBMITTED: {\n type: 'REPORT_SUBMITTED',\n index: 25,\n getEventModel: (model: KavaModel): any => ({\n reportType: model.getReportType()\n })\n },\n INFO: {\n type: 'INFO',\n index: 40,\n getEventModel: (): any => ({})\n }\n};\n\nexport const KavaEventType: { [event: string]: string } = ((eventType): any => {\n Object.keys(KavaEventModel).forEach((k) => (eventType[k] = k));\n return eventType;\n})({});\n//\n// /**\n// * Gets the full event model for a certain event object including the common params.\n// * @private\n// * @param {KavaEvent} eventObj - The event model.\n// * @param {KavaModel} model - The plugin model store.\n// * @returns {Object} - The full event model.\n// */\nexport function getEventModel(eventObj: KavaEvent, model: KavaModel): any {\n const commonModel: any = {\n eventType: eventObj.index,\n partnerId: model.getPartnerId(),\n entryId: model.getEntryId(),\n sessionId: model.getSessionId(),\n eventIndex: model.getEventIndex(),\n referrer: model.getReferrer(),\n deliveryType: model.getDeliveryType(),\n playbackType: model.getPlaybackType(),\n clientVer: model.getClientVer(),\n clientTag: model.getClientTag(),\n position: model.getPosition(),\n playbackSpeed: model.getPlaybackSpeed()\n };\n\n if (model.getCaption()) {\n commonModel.caption = model.getCaption();\n }\n if (model.getSessionStartTime()) {\n commonModel.sessionStartTime = model.getSessionStartTime();\n }\n if (model.getKS()) {\n commonModel.ks = model.getKS();\n }\n if (model.getVirtualEventId()) {\n commonModel.virtualEventId = model.getVirtualEventId();\n }\n if (model.getUIConfId()) {\n commonModel.uiConfId = model.getUIConfId();\n }\n if (model.getPlaylistId()) {\n commonModel.playlistId = model.getPlaylistId();\n }\n if (model.getCustomVar1()) {\n commonModel.customVar1 = model.getCustomVar1();\n }\n if (model.getCustomVar2()) {\n commonModel.customVar2 = model.getCustomVar2();\n }\n if (model.getCustomVar3()) {\n commonModel.customVar3 = model.getCustomVar3();\n }\n if (model.getPlaybackContext()) {\n commonModel.playbackContext = model.getPlaybackContext();\n }\n if (model.getApplication()) {\n commonModel.application = model.getApplication();\n }\n if (model.getKalturaApplicationVersion()) {\n commonModel.kalturaApplicationVer = model.getKalturaApplicationVersion();\n }\n if (model.getKalturaApplication()) {\n commonModel.kalturaApplication = model.getKalturaApplication();\n }\n if (model.getUserId()) {\n commonModel.userId = model.getUserId();\n }\n if (model.getPersistentSessionId()) {\n commonModel.persistentSessionId = model.getPersistentSessionId();\n }\n if (model.getHostingKalturaApplication()) {\n commonModel.hostingKalturaApplication = model.getHostingKalturaApplication();\n }\n if (model.getHostingKalturaApplicationVersion()) {\n commonModel.hostingKalturaApplicationVersion = model.getHostingKalturaApplicationVersion();\n }\n const eventModel = eventObj.getEventModel(model);\n return Object.assign(eventModel, commonModel);\n}\n","/**\n * Manage the video rates for the KAVA plugin.\n * @private\n * @class KavaRateHandler\n */\nclass KavaRateHandler {\n private _rates: any[] = [];\n\n constructor() {\n this._rates = [];\n }\n\n /**\n * Sets the video rates.\n * @param {Array<number>} rates - The video rates.\n * @returns {void}\n * @memberof KavaRateHandler\n * @instance\n */\n public setRates(rates: Array<number>): void {\n this._rates = [];\n rates.forEach((rate) => {\n this._rates.push({\n rate: rate,\n active: false,\n duration: 0\n });\n });\n }\n\n /**\n * Sets the current rate.\n * @param {number} rate - The current rate.\n * @returns {void}\n * @memberof KavaRateHandler\n * @instance\n */\n public setCurrent(rate: number): void {\n this._rates.forEach((o) => (o.active = false));\n const obj = this._rates.find((o) => o.rate === rate);\n if (obj) {\n obj.active = true;\n }\n }\n\n /**\n * Gets the current rate.\n * @returns {number} - The current rate.\n * @memberof KavaRateHandler\n * @instance\n */\n public getCurrent(): number {\n const current = this._rates.find((o) => o.active);\n return current ? current.rate : -1;\n }\n\n /**\n * Increases the duration of the current rate.\n * @returns {void}\n * @memberof KavaRateHandler\n * @instance\n */\n public countCurrent(): void {\n const current = this._rates.find((o) => o.active);\n if (current) {\n current.duration++;\n }\n }\n\n /**\n * Gets the average rate.\n * @returns {number} - The average rate.\n * @memberof KavaRateHandler\n * @instance\n */\n public getAverage(): number {\n let totalDuration = 0;\n let sum = 0;\n this._rates.forEach((o) => {\n sum += o.rate * o.duration;\n totalDuration += o.duration;\n });\n return totalDuration ? sum / totalDuration : 0;\n }\n\n /**\n * Resets the duration of all rates.\n * @returns {void}\n * @memberof KavaRateHandler\n * @instance\n */\n public reset(): void {\n this._rates.forEach((o) => (o.duration = 0));\n }\n\n /**\n * Destroys the class.\n * @returns {void}\n * @memberof KavaRateHandler\n * @instance\n */\n public destroy(): void {\n this._rates = [];\n }\n}\n\nexport { KavaRateHandler };\n","import { core } from '@playkit-js/kaltura-player-js';\nconst { FakeEvent, FakeEventTarget } = core;\n\nconst SECOND: number = 1000;\n\n/**\n * Create service worker with timer.\n * @private\n * @class WorkerTimer\n * @param {void} callback - callback that triggers on timer tick.\n * @param {number} interval - interval in ms.\n */\nclass WorkerTimer {\n private worker: Worker | null = null;\n constructor(callback, interval) {\n const blob = new Blob([`setInterval(() => postMessage(0), ${interval});`]);\n const workerScript = URL.createObjectURL(blob);\n this.worker = new Worker(workerScript);\n this.worker.onmessage = callback;\n }\n\n /**\n * Terminate service worker.\n * @returns {void}\n * @memberof WorkerTimer\n * @instance\n */\n public stop(): void {\n if (this.worker) {\n this.worker.terminate();\n }\n }\n}\n\n/**\n * Mange a timer and dispatches related events.\n * @private\n * @class KavaTimer\n * @param {Object} config - The timer config.\n */\nclass KavaTimer extends FakeEventTarget {\n private _resetCounter!: number;\n private _eventCounter!: number;\n private _timer?: WorkerTimer | null;\n private _stopped!: boolean;\n private _config: any;\n\n public static Event = {\n TICK: 'tick',\n RESET: 'reset',\n REPORT: 'report'\n };\n\n constructor(config: any) {\n super();\n this._config = config;\n }\n\n /**\n * Starts the timer interval.\n * @returns {void}\n * @memberof KavaTimer\n * @instance\n */\n public start(): void {\n this._terminateTimer();\n this._stopped = false;\n this._resetCounter = 0;\n this._eventCounter = 0;\n this._timer = new WorkerTimer(() => this._monitor(), SECOND);\n }\n\n /**\n * Continues the timer to dispatch REPORT.\n * @returns {void}\n * @memberof KavaTimer\n * @instance\n */\n public resume(): void {\n this._stopped = false;\n this._resetCounter = 0;\n }\n\n /**\n * Stops the timer from dispatch REPORT and starts the timer to dispatch RESET.\n * @returns {void}\n * @memberof KavaTimer\n * @instance\n */\n public stop(): void {\n this._stopped = true;\n }\n\n /**\n * @returns {boolean} - Whether the timer is stopped.\n * @memberof KavaTimer\n * @instance\n */\n public isStopped(): boolean {\n return this._stopped;\n }\n\n /**\n * Destroys the timer.\n * @returns {void}\n * @memberof KavaTimer\n * @instance\n */\n public destroy(): void {\n this._terminateTimer();\n }\n\n private _terminateTimer(): void {\n if (this._timer) {\n this._timer.stop();\n this._timer = null;\n }\n }\n\n private _monitor(): void {\n if (this._stopped) {\n if (this._resetCounter === this._config.resetCounter) {\n this.dispatchEvent(new FakeEvent(KavaTimer.Event.RESET));\n this._resetCounter = 0;\n this._eventCounter = 0;\n }\n this._resetCounter++;\n } else {\n this.dispatchEvent(new FakeEvent(KavaTimer.Event.TICK));\n if (this._eventCounter === this._config.eventCounter) {\n this.dispatchEvent(new FakeEvent(KavaTimer.Event.REPORT));\n this._eventCounter = 0;\n }\n this._eventCounter++;\n }\n }\n}\n\nexport { KavaTimer };\n","export enum EventBucketName {\n ApplicationEvents = 'ApplicationEvents',\n PlayerEvents = 'PlayerEvents'\n}\n","// EventVar 1 in kava server\n\nexport enum ButtonType {\n Create = 1,\n Filter = 2,\n Search = 3,\n Export = 4,\n Navigate = 5,\n Schedule = 6,\n Insert = 7,\n Choose = 8,\n Launch = 9,\n Open = 10,\n Send = 11,\n Invite = 12,\n Close = 13,\n Save = 14,\n Expand = 15,\n Collapse = 16,\n Edit = 17,\n Delete = 18,\n Browse = 19,\n Load = 20,\n Add = 21,\n Menu = 22,\n Register = 23,\n Login = 24,\n Link = 25,\n Toggle = 26,\n Thumbnail = 27,\n Download = 28,\n Share = 29\n}\n","export const ApplicationEventType = {\n BUTTON_CLICKED: 10002,\n PAGE_LOAD: 10003\n};\n","// // EventVar 1 in kava server\nexport enum PageLoadType {\n View = 1,\n Create = 2,\n Edit = 3,\n Participate = 4,\n List = 5,\n Analytics = 6,\n Admin = 7,\n Error = 8,\n Login = 9,\n Registration = 10,\n Custom = 11\n}\n","const playkitUIEventsNamespace = 'playkit-ui';\nexport const PlaykitUIEvents = {\n USER_CLICKED_LOGO: `${playkitUIEventsNamespace}-userclickedlogo`,\n USER_SELECTED_CAPTIONS_SIZE: `${playkitUIEventsNamespace}-userselectedcaptionssize`,\n USER_SELECTED_CAPTIONS_ALIGNMENT: `${playkitUIEventsNamespace}-userselectedcaptionsalignment`,\n USER_SELECTED_CAPTIONS_FONT_COLOR: `${playkitUIEventsNamespace}-userselectedcaptionsfontcolor`,\n USER_SELECTED_CAPTIONS_FONT_FAMILY: `${playkitUIEventsNamespace}-userselectedcaptionsfontfamily`,\n USER_SELECTED_CAPTIONS_FONT_STYLE: `${playkitUIEventsNamespace}-userselectedcaptionsfontstyle`,\n USER_SELECTED_CAPTIONS_FONT_OPACITY: `${playkitUIEventsNamespace}-userselectedcaptionsfontopacity`,\n USER_SELECTED_CAPTIONS_BACKGROUND_COLOR: `${playkitUIEventsNamespace}-userselectedcaptionsbackgroundcolor`,\n USER_SELECTED_CAPTIONS_BACKGROUND_OPACITY: `${playkitUIEventsNamespace}-userselectedcaptionsbackgroundopacity`,\n USER_SHOWED_CAPTIONS: `${playkitUIEventsNamespace}-usershowedcaptions`,\n USER_HID_CAPTIONS: `${playkitUIEventsNamespace}-userhidcaptions`,\n USER_SELECTED_CAPTION_TRACK: `${playkitUIEventsNamespace}-userselectedcaptiontrack`,\n USER_SELECTED_AUDIO_TRACK: `${playkitUIEventsNamespace}-userselectedaudiotrack`\n};\n\nexport const NavigationEvents = {\n NAVIGATION_OPEN: 'navigation_open',\n NAVIGATION_CLOSE: 'navigation_close',\n NAVIGATION_SEARCH: 'navigation_search',\n NAVIGATION_ITEM_CLICK: 'navigation_item_click',\n NAVIGATION_EXPANDABLE_TEXT_CLICK: 'navigation_expandable_text_clicked'\n};\n\nexport const DownloadEvents = {\n DOWNLOAD_ITEM_CLICKED: 'download_item_clicked',\n SHOW_OVERLAY: 'download_show_overlay',\n HIDE_OVERLAY: 'download_hide_overlay'\n};\n\nexport const TranscriptEvents = {\n TRANSCRIPT_OPEN: 'transcript_open',\n TRANSCRIPT_CLOSE: 'transcript_close',\n TRANSCRIPT_DOWNLOAD: 'transcript_download',\n TRANSCRIPT_PRINT: 'transcript_print',\n TRANSCRIPT_SEARCH: 'transcript_search',\n TRANSCRIPT_NAVIGATE_RESULT: 'transcript_navigate_result',\n TRANSCRIPT_POPOUT_OPEN: 'transcript_popout_open',\n TRANSCRIPT_POPOUT_CLOSE: 'transcript_popout_close',\n TRANSCRIPT_POPOUT_DRAG: 'transcript_popout_drag',\n TRANSCRIPT_POPOUT_RESIZE: 'transcript_popout_resize'\n};\n\nexport const EadEvents = {\n EAD_ON: 'EAD_on',\n EAD_OFF: 'EAD_off',\n EAD_SKIP: 'EAD_skip',\n EAD_REPLAY: 'EAD_replay',\n EAD_PAUSE: 'EAD_pause',\n EAD_PLAY: 'EAD_play',\n EAD_SCROLL: 'EAD_scroll'\n};\n\nexport const DualscreenEvents = {\n CHANGE_LAYOUT: 'dualscreen_change_layout',\n SIDE_DISPLAYED: 'dualscreen_side_displayed'\n};\nexport const ShareEvents = {\n SHARE_CLICKED: 'share_clicked',\n SHARE_CLOSE: 'share_close',\n SHARE_NETWORK: 'share_network',\n SHARE_COPY: 'share_copy'\n};\n\nexport const BumperEvents = {\n BUMPER_CLICKED: 'bumper_clicked'\n};\nexport const SkipEvents = {\n SKIP_BUTTON_CLICK: 'skip_button_click',\n SKIP_BUTTON_DISPLAYED: 'skip_button_displayed'\n};\nexport const PlaylistEvents = {\n PLAYLIST_OPEN: 'playlist_open',\n PLAYLIST_CLOSE: 'playlist_close'\n};\n\nexport const RelatedEvents = {\n RELATED_OPEN: 'related_open',\n RELATED_CLOSE: 'related_close',\n RELATED_ENTRY_SELECTED: 'related_entry_selected',\n RELATED_ENTRY_AUTO_PLAYED: 'related_entry_auto_played',\n RELATED_GRID_DISPLAYED: 'related_grid_displayed'\n};\n\nexport const CallToActionEvents = {\n CALL_TO_ACTION_BUTTON_CLICK: 'call_to_action_button_click',\n CALL_TO_ACTION_DISPLAYED: 'call_to_action_displayed'\n};\n\nexport const HotspotsEvents = {\n HOTSPOT_CLICK: 'hotspot_click',\n HOTSPOT_DISPLAYED: 'hotspot_displayed'\n};\n\nexport const IvqEventTypes = {\n QUIZ_STARTED: 'QuizStarted',\n QUIZ_SKIPPED: 'QuizSkipped',\n QUIZ_SEEK: 'QuizSeek',\n QUESTION_ANSWERED: 'QuestionAnswered',\n QUIZ_SUBMITTED: 'QuizSubmitted',\n QUIZ_RETAKE: 'QuizRetake',\n QUIZ_QUESTION_CHANGED: 'QuizQuestionChanged'\n};\n\nexport const DetectAdBlockEvents = {\n DETECT_AD_BLOCK_PARTIAL_OVERLAY_SHOWN: 'detect_ad_block_partial_overlay_shown',\n DETECT_AD_BLOCK_FULL_OVERLAY_SHOWN: 'detect_ad_block_full_overlay_shown',\n DETECT_AD_BLOCK_SECONDARY_BUTTON_CLICKED: 'detect_ad_block_secondary_button_clicked',\n DETECT_AD_BLOCK_X_BUTTON_CLICKED: 'detect_ad_block_x_button_clicked',\n DETECT_AD_BLOCK_AD_BLOCKER_DISABLED: 'detect_ad_block_ad_blocker_disabled',\n DETECT_AD_BLOCK_AD_BLOCKER_NOT_DISABLED: 'detect_ad_block_ad_blocker_not_disabled'\n};\n\nexport const ReelsEvents = {\n REELS_PLAY: 'reels_play',\n REELS_PAUSE: 'reels_pause',\n REELS_MUTE: 'reels_mute',\n REELS_UNMUTE: 'reels_unmute',\n REELS_SEEK: 'reels_seek',\n REELS_POSTER_CLICKED: 'reels_poster_clicked',\n REELS_ENTRY_LOADED: 'reels_entry_loaded',\n REELS_PLAYLIST_LOADED: 'reels_playlist_loaded'\n};\n\nexport const PluginsEvents = {\n ...NavigationEvents,\n ...DownloadEvents,\n ...TranscriptEvents,\n ...DualscreenEvents,\n ...ShareEvents,\n ...BumperEvents,\n ...SkipEvents,\n ...PlaylistEvents,\n ...RelatedEvents,\n ...CallToActionEvents,\n ...HotspotsEvents,\n ...IvqEventTypes,\n ...DetectAdBlockEvents,\n ...ReelsEvents,\n ...EadEvents\n};\n","type ApplicationType = { [app: string]: string };\n\nconst KalturaApplication: ApplicationType = {\n KMC: '0',\n KMS: '1',\n KAF: '2',\n PITCH: '3',\n KMS_GO: '4',\n WEBCASTING: '5',\n PERSONAL_CAPTURE: '6',\n KME: '7',\n KME_MOBILE_APP: '8',\n PATH: '9',\n LECTURE_CAPTURE: '10',\n EP: '11',\n CHAT_AND_COLLABORATION: '12',\n ANALYTICS: '13',\n EXPRESS_CAPTURE: '14',\n KPF: '15',\n KAF_GO: '16',\n SITES: '17',\n STUDIO: '18',\n CAPTIONS_EDITOR: '19',\n CHECKLIST: '20',\n PLAYER: '21',\n GENIE: '23'\n};\n\nexport { KalturaApplication };\nexport type { ApplicationType };\n","export enum ApplicationFeature {\n DUAL_SCREEN = 'dual_screen',\n SHARE_EMBED = 'share_embed',\n DOWNLOAD = 'download',\n BUMPER = 'bumper',\n NAVIGATION = 'navaigation',\n TRANSCRIPT = 'transcript',\n PLAYLIST = 'playlist',\n SKIP = 'skip',\n RELATED = 'related',\n CALL_TO_ACTION = 'call_to_action',\n HOTSPOPT = 'hotspot',\n QUIZ = 'quiz',\n UI = 'ui',\n DETECT_AD_BLOCK = 'detect_ad_block',\n REELS = 'reels_player',\n EAD = 'extended_audio_description',\n ADVANCED_CAPTIONS = 'advanced_captions',\n CAPTIONS = 'captions',\n AUDION_TRACKS = 'audio_tracks'\n}\n","import { KavaModel } from './kava-model';\nimport { KavaEvent } from './types';\nimport { ButtonType } from './enums/button-type';\nimport { ApplicationEventType } from './enums/application-event-type';\nimport { PageLoadType } from './enums/page-load-type';\nimport { PlaykitUIEvents, PluginsEvents } from './applications-events';\nimport { KalturaApplication } from './enums/kaltura-application';\nimport { ApplicationFeature } from './enums/application-feature';\n\nexport function getApplicationEventsModel(eventObj: KavaEvent, model: KavaModel, innerEventPayload: any): any {\n const commonModel = {\n partnerId: model.getPartnerId(),\n entryId: model.getEntryId(),\n sessionId: model.getSessionId(),\n kalturaApplication: KalturaApplication.PLAYER\n };\n\n if (model.getVirtualEventId()) {\n commonModel['virtualEventId'] = model.getVirtualEventId();\n }\n if (model.getKalturaApplication()) {\n commonModel['application'] = model.getApplication();\n }\n if (model.getKalturaApplicationVersion()) {\n commonModel['kalturaApplicationVer'] = model.getKalturaApplicationVersion();\n }\n if (model.getUserId()) {\n commonModel['userId'] = model.getUserId();\n }\n if (model.getKS()) {\n commonModel['ks'] = model.getKS();\n }\n if (model.getHostingKalturaApplication()) {\n commonModel['hostingKalturaApplication'] = model.getHostingKalturaApplication();\n }\n if (model.getHostingKalturaApplicationVersion()) {\n commonModel['hostingKalturaApplicationVersion'] = model.getHostingKalturaApplicationVersion();\n }\n\n const eventModel = eventObj.getEventModel(innerEventPayload);\n const namedEventModel = {};\n const { eventType, eventVar1, eventVar2, eventVar3, eventVar4, applicationFeature } = eventModel;\n namedEventModel['eventType'] = eventType;\n namedEventModel['feature'] = applicationFeature;\n\n if (eventModel.eventType === ApplicationEventType.BUTTON_CLICKED) {\n namedEventModel['buttonName'] = eventVar1;\n namedEventModel['buttonType'] = eventVar2;\n namedEventModel['buttonValue'] = eventVar3;\n namedEventModel['buttonInfo'] = eventVar4;\n } else if (eventModel.eventType === ApplicationEventType.PAGE_LOAD) {\n namedEventModel['pageName'] = eventVar1;\n namedEventModel['pageType'] = eventVar2;\n namedEventModel['pageValue'] = eventVar3;\n namedEventModel['pageInfo'] = eventVar4;\n }\n\n return Object.assign(namedEventModel, commonModel);\n}\n\nexport const ApplicationEventsModel: { [playerEventName: string]: KavaEvent } = {\n [PluginsEvents.CHANGE_LAYOUT]: {\n type: 'CHANGE_LAYOUT',\n getEventModel: ({ layout }: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: layout !== 'Hidden' ? 'Dual__screen_change_layout' : '',\n eventVar2: ButtonType.Choose,\n eventVar3: layout,\n applicationFeature: ApplicationFeature.DUAL_SCREEN\n })\n },\n [PluginsEvents.SIDE_DISPLAYED]: {\n type: 'SIDE_DISPLAYED',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar1: 'Dual__screen_slide_displayed',\n eventVar2: PageLoadType.View,\n eventVar3: payload,\n applicationFeature: ApplicationFeature.DUAL_SCREEN\n })\n },\n [PluginsEvents.SHARE_CLICKED]: {\n type: 'SHARE_CLICKED',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Share_embed_open',\n eventVar2: ButtonType.Open,\n eventVar3: '',\n applicationFeature: ApplicationFeature.SHARE_EMBED\n })\n },\n [PluginsEvents.SHARE_CLOSE]: {\n type: 'SHARE_CLOSE',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Share_embed_close',\n eventVar2: ButtonType.Close,\n eventVar3: '',\n applicationFeature: ApplicationFeature.SHARE_EMBED\n })\n },\n [PluginsEvents.SHARE_NETWORK]: {\n type: 'SHARE_NETWORK',\n getEventModel: (payload: any): any => {\n const model = {\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Share,\n eventVar3: payload['videoClippingOption'] === 'full' ? 'full-length' : payload['videoClippingOption'],\n applicationFeature: ApplicationFeature.SHARE_EMBED\n };\n let eventVar1: string = '';\n\n switch (payload.socialNetworkName) {\n case 'twitter':\n eventVar1 = 'Share_embed_X_click';\n break;\n case 'facebook':\n eventVar1 = 'Share_embed_facebook_click';\n break;\n case 'email':\n eventVar1 = 'Share_embed_email_click';\n break;\n case 'linkedin':\n eventVar1 = 'Share_embed_linkedin_click';\n break;\n case 'embed':\n eventVar1 = 'Share_embed_embed_click';\n break;\n }\n\n return { ...model, eventVar1 };\n }\n },\n [PluginsEvents.SHARE_COPY]: {\n type: 'SHARE_COPY',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Share_embed_copy_click',\n eventVar2: ButtonType.Share,\n eventVar3: payload['videoClippingOption'] === 'full' ? 'full-length' : payload['videoClippingOption'],\n applicationFeature: ApplicationFeature.SHARE_EMBED\n })\n },\n [PluginsEvents.DOWNLOAD_ITEM_CLICKED]: {\n type: 'DOWNLOAD_ITEM_CLICKED',\n getEventModel: (payload: any): any => {\n const model = {\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Download,\n applicationFeature: ApplicationFeature.DOWNLOAD\n };\n const { assetType, fileType, description, isDefault } = payload;\n\n let eventVar1: string;\n let eventVar3: string;\n\n switch (assetType) {\n case 'Media':\n eventVar1 = isDefault ? 'Download_video_download' : 'Download_additional_stream_download';\n eventVar3 = description;\n break;\n case 'Captions':\n eventVar1 = 'Download_captions_download';\n eventVar3 = description;\n break;\n case 'Attachments':\n eventVar1 = 'Download_attachment_download';\n eventVar3 = fileType;\n break;\n default:\n eventVar1 = '';\n eventVar3 = '';\n }\n return { ...model, eventVar1, eventVar3 };\n }\n },\n [PluginsEvents.SHOW_OVERLAY]: {\n type: 'SHOW_OVERLAY',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Download_open',\n eventVar2: ButtonType.Open,\n eventVar3: '',\n applicationFeature: ApplicationFeature.DOWNLOAD\n })\n },\n [PluginsEvents.HIDE_OVERLAY]: {\n type: 'HIDE_OVERLAY',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Download_close',\n eventVar2: ButtonType.Close,\n eventVar3: '',\n applicationFeature: ApplicationFeature.DOWNLOAD\n })\n },\n [PluginsEvents.BUMPER_CLICKED]: {\n type: 'BUMPER_CLICKED',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Bumper_click',\n eventVar2: ButtonType.Link,\n eventVar3: payload['clickThroughUrl'],\n applicationFeature: ApplicationFeature.BUMPER\n })\n },\n [PluginsEvents.NAVIGATION_OPEN]: {\n type: 'NAVIGATION_OPEN',\n getEventModel: (payload: any): any => ({\n eventType: payload['auto'] ? ApplicationEventType.PAGE_LOAD : ApplicationEventType.BUTTON_CLICKED,\n eventVar1: payload['auto'] ? 'Navigation_open_auto' : 'Navigation_open_manual',\n eventVar2: PageLoadType.View,\n eventVar3: '',\n applicationFeature: ApplicationFeature.NAVIGATION\n })\n },\n [PluginsEvents.NAVIGATION_CLOSE]: {\n type: 'NAVIGATION_CLOSE',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Navigation_close',\n eventVar2: ButtonType.Close,\n eventVar3: '',\n applicationFeature: ApplicationFeature.NAVIGATION\n })\n },\n [PluginsEvents.NAVIGATION_SEARCH]: {\n type: 'NAVIGATION_SEARCH',\n getEventModel: (payload: any): any => {\n const model = {\n eventType: ApplicationEventType.BUTTON_CLICKED,\n applicationFeature: ApplicationFeature.NAVIGATION\n };\n\n let eventVar1: string = '';\n let eventVar2: ButtonType = ButtonType.Open;\n\n const { searchQuery, activeTab, availableTabs } = payload;\n\n const eventVar3 = searchQuery;\n switch (activeTab) {\n case 'All':\n const isItSearch = searchQuery.length > 0 || availableTabs.length === 0;\n eventVar1 = isItSearch ? 'Navigation_search' : 'Navigation_all_tab';\n eventVar2 = isItSearch ? ButtonType.Search : ButtonType.Open;\n break;\n case 'Chapter':\n eventVar1 = 'Navigation_chapters_tab';\n break;\n case 'Slide':\n eventVar1 = 'Navigation_slides_tab';\n break;\n case 'Hotspot':\n eventVar1 = 'Navigation_hotspots_tab';\n break;\n }\n return { ...model, eventVar1, eventVar2, eventVar3 };\n }\n },\n [PluginsEvents.NAVIGATION_ITEM_CLICK]: {\n type: 'NAVIGATION_ITEM_CLICK',\n getEventModel: (payload: any): any => {\n const model = {\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Choose,\n eventVar3: '',\n applicationFeature: ApplicationFeature.NAVIGATION\n };\n\n let eventVar1: string = '';\n\n switch (payload.itemType) {\n case 'Chapter':\n eventVar1 = 'Navigation_chapter_click';\n break;\n case 'Slide':\n eventVar1 = 'Navigation_slide_click';\n break;\n case 'Hotspot':\n eventVar1 = 'Navigation_hotspots_click';\n break;\n }\n return { ...model, eventVar1 };\n }\n },\n [PluginsEvents.NAVIGATION_EXPANDABLE_TEXT_CLICK]: {\n type: 'NAVIGATION_EXPANDABLE_TEXT_CLICK',\n getEventModel: (payload: any): any => {\n const model = {\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar3: '',\n applicationFeature: ApplicationFeature.NAVIGATION\n };\n\n const { isTextExpanded, itemType } = payload;\n\n let eventVar1: string = '';\n const eventVar2 = isTextExpanded ? ButtonType.Expand : ButtonType.Collapse;\n\n switch (itemType) {\n case 'Chapter':\n eventVar1 = isTextExpanded ? 'Navigation_chapters_see_more' : 'Navigation_chapters_see_less';\n break;\n case 'Slide':\n eventVar1 = isTextExpanded ? 'Navigation_slides_see_more' : 'Navigation_slides_see_less';\n break;\n case 'Hotspot':\n eventVar1 = isTextExpanded ? 'Navigation_hotspots_see_more' : 'Navigation_hotspots_see_less';\n break;\n }\n\n return { ...model, eventVar1, eventVar2 };\n }\n },\n\n [PluginsEvents.TRANSCRIPT_OPEN]: {\n type: 'TRANSCRIPT_OPEN',\n getEventModel: (payload: any): any => ({\n eventType: payload['auto'] ? ApplicationEventType.PAGE_LOAD : ApplicationEventType.BUTTON_CLICKED,\n eventVar1: payload['auto'] ? 'Transcript_open_auto' : 'Transcript_open_manual',\n eventVar2: PageLoadType.View,\n eventVar3: '',\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_CLOSE]: {\n type: 'TRANSCRIPT_CLOSE',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_close',\n eventVar2: ButtonType.Close,\n eventVar3: '',\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_DOWNLOAD]: {\n type: 'TRANSCRIPT_DOWNLOAD',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_download',\n eventVar2: ButtonType.Download,\n eventVar3: payload['videoPosition'],\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_PRINT]: {\n type: 'TRANSCRIPT_PRINT',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_print',\n eventVar2: ButtonType.Download,\n eventVar3: payload['videoPosition'],\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_SEARCH]: {\n type: 'TRANSCRIPT_SEARCH',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_search',\n eventVar2: ButtonType.Search,\n eventVar3: payload.search,\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_NAVIGATE_RESULT]: {\n type: 'TRANSCRIPT_NAVIGATE_RESULT',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_navigate_result',\n eventVar2: ButtonType.Navigate,\n eventVar3: payload.index,\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_POPOUT_OPEN]: {\n type: 'TRANSCRIPT_POPOUT_OPEN',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_popout_open',\n eventVar2: ButtonType.Expand,\n eventVar3: '',\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_POPOUT_CLOSE]: {\n type: 'TRANSCRIPT_POPOUT_CLOSE',\n getEventModel: (payload: { type: string }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_popout_close',\n eventVar2: ButtonType.Collapse,\n eventVar3: payload.type,\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_POPOUT_DRAG]: {\n type: 'TRANSCRIPT_POPOUT_DRAG',\n getEventModel: (payload: { position: { x: number; y: number } }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_popout_drag',\n eventVar2: ButtonType.Edit,\n eventVar3: `${payload.position.x},${payload.position.y}`,\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.TRANSCRIPT_POPOUT_RESIZE]: {\n type: 'TRANSCRIPT_POPOUT_RESIZE',\n getEventModel: (payload: { size: { x: number; y: number } }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Transcript_popout_resize',\n eventVar2: ButtonType.Edit,\n eventVar3: `${payload.size.x},${payload.size.y}`,\n applicationFeature: ApplicationFeature.TRANSCRIPT\n })\n },\n [PluginsEvents.PLAYLIST_OPEN]: {\n type: 'PLAYLIST_OPEN',\n getEventModel: (payload: any): any => ({\n eventType: payload['auto'] ? ApplicationEventType.PAGE_LOAD : ApplicationEventType.BUTTON_CLICKED,\n eventVar1: payload['auto'] ? 'Playlist_side_panel_open_auto' : 'Playlist_side_panel_open_manual',\n eventVar2: PageLoadType.View,\n eventVar3: payload['position'],\n applicationFeature: ApplicationFeature.PLAYLIST\n })\n },\n [PluginsEvents.PLAYLIST_CLOSE]: {\n type: 'PLAYLIST_CLOSE',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Playlist_side_panel_close_manual',\n eventVar2: ButtonType.Close,\n eventVar3: payload['position'],\n applicationFeature: ApplicationFeature.PLAYLIST\n })\n },\n [PluginsEvents.SKIP_BUTTON_CLICK]: {\n type: 'SKIP_BUTTON_CLICK',\n getEventModel: (payload: any): any => {\n const model = {\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Navigate,\n eventVar3: '',\n applicationFeature: ApplicationFeature.SKIP\n };\n\n const { mode } = payload;\n let eventVar1: string = '';\n\n if (mode === 'intro') eventVar1 = 'Skip_intro_click';\n if (mode === 'outro') eventVar1 = 'Skip_outro_click';\n\n return { ...model, eventVar1 };\n }\n },\n [PluginsEvents.SKIP_BUTTON_DISPLAYED]: {\n type: 'SKIP_BUTTON_DISPLAYED',\n getEventModel: (payload: any): any => {\n const model = {\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar3: '',\n applicationFeature: ApplicationFeature.SKIP\n };\n\n const { mode } = payload;\n let eventVar1: string = '';\n\n if (mode === 'intro') eventVar1 = 'Skip_intro_displayed';\n if (mode === 'outro') eventVar1 = 'Skip_outro_displayed';\n\n return { ...model, eventVar1 };\n }\n },\n [PluginsEvents.RELATED_OPEN]: {\n type: 'RELATED_OPEN',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Related_open_manual',\n eventVar2: ButtonType.Open,\n eventVar3: payload['expandMode'],\n applicationFeature: ApplicationFeature.RELATED\n })\n },\n [PluginsEvents.RELATED_CLOSE]: {\n type: 'RELATED_CLOSE',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Related_close',\n eventVar2: ButtonType.Close,\n eventVar3: '',\n applicationFeature: ApplicationFeature.RELATED\n })\n },\n [PluginsEvents.RELATED_ENTRY_SELECTED]: {\n type: 'RELATED_ENTRY_SELECTED',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Related_entry_click',\n eventVar2: ButtonType.Navigate,\n eventVar3: '',\n applicationFeature: ApplicationFeature.RELATED\n })\n },\n [PluginsEvents.RELATED_ENTRY_AUTO_PLAYED]: {\n type: 'RELATED_ENTRY_AUTO_PLAYED',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar1: 'Related_entry_auto_continue',\n eventVar2: PageLoadType.View,\n eventVar3: '',\n applicationFeature: ApplicationFeature.RELATED\n })\n },\n [PluginsEvents.RELATED_GRID_DISPLAYED]: {\n type: 'RELATED_GRID_DISPLAYED',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar1: 'Related_open_auto',\n eventVar2: PageLoadType.View,\n eventVar3: '',\n applicationFeature: ApplicationFeature.RELATED\n })\n },\n [PluginsEvents.CALL_TO_ACTION_BUTTON_CLICK]: {\n type: 'CALL_TO_ACTION_BUTTON_CLICK',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar3: payload['label'],\n eventVar2: ButtonType.Link,\n eventVar1: payload['type'] === 'primary' ? 'CTA_primary_button_click' : 'CTA_secondary_button_click',\n applicationFeature: ApplicationFeature.CALL_TO_ACTION\n })\n },\n [PluginsEvents.CALL_TO_ACTION_DISPLAYED]: {\n type: 'CALL_TO_ACTION_DISPLAYED',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar1: 'CTA_displayed',\n eventVar2: PageLoadType.View,\n eventVar3: payload.displayType,\n eventVar4: payload.isMetadataBased ? 'metadata_based' : 'player_level',\n applicationFeature: ApplicationFeature.CALL_TO_ACTION\n })\n },\n [PluginsEvents.HOTSPOT_DISPLAYED]: {\n type: 'HOTSPOT_DISPLAYED',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar1: 'Hotspot_displayed',\n eventVar2: PageLoadType.View,\n eventVar3: payload['label'],\n applicationFeature: ApplicationFeature.HOTSPOPT\n })\n },\n [PluginsEvents.HOTSPOT_CLICK]: {\n type: 'HOTSPOT_CLICK',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Hotspot_click',\n eventVar2: ButtonType.Link,\n eventVar3: payload['label'],\n applicationFeature: ApplicationFeature.HOTSPOPT\n })\n },\n [PluginsEvents.QUIZ_STARTED]: {\n type: 'QUIZ_STARTED',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Quiz_start',\n eventVar2: ButtonType.Load,\n eventVar3: '',\n applicationFeature: ApplicationFeature.QUIZ\n })\n },\n [PluginsEvents.QUIZ_SUBMITTED]: {\n type: 'QUIZ_SUBMITTED',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Quiz_submit',\n eventVar2: ButtonType.Send,\n eventVar3: '',\n applicationFeature: ApplicationFeature.QUIZ\n })\n },\n [PluginsEvents.QUIZ_SKIPPED]: {\n type: 'QUIZ_SKIPPED',\n getEventModel: ({ questionIndex }: { questionIndex: number }): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Quiz_skip_question',\n eventVar2: ButtonType.Navigate,\n eventVar3: questionIndex,\n applicationFeature: ApplicationFeature.QUIZ\n })\n },\n [PluginsEvents.QUIZ_SEEK]: {\n type: 'QUIZ_SEEK',\n getEventModel: (): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Quiz_nav_click',\n eventVar2: ButtonType.Navigate,\n eventVar3: '',\n applicationFeature: ApplicationFeature.QUIZ\n })\n },\n [PluginsEvents.EAD_ON]: {\n type: 'EAD_ON',\n getEventModel: (payload: any) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'EAD_on',\n eventVar2: ButtonType.Toggle,\n eventVar3: payload?.language,\n eventVar4: payload?.settings ? 'settings' : 'toggle',\n applicationFeature: ApplicationFeature.EAD\n })\n },\n [PluginsEvents.EAD_OFF]: {\n type: 'EAD_OFF',\n getEventModel: (payload: any) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'EAD_off',\n eventVar2: ButtonType.Toggle,\n eventVar3: payload?.language,\n eventVar4: payload?.settings ? 'settings' : 'toggle',\n applicationFeature: ApplicationFeature.EAD\n })\n },\n [PluginsEvents.EAD_SKIP]: {\n type: 'EAD_SKIP',\n getEventModel: ({ trigger }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'EAD_skip',\n eventVar2: ButtonType.Navigate,\n eventVar3: trigger,\n applicationFeature: ApplicationFeature.EAD\n })\n },\n [PluginsEvents.EAD_REPLAY]: {\n type: 'EAD_REPLAY',\n getEventModel: ({ trigger }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'EAD_replay',\n eventVar2: ButtonType.Navigate,\n eventVar3: trigger,\n applicationFeature: ApplicationFeature.EAD\n })\n },\n [PluginsEvents.EAD_PAUSE]: {\n type: 'EAD_PAUSE',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'EAD_pause',\n eventVar2: ButtonType.Toggle,\n eventVar3: '',\n applicationFeature: ApplicationFeature.EAD\n })\n },\n [PluginsEvents.EAD_PLAY]: {\n type: 'EAD_PLAY',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'EAD_play',\n eventVar2: ButtonType.Toggle,\n eventVar3: '',\n applicationFeature: ApplicationFeature.EAD\n })\n },\n [PluginsEvents.EAD_SCROLL]: {\n type: 'EAD_SCROLL',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'EAD_scroll',\n eventVar2: ButtonType.Browse,\n eventVar3: '',\n applicationFeature: ApplicationFeature.EAD\n })\n },\n [PlaykitUIEvents.USER_CLICKED_LOGO]: {\n type: 'USER_CLICKED_LOGO',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Logo_click',\n eventVar2: ButtonType.Link,\n eventVar3: payload['logoUrl'],\n applicationFeature: ApplicationFeature.UI\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_SIZE]: {\n type: 'USER_SELECTED_CAPTIONS_SIZE',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Advanced_captions_size',\n eventVar2: ButtonType.Choose,\n eventVar3: payload,\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_ALIGNMENT]: {\n type: 'USER_SELECTED_CAPTIONS_ALIGNMENT',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Advanced_captions_font_alignment',\n eventVar2: ButtonType.Choose,\n eventVar3: payload,\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_FONT_COLOR]: {\n type: 'USER_SELECTED_CAPTIONS_FONT_COLOR',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Advanced_captions_font_color',\n eventVar2: ButtonType.Choose,\n eventVar3: payload,\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_FONT_FAMILY]: {\n type: 'USER_SELECTED_CAPTIONS_FONT_FAMILY',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Advanced_captions_font_family',\n eventVar2: ButtonType.Choose,\n eventVar3: payload,\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_FONT_STYLE]: {\n type: 'USER_SELECTED_CAPTIONS_FONT_STYLE',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Advanced_captions_font_style',\n eventVar2: ButtonType.Choose,\n eventVar3: payload,\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_FONT_OPACITY]: {\n type: 'USER_SELECTED_CAPTIONS_FONT_OPACITY',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Advanced_captions_font_opacity',\n eventVar2: ButtonType.Choose,\n eventVar3: `${payload * 100}%`,\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_BACKGROUND_COLOR]: {\n type: 'USER_SELECTED_CAPTIONS_BACKGROUND_COLOR',\n getEventModel: (payload: number): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Advanced_captions_background_color',\n eventVar2: ButtonType.Choose,\n eventVar3: payload,\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTIONS_BACKGROUND_OPACITY]: {\n type: 'USER_SELECTED_CAPTIONS_BACKGROUND_OPACITY',\n getEventModel: (payload: number): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Advanced_captions_background_opacity',\n eventVar2: ButtonType.Choose,\n eventVar3: `${payload * 100}%`,\n applicationFeature: ApplicationFeature.ADVANCED_CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SHOWED_CAPTIONS]: {\n type: 'USER_SHOWED_CAPTIONS',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Captions_on',\n eventVar2: ButtonType.Toggle,\n eventVar3: payload?.language,\n applicationFeature: ApplicationFeature.CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_HID_CAPTIONS]: {\n type: 'USER_HID_CAPTIONS',\n getEventModel: (payload: any): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Captions_off',\n eventVar2: ButtonType.Toggle,\n eventVar3: payload?.language,\n applicationFeature: ApplicationFeature.CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_CAPTION_TRACK]: {\n type: 'USER_SELECTED_CAPTION_TRACK',\n getEventModel: ({ captionTrack, autoSelected }): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'Captions_language_selected',\n eventVar2: ButtonType.Choose,\n eventVar3: captionTrack?.language,\n eventVar4: autoSelected ? 'Auto display' : 'Manual selection',\n applicationFeature: ApplicationFeature.CAPTIONS\n })\n },\n [PlaykitUIEvents.USER_SELECTED_AUDIO_TRACK]: {\n type: 'USER_SELECTED_AUDIO_TRACK',\n getEventModel: ({ audioTrack }): any => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar1: 'audioSelected',\n eventVar2: ButtonType.Choose,\n eventVar3: audioTrack?.language,\n eventVar4: audioTrack?.language?.startsWith('ad-') ? 'AD' : 'non_AD',\n applicationFeature: ApplicationFeature.AUDION_TRACKS\n })\n },\n [PluginsEvents.DETECT_AD_BLOCK_FULL_OVERLAY_SHOWN]: {\n type: 'DETECT_AD_BLOCK_FULL_OVERLAY_SHOWN',\n getEventModel: () => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar1: 'Ad_blocker_displayed',\n eventVar3: 'Allow_playback',\n applicationFeature: ApplicationFeature.DETECT_AD_BLOCK\n })\n },\n [PluginsEvents.DETECT_AD_BLOCK_PARTIAL_OVERLAY_SHOWN]: {\n type: 'DETECT_AD_BLOCK_PARTIAL_OVERLAY_SHOWN',\n getEventModel: () => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar1: 'Ad_blocker_displayed',\n eventVar3: 'Block_playback',\n applicationFeature: ApplicationFeature.DETECT_AD_BLOCK\n })\n },\n [PluginsEvents.DETECT_AD_BLOCK_SECONDARY_BUTTON_CLICKED]: {\n type: 'DETECT_AD_BLOCK_SECONDARY_BUTTON_CLICKED',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Close,\n eventVar1: 'Ad_blocker_keep_watching',\n eventVar3: 'secondary_button',\n applicationFeature: ApplicationFeature.DETECT_AD_BLOCK\n })\n },\n [PluginsEvents.DETECT_AD_BLOCK_X_BUTTON_CLICKED]: {\n type: 'DETECT_AD_BLOCK_X_BUTTON_CLICKED',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Close,\n eventVar1: 'Ad_blocker_keep_watching',\n eventVar3: 'x_button',\n applicationFeature: ApplicationFeature.DETECT_AD_BLOCK\n })\n },\n [PluginsEvents.DETECT_AD_BLOCK_AD_BLOCKER_DISABLED]: {\n type: 'DETECT_AD_BLOCK_AD_BLOCKER_DISABLED',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Close,\n eventVar1: 'Ad_blocker_disabled_ad_blocker',\n eventVar3: 'disabled',\n applicationFeature: ApplicationFeature.DETECT_AD_BLOCK\n })\n },\n [PluginsEvents.DETECT_AD_BLOCK_AD_BLOCKER_NOT_DISABLED]: {\n type: 'DETECT_AD_BLOCK_AD_BLOCKER_NOT_DISABLED',\n getEventModel: () => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Close,\n eventVar1: 'Ad_blocker_disabled_ad_blocker',\n eventVar3: 'still_detected',\n applicationFeature: ApplicationFeature.DETECT_AD_BLOCK\n })\n },\n [PluginsEvents.REELS_PLAY]: {\n type: 'REELS_PLAY',\n getEventModel: ({ duration, isResume }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Choose,\n eventVar1: 'reels_play_click',\n eventVar3: isResume ? 'resume' : 'manual_play',\n eventVar4: duration,\n applicationFeature: ApplicationFeature.REELS\n })\n },\n [PluginsEvents.REELS_PAUSE]: {\n type: 'REELS_PAUSE',\n getEventModel: ({ duration }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Choose,\n eventVar1: 'reels_pause',\n eventVar4: duration,\n applicationFeature: ApplicationFeature.REELS\n })\n },\n [PluginsEvents.REELS_MUTE]: {\n type: 'REELS_MUTE',\n getEventModel: ({ duration }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Choose,\n eventVar1: 'reels_mute',\n eventVar4: duration,\n applicationFeature: ApplicationFeature.REELS\n })\n },\n [PluginsEvents.REELS_UNMUTE]: {\n type: 'REELS_UNMUTE',\n getEventModel: ({ duration }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Choose,\n eventVar1: 'reels_unmute',\n eventVar4: duration,\n applicationFeature: ApplicationFeature.REELS\n })\n },\n [PluginsEvents.REELS_SEEK]: {\n type: 'REELS_SEEK',\n getEventModel: ({ duration, from, to }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Navigate,\n eventVar1: 'reels_seek',\n eventVar3: to > from ? 'forward' : 'backward',\n eventVar4: duration,\n applicationFeature: ApplicationFeature.REELS\n })\n },\n [PluginsEvents.REELS_POSTER_CLICKED]: {\n type: 'REELS_POSTER_CLICKED',\n getEventModel: ({ duration }) => ({\n eventType: ApplicationEventType.BUTTON_CLICKED,\n eventVar2: ButtonType.Choose,\n eventVar1: 'reels_navigate_to_entry',\n eventVar4: duration,\n applicationFeature: ApplicationFeature.REELS\n })\n },\n [PluginsEvents.REELS_ENTRY_LOADED]: {\n type: 'REELS_ENTRY_LOADED',\n getEventModel: ({ muted, playlistId }) => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar1: 'reels_entry_start_playback',\n eventVar3: muted ? 'muted' : 'unmuted',\n eventVar4: playlistId,\n applicationFeature: ApplicationFeature.REELS\n })\n },\n [PluginsEvents.REELS_PLAYLIST_LOADED]: {\n type: 'REELS_PLAYLIST_LOADED',\n getEventModel: ({ muted, autoplay, playlistId }) => ({\n eventType: ApplicationEventType.PAGE_LOAD,\n eventVar2: PageLoadType.View,\n eventVar1: 'reels_playlist_load',\n eventVar3: `${muted ? 'muted' : 'unmuted'} ; ${autoplay ? 'autoplay_on' : 'autoplay_off'}`,\n eventVar4: playlistId,\n applicationFeature: ApplicationFeature.REELS\n })\n }\n};\n","import { getEventModel } from './kava-event-model';\nimport { KavaEvent } from './types';\nimport { EventBucketName } from './enums/event-bucket-name';\nimport { getApplicationEventsModel } from './application-events-model';\n\n/**\n * The KAVA model that stores data.\n * @class KavaModel\n * @private\n * @param {?Object} - Initial model.\n */\nclass KavaModel {\n private sessionStartTime!: number;\n private eventIndex!: number;\n private errorPosition!: ErrorPosition;\n private playTimeSum!: number;\n private bufferTime!: number;\n private bufferTimeSum!: number;\n private language!: string;\n private caption!: string;\n private errorCode!: number;\n private errorDetails: any;\n private joinTime!: number;\n private canPlayTime!: number;\n private targetPosition!: number;\n private targetBuffer!: number;\n private registeredPlugins!: string;\n public totalSegmentsDownloadTime: number = 0;\n public totalSegmentsDownloadBytes: number = 0;\n public maxSegmentDownloadTime: number = 0;\n public maxManifestDownloadTime: number = 0;\n private forwardBufferHealth!: number;\n private droppedFramesRatio?: number | null = null;\n private soundMode!: SoundMode;\n private viewabilityMode!: ViewabilityMode;\n private tabMode!: TabMode;\n private screenMode: ScreenMode = ScreenMode.NOT_IN_FULLSCREEN;\n public maxNetworkConnectionOverhead: number = 0;\n private flavorParamsId: number = NaN;\n private networkConnectionType!: string;\n public playerJSLoadTime?: number | null = null;\n private shareNetworkName: string = '';\n private reportType: number = NaN;\n private playbackMode: number = NaN;\n private sourceEntryId: string | null = null;\n\n public getActualBitrate!: () => any;\n public getPlaybackSpeed!: () => any;\n public getAverageBitrate!: () => any;\n public getPartnerId!: () => any;\n public getEntryId!: () => any;\n public getPlaylistId!: () => any;\n public getSessionId!: () => any;\n public getClientVer!: () => any;\n public getClientTag!: () => any;\n public getKS!: () => any;\n public getVirtualEventId!: () => any;\n public getUIConfId!: () => any;\n public getReferrer!: () => any;\n public getCustomVar1!: () => any;\n public getCustomVar2!: () => any;\n public getCustomVar3!: () => any;\n public getPosition!: () => any;\n public getDeliveryType!: () => any;\n public getPlaybackType!: () => any;\n public getPlaybackContext!: () => any;\n public getApplication!: () => any;\n public getKalturaApplicationVersion!: () => any;\n public getKalturaApplication!: () => any;\n public getUserId!: () => any;\n public getPersistentSessionId!: () => any;\n public getHostingKalturaApplication!: () => any;\n public getHostingKalturaApplicationVersion!: () => any;\n\n constructor(model?: object) {\n if (model) {\n this.updateModel(model);\n }\n }\n\n /**\n * Gets the total play time.\n * @returns {number} - The play time sum.\n * @memberof KavaModel\n * @instance\n */\n public getPlayTimeSum(): number {\n return this.playTimeSum;\n }\n\n public getCanPlayTime(): number {\n return this.canPlayTime;\n }\n\n /**\n * Gets the buffer time.\n * @returns {number} - The buffer time.\n * @memberof KavaModel\n * @instance\n */\n public getBufferTime(): number {\n return this.bufferTime;\n }\n\n /**\n * Gets the total buffer time.\n * @returns {number} - The total buffer time.\n * @memberof KavaModel\n * @instance\n */\n public getBufferTimeSum(): number {\n return this.bufferTimeSum;\n }\n\n /**\n * Gets the player bundle js load duration time\n * @returns {number} - The player js load duration time\n * @memberof KavaModel\n * @instance\n */\n public getPlayerJSLoadTime(): number | null {\n if (this.playerJSLoadTime) {\n return Math.round(this.playerJSLoadTime * 1000) / 1000;\n } else {\n return null;\n }\n }\n\n /**\n * Gets the join time.\n * @returns {number} - The join time.\n * @memberof KavaModel\n * @instance\n */\n public getJoinTime(): number {\n return this.joinTime;\n }\n\n /**\n * Gets a target position\n * @returns {number} - The target position.\n * @memberof KavaModel\n * @instance\n */\n public getTargetPosition(): number {\n return this.targetPosition;\n }\n\n /**\n * Gets the target buffer\n * @returns {number} - The target buffer in seconds.\n * @memberof KavaModel\n * @instance\n */\n public getTargetBuffer(): number {\n return this.targetBuffer;\n }\n\n /**\n * Gets registered plugins list\n * @returns {string} - The current list of loaded plugins\n * @memberof KavaModel\n * @instance\n */\n public getRegisteredPlugins(): string {\n return this.registeredPlugins;\n }\n\n /**\n * Gets an audio language.\n * @returns {string} - The audio language.\n * @memberof KavaModel\n * @instance\n */\n public getLanguage(): string {\n return this.language;\n }\n\n /**\n * Gets a caption language.\n * @returns {string} - The caption language.\n * @memberof KavaModel\n * @instance\n */\n public getCaption(): string {\n return this.caption;\n }\n\n /**\n * Gets the average bandwidth since last report.\n * @returns {number} - The bandwidth in kbps\n * @memberof KavaModel\n * @instance\n */\n public getBandwidth(): number {\n return this.totalSegmentsDownloadTime > 0 ? Math.round((this.totalSegmentsDownloadBytes * 8) / this.totalSegmentsDownloadTime) / 1000 : 0;\n }\n\n /**\n * Returns the longest manifest download time in seconds\n * @returns {number} - manifest max download time in seconds\n * @memberof KavaModel\n * @instance\n */\n public getMaxManifestDownloadTime(): number {\n return this.maxManifestDownloadTime;\n }\n\n /**\n * Returns the longest segment download time in seconds\n * @returns {number} - segment max download time in seconds\n * @memberof KavaModel\n * @instance\n */\n public getSegmentDownloadTime(): number {\n return this.maxSegmentDownloadTime;\n }\n\n /**\n * Gets the forward buffer health ratio.\n * @returns {number} - the ratio between the available buffer and the target buffer\n * @memberof KavaModel\n * @instance\n */\n public getForwardBufferHealth(): number {\n return this.forwardBufferHealth;\n }\n /**\n * Gets the dropped frames ratio since last view event.\n * @returns {number} - dropped frames ratio since last view event\n * @memberof KavaModel\n * @instance\n */\n public getDroppedFramesRatio(): number | null | undefined {\n return this.droppedFramesRatio;\n }\n\n /**\n * Gets the sound mode of the player.\n * @returns {SoundMode} the state of the sound (muted ot not)\n * @memberof KavaModel\n * @instance\n */\n public getSoundMode(): SoundMode {\n return this.soundMode;\n }\n\n /**\n * Gets the viewability mode of the player.\n * @returns {ViewabilityMode} the state of the view (in-view ot not)\n * @memberof KavaModel\n * @instance\n */\n public getViewabilityMode(): ViewabilityMode {\n return this.viewabilityMode;\n }\n\n /**\n * Gets the screen mode of the browser player.\n * @returns {number} the state of the full screen if is on or not.\n * @memberof KavaModel\n * @instance\n */\n public getScreenMode(): ScreenMode {\n return this.screenMode;\n }\n\n /**\n * Gets the Tab mode of the browser.\n * @returns {TabMode} the state of the tab (focused or not)\n * @memberof KavaModel\n * @instance\n */\n public getTabMode(): TabMode {\n return this.tabMode;\n }\n\n /**\n * Gets the effectiveType read-only property of the NetworkInformation interface (from navigator)\n * @returns {string} the effective type of the connection meaning one of 'slow-2g', '2g', '3g', or '4g'\n * @memberof KavaModel\n * @instance\n */\n public getNetworkConnectionType(): string {\n return this.networkConnectionType;\n }\n\n /**\n * Gets the max dns+ssl+tcp resolving time over all video segments\n * @returns {number} max dns+ssl+tcp in seconds\n * @memberof KavaModel\n * @instance\n */\n public getNetworkConnectionOverhead(): number {\n // convert ms to seconds in 0.xxx format\n return Math.round(this.maxNetworkConnectionOverhead) / 1000;\n }\n\n /**\n * Gets the error code.\n * @returns {number} - The error code.\n * @memberof KavaModel\n * @instance\n */\n public getErrorCode(): number {\n return this.errorCode;\n }\n\n /**\n * Gets the flavor id from ID3 tag in the packager\n * @returns {number} - The flavor id.\n * @memberof KavaModel\n * @instance\n */\n public getFlavorParamsId(): number {\n return this.flavorParamsId;\n }\n\n /**\n * Gets the error additional data.\n * @returns {string} - The stringifyed error data.\n * @memberof KavaModel\n * @instance\n */\n public getErrorDetails(): string {\n let retVal: string = '';\n if (this.errorDetails) {\n try {\n retVal = JSON.stringify(this.errorDetails);\n } catch (e) {\n // do nothing\n }\n }\n return retVal;\n }\n\n /**\n * Gets the event index counter.\n * @returns {number} - The event index counter.\n * @memberof KavaModel\n * @instance\n */\n public getEventIndex(): number {\n return this.eventIndex;\n }\n\n /**\n * Gets the error position (start or mid playing)\n * @returns {number} - The error position - 1 for pre playing, 2 for mid stream error\n * @memberof KavaModel\n * @instance\n */\n public getErrorPosition(): ErrorPosition {\n return this.errorPosition;\n }\n\n /**\n * Gets the session start time.\n * @returns {number} - The session start time.\n * @memberof KavaModel\n * @instance\n */\n public getSessionStartTime(): number {\n return this.sessionStartTime;\n }\n\n /**\n * Gets the share network name.\n * @returns {number} - The session start time.\n * @memberof KavaModel\n * @instance\n */\n public getShareNetworkName(): string {\n return this.shareNetworkName;\n }\n\n public getReportType(): number {\n return this.reportType;\n }\n\n public getPlaybackMode(): number {\n return this.playbackMode;\n }\n\n /**\n * Gets the source entry id - the entry id that the current part of a simulive entry was generated from.\n * @returns {string} - Source entry id.\n * @memberof KavaModel\n * @instance\n */\n public getSourceEntryId(): string | null {\n return this.sourceEntryId;\n }\n\n /**\n * Updates the model.\n * @param {Object} obj - A partial or full updated model.\n * @returns {void}\n * @memberof KavaModel\n * @instance\n */\n public updateModel(obj: object): void {\n Object.assign(this, obj);\n }\n\n /**\n * Gets the model for a certain event.\n * @param {KavaEvent} eventObj - The event object.\n * @param {EventBucketName} eventBucketName - The dashboard name in kava dashboards.\n * @param {any} eventPayload - The original player event payload.\n * @returns {Object} - The event model.\n * @memberof KavaModel\n * @instance\n */\n public getModel(eventObj: KavaEvent, eventBucketName: EventBucketName = EventBucketName.PlayerEvents, eventPayload?: any): any {\n switch (eventBucketName) {\n case EventBucketName.PlayerEvents:\n return getEventModel(eventObj, this);\n case EventBucketName.ApplicationEvents:\n return getApplicationEventsModel(eventObj, this, eventPayload);\n }\n }\n}\n\nenum SoundMode {\n SOUND_OFF = 1,\n SOUND_ON = 2\n}\n\nenum ViewabilityMode {\n NOT_IN_VIEW = 1,\n IN_VIEW = 2\n}\n\nenum TabMode {\n TAB_NOT_FOCUSED = 1,\n TAB_FOCUSED = 2\n}\n\nenum ScreenMode {\n NOT_IN_FULLSCREEN = 1,\n FULLSCREEN = 2\n}\n\nenum ErrorPosition {\n PRE_PLAY = 3,\n PRE_PLAYING = 1,\n MID_STREAM = 2\n}\n\nexport { KavaModel, SoundMode, TabMode, ErrorPosition, ScreenMode, ViewabilityMode };\n","import { KavaHttpMethodType } from '../types';\n\nconst HttpMethodType: KavaHttpMethodType = {\n GET: 'GET',\n POST: 'POST'\n};\n\nexport { HttpMethodType };\n","export enum Application {\n REELS = 'reels',\n AUDIO = 'audio',\n VIDEO = 'video'\n}\n","import { BasePlugin, core, KalturaPlayer } from '@playkit-js/kaltura-player-js';\nimport { FakeEvent, VideoTrack } from '@playkit-js/playkit-js';\nimport { OVPAnalyticsService } from '@playkit-js/playkit-js-providers/analytics-service';\nimport { KavaEventModel, KavaEventType } from './kava-event-model';\nimport { KavaRateHandler } from './kava-rate-handler';\nimport { KavaTimer } from './kava-timer';\nimport { ErrorPosition, KavaModel, ScreenMode, SoundMode, TabMode, ViewabilityMode } from './kava-model';\nimport { HttpMethodType } from './enums/http-method-type';\nimport { KalturaApplication } from './enums/kaltura-application';\nimport { KavaConfigObject, KavaEvent } from './types';\nimport { DownloadEvent, InfoEvent, ModerationEvent, RelatedEvent, ShareEvent } from './temp-imported-plugins-event-names-temp';\nimport { PluginsEvents, PlaykitUIEvents } from './applications-events';\nimport { EventBucketName } from './enums/event-bucket-name';\nimport { ApplicationEventsModel, getApplicationEventsModel } from './application-events-model';\nimport { Application } from './enums/application';\n\nconst { Error: PKError, Utils } = core;\nconst DIVIDER: number = 1024;\nconst TEXT_TYPE: string = 'TEXT';\n/**\n * Kaltura Advanced Analytics plugin.\n * @class Kava\n * @param {string} name - The plugin name.\n * @param {Player} player - The player instance.\n * @param {KavaConfigObject} config - The plugin config.\n */\nclass Kava extends BasePlugin {\n private _model: KavaModel;\n private _timer: KavaTimer;\n private _rateHandler: KavaRateHandler;\n private _viewEventEnabled: boolean;\n private _firstPlayRequestTime!: number;\n private _bufferStartTime!: number;\n private _previousCurrentTime!: number;\n private _isFirstPlay!: boolean;\n private _isFirstPlaying!: boolean;\n private _isEnded!: boolean;\n private _isPaused!: boolean;\n private _isBuffering!: boolean;\n private _timePercentEvent!: { [time: string]: boolean };\n private _isPlaying!: boolean;\n private _loadStartTime!: number;\n private _lastDroppedFrames: number = 0;\n private _lastTotalFrames: number = 0;\n private _performanceObserver!: PerformanceObserver;\n private _performanceEntries: PerformanceEntry[] = [];\n private _pendingFragLoadedUrls: string[] = [];\n private _fragLoadedFiredOnce: boolean = false;\n private _canPlayOccured: boolean = false;\n private _isManualPreload: boolean = false;\n private _lastViewEventPlayTime: number = -1;\n\n /**\n * Default config of the plugin.\n * @type {Object}\n * @static\n * @memberof Kava\n */\n public static defaultConfig: any = {\n serviceUrl: `${Utils.Http.protocol}//analytics.kaltura.com/api_v3/index.php`,\n requestMethod: HttpMethodType.POST,\n viewEventCountdown: 10,\n resetSessionCountdown: 30,\n dvrThreshold: 120,\n playbackContext: '',\n application: '',\n kalturaApplicationVersion: '',\n kalturaApplication: 'PLAYER',\n hostingKalturaApplication: '',\n hostingKalturaApplicationVersion: ''\n };\n\n /**\n * @static\n * @return {boolean} - Whether the plugin is valid in the current environment.\n * @memberof Kava\n */\n public static isValid(): boolean {\n return true;\n }\n\n constructor(name: string, player: KalturaPlayer, config: KavaConfigObject) {\n super(name, player, config);\n this._rateHandler = new KavaRateHandler();\n this._model = new KavaModel();\n this._setModelDelegates();\n this._timer = new KavaTimer({\n resetCounter: this.config.resetSessionCountdown,\n eventCounter: this.config.viewEventCountdown\n });\n this._viewEventEnabled = true;\n this._resetFlags();\n this._addBindings();\n this._model.updateModel({\n eventIndex: 1,\n bufferTime: 0.0,\n bufferTimeSum: 0.0,\n playTimeSum: 0.0\n });\n // check the Resource Timing API is supported in the browser and we have a uiConfId\n if (performance && this.config.uiConfId) {\n const entry = performance.getEntriesByType('resource').find((entry) => entry.name.match('embedPlaykitJs.*' + this.config.uiConfId));\n if (entry) {\n this._model.updateModel({ playerJSLoadTime: entry.duration });\n }\n }\n }\n\n private _updateSoundModeInModel(): void {\n this._model.updateModel({\n soundMode: this.player.muted || this.player.volume === 0 ? SoundMode.SOUND_OFF : SoundMode.SOUND_ON\n });\n }\n\n private _updateViewabilityModeInModel(isVisible: boolean): void {\n this._model.updateModel({\n viewabilityMode: isVisible || this.player.isInPictureInPicture() ? ViewabilityMode.IN_VIEW : ViewabilityMode.NOT_IN_VIEW\n });\n }\n\n private _handleNewPerformanceEntries(list: PerformanceObserverEntryList): void {\n const perfEntries = list.getEntries();\n for (let i = 0; i < perfEntries.length; i++) {\n this._performanceEntries.push(perfEntries[i]);\n }\n while (this._pendingFragLoadedUrls.length) {\n // handle frag loaded events which haven't been added to the entry list yet\n this._handleFragPerformanceObserver(this._pendingFragLoadedUrls.pop()!);\n }\n }\n\n /**\n * Destroys the plugin.\n * @return {void}\n * @memberof Kava\n * @instance\n */\n public destroy(): void {\n this.eventManager.destroy();\n this._reset();\n }\n\n private _reset(): void {\n this._timer.destroy();\n this._rateHandler.destroy();\n if (this._performanceObserver) {\n this._performanceObserver.disconnect();\n }\n this._performanceEntries = [];\n this._pendingFragLoadedUrls = [];\n }\n\n /**\n * Reset the plugin.\n * @return {void}\n * @memberof Kava\n * @instance\n */\n public reset(): void {\n this.eventManager.removeAll();\n this._resetFlags();\n this._addBindings();\n this._model.updateModel({\n eventIndex: 1,\n bufferTime: 0.0,\n bufferTimeSum: 0.0,\n playTimeSum: 0.0,\n sessionStartTime: null\n });\n this._reset();\n }\n\n /**\n * loadMedia of the plugin.\n * @return {void}\n * @memberof Kava\n * @instance\n */\n public loadMedia(): void {\n if (window.PerformanceObserver) {\n this._performanceObserver = new window.PerformanceObserver(this._handleNewPerformanceEntries.bind(this));\n this._performanceObserver.observe({ entryTypes: ['resource'] });\n }\n }\n\n /**\n * Gets the model object for a certain event.\n * @param {string} event - Event name.\n * @returns {Object} - Model object.\n * @instance\n * @memberof Kava\n * @example\n * const kava = player.plugins.kava;\n * const viewModel = kava.getEventModel(kava.EventType.VIEW);\n * kava.sendAnalytics(viewModel);\n */\n public getEventModel(event: string): any {\n if (event) {\n return this._model.getModel(KavaEventModel[event]);\n }\n }\n\n /**\n * @returns {KavaEventType} - The kava events list.\n * @instance\n * @memberof Kava\n */\n public get EventType(): { [event: string]: string } {\n return Utils.Object.copyDeep(KavaEventType);\n }\n\n /**\n * Sends KAVA analytics event to analytics service.\n * @param {Object} model - Event model.\n * @returns {Promise} - Promise to indicate request succeed or failed.\n * @instance\n * @memberof Kava\n * @example\n * player.plugins.kava.sendAnalytics({...})\n * .then(() => {\n * console.log('kava analytics sent successfully');\n * })\n * .catch(e => {\n * console.log('kava analytics send failed', e);\n * });\n */\n public sendAnalytics(model: any): Promise<void> {\n return new Promise((resolve, reject) => {\n OVPAnalyticsService.trackEvent(this.config.serviceUrl, model, this.config.requestMethod)\n .doHttpRequest()\n .then(\n (response) => {\n this._handleServerResponseSuccess(response, model);\n resolve();\n },\n (err) => {\n this._handleServerResponseFailed(err, model);\n reject(err);\n }\n );\n this._model.updateModel({ eventIndex: this._model.getEventIndex() + 1 });\n });\n }\n\n private _resetFlags(): void {\n this._previousCurrentTime = 0;\n this._lastViewEventPlayTime = -1;\n this._isPlaying = false;\n this._isFirstPlay = true;\n this._isFirstPlaying = true;\n this._isEnded = false;\n this._isPaused = false;\n this._isBuffering = false;\n this._timePercentEvent = {\n PLAY_REACHED_25_PERCENT: false,\n PLAY_REACHED_50_PERCENT: false,\n PLAY_REACHED_75_PERCENT: false,\n PLAY_REACHED_100_PERCENT: false\n };\n this._canPlayOccured = false;\n this._isManualPreload = false;\n }\n\n private _resetSession(): void {\n this.logger.debug('Reset KAVA session');\n this._rateHandler.reset();\n this._model.updateModel({\n eventIndex: 1,\n bufferTimeSum: 0.0,\n playTimeSum: 0.0\n });\n }\n\n private _sendAnalytics(eventObj: KavaEvent, eventBucketName: EventBucketName = EventBucketName.PlayerEvents, eventPayload?: any): void {\n if (!this._validate()) {\n return;\n }\n if (this._isBuffering) {\n this._updateBufferModel();\n this._bufferStartTime = Date.now();\n }\n const model = this._model.getModel(eventObj, eventBucketName, eventPayload);\n if (typeof this.config.tamperAnalyticsHandler === 'function') {\n const sendRequest = this.config.tamperAnalyticsHandler(model);\n if (!sendRequest) {\n this.logger.debug('Cancel KAVA request', model);\n return;\n }\n }\n this.logger.debug(`Sending KAVA event ${model.eventType}:${eventObj.type}`);\n this.sendAnalytics(model).catch(() => {});\n }\n\n private _handleServerResponseSuccess(response: any, model: any): void {\n this.logger.debug('KAVA event sent', model);\n this._updateSessionStartTimeModel(response);\n }\n\n private _handleServerResponseFailed(err: any, model: any): void {\n this.logger.warn('Failed to send KAVA event', model, err);\n }\n\n private _addBindings(): void {\n this.eventManager.listen(this._timer, KavaTimer.Event.TICK, () => this._rateHandler.countCurrent());\n this.eventManager.listen(this._timer, KavaTimer.Event.REPORT, () => this._onReport());\n this.eventManager.listen(this._timer, KavaTimer.Event.RESET, () => this._resetSession());\n this.eventManager.listen(this.player, this.player.Event.Core.SOURCE_SELECTED, () => this._onSourceSelected());\n this.eventManager.listen(this.player, this.player.Event.Core.ERROR, (event) => this._onError(event));\n this.eventManager.listen(this.player, this.player.Event.Core.FIRST_PLAY, () => this._onFirstPlay());\n this.eventManager.listen(this.player, this.player.Event.Core.FRAG_LOADED, (event) => this._onFragLoaded(event));\n this.eventManager.listen(this.player, this.player.Event.Core.MANIFEST_LOADED, (event) => this._onManifestLoaded(event));\n this.eventManager.listen(this.player, this.player.Event.Core.TIMED_METADATA, (event) => this._onTimedMetadataLoaded(event));\n this.eventManager.listen(this.player, this.player.Event.Core.TRACKS_CHANGED, () => this._setInitialTracks());\n this.eventManager.listen(this.player, this.player.Event.Core.PLAYING, () => this._onPlaying());\n this.eventManager.listen(this.player, this.player.Event.Core.FIRST_PLAYING, () => this._onFirstPlaying());\n this.eventManager.listen(this.player, this.player.Event.Core.SEEKING, () => this._onSeeking());\n this.eventManager.listen(this.player, this.player.Event.Core.PAUSE, () => this._onPause());\n this.eventManager.listen(this.player, this.player.Event.Core.ENDED, () => this._onEnded());\n this.eventManager.listen(this.player, this.player.Event.Core.VIDEO_TRACK_CHANGED, (event) => this._onVideoTrackChanged(event));\n this.eventManager.listen(this.player, this.player.Event.Core.AUDIO_TRACK_CHANGED, (event) => this._onAudioTrackChanged(event));\n this.eventManager.listen(this.player, this.player.Event.Core.TEXT_TRACK_CHANGED, (event) => this._onTextTrackChanged(event));\n this.eventManager.listen(this.player, this.player.Event.Core.PLAYER_STATE_CHANGED, (event) => this._onPlayerStateChanged(event));\n this.eventManager.listen(this.player, this.player.Event.Core.RATE_CHANGE, () => this._onPlaybackRateChanged());\n this.eventManager.listen(this.player, this.player.Event.Core.CAN_PLAY, () => this._onCanPlay());\n this.eventManager.listen(this.player, this.player.Event.Core.LOAD_START, () => this._onLoadStart());\n this.eventManager.listen(this.player, this.player.Event.Core.VOLUME_CHANGE, () => this._updateSoundModeInModel());\n this.eventManager.listen(this.player, this.player.Event.VISIBILITY_CHANGE, (e) => this._updateViewabilityModeInModel(e.payload.visible));\n this.eventManager.listen(this.player, this.player.Event.Core.MUTE_CHANGE, () => this._updateSoundModeInModel());\n this.eventManager.listen(this.player, this.player.Event.Core.ENTER_FULLSCREEN, () => this._onFullScreenChanged(ScreenMode.FULLSCREEN));\n this.eventManager.listen(this.player, this.player.Event.Core.EXIT_FULLSCREEN, () => this._onFullScreenChanged(ScreenMode.NOT_IN_FULLSCREEN));\n this.eventManager.listen(this.player, RelatedEvent.RELATED_OPEN, () => this._onRelatedClicked());\n this.eventManager.listen(this.player, RelatedEvent.RELATED_SELECTED, () => this._onRelatedSelected());\n this.eventManager.listen(this.player, ShareEvent.SHARE_CLICKED, () => this._onShareClicked());\n this.eventManager.listen(this.player, ShareEvent.SHARE_NETWORK, (event) => this._onShareNetworkClicked(event));\n this.eventManager.listen(this.player, DownloadEvent.DOWNLOAD_ITEM_CLICKED, () => this._onDownloadItemClicked());\n this.eventManager.listen(this.player, InfoEvent.INFO_SCREEN_OPEN, () => this._onInfoScreenOpened());\n this.eventManager.listen(this.player, ModerationEvent.REPORT_CLICKED, () => this._onReportClicked());\n this.eventManager.listen(this.player, ModerationEvent.REPORT_SUBMITTED, (event) => this._onReportSubmitted(event));\n this._bindApplicationEvents();\n this._bindPlaykitUIEvents();\n this._initTabMode();\n this._initNetworkConnectionType();\n }\n\n private _bindPlaykitUIEvents(): void {\n Object.values(PlaykitUIEvents).forEach((event) => {\n this.eventManager.listen(this.player, event, (e: FakeEvent) => {\n if (e.type in ApplicationEventsModel) {\n if (this._isApplicationEventValid(e)) {\n this._sendAnalytics(ApplicationEventsModel[e.type], EventBucketName.ApplicationEvents, e.payload);\n }\n }\n });\n });\n }\n\n private _bindApplicationEvents(): void {\n Object.values(PluginsEvents).forEach((event) => {\n this.eventManager.listen(this.player, event, (e: FakeEvent) => {\n if (e.type in ApplicationEventsModel) {\n if (this._isApplicationEventValid(e)) {\n this._sendAnalytics(ApplicationEventsModel[e.type], EventBucketName.ApplicationEvents, e.payload);\n }\n }\n });\n });\n }\n\n private _onFirstPlaying(): void {\n this._isPlaying = true;\n if (!this._fragLoadedFiredOnce && this._performanceObserver) {\n this._performanceObserver.disconnect();\n this.logger.debug(\"This adapter / media doesn't fire fragLoaded - disconnect performance observer\");\n }\n }\n\n private _onLoadStart(): void {\n this._loadStartTime = Date.now();\n }\n\n private _getRates(): Array<number> {\n const rates: number[] = [];\n const videoTracks: VideoTrack[] = this.player.getTracks(this.player.Track.VIDEO) as unknown as VideoTrack[];\n videoTracks.forEach((videoTrack) => rates.push(videoTrack.bandwidth / DIVIDER));\n return rates;\n }\n\n private _setInitialTracks(): void {\n const rates = this._getRates();\n const activeTracks = this.player.getActiveTracks();\n this._rateHandler.setRates(rates);\n if (activeTracks.video) {\n this._rateHandler.setCurrent(activeTracks.video.bandwidth / DIVIDER);\n }\n if (activeTracks.audio) {\n this._model.updateModel({ language: activeTracks.audio.language });\n }\n if (activeTracks.text) {\n this._model.updateModel({ caption: activeTracks.text.language });\n }\n }\n\n /**\n * gets the available buffer length\n * @returns {number} the remaining buffer length of the current played time range\n * @private\n */\n private _getAvailableBuffer(): number {\n let availableBuffer = NaN;\n if (this.player.stats) {\n availableBuffer = this.player.stats.availableBuffer;\n }\n return availableBuffer;\n }\n\n /**\n * calculates the forward buffer health ratio\n * @returns {number} the ratio between available buffer and the target buffer\n * @private\n */\n private _getForwardBufferHealth(): number {\n let forwardBufferHealth = NaN;\n const availableBuffer = this._getAvailableBuffer();\n const targetBuffer = this._getTargetBuffer();\n\n if (!isNaN(targetBuffer)) {\n // considering playback left to the target calculation\n forwardBufferHealth = Math.round((availableBuffer * 1000) / targetBuffer) / 1000;\n }\n\n return forwardBufferHealth;\n }\n\n /**\n * get the target buffer length from the player\n * @returns {number} the target buffer in seconds\n * @private\n */\n private _getTargetBuffer(): number {\n let targetBuffer = NaN;\n if (this.player.stats) {\n targetBuffer = this.player.stats.targetBuffer;\n }\n return targetBuffer;\n }\n\n /**\n * calculates the dropped frames ratio since last call\n * @returns {number} the ratio between dropped frames and the total frames\n * @private\n */\n private _getDroppedFramesRatio(): number {\n let droppedFrames = -1;\n const droppedAndDecoded: [number, number] | null = this._getDroppedAndDecodedFrames();\n if (droppedAndDecoded) {\n const lastDroppedFrames = droppedAndDecoded[0];\n const lastTotalFrames = droppedAndDecoded[1];\n const droppedFramesDelta = lastDroppedFrames - this._lastDroppedFrames;\n const totalFramesDelta = lastTotalFrames - this._lastTotalFrames;\n droppedFrames = totalFramesDelta ? Math.round((droppedFramesDelta / totalFramesDelta) * 1000) / 1000 : 0;\n\n this._lastTotalFrames = lastTotalFrames;\n this._lastDroppedFrames = lastDroppedFrames;\n }\n return droppedFrames;\n }\n\n /**\n * returns dropped and total frames from the VideoPlaybackQuality Interface of the browser (if supported)\n * @returns {number} {number} the number of video frames dropped and total video frames (created and dropped)\n * since the creation of the associated HTMLVideoElement\n * @private\n */\n private _getDroppedAndDecodedFrames(): [number, number] | null {\n if (typeof this.player.getVideoElement()!.getVideoPlaybackQuality === 'function') {\n const videoPlaybackQuality = this.player.getVideoElement()!.getVideoPlaybackQuality();\n return [videoPlaybackQuality.droppedVideoFrames, videoPlaybackQuality.totalVideoFrames];\n } else if (\n // @ts-expect-error - error TS2532: Object is possibly 'undefined'\n typeof this.player.getVideoElement().webkitDroppedFrameCount === 'number' &&\n // @ts-expect-error - error TS2532: Object is possibly 'undefined'\n typeof this.player.getVideoElement().webkitDecodedFrameCount === 'number'\n ) {\n // @ts-expect-error - error TS2532: Object is possibly 'undefined'\n return [this.player.getVideoElement().webkitDroppedFrameCount, this.player.getVideoElement().webkitDecodedFrameCount];\n } else {\n return null;\n }\n }\n\n private _onReport(): void {\n if (this._viewEventEnabled) {\n this._updatePlayTimeSumModel();\n this._model.updateModel({\n forwardBufferHealth: this._getForwardBufferHealth(),\n targetBuffer: this._getTargetBuffer(),\n droppedFramesRatio: this._getDroppedFramesRatio()\n });\n if (this._lastViewEventPlayTime !== this._model.getPlayTimeSum()) {\n this._lastViewEventPlayTime = this._model.getPlayTimeSum();\n this._sendAnalytics(KavaEventModel.VIEW);\n } else {\n this.logger.warn(`VIEW event blocked because view event with same time already sent: ${this._lastViewEventPlayTime}`);\n }\n } else {\n this.logger.warn('VIEW event blocked because server response of viewEventsEnabled=false');\n }\n this._model.updateModel({\n totalSegmentsDownloadTime: 0,\n totalSegmentsDownloadBytes: 0,\n maxManifestDownloadTime: 0,\n maxSegmentDownloadTime: 0,\n maxNetworkConnectionOverhead: 0,\n bufferTime: 0\n });\n }\n\n private _updateNetworkConnectionTypeinModel(navConnection: any): void {\n this._model.updateModel({\n networkConnectionType: navConnection.effectiveType\n });\n }\n\n private _initNetworkConnectionType(): void {\n // @ts-expect-error - Property 'webkitConnection' does not exist on type 'Navigator'\n const navConnection = window.navigator.connection || window.navigator.mozConnection || window.navigator.webkitConnection;\n\n if (navConnection) {\n this.eventManager.listen(navConnection, 'change', () => this._updateNetworkConnectionTypeinModel(navConnection));\n this._updateNetworkConnectionTypeinModel(navConnection);\n }\n }\n\n private _onPlaying(): void {\n if (this._isFirstPlaying) {\n this._updateSoundModeInModel();\n this._updateViewabilityModeInModel(this.player.isVisible);\n if (!this.player.isUntimedImg()) this._timer.start();\n this._isFirstPlaying = false;\n const playRequestStartTime =\n this.player.config.playback.preload === 'auto' || this._isManualPreload ? this._firstPlayRequestTime : this._loadStartTime;\n this._model.updateModel({\n joinTime: Kava._getTimeDifferenceInSeconds(playRequestStartTime)\n });\n this._sendAnalytics(KavaEventModel.PLAY);\n this._onReport();\n } else if (this._isEnded) {\n this._timer.start();\n this._isEnded = false;\n this._sendAnalytics(KavaEventModel.REPLAY);\n } else if (this._isPaused) {\n this._timer.resume();\n this._isPaused = false;\n this._sendAnalytics(KavaEventModel.RESUME);\n }\n }\n\n private _onCanPlay(): void {\n this._canPlayOccured = true;\n this._model.updateModel({\n canPlayTime: Kava._getTimeDifferenceInSeconds(this._loadStartTime)\n });\n }\n\n private _onFirstPlay(): void {\n if (this._canPlayOccured) {\n this._isManualPreload = true;\n }\n this._isFirstPlay = false;\n this._firstPlayRequestTime = Date.now();\n this._sendAnalytics(KavaEventModel.PLAY_REQUEST);\n }\n\n private _onSourceSelected(): void {\n const plugins = Object.values(this.player.plugins).map((plugin: any) => plugin.name);\n this._model.updateModel({ registeredPlugins: plugins.join(',') });\n\n this._sendAnalytics(KavaEventModel.IMPRESSION);\n\n if (!(this.player.isImage() || this.player.isLive())) {\n this.eventManager.listen(this.player, this.player.Event.Core.TIME_UPDATE, () => this._onTimeUpdate());\n }\n }\n\n private _onSeeking(): void {\n this._previousCurrentTime = this.player.currentTime!;\n this._model.updateModel({ targetPosition: this.player.currentTime! });\n this._sendAnalytics(KavaEventModel.SEEK);\n }\n\n private _onPause(): void {\n this._isPaused = true;\n this._timer.stop();\n this._sendAnalytics(KavaEventModel.PAUSE);\n }\n\n private _onEnded(): void {\n this._isEnded = true;\n this._onTimeUpdate();\n this._model.updateModel({ bufferTime: 0 });\n }\n\n private _onTimeUpdate(): void {\n this._updatePlayTimeSumModel();\n const percent = parseFloat((this.player.currentTime! / this.player.duration!).toFixed(2));\n if (!this._timePercentEvent.PLAY_REACHED_25 && percent >= 0.25) {\n this._timePercentEvent.PLAY_REACHED_25 = true;\n this._sendAnalytics(KavaEventModel.PLAY_REACHED_25_PERCENT);\n }\n if (!this._timePercentEvent.PLAY_REACHED_50 && percent >= 0.5) {\n this._timePercentEvent.PLAY_REACHED_50 = true;\n this._sendAnalytics(KavaEventModel.PLAY_REACHED_50_PERCENT);\n }\n if (!this._timePercentEvent.PLAY_REACHED_75 && percent >= 0.75) {\n this._timePercentEvent.PLAY_REACHED_75 = true;\n this._sendAnalytics(KavaEventModel.PLAY_REACHED_75_PERCENT);\n }\n if (!this._timePercentEvent.PLAY_REACHED_100 && percent === 1) {\n this._timePercentEvent.PLAY_REACHED_100 = true;\n this._sendAnalytics(KavaEventModel.PLAY_REACHED_100_PERCENT);\n }\n }\n\n private _onFragLoaded(event: FakeEvent): void {\n if (!this._fragLoadedFiredOnce) {\n this._fragLoadedFiredOnce = true;\n }\n this._updateFragLoadedStats(event);\n if (this._performanceObserver) {\n const succHandle = this._handleFragPerformanceObserver(event.payload.url);\n if (!succHandle) {\n this._pendingFragLoadedUrls.push(event.payload.url);\n }\n }\n }\n\n private _handleFragPerformanceObserver(url: string): boolean {\n const fragResourceTimings = this._performanceEntries.filter((entry) => entry.name === url);\n const lastFragResourceTiming: any =\n fragResourceTimings && fragResourceTimings.length ? fragResourceTimings[fragResourceTimings.length - 1] : null;\n if (lastFragResourceTiming) {\n this._updateMaxNetworkConnectionOverhead(lastFragResourceTiming.connectEnd - lastFragResourceTiming.domainLookupStart);\n const lastIndexOftheFragment: number = this._performanceEntries.indexOf(lastFragResourceTiming);\n if (lastIndexOftheFragment > -1 && lastIndexOftheFragment < this._performanceEntries.length) {\n this._performanceEntries = this._performanceEntries.splice(\n lastIndexOftheFragment + 1,\n this._performanceEntries.length - (lastIndexOftheFragment + 1)\n );\n }\n return true;\n } else {\n return false;\n }\n }\n\n private _updateMaxNetworkConnectionOverhead(networkConnectionOverhead: number): void {\n this._model.updateModel({\n maxNetworkConnectionOverhead: Math.max(this._model.maxNetworkConnectionOverhead, networkConnectionOverhead)\n });\n }\n\n private _updateFragLoadedStats(event: FakeEvent): void {\n const seconds = Math.round(event.payload.miliSeconds) / 1000;\n this._model.updateModel({\n totalSegmentsDownloadTime: this._model.totalSegmentsDownloadTime + seconds,\n totalSegmentsDownloadBytes: this._model.totalSegmentsDownloadBytes + event.payload.bytes,\n maxSegmentDownloadTime: Math.max(seconds, this._model.maxSegmentDownloadTime)\n });\n }\n\n private _onManifestLoaded(event: FakeEvent): void {\n const seconds = Math.round(event.payload.miliSeconds) / 1000;\n this._model.updateModel({\n maxManifestDownloadTime: Math.max(seconds, this._model.maxManifestDownloadTime)\n });\n }\n\n private _onTimedMetadataLoaded(event: FakeEvent): void {\n const id3TagCues = event.payload.cues.filter((entry) => entry.value && entry.value.key === TEXT_TYPE);\n if (id3TagCues.length) {\n try {\n const data = JSON.parse(id3TagCues[id3TagCues.length - 1].value.data);\n this._model.updateModel({ flavorParamsId: Number(data.sequenceId) });\n\n if (data.clipId) {\n const [partType, entryId] = data.clipId.split('-');\n\n switch (partType) {\n case 'preStartContent': {\n this._model.updateModel({ sourceEntryId: entryId, playbackMode: 1 });\n break;\n }\n case 'content': {\n this._model.updateModel({ sourceEntryId: entryId, playbackMode: 2 });\n break;\n }\n case 'postEntryContent': {\n this._model.updateModel({ sourceEntryId: entryId, playbackMode: 3 });\n break;\n }\n default:\n break;\n }\n }\n } catch (e) {\n this.logger.debug('error parsing id3', e);\n }\n }\n }\n\n private _onVideoTrackChanged(event: FakeEvent): void {\n const videoTrack = event.payload.selectedVideoTrack;\n this._rateHandler.setCurrent(videoTrack.bandwidth / DIVIDER);\n if (this.player.isAdaptiveBitrateEnabled()) {\n this._sendAnalytics(KavaEventModel.FLAVOR_SWITCH);\n } else {\n this._sendAnalytics(KavaEventModel.SOURCE_SELECTED);\n }\n }\n\n private _onAudioTrackChanged(event: FakeEvent): void {\n const audioTrack = event.payload.selectedAudioTrack;\n this._model.updateModel({ language: audioTrack.language });\n this._sendAnalytics(KavaEventModel.AUDIO_SELECTED);\n }\n\n private _onTextTrackChanged(event: FakeEvent): void {\n if (this._isPlaying) {\n const textTrack = event.payload.selectedTextTrack;\n this._model.updateModel({ caption: textTrack.language });\n this._sendAnalytics(KavaEventModel.CAPTIONS);\n }\n }\n\n private _onError(event: FakeEvent): void {\n if (event.payload && event.payload.severity === PKError.Severity.CRITICAL) {\n this._model.updateModel({\n errorCode: event.payload.code,\n errorDetails: event.payload.data,\n errorPosition: this._isFirstPlay ? ErrorPosition.PRE_PLAY : this._isFirstPlaying ? ErrorPosition.PRE_PLAYING : ErrorPosition.MID_STREAM\n });\n this._sendAnalytics(KavaEventModel.ERROR);\n this.reset();\n }\n }\n\n private _onPlaybackRateChanged(): void {\n if (!this.player.playbackRates.length || this.player.playbackRates.includes(this.player.playbackRate!)) {\n this._sendAnalytics(KavaEventModel.SPEED);\n }\n }\n\n private _onPlayerStateChanged(event: FakeEvent): void {\n const oldState = event.payload.oldState;\n const newState = event.payload.newState;\n if (oldState.type === this.player.State.BUFFERING) {\n this._isBuffering = false;\n this._updateBufferModel();\n this._sendAnalytics(KavaEventModel.BUFFER_END);\n }\n if (newState.type === this.player.State.BUFFERING) {\n this._isBuffering = true;\n this._bufferStartTime = Date.now();\n this._sendAnalytics(KavaEventModel.BUFFER_START);\n }\n }\n\n private _onRelatedClicked(): void {\n this._sendAnalytics(KavaEventModel.RELATED_OPEN);\n }\n\n private _onRelatedSelected(): void {\n this._sendAnalytics(KavaEventModel.RELATED_SELECTED);\n }\n\n private _onShareClicked(): void {\n this._sendAnalytics(KavaEventModel.SHARE_CLICKED);\n }\n\n private _onShareNetworkClicked(event: FakeEvent): void {\n const shareNetworkName = event.payload.shareNetworkName;\n if (shareNetworkName) {\n this._model.updateModel({ shareNetworkName: shareNetworkName });\n this._sendAnalytics(KavaEventModel.SHARE_NETWORK);\n }\n }\n\n private _onReportSubmitted(event: FakeEvent): void {\n const reportType = event.payload.reportType;\n if (reportType) {\n this._model.updateModel({ reportType });\n this._sendAnalytics(KavaEventModel.REPORT_SUBMITTED);\n }\n }\n\n private _onReportClicked(): void {\n this._sendAnalytics(KavaEventModel.REPORT_CLICKED);\n }\n\n private _onInfoScreenOpened(): void {\n this._sendAnalytics(KavaEventModel.INFO);\n }\n\n private _onDownloadItemClicked(): void {\n this._sendAnalytics(KavaEventModel.DOWNLOAD);\n }\n\n private _onFullScreenChanged(screenMode: number): void {\n this._model.updateModel({ screenMode: screenMode });\n this._sendAnalytics(screenMode === ScreenMode.FULLSCREEN ? KavaEventModel.ENTER_FULLSCREEN : KavaEventModel.EXIT_FULLSCREEN);\n }\n\n private _updateSessionStartTimeModel(response: any | number): void {\n if (!this._model.getSessionStartTime() && response) {\n if (typeof response === 'object') {\n this._model.updateModel({ sessionStartTime: response.time });\n this._viewEventEnabled = response.viewEventsEnabled;\n } else {\n this._model.updateModel({ sessionStartTime: response });\n }\n }\n if (this._timer.isStopped()) {\n this._model.updateModel({ sessionStartTime: null });\n }\n }\n\n private _updateBufferModel(): void {\n const duration = Kava._getTimeDifferenceInSeconds(this._bufferStartTime);\n this._model.updateModel({\n bufferTime: this._model.getBufferTime() + duration,\n bufferTimeSum: this._model.getBufferTimeSum() + duration\n });\n }\n\n private _updatePlayTimeSumModel(): void {\n let delta;\n if (this.player.isLive()) {\n delta = this.config.viewEventCountdown - this._model.getBufferTime();\n } else {\n delta = this.player.currentTime! - this._previousCurrentTime;\n this._previousCurrentTime = this.player.currentTime!;\n }\n this._model.updateModel({ playTimeSum: this._model.getPlayTimeSum() + delta });\n }\n\n private _setModelDelegates(): void {\n this._model.getPlaybackSpeed = (): number | null => this.player.playbackRate;\n this._model.getActualBitrate = (): number => this._rateHandler.getCurrent();\n this._model.getAverageBitrate = (): number => this._rateHandler.getAverage();\n this._model.getPartnerId = (): number => this.config.partnerId;\n this._model.getEntryId = (): string => this.config.entryId;\n this._model.getPlaylistId = (): string => this.config.playlistId;\n this._model.getSessionId = (): string => this.config.sessionId;\n this._model.getPersistentSessionId = (): string => this.config.persistentSessionId;\n this._model.getClientVer = (): string => this.config.playerVersion;\n this._model.getClientTag = (): string => 'html5:v' + this.config.playerVersion;\n this._model.getKS = (): string => this.config.ks;\n this._model.getVirtualEventId = (): string => this.config.virtualEventId;\n this._model.getUIConfId = (): string => this.config.uiConfId;\n this._model.getReferrer = (): string => this.config.referrer;\n this._model.getCustomVar1 = (): string => this.config.customVar1;\n this._model.getCustomVar2 = (): string => this.config.customVar2;\n this._model.getCustomVar3 = (): string => this.config.customVar3;\n this._model.getPosition = (): number => this._getPosition();\n this._model.getDeliveryType = (): string => this._getDeliveryType();\n this._model.getPlaybackType = (): string => this._getPlaybackType();\n this._model.getPlaybackContext = (): string => this.config.playbackContext;\n this._model.getApplication = (): string => this._getPlayerType();\n this._model.getKalturaApplicationVersion = (): string => this.config.kalturaApplicationVersion;\n this._model.getKalturaApplication = (): string => this._getKalturaApplicationId(this.config.kalturaApplication);\n this._model.getUserId = (): string => this.config.userId;\n this._model.getHostingKalturaApplication = (): string => this.config.application;\n this._model.getHostingKalturaApplicationVersion = (): string => this.config.applicationVersion;\n }\n\n private _getPlayerType(): Application {\n if (this.player.plugins.reels !== undefined) {\n return Application.REELS;\n } else if (this.player.plugins.audioPlayer !== undefined) {\n return Application.AUDIO;\n } else {\n return Application.VIDEO;\n }\n }\n\n private _getKalturaApplicationId(kalturaAppName: string): string {\n if (kalturaAppName in KalturaApplication) {\n return KalturaApplication[kalturaAppName];\n } else {\n this.logger.warn('Kava analytics - unknon kalturaAppName: ' + kalturaAppName);\n return '';\n }\n }\n\n private _getPosition(): number {\n if (this.player.isLive()) {\n if (!Number.isNaN(this.player.duration)) {\n if (this.player.duration! - this.player.currentTime! < 1) {\n return 0;\n }\n return -(this.player.duration! - this.player.currentTime!);\n }\n return 0;\n }\n let currentTime = this.player.currentTime;\n if (typeof this.player.sources.seekFrom === 'number' && currentTime) {\n currentTime += this.player.sources.seekFrom;\n }\n return this._isFirstPlaying ? currentTime! || this.player.sources.startTime || 0 : currentTime!;\n }\n\n private _getDeliveryType(): string {\n if (this.player.streamType === this.player.StreamType.PROGRESSIVE) {\n return 'url';\n }\n return this.player.streamType;\n }\n\n private _getPlaybackType(): string {\n if (this.player.isLive()) {\n if (this.player.isDvr()) {\n const distanceFromLiveEdge = this.player.duration! - this.player.currentTime!;\n if (distanceFromLiveEdge >= this.config.dvrThreshold) {\n return 'dvr';\n }\n }\n return 'live';\n }\n return 'vod';\n }\n\n private _validate(): boolean {\n if (!this.config.partnerId) {\n this._logMissingParam('partnerId');\n return false;\n }\n if (!this.config.entryId) {\n this._logMissingParam('entryId');\n return false;\n }\n return true;\n }\n\n private _isApplicationEventValid(event: FakeEvent): boolean {\n const model = getApplicationEventsModel(ApplicationEventsModel[event.type], this._model, event.payload);\n return !!model.buttonName || !!model.pageName;\n }\n\n private _logMissingParam(missingParam: string): void {\n this.logger.warn(`Kava analytics block report because of missing param ${missingParam}`);\n }\n\n private static _getTimeDifferenceInSeconds(time: number): number {\n return (Date.now() - time) / 1000.0;\n }\n\n private _updateTabModeInModel(hiddenAttr: string): void {\n this._model.updateModel({\n // $FlowFixMe\n tabMode: this._isTabHidden(hiddenAttr) && !this.player.isInPictureInPicture() ? TabMode.TAB_NOT_FOCUSED : TabMode.TAB_FOCUSED\n });\n }\n\n private _isTabHidden(hiddenAttr: string): boolean {\n return document[hiddenAttr];\n }\n\n private _initTabMode(): void {\n let hiddenAttr: string;\n let visibilityChangeEventName: string;\n if (typeof document.hidden !== 'undefined') {\n // Opera 12.10 and Firefox 18 and later support\n hiddenAttr = 'hidden';\n visibilityChangeEventName = 'visibilitychange';\n // @ts-expect-error - Property 'msHidden' does not exist on type 'Document'. Did you mean 'hidden'?\n } else if (typeof document.msHidden !== 'undefined') {\n hiddenAttr = 'msHidden';\n visibilityChangeEventName = 'msvisibilitychange';\n // @ts-expect-error - Property 'webkitHidden' does not exist on type 'Document'. Did you mean 'hidden'?\n } else if (typeof document.webkitHidden !== 'undefined') {\n hiddenAttr = 'webkitHidden';\n visibilityChangeEventName = 'webkitvisibilitychange';\n }\n\n // @ts-expect-error - Variable 'visibilityChangeEventName' is used before being assigned.\n if (hiddenAttr && visibilityChangeEventName) {\n this.eventManager.listen(document, visibilityChangeEventName, () => this._updateTabModeInModel(hiddenAttr));\n this._updateTabModeInModel(hiddenAttr);\n }\n }\n}\n\nexport { Kava };\n","export const DownloadEvent = {\n DOWNLOAD_ITEM_CLICKED: 'download_item_clicked'\n};\n\nexport const ModerationEvent = {\n REPORT_CLICKED: 'report_clicked',\n REPORT_SUBMITTED: 'report_submitted'\n};\n\nexport const ShareEvent = {\n /**\n * Fired when the user clicks on share icon.\n */\n SHARE_CLICKED: 'share_clicked',\n /**\n * Fired when the user clicks on specific social network.\n */\n SHARE_NETWORK: 'share_network'\n};\n\nexport const RelatedEvent = {\n /**\n * Fired when the user selects an entry from the list or the grid.\n */\n RELATED_SELECTED: 'related_selected',\n /**\n * Fired when the user clicks the button to show the related list.\n */\n RELATED_OPEN: 'related_open',\n /**\n * Fired when the user clicks to close the related list.\n */\n RELATED_CLOSE: 'related_close'\n};\n\nexport const InfoEvent = {\n INFO_SCREEN_OPEN: 'info_screen_open'\n};\n","import arrayWithHoles from \"./arrayWithHoles.js\";\nimport iterableToArrayLimit from \"./iterableToArrayLimit.js\";\nimport unsupportedIterableToArray from \"./unsupportedIterableToArray.js\";\nimport nonIterableRest from \"./nonIterableRest.js\";\nexport default function _slicedToArray(arr, i) {\n return arrayWithHoles(arr) || iterableToArrayLimit(arr, i) || unsupportedIterableToArray(arr, i) || nonIterableRest();\n}","export default function _arrayWithHoles(arr) {\n if (Array.isArray(arr)) return arr;\n}","export default function _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = !0,\n o = !1;\n try {\n if (i = (t = t.call(r)).next, 0 === l) {\n if (Object(t) !== t) return;\n f = !1;\n } else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = !0, n = r;\n } finally {\n try {\n if (!f && null != t[\"return\"] && (u = t[\"return\"](), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}","import arrayLikeToArray from \"./arrayLikeToArray.js\";\nexport default function _unsupportedIterableToArray(o, minLen) {\n if (!o) return;\n if (typeof o === \"string\") return arrayLikeToArray(o, minLen);\n var n = Object.prototype.toString.call(o).slice(8, -1);\n if (n === \"Object\" && o.constructor) n = o.constructor.name;\n if (n === \"Map\" || n === \"Set\") return Array.from(o);\n if (n === \"Arguments\" || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(n)) return arrayLikeToArray(o, minLen);\n}","export default function _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}","import { registerPlugin } from '@playkit-js/kaltura-player-js';\nimport { Kava } from './kava';\n\ndeclare const __VERSION__: string;\ndeclare const __NAME__: string;\n\nconst VERSION = __VERSION__;\nconst NAME = __NAME__;\n\nexport { Kava as Plugin };\nexport { KavaEventType as EventType } from './kava-event-model';\nexport { HttpMethodType } from './enums/http-method-type';\nexport { VERSION, NAME };\n\nconst pluginName: string = 'kava';\n\nregisterPlugin(pluginName, Kava);\n"],"names":["root","factory","exports","module","define","amd","self","e","d","t","r","n","o","Object","defineProperty","enumerable","get","prototype","hasOwnProperty","call","Symbol","toStringTag","value","TypeError","iterator","constructor","toPrimitive","String","i","length","configurable","writable","key","s","a","NAME","P","OVPAnalyticsService","A","OVPConfiguration","h","RequestBuilder","l","VERSION","C","f","arguments","this","severity","category","code","data","_logger","error","concat","RECOVERABLE","CRITICAL","NETWORK","SERVICE","PROVIDER","UNSUPPORTED_SCHEME","BAD_HTTP_STATUS","HTTP_ERROR","TIMEOUT","MALFORMED_DATA_URI","BAD_SERVER_RESPONSE","MULTIREQUEST_API_ERROR","API_RESPONSE_MISMATCH","ERROR","BLOCK_ACTION","MEDIA_STATUS_NOT_READY","MISSING_MANDATORY_PARAMS","MISSING_PLAY_SOURCE","METHOD_NOT_IMPLEMENTED","DEBUG","name","INFO","OFF","TIME","TRACE","WARN","createDefaultHandler","debug","enabledFor","getLevel","info","log","setHandler","setLevel","time","timeEnd","trace","useDefaults","warn","Map","async","timeout","maxAttempts","headers","service","action","Promise","_requestPromise","resolve","reject","url","Severity","Category","Code","_createXHR","XMLHttpRequest","onreadystatechange","readyState","status","JSON","parse","responseText","responseHeaders","_getResponseHeaders","_createError","text","open","method","retryConfig","performance","now","ontimeout","_handleError","statusText","onerror","onabort","forEach","setRequestHeader","send","params","getAllResponseHeaders","split","filter","toLowerCase","indexOf","_attemptCounter","assign","attempt","p","Array","isArray","slice","keys","y","serviceUrl","cdnUrl","serviceParams","apiVersion","format","useApiCaptions","loadThumbnailWithKs","replaceHostOnlyManifestUrls","v","setPrototypeOf","bind","__proto__","create","m","ReferenceError","g","E","getPrototypeOf","R","objectType","hasError","O","message","b","Reflect","construct","sham","Proxy","Boolean","valueOf","apply","requests","push","stringify","FAILED_PARSING_REQUEST","doHttpRequest","then","_","success","response","results","result","map","T","toString","encodeURIComponent","u","c","test","join","replace","S","_trackEventByPOST","_trackEventByGET","tag","set","eventType","partnerId","entryId","sessionId","ks","clientTag","getUrl","__webpack_module_cache__","__webpack_require__","moduleId","cachedModule","undefined","__webpack_modules__","definition","obj","prop","KalturaPlayer","_typeof","_arrayLikeToArray","arr","len","arr2","_classCallCheck","instance","Constructor","toPropertyKey","_defineProperties","target","props","descriptor","_createClass","protoProps","staticProps","_assertThisInitialized","_possibleConstructorReturn","_getPrototypeOf","_setPrototypeOf","_inherits","subClass","superClass","_defineProperty","KavaEventModel","VIEW","type","index","getEventModel","model","eventModel","playTimeSum","getPlayTimeSum","bufferTime","getBufferTime","bufferTimeSum","getBufferTimeSum","actualBitrate","getActualBitrate","averageBitrate","getAverageBitrate","audioLanguage","getLanguage","soundMode","getSoundMode","tabMode","getTabMode","viewabilityMode","getViewabilityMode","screenMode","getScreenMode","isNaN","getForwardBufferHealth","forwardBufferHealth","getMaxManifestDownloadTime","manifestDownloadTime","getSegmentDownloadTime","segmentDownloadTime","getBandwidth","bandwidth","getDroppedFramesRatio","droppedFramesRatio","getTargetBuffer","targetBuffer","getNetworkConnectionType","networkConnectionType","getNetworkConnectionOverhead","networkConnectionOverhead","getFlavorParamsId","flavorParamsId","getPlaybackMode","playbackMode","getSourceEntryId","sourceEntryId","IMPRESSION","getPlayerJSLoadTime","playerJSLoadTime","getRegisteredPlugins","PLAY_REQUEST","PLAY","joinTime","getJoinTime","canPlay","getCanPlayTime","RESUME","PAUSE","BUFFER_START","BUFFER_END","REPLAY","SEEK","targetPosition","getTargetPosition","PLAY_REACHED_25_PERCENT","PLAY_REACHED_50_PERCENT","PLAY_REACHED_75_PERCENT","PLAY_REACHED_100_PERCENT","SOURCE_SELECTED","AUDIO_SELECTED","language","FLAVOR_SWITCH","SPEED","CAPTIONS","errorCode","getErrorCode","errorDetails","getErrorDetails","errorPosition","getErrorPosition","RELATED_OPEN","RELATED_SELECTED","SHARE_CLICKED","SHARE_NETWORK","socialNetwork","getShareNetworkName","ENTER_FULLSCREEN","EXIT_FULLSCREEN","DOWNLOAD","REPORT_CLICKED","REPORT_SUBMITTED","reportType","getReportType","KavaEventType","k","KavaRateHandler","_rates","rates","_this","rate","active","duration","find","current","totalDuration","sum","FakeEvent","core","FakeEventTarget","WorkerTimer","callback","interval","blob","Blob","workerScript","URL","createObjectURL","worker","Worker","onmessage","terminate","KavaTimer","_FakeEventTarget","config","_callSuper","_config","_this2","_terminateTimer","_stopped","_resetCounter","_eventCounter","_timer","_monitor","stop","resetCounter","dispatchEvent","Event","RESET","TICK","eventCounter","REPORT","EventBucketName","ButtonType","ApplicationEventType","PageLoadType","playkitUIEventsNamespace","PlaykitUIEvents","USER_CLICKED_LOGO","USER_SELECTED_CAPTIONS_SIZE","USER_SELECTED_CAPTIONS_ALIGNMENT","USER_SELECTED_CAPTIONS_FONT_COLOR","USER_SELECTED_CAPTIONS_FONT_FAMILY","USER_SELECTED_CAPTIONS_FONT_STYLE","USER_SELECTED_CAPTIONS_FONT_OPACITY","USER_SELECTED_CAPTIONS_BACKGROUND_COLOR","USER_SELECTED_CAPTIONS_BACKGROUND_OPACITY","USER_SHOWED_CAPTIONS","USER_HID_CAPTIONS","USER_SELECTED_CAPTION_TRACK","USER_SELECTED_AUDIO_TRACK","PluginsEvents","_objectSpread","NAVIGATION_OPEN","NAVIGATION_CLOSE","NAVIGATION_SEARCH","NAVIGATION_ITEM_CLICK","NAVIGATION_EXPANDABLE_TEXT_CLICK","DOWNLOAD_ITEM_CLICKED","SHOW_OVERLAY","HIDE_OVERLAY","TRANSCRIPT_OPEN","TRANSCRIPT_CLOSE","TRANSCRIPT_DOWNLOAD","TRANSCRIPT_PRINT","TRANSCRIPT_SEARCH","TRANSCRIPT_NAVIGATE_RESULT","TRANSCRIPT_POPOUT_OPEN","TRANSCRIPT_POPOUT_CLOSE","TRANSCRIPT_POPOUT_DRAG","TRANSCRIPT_POPOUT_RESIZE","CHANGE_LAYOUT","SIDE_DISPLAYED","SHARE_CLOSE","SHARE_COPY","BUMPER_CLICKED","SKIP_BUTTON_CLICK","SKIP_BUTTON_DISPLAYED","PLAYLIST_OPEN","PLAYLIST_CLOSE","RELATED_CLOSE","RELATED_ENTRY_SELECTED","RELATED_ENTRY_AUTO_PLAYED","RELATED_GRID_DISPLAYED","CALL_TO_ACTION_BUTTON_CLICK","CALL_TO_ACTION_DISPLAYED","HOTSPOT_CLICK","HOTSPOT_DISPLAYED","QUIZ_STARTED","QUIZ_SKIPPED","QUIZ_SEEK","QUESTION_ANSWERED","QUIZ_SUBMITTED","QUIZ_RETAKE","QUIZ_QUESTION_CHANGED","DETECT_AD_BLOCK_PARTIAL_OVERLAY_SHOWN","DETECT_AD_BLOCK_FULL_OVERLAY_SHOWN","DETECT_AD_BLOCK_SECONDARY_BUTTON_CLICKED","DETECT_AD_BLOCK_X_BUTTON_CLICKED","DETECT_AD_BLOCK_AD_BLOCKER_DISABLED","DETECT_AD_BLOCK_AD_BLOCKER_NOT_DISABLED","REELS_PLAY","REELS_PAUSE","REELS_MUTE","REELS_UNMUTE","REELS_SEEK","REELS_POSTER_CLICKED","REELS_ENTRY_LOADED","REELS_PLAYLIST_LOADED","EAD_ON","EAD_OFF","EAD_SKIP","EAD_REPLAY","EAD_PAUSE","EAD_PLAY","EAD_SCROLL","KalturaApplication","KMC","KMS","KAF","PITCH","KMS_GO","WEBCASTING","PERSONAL_CAPTURE","KME","KME_MOBILE_APP","PATH","LECTURE_CAPTURE","EP","CHAT_AND_COLLABORATION","ANALYTICS","EXPRESS_CAPTURE","KPF","KAF_GO","SITES","STUDIO","CAPTIONS_EDITOR","CHECKLIST","PLAYER","GENIE","ApplicationFeature","getApplicationEventsModel","eventObj","innerEventPayload","commonModel","getPartnerId","getEntryId","getSessionId","kalturaApplication","getVirtualEventId","getKalturaApplication","getApplication","getKalturaApplicationVersion","getUserId","getKS","getHostingKalturaApplication","getHostingKalturaApplicationVersion","namedEventModel","eventVar1","eventVar2","eventVar3","eventVar4","applicationFeature","ApplicationEventsModel","_ApplicationEventsMod","_ref","layout","Choose","DUAL_SCREEN","payload","View","Open","SHARE_EMBED","Close","Share","socialNetworkName","Download","assetType","fileType","description","isDefault","Link","BUMPER","NAVIGATION","searchQuery","activeTab","availableTabs","isItSearch","Search","itemType","isTextExpanded","Expand","Collapse","TRANSCRIPT","search","Navigate","Edit","position","x","size","PLAYLIST","SKIP","mode","RELATED","CALL_TO_ACTION","displayType","isMetadataBased","HOTSPOPT","Load","QUIZ","Send","_ref2","questionIndex","Toggle","settings","EAD","_ref3","trigger","_ref4","Browse","UI","ADVANCED_CAPTIONS","_ref5","captionTrack","autoSelected","_ref6","_audioTrack$language","audioTrack","startsWith","AUDION_TRACKS","DETECT_AD_BLOCK","_ref7","isResume","REELS","_ref8","_ref9","_ref10","_ref11","from","to","_ref12","_ref13","muted","playlistId","_ref14","autoplay","KavaModel","ScreenMode","NOT_IN_FULLSCREEN","NaN","updateModel","canPlayTime","Math","round","registeredPlugins","caption","totalSegmentsDownloadTime","totalSegmentsDownloadBytes","maxManifestDownloadTime","maxSegmentDownloadTime","maxNetworkConnectionOverhead","retVal","eventIndex","sessionStartTime","shareNetworkName","eventBucketName","PlayerEvents","eventPayload","getEventIndex","referrer","getReferrer","deliveryType","getDeliveryType","playbackType","getPlaybackType","clientVer","getClientVer","getClientTag","getPosition","playbackSpeed","getPlaybackSpeed","getCaption","getSessionStartTime","virtualEventId","getUIConfId","uiConfId","getPlaylistId","getCustomVar1","customVar1","getCustomVar2","customVar2","getCustomVar3","customVar3","getPlaybackContext","playbackContext","application","kalturaApplicationVer","userId","getPersistentSessionId","persistentSessionId","hostingKalturaApplication","hostingKalturaApplicationVersion","ApplicationEvents","SoundMode","ViewabilityMode","TabMode","ErrorPosition","HttpMethodType","GET","POST","Application","PKError","Error","Utils","DIVIDER","Kava","_BasePlugin","player","_rateHandler","_model","_setModelDelegates","resetSessionCountdown","viewEventCountdown","_viewEventEnabled","_resetFlags","_addBindings","entry","getEntriesByType","match","volume","SOUND_OFF","SOUND_ON","isVisible","isInPictureInPicture","IN_VIEW","NOT_IN_VIEW","list","perfEntries","getEntries","_performanceEntries","_pendingFragLoadedUrls","_handleFragPerformanceObserver","pop","eventManager","destroy","_reset","_performanceObserver","disconnect","removeAll","window","PerformanceObserver","_handleNewPerformanceEntries","observe","entryTypes","event","getModel","copyDeep","trackEvent","requestMethod","_handleServerResponseSuccess","err","_handleServerResponseFailed","_previousCurrentTime","_lastViewEventPlayTime","_isPlaying","_isFirstPlay","_isFirstPlaying","_isEnded","_isPaused","_isBuffering","_timePercentEvent","_canPlayOccured","_isManualPreload","logger","reset","_validate","_updateBufferModel","_bufferStartTime","Date","tamperAnalyticsHandler","sendAnalytics","catch","_updateSessionStartTimeModel","_this3","listen","countCurrent","_onReport","_resetSession","Core","_onSourceSelected","_onError","FIRST_PLAY","_onFirstPlay","FRAG_LOADED","_onFragLoaded","MANIFEST_LOADED","_onManifestLoaded","TIMED_METADATA","_onTimedMetadataLoaded","TRACKS_CHANGED","_setInitialTracks","PLAYING","_onPlaying","FIRST_PLAYING","_onFirstPlaying","SEEKING","_onSeeking","_onPause","ENDED","_onEnded","VIDEO_TRACK_CHANGED","_onVideoTrackChanged","AUDIO_TRACK_CHANGED","_onAudioTrackChanged","TEXT_TRACK_CHANGED","_onTextTrackChanged","PLAYER_STATE_CHANGED","_onPlayerStateChanged","RATE_CHANGE","_onPlaybackRateChanged","CAN_PLAY","_onCanPlay","LOAD_START","_onLoadStart","VOLUME_CHANGE","_updateSoundModeInModel","VISIBILITY_CHANGE","_updateViewabilityModeInModel","visible","MUTE_CHANGE","_onFullScreenChanged","FULLSCREEN","_onRelatedClicked","_onRelatedSelected","_onShareClicked","_onShareNetworkClicked","_onDownloadItemClicked","_onInfoScreenOpened","_onReportClicked","_onReportSubmitted","_bindApplicationEvents","_bindPlaykitUIEvents","_initTabMode","_initNetworkConnectionType","_this4","values","_isApplicationEventValid","_sendAnalytics","_this5","_fragLoadedFiredOnce","_loadStartTime","getTracks","Track","VIDEO","videoTrack","_getRates","activeTracks","getActiveTracks","setRates","video","setCurrent","audio","availableBuffer","stats","_getAvailableBuffer","_getTargetBuffer","droppedFrames","droppedAndDecoded","_getDroppedAndDecodedFrames","lastDroppedFrames","lastTotalFrames","droppedFramesDelta","_lastDroppedFrames","totalFramesDelta","_lastTotalFrames","getVideoElement","getVideoPlaybackQuality","videoPlaybackQuality","droppedVideoFrames","totalVideoFrames","webkitDroppedFrameCount","webkitDecodedFrameCount","_updatePlayTimeSumModel","_getForwardBufferHealth","_getDroppedFramesRatio","navConnection","effectiveType","_this6","navigator","connection","mozConnection","webkitConnection","_updateNetworkConnectionTypeinModel","isUntimedImg","start","playRequestStartTime","playback","preload","_firstPlayRequestTime","_getTimeDifferenceInSeconds","resume","_this7","plugins","plugin","isImage","isLive","TIME_UPDATE","_onTimeUpdate","currentTime","percent","parseFloat","toFixed","PLAY_REACHED_25","PLAY_REACHED_50","PLAY_REACHED_75","PLAY_REACHED_100","_updateFragLoadedStats","fragResourceTimings","lastFragResourceTiming","_updateMaxNetworkConnectionOverhead","connectEnd","domainLookupStart","lastIndexOftheFragment","splice","max","seconds","miliSeconds","bytes","id3TagCues","cues","Number","sequenceId","clipId","_data$clipId$split2","next","done","minLen","partType","selectedVideoTrack","isAdaptiveBitrateEnabled","selectedAudioTrack","textTrack","selectedTextTrack","PRE_PLAY","PRE_PLAYING","MID_STREAM","playbackRates","includes","playbackRate","oldState","newState","State","BUFFERING","viewEventsEnabled","isStopped","delta","_this8","getCurrent","getAverage","playerVersion","_getPosition","_getDeliveryType","_getPlaybackType","_getPlayerType","kalturaApplicationVersion","_getKalturaApplicationId","applicationVersion","reels","audioPlayer","AUDIO","kalturaAppName","sources","seekFrom","startTime","streamType","StreamType","PROGRESSIVE","isDvr","dvrThreshold","_logMissingParam","buttonName","pageName","missingParam","hiddenAttr","_isTabHidden","TAB_NOT_FOCUSED","TAB_FOCUSED","document","visibilityChangeEventName","_this9","hidden","msHidden","webkitHidden","_updateTabModeInModel","BasePlugin","Http","protocol","__VERSION__","__NAME__","registerPlugin"],"sourceRoot":""}